[packages/erlang] Up to 24.1.2; fix build with openssl 3

arekm arekm at pld-linux.org
Sun Oct 24 00:24:29 CEST 2021


commit f4803c5f740c00f025eb459dabafd39e6e86d6ba
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Sun Oct 24 00:23:26 2021 +0200

    Up to 24.1.2; fix build with openssl 3

 erlang.spec | 16 +++++++++-------
 ssl.patch   | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+), 7 deletions(-)
---
diff --git a/erlang.spec b/erlang.spec
index 069334a..efad647 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -12,19 +12,19 @@
 %bcond_without	odbc		# without unixODBC support
 #
 
-%define		erts_version	10.7.2.6
+%define		erts_version	12.1.2
 
 Summary:	OpenSource Erlang/OTP
 Summary(pl.UTF-8):	Erlang/OTP z otwartymi źródłami
 Name:		erlang
-Version:	22.3.4.13
-Release:	4
+Version:	24.1.2
+Release:	1
 Epoch:		2
 %define		_version	%(echo %{version} | tr _ -)
 License:	APLv2
 Group:		Development/Languages
 Source0:	https://github.com/erlang/otp/archive/OTP-%{version}.tar.gz
-# Source0-md5:	598bf13135cd2678eef0368cb3818273
+# Source0-md5:	103fb735f9510574c1bbbd12690c5b63
 Source2:	epmd.service
 Source3:	epmd.socket
 Source4:	epmd at .service
@@ -33,6 +33,7 @@ Patch0:		%{name}-fPIC.patch
 Patch1:		x32.patch
 # disable pdf docs (require libxslt-progs and fop > 1.0, with -cache option)
 Patch2:		%{name}-no-fop.patch
+Patch3:		ssl.patch
 URL:		http://www.erlang.org/
 %{?with_java:BuildRequires:	/usr/bin/jar}
 BuildRequires:	autoconf
@@ -84,6 +85,7 @@ Dokumentacja do Erlanga.
 #%patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 %build
 ./otp_build autoconf
@@ -127,6 +129,7 @@ install -D -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}/epmd at .socket
 
 %{__sed} -i -e '1s,/usr/bin/env escript,/usr/bin/escript,' \
 	$RPM_BUILD_ROOT%{_libdir}/%{name}/lib/diameter-*/bin/diameterc \
+	$RPM_BUILD_ROOT%{_libdir}/%{name}/lib/edoc-*/bin/edoc \
 	$RPM_BUILD_ROOT%{_libdir}/%{name}/lib/erl_docgen-*/priv/bin/{codeline_preprocessing,xml_from_edoc}.escript \
 	$RPM_BUILD_ROOT%{_libdir}/%{name}/lib/reltool-*/examples/{display_args,mnesia_core_dump_viewer} \
 	$RPM_BUILD_ROOT%{_libdir}/%{name}/lib/snmp-*/bin/snmpc \
@@ -144,9 +147,6 @@ find $RPM_BUILD_ROOT%{_libdir}/%{name}/lib -type f -perm -500 \
 find $RPM_BUILD_ROOT%{_libdir}/%{name}/lib -type f '!' -perm -500 \
 	| %{__sed} -e"s#^$RPM_BUILD_ROOT%{_libdir}/%{name}/#%%{_libdir}/%%{name}/#" >> lib.list
 
-%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/erts-%{erts_version}/lib
-%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/%{name}/erts-%{erts_version}/include/internal
-
 # Move noarch docs to _datadir
 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/erts-%{erts_version}
 %{__mv} $RPM_BUILD_ROOT{%{_libdir},%{_datadir}}/%{name}/doc
@@ -186,6 +186,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/%{name}/bin/dialyzer
 %attr(755,root,root) %{_libdir}/%{name}/bin/epmd
 %attr(755,root,root) %{_libdir}/%{name}/bin/erl
+%attr(755,root,root) %{_libdir}/%{name}/bin/erl_call
 %attr(755,root,root) %{_libdir}/%{name}/bin/erlc
 %attr(755,root,root) %{_libdir}/%{name}/bin/escript
 %attr(755,root,root) %{_libdir}/%{name}/bin/no_dot_erlang.boot
@@ -212,6 +213,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/%{name}/erts-%{erts_version}/bin/start
 %attr(755,root,root) %{_libdir}/%{name}/erts-%{erts_version}/bin/to_erl
 %attr(755,root,root) %{_libdir}/%{name}/erts-%{erts_version}/bin/typer
+%attr(755,root,root) %{_libdir}/%{name}/erts-%{erts_version}/bin/yielding_c_fun
 %{_libdir}/%{name}/erts-%{erts_version}/bin/start*.*
 # (file list dynamically generated) %{_libdir}/%{name}/lib
 %dir %{_libdir}/%{name}/misc
diff --git a/ssl.patch b/ssl.patch
new file mode 100644
index 0000000..cbb8f43
--- /dev/null
+++ b/ssl.patch
@@ -0,0 +1,35 @@
+--- otp-OTP-24.1.2/lib/crypto/c_src/openssl_config.h~	2021-10-23 23:10:12.000000000 +0200
++++ otp-OTP-24.1.2/lib/crypto/c_src/openssl_config.h	2021-10-23 23:12:25.743124654 +0200
+@@ -53,8 +53,18 @@
+ /* Helper macro to construct a OPENSSL_VERSION_NUMBER.
+  * See openssl/opensslv.h
+  */
+-#define PACKED_OPENSSL_VERSION(MAJ, MIN, FIX, P)	\
+-    ((((((((MAJ << 8) | MIN) << 8 ) | FIX) << 8) | (P-'a'+1)) << 4) | 0xf)
++#if defined(OPENSSL_VERSION_MAJOR) && \
++    (OPENSSL_VERSION_MAJOR >= 3)
++
++# define PACKED_OPENSSL_VERSION(MAJ, MIN, PATCH, VOID)   \
++         (((((MAJ << 8) | MIN) << 16 ) | PATCH) << 4)
++#else
++/* Pre 3.0.0 */
++#  define PACKED_OPENSSL_VERSION(MAJ, MIN, FIX, P)                        \
++          ((((((((MAJ << 8) | MIN) << 8 ) | FIX) << 8) | (P-'a'+1)) << 4) | 0xf)
++
+++/* End Pre 3.0.0 */
++#endif
+ 
+ #define PACKED_OPENSSL_VERSION_PLAIN(MAJ, MIN, FIX) \
+     PACKED_OPENSSL_VERSION(MAJ,MIN,FIX,('a'-1))
+@@ -437,6 +437,11 @@ do {
+ # undef FIPS_SUPPORT
+ #endif
+ 
++/* Disable FIPS until erlang properly supports it with new openssl */
++#if OPENSSL_VERSION_NUMBER >= PACKED_OPENSSL_VERSION_PLAIN(3,0,0)
++# undef FIPS_SUPPORT
++# define FIPS_mode() 0
++#endif
+ 
+ #ifdef FIPS_SUPPORT
+ /* In FIPS mode non-FIPS algorithms are disabled and return badarg. */
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/erlang.git/commitdiff/f4803c5f740c00f025eb459dabafd39e6e86d6ba



More information about the pld-cvs-commit mailing list