### this file is sourced not run
PKGVER=2.58.1
PKGBUILD=1
PKGARCH=x86_64

# source: post BLFS 8.3 2018-10-29
TARBALL=glib-$PKGVER.tar.xz
MD5SUM=4fd2ead128a408c89b9153dfdb99f9a5
SRC_URL=http://ftp.gnome.org/pub/gnome/sources/glib/2.58/$TARBALL
BUNDLE=

SLACKREQ='libffi libpcre libattr dbus'
SLACKDESC="glib: glib $PKGVER (GTK low-level library)  
glib:  
glib: The GLib package contains a low-level libraries useful for providing 
glib: data structure handling for C, portability wrappers and interfaces for 
glib: such runtime functionality as an event loop, threads, dynamic loading 
glib: and an object system.  
glib: 
glib: 
glib: 
glib: 
glib:
"

DEBUG= # yes to enable debug

### default pkg_download
### prepare
pkg_prepare() {
	pkg_prepare_default &&
	cd tmp/glib* &&
	
	# fix bug
	patch -Np1 -i ../pkg/user-mountable-detect-bug.patch &&
	# allow bind mounts to show
	patch -Np1 -i ../pkg/allow-bind-mount.patch &&

	# BLFS patch to suppress warnings
	patch -Np1 -i ../pkg/glib-2.56.1-skip_warnings-1.patch &&
	# Show /mnt and work without GVFS
	patch -Np1 -i ../pkg/jemimah-glib-patches.patch
}

### default pkg_package
### build
pkg_build() {
	cd /tmp/glib*
	
	export LANG=en_US.utf8 # this is required by python3, which is used by gtk-doc
	export CFLAGS="$CFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CAST_CHECKS -DNDEBUG"
	CONFFLAGS="$CONFFLAGS --with-pcre=system --enable-gtk-doc --enable-gtk-doc-html
		--disable-libmount" # glib's own parsing code is good. No need libmount.

	# we want -g permanently, -O0 when debugging
	CFLAGS="$CFLAGS -g"
	[ $DEBUG ] && CFLAGS="$CFLAGS -O0"
	
	NOCONFIGURE=yes ./autogen.sh &&
	pkg_build_autoconf && pkg_build_slackdesc &&

	# keep debug symbols in devx
	cd /usr/$LIBDIR &&
	for LIB in \
		libgthread-2.0.so.0.5800.1 \
		libgio-2.0.so.0.5800.1     \
		libglib-2.0.so.0.5800.1    \
		libgobject-2.0.so.0.5800.1 \
		libgmodule-2.0.so.0.5800.1;
	do
		objcopy --only-keep-debug $LIB $LIB.dbg &&
		strip --strip-unneeded $LIB &&
		objcopy --add-gnu-debuglink=$LIB.dbg $LIB || return 1
	done
}


