From 867bf5c7418d2caaf51414afe46df4b3e3b8b058 Mon Sep 17 00:00:00 2001 From: Nils Gillmann Date: Fri, 11 Mar 2016 17:08:26 +0100 Subject: [PATCH] gnu: gnunet (Various Changes) * gnu/packages/gnunet.scm: Add gnunet-svn (New Variable) Add gnunet-gtk-svn (Likewise) gnunet-gtk: (#configure-flags: add --with-gnunet) gnurl: (#configure-flags: add --with-ca-path) above co-authored by Jookia gnunet: Update and make description more accessible gnunet-gtk-svn: track bug #22985 --- gnu/packages/gnunet.scm | 167 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 154 insertions(+), 13 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index eb0c4cb..e2919e4 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -3,8 +3,9 @@ ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2015 Ludovic Courtès ;;; Copyright © 2015 Efraim Flashner -;;; Copyright © 2016 Ni* Gillmann +;;; Copyright © 2016 Nils Gillmann ;;; Copyright © 2016 Ricardo Wurmus +;;; Copyright © 2016 Jookia <166291@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,6 +54,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix svn-download) #:use-module (guix build-system gnu)) (define-public libextractor @@ -178,7 +180,7 @@ and support for SSL3 and TLS.") "--disable-ldap" "--disable-rtsp" "--disable-dict" "--disable-telnet" "--disable-tftp" "--disable-pop3" "--disable-imap" "--disable-smtp" "--disable-gopher" - "--disable-file" "--disable-ftp") + "--disable-file" "--disable-ftp" "--with-ca-path=/etc/ssl/certs/") #:test-target "test" #:parallel-tests? #f ;; We have to patch runtests.pl in tests/ directory @@ -251,15 +253,17 @@ supports HTTPS, HTTPS and GnuTLS.") 'check %standard-phases))))) (synopsis "Secure, decentralized, peer-to-peer networking framework") - (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 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.") + (description "GNUnet is a framework for secure, distributed, peer-to-peer +networking. The high-level goal is to provide a strong foundation of free +software for a global, distributed network which provides security and +privacy. GNUnet in that sense aims to replace the current internet protocol +stack. Along with an application for secure publication of files, it has +grown to include all kinds of basic applications for the foundation of a GNU +internet. + +gnunet-0.10.1 is the last stable release candidate, however for +development purposes and keeping up with latest changes, the SVN version +might be preferable until a new version is released.") (license license:gpl3+) (home-page "https://gnunet.org/"))) @@ -313,7 +317,9 @@ services.") (arguments `(#:configure-flags (list "--without-libunique" - "--with-qrencode"))) + "--with-qrencode" + (string-append "--with-gnunet=" + (assoc-ref %build-inputs "gnunet"))))) (inputs `(("gnunet" ,gnunet) ("libgcrypt" ,libgcrypt) @@ -324,4 +330,139 @@ services.") (native-inputs `(("pkg-config" ,pkg-config) ("libglade" ,libglade))) - (synopsis "Graphical front-end tools for GNUnet"))) + (synopsis "Graphical front-end tools for GNUnet") + (home-page "https://gnunet.org"))) + +;; We provide SVN in addition to the older 0.10.1 version, +;; protocol and API compatibility will be broken when GNUnet bug #4165 +;; is fixed. +(define-public gnunet-svn + (package + (name "gnunet-svn") + (version "0.10.1.svn36926") + (source + (origin + (method svn-fetch) + (uri (svn-reference + (url "https://gnunet.org/svn/gnunet/") + (revision 36926))) + (file-name (string-append name "-" version "-checkout")) + (sha256 (base32 + "0wgmvxcazcws38zpky566rgssqbbmr72z96xdwia73vsy7ysy6h4")))) + (build-system gnu-build-system) + (inputs + `(("glpk" ,glpk) + ("gnurl" ,gnurl) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ("gnutls" ,gnutls) + ("libextractor" ,libextractor) + ("libgcrypt" ,libgcrypt) + ("libidn" ,libidn) + ("libmicrohttpd" ,libmicrohttpd) + ("libltdl" ,libltdl) + ("libunistring" ,libunistring) + ("openssl" ,openssl) + ("opus" ,opus) + ("pulseaudio" ,pulseaudio) + ("sqlite" ,sqlite) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gnu-gettext) + ("libtool" ,libtool) + ("python" ,python-2))) + (arguments + '(#:configure-flags + (list (string-append "--with-nssdir=" %output "/lib")) + #:parallel-tests? #f + ;; test_gnunet_service_arm fails; reported upstream + #:tests? #f + #:phases + ;; swap check and install phases and set paths to installed binaries + (alist-cons-after + 'patch-bin-sh 'bootstrap + (lambda _ (zero? (system* (which "sh") "./bootstrap"))) + (alist-cons-after + 'unpack 'patch-bin-sh + (lambda _ + (and + (substitute* + '("bootstrap") + (("contrib/pogen.sh") "sh contrib/pogen.sh")) + (for-each (lambda (f) (chmod f #o755)) + (find-files "po" "")))) + (alist-cons-before + 'check 'set-path-for-check + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "GNUNET_PREFIX" (string-append out "/lib")) + (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin")))) + (alist-cons-after + 'install 'check + (assoc-ref %standard-phases 'check) + (alist-delete + 'check + %standard-phases))))))) + (synopsis "Secure, decentralized, peer-to-peer networking framework") + (description "GNUnet is a framework for secure, distributed, peer-to-peer +networking. The high-level goal is to provide a strong foundation of free +software for a global, distributed network which provides security and +privacy. GNUnet in that sense aims to replace the current internet protocol +stack. Along with an application for secure publication of files, it has +grown to include all kinds of basic applications for the foundation of a GNU +internet. + +gnunet-0.10.1 is the last stable release candidate, however for +development purposes and keeping up with latest changes, the SVN version +might be preferable until a new version is released.") + (license license:gpl3+) + (home-page "https://gnunet.org/"))) + +;; current WM related bug being traced: +;; #22985: using gnune-gtk with ratpoison (gnunet-fs in -gtk +;; nonfunctional) -> needs participation and input) +(define-public gnunet-gtk-svn + (package + (inherit gnunet-svn) + (name "gnunet-gtk-svn") + (version (package-version gnunet-svn)) + (source + (origin + (method svn-fetch) + (uri (svn-reference + (url "https://gnunet.org/svn/gnunet-gtk/") + (revision 36926))) + (file-name (string-append name "-" version "-checkout")) + (sha256 (base32 + "0kbxgfv08kh69vcrkvm23d2vggyww48h9cvgw4gdfs3i146zkfqb")))) + (arguments + `(#:configure-flags + (list "--without-libunique" + "--with-qrencode" + (string-append "--with-gnunet=" + (assoc-ref %build-inputs "gnunet-svn"))) + #:phases (modify-phases %standard-phases + (add-before 'configure 'bootstrap + (lambda _ + (zero? (system* "autoreconf" "-vfi"))))))) + (inputs + `(("gnunet-svn" ,gnunet-svn) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gnutls" ,gnutls) + ("libgcrypt" ,libgcrypt) + ("gtk+" ,gtk+) + ("libextractor" ,libextractor) + ("glade3" ,glade3) + ("qrencode" ,qrencode))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("libglade" ,libglade) + ("autoconf" ,autoconf) + ("gettext" ,gnu-gettext) + ("automake" ,automake) + ("libtool" ,libtool))) + (synopsis "Graphical front-end tools for GNUnet") + (home-page "https://gnunet.org"))) -- 2.6.3