From f862d7fb8d3656e7e0ec8ff5ef97db8e46536e93 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 21 Nov 2021 22:53:21 +0100 Subject: gnu: network-manager: Build with Meson 0.60. This is another way to address as suggested by Nirbheek Chauhan and Paolo Bonzini. * gnu/packages/patches/network-manager-meson.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnome.scm (network-manager)[source]: Use it. [arguments]: Remove #:meson. --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 8 +++----- gnu/packages/patches/network-manager-meson.patch | 21 +++++++++++++++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/network-manager-meson.patch diff --git a/gnu/local.mk b/gnu/local.mk index fcac217354..ec65c9a3a6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1492,6 +1492,7 @@ dist_patch_DATA = \ %D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/ngless-unliftio.patch \ %D%/packages/patches/network-manager-plugin-path.patch \ + %D%/packages/patches/network-manager-meson.patch \ %D%/packages/patches/nginx-socket-cloexec.patch \ %D%/packages/patches/nnpack-system-libraries.patch \ %D%/packages/patches/nsis-env-passthru.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e6e6092593..82b002bd0d 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7899,7 +7899,8 @@ users.") (uri (string-append "mirror://gnome/sources/NetworkManager/" (version-major+minor version) "/" "NetworkManager-" version ".tar.xz")) - (patches (search-patches "network-manager-plugin-path.patch")) + (patches (search-patches "network-manager-plugin-path.patch" + "network-manager-meson.patch")) (sha256 (base32 "0jzmz0zw64dgvdn2g7pppr7bkywpbxcbdb1viv6p7zh2lnh3dax8")))) @@ -7907,10 +7908,7 @@ users.") (outputs '("out" "doc")) ; 8 MiB of gtk-doc HTML (arguments - ;; Use meson-0.59, otherwise the custom rpaths are not registered - ;; correctly (see: https://github.com/mesonbuild/meson/issues/9492). - `(#:meson ,meson-0.59 - #:configure-flags + `(#:configure-flags (let ((out (assoc-ref %outputs "out")) (dhclient (search-input-file %build-inputs "/sbin/dhclient"))) (list diff --git a/gnu/packages/patches/network-manager-meson.patch b/gnu/packages/patches/network-manager-meson.patch new file mode 100644 index 0000000000..1056d40ede --- /dev/null +++ b/gnu/packages/patches/network-manager-meson.patch @@ -0,0 +1,21 @@ +Since libnm-wwan.so is not just a loadable module but also a shared library +that some plugin links against, build it as a shared library while avoiding +'-Wl,--no-undefined': + + https://github.com/mesonbuild/meson/issues/9492#issuecomment-973117289 + +diff --git a/src/core/devices/wwan/meson.build b/src/core/devices/wwan/meson.build +index 37ef738..18ac54f 100644 +--- a/src/core/devices/wwan/meson.build ++++ b/src/core/devices/wwan/meson.build +@@ -4,8 +4,9 @@ wwan_inc = include_directories('.') + + linker_script = join_paths(meson.current_source_dir(), 'libnm-wwan.ver') + +-libnm_wwan = shared_module( ++libnm_wwan = shared_library( + 'nm-wwan', ++ override_options: ['b_lundef=false'], + sources: files( + 'nm-service-providers.c', + 'nm-modem-broadband.c', -- cgit v1.2.3