void-packages/srcpkgs/gcc/template
Érico Rolim 57c99a285c libtool: revbump for the gcc update.
libtool hardcodes some internal gcc paths, which include the GCC version
information. Some applications can fail to build if these paths are
used. Revbumping libtool is enough for the recorded paths to be updated.

A proper solution is importing the fixes Debian applies:
ef64614b54/debian/rules (L115)

Also add comment to gcc template about the requirement.
2021-02-09 21:48:28 -03:00

725 lines
20 KiB
Bash

# Template file for 'gcc'
# Revbump libtool when updating gcc, since it hardcodes some internal compiler paths
# which use the version number.
_majorver=10
_minorver=${_majorver}.2
_patchver=${_minorver}.1
_gmp_version=6.2.0
_mpfr_version=4.1.0
_mpc_version=1.1.0
_isl_version=0.21
pkgname=gcc
# we are using a 10-stable git snapshot alpine is using in order
# to get regression fixes not yet incorporate into a stable release
# it should be possible to switch back to stable with 10.3 or 11
version=${_patchver}pre1
wrksrc=gcc-${version/pre/_pre}
revision=2
short_desc="GNU Compiler Collection"
maintainer="Enno Boland <gottox@voidlinux.org>"
homepage="http://gcc.gnu.org"
license="GFDL-1.2-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
# *-musl builders have issues fetching https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
distfiles="
https://dev.alpinelinux.org/~nenolod/gcc-${version/pre/_pre}.tar.xz
https://gmplib.org/download/gmp/gmp-${_gmp_version}.tar.xz
${GNU_SITE}/mpfr/mpfr-${_mpfr_version}.tar.xz
${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz
http://isl.gforge.inria.fr/isl-${_isl_version}.tar.bz2"
checksum="772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
258e6cd51b3fbdfc185c716d55f82c08aff57df0c6fbd143cf6ed561267a1526
0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f
6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
d18ca11f8ad1a39ab6d03d3dcb3365ab416720fcb65b42d69f34f51bf0a0e859"
nopie=yes
lib32disabled=yes
bootstrap=yes
replaces="gcc-gcj<7.2.0 gcc-gcj-jdk-compat<7.2.0 libmpx>=0 libmpx-devel>=0"
_have_gccgo=yes
# MIPS is untested and does not have go in crosstoolchains
# 32-bit PowerPC seems weirdly broken since the 10.x release
# 32-bit little endian PowerPC has no support at all (no GOARCH)
case "$XBPS_TARGET_MACHINE" in
ppc64*) ;;
mips*-musl|ppc*) _have_gccgo=no ;;
esac
if [ "$CHROOT_READY" ]; then
hostmakedepends="tar texinfo perl flex"
else
_have_gccgo=no
fi
makedepends="zlib-devel"
depends="binutils libgcc-devel-${version}_${revision}
libstdc++-devel-${version}_${revision} libssp-devel-${version}_${revision}"
checkdepends="dejagnu"
subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel"
subpackages+=" libssp libssp-devel"
build_options="ada gnatboot"
build_options_default="ada"
desc_option_ada="Enable Ada build"
desc_option_gnatboot="Enable Ada bootstrap using adacore.com binaries"
if [ "$build_option_gnatboot" ]; then
case "$XBPS_TARGET_MACHINE" in
x86_64)
_gnat_tarball="gnat-gpl-2017-x86_64-linux-bin.tar.gz"
distfiles+=" http://mirrors.cdn.adacore.com/art/591c6d80c7a447af2deed1d7>$_gnat_tarball"
checksum+=" b942bcac20dea39748b39f8b624d9619f60a8dee2e8195dbe3829c835b0956e6"
build_options_default="gnatboot"
;;
i686)
_gnat_tarball="gnat-gpl-2014-x86-linux-bin.tar.gz"
distfiles+=" http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248>$_gnat_tarball"
checksum+=" 3b693510f5d22a240abb3034934c1adbd80ccd6e4f61a4f491cc408fdfd9c042"
build_options_default="gnatboot"
;;
esac
fi
if [ "$CHROOT_READY" ]; then
subpackages+=" gcc-fortran libgfortran-devel libgfortran"
subpackages+=" gcc-objc gcc-objc++ libobjc-devel libobjc"
fi
if [ "$_have_gccgo" = "yes" ]; then
subpackages+=" gcc-go gcc-go-tools libgo-devel libgo"
# we need this for gcc-go on musl
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
makedepends+=" libucontext-devel"
fi
fi
subpackages+=" libstdc++-devel libstdc++ libgcc-devel"
if [ "$build_option_gnatboot" -o "$build_option_ada" ]; then
subpackages+=" gcc-ada libada-devel libada"
fi
case "$XBPS_TARGET_MACHINE" in
i686) _triplet="i686-pc-linux-gnu";;
i686-musl) _triplet="i686-linux-musl";;
x86_64) _triplet="x86_64-unknown-linux-gnu";;
x86_64-musl) _triplet="x86_64-linux-musl";;
armv5tel) _triplet="arm-linux-gnueabi";;
armv5tel-musl) _triplet="arm-linux-musleabi";;
armv6l) _triplet="arm-linux-gnueabihf";;
armv7l) _triplet="armv7l-linux-gnueabihf";;
armv6l-musl) _triplet="arm-linux-musleabihf";;
armv7l-musl) _triplet="armv7l-linux-musleabihf";;
aarch64) _triplet="aarch64-linux-gnu";;
aarch64-musl) _triplet="aarch64-linux-musl";;
ppc) _triplet="powerpc-linux-gnu";;
ppc-musl) _triplet="powerpc-linux-musl";;
ppcle) _triplet="powerpcle-linux-gnu";;
ppcle-musl) _triplet="powerpcle-linux-musl";;
ppc64le) _triplet="powerpc64le-linux-gnu";;
ppc64le-musl) _triplet="powerpc64le-linux-musl";;
ppc64) _triplet="powerpc64-linux-gnu";;
ppc64-musl) _triplet="powerpc64-linux-musl";;
mips-musl) _triplet="mips-linux-musl";;
mipshf-musl) _triplet="mips-linux-muslhf";;
mipsel-musl) _triplet="mipsel-linux-musl";;
mipselhf-musl) _triplet="mipsel-linux-muslhf";;
esac
case "$XBPS_TARGET_MACHINE" in
*-musl) depends+=" musl-devel";;
*) depends+=" glibc-devel"
subpackages+=" libsanitizer libsanitizer-devel"
;;
esac
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*)
subpackages+=" libquadmath libquadmath-devel"
subpackages+=" libvtv libvtv-devel"
;;
ppc64le)
subpackages+=" libquadmath libquadmath-devel"
;;
esac
case "$XBPS_TARGET_MACHINE" in
mips*) ;;
x86_64*|i686) subpackages+=" libitm libitm-devel";;
*) subpackages+=" libitm libitm-devel";;
esac
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" cross-${_triplet}"
if [ "$build_option_ada" ]; then
hostmakedepends+=" gcc-ada"
fi
fi
post_extract() {
mkdir -p ${wrksrc}/{gmp,mpfr,mpc,isl}
cp -ar ${XBPS_BUILDDIR}/gmp-${_gmp_version}/* ${wrksrc}/gmp/
cp -ar ${XBPS_BUILDDIR}/mpfr-${_mpfr_version}/* ${wrksrc}/mpfr/
cp -ar ${XBPS_BUILDDIR}/mpc-${_mpc_version}/* ${wrksrc}/mpc/
cp -ar ${XBPS_BUILDDIR}/isl-${_isl_version}/* ${wrksrc}/isl/
if [ "$build_option_gnatboot" ]; then
local f="${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_gnat_tarball}"
msg_normal "Extracting ${_gnat_tarball} ...\n"
mkdir -p ${wrksrc}/gnat-ins
tar -x -f "$f" --strip-components=1 -C ${wrksrc}/gnat-ins
cd ${wrksrc}/gnat-ins
make ins-all prefix=${wrksrc}/gnat
cd ${wrksrc}
rm -rf ${wrksrc}/gnat-ins
# Rename obsolete ld and as
find ${wrksrc}/gnat -name ld -exec mv -v {} {}.old \;
find ${wrksrc}/gnat -name as -exec mv -v {} {}.old \;
fi
}
pre_configure() {
# _FORTIFY_SOURCE needs an optimization level.
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {gcc,libiberty}/configure
# Do not run fixincludes
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
case "$XBPS_TARGET_MACHINE" in
*-musl)
patch -p0 -i ${FILESDIR}/libgnarl-musl.patch
patch -p0 -i ${FILESDIR}/libssp-musl.patch
patch -p0 -i ${FILESDIR}/gccgo-musl.patch
;;
esac
}
do_configure() {
local _langs _args _hash
_hash=gnu
case "$XBPS_TARGET_MACHINE" in
mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
aarch64*) _args+=" --with-arch=armv8-a";;
ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
ppc*) _args+=" --enable-secureplt";;
esac
# on ppc64le-musl and all big endian ppc64
case "$XBPS_TARGET_MACHINE" in
ppc64le) ;;
ppc64*) _args+=" --disable-libquadmath" ;;
esac
# fix: unknown long double size, cannot define BFP_FMT
case "$XBPS_TARGET_MACHINE" in
ppc*-musl) _args+=" --disable-decimal-float";;
esac
if [ -z "$CHROOT_READY" -o -n "$CROSS_BUILD" ]; then
_langs="c,c++,lto"
fi
if [ "$CROSS_BUILD" ]; then
export CC_FOR_TARGET="$CC"
export GCC_FOR_TARGET="$CC"
export CXX_FOR_TARGET="$CXX"
export GOC_FOR_TARGET="${_triplet}-gccgo"
export GFORTRAN_FOR_TARGET="${_triplet}-gfortran"
_args+=" --host=$XBPS_CROSS_TRIPLET"
_args+=" --with-build-sysroot=${XBPS_CROSS_BASE}"
_langs+=",objc,obj-c++,fortran"
elif [ -z "$CHROOT_READY" ]; then
export LD_LIBRARY_PATH="${XBPS_MASTERDIR}/usr/lib${XBPS_TARGET_WORDSIZE}"
_args+=" --build=${_triplet}"
else
_langs="c,c++,objc,obj-c++,fortran,lto"
_args+=" --build=${_triplet}"
fi
if [ "$_have_gccgo" = "yes" ]; then
_langs+=",go"
fi
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
_args+=" --disable-gnu-unique-object"
_args+=" --disable-libsanitizer"
_args+=" --disable-symvers"
_args+=" libat_cv_have_ifunc=no"
else
_args+=" --enable-gnu-unique-object"
fi
case "$XBPS_TARGET_MACHINE" in
ppc*) _args+=" --disable-vtable-verify";;
*) _args+=" --enable-vtable-verify";;
esac
export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}"
export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}"
# Disable explicit -fno-PIE, gcc will figure this out itself.
export CFLAGS="${CFLAGS//-fno-PIE/}"
export CXXFLAGS="${CXXFLAGS//-fno-PIE/}"
export LDFLAGS="${LDFLAGS//-no-pie/}"
_args+=" --prefix=/usr"
_args+=" --mandir=/usr/share/man"
_args+=" --infodir=/usr/share/info"
_args+=" --libexecdir=/usr/lib${XBPS_TARGET_WORDSIZE}"
_args+=" --libdir=/usr/lib${XBPS_TARGET_WORDSIZE}"
_args+=" --enable-threads=posix"
_args+=" --enable-__cxa_atexit"
_args+=" --disable-multilib"
_args+=" --with-system-zlib"
_args+=" --enable-shared"
_args+=" --enable-lto"
_args+=" --enable-plugins"
_args+=" --enable-linker-build-id"
_args+=" --disable-werror"
_args+=" --disable-nls"
_args+=" --enable-default-pie"
_args+=" --enable-default-ssp"
_args+=" --enable-checking=release"
_args+=" --disable-libstdcxx-pch"
_args+=" --with-isl"
_args+=" --with-linker-hash-style=$_hash"
_args+=" --disable-sjlj-exceptions"
_args+=" --disable-target-libiberty"
mkdir -p build
cd build
if [ "$build_option_gnatboot" ]; then
_args+=" --enable-languages=${_langs},ada"
_args+=" --enable-libada"
CONFIG_SHELL=/bin/bash \
CC="${wrksrc}/gnat/bin/gcc" \
GNATBIND="${wrksrc}/gnat/bin/gnatbind" \
GNATMAKE="${wrksrc}/gnat/bin/gnatmake" \
PATH="${wrksrc}/gnat/bin:$PATH" \
${wrksrc}/configure ${_args}
elif [ "$build_option_ada" ]; then
_args+=" --enable-languages=${_langs},ada"
CONFIG_SHELL=/bin/bash \
${wrksrc}/configure ${_args}
else
_args+=" --enable-languages=${_langs}"
CONFIG_SHELL=/bin/bash \
${wrksrc}/configure ${_args}
fi
}
do_build() {
if [ -z "$CHROOT_READY" ]; then
export LD_LIBRARY_PATH="${XBPS_MASTERDIR}/usr/lib${XBPS_TARGET_WORDSIZE}"
fi
cd build
if [ "$build_option_gnatboot" ]; then
CC="${wrksrc}/gnat/bin/gcc" \
GNATBIND="${wrksrc}/gnat/bin/gnatbind" \
GNATMAKE="${wrksrc}/gnat/bin/gnatmake" \
PATH="${wrksrc}/gnat/bin:$PATH" \
make ${makejobs}
else
make ${makejobs}
fi
}
pre_install() {
if [ "$CROSS_BUILD" ]; then
# XXX otherwise links to host libpthread
for f in $(find ${wrksrc}/build/${XBPS_CROSS_TRIPLET} -type f -name libtool); do
sed -e "s,add_dir=\"-L\$libdir\",add_dir=\"-L${XBPS_CROSS_BASE}\$libdir\",g" -i $f
done
fi
}
do_install() {
cd build
make DESTDIR=${DESTDIR} install
# Make version a symlink of major version to make all versions
# from the same series work automagically.
mv ${DESTDIR}/usr/lib/gcc/${_triplet}/${_patchver} \
${DESTDIR}/usr/lib/gcc/${_triplet}/${_minorver}
ln -sfr ${DESTDIR}/usr/lib/gcc/${_triplet}/${_minorver} \
${DESTDIR}/usr/lib/gcc/${_triplet}/${_patchver}
# Ditto for c++ headers.
mv ${DESTDIR}/usr/include/c++/${_patchver} \
${DESTDIR}/usr/include/c++/${_minorver}
ln -sfr ${DESTDIR}/usr/include/c++/${_minorver} \
${DESTDIR}/usr/include/c++/${_patchver}
# cc symlink
ln -sfr ${DESTDIR}/usr/bin/gcc ${DESTDIR}/usr/bin/cc
# rpcgen wants /lib/cpp, make a symlink
ln -sfr ${DESTDIR}/usr/bin/cpp ${DESTDIR}/usr/lib/cpp
# lto plugin symlink
vmkdir usr/lib/bfd-plugins
ln -sfr ${DESTDIR}/usr/lib/gcc/${_triplet}/${_patchver}/liblto_plugin.so \
${DESTDIR}/usr/lib/bfd-plugins
# Remove "fixed" header
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91085
rm -vf ${DESTDIR}/usr/lib/gcc/${_triplet}/${_minorver}/include-fixed/bits/statx.h
# Remove libffi stuff.
rm -f ${DESTDIR}/usr/lib/libffi*
rm -f ${DESTDIR}/usr/share/man/man3/ffi*
# Remove all python scripts in libdir.
rm -f ${DESTDIR}/usr/lib/*.py
# Remove more python stuff.
if [ -d ${DESTDIR}/usr/share/gcc-${_patchver}/python ]; then
rm -rf ${DESTDIR}/usr/share/gcc-${_patchver}/python
fi
# Install c89 and c99 wrappers and its manpages, from NetBSD.
for f in c89 c99; do
vbin ${FILESDIR}/${f}.sh ${f}
vman ${FILESDIR}/${f}.1
done
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*|ppc64le) ;;
*) rm -f ${DESTDIR}/usr/share/info/libquadmath.info;;
esac
}
gcc-ada_package() {
lib32disabled=yes
depends="gcc>=${_minorver} libada-devel>=${_minorver}"
short_desc+=" - Ada compiler frontend"
pkg_install() {
for f in gnat{,bind,chop,clean,find,kr,link,ls,make,name,prep,xref}; do
vmove usr/bin/${f}
done
}
}
gcc-go_package() {
lib32disabled=yes
depends="gcc>=${_minorver} libgo-devel>=${_minorver}"
short_desc+=" - Go compiler frontend"
nostrip_files="buildid cgo test2json vet"
pkg_install() {
for f in gccgo ${_triplet}-gccgo; do
vmove usr/bin/${f}
done
for f in buildid cgo go1 test2json vet; do
vmove usr/lib/gcc/${_triplet}/${_minorver}/${f}
done
vmove usr/share/info/gccgo.info
touch ${PKGDESTDIR}/usr/share/info/dir
vmove usr/share/man/man1/gccgo.1
vmove usr/lib/go
}
}
gcc-go-tools_package() {
lib32disabled=yes
depends="gcc-go>=${_minorver}"
short_desc+=" - Go tools"
conflicts="go>=0"
nostrip=yes
pkg_install() {
vmove usr/bin/go
vmove usr/bin/gofmt
vmove usr/share/man/man1/go.1
vmove usr/share/man/man1/gofmt.1
}
}
gcc-fortran_package() {
lib32disabled=yes
depends="gcc>=${_minorver} libgfortran-devel>=${_minorver}"
short_desc+=" - Fortran compiler frontend"
pkg_install() {
for f in gfortran ${_triplet}-gfortran; do
vmove usr/bin/${f}
done
vmove usr/lib/gcc/${_triplet}/${_minorver}/f951
vmove usr/lib/gcc/${_triplet}/${_minorver}/libcaf_single.a
vmove usr/lib/gcc/${_triplet}/${_minorver}/finclude
if [ "$CROSS_BUILD" ]; then
# A number of OMP modules are not built when cross
# compiling gcc. Copy them from the cross compiler.
local src="/usr/lib/gcc/${_triplet}/${_patchver}/finclude"
local dst="usr/lib/gcc/${_triplet}/${_minorver}/finclude"
for f in omp_lib.f90 omp_lib.h omp_lib.mod omp_lib_kinds.mod \
openacc.f90 openacc.mod openacc_kinds.mod openacc_lib.h; do
vinstall ${src}/${f} 644 ${dst}/
done
fi
vmove usr/share/info/gfortran.info
touch ${PKGDESTDIR}/usr/share/info/dir
vmove usr/share/man/man1/gfortran.1
}
}
gcc-objc++_package() {
lib32disabled=yes
depends="gcc-objc>=${_minorver}"
short_desc+=" - Objective-C++ support"
pkg_install() {
vmove usr/lib/gcc/${_triplet}/${_minorver}/cc1objplus
}
}
gcc-objc_package() {
lib32disabled=yes
depends="gcc>=${_minorver} libobjc>=${_minorver}"
short_desc+=" - Objective-C support"
pkg_install() {
vmove usr/lib/gcc/${_triplet}/${_minorver}/include/objc
vmove usr/lib/gcc/${_triplet}/${_minorver}/cc1obj
}
}
libada-devel_package() {
depends="libada>=${_minorver}"
short_desc+=" - Ada library - development files"
pkg_install() {
vmove usr/lib/gcc/${_triplet}/${_minorver}/adainclude
vmove usr/lib/gcc/${_triplet}/${_minorver}/plugin/include/ada
}
}
libada_package() {
short_desc+=" - Ada library"
pkg_install() {
vmove usr/lib/gcc/${_triplet}/${_minorver}/adalib
mv -v ${PKGDESTDIR}/usr/lib/gcc/${_triplet}/${_minorver}/adalib/libgna{rl,t}{,-${_majorver}}.so \
${PKGDESTDIR}/usr/lib
}
}
libgfortran-devel_package() {
depends="libgfortran>=${_minorver}"
short_desc+=" - Fortran library - development files"
pkg_install() {
vmove usr/lib/libgfortran.spec
vmove usr/lib/libgfortran.a
# This does not seem to exist anymore?
if [ -f usr/lib/gcc/${_triplet}/${_minorver}/libgfortranbegin.a ]; then
vmove usr/lib/gcc/${_triplet}/${_minorver}/libgfortranbegin.a
fi
}
}
libgfortran_package() {
short_desc+=" - Fortran library"
pkg_install() {
vmove "usr/lib/libgfortran.so*"
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
}
}
libgo-devel_package() {
depends="libgo>=${_minorver}"
short_desc+=" - Go library - development files"
nostrip=yes
pkg_install() {
vmove usr/lib/libgo.a
vmove usr/lib/libgobegin.a
vmove usr/lib/libgolibbegin.a
vmove usr/lib/libgo.so
}
}
libgo_package() {
short_desc+=" - Go library"
nostrip=yes
pkg_install() {
vmove "usr/lib/libgo.so*"
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
}
}
libobjc-devel_package() {
depends="libobjc>=${_minorver}"
short_desc+=" - Objective-C library - development files"
pkg_install() {
vmove "usr/lib/libobjc.*a"
}
}
libobjc_package() {
short_desc+=" - Objective-C library"
pkg_install() {
vmove "usr/lib/libobjc.so*"
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
}
}
libquadmath-devel_package() {
depends="libquadmath>=${_minorver}"
short_desc+=" - quadmath library - development files"
pkg_install() {
vmove "usr/lib/gcc/${_triplet}/${_minorver}/include/quadmath*"
vmove "usr/lib/libquadmath*.a"
vmove usr/share/info/libquadmath.info
touch ${PKGDESTDIR}/usr/share/info/dir
}
}
libquadmath_package() {
short_desc+=" - quadmath library"
pkg_install() {
vmove "usr/lib/libquadmath.so*"
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
}
}
libvtv-devel_package() {
depends="libvtv>=${_minorver}"
short_desc+=" - Vtable Verification Runtime Library - development files"
pkg_install() {
vmove usr/lib/libvtv.a
vmove usr/lib/libvtv.so
}
}
libvtv_package() {
short_desc+=" - Vtable Verification Runtime Library"
pkg_install() {
vmove usr/lib/libvtv.so.*
}
}
libatomic-devel_package() {
depends="libatomic>=${_minorver}"
short_desc+=" - Atomics library - development files"
pkg_install() {
vmove usr/lib/libatomic.a
vmove usr/lib/libatomic.so
}
}
libatomic_package() {
short_desc+=" - Atomics library"
pkg_install() {
vmove usr/lib/libatomic.so.*
}
}
libgcc_package() {
short_desc+=" - GCC library"
replaces="libcilkrts<8.2.0"
noverifyrdeps=yes
pkg_install() {
vmove "usr/lib/libgcc_s.so*"
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
}
}
libgcc-devel_package() {
depends="libgcc-${version}_${revision}"
short_desc+=" - GCC library - development files"
replaces="libcilkrts-devel<8.2.0"
pkg_install() {
vmove "usr/lib/gcc/${_triplet}/${_minorver}/*.o"
vmove "usr/lib/gcc/${_triplet}/${_minorver}/*.a"
}
}
libgomp-devel_package() {
depends="libgomp>=${_minorver}"
short_desc+=" - OpenMP v4.0 library - development files"
pkg_install() {
vmove usr/lib/gcc/${_triplet}/${_minorver}/include/omp.h
vmove usr/lib/libgomp.so
vmove usr/lib/libgomp.a
vmove usr/lib/libgomp.spec
vmove usr/share/info/libgomp.info
touch ${PKGDESTDIR}/usr/share/info/dir
}
}
libgomp_package() {
short_desc+=" - OpenMP v4.0 library"
pkg_install() {
vmove "usr/lib/libgomp*.so.*"
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
}
}
libitm-devel_package() {
depends="libitm>=${_minorver}"
short_desc+=" - Transactional Memory library - development files"
replaces="libitm<4.9.0_1"
pkg_install() {
vmove usr/lib/libitm.a
vmove usr/lib/libitm.so
vmove usr/lib/libitm.spec
vmove usr/share/info/libitm.info
touch ${PKGDESTDIR}/usr/share/info/dir
}
}
libitm_package() {
short_desc+=" - Transactional Memory library"
pkg_install() {
vmove "usr/lib/libitm.so.*"
}
}
libsanitizer-devel_package() {
depends="libsanitizer>=${_minorver}"
short_desc+=" - Sanitizer libraries - development files"
pkg_install() {
vmove "usr/lib/lib*san*.so"
vmove "usr/lib/lib*san*.a"
vmove usr/lib/libasan_preinit.o
vmove usr/lib/libsanitizer.spec
}
}
libsanitizer_package() {
short_desc+=" - Sanitizer libraries"
pkg_install() {
vmove "usr/lib/lib*san*.so.*"
}
}
libssp-devel_package() {
depends="libssp>=${_minorver}"
short_desc+=" - SSP (StackSmashingProtection) library - development files"
pkg_install() {
vmove "usr/lib/libssp*.a"
vmove usr/lib/gcc/${_triplet}/${_minorver}/include/ssp
}
}
libssp_package() {
short_desc+=" - SSP (StackSmashingProtection) library"
pkg_install() {
vmove "usr/lib/libssp.so*"
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
}
}
libstdc++-devel_package() {
depends="libstdc++>=${_minorver}"
short_desc+=" - Standard C++ Library - development files"
pkg_install() {
vmove "usr/lib/libstdc++*.a"
vmove "usr/lib/libsupc++.a"
vmove usr/include/c++
}
}
libstdc++_package() {
short_desc+=" - Standard C++ Library"
pkg_install() {
vmove "usr/lib/libstdc++.so*"
vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
}
}