build-idris-package: add options for idris commands
This commit is contained in:
parent
c0a8580822
commit
8a02fa477f
@ -7,6 +7,10 @@
|
|||||||
, version
|
, version
|
||||||
, ipkgName ? name
|
, ipkgName ? name
|
||||||
, extraBuildInputs ? []
|
, extraBuildInputs ? []
|
||||||
|
, idrisBuildOptions ? []
|
||||||
|
, idrisTestOptions ? []
|
||||||
|
, idrisInstallOptions ? []
|
||||||
|
, idrisDocOptions ? []
|
||||||
, ...
|
, ...
|
||||||
}@attrs:
|
}@attrs:
|
||||||
let
|
let
|
||||||
@ -39,14 +43,14 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
idris --build ${ipkgName}.ipkg
|
idris --build ${ipkgName}.ipkg ${lib.escapeShellArgs idrisBuildOptions}
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
runHook preCheck
|
runHook preCheck
|
||||||
if grep -q tests ${ipkgName}.ipkg; then
|
if grep -q tests ${ipkgName}.ipkg; then
|
||||||
idris --testpkg ${ipkgName}.ipkg
|
idris --testpkg ${ipkgName}.ipkg ${lib.escapeShellArgs idrisTestOptions}
|
||||||
fi
|
fi
|
||||||
runHook postCheck
|
runHook postCheck
|
||||||
'';
|
'';
|
||||||
@ -54,9 +58,9 @@ stdenv.mkDerivation ({
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
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
|
# If the ipkg file defines an executable, install that
|
||||||
executable=$(grep -Po '^executable = \K.*' ${ipkgName}.ipkg || true)
|
executable=$(grep -Po '^executable = \K.*' ${ipkgName}.ipkg || true)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user