Skip to content
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

Upstream work-on-multi into Nixpkgs's shellFor #586

Open
Ericson2314 opened this issue Dec 20, 2019 · 2 comments
Open

Upstream work-on-multi into Nixpkgs's shellFor #586

Ericson2314 opened this issue Dec 20, 2019 · 2 comments

Comments

@Ericson2314
Copy link
Member

See definition of shellFor in https://github.com/NixOS/nixpkgs/blob/8e4c9d15456fd3a35044bcea864d558fade4a021/pkgs/development/haskell-modules/make-package-set.nix#L253-L323 . It works today by splitting the dependencies as "haskell" vs "system", and then making a shell based off of this.

This, however, is too coarse-grained. We should instead first combine all the packages as work-ont-multi does. In the cross case we should also make two ghcWithPackages calls, one for Setup.hs with setup depends and buildHaskellPackages.ghcWithPackages in addition to the regular one. In the native case, we should combine regular haskell dependencies with setup-depends for one big ghcWithPackages call.

@Ericson2314 Ericson2314 changed the title Upstream work-on-multi into Nuxpkgs's shellFor Upstream work-on-multi into Nixpkgs's shellFor Dec 20, 2019
@Ericson2314
Copy link
Member Author

To anyone working on this, take a glance at https://github.com/NixOS/nixpkgs/pulls?utf8=%E2%9C%93&q=is%3Apr+shellFor+ for the history of shellFor, and NixOS/nixpkgs#46453 in particular.

I think the plan should be to somewhat undo NixOS/nixpkgs@51267d3 from that PR, in that .env will not use shellFor. Instead, shellFor would use .env: The logic from shellFor that is moved back inside generic-builder to define the .env, and the remaining bits of shellFor are replaced with work-on-multi, combining the packages into one package from which to get and use a .env.

@Ericson2314
Copy link
Member Author

Ericson2314 commented Dec 26, 2019

Nixpkgs side is is in NixOS/nixpkgs#76349. After that's merged and we switch to 19.09, we can then use it from reflex-platform.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants