2023-02-27 04:17:03 +00:00
|
|
|
# Maintainer: Dan Printzell <wild@archlinux.org>
|
|
|
|
# Maintainer: Filipe Laíns (FFY00) <lains@archlinux.org>
|
|
|
|
# Contributor: Mihails Strasunse <public@dicebot.lv>
|
|
|
|
|
|
|
|
# ALARM: Vladimir Panteleev <alarm-dtools@cy.md>
|
|
|
|
# - 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
|
2024-06-11 21:26:50 +00:00
|
|
|
pkgver=2.109.0
|
2023-02-27 04:17:03 +00:00
|
|
|
pkgrel=1
|
|
|
|
pkgdesc='Ancilliary tools for the D programming language'
|
2024-03-11 23:03:52 +00:00
|
|
|
license=('BSL-1.0')
|
2023-02-27 04:17:03 +00:00
|
|
|
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")
|
2024-06-11 21:26:50 +00:00
|
|
|
sha512sums=('6cbe04d603ffb4c350d324219a412a41d7faa191aa0512615d2bc8ebb489deb13952652d6526a7ccf3fe64f4e45d2ebb66a880c4c85f3c3ccaa73ca7a706b191')
|
2023-02-27 04:17:03 +00:00
|
|
|
|
|
|
|
build() {
|
|
|
|
DMD=ldmd
|
|
|
|
|
|
|
|
# Add $LDFLAGS to the compilation, and remove -flto
|
2024-03-11 23:03:52 +00:00
|
|
|
_linkflags=$(echo -ne $LDFLAGS | cut -d\" -f2 | tail -c+4 | sed -e "s/-Wl,/-L=/g" -e "s/,/ -L=/g" -e "s/-flto=auto//")
|
2023-02-27 04:17:03 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
}
|