pkgsrc/lang/erlang/Makefile

108 lines
3.1 KiB
Makefile
Raw Normal View History

2022-06-28 13:30:51 +02:00
# $NetBSD: Makefile,v 1.109 2022/06/28 11:34:10 wiz Exp $
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}
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
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
# "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
USE_GNU_CONFIGURE_HOST= ${USE_CROSS_COMPILE}
OVERRIDE_DIRDEPTH= 4
2008-04-08 15:16:22 +02:00
CONFIGURE_ARGS+= --with-ssl=${BUILDLINK_PREFIX.openssl}
PTHREAD_OPTS+= require native
CONFIGURE_ARGS+= --enable-threads
MAKE_ENV+= DESTDIR=${DESTDIR}
REPLACE_INTERPRETER+= escript
REPLACE.escript.old= .*escript
REPLACE.escript.new= ${PREFIX}/bin/escript
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
SUBST_CLASSES+= target
SUBST_STAGE.target= pre-configure
SUBST_FILES.target= make/target.mk
SUBST_SED.target= -e "s|=.*config.guess)|= ${MACHINE_GNU_PLATFORM}|"
SUBST_MESSAGE.target= Fixing target name.
TEST_TARGET= tests
Update to Erlang/OTP R14B02 Highlights composed by Matthew Sporleder. Changes in R14B02 (http://www.erlang.org/download/otp_src_R14B02.readme) - It is now possible to use Erlang specifications and types in EDoc documentation - All tests in Erlang/OTP have been converted to be run with Common Test as the backend instead of Test Server. - From this release, the previously experimental halfword emulator is now official - Dependency generation for Makefiles has been added to the compiler and erlc - Add a --fullpath option to Dialyzer (include version 2.4.2) - Many fixes in erts - Remove hipe constants pool - Partial support for recursive structs and unions - It is now possible to use SSH to sign and verify binary data. - typer has been rewritten Changes R14B01 (http://www.erlang.org/download/otp_src_R14B01.readme) - New ETS option compressed, to enable a more compact storage format at the expence of heavier table operations - There is now a new function inet:getifaddrs/0 modeled after C library function getifaddrs() on BSD and Linux that reports existing interfaces and their addresses on the host - Multiple crashes and infinite loops fixed - AES CTR encryption support in crypto - erl_call: remove get_hostent - The Erlang VM now supports Unicode filenames - New ETS option compressed Changes in R14B (http://www.erlang.org/download/otp_src_R14B.readme) - Large parts of the ethread library have been rewritten. - The changed API of the ethread library has also caused modifications in the Erlang runtime system. - Some Built In Functions (BIFs) are now autoimported - Added erlang:system_info(build_type) - A number of memory leaks in the crypto NIF library have been fixed - erl_call: fix multiple buffer overflows - NIF 64-bit integer support - Removed some potential vulnerabilities from the Erlang Port Mapper Daemon (epmd) - Replaced the old http client api module (http) with the new, httpc in the users guide. - inet6 improvements - ssh fixes - many ssl improvements/fixes - wx crash fix Changes in R14A (http://www.erlang.org/download/otp_src_R14A.readme) - R14A is a major new release of Erlang/OTP. - The module binary from EEP31 (and EEP9) is implemented - It is now possible for the user to provide specific callback modules that handle test configuration data - New NIF features - Receive statements that can only read out a newly created reference are now specially optimized so that it will execute in constant time regardless of the number of messages in the receive queue for the process. - The run_test script has been replaced by a program (with the same name) which can be executed without explicit installation - eprof has been reimplemented with support in the Erlang virtual machine and is now both faster (i.e. slows down the code being measured less) and scales much better Changes in R13B04 (http://www.erlang.org/download/otp_src_R13B04.readme) - Many documentation and documentation build improvements - cross-compile/build improvements - buffer overflow fix - telnet keep alive fixes - compiler crash on boolean ifs - -Werror for erlc fixed - macro overloading implemented - the crypto module now supports Blowfish - explicit top directories in archive files are now optional - add lock profiling tool: lcnt - httpd methods "PUT" and "DELETE" now allowed + others fixes to resolver routine - compression supported when copying between mnesia nodes
2011-04-14 21:34:07 +02:00
TEST_MAKE_FLAGS= ERL_TOP=${WRKSRC}
SMF_NAME= epmd
2016-02-25 15:42:55 +01:00
CONFIGURE_ARGS.DragonFly+= --disable-sctp
###
### XXX There may be others here.
###
.if ${OPSYS} == "NetBSD" || ${OPSYS} == "OpenBSD" || ${OPSYS} == "Darwin"
CONFIGURE_ARGS+= --enable-kernel-poll
.endif
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
.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
###
### 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
${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
post-install:
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"
.include "../../security/openssl/buildlink3.mk"
2013-10-18 17:47:49 +02:00
.include "../../mk/termcap.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"