-
-
Notifications
You must be signed in to change notification settings - Fork 263
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
cannot consume Tidal flake after switch to Link submodule #1137
Comments
you don‘t have to specify .?submodules=1 in the URL but as part of the nix build command Tidal/.github/workflows/nix.yml Line 47 in 08f0416
I an not sure how darwin-rebuild is different to the simple „nix build“ command. Can I test this somehow on Linux? |
the Linux equivalent would be |
Looks like we could add a darwin-rebuild to our CI. |
@ahihi could you provide a minimum (not) working example for your flake in flake config? |
here: https://github.com/ahihi/tidal-flake-test fails the same way on both nix-darwin and NixOS. |
btw, given the build complications that arise from submodules (not just this one - we just had someone on discord wondering why a clone & cabal build no longer works, and i expect there will be others), have you considered a git subtree as an alternative? |
Probably a good alternative to keep the burden off the user. What do you say, @yaxu? Sorry for breaking it in the first place. |
A problem is that Link itself uses submodules again. It looks like subtrees + submodules aren't a friendly combination. edit: So it seems to me, that a subtree is very similar to copying the Link code, as done before; with the difference that there is a dedicated git command to update the copied code. |
oh! yeah, that makes it tricky.
yes pretty much, and it also gives you the other project's history. |
Later on, when Tidal is released and installed the |
indeed, outside of Nix this is mainly a concern for people who want to run the dev branch for any reason. generally, i think subtrees > submodules > manually vendoring the code. since Link using submodules itself makes the subtree approach infeasible, the submodule seems like the best available approach. i also believe the Nix issue can be solved, im just very unclear on how this is supposed to work, in which context ( |
I don't have any useful knowledge/experience/insights to share on this sorry! Hope the nix issue works out |
not sure if the problem is really related to |
so the test can really be reduced to {
description = "flake to test consuming the Tidal flake";
inputs = {
tidal.url = "github:tidalcycles/Tidal";
};
outputs = { self, tidal }:
tidal;
} |
ok, it looks like using according to NixOS/nix#4423 (comment), this does introduce possible nondeterminism, but that is something to be addressed on the Nix side and i think i can live with it for now :) |
NixOS/nix#12421 was just merged, which should help here! |
it seems that #1119 makes the Tidal flake unbuildable when used as an input to another flake. for example, my nix-darwin flake includes
and when rebuilding my system, i now get the
'abl_link.h' file not found
error.i am not sure how to correctly pass
submodules=1
in this situation. ive tried the following, which dont work:tidal.url = "github:tidalcycles/Tidal?submodules=1";
darwin-rebuild switch --flake .?submodules=1
darwin-rebuild switch --flake .?submodules=1#
The text was updated successfully, but these errors were encountered: