Index | Thread | Search

From:
Tom Murphy <openbsd@pertho.net>
Subject:
[Update from Maintainer] databases/sqlcipher 4.7.0
To:
ports@openbsd.org
Date:
Sun, 20 Apr 2025 21:38:58 +0100

Download raw body.

Thread
Hi,

  Here's a diff of databases/sqlcipher. The build system completely
changed and in order to get it to compile, I had to add a dependency
for openssl 3.4. I'm not sure how to resolve the WANTLIB or if
patching Makefile.in with the LDFLAGS is the correct approach here.
I also think the shared library might need a crank, but not sure
whether it's major or minor version (might be major)?

  Are there any guidelines for WANTLIB and the openssl libraries?
If I add ${LOCALBASE}/lib/eopenssl34/ssl and 
${LOCALBASE}/lib/eopenssl34/crypto, I get a fatal error when it
is verifying specs (for WANTLIB).

Thanks,
Tom


Index: Makefile
===================================================================
RCS file: /cvs/ports/databases/sqlcipher/Makefile,v
diff -u -p -u -p -r1.12 Makefile
--- Makefile	4 Oct 2024 14:00:54 -0000	1.12
+++ Makefile	20 Apr 2025 20:28:37 -0000
@@ -2,8 +2,7 @@ COMMENT =	encrypted SQLite database
 
 GH_ACCOUNT =	sqlcipher
 GH_PROJECT =	sqlcipher
-GH_TAGNAME =	v4.6.1
-REVISION =	0
+GH_TAGNAME =	v4.7.0
 
 SHARED_LIBS +=  sqlcipher                 2.0 # 8.6
 
@@ -15,21 +14,27 @@ MAINTAINER =	Tom Murphy <openbsd@pertho.
 # PD and BSD
 PERMIT_PACKAGE =	Yes
 
-WANTLIB +=		c crypto curses m pthread readline z
+WANTLIB +=		c curses m pthread readline z
 
-CONFIGURE_STYLE =	gnu
+CONFIGURE_STYLE =	simple
 
-CONFIGURE_ARGS +=	--enable-tempstore=yes \
+CONFIGURE_ARGS +=	--with-tempstore=yes \
 			--disable-editline \
 			--disable-tcl
+
 CONFIGURE_ENV +=	TCLSH_CMD=${MODTCL_BIN}
 
 NO_TEST =		Yes
 
-CFLAGS +=		-DSQLITE_HAS_CODEC -DOMIT_MEMLOCK
+CFLAGS +=		-DSQLITE_HAS_CODEC -DOMIT_MEMLOCK \
+			-DSQLITE_EXTRA_INIT=sqlcipher_extra_init \
+			-DSQLITE_EXTRA_SHUTDOWN=sqlcipher_extra_shutdown \
+			-DSQLCIPHER_CRYPTO_OSSL3 \
+			-I${LOCALBASE}/include/eopenssl34
 
 MODULES =		lang/tcl
 MODTCL_VERSION =	8.6
-BUILD_DEPENDS =		${MODTCL_BUILD_DEPENDS}
+BUILD_DEPENDS =		${MODTCL_BUILD_DEPENDS} \
+			security/openssl/3.4
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/databases/sqlcipher/distinfo,v
diff -u -p -u -p -r1.10 distinfo
--- distinfo	4 Oct 2024 07:11:26 -0000	1.10
+++ distinfo	20 Apr 2025 20:28:37 -0000
@@ -1,2 +1,2 @@
-SHA256 (sqlcipher-4.6.1.tar.gz) = 2Pmvy8L0tV4xbKStpEJdrz0LSqsl9F4RqAKuQiufU6M=
-SIZE (sqlcipher-4.6.1.tar.gz) = 19115004
+SHA256 (sqlcipher-4.7.0.tar.gz) = WVKLVTY5N3InOQjt0F99Zrl3zUImwpKqi/n9vE+0BNk=
+SIZE (sqlcipher-4.7.0.tar.gz) = 19164354
Index: patches/patch-Makefile_in
===================================================================
RCS file: patches/patch-Makefile_in
diff -N patches/patch-Makefile_in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-Makefile_in	20 Apr 2025 20:28:37 -0000
@@ -0,0 +1,13 @@
+Patch LDFLAGS to use OpenBSD's openssl 3.4 path
+Index: Makefile.in
+--- Makefile.in.orig
++++ Makefile.in
+@@ -103,7 +103,7 @@ CFLAGS = @CFLAGS@ @CPPFLAGS@
+ # $(LDFLAGS.configure) represents any LDFLAGS=... the client passes to
+ # configure. See main.mk.
+ #
+-LDFLAGS.configure = @LDFLAGS@
++LDFLAGS.configure = -L/usr/local/lib/eopenssl34 -lcrypto @LDFLAGS@
+ 
+ #
+ # CFLAGS.core is documented in main.mk.
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/databases/sqlcipher/pkg/PLIST,v
diff -u -p -u -p -r1.2 PLIST
--- pkg/PLIST	11 Mar 2022 18:31:46 -0000	1.2
+++ pkg/PLIST	20 Apr 2025 20:28:37 -0000
@@ -1,8 +1,11 @@
-@bin bin/sqlcipher
-include/sqlcipher/
-include/sqlcipher/sqlite3.h
-include/sqlcipher/sqlite3ext.h
-@static-lib lib/libsqlcipher.a
-lib/libsqlcipher.la
-@lib lib/libsqlcipher.so.${LIBsqlcipher_VERSION}
-lib/pkgconfig/sqlcipher.pc
+@bin bin/sqlite3
+include/sqlite3.h
+include/sqlite3ext.h
+@static-lib lib/libsqlite3.a
+@so lib/libsqlite3.so
+lib/libsqlite3.so.0
+@bin lib/libsqlite3.so.3.49.1
+lib/pkgconfig/sqlite3.pc
+@mandir share/man/
+share/man/man1/
+@man share/man/man1/sqlite3.1