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/PKGBUILD150
1 files changed, 89 insertions, 61 deletions
diff --git a/abs/core/glibc/PKGBUILD b/abs/core/glibc/PKGBUILD
index e7f866f..673951b 100644
--- a/abs/core/glibc/PKGBUILD
+++ b/abs/core/glibc/PKGBUILD
@@ -1,67 +1,69 @@
-# $Id: PKGBUILD 25809 2009-01-29 17:49:56Z aaron $
+# $Id: PKGBUILD 87193 2010-08-11 00:55:29Z allan $
# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: valgrind requires rebuilt with each new glibc version
pkgname=glibc
-pkgver=2.9
-pkgrel=4
-_glibcdate=20081119
-install=glibc.install
-backup=(etc/locale.gen)
+pkgver=2.12.1
+pkgrel=1
+_glibcdate=20100811
pkgdesc="GNU C Library"
-arch=(i686 x86_64)
-license=('GPL' 'LGPL')
+arch=('i686' 'x86_64')
url="http://www.gnu.org/software/libc"
+license=('GPL' 'LGPL')
groups=('base')
-depends=('kernel-headers>=2.6.27.6' 'tzdata')
-makedepends=('gcc>=4.3.2-2')
+depends=('linux-api-headers>=2.6.34' 'tzdata')
+makedepends=('gcc>=4.4')
replaces=('glibc-xen')
-source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.tar.bz2
- ftp://ftp.archlinux.org/other/glibc/glibc-patches-${pkgver}-2.tar.gz
- nscd
- locale.gen.txt
- locale-gen)
-md5sums=('1f7cc590a7a9bbef8b09fe89af69fb8c'
- '7679e2bcd981847efccb2bad9e57fee3'
+backup=(etc/locale.gen
+ etc/nscd.conf)
+options=('!strip')
+install=glibc.install
+source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.tar.xz
+ glibc-2.10-dont-build-timezone.patch
+ glibc-2.10-bz4781.patch
+ glibc-__i686.patch
+ nscd
+ locale.gen.txt
+ locale-gen)
+md5sums=('3f0d64de5a9fc5614d8acc0f1d5846ed'
+ '4dadb9203b69a3210d53514bb46f41c3'
+ '0c5540efc51c0b93996c51b57a8540ae'
+ '40cd342e21f71f5e49e32622b25acc52'
'b587ee3a70c9b3713099295609afde49'
'07ac979b6ab5eeb778d55f041529d623'
'476e9113489f93b348b21e144b6a8fcf')
-build() {
-
- # for cvs checkout
- mkdir ${srcdir}/glibc-${_glibcdate}
- cd ${srcdir}/glibc-${_glibcdate}
- export _TAG=glibc-2_9-branch
- export 'CVSROOT=:pserver:anoncvs@sources.redhat.com:/cvs/glibc'
-# cvs -z9 co -r $_TAG libc || return 1
-# tar -cvjf ../../glibc-2.9_${_glibcdate}.tar.bz2 libc
-# return 1
-
- cd ${srcdir}/libc
+mksource() {
+ git clone git://sourceware.org/git/glibc.git
+ pushd glibc
+ git checkout -b glibc-2.12-arch origin/release/2.12/master
+ popd
+ tar -cvJf glibc-${pkgver}_${_glibcdate}.tar.xz glibc/*
+}
- # patch from Debian
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-2.5-localedef_segfault-1.patch || return 1 # still needed?
+build() {
+ cd ${srcdir}/glibc
- # Upstream fixes. See sources.redhat.com bugzilla
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-2.7-bz4781.patch || return 1
+ # timezone data is in separate package (tzdata)
+ patch -Np1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch
- # Gentoo fixes
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-dont-build-timezone.patch || return 1
+ # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781
+ patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch
- # fixes taken from FC10 2.9-3 rpm, fixes FS#12215
- # see http://sources.redhat.com/bugzilla/show_bug.cgi?id=7060
- # see https://bugzilla.redhat.com/show_bug.cgi?id=459756
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-nss_dns-gethostbyname4-disable.patch || return 1
- patch -Np1 -i ${srcdir}/glibc-patches/glibc-fixes1.patch || return 1
+ # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411
+ # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html
+ patch -Np1 -i ${srcdir}/glibc-__i686.patch
- install -m755 -d ${pkgdir}/etc
+ install -dm755 ${pkgdir}/etc
touch ${pkgdir}/etc/ld.so.conf
mkdir glibc-build
cd glibc-build
- if [ "${CARCH}" = "i686" ]; then
+ 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
@@ -70,34 +72,41 @@ build() {
../configure --prefix=/usr \
--enable-add-ons=nptl,libidn --without-cvs \
- --enable-kernel=2.6.16 --disable-profile \
+ --enable-kernel=2.6.18 --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=${pkgdir} install || return 1
+ --libdir=/usr/lib --without-gd --disable-multi-arch
+
+ make
+}
- rm -f ${pkgdir}/etc/ld.so.cache ${pkgdir}/etc/ld.so.conf ${pkgdir}/etc/localtime
+package() {
+ cd ${srcdir}/glibc/glibc-build
+ make install_root=${pkgdir} install
- install -m755 -d ${pkgdir}/etc/rc.d
- install -m755 -d ${pkgdir}/usr/sbin
- install -m755 -d ${pkgdir}/usr/lib/locale
- install -m644 ${srcdir}/libc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
+ # provided by kernel-headers
+ rm ${pkgdir}/usr/include/scsi/scsi.h
+
+ rm ${pkgdir}/etc/ld.so.conf
+
+ install -dm755 ${pkgdir}/etc/rc.d
+ install -dm755 ${pkgdir}/usr/sbin
+ install -dm755 ${pkgdir}/usr/lib/locale
+ install -m644 ${srcdir}/glibc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
install -m755 ${srcdir}/nscd ${pkgdir}/etc/rc.d/nscd
install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin
- sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}/etc/nscd.conf || return 1
+ sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}/etc/nscd.conf
# create /etc/locale.gen
install -m644 ${srcdir}/locale.gen.txt ${pkgdir}/etc/locale.gen
- sed -i "s|/| |g" ${srcdir}/libc/localedata/SUPPORTED
- sed -i 's|\\| |g' ${srcdir}/libc/localedata/SUPPORTED
- sed -i "s|SUPPORTED-LOCALES=||" ${srcdir}/libc/localedata/SUPPORTED
- cat ${srcdir}/libc/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen
+ sed -i "s|/| |g" ${srcdir}/glibc/localedata/SUPPORTED
+ sed -i 's|\\| |g' ${srcdir}/glibc/localedata/SUPPORTED
+ sed -i "s|SUPPORTED-LOCALES=||" ${srcdir}/glibc/localedata/SUPPORTED
+ cat ${srcdir}/glibc/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen
sed -i "s|^|#|g" ${pkgdir}/etc/locale.gen
- if [ "${CARCH}" = "x86_64" ]; then
+ if [[ ${CARCH} = "x86_64" ]]; then
# fix for the linker
sed -i '/RTLDLIST/s%/ld-linux.so.2 /lib64%%' ${pkgdir}/usr/bin/ldd
#Comply with multilib binaries, they look for the linker in /lib64
@@ -105,6 +114,25 @@ build() {
cd ${pkgdir}/lib64
ln -v -s ../lib/ld* .
fi
-
- rm -f ${pkgdir}/usr/share/info/dir
+
+ # manually strip files as stripping libpthread-*.so and libthread_db.so
+ # with the default $STRIP_SHARED breaks gdb and stripping ld-*.so breaks
+ # valgrind on x86_64
+
+ cd $pkgdir
+ strip $STRIP_BINARIES sbin/{ldconfig,sln} \
+ usr/bin/{gencat,getconf,getent,iconv,locale} \
+ usr/bin/{localedef,pcprofiledump,rpcgen,sprof} \
+ usr/lib/getconf/* \
+ usr/sbin/{iconvconfig,nscd,rpcinfo}
+ [[ $CARCH = "i686" ]] && strip $STRIP_BINARIES usr/bin/lddlibc4
+
+ strip $STRIP_STATIC usr/lib/*.a \
+ lib/{{ld,libpthread}-${pkgver},libthread_db-1.0}.so
+
+ strip $STRIP_SHARED lib/{libanl,libBrokenLocale,libc,libcidn,libcrypt}-${pkgver}.so \
+ lib/libnss_{compat,dns,files,hesiod,nis,nisplus}-${pkgver}.so \
+ lib/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \
+ lib/{libmemusage,libpcprofile,libSegFault}.so \
+ usr/lib/{pt_chown,gconv/*.so}
}