summary refs log tree commit diff
path: root/gnu/packages/package-management.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/package-management.scm')
-rw-r--r--gnu/packages/package-management.scm102
1 files changed, 79 insertions, 23 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 57589d852c..d396f001ef 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -31,6 +31,7 @@
 (define-module (gnu packages package-management)
   #:use-module (gnu packages)
   #:use-module (gnu packages acl)
+  #:use-module (gnu packages admin)
   #:use-module (gnu packages attr)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages autotools)
@@ -39,6 +40,7 @@
   #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages bootstrap)          ;for 'bootstrap-guile-origin'
+  #:use-module (gnu packages cdrom)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpio)
@@ -48,6 +50,7 @@
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages file)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
@@ -55,11 +58,19 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages guile-xyz)
+  #:use-module (gnu packages haskell)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lisp)
+  #:use-module (gnu packages llvm)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages mono)
+  #:use-module (gnu packages nettle)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages patchutils)
+  #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
   #:use-module (gnu packages pkg-config)
@@ -71,8 +82,10 @@
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages vim)
   #:use-module (gnu packages virtualization)
   #:use-module (gnu packages web)
@@ -110,8 +123,8 @@
   ;; Note: the 'update-guix-package.scm' script expects this definition to
   ;; start precisely like this.
   (let ((version "1.0.1")
-        (commit "c902458863d1d341ffd74970b75e69c2bb848183")
-        (revision 4))
+        (commit "0ed97e69805253656df929a6ad678016aa81f08a")
+        (revision 6))
     (package
       (name "guix")
 
@@ -127,7 +140,7 @@
                       (commit commit)))
                 (sha256
                  (base32
-                  "0w93qjgy9n0qqyij12s7hm7fl4wb6h99bmfril4cqf4ynckpdvbb"))
+                  "1h2qlbbdqi72jslx17gp2cak5494nbm8j44rz57lnplnfcn6iwaw"))
                 (file-name (string-append "guix-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
@@ -342,6 +355,19 @@ the Nix package manager.")
         #f)
        ((#:phases phases '%standard-phases)
         `(modify-phases ,phases
+           (add-after 'unpack 'change-default-guix
+             (lambda _
+               ;; We need to tell 'guix-daemon' which 'guix' command to use.
+               ;; Here we use a questionable hack where we hard-code root's
+               ;; current guix, which could be wrong (XXX).  Note that scripts
+               ;; like 'guix perform-download' do not run as root so we assume
+               ;; that they have access to /var/guix/profiles/per-user/root.
+               (substitute* "nix/libstore/globals.cc"
+                 (("guixProgram = (.*)nixBinDir + \"/guix\"" _ before)
+                  (string-append "guixProgram = " before
+                                 "/var/guix/profiles/per-user/root\
+/current-guix/bin/guix")))
+               #t))
            (replace 'build
              (lambda _
                (invoke "make" "nix/libstore/schema.sql.hh")
@@ -351,19 +377,7 @@ the Nix package manager.")
            (delete 'copy-bootstrap-guile)
            (replace 'install
              (lambda* (#:key outputs #:allow-other-keys)
-               (invoke "make" "install-binPROGRAMS"
-                       "install-nodist_pkglibexecSCRIPTS")
-
-               ;; We need to tell 'guix-daemon' which 'guix' command to use.
-               ;; Here we use a questionable hack where we hard-code root's
-               ;; current guix, which could be wrong (XXX).  Note that scripts
-               ;; like 'guix perform-download' do not run as root so we assume
-               ;; that they have access to /var/guix/profiles/per-user/root.
-               (let ((out (assoc-ref outputs "out")))
-                 (substitute* (find-files (string-append out "/libexec"))
-                   (("exec \".*/bin/guix\"")
-                    "exec \"${GUIX:-/var/guix/profiles/per-user/root/current-guix/bin/guix}\""))
-                 #t)))
+               (invoke "make" "install-binPROGRAMS")))
            (delete 'wrap-program)))))))
 
 (define-public guile2.0-guix
@@ -544,7 +558,7 @@ transactions from C or Python.")
     (license license:gpl2+)))
 
 (define-public diffoscope
-  (let ((version "122"))
+  (let ((version "123"))
     (package
       (name "diffoscope")
       (version version)
@@ -556,7 +570,7 @@ transactions from C or Python.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1pwddknk8qyv88ba63why8vbnlc14b47434lv4ijx49m7ya3zfvg"))))
+                  "11bxms5rkhi0v4pxx29v4qgvhp3fmf0fkzci6gn5xcv4fl1zy4wj"))))
       (build-system python-build-system)
       (arguments
        `(#:phases (modify-phases %standard-phases
@@ -573,6 +587,13 @@ transactions from C or Python.")
                       (lambda _
                         (delete-file "tests/comparators/test_berkeley_db.py")
                         #t))
+                    ;; Test is dynamically generated and may have false
+                    ;; negatives with different ocaml versions.  Further
+                    ;; background in: https://bugs.debian.org/939386
+                    (add-after 'unpack 'remove-ocaml-test
+                      (lambda _
+                        (delete-file "tests/comparators/test_ocaml.py")
+                        #t))
                     (add-after 'unpack 'embed-tool-references
                       (lambda* (#:key inputs #:allow-other-keys)
                         (substitute* "diffoscope/comparators/utils/compare.py"
@@ -592,10 +613,9 @@ transactions from C or Python.")
                         #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")
+                        ;; tests may need needs write access to tests
+                        ;; directory
+                        (for-each make-file-writable (find-files "tests"))
                         #t))
                     (add-before 'check 'delete-failing-test
                       (lambda _
@@ -612,7 +632,43 @@ transactions from C or Python.")
                 ("xxd" ,xxd)))
       ;; Below are modules used for tests.
       (native-inputs `(("python-pytest" ,python-pytest)
-                       ("python-chardet" ,python-chardet)))
+                       ("python-chardet" ,python-chardet)
+                       ;; test suite skips tests when tool is missing
+                       ("bdb" ,bdb)
+                       ("binutils" ,binutils)
+                       ("bzip2" ,bzip2)
+                       ("cdrtools" ,cdrtools)
+                       ("colord" ,colord)
+                       ("cpio" ,cpio)
+                       ("docx2txt" ,docx2txt)
+                       ("e2fsprogs" ,e2fsprogs)
+                       ("ffmpeg" ,ffmpeg)
+                       ("gettext" ,gettext-minimal)
+                       ("ghc" ,ghc)
+                       ("ghostscript" ,ghostscript)
+                       ("giflib:bin" ,giflib "bin")
+                       ("gnumeric" ,gnumeric)
+                       ("gnupg" ,gnupg)
+                       ("imagemagick" ,imagemagick)
+                       ("libarchive" ,libarchive)
+                       ("llvm" ,llvm)
+                       ("lz4" ,lz4)
+                       ("mono" ,mono)
+                       ("odt2txt" ,odt2txt)
+                       ;; no unversioned openjdk available
+                       ("openjdk:jdk" ,openjdk12 "jdk")
+                       ("openssh" ,openssh)
+                       ("pgpdump" ,pgpdump)
+                       ("poppler" ,poppler)
+                       ("rpm" ,rpm)
+                       ("sng" ,sng)
+                       ("sqlite" ,sqlite)
+                       ("squashfs-tools" ,squashfs-tools)
+                       ("tcpdump" ,tcpdump)
+                       ("unzip" ,unzip)
+                       ("xxd" ,xxd)
+                       ("xz" ,xz)
+                       ("zip" ,(@ (gnu packages compression) zip))))
       (home-page "https://diffoscope.org/")
       (synopsis "Compare files, archives, and directories in depth")
       (description