summaryrefslogtreecommitdiffstats
path: root/development/gcc5/gcc5.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/gcc5/gcc5.SlackBuild')
-rw-r--r--development/gcc5/gcc5.SlackBuild27
1 files changed, 18 insertions, 9 deletions
diff --git a/development/gcc5/gcc5.SlackBuild b/development/gcc5/gcc5.SlackBuild
index f8181187cb..502a79cd7c 100644
--- a/development/gcc5/gcc5.SlackBuild
+++ b/development/gcc5/gcc5.SlackBuild
@@ -150,6 +150,8 @@ LANGS=${LANGS:-'c,c++,java'}
echo "Building these compilers: $LANGS"
+set -e
+
case "$ARCH" in
arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
*) TARGET=$ARCH-slackware-linux ;;
@@ -212,6 +214,12 @@ ANTLJAR=$(echo $CWD/antlr-*.jar | tail -1)
# Fix build with glibc 2.28, which no longer makes available header file <sys/ustat.h>
cat $CWD/patches/glibc2.28-ustat.diff | patch -p0 --verbose || exit 1
+ # Fix build with glibc 2.30
+ cat $CWD/patches/glibc2.30-ipc_perm.diff | patch -p0 --verbose || exit 1
+
+ # Recent linux kernels have romved the Cyclades driver
+ cat $CWD/patches/kernel-5.12.diff | patch -p1 --verbose || exit 1
+
# Fix perms/owners
chown -R root:root .
find . -perm 777 -exec chmod 755 {} \;
@@ -220,9 +228,9 @@ ANTLJAR=$(echo $CWD/antlr-*.jar | tail -1)
find . -perm 664 -exec chmod 644 {} \;
mkdir -p $PKG/usr/doc/gcc-$VERSION
cp -a \
- COPYING* ChangeLog* FAQ INSTALL \
+ COPYING* ChangeLog* INSTALL \
LAST_UPDATED MAINTAINERS NEWS \
- README* *.html \
+ README* \
$PKG/usr/doc/gcc-$VERSION
# We will keep part of these, but they are really big...
@@ -428,7 +436,8 @@ ANTLJAR=$(echo $CWD/antlr-*.jar | tail -1)
$GCC_ARCHOPTS \
--target=${TARGET} \
--build=${TARGET} \
- --host=${TARGET} || exit 1
+ --host=${TARGET} \
+ CXX='g++ -std=c++14' || exit 1
#--enable-java-awt=gtk \
#--disable-gtktest \
@@ -540,12 +549,12 @@ ln -s ../../../bin/ecj $PKG/usr/lib$LIBDIRSUFFIX/jvm/bin/javac
# Don't package libffi stuff anymore. GCC will link the internal version
# statically, and we'll need a newer one elsewhere.
find . -name "ffi*.h" | xargs rm -f
-find . -name "libffi*" | xargs rm -f
-rm -f usr/man/man3/ffi*
-rm -f usr/info/libffi*
+find . -name "libffi*" | xargs rm -fR
+rm -f usr/man/man3/ffi* || true
+rm -f usr/info/libffi* || true
# Install a proper pkgconfig file for libgcj:
-rm $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/pkgconfig/libgcj*pc
-rm $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/32/pkgconfig/libgcj*pc
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/pkgconfig/libgcj*pc
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/32/pkgconfig/libgcj*pc || true
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
cat $CWD/libgcj-5.pc \
| sed -e "s,@LIBDIRSUFFIX@,${LIBDIRSUFFIX}," \
@@ -569,7 +578,7 @@ cat $CWD/libgcj-5.pc \
strip --strip-unneeded usr/bin/* 2> /dev/null
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-)
+) || true
# Remove localizations overlapping with Slackware's gcc
rm -rf $PKG/usr/share/locale