diff options
author | Sandro <sandro.jaeckel@gmail.com> | 2022-08-01 23:06:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-01 23:06:51 +0200 |
commit | 09cb5e84166155817fb94bcae5cfa8d3fa420917 (patch) | |
tree | 12358257eadb935ab3ebd8e78fc1f5ec67a73c0a /pkgs | |
parent | f5c886d892e436f6d270e93560c2b47cff983e13 (diff) | |
parent | 9f309c8792577a16b319956ad92a2df2ae9aa4f1 (diff) |
Merge pull request #183507 from Artturin/stdenvmeson1
Diffstat (limited to 'pkgs')
7 files changed, 9 insertions, 79 deletions
diff --git a/pkgs/development/libraries/libdrm/cross-build-nm-path.patch b/pkgs/development/libraries/libdrm/cross-build-nm-path.patch deleted file mode 100644 index 547ef0d096915..0000000000000 --- a/pkgs/development/libraries/libdrm/cross-build-nm-path.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 9e05fece7918edce9c6aa5a1f1ea375108e5b2be Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> -Date: Fri, 2 Aug 2019 10:26:37 +0100 -Subject: [PATCH] meson: support for custom nm path -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When cross-compiling target toolchains i.e. binutils are often -prefixed by its target architecture. This patch gives the user -to option to specify the nm used during the build process. - -Signed-off-by: Jörg Thalheim <joerg@thalheim.io> ---- - meson.build | 2 +- - meson_options.txt | 6 ++++++ - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build ---- meson.build.orig 2020-06-18 11:13:57.716321962 +0200 -+++ meson.build 2020-06-18 11:19:50.456861311 +0200 -@@ -45,7 +45,7 @@ - cc = meson.get_compiler('c') - - symbols_check = find_program('symbols-check.py') --prog_nm = find_program('nm') -+prog_nm = find_program(get_option('nm-path')) - - # Check for atomics - intel_atomics = false -diff --git a/meson_options.txt b/meson_options.txt -index 8af33f1c..b4f46a52 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -141,3 +141,9 @@ option( - value : false, - description : 'Enable support for using udev instead of mknod.', - ) -+option( -+ 'nm-path', -+ type : 'string', -+ description : 'path to nm', -+ value : 'nm' -+) --- -2.22.0 - diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index ec12f1031cf56..e49a903730b95 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -18,10 +18,7 @@ stdenv.mkDerivation rec { buildInputs = [ libpthreadstubs libpciaccess ] ++ lib.optional withValgrind valgrind-light; - patches = [ ./cross-build-nm-path.patch ]; - mesonFlags = [ - "-Dnm-path=${stdenv.cc.targetPrefix}nm" "-Dinstall-test-programs=true" "-Domap=true" ] ++ lib.optionals stdenv.hostPlatform.isAarch [ diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index d2c3128004fd0..48df1b0149c17 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -81,19 +81,11 @@ self = stdenv.mkDerivation { postPatch = '' patchShebangs . - substituteInPlace meson.build --replace \ - "find_program('pkg-config')" \ - "find_program('${buildPackages.pkg-config.targetPrefix}pkg-config')" - # The drirc.d directory cannot be installed to $drivers as that would cause a cyclic dependency: substituteInPlace src/util/xmlconfig.c --replace \ 'DATADIR "/drirc.d"' '"${placeholder "out"}/share/drirc.d"' substituteInPlace src/util/meson.build --replace \ "get_option('datadir')" "'${placeholder "out"}/share'" - '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - substituteInPlace meson.build --replace \ - "find_program('nm')" \ - "find_program('${stdenv.cc.targetPrefix}nm')" ''; outputs = [ "out" "dev" "drivers" ] diff --git a/pkgs/development/libraries/wayland/add-placeholder-for-nm.patch b/pkgs/development/libraries/wayland/add-placeholder-for-nm.patch deleted file mode 100644 index dbc63028b45b1..0000000000000 --- a/pkgs/development/libraries/wayland/add-placeholder-for-nm.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/egl/meson.build b/egl/meson.build -index b3cbdf3..cdc15ca 100644 ---- a/egl/meson.build -+++ b/egl/meson.build -@@ -11,7 +11,7 @@ wayland_egl = library( - - executable('wayland-egl-abi-check', 'wayland-egl-abi-check.c') - --nm_path = find_program('nm').full_path() -+nm_path = find_program('@nm@').full_path() - - test( - 'wayland-egl symbols check', diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index ac434b795aef5..c9d0a7ad3b7cf 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -36,13 +36,6 @@ stdenv.mkDerivation rec { sha256 = "1b0ixya9bfw5c9jx8mzlr7yqnlyvd3jv5z8wln9scdv8q5zlvikd"; }; - patches = [ - (substituteAll { - src = ./add-placeholder-for-nm.patch; - nm = "${stdenv.cc.targetPrefix}nm"; - }) - ]; - postPatch = lib.optionalString withDocumentation '' patchShebangs doc/doxygen/gen-doxygen.py '' + lib.optionalString stdenv.hostPlatform.isStatic '' diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index f62bb22314de6..5a9164d426a97 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -29,6 +29,14 @@ python3.pkgs.buildPythonApplication rec { # https://github.com/mesonbuild/meson/pull/6827 ./more-env-vars.patch + # Use more binutils variables, so we don't have to define them in stdenv. + # pr has been merged + # https://github.com/mesonbuild/meson/pull/10640 + (fetchpatch { + url = "https://github.com/mesonbuild/meson/commit/8a8ab9a8e0c2cefb6faa0734e52803c74790576c.patch"; + sha256 = "sha256-BdBf1NB4SZLFyFRDzD0p//XUgUeAHpo6XXUtsHdCgKE="; + }) + # Unlike libtool, vanilla Meson does not pass any information # about the path library will be installed to to g-ir-scanner, # breaking the GIR when path other than ${!outputLib}/lib is used. diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 73030e7d941e8..78cbad190a6e3 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -384,7 +384,7 @@ else let crossFile = builtins.toFile "cross-file.conf" '' [properties] - needs_exe_wrapper = true + needs_exe_wrapper = ${lib.boolToString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform)} [host_machine] system = '${stdenv.targetPlatform.parsed.kernel.name}' |