diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/compilers/chicken')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/compilers/chicken/4/chicken.nix | 26 | ||||
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix | 19 |
2 files changed, 30 insertions, 15 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. diff --git a/infra/libkookie/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix b/infra/libkookie/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix index f07b63ea26f4..712012643f33 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/compilers/chicken/5/chicken.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }: +{ stdenv, fetchurl, makeWrapper, darwin, bootstrap-chicken ? null }: let version = "5.2.0"; @@ -21,14 +21,21 @@ stdenv.mkDerivation { sha256 = "1yl0hxm9cirgcp8jgxp6vv29lpswfvaw3zfkh6rsj0vkrv44k4c1"; }; - setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh; + setupHook = lib.optional (bootstrap-chicken != null) ./setup-hook.sh; - buildFlags = [ "PLATFORM=${platform}" "PREFIX=$(out)" ]; - installFlags = [ "PLATFORM=${platform}" "PREFIX=$(out)" ]; + # -fno-strict-overflow is not a supported argument in clang on darwin + hardeningDisable = lib.optionals stdenv.isDarwin ["strictoverflow"]; + + makeFlags = [ + "PLATFORM=${platform}" "PREFIX=$(out)" + ] ++ (lib.optionals stdenv.isDarwin [ + "XCODE_TOOL_PATH=${darwin.binutils.bintools}/bin" + "C_COMPILER=$(CC)" + ]); buildInputs = [ makeWrapper - ] ++ (lib.ifEnable (bootstrap-chicken != null) [ + ] ++ (lib.optionals (bootstrap-chicken != null) [ bootstrap-chicken ]); @@ -46,7 +53,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. |