From: Sree Harsha Totakura <sreeharsha@totakura.in>
To: guix-devel@gnu.org
Subject: [PATCH] gnu: gnunet: Add GNUnet-0.10.0.
Date: Fri, 31 Jan 2014 00:33:36 +0100 [thread overview]
Message-ID: <1391124816-31500-1-git-send-email-sreeharsha@totakura.in> (raw)
In-Reply-To: <52EAE140.8090805@totakura.in>
* 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
next prev parent reply other threads:[~2014-01-30 23:34 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 ` [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 ` Sree Harsha Totakura [this message]
2014-01-31 16:17 ` [PATCH] gnu: gnunet: Add GNUnet-0.10.0 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=1391124816-31500-1-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).