Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

addpkg: x86_64-linux-gnu-gcc 14.2.0-1 #4350

Merged
merged 1 commit into from
Dec 11, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 99 additions & 0 deletions x86_64-linux-gnu-gcc/PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# Contributor: Levi Zim <rsworktech@outlook.com>
# Contributor: Anatol Pomozov <anatol.pomozov@gmail.com>
# Contributor: Eli Schwartz <eschwartz@archlinux.org>

_target=x86_64-linux-gnu
pkgname=$_target-gcc
pkgver=14.2.0
pkgrel=1
#_snapshot=8-20190111
pkgdesc='The GNU Compiler Collection - cross compiler for x86_64 target'
arch=(riscv64)
url='https://gcc.gnu.org/'
license=(GPL LGPL FDL)
depends=($_target-binutils $_target-glibc libmpc zlib libisl zstd)
makedepends=(gmp mpfr)
options=(!emptydirs !strip staticlibs !lto)
source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig})
#https://gcc.gnu.org/pub/gcc/snapshots/$_snapshot/gcc-$_snapshot.tar.xz
sha256sums=('a7b39bc69cbf9e25826c5a60ab26477001f7c08d85cec04bc0e29cabed6f3cc9'
'SKIP')
validpgpkeys=(D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62 # Jakub Jelinek <jakub@redhat.com>
33C235A34C46AA3FFB293709A328C3A2C3C45C06 # Jakub Jelinek <jakub@redhat.com>
13975A70E63C361C73AE69EF6EEB81F8981C74C7) # Richard Guenther <richard.guenther@gmail.com>

if [ -n "$_snapshot" ]; then
_basedir=gcc-$_snapshot
else
_basedir=gcc-$pkgver
fi

prepare() {
cd $_basedir

echo $pkgver > gcc/BASE-VER

# Do not run fixincludes
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in

rm -rf "$srcdir"/gcc-build
mkdir "$srcdir"/gcc-build
}

build() {
cd gcc-build

# using -pipe causes spurious test-suite failures
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565
CFLAGS=${CFLAGS/-pipe/}
CXXFLAGS=${CXXFLAGS/-pipe/}

# Credits @allanmcrae
# https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/gcc/PKGBUILD
# TODO: properly deal with the build issues resulting from this
CFLAGS=${CFLAGS/-Werror=format-security/}
CXXFLAGS=${CXXFLAGS/-Werror=format-security/}

"$srcdir"/$_basedir/configure \
--prefix=/usr \
--program-prefix=$_target- \
--with-local-prefix=/usr/$_target \
--with-sysroot=/usr/$_target \
--with-build-sysroot=/usr/$_target \
--with-native-system-header-dir=/include \
--libdir=/usr/lib --libexecdir=/usr/lib \
--target=$_target --host=$CHOST --build=$CHOST \
--disable-nls --enable-default-pie \
--enable-languages=c,c++,fortran \
--disable-shared --disable-threads \
--with-system-zlib --with-isl --enable-__cxa_atexit \
--disable-libunwind-exceptions --enable-clocale=gnu \
--disable-libstdcxx-pch --disable-libssp \
--enable-gnu-unique-object --enable-linker-build-id \
--enable-lto --enable-plugin --enable-install-libiberty \
--with-linker-hash-style=gnu --enable-gnu-indirect-function \
--disable-multilib --disable-werror

make all-gcc all-target-libgcc
}

package() {
cd gcc-build

make DESTDIR="$pkgdir" install-gcc install-target-libgcc

# strip target binaries
find "$pkgdir"/usr/lib/gcc/$_target/ \
-type f -and \( -name \*.a -or -name \*.o \) \
-exec $_target-objcopy -R .comment -R .note -R .debug_info -R .debug_aranges \
-R .debug_pubnames -R .debug_pubtypes -R .debug_abbrev -R .debug_line \
-R .debug_str -R .debug_ranges -R .debug_loc '{}' \;

# strip host binaries
find "$pkgdir"/usr/bin/ "$pkgdir"/usr/lib/gcc/$_target/ -type f -and \( -executable \) -exec strip '{}' \;

# Remove files that conflict with host gcc package
rm -rf "$pkgdir"/usr/share/man/man7
rm -rf "$pkgdir"/usr/share/info
rm -rf "$pkgdir"/usr/share/gcc-$pkgver
}
Loading