mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 20:20:06 +02:00
x86_64 is used as a baseline: the "x86_64" entry, whatever status it has, is transformed into "all", and then the other entries in ARCHITECTURES either dropped or rearranged appropriately.
124 lines
3.3 KiB
Bash
124 lines
3.3 KiB
Bash
SUMMARY="Introspection system for GObject-based libraries"
|
|
DESCRIPTION="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."
|
|
HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
|
|
COPYRIGHT="Colin Walters
|
|
Johan Dahlin
|
|
Matthias Clasen (girepository)
|
|
Jürg Billeter (scanner)"
|
|
LICENSE="GNU LGPL v2
|
|
GNU GPL v2
|
|
MIT"
|
|
REVISION="1"
|
|
SOURCE_URI="http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/${portVersion%.*}/gobject-introspection-$portVersion.tar.xz"
|
|
CHECKSUM_SHA256="d229242481a201b84a0c66716de1752bca41db4133672cfcfb37c93eb6e54a27"
|
|
SOURCE_DIR="gobject-introspection-$portVersion"
|
|
PATCHES="gobject_introspection-$portVersion.patchset"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
|
|
commandSuffix=$secondaryArchSuffix
|
|
commandBinDir=$binDir
|
|
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
|
commandSuffix=
|
|
commandBinDir=$prefix/bin
|
|
fi
|
|
|
|
libVersion="1.0.0"
|
|
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
|
|
|
PROVIDES="
|
|
gobject_introspection$secondaryArchSuffix = $portVersion
|
|
cmd:g_ir_annotation_tool$commandSuffix
|
|
cmd:g_ir_compiler$commandSuffix
|
|
cmd:g_ir_generate$commandSuffix
|
|
cmd:g_ir_inspect$commandSuffix
|
|
cmd:g_ir_scanner$commandSuffix
|
|
lib:libgirepository_1.0$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libffi$secondaryArchSuffix
|
|
lib:libgio_2.0$secondaryArchSuffix
|
|
lib:libglib_2.0$secondaryArchSuffix
|
|
lib:libgmodule_2.0$secondaryArchSuffix
|
|
lib:libgobject_2.0$secondaryArchSuffix
|
|
lib:libintl$secondaryArchSuffix
|
|
lib:libxml2$secondaryArchSuffix
|
|
"
|
|
|
|
PROVIDES_devel="
|
|
gobject_introspection${secondaryArchSuffix}_devel = $portVersion
|
|
devel:libgirepository_1.0$secondaryArchSuffix = $libVersionCompat
|
|
"
|
|
REQUIRES_devel="
|
|
gobject_introspection$secondaryArchSuffix == $portVersion base
|
|
devel:libffi$secondaryArchSuffix
|
|
devel:libglib_2.0$secondaryArchSuffix
|
|
devel:libpcre$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
devel:libffi$secondaryArchSuffix
|
|
devel:libgio_2.0$secondaryArchSuffix
|
|
devel:libglib_2.0$secondaryArchSuffix
|
|
devel:libgmodule_2.0$secondaryArchSuffix
|
|
devel:libgobject_2.0$secondaryArchSuffix
|
|
devel:libxml2$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:aclocal
|
|
cmd:autoconf
|
|
cmd:bison
|
|
cmd:flex
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:ld$secondaryArchSuffix
|
|
cmd:libtoolize$secondaryArchSuffix
|
|
cmd:make
|
|
cmd:meson
|
|
cmd:ninja
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
cmd:python3 >= 3.7
|
|
cmd:which
|
|
"
|
|
|
|
defineDebugInfoPackage gobject_introspection$secondaryArchSuffix \
|
|
"$libDir"/libgirepository-1.0.so.$libVersion
|
|
|
|
BUILD()
|
|
{
|
|
meson build --buildtype=release \
|
|
--prefix=$prefix \
|
|
--includedir=$includeDir \
|
|
--datadir=$dataDir \
|
|
--libdir=$libDir \
|
|
--mandir=$manDir
|
|
|
|
ninja -C build $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
ninja -C build install
|
|
|
|
prepareInstalledDevelLib libgirepository-1.0
|
|
fixPkgconfig
|
|
|
|
# devel package
|
|
packageEntries devel \
|
|
"$developDir"
|
|
}
|
|
|
|
TEST()
|
|
{
|
|
# tests fails on Regress-1.0.gir, but as it looks
|
|
# it is known to fail there (doesn't break the tests)
|
|
ninja -C build test
|
|
}
|