# Template file for 'glibc32'
pkgname=glibc32
version=2.11.2
distfiles="
http://xbps.nopcode.org/repos/stable/i686/glibc-${version}.i686.xbps
http://xbps.nopcode.org/repos/stable/i686/glibc-devel-${version}.i686.xbps"
build_style=custom-install
short_desc="The GNU C library (32 bits)"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum="
825e2db530d126c5a4a49a9212f83a86283f9a9db457fed86e92300c47d2c8a5
1f15c9d68947a86454b84cb0b2b6594ec2ab9af22330edbd52b7287050adfa81"
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."

subpackages="${pkgname}-devel"
nostrip=yes
noextract=yes
noverifyrdeps=yes
only_for_archs=x86_64

Add_dependency run glibc
Add_dependency build bsdtar

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

	install -D -m644 ${wrksrc}/usr/include/gnu/stubs-32.h \
		${DESTDIR}/usr/include/gnu/stubs-32.h
	install -D -m644 ${wrksrc}/usr/include/sys/elf.h \
		${DESTDIR}/usr/include/sys/elf.h
	install -D -m644 ${wrksrc}/usr/include/sys/vm86.h \
		${DESTDIR}/usr/include/sys/vm86.h

	install -d ${DESTDIR}/lib32 ${DESTDIR}/usr/lib32/gconv
	cp -a ${wrksrc}/lib/*.so* ${DESTDIR}/lib32
	cp -a ${wrksrc}/usr/lib/gconv/* ${DESTDIR}/usr/lib32/gconv
	install -d ${DESTDIR}/lib
	cd ${DESTDIR}/lib && ln -sf ../lib32/ld-linux.so.2 .
	install -m644 ${wrksrc}/usr/lib/*.{a,o} ${DESTDIR}/usr/lib32
	install -m755 ${wrksrc}/usr/lib/*.so ${DESTDIR}/usr/lib32

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

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

	# 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 || return 1
	done
}
