mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-04-19 14:51:13 -03:00
After nix updated to 0.30, all functions related to file descriptor accepts impl AsFd, e.g., BorrowedFd. This PR is a minimal update. It tries to use impl AsFd as long as possible, but uses BorrowedFd in some places. Yes it introduces unsafe, but doesn't introduce new unsafe code.
119 lines
3.0 KiB
TOML
119 lines
3.0 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = ["printf"]
|
|
|
|
[workspace.package]
|
|
# To build revisions that use Corrosion (those before 2024-01), use CMake 3.19, Rustc 1.78 and Rustup 1.27.
|
|
rust-version = "1.70"
|
|
edition = "2021"
|
|
|
|
[profile.release]
|
|
overflow-checks = true
|
|
lto = true
|
|
|
|
[profile.release-with-debug]
|
|
inherits = "release"
|
|
debug = true
|
|
|
|
[package]
|
|
name = "fish"
|
|
version = "4.1.0-alpha0"
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
default-run = "fish"
|
|
# see doc_src/license.rst for details
|
|
# don't forget to update COPYING and debian/copyright too
|
|
license = "GPL-2.0-only AND LGPL-2.0-or-later AND MIT AND PSF-2.0"
|
|
repository = "https://github.com/fish-shell/fish-shell"
|
|
homepage = "https://fishshell.com"
|
|
readme = "README.rst"
|
|
|
|
[dependencies]
|
|
pcre2 = { git = "https://github.com/fish-shell/rust-pcre2", tag = "0.2.9-utf32", default-features = false, features = [
|
|
"utf32",
|
|
] }
|
|
|
|
bitflags = "2.5.0"
|
|
errno = "0.3.0"
|
|
libc = "0.2"
|
|
# lru pulls in hashbrown by default, which uses a faster (though less DoS resistant) hashing algo.
|
|
# disabling default features uses the stdlib instead, but it doubles the time to rewrite the history
|
|
# files as of 22 April 2024.
|
|
lru = "0.13.0"
|
|
nix = { version = "0.30.1", default-features = false, features = [
|
|
"event",
|
|
"inotify",
|
|
"resource",
|
|
"fs",
|
|
] }
|
|
num-traits = "0.2.19"
|
|
once_cell = "1.19.0"
|
|
fish-printf = { path = "./printf", features = ["widestring"] }
|
|
|
|
# Don't use the "getrandom" feature as it requires "getentropy" which was not
|
|
# available on macOS < 10.12. We can enable "getrandom" when we raise the
|
|
# minimum supported version to 10.12.
|
|
rand = { version = "0.8.5", default-features = false, features = ["small_rng"] }
|
|
widestring = "1.2.0"
|
|
# We need 0.9.0 specifically for some crash fixes.
|
|
terminfo = "0.9.0"
|
|
rust-embed = { version = "8.2.0", optional = true }
|
|
|
|
[target.'cfg(not(target_has_atomic = "64"))'.dependencies]
|
|
portable-atomic = { version = "1", default-features = false, features = [
|
|
"fallback",
|
|
] }
|
|
|
|
[dev-dependencies]
|
|
serial_test = { version = "3", default-features = false }
|
|
|
|
[build-dependencies]
|
|
cc = "1.0.94"
|
|
rsconf = "0.2.2"
|
|
|
|
[target.'cfg(windows)'.build-dependencies]
|
|
unix_path = "1.0.1"
|
|
|
|
[lib]
|
|
crate-type = ["rlib"]
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "fish"
|
|
path = "src/bin/fish.rs"
|
|
|
|
[[bin]]
|
|
name = "fish_indent"
|
|
path = "src/bin/fish_indent.rs"
|
|
|
|
[[bin]]
|
|
name = "fish_key_reader"
|
|
path = "src/bin/fish_key_reader.rs"
|
|
|
|
[features]
|
|
default = ["embed-data"]
|
|
benchmark = []
|
|
embed-data = ["dep:rust-embed"]
|
|
|
|
# The following features are auto-detected by the build-script and should not be enabled manually.
|
|
asan = []
|
|
tsan = []
|
|
|
|
[workspace.lints]
|
|
rust.non_camel_case_types = "allow"
|
|
rust.non_upper_case_globals = "allow"
|
|
rust.unknown_lints = "allow"
|
|
rust.unstable_name_collisions = "allow"
|
|
clippy.manual_range_contains = "allow"
|
|
clippy.needless_return = "allow"
|
|
clippy.needless_lifetimes = "allow"
|
|
|
|
# We do not want to use the e?print(ln)?! macros.
|
|
# These lints flag their use.
|
|
# In the future, they might change to flag other methods of printing.
|
|
clippy.print_stdout = "deny"
|
|
clippy.print_stderr = "deny"
|
|
|
|
[lints]
|
|
workspace = true
|