106 lines
2.8 KiB
Bash
106 lines
2.8 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)
|
|
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'
|
|
)
|
|
md5sums=('00e9b89e043340f688bc93ec03239b57'
|
|
'SKIP'
|
|
'SKIP'
|
|
'SKIP'
|
|
'SKIP'
|
|
'SKIP'
|
|
)
|
|
|
|
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=/
|
|
--mandir=/share/man
|
|
--infodir=/share/info
|
|
--with-bugurl=http://gitlab.com/sulix/main/issues
|
|
--enable-add-ons
|
|
--enable-bind-now
|
|
--enable-lock-elision
|
|
--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
|
|
../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
|
|
pwd
|
|
../configure ${opts[@]} \
|
|
--libdir=/lib \
|
|
--libexecdir=/lib/glibc
|
|
cd ..
|
|
}
|
|
build(){
|
|
bdirs=(glibc-build)
|
|
if use multilib ; then
|
|
bdirs+=(glibc32-build)
|
|
fi
|
|
for bdir in ${bdirs[@]} ; 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 glibc-build ${multilib:+glibc32-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/
|
|
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
|
|
|
|
}
|