summaryrefslogtreecommitdiffstats
path: root/base/glibc/Pkgfile
blob: 4de3c040b0f6db5648e968d20d7d8428f9470ae7 (plain)
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
# Description: La librairie C utilisée dans le système GNU
# URL: http://www.gnu.org/software/libc/
# Maintainer: NuTyX core team
# Packager:thierryn1 at hispeed dot ch

name=glibc
version=2.11.2
release=1
kernelversion=2.6.34
source=( http://ftp.gnu.org/gnu/glibc/$name-$version.tar.bz2 \
	http://nutyx.meticul.eu/files/patchs/$name/gcc-4.5.0-glibc-01.patch \
	http://www.linuxfromscratch.org/patches/lfs/development/glibc-2.11.2-gcc_fix-1.patch \
	http://www.kernel.org/pub/linux/kernel/v2.6/linux-${kernelversion}.tar.bz2 \
        http://nutyx.meticul.eu/files/patchs/$name/{nsswitch.conf,ld.so.conf,SUPPORTED}) 


build() {
        # install build kernel headers
        mkdir $PKG/usr/
        cd linux-$kernelversion
        sed -i '/scsi/d' include/Kbuild        
        make mrproper
        make headers_check
        make INSTALL_HDR_PATH=$PKG/usr headers_install
        cd ..
        # install glibc
        cd $name-$version
	# patch -Np1 -i ../gcc-4.5.0-glibc-01.patch
        DL=$(readelf -l /bin/sh | sed -n 's@.*interpret.*/tools\(.*\)]$@\1@p')
sed -i "s|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=$DL -o|" \
        scripts/test-installation.pl
unset DL

sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in
patch -Np1 -i ../glibc-2.11.2-gcc_fix-1.patch
# sed -i s/utf8/UTF-8/ libio/tst-fgetwc.c
# sed -i '/tst-fgetws-ENV/ a\
# tst-fgetwc-ENV = LOCPATH=$(common-objpfx)localedata' libio/Makefile

# sed -i -e 's/FUTEX_WAIT\( | FUTEX_CLOCK_REALTIME, reg\)/FUTEX_WAIT_BITSET\1/' \
#         nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S

	mv ../SUPPORTED localedata/

	mkdir -v ../glibc-build
        cd ../glibc-build
case `uname -m` in
  i?86) echo "CFLAGS += -march=i486 -mtune=native -O3 -pipe" > configparms ;;
esac

        ../$name-$version/configure --prefix=/usr \
                --with-headers=$PKG/usr/include \
		--disable-profile \
                --enable-add-ons \
                --mandir=/usr/share/man \
                --infodir=/usr/share/info \
		--enable-kernel=2.6.18 \
                --libexecdir=/usr/lib/glibc
	make
	make install_root=$PKG install
        make install_root=$PKG localedata/install-locales
        cp ../{nsswitch.conf,ld.so.conf} $PKG/etc
	if [ -f $PKG/usr/share/info/dir ]; then
		rm $PKG/usr/share/info/dir
	fi
        for i in drm.h drm_sarea.h i915_drm.h \
	mga_drm.h r128_drm.h radeon_drm.h savage_drm.h \
        sis_drm.h via_drm.h drm_mode.h nouveau_drm.h
                do rm $PKG/usr/include/drm/$i
        done
}