From 5523ec8f3c78704c6e76b7675bfce41d24a3feb1 Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Thu, 17 May 2018 20:35:53 -0400 Subject: [PATCH 01/44] 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 ff86e06979c..55e45bd6559 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 bde4f85f678..1ab37f080b1 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 02/44] 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 4d3376108b7..5f86dbadfa3 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 <