Merge pull request #300012 from mattpolzin/build-idris-path

idris2Packages.buildIdris: better nix-shell support via shellHook
This commit is contained in:
Fabián Heredia Montiel 2024-03-29 16:26:28 -06:00 committed by GitHub
commit 57936619f3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 26 additions and 20 deletions

View File

@ -32,28 +32,34 @@ let
"idrisLibraries"
];
sharedAttrs = drvAttrs // {
pname = ipkgName;
inherit version;
src = src;
nativeBuildInputs = [ idris2 makeWrapper ] ++ attrs.nativeBuildInputs or [];
buildInputs = propagatedIdrisLibraries ++ attrs.buildInputs or [];
derivation = stdenv.mkDerivation (finalAttrs:
drvAttrs // {
pname = ipkgName;
inherit version;
src = src;
nativeBuildInputs = [ idris2 makeWrapper ] ++ attrs.nativeBuildInputs or [];
buildInputs = propagatedIdrisLibraries ++ attrs.buildInputs or [];
IDRIS2_PACKAGE_PATH = libDirs;
IDRIS2_PACKAGE_PATH = libDirs;
buildPhase = ''
runHook preBuild
idris2 --build ${ipkgFileName}
runHook postBuild
'';
buildPhase = ''
runHook preBuild
idris2 --build ${ipkgFileName}
runHook postBuild
'';
passthru = {
inherit propagatedIdrisLibraries;
};
};
passthru = {
inherit propagatedIdrisLibraries;
};
shellHook = ''
export IDRIS2_PACKAGE_PATH="${finalAttrs.IDRIS2_PACKAGE_PATH}"
'';
}
);
in {
executable = stdenv.mkDerivation (sharedAttrs // {
executable = derivation.overrideAttrs {
installPhase = ''
runHook preInstall
mkdir -p $out/bin
@ -76,11 +82,11 @@ in {
fi
runHook postInstall
'';
});
};
library = { withSource ? false }:
let installCmd = if withSource then "--install-with-src" else "--install";
in stdenv.mkDerivation (sharedAttrs // {
in derivation.overrideAttrs {
installPhase = ''
runHook preInstall
mkdir -p $out/${libSuffix}
@ -88,5 +94,5 @@ in {
idris2 ${installCmd} ${ipkgFileName}
runHook postInstall
'';
});
};
}