tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
Merge branch 'callCabal2nix-retain-ifd'
Shea Levy
8 years ago
3509c4b7
51857be0
+14
-10
1 changed file
expand all
collapse all
unified
split
pkgs
development
haskell-modules
make-package-set.nix
+14
-10
pkgs/development/haskell-modules/make-package-set.nix
···
145
145
callHackage = name: version: self.callPackage (self.hackage2nix name version);
146
146
147
147
# Creates a Haskell package from a source package by calling cabal2nix on the source.
148
148
-
callCabal2nix = name: src: args:
149
149
-
overrideCabal (self.callPackage (haskellSrc2nix {
148
148
+
callCabal2nix = name: src: args: let
149
149
+
filter = path: type:
150
150
+
pkgs.lib.hasSuffix "${name}.cabal" path ||
151
151
+
baseNameOf path == "package.yaml";
152
152
+
expr = haskellSrc2nix {
150
153
inherit name;
151
151
-
src =
152
152
-
let filter = path: type:
153
153
-
pkgs.lib.hasSuffix "${name}.cabal" path ||
154
154
-
baseNameOf path == "package.yaml";
155
155
-
in if pkgs.lib.canCleanSource src
156
156
-
then pkgs.lib.cleanSourceWith { inherit src filter; }
157
157
-
else src;
158
158
-
}) args) (_: { inherit src; });
154
154
+
src = if pkgs.lib.canCleanSource src
155
155
+
then pkgs.lib.cleanSourceWith { inherit src filter; }
156
156
+
else src;
157
157
+
};
158
158
+
in overrideCabal (self.callPackage expr args) (orig: {
159
159
+
inherit src;
160
160
+
preConfigure =
161
161
+
"# Generated from ${expr}\n${orig.preConfigure or ""}";
162
162
+
});
159
163
160
164
# : { root : Path
161
165
# , source-overrides : Defaulted (Either Path VersionNumber)