From 61c13f548a7e203ffd99c749bc4fac0dd3750169 Mon Sep 17 00:00:00 2001 From: Boxiang Sun <boxiang.sun@nexedi.com> Date: Tue, 28 Jan 2025 07:55:33 +0100 Subject: [PATCH] component/firewalld: Migrate two packages to Meson build system - Upgraded gobject-introspection to version 1.76.1: - Switched build system from autotools to Meson. - Updated pre-configure and environment variables to support Meson. - Removed outdated configure flags. - Upgraded pygobject to version 3.44.2: - Switched build system from autotools to Meson. - Updated pre-configure to handle Meson subprojects. - Explicitly disabled cairo bindings with . - Updated environment variables for Meson compatibility. --- component/firewalld/buildout.cfg | 70 +++++++++++++++++--------------- 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/component/firewalld/buildout.cfg b/component/firewalld/buildout.cfg index 48774cdd9..ccfcc3981 100644 --- a/component/firewalld/buildout.cfg +++ b/component/firewalld/buildout.cfg @@ -3,6 +3,7 @@ parts = firewalld-patch extends = + ../bison/buildout.cfg ../defaults.cfg ../dbus/buildout.cfg ../flex/buildout.cfg @@ -11,7 +12,11 @@ extends = ../intltool/buildout.cfg ../libtool/buildout.cfg ../nftables/buildout.cfg + ../pcre2/buildout.cfg ../python-slip/buildout.cfg + ../meson/buildout.cfg + ../ninja/buildout.cfg + ../pkgconfig/buildout.cfg [firewalld] recipe = slapos.recipe.cmmi @@ -66,46 +71,45 @@ environment = [gobject-introspection] recipe = slapos.recipe.cmmi -url = http://ftp.gnome.org/pub/gnome/core/3.22/3.22.2/sources/gobject-introspection-1.50.0.tar.xz -md5sum = 5af8d724f25d0c9cfbe6df41b77e5dc0 -pre-configure = cp -f ${gnu-config:location}/config.sub ${gnu-config:location}/config.guess build-aux/ -configure-options = - --disable-static - +url = https://download.gnome.org/core/44/44.9/sources/gobject-introspection-1.76.1.tar.xz +md5sum = 5cb554fdd139db79f9b1be13892fddac +configure-command = true # Disable configure, use meson, required by 1.70+ +pre-configure = + mkdir -p subprojects/gnu-config + cp -f ${gnu-config:location}/config.sub ${gnu-config:location}/config.guess subprojects/gnu-config/ +configure-command = + ${meson:location}/bin/meson setup builddir \ + --prefix=${buildout:parts-directory}/${:_buildout_section_name_} \ + --wrap-mode=nodownload \ + -Dbuildtype=release +make-binary = ${ninja:location}/bin/ninja -C builddir environment = - PATH=${pkgconfig:location}/bin:${gettext:location}/bin:${glib:location}/bin:${xz-utils:location}/bin:${flex:location}/bin:${bison:location}/bin:%(PATH)s - PKG_CONFIG_PATH=${glib:location}/lib/pkgconfig:${glib:pkg_config_depends} - CPPFLAGS=-I${glib:location}/include/glib-2.0 -I${glib:location}/lib/glib-2.0/include - LDFLAGS=-L${glib:location}/lib -Wl,-rpath=${glib:location}/lib -L${libffi:location}/lib -Wl,-rpath=${libffi:location}/lib -lffi -L${zlib:location}/lib/ -Wl,-rpath=${zlib:location}/lib/ - GLIB_CFLAGS=-I${glib:location}/include/glib-2.0 -I${glib:location}/lib/glib-2.0/include - GLIB_LIBS=-L${glib:location}/lib -lglib-2.0 -lgobject-2.0 - FFI_CFLAGS=-I${libffi:location}/include - FFI_LIBS=-L${libffi:location}/lib -Wl,-rpath=${libffi:location}/lib -lffi - GIR_DIR=${buildout:parts-directory}/${:_buildout_section_name_}/share/gir-1.0 - PYTHON=${buildout:executable} + PATH=${pkgconfig:location}/bin:${glib:location}/bin:${ninja:location}/bin:${meson:location}/bin:${flex:location}/bin:${bison:location}/bin:%(PATH)s + PKG_CONFIG_PATH=${glib:location}/lib/pkgconfig:${pcre2:location}/lib/pkgconfig:${libffi:location}/lib/pkgconfig:${zlib:location}/lib/pkgconfig + LD_LIBRARY_PATH=${glib:location}/lib + [pygobject3] recipe = slapos.recipe.cmmi -url = http://ftp.gnome.org/pub/gnome/core/3.22/3.22.2/sources/pygobject-3.22.0.tar.xz +url = https://download.gnome.org/core/44/44.9/sources/pygobject-3.44.2.tar.xz python-egg = ${buildout:parts-directory}/${:_buildout_section_name_}/lib/python${python:version}/site-packages -md5sum = ed4117ed5d554d25fd7718807fbf819f +md5sum = f1a1e2304c328094806c306bbf658e85 +configure-command = true # Disable configure, use meson pre-configure = - cp -f ${gnu-config:location}/config.sub ${gnu-config:location}/config.guess . - sed -i 's#/usr/local#${gobject-introspection:location}#g' ${gobject-introspection:location}/lib/pkgconfig/gobject-introspection-1.0.pc -configure-options = - --disable-static - --disable-cairo - + mkdir -p subprojects/gnu-config + cp -f ${gnu-config:location}/config.sub ${gnu-config:location}/config.guess subprojects/gnu-config/ +configure-command = + ${meson:location}/bin/meson setup builddir \ + --prefix=${buildout:parts-directory}/${:_buildout_section_name_} \ + --wrap-mode=nodownload \ + -Dpython=${buildout:executable} \ + -Dbuildtype=release \ + -Dpycairo=disabled # Disable cairo bindings explicitly +make-binary = ${ninja:location}/bin/ninja -C builddir environment = - PATH=${pkgconfig:location}/bin:${libtool:location}/bin:${glib:location}/bin:${xz-utils:location}/bin:%(PATH)s - PKG_CONFIG_PATH=${glib:location}/lib/pkgconfig:${glib:pkg_config_depends}:${gobject-introspection:location}/lib/pkgconfig - FFI_CFLAGS=-I${libffi:location}/include - FFI_LIBS=-L${libffi:location}/lib -Wl,-rpath=${libffi:location}/lib -lffi - CPPFLAGS=-I${glib:location}/include/glib-2.0 -I${glib:location}/lib/glib-2.0/include -I${gettext:location}/include -I${libffi:location}/include - LDFLAGS=-L${glib:location}/lib -Wl,-rpath=${glib:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib - GIO_LIBS=-L${glib:location}/lib -lgio-2.0 - GI_CFLAGS=-I${gobject-introspection:location}/include/gobject-introspection-1.0 - GI_LIBS=-L${gobject-introspection:location}/lib -lgirepository-1.0 + PATH=${pkgconfig:location}/bin:${ninja:location}/bin:${libtool:location}/bin:${glib:location}/bin:${xz-utils:location}/bin:%(PATH)s + PKG_CONFIG_PATH=${glib:location}/lib/pkgconfig:${glib:pkg_config_depends}:${gobject-introspection:location}/lib/x86_64-linux-gnu/pkgconfig + LD_LIBRARY_PATH=${glib:location}/lib:${libffi:location}/lib PYTHON=${buildout:executable} [trusted-config] -- 2.30.9