about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSilvan Mosberger <contact@infinisil.com>2019-08-07 13:37:36 +0200
committerGitHub <noreply@github.com>2019-08-07 13:37:36 +0200
commitdd7de2d096818ec2ebc1089af0e1a3f09b3288f8 (patch)
tree1599c15b1d923d385ae2ec4b78d9a3ae1fcf9902
parent25e47152b140eb702051c2267e72373b0d735095 (diff)
parent349a843ef413f9746ce97625328670451d5574c0 (diff)
downloadnixlib-dd7de2d096818ec2ebc1089af0e1a3f09b3288f8.tar
nixlib-dd7de2d096818ec2ebc1089af0e1a3f09b3288f8.tar.gz
nixlib-dd7de2d096818ec2ebc1089af0e1a3f09b3288f8.tar.bz2
nixlib-dd7de2d096818ec2ebc1089af0e1a3f09b3288f8.tar.lz
nixlib-dd7de2d096818ec2ebc1089af0e1a3f09b3288f8.tar.xz
nixlib-dd7de2d096818ec2ebc1089af0e1a3f09b3288f8.tar.zst
nixlib-dd7de2d096818ec2ebc1089af0e1a3f09b3288f8.zip
add options for build idris package (#65666)
add options for build idris package
-rw-r--r--doc/languages-frameworks/idris.section.md18
-rw-r--r--pkgs/development/idris-modules/build-idris-package.nix12
2 files changed, 26 insertions, 4 deletions
diff --git a/doc/languages-frameworks/idris.section.md b/doc/languages-frameworks/idris.section.md
index 3025172b5c98..e88015f08e3f 100644
--- a/doc/languages-frameworks/idris.section.md
+++ b/doc/languages-frameworks/idris.section.md
@@ -124,3 +124,21 @@ in another file (say `default.nix`) to be able to build it with
 ```
 $ nix-build -A yaml
 ```
+
+## Passing options to `idris` commands
+
+The `build-idris-package` function provides also optional input values to set additional options for the used `idris` commands.
+
+Specifically, you can set `idrisBuildOptions`, `idrisTestOptions`, `idrisInstallOptions` and `idrisDocOptions` to provide additional options to the `idris` command respectively when building, testing, installing and generating docs for your package.
+
+For example you could set
+
+```
+build-idris-package {
+  idrisBuildOptions = [ "--log" "1" "--verbose" ]
+
+  ...
+}
+```
+
+to require verbose output during `idris` build phase.
diff --git a/pkgs/development/idris-modules/build-idris-package.nix b/pkgs/development/idris-modules/build-idris-package.nix
index 28bac4e981b0..ac0555636be0 100644
--- a/pkgs/development/idris-modules/build-idris-package.nix
+++ b/pkgs/development/idris-modules/build-idris-package.nix
@@ -7,6 +7,10 @@
   , version
   , ipkgName ? name
   , extraBuildInputs ? []
+  , idrisBuildOptions ? []
+  , idrisTestOptions ? []
+  , idrisInstallOptions ? []
+  , idrisDocOptions ? []
   , ...
   }@attrs:
 let
@@ -39,14 +43,14 @@ stdenv.mkDerivation ({
 
   buildPhase = ''
     runHook preBuild
-    idris --build ${ipkgName}.ipkg
+    idris --build ${ipkgName}.ipkg ${lib.escapeShellArgs idrisBuildOptions}
     runHook postBuild
   '';
 
   checkPhase = ''
     runHook preCheck
     if grep -q tests ${ipkgName}.ipkg; then
-      idris --testpkg ${ipkgName}.ipkg
+      idris --testpkg ${ipkgName}.ipkg ${lib.escapeShellArgs idrisTestOptions}
     fi
     runHook postCheck
   '';
@@ -54,9 +58,9 @@ stdenv.mkDerivation ({
   installPhase = ''
     runHook preInstall
 
-    idris --install ${ipkgName}.ipkg --ibcsubdir $out/libs
+    idris --install ${ipkgName}.ipkg --ibcsubdir $out/libs ${lib.escapeShellArgs idrisInstallOptions}
 
-    IDRIS_DOC_PATH=$out/doc idris --installdoc ${ipkgName}.ipkg || true
+    IDRIS_DOC_PATH=$out/doc idris --installdoc ${ipkgName}.ipkg ${lib.escapeShellArgs idrisDocOptions} || true
 
     # If the ipkg file defines an executable, install that
     executable=$(grep -Po '^executable = \K.*' ${ipkgName}.ipkg || true)