Remove n0emis as direct maintainer (#365023)
[NixPkgs.git] / pkgs / development / compilers / chicken / 5 / eggDerivation.nix
blob623e1ab5560fe3a76d9ce9e51380877b2aaa6565
2   callPackage,
3   lib,
4   stdenv,
5   chicken,
6   makeWrapper,
7 }:
9   name,
10   src,
11   buildInputs ? [ ],
12   chickenInstallFlags ? [ ],
13   cscOptions ? [ ],
14   ...
15 }@args:
17 let
18   overrides = callPackage ./overrides.nix { };
19   baseName = lib.getName name;
20   override =
21     if builtins.hasAttr baseName overrides then builtins.getAttr baseName overrides else lib.id;
23 (stdenv.mkDerivation (
24   {
25     name = "chicken-${name}";
26     propagatedBuildInputs = buildInputs;
27     nativeBuildInputs = [
28       chicken
29       makeWrapper
30     ];
31     buildInputs = [ chicken ];
33     strictDeps = true;
35     CSC_OPTIONS = lib.concatStringsSep " " cscOptions;
37     buildPhase = ''
38       runHook preBuild
39       chicken-install -cached -no-install -host ${lib.escapeShellArgs chickenInstallFlags}
40       runHook postBuild
41     '';
43     installPhase = ''
44       runHook preInstall
46       export CHICKEN_INSTALL_PREFIX=$out
47       export CHICKEN_INSTALL_REPOSITORY=$out/lib/chicken/${toString chicken.binaryVersion}
48       chicken-install -cached -host ${lib.escapeShellArgs chickenInstallFlags}
50       for f in $out/bin/*
51       do
52         wrapProgram $f \
53           --prefix CHICKEN_REPOSITORY_PATH : "$out/lib/chicken/${toString chicken.binaryVersion}:$CHICKEN_REPOSITORY_PATH" \
54           --prefix CHICKEN_INCLUDE_PATH : "$CHICKEN_INCLUDE_PATH:$out/share" \
55           --prefix PATH : "$out/bin:${chicken}/bin:$CHICKEN_REPOSITORY_PATH"
56       done
58       runHook postInstall
59     '';
61     dontConfigure = true;
63     meta = {
64       inherit (chicken.meta) platforms;
65     } // args.meta or { };
66   }
67   // builtins.removeAttrs args [
68     "name"
69     "buildInputs"
70     "meta"
71   ]
72 )).overrideAttrs
73   override