2022-06-28 13:30:51 +02:00
|
|
|
# $NetBSD: Makefile,v 1.109 2022/06/28 11:34:10 wiz Exp $
|
2003-04-30 01:47:45 +02:00
|
|
|
|
erlang: Update to 22.1.7
Potential Incompatibilities
Mnesia: Transactions with sticky locks could with async_asym transactions be committed in the wrong order, since asym transactions are spawned on the remote nodes. To fix this bug the communication protocol between mnesia nodes had to be updated, thus mnesia will no longer be able to connect to nodes earlier than mnesia-4.14 ,first realeased in OTP-19.0.
Stdlib: Debugging of time-outs in gen_statem has been improved. Starting a time-out is now logged in sys:log and sys:trace. Running time-outs are visible in server crash logs, and with sys:get_status. Due to this system events {start_timer, Action, State} and {insert_timout, Event, State} have been added, which may surprise tools that rely on the format of these events. New features: The EventContent of a running time-out can be updated with {TimeoutType, update, NewEventContent}. Running time-outs can be cancelled with {TimeoutType, cancel} which is more readable than using Time = infinity.{rel, Name, Vsn, RelApps, Opts}.
Highlights
Compiler:
erlc can now automatically use a compile server to avoid starting an Erlang system for each file to be compiled in a multi-file project. See the documentation for how to enable it.
Standard libraries:
SSL: Basic support for TLS 1.3 Client for experimental use. For more information see the Standards Compliance chapter of the User's Guide.
crypto: The Message Authentication Codes (MAC) CMAC, HMAC and Poly1305 are unified into common functions in the New Crypto API. See the manual for CRYPTO. cipher_info/1 functions returns maps with information about the hash or cipher in the argument.
2019-11-18 21:46:01 +01:00
|
|
|
DISTNAME= erlang-${DIST_VERSION_MAJOR}.${DIST_VERSION_MINOR}${!empty(DIST_VERSION_PATCH):?.:}${DIST_VERSION_PATCH}
|
|
|
|
PKGNAME= ${DISTNAME:S/OTP-/erlang-/}
|
2022-06-28 13:30:51 +02:00
|
|
|
PKGREVISION= 2
|
erlang: Update to 22.1.7
Potential Incompatibilities
Mnesia: Transactions with sticky locks could with async_asym transactions be committed in the wrong order, since asym transactions are spawned on the remote nodes. To fix this bug the communication protocol between mnesia nodes had to be updated, thus mnesia will no longer be able to connect to nodes earlier than mnesia-4.14 ,first realeased in OTP-19.0.
Stdlib: Debugging of time-outs in gen_statem has been improved. Starting a time-out is now logged in sys:log and sys:trace. Running time-outs are visible in server crash logs, and with sys:get_status. Due to this system events {start_timer, Action, State} and {insert_timout, Event, State} have been added, which may surprise tools that rely on the format of these events. New features: The EventContent of a running time-out can be updated with {TimeoutType, update, NewEventContent}. Running time-outs can be cancelled with {TimeoutType, cancel} which is more readable than using Time = infinity.{rel, Name, Vsn, RelApps, Opts}.
Highlights
Compiler:
erlc can now automatically use a compile server to avoid starting an Erlang system for each file to be compiled in a multi-file project. See the documentation for how to enable it.
Standard libraries:
SSL: Basic support for TLS 1.3 Client for experimental use. For more information see the Standards Compliance chapter of the User's Guide.
crypto: The Message Authentication Codes (MAC) CMAC, HMAC and Poly1305 are unified into common functions in the New Crypto API. See the manual for CRYPTO. cipher_info/1 functions returns maps with information about the hash or cipher in the argument.
2019-11-18 21:46:01 +01:00
|
|
|
CATEGORIES= lang
|
|
|
|
MASTER_SITES= ${MASTER_SITE_GITHUB:=erlang/}
|
|
|
|
GITHUB_PROJECT= otp
|
|
|
|
GITHUB_TAG= OTP-${PKGVERSION_NOREV}
|
2003-04-30 01:47:45 +02:00
|
|
|
|
erlang: Update to 22.1.7
Potential Incompatibilities
Mnesia: Transactions with sticky locks could with async_asym transactions be committed in the wrong order, since asym transactions are spawned on the remote nodes. To fix this bug the communication protocol between mnesia nodes had to be updated, thus mnesia will no longer be able to connect to nodes earlier than mnesia-4.14 ,first realeased in OTP-19.0.
Stdlib: Debugging of time-outs in gen_statem has been improved. Starting a time-out is now logged in sys:log and sys:trace. Running time-outs are visible in server crash logs, and with sys:get_status. Due to this system events {start_timer, Action, State} and {insert_timout, Event, State} have been added, which may surprise tools that rely on the format of these events. New features: The EventContent of a running time-out can be updated with {TimeoutType, update, NewEventContent}. Running time-outs can be cancelled with {TimeoutType, cancel} which is more readable than using Time = infinity.{rel, Name, Vsn, RelApps, Opts}.
Highlights
Compiler:
erlc can now automatically use a compile server to avoid starting an Erlang system for each file to be compiled in a multi-file project. See the documentation for how to enable it.
Standard libraries:
SSL: Basic support for TLS 1.3 Client for experimental use. For more information see the Standards Compliance chapter of the User's Guide.
crypto: The Message Authentication Codes (MAC) CMAC, HMAC and Poly1305 are unified into common functions in the New Crypto API. See the manual for CRYPTO. cipher_info/1 functions returns maps with information about the hash or cipher in the argument.
2019-11-18 21:46:01 +01:00
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
|
|
|
HOMEPAGE= https://www.erlang.org/
|
|
|
|
COMMENT= Concurrent functional programming language
|
|
|
|
LICENSE= apache-2.0
|
2003-04-30 01:47:45 +02:00
|
|
|
|
erlang: Update to 22.1.7
Potential Incompatibilities
Mnesia: Transactions with sticky locks could with async_asym transactions be committed in the wrong order, since asym transactions are spawned on the remote nodes. To fix this bug the communication protocol between mnesia nodes had to be updated, thus mnesia will no longer be able to connect to nodes earlier than mnesia-4.14 ,first realeased in OTP-19.0.
Stdlib: Debugging of time-outs in gen_statem has been improved. Starting a time-out is now logged in sys:log and sys:trace. Running time-outs are visible in server crash logs, and with sys:get_status. Due to this system events {start_timer, Action, State} and {insert_timout, Event, State} have been added, which may surprise tools that rely on the format of these events. New features: The EventContent of a running time-out can be updated with {TimeoutType, update, NewEventContent}. Running time-outs can be cancelled with {TimeoutType, cancel} which is more readable than using Time = infinity.{rel, Name, Vsn, RelApps, Opts}.
Highlights
Compiler:
erlc can now automatically use a compile server to avoid starting an Erlang system for each file to be compiled in a multi-file project. See the documentation for how to enable it.
Standard libraries:
SSL: Basic support for TLS 1.3 Client for experimental use. For more information see the Standards Compliance chapter of the User's Guide.
crypto: The Message Authentication Codes (MAC) CMAC, HMAC and Poly1305 are unified into common functions in the New Crypto API. See the manual for CRYPTO. cipher_info/1 functions returns maps with information about the hash or cipher in the argument.
2019-11-18 21:46:01 +01:00
|
|
|
EXTRACT_USING= bsdtar
|
|
|
|
|
|
|
|
WRKSRC= ${WRKDIR}/otp-${GITHUB_TAG}
|
|
|
|
GNU_CONFIGURE= yes
|
|
|
|
USE_TOOLS+= autoconf awk gmake perl:run flex
|
|
|
|
|
2021-10-08 00:40:58 +02:00
|
|
|
# "This run-time was supposed be compiled with all code below 2Gb,
|
|
|
|
# but the instruction 'allocate_tt' is located at 00000001c586f34c."
|
|
|
|
MKPIE_SUPPORTED= no
|
|
|
|
|
erlang: Update to 22.1.7
Potential Incompatibilities
Mnesia: Transactions with sticky locks could with async_asym transactions be committed in the wrong order, since asym transactions are spawned on the remote nodes. To fix this bug the communication protocol between mnesia nodes had to be updated, thus mnesia will no longer be able to connect to nodes earlier than mnesia-4.14 ,first realeased in OTP-19.0.
Stdlib: Debugging of time-outs in gen_statem has been improved. Starting a time-out is now logged in sys:log and sys:trace. Running time-outs are visible in server crash logs, and with sys:get_status. Due to this system events {start_timer, Action, State} and {insert_timout, Event, State} have been added, which may surprise tools that rely on the format of these events. New features: The EventContent of a running time-out can be updated with {TimeoutType, update, NewEventContent}. Running time-outs can be cancelled with {TimeoutType, cancel} which is more readable than using Time = infinity.{rel, Name, Vsn, RelApps, Opts}.
Highlights
Compiler:
erlc can now automatically use a compile server to avoid starting an Erlang system for each file to be compiled in a multi-file project. See the documentation for how to enable it.
Standard libraries:
SSL: Basic support for TLS 1.3 Client for experimental use. For more information see the Standards Compliance chapter of the User's Guide.
crypto: The Message Authentication Codes (MAC) CMAC, HMAC and Poly1305 are unified into common functions in the New Crypto API. See the manual for CRYPTO. cipher_info/1 functions returns maps with information about the hash or cipher in the argument.
2019-11-18 21:46:01 +01:00
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
|
|
|
|
.if !empty(MACHINE_ARCH:M*armv6*) || !empty(MACHINE_ARCH:M*armv7*)
|
|
|
|
MAKE_FLAGS+= ARCH=arm
|
|
|
|
.endif
|
2008-01-04 15:10:05 +01:00
|
|
|
|
2009-12-15 13:07:57 +01:00
|
|
|
USE_GNU_CONFIGURE_HOST= ${USE_CROSS_COMPILE}
|
2007-02-26 16:47:43 +01:00
|
|
|
OVERRIDE_DIRDEPTH= 4
|
2003-04-30 01:47:45 +02:00
|
|
|
|
2008-04-08 15:16:22 +02:00
|
|
|
CONFIGURE_ARGS+= --with-ssl=${BUILDLINK_PREFIX.openssl}
|
2005-07-12 11:40:46 +02:00
|
|
|
|
2009-12-15 13:07:57 +01:00
|
|
|
PTHREAD_OPTS+= require native
|
|
|
|
CONFIGURE_ARGS+= --enable-threads
|
|
|
|
|
|
|
|
MAKE_ENV+= DESTDIR=${DESTDIR}
|
|
|
|
|
2011-04-25 22:58:24 +02:00
|
|
|
REPLACE_INTERPRETER+= escript
|
|
|
|
REPLACE.escript.old= .*escript
|
2015-07-18 10:55:16 +02:00
|
|
|
REPLACE.escript.new= ${PREFIX}/bin/escript
|
2020-02-27 14:46:39 +01:00
|
|
|
REPLACE_FILES.escript+= lib/diameter/bin/diameterc
|
|
|
|
REPLACE_FILES.escript+= lib/erl_docgen/priv/bin/codeline_preprocessing.escript
|
|
|
|
REPLACE_FILES.escript+= lib/erl_docgen/priv/bin/xml_from_edoc.escript
|
|
|
|
REPLACE_FILES.escript+= lib/reltool/examples/display_args
|
|
|
|
REPLACE_FILES.escript+= lib/reltool/examples/mnesia_core_dump_viewer
|
|
|
|
REPLACE_FILES.escript+= lib/snmp/src/compile/snmpc.src
|
2011-04-25 22:58:24 +02:00
|
|
|
|
2005-12-05 21:49:47 +01:00
|
|
|
SUBST_CLASSES+= target
|
2018-07-04 15:40:07 +02:00
|
|
|
SUBST_STAGE.target= pre-configure
|
2004-09-13 15:43:30 +02:00
|
|
|
SUBST_FILES.target= make/target.mk
|
|
|
|
SUBST_SED.target= -e "s|=.*config.guess)|= ${MACHINE_GNU_PLATFORM}|"
|
2006-03-29 23:33:16 +02:00
|
|
|
SUBST_MESSAGE.target= Fixing target name.
|
2004-09-13 15:43:30 +02:00
|
|
|
|
2009-12-15 13:07:57 +01:00
|
|
|
TEST_TARGET= tests
|
2011-04-14 21:34:07 +02:00
|
|
|
TEST_MAKE_FLAGS= ERL_TOP=${WRKSRC}
|
2009-12-15 13:07:57 +01:00
|
|
|
|
2014-03-11 15:34:36 +01:00
|
|
|
SMF_NAME= epmd
|
|
|
|
|
2016-02-25 15:42:55 +01:00
|
|
|
CONFIGURE_ARGS.DragonFly+= --disable-sctp
|
|
|
|
|
2009-12-15 13:07:57 +01:00
|
|
|
###
|
|
|
|
### XXX There may be others here.
|
|
|
|
###
|
2015-08-30 14:30:33 +02:00
|
|
|
.if ${OPSYS} == "NetBSD" || ${OPSYS} == "OpenBSD" || ${OPSYS} == "Darwin"
|
2009-12-15 13:07:57 +01:00
|
|
|
CONFIGURE_ARGS+= --enable-kernel-poll
|
|
|
|
.endif
|
2007-07-30 09:15:36 +02:00
|
|
|
|
2018-04-01 22:29:38 +02:00
|
|
|
CHECK_RELRO_SKIP+= lib/erlang/lib/megaco-${VERSION.megaco}/priv/lib/megaco_flex_scanner_drv.so
|
|
|
|
CHECK_RELRO_SKIP+= lib/erlang/lib/megaco-${VERSION.megaco}/priv/lib/megaco_flex_scanner_drv_mt.so
|
|
|
|
|
2005-12-30 11:32:16 +01:00
|
|
|
.include "options.mk"
|
|
|
|
|
Update to 21.0.9. From the release announcements:
--- POTENTIAL INCOMPATIBILITIES -------------------------------------
OTP-15225 Application(s): erts
Fixed a bug causing some Erlang references to be
inconsistently ordered. This could for example cause
failure to look up certain elements with references as
keys in search data structures. This bug was introduced
in R13B02.
Thanks to Simon Cornish for finding the bug and
supplying a fix.
--- compiler-7.2.4 --------------------------------------------------
--- Fixed Bugs and Malfunctions ---
OTP-15292 Application(s): compiler
Fix a regression in OTP-15204 that removed .beam file
metadata that some external build tools relied on.
OTP-15204 Application(s): compiler
Related Id(s): ERL-679
Fixed an issue where files compiled with the
+deterministic option differed if they were compiled in
a different directory but were otherwise identical.
OTP-15156 Application(s): compiler
Related Id(s): ERL-655
In rare cases involving matching of binary literal
strings, the compiler could optimize away code that
should be executed.
OTP-15157 Application(s): compiler
There could be an internal consistency check failure
when compiling code that called map_get(Key, Map) and
then updated the same map.
OTP-15166 Application(s): compiler
Related Id(s): ERL-660
In rare circumstances, the compiler could crash in
beam_jump when compiling a floating point operation.
OTP-15150 Application(s): compiler
Related Id(s): ERL-650
The compiler could could crash when compiling a
complicated function that used the binary syntax.
Full runtime dependencies of compiler-7.2.4: crypto-3.6, erts-9.0,
hipe-3.12, kernel-4.0, stdlib-2.5
--- erts-10.0.8 -----------------------------------------------------
--- Fixed Bugs and Malfunctions ---
OTP-15289 Application(s): erts
Related Id(s): ERIERL-235, ERL-576, OTP-14943
As of ERTS version 10.0 (OTP 21.0) the erl_child_setup
program, which creates port programs, ignores TERM
signals. This setting was unintentionally inherited by
port programs. Handling of TERM signals in port
programs has now been restored to the default behavior.
That is, terminate the process.
OTP-15296 Application(s): erts
Related Id(s): ERIERL-226, OTP-15279
The fix made for OTP-15279 in erts-10.07 (OTP-21.0.8)
was not complete. It could cause a new connection
attempt to be incorrectly aborted in certain cases.
This fix will amend that flaw.
OTP-15275 Application(s): erts
Related Id(s): PR-1943
A process could get stuck in an infinite rescheduling
loop between normal and dirty schedulers. This bug was
introduced in ERTS version 10.0.
Thanks to Maxim Fedorov for finding and fixing this
issue.
OTP-15279 Application(s): erts
Related Id(s): ERIERL-226
Garbage collection of a distribution entry could cause
an emulator crash if net_kernel had not brought
previous connection attempts on it down properly.
OTP-15237 Application(s): erts
A race between termination of a process and resume of
the same process via erlang:resume_process/1 could
cause the VM to crash. This bug was introduced in erts
version 10.0 (OTP 21.0).
OTP-15269 Application(s): erts
Related Id(s): ERL-713
When tracing on running, in trace events could be lost
when a process was rescheduled between a dirty and a
normal scheduler.
OTP-15223 Application(s): erts
Fixed a bug which caused an emulator crash when
enif_send() was called by a NIF that executed on a
dirty scheduler. The bug was either triggered when the
NIF called enif_send() without a message environment,
or when the process executing the NIF was send traced.
OTP-15225 Application(s): erts
*** POTENTIAL INCOMPATIBILITY ***
Fixed a bug causing some Erlang references to be
inconsistently ordered. This could for example cause
failure to look up certain elements with references as
keys in search data structures. This bug was introduced
in R13B02.
Thanks to Simon Cornish for finding the bug and
supplying a fix.
OTP-15169 Application(s): erts
Fixed a bug that prevented the noshell option from
working correctly on Mac OS X and BSD.
OTP-15184 Application(s): erts
Fixed a crash when matching directly against a literal
map using a single key that had been saved on the
stack.
OTP-15196 Application(s): erts
Fix node crash when passing a bad time option to
file:read_file_info/2.
OTP-15154 Application(s): erts
Fixed a scheduler bug that caused normal schedulers to
run dirty code.
OTP-15183 Application(s): erts
Related Id(s): ERL-670
Fixed a bug in erlang:trace_info/2 which caused the
emulator to crash when a bad argument was passed. The
bug was introduced in ERTS version 10.0.
OTP-15067 Application(s): erts
Related Id(s): ERL-573
Fixed a rare bug that could cause processes to be
scheduled after they had been freed.
OTP-15158 Application(s): erts
Related Id(s): ERL-654
Fixed a race condition in the inet driver that could
cause receive to hang when the emulator was compiled
with gcc 8.
OTP-15147 Application(s): erts
Related Id(s): ERL-644
The keys used in os:getenv and os:putenv are
case-insensitive again on Windows.
Full runtime dependencies of erts-10.0.8: kernel-6.0, sasl-3.0.1,
stdlib-3.5
--- kernel-6.0.1 ----------------------------------------------------
--- Fixed Bugs and Malfunctions ---
OTP-15280 Application(s): kernel
Related Id(s): ERIERL-226, OTP-15279
Fixed bug in net_kernel that could cause an emulator
crash if certain connection attempts failed. Bug exists
since kernel-6.0 (OTP-21.0).
Full runtime dependencies of kernel-6.0.1: erts-10.0, sasl-3.0,
stdlib-3.5
--- crypto-4.3.2 ----------------------------------------------------
--- Fixed Bugs and Malfunctions ---
OTP-15233 Application(s): crypto
Update the crypto engine functions to handle multiple
loads of an engine.
engine_load/3/4 is updated so it doesn't add the engine
ID to OpenSSLs internal list of engines which makes it
possible to run the engine_load more than once if it
doesn't contain global data.
Added ensure_engine_loaded/2/3 which guarantees that
the engine just is loaded once and the following calls
just returns a reference to it. This is done by add the
ID to the internal OpenSSL list and check if it is
already registered when the function is called.
Added ensure_engine_unloaded/1/2 to unload engines
loaded with ensure_engine_loaded.
Then some more utility functions are added.
engine_add/1, adds the engine to OpenSSL internal list
engine_remove/1, remove the engine from OpenSSL
internal list
engine_get_id/1, fetch the engines id
engine_get_name/1, fetch the engine name
OTP-15194 Application(s): crypto
Related Id(s): ERL-673
Fixed a node crash in crypto:compute_key(ecdh, ...)
when passing a wrongly typed Others argument.
Full runtime dependencies of crypto-4.3.2: erts-9.0, kernel-5.3,
stdlib-3.4
--- public_key-1.6.1 ------------------------------------------------
OTP-15151 Application(s): public_key
Related Id(s): OTP-15113
Some of the keylengths in the newly generated moduli
file in public_key are not universally supported. This
could cause the SSH key exchange
diffie-hellman-group-exchange-sha* to fail.
Those keylengths are now removed.
Full runtime dependencies of public_key-1.6.1: asn1-3.0, crypto-3.8,
erts-6.0, kernel-3.0, stdlib-3.5
--- stdlib-3.5.1 ----------------------------------------------------
OTP-15159 Application(s): stdlib
Fix a bug that could cause a crash when formatting a
list of non-characters using the control sequences p or
P and limiting the output with the option chars_limit.
Full runtime dependencies of stdlib-3.5.1: compiler-5.0, crypto-3.3,
erts-10.0, kernel-6.0, sasl-3.0
2018-09-12 22:01:12 +02:00
|
|
|
pre-configure:
|
|
|
|
cd ${WRKSRC} && ./otp_build autoconf
|
|
|
|
|
2009-12-15 13:07:57 +01:00
|
|
|
###
|
|
|
|
### Ensure this gets rebuilt.
|
|
|
|
###
|
|
|
|
pre-build:
|
|
|
|
${RUN} ${RM} -f ${WRKSRC}/lib/stdlib/ebin/dets_v9.beam
|
|
|
|
|
lang/erlang*: Update to 21.0
Potential Incompatibilities
- All Corba applications are now moved from the OTP repository
- A new Corba repository will be created https://github.com/erlang
- New applications ftp and tftp, moved from inets
- ssl no longer supports 3_DES cipher suites or RSA-key exchange
cipher suites by default
- Erlang:monitor on a primitive node (erl_interface, jinterface, etc)
will no longer fail with badarg exception. Instead a monitor will be
created, but it will only supervise the connection to the node.
Erts:
- Enhanced IO scalability
- Support for usage of distribution controller processes for
alternative transports, routing etc
- compact instructions on 64bit systems for code below 4GB 20% less
memory for loaded code
- Rewrite of the efile-driver with NIFs and "Dirty schedulers"
resulting in faster file operations
- non-smp VM removed
- link and monitor optimized for scalability
- os:getenv/putenv now work on thread-safe emulation. No longer in
sync with libc getenv(3). Manual synchronization will be needed.
Compiler:
- Misc compiler optimizations including contributions from the Elixir
team resulting in 10% improvements in benchmarks
- "Tuple calls" have been removed from the run-time system.
- Code such as f({ok, Val}) -> {ok, Val} is now automatically
rewritten to f({ok, Val} = Tuple) -> Tuple. this reduces code size,
execution time, and removed GC pressure.
- More information in stacktrace from a number of operators
- erlang:get_stacktrace/0 deprecated to be replaced with try ... catch
C:R:Stacktrace -> ...
- Creation of small maps with literal keys optimized.
- A new predefined macro OTP_RELEASE and preprocessor directives -if
and -elif
Security:
- DTLS is now supported in the SSL application
- Enhanced support for distribution over TLS
- "unsecure" ciphers removed from defaults in SSL and SSH.
- A new option value defined to facilitate implementing exec servers.
Old option kept for compatibility, but now gives errors on stderror.
Standard libraries:
- New API for logging, logger
- New uri_string module for parsing URIs according to "The standard"
- New function lists:search(list,fun/1) -> {ok, Value} | false
- Changed default behaviour of .erlang loading. escript, erlc,
dialyzer and typer no longer load an .erlang at all.
2018-07-03 13:01:21 +02:00
|
|
|
###
|
2019-03-20 02:25:48 +01:00
|
|
|
### Generate a list of module versions.
|
lang/erlang*: Update to 21.0
Potential Incompatibilities
- All Corba applications are now moved from the OTP repository
- A new Corba repository will be created https://github.com/erlang
- New applications ftp and tftp, moved from inets
- ssl no longer supports 3_DES cipher suites or RSA-key exchange
cipher suites by default
- Erlang:monitor on a primitive node (erl_interface, jinterface, etc)
will no longer fail with badarg exception. Instead a monitor will be
created, but it will only supervise the connection to the node.
Erts:
- Enhanced IO scalability
- Support for usage of distribution controller processes for
alternative transports, routing etc
- compact instructions on 64bit systems for code below 4GB 20% less
memory for loaded code
- Rewrite of the efile-driver with NIFs and "Dirty schedulers"
resulting in faster file operations
- non-smp VM removed
- link and monitor optimized for scalability
- os:getenv/putenv now work on thread-safe emulation. No longer in
sync with libc getenv(3). Manual synchronization will be needed.
Compiler:
- Misc compiler optimizations including contributions from the Elixir
team resulting in 10% improvements in benchmarks
- "Tuple calls" have been removed from the run-time system.
- Code such as f({ok, Val}) -> {ok, Val} is now automatically
rewritten to f({ok, Val} = Tuple) -> Tuple. this reduces code size,
execution time, and removed GC pressure.
- More information in stacktrace from a number of operators
- erlang:get_stacktrace/0 deprecated to be replaced with try ... catch
C:R:Stacktrace -> ...
- Creation of small maps with literal keys optimized.
- A new predefined macro OTP_RELEASE and preprocessor directives -if
and -elif
Security:
- DTLS is now supported in the SSL application
- Enhanced support for distribution over TLS
- "unsecure" ciphers removed from defaults in SSL and SSH.
- A new option value defined to facilitate implementing exec servers.
Old option kept for compatibility, but now gives errors on stderror.
Standard libraries:
- New API for logging, logger
- New uri_string module for parsing URIs according to "The standard"
- New function lists:search(list,fun/1) -> {ok, Value} | false
- Changed default behaviour of .erlang loading. escript, erlc,
dialyzer and typer no longer load an .erlang at all.
2018-07-03 13:01:21 +02:00
|
|
|
###
|
|
|
|
.PHONY: versions
|
|
|
|
versions: do-extract
|
|
|
|
@${ECHO} "# \$$NetBSD\$$" > ${.CURDIR}/versions.mk
|
|
|
|
@${ECHO} "# Do not edit, regenerate using 'make versions'" >> ${.CURDIR}/versions.mk
|
2020-02-27 14:46:39 +01:00
|
|
|
${AWK} -F: '/OTP-${PKGVERSION_NOREV} :/{print $$2}' ${WRKSRC}/otp_versions.table | \
|
|
|
|
${SED} -e 's/# //g' -e 's/-/ /g' \
|
|
|
|
-e 's,^ ,_VERSIONS= ,' \
|
|
|
|
-e 's, *$$,,' \
|
|
|
|
>> ${.CURDIR}/versions.mk
|
lang/erlang*: Update to 21.0
Potential Incompatibilities
- All Corba applications are now moved from the OTP repository
- A new Corba repository will be created https://github.com/erlang
- New applications ftp and tftp, moved from inets
- ssl no longer supports 3_DES cipher suites or RSA-key exchange
cipher suites by default
- Erlang:monitor on a primitive node (erl_interface, jinterface, etc)
will no longer fail with badarg exception. Instead a monitor will be
created, but it will only supervise the connection to the node.
Erts:
- Enhanced IO scalability
- Support for usage of distribution controller processes for
alternative transports, routing etc
- compact instructions on 64bit systems for code below 4GB 20% less
memory for loaded code
- Rewrite of the efile-driver with NIFs and "Dirty schedulers"
resulting in faster file operations
- non-smp VM removed
- link and monitor optimized for scalability
- os:getenv/putenv now work on thread-safe emulation. No longer in
sync with libc getenv(3). Manual synchronization will be needed.
Compiler:
- Misc compiler optimizations including contributions from the Elixir
team resulting in 10% improvements in benchmarks
- "Tuple calls" have been removed from the run-time system.
- Code such as f({ok, Val}) -> {ok, Val} is now automatically
rewritten to f({ok, Val} = Tuple) -> Tuple. this reduces code size,
execution time, and removed GC pressure.
- More information in stacktrace from a number of operators
- erlang:get_stacktrace/0 deprecated to be replaced with try ... catch
C:R:Stacktrace -> ...
- Creation of small maps with literal keys optimized.
- A new predefined macro OTP_RELEASE and preprocessor directives -if
and -elif
Security:
- DTLS is now supported in the SSL application
- Enhanced support for distribution over TLS
- "unsecure" ciphers removed from defaults in SSL and SSH.
- A new option value defined to facilitate implementing exec servers.
Old option kept for compatibility, but now gives errors on stderror.
Standard libraries:
- New API for logging, logger
- New uri_string module for parsing URIs according to "The standard"
- New function lists:search(list,fun/1) -> {ok, Value} | false
- Changed default behaviour of .erlang loading. escript, erlc,
dialyzer and typer no longer load an .erlang at all.
2018-07-03 13:01:21 +02:00
|
|
|
|
2007-08-03 13:01:37 +02:00
|
|
|
post-install:
|
2009-12-15 13:07:57 +01:00
|
|
|
chmod -R go-w ${DESTDIR}${PREFIX}/lib/erlang/lib
|
|
|
|
|
lang/erlang*: Update to 21.0
Potential Incompatibilities
- All Corba applications are now moved from the OTP repository
- A new Corba repository will be created https://github.com/erlang
- New applications ftp and tftp, moved from inets
- ssl no longer supports 3_DES cipher suites or RSA-key exchange
cipher suites by default
- Erlang:monitor on a primitive node (erl_interface, jinterface, etc)
will no longer fail with badarg exception. Instead a monitor will be
created, but it will only supervise the connection to the node.
Erts:
- Enhanced IO scalability
- Support for usage of distribution controller processes for
alternative transports, routing etc
- compact instructions on 64bit systems for code below 4GB 20% less
memory for loaded code
- Rewrite of the efile-driver with NIFs and "Dirty schedulers"
resulting in faster file operations
- non-smp VM removed
- link and monitor optimized for scalability
- os:getenv/putenv now work on thread-safe emulation. No longer in
sync with libc getenv(3). Manual synchronization will be needed.
Compiler:
- Misc compiler optimizations including contributions from the Elixir
team resulting in 10% improvements in benchmarks
- "Tuple calls" have been removed from the run-time system.
- Code such as f({ok, Val}) -> {ok, Val} is now automatically
rewritten to f({ok, Val} = Tuple) -> Tuple. this reduces code size,
execution time, and removed GC pressure.
- More information in stacktrace from a number of operators
- erlang:get_stacktrace/0 deprecated to be replaced with try ... catch
C:R:Stacktrace -> ...
- Creation of small maps with literal keys optimized.
- A new predefined macro OTP_RELEASE and preprocessor directives -if
and -elif
Security:
- DTLS is now supported in the SSL application
- Enhanced support for distribution over TLS
- "unsecure" ciphers removed from defaults in SSL and SSH.
- A new option value defined to facilitate implementing exec servers.
Old option kept for compatibility, but now gives errors on stderror.
Standard libraries:
- New API for logging, logger
- New uri_string module for parsing URIs according to "The standard"
- New function lists:search(list,fun/1) -> {ok, Value} | false
- Changed default behaviour of .erlang loading. escript, erlc,
dialyzer and typer no longer load an .erlang at all.
2018-07-03 13:01:21 +02:00
|
|
|
.include "Makefile.versions"
|
|
|
|
|
2004-06-28 19:39:46 +02:00
|
|
|
.include "../../security/openssl/buildlink3.mk"
|
2013-10-18 17:47:49 +02:00
|
|
|
.include "../../mk/termcap.buildlink3.mk"
|
2004-06-28 19:39:46 +02:00
|
|
|
.include "../../mk/pthread.buildlink3.mk"
|
2003-04-30 01:47:45 +02:00
|
|
|
.include "../../mk/bsd.pkg.mk"
|