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