./lang/erlang, Concurrent functional programming language

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

Branch: CURRENT, Version: 20.3, Package name: erlang-20.3, 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)

   2018-04-01 22:29:38 by Filip Hajny | Files touched by this commit (1)
Log message:
lang/erlang: Avoid RELRO check fail on the megaco driver.
   2018-03-16 12:45:30 by Filip Hajny | Files touched by this commit (6) | Package updated
Log message:
lang/erlang: Update to 20.3.

- Added new API functions to facilitate cipher suite

erts, observer:
- More crash dump info such as: process binary virtual
  heap stats, full info for process causing out-of-mem
  during GC, more port related info, and dirty scheduler

- Add support for unix domain sockets in the http client.
   2018-01-29 17:54:38 by Jonathan Perkin | Files touched by this commit (3)
Log message:
erlang: Fix build with SunOS/C99.
   2017-12-13 15:45:20 by Filip Hajny | Files touched by this commit (8) | Package updated
Log message:
Update lang/erlang* to 20.2.

Some highlights:

crypto, ssl:
- The crypto API is extended to use private/public keys
  stored in an Engine for sign/verify or encrypt/decrypt
- The ssl application provides an API to use this new
  engine concept in TLS.

- SSH can now fetch the host key from the private keys
  stored in an Engine. See the crypto application for
  details about Engines.

- A new command line option -ssl_dist_optfile has been
  added to facilitate specifying the many options needed
  when using SSL as the distribution protocol.

- Improve performance of the new string functionality
  when handling ASCII characters.

Full release notes:

   2017-10-17 16:47:37 by Filip Hajny | Files touched by this commit (3) | Package updated
Log message:
lang/erlang: Fix incorrect internal consistency failure
for binary matching code. Bump PKGREVISION.
   2017-10-04 18:20:52 by Jonathan Perkin | Files touched by this commit (3) | Package updated
Log message:
erlang: Compile via CC wrapper to ensure correct flags.

Fixes SSP build of crypto_callback library.  Bump PKGREVISION.
   2017-10-02 20:10:39 by Filip Hajny | Files touched by this commit (6) | Package updated
Log message:
Update lang/erlang* to 20.1.

Some highlights for 20.1:

- crypto, public_key: Extend crypto and public_key functions sign and
  verify with:
  - support for RSASSA-PS padding for signatures and for saltlength
  - X9.31 RSA padding.
  - sha, sha224, sha256, sha384, and sha512 for dss signatures as
    mentioned in NIST SP 800-57 Part 1.
  - ripemd160 to be used for rsa signatures.

- A new tuple in crypto:supports/0 reports supported MAC algorithms.

- diameter:
  - Add service option decode_format to allow incoming messages to be
    decoded into maps instead of records.
  - Decode performance has been improved.
  - Add service/transport option avp_dictionaries to give better
    support for dictionaries only defining AVPs.

- erts: Upgraded the ERTS internal PCRE library from version 8.40 to
  version 8.41.

- erts, kernel, tools: Profiling with lock counting can now be fully
  toggled at runtime in the lock counting emulator (-emu_type lcnt).

- erts: The zlib module has been refactored and all its operations
  will now yield appropriately, allowing them to be used freely in
  concurrent applications.

- erts, tools: Add erlang:iolist_to_iovec/1, which converts an
  iolist() to an erlang:iovec(), which is suitable for use with

- erts: Add new nif API functions for managing an I/O Queue.

- observer/crashdump_viewer:
  - Reading of crash dumps with many binaries is optimized.
  - A progress bar is shown when the detail view for a process is
  - The cdv script now sets ERL_CRASH_DUMP_SECONDS=0 to avoid
    generating a new crash dump from the node running the Crashdump

- observer: Add system statistics and limits to frontpage in observer.

- public_key, ssl**: Improved error propagation and reports

- ssh: A new option modify_algorithms is implemented. It enables
  specifying changes on the default algorithms list.

- tools/xref: The predefined Xref analysis locals_not_used now
  understands the -on_load() attribute and does not report unused

- tools/fprof: When sampling multiple processes and analyzing with
  totals set to true, the output now sums together all caller and
  callee entries which concerns the same function.
   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