./lang/erlang, Concurrent functional programming language

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 20.0, Package name: erlang-20.0, Maintainer: pkgsrc-users

Erlang is a programming language which has many features more commonly
associated with an operating system than with a programming language:
concurrent processes, scheduling, memory management, distribution,
networking, etc.

The initial open-source Erlang release contains the implementation of
Erlang, as well as a large part of Ericsson's middleware for building
distributed high-availability systems.

Required to run:

Required to build:

Package options: erlang-hipe

Master sites:

Version history: (Expand)

CVS history: (Expand)

   2017-07-04 13:40:48 by Filip Hajny | Files touched by this commit (10) | Package updated
Log message:
Update lang/erlang* to 20.0.

Potential Incompatibilities

  - 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


- 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
  - 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
  - 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
- 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
   2017-04-13 20:24:45 by Filip Hajny | Files touched by this commit (1)
Log message:
Use USE_GLOBAL_DEPS that some Erlang packages seem to use to rely on system \ 
   2017-03-17 15:37:05 by Filip Hajny | Files touched by this commit (7) | Package updated
Log message:
Update lang/erlang* to 19.3.

Some highlights for 19.3:

- crypto, ssh: The implementation of the key exchange algorithms
  diffie-hellman-group-exchange-sha* are optimized, up to a factor of 11
  for the slowest ( = biggest and safest) group size.
- dialyzer: The peak memory consumption is reduced. Analyzing modules
  with binary construction with huge strings is now much faster.
- erts: A received SIGTERM signal to beam will generate a 'stop' message
  to the init process and terminate the Erlang VM nicely. This is
  equivalent to calling init:stop/0.
- kernel: The functions in the 'file' module that take a list of paths
  (e.g. file:path_consult/2) will now continue to search in the path if
  the path contains something that is not a directory.
- public_key: New function pkix_verify_hostname/2,3 Implements
  certificate hostname checking. See the manual and RFC 6125.
- public_key, ssh: The ssh host key fingerprint generation now also
  takes a list of algorithms and returns a list of corresponding
  fingerprints. See public_key:ssh_hostkey_fingerprint/2 and the option
  silently_accept_hosts in ssh:connect.
- ssl: Move PEM cache to a dedicated process, to avoid making the SSL
  manager process a bottleneck. This improves scalability of TLS
- stdlib: filename:safe_relative_path/1 to sanitize a relative path has
  been added.

Full release notes:

   2017-01-05 09:35:56 by Thomas Klausner | Files touched by this commit (1) | Package updated
Log message:
Remove patch that is not in distinfo after update.
   2017-01-03 09:37:01 by Filip Hajny | Files touched by this commit (7) | Package updated
Log message:
Update lang/erlang{,-doc,-man} to 19.2.

Erlang/OTP 19.2 is the second service release for the 19 major release.
The service release contains mostly bug fixes and characteristics

Some highlights for 19.2

* STDLIB: The new behaviour gen_statem has been improved with 3 new
  features: the possibility to use old style non-proxy timeouts
  for gen_statem:call/2,3, state entry code, and state
  timeouts. These are backwards compatible. Minor code and
  documentation improvements has been performed including a
  borderline semantics correction of timeout zero handling.

* SSL: Experimental version of DTLS. It is runnable but not complete
  and cannot be considered reliable for production usage. To use
  DTLS add the option {protocol, dtls} to ssl:connect and ssl:listen.

* SSH: Extended the option silently_accept_hosts for ssh:connect to
  make it possible for the client to check the SSH host key
  fingerprint string. Se the reference manual for SSH.

* ~40 contributions since the previous service release OTP 19.1

You can find the README and the full listing of changes for this
service release at

   2016-12-18 00:27:23 by Joerg Sonnenberger | Files touched by this commit (2)
Log message:
Avoid non-portable recognition of defined() in expanded macros.
   2016-12-17 14:06:18 by Roland Illig | Files touched by this commit (3)
Log message:
Fixed pkglint warnings.
   2016-10-04 10:16:13 by Havard Eidnes | Files touched by this commit (1)
Log message:
Remove entries which are (no longer?) installed on NetBSD/i386 or NetBSD/amd64.