From 12153c8c09d5d526893281e1a93c5c9fb2b0ca98 Mon Sep 17 00:00:00 2001 From: Martchus Date: Mon, 18 Dec 2023 22:58:25 +0100 Subject: [PATCH] Update mingw-w64-gcc to 13.2.1 * Import PKGBUILD from official repos * Use Git and update to same commit as official `gcc` package --- gcc/mingw-w64/PKGBUILD | 68 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 gcc/mingw-w64/PKGBUILD diff --git a/gcc/mingw-w64/PKGBUILD b/gcc/mingw-w64/PKGBUILD new file mode 100644 index 00000000..9af541c8 --- /dev/null +++ b/gcc/mingw-w64/PKGBUILD @@ -0,0 +1,68 @@ +# Maintainer of official package: Felix Yan + +pkgname=mingw-w64-gcc +pkgver=13.2.1 +pkgrel=1 +pkgdesc="Cross GCC for the MinGW-w64 cross-compiler" +arch=('x86_64' 'aarch64') +url="https://gcc.gnu.org" +license=('GPL' 'LGPL' 'FDL' 'custom') +groups=('mingw-w64-toolchain' 'mingw-w64') +depends=('zlib' 'libisl' 'libmpc' 'mingw-w64-crt' 'mingw-w64-binutils' 'mingw-w64-winpthreads' 'mingw-w64-headers') +# gcc-d doesn't build as of 13.1.0 +makedepends=("gcc-ada" "git") +options=('!strip' 'staticlibs' '!emptydirs' '!buildflags') +_commit=d8a0dcd146dd95e2b6b85cf82c445214d364cf3b +source=(git+https://sourceware.org/git/gcc.git#commit=${_commit}) +#source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig}) +validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org + 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com + 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com + D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek +sha512sums=('SKIP') + +_architectures="i686-w64-mingw32 x86_64-w64-mingw32" + +prepare() { + ln -sf gcc-${pkgver/+/-} gcc + cd gcc + + # mmapio.c:69:14: error: implicit declaration of function ‘getpagesize’ + sed -i 's|\-Werror||g' libbacktrace/configure +} + +build() { + for _arch in ${_architectures}; do + mkdir -p "$srcdir"/build-${_arch} && cd "$srcdir"/build-${_arch} + "$srcdir"/gcc/configure --prefix=/usr --libexecdir=/usr/lib \ + --target=${_arch} \ + --with-bugurl=https://bugs.archlinux.org/ \ + --enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ \ + --enable-shared --enable-static \ + --enable-threads=posix --enable-fully-dynamic-string \ + --enable-libstdcxx-time=yes --enable-libstdcxx-filesystem-ts=yes \ + --with-system-zlib --enable-cloog-backend=isl \ + --enable-lto --enable-libgomp \ + --disable-multilib --enable-checking=release \ + --disable-sjlj-exceptions --with-dwarf2 + make + done +} + +package() { + for _arch in ${_architectures}; do + cd "$srcdir"/build-${_arch} + make DESTDIR="$pkgdir" install + ${_arch}-strip "$pkgdir"/usr/${_arch}/lib/*.dll + strip "$pkgdir"/usr/bin/${_arch}-* + strip "$pkgdir"/usr/lib/gcc/${_arch}/${pkgver}/{cc1*,collect2,gnat1,f951,lto*} + ln -s ${_arch}-gcc "$pkgdir"/usr/bin/${_arch}-cc + # mv dlls + mkdir -p "$pkgdir"/usr/${_arch}/bin/ + mv "$pkgdir"/usr/${_arch}/lib/*.dll "$pkgdir"/usr/${_arch}/bin/ + done + strip "$pkgdir"/usr/bin/* + # remove unnecessary files + rm -r "$pkgdir"/usr/share + rm "$pkgdir"/usr/lib/libcc1.* +}