From c1e673b06506ebfd476ccd248a6f00e18c4d22c1 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sat, 30 Jul 2016 14:09:31 +0000 Subject: [PATCH 1/3] gnu: Add gnunet-svn. * gnu/packages/gnunet.scm (gnunet-svn): New variable. --- gnu/packages/gnunet.scm | 82 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 4d888bd..25ac073 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -54,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 @@ -330,3 +331,84 @@ services.") `(("pkg-config" ,pkg-config) ("libglade" ,libglade))) (synopsis "Graphical front-end tools for GNUnet"))) + +;; gnunet-fs 0.9, 0.10.1 and HEAD are incompatible to each other as +;; explained here https://gnunet.org/bot/log/gnunet/2016-06-23#T1067897 +;; We use a revision of a proven and confirmed to be usable and stable +;; version before refactoring work towards 0.10.2 started. + +(define-public gnunet-svn + (let ((svn-revision 37273)) + (package + (name "gnunet-svn") + (version (string-append "0.10.1" "-1" ".svn" + (number->string svn-revision))) + (source + (origin + (method svn-fetch) + (uri (svn-reference + (url "https://gnunet.org/svn/gnunet/") + (revision svn-revision))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0xn8g0mk2nl142yz4zzrj25rpnhxfvjwnfnangyx8s44xv75i2dc")))) + (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) + ("python" ,python-2))) ; tests and gnunet-qr + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("gnu-gettext" ,gnu-gettext) + ("libtool" ,libtool))) + (arguments + '(#:configure-flags + (list (string-append "--with-nssdir=" %output "/lib")) + #:parallel-tests? #f ; parallel building is not functional + #:tests? #f ; FAIL: test_testbed_logger_api + #:phases + ;; swap check and install phases and set paths to installed bin + (modify-phases %standard-phases + (add-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" ""))))) + (add-after 'patch-bin-sh 'bootstrap + (lambda _ + (zero? + (system* "sh" "bootstrap")))) + (add-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")))))))) + (synopsis "Secure, decentralized, peer-to-peer networking framework") + (description + "GNUnet is a framework for secure peer-to-peer networking. The +high-level goal is to provide a strong foundation of free software for a +global, distributed network that 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.") + (license license:gpl3+) + (home-page "https://gnunet.org/")))) -- 2.9.2