summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2017-09-24 20:48:27 +0200
committerPeter Simons <simons@cryp.to>2017-09-24 20:52:05 +0200
commit2a1c656c54aad3ac0634cb5d6eadd733c8cdbbe3 (patch)
treec28d3f3639a17cd3e933a99c43074ef18934064f
parent88bef1c0191655a1dd34c6e5fdc567ba318cfdbe (diff)
downloadnixlib-2a1c656c54aad3ac0634cb5d6eadd733c8cdbbe3.tar
nixlib-2a1c656c54aad3ac0634cb5d6eadd733c8cdbbe3.tar.gz
nixlib-2a1c656c54aad3ac0634cb5d6eadd733c8cdbbe3.tar.bz2
nixlib-2a1c656c54aad3ac0634cb5d6eadd733c8cdbbe3.tar.lz
nixlib-2a1c656c54aad3ac0634cb5d6eadd733c8cdbbe3.tar.xz
nixlib-2a1c656c54aad3ac0634cb5d6eadd733c8cdbbe3.tar.zst
nixlib-2a1c656c54aad3ac0634cb5d6eadd733c8cdbbe3.zip
cabal2nix: update to version 2.6
 - Add support for the 01-index tarball of cabal-install 2.x.
 - Add shell completions for fish and zsh.
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix7
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 10 insertions, 1 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index d983934e83a5..c6faec61b541 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -957,4 +957,11 @@ self: super: {
     protolude = super.protolude_0_2;
   };
 
+  # This tool needs the latest hackage-db version. Using the latest version of
+  # optparse-applicative allows us to generate completions for fish and zsh.
+  cabal2nix = super.cabal2nix.overrideScope (self: super: {
+    hackage-db = self.hackage-db_2_0;
+    optparse-applicative = self.optparse-applicative_0_14_0_0;
+  });
+
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2ba0c3add19a..7ad1b54dd5cb 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -808,8 +808,10 @@ with pkgs;
       makeWrapper $exe $out/bin/${drv.pname} \
         --prefix PATH ":" "${nix}/bin" \
         --prefix PATH ":" "${nix-prefetch-scripts}/bin"
-      mkdir -p $out/share/bash-completion/completions
+      mkdir -p $out/share/{bash-completion/completions,zsh/vendor-completions,fish/completions}
       $exe --bash-completion-script $exe >$out/share/bash-completion/completions/${drv.pname}
+      $exe --zsh-completion-script $exe >$out/share/zsh/vendor-completions/_${drv.pname}
+      $exe --fish-completion-script $exe >$out/share/fish/completions/${drv.pname}.fish
     '';
   });