Advertisement
Guest User

gcc-gcj 6.1.1 PKGBUILD consistent with official use of git

a guest
May 7th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.52 KB | None | 0 0
  1. # Maintainer: Joey Dumont <joey.dumont@gmail.com>
  2. # Contributor: Renan Manola <rmanola@gmail.com>
  3. # Contributor: Stefan Husmann <stefan-husmann@t-online.de>
  4. # Based on a modified version of the gcc PKGBUILD
  5.  
  6. pkgname=gcc-gcj
  7. pkgver=6.1.1
  8. pkgrel=0.1
  9. _islver=0.17
  10. _cloogver=0.18.4
  11. _commit=80f78834
  12. pkgdesc="The GNU Compiler for Java"
  13. arch=('i686' 'x86_64')
  14. license=('GPL' 'LGPL')
  15. url="http://gcc.gnu.org"
  16. depends=('gtk2' 'libxtst' 'alsa-lib' 'libmpc>=0.8.1' 'classpath' 'gcc-gcj-ecj')
  17. makedepends=('mpfr>=2.4.2' 'elfutils' 'jack' 'zip' 'gcc=6.1.1' 'libart-lgpl' 'git')
  18. optdepends=('python2: for running /usr/bin/aot-compile'
  19. 'java-environment: for runnig some jars')
  20. options=('!libtool')
  21. install=$pkgname.install
  22. source=("git://gcc.gnu.org/git/gcc.git#commit=${_commit}"
  23. "http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2"
  24. "http://www.bastoul.net/cloog/pages/download/cloog-${_cloogver}.tar.gz")
  25.  
  26. sha512sums=('SKIP'
  27. '8a2a51d8acbf966c37868fd714ee46cf0b87e1f9d8d9d3148eb2c4b331b7170916d7392fee7fa0af73988a3b8583a6e937dd643b5a574b7e61a09c5bc3347c27'
  28. 'd35d67b08ffe13c1a010b65bfe4dd02b0ae013d5b489e330dc950bd3514defca8f734bd37781856dcedf0491ff6122c34eecb4b0fe32a22d7e6bdadea98c8c23')
  29.  
  30. prepare() {
  31. echo "You need at least 10GB of space to compile gcc-gcj,"
  32. echo "and it will take a lot of time (~ hours)."
  33. echo "It is better to compile it using makepkg directly."
  34. sleep 5
  35. cd "$srcdir"/gcc
  36.  
  37. # Link isl/cloog for in-tree builds
  38. ln -s ../isl-${_islver} isl
  39. ln -s ../cloog-${_cloogver} cloog
  40.  
  41. # Do not install libiberty
  42. sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
  43.  
  44. # Do not run fixincludes
  45. sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
  46.  
  47. # Arch Linux installs x86_64 libraries /lib
  48. [[ $CARCH == "x86_64" ]] && sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
  49.  
  50. # Arch uses python version 3 as default python
  51. sed -i '1s+python+python2+' libjava/contrib/aot-compile.in
  52.  
  53. # echo ${pkgver} > gcc/BASE-VER
  54. [ -d build ] || mkdir build
  55. }
  56.  
  57. build() {
  58.  
  59. cd $srcdir/gcc/build
  60.  
  61. ../configure --prefix=/usr --enable-shared --enable-languages=java \
  62. --enable-threads=posix --mandir=/usr/share/man --infodir=/usr/share/info \
  63. --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib \
  64. --libexecdir=/usr/lib --enable-clocale=gnu --disable-libstdcxx-pch \
  65. --with-tune=generic --enable-java-awt=gtk --with-java-home="$JAVA_HOME" \
  66. --enable-libgcj-multifile --disable-plugin --with-system-zlib \
  67. --enable-cloog-backend=isl
  68. CPPFLAGS="$CPPFLAGS -O2"
  69. make
  70. }
  71.  
  72. package() {
  73. cd "$srcdir"/gcc/build
  74. make -j1 DESTDIR=${pkgdir} install-target-libjava
  75.  
  76. cd gcc
  77. make -j1 DESTDIR=${pkgdir} java.install-common java.install-man
  78.  
  79. install -m755 jc1 ${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/
  80. install -m755 jvgenmain ${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/
  81.  
  82. # Remove files which belong to the base gcc package
  83. rm -f ${pkgdir}/usr/bin/{c,g}++
  84. if [ "${CARCH}" = "x86_64" ]; then
  85. rm -f ${pkgdir}/usr/bin/x86_64-pc-linux-gnu-{c,g}++
  86. else
  87. rm -f ${pkgdir}/usr/bin/i686-pc-linux-gnu-{c,g}++
  88. fi
  89. rm -f ${pkgdir}/usr/man/man1/g++.*
  90. # Rename two files to not conflict to classpath
  91. mv ${pkgdir}/usr/share/info/cp-tools.info ${pkgdir}/usr/share/info/cp-tools-gcj.info
  92. mv ${pkgdir}/usr/share/man/man1/gjdoc.1 ${pkgdir}/usr/share/man/man1/gjdoc.gcj.1
  93. cd $pkgdir
  94. [[ $CARCH == "x86_64" ]] && rm usr/lib/libgcc_s.so usr/lib/libgcc_s.so.1 \
  95. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/crtbegin.o \
  96. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/crtbeginS.o \
  97. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/crtbeginT.o \
  98. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/crtend.o \
  99. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/crtendS.o \
  100. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/crtfastmath.o \
  101. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/crtprec32.o \
  102. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/crtprec64.o \
  103. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/crtprec80.o \
  104. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/include/unwind.h \
  105. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/libgcc.a \
  106. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/libgcc_eh.a \
  107. usr/lib/gcc/x86_64-pc-linux-gnu/$pkgver/libgcov.a
  108. [[ $CARCH == "i686" ]] && rm usr/lib/libgcc_s.so usr/lib/libgcc_s.so.1 \
  109. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/crtbegin.o \
  110. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/crtbeginS.o \
  111. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/crtbeginT.o \
  112. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/crtend.o \
  113. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/crtendS.o \
  114. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/crtfastmath.o \
  115. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/crtprec32.o \
  116. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/crtprec64.o \
  117. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/crtprec80.o \
  118. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/include/unwind.h \
  119. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/libgcc.a \
  120. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/libgcc_eh.a \
  121. usr/lib/gcc/i686-pc-linux-gnu/$pkgver/libgcov.a
  122.  
  123. find ${pkgdir}/usr/lib -type f -name '*.so.*' -exec strip --strip-unneeded {} \;
  124.  
  125. linkdir=`basename $pkgdir/usr/lib/gcj-${pkgver}*`
  126. ln -sf $linkdir ${pkgdir}/usr/lib/gcj-${pkgver%.?}
  127. ln -sf libgcj-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-${pkgver%.?}.jar
  128. ln -sf libgcj-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj.jar
  129. ln -sf libgcj-tools-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-tools-${pkgver%.?}.jar
  130. ln -sf libgcj-tools-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-tools.jar
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement