-
-
Notifications
You must be signed in to change notification settings - Fork 304
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
Update perl bindings for nix#9863 #1359
Conversation
OK the underlying Nix PR is merged! @Ma27 can you spit this up so the 1st (or 1st and part of 4th) commit is in this PR, and the possibly-behavior-changing middle parts are in a second PR? I just want to be very cautious and have a nice rollback ready in case something goes wrong :). |
64137f6
to
d3a9595
Compare
Sure, this PR only contains the
Not necessary IMHO: w/o the BINARY_CACHE_STORE it's not necessary to read from |
flake.nix
Outdated
@@ -2,7 +2,7 @@ | |||
description = "A Nix-based continuous build system"; | |||
|
|||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05-small"; | |||
inputs.nix.url = "github:NixOS/nix"; | |||
inputs.nix.url = "github:obsidiansystems/nix/perl-open-other-store"; |
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.
This is no longer needed, because I merged the underlying Nix PR!
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.
Looks good except for the Flake URL change.
Implements support for Nix's new Perl bindings[1]. The current state basically does `openStore()`, but always uses `auto` and doesn't support stores at other URIs. Even though the stores are cached inside the Perl implementation, I decided to instantiate those once in the Nix helper module. That way store openings aren't cluttered across the entire codebase. Also, there are two stores used later on - MACHINE_LOCAL_STORE for `auto`, BINARY_CACHE_STORE for the one from `store_uri` in `hydra.conf` - and using consistent names should make the intent clearer then. This doesn't contain any behavioral changes, i.e. the build product availability issue from NixOS#1352 isn't fixed. This patch only contains the migration to the new API. [1] NixOS/nix#9863
d3a9595
to
e499509
Compare
Done! Required a few changes to the cpp code though. |
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.
Looking good!
For NixOS/nix#9863
cc @Ericson2314 @dasJ