On Thursday, 15 February 2018 at 07:21:24 UTC, Pjotr Prins wrote:
On Thursday, 15 February 2018 at 04:11:51 UTC, Graham St Jack
wrote:
Maybe a compromise position would be for a package management
system to define an interface through which it can do things
like:
* Discover what the external dependencies are,
* Provide those external dependencies, and
* Invoke a full build.
Then, any number of build systems (and deployment systems?)
could be adapted to work with the package management system.
That is exactly what GNU Guix offers. With support for isolated
builds, continuous integration testing, and containers thrown
in, if you want that. People misunderstand Guix somewhat
because it presents itself as a 'package manager' and even
distribution in its own right. But actually it is a dependency
manager that can run on top of any system.
It's a bit confusing since the first thing [the Guix
webpage](https://www.gnu.org/software/guix/) talks about
"GuixSD", rather than the Guix tool in its own right.
Wow, I didn't realize how established Guix is. It's [packages
page](https://www.gnu.org/software/guix/packages/) boasts 6868
available packages!
The [Guix manual](https://www.gnu.org/software/guix/manual/)
appears to be comprehensive.
Are any other languages using Guix for their 3rd-party online
package repo? If not, why?
I am writing a BLOG on how to use Guix for Python development
using its package managers and even dependency injection (say a
choice of BLAS libraries or LLVM in the case of D). When that
is done I could do a D writeup if there is enough interest.
I am sure some people roll their eyes when I mention GNU Guix.
Not at all. Seems like an amazing tool!