-
-
Notifications
You must be signed in to change notification settings - Fork 37
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
Change to use fetchFromGithub instead of builtins.fetchgit for flake.nix #81
Conversation
I checked out your PR's branch and ran |
@emilpriver is this good for merging still? |
@leostera yes, when the CI pass should you be able to merge However I really think we need to look into if we need to follow bytestring, castore and so on here: bytestring = {
url = "github:riot-ml/bytestring";
inputs.nixpkgs.follows = "nixpkgs";
inputs.rio.follows = "rio";
};
castore = {
url = "github:suri-framework/castore";
inputs.nixpkgs.follows = "nixpkgs";
};
config = {
url = "github:ocaml-sys/config.ml";
inputs.nixpkgs.follows = "nixpkgs";
};
gluon = {
url = "github:riot-ml/gluon";
inputs.nixpkgs.follows = "nixpkgs";
inputs.bytestring.follows = "bytestring";
inputs.config.follows = "config";
inputs.rio.follows = "rio";
};
rio = {
url = "github:riot-ml/rio";
inputs.nixpkgs.follows = "nixpkgs";
};
telemetry = {
url = "github:leostera/telemetry";
inputs.nixpkgs.follows = "nixpkgs";
}; I wasn't able to use riot flake due to some missmatch between some library so I am prob going to install Riot without the flake. I know @metame said that this is how it's suppose to be and I prob don't understand why this follows is needed but would be great to have a second look and see if they are really needed or not :D |
So actually the minttea follows is needed as well as all of the other ones. Gluon, bytestring, and config all depend on minttea.spices. If any one of those used a different version, the flake would not build due to a library mismatch. Using follows ensures, that all of the inputs (aka transient deps) are using the same version. This is especially important in OCaml where the builder will only use one version of a package (iirc), which is why nix fails if there are conflicting versions. |
And to bring this home, the reason this worked is because the current state of gluon, bytestring, and config all happen to depend on the same version of minttea.spices in their flake.lock. |
Got ya, this make more sense to me :D I prob had some skill issues and didn't understand how everything is connected sat first. Thank you for explaining it Then I need to fix something on my end instead |
Changed to use
pkgs.fetchFromGitHub
instead of usingbuiltins.fetchgit
to make it more "strict"