core/glibc-32/Pkgfile

72 lines
2.0 KiB
Plaintext

# Description: The C library used in the GNU system
# URL: http://www.gnu.org/software/libc/
# Maintainer: CRUX System Team, core-ports at crux dot nu
name=glibc-32
version=2.34
release=2
source=(https://ftp.gnu.org/gnu/glibc/glibc-$version.tar.xz
https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.xz
glibc-c-utf8-locale-1.patch glibc-c-utf8-locale-2.patch
glibc-python3.patch glibc-2.34-upstream-fixes.patch
lib32.conf)
build() {
# install kernel headers
cd linux-5.10
make mrproper
make INSTALL_HDR_PATH=$PKG/usr headers_install
chown root:root $PKG/usr
patch -p1 -d $SRC/glibc-${version:0:4} -i $SRC/glibc-2.34-upstream-fixes.patch
patch -p1 -d $SRC/glibc-${version:0:4} -i $SRC/glibc-python3.patch
patch -p1 -d $SRC/glibc-${version:0:4} -i $SRC/glibc-c-utf8-locale-1.patch
patch -p1 -d $SRC/glibc-${version:0:4} -i $SRC/glibc-c-utf8-locale-2.patch
mkdir $SRC/build
cd $SRC/build
export libc_cv_slibdir=/lib32
export CC="gcc -m32"
export CXX="g++ -m32"
export CFLAGS="$CFLAGS -Wno-error=parentheses"
echo "slibdir=/lib32" >> configparms
echo "rootsbindir=/sbin" >> configparms
echo "rtlddir=/lib32" >> configparms
echo "sbindir=/usr/sbin" >> configparms
../glibc-$version/configure --prefix=/usr \
--libdir=/usr/lib32 \
--libexecdir=/usr/lib32 \
--with-headers=$PKG/usr/include \
--with-pkgversion="$version-$release" \
--with-bugurl='https://crux.nu/bugs' \
--enable-kernel=4.9 \
--enable-add-ons \
--enable-lock-elision \
--enable-bind-now \
--enable-stack-protector=strong \
--enable-stackguard-randomization \
--enable-multi-arch \
--without-gd \
--disable-profile \
--disable-werror \
--host=i686-pc-linux-gnu
make
#make check
make install_root=$PKG install
rm -r $PKG/usr/{bin,sbin,share} $PKG/{etc,sbin} $PKG/var
mv $PKG/usr/include/gnu/stubs-32.h $SRC
rm -r $PKG/usr/include
install -D $SRC/stubs-32.h $PKG/usr/include/gnu/stubs-32.h
install -D $SRC/lib32.conf $PKG/etc/ld.so.conf.d/lib32.conf
install -d $PKG/lib
ln -s /lib32/ld-linux.so.2 $PKG/lib/ld-linux.so.2
}