nix-community / carnix

(Mirror) Git repository for Carnix

Home Page:https://nest.pijul.com/pmeunier/carnix

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Git mirror of Carnix

This is a git mirror of the source code for carnix, a tool used to generate Nix-expressions for Rust crates. This is not currently the development repository for carnix.

The upstream source repository is on the Pijul Nest.

Releases of carnix are happening on crates.io and this repository is simply mirroring them into git to make the source code as well as an overview over versions easily accessible.

Reporting issues

Issues should be reported in the discussions in the source repository.

"Changelog"

Based on the patch list on Pijul which contains most of the changes to Carnix, as well as the git diff output between the imported versions, this section attempts to provide a changelog of what has changed in between the different released versions of Carnix.

Specific changes may be missing from this list if they weren't included in the patch list or aren't easily discernible from the code changes.

v0.9.0 - v0.9.6

These versions were released in November 2018. They are grouped together here as the chronological release history doesn't seem to line up with the patch history in Pijul.

Included changes:

  • Carnix no longer depends on SQLite for its crate cache
  • A new subcommand for merging crates-io.nix-files was added
  • URL and crate version parsing has improved

Other changes may also be included.

v0.8.7 - v0.8.12

These versions contain minor internal changes, some of them were released on the same day as 0.8.6, others came in a bit later.

Most notably it seems that the target_arch target configuration from Cargo is now supported.

v0.8.6

This version was released on October 21st and includes fixes for local sources, feature-gated binary builds and internal refactorings.

v0.8.0 - v0.8.5

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.

v0.7.2

This version seems to contain minor changes to workspace handling again.

v0.7.1

This version seems to contain refactorings related to error handling and something about handling replaced packages in Cargo correctly.

v0.7.0

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".

v0.6.9

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.

v0.6.8

This version seems to contain minor changes to how nix-prefetch-git errors are handled.

v0.6.7

Repository was bootstrapped from crates.io sources at this version, not sure what the difference to the previous versions is.


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!

About

(Mirror) Git repository for Carnix

https://nest.pijul.com/pmeunier/carnix


Languages

Language:Rust 99.1%Language:Nix 0.9%