1PORTNAME= erlang 2DISTVERSIONPREFIX= OTP- 3DISTVERSION= 21.3.8.24 4PORTREVISION= 1 5# NB when bumping OTP versions also bump PORTREVISION in databases/couchdb2 6CATEGORIES= lang parallel java 7PKGNAMESUFFIX= -runtime21 8DIST_SUBDIR= erlang 9 10MAINTAINER= ports@MidnightBSD.org 11COMMENT= Functional programming language from Ericsson 12WWW= https://www.erlang.org/ 13 14LICENSE= Apache-2.0 15 16USES= compiler autoreconf:build,2.69 cpe gmake ncurses perl5 17USE_GITHUB= nodefault 18GH_ACCOUNT= erlang:otp,corba 19GH_PROJECT= otp:otp corba:corba 20GH_TAGNAME= 4.5.2:corba 21USE_PERL5= build 22 23CPE_VENDOR= erlang 24CPE_PRODUCT= erlang/otp 25 26DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX} 27WRKSRC= ${WRKSRC_otp} 28 29GNU_CONFIGURE= yes 30MAKE_JOBS_UNSAFE=yes 31 32CONFIGURE_ARGS= --enable-smp-support 33CONFIGURE_ARGS+= --without-dynamic-trace 34CONFIGURE_TARGET= ${ARCH}-portbld-freebsd12.4 35 36SUB_FILES= pkg-message 37SUB_LIST= ERLANG_LIB=${ERLANG_LIB} 38 39ERLANG_LIB= ${PORTNAME}${PORTVERSION:C/\..*//} 40 41OPTIONS_DEFINE= CORBA DIRTY HIPE JAVA KQUEUE NATIVE ODBC OPENSSL SCTP THREADS WX 42OPTIONS_DEFAULT=CORBA DIRTY HIPE KQUEUE OPENSSL SCTP THREADS 43 44CORBA_DESC= Enable Corba support 45DIRTY_DESC= Enable Dirty schedulers 46HIPE_DESC= Build native HiPE compiler 47KQUEUE_DESC= Enable Kernel Poll (kqueue) support 48NATIVE_DESC= Enable native libraries 49SCTP_DESC= Enable SCTP support 50WX_DESC= Enable WX application 51 52NATIVE_IMPLIES= HIPE 53 54# If you run Erlang and get a message resembling "WARNING: number of 55# probes fixed does not match the number of defined probes (54 != 132, 56# respectively)" you probably misconfigured DTrace in some way. 57 58CONFIGURE_ENABLE= smp-support 59 60DIRTY_CONFIGURE_ENABLE= dirty-schedulers 61HIPE_CONFIGURE_ENABLE= hipe 62JAVA_CONFIGURE_ENV= ac_cv_prog_JAVAC="${JAVAC}" 63JAVA_CONFIGURE_WITH= javac 64JAVA_USES= java 65KQUEUE_CONFIGURE_ENABLE=kernel-poll 66NATIVE_CONFIGURE_ENABLE=native-libs 67ODBC_CONFIGURE_WITH= odbc 68ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC 69OPENSSL_CONFIGURE_WITH= ssl=${OPENSSLBASE} 70OPENSSL_USES= ssl 71SCTP_CONFIGURE_ENABLE= sctp 72THREADS_CONFIGURE_ENABLE= threads 73WX_CONFIGURE_WITH= wx-config=${WX_CONFIG} 74WX_USES= gl 75WX_VARS= USE_WX=3.1+ WX_COMPS="wx contrib" USE_GL="gl glu" 76 77.include <bsd.port.pre.mk> 78 79.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 130 80CONFIGURE_ARGS+= --disable-pgo 81.endif 82 83CFLAGS+= -DMAP_NORESERVE=0 84 85.if ${ARCH} == i386 86MAKE_ARGS+= ARCH=x86 87.endif 88 89.if ${ARCH} == armv6 || ${ARCH} == armv7 90MAKE_ARGS+= ARCH=arm 91.endif 92 93pre-configure: 94 @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./otp_build autoconf 95 96pre-configure-WX-off: 97 echo "disabled by port options" > ${WRKSRC}/lib/debugger/SKIP 98 echo "disabled by port options" > ${WRKSRC}/lib/et/SKIP 99 echo "disabled by port options" > ${WRKSRC}/lib/observer/SKIP 100 echo "disabled by port options" > ${WRKSRC}/lib/wx/SKIP 101 102post-configure-ODBC-on: 103 ${RM} ${WRKSRC}/lib/odbc/SKIP 104 105pre-build-NATIVE-on: 106 @cd ${WRKSRC} && ${MAKE_CMD} clean 107 108post-build-CORBA-on: 109 cd ${WRKSRC_corba} \ 110 && ${SETENV} OVERRIDE_TARGET=${CONFIGURE_TARGET} ERL_TOP=${WRKSRC_otp} ${MAKE_CMD} 111 112post-install-CORBA-on: 113 cd ${WRKSRC_corba} \ 114 && ${SETENV} OVERRIDE_TARGET=${CONFIGURE_TARGET} ERL_TOP=${WRKSRC_otp} \ 115 ${MAKE_CMD} release RELEASE_ROOT=${FAKE_DESTDIR}${PREFIX}/lib/${ERLANG_LIB} 116 117post-install-JAVA-off: 118 -${RM} -r ${FAKE_DESTDIR}${PREFIX}/lib/erlang/lib/jinterface-* 119 120post-install-ODBC-off: 121 -${RM} -r ${FAKE_DESTDIR}${PREFIX}/lib/erlang/lib/odbc-* 122 123post-install-OPENSSL-off: 124 -${RM} -r ${FAKE_DESTDIR}${PREFIX}/lib/erlang/lib/crypto-* 125 -${RM} -r ${FAKE_DESTDIR}${PREFIX}/lib/erlang/lib/ssh-* 126 -${RM} -r ${FAKE_DESTDIR}${PREFIX}/lib/erlang/lib/ssl-* 127 128post-install-WX-off: 129 -${RM} -r ${FAKE_DESTDIR}${PREFIX}/lib/erlang/lib/debugger-* 130 -${RM} -r ${FAKE_DESTDIR}${PREFIX}/lib/erlang/lib/et-* 131 -${RM} -r ${FAKE_DESTDIR}${PREFIX}/lib/erlang/lib/observer-* 132 -${RM} -r ${FAKE_DESTDIR}${PREFIX}/lib/erlang/lib/wx-* 133 134post-fake: 135 ${FIND} ${FAKE_DESTDIR}${PREFIX}/lib/${ERLANG_LIB}/* -type d -empty -delete 136 @cd ${FAKE_DESTDIR}${PREFIX}; ${FIND} lib/${ERLANG_LIB}/* ${DATADIR_REL}/* -type f -o -type l \ 137 | ${SORT} >> ${TMPPLIST} 138 139.include <bsd.port.post.mk> 140