svn commit: r401683 - in head/lang/dmd2: . files
Cy Schubert
cy at FreeBSD.org
Sun Nov 15 10:34:10 UTC 2015
Author: cy
Date: Sun Nov 15 10:34:08 2015
New Revision: 401683
URL: https://svnweb.freebsd.org/changeset/ports/401683
Log:
Self-host dmd bootstrap (dmd 2.067.1).
Added:
head/lang/dmd2/Makefile.bootstrap
- copied, changed from r401618, head/lang/dmd2/Makefile
Modified:
head/lang/dmd2/Makefile
head/lang/dmd2/distinfo
head/lang/dmd2/files/patch-src__dmd__posix.mak
Modified: head/lang/dmd2/Makefile
==============================================================================
--- head/lang/dmd2/Makefile Sun Nov 15 08:05:08 2015 (r401682)
+++ head/lang/dmd2/Makefile Sun Nov 15 10:34:08 2015 (r401683)
@@ -4,10 +4,13 @@
PORTNAME= dmd
PKGNAMESUFFIX= 2
PORTVERSION= 2.069.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= lang
MASTER_SITES= http://ftp.digitalmars.com/
DISTNAME= dmd.${PORTVERSION}
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
+ dmd.2.067.1${EXTRACT_SUFX}
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= cy at FreeBSD.org
COMMENT= D 2.0 compiler, not officially validated for FreeBSD
@@ -89,4 +92,9 @@ do-install:
${INSTALL_DATA} ${WRKSRC}/*.txt ${STAGEDIR}${DOCSDIR}
cd ${WRKDIR}/dmd2 && ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR}
+.if !exists(${LOCALBASE}/bin/dmd)
+pre-configure:
+ ${MAKE} -f Makefile.bootstrap BOOTDIR=${WRKDIR}
+.endif
+
.include <bsd.port.post.mk>
Copied and modified: head/lang/dmd2/Makefile.bootstrap (from r401618, head/lang/dmd2/Makefile)
==============================================================================
--- head/lang/dmd2/Makefile Sun Nov 15 00:17:58 2015 (r401618, copy source)
+++ head/lang/dmd2/Makefile.bootstrap Sun Nov 15 10:34:08 2015 (r401683)
@@ -3,30 +3,22 @@
PORTNAME= dmd
PKGNAMESUFFIX= 2
-PORTVERSION= 2.069.1
-PORTREVISION= 1
+PORTVERSION= 2.067.1
CATEGORIES= lang
-MASTER_SITES= http://ftp.digitalmars.com/
DISTNAME= dmd.${PORTVERSION}
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
-MAINTAINER= cy at FreeBSD.org
-COMMENT= D 2.0 compiler, not officially validated for FreeBSD
+COMMENT= D 2.0 compiler bootstrap
+WRKDIR= ${BOOTDIR}/.host_dmd-2.067.1
+PATCHDIR= ${MASTERDIR}/bootstrap
USES= gmake zip
MAKEFILE= posix.mak
-MAKE_ARGS= AUTO_BOOTSTRAP=1
-MAKE_ENV+= WRKDIR=${WRKDIR}
EXAMPLESDIR= ${PREFIX}/share/examples/dmd2
DOCSDIR= ${PREFIX}/share/doc/dmd2
PORTDOCS= *.txt html/
WRKSRC= ${WRKDIR}/dmd2/src/${PORTNAME}
-LICENSE_COMB= multi
-LICENSE= ART10 DMD BSL
-LICENSE_NAME_DMD= Digital Mars license
-LICENSE_FILE_DMD= ${WRKSRC}/backendlicense.txt
-LICENSE_PERMS_DMD= no-dist-mirror no-dist-sell no-pkg-mirror no-pkg-sell auto-accept
-
-OPTIONS_DEFINE= DOCS
+.undef DEVELOPER
.include <bsd.port.pre.mk>
@@ -45,11 +37,6 @@ MAKE_ARGS+= MODEL=32
MODEL= 32
.endif
-.if defined(WITH_DEBUG)
-BUILD= debug
-MAKE_ARGS+= DEBUG_FLAGS=-g\ -DDEBUG=1\ -DUNITTEST
-.endif
-
MODULEDIR= ${PREFIX}/include/d/phobos2
post-patch:
@@ -60,10 +47,11 @@ post-patch:
-e "s|\\\BR|.BR|" \
${WRKDIR}/dmd2/man/man1/dmd.1 \
${WRKDIR}/dmd2/man/man5/dmd.conf.5
- @${REINPLACE_CMD} -e '/^SYSCONFDIR=/s|/etc/|${PREFIX}/etc/|' ${WRKSRC}/posix.mak
- @${REINPLACE_CMD} -e "s|%@P%/../../src/phobos|${MODULEDIR}|" \
- -e "s|%@P%/../lib|${PREFIX}/lib|" \
- -e "s|%@P%/../../src/druntime|${PREFIX}/include/d/druntime|" \
+ @${REINPLACE_CMD} -e '/^SYSCONFDIR=/s|/etc/|${STAGEDIR}${PREFIX}/etc/|' ${WRKSRC}/posix.mak
+ @${REINPLACE_CMD} -e "s|%@P%/../../src/phobos|${STAGEDIR}${MODULEDIR}|" \
+ -e "s|%@P%/../lib32|${STAGEDIR}${PREFIX}/lib|" \
+ -e "s|%@P%/../lib64|${STAGEDIR}${PREFIX}/lib|" \
+ -e "s|%@P%/../../src/druntime|${STAGEDIR}${PREFIX}/include/d/druntime|" \
${WRKDIR}/dmd2/freebsd/bin${MODEL}/dmd.conf
@${ECHO_CMD} >> ${WRKDIR}/dmd2/freebsd/bin${MODEL}/dmd.conf
@@ -89,4 +77,7 @@ do-install:
${INSTALL_DATA} ${WRKSRC}/*.txt ${STAGEDIR}${DOCSDIR}
cd ${WRKDIR}/dmd2 && ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR}
+post-stage:
+ ${LN} -sf ${STAGEDIR}/${PREFIX}/bin/dmd ${WRKDIR}/dmd2/freebsd/bin${MODEL}/dmd
+
.include <bsd.port.post.mk>
Modified: head/lang/dmd2/distinfo
==============================================================================
--- head/lang/dmd2/distinfo Sun Nov 15 08:05:08 2015 (r401682)
+++ head/lang/dmd2/distinfo Sun Nov 15 10:34:08 2015 (r401683)
@@ -1,2 +1,4 @@
SHA256 (dmd.2.069.1.zip) = 8c73f29fccce71bea02bdfa2521a945178e11c804e72e768fe96a1fb8d733abc
SIZE (dmd.2.069.1.zip) = 76383062
+SHA256 (dmd.2.067.1.zip) = 24fd32d3b1401309187a3fcd235014e38c651beb3af29b0e656f6f4add4ec95b
+SIZE (dmd.2.067.1.zip) = 56083735
Modified: head/lang/dmd2/files/patch-src__dmd__posix.mak
==============================================================================
--- head/lang/dmd2/files/patch-src__dmd__posix.mak Sun Nov 15 08:05:08 2015 (r401682)
+++ head/lang/dmd2/files/patch-src__dmd__posix.mak Sun Nov 15 10:34:08 2015 (r401683)
@@ -1,6 +1,6 @@
--- ../../src/dmd/posix.mak.orig 2015-11-11 02:36:12.000000000 -0800
-+++ ../../src/dmd/posix.mak 2015-11-14 11:37:37.628381337 -0800
-@@ -57,7 +57,7 @@
++++ ../../src/dmd/posix.mak 2015-11-15 01:40:55.280252455 -0800
+@@ -57,13 +57,13 @@
else
# Auto-bootstrapping, will download dmd automatically
HOST_DMD_VER=2.067.1
@@ -9,7 +9,30 @@
# dmd.2.067.1.osx.zip or dmd.2.067.1.freebsd-64.zip
HOST_DMD_ZIP=dmd.$(HOST_DMD_VER).$(OS)$(if $(filter $(OS),freebsd),-$(MODEL),).zip
# http://downloads.dlang.org/releases/2.x/2.067.1/dmd.2.067.1.osx.zip
-@@ -423,7 +423,7 @@
+ HOST_DMD_URL=http://downloads.dlang.org/releases/2.x/$(HOST_DMD_VER)/$(HOST_DMD_ZIP)
+ HOST_DMD=$(HOST_DMD_ROOT)/dmd2/$(OS)/$(if $(filter $(OS),osx),bin,bin$(MODEL))/dmd
+- HOST_DMD_PATH=$(HOST_DMD)
++ HOST_DMD_PATH=$(HOST_DMD_ROOT)/stage/usr/local/bin/dmd
+ HOST_DMD_RUN=$(HOST_DMD) -conf=$(dir $(HOST_DMD))dmd.conf
+ endif
+
+@@ -308,15 +308,6 @@
+ verstr.h SYSCONFDIR.imp core *.cov *.deps *.gcda *.gcno *.a
+ @[ ! -d ${PGO_DIR} ] || echo You should issue manually: rm -rf ${PGO_DIR}
+
+-######## Download and install the last dmd buildable without dmd
+-
+-ifneq (,$(AUTO_BOOTSTRAP))
+-$(HOST_DMD_PATH):
+- mkdir -p ${HOST_DMD_ROOT}
+- TMPFILE=$$(mktemp deleteme.XXXXXXXX) && curl -fsSL ${HOST_DMD_URL} > $${TMPFILE}.zip && \
+- unzip -qd ${HOST_DMD_ROOT} $${TMPFILE}.zip && rm $${TMPFILE}.zip
+-endif
+-
+ ######## generate a default dmd.conf
+
+ define DEFAULT_DMD_CONF
+@@ -423,7 +392,7 @@
$(eval bin_dir=$(if $(filter $(OS),osx), bin, bin$(MODEL)))
mkdir -p $(INSTALL_DIR)/$(OS)/$(bin_dir)
cp dmd $(INSTALL_DIR)/$(OS)/$(bin_dir)/dmd
More information about the svn-ports-all
mailing list