diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/compilers/chicken/4')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix b/infra/libkookie/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix index 11f4eaada604..50126fdac92c 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }: +{ stdenv, fetchurl, makeWrapper, darwin, bootstrap-chicken ? null }: let version = "4.13.0"; @@ -21,31 +21,39 @@ stdenv.mkDerivation { sha256 = "0hvckhi5gfny3mlva6d7y9pmx7cbwvq0r7mk11k3sdiik9hlkmdd"; }; - setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh; + setupHook = lib.optional (bootstrap-chicken != null) ./setup-hook.sh; - buildFlags = [ "PLATFORM=${platform}" "PREFIX=$(out)" "VARDIR=$(out)/var/lib" ]; - installFlags = [ "PLATFORM=${platform}" "PREFIX=$(out)" "VARDIR=$(out)/var/lib" ]; + # -fno-strict-overflow is not a supported argument in clang on darwin + hardeningDisable = lib.optionals stdenv.isDarwin ["strictoverflow"]; + + makeFlags = [ + "PLATFORM=${platform}" "PREFIX=$(out)" + "VARDIR=$(out)/var/lib" + ] ++ (lib.optionals stdenv.isDarwin [ + "XCODE_TOOL_PATH=${darwin.binutils.bintools}/bin" + "C_COMPILER=$(CC)" + ]); # We need a bootstrap-chicken to regenerate the c-files after # applying a patch to add support for CHICKEN_REPOSITORY_EXTRA - patches = lib.ifEnable (bootstrap-chicken != null) [ + patches = lib.optionals (bootstrap-chicken != null) [ ./0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch ]; buildInputs = [ makeWrapper - ] ++ (lib.ifEnable (bootstrap-chicken != null) [ + ] ++ (lib.optionals (bootstrap-chicken != null) [ bootstrap-chicken ]); - preBuild = lib.ifEnable (bootstrap-chicken != null) '' + preBuild = lib.optionalString (bootstrap-chicken != null) '' # Backup the build* files - those are generated from hostname, # git-tag, etc. and we don't need/want that mkdir -p build-backup mv buildid buildbranch buildtag.h build-backup # Regenerate eval.c after the patch - make spotless $buildFlags + make spotless $makeFlags mv build-backup/* . ''; @@ -64,7 +72,7 @@ stdenv.mkDerivation { homepage = "http://www.call-cc.org/"; license = stdenv.lib.licenses.bsd3; maintainers = with stdenv.lib.maintainers; [ corngood ]; - platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; # Maybe other Unix description = "A portable compiler for the Scheme programming language"; longDescription = '' CHICKEN is a compiler for the Scheme programming language. |