gcc-multilib: update for the new 32bit world order and remove obsolete templates.

This commit is contained in:
Juan RP 2014-03-09 13:51:56 +01:00
parent 23843700a6
commit 1c7610ca36
17 changed files with 28 additions and 297 deletions

View File

@ -1,8 +1,11 @@
# Template build file for 'gcc-multilib'
pkgname=gcc-multilib
only_for_archs="x86_64"
_triplet="x86_64-unknown-linux-gnu"
_majorver=4.7
pkgname=gcc-multilib
version=${_majorver}.3
revision=7
revision=8
wrksrc="gcc-${version}"
short_desc="The GNU C Compiler (multilib files)"
maintainer="Juan RP <xtraeme@gmail.com>"
@ -11,17 +14,10 @@ license="GFDL-1.2, GPL-3, LGPL-2.1"
distfiles="http://ftp.gnu.org/pub/gnu/gcc/gcc-$version/gcc-$version.tar.bz2"
checksum=2f7c37eb4fc14422ff2358a9ef59c974a75ab41204ef0e49fc34ab1d8981a9c3
only_for_archs="x86_64"
hostmakedepends="perl flex zip unzip"
makedepends="zlib-devel libmpc-devel>=1.0.1_2 ppl-devel>=1.0 cloog-devel isl-devel
libfl-devel glibc32-devel"
case "$XBPS_TARGET_MACHINE" in
i?86) _triplet="${XBPS_TARGET_MACHINE}-pc-linux-gnu";;
x86_64) _triplet="${XBPS_MACHINE}-unknown-linux-gnu";;
armv6l) _triplet="arm-linux-gnueabihf";;
esac
makedepends="zlib-devel libmpc-devel>=1.0.1_2 ppl-devel>=1.0 cloog-devel isl-devel libfl-devel glibc-devel-32bit"
depends="gcc>=${_majorver} libssp-32bit>=${_majorver} libgcc-32bit>=${_majorver}
libgomp-32bit>=${_majorver} libitm-32bit>=${_majorver} zlib-32bit glibc-devel-32bit"
do_configure() {
# As specified in the LFS book, disable installing libiberty.
@ -46,172 +42,42 @@ do_build() {
}
do_install() {
# Install to a tempdir and then only copy relevant files.
if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
vmkdir usr/lib
cd ${DESTDIR}/usr
ln -sf lib lib64
fi
cd ${wrksrc}
make DESTDIR=${DESTDIR} install
make DESTDIR=${wrksrc}/${pkgname}-build install
# Make version a symlink of major version to make all versions
# from the same series work automagically.
mv ${DESTDIR}/usr/lib/gcc/${_triplet}/${version} \
${DESTDIR}/usr/lib/gcc/${_triplet}/${_majorver}
cd ${DESTDIR}/usr/lib/gcc/${_triplet}
ln -sf ${_majorver} ${version}
vmkdir usr/include/c++/${_majorver}/${_triplet}
vmkdir usr/lib/gcc/${_triplet}/${_majorver}
# Ditto for c++ headers.
mv ${DESTDIR}/usr/include/c++/${version} \
${DESTDIR}/usr/include/c++/${_majorver}
cd ${DESTDIR}/usr/include/c++
ln -sf ${_majorver} ${version}
ln -s ${_majorver} ${DESTDIR}/usr/include/c++/${version}
ln -s ${_majorver} ${DESTDIR}/usr/lib/gcc/${_triplet}/${version}
cp -a ${wrksrc}/${pkgname}-build/usr/lib/gcc/${_triplet}/${version}/32 \
${DESTDIR}/usr/lib/gcc/${_triplet}/${_majorver}/
cp -a ${wrksrc}/${pkgname}-build/usr/include/c++/${version}/${_triplet}/32 \
${DESTDIR}/usr/include/c++/${_majorver}/${_triplet}
vinstall ${wrksrc}/host-${_triplet}/gcc/specs 644 usr/lib/gcc/${_triplet}/${_majorver}
rm -f ${DESTDIR}/usr/lib64
# Remove libffi stuff.
rm -f ${DESTDIR}/usr/lib/libffi*
rm -f ${DESTDIR}/usr/share/man/man3/ffi*
if [ -d ${DESTDIR}/usr/lib32 ]; then
rm -f ${DESTDIR}/usr/lib32/libffi*
rm -f ${DESTDIR}/usr/lib32/libgfortran*
rm -f ${DESTDIR}/usr/lib32/libgo.{a,so*}
rm -f ${DESTDIR}/usr/lib32/libgobegin.a
rm -f ${DESTDIR}/usr/lib32/libquadmath*
rm -rf ${DESTDIR}/usr/lib32/go
fi
# Remove all python scripts in libdir.
rm -f ${DESTDIR}/usr/lib/*.py
# Remove more python stuff.
if [ -d ${DESTDIR}/usr/share/gcc-${version}/python ]; then
rm -rf ${DESTDIR}/usr/share/gcc-${version}/python
fi
}
gcc-c++-multilib_package() {
depends="gcc-c++>=${_majorver} gcc-multilib>=${_majorver} libstdc++32-devel>=${_majorver}"
short_desc="GCC C++ compiler (multilib files)"
noverifyrdeps=yes
pkg_install() {
vmkdir usr/lib/gcc/${_triplet}/${_majorver}/32
mv ${DESTDIR}/usr/lib32/libstdc++.a \
${PKGDESTDIR}/usr/lib/gcc/${_triplet}/${_majorver}/32
mv ${DESTDIR}/usr/lib32/libsupc++.a \
${PKGDESTDIR}/usr/lib/gcc/${_triplet}/${_majorver}/32
}
}
gcc-multilib_package() {
depends="gcc>=${_majorver} libgcc32>=${_majorver} libgomp32>=${_majorver} libitm32>=${_majorver} zlib32 glibc32-devel"
noverifyrdeps=yes
pkg_install() {
vmove usr/lib/gcc/${_triplet}/${_majorver}/32
vmove "usr/lib32/libssp*.a"
vinstall ${wrksrc}/host-${_triplet}/gcc/specs 644 usr/lib/gcc/${_triplet}/${_majorver}
}
depends="gcc-c++>=${_majorver} gcc-multilib>=${_majorver} libstdc++-devel-32bit>=${_majorver}"
short_desc="GCC C++ compiler (multilib files)"
pkg_install() {
vmove usr/include/c++
}
}
gcc-objc-multilib_package() {
depends="gcc-multilib>=${_majorver} gcc-objc>=${_majorver} libobjc32>=${_majorver}"
short_desc="The GNU Objective-C compiler (multilib files)"
noverifyrdeps=yes
pkg_install() {
vmkdir usr/lib/gcc/${_triplet}/${_majorver}/32
mv ${DESTDIR}/usr/lib32/libobjc*.a \
${PKGDESTDIR}/usr/lib/gcc/${_triplet}/${_majorver}/32
}
}
libgcc32_package() {
short_desc="GCC library (32bit)"
noverifyrdeps=yes
pkg_install() {
vmove "usr/lib32/libgcc_s.so*"
}
}
libgcj32_package() {
short_desc="GCC Java library (32bit)"
noverifyrdeps=yes
pkg_install() {
vmove "usr/lib32/libgcj*.so*"
vmove "usr/lib32/libgij.so*"
vmove usr/lib32/gcj-${version}-13
vmove usr/lib32/logging.properties
vmove usr/lib32/security/classpath.security
}
}
libgomp32_package() {
depends="libgcc32 glibc32"
short_desc="GCC OpenMP v3.0 library (32bit)"
noverifyrdeps=yes
pkg_install() {
vmove "usr/lib32/libgomp.*"
}
}
libitm32_package() {
depends="libgcc32"
short_desc="GCC Transactional Memory library (32bit)"
noverifyrdeps=yes
pkg_install() {
vmove "usr/lib32/libitm*"
}
}
libmudflap32-devel_package() {
depends="gcc-multilib glibc32-devel libmudflap32"
short_desc="GCC mudflap libraries (32bit) - development files"
pkg_install() {
vmove "usr/lib32/libmudflap*.a"
}
}
libmudflap32_package() {
depends="gcc-multilib glibc32"
short_desc="GCC mudflap libraries (32bit)"
noverifyrdeps=yes
pkg_install() {
vmove "usr/lib32/libmudflap*.so*"
}
}
libobjc32_package() {
depends="libgcc32 glibc32"
short_desc="GCC Objective-C library (32bit)"
noverifyrdeps=yes
pkg_install() {
vmove "usr/lib32/libobjc.so*"
}
}
libssp32_package() {
depends="glibc32"
short_desc="GCC SSP library (32bit)"
noverifyrdeps=yes
pkg_install() {
vmove "usr/lib32/libssp.so*"
}
}
libstdc++32-devel_package() {
depends="libstdc++-devel libstdc++32"
short_desc="GCC Standard C++ Library (32bit) - development files"
noverifyrdeps=yes
pkg_install() {
vmove usr/include/c++/${_majorver}/${_triplet}/32
}
}
libstdc++32_package() {
depends="libgcc32 glibc32 libstdc++"
short_desc="GCC Standard C++ Library (32bit)"
noverifyrdeps=yes
pkg_install() {
vmove "usr/lib32/libstdc++.so*"
}
depends="gcc-multilib>=${_majorver} gcc-objc>=${_majorver} libobjc-32bit>=${_majorver}"
short_desc="The GNU Objective-C compiler (multilib files)"
}

View File

@ -1 +0,0 @@
glibc32

View File

@ -1,8 +0,0 @@
#
# Update ld.so(8) cache for lib32 shared libraries.
#
case "${ACTION}" in
post)
ldconfig -r .
;;
esac

View File

@ -1,8 +0,0 @@
#
# Update ld.so(8) cache for lib32 shared libraries.
#
case "${ACTION}" in
post)
ldconfig -r .
;;
esac

View File

@ -1,63 +0,0 @@
# Template file for 'glibc32'
pkgname=glibc32
version=2.19
revision=1
distfiles="
http://repo.voidlinux.eu/current/glibc-${version}_${revision}.i686.xbps
http://repo.voidlinux.eu/current//glibc-devel-${version}_${revision}.i686.xbps"
short_desc="The GNU C library (32 bits)"
homepage="http://www.gnu.org/software/libc"
license="GPL-2, LGPL-2.1, BSD"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum="
7da0f904fa49516962ee0f7f2989614dcfea7ee85799abbae27691edff49c0ca
38e99837ee26bf0e7f95913cd64f3dd3e44c760ed83c727bf9bed322f54e1536"
only_for_archs=x86_64
nostrip=yes
noverifyrdeps=yes
create_wrksrc=yes
depends="glibc>=$version"
do_extract() {
:
}
do_install() {
for f in ${distfiles}; do
local srcfile="${XBPS_SRCDISTDIR}/$(basename ${f})"
tar xf ${srcfile} -C ${wrksrc}
done
vinstall usr/include/gnu/stubs-32.h 644 usr/include/gnu
vmkdir usr/lib
vmkdir usr/lib32/gconv
install -m644 usr/lib/*.{a,o} ${DESTDIR}/usr/lib32
install -m755 usr/lib/*.so ${DESTDIR}/usr/lib32
vcopy "usr/lib/gconv/*" usr/lib32/gconv
cd ${DESTDIR}/usr/lib && ln -sf ../lib32/ld-linux.so.2 .
# Add /lib32 and /usr/lib32 into ld.so(8) cache.
install -d ${DESTDIR}/etc/ld.so.conf.d
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
}
glibc32-devel_package() {
nostrip=yes
noverifyrdeps=yes
depends="glibc-devel>=$version glibc32>=$version"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove "usr/lib32/*.a"
vmove "usr/lib32/*.o"
}
}

View File

@ -1 +0,0 @@
gcc-multilib

View File

@ -1 +0,0 @@
gcc-multilib

View File

@ -1 +0,0 @@
gcc-multilib

View File

@ -1 +0,0 @@
gcc-multilib

View File

@ -1 +0,0 @@
gcc-multilib

View File

@ -1 +0,0 @@
gcc-multilib

View File

@ -1 +0,0 @@
gcc-multilib

View File

@ -1 +0,0 @@
gcc-multilib

View File

@ -1 +0,0 @@
gcc-multilib

View File

@ -1 +0,0 @@
gcc-multilib

View File

@ -1 +0,0 @@
zlib32

View File

@ -1,44 +0,0 @@
# Template file for 'zlib32'
pkgname=zlib32
version=1.2.8
revision=3
distfiles="
http://repo.voidlinux.eu/current/zlib-${version}_${revision}.i686.xbps
http://repo.voidlinux.eu/current/zlib-devel-${version}_${revision}.i686.xbps"
short_desc="A compression/decompression Library (32 bits)"
homepage="http://www.zlib.net"
license="zlib"
maintainer="Juan RP <xtraeme@gmail.com>"
checksum="
aa11ecab97f5feb0585c5c50abb9acd7c432f6592246f6edc80fa41fa68bc6a8
4fde2eb758f5b32dfce8eb25fd50f6ea7ad5c995511f247fc0c149878299749f"
only_for_archs=x86_64
nostrip=yes
noverifyrdeps=yes
create_wrksrc=yes
depends="glibc32"
do_extract() {
:
}
do_install() {
for f in ${distfiles}; do
local srcfile="${XBPS_SRCDISTDIR}/$(basename ${f})"
tar xf ${srcfile} -C ${wrksrc}
done
vmkdir usr/lib32
vcopy "usr/lib/*.a" usr/lib32
vcopy "usr/lib/*.so*" usr/lib32
}
zlib32-devel_package() {
depends="glibc32-devel zlib32>=${version}"
nostrip=yes
short_desc+=" - development files"
pkg_install() {
vmove usr/lib32/libz.a
vmove usr/lib32/libz.so
}
}