aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--reproduce/software/config/versions.conf6
-rw-r--r--reproduce/software/make/basic.mk11
2 files changed, 16 insertions, 1 deletions
diff --git a/reproduce/software/config/versions.conf b/reproduce/software/config/versions.conf
index 35ede19..d19f095 100644
--- a/reproduce/software/config/versions.conf
+++ b/reproduce/software/config/versions.conf
@@ -43,7 +43,6 @@ metastore-version = 1.1.2-23-fa9170b
mpc-version = 1.1.0
mpfr-version = 4.0.2
ncurses-version = 6.1
-openssl-version = 1.1.1a
patchelf-version = 0.10
perl-version = 5.30.0
pkgconfig-version = 0.29.2
@@ -216,3 +215,8 @@ wcslib-version = 6.4
# Minizip is installed with the same `zlib' tarball, and they have the same
# version.
minizip-version = $(zlib-version)
+
+# From version 1.2 OpenSSL may not need a manual addition, as described in
+# its comments and `https://savannah.nongnu.org/bugs/?58263'. If it doesn't
+# cause problems, put it back in the list of "Basic/low-level" tools.
+openssl-version = 1.1.1a \ No newline at end of file
diff --git a/reproduce/software/make/basic.mk b/reproduce/software/make/basic.mk
index 779320f..0bec163 100644
--- a/reproduce/software/make/basic.mk
+++ b/reproduce/software/make/basic.mk
@@ -805,6 +805,14 @@ $(ibidir)/openssl: $(tdir)/cert.pem \
# environment variable.
#
# https://wiki.openssl.org/index.php/Compilation_and_Installation
+ #
+ # Bug 58263 (https://savannah.nongnu.org/bugs/?58263): In OpenSSL
+ # Version 1.1.1a (also checked in 1.1.1g), `openssl/ec.h' fails to
+ # include `openssl/openconf.h' on some OSs. The SED hack below
+ # inserts a hardwired element of `openssl/openconf.h' that is
+ # needed to include sections of code `f` that are deprecated in
+ # 1.2.0, but not yet in 1.1.1. This problem may be solved in
+ # version 1.2.x, so please check again in that bug.
if [ x$(on_mac_os) = xyes ]; then \
export KERNEL_BITS=64; \
copt="shared no-ssl2 no-ssl3 enable-ec_nistp_64_gcc_128"; \
@@ -817,6 +825,9 @@ $(ibidir)/openssl: $(tdir)/cert.pem \
--with-zlib-lib=$(ildir) \
--with-zlib-include=$(idir)/include, \
-j$(numthreads), , ./config ) \
+ && mv -v $(idir)/include/openssl/ec.h $(idir)/include/openssl/ec.h.orig \
+ && sed -e 's,\(# include .openssl/opensslconf\.h.\),\1\n#ifndef DEPRECATEDIN_1_2_0\n#define DEPRECATEDIN_1_2_0(f) f;\n#endif\n,' \
+ $(idir)/include/openssl/ec.h.orig > $(idir)/include/openssl/ec.h \
&& cp $(tdir)/cert.pem $(idir)/etc/ssl/cert.pem \
&& if [ $$? = 0 ]; then \
if [ x$(on_mac_os) = xyes ]; then \