feat(nix-compat/nix_http): init parse_nar[info]_str
This moves the URL component parsing code we had in nar-bridge to nix-compat. We change the function signature to return an Option, not a Result<_, StatusCode>. This allows returning more appropriate error codes, as we can ok_or(…) at the callsite, which we now do: on an upload to an invalid path, we now return "unauthorized", while on a GET/HEAD, we return "not found". This also adds support to parse compression suffixes. While not supported in nar-bridge, other users of nix-compat might very well want to parse these paths. Also fix the error message when parsing NAR urls, it mentioned 32, not 52, which is a copypasta error from the narinfo URL parsing code. Change-Id: Id1be9a8044814b54ce68b125c52dfe933c9c4f74 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12260 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
2357079891
commit
e03ea11bad
15 changed files with 634 additions and 178 deletions
1
tvix/Cargo.lock
generated
1
tvix/Cargo.lock
generated
|
@ -2361,6 +2361,7 @@ dependencies = [
|
|||
"thiserror",
|
||||
"tokio",
|
||||
"tokio-test",
|
||||
"tracing",
|
||||
"zstd",
|
||||
]
|
||||
|
||||
|
|
|
@ -7443,6 +7443,10 @@ rec {
|
|||
optional = true;
|
||||
features = [ "io-util" "macros" ];
|
||||
}
|
||||
{
|
||||
name = "tracing";
|
||||
packageId = "tracing";
|
||||
}
|
||||
];
|
||||
devDependencies = [
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@ use axum::response::Response;
|
|||
use bytes::Bytes;
|
||||
use data_encoding::BASE64URL_NOPAD;
|
||||
use futures::TryStreamExt;
|
||||
use nix_compat::nixbase32;
|
||||
use nix_compat::{nix_http, nixbase32};
|
||||
use serde::Deserialize;
|
||||
use std::io;
|
||||
use tokio_util::io::ReaderStream;
|
||||
|
@ -92,7 +92,14 @@ pub async fn put(
|
|||
}): axum::extract::State<AppState>,
|
||||
request: axum::extract::Request,
|
||||
) -> Result<&'static str, StatusCode> {
|
||||
let nar_hash_expected = parse_nar_str(&nar_str)?;
|
||||
let (nar_hash_expected, compression_suffix) =
|
||||
nix_http::parse_nar_str(&nar_str).ok_or(StatusCode::UNAUTHORIZED)?;
|
||||
|
||||
// No paths with compression suffix are supported.
|
||||
if !compression_suffix.is_empty() {
|
||||
warn!(%compression_suffix, "invalid compression suffix requested");
|
||||
return Err(StatusCode::UNAUTHORIZED);
|
||||
}
|
||||
|
||||
let s = request.into_body().into_data_stream();
|
||||
|
||||
|
@ -133,54 +140,3 @@ pub async fn put(
|
|||
|
||||
// FUTUREWORK: maybe head by narhash. Though not too critical, as we do
|
||||
// implement HEAD for .narinfo.
|
||||
|
||||
/// Parses a `14cx20k6z4hq508kqi2lm79qfld5f9mf7kiafpqsjs3zlmycza0k.nar`
|
||||
/// string and returns the nixbase32-decoded digest.
|
||||
/// No compression is supported.
|
||||
fn parse_nar_str(s: &str) -> Result<[u8; 32], StatusCode> {
|
||||
if !s.is_char_boundary(52) {
|
||||
warn!("invalid string, no char boundary at 32");
|
||||
return Err(StatusCode::NOT_FOUND);
|
||||
}
|
||||
|
||||
Ok(match s.split_at(52) {
|
||||
(hash_str, ".nar") => {
|
||||
// we know this is 52 bytes
|
||||
let hash_str_fixed: [u8; 52] = hash_str.as_bytes().try_into().unwrap();
|
||||
nixbase32::decode_fixed(hash_str_fixed).map_err(|e| {
|
||||
warn!(err=%e, "invalid digest");
|
||||
StatusCode::NOT_FOUND
|
||||
})?
|
||||
}
|
||||
_ => {
|
||||
warn!("invalid string");
|
||||
return Err(StatusCode::BAD_REQUEST);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::parse_nar_str;
|
||||
use hex_literal::hex;
|
||||
|
||||
#[test]
|
||||
fn success() {
|
||||
assert_eq!(
|
||||
hex!("13a8cf7ca57f68a9f1752acee36a72a55187d3a954443c112818926f26109d91"),
|
||||
parse_nar_str("14cx20k6z4hq508kqi2lm79qfld5f9mf7kiafpqsjs3zlmycza0k.nar").unwrap()
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn failure() {
|
||||
assert!(
|
||||
parse_nar_str("14cx20k6z4hq508kqi2lm79qfld5f9mf7kiafpqsjs3zlmycza0k.nar.x").is_err()
|
||||
);
|
||||
assert!(
|
||||
parse_nar_str("14cx20k6z4hq508kqi2lm79qfld5f9mf7kiafpqsjs3zlmycza0k.nar.xz").is_err()
|
||||
);
|
||||
assert!(parse_nar_str("14cx20k6z4hq508kqi2lm79qfld5f9mf7kiafpqsjs3zlmycza0").is_err());
|
||||
assert!(parse_nar_str("14cx20k6z4hq508kqi2lm79qfld5f9mf7kiafpqsjs3zlmycza0🦊.nar").is_err())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use axum::http::StatusCode;
|
||||
use bytes::Bytes;
|
||||
use nix_compat::{narinfo::NarInfo, nixbase32};
|
||||
use nix_compat::{narinfo::NarInfo, nix_http, nixbase32};
|
||||
use prost::Message;
|
||||
use tracing::{instrument, warn, Span};
|
||||
use tvix_castore::proto::{self as castorepb};
|
||||
|
@ -18,7 +18,7 @@ pub async fn head(
|
|||
path_info_service, ..
|
||||
}): axum::extract::State<AppState>,
|
||||
) -> Result<&'static str, StatusCode> {
|
||||
let digest = parse_narinfo_str(&narinfo_str)?;
|
||||
let digest = nix_http::parse_narinfo_str(&narinfo_str).ok_or(StatusCode::NOT_FOUND)?;
|
||||
Span::current().record("path_info.digest", &narinfo_str[0..32]);
|
||||
|
||||
if path_info_service
|
||||
|
@ -44,7 +44,7 @@ pub async fn get(
|
|||
path_info_service, ..
|
||||
}): axum::extract::State<AppState>,
|
||||
) -> Result<String, StatusCode> {
|
||||
let digest = parse_narinfo_str(&narinfo_str)?;
|
||||
let digest = nix_http::parse_narinfo_str(&narinfo_str).ok_or(StatusCode::NOT_FOUND)?;
|
||||
Span::current().record("path_info.digest", &narinfo_str[0..32]);
|
||||
|
||||
// fetch the PathInfo
|
||||
|
@ -101,7 +101,7 @@ pub async fn put(
|
|||
}): axum::extract::State<AppState>,
|
||||
request: axum::extract::Request,
|
||||
) -> Result<&'static str, StatusCode> {
|
||||
let _narinfo_digest = parse_narinfo_str(&narinfo_str)?;
|
||||
let _narinfo_digest = nix_http::parse_narinfo_str(&narinfo_str).ok_or(StatusCode::UNAUTHORIZED);
|
||||
Span::current().record("path_info.digest", &narinfo_str[0..32]);
|
||||
|
||||
let narinfo_bytes: Bytes = axum::body::to_bytes(request.into_body(), NARINFO_LIMIT)
|
||||
|
@ -157,49 +157,3 @@ pub async fn put(
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Parses a `3mzh8lvgbynm9daj7c82k2sfsfhrsfsy.narinfo` string and returns the
|
||||
/// nixbase32-decoded digest.
|
||||
fn parse_narinfo_str(s: &str) -> Result<[u8; 20], StatusCode> {
|
||||
if !s.is_char_boundary(32) {
|
||||
warn!("invalid string, no char boundary at 32");
|
||||
return Err(StatusCode::NOT_FOUND);
|
||||
}
|
||||
|
||||
Ok(match s.split_at(32) {
|
||||
(hash_str, ".narinfo") => {
|
||||
// we know this is 32 bytes
|
||||
let hash_str_fixed: [u8; 32] = hash_str.as_bytes().try_into().unwrap();
|
||||
nixbase32::decode_fixed(hash_str_fixed).map_err(|e| {
|
||||
warn!(err=%e, "invalid digest");
|
||||
StatusCode::NOT_FOUND
|
||||
})?
|
||||
}
|
||||
_ => {
|
||||
warn!("invalid string");
|
||||
return Err(StatusCode::NOT_FOUND);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::parse_narinfo_str;
|
||||
use hex_literal::hex;
|
||||
|
||||
#[test]
|
||||
fn success() {
|
||||
assert_eq!(
|
||||
hex!("8a12321522fd91efbd60ebb2481af88580f61600"),
|
||||
parse_narinfo_str("00bgd045z0d4icpbc2yyz4gx48ak44la.narinfo").unwrap()
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn failure() {
|
||||
assert!(parse_narinfo_str("00bgd045z0d4icpbc2yyz4gx48ak44la").is_err());
|
||||
assert!(parse_narinfo_str("/00bgd045z0d4icpbc2yyz4gx48ak44la").is_err());
|
||||
assert!(parse_narinfo_str("000000").is_err());
|
||||
assert!(parse_narinfo_str("00bgd045z0d4icpbc2yyz4gx48ak44l🦊.narinfo").is_err());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ serde = { version = "1.0", features = ["derive"] }
|
|||
serde_json = "1.0"
|
||||
sha2 = "0.10.6"
|
||||
thiserror = "1.0.38"
|
||||
tracing = "0.1.37"
|
||||
|
||||
[dependencies.tokio]
|
||||
optional = true
|
||||
|
|
|
@ -2,6 +2,7 @@ pub(crate) mod aterm;
|
|||
pub mod derivation;
|
||||
pub mod nar;
|
||||
pub mod narinfo;
|
||||
pub mod nix_http;
|
||||
pub mod nixbase32;
|
||||
pub mod nixcpp;
|
||||
pub mod nixhash;
|
||||
|
|
108
tvix/nix-compat/src/nix_http/mod.rs
Normal file
108
tvix/nix-compat/src/nix_http/mod.rs
Normal file
|
@ -0,0 +1,108 @@
|
|||
use tracing::trace;
|
||||
|
||||
use crate::nixbase32;
|
||||
|
||||
/// Parses a `14cx20k6z4hq508kqi2lm79qfld5f9mf7kiafpqsjs3zlmycza0k.nar`
|
||||
/// string and returns the nixbase32-decoded digest, as well as the compression
|
||||
/// suffix (which might be empty).
|
||||
pub fn parse_nar_str(s: &str) -> Option<([u8; 32], &str)> {
|
||||
if !s.is_char_boundary(52) {
|
||||
trace!("invalid string, no char boundary at 52");
|
||||
return None;
|
||||
}
|
||||
|
||||
let (hash_str, suffix) = s.split_at(52);
|
||||
|
||||
// we know hash_str is 52 bytes, so it's ok to unwrap here.
|
||||
let hash_str_fixed: [u8; 52] = hash_str.as_bytes().try_into().unwrap();
|
||||
|
||||
match suffix.strip_prefix(".nar") {
|
||||
Some(compression_suffix) => match nixbase32::decode_fixed(hash_str_fixed) {
|
||||
Err(e) => {
|
||||
trace!(err=%e, "invalid nixbase32 encoding");
|
||||
None
|
||||
}
|
||||
Ok(digest) => Some((digest, compression_suffix)),
|
||||
},
|
||||
None => {
|
||||
trace!("no .nar suffix");
|
||||
None
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Parses a `3mzh8lvgbynm9daj7c82k2sfsfhrsfsy.narinfo` string and returns the
|
||||
/// nixbase32-decoded digest.
|
||||
pub fn parse_narinfo_str(s: &str) -> Option<[u8; 20]> {
|
||||
if !s.is_char_boundary(32) {
|
||||
trace!("invalid string, no char boundary at 32");
|
||||
return None;
|
||||
}
|
||||
|
||||
match s.split_at(32) {
|
||||
(hash_str, ".narinfo") => {
|
||||
// we know this is 32 bytes, so it's ok to unwrap here.
|
||||
let hash_str_fixed: [u8; 32] = hash_str.as_bytes().try_into().unwrap();
|
||||
|
||||
match nixbase32::decode_fixed(hash_str_fixed) {
|
||||
Err(e) => {
|
||||
trace!(err=%e, "invalid nixbase32 encoding");
|
||||
None
|
||||
}
|
||||
Ok(digest) => Some(digest),
|
||||
}
|
||||
}
|
||||
_ => {
|
||||
trace!("invalid string, no .narinfo suffix");
|
||||
None
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::{parse_nar_str, parse_narinfo_str};
|
||||
use hex_literal::hex;
|
||||
|
||||
#[test]
|
||||
fn parse_nar_str_success() {
|
||||
assert_eq!(
|
||||
(
|
||||
hex!("13a8cf7ca57f68a9f1752acee36a72a55187d3a954443c112818926f26109d91"),
|
||||
""
|
||||
),
|
||||
parse_nar_str("14cx20k6z4hq508kqi2lm79qfld5f9mf7kiafpqsjs3zlmycza0k.nar").unwrap()
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
(
|
||||
hex!("13a8cf7ca57f68a9f1752acee36a72a55187d3a954443c112818926f26109d91"),
|
||||
".xz"
|
||||
),
|
||||
parse_nar_str("14cx20k6z4hq508kqi2lm79qfld5f9mf7kiafpqsjs3zlmycza0k.nar.xz").unwrap()
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_nar_str_failure() {
|
||||
assert!(parse_nar_str("14cx20k6z4hq508kqi2lm79qfld5f9mf7kiafpqsjs3zlmycza0").is_none());
|
||||
assert!(
|
||||
parse_nar_str("14cx20k6z4hq508kqi2lm79qfld5f9mf7kiafpqsjs3zlmycza0🦊.nar").is_none()
|
||||
)
|
||||
}
|
||||
#[test]
|
||||
fn parse_narinfo_str_success() {
|
||||
assert_eq!(
|
||||
hex!("8a12321522fd91efbd60ebb2481af88580f61600"),
|
||||
parse_narinfo_str("00bgd045z0d4icpbc2yyz4gx48ak44la.narinfo").unwrap()
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_narinfo_str_failure() {
|
||||
assert!(parse_narinfo_str("00bgd045z0d4icpbc2yyz4gx48ak44la").is_none());
|
||||
assert!(parse_narinfo_str("/00bgd045z0d4icpbc2yyz4gx48ak44la").is_none());
|
||||
assert!(parse_narinfo_str("000000").is_none());
|
||||
assert!(parse_narinfo_str("00bgd045z0d4icpbc2yyz4gx48ak44l🦊.narinfo").is_none());
|
||||
}
|
||||
}
|
13
tvix/tools/crunch-v2/Cargo.lock
generated
13
tvix/tools/crunch-v2/Cargo.lock
generated
|
@ -1434,6 +1434,7 @@ dependencies = [
|
|||
"sha2 0.10.8",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2776,9 +2777,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
|
||||
dependencies = [
|
||||
"pin-project-lite",
|
||||
"tracing-attributes",
|
||||
"tracing-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-attributes"
|
||||
version = "0.1.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-core"
|
||||
version = "0.1.32"
|
||||
|
|
|
@ -4155,6 +4155,10 @@ rec {
|
|||
optional = true;
|
||||
features = [ "io-util" "macros" ];
|
||||
}
|
||||
{
|
||||
name = "tracing";
|
||||
packageId = "tracing";
|
||||
}
|
||||
];
|
||||
devDependencies = [
|
||||
{
|
||||
|
@ -9062,6 +9066,11 @@ rec {
|
|||
name = "pin-project-lite";
|
||||
packageId = "pin-project-lite";
|
||||
}
|
||||
{
|
||||
name = "tracing-attributes";
|
||||
packageId = "tracing-attributes";
|
||||
optional = true;
|
||||
}
|
||||
{
|
||||
name = "tracing-core";
|
||||
packageId = "tracing-core";
|
||||
|
@ -9077,7 +9086,37 @@ rec {
|
|||
"tracing-attributes" = [ "dep:tracing-attributes" ];
|
||||
"valuable" = [ "tracing-core/valuable" ];
|
||||
};
|
||||
resolvedDefaultFeatures = [ "std" ];
|
||||
resolvedDefaultFeatures = [ "attributes" "default" "std" "tracing-attributes" ];
|
||||
};
|
||||
"tracing-attributes" = rec {
|
||||
crateName = "tracing-attributes";
|
||||
version = "0.1.27";
|
||||
edition = "2018";
|
||||
sha256 = "1rvb5dn9z6d0xdj14r403z0af0bbaqhg02hq4jc97g5wds6lqw1l";
|
||||
procMacro = true;
|
||||
libName = "tracing_attributes";
|
||||
authors = [
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
"Eliza Weisman <eliza@buoyant.io>"
|
||||
"David Barsky <dbarsky@amazon.com>"
|
||||
];
|
||||
dependencies = [
|
||||
{
|
||||
name = "proc-macro2";
|
||||
packageId = "proc-macro2";
|
||||
}
|
||||
{
|
||||
name = "quote";
|
||||
packageId = "quote";
|
||||
}
|
||||
{
|
||||
name = "syn";
|
||||
packageId = "syn 2.0.39";
|
||||
usesDefaultFeatures = false;
|
||||
features = [ "full" "parsing" "printing" "visit-mut" "clone-impls" "extra-traits" "proc-macro" ];
|
||||
}
|
||||
];
|
||||
features = { };
|
||||
};
|
||||
"tracing-core" = rec {
|
||||
crateName = "tracing-core";
|
||||
|
|
32
tvix/tools/narinfo2parquet/Cargo.lock
generated
32
tvix/tools/narinfo2parquet/Cargo.lock
generated
|
@ -970,6 +970,7 @@ dependencies = [
|
|||
"sha2",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1872,6 +1873,37 @@ dependencies = [
|
|||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing"
|
||||
version = "0.1.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
|
||||
dependencies = [
|
||||
"pin-project-lite",
|
||||
"tracing-attributes",
|
||||
"tracing-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-attributes"
|
||||
version = "0.1.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.39",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-core"
|
||||
version = "0.1.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "typenum"
|
||||
version = "1.17.0"
|
||||
|
|
|
@ -2852,6 +2852,10 @@ rec {
|
|||
optional = true;
|
||||
features = [ "io-util" "macros" ];
|
||||
}
|
||||
{
|
||||
name = "tracing";
|
||||
packageId = "tracing";
|
||||
}
|
||||
];
|
||||
devDependencies = [
|
||||
{
|
||||
|
@ -6370,6 +6374,96 @@ rec {
|
|||
};
|
||||
resolvedDefaultFeatures = [ "default" "io" "io-util" ];
|
||||
};
|
||||
"tracing" = rec {
|
||||
crateName = "tracing";
|
||||
version = "0.1.40";
|
||||
edition = "2018";
|
||||
sha256 = "1vv48dac9zgj9650pg2b4d0j3w6f3x9gbggf43scq5hrlysklln3";
|
||||
authors = [
|
||||
"Eliza Weisman <eliza@buoyant.io>"
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
];
|
||||
dependencies = [
|
||||
{
|
||||
name = "pin-project-lite";
|
||||
packageId = "pin-project-lite";
|
||||
}
|
||||
{
|
||||
name = "tracing-attributes";
|
||||
packageId = "tracing-attributes";
|
||||
optional = true;
|
||||
}
|
||||
{
|
||||
name = "tracing-core";
|
||||
packageId = "tracing-core";
|
||||
usesDefaultFeatures = false;
|
||||
}
|
||||
];
|
||||
features = {
|
||||
"attributes" = [ "tracing-attributes" ];
|
||||
"default" = [ "std" "attributes" ];
|
||||
"log" = [ "dep:log" ];
|
||||
"log-always" = [ "log" ];
|
||||
"std" = [ "tracing-core/std" ];
|
||||
"tracing-attributes" = [ "dep:tracing-attributes" ];
|
||||
"valuable" = [ "tracing-core/valuable" ];
|
||||
};
|
||||
resolvedDefaultFeatures = [ "attributes" "default" "std" "tracing-attributes" ];
|
||||
};
|
||||
"tracing-attributes" = rec {
|
||||
crateName = "tracing-attributes";
|
||||
version = "0.1.27";
|
||||
edition = "2018";
|
||||
sha256 = "1rvb5dn9z6d0xdj14r403z0af0bbaqhg02hq4jc97g5wds6lqw1l";
|
||||
procMacro = true;
|
||||
libName = "tracing_attributes";
|
||||
authors = [
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
"Eliza Weisman <eliza@buoyant.io>"
|
||||
"David Barsky <dbarsky@amazon.com>"
|
||||
];
|
||||
dependencies = [
|
||||
{
|
||||
name = "proc-macro2";
|
||||
packageId = "proc-macro2";
|
||||
}
|
||||
{
|
||||
name = "quote";
|
||||
packageId = "quote";
|
||||
}
|
||||
{
|
||||
name = "syn";
|
||||
packageId = "syn 2.0.39";
|
||||
usesDefaultFeatures = false;
|
||||
features = [ "full" "parsing" "printing" "visit-mut" "clone-impls" "extra-traits" "proc-macro" ];
|
||||
}
|
||||
];
|
||||
features = { };
|
||||
};
|
||||
"tracing-core" = rec {
|
||||
crateName = "tracing-core";
|
||||
version = "0.1.32";
|
||||
edition = "2018";
|
||||
sha256 = "0m5aglin3cdwxpvbg6kz0r9r0k31j48n0kcfwsp6l49z26k3svf0";
|
||||
libName = "tracing_core";
|
||||
authors = [
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
];
|
||||
dependencies = [
|
||||
{
|
||||
name = "once_cell";
|
||||
packageId = "once_cell";
|
||||
optional = true;
|
||||
}
|
||||
];
|
||||
features = {
|
||||
"default" = [ "std" "valuable/std" ];
|
||||
"once_cell" = [ "dep:once_cell" ];
|
||||
"std" = [ "once_cell" ];
|
||||
"valuable" = [ "dep:valuable" ];
|
||||
};
|
||||
resolvedDefaultFeatures = [ "once_cell" "std" ];
|
||||
};
|
||||
"typenum" = rec {
|
||||
crateName = "typenum";
|
||||
version = "1.17.0";
|
||||
|
|
32
tvix/tools/weave/Cargo.lock
generated
32
tvix/tools/weave/Cargo.lock
generated
|
@ -941,6 +941,7 @@ dependencies = [
|
|||
"sha2",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1876,6 +1877,37 @@ dependencies = [
|
|||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing"
|
||||
version = "0.1.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
|
||||
dependencies = [
|
||||
"pin-project-lite",
|
||||
"tracing-attributes",
|
||||
"tracing-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-attributes"
|
||||
version = "0.1.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.48",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-core"
|
||||
version = "0.1.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "typenum"
|
||||
version = "1.17.0"
|
||||
|
|
|
@ -2758,6 +2758,10 @@ rec {
|
|||
optional = true;
|
||||
features = [ "io-util" "macros" ];
|
||||
}
|
||||
{
|
||||
name = "tracing";
|
||||
packageId = "tracing";
|
||||
}
|
||||
];
|
||||
devDependencies = [
|
||||
{
|
||||
|
@ -6321,6 +6325,96 @@ rec {
|
|||
};
|
||||
resolvedDefaultFeatures = [ "default" "io" "io-util" ];
|
||||
};
|
||||
"tracing" = rec {
|
||||
crateName = "tracing";
|
||||
version = "0.1.40";
|
||||
edition = "2018";
|
||||
sha256 = "1vv48dac9zgj9650pg2b4d0j3w6f3x9gbggf43scq5hrlysklln3";
|
||||
authors = [
|
||||
"Eliza Weisman <eliza@buoyant.io>"
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
];
|
||||
dependencies = [
|
||||
{
|
||||
name = "pin-project-lite";
|
||||
packageId = "pin-project-lite";
|
||||
}
|
||||
{
|
||||
name = "tracing-attributes";
|
||||
packageId = "tracing-attributes";
|
||||
optional = true;
|
||||
}
|
||||
{
|
||||
name = "tracing-core";
|
||||
packageId = "tracing-core";
|
||||
usesDefaultFeatures = false;
|
||||
}
|
||||
];
|
||||
features = {
|
||||
"attributes" = [ "tracing-attributes" ];
|
||||
"default" = [ "std" "attributes" ];
|
||||
"log" = [ "dep:log" ];
|
||||
"log-always" = [ "log" ];
|
||||
"std" = [ "tracing-core/std" ];
|
||||
"tracing-attributes" = [ "dep:tracing-attributes" ];
|
||||
"valuable" = [ "tracing-core/valuable" ];
|
||||
};
|
||||
resolvedDefaultFeatures = [ "attributes" "default" "std" "tracing-attributes" ];
|
||||
};
|
||||
"tracing-attributes" = rec {
|
||||
crateName = "tracing-attributes";
|
||||
version = "0.1.27";
|
||||
edition = "2018";
|
||||
sha256 = "1rvb5dn9z6d0xdj14r403z0af0bbaqhg02hq4jc97g5wds6lqw1l";
|
||||
procMacro = true;
|
||||
libName = "tracing_attributes";
|
||||
authors = [
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
"Eliza Weisman <eliza@buoyant.io>"
|
||||
"David Barsky <dbarsky@amazon.com>"
|
||||
];
|
||||
dependencies = [
|
||||
{
|
||||
name = "proc-macro2";
|
||||
packageId = "proc-macro2";
|
||||
}
|
||||
{
|
||||
name = "quote";
|
||||
packageId = "quote";
|
||||
}
|
||||
{
|
||||
name = "syn";
|
||||
packageId = "syn 2.0.48";
|
||||
usesDefaultFeatures = false;
|
||||
features = [ "full" "parsing" "printing" "visit-mut" "clone-impls" "extra-traits" "proc-macro" ];
|
||||
}
|
||||
];
|
||||
features = { };
|
||||
};
|
||||
"tracing-core" = rec {
|
||||
crateName = "tracing-core";
|
||||
version = "0.1.32";
|
||||
edition = "2018";
|
||||
sha256 = "0m5aglin3cdwxpvbg6kz0r9r0k31j48n0kcfwsp6l49z26k3svf0";
|
||||
libName = "tracing_core";
|
||||
authors = [
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
];
|
||||
dependencies = [
|
||||
{
|
||||
name = "once_cell";
|
||||
packageId = "once_cell";
|
||||
optional = true;
|
||||
}
|
||||
];
|
||||
features = {
|
||||
"default" = [ "std" "valuable/std" ];
|
||||
"once_cell" = [ "dep:once_cell" ];
|
||||
"std" = [ "once_cell" ];
|
||||
"valuable" = [ "dep:valuable" ];
|
||||
};
|
||||
resolvedDefaultFeatures = [ "once_cell" "std" ];
|
||||
};
|
||||
"typenum" = rec {
|
||||
crateName = "typenum";
|
||||
version = "1.17.0";
|
||||
|
|
25
users/picnoir/tvix-daemon/Cargo.lock
generated
25
users/picnoir/tvix-daemon/Cargo.lock
generated
|
@ -331,9 +331,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "data-encoding"
|
||||
version = "2.5.0"
|
||||
version = "2.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
|
||||
checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2"
|
||||
|
||||
[[package]]
|
||||
name = "der"
|
||||
|
@ -658,6 +658,16 @@ version = "0.2.153"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
|
||||
|
||||
[[package]]
|
||||
name = "libmimalloc-sys"
|
||||
version = "0.1.39"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23aa6811d3bd4deb8a84dde645f943476d13b248d818edcf8ce0b2f37f036b44"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "litrs"
|
||||
version = "0.4.1"
|
||||
|
@ -692,6 +702,15 @@ version = "2.7.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
|
||||
|
||||
[[package]]
|
||||
name = "mimalloc"
|
||||
version = "0.1.43"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "68914350ae34959d83f732418d51e2427a794055d0b9529f48259ac07af65633"
|
||||
dependencies = [
|
||||
"libmimalloc-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mime"
|
||||
version = "0.3.17"
|
||||
|
@ -746,6 +765,7 @@ dependencies = [
|
|||
"ed25519-dalek",
|
||||
"enum-primitive-derive",
|
||||
"glob",
|
||||
"mimalloc",
|
||||
"nom",
|
||||
"num-traits",
|
||||
"pin-project-lite",
|
||||
|
@ -754,6 +774,7 @@ dependencies = [
|
|||
"sha2",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# This file was @generated by crate2nix 0.13.0 with the command:
|
||||
# This file was @generated by crate2nix 0.14.1 with the command:
|
||||
# "generate" "--all-features"
|
||||
# See https://github.com/kolloch/crate2nix for more info.
|
||||
|
||||
|
@ -13,6 +13,8 @@
|
|||
, rootFeatures ? [ "default" ]
|
||||
# If true, throw errors instead of issueing deprecation warnings.
|
||||
, strictDeprecation ? false
|
||||
# Elements to add to the `-C target-feature=` argument passed to `rustc`
|
||||
# (separated by `,`, prefixed with `+`).
|
||||
# Used for conditional compilation based on CPU feature detection.
|
||||
, targetFeatures ? [ ]
|
||||
# Whether to perform release builds: longer compile times, faster binaries.
|
||||
|
@ -181,6 +183,7 @@ rec {
|
|||
version = "0.2.3";
|
||||
edition = "2021";
|
||||
sha256 = "134jhzrz89labrdwxxnjxqjdg06qvaflj1wkfnmyapwyldfwcnn7";
|
||||
libName = "anstyle_parse";
|
||||
dependencies = [
|
||||
{
|
||||
name = "utf8parse";
|
||||
|
@ -200,6 +203,7 @@ rec {
|
|||
version = "1.0.2";
|
||||
edition = "2021";
|
||||
sha256 = "0j3na4b1nma39g4x7cwvj009awxckjf3z2vkwhldgka44hqj72g2";
|
||||
libName = "anstyle_query";
|
||||
dependencies = [
|
||||
{
|
||||
name = "windows-sys";
|
||||
|
@ -215,6 +219,7 @@ rec {
|
|||
version = "3.0.2";
|
||||
edition = "2021";
|
||||
sha256 = "19v0fv400bmp4niqpzxnhg83vz12mmqv7l2l8vi80qcdxj0lpm8w";
|
||||
libName = "anstyle_wincon";
|
||||
dependencies = [
|
||||
{
|
||||
name = "anstyle";
|
||||
|
@ -234,6 +239,7 @@ rec {
|
|||
version = "0.3.5";
|
||||
edition = "2018";
|
||||
sha256 = "0l8sjq1rylkb1ak0pdyjn83b3k6x36j22myngl4sqqgg7whdsmnd";
|
||||
libName = "async_stream";
|
||||
authors = [
|
||||
"Carl Lerche <me@carllerche.com>"
|
||||
];
|
||||
|
@ -259,6 +265,7 @@ rec {
|
|||
edition = "2018";
|
||||
sha256 = "14q179j4y8p2z1d0ic6aqgy9fhwz8p9cai1ia8kpw4bw7q12mrhn";
|
||||
procMacro = true;
|
||||
libName = "async_stream_impl";
|
||||
authors = [
|
||||
"Carl Lerche <me@carllerche.com>"
|
||||
];
|
||||
|
@ -285,6 +292,7 @@ rec {
|
|||
edition = "2021";
|
||||
sha256 = "1adf1jh2yg39rkpmqjqyr9xyd6849p0d95425i6imgbhx0syx069";
|
||||
procMacro = true;
|
||||
libName = "async_trait";
|
||||
authors = [
|
||||
"David Tolnay <dtolnay@gmail.com>"
|
||||
];
|
||||
|
@ -497,6 +505,7 @@ rec {
|
|||
version = "0.4.3";
|
||||
edition = "2021";
|
||||
sha256 = "1qx28wg4j6qdcdrisqwyaavlzc0zvbsrcwa99zf9456lfbyn6p51";
|
||||
libName = "axum_core";
|
||||
dependencies = [
|
||||
{
|
||||
name = "async-trait";
|
||||
|
@ -682,6 +691,7 @@ rec {
|
|||
version = "0.10.4";
|
||||
edition = "2018";
|
||||
sha256 = "0w9sa2ypmrsqqvc20nhwr75wbb5cjr4kkyhpjm1z1lv2kdicfy1h";
|
||||
libName = "block_buffer";
|
||||
authors = [
|
||||
"RustCrypto Developers"
|
||||
];
|
||||
|
@ -764,6 +774,7 @@ rec {
|
|||
version = "1.0.0";
|
||||
edition = "2018";
|
||||
sha256 = "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds";
|
||||
libName = "cfg_if";
|
||||
authors = [
|
||||
"Alex Crichton <alex@alexcrichton.com>"
|
||||
];
|
||||
|
@ -902,6 +913,7 @@ rec {
|
|||
version = "0.9.6";
|
||||
edition = "2021";
|
||||
sha256 = "1y0jnqaq7p2wvspnx7qj76m7hjcqpz73qzvr9l2p9n2s51vr6if2";
|
||||
libName = "const_oid";
|
||||
authors = [
|
||||
"RustCrypto Developers"
|
||||
];
|
||||
|
@ -921,7 +933,7 @@ rec {
|
|||
{
|
||||
name = "libc";
|
||||
packageId = "libc";
|
||||
target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "aarch64-linux-android");
|
||||
target = { target, features }: (stdenv.hostPlatform.rust.rustcTarget == "aarch64-linux-android");
|
||||
}
|
||||
{
|
||||
name = "libc";
|
||||
|
@ -946,6 +958,7 @@ rec {
|
|||
version = "0.1.6";
|
||||
edition = "2018";
|
||||
sha256 = "1cvby95a6xg7kxdz5ln3rl9xh66nz66w46mm3g56ri1z5x815yqv";
|
||||
libName = "crypto_common";
|
||||
authors = [
|
||||
"RustCrypto Developers"
|
||||
];
|
||||
|
@ -971,6 +984,7 @@ rec {
|
|||
version = "4.1.2";
|
||||
edition = "2021";
|
||||
sha256 = "0j7kqchcgycs4a11gvlda93h9w2jr05nn4hjpfyh2kn94a4pnrqa";
|
||||
libName = "curve25519_dalek";
|
||||
authors = [
|
||||
"Isis Lovecruft <isis@patternsinthevoid.net>"
|
||||
"Henry de Valence <hdevalence@hdevalence.ca>"
|
||||
|
@ -1043,6 +1057,7 @@ rec {
|
|||
edition = "2021";
|
||||
sha256 = "1cry71xxrr0mcy5my3fb502cwfxy6822k4pm19cwrilrg7hq4s7l";
|
||||
procMacro = true;
|
||||
libName = "curve25519_dalek_derive";
|
||||
dependencies = [
|
||||
{
|
||||
name = "proc-macro2";
|
||||
|
@ -1062,9 +1077,10 @@ rec {
|
|||
};
|
||||
"data-encoding" = rec {
|
||||
crateName = "data-encoding";
|
||||
version = "2.5.0";
|
||||
version = "2.6.0";
|
||||
edition = "2018";
|
||||
sha256 = "1rcbnwfmfxhlshzbn3r7srm3azqha3mn33yxyqxkzz2wpqcjm5ky";
|
||||
sha256 = "1qnn68n4vragxaxlkqcb1r28d3hhj43wch67lm4rpxlw89wnjmp8";
|
||||
libName = "data_encoding";
|
||||
authors = [
|
||||
"Julien Cretin <git@ia0.eu>"
|
||||
];
|
||||
|
@ -1149,6 +1165,7 @@ rec {
|
|||
edition = "2018";
|
||||
sha256 = "15cvgxqngxslgllz15m8aban6wqfgsi6nlhr0g25yfsnd6nq4lpg";
|
||||
procMacro = true;
|
||||
libName = "document_features";
|
||||
libPath = "lib.rs";
|
||||
authors = [
|
||||
"Slint Developers <info@slint-ui.com>"
|
||||
|
@ -1200,6 +1217,7 @@ rec {
|
|||
version = "2.1.1";
|
||||
edition = "2021";
|
||||
sha256 = "0w88cafwglg9hjizldbmlza0ns3hls81zk1bcih3m5m3h67algaa";
|
||||
libName = "ed25519_dalek";
|
||||
authors = [
|
||||
"isis lovecruft <isis@patternsinthevoid.net>"
|
||||
"Tony Arcieri <bascule@gmail.com>"
|
||||
|
@ -1278,6 +1296,7 @@ rec {
|
|||
edition = "2018";
|
||||
sha256 = "0k6wcf58h5kh64yq5nfq71va53kaya0kzxwsjwbgwm2n2zd9axxs";
|
||||
procMacro = true;
|
||||
libName = "enum_primitive_derive";
|
||||
authors = [
|
||||
"Doug Goldstein <cardoe@cardoe.com>"
|
||||
];
|
||||
|
@ -1310,6 +1329,7 @@ rec {
|
|||
version = "0.2.6";
|
||||
edition = "2018";
|
||||
sha256 = "10hkkkjynhibvchznkxx81gwxqarn9i5sgz40d6xxb8xzhsz8xhn";
|
||||
libName = "fiat_crypto";
|
||||
authors = [
|
||||
"Fiat Crypto library authors <jgross@mit.edu>"
|
||||
];
|
||||
|
@ -1358,6 +1378,7 @@ rec {
|
|||
version = "0.3.30";
|
||||
edition = "2018";
|
||||
sha256 = "0y6b7xxqdjm9hlcjpakcg41qfl7lihf6gavk8fyqijsxhvbzgj7a";
|
||||
libName = "futures_channel";
|
||||
dependencies = [
|
||||
{
|
||||
name = "futures-core";
|
||||
|
@ -1379,6 +1400,7 @@ rec {
|
|||
version = "0.3.30";
|
||||
edition = "2018";
|
||||
sha256 = "07aslayrn3lbggj54kci0ishmd1pr367fp7iks7adia1p05miinz";
|
||||
libName = "futures_core";
|
||||
features = {
|
||||
"default" = [ "std" ];
|
||||
"portable-atomic" = [ "dep:portable-atomic" ];
|
||||
|
@ -1392,6 +1414,7 @@ rec {
|
|||
edition = "2018";
|
||||
sha256 = "1b49qh9d402y8nka4q6wvvj0c88qq91wbr192mdn5h54nzs0qxc7";
|
||||
procMacro = true;
|
||||
libName = "futures_macro";
|
||||
dependencies = [
|
||||
{
|
||||
name = "proc-macro2";
|
||||
|
@ -1414,6 +1437,7 @@ rec {
|
|||
version = "0.3.30";
|
||||
edition = "2018";
|
||||
sha256 = "1dag8xyyaya8n8mh8smx7x6w2dpmafg2din145v973a3hw7f1f4z";
|
||||
libName = "futures_sink";
|
||||
features = {
|
||||
"default" = [ "std" ];
|
||||
"std" = [ "alloc" ];
|
||||
|
@ -1425,6 +1449,7 @@ rec {
|
|||
version = "0.3.30";
|
||||
edition = "2018";
|
||||
sha256 = "013h1724454hj8qczp8vvs10qfiqrxr937qsrv6rhii68ahlzn1q";
|
||||
libName = "futures_task";
|
||||
features = {
|
||||
"default" = [ "std" ];
|
||||
"std" = [ "alloc" ];
|
||||
|
@ -1436,6 +1461,7 @@ rec {
|
|||
version = "0.3.30";
|
||||
edition = "2018";
|
||||
sha256 = "0j0xqhcir1zf2dcbpd421kgw6wvsk0rpxflylcysn1rlp3g02r1x";
|
||||
libName = "futures_util";
|
||||
dependencies = [
|
||||
{
|
||||
name = "futures-core";
|
||||
|
@ -1690,6 +1716,7 @@ rec {
|
|||
version = "0.3.9";
|
||||
edition = "2021";
|
||||
sha256 = "092hxjbjnq5fmz66grd9plxd0sh6ssg5fhgwwwqbrzgzkjwdycfj";
|
||||
libName = "hermit_abi";
|
||||
authors = [
|
||||
"Stefan Lankes"
|
||||
];
|
||||
|
@ -1735,6 +1762,7 @@ rec {
|
|||
version = "1.0.0";
|
||||
edition = "2018";
|
||||
sha256 = "0hyn8n3iadrbwq8y0p1rl1275s4nm49bllw5wji29g4aa3dqbb0w";
|
||||
libName = "http_body";
|
||||
authors = [
|
||||
"Carl Lerche <me@carllerche.com>"
|
||||
"Lucio Franco <luciofranco14@gmail.com>"
|
||||
|
@ -1757,6 +1785,7 @@ rec {
|
|||
version = "0.1.1";
|
||||
edition = "2018";
|
||||
sha256 = "07agldas2qgcfc05ckiarlmf9vzragbda823nqhrqrc6mjrghx84";
|
||||
libName = "http_body_util";
|
||||
authors = [
|
||||
"Carl Lerche <me@carllerche.com>"
|
||||
"Lucio Franco <luciofranco14@gmail.com>"
|
||||
|
@ -1912,6 +1941,7 @@ rec {
|
|||
version = "0.1.3";
|
||||
edition = "2021";
|
||||
sha256 = "1akngan7j0n2n0wd25c6952mvqbkj9gp1lcwzyxjc0d37l8yyf6a";
|
||||
libName = "hyper_util";
|
||||
authors = [
|
||||
"Sean McArthur <sean@seanmonstar.com>"
|
||||
];
|
||||
|
@ -2053,6 +2083,33 @@ rec {
|
|||
};
|
||||
resolvedDefaultFeatures = [ "default" "extra_traits" "std" ];
|
||||
};
|
||||
"libmimalloc-sys" = rec {
|
||||
crateName = "libmimalloc-sys";
|
||||
version = "0.1.39";
|
||||
edition = "2018";
|
||||
links = "mimalloc";
|
||||
sha256 = "0i3b0dzz7cp0ik7ys66q92r16va78gwlbrnxhj5fnkdxsc8niai3";
|
||||
libName = "libmimalloc_sys";
|
||||
authors = [
|
||||
"Octavian Oncescu <octavonce@gmail.com>"
|
||||
];
|
||||
dependencies = [
|
||||
{
|
||||
name = "libc";
|
||||
packageId = "libc";
|
||||
}
|
||||
];
|
||||
buildDependencies = [
|
||||
{
|
||||
name = "cc";
|
||||
packageId = "cc";
|
||||
}
|
||||
];
|
||||
features = {
|
||||
"cty" = [ "dep:cty" ];
|
||||
"extended" = [ "cty" ];
|
||||
};
|
||||
};
|
||||
"litrs" = rec {
|
||||
crateName = "litrs";
|
||||
version = "0.4.1";
|
||||
|
@ -2150,6 +2207,34 @@ rec {
|
|||
};
|
||||
resolvedDefaultFeatures = [ "alloc" "default" "std" ];
|
||||
};
|
||||
"mimalloc" = rec {
|
||||
crateName = "mimalloc";
|
||||
version = "0.1.43";
|
||||
edition = "2018";
|
||||
sha256 = "0csnyrxc16i592gm5ffham07jyj2w98qsh9jyy1rv59lmr8474b8";
|
||||
authors = [
|
||||
"Octavian Oncescu <octavonce@gmail.com>"
|
||||
"Vincent Rouillé <vincent@speedy37.fr>"
|
||||
"Thom Chiovoloni <chiovolonit@gmail.com>"
|
||||
];
|
||||
dependencies = [
|
||||
{
|
||||
name = "libmimalloc-sys";
|
||||
packageId = "libmimalloc-sys";
|
||||
usesDefaultFeatures = false;
|
||||
}
|
||||
];
|
||||
features = {
|
||||
"debug" = [ "libmimalloc-sys/debug" ];
|
||||
"debug_in_debug" = [ "libmimalloc-sys/debug_in_debug" ];
|
||||
"extended" = [ "libmimalloc-sys/extended" ];
|
||||
"local_dynamic_tls" = [ "libmimalloc-sys/local_dynamic_tls" ];
|
||||
"no_thp" = [ "libmimalloc-sys/no_thp" ];
|
||||
"override" = [ "libmimalloc-sys/override" ];
|
||||
"secure" = [ "libmimalloc-sys/secure" ];
|
||||
};
|
||||
resolvedDefaultFeatures = [ "default" ];
|
||||
};
|
||||
"mime" = rec {
|
||||
crateName = "mime";
|
||||
version = "0.3.17";
|
||||
|
@ -2165,6 +2250,7 @@ rec {
|
|||
version = "0.2.1";
|
||||
edition = "2018";
|
||||
sha256 = "16ppc5g84aijpri4jzv14rvcnslvlpphbszc7zzp6vfkddf4qdb8";
|
||||
libName = "minimal_lexical";
|
||||
authors = [
|
||||
"Alex Huszagh <ahuszagh@gmail.com>"
|
||||
];
|
||||
|
@ -2286,12 +2372,8 @@ rec {
|
|||
version = "0.1.0";
|
||||
edition = "2021";
|
||||
crateBin = [ ];
|
||||
# We can't filter paths with references in Nix 2.4
|
||||
# See https://github.com/NixOS/nix/issues/5410
|
||||
src =
|
||||
if ((lib.versionOlder builtins.nixVersion "2.4pre20211007") || (lib.versionOlder "2.5" builtins.nixVersion))
|
||||
then lib.cleanSourceWith { filter = sourceFilter; src = ../../../tvix/nix-compat; }
|
||||
else ../../../tvix/nix-compat;
|
||||
src = lib.cleanSourceWith { filter = sourceFilter; src = ../../../tvix/nix-compat; };
|
||||
libName = "nix_compat";
|
||||
dependencies = [
|
||||
{
|
||||
name = "bitflags";
|
||||
|
@ -2322,6 +2404,10 @@ rec {
|
|||
name = "glob";
|
||||
packageId = "glob";
|
||||
}
|
||||
{
|
||||
name = "mimalloc";
|
||||
packageId = "mimalloc";
|
||||
}
|
||||
{
|
||||
name = "nom";
|
||||
packageId = "nom";
|
||||
|
@ -2358,8 +2444,16 @@ rec {
|
|||
optional = true;
|
||||
features = [ "io-util" "macros" ];
|
||||
}
|
||||
{
|
||||
name = "tracing";
|
||||
packageId = "tracing";
|
||||
}
|
||||
];
|
||||
devDependencies = [
|
||||
{
|
||||
name = "mimalloc";
|
||||
packageId = "mimalloc";
|
||||
}
|
||||
{
|
||||
name = "serde_json";
|
||||
packageId = "serde_json";
|
||||
|
@ -2367,11 +2461,12 @@ rec {
|
|||
];
|
||||
features = {
|
||||
"async" = [ "tokio" ];
|
||||
"default" = [ "async" "wire" ];
|
||||
"pin-project-lite" = [ "dep:pin-project-lite" ];
|
||||
"tokio" = [ "dep:tokio" ];
|
||||
"wire" = [ "tokio" "pin-project-lite" ];
|
||||
};
|
||||
resolvedDefaultFeatures = [ "pin-project-lite" "tokio" "wire" ];
|
||||
resolvedDefaultFeatures = [ "async" "default" "pin-project-lite" "tokio" "wire" ];
|
||||
};
|
||||
"nom" = rec {
|
||||
crateName = "nom";
|
||||
|
@ -2404,6 +2499,7 @@ rec {
|
|||
version = "0.46.0";
|
||||
edition = "2018";
|
||||
sha256 = "115sywxh53p190lyw97alm14nc004qj5jm5lvdj608z84rbida3p";
|
||||
libName = "nu_ansi_term";
|
||||
authors = [
|
||||
"ogham@bsago.me"
|
||||
"Ryan Scheel (Havvy) <ryan.havvy@gmail.com>"
|
||||
|
@ -2432,6 +2528,7 @@ rec {
|
|||
version = "0.2.18";
|
||||
edition = "2018";
|
||||
sha256 = "0yjib8p2p9kzmaz48xwhs69w5dh1wipph9jgnillzd2x33jz03fs";
|
||||
libName = "num_traits";
|
||||
authors = [
|
||||
"The Rust Project Developers"
|
||||
];
|
||||
|
@ -2602,6 +2699,7 @@ rec {
|
|||
version = "2.3.1";
|
||||
edition = "2018";
|
||||
sha256 = "0gi8wgx0dcy8rnv1kywdv98lwcx67hz0a0zwpib5v2i08r88y573";
|
||||
libName = "percent_encoding";
|
||||
authors = [
|
||||
"The rust-url developers"
|
||||
];
|
||||
|
@ -2616,6 +2714,7 @@ rec {
|
|||
version = "1.1.5";
|
||||
edition = "2021";
|
||||
sha256 = "1cxl146x0q7lawp0m1826wsgj8mmmfs6ja8q7m6f7ff5j6vl7gxn";
|
||||
libName = "pin_project";
|
||||
dependencies = [
|
||||
{
|
||||
name = "pin-project-internal";
|
||||
|
@ -2630,6 +2729,7 @@ rec {
|
|||
edition = "2021";
|
||||
sha256 = "0r9r4ivwiyqf45sv6b30l1dx282lxaax2f6gl84jwa3q590s8f1g";
|
||||
procMacro = true;
|
||||
libName = "pin_project_internal";
|
||||
dependencies = [
|
||||
{
|
||||
name = "proc-macro2";
|
||||
|
@ -2652,6 +2752,7 @@ rec {
|
|||
version = "0.2.13";
|
||||
edition = "2018";
|
||||
sha256 = "0n0bwr5qxlf0mhn2xkl36sy55118s9qmvx2yl5f3ixkb007lbywa";
|
||||
libName = "pin_project_lite";
|
||||
|
||||
};
|
||||
"pin-utils" = rec {
|
||||
|
@ -2659,6 +2760,7 @@ rec {
|
|||
version = "0.1.0";
|
||||
edition = "2018";
|
||||
sha256 = "117ir7vslsl2z1a7qzhws4pd01cg2d3338c47swjyvqv2n60v1wb";
|
||||
libName = "pin_utils";
|
||||
authors = [
|
||||
"Josef Brandl <mail@josefbrandl.de>"
|
||||
];
|
||||
|
@ -2718,6 +2820,7 @@ rec {
|
|||
version = "1.0.79";
|
||||
edition = "2021";
|
||||
sha256 = "0bn004ybzdqid81cqppr5c9jrvqsxv50x60sxc41cwpmk0igydg8";
|
||||
libName = "proc_macro2";
|
||||
authors = [
|
||||
"David Tolnay <dtolnay@gmail.com>"
|
||||
"Alex Crichton <alex@alexcrichton.com>"
|
||||
|
@ -2803,6 +2906,7 @@ rec {
|
|||
version = "0.4.6";
|
||||
edition = "2021";
|
||||
sha256 = "1spaq7y4im7s56d1gxa2hi4hzf6dwswb1bv8xyavzya7k25kpf46";
|
||||
libName = "regex_automata";
|
||||
authors = [
|
||||
"The Rust Project Developers"
|
||||
"Andrew Gallant <jamslam@gmail.com>"
|
||||
|
@ -2843,6 +2947,7 @@ rec {
|
|||
version = "0.1.23";
|
||||
edition = "2015";
|
||||
sha256 = "0xnbk2bmyzshacjm2g1kd4zzv2y2az14bw3sjccq5qkpmsfvn9nn";
|
||||
libName = "rustc_demangle";
|
||||
authors = [
|
||||
"Alex Crichton <alex@alexcrichton.com>"
|
||||
];
|
||||
|
@ -3119,6 +3224,7 @@ rec {
|
|||
version = "0.1.7";
|
||||
edition = "2018";
|
||||
sha256 = "1xipjr4nqsgw34k7a2cgj9zaasl2ds6jwn89886kww93d32a637l";
|
||||
libName = "sharded_slab";
|
||||
authors = [
|
||||
"Eliza Weisman <eliza@buoyant.io>"
|
||||
];
|
||||
|
@ -3137,6 +3243,7 @@ rec {
|
|||
version = "1.4.1";
|
||||
edition = "2015";
|
||||
sha256 = "18crkkw5k82bvcx088xlf5g4n3772m24qhzgfan80nda7d3rn8nq";
|
||||
libName = "signal_hook_registry";
|
||||
authors = [
|
||||
"Michal 'vorner' Vaner <vorner@vorner.cz>"
|
||||
"Masaki Hara <ackie.h.gmai@gmail.com>"
|
||||
|
@ -3359,6 +3466,7 @@ rec {
|
|||
edition = "2021";
|
||||
sha256 = "1xylyqcb8rv5yh2yf97hg4n4kg27qccc0ijafr1zqklrhahkn7y6";
|
||||
procMacro = true;
|
||||
libName = "thiserror_impl";
|
||||
authors = [
|
||||
"David Tolnay <dtolnay@gmail.com>"
|
||||
];
|
||||
|
@ -3513,6 +3621,7 @@ rec {
|
|||
version = "0.3.2";
|
||||
edition = "2021";
|
||||
sha256 = "00vkr1cywd2agn8jbkzwwf7y4ps3cfjm8l9ab697px2cgc97wdln";
|
||||
libName = "tokio_listener";
|
||||
dependencies = [
|
||||
{
|
||||
name = "axum";
|
||||
|
@ -3598,6 +3707,7 @@ rec {
|
|||
edition = "2021";
|
||||
sha256 = "0fwjy4vdx1h9pi4g2nml72wi0fr27b5m954p13ji9anyy8l1x2jv";
|
||||
procMacro = true;
|
||||
libName = "tokio_macros";
|
||||
authors = [
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
];
|
||||
|
@ -3623,6 +3733,7 @@ rec {
|
|||
version = "0.1.14";
|
||||
edition = "2021";
|
||||
sha256 = "0hi8hcwavh5sdi1ivc9qc4yvyr32f153c212dpd7sb366y6rhz1r";
|
||||
libName = "tokio_stream";
|
||||
authors = [
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
];
|
||||
|
@ -3666,6 +3777,7 @@ rec {
|
|||
version = "0.4.4";
|
||||
edition = "2021";
|
||||
sha256 = "1xzri2m3dg8nzdyznm77nymvil9cyh1gfdfrbnska51iqfmvls14";
|
||||
libName = "tokio_test";
|
||||
authors = [
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
];
|
||||
|
@ -3706,6 +3818,7 @@ rec {
|
|||
version = "0.7.10";
|
||||
edition = "2021";
|
||||
sha256 = "058y6x4mf0fsqji9rfyb77qbfyc50y4pk2spqgj6xsyr693z66al";
|
||||
libName = "tokio_util";
|
||||
authors = [
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
];
|
||||
|
@ -3867,6 +3980,7 @@ rec {
|
|||
version = "0.3.2";
|
||||
edition = "2018";
|
||||
sha256 = "1l7i17k9vlssrdg4s3b0ia5jjkmmxsvv8s9y9ih0jfi8ssz8s362";
|
||||
libName = "tower_layer";
|
||||
authors = [
|
||||
"Tower Maintainers <team@tower-rs.com>"
|
||||
];
|
||||
|
@ -3877,6 +3991,7 @@ rec {
|
|||
version = "0.3.2";
|
||||
edition = "2018";
|
||||
sha256 = "0lmfzmmvid2yp2l36mbavhmqgsvzqf7r2wiwz73ml4xmwaf1rg5n";
|
||||
libName = "tower_service";
|
||||
authors = [
|
||||
"Tower Maintainers <team@tower-rs.com>"
|
||||
];
|
||||
|
@ -3935,6 +4050,7 @@ rec {
|
|||
edition = "2018";
|
||||
sha256 = "1rvb5dn9z6d0xdj14r403z0af0bbaqhg02hq4jc97g5wds6lqw1l";
|
||||
procMacro = true;
|
||||
libName = "tracing_attributes";
|
||||
authors = [
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
"Eliza Weisman <eliza@buoyant.io>"
|
||||
|
@ -3963,6 +4079,7 @@ rec {
|
|||
version = "0.1.32";
|
||||
edition = "2018";
|
||||
sha256 = "0m5aglin3cdwxpvbg6kz0r9r0k31j48n0kcfwsp6l49z26k3svf0";
|
||||
libName = "tracing_core";
|
||||
authors = [
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
];
|
||||
|
@ -3993,6 +4110,7 @@ rec {
|
|||
version = "0.2.0";
|
||||
edition = "2018";
|
||||
sha256 = "1hs77z026k730ij1a9dhahzrl0s073gfa2hm5p0fbl0b80gmz1gf";
|
||||
libName = "tracing_log";
|
||||
authors = [
|
||||
"Tokio Contributors <team@tokio.rs>"
|
||||
];
|
||||
|
@ -4024,6 +4142,7 @@ rec {
|
|||
version = "0.3.18";
|
||||
edition = "2018";
|
||||
sha256 = "12vs1bwk4kig1l2qqjbbn2nm5amwiqmkcmnznylzmnfvjy6083xd";
|
||||
libName = "tracing_subscriber";
|
||||
authors = [
|
||||
"Eliza Weisman <eliza@buoyant.io>"
|
||||
"David Barsky <me@davidbarsky.com>"
|
||||
|
@ -4110,12 +4229,7 @@ rec {
|
|||
requiredFeatures = [ ];
|
||||
}
|
||||
];
|
||||
# We can't filter paths with references in Nix 2.4
|
||||
# See https://github.com/NixOS/nix/issues/5410
|
||||
src =
|
||||
if ((lib.versionOlder builtins.nixVersion "2.4pre20211007") || (lib.versionOlder "2.5" builtins.nixVersion))
|
||||
then lib.cleanSourceWith { filter = sourceFilter; src = ./.; }
|
||||
else ./.;
|
||||
src = lib.cleanSourceWith { filter = sourceFilter; src = ./.; };
|
||||
dependencies = [
|
||||
{
|
||||
name = "clap";
|
||||
|
@ -4173,6 +4287,7 @@ rec {
|
|||
version = "1.0.12";
|
||||
edition = "2018";
|
||||
sha256 = "0jzf1znfpb2gx8nr8mvmyqs1crnv79l57nxnbiszc7xf7ynbjm1k";
|
||||
libName = "unicode_ident";
|
||||
authors = [
|
||||
"David Tolnay <dtolnay@gmail.com>"
|
||||
];
|
||||
|
@ -4242,12 +4357,12 @@ rec {
|
|||
{
|
||||
name = "winapi-i686-pc-windows-gnu";
|
||||
packageId = "winapi-i686-pc-windows-gnu";
|
||||
target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "i686-pc-windows-gnu");
|
||||
target = { target, features }: (stdenv.hostPlatform.rust.rustcTarget == "i686-pc-windows-gnu");
|
||||
}
|
||||
{
|
||||
name = "winapi-x86_64-pc-windows-gnu";
|
||||
packageId = "winapi-x86_64-pc-windows-gnu";
|
||||
target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "x86_64-pc-windows-gnu");
|
||||
target = { target, features }: (stdenv.hostPlatform.rust.rustcTarget == "x86_64-pc-windows-gnu");
|
||||
}
|
||||
];
|
||||
features = {
|
||||
|
@ -4260,6 +4375,7 @@ rec {
|
|||
version = "0.4.0";
|
||||
edition = "2015";
|
||||
sha256 = "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc";
|
||||
libName = "winapi_i686_pc_windows_gnu";
|
||||
authors = [
|
||||
"Peter Atashian <retep998@gmail.com>"
|
||||
];
|
||||
|
@ -4270,6 +4386,7 @@ rec {
|
|||
version = "0.4.0";
|
||||
edition = "2015";
|
||||
sha256 = "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki";
|
||||
libName = "winapi_x86_64_pc_windows_gnu";
|
||||
authors = [
|
||||
"Peter Atashian <retep998@gmail.com>"
|
||||
];
|
||||
|
@ -4280,6 +4397,7 @@ rec {
|
|||
version = "0.48.0";
|
||||
edition = "2018";
|
||||
sha256 = "1aan23v5gs7gya1lc46hqn9mdh8yph3fhxmhxlw36pn6pqc28zb7";
|
||||
libName = "windows_sys";
|
||||
authors = [
|
||||
"Microsoft"
|
||||
];
|
||||
|
@ -4573,6 +4691,7 @@ rec {
|
|||
version = "0.52.0";
|
||||
edition = "2021";
|
||||
sha256 = "0gd3v4ji88490zgb6b5mq5zgbvwv7zx1ibn8v3x83rwcdbryaar8";
|
||||
libName = "windows_sys";
|
||||
authors = [
|
||||
"Microsoft"
|
||||
];
|
||||
|
@ -4820,6 +4939,7 @@ rec {
|
|||
version = "0.48.5";
|
||||
edition = "2018";
|
||||
sha256 = "034ljxqshifs1lan89xwpcy1hp0lhdh4b5n0d2z4fwjx2piacbws";
|
||||
libName = "windows_targets";
|
||||
authors = [
|
||||
"Microsoft"
|
||||
];
|
||||
|
@ -4827,7 +4947,7 @@ rec {
|
|||
{
|
||||
name = "windows_aarch64_gnullvm";
|
||||
packageId = "windows_aarch64_gnullvm 0.48.5";
|
||||
target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "aarch64-pc-windows-gnullvm");
|
||||
target = { target, features }: (stdenv.hostPlatform.rust.rustcTarget == "aarch64-pc-windows-gnullvm");
|
||||
}
|
||||
{
|
||||
name = "windows_aarch64_msvc";
|
||||
|
@ -4852,7 +4972,7 @@ rec {
|
|||
{
|
||||
name = "windows_x86_64_gnullvm";
|
||||
packageId = "windows_x86_64_gnullvm 0.48.5";
|
||||
target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "x86_64-pc-windows-gnullvm");
|
||||
target = { target, features }: (stdenv.hostPlatform.rust.rustcTarget == "x86_64-pc-windows-gnullvm");
|
||||
}
|
||||
{
|
||||
name = "windows_x86_64_msvc";
|
||||
|
@ -4867,6 +4987,7 @@ rec {
|
|||
version = "0.52.4";
|
||||
edition = "2021";
|
||||
sha256 = "06sdd7fin3dj9cmlg6n1dw0n1l10jhn9b8ckz1cqf0drb9z7plvx";
|
||||
libName = "windows_targets";
|
||||
authors = [
|
||||
"Microsoft"
|
||||
];
|
||||
|
@ -4874,7 +4995,7 @@ rec {
|
|||
{
|
||||
name = "windows_aarch64_gnullvm";
|
||||
packageId = "windows_aarch64_gnullvm 0.52.4";
|
||||
target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "aarch64-pc-windows-gnullvm");
|
||||
target = { target, features }: (stdenv.hostPlatform.rust.rustcTarget == "aarch64-pc-windows-gnullvm");
|
||||
}
|
||||
{
|
||||
name = "windows_aarch64_msvc";
|
||||
|
@ -4899,7 +5020,7 @@ rec {
|
|||
{
|
||||
name = "windows_x86_64_gnullvm";
|
||||
packageId = "windows_x86_64_gnullvm 0.52.4";
|
||||
target = { target, features }: (pkgs.rust.lib.toRustTarget stdenv.hostPlatform == "x86_64-pc-windows-gnullvm");
|
||||
target = { target, features }: (stdenv.hostPlatform.rust.rustcTarget == "x86_64-pc-windows-gnullvm");
|
||||
}
|
||||
{
|
||||
name = "windows_x86_64_msvc";
|
||||
|
@ -5081,14 +5202,11 @@ rec {
|
|||
fuchsia = true;
|
||||
test = false;
|
||||
|
||||
/* We are choosing an arbitrary rust version to grab `lib` from,
|
||||
which is unfortunate, but `lib` has been version-agnostic the
|
||||
whole time so this is good enough for now.
|
||||
*/
|
||||
os = pkgs.rust.lib.toTargetOs platform;
|
||||
arch = pkgs.rust.lib.toTargetArch platform;
|
||||
family = pkgs.rust.lib.toTargetFamily platform;
|
||||
vendor = pkgs.rust.lib.toTargetVendor platform;
|
||||
inherit (platform.rust.platform)
|
||||
arch
|
||||
os
|
||||
vendor;
|
||||
family = platform.rust.platform.target-family;
|
||||
env = "gnu";
|
||||
endian =
|
||||
if platform.parsed.cpu.significantByte.name == "littleEndian"
|
||||
|
@ -5178,30 +5296,19 @@ rec {
|
|||
testPostRun
|
||||
]);
|
||||
in
|
||||
pkgs.runCommand "run-tests-${testCrate.name}"
|
||||
{
|
||||
pkgs.stdenvNoCC.mkDerivation {
|
||||
name = "run-tests-${testCrate.name}";
|
||||
|
||||
inherit (crate) src;
|
||||
|
||||
inherit testCrateFlags;
|
||||
|
||||
buildInputs = testInputs;
|
||||
} ''
|
||||
|
||||
buildPhase = ''
|
||||
set -e
|
||||
|
||||
export RUST_BACKTRACE=1
|
||||
|
||||
# recreate a file hierarchy as when running tests with cargo
|
||||
|
||||
# the source for test data
|
||||
# It's necessary to locate the source in $NIX_BUILD_TOP/source/
|
||||
# instead of $NIX_BUILD_TOP/
|
||||
# because we compiled those test binaries in the former and not the latter.
|
||||
# So all paths will expect source tree to be there and not in the build top directly.
|
||||
# For example: $NIX_BUILD_TOP := /build in general, if you ask yourself.
|
||||
# TODO(raitobezarius): I believe there could be more edge cases if `crate.sourceRoot`
|
||||
# do exist but it's very hard to reason about them, so let's wait until the first bug report.
|
||||
mkdir -p source/
|
||||
cd source/
|
||||
|
||||
${pkgs.buildPackages.xorg.lndir}/bin/lndir ${crate.src}
|
||||
|
||||
# build outputs
|
||||
testRoot=target/debug
|
||||
mkdir -p $testRoot
|
||||
|
@ -5223,6 +5330,7 @@ rec {
|
|||
${testCommand}
|
||||
done
|
||||
'';
|
||||
};
|
||||
in
|
||||
pkgs.runCommand "${crate.name}-linked"
|
||||
{
|
||||
|
@ -5331,7 +5439,7 @@ rec {
|
|||
let
|
||||
self = {
|
||||
crates = lib.mapAttrs (packageId: value: buildByPackageIdForPkgsImpl self pkgs packageId) crateConfigs;
|
||||
target = makeTarget pkgs.stdenv.hostPlatform;
|
||||
target = makeTarget stdenv.hostPlatform;
|
||||
build = mkBuiltByPackageIdByPkgs pkgs.buildPackages;
|
||||
};
|
||||
in
|
||||
|
@ -5406,8 +5514,6 @@ rec {
|
|||
buildRustCrateForPkgsFunc pkgs
|
||||
(
|
||||
crateConfig // {
|
||||
# https://github.com/NixOS/nixpkgs/issues/218712
|
||||
dontStrip = stdenv.hostPlatform.isDarwin;
|
||||
src = crateConfig.src or (
|
||||
pkgs.fetchurl rec {
|
||||
name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz";
|
||||
|
|
Loading…
Reference in a new issue