Subject: CVS commit: pkgsrc/lang
From: Filip Hajny
Date: 2017-07-04 13:40:48
Message id: 20170704114048.8A313FAE8@cvs.NetBSD.org

Log Message:
Update lang/erlang* to 20.0.

Potential Incompatibilities
---------------------------

- ERTS:
  - The non SMP Erlang VM is deprecated and not built by default
  - Remove deprecated erlang:hash/2
  - erlang:statistics/1 with scheduler_wall_time now also includes
    info about dirty CPU schedulers.
  - The new purge strategy introduced in OTP 19.1 is mandatory and
    slightly incompatible for processes holding funs
  - The NIF library reload is not supported anymore.
  - Atoms can now contain arbitrary unicode characters which means
    that the DFLAG_UTF8_ATOMS capability in the distribution protocol
    must be supported if an OTP 20 node should accept the connection
    with another node or library.
- Asn1: Deprecated module and functions removed (asn1rt,
  asn1ct:encode/3 and decode/3)
- Ssh: client only option in a call to start a daemon will now fail

Highlights
----------

- Erts:
  - Dirty schedulers enabled and supported on VM with SMP support.
  - support for "dirty" BIFs and "dirty" GC.
  - erlang:garbage_collect/2 for control of minor or major GC
  - Erlang literals are no longer copied when sending messages.
  - Improved performance for large ETS tables, >256 entries (except
    ordered_set)
  - erlang:system_info/1 atom_count and atom_limit
  - Reduced memory pressure by converting sub-binaries to
    heap-binaries during GC
  - enif_select, map an external event to message
  - Improvements of timers internally in the VM resulting in reduced
    memory consumption and more efficient administration for timers
- Compiler:
  - Code generation for complicated guards is improved.
  - Warnings for repeated identical map keys. #{'a'=>1, 'b'=>2,
    'a'=>3} will warn for the repeated key a.
  - By default there is now a warning when export_all is used. Can be
    disabled
  - Pattern matching for maps is optimized
  - New option deterministic to omit path to source + options info the
    BEAM file.
  - Atoms may now contain arbitrary unicode characters.
  - compile:file/2 has an option to include extra chunks in the BEAM
    file.
- Misc other applications
  - Significantly updated string module with unicode support and many
    new functions
  - crypto now supports OpenSSL 1.1
  - Unnamed ets tables optimized
  - gen_fsm is deprecated and replaced by gen_statem
  - A new event manager to handle a subset of OS signals in Erlang
  - Optimized sets add_element, del_element and union
  - Added rand:jump/0-1
  - When a gen_server crashes, the stacktrace for the client will be
    printed to facilitate debugging.
  - take/2 has been added to dict, orddict, and gb_trees.
  - take_any/2 has been added to gb_trees
  - erl_tar support for long path names and new file formats
  - asn1: the new maps option changes the representation of SEQUENCE
    to be maps instead of records
  - A TLS client will by default call
    public_key:pkix_verify_hostname/2 to verify the hostname
  - ssl: DTLS documented in the API, experimental
  - ssh: improving security, removing and adding algorithms
  - New math:fmod/2

Files:
RevisionActionfile
1.28modifypkgsrc/lang/erlang/Makefile.versions
1.27modifypkgsrc/lang/erlang/PLIST
1.5modifypkgsrc/lang/erlang/PLIST.hipe
1.51modifypkgsrc/lang/erlang/distinfo
1.26modifypkgsrc/lang/erlang-doc/PLIST
1.24modifypkgsrc/lang/erlang-doc/distinfo
1.22modifypkgsrc/lang/erlang-man/PLIST
1.24modifypkgsrc/lang/erlang-man/distinfo
1.4removepkgsrc/lang/erlang/patches/patch-am
1.4removepkgsrc/lang/erlang/patches/patch-ao