Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Maintainer: Joey Dumont <joey.dumont@gmail.com>
- # Contributor: frankspace
- # Contributor: Renan Manola <rmanola@gmail.com>
- # Contributor: Stefan Husmann <stefan-husmann@t-online.de>
- # Based on a modified version of the gcc PKGBUILD
- pkgname=gcc-gcj
- pkgver=6.1.1
- pkgrel=1
- _islver=0.17
- _cloogver=0.18.4
- _commit=80f78834
- pkgdesc="The GNU Compiler for Java"
- arch=('i686' 'x86_64')
- license=('GPL' 'LGPL')
- url="http://gcc.gnu.org"
- depends=('gtk2' 'libxtst' 'alsa-lib' 'libmpc>=0.8.1' 'classpath' 'gcc-gcj-ecj')
- makedepends=('mpfr>=2.4.2' 'elfutils' 'jack' 'zip' 'gcc=6.1.1' 'libart-lgpl' 'git')
- optdepends=('python2: for running /usr/bin/aot-compile'
- 'java-environment: for runnig some jars')
- options=('!libtool')
- install=$pkgname.install
- source=("git://gcc.gnu.org/git/gcc.git#commit=${_commit}"
- "http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2"
- "http://www.bastoul.net/cloog/pages/download/cloog-${_cloogver}.tar.gz")
- sha512sums=('SKIP'
- '8a2a51d8acbf966c37868fd714ee46cf0b87e1f9d8d9d3148eb2c4b331b7170916d7392fee7fa0af73988a3b8583a6e937dd643b5a574b7e61a09c5bc3347c27'
- 'd35d67b08ffe13c1a010b65bfe4dd02b0ae013d5b489e330dc950bd3514defca8f734bd37781856dcedf0491ff6122c34eecb4b0fe32a22d7e6bdadea98c8c23')
- prepare() {
- echo "You need at least 10GB of space to compile gcc-gcj,"
- echo "and it will take a lot of time (~ hours)."
- echo "It is better to compile it using makepkg directly."
- sleep 5
- cd "$srcdir"/gcc
- # Link isl/cloog for in-tree builds
- ln -sf ../isl-${_islver} isl
- ln -sf ../cloog-${_cloogver} cloog
- # Do not install libiberty
- sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
- # Do not run fixincludes
- sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
- # Arch Linux installs x86_64 libraries /lib
- [[ $CARCH == "x86_64" ]] && sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
- # Arch uses python version 3 as default python
- sed -i '1s+python+python2+' libjava/contrib/aot-compile.in
- echo ${pkgver} > gcc/BASE-VER
- [ -d build ] || mkdir build
- # Prepare a string for filename deletion later.
- _ARCH_STR=
- if [ "${CARCH}" = "x86_64" ]; then
- _ARCH_STR=x86_64-pc-linux-gnu
- elif ["${CARCH}" = "i686"]; then
- _ARCH_STR=i686-pc-linux-gnu
- fi
- }
- build() {
- # Configure and build gcc-gcj.
- cd $srcdir/gcc/build
- ../configure CPPFLAGS="$CPPFLAGS -O2" \
- --prefix=/usr \
- --enable-shared \
- --enable-languages=java \
- --enable-threads=posix \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --enable-__cxa_atexit \
- --disable-multilib \
- --libdir=/usr/lib \
- --libexecdir=/usr/lib \
- --enable-clocale=gnu \
- --disable-libstdcxx-pch \
- --with-tune=generic \
- --enable-java-awt=gtk \
- --with-java-home="$JAVA_HOME" \
- --enable-libgcj-multifile \
- --disable-plugin \
- --with-system-zlib \
- --enable-cloog-backend=isl
- make
- }
- package() {
- # Install libjava.
- cd ${srcdir}/gcc/build
- make -j1 DESTDIR=${pkgdir} install-target-libjava
- # Install java-common.
- cd gcc
- make -j1 DESTDIR=${pkgdir} java.install-common java.install-man
- install -Dm755 jc1 ${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/jc1
- install -m755 jvgenmain ${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/
- # Remove files which belong to the base gcc package
- rm -f ${pkgdir}/usr/bin/{c,g}++
- _ARCH_STR=
- if [ "${CARCH}" = "x86_64" ]; then
- rm -f ${pkgdir}/usr/bin/${_ARCH_STR}-{c,g}++
- else
- rm -f ${pkgdir}/usr/bin/${_ARCH_STR}-{c,g}++
- fi
- rm -f ${pkgdir}/usr/man/man1/g++.*
- # Rename two files to not conflict to classpath
- mv ${pkgdir}/usr/share/info/cp-tools.info ${pkgdir}/usr/share/info/cp-tools-gcj.info
- mv ${pkgdir}/usr/share/man/man1/gjdoc.1 ${pkgdir}/usr/share/man/man1/gjdoc.gcj.1
- cd $pkgdir
- rm \
- usr/lib/libgcc_s.so \
- usr/lib/libgcc_s.so.1 \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/crtbegin.o \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/crtbeginS.o \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/crtbeginT.o \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/crtend.o \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/crtendS.o \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/crtfastmath.o \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/crtprec32.o \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/crtprec64.o \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/crtprec80.o \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/include/unwind.h \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/libgcc.a \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/libgcc_eh.a \
- usr/lib/gcc/${_ARCH_STR}/${pkgver}/libgcov.a
- find ${pkgdir}/usr/lib -type f -name '*.so.*' -exec strip --strip-unneeded {} \;
- linkdir=`basename $pkgdir/usr/lib/gcj-${pkgver}*`
- ln -sf $linkdir ${pkgdir}/usr/lib/gcj-${pkgver%.?}
- ln -sf libgcj-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-${pkgver%.?}.jar
- ln -sf libgcj-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj.jar
- ln -sf libgcj-tools-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-tools-${pkgver%.?}.jar
- ln -sf libgcj-tools-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-tools.jar
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement