Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
ba69812
feat: add type for pixi build api
baszalmstra Jun 23, 2025
55ba704
wip
baszalmstra Jun 24, 2025
cad9fed
wip: split fetching backend metadata from source metadata
baszalmstra Jun 24, 2025
901295a
feat: extract run dependencies from outputs
baszalmstra Jun 24, 2025
e0813e1
wip
baszalmstra Jun 24, 2025
e0882c3
feat: finish
baszalmstra Jun 26, 2025
c0a5190
simplify run export conversion
baszalmstra Jun 26, 2025
596d31f
wip
baszalmstra Jun 26, 2025
fac9102
fix: small fixes
baszalmstra Jun 27, 2025
c45d91e
fix: source anchor
baszalmstra Jun 27, 2025
4a11e8e
feat: read capatbilities from backend
baszalmstra Jun 27, 2025
23477da
remove cache for now
baszalmstra Jun 30, 2025
053f020
more small fixes
baszalmstra Jun 30, 2025
4076790
fix: revert platform removals
baszalmstra Jun 30, 2025
1b7d612
Merge remote-tracking branch 'upstream/main' into feat/split-protocol
baszalmstra Jun 30, 2025
72dd129
fix build error
baszalmstra Jun 30, 2025
c6da81f
fmt
baszalmstra Jun 30, 2025
24d09ff
update snapshots
baszalmstra Jun 30, 2025
3c1300d
small fixes
baszalmstra Jun 30, 2025
7cdfb7a
Apply suggestions from code review
baszalmstra Jul 1, 2025
f7f48ab
Adapt comments
Hofer-Julian Jul 1, 2025
cb38383
Update crates/pixi_command_dispatcher/src/command_dispatcher_processo…
baszalmstra Jul 1, 2025
151ff42
Merge remote-tracking branch 'upstream/main' into feat/split-protocol
baszalmstra Jul 1, 2025
7f3d7ab
Merge remote-tracking branch 'upstream/main' into feat/split-protocol
baszalmstra Jul 1, 2025
380990b
fix: rename identifier to metadata
baszalmstra Jul 3, 2025
4d2405b
Merge remote-tracking branch 'upstream/main' into feat/split-protocol
baszalmstra Jul 3, 2025
cec5f4d
fix: start working on protocol
baszalmstra Jul 1, 2025
4564926
wip
baszalmstra Jul 1, 2025
5921473
fix checks
baszalmstra Jul 3, 2025
04470ca
fix clippy and fmt
baszalmstra Jul 3, 2025
fce4eda
feat: add build platform
baszalmstra Jul 7, 2025
3c12a80
fix: method name
baszalmstra Jul 7, 2025
1ab8327
feat: recursive source dependency installation works
baszalmstra Jul 10, 2025
065e558
Merge remote-tracking branch 'upstream/main' into feat/split-protocol…
baszalmstra Jul 10, 2025
ff133e3
fix: tests and snapshots
baszalmstra Jul 10, 2025
a5fcef5
fix: rust-doc issue
baszalmstra Jul 11, 2025
94ad8c1
fix: build editable
baszalmstra Jul 11, 2025
34d7dec
fix: use correct virtual packages for host platform
baszalmstra Jul 11, 2025
f065517
Merge remote-tracking branch 'upstream/main' into feat/split-protocol…
baszalmstra Jul 11, 2025
f0cdf25
fix: build issue
baszalmstra Jul 11, 2025
e66cb4e
fix: tests
baszalmstra Jul 11, 2025
7814e29
Merge remote-tracking branch 'upstream/main' into feat/split-protocol…
baszalmstra Jul 14, 2025
6b06ed8
fix: refactor in global as well
baszalmstra Jul 14, 2025
3868a6d
fix: source metadata cycle
baszalmstra Jul 14, 2025
39dae95
rename v2 to v1
baszalmstra Jul 14, 2025
5463143
detect cycles and emit error
baszalmstra Jul 14, 2025
e7e2c09
some changes from review
baszalmstra Jul 14, 2025
920f89d
chore: cleanup cycle code a bit
baszalmstra Jul 15, 2025
0b332b0
changes from review
baszalmstra Jul 15, 2025
7849dff
changes from review
baszalmstra Jul 15, 2025
a1b399d
changes from review
baszalmstra Jul 15, 2025
6edbe2b
changes from review
baszalmstra Jul 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
212 changes: 212 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ clap_complete = "4.5.46"
clap_complete_nushell = "4.5.5"
concat-idents = "1.1.5"
console = "0.15.10"
console-subscriber = "0.4.1"
crossbeam-channel = "0.5.14"
csv = "1.3.1"
ctrlc = "3.4.5"
Expand Down Expand Up @@ -69,6 +70,7 @@ pep508_rs = "0.9.2"
percent-encoding = "2.3.1"
pin-project-lite = "0.2.16"
pyproject-toml = "0.13.4"
rand = { version = "0.9.1", default-features = false }
regex = "1.11.1"
reqwest = { version = "0.12.12", default-features = false }
reqwest-middleware = "0.4"
Expand Down Expand Up @@ -219,6 +221,7 @@ rustls-tls = [
]
self_update = []
slow_integration_tests = []
tokio-console = ["console-subscriber", "tokio/tracing"]

# This feature enables performance optimizations but at the cost of increased
# compile times. By default, it is only used when building the release binary.
Expand All @@ -242,6 +245,7 @@ clap = { workspace = true, features = [
clap_complete = { workspace = true }
clap_complete_nushell = { workspace = true }
console = { workspace = true, features = ["windows-console-colors"] }
console-subscriber = { workspace = true, optional = true }
crossbeam-channel = { workspace = true }
csv = { workspace = true }
dashmap = { workspace = true }
Expand Down
14 changes: 6 additions & 8 deletions crates/pixi_build_discovery/src/backend_spec.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
use std::str::FromStr;

use pixi_spec::BinarySpec;
use pixi_spec_containers::DependencyMap;
use rattler_conda_types::{Channel, ChannelConfig, ChannelUrl, NamelessMatchSpec};
use rattler_conda_types::{Channel, ChannelConfig, ChannelUrl};
use url::Url;

/// Describes how a backend should be instantiated.
Expand Down Expand Up @@ -54,21 +55,21 @@ pub struct SystemCommandSpec {
#[cfg_attr(feature = "serde", serde(rename_all = "kebab-case"))]
pub struct EnvironmentSpec {
/// The main requirement
pub requirement: (rattler_conda_types::PackageName, NamelessMatchSpec),
pub requirement: (rattler_conda_types::PackageName, BinarySpec),

/// The requirements for the environment.
#[cfg_attr(
feature = "serde",
serde(skip_serializing_if = "DependencyMap::is_empty")
)]
pub additional_requirements: DependencyMap<rattler_conda_types::PackageName, NamelessMatchSpec>,
pub additional_requirements: DependencyMap<rattler_conda_types::PackageName, BinarySpec>,

/// Additional constraints to apply to the environment
#[cfg_attr(
feature = "serde",
serde(skip_serializing_if = "DependencyMap::is_empty")
)]
pub constraints: DependencyMap<rattler_conda_types::PackageName, NamelessMatchSpec>,
pub constraints: DependencyMap<rattler_conda_types::PackageName, BinarySpec>,

/// The channels to use for solving
pub channels: Vec<ChannelUrl>,
Expand All @@ -92,10 +93,7 @@ impl JsonRpcBackendSpec {
Self {
name: DEFAULT_BUILD_TOOL.to_string(),
command: CommandSpec::EnvironmentSpec(Box::new(EnvironmentSpec {
requirement: (
DEFAULT_BUILD_TOOL.parse().unwrap(),
NamelessMatchSpec::default(),
),
requirement: (DEFAULT_BUILD_TOOL.parse().unwrap(), BinarySpec::any()),
additional_requirements: Default::default(),
constraints: Default::default(),
channels: vec![conda_forge_channel, backends_channel],
Expand Down
Loading