From 1889bcf4c96a430cff3026e2ce44fcf77b49b471 Mon Sep 17 00:00:00 2001 From: Vladimir Panteleev <CyberShadow@users.noreply.github.com> Date: Mon, 27 Feb 2023 04:17:03 +0000 Subject: [PATCH] added community/dtools (#1987) --- community/dtools/PKGBUILD | 53 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 community/dtools/PKGBUILD diff --git a/community/dtools/PKGBUILD b/community/dtools/PKGBUILD new file mode 100644 index 000000000..ea3f72fb9 --- /dev/null +++ b/community/dtools/PKGBUILD @@ -0,0 +1,53 @@ +# 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 +pkgver=2.102.1 +pkgrel=1 +pkgdesc='Ancilliary tools for the D programming language' +license=('Boost') +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=('260375f2cd80392435b14daee262509d37f858c96cee54b47a826f1f6276e665ced1b0e25811150117b4a7e09a7205bbeb4b60131d6aba4d350187a7ba00a835') + +build() { + DMD=ldmd + + # Add $LDFLAGS to the compilation, and remove -flto + _linkflags=$(echo -ne $LDFLAGS | cut -d\" -f2 | tail -c+4 | sed -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 +}