New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Carnix: 0.8 -> 0.9 #50923
Carnix: 0.8 -> 0.9 #50923
Conversation
@GrahamcOfBorg build carnix cargo-vendor |
Success on x86_64-darwin (full log) Attempted: carnix, cargo-vendor Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: carnix, cargo-vendor Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: carnix, cargo-vendor Partial log (click to expand)
|
This addition sounds great! $ carnix generate-crates-io crates-io.list
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error(Io(Custom { kind: InvalidData, error: StringError("stream did not contain valid UTF-8") }), State { next_error: N
one, backtrace: InternalBacktrace { backtrace: None } })', libcore/result.rs:1009:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.
$ rm /home/joerg/.cargo/nix-cache
$ carnix generate-crates-io crates-io.list
Prefetching aho-corasick-0.6.8
Prefetching ansi_term-0.11.0
Prefetching argon2rs-0.2.5
Prefetching arrayvec-0.4.7 I have not understood yet how the merge command is supposed to work. |
The cache has changed, it no longer needs sqlite and uses plain text instead. Carnix 0.9.1 has a bug in that part actually, which was fixed by Carnix 0.9.2. I'd prefer to keep working on compiling Rust to WASM using this before submitting a new PR.
The idea is that contributors submit the larger single I wonder what the Hydra will think of that. Will it speed up release mode deployments by pre-compiling common libraries? That would be very cool and would make Nix the most convenient platform for writing web services in Rust. |
Could you maybe add an better error message if somebody is using the sqlite file or change the name of the cache file? I had to use strace to find out why carnix failed to update for me, other people might not find out the reason for that. Can you make an concrete example how I have to run
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please resolve merge conflicts and address mic92s questions
Hi @P-E-Meunier |
Sorry, I probably forgot to git add it. I have updates to |
Oops, sorry. I thought "documentation" was just referring to the command line error messages. |
Oops, I had completely rewritten the section about Carnix, but it seems I forgot to commit and it got wiped by a rebase. I will probably write it again one of these days, because the documentation is severely outdated, but I right now I just feel "git'ed". |
😢 Thank you for your work! Could you please also explain: what should the Something like this? { stdenv, defaultCrateOverrides, fetchFromGitHub }:
((import ./Cargo.nix).pijul {}).override {
crateOverrides = defaultCrateOverrides // {
pijul = attrs: rec {
name = "pijul-${version}";
version = "0.11.0";
meta = with stdenv.lib; {
description = "A distributed version control system";
homepage = https://pijul.org;
license = with licenses; [ gpl2Plus ];
maintainers = [ maintainers.gal_bolle ];
platforms = platforms.all;
};
};
}; |
Motivation for this change
Carnix 0.9 gives a way to merge the
crates-io.nix
from different packages into a single package, in two different ways:crates-io.nix
from that list, usingcarnix generate-crates-io crates-io.list
.carnix merge
, to merge the contents of multiple files (given on the standard input) into a single file.It would be very cool to have just a crates-io.list, and generate
crates-io.nix
as a derivation. However:crates-io.nix
) still needs acrates-io.nix
to be compiled.carnix generate-crates-io
needs to download all the packages in the list. Can we let Hydra do that?Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)