sandstorm icon indicating copy to clipboard operation
sandstorm copied to clipboard

Produce Nix expression for easy-install in NixOS

Open tomberek opened this issue 10 years ago • 9 comments

tomberek avatar Feb 07 '15 19:02 tomberek

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.

paulproteus avatar Feb 07 '15 19:02 paulproteus

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!

paulproteus avatar Feb 07 '15 19:02 paulproteus

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 .

tomberek avatar Feb 10 '15 02:02 tomberek

Cool. I am happy to help or review when the time comes!

paulproteus avatar Feb 10 '15 19:02 paulproteus

it appears that NixOS kernels are built with CONFIG_USER_NS

edrex avatar Feb 15 '16 20:02 edrex

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

zimbatm avatar Apr 19 '16 20:04 zimbatm

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

tomberek avatar Apr 25 '16 20:04 tomberek

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.

garrison avatar Oct 19 '21 09:10 garrison

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.

garrison avatar Oct 19 '21 13:10 garrison