aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lang/erlang/Makefile65
-rw-r--r--lang/erlang/distinfo10
-rw-r--r--lang/erlang/files/patch-configure40
-rw-r--r--lang/erlang/files/patch-erts_etc_unix_run__erl.c8
-rw-r--r--lang/erlang/files/patch-lib_crypto_c__src_Makefile.in8
-rw-r--r--lang/erlang/files/patch-lib_crypto_priv_Makefile11
-rw-r--r--lang/erlang/files/patch-lib_hipe_llvm_hipe__llvm__main.erl11
-rw-r--r--lang/erlang/files/patch-lib_stdlib_src_calendar.erl4
8 files changed, 86 insertions, 71 deletions
diff --git a/lang/erlang/Makefile b/lang/erlang/Makefile
index 42de230a6e49..724dace970df 100644
--- a/lang/erlang/Makefile
+++ b/lang/erlang/Makefile
@@ -2,8 +2,8 @@
PORTNAME= erlang
DISTVERSIONPREFIX= OTP-
-DISTVERSION= 21.3.8.24
-PORTREVISION= 1
+DISTVERSION= 24.0.6
+PORTREVISION= 0
PORTEPOCH= 4
CATEGORIES= lang parallel java
DIST_SUBDIR= erlang
@@ -15,18 +15,23 @@ LICENSE= APACHE20
BROKEN_sparc64= Fails to build: error: fp_except undeclared
-USES= autoreconf:build compiler:c11 cpe gmake ncurses perl5
+USES= autoreconf:build cpe gmake ncurses perl5
+CPE_VENDOR= erlang
+CPE_PRODUCT= erlang/otp
USE_GITHUB= nodefault
GH_ACCOUNT= erlang:otp,corba
GH_PROJECT= otp:otp corba:corba
-GH_TAGNAME= 4.5.2:corba
+GH_TAGNAME= 5.0.2:corba
USE_PERL5= build
USE_RC_SUBR= epmd
GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --enable-smp-support
+CONFIGURE_ARGS= --enable-dirty-schedulers \
+ --enable-kernel-poll \
+ --enable-smp-support \
+ --enable-threads
+MAKE_ARGS= all
-MAKE_JOBS_UNSAFE= yes
SUB_FILES= pkg-message
SUB_LIST= TOOLS_VSN=${TOOLS_VSN}
@@ -34,67 +39,60 @@ SUB_LIST= TOOLS_VSN=${TOOLS_VSN}
WRKSRC= ${WRKSRC_otp}
ERLANG_LIB= ${PORTNAME}
-EI_VSN= 3.11.3.2
-SNMP_VSN= 5.2.12
-TOOLS_VSN= 3.1.0.1
+EI_VSN= 5.0.1
+SNMP_VSN= 5.9.1
+TOOLS_VSN= 3.5
-# On Erlang 22, native code generation does not currently work for all modules
-# due to new BEAM instructions not supported by HiPE the native compiler.
-# Remove HIPE from OPTIONS_DEFAULT if this is still the case when the port is
-# upgraded to such version.
-
-OPTIONS_DEFINE= CORBA DIRTY DTRACE FOP HIPE JAVA KQUEUE MANPAGES NATIVE \
- ODBC OPENSSL PDF SCTP THREADS WX
-OPTIONS_DEFAULT= CORBA DIRTY DTRACE HIPE KQUEUE MANPAGES OPENSSL SCTP \
- THREADS
+OPTIONS_DEFINE= CHUNKS CORBA DIRTY DTRACE FOP JAVA KQUEUE MANPAGES ODBC \
+ OPENSSL PDF SCTP SHARING WX
+OPTIONS_DEFAULT= CHUNKS CORBA DIRTY DTRACE KQUEUE MANPAGES OPENSSL SCTP
.if !exists(/usr/sbin/dtrace)
OPTIONS_EXCLUDE+= DTRACE
.endif
-OPTIONS_EXCLUDE_DragonFly= HIPE NATIVE SCTP
+OPTIONS_EXCLUDE_DragonFly= SCTP
# ld(1) fails to link probes: missing __dtrace_erlang___* symbols
+# see also https://reviews.freebsd.org/D22360
OPTIONS_EXCLUDE_aarch64= DTRACE
OPTIONS_EXCLUDE_armv6= DTRACE
OPTIONS_EXCLUDE_armv7= DTRACE
-OPTIONS_EXCLUDE_i386= DTRACE HIPE NATIVE
-OPTIONS_EXCLUDE_powerpc64= ${OPTIONS_EXCLUDE_${ARCH}_${OSREL:R}} HIPE
+OPTIONS_EXCLUDE_i386= DTRACE
+OPTIONS_EXCLUDE_powerpc64= ${OPTIONS_EXCLUDE_${ARCH}_${OSREL:R}}
OPTIONS_EXCLUDE_powerpc64_11= DTRACE
OPTIONS_EXCLUDE_powerpc64_12= DTRACE
-OPTIONS_EXCLUDE_powerpc64le= HIPE
OPTIONS_EXCLUDE_riscv64= DTRACE
OPTIONS_SUB= yes
+CHUNKS_DESC= Enable in-line documentation in Erlang console
CORBA_DESC= Enable Corba support
-DIRTY_DESC= Enable Dirty schedulers
+DIRTY_DESC= Enable dirty schedulers
FOP_DESC= Build full documentation with Apache FOP
-HIPE_DESC= Build native HiPE compiler
KQUEUE_DESC= Enable Kernel Poll (kqueue) support
-NATIVE_DESC= Enable native libraries
PDF_DESC= Build PDF documentation
SCTP_DESC= Enable SCTP support
+SHARING_DESC= Enable term copy-and-share support
WX_DESC= Enable WX application
# 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.
-DIRTY_CONFIGURE_ENABLE= dirty-schedulers
+CHUNKS_MAKE_ARGS+= docs DOC_TARGETS=chunks
+DIRTY_CONFIGURE_WITH= dirty-schedulers
DTRACE_CONFIGURE_WITH= dynamic-trace=dtrace
DTRACE_CFLAGS= -fno-omit-frame-pointer
DTRACE_VARS= STRIP=""
FOP_PREVENTS= MANPAGES
FOP_BUILD_DEPENDS= fop:textproc/fop \
xsltproc:textproc/libxslt
-HIPE_CONFIGURE_ENABLE= hipe
JAVA_CONFIGURE_WITH= javac
JAVA_CONFIGURE_ENV= ac_cv_prog_JAVAC="${JAVAC}"
JAVA_VARS= USE_JAVA=yes
KQUEUE_CONFIGURE_ENABLE= kernel-poll
MANPAGES_RUN_DEPENDS= ${LOCALBASE}/etc/man.d/erlang.conf:lang/erlang-man
-NATIVE_IMPLIES= HIPE
-NATIVE_CONFIGURE_ENABLE= native-libs
ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC
+ODBC_USES= localbase
ODBC_CONFIGURE_WITH= odbc
ODBC_CFLAGS= -I/usr/local/include
ODBC_LDFLAGS= -L/usr/local/lib
@@ -102,7 +100,7 @@ OPENSSL_USES= ssl
OPENSSL_CONFIGURE_WITH= ssl=${OPENSSLBASE}
PDF_IMPLIES= FOP
SCTP_CONFIGURE_ENABLE= sctp
-THREADS_CONFIGURE_ENABLE= threads
+SHARING_CONFIGURE_ENABLE= sharing-preserving
WX_USES= gl
WX_CONFIGURE_WITH= wx-config=${WX_CONFIG}
WX_VARS= USE_GL="gl glu" \
@@ -133,7 +131,6 @@ pre-configure:
@if [ ! $$(${CAT} ${WRKSRC}/lib/snmp/vsn.mk | ${GREP} -E "SNMP_VSN *=" | ${CUT} -w -f3) = ${SNMP_VSN} ]; then \
${ECHO_MSG} "===> SNMP_VSN (${SNMP_VSN}) in Makefile does not match value in lib/snmp/vsn.mk"; exit 1; \
fi
- @cd ${WRKSRC} && ./otp_build autoconf
pre-configure-WX-off:
echo "disabled by port options" > ${WRKSRC}/lib/debugger/SKIP
@@ -144,8 +141,8 @@ pre-configure-WX-off:
post-configure-ODBC-on:
${RM} ${WRKSRC}/lib/odbc/SKIP
-pre-build-NATIVE-on:
- @cd ${WRKSRC} && ${MAKE_CMD} clean
+post-configure-ODBC-off:
+ echo "disabled by port options" > ${WRKSRC}/lib/odbc/SKIP
post-build-CORBA-on:
cd ${WRKSRC_corba} \
@@ -184,7 +181,7 @@ post-install-FOP-on:
${INSTALL_DATA} ${WRKDIR}/erlang.conf ${STAGEDIR}${PREFIX}/etc/man.d/erlang.conf
for SECTION in 1 3 4 6 7; do \
${MKDIR} ${STAGEDIR}${PREFIX}/lib/erlang/man/man$${SECTION}; \
- ${FIND} ${WRKSRC}/erts ${WRKSRC}/lib -type f | ${GREP} doc/man$${SECTION} \
+ ${FIND} ${WRKSRC}/erts ${WRKSRC}/lib -type f | ${GREP} doc/man$${SECTION} \
| ${XARGS} -J % ${CP} -v % ${STAGEDIR}${PREFIX}/lib/erlang/man/man$${SECTION}; \
done
.if ${PORT_OPTIONS:MCORBA}
diff --git a/lang/erlang/distinfo b/lang/erlang/distinfo
index 8991e4dd1932..f52cbf9f48cd 100644
--- a/lang/erlang/distinfo
+++ b/lang/erlang/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1622539043
-SHA256 (erlang/erlang-otp-OTP-21.3.8.24_GH0.tar.gz) = 90017fe0b844cf3ba7dc9faf7f6f690050f3138f3d3f7532a9343174f5f9febc
-SIZE (erlang/erlang-otp-OTP-21.3.8.24_GH0.tar.gz) = 54104215
-SHA256 (erlang/erlang-corba-4.5.2_GH0.tar.gz) = 36f397e6aef97eebda629badb0570cb4ddc979a6d1557bc487a9e13671facf8f
-SIZE (erlang/erlang-corba-4.5.2_GH0.tar.gz) = 1422685
+TIMESTAMP = 1631542362
+SHA256 (erlang/erlang-otp-OTP-24.0.6_GH0.tar.gz) = a60a7d776a4573e2018d6fad6df957e3911ecbce5f11497a8ec537f613aca0a1
+SIZE (erlang/erlang-otp-OTP-24.0.6_GH0.tar.gz) = 58894872
+SHA256 (erlang/erlang-corba-5.0.2_GH0.tar.gz) = d82b3efb0330870ac59a86ed96130b3e2caa7df5304e46b06dd79ad237686703
+SIZE (erlang/erlang-corba-5.0.2_GH0.tar.gz) = 1393602
diff --git a/lang/erlang/files/patch-configure b/lang/erlang/files/patch-configure
new file mode 100644
index 000000000000..9713b597b9dc
--- /dev/null
+++ b/lang/erlang/files/patch-configure
@@ -0,0 +1,40 @@
+--- configure.orig 2021-09-13 14:43:59 UTC
++++ configure
+@@ -55,7 +55,7 @@ skip_applications=
+ while test $# != 0; do
+ case $1 in
+ -srcdir=* | --srcdir=*)
+- user_srcdir=`expr "$1" : '[^=]*=\(.*\)'`
++ user_srcdir=`expr -- "$1" : '[^=]*=\(.*\)'`
+ if test "$ERL_TOP" != ""; then
+ echo "WARNING: Overriding ERL_TOP with $user_srcdir" 1>&2
+ echo "" 1>&2
+@@ -95,7 +95,7 @@ while test $# != 0; do
+ echo "" 1>&2
+ ;;
+ -cache-file=* | --cache-file=* )
+- static_cache=`expr "$1" : '[^=]*=\(.*\)'`
++ static_cache=`expr -- "$1" : '[^=]*=\(.*\)'`
+ if test "$static_cache" != "/dev/null"; then
+ echo "WARNING: Only using config cache file '$static_cache' as static cache" 1>&2
+ echo "" 1>&2
+@@ -140,8 +140,8 @@ while test $# != 0; do
+ pie_ldflags="-no-pie"
+ ;;
+ CFLAGS=* | LDFLAGS=*)
+- flgs_var=`expr "$1" : '\([^=]*\)=.*'`
+- flgs_val=`expr "$1" : '[^=]*=\(.*\)'`
++ flgs_var=`expr -- "$1" : '\([^=]*\)=.*'`
++ flgs_val=`expr -- "$1" : '[^=]*=\(.*\)'`
+ eval $flgs_var=\$flgs_val
+ ;;
+ --help=r* | -help=r*)
+@@ -151,7 +151,7 @@ while test $# != 0; do
+ *)
+ case $1 in
+ --without-*)
+- skip_app=`expr "$1" : '--without-\(.*\)'`
++ skip_app=`expr -- "$1" : '--without-\(.*\)'`
+ if [ "$skip_app" = "stdlib" ] ||
+ [ "$skip_app" = "kernel" ] ||
+ [ "$skip_app" = "sasl" ] ||
diff --git a/lang/erlang/files/patch-erts_etc_unix_run__erl.c b/lang/erlang/files/patch-erts_etc_unix_run__erl.c
index b76c5127d2a8..1a9d2edc6ffe 100644
--- a/lang/erlang/files/patch-erts_etc_unix_run__erl.c
+++ b/lang/erlang/files/patch-erts_etc_unix_run__erl.c
@@ -1,8 +1,8 @@
---- erts/etc/unix/run_erl.c.orig 2015-03-31 12:32:52 UTC
+--- erts/etc/unix/run_erl.c.orig 2021-09-02 10:21:16 UTC
+++ erts/etc/unix/run_erl.c
-@@ -73,9 +73,6 @@
- #ifdef HAVE_UTMP_H
- # include <utmp.h>
+@@ -81,9 +81,6 @@
+ #ifdef HAVE_LIBUTIL_H
+ # include <libutil.h>
#endif
-#ifdef HAVE_UTIL_H
-# include <util.h>
diff --git a/lang/erlang/files/patch-lib_crypto_c__src_Makefile.in b/lang/erlang/files/patch-lib_crypto_c__src_Makefile.in
index 65e1b759ad66..8397bcac2200 100644
--- a/lang/erlang/files/patch-lib_crypto_c__src_Makefile.in
+++ b/lang/erlang/files/patch-lib_crypto_c__src_Makefile.in
@@ -1,9 +1,9 @@
---- lib/crypto/c_src/Makefile.in.orig 2016-03-14 20:11:15 UTC
+--- lib/crypto/c_src/Makefile.in.orig 2021-05-27 09:40:45 UTC
+++ lib/crypto/c_src/Makefile.in
-@@ -90,7 +90,7 @@ endif
- DYNAMIC_CRYPTO_LIB=@SSL_DYNAMIC_ONLY@
+@@ -136,7 +136,7 @@ endif
+ endif
- ifeq ($(DYNAMIC_CRYPTO_LIB),yes)
+ ifeq ($(DYNAMIC_OR_WIN_CRYPTO_LIB),yes)
-SSL_DED_LD_RUNTIME_LIBRARY_PATH = @SSL_DED_LD_RUNTIME_LIBRARY_PATH@
+SSL_DED_LD_RUNTIME_LIBRARY_PATH =
CRYPTO_LINK_LIB=$(SSL_DED_LD_RUNTIME_LIBRARY_PATH) -L$(SSL_LIBDIR) -l$(SSL_CRYPTO_LIBNAME)
diff --git a/lang/erlang/files/patch-lib_crypto_priv_Makefile b/lang/erlang/files/patch-lib_crypto_priv_Makefile
deleted file mode 100644
index 26f2c38e360d..000000000000
--- a/lang/erlang/files/patch-lib_crypto_priv_Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- lib/crypto/priv/Makefile.orig 2016-03-14 20:11:15 UTC
-+++ lib/crypto/priv/Makefile
-@@ -61,7 +61,7 @@ OBJS = $(OBJDIR)/crypto.o
- # ----------------------------------------------------
-
- $(SO_NIFLIB): $(OBJS)
-- $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) -Wl,-R$(SO_SSL_LIBDIR) \
-+ $(SO_LD) $(SO_LDFLAGS) -L$(SO_SSL_LIBDIR) \
- -o $@ $^ -lcrypto
-
- $(DLL_NIFLIB): $(OBJS)
diff --git a/lang/erlang/files/patch-lib_hipe_llvm_hipe__llvm__main.erl b/lang/erlang/files/patch-lib_hipe_llvm_hipe__llvm__main.erl
deleted file mode 100644
index 633d84504d99..000000000000
--- a/lang/erlang/files/patch-lib_hipe_llvm_hipe__llvm__main.erl
+++ /dev/null
@@ -1,11 +0,0 @@
---- lib/hipe/llvm/hipe_llvm_main.erl.orig 2015-06-27 20:52:09 UTC
-+++ lib/hipe/llvm/hipe_llvm_main.erl
-@@ -474,7 +474,7 @@ unique_folder(FunName, Arity, Options) -
- true -> %% Store folder in current directory
- DirName;
- false -> %% Temporarily store folder in tempfs (/dev/shm/)
-- "/dev/shm/" ++ DirName
-+ "/tmp/" ++ DirName
- end,
- %% Make sure it does not exist
- case dir_exists(Dir) of
diff --git a/lang/erlang/files/patch-lib_stdlib_src_calendar.erl b/lang/erlang/files/patch-lib_stdlib_src_calendar.erl
index 34b753d85b27..30bb7423b8d4 100644
--- a/lang/erlang/files/patch-lib_stdlib_src_calendar.erl
+++ b/lang/erlang/files/patch-lib_stdlib_src_calendar.erl
@@ -1,6 +1,6 @@
---- lib/stdlib/src/calendar.erl.orig 2015-03-31 12:32:52 UTC
+--- lib/stdlib/src/calendar.erl.orig 2021-09-02 10:21:16 UTC
+++ lib/stdlib/src/calendar.erl
-@@ -279,11 +279,19 @@ local_time_to_universal_time(DateTime, I
+@@ -297,11 +297,19 @@ local_time_to_universal_time(DateTime, IsDst) ->
DateTime1 :: datetime1970(),
DateTime :: datetime1970().
local_time_to_universal_time_dst(DateTime) ->