diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-08-08 16:04:42 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-08-13 06:35:37 +0000 |
commit | 12aaa58dac35800b5b7d77f81cf2a87c21ee55da (patch) | |
tree | be0add9e5c22a85d20b5d78206aa74f956eb2a1b /nixpkgs/pkgs/development/libraries/libelf | |
parent | 45892a5591202f75a1c2f1ca7c62a92c7566e3c5 (diff) | |
parent | 5a8e9243812ba528000995b294292d3b5e120947 (diff) | |
download | nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.gz nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.bz2 nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.lz nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.xz nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.tar.zst nixlib-12aaa58dac35800b5b7d77f81cf2a87c21ee55da.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/libraries/mesa/default.nix nixpkgs/pkgs/servers/dict/dictd-db.nix Link: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/issues/391
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libelf')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libelf/default.nix | 10 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libelf/fix-configure-main.patch | 12 |
2 files changed, 21 insertions, 1 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libelf/default.nix b/nixpkgs/pkgs/development/libraries/libelf/default.nix index 3302d127d4d3..0a1a7175296e 100644 --- a/nixpkgs/pkgs/development/libraries/libelf/default.nix +++ b/nixpkgs/pkgs/development/libraries/libelf/default.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation rec { # Fix warnings from preprocessor instructions. # https://github.com/NixOS/nixpkgs/issues/59929 ./preprocessor-warnings.patch + # `configure` defines a test `main` with an implicit `int` return, which clang 16 disallows. + ./fix-configure-main.patch ]; enableParallelBuilding = true; @@ -55,7 +57,13 @@ stdenv.mkDerivation rec { # cross-compiling, but `autoreconfHook` brings in `makeWrapper` which # doesn't work with the bootstrapTools bash, so can only do this for # cross builds when `stdenv.shell` is a newer bash. - ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) autoreconfHook; + ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform + # The provided `configure` script fails on clang 16 because some tests have a `main` + # returning an implicit `int`, which clang 16 treats as an error. Running `autoreconf` fixes + # the test and allows `configure` to detect clang properly. + # This is done only for clang on Darwin because the Darwin stdenv bootstrap does not use + # libelf, so should be safe because it will always be run with a compatible version of bash. + || (stdenv.cc.isClang && stdenv.isDarwin)) autoreconfHook; meta = { description = "ELF object file access library"; diff --git a/nixpkgs/pkgs/development/libraries/libelf/fix-configure-main.patch b/nixpkgs/pkgs/development/libraries/libelf/fix-configure-main.patch new file mode 100644 index 000000000000..cc7e5f4c41d1 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libelf/fix-configure-main.patch @@ -0,0 +1,12 @@ +diff -ur a/configure.in b/configure.in +--- a/configure.in 2008-05-23 04:17:56.000000000 -0400 ++++ b/configure.in 2023-06-01 19:16:04.801921924 -0400 +@@ -282,7 +282,7 @@ + #define memmove(d,s,n) bcopy((s),(d),(n)) + #endif + extern int strcmp(); +-main() { ++int main() { + char buf[] = "0123456789"; + memmove(buf + 1, buf, 9); + if (strcmp(buf, "0012345678")) exit(1); |