On Thursday, March 17, 2016 at 3:11:40 PM UTC+1, Nicolas B. Pierron wrote: > On 03/17/2016 10:59 AM, Henri Sivonen wrote: > > My concern is that Linux distributions tend to have a policy that > > binary packages have to be buildable from source packages using the > > tools that are available in the package repository of the distro. > > Considering the current state of rustc availability in distro > > repositories, it seems to me that we are headed towards a problem. > > I guess one of the thing we could do is use an alternative solution, such as > an external package manager which can work side-by-side with the host, such > as zero-install, Portage, or Nix. > > I already use Nix, as a package manager to manage the dependencies I need > for building Firefox [1]. One of the advantage I see with this solution is > that such Nix expression can be part of the repository [2] and be a fallback > for all the platforms where we have no support. > > [1] https://github.com/nbp/firefox-build-env > [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1115107 > > -- > Nicolas B. Pierron
Hi, I'd like to back Nicolas here and point out few of this things that is hard to see when being new to Nix and evaluating - Cross-platoform, Nix currently reliably works on any Linux distribution. Many are using Nix already as a replacement for homebrew on OSX. I've used Nix to package applications on Windows (via cygwin) and Nix since few months again compiles on FreeBSD (but package support is poor). - Multiple versions, you can install as many different version of packages as you need transparently, without affecting each other. Also it does not require any containerization solution to do this. - Atomic, when re-installing or updating my development environment there is not as single moment where my environment is in a broken state. - Build reproducible and transparent source-binary model, you know exactly which version are used and you can reproduce the exact setup on many machines. And because of that you can extend existing build recepies easily and play with your environment. - Complete dependency tree, while on other distributions you rely on 3rdparty to provide images - Build tool for Deb/Rpm/... packages, primarily Nix can be considered as a build tool. If needed it can also produce .deb/.rpm/... binaries. I've been using Nix for last 5 years and (since I know enough about Nix) I consider every current package manager broken (due to features mentioned above). It is hard to explain all the features of Nix in a short email, but with with all of the features mentioned above it would make sense to at least give it a try. lp Rok _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform