# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
setvar pkgname = 'glib'
setvar pkgver = '2.54.0'
setvar pkgrel = '0'
setvar pkgdesc = ""Common C routines used by Gtk+ and other libs""
setvar url = ""http://www.gtk.org""
setvar arch = ""all""
setvar license = ''GPL''
setvar depends = ''
setvar triggers = ""$pkgname.trigger=/usr/share/glib-2.0/schemas:/usr/lib/gio/modules""
setvar depends_dev = ""perl python2 gettext-dev zlib-dev bzip2-dev libffi-dev
	util-linux-dev""
setvar makedepends = ""$depends_dev pcre-dev""
setvar source = ""http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
	0001-gquark-fix-initialization-with-c-constructors.patch
	""
setvar subpackages = ""$pkgname-dbg $pkgname-doc $pkgname-static $pkgname-dev $pkgname-lang $pkgname-bash-completion:bashcomp:noarch""

setvar _builddir = ""$srcdir"/$pkgname-$pkgver"
proc prepare {
	cd $_builddir
	for i in $source {
		case (i) {
		*.patch { msg $i; patch -p1 -i "$srcdir"/$i || return 1}
		}
	}
	# workaround packaing issue. gtk-doc.make timestamp was newer than
	# Makefile.am, which triggers automake re-run
	touch -r docs/reference/glib/Makefile.am gtk-doc.make
}

proc build {
	cd $_builddir
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--mandir=/usr/share/man \
		--disable-gtk-doc \
		--disable-compile-warnings \
		--disable-selinux \
		--with-pcre=system \
		--with-pic \
		--enable-static \
		|| return 1
	make || return 1
}

proc package {
	cd $_builddir
	make DESTDIR="$pkgdir" install || return 1
	rm -rf "$pkgdir"/usr/lib/charset.alias
}

proc dev {
	default_dev
	mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/share
		find "$pkgdir"/usr/bin ! -name "glib-compile-schemas" -a '(' \
		-name "gdbus-codegen" -o \
		-name "gobject-query" -o \
		-name "gresource" -o \
		-name "gtester*" -o \
		-name "glib-*" ')' \
		-exec mv {} "$subpkgdir"/usr/bin ';'
	mv "$pkgdir"/usr/share/gdb "$pkgdir"/usr/share/glib-2.0 \
		"$subpkgdir"/usr/share
}

proc static {
	setvar pkgdesc = ""glib static libraries""
	setvar depends = ""gettext-static""
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib/
}

proc bashcomp {
	setvar pkgdesc = ""Bash completion for $pkgname""
	setvar depends = ''
	setvar install_if = ""$pkgname=$pkgver-r$pkgrel bash-completion""
	mkdir -p "$subpkgdir"/usr/share
	mv "$pkgdir"/usr/share/bash-completion "$subpkgdir"/usr/share
	test $(ls -A "$pkgdir"/usr/share) || rmdir "$pkgdir"/usr/share
}

setvar sha512sums = ""c2da947beb23ff93df0313613743e5941b0b734d0e9405ccc1e1d88d8f7cfb16e6467d8a540cdff8e497fb854c84743f257e2537a7b765d6593457f98531596f  glib-2.54.0.tar.xz
32e5aca9a315fb985fafa0b4355e4498c1f877fc1f0b58ad4ac261fb9fbced9f026c7756a5f2af7d61ce756b55c8cd02811bb08df397040e93510056f073756b  0001-gquark-fix-initialization-with-c-constructors.patch""