tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

SQLite3 and JSON1



Hi!

chat/matrix-synapse requires JSON support in SQLite3. The SQLite3 source code does not enable it by default, but the SQLite3 build system does by default. See https://www.sqlite.org/json1.html. However, we build it without specifying the same flags as SQLite3's build system does by default: See external/public-domain/sqlite/lib/Makefile

This results in pkgsrc SQLite3 and base SQLite3 to have a different feature set. py-sqlite3 by default depends on system SQLite3, so we end up with a py-sqlite3 that just fails at runtime to use JSON. Which is why matrix-synapse doesn't work, and currently has a MESSAGE that says you need to prefer pkgsrc SQLite3.

I assume a lot of Python software has this assumption, so I would propose that py-sqlite3 should always depend on pkgsrc SQLite3. A lot of C software will have the same assumption (regular SQLite3 does come with JSON1 - we're being odd here), but this software can just depend on pkgsrc SQLite3. However Python software can not do that easily, as py-sqlite3 also needs to link pkgsrc SQLite3 then.

Any objections to making py-sqlite3 always use pkgsrc SQLite3?

-- 
Jonathan



Home | Main Index | Thread Index | Old Index