compile with crane #950

Merged
lx merged 1 commit from nix-crane into main 2025-02-03 15:54:54 +00:00
Owner

Replace cargo2nix, which is not seeing regular updates recently, with crane.

This does not separate each Garage crate into a separate Nix derivation. I think recently caching was not working correctly for Garage crates, debug builds were always rebuilding everything. With crane, we always rebuild all garage crates but it is done all at once with cargo build which allows for the best speed as Cargo knows best how to do parallelism.

  • Build with Crane in flake.nix
  • Cross-compilation
  • Use the mold linker for debug builds
  • implement tests
  • Update default.nix and shell.nix
  • Update CI scripts
Replace cargo2nix, which is not seeing regular updates recently, with [crane](https://github.com/ipetkov/crane). This does not separate each Garage crate into a separate Nix derivation. I think recently caching was not working correctly for Garage crates, debug builds were always rebuilding everything. With crane, we always rebuild all garage crates but it is done all at once with cargo build which allows for the best speed as Cargo knows best how to do parallelism. - [x] Build with Crane in `flake.nix` - [x] Cross-compilation - [x] Use the `mold` linker for debug builds - [x] implement tests - [x] Update default.nix and shell.nix - [x] Update CI scripts
Owner

Cannot wait for thissss!

Cannot wait for thissss!
lx force-pushed nix-crane from 6ee5ab066a to 6b727dc6c1 2025-02-02 18:53:59 +00:00 Compare
lx force-pushed nix-crane from 63074c3cb3 to 8ab0bb2646 2025-02-02 20:08:57 +00:00 Compare
lx force-pushed nix-crane from 8ab0bb2646 to 05a98ff45c 2025-02-02 20:13:00 +00:00 Compare
lx changed title from WIP: compile with crane to compile with crane 2025-02-03 14:37:55 +00:00
lx force-pushed nix-crane from edc6736502 to 390a5d97fe 2025-02-03 15:47:32 +00:00 Compare
lx merged commit b9df2d1ad1 into main 2025-02-03 15:54:54 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Deuxfleurs/garage#950
No description provided.