# Template file for 'glibc32'
pkgname=glibc32
version=2.17
revision=6
distfiles="
 http://xbps.nopcode.org/repos/current/glibc-${version}_${revision}.i686.xbps
 http://xbps.nopcode.org/repos/current/glibc-devel-${version}_${revision}.i686.xbps"
short_desc="The GNU C library (32 bits)"
homepage="http://www.gnu.org/software/libc"
license="GPL-2, LGPL-2.1, BSD"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum="
 066f601c0bbd8d5a68e4635d949b051406140f9be272f1c8d6761d7c6d67339d
 cd6a93e5febebc32a1430863e66dc887fcd7751ccc7877b6e6123571fc7be4b7"
long_desc="
 The GNU C Library is the standard system C library for all GNU systems,
 and is an important part of what makes up a GNU system.  It provides the
 system API for all programs written in C and C-compatible languages such
 as C++ and Objective C; the runtime facilities of other programming
 languages use the C library to access the underlying operating system.

 This package installs the 32 bit libraries for x86_64 systems."

noextract=yes
only_for_archs=x86_64
hostmakedepends="bsdtar"
makedepends="zlib32"

do_install() {
	for f in ${distfiles}; do
		local srcfile="${XBPS_SRCDISTDIR}/$(basename ${f})"
		bsdtar xf ${srcfile} -C ${wrksrc}
	done

	vinstall usr/include/gnu/stubs-32.h 644 usr/include/gnu
	vmkdir usr/lib
	vmkdir usr/lib32/gconv
	install -m644 usr/lib/*.{a,o} ${DESTDIR}/usr/lib32
	install -m755 usr/lib/*.so ${DESTDIR}/usr/lib32
	vcopy "usr/lib/gconv/*" usr/lib32/gconv
	cd ${DESTDIR}/usr/lib && ln -sf ../lib32/ld-linux.so.2 .

	# Add /lib32 and /usr/lib32 into ld.so(8) cache.
	install -d ${DESTDIR}/etc/ld.so.conf.d
	echo "/usr/lib32" > ${DESTDIR}/etc/ld.so.conf.d/glibc32.conf

	chmod 644 ${DESTDIR}/etc/ld.so.conf.d/glibc32.conf && ldconfig

	# Fix some .so files to find stuff in lib32 dirs.
	for f in libc libpthread; do
		sed -i -e "s|/lib/|/lib32/|g" \
			${DESTDIR}/usr/lib32/${f}.so
	done
}

glibc32-devel_package() {
	nostrip=yes
	noverifyrdeps=yes
	depends="glibc-devel>=$version glibc32>=$version"
	short_desc+="${short_desc} -- development files"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib32/*.a"
		vmove "usr/lib32/*.o"
	}
}

glibc32_package() {
	nostrip=yes
	noverifyrdeps=yes
	depends="glibc>=$version"
	pkg_install() {
		vmove etc
		vmove usr
	}
}
