#################### # Package Metadata # #################### [package] name = "lilac" version = "0.3.3" authors = ["cata cata@distruzione.org"] edition = "2024" description = "Manage your own distro" homepage = "https://git.gay/cata/lilac" repository = "https://git.gay/cata/lilac" license = "MIT" publish = false autolib = false autobins = false autoexamples = false autotests = false autobenches = false ################# # Build Targets # ################# [lib] doctest = false name = "lilac" [[bin]] name = "lac" path = "cli/main.rs" required-features = ["cli"] ############ # Features # ############ [features] default = [ "src-http", "src-git", "builder", "cli", # "unsafe", ] # Lilac CLI Interface cli = [ "env_logger", "owo-colors", "encode", "clap", "glob", "toml", ] # Enable encoding and decoding pool to bytes encode = [ "rmp-serde", "serde", ] # Enable building packages from recipes builder = [ "walkdir", "serde", "glob", "mlua", "encode", "bubblewrap", ] # Enable git sources for builder src-git = [ "_src-any", "builder", # required logically, not practically "git2", "url", ] # Enable http(s) sources for builder src-http = [ "_src-any", "builder", # required logically, not practically "ureq", "url", "hex", ] # Internal use only unsafe = [] _src-any = [] ################ # Dependencies # ################ [dependencies] # Required sha1 = "0.10.6" fs-err = "3.1" log = "0.4" # Optional toml = { optional = true, default-features = false, features = ["std", "serde", "parse"], version = "0.9"} ureq = { optional = true, default-features = false, features = ["gzip", "native-tls"], version = "3.1"} mlua = { optional = true, features = ["lua54", "serde"], version = "0.11" } bubblewrap = { optional = true, git = "https://git.gay/cata/bubblewrap" } serde = { optional = true, features = ["derive"], version = "1.0" } clap = { optional = true, features = ["derive"], version = "4.5" } env_logger = { optional = true, version = "0.11" } owo-colors = { optional = true, version = "4.2" } rmp-serde = { optional = true, version = "1.3" } walkdir = { optional = true, version = "2.5" } git2 = { optional = true, version = "0.20" } glob = { optional = true, version = "0.3" } hex = { optional = true, version = "0.4" } url = { optional = true, version = "2.5" } [dev-dependencies] [patch.crates-io] # https://github.com/3Hren/msgpack-rust/pull/366 rmp = { git = "https://github.com/Jake-Shadle/msgpack-rust", rev = "31fe7eedc57930fa9084bbfe83e83f6e9c4a84e6" } ################## # Build Profiles # ################## [profile.dev] debug = false [profile.release] lto = true codegen-units = 1 panic = "abort" [profile.tiny] inherits = "release" opt-level = "z" debug = false strip = true codegen-units = 1 incremental = false panic = "abort" ####################### # Lints Configuration # ####################### [lints.rust] absolute-paths-not-starting-with-crate = "deny" elided-lifetimes-in-paths = "warn" explicit-outlives-requirements = "warn" linker-messages = "deny" # missing-copy-implementations = "warn" missing-docs = "deny" non-ascii-idents = "deny" redundant-imports = "warn" redundant-lifetimes = "warn" single-use-lifetimes = "warn" # supertrait-item-shadowing-definition = "deny" # supertrait-item-shadowing-usage = "deny" unit-bindings = "warn" unnameable-types = "warn" # unqualified-local-imports = "warn" unreachable-pub = "warn" unsafe-code = "forbid" # unstable-features = "deny" unused-lifetimes = "warn" unused-qualifications = "warn" variant-size-differences = "warn" [lints.clippy] # cargo cargo = { priority = -1, level = "warn" } multiple_crate_versions = "allow" # complexity # correctness # nursery nursery = { priority = -1, level = "warn" } option_if_let_else = "allow" uninhabited_references = "allow" redundant_pub_crate = "allow" # pedantic pedantic = { priority = -1, level = "warn" } doc_markdown = "allow" missing_panics_doc = "allow" missing_errors_doc = "allow" large_stack_arrays = "allow" # perf # restriction allow_attributes = "deny" arithmetic_side_effects = "warn" as_conversions = "warn" assertions_on_result_states = "warn" cfg_not_test = "deny" empty_enum_variants_with_brackets = "warn" empty_structs_with_brackets = "warn" float_arithmetic = "deny" float_cmp_const = "deny" get_unwrap = "warn" infinite_loop = "deny" let_underscore_must_use = "warn" pathbuf_init_then_push = "warn" precedence_bits = "warn" renamed_function_params = "deny" rest_pat_in_fully_bound_structs = "warn" return_and_then = "warn" semicolon_inside_block = "warn" shadow_same = "warn" shadow_unrelated = "warn" str_to_string = "warn" string_add = "deny" string_lit_chars_any = "warn" tests_outside_test_module = "deny" unused_result_ok = "warn" # style new_without_default = "allow" # suspicious