# $Id: PKGBUILD 98383 2013-10-09 11:50:00Z dicebot $ # Maintainer: Mihails Strasunse # Contributor: Sven-Hendrik Haase # Contributor: Chris Brannon # Contributor: Andrea Scarpino # Contributor: Anders Bergh # Contributor: Alexander Fehr pkgname=('dmd' 'libphobos-devel' 'libphobos' 'dtools') groups=('dlang' 'dlang-dmd') pkgbase=dmd pkgver=2.063.2 pkgrel=4 arch=('i686' 'x86_64') url="http://www.dlang.org" makedepends=('git' 'gcc' 'make') 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" "soname.diff") sha1sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' '5a2198e8a024e1e6494034da569f0df18fabcf9d') [[ $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 # will be in upstream in next release but making naming change as early as possible git apply $srcdir/soname.diff make -f posix.mak MODEL=$_archbits DMD=$srcdir/dmd/src/dmd RELEASE=1 cd $srcdir/tools # rdmd is used to buil others $srcdir/dmd/src/dmd -I../druntime/import -I../phobos -L-L../phobos/generated/linux/release/$_archbits/ -od. -ofdtools-rdmd rdmd.d for tool in DustMite/dustmite ddemangle catdoc detab tolf dget; do ./dtools-rdmd --compiler=$srcdir/dmd/src/dmd --build-only -I../druntime/import -I../phobos -L-L../phobos/generated/linux/release/$_archbits/ -od. -ofdtools-`basename $tool` $tool.d done } package_dmd() { pkgdesc="The D programming language reference compiler" backup=('etc/dmd.conf') depends=('gcc') optdepends=('dtools: collection of useful utilities for development in D' 'libphobos-devel: standard library, development package') provides=("d-compiler=$pkgver") license=('custom') backup=('etc/dmd.conf') install -Dm755 $srcdir/dmd/src/dmd $pkgdir/usr/bin/dmd mkdir -p $pkgdir/etc echo -e "[Environment]\nDFLAGS=-I/usr/include/dlang/dmd -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 install -Dm644 $srcdir/phobos/LICENSE_1_0.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE-phobos 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/* } package_libphobos-devel() { pkgdesc="The Phobos standard library for D programming language. Modules and static library." depends=("dmd") provides=("d-runtime=$pkgver" "d-stdlib=$pkgver") license=("custom") install -Dm644 $srcdir/phobos/generated/linux/release/$_archbits/libphobos2.a $pkgdir/usr/lib/libphobos2.a mkdir -p $pkgdir/usr/include/dlang/dmd cp -r $srcdir/phobos/{*.d,etc,std} $pkgdir/usr/include/dlang/dmd cp -r $srcdir/druntime/import/* $pkgdir/usr/include/dlang/dmd/ 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_libphobos() { pkgdesc="The Phobos standard library for D programming language." depends=("curl") license=("custom") install -Dm644 $srcdir/phobos/generated/linux/release/$_archbits/libphobos2.so $pkgdir/usr/lib/libphobos2.so install -Dm644 $srcdir/phobos/LICENSE_1_0.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE } package_dtools() { pkgdesc="Ancilliary tools for the D programming language compiler" depends=("curl") license=("custom") cd $srcdir/tools mkdir -p $pkgdir/usr/bin for tool in rdmd ddemangle catdoc detab tolf dget dustmite; do install -m755 -t $pkgdir/usr/bin $pkgname-$tool done cd $pkgdir ln -s dtools-rdmd usr/bin/rdmd ln -s dtools-dustmite usr/bin/dustmite # same Boost license as Phobos install -Dm644 $srcdir/phobos/LICENSE_1_0.txt usr/share/licenses/$pkgname/LICENSE-phobos }