From nobody Sun Jun 2 19:33:08 2024 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Vsn8453KQz5Jpx6; Sun, 02 Jun 2024 19:33:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Vsn844VRCz4cFg; Sun, 2 Jun 2024 19:33:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1717356788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aLSsXoLT7+/kELozWYibCP424BIKjLedv2MdZNCVKMc=; b=Xjj0HtlleEldkjNcdEkrCIQ1Be/5pOgsxsgE7W5cBdMmLGGazThhXo7bJMoPu88b6LagxD x8KwSrLEH7JT64qzASHNEahNXj4JBOvE+vc2R5j1MjQfWCKrfhJUu9mSdV5uqu2bKlCA74 Et153uMA+7XF5TGdWO9BS3jiGmOc9FidBCy0mMfY60joqqvlzwHubZc/RMjPUy2GTNLPdl XTfAJTN00P7yzut62Ir2OZ4slredpJRzYAC2PaVoxWJlZ1erLCI4klbB47ZII3zi8JV6cp KuP9H6Wrke1BNWH+x+X+2MiWuPAru3GCvAOl/Tk0vIqSdA5KM4PODMoz4pcXxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1717356788; a=rsa-sha256; cv=none; b=cgeDkv615A+qY139lhz1CcoIw2ff4MfwNglwDDJUilSrvkjeJyi2zOSdE04kSoRzpZZXis chKDQTQuT9mOXf24aMlFBlwe1Xm5pymZVPh9SZIbKEKQMrZ1j91XkGJKyNBEh59/Ky99pk toYsgEqWildVhDT8VZ3tX4TWCqDr5WGbG/h2vkgbvMxSGjEcl3ZlzalsYfYPrGexUwiqJG fwQX+t2ekaxUtH3nR9BMjld2AOIQzPXZk7KeCMHAQcHHUXSdngWCGbvNo4Kq9qZv0ERLah Zy8mTBAbTJn8WVhTdt+36dtLplBBeLLOp1VzQuUjAcFG6IfJd8CW4yUr1Vwtgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1717356788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aLSsXoLT7+/kELozWYibCP424BIKjLedv2MdZNCVKMc=; b=HvgjfYuNhuQVmJag6+SI+08jATpjlf1V1IP395wDLdZSN4ycPcHP7yJUUNGei+/UP3bgb4 CC7MTanJ+el7IJTQ+JPLuxW5PQy0Z9tefLOZ7Wb/oL8Fsyyw4XN1qD53NpNp946VLsAMq0 q7suUci7YLN/mhV5+9VgzwSGoB12KpRveyyGRqkkRiHEb5LxGlvqzpszRTGfmA5IJVJBDs g16paodT7k8whCcYdf8bkFu58qe7HU3KC2VyRTJviWqDTc7wlr1FfYGPC4QW6yfWw8hogO eVZnWcE/kQ3wyWrPSJ/JfAsO3KhAQPqYfDEdy31FMVTvypvwFbAzruh9AYC2JA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Vsn8445m6z144C; Sun, 2 Jun 2024 19:33:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 452JX8hS031376; Sun, 2 Jun 2024 19:33:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 452JX8sp031373; Sun, 2 Jun 2024 19:33:08 GMT (envelope-from git) Date: Sun, 2 Jun 2024 19:33:08 GMT Message-Id: <202406021933.452JX8sp031373@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Dave Cottlehuber Subject: git: da99f9f6367b - main - lang/erlang-runtime27: add the actual port as well List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dch X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: da99f9f6367b04919b21e99ef9eba7bb404c64ec Auto-Submitted: auto-generated The branch main has been updated by dch: URL: https://cgit.FreeBSD.org/ports/commit/?id=da99f9f6367b04919b21e99ef9eba7bb404c64ec commit da99f9f6367b04919b21e99ef9eba7bb404c64ec Author: Dave Cottlehuber AuthorDate: 2024-06-02 19:32:05 +0000 Commit: Dave Cottlehuber CommitDate: 2024-06-02 19:32:37 +0000 lang/erlang-runtime27: add the actual port as well Fixes: afb2e3531296b7763cba4a1f70631af8df80f393 --- lang/erlang-runtime27/Makefile | 164 +++++++++++++++++++++ lang/erlang-runtime27/distinfo | 5 + lang/erlang-runtime27/files/patch-Makefile.in | 20 +++ .../files/patch-erts_etc_unix_run__erl.c | 12 ++ .../files/patch-lib_crypto_c__src_Makefile.in | 11 ++ .../files/patch-lib_stdlib_src_calendar.erl | 26 ++++ lang/erlang-runtime27/files/pkg-message.in | 8 + lang/erlang-runtime27/pkg-descr | 8 + 8 files changed, 254 insertions(+) diff --git a/lang/erlang-runtime27/Makefile b/lang/erlang-runtime27/Makefile new file mode 100644 index 000000000000..4e6634c7bc36 --- /dev/null +++ b/lang/erlang-runtime27/Makefile @@ -0,0 +1,164 @@ +PORTNAME= erlang +DISTVERSIONPREFIX= OTP- +DISTVERSION= 27.0 +CATEGORIES= lang parallel java +PKGNAMESUFFIX= -runtime27 +DIST_SUBDIR= erlang + +MAINTAINER= erlang@FreeBSD.org +COMMENT= Functional programming language from Ericsson +WWW= https://www.erlang.org/ + +LICENSE= APACHE20 + +USES= compiler 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.2.1:corba +USE_PERL5= build + +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --enable-dirty-schedulers \ + --enable-kernel-poll \ + --enable-smp-support \ + --enable-threads + +_ERLANG_LIB= ${PORTNAME}${PORTVERSION:C/\..*//} + +DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX} +SUB_FILES= pkg-message +SUB_LIST= _ERLANG_LIB=${_ERLANG_LIB} + +WRKSRC= ${WRKSRC_otp} + +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. + +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:ldflags +ODBC_CONFIGURE_WITH= odbc +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.2+ \ + WX_COMPS="wx" + +.include + +.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 130 +# PR 258494 +CONFIGURE_ARGS+= --disable-pgo +.endif + +.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-install-CHUNKS-on: + cd ${WRKSRC_otp} && \ + ${SETENV} ERL_TOP=${WRKSRC_otp} \ + ${MAKE_CMD} release_docs DOC_TARGETS=chunks \ + RELEASE_ROOT=${STAGEDIR}${PREFIX}/lib/${_ERLANG_LIB} + +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-runtime27/distinfo b/lang/erlang-runtime27/distinfo new file mode 100644 index 000000000000..43fb62988eb8 --- /dev/null +++ b/lang/erlang-runtime27/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1717328947 +SHA256 (erlang/erlang-otp-OTP-27.0_GH0.tar.gz) = 5c8ad9143ee81c26aae4699c4bc64f76c5e838efb778f988ad9bb1305f505fed +SIZE (erlang/erlang-otp-OTP-27.0_GH0.tar.gz) = 62019520 +SHA256 (erlang/erlang-corba-5.2.1_GH0.tar.gz) = e96e9dc710c0ab3282ca5045434f5bc5ff493c22ba63fcfd764ce4d6a13a7c8f +SIZE (erlang/erlang-corba-5.2.1_GH0.tar.gz) = 1400553 diff --git a/lang/erlang-runtime27/files/patch-Makefile.in b/lang/erlang-runtime27/files/patch-Makefile.in new file mode 100644 index 000000000000..b09184b13882 --- /dev/null +++ b/lang/erlang-runtime27/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 = /erlang27 + 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-runtime27/files/patch-erts_etc_unix_run__erl.c b/lang/erlang-runtime27/files/patch-erts_etc_unix_run__erl.c new file mode 100644 index 000000000000..b76c5127d2a8 --- /dev/null +++ b/lang/erlang-runtime27/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-runtime27/files/patch-lib_crypto_c__src_Makefile.in b/lang/erlang-runtime27/files/patch-lib_crypto_c__src_Makefile.in new file mode 100644 index 000000000000..8397bcac2200 --- /dev/null +++ b/lang/erlang-runtime27/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-runtime27/files/patch-lib_stdlib_src_calendar.erl b/lang/erlang-runtime27/files/patch-lib_stdlib_src_calendar.erl new file mode 100644 index 000000000000..34b753d85b27 --- /dev/null +++ b/lang/erlang-runtime27/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-runtime27/files/pkg-message.in b/lang/erlang-runtime27/files/pkg-message.in new file mode 100644 index 000000000000..bc656f93e1a6 --- /dev/null +++ b/lang/erlang-runtime27/files/pkg-message.in @@ -0,0 +1,8 @@ +[ +{ type: install + message: <