summaryrefslogtreecommitdiff
path: root/repo/core/glibc.xibuild
diff options
context:
space:
mode:
Diffstat (limited to 'repo/core/glibc.xibuild')
-rw-r--r--repo/core/glibc.xibuild79
1 files changed, 79 insertions, 0 deletions
diff --git a/repo/core/glibc.xibuild b/repo/core/glibc.xibuild
new file mode 100644
index 0000000..cc943de
--- /dev/null
+++ b/repo/core/glibc.xibuild
@@ -0,0 +1,79 @@
+#!/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
+ make check
+
+ 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
+}
+
+package () {
+ 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
+
+ wget https://mirrors.slackware.com/slackware/slackware64-current/source/a/glibc-zoneinfo/tzdata2021a.tar.gz
+
+ tar -xf tzdata2021a.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 the dynamic loader
+
+ cat > $PKG_DEST/etc/ld.so.conf << "EOF"
+# Begin /etc/ld.so.conf
+/usr/local/lib
+/opt/lib
+EOF
+}
+