#!/bin/bash name='glibc' release='4' version='2.39' url='https://ftp.gnu.org/gnu/glibc' description='GNU libc library' email='parduscix@yandex.ru' maintainer='sulincix' license=('GPLv3') arch=(x86_64) dontstrip="31" makedepends=(gawk) source=("https://ftp.gnu.org/gnu/glibc/glibc-${version}.tar.xz" 'ld.conf/ld.so.conf' 'ld.conf/usr-support.conf' 'ld.conf/x86_64-linux-gnu.conf' 'data/glibc.sysconf' 'scripts/locale-gen' 'scripts/revdep-rebuild' 'data/tr_TR' ) md5sums=('be81e87f72b5ea2c0ffe2bedfeb680c6' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' ) uses=(multilib) group=(sys.base) export CFLAGS="-O2 ${debug:+-g} -s -mtune=generic -DTURKMAN" export CXXFLAGS="-O2 ${debug:+-g} -s -mtune=generic -DTURKMAN" cd "$name-$version" setup(){ opts=( --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-bind-now --enable-kernel=6.1 --enable-multi-arch --enable-stack-protector=strong --enable-stackguard-randomization --disable-crypt --disable-profile --disable-werror --enable-static-pie --enable-static-nss --disable-nscd ) if use multilib ; then export CC="gcc -m32" export CXX="g++ -m32" mkdir glibc32-build cd glibc32-build echo "slibdir=/lib32" >> configparms echo "rtlddir=/lib32" >> configparms ../configure ${opts[@]} \ --host=i686-pc-linux-gnu \ --libdir=/lib32 \ --libexecdir=/lib32/glibc cd .. fi export CC="gcc" export CXX="g++" mkdir glibc-build cd glibc-build echo "slibdir=/lib64" >> configparms echo "rtlddir=/lib64" >> configparms ../configure ${opts[@]} \ --host=x86_64-pc-linux-gnu \ --libdir=/lib64 \ --libexecdir=/lib64/glibc cd .. } build(){ for bdir in glibc-build glibc32-build ; do if [[ -d $bdir ]] ; then make -C $bdir all make -C $bdir info fi done } package(){ # create symlink lib64 (gentoo compability) mkdir -p ${DESTDIR}/lib64 ln -s lib64 ${DESTDIR}/lib if use multilib ; then mkdir -p ${DESTDIR}/lib32 ln -s lib32 ${DESTDIR}/libx32 fi for bdir in glibc32-build glibc-build ; do if [[ -d $bdir ]] ; then make -C $bdir install fi done mkdir -p ${DESTDIR}/etc/ld.so.conf.d/ ${DESTDIR}/etc/sysconf.d/ ${DESTDIR}/bin install ../ld.so.conf ${DESTDIR}/etc/ld.so.conf install ../usr-support.conf ${DESTDIR}/etc/ld.so.conf.d/ install ../x86_64-linux-gnu.conf ${DESTDIR}/etc/ld.so.conf.d/ # remove ld.so.cache file (this file must generated by ldconfig command from ymp) rm -f ${DESTDIR}/etc/ld.so.cache # install sysconf trigger install ../glibc.sysconf ${DESTDIR}/etc/sysconf.d/glibc # install extra tools install ../locale-gen ${DESTDIR}/bin/locale-gen install ../revdep-rebuild ${DESTDIR}/bin/revdep-rebuild # replace buggy turkish format with better one install ../tr_TR ${DESTDIR}/usr/share/i18n/locales/tr_TR # remove unused languages for l in ku hy ; do rm -rf ${DESTDIR}/usr/lib/locale/${i}_* rm -rf ${DESTDIR}/usr/share/locale/${i}_* rm -rf ${DESTDIR}/usr/share/i18n/locales/${i}_* done # fix ldd shebang sed -i "s|#!/bin/bash|#!/bin/sh|g" ${DESTDIR}/usr/bin/ldd }