From b392e2c4cc206ace054e72713c369d7ca364ea63 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Thu, 1 Feb 2024 00:33:05 +0000 Subject: [PATCH] core/gcc to 13.2.1-4 --- core/gcc/.SRCINFO | 134 ++++++++++++++++++++++++++++++++++++++++++++++ core/gcc/PKGBUILD | 33 ++++++++++-- 2 files changed, 162 insertions(+), 5 deletions(-) create mode 100644 core/gcc/.SRCINFO diff --git a/core/gcc/.SRCINFO b/core/gcc/.SRCINFO new file mode 100644 index 000000000..03770ff0b --- /dev/null +++ b/core/gcc/.SRCINFO @@ -0,0 +1,134 @@ +pkgbase = gcc + pkgdesc = The GNU Compiler Collection + pkgver = 13.2.1 + pkgrel = 4 + url = https://gcc.gnu.org + arch = x86_64 + license = GPL-3.0-with-GCC-exception + license = GFDL-1.3-or-later + checkdepends = dejagnu + checkdepends = expect + checkdepends = inetutils + checkdepends = python-pytest + checkdepends = tcl + makedepends = binutils + makedepends = doxygen + makedepends = gcc-ada + makedepends = gcc-d + makedepends = git + makedepends = lib32-glibc + makedepends = lib32-gcc-libs + makedepends = libisl + makedepends = libmpc + makedepends = python + makedepends = zstd + options = !emptydirs + options = !lto + source = git+https://sourceware.org/git/gcc.git#commit=860b0f0ef787f756c0e293671b4c4622dff63a79 + source = c89 + source = c99 + source = gcc-ada-repro.patch + source = https://github.com/llvm/llvm-project/commit/fb77ca05ffb4f8e666878f2f6718a9fb4d686839.patch + validpgpkeys = F3691687D867B81B51CE07D9BBE43771487328A9 + validpgpkeys = 86CFFCA918CF3AF47147588051E8B148A9999C34 + validpgpkeys = 13975A70E63C361C73AE69EF6EEB81F8981C74C7 + validpgpkeys = D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62 + sha256sums = SKIP + sha256sums = de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931 + sha256sums = 2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a + sha256sums = 1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f + sha256sums = 0fab2541ab06d281a0d9d6cfc256499ff0a8638228094f6797580b83704e6e7c + +pkgname = gcc + pkgdesc = The GNU Compiler Collection - C and C++ frontends + depends = gcc-libs=13.2.1-4 + depends = binutils>=2.28 + depends = libmpc + depends = zstd + depends = libisl.so + optdepends = lib32-gcc-libs: for generating code for 32-bit ABI + provides = gcc-multilib + replaces = gcc-multilib + options = !emptydirs + options = staticlibs + +pkgname = gcc-libs + pkgdesc = Runtime libraries shipped by GCC + depends = glibc>=2.27 + provides = gcc-libs-multilib + provides = libgo.so + provides = libgfortran.so + provides = libgphobos.so + provides = libubsan.so + provides = libasan.so + provides = libtsan.so + provides = liblsan.so + replaces = gcc-libs-multilib + replaces = libgphobos + options = !emptydirs + options = !strip + +pkgname = lib32-gcc-libs + pkgdesc = 32-bit runtime libraries shipped by GCC + depends = lib32-glibc>=2.27 + provides = libgo.so + provides = libgfortran.so + provides = libubsan.so + provides = libasan.so + options = !emptydirs + options = !strip + +pkgname = gcc-ada + pkgdesc = Ada front-end for GCC (GNAT) + depends = gcc=13.2.1-4 + depends = libisl.so + provides = gcc-ada-multilib + replaces = gcc-ada-multilib + options = !emptydirs + options = staticlibs + +pkgname = gcc-d + pkgdesc = D frontend for GCC + depends = gcc=13.2.1-4 + depends = libisl.so + provides = gdc + replaces = gdc + options = staticlibs + +pkgname = gcc-fortran + pkgdesc = Fortran front-end for GCC + depends = gcc=13.2.1-4 + depends = libisl.so + provides = gcc-fortran-multilib + replaces = gcc-fortran-multilib + +pkgname = gcc-go + pkgdesc = Go front-end for GCC + depends = gcc=13.2.1-4 + depends = libisl.so + provides = go=1.17 + provides = gcc-go-multilib + conflicts = go + replaces = gcc-go-multilib + +pkgname = gcc-m2 + pkgdesc = Modula-2 frontend for GCC + depends = gcc=13.2.1-4 + depends = libisl.so + +pkgname = gcc-objc + pkgdesc = Objective-C front-end for GCC + depends = gcc=13.2.1-4 + depends = libisl.so + provides = gcc-objc-multilib + replaces = gcc-objc-multilib + +pkgname = lto-dump + pkgdesc = Dump link time optimization object files + depends = gcc=13.2.1-4 + depends = libisl.so + +pkgname = libgccjit + pkgdesc = Just-In-Time Compilation with GCC backend + depends = gcc=13.2.1-4 + depends = libisl.so diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD index 12002f8c7..38b2735cd 100644 --- a/core/gcc/PKGBUILD +++ b/core/gcc/PKGBUILD @@ -17,14 +17,14 @@ noautobuild=1 -pkgname=(gcc gcc-libs gcc-d gcc-fortran gcc-go gcc-objc lto-dump libgccjit) +pkgname=(gcc gcc-libs gcc-d gcc-fortran gcc-go gcc-m2 gcc-objc lto-dump libgccjit) pkgver=13.2.1 _majorver=${pkgver%%.*} _commit=860b0f0ef787f756c0e293671b4c4622dff63a79 -pkgrel=3 +pkgrel=4 pkgdesc='The GNU Compiler Collection' arch=(x86_64) -license=(GPL3 LGPL FDL custom) +license=(GPL-3.0-with-GCC-exception GFDL-1.3-or-later) url='https://gcc.gnu.org' makedepends=(binutils libmpc doxygen python git libxcrypt zstd) checkdepends=(dejagnu inetutils tcl expect python-pytest) @@ -50,6 +50,7 @@ _libdir=usr/lib/gcc/$CHOST/${pkgver%%+*} source=(git+https://sourceware.org/git/gcc.git#commit=${_commit} c89 c99 gcc-ada-repro.patch + https://github.com/llvm/llvm-project/commit/fb77ca05ffb4f8e666878f2f6718a9fb4d686839.patch 844a5c8ca.patch::'https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=844a5c8ca768dc0cc90c1a943756610832d686a8' ) validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org @@ -60,6 +61,7 @@ sha256sums=('SKIP' 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931' '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a' '1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f' + '0fab2541ab06d281a0d9d6cfc256499ff0a8638228094f6797580b83704e6e7c' '6dc8d32e76bc6c7c1a24ae527062ec1b4f393c9f7e0e25f6ab4acc98f622a80f') prepare() { @@ -85,6 +87,9 @@ prepare() { [[ $CARCH == "armv7h" ]] && CONFIGFLAG="--host=armv7l-unknown-linux-gnueabihf --build=armv7l-unknown-linux-gnueabihf --with-arch=armv7-a --with-float=hard --with-fpu=neon" [[ $CARCH == "aarch64" ]] && CONFIGFLAG="--host=aarch64-unknown-linux-gnu --build=aarch64-unknown-linux-gnu --with-arch=armv8-a --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419" + #ASan: move allocator base to avoid conflict with high-entropy ASLR for x86-64 Linux' + patch -Np3 < "$srcdir/fb77ca05ffb4f8e666878f2f6718a9fb4d686839.patch" -d libsanitizer/ + mkdir -p "$srcdir/gcc-build" mkdir -p "$srcdir/libgccjit-build" } @@ -128,7 +133,7 @@ build() { CXXFLAGS=${CXXFLAGS/-Werror=format-security/} "$srcdir/gcc/configure" \ - --enable-languages=c,c++,d,fortran,go,lto,objc,obj-c++ \ + --enable-languages=c,c++,d,fortran,go,lto,m2,objc,obj-c++ \ --enable-bootstrap \ "${_confflags[@]:?_confflags unset}" @@ -371,10 +376,28 @@ package_gcc-d() { "$pkgdir/usr/share/licenses/$pkgname/" } +package_gcc-m2() { + pkgdesc='Modula-2 frontend for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" m2.install-{common,man,info} + + install -Dm755 gcc/cc1gm2 "$pkgdir/$_libdir"/cc1gm2 + install -Dm755 gcc/gm2 "$pkgdir"/usr/bin/gm2 + install -Dm644 gcc/plugin/m2rte.so "$pkgdir/$_libdir"/plugin/m2rte.so + + make -C $CHOST/libgm2 DESTDIR="$pkgdir" install + + # 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_gcc-rust() { # pkgdesc="Rust frontend for GCC" # depends=("gcc=$pkgver-$pkgrel" libisl.so) -# replaces=(gcc-rust-git) # # cd gcc-build # make -C gcc DESTDIR="$pkgdir" rust.install-{common,man,info}