From 9664bee729d487bcc0a0bc35859f8e13d5421c75 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Wed, 26 Sep 2012 01:10:42 +0000 Subject: Slackware 14.0 Wed Sep 26 01:10:42 UTC 2012 Slackware 14.0 x86_64 stable is released! We're perfectionists here at Slackware, so this release has been a long time a-brewing. But we think you'll agree that it was worth the wait. Slackware 14.0 combines modern components, ease of use, and flexible configuration... our "KISS" philosophy demands it. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Thanks to everyone who helped make this happen. The Slackware team, the upstream developers, and (of course) the awesome Slackware user community. Have fun! :-) --- source/d/gcc/antlr-runtime-3.4.jar | Bin 0 -> 164368 bytes source/d/gcc/create_gcj_jvm.sh | 93 +++++++++++++++++++++ source/d/gcc/ecj.sh | 5 ++ source/d/gcc/gcc-4.7.1.adalib.pic.diff | 40 +++++++++ source/d/gcc/gcc.SlackBuild | 144 +++++++++++++++++++++++++++------ source/d/gcc/slack-desc.gcc-gfortran | 16 ++-- source/d/gcc/slack-desc.gcc-go | 19 +++++ 7 files changed, 285 insertions(+), 32 deletions(-) create mode 100644 source/d/gcc/antlr-runtime-3.4.jar create mode 100644 source/d/gcc/create_gcj_jvm.sh create mode 100644 source/d/gcc/ecj.sh create mode 100644 source/d/gcc/gcc-4.7.1.adalib.pic.diff create mode 100644 source/d/gcc/slack-desc.gcc-go (limited to 'source/d/gcc') diff --git a/source/d/gcc/antlr-runtime-3.4.jar b/source/d/gcc/antlr-runtime-3.4.jar new file mode 100644 index 000000000..865a537b0 Binary files /dev/null and b/source/d/gcc/antlr-runtime-3.4.jar differ diff --git a/source/d/gcc/create_gcj_jvm.sh b/source/d/gcc/create_gcj_jvm.sh new file mode 100644 index 000000000..d1011860f --- /dev/null +++ b/source/d/gcc/create_gcj_jvm.sh @@ -0,0 +1,93 @@ +# --------------------------------------------------------------------------- +# This script creates a directory structure below /usr/lib/jvm and populates +# it with symlinks to GCC binaries. +# This will work as a compatibility layer to emulate an Oracle JDK/JRE. +# This emulation is required in order to compile OpenJDK using GNU java. +# +# The same can automatically be achieved in Slackware's gcc packages if +# the 'configure' command is called with the following additional parameters: +# --enable-java-home \ +# --with-java-home=/usr/lib$LIBDIRSUFFIX/jvm/jre \ +# --with-jvm-root-dir=/usr/lib$LIBDIRSUFFIX/jvm \ +# --with-jvm-jar-dir=/usr/lib$LIBDIRSUFFIX/jvm/jvm-exports \ +# --with-arch-directory=$LIB_ARCH \ +# +# Author: Eric Hameleers December 2011 +# --------------------------------------------------------------------------- + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" + LIB_ARCH=i386 +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" + LIB_ARCH=i386 +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" + LIB_ARCH=amd64 +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" + LIB_ARCH=$ARCH +fi + +# Where does the OpenJDK SlackBuild expect the GNU java compatibility symlinks: +JVM=${1:-/usr/lib${LIBDIRSUFFIX}/jvm} +BINDIR=/usr/bin + +# What version of GCC do we have installed: +GCJVER=$(gcj -dumpversion) + +# First, remove the old set of symlinks if they should exist: +rm -fr $JVM + +# Create a JDK compatible directory structure for GNU java: +mkdir -p $JVM +mkdir -p $JVM/bin +mkdir -p $JVM/jre/bin +mkdir -p $JVM/jre/lib/${LIB_ARCH}/client +mkdir -p $JVM/jre/lib/${LIB_ARCH}/server +mkdir -p $JVM/lib + +ln -sf $BINDIR/gjar $JVM/bin/jar +ln -sf $BINDIR/grmic $JVM/bin/rmic +ln -sf $BINDIR/gjavah $JVM/bin/javah +ln -sf $BINDIR/jcf-dump $JVM/bin/javap +ln -sf $BINDIR/gappletviewer $JVM/bin/appletviewer +ln -sf $BINDIR/grmiregistry $JVM/bin/rmiregistry +ln -sf $BINDIR/grmiregistry $JVM/jre/bin/rmiregistry +ln -sf $BINDIR/gkeytool $JVM/bin/keytool +ln -sf $BINDIR/gkeytool $JVM/jre/bin/keytool +ln -sf $BINDIR/gij $JVM/bin/java +ln -sf $BINDIR/ecj $JVM/bin/javac +ln -sf /usr/lib/gcj-${GCJVER}-11/libjvm.so $JVM/jre/lib/${LIB_ARCH}/client/libjvm.so +ln -sf /usr/lib/gcj-${GCJVER}-11/libjvm.so $JVM/jre/lib/${LIB_ARCH}/server/libjvm.so +ln -sf /usr/lib/gcj-${GCJVER}-11/libjawt.so $JVM/jre/lib/${LIB_ARCH}/libjawt.so +ln -sf /usr/share/java/libgcj-${GCJVER}.jar $JVM/jre/lib/rt.jar +ln -sf /usr/share/java/libgcj-tools-${GCJVER}.jar $JVM/lib/tools.jar +ln -sf /usr/include/c++/${GCJVER}/gnu/java $JVM/include + +# Add a Eclipse Java Compiler wrapper which is required +# for bootstrapping OpenJDK using GNU java: +cat < /usr/bin/ecj +#!/bin/sh + +CLASSPATH=/usr/share/java/ecj.jar\${CLASSPATH:+:}\$CLASSPATH \ + java org.eclipse.jdt.internal.compiler.batch.Main "\$@" + +EOT +chmod 755 /usr/bin/ecj + + diff --git a/source/d/gcc/ecj.sh b/source/d/gcc/ecj.sh new file mode 100644 index 000000000..1d8b79793 --- /dev/null +++ b/source/d/gcc/ecj.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +CLASSPATH=@JAVADIR@/ecj.jar${CLASSPATH:+:}$CLASSPATH \ + java org.eclipse.jdt.internal.compiler.batch.Main "$@" + diff --git a/source/d/gcc/gcc-4.7.1.adalib.pic.diff b/source/d/gcc/gcc-4.7.1.adalib.pic.diff new file mode 100644 index 000000000..792ec654b --- /dev/null +++ b/source/d/gcc/gcc-4.7.1.adalib.pic.diff @@ -0,0 +1,40 @@ +From 176ff0f9a1016553978d6cf41770703e2ad90958 Mon Sep 17 00:00:00 2001 +From: jakub +Date: Thu, 14 Jun 2012 17:45:53 +0000 +Subject: [PATCH 1/1] * gcc-interface/Makefile.in (gnatlib-shared-default): Append + $(PICFLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to submake. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@188623 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + gcc/ada/ChangeLog | 5 +++++ + gcc/ada/gcc-interface/Makefile.in | 2 +- + 2 files changed, 6 insertions(+), 1 deletions(-) + +diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog +index 7e3195a..072a3f2 100644 +--- a/gcc/ada/ChangeLog ++++ b/gcc/ada/ChangeLog +@@ -1,3 +1,8 @@ ++2012-06-14 Jakub Jelinek ++ ++ * gcc-interface/Makefile.in (gnatlib-shared-default): Append ++ $(PICFLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to submake. ++ + 2012-06-14 Release Manager + + * GCC 4.7.1 released. +diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in +index ee8db38..f9e7eda 100644 +--- a/gcc/ada/gcc-interface/Makefile.in ++++ b/gcc/ada/gcc-interface/Makefile.in +@@ -2597,7 +2597,7 @@ gnatlib-shared-default: + $(MAKE) $(FLAGS_TO_PASS) \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \ +- GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ ++ GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ + THREAD_KIND="$(THREAD_KIND)" \ + gnatlib +-- +1.7.3.4 diff --git a/source/d/gcc/gcc.SlackBuild b/source/d/gcc/gcc.SlackBuild index 8288a2a44..df5f99d5f 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 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,6 +23,8 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # +# Modified 2011 by Eric Hameleers for OpenJDK. + # Some notes, Fri May 16 12:31:32 PDT 2003: # # Why i486 and not i386? Because the shared C++ libraries in gcc-3.2.x will @@ -44,50 +46,65 @@ PKGNAM=gcc VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} # How many jobs to run in parallel: NUMJOBS=" -j 7 " # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) export ARCH=i486 ;; - arm*) export ARCH=arm ;; + case "$(uname -m)" in + i?86) ARCH=i486 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;; # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; + *) ARCH=$(uname -m) ;; esac + export ARCH fi -TARGET=$ARCH-slackware-linux - if [ "$ARCH" = "i386" ]; then SLKCFLAGS="-O2 -march=i386 -mcpu=i686" LIBDIRSUFFIX="" + LIB_ARCH=i386 elif [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" + LIB_ARCH=i386 elif [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" + LIB_ARCH=i386 elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686" LIBDIRSUFFIX="" + LIB_ARCH=i386 elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" LIBDIRSUFFIX="" + LIB_ARCH=s390 elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" + LIB_ARCH=amd64 +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" + LIB_ARCH=armv7hl else SLKCFLAGS="-O2" LIBDIRSUFFIX="" + LIB_ARCH=$ARCH fi +case "$ARCH" in + arm*) TARGET=$ARCH-slackware-linux-gnueabi ;; + *) TARGET=$ARCH-slackware-linux ;; +esac + CWD=$(pwd) # Temporary build location. This should *NOT* be a directory # path a non-root user could create later... -TMP=/gcc-$(mcookie) +TMP=${TMP:-"/gcc-$(mcookie)"} # This is the main DESTDIR target: PKG1=$TMP/package-gcc @@ -98,15 +115,16 @@ PKG4=$TMP/package-gcc-gnat PKG5=$TMP/package-gcc-java PKG6=$TMP/package-gcc-objc PKG7=$TMP/package-gcc-g++-gch +PKG8=$TMP/package-gcc-go # Clear the build locations: if [ -d $TMP ]; then rm -rf $TMP fi -mkdir -p $PKG{1,2,3,4,5,6,7}/usr/doc/gcc-$VERSION +mkdir -p $PKG{1,2,3,4,5,6,7,8}/usr/doc/gcc-$VERSION # Insert package descriptions: -mkdir -p $PKG{1,2,3,4,5,6,7}/install +mkdir -p $PKG{1,2,3,4,5,6,7,8}/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 @@ -114,6 +132,7 @@ cat $CWD/slack-desc.gcc-gnat > $PKG4/install/slack-desc cat $CWD/slack-desc.gcc-java > $PKG5/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 cd $TMP tar xvf $CWD/gcc-$VERSION.tar.?z* @@ -122,6 +141,16 @@ tar xvf $CWD/gcc-$VERSION.tar.?z* # This can be retrieved from ftp://sourceware.org/pub/java cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar +# Use an antlr runtime to compile javadoc. +# The runtime can be obtained from: +#https://oss.sonatype.org/content/repositories/releases/org/antlr/antlr-runtime/ +ANTLJAR=$(echo $CWD/antlr-*.jar | tail -1) + +# Upstream -fPIC fix for gnat build: +cd gcc-$VERSION + zcat $CWD/gcc-4.7.1.adalib.pic.diff.gz | patch -p1 --verbose || exit 1 +cd .. + # install docs ( cd gcc-$VERSION # Smite the fixincludes: @@ -134,9 +163,8 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar find . -perm 664 -exec chmod 644 {} \; mkdir -p $PKG1/usr/doc/gcc-$VERSION cp -a \ - BUGS COPYING* \ - ChangeLog.tree-ssa FAQ INSTALL \ - LAST_UPDATED MAINTAINERS \ + COPYING* ChangeLog* FAQ INSTALL \ + LAST_UPDATED MAINTAINERS NEWS \ README* *.html \ $PKG1/usr/doc/gcc-$VERSION @@ -198,6 +226,19 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar touch -r ChangeLog $PKG6/usr/doc/gcc-${VERSION}/gcc/objc/ChangeLog fi ) + + mkdir -p $PKG8/usr/doc/gcc-${VERSION}/gcc/go + ( cd go + if [ -r ChangeLog ]; then + cat ChangeLog | head -n 1000 > $PKG8/usr/doc/gcc-${VERSION}/gcc/go/ChangeLog + touch -r ChangeLog $PKG8/usr/doc/gcc-${VERSION}/gcc/go/ChangeLog + fi + cp -a \ + README* THREADS* \ + gofrontend/{LICENSE,PATENTS,README} \ + $PKG8/usr/doc/gcc-${VERSION}/gcc/go + ) + ) || exit 1 mkdir -p $PKG3/usr/doc/gcc-${VERSION}/libgfortran @@ -278,6 +319,7 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar touch -r ChangeLog $PKG2/usr/doc/gcc-${VERSION}/libstdc++-v3/ChangeLog fi ) + ) # Add fastjar to the gcc-java package: @@ -305,7 +347,7 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar --libdir=/usr/lib$LIBDIRSUFFIX \ --mandir=/usr/man \ --infodir=/usr/info \ - --build=$ARCH-slackware-linux + --build=$TARGET make $NUMJOBS || exit 1 make install DESTDIR=$PKG5 || exit 1 mkdir -p $PKG5/usr/doc/fastjar-$FASTJARVER @@ -372,17 +414,26 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar --infodir=/usr/info \ --enable-shared \ --enable-bootstrap \ - --enable-languages=ada,c,c++,fortran,java,objc,lto \ + --enable-languages=ada,c,c++,fortran,go,java,lto,objc \ --enable-threads=posix \ --enable-checking=release \ + --enable-objc-gc \ --with-system-zlib \ - --with-python-dir=/lib$LIBDIRSUFFIX/python2.6/site-packages \ + --with-python-dir=/lib$LIBDIRSUFFIX/python2.7/site-packages \ --disable-libunwind-exceptions \ --enable-__cxa_atexit \ --enable-libssp \ --enable-lto \ --with-gnu-ld \ --verbose \ + --enable-java-home \ + --with-java-home=/usr/lib$LIBDIRSUFFIX/jvm/jre \ + --with-jvm-root-dir=/usr/lib$LIBDIRSUFFIX/jvm \ + --with-jvm-jar-dir=/usr/lib$LIBDIRSUFFIX/jvm/jvm-exports \ + --with-arch-directory=$LIB_ARCH \ + --with-antlr-jar=$ANTLJAR \ + --enable-java-awt=gtk \ + --disable-gtktest \ $GCC_ARCHOPTS \ --target=${TARGET} \ --build=${TARGET} \ @@ -418,14 +469,14 @@ cp $CWD/ecj-4.5.jar gcc-$VERSION/ecj.jar rm -f $PKG1/usr/lib${LIBDIRSUFFIX}/*gdb.py # Be sure the "specs" file is installed. -if [ ! -r $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${ARCH}-slackware-linux/${VERSION}/specs ]; then - cat stage1-gcc/specs > $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${ARCH}-slackware-linux/${VERSION}/specs +if [ ! -r $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs ]; then + cat stage1-gcc/specs > $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs fi # Make our 64bit gcc look for 32bit gcc binaries in ./32 subdirectory: if [ "$ARCH" = "x86_64" ]; then sed -i 's#;.\(:../lib !m64 m32;\)$#;32\1#' \ - $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${ARCH}-slackware-linux/${VERSION}/specs + $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/${TARGET}/${VERSION}/specs fi # make ada.install-common DESTDIR=$PKG1 @@ -462,6 +513,9 @@ rm -f $PKG1/usr/lib/libiberty.a # catch-all ln -sf gcc cc ln -sf gcc-$VERSION ${TARGET}-gcc ln -sf gcc-$VERSION ${TARGET}-gcc-$VERSION + ln -sf gcc-ar ${TARGET}-gcc-ar + ln -sf gcc-nm ${TARGET}-gcc-nm + ln -sf gcc-ranlib ${TARGET}-gcc-ranlib ln -sf gcj ${TARGET}-gcj ln -sf gcjh ${TARGET}-gcjh ln -sf g++-gcc-$VERSION ${TARGET}-c++ @@ -531,6 +585,11 @@ rm -f $PKG1/usr/lib/libiberty.a # catch-all ) # gcc-gnat: +# First, relocate usr/bin/gnative2ascii to the gcc-java package so it +# isn't matched and accidentally put in gcc-gnat: +mkdir -p $PKG5/usr/bin +mv $PKG1/usr/bin/gnative2ascii $PKG5/usr/bin +# Now make the gcc-gnat package tree: ( cd $PKG4 mkdir -p usr/bin mv $PKG1/usr/bin/gnat* usr/bin @@ -583,11 +642,11 @@ rm -f $PKG1/usr/lib/libiberty.a # catch-all mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/jvmpi.h usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include mv $PKG1/usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include/libffi usr/lib${LIBDIRSUFFIX}/gcc/$TARGET/$VERSION/include # aot-compile Python plugins: - if [ ! -d $PKG1/usr/lib${LIBDIRSUFFIX}/python2.6 ]; then - echo "NO $PKG1/usr/lib${LIBDIRSUFFIX}/python2.6 !" + if [ ! -d $PKG1/usr/lib${LIBDIRSUFFIX}/python2.7 ]; then + echo "NO $PKG1/usr/lib${LIBDIRSUFFIX}/python2.7 !" exit 1 fi - mv $PKG1/usr/lib${LIBDIRSUFFIX}/python2.6 usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/python2.7 usr/lib${LIBDIRSUFFIX} mkdir -p usr/info mv $PKG1/usr/info/gcj.* usr/info # mv $PKG1/usr/info/fastjar.* usr/info @@ -633,8 +692,24 @@ rm -f $PKG1/usr/lib/libiberty.a # catch-all mv $PKG1/usr/man/man1/jv-convert.1.gz usr/man/man1 mv $PKG1/usr/man/man1/jv-scan.1.gz usr/man/man1 mv $PKG1/usr/man/man1/rebuild-gcj-db.1.gz usr/man/man1 + mkdir -p usr/man/man3 + mv $PKG1/usr/man/man3/ffi* usr/man/man3 mkdir -p usr/share mv $PKG1/usr/share/java usr/share + # The ecj wrapper script: + cat $CWD/ecj.sh | sed -e "s,@JAVADIR@,/usr/share/java," > usr/bin/ecj + chmod 755 usr/bin/ecj + # The JAVA_HOME compatibility links. + # Caution: non-multilib arch-independent stuff! No lib64 here. + mkdir -p usr/lib$LIBDIRSUFFIX + mv $PKG1/usr/lib$LIBDIRSUFFIX/jvm* usr/lib$LIBDIRSUFFIX + # And add the missing javac symlink: + ln -s ../../../bin/ecj 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 + find . -name "libffi*" | xargs rm + rm usr/man/man3/ffi* ) # gcc-objc: @@ -655,6 +730,25 @@ rm -f $PKG1/usr/lib/libiberty.a # catch-all # mv $PKG2/usr/include/c++/$VERSION/$TARGET/bits/stdc++.h.gch usr/include/c++/$VERSION/$TARGET/bits #) +# gcc-go: +( cd $PKG8 + mkdir -p usr/bin + mv $PKG1/usr/bin/*gccgo* usr/bin + mkdir -p usr/libexec/gcc/$TARGET/$VERSION + mv $PKG1/usr/libexec/gcc/$TARGET/$VERSION/go1 usr/libexec/gcc/$TARGET/$VERSION/go1 + mkdir -p usr/info + mv $PKG1/usr/info/gccgo.info.gz usr/info + mkdir -p usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/go usr/lib${LIBDIRSUFFIX} + mv $PKG1/usr/lib${LIBDIRSUFFIX}/{libgo.la,libgo.so.0.*,libgobegin.a} usr/lib${LIBDIRSUFFIX} || exit 1 + # Ordinarily Slackware doesn't package static libraries, but in this case + # it is useful for deploying compiled binaries on machines that do not yet + # have libgo.so.0.0.0. + mv $PKG1/usr/lib${LIBDIRSUFFIX}/libgo.a usr/lib${LIBDIRSUFFIX} + mkdir -p usr/man/man1 + mv $PKG1/usr/man/man1/gccgo.1.gz usr/man/man1 +) || exit 1 + # Filter all .la files (thanks much to Mark Post for the sed script): ( cd $TMP for file in $(find . -type f -name "*.la") ; do @@ -665,7 +759,7 @@ rm -f $PKG1/usr/lib/libiberty.a # catch-all ) ## Strip bloated binaries and libraries: -for dir in $PKG{1,2,3,4,5,6}; do +for dir in $PKG{1,2,3,4,5,6,8}; do ( cd $dir find . -name "lib*so*" -exec strip --strip-unneeded "{}" \; find . -name "lib*a" -exec strip -g "{}" \; @@ -689,6 +783,8 @@ done makepkg -l y -c n $TMP/gcc-objc-$VERSION-$ARCH-$BUILD.txz ) #( cd $PKG7 # makepkg -l y -c n $TMP/gcc-g++-gch-$VERSION-$ARCH-$BUILD.txz ) +( cd $PKG8 + makepkg -l y -c n $TMP/gcc-go-$VERSION-$ARCH-$BUILD.txz ) echo echo "Slackware GCC package build complete!" diff --git a/source/d/gcc/slack-desc.gcc-gfortran b/source/d/gcc/slack-desc.gcc-gfortran index ac844f0f1..5141cb02c 100644 --- a/source/d/gcc/slack-desc.gcc-gfortran +++ b/source/d/gcc/slack-desc.gcc-gfortran @@ -8,12 +8,12 @@ |-----handy-ruler------------------------------------------------------| gcc-gfortran: gcc-gfortran (Fortran support for GCC) gcc-gfortran: +gcc-gfortran: The GNU Fortran compiler is fully compliant with the Fortran 95 +gcc-gfortran: Standard and includes legacy F77 support. In addition, a significant +gcc-gfortran: number of Fortran 2003 and Fortran 2008 features are implemented. +gcc-gfortran: GNU Fortran also contains many standard and extensions and can be +gcc-gfortran: used to run real-world programs. +gcc-gfortran: gcc-gfortran: This package contains those parts of the compiler collection -gcc-gfortran: needed to compile Fortran code. The base gcc package is also -gcc-gfortran: required. The GNU Fortran compiler is able to compile nearly all -gcc-gfortran: standard-compliant Fortran 95, Fortran 90, and Fortran 77 programs, -gcc-gfortran: including a number of standard and non-standard extensions, and can -gcc-gfortran: be used on real-world programs. In particular, the supported -gcc-gfortran: extensions include OpenMP, Cray-style pointers, and several Fortran -gcc-gfortran: 2003 features such as enumeration, stream I/O, and some of the -gcc-gfortran: enhancements to allocatable array support from TR 15581. +gcc-gfortran: needed to compile Fortran code. The gcc package is also required. +gcc-gfortran: diff --git a/source/d/gcc/slack-desc.gcc-go b/source/d/gcc/slack-desc.gcc-go new file mode 100644 index 000000000..cdd859bc1 --- /dev/null +++ b/source/d/gcc/slack-desc.gcc-go @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +gcc-go: gcc-go (Go support for GCC) +gcc-go: +gcc-go: Go is a compiled, garbage-collected, concurrent programming language +gcc-go: developed by Google Inc. The initial design of Go was started in +gcc-go: September 2007 by Robert Griesemer, Rob Pike, and Ken Thompson. +gcc-go: Rob Pike has stated that Go is being used "for real stuff" at Google. +gcc-go: Go's "gc" compiler targets the Linux, Mac OS X, FreeBSD, OpenBSD and +gcc-go: Microsoft Windows operating systems, and the i386, amd64, and ARM +gcc-go: processor architectures. +gcc-go: +gcc-go: Homepage: http://golang.org -- cgit v1.2.3