Download raw body.
[Update] databases/sqlite3 3.49.1
On Sun, Mar 02, 2025 at 05:47:02PM +0100, Jeremie Courreges-Anglas wrote:
>
> FWIW I put your last diff in a bulk build on arm64 (clang 19), looks
> mostly good so far:
>
> I=10372 B=144 Q=3229 T=596 F=0 !=263
> L=net/icinga/core2
> E=games/zelda3-ro
>
> More input below,
>
> On Fri, Feb 28, 2025 at 07:11:13PM +0100, Volker Schlecht wrote:
> > 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.
>
> ok so it's not just about jimtcl, as confirmed by the context of the
> patch. Please see inline comments.
>
> > > 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.
>
> Confirmed. I checked that the same -D/#defines set was used before
> and after. In the new version some are passed on the cli and some end
> up in sqlite_cfg.h. Looks mostly good, fts3 is indeed implied by
> fts4, but geopoly is no longer implied by --enable-rtree. So unless
> you have a good reason to leave it out, I suggest you add
> --enable-geopoly to match the current feature set.
>
> https://wxcvbn.org/~jca/tmp/sqlite-defines.diff
>
> > > 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 :-)
> >
> > 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"
>
> The "./jimsh0" case above is actually the executable name of a
> stripped version of jimtcl shipped as autosetup/jimsh0.c in the sqlite
> tarball. The first other tclsh executable in the list is going to be
> used if present, with a fallback on compiling and using jimsh0. IMO
> we always want to use the same interpreter, and can't take the risk of
> a picked up version being junked by dpb(1) in bulk builds, no matter
> the length of the race window.
>
> You could patch out the alternatives and always use the jimsh0.c
> fallback. But adding a BUILD_DEPENDS on lang/tcl looks sane. It
> doesn't bring any other BUILD_DEPENDS/LIB_DEPENDS and would be the
> usual thing to do.
>
> Updated diff below:
> - add --enable-geopoly
> - add bdep on lang/tcl, let the tcl module decide which version to use
> but force the picked up version to be used in autosetup.
> Alternately we could choose the tcl version independently of the
> defaults in tcl.port.mk
> - tweak SHARED_LIBS comment, not sure what was was initially intended :)
> - reorder Makefile a bit to have MODULES/BUILD_DEPENDS and following
> bits in the usual order
> - added a comment about renaming a shared library being usually
> incorrect, as discussed with sthen
>
> cc'ing the Stuarts. If you agree with those changes, ok jca@ for the
> diff below.
>
This diff looks pretty good to me. ok jturner@
>
> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/databases/sqlite3/Makefile,v
> diff -u -p -r1.135 Makefile
> --- Makefile 27 Feb 2025 15:44:32 -0000 1.135
> +++ Makefile 2 Mar 2025 16:30:23 -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
> +# XXX needs bumps every time :-/
> +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,36 @@ SITES = ${HOMEPAGE}2025/
>
> DEBUG_PACKAGES= ${BUILD_PACKAGES}
>
> -CONFIGURE_STYLE= gnu
> -CONFIGURE_ARGS= --disable-static-shell
> +MODULES = lang/tcl
> +BUILD_DEPENDS = converters/sqlite2mdoc \
> + ${MODTCL_BUILD_DEPENDS}
> +
> +CONFIGURE_STYLE= simple
> +CONFIGURE_ARGS= --disable-static-shell \
> + --soname=${LIBsqlite3_VERSION} \
> + --prefix=${PREFIX} \
> + --sysconfdir=${SYSCONFDIR} \
> + --mandir=${PREFIX}/man \
> + --localstatedir=${LOCALSTATEDIR} \
> + --enable-rtree \
> + --enable-geopoly \
> + --enable-fts4 \
> + --enable-fts5 \
> + --enable-session
> +
> +CONFIGURE_ENV = CCACHE=None \
> + CFLAGS='${CFLAGS}' \
> + autosetup_tclsh={MODTCL_BIN}
>
> -# for x11/gnome/tracker
> -CONFIGURE_ARGS += --enable-fts5
> -
> -# 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}
> + # This is usually incorrect, but here the build sets the library soname
> + # so renaming the file after the fact is ok.
> + 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: /home/cvs/ports/databases/sqlite3/distinfo,v
> diff -u -p -r1.78 distinfo
> --- distinfo 29 Jan 2025 17:34:14 -0000 1.78
> +++ distinfo 2 Mar 2025 15:28:49 -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: pkg/PLIST
> ===================================================================
> RCS file: /home/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 2 Mar 2025 15:28:49 -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
>
> --
> jca
> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/databases/sqlite3/Makefile,v
> diff -u -p -r1.135 Makefile
> --- Makefile 27 Feb 2025 15:44:32 -0000 1.135
> +++ Makefile 2 Mar 2025 16:30:23 -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
> +# XXX needs bumps every time :-/
> +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,36 @@ SITES = ${HOMEPAGE}2025/
>
> DEBUG_PACKAGES= ${BUILD_PACKAGES}
>
> -CONFIGURE_STYLE= gnu
> -CONFIGURE_ARGS= --disable-static-shell
> +MODULES = lang/tcl
> +BUILD_DEPENDS = converters/sqlite2mdoc \
> + ${MODTCL_BUILD_DEPENDS}
> +
> +CONFIGURE_STYLE= simple
> +CONFIGURE_ARGS= --disable-static-shell \
> + --soname=${LIBsqlite3_VERSION} \
> + --prefix=${PREFIX} \
> + --sysconfdir=${SYSCONFDIR} \
> + --mandir=${PREFIX}/man \
> + --localstatedir=${LOCALSTATEDIR} \
> + --enable-rtree \
> + --enable-geopoly \
> + --enable-fts4 \
> + --enable-fts5 \
> + --enable-session
> +
> +CONFIGURE_ENV = CCACHE=None \
> + CFLAGS='${CFLAGS}' \
> + autosetup_tclsh={MODTCL_BIN}
>
> -# for x11/gnome/tracker
> -CONFIGURE_ARGS += --enable-fts5
> -
> -# 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}
> + # This is usually incorrect, but here the build sets the library soname
> + # so renaming the file after the fact is ok.
> + 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: /home/cvs/ports/databases/sqlite3/distinfo,v
> diff -u -p -r1.78 distinfo
> --- distinfo 29 Jan 2025 17:34:14 -0000 1.78
> +++ distinfo 2 Mar 2025 15:28:49 -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: pkg/PLIST
> ===================================================================
> RCS file: /home/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 2 Mar 2025 15:28:49 -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
[Update] databases/sqlite3 3.49.1