# Contributor: Rasmus Thomsen <oss@cogitri.dev>
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: Carlo Landmeter <clandmeter@gmail.com>
pkgname=gettext
pkgver=0.20.1
pkgrel=2
pkgdesc="GNU locale utilities"
url="https://www.gnu.org/software/gettext/gettext.html"
arch="all"
license="GPL-3.0-or-later AND LGPL-2.1-or-later AND MIT"
# do _not_ add the optional dependencies on libcroco or glib
# they depend on gettext and would introduce cyclic dependencies
makedepends="perl ncurses-dev libxml2-dev libunistring-dev"
checkdepends="coreutils"
source="https://ftp.gnu.org/gnu/gettext/gettext-$pkgver.tar.xz
	skip-tests-musl.patch"
subpackages="$pkgname-dbg $pkgname-doc $pkgname-static $pkgname-dev $pkgname-lang libintl $pkgname-asprintf $pkgname-libs"

# secfixes:
#   0.20.1-r0:
#     - CVE-2018-18751

build() {
	# force using system posix complaint printf
	# the test is broken and fails with ash
	gt_cv_func_printf_posix=yes \
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--enable-threads=posix \
		--disable-java \
		--enable-static
	make
}

check() {
	# test-verify fails if run in parallel
	make -j1 check
}

package() {
	make -j1 DESTDIR="$pkgdir" install
}

static() {
	pkgdesc="libintl static libraries"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib/
}

libintl() {
	pkgdesc="GNU gettext runtime library"
	license="LGPL-2.1-or-later"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libintl.so.* "$subpkgdir"/usr/lib
	chmod +x "$subpkgdir"/usr/lib/libintl.so.*
}

asprintf() {
	pkgdesc="GNU gettext asprintf library"
	license="LGPL-2.1-or-later"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libasprintf.so.* "$subpkgdir"/usr/lib
}

sha512sums="82ffa5a28068272d0587262f8d9269f9629c601da5d122b6645c9c4cf98bfe4149df01bb58522ccf8fe25b931672e18551d7fb34de1cbf6a0463a87f9f8ee221  gettext-0.20.1.tar.xz
9fae1898eaf7a871876d2eaeffdf6ab759455bc8062fc232992526d697752d864b6079eb3c1053aea08d3a41892008b201566564fa62275d0ced5cfa6088a4c0  skip-tests-musl.patch"
