Subject: CVS commit: pkgsrc/lang
From: Filip Hajny
Date: 2018-07-03 13:01:21
Message id: 20180703110121.92AA0FB3E@cvs.NetBSD.org

Log Message:
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.

Files:
RevisionActionfile
1.85modifypkgsrc/lang/erlang/Makefile
1.32modifypkgsrc/lang/erlang/Makefile.versions
1.31modifypkgsrc/lang/erlang/PLIST
1.6modifypkgsrc/lang/erlang/PLIST.hipe
1.12modifypkgsrc/lang/erlang/PLIST.java
1.58modifypkgsrc/lang/erlang/distinfo
1.29modifypkgsrc/lang/erlang-doc/PLIST
1.28modifypkgsrc/lang/erlang-doc/distinfo
1.1addpkgsrc/lang/erlang/versions.mk
1.1addpkgsrc/lang/erlang/patches/patch-erts_emulator_sys_unix_sys__uds.c
1.1addpkgsrc/lang/erlang/patches/patch-erts_lib__src_common_erl__printf.c
1.1removepkgsrc/lang/erlang/patches/patch-erts_emulator_sys_common_erl__poll.c
1.2removepkgsrc/lang/erlang/patches/patch-erts_emulator_sys_unix_sys__uds.h