sqld icon indicating copy to clipboard operation
sqld copied to clipboard

Publish sqld on crates

Open psarna opened this issue 2 years ago • 12 comments

It would be nice to be able to just cargo install sqld. For that we need to temporarily nuke some git-only dependencies like the ones needed for the mvSQLite backend, but I'm personally totally fine with that 🤷

psarna avatar Feb 13 '23 09:02 psarna

Our main roadblock is https://github.com/rusqlite/rusqlite/pull/1283 - having libSQL supported in the libsqlite3-sys crate. For that to happen, we also need to cook libSQL 0.2.0 - which we should do soon anyway. Once done, I'll go back to https://github.com/rusqlite/rusqlite/pull/1283 and hopefully we'll make it upstream :crossed_fingers:

Once done, there will be a few more things to handle, because crates published on crates.io cannot have custom git dependencies - they need proper crates.io dependencies to be publishable.

  1. Use upstream lemon-rs. @MarinPostma : I don't remember anymore, what was the main reason for us using a git rev instead of an official release? https://github.com/libsql/sqld/blob/30e11c9d0d4e601be87d888c421b6b44f4ed7d3b/sqld/Cargo.toml#L39 Maybe whatever it is, it was fixed upstream already?
  2. Temporarily nuke mwal and mvfs dependencies used in our experimental mvSQLite backend. They aren't published on crates, so we can't rely on them. We can reintroduce and publish the mvSQLite backend once mvfs gets published (it belongs to @losfair)

psarna avatar Feb 13 '23 11:02 psarna

I can ask for a release to be cut for lemon

MarinPostma avatar Feb 13 '23 11:02 MarinPostma

k, great; no rush though, as we need libSQL 0.2.0 first

psarna avatar Feb 13 '23 11:02 psarna

done => https://github.com/gwenn/lemon-rs/issues/22

MarinPostma avatar Feb 13 '23 11:02 MarinPostma

Opened an issue in mvSQLite repo: https://github.com/losfair/mvsqlite/issues/105

Should be able to do it soon.

losfair avatar Feb 13 '23 13:02 losfair

Perfect, thanks!

psarna avatar Feb 13 '23 14:02 psarna

mvfs is published to crates.io: https://crates.io/crates/mvfs

losfair avatar Feb 13 '23 14:02 losfair

we also have a lemon-rs release.

MarinPostma avatar Feb 13 '23 17:02 MarinPostma

@psarna What's the status of mwal? If it is usable it would be great if you can open a PR at https://github.com/losfair/mvsqlite.

losfair avatar Feb 15 '23 04:02 losfair

@losfair it used to work, but I haven't touched for a while, so I think I need to do the following first:

  1. Release libsql 0.2.0 (I expect it to happen early in March)
  2. Get the newest stable Rust bindings for virtual WAL based on 0.2.0
  3. Rewrite mwal on top of it
  4. Retest
  5. Create a PR

psarna avatar Feb 15 '23 15:02 psarna

Just moved sqld-libsql-bindings to https://crates.io/crates/mvfs, looks like everything compiles just fine. In the following days I'll try to rewrite mwal on top of libSQL 0.2.0 to make it publishable, and then the only thing left before we can publish sqld on crates (I hope) is https://github.com/rusqlite/rusqlite/pull/1283

psarna avatar Mar 03 '23 08:03 psarna

ah wait, I still need https://github.com/psarna/mvsqlite/commit/e634fb87b2c295d662d62aafa665cd78f60e8e5b to go into mvfs before we move. I'll make it part of the larger mwal pull request.

psarna avatar Mar 03 '23 09:03 psarna