core/gcc to 12.1.0-1

This commit is contained in:
Kevin Mihelich 2022-05-10 23:49:28 +00:00
parent 0ae053e9e1
commit 72abbe512b

View file

@ -16,14 +16,13 @@
noautobuild=1 noautobuild=1
pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-go gcc-d libgccjit) pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-go libgccjit)
pkgver=11.2.0 pkgver=12.1.0
_majorver=${pkgver%%.*} _majorver=${pkgver%%.*}
_islver=0.24 pkgrel=1
pkgrel=4
pkgdesc='The GNU Compiler Collection' pkgdesc='The GNU Compiler Collection'
arch=(x86_64) arch=(x86_64)
license=(GPL LGPL FDL custom) license=(GPL3 LGPL FDL custom)
url='https://gcc.gnu.org' url='https://gcc.gnu.org'
makedepends=(binutils libmpc doxygen python git libxcrypt zstd) makedepends=(binutils libmpc doxygen python git libxcrypt zstd)
checkdepends=(dejagnu inetutils tcl expect python-pytest) checkdepends=(dejagnu inetutils tcl expect python-pytest)
@ -50,18 +49,16 @@ _libdir=usr/lib/gcc/$CHOST/${pkgver%%+*}
# source=(git://gcc.gnu.org/git/gcc.git#commit=$_commit # source=(git://gcc.gnu.org/git/gcc.git#commit=$_commit
source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig} source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig}
c89 c99 c89 c99
gdc_phobos_path.patch
gcc-ada-repro.patch gcc-ada-repro.patch
) )
validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com
13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com
D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek <jakub@redhat.com> D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek <jakub@redhat.com>
sha256sums=('d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b' sha256sums=('62fd634889f31c02b64af2c468f064b47ad1ca78411c45abe6ac4b5f8dd19c7b'
'SKIP' 'SKIP'
'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931' 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
'2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a' '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a'
'c86372c207d174c0918d4aedf1cb79f7fc093649eb1ad8d9450dccc46849d308'
'1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f') '1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f')
prepare() { prepare() {
@ -77,9 +74,6 @@ prepare() {
# Arch Linux ARM installs aarch64 libraries /lib # Arch Linux ARM installs aarch64 libraries /lib
[[ $CARCH == "aarch64" ]] && sed -i '/lp64=/s/lib64/lib/' gcc/config/aarch64/t-aarch64-linux [[ $CARCH == "aarch64" ]] && sed -i '/lp64=/s/lib64/lib/' gcc/config/aarch64/t-aarch64-linux
# D hacks
patch -Np1 -i "$srcdir/gdc_phobos_path.patch"
# Reproducible gcc-ada # Reproducible gcc-ada
patch -Np0 < "$srcdir/gcc-ada-repro.patch" patch -Np0 < "$srcdir/gcc-ada-repro.patch"
@ -116,8 +110,7 @@ build() {
--disable-libstdcxx-pch \ --disable-libstdcxx-pch \
--disable-multilib \ --disable-multilib \
--disable-werror \ --disable-werror \
$CONFIGFLAG \ $CONFIGFLAG"
gdc_include_dir=/usr/include/dlang/gdc"
cd gcc-build cd gcc-build
@ -128,7 +121,7 @@ build() {
CXXFLAGS=${CXXFLAGS/-Werror=format-security/} CXXFLAGS=${CXXFLAGS/-Werror=format-security/}
"$srcdir/gcc/configure" \ "$srcdir/gcc/configure" \
--enable-languages=c,c++,fortran,go,lto,objc,obj-c++,d \ --enable-languages=c,c++,fortran,go,lto,objc,obj-c++ \
--enable-bootstrap \ --enable-bootstrap \
$_confflags $_confflags
@ -137,7 +130,7 @@ build() {
BOOT_CFLAGS="$CFLAGS" \ BOOT_CFLAGS="$CFLAGS" \
BOOT_LDFLAGS="$LDFLAGS" \ BOOT_LDFLAGS="$LDFLAGS" \
LDFLAGS_FOR_TARGET="$LDFLAGS" \ LDFLAGS_FOR_TARGET="$LDFLAGS" \
profiledbootstrap bootstrap
# make documentation # make documentation
make -O -C $CHOST/libstdc++-v3/doc doc-man-doxygen make -O -C $CHOST/libstdc++-v3/doc doc-man-doxygen
@ -165,9 +158,6 @@ build() {
check() { check() {
cd gcc-build cd gcc-build
# disable libphobos test to avoid segfaults and other unfunny ways to waste my time
sed -i '/maybe-check-target-libphobos \\/d' Makefile
# do not abort on error as some are "expected" # do not abort on error as some are "expected"
make -O -k check || true make -O -k check || true
"$srcdir/gcc/contrib/test_summary" "$srcdir/gcc/contrib/test_summary"
@ -177,9 +167,8 @@ package_gcc-libs() {
pkgdesc='Runtime libraries shipped by GCC' pkgdesc='Runtime libraries shipped by GCC'
depends=('glibc>=2.27') depends=('glibc>=2.27')
options=(!emptydirs !strip) options=(!emptydirs !strip)
provides=(libgo.so libgfortran.so libgphobos.so provides=(libgo.so libgfortran.so
libubsan.so libasan.so liblsan.so) libubsan.so libasan.so liblsan.so)
replaces=(libgphobos)
if [[ $CARCH == "aarch64" ]]; then if [[ $CARCH == "aarch64" ]]; then
provides+=(libtsan.so) provides+=(libtsan.so)
fi fi
@ -207,10 +196,6 @@ package_gcc-libs() {
make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs
make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install
make -C $CHOST/libphobos DESTDIR="$pkgdir" install
rm -rf "$pkgdir"/$_libdir/include/d/
rm -f "$pkgdir"/usr/lib/libgphobos.spec
for lib in libgomp \ for lib in libgomp \
libitm \ libitm \
libquadmath; do libquadmath; do
@ -269,8 +254,8 @@ package_gcc() {
make -C $CHOST/libsanitizer/lsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS make -C $CHOST/libsanitizer/lsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
make -C gcc DESTDIR="$pkgdir" install-man install-info make -C gcc DESTDIR="$pkgdir" install-man install-info
rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran,gdc}.1 rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gdc}.info rm "$pkgdir"/usr/share/info/{gccgo,gfortran}.info
make -C libcpp DESTDIR="$pkgdir" install make -C libcpp DESTDIR="$pkgdir" install
make -C gcc DESTDIR="$pkgdir" install-po make -C gcc DESTDIR="$pkgdir" install-po
@ -332,7 +317,7 @@ package_gcc-objc() {
package_gcc-go() { package_gcc-go() {
pkgdesc='Go front-end for GCC' pkgdesc='Go front-end for GCC'
depends=("gcc=$pkgver-$pkgrel" libisl.so) depends=("gcc=$pkgver-$pkgrel" libisl.so)
provides=("go=1.12.2") provides=("go=1.18")
conflicts=(go) conflicts=(go)
cd gcc-build cd gcc-build
@ -349,32 +334,6 @@ package_gcc-go() {
"$pkgdir/usr/share/licenses/$pkgname/" "$pkgdir/usr/share/licenses/$pkgname/"
} }
package_gcc-d() {
pkgdesc="D frontend for GCC"
depends=("gcc=$pkgver-$pkgrel" libisl.so)
provides=(gdc)
replaces=(gdc)
options=(staticlibs debug)
cd gcc-build
make -C gcc DESTDIR="$pkgdir" d.install-{common,man,info}
install -Dm755 gcc/gdc "$pkgdir"/usr/bin/gdc
install -Dm755 gcc/d21 "$pkgdir"/"$_libdir"/d21
make -C $CHOST/libphobos DESTDIR="$pkgdir" install
rm -f "$pkgdir/usr/lib/"lib{gphobos,gdruntime}.so*
rm -f "$pkgdir/usr/lib32/"lib{gphobos,gdruntime}.so*
install -d "$pkgdir"/usr/include/dlang
ln -s /"${_libdir}"/include/d "$pkgdir"/usr/include/dlang/gdc
# Install Runtime Library Exception
install -d "$pkgdir/usr/share/licenses/$pkgname/"
ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \
"$pkgdir/usr/share/licenses/$pkgname/"
}
package_libgccjit() { package_libgccjit() {
pkgdesc="Just-In-Time Compilation with GCC backend" pkgdesc="Just-In-Time Compilation with GCC backend"
depends=("gcc=$pkgver-$pkgrel" libisl.so) depends=("gcc=$pkgver-$pkgrel" libisl.so)