aboutsummaryrefslogtreecommitdiff
path: root/lang/erlang-runtime23/Makefile
diff options
context:
space:
mode:
authorJimmy Olgeni <olgeni@FreeBSD.org>2020-02-28 17:12:49 +0000
committerJimmy Olgeni <olgeni@FreeBSD.org>2020-02-28 17:12:49 +0000
commitf529143f81bf044d6abe0b63fb7ac37907fd4f7c (patch)
tree7f4f77e79a33a3ebcd386fc1596240c683baa14c /lang/erlang-runtime23/Makefile
parent746b94b782e777246f8ab2689fd23caf55ba614e (diff)
downloadports-f529143f81bf044d6abe0b63fb7ac37907fd4f7c.tar.gz
ports-f529143f81bf044d6abe0b63fb7ac37907fd4f7c.zip
Notes
Diffstat (limited to 'lang/erlang-runtime23/Makefile')
-rw-r--r--lang/erlang-runtime23/Makefile155
1 files changed, 155 insertions, 0 deletions
diff --git a/lang/erlang-runtime23/Makefile b/lang/erlang-runtime23/Makefile
new file mode 100644
index 000000000000..ac16eb0a7089
--- /dev/null
+++ b/lang/erlang-runtime23/Makefile
@@ -0,0 +1,155 @@
+# Created by: ruslan@shevchenko.kiev.ua
+# $FreeBSD$
+
+PORTNAME= erlang
+DISTVERSIONPREFIX= OTP-
+DISTVERSION= 22.2.8
+CATEGORIES= lang parallel java
+PKGNAMESUFFIX= -runtime22
+DIST_SUBDIR= erlang
+
+MAINTAINER= erlang@FreeBSD.org
+COMMENT= Functional programming language from Ericsson
+
+LICENSE= APACHE20
+
+BROKEN_sparc64= Fails to build: error: fp_except undeclared
+
+USES= autoreconf:build gmake ncurses perl5
+USE_GITHUB= nodefault
+GH_ACCOUNT= erlang:otp,corba
+GH_PROJECT= otp:otp corba:corba
+GH_TAGNAME= 4.5.2:corba
+USE_PERL5= build
+
+DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
+WRKSRC= ${WRKSRC_otp}
+
+GNU_CONFIGURE= yes
+MAKE_JOBS_UNSAFE=yes
+
+SUB_FILES= pkg-message
+SUB_LIST= ERLANG_LIB=${ERLANG_LIB}
+
+ERLANG_LIB= ${PORTNAME}${PORTVERSION:C/\..*//}
+
+OPTIONS_DEFINE= CORBA DIRTY DTRACE HIPE JAVA KQUEUE NATIVE ODBC OPENSSL SCTP THREADS WX
+OPTIONS_DEFAULT=CORBA DIRTY DTRACE KQUEUE OPENSSL SCTP THREADS
+OPTIONS_EXCLUDE_powerpc64= HIPE ${OPTIONS_EXCLUDE_${ARCH}_${OSREL:R}}
+OPTIONS_EXCLUDE_powerpc64_13= DTRACE
+
+CORBA_DESC= Enable Corba support
+DIRTY_DESC= Enable Dirty schedulers
+HIPE_DESC= Build native HiPE compiler
+KQUEUE_DESC= Enable Kernel Poll (kqueue) support
+NATIVE_DESC= Enable native libraries
+SCTP_DESC= Enable SCTP support
+WX_DESC= Enable WX application
+
+NATIVE_IMPLIES= HIPE
+
+.if !exists(/usr/sbin/dtrace)
+OPTIONS_EXCLUDE+= DTRACE
+.endif
+
+OPTIONS_EXCLUDE_DragonFly= HIPE NATIVE SCTP
+# 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 NATIVE HIPE
+
+# 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.
+
+CONFIGURE_ENABLE= smp-support
+
+DIRTY_CONFIGURE_ENABLE= dirty-schedulers
+DTRACE_CFLAGS= -fno-omit-frame-pointer
+DTRACE_CONFIGURE_WITH= dynamic-trace=dtrace
+DTRACE_VARS= STRIP=""
+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
+THREADS_CONFIGURE_ENABLE= threads
+WX_CONFIGURE_WITH= wx-config=${WX_CONFIG}
+WX_USES= gl
+WX_VARS= USE_WX=2.8+ WX_COMPS="wx contrib" USE_GL="gl glu"
+
+.include <bsd.port.pre.mk>
+
+.if ${OPSYS} == FreeBSD
+CFLAGS+= -DMAP_NORESERVE=0
+.endif
+
+.if ${ARCH} == i386
+MAKE_ARGS+= ARCH=x86
+.endif
+
+.if ${ARCH} == armv6 || ${ARCH} == armv7
+MAKE_ARGS+= ARCH=arm
+.endif
+
+pre-configure:
+ @cd ${WRKSRC} && ./otp_build autoconf
+
+pre-configure-WX-off:
+ echo "disabled by port options" > ${WRKSRC}/lib/debugger/SKIP
+ echo "disabled by port options" > ${WRKSRC}/lib/et/SKIP
+ echo "disabled by port options" > ${WRKSRC}/lib/observer/SKIP
+ echo "disabled by port options" > ${WRKSRC}/lib/wx/SKIP
+
+post-configure-ODBC-on:
+ ${RM} ${WRKSRC}/lib/odbc/SKIP
+
+pre-build-NATIVE-on:
+ @cd ${WRKSRC} && ${MAKE_CMD} clean
+
+post-build-CORBA-on:
+ cd ${WRKSRC_corba} \
+ && ${SETENV} OVERRIDE_TARGET=${CONFIGURE_TARGET} ERL_TOP=${WRKSRC_otp} ${MAKE_CMD}
+
+post-install-CORBA-on:
+ cd ${WRKSRC_corba} \
+ && ${SETENV} OVERRIDE_TARGET=${CONFIGURE_TARGET} ERL_TOP=${WRKSRC_otp} \
+ ${MAKE_CMD} release RELEASE_ROOT=${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}
+
+post-install-JAVA-off:
+ ${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/jinterface-*
+
+post-install-ODBC-off:
+ ${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/odbc-*
+
+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-*
+
+post-install-WX-off:
+ ${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/debugger-*
+ ${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/et-*
+ ${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/observer-*
+ ${RM} -r ${STAGEDIR}${PREFIX}/lib/erlang/lib/wx-*
+
+post-install-DTRACE-on:
+ ${MKDIR} ${STAGEDIR}${DATADIR}/dtrace
+ ${INSTALL_DATA} ${WRKSRC}/erts/emulator/beam/*.d \
+ ${WRKSRC}/lib/runtime_tools/c_src/*.d \
+ ${WRKSRC}/lib/runtime_tools/examples/*.d \
+ ${STAGEDIR}${DATADIR}/dtrace
+
+post-stage:
+ ${FIND} ${STAGEDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete
+ @cd ${STAGEDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* ${DATADIR_REL}/* -type f -o -type l \
+ | ${SORT} >> ${TMPPLIST}
+
+.include <bsd.port.post.mk>