diff --git a/lang/Makefile b/lang/Makefile index 2be03bef2a2f..f4c1db4e1804 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -1,369 +1,370 @@ COMMENT = Programming languages SUBDIR += J SUBDIR += abcl SUBDIR += alchemist.el SUBDIR += algol68g SUBDIR += angelscript SUBDIR += apache-commons-jelly SUBDIR += asn1c SUBDIR += atlast SUBDIR += awka SUBDIR += bas2tap SUBDIR += basic256 SUBDIR += bsh SUBDIR += bwbasic SUBDIR += c SUBDIR += cbmbasic SUBDIR += ccl SUBDIR += ceylon SUBDIR += cfortran SUBDIR += chaiscript SUBDIR += chez-scheme SUBDIR += chibi-scheme SUBDIR += chicken5 SUBDIR += cim SUBDIR += cjs SUBDIR += cling SUBDIR += clips SUBDIR += clisp SUBDIR += clojure SUBDIR += clojure-mode.el SUBDIR += clover SUBDIR += cmucl SUBDIR += cmucl-extra SUBDIR += cocor SUBDIR += coffeescript SUBDIR += cparser SUBDIR += crystal SUBDIR += csharp-mode.el SUBDIR += cython SUBDIR += cython-devel SUBDIR += dlang-tools SUBDIR += dlv SUBDIR += duktape SUBDIR += duktape-lib SUBDIR += ecl SUBDIR += eisl SUBDIR += elixir SUBDIR += elixir-devel SUBDIR += elixir-mode.el SUBDIR += elk SUBDIR += elm SUBDIR += emacs-lisp-intro SUBDIR += erlang SUBDIR += erlang-doc SUBDIR += erlang-java SUBDIR += erlang-man SUBDIR += erlang-runtime21 SUBDIR += erlang-runtime22 SUBDIR += erlang-runtime23 SUBDIR += erlang-runtime24 + SUBDIR += erlang-runtime25 SUBDIR += erlang-wx SUBDIR += execline SUBDIR += expect SUBDIR += f2c SUBDIR += fasm SUBDIR += fennel SUBDIR += ferite SUBDIR += ficl SUBDIR += fpc SUBDIR += fpc-base SUBDIR += fpc-docs SUBDIR += fpc-lua SUBDIR += fpc-pastojs SUBDIR += fpc-rexx SUBDIR += fpc-rtl-console SUBDIR += fpc-rtl-extra SUBDIR += fpc-rtl-generics SUBDIR += fpc-rtl-objpas SUBDIR += fpc-rtl-unicode SUBDIR += fpc-source SUBDIR += fpc-units SUBDIR += fpc-utils SUBDIR += fsharp SUBDIR += fth SUBDIR += gambit-c SUBDIR += gauche SUBDIR += gawk SUBDIR += gcc SUBDIR += gcc-ecj45 SUBDIR += gcc10 SUBDIR += gcc11 SUBDIR += gcc11-devel SUBDIR += gcc12 SUBDIR += gcc12-devel SUBDIR += gcc13-devel SUBDIR += gcc48 SUBDIR += gcc6-aux SUBDIR += gcc8 SUBDIR += gcc9 SUBDIR += gforth SUBDIR += ghc SUBDIR += gjs SUBDIR += gleam SUBDIR += gnatcross-binutils-aarch64 SUBDIR += gnatcross-sysroot-aarch64 SUBDIR += gnatdroid-binutils SUBDIR += gnatdroid-binutils-x86 SUBDIR += gnatdroid-sysroot SUBDIR += gnatdroid-sysroot-x86 SUBDIR += gnu-apl SUBDIR += gnu-cobol SUBDIR += gnustep-base SUBDIR += go SUBDIR += go-devel SUBDIR += go117 SUBDIR += gomacro SUBDIR += gprolog SUBDIR += gravity SUBDIR += groovy SUBDIR += gscheme SUBDIR += guile SUBDIR += guile1 SUBDIR += guile2 SUBDIR += halide SUBDIR += harec SUBDIR += haskell-mode.el SUBDIR += hermes SUBDIR += hla SUBDIR += hs-brainfuck SUBDIR += hs-unlambda SUBDIR += huc SUBDIR += icc SUBDIR += intel-compute-runtime SUBDIR += intercal SUBDIR += io SUBDIR += io-devel SUBDIR += itcl SUBDIR += itcl4 SUBDIR += janet SUBDIR += jimtcl SUBDIR += jpm SUBDIR += jruby SUBDIR += julia SUBDIR += jython SUBDIR += kawa SUBDIR += kf5-kross SUBDIR += kotlin SUBDIR += kross-interpreters SUBDIR += kturtle SUBDIR += lafontaine SUBDIR += lci SUBDIR += ldc SUBDIR += lfe SUBDIR += libhx SUBDIR += libobjc2 SUBDIR += librep SUBDIR += libstdc++_stldoc_4.2.2 SUBDIR += linux-c7-tcl85 SUBDIR += linux-dotnet-cli SUBDIR += linux-dotnet-runtime SUBDIR += linux-dotnet-sdk SUBDIR += linux-dotnet10-runtime SUBDIR += linux-dotnet11-runtime SUBDIR += linux-dotnet11-sdk SUBDIR += linux-j SUBDIR += lua51 SUBDIR += lua52 SUBDIR += lua53 SUBDIR += lua54 SUBDIR += luajit SUBDIR += luajit-devel SUBDIR += luajit-openresty SUBDIR += malbolge SUBDIR += maude SUBDIR += mawk SUBDIR += mdk SUBDIR += mecrisp-stellaris SUBDIR += micropython SUBDIR += mit-scheme SUBDIR += mixal SUBDIR += mlton SUBDIR += mmix SUBDIR += mono SUBDIR += mono-basic SUBDIR += mono5.10 SUBDIR += mono5.20 SUBDIR += mono6.8 SUBDIR += mosh SUBDIR += mosml SUBDIR += mtasc SUBDIR += mujs SUBDIR += munger SUBDIR += myrddin SUBDIR += nawk SUBDIR += nbfc SUBDIR += neko SUBDIR += nesasm SUBDIR += newlisp SUBDIR += nhc98 SUBDIR += nickle SUBDIR += nim SUBDIR += njs SUBDIR += nqc SUBDIR += nwcc SUBDIR += nx SUBDIR += nyan SUBDIR += ocaml SUBDIR += ocaml-autoconf SUBDIR += ocaml-camlidl SUBDIR += ocaml-nox11 SUBDIR += onyx SUBDIR += oo2c SUBDIR += opencoarrays SUBDIR += ott SUBDIR += owl-lisp SUBDIR += p5-Data-JavaScript SUBDIR += p5-Error SUBDIR += p5-Expect SUBDIR += p5-ExtUtils-F77 SUBDIR += p5-Interpolation SUBDIR += p5-JSAN SUBDIR += p5-JavaScript-SpiderMonkey SUBDIR += p5-JavaScript-Squish SUBDIR += p5-JavaScript-Value-Escape SUBDIR += p5-List-MoreUtils SUBDIR += p5-List-MoreUtils-XS SUBDIR += p5-Marpa SUBDIR += p5-Marpa-PP SUBDIR += p5-Marpa-XS SUBDIR += p5-Modern-Perl SUBDIR += p5-Perl6-Subs SUBDIR += p5-Promises SUBDIR += p5-Pugs-Compiler-Rule SUBDIR += p5-Quantum-Superpositions SUBDIR += p5-Scalar-List-Utils SUBDIR += p5-Switch SUBDIR += p5-Tcl SUBDIR += p5-Test-XPath SUBDIR += p5-Try-Catch SUBDIR += p5-Try-Tiny SUBDIR += p5-Try-Tiny-Retry SUBDIR += p5-TryCatch SUBDIR += p5-ePerl SUBDIR += p5-signatures SUBDIR += p5-v6 SUBDIR += parrot SUBDIR += pbasic SUBDIR += pcc SUBDIR += perl5-devel SUBDIR += perl5.30 SUBDIR += perl5.32 SUBDIR += perl5.34 SUBDIR += petite-chez SUBDIR += pfe SUBDIR += pharo SUBDIR += php-mode.el SUBDIR += php74 SUBDIR += php74-extensions SUBDIR += php80 SUBDIR += php80-extensions SUBDIR += php81 SUBDIR += php81-extensions SUBDIR += picoc SUBDIR += plexil SUBDIR += pocl SUBDIR += polyml SUBDIR += ponyc SUBDIR += ptoc SUBDIR += purescript SUBDIR += py-hy SUBDIR += py-lupa SUBDIR += py-textX SUBDIR += python SUBDIR += python-doc-html SUBDIR += python-doc-pdf-a4 SUBDIR += python-doc-pdf-letter SUBDIR += python-doc-text SUBDIR += python-mode.el SUBDIR += python-tools SUBDIR += python2 SUBDIR += python27 SUBDIR += python3 SUBDIR += python310 SUBDIR += python311 SUBDIR += python37 SUBDIR += python38 SUBDIR += python39 SUBDIR += qmasm SUBDIR += qscheme SUBDIR += quickjs SUBDIR += racket SUBDIR += racket-minimal SUBDIR += ratfor SUBDIR += referenceassemblies-pcl SUBDIR += retro12 SUBDIR += rexx-imc SUBDIR += rexx-regina SUBDIR += rexx-regutil SUBDIR += rexx-wrapper SUBDIR += rhino SUBDIR += ruby27 SUBDIR += ruby30 SUBDIR += ruby31 SUBDIR += ruby32 SUBDIR += rubygem-ruby_language_server SUBDIR += runawk SUBDIR += rust SUBDIR += rust-bootstrap SUBDIR += rust-nightly SUBDIR += sagittarius-scheme SUBDIR += sather-specification SUBDIR += sather-tutorial SUBDIR += sbcl SUBDIR += scala SUBDIR += scheme48 SUBDIR += scm SUBDIR += sdcc SUBDIR += see SUBDIR += seed7 SUBDIR += silq SUBDIR += siod SUBDIR += sisc SUBDIR += sketchy SUBDIR += slib SUBDIR += slib-guile SUBDIR += slib-guile1 SUBDIR += slib-guile2 SUBDIR += slisp SUBDIR += smalltalk SUBDIR += smlnj SUBDIR += snobol4 SUBDIR += solidity SUBDIR += spidermonkey17 SUBDIR += spidermonkey78 SUBDIR += spidermonkey91 SUBDIR += spl SUBDIR += squeak SUBDIR += squirrel SUBDIR += swi-pl SUBDIR += tauthon SUBDIR += tcbasic SUBDIR += tcc SUBDIR += tcl-manual SUBDIR += tcl-wrapper SUBDIR += tcl85 SUBDIR += tcl86 SUBDIR += tcl87 SUBDIR += tclX SUBDIR += tolua SUBDIR += tolua++ SUBDIR += tuareg-mode.el SUBDIR += twelf SUBDIR += ucc SUBDIR += urweb SUBDIR += v SUBDIR += v8 SUBDIR += v8-beta SUBDIR += vala SUBDIR += visualworks SUBDIR += voc SUBDIR += yabasic SUBDIR += yap SUBDIR += yorick SUBDIR += ypsilon SUBDIR += zig SUBDIR += zig-devel .include diff --git a/lang/erlang-runtime25/Makefile b/lang/erlang-runtime25/Makefile new file mode 100644 index 000000000000..7f090c8e31e2 --- /dev/null +++ b/lang/erlang-runtime25/Makefile @@ -0,0 +1,155 @@ +PORTNAME= erlang +DISTVERSIONPREFIX= OTP- +DISTVERSION= 25.0 +PORTREVISION= 0 +CATEGORIES= lang parallel java +PKGNAMESUFFIX= -runtime25 +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= 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= 5.1:corba +USE_PERL5= build + +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --enable-dirty-schedulers \ + --enable-kernel-poll \ + --enable-smp-support \ + --enable-threads +MAKE_ARGS= all + +DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX} +SUB_FILES= pkg-message +SUB_LIST= ERLANG_LIB=${ERLANG_LIB} + +WRKSRC= ${WRKSRC_otp} + +ERLANG_LIB= ${PORTNAME}${PORTVERSION:C/\..*//} + +OPTIONS_DEFINE= CHUNKS CORBA DTRACE JAVA KQUEUE ODBC OPENSSL SCTP \ + SHARING WX +OPTIONS_DEFAULT= CHUNKS CORBA DTRACE KQUEUE OPENSSL SCTP SHARING + +.if !exists(/usr/sbin/dtrace) +OPTIONS_EXCLUDE+= DTRACE +.endif + +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 +OPTIONS_EXCLUDE_riscv64= DTRACE + +CHUNKS_DESC= Enable in-line documentation in Erlang console +CORBA_DESC= Enable Corba support +KQUEUE_DESC= Enable Kernel Poll (kqueue) support +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. + +CHUNKS_MAKE_ARGS+= docs DOC_TARGETS=chunks +DTRACE_CONFIGURE_WITH= dynamic-trace=dtrace +DTRACE_CFLAGS= -fno-omit-frame-pointer +DTRACE_VARS= STRIP="" +JAVA_CONFIGURE_WITH= javac +JAVA_CONFIGURE_ENV= ac_cv_prog_JAVAC="${JAVAC}" +JAVA_VARS= USE_JAVA=yes +KQUEUE_CONFIGURE_ENABLE= kernel-poll +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 +OPENSSL_USES= ssl +OPENSSL_CONFIGURE_WITH= ssl=${OPENSSLBASE} +SCTP_CONFIGURE_ENABLE= sctp +SHARING_CONFIGURE_ENABLE= sharing-preserving +WX_USES= gl +WX_CONFIGURE_WITH= wx-config=${WX_CONFIG} +WX_VARS= USE_GL="gl glu" \ + USE_WX=3.1+ \ + WX_COMPS="wx" + +.include + +.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-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 + +post-configure-ODBC-off: + echo "disabled by port options" > ${WRKSRC}/lib/odbc/SKIP + +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-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-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-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 diff --git a/lang/erlang-runtime25/distinfo b/lang/erlang-runtime25/distinfo new file mode 100644 index 000000000000..dbf5f7f88188 --- /dev/null +++ b/lang/erlang-runtime25/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1652882018 +SHA256 (erlang/erlang-otp-OTP-25.0_GH0.tar.gz) = 5988e3bca208486494446e885ca2149fe487ee115cbc3770535fd22a795af5d2 +SIZE (erlang/erlang-otp-OTP-25.0_GH0.tar.gz) = 59574655 +SHA256 (erlang/erlang-corba-5.1_GH0.tar.gz) = 03497d71098c474b330794dd523ef19ef20a47c0e2d441009d6cf929455c468f +SIZE (erlang/erlang-corba-5.1_GH0.tar.gz) = 1392861 diff --git a/lang/erlang-runtime25/files/patch-Makefile.in b/lang/erlang-runtime25/files/patch-Makefile.in new file mode 100644 index 000000000000..4c30ccecd02f --- /dev/null +++ b/lang/erlang-runtime25/files/patch-Makefile.in @@ -0,0 +1,20 @@ +--- Makefile.in.orig 2015-06-23 18:56:21 UTC ++++ Makefile.in +@@ -60,7 +60,7 @@ bindir = @bindir@ + libdir = @libdir@ + + # Where Erlang/OTP is located +-libdir_suffix = /erlang ++libdir_suffix = /erlang25 + erlang_libdir = $(libdir)$(libdir_suffix) + erlang_bindir = $(erlang_libdir)/bin + +@@ -1013,7 +1013,7 @@ $(TEST_DIRS): + # + # Order is important here, don't change it! + # +-INST_DEP += install.dirs install.emulator install.libs install.Install install.otp_version install.bin ++INST_DEP += install.dirs install.emulator install.libs install.Install install.otp_version + + install: $(INST_DEP) + diff --git a/lang/erlang-runtime25/files/patch-erts_etc_unix_run__erl.c b/lang/erlang-runtime25/files/patch-erts_etc_unix_run__erl.c new file mode 100644 index 000000000000..b76c5127d2a8 --- /dev/null +++ b/lang/erlang-runtime25/files/patch-erts_etc_unix_run__erl.c @@ -0,0 +1,12 @@ +--- erts/etc/unix/run_erl.c.orig 2015-03-31 12:32:52 UTC ++++ erts/etc/unix/run_erl.c +@@ -73,9 +73,6 @@ + #ifdef HAVE_UTMP_H + # include + #endif +-#ifdef HAVE_UTIL_H +-# include +-#endif + #ifdef HAVE_SYS_IOCTL_H + # include + #endif diff --git a/lang/erlang-runtime25/files/patch-lib_crypto_c__src_Makefile.in b/lang/erlang-runtime25/files/patch-lib_crypto_c__src_Makefile.in new file mode 100644 index 000000000000..8397bcac2200 --- /dev/null +++ b/lang/erlang-runtime25/files/patch-lib_crypto_c__src_Makefile.in @@ -0,0 +1,11 @@ +--- lib/crypto/c_src/Makefile.in.orig 2021-05-27 09:40:45 UTC ++++ lib/crypto/c_src/Makefile.in +@@ -136,7 +136,7 @@ endif + endif + + 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) + EXTRA_FLAGS = -DHAVE_DYNAMIC_CRYPTO_LIB + else diff --git a/lang/erlang-runtime25/files/patch-lib_stdlib_src_calendar.erl b/lang/erlang-runtime25/files/patch-lib_stdlib_src_calendar.erl new file mode 100644 index 000000000000..34b753d85b27 --- /dev/null +++ b/lang/erlang-runtime25/files/patch-lib_stdlib_src_calendar.erl @@ -0,0 +1,26 @@ +--- lib/stdlib/src/calendar.erl.orig 2015-03-31 12:32:52 UTC ++++ lib/stdlib/src/calendar.erl +@@ -279,11 +279,19 @@ local_time_to_universal_time(DateTime, I + DateTime1 :: datetime1970(), + DateTime :: datetime1970(). + local_time_to_universal_time_dst(DateTime) -> +- UtDst = erlang:localtime_to_universaltime(DateTime, true), +- Ut = erlang:localtime_to_universaltime(DateTime, false), + %% Reverse check the universal times +- LtDst = erlang:universaltime_to_localtime(UtDst), +- Lt = erlang:universaltime_to_localtime(Ut), ++ {UtDst, LtDst} = ++ try ++ UtDst0 = erlang:localtime_to_universaltime(DateTime, true), ++ {UtDst0, erlang:universaltime_to_localtime(UtDst0)} ++ catch error:badarg -> {error, error} ++ end, ++ {Ut, Lt} = ++ try ++ Ut0 = erlang:localtime_to_universaltime(DateTime, false), ++ {Ut0, erlang:universaltime_to_localtime(Ut0)} ++ catch error:badarg -> {error, error} ++ end, + %% Return the valid universal times + case {LtDst,Lt} of + {DateTime,DateTime} when UtDst =/= Ut -> diff --git a/lang/erlang-runtime25/files/pkg-message.in b/lang/erlang-runtime25/files/pkg-message.in new file mode 100644 index 000000000000..3564b8665b2a --- /dev/null +++ b/lang/erlang-runtime25/files/pkg-message.in @@ -0,0 +1,8 @@ +[ +{ type: install + message: <