sandstorm
sandstorm copied to clipboard
Produce Nix expression for easy-install in NixOS
Hi @tomberek ! Thanks for filing this.
I don't know anyone in the Sandstorm community yet who knows Nix... but maybe you do? I'd love to help you with this, if you're interested.
If you don't have the time or interest, I'm also totally OK with leaving this open, as a signal to others that we welcome their contribution!
I've got a few other projects. I'll try to get to this some time. I would want to make a package and a service configuration.
On Sat, Feb 7, 2015 at 2:42 PM, Asheesh Laroia [email protected] wrote:
If you don't have the time or interest, I'm also totally OK with leaving this open, as a signal to others that we welcome their contribution!
— Reply to this email directly or view it on GitHub https://github.com/sandstorm-io/sandstorm/issues/245#issuecomment-73379482 .
Cool. I am happy to help or review when the time comes!
it appears that NixOS kernels are built with CONFIG_USER_NS
I had a quick try but the Makefile doesn't follow the common patterns. It tries to download the dependencies with git and doesn't provide a fallback where libraries are provided by the system. Because Nix uses a sandbox it doesn't allow network access during build time. It also makes the build non-reproducible because each git remote can change at any time and the dependencies are not pinned.
I tried to package ekam which is sandstorm's custom make replacement which also has similar issues.
My WIP is available at https://github.com/zimbatm/nixpkgs/tree/sandstorm
I've found this to be a common problem with integrating some build systems with Nix. It becomes some work to go about pinning all the dependencies into Nix. Sometimes I end up simply creating an impure Nix expression to build the package for me.
On Tue, Apr 19, 2016 at 4:39 PM, zimbatm [email protected] wrote:
I had a quick try but the Makefile doesn't follow the common patterns. It tries to download the dependencies with git and doesn't provide a fallback where libraries are provided by the system. Because Nix uses a sandbox it doesn't allow network access during build time. It also makes the build non-reproducible because each git remote can change at any time and the dependencies are not pinned.
I tried to package ekam which is sandstorm's custom make replacement which also has similar issues.
— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/sandstorm-io/sandstorm/issues/245#issuecomment-212118402
It also makes the build non-reproducible because each git remote can change at any time and the dependencies are not pinned.
I don't believe this is accurate. The dependencies fetched by git are pinned by git-submodule
(see e.g. 0dbe18868c508277d306f6fda7219e9a96836a86). The build is probably not reproducible for other, more minor, reasons, however.
Ekam is now in nixpkgs (https://github.com/NixOS/nixpkgs/pull/141064). I have a work-in-progress nix expression to build sandstorm (but it does not yet compile) at https://github.com/garrison/sandstorm-nix.