# Contributor: William Pitcock # Maintainer: William Pitcock pkgname=libc6 pkgver=2.14 pkgrel=0 svnrev=14663 pkgdesc="Embedded GNU C Library" url="http://eglibc.org/" arch="" license="LGPL" depends= depends_dev="linux-headers>=2.6.18" provides="libiconv" makedepends="$depends_dev" install="" subpackages="$pkgname-dev $pkgname-doc gconv-modules:gconv locales nscd" options="!strip" source="http://dev.alpinelinux.org/~nenolod/eglibc-${pkgver}.r${svnrev}.tar.gz glibc-2.12-hardened-pie.patch glibc-2.10-hardened-configure-picdefault.patch glibc-2.10-hardened-inittls-nosysenter.patch chk_fail.c stack_chk_fail.c nscd.initd" _srcdir="$srcdir"/eglibc-$pkgver _builddir="$srcdir"/eglibc-build prepare() { local i cd "$_srcdir" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done echo "slibdir=/lib" >> configparms cp "$srcdir"/chk_fail.c "$_srcdir"/debug/chk_fail.c cp "$srcdir"/stack_chk_fail.c "$_srcdir"/debug/stack_chk_fail.c mkdir "$_builddir" } build() { cd "$_builddir" export CFLAGS="$CFLAGS -fno-stack-protector" "$_srcdir"/configure --prefix=/usr \ --sysconfdir=/etc \ --libdir=/usr/lib \ --libexecdir=/usr/lib \ --with-headers=/usr/include \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ --enable-kernel=2.6.18 \ --enable-add-ons=nptl,libidn \ --disable-profile \ --enable-bind-now \ --with-tls \ --with-__thread \ --without-zoneinfo \ --without-cvs \ --without-gd \ --with-pkgversion="Alpine EGLIBC ${pkgver}-r${pkgrel} [svn r${svnrev}]" \ || return 1 make || return 1 } package() { cd "$_builddir" make install_root="$pkgdir" install || return 1 } gconv() { pkgdesc="GNU iconv character modules" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/iconv "$subpkgdir"/usr/lib } locales() { pkgdesc="Common files for locale support" mkdir -p "$subpkgdir"/usr/share mv "$pkgdir"/usr/share/* "$subpkgdir"/usr/share } nscd() { pkgdesc="Cache daemon for NIS/DNS" mkdir -p "$subpkgdir"/var/db/nscd mkdir -p "$subpkgdir"/var/run/nscd install -Dm 755 "$srcdir"/nscd.initd "$subpkgdir"/etc/init.d/nscd install -Dm 644 "$srcdir"/libc/nscd/nscd.conf "$subpkgdir"/etc/nscd.conf mkdir -p "$subpkgdir"/usr/sbin mv "$pkgdir"/usr/sbin/nscd "$subpkgdir"/usr/sbin } md5sums="c6de1455fcef3487ee42c14349a72cf4 eglibc-2.14.r14663.tar.gz 03ffc414f8eb9f1fcb93325008f5ecd7 glibc-2.12-hardened-pie.patch 8bca42eb8f6d117107ab8e356566b805 glibc-2.10-hardened-configure-picdefault.patch d3b50eec50099791bf2f0c10b605ff7c glibc-2.10-hardened-inittls-nosysenter.patch 1b31d2c7a39298da10e3840076514823 chk_fail.c 6a6b9992c76a9bece219eb00a16d7549 stack_chk_fail.c ff0b0069eeb662145d287d7f98c79447 nscd.initd"