Files
haikuports/dev-libs/glib/glib2-2.46.2.recipe

154 lines
5.0 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="http://www.gtk.org/"
SOURCE_URI="http://ftp.gnome.org/pub/gnome/sources/glib/2.46/glib-$portVersion.tar.xz"
CHECKSUM_SHA256="5031722e37036719c1a09163cc6cf7c326e4c4f1f1e074b433c156862bd733db"
LICENSE="GNU LGPL v2"
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"
REVISION="2"
ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
PROVIDES="
glib2$secondaryArchSuffix = $portVersion compat >= 2
cmd:gapplication$secondaryArchSuffix
cmd:gdbus$secondaryArchSuffix
cmd:gdbus_codegen$secondaryArchSuffix
cmd:gio_querymodules$secondaryArchSuffix
cmd:glib_compile_resources$secondaryArchSuffix
cmd:glib_compile_schemas$secondaryArchSuffix
cmd:glib_genmarshal$secondaryArchSuffix
cmd:glib_gettextize$secondaryArchSuffix
cmd:glib_mkenums$secondaryArchSuffix
cmd:gobject_query$secondaryArchSuffix
cmd:gresource$secondaryArchSuffix
cmd:gsettings$secondaryArchSuffix
cmd:gtester$secondaryArchSuffix
cmd:gtester_report$secondaryArchSuffix
lib:libgio_2.0$secondaryArchSuffix = 0.4600.2 compat >= 0
lib:libglib_2.0$secondaryArchSuffix = 0.4600.2 compat >= 0
lib:libgmodule_2.0$secondaryArchSuffix = 0.4600.2 compat >= 0
lib:libgobject_2.0$secondaryArchSuffix = 0.4600.2 compat >= 0
lib:libgthread_2.0$secondaryArchSuffix = 0.4600.2 compat >= 0
"
REQUIRES="
haiku$secondaryArchSuffix
gettext$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libffi$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libiconv$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libffi$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:aclocal
cmd:autoconf
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python
"
PATCHES="glib2-$portVersion.patchset"
SOURCE_DIR="glib-$portVersion"
BUILD()
{
autoreconf -fi
runConfigure ./configure CFLAGS=-D_BSD_SOURCE
# There seem to be a problem with libtool, and without this some libraries
# would not be found during the build.
mkdir -p gobject/.libs gio/.libs
ln -sf ../../glib/.libs gobject/.libs/lib
make $jobArgs
}
INSTALL()
{
make install
# remove libtool library files
rm $libDir/lib*.la
prepareInstalledDevelLibs libgio-2.0 \
libglib-2.0 \
libgmodule-2.0 \
libgobject-2.0 \
libgthread-2.0
fixPkgconfig
# The libtool files reference other libraries using the wrong paths, which
# creates a lot of confusion. Fix them so correct paths are used.
local develPackageName="${portName}_devel-$portFullVersion"
local packageLinksDir=$(dirname $portPackageLinksDir)
local ffiLinksDir="$packageLinksDir/${develPackageName}/devel~libffi$secondaryArchSuffix/$relativeDevelopLibDir"
sed -i -e "s,^\(Libs.private.*\)-L.* \(-l.*\)$,\1-L$ffiLinksDir \2," \
$developLibDir/pkgconfig/gobject-2.0.pc
local zlibLinksDir="$packageLinksDir/${develPackageName}/devel~libz$secondaryArchSuffix/$relativeDevelopLibDir"
sed -i -e "s,^\(Libs.private.*\)-L.* \(-l.*\)$,\1-L$zlibLinksDir \2," \
$developLibDir/pkgconfig/gio-2.0.pc
# move the glibconfig header into devel as well
mv $libDir/glib-2.0 $developLibDir
fixPkgconfig
# devel package
packageEntries devel \
$developDir
}
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
glib2${secondaryArchSuffix}_devel = $portVersion compat >= 0
devel:libgio_2.0$secondaryArchSuffix = 0.4600.2 compat >= 0
devel:libglib_2.0$secondaryArchSuffix = 0.4600.2 compat >= 0
devel:libgmodule_2.0$secondaryArchSuffix = 0.4600.2 compat >= 0
devel:libgobject_2.0$secondaryArchSuffix = 0.4600.2 compat >= 0
devel:libgthread_2.0$secondaryArchSuffix = 0.4600.2 compat >= 0
"
REQUIRES_devel="
glib2$secondaryArchSuffix == $portVersion base
devel:libffi$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"