Advertisement
Guest User

gdc pkgbuild

a guest
Mar 26th, 2018
1,015
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.91 KB | None | 0 0
  1. # $Id: PKGBUILD 223492 2017-04-17 15:29:29Z foutrelis $
  2. # Maintainer: Mihails Strasuns <public@dicebot.lv>
  3. # Contributor: Moritz Maxeiner <moritz@ucworks.org>
  4. # Contributor: Jerome Berger <jeberger@free.fr>
  5. # Contributor: Jesus Alvarez <jeezusjr@gmail.com>
  6. # Contributor: Allan McRae <allan@archlinux.org>
  7. # Contributor: Elijah Stone <elronnd@elronnd.net>
  8.  
  9. pkgname=('gdc' 'libgphobos-devel' 'libgphobos')
  10. pkgver=7.3.1+20180312
  11. pkgrel=1
  12. _islver=0.18
  13. arch=('i686' 'x86_64')
  14. license=('GPL')
  15. url="https://github.com/D-Programming-GDC/GDC"
  16. makedepends=('binutils>=2.26' 'git')
  17.  
  18. source=(
  19.     https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.tar.xz
  20.     http://isl.gforge.inria.fr/isl-$_islver.tar.bz2
  21.     gdc::git+https://github.com/D-Programming-GDC/GDC.git
  22.     git+https://github.com/D-Programming-GDC/GDMD.git
  23.     paths.diff
  24. )
  25. sha256sums=(
  26.     'c52618f656f2102b3544419e7d0a8a4f4e6ff052783865202be73edf1a40e28b'
  27.     '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
  28.     'SKIP'
  29.     'SKIP'
  30.     'fefe9298f8d5859758ca63bab084984baa8adbbd85b3b3b8798283731321df7b'
  31. )
  32.  
  33. _libdir=usr/lib/gcc/$CHOST/${pkgver%%+*}
  34.  
  35. prepare() {
  36.     [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc
  37.     cd gcc
  38.  
  39.     # link isl for in-tree build
  40.     ln -s ../isl-$_islver isl
  41.  
  42.     # Do not run fixincludes
  43.     sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
  44.  
  45.     # Arch Linux installs x86_64 libraries /lib
  46.     sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
  47.  
  48.     # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
  49.     sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
  50.  
  51.     # GDC setup
  52.     cd $srcdir/gdc
  53.     git checkout gdc-7
  54.     git apply $srcdir/paths.diff
  55.     ./setup-gcc.sh ../gcc
  56.  
  57.     mkdir $srcdir/gcc-build
  58. }
  59.  
  60. build() {
  61.     cd $srcdir/gcc-build
  62.  
  63.     # using -pipe causes spurious test-suite failures
  64.     # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565
  65.     export CFLAGS="${CFLAGS/-pipe/} -O2"
  66.     export CXXFLAGS="${CXXFLAGS/-pipe/} -O2"
  67.  
  68.     $srcdir/gcc/configure --prefix=/usr \
  69.         --libdir=/usr/lib \
  70.         --libexecdir=/usr/lib \
  71.         --mandir=/usr/share/man \
  72.         --infodir=/usr/share/info \
  73.         --with-bugurl=https://bugs.archlinux.org/ \
  74.         --enable-shared \
  75.         --enable-static \
  76.         --enable-threads=posix \
  77.         --enable-libmpx \
  78.         --with-system-zlib \
  79.         --with-isl \
  80.         --enable-__cxa_atexit \
  81.         --disable-libunwind-exceptions \
  82.         --enable-clocale=gnu \
  83.         --disable-libstdcxx-pch \
  84.         --disable-libssp \
  85.         --enable-gnu-unique-object \
  86.         --enable-linker-build-id \
  87.         --enable-plugin \
  88.         --enable-install-libiberty \
  89.         --with-linker-hash-style=gnu \
  90.         --enable-gnu-indirect-function \
  91.         --enable-default-pie \
  92.         --disable-multilib \
  93.         --disable-werror \
  94.         --enable-languages=d \
  95.         gdc_include_dir=/usr/include/dlang/gdc
  96.  
  97.         #--enable-lto \
  98.         #--enable-gold \
  99.  
  100.     make $MAKEFLAGS -j8
  101. }
  102.  
  103. package_gdc() {
  104.     depends=('gcc' 'perl' 'binutils' 'libgphobos-devel')
  105.     provides=("d-compiler=2.068.2")
  106.     pkgdesc="Compiler for D programming language which uses gcc backend"
  107.  
  108.     # compiler
  109.     install -D -m755 $srcdir/gcc-build/gcc/gdc $pkgdir/usr/bin/gdc
  110.     install -D -m755 $srcdir/gcc-build/gcc/cc1d $pkgdir/$_libdir/cc1d
  111.  
  112.     # tools
  113.     install -D -m755 $srcdir/GDMD/dmd-script $pkgdir/usr/bin/gdmd
  114.     install -D -m644 $srcdir/GDMD/dmd-script.1 $pkgdir/usr/share/man/man1/gdmd.1
  115. }
  116.  
  117.  
  118. package_libgphobos-devel() {
  119.     pkgdesc="Standard library for D programming language, GDC port"
  120.     provides=("d-runtime" "d-stdlib")
  121.     options=("staticlibs")
  122.  
  123.     cd $srcdir/gcc-build
  124.     make -C $CHOST/libphobos DESTDIR=$pkgdir install
  125.  
  126.     # remove shared library bits, they go into own package
  127.     rm $pkgdir/usr/lib/lib*so*
  128. }
  129.  
  130. package_libgphobos() {
  131.     pkgdesc="Shared standard library for D programming language, GDC port"
  132.     provides=("d-runtime" "d-stdlib")
  133.  
  134.     cd $srcdir/gcc-build
  135.     install -D -m644 $CHOST/libphobos/src/.libs/libgphobos.so $pkgdir/usr/lib/libgphobos.so
  136.     install -D -m644 $CHOST/libphobos/libdruntime/.libs/libgdruntime.so $pkgdir/usr/lib/libgdruntime.so
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement