NetworkManager: fix cross-compile for mipselhf

This commit is contained in:
Đoàn Trần Công Danh 2020-03-23 23:25:54 +07:00 committed by Jürgen Buchmüller
parent d4ef14930b
commit 0b53e778d5
2 changed files with 18 additions and 21 deletions

View file

@ -1,8 +1,10 @@
Reason: Fix crossbuilding GIR Reason: Fix crossbuilding GIR
Upstream: No, not upstreamable since this is very specific to the Void setup Upstream: No, not upstreamable since this is very specific to the Void setup
diff --git clients/common/meson.build clients/common/meson.build
index afa257b..50b53e7 100644
--- clients/common/meson.build --- clients/common/meson.build
+++ clients/common/meson.build +++ clients/common/meson.build
@@ -34,7 +34,7 @@ if enable_introspection @@ -35,7 +35,7 @@ if enable_introspection
settings_docs, settings_docs,
input: nm_property_docs, input: nm_property_docs,
output: settings_docs, output: settings_docs,
@ -11,26 +13,17 @@ Upstream: No, not upstreamable since this is very specific to the Void setup
) )
test( test(
--- libnm/meson.build.orig Mon Jan 13 02:12:09 2020 diff --git libnm/meson.build libnm/meson.build
+++ libnm/meson.build Mon Jan 13 02:17:17 2020 index 51ca46d..f14d861 100644
@@ -236,7 +236,24 @@ --- libnm/meson.build
+++ libnm/meson.build
@@ -236,7 +236,13 @@ if enable_introspection
) )
endif endif
- generate_setting_docs = join_paths(meson.current_source_dir(), 'generate-setting-docs.py') - generate_setting_docs = join_paths(meson.current_source_dir(), 'generate-setting-docs.py')
+ if meson.is_cross_build() + if meson.is_cross_build()
+ arch = host_machine.cpu_family() + qemu = '/usr/bin/qemu-@XBPS_TARGET_QEMU_MACHINE@-static'
+ endian = host_machine.endian()
+ if arch == 'x86'
+ qemu_arch = 'i386'
+ elif arch == 'x86_64'
+ qemu_arch = 'x86_64'
+ elif arch == 'ppc64' and endian == 'little'
+ qemu_arch = 'ppc64le'
+ else
+ qemu_arch = host_machine.cpu_family()
+ endif
+ qemu = '/usr/bin/qemu-' + qemu_arch + '-static'
+ qemu_python3_cmd = qemu + ' -L @XBPS_CROSS_BASE@ @XBPS_CROSS_BASE@/bin/python3' + qemu_python3_cmd = qemu + ' -L @XBPS_CROSS_BASE@ @XBPS_CROSS_BASE@/bin/python3'
+ generate_setting_docs = ['sh', '-c', qemu_python3_cmd, join_paths(meson.current_source_dir(), 'generate-setting-docs.py')] + generate_setting_docs = ['sh', '-c', qemu_python3_cmd, join_paths(meson.current_source_dir(), 'generate-setting-docs.py')]
+ else + else
@ -39,7 +32,7 @@ Upstream: No, not upstreamable since this is very specific to the Void setup
gi_typelib_path = run_command('printenv', 'GI_TYPELIB_PATH').stdout() gi_typelib_path = run_command('printenv', 'GI_TYPELIB_PATH').stdout()
if gi_typelib_path != '' if gi_typelib_path != ''
@@ -261,7 +278,7 @@ @@ -261,7 +267,7 @@ if enable_introspection
name, name,
input: libnm_gir[0], input: libnm_gir[0],
output: name, output: name,
@ -48,7 +41,7 @@ Upstream: No, not upstreamable since this is very specific to the Void setup
depends: libnm_gir, depends: libnm_gir,
) )
@@ -270,7 +287,7 @@ @@ -270,7 +276,7 @@ if enable_introspection
name, name,
input: [libnm_gir[0], nm_settings_docs_overrides], input: [libnm_gir[0], nm_settings_docs_overrides],
output: name, output: name,

View file

@ -1,9 +1,9 @@
# Template file for 'NetworkManager' # Template file for 'NetworkManager'
pkgname=NetworkManager pkgname=NetworkManager
version=1.22.6 version=1.22.6
revision=1 revision=2
build_style=meson build_style=meson
build_helper="gir" build_helper="gir qemu"
configure_args="-Dpolkit_agent=true -Dsystemd_journal=false configure_args="-Dpolkit_agent=true -Dsystemd_journal=false
-Dlibaudit=no -Dovs=false -Dlibnm_glib=true -Dselinux=false -Dlibaudit=no -Dovs=false -Dlibnm_glib=true -Dselinux=false
-Dmodify_system=true -Dpolkit_agent=true -Dsystemdsystemunitdir=no -Dmodify_system=true -Dpolkit_agent=true -Dsystemdsystemunitdir=no
@ -12,6 +12,7 @@ configure_args="-Dpolkit_agent=true -Dsystemd_journal=false
-Dpppd_plugin_dir=/usr/lib/pppd/2.4.7 -Dresolvconf=/usr/bin/resolvconf -Dpppd_plugin_dir=/usr/lib/pppd/2.4.7 -Dresolvconf=/usr/bin/resolvconf
-Ddhclient=/usr/bin/dhclient -Dkernel_firmware_dir=/usr/lib/firmware -Ddhclient=/usr/bin/dhclient -Dkernel_firmware_dir=/usr/lib/firmware
-Ddnsmasq=/usr/bin/dnsmasq -Ddbus_conf_dir=/etc/dbus-1/system.d -Ddnsmasq=/usr/bin/dnsmasq -Ddbus_conf_dir=/etc/dbus-1/system.d
-Ddhcpcd=/usr/bin/dhcpcd -Diptables=/usr/bin/iptables
-Diwd=true -Diwd=true
-Dudev_dir=/usr/lib/udev -Dintrospection=$(vopt_if gir true false) -Dudev_dir=/usr/lib/udev -Dintrospection=$(vopt_if gir true false)
-Dvapi=$(vopt_if vala true false) -Dvapi=$(vopt_if vala true false)
@ -58,7 +59,10 @@ build_options_default="gir vala elogind"
pre_configure() { pre_configure() {
if [ "$CROSS_BUILD" ]; then if [ "$CROSS_BUILD" ]; then
# Replace the values from our patch into the system itself # Replace the values from our patch into the system itself
sed -i -e "s|@XBPS_CROSS_BASE@|${XBPS_CROSS_BASE}|g" libnm/meson.build vsed -i \
-e "s|@XBPS_CROSS_BASE@|${XBPS_CROSS_BASE}|g" \
-e "s|@XBPS_TARGET_QEMU_MACHINE@|${XBPS_TARGET_QEMU_MACHINE}|" \
libnm/meson.build
fi fi
} }