Skip to content

Commit e34eb1a

Browse files
rvlangerman
authored andcommitted
Make it easier to override package src, add cleanSource to build
1 parent 25daf5d commit e34eb1a

File tree

3 files changed

+21
-10
lines changed

3 files changed

+21
-10
lines changed

lib/Cabal2Nix.hs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,10 @@ class ToNixBinding a where
142142
toNixBinding :: a -> Binding NExpr
143143

144144
instance ToNixExpr Src where
145-
toNix (Path p) = mkRecSet [ "src" $= mkRelPath p ]
145+
toNix (Path p) = mkRecSet [ "src" $= applyMkDefault (mkRelPath p) ]
146146
toNix (Git url rev mbSha256 mbPath)
147147
= mkNonRecSet $
148-
[ "src" $= (mkSym pkgs @. "fetchgit" @@ mkNonRecSet
148+
[ "src" $= applyMkDefault (mkSym pkgs @. "fetchgit" @@ mkNonRecSet
149149
[ "url" $= mkStr (fromString url)
150150
, "rev" $= mkStr (fromString rev)
151151
, "sha256" $= case mbSha256 of
@@ -157,6 +157,9 @@ instance ToNixExpr Src where
157157
$= mkStr (fromString $ "sourceRoot+=/" <> root <> "; echo source root reset to $sourceRoot")
158158
| Just root <- [mbPath] ]
159159

160+
applyMkDefault :: NExpr -> NExpr
161+
applyMkDefault expr = mkSym pkgs @. "lib" @. "mkDefault" @@ expr
162+
160163
instance ToNixExpr PackageIdentifier where
161164
toNix ident = mkNonRecSet [ "name" $= mkStr (fromString (show (disp (pkgName ident))))
162165
, "version" $= mkStr (fromString (show (disp (pkgVersion ident))))]

nix-tools.nix

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
};
2626
components = {
2727
"library" = {
28-
depends = [
28+
depends = [
2929
(hsPkgs.base)
3030
(hsPkgs.hnix)
3131
(hsPkgs.aeson)
@@ -45,7 +45,7 @@
4545
};
4646
exes = {
4747
"cabal-to-nix" = {
48-
depends = [
48+
depends = [
4949
(hsPkgs.base)
5050
(hsPkgs.transformers)
5151
(hsPkgs.bytestring)
@@ -59,7 +59,7 @@
5959
];
6060
};
6161
"hashes-to-nix" = {
62-
depends = [
62+
depends = [
6363
(hsPkgs.base)
6464
(hsPkgs.hnix)
6565
(hsPkgs.nix-tools)
@@ -73,7 +73,7 @@
7373
];
7474
};
7575
"plan-to-nix" = {
76-
depends = [
76+
depends = [
7777
(hsPkgs.base)
7878
(hsPkgs.nix-tools)
7979
(hsPkgs.hnix)
@@ -86,7 +86,7 @@
8686
];
8787
};
8888
"hackage-to-nix" = {
89-
depends = [
89+
depends = [
9090
(hsPkgs.base)
9191
(hsPkgs.nix-tools)
9292
(hsPkgs.hackage-db)
@@ -103,7 +103,7 @@
103103
];
104104
};
105105
"lts-to-nix" = {
106-
depends = [
106+
depends = [
107107
(hsPkgs.base)
108108
(hsPkgs.nix-tools)
109109
(hsPkgs.hnix)
@@ -119,7 +119,7 @@
119119
];
120120
};
121121
"stack-to-nix" = {
122-
depends = [
122+
depends = [
123123
(hsPkgs.base)
124124
(hsPkgs.nix-tools)
125125
(hsPkgs.transformers)
@@ -138,8 +138,13 @@
138138
(hsPkgs.hpack)
139139
(hsPkgs.bytestring)
140140
(hsPkgs.optparse-applicative)
141+
(hsPkgs.http-client-tls)
142+
(hsPkgs.http-client)
143+
(hsPkgs.http-types)
141144
];
142145
};
143146
};
144147
};
145-
} // rec { src = ./.; }
148+
} // rec {
149+
src = pkgs.lib.mkDefault ./.;
150+
}

pkgs.nix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ let
4040
];
4141
modules = [
4242
# specific package overrides would go here
43+
({ lib, ... }: {
44+
packages.nix-tools.src = lib.cleanSource ./.;
45+
})
4346
];
4447
};
4548

0 commit comments

Comments
 (0)