Updated to 2.098.1

This commit is contained in:
Dan Printzell 2022-01-18 21:20:48 +00:00
parent ab1a2e5610
commit 7f8d2da211
2 changed files with 6 additions and 55 deletions

View File

@ -1,9 +1,9 @@
# Maintainer: Dan Printzell <arch@vild.io>
# Maintainer: Dan Printzell <wild@archlinux.org>
# Maintainer: Filipe Laíns (FFY00) <lains@archlinux.org>
# Contributor: Mihails Strasunse <public@dicebot.lv>
pkgname=dtools
pkgver=2.098.0
pkgver=2.098.1
pkgrel=1
pkgdesc='Ancilliary tools for the D programming language'
license=('Boost')
@ -14,16 +14,14 @@ makedepends=('dmd' 'libphobos')
provides=('ddemangle' 'dustmite' 'rdmd')
conflicts=('ddemangle' 'dustmite' 'rdmd')
depends=('curl')
source=("$pkgname-$pkgver.tar.gz::https://github.com/dlang/tools/archive/v$pkgver.tar.gz"
'autodetect.diff')
sha512sums=('a56abcc5b14498d82d8b1de8e545e741d1aae48ffdf904574b36a8f023389c168dc3262be05f8824f0c216f79f8d67edaac9f1f7059b06827119fdf010f27583'
'3bce3c66cf24837fcb9bf244f2b07ed6116d8d67a75b2319010cf93956e93b43262b7d9613359503e6b0352b82684be8baeeb7b1f50e77accda334ce470bf5e3')
source=("$pkgname-$pkgver.tar.gz::https://github.com/dlang/tools/archive/v$pkgver.tar.gz")
sha512sums=('a7e96cb38c95d910307c0fefa3840f8315799d4713e6c7ec591bd37863683962aede4359c7114b715a760b438df540dfc42e8da8394b1f4c892384e21fe7575e')
build() {
DMD=dmd
# Add $LDFLAGS and $CXXFLAGS to the compilation
_linkflags=$(echo -ne $LDFLAGS | cut -d\" -f2 | tail -c+4 | sed "s/,/ -L=/g")
# 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//")
cd tools-$pkgver
# rdmd is used to build others

View File

@ -1,47 +0,0 @@
diff --git a/rdmd.d b/rdmd.d
index bd82637..390d533 100644
--- a/rdmd.d
+++ b/rdmd.d
@@ -52,7 +52,32 @@ else version (LDC)
else
static assert(false, "Unknown compiler");
-private string compiler = defaultCompiler;
+private string compiler;
+
+void chooseCompiler(ref string compiler)
+{
+ import std.stdio;
+
+ // if compiler is set explicitly, don't interefer
+ // otherwise find one that exists in PATH
+ if (!compiler.length)
+ {
+ import std.process : executeShell;
+ auto compilers = [ defaultCompiler, "dmd", "ldmd2", "gdmd2", "ldmd", "gdmd" ];
+
+ foreach (candidate; compilers)
+ {
+ // dirty hack, no-arg dmd invocation will return 1
+ if (executeShell(candidate ~ "| grep Usage").status == 0)
+ {
+ compiler = candidate;
+ return;
+ }
+ }
+
+ throw new Exception("Couldn't find any D compiler");
+ }
+}
version(unittest) {} else
int main(string[] args)
@@ -153,6 +178,8 @@ int main(string[] args)
if (bailout) return 0;
if (dryRun) chatty = true; // dry-run implies chatty
+ chooseCompiler(compiler);
+
/* Only -of is supported because Make is very susceptible to file names, and
* it doesn't do a good job resolving them. One option would be to use
* std.path.buildNormalizedPath(), but some corner cases will break, so it