spacepaste

  1.  
  2. # Contributor: Renan Manola <rmanola@gmail.com>
  3. # Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
  4. # Based on a modified version of the gcc PKGBUILD
  5. pkgname=gcc-gcj
  6. pkgver=4.8.0
  7. pkgrel=1
  8. pkgdesc="The GNU Compiler for Java"
  9. arch=('i686' 'x86_64')
  10. license=('GPL' 'LGPL')
  11. url="http://gcc.gnu.org"
  12. depends=('gtk2' 'libxtst' 'alsa-lib')
  13. makedepends=('binutils>=2.20.1' 'mpfr>=2.4.2-2' 'cloog>=0.16.2-1' 'elfutils'
  14. 'libmpc>=0.8.2-2' 'jack' 'texinfo' 'file' 'zip' "gcc=4.8.0")
  15. optdepends=('python2: for running /usr/bin/aot-compile'
  16. 'java-environment: for runnig some jars')
  17. options=('!libtool')
  18. install=$pkgname.install
  19. source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2)
  20. md5sums=('e6040024eb9e761c3bea348d1fa5abb0')
  21. build() {
  22. cd ${srcdir}/gcc-${pkgver}
  23. # Do not install libiberty
  24. sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
  25. # Do not run fixincludes
  26. sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
  27. # Arch Linux installs x86_64 libraries /lib
  28. [[ $CARCH == "x86_64" ]] && sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
  29. # Arch uses python version 3 as default python
  30. sed -i '1s+python+python2+' libjava/contrib/aot-compile.in
  31. echo ${pkgver} > gcc/BASE-VER
  32. [ -d build ] || mkdir build
  33. cd build
  34. ../configure --prefix=/usr --enable-shared --enable-languages=java \
  35. --enable-threads=posix --mandir=/usr/share/man --infodir=/usr/share/info \
  36. --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib \
  37. --libexecdir=/usr/lib --enable-clocale=gnu --disable-libstdcxx-pch \
  38. --with-tune=generic --enable-java-awt=gtk --with-java-home="$JAVA_HOME" \
  39. --enable-libgcj-multifile --disable-plugin --with-system-zlib
  40. make
  41. }
  42. package() {
  43. cd ${srcdir}/gcc-${pkgver}/build
  44. make -j1 DESTDIR=${pkgdir} install-target-libjava
  45. cd gcc
  46. make -j1 DESTDIR=${pkgdir} java.install-common java.install-man
  47. install -m755 jc1 ${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/
  48. install -m755 jvgenmain ${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/
  49. # Remove files which belong to the base gcc package
  50. rm -f ${pkgdir}/usr/bin/{c,g}++
  51. if [ "${CARCH}" = "x86_64" ]; then
  52. rm -f ${pkgdir}/usr/bin/x86_64-unknown-linux-gnu-{c,g}++
  53. else
  54. rm -f ${pkgdir}/usr/bin/i686-pc-linux-gnu-{c,g}++
  55. fi
  56. rm -f ${pkgdir}/usr/man/man1/g++.*
  57. # Rename two files to not conflict to classpath
  58. mv ${pkgdir}/usr/share/info/cp-tools.info ${pkgdir}/usr/share/info/cp-tools-gcj.info
  59. rm ${pkgdir}/usr/share/info/dir
  60. mv ${pkgdir}/usr/share/man/man1/gjdoc.1 ${pkgdir}/usr/share/man/man1/gjdoc.gcj.1
  61. find ${pkgdir}/usr/lib -type f -name '*.so.*' -exec strip --strip-unneeded {} \;
  62. linkdir=`basename $pkgdir/usr/lib/gcj-${pkgver}*`
  63. ln -sf $linkdir ${pkgdir}/usr/lib/gcj-${pkgver%.?}
  64. ln -sf libgcj-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-${pkgver%.?}.jar
  65. ln -sf libgcj-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj.jar
  66. ln -sf libgcj-tools-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-tools-${pkgver%.?}.jar
  67. ln -sf libgcj-tools-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-tools.jar
  68. }
  69.