A modern, delicious implementation of the Nix package manager, focused on correctness, usability, and growth — and committed to doing right by its community
https://lix.systems
0ef4b6d0f8
* Conditionals and variables in Fix expressions. This allows, e.g., Descr( [ Bind("pkgId", "subversion-0.21.0") , Bind("httpsClient", Bool(True)) , Bind("httpServer", Bool(True)) , Bind("ssl", If(Var("httpsClient"), Fix("./openssl-0.9.7b.fix"), "")) , Bind("httpd", If(Var("httpServer"), Fix("./httpd-2.0.45.fix"), "")) ... ]) which introduces domain feature variables httpsClient and httpServer (i.e., whether Subversion is built with https client and webdav server support); the values of the variables influences package dependencies and the build scripts. The next step is to allow that packages can express constraints on each other. E.g., StrategoXT is dependent on an ATerm library with the "gcc" variant enabled. In fact, this may cause several Nix instantiations to be created from a single Fix descriptor. If possible, Fix should try to find the least set of instantiations that obeys the constraints. |
||
---|---|---|
pkg | ||
scripts | ||
src | ||
sys | ||
test | ||
AUTHORS | ||
ChangeLog | ||
configure.ac | ||
COPYING | ||
INSTALL | ||
Makefile.am | ||
NEWS | ||
README |
Overview ======== Nix is a package manager, deployment system, and component glue mechanism. Prerequisites ============= * Berkeley DB 4.0.14 * CWI ATerm 2.0 Installation ============ * When building from the Subversion repository, first do: autoreconf -i * To build, do: ./configure make make install Note that this will install to /nix, which is the default prefix. You can specify another prefix, but this is not recommended if you want to use prebuilt packages from other sources. Usage ===== TODO