aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2025-12-05 21:13:54 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2025-12-05 21:35:21 +0000
commit1f3f727c59f7454902d7a55c2bfb95fa5c3b5d1a (patch)
treed6ef417f4f44826653774367462119b75fc4b2f4
parent586f6651d17f333650606909452f477164832dec (diff)
databases/movine: Unbreak by adding patches
... for OpenSSL incompatibilities.
-rw-r--r--databases/movine/Makefile6
-rw-r--r--databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_build_cfgs.rs12
-rw-r--r--databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_build_expando.c26
-rw-r--r--databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_build_main.rs14
-rw-r--r--databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_src_ssl.rs15
5 files changed, 67 insertions, 6 deletions
diff --git a/databases/movine/Makefile b/databases/movine/Makefile
index e5da38c3f28d..74409048f784 100644
--- a/databases/movine/Makefile
+++ b/databases/movine/Makefile
@@ -178,10 +178,4 @@ OPENSSLLIB= /usr/lib
PLIST_FILES= bin/${PORTNAME}
-.include <bsd.port.options.mk>
-
-.if ( ${OPSYS} == FreeBSD && ${OSVERSION} >= 1400092 && ${SSL_DEFAULT} == base ) || ${SSL_DEFAULT:Mopenssl} || ${SSL_DEFAULT:Mopenssl3*}
-BROKEN= Fails to detect OpenSSL 3 and later
-.endif
-
.include <bsd.port.mk>
diff --git a/databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_build_cfgs.rs b/databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_build_cfgs.rs
new file mode 100644
index 000000000000..3c4ef1bbd439
--- /dev/null
+++ b/databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_build_cfgs.rs
@@ -0,0 +1,12 @@
+--- cargo-crates/openssl-sys-0.9.61/build/cfgs.rs.orig2021-01-01 00:00:00 UTC
++++ cargo-crates/openssl-sys-0.9.61/build/cfgs.rs
+@@ -67,6 +67,9 @@
+ if openssl_version >= 0x1_01_01_03_0 {
+ cfgs.push("ossl111c");
+ }
++ if openssl_version >= 0x3_00_00_00_0 {
++ cfgs.push("ossl300");
++ }
+ }
+
+ cfgs
diff --git a/databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_build_expando.c b/databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_build_expando.c
new file mode 100644
index 000000000000..1a0a4dda5749
--- /dev/null
+++ b/databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_build_expando.c
@@ -0,0 +1,26 @@
+--- cargo-crates/openssl-sys-0.9.61/build/expando.c.orig2021-01-01 00:00:00 UTC
++++ cargo-crates/openssl-sys-0.9.61/build/expando.c
+@@ -1,6 +1,15 @@
+ #include <openssl/opensslv.h>
+ #include <openssl/opensslconf.h>
+
++/*
++ * In OpenSSL 3.x, OPENSSL_VERSION_NUMBER is defined as a computed macro
++ * expression rather than a simple literal, which breaks token pasting.
++ * We detect OpenSSL 3.x and emit a fixed version token instead.
++ */
++#if defined(OPENSSL_VERSION_MAJOR) && OPENSSL_VERSION_MAJOR >= 3
++/* OpenSSL 3.x detected - emit a version that indicates OpenSSL 3.0.0+ */
++RUST_VERSION_OPENSSL_0x30000000L
++#else
+ #define VERSION2(n, v) RUST_VERSION_##n##_##v
+ #define VERSION(n, v) VERSION2(n, v)
+
+@@ -9,6 +18,7 @@
+ #else
+ VERSION(OPENSSL, OPENSSL_VERSION_NUMBER)
+ #endif
++#endif
+
+ #ifdef OPENSSL_NO_BF
+ RUST_CONF_OPENSSL_NO_BF
diff --git a/databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_build_main.rs b/databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_build_main.rs
new file mode 100644
index 000000000000..da164263c184
--- /dev/null
+++ b/databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_build_main.rs
@@ -0,0 +1,14 @@
+--- cargo-crates/openssl-sys-0.9.61/build/main.rs.orig2021-01-01 00:00:00 UTC
++++ cargo-crates/openssl-sys-0.9.61/build/main.rs
+@@ -243,7 +243,10 @@
+ let openssl_version = openssl_version.unwrap();
+ println!("cargo:version_number={:x}", openssl_version);
+
+- if openssl_version >= 0x1_01_02_00_0 {
++ if openssl_version >= 0x3_00_00_00_0 {
++ println!("cargo:version=300");
++ Version::Openssl11x
++ } else if openssl_version >= 0x1_01_02_00_0 {
+ version_error()
+ } else if openssl_version >= 0x1_01_01_00_0 {
+ println!("cargo:version=111");
diff --git a/databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_src_ssl.rs b/databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_src_ssl.rs
new file mode 100644
index 000000000000..3d6ba518b4f2
--- /dev/null
+++ b/databases/movine/files/patch-cargo-crates_openssl-sys-0.9.61_src_ssl.rs
@@ -0,0 +1,15 @@
+--- cargo-crates/openssl-sys-0.9.61/src/ssl.rs.orig2021-01-01 00:00:00 UTC
++++ cargo-crates/openssl-sys-0.9.61/src/ssl.rs
+@@ -982,7 +982,12 @@
+ len: c_long,
+ ) -> *mut SSL_SESSION;
+
++ #[cfg(ossl300)]
++ #[link_name = "SSL_get1_peer_certificate"]
++ pub fn SSL_get_peer_certificate(ssl: *const SSL) -> *mut X509;
++ #[cfg(not(ossl300))]
+ pub fn SSL_get_peer_certificate(ssl: *const SSL) -> *mut X509;
++
+
+ pub fn SSL_get_peer_cert_chain(ssl: *const SSL) -> *mut stack_st_X509;
+