core/gcc to 13.2.1-4

This commit is contained in:
Kevin Mihelich 2024-02-01 00:33:05 +00:00
parent 4e40910130
commit b392e2c4cc
2 changed files with 162 additions and 5 deletions

134
core/gcc/.SRCINFO Normal file
View file

@ -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

View file

@ -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}