unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Sree Harsha Totakura <sreeharsha@totakura.in>
To: guix-devel@gnu.org
Subject: [PATCH 2/2] gnu: gnunet: Add gnunet-0.10.0.
Date: Thu, 30 Jan 2014 17:37:11 +0100	[thread overview]
Message-ID: <1391099831-14896-2-git-send-email-sreeharsha@totakura.in> (raw)
In-Reply-To: <1391099831-14896-1-git-send-email-sreeharsha@totakura.in>

* 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

  reply	other threads:[~2014-01-30 16:38 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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   ` Sree Harsha Totakura [this message]
2014-01-30 21:11     ` [PATCH 2/2] gnu: gnunet: Add gnunet-0.10.0 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1391099831-14896-2-git-send-email-sreeharsha@totakura.in \
    --to=sreeharsha@totakura.in \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).