void-packages/srcpkgs/dmd/template
2016-05-26 07:33:13 +02:00

77 lines
2 KiB
Bash

# Template file for 'dmd'
pkgname=dmd
version=2.071.0
revision=1
wrksrc="dmd2"
short_desc="The Digital Mars D compiler"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.digitalmars.com/d/2.0/"
license="GPL-2"
distfiles="http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
checksum=ed3723da1d7b91c490c4fff79161d9b071502cb6f3a6f57b7523bf234b51d527
if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
_archbits=64
elif [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
_archbits=32
fi
only_for_archs="i686 x86_64"
conf_files="/etc/dmd.conf"
nopie=yes
hostmakedepends="curl"
depends="libphobos>=${version} gcc"
do_build() {
cd src
cd dmd
make ${makejobs} -f posix.mak MODEL=${_archbits} AUTO_BOOTSTRAP=1
cd ../druntime
make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=../dmd/dmd
cd ../phobos
make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=../dmd/dmd
}
do_install() {
vbin src/dmd/dmd
vinstall ${FILESDIR}/dmd.conf 644 etc
vman man/man1/dmd.1
vman man/man1/rdmd.1
vman man/man5/dmd.conf.5
vmkdir usr/share/d/samples
cp -r samples/d/* ${DESTDIR}/usr/share/d/samples/
find ${DESTDIR}/usr/share/d/samples -type f | xargs chmod 0644
for f in ddemangle dman dumpobj obj2asm rdmd; do
vbin linux/bin${_archbits}/${f}
done
}
libphobos_package() {
conflicts="ldc>=0"
short_desc="The phobos D standard library for DMD"
license="Boost License"
pkg_install() {
vinstall ${wrksrc}/src/druntime/generated/linux/release/$_archbits/libdruntime.a 644 usr/lib libdruntime.a
vinstall ${wrksrc}/src/phobos/generated/linux/release/$_archbits/libphobos2.a 644 usr/lib libphobos2.a
vmkdir usr/include/d
cp -r ${wrksrc}/src/phobos/{*.d,etc,std} ${PKGDESTDIR}/usr/include/d
vmkdir usr/include/d/druntime
cp -r ${wrksrc}/src/druntime/import ${PKGDESTDIR}/usr/include/d/druntime
vmkdir usr/share/doc/d/
cp -r ${wrksrc}/html ${PKGDESTDIR}/usr/share/doc/d/
find ${PKGDESTDIR}/usr/share/doc/d -type f | xargs chmod 0644
vlicense ${wrksrc}/src/druntime/LICENSE
}
}