git: 1f3f727c59f7 - main - databases/movine: Unbreak by adding patches

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 05 Dec 2025 21:35:23 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1f3f727c59f7454902d7a55c2bfb95fa5c3b5d1a

commit 1f3f727c59f7454902d7a55c2bfb95fa5c3b5d1a
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-12-05 21:13:54 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-12-05 21:35:21 +0000

    databases/movine: Unbreak by adding patches
    
    ... for OpenSSL incompatibilities.
---
 databases/movine/Makefile                          |  6 -----
 ...h-cargo-crates_openssl-sys-0.9.61_build_cfgs.rs | 12 ++++++++++
 ...cargo-crates_openssl-sys-0.9.61_build_expando.c | 26 ++++++++++++++++++++++
 ...h-cargo-crates_openssl-sys-0.9.61_build_main.rs | 14 ++++++++++++
 ...atch-cargo-crates_openssl-sys-0.9.61_src_ssl.rs | 15 +++++++++++++
 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;
+