summary refs log tree commit diff
path: root/pkgs/development/idris-modules/build-idris-package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/idris-modules/build-idris-package.nix')
-rw-r--r--pkgs/development/idris-modules/build-idris-package.nix25
1 files changed, 18 insertions, 7 deletions
diff --git a/pkgs/development/idris-modules/build-idris-package.nix b/pkgs/development/idris-modules/build-idris-package.nix
index 3ed1404fef7c..5e1288685a7e 100644
--- a/pkgs/development/idris-modules/build-idris-package.nix
+++ b/pkgs/development/idris-modules/build-idris-package.nix
@@ -5,6 +5,7 @@
   , noBase ? false
   , name
   , version
+  , ipkgName ? name
   , extraBuildInputs ? []
   , ...
   }@attrs:
@@ -13,7 +14,10 @@ let
     ++ lib.optional (!noPrelude) idrisPackages.prelude
     ++ lib.optional (!noBase) idrisPackages.base;
   idris-with-packages = idrisPackages.with-packages allIdrisDeps;
-  newAttrs = builtins.removeAttrs attrs [ "idrisDeps" "extraBuildInputs" "name" "version" ] // {
+  newAttrs = builtins.removeAttrs attrs [
+    "idrisDeps" "noPrelude" "noBase"
+    "name" "version" "ipkgName" "extraBuildInputs"
+  ] // {
     meta = attrs.meta // {
       platforms = attrs.meta.platforms or idrisPackages.idris.meta.platforms;
     };
@@ -29,22 +33,29 @@ stdenv.mkDerivation ({
   # opts = -i ../../path/to/package
   # rather than the declarative pkgs attribute so we have to rewrite the path.
   postPatch = ''
-    sed -i *.ipkg -e "/^opts/ s|-i \\.\\./|-i ${idris-with-packages}/libs/|g"
+    runHook prePatch
+    sed -i ${ipkgName}.ipkg -e "/^opts/ s|-i \\.\\./|-i ${idris-with-packages}/libs/|g"
   '';
 
   buildPhase = ''
-    idris --build *.ipkg
+    runHook preBuild
+    idris --build ${ipkgName}.ipkg
+    runHook postBuild
   '';
 
   checkPhase = ''
-    if grep -q test *.ipkg; then
-      idris --testpkg *.ipkg
+    runHook preCheck
+    if grep -q tests ${ipkgName}.ipkg; then
+      idris --testpkg ${ipkgName}.ipkg
     fi
+    runHook postCheck
   '';
 
   installPhase = ''
-    idris --install *.ipkg --ibcsubdir $out/libs
-    IDRIS_DOC_PATH=$out/doc idris --installdoc *.ipkg || true
+    runHook preInstall
+    idris --install ${ipkgName}.ipkg --ibcsubdir $out/libs
+    IDRIS_DOC_PATH=$out/doc idris --installdoc ${ipkgName}.ipkg || true
+    runHook postInstall
   '';
 
 } // newAttrs)