tangled
alpha
login
or
join now
tjh.dev
/
nixpkgs
0
fork
atom
nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
0
fork
atom
overview
issues
pulls
pipelines
idris: Clean up package builder
Silvan Mosberger
7 years ago
e79b302f
7ec54c61
+21
-19
3 changed files
expand all
collapse all
unified
split
pkgs
development
idris-modules
build-builtin-package.nix
build-idris-package.nix
with-packages.nix
+2
pkgs/development/idris-modules/build-builtin-package.nix
reviewed
···
10
10
inherit name version;
11
11
inherit (idris) src;
12
12
13
13
+
includePreludeBase = false;
14
14
+
13
15
idrisDeps = deps;
14
16
15
17
postUnpack = ''
+18
-18
pkgs/development/idris-modules/build-idris-package.nix
reviewed
···
1
1
# Build an idris package
2
2
-
{ stdenv, idrisPackages, gmp }:
2
2
+
{ stdenv, lib, idrisPackages, gmp }:
3
3
{ idrisDeps ? []
4
4
+
, includePreludeBase ? true
4
5
, name
5
6
, version
6
6
-
, src
7
7
-
, meta
8
7
, extraBuildInputs ? []
9
9
-
, postUnpack ? ""
10
10
-
, doCheck ? true
11
11
-
}:
8
8
+
, ...
9
9
+
}@attrs:
12
10
let
13
13
-
idris-with-packages = idrisPackages.with-packages idrisDeps;
11
11
+
idrisDeps' = idrisDeps ++ lib.optionals includePreludeBase (with idrisPackages; [ prelude base ]);
12
12
+
idris-with-packages = idrisPackages.with-packages idrisDeps';
13
13
+
newAttrs = builtins.removeAttrs attrs [ "idrisDeps" "extraBuildInputs" "name" "version" ] // {
14
14
+
meta = attrs.meta // {
15
15
+
platforms = attrs.meta.platforms or idrisPackages.idris.meta.platforms;
16
16
+
};
17
17
+
};
14
18
in
15
19
stdenv.mkDerivation ({
16
16
-
17
20
name = "${name}-${version}";
18
21
19
19
-
inherit postUnpack src doCheck meta;
20
20
-
22
22
+
buildInputs = [ idris-with-packages gmp ] ++ extraBuildInputs;
23
23
+
propagatedBuildInputs = idrisDeps';
21
24
22
25
# Some packages use the style
23
26
# opts = -i ../../path/to/package
···
30
27
'';
31
28
32
29
buildPhase = ''
33
33
-
${idris-with-packages}/bin/idris --build *.ipkg
30
30
+
idris --build *.ipkg
34
31
'';
35
32
36
33
checkPhase = ''
37
34
if grep -q test *.ipkg; then
38
38
-
${idris-with-packages}/bin/idris --testpkg *.ipkg
35
35
+
idris --testpkg *.ipkg
39
36
fi
40
37
'';
41
38
42
39
installPhase = ''
43
43
-
${idris-with-packages}/bin/idris --install *.ipkg --ibcsubdir $out/libs
44
44
-
IDRIS_DOC_PATH=$out/doc ${idris-with-packages}/bin/idris --installdoc *.ipkg
40
40
+
idris --install *.ipkg --ibcsubdir $out/libs
41
41
+
IDRIS_DOC_PATH=$out/doc idris --installdoc *.ipkg || true
45
42
'';
46
43
47
47
-
buildInputs = [ gmp ] ++ extraBuildInputs;
48
48
-
49
49
-
propagatedBuildInputs = idrisDeps;
50
50
-
})
44
44
+
} // newAttrs)
+1
-1
pkgs/development/idris-modules/with-packages.nix
reviewed
···
15
15
postBuild = ''
16
16
wrapProgram $out/bin/idris \
17
17
--set IDRIS_LIBRARY_PATH $out/libs
18
18
-
'';
18
18
+
'';
19
19
20
20
})