summaryrefslogtreecommitdiff
path: root/repo/core/glibc.xibuild
blob: 434cc028ade18b9c067e14dad3554ecd91b6bc93 (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
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
#!/bin/bash

DEPS=(glibc)

SOURCE=https://ftp.gnu.org/gnu/glibc/glibc-2.34.tar.xz
DESC="The main gnu C library providing basic routines and procedures"

build () {
    # patches as recommended by lfs
    sed -e '/NOTIFY_REMOVED)/s/)/ \&\& data.attr != NULL)/' -i sysdeps/unix/sysv/linux/mq_notify.c

    mkdir -v build
    cd build

    # ensure that the ldconfig and sln utilities are installed into /usr/sbin
    echo "rootsbindir=/usr/sbin" > configparms

    ../configure --prefix=/usr \
 --disable-werror \
 --enable-kernel=3.2 \
 --enable-stack-protector=strong \
 --with-headers=/usr/include \
 libc_cv_slibdir=/usr/lib

    make

    # these tests are vital, do not skip
    # make check

}

package () {
    touch /etc/ld.so.conf

    sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile
    make DESTDIR=$PKG_DEST install
    

    # fix hardcoded path to the excutable in ldd script
    sed '/RTLDLIST=/s@/usr@@g' -i $PKG_DEST/usr/bin/ldd

    cp -v ../nscd/nscd.conf $PKG_DEST/etc/nscd.conf
    mkdir -pv $PKG_DEST/var/cache/nscd

    # create locales for the system
    # note, this should be moved to a better place
    mkdir -pv $PKG_DEST/usr/lib/locale
    localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true
    localedef -i cs_CZ -f UTF-8 cs_CZ.UTF-8
    localedef -i de_DE -f ISO-8859-1 de_DE
    localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
    localedef -i de_DE -f UTF-8 de_DE.UTF-8
    localedef -i el_GR -f ISO-8859-7 el_GR
    localedef -i en_GB -f ISO-8859-1 en_GB
    localedef -i en_GB -f UTF-8 en_GB.UTF-8
    localedef -i en_HK -f ISO-8859-1 en_HK
    localedef -i en_PH -f ISO-8859-1 en_PH
    localedef -i en_US -f ISO-8859-1 en_US
    localedef -i en_US -f UTF-8 en_US.UTF-8
    localedef -i es_ES -f ISO-8859-15 es_ES@euro
    localedef -i es_MX -f ISO-8859-1 es_MX
    localedef -i fa_IR -f UTF-8 fa_IR
    localedef -i fr_FR -f ISO-8859-1 fr_FR
    localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
    localedef -i fr_FR -f UTF-8 fr_FR.UTF-8
    localedef -i is_IS -f ISO-8859-1 is_IS
    localedef -i is_IS -f UTF-8 is_IS.UTF-8
    localedef -i it_IT -f ISO-8859-1 it_IT
    localedef -i it_IT -f ISO-8859-15 it_IT@euro
    localedef -i it_IT -f UTF-8 it_IT.UTF-8
    localedef -i ja_JP -f EUC-JP ja_JP
    localedef -i ja_JP -f SHIFT_JIS ja_JP.SIJS 2> /dev/null || true
    localedef -i ja_JP -f UTF-8 ja_JP.UTF-8
    localedef -i nl_NL@euro -f ISO-8859-15 nl_NL@euro
    localedef -i ru_RU -f KOI8-R ru_RU.KOI8-R
    localedef -i ru_RU -f UTF-8 ru_RU.UTF-8
    localedef -i se_NO -f UTF-8 se_NO.UTF-8
    localedef -i ta_IN -f UTF-8 ta_IN.UTF-8
    localedef -i tr_TR -f UTF-8 tr_TR.UTF-8
    localedef -i zh_CN -f GB18030 zh_CN.GB18030
    localedef -i zh_HK -f BIG5-HKSCS zh_HK.BIG5-HKSCS
    localedef -i zh_TW -f UTF-8 zh_TW.UTF-8

    make DESTDIR=$PKG_DEST localedata/install-locales

    cat > $PKG_DEST/etc/nsswitch.conf << "EOF"
# Begin /etc/nsswitch.conf

passwd: files
group: files
shadow: files

hosts: files dns
networks: files

protocols: files
services: files
ethers: files
rpc: files

# End /etc/nsswitch.conf
EOF
    #curl https://data.iana.org/time-zones/releases/tzdata2021e.tar.gz > tzdata2021e.tar.gz
    #tar -xf tzdata2021e.tar.gz
#
    #ZONEINFO=$PKG_DEST/usr/share/zoneinfo
    #mkdir -pv $ZONEINFO/{posix,right}
##
    #for tz in etcetera southamerica northamerica europe africa antarctica  \
              #asia australasia backward; do
        #zic -L /dev/null   -d $ZONEINFO       ${tz}
        #zic -L /dev/null   -d $ZONEINFO/posix ${tz}
        #zic -L leapseconds -d $ZONEINFO/right ${tz}
    #done
#
    #cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO
    #zic -d $ZONEINFO -p America/New_York
    #unset ZONEINFO


    # configure dynamic loader
    cat > $PKG_DEST/etc/ld.so.conf << "EOF"
# Begin /etc/ld.so.conf
/usr/local/lib
/opt/lib
EOF

    cat >> $PKG_DEST/etc/ld.so.conf << "EOF"
# Add an include directory
include /etc/ld.so.conf.d/*.conf

EOF
    mkdir -pv $PKG_DEST/etc/ld.so.conf.d
}