about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2022-08-01 23:06:51 +0200
committerGitHub <noreply@github.com>2022-08-01 23:06:51 +0200
commit09cb5e84166155817fb94bcae5cfa8d3fa420917 (patch)
tree12358257eadb935ab3ebd8e78fc1f5ec67a73c0a /pkgs
parentf5c886d892e436f6d270e93560c2b47cff983e13 (diff)
parent9f309c8792577a16b319956ad92a2df2ae9aa4f1 (diff)
Merge pull request #183507 from Artturin/stdenvmeson1
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/libdrm/cross-build-nm-path.patch47
-rw-r--r--pkgs/development/libraries/libdrm/default.nix3
-rw-r--r--pkgs/development/libraries/mesa/default.nix8
-rw-r--r--pkgs/development/libraries/wayland/add-placeholder-for-nm.patch13
-rw-r--r--pkgs/development/libraries/wayland/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix8
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix2
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}'