gnu: Add ark.
* gnu/packages/kde-utils.scm (ark): New variable. * gnu/packages/patches/ark-skip-xar-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
		
							parent
							
								
									dd98685356
								
							
						
					
					
						commit
						4094d12df1
					
				
					 3 changed files with 125 additions and 0 deletions
				
			
		| 
						 | 
					@ -817,6 +817,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch	\
 | 
					  %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch	\
 | 
				
			||||||
  %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch	\
 | 
					  %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch	\
 | 
				
			||||||
  %D%/packages/patches/apr-skip-getservbyname-test.patch	\
 | 
					  %D%/packages/patches/apr-skip-getservbyname-test.patch	\
 | 
				
			||||||
 | 
					  %D%/packages/patches/ark-skip-xar-test.patch			\
 | 
				
			||||||
  %D%/packages/patches/aspell-default-dict-dir.patch		\
 | 
					  %D%/packages/patches/aspell-default-dict-dir.patch		\
 | 
				
			||||||
  %D%/packages/patches/ath9k-htc-firmware-binutils.patch	\
 | 
					  %D%/packages/patches/ath9k-htc-firmware-binutils.patch	\
 | 
				
			||||||
  %D%/packages/patches/ath9k-htc-firmware-gcc.patch		\
 | 
					  %D%/packages/patches/ath9k-htc-firmware-gcc.patch		\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
 | 
					;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
 | 
				
			||||||
;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
 | 
					;;; Copyright © 2021 Z572 <873216071@qq.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -22,6 +23,9 @@
 | 
				
			||||||
  #:use-module (guix download)
 | 
					  #:use-module (guix download)
 | 
				
			||||||
  #:use-module ((guix licenses) #:prefix license:)
 | 
					  #:use-module ((guix licenses) #:prefix license:)
 | 
				
			||||||
  #:use-module (guix packages)
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages backup)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages cmake)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages gnome)
 | 
					  #:use-module (gnu packages gnome)
 | 
				
			||||||
  #:use-module (gnu packages imagemagick)
 | 
					  #:use-module (gnu packages imagemagick)
 | 
				
			||||||
| 
						 | 
					@ -33,6 +37,82 @@
 | 
				
			||||||
  #:use-module (gnu packages samba)
 | 
					  #:use-module (gnu packages samba)
 | 
				
			||||||
  #:use-module (gnu packages xorg))
 | 
					  #:use-module (gnu packages xorg))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public ark
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "ark")
 | 
				
			||||||
 | 
					    (version "20.04.1")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method url-fetch)
 | 
				
			||||||
 | 
					              (uri (string-append "mirror://kde/stable/release-service/" version
 | 
				
			||||||
 | 
					                                  "/src/ark-" version ".tar.xz"))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "0g5bfa1lc7mhrc2ngd4ldf33dpwr7gqrj95kp897pf632wwj23iw"))
 | 
				
			||||||
 | 
					              ;; The libarchive package in Guix does not support
 | 
				
			||||||
 | 
					              ;; xar; disable related tests.
 | 
				
			||||||
 | 
					              (patches (search-patches "ark-skip-xar-test.patch"))))
 | 
				
			||||||
 | 
					    (build-system qt-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'check 'start-xserver
 | 
				
			||||||
 | 
					           ;; adddialogtest requires DISPLAY.
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let ((xorg-server (assoc-ref inputs "xorg-server")))
 | 
				
			||||||
 | 
					               (setenv "HOME" (getcwd))
 | 
				
			||||||
 | 
					               (system (format #f "~a/bin/Xvfb :1 &" xorg-server))
 | 
				
			||||||
 | 
					               (setenv "DISPLAY" ":1"))))
 | 
				
			||||||
 | 
					         (add-after 'install 'wrap-executable
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
 | 
					                    (lrzip (assoc-ref inputs "lrzip"))
 | 
				
			||||||
 | 
					                    (lzop  (assoc-ref inputs "lzop"))
 | 
				
			||||||
 | 
					                    (p7zip (assoc-ref inputs "p7zip"))
 | 
				
			||||||
 | 
					                    (unzip (assoc-ref inputs "unzip"))
 | 
				
			||||||
 | 
					                    (zip   (assoc-ref inputs "zip"))
 | 
				
			||||||
 | 
					                    (zstd  (assoc-ref inputs "zstd")))
 | 
				
			||||||
 | 
					               (wrap-program (string-append out "/bin/ark")
 | 
				
			||||||
 | 
					                 `("PATH" suffix
 | 
				
			||||||
 | 
					                   ,(map (lambda (p)
 | 
				
			||||||
 | 
					                           (string-append p "/bin"))
 | 
				
			||||||
 | 
					                         (list lrzip lzop p7zip unzip zip zstd))))))))))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("extra-cmake-modules" ,extra-cmake-modules)
 | 
				
			||||||
 | 
					       ("pkg-config" ,pkg-config)
 | 
				
			||||||
 | 
					       ("kdoctools" ,kdoctools)
 | 
				
			||||||
 | 
					       ("xorg-server" ,xorg-server)))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("breeze-icons" ,breeze-icons)
 | 
				
			||||||
 | 
					       ("karchive" ,karchive)
 | 
				
			||||||
 | 
					       ("kconfig" ,kconfig)
 | 
				
			||||||
 | 
					       ("kcrash" ,kcrash)
 | 
				
			||||||
 | 
					       ("kdbusaddons" ,kdbusaddons)
 | 
				
			||||||
 | 
					       ("khtml" ,khtml)
 | 
				
			||||||
 | 
					       ("ki18n" ,ki18n)
 | 
				
			||||||
 | 
					       ("kio" ,kio)
 | 
				
			||||||
 | 
					       ("kitemmodels" ,kitemmodels)
 | 
				
			||||||
 | 
					       ("kparts" ,kparts)
 | 
				
			||||||
 | 
					       ("kpty" ,kpty)
 | 
				
			||||||
 | 
					       ("kservice" ,kservice)
 | 
				
			||||||
 | 
					       ("kwidgetsaddons" ,kwidgetsaddons)
 | 
				
			||||||
 | 
					       ("libarchive" ,libarchive)
 | 
				
			||||||
 | 
					       ("libzip" ,libzip)
 | 
				
			||||||
 | 
					       ("qtbase" ,qtbase-5)
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)
 | 
				
			||||||
 | 
					       ;; Command line tools used by Ark.
 | 
				
			||||||
 | 
					       ("lrzip" ,lrzip)
 | 
				
			||||||
 | 
					       ("lzop" ,lzop)
 | 
				
			||||||
 | 
					       ("p7zip" ,p7zip)
 | 
				
			||||||
 | 
					       ("unzip" ,unzip)
 | 
				
			||||||
 | 
					       ("zip" ,zip)
 | 
				
			||||||
 | 
					       ("zstd" ,zstd)))
 | 
				
			||||||
 | 
					    (home-page "https://apps.kde.org/en/ark")
 | 
				
			||||||
 | 
					    (synopsis "Graphical archiving tool")
 | 
				
			||||||
 | 
					    (description "Ark is a graphical file compression/decompression utility
 | 
				
			||||||
 | 
					with support for multiple formats, including tar, gzip, bzip2, rar and zip, as
 | 
				
			||||||
 | 
					well as CD-ROM images.")
 | 
				
			||||||
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public kate
 | 
					(define-public kate
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "kate")
 | 
					    (name "kate")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										44
									
								
								gnu/packages/patches/ark-skip-xar-test.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								gnu/packages/patches/ark-skip-xar-test.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,44 @@
 | 
				
			||||||
 | 
					Guix libarchive no support xar.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--- ark-20.04.1.orig/autotests/kerfuffle/loadtest.cpp	2020-12-23 08:46:15.780782601 +0800
 | 
				
			||||||
 | 
					+++ ark-20.04.1/autotests/kerfuffle/loadtest.cpp	2020-12-23 11:13:17.101724042 +0800
 | 
				
			||||||
 | 
					@@ -181,13 +181,6 @@
 | 
				
			||||||
 | 
					         qDebug() << "lz4 executable not found in path. Skipping lz4 test.";
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-    QTest::newRow("xar archive")
 | 
				
			||||||
 | 
					-            << QFINDTESTDATA("data/simplearchive.xar")
 | 
				
			||||||
 | 
					-            << QStringLiteral("simplearchive")
 | 
				
			||||||
 | 
					-            << true << false << false << false << false << 0 << Archive::Unencrypted
 | 
				
			||||||
 | 
					-            << QStringLiteral("simplearchive")
 | 
				
			||||||
 | 
					-            << QString();
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					     QTest::newRow("mimetype child of application/zip")
 | 
				
			||||||
 | 
					             << QFINDTESTDATA("data/test.odt")
 | 
				
			||||||
 | 
					             << QStringLiteral("test")
 | 
				
			||||||
 | 
					--- ark-20.04.1.orig/autotests/kerfuffle/extracttest.cpp	2020-12-23 08:46:15.780782601 +0800
 | 
				
			||||||
 | 
					+++ ark-20.04.1/autotests/kerfuffle/extracttest.cpp	2020-12-23 11:14:02.801809620 +0800
 | 
				
			||||||
 | 
					@@ -350,23 +350,6 @@
 | 
				
			||||||
 | 
					         qDebug() << "lz4 executable not found in path. Skipping lz4 test.";
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-    archivePath = QFINDTESTDATA("data/simplearchive.xar");
 | 
				
			||||||
 | 
					-    QTest::newRow("extract selected entries from a xar archive without path")
 | 
				
			||||||
 | 
					-            << archivePath
 | 
				
			||||||
 | 
					-            << QVector<Archive::Entry*> {
 | 
				
			||||||
 | 
					-                   new Archive::Entry(this, QStringLiteral("dir1/file11.txt"), QString()),
 | 
				
			||||||
 | 
					-                   new Archive::Entry(this, QStringLiteral("file4.txt"), QString())
 | 
				
			||||||
 | 
					-               }
 | 
				
			||||||
 | 
					-            << optionsNoPaths
 | 
				
			||||||
 | 
					-            << 2;
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-    archivePath = QFINDTESTDATA("data/simplearchive.xar");
 | 
				
			||||||
 | 
					-    QTest::newRow("extract all entries from a xar archive with path")
 | 
				
			||||||
 | 
					-            << archivePath
 | 
				
			||||||
 | 
					-            << QVector<Archive::Entry*>()
 | 
				
			||||||
 | 
					-            << optionsPreservePaths
 | 
				
			||||||
 | 
					-            << 6;
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					     archivePath = QFINDTESTDATA("data/hello-1.0-x86_64.AppImage");
 | 
				
			||||||
 | 
					     QTest::newRow("extract all entries from an AppImage with path")
 | 
				
			||||||
 | 
					             << archivePath
 | 
				
			||||||
		Reference in a new issue