erlang: update to 28.5

Upstream release 28.5 (2026-04-23), patch release for OTP 28.

Applications updated:
- erl_interface-5.7: new --{enable,disable}-use-embedded-3pp-alternatives
  configure option; allows using system zstd, zlib, ryu, openssl, tcl
  instead of bundled copies (default: zlib uses OS version if available)
- erts-16.4: fixed bug in enif_make_map_from_arrays for arrays with >= 33
  keys (duplicates could produce broken maps); fixed Unicode handling in
  erl.exe args_file on Windows
- mnesia-4.25.3: bug fixes
- ssl-11.6: bug fixes

Highlight: new "Secure Coding Guidelines" document added to Design
Principles describing how to write secure Erlang code.

Reference: https://github.com/erlang/otp/releases/tag/OTP-28.5

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
This commit is contained in:
Alexandru Ardelean
2026-04-22 12:27:22 +03:00
committed by Alexandru Ardelean
parent 3804268de8
commit 21df5ff4b5
3 changed files with 42 additions and 2 deletions
+2 -2
View File
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=erlang
PKG_VERSION:=28.0.3
PKG_VERSION:=28.5
PKG_RELEASE:=1
PKG_SOURCE:=otp_src_$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/erlang/otp/releases/download/OTP-$(PKG_VERSION)
PKG_HASH:=0cdf3b44e327439ea6677e61e06f28a0f82ea080af2dcbd665bc5a945b167012
PKG_HASH:=2c7e8ca23e6864eb20eff5d44738bfa123aed8cd21ed6d98e533d751eee28d9c
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE.txt
+11
View File
@@ -0,0 +1,11 @@
#!/bin/sh
# erl -version prints ERTS version, not OTP release — use system_info instead
case "$1" in
erlang)
otp_major="${2%%.*}"
timeout 60s erl -noshell \
-eval "V = erlang:system_info(otp_release), io:format(\"OTP ~s~n\", [V])" \
-s init stop 2>&1 | \
grep -qF "OTP ${otp_major}"
;;
esac
+29
View File
@@ -0,0 +1,29 @@
#!/bin/sh
case "$1" in
erlang)
# Check erl binary is present and prints the right OTP version
otp_major="${2%%.*}"
timeout 60s erl -noshell -eval "V = erlang:system_info(otp_release), io:format(\"OTP ~s~n\", [V])" -s init stop 2>&1 | \
grep -qF "OTP ${otp_major}" || {
echo "FAIL: erl did not report expected OTP version '$2' (major: $otp_major)"
exit 1
}
echo "erl OTP version: OK"
# Verify epmd (Erlang port mapper daemon) is present
[ -x /usr/bin/epmd ] || [ -x /usr/lib/erlang/bin/epmd ] || {
echo "FAIL: epmd not found"
exit 1
}
echo "epmd: OK"
# Basic arithmetic eval
result=$(timeout 60s erl -noshell -eval "io:format(\"~w~n\", [2+2])" -s init stop 2>/dev/null)
[ "$result" = "4" ] || {
echo "FAIL: erl basic eval returned '$result', expected '4'"
exit 1
}
echo "erl eval: OK"
;;
esac