* Gnunet-0.10.0 recipe
@ 2014-01-30 16:36 Sree Harsha Totakura
2014-01-30 16:37 ` [PATCH 1/2] gnu: gnunet: Remove Gstreamer dependency Sree Harsha Totakura
2014-01-30 22:39 ` Gnunet-0.10.0 recipe Andreas Enge
0 siblings, 2 replies; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-01-30 16:36 UTC (permalink / raw)
To: guix-devel
Hi,
Here is the much awaited recipe for GNUnet. The patches follow this email.
The first patch removes Gstreamer as a dependency for libextractor.
This is required as Gstreamer currently appears to be broken (see
http://lists.nongnu.org/archive/html/bug-guix/2014-01/msg00026.html) and
this prevent libextractor from building which is required for gnunet.
The second patch actually provides the recipe for gnunet. The patches
associated with it are already pushed into upstream. These can be
safely removed after the next release.
Regards,
Sree
^ permalink raw reply [flat|nested] 63+ messages in thread
* [PATCH 1/2] gnu: gnunet: Remove Gstreamer dependency.
2014-01-30 16:36 Gnunet-0.10.0 recipe Sree Harsha Totakura
@ 2014-01-30 16:37 ` Sree Harsha Totakura
2014-01-30 16:37 ` [PATCH 2/2] gnu: gnunet: Add gnunet-0.10.0 Sree Harsha Totakura
2014-02-10 22:04 ` [PATCH 1/2] gnu: gnunet: Remove Gstreamer dependency Ludovic Courtès
2014-01-30 22:39 ` Gnunet-0.10.0 recipe Andreas Enge
1 sibling, 2 replies; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-01-30 16:37 UTC (permalink / raw)
To: guix-devel
* gnu/packages/gnunet (libextractor): Remove Gstreamer dependency as it is currently broken.
---
gnu/packages/gnunet.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 6af9063..4a50fd7 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -76,8 +76,9 @@
("ffmpeg" ,ffmpeg)
("gettext" ,gnu-gettext)
("glib" ,glib)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
+ ;; FIXME: Gstreamer is currently broken; add it up when it is fixed
+ ;; ("gstreamer" ,gstreamer)
+ ;; ("gst-plugins-base" ,gst-plugins-base)
("libjpeg" ,libjpeg)
("libogg" ,libogg)
("libtiff" ,libtiff)
--
1.7.10.4
^ permalink raw reply related [flat|nested] 63+ messages in thread
* [PATCH 2/2] gnu: gnunet: Add gnunet-0.10.0.
2014-01-30 16:37 ` [PATCH 1/2] gnu: gnunet: Remove Gstreamer dependency Sree Harsha Totakura
@ 2014-01-30 16:37 ` Sree Harsha Totakura
2014-01-30 21:11 ` Ludovic Courtès
2014-02-10 22:04 ` [PATCH 1/2] gnu: gnunet: Remove Gstreamer dependency Ludovic Courtès
1 sibling, 1 reply; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-01-30 16:37 UTC (permalink / raw)
To: guix-devel
* gnunet/packages/gnunet.scm (gnunet): New variable. Thanks to Zerwas for the initial recipe.
* gnu/package/patches/gnunet-fix-scheduler.patch: Patch to fix bug in Gnunet's scheduler.
* gnu/package/patches/gnunet-fix-tests.patch: Patch to fix bugs in testcases and to disable testscases which rely on name resolution.
* gnu-system.am (dist_patch_DATA): Add the above two patch files.
---
gnu-system.am | 2 +
gnu/packages/gnunet.scm | 62 +++++++++++++++++++++++
gnu/packages/patches/gnunet-fix-scheduler.patch | 13 +++++
gnu/packages/patches/gnunet-fix-tests.patch | 46 +++++++++++++++++
4 files changed, 123 insertions(+)
create mode 100644 gnu/packages/patches/gnunet-fix-scheduler.patch
create mode 100644 gnu/packages/patches/gnunet-fix-tests.patch
diff --git a/gnu-system.am b/gnu-system.am
index 1f7327e..da35ad0 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -255,6 +255,8 @@ dist_patch_DATA = \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-ldd-x86_64.patch \
gnu/packages/patches/glibc-make-4.0.patch \
+ gnu/packages/patches/gnunet-fix-scheduler.patch \
+ gnu/packages/patches/gnunet-fix-tests.patch \
gnu/packages/patches/gobject-introspection-cc.patch \
gnu/packages/patches/grub-gets-undeclared.patch \
gnu/packages/patches/gstreamer-0.10-bison3.patch \
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 4a50fd7..cc7782f 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -17,6 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gnunet)
+ #:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@@ -30,10 +31,14 @@
#:use-module (gnu packages libidn)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages libtiff)
+ #:use-module (gnu packages libunistring)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages openssl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
#:use-module ((guix licenses)
@@ -185,3 +190,60 @@ supports HTTPS, HTTPS and GnuTLS.")
(license (license:bsd-style "file://COPYING"
"See COPYING in the distribution."))
(home-page "https://gnunet.org/gnurl")))
+
+(define-public gnunet
+ (package
+ (name "gnunet")
+ (version "0.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gnunet/gnunet-" version
+ ".tar.gz"))
+ (sha256 (base32
+ "0zqpc47kywhjrpphl0palz849khv00ra2gjrfkysp6p0gfsbvd0i"))
+ (patches (list (search-patch "gnunet-fix-scheduler.patch")
+ (search-patch "gnunet-fix-tests.patch")))
+ (patch-flags '("-p0"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gnutls" ,gnutls)
+ ("glpk" ,glpk)
+ ("libextractor" ,libextractor)
+ ("libgcrypt" ,libgcrypt)
+ ("gnurl" ,gnurl)
+ ("libidn" ,libidn)
+ ("opus" ,opus)
+ ("libtool" ,libtool)
+ ("libunistring" ,libunistring)
+ ("pulseaudio", pulseaudio)
+ ("sqlite" ,sqlite)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python" ,python-2)))
+ (arguments
+ '(#:phases
+ (let* ((check (assq 'check %standard-phases))
+ (alist (delete check %standard-phases))
+ (testsetup
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "GNUNET_PREFIX" out)
+ (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))
+ #t))))
+ (display %standard-phases)
+ (alist-cons-after 'testsetup (car check) (cdr check)
+ (alist-cons-after 'install 'testsetup testsetup
+ alist)))))
+ (synopsis "Secure P2P networking framework with cool applications")
+ (description
+ "GNUnet is a framework for secure peer-to-peer networking that does not
+use any centralized or otherwise trusted services. Our high-level goal is to
+provide a strong free software foundation for a global network that provides
+security and in particular respects privacy. GNUnet started with an idea for
+anonymous censorship-resistant file-sharing, but has grown to incorporate
+other applications as well as many generic building blocks for secure
+networking applications. In particular, GNUnet now includes the GNU Name
+System, a privacy-preserving, decentralized public key infrastructure")
+ (license license:gpl3+)
+ (home-page "https://gnunet.org/")))
diff --git a/gnu/packages/patches/gnunet-fix-scheduler.patch b/gnu/packages/patches/gnunet-fix-scheduler.patch
new file mode 100644
index 0000000..1e0aef2
--- /dev/null
+++ b/gnu/packages/patches/gnunet-fix-scheduler.patch
@@ -0,0 +1,13 @@
+Index: src/util/scheduler.c
+===================================================================
+--- src/util/scheduler.c (revision 31745)
++++ src/util/scheduler.c (working copy)
+@@ -1599,7 +1599,7 @@
+ int real_fd;
+
+ GNUNET_DISK_internal_file_handle_ (fd, &real_fd, sizeof (int));
+- GNUNET_assert (real_fd > 0);
++ GNUNET_assert (real_fd >= 0);
+ return add_without_sets (
+ delay, priority,
+ on_read ? real_fd : -1,
diff --git a/gnu/packages/patches/gnunet-fix-tests.patch b/gnu/packages/patches/gnunet-fix-tests.patch
new file mode 100644
index 0000000..1957b17
--- /dev/null
+++ b/gnu/packages/patches/gnunet-fix-tests.patch
@@ -0,0 +1,46 @@
+diff -ru a/src/peerinfo-tool/Makefile.in b/src/peerinfo-tool/Makefile.in
+--- src/peerinfo-tool/Makefile.in 2013-12-24 13:55:04.000000000 +0100
++++ src/peerinfo-tool/Makefile.in 2014-01-30 13:07:52.275965484 +0100
+@@ -335,9 +335,6 @@
+ $(top_builddir)/src/statistics/libgnunetstatistics.la \
+ $(top_builddir)/src/util/libgnunetutil.la
+
+-@HAVE_PYTHON_TRUE@check_SCRIPTS = \
+-@HAVE_PYTHON_TRUE@ test_gnunet_peerinfo.py
+-
+ @ENABLE_TEST_RUN_TRUE@TESTS = $(check_SCRIPTS)
+ do_subst = $(SED) -e 's,[@]PYTHON[@],$(PYTHON),g'
+ EXTRA_DIST = \
+diff -ru a/src/revocation/test_revocation.conf b/src/revocation/test_revocation.conf
+--- src/revocation/test_revocation.conf 2013-12-21 18:57:06.000000000 +0100
++++ src/revocation/test_revocation.conf 2014-01-30 15:00:02.841340556 +0100
+@@ -20,6 +20,9 @@
+ [transport-udp]
+ BROADCAST = NO
+
++[nat]
++RETURN_LOCAL_ADDRESSES = YES
++
+ [peerinfo]
+ USE_INCLUDED_HELLOS = NO
+
+Index: src/gns/test_gns_cname_lookup.sh
+===================================================================
+--- src/gns/test_gns_cname_lookup.sh (revision 32117)
++++ src/gns/test_gns_cname_lookup.sh (revision 32118)
+@@ -13,6 +13,15 @@
+ exit 77
+ fi
+
++# permissive DNS resolver we will use for the test
++DNS_RESOLVER="8.8.8.8"
++if ! nslookup gnunet.org $DNS_RESOLVER &> /dev/null
++then
++ echo "Cannot reach DNS, skipping test"
++ exit 77
++fi
++
++
+ rm -rf /tmp/test-gnunet-gns-peer-1/
+
+ TEST_DOMAIN_PLUS="www.gnu"
--
1.7.10.4
^ permalink raw reply related [flat|nested] 63+ messages in thread
* Re: [PATCH 2/2] gnu: gnunet: Add gnunet-0.10.0.
2014-01-30 16:37 ` [PATCH 2/2] gnu: gnunet: Add gnunet-0.10.0 Sree Harsha Totakura
@ 2014-01-30 21:11 ` Ludovic Courtès
2014-01-30 22:41 ` [PATCH] gnu: gnunet: Add GNUnet-0.10.0 Sree Harsha Totakura
0 siblings, 1 reply; 63+ messages in thread
From: Ludovic Courtès @ 2014-01-30 21:11 UTC (permalink / raw)
To: Sree Harsha Totakura; +Cc: guix-devel
Sree Harsha Totakura <sreeharsha@totakura.in> skribis:
> * gnunet/packages/gnunet.scm (gnunet): New variable. Thanks to Zerwas for the initial recipe.
> * gnu/package/patches/gnunet-fix-scheduler.patch: Patch to fix bug in Gnunet's scheduler.
> * gnu/package/patches/gnunet-fix-tests.patch: Patch to fix bugs in testcases and to disable testscases which rely on name resolution.
> * gnu-system.am (dist_patch_DATA): Add the above two patch files.
Excellent!
Can you wrap lines to ~75 chars? Also, you can use ‘Co-authored-by:
Zerwas’ if deemed appropriate here.
s/Gnunet/GNUnet/
The .patch files above should just have “New files” in the commit log
(see other commits for examples.) However, can you please move the
description of what the patches do at the top of the patches themselves,
possibly with a reference to the upstream commit/bug report/discussion?
> + (arguments
> + '(#:phases
> + (let* ((check (assq 'check %standard-phases))
> + (alist (delete check %standard-phases))
> + (testsetup
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let ((out (assoc-ref outputs "out")))
> + (setenv "GNUNET_PREFIX" out)
> + (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))
> + #t))))
> + (display %standard-phases)
> + (alist-cons-after 'testsetup (car check) (cdr check)
> + (alist-cons-after 'install 'testsetup testsetup
> + alist)))))
I think the ‘display’ is a leftover, right? ;-)
I would rather write it this way:
(let* ((check (assq-ref %standard-phases 'check))
(pre-check
(lambda* ...)))
(alist-cons-after 'pre-check 'check check
(alist-cons-after 'install 'pre-check pre-check
(alist-delete 'check
%standard-phases))))
(Woow, this ought to be simpler...)
> + (synopsis "Secure P2P networking framework with cool applications")
> + (description
> + "GNUnet is a framework for secure peer-to-peer networking that does not
> +use any centralized or otherwise trusted services. Our high-level goal is to
> +provide a strong free software foundation for a global network that provides
> +security and in particular respects privacy. GNUnet started with an idea for
> +anonymous censorship-resistant file-sharing, but has grown to incorporate
> +other applications as well as many generic building blocks for secure
> +networking applications. In particular, GNUnet now includes the GNU Name
> +System, a privacy-preserving, decentralized public key infrastructure")
Could you run ‘make sync-descriptions’ and use whatever synopsis and
description it suggests? (That comes from the canonical GNU package
database.)
Thanks for the nice work!
Ludo’.
^ permalink raw reply [flat|nested] 63+ messages in thread
* [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
2014-01-30 21:11 ` Ludovic Courtès
@ 2014-01-30 22:41 ` Sree Harsha Totakura
0 siblings, 0 replies; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-01-30 22:41 UTC (permalink / raw)
To: guix-devel
* gnunet/packages/gnunet.scm (gnunet): New variable.
* gnu/package/patches/gnunet-fix-scheduler.patch: New file.
* gnu/package/patches/gnunet-fix-tests.patch: New file.
* gnu-system.am (dist_patch_DATA): Add the above two patch files.
---
gnu-system.am | 2 +
gnu/packages/gnunet.scm | 67 +++++++++++++++++++++++
gnu/packages/patches/gnunet-fix-scheduler.patch | 13 +++++
gnu/packages/patches/gnunet-fix-tests.patch | 46 ++++++++++++++++
4 files changed, 128 insertions(+)
create mode 100644 gnu/packages/patches/gnunet-fix-scheduler.patch
create mode 100644 gnu/packages/patches/gnunet-fix-tests.patch
diff --git a/gnu-system.am b/gnu-system.am
index 1f7327e..da35ad0 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -255,6 +255,8 @@ dist_patch_DATA = \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-ldd-x86_64.patch \
gnu/packages/patches/glibc-make-4.0.patch \
+ gnu/packages/patches/gnunet-fix-scheduler.patch \
+ gnu/packages/patches/gnunet-fix-tests.patch \
gnu/packages/patches/gobject-introspection-cc.patch \
gnu/packages/patches/grub-gets-undeclared.patch \
gnu/packages/patches/gstreamer-0.10-bison3.patch \
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 4a50fd7..e3c3b45 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -17,6 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gnunet)
+ #:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@@ -30,10 +31,14 @@
#:use-module (gnu packages libidn)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages libtiff)
+ #:use-module (gnu packages libunistring)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages openssl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
#:use-module ((guix licenses)
@@ -185,3 +190,65 @@ supports HTTPS, HTTPS and GnuTLS.")
(license (license:bsd-style "file://COPYING"
"See COPYING in the distribution."))
(home-page "https://gnunet.org/gnurl")))
+
+(define-public gnunet
+ (package
+ (name "gnunet")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gnunet/gnunet-" version
+ ".tar.gz"))
+ (sha256 (base32
+ "0zqpc47kywhjrpphl0palz849khv00ra2gjrfkysp6p0gfsbvd0i"))
+ (patches
+ (list
+ ;; Patch to fix serious bug in scheduler; upstream commit: #31747
+ (search-patch "gnunet-fix-scheduler.patch")
+ ;; Patch to fix bugs in testcases:
+ ;; * Disable peerinfo-tool tests as they depend on reverse DNS lookups
+ ;; * Allow revocation testcase to run on loopback; upstream: #32130
+ ;; * Skip GNS testcases requiring DNS lookups; upstream: #32118
+ (search-patch "gnunet-fix-tests.patch")))
+ (patch-flags '("-p0"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gnutls" ,gnutls)
+ ("glpk" ,glpk)
+ ("libextractor" ,libextractor)
+ ("libgcrypt" ,libgcrypt)
+ ("gnurl" ,gnurl)
+ ("libidn" ,libidn)
+ ("opus" ,opus)
+ ("libtool" ,libtool)
+ ("libunistring" ,libunistring)
+ ("pulseaudio", pulseaudio)
+ ("sqlite" ,sqlite)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python" ,python-2)))
+ (arguments
+ '(#:phases
+ (let* ((check (assq-ref %standard-phases 'check))
+ (pre-check
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "GNUNET_PREFIX" out)
+ (setenv "PATH" (string-append
+ (getenv "PATH") ":" out "/bin"))
+ #t))))
+ (alist-cons-after 'pre-check 'check check
+ (alist-cons-after 'install 'pre-check pre-check
+ (alist-delete
+ 'check %standard-phases))))))
+ (synopsis "Anonymous peer-to-peer file-sharing framework")
+ (description
+ "GNUnet is a framework for secure, peer-to-peer networking. It works in a
+decentralized manner and does not rely on any notion of trusted services. One
+service implemented on it is censorship-resistant file-sharing. Communication
+is encrypted and anonymity is provided by making messages originating from a
+peer indistinguishable from those that the peer is routing.")
+ (license license:gpl3+)
+ (home-page "https://gnunet.org/")))
diff --git a/gnu/packages/patches/gnunet-fix-scheduler.patch b/gnu/packages/patches/gnunet-fix-scheduler.patch
new file mode 100644
index 0000000..1e0aef2
--- /dev/null
+++ b/gnu/packages/patches/gnunet-fix-scheduler.patch
@@ -0,0 +1,13 @@
+Index: src/util/scheduler.c
+===================================================================
+--- src/util/scheduler.c (revision 31745)
++++ src/util/scheduler.c (working copy)
+@@ -1599,7 +1599,7 @@
+ int real_fd;
+
+ GNUNET_DISK_internal_file_handle_ (fd, &real_fd, sizeof (int));
+- GNUNET_assert (real_fd > 0);
++ GNUNET_assert (real_fd >= 0);
+ return add_without_sets (
+ delay, priority,
+ on_read ? real_fd : -1,
diff --git a/gnu/packages/patches/gnunet-fix-tests.patch b/gnu/packages/patches/gnunet-fix-tests.patch
new file mode 100644
index 0000000..1957b17
--- /dev/null
+++ b/gnu/packages/patches/gnunet-fix-tests.patch
@@ -0,0 +1,46 @@
+diff -ru a/src/peerinfo-tool/Makefile.in b/src/peerinfo-tool/Makefile.in
+--- src/peerinfo-tool/Makefile.in 2013-12-24 13:55:04.000000000 +0100
++++ src/peerinfo-tool/Makefile.in 2014-01-30 13:07:52.275965484 +0100
+@@ -335,9 +335,6 @@
+ $(top_builddir)/src/statistics/libgnunetstatistics.la \
+ $(top_builddir)/src/util/libgnunetutil.la
+
+-@HAVE_PYTHON_TRUE@check_SCRIPTS = \
+-@HAVE_PYTHON_TRUE@ test_gnunet_peerinfo.py
+-
+ @ENABLE_TEST_RUN_TRUE@TESTS = $(check_SCRIPTS)
+ do_subst = $(SED) -e 's,[@]PYTHON[@],$(PYTHON),g'
+ EXTRA_DIST = \
+diff -ru a/src/revocation/test_revocation.conf b/src/revocation/test_revocation.conf
+--- src/revocation/test_revocation.conf 2013-12-21 18:57:06.000000000 +0100
++++ src/revocation/test_revocation.conf 2014-01-30 15:00:02.841340556 +0100
+@@ -20,6 +20,9 @@
+ [transport-udp]
+ BROADCAST = NO
+
++[nat]
++RETURN_LOCAL_ADDRESSES = YES
++
+ [peerinfo]
+ USE_INCLUDED_HELLOS = NO
+
+Index: src/gns/test_gns_cname_lookup.sh
+===================================================================
+--- src/gns/test_gns_cname_lookup.sh (revision 32117)
++++ src/gns/test_gns_cname_lookup.sh (revision 32118)
+@@ -13,6 +13,15 @@
+ exit 77
+ fi
+
++# permissive DNS resolver we will use for the test
++DNS_RESOLVER="8.8.8.8"
++if ! nslookup gnunet.org $DNS_RESOLVER &> /dev/null
++then
++ echo "Cannot reach DNS, skipping test"
++ exit 77
++fi
++
++
+ rm -rf /tmp/test-gnunet-gns-peer-1/
+
+ TEST_DOMAIN_PLUS="www.gnu"
--
1.7.10.4
^ permalink raw reply related [flat|nested] 63+ messages in thread
* Re: [PATCH 1/2] gnu: gnunet: Remove Gstreamer dependency.
2014-01-30 16:37 ` [PATCH 1/2] gnu: gnunet: Remove Gstreamer dependency Sree Harsha Totakura
2014-01-30 16:37 ` [PATCH 2/2] gnu: gnunet: Add gnunet-0.10.0 Sree Harsha Totakura
@ 2014-02-10 22:04 ` Ludovic Courtès
1 sibling, 0 replies; 63+ messages in thread
From: Ludovic Courtès @ 2014-02-10 22:04 UTC (permalink / raw)
To: Sree Harsha Totakura; +Cc: guix-devel
I’ve reported the bug at
<https://bugzilla.gnome.org/show_bug.cgi?id=724073> and temporarily
disabled tests in the meantime.
Ludo’.
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-01-30 16:36 Gnunet-0.10.0 recipe Sree Harsha Totakura
2014-01-30 16:37 ` [PATCH 1/2] gnu: gnunet: Remove Gstreamer dependency Sree Harsha Totakura
@ 2014-01-30 22:39 ` Andreas Enge
2014-01-30 22:56 ` Sree Harsha Totakura
1 sibling, 1 reply; 63+ messages in thread
From: Andreas Enge @ 2014-01-30 22:39 UTC (permalink / raw)
To: Sree Harsha Totakura; +Cc: guix-devel
Hello,
On Thu, Jan 30, 2014 at 05:36:03PM +0100, Sree Harsha Totakura wrote:
> Here is the much awaited recipe for GNUnet. The patches follow this email.
excellent! I also worked on gnunet and think my handling of phases is
a bit simpler and clearer:
(arguments
`(#:phases
;; swap check and install phases and set paths to installed binaries
(alist-cons-before
'check 'set-path-for-check
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "GNUNET_PREFIX" out)
(setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))))
(alist-cons-after
'install 'check
(assoc-ref %standard-phases 'check)
(alist-delete
'check
%standard-phases)))))
(where the 'set-path-for-check phase will be made obsolete by the recent
gnunet modification I suggested in its bug tracker).
We have slightly different inputs; what is opus needed for? Apart from that,
I have additional inputs:
("libmicrohttpd" ,libmicrohttpd)
("openssl" ,openssl) ; needed for some tests creating TLS certificates
Maybe openssl is a remainder from an earlier gnunet version and not needed/
used anymore?
Andreas
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-01-30 22:39 ` Gnunet-0.10.0 recipe Andreas Enge
@ 2014-01-30 22:56 ` Sree Harsha Totakura
2014-01-30 23:33 ` Sree Harsha Totakura
2014-01-31 16:05 ` Ludovic Courtès
0 siblings, 2 replies; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-01-30 22:56 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel
On 01/30/2014 11:39 PM, Andreas Enge wrote:
> On Thu, Jan 30, 2014 at 05:36:03PM +0100, Sree Harsha Totakura wrote:
>> > Here is the much awaited recipe for GNUnet. The patches follow this email.
> excellent! I also worked on gnunet and think my handling of phases is
> a bit simpler and clearer:
>
> (arguments
> `(#:phases
> ;; swap check and install phases and set paths to installed binaries
> (alist-cons-before
> 'check 'set-path-for-check
> (lambda* (#:key outputs #:allow-other-keys)
> (let ((out (assoc-ref outputs "out")))
> (setenv "GNUNET_PREFIX" out)
> (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))))
> (alist-cons-after
> 'install 'check
> (assoc-ref %standard-phases 'check)
> (alist-delete
> 'check
> %standard-phases)))))
>
Yes, this looks better, perhaps Ludo can replace the relevant part with
this.
> (where the 'set-path-for-check phase will be made obsolete by the recent
> gnunet modification I suggested in its bug tracker).
Yes, this will be made obsolete.
>
> We have slightly different inputs; what is opus needed for? Apart from that,
We now have a new voice-chat service called conversation. Opus is the
audio codec it requires, hence the new dependency.
> I have additional inputs:
> ("libmicrohttpd" ,libmicrohttpd)
> ("openssl" ,openssl) ; needed for some tests creating TLS certificates
>
> Maybe openssl is a remainder from an earlier gnunet version and not needed/
> used anymore?
The README mentions openssl as a requirement; I forgot to add it.
Perhaps the build didn't build relevant parts or testcases.
I shall try adding the openssl dependency and see how it goes.
Sree
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-01-30 22:56 ` Sree Harsha Totakura
@ 2014-01-30 23:33 ` Sree Harsha Totakura
2014-01-30 23:33 ` [PATCH] gnu: gnunet: Add GNUnet-0.10.0 Sree Harsha Totakura
2014-01-31 8:54 ` Gnunet-0.10.0 recipe Andreas Enge
2014-01-31 16:05 ` Ludovic Courtès
1 sibling, 2 replies; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-01-30 23:33 UTC (permalink / raw)
To: guix-devel
Here's the new patch with Andreas' changes and Openssl included as a
dependency.
Sree
On 01/30/2014 11:56 PM, Sree Harsha Totakura wrote:
> Yes, this looks better, perhaps Ludo can replace the relevant part with
> this.
>
>> > (where the 'set-path-for-check phase will be made obsolete by the recent
>> > gnunet modification I suggested in its bug tracker).
> Yes, this will be made obsolete.
>
>> >
>> > We have slightly different inputs; what is opus needed for? Apart from that,
> We now have a new voice-chat service called conversation. Opus is the
> audio codec it requires, hence the new dependency.
>
>> > I have additional inputs:
>> > ("libmicrohttpd" ,libmicrohttpd)
>> > ("openssl" ,openssl) ; needed for some tests creating TLS certificates
>> >
>> > Maybe openssl is a remainder from an earlier gnunet version and not needed/
>> > used anymore?
> The README mentions openssl as a requirement; I forgot to add it.
> Perhaps the build didn't build relevant parts or testcases.
>
> I shall try adding the openssl dependency and see how it goes.
^ permalink raw reply [flat|nested] 63+ messages in thread
* [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
2014-01-30 23:33 ` Sree Harsha Totakura
@ 2014-01-30 23:33 ` Sree Harsha Totakura
2014-01-31 16:17 ` Mark H Weaver
2014-02-10 22:15 ` Ludovic Courtès
2014-01-31 8:54 ` Gnunet-0.10.0 recipe Andreas Enge
1 sibling, 2 replies; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-01-30 23:33 UTC (permalink / raw)
To: guix-devel
* gnunet/packages/gnunet.scm (gnunet): New variable.
* gnu/package/patches/gnunet-fix-scheduler.patch: New file.
* gnu/package/patches/gnunet-fix-tests.patch: New file.
* gnu-system.am (dist_patch_DATA): Add the above two patch files.
Co-authored-by: Andreas Enge <andreas@enge.fr>
---
gnu-system.am | 2 +
gnu/packages/gnunet.scm | 69 +++++++++++++++++++++++
gnu/packages/patches/gnunet-fix-scheduler.patch | 13 +++++
gnu/packages/patches/gnunet-fix-tests.patch | 46 +++++++++++++++
4 files changed, 130 insertions(+)
create mode 100644 gnu/packages/patches/gnunet-fix-scheduler.patch
create mode 100644 gnu/packages/patches/gnunet-fix-tests.patch
diff --git a/gnu-system.am b/gnu-system.am
index 1f7327e..da35ad0 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -255,6 +255,8 @@ dist_patch_DATA = \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-ldd-x86_64.patch \
gnu/packages/patches/glibc-make-4.0.patch \
+ gnu/packages/patches/gnunet-fix-scheduler.patch \
+ gnu/packages/patches/gnunet-fix-tests.patch \
gnu/packages/patches/gobject-introspection-cc.patch \
gnu/packages/patches/grub-gets-undeclared.patch \
gnu/packages/patches/gstreamer-0.10-bison3.patch \
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 4a50fd7..887b3d0 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -17,6 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gnunet)
+ #:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@@ -30,10 +31,14 @@
#:use-module (gnu packages libidn)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages libtiff)
+ #:use-module (gnu packages libunistring)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages openssl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
#:use-module ((guix licenses)
@@ -185,3 +190,67 @@ supports HTTPS, HTTPS and GnuTLS.")
(license (license:bsd-style "file://COPYING"
"See COPYING in the distribution."))
(home-page "https://gnunet.org/gnurl")))
+
+(define-public gnunet
+ (package
+ (name "gnunet")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gnunet/gnunet-" version
+ ".tar.gz"))
+ (sha256 (base32
+ "0zqpc47kywhjrpphl0palz849khv00ra2gjrfkysp6p0gfsbvd0i"))
+ (patches
+ (list
+ ;; Patch to fix serious bug in scheduler; upstream commit: #31747
+ (search-patch "gnunet-fix-scheduler.patch")
+ ;; Patch to fix bugs in testcases:
+ ;; * Disable peerinfo-tool tests as they depend on reverse DNS lookups
+ ;; * Allow revocation testcase to run on loopback; upstream: #32130
+ ;; * Skip GNS testcases requiring DNS lookups; upstream: #32118
+ (search-patch "gnunet-fix-tests.patch")))
+ (patch-flags '("-p0"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gnutls" ,gnutls)
+ ("glpk" ,glpk)
+ ("libextractor" ,libextractor)
+ ("libgcrypt" ,libgcrypt)
+ ("gnurl" ,gnurl)
+ ("libidn" ,libidn)
+ ("openssl" ,openssl)
+ ("opus" ,opus)
+ ("libtool" ,libtool)
+ ("libunistring" ,libunistring)
+ ("pulseaudio", pulseaudio)
+ ("sqlite" ,sqlite)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python" ,python-2)))
+ (arguments
+ '(#:phases
+ ;; swap check and install phases and set paths to installed binaries
+ (alist-cons-before
+ 'check 'set-path-for-check
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "GNUNET_PREFIX" out)
+ (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))))
+ (alist-cons-after
+ 'install 'check
+ (assoc-ref %standard-phases 'check)
+ (alist-delete
+ 'check
+ %standard-phases)))))
+ (synopsis "Anonymous peer-to-peer file-sharing framework")
+ (description
+ "GNUnet is a framework for secure, peer-to-peer networking. It works in a
+decentralized manner and does not rely on any notion of trusted services. One
+service implemented on it is censorship-resistant file-sharing. Communication
+is encrypted and anonymity is provided by making messages originating from a
+peer indistinguishable from those that the peer is routing.")
+ (license license:gpl3+)
+ (home-page "https://gnunet.org/")))
diff --git a/gnu/packages/patches/gnunet-fix-scheduler.patch b/gnu/packages/patches/gnunet-fix-scheduler.patch
new file mode 100644
index 0000000..1e0aef2
--- /dev/null
+++ b/gnu/packages/patches/gnunet-fix-scheduler.patch
@@ -0,0 +1,13 @@
+Index: src/util/scheduler.c
+===================================================================
+--- src/util/scheduler.c (revision 31745)
++++ src/util/scheduler.c (working copy)
+@@ -1599,7 +1599,7 @@
+ int real_fd;
+
+ GNUNET_DISK_internal_file_handle_ (fd, &real_fd, sizeof (int));
+- GNUNET_assert (real_fd > 0);
++ GNUNET_assert (real_fd >= 0);
+ return add_without_sets (
+ delay, priority,
+ on_read ? real_fd : -1,
diff --git a/gnu/packages/patches/gnunet-fix-tests.patch b/gnu/packages/patches/gnunet-fix-tests.patch
new file mode 100644
index 0000000..1957b17
--- /dev/null
+++ b/gnu/packages/patches/gnunet-fix-tests.patch
@@ -0,0 +1,46 @@
+diff -ru a/src/peerinfo-tool/Makefile.in b/src/peerinfo-tool/Makefile.in
+--- src/peerinfo-tool/Makefile.in 2013-12-24 13:55:04.000000000 +0100
++++ src/peerinfo-tool/Makefile.in 2014-01-30 13:07:52.275965484 +0100
+@@ -335,9 +335,6 @@
+ $(top_builddir)/src/statistics/libgnunetstatistics.la \
+ $(top_builddir)/src/util/libgnunetutil.la
+
+-@HAVE_PYTHON_TRUE@check_SCRIPTS = \
+-@HAVE_PYTHON_TRUE@ test_gnunet_peerinfo.py
+-
+ @ENABLE_TEST_RUN_TRUE@TESTS = $(check_SCRIPTS)
+ do_subst = $(SED) -e 's,[@]PYTHON[@],$(PYTHON),g'
+ EXTRA_DIST = \
+diff -ru a/src/revocation/test_revocation.conf b/src/revocation/test_revocation.conf
+--- src/revocation/test_revocation.conf 2013-12-21 18:57:06.000000000 +0100
++++ src/revocation/test_revocation.conf 2014-01-30 15:00:02.841340556 +0100
+@@ -20,6 +20,9 @@
+ [transport-udp]
+ BROADCAST = NO
+
++[nat]
++RETURN_LOCAL_ADDRESSES = YES
++
+ [peerinfo]
+ USE_INCLUDED_HELLOS = NO
+
+Index: src/gns/test_gns_cname_lookup.sh
+===================================================================
+--- src/gns/test_gns_cname_lookup.sh (revision 32117)
++++ src/gns/test_gns_cname_lookup.sh (revision 32118)
+@@ -13,6 +13,15 @@
+ exit 77
+ fi
+
++# permissive DNS resolver we will use for the test
++DNS_RESOLVER="8.8.8.8"
++if ! nslookup gnunet.org $DNS_RESOLVER &> /dev/null
++then
++ echo "Cannot reach DNS, skipping test"
++ exit 77
++fi
++
++
+ rm -rf /tmp/test-gnunet-gns-peer-1/
+
+ TEST_DOMAIN_PLUS="www.gnu"
--
1.7.10.4
^ permalink raw reply related [flat|nested] 63+ messages in thread
* Re: [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
2014-01-30 23:33 ` [PATCH] gnu: gnunet: Add GNUnet-0.10.0 Sree Harsha Totakura
@ 2014-01-31 16:17 ` Mark H Weaver
2014-02-02 18:28 ` Ludovic Courtès
2014-02-10 22:15 ` Ludovic Courtès
1 sibling, 1 reply; 63+ messages in thread
From: Mark H Weaver @ 2014-01-31 16:17 UTC (permalink / raw)
To: Sree Harsha Totakura; +Cc: guix-devel
Hi,
Sree Harsha Totakura <sreeharsha@totakura.in> writes:
> + '(#:phases
> + ;; swap check and install phases and set paths to installed binaries
> + (alist-cons-before
> + 'check 'set-path-for-check
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let ((out (assoc-ref outputs "out")))
> + (setenv "GNUNET_PREFIX" out)
> + (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))))
> + (alist-cons-after
> + 'install 'check
> + (assoc-ref %standard-phases 'check)
> + (alist-delete
> + 'check
> + %standard-phases)))))
The indentation of this part (authored by Andreas) is misleading. It
looks as though the calls to 'alist-*' are sibling expressions, when in
fact they are nested within each other. I suspect this was intentional,
but IMO it's a bad idea to play such games with indentation. I think it
should be like this:
--8<---------------cut here---------------start------------->8---
'(#:phases
;; swap check and install phases and set paths to installed binaries
(alist-cons-before
'check 'set-path-for-check
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "GNUNET_PREFIX" out)
(setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))))
(alist-cons-after
'install 'check
(assoc-ref %standard-phases 'check)
(alist-delete
'check
%standard-phases)))))
--8<---------------cut here---------------end--------------->8---
What do you think?
Mark
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
2014-01-30 23:33 ` [PATCH] gnu: gnunet: Add GNUnet-0.10.0 Sree Harsha Totakura
2014-01-31 16:17 ` Mark H Weaver
@ 2014-02-10 22:15 ` Ludovic Courtès
2014-02-10 22:33 ` Andreas Enge
1 sibling, 1 reply; 63+ messages in thread
From: Ludovic Courtès @ 2014-02-10 22:15 UTC (permalink / raw)
To: Sree Harsha Totakura; +Cc: guix-devel
Sree Harsha Totakura <sreeharsha@totakura.in> skribis:
> * gnunet/packages/gnunet.scm (gnunet): New variable.
> * gnu/package/patches/gnunet-fix-scheduler.patch: New file.
> * gnu/package/patches/gnunet-fix-tests.patch: New file.
> * gnu-system.am (dist_patch_DATA): Add the above two patch files.
>
> Co-authored-by: Andreas Enge <andreas@enge.fr>
Applied.
However, gnurl fails to build for me:
--8<---------------cut here---------------start------------->8---
TESTDONE: 365 tests out of 366 reported OK: 99%
TESTFAIL: These test cases failed: 172
TESTDONE: 911 tests were considered during 140 seconds.
Makefile:723: recipe for target 'quiet-test' failed
make[1]: *** [quiet-test] Error 1
make[1]: Leaving directory '/tmp/nix-build-gnurl-7.34.0.drv-0/gnurl-7.34.0/tests'
Makefile:1069: recipe for target 'test' failed
--8<---------------cut here---------------end--------------->8---
Ideas?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
2014-02-10 22:15 ` Ludovic Courtès
@ 2014-02-10 22:33 ` Andreas Enge
2014-02-11 8:05 ` Ludovic Courtès
2014-02-11 10:05 ` Sree Harsha Totakura
0 siblings, 2 replies; 63+ messages in thread
From: Andreas Enge @ 2014-02-10 22:33 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
Hello,
On Mon, Feb 10, 2014 at 11:15:30PM +0100, Ludovic Courtès wrote:
> Sree Harsha Totakura <sreeharsha@totakura.in> skribis:
>
> > * gnunet/packages/gnunet.scm (gnunet): New variable.
> > * gnu/package/patches/gnunet-fix-scheduler.patch: New file.
> > * gnu/package/patches/gnunet-fix-tests.patch: New file.
> > * gnu-system.am (dist_patch_DATA): Add the above two patch files.
> >
> > Co-authored-by: Andreas Enge <andreas@enge.fr>
>
> Applied.
>
> However, gnurl fails to build for me:
see my message from February 5:
https://lists.gnu.org/archive/html/guix-devel/2014-02/msg00057.html
To summarise, I do not know what happens.
Please do not push the patch yet, as said in that message, I have the patch
in a branch with a few small modifications.
Andreas
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
2014-02-10 22:33 ` Andreas Enge
@ 2014-02-11 8:05 ` Ludovic Courtès
2014-02-11 8:25 ` Andreas Enge
2014-02-11 10:05 ` Sree Harsha Totakura
1 sibling, 1 reply; 63+ messages in thread
From: Ludovic Courtès @ 2014-02-11 8:05 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel
Hi,
Andreas Enge <andreas@enge.fr> skribis:
> On Mon, Feb 10, 2014 at 11:15:30PM +0100, Ludovic Courtès wrote:
>> Sree Harsha Totakura <sreeharsha@totakura.in> skribis:
>>
>> > * gnunet/packages/gnunet.scm (gnunet): New variable.
>> > * gnu/package/patches/gnunet-fix-scheduler.patch: New file.
>> > * gnu/package/patches/gnunet-fix-tests.patch: New file.
>> > * gnu-system.am (dist_patch_DATA): Add the above two patch files.
>> >
>> > Co-authored-by: Andreas Enge <andreas@enge.fr>
>>
>> Applied.
>>
>> However, gnurl fails to build for me:
>
> see my message from February 5:
> https://lists.gnu.org/archive/html/guix-devel/2014-02/msg00057.html
> To summarise, I do not know what happens.
Indeed.
> Please do not push the patch yet, as said in that message, I have the patch
> in a branch with a few small modifications.
Oh, sorry about that. The thread looked stalled, so I thought I had
just forgotten to apply the patch.
Well, let’s see how we can fix things from here.
Apologies, and thanks for the heads-up.
Ludo’.
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
2014-02-11 8:05 ` Ludovic Courtès
@ 2014-02-11 8:25 ` Andreas Enge
2014-02-11 14:11 ` Andreas Enge
0 siblings, 1 reply; 63+ messages in thread
From: Andreas Enge @ 2014-02-11 8:25 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
Hello,
On Tue, Feb 11, 2014 at 09:05:31AM +0100, Ludovic Courtès wrote:
> Well, let’s see how we can fix things from here.
finally, this was not such a big problem, I had just added libmicrohttpd
and done a bit of reformatting following Mark's suggestions (which you
have also done independently).
I could try to update curl and see whether the test problem still occurs.
It is a mystery to me how the problem occurred at the same time in curl
and gnurl when essentially we had not changed anything...
Andreas
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
2014-02-11 8:25 ` Andreas Enge
@ 2014-02-11 14:11 ` Andreas Enge
0 siblings, 0 replies; 63+ messages in thread
From: Andreas Enge @ 2014-02-11 14:11 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On Tue, Feb 11, 2014 at 09:25:37AM +0100, Andreas Enge wrote:
> I could try to update curl and see whether the test problem still occurs.
Things are worse with curl 7.35.0 (which requires python for at least one
of its tests): Test 172 still fails, and additionally, 1221 and 1222 fail.
So a patch for 172 will be required in any case.
Andreas
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
2014-02-10 22:33 ` Andreas Enge
2014-02-11 8:05 ` Ludovic Courtès
@ 2014-02-11 10:05 ` Sree Harsha Totakura
2014-02-11 10:10 ` Andreas Enge
2014-02-11 18:17 ` [PATCH] gnu: curl, gnurl: Fix failing testcase 172 Sree Harsha Totakura
1 sibling, 2 replies; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-02-11 10:05 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel
Hi!
On 02/10/2014 11:33 PM, Andreas Enge wrote:
> see my message from February 5:
> https://lists.gnu.org/archive/html/guix-devel/2014-02/msg00057.html
>
>
To summarise, I do not know what happens.
The testcase 172 tests cookies whose expiration value is hard-coded to
1391252187, which is Feb 1, 2014. Hence, the testcase is failing for a
week :)
I will come up with a patch soon.
Regards,
Sree
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
2014-02-11 10:05 ` Sree Harsha Totakura
@ 2014-02-11 10:10 ` Andreas Enge
2014-02-11 10:47 ` Ludovic Courtès
2014-02-11 18:17 ` [PATCH] gnu: curl, gnurl: Fix failing testcase 172 Sree Harsha Totakura
1 sibling, 1 reply; 63+ messages in thread
From: Andreas Enge @ 2014-02-11 10:10 UTC (permalink / raw)
To: Sree Harsha Totakura; +Cc: guix-devel
On Tue, Feb 11, 2014 at 11:05:28AM +0100, Sree Harsha Totakura wrote:
> The testcase 172 tests cookies whose expiration value is hard-coded to
> 1391252187, which is Feb 1, 2014. Hence, the testcase is failing for a
> week :)
Totally crazy!
Andreas
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
2014-02-11 10:10 ` Andreas Enge
@ 2014-02-11 10:47 ` Ludovic Courtès
0 siblings, 0 replies; 63+ messages in thread
From: Ludovic Courtès @ 2014-02-11 10:47 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel
Andreas Enge <andreas@enge.fr> skribis:
> On Tue, Feb 11, 2014 at 11:05:28AM +0100, Sree Harsha Totakura wrote:
>> The testcase 172 tests cookies whose expiration value is hard-coded to
>> 1391252187, which is Feb 1, 2014. Hence, the testcase is failing for a
>> week :)
>
> Totally crazy!
In people’s mind, Feb. 2014 is so futuristic. :-)
Ludo’.
^ permalink raw reply [flat|nested] 63+ messages in thread
* [PATCH] gnu: curl, gnurl: Fix failing testcase 172.
2014-02-11 10:05 ` Sree Harsha Totakura
2014-02-11 10:10 ` Andreas Enge
@ 2014-02-11 18:17 ` Sree Harsha Totakura
2014-02-11 19:00 ` Andreas Enge
1 sibling, 1 reply; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-02-11 18:17 UTC (permalink / raw)
To: guix-devel
* gnu/packages/patches/curl-fix-test172.patch: New file.
* gnu-system.am (dist_patch_DATA): Add the patch file.
* gnu/packages/gnunet.scm (gnurl): Apply the patch file.
* gnu/packages/curl.scm (curl): Apply the patch file.
---
gnu-system.am | 1 +
gnu/packages/curl.scm | 7 ++++++-
gnu/packages/gnunet.scm | 5 ++++-
gnu/packages/patches/curl-fix-test172.patch | 13 +++++++++++++
4 files changed, 24 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/curl-fix-test172.patch
diff --git a/gnu-system.am b/gnu-system.am
index 3e9108c..8229cf0 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -242,6 +242,7 @@ dist_patch_DATA = \
gnu/packages/patches/cdparanoia-fpic.patch \
gnu/packages/patches/cmake-fix-tests.patch \
gnu/packages/patches/cpio-gets-undeclared.patch \
+ gnu/packages/patches/curl-fix-test172.patch \
gnu/packages/patches/dbus-localstatedir.patch \
gnu/packages/patches/diffutils-gets-undeclared.patch \
gnu/packages/patches/dmd-getpw.patch \
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 7072ed3..a9bfa76 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -22,6 +22,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages gnutls)
#:use-module (gnu packages groff)
@@ -42,7 +43,11 @@
version ".tar.lzma"))
(sha256
(base32
- "13bhfs41yf60ys2hrikqxjwfzaj0gm91kqzsgc5fr4grzmpm38nx"))))
+ "13bhfs41yf60ys2hrikqxjwfzaj0gm91kqzsgc5fr4grzmpm38nx"))
+ (patches
+ ;; This patch fixes testcase 172 which uses a hardcoded cookie
+ ;; expiration value which is expired as of Feb 1, 2014.
+ (list (search-patch "curl-fix-test172.patch")))))
(build-system gnu-build-system)
(inputs `(("gnutls" ,gnutls)
("gss" ,gss)
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 1529f96..f3448a7 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -144,7 +144,10 @@ and support for SSL3 and TLS.")
version ".tar.bz2"))
(sha256
(base32
- "0kpi9wx9lg938b982smjg54acdwswdshs2bzf10sj5r6zmb05ygp"))))
+ "0kpi9wx9lg938b982smjg54acdwswdshs2bzf10sj5r6zmb05ygp"))
+ ;; This patch fixes testcase 172 which uses a hardcoded cookie
+ ;; expiration value which is expired as of Feb 1, 2014.
+ (patches (list (search-patch "curl-fix-test172.patch")))))
(build-system gnu-build-system)
(inputs `(("gnutls" ,gnutls)
("libidn" ,libidn)
diff --git a/gnu/packages/patches/curl-fix-test172.patch b/gnu/packages/patches/curl-fix-test172.patch
new file mode 100644
index 0000000..8f1637f
--- /dev/null
+++ b/gnu/packages/patches/curl-fix-test172.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/data/test172 b/tests/data/test172
+index b3efae9..3d53418 100644
+--- a/tests/data/test172
++++ b/tests/data/test172
+@@ -36,7 +36,7 @@ http://%HOSTIP:%HTTPPORT/we/want/172 -b log/jar172.txt -b "tool=curl; name=fool"
+
+ .%HOSTIP TRUE /silly/ FALSE 0 ismatch this
+ .%HOSTIP TRUE / FALSE 0 partmatch present
+-%HOSTIP FALSE /we/want/ FALSE 1391252187 nodomain value
++%HOSTIP FALSE /we/want/ FALSE 2139150993 nodomain value
+ </file>
+ </client>
+
--
1.7.10.4
^ permalink raw reply related [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-01-30 23:33 ` Sree Harsha Totakura
2014-01-30 23:33 ` [PATCH] gnu: gnunet: Add GNUnet-0.10.0 Sree Harsha Totakura
@ 2014-01-31 8:54 ` Andreas Enge
2014-02-03 22:17 ` Andreas Enge
1 sibling, 1 reply; 63+ messages in thread
From: Andreas Enge @ 2014-01-31 8:54 UTC (permalink / raw)
To: Sree Harsha Totakura; +Cc: guix-devel
On Fri, Jan 31, 2014 at 12:33:20AM +0100, Sree Harsha Totakura wrote:
> Here's the new patch with Andreas' changes and Openssl included as a
> dependency.
Thanks, I will have a look later.
Andreas
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-01-31 8:54 ` Gnunet-0.10.0 recipe Andreas Enge
@ 2014-02-03 22:17 ` Andreas Enge
2014-02-03 23:00 ` Ludovic Courtès
2014-02-04 0:18 ` Gnunet-0.10.0 recipe Sree Harsha Totakura
0 siblings, 2 replies; 63+ messages in thread
From: Andreas Enge @ 2014-02-03 22:17 UTC (permalink / raw)
To: Sree Harsha Totakura; +Cc: guix-devel
On Fri, Jan 31, 2014 at 09:54:04AM +0100, Andreas Enge wrote:
> On Fri, Jan 31, 2014 at 12:33:20AM +0100, Sree Harsha Totakura wrote:
> > Here's the new patch with Andreas' changes and Openssl included as a
> > dependency.
> Thanks, I will have a look later.
Finally I made it. For checking purposes, I disabled gstreamer and
gst-plugins-base in libextractor. gnunet built without problems and passed
all its tests - congratulations!
Just one last question: Is there a reason you did not add libmicrohttpd as
an input? Or should I add it again?
The "official" description printed with "make sync-descriptions" is different,
but in fact adds only this sentence:
The package includes gnunet-gtk, which provides a GTK+ graphical user
interface to the GNUnet service.
I think here the official description should be changed. First of all,
what is "the package"? And as far as I can tell, gnunet-gtk would be a
distinct package.
Andreas
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-02-03 22:17 ` Andreas Enge
@ 2014-02-03 23:00 ` Ludovic Courtès
2014-02-05 17:27 ` Andreas Enge
2014-02-04 0:18 ` Gnunet-0.10.0 recipe Sree Harsha Totakura
1 sibling, 1 reply; 63+ messages in thread
From: Ludovic Courtès @ 2014-02-03 23:00 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel
Andreas Enge <andreas@enge.fr> skribis:
> The "official" description printed with "make sync-descriptions" is different,
> but in fact adds only this sentence:
> The package includes gnunet-gtk, which provides a GTK+ graphical user
> interface to the GNUnet service.
> I think here the official description should be changed. First of all,
> what is "the package"? And as far as I can tell, gnunet-gtk would be a
> distinct package.
Right.
For the record, patches for pkgblurbs.txt (the file containing those
descriptions in GNU Womb) should go to bug-womb@gnu.org.
Ludo’.
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-02-03 23:00 ` Ludovic Courtès
@ 2014-02-05 17:27 ` Andreas Enge
2014-02-11 20:49 ` Andreas Enge
0 siblings, 1 reply; 63+ messages in thread
From: Andreas Enge @ 2014-02-05 17:27 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On Tue, Feb 04, 2014 at 12:00:39AM +0100, Ludovic Courtès wrote:
> For the record, patches for pkgblurbs.txt (the file containing those
> descriptions in GNU Womb) should go to bug-womb@gnu.org.
Good to know. I could submit a small patch concerning this last sentence,
but as the gnunet developers wish to make more changes, I will let them
do so.
Currently, I cannot compile gnunet because the input gnurl fails with:
TESTFAIL: These test cases failed: 172
The same holds for recent builds of curl, see
http://hydra.gnu.org/build/37634
If someone more knowledgeable could look into this, it would be very helpful.
If one can believe hydra, then Commit 2a72eee still worked, and adding
inkscape broke everything. Quite unbelievable indeed.
Meanwhile, I am holding the gnunet patch back.
Andreas
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-02-05 17:27 ` Andreas Enge
@ 2014-02-11 20:49 ` Andreas Enge
2014-02-11 22:17 ` Sree Harsha Totakura
0 siblings, 1 reply; 63+ messages in thread
From: Andreas Enge @ 2014-02-11 20:49 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
Gnunet fails its tests on my system with:
...
PASS: test_quota_compliance_http_asymmetric
Feb 11 20:42:17-420543 test_quota_compliance_https-18107 ERROR Peers got NOT connected
FAIL: test_quota_compliance_https
Feb 11 20:44:17-446106 test_quota_compliance_https_asymmetric-18138 ERROR Peers got NOT connected
FAIL: test_quota_compliance_https_asymmetric
===================================
5 of 56 tests failed
(So apparently, I missed four failures in the output...) Sree, does it pass
all tests on your machine? We will also see what happens on hydra once it
catches up.
Andreas
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-02-11 20:49 ` Andreas Enge
@ 2014-02-11 22:17 ` Sree Harsha Totakura
2014-02-12 15:15 ` (unknown), Sree Harsha Totakura
0 siblings, 1 reply; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-02-11 22:17 UTC (permalink / raw)
To: guix-devel
On 02/11/2014 09:49 PM, Andreas Enge wrote:
> PASS: test_quota_compliance_http_asymmetric
> Feb 11 20:42:17-420543 test_quota_compliance_https-18107 ERROR Peers got NOT connected
> FAIL: test_quota_compliance_https
> Feb 11 20:44:17-446106 test_quota_compliance_https_asymmetric-18138 ERROR Peers got NOT connected
> FAIL: test_quota_compliance_https_asymmetric
> ===================================
> 5 of 56 tests failed
>
> (So apparently, I missed four failures in the output...) Sree, does it pass
> all tests on your machine? We will also see what happens on hydra once it
> catches up.
The same tests fail for me. I guess these tests were not enabled
earlier when libmicrohttpd was not added to the inputs.
Sree
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown),
2014-02-11 22:17 ` Sree Harsha Totakura
@ 2014-02-12 15:15 ` Sree Harsha Totakura
2014-02-12 15:15 ` [PATCH] gnu: gnunet: Fix failing testcases Sree Harsha Totakura
2014-02-12 17:36 ` none Ludovic Courtès
0 siblings, 2 replies; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-02-12 15:15 UTC (permalink / raw)
To: guix-devel
The reason why the transport tests are failing is that gnurl is not being
built with HTTPS protocol support and these tests expect gnurl to have those.
The HTTPS support was not built into gnurl because pkg-config was not
available as native inputs during configure time.
This patch fixes the above problem and also appends an existing patch to fix
testcases to run them on local interfaces.
-
Sree
^ permalink raw reply [flat|nested] 63+ messages in thread
* [PATCH] gnu: gnunet: Fix failing testcases.
2014-02-12 15:15 ` (unknown), Sree Harsha Totakura
@ 2014-02-12 15:15 ` Sree Harsha Totakura
2014-02-12 17:37 ` Ludovic Courtès
2014-02-12 17:36 ` none Ludovic Courtès
1 sibling, 1 reply; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-02-12 15:15 UTC (permalink / raw)
To: guix-devel
* gnu/packages/gnunet.scm (gnurl): Add pkg-config.
* gnu/packages/patches/gnunet-fix-tests.patch: Append fix for integration testcases.
---
gnu/packages/gnunet.scm | 8 +++++---
gnu/packages/patches/gnunet-fix-tests.patch | 12 ++++++++++++
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index f3448a7..960a5d7 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -153,8 +153,9 @@ and support for SSL3 and TLS.")
("libidn" ,libidn)
("zlib" ,zlib)))
(native-inputs
- `(("perl" ,perl)
- ("groff" ,groff)
+ `(("groff" ,groff)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
("python" ,python-2)))
(arguments
`(#:configure-flags '("--enable-ipv6" "--with-gnutls" "--without-libssh2"
@@ -211,7 +212,8 @@ supports HTTPS, HTTPS and GnuTLS.")
(search-patch "gnunet-fix-scheduler.patch")
;; Patch to fix bugs in testcases:
;; * Disable peerinfo-tool tests as they depend on reverse DNS lookups
- ;; * Allow revocation testcase to run on loopback; upstream: #32130
+ ;; * Allow revocation and integration-tests testcases to run on
+ ;; loopback; upstream: #32130, #32326
;; * Skip GNS testcases requiring DNS lookups; upstream: #32118
(search-patch "gnunet-fix-tests.patch")))
(patch-flags '("-p0"))))
diff --git a/gnu/packages/patches/gnunet-fix-tests.patch b/gnu/packages/patches/gnunet-fix-tests.patch
index 1957b17..4276db5 100644
--- a/gnu/packages/patches/gnunet-fix-tests.patch
+++ b/gnu/packages/patches/gnunet-fix-tests.patch
@@ -44,3 +44,15 @@ Index: src/gns/test_gns_cname_lookup.sh
rm -rf /tmp/test-gnunet-gns-peer-1/
TEST_DOMAIN_PLUS="www.gnu"
+Index: src/integration-tests/confs/test_defaults.conf
+===================================================================
+--- src/integration-tests/confs/test_defaults.conf (revision 32320)
++++ src/integration-tests/confs/test_defaults.conf (working copy)
+@@ -17,6 +17,7 @@
+ EXTERNAL_ADDRESS = 127.0.0.1
+ INTERNAL_ADDRESS = 127.0.0.1
+ BINDTO = 127.0.0.1
++RETURN_LOCAL_ADDRESSES = YES
+
+ [hostlist]
+ SERVERS =
--
1.7.10.4
^ permalink raw reply related [flat|nested] 63+ messages in thread
* Re: none
2014-02-12 15:15 ` (unknown), Sree Harsha Totakura
2014-02-12 15:15 ` [PATCH] gnu: gnunet: Fix failing testcases Sree Harsha Totakura
@ 2014-02-12 17:36 ` Ludovic Courtès
2014-02-12 17:38 ` none Sree Harsha Totakura
2014-02-12 19:25 ` none Andreas Enge
1 sibling, 2 replies; 63+ messages in thread
From: Ludovic Courtès @ 2014-02-12 17:36 UTC (permalink / raw)
To: Sree Harsha Totakura; +Cc: guix-devel
Sree Harsha Totakura <sreeharsha@totakura.in> skribis:
> The reason why the transport tests are failing is that gnurl is not being
> built with HTTPS protocol support and these tests expect gnurl to have those.
> The HTTPS support was not built into gnurl because pkg-config was not
> available as native inputs during configure time.
OK, thanks for investigating!
It would be nice if GNUnet’s ‘configure’ script would check whether
gnurl has HTTPS support.
Ludo’.
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: none
2014-02-12 17:36 ` none Ludovic Courtès
@ 2014-02-12 17:38 ` Sree Harsha Totakura
2014-02-12 19:25 ` none Andreas Enge
1 sibling, 0 replies; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-02-12 17:38 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On 02/12/2014 06:36 PM, Ludovic Courtès wrote:
> It would be nice if GNUnet’s ‘configure’ script would check whether
> gnurl has HTTPS support.
It now does. :-)
Sree
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: none
2014-02-12 17:36 ` none Ludovic Courtès
2014-02-12 17:38 ` none Sree Harsha Totakura
@ 2014-02-12 19:25 ` Andreas Enge
2014-02-12 20:30 ` none Ludovic Courtès
1 sibling, 1 reply; 63+ messages in thread
From: Andreas Enge @ 2014-02-12 19:25 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On Wed, Feb 12, 2014 at 06:36:13PM +0100, Ludovic Courtès wrote:
> It would be nice if GNUnet’s ‘configure’ script would check whether
> gnurl has HTTPS support.
Concurred. Or maybe make pkg-config a mandatory input and stop when it
is not found. Ever so often I see a package that states "feature xyz
not available", when in reality it means "pkg-config not available".
I would say that either pkg-config has to be mandatory, or the feature xyz
needs to be tested in an alternative way if pkg-config is not found.
Andreas
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: none
2014-02-12 19:25 ` none Andreas Enge
@ 2014-02-12 20:30 ` Ludovic Courtès
2014-02-12 20:53 ` none Andreas Enge
0 siblings, 1 reply; 63+ messages in thread
From: Ludovic Courtès @ 2014-02-12 20:30 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel
Andreas Enge <andreas@enge.fr> skribis:
> On Wed, Feb 12, 2014 at 06:36:13PM +0100, Ludovic Courtès wrote:
>> It would be nice if GNUnet’s ‘configure’ script would check whether
>> gnurl has HTTPS support.
>
> Concurred. Or maybe make pkg-config a mandatory input and stop when it
> is not found. Ever so often I see a package that states "feature xyz
> not available", when in reality it means "pkg-config not available".
I think this is largely because the official PKG_CHECK_MODULES Autoconf
macro doesn’t fail by default when pkg-config is not found (which may or
may not be a good idea, depending on the package.)
Ludo’.
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: none
2014-02-12 20:30 ` none Ludovic Courtès
@ 2014-02-12 20:53 ` Andreas Enge
0 siblings, 0 replies; 63+ messages in thread
From: Andreas Enge @ 2014-02-12 20:53 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On Wed, Feb 12, 2014 at 09:30:53PM +0100, Ludovic Courtès wrote:
> I think this is largely because the official PKG_CHECK_MODULES Autoconf
> macro doesn’t fail by default when pkg-config is not found (which may or
> may not be a good idea, depending on the package.)
Then it is the authors' responsibility to either let the configuration
fail, or to include tests that do not rely on pkg_config, in my opinion.
Andreas
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-02-03 22:17 ` Andreas Enge
2014-02-03 23:00 ` Ludovic Courtès
@ 2014-02-04 0:18 ` Sree Harsha Totakura
1 sibling, 0 replies; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-02-04 0:18 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel, Grothoff, Christian
On 02/03/2014 11:17 PM, Andreas Enge wrote:
> Just one last question: Is there a reason you did not add libmicrohttpd as
> an input? Or should I add it again?
I had forgotten to add it, nevertheless it should be added to the inputs
as it is a direct dependency. But how did the build succeed if
libmicrohttpd were not listed in inputs?
>
> The "official" description printed with "make sync-descriptions" is different,
> but in fact adds only this sentence:
> The package includes gnunet-gtk, which provides a GTK+ graphical user
> interface to the GNUnet service.
> I think here the official description should be changed. First of all,
> what is "the package"? And as far as I can tell, gnunet-gtk would be a
> distinct package.
The official GNU description and synopsis for GNUnet seems to be not
updated in a while. It stresses only the file-sharing application while
it has now newer applications like GNS and Conversation. Christian,
could you please update those?
Sree
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-01-30 22:56 ` Sree Harsha Totakura
2014-01-30 23:33 ` Sree Harsha Totakura
@ 2014-01-31 16:05 ` Ludovic Courtès
2014-02-03 22:19 ` Andreas Enge
1 sibling, 1 reply; 63+ messages in thread
From: Ludovic Courtès @ 2014-01-31 16:05 UTC (permalink / raw)
To: Sree Harsha Totakura; +Cc: guix-devel
Sree Harsha Totakura <sreeharsha@totakura.in> skribis:
> On 01/30/2014 11:39 PM, Andreas Enge wrote:
[...]
>> I have additional inputs:
>> ("libmicrohttpd" ,libmicrohttpd)
>> ("openssl" ,openssl) ; needed for some tests creating TLS certificates
>>
>> Maybe openssl is a remainder from an earlier gnunet version and not needed/
>> used anymore?
>
> The README mentions openssl as a requirement; I forgot to add it.
Note for upstream: It would be great to use GnuTLS instead of OpenSSL,
especially given that OpenSSL’s license may be incompatible with the GPL
in this case.
Could you check with ‘guix gc --references $(guix build gnunet)’ if the
reference on OpenSSL is retained? If not, that’s fine, but otherwise
that’s not cool.
Cheers,
Ludo’.
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-01-31 16:05 ` Ludovic Courtès
@ 2014-02-03 22:19 ` Andreas Enge
2014-02-03 22:57 ` Ludovic Courtès
0 siblings, 1 reply; 63+ messages in thread
From: Andreas Enge @ 2014-02-03 22:19 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
On Fri, Jan 31, 2014 at 05:05:37PM +0100, Ludovic Courtès wrote:
> Note for upstream: It would be great to use GnuTLS instead of OpenSSL,
> especially given that OpenSSL’s license may be incompatible with the GPL
> in this case.
From my trials, I think openssl is used only for "make check".
So it should probably pass into native-inputs.
> Could you check with ‘guix gc --references $(guix build gnunet)’ if the
> reference on OpenSSL is retained? If not, that’s fine, but otherwise
> that’s not cool.
There is no reference to openssl left.
Andreas
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-02-03 22:19 ` Andreas Enge
@ 2014-02-03 22:57 ` Ludovic Courtès
2014-02-04 0:21 ` Sree Harsha Totakura
0 siblings, 1 reply; 63+ messages in thread
From: Ludovic Courtès @ 2014-02-03 22:57 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel
Andreas Enge <andreas@enge.fr> skribis:
> On Fri, Jan 31, 2014 at 05:05:37PM +0100, Ludovic Courtès wrote:
>> Note for upstream: It would be great to use GnuTLS instead of OpenSSL,
>> especially given that OpenSSL’s license may be incompatible with the GPL
>> in this case.
>
> From my trials, I think openssl is used only for "make check".
> So it should probably pass into native-inputs.
>
>> Could you check with ‘guix gc --references $(guix build gnunet)’ if the
>> reference on OpenSSL is retained? If not, that’s fine, but otherwise
>> that’s not cool.
>
> There is no reference to openssl left.
OK, thanks for testing. Then indeed, OpenSSL can be moved to
‘native-inputs’ (it won’t be used when cross-compiling anyway, right?).
Ludo’.
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-02-03 22:57 ` Ludovic Courtès
@ 2014-02-04 0:21 ` Sree Harsha Totakura
2014-02-04 8:06 ` Christian Grothoff
0 siblings, 1 reply; 63+ messages in thread
From: Sree Harsha Totakura @ 2014-02-04 0:21 UTC (permalink / raw)
To: Grothoff, Christian; +Cc: guix-devel
Hi Christian,
Does GNUnet use openssl while building or is it used only during `make
check`?
Sree
On 02/03/2014 11:57 PM, Ludovic Courtès wrote:
> Andreas Enge <andreas@enge.fr> skribis:
>
>> > On Fri, Jan 31, 2014 at 05:05:37PM +0100, Ludovic Courtès wrote:
>>> >> Note for upstream: It would be great to use GnuTLS instead of OpenSSL,
>>> >> especially given that OpenSSL’s license may be incompatible with the GPL
>>> >> in this case.
>> >
>> > From my trials, I think openssl is used only for "make check".
>> > So it should probably pass into native-inputs.
>> >
>>> >> Could you check with ‘guix gc --references $(guix build gnunet)’ if the
>>> >> reference on OpenSSL is retained? If not, that’s fine, but otherwise
>>> >> that’s not cool.
>> >
>> > There is no reference to openssl left.
> OK, thanks for testing. Then indeed, OpenSSL can be moved to
> ‘native-inputs’ (it won’t be used when cross-compiling anyway, right?).
>
> Ludo’.
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: Gnunet-0.10.0 recipe
2014-02-04 0:21 ` Sree Harsha Totakura
@ 2014-02-04 8:06 ` Christian Grothoff
0 siblings, 0 replies; 63+ messages in thread
From: Christian Grothoff @ 2014-02-04 8:06 UTC (permalink / raw)
To: Sree Harsha Totakura; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 1487 bytes --]
We use the OpenSSL binary to create a certificate from a shell script
(gnunet-transport-certificate-creation). So the dependency is on the
binary, not on the library, and thus there is no GPL licensing issue.
Now, it might be possible to do the same with gnutls-cli or some
similar tools, so if someone wants to hack the shell script to
eliminate OpenSSL entirely, that's fine with me.
Happy hacking!
Christian
On 02/04/2014 01:21 AM, Sree Harsha Totakura wrote:
> Hi Christian,
>
> Does GNUnet use openssl while building or is it used only during `make
> check`?
>
> Sree
>
> On 02/03/2014 11:57 PM, Ludovic Courtès wrote:
>> Andreas Enge <andreas@enge.fr> skribis:
>>
>>>> On Fri, Jan 31, 2014 at 05:05:37PM +0100, Ludovic Courtès wrote:
>>>>>> Note for upstream: It would be great to use GnuTLS instead of OpenSSL,
>>>>>> especially given that OpenSSL’s license may be incompatible with the GPL
>>>>>> in this case.
>>>> From my trials, I think openssl is used only for "make check".
>>>> So it should probably pass into native-inputs.
>>>>
>>>>>> Could you check with ‘guix gc --references $(guix build gnunet)’ if the
>>>>>> reference on OpenSSL is retained? If not, that’s fine, but otherwise
>>>>>> that’s not cool.
>>>> There is no reference to openssl left.
>> OK, thanks for testing. Then indeed, OpenSSL can be moved to
>> ‘native-inputs’ (it won’t be used when cross-compiling anyway, right?).
>>
>> Ludo’.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 242 bytes --]
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown)
@ 2020-04-13 9:53 elaexuotee
0 siblings, 0 replies; 63+ messages in thread
From: elaexuotee @ 2020-04-13 9:53 UTC (permalink / raw)
To: guix-devel
[-- Attachment #1.1: Type: text/plain, Size: 874 bytes --]
Attempting to define and build my own package for the first time, I am havi=
ng trouble
simply setting up the basic environment. In particular, make is failing wit=
h a
plethora of "@ref reference to nonexistent node" errors on doc/*.de.texi fi=
les.
It looks like issues #35913 and #35786 may be related; however, at the mome=
nt
issues.guix.gnu.org is returning 500 when I attempt to open them.
Attached is the output of make, and below is how I am getting to that point=
:
$ guix environment --pure guix --ad-hoc coreutils findutils which
$ ./bootstrap
$ ./configure --localstatedir=3D/var
$ make
Am I just flubbing up something simple? For clarity, this is happening on a=
freshly
pulled master:
$ git rev-parse HEAD
f6145358c7d33e73c0708bbe400e6e8e65512ef3
[-- Attachment #1.2: make.log --]
[-- Type: text/plain, Size: 47367 bytes --]
make all-recursive
make[1]: Entering directory '/home/x/devel/guix'
Making all in po/guix
make[2]: Entering directory '/home/x/devel/guix/po/guix'
make[2]: Leaving directory '/home/x/devel/guix/po/guix'
Making all in po/packages
make[2]: Entering directory '/home/x/devel/guix/po/packages'
make[2]: Leaving directory '/home/x/devel/guix/po/packages'
make[2]: Entering directory '/home/x/devel/guix'
MAKEINFO doc/guix.de.info
./doc/guix.de.texi:419: @ref reference to nonexistent node `GNU Distribution'
./doc/guix.de.texi:431: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:432: @ref reference to nonexistent node `Development'
./doc/guix.de.texi:433: @ref reference to nonexistent node `Utilities'
./doc/guix.de.texi:434: @ref reference to nonexistent node `Programming Interface'
./doc/guix.de.texi:437: @ref reference to nonexistent node `Setting Up the Daemon'
./doc/guix.de.texi:439: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:446: @ref reference to nonexistent node `Defining
Packages'
./doc/guix.de.texi:448: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:450: @ref reference to nonexistent node `Package Transformation Options'
./doc/guix.de.texi:456: @ref reference to nonexistent node `Acknowledgments'
./doc/guix.de.texi:473: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:482: @ref reference to nonexistent node `Features'
./doc/guix.de.texi:493: @ref reference to nonexistent node `System Installation'
./doc/guix.de.texi:504: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:544: @ref reference to nonexistent node `System Configuration'
./doc/guix.de.texi:555: @ref reference to nonexistent node `Porting'
./doc/guix.de.texi:558: @ref reference to nonexistent node `Contributing'
./doc/guix.de.texi:576: @ref reference to nonexistent node `System
Installation'
./doc/guix.de.texi:591: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:683: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:700: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:718: @ref reference to nonexistent node `Build Environment Setup'
./doc/guix.de.texi:785: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:795: @ref reference to nonexistent node `Application Setup'
./doc/guix.de.texi:823: @ref reference to nonexistent node `Invoking guix pack'
./doc/guix.de.texi:867: @pxref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:868: @pxref reference to nonexistent node `Invoking guix copy'
./doc/guix.de.texi:901: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:945: @ref reference to nonexistent node `Requirements'
./doc/guix.de.texi:969: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:989: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:1028: @ref reference to nonexistent node `Introduction'
./doc/guix.de.texi:1049: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:1054: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:1116: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:1117: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:1289: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:1460: @ref reference to nonexistent node `Setting Up the
Daemon'
./doc/guix.de.texi:1472: @ref reference to nonexistent node `Programming Interface'
./doc/guix.de.texi:1478: @ref reference to nonexistent node `Features'
./doc/guix.de.texi:1489: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:1497: @ref reference to nonexistent node `Invoking guix processes'
./doc/guix.de.texi:1504: @ref reference to nonexistent node `Setting Up the Daemon'
./doc/guix.de.texi:1510: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:1514: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:1524: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:1529: @ref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:1540: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:1549: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:1561: @ref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:1572: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:1582: @ref reference to nonexistent node `Common Build
Options'
./doc/guix.de.texi:1589: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:1602: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:1652: @ref reference to nonexistent node `Invoking
guix gc'
./doc/guix.de.texi:1721: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:1871: @ref reference to nonexistent node `Packages with Multiple Outputs'
./doc/guix.de.texi:1913: @ref reference to nonexistent node `X.509 Certificates'
./doc/guix.de.texi:1966: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:1988: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:2048: @ref reference to nonexistent node `Services'
./doc/guix.de.texi:2052: @ref reference to nonexistent node `Desktop
Services'
./doc/guix.de.texi:2060: @ref reference to nonexistent node `Contributing'
./doc/guix.de.texi:2084: @ref reference to nonexistent node `operating-system
Reference'
./doc/guix.de.texi:2210: @ref reference to nonexistent node `Installing Guix in a VM'
./doc/guix.de.texi:2219: @ref reference to nonexistent node `Guided Graphical
Installation'
./doc/guix.de.texi:2223: @ref reference to nonexistent node `Manual Installation'
./doc/guix.de.texi:2276: @ref reference to nonexistent node `Using the
Configuration System'
./doc/guix.de.texi:2279: @ref reference to nonexistent node `After System Installation'
./doc/guix.de.texi:2291: @ref reference to nonexistent node `Guided Graphical Installation'
./doc/guix.de.texi:2300: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:2498: @ref reference to nonexistent node `Bootloader Configuration'
./doc/guix.de.texi:2516: @ref reference to nonexistent node `File
Systems'
./doc/guix.de.texi:2623: @ref reference to nonexistent node `Using the Configuration System'
./doc/guix.de.texi:2661: @ref reference to nonexistent node `Mapped Devices'
./doc/guix.de.texi:2677: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:2687: @ref reference to nonexistent node `After System Installation'
./doc/guix.de.texi:2705: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:2707: @ref reference to nonexistent node `Security Updates'
./doc/guix.de.texi:2746: @ref reference to nonexistent node `USB Stick and DVD
Installation'
./doc/guix.de.texi:2773: @ref reference to nonexistent node `Running Guix in a VM'
./doc/guix.de.texi:2778: @ref reference to nonexistent node `Preparing for Installation'
./doc/guix.de.texi:2783: @ref reference to nonexistent node `Running Guix in a VM'
./doc/guix.de.texi:2798: @ref reference to nonexistent node `Invoking guix
system'
./doc/guix.de.texi:2829: @ref reference to nonexistent node `Invoking guix
package'
./doc/guix.de.texi:2877: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:2896: @ref reference to nonexistent node `Using the Configuration System'
./doc/guix.de.texi:2901: @ref reference to nonexistent node `Invoking guix
gc'
./doc/guix.de.texi:2909: @ref reference to nonexistent node `Introduction'
./doc/guix.de.texi:2918: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:2926: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:2929: @ref reference to nonexistent node `Invoking guix challenge'
./doc/guix.de.texi:2935: @ref reference to nonexistent node `Invoking guix environment'
./doc/guix.de.texi:2941: @ref reference to nonexistent node `Invoking guix
pull'
./doc/guix.de.texi:3027: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:3053: @ref reference to nonexistent node `Packages with Multiple
Outputs'
./doc/guix.de.texi:3055: @ref reference to nonexistent node `Package
Modules'
./doc/guix.de.texi:3096: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:3105: @ref reference to nonexistent node `Invoking guix
environment'
./doc/guix.de.texi:3128: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:3431: @pxref reference to nonexistent node `GNU Distribution'
./doc/guix.de.texi:3436: @ref reference to nonexistent node `Packages with Multiple Outputs'
./doc/guix.de.texi:3449: @ref reference to nonexistent node `Packages
with Multiple Outputs'
./doc/guix.de.texi:3501: @ref reference to nonexistent node `Common
Build Options'
./doc/guix.de.texi:3503: @ref reference to nonexistent node `Package Transformation
Options'
./doc/guix.de.texi:3509: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:3524: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:3561: @ref reference to nonexistent node `GNU Distribution'
./doc/guix.de.texi:3580: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:3632: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:3708: @ref reference to nonexistent node `Invoking
guix weather'
./doc/guix.de.texi:3726: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:3729: @ref reference to nonexistent node `Features'
./doc/guix.de.texi:3736: @ref reference to nonexistent node `Invoking guix challenge'
./doc/guix.de.texi:3792: @ref reference to nonexistent node `Invoking guix size'
./doc/guix.de.texi:3793: @ref reference to nonexistent node `Invoking guix graph'
./doc/guix.de.texi:3799: @ref reference to nonexistent node `Installing Debugging Files'
./doc/guix.de.texi:3801: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:3827: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:3833: @ref reference to nonexistent node `Invoking guix
package'
./doc/guix.de.texi:3846: @ref reference to nonexistent node `Scheduled Job Execution'
./doc/guix.de.texi:3912: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:3959: @ref reference to nonexistent node `Invoking guix size'
./doc/guix.de.texi:3961: @ref reference to nonexistent node `Invoking guix graph'
./doc/guix.de.texi:3967: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:4012: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:4016: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:4025: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:4049: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4081: @ref reference to nonexistent node `Documentation'
./doc/guix.de.texi:4119: @ref reference to nonexistent node `Invoking guix describe'
./doc/guix.de.texi:4124: @ref reference to nonexistent node `Invoking guix
package'
./doc/guix.de.texi:4136: @ref reference to nonexistent node `Invoking guix
package'
./doc/guix.de.texi:4167: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4175: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4188: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:4228: @ref reference to nonexistent node `Invoking guix describe'
./doc/guix.de.texi:4259: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4262: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:4273: @ref reference to nonexistent node `Invoking guix
pull'
./doc/guix.de.texi:4315: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:4332: @ref reference to nonexistent node `Contributing'
./doc/guix.de.texi:4562: @ref reference to nonexistent node `Invoking guix describe'
./doc/guix.de.texi:4564: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:4565: @ref reference to nonexistent node `Invoking guix time-machine'
./doc/guix.de.texi:4578: @ref reference to nonexistent node `Inferiors'
./doc/guix.de.texi:4594: @ref reference to nonexistent node `Invoking guix describe'
./doc/guix.de.texi:4605: @pxref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:4619: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4635: @ref reference to nonexistent node `Common
Build Options'
./doc/guix.de.texi:4657: @ref reference to nonexistent node `Invoking guix repl'
./doc/guix.de.texi:4664: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4672: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:4761: @ref reference to nonexistent node `package Reference'
./doc/guix.de.texi:4769: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:4771: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:4795: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4809: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:4832: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:4853: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:4880: @ref reference to nonexistent node `Invoking guix pack'
./doc/guix.de.texi:4892: @ref reference to nonexistent node `Invoking
guix package'
./doc/guix.de.texi:4904: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:4930: @ref reference to nonexistent node `Invoking guix copy'
./doc/guix.de.texi:5016: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:5042: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:5217: @ref reference to nonexistent node `Invoking
guix gc'
./doc/guix.de.texi:5256: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:5292: @ref reference to nonexistent node `Packages with
Multiple Outputs'
./doc/guix.de.texi:5432: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:5433: @ref reference to nonexistent node `Package Transformation Options'
./doc/guix.de.texi:5446: @ref reference to nonexistent node `Invoking guix copy'
./doc/guix.de.texi:5446: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:5447: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:5478: @ref reference to nonexistent node `Binary Installation'
./doc/guix.de.texi:5682: @ref reference to nonexistent node `Additional Build Options'
./doc/guix.de.texi:5737: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:5767: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:5768: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:5775: @ref reference to nonexistent node `Binary Installation'
./doc/guix.de.texi:5787: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:5788: @ref reference to nonexistent node `Package Transformation Options'
./doc/guix.de.texi:5849: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:5873: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:5881: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:5951: @ref reference to nonexistent node `Invoking guix import'
./doc/guix.de.texi:5957: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:5964: @ref reference to nonexistent node `origin
Reference'
./doc/guix.de.texi:5977: @ref reference to nonexistent node `Invoking guix download'
./doc/guix.de.texi:5977: @ref reference to nonexistent node `Invoking guix
hash'
./doc/guix.de.texi:5989: @ref reference to nonexistent node `Build Systems'
./doc/guix.de.texi:5996: @ref reference to nonexistent node `Build Systems'
./doc/guix.de.texi:6045: @ref reference to nonexistent node `Build Systems'
./doc/guix.de.texi:6053: @ref reference to nonexistent node `package Reference'
./doc/guix.de.texi:6058: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:6059: @ref reference to nonexistent node `Debugging Build Failures'
./doc/guix.de.texi:6061: @ref reference to nonexistent node `Invoking guix edit'
./doc/guix.de.texi:6062: @ref reference to nonexistent node `Packaging Guidelines'
./doc/guix.de.texi:6063: @ref reference to nonexistent node `Invoking guix lint'
./doc/guix.de.texi:6067: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:6073: @ref reference to nonexistent node `Invoking guix refresh'
./doc/guix.de.texi:6079: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:6083: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:6089: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:6147: @ref reference to nonexistent node `Package Transformation Options'
./doc/guix.de.texi:6197: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:6212: @ref reference to nonexistent node `origin Reference'
./doc/guix.de.texi:6215: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:6219: @ref reference to nonexistent node `Build Systems'
./doc/guix.de.texi:6235: @ref reference to nonexistent node `Packages with Multiple Outputs'
./doc/guix.de.texi:6256: @ref reference to nonexistent node `Invoking guix lint'
./doc/guix.de.texi:6281: @ref reference to nonexistent node `Packages with Multiple Outputs'
./doc/guix.de.texi:6293: @ref reference to nonexistent node `Security Updates'
./doc/guix.de.texi:6349: @ref reference to nonexistent node `Defining
Packages'
./doc/guix.de.texi:6394: @ref reference to nonexistent node `Invoking guix download'
./doc/guix.de.texi:6394: @ref reference to nonexistent node `Invoking
guix hash'
./doc/guix.de.texi:6407: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:6416: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:6443: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:6459: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:6463: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:6468: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:6527: @ref reference to nonexistent node `Installing Debugging Files'
./doc/guix.de.texi:6641: @ref reference to nonexistent node `Python Modules'
./doc/guix.de.texi:7406: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:7430: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:7439: @ref reference to nonexistent node `Introduction'
./doc/guix.de.texi:7441: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:7486: @ref reference to nonexistent node `Invoking
guix-daemon'
./doc/guix.de.texi:7492: @pxref reference to nonexistent node `Requirements'
./doc/guix.de.texi:7501: @ref reference to nonexistent node `Invoking guix copy'
./doc/guix.de.texi:7512: @ref reference to nonexistent node `Contributing'
./doc/guix.de.texi:7569: @ref reference to nonexistent node `The
Store Monad'
./doc/guix.de.texi:7615: @ref reference to nonexistent node `The
Store'
./doc/guix.de.texi:7633: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:7681: @ref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:7686: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:7718: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:7843: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:8106: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:8117: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:8120: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:8326: @ref reference to nonexistent node `Packages with Multiple
Outputs'
./doc/guix.de.texi:8406: @ref reference to nonexistent node `The Store Monad'
./doc/guix.de.texi:8469: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:8515: @ref reference to nonexistent node `The Store Monad'
./doc/guix.de.texi:8554: @ref reference to nonexistent node `The Store Monad'
./doc/guix.de.texi:8799: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:8849: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:8878: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:8911: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:8922: @ref reference to nonexistent node `Debugging Build Failures'
./doc/guix.de.texi:8928: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:8947: @ref reference to nonexistent node `Substitution Failure'
./doc/guix.de.texi:8957: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:8965: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:8970: @ref reference to nonexistent node `Security Updates'
./doc/guix.de.texi:8981: @ref reference to nonexistent node `Invoking guix challenge'
./doc/guix.de.texi:8986: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:8991: @ref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:9000: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:9008: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:9030: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:9077: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9087: @ref reference to nonexistent node `Invoking guix download'
./doc/guix.de.texi:9142: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9150: @ref reference to nonexistent node `Security Updates'
./doc/guix.de.texi:9203: @ref reference to nonexistent node `origin Reference'
./doc/guix.de.texi:9243: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:9247: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9269: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:9272: @ref reference to nonexistent node `The Store Monad'
./doc/guix.de.texi:9286: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9366: @ref reference to nonexistent node `Virtualization Services'
./doc/guix.de.texi:9372: @ref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:9391: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:9392: @ref reference to nonexistent node `Invoking
guix challenge'
./doc/guix.de.texi:9425: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:9465: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9475: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:9501: @ref reference to nonexistent node `Build Environment Setup'
./doc/guix.de.texi:9516: @ref reference to nonexistent node `Invoking guix environment'
./doc/guix.de.texi:9521: @ref reference to nonexistent node `Security Updates'
./doc/guix.de.texi:9564: @ref reference to nonexistent node `Building from Git'
./doc/guix.de.texi:9566: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:9584: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9594: @ref reference to nonexistent node `Invoking
guix gc'
./doc/guix.de.texi:9608: @ref reference to nonexistent node `X.509 Certificates'
./doc/guix.de.texi:9618: @ref reference to nonexistent node `Invoking guix hash'
./doc/guix.de.texi:9641: @ref reference to nonexistent node `Defining
Packages'
./doc/guix.de.texi:9679: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:9690: @ref reference to nonexistent node `origin Reference'
./doc/guix.de.texi:9711: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9754: @ref reference to nonexistent node `Invoking guix refresh'
./doc/guix.de.texi:9925: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:10145: @ref reference to nonexistent node `Contributing'
./doc/guix.de.texi:10216: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:10252: @ref reference to nonexistent node `Running Guix Before It Is
Installed'
./doc/guix.de.texi:10259: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:10375: @ref reference to nonexistent node `Invoking guix graph'
./doc/guix.de.texi:10479: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:10532: @ref reference to nonexistent node `origin
Reference'
./doc/guix.de.texi:10654: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:10672: @ref reference to nonexistent node `Packages with
Multiple Outputs'
./doc/guix.de.texi:10721: @ref reference to nonexistent node `Security
Updates'
./doc/guix.de.texi:10730: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:10793: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:10864: @ref reference to nonexistent node `Invoking guix refresh'
./doc/guix.de.texi:10882: @ref reference to nonexistent node `Build Systems'
./doc/guix.de.texi:10914: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:10926: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:10942: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:10958: @ref reference to nonexistent node `Invoking guix
gc'
./doc/guix.de.texi:11013: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:11020: @ref reference to nonexistent node `Package Transformation
Options'
./doc/guix.de.texi:11039: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:11050: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:11058: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:11073: @ref reference to nonexistent node `Invoking
guix archive'
./doc/guix.de.texi:11088: @ref reference to nonexistent node `Invoking guix weather'
./doc/guix.de.texi:11092: @ref reference to nonexistent node `origin Reference'
./doc/guix.de.texi:11096: @ref reference to nonexistent node `Invoking guix hash'
./doc/guix.de.texi:11115: @ref reference to nonexistent node `Invoking
guix-daemon'
./doc/guix.de.texi:11229: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:11245: @ref reference to nonexistent node `Invoking
guix archive'
./doc/guix.de.texi:11302: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:11313: @ref reference to nonexistent node `Introduction'
./doc/guix.de.texi:11371: @ref reference to nonexistent node `Features'
./doc/guix.de.texi:11389: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:11488: @ref reference to nonexistent node `Requirements'
./doc/guix.de.texi:11516: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:11542: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:11557: @ref reference to nonexistent node `Invoking guix environment'
./doc/guix.de.texi:11558: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:11607: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:11612: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:11695: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:11782: @ref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:11813: @ref reference to nonexistent node `Features'
./doc/guix.de.texi:11853: @ref reference to nonexistent node `Invoking guix
system'
./doc/guix.de.texi:11869: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:11892: @ref reference to nonexistent node `Bootloader Configuration'
./doc/guix.de.texi:11901: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:11907: @ref reference to nonexistent node `Package
Modules'
./doc/guix.de.texi:11946: @ref reference to nonexistent node `Services'
./doc/guix.de.texi:11949: @ref reference to nonexistent node `Networking
Services'
./doc/guix.de.texi:11954: @ref reference to nonexistent node `Defining Services'
./doc/guix.de.texi:11960: @ref reference to nonexistent node `Service Reference'
./doc/guix.de.texi:11965: @ref reference to nonexistent node `Base Services'
./doc/guix.de.texi:12020: @ref reference to nonexistent node `Desktop Services'
./doc/guix.de.texi:12021: @ref reference to nonexistent node `X.509
Certificates'
./doc/guix.de.texi:12043: @ref reference to nonexistent node `Invoking
guix system'
./doc/guix.de.texi:12070: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:12076: @ref reference to nonexistent node `The Store Monad'
./doc/guix.de.texi:12080: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:12088: @ref reference to nonexistent node `Services'
./doc/guix.de.texi:12096: @ref reference to nonexistent node `Using
the Configuration System'
./doc/guix.de.texi:12102: @ref reference to nonexistent node `Using the Configuration System'
./doc/guix.de.texi:12121: @ref reference to nonexistent node `Bootloader Configuration'
./doc/guix.de.texi:12137: @ref reference to nonexistent node `Mapped
Devices'
./doc/guix.de.texi:12143: @ref reference to nonexistent node `Bootloader Configuration'
./doc/guix.de.texi:12153: @ref reference to nonexistent node `Initial RAM Disk'
./doc/guix.de.texi:12159: @ref reference to nonexistent node `Initial RAM Disk'
./doc/guix.de.texi:12168: @ref reference to nonexistent node `Hardware
Considerations'
./doc/guix.de.texi:12176: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:12182: @ref reference to nonexistent node `Mapped
Devices'
./doc/guix.de.texi:12186: @ref reference to nonexistent node `File Systems'
./doc/guix.de.texi:12196: @ref reference to nonexistent node `Mapped Devices'
./doc/guix.de.texi:12196: @ref reference to nonexistent node `File Systems'
./doc/guix.de.texi:12200: @ref reference to nonexistent node `User Accounts'
./doc/guix.de.texi:12208: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:12233: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:12265: @ref reference to nonexistent node `Services'
./doc/guix.de.texi:12271: @ref reference to nonexistent node `Service Reference'
./doc/guix.de.texi:12283: @ref reference to nonexistent node `Setuid Programs'
./doc/guix.de.texi:12288: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:12326: @ref reference to nonexistent node `Using the
Configuration System'
./doc/guix.de.texi:12396: @ref reference to nonexistent node `Mapped
Devices'
./doc/guix.de.texi:12453: @ref reference to nonexistent node `Mapped
Devices'
./doc/guix.de.texi:12581: @ref reference to nonexistent node `File Systems'
./doc/guix.de.texi:12613: @ref reference to nonexistent node `Preparing for Installation'
./doc/guix.de.texi:12626: @ref reference to nonexistent node `File Systems'
./doc/guix.de.texi:12699: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:12815: @ref reference to nonexistent node `Bootloader Configuration'
./doc/guix.de.texi:12822: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:12954: @ref reference to nonexistent node `operating-system
Reference'
./doc/guix.de.texi:13037: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:13090: @ref reference to nonexistent node `Using the
Configuration System'
./doc/guix.de.texi:13097: @ref reference to nonexistent node `Service Composition'
./doc/guix.de.texi:13098: @ref reference to nonexistent node `Shepherd Services'
./doc/guix.de.texi:13181: @ref reference to nonexistent node `Service Types and Services'
./doc/guix.de.texi:13224: @ref reference to nonexistent node `Service Reference'
./doc/guix.de.texi:13713: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:13721: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:13737: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:13742: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:13744: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:13957: @ref reference to nonexistent node `Invoking guix
publish'
./doc/guix.de.texi:13963: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:14002: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:14009: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:14015: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:14021: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:14083: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:14088: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14131: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14187: @ref reference to nonexistent node `Service
Composition'
./doc/guix.de.texi:14200: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14254: @ref reference to nonexistent node `Scheduled Job
Execution'
./doc/guix.de.texi:14275: @ref reference to nonexistent node `Scheduled Job Execution'
./doc/guix.de.texi:14365: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14442: @ref reference to nonexistent node `Desktop
Services'
./doc/guix.de.texi:14472: @ref reference to nonexistent node `Desktop
Services'
./doc/guix.de.texi:14506: @ref reference to nonexistent node `Desktop
Services'
./doc/guix.de.texi:14540: @ref reference to nonexistent node `Installing Guix in a VM'
./doc/guix.de.texi:14544: @ref reference to nonexistent node `Web Services'
./doc/guix.de.texi:14545: @ref reference to nonexistent node `Networking Services'
./doc/guix.de.texi:14558: @ref reference to nonexistent node `Running Guix in a VM'
./doc/guix.de.texi:14680: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14684: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14713: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14971: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:15377: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:15554: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:15887: @ref reference to nonexistent node `Keyboard Layout'
./doc/guix.de.texi:16868: @ref reference to nonexistent node `Networking Services'
./doc/guix.de.texi:16870: @ref reference to nonexistent node `Networking Services'
./doc/guix.de.texi:16875: @ref reference to nonexistent node `Networking Services'
./doc/guix.de.texi:16882: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:19565: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:20322: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:22490: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:22512: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:22550: @ref reference to nonexistent node `X.509 Certificates'
./doc/guix.de.texi:22665: @ref reference to nonexistent node `Web Services'
./doc/guix.de.texi:24040: @ref reference to nonexistent node `Kerberos Services'
./doc/guix.de.texi:24100: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:24196: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:25700: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:25833: @ref reference to nonexistent node `Web Services'
./doc/guix.de.texi:25862: @ref reference to nonexistent node `Web
Services'
./doc/guix.de.texi:25897: @ref reference to nonexistent node `Certificate Services'
./doc/guix.de.texi:25900: @ref reference to nonexistent node `Web
Services'
./doc/guix.de.texi:25920: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:26936: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:26940: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:27611: @ref reference to nonexistent node `Setuid Programs'
./doc/guix.de.texi:27678: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:27685: @ref reference to nonexistent node `Using the Configuration
System'
./doc/guix.de.texi:27688: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:27734: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:27794: @ref reference to nonexistent node `operating-system
Reference'
./doc/guix.de.texi:27839: @ref reference to nonexistent node `Networking Services'
./doc/guix.de.texi:27841: @ref reference to nonexistent node `Desktop Services'
./doc/guix.de.texi:27842: @ref reference to nonexistent node `Base Services'
./doc/guix.de.texi:27908: @ref reference to nonexistent node `Base Services'
./doc/guix.de.texi:28049: @ref reference to nonexistent node `Mapped Devices'
./doc/guix.de.texi:28198: @ref reference to nonexistent node `Keyboard Layout'
./doc/guix.de.texi:28291: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:28298: @ref reference to nonexistent node `File Systems'
./doc/guix.de.texi:28423: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:28440: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:28452: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:28470: @ref reference to nonexistent node `Service Reference'
./doc/guix.de.texi:28534: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:28538: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:28599: @ref reference to nonexistent node `Build Environment Setup'
./doc/guix.de.texi:28661: @ref reference to nonexistent node `Running Guix in a VM'
./doc/guix.de.texi:28734: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:28743: @ref reference to nonexistent node `Building the
Installation Image'
./doc/guix.de.texi:28750: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:28761: @ref reference to nonexistent node `Service Reference'
./doc/guix.de.texi:28821: @ref reference to nonexistent node `File Systems'
./doc/guix.de.texi:28823: @ref reference to nonexistent node `Initial RAM
Disk'
./doc/guix.de.texi:28870: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:28893: @ref reference to nonexistent node `Service Composition'
./doc/guix.de.texi:28909: @ref reference to nonexistent node `Shepherd Services'
./doc/guix.de.texi:28999: @ref reference to nonexistent node `Invoking guix
archive'
./doc/guix.de.texi:29139: @ref reference to nonexistent node `Invoking
guix package'
./doc/guix.de.texi:29142: @ref reference to nonexistent node `Using the Configuration
System'
./doc/guix.de.texi:29147: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:29153: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:29227: @ref reference to nonexistent node `Networking
Services'
./doc/guix.de.texi:29273: @ref reference to nonexistent node `Miscellaneous Services'
./doc/guix.de.texi:29314: @ref reference to nonexistent node `Networking
Services'
./doc/guix.de.texi:29318: @ref reference to nonexistent node `Desktop Services'
./doc/guix.de.texi:29322: @ref reference to nonexistent node `Base Services'
./doc/guix.de.texi:29334: @ref reference to nonexistent node `Service Reference'
./doc/guix.de.texi:29355: @ref reference to nonexistent node `Invoking
guix-daemon'
./doc/guix.de.texi:29399: @ref reference to nonexistent node `Shepherd Services'
./doc/guix.de.texi:29405: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:29484: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:29498: @ref reference to nonexistent node `Service Types and Services'
./doc/guix.de.texi:29564: @ref reference to nonexistent node `Base Services'
./doc/guix.de.texi:29596: @ref reference to nonexistent node `Using the Configuration System'
./doc/guix.de.texi:29608: @ref reference to nonexistent node `Service Types and
Services'
./doc/guix.de.texi:29642: @ref reference to nonexistent node `Service Types and Services'
./doc/guix.de.texi:29668: @ref reference to nonexistent node `Scheduled Job Execution'
./doc/guix.de.texi:29682: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:29726: @ref reference to nonexistent node `Setuid Programs'
./doc/guix.de.texi:29747: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:29804: @ref reference to nonexistent node `Using the
Configuration System'
./doc/guix.de.texi:29851: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:29942: @ref reference to nonexistent node `Service Types and Services'
./doc/guix.de.texi:30039: @ref reference to nonexistent node `GNU Distribution'
./doc/guix.de.texi:30075: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:30082: @ref reference to nonexistent node `Build Systems'
./doc/guix.de.texi:30087: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:30111: @ref reference to nonexistent node `Invoking guix lint'
./doc/guix.de.texi:30114: @ref reference to nonexistent node `Introduction'
./doc/guix.de.texi:30120: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:30138: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:30152: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:30171: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:30190: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:30223: @ref reference to nonexistent node `Introduction'
./doc/guix.de.texi:30235: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:30245: @ref reference to nonexistent node `Reduced Binary Seed Bootstrap'
./doc/guix.de.texi:30319: @ref reference to nonexistent node `Invoking guix graph'
./doc/guix.de.texi:30340: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:30362: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:30426: @ref reference to nonexistent node `Build Systems'
doc/contributing.de.texi:9: @ref reference to nonexistent node `Packaging Guidelines'
doc/contributing.de.texi:104: @ref reference to nonexistent node `Invoking guix environment'
doc/contributing.de.texi:109: @ref reference to nonexistent node `Requirements'
doc/contributing.de.texi:154: @ref reference to nonexistent node `The
Store'
doc/contributing.de.texi:159: @ref reference to nonexistent node `Running the Test Suite'
doc/contributing.de.texi:175: @ref reference to nonexistent node `Building from Git'
doc/contributing.de.texi:227: @ref reference to nonexistent node `Invoking guix
pull'
doc/contributing.de.texi:347: @ref reference to nonexistent node `Package
Modules'
doc/contributing.de.texi:350: @ref reference to nonexistent node `Defining Packages'
doc/contributing.de.texi:354: @ref reference to nonexistent node `Invoking guix build'
doc/contributing.de.texi:357: @ref reference to nonexistent node `Running Guix Before It Is Installed'
doc/contributing.de.texi:380: @ref reference to nonexistent node `Submitting Patches'
doc/contributing.de.texi:388: @ref reference to nonexistent node `Invoking guix
pull'
doc/contributing.de.texi:391: @ref reference to nonexistent node `Substitutes'
doc/contributing.de.texi:432: @ref reference to nonexistent node `Defining
Packages'
doc/contributing.de.texi:456: @ref reference to nonexistent node `Python Modules'
doc/contributing.de.texi:456: @ref reference to nonexistent node `Perl Modules'
doc/contributing.de.texi:460: @ref reference to nonexistent node `Fonts'
doc/contributing.de.texi:473: @ref reference to nonexistent node `Package Naming'
doc/contributing.de.texi:566: @ref reference to nonexistent node `Defining
Packages'
doc/contributing.de.texi:653: @ref reference to nonexistent node `Version
Numbers'
doc/contributing.de.texi:680: @ref reference to nonexistent node `package Reference'
doc/contributing.de.texi:681: @ref reference to nonexistent node `Invoking guix import'
doc/contributing.de.texi:723: @ref reference to nonexistent node `Submitting Patches'
doc/contributing.de.texi:786: @pxref reference to nonexistent node `Build Systems'
doc/contributing.de.texi:954: @ref reference to nonexistent node `Commit Access'
doc/contributing.de.texi:957: @ref reference to nonexistent node `Tracking Bugs and
Patches'
doc/contributing.de.texi:961: @ref reference to nonexistent node `Sending a Patch Series'
doc/contributing.de.texi:980: @ref reference to nonexistent node `Synopses and Descriptions'
doc/contributing.de.texi:986: @ref reference to nonexistent node `Invoking guix lint'
doc/contributing.de.texi:1037: @ref reference to nonexistent node `Invoking guix size'
doc/contributing.de.texi:1039: @ref reference to nonexistent node `Packages
with Multiple Outputs'
doc/contributing.de.texi:1048: @ref reference to nonexistent node `Invoking guix
refresh'
doc/contributing.de.texi:1096: @ref reference to nonexistent node `Invoking guix
build'
doc/contributing.de.texi:1107: @ref reference to nonexistent node `Invoking
guix challenge'
doc/contributing.de.texi:1137: @ref reference to nonexistent node `Formatting Code'
doc/contributing.de.texi:1141: @ref reference to nonexistent node `Invoking guix download'
doc/contributing.de.texi:1149: @ref reference to nonexistent node `Building from Git'
doc/contributing.de.texi:1164: @ref reference to nonexistent node `Sending a Patch Series'
doc/contributing.de.texi:1203: @ref reference to nonexistent node `Submitting Patches'
doc/contributing.de.texi:1313: @ref reference to nonexistent node `Tracking Bugs and Patches'
doc/contributing.de.texi:1353: @ref reference to nonexistent node `Submitting Patches'
make[2]: *** [Makefile:4043: doc/guix.de.info] Error 1
make[2]: Leaving directory '/home/x/devel/guix'
make[1]: *** [Makefile:4926: all-recursive] Error 1
make[1]: Leaving directory '/home/x/devel/guix'
make: *** [Makefile:3347: all] Error 2
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown)
@ 2019-05-02 16:19 znavko
0 siblings, 0 replies; 63+ messages in thread
From: znavko @ 2019-05-02 16:19 UTC (permalink / raw)
To: guix-devel
[-- Attachment #1: Type: text/plain, Size: 718 bytes --]
Hi! I want be able to see which version number of guix I have, not commit but human-readable version, such as 1.0.0. How to do this?
Once performing `guix pull` I saw it, but now I cannot do it this ways:
# guix describe
Generation 88 May 02 2019 17:18:30 (current)
guix 48f19e6
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 48f19e60c4677e392ee2c23f28098cfcaf9d1710
# guix pull
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Building from this channel:
guix https://git.savannah.gnu.org/git/guix.git 48f19e6
Computing Guix derivation for 'x86_64-linux'... |
nothing to be done
How to see guix version: 1.0.0 ?
[-- Attachment #2: Type: text/html, Size: 1008 bytes --]
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown),
@ 2018-04-27 15:05 Catonano
0 siblings, 0 replies; 63+ messages in thread
From: Catonano @ 2018-04-27 15:05 UTC (permalink / raw)
To: guix-devel
[-- Attachment #1: Type: text/plain, Size: 282 bytes --]
it's 17:05 of april 27th
I just pulled guix and tried to build it
with this result
impossibile aprire ./doc/guix.fr.texi: No such file or directory
ERROR: In procedure lstat:
In procedure lstat: File o directory non esistente:
"/home/catonano/GNU/guix/doc/contributing.fr.texi"
[-- Attachment #2: Type: text/html, Size: 412 bytes --]
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown),
@ 2017-01-02 19:22 manolis837
0 siblings, 0 replies; 63+ messages in thread
From: manolis837 @ 2017-01-02 19:22 UTC (permalink / raw)
To: guix-devel
Hello everyone,
The idea behind this patch is to remove the ugly (string-match (or "i586-pc-gnu" "i586-gnu") ...) I had
everywhere.
Manolis
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown),
@ 2016-12-19 17:50 John Darrington
0 siblings, 0 replies; 63+ messages in thread
From: John Darrington @ 2016-12-19 17:50 UTC (permalink / raw)
To: guix-devel
Thanks to Ludovic for showing me how to fix this.
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown),
@ 2016-12-05 18:20 ng0
0 siblings, 0 replies; 63+ messages in thread
From: ng0 @ 2016-12-05 18:20 UTC (permalink / raw)
To: guix-devel
[PATCH 1/2] gnu: tlsdate: Use the system provided certificate store.
So far it looks like we are using the application bundled certificates.
This should fix it to use the system provided certificates.
[PATCH 2/2] services: Add tlsdate-service.
Because I still need to learn how make network bridges and make the "guix vm" generated qemu machine use that to call outside, this is tested in theory:
The service spawns, complains about certificates, and quits because it was called with too many ssl connection failures. This is expected in the state the vm is in.
I used tlsdate and not sbin/tlsdated because tlsdate is a one-time, at boot only, setting of time while tlsdated does it periodically.
This can be changed, but I really need the "one time on boot only" service and find it reasonable not to query servers for time too often.
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown),
@ 2016-10-06 6:16 Leo Famulari
0 siblings, 0 replies; 63+ messages in thread
From: Leo Famulari @ 2016-10-06 6:16 UTC (permalink / raw)
To: guix-devel
Subject: [PATCH 0/1] libupnp remote filesystem access CVE-2016-6255
You can use libupnp on a remote server to read and write the filesystem
with the privileges of the libupnp process:
http://seclists.org/oss-sec/2016/q3/102
This patch cherry-picks the upstream commit:
https://github.com/mrjimenez/pupnp/commit/d64d6a44906b5aa5306bdf1708531d698654dda5
Leo Famulari (1):
gnu: libupnp: Fix CVE-2016-6255.
gnu/local.mk | 1 +
gnu/packages/libupnp.scm | 2 +
gnu/packages/patches/libupnp-CVE-2016-6255.patch | 86 ++++++++++++++++++++++++
3 files changed, 89 insertions(+)
create mode 100644 gnu/packages/patches/libupnp-CVE-2016-6255.patch
--
2.10.1
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown)
@ 2016-07-21 1:39 Unknown, Pjotr Prins
0 siblings, 0 replies; 63+ messages in thread
From: Unknown, Pjotr Prins @ 2016-07-21 1:39 UTC (permalink / raw)
To: guix-devel
From 5fd8f64794b27f59f6688177a7a9e532b5d57f01 Mon Sep 17 00:00:00 2001
Date: Tue, 19 Jul 2016 11:13:27 +0000
Subject: [PATCH] gnu: Add elixir.
To: guix-devel@gnu.org
From: Pjotr Prins <pjotr.public01@thebird.nl>
References: <578e47d0.i8Ovns6KhzHqzVNC%pjotr.public12@thebird.nl>
* gnu/packages/elixir.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
gnu/local.mk | 1 +
gnu/packages/elixir.scm | 91 ++++++++++++
.../patches/elixir-disable-failing-tests.patch | 108 +++++++++++++++
.../patches/elixir-disable-mix-tests.patch | 152 +++++++++++++++++++++
gnu/packages/ruby.scm | 1 -
5 files changed, 352 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/elixir.scm
create mode 100644 gnu/packages/patches/elixir-disable-failing-tests.patch
create mode 100644 gnu/packages/patches/elixir-disable-mix-tests.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 536ecef..7a9a820 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -104,6 +104,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/ebook.scm \
%D%/packages/ed.scm \
%D%/packages/elf.scm \
+ %D%/packages/elixir.scm \
%D%/packages/emacs.scm \
%D%/packages/enchant.scm \
%D%/packages/engineering.scm \
diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
new file mode 100644
index 0000000..c1bbab3
--- /dev/null
+++ b/gnu/packages/elixir.scm
@@ -0,0 +1,91 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages elixir)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix packages)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base) ; for patch
+ #:use-module (gnu packages erlang)
+ #:use-module (gnu packages version-control))
+
+(define-public elixir
+ (package
+ (name "elixir")
+ (version "1.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/elixir-lang/elixir/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0jsc6kl7f74yszcypdv3w3vhyc9qfqav8nwc41in082m0vpfy95y"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("patch" ,patch)
+ ("patch/elixir-disable-failing-tests"
+ ,(search-patch "elixir-disable-failing-tests.patch"))
+ ("patch/elixir-disable-mix-tests"
+ ,(search-patch "elixir-disable-mix-tests.patch"))))
+ (inputs
+ `(("erlang" ,erlang)
+ ("git" ,git)))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'replace-git-path
+ (lambda _
+ (substitute* '("lib/elixir/lib/system.ex"
+ "lib/mix/lib/mix/scm/git.ex")
+ (("cmd\\('git") (string-append "cmd('" (which "git")))
+ (("cmd\\(\"git") (string-append "cmd(\"" (which "git"))))
+ #t))
+ (delete 'configure)
+ (add-before 'build 'rewrite-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "bin/elixir"
+ (("ERL_EXEC=\"erl\"")
+ (string-append "ERL_EXEC=" (which "erl"))))))
+ (add-after 'build 'disable-breaking-elixir-tests
+ ;; when patching tests as part of source the build breaks, so we do
+ ;; it after the build phase
+ (lambda* (#:key inputs #:allow-other-keys)
+ (and
+ (zero? (system* "patch" "--force" "-p1" "-i"
+ (assoc-ref inputs "patch/elixir-disable-failing-tests")))
+ (zero? (system* "patch" "--force" "-p1" "-i"
+ (assoc-ref inputs "patch/elixir-disable-mix-tests")))
+ ;; Tests currently fail in these two files:
+ (delete-file "./lib/mix/test/mix/tasks/deps.git_test.exs")
+ (delete-file "./lib/mix/test/mix/shell_test.exs"))))
+ (replace 'check
+ (lambda _
+ (zero? (system* "make" "test"))))) ;; 3124 tests, 0 failures, 11 skipped
+ #:make-flags (list (string-append "PREFIX=" %output))))
+ (home-page "http://elixir-lang.org/")
+ (synopsis "The Elixir programming language")
+ (description "Elixir is a dynamic, functional language used to
+build scalable and maintainable applications. Elixir leverages the
+Erlang VM, known for running low-latency, distributed and
+fault-tolerant systems, while also being successfully used in web
+development and the embedded software domain.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/patches/elixir-disable-failing-tests.patch b/gnu/packages/patches/elixir-disable-failing-tests.patch
new file mode 100644
index 0000000..802cb1e
--- /dev/null
+++ b/gnu/packages/patches/elixir-disable-failing-tests.patch
@@ -0,0 +1,108 @@
+diff --git a/lib/elixir/test/elixir/kernel/cli_test.exs b/lib/elixir/test/elixir/kernel/cli_test.exs
+index 3ffd56c..1232d19 100644
+--- a/lib/elixir/test/elixir/kernel/cli_test.exs
++++ b/lib/elixir/test/elixir/kernel/cli_test.exs
+@@ -39,6 +39,7 @@ end
+ defmodule Kernel.CLI.OptionParsingTest do
+ use ExUnit.Case, async: true
+
++ @tag :skip
+ test "properly parses paths" do
+ root = fixture_path("../../..") |> to_charlist
+ list = elixir('-pa "#{root}/*" -pz "#{root}/lib/*" -e "IO.inspect(:code.get_path, limit: :infinity)"')
+@@ -57,6 +58,7 @@ end
+ defmodule Kernel.CLI.AtExitTest do
+ use ExUnit.Case, async: true
+
++ @tag :skip
+ test "invokes at_exit callbacks" do
+ assert elixir(fixture_path("at_exit.exs") |> to_charlist) ==
+ 'goodbye cruel world with status 1\n'
+@@ -66,6 +68,7 @@ end
+ defmodule Kernel.CLI.ErrorTest do
+ use ExUnit.Case, async: true
+
++ @tag :skip
+ test "properly format errors" do
+ assert :string.str('** (throw) 1', elixir('-e "throw 1"')) == 0
+ assert :string.str('** (ErlangError) erlang error: 1', elixir('-e "error 1"')) == 0
+@@ -86,6 +89,7 @@ defmodule Kernel.CLI.CompileTest do
+ {:ok, [tmp_dir_path: tmp_dir_path, beam_file_path: beam_file_path, fixture: fixture]}
+ end
+
++ @tag :skip
+ test "compiles code", context do
+ assert elixirc('#{context[:fixture]} -o #{context[:tmp_dir_path]}') == ''
+ assert File.regular?(context[:beam_file_path])
+@@ -96,6 +100,7 @@ defmodule Kernel.CLI.CompileTest do
+ Code.delete_path context[:tmp_dir_path]
+ end
+
++ @tag :skip
+ test "fails on missing patterns", context do
+ output = elixirc('#{context[:fixture]} non_existing.ex -o #{context[:tmp_dir_path]}')
+ assert :string.str(output, 'non_existing.ex') > 0, "expected non_existing.ex to be mentioned"
+@@ -103,6 +108,7 @@ defmodule Kernel.CLI.CompileTest do
+ refute File.exists?(context[:beam_file_path]), "expected the sample to not be compiled"
+ end
+
++ @tag :skip
+ test "fails on missing write access to .beam file", context do
+ compilation_args = '#{context[:fixture]} -o #{context[:tmp_dir_path]}'
+
+diff --git a/lib/elixir/test/elixir/kernel/dialyzer_test.exs b/lib/elixir/test/elixir/kernel/dialyzer_test.exs
+index 801d852..40fc5bc 100644
+--- a/lib/elixir/test/elixir/kernel/dialyzer_test.exs
++++ b/lib/elixir/test/elixir/kernel/dialyzer_test.exs
+@@ -60,16 +60,19 @@ defmodule Kernel.DialyzerTest do
+ assert_dialyze_no_warnings! context
+ end
+
++ @tag :skip
+ test "no warnings on rewrites", context do
+ copy_beam! context, Dialyzer.Rewrite
+ assert_dialyze_no_warnings! context
+ end
+
++ @tag :skip
+ test "no warnings on raise", context do
+ copy_beam! context, Dialyzer.Raise
+ assert_dialyze_no_warnings! context
+ end
+
++ @tag :skip
+ test "no warnings on macrocallback", context do
+ copy_beam! context, Dialyzer.Macrocallback
+ copy_beam! context, Dialyzer.Macrocallback.Impl
+diff --git a/lib/elixir/test/elixir/node_test.exs b/lib/elixir/test/elixir/node_test.exs
+index d1f1fe6..5c2d469 100644
+--- a/lib/elixir/test/elixir/node_test.exs
++++ b/lib/elixir/test/elixir/node_test.exs
+@@ -6,8 +6,10 @@ defmodule NodeTest do
+ doctest Node
+
+ test "start/3 and stop/0" do
+- assert Node.stop == {:error, :not_found}
+- assert {:ok, _} = Node.start(:hello, :shortnames, 15000)
+- assert Node.stop() == :ok
++ IO.puts "Skipping test because GNU Guix does not allow the HOME environment variable."
++
++ # assert Node.stop == {:error, :not_found}
++ # assert {:ok, _} = Node.start(:hello, :shortnames, 15000)
++ # assert Node.stop() == :ok
+ end
+ end
+diff --git a/lib/elixir/test/elixir/system_test.exs b/lib/elixir/test/elixir/system_test.exs
+index aafa559..0f9c178 100644
+--- a/lib/elixir/test/elixir/system_test.exs
++++ b/lib/elixir/test/elixir/system_test.exs
+@@ -53,7 +53,8 @@ defmodule SystemTest do
+ assert System.endianness in [:little, :big]
+ assert System.endianness == System.compiled_endianness
+ end
+-
++
++ @tag :skip
+ test "argv/0" do
+ list = elixir('-e "IO.inspect System.argv" -- -o opt arg1 arg2 --long-opt 10')
+ {args, _} = Code.eval_string list, []
diff --git a/gnu/packages/patches/elixir-disable-mix-tests.patch b/gnu/packages/patches/elixir-disable-mix-tests.patch
new file mode 100644
index 0000000..649a916
--- /dev/null
+++ b/gnu/packages/patches/elixir-disable-mix-tests.patch
@@ -0,0 +1,152 @@
+diff --git a/lib/mix/test/mix/dep_test.exs b/lib/mix/test/mix/dep_test.exs
+index fff3351..d6ed1b3 100644
+--- a/lib/mix/test/mix/dep_test.exs
++++ b/lib/mix/test/mix/dep_test.exs
+@@ -244,6 +244,7 @@ defmodule Mix.DepTest do
+ end
+ end
+
++ @tag :skip
+ test "remote converger" do
+ deps = [{:deps_repo, "0.1.0", path: "custom/deps_repo"},
+ {:git_repo, "0.2.0", git: MixTest.Case.fixture_path("git_repo")}]
+@@ -301,6 +302,7 @@ defmodule Mix.DepTest do
+ end
+ end
+
++ @tag :skip
+ test "remote converger is not invoked if deps diverge" do
+ deps = [{:deps_repo, "0.1.0", path: "custom/deps_repo"},
+ {:git_repo, "0.2.0", git: MixTest.Case.fixture_path("git_repo"), only: :test}]
+diff --git a/lib/mix/test/mix/rebar_test.exs b/lib/mix/test/mix/rebar_test.exs
+index d2dd098..12cef15 100644
+--- a/lib/mix/test/mix/rebar_test.exs
++++ b/lib/mix/test/mix/rebar_test.exs
+@@ -120,6 +120,7 @@ defmodule Mix.RebarTest do
+ assert Enum.all?(deps, &(&1.manager == :rebar3))
+ end
+
++ @tag :skip
+ test "Rebar overrides" do
+ Mix.Project.push(RebarOverrideAsDep)
+
+@@ -150,6 +151,7 @@ defmodule Mix.RebarTest do
+ end
+ end
+
++ @tag :skip
+ test "get and compile dependencies for Rebar" do
+ Mix.Project.push(RebarAsDep)
+
+@@ -180,6 +182,7 @@ defmodule Mix.RebarTest do
+ end
+ end
+
++ @tag :skip
+ test "get and compile dependencies for rebar3" do
+ Mix.Project.push(Rebar3AsDep)
+
+diff --git a/lib/mix/test/mix/shell/io_test.exs b/lib/mix/test/mix/shell/io_test.exs
+index 9bfb6b4..d982ef3 100644
+--- a/lib/mix/test/mix/shell/io_test.exs
++++ b/lib/mix/test/mix/shell/io_test.exs
+@@ -29,6 +29,7 @@ defmodule Mix.Shell.IOTest do
+ assert capture_io("", fn -> refute yes?("Ok?") end)
+ end
+
++ @tag :skip
+ test "runs a given command" do
+ assert capture_io("", fn -> assert cmd("echo hello") == 0 end) == "hello\n"
+
+diff --git a/lib/mix/test/mix/shell/quiet_test.exs b/lib/mix/test/mix/shell/quiet_test.exs
+index 626429b..99fab35 100644
+--- a/lib/mix/test/mix/shell/quiet_test.exs
++++ b/lib/mix/test/mix/shell/quiet_test.exs
+@@ -29,6 +29,7 @@ defmodule Mix.Shell.QuietTest do
+ assert capture_io("", fn -> refute yes?("Ok?") end)
+ end
+
++ @tag :skip
+ test "runs a given command" do
+ assert capture_io("", fn -> assert cmd("echo hello") == 0 end) == ""
+
+diff --git a/lib/mix/test/mix/tasks/cmd_test.exs b/lib/mix/test/mix/tasks/cmd_test.exs
+index db4bf06..4d441f7 100644
+--- a/lib/mix/test/mix/tasks/cmd_test.exs
++++ b/lib/mix/test/mix/tasks/cmd_test.exs
+@@ -3,6 +3,7 @@ Code.require_file "../../test_helper.exs", __DIR__
+ defmodule Mix.Tasks.CmdTest do
+ use MixTest.Case
+
++ @tag :skip
+ test "runs the command for each app" do
+ in_fixture "umbrella_dep/deps/umbrella", fn ->
+ Mix.Project.in_project(:umbrella, ".", fn _ ->
+diff --git a/lib/mix/test/mix/tasks/deps.tree_test.exs b/lib/mix/test/mix/tasks/deps.tree_test.exs
+index 4f09ff3..c371997 100644
+--- a/lib/mix/test/mix/tasks/deps.tree_test.exs
++++ b/lib/mix/test/mix/tasks/deps.tree_test.exs
+@@ -29,6 +29,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
+ end
+ end
+
++ @tag :skip
+ test "shows the dependency tree", context do
+ Mix.Project.push ConvergedDepsApp
+
+@@ -109,6 +110,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
+ end
+ end
+
++ @tag :skip
+ test "shows the dependency tree in DOT graph format", context do
+ Mix.Project.push ConvergedDepsApp
+
+diff --git a/lib/mix/test/mix/tasks/deps_test.exs b/lib/mix/test/mix/tasks/deps_test.exs
+index b061777..cc45cf8 100644
+--- a/lib/mix/test/mix/tasks/deps_test.exs
++++ b/lib/mix/test/mix/tasks/deps_test.exs
+@@ -409,6 +409,7 @@ defmodule Mix.Tasks.DepsTest do
+ end
+ end
+
++ @tag :skip
+ test "fails on diverged dependencies by requirement" do
+ Mix.Project.push ConvergedDepsApp
+
+@@ -440,6 +441,7 @@ defmodule Mix.Tasks.DepsTest do
+ end
+ end
+
++ @tag :skip
+ test "fails on diverged dependencies even when optional" do
+ Mix.Project.push ConvergedDepsApp
+
+@@ -469,6 +471,7 @@ defmodule Mix.Tasks.DepsTest do
+ end
+ end
+
++ @tag :skip
+ test "works with converged dependencies" do
+ Mix.Project.push ConvergedDepsApp
+
+@@ -491,6 +494,7 @@ defmodule Mix.Tasks.DepsTest do
+ purge [GitRepo, GitRepo.Mixfile]
+ end
+
++ @tag :skip
+ test "works with overridden dependencies" do
+ Mix.Project.push OverriddenDepsApp
+
+diff --git a/lib/mix/test/mix/umbrella_test.exs b/lib/mix/test/mix/umbrella_test.exs
+index 69f9428..406668a 100644
+--- a/lib/mix/test/mix/umbrella_test.exs
++++ b/lib/mix/test/mix/umbrella_test.exs
+@@ -98,6 +98,7 @@ defmodule Mix.UmbrellaTest do
+ end
+ end
+
++ @tag :skip
+ test "loads umbrella child dependencies in all environments" do
+ in_fixture "umbrella_dep/deps/umbrella", fn ->
+ Mix.Project.in_project :umbrella, ".", fn _ ->
--
2.6.3
^ permalink raw reply related [flat|nested] 63+ messages in thread
* (unknown)
@ 2016-07-20 3:46 Pjotr Prins
0 siblings, 0 replies; 63+ messages in thread
From: Pjotr Prins @ 2016-07-20 3:46 UTC (permalink / raw)
To: guix-devel
From 5fd8f64794b27f59f6688177a7a9e532b5d57f01 Mon Sep 17 00:00:00 2001
Date: Tue, 19 Jul 2016 11:13:27 +0000
Subject: [PATCH] gnu: Add elixir.
To: guix-devel@gnu.org
From: Pjotr Prins <pjotr.public12@thebird.nl>
* gnu/packages/elixir.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
gnu/local.mk | 1 +
gnu/packages/elixir.scm | 91 ++++++++++++
.../patches/elixir-disable-failing-tests.patch | 108 +++++++++++++++
.../patches/elixir-disable-mix-tests.patch | 152 +++++++++++++++++++++
gnu/packages/ruby.scm | 1 -
5 files changed, 352 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/elixir.scm
create mode 100644 gnu/packages/patches/elixir-disable-failing-tests.patch
create mode 100644 gnu/packages/patches/elixir-disable-mix-tests.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 536ecef..7a9a820 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -104,6 +104,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/ebook.scm \
%D%/packages/ed.scm \
%D%/packages/elf.scm \
+ %D%/packages/elixir.scm \
%D%/packages/emacs.scm \
%D%/packages/enchant.scm \
%D%/packages/engineering.scm \
diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
new file mode 100644
index 0000000..c1bbab3
--- /dev/null
+++ b/gnu/packages/elixir.scm
@@ -0,0 +1,91 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages elixir)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix packages)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base) ; for patch
+ #:use-module (gnu packages erlang)
+ #:use-module (gnu packages version-control))
+
+(define-public elixir
+ (package
+ (name "elixir")
+ (version "1.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/elixir-lang/elixir/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0jsc6kl7f74yszcypdv3w3vhyc9qfqav8nwc41in082m0vpfy95y"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("patch" ,patch)
+ ("patch/elixir-disable-failing-tests"
+ ,(search-patch "elixir-disable-failing-tests.patch"))
+ ("patch/elixir-disable-mix-tests"
+ ,(search-patch "elixir-disable-mix-tests.patch"))))
+ (inputs
+ `(("erlang" ,erlang)
+ ("git" ,git)))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'replace-git-path
+ (lambda _
+ (substitute* '("lib/elixir/lib/system.ex"
+ "lib/mix/lib/mix/scm/git.ex")
+ (("cmd\\('git") (string-append "cmd('" (which "git")))
+ (("cmd\\(\"git") (string-append "cmd(\"" (which "git"))))
+ #t))
+ (delete 'configure)
+ (add-before 'build 'rewrite-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "bin/elixir"
+ (("ERL_EXEC=\"erl\"")
+ (string-append "ERL_EXEC=" (which "erl"))))))
+ (add-after 'build 'disable-breaking-elixir-tests
+ ;; when patching tests as part of source the build breaks, so we do
+ ;; it after the build phase
+ (lambda* (#:key inputs #:allow-other-keys)
+ (and
+ (zero? (system* "patch" "--force" "-p1" "-i"
+ (assoc-ref inputs "patch/elixir-disable-failing-tests")))
+ (zero? (system* "patch" "--force" "-p1" "-i"
+ (assoc-ref inputs "patch/elixir-disable-mix-tests")))
+ ;; Tests currently fail in these two files:
+ (delete-file "./lib/mix/test/mix/tasks/deps.git_test.exs")
+ (delete-file "./lib/mix/test/mix/shell_test.exs"))))
+ (replace 'check
+ (lambda _
+ (zero? (system* "make" "test"))))) ;; 3124 tests, 0 failures, 11 skipped
+ #:make-flags (list (string-append "PREFIX=" %output))))
+ (home-page "http://elixir-lang.org/")
+ (synopsis "The Elixir programming language")
+ (description "Elixir is a dynamic, functional language used to
+build scalable and maintainable applications. Elixir leverages the
+Erlang VM, known for running low-latency, distributed and
+fault-tolerant systems, while also being successfully used in web
+development and the embedded software domain.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/patches/elixir-disable-failing-tests.patch b/gnu/packages/patches/elixir-disable-failing-tests.patch
new file mode 100644
index 0000000..802cb1e
--- /dev/null
+++ b/gnu/packages/patches/elixir-disable-failing-tests.patch
@@ -0,0 +1,108 @@
+diff --git a/lib/elixir/test/elixir/kernel/cli_test.exs b/lib/elixir/test/elixir/kernel/cli_test.exs
+index 3ffd56c..1232d19 100644
+--- a/lib/elixir/test/elixir/kernel/cli_test.exs
++++ b/lib/elixir/test/elixir/kernel/cli_test.exs
+@@ -39,6 +39,7 @@ end
+ defmodule Kernel.CLI.OptionParsingTest do
+ use ExUnit.Case, async: true
+
++ @tag :skip
+ test "properly parses paths" do
+ root = fixture_path("../../..") |> to_charlist
+ list = elixir('-pa "#{root}/*" -pz "#{root}/lib/*" -e "IO.inspect(:code.get_path, limit: :infinity)"')
+@@ -57,6 +58,7 @@ end
+ defmodule Kernel.CLI.AtExitTest do
+ use ExUnit.Case, async: true
+
++ @tag :skip
+ test "invokes at_exit callbacks" do
+ assert elixir(fixture_path("at_exit.exs") |> to_charlist) ==
+ 'goodbye cruel world with status 1\n'
+@@ -66,6 +68,7 @@ end
+ defmodule Kernel.CLI.ErrorTest do
+ use ExUnit.Case, async: true
+
++ @tag :skip
+ test "properly format errors" do
+ assert :string.str('** (throw) 1', elixir('-e "throw 1"')) == 0
+ assert :string.str('** (ErlangError) erlang error: 1', elixir('-e "error 1"')) == 0
+@@ -86,6 +89,7 @@ defmodule Kernel.CLI.CompileTest do
+ {:ok, [tmp_dir_path: tmp_dir_path, beam_file_path: beam_file_path, fixture: fixture]}
+ end
+
++ @tag :skip
+ test "compiles code", context do
+ assert elixirc('#{context[:fixture]} -o #{context[:tmp_dir_path]}') == ''
+ assert File.regular?(context[:beam_file_path])
+@@ -96,6 +100,7 @@ defmodule Kernel.CLI.CompileTest do
+ Code.delete_path context[:tmp_dir_path]
+ end
+
++ @tag :skip
+ test "fails on missing patterns", context do
+ output = elixirc('#{context[:fixture]} non_existing.ex -o #{context[:tmp_dir_path]}')
+ assert :string.str(output, 'non_existing.ex') > 0, "expected non_existing.ex to be mentioned"
+@@ -103,6 +108,7 @@ defmodule Kernel.CLI.CompileTest do
+ refute File.exists?(context[:beam_file_path]), "expected the sample to not be compiled"
+ end
+
++ @tag :skip
+ test "fails on missing write access to .beam file", context do
+ compilation_args = '#{context[:fixture]} -o #{context[:tmp_dir_path]}'
+
+diff --git a/lib/elixir/test/elixir/kernel/dialyzer_test.exs b/lib/elixir/test/elixir/kernel/dialyzer_test.exs
+index 801d852..40fc5bc 100644
+--- a/lib/elixir/test/elixir/kernel/dialyzer_test.exs
++++ b/lib/elixir/test/elixir/kernel/dialyzer_test.exs
+@@ -60,16 +60,19 @@ defmodule Kernel.DialyzerTest do
+ assert_dialyze_no_warnings! context
+ end
+
++ @tag :skip
+ test "no warnings on rewrites", context do
+ copy_beam! context, Dialyzer.Rewrite
+ assert_dialyze_no_warnings! context
+ end
+
++ @tag :skip
+ test "no warnings on raise", context do
+ copy_beam! context, Dialyzer.Raise
+ assert_dialyze_no_warnings! context
+ end
+
++ @tag :skip
+ test "no warnings on macrocallback", context do
+ copy_beam! context, Dialyzer.Macrocallback
+ copy_beam! context, Dialyzer.Macrocallback.Impl
+diff --git a/lib/elixir/test/elixir/node_test.exs b/lib/elixir/test/elixir/node_test.exs
+index d1f1fe6..5c2d469 100644
+--- a/lib/elixir/test/elixir/node_test.exs
++++ b/lib/elixir/test/elixir/node_test.exs
+@@ -6,8 +6,10 @@ defmodule NodeTest do
+ doctest Node
+
+ test "start/3 and stop/0" do
+- assert Node.stop == {:error, :not_found}
+- assert {:ok, _} = Node.start(:hello, :shortnames, 15000)
+- assert Node.stop() == :ok
++ IO.puts "Skipping test because GNU Guix does not allow the HOME environment variable."
++
++ # assert Node.stop == {:error, :not_found}
++ # assert {:ok, _} = Node.start(:hello, :shortnames, 15000)
++ # assert Node.stop() == :ok
+ end
+ end
+diff --git a/lib/elixir/test/elixir/system_test.exs b/lib/elixir/test/elixir/system_test.exs
+index aafa559..0f9c178 100644
+--- a/lib/elixir/test/elixir/system_test.exs
++++ b/lib/elixir/test/elixir/system_test.exs
+@@ -53,7 +53,8 @@ defmodule SystemTest do
+ assert System.endianness in [:little, :big]
+ assert System.endianness == System.compiled_endianness
+ end
+-
++
++ @tag :skip
+ test "argv/0" do
+ list = elixir('-e "IO.inspect System.argv" -- -o opt arg1 arg2 --long-opt 10')
+ {args, _} = Code.eval_string list, []
diff --git a/gnu/packages/patches/elixir-disable-mix-tests.patch b/gnu/packages/patches/elixir-disable-mix-tests.patch
new file mode 100644
index 0000000..649a916
--- /dev/null
+++ b/gnu/packages/patches/elixir-disable-mix-tests.patch
@@ -0,0 +1,152 @@
+diff --git a/lib/mix/test/mix/dep_test.exs b/lib/mix/test/mix/dep_test.exs
+index fff3351..d6ed1b3 100644
+--- a/lib/mix/test/mix/dep_test.exs
++++ b/lib/mix/test/mix/dep_test.exs
+@@ -244,6 +244,7 @@ defmodule Mix.DepTest do
+ end
+ end
+
++ @tag :skip
+ test "remote converger" do
+ deps = [{:deps_repo, "0.1.0", path: "custom/deps_repo"},
+ {:git_repo, "0.2.0", git: MixTest.Case.fixture_path("git_repo")}]
+@@ -301,6 +302,7 @@ defmodule Mix.DepTest do
+ end
+ end
+
++ @tag :skip
+ test "remote converger is not invoked if deps diverge" do
+ deps = [{:deps_repo, "0.1.0", path: "custom/deps_repo"},
+ {:git_repo, "0.2.0", git: MixTest.Case.fixture_path("git_repo"), only: :test}]
+diff --git a/lib/mix/test/mix/rebar_test.exs b/lib/mix/test/mix/rebar_test.exs
+index d2dd098..12cef15 100644
+--- a/lib/mix/test/mix/rebar_test.exs
++++ b/lib/mix/test/mix/rebar_test.exs
+@@ -120,6 +120,7 @@ defmodule Mix.RebarTest do
+ assert Enum.all?(deps, &(&1.manager == :rebar3))
+ end
+
++ @tag :skip
+ test "Rebar overrides" do
+ Mix.Project.push(RebarOverrideAsDep)
+
+@@ -150,6 +151,7 @@ defmodule Mix.RebarTest do
+ end
+ end
+
++ @tag :skip
+ test "get and compile dependencies for Rebar" do
+ Mix.Project.push(RebarAsDep)
+
+@@ -180,6 +182,7 @@ defmodule Mix.RebarTest do
+ end
+ end
+
++ @tag :skip
+ test "get and compile dependencies for rebar3" do
+ Mix.Project.push(Rebar3AsDep)
+
+diff --git a/lib/mix/test/mix/shell/io_test.exs b/lib/mix/test/mix/shell/io_test.exs
+index 9bfb6b4..d982ef3 100644
+--- a/lib/mix/test/mix/shell/io_test.exs
++++ b/lib/mix/test/mix/shell/io_test.exs
+@@ -29,6 +29,7 @@ defmodule Mix.Shell.IOTest do
+ assert capture_io("", fn -> refute yes?("Ok?") end)
+ end
+
++ @tag :skip
+ test "runs a given command" do
+ assert capture_io("", fn -> assert cmd("echo hello") == 0 end) == "hello\n"
+
+diff --git a/lib/mix/test/mix/shell/quiet_test.exs b/lib/mix/test/mix/shell/quiet_test.exs
+index 626429b..99fab35 100644
+--- a/lib/mix/test/mix/shell/quiet_test.exs
++++ b/lib/mix/test/mix/shell/quiet_test.exs
+@@ -29,6 +29,7 @@ defmodule Mix.Shell.QuietTest do
+ assert capture_io("", fn -> refute yes?("Ok?") end)
+ end
+
++ @tag :skip
+ test "runs a given command" do
+ assert capture_io("", fn -> assert cmd("echo hello") == 0 end) == ""
+
+diff --git a/lib/mix/test/mix/tasks/cmd_test.exs b/lib/mix/test/mix/tasks/cmd_test.exs
+index db4bf06..4d441f7 100644
+--- a/lib/mix/test/mix/tasks/cmd_test.exs
++++ b/lib/mix/test/mix/tasks/cmd_test.exs
+@@ -3,6 +3,7 @@ Code.require_file "../../test_helper.exs", __DIR__
+ defmodule Mix.Tasks.CmdTest do
+ use MixTest.Case
+
++ @tag :skip
+ test "runs the command for each app" do
+ in_fixture "umbrella_dep/deps/umbrella", fn ->
+ Mix.Project.in_project(:umbrella, ".", fn _ ->
+diff --git a/lib/mix/test/mix/tasks/deps.tree_test.exs b/lib/mix/test/mix/tasks/deps.tree_test.exs
+index 4f09ff3..c371997 100644
+--- a/lib/mix/test/mix/tasks/deps.tree_test.exs
++++ b/lib/mix/test/mix/tasks/deps.tree_test.exs
+@@ -29,6 +29,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
+ end
+ end
+
++ @tag :skip
+ test "shows the dependency tree", context do
+ Mix.Project.push ConvergedDepsApp
+
+@@ -109,6 +110,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
+ end
+ end
+
++ @tag :skip
+ test "shows the dependency tree in DOT graph format", context do
+ Mix.Project.push ConvergedDepsApp
+
+diff --git a/lib/mix/test/mix/tasks/deps_test.exs b/lib/mix/test/mix/tasks/deps_test.exs
+index b061777..cc45cf8 100644
+--- a/lib/mix/test/mix/tasks/deps_test.exs
++++ b/lib/mix/test/mix/tasks/deps_test.exs
+@@ -409,6 +409,7 @@ defmodule Mix.Tasks.DepsTest do
+ end
+ end
+
++ @tag :skip
+ test "fails on diverged dependencies by requirement" do
+ Mix.Project.push ConvergedDepsApp
+
+@@ -440,6 +441,7 @@ defmodule Mix.Tasks.DepsTest do
+ end
+ end
+
++ @tag :skip
+ test "fails on diverged dependencies even when optional" do
+ Mix.Project.push ConvergedDepsApp
+
+@@ -469,6 +471,7 @@ defmodule Mix.Tasks.DepsTest do
+ end
+ end
+
++ @tag :skip
+ test "works with converged dependencies" do
+ Mix.Project.push ConvergedDepsApp
+
+@@ -491,6 +494,7 @@ defmodule Mix.Tasks.DepsTest do
+ purge [GitRepo, GitRepo.Mixfile]
+ end
+
++ @tag :skip
+ test "works with overridden dependencies" do
+ Mix.Project.push OverriddenDepsApp
+
+diff --git a/lib/mix/test/mix/umbrella_test.exs b/lib/mix/test/mix/umbrella_test.exs
+index 69f9428..406668a 100644
+--- a/lib/mix/test/mix/umbrella_test.exs
++++ b/lib/mix/test/mix/umbrella_test.exs
+@@ -98,6 +98,7 @@ defmodule Mix.UmbrellaTest do
+ end
+ end
+
++ @tag :skip
+ test "loads umbrella child dependencies in all environments" do
+ in_fixture "umbrella_dep/deps/umbrella", fn ->
+ Mix.Project.in_project :umbrella, ".", fn _ ->
--
2.6.3
^ permalink raw reply related [flat|nested] 63+ messages in thread
* (unknown),
@ 2016-06-30 0:27 ng0
0 siblings, 0 replies; 63+ messages in thread
From: ng0 @ 2016-06-30 0:27 UTC (permalink / raw)
To: guix-devel
Just a heads up for patchworks:
You currently have no option to change the firstname + lastname
you select at signing up (and not an efficient way to see if this
is a requirement (which it should not be in my opinion)).
Having now a random name associated on the patchworks list with
my submissions is not too weird for me, but it might be
irritating for other people who are not expecting this
"feature".
--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown),
@ 2016-06-08 12:55 Ben Woodcroft
0 siblings, 0 replies; 63+ messages in thread
From: Ben Woodcroft @ 2016-06-08 12:55 UTC (permalink / raw)
To: guix-devel
Thanks in advance.
ben
^ permalink raw reply [flat|nested] 63+ messages in thread
* [PATCH] gnu: Add py3status.
@ 2016-05-30 19:24 Tomáš Čech
2016-05-30 20:01 ` (unknown), Tomáš Čech
0 siblings, 1 reply; 63+ messages in thread
From: Tomáš Čech @ 2016-05-30 19:24 UTC (permalink / raw)
To: guix-devel
* gnu/packages/python.scm (python-py3status): New variable.
---
gnu/packages/python.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index dc54bff..42a0e8a 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -8788,3 +8788,27 @@ the renaming, moving and extracting of attributes, functions, modules, fields
and parameters in Python 2 source code. These refactorings can also be applied
to occurences in strings and comments.")
(license gpl2)))
+
+(define-public python-py3status
+ (package
+ (name "python-py3status")
+ (version "2.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://pypi.python.org/packages/60/cd/79b6d249befe0a136a29e2d634a4ac78730bc240bec247fc3bfa355f644b/py3status-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ ""))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/ultrabug/py3status")
+ (synopsis "Extensible i3status wrapper written in python")
+ (description "py3status is i3status wrapper which extends i3status
+functionality in modular way, allowing you to extend your panel with
+your own code, responding to click events and update clock every
+second.")
+ (license bsd-3)))
--
2.8.3
^ permalink raw reply related [flat|nested] 63+ messages in thread
* (unknown)
@ 2015-09-15 14:35 Pjotr Prins
0 siblings, 0 replies; 63+ messages in thread
From: Pjotr Prins @ 2015-09-15 14:35 UTC (permalink / raw)
To: guix-devel
From f8493e0e3e4520bb4de4fd20e93d325444332dc3 Mon Sep 17 00:00:00 2001
Date: Tue, 15 Sep 2015 14:21:17 +0000
Subject: [PATCH] gnu: Add ruby-gherkin3
To: guix-devel@gnu.org
From: pjotr.public12@thebird.nl
* gnu/packages/ruby.scm (ruby-gherkin3): New variable.
---
gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ee0acc8..4756cd4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1124,3 +1124,28 @@ it unifies the API for web servers, web frameworks, and software in between
into a single method call.")
(home-page "http://rack.github.io/")
(license license:expat)))
+
+(define-public ruby-gherkin3
+ (package
+ (name "ruby-gherkin3")
+ (version "3.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "gherkin3" version))
+ (sha256
+ (base32
+ "0xsyxhqa1gwcxzvsdy4didaiq5vam8ma3fbwbw2w60via4k6r1z9"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (arguments
+ '(#:tests? #f)) ; needs simplecov, among others
+ (synopsis "Gherkin parser")
+ (description "Gherkin 3 is a parser and compiler for the Gherkin
+language. It is intended to replace Gherkin 2 and be used by all
+Cucumber implementations to parse .feature files.")
+ (home-page
+ "https://github.com/cucumber/gherkin3")
+ (license expat)))
--
2.4.3
^ permalink raw reply related [flat|nested] 63+ messages in thread
* (unknown)
@ 2015-07-13 13:01 Pjotr Prins
0 siblings, 0 replies; 63+ messages in thread
From: Pjotr Prins @ 2015-07-13 13:01 UTC (permalink / raw)
To: guix-devel
[-- Attachment #1: Type: text/plain, Size: 1 bytes --]
[-- Attachment #2: 0001-gnu-Add-ruby-nokogiri.patch --]
[-- Type: text/x-diff, Size: 2711 bytes --]
From e2fd935a659cacde5cb74bef19406f056a262f79 Mon Sep 17 00:00:00 2001
From: pjotrp <pjotr.public01@thebird.nl>
Date: Mon, 13 Jul 2015 14:56:40 +0200
Subject: [PATCH] gnu: Add ruby-nokogiri
* gnu/packages/ruby.scm (gnu-nokogiri): New variable
---
gnu/packages/ruby.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index bb7d865..85cb0d4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -34,6 +34,7 @@
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages xml)
#:use-module (guix build-system ruby))
(define-public ruby
@@ -519,6 +520,45 @@ using Net::HTTP, supporting reconnection and retry according to RFC 2616.")
(home-page "https://github.com/drbrain/net-http-persistent")
(license license:expat)))
+(define-public ruby-nokogiri
+ (package
+ (name "ruby-nokogiri")
+ (version "1.6.6.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/sparklemotion/nokogiri/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (patches (map search-patch
+ (list "ruby-nokogiri-Rakefile.patch")))
+ (sha256
+ (base32
+ "1dpmmxr8azbyvhhmw9hpyk3dds577vsd6c312gh2s7kgjd98nd9j"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(
+ #:tests? #f ;; test fails because nokogiri can only test with a built extension (now part of install phase)
+ #:gem-flags (list "--use-system-libraries" (string-append "--with-xml2-include=" (assoc-ref %build-inputs "libxml2") "/include/libxml2" ))
+ #:phases (alist-replace
+ 'build
+ (lambda _
+ ;; calling rake gem 2x begets a gem
+ (system* "rake" "gem")
+ (zero? (system* "rake" "gem")))
+ %standard-phases)))
+ (native-inputs
+ `(("ruby-hoe" ,ruby-hoe)
+ ("ruby-rake-compiler", ruby-rake-compiler)))
+ (inputs
+ `(("zlib" ,zlib)
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)))
+ (synopsis "Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser")
+ (description "Nokogiri parses and searches XML/HTML very quickly, and also has correctly implemented CSS3 selector support as well as XPath 1.0 support.")
+ (home-page "http://www.nokogiri.org/")
+ (license license:x11)))
+
(define-public ruby-minitest
(package
(name "ruby-minitest")
--
1.7.10.4
^ permalink raw reply related [flat|nested] 63+ messages in thread
* Re: [PATCH 2/2] gnu: Update pumpa to 0.9.1.
@ 2015-07-08 14:30 Mathieu Lirzin
2015-07-08 14:39 ` (unknown), Claes Wallin (韋嘉誠)
0 siblings, 1 reply; 63+ messages in thread
From: Mathieu Lirzin @ 2015-07-08 14:30 UTC (permalink / raw)
To: Claes Wallin (韋嘉誠); +Cc: guix-devel, Claes Wallin
Hi,
I think the URL change and the package update commits can be squashed
with a commit message like this:
gnu: pumpa: Update to 0.9.1.
* gnu/packages/pumpio.scm (pumpa): Update to 0.9.1. Change URL.
--
Mathieu Lirzin
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown),
@ 2015-03-25 22:49 Tomáš Čech
0 siblings, 0 replies; 63+ messages in thread
From: Tomáš Čech @ 2015-03-25 22:49 UTC (permalink / raw)
To: guix-devel
I haven't seen any further reaction for 12 days so I hope you don't mind that
I resend it again.
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown)
@ 2014-12-03 18:02 Tomas Cech
0 siblings, 0 replies; 63+ messages in thread
From: Tomas Cech @ 2014-12-03 18:02 UTC (permalink / raw)
To: guix-devel
Hello,
I'd like to share with you some experiences with using Guix.
I tried to install Guix as alternative OS to my Gentoo and openSUSE
installations to give a try. I tried unsupported scenario -
installation on LVM volume and separate /boot partition until I was
told it is unsupported. Separate boot wasn't hard as I had to just
copy generated files so they are loaded. But eventually I gave up
preparing it manually or automating it and I had rather put another
Grub in the same partition and set up chainloading.
I met then two problems:
1] if you set device to partition (and not to disk) in your grub-configuration like this:
(bootloader (grub-configuration
(device "/dev/sda4")))
`guix system init' will fail on grub installation. By default Grub
tries to fit in the beginning of partition and fails if it can't fit
in. I asked about this behaviour on Grub mailing list and it seems
that there are two options:
a] add `--force' to command line and use block list for keeping information about position of Grub's core.img
b] use filesystem which allows embedding - BtrFS or ZFS
I verified both options (a] and then b] with BtrFS) and it no longer fails.
But,
ad a] - I don't feel safe passing `--force' to grub-install every
time. So if installation fails on this point and you'd like to use
your FS anyway, you can pass `--no-grub' to `guix system init' and
then rung grub-install manually.
ad b] - I don't feel safe using still experimental BtrFS.
2] current Grub version in Guix during boots generated this error:
error: symbol 'grub_term_highlight_color' not found
and started rescue shell.
It seems to be a bit mystic bug:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1289977
I used my Gentoo's version of Grub to fix it and then it worked.
I'm also interested in running chroot in Guix. This is something I
like about all Linux distribution I use - I can run Linux and at the
same time I prepare another Linux root filesystem for use. It seems
that chrooting into Guix may be tricky.
I prepared this script to be placed somewhere into Guix:
----------%<---------
#!/run/current-system/profile/bin/bash
export LIBRARY_PATH=LIBRARY_PATH=/root/.guix-profile/lib
export CPATH=/root/.guix-profile/include
export PATH=/run/setuid-programs:/run/current-system/profile/sbin:/root/.guix-profile/bin:/run/current-system/profile/bin
export INFOPATH=/root/.guix-profile/share/info:/run/current-system/profile/share/info
exec bash -i
----------%<--------
for i in dev proc sys; do mount -R /$i /guix_mountpoint/$i; done
chroot /guix_mountpoint/ /helper_script.sh
Ludovic said that `guix packages --search-paths' should generate similar path configuration so it may be the right way, but it didn't work for me.
And last thing I wanted to mention, you have kind community around Guix and Guile. It's really motivating!
Best regards,
Tomas Cech
Sleep_Walker
^ permalink raw reply [flat|nested] 63+ messages in thread
* (unknown),
@ 2014-02-04 15:12 John Darrington
0 siblings, 0 replies; 63+ messages in thread
From: John Darrington @ 2014-02-04 15:12 UTC (permalink / raw)
To: guix-devel
In my opinion the changelog conventions are achronistic, unintuitive,
and bring benefit neither to developers nor users.
However thanks for showing me the correct format.
Updated patches follow
^ permalink raw reply [flat|nested] 63+ messages in thread
* Re: [PATCH 3/3] gnu: Add octave and dependencies
@ 2014-01-26 7:38 John Darrington
2014-01-26 9:09 ` (unknown), John Darrington
0 siblings, 1 reply; 63+ messages in thread
From: John Darrington @ 2014-01-26 7:38 UTC (permalink / raw)
To: Ludovic Court??s; +Cc: guix-devel, John Darrington
[-- Attachment #1: Type: text/plain, Size: 2518 bytes --]
On Sat, Jan 25, 2014 at 09:41:32PM +0100, Ludovic Court??s wrote:
John Darrington <john@darrington.wattle.id.au> skribis:
> On Sat, Jan 25, 2014 at 05:42:17PM +0100, Andreas Enge wrote:
> On Sat, Jan 25, 2014 at 05:14:57PM +0100, John Darrington wrote:
> > The octave build system is rather naive. These propagated inputs don't actually
> > *need* to be present at configure/build time. But the ./configure (rather stupidly IMO)
> > checks for their presence, and turns off the relevant features if they are not found.
> > Therefore, one must declare them as native-inputs just to keep ./configure happy AND
> > as propagated inputs because they are called in a pipe from the octave program itself.
>
> Would it be reasonable to patch the lines in which external programs are
> called, replacing the program name by its complete path with a well-chosen
> (substitute*)?
> Then one would not need to propagate the inputs.
>
> I don't think that will work.
I think it would. If there???s a line like:
execlp ("makeinfo" ...);
patching that to, say:
execl ("/.../bin/makeinfo" ...);
will definitely work. (This is what Octave???s build system should be
doing, actually.)
WDYT?
(As an example, see how mingetty is patched to refer to a specific
???login??? program, in admin.scm.)
I think I see where you are coming from. If we did what you suggest, then we could remove
makeinfo et al from propagated-inputs, but we would have to add them to inputs (in
to native-inputs).
So it would not reduce the total number of "inputs". Further, it would mean we would have
to devise a number of potentially complicated patches, which we would be condemned to
maintain. Further, it seems to me, to be a bit deceptive. By removing makeinfo from
propagated-inputs we are pretending that makeinfo does not need to be installed along with
octave, whereas in fact, it does (if one wants to read the manual from within octave).
As I understand it, a propagated input means that X must always be installed with Y.
What benefit does this proposal bring us?
J'
--
PGP Public key ID: 1024D/2DE827B3
fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 63+ messages in thread
* [PATCH 2/2] gnu: fltk: New module
@ 2014-01-25 7:00 John Darrington
2014-01-25 8:27 ` (unknown), John Darrington
0 siblings, 1 reply; 63+ messages in thread
From: John Darrington @ 2014-01-25 7:00 UTC (permalink / raw)
To: guix-devel; +Cc: John Darrington
* gnu/packages/fltk.scm: New file
* gnu-system.am: New file fltk.scm
---
gnu-system.am | 2 ++
gnu/packages/fltk.scm | 63 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 65 insertions(+)
create mode 100644 gnu/packages/fltk.scm
diff --git a/gnu-system.am b/gnu-system.am
index 31d664e..a2d85c8 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -57,12 +57,14 @@ GNU_SYSTEM_MODULES = \
gnu/packages/dictionaries.scm \
gnu/packages/docbook.scm \
gnu/packages/dwm.scm \
+ gnu/packages/e2fsprogs.scm \
gnu/packages/ed.scm \
gnu/packages/elf.scm \
gnu/packages/emacs.scm \
gnu/packages/fdisk.scm \
gnu/packages/file.scm \
gnu/packages/flex.scm \
+ gnu/packages/fltk.scm \
gnu/packages/fonts.scm \
gnu/packages/fontutils.scm \
gnu/packages/freeipmi.scm \
diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm
new file mode 100644
index 0000000..4c8fc3f
--- /dev/null
+++ b/gnu/packages/fltk.scm
@@ -0,0 +1,63 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 John Darrington <jmd@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages fltk)
+ #:use-module (guix licenses)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages gl)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define-public fltk
+ (package
+ (name "fltk")
+ (version "1.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://fltk.org/pub/fltk/" version "/fltk-" version "-source.tar.gz"))
+ (sha256
+ (base32
+ "1974brlk723095vf8z72kazq1cbqr9a51kq6b0xda6zkjkgl8q0p"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libx11" ,libx11)
+ ("mesa" ,mesa)))
+ (arguments
+ `(#:phases
+ (alist-replace
+ 'check
+ (lambda* (#:key inputs #:allow-other-keys) #t) ;; fltk does not have a
+ ;; check target
+ (alist-replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys #:rest args)
+ (let ((configure (assoc-ref %standard-phases 'configure)))
+ (substitute* "makeinclude.in"
+ (("/bin/sh") (which "sh")))
+ (apply configure args)))
+ %standard-phases))))
+ (home-page "https://www.fltk.org")
+ (synopsis "3D C++ GUI library")
+ (description "FLTK is a C++ GUI toolkit providing modern GUI functionality without the
+bloat. It supports 3D graphics via OpenGL and its built-in GLUT emulation.
+FLTK is designed to be small and modular enough to be statically linked, but
+works fine as a shared library. FLTK also includes an excellent UI builder
+called FLUID that can be used to create applications in minutes.")
+ (license lgpl2.0))) ; plus certain additional permissions
--
1.7.10.4
^ permalink raw reply related [flat|nested] 63+ messages in thread
* Re: [PATCH] Doc: Introduction: rewrite for style and clarity.
@ 2014-01-23 13:30 Ludovic Courtès
2014-01-23 18:00 ` (unknown), Alex Sassmannshausen
0 siblings, 1 reply; 63+ messages in thread
From: Ludovic Courtès @ 2014-01-23 13:30 UTC (permalink / raw)
To: Alex Sassmannshausen; +Cc: guix-devel
Alex Sassmannshausen <alex.sassmannshausen@gmail.com> skribis:
> * dmd.texi (Introduction): Rewrite for style and clarity.
Overall looks good to me!
A few comments below:
> --- a/dmd.texi
> +++ b/dmd.texi
> @@ -78,24 +78,28 @@ the GNU system.
>
> @cindex service manager
> This manual documents the @dfn{dmd} service manager. It is used to
[...]
> +start and stop system services (typically daemons) in a reliable
> +fashion---by automatically starting prerequisites (``required
> +services'') and by preventing conflicting services from being started.
> +dmd is designed to be flexible when choosing what services to start
> +and stop.
I prefer to avoid parenthetical expressions in the middle of sentences,
because it breaks the rhythm when reading the sentence.
Perhaps that can be achieved here by adding a sentence before to
introduce “services” and “prerequisites”?
> +dmd is the @dfn{init system} of the GNU operating system---it is the
> +first user process that gets started, typically with PID 1, and runs
> +as @code{root}. Normally the purpose of init systems is to manage all
> +system-wide services, but dmd can also be a useful tool assisting
> +unprivileged users in the management of their own daemons.
Currently the manual says “It is also a useful tool that assists
unprivileged users in the management of their own daemons.” I think it
would be nice to keep that information somewhere, though I agree it
sort-of gets in the way currently. WDYT?
> +Unfortunately all flexible software requires some time to master and
> +dmd is no different. But don't worry: this manual should allow you to
> +get started quickly. Its first chapter is designed as a practical
> +introduction to dmd and should be all you need for everyday use
> +(@ref{Jump Start}). In chapter two (@ref{deco and dmd}) we will
Use @pxref for parenthetical cross-references (info "(texinfo) @pxref").
> +describe the deco and dmd programs, and their relationship, in more
@command{deco} and @command{dmd}.
> +detail. The chapters following chapter 2 provide a full reference
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
“Subsequent chapters”?
> +manual and plenty of examples, covering all of dmd's capabilities.
> +Finally, the last chapter provides information for those souls brave
> +enough to hack dmd itself.
I like the distinction you make between essential for normal use,
advanced use, and hacking.
Fine point: please use two spaces after an end-of-sentence period.
Thank you!
Ludo’.
^ permalink raw reply [flat|nested] 63+ messages in thread
end of thread, other threads:[~2020-04-13 9:53 UTC | newest]
Thread overview: 63+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-30 16:36 Gnunet-0.10.0 recipe Sree Harsha Totakura
2014-01-30 16:37 ` [PATCH 1/2] gnu: gnunet: Remove Gstreamer dependency Sree Harsha Totakura
2014-01-30 16:37 ` [PATCH 2/2] gnu: gnunet: Add gnunet-0.10.0 Sree Harsha Totakura
2014-01-30 21:11 ` Ludovic Courtès
2014-01-30 22:41 ` [PATCH] gnu: gnunet: Add GNUnet-0.10.0 Sree Harsha Totakura
2014-02-10 22:04 ` [PATCH 1/2] gnu: gnunet: Remove Gstreamer dependency Ludovic Courtès
2014-01-30 22:39 ` Gnunet-0.10.0 recipe Andreas Enge
2014-01-30 22:56 ` Sree Harsha Totakura
2014-01-30 23:33 ` Sree Harsha Totakura
2014-01-30 23:33 ` [PATCH] gnu: gnunet: Add GNUnet-0.10.0 Sree Harsha Totakura
2014-01-31 16:17 ` Mark H Weaver
2014-02-02 18:28 ` Ludovic Courtès
2014-02-10 22:15 ` Ludovic Courtès
2014-02-10 22:33 ` Andreas Enge
2014-02-11 8:05 ` Ludovic Courtès
2014-02-11 8:25 ` Andreas Enge
2014-02-11 14:11 ` Andreas Enge
2014-02-11 10:05 ` Sree Harsha Totakura
2014-02-11 10:10 ` Andreas Enge
2014-02-11 10:47 ` Ludovic Courtès
2014-02-11 18:17 ` [PATCH] gnu: curl, gnurl: Fix failing testcase 172 Sree Harsha Totakura
2014-02-11 19:00 ` Andreas Enge
2014-01-31 8:54 ` Gnunet-0.10.0 recipe Andreas Enge
2014-02-03 22:17 ` Andreas Enge
2014-02-03 23:00 ` Ludovic Courtès
2014-02-05 17:27 ` Andreas Enge
2014-02-11 20:49 ` Andreas Enge
2014-02-11 22:17 ` Sree Harsha Totakura
2014-02-12 15:15 ` (unknown), Sree Harsha Totakura
2014-02-12 15:15 ` [PATCH] gnu: gnunet: Fix failing testcases Sree Harsha Totakura
2014-02-12 17:37 ` Ludovic Courtès
2014-02-12 17:36 ` none Ludovic Courtès
2014-02-12 17:38 ` none Sree Harsha Totakura
2014-02-12 19:25 ` none Andreas Enge
2014-02-12 20:30 ` none Ludovic Courtès
2014-02-12 20:53 ` none Andreas Enge
2014-02-04 0:18 ` Gnunet-0.10.0 recipe Sree Harsha Totakura
2014-01-31 16:05 ` Ludovic Courtès
2014-02-03 22:19 ` Andreas Enge
2014-02-03 22:57 ` Ludovic Courtès
2014-02-04 0:21 ` Sree Harsha Totakura
2014-02-04 8:06 ` Christian Grothoff
-- strict thread matches above, loose matches on Subject: below --
2020-04-13 9:53 (unknown) elaexuotee
2019-05-02 16:19 (unknown) znavko
2018-04-27 15:05 (unknown), Catonano
2017-01-02 19:22 (unknown), manolis837
2016-12-19 17:50 (unknown), John Darrington
2016-12-05 18:20 (unknown), ng0
2016-10-06 6:16 (unknown), Leo Famulari
2016-07-21 1:39 (unknown) Unknown, Pjotr Prins
2016-07-20 3:46 (unknown) Pjotr Prins
2016-06-30 0:27 (unknown), ng0
2016-06-08 12:55 (unknown), Ben Woodcroft
2016-05-30 19:24 [PATCH] gnu: Add py3status Tomáš Čech
2016-05-30 20:01 ` (unknown), Tomáš Čech
2015-09-15 14:35 (unknown) Pjotr Prins
2015-07-13 13:01 (unknown) Pjotr Prins
2015-07-08 14:30 [PATCH 2/2] gnu: Update pumpa to 0.9.1 Mathieu Lirzin
2015-07-08 14:39 ` (unknown), Claes Wallin (韋嘉誠)
2015-03-25 22:49 (unknown), Tomáš Čech
2014-12-03 18:02 (unknown) Tomas Cech
2014-02-04 15:12 (unknown), John Darrington
2014-01-26 7:38 [PATCH 3/3] gnu: Add octave and dependencies John Darrington
2014-01-26 9:09 ` (unknown), John Darrington
2014-01-25 7:00 [PATCH 2/2] gnu: fltk: New module John Darrington
2014-01-25 8:27 ` (unknown), John Darrington
2014-01-23 13:30 [PATCH] Doc: Introduction: rewrite for style and clarity Ludovic Courtès
2014-01-23 18:00 ` (unknown), Alex Sassmannshausen
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).