diff options
Diffstat (limited to 'unmaintained/libc6/APKBUILD')
-rw-r--r-- | unmaintained/libc6/APKBUILD | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/unmaintained/libc6/APKBUILD b/unmaintained/libc6/APKBUILD new file mode 100644 index 0000000000..2eb91a2192 --- /dev/null +++ b/unmaintained/libc6/APKBUILD @@ -0,0 +1,117 @@ +# Contributor: William Pitcock <nenolod@dereferenced.org> +# Maintainer: William Pitcock <nenolod@dereferenced.org> +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" |