# Maintainer: Dan Printzell # Maintainer: Filipe LaĆ­ns (FFY00) # Contributor: Mihails Strasunse # ALARM: Vladimir Panteleev # - replace dmd dependency with ldc (DMD can only target x86/x86_64) # - replace libphobos with liblphobos (DMD's standard library with LDC) # - move liblphobos to depends (LDC links stdlib dynamically by default) # - use ldmd in build() (ldmd is LDC's DMD-compatible entry point) pkgname=dtools pkgver=2.108.0 pkgrel=1 pkgdesc='Ancilliary tools for the D programming language' license=('BSL-1.0') groups=('dlang') arch=('x86_64') url='https://www.dlang.org' makedepends=('ldc') provides=('ddemangle' 'dustmite' 'rdmd') conflicts=('ddemangle' 'dustmite' 'rdmd') depends=('curl' 'liblphobos') source=("$pkgname-$pkgver.tar.gz::https://github.com/dlang/tools/archive/v$pkgver.tar.gz") sha512sums=('e962a3cebcbe7143fc558a4609f02e59c23b10be15eb1a65147bc49b54ed0b4eb8e3d040045cf9522536a7b016cffb18d66d6db9e26d619c19a2585e0917536a') build() { DMD=ldmd # Add $LDFLAGS to the compilation, and remove -flto _linkflags=$(echo -ne $LDFLAGS | cut -d\" -f2 | tail -c+4 | sed -e "s/-Wl,/-L=/g" -e "s/,/ -L=/g" -e "s/-flto=auto//") cd tools-$pkgver # rdmd is used to build others $DMD -od. -ofdtools-rdmd -L--build-id $_linkflags rdmd.d for tool in DustMite/dustmite ddemangle catdoc detab tolf dget; do ./dtools-rdmd --compiler=$DMD --build-only -od. -ofdtools-`basename $tool` $_linkflags $tool.d done } package() { cd tools-$pkgver 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 ln -s dtools-ddemangle usr/bin/ddemangle }