lanl / LaGriT

Los Alamos Grid Toolbox (LaGriT) is a library of user callable tools that provide mesh generation, mesh optimization and dynamic mesh maintenance in two and three dimensions.
https://lanl.github.io/LaGriT/
Other
116 stars 48 forks source link

Packaging of `lagrit` with `nix` #258

Open nialov opened 2 months ago

nialov commented 2 months ago

Hey,

This is mostly just a FYI but I have gone through the effort of packaging lagrit for the nix package manager (https://nixos.org/). See here for the build definition: https://github.com/nialov/nix-extra/blob/master/overlays/packages/lagrit/default.nix

nix provides reproducible (and cached builds) of any software. This means it is possible to always reproduce a build with nix if you for instance provide a revision of the repo with the nix build declarations. E.g.

nix build github:nialov/nix-extra/d905dc7eca43321db38ee985ea8f10ae56de9b7c#lagrit

Anyway, if you have had trouble with e.g. reproducibility and with developers setting up their development environment, nix is a solution to these problems although it has a steep learning curve. I have not included my packaging efforts in nixpkgs (https://github.com/NixOS/nixpkgs), as I do not know lagrit well enough to say if the produced build result, even with tests passing (python3 runtests.py), is completely valid. Let me know if any you actual maintainers have interest in these things! Otherwise, as said at the start, this is just a FYI.