From 9d59e4dfb48ec74b074bef4bb2e4017a3a797e63 Mon Sep 17 00:00:00 2001 From: Anton Kudriavtsev Date: Thu, 29 Oct 2026 20:15:59 +0300 Subject: [PATCH] NetworkManager: fix CLAT cross compilation --- .../patches/fix-cross-clat.patch | 33 +++++++++++++++++++ srcpkgs/NetworkManager/template | 21 +++++------- 2 files changed, 42 insertions(+), 12 deletions(-) create mode 100644 srcpkgs/NetworkManager/patches/fix-cross-clat.patch diff --git a/srcpkgs/NetworkManager/patches/fix-cross-clat.patch b/srcpkgs/NetworkManager/patches/fix-cross-clat.patch new file mode 100644 index 00000000000000..cd3aff1f55270c --- /dev/null +++ b/srcpkgs/NetworkManager/patches/fix-cross-clat.patch @@ -0,0 +1,33 @@ +diff --git a/src/core/bpf/meson.build b/src/core/bpf/meson.build +index 4bf817b98c..d5f93bc3b3 100644 +--- a/src/core/bpf/meson.build ++++ b/src/core/bpf/meson.build +@@ -179,27 +179,8 @@ endif + + bpf_o_unstripped_cmd += ['-I.'] + +-if cc.get_id() == 'gcc' or meson.is_cross_build() +- if cc.get_id() != 'gcc' +- warning('Cross compiler is not gcc. Guessing the target triplet for bpf likely fails.') +- endif +- target_triplet_cmd = run_command(cc.cmd_array(), '-print-multiarch', check: false) +-else +- # clang does not support -print-multiarch (D133170) and its -dump-machine +- # does not match multiarch. Query gcc instead. +- target_triplet_cmd = run_command('gcc', '-print-multiarch', check: false) +-endif +- +-if target_triplet_cmd.returncode() == 0 +- target_triplet = target_triplet_cmd.stdout().strip() +- bpf_o_unstripped_cmd += [ +- '-isystem', +- '/usr/include/@0@'.format(target_triplet) +- ] +-endif +- + bpf_o_unstripped_cmd += [ +- '-idirafter', ++ '-isystem', + libbpf_include_dir, + '@INPUT@', + '-o', diff --git a/srcpkgs/NetworkManager/template b/srcpkgs/NetworkManager/template index 877506e8743e55..ca454bc0e4cbf9 100644 --- a/srcpkgs/NetworkManager/template +++ b/srcpkgs/NetworkManager/template @@ -1,7 +1,7 @@ # Template file for 'NetworkManager' pkgname=NetworkManager version=1.58.1 -revision=1 +revision=2 build_style=meson build_helper="gir qemu" configure_args="-Dsystemd_journal=false -Dsystemdsystemgeneratordir=no @@ -16,10 +16,10 @@ configure_args="-Dsystemd_journal=false -Dsystemdsystemgeneratordir=no -Dsession_tracking=$(vopt_if elogind elogind no) -Dsuspend_resume=$(vopt_if elogind elogind upower) -Dconfig_dhcp_default=internal -Dtests=no" -hostmakedepends="bpftool clang gettext-devel glib-devel libxslt-devel pkg-config - dbus-glib-devel docbook-xsl gtk-doc polkit-devel perl +hostmakedepends="bpftool clang gettext glib-devel libxslt pkg-config docbook-xsl + polkit perl $(vopt_if gir 'vala python3-gobject')" -makedepends="libbpf-devel libbpf-devel libuuid-devel nss-devel dbus-glib-devel libgudev-devel +makedepends="libbpf-devel libuuid-devel nss-devel dbus-glib-devel libgudev-devel libnl3-devel polkit-devel ppp-devel libcurl-devel libnvme-devel ModemManager-devel readline-devel libndp-devel newt-devel jansson-devel libpsl-devel eudev-libudev-devel mobile-broadband-provider-info gnutls-devel @@ -31,7 +31,7 @@ short_desc="Network Management daemon" maintainer="Enno Boland " license="GPL-2.0-or-later" homepage="https://networkmanager.dev" -changelog="https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/raw/nm-1-56/NEWS" +changelog="https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/raw/nm-1-58/NEWS" distfiles="https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/releases/${version}/downloads/NetworkManager-${version}.tar.xz" checksum=262864cfd198123d3e5dbe91937441b97ee9059d6d712e1a5bfbb1c54668d14d @@ -51,12 +51,6 @@ make_dirs=" build_options="gir elogind" build_options_default="gir elogind" -pre_configure() { - if [ "$CROSS_BUILD" ]; then - configure_args+=" -Dclat=false" - fi -} - post_patch() { if [ "$CROSS_BUILD" ]; then # Replace the values from our patch into the system itself @@ -67,6 +61,9 @@ post_patch() { # https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/955 vsed -e "s#jansson_dep.get_variable(pkgconfig: 'libdir')#'${XBPS_CROSS_BASE}/usr/lib'#" \ -i meson.build + # https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/2012 + vsed -e "s#dependency('libbpf').get_variable(pkgconfig : 'includedir')#'${XBPS_CROSS_BASE}/usr/include'#" \ + -i src/core/bpf/meson.build fi } @@ -97,7 +94,7 @@ libnm_package() { } NetworkManager-devel_package() { - depends="dbus-glib-devel libnm-${version}_${revision}" + depends="dbus-glib-devel libnm>=${version}_${revision}" short_desc+=" - development files" pkg_install() { vmove usr/include