Files
haikuports/dev-libs/glib/glib2-2.78.0.recipe
2023-10-11 05:57:21 +00:00

186 lines
5.7 KiB
Bash

SUMMARY="GLib is a cross-platform software utility library"
DESCRIPTION="GLib is a cross-platform software utility library that began as \
part of the GTK+ project. However, before releasing version 2 of GTK+, the \
project's developers decided to separate non-GUI-specific code from the GTK+ \
platform, thus creating GLib as a separate product. GLib was released as a \
separate library so other developers, those who did not make use of the \
GUI-related portions of GTK+, could make use of the non-GUI portions of the \
library without the overhead of depending on the entire GUI library.
Since GLib is a cross-platform library, applications using it to interface \
with the operating system are usually portable across different operating \
systems without major changes."
HOMEPAGE="https://www.gtk.org/"
COPYRIGHT="1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
1991-2003 Free Software Foundation, Inc.
1997-2006 University of Cambridge.
1998-2001, 2003-2010 Red Hat, Inc.
2007-2009 Nokia Corporation
2008, 2010 Oracle and/or its affiliates, Inc. All rights
2008-2010 Codethink Limited
2008-2010 Collabora Ltd.
1995-2010 Several others"
LICENSE="GNU LGPL v2"
REVISION="1"
SOURCE_URI="https://gitlab.gnome.org/GNOME/glib/-/archive/$portVersion/glib-$portVersion.tar.gz"
CHECKSUM_SHA256="e1e8e200cbae77d79551d758b79e816e60feaf238f2199aec58691f5bdb6c7b4"
SOURCE_DIR="glib-$portVersion"
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"
PATCHES="glib2-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
libVersion="0.7800.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
glib2$secondaryArchSuffix = $portVersion
cmd:gapplication$commandSuffix
cmd:gdbus$commandSuffix
cmd:gdbus_codegen$commandSuffix
cmd:gio$commandSuffix
cmd:gio_launch_desktop$commandSuffix
cmd:gio_querymodules$commandSuffix
cmd:glib_compile_resources$commandSuffix
cmd:glib_compile_schemas$commandSuffix
cmd:gresource$commandSuffix
cmd:gsettings$commandSuffix
lib:libgio_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
"
REQUIRES="
haiku$secondaryArchSuffix
gettext$secondaryArchSuffix
lib:libffi$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libpcre2_8$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
glib2${secondaryArchSuffix}_devel = $portVersion compat >= 0
cmd:glib_genmarshal$commandSuffix
cmd:glib_gettextize$commandSuffix
cmd:glib_mkenums$commandSuffix
cmd:gobject_query$commandSuffix
cmd:gtester$commandSuffix
cmd:gtester_report$commandSuffix
devel:libgio_2.0$secondaryArchSuffix = $libVersionCompat
devel:libglib_2.0$secondaryArchSuffix = $libVersionCompat
devel:libgmodule_2.0$secondaryArchSuffix = $libVersionCompat
devel:libgobject_2.0$secondaryArchSuffix = $libVersionCompat
devel:libgthread_2.0$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
glib2$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
cmd:perl
cmd:python3
devel:libffi$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libpcre2_8$secondaryArchSuffix
devel:libz$secondaryArchSuffix
lib:libffi$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libpcre2_8$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
# devel:libdbus_1$secondaryArchSuffix
# devel:libelf$secondaryArchSuffix
devel:libffi$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libpcre2_8$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:meson
cmd:python3
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage glib2$secondaryArchSuffix \
$commandBinDir/gapplication \
$commandBinDir/gdbus \
$commandBinDir/gio \
$commandBinDir/gio-querymodules \
$commandBinDir/glib-compile-resources \
$commandBinDir/glib-compile-schemas \
$commandBinDir/gresource \
$commandBinDir/gsettings \
$libDir/libgio-2.0.so.$libVersion \
$libDir/libglib-2.0.so.$libVersion \
$libDir/libgmodule-2.0.so.$libVersion \
$libDir/libgobject-2.0.so.$libVersion \
$libDir/libgthread-2.0.so.$libVersion
BUILD()
{
rm -rf subprojects/gvdb
ln -s $sourceDir2 subprojects/gvdb
CFLAGS="-D_BSD_SOURCE" \
LDFLAGS="-lbsd -lgnu -lnetwork" meson build \
-D glib_debug=disabled --buildtype=debugoptimized \
--prefix=$prefix --includedir=$includeDir \
--libdir=$libDir --datadir=$dataDir --bindir=$commandBinDir \
--localedir=$dataDir/locale
ninja $jobArgs -C build
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs libgio-2.0 \
libglib-2.0 \
libgmodule-2.0 \
libgobject-2.0 \
libgthread-2.0
# move the glibconfig header into devel as well
mv $libDir/glib-2.0 $developLibDir
fixPkgconfig
# devel package
packageEntries devel \
$developDir \
$commandBinDir/glib-genmarshal \
$commandBinDir/glib-gettextize \
$commandBinDir/glib-mkenums \
$commandBinDir/gobject-query \
$commandBinDir/gtester \
$commandBinDir/gtester-report
rm -rf $prefix/libexec
}
TEST()
{
meson test -C build
}