summaryrefslogtreecommitdiffstats
path: root/source/d/gcc/gcc.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/gcc/gcc.SlackBuild')
-rwxr-xr-xsource/d/gcc/gcc.SlackBuild104
1 files changed, 56 insertions, 48 deletions
diff --git a/source/d/gcc/gcc.SlackBuild b/source/d/gcc/gcc.SlackBuild
index 6e5e6b321..f4c17cdcc 100755
--- a/source/d/gcc/gcc.SlackBuild
+++ b/source/d/gcc/gcc.SlackBuild
@@ -2,7 +2,7 @@
# GCC package build script (written by volkerdi@slackware.com)
#
# Copyright 2003, 2004 Slackware Linux, Inc., Concord, California, USA
-# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2021 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2021, 2022, 2023, 2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -57,7 +57,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gcc
SRCVER=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
VERSION=$(echo $SRCVER | cut -f 1 -d _)
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# How many jobs to run in parallel:
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -66,7 +66,7 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i586 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
@@ -83,8 +83,8 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "gcc-gnat-$VERSION-$ARCH-$BUILD.txz"
echo "gcc-objc-$VERSION-$ARCH-$BUILD.txz"
echo "gcc-go-$VERSION-$ARCH-$BUILD.txz"
- echo "gcc-brig-$VERSION-$ARCH-$BUILD.txz"
echo "gcc-gdc-$VERSION-$ARCH-$BUILD.txz"
+ echo "gcc-gm2-$VERSION-$ARCH-$BUILD.txz"
exit 0
fi
@@ -133,7 +133,8 @@ TMP=${TMP:-/tmp}
# Extract the source code:
cd $TMP
rm -rf gcc-$SRCVER
-tar xvf $CWD/gcc-$SRCVER.tar.?z || exit 1
+echo "Extracting $CWD/gcc-$SRCVER.tar.?z..."
+tar xf $CWD/gcc-$SRCVER.tar.?z || exit 1
# This is the main DESTDIR target:
PKG1=$TMP/package-gcc
@@ -142,41 +143,38 @@ PKG2=$TMP/package-gcc-g++
PKG3=$TMP/package-gcc-gfortran
PKG4=$TMP/package-gcc-gnat
PKG6=$TMP/package-gcc-objc
-#PKG7=$TMP/package-gcc-g++-gch
PKG8=$TMP/package-gcc-go
-PKG9=$TMP/package-gcc-brig
PKG10=$TMP/package-gcc-gdc
+PKG11=$TMP/package-gcc-gm2
# Clear the build locations:
-rm -rf $PKG{1,2,3,4,6,8,9,10}
-mkdir -p $PKG{1,2,3,4,6,8,9,10}/usr/doc/gcc-$VERSION
+rm -rf $PKG{1,2,3,4,6,8,10,11}
+mkdir -p $PKG{1,2,3,4,6,8,10,11}/usr/doc/gcc-$VERSION
# Insert package descriptions:
-mkdir -p $PKG{1,2,3,4,6,8,9,10}/install
+mkdir -p $PKG{1,2,3,4,6,8,9,10,11}/install
cat $CWD/slack-desc.gcc > $PKG1/install/slack-desc
cat $CWD/slack-desc.gcc-g++ > $PKG2/install/slack-desc
cat $CWD/slack-desc.gcc-gfortran > $PKG3/install/slack-desc
cat $CWD/slack-desc.gcc-gnat > $PKG4/install/slack-desc
cat $CWD/slack-desc.gcc-objc > $PKG6/install/slack-desc
-#cat $CWD/slack-desc.gcc-g++-gch > $PKG7/install/slack-desc
cat $CWD/slack-desc.gcc-go > $PKG8/install/slack-desc
-cat $CWD/slack-desc.gcc-brig > $PKG9/install/slack-desc
cat $CWD/slack-desc.gcc-gdc > $PKG10/install/slack-desc
+cat $CWD/slack-desc.gcc-gm2 > $PKG11/install/slack-desc
cd gcc-$SRCVER || exit 1
-# Smite the fixincludes:
-zcat $CWD/patches/gcc-no_fixincludes.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
-
-# Fix a gfortran bug:
-zcat $CWD/patches/gfortran.deferred-shape-vs-assumed-shape.patch.gz | patch -p0 --verbose --backup --suffix=.orig || exit 1
-
-# Fix regressions in 10.3.0 (and presumably 11.1.0 since they still apply cleanly):
-zcat $CWD/patches/PR100102-2.a1b3484a8e6c53c8084723e3f1738d402374198e.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
-
-# Fix compiler error in gcc-go
-# https://github.com/golang/go/issues/47771
-zcat $CWD/patches/7185690.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+# Apply any required patches:
+for patch in $CWD/patches/*.patch $CWD/patches/*.diff ; do
+ if [ -r "$patch" ]; then
+ cat $patch | patch -p1 --verbose --backup --suffix=.orig || exit 1
+ fi
+done
+for patch in $CWD/patches/*.patch.gz $CWD/patches/*.diff.gz ; do
+ if [ -r "$patch" ]; then
+ zcat $patch | patch -p1 --verbose --backup --suffix=.orig || exit 1
+ fi
+done
# Fix perms/owners:
chown -R root:root .
@@ -266,14 +264,6 @@ mkdir -p $PKG8/usr/doc/gcc-${VERSION}/gcc/go
$PKG8/usr/doc/gcc-${VERSION}/gcc/go
)
-mkdir -p $PKG9/usr/doc/gcc-${VERSION}/gcc/brig
-( cd gcc/brig || exit 0
- if [ -r ChangeLog ]; then
- cat ChangeLog | head -n 1000 > $PKG9/usr/doc/gcc-${VERSION}/gcc/brig/ChangeLog
- touch -r ChangeLog $PKG9/usr/doc/gcc-${VERSION}/gcc/brig/ChangeLog
- fi
-)
-
mkdir -p $PKG10/usr/doc/gcc-${VERSION}/gcc/d
( cd gcc/d || exit 0
if [ -r ChangeLog ]; then
@@ -282,6 +272,17 @@ mkdir -p $PKG10/usr/doc/gcc-${VERSION}/gcc/d
fi
)
+mkdir -p $PKG11/usr/doc/gcc-${VERSION}/gcc/m2
+( cd gcc/m2 || exit 0
+ if [ -r ChangeLog ]; then
+ cat ChangeLog | head -n 1000 > $PKG11/usr/doc/gcc-${VERSION}/gcc/m2/ChangeLog
+ touch -r ChangeLog $PKG11/usr/doc/gcc-${VERSION}/gcc/m2/ChangeLog
+ fi
+ cp -a \
+ COPYING* NEWS* README* \
+ $PKG11/usr/doc/gcc-${VERSION}/gcc/m2
+)
+
mkdir -p $PKG3/usr/doc/gcc-${VERSION}/libgfortran
( cd libgfortran || exit 0
if [ -r ChangeLog ]; then
@@ -354,7 +355,7 @@ mkdir -p $PKG2/usr/doc/gcc-${VERSION}/libstdc++-v3
--infodir=/usr/info \
--enable-shared \
--enable-bootstrap \
- --enable-languages=ada,brig,c,c++,d,fortran,go,lto,objc,obj-c++ \
+ --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++ \
--enable-threads=posix \
--enable-checking=release \
--enable-objc-gc \
@@ -602,18 +603,6 @@ rm -f $PKG1/{,usr/}lib${LIBDIRSUFFIX}/*.la
mv $PKG1/usr/man/man1/gofmt.1.gz usr/man/man1
) || exit 1
-# gcc-brig:
-( cd $PKG9
- mkdir -p usr/bin
- mv $PKG1/usr/bin/*brig* usr/bin
- mkdir -p usr/lib${LIBDIRSUFFIX}
- mv $PKG1/usr/lib${LIBDIRSUFFIX}/libhsail* usr/lib${LIBDIRSUFFIX}
- mkdir -p usr/libexec/gcc/$TARGET/$VERSION
- mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/brig1 usr/libexec/gcc/$TARGET/$VERSION
- mkdir -p usr/man/man1
- mv $PKG1/usr/man/man1/gccbrig.1.gz usr/man/man1
-) || exit 1
-
# gcc-gdc:
( cd $PKG10
mkdir -p usr/bin
@@ -637,6 +626,26 @@ rm -f $PKG1/{,usr/}lib${LIBDIRSUFFIX}/*.la
mv $PKG1/usr/man/man1/gdc.1.gz usr/man/man1
) || exit 1
+# gcc-gm2:
+( cd $PKG11
+ mkdir -p usr/bin
+ mv $PKG1/usr/bin/gm2 $PKG1/usr/bin/*-gm2 usr/bin
+ mkdir -p usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/plugin
+ mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/m2 usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION
+ mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/plugin/m2* usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/plugin
+ mv $PKG1/usr/lib${LIBDIRSUFFIX}/libm2* usr/lib${LIBDIRSUFFIX}
+ # As a rule, we don't package static libraries:
+ ( cd usr/lib${LIBDIRSUFFIX}
+ for library in libm2*.so ; do
+ rm -f $(basename $library .so).a
+ done
+ )
+ mkdir -p usr/libexec/gcc/$TARGET/$VERSION
+ mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/cc1gm2 usr/libexec/gcc/$TARGET/$VERSION
+ mkdir -p usr/man/man1
+ mv $PKG1/usr/man/man1/gm2.1.gz usr/man/man1
+) || exit 1
+
# Generate packages:
( cd $PKG1
makepkg -l y -c n $TMP/gcc-$VERSION-$ARCH-$BUILD.txz )
@@ -650,12 +659,11 @@ rm -f $PKG1/{,usr/}lib${LIBDIRSUFFIX}/*.la
makepkg -l y -c n $TMP/gcc-objc-$VERSION-$ARCH-$BUILD.txz )
( cd $PKG8
makepkg -l y -c n $TMP/gcc-go-$VERSION-$ARCH-$BUILD.txz )
-( cd $PKG9
- makepkg -l y -c n $TMP/gcc-brig-$VERSION-$ARCH-$BUILD.txz )
( cd $PKG10
makepkg -l y -c n $TMP/gcc-gdc-$VERSION-$ARCH-$BUILD.txz )
+( cd $PKG11
+ makepkg -l y -c n $TMP/gcc-gm2-$VERSION-$ARCH-$BUILD.txz )
echo
echo "Slackware GCC package build complete!"
echo
-