summaryrefslogtreecommitdiff
path: root/community/dmd/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/dmd/PKGBUILD')
-rw-r--r--community/dmd/PKGBUILD106
1 files changed, 106 insertions, 0 deletions
diff --git a/community/dmd/PKGBUILD b/community/dmd/PKGBUILD
new file mode 100644
index 000000000..ab5be235b
--- /dev/null
+++ b/community/dmd/PKGBUILD
@@ -0,0 +1,106 @@
+# $Id: PKGBUILD 92844 2013-06-17 00:23:34Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Anders Bergh <anders1@gmail.com>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+
+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
+}