Friday, February 28, 2025

Re: [Update] databases/sqlite3 3.49.1

Index: Makefile
===================================================================
RCS file: /cvs/ports/databases/sqlite3/Makefile,v
diff -u -p -r1.135 Makefile
--- Makefile 27 Feb 2025 15:44:32 -0000 1.135
+++ Makefile 28 Feb 2025 18:02:44 -0000
@@ -1,11 +1,10 @@
COMMENT= embedded SQL implementation

-DISTNAME = sqlite-autoconf-3480000
-PKGNAME= sqlite3-3.48.0
-REVISION= 1
+DISTNAME = sqlite-autoconf-3490100
+PKGNAME= sqlite3-3.49.1

# XXX needs bumps every time :-
-SHARED_LIBS += sqlite3 37.31 # 8.6
+SHARED_LIBS += sqlite3 37.32 # 8.6
# sqlite suggests that users might like to assert() that library and header
# versions match, so bumps are needed even if function signatures don't change.
# ... at the current time the only one noticed is a < check (in subversion)
@@ -25,22 +24,31 @@ SITES = ${HOMEPAGE}2025/

DEBUG_PACKAGES= ${BUILD_PACKAGES}

-CONFIGURE_STYLE= gnu
-CONFIGURE_ARGS= --disable-static-shell
+CONFIGURE_STYLE= simple

-# for x11/gnome/tracker
-CONFIGURE_ARGS += --enable-fts5
+CONFIGURE_ARGS= --disable-static-shell \
+ --soname=${LIBsqlite3_VERSION} \
+ --prefix=${PREFIX} \
+ --sysconfdir=${SYSCONFDIR} \
+ --mandir=${PREFIX}/man \
+ --localstatedir=${LOCALSTATEDIR} \
+ --enable-rtree \
+ --enable-fts4 \
+ --enable-fts5 \
+ --enable-session
+
+CONFIGURE_ENV = CCACHE=None \
+ CFLAGS='${CFLAGS}'

-# for mozilla
CFLAGS+= -DSQLITE_ENABLE_UNLOCK_NOTIFY \
- -DSQLITE_ENABLE_FTS3 \
-DSQLITE_ENABLE_DBSTAT_VTAB \
- -DSQLITE_ENABLE_COLUMN_METADATA=1 \
- -DSQLITE_ENABLE_SESSION \
- -DSQLITE_ENABLE_PREUPDATE_HOOK
+ -DSQLITE_ENABLE_COLUMN_METADATA

BUILD_DEPENDS = converters/sqlite2mdoc
+
post-install:
+ rm ${PREFIX}/lib/libsqlite3.so{,.0}
+ mv ${PREFIX}/lib/libsqlite3.so.* ${PREFIX}/lib/libsqlite3.so.${LIBsqlite3_VERSION}
${INSTALL_DATA_DIR} ${PREFIX}/man/man3
${LOCALBASE}/bin/sqlite2mdoc -p ${PREFIX}/man/man3 ${PREFIX}/include/sqlite3.h
# fix the .pc file
Index: distinfo
===================================================================
RCS file: /cvs/ports/databases/sqlite3/distinfo,v
diff -u -p -r1.78 distinfo
--- distinfo 29 Jan 2025 17:34:14 -0000 1.78
+++ distinfo 28 Feb 2025 18:02:44 -0000
@@ -1,2 +1,2 @@
-SHA256 (sqlite-autoconf-3480000.tar.gz) = rJkvf8o5id5+0f6ZwWNj+Eh5TIwyoVja/U65J6LgL9U=
-SIZE (sqlite-autoconf-3480000.tar.gz) = 3337615
+SHA256 (sqlite-autoconf-3490100.tar.gz) = EGZC2MyzbF9zI7ZOQVLptxn3wCFaz1v+rD1ef5e1klQ=
+SIZE (sqlite-autoconf-3490100.tar.gz) = 3226385
Index: patches/patch-autosetup_autosetup-find-tclsh
===================================================================
RCS file: patches/patch-autosetup_autosetup-find-tclsh
diff -N patches/patch-autosetup_autosetup-find-tclsh
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-autosetup_autosetup-find-tclsh 28 Feb 2025 18:02:44 -0000
@@ -0,0 +1,14 @@
+Prevent accidental detection of a jimtcl installation
+
+Index: autosetup/autosetup-find-tclsh
+--- autosetup/autosetup-find-tclsh.orig
++++ autosetup/autosetup-find-tclsh
+@@ -4,7 +4,7 @@
+ # Prefer $autosetup_tclsh if is set in the environment (unless ./jimsh0 works)
+ # If an argument is given, use that as the test instead of autosetup-test-tclsh
+ d="`dirname "$0"`"
+-for tclsh in ./jimsh0 $autosetup_tclsh jimsh tclsh tclsh8.5 tclsh8.6 tclsh8.7; do
++for tclsh in $autosetup_tclsh tclsh tclsh8.5 tclsh8.6 tclsh8.7; do
+ { $tclsh "$d/${1-autosetup-test-tclsh}"; } 2>/dev/null && exit 0
+ done
+ echo 1>&2 "No installed jimsh or tclsh, building local bootstrap jimsh0"
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/databases/sqlite3/pkg/PLIST,v
diff -u -p -r1.16 PLIST
--- pkg/PLIST 27 Oct 2024 16:09:03 -0000 1.16
+++ pkg/PLIST 28 Feb 2025 18:02:44 -0000
@@ -3,7 +3,6 @@
include/sqlite3.h
include/sqlite3ext.h
@static-lib lib/libsqlite3.a
-lib/libsqlite3.la
@lib lib/libsqlite3.so.${LIBsqlite3_VERSION}
lib/pkgconfig/sqlite3.pc
@man man/man1/sqlite3.1
Alright, so here goes my next attempt, addressing

On 2025-02-28 18:11, Jeremie Courreges-Anglas wrote:
[...]
>I'd rather patch out the hidden dep so that the build is
>deterministic, even on a machine where jimtcl is already installed.

>I know you're not responsible for the current situation, but IMHO
>those "for this" "andinitially for that" comments don't bring much
>value . One can look at cvs blame/log to understand why we enabled an
>option. I don't feel too strongly about it but the Makefile would be
>more readable if we merged CONFIGURE_ARGS in a single block.

More than happy to do that. I just noticed after the commit that I added the
flag enabling the session extension into the block marked "for mozilla", which
just proves your point.

In the same spirit, I took out "--enable-fts3", which is a no-op.FTS3 is a
subset of FTS4.

>This lacks ${SETENV}, but instead of creating your own do-configure
>I'd prefer that you use CONFIGURE_STYLE=simple which seems to work
>just as fine.

D'oh :-)

No comments:

Post a Comment