Commit Graph

332 Commits

Author SHA1 Message Date
gwenn
aede11e6fd Upgrade checks
List Rust enums / structs impacted when new SQLite constants are
introduced.
2021-11-28 18:09:42 +01:00
gwenn
4ec670edeb Split upgrade script
Such as we can upgrade SQLite / SQLCipher without regenerating SQLCipher / SQLite files
2021-11-28 10:09:37 +00:00
gwenn
006c8b77e7 Add new SQLITE_CONSTRAINT_DATATYPE constant 2021-11-28 09:04:45 +00:00
gwenn
795a53d368 Bump bundled sqlite3 version to 3.37.0 2021-11-28 08:45:16 +00:00
Umang Raghuvanshi
74faf8a12c
libsqlite3-sys: darwin: fix crypto link framework
SecurityFoundation.framework is an unrelated macOS framework which does not directly provide cryptography functions. This framework also doesn't exist on iOS, which breaks linking This commit changes to link against Security.framework instead, as noted in the SQLCipher docs [1].

[1] https://www.zetetic.net/blog/2013/6/27/sqlcipher-220-release.html
2021-11-15 18:40:49 +01:00
gwenn
20583ff508
Merge pull request #1022 from gwenn/clippy
Fix clippy warnings
2021-10-17 08:30:58 +02:00
Thom Chiovoloni
6a22bb7a56 Update readme, prep for a cutting a libsqlite3-sys@v0.23.1 2021-10-07 00:28:26 -07:00
BlackHoleFox
28b89a1aa7 Make openssl-sys version less specifc for scroll-reading 2021-10-05 22:48:16 -07:00
BlackHoleFox
66ace52c4a Fix OpenSSL linking on Windows
Technically this is a breaking change moving from `libeay32` to
`libcrypto` but no one should be using an openssl version from <=2016.
2021-10-05 22:48:16 -07:00
gwenn
2d17dc67f5 Prep release 0.26.0 2021-10-04 18:38:04 +02:00
gwenn
ce90b519bb Fix clippy warnings 2021-10-01 20:09:48 +02:00
Christopher Gundler
e2af87f747 Allow static linking against the VC runtime 2021-10-01 01:23:37 -07:00
Thom Chiovoloni
1e80b8165f Apply review feedback (fix upgrade.sh) 2021-07-31 14:40:00 -07:00
Thom Chiovoloni
28cd67300b Include the session FFI in the bundled bindings 2021-07-31 14:40:00 -07:00
gwenn
7c2263dabc Upgrage bindgen to version 0.59 2021-07-21 18:48:05 +02:00
gwenn
c670b6d653 Temporary allow deref_nullptr in tests
As a workaround to https://github.com/rust-lang/rust-bindgen/issues/2066
2021-06-28 19:04:27 +02:00
gwenn
a596482ab1 Bump bundled sqlite3 version to 3.36.0 2021-06-27 11:14:12 +00:00
gwenn
5730b2f952 Fix clippy warnings 2021-06-25 18:57:25 -07:00
Thom Chiovoloni
840a6f3789 Bump bundled sqlite3 version to 3.35.5 2021-06-02 14:31:18 -07:00
dubiousjim
8770e7d443
Add bundle-sqlcipher and bundle-ssl (#860)
Co-authored-by: Thom Chiovoloni <chiovolonit@gmail.com>
2021-06-02 12:07:56 -07:00
daladim
5511a12e57
Use env::var instead of cfg in some cases in build.rs (#961)
Co-authored-by: Thom Chiovoloni <chiovolonit@gmail.com>
2021-05-28 00:00:39 -07:00
Kornel
ba03b34374 Correct pkg-config version 2021-05-16 15:26:25 -07:00
Thom Chiovoloni
97c81d68fc Prep release 0.25.2 2021-05-08 23:06:59 -07:00
Thom Chiovoloni
cdce75328e Fix build on some older versions of Rust 2021-05-08 22:56:19 -07:00
Dirk Stolle
c33d6bfad3 fix several typos 2021-05-02 23:03:10 -07:00
gwenn
9ea5e2fc04
Prepare release of rusqlite 0.25.1 (#940) 2021-04-19 18:57:30 +02:00
David Craven
3519aef29f
Use SQLITE_TEMP_STORE=3 on android. (#937) 2021-04-16 19:27:59 +02:00
gwenn
ddf69f749a
Upgrade to bindgen 0.58 (#933) 2021-04-05 17:35:23 +02:00
gwenn
517ef2beae
Prepare release 0.25.0 (#930)
rusqlite 0.25.0
libsqlite3-sys 0.22.0
Also fix missing README for libsqlite3-sys crate
And fix a typo.
2021-04-03 20:07:53 +02:00
gwenn
f6a69bede9
Upgrade SQLite bundled version to 3.35.4 (#929) 2021-04-03 11:52:51 +02:00
gwenn
ed3bfbdf9d
Silent some clippy warnings (#924)
* allow(clippy::upper_case_acronyms) for rust enum entries that match
  SQLite constants.
* allow(clippy::needless_return) for collation_needed_callback until we
  find a way to propagate the error.
2021-03-25 21:06:46 +01:00
gwenn
a1d42490aa Upgrade SQLite bundled version to 3.35.2 2021-03-25 18:23:51 +00:00
gwenn
a3cf04b9d6 Upgrade SQLite bundled version to 3.35.0 2021-03-14 12:22:10 +00:00
gwenn
880d4bc230 Upgrade to bindgen 0.57 2021-02-01 19:16:46 +01:00
gwenn
67102efb2f Upgrade SQLite bundled version to 3.34.0 2020-12-04 18:26:02 +00:00
gwenn
18bc6dd1a1 Upgrade to bindgen 0.56 2020-11-27 18:36:52 +01:00
gwenn
93c82670d2 Fix clippy warning 2020-10-08 21:33:05 +02:00
Thom Chiovoloni
5cf0158863 Take 2: Prep release of rusqlite 0.24.1 + libsqlite3-sys 0.20.1 2020-10-07 15:53:54 -07:00
Nazar Mishturak
bc9b40a444 Add support for linking to winsqlite3
Signed-off-by: Nazar Mishturak <nazarmx@gmail.com>
2020-10-04 11:40:53 -07:00
gwenn
78275ab614 Upgrade to bindgen 0.55 2020-08-27 21:18:34 +02:00
Damien Elmes
6e33947c2a update to sqlite 3.33.0 2020-08-17 11:01:19 +10:00
gwenn
18f49164ea Upgrade SQLite bundled sources to 3.23.3 2020-08-09 08:35:23 +02:00
Tjeu Kayim
464b8283b2 Add feature flag to include wasm32-wasi-vfs.c 2020-07-24 10:34:00 -07:00
Tjeu Kayim
1483f1cdf5 Support wasm32-wasi target 2020-07-24 10:34:00 -07:00
Sergey Duck
c00471197a Add cross-compilation with mingw 2020-07-04 03:30:32 -07:00
Dubiousjim
a9b700c841 sys/build.rs: LIBSQLITE3_FLAGS hook
Enables compiling bundled sources with different flags.
Env variable name modeled after LIBSQLITE3_SYS_BUNDLING.
May want to println!("cargo:warning=...") instead of panicking.
2020-06-25 09:45:34 -07:00
Dubiousjim
32df49ca34 sys/build.rs: fix comment about {}_STATIC 2020-06-25 09:45:34 -07:00
Dubiousjim
4504eb0ae0 sys/build.rs: SQLITE_HAVE_ISNAN -> HAVE_ISNAN
SQLite treats these flags equivalently. Omitting the SQLITE_ prefix to
be more like HAVE_USLEEP, HAVE_LOCALTIME_R.
2020-06-25 09:45:34 -07:00
Dubiousjim
db64b8dfb0 sys/Cargo.toml: preupdate_hook, session require buildtime_bindgen
We add an explicit "buildtime_bindgen" to the "session" feature, rather
than just relying on the transitive "session" -> "preupdate_hook" ->
"buildtime_bindgen", to proof against possible future changes.
2020-06-25 09:45:34 -07:00
gwenn
57e737f418 Try to fix Clippy warnings 2020-06-05 19:25:45 +02:00
gwenn
870290c64d Upgrade bundled sqlite to 3.32.2 2020-06-05 19:16:51 +02:00
Evgeniy A. Dushistov
8cdfaf36ae little speedup for bundled sqlite3.c 2020-05-29 17:02:37 -07:00
gwenn
c1142c309e Upgrade to bindgen 0.54 2020-05-29 17:02:16 -07:00
gwenn
36745757bc Include LICENSE into the libsqlite3-sys crate
Fix #736
2020-05-16 13:22:09 +02:00
Thom Chiovoloni
185899eab1 Run asan in CI. Fixes #713 2020-04-16 03:09:51 -07:00
Thom Chiovoloni
9322b0e881 Update links & copyright statement 2020-04-15 21:37:39 -07:00
Thom Chiovoloni
e85963852d Fix shellcheck compaints about upgrade.sh 2020-04-15 09:49:23 -07:00
Thom Chiovoloni
22564d3099 Upgrade bundled sqlite to 3.31.1 2020-04-10 16:15:34 -07:00
Thom Chiovoloni
288aa961a7 Exclude va_list and functions using it from the bundled bindings file 2020-04-10 05:29:35 -07:00
Thom Chiovoloni
6b8e2fc02b Prep rusqlite 0.22.0 and libsqlite3-sys 0.17.3 2020-04-08 10:59:28 -07:00
Thom Chiovoloni
6f6f7ffd9f
Add #[non_exhaustive] to enums that might get new variants. (#673)
This just using them in patterns without a catchall. I left things alone
that seem very unlikely to change (`Value`, `ValueRef`, `DatabaseName`,
etc...). This might help reduce the number of breaking changes we need
(rusqlite is still pre-1.0 so it doesn't really matter that much, but
breaking changes complicate the story around when we can cut releases).
2020-04-06 12:01:39 -07:00
Thom Chiovoloni
26c744d0c3
Improve CI test coverage (#670)
* Improve CI test coverage

* Run clippy/rustfmt/rustdoc in CI

* Disable warnings when building bundled sqlite
2020-04-06 10:43:43 -07:00
Thom Chiovoloni
521f8dc481
Prep for libsqlite3-sys 0.17.2 (#667)
This is essentially to get a release out that contains `in_gecko` so
that this library can be used in firefox.

Note: This had temporarially been 0.18.0, but as noted in
https://github.com/jgallagher/rusqlite/pull/619#discussion_r370435032
there isn't an actual need for this, as it isn't a breaking change.

By releasing it as 0.17.2, we can still link rusqlite 0.21 against it,
which lets us avoid needing to cut a release of rusqlite just for a
gecko-specific linkage flag (I imagine there are a few more rusqlite
features we'd want for the next release).
2020-04-06 10:07:55 -07:00
Thom Chiovoloni
a2db66ee3e Add in_gecko feature to libsqlite3-sys to bypass linking. 2020-04-03 13:37:56 -07:00
gwenn
f971c6e625 Fix clippy warnings 2020-03-14 07:41:57 +01:00
gwenn
15fc3b4b71 Clippy + rust fmt 2020-02-22 11:50:00 +01:00
gwenn
2a90073c1e
Merge pull request #629 from gwenn/const
Add missing constants
2020-02-09 12:11:05 +01:00
gwenn
05e87b8d8d Add missing constants 2020-02-09 11:47:01 +01:00
gwenn
9ca29b950e
Merge pull request #627 from gwenn/ignore_path_change
Ignore PATH change
2020-02-09 08:24:41 +01:00
gwenn
b0be8a1536 Upgrade to bindgen 0.53 2020-02-08 11:12:18 +01:00
gwenn
17759a912e Ignore PATH change
Cargo itself changes the PATH.
So `libsqlite3-sys` is always rebuilt on Windows platform.
To avoid this, we ignore PATH change.
If the PATH has been modified in such a way that a different SQLite library is found,
you will have to also modify SQLITE3_LIB_DIR to make cargo rebuild `libsqlite3-sys`

Fix #435.
2020-02-08 10:25:52 +01:00
gwenn
055352f07b
Merge pull request #619 from KamranMackey/master
Upgraded the bundled SQLite version to 3.31.0.
2020-01-26 21:02:09 +01:00
Kamran Mackey
c3f83c281a Upgrade bundled SQLite version to 3.31.0.
Signed-off-by: Kamran Mackey <kamranm1200@gmail.com>
2020-01-26 12:44:03 -07:00
gwenn
cf7e2b5aec Add missing error codes 2020-01-26 18:24:09 +01:00
Thom Chiovoloni
c70d148542 Remove most of the code using feature=bundled as a version check 2020-01-14 08:11:36 -08:00
gwenn
dbc25a9fd5 Prepare 0.17.1 of libsqlite3-sys 2020-01-09 19:13:47 +01:00
Thom Chiovoloni
844839d9a5 Allow crates with a direct dep on libsqlite3-sys to know if sqlcipher has been enabled 2020-01-08 04:11:39 -08:00
gwenn
2d25b34428 Fix some Clippy warnings 2019-12-19 20:08:04 +01:00
gwenn
fe81e7bc10
Merge pull request #601 from gwenn/bindgen
Upgrade bindgen to version 0.52
2019-12-14 08:34:42 +01:00
gwenn
cade470f15 Use runtime feature for bindgen
https://github.com/rust-lang/rust-bindgen/issues/1694#issuecomment-565625756
> Are you using default-features = false? I think you need to change to
features = ["dynamic"] if so so that clang is runtime-detected.
Otherwise it needs a relatively-new libclang version.
2019-12-14 08:18:21 +01:00
gwenn
a0551496d8 Upgrade bindgen to version 0.52 2019-12-13 18:21:38 +01:00
Jake McGinty
8e1f70d465
Download sqlite source via HTTPS. 2019-12-05 11:46:23 +09:00
gwenn
8302a50fb8 Fix clippy warnings 2019-11-03 11:19:07 +01:00
gwenn
a7ad3849da Upgrade bundled SQLite version to 3.30.1 2019-10-19 09:16:14 +00:00
gwenn
08e32444c9 Cleanup use statements 2019-08-17 08:18:37 +02:00
gwenn
e4fecf7fb8 Rustfmt 2019-08-09 20:03:46 +02:00
Richard Dodd
a50d37bd3a Handle old versions of visual studio 2019-07-28 17:05:34 +01:00
gwenn
813ec1272e Upgrade dependencies
bindgen 0.51
url 2.0
2019-07-27 09:14:55 +02:00
gwenn
be12a78e60 Upgrade bundled SQLite version to 3.29 2019-07-11 16:27:07 +00:00
gwenn
8070f3cbe6 Remove bindgen defaut features 2019-07-03 21:12:47 +02:00
gwenn
54ccb0d026 Upgrade bindgen to 0.50 2019-07-03 21:06:22 +02:00
gwenn
a52eeb2565 [ci skip] Prepare release 0.19
rusqlite 0.19.0
And libsqlite3-sys 0.15.0
2019-06-26 18:13:41 +02:00
gwenn
b9a4628b47 [ci skip] rustftmt 2019-06-25 20:40:28 +02:00
kpcyrd
73f1ef817f Add bundled-windows feature 2019-06-21 06:43:39 +02:00
gwenn
db74fda4d8 [ci skip] rustfmt 2019-06-02 09:12:51 +02:00
Julius de Bruijn
bf0eea5d60 Rerun build if max vars or exprs change in the env 2019-05-15 20:23:20 +02:00
Julius de Bruijn
d034cd56b7 Get MAX_VARIABLE_NUMBER and EXPR_DEPTH as env variables 2019-05-15 18:41:23 +02:00
Julius de Bruijn
4b9295c186 Increase bundled SQLite variables and depth
We've been hitting the default `MAX_VARIABLE_NUMBER` and
`MAX_EXPR_DEPTH` with quite basic tests here in Prisma. I was able to
run the tests by using the Arch Linux packaged libsqlite3, but when
turning on the bundled version I was able to get my test to crash with
this test project:

https://github.com/pimeys/sqlite_parameter_test

Now taking a look how Arch Linux builds sqlite, I was able to find two
flags fixing the issue:

https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/sqlite#n35

I think it would be safe to include them in rusqlite.
2019-05-15 10:33:22 +02:00
gwenn
13ee12cb0c Upgrade bundled SQLite sources to 3.28.0
Also upgrade bindgen to 0.49
2019-04-25 18:50:21 +02:00
gwenn
c0e6a584ad Prepare 0.14.0 release 2019-04-24 18:03:11 +02:00
Thom Chiovoloni
fe80b51e89 Allow specifying both sqlcipher and bundled.
This is useful because currently, when using `rusqlite` in a Cargo
workspace with one crate that uses `sqlcipher` and another that uses
`bundled`, a build error will be triggered by an unqualified `cargo
build` (as cargo will use the union of all features enabled by crates in
the workspace).

Instead of panicing, this just emits a warning, before (mostly) ignoring
that the `bundled` feature was specified. Note: in this configuration,
we still use our bundled bindings, to avoid changing `rusqlite` to
handle this edge case (hence 'mostly').
2019-04-19 11:57:29 -07:00
gwenn
b24f3c5519
Merge pull request #483 from technic/master
Clarify instruction for building with vcpkg
2019-03-25 20:00:36 +01:00
Alex Maystrenko
f702bc0797 rebuild when VCPKGRS_DYNAMIC changes 2019-03-24 21:21:13 +01:00
gwenn
e760344351 Upgrade bundled version to SQLite 3.27.2
And upgrade to bindgen 0.48
2019-03-10 13:49:21 +01:00
Will Davis
9f009fe1e0 Use pkg-config to generate sqlite link dependencies
When built as a static library, sqlite (or sqlcipher) doesn't carry
additional link dependencies with it, and the libsqlite3-sys rlib
doesn't pick them up either. A dependent crate attempting to link
against rusqlite then has to specify these additional link commands,
and even then they need to be specified before the libsqlite3-sys
rlib is specified on the command line.

Fix this by attempting to use pkg-config when the
(SQLITE3|SQLCIPHER)_LIB_DIR is specified, since these builds produce
the pkg-config link dependency information, and the pkg_config crate
can automatically generate the correct link commands using that.

(Additionally, since (SQLITE3|SQLCIPHER)_STATIC is already defined,
or not, the --static flag will be correctly configured for pkg_config)
2019-02-04 22:53:57 -06:00
gwenn
62d5ffe678 Fix some enum representation 2019-02-02 11:04:46 +01:00
gwenn
1c3ad27b2f Upgrade to bindgen 0.47 2019-01-26 10:54:21 +01:00
gwenn
dbc4eef657
Session extension (#459)
Session extension bindings
2019-01-13 12:46:19 +01:00
gwenn
f9a08d7a5c Prepare for next release 2019-01-06 09:56:55 +01:00
gwenn
8cf11b18b3 Upgrade to bindgen 0.46 2019-01-06 09:55:56 +01:00
gwenn
6d668d798a Restore old bindgen for Diesel 2019-01-06 09:50:35 +01:00
gwenn
2c872fc763 Upgrade to bindgen 0.45 2018-12-16 09:53:19 +01:00
gwenn
287e2f5dbc Fix vtab modules
`xShadowName` added
2018-12-15 10:51:02 +01:00
gwenn
ae461b8ed2 Upgrade bundled version to SQLite 3.26.0 2018-12-15 10:19:53 +01:00
Thom Chiovoloni
4fd00a6311 Add support for forcing cargo:rustc-link-lib to link as native 2018-12-14 17:12:31 -08:00
gwenn
d874180333 Rust 2018 idioms 2018-12-07 21:57:04 +01:00
gwenn
626118ce07 Merge remote-tracking branch 'jgallagher/master' into 2018 2018-12-06 18:50:21 +01:00
gwenn
d5ce4c234b Upgrade to bindgen 0.44 2018-11-30 18:55:25 +01:00
gwenn
f04047db01 Rust 2018 2018-10-30 20:15:08 +01:00
gwenn
e5b1af51ab Allow build time bindgen of bundled SQLite
Rewrite https://github.com/jgallagher/rusqlite/pull/320
2018-10-28 18:16:48 +01:00
gwenn
567e36424b Upgrade to bindgen 0.43 2018-10-28 08:33:25 +01:00
gwenn
b4f93328f6
[ci skip] prepare version 0.10.0 2018-10-21 15:40:32 +02:00
gwenn
382cac1abb Try to fix AppVayor build 2018-10-10 20:23:40 +02:00
gwenn
557156fef7 Upgrade bindgen and SQLite bundled sources 2018-10-07 11:57:21 +02:00
gwenn
6f5ffa2f19 Regenerate bindgen on linux 2018-09-17 19:39:49 +02:00
gwenn
fde3a59488 Upgrade bundled version to SQLite 3.25.0 2018-09-17 18:42:19 +02:00
gwenn
27939d01c9 Upgrade to bindgen 0.40 2018-09-08 11:19:24 +02:00
gwenn
33307b8cd5 [ci skip] remove unused feature 2018-09-08 11:11:56 +02:00
gwenn
9db7b2e7af Remove old bindgens
Keep the oldest/default one (3.6.8).
But remove intermediate versions: 3.6.11, 3.7.3, 3.7.4, 3.7.16.
2018-09-04 18:58:17 +02:00
gwenn
6e7b35ae15 Upgrade rust-bindgen version 2018-08-31 19:01:26 +02:00
gwenn
d1b5acfe52 Upgrade to bindgen 0.38 2018-08-15 13:58:04 +02:00
gwenn
0ccf98d214 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-08-11 13:37:56 +02:00
gwenn
c925d1aa97 Rustfmt 2018-08-11 12:48:21 +02:00
gwenn
fc37b324b8 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-07-28 16:56:21 +02:00
gwenn
94c6865d28 Upgrade SQLite bundled sources to 3.24.0 2018-07-14 07:53:01 +02:00
Tom
028d8945a3 Exporting the built library's directory, for linking 2018-06-29 23:20:59 +01:00
gwenn
d72c4582d9 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-06-10 19:16:20 +02:00
gwenn
e1ba89c310 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-06-10 18:49:40 +02:00
gwenn
7369994fd3 Upgrade bindgen version 2018-05-23 18:51:22 +02:00
gwenn
1f0437c084
Merge pull request #344 from gwenn/rerun-if-env-changed
Use `rerun-if-env-changed` in libsqlite3-sys
2018-05-12 19:16:50 +02:00
gwenn
1e3dc542a4 Merge remote-tracking branch 'jgallagher/master' into vtab 2018-05-06 08:00:12 +02:00
gwenn
88f2f3e4bd
Merge pull request #350 from jgallagher/clippy
Fix clippy warnings
2018-05-04 20:44:34 +02:00
gwenn
994d40da26 Fix clippy warnings 2018-05-04 19:55:55 +02:00
gwenn
fee4bfcc86 Merge remote-tracking branch 'jgallagher/master' into unlock-notify 2018-05-04 18:06:41 +02:00
gwenn
9c5c9e3c7e Merge remote-tracking branch 'jgallagher/master' into vtab 2018-04-30 22:02:14 +02:00
gwenn
cd26d53a23 Upgrade dependencies
bindgen 0.36
lazy_static 1.0
2018-04-27 19:06:34 +02:00
gwenn
9178e3f452 Use rerun-if-env-changed in libsqlite3-sys
Fix #329
2018-04-06 22:27:07 +02:00
gwenn
5d91fb088f Unlock notification 2018-03-24 08:03:21 +01:00
gwenn
9bdc18d4c0 Fix typo 2018-03-24 03:48:09 +01:00
gwenn
87d97b143e Fix upgrade script
Avoid cleaning the whole target dir
2018-02-10 11:11:51 +01:00