pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

dmd: Update wip/dmd to 2.093.1



Module Name:	pkgsrc-wip
Committed By:	Dan Cîrnaț <dan%alt.md@localhost>
Pushed By:	cirnatdan
Date:		Thu Sep 3 16:02:49 2020 +0200
Changeset:	ad25c2c367c1a018a264b5d1afd19d5be1bca460

Modified Files:
	dmd/Makefile
	dmd/PLIST
	dmd/TODO
	dmd/distinfo
Added Files:
	dmd/patches/patch-posix.mak
	dmd/patches/patch-src_build.d
Removed Files:
	dmd/patches/patch-aa
	dmd/patches/patch-ab
	dmd/patches/patch-ac
	dmd/patches/patch-ad
	dmd/patches/patch-ae
	dmd/patches/patch-af
	dmd/patches/patch-ag
	dmd/patches/patch-ah
	dmd/patches/patch-ai
	dmd/patches/patch-aj
	dmd/patches/patch-ak
	dmd/patches/patch-al
	dmd/patches/patch-am
	dmd/patches/patch-an
	dmd/patches/patch-ao
	dmd/patches/patch-ap
	dmd/patches/patch-aq
	dmd/patches/patch-ar
	dmd/patches/patch-as
	dmd/patches/patch-at
	dmd/patches/patch-au
	dmd/patches/patch-av
	dmd/patches/patch-aw
	dmd/patches/patch-ax
	dmd/patches/patch-ay
	dmd/patches/patch-az
	dmd/patches/patch-ba
	dmd/patches/patch-bb
	dmd/patches/patch-bc
	dmd/patches/patch-bd
	dmd/patches/patch-be
	dmd/patches/patch-bf
	dmd/patches/patch-bg
	dmd/patches/patch-bh

Log Message:
dmd: Update wip/dmd to 2.093.1

Tested to build and run(?) on macos.
The newer versions are self-hosted and no longer rely on C++ code

List of all bug fixes and enhancements in D 2.093.1:
DMD Compiler regressions

Bugzilla 21063: getLinkage is wrong for forward reference extern(C++) class
Bugzilla 21074: const lost in mixin
Bugzilla 21095: [ICE] AssertError@dmd/expressionsem.d(5015): Assertion failure
DMD Compiler bugs

Bugzilla 16400: naked variadic C function emits broken prologue
Bugzilla 17351: Static const array can't be evaluated at compile time when passed as ref argument
Bugzilla 21085: [glue] Only 9999 "hidden identifiers" can be generated
Bugzilla 21092: [ICE] Segmentation fault in ExpressionPrettyPrintVisitor::visit(CommaExp*) at dmd/hdrgen.d:2293
Bugzilla 21096: [ICE] Segmentation fault in dmd.hdrgen.sizeToBuffer at dmd/hdrgen.d:3153
Bugzilla 21122: __traits(getAttributes) wrong scope on enums
dlang.org bugs

Bugzilla 21059: install.sh: posix_terminal returns false on Linux Mint 20

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=ad25c2c367c1a018a264b5d1afd19d5be1bca460

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 dmd/Makefile                  |  26 ++++-----
 dmd/PLIST                     |   7 ++-
 dmd/TODO                      |   2 -
 dmd/distinfo                  |  44 +++-------------
 dmd/patches/patch-aa          |  13 -----
 dmd/patches/patch-ab          |  22 --------
 dmd/patches/patch-ac          |  22 --------
 dmd/patches/patch-ad          |  49 -----------------
 dmd/patches/patch-ae          |  13 -----
 dmd/patches/patch-af          |  92 --------------------------------
 dmd/patches/patch-ag          |  13 -----
 dmd/patches/patch-ah          |  67 -----------------------
 dmd/patches/patch-ai          |  13 -----
 dmd/patches/patch-aj          |  13 -----
 dmd/patches/patch-ak          | 112 ---------------------------------------
 dmd/patches/patch-al          |  13 -----
 dmd/patches/patch-am          |  13 -----
 dmd/patches/patch-an          |  22 --------
 dmd/patches/patch-ao          |  22 --------
 dmd/patches/patch-ap          |  13 -----
 dmd/patches/patch-aq          |  12 -----
 dmd/patches/patch-ar          |  13 -----
 dmd/patches/patch-as          |  29 ----------
 dmd/patches/patch-at          |  40 --------------
 dmd/patches/patch-au          |  58 --------------------
 dmd/patches/patch-av          |  40 --------------
 dmd/patches/patch-aw          |  13 -----
 dmd/patches/patch-ax          |  74 --------------------------
 dmd/patches/patch-ay          |  13 -----
 dmd/patches/patch-az          |  22 --------
 dmd/patches/patch-ba          |  13 -----
 dmd/patches/patch-bb          |  13 -----
 dmd/patches/patch-bc          |  13 -----
 dmd/patches/patch-bd          |  35 ------------
 dmd/patches/patch-be          |  13 -----
 dmd/patches/patch-bf          |  13 -----
 dmd/patches/patch-bg          | 120 ------------------------------------------
 dmd/patches/patch-bh          |  20 -------
 dmd/patches/patch-posix.mak   |  17 ++++++
 dmd/patches/patch-src_build.d |  24 +++++++++
 40 files changed, 66 insertions(+), 1120 deletions(-)

diffs:
diff --git a/dmd/Makefile b/dmd/Makefile
index 038d8d9f16..0385f09c49 100644
--- a/dmd/Makefile
+++ b/dmd/Makefile
@@ -1,28 +1,28 @@
 # $NetBSD: Makefile,v 1.2 2012/09/28 21:24:37 asau Exp $
-#
 
-DISTNAME=	dmd.2.051
-PKGNAME=	${DISTNAME:S/dmd./dmd-/}
+DMD_VERSION=	2.093.1
+PKGNAME=	dmd-${DMD_VERSION}
+DISTNAME=	v${DMD_VERSION}
 CATEGORIES=	lang
-MASTER_SITES=	http://ftp.digitalmars.com/
-EXTRACT_SUFX=	.zip
+MASTER_SITES=	${MASTER_SITE_GITHUB:=dlang/}
+GITHUB_PROJECT=	dmd
+GITHUB_TAG=	v${DMD_VERSION}
 
 MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE=	https://www.digitalmars.com/d/
+HOMEPAGE=	https://www.dlang.org/
 COMMENT=	Digital Mars D compiler
-#LICENSE=	# TODO: (see mk/license.mk)
+LICENSE=	boost-license
 
-WRKSRC=	${WRKDIR}/dmd2
+WRKSRC=	${WRKDIR}/dmd-${DMD_VERSION}
 
-BUILD_DIRS=	src/dmd src/druntime src/phobos
 MAKE_FILE=	posix.mak
 # -j 16 passed to g++
 MAKE_JOBS_SAFE=	no
 USE_LANGUAGES=	c c++
 USE_TOOLS=	gmake
-
-# so we can use the same MAKE_FILE name for both BUILD_DIRS
-post-extract:
-	cd ${WRKSRC}/src/dmd && ln -f linux.mak posix.mak
+MAKE_FLAGS+=	AUTO_BOOTSTRAP=1
+MAKE_FLAGS+=	BUILD=release
+MAKE_FLAGS+=	ENABLE_RELEASE=1
+MAKE_FLAGS+=	INSTALL_DIR=${DESTDIR}${PREFIX}
 
 .include "../../mk/bsd.pkg.mk"
diff --git a/dmd/PLIST b/dmd/PLIST
index 529b177c30..cddfbfb8bd 100644
--- a/dmd/PLIST
+++ b/dmd/PLIST
@@ -1 +1,6 @@
-@comment $NetBSD: PLIST,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
+@comment $NetBSD$
+bin/dmd
+etc/dmd.conf
+man/man1/dumpobj.1
+man/man1/obj2asm.1
+man/man5/dmd.conf.5
diff --git a/dmd/TODO b/dmd/TODO
index 917347e522..809061b593 100644
--- a/dmd/TODO
+++ b/dmd/TODO
@@ -1,7 +1,5 @@
 The compiler itself compiles, but the standard library isn't ported.
 
-Installation hasn't been done yet, so the PLIST is empty.
-
 - Since DMD requires itself to bootstrap, it has to fetch a DMD compiler.
 This has to be done during the fetch stage and checked against a checksum,
 not during build.
diff --git a/dmd/distinfo b/dmd/distinfo
index dd97c2a7e0..8a639eefff 100644
--- a/dmd/distinfo
+++ b/dmd/distinfo
@@ -1,40 +1,8 @@
 $NetBSD: distinfo,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
 
-SHA1 (dmd.2.051.zip) = edd470e8f756ab64e7692ebc4cd8a2a0bdbc73d8
-RMD160 (dmd.2.051.zip) = 203b3d32cd45be29fcfd60c6d8fc2af4c53e2029
-SHA512 (dmd.2.051.zip) = 0ec09f5bdb22bb58efdb2d34cc33a3f98b85d9647c9093b5686efabad072d2371d9ec469e353ef00d923967fdcf4b622a8a68db71c617c6f1befd2ebf8810e36
-Size (dmd.2.051.zip) = 10747172 bytes
-SHA1 (patch-aa) = 20a4998ef2ae60442db3e47163969a8c88e9efac
-SHA1 (patch-ab) = 333b164a2753b8b5e2415afe9018ced6c046006c
-SHA1 (patch-ac) = 1889ddf99161602b19bb10bcd59e0349f4a07a07
-SHA1 (patch-ad) = 9fbb0053c99690a4a2bf295889f0d0ecab8670d6
-SHA1 (patch-ae) = 49edf2430452fce7d67582219bc189589149d284
-SHA1 (patch-af) = 332903a0c6c6749b5877725e752c901217eb8977
-SHA1 (patch-ag) = 99a3f25dda767c7f34be881fef762f33efca27a8
-SHA1 (patch-ah) = f7a45e57bfee686e062d0e68fcb6d25864619dd2
-SHA1 (patch-ai) = 13bbf77bc5322740d5fd9f2c6d73d7e72f79e80c
-SHA1 (patch-aj) = b80e3fa2ff2f6d67a35d1eb7bee896bf396b6947
-SHA1 (patch-ak) = e2d8f690a35976c5d86e656d101754e753435b51
-SHA1 (patch-al) = 984f432a7cd63e9848842515e38108517e7576bf
-SHA1 (patch-am) = 327b5ea2aacfcd3817b590f422d2d2f62ca09ca4
-SHA1 (patch-an) = c5804e306c8e696af2b3d9c01ec9798f7f2d6c52
-SHA1 (patch-ao) = b0c10fe37e5172a2a862ce5f1ea89501b7d17656
-SHA1 (patch-ap) = 5cce1244120584299f70c09a1b3b562c99556499
-SHA1 (patch-aq) = 60bfe62a8f1d119b4620e0823539b3f138b5b16f
-SHA1 (patch-ar) = 02af50d731cd38ac758e610cb099b0cd887dfba1
-SHA1 (patch-as) = f71c6ac10430363703a8ef651f994bd326fc261d
-SHA1 (patch-at) = 3d7924becdd1c1d3f3c77802db748b34055b9407
-SHA1 (patch-au) = d9803a39328aa180e500e362804497a750414d56
-SHA1 (patch-av) = 0ed5621a66d7226da40f900fa385f7c0c6f4b4b7
-SHA1 (patch-aw) = b2926f4d6f77fc04f0066758b68d08df9c6fe4ad
-SHA1 (patch-ax) = 289cf8a9b901f9853c15c60af3f9645b15e33ec4
-SHA1 (patch-ay) = da3705425a7606d4faefee75482a08c4822daeca
-SHA1 (patch-az) = fdc17d3bafd4b378e8de09652808ad52d08d55c3
-SHA1 (patch-ba) = e503b4dd9e2bbc6d3cdeb4414cc49feb8c232ae8
-SHA1 (patch-bb) = 2c7cf57b36ffd84a92f7c7a34bfadb604d043e6f
-SHA1 (patch-bc) = 709c6859e015393cfc3f760e78726af3393f734a
-SHA1 (patch-bd) = 016621d0edceb4d3550b59fa1f50a7891b765568
-SHA1 (patch-be) = 6c8e375bfd4937b3244c4d16a700e2482a8951b0
-SHA1 (patch-bf) = c4cf8f05620dc1827657ac5a8689d298b1597738
-SHA1 (patch-bg) = c55d2a1e8363e8c6305fa1108bdaa3eeb9bfb5f7
-SHA1 (patch-bh) = 0dac82a919e0a8836c327f1cce91e8969caa9425
+SHA1 (v2.093.1.tar.gz) = d737328ff0556816952949876399c73dfed15cc6
+RMD160 (v2.093.1.tar.gz) = 7c2733fb5151fae7f1fb48c3e98e39e9e22f88f1
+SHA512 (v2.093.1.tar.gz) = 913cd2fff05868f69c2c5168d4658ee324295de27b4116544302678c669f7bb145aae3a538b3fb2d595fd6717d96d9653f9d61505e261c1fa6c63fc5a5d7d33b
+Size (v2.093.1.tar.gz) = 3444486 bytes
+SHA1 (patch-posix.mak) = 280f7cabb166af396a2d68b79a363b1b072d2055
+SHA1 (patch-src_build.d) = b2f71ee454465628c1c69393bb656f689a5bfcb9
diff --git a/dmd/patches/patch-aa b/dmd/patches/patch-aa
deleted file mode 100644
index ff3102ad5f..0000000000
--- a/dmd/patches/patch-aa
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-aa,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/backend/cg87.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/backend/cg87.c
-@@ -623,7 +623,7 @@ __body
-     static double dval[7] =
-         {0.0,1.0,PI,LOG2T,LOG2E,LOG2,LN2};
-     static long double ldval[7] =
--#if __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- #define M_PIl           0x1.921fb54442d1846ap+1L        // 3.14159 fldpi
- #define M_LOG2T_L       0x1.a934f0979a3715fcp+1L        // 3.32193 fldl2t
- #define M_LOG2El        0x1.71547652b82fe178p+0L        // 1.4427 fldl2e
diff --git a/dmd/patches/patch-ab b/dmd/patches/patch-ab
deleted file mode 100644
index b1fc8ec138..0000000000
--- a/dmd/patches/patch-ab
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-ab,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/backend/dwarf.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/backend/dwarf.c
-@@ -22,7 +22,7 @@
- #include        <malloc.h>
- #endif
- 
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- #include        <signal.h>
- #include        <unistd.h>
- #include        <errno.h>
-@@ -402,7 +402,7 @@ void dwarf_initfile(const char *filename
-         linebuf->writeString((char *)list_ptr(pl));
-         linebuf->writeByte(0);
-     }
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-     for (pl = pathsyslist; pl; pl = list_next(pl))
-     {
-         linebuf->writeString((char *)list_ptr(pl));
diff --git a/dmd/patches/patch-ac b/dmd/patches/patch-ac
deleted file mode 100644
index 51792e6665..0000000000
--- a/dmd/patches/patch-ac
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-ac,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/backend/evalu8.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/backend/evalu8.c
-@@ -24,7 +24,7 @@
- #include        <fp.h>
- #endif
- 
--#if __FreeBSD__
-+#if __FreeBSD__ || __NetBSD__
- #define fmodl fmod
- #endif
- 
-@@ -42,7 +42,7 @@ static char __file__[] = __FILE__;      
- 
- extern void error(const char *filename, unsigned linnum, const char *format, ...);
- 
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- int _status87()
- {
-     return fetestexcept(FE_ALL_EXCEPT);
diff --git a/dmd/patches/patch-ad b/dmd/patches/patch-ad
deleted file mode 100644
index c5eaad989e..0000000000
--- a/dmd/patches/patch-ad
+++ /dev/null
@@ -1,49 +0,0 @@
-$NetBSD: patch-ad,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/backend/os.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/backend/os.c
-@@ -26,7 +26,7 @@
- #include <sys\stat.h>
- #endif
- 
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
-@@ -658,7 +658,7 @@ int os_file_exists(const char *name)
-     if (!find)
-         return 0;
-     return (find->attribute & FA_DIREC) ? 2 : 1;
--#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-     struct stat buf;
- 
-     return stat(name,&buf) == 0;        /* file exists if stat succeeded */
-@@ -735,7 +735,7 @@ char *file_8dot3name(const char *filenam
- 
- int file_write(char *name, void *buffer, unsigned len)
- {
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-     int fd;
-     ssize_t numwritten;
- 
-@@ -811,7 +811,7 @@ err:
- 
- int file_createdirs(char *name)
- {
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-     return 1;
- #endif
- #if _WIN32
-@@ -861,7 +861,7 @@ int os_critsecsize()
- }
- #endif
- 
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- int os_critsecsize()
- {
-     return sizeof(pthread_mutex_t);
diff --git a/dmd/patches/patch-ae b/dmd/patches/patch-ae
deleted file mode 100644
index e27c4b0a89..0000000000
--- a/dmd/patches/patch-ae
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ae,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/constfold.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/constfold.c
-@@ -26,7 +26,7 @@
- #include "aggregate.h"
- #include "declaration.h"
- 
--#if __FreeBSD__
-+#if __FreeBSD__ || __NetBSD__
- #define fmodl fmod      // hack for now, fix later
- #endif
- 
diff --git a/dmd/patches/patch-af b/dmd/patches/patch-af
deleted file mode 100644
index 06d523cb90..0000000000
--- a/dmd/patches/patch-af
+++ /dev/null
@@ -1,92 +0,0 @@
-$NetBSD: patch-af,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/mars.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/mars.c
-@@ -15,7 +15,7 @@
- #include <assert.h>
- #include <limits.h>
- 
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- #include <errno.h>
- #endif
- 
-@@ -60,7 +60,7 @@ Global::Global()
- 
- #if TARGET_WINDOS
-     obj_ext  = "obj";
--#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
-+#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
-     obj_ext  = "o";
- #elif TARGET_NET
- #else
-@@ -69,7 +69,7 @@ Global::Global()
- 
- #if TARGET_WINDOS
-     lib_ext  = "lib";
--#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
-+#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
-     lib_ext  = "a";
- #elif TARGET_NET
- #else
-@@ -78,7 +78,7 @@ Global::Global()
- 
- #if TARGET_WINDOS
-     dll_ext  = "dll";
--#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
-+#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
-     dll_ext  = "so";
- #elif TARGET_OSX
-     dll_ext = "dylib";
-@@ -361,7 +361,7 @@ int main(int argc, char *argv[])
- 
- #if TARGET_WINDOS
-     global.params.defaultlibname = "phobos";
--#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
-+#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
-     global.params.defaultlibname = "phobos2";
- #elif TARGET_NET
- #else
-@@ -393,6 +393,10 @@ int main(int argc, char *argv[])
-     VersionCondition::addPredefinedGlobalIdent("Posix");
-     VersionCondition::addPredefinedGlobalIdent("FreeBSD");
-     global.params.isFreeBSD = 1;
-+#elif TARGET_NETBSD
-+    VersionCondition::addPredefinedGlobalIdent("Posix");
-+    VersionCondition::addPredefinedGlobalIdent("NetBSD");
-+    global.params.isNetBSD = 1;
- #elif TARGET_SOLARIS
-     VersionCondition::addPredefinedGlobalIdent("Posix");
-     VersionCondition::addPredefinedGlobalIdent("Solaris");
-@@ -410,7 +414,7 @@ int main(int argc, char *argv[])
- 
- #if _WIN32
-     inifilename = inifile(argv[0], "sc.ini");
--#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-     inifilename = inifile(argv[0], "dmd.conf");
- #else
- #error "fix this"
-@@ -435,7 +439,7 @@ int main(int argc, char *argv[])
-                 global.params.link = 0;
-             else if (strcmp(p + 1, "cov") == 0)
-                 global.params.cov = 1;
--#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
-+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
-             else if (strcmp(p + 1, "fPIC") == 0)
-                 global.params.pic = 1;
- #endif
-@@ -727,6 +731,13 @@ int main(int argc, char *argv[])
-                 browse("http://www.digitalmars.com/d/2.0/dmd-freebsd.html";);
- #endif
- #endif
-+#if __NetBSD__
-+#if DMDV1
-+                browse("http://www.digitalmars.com/d/1.0/dmd-netbsd.html";);
-+#else
-+                browse("http://www.digitalmars.com/d/2.0/dmd-netbsd.html";);
-+#endif
-+#endif
-                 exit(EXIT_SUCCESS);
-             }
-             else if (strcmp(p + 1, "run") == 0)
diff --git a/dmd/patches/patch-ag b/dmd/patches/patch-ag
deleted file mode 100644
index 792e55f88f..0000000000
--- a/dmd/patches/patch-ag
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ag,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/root/root.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/root/root.c
-@@ -7,7 +7,7 @@
- // in artistic.txt, or the GNU General Public License in gnu.txt.
- // See the included readme.txt for details.
- 
--#define POSIX (linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4)
-+#define POSIX (linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__)
- 
- #include <stdio.h>
- #include <stdlib.h>
diff --git a/dmd/patches/patch-ah b/dmd/patches/patch-ah
deleted file mode 100644
index 8466d36928..0000000000
--- a/dmd/patches/patch-ah
+++ /dev/null
@@ -1,67 +0,0 @@
-$NetBSD: patch-ah,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/tk/filespec.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/tk/filespec.c
-@@ -25,7 +25,7 @@
- #include        <ctype.h>
- #endif
- 
--#if M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- #include        <stdlib.h>
- #include        <unistd.h>
- #endif
-@@ -87,7 +87,7 @@ char * filespecaddpath(const char *path,
- /**********************/
- char * filespecrootpath(char *filespec)
- {
--#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- #define DIRCHAR '/'
- #endif
- #if MSDOS || __OS2__ || __NT__ || _WIN32
-@@ -112,7 +112,7 @@ char * filespecrootpath(char *filespec)
- #endif
- 
-     /* get current working directory path */
--#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-     cwd_t = (char *)getcwd(NULL, 256);
- #endif
- #if MSDOS || __OS2__ || __NT__ || _WIN32
-@@ -133,7 +133,7 @@ char * filespecrootpath(char *filespec)
-     if (cwd[strlen(cwd) - 1] == DIRCHAR)
-         cwd[strlen(cwd) - 1] = '\0';
- #endif
--#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-     free(cwd_t);
- #endif
-     p = filespec;
-@@ -150,7 +150,7 @@ char * filespecrootpath(char *filespec)
-             {
-                 cwd_t = cwd;
-                 cwd = (char *)mem_calloc(strlen(cwd_t) + 1 + strlen(p) + 1);
--#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-                 sprintf(cwd, "%s/%s", cwd_t, p);  /* add relative directory */
- #endif
- #if MSDOS || __OS2__ || __NT__ || _WIN32
-@@ -171,7 +171,7 @@ char * filespecrootpath(char *filespec)
-         {   /* ... save remaining string */
-             cwd_t = cwd;
-             cwd = (char *)mem_calloc(strlen(cwd_t) + 1 + strlen(p) + 1);
--#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-             sprintf(cwd, "%s/%s", cwd_t, p);  /* add relative directory */
- #endif
- #if MSDOS || __OS2__ || __NT__ || _WIN32
-@@ -402,7 +402,7 @@ char * filespecbackup(const char *filesp
- #if MSDOS || __OS2__ || __NT__ || _WIN32
-     return filespecforceext(filespec,"BAK");
- #endif
--#if BSDUNIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if BSDUNIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-     char *p,*f;
- 
-     /* Prepend .B to file name, if it isn't already there       */
diff --git a/dmd/patches/patch-ai b/dmd/patches/patch-ai
deleted file mode 100644
index 853c54f678..0000000000
--- a/dmd/patches/patch-ai
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ai,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/builtin.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/builtin.c
-@@ -12,7 +12,7 @@
- #include <assert.h>
- #include <math.h>
- 
--#if __FreeBSD__
-+#if __FreeBSD__ || __NetBSD__
- extern "C"
- {
-     long double sinl(long double);
diff --git a/dmd/patches/patch-aj b/dmd/patches/patch-aj
deleted file mode 100644
index cfd70b518c..0000000000
--- a/dmd/patches/patch-aj
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-aj,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/root/response.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/root/response.c
-@@ -19,7 +19,7 @@
- #include <io.h>
- #endif
- 
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <fcntl.h>
diff --git a/dmd/patches/patch-ak b/dmd/patches/patch-ak
deleted file mode 100644
index b120b25654..0000000000
--- a/dmd/patches/patch-ak
+++ /dev/null
@@ -1,112 +0,0 @@
-$NetBSD: patch-ak,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/backend/cdef.h.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/backend/cdef.h
-@@ -25,6 +25,7 @@
-         linux           Linux
-         __APPLE__       Mac OSX
-         __FreeBSD__     FreeBSD
-+        __NetBSD__      NetBSD
-         __sun&&__SVR4   Solaris, OpenSolaris (yes, both macros are necessary)
-         __OS2__         IBM OS/2
-         DOS386          32 bit DOS extended executable
-@@ -119,6 +120,11 @@ One and only one of these macros must be
-  * with these goals, and should be fixed.
-  */
- 
-+/* NetBSD Version
-+ * --------------
-+ * Strongly oriented on the FreeBSD Version, read there for now.
-+ */
-+
- /* Solaris Version
-  * -------------
-  * There are two main issues: hosting the compiler on Solaris,
-@@ -167,13 +173,18 @@ One and only one of these macros must be
- #endif
- 
- // Set to 1 using the makefile
-+#ifndef TARGET_NETBSD
-+#define TARGET_NETBSD  0               // target is a NetBSD executable
-+#endif
-+
-+// Set to 1 using the makefile
- #ifndef TARGET_SOLARIS
- #define TARGET_SOLARIS  0               // target is a Solaris executable
- #endif
- 
- // This is the default
- #ifndef TARGET_WINDOS
--#define TARGET_WINDOS   (!(TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS))
-+#define TARGET_WINDOS   (!(TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS))
- #endif
- 
- #if __GNUC__
-@@ -242,7 +253,7 @@ One and only one of these macros must be
- 
- // Precompiled header variations
- #define MEMORYHX        (_WINDLL && _WIN32)     // HX and SYM files are cached in memory
--#define MMFIO           (_WIN32 || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4)  // if memory mapped files
-+#define MMFIO           (_WIN32 || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__)  // if memory mapped files
- #define LINEARALLOC     _WIN32  // if we can reserve address ranges
- 
- // H_STYLE takes on one of these precompiled header methods
-@@ -458,7 +469,7 @@ typedef unsigned        targ_uns;
- #define DOUBLESIZE      8
- #if TARGET_OSX
- #define LNGDBLSIZE      16      // 80 bit reals
--#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
-+#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
- #define LNGDBLSIZE      12      // 80 bit reals
- #else
- #define LNGDBLSIZE      10      // 80 bit reals
-@@ -509,7 +520,7 @@ typedef targ_uns        targ_size_t;    
- #define OMFOBJ          TARGET_WINDOS
- #endif
- #ifndef ELFOBJ
--#define ELFOBJ          (TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS)
-+#define ELFOBJ          (TARGET_LINUX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS)
- #endif
- #ifndef MACHOBJ
- #define MACHOBJ         TARGET_OSX
-@@ -704,10 +715,12 @@ struct Config
- #define EX_FREEBSD64    0x80000
- #define EX_SOLARIS      0x100000
- #define EX_SOLARIS64    0x200000
-+#define EX_NETBSD       0x400000
-+#define EX_NETBSD64     0x800000
- 
- #define EX_flat         (EX_OS2 | EX_NT | EX_LINUX | EX_WIN64 | EX_LINUX64 | \
-                          EX_OSX | EX_OSX64 | EX_FREEBSD | EX_FREEBSD64 | \
--                         EX_SOLARIS | EX_SOLARIS64)
-+                         EX_SOLARIS | EX_SOLARIS64 | EX_NETBSD | EX_NETBSD64)
- #define EX_dos          (EX_DOSX | EX_ZPM | EX_RATIONAL | EX_PHARLAP | \
-                          EX_COM | EX_MZ /*| EX_WIN16*/)
- 
-@@ -760,7 +773,7 @@ struct Config
- #define CFG3relax       0x200   // relaxed type checking (C only)
- #define CFG3cpp         0x400   // C++ compile
- #define CFG3igninc      0x800   // ignore standard include directory
--#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
-+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
- #define CFG3mars        0x1000  // use mars libs and headers
- #define NO_FAR          (TRUE)  // always ignore __far and __huge keywords
- #else
-@@ -772,7 +785,7 @@ struct Config
- #define CFG3cppcomment  0x8000  // allow C++ style comments
- #define CFG3wkfloat     0x10000 // make floating point references weak externs
- #define CFG3digraphs    0x20000 // support ANSI C++ digraphs
--#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
-+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
- #define CFG3semirelax   0x40000 // moderate relaxed type checking
- #endif
- #define CFG3pic         0x80000 // position independent code
-@@ -975,7 +988,7 @@ union eve
- #define SYMBOLZERO
- #endif
- 
--#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
-+#if TARGET_LINUX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
- #define UNIXFIELDS      (unsigned)-1,(unsigned)-1,0,0,
- #elif TARGET_OSX
- #define UNIXFIELDS      (unsigned)-1,(unsigned)-1,0,0,0,
diff --git a/dmd/patches/patch-al b/dmd/patches/patch-al
deleted file mode 100644
index cc1c663abd..0000000000
--- a/dmd/patches/patch-al
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-al,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/backend/debug.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/backend/debug.c
-@@ -101,7 +101,7 @@ void WRTYxx(tym_t t)
-     if (t & mTYpasobj)
-         dbg_printf("mTYpasobj|");
- #endif
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-     if (t & mTYtransu)
-         dbg_printf("mTYtransu|");
- #endif
diff --git a/dmd/patches/patch-am b/dmd/patches/patch-am
deleted file mode 100644
index c7b224aee5..0000000000
--- a/dmd/patches/patch-am
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-am,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/backend/machobj.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/backend/machobj.c
-@@ -21,7 +21,7 @@
- #include        <malloc.h>
- #endif
- 
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- #include        <signal.h>
- #include        <unistd.h>
- #endif
diff --git a/dmd/patches/patch-an b/dmd/patches/patch-an
deleted file mode 100644
index 5e80f59581..0000000000
--- a/dmd/patches/patch-an
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-an,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/backend/parser.h.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/backend/parser.h
-@@ -156,7 +156,7 @@ struct MACRO
- #define FQtop           8       // top level file, already open
- #define FQqual          0x10    // filename is already qualified
- #endif
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- #define FQnext          0x20    // search starts after directory
- #endif                          // of last included file
- 
-@@ -698,7 +698,7 @@ char *el_tostring(Outbuffer *, elem *e);
- 
- extern list_t pathlist;                 // include paths
- extern list_t headers;                  // pre-include files
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- extern list_t pathsyslist;              // include path for .h file overrides
- #endif
- 
diff --git a/dmd/patches/patch-ao b/dmd/patches/patch-ao
deleted file mode 100644
index 3a4eeb20aa..0000000000
--- a/dmd/patches/patch-ao
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-ao,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/backend/strtold.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/backend/strtold.c
-@@ -20,7 +20,7 @@
- #if _WIN32
- #include        <fltpnt.h>
- #endif
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- #include        <errno.h>
- #endif
- 
-@@ -30,7 +30,7 @@ extern char * __cdecl __locale_decpoint;
- void __pascal __set_errno (int an_errno);
- #endif
- 
--#if _WIN32 || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if _WIN32 || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- 
- #if 0
- /* This is for compilers that don't support hex float literals,
diff --git a/dmd/patches/patch-ap b/dmd/patches/patch-ap
deleted file mode 100644
index 7930e50c36..0000000000
--- a/dmd/patches/patch-ap
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ap,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/cond.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/cond.c
-@@ -138,7 +138,7 @@ void VersionCondition::checkPredefined(L
-         "D_NET",
- #endif
-         "OSX", "FreeBSD",
--        "Solaris",
-+        "Solaris", "NetBSD"
-         "LittleEndian", "BigEndian",
-         "all",
-         "none",
diff --git a/dmd/patches/patch-aq b/dmd/patches/patch-aq
deleted file mode 100644
index 2d3677b35d..0000000000
--- a/dmd/patches/patch-aq
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-aq,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/e2ir.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/e2ir.c
-@@ -178,6 +178,7 @@ elem *callfunc(Loc loc,
-         if ((global.params.isLinux ||
-              global.params.isOSX ||
-              global.params.isFreeBSD ||
-+             global.params.isNetBSD ||
-              global.params.isSolaris) && tf->linkage != LINKd)
-             ;   // ehidden goes last on Linux/OSX C++
-         else
diff --git a/dmd/patches/patch-ar b/dmd/patches/patch-ar
deleted file mode 100644
index c381f692c1..0000000000
--- a/dmd/patches/patch-ar
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ar,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/glue.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/glue.c
-@@ -770,7 +770,7 @@ void FuncDeclaration::toObjFile(int mult
-         pi++;
-     }
- 
--    if ((global.params.isLinux || global.params.isOSX || global.params.isFreeBSD || global.params.isSolaris) &&
-+    if ((global.params.isLinux || global.params.isOSX || global.params.isFreeBSD || global.params.isNetBSD || global.params.isSolaris) &&
-          linkage != LINKd && shidden && sthis)
-     {
-         /* swap shidden and sthis
diff --git a/dmd/patches/patch-as b/dmd/patches/patch-as
deleted file mode 100644
index c61608696d..0000000000
--- a/dmd/patches/patch-as
+++ /dev/null
@@ -1,29 +0,0 @@
-$NetBSD: patch-as,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/inifile.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/inifile.c
-@@ -23,7 +23,7 @@
- #include        <sys/syslimits.h>
- #endif
- 
--#if __FreeBSD__ || __sun&&__SVR4
-+#if __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- // for PATH_MAX
- #include        <limits.h>
- #endif
-@@ -111,12 +111,12 @@ const char *inifile(const char *argv0x, 
-                 filename = (char *)FileName::replaceName(argv0, inifile);
-                 if (!FileName::exists(filename))
-                 {
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
--#if __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun&&__SVR4   // This fix by Thomas Kuehne
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-+#if __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__  // This fix by Thomas Kuehne
-                     /* argv0 might be a symbolic link,
-                      * so try again looking past it to the real path
-                      */
--#if __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-                     char resolved_name[PATH_MAX + 1];
-                     char* real_argv0 = realpath(argv0, resolved_name);
- #else
diff --git a/dmd/patches/patch-at b/dmd/patches/patch-at
deleted file mode 100644
index 7d6bafc120..0000000000
--- a/dmd/patches/patch-at
+++ /dev/null
@@ -1,40 +0,0 @@
-$NetBSD: patch-at,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/link.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/link.c
-@@ -19,7 +19,7 @@
- #include        <process.h>
- #endif
- 
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- #include        <sys/types.h>
- #include        <sys/wait.h>
- #include        <unistd.h>
-@@ -198,7 +198,7 @@ int runLINK()
-         delete lnkfilename;
-     }
-     return status;
--#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-     pid_t childpid;
-     int i;
-     int status;
-@@ -486,7 +486,7 @@ int executearg0(char *cmd, char *args)
-     //printf("spawning '%s'\n",file);
- #if _WIN32
-     return spawnl(0,file,file,args,NULL);
--#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-     char *full;
-     int cmdl = strlen(cmd);
- 
-@@ -549,7 +549,7 @@ int runProgram()
-     else
-         ex = global.params.exefile;
-     return spawnv(0,ex,(char **)argv.data);
--#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-     pid_t childpid;
-     int status;
- 
diff --git a/dmd/patches/patch-au b/dmd/patches/patch-au
deleted file mode 100644
index ccae945314..0000000000
--- a/dmd/patches/patch-au
+++ /dev/null
@@ -1,58 +0,0 @@
-$NetBSD: patch-au,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/mars.h.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/mars.h
-@@ -37,6 +37,7 @@ Macros defined by the compiler, not the 
-         linux           Linux
-         __APPLE__       Mac OSX
-         __FreeBSD__     FreeBSD
-+        __NetBSD__      NetBSD
-         __sun&&__SVR4   Solaris, OpenSolaris (yes, both macros are necessary)
- 
- For the target systems, there are the target operating system and
-@@ -47,6 +48,7 @@ the target object file format:
-         TARGET_LINUX    Covers 32 and 64 bit linux
-         TARGET_OSX      Covers 32 and 64 bit Mac OSX
-         TARGET_FREEBSD  Covers 32 and 64 bit FreeBSD
-+        TARGET_NETBSD   Covers 32 and 64 bit NetBSD
-         TARGET_SOLARIS  Covers 32 and 64 bit Solaris
-         TARGET_NET      Covers .Net
- 
-@@ -55,7 +57,7 @@ the target object file format:
- 
-     Target object module format:
-         OMFOBJ          Intel Object Module Format, used on Windows
--        ELFOBJ          Elf Object Module Format, used on linux, FreeBSD and Solaris
-+        ELFOBJ          Elf Object Module Format, used on linux, FreeBSD, NetBSD and Solaris
-         MACHOBJ         Mach-O Object Module Format, used on Mac OSX
- 
-     There are currently no macros for byte endianness order.
-@@ -91,9 +93,9 @@ void unittests();
- #define MODULEINFO_IS_STRUCT DMDV2   // if ModuleInfo is a struct rather than a class
- 
- // Set if C++ mangling is done by the front end
--#define CPP_MANGLE (DMDV2 && (TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS))
-+#define CPP_MANGLE (DMDV2 && (TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS))
- 
--/* Other targets are TARGET_LINUX, TARGET_OSX, TARGET_FREEBSD and
-+/* Other targets are TARGET_LINUX, TARGET_OSX, TARGET_FREEBSD, TARGET_NETBSD and
-  * TARGET_SOLARIS, which are
-  * set on the command line via the compiler makefile.
-  */
-@@ -103,7 +105,7 @@ void unittests();
- #define OMFOBJ 1
- #endif
- 
--#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
-+#if TARGET_LINUX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
- #ifndef ELFOBJ
- #define ELFOBJ 1
- #endif
-@@ -141,6 +143,7 @@ struct Param
-     char isOSX;         // generate code for Mac OSX
-     char isWindows;     // generate code for Windows
-     char isFreeBSD;     // generate code for FreeBSD
-+    char isNetBSD;      // generate code for NetBSD
-     char isSolaris;     // generate code for Solaris
-     char scheduler;     // which scheduler to use
-     char useDeprecated; // allow use of deprecated features
diff --git a/dmd/patches/patch-av b/dmd/patches/patch-av
deleted file mode 100644
index cfe3847c42..0000000000
--- a/dmd/patches/patch-av
+++ /dev/null
@@ -1,40 +0,0 @@
-$NetBSD: patch-av,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/mtype.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/mtype.c
-@@ -72,7 +72,7 @@ int PTRSIZE = 4;
- int REALSIZE = 16;
- int REALPAD = 6;
- int REALALIGNSIZE = 16;
--#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
-+#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
- int REALSIZE = 12;
- int REALPAD = 2;
- int REALALIGNSIZE = 4;
-@@ -270,7 +270,7 @@ void Type::init()
-     if (global.params.isX86_64)
-     {
-         PTRSIZE = 8;
--        if (global.params.isLinux || global.params.isFreeBSD || global.params.isSolaris)
-+        if (global.params.isLinux || global.params.isFreeBSD || global.params.isNetBSD || global.params.isSolaris)
-         {
-             REALSIZE = 16;
-             REALPAD = 6;
-@@ -285,7 +285,7 @@ void Type::init()
- #if TARGET_OSX
-         REALSIZE = 16;
-         REALPAD = 6;
--#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
-+#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
-         REALSIZE = 12;
-         REALPAD = 2;
- #else
-@@ -2491,7 +2491,7 @@ unsigned TypeBasic::alignsize()
-             sz = REALALIGNSIZE;
-             break;
- 
--#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
-+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
-         case Tint64:
-         case Tuns64:
-         case Tfloat64:
diff --git a/dmd/patches/patch-aw b/dmd/patches/patch-aw
deleted file mode 100644
index 59dd12ae4f..0000000000
--- a/dmd/patches/patch-aw
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-aw,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/root/man.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/root/man.c
-@@ -26,7 +26,7 @@ void browse(const char *url)
- 
- #endif
- 
--#if linux || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- 
- #include        <sys/types.h>
- #include        <sys/wait.h>
diff --git a/dmd/patches/patch-ax b/dmd/patches/patch-ax
deleted file mode 100644
index e3a73c7035..0000000000
--- a/dmd/patches/patch-ax
+++ /dev/null
@@ -1,74 +0,0 @@
-$NetBSD: patch-ax,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/root/port.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/root/port.c
-@@ -315,14 +315,14 @@ char *Port::strupr(char *s)
- 
- #endif
- 
--#if linux || __APPLE__ || __FreeBSD__
-+#if linux || __APPLE__ || __FreeBSD__ || __NetBSD__
- 
- #include <math.h>
- #if linux
- #include <bits/nan.h>
- #include <bits/mathdef.h>
- #endif
--#if __FreeBSD__ && __i386__
-+#if (__FreeBSD__ || __NetBSD__) && (__i386__ || __amd64__)
- #include <ieeefp.h>
- #endif
- #include <time.h>
-@@ -358,23 +358,25 @@ PortInitializer::PortInitializer()
-         foo = -foo;     // turn off sign bit
-     Port::nan = foo;
- 
--#if __FreeBSD__ && __i386__
-+#if (__FreeBSD__ || __NetBSD__) && (__i386__ || __amd64__)
-     // LDBL_MAX comes out as infinity. Fix.
-     static unsigned char x[sizeof(long double)] =
-         { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x7F };
-     Port::ldbl_max = *(long double *)&x[0];
-     // FreeBSD defaults to double precision. Switch to extended precision.
-+/* XXX: does not exist on NetBSD */
-+#if (__FreeBSD__) && __i386__
-     fpsetprec(FP_PE);
- #endif
-+#endif
- }
- 
--#undef isnan
- int Port::isNan(double r)
- {
- #if __APPLE__
-     return __inline_isnan(r);
- #else
--    return ::isnan(r);
-+    return isnan(r);
- #endif
- }
- 
-@@ -383,7 +385,7 @@ int Port::isNan(long double r)
- #if __APPLE__
-     return __inline_isnan(r);
- #else
--    return ::isnan(r);
-+    return isnan(r);
- #endif
- }
- 
-@@ -409,13 +411,12 @@ int Port::isFinite(double r)
-     return ::finite(r);
- }
- 
--#undef isinf
- int Port::isInfinity(double r)
- {
- #if __APPLE__
-     return fpclassify(r) == FP_INFINITE;
- #else
--    return ::isinf(r);
-+    return isinf(r);
- #endif
- }
- 
diff --git a/dmd/patches/patch-ay b/dmd/patches/patch-ay
deleted file mode 100644
index c5ad1300c1..0000000000
--- a/dmd/patches/patch-ay
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ay,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/root/rmem.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/root/rmem.c
-@@ -6,7 +6,7 @@
- #include <stdlib.h>
- #include <string.h>
- 
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- #include "../root/rmem.h"
- #else
- #include "rmem.h"
diff --git a/dmd/patches/patch-az b/dmd/patches/patch-az
deleted file mode 100644
index 230c9a4a66..0000000000
--- a/dmd/patches/patch-az
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-az,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/tk/mem.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/tk/mem.c
-@@ -296,7 +296,7 @@ static struct mem_debug
-         11111,
-         0,
-         BEFOREVAL,
--#if !(linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4)
-+#if !(linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__)
-         AFTERVAL
- #endif
- };
-@@ -804,7 +804,7 @@ void mem_init()
-                 mem_numalloc = 0;
-                 mem_maxalloc = 0;
-                 mem_alloclist.Mnext = NULL;
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
-                 *(long *) &(mem_alloclist.data[0]) = AFTERVAL;
- #endif
- #endif
diff --git a/dmd/patches/patch-ba b/dmd/patches/patch-ba
deleted file mode 100644
index a8f9589a3d..0000000000
--- a/dmd/patches/patch-ba
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ba,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/toir.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/toir.c
-@@ -799,7 +799,7 @@ enum RET TypeFunction::retStyle()
-         }
-         return RETstack;
-     }
--    else if ((global.params.isLinux || global.params.isOSX || global.params.isFreeBSD || global.params.isSolaris) &&
-+    else if ((global.params.isLinux || global.params.isOSX || global.params.isFreeBSD || global.params.isNetBSD || global.params.isSolaris) &&
-              linkage == LINKc &&
-              tn->iscomplex())
-     {
diff --git a/dmd/patches/patch-bb b/dmd/patches/patch-bb
deleted file mode 100644
index 444bbe19e0..0000000000
--- a/dmd/patches/patch-bb
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-bb,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/dmd/util.c.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/dmd/util.c
-@@ -131,7 +131,7 @@ void util_progress(int linnum)
- 
- #endif
- 
--#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
-+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
- void util_progress()
- {
- }
diff --git a/dmd/patches/patch-bc b/dmd/patches/patch-bc
deleted file mode 100644
index 4b7df7df34..0000000000
--- a/dmd/patches/patch-bc
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-bc,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/druntime/posix.mak.orig	2010-12-15 07:30:54.000000000 +0000
-+++ src/druntime/posix.mak
-@@ -1,5 +1,7 @@
- 
--DMD=dmd
-+all: target
-+
-+DMD=../dmd/dmd
- 
- DOCDIR=doc
- IMPDIR=import
diff --git a/dmd/patches/patch-bd b/dmd/patches/patch-bd
deleted file mode 100644
index 6793ba9eae..0000000000
--- a/dmd/patches/patch-bd
+++ /dev/null
@@ -1,35 +0,0 @@
-$NetBSD: patch-bd,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/phobos/posix.mak.orig	2010-12-20 20:02:36.000000000 +0000
-+++ src/phobos/posix.mak
-@@ -33,7 +33,11 @@ ifeq (,$(OS))
-             ifeq (FreeBSD,$(OS))
-                 OS:=freebsd
-             else
--                $(error Unrecognized or unsupported OS for uname: $(OS))
-+                ifeq (NetBSD,$(OS))
-+                    OS:=freebsd
-+                else
-+                    $(error Unrecognized or unsupported OS for uname: $(OS))
-+                endif
-             endif
-         endif
-     endif
-@@ -85,7 +89,7 @@ else
- 		DMD = ssh 206.125.170.138 "cd code/dmd/phobos && dmd"
- 		CC = ssh 206.125.170.138 "cd code/dmd/phobos && dmc"
- 	else
--		DMD = dmd
-+		DMD = ../dmd/dmd
- 		ifeq ($(OS),win32)
- 			CC = dmc
- 		else
-@@ -204,6 +208,8 @@ OBJS = $(addsuffix $(DOTOBJ),$(addprefix
- # Rules begin here
- ################################################################################
- 
-+all: release
-+
- ifeq ($(BUILD),)
- # No build was defined, so here we define release and debug
- # targets. BUILD is not defined in user runs, only by recursive
diff --git a/dmd/patches/patch-be b/dmd/patches/patch-be
deleted file mode 100644
index e60d60011a..0000000000
--- a/dmd/patches/patch-be
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-be,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/druntime/src/rt/critical.c.orig	2010-12-15 07:30:48.000000000 +0000
-+++ src/druntime/src/rt/critical.c
-@@ -83,7 +83,7 @@ void _STD_critical_term()
- 
- /* ================================= linux ============================ */
- 
--#if linux || __APPLE__ || __FreeBSD__
-+#if linux || __APPLE__ || __FreeBSD__ || __NetBSD__
- 
- #include <stdio.h>
- #include <stdlib.h>
diff --git a/dmd/patches/patch-bf b/dmd/patches/patch-bf
deleted file mode 100644
index 77f8dd2ad7..0000000000
--- a/dmd/patches/patch-bf
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-bf,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/druntime/src/rt/monitor.c.orig	2010-12-15 07:30:48.000000000 +0000
-+++ src/druntime/src/rt/monitor.c
-@@ -16,7 +16,7 @@
- #include <assert.h>
- 
- #if _WIN32
--#elif linux || __APPLE__ || __FreeBSD__
-+#elif linux || __APPLE__ || __FreeBSD__ || __NetBSD__
- #define USE_PTHREADS    1
- #else
- #endif
diff --git a/dmd/patches/patch-bg b/dmd/patches/patch-bg
deleted file mode 100644
index 2b4af75d52..0000000000
--- a/dmd/patches/patch-bg
+++ /dev/null
@@ -1,120 +0,0 @@
-$NetBSD: patch-bg,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/druntime/import/core/stdc/errno.di.orig	2010-12-20 07:27:04.000000000 +0000
-+++ src/druntime/import/core/stdc/errno.di
-@@ -366,6 +366,115 @@ else
-     enum EPROTO = 92;
-     enum ELAST = 92;
- }
-+else
-+{
-+    version (NetBSD)
-+{
-+    enum EPERM = 1;
-+    enum ENOENT = 2;
-+    enum ESRCH = 3;
-+    enum EINTR = 4;
-+    enum EIO = 5;
-+    enum ENXIO = 6;
-+    enum E2BIG = 7;
-+    enum ENOEXEC = 8;
-+    enum EBADF = 9;
-+    enum ECHILD = 10;
-+    enum EDEADLK = 11;
-+    enum ENOMEM = 12;
-+    enum EACCES = 13;
-+    enum EFAULT = 14;
-+    enum ENOTBLK = 15;
-+    enum EBUSY = 16;
-+    enum EEXIST = 17;
-+    enum EXDEV = 18;
-+    enum ENODEV = 19;
-+    enum ENOTDIR = 20;
-+    enum EISDIR = 21;
-+    enum EINVAL = 22;
-+    enum ENFILE = 23;
-+    enum EMFILE = 24;
-+    enum ENOTTY = 25;
-+    enum ETXTBSY = 26;
-+    enum EFBIG = 27;
-+    enum ENOSPC = 28;
-+    enum ESPIPE = 29;
-+    enum EROFS = 30;
-+    enum EMLINK = 31;
-+    enum EPIPE = 32;
-+    enum EDOM = 33;
-+    enum ERANGE = 34;
-+    enum EAGAIN = 35;
-+    enum EWOULDBLOCK = EAGAIN;
-+    enum EINPROGRESS = 36;
-+    enum EALREADY = 37;
-+    enum ENOTSOCK = 38;
-+    enum EDESTADDRREQ = 39;
-+    enum EMSGSIZE = 40;
-+    enum EPROTOTYPE = 41;
-+    enum ENOPROTOOPT = 42;
-+    enum EPROTONOSUPPORT = 43;
-+    enum ESOCKTNOSUPPORT = 44;
-+    enum EOPNOTSUPP = 45;
-+    enum EPFNOSUPPORT = 46;
-+    enum EAFNOSUPPORT = 47;
-+    enum EADDRINUSE = 48;
-+    enum EADDRNOTAVAIL = 49;
-+    enum ENETDOWN = 50;
-+    enum ENETUNREACH = 51;
-+    enum ENETRESET = 52;
-+    enum ECONNABORTED = 53;
-+    enum ECONNRESET = 54;
-+    enum ENOBUFS = 55;
-+    enum EISCONN = 56;
-+    enum ENOTCONN = 57;
-+    enum ESHUTDOWN = 58;
-+    enum ETOOMANYREFS = 59;
-+    enum ETIMEDOUT = 60;
-+    enum ECONNREFUSED = 61;
-+    enum ELOOP = 62;
-+    enum ENAMETOOLONG = 63;
-+    enum EHOSTDOWN = 64;
-+    enum EHOSTUNREACH = 65;
-+    enum ENOTEMPTY = 66;
-+    enum EPROCLIM = 67;
-+    enum EUSERS = 68;
-+    enum EDQUOT = 69;
-+    enum ESTALE = 70;
-+    enum EREMOTE = 71;
-+    enum EBADRPC = 72;
-+    enum ERPCMISMATCH = 73;
-+    enum EPROGUNAVAIL = 74;
-+    enum EPROGMISMATCH = 75;
-+    enum EPROCUNAVAIL = 76;
-+    enum ENOLCK = 77;
-+    enum ENOSYS = 78;
-+    enum EFTYPE = 79;
-+    enum EAUTH = 80;
-+    enum ENEEDAUTH = 81;
-+    enum EIDRM = 82;
-+    enum ENOMSG = 83;
-+    enum EOVERFLOW = 84;
-+    enum EILSEQ = 85;
-+    enum ENOTSUP = 86;
-+    enum ECANCELED = 87;
-+    enum EBADMSG = 88;
-+    enum ENODATA = 89;
-+    enum ENOSR = 90;
-+    enum ENOSTR = 91;
-+    enum ETIME = 92;
-+    enum ENOATTR = 93;
-+    enum EMULTIHOP = 94;
-+    enum ENOLINK = 95;
-+    enum EPROTO = 96;
-+    enum ELAST = 96;
-+    enum EJUSTRETURN = -2;
-+    enum ERESTART = -3;
-+    enum EPASSTHROUGH = -4;
-+    enum EDUPFD = -5;
-+    enum EMOVEFD = -6;
-+}
-+}
- }
- }
- }
diff --git a/dmd/patches/patch-bh b/dmd/patches/patch-bh
deleted file mode 100644
index cba3ba356d..0000000000
--- a/dmd/patches/patch-bh
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD: patch-bh,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
-
---- src/druntime/src/core/sys/posix/sys/mman.d.orig	2010-12-15 07:30:52.000000000 +0000
-+++ src/druntime/src/core/sys/posix/sys/mman.d
-@@ -108,15 +108,7 @@ version( linux )
-     //void* mmap(void*, size_t, int, int, int, off_t);
-     int   munmap(void*, size_t);
- 
--  static if( __USE_LARGEFILE64 )
--  {
--    void* mmap64(void*, size_t, int, int, int, off_t);
--    alias mmap64 mmap;
--  }
--  else
--  {
-     void* mmap(void*, size_t, int, int, int, off_t);
--  }
- }
- else version( OSX )
- {
diff --git a/dmd/patches/patch-posix.mak b/dmd/patches/patch-posix.mak
new file mode 100644
index 0000000000..a78dbae7d3
--- /dev/null
+++ b/dmd/patches/patch-posix.mak
@@ -0,0 +1,17 @@
+$NetBSD$
+
+--- posix.mak.orig	2020-08-15 09:49:13.000000000 +0000
++++ posix.mak
+@@ -57,9 +57,9 @@ install:
+ else
+ install: all
+ 	$(MAKE) INSTALL_DIR=$(INSTALL_DIR) -C src -f posix.mak install
+-	cp -r samples $(INSTALL_DIR)
+-	mkdir -p $(INSTALL_DIR)/man
+-	cp -r docs/man/* $(INSTALL_DIR)/man/
++	#cp -r samples $(INSTALL_DIR)
++	mkdir -p $(INSTALL_DIR)/share/man
++	cp -r docs/man/* $(INSTALL_DIR)/share/man/
+ endif
+ 
+ # Checks that all files have been committed and no temporary, untracked files exist.
diff --git a/dmd/patches/patch-src_build.d b/dmd/patches/patch-src_build.d
new file mode 100644
index 0000000000..9c27b13d2d
--- /dev/null
+++ b/dmd/patches/patch-src_build.d
@@ -0,0 +1,24 @@
+$NetBSD$
+
+--- src/build.d.orig	2020-08-15 09:49:13.000000000 +0000
++++ src/build.d
+@@ -753,16 +753,14 @@ alias install = makeRule!((builder, rule
+                 const bin = "bin" ~ env["MODEL"];
+         }
+ 
+-        installRelativeFiles(env["INSTALL"].buildPath(env["OS"], bin), dmdExeFile.dirName, dmdExeFile.only, octal!755);
++        installRelativeFiles(env["INSTALL"].buildPath(bin), dmdExeFile.dirName, dmdExeFile.only, octal!755);
+ 
+         version (Windows)
+             installRelativeFiles(env["INSTALL"], dmdRepo, sourceFiles);
+ 
+         const scPath = buildPath(env["OS"], bin, conf);
+-        copyAndTouch(buildPath(dmdRepo, "ini", scPath), buildPath(env["INSTALL"], scPath));
+-
+-        version (Posix)
+-            copyAndTouch(sourceFiles[$-1], env["INSTALL"].buildPath("dmd-boostlicense.txt"));
++	mkdirRecurse(buildPath(env["INSTALL"], "etc"));
++        copyAndTouch(buildPath(dmdRepo, "ini", scPath), buildPath(env["INSTALL"], "etc", conf));
+ 
+     });
+ });


Home | Main Index | Thread Index | Old Index