nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 62 lines 1.5 kB view raw
1{ 2 lib, 3 stdenv, 4 chicken, 5 makeWrapper, 6}: 7{ 8 name, 9 src, 10 buildInputs ? [ ], 11 chickenInstallFlags ? [ ], 12 cscOptions ? [ ], 13 ... 14}@args: 15 16let 17 libPath = "${chicken}/var/lib/chicken/${toString chicken.binaryVersion}/"; 18 overrides = import ./overrides.nix; 19 baseName = lib.getName name; 20 override = if builtins.hasAttr baseName overrides then builtins.getAttr baseName overrides else { }; 21in 22stdenv.mkDerivation ( 23 { 24 name = "chicken-${name}"; 25 propagatedBuildInputs = buildInputs; 26 nativeBuildInputs = [ makeWrapper ]; 27 buildInputs = [ chicken ]; 28 29 CSC_OPTIONS = lib.concatStringsSep " " cscOptions; 30 31 CHICKEN_REPOSITORY = libPath; 32 CHICKEN_INSTALL_PREFIX = "$out"; 33 34 installPhase = '' 35 runHook preInstall 36 37 chicken-install -p $out ${lib.concatStringsSep " " chickenInstallFlags} 38 39 for f in $out/bin/* 40 do 41 wrapProgram $f \ 42 --set CHICKEN_REPOSITORY $CHICKEN_REPOSITORY \ 43 --prefix CHICKEN_REPOSITORY_EXTRA : "$out/lib/chicken/${toString chicken.binaryVersion}/:$CHICKEN_REPOSITORY_EXTRA" \ 44 --prefix CHICKEN_INCLUDE_PATH \; "$CHICKEN_INCLUDE_PATH;$out/share/" \ 45 --prefix PATH : "$out/bin:${chicken}/bin:$CHICKEN_REPOSITORY_EXTRA:$CHICKEN_REPOSITORY" 46 done 47 48 runHook postInstall 49 ''; 50 51 meta = { 52 inherit (chicken.meta) platforms; 53 } 54 // args.meta or { }; 55 } 56 // (removeAttrs args [ 57 "name" 58 "buildInputs" 59 "meta" 60 ]) 61 // override 62)