From ed56157e959012abe069e79eacda9ff3451156ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Mairb=C3=B6ck?= Date: Tue, 11 Nov 2025 16:47:26 +0100 Subject: [PATCH] glib2: split gobject_introspection into proper subpackages again (#13195) except the debuginfo package, which would require haikuporter changes (see haikuports/haikuporter#348). --- dev-libs/glib/glib2-2.81.0.recipe | 87 +++++++++++++++++++++---------- 1 file changed, 60 insertions(+), 27 deletions(-) diff --git a/dev-libs/glib/glib2-2.81.0.recipe b/dev-libs/glib/glib2-2.81.0.recipe index 0e6144249..e6b0e73ea 100644 --- a/dev-libs/glib/glib2-2.81.0.recipe +++ b/dev-libs/glib/glib2-2.81.0.recipe @@ -20,7 +20,7 @@ COPYRIGHT="1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald 2008-2010 Collabora Ltd. 1995-2010 Several others" LICENSE="GNU LGPL v2" -REVISION="1" +REVISION="2" SOURCE_URI="https://gitlab.gnome.org/GNOME/glib/-/archive/$portVersion/glib-$portVersion.tar.gz" CHECKSUM_SHA256="e9c311a25abb5717fb83f0f3a36daddc039e61fe37cea61cad4d0e455a6cdca0" SOURCE_DIR="glib-$portVersion" @@ -29,10 +29,10 @@ srvGitRev2="0854af0fdb6d527a8d1999835ac2c5059976c210" SOURCE_URI_2="https://gitlab.gnome.org/GNOME/gvdb/-/archive/0854af0fdb6d527a8d1999835ac2c5059976c210/gvdb-$srvGitRev2.tar.gz" CHECKSUM_SHA256_2="08352e54e8216d9001820c627c62858585465b51dc557cc22f0f4770ed182ebd" SOURCE_DIR_2="gvdb-$srvGitRev2" -giVer="1.81.2" -SOURCE_URI_3="http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/${giVer%.*}/gobject-introspection-$giVer.tar.xz" +PACKAGE_VERSION_gi="1.81.2" +SOURCE_URI_3="http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/${PACKAGE_VERSION_gi%.*}/gobject-introspection-$PACKAGE_VERSION_gi.tar.xz" CHECKSUM_SHA256_3="ec973bf5c2c2e69d14642df38e508c24ae91a254b6c38d2828022c71f2a144e0" -SOURCE_DIR_3="gobject-introspection-$giVer" +SOURCE_DIR_3="gobject-introspection-$PACKAGE_VERSION_gi" PATCHES_3="glib2-$portVersion-source3.patchset" ARCHITECTURES="all !x86_gcc2" @@ -68,16 +68,12 @@ PROVIDES=" cmd:glib_gettextize$commandSuffix cmd:gsettings$commandSuffix lib:libgio_2.0$secondaryArchSuffix = $libVersionCompat - lib:libgirepository_1.0$secondaryArchSuffix = $libGiVersionCompat lib:libgirepository_2.0$secondaryArchSuffix = $libVersionCompat lib:libglib_2.0$secondaryArchSuffix = $libVersionCompat lib:libgmodule_2.0$secondaryArchSuffix = $libVersionCompat lib:libgobject_2.0$secondaryArchSuffix = $libVersionCompat lib:libgthread_2.0$secondaryArchSuffix = $libVersionCompat " -REPLACES=" - gobject_introspection$secondaryArchSuffix - " REQUIRES=" haiku$secondaryArchSuffix lib:libffi$secondaryArchSuffix @@ -98,7 +94,6 @@ PROVIDES_devel=" cmd:gtester$commandSuffix cmd:gtester_report$commandSuffix devel:libgio_2.0$secondaryArchSuffix = $libVersionCompat - devel:libgirepository_1.0$secondaryArchSuffix = $libGiVersionCompat devel:libgirepository_2.0$secondaryArchSuffix = $libVersionCompat devel:libglib_2.0$secondaryArchSuffix = $libVersionCompat devel:libgmodule_2.0$secondaryArchSuffix = $libVersionCompat @@ -107,7 +102,6 @@ PROVIDES_devel=" " REQUIRES_devel=" glib2$secondaryArchSuffix == $portVersion base - glib2${secondaryArchSuffix}_gir_tools == $giVer haiku$secondaryArchSuffix cmd:perl cmd:python$pythonVersion @@ -119,26 +113,49 @@ REQUIRES_devel=" lib:libintl$secondaryArchSuffix " -SUMMARY_gir_tools="The gobject-introspections tools and python module" -DESCRIPTION_gir_tools="GObject introspection is a middleware layer between C libraries \ +PACKAGE_NAME_gi="gobject_introspection$secondaryArchSuffix" +# PACKAGE_VERSION_gi see above + +SUMMARY_gi="Introspection system for GObject-based libraries" +DESCRIPTION_gi="GObject introspection is a middleware layer between C libraries \ (using GObject) and language bindings. The C library can be scanned at \ compile time and generate a metadata file, in addition to the actual native \ C library. Then at runtime, language bindings can read this metadata and \ automatically provide bindings to call into the C library." -PROVIDES_gir_tools=" - glib2${secondaryArchSuffix}_gir_tools = $giVer - cmd:g_ir_annotation_tool$commandSuffix = $giVer - cmd:g_ir_compiler$commandSuffix = $giVer - cmd:g_ir_generate$commandSuffix = $giVer - cmd:g_ir_inspect$commandSuffix = $giVer - cmd:g_ir_scanner$commandSuffix = $giVer +PROVIDES_gi=" + gobject_introspection$secondaryArchSuffix = $PACKAGE_VERSION_gi + cmd:g_ir_annotation_tool$commandSuffix = $PACKAGE_VERSION_gi + cmd:g_ir_compiler$commandSuffix = $PACKAGE_VERSION_gi + cmd:g_ir_generate$commandSuffix = $PACKAGE_VERSION_gi + cmd:g_ir_inspect$commandSuffix = $PACKAGE_VERSION_gi + cmd:g_ir_scanner$commandSuffix = $PACKAGE_VERSION_gi + lib:libgirepository_1.0$secondaryArchSuffix = $libGiVersionCompat " -REQUIRES_gir_tools=" +REQUIRES_gi=" glib2$secondaryArchSuffix == $portVersion base haiku$secondaryArchSuffix cmd:python$pythonVersion lib:libffi$secondaryArchSuffix " +REPLACES_gi=" + glib2${secondaryArchSuffix}_gir_tools + " + +PACKAGE_NAME_gi_devel="gobject_introspection${secondaryArchSuffix}_devel" +PACKAGE_VERSION_gi_devel=$PACKAGE_VERSION_gi + +SUMMARY_gi_devel="$SUMMARY_gi (development files)" +DESCRIPTION_gi_devel="$DESCRIPTION_gi" +PROVIDES_gi_devel=" + gobject_introspection${secondaryArchSuffix}_devel = $PACKAGE_VERSION_gi + devel:libgirepository_1.0$secondaryArchSuffix = $libGiVersionCompat + " +REQUIRES_gi_devel=" + gobject_introspection${secondaryArchSuffix} == $PACKAGE_VERSION_gi base + devel:libffi$secondaryArchSuffix + devel:libglib_2.0$secondaryArchSuffix + devel:libpcre2_8$secondaryArchSuffix + " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel @@ -179,11 +196,11 @@ defineDebugInfoPackage glib2$secondaryArchSuffix \ $(getPackagePrefix devel)/bin/gobject-query \ $(getPackagePrefix devel)/bin/gresource \ $(getPackagePrefix devel)/bin/gtester \ - $(getPackagePrefix gir_tools)/bin/g-ir-compiler \ - $(getPackagePrefix gir_tools)/bin/g-ir-generate \ - $(getPackagePrefix gir_tools)/bin/g-ir-inspect \ + $(getPackagePrefix gi)/bin/g-ir-compiler \ + $(getPackagePrefix gi)/bin/g-ir-generate \ + $(getPackagePrefix gi)/bin/g-ir-inspect \ $libDir/libgio-2.0.so.$libVersion \ - $libDir/libgirepository-1.0.so.$libGiVersion \ + $(getPackagePrefix gi)/$relativeLibDir/libgirepository-1.0.so.$libGiVersion \ $libDir/libgirepository-2.0.so.$libVersion \ $libDir/libglib-2.0.so.$libVersion \ $libDir/libgmodule-2.0.so.$libVersion \ @@ -262,10 +279,15 @@ INSTALL() { meson install --no-rebuild -C build + # also install gobject-introspection again (needed when skipping the build) + cd $sourceDir3 + meson install --no-rebuild -C build + # we are not linux rm -f $libDir/gio-launch-desktop - prepareInstalledDevelLibs libgio-2.0 \ + prepareInstalledDevelLibs \ + libgio-2.0 \ libgirepository-1.0 \ libgirepository-2.0 \ libglib-2.0 \ @@ -278,6 +300,13 @@ INSTALL() fixPkgconfig + # gi_devel package + packageEntries gi_devel \ + $developLibDir/libgirepository-1.0.so* \ + $developLibDir/pkgconfig/gobject-introspection-*1.0.pc \ + $includeDir/gobject-introspection-1.0 \ + $dataDir/aclocal/introspection.m4 + # devel package packageEntries devel \ $developDir \ @@ -290,13 +319,17 @@ INSTALL() $commandBinDir/gtester-report \ $dataDir/aclocal - # gir_tools package - packageEntries gir_tools \ + # gi package + packageEntries gi \ $commandBinDir/g-ir-annotation-tool \ $commandBinDir/g-ir-compiler \ $commandBinDir/g-ir-generate \ $commandBinDir/g-ir-inspect \ $commandBinDir/g-ir-scanner \ + $libDir/libgirepository-1.0.so* \ + $libDir/girepository-1.0 \ + $dataDir/gir-1.0 \ + $dataDir/gobject-introspection-1.0 \ $manDir \ $prefix/lib/python$pythonVersion }