> I'm running one of the automated build nodes for the Exim MTA, which > does builds of stock Exim on OpenBSD. LibreSSL requires some patching,
Thanks for the report. Could you elaborate on the actual problem you run into? Is this something we need to fix on the libressl side? > so I'm using OpenSSL there, with pkg-config to get CFLAGS and LDFLAGS. > I had noticed that for OpenSSL 3.3 pkg-config (eopenssl33) does not provide > -I or -L. OpenSSL fiddled with their pkgconfig generation between 3.2 and 3.3. It used to be generated from their Makefile, now it is generated from some .in files, which means we need to hook in there. I saw that when I updated the port, but then forgot to deal with it. The below is a bit hackier than I would like it to be, but it generates .pc files that differ only in the expected version number changes and an immaterial trailing whitespace change. I need to ponder this some more (we still have way more hardcoded eopenssl${V} than I wold like us to have), but I'll land some version of this soon. sthen, any concerns if we backport something along these lines to -stable? Index: Makefile =================================================================== RCS file: /cvs/ports/security/openssl/3.3/Makefile,v diff -u -p -r1.7 Makefile --- Makefile 3 Sep 2024 15:30:21 -0000 1.7 +++ Makefile 7 Dec 2024 03:41:25 -0000 @@ -8,6 +8,7 @@ V= 3.3.2 PKGNAME= openssl-${V} PKGSPEC= openssl->=3.3v0,<3.4v0 EPOCH= 0 +REVISION= 0 SHLIBVER= 27.0 SHARED_LIBS= crypto ${SHLIBVER} \ Index: patches/patch-exporters_pkg-config_libcrypto_pc_in =================================================================== RCS file: patches/patch-exporters_pkg-config_libcrypto_pc_in diff -N patches/patch-exporters_pkg-config_libcrypto_pc_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-exporters_pkg-config_libcrypto_pc_in 7 Dec 2024 03:38:01 -0000 @@ -0,0 +1,12 @@ +Index: exporters/pkg-config/libcrypto.pc.in +--- exporters/pkg-config/libcrypto.pc.in.orig ++++ exporters/pkg-config/libcrypto.pc.in +@@ -9,7 +9,7 @@ libdir={- if (defined $OpenSSL::safe::installdata::LIB + $OpenSSL::safe::installdata::libdir[0]; + } -} + includedir={- $OUT = ''; +- $OUT .= '${prefix}/' . $_ . ' ' ++ $OUT .= '${prefix}/' . $_ . '/' . 'eopenssl33' . ' ' + foreach (@OpenSSL::safe::installdata::INCLUDEDIR_REL_PREFIX); -} + enginesdir=${libdir}/{- $OpenSSL::safe::installdata::ENGINESDIR_REL_LIBDIR[0] -} + modulesdir=${libdir}/{- $OpenSSL::safe::installdata::MODULESDIR_REL_LIBDIR[0] -} Index: patches/patch-exporters_pkg-config_libssl_pc_in =================================================================== RCS file: patches/patch-exporters_pkg-config_libssl_pc_in diff -N patches/patch-exporters_pkg-config_libssl_pc_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-exporters_pkg-config_libssl_pc_in 7 Dec 2024 03:39:25 -0000 @@ -0,0 +1,19 @@ +Index: exporters/pkg-config/libssl.pc.in +--- exporters/pkg-config/libssl.pc.in.orig ++++ exporters/pkg-config/libssl.pc.in +@@ -9,13 +9,13 @@ libdir={- if (defined $OpenSSL::safe::installdata::LIB + $OpenSSL::safe::installdata::libdir[0]; + } -} + includedir={- $OUT = ''; +- $OUT .= '${prefix}/' . $_ . ' ' ++ $OUT .= '${prefix}/' . $_ . '/' . 'eopenssl33' . ' ' + foreach (@OpenSSL::safe::installdata::INCLUDEDIR_REL_PREFIX); -} + + Name: OpenSSL-libssl + Description: Secure Sockets Layer and cryptography libraries + Version: {- $OpenSSL::safe::installdata::VERSION -} +-Requires.private: libcrypto ++Requires.private: libecrypto33 + Libs: -L${libdir} -lssl + Cflags:{- $OUT = ' -I${includedir}'; + if (scalar @OpenSSL::safe::installdata::INCLUDEDIR_REL_PREFIX > 1) { Index: patches/patch-exporters_pkg-config_openssl_pc_in =================================================================== RCS file: patches/patch-exporters_pkg-config_openssl_pc_in diff -N patches/patch-exporters_pkg-config_openssl_pc_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-exporters_pkg-config_openssl_pc_in 7 Dec 2024 03:38:18 -0000 @@ -0,0 +1,16 @@ +Index: exporters/pkg-config/openssl.pc.in +--- exporters/pkg-config/openssl.pc.in.orig ++++ exporters/pkg-config/openssl.pc.in +@@ -9,10 +9,10 @@ libdir={- if (defined $OpenSSL::safe::installdata::LIB + $OpenSSL::safe::installdata::libdir[0]; + } -} + includedir={- $OUT = ''; +- $OUT .= '${prefix}/' . $_ . ' ' ++ $OUT .= '${prefix}/' . $_ . '/' . 'eopenssl33' . ' ' + foreach (@OpenSSL::safe::installdata::INCLUDEDIR_REL_PREFIX); -} + + Name: OpenSSL + Description: Secure Sockets Layer and cryptography libraries and tools + Version: {- $OpenSSL::safe::installdata::VERSION -} +-Requires: libssl libcrypto ++Requires: libessl33 libecrypto33