rpm-ostree/Cargo.toml
Colin Walters 08c414f897 Rework bindgen/cxx.rs usage and CI build
cxx.rs (aka cxxbridge) and cbindgen are
both generating source code.  Since the last release
we've introduced the former, and we need to ensure
that the generated cxx.rs source ends up in release tarballs
the same way as the cbindgen code.

Rationalize and clean up the binding infrastructure.
Drop support for the vendored cbindgen which we
weren't actually using:
Closes: https://github.com/coreos/rpm-ostree/issues/2392

Move the cxx-rs and cbindgen bits into the same place,
and update our CoreOS CI build to use a separate `Makefile.bindings`
that just generates the code, so our CI still "works like"
a main Koji RPM build.
2021-01-04 13:17:35 +01:00

62 lines
1.4 KiB
TOML

[package]
name = "rpmostree-rust"
version = "0.1.0"
authors = ["Colin Walters <walters@verbum.org>", "Jonathan Lebon <jonathan@jlebon.com>"]
edition = "2018"
[dependencies]
anyhow = "1.0.35"
serde = "1.0.118"
serde_derive = "1.0.118"
serde_json = "1.0.60"
serde_yaml = "0.8.14"
libc = "0.2.81"
cxx = "1.0.18"
nix = "0.19.1"
glib-sys = "0.10.1"
glib = "0.10.3"
gio-sys = "0.10.1"
gio = "0.9.1"
ostree = { version = "0.9.1", features = ["v2020_4"] }
ostree-sys = "0.7.1"
tempfile = "3.1.0"
clap = "2.33.3"
structopt = "0.3.21"
openat = "0.1.19"
openat-ext = "^0.1.9"
curl = "0.4.34"
rayon = "1.5.0"
c_utf8 = "0.1.0"
rand = "0.7.3"
phf = { version = "0.8", features = ["macros"] }
systemd = "0.8.1"
indicatif = "0.15.0"
lazy_static = "1.4.0"
envsubst = "0.2.0"
subprocess = "0.2.6"
chrono = { version = "0.4.19", features = ["serde"] }
libdnf-sys = { path = "rust/libdnf-sys", version = "0.1.0" }
[build-dependencies]
cbindgen = "0.16.0"
[lib]
name = "rpmostree_rust"
path = "rust/src/lib.rs"
crate-type = ["staticlib"]
[profile.release]
# Unwinding across FFI boundaries is undefined behavior, and anyways, we're
# [crash-only](https://en.wikipedia.org/wiki/Crash-only_software)
panic = "abort"
# We assume we're being delivered via e.g. RPM which supports split debuginfo
debug = true
# We need this to avoid leaking symbols, see
# https://internals.rust-lang.org/t/rust-staticlibs-and-optimizing-for-size/5746
lto = true
[features]
sqlite-rpmdb-default = []
default = []