Files
binary-repo/system/base/glibc/ympbuild
T
2022-11-19 11:29:30 +00:00

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
}