This is a git mirror of the source code for carnix
, a tool used to
generate Nix-expressions for Rust crates.
The original source repository is
here, but does not contain
versions older than 0.7.2
.
Various fixes for smaller issues in Carnix are being added on the
devel
-branch of this repository. They will be submitted to the
upstream repository once it is back online.
Carnix was originally released by Pijul, however the old source
repository was never updated after version 0.5
and is now offline
entirely.
There are still releases happening on crates.io and I am simply mirroring these into this git repository to make the source code easily accessible.
Issues should be reported in the discussions in the source repository.
Based on the git diff
output between the versions I've attempted to
recreate a changelog of what has changed in between these versions of
Carnix.
This overview is probably missing some things as I only took a very cursory look for now.
Repository was bootstrapped from crates.io
sources at this version,
not sure what the difference to the previous versions is.
This version seems to contain minor changes to how nix-prefetch-git
errors are handled.
This version seems to contain changes to how Carnix handles the local "workspace" of a crate and which files are included into the Nix sources when building a derivation.
This version seems to contain the most major changes yet, with a new CLI structure and a Cargo subcommand provided by Carnix.
I actually found a pull request to nixpkgs
in which the author
of Carnix, @P-E-Meunier, says the following about v0.7.0:
Carnix 0.7 improves support for workspaces, environment variables, and introduces the external cargo command cargo generate-nixfile.
The src field for workspaces, in the generated code, is now split between an src field, pointing to the root of the workspace, and a member field, specifying the remainder of the path. This fixes issues with members pointing to each other, and to the root.
Also, environment variables generated by build scripts are now handled properly.
This PR bumps the version straight to 0.7.2
though, so the summary
probably includes "all of the above".
This version seems to contain refactorings related to error handling and something about handling replaced packages in Cargo correctly.
This version seems to contain minor changes to workspace handling again.
I'm not sure what changed in these versions yet. There may be some
info in the nixpkgs
repository, but I haven't gone hunting for it
yet.
Will update this once I've had time to figure it out.
On a sidenote there really is no 0.8.2
, it goes straight from
0.8.1
to 0.8.3
.
Again, just to be clear - I'm not the author of this project, I'm only mirroring it here to ensure that there's an easily available source repository.
All credit for buildRustCrate
and carnix
itself goes to the people
behind Pijul!