diff options
Diffstat (limited to 'community/gcc10-libs/PKGBUILD')
-rw-r--r-- | community/gcc10-libs/PKGBUILD | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/community/gcc10-libs/PKGBUILD b/community/gcc10-libs/PKGBUILD new file mode 100644 index 00000000..1556c78d --- /dev/null +++ b/community/gcc10-libs/PKGBUILD @@ -0,0 +1,94 @@ +# remove tsan (thread sanitizer) plugin, not available for i686 +pkgname=( + $( + printf '%s\n' "${pkgname[@]}" | \ + grep -vFx 'lib32-gcc-libs' + ) +) +unset -f 'package_lib32-gcc-libs' +eval "$( + declare -f prepare | \ + sed ' + \,/s/lib64/lib/, d + ' + declare -f build | \ + sed ' + /configure/ s/--enable-multilib/--disable-multilib/ + /configure/ s,--with-bugurl=https://bugs\.archlinux\.org/,--with-bugurl=https://bugs.archlinux32.org/, + /configure/ s/;$/ --build=$CHOST;/ + ' + declare -f package_gcc10-libs | \ + sed ' + s/\$pkgname-multilib// + s@libsanitizer/{a,l,ub,t}san@libsanitizer/{a,l,ub}san@ + /provides=/s/libtsan.so// + \@/usr/lib32/@ d + ' + declare -f package_gcc10 | \ + sed ' + s/"lib32-gcc-libs[^"]*"//g + s@make.*tsan.*install.*@#\0@ + ' +)" +eval "$( + for name in "${pkgname[@]}"; do + declare -f package_${name} | \ + sed ' + s/$pkgname-multilib// + s/{,32}// + \,/lib32/,d + \,/32/,d + ' + done +)" + +# i486-specific + +if [ "${CARCH}" = "i486" ]; then + # building toolchain (gcc): again, lobtool problems + # /usr/lib/gcc/i486-pc-linux-gnu/7.3.0/ld: cannot find -lquadmath + # collect2: error: ld returned 1 exit status + # libtool: install: error: relink `libgfortran.la' with the above command before installing it + # make: Leaving directory '/build/gcc/src/gcc-build/i486-pc-linux-gnu/libgfortran' + # => wrong link order: libgfortran requires libquadmath + eval "$( + declare -f package_gcc10-libs | \ + sed ' + /for lib in / s/libgfortran/libquadmath libgfortran/ + ' + )" + + # disable CET (Control Flow instructions endbr32/enbr64) + eval "$( + declare -f build | \ + sed ' + s/--enable-cet=auto/--disable-cet/ + ' + )" + +else + + # force enable CET (Control Flow instructions endbr32/enbr64) + eval "$( + declare -f build | \ + sed ' + s/--enable-cet=auto/--enable-cet/ + ' + )" + +fi + +makedepends_pentium4=("${makedepends_i686[@]}") + +# avoid CHOST double gcc-libs +eval "$( + declare -f package_gcc10 | \ + sed ' + /rm.*_libdir.*/ a \ + rm -f "$pkgdir"/usr/lib/gcc/*-pc-linux-gnu/${pkgver}/libgcc_s.so*; + ' +)" + +source[1]='isl-0.24.tar.xz::https://downloads.sourceforge.net/project/libisl/isl-0.24.tar.xz?ts=gAAAAABhojIcYmUfplFkh4GCklCNjXe6c5A561-eOrQD92l7Dd9Lw5vOoApEOzfk2XL8NElrqvTKrH0enBWHiWCznbwG1pkAaQ%3D%3D&r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Flibisl%2Ffiles%2Fisl-0.24.tar.xz%2Fdownload%3Fuse_mirror%3Ddeac-fra%26download%3D%26failedmirror%3Ddeac-riga.dl.sourceforge.net' + +unset check |