diff options
author | Martin Weinelt <mweinelt@users.noreply.github.com> | 2023-10-22 02:42:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-22 02:42:33 +0200 |
commit | 8dfad603247387df1df4826b8bea58efc5d012d8 (patch) | |
tree | 91bdc70e902cd910ec60539ae9b6ce24e448669c /pkgs/development/compilers | |
parent | 9e1ae78a702a764d6815dac293f460f14720d140 (diff) | |
parent | 1cf369a0dd162e2da454edd7880eb87bd4543eef (diff) | |
download | nixlib-8dfad603247387df1df4826b8bea58efc5d012d8.tar nixlib-8dfad603247387df1df4826b8bea58efc5d012d8.tar.gz nixlib-8dfad603247387df1df4826b8bea58efc5d012d8.tar.bz2 nixlib-8dfad603247387df1df4826b8bea58efc5d012d8.tar.lz nixlib-8dfad603247387df1df4826b8bea58efc5d012d8.tar.xz nixlib-8dfad603247387df1df4826b8bea58efc5d012d8.tar.zst nixlib-8dfad603247387df1df4826b8bea58efc5d012d8.zip |
Merge pull request #257792 from NixOS/staging-next
staging-next 2023-09-28
Diffstat (limited to 'pkgs/development/compilers')
19 files changed, 92 insertions, 54 deletions
diff --git a/pkgs/development/compilers/gcc/default.nix b/pkgs/development/compilers/gcc/default.nix index eb77b6f36524..4544f3862fea 100644 --- a/pkgs/development/compilers/gcc/default.nix +++ b/pkgs/development/compilers/gcc/default.nix @@ -311,17 +311,15 @@ lib.pipe ((callFile ./common/builder.nix {}) ({ libc = if libcCross != null then libcCross else stdenv.cc.libc; in ( - '' echo "fixing the \`GLIBC_DYNAMIC_LINKER'${lib.optionalString atLeast6 ", \\`UCLIBC_DYNAMIC_LINKER',"} and \`${if atLeast6 then "MUSL" else "UCLIBC"}_DYNAMIC_LINKER' macros..." + '' echo "fixing the {GLIBC,UCLIBC,MUSL}_DYNAMIC_LINKER macros..." for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h do grep -q ${lib.optionalString (!atLeast6) "LIBC"}_DYNAMIC_LINKER "$header" || continue - echo " fixing \`$header'..." + echo " fixing $header..." sed -i "$header" \ - -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g'${lib.optionalString atLeast6 " \\"} - '' + lib.optionalString atLeast6 '' -${""} -e 's|define[[:blank:]]*MUSL_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define MUSL_DYNAMIC_LINKER\1 "${libc.out}\2"|g' - '' + '' -${""} done + -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g' \ + -e 's|define[[:blank:]]*MUSL_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define MUSL_DYNAMIC_LINKER\1 "${libc.out}\2"|g' + done '' + lib.optionalString (atLeast6 && targetPlatform.libc == "musl") '' sed -i gcc/config/linux.h -e '1i#undef LOCAL_INCLUDE_DIR' '' @@ -329,9 +327,7 @@ ${""} done )) + lib.optionalString (atLeast7 && targetPlatform.isAvr) ('' makeFlagsArray+=( - '' + (lib.optionalString atLeast10 '' '-s' # workaround for hitting hydra log limit - '') + '' 'LIMITS_H_TEST=false' ) ''); diff --git a/pkgs/development/compilers/go/1.20.nix b/pkgs/development/compilers/go/1.20.nix index dfa88fe6132e..1124c2ea98a4 100644 --- a/pkgs/development/compilers/go/1.20.nix +++ b/pkgs/development/compilers/go/1.20.nix @@ -46,11 +46,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "go"; - version = "1.20.8"; + version = "1.20.10"; src = fetchurl { url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz"; - hash = "sha256-ONcXFPpSeflyQEUZVtjkfjwbal3ny4QTeUnWK13TGC4="; + hash = "sha256-ctL1GAXEcVAGbBA3VMdf3bLBnUjJIZ+jPR5GaWyEHbs="; }; strictDeps = true; diff --git a/pkgs/development/compilers/go/1.21.nix b/pkgs/development/compilers/go/1.21.nix index e0562ad32b98..7806cf074438 100644 --- a/pkgs/development/compilers/go/1.21.nix +++ b/pkgs/development/compilers/go/1.21.nix @@ -46,11 +46,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "go"; - version = "1.21.1"; + version = "1.21.3"; src = fetchurl { url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz"; - hash = "sha256-v6Nr916aHpy725q8+dFwfkeb06B4gKiuNWTK7lcRy5k="; + hash = "sha256-GG8rb4yLcE5paCGwmrIEGlwe4T3LwxVqE63PdZMe5Ig="; }; strictDeps = true; diff --git a/pkgs/development/compilers/llvm/15/llvm/default.nix b/pkgs/development/compilers/llvm/15/llvm/default.nix index e6f339ff6d6d..8a1c0547890b 100644 --- a/pkgs/development/compilers/llvm/15/llvm/default.nix +++ b/pkgs/development/compilers/llvm/15/llvm/default.nix @@ -227,6 +227,8 @@ in stdenv.mkDerivation (rec { --replace "PassBuilderCallbacksTest.cpp" "" rm unittests/IR/PassBuilderCallbacksTest.cpp rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test + # timing-based tests are trouble + rm utils/lit/tests/googletest-timeout.py '' + optionalString stdenv.hostPlatform.isMusl '' patch -p1 -i ${../../TLI-musl.patch} substituteInPlace unittests/Support/CMakeLists.txt \ diff --git a/pkgs/development/compilers/llvm/16/default.nix b/pkgs/development/compilers/llvm/16/default.nix index 9dbe65ed68da..24dd31ea9fef 100644 --- a/pkgs/development/compilers/llvm/16/default.nix +++ b/pkgs/development/compilers/llvm/16/default.nix @@ -255,14 +255,6 @@ in let [ "-rtlib=compiler-rt" "-Wno-unused-command-line-argument" "-B${targetLlvmLibraries.compiler-rt}/lib" - - # Combat "__cxxabi_config.h not found". Maybe this could be fixed by - # copying these headers into libcxx? Note that building libcxx - # outside of monorepo isn't supported anymore, might be related to - # https://github.com/llvm/llvm-project/issues/55632 - # ("16.0.3 libcxx, libcxxabi: circular build dependencies") - # Looks like the machinery changed in https://reviews.llvm.org/D120727. - "-I${lib.getDev targetLlvmLibraries.libcxx.cxxabi}/include/c++/v1" ] ++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind" ++ lib.optional diff --git a/pkgs/development/compilers/llvm/16/llvm/default.nix b/pkgs/development/compilers/llvm/16/llvm/default.nix index c70f9d37a562..9475b5c99485 100644 --- a/pkgs/development/compilers/llvm/16/llvm/default.nix +++ b/pkgs/development/compilers/llvm/16/llvm/default.nix @@ -221,6 +221,8 @@ in --replace "PassBuilderCallbacksTest.cpp" "" rm unittests/IR/PassBuilderCallbacksTest.cpp rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test + # timing-based tests are trouble + rm utils/lit/tests/googletest-timeout.py '' + optionalString stdenv.hostPlatform.isMusl '' patch -p1 -i ${../../TLI-musl.patch} substituteInPlace unittests/Support/CMakeLists.txt \ diff --git a/pkgs/development/compilers/openjdk/12.nix b/pkgs/development/compilers/openjdk/12.nix index e717a910f703..ab0696e172c0 100644 --- a/pkgs/development/compilers/openjdk/12.nix +++ b/pkgs/development/compilers/openjdk/12.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, bash, pkg-config, autoconf, cpio, file, which, unzip -, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2 +, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama , libXcursor, libXrandr, fontconfig, openjdk11-bootstrap, fetchpatch , setJavaClassPath @@ -27,7 +27,7 @@ let nativeBuildInputs = [ pkg-config autoconf unzip ]; buildInputs = [ - cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib + cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap ] ++ lib.optionals (!headless && enableGnome2) [ @@ -67,7 +67,6 @@ let "--enable-unlimited-crypto" "--with-native-debug-symbols=internal" "--with-freetype=system" - "--with-harfbuzz=system" "--with-libjpeg=system" "--with-giflib=system" "--with-libpng=system" @@ -96,6 +95,12 @@ let buildFlags = [ "all" ]; + postBuild = '' + cd build/linux* + make images + cd - + ''; + installPhase = '' mkdir -p $out/lib diff --git a/pkgs/development/compilers/openjdk/13.nix b/pkgs/development/compilers/openjdk/13.nix index b012459ba046..5d5d9f774771 100644 --- a/pkgs/development/compilers/openjdk/13.nix +++ b/pkgs/development/compilers/openjdk/13.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, bash, pkg-config, autoconf, cpio, file, which, unzip -, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2 +, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama , libXcursor, libXrandr, fontconfig, openjdk13-bootstrap, fetchpatch , setJavaClassPath @@ -27,7 +27,7 @@ let nativeBuildInputs = [ pkg-config autoconf unzip ]; buildInputs = [ - cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib + cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap ] ++ lib.optionals (!headless && enableGnome2) [ @@ -72,7 +72,6 @@ let "--enable-unlimited-crypto" "--with-native-debug-symbols=internal" "--with-freetype=system" - "--with-harfbuzz=system" "--with-libjpeg=system" "--with-giflib=system" "--with-libpng=system" @@ -101,6 +100,12 @@ let buildFlags = [ "all" ]; + postBuild = '' + cd build/linux* + make images + cd - + ''; + installPhase = '' mkdir -p $out/lib @@ -161,7 +166,7 @@ let disallowedReferences = [ openjdk-bootstrap ]; - meta = import ./meta.nix lib version; + meta = (import ./meta.nix lib version) // { broken = true; }; passthru = { architecture = ""; diff --git a/pkgs/development/compilers/openjdk/14.nix b/pkgs/development/compilers/openjdk/14.nix index 0f4f17d078e5..348fd3996c9f 100644 --- a/pkgs/development/compilers/openjdk/14.nix +++ b/pkgs/development/compilers/openjdk/14.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, bash, pkg-config, autoconf, cpio, file, which, unzip -, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2 +, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama , libXcursor, libXrandr, fontconfig, openjdk14-bootstrap , setJavaClassPath @@ -27,7 +27,7 @@ let nativeBuildInputs = [ pkg-config autoconf unzip ]; buildInputs = [ - cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib + cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap ] ++ lib.optionals (!headless && enableGnome2) [ @@ -67,7 +67,6 @@ let "--enable-unlimited-crypto" "--with-native-debug-symbols=internal" "--with-freetype=system" - "--with-harfbuzz=system" "--with-libjpeg=system" "--with-giflib=system" "--with-libpng=system" @@ -96,6 +95,12 @@ let buildFlags = [ "all" ]; + postBuild = '' + cd build/linux* + make images + cd - + ''; + installPhase = '' mkdir -p $out/lib @@ -157,7 +162,7 @@ let disallowedReferences = [ openjdk-bootstrap ]; - meta = import ./meta.nix lib version; + meta = (import ./meta.nix lib version) // { broken = true; }; passthru = { architecture = ""; diff --git a/pkgs/development/compilers/openjdk/15.nix b/pkgs/development/compilers/openjdk/15.nix index 54bce680a188..2447b0783ca4 100644 --- a/pkgs/development/compilers/openjdk/15.nix +++ b/pkgs/development/compilers/openjdk/15.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, bash, pkg-config, autoconf, cpio, file, which, unzip -, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2 +, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib, libpng, zlib, lcms2 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama , libXcursor, libXrandr, fontconfig, openjdk15-bootstrap , setJavaClassPath @@ -30,7 +30,7 @@ let nativeBuildInputs = [ pkg-config autoconf unzip zip file which ]; buildInputs = [ - cpio perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib + cpio perl zlib cups freetype alsa-lib libjpeg giflib libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap ] ++ lib.optionals (!headless && enableGnome2) [ @@ -70,15 +70,13 @@ let "--enable-unlimited-crypto" "--with-native-debug-symbols=internal" "--with-freetype=system" - "--with-harfbuzz=system" "--with-libjpeg=system" "--with-giflib=system" "--with-libpng=system" "--with-zlib=system" "--with-lcms=system" "--with-stdc++lib=dynamic" - ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc" - ++ lib.optional headless "--enable-headless-only" + ] ++ lib.optional headless "--enable-headless-only" ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}"; separateDebugInfo = true; @@ -99,6 +97,12 @@ let buildFlags = [ "all" ]; + postBuild = '' + cd build/linux* + make images + cd - + ''; + installPhase = '' mkdir -p $out/lib diff --git a/pkgs/development/compilers/openjdk/16.nix b/pkgs/development/compilers/openjdk/16.nix index 802449e4027f..4b0874a03a41 100644 --- a/pkgs/development/compilers/openjdk/16.nix +++ b/pkgs/development/compilers/openjdk/16.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, fetchFromGitHub, bash, pkg-config, autoconf, cpio -, file, which, unzip, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib +, file, which, unzip, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib , libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk16-bootstrap , setJavaClassPath @@ -31,7 +31,7 @@ let nativeBuildInputs = [ pkg-config autoconf unzip ]; buildInputs = [ - cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib + cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap ] ++ lib.optionals (!headless && enableGnome2) [ @@ -74,15 +74,13 @@ let "--enable-unlimited-crypto" "--with-native-debug-symbols=internal" "--with-freetype=system" - "--with-harfbuzz=system" "--with-libjpeg=system" "--with-giflib=system" "--with-libpng=system" "--with-zlib=system" "--with-lcms=system" "--with-stdc++lib=dynamic" - ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc" - ++ lib.optional headless "--enable-headless-only" + ] ++ lib.optional headless "--enable-headless-only" ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}"; separateDebugInfo = true; @@ -103,6 +101,12 @@ let buildFlags = [ "all" ]; + postBuild = '' + cd build/linux* + make images + cd - + ''; + installPhase = '' mkdir -p $out/lib diff --git a/pkgs/development/compilers/openjdk/17.nix b/pkgs/development/compilers/openjdk/17.nix index 9aa952156d29..d2c71683c9bf 100644 --- a/pkgs/development/compilers/openjdk/17.nix +++ b/pkgs/development/compilers/openjdk/17.nix @@ -98,8 +98,7 @@ let "--with-zlib=system" "--with-lcms=system" "--with-stdc++lib=dynamic" - ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc" - ++ lib.optional headless "--enable-headless-only" + ] ++ lib.optional headless "--enable-headless-only" ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}"; separateDebugInfo = true; diff --git a/pkgs/development/compilers/openjdk/18.nix b/pkgs/development/compilers/openjdk/18.nix index 48d68f7b071f..2c496721be07 100644 --- a/pkgs/development/compilers/openjdk/18.nix +++ b/pkgs/development/compilers/openjdk/18.nix @@ -88,8 +88,7 @@ let "--with-zlib=system" "--with-lcms=system" "--with-stdc++lib=dynamic" - ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc" - ++ lib.optional headless "--enable-headless-only" + ] ++ lib.optional headless "--enable-headless-only" ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}"; separateDebugInfo = true; @@ -110,6 +109,12 @@ let buildFlags = [ "images" ]; + postBuild = '' + cd build/linux* + make images + cd - + ''; + installPhase = '' mkdir -p $out/lib diff --git a/pkgs/development/compilers/openjdk/19.nix b/pkgs/development/compilers/openjdk/19.nix index 214831a3d569..51fd0d8eb533 100644 --- a/pkgs/development/compilers/openjdk/19.nix +++ b/pkgs/development/compilers/openjdk/19.nix @@ -98,8 +98,7 @@ let "--with-zlib=system" "--with-lcms=system" "--with-stdc++lib=dynamic" - ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc" - ++ lib.optional headless "--enable-headless-only" + ] ++ lib.optional headless "--enable-headless-only" ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}"; separateDebugInfo = true; diff --git a/pkgs/development/compilers/openjdk/20.nix b/pkgs/development/compilers/openjdk/20.nix index 105a1cc7b35d..2be834a27b58 100644 --- a/pkgs/development/compilers/openjdk/20.nix +++ b/pkgs/development/compilers/openjdk/20.nix @@ -98,8 +98,7 @@ let "--with-zlib=system" "--with-lcms=system" "--with-stdc++lib=dynamic" - ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc" - ++ lib.optional headless "--enable-headless-only" + ] ++ lib.optional headless "--enable-headless-only" ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}"; separateDebugInfo = true; diff --git a/pkgs/development/compilers/rust/1_72.nix b/pkgs/development/compilers/rust/1_72.nix index 05e55d24a75a..f540c229c6ff 100644 --- a/pkgs/development/compilers/rust/1_72.nix +++ b/pkgs/development/compilers/rust/1_72.nix @@ -11,6 +11,7 @@ { stdenv, lib , buildPackages +, targetPackages , newScope, callPackage , CoreFoundation, Security, SystemConfiguration , pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost @@ -19,8 +20,8 @@ } @ args: import ./default.nix { - rustcVersion = "1.72.0"; - rustcSha256 = "sha256-6p1hu7UddrbqaBFW9p8OBZa1lyLwRBSwHG4QC0tb46E="; + rustcVersion = "1.72.1"; + rustcSha256 = "sha256-f0iEX2pSzbtdY/sFKP1fUg60QydbVfmOMoFZ+GVo+JU="; llvmSharedForBuild = pkgsBuildBuild.llvmPackages_16.libllvm.override { enableSharedLibraries = true; }; llvmSharedForHost = pkgsBuildHost.llvmPackages_16.libllvm.override { enableSharedLibraries = true; }; diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index 90e921651f14..0a0af7832366 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -13,6 +13,7 @@ }: { stdenv, lib , buildPackages +, targetPackages , newScope, callPackage , CoreFoundation, Security, SystemConfiguration , pkgsBuildBuild @@ -21,7 +22,7 @@ let # Use `import` to make sure no packages sneak in here. - lib' = import ../../../build-support/rust/lib { inherit lib; }; + lib' = import ../../../build-support/rust/lib { inherit lib stdenv buildPackages targetPackages; }; # Allow faster cross compiler generation by reusing Build artifacts fastCross = (stdenv.buildPlatform == stdenv.hostPlatform) && (stdenv.hostPlatform != stdenv.targetPlatform); in @@ -29,7 +30,7 @@ in lib = lib'; # Backwards compat before `lib` was factored out. - inherit (lib') toTargetArch toTargetOs toRustTarget toRustTargetSpec IsNoStdTarget; + inherit (lib') toTargetArch toTargetOs toRustTarget toRustTargetSpec IsNoStdTarget toRustTargetForUseInEnvVars envVars; # This just contains tools for now. But it would conceivably contain # libraries too, say if we picked some default/recommended versions to build diff --git a/pkgs/development/compilers/swift/foundation/default.nix b/pkgs/development/compilers/swift/foundation/default.nix index efb35bd74c9f..b0da48c68a95 100644 --- a/pkgs/development/compilers/swift/foundation/default.nix +++ b/pkgs/development/compilers/swift/foundation/default.nix @@ -5,6 +5,7 @@ { lib , stdenv +, fetchpatch , callPackage , cmake , ninja @@ -23,6 +24,15 @@ in stdenv.mkDerivation { inherit (sources) version; src = sources.swift-corelibs-foundation; + patches = [ + # from https://github.com/apple/swift-corelibs-foundation/pull/4811 + # fix build with glibc >=2.38 + (fetchpatch { + url = "https://github.com/apple/swift-corelibs-foundation/commit/47260803a108c6e0d639adcebeed3ac6a76e8bcd.patch"; + hash = "sha256-1JUSQW86IHKkBZqxvpk0P8zcSKntzOTNlMoGBfgeT4c="; + }) + ]; + outputs = [ "out" "dev" ]; nativeBuildInputs = [ cmake ninja swift ]; diff --git a/pkgs/development/compilers/vala/setup-hook.sh b/pkgs/development/compilers/vala/setup-hook.sh index 8252143e998b..33acdf1daee0 100644 --- a/pkgs/development/compilers/vala/setup-hook.sh +++ b/pkgs/development/compilers/vala/setup-hook.sh @@ -7,6 +7,15 @@ make_vala_find_vapi_files() { addEnvHooks "$hostOffset" make_vala_find_vapi_files +disable_incompabile_pointer_conversion_warning() { + # Work around incompatible function pointer conversion errors with clang 16 + # by setting ``-Wno-incompatible-function-pointer-types` in an env hook. + # See https://gitlab.gnome.org/GNOME/vala/-/issues/1413. + NIX_CFLAGS_COMPILE+=" -Wno-incompatible-function-pointer-types" +} + +addEnvHooks "$hostOffset" disable_incompabile_pointer_conversion_warning + _multioutMoveVapiDirs() { moveToOutput share/vala/vapi "${!outputDev}" moveToOutput share/vala-@apiVersion@/vapi "${!outputDev}" |