From 98bd3171dc406f39cc32b6790a40926798835045 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Tue, 18 Jul 2023 20:39:00 -0600 Subject: [PATCH 1/2] guile_2_2: fix build with clang 16 on x86_64-darwin Guile 2.2 calls `__sincos`, which should be defined in `math.h`, but the version of that header in the 10.12 SDK is very old (predating 10.12). Until there is a version of that header available, use the 11.0 SDK to build Guile. --- pkgs/development/interpreters/guile/2.2.nix | 6 +++--- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/interpreters/guile/2.2.nix b/pkgs/development/interpreters/guile/2.2.nix index 918735517ea3..617658e748b9 100644 --- a/pkgs/development/interpreters/guile/2.2.nix +++ b/pkgs/development/interpreters/guile/2.2.nix @@ -34,9 +34,9 @@ builder rec { outputs = [ "out" "dev" "info" ]; setOutputFlags = false; # $dev gets into the library otherwise - depsBuildBuild = [ - buildPackages.stdenv.cc - ] + depsBuildBuild = if stdenv.buildPlatform.isDarwin + then [ buildPackages.darwin.apple_sdk_11_0.stdenv.cc ] + else [ buildPackages.stdenv.cc ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) pkgsBuildBuild.guile_2_2; nativeBuildInputs = [ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1ea2269aa8a6..64a340097e96 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18297,7 +18297,7 @@ with pkgs; # Needed for autogen guile_2_0 = callPackage ../development/interpreters/guile/2.0.nix { }; - guile_2_2 = callPackage ../development/interpreters/guile/2.2.nix { }; + guile_2_2 = darwin.apple_sdk_11_0.callPackage ../development/interpreters/guile/2.2.nix { }; guile_3_0 = callPackage ../development/interpreters/guile/3.0.nix { }; From f8382587d9ac3857864204be8a3737e90f6f325b Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Tue, 18 Jul 2023 20:40:34 -0600 Subject: [PATCH 2/2] guile_3_0: fix build with clang 16 on x86_64-darwin Guile 3.0 calls `__sincos`, which should be defined in `math.h`, but the version of that header in the 10.12 SDK is very old (predating 10.12). Until there is a version of that header available, use the 11.0 SDK to build Guile. --- pkgs/development/interpreters/guile/3.0.nix | 7 ++++--- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/development/interpreters/guile/3.0.nix b/pkgs/development/interpreters/guile/3.0.nix index 0708fb3d2974..ff27b01aad7c 100644 --- a/pkgs/development/interpreters/guile/3.0.nix +++ b/pkgs/development/interpreters/guile/3.0.nix @@ -35,9 +35,10 @@ builder rec { outputs = [ "out" "dev" "info" ]; setOutputFlags = false; # $dev gets into the library otherwise - depsBuildBuild = [ - buildPackages.stdenv.cc - ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) + depsBuildBuild = if stdenv.buildPlatform.isDarwin + then [ buildPackages.darwin.apple_sdk_11_0.stdenv.cc ] + else [ buildPackages.stdenv.cc ] + ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) pkgsBuildBuild.guile_3_0; nativeBuildInputs = [ makeWrapper diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 64a340097e96..03a46e1d0bf9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18299,7 +18299,7 @@ with pkgs; guile_2_2 = darwin.apple_sdk_11_0.callPackage ../development/interpreters/guile/2.2.nix { }; - guile_3_0 = callPackage ../development/interpreters/guile/3.0.nix { }; + guile_3_0 = darwin.apple_sdk_11_0.callPackage ../development/interpreters/guile/3.0.nix { }; guile = guile_3_0;