# Maintainer: Mihails Strasuns # Contributor: Moritz Maxeiner # Contributor: Jerome Berger # Contributor: Jesus Alvarez # ALARM: Johannes Pfau # - specifid build host # - replaced bugurl with our GitHub issue page noautobuild=1 pkgname=('gdc' 'libgphobos-devel') pkgver=4.9.0 pkgrel=2 arch=('i686' 'x86_64') url="https://github.com/D-Programming-GDC/GDC" license=('GPL') makedepends=('binutils>=2.23' 'git' 'gcc' 'make' 'perl' 'cloog' 'automake') options=('!emptydirs' '!buildflags') _snapshot=4.8-20130725 source=( "ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2" "gdc::git://github.com/D-Programming-GDC/GDC.git#branch=gdc-4.9" "git+https://github.com/D-Programming-GDC/GDMD.git" "folders.diff" ) sha256sums=( 'b9b047a97bade9c1c89970bc8e211ff57b7b8998a1730a80a653d329f8ed1257' 'SKIP' 'SKIP' '82f1ba0825164a74660bd5008d8f3acae1bacc3271c86475efc1601fe0da73c4' ) groups=('dlang' 'dlang-gdc') conflicts=('gdc1-bin' 'gdc1-hg' 'gdc-git') prepare() { cd $srcdir/gcc-$pkgver echo ${pkgver} > gcc/BASE-VER # hack! - some configure tests for header files using "$CPP $CPPFLAGS" sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure cd $srcdir/gdc git apply $srcdir/folders.diff # fix gdc_include_path ./setup-gcc.sh ../gcc-$pkgver mkdir $srcdir/gcc-build } build() { # ALARM: Specify build host types [[ $CARCH == "arm" ]] && CONFIGFLAG="--host=armv5tel-unknown-linux-gnueabi --build=armv5tel-unknown-linux-gnueabi" [[ $CARCH == "armv6h" ]] && CONFIGFLAG="--host=armv6l-unknown-linux-gnueabihf --build=armv6l-unknown-linux-gnueabihf --with-arch=armv6 --with-float=hard --with-fpu=vfp" [[ $CARCH == "armv7h" ]] && CONFIGFLAG="--host=armv7l-unknown-linux-gnueabihf --build=armv7l-unknown-linux-gnueabihf --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16" cd ${srcdir}/gcc-build ${srcdir}/gcc-$pkgver/configure --prefix=/usr \ --libdir=/usr/lib --libexecdir=/usr/lib \ --mandir=/usr/share/man --infodir=/usr/share/info \ --with-bugurl=https://github.com/archlinuxarm/PKGBUILDs/issues \ --enable-languages=d \ --enable-shared --enable-threads=posix \ --with-system-zlib --enable-__cxa_atexit \ --disable-libunwind-exceptions --enable-clocale=gnu \ --disable-libstdcxx-pch --disable-libssp \ --enable-gnu-unique-object --enable-linker-build-id \ --enable-cloog-backend=isl --disable-cloog-version-check \ --enable-gold --enable-plugin --enable-ld=default \ --enable-install-libiberty --with-plugin-ld=ld.gold \ --with-linker-hash-style=gnu \ --disable-multilib --disable-werror \ --disable-nls --disable-bootstrap \ --disable-libgomp --disable-libmudflap --disable-libquadmath \ --enable-checking=release $CONFIGFLAG make } package_gdc() { depends=('gcc' 'perl' 'binutils' 'libgphobos-devel') optdepends=('libgphobos-devel: D standard library, GDC version') provides=("d-compiler") pkgdesc="Compiler for D programming language which uses gcc backend (2.064.2 frontend version)" install -D -m755 $srcdir/gcc-build/gcc/gdc $pkgdir/usr/bin/gdc install -D -m755 $srcdir/gcc-build/gcc/cc1d $pkgdir/usr/lib/gcc/$CHOST/$pkgver/cc1d # tools install -D -m755 $srcdir/GDMD/dmd-script $pkgdir/usr/bin/gdmd install -D -m644 $srcdir/GDMD/dmd-script.1 $pkgdir/usr/share/man/man1/gdmd.1 } package_libgphobos-devel() { pkgdesc="Standard library for D programming language, GDC port" provides=("d-runtime" "d-stdlib") options=("staticlibs") # druntime install -D $srcdir/gdc/libphobos/libdruntime/object.di $pkgdir/usr/include/dlang/gdc/object.di install -D $srcdir/gdc/libphobos/libdruntime/__entrypoint.di ${pkgdir}/usr/include/dlang/gdc/__entrypoint.di cp -r $srcdir/gdc/libphobos/libdruntime/core $pkgdir/usr/include/dlang/gdc/core cp -r $srcdir/gdc/libphobos/libdruntime/gcc $pkgdir/usr/include/dlang/gdc/gcc # workaround for auto-generated libbacktrace issue # script needs to be re-written to first call normal gcc instalaltion targets to # avoid such problems in future cp $srcdir/gcc-build/$CHOST/libphobos/libdruntime/gcc/libbacktrace.d $pkgdir/usr/include/dlang/gdc/gcc/ rm $pkgdir/usr/include/dlang/gdc/gcc/libbacktrace.d.in # phobos cp $srcdir/gdc/libphobos/src/crc32.d ${pkgdir}/usr/include/dlang/gdc/ cp -r $srcdir/gdc/libphobos/src/std ${pkgdir}/usr/include/dlang/gdc/std cp -r $srcdir/gdc/libphobos/src/etc ${pkgdir}/usr/include/dlang/gdc/etc install -D -m644 $srcdir/gcc-build/$CHOST/libphobos/src/libgphobos2.a $pkgdir/usr/lib/libgphobos2.a }