guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnunet-svn, gnunet-gtk-svn


From: ng0
Subject: Re: [PATCH] gnunet-svn, gnunet-gtk-svn
Date: Sun, 07 Aug 2016 08:21:29 +0000

ng0 <address@hidden> writes:

> The next 2.5 days will be unpleasant for me and probably difficult to
> focus, but I know how to fix the 3 failing tests for us.
> I'll have this fixed in thex next days.
>
> Appended is the failing tests output (for me as a backup) and the
> combined gnunet-svn + gnunet-gtk-svn patch. As we discussed this will
> not be in guix at the moment and is intended as a test package to get
> the next release of gnunet to build on guix when it is released.
>
> There are last things I want to transition from my Gentoo package to the
> guix packages.
>
> I'd like to have a gnunet package with --with-experimental enabled
> (features: conversation etc, at least last time I read the Makefile), so
> this will be available out of tree when all the features are too much
> for master tree (or --with-experimental is considered too unstable to
> ship).
>
> The log attachment was too big, log can be replicated with tests
> enabled.
>
> Have a nice weekend.

For whatever reason the appended patches broke, here is another try:

>From c1e673b06506ebfd476ccd248a6f00e18c4d22c1 Mon Sep 17 00:00:00 2001
From: ng0 <address@hidden>
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

>From 3b20856c29dc559dc046cd267428b0bd771a7efb Mon Sep 17 00:00:00 2001
From: ng0 <address@hidden>
Date: Sat, 30 Jul 2016 15:04:24 +0000
Subject: [PATCH 2/3] gnu: Add gnunet-gtk-svn.

* gnu/packages/gnunet.scm (gnunet-gtk-svn): New variable.
---
 gnu/packages/gnunet.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 25ac073..a3f34ea 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -412,3 +412,50 @@ 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/";))))
+
+(define-public gnunet-gtk-svn
+  (let ((svn-revision 37273))
+    (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 svn-revision)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "1mckc5aq05wpbvb8mbm0llkhavb0j2f496l73zaapdy3ndyhai8j"))))
+      (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)
+         ("gnu-gettext" ,gnu-gettext)
+         ("automake" ,automake)
+         ("libtool" ,libtool)))
+      (synopsis "Graphical front-end tools for GNUnet")
+      (home-page "https://gnunet.org";))))
+
-- 
2.9.2

>From 282df1603637d80946c619ebaea8598d766d7527 Mon Sep 17 00:00:00 2001
From: ng0 <address@hidden>
Date: Sat, 6 Aug 2016 17:54:02 +0000
Subject: [PATCH 3/3] further changes on top of gnunet-svn and gnunet-svn-gtk.

---
 gnu/packages/gnunet.scm | 56 ++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 44 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index a3f34ea..bdfd3b4 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -49,6 +49,13 @@
   #:use-module (gnu packages databases)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages web)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages admin)
+  #:use-module (gnu packages gnuzilla)
+  #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages linux)
+;;  #:use-module (gnu packages tex)
   #:use-module (gnu packages xiph)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -338,7 +345,7 @@ services.")
 ;; version before refactoring work towards 0.10.2 started.
 
 (define-public gnunet-svn
-  (let ((svn-revision 37273))
+  (let ((svn-revision 37667))
     (package
       (name "gnunet-svn")
       (version (string-append "0.10.1" "-1" ".svn"
@@ -352,7 +359,7 @@ services.")
          (file-name (string-append name "-" version "-checkout"))
          (sha256
           (base32
-           "0xn8g0mk2nl142yz4zzrj25rpnhxfvjwnfnangyx8s44xv75i2dc"))))
+           "1bq0qziv0l27zjrbdk3h9601dn6lhx7w3whmxwygxp2q5g4a6yxy"))))
       (build-system gnu-build-system)
       (inputs
        `(("glpk" ,glpk)
@@ -371,7 +378,17 @@ services.")
          ("pulseaudio" ,pulseaudio)
          ("sqlite" ,sqlite)
          ("zlib" ,zlib)
-         ("python" ,python-2))) ; tests and gnunet-qr
+         ("perl" ,perl)
+         ("python" ,python-2) ; tests and gnunet-qr
+         ("jansson" ,jansson)
+         ("ncurses" ,ncurses)
+         ("nss" ,nss)
+         ("gmp" ,gmp)
+         ("bluez" ,bluez) ; for optional bluetooth feature
+         ;; ("udpcast" ,udpcast) ; optional.
+         ("glib" ,glib)
+         ;; ("texlive-minimal" ,texlive-minimal) ; optional.
+         ("libogg" ,libogg)))
       (native-inputs
        `(("pkg-config" ,pkg-config)
          ("autoconf" ,autoconf)
@@ -380,7 +397,8 @@ services.")
          ("libtool" ,libtool)))
       (arguments
        '(#:configure-flags
-         (list (string-append "--with-nssdir=" %output "/lib"))
+         (list (string-append "--with-nssdir=" %output "/lib")
+               "--enable-experimental")
          #:parallel-tests? #f ; parallel building is not functional
          #:tests? #f ; FAIL: test_testbed_logger_api
          #:phases
@@ -397,11 +415,26 @@ services.")
              (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"))))))))
+           ;; DISABLED until failing testcases are fixed.
+           ;; this test fails in our environment, disable it:
+           ;; XXX: specify which ones fail.
+           ;; (add-after 'patch-bin-sh 
'disable-test_quota_compliance_tcp_asymmetric
+           ;;   (lambda _
+           ;;     (substitute* '("src/transport/Makefile.am")
+           ;;       (("test_quota_compliance_tcp_asymmetric") ""))))
+           ;;       (("test_quota_compliance_http_asymmetric") "")
+           ;;       (("test_quota_compliance_https_asymmetric") "")
+           ;;       (("test_quota_compliance_unix") "")
+           ;;       (("test_quota_compliance_unix_asymmetric") ""))))
+           ;; check is between build and install, fix this to:
+           ;; build - install - check, else the test suite fails.
+           ;; (delete 'check)
+           ;; (add-after 'install '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")))
+           ;;     (zero? (system* "make" "check")))))))
       (synopsis "Secure, decentralized, peer-to-peer networking framework")
       (description
        "GNUnet is a framework for secure peer-to-peer networking.  The
@@ -414,7 +447,7 @@ kinds of basic applications for the foundation of a GNU 
internet.")
       (home-page "https://gnunet.org/";))))
 
 (define-public gnunet-gtk-svn
-  (let ((svn-revision 37273))
+  (let ((svn-revision 37667))
     (package
       (inherit gnunet-svn)
       (name "gnunet-gtk-svn")
@@ -428,7 +461,7 @@ kinds of basic applications for the foundation of a GNU 
internet.")
          (file-name (string-append name "-" version "-checkout"))
          (sha256
           (base32
-           "1mckc5aq05wpbvb8mbm0llkhavb0j2f496l73zaapdy3ndyhai8j"))))
+           "0xm95ac47h00c248g3g8h4smjyzx6yzdlra5kgdnymsl4zymmh3l"))))
       (arguments
        `(#:configure-flags
          (list "--without-libunique"
@@ -458,4 +491,3 @@ kinds of basic applications for the foundation of a GNU 
internet.")
          ("libtool" ,libtool)))
       (synopsis "Graphical front-end tools for GNUnet")
       (home-page "https://gnunet.org";))))
-
-- 
2.9.2


-- 
♥Ⓐ  ng0
Current Keys: https://we.make.ritual.n0.is/ng0.txt
For non-prism friendly talk find me on http://www.psyced.org

reply via email to

[Prev in Thread] Current Thread [Next in Thread]