Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Apr 2018 15:19:57 +0000 (UTC)
From:      Jimmy Olgeni <olgeni@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r466967 - in head/lang: erlang erlang-runtime15 erlang-runtime16 erlang-runtime17 erlang-runtime18 erlang-runtime19 erlang-runtime20
Message-ID:  <201804101519.w3AFJveG014111@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: olgeni
Date: Tue Apr 10 15:19:56 2018
New Revision: 466967
URL: https://svnweb.freebsd.org/changeset/ports/466967

Log:
  Modernization of Erlang ports:
  
  - Convert all ports to options helpers
  - Add MANPAGES option to lang/erlang
  - Remove HTML and PDF documentation from lang/erlang (went into erlang-doc)
  - Remove APP_UPGRADE code because of the doc split
  - Reduce diffs between all Makefiles
  - Enable dirty schedulers by default on version 20
  - Non-SMP beam is deprecated on version 20, so enable SMP unconditionally

Modified:
  head/lang/erlang-runtime15/Makefile
  head/lang/erlang-runtime15/distinfo
  head/lang/erlang-runtime16/Makefile
  head/lang/erlang-runtime16/distinfo   (contents, props changed)
  head/lang/erlang-runtime17/Makefile
  head/lang/erlang-runtime17/distinfo
  head/lang/erlang-runtime18/Makefile
  head/lang/erlang-runtime18/distinfo
  head/lang/erlang-runtime19/Makefile
  head/lang/erlang-runtime19/distinfo
  head/lang/erlang-runtime20/Makefile
  head/lang/erlang-runtime20/distinfo
  head/lang/erlang/Makefile
  head/lang/erlang/pkg-plist

Modified: head/lang/erlang-runtime15/Makefile
==============================================================================
--- head/lang/erlang-runtime15/Makefile	Tue Apr 10 15:02:29 2018	(r466966)
+++ head/lang/erlang-runtime15/Makefile	Tue Apr 10 15:19:56 2018	(r466967)
@@ -3,15 +3,16 @@
 
 PORTNAME=	erlang
 PORTVERSION=	15.b.03.1
-PORTREVISION=	12
+PORTREVISION=	13
 CATEGORIES=	lang parallel java
-MASTER_SITES=	http://www.erlang.org/download/:erlangorg		\
-		http://erlang.stacken.kth.se/download/:erlangorg	\
-		http://www.csd.uu.se/ftp/mirror/erlang/download/:erlangorg
+MASTER_SITES=	http://www.erlang.org/download/:erlangorg			\
+		http://erlang.stacken.kth.se/download/:erlangorg		\
+		http://www.csd.uu.se/ftp/mirror/erlang/download/:erlangorg	\
+		http://olgeni.olgeni.com/~olgeni/distfiles/:local		\
+		LOCAL/olgeni:local
 PKGNAMESUFFIX=	-runtime15
-DISTNAME=	otp_src_${ERL_RELEASE}
-DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:erlangorg	\
-		${ERLANG_MAN}:erlangorg
+DISTNAME=	otp_src_${ERLANG_REL}
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:erlangorg
 DIST_SUBDIR=	erlang
 EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
@@ -21,15 +22,16 @@ COMMENT=	Functional programming language from Ericsson
 WRKSRC=		${WRKDIR}/otp_src_R15B03
 
 ERLANG_LIB=	${PORTNAME}${PORTVERSION:C/\..*//}
+ERLANG_REL=	R${PORTVERSION:S/.//g:tu:S/1$/-1/}
 
 SUB_FILES=	pkg-message
 SUB_LIST=	ERLANG_LIB=${ERLANG_LIB}
 
 MAKE_JOBS_UNSAFE=yes
 
-OPTIONS_DEFINE=	DOCS DTRACE GCC GS HIPE JAVA KQUEUE ODBC OPENSSL SCTP SMP THREADS WX
+OPTIONS_DEFINE=	DTRACE GS HIPE JAVA KQUEUE ODBC OPENSSL SCTP SMP THREADS WX
+OPTIONS_DEFAULT=KQUEUE OPENSSL SCTP SMP THREADS
 
-DTRACE_DESC=	Enable DTrace support
 GS_DESC=	Enable GS application (deprecated)
 HIPE_DESC=	Build native HiPE compiler
 KQUEUE_DESC=	Enable Kernel Poll (kqueue) support
@@ -37,170 +39,81 @@ SCTP_DESC=	Enable SCTP support
 SMP_DESC=	Enable SMP support
 WX_DESC=	Enable WX application
 
-OPTIONS_DEFAULT=KQUEUE OPENSSL SCTP SMP THREADS
+.if !exists(/usr/sbin/dtrace)
+OPTIONS_EXCLUDE+=	DTRACE
+.endif
+
 OPTIONS_EXCLUDE_DragonFly=	HIPE SCTP
+OPTIONS_EXCLUDE_FreeBSD_10=	DTRACE
 
-ERL_RELEASE=	R${PORTVERSION:S/.//g:tu:S/1$/-1/}
-
-USES=		gmake ncurses perl5
-USE_PERL5=	build
 GNU_CONFIGURE=	yes
 LDFLAGS+=	-L${LOCALBASE}/lib
+USES=		gmake ncurses perl5
+USE_PERL5=	build
 
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MDOCS}
-DISTFILES+=	${ERLANG_DOCS}:erlangorg
-.endif
-
-# See http://wiki.freebsd.org/DTrace to learn how to enable DTrace
-# on your system. You will need to configure STRIP, WITH_CTF and
-# CFLAGS in your make.conf before building.
-
 # If you run Erlang and get a message resembling "WARNING: number of
 # probes fixed does not match the number of defined probes (54 != 132,
 # respectively)" you probably misconfigured DTrace in some way.
 
-.if ${PORT_OPTIONS:MGCC}
-USE_GCC?=	yes
-.endif
+DTRACE_CFLAGS=		-fno-omit-frame-pointer
+DTRACE_CONFIGURE_WITH=	dynamic-trace=dtrace
+DTRACE_VARS=		STRIP=""
+GS_USES=		tk:run
+HIPE_CONFIGURE_ENABLE=	hipe
+JAVA_CONFIGURE_ENV=	ac_cv_prog_JAVAC="${JAVAC}"
+JAVA_CONFIGURE_WITH=	javac
+JAVA_VARS=		USE_JAVA=yes
+KQUEUE_CONFIGURE_ENABLE=kernel-poll
+ODBC_CONFIGURE_WITH=	odbc
+ODBC_LIB_DEPENDS=	libodbc.so:databases/unixODBC
+OPENSSL_CONFIGURE_WITH=	ssl=${OPENSSLBASE}
+OPENSSL_USES=		ssl
+SCTP_CONFIGURE_ENABLE=	sctp
+SMP_CONFIGURE_ENABLE=	smp-support
+THREADS_CONFIGURE_ENABLE=	threads
+WX_CONFIGURE_WITH=	wx-config=${WX_CONFIG}
+WX_VARS=		USE_WX=2.8+ WX_COMPS="wx contrib" USE_GL="gl glu"
 
-.if ${PORT_OPTIONS:MDTRACE}
-CONFIGURE_ARGS+=--with-dynamic-trace=dtrace
-.else
-CONFIGURE_ARGS+=--without-dynamic-trace
-.endif
+.include <bsd.port.options.mk>
 
-.if ${PORT_OPTIONS:MOPENSSL}
-USES+=		ssl
-CONFIGURE_ARGS+=--with-ssl=${OPENSSLBASE}
-.else
-CONFIGURE_ARGS+=--without-ssl
+.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1100000
+CFLAGS+=	-DMAP_NORESERVE=0
 .endif
 
-.if ${PORT_OPTIONS:MJAVA}
-USE_JAVA=	yes
-CONFIGURE_ARGS+=--with-javac
-CONFIGURE_ENV+=	ac_cv_prog_JAVAC="${JAVAC}"
-.else
-CONFIGURE_ARGS+=--without-javac
-.endif
-
-.if ${PORT_OPTIONS:MHIPE}
-CONFIGURE_ARGS+=--enable-hipe
-.else
-CONFIGURE_ARGS+=--disable-hipe
-.endif
-
-.if ${PORT_OPTIONS:MKQUEUE}
-CONFIGURE_ARGS+=--enable-kernel-poll
-.else
-CONFIGURE_ARGS+=--disable-kernel-poll
-.endif
-
-.if ${PORT_OPTIONS:MGS}
-USES+=		tk:run
-.endif
-
-.if ${PORT_OPTIONS:MWX}
-USE_WX=		2.8+
-WX_COMPS=	wx contrib
-CONFIGURE_ARGS+=--with-wx-config=${WX_CONFIG}
-.endif
-
-.if ${PORT_OPTIONS:MODBC}
-CONFIGURE_ARGS+=--with-odbc
-LIB_DEPENDS+=	libodbc.so:databases/unixODBC
-.else
-CONFIGURE_ARGS+=--without-odbc
-.endif
-
-ERLANG_MAN=	otp_doc_man_${ERL_RELEASE}.tar.gz
-ERLANG_DOCS=	otp_doc_html_${ERL_RELEASE}.tar.gz
-
-.if ${PORT_OPTIONS:MTHREADS}
-CONFIGURE_ARGS+=--enable-threads
-.else
-CONFIGURE_ARGS+=--disable-threads
-.endif
-
-.if ${PORT_OPTIONS:MSCTP}
-CONFIGURE_ARGS+=--enable-sctp
-.else
-CONFIGURE_ARGS+=--disable-sctp
-.endif
-
-# enabling --enable-smp-support crashes the OS when
-# net_kernel:start([node_name, shortnames]) invoked repeatedly
-# TODO verify if it still applies
-
-.if ${PORT_OPTIONS:MSMP}
-CONFIGURE_ARGS+=--enable-smp-support
-.else
-CONFIGURE_ARGS+=--disable-smp-support
-.endif
-
 .if ${ARCH} == i386
 MAKE_ARGS+=	ARCH=x86
 .endif
 
-# The man-pages are put (in spite of FreeBSD's port convention) in a private
-# subdir. This is to avoid cluttering up the man page name space. Also the
-# Erlang man pages are more of internal documentation using the man format than
-# actual system man pages. (erl.1 and epmd.1 perhaps being the exception).
-
-# Install documentation. (HTML docs need to be in same dir as the
-# rest, not in share/doc/erlang as it should, because of relative
-# links in the documentation.
-
-pre-configure:
-.if ${PORT_OPTIONS:MDTRACE}
-	@if ! /sbin/kldstat | ${GREP} dtraceall >/dev/null 2>&1; then \
-		${ECHO_CMD}; \
-		${ECHO_CMD} "DTRACE option requires kernel module \"dtraceall\" to be loaded."; \
-		${ECHO_CMD}; \
-		exit 1; \
-	fi
+.if ${ARCH} == armv6 || ${ARCH} == armv7
+MAKE_ARGS+=	ARCH=arm
 .endif
-.if ! ${PORT_OPTIONS:MWX}
+
+pre-configure-MX-off:
 	echo "disabled by port options" > ${WRKSRC}/lib/wx/SKIP
-.endif
 
-post-install:
-	for SECTION in 1 3 4 6; do \
-		${TAR} --unlink -xzpf ${DISTDIR}/${DIST_SUBDIR}/${ERLANG_MAN} \
-			-C ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB} \
-			"man/man$${SECTION}/*.$${SECTION}" || ${TRUE}; \
-	done
-	${RM} -r ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/man/cat?
-.if ${PORT_OPTIONS:MDOCS}
-	${TAR} --unlink -xzpf ${DISTDIR}/${DIST_SUBDIR}/${ERLANG_DOCS} \
-		-C ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}
+post-configure-ODBC-on:
+	${RM} ${WRKSRC}/lib/odbc/SKIP
 
-	${INSTALL_DATA} ${WRKSRC}/lib/dialyzer/doc/*.txt \
-		${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/lib/dialyzer-*/doc/
-.endif
-.if ! ${PORT_OPTIONS:MGS}
+post-install-GS-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/gs-*
-.endif
-.if ! ${PORT_OPTIONS:MJAVA}
+
+post-install-JAVA-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/jinterface-*
-.endif
-.if ! ${PORT_OPTIONS:MODBC}
+
+post-install-ODBC-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/odbc-*
-.endif
-.if ! ${PORT_OPTIONS:MOPENSSL}
+
+post-install-OPENSSL-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/crypto-*
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssh-*
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssl-*
-.endif
-.if ! ${PORT_OPTIONS:MWX}
+
+post-install-WX-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/wx-*
-.endif
-	${FIND} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete
 
+post-stage:
+	${FIND} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete
 	@cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type f -o -type l \
-		| ${SORT} \
-		>> ${TMPPLIST}
+		| ${SORT} >> ${TMPPLIST}
 
 .include <bsd.port.mk>

Modified: head/lang/erlang-runtime15/distinfo
==============================================================================
--- head/lang/erlang-runtime15/distinfo	Tue Apr 10 15:02:29 2018	(r466966)
+++ head/lang/erlang-runtime15/distinfo	Tue Apr 10 15:19:56 2018	(r466967)
@@ -1,18 +1,3 @@
+TIMESTAMP = 1523228884
 SHA256 (erlang/otp_src_R15B03-1.tar.gz) = 4bccac86dd76aec050252e44276a0283a0df9218e6470cf042a9b9f9dfc9476c
 SIZE (erlang/otp_src_R15B03-1.tar.gz) = 76123810
-SHA256 (erlang/otp_doc_man_R15B03-1.tar.gz) = 07980d8014c7cf8194b7078c137353f5083992add4663ced3dcba2ff91f228d8
-SIZE (erlang/otp_doc_man_R15B03-1.tar.gz) = 1305001
-SHA256 (erlang/otp_doc_html_R15B03-1.tar.gz) = d06f580f11d1303217a5c1cf8d68a98d7e01c535be934dcd430ecdc254f7572e
-SIZE (erlang/otp_doc_html_R15B03-1.tar.gz) = 30436303
-SHA256 (erlang/armstrong_thesis_2003.pdf) = da585b914eb07350e2d6f727db5eb0fb1551f49fc1270f7d4dc079f2c8c1ab7a
-SIZE (erlang/armstrong_thesis_2003.pdf) = 859249
-SHA256 (erlang/bjarnelic.pdf) = 9544d4af5cea324e5c9cf77e670d9561ad61ddc240cdb5c2afecebc0a3d7429b
-SIZE (erlang/bjarnelic.pdf) = 488043
-SHA256 (erlang/erlang-book-part1.pdf) = ef2fb9d15d35f3b1b602c8578e48618597477f9cfab2d103dc2e22372c46ca0a
-SIZE (erlang/erlang-book-part1.pdf) = 883639
-SHA256 (erlang/master_thesis_patterns.pdf) = b390fd59060fb944c78bceed781c7ad3795d4f9fbe86d391bccc479828552b43
-SIZE (erlang/master_thesis_patterns.pdf) = 422457
-SHA256 (erlang/mnesia_overview.pdf) = f07f9edd4ba865a1c50647dd6fa4a8f49277f8f3bef4d521c06fd90293717032
-SIZE (erlang/mnesia_overview.pdf) = 150266
-SHA256 (erlang/programming_rules.pdf) = b95f8851004832b044e064c12976a422613ece897e98308a27ee8b66738b4502
-SIZE (erlang/programming_rules.pdf) = 77025

Modified: head/lang/erlang-runtime16/Makefile
==============================================================================
--- head/lang/erlang-runtime16/Makefile	Tue Apr 10 15:02:29 2018	(r466966)
+++ head/lang/erlang-runtime16/Makefile	Tue Apr 10 15:19:56 2018	(r466967)
@@ -3,33 +3,35 @@
 
 PORTNAME=	erlang
 PORTVERSION=	16.b.03.1
-PORTREVISION=	12
+PORTREVISION=	13
 CATEGORIES=	lang parallel java
-MASTER_SITES=	http://www.erlang.org/download/:erlangorg		\
-		http://erlang.stacken.kth.se/download/:erlangorg	\
-		http://www.csd.uu.se/ftp/mirror/erlang/download/:erlangorg
+MASTER_SITES=	http://www.erlang.org/download/:erlangorg			\
+		http://erlang.stacken.kth.se/download/:erlangorg		\
+		http://www.csd.uu.se/ftp/mirror/erlang/download/:erlangorg	\
+		http://olgeni.olgeni.com/~olgeni/distfiles/:local		\
+		LOCAL/olgeni:local
 PKGNAMESUFFIX=	-runtime16
-DISTNAME=	otp_src_${ERL_RELEASE}
-DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:erlangorg	\
-		${ERLANG_MAN}:erlangorg
+DISTNAME=	otp_src_${ERLANG_REL}
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:erlangorg
 DIST_SUBDIR=	erlang
 EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
 MAINTAINER=	olgeni@FreeBSD.org
 COMMENT=	Functional programming language from Ericsson
 
-WRKSRC=		${WRKDIR}/otp_src_${ERL_RELEASE}
+WRKSRC=		${WRKDIR}/otp_src_${ERLANG_REL}
 
 ERLANG_LIB=	${PORTNAME}${PORTVERSION:C/\..*//}
+ERLANG_REL=	R${PORTVERSION:S/.//g:tu:S/1$/-1/}
 
 SUB_FILES=	pkg-message
 SUB_LIST=	ERLANG_LIB=${ERLANG_LIB}
 
 MAKE_JOBS_UNSAFE=yes
 
-OPTIONS_DEFINE=	DOCS DTRACE GCC GS HIPE JAVA KQUEUE ODBC OPENSSL SCTP SMP THREADS WX
+OPTIONS_DEFINE=	DTRACE GS HIPE JAVA KQUEUE ODBC OPENSSL SCTP SMP THREADS WX
+OPTIONS_DEFAULT=KQUEUE OPENSSL SCTP SMP THREADS
 
-DTRACE_DESC=	Enable DTrace support
 GS_DESC=	Enable GS application (deprecated)
 HIPE_DESC=	Build native HiPE compiler
 KQUEUE_DESC=	Enable Kernel Poll (kqueue) support
@@ -37,175 +39,81 @@ SCTP_DESC=	Enable SCTP support
 SMP_DESC=	Enable SMP support
 WX_DESC=	Enable WX application
 
-OPTIONS_DEFAULT=KQUEUE OPENSSL SCTP SMP THREADS
+.if !exists(/usr/sbin/dtrace)
+OPTIONS_EXCLUDE+=	DTRACE
+.endif
+
 OPTIONS_EXCLUDE_DragonFly=	HIPE SCTP
+OPTIONS_EXCLUDE_FreeBSD_10=	DTRACE
 
-ERL_RELEASE=	R${PORTVERSION:S/.//g:tu:S/1$/-1/}
-
-USES=		gmake ncurses perl5
-USE_PERL5=	build
 GNU_CONFIGURE=	yes
 LDFLAGS+=	-L${LOCALBASE}/lib
+USES=		gmake ncurses perl5
+USE_PERL5=	build
 
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MDOCS}
-DISTFILES+=	${ERLANG_DOCS}:erlangorg
-.endif
-
-# See http://wiki.freebsd.org/DTrace to learn how to enable DTrace
-# on your system. You will need to configure STRIP, WITH_CTF and
-# CFLAGS in your make.conf before building.
-
 # If you run Erlang and get a message resembling "WARNING: number of
 # probes fixed does not match the number of defined probes (54 != 132,
 # respectively)" you probably misconfigured DTrace in some way.
 
-.if ${PORT_OPTIONS:MGCC}
-USE_GCC?=	yes
-.endif
+DTRACE_CFLAGS=		-fno-omit-frame-pointer
+DTRACE_CONFIGURE_WITH=	dynamic-trace=dtrace
+DTRACE_VARS=		STRIP=""
+GS_USES=		tk:run
+HIPE_CONFIGURE_ENABLE=	hipe
+JAVA_CONFIGURE_ENV=	ac_cv_prog_JAVAC="${JAVAC}"
+JAVA_CONFIGURE_WITH=	javac
+JAVA_VARS=		USE_JAVA=yes
+KQUEUE_CONFIGURE_ENABLE=kernel-poll
+ODBC_CONFIGURE_WITH=	odbc
+ODBC_LIB_DEPENDS=	libodbc.so:databases/unixODBC
+OPENSSL_CONFIGURE_WITH=	ssl=${OPENSSLBASE}
+OPENSSL_USES=		ssl
+SCTP_CONFIGURE_ENABLE=	sctp
+SMP_CONFIGURE_ENABLE=	smp-support
+THREADS_CONFIGURE_ENABLE=	threads
+WX_CONFIGURE_WITH=	wx-config=${WX_CONFIG}
+WX_VARS=		USE_WX=2.8+ WX_COMPS="wx contrib" USE_GL="gl glu"
 
-.if ${PORT_OPTIONS:MDTRACE}
-CONFIGURE_ARGS+=--with-dynamic-trace=dtrace
-.else
-CONFIGURE_ARGS+=--without-dynamic-trace
-.endif
+.include <bsd.port.options.mk>
 
-.if ${PORT_OPTIONS:MOPENSSL}
-USES+=		ssl
-CONFIGURE_ARGS+=--with-ssl=${OPENSSLBASE}
-.else
-CONFIGURE_ARGS+=--without-ssl
+.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1100000
+CFLAGS+=	-DMAP_NORESERVE=0
 .endif
 
-.if ${PORT_OPTIONS:MJAVA}
-USE_JAVA=	yes
-CONFIGURE_ARGS+=--with-javac
-CONFIGURE_ENV+=	ac_cv_prog_JAVAC="${JAVAC}"
-.else
-CONFIGURE_ARGS+=--without-javac
-.endif
-
-.if ${PORT_OPTIONS:MHIPE}
-CONFIGURE_ARGS+=--enable-hipe
-.else
-CONFIGURE_ARGS+=--disable-hipe
-.endif
-
-.if ${PORT_OPTIONS:MKQUEUE}
-CONFIGURE_ARGS+=--enable-kernel-poll
-.else
-CONFIGURE_ARGS+=--disable-kernel-poll
-.endif
-
-.if ${PORT_OPTIONS:MGS}
-USES+=		tk:run
-.endif
-
-.if ${PORT_OPTIONS:MWX}
-USE_WX=		2.8+
-WX_COMPS=	wx contrib
-CONFIGURE_ARGS+=--with-wx-config=${WX_CONFIG}
-.endif
-
-.if ${PORT_OPTIONS:MODBC}
-CONFIGURE_ARGS+=--with-odbc
-LIB_DEPENDS+=	libodbc.so:databases/unixODBC
-.else
-CONFIGURE_ARGS+=--without-odbc
-.endif
-
-ERLANG_MAN=	otp_doc_man_${ERL_RELEASE}.tar.gz
-ERLANG_DOCS=	otp_doc_html_${ERL_RELEASE}.tar.gz
-
-.if ${PORT_OPTIONS:MTHREADS}
-CONFIGURE_ARGS+=--enable-threads
-.else
-CONFIGURE_ARGS+=--disable-threads
-.endif
-
-.if ${PORT_OPTIONS:MSCTP}
-CONFIGURE_ARGS+=--enable-sctp
-.else
-CONFIGURE_ARGS+=--disable-sctp
-.endif
-
-# enabling --enable-smp-support crashes the OS when
-# net_kernel:start([node_name, shortnames]) invoked repeatedly
-# TODO verify if it still applies
-
-.if ${PORT_OPTIONS:MSMP}
-CONFIGURE_ARGS+=--enable-smp-support
-.else
-CONFIGURE_ARGS+=--disable-smp-support
-.endif
-
 .if ${ARCH} == i386
 MAKE_ARGS+=	ARCH=x86
 .endif
 
-# The man-pages are put (in spite of FreeBSD's port convention) in a private
-# subdir. This is to avoid cluttering up the man page name space. Also the
-# Erlang man pages are more of internal documentation using the man format than
-# actual system man pages. (erl.1 and epmd.1 perhaps being the exception).
-
-# Install documentation. (HTML docs need to be in same dir as the
-# rest, not in share/doc/erlang as it should, because of relative
-# links in the documentation.
-
-pre-configure:
-.if ${PORT_OPTIONS:MDTRACE}
-	@if ! /sbin/kldstat | ${GREP} dtraceall >/dev/null 2>&1; then \
-		${ECHO_CMD}; \
-		${ECHO_CMD} "DTRACE option requires kernel module \"dtraceall\" to be loaded."; \
-		${ECHO_CMD}; \
-		exit 1; \
-	fi
+.if ${ARCH} == armv6 || ${ARCH} == armv7
+MAKE_ARGS+=	ARCH=arm
 .endif
-.if ! ${PORT_OPTIONS:MWX}
+
+pre-configure-MX-off:
 	echo "disabled by port options" > ${WRKSRC}/lib/wx/SKIP
-.endif
 
-post-configure:
-.if ${PORT_OPTIONS:MODBC}
+post-configure-ODBC-on:
 	${RM} ${WRKSRC}/lib/odbc/SKIP
-.endif
 
-post-install:
-	for SECTION in 1 3 4 6 7; do \
-		${TAR} --unlink -xzpf ${DISTDIR}/${DIST_SUBDIR}/${ERLANG_MAN} \
-			-C ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB} \
-			"man/man$${SECTION}/*.$${SECTION}" || ${TRUE}; \
-	done
-	${RM} -r ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/man/cat?
-.if ${PORT_OPTIONS:MDOCS}
-	${TAR} --unlink -xzpf ${DISTDIR}/${DIST_SUBDIR}/${ERLANG_DOCS} \
-		-C ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}
-
-	${INSTALL_DATA} ${WRKSRC}/lib/dialyzer/doc/*.txt \
-		${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/lib/dialyzer-*/doc/
-.endif
-.if ! ${PORT_OPTIONS:MGS}
+post-install-GS-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/gs-*
-.endif
-.if ! ${PORT_OPTIONS:MJAVA}
+
+post-install-JAVA-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/jinterface-*
-.endif
-.if ! ${PORT_OPTIONS:MODBC}
+
+post-install-ODBC-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/odbc-*
-.endif
-.if ! ${PORT_OPTIONS:MOPENSSL}
+
+post-install-OPENSSL-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/crypto-*
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssh-*
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssl-*
-.endif
-.if ! ${PORT_OPTIONS:MWX}
+
+post-install-WX-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/wx-*
-.endif
-	${FIND} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete
 
+post-stage:
+	${FIND} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete
 	@cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type f -o -type l \
-		| ${SORT} \
-		>> ${TMPPLIST}
+		| ${SORT} >> ${TMPPLIST}
 
 .include <bsd.port.mk>

Modified: head/lang/erlang-runtime16/distinfo
==============================================================================
--- head/lang/erlang-runtime16/distinfo	Tue Apr 10 15:02:29 2018	(r466966)
+++ head/lang/erlang-runtime16/distinfo	Tue Apr 10 15:19:56 2018	(r466967)
@@ -1,6 +1,3 @@
+TIMESTAMP = 1523227942
 SHA256 (erlang/otp_src_R16B03-1.tar.gz) = 17ce53459bc5ceb34fc2da412e15ac8c23835a15fbd84e62c8d1852704747ee7
 SIZE (erlang/otp_src_R16B03-1.tar.gz) = 66253556
-SHA256 (erlang/otp_doc_man_R16B03-1.tar.gz) = 0f31bc7d7215aa4b6834b1a565cd7d6e3173e3b392fb870254bae5136499c39d
-SIZE (erlang/otp_doc_man_R16B03-1.tar.gz) = 1322516
-SHA256 (erlang/otp_doc_html_R16B03-1.tar.gz) = 5381d4ffe654e3e943f004e2b91870bd83f0e46e261bb405c1cdf7de81bc0507
-SIZE (erlang/otp_doc_html_R16B03-1.tar.gz) = 33294165

Modified: head/lang/erlang-runtime17/Makefile
==============================================================================
--- head/lang/erlang-runtime17/Makefile	Tue Apr 10 15:02:29 2018	(r466966)
+++ head/lang/erlang-runtime17/Makefile	Tue Apr 10 15:19:56 2018	(r466967)
@@ -3,15 +3,17 @@
 
 PORTNAME=	erlang
 PORTVERSION=	17.5.6.9
-PORTREVISION=	7
+PORTREVISION=	8
 CATEGORIES=	lang parallel java
-MASTER_SITES=	http://www.erlang.org/download/:erlangorg		\
-		http://erlang.stacken.kth.se/download/:erlangorg	\
-		http://www.csd.uu.se/ftp/mirror/erlang/download/:erlangorg
+MASTER_SITES=	http://www.erlang.org/download/:erlangorg			\
+		http://erlang.stacken.kth.se/download/:erlangorg		\
+		http://www.csd.uu.se/ftp/mirror/erlang/download/:erlangorg	\
+		http://olgeni.olgeni.com/~olgeni/distfiles/:local		\
+		LOCAL/olgeni:local
 PKGNAMESUFFIX=	-runtime17
-DISTNAME=	otp_src_${ERL_RELEASE}
-DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:erlangorg	\
-		${ERLANG_MAN}:erlangorg
+DISTNAME=	otp_src_${ERLANG_REL}
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:erlangorg		\
+		preloaded-${PORTVERSION}${EXTRACT_SUFX}:local
 DIST_SUBDIR=	erlang
 EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
@@ -26,145 +28,81 @@ PATCHFILES=	patch-otp-17.5.1 patch-otp-17.5.2 patch-ot
 MAINTAINER=	olgeni@FreeBSD.org
 COMMENT=	Functional programming language from Ericsson
 
-WRKSRC=		${WRKDIR}/otp_src_${ERL_RELEASE}
+WRKSRC=		${WRKDIR}/otp_src_${ERLANG_REL}
 
 ERLANG_LIB=	${PORTNAME}${PORTVERSION:C/\..*//}
+ERLANG_REL=	17.5
 
+OPTIONS_SUB=	yes
 SUB_FILES=	pkg-message
 SUB_LIST=	ERLANG_LIB=${ERLANG_LIB}
 
 MAKE_JOBS_UNSAFE=yes
 
-OPTIONS_DEFINE=	DOCS DTRACE GCC GS HIPE JAVA KQUEUE ODBC OPENSSL SCTP SMP THREADS WX DIRTY
+OPTIONS_DEFINE=	DIRTY DTRACE GS HIPE JAVA KQUEUE NATIVE ODBC OPENSSL SCTP SMP THREADS WX
+OPTIONS_DEFAULT=DTRACE HIPE KQUEUE OPENSSL SCTP SMP THREADS
 
 DIRTY_DESC=	Enable Dirty schedulers (experimental)
-DTRACE_DESC=	Enable DTrace support
 GS_DESC=	Enable GS application (deprecated)
 HIPE_DESC=	Build native HiPE compiler
 KQUEUE_DESC=	Enable Kernel Poll (kqueue) support
+NATIVE_DESC=	Enable native libraries
 SCTP_DESC=	Enable SCTP support
 SMP_DESC=	Enable SMP support
 WX_DESC=	Enable WX application
 
-OPTIONS_DEFAULT=KQUEUE OPENSSL SCTP SMP THREADS
-OPTIONS_EXCLUDE_DragonFly=	HIPE SCTP
+NATIVE_IMPLIES=	HIPE
 
-ERL_RELEASE=	17.5
+.if !exists(/usr/sbin/dtrace)
+OPTIONS_EXCLUDE+=	DTRACE
+.endif
 
-USES=		gmake ncurses perl5
-USE_PERL5=	build
+OPTIONS_EXCLUDE_DragonFly=	HIPE NATIVE SCTP
+OPTIONS_EXCLUDE_FreeBSD_10=	DTRACE
+# ld(1) fails to link probes: missing __dtrace_erlang___* symbols
+OPTIONS_EXCLUDE_aarch64=	DTRACE
+OPTIONS_EXCLUDE_armv6=		DTRACE
+OPTIONS_EXCLUDE_armv7=		DTRACE
+OPTIONS_EXCLUDE_i386=		DTRACE
+
+OPENSSL_VARS=	BROKEN_SSL=openssl-devel
+
 GNU_CONFIGURE=	yes
 LDFLAGS+=	-L${LOCALBASE}/lib
+USES=		gmake ncurses perl5
+USE_PERL5=	build
 
-APP_UPGRADE=	erts                 6.4  6.4.1.6 \
-		lib/common_test     1.10   1.10.1 \
-		lib/debugger       4.0.3  4.0.3.1 \
-		lib/diameter         1.9  1.9.2.4 \
-		lib/inets         5.10.6   5.10.9 \
-		lib/kernel           3.2  3.2.0.1 \
-		lib/runtime_tools 1.8.16 1.8.16.1 \
-		lib/snmp           5.1.1    5.1.2 \
-		lib/ssh              3.2    3.2.4 \
-		lib/ssl              6.0  6.0.1.2 \
-		lib/test_server      3.8    3.8.1
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MDOCS}
-DISTFILES+=	${ERLANG_DOCS}:erlangorg
-.endif
-
-# See http://wiki.freebsd.org/DTrace to learn how to enable DTrace
-# on your system. You will need to configure STRIP, WITH_CTF and
-# CFLAGS in your make.conf before building.
-
 # If you run Erlang and get a message resembling "WARNING: number of
 # probes fixed does not match the number of defined probes (54 != 132,
 # respectively)" you probably misconfigured DTrace in some way.
 
-.if ${PORT_OPTIONS:MGCC}
-USE_GCC?=	yes
-.endif
+DIRTY_CONFIGURE_ENABLE=	dirty-schedulers
+DTRACE_CFLAGS=		-fno-omit-frame-pointer
+DTRACE_CONFIGURE_WITH=	dynamic-trace=dtrace
+DTRACE_VARS=		STRIP=""
+GS_USES=		tk:run
+HIPE_CONFIGURE_ENABLE=	hipe
+JAVA_CONFIGURE_ENV=	ac_cv_prog_JAVAC="${JAVAC}"
+JAVA_CONFIGURE_WITH=	javac
+JAVA_VARS=		USE_JAVA=yes
+KQUEUE_CONFIGURE_ENABLE=kernel-poll
+NATIVE_CONFIGURE_ENABLE=native-libs
+ODBC_CONFIGURE_WITH=	odbc
+ODBC_LIB_DEPENDS=	libodbc.so:databases/unixODBC
+OPENSSL_CONFIGURE_WITH=	ssl=${OPENSSLBASE}
+OPENSSL_USES=		ssl
+SCTP_CONFIGURE_ENABLE=	sctp
+SMP_CONFIGURE_ENABLE=	smp-support
+THREADS_CONFIGURE_ENABLE=	threads
+WX_CONFIGURE_WITH=	wx-config=${WX_CONFIG}
+WX_VARS=		USE_WX=2.8+ WX_COMPS="wx contrib" USE_GL="gl glu"
 
-.if ${PORT_OPTIONS:MDTRACE}
-CONFIGURE_ARGS+=--with-dynamic-trace=dtrace
-.else
-CONFIGURE_ARGS+=--without-dynamic-trace
-.endif
+.include <bsd.port.options.mk>
 
-.if ${PORT_OPTIONS:MOPENSSL}
-USES+=		ssl
-CONFIGURE_ARGS+=--with-ssl=${OPENSSLBASE}
-.else
-CONFIGURE_ARGS+=--without-ssl
+.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1100000
+CFLAGS+=	-DMAP_NORESERVE=0
 .endif
 
-.if ${PORT_OPTIONS:MJAVA}
-USE_JAVA=	yes
-CONFIGURE_ARGS+=--with-javac
-CONFIGURE_ENV+=	ac_cv_prog_JAVAC="${JAVAC}"
-.else
-CONFIGURE_ARGS+=--without-javac
-.endif
-
-.if ${PORT_OPTIONS:MHIPE}
-CONFIGURE_ARGS+=--enable-hipe
-.else
-CONFIGURE_ARGS+=--disable-hipe
-.endif
-
-.if ${PORT_OPTIONS:MKQUEUE}
-CONFIGURE_ARGS+=--enable-kernel-poll
-.else
-CONFIGURE_ARGS+=--disable-kernel-poll
-.endif
-
-.if ${PORT_OPTIONS:MGS}
-USES+=		tk:run
-.endif
-
-.if ${PORT_OPTIONS:MWX}
-USE_WX=		2.8+
-WX_COMPS=	wx contrib
-CONFIGURE_ARGS+=--with-wx-config=${WX_CONFIG}
-.endif
-
-.if ${PORT_OPTIONS:MODBC}
-CONFIGURE_ARGS+=--with-odbc
-LIB_DEPENDS+=	libodbc.so:databases/unixODBC
-.else
-CONFIGURE_ARGS+=--without-odbc
-.endif
-
-ERLANG_MAN=	otp_doc_man_${ERL_RELEASE}.tar.gz
-ERLANG_DOCS=	otp_doc_html_${ERL_RELEASE}.tar.gz
-
-.if ${PORT_OPTIONS:MTHREADS}
-CONFIGURE_ARGS+=--enable-threads
-.else
-CONFIGURE_ARGS+=--disable-threads
-.endif
-
-.if ${PORT_OPTIONS:MSCTP}
-CONFIGURE_ARGS+=--enable-sctp
-.else
-CONFIGURE_ARGS+=--disable-sctp
-.endif
-
-# enabling --enable-smp-support crashes the OS when
-# net_kernel:start([node_name, shortnames]) invoked repeatedly
-# TODO verify if it still applies
-
-.if ${PORT_OPTIONS:MSMP}
-CONFIGURE_ARGS+=--enable-smp-support
-.else
-CONFIGURE_ARGS+=--disable-smp-support
-.endif
-
-.if ${PORT_OPTIONS:MDIRTY}
-CONFIGURE_ARGS+=--enable-dirty-schedulers
-.endif
-
 .if ${ARCH} == i386
 MAKE_ARGS+=	ARCH=x86
 .endif
@@ -173,72 +111,38 @@ MAKE_ARGS+=	ARCH=x86
 MAKE_ARGS+=	ARCH=arm
 .endif
 
-# The man-pages are put (in spite of FreeBSD's port convention) in a private
-# subdir. This is to avoid cluttering up the man page name space. Also the
-# Erlang man pages are more of internal documentation using the man format than
-# actual system man pages. (erl.1 and epmd.1 perhaps being the exception).
-
-# Install documentation. (HTML docs need to be in same dir as the
-# rest, not in share/doc/erlang as it should, because of relative
-# links in the documentation.
-
 pre-configure:
-.if ${PORT_OPTIONS:MDTRACE}
-	@if ! /sbin/kldstat | ${GREP} dtraceall >/dev/null 2>&1; then \
-		${ECHO_CMD}; \
-		${ECHO_CMD} "DTRACE option requires kernel module \"dtraceall\" to be loaded."; \
-		${ECHO_CMD}; \
-		exit 1; \
-	fi
-.endif
-.if ! ${PORT_OPTIONS:MWX}
+	cd ${WRKSRC} && ${TAR} --unlink -xzpf ${DISTDIR}/${DIST_SUBDIR}/preloaded-${PORTVERSION}${EXTRACT_SUFX}
+
+pre-configure-MX-off:
 	echo "disabled by port options" > ${WRKSRC}/lib/wx/SKIP
-.endif
 
-post-configure:
-.if ${PORT_OPTIONS:MODBC}
+post-configure-ODBC-on:
 	${RM} ${WRKSRC}/lib/odbc/SKIP
-.endif
 
-post-install:
-	for SECTION in 1 3 4 6 7; do \
-		${TAR} --unlink -xzpf ${DISTDIR}/${DIST_SUBDIR}/${ERLANG_MAN} \
-			-C ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB} \
-			"man/man$${SECTION}/*.$${SECTION}" || ${TRUE}; \
-	done
-	${RM} -r ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/man/cat?
-.if ${PORT_OPTIONS:MDOCS}
-	${TAR} --unlink -xzpf ${DISTDIR}/${DIST_SUBDIR}/${ERLANG_DOCS} \
-		-C ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}
-.for app v1 v2 in ${APP_UPGRADE}
-	${MV} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/${app}-${v1}/* \
-		${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/${app}-${v2}
-	${RMDIR} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/${app}-${v1}
-.endfor
-	${INSTALL_DATA} ${WRKSRC}/lib/dialyzer/doc/*.txt \
-		${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/lib/dialyzer-*/doc/
-.endif
-.if ! ${PORT_OPTIONS:MGS}
+pre-build-NATIVE-on:
+	@cd ${WRKSRC} && ${MAKE_CMD} clean
+
+post-install-GS-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/gs-*
-.endif
-.if ! ${PORT_OPTIONS:MJAVA}
+
+post-install-JAVA-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/jinterface-*
-.endif
-.if ! ${PORT_OPTIONS:MODBC}
+
+post-install-ODBC-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/odbc-*
-.endif
-.if ! ${PORT_OPTIONS:MOPENSSL}
+
+post-install-OPENSSL-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/crypto-*
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssh-*
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/ssl-*
-.endif
-.if ! ${PORT_OPTIONS:MWX}
+
+post-install-WX-off:
 	${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/wx-*
-.endif
-	${FIND} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete
 
+post-stage:
+	${FIND} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete
 	@cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* -type f -o -type l \
-		| ${SORT} \
-		>> ${TMPPLIST}
+		| ${SORT} >> ${TMPPLIST}
 
 .include <bsd.port.mk>

Modified: head/lang/erlang-runtime17/distinfo
==============================================================================
--- head/lang/erlang-runtime17/distinfo	Tue Apr 10 15:02:29 2018	(r466966)
+++ head/lang/erlang-runtime17/distinfo	Tue Apr 10 15:19:56 2018	(r466967)
@@ -1,9 +1,8 @@
+TIMESTAMP = 1523196156
 SHA256 (erlang/otp_src_17.5.tar.gz) = 3c28820c981b30c50df8ac2a4a238e5813454fa3ed2ad530bc7948a282846474
 SIZE (erlang/otp_src_17.5.tar.gz) = 67242289
-SHA256 (erlang/otp_doc_man_17.5.tar.gz) = 85b1b2a1011fc01af550f1fe9e5a599a4c5f2a35d264d2804af1d05590a857c3
-SIZE (erlang/otp_doc_man_17.5.tar.gz) = 1363320
-SHA256 (erlang/otp_doc_html_17.5.tar.gz) = baba1d373c1faacf4a1a6ec1220d57d0cb2b977edb74f32cd58dc786361c6cf5
-SIZE (erlang/otp_doc_html_17.5.tar.gz) = 33510258
+SHA256 (erlang/preloaded-17.5.6.9.tar.gz) = 7997454f61ddbc3c090403899b2848519018b69f2c4853035149aece1a3f8937
+SIZE (erlang/preloaded-17.5.6.9.tar.gz) = 297377
 SHA256 (erlang/patch-otp-17.5.1) = e95b17b539b84b2408cbdd8af68ea96ad239a1b38117243d21ebb809ab3ca1c3
 SIZE (erlang/patch-otp-17.5.1) = 36012
 SHA256 (erlang/patch-otp-17.5.2) = 9c70e90c3b040ab1e136738f355f0925f64afd5a4b28f1c9a6f4035f2bf03b1b

Modified: head/lang/erlang-runtime18/Makefile
==============================================================================
--- head/lang/erlang-runtime18/Makefile	Tue Apr 10 15:02:29 2018	(r466966)
+++ head/lang/erlang-runtime18/Makefile	Tue Apr 10 15:19:56 2018	(r466967)
@@ -3,14 +3,17 @@
 
 PORTNAME=	erlang
 PORTVERSION=	18.3.4.8
+PORTREVISION=	1
 CATEGORIES=	lang parallel java
-MASTER_SITES=	http://www.erlang.org/download/:erlangorg		\
-		http://erlang.stacken.kth.se/download/:erlangorg	\
-		http://www.csd.uu.se/ftp/mirror/erlang/download/:erlangorg
+MASTER_SITES=	http://www.erlang.org/download/:erlangorg			\
+		http://erlang.stacken.kth.se/download/:erlangorg		\
+		http://www.csd.uu.se/ftp/mirror/erlang/download/:erlangorg	\
+		http://olgeni.olgeni.com/~olgeni/distfiles/:local		\
+		LOCAL/olgeni:local
 PKGNAMESUFFIX=	-runtime18
-DISTNAME=	otp_src_${ERL_RELEASE}
-DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:erlangorg	\
-		${ERLANG_MAN}:erlangorg
+DISTNAME=	otp_src_${ERLANG_REL}
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:erlangorg		\
+		preloaded-${PORTVERSION}${EXTRACT_SUFX}:local
 DIST_SUBDIR=	erlang
 EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
@@ -26,141 +29,81 @@ COMMENT=	Functional programming language from Ericsson
 
 LICENSE=	APACHE20
 
-WRKSRC=		${WRKDIR}/otp_src_${ERL_RELEASE}
+WRKSRC=		${WRKDIR}/otp_src_${ERLANG_REL}
 
 ERLANG_LIB=	${PORTNAME}${PORTVERSION:C/\..*//}
+ERLANG_REL=	18.3
 
+OPTIONS_SUB=	yes
 SUB_FILES=	pkg-message
 SUB_LIST=	ERLANG_LIB=${ERLANG_LIB}
 
 MAKE_JOBS_UNSAFE=yes
 
-OPTIONS_DEFINE=	DOCS DTRACE GCC GS HIPE JAVA KQUEUE ODBC OPENSSL SCTP SMP THREADS WX DIRTY
+OPTIONS_DEFINE=	DIRTY DTRACE GS HIPE JAVA KQUEUE NATIVE ODBC OPENSSL SCTP SMP THREADS WX
+OPTIONS_DEFAULT=DTRACE HIPE KQUEUE OPENSSL SCTP SMP THREADS
 
 DIRTY_DESC=	Enable Dirty schedulers (experimental)
-DTRACE_DESC=	Enable DTrace support
 GS_DESC=	Enable GS application (deprecated)
 HIPE_DESC=	Build native HiPE compiler
 KQUEUE_DESC=	Enable Kernel Poll (kqueue) support
+NATIVE_DESC=	Enable native libraries
 SCTP_DESC=	Enable SCTP support
 SMP_DESC=	Enable SMP support
 WX_DESC=	Enable WX application
 
-OPTIONS_DEFAULT=HIPE KQUEUE OPENSSL SCTP SMP THREADS
-OPTIONS_EXCLUDE_DragonFly=	HIPE SCTP
+NATIVE_IMPLIES=	HIPE
 
-ERL_RELEASE=	18.3
+.if !exists(/usr/sbin/dtrace)
+OPTIONS_EXCLUDE+=	DTRACE
+.endif
 
-USES=		gmake ncurses perl5
-USE_PERL5=	build
+OPTIONS_EXCLUDE_DragonFly=	HIPE NATIVE SCTP
+OPTIONS_EXCLUDE_FreeBSD_10=	DTRACE
+# ld(1) fails to link probes: missing __dtrace_erlang___* symbols
+OPTIONS_EXCLUDE_aarch64=	DTRACE
+OPTIONS_EXCLUDE_armv6=		DTRACE
+OPTIONS_EXCLUDE_armv7=		DTRACE
+OPTIONS_EXCLUDE_i386=		DTRACE
+
+OPENSSL_VARS=	BROKEN_SSL=openssl-devel
+
 GNU_CONFIGURE=	yes
 LDFLAGS+=	-L${LOCALBASE}/lib
+USES=		gmake ncurses perl5
+USE_PERL5=	build
 
-APP_UPGRADE=	erts               7.3  7.3.1.4 \
-		lib/common_test   1.12 1.12.1.1 \
-		lib/compiler     6.0.3  6.0.3.1 \
-		lib/crypto       3.6.3  3.6.3.1 \
-		lib/eldap        1.2.1  1.2.1.1 \
-		lib/inets          6.2  6.2.4.1 \
-		lib/mnesia      4.13.3   4.13.4 \
-		lib/ssh          4.2.2  4.2.2.5 \
-		lib/ssl            7.3  7.3.3.2
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MDOCS}
-DISTFILES+=	${ERLANG_DOCS}:erlangorg
-.endif
-
 # If you run Erlang and get a message resembling "WARNING: number of
 # probes fixed does not match the number of defined probes (54 != 132,
 # respectively)" you probably misconfigured DTrace in some way.
 
-.if ${PORT_OPTIONS:MGCC}
-USE_GCC?=	yes
-.endif
+DIRTY_CONFIGURE_ENABLE=	dirty-schedulers
+DTRACE_CFLAGS=		-fno-omit-frame-pointer
+DTRACE_CONFIGURE_WITH=	dynamic-trace=dtrace
+DTRACE_VARS=		STRIP=""
+GS_USES=		tk:run
+HIPE_CONFIGURE_ENABLE=	hipe
+JAVA_CONFIGURE_ENV=	ac_cv_prog_JAVAC="${JAVAC}"

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804101519.w3AFJveG014111>