On 2025/04/20 21:38, Tom Murphy wrote: > 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).
WANTLIB would be lib/eopenssl34/crypto lib/eopenssl34/ssl (check-lib-depends doesn't handle subdirs correctly so it will whine anyway). Unless it specifically needs 3.4 I'd use the same version of OpenSSL as other ports are using (3.3 for now). What specific things are failing if you try to build with base (libressl) libssl/libcrypto? > +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@ not tested but you likely need to set rpath as well. try running it with LD_DEBUG (with a lot of scrollback buffer or under script(1)) and check that it loads the correct library at runtime. > -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 library versioning is wrong, the upstream build infrastructure will need adjusting so that it respects the version number in SHARED_LIBS, the library should be installed as lib/libsqlcipher.so.${LIBsqlcipher_VERSION} and there should be no libsqlite3.so / libsqlite3.so.0. > +@mandir share/man/ > +share/man/man1/ > +@man share/man/man1/sqlite3.1 should be man/ not share/man/