From d72a0e711a7ee10c8fbcfa2e8684e6acd6bb8510 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Wed, 7 Mar 2018 12:48:19 -0600 Subject: [PATCH 01/95] nghttp2: 1.24.0 -> 1.31.0 --- pkgs/development/libraries/nghttp2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix index d534cd59bd83..703e4d08bd34 100644 --- a/pkgs/development/libraries/nghttp2/default.nix +++ b/pkgs/development/libraries/nghttp2/default.nix @@ -17,11 +17,11 @@ let inherit (stdenv.lib) optional; in stdenv.mkDerivation rec { name = "nghttp2-${version}"; - version = "1.24.0"; + version = "1.31.0"; src = fetchurl { url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2"; - sha256 = "18ys6p39yvm9wjjzhhlw35c9m8f5gf4dk9jbshibj19q4js1pnv9"; + sha256 = "0d7ivd7agsrbpz8745d0c0hxjzx9pdj602p1bpnrsd7p393ydrln"; }; outputs = [ "bin" "out" "dev" "lib" ]; From 19445fa145d17929ff09447b7670401d071c3da6 Mon Sep 17 00:00:00 2001 From: Tad Fisher Date: Fri, 4 May 2018 10:33:42 -0700 Subject: [PATCH 02/95] nixos/powerManagement: add "med_power_with_dipm" scsiLinkPolicy --- .../tasks/scsi-link-power-management.nix | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/nixos/modules/tasks/scsi-link-power-management.nix b/nixos/modules/tasks/scsi-link-power-management.nix index 484c0a0186d7..69599bda6d32 100644 --- a/nixos/modules/tasks/scsi-link-power-management.nix +++ b/nixos/modules/tasks/scsi-link-power-management.nix @@ -2,7 +2,20 @@ with lib; -let cfg = config.powerManagement.scsiLinkPolicy; in +let + + cfg = config.powerManagement.scsiLinkPolicy; + + kernel = config.boot.kernelPackages.kernel; + + allowedValues = [ + "min_power" + "max_performance" + "medium_power" + "med_power_with_dipm" + ]; + +in { ###### interface @@ -11,10 +24,13 @@ let cfg = config.powerManagement.scsiLinkPolicy; in powerManagement.scsiLinkPolicy = mkOption { default = null; - type = types.nullOr (types.enum [ "min_power" "max_performance" "medium_power" ]); + type = types.nullOr (types.enum allowedValues); description = '' SCSI link power management policy. The kernel default is "max_performance". + + "med_power_with_dipm" is supported by kernel versions + 4.15 and newer. ''; }; @@ -24,6 +40,12 @@ let cfg = config.powerManagement.scsiLinkPolicy; in ###### implementation config = mkIf (cfg != null) { + + assertions = singleton { + assertion = (cfg == "med_power_with_dipm") -> versionAtLeast kernel.version "4.15"; + message = "med_power_with_dipm is not supported for kernels older than 4.15"; + }; + services.udev.extraRules = '' SUBSYSTEM=="scsi_host", ACTION=="add", KERNEL=="host*", ATTR{link_power_management_policy}="${cfg}" ''; From e9868c39e38c72509da58e5952a1fec18c5e1293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Teo=20Klestrup=20R=C3=B6ijezon?= Date: Tue, 15 May 2018 22:53:42 +0200 Subject: [PATCH 03/95] nixopsUnstable: 1.6pre2276_9203440 -> 1.6.1pre2622_f10999a --- pkgs/tools/package-management/nixops/unstable.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nixops/unstable.nix b/pkgs/tools/package-management/nixops/unstable.nix index 8eaf20dc7724..88493d33dd1d 100644 --- a/pkgs/tools/package-management/nixops/unstable.nix +++ b/pkgs/tools/package-management/nixops/unstable.nix @@ -5,9 +5,9 @@ # Then copy the URL to the tarball. callPackage ./generic.nix (rec { - version = "1.6pre2276_9203440"; + version = "1.6.1pre2622_f10999a"; src = fetchurl { - url = "https://hydra.nixos.org/build/64518294/download/2/nixops-${version}.tar.bz2"; - sha256 = "1cl0869nl67fr5xk0jl9cvqbmma7d4vz5xbg56jpl7casrr3i51x"; + url = "https://hydra.nixos.org/build/73716350/download/2/nixops-${version}.tar.bz2"; + sha256 = "08886b6vxhjc3cp0ikxp920zap7wp6r92763fp785rvxrmb00rbd"; }; }) From 9668a66948cf16dde38629e0f48770058f791f0b Mon Sep 17 00:00:00 2001 From: Fritz Otlinghaus Date: Fri, 27 Apr 2018 15:26:08 +0200 Subject: [PATCH 04/95] gams: init at 25.02 --- maintainers/maintainer-list.nix | 5 ++++ pkgs/tools/misc/gams/default.nix | 50 ++++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 5 ++++ 3 files changed, 60 insertions(+) create mode 100644 pkgs/tools/misc/gams/default.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 30597373fc52..789bd457bd36 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -135,6 +135,11 @@ github = "roosemberth"; name = "Roosembert (Roosemberth) Palacios"; }; + Scriptkiddi = { + email = "nixos@scriptkiddi.de"; + github = "scriptkiddi"; + name = "Fritz Otlinghaus"; + }; SShrike = { email = "severen@shrike.me"; github = "severen"; diff --git a/pkgs/tools/misc/gams/default.nix b/pkgs/tools/misc/gams/default.nix new file mode 100644 index 000000000000..613fdc0f4555 --- /dev/null +++ b/pkgs/tools/misc/gams/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchurl, unzip, lib, file, licenseFile, optgamsFile}: + +assert licenseFile != null; + +stdenv.mkDerivation rec { + version = "25.0.2"; + name = "gams-${version}"; + src = fetchurl { + url = "https://d37drm4t2jghv5.cloudfront.net/distributions/${version}/linux/linux_x64_64_sfx.exe"; + sha256 = "4f95389579f33ff7c2586838a2c19021aa0746279555cbb51aa6e0efd09bd297"; + }; + unpackCmd = "unzip $src"; + buildInputs = [ unzip file ]; + dontBuild = true; + + installPhase = '' + mkdir -p "$out/bin" "$out/share/gams" + cp -a * "$out/share/gams" + + cp ${licenseFile} $out/share/gamslice.txt + '' + stdenv.lib.optionalString (optgamsFile != null) '' + cp ${optgamsFile} $out/share/optgams.def + ln -s $out/share/gams/optgams.def $out/bin/optgams.def + ''; + + postFixup = '' + for f in $out/share/gams/*; do + if [[ -x $f ]] && [[ -f $f ]] && [[ ! $f =~ .*\.so$ ]]; then + if patchelf \ + --set-rpath "$out/share/gams" \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $f; then + ln -s $f $out/bin/$(basename $f) + fi + fi + done + ''; + + meta = with stdenv.lib;{ + description = "General Algebraic Modeling System"; + longDescription = '' + The General Algebraic Modeling System is a high-level modeling system for mathematical optimization. + GAMS is designed for modeling and solving linear, nonlinear, and mixed-integer optimization problems. + ''; + homepage = https://www.gams.com/; + license = licenses.unfree; + maintainers = [ maintainers.Scriptkiddi ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b4a88cbe5b2b..2a9835211c80 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -637,6 +637,11 @@ with pkgs; genymotion = callPackage ../development/mobile/genymotion { }; + gams = callPackage ../tools/misc/gams { + licenseFile = config.gams.licenseFile or null; + optgamsFile = config.gams.optgamsFile or null; + }; + git-fire = callPackage ../tools/misc/git-fire { }; gitless = callPackage ../applications/version-management/gitless/default.nix { }; From 5523ec8f3c78704c6e76b7675bfce41d24a3feb1 Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Thu, 17 May 2018 20:35:53 -0400 Subject: [PATCH 05/95] Make getHaskellBuildInputs / shellFor work with overrideCabal --- pkgs/development/haskell-modules/lib.nix | 7 +++++-- pkgs/development/haskell-modules/make-package-set.nix | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix index ff86e06979c1..55e45bd6559d 100644 --- a/pkgs/development/haskell-modules/lib.nix +++ b/pkgs/development/haskell-modules/lib.nix @@ -297,8 +297,11 @@ rec { # This is useful to build environments for developing on that # package. getHaskellBuildInputs = p: - (p.override { mkDerivation = extractBuildInputs p.compiler; - }).haskellBuildInputs; + (overrideCabal p (args: { + passthru = (args.passthru or {}) // { + _getHaskellBuildInputs = extractBuildInputs p.compiler args; + }; + }))._getHaskellBuildInputs; # Under normal evaluation, simply return the original package. Under # nix-shell evaluation, return a nix-shell optimized environment. diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index bde4f85f6784..1ab37f080b1d 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -38,7 +38,7 @@ let inherit (stdenv) buildPlatform hostPlatform; inherit (stdenv.lib) fix' extends makeOverridable; - inherit (haskellLib) overrideCabal; + inherit (haskellLib) overrideCabal getHaskellBuildInputs; mkDerivationImpl = pkgs.callPackage ./generic-builder.nix { inherit stdenv; @@ -229,7 +229,7 @@ in package-set { inherit pkgs stdenv callPackage; } self // { shellFor = { packages, withHoogle ? false, ... } @ args: let selected = packages self; - packageInputs = builtins.map (p: p.override { mkDerivation = haskellLib.extractBuildInputs p.compiler; }) selected; + packageInputs = builtins.map getHaskellBuildInputs selected; haskellInputs = builtins.filter (input: pkgs.lib.all (p: input.outPath != p.outPath) selected) From 47aceb0a7b4771e428bc0fe9bc109aa2641be223 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Fri, 18 May 2018 09:11:12 -0500 Subject: [PATCH 06/95] autojump: rework - fetchurl -> fetchFromGitHub - Update URLs: joelthelion -> wting - mkdir + cp -> install - Use -z flag to set zshshare_dir - Add me as a maintainer - Use recursive version instead of let - meta: with stdenv.lib; ... --- pkgs/tools/misc/autojump/default.nix | 99 +++++++++++++--------------- 1 file changed, 44 insertions(+), 55 deletions(-) diff --git a/pkgs/tools/misc/autojump/default.nix b/pkgs/tools/misc/autojump/default.nix index 4d3376108b7e..5f86dbadfa36 100644 --- a/pkgs/tools/misc/autojump/default.nix +++ b/pkgs/tools/misc/autojump/default.nix @@ -1,64 +1,53 @@ -{ fetchurl, stdenv, python, bash }: +{ stdenv, fetchFromGitHub, python, bash }: -let +stdenv.mkDerivation rec { + name = "autojump-${version}"; version = "22.5.1"; -in - stdenv.mkDerivation rec { - name = "autojump-${version}"; - src = fetchurl { - url = "http://github.com/joelthelion/autojump/archive/release-v${version}.tar.gz"; - name = "autojump-${version}.tar.gz"; - sha256 = "17z9j9936x0nizwrzf664bngh60x5qbvrrf1s5qdzd0f2gdanpvn"; - }; + src = fetchFromGitHub { + owner = "wting"; + repo = "autojump"; + rev = "release-v${version}"; + sha256 = "1l1278g3k1qfrz41pkpjdhsabassb9si2d1bfbcmvbv5h3wmlqk9"; + }; - buildInputs = [ python bash ]; - dontBuild = true; + buildInputs = [ python bash ]; + dontBuild = true; - installPhase = '' - python ./install.py -d $out -p "" - chmod +x $out/etc/profile.d/* + installPhase = '' + python ./install.py -d "$out" -p "" -z "$out/share/zsh/site-functions/" - mkdir -p "$out/etc/bash_completion.d" - cp -v $out/share/autojump/autojump.bash "$out/etc/bash_completion.d" + chmod +x "$out/etc/profile.d/autojump.sh" + install -Dt "$out/share/bash-completion/completions/" -m444 "$out/share/autojump/autojump.bash" + install -Dt "$out/share/fish/vendor_conf.d/" -m444 "$out/share/autojump/autojump.fish" + install -Dt "$out/share/zsh/site-functions/" -m444 "$out/share/autojump/autojump.zsh" + ''; - mkdir -p $out/share/fish/vendor_completions.d/ - cp -v $out/share/autojump/autojump.fish "$out/share/fish/vendor_completions.d/autojump.fish" + meta = with stdenv.lib; { + description = "A `cd' command that learns"; + longDescription = '' + One of the most used shell commands is “cd”. A quick survey + among my friends revealed that between 10 and 20% of all + commands they type are actually cd commands! Unfortunately, + jumping from one part of your system to another with cd + requires to enter almost the full path, which isn’t very + practical and requires a lot of keystrokes. - cat <