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

Reply via email to