On Fri, Jun 03, 2016 at 11:24:15PM +0100, Stuart Henderson wrote: > On 2016/06/01 11:22, Stuart Henderson wrote: > > On 2016/06/01 09:09, Landry Breuil wrote: > > > And most importantly, 47 (released next week) requires 3.11. > > > /usr/obj/ports/firefox-47.0beta9/firefox-47.0b9/old-configure:SQLITE_VERSION=3.11.0 > > > > Ok, I'll update the diff this evening. > > So this was a bit optimistic... 3.11 and 3.13 start making more > changes to the Tcl scripts that replaced the awk scripts and it's > beyond my awk to replicate them. (Also I'm not too sure about the > XXX in Makefile about lempar.c which has changed upstream since > the version where we added it). > > As I see it there are two options to get us out of the hole. > > - Pregenerate the files with Tcl and commit them, adapting the > Makefile to use them. This is looking possible for 3.11 though > still a bit of a pain to handle the build system hacks that > will be needed. From a quick look at 3.13 there are more build > system changes and further changes to the Tcl. I for one am > not going to be able to maintain a forked build system with > this many moving pieces. > > - Switch to the "amalgamation" (4 source files: 3 for the lib, > one for the shell), which is what upstream push people towards > using (and what everybody else that I've seen including > sqlite source uses). > > With this the main file is unfortunately huge but would be easier > by far to update later. Note that we only have a small change to > the actual source code (replacing the RNG code) which is easy enough > to carry across. Most of our changes are to the build infrastructure. > > As far as Firefox goes, I think sqlite 3.11 should do us until > release, but might be problematic if we want to update in -stable > ports. > > From what I can tell sqlite upstream *are* careful about ABI. > But it would seem quite a stretch to expect things to work > safely/reliably with two different versions brought into > one address space. >
So when I talked with Ingo about removing SQLite from base we talked about imported the "amalgamation" into mandoc for local use only and then removing lib/libsqlite3 and usr.bin/sqlite3. We would then need to updated sqlite3 in ports and update ports to use this instead. I personally think this is the way to go. Sadly I don't have the time to do this right now (We just welcomed our second child recently). -- James Turner