# Description: The C library used in the GNU system
# URL:         http://www.gnu.org/software/libc/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=glibc
version=2.16.0
release=3
source=(http://ftp.gnu.org/gnu/glibc/glibc-$version.tar.xz \
	http://crux.nu/files/distfiles/kernel-headers-3.4.11.tar.xz \
	hosts resolv.conf nsswitch.conf host.conf ld.so.conf \
	$name-resolv_assert.patch \
	$name-segfault_in_strncasecmp.patch \
	$name-strtod_integer_overflow.patch \
        $name-regexp_buffer_overrun.patch)

build() {
	# install kernel headers
	mkdir $PKG/usr/
	cp -r kernel-headers-3.4.11/include $PKG/usr
	chown root:root $PKG/usr

	patch -p1 -d $name-$version -i $SRC/$name-resolv_assert.patch
	patch -p1 -d $name-$version -i $SRC/$name-segfault_in_strncasecmp.patch
	patch -p1 -d $name-$version -i $SRC/$name-strtod_integer_overflow.patch
	patch -p1 -d $name-$version -i $SRC/$name-regexp_buffer_overrun.patch

	mkdir build
	cd build
	../$name-$version/configure --prefix=/usr \
		--libexecdir=/usr/lib \
		--with-headers=$PKG/usr/include \
		--with-tls \
		--enable-kernel=2.6.39 \
		--enable-add-ons \
		--disable-profile \
		--without-gd \
		--enable-obsolete-rpc
	make 
	#make check
	make install_root=$PKG install

	cp $SRC/{hosts,resolv.conf,nsswitch.conf,host.conf,ld.so.conf} $PKG/etc
	ln -sf ../usr/share/zoneinfo/UTC $PKG/etc/localtime
	mkdir -p $PKG/etc/ld.so.conf.d $PKG/usr/lib/locale
	touch $PKG/etc/ld.so.cache

	rm -rf $PKG/usr/share/{info,locale} \
		$PKG/usr/bin/tzselect \
		$PKG/usr/sbin/z{dump,ic}
}
