summaryrefslogtreecommitdiffstats
path: root/abs/core/glibc/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/glibc/PKGBUILD')
-rw-r--r--abs/core/glibc/PKGBUILD100
1 files changed, 100 insertions, 0 deletions
diff --git a/abs/core/glibc/PKGBUILD b/abs/core/glibc/PKGBUILD
new file mode 100644
index 0000000..68df516
--- /dev/null
+++ b/abs/core/glibc/PKGBUILD
@@ -0,0 +1,100 @@
+# $Id: PKGBUILD 2685 2008-06-11 13:30:43Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+pkgname=glibc
+pkgver=2.8
+pkgrel=11
+_glibcdate=20080610
+install=glibc.install
+backup=(etc/locale.gen)
+pkgdesc="GNU C Library"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+url="http://www.gnu.org/software/libc"
+groups=('base')
+depends=('sh' 'kernel-headers>=2.6.25.6' 'tzdata')
+makedepends=('gcc>=4.3.1-1')
+replaces=('glibc-xen')
+source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-2.8_${_glibcdate}.tar.bz2
+ ftp://ftp.archlinux.org/other/glibc/glibc-patches-${pkgver}-2.tar.bz2
+ nscd
+ locale.gen.txt
+ locale-gen)
+md5sums=('63def58972f0e8429247916154c21323'
+ '3ec00d9aa3f2fec046bc3e615dfb723a'
+ 'b587ee3a70c9b3713099295609afde49'
+ '07ac979b6ab5eeb778d55f041529d623'
+ '476e9113489f93b348b21e144b6a8fcf')
+
+build() {
+
+ # for cvs checkout
+# mkdir ${startdir}/src/glibc-${_glibcdate}
+# cd ${startdir}/src/glibc-${_glibcdate}
+# export _TAG=glibc-2_8-branch
+# export 'CVSROOT=:pserver:anoncvs@sources.redhat.com:/cvs/glibc'
+# cvs -z9 co -r $_TAG libc || return 1
+# tar -cvjf glibc-2.8_${_glibcdate}.tar.bz2 libc
+# return 1
+
+ cd ${startdir}/src/libc
+
+ # patch from Debian
+ patch -Np1 -i ${startdir}/src/glibc-patches/glibc-2.5-localedef_segfault-1.patch || return 1 # still needed?
+
+ # Upstream fixes. See sources.redhat.com bugzilla
+ patch -Np1 -i ${startdir}/src/glibc-patches/glibc-2.7-bz4781.patch || return 1
+
+ # Gentoo fixes
+ patch -Np1 -i ${startdir}/src/glibc-patches/glibc-dont-build-timezone.patch || return 1
+
+ install -m755 -d ${startdir}/pkg/etc
+ touch ${startdir}/pkg/etc/ld.so.conf
+
+ mkdir glibc-build
+ cd glibc-build
+
+ if [ "${CARCH}" = "i686" ]; then
+ # Hack to fix NPTL issues with Xen, only required on 32bit platforms
+ export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs"
+ fi
+
+ echo "slibdir=/lib" >> configparms
+
+ ../configure --prefix=/usr \
+ --enable-add-ons=nptl,libidn --without-cvs \
+ --enable-kernel=2.6.16 --disable-profile \
+ --with-headers=/usr/include --libexecdir=/usr/lib \
+ --enable-bind-now --with-tls --with-__thread \
+ --libdir=/usr/lib --without-gd
+
+ make || return 1
+ make install_root=${startdir}/pkg install || return 1
+
+ rm -f ${startdir}/pkg/etc/ld.so.cache ${startdir}/pkg/etc/ld.so.conf ${startdir}/pkg/etc/localtime
+
+ install -m755 -d ${startdir}/pkg/etc/rc.d
+ install -m755 -d ${startdir}/pkg/usr/sbin
+ install -m755 -d ${startdir}/pkg/usr/lib/locale
+ install -m644 ${startdir}/src/libc/nscd/nscd.conf ${startdir}/pkg/etc/nscd.conf
+ install -m755 ${startdir}/src/nscd ${startdir}/pkg/etc/rc.d/nscd
+ install -m755 ${startdir}/src/locale-gen ${startdir}/pkg/usr/sbin
+
+ sed -i -e 's/^\tserver-user/#\tserver-user/' ${startdir}/pkg/etc/nscd.conf || return 1
+
+ # create /etc/locale.gen
+ install -m644 ${startdir}/src/locale.gen.txt ${startdir}/pkg/etc/locale.gen
+ sed -i "s|/| |g" ${startdir}/src/libc/localedata/SUPPORTED
+ sed -i 's|\\| |g' ${startdir}/src/libc/localedata/SUPPORTED
+ sed -i "s|SUPPORTED-LOCALES=||" ${startdir}/src/libc/localedata/SUPPORTED
+ cat ${startdir}/src/libc/localedata/SUPPORTED >> ${startdir}/pkg/etc/locale.gen
+ sed -i "s|^|#|g" ${startdir}/pkg/etc/locale.gen
+
+ if [ "${CARCH}" = "x86_64" ]; then
+ # fix for the linker
+ sed -i '/RTLDLIST/s%/ld-linux.so.2 /lib64%%' ${startdir}/pkg/usr/bin/ldd
+ #Comply with multilib binaries, they look for the linker in /lib64
+ mkdir ${startdir}/pkg/lib64
+ cd ${startdir}/pkg/lib64
+ ln -v -s ../lib/ld* .
+ fi
+}