void-packages

Void Source Packages
git clone git://ezup.dev/void-packages.git
Log | Files | Refs | README | LICENSE

template (20860B)


      1# Template file for 'gcc'
      2# Revbump libtool when updating gcc, since it hardcodes some internal compiler paths
      3# which use the version number.
      4_majorver=10
      5_minorver=${_majorver}.2
      6_patchver=${_minorver}.1
      7_gmp_version=6.2.0
      8_mpfr_version=4.1.0
      9_mpc_version=1.1.0
     10_isl_version=0.21
     11
     12pkgname=gcc
     13# we are using a 10-stable git snapshot alpine is using in order
     14# to get regression fixes not yet incorporate into a stable release
     15# it should be possible to switch back to stable with 10.3 or 11
     16version=${_patchver}pre1
     17wrksrc=gcc-${version/pre/_pre}
     18revision=3
     19short_desc="GNU Compiler Collection"
     20maintainer="Enno Boland <gottox@voidlinux.org>"
     21homepage="http://gcc.gnu.org"
     22license="GFDL-1.2-or-later, GPL-3.0-or-later, LGPL-2.1-or-later"
     23# *-musl builders have issues fetching https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
     24distfiles="
     25 https://dev.alpinelinux.org/~nenolod/gcc-${version/pre/_pre}.tar.xz
     26 https://gmplib.org/download/gmp/gmp-${_gmp_version}.tar.xz
     27 ${GNU_SITE}/mpfr/mpfr-${_mpfr_version}.tar.xz
     28 ${GNU_SITE}/mpc/mpc-${_mpc_version}.tar.gz
     29 http://isl.gforge.inria.fr/isl-${_isl_version}.tar.bz2"
     30checksum="772cfd5d30eb9cc5a996fec9ba8cdcb45d37df1c9b5770610103b814b732c590
     31 258e6cd51b3fbdfc185c716d55f82c08aff57df0c6fbd143cf6ed561267a1526
     32 0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f
     33 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e
     34 d18ca11f8ad1a39ab6d03d3dcb3365ab416720fcb65b42d69f34f51bf0a0e859"
     35
     36nopie=yes
     37lib32disabled=yes
     38bootstrap=yes
     39replaces="gcc-gcj<7.2.0 gcc-gcj-jdk-compat<7.2.0 libmpx>=0 libmpx-devel>=0"
     40
     41_have_gccgo=yes
     42
     43# MIPS is untested and does not have go in crosstoolchains
     44# 32-bit PowerPC seems weirdly broken since the 10.x release
     45# 32-bit little endian PowerPC has no support at all (no GOARCH)
     46case "$XBPS_TARGET_MACHINE" in
     47	ppc64*) ;;
     48	mips*-musl|ppc*) _have_gccgo=no ;;
     49esac
     50
     51if [ "$CHROOT_READY" ]; then
     52	hostmakedepends="tar texinfo perl flex"
     53else
     54	_have_gccgo=no
     55fi
     56makedepends="zlib-devel"
     57depends="binutils libgcc-devel-${version}_${revision}
     58 libstdc++-devel-${version}_${revision} libssp-devel-${version}_${revision}"
     59checkdepends="dejagnu"
     60
     61subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel"
     62subpackages+=" libssp libssp-devel"
     63
     64build_options="ada gnatboot"
     65build_options_default="ada"
     66desc_option_ada="Enable Ada build"
     67desc_option_gnatboot="Enable Ada bootstrap using adacore.com binaries"
     68
     69if [ "$build_option_gnatboot" ]; then
     70	case "$XBPS_TARGET_MACHINE" in
     71	x86_64)
     72		_gnat_tarball="gnat-gpl-2017-x86_64-linux-bin.tar.gz"
     73		distfiles+=" http://mirrors.cdn.adacore.com/art/591c6d80c7a447af2deed1d7>$_gnat_tarball"
     74		checksum+=" b942bcac20dea39748b39f8b624d9619f60a8dee2e8195dbe3829c835b0956e6"
     75		build_options_default="gnatboot"
     76		;;
     77	i686)
     78		_gnat_tarball="gnat-gpl-2014-x86-linux-bin.tar.gz"
     79		distfiles+=" http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248>$_gnat_tarball"
     80		checksum+=" 3b693510f5d22a240abb3034934c1adbd80ccd6e4f61a4f491cc408fdfd9c042"
     81		build_options_default="gnatboot"
     82		;;
     83	esac
     84fi
     85
     86if [ "$CHROOT_READY" ]; then
     87	subpackages+=" gcc-fortran libgfortran-devel libgfortran"
     88	subpackages+=" gcc-objc gcc-objc++ libobjc-devel libobjc"
     89fi
     90
     91if [ "$_have_gccgo" = "yes" ]; then
     92	subpackages+=" gcc-go gcc-go-tools libgo-devel libgo"
     93	# we need this for gcc-go on musl
     94	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
     95		makedepends+=" libucontext-devel"
     96	fi
     97fi
     98
     99subpackages+=" libstdc++-devel libstdc++ libgcc-devel"
    100if [ "$build_option_gnatboot" -o "$build_option_ada" ]; then
    101	subpackages+=" gcc-ada libada-devel libada"
    102fi
    103
    104case "$XBPS_TARGET_MACHINE" in
    105	i686) _triplet="i686-pc-linux-gnu";;
    106	i686-musl) _triplet="i686-linux-musl";;
    107	x86_64) _triplet="x86_64-unknown-linux-gnu";;
    108	x86_64-musl) _triplet="x86_64-linux-musl";;
    109	armv5tel) _triplet="arm-linux-gnueabi";;
    110	armv5tel-musl) _triplet="arm-linux-musleabi";;
    111	armv6l) _triplet="arm-linux-gnueabihf";;
    112	armv7l) _triplet="armv7l-linux-gnueabihf";;
    113	armv6l-musl) _triplet="arm-linux-musleabihf";;
    114	armv7l-musl) _triplet="armv7l-linux-musleabihf";;
    115	aarch64) _triplet="aarch64-linux-gnu";;
    116	aarch64-musl) _triplet="aarch64-linux-musl";;
    117	ppc) _triplet="powerpc-linux-gnu";;
    118	ppc-musl) _triplet="powerpc-linux-musl";;
    119	ppcle) _triplet="powerpcle-linux-gnu";;
    120	ppcle-musl) _triplet="powerpcle-linux-musl";;
    121	ppc64le) _triplet="powerpc64le-linux-gnu";;
    122	ppc64le-musl) _triplet="powerpc64le-linux-musl";;
    123	ppc64) _triplet="powerpc64-linux-gnu";;
    124	ppc64-musl) _triplet="powerpc64-linux-musl";;
    125	mips-musl) _triplet="mips-linux-musl";;
    126	mipshf-musl) _triplet="mips-linux-muslhf";;
    127	mipsel-musl) _triplet="mipsel-linux-musl";;
    128	mipselhf-musl) _triplet="mipsel-linux-muslhf";;
    129esac
    130case "$XBPS_TARGET_MACHINE" in
    131	*-musl)	 depends+=" musl-devel";;
    132	*) 	 depends+=" glibc-devel"
    133		 subpackages+=" libsanitizer libsanitizer-devel"
    134		 ;;
    135esac
    136case "$XBPS_TARGET_MACHINE" in
    137	i686*|x86_64*)
    138		subpackages+=" libquadmath libquadmath-devel"
    139		subpackages+=" libvtv libvtv-devel"
    140		;;
    141	ppc64le)
    142		subpackages+=" libquadmath libquadmath-devel"
    143		;;
    144esac
    145case "$XBPS_TARGET_MACHINE" in
    146	mips*) ;;
    147	x86_64*|i686) subpackages+=" libitm libitm-devel";;
    148	*) subpackages+=" libitm libitm-devel";;
    149esac
    150if [ "$CROSS_BUILD" ]; then
    151	hostmakedepends+=" cross-${_triplet}"
    152	if [ "$build_option_ada" ]; then
    153		hostmakedepends+=" gcc-ada"
    154	fi
    155fi
    156
    157post_extract() {
    158	mkdir -p ${wrksrc}/{gmp,mpfr,mpc,isl}
    159	cp -ar ${XBPS_BUILDDIR}/gmp-${_gmp_version}/* ${wrksrc}/gmp/
    160	cp -ar ${XBPS_BUILDDIR}/mpfr-${_mpfr_version}/* ${wrksrc}/mpfr/
    161	cp -ar ${XBPS_BUILDDIR}/mpc-${_mpc_version}/* ${wrksrc}/mpc/
    162	cp -ar ${XBPS_BUILDDIR}/isl-${_isl_version}/* ${wrksrc}/isl/
    163
    164	if [ "$build_option_gnatboot" ]; then
    165		local f="${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_gnat_tarball}"
    166		msg_normal "Extracting ${_gnat_tarball} ...\n"
    167		mkdir -p ${wrksrc}/gnat-ins
    168		tar -x -f "$f" --strip-components=1 -C ${wrksrc}/gnat-ins
    169		cd ${wrksrc}/gnat-ins
    170		make ins-all prefix=${wrksrc}/gnat
    171		cd ${wrksrc}
    172		rm -rf ${wrksrc}/gnat-ins
    173
    174		# Rename obsolete ld and as
    175		find ${wrksrc}/gnat -name ld -exec mv -v {} {}.old \;
    176		find ${wrksrc}/gnat -name as -exec mv -v {} {}.old \;
    177	fi
    178}
    179
    180pre_configure() {
    181	# _FORTIFY_SOURCE needs an optimization level.
    182	sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {gcc,libiberty}/configure
    183
    184	# Do not run fixincludes
    185	sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
    186
    187	case "$XBPS_TARGET_MACHINE" in
    188		*-musl)
    189			patch -p0 -i ${FILESDIR}/libgnarl-musl.patch
    190			patch -p0 -i ${FILESDIR}/libssp-musl.patch
    191			patch -p0 -i ${FILESDIR}/gccgo-musl.patch
    192			;;
    193	esac
    194}
    195do_configure() {
    196	local _langs _args _hash
    197
    198	_hash=gnu
    199	case "$XBPS_TARGET_MACHINE" in
    200		mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
    201		mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
    202		mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
    203		mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
    204		armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
    205		armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
    206		armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
    207		aarch64*) _args+=" --with-arch=armv8-a";;
    208		ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
    209		ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
    210		ppc*) _args+=" --enable-secureplt";;
    211	esac
    212
    213	# on ppc64le-musl and all big endian ppc64
    214	case "$XBPS_TARGET_MACHINE" in
    215		ppc64le) ;;
    216		ppc64*) _args+=" --disable-libquadmath" ;;
    217	esac
    218
    219	# fix: unknown long double size, cannot define BFP_FMT
    220	case "$XBPS_TARGET_MACHINE" in
    221		ppc*-musl) _args+=" --disable-decimal-float";;
    222	esac
    223
    224	if [ -z "$CHROOT_READY" -o -n "$CROSS_BUILD" ]; then
    225		_langs="c,c++,lto"
    226	fi
    227
    228	if [ "$CROSS_BUILD" ]; then
    229		export CC_FOR_TARGET="$CC"
    230		export GCC_FOR_TARGET="$CC"
    231		export CXX_FOR_TARGET="$CXX"
    232		export GOC_FOR_TARGET="${_triplet}-gccgo"
    233		export GFORTRAN_FOR_TARGET="${_triplet}-gfortran"
    234
    235		_args+=" --host=$XBPS_CROSS_TRIPLET"
    236		_args+=" --with-build-sysroot=${XBPS_CROSS_BASE}"
    237		_langs+=",objc,obj-c++,fortran"
    238	elif [ -z "$CHROOT_READY" ]; then
    239		export LD_LIBRARY_PATH="${XBPS_MASTERDIR}/usr/lib${XBPS_TARGET_WORDSIZE}"
    240		_args+=" --build=${_triplet}"
    241	else
    242		_langs="c,c++,objc,obj-c++,fortran,lto"
    243		_args+=" --build=${_triplet}"
    244	fi
    245
    246	if [ "$_have_gccgo" = "yes" ]; then
    247		_langs+=",go"
    248	fi
    249
    250	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
    251		_args+=" --disable-gnu-unique-object"
    252		_args+=" --disable-libsanitizer"
    253		_args+=" --disable-symvers"
    254		_args+=" libat_cv_have_ifunc=no"
    255	else
    256		_args+=" --enable-gnu-unique-object"
    257	fi
    258
    259	case "$XBPS_TARGET_MACHINE" in
    260		ppc*) _args+=" --disable-vtable-verify";;
    261		*) _args+=" --enable-vtable-verify";;
    262	esac
    263
    264	export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}"
    265	export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}"
    266
    267	# Disable explicit -fno-PIE, gcc will figure this out itself.
    268	export CFLAGS="${CFLAGS//-fno-PIE/}"
    269	export CXXFLAGS="${CXXFLAGS//-fno-PIE/}"
    270	export LDFLAGS="${LDFLAGS//-no-pie/}"
    271
    272	_args+=" --prefix=/usr"
    273	_args+=" --mandir=/usr/share/man"
    274	_args+=" --infodir=/usr/share/info"
    275	_args+=" --libexecdir=/usr/lib${XBPS_TARGET_WORDSIZE}"
    276	_args+=" --libdir=/usr/lib${XBPS_TARGET_WORDSIZE}"
    277	_args+=" --enable-threads=posix"
    278	_args+=" --enable-__cxa_atexit"
    279	_args+=" --disable-multilib"
    280	_args+=" --with-system-zlib"
    281	_args+=" --enable-shared"
    282	_args+=" --enable-lto"
    283	_args+=" --enable-plugins"
    284	_args+=" --enable-linker-build-id"
    285	_args+=" --disable-werror"
    286	_args+=" --disable-nls"
    287	_args+=" --enable-default-pie"
    288	_args+=" --enable-default-ssp"
    289	_args+=" --enable-checking=release"
    290	_args+=" --disable-libstdcxx-pch"
    291	_args+=" --with-isl"
    292	_args+=" --with-linker-hash-style=$_hash"
    293	_args+=" --disable-sjlj-exceptions"
    294	_args+=" --disable-target-libiberty"
    295
    296	mkdir -p build
    297	cd build
    298	if [ "$build_option_gnatboot" ]; then
    299		_args+=" --enable-languages=${_langs},ada"
    300		_args+=" --enable-libada"
    301		CONFIG_SHELL=/bin/bash \
    302		CC="${wrksrc}/gnat/bin/gcc" \
    303		GNATBIND="${wrksrc}/gnat/bin/gnatbind" \
    304		GNATMAKE="${wrksrc}/gnat/bin/gnatmake" \
    305		PATH="${wrksrc}/gnat/bin:$PATH" \
    306			${wrksrc}/configure ${_args}
    307	elif [ "$build_option_ada" ]; then
    308		_args+=" --enable-languages=${_langs},ada"
    309		CONFIG_SHELL=/bin/bash \
    310			${wrksrc}/configure ${_args}
    311	else
    312		_args+=" --enable-languages=${_langs}"
    313		CONFIG_SHELL=/bin/bash \
    314			${wrksrc}/configure ${_args}
    315	fi
    316}
    317do_build() {
    318	if [ -z "$CHROOT_READY" ]; then
    319		export LD_LIBRARY_PATH="${XBPS_MASTERDIR}/usr/lib${XBPS_TARGET_WORDSIZE}"
    320	fi
    321	cd build
    322	if [ "$build_option_gnatboot" ]; then
    323		CC="${wrksrc}/gnat/bin/gcc" \
    324		GNATBIND="${wrksrc}/gnat/bin/gnatbind" \
    325		GNATMAKE="${wrksrc}/gnat/bin/gnatmake" \
    326		PATH="${wrksrc}/gnat/bin:$PATH" \
    327		make ${makejobs}
    328	else
    329		make ${makejobs}
    330	fi
    331}
    332pre_install() {
    333	if [ "$CROSS_BUILD" ]; then
    334		# XXX otherwise links to host libpthread
    335		for f in $(find ${wrksrc}/build/${XBPS_CROSS_TRIPLET} -type f -name libtool); do
    336			sed -e "s,add_dir=\"-L\$libdir\",add_dir=\"-L${XBPS_CROSS_BASE}\$libdir\",g" -i $f
    337		done
    338	fi
    339}
    340do_install() {
    341	cd build
    342
    343	make DESTDIR=${DESTDIR} install
    344
    345	# Make version a symlink of major version to make all versions
    346	# from the same series work automagically.
    347	mv ${DESTDIR}/usr/lib/gcc/${_triplet}/${_patchver} \
    348		${DESTDIR}/usr/lib/gcc/${_triplet}/${_minorver}
    349	ln -sfr ${DESTDIR}/usr/lib/gcc/${_triplet}/${_minorver} \
    350		${DESTDIR}/usr/lib/gcc/${_triplet}/${_patchver}
    351
    352	# Ditto for c++ headers.
    353	mv ${DESTDIR}/usr/include/c++/${_patchver} \
    354		${DESTDIR}/usr/include/c++/${_minorver}
    355	ln -sfr ${DESTDIR}/usr/include/c++/${_minorver} \
    356		${DESTDIR}/usr/include/c++/${_patchver}
    357
    358	# cc symlink
    359	ln -sfr ${DESTDIR}/usr/bin/gcc ${DESTDIR}/usr/bin/cc
    360	# rpcgen wants /lib/cpp, make a symlink
    361	ln -sfr ${DESTDIR}/usr/bin/cpp ${DESTDIR}/usr/lib/cpp
    362
    363	# lto plugin symlink
    364	vmkdir usr/lib/bfd-plugins
    365	ln -sfr ${DESTDIR}/usr/lib/gcc/${_triplet}/${_patchver}/liblto_plugin.so \
    366		${DESTDIR}/usr/lib/bfd-plugins
    367
    368	# Remove "fixed" header
    369	# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91085
    370	rm -vf ${DESTDIR}/usr/lib/gcc/${_triplet}/${_minorver}/include-fixed/bits/statx.h
    371
    372	# Remove libffi stuff.
    373	rm -f ${DESTDIR}/usr/lib/libffi*
    374	rm -f ${DESTDIR}/usr/share/man/man3/ffi*
    375
    376	# Remove all python scripts in libdir.
    377	rm -f ${DESTDIR}/usr/lib/*.py
    378
    379	# Remove more python stuff.
    380	if [ -d ${DESTDIR}/usr/share/gcc-${_patchver}/python ]; then
    381		rm -rf ${DESTDIR}/usr/share/gcc-${_patchver}/python
    382	fi
    383
    384	# Install c89 and c99 wrappers and its manpages, from NetBSD.
    385	for f in c89 c99; do
    386		vbin ${FILESDIR}/${f}.sh ${f}
    387		vman ${FILESDIR}/${f}.1
    388	done
    389
    390	case "$XBPS_TARGET_MACHINE" in
    391		i686*|x86_64*|ppc64le) ;;
    392		*) rm -f ${DESTDIR}/usr/share/info/libquadmath.info;;
    393	esac
    394}
    395
    396gcc-ada_package() {
    397	lib32disabled=yes
    398	depends="gcc>=${_minorver} libada-devel>=${_minorver}"
    399	short_desc+=" - Ada compiler frontend"
    400	pkg_install() {
    401		for f in gnat{,bind,chop,clean,find,kr,link,ls,make,name,prep,xref}; do
    402			vmove usr/bin/${f}
    403		done
    404	}
    405}
    406
    407gcc-go_package() {
    408	lib32disabled=yes
    409	depends="gcc>=${_minorver} libgo-devel>=${_minorver}"
    410	short_desc+=" - Go compiler frontend"
    411	nostrip_files="buildid cgo test2json vet"
    412	pkg_install() {
    413		for f in gccgo ${_triplet}-gccgo; do
    414			vmove usr/bin/${f}
    415		done
    416		for f in buildid cgo go1 test2json vet; do
    417			vmove usr/lib/gcc/${_triplet}/${_minorver}/${f}
    418		done
    419		vmove usr/share/info/gccgo.info
    420		touch ${PKGDESTDIR}/usr/share/info/dir
    421		vmove usr/share/man/man1/gccgo.1
    422		vmove usr/lib/go
    423	}
    424}
    425
    426gcc-go-tools_package() {
    427	lib32disabled=yes
    428	depends="gcc-go>=${_minorver}"
    429	short_desc+=" - Go tools"
    430	conflicts="go>=0"
    431	nostrip=yes
    432	pkg_install() {
    433		vmove usr/bin/go
    434		vmove usr/bin/gofmt
    435		vmove usr/share/man/man1/go.1
    436		vmove usr/share/man/man1/gofmt.1
    437	}
    438}
    439
    440gcc-fortran_package() {
    441	lib32disabled=yes
    442	depends="gcc>=${_minorver} libgfortran-devel>=${_minorver}"
    443	short_desc+=" - Fortran compiler frontend"
    444	pkg_install() {
    445		for f in gfortran ${_triplet}-gfortran; do
    446			vmove usr/bin/${f}
    447		done
    448		vmove usr/lib/gcc/${_triplet}/${_minorver}/f951
    449		vmove usr/lib/gcc/${_triplet}/${_minorver}/libcaf_single.a
    450		vmove usr/lib/gcc/${_triplet}/${_minorver}/finclude
    451		if [ "$CROSS_BUILD" ]; then
    452			# A number of OMP modules are not built when cross
    453			# compiling gcc. Copy them from the cross compiler.
    454			local src="/usr/lib/gcc/${_triplet}/${_patchver}/finclude"
    455			local dst="usr/lib/gcc/${_triplet}/${_minorver}/finclude"
    456			for f in omp_lib.f90 omp_lib.h omp_lib.mod omp_lib_kinds.mod \
    457				openacc.f90 openacc.mod openacc_kinds.mod openacc_lib.h; do
    458				vinstall ${src}/${f} 644 ${dst}/
    459			done
    460		fi
    461		vmove usr/share/info/gfortran.info
    462		touch ${PKGDESTDIR}/usr/share/info/dir
    463		vmove usr/share/man/man1/gfortran.1
    464	}
    465}
    466
    467gcc-objc++_package() {
    468	lib32disabled=yes
    469	depends="gcc-objc>=${_minorver}"
    470	short_desc+=" - Objective-C++ support"
    471	pkg_install() {
    472		vmove usr/lib/gcc/${_triplet}/${_minorver}/cc1objplus
    473	}
    474}
    475
    476gcc-objc_package() {
    477	lib32disabled=yes
    478	depends="gcc>=${_minorver} libobjc>=${_minorver}"
    479	short_desc+=" - Objective-C support"
    480	pkg_install() {
    481		vmove usr/lib/gcc/${_triplet}/${_minorver}/include/objc
    482		vmove usr/lib/gcc/${_triplet}/${_minorver}/cc1obj
    483	}
    484}
    485
    486libada-devel_package() {
    487	depends="libada>=${_minorver}"
    488	short_desc+=" - Ada library - development files"
    489	pkg_install() {
    490		vmove usr/lib/gcc/${_triplet}/${_minorver}/adainclude
    491		vmove usr/lib/gcc/${_triplet}/${_minorver}/plugin/include/ada
    492	}
    493}
    494
    495libada_package() {
    496	short_desc+=" - Ada library"
    497	pkg_install() {
    498		vmove usr/lib/gcc/${_triplet}/${_minorver}/adalib
    499		mv -v ${PKGDESTDIR}/usr/lib/gcc/${_triplet}/${_minorver}/adalib/libgna{rl,t}{,-${_majorver}}.so \
    500			${PKGDESTDIR}/usr/lib
    501	}
    502}
    503
    504libgfortran-devel_package() {
    505	depends="libgfortran>=${_minorver}"
    506	short_desc+=" - Fortran library - development files"
    507	pkg_install() {
    508		vmove usr/lib/libgfortran.spec
    509		vmove usr/lib/libgfortran.a
    510		# This does not seem to exist anymore?
    511		if [ -f usr/lib/gcc/${_triplet}/${_minorver}/libgfortranbegin.a ]; then
    512			vmove usr/lib/gcc/${_triplet}/${_minorver}/libgfortranbegin.a
    513		fi
    514	}
    515}
    516
    517libgfortran_package() {
    518	short_desc+=" - Fortran library"
    519	pkg_install() {
    520		vmove "usr/lib/libgfortran.so*"
    521		vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
    522	}
    523}
    524
    525libgo-devel_package() {
    526	depends="libgo>=${_minorver}"
    527	short_desc+=" - Go library - development files"
    528	nostrip=yes
    529	pkg_install() {
    530		vmove usr/lib/libgo.a
    531		vmove usr/lib/libgobegin.a
    532		vmove usr/lib/libgolibbegin.a
    533		vmove usr/lib/libgo.so
    534	}
    535}
    536
    537libgo_package() {
    538	short_desc+=" - Go library"
    539	nostrip=yes
    540	pkg_install() {
    541		vmove "usr/lib/libgo.so*"
    542		vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
    543	}
    544}
    545
    546libobjc-devel_package() {
    547	depends="libobjc>=${_minorver}"
    548	short_desc+=" - Objective-C library - development files"
    549	pkg_install() {
    550		vmove "usr/lib/libobjc.*a"
    551	}
    552}
    553
    554libobjc_package() {
    555	short_desc+=" - Objective-C library"
    556	pkg_install() {
    557		vmove "usr/lib/libobjc.so*"
    558		vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
    559	}
    560}
    561
    562libquadmath-devel_package() {
    563	depends="libquadmath>=${_minorver}"
    564	short_desc+=" - quadmath library - development files"
    565	pkg_install() {
    566		vmove "usr/lib/gcc/${_triplet}/${_minorver}/include/quadmath*"
    567		vmove "usr/lib/libquadmath*.a"
    568		vmove usr/share/info/libquadmath.info
    569		touch ${PKGDESTDIR}/usr/share/info/dir
    570	}
    571}
    572
    573libquadmath_package() {
    574	short_desc+=" - quadmath library"
    575	pkg_install() {
    576		vmove "usr/lib/libquadmath.so*"
    577		vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
    578	}
    579}
    580
    581libvtv-devel_package() {
    582	depends="libvtv>=${_minorver}"
    583	short_desc+=" - Vtable Verification Runtime Library - development files"
    584	pkg_install() {
    585		vmove usr/lib/libvtv.a
    586		vmove usr/lib/libvtv.so
    587	}
    588}
    589
    590libvtv_package() {
    591	short_desc+=" - Vtable Verification Runtime Library"
    592	pkg_install() {
    593		vmove usr/lib/libvtv.so.*
    594	}
    595}
    596
    597libatomic-devel_package() {
    598	depends="libatomic>=${_minorver}"
    599	short_desc+=" - Atomics library - development files"
    600	pkg_install() {
    601		vmove usr/lib/libatomic.a
    602		vmove usr/lib/libatomic.so
    603	}
    604}
    605
    606libatomic_package() {
    607	short_desc+=" - Atomics library"
    608	pkg_install() {
    609		vmove usr/lib/libatomic.so.*
    610	}
    611}
    612
    613libgcc_package() {
    614	short_desc+=" - GCC library"
    615	replaces="libcilkrts<8.2.0"
    616	noverifyrdeps=yes
    617	pkg_install() {
    618		vmove "usr/lib/libgcc_s.so*"
    619		vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
    620	}
    621}
    622
    623libgcc-devel_package() {
    624	depends="libgcc-${version}_${revision}"
    625	short_desc+=" - GCC library - development files"
    626	replaces="libcilkrts-devel<8.2.0"
    627	pkg_install() {
    628		vmove "usr/lib/gcc/${_triplet}/${_minorver}/*.o"
    629		vmove "usr/lib/gcc/${_triplet}/${_minorver}/*.a"
    630	}
    631}
    632
    633libgomp-devel_package() {
    634	depends="libgomp>=${_minorver}"
    635	short_desc+=" - OpenMP v4.0 library - development files"
    636	pkg_install() {
    637		vmove usr/lib/gcc/${_triplet}/${_minorver}/include/omp.h
    638		vmove usr/lib/libgomp.so
    639		vmove usr/lib/libgomp.a
    640		vmove usr/lib/libgomp.spec
    641		vmove usr/share/info/libgomp.info
    642		touch ${PKGDESTDIR}/usr/share/info/dir
    643	}
    644}
    645
    646libgomp_package() {
    647	short_desc+=" - OpenMP v4.0 library"
    648	pkg_install() {
    649		vmove "usr/lib/libgomp*.so.*"
    650		vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
    651	}
    652}
    653
    654libitm-devel_package() {
    655	depends="libitm>=${_minorver}"
    656	short_desc+=" - Transactional Memory library - development files"
    657	replaces="libitm<4.9.0_1"
    658	pkg_install() {
    659		vmove usr/lib/libitm.a
    660		vmove usr/lib/libitm.so
    661		vmove usr/lib/libitm.spec
    662		vmove usr/share/info/libitm.info
    663		touch ${PKGDESTDIR}/usr/share/info/dir
    664	}
    665}
    666
    667libitm_package() {
    668	short_desc+=" - Transactional Memory library"
    669	pkg_install() {
    670		vmove "usr/lib/libitm.so.*"
    671	}
    672}
    673
    674libsanitizer-devel_package() {
    675	depends="libsanitizer>=${_minorver}"
    676	short_desc+=" - Sanitizer libraries - development files"
    677	pkg_install() {
    678		vmove "usr/lib/lib*san*.so"
    679		vmove "usr/lib/lib*san*.a"
    680		vmove usr/lib/libasan_preinit.o
    681		vmove usr/lib/libsanitizer.spec
    682	}
    683}
    684
    685libsanitizer_package() {
    686	short_desc+=" - Sanitizer libraries"
    687	pkg_install() {
    688		vmove "usr/lib/lib*san*.so.*"
    689	}
    690}
    691
    692libssp-devel_package() {
    693	depends="libssp>=${_minorver}"
    694	short_desc+=" - SSP (StackSmashingProtection) library - development files"
    695	pkg_install() {
    696		vmove "usr/lib/libssp*.a"
    697		vmove usr/lib/gcc/${_triplet}/${_minorver}/include/ssp
    698	}
    699}
    700
    701libssp_package() {
    702	short_desc+=" - SSP (StackSmashingProtection) library"
    703	pkg_install() {
    704		vmove "usr/lib/libssp.so*"
    705		vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
    706	}
    707}
    708
    709libstdc++-devel_package() {
    710	depends="libstdc++>=${_minorver}"
    711	short_desc+=" - Standard C++ Library - development files"
    712	pkg_install() {
    713		vmove "usr/lib/libstdc++*.a"
    714		vmove "usr/lib/libsupc++.a"
    715		vmove usr/include/c++
    716	}
    717}
    718
    719libstdc++_package() {
    720	short_desc+=" - Standard C++ Library"
    721	pkg_install() {
    722		vmove "usr/lib/libstdc++.so*"
    723		vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION
    724	}
    725}