Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / package-management.scm
index a490945..49ac949 100644 (file)
@@ -8,9 +8,10 @@
 ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
-;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2018, 2019 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019 Vagrant Cascadian <vagrant@reproducible-builds.org>
+;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -57,7 +58,6 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lisp)
   #:use-module (gnu packages man)
-  #:use-module (gnu packages nettle)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages patchutils)
   #:use-module (gnu packages perl)
   ;; Latest version of Guix, which may or may not correspond to a release.
   ;; Note: the 'update-guix-package.scm' script expects this definition to
   ;; start precisely like this.
-  (let ((version "0.16.0")
-        (commit "0c329bf4b0c00abdc9a7d9c818d36d4d60b3005d")
-        (revision 14))
+  (let ((version "1.0.1")
+        (commit "c902458863d1d341ffd74970b75e69c2bb848183")
+        (revision 4))
     (package
       (name "guix")
 
                       (commit commit)))
                 (sha256
                  (base32
-                  "1403vrazx46w9hcvqjyxa4ipwvqv0432f6rsn4981w1n3p1j4mf6"))
+                  "0w93qjgy9n0qqyij12s7hm7fl4wb6h99bmfril4cqf4ynckpdvbb"))
                 (file-name (string-append "guix-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
        `(("bzip2" ,bzip2)
          ("gzip" ,gzip)
          ("zlib" ,zlib)                           ;for 'guix publish'
+         ("lzlib" ,lzlib)            ;for 'guix publish' and 'guix substitute'
 
          ("sqlite" ,sqlite)
          ("libgcrypt" ,libgcrypt)
       (propagated-inputs
        `(("gnutls" ,gnutls)
          ("guile-gcrypt" ,guile-gcrypt)
-         ("guile-json" ,guile-json)
+         ("guile-json" ,guile-json-3)
          ("guile-sqlite3" ,guile-sqlite3)
          ("guile-ssh" ,guile-ssh)
          ("guile-git" ,guile-git)))
@@ -323,7 +324,7 @@ the Nix package manager.")
     (inputs
      `(("gnutls" ,gnutls)
        ("guile-git" ,guile-git)
-       ("guile-json" ,guile-json)
+       ("guile-json" ,guile-json-3)
        ("guile-gcrypt" ,guile-gcrypt)
        ,@(fold alist-delete (package-inputs guix)
                '("boot-guile" "boot-guile/i686" "util-linux"))))
@@ -464,14 +465,14 @@ sub-directory.")
 (define-public stow
   (package
     (name "stow")
-    (version "2.2.2")
+    (version "2.3.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/stow/stow-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1pvky9fayms4r6fhns8jd0vavszd7d979w62vfd5n88v614pdxz2"))))
+                "0jrxy12ywn7smdzdnvwzjw77l6knx6jkj2rckgykg1dpf6bdkm89"))))
     (build-system gnu-build-system)
     (inputs
      `(("perl" ,perl)))
@@ -488,12 +489,12 @@ of data and makes them appear to be merged into the same directory.  It is
 typically used for managing software packages installed from source, by
 letting you install them apart in distinct directories and then create
 symlinks to the files in a common directory such as /usr/local.")
-    (license license:gpl2+)))
+    (license license:gpl3+)))
 
 (define-public rpm
   (package
     (name "rpm")
-    (version "4.14.2")
+    (version "4.14.2.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://ftp.rpm.org/releases/rpm-"
@@ -501,7 +502,7 @@ symlinks to the files in a common directory such as /usr/local.")
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "0armd7dqr8bl0isx8l4xlylm7dikasmxhhcbz336fkp2x30w5jw0"))))
+                "1nmck2fq9h85fgs3zhh6w1avlw5y16cbz5khd459ry3jfd5w4f8i"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--with-external-db"   ;use the system's bdb
@@ -518,19 +519,18 @@ symlinks to the files in a common directory such as /usr/local.")
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
-     `(("python" ,python-2)
+     `(("python" ,python)
        ("xz" ,xz)
        ("bdb" ,bdb)
        ("popt" ,popt)
        ("nss" ,nss)
        ("nspr" ,nspr)
        ("libarchive" ,libarchive)
-       ("nettle" ,nettle)            ;XXX: actually a dependency of libarchive
        ("file" ,file)
        ("bzip2" ,bzip2)
        ("zlib" ,zlib)
        ("cpio" ,cpio)))
-    (home-page "http://rpm.org/")
+    (home-page "https://rpm.org/")
     (synopsis "The RPM Package Manager")
     (description
      "The RPM Package Manager (RPM) is a command-line driven package
@@ -544,72 +544,83 @@ transactions from C or Python.")
     (license license:gpl2+)))
 
 (define-public diffoscope
-  (package
-    (name "diffoscope")
-    (version "113")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri name version))
-              (sha256
-               (base32
-                "10wjri6vsqxf2nb7jjhsq38qlpf407b4qrdczrk696aa1v71i44w"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:phases (modify-phases %standard-phases
-                  ;; setup.py mistakenly requires python-magic from PyPi, even
-                  ;; though the Python bindings of `file` are sufficient.
-                  ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844
-                  (add-after 'unpack 'dependency-on-python-magic
-                    (lambda _
-                      (substitute* "setup.py"
-                        (("'python-magic',") ""))))
-                  ;; This test is broken because our `file` package has a
-                  ;; bug in berkeley-db file type detection.
-                  (add-after 'unpack 'remove-berkeley-test
-                    (lambda _
-                      (delete-file "tests/comparators/test_berkeley_db.py")
-                      #t))
-                  (add-after 'unpack 'embed-tool-references
-                    (lambda* (#:key inputs #:allow-other-keys)
-                      (substitute* "diffoscope/comparators/utils/compare.py"
-                        (("\\['xxd',")
-                         (string-append "['" (which "xxd") "',")))
-                      (substitute* "diffoscope/comparators/elf.py"
-                        (("@tool_required\\('readelf'\\)") "")
-                        (("get_tool_name\\('readelf'\\)")
-                         (string-append "'" (which "readelf") "'")))
-                      (substitute* "diffoscope/comparators/directory.py"
-                        (("@tool_required\\('stat'\\)") "")
-                        (("@tool_required\\('getfacl'\\)") "")
-                        (("\\['stat',")
-                         (string-append "['" (which "stat") "',"))
-                        (("\\['getfacl',")
-                         (string-append "['" (which "getfacl") "',")))
-                      #t))
-                  (add-before 'check 'delete-failing-test
-                    (lambda _
-                      (delete-file "tests/test_tools.py") ;this requires /sbin to be on the path
-                      #t)))))
-    (inputs `(("rpm" ,rpm)                        ;for rpm-python
-              ("python-file" ,python-file)
-              ("python-debian" ,python-debian)
-              ("python-libarchive-c" ,python-libarchive-c)
-              ("python-tlsh" ,python-tlsh)
-              ("acl" ,acl)                        ;for getfacl
-              ("colordiff" ,colordiff)
-              ("xxd" ,xxd)
-
-              ;; Below are modules used for tests.
-              ("python-pytest" ,python-pytest)
-              ("python-chardet" ,python-chardet)))
-    (home-page "https://diffoscope.org/")
-    (synopsis "Compare files, archives, and directories in depth")
-    (description
-     "Diffoscope tries to get to the bottom of what makes files or directories
+  (let ((version "121"))
+    (package
+      (name "diffoscope")
+      (version version)
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://salsa.debian.org/reproducible-builds/diffoscope.git")
+                      (commit version)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1bw7s8qs1vnr93vhifl6pj6h6w6r6nrpc5anzhh9wx2gcaipkb3m"))))
+      (build-system python-build-system)
+      (arguments
+       `(#:phases (modify-phases %standard-phases
+                    ;; setup.py mistakenly requires python-magic from PyPi, even
+                    ;; though the Python bindings of `file` are sufficient.
+                    ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844
+                    (add-after 'unpack 'dependency-on-python-magic
+                      (lambda _
+                        (substitute* "setup.py"
+                          (("'python-magic',") ""))))
+                    ;; This test is broken because our `file` package has a
+                    ;; bug in berkeley-db file type detection.
+                    (add-after 'unpack 'remove-berkeley-test
+                      (lambda _
+                        (delete-file "tests/comparators/test_berkeley_db.py")
+                        #t))
+                    (add-after 'unpack 'embed-tool-references
+                      (lambda* (#:key inputs #:allow-other-keys)
+                        (substitute* "diffoscope/comparators/utils/compare.py"
+                          (("\\['xxd',")
+                           (string-append "['" (which "xxd") "',")))
+                        (substitute* "diffoscope/comparators/elf.py"
+                          (("@tool_required\\('readelf'\\)") "")
+                          (("get_tool_name\\('readelf'\\)")
+                           (string-append "'" (which "readelf") "'")))
+                        (substitute* "diffoscope/comparators/directory.py"
+                          (("@tool_required\\('stat'\\)") "")
+                          (("@tool_required\\('getfacl'\\)") "")
+                          (("\\['stat',")
+                           (string-append "['" (which "stat") "',"))
+                          (("\\['getfacl',")
+                           (string-append "['" (which "getfacl") "',")))
+                        #t))
+                    (add-before 'check 'writable-test-data
+                      (lambda _
+                        ;; tests/comparators/test_elf.py needs write access to
+                        ;; test data
+                        (make-file-writable
+                         "tests/data/ignore_readelf_errors_expected_diff")
+                        #t))
+                    (add-before 'check 'delete-failing-test
+                      (lambda _
+                        ;; this requires /sbin to be on the path
+                        (delete-file "tests/test_tools.py")
+                        #t)))))
+      (inputs `(("rpm" ,rpm)                        ;for rpm-python
+                ("python-file" ,python-file)
+                ("python-debian" ,python-debian)
+                ("python-libarchive-c" ,python-libarchive-c)
+                ("python-tlsh" ,python-tlsh)
+                ("acl" ,acl)                        ;for getfacl
+                ("colordiff" ,colordiff)
+                ("xxd" ,xxd)))
+      ;; Below are modules used for tests.
+      (native-inputs `(("python-pytest" ,python-pytest)
+                       ("python-chardet" ,python-chardet)))
+      (home-page "https://diffoscope.org/")
+      (synopsis "Compare files, archives, and directories in depth")
+      (description
+       "Diffoscope tries to get to the bottom of what makes files or directories
 different.  It recursively unpacks archives of many kinds and transforms
 various binary formats into more human readable forms to compare them.  It can
 compare two tarballs, ISO images, or PDFs just as easily.")
-    (license license:gpl3+)))
+      (license license:gpl3+))))
 
 (define-public trydiffoscope
  (package
@@ -826,8 +837,7 @@ This package provides Conda as a library.")
              (lambda* (#:key inputs outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
                       (target (string-append out "/lib/python"
-                                             ((@@ (guix build python-build-system)
-                                                  get-python-version)
+                                             (python-version
                                               (assoc-ref inputs "python"))
                                              "/site-packages/")))
                  ;; The installer aborts if the target directory is not on
@@ -993,7 +1003,6 @@ for packaging and deployment of cross-compiled Windows applications.")
        ("gpgme" ,gpgme)
        ("libarchive" ,libarchive)
        ("libsoup" ,libsoup)
-       ("nettle" ,nettle)               ; required by 'libarchive.la'
        ("util-linux" ,util-linux)))
     (home-page "https://ostree.readthedocs.io/en/latest/")
     (synopsis "Operating system and container binary deployment and upgrades")
@@ -1007,7 +1016,7 @@ the boot loader configuration.")
 (define-public flatpak
   (package
    (name "flatpak")
-   (version "1.2.4")
+   (version "1.4.2")
    (source
     (origin
      (method url-fetch)
@@ -1015,7 +1024,7 @@ the boot loader configuration.")
                          version "/flatpak-" version ".tar.xz"))
      (sha256
       (base32
-       "1qf3ys84fzv11z6f6li59rxjdjbyrv7cyi9539k73r9i9pckjr8v"))))
+       "08nmpp26mgv0vp3mlwk97rnp0j7i108h4hr9nllja19sjxnrlygj"))))
 
    ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to
    ;; find the TLS backend in glib-networking.
@@ -1043,6 +1052,7 @@ the boot loader configuration.")
    (inputs `(("appstream-glib" ,appstream-glib)
              ("bubblewrap" ,bubblewrap)
              ("dconf" ,dconf)
+             ("fuse" ,fuse)
              ("gdk-pixbuf" ,gdk-pixbuf)
              ("gpgme" ,gpgme)
              ("json-glib" ,json-glib)
@@ -1052,7 +1062,6 @@ the boot loader configuration.")
              ("libsoup" ,libsoup)
              ("libxau" ,libxau)
              ("libxml2" ,libxml2)
-             ("nettle" ,nettle)
              ("util-linux" ,util-linux)))
    (home-page "https://flatpak.org")
    (synopsis "System for building, distributing, and running sandboxed desktop