sys-apps/guix: new package, the GNU Purely Functional Package Manager
authorSergei Trofimovich <slyfox@gentoo.org>
Wed, 1 Feb 2017 22:18:04 +0000 (22:18 +0000)
committerSergei Trofimovich <slyfox@gentoo.org>
Wed, 1 Feb 2017 22:18:16 +0000 (22:18 +0000)
commitf7663b92c6722a14a928fde1809e52748cb2e97a
tree65193c3bc7ac3ed635f8f5a029492a3e15180d72
parent5050debfedd9ef939113ab1c2e3f0de3be6e15c0
sys-apps/guix: new package, the GNU Purely Functional Package Manager

Internal data model and command UI is a lot like
one of sys-apps/nix.

Package description mechanism is a bit different
in both surface syntax (guile vs nix expression language)
and evaluation method (compiled versus lazy loaded configs)

guix (as well as nix) is a source-based package manager with
strong support for binary packages. It uses multiple tricks
to make package source dependencies robust:

- guix installs every package into it's own --prefix=.
  Example: /gnu/store/6np03bm99hg7gprcwmzpbpaj00cka8p8-icecat-45.5.1-gnu1
- guix builds packages with PATH (and similar) only including explicitly
  listed depends. This eliminates automagic dependency.
- guix tracks full environment where package was built.
  Once environment changes new package needs to be built.

That's how you install firef^Wicecat just for your current user:

    $ guix package --install icecat

Package-Manager: Portage-2.3.3, Repoman-2.3.1
sys-apps/guix/Manifest [new file with mode: 0644]
sys-apps/guix/files/guix-0.12.0-AR.patch [new file with mode: 0644]
sys-apps/guix/files/guix-0.12.0-no-json-crate.patch [new file with mode: 0644]
sys-apps/guix/files/guix-daemon.initd [new file with mode: 0644]
sys-apps/guix/guix-0.12.0-r1.ebuild [new file with mode: 0644]
sys-apps/guix/metadata.xml [new file with mode: 0644]