The recently imposed "must be logged in" restriction is a response to increased bot traffic on the site. This affects search, commits, and vuxml pages.
Search engines are not blocked. Try using "site:www.freshports.org" and your search terms.
This service is getting updated while this announcement is displayed. Commit processing is paused. Started at 16:21 - expected finish: 19:00 (was 18:00) UTC
Port details
sqlite3SQL database engine in a C library
3.53.4,1databasesΣ=151 3.53.4,1Version of this port present on the latest quarterly branch.
SQLite is an SQL database engine in a C library. Programs that link the SQLite
library can have SQL database access without running a separate RDBMS process.
The distribution comes with a standalone command-line access program (sqlite3)
that can be used to administer an SQLite database and which serves as an
example of how to use the SQLite library.
===> The following configuration options are available for sqlite3-3.53.4,1:
ARMOR=off: Detect misuse of the API
DBPAGE=on: Enable DBPAGE Virtual Table
DBSTAT=on: Enable DBSTAT Virtual Table
DIRECT_READ=on: File is read directly from disk
DQS=off: Double-quoted String Literals
EXAMPLES=on: Build and/or install examples
EXTENSION=on: Enable loadable extensions
FTS3_TOKEN=on: Enable two-args version fts3_tokenizer
FTS4=on: Enable FTS3/4 (Full Text Search) module
FTS5=on: Enable version 5 full-text search engine
LIKENOTBLOB=off: LIKE does not match blobs
MEMMAN=off: Allow it to release unused memory
METADATA=on: Enable column metadata
NORMALIZE=off: Enable normalized sql function
NULL_TRIM=off: Omits NULL columns at the ends of rows
RBU=off: Enable the resumable bulk update
SECURE_DELETE=on: Overwrite deleted information with zeros
SORT_REF=off: To use references in the sorter
STATIC=off: Build static executables and/or libraries
STMT=off: Prepared statement scan status
TCL=off: Enable tcl extension and sqlite_analyzer
THREADS=on: Threading support
TRUSTED_SCHEMA=off: SQL functions & virtual tables are considered unsafe
UNKNOWN_SQL=off: Suppress unknown function errors
UNLOCK_NOTIFY=on: Enable notification on unlocking
UPDATE_LIMIT=off: UPDATE/DELETE is extended with ORDER BY and LIMIT
URI=on: Enable use the URI filename
URI_AUTHORITY=off: Allow convert URL into a UNC
====> Optional extensions
SESSION=on: Enable the session extension
====> Optional functions
OFFSET=off: Enable sqlite_offset() returning records file offset
SOUNDEX=off: Enable the soundex() SQL function
====> Index type for range queries
GEOPOLY=off: Uses the GeoJSON notation (RFC-7946)
RTREE=on: Enable R*Tree module
RTREE_INT=off: Store 32-bit sig int (no float) coordinates
====> Unicode support
ICU=off: Unicode support via ICU
UNICODE61=on: Unicode Version 6.1 tokenizer
====> Where to store temporary file: you have to select exactly one of them
TS0=off: Always use temporary file
TS1=on: File by default, change allowed PRAGMA
TS2=off: Memory by default, change allowed PRAGMA
TS3=off: Always use memory
====> Which query planner to use, stability or ...: you can only select none or one of them
STAT3=off: Collect histogram data from leftmost column
STAT4=off: Collect histogram data from all columns
====> Command line editing library: you can only select none or one of them
LIBEDIT=on: Command line editing via libedit
READLINE=off: Command line editing via libreadline
===> Use 'make config' to modify these settings
Reason:
Due to various ports not being prepared for this change (see 20230227
entry), the DQS option of databases/sqlite3 has been reenabled as a
stop gap measure. It is scheduled to be disabled again for good no
earlier than 20240101, giving downstream software authors more time
to fix their queries.
See also: https://sqlite.org/quirks.html#dblquote
Reason:
Option DQS is now disabled by default. This option controls the "double
quoted string literals are accepted" quirk, permitting the use of double
quotes around string literals if enabled. Users who rely on this quirk
need to manually build databases/sqlite3 with the DQS option enabled.
See also: https://sqlite.org/quirks.html#dblquote
databases/sqlite3: security update to 3.50.4
Changes per <https://sqlite.org/changes.html>:
2025-07-30 (3.50.4)
1 Fix two long-standings cases of the use of uninitialized variables
in obscure circumstances.
2025-07-17 (3.50.3)
1 Fix a possible memory error that can occur if a query is made
against against FTS5 index that has been deliberately corrupted in a
very specific way.
2 Fix the parser so that it ignored SQL comments in all places of a
(Only the first 15 lines of the commit message are shown above )
databases/sqlite3: Pass --prefix to configure
This is required to build with a non-default ${LOCALBASE}, otherwise,
the build fails: firstly because it can't find libedit, and secondly
because it tries to install into /usr/local instead of ${PREFIX}.
PR: 288816
Reviewed by: vvd, arrowd
Approved by: maintainer (timeout, > 30 days)
Differential Revision: https://reviews.freebsd.org/D52632
databases/sqlite3: Add reminder comment about linux ports
I saw several vuxml entries that lacked corresponding
linux-*-sqlite entries, or linux_base-rl9 these days (since June 2025).
Add a reminder comment near the PORTVERSION to remind people to
also add linux-*-sqlite VuXML entries as needed.
databases/sqlite3: Fix soname, fix build if ICU=on LIBEDIT=off and READLINE=off
--soname=libsqlite3.so.${DISTVERSION} mean that users must
rebuild/reinstall all consumers of the sqlite3 after each patch-level
update.
Use --soname=legacy => soname = libsqlite3.so.0 - ABI and API didn't
changed.
PR: 287983
Approved by: Pavel Volkov <pavelivolkov@gmail.com> (maintainer, implicit - fix
runtime)
Fixes: 8af3fe5ef31b (update to 3.50.2)
Co-authored-by: russian@russerver.org
databases/sqlite3: Update to 3.45.0
ChangeLog: https://sqlite.org/releaselog/3_45_0.html
* The SQLITE_DIRECT_OVERFLOW_READ optimization is now enabled by default.
* The use of -DSQLITE_STRICT_SUBTYPE=1 is a recommended compile-time option for
every application that makes use of subtypes.
PR: 276472
Reported by: pavelivolkov@gmail.com (maintainer)
databases/sqlite3: reenable the DQS option
Due to various ports not being prepared for this change (see 20230227
entry), the DQS option of databases/sqlite3 has been reenabled as a
stop gap measure. It is scheduled to be disabled again for good no
earlier than 20240101, giving downstream software authors more time
to fix their queries.
PR: 270064
Fixes: 47912ce2e613211aecf6ecdfc58681b7aca0df33
See also: PR 269889, 269966, 269950
databases/sqlite3: Update to 3.40.1
ChangeLog: https://www.sqlite.org/releaselog/3_40_1.html
* Fix the --safe command-line option to the CLI such that it correctly
disallows the use of SQL functions like writefile() that can cause harmful
side-effects.
* Fix a potential infinite loop in the memsys5 alternative memory allocator.
This bug was introduced by a performance optimization in version 3.39.0.
* Various other obscure fixes.
PR: 268762
Reported by: pavelivolkov@gmail.com (maintainer)
MFH: 2023Q1 (bugfix release)
databases/sqlite3: Update to 3.40.0
ChangeLog: https://www.sqlite.org/releaselog/3_40_0.html
* Add support for compiling SQLite to WASM and running it in web browsers.
* Add the recovery extension that might be able to recover some content from a
corrupt database file.
* Query planner enhancements:
* A new typedef named sqlite3_filename is added and used to represent the name
of a database file.
* Add the sqlite3_value_encoding() interface.
* Security enhancement: SQLITE_DBCONFIG_DEFENSIVE is augmented to prohibit
changing the schema_version.
* Enhancements to the PRAGMA integrity_check statement:
* Enhance the VACUUM INTO statement so that it honors the PRAGMA synchronous
(Only the first 15 lines of the commit message are shown above )
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
databases/sqlite3: Update to 3.39
ChangeLog: https://www.sqlite.org/releaselog/3_39_0.html
* Add (long overdue) support for RIGHT and FULL OUTER JOIN.
* Add new binary comparison operators IS NOT DISTINCT FROM and IS DISTINCT FROM
that are equivalent to IS and IS NOT, respective, for compatibility with
PostgreSQL and SQL standards.
* Add a new return code (value "3") from the sqlite3_vtab_distinct() interface
that indicates a query that has both DISTINCT and ORDER BY clauses.
* Added the sqlite3_db_name() interface.
* The unix os interface resolves all symbolic links in database filenames to
create a canonical name for the database before the file is opened.
* Defer materializing views until the materialization is actually needed, thus
avoiding unnecessary work if the materialization turns out to never be used.
* The HAVING clause of a SELECT statement is now allowed on any aggregate
query, even queries that do not have a GROUP BY clause.
* Many microoptimizations collectively reduce CPU cycles by about 2.3%.
PR: 264974
Reported by: pavelivolkov@gmail.com (maintainer)
databases/sqlite3: unbreak fetch
3.35.5 was not released in 2022, nor have there been any SQLite
releases thus far in 2022.
Approved by: portmgr (implicit)
databases/sqlite3: disable SQLITE_MMAP_READWRITE
Although mmap is not in use by default, this option is too specific to
enable in the system sqlite3. There are cases where the
application/developer may wish to use mmap for reads (to minimize the
sqlite pagecache), but go through the well tested (p)write routines.
databases/sqlite3: enable OS features
Enable various FreeBSD API options and go-fasters
The only one of these that raised concern is related to mmap, but this
compile time flag will not enable mmap usage on its own.
There is a test failure on ZFS with posix_fallocate(), leave that off
for now.
PR: 241385
Tested by: kbowling (test harness https://www.sqlite.org/testing.html)
Approved by: maintainer timeout
Add sqlite_analyzer support
- Switch to more complete distfile which allows to enable
TCL extensions and sqlite_analyzer
- Switch to pkg-plist
PR: 221735
Reported by: lapo@lapo.it
Approved by: maintainer timeout (pavelivolkov@gmail.com, 3.5 years)
databases/sqlite3: Change candidates of OPTIONS_RADIO_RL
Removed unneeded LIBEDIT_DESC and "USES= ncurses".
In the target "post-install" added list for check used shared libraries.
PR: 248446
Submitted by: maintainer
Sponsored by: Netzkommune GmbH
databases/sqlite3: pet portlint
> WARN: Makefile: [137]: whitespace before end of line.
> FATAL: Makefile: [209]: use a tab (not space) after a variable name
- Add back REALINEP and READLINES options and make them and LIBEDIT
option work after r542047 [1]
- Also add back options descriptions [1]
- While here make STAT3 and STAT4 options descriptions start with
uppercase letter [1]
- Since in r542047 OPTIONS_GROUP_RL was changed to OPTIONS_RADIO_RL
also bug 239228 can be closed [2]
PR: 248323 [1], 239228 [2]
Submitted by: myself [1], Dennis Clarke <dclarke@blastwave.org> [2]
Approved by: maintainer [1]
Update 3.32.0 --> 3.32.2
Fix two long-standing bugs that allow malicious SQL statements to crash
the process that is running SQLite. These bugs were announced by a
third-party approximately 24 hours after the 3.32.0 release but are not
specific to the 3.32.0 release.
Fix a long-standing bug in the byte-code engine that can cause a COMMIT
command report as success when in fact it failed to commit. Ticket
810dc8038872e212.
Approved by: portmgr (blanket: run-time bugfix)
MFH: 2020Q2
Fix PowerPC segfault.
The segfault fix was originally developed by our upstream, sqlite.org,
to address S/390 and Sparc segfaults, both of which are big endian.
Our PowerPC is also big endian, which this patch also fixes.
Inspired by: src r360223
Approved by: Approved by: portmgr (blanket: run-time bugfix)
Obtained from: https://www.sqlite.org/src/vinfo/04885763c4cd00cb?diff=1https://sqlite.org/forum/forumpost/672291a5b2
Fix configure error when SESSION is enabled
In file included from <built-in>:318:
<command line>:39:28: warning: ISO C99 requires whitespace after the macro name
[-Wc99-extensions]
#define SQLITE_ENABLE_RTREE-DSQLITE_ENABLE_SESSION 1
^
sqlite3.c:308:5: error: token is not a valid binary operator in a preprocessor
subexpression
#if SQLITE_ENABLE_RTREE
^~~~~~~~~~~~~~~~~~~
<command line>:39:52: note: expanded from here
#define SQLITE_ENABLE_RTREE-DSQLITE_ENABLE_SESSION 1
~~~~~~~~~~~~~~~~~~~~~~~ ^
1 warning and 1 error generated.
*** Error code 1
Approved by: portmgr (blanket)
databases/sqlite3: Update 3.22.0 -> 3.23.0
Changelog:
https://www.sqlite.org/releaselog/3_23_0.html
Port changes:
* Add SER1 option for the new optional sqlite3_serialize()/sqlite3_deserialize()
functions
* Remove security patches that are now in the release
PR: 227365
Submitted by: Pavel Volkov <pavelivolkov@gmail.com> (maintainer)
databases/sqlite3: Patch for CVE-2018-8740
Detect databases whose schema is corrupted using
a CREATE TABLE AS statement and issue an appropriate error message.
CVE-2018-8740 will be entered into VuXML when SQLite will make
a release, because CVE-2018-8740 says that versions up to and including
the current version 3.22.0 are vulnerable.
Submitted by: Pavel Volkov <pavelivolkov@gmail.com> (maintainer)
Reported by: tj <tj@mrsk.me>
databases/sqlite: Update to 3.22.0
Changelog:
https://www.sqlite.org/releaselog/3_22_0.html
Port changes:
* Added the OFFSET option for the new sqlite_offset() function
* Added 'Optional extensions' and 'Optional functions' option
groups for better options readability
* Deleted patches from files/ because they were disabling certain
options in the command-line utility that the upstream keeps
always enabled there
* Changed capitalization in some options according to
common spelling rules
PR: 225627
Submitted by: Charlie Li <ml+freebsd@vishwin.info> (original version)
Submitted by: Pavel Volkov <pavelivolkov@gmail.com> (maintainer, later version)
Approved by: Pavel Volkov <pavelivolkov@gmail.com> (maintainer)
Differential Revision: https://reviews.freebsd.org/D14216