Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] dmd: update to 2.094.1
@ 2020-10-25 15:22 aurieh
  2020-10-25 16:45 ` aurieh
                   ` (57 more replies)
  0 siblings, 58 replies; 59+ messages in thread
From: aurieh @ 2020-10-25 15:22 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 544 bytes --]

There is a new pull request by aurieh against master on the void-packages repository

https://github.com/aurieh/void-packages update-dmd
https://github.com/void-linux/void-packages/pull/25878

dmd: update to 2.094.1
Also adds a new package, `dmd2.091`, which is required to bootstrap `2.094.1`, else the build fails with

```
Error: pointer cast from dmd.mtype.TypeTuple to immutable(void*)** is not supported at compile time
```
in `dmd/mtype.d`.

A patch file from https://github.com/void-linux/void-packages/pull/25878.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-update-dmd-25878.patch --]
[-- Type: text/x-diff, Size: 6296 bytes --]

From d2ca7237b6d9cd41eca2637e7330439251948ecc Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:13:56 +0200
Subject: [PATCH 1/2] new package: dmd2.091

---
 srcpkgs/dmd2.091-doc            |   1 +
 srcpkgs/dmd2.091/files/dmd.conf |   2 +
 srcpkgs/dmd2.091/template       | 100 ++++++++++++++++++++++++++++++++
 srcpkgs/libphobos2.091          |   1 +
 4 files changed, 104 insertions(+)
 create mode 120000 srcpkgs/dmd2.091-doc
 create mode 100644 srcpkgs/dmd2.091/files/dmd.conf
 create mode 100644 srcpkgs/dmd2.091/template
 create mode 120000 srcpkgs/libphobos2.091

diff --git a/srcpkgs/dmd2.091-doc b/srcpkgs/dmd2.091-doc
new file mode 120000
index 00000000000..2758bf3a5bf
--- /dev/null
+++ b/srcpkgs/dmd2.091-doc
@@ -0,0 +1 @@
+dmd2.091
\ No newline at end of file
diff --git a/srcpkgs/dmd2.091/files/dmd.conf b/srcpkgs/dmd2.091/files/dmd.conf
new file mode 100644
index 00000000000..e8d42d10620
--- /dev/null
+++ b/srcpkgs/dmd2.091/files/dmd.conf
@@ -0,0 +1,2 @@
+[Environment]
+DFLAGS=-I/usr/include/d -I/usr/include/d/druntime/import -L-L/usr/lib -L-L/usr/lib -L--no-warn-search-mismatch -L--export-dynamic -fPIC
diff --git a/srcpkgs/dmd2.091/template b/srcpkgs/dmd2.091/template
new file mode 100644
index 00000000000..589f60e416f
--- /dev/null
+++ b/srcpkgs/dmd2.091/template
@@ -0,0 +1,100 @@
+# Template file for 'dmd2.091'
+pkgname=dmd2.091
+version=2.091.0
+revision=1
+create_wrksrc=yes
+hostmakedepends="which"
+makedepends="dmd2.081 git"
+depends="libphobos2.091>=${version} gcc"
+short_desc="Digital Mars D compiler, 2.091"
+maintainer="Auri <me@aurieh.me>"
+license="BSL-1.0"
+homepage="http://www.digitalmars.com/d/2.0/"
+distfiles="
+ https://github.com/dlang/dmd/archive/v${version}.tar.gz>dmd-${version}.tar.gz
+ https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
+ https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
+ http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
+checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
+ cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
+ df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
+ 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+conf_files="/etc/dmd.conf"
+provides="d-compiler-${version}_${revision}"
+conflicts="dmd-bootstrap dmd2.081"
+nopie=yes
+LDFLAGS="-lpthread"
+
+case "$XBPS_TARGET_MACHINE" in
+	x86_64*) _archbits=64;;
+	i686) _archbits=32;;
+	*) broken="unsupported arch upstream";;
+esac
+
+post_extract() {
+	rm -rf dmd druntime phobos
+	mv dmd-${version} dmd
+	mv druntime-${version} druntime
+	mv phobos-${version} phobos
+}
+
+do_build() {
+	local dmd
+
+	cd dmd
+	make ${makejobs} -f posix.mak MODEL=${_archbits} TARGET_CPU=X86 ENABLE_RELEASE=1 PIC=1
+	dmd=${wrksrc}/dmd/generated/linux/release/$_archbits/dmd
+
+	make ${makejobs} -C docs
+
+	cd ../druntime
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+
+	cd ../phobos
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+}
+
+do_install() {
+	cd dmd
+	vbin generated/linux/release/$_archbits/dmd
+	vinstall ${FILESDIR}/dmd.conf 644 etc
+
+	vman generated/docs/man/man1/dmd.1
+	vman generated/docs/man/man5/dmd.conf.5
+}
+
+dmd2.091-doc_package() {
+	short_desc="Documentation and sample code for D programming language"
+	replaces="dmd-docs>=0"
+	license="BSL-1.0"
+
+	pkg_install() {
+		cd dmd2
+
+		vmkdir usr/share/doc/d
+		vcopy samples usr/share/doc/d
+		vcopy html usr/share/doc/d
+
+		find ${PKGDESTDIR}/usr/share/doc/d -type f | xargs chmod 0644
+
+		vlicense license.txt
+	}
+}
+
+libphobos2.091_package() {
+	short_desc+=" - standard library"
+	license="BSL-1.0"
+	conflicts="dmd-bootstrap libphobos"
+	pkg_install() {
+		vinstall ${wrksrc}/druntime/generated/linux/release/$_archbits/libdruntime.a 644 usr/lib libdruntime.a
+		vinstall ${wrksrc}/phobos/generated/linux/release/$_archbits/libphobos2.a 644 usr/lib libphobos2.a
+
+		vmkdir usr/include/d
+		cp -r ${wrksrc}/phobos/{*.d,etc,std} ${PKGDESTDIR}/usr/include/d
+
+		vmkdir usr/include/d/druntime
+		cp -r ${wrksrc}/druntime/import ${PKGDESTDIR}/usr/include/d/druntime
+
+		vlicense ${wrksrc}/druntime/LICENSE.txt
+	}
+}
diff --git a/srcpkgs/libphobos2.091 b/srcpkgs/libphobos2.091
new file mode 120000
index 00000000000..2758bf3a5bf
--- /dev/null
+++ b/srcpkgs/libphobos2.091
@@ -0,0 +1 @@
+dmd2.091
\ No newline at end of file

From 05e23d07dda14e97aca78767a25908e1dcf3cf5d Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:14:54 +0200
Subject: [PATCH 2/2] dmd: update to 2.094.1

---
 srcpkgs/dmd/template | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/dmd/template b/srcpkgs/dmd/template
index 6167a347f49..60a0c05ce92 100644
--- a/srcpkgs/dmd/template
+++ b/srcpkgs/dmd/template
@@ -1,10 +1,10 @@
 # Template file for 'dmd'
 pkgname=dmd
-version=2.091.0
+version=2.094.1
 revision=1
 create_wrksrc=yes
 hostmakedepends="which"
-makedepends="dmd2.081 git"
+makedepends="dmd2.091 git"
 depends="libphobos>=${version} gcc"
 short_desc="Digital Mars D compiler"
 maintainer="streaks <assemblyislaw@gmail.com>"
@@ -15,13 +15,13 @@ distfiles="
  https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
  https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
  http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
-checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
- cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
- df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
- 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+checksum="63271e939dbe5c39e866074b97f53c515c2b9161fcae9bae1df3b38924b0098d
+ 4bd91e438996363ec62f0b72392fa88f9d53ee73c51bea1c3be1ae97bd28d30c
+ e84536c538f47247d4803a9d2163f32e4b1e03acac090fa195a77083147c556f
+ 5208ef1babdb17bf63324d3fd439af774e4bb90d242d55c2471775deba3a399b"
 conf_files="/etc/dmd.conf"
 provides="d-compiler-${version}_${revision}"
-conflicts="dmd-bootstrap dmd2.081"
+conflicts="dmd-bootstrap dmd2.081 dmd2.091"
 nopie=yes
 LDFLAGS="-lpthread"
 

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
@ 2020-10-25 16:45 ` aurieh
  2020-10-25 18:40 ` aurieh
                   ` (56 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-25 16:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 220 bytes --]

New comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-716176593

Comment:
`2.094.1` breaks on `x86_64-musl` due to missing `vfork` (?!), not yet sure why.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
  2020-10-25 16:45 ` aurieh
@ 2020-10-25 18:40 ` aurieh
  2020-10-25 19:36 ` [PR PATCH] [Updated] " aurieh
                   ` (55 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-25 18:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 224 bytes --]

New comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-716176593

Comment:
`2.094.1` breaks on `x86_64-musl` due to missing `vfork` (?!)~~, not yet sure why~~.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR PATCH] [Updated] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
  2020-10-25 16:45 ` aurieh
  2020-10-25 18:40 ` aurieh
@ 2020-10-25 19:36 ` aurieh
  2020-10-26  0:41 ` [PR REVIEW] " sgn
                   ` (54 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-25 19:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 549 bytes --]

There is an updated pull request by aurieh against master on the void-packages repository

https://github.com/aurieh/void-packages update-dmd
https://github.com/void-linux/void-packages/pull/25878

dmd: update to 2.094.1
Also adds a new package, `dmd2.091`, which is required to bootstrap `2.094.1`, else the build fails with

```
Error: pointer cast from dmd.mtype.TypeTuple to immutable(void*)** is not supported at compile time
```
in `dmd/mtype.d`.

A patch file from https://github.com/void-linux/void-packages/pull/25878.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-update-dmd-25878.patch --]
[-- Type: text/x-diff, Size: 8892 bytes --]

From d2ca7237b6d9cd41eca2637e7330439251948ecc Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:13:56 +0200
Subject: [PATCH 1/4] new package: dmd2.091

---
 srcpkgs/dmd2.091-doc            |   1 +
 srcpkgs/dmd2.091/files/dmd.conf |   2 +
 srcpkgs/dmd2.091/template       | 100 ++++++++++++++++++++++++++++++++
 srcpkgs/libphobos2.091          |   1 +
 4 files changed, 104 insertions(+)
 create mode 120000 srcpkgs/dmd2.091-doc
 create mode 100644 srcpkgs/dmd2.091/files/dmd.conf
 create mode 100644 srcpkgs/dmd2.091/template
 create mode 120000 srcpkgs/libphobos2.091

diff --git a/srcpkgs/dmd2.091-doc b/srcpkgs/dmd2.091-doc
new file mode 120000
index 00000000000..2758bf3a5bf
--- /dev/null
+++ b/srcpkgs/dmd2.091-doc
@@ -0,0 +1 @@
+dmd2.091
\ No newline at end of file
diff --git a/srcpkgs/dmd2.091/files/dmd.conf b/srcpkgs/dmd2.091/files/dmd.conf
new file mode 100644
index 00000000000..e8d42d10620
--- /dev/null
+++ b/srcpkgs/dmd2.091/files/dmd.conf
@@ -0,0 +1,2 @@
+[Environment]
+DFLAGS=-I/usr/include/d -I/usr/include/d/druntime/import -L-L/usr/lib -L-L/usr/lib -L--no-warn-search-mismatch -L--export-dynamic -fPIC
diff --git a/srcpkgs/dmd2.091/template b/srcpkgs/dmd2.091/template
new file mode 100644
index 00000000000..589f60e416f
--- /dev/null
+++ b/srcpkgs/dmd2.091/template
@@ -0,0 +1,100 @@
+# Template file for 'dmd2.091'
+pkgname=dmd2.091
+version=2.091.0
+revision=1
+create_wrksrc=yes
+hostmakedepends="which"
+makedepends="dmd2.081 git"
+depends="libphobos2.091>=${version} gcc"
+short_desc="Digital Mars D compiler, 2.091"
+maintainer="Auri <me@aurieh.me>"
+license="BSL-1.0"
+homepage="http://www.digitalmars.com/d/2.0/"
+distfiles="
+ https://github.com/dlang/dmd/archive/v${version}.tar.gz>dmd-${version}.tar.gz
+ https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
+ https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
+ http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
+checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
+ cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
+ df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
+ 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+conf_files="/etc/dmd.conf"
+provides="d-compiler-${version}_${revision}"
+conflicts="dmd-bootstrap dmd2.081"
+nopie=yes
+LDFLAGS="-lpthread"
+
+case "$XBPS_TARGET_MACHINE" in
+	x86_64*) _archbits=64;;
+	i686) _archbits=32;;
+	*) broken="unsupported arch upstream";;
+esac
+
+post_extract() {
+	rm -rf dmd druntime phobos
+	mv dmd-${version} dmd
+	mv druntime-${version} druntime
+	mv phobos-${version} phobos
+}
+
+do_build() {
+	local dmd
+
+	cd dmd
+	make ${makejobs} -f posix.mak MODEL=${_archbits} TARGET_CPU=X86 ENABLE_RELEASE=1 PIC=1
+	dmd=${wrksrc}/dmd/generated/linux/release/$_archbits/dmd
+
+	make ${makejobs} -C docs
+
+	cd ../druntime
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+
+	cd ../phobos
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+}
+
+do_install() {
+	cd dmd
+	vbin generated/linux/release/$_archbits/dmd
+	vinstall ${FILESDIR}/dmd.conf 644 etc
+
+	vman generated/docs/man/man1/dmd.1
+	vman generated/docs/man/man5/dmd.conf.5
+}
+
+dmd2.091-doc_package() {
+	short_desc="Documentation and sample code for D programming language"
+	replaces="dmd-docs>=0"
+	license="BSL-1.0"
+
+	pkg_install() {
+		cd dmd2
+
+		vmkdir usr/share/doc/d
+		vcopy samples usr/share/doc/d
+		vcopy html usr/share/doc/d
+
+		find ${PKGDESTDIR}/usr/share/doc/d -type f | xargs chmod 0644
+
+		vlicense license.txt
+	}
+}
+
+libphobos2.091_package() {
+	short_desc+=" - standard library"
+	license="BSL-1.0"
+	conflicts="dmd-bootstrap libphobos"
+	pkg_install() {
+		vinstall ${wrksrc}/druntime/generated/linux/release/$_archbits/libdruntime.a 644 usr/lib libdruntime.a
+		vinstall ${wrksrc}/phobos/generated/linux/release/$_archbits/libphobos2.a 644 usr/lib libphobos2.a
+
+		vmkdir usr/include/d
+		cp -r ${wrksrc}/phobos/{*.d,etc,std} ${PKGDESTDIR}/usr/include/d
+
+		vmkdir usr/include/d/druntime
+		cp -r ${wrksrc}/druntime/import ${PKGDESTDIR}/usr/include/d/druntime
+
+		vlicense ${wrksrc}/druntime/LICENSE.txt
+	}
+}
diff --git a/srcpkgs/libphobos2.091 b/srcpkgs/libphobos2.091
new file mode 120000
index 00000000000..2758bf3a5bf
--- /dev/null
+++ b/srcpkgs/libphobos2.091
@@ -0,0 +1 @@
+dmd2.091
\ No newline at end of file

From 05e23d07dda14e97aca78767a25908e1dcf3cf5d Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:14:54 +0200
Subject: [PATCH 2/4] dmd: update to 2.094.1

---
 srcpkgs/dmd/template | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/dmd/template b/srcpkgs/dmd/template
index 6167a347f49..60a0c05ce92 100644
--- a/srcpkgs/dmd/template
+++ b/srcpkgs/dmd/template
@@ -1,10 +1,10 @@
 # Template file for 'dmd'
 pkgname=dmd
-version=2.091.0
+version=2.094.1
 revision=1
 create_wrksrc=yes
 hostmakedepends="which"
-makedepends="dmd2.081 git"
+makedepends="dmd2.091 git"
 depends="libphobos>=${version} gcc"
 short_desc="Digital Mars D compiler"
 maintainer="streaks <assemblyislaw@gmail.com>"
@@ -15,13 +15,13 @@ distfiles="
  https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
  https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
  http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
-checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
- cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
- df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
- 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+checksum="63271e939dbe5c39e866074b97f53c515c2b9161fcae9bae1df3b38924b0098d
+ 4bd91e438996363ec62f0b72392fa88f9d53ee73c51bea1c3be1ae97bd28d30c
+ e84536c538f47247d4803a9d2163f32e4b1e03acac090fa195a77083147c556f
+ 5208ef1babdb17bf63324d3fd439af774e4bb90d242d55c2471775deba3a399b"
 conf_files="/etc/dmd.conf"
 provides="d-compiler-${version}_${revision}"
-conflicts="dmd-bootstrap dmd2.081"
+conflicts="dmd-bootstrap dmd2.081 dmd2.091"
 nopie=yes
 LDFLAGS="-lpthread"
 

From 96c0efb5f42d470e09819b55f5035499873fbe92 Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 20:28:18 +0200
Subject: [PATCH 3/4] dmd2.091: libphobos2.091 conflicts with libphobos2.081

---
 srcpkgs/dmd2.091/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/dmd2.091/template b/srcpkgs/dmd2.091/template
index 589f60e416f..cc915caaa8c 100644
--- a/srcpkgs/dmd2.091/template
+++ b/srcpkgs/dmd2.091/template
@@ -84,7 +84,7 @@ dmd2.091-doc_package() {
 libphobos2.091_package() {
 	short_desc+=" - standard library"
 	license="BSL-1.0"
-	conflicts="dmd-bootstrap libphobos"
+	conflicts="dmd-bootstrap libphobos2.081 libphobos"
 	pkg_install() {
 		vinstall ${wrksrc}/druntime/generated/linux/release/$_archbits/libdruntime.a 644 usr/lib libdruntime.a
 		vinstall ${wrksrc}/phobos/generated/linux/release/$_archbits/libphobos2.a 644 usr/lib libphobos2.a

From 54d81a0b31122a6471960214866f0f5f25a217b5 Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 21:35:36 +0200
Subject: [PATCH 4/4] dmd: fix build for x86_64-musl

Reverts https://github.com/dlang/dmd/commit/bab39b625f875ac14dd6668c2b442e76898ac342
on musl systems.
---
 srcpkgs/dmd/files/musl.patch | 21 +++++++++++++++++++++
 srcpkgs/dmd/template         |  6 ++++++
 2 files changed, 27 insertions(+)
 create mode 100644 srcpkgs/dmd/files/musl.patch

diff --git a/srcpkgs/dmd/files/musl.patch b/srcpkgs/dmd/files/musl.patch
new file mode 100644
index 00000000000..5b65f917b27
--- /dev/null
+++ b/srcpkgs/dmd/files/musl.patch
@@ -0,0 +1,21 @@
+--- dmd/src/dmd/link.d
++++ dmd/src/dmd/link.d
+@@ -759,8 +759,7 @@
+             perror("unable to create pipe to linker");
+             return -1;
+         }
+-        // vfork instead of fork to avoid https://issues.dlang.org/show_bug.cgi?id=21089
+-        childpid = vfork();
++        childpid = fork();
+         if (childpid == 0)
+         {
+             // pipe linker stderr to fds[0]
+@@ -768,7 +767,7 @@
+             close(fds[0]);
+             execvp(argv[0], argv.tdata());
+             perror(argv[0]); // failed to execute
+-            _exit(-1);
++            return -1;
+         }
+         else if (childpid == -1)
+         {
diff --git a/srcpkgs/dmd/template b/srcpkgs/dmd/template
index 60a0c05ce92..a2b90b67779 100644
--- a/srcpkgs/dmd/template
+++ b/srcpkgs/dmd/template
@@ -38,6 +38,12 @@ post_extract() {
 	mv phobos-${version} phobos
 }
 
+pre_configure() {
+	case "$XBPS_TARGET_MACHINE" in
+		*-musl) patch -p0 < ${FILESDIR}/musl.patch
+	esac
+}
+
 do_build() {
 	local dmd
 

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (2 preceding siblings ...)
  2020-10-25 19:36 ` [PR PATCH] [Updated] " aurieh
@ 2020-10-26  0:41 ` sgn
  2020-10-26  0:41 ` sgn
                   ` (53 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: sgn @ 2020-10-26  0:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 180 bytes --]

New review comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511671633

Comment:
Let's not split `libphobos2.091` out.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (3 preceding siblings ...)
  2020-10-26  0:41 ` [PR REVIEW] " sgn
@ 2020-10-26  0:41 ` sgn
  2020-10-26  0:41 ` sgn
                   ` (52 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: sgn @ 2020-10-26  0:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 187 bytes --]

New review comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511672721

Comment:
But, musl has `vfork(2)` from like `0.8.4`??

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (4 preceding siblings ...)
  2020-10-26  0:41 ` sgn
@ 2020-10-26  0:41 ` sgn
  2020-10-26  0:41 ` sgn
                   ` (51 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: sgn @ 2020-10-26  0:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 247 bytes --]

New review comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511671918

Comment:
And I think we shouldn't ship documentation either. This package is only used to build latest `dmd`, no?

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (5 preceding siblings ...)
  2020-10-26  0:41 ` sgn
@ 2020-10-26  0:41 ` sgn
  2020-10-26  0:42 ` ericonr
                   ` (50 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: sgn @ 2020-10-26  0:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 203 bytes --]

New review comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511672534

Comment:
```sh
if [ "$XBPS_TARGET_LIBC" = musl ]; then
...
fi
```

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (6 preceding siblings ...)
  2020-10-26  0:41 ` sgn
@ 2020-10-26  0:42 ` ericonr
  2020-10-26  0:42 ` ericonr
                   ` (49 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-26  0:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 198 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511671883

Comment:
Can we replace any of these in the bootstrap chain?

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (7 preceding siblings ...)
  2020-10-26  0:42 ` ericonr
@ 2020-10-26  0:42 ` ericonr
  2020-10-26  0:42 ` ericonr
                   ` (48 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-26  0:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 387 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511672914

Comment:
Why is a return here? Using a `return` feels very wrong.... I don't think I would revert this line.

`vfork` is available on musl, they are probably failing to `#define _BSD_SOURCE` at the top of the file, or whatever the D equivalent is.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (8 preceding siblings ...)
  2020-10-26  0:42 ` ericonr
@ 2020-10-26  0:42 ` ericonr
  2020-10-26  0:47 ` aurieh
                   ` (47 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-26  0:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 288 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511672101

Comment:
If it's only going to be used for bootstrap, could we simplify the package with fewer subpackages and rm'ing everything that's not important?

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (9 preceding siblings ...)
  2020-10-26  0:42 ` ericonr
@ 2020-10-26  0:47 ` aurieh
  2020-10-26  0:48 ` aurieh
                   ` (46 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-26  0:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 415 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511673634

Comment:
No. `dmd-bootstrap` is needed to build `2.081` (obviously), `2.081` is needed to build `2.091`  (and probably older versions, not sure what range is but it doesn't matter because...) `2.091` is needed to build anything past `2.092.1` (thanks to a  change in `mtype.d`).

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (10 preceding siblings ...)
  2020-10-26  0:47 ` aurieh
@ 2020-10-26  0:48 ` aurieh
  2020-10-26  0:51 ` aurieh
                   ` (45 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-26  0:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 318 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511673758

Comment:
Yes, as pointed out by @sgn, I should probably just get rid of everything non-essential. I should probably trim the `dmd2.081`  package as well, although in a different PR.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (11 preceding siblings ...)
  2020-10-26  0:48 ` aurieh
@ 2020-10-26  0:51 ` aurieh
  2020-10-26  0:52 ` aurieh
                   ` (44 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-26  0:51 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 640 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511674166

Comment:
D does not use C headers. I tried to track down the declaration of `vfork` in glibc druntime, which led me to https://github.com/dlang/druntime/blob/master/src/core/sys/posix/unistd.d#L2451 but declaring `vfork` here https://github.com/dlang/druntime/blob/master/src/core/sys/posix/unistd.d#L2479 (in the bootstrap compiler's druntime, of course) did not help, which leads me to believe the musl block is never evaluated thanks to D toolchain's poor support of anything other than x86_64 glibc.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (12 preceding siblings ...)
  2020-10-26  0:51 ` aurieh
@ 2020-10-26  0:52 ` aurieh
  2020-10-26  0:56 ` aurieh
                   ` (43 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-26  0:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 257 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511674351

Comment:
I explained the reason for this in https://github.com/void-linux/void-packages/pull/25878#discussion_r511674166

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (13 preceding siblings ...)
  2020-10-26  0:52 ` aurieh
@ 2020-10-26  0:56 ` aurieh
  2020-10-26  1:00 ` ericonr
                   ` (42 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-26  0:56 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 277 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511675026

Comment:
And yes, good point, I will not revert that line. I just sort of took a hammer approach with the revert, took the whole commit out.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (14 preceding siblings ...)
  2020-10-26  0:56 ` aurieh
@ 2020-10-26  1:00 ` ericonr
  2020-10-26  1:01 ` ericonr
                   ` (41 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-26  1:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 422 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511675634

Comment:
Gah, that's terrible.

> (in the bootstrap compiler's druntime, of course)

Are you sure that's correct? The bootstrap compiler should be building the new compiler with its own library and headers, right? Could be interesting to see what happens if you patch it in `dmd`.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (15 preceding siblings ...)
  2020-10-26  1:00 ` ericonr
@ 2020-10-26  1:01 ` ericonr
  2020-10-26  1:06 ` aurieh
                   ` (40 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-26  1:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 186 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511675699

Comment:
Also, do you know how they detect musl?

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (16 preceding siblings ...)
  2020-10-26  1:01 ` ericonr
@ 2020-10-26  1:06 ` aurieh
  2020-10-26  1:38 ` ericonr
                   ` (39 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-26  1:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 367 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511676409

Comment:
>Are you sure that's correct?

I'm relatively certain, but I'll try patching `dmd`'s `druntime` anyways. Might work, who knows.

>Also, do you know how they detect musl?

Nope, no idea. I'll look into this tomorrow.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (17 preceding siblings ...)
  2020-10-26  1:06 ` aurieh
@ 2020-10-26  1:38 ` ericonr
  2020-10-26 10:30 ` aurieh
                   ` (38 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-26  1:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 336 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511681796

Comment:
> Nope, no idea. I'll look into this tomorrow.

It's not urgent, I was mostly wondering.

Also, moving to using `vfork` when it's not present for all headers is a big bug on their part.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (18 preceding siblings ...)
  2020-10-26  1:38 ` ericonr
@ 2020-10-26 10:30 ` aurieh
  2020-10-26 10:50 ` aurieh
                   ` (37 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-26 10:30 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 431 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511859191

Comment:
Tested patching `dmd`'s `druntime`, didn't help. Also tested adding a message pragma to the `version (CRuntime_Musl)` test in druntime - it did not log anything, which confirms that the branch is, indeed, never evaluated. Honestly not sure how this thing even builds (or works) at all.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (19 preceding siblings ...)
  2020-10-26 10:30 ` aurieh
@ 2020-10-26 10:50 ` aurieh
  2020-10-26 12:32 ` ericonr
                   ` (36 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-26 10:50 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 194 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511859191

Comment:
Tested patching `dmd`'s `druntime`, didn't help.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (20 preceding siblings ...)
  2020-10-26 10:50 ` aurieh
@ 2020-10-26 12:32 ` ericonr
  2020-10-26 14:59 ` aurieh
                   ` (35 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-26 12:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 258 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r511924218

Comment:
Ok, no problem. So just patch it to `fork()` for now, unless you want to explore deep into the build system :) 

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (21 preceding siblings ...)
  2020-10-26 12:32 ` ericonr
@ 2020-10-26 14:59 ` aurieh
  2020-10-27 12:49 ` [PR PATCH] [Updated] " aurieh
                   ` (34 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-26 14:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 516 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r512027536

Comment:
Had a shot at tracking down where `CRuntime_Musl` is defined, couldn't find it; the dmd build toolchain (the entire codebase, really) is extremely convoluted. What I *do* know is that `CRuntime_Musl` is set when building both `dmd2.091` and `dmd` (`2.094.1`), made sure using a message pragma. Not sure why properly declaring `vfork()` doesn't help, it's really strange.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR PATCH] [Updated] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (22 preceding siblings ...)
  2020-10-26 14:59 ` aurieh
@ 2020-10-27 12:49 ` aurieh
  2020-10-27 14:26 ` [PR REVIEW] " ericonr
                   ` (33 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-27 12:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 549 bytes --]

There is an updated pull request by aurieh against master on the void-packages repository

https://github.com/aurieh/void-packages update-dmd
https://github.com/void-linux/void-packages/pull/25878

dmd: update to 2.094.1
Also adds a new package, `dmd2.091`, which is required to bootstrap `2.094.1`, else the build fails with

```
Error: pointer cast from dmd.mtype.TypeTuple to immutable(void*)** is not supported at compile time
```
in `dmd/mtype.d`.

A patch file from https://github.com/void-linux/void-packages/pull/25878.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-update-dmd-25878.patch --]
[-- Type: text/x-diff, Size: 6363 bytes --]

From b86aa0a92df34bbdafbcde9286e249309c019547 Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:13:56 +0200
Subject: [PATCH 1/2] new package: dmd2.091

dmd2.091: libphobos2.091 conflicts with libphobos2.081

dmd2.091: implement requested changes
---
 srcpkgs/dmd2.091/files/dmd.conf |  2 +
 srcpkgs/dmd2.091/template       | 78 +++++++++++++++++++++++++++++++++
 2 files changed, 80 insertions(+)
 create mode 100644 srcpkgs/dmd2.091/files/dmd.conf
 create mode 100644 srcpkgs/dmd2.091/template

diff --git a/srcpkgs/dmd2.091/files/dmd.conf b/srcpkgs/dmd2.091/files/dmd.conf
new file mode 100644
index 00000000000..e8d42d10620
--- /dev/null
+++ b/srcpkgs/dmd2.091/files/dmd.conf
@@ -0,0 +1,2 @@
+[Environment]
+DFLAGS=-I/usr/include/d -I/usr/include/d/druntime/import -L-L/usr/lib -L-L/usr/lib -L--no-warn-search-mismatch -L--export-dynamic -fPIC
diff --git a/srcpkgs/dmd2.091/template b/srcpkgs/dmd2.091/template
new file mode 100644
index 00000000000..bfe84ffdae8
--- /dev/null
+++ b/srcpkgs/dmd2.091/template
@@ -0,0 +1,78 @@
+# Template file for 'dmd2.091'
+pkgname=dmd2.091
+version=2.091.0
+revision=1
+create_wrksrc=yes
+hostmakedepends="which"
+makedepends="dmd2.081 git"
+depends="gcc"
+short_desc="Digital Mars D compiler, 2.091"
+maintainer="Auri <me@aurieh.me>"
+license="BSL-1.0"
+homepage="http://www.digitalmars.com/d/2.0/"
+distfiles="
+ https://github.com/dlang/dmd/archive/v${version}.tar.gz>dmd-${version}.tar.gz
+ https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
+ https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
+ http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
+checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
+ cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
+ df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
+ 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+conf_files="/etc/dmd.conf"
+provides="d-compiler-${version}_${revision}"
+conflicts="dmd-bootstrap dmd2.081 libphobos2.081"
+nopie=yes
+LDFLAGS="-lpthread"
+
+case "$XBPS_TARGET_MACHINE" in
+	x86_64*) _archbits=64;;
+	i686) _archbits=32;;
+	*) broken="unsupported arch upstream";;
+esac
+
+post_extract() {
+	rm -rf dmd druntime phobos
+	mv dmd-${version} dmd
+	mv druntime-${version} druntime
+	mv phobos-${version} phobos
+}
+
+do_build() {
+	local dmd
+
+	cd dmd
+	make ${makejobs} -f posix.mak MODEL=${_archbits} TARGET_CPU=X86 ENABLE_RELEASE=1 PIC=1
+	dmd=${wrksrc}/dmd/generated/linux/release/$_archbits/dmd
+
+	make ${makejobs} -C docs
+
+	cd ../druntime
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+
+	cd ../phobos
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+}
+
+do_install() {
+	cd dmd
+	vbin generated/linux/release/$_archbits/dmd
+	vinstall ${FILESDIR}/dmd.conf 644 etc
+
+	# note: dmd, druntime and phobos all share the same license
+	vlicense LICENSE.txt
+
+	vman generated/docs/man/man1/dmd.1
+	vman generated/docs/man/man5/dmd.conf.5
+
+	vmkdir usr/include/d
+
+	cd ../phobos
+	cp -r ./{*.d,etc,std} ${PKGDESTDIR}/usr/include/d
+	vinstall generated/linux/release/$_archbits/libphobos2.a 644 usr/lib libphobos2.a
+
+	cd ../druntime
+	vmkdir usr/include/d/druntime
+	cp -r import ${PKGDESTDIR}/usr/include/d/druntime
+	vinstall generated/linux/release/$_archbits/libdruntime.a 644 usr/lib libdruntime.a
+}

From fc41341779acfeed91a91711d5d3fbfd242f3600 Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:14:54 +0200
Subject: [PATCH 2/2] dmd: update to 2.094.1

dmd: fix build for x86_64-musl

Reverts https://github.com/dlang/dmd/commit/bab39b625f875ac14dd6668c2b442e76898ac342
on musl systems.

dmd: implement requested changes
---
 srcpkgs/dmd/files/musl.patch | 12 ++++++++++++
 srcpkgs/dmd/template         | 20 +++++++++++++-------
 2 files changed, 25 insertions(+), 7 deletions(-)
 create mode 100644 srcpkgs/dmd/files/musl.patch

diff --git a/srcpkgs/dmd/files/musl.patch b/srcpkgs/dmd/files/musl.patch
new file mode 100644
index 00000000000..bf41a3e4961
--- /dev/null
+++ b/srcpkgs/dmd/files/musl.patch
@@ -0,0 +1,12 @@
+--- dmd/src/dmd/link.d
++++ dmd/src/dmd/link.d
+@@ -759,8 +759,7 @@
+             perror("unable to create pipe to linker");
+             return -1;
+         }
+-        // vfork instead of fork to avoid https://issues.dlang.org/show_bug.cgi?id=21089
+-        childpid = vfork();
++        childpid = fork();
+         if (childpid == 0)
+         {
+             // pipe linker stderr to fds[0]
diff --git a/srcpkgs/dmd/template b/srcpkgs/dmd/template
index 6167a347f49..8a9a167308a 100644
--- a/srcpkgs/dmd/template
+++ b/srcpkgs/dmd/template
@@ -1,10 +1,10 @@
 # Template file for 'dmd'
 pkgname=dmd
-version=2.091.0
+version=2.094.1
 revision=1
 create_wrksrc=yes
 hostmakedepends="which"
-makedepends="dmd2.081 git"
+makedepends="dmd2.091 git"
 depends="libphobos>=${version} gcc"
 short_desc="Digital Mars D compiler"
 maintainer="streaks <assemblyislaw@gmail.com>"
@@ -15,13 +15,13 @@ distfiles="
  https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
  https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
  http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
-checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
- cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
- df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
- 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+checksum="63271e939dbe5c39e866074b97f53c515c2b9161fcae9bae1df3b38924b0098d
+ 4bd91e438996363ec62f0b72392fa88f9d53ee73c51bea1c3be1ae97bd28d30c
+ e84536c538f47247d4803a9d2163f32e4b1e03acac090fa195a77083147c556f
+ 5208ef1babdb17bf63324d3fd439af774e4bb90d242d55c2471775deba3a399b"
 conf_files="/etc/dmd.conf"
 provides="d-compiler-${version}_${revision}"
-conflicts="dmd-bootstrap dmd2.081"
+conflicts="dmd-bootstrap dmd2.081 dmd2.091"
 nopie=yes
 LDFLAGS="-lpthread"
 
@@ -38,6 +38,12 @@ post_extract() {
 	mv phobos-${version} phobos
 }
 
+pre_configure() {
+	if [ "$XBPS_TARGET_LIBC" = musl ]; then
+		patch -p0 < ${FILESDIR}/musl.patch
+	fi
+}
+
 do_build() {
 	local dmd
 

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (23 preceding siblings ...)
  2020-10-27 12:49 ` [PR PATCH] [Updated] " aurieh
@ 2020-10-27 14:26 ` ericonr
  2020-10-27 14:26 ` ericonr
                   ` (32 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-27 14:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 225 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r512716657

Comment:
No issue with using `i686*`, unless i686-musl is also unsupported by upstream.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (25 preceding siblings ...)
  2020-10-27 14:26 ` ericonr
@ 2020-10-27 14:26 ` ericonr
  2020-10-27 14:44 ` sgn
                   ` (30 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-27 14:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 169 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r512717287

Comment:
Could this be `rmdir`?

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (24 preceding siblings ...)
  2020-10-27 14:26 ` [PR REVIEW] " ericonr
@ 2020-10-27 14:26 ` ericonr
  2020-10-27 14:26 ` ericonr
                   ` (31 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-27 14:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 250 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r512737448

Comment:
Shouldn't `dmd` go in hostmakedepends? I see this is how the previous template was doing it, but still.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (26 preceding siblings ...)
  2020-10-27 14:26 ` ericonr
@ 2020-10-27 14:44 ` sgn
  2020-10-27 15:06 ` aurieh
                   ` (29 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: sgn @ 2020-10-27 14:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 232 bytes --]

New review comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r512753972

Comment:
We could set this package as `nocross`, too. No point on building this package for cross.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (27 preceding siblings ...)
  2020-10-27 14:44 ` sgn
@ 2020-10-27 15:06 ` aurieh
  2020-10-27 15:34 ` aurieh
                   ` (28 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-27 15:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 287 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r512772602

Comment:
I do not believe i686-musl is supported upstream. I couldn't get it to build last I tried. I'll have another go with the new bootstrap chain.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (28 preceding siblings ...)
  2020-10-27 15:06 ` aurieh
@ 2020-10-27 15:34 ` aurieh
  2020-10-27 15:38 ` ericonr
                   ` (27 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-27 15:34 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 266 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r512796428

Comment:
I'm not experienced enough with `xbps-src` to tell. Are the directories supposed to be empty, even after a failed build?

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (29 preceding siblings ...)
  2020-10-27 15:34 ` aurieh
@ 2020-10-27 15:38 ` ericonr
  2020-10-27 15:38 ` ericonr
                   ` (26 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-27 15:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 194 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r512799930

Comment:
If they are empty directories, it should be ok.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (30 preceding siblings ...)
  2020-10-27 15:38 ` ericonr
@ 2020-10-27 15:38 ` ericonr
  2020-10-27 16:18 ` aurieh
                   ` (25 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-27 15:38 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 245 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r512799930

Comment:
If they are empty directories, it should be ok. A new build won't perform the extract steps again.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (31 preceding siblings ...)
  2020-10-27 15:38 ` ericonr
@ 2020-10-27 16:18 ` aurieh
  2020-10-27 16:35 ` [PR PATCH] [Updated] " aurieh
                   ` (24 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-27 16:18 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 267 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r512834548

Comment:
Interesting, apparently the dirs don't even exist after `do_extract`. I wonder why that `rm` is in the original template.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR PATCH] [Updated] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (32 preceding siblings ...)
  2020-10-27 16:18 ` aurieh
@ 2020-10-27 16:35 ` aurieh
  2020-10-27 23:53 ` [PR REVIEW] " aurieh
                   ` (23 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-27 16:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 549 bytes --]

There is an updated pull request by aurieh against master on the void-packages repository

https://github.com/aurieh/void-packages update-dmd
https://github.com/void-linux/void-packages/pull/25878

dmd: update to 2.094.1
Also adds a new package, `dmd2.091`, which is required to bootstrap `2.094.1`, else the build fails with

```
Error: pointer cast from dmd.mtype.TypeTuple to immutable(void*)** is not supported at compile time
```
in `dmd/mtype.d`.

A patch file from https://github.com/void-linux/void-packages/pull/25878.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-update-dmd-25878.patch --]
[-- Type: text/x-diff, Size: 6576 bytes --]

From 073b7d3e33b016ac1c8bd8063a468fdcad850e36 Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:13:56 +0200
Subject: [PATCH 1/2] new package: dmd2.091

dmd2.091: libphobos2.091 conflicts with libphobos2.081

dmd2.091: implement requested changes

dmd2.091: implement requested changes
---
 srcpkgs/dmd2.091/files/dmd.conf |  2 +
 srcpkgs/dmd2.091/template       | 78 +++++++++++++++++++++++++++++++++
 2 files changed, 80 insertions(+)
 create mode 100644 srcpkgs/dmd2.091/files/dmd.conf
 create mode 100644 srcpkgs/dmd2.091/template

diff --git a/srcpkgs/dmd2.091/files/dmd.conf b/srcpkgs/dmd2.091/files/dmd.conf
new file mode 100644
index 00000000000..e8d42d10620
--- /dev/null
+++ b/srcpkgs/dmd2.091/files/dmd.conf
@@ -0,0 +1,2 @@
+[Environment]
+DFLAGS=-I/usr/include/d -I/usr/include/d/druntime/import -L-L/usr/lib -L-L/usr/lib -L--no-warn-search-mismatch -L--export-dynamic -fPIC
diff --git a/srcpkgs/dmd2.091/template b/srcpkgs/dmd2.091/template
new file mode 100644
index 00000000000..2048a1886bb
--- /dev/null
+++ b/srcpkgs/dmd2.091/template
@@ -0,0 +1,78 @@
+# Template file for 'dmd2.091'
+pkgname=dmd2.091
+version=2.091.0
+revision=1
+create_wrksrc=yes
+hostmakedepends="dmd2.081 which"
+makedepends="git"
+depends="gcc"
+short_desc="Digital Mars D compiler, 2.091"
+maintainer="Auri <me@aurieh.me>"
+license="BSL-1.0"
+homepage="http://www.digitalmars.com/d/2.0/"
+distfiles="
+ https://github.com/dlang/dmd/archive/v${version}.tar.gz>dmd-${version}.tar.gz
+ https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
+ https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
+ http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
+checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
+ cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
+ df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
+ 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+conf_files="/etc/dmd.conf"
+provides="d-compiler-${version}_${revision}"
+conflicts="dmd-bootstrap dmd2.081 libphobos2.081"
+nopie=yes
+nocross=yes
+LDFLAGS="-lpthread"
+
+case "$XBPS_TARGET_MACHINE" in
+	x86_64*) _archbits=64;;
+	i686) _archbits=32;;
+	*) broken="unsupported arch upstream";;
+esac
+
+post_extract() {
+	mv dmd-${version} dmd
+	mv druntime-${version} druntime
+	mv phobos-${version} phobos
+}
+
+do_build() {
+	local dmd
+
+	cd dmd
+	make ${makejobs} -f posix.mak MODEL=${_archbits} TARGET_CPU=X86 ENABLE_RELEASE=1 PIC=1
+	dmd=${wrksrc}/dmd/generated/linux/release/$_archbits/dmd
+
+	make ${makejobs} -C docs
+
+	cd ../druntime
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+
+	cd ../phobos
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+}
+
+do_install() {
+	cd dmd
+	vbin generated/linux/release/$_archbits/dmd
+	vinstall ${FILESDIR}/dmd.conf 644 etc
+
+	# note: dmd, druntime and phobos all share the same license
+	vlicense LICENSE.txt
+
+	vman generated/docs/man/man1/dmd.1
+	vman generated/docs/man/man5/dmd.conf.5
+
+	vmkdir usr/include/d
+
+	cd ../phobos
+	cp -r ./{*.d,etc,std} ${PKGDESTDIR}/usr/include/d
+	vinstall generated/linux/release/$_archbits/libphobos2.a 644 usr/lib libphobos2.a
+
+	cd ../druntime
+	vmkdir usr/include/d/druntime
+	cp -r import ${PKGDESTDIR}/usr/include/d/druntime
+	vinstall generated/linux/release/$_archbits/libdruntime.a 644 usr/lib libdruntime.a
+}

From 5bbb77d233544c11ed4fcb65cfb3bf26d43b3255 Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:14:54 +0200
Subject: [PATCH 2/2] dmd: update to 2.094.1

dmd: fix build for x86_64-musl

Reverts https://github.com/dlang/dmd/commit/bab39b625f875ac14dd6668c2b442e76898ac342
on musl systems.

dmd: implement requested changes

dmd: implement requested changes
---
 srcpkgs/dmd/files/musl.patch | 12 ++++++++++++
 srcpkgs/dmd/template         | 23 ++++++++++++++---------
 2 files changed, 26 insertions(+), 9 deletions(-)
 create mode 100644 srcpkgs/dmd/files/musl.patch

diff --git a/srcpkgs/dmd/files/musl.patch b/srcpkgs/dmd/files/musl.patch
new file mode 100644
index 00000000000..bf41a3e4961
--- /dev/null
+++ b/srcpkgs/dmd/files/musl.patch
@@ -0,0 +1,12 @@
+--- dmd/src/dmd/link.d
++++ dmd/src/dmd/link.d
+@@ -759,8 +759,7 @@
+             perror("unable to create pipe to linker");
+             return -1;
+         }
+-        // vfork instead of fork to avoid https://issues.dlang.org/show_bug.cgi?id=21089
+-        childpid = vfork();
++        childpid = fork();
+         if (childpid == 0)
+         {
+             // pipe linker stderr to fds[0]
diff --git a/srcpkgs/dmd/template b/srcpkgs/dmd/template
index 6167a347f49..09de75c6413 100644
--- a/srcpkgs/dmd/template
+++ b/srcpkgs/dmd/template
@@ -1,10 +1,10 @@
 # Template file for 'dmd'
 pkgname=dmd
-version=2.091.0
+version=2.094.1
 revision=1
 create_wrksrc=yes
-hostmakedepends="which"
-makedepends="dmd2.081 git"
+hostmakedepends="dmd2.091 which"
+makedepends="git"
 depends="libphobos>=${version} gcc"
 short_desc="Digital Mars D compiler"
 maintainer="streaks <assemblyislaw@gmail.com>"
@@ -15,13 +15,13 @@ distfiles="
  https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
  https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
  http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
-checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
- cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
- df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
- 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+checksum="63271e939dbe5c39e866074b97f53c515c2b9161fcae9bae1df3b38924b0098d
+ 4bd91e438996363ec62f0b72392fa88f9d53ee73c51bea1c3be1ae97bd28d30c
+ e84536c538f47247d4803a9d2163f32e4b1e03acac090fa195a77083147c556f
+ 5208ef1babdb17bf63324d3fd439af774e4bb90d242d55c2471775deba3a399b"
 conf_files="/etc/dmd.conf"
 provides="d-compiler-${version}_${revision}"
-conflicts="dmd-bootstrap dmd2.081"
+conflicts="dmd-bootstrap dmd2.081 dmd2.091"
 nopie=yes
 LDFLAGS="-lpthread"
 
@@ -32,12 +32,17 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 post_extract() {
-	rm -rf dmd druntime phobos
 	mv dmd-${version} dmd
 	mv druntime-${version} druntime
 	mv phobos-${version} phobos
 }
 
+pre_configure() {
+	if [ "$XBPS_TARGET_LIBC" = musl ]; then
+		patch -p0 < ${FILESDIR}/musl.patch
+	fi
+}
+
 do_build() {
 	local dmd
 

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (33 preceding siblings ...)
  2020-10-27 16:35 ` [PR PATCH] [Updated] " aurieh
@ 2020-10-27 23:53 ` aurieh
  2020-10-27 23:55 ` aurieh
                   ` (22 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-27 23:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 437 bytes --]

New review comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r513099236

Comment:
Tried building on `i686-musl`, `dmd2.081` fails because its druntime is missing `pthread_condattr_t` even though it's defined for musl in https://github.com/dlang/druntime/blob/fa3eeed29b5d892da921c585e6526635475059a4/src/core/sys/posix/sys/types.d#L852 *and* the version block is evaluated.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (34 preceding siblings ...)
  2020-10-27 23:53 ` [PR REVIEW] " aurieh
@ 2020-10-27 23:55 ` aurieh
  2020-10-28  2:00 ` [PR REVIEW] " ericonr
                   ` (21 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-27 23:55 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 221 bytes --]

New comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-717608621

Comment:
@ericonr @sgn anything else I need to get done before this is ready to be merged?

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR REVIEW] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (35 preceding siblings ...)
  2020-10-27 23:55 ` aurieh
@ 2020-10-28  2:00 ` ericonr
  2020-10-28  3:16 ` ericonr
                   ` (20 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-28  2:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 183 bytes --]

New review comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#discussion_r513134720

Comment:
Wow, that sucks. Thanks for testing!

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (36 preceding siblings ...)
  2020-10-28  2:00 ` [PR REVIEW] " ericonr
@ 2020-10-28  3:16 ` ericonr
  2020-10-28 21:10 ` [PR PATCH] [Updated] " aurieh
                   ` (19 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-28  3:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 356 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-717669153

Comment:
I don't think there's anything, besides possibly cleaning up the body of the commit messages (they have some repeated statements).

If it isn't merged by tomorrow, I will try out something built with it and do so.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR PATCH] [Updated] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (37 preceding siblings ...)
  2020-10-28  3:16 ` ericonr
@ 2020-10-28 21:10 ` aurieh
  2020-10-28 21:11 ` aurieh
                   ` (18 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-28 21:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 549 bytes --]

There is an updated pull request by aurieh against master on the void-packages repository

https://github.com/aurieh/void-packages update-dmd
https://github.com/void-linux/void-packages/pull/25878

dmd: update to 2.094.1
Also adds a new package, `dmd2.091`, which is required to bootstrap `2.094.1`, else the build fails with

```
Error: pointer cast from dmd.mtype.TypeTuple to immutable(void*)** is not supported at compile time
```
in `dmd/mtype.d`.

A patch file from https://github.com/void-linux/void-packages/pull/25878.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-update-dmd-25878.patch --]
[-- Type: text/x-diff, Size: 6503 bytes --]

From 20b644a34dafbe9aba0ee9247384c3b89135fab0 Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:13:56 +0200
Subject: [PATCH 1/2] new package: dmd2.091

dmd2.091: libphobos2.091 conflicts with libphobos2.081

dmd2.091: implement requested changes
---
 srcpkgs/dmd2.091/files/dmd.conf |  2 +
 srcpkgs/dmd2.091/template       | 78 +++++++++++++++++++++++++++++++++
 2 files changed, 80 insertions(+)
 create mode 100644 srcpkgs/dmd2.091/files/dmd.conf
 create mode 100644 srcpkgs/dmd2.091/template

diff --git a/srcpkgs/dmd2.091/files/dmd.conf b/srcpkgs/dmd2.091/files/dmd.conf
new file mode 100644
index 00000000000..e8d42d10620
--- /dev/null
+++ b/srcpkgs/dmd2.091/files/dmd.conf
@@ -0,0 +1,2 @@
+[Environment]
+DFLAGS=-I/usr/include/d -I/usr/include/d/druntime/import -L-L/usr/lib -L-L/usr/lib -L--no-warn-search-mismatch -L--export-dynamic -fPIC
diff --git a/srcpkgs/dmd2.091/template b/srcpkgs/dmd2.091/template
new file mode 100644
index 00000000000..2048a1886bb
--- /dev/null
+++ b/srcpkgs/dmd2.091/template
@@ -0,0 +1,78 @@
+# Template file for 'dmd2.091'
+pkgname=dmd2.091
+version=2.091.0
+revision=1
+create_wrksrc=yes
+hostmakedepends="dmd2.081 which"
+makedepends="git"
+depends="gcc"
+short_desc="Digital Mars D compiler, 2.091"
+maintainer="Auri <me@aurieh.me>"
+license="BSL-1.0"
+homepage="http://www.digitalmars.com/d/2.0/"
+distfiles="
+ https://github.com/dlang/dmd/archive/v${version}.tar.gz>dmd-${version}.tar.gz
+ https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
+ https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
+ http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
+checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
+ cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
+ df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
+ 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+conf_files="/etc/dmd.conf"
+provides="d-compiler-${version}_${revision}"
+conflicts="dmd-bootstrap dmd2.081 libphobos2.081"
+nopie=yes
+nocross=yes
+LDFLAGS="-lpthread"
+
+case "$XBPS_TARGET_MACHINE" in
+	x86_64*) _archbits=64;;
+	i686) _archbits=32;;
+	*) broken="unsupported arch upstream";;
+esac
+
+post_extract() {
+	mv dmd-${version} dmd
+	mv druntime-${version} druntime
+	mv phobos-${version} phobos
+}
+
+do_build() {
+	local dmd
+
+	cd dmd
+	make ${makejobs} -f posix.mak MODEL=${_archbits} TARGET_CPU=X86 ENABLE_RELEASE=1 PIC=1
+	dmd=${wrksrc}/dmd/generated/linux/release/$_archbits/dmd
+
+	make ${makejobs} -C docs
+
+	cd ../druntime
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+
+	cd ../phobos
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+}
+
+do_install() {
+	cd dmd
+	vbin generated/linux/release/$_archbits/dmd
+	vinstall ${FILESDIR}/dmd.conf 644 etc
+
+	# note: dmd, druntime and phobos all share the same license
+	vlicense LICENSE.txt
+
+	vman generated/docs/man/man1/dmd.1
+	vman generated/docs/man/man5/dmd.conf.5
+
+	vmkdir usr/include/d
+
+	cd ../phobos
+	cp -r ./{*.d,etc,std} ${PKGDESTDIR}/usr/include/d
+	vinstall generated/linux/release/$_archbits/libphobos2.a 644 usr/lib libphobos2.a
+
+	cd ../druntime
+	vmkdir usr/include/d/druntime
+	cp -r import ${PKGDESTDIR}/usr/include/d/druntime
+	vinstall generated/linux/release/$_archbits/libdruntime.a 644 usr/lib libdruntime.a
+}

From fac4610d1b542eb3d1865cf033d3121965de8720 Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:14:54 +0200
Subject: [PATCH 2/2] dmd: update to 2.094.1

dmd: fix build for x86_64-musl

Reverts https://github.com/dlang/dmd/commit/bab39b625f875ac14dd6668c2b442e76898ac342
on musl systems.

dmd: implement requested changes
---
 srcpkgs/dmd/files/musl.patch | 12 ++++++++++++
 srcpkgs/dmd/template         | 23 ++++++++++++++---------
 2 files changed, 26 insertions(+), 9 deletions(-)
 create mode 100644 srcpkgs/dmd/files/musl.patch

diff --git a/srcpkgs/dmd/files/musl.patch b/srcpkgs/dmd/files/musl.patch
new file mode 100644
index 00000000000..bf41a3e4961
--- /dev/null
+++ b/srcpkgs/dmd/files/musl.patch
@@ -0,0 +1,12 @@
+--- dmd/src/dmd/link.d
++++ dmd/src/dmd/link.d
+@@ -759,8 +759,7 @@
+             perror("unable to create pipe to linker");
+             return -1;
+         }
+-        // vfork instead of fork to avoid https://issues.dlang.org/show_bug.cgi?id=21089
+-        childpid = vfork();
++        childpid = fork();
+         if (childpid == 0)
+         {
+             // pipe linker stderr to fds[0]
diff --git a/srcpkgs/dmd/template b/srcpkgs/dmd/template
index 6167a347f49..09de75c6413 100644
--- a/srcpkgs/dmd/template
+++ b/srcpkgs/dmd/template
@@ -1,10 +1,10 @@
 # Template file for 'dmd'
 pkgname=dmd
-version=2.091.0
+version=2.094.1
 revision=1
 create_wrksrc=yes
-hostmakedepends="which"
-makedepends="dmd2.081 git"
+hostmakedepends="dmd2.091 which"
+makedepends="git"
 depends="libphobos>=${version} gcc"
 short_desc="Digital Mars D compiler"
 maintainer="streaks <assemblyislaw@gmail.com>"
@@ -15,13 +15,13 @@ distfiles="
  https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
  https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
  http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
-checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
- cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
- df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
- 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+checksum="63271e939dbe5c39e866074b97f53c515c2b9161fcae9bae1df3b38924b0098d
+ 4bd91e438996363ec62f0b72392fa88f9d53ee73c51bea1c3be1ae97bd28d30c
+ e84536c538f47247d4803a9d2163f32e4b1e03acac090fa195a77083147c556f
+ 5208ef1babdb17bf63324d3fd439af774e4bb90d242d55c2471775deba3a399b"
 conf_files="/etc/dmd.conf"
 provides="d-compiler-${version}_${revision}"
-conflicts="dmd-bootstrap dmd2.081"
+conflicts="dmd-bootstrap dmd2.081 dmd2.091"
 nopie=yes
 LDFLAGS="-lpthread"
 
@@ -32,12 +32,17 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 post_extract() {
-	rm -rf dmd druntime phobos
 	mv dmd-${version} dmd
 	mv druntime-${version} druntime
 	mv phobos-${version} phobos
 }
 
+pre_configure() {
+	if [ "$XBPS_TARGET_LIBC" = musl ]; then
+		patch -p0 < ${FILESDIR}/musl.patch
+	fi
+}
+
 do_build() {
 	local dmd
 

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (38 preceding siblings ...)
  2020-10-28 21:10 ` [PR PATCH] [Updated] " aurieh
@ 2020-10-28 21:11 ` aurieh
  2020-10-28 22:40 ` ericonr
                   ` (17 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-28 21:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 171 bytes --]

New comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-718211447

Comment:
Cleaned up the commit messages.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (39 preceding siblings ...)
  2020-10-28 21:11 ` aurieh
@ 2020-10-28 22:40 ` ericonr
  2020-10-28 23:39 ` aurieh
                   ` (16 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-28 22:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 229 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-718249411

Comment:
Should https://github.com/void-linux/void-packages/pull/25879 be built with the new dmd?

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (40 preceding siblings ...)
  2020-10-28 22:40 ` ericonr
@ 2020-10-28 23:39 ` aurieh
  2020-10-28 23:41 ` ericonr
                   ` (15 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-28 23:39 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 239 bytes --]

New comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-718269492

Comment:
It builds with `2.091.0` but, just in case, I think it'd be safer to merge this first, then #25879.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (41 preceding siblings ...)
  2020-10-28 23:39 ` aurieh
@ 2020-10-28 23:41 ` ericonr
  2020-10-28 23:46 ` ericonr
                   ` (14 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-28 23:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 154 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-718270053

Comment:
Ok, thank you

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (42 preceding siblings ...)
  2020-10-28 23:41 ` ericonr
@ 2020-10-28 23:46 ` ericonr
  2020-10-28 23:59 ` ericonr
                   ` (13 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-28 23:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 498 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-718271593

Comment:
I'm testing the build here to see if it behaves in my environment.

Could you report our `vfork` issues? Ideally they would fix it in a new release; the issues with Musl detection and such should also be noted.

Bwt, I would backport the `return` -> `_exit` commit to all versions. If it fails to exec `ld`, the whole process state will be kinda fucked.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (43 preceding siblings ...)
  2020-10-28 23:46 ` ericonr
@ 2020-10-28 23:59 ` ericonr
  2020-10-29  0:34 ` ericonr
                   ` (12 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-28 23:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 215 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-718275229

Comment:
Building on musl is hanging for me... I will try using less parallel jobs.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (44 preceding siblings ...)
  2020-10-28 23:59 ` ericonr
@ 2020-10-29  0:34 ` ericonr
  2020-10-29  8:13 ` aurieh
                   ` (11 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-29  0:34 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 265 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-718286053

Comment:
It might be necessary to add `disable_parallel_builds=yes` to the template, methinks. Could be conditional on it being musl.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (45 preceding siblings ...)
  2020-10-29  0:34 ` ericonr
@ 2020-10-29  8:13 ` aurieh
  2020-10-29  8:53 ` aurieh
                   ` (10 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-29  8:13 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1388 bytes --]

New comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-718462696

Comment:
>Could you report our vfork issues? Ideally they would fix it in a new release; the issues with Musl detection and such should also be noted.

Will do, although I don't believe musl detection is broken. I double-checked everything and it executes the musl version blocks just fine at compile time. At some point I was told by a dmd maintainer for a different distro that the issues with alternative libcs trace back to the bootstrap compiler (`dmd-bootstrap` here), but I'm not sure what exactly the issue is.

>Bwt, I would backport the return -> _exit commit to all versions. If it fails to exec ld, the whole process state will be kinda fucked.

Sounds good to me.

>Building on musl is hanging for me... I will try using less parallel jobs.

Had that happen as a one-off thing on `x86_64`, glibc I believe, running 16 jobs. Although the place where it hung for me was a non-parallel invocation of the newly-built dmd to build druntime (`?`).

>It might be necessary to add disable_parallel_builds=yes to the template, methinks. Could be conditional on it being musl.

Due to aforementioned uncertainty, it might be a good idea to add it for both glibc and musl. Then again, not sure if it's parallel builds that cause this though.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (46 preceding siblings ...)
  2020-10-29  8:13 ` aurieh
@ 2020-10-29  8:53 ` aurieh
  2020-10-29  9:49 ` [PR PATCH] [Updated] " aurieh
                   ` (9 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-29  8:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1386 bytes --]

New comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-718462696

Comment:
>Could you report our vfork issues? Ideally they would fix it in a new release; the issues with Musl detection and such should also be noted.

Will do, although I don't believe musl detection is broken. I double-checked everything and it executes the musl version blocks just fine at compile time. At some point I was told by a dmd maintainer for a different distro that the issues with alternative libcs trace back to the bootstrap compiler (`dmd-bootstrap` here), but I'm not sure what exactly the issue is.

>Bwt, I would backport the return -> _exit commit to all versions. If it fails to exec ld, the whole process state will be kinda fucked.

Sounds good to me.

>Building on musl is hanging for me... I will try using less parallel jobs.

Had that happen as a one-off thing on `x86_64`, glibc I believe, running 16 jobs. Although the place where it hung for me was a non-parallel invocation of the newly-built dmd to build druntime (?).

>It might be necessary to add disable_parallel_builds=yes to the template, methinks. Could be conditional on it being musl.

Due to aforementioned uncertainty, it might be a good idea to add it for both glibc and musl. Then again, not sure if it's parallel builds that cause this though.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR PATCH] [Updated] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (47 preceding siblings ...)
  2020-10-29  8:53 ` aurieh
@ 2020-10-29  9:49 ` aurieh
  2020-10-29  9:51 ` aurieh
                   ` (8 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-29  9:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 549 bytes --]

There is an updated pull request by aurieh against master on the void-packages repository

https://github.com/aurieh/void-packages update-dmd
https://github.com/void-linux/void-packages/pull/25878

dmd: update to 2.094.1
Also adds a new package, `dmd2.091`, which is required to bootstrap `2.094.1`, else the build fails with

```
Error: pointer cast from dmd.mtype.TypeTuple to immutable(void*)** is not supported at compile time
```
in `dmd/mtype.d`.

A patch file from https://github.com/void-linux/void-packages/pull/25878.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-update-dmd-25878.patch --]
[-- Type: text/x-diff, Size: 8628 bytes --]

From 8ef37db7a0e3d84c1e4a746a4fcdb13767f5489b Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Thu, 29 Oct 2020 11:47:37 +0200
Subject: [PATCH 1/3] dmd2.081: backport clean ld exit, revbump

---
 srcpkgs/dmd2.081/patches/backport-ld-exit.patch | 11 +++++++++++
 srcpkgs/dmd2.081/template                       |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/dmd2.081/patches/backport-ld-exit.patch

diff --git a/srcpkgs/dmd2.081/patches/backport-ld-exit.patch b/srcpkgs/dmd2.081/patches/backport-ld-exit.patch
new file mode 100644
index 00000000000..a3012be7bee
--- /dev/null
+++ b/srcpkgs/dmd2.081/patches/backport-ld-exit.patch
@@ -0,0 +1,11 @@
+--- dmd/src/dmd/link.d
++++ dmd/src/dmd/link.d
+@@ -685,7 +685,7 @@ public int runLINK()
+             close(fds[0]);
+             execvp(argv[0], cast(char**)argv.tdata());
+             perror(argv[0]); // failed to execute
+-            return -1;
++            _exit(-1);
+         }
+         else if (childpid == -1)
+         {
diff --git a/srcpkgs/dmd2.081/template b/srcpkgs/dmd2.081/template
index 6bb0d3160ab..79aad094008 100644
--- a/srcpkgs/dmd2.081/template
+++ b/srcpkgs/dmd2.081/template
@@ -1,7 +1,7 @@
 # Template file for 'dmd2.081'
 pkgname=dmd2.081
 version=2.081.1
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="which"
 makedepends="dmd-bootstrap"

From bc63fa1f4fc90b29aa1a0a6a852d07c0ab73fd25 Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:13:56 +0200
Subject: [PATCH 2/3] new package: dmd2.091

dmd2.091: libphobos2.091 conflicts with libphobos2.081

dmd2.091: implement requested changes

dmd2.091: backport clean ld exit
---
 srcpkgs/dmd2.091/files/dmd.conf               |  2 +
 .../dmd2.091/patches/backport-ld-exit.patch   | 11 +++
 srcpkgs/dmd2.091/template                     | 78 +++++++++++++++++++
 3 files changed, 91 insertions(+)
 create mode 100644 srcpkgs/dmd2.091/files/dmd.conf
 create mode 100644 srcpkgs/dmd2.091/patches/backport-ld-exit.patch
 create mode 100644 srcpkgs/dmd2.091/template

diff --git a/srcpkgs/dmd2.091/files/dmd.conf b/srcpkgs/dmd2.091/files/dmd.conf
new file mode 100644
index 00000000000..e8d42d10620
--- /dev/null
+++ b/srcpkgs/dmd2.091/files/dmd.conf
@@ -0,0 +1,2 @@
+[Environment]
+DFLAGS=-I/usr/include/d -I/usr/include/d/druntime/import -L-L/usr/lib -L-L/usr/lib -L--no-warn-search-mismatch -L--export-dynamic -fPIC
diff --git a/srcpkgs/dmd2.091/patches/backport-ld-exit.patch b/srcpkgs/dmd2.091/patches/backport-ld-exit.patch
new file mode 100644
index 00000000000..d4d34035791
--- /dev/null
+++ b/srcpkgs/dmd2.091/patches/backport-ld-exit.patch
@@ -0,0 +1,11 @@
+--- dmd/src/dmd/link.d
++++ dmd/src/dmd/link.d
+@@ -782,7 +782,7 @@ public int runLINK()
+             close(fds[0]);
+             execvp(argv[0], argv.tdata());
+             perror(argv[0]); // failed to execute
+-            return -1;
++            _exit(-1);
+         }
+         else if (childpid == -1)
+         {
diff --git a/srcpkgs/dmd2.091/template b/srcpkgs/dmd2.091/template
new file mode 100644
index 00000000000..2048a1886bb
--- /dev/null
+++ b/srcpkgs/dmd2.091/template
@@ -0,0 +1,78 @@
+# Template file for 'dmd2.091'
+pkgname=dmd2.091
+version=2.091.0
+revision=1
+create_wrksrc=yes
+hostmakedepends="dmd2.081 which"
+makedepends="git"
+depends="gcc"
+short_desc="Digital Mars D compiler, 2.091"
+maintainer="Auri <me@aurieh.me>"
+license="BSL-1.0"
+homepage="http://www.digitalmars.com/d/2.0/"
+distfiles="
+ https://github.com/dlang/dmd/archive/v${version}.tar.gz>dmd-${version}.tar.gz
+ https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
+ https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
+ http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
+checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
+ cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
+ df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
+ 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+conf_files="/etc/dmd.conf"
+provides="d-compiler-${version}_${revision}"
+conflicts="dmd-bootstrap dmd2.081 libphobos2.081"
+nopie=yes
+nocross=yes
+LDFLAGS="-lpthread"
+
+case "$XBPS_TARGET_MACHINE" in
+	x86_64*) _archbits=64;;
+	i686) _archbits=32;;
+	*) broken="unsupported arch upstream";;
+esac
+
+post_extract() {
+	mv dmd-${version} dmd
+	mv druntime-${version} druntime
+	mv phobos-${version} phobos
+}
+
+do_build() {
+	local dmd
+
+	cd dmd
+	make ${makejobs} -f posix.mak MODEL=${_archbits} TARGET_CPU=X86 ENABLE_RELEASE=1 PIC=1
+	dmd=${wrksrc}/dmd/generated/linux/release/$_archbits/dmd
+
+	make ${makejobs} -C docs
+
+	cd ../druntime
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+
+	cd ../phobos
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+}
+
+do_install() {
+	cd dmd
+	vbin generated/linux/release/$_archbits/dmd
+	vinstall ${FILESDIR}/dmd.conf 644 etc
+
+	# note: dmd, druntime and phobos all share the same license
+	vlicense LICENSE.txt
+
+	vman generated/docs/man/man1/dmd.1
+	vman generated/docs/man/man5/dmd.conf.5
+
+	vmkdir usr/include/d
+
+	cd ../phobos
+	cp -r ./{*.d,etc,std} ${PKGDESTDIR}/usr/include/d
+	vinstall generated/linux/release/$_archbits/libphobos2.a 644 usr/lib libphobos2.a
+
+	cd ../druntime
+	vmkdir usr/include/d/druntime
+	cp -r import ${PKGDESTDIR}/usr/include/d/druntime
+	vinstall generated/linux/release/$_archbits/libdruntime.a 644 usr/lib libdruntime.a
+}

From f74af8fbdd848467822fc7dd1833fb9e2dfdd13b Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:14:54 +0200
Subject: [PATCH 3/3] dmd: update to 2.094.1

dmd: fix build for x86_64-musl

Reverts https://github.com/dlang/dmd/commit/bab39b625f875ac14dd6668c2b442e76898ac342
on musl systems.

dmd: implement requested changes
---
 srcpkgs/dmd/files/musl.patch | 12 ++++++++++++
 srcpkgs/dmd/template         | 23 ++++++++++++++---------
 2 files changed, 26 insertions(+), 9 deletions(-)
 create mode 100644 srcpkgs/dmd/files/musl.patch

diff --git a/srcpkgs/dmd/files/musl.patch b/srcpkgs/dmd/files/musl.patch
new file mode 100644
index 00000000000..bf41a3e4961
--- /dev/null
+++ b/srcpkgs/dmd/files/musl.patch
@@ -0,0 +1,12 @@
+--- dmd/src/dmd/link.d
++++ dmd/src/dmd/link.d
+@@ -759,8 +759,7 @@
+             perror("unable to create pipe to linker");
+             return -1;
+         }
+-        // vfork instead of fork to avoid https://issues.dlang.org/show_bug.cgi?id=21089
+-        childpid = vfork();
++        childpid = fork();
+         if (childpid == 0)
+         {
+             // pipe linker stderr to fds[0]
diff --git a/srcpkgs/dmd/template b/srcpkgs/dmd/template
index 6167a347f49..09de75c6413 100644
--- a/srcpkgs/dmd/template
+++ b/srcpkgs/dmd/template
@@ -1,10 +1,10 @@
 # Template file for 'dmd'
 pkgname=dmd
-version=2.091.0
+version=2.094.1
 revision=1
 create_wrksrc=yes
-hostmakedepends="which"
-makedepends="dmd2.081 git"
+hostmakedepends="dmd2.091 which"
+makedepends="git"
 depends="libphobos>=${version} gcc"
 short_desc="Digital Mars D compiler"
 maintainer="streaks <assemblyislaw@gmail.com>"
@@ -15,13 +15,13 @@ distfiles="
  https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
  https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
  http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
-checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
- cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
- df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
- 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+checksum="63271e939dbe5c39e866074b97f53c515c2b9161fcae9bae1df3b38924b0098d
+ 4bd91e438996363ec62f0b72392fa88f9d53ee73c51bea1c3be1ae97bd28d30c
+ e84536c538f47247d4803a9d2163f32e4b1e03acac090fa195a77083147c556f
+ 5208ef1babdb17bf63324d3fd439af774e4bb90d242d55c2471775deba3a399b"
 conf_files="/etc/dmd.conf"
 provides="d-compiler-${version}_${revision}"
-conflicts="dmd-bootstrap dmd2.081"
+conflicts="dmd-bootstrap dmd2.081 dmd2.091"
 nopie=yes
 LDFLAGS="-lpthread"
 
@@ -32,12 +32,17 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 post_extract() {
-	rm -rf dmd druntime phobos
 	mv dmd-${version} dmd
 	mv druntime-${version} druntime
 	mv phobos-${version} phobos
 }
 
+pre_configure() {
+	if [ "$XBPS_TARGET_LIBC" = musl ]; then
+		patch -p0 < ${FILESDIR}/musl.patch
+	fi
+}
+
 do_build() {
 	local dmd
 

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (48 preceding siblings ...)
  2020-10-29  9:49 ` [PR PATCH] [Updated] " aurieh
@ 2020-10-29  9:51 ` aurieh
  2020-10-30  1:08 ` ericonr
                   ` (7 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-10-29  9:51 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 293 bytes --]

New comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-718563276

Comment:
Backported the patch. Now all that's left is to determine whether parallel jobs are what occasionally break the build. Can you consistently reproduce it?

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (49 preceding siblings ...)
  2020-10-29  9:51 ` aurieh
@ 2020-10-30  1:08 ` ericonr
  2020-11-12  4:00 ` ericonr
                   ` (6 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-10-30  1:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 195 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-719109860

Comment:
>  Can you consistently reproduce it?

Not really :/

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (50 preceding siblings ...)
  2020-10-30  1:08 ` ericonr
@ 2020-11-12  4:00 ` ericonr
  2020-11-14 17:58 ` aurieh
                   ` (5 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-11-12  4:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 226 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-725814955

Comment:
I was going to try and build it once more, but building dmd2.091 just hung for 1h :/ 

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (51 preceding siblings ...)
  2020-11-12  4:00 ` ericonr
@ 2020-11-14 17:58 ` aurieh
  2020-11-14 23:08 ` ericonr
                   ` (4 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-11-14 17:58 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 281 bytes --]

New comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-727243140

Comment:
Last I tried, I was unable to reproduce it with parallel builds disabled, so that might very well be the solution. How many jobs did you use?

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (52 preceding siblings ...)
  2020-11-14 17:58 ` aurieh
@ 2020-11-14 23:08 ` ericonr
  2020-11-22  4:39 ` ericonr
                   ` (3 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-11-14 23:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 196 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-727278561

Comment:
Yeah, I had 13 jobs. Will try again with them disabled.

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (53 preceding siblings ...)
  2020-11-14 23:08 ` ericonr
@ 2020-11-22  4:39 ` ericonr
  2020-11-22 19:46 ` ericonr
                   ` (2 subsequent siblings)
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-11-22  4:39 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 184 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-731697383

Comment:
Still hanging... I'm not sure what to do :/

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (54 preceding siblings ...)
  2020-11-22  4:39 ` ericonr
@ 2020-11-22 19:46 ` ericonr
  2020-11-23 11:23 ` [PR PATCH] [Updated] " aurieh
  2020-11-23 11:39 ` aurieh
  57 siblings, 0 replies; 59+ messages in thread
From: ericonr @ 2020-11-22 19:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 231 bytes --]

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-731833820

Comment:
@aurieh can you add `disable_parallel_build=yes` to the templates and see if they pass CI?

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PR PATCH] [Updated] dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (55 preceding siblings ...)
  2020-11-22 19:46 ` ericonr
@ 2020-11-23 11:23 ` aurieh
  2020-11-23 11:39 ` aurieh
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-11-23 11:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 549 bytes --]

There is an updated pull request by aurieh against master on the void-packages repository

https://github.com/aurieh/void-packages update-dmd
https://github.com/void-linux/void-packages/pull/25878

dmd: update to 2.094.1
Also adds a new package, `dmd2.091`, which is required to bootstrap `2.094.1`, else the build fails with

```
Error: pointer cast from dmd.mtype.TypeTuple to immutable(void*)** is not supported at compile time
```
in `dmd/mtype.d`.

A patch file from https://github.com/void-linux/void-packages/pull/25878.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-update-dmd-25878.patch --]
[-- Type: text/x-diff, Size: 9909 bytes --]

From 8ef37db7a0e3d84c1e4a746a4fcdb13767f5489b Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Thu, 29 Oct 2020 11:47:37 +0200
Subject: [PATCH 1/5] dmd2.081: backport clean ld exit, revbump

---
 srcpkgs/dmd2.081/patches/backport-ld-exit.patch | 11 +++++++++++
 srcpkgs/dmd2.081/template                       |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/dmd2.081/patches/backport-ld-exit.patch

diff --git a/srcpkgs/dmd2.081/patches/backport-ld-exit.patch b/srcpkgs/dmd2.081/patches/backport-ld-exit.patch
new file mode 100644
index 00000000000..a3012be7bee
--- /dev/null
+++ b/srcpkgs/dmd2.081/patches/backport-ld-exit.patch
@@ -0,0 +1,11 @@
+--- dmd/src/dmd/link.d
++++ dmd/src/dmd/link.d
+@@ -685,7 +685,7 @@ public int runLINK()
+             close(fds[0]);
+             execvp(argv[0], cast(char**)argv.tdata());
+             perror(argv[0]); // failed to execute
+-            return -1;
++            _exit(-1);
+         }
+         else if (childpid == -1)
+         {
diff --git a/srcpkgs/dmd2.081/template b/srcpkgs/dmd2.081/template
index 6bb0d3160ab..79aad094008 100644
--- a/srcpkgs/dmd2.081/template
+++ b/srcpkgs/dmd2.081/template
@@ -1,7 +1,7 @@
 # Template file for 'dmd2.081'
 pkgname=dmd2.081
 version=2.081.1
-revision=2
+revision=3
 create_wrksrc=yes
 hostmakedepends="which"
 makedepends="dmd-bootstrap"

From bc63fa1f4fc90b29aa1a0a6a852d07c0ab73fd25 Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:13:56 +0200
Subject: [PATCH 2/5] new package: dmd2.091

dmd2.091: libphobos2.091 conflicts with libphobos2.081

dmd2.091: implement requested changes

dmd2.091: backport clean ld exit
---
 srcpkgs/dmd2.091/files/dmd.conf               |  2 +
 .../dmd2.091/patches/backport-ld-exit.patch   | 11 +++
 srcpkgs/dmd2.091/template                     | 78 +++++++++++++++++++
 3 files changed, 91 insertions(+)
 create mode 100644 srcpkgs/dmd2.091/files/dmd.conf
 create mode 100644 srcpkgs/dmd2.091/patches/backport-ld-exit.patch
 create mode 100644 srcpkgs/dmd2.091/template

diff --git a/srcpkgs/dmd2.091/files/dmd.conf b/srcpkgs/dmd2.091/files/dmd.conf
new file mode 100644
index 00000000000..e8d42d10620
--- /dev/null
+++ b/srcpkgs/dmd2.091/files/dmd.conf
@@ -0,0 +1,2 @@
+[Environment]
+DFLAGS=-I/usr/include/d -I/usr/include/d/druntime/import -L-L/usr/lib -L-L/usr/lib -L--no-warn-search-mismatch -L--export-dynamic -fPIC
diff --git a/srcpkgs/dmd2.091/patches/backport-ld-exit.patch b/srcpkgs/dmd2.091/patches/backport-ld-exit.patch
new file mode 100644
index 00000000000..d4d34035791
--- /dev/null
+++ b/srcpkgs/dmd2.091/patches/backport-ld-exit.patch
@@ -0,0 +1,11 @@
+--- dmd/src/dmd/link.d
++++ dmd/src/dmd/link.d
+@@ -782,7 +782,7 @@ public int runLINK()
+             close(fds[0]);
+             execvp(argv[0], argv.tdata());
+             perror(argv[0]); // failed to execute
+-            return -1;
++            _exit(-1);
+         }
+         else if (childpid == -1)
+         {
diff --git a/srcpkgs/dmd2.091/template b/srcpkgs/dmd2.091/template
new file mode 100644
index 00000000000..2048a1886bb
--- /dev/null
+++ b/srcpkgs/dmd2.091/template
@@ -0,0 +1,78 @@
+# Template file for 'dmd2.091'
+pkgname=dmd2.091
+version=2.091.0
+revision=1
+create_wrksrc=yes
+hostmakedepends="dmd2.081 which"
+makedepends="git"
+depends="gcc"
+short_desc="Digital Mars D compiler, 2.091"
+maintainer="Auri <me@aurieh.me>"
+license="BSL-1.0"
+homepage="http://www.digitalmars.com/d/2.0/"
+distfiles="
+ https://github.com/dlang/dmd/archive/v${version}.tar.gz>dmd-${version}.tar.gz
+ https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
+ https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
+ http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
+checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
+ cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
+ df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
+ 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+conf_files="/etc/dmd.conf"
+provides="d-compiler-${version}_${revision}"
+conflicts="dmd-bootstrap dmd2.081 libphobos2.081"
+nopie=yes
+nocross=yes
+LDFLAGS="-lpthread"
+
+case "$XBPS_TARGET_MACHINE" in
+	x86_64*) _archbits=64;;
+	i686) _archbits=32;;
+	*) broken="unsupported arch upstream";;
+esac
+
+post_extract() {
+	mv dmd-${version} dmd
+	mv druntime-${version} druntime
+	mv phobos-${version} phobos
+}
+
+do_build() {
+	local dmd
+
+	cd dmd
+	make ${makejobs} -f posix.mak MODEL=${_archbits} TARGET_CPU=X86 ENABLE_RELEASE=1 PIC=1
+	dmd=${wrksrc}/dmd/generated/linux/release/$_archbits/dmd
+
+	make ${makejobs} -C docs
+
+	cd ../druntime
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+
+	cd ../phobos
+	make ${makejobs} -f posix.mak MODEL=${_archbits} DMD=$dmd ENABLE_RELEASE=1 PIC=1
+}
+
+do_install() {
+	cd dmd
+	vbin generated/linux/release/$_archbits/dmd
+	vinstall ${FILESDIR}/dmd.conf 644 etc
+
+	# note: dmd, druntime and phobos all share the same license
+	vlicense LICENSE.txt
+
+	vman generated/docs/man/man1/dmd.1
+	vman generated/docs/man/man5/dmd.conf.5
+
+	vmkdir usr/include/d
+
+	cd ../phobos
+	cp -r ./{*.d,etc,std} ${PKGDESTDIR}/usr/include/d
+	vinstall generated/linux/release/$_archbits/libphobos2.a 644 usr/lib libphobos2.a
+
+	cd ../druntime
+	vmkdir usr/include/d/druntime
+	cp -r import ${PKGDESTDIR}/usr/include/d/druntime
+	vinstall generated/linux/release/$_archbits/libdruntime.a 644 usr/lib libdruntime.a
+}

From f74af8fbdd848467822fc7dd1833fb9e2dfdd13b Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Sun, 25 Oct 2020 17:14:54 +0200
Subject: [PATCH 3/5] dmd: update to 2.094.1

dmd: fix build for x86_64-musl

Reverts https://github.com/dlang/dmd/commit/bab39b625f875ac14dd6668c2b442e76898ac342
on musl systems.

dmd: implement requested changes
---
 srcpkgs/dmd/files/musl.patch | 12 ++++++++++++
 srcpkgs/dmd/template         | 23 ++++++++++++++---------
 2 files changed, 26 insertions(+), 9 deletions(-)
 create mode 100644 srcpkgs/dmd/files/musl.patch

diff --git a/srcpkgs/dmd/files/musl.patch b/srcpkgs/dmd/files/musl.patch
new file mode 100644
index 00000000000..bf41a3e4961
--- /dev/null
+++ b/srcpkgs/dmd/files/musl.patch
@@ -0,0 +1,12 @@
+--- dmd/src/dmd/link.d
++++ dmd/src/dmd/link.d
+@@ -759,8 +759,7 @@
+             perror("unable to create pipe to linker");
+             return -1;
+         }
+-        // vfork instead of fork to avoid https://issues.dlang.org/show_bug.cgi?id=21089
+-        childpid = vfork();
++        childpid = fork();
+         if (childpid == 0)
+         {
+             // pipe linker stderr to fds[0]
diff --git a/srcpkgs/dmd/template b/srcpkgs/dmd/template
index 6167a347f49..09de75c6413 100644
--- a/srcpkgs/dmd/template
+++ b/srcpkgs/dmd/template
@@ -1,10 +1,10 @@
 # Template file for 'dmd'
 pkgname=dmd
-version=2.091.0
+version=2.094.1
 revision=1
 create_wrksrc=yes
-hostmakedepends="which"
-makedepends="dmd2.081 git"
+hostmakedepends="dmd2.091 which"
+makedepends="git"
 depends="libphobos>=${version} gcc"
 short_desc="Digital Mars D compiler"
 maintainer="streaks <assemblyislaw@gmail.com>"
@@ -15,13 +15,13 @@ distfiles="
  https://github.com/dlang/druntime/archive/v${version}.tar.gz>druntime-${version}.tar.gz
  https://github.com/dlang/phobos/archive/v${version}.tar.gz>phobos-${version}.tar.gz
  http://downloads.dlang.org/releases/2.x/${version}/dmd.${version}.linux.tar.xz"
-checksum="bcca38f4b80b51ae0a1955dc29e6cbfaa4d01d94869ddfcacf9292898c34343a
- cc8ba196b08cca04488d97d0e35c878f7351b7d8128aec90eaa312d2bd9a6af2
- df9f81eecda4366adc5ca9ed31a0b4474c248544b120ff6fa3f6cb45917d8769
- 6e4bd4ee73a553921cdca7e3e21768b842b18186d07c0b4898fbd13a359875c0"
+checksum="63271e939dbe5c39e866074b97f53c515c2b9161fcae9bae1df3b38924b0098d
+ 4bd91e438996363ec62f0b72392fa88f9d53ee73c51bea1c3be1ae97bd28d30c
+ e84536c538f47247d4803a9d2163f32e4b1e03acac090fa195a77083147c556f
+ 5208ef1babdb17bf63324d3fd439af774e4bb90d242d55c2471775deba3a399b"
 conf_files="/etc/dmd.conf"
 provides="d-compiler-${version}_${revision}"
-conflicts="dmd-bootstrap dmd2.081"
+conflicts="dmd-bootstrap dmd2.081 dmd2.091"
 nopie=yes
 LDFLAGS="-lpthread"
 
@@ -32,12 +32,17 @@ case "$XBPS_TARGET_MACHINE" in
 esac
 
 post_extract() {
-	rm -rf dmd druntime phobos
 	mv dmd-${version} dmd
 	mv druntime-${version} druntime
 	mv phobos-${version} phobos
 }
 
+pre_configure() {
+	if [ "$XBPS_TARGET_LIBC" = musl ]; then
+		patch -p0 < ${FILESDIR}/musl.patch
+	fi
+}
+
 do_build() {
 	local dmd
 

From 851bc485972a881975e025d272ffd6918f6affd9 Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Mon, 23 Nov 2020 13:22:39 +0200
Subject: [PATCH 4/5] dmd2.091: disable parallel build

---
 srcpkgs/dmd2.091/template | 1 +
 1 file changed, 1 insertion(+)

diff --git a/srcpkgs/dmd2.091/template b/srcpkgs/dmd2.091/template
index 2048a1886bb..72521df7cd3 100644
--- a/srcpkgs/dmd2.091/template
+++ b/srcpkgs/dmd2.091/template
@@ -24,6 +24,7 @@ provides="d-compiler-${version}_${revision}"
 conflicts="dmd-bootstrap dmd2.081 libphobos2.081"
 nopie=yes
 nocross=yes
+disable_parallel_build=yes
 LDFLAGS="-lpthread"
 
 case "$XBPS_TARGET_MACHINE" in

From a43e73cc4e5eb4f6186951794ddcd00eca395bb9 Mon Sep 17 00:00:00 2001
From: Auri <me@aurieh.me>
Date: Mon, 23 Nov 2020 13:22:57 +0200
Subject: [PATCH 5/5] dmd: disable parallel build

---
 srcpkgs/dmd/template | 1 +
 1 file changed, 1 insertion(+)

diff --git a/srcpkgs/dmd/template b/srcpkgs/dmd/template
index 09de75c6413..c05cadbb592 100644
--- a/srcpkgs/dmd/template
+++ b/srcpkgs/dmd/template
@@ -23,6 +23,7 @@ conf_files="/etc/dmd.conf"
 provides="d-compiler-${version}_${revision}"
 conflicts="dmd-bootstrap dmd2.081 dmd2.091"
 nopie=yes
+disable_parallel_build=yes
 LDFLAGS="-lpthread"
 
 case "$XBPS_TARGET_MACHINE" in

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: dmd: update to 2.094.1
  2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
                   ` (56 preceding siblings ...)
  2020-11-23 11:23 ` [PR PATCH] [Updated] " aurieh
@ 2020-11-23 11:39 ` aurieh
  57 siblings, 0 replies; 59+ messages in thread
From: aurieh @ 2020-11-23 11:39 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 222 bytes --]

New comment by aurieh on void-packages repository

https://github.com/void-linux/void-packages/pull/25878#issuecomment-732108032

Comment:
@ericonr They do, but this doesn't seem to be a consistently reproducible problem.

^ permalink raw reply	[flat|nested] 59+ messages in thread

end of thread, other threads:[~2020-11-23 11:40 UTC | newest]

Thread overview: 59+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-25 15:22 [PR PATCH] dmd: update to 2.094.1 aurieh
2020-10-25 16:45 ` aurieh
2020-10-25 18:40 ` aurieh
2020-10-25 19:36 ` [PR PATCH] [Updated] " aurieh
2020-10-26  0:41 ` [PR REVIEW] " sgn
2020-10-26  0:41 ` sgn
2020-10-26  0:41 ` sgn
2020-10-26  0:41 ` sgn
2020-10-26  0:42 ` ericonr
2020-10-26  0:42 ` ericonr
2020-10-26  0:42 ` ericonr
2020-10-26  0:47 ` aurieh
2020-10-26  0:48 ` aurieh
2020-10-26  0:51 ` aurieh
2020-10-26  0:52 ` aurieh
2020-10-26  0:56 ` aurieh
2020-10-26  1:00 ` ericonr
2020-10-26  1:01 ` ericonr
2020-10-26  1:06 ` aurieh
2020-10-26  1:38 ` ericonr
2020-10-26 10:30 ` aurieh
2020-10-26 10:50 ` aurieh
2020-10-26 12:32 ` ericonr
2020-10-26 14:59 ` aurieh
2020-10-27 12:49 ` [PR PATCH] [Updated] " aurieh
2020-10-27 14:26 ` [PR REVIEW] " ericonr
2020-10-27 14:26 ` ericonr
2020-10-27 14:26 ` ericonr
2020-10-27 14:44 ` sgn
2020-10-27 15:06 ` aurieh
2020-10-27 15:34 ` aurieh
2020-10-27 15:38 ` ericonr
2020-10-27 15:38 ` ericonr
2020-10-27 16:18 ` aurieh
2020-10-27 16:35 ` [PR PATCH] [Updated] " aurieh
2020-10-27 23:53 ` [PR REVIEW] " aurieh
2020-10-27 23:55 ` aurieh
2020-10-28  2:00 ` [PR REVIEW] " ericonr
2020-10-28  3:16 ` ericonr
2020-10-28 21:10 ` [PR PATCH] [Updated] " aurieh
2020-10-28 21:11 ` aurieh
2020-10-28 22:40 ` ericonr
2020-10-28 23:39 ` aurieh
2020-10-28 23:41 ` ericonr
2020-10-28 23:46 ` ericonr
2020-10-28 23:59 ` ericonr
2020-10-29  0:34 ` ericonr
2020-10-29  8:13 ` aurieh
2020-10-29  8:53 ` aurieh
2020-10-29  9:49 ` [PR PATCH] [Updated] " aurieh
2020-10-29  9:51 ` aurieh
2020-10-30  1:08 ` ericonr
2020-11-12  4:00 ` ericonr
2020-11-14 17:58 ` aurieh
2020-11-14 23:08 ` ericonr
2020-11-22  4:39 ` ericonr
2020-11-22 19:46 ` ericonr
2020-11-23 11:23 ` [PR PATCH] [Updated] " aurieh
2020-11-23 11:39 ` aurieh

Github messages for voidlinux

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/voidlinux-github

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 voidlinux-github voidlinux-github/ http://inbox.vuxu.org/voidlinux-github \
		voidlinux-github@inbox.vuxu.org
	public-inbox-index voidlinux-github

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.github.voidlinux


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git