unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ messages in thread

* Re: [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
  2014-01-31 16:17         ` Mark H Weaver
@ 2014-02-02 18:28           ` Ludovic Courtès
  0 siblings, 0 replies; 42+ messages in thread
From: Ludovic Courtès @ 2014-02-02 18:28 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

Mark H Weaver <mhw@netris.org> skribis:

> What do you think?

Right, we should generally stick to the “standard rule”, as noted in
‘HACKING’.

Ludo’.

^ permalink raw reply	[flat|nested] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ messages in thread

* Re: [PATCH] gnu: curl, gnurl: Fix failing testcase 172.
  2014-02-11 18:17               ` [PATCH] gnu: curl, gnurl: Fix failing testcase 172 Sree Harsha Totakura
@ 2014-02-11 19:00                 ` Andreas Enge
  0 siblings, 0 replies; 42+ messages in thread
From: Andreas Enge @ 2014-02-11 19:00 UTC (permalink / raw)
  To: Sree Harsha Totakura; +Cc: guix-devel

Thanks a lot, applied!

Andreas

^ permalink raw reply	[flat|nested] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ messages in thread

* Re: [PATCH] gnu: gnunet: Fix failing testcases.
  2014-02-12 15:15                     ` [PATCH] gnu: gnunet: Fix failing testcases Sree Harsha Totakura
@ 2014-02-12 17:37                       ` Ludovic Courtès
  0 siblings, 0 replies; 42+ messages in thread
From: Ludovic Courtès @ 2014-02-12 17:37 UTC (permalink / raw)
  To: Sree Harsha Totakura; +Cc: guix-devel

Sree Harsha Totakura <sreeharsha@totakura.in> skribis:

> * gnu/packages/gnunet.scm (gnurl): Add pkg-config.
> * gnu/packages/patches/gnunet-fix-tests.patch: Append fix for integration testcases.

Pushed, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ 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; 42+ 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] 42+ messages in thread

end of thread, other threads:[~2014-02-12 20:54 UTC | newest]

Thread overview: 42+ 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

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).