gnu: moka-icon-theme: Add faba-icon-theme as propagated input.
[jackhill/guix/guix.git] / gnu / packages / gnunet.scm
index 27e1ffb..b17a39c 100644 (file)
@@ -1,11 +1,11 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
-;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016 ng0 <ng0@libertad.pw>
+;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -44,7 +44,9 @@
   #:use-module (gnu packages libunistring)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages music)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages package-management)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pulseaudio)
 (define-public libextractor
   (package
    (name "libextractor")
-   (version "1.3")
+   (version "1.6")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/libextractor/libextractor-"
                                 version ".tar.gz"))
             (sha256
              (base32
-              "0zvv7wd011npcx7yphw9bpgivyxz6mlp87a57n96nv85k96dd2l6"))
-            (patches (search-patches "libextractor-ffmpeg-3.patch"))
-            (modules '((guix build utils)))
-            (snippet
-             ;; Nowadays libmagic (from 'file') returns 'audio/ogg' and not
-             ;; 'application/ogg'.  Adjust accordingly.
-             '(substitute* "src/plugins/test_mime.c"
-                (("application/ogg")
-                 "audio/ogg")))))
+              "17gnpgspdhfgcr27j8sn9105vb4lw22yqdrhic62l79q5v5avm16"))))
    (build-system gnu-build-system)
    ;; WARNING: Checks require /dev/shm to be in the build chroot, especially
    ;; not to be a symbolic link to /run/shm.
    ;; The following dependencies are all optional, but should be
    ;; available for maximum coverage:
    ;; * libmagic (file)
-   ;; * libmp4v2        ; package it
-   ;; * librpm          ; package it
-   ;; * libsmf          ; package it
-   ;; * libtidy         ; package it
+   ;; * librpm (rpm)    ; investigate failure
    ;; * libgif (giflib) ; investigate failure
    (inputs
     `(("exiv2" ,exiv2)
+      ("bzip2" ,bzip2)
       ("flac" ,flac)
       ("ffmpeg" ,ffmpeg)
       ("file" ,file)                           ;libmagic, for the MIME plug-in
       ("libjpeg" ,libjpeg)
       ("libltdl" ,libltdl)
       ("libmpeg2" ,libmpeg2)
+      ("libmp4v2" ,libmp4v2)
+      ("libsmf" ,libsmf)
+      ("tidy-html" ,tidy-html)
       ("libogg" ,libogg)
       ("libtiff" ,libtiff)
       ("libvorbis" ,libvorbis)
       ("zlib" ,zlib)))
    (native-inputs
     `(("pkg-config" ,pkg-config)))
+   (outputs '("out"
+              "static")) ; 396 KiB .a files
    (arguments
     `(#:configure-flags
       (list (string-append "--with-ltdl="
-                           (assoc-ref %build-inputs "libltdl")))
-      #:parallel-tests? #f))
+                           (assoc-ref %build-inputs "libltdl"))
+            (string-append "--with-tidy="
+                           (assoc-ref %build-inputs "tidy-html")))
+      #:parallel-tests? #f
+      #:phases
+      (modify-phases %standard-phases
+        (add-after 'install 'move-static-libraries
+          (lambda* (#:key outputs #:allow-other-keys)
+            ;; Move static libraries to the "static" output.
+            (let* ((out    (assoc-ref outputs "out"))
+                   (lib    (string-append out "/lib"))
+                   (static (assoc-ref outputs "static"))
+                   (slib   (string-append static "/lib")))
+              (mkdir-p slib)
+              (for-each (lambda (file)
+                          (install-file file slib)
+                          (delete-file file))
+                        (find-files lib "\\.a$"))
+              #t))))))
    (synopsis "Library to extract meta-data from media files")
    (description
     "GNU libextractor is a library for extracting metadata from files.  It
@@ -125,28 +139,38 @@ files, and archive files.  Each file format is implemented as a plugin, so
 new formats can be added easily.  The package also contains a command-line
 tool to extract metadata from a file and print the results.")
    (license license:gpl3+)
-   (home-page "http://www.gnu.org/software/libextractor/")))
+   (home-page "https://www.gnu.org/software/libextractor/")))
 
 (define-public libmicrohttpd
   (package
    (name "libmicrohttpd")
-   (version "0.9.52")
+   (version "0.9.55")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
                                 version ".tar.gz"))
             (sha256
              (base32
-              "1smgxw6jv81yybg86bzr4c2sn7a31apf8q4zz0kpch9xfrp7yyal"))))
+              "1y6h1slav5l6k8zyb01dpw65dscdgxxgfa3a0z9qnn7jr66sn70c"))))
    (build-system gnu-build-system)
    (inputs
     `(("curl" ,curl)
-      ("gnutls" ,gnutls)
+      ("gnutls" ,gnutls/dane)
       ("libgcrypt" ,libgcrypt)
       ("openssl" ,openssl)
       ("zlib" ,zlib)))
    (arguments
-    `(#:parallel-tests? #f))
+    `(#:parallel-tests? #f
+      #:phases (modify-phases %standard-phases
+                 (add-before 'check 'add-missing-LDFLAGS
+                   (lambda _
+                     ;; The two test_upgrade* programs depend on GnuTLS
+                     ;; directly but lack -lgnutls; add it.
+                     (substitute* "src/microhttpd/Makefile"
+                       (("^test_upgrade(.*)LDFLAGS = (.*)$" _ first rest)
+                        (string-append "test_upgrade" first
+                                       "LDFLAGS = -lgnutls " rest)))
+                     #t)))))
    (synopsis "C library implementing an HTTP 1.1 server")
    (description
     "GNU libmicrohttpd is a small, embeddable HTTP server implemented as a
@@ -162,26 +186,22 @@ and support for SSL3 and TLS.")
 (define-public gnurl
   (package
    (name "gnurl")
-   (version "7.52.1")
+   (version "7.56.1")
    (source (origin
             (method url-fetch)
-            (uri (let ((version-with-underscores
-                        (string-join (string-split version #\.) "_")))
-                   (string-append "https://gnunet.org/sites/default/files/"
-                                  name "-" version-with-underscores ".tar.bz2")))
+            (uri (string-append "https://gnunet.org/sites/default/files/"
+                                name "-" version ".tar.bz2"))
             (sha256
              (base32
-              "1gn6mvab2vhfj9637ykg1zjzb23fngfnyd24wlgxmjhf49pn334h"))))
+              "0phbs3lw0a561fqsj4fyngmpaznjlnx4qx9n9xzglivy69r9j1n8"))))
    (build-system gnu-build-system)
    (outputs '("out"
               "doc"))                             ; 1.5 MiB of man3 pages
-   (inputs `(("gnutls" ,gnutls)
+   (inputs `(("gnutls" ,gnutls/dane)
              ("libidn" ,libidn)
              ("zlib" ,zlib)))
    (native-inputs
-    `(("autoconf" ,autoconf)
-      ("automake" ,automake)
-      ("libtool" ,libtool)
+    `(("libtool" ,libtool)
       ("groff" ,groff)
       ("perl" ,perl)
       ("pkg-config" ,pkg-config)
@@ -212,16 +232,8 @@ and support for SSL3 and TLS.")
               (rename-file (string-append out "/share/man/man3")
                            (string-append doc "/share/man/man3"))
               #t)))
-        (add-before 'configure 'autoconf
-          ;; Clear artifacts left (shebangs) from release preparation.
-          (lambda _
-            (zero? (system* "./buildconf"))))
         (replace 'check
           (lambda _
-            ;; It is unclear why test1026 fails, however the content of it
-            ;; suggests that it is not vital for gnurl.
-            (delete-file "tests/data/test1026")
-
             (substitute* "tests/runtests.pl"
               (("/bin/sh") (which "sh")))
 
@@ -255,7 +267,7 @@ supports HTTP, HTTPS and GnuTLS.")
       ("gnurl" ,gnurl)
       ("gstreamer" ,gstreamer)
       ("gst-plugins-base" ,gst-plugins-base)
-      ("gnutls" ,gnutls)
+      ("gnutls" ,gnutls/dane)
       ("libextractor" ,libextractor)
       ("libgcrypt" ,libgcrypt)
       ("libidn" ,libidn)
@@ -314,7 +326,7 @@ kinds of basic applications for the foundation of a GNU internet.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "git://git.sv.gnu.org/guix/gnunet.git")
+                      (url "https://git.savannah.gnu.org/git/guix/gnunet.git/")
                       (commit commit)))
                 (file-name (string-append name "-" version "-checkout"))
                 (sha256
@@ -323,7 +335,7 @@ kinds of basic applications for the foundation of a GNU internet.")
       (build-system gnu-build-system)
       (arguments
        '(#:phases (modify-phases %standard-phases
-                    (add-before 'configure 'bootstrap
+                    (add-after 'unpack 'bootstrap
                       (lambda _
                         (zero? (system* "autoreconf" "-vfi")))))))
       (native-inputs `(("pkg-config" ,pkg-config)