summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2017-02-01 22:18:04 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2017-02-01 22:18:16 +0000
commitf7663b92c6722a14a928fde1809e52748cb2e97a (patch)
tree65193c3bc7ac3ed635f8f5a029492a3e15180d72 /sys-apps/guix/files
parentsys-apps/nix: don't hardcode UID/GID for nix internal groups (diff)
downloadgentoo-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.patch8
-rw-r--r--sys-apps/guix/files/guix-0.12.0-no-json-crate.patch38
-rw-r--r--sys-apps/guix/files/guix-daemon.initd16
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 ${?}
+}