1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
# $Id: PKGBUILD 116984 2011-03-27 06:35:25Z allan $
# 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=eglibc
pkgver=2.13
pkgrel=1
_glibcdate=20110117
pkgdesc="GNU C Library"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.gnu.org/software/libc"
license=('GPL' 'LGPL')
groups=('base')
depends=('linux-api-headers>=2.6.37' 'tzdata')
makedepends=('gcc>=4.4')
backup=(etc/locale.gen
etc/nscd.conf)
options=('!strip')
install=glibc.install
source=(http://repo.parabolagnulinux.org/other/eglibc-2_13.tar.bz2
http://repo.parabolagnulinux.org/other/eglibc-linuxthreads-2_13.tar.bz2
http://repo.parabolagnulinux.org/other/eglibc-localedef-2_13.tar.bz2
http://repo.parabolagnulinux.org/other/eglibc-ports-2_13.tar.bz2
nscd
locale.gen.txt
locale-gen)
build() {
cd ${srcdir}
ln -s eglibc-2_13 eglibc
cd eglibc
# timezone data is in separate package (tzdata)
sed -i "s/localedata //" Makeconfig
for addon in ports ; do
ln -s ../eglibc-$addon-2_13 $addon
done
install -dm755 ${pkgdir}/etc
touch ${pkgdir}/etc/ld.so.conf
cd ${srcdir}
mkdir build || true
cd build
if [[ ${CARCH} = "mips64el" ]]; then
# mips64el is only supported out of tree.
extra_addons=",ports"
fi
echo "slibdir=/lib" >> configparms
${srcdir}/eglibc/configure --prefix=/usr \
--libdir=/usr/lib --libexecdir=/usr/lib \
--with-headers=/usr/include \
--enable-add-ons=nptl,libidn$extra_addons \
--enable-kernel=2.6.27 \
--with-tls --with-__thread \
--enable-bind-now --without-gd \
--without-cvs --disable-profile \
--disable-multi-arch
make
}
check() {
cd ${srcdir}/build
# some errors are expected - manually check log files
make -k check || true
}
package() {
cd ${srcdir}/build
make install_root=${pkgdir} install
rm ${pkgdir}/etc/ld.so.{cache,conf}
install -dm755 ${pkgdir}/etc/rc.d
install -dm755 ${pkgdir}/usr/sbin
install -dm755 ${pkgdir}/usr/lib/locale
install -m644 ${srcdir}/eglibc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
install -m755 ${srcdir}/nscd ${pkgdir}/etc/rc.d/nscd
install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin
install -m644 ${srcdir}/eglibc/posix/gai.conf ${pkgdir}/etc/gai.conf
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}/eglibc/localedata/SUPPORTED
sed -i 's|\\| |g' ${srcdir}/eglibc/localedata/SUPPORTED
sed -i "s|SUPPORTED-LOCALES=||" ${srcdir}/eglibc/localedata/SUPPORTED
cat ${srcdir}/eglibc/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen
sed -i "s|^|#|g" ${pkgdir}/etc/locale.gen
if [[ ${CARCH} = "x86_64" ]]; then
# fix for the linker
sed -i '/RTLDLIST/s%lib64%lib%' ${pkgdir}/usr/bin/ldd
# Comply with multilib binaries, they look for the linker in /lib64
mkdir ${pkgdir}/lib64
cd ${pkgdir}/lib64
ln -v -s ../lib/ld* .
fi
# 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}
}
md5sums=('b7b17d9c6b5b71b5e5322e04ca63c190'
'483f37cfdd619e81d8ca9e9d713944b5'
'4dadb9203b69a3210d53514bb46f41c3'
'0c5540efc51c0b93996c51b57a8540ae'
'40cd342e21f71f5e49e32622b25acc52'
'a3ac6f318d680347bb6e2805d42b73b2'
'b042647ea7d6f22ad319e12e796bd13e'
'24dfab6fd244f3773523412588ecc52c'
'7d0154b7e17ea218c9fa953599d24cc4'
'b587ee3a70c9b3713099295609afde49'
'07ac979b6ab5eeb778d55f041529d623'
'476e9113489f93b348b21e144b6a8fcf')
md5sums=('0f79580a194657aa74e3331d33a3889e'
'f07ce5e45308fc7e2faaa55f2c766550'
'40b693a9ce8ab0a8837826160b3419c9'
'973e16228492b46bf731ad5ce2e06e9f'
'b587ee3a70c9b3713099295609afde49'
'07ac979b6ab5eeb778d55f041529d623'
'476e9113489f93b348b21e144b6a8fcf')
|