117 lines
3.2 KiB
Bash
117 lines
3.2 KiB
Bash
#!/bin/bash
|
|
name=glibc
|
|
release=1
|
|
version=2.36
|
|
url='https://gitlab.com/sulinos/devel/ymp'
|
|
description='GNU libc library'
|
|
email='parduscix@yandex.ru'
|
|
maintainer='sulincix'
|
|
license=('GPLv3')
|
|
arch=(x86_64)
|
|
dontstrip="31"
|
|
source=('https://ftp.gnu.org/gnu/glibc/glibc-2.36.tar.xz'
|
|
'ld.so.conf'
|
|
'usr-support.conf'
|
|
'x86_64-linux-gnu.conf'
|
|
'glibc.sysconf'
|
|
'reenable_DT_HASH.patch'
|
|
'locale-gen'
|
|
'revdep-rebuild'
|
|
)
|
|
md5sums=('00e9b89e043340f688bc93ec03239b57'
|
|
'SKIP'
|
|
'SKIP'
|
|
'SKIP'
|
|
'SKIP'
|
|
'SKIP'
|
|
'SKIP'
|
|
'SKIP'
|
|
)
|
|
uses=(multilib)
|
|
group=(system.base)
|
|
|
|
export CFLAGS="-O3 ${debug:+-g} -s -mno-tls-direct-seg-refs -mtune=generic -DSULIX"
|
|
export CXXFLAGS="-O3 ${debug:+-g} -s -mno-tls-direct-seg-refs -mtune=generic -DSULIX"
|
|
|
|
cd "$name-$version"
|
|
setup(){
|
|
# Thx archlinux
|
|
patch -Np1 -i "../reenable_DT_HASH.patch"
|
|
opts=(
|
|
--prefix=/usr
|
|
--mandir=/usr/share/man
|
|
--infodir=/usr/share/info
|
|
--with-bugurl=http://gitlab.com/sulix/main/issues
|
|
--enable-add-ons
|
|
--enable-bind-now
|
|
--enable-lock-elision
|
|
--enable-cet
|
|
--enable-multi-arch
|
|
--enable-static-pie
|
|
--enable-stack-protector=all
|
|
--enable-kernel=5.10.0
|
|
--enable-stackguard-randomization
|
|
--without-selinux
|
|
--disable-werror
|
|
|
|
)
|
|
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 -O -j`nproc --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 -j$(nproc --all)
|
|
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 inary)
|
|
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
|
|
|
|
}
|