git: 8af3fe5ef31b - main - databases/sqlite3: update to 3.50.2

From: Philippe Audeoud <jadawin_at_FreeBSD.org>
Date: Mon, 07 Jul 2025 07:22:17 UTC
The branch main has been updated by jadawin:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8af3fe5ef31bd6ab4bfddc982ca7c7dc33c8a1ab

commit 8af3fe5ef31bd6ab4bfddc982ca7c7dc33c8a1ab
Author:     Philippe Audeoud <jadawin@FreeBSD.org>
AuthorDate: 2025-07-07 06:15:07 +0000
Commit:     Philippe Audeoud <jadawin@FreeBSD.org>
CommitDate: 2025-07-07 06:15:07 +0000

    databases/sqlite3: update to 3.50.2
    
    PR:             287983
---
 databases/sqlite3/Makefile                         | 63 ++++++++++++----------
 databases/sqlite3/distinfo                         |  6 +--
 databases/sqlite3/files/patch-Makefile.in          | 11 ----
 .../sqlite3/files/patch-autosetup_pkg-config.tcl   | 11 ++++
 databases/sqlite3/files/patch-main.mk              | 28 ++++++++++
 databases/sqlite3/pkg-plist                        |  2 +-
 6 files changed, 77 insertions(+), 44 deletions(-)

diff --git a/databases/sqlite3/Makefile b/databases/sqlite3/Makefile
index 03ef9aeaedca..88fb914f4bfd 100644
--- a/databases/sqlite3/Makefile
+++ b/databases/sqlite3/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	sqlite3
-DISTVERSION=	3.46.1
-PORTREVISION=	1
+DISTVERSION=	3.50.2
 PORTEPOCH=	1
 CATEGORIES=	databases
 MASTER_SITES=	https://www.sqlite.org/${_YEAR}/ https://www2.sqlite.org/${_YEAR}/ https://www3.sqlite.org/${_YEAR}/
@@ -31,11 +30,13 @@ icu_PKGNAMESUFFIX=	-${FLAVOR}	# databases/p5-DBD-SQLite with ICU support
 tcl_PKGNAMESUFFIX=	-${FLAVOR}	# lang/tcl* support
 .endif
 
-USES=	libtool pathfix zip
+USES=	libtool ncurses pathfix zip
 USE_LDCONFIG=	yes
 
-GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+HAS_CONFIGURE=	yes
+CONFIGURE_ARGS+=	--linemacros --soname=${DISTVERSION} OPTIONS='${_OPTIONS}'
+# [The Chronicles of SONAME](https://sqlite.org/src/forumpost/5a3b44f510df8ded)
+# [Set features OPTIONS for autosetup configurator](https://msteveb.github.io/autosetup/)
 
 MAKE_JOBS_UNSAFE=	yes
 ALL_TARGET+=	sqldiff
@@ -66,7 +67,7 @@ SUB_LIST+=	TEA="@comment " NO_TEA=""
 PLIST_SUB+=	TEA="@comment " NO_TEA=""
 .endif
 
-PLIST_SUB+=	TCLVER=tcl${TCL_VER} TCLSUF=tcl${TCL_VER:S/.//g}
+PLIST_SUB+=	TCLVER=tcl${TCL_VER} TCLSUF=tcl${TCL_VER:S/.//g} DISTVERSION=${DISTVERSION}
 
 # Compilation Options For SQLite https://www.sqlite.org/compile.html
 OPTIONS_DEFINE=		EXAMPLES STRIP TCL THREADS
@@ -116,7 +117,7 @@ DBPAGE_DESC=		Enable DBPAGE Virtual Table # https://sqlite.org/compile.html#enab
 DBSTAT_DESC=		Enable DBSTAT Virtual Table # https://www.sqlite.org/dbstat.html
 DIRECT_READ_DESC=	File is read directly from disk # https://sqlite.org/compile.html#direct_overflow_read
 DQS_DESC=		Double-quoted String Literals # https://www.sqlite.org/compile.html#dqs
-EXTENSION_DESC=		Allow loadable extensions
+EXTENSION_DESC=		Enable loadable extensions
 FTS3_TOKEN_DESC=	Enable two-args version fts3_tokenizer # https://www.sqlite.org/compile.html#enable_fts3_tokenizer, https://www.sqlite.org/fts3.html#f3tknzr
 FTS4_DESC=		Enable FTS3/4 (Full Text Search) module # https://www.sqlite.org/fts3.html, https://www.sqlite.org/compile.html#enable_fts3_parenthesis
 FTS5_DESC=		Enable version 5 full-text search engine # https://www.sqlite.org/fts5.html
@@ -164,18 +165,17 @@ DQS_CPPFLAGS=	-DSQLITE_DQS=3
 DQS_CPPFLAGS_OFF=	-DSQLITE_DQS=0
 EXTENSION_CONFIGURE_ENABLE=	load-extension
 FTS3_TOKEN_CPPFLAGS=	-DSQLITE_ENABLE_FTS3_TOKENIZER=1
-FTS4_CONFIGURE_ENABLE=	fts3 fts4
+FTS4_CONFIGURE_ON=	--fts3 --fts4
 FTS4_CPPFLAGS=	-DSQLITE_ENABLE_FTS3_PARENTHESIS=1
-FTS5_CONFIGURE_ENABLE=	fts5
-FTS5_LIBS=	-lm
+FTS5_CONFIGURE_ON=	--fts5
+FTS5_VARS=	_OPTIONS+=-lm
 GEOPOLY_IMPLIES=	RTREE
-GEOPOLY_CONFIGURE_ENABLE=	geopoly
+GEOPOLY_CONFIGURE_ON=	--geopoly
 ICU_BUILD_DEPENDS=	${LOCALBASE}/bin/icu-config:devel/icu
 ICU_LIB_DEPENDS=	libicudata.so:devel/icu
-ICU_CPPFLAGS=	`${LOCALBASE}/bin/icu-config --cppflags` -DSQLITE_ENABLE_ICU=1
-ICU_LIBS=	`${LOCALBASE}/bin/icu-config --ldflags`
+ICU_CONFIGURE_ON=	--with-icu-config=${LOCALBASE}/bin/icu-config --icu-collations
 LIBEDIT_USES=	libedit
-LIBEDIT_CONFIGURE_ENABLE=	editline
+LIBEDIT_CONFIGURE_ON=	--editline
 LIKENOTBLOB_CPPFLAGS=	-DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1
 MEMMAN_CPPFLAGS=	-DSQLITE_ENABLE_MEMORY_MANAGEMENT=1
 METADATA_CPPFLAGS=	-DSQLITE_ENABLE_COLUMN_METADATA=1
@@ -185,40 +185,40 @@ OFFSET_CPPFLAGS=	-DSQLITE_ENABLE_OFFSET_SQL_FUNC=1
 RBU_CPPFLAGS=	-DSQLITE_ENABLE_RBU=1
 READLINE_USES=	readline
 READLINE_CONFIGURE_ENABLE=	readline
-RTREE_CONFIGURE_ENABLE=	rtree
+RTREE_CONFIGURE_ON=	--rtree
 RTREE_INT_CPPFLAGS=	-DSQLITE_RTREE_INT_ONLY=1
 SECURE_DELETE_CPPFLAGS=	-DSQLITE_SECURE_DELETE=1
-SESSION_CONFIGURE_ENABLE=	session
+SESSION_CONFIGURE_ON=	--session
 SORT_REF_CPPFLAGS=	-DSQLITE_ENABLE_SORTER_REFERENCES=1
 SOUNDEX_CPPFLAGS=	-DSQLITE_SOUNDEX=1
 STAT3_CPPFLAGS=	-DSQLITE_ENABLE_STAT3=1
 STAT4_CPPFLAGS=	-DSQLITE_ENABLE_STAT4=1
+STATIC_CONFIGURE_OFF=	--dynlink-tools
 STATIC_CONFIGURE_ENABLE=	static
-STMT_CPPFLAGS=	-DSQLITE_ENABLE_STMT_SCANSTATUS=1
+STMT_CONFIGURE_ON=	--scanstatus
 TCL_USES=	tcl
 TCL_USES_OFF=	tcl:build
-TCL_CONFIGURE_ENABLE=	tcl
-TCL_CONFIGURE_WITH=	tcl=${TCL_LIBDIR}
+TCL_CONFIGURE_OFF=	--disable-tcl
 TCL_CONFIGURE_ENV=	ac_cv_prog_TCLSH_CMD=${TCLSH}
 TCL_ALL_TARGET+=	sqlite3_analyzer
-THREADS_CONFIGURE_ENABLE=	threadsafe
-THREADS_LIBS=	-lpthread
+THREADS_CONFIGURE_OFF=	--disable-threadsafe
+THREADS_VARS=	_OPTIONS+=-lpthread
 TRUSTED_SCHEMA_CPPFLAGS=	-DSQLITE_TRUSTED_SCHEMA=0
-TS0_CONFIGURE_ON=	--enable-tempstore=never
-TS1_CONFIGURE_ON=	--enable-tempstore=no
-TS2_CONFIGURE_ON=	--enable-tempstore=yes
-TS3_CONFIGURE_ON=	--enable-tempstore=always
+TS0_CONFIGURE_ON=	--with-tempstore=never
+TS1_CONFIGURE_ON=	--with-tempstore=no
+TS2_CONFIGURE_ON=	--with-tempstore=yes
+TS3_CONFIGURE_ON=	--with-tempstore=always
 UNICODE61_CPPFLAGS_OFF=	-DSQLITE_DISABLE_FTS3_UNICODE=1
 UNKNOWN_SQL_CPPFLAGS=	-DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION=1
 UNLOCK_NOTIFY_CPPFLAGS=	-DSQLITE_ENABLE_UNLOCK_NOTIFY=1
-UPDATE_LIMIT_CONFIGURE_ENABLE=	update-limit
+UPDATE_LIMIT_CONFIGURE_ON=	--update-limit
 URI_CPPFLAGS=	-DSQLITE_USE_URI=1
 URI_AUTHORITY_CPPFLAGS=	-DSQLITE_ALLOW_URI_AUTHORITY=1
 
 .include <bsd.port.options.mk>
 
 # _YEAR=	${%Y:L:gmtime} - do not work with the version from the previous year
-_YEAR=	2024
+_YEAR=	2025
 
 # Recommended options
 # https://sqlite.org/compile.html#strict_subtype
@@ -246,12 +246,16 @@ CPPFLAGS+=	-DHAVE_FCHOWN=1 \
 		-DHAVE_READLINK=1 \
 		-DSQLITE_OS_UNIX=1
 
+.if ${PORT_OPTIONS:MTCL}
+LIB_DEPENDS+=	libtommath.so:math/libtommath
+.endif
+
 # For compare with checksum from of the site. Now, this is a NIST SHA3-256 hash. sha256 not suitable for compare.
 # But the creation of a new target does not justify the emergence of dependence on the perl5.
 # sha3sum maybe installed with p5-Digest-SHA3 port.
 # EXTRACT_DEPENDS=p5-Digest-SHA3:security/p5-Digest-SHA3; USES=perl5; USE_PERL5=extract;
 # @${PERL} -MDigest::SHA3 -le 'print Digest::SHA3->new(sha_256_hex)->add(<>)->hexdigest' < ${DISTDIR}/${ALLFILES}
-pre-extract:
+post-fetch:
 	@${WHICH} sha3sum > /dev/null && for entry in ${ALLFILES}; do ${ECHO_MSG} -n "=> "; sha3sum -a 256 --tag "${DISTDIR}/$${entry}"; done || ${TRUE}
 
 post-configure:
@@ -264,6 +268,7 @@ post-configure:
 	@${ECHO_MSG} "===> TCLSH=${TCLSH}"
 	@${ECHO_MSG} "===> TCL_INCLUDEDIR=${TCL_INCLUDEDIR}"
 	@${ECHO_MSG} "===> TCL_LIBDIR=${TCL_LIBDIR}"
+	@${ECHO_MSG} "===> OPTIONS=${_OPTIONS}"
 
 post-install:
 .if !defined(TEA)
@@ -272,7 +277,7 @@ post-install:
 	${SETENV} LD_LIBMAP_DISABLE=1 ldd -a "${STAGEDIR}${PREFIX}/bin/${PORTNAME}" "${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}.so"
 	${INSTALL_PROGRAM} "${WRKSRC}/sqldiff" "${STAGEDIR}${PREFIX}/bin"
 .else
-	${RM} "${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}.so.0.8.6" "${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}.a"
+	${RM} "${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}.so.${DISTVERSION}" "${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}.a"
 .endif
 
 post-install-STRIP-on:
diff --git a/databases/sqlite3/distinfo b/databases/sqlite3/distinfo
index 739398954046..7740e0943b59 100644
--- a/databases/sqlite3/distinfo
+++ b/databases/sqlite3/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1724580150
-SHA256 (sqlite-src-3460100.zip) = def3fc292eb9ecc444f6c1950e5c79d8462ed5e7b3d605fd6152d145e1d5abb4
-SIZE (sqlite-src-3460100.zip) = 14276926
+TIMESTAMP = 1751267280
+SHA256 (sqlite-src-3500200.zip) = 091eeec3ae2ccb91aac21d0e9a4a58944fb2cb112fa67bffc3e08c2eca2d85c8
+SIZE (sqlite-src-3500200.zip) = 14392422
diff --git a/databases/sqlite3/files/patch-Makefile.in b/databases/sqlite3/files/patch-Makefile.in
deleted file mode 100644
index 70aa8e8a281e..000000000000
--- a/databases/sqlite3/files/patch-Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.in.orig	2022-11-26 11:17:35 UTC
-+++ Makefile.in
-@@ -1299,7 +1299,7 @@ tcltest:	./testfixture$(TEXE)
- # The veryquick.test TCL tests.
- #
- tcltest:	./testfixture$(TEXE)
--	./testfixture$(TEXE) $(TOP)/test/veryquick.test $(TESTOPTS)
-+	mkdir $(TOP)/testdir && touch $(TOP)/test-out.txt && chown nobody $(TOP)/testdir $(TOP)/test-out.txt && su -m nobody -c "./testfixture$(TEXE) $(TOP)/test/veryquick.test $(TESTOPTS)"
- 
- # Runs all the same tests cases as the "tcltest" target but uses
- # the testrunner.tcl script to run them in multiple cores
diff --git a/databases/sqlite3/files/patch-autosetup_pkg-config.tcl b/databases/sqlite3/files/patch-autosetup_pkg-config.tcl
new file mode 100644
index 000000000000..9f89a774d6f0
--- /dev/null
+++ b/databases/sqlite3/files/patch-autosetup_pkg-config.tcl
@@ -0,0 +1,11 @@
+--- autosetup/pkg-config.tcl.orig	2025-07-02 07:23:27 UTC
++++ autosetup/pkg-config.tcl
+@@ -78,7 +78,7 @@ proc pkg-config-init {{required 1}} {
+ 			# but it doesn't seem to work that way in practice
+ 			set env(PKG_CONFIG_PATH) ""
+ 			# Do we need to try /usr/local as well or instead?
+-			set env(PKG_CONFIG_LIBDIR) $sysroot/usr/lib/pkgconfig:$sysroot/usr/share/pkgconfig
++			set env(PKG_CONFIG_LIBDIR) $system/usr/libdata/pkgconfig:$sysroot/usr/local/libdata/pkgconfig
+ 			set env(PKG_CONFIG_SYSROOT_DIR) $sysroot
+ 		}
+ 	}
diff --git a/databases/sqlite3/files/patch-main.mk b/databases/sqlite3/files/patch-main.mk
new file mode 100644
index 000000000000..74065dcf6d5a
--- /dev/null
+++ b/databases/sqlite3/files/patch-main.mk
@@ -0,0 +1,28 @@
+--- main.mk.orig	2025-06-28 14:24:16 UTC
++++ main.mk
+@@ -140,6 +140,7 @@ libdir      ?= $(exec_prefix)/lib
+ exec_prefix ?= $(prefix)
+ bindir      ?= $(exec_prefix)/bin
+ libdir      ?= $(exec_prefix)/lib
++libdatadir  ?= $(exec_prefix)/libdata
+ # This makefile does not use any of:
+ # sbindir        ?= $(exec_prefix)/sbin
+ # sysconfdir     ?= /etc
+@@ -469,7 +470,7 @@ install-dir.include = $(DESTDIR)$(includedir)
+ install-dir.bin = $(DESTDIR)$(bindir)
+ install-dir.lib = $(DESTDIR)$(libdir)
+ install-dir.include = $(DESTDIR)$(includedir)
+-install-dir.pkgconfig = $(DESTDIR)$(libdir)/pkgconfig
++install-dir.pkgconfig = $(DESTDIR)$(libdatadir)/pkgconfig
+ install-dir.man1 = $(DESTDIR)$(mandir)/man1
+ install-dir.all = $(install-dir.bin) $(install-dir.include) \
+   $(install-dir.lib) $(install-dir.man1) \
+@@ -1810,7 +1811,7 @@ tcltest:	./testfixture$(T.exe)
+ # The veryquick.test TCL tests.
+ #
+ tcltest:	./testfixture$(T.exe)
+-	./testfixture$(T.exe) $(TOP)/test/veryquick.test $(TESTOPTS)
++	mkdir $(TOP)/testdir && touch $(TOP)/test-out.txt && chown nobody $(TOP)/testdir $(TOP)/test-out.txt && su -m nobody -c "./testfixture$(T.exe) $(TOP)/test/veryquick.test $(TESTOPTS)"
+ 
+ #
+ # Runs all the same tests cases as the "tcltest" target but uses
diff --git a/databases/sqlite3/pkg-plist b/databases/sqlite3/pkg-plist
index f547f671f412..f3908cbf7adf 100644
--- a/databases/sqlite3/pkg-plist
+++ b/databases/sqlite3/pkg-plist
@@ -6,7 +6,7 @@
 %%NO_TEA%%%%STATIC%%lib/libsqlite3.a
 %%NO_TEA%%lib/libsqlite3.so
 %%NO_TEA%%lib/libsqlite3.so.0
-%%NO_TEA%%lib/libsqlite3.so.0.8.6
+%%NO_TEA%%lib/libsqlite3.so.%%DISTVERSION%%
 %%NO_TEA%%libdata/pkgconfig/sqlite3.pc
 %%NO_TEA%%share/man/man1/sqlite3.1.gz
 %%TCL%%share/man/mann/sqlite3.%%TCLSUF%%.n.gz