diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2017-02-01 22:18:04 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2017-02-01 22:18:16 +0000 |
commit | f7663b92c6722a14a928fde1809e52748cb2e97a (patch) | |
tree | 65193c3bc7ac3ed635f8f5a029492a3e15180d72 /sys-apps/guix/files | |
parent | sys-apps/nix: don't hardcode UID/GID for nix internal groups (diff) | |
download | gentoo-f7663b92c6722a14a928fde1809e52748cb2e97a.tar.gz gentoo-f7663b92c6722a14a928fde1809e52748cb2e97a.tar.bz2 gentoo-f7663b92c6722a14a928fde1809e52748cb2e97a.zip |
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
Diffstat (limited to 'sys-apps/guix/files')
-rw-r--r-- | sys-apps/guix/files/guix-0.12.0-AR.patch | 8 | ||||
-rw-r--r-- | sys-apps/guix/files/guix-0.12.0-no-json-crate.patch | 38 | ||||
-rw-r--r-- | sys-apps/guix/files/guix-daemon.initd | 16 |
3 files changed, 62 insertions, 0 deletions
diff --git a/sys-apps/guix/files/guix-0.12.0-AR.patch b/sys-apps/guix/files/guix-0.12.0-AR.patch new file mode 100644 index 000000000000..c9c91c20734c --- /dev/null +++ b/sys-apps/guix/files/guix-0.12.0-AR.patch @@ -0,0 +1,8 @@ +diff --git a/config-daemon.ac b/config-daemon.ac +index 056c939..b04deed 100644 +--- a/config-daemon.ac ++++ b/config-daemon.ac +@@ -7,2 +7,3 @@ dnl C++ environment. This macro must be used unconditionnaly. + AC_PROG_CXX ++AM_PROG_AR + AC_LANG([C++]) diff --git a/sys-apps/guix/files/guix-0.12.0-no-json-crate.patch b/sys-apps/guix/files/guix-0.12.0-no-json-crate.patch new file mode 100644 index 000000000000..57b4308a3a89 --- /dev/null +++ b/sys-apps/guix/files/guix-0.12.0-no-json-crate.patch @@ -0,0 +1,38 @@ +commit 6023041346c79f7ac4105bba2552a82019fae840 +Author: David Thompson <davet@gnu.org> +Date: Fri Dec 30 14:15:35 2016 -0500 + + import: crate: Do not build when guile-json is not available. + + * Makefile.am (MODULES): Add 'guix/import/crate.scm' and + 'guix/scripts/import/crate.scm' only when HAVE_GUILE_JSON. + +diff --git a/Makefile.am b/Makefile.am +index 15939af12..97629f26e 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -122,7 +122,6 @@ MODULES = \ + guix/import/snix.scm \ + guix/import/cabal.scm \ + guix/import/cran.scm \ +- guix/import/crate.scm \ + guix/import/hackage.scm \ + guix/import/elpa.scm \ + guix/scripts.scm \ +@@ -142,7 +141,6 @@ MODULES = \ + guix/scripts/lint.scm \ + guix/scripts/challenge.scm \ + guix/scripts/import/cran.scm \ +- guix/scripts/import/crate.scm \ + guix/scripts/import/gnu.scm \ + guix/scripts/import/nix.scm \ + guix/scripts/import/hackage.scm \ +@@ -162,6 +160,8 @@ if HAVE_GUILE_JSON + MODULES += \ + guix/import/github.scm \ + guix/import/json.scm \ ++ guix/import/crate.scm \ ++ guix/scripts/import/crate.scm \ + guix/import/pypi.scm \ + guix/scripts/import/pypi.scm \ + guix/import/cpan.scm \ diff --git a/sys-apps/guix/files/guix-daemon.initd b/sys-apps/guix/files/guix-daemon.initd new file mode 100644 index 000000000000..c4f25796c1ab --- /dev/null +++ b/sys-apps/guix/files/guix-daemon.initd @@ -0,0 +1,16 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --quiet --background --exec /usr/bin/guix-daemon -- --build-users-group=guixbuild + eend ${?} +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --quiet --exec /usr/bin/guix-daemon + eend ${?} +} |