From e79b302f894d8ee34b6579329a254b56f29240c4 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Mon, 2 Jul 2018 05:18:08 +0200 Subject: [PATCH] idris: Clean up package builder --- .../idris-modules/build-builtin-package.nix | 2 ++ .../idris-modules/build-idris-package.nix | 36 +++++++++---------- .../idris-modules/with-packages.nix | 2 +- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/pkgs/development/idris-modules/build-builtin-package.nix b/pkgs/development/idris-modules/build-builtin-package.nix index 44efa97a5319..a90bb8c11b63 100644 --- a/pkgs/development/idris-modules/build-builtin-package.nix +++ b/pkgs/development/idris-modules/build-builtin-package.nix @@ -10,6 +10,8 @@ build-idris-package { inherit name version; inherit (idris) src; + includePreludeBase = false; + idrisDeps = deps; postUnpack = '' diff --git a/pkgs/development/idris-modules/build-idris-package.nix b/pkgs/development/idris-modules/build-idris-package.nix index 9378acb12a39..47e1e22c5db0 100644 --- a/pkgs/development/idris-modules/build-idris-package.nix +++ b/pkgs/development/idris-modules/build-idris-package.nix @@ -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 @@ -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) diff --git a/pkgs/development/idris-modules/with-packages.nix b/pkgs/development/idris-modules/with-packages.nix index 8b390d4bf5be..47136839d01a 100644 --- a/pkgs/development/idris-modules/with-packages.nix +++ b/pkgs/development/idris-modules/with-packages.nix @@ -15,6 +15,6 @@ stdenv.lib.appendToName "with-packages" (symlinkJoin { postBuild = '' wrapProgram $out/bin/idris \ --set IDRIS_LIBRARY_PATH $out/libs - ''; + ''; })