guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 3] gnunet-svn (was Re: [PATCH] gnunet.scm -> various changes


From: Leo Famulari
Subject: Re: [PATCH 3] gnunet-svn (was Re: [PATCH] gnunet.scm -> various changes (description update, adds gnunet-svn, gnunet-gtk-svn, gnurl))
Date: Mon, 28 Mar 2016 12:43:17 -0400
User-agent: Mutt/1.5.24 (2015-08-30)

On Mon, Mar 28, 2016 at 06:07:24PM +0200, Nils Gillmann wrote:
> From 27eb23709f79a5383c66526e25f5cdf26b645793 Mon Sep 17 00:00:00 2001
> From: Nils Gillmann <address@hidden>
> Date: Mon, 28 Mar 2016 18:00:27 +0200
> Subject: [PATCH] gnu: gnunet: Add gnunet-svn.
> 
> * gnu/packages/gnunet.scm (gnunet-svn): New variable.
> Coauthored by Jookia.
> ---
>  gnu/packages/gnunet.scm | 88 
> +++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 88 insertions(+)
> 
> diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
> index 9fa2773..fe6ca14 100644
> --- a/gnu/packages/gnunet.scm
> +++ b/gnu/packages/gnunet.scm
> @@ -331,3 +331,91 @@ services.")
>         ("libglade" ,libglade)))
>      (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)))

Are SVN identifiers really that short, or is there a longer version that
we should use, as for Git?

> +       (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)))

It only needs python while building?

> +    (arguments
> +     '(#:configure-flags
> +       (list (string-append "--with-nssdir=" %output "/lib"))

It needs help referring to its own output?

> +       #:parallel-tests? #f
> +       ;; test_gnunet_service_arm fails; reported upstream
> +       #:tests? #f

Okay, is it easy to disable just the failing test? Also, can you include
a link to the upstream bug report in this comment?

> +       #:phases

Can you rewrite using the modify-phases syntax?

> +       ;; 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" ""))))

Unfortunately, I don't know very much about the translations system.
Hopefully somebody will weigh in on this.

> +         (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.")

I don't know whether it's better to put this sort of information in the
description or a code comment, as above. But I think it should only be
in one place.

> +    (license license:gpl3+)
> +    (home-page "https://gnunet.org/";)))



reply via email to

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