void-packages/srcpkgs/glibc32/template

65 lines
2.0 KiB
Plaintext

# Template file for 'glibc32'
pkgname=glibc32
version=2.14.1
revision=8
distfiles="
http://xbps.hosting-unlimited.org/binpkgs/i686/glibc-${version}_${revision}.i686.xbps
http://xbps.hosting-unlimited.org/binpkgs/i686/glibc-devel-${version}_${revision}.i686.xbps"
depends="glibc"
makedepends="bsdtar"
short_desc="The GNU C library (32 bits)"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum="
b02efe395f09a93e29c4623aeffedc881e5bd68ec0df3dce55dab6800365948c
068697a14ce6ccc68213180654fe98eeeb4624fca0b79a78e75e13f97dd92e21"
long_desc="
The GNU C Library is the standard system C library for all GNU systems,
and is an important part of what makes up a GNU system. It provides the
system API for all programs written in C and C-compatible languages such
as C++ and Objective C; the runtime facilities of other programming
languages use the C library to access the underlying operating system.
This package installs the 32 bit libraries for x86_64 systems."
subpackages="${pkgname}-devel"
nostrip=yes
noextract=yes
noverifyrdeps=yes
only_for_archs=x86_64
do_install() {
for f in ${distfiles}; do
local srcfile="${XBPS_SRCDISTDIR}/$(basename ${f})"
bsdtar xf ${srcfile} -C ${wrksrc}
done
vinstall usr/include/gnu/stubs-32.h 644 usr/include/gnu
vinstall usr/include/sys/elf.h 644 usr/include/sys
vinstall usr/include/sys/vm86.h 644 usr/include/sys
vmkdir lib
vmkdir lib32
vmkdir usr/lib32/gconv
vcopy "lib/*.so*" lib32
vcopy "usr/lib/gconv/*" usr/lib32/gconv
ln -sf /lib32/ld-linux.so.2 ${DESTDIR}/lib/ld-linux.so.2
install -m644 usr/lib/*.{a,o} ${DESTDIR}/usr/lib32
install -m755 usr/lib/*.so ${DESTDIR}/usr/lib32
# Add /lib32 and /usr/lib32 into ld.so(8) cache.
install -d ${DESTDIR}/etc/ld.so.conf.d
{ echo "/lib32"; echo "/usr/lib32"; } \
> ${DESTDIR}/etc/ld.so.conf.d/glibc32.conf
chmod 644 ${DESTDIR}/etc/ld.so.conf.d/glibc32.conf && ldconfig
# Fix some .so files to find stuff in lib32 dirs.
for f in libc libpthread; do
sed -i -e "s|/lib/|/lib32/|g" \
${DESTDIR}/usr/lib32/${f}.so
done
}