Skip to content

Commit

Permalink
idris: Clean up package builder
Browse files Browse the repository at this point in the history
  • Loading branch information
infinisil committed Jul 2, 2018
1 parent 7ec54c6 commit e79b302
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 19 deletions.
2 changes: 2 additions & 0 deletions pkgs/development/idris-modules/build-builtin-package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ build-idris-package {
inherit name version;
inherit (idris) src;

includePreludeBase = false;

idrisDeps = deps;

postUnpack = ''
Expand Down
36 changes: 18 additions & 18 deletions pkgs/development/idris-modules/build-idris-package.nix
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
# Build an idris package
{ stdenv, idrisPackages, gmp }:
{ stdenv, lib, idrisPackages, gmp }:
{ idrisDeps ? []
, includePreludeBase ? true
, name
, version
, src
, meta
, extraBuildInputs ? []
, postUnpack ? ""
, doCheck ? true
}:
, ...
}@attrs:
let
idris-with-packages = idrisPackages.with-packages idrisDeps;
idrisDeps' = idrisDeps ++ lib.optionals includePreludeBase (with idrisPackages; [ prelude base ]);
idris-with-packages = idrisPackages.with-packages idrisDeps';
newAttrs = builtins.removeAttrs attrs [ "idrisDeps" "extraBuildInputs" "name" "version" ] // {
meta = attrs.meta // {
platforms = attrs.meta.platforms or idrisPackages.idris.meta.platforms;
};
};
in
stdenv.mkDerivation ({

name = "${name}-${version}";

inherit postUnpack src doCheck meta;

buildInputs = [ idris-with-packages gmp ] ++ extraBuildInputs;
propagatedBuildInputs = idrisDeps';

# Some packages use the style
# opts = -i ../../path/to/package
Expand All @@ -27,21 +30,18 @@ stdenv.mkDerivation ({
'';

buildPhase = ''
${idris-with-packages}/bin/idris --build *.ipkg
idris --build *.ipkg
'';

checkPhase = ''
if grep -q test *.ipkg; then
${idris-with-packages}/bin/idris --testpkg *.ipkg
idris --testpkg *.ipkg
fi
'';

installPhase = ''
${idris-with-packages}/bin/idris --install *.ipkg --ibcsubdir $out/libs
IDRIS_DOC_PATH=$out/doc ${idris-with-packages}/bin/idris --installdoc *.ipkg
idris --install *.ipkg --ibcsubdir $out/libs
IDRIS_DOC_PATH=$out/doc idris --installdoc *.ipkg || true
'';

buildInputs = [ gmp ] ++ extraBuildInputs;

propagatedBuildInputs = idrisDeps;
})
} // newAttrs)
2 changes: 1 addition & 1 deletion pkgs/development/idris-modules/with-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ stdenv.lib.appendToName "with-packages" (symlinkJoin {
postBuild = ''
wrapProgram $out/bin/idris \
--set IDRIS_LIBRARY_PATH $out/libs
'';
'';

})

0 comments on commit e79b302

Please sign in to comment.