diff options
author | Will Fancher <elvishjerricco@gmail.com> | 2017-11-06 16:26:05 -0500 |
---|---|---|
committer | Will Fancher <elvishjerricco@gmail.com> | 2017-11-06 16:49:09 -0500 |
commit | a38a3e21291ca8e751959a3f797ed2729bed6029 (patch) | |
tree | 46f7afdd25c0de1723b0d38578c8ac033e1eba1b /pkgs/development/haskell-modules/make-package-set.nix | |
parent | 8caf9f13a66b7d7a9aa9a13d59a6e83fdc99f107 (diff) | |
download | nixlib-a38a3e21291ca8e751959a3f797ed2729bed6029.tar nixlib-a38a3e21291ca8e751959a3f797ed2729bed6029.tar.gz nixlib-a38a3e21291ca8e751959a3f797ed2729bed6029.tar.bz2 nixlib-a38a3e21291ca8e751959a3f797ed2729bed6029.tar.lz nixlib-a38a3e21291ca8e751959a3f797ed2729bed6029.tar.xz nixlib-a38a3e21291ca8e751959a3f797ed2729bed6029.tar.zst nixlib-a38a3e21291ca8e751959a3f797ed2729bed6029.zip |
Extract files one at a time from all-cabal-hashes
Diffstat (limited to 'pkgs/development/haskell-modules/make-package-set.nix')
-rw-r--r-- | pkgs/development/haskell-modules/make-package-set.nix | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index 37b32177f6ba..61043252155e 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -118,10 +118,16 @@ let ''; }; - hackage2nix = name: version: self.haskellSrc2nix { + all-cabal-hashes-component = name: version: pkgs.runCommand "all-cabal-hashes-component-${name}-${version}" {} '' + tar --wildcards -xzvf ${all-cabal-hashes} \*/${name}/${version}/${name}.{json,cabal} + mkdir -p $out + mv */${name}/${version}/${name}.{json,cabal} $out + ''; + + hackage2nix = name: version: let component = all-cabal-hashes-component name version; in self.haskellSrc2nix { name = "${name}-${version}"; - sha256 = ''$(sed -e 's/.*"SHA256":"//' -e 's/".*$//' "${all-cabal-hashes}/${name}/${version}/${name}.json")''; - src = "${all-cabal-hashes}/${name}/${version}/${name}.cabal"; + sha256 = ''$(sed -e 's/.*"SHA256":"//' -e 's/".*$//' "${component}/${name}.json")''; + src = "${component}/${name}.cabal"; }; in package-set { inherit pkgs stdenv callPackage; } self // { |