# $Id: PKGBUILD 92844 2013-06-17 00:23:34Z svenstaro $ # Maintainer: Sven-Hendrik Haase # Contributor: Chris Brannon # Contributor: Andrea Scarpino # Contributor: Anders Bergh # Contributor: Alexander Fehr pkgname=('dmd' 'libphobos' 'dtools') pkgbase=dmd pkgver=2.063.2 pkgrel=1 arch=('i686' 'x86_64') url="http://www.dlang.org" makedepends=('git') source=("git+http://github.com/D-Programming-Language/dmd.git#tag=v$pkgver" "git+http://github.com/D-Programming-Language/druntime.git#tag=v$pkgver" "git+http://github.com/D-Programming-Language/phobos.git#tag=v$pkgver" "git+http://github.com/D-Programming-Language/tools#tag=v$pkgver") sha1sums=('SKIP' 'SKIP' 'SKIP' 'SKIP') [[ $CARCH == "x86_64" ]] && _archbits="64" [[ $CARCH == "i686" ]] && _archbits="32" build() { cd $srcdir/dmd/src make -f posix.mak MODEL=$_archbits RELEASE=1 cd $srcdir/druntime make -f posix.mak MODEL=$_archbits DMD=$srcdir/dmd/src/dmd RELEASE=1 cd $srcdir/phobos make -f posix.mak MODEL=$_archbits DMD=$srcdir/dmd/src/dmd RELEASE=1 cd $srcdir/tools for tool in rdmd.d ddemangle.d catdoc.d detab.d tolf.d dget.d; do $srcdir/dmd/src/dmd -I../druntime/import -I../phobos -L-L../phobos/generated/linux/release/$_archbits/ $tool done } package_dmd() { pkgdesc="The D programming language reference compiler" backup=('etc/dmd.conf') depends=('gcc') provides=("d-compiler=$pkgver") license=('custom') install -Dm755 $srcdir/dmd/src/dmd $pkgdir/usr/bin/dmd mkdir -p $pkgdir/etc echo -e "[Environment]\nDFLAGS=-I/usr/include/d -I/usr/include/d/druntime/import -L-L/usr/lib -L-L/usr/lib32 -L--no-warn-search-mismatch -L--export-dynamic" > $pkgdir/etc/dmd.conf install -Dm644 $srcdir/dmd/docs/man/man1/dmd.1 $pkgdir/usr/share/man/man1/dmd.1 install -Dm644 $srcdir/dmd/docs/man/man1/dmd.conf.5 $pkgdir/usr/share/man/man5/dmd.conf.5 install -Dm644 $srcdir/dmd/src/backendlicense.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE-backend install -Dm644 $srcdir/dmd/src/gpl.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE-frontend.1 install -Dm644 $srcdir/dmd/src/artistic.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE-frontend.2 mkdir -p $pkgdir/usr/share/d/samples/ cp -r $srcdir/dmd/samples/* $pkgdir/usr/share/d/samples/ find $pkgdir/usr -type f | xargs chmod 0644 chmod 755 $pkgdir/usr/bin/* # No longer available, because not source code is provided and those are not mandatory. # Please get those from http://dlang.org if absolutely needed. # install -Dm755 $srcdir/dmd/linux/bin${_archbits}/dumpobj $pkgdir/usr/bin/dumpobj # install -Dm755 $srcdir/dmd/linux/bin${_archbits}/obj2asm $pkgdir/usr/bin/obj2asm } # Will be packaged separately once GDC/LDC will be able to compile phobos and pass test suite. # For now only dependency is relaxed package_libphobos() { depends=("d-compiler>=$pkgver" "curl") pkgdesc="The Phobos standard library for D programming language" license=("boost") install -Dm644 $srcdir/phobos/generated/linux/release/$_archbits/libphobos2.a $pkgdir/usr/lib/libphobos2.a install -Dm644 $srcdir/phobos/generated/linux/release/$_archbits/libphobos2.so $pkgdir/usr/lib/libphobos2.so mkdir -p $pkgdir/usr/include/d cp -r $srcdir/phobos/{*.d,etc,std} $pkgdir/usr/include/d mkdir -p $pkgdir/usr/include/d/druntime cp -r $srcdir/druntime/import $pkgdir/usr/include/d/druntime mkdir -p $pkgdir/usr/share/doc/d/ find $pkgdir/usr -type f | xargs chmod 0644 install -Dm644 $srcdir/druntime/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE-druntime install -Dm644 $srcdir/phobos/LICENSE_1_0.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE-phobos } package_dtools() { pkgdesc="Ancilliary tools for the D programming language compiler" license=("boost") depends=("curl") cd $srcdir/tools mkdir -p $pkgdir/usr/bin install -m755 -t $pkgdir/usr/bin rdmd ddemangle catdoc detab tolf dget }