From patchwork Wed Dec 23 06:06:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Z572 <873216071@qq.com> X-Patchwork-Id: 25889 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id C69A827BC05; Wed, 23 Dec 2020 06:26:39 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 1BAB527BC04 for ; Wed, 23 Dec 2020 06:26:39 +0000 (GMT) Received: from localhost ([::1]:47268 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1krxba-0005zo-4P for patchwork@mira.cbaines.net; Wed, 23 Dec 2020 01:26:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40156) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1krxId-0004sf-Ob for guix-patches@gnu.org; Wed, 23 Dec 2020 01:07:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:39993) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1krxIc-0002M0-2L for guix-patches@gnu.org; Wed, 23 Dec 2020 01:07:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1krxIb-0002o1-UC for guix-patches@gnu.org; Wed, 23 Dec 2020 01:07:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#45285] [PATCH] gnu: Add ark. References: <87pn39t3s0.fsf@qq.com> In-Reply-To: <87pn39t3s0.fsf@qq.com> Resent-From: Z572 <873216071@qq.com> Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 23 Dec 2020 06:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45285 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 45285@debbugs.gnu.org Received: via spool by 45285-submit@debbugs.gnu.org id=B45285.160870361010746 (code B ref 45285); Wed, 23 Dec 2020 06:07:01 +0000 Received: (at 45285) by debbugs.gnu.org; 23 Dec 2020 06:06:50 +0000 Received: from localhost ([127.0.0.1]:51539 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1krxIQ-0002nG-91 for submit@debbugs.gnu.org; Wed, 23 Dec 2020 01:06:50 -0500 Received: from out203-205-251-27.mail.qq.com ([203.205.251.27]:39425 helo=qq.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <873216071@qq.com>) id 1krxIJ-0002mv-TU for 45285@debbugs.gnu.org; Wed, 23 Dec 2020 01:06:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1608703594; bh=yztNtH4/SnosSJKrTXJwPCEtr7jfORQ4JGavu+j2HiA=; h=From:To:Subject:Date; b=YYqJ3OJjSY1TgXDq+ZH/sEyEsF1Tba6H3RG1bEEo5P3Xzkhnq3/40L0Zy/xVM1+HD wUniN4eeb/KqmYgW+qxVncp13t4yVavnSBOiV86UqP7F15sI6cW8XtNHQXPFPJJ19D RggU65/hpPdiM91PZ/xr0Y13PCpPsoWIK1WOI83E= Received: from Z572 ([2409:8928:e82:48e9:6d07:3daf:d527:1fd6]) by newxmesmtplogicsvrszc5.qq.com (NewEsmtp) with SMTP id 1A019EFF; Wed, 23 Dec 2020 14:06:32 +0800 X-QQ-mid: xmsmtpt1608703592thlrzwbli Message-ID: X-QQ-XMAILINFO: MR6M6lNNTXtqJOBknP9ZsAAYSfJQRg3E9hvHjmYRnu14cNxIgZOsBpV4f3vVXj vuCP2BrtNTos8oeV2vJKeTR1rNmYdJSUXfhIsOu6qxmavwNn9Pp8tSqM4AjWvVnUgJ6uUrGmEH+1 wNswC83K6wRUrDAf0kL5T5iRZtRK+o9uMyHHuX0TkgM8vVT6n6M4J3pwklkFIdgOzPx+4EsDsdjl Une4FP0qk3QwEhlykyQ5V67DWzkEVJ4GFD0iLrOS2FxEO1CLMWcHrAjsVNfwUtcwzeleo7LROpPh RfVczSWRNwBNkRjD51ouSdlxFfIDbBEsaGxjlpZMH7WOzHEHsYcNCYsgl3ah8IBK+Vyy4qqJ7p8g RHbTF+U4Xbdxsw4JMdob6mCjtIEq18/IKJdJ20sqmADUosN1JnK3qWxJCttW6bqCBWmM4/PyqGWH 3WxNI0HkKPEBE9r1AUw9nOGmBIZRKKfQAmPMVw6Ds5ZZcPuHaC2j+ZwcS1SQgG/TCczkXjzr1Llv 8nzx90PX43mdG3cknBRy7Cy0l5j+GhwV2M3LgKPGmgXaxK37WlCJjI3TyKpXDxYmCYHiAs0RkcZA KMVs+BN13fq5J5AEi/BHFkDPJrFFYAEGq2q7/VfB1+7gzuQfhzxcq2YWgLa44biL4WTUxCW+2hxZ +pm7BF7By7PnuRYJj5spD/m7RevTdYyAqBAoENYdK73umUIYQ3UTCUABSt94LUe759Uy6Fn9cGjj XsKI42hxrZO3Ddl+6BasfocRoPs6vIWbkgQqMSsYAnn/pstss9g3gFnd4gzkSC9E3q From: Z572 <873216071@qq.com> Date: Wed, 23 Dec 2020 14:06:30 +0800 Message-ID: <87wnx9kqe1.fsf@qq.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Hi, Ludovic Courtès skribis: >>> QWARN : ExtractTest::testExtraction(extract all entries from a xar archive with path) ark.libarchive: Could not open the archive: Unrecognized archive format >>> QWARN : ExtractTest::testExtraction(extract all entries from a xar archive with path) ark.libarchive: Could not open the archive: Unrecognized archive format >>> FAIL! : ExtractTest::testExtraction(extract all entries from a xar archive with path) Compared values are not the same >>> Actual (extractedEntriesCount) : 0 >>> Expected (expectedExtractedEntriesCount): 6 >>> Loc: [/tmp/guix-build-ark-20.04.1.drv-0/ark-20.04.1/autotests/kerfuffle/extracttest.cpp(469)] >> >> The tests fail. > > What you paste above sounds like there could be a real issue with some > archive formats, which may be a core issue for this archiving tool. > > Could you investigate a bit and/or get in touch with upstream to see if > they can provide guidance? I think this is guix libarchive's problem, it doesn't support xar format because it needs to input OpenSSL, EXPAT, And XML2. See libarchive-3.4.2.tar.xz!libarchive-3.4.2/configure : -----+------------------------------------------------------------------------------ L1546| --without-openssl Don't build support for mtree and xar hashes through L1547| openssl L1548| --without-xml2 Don't build support for xar through libxml2 L1549| --without-expat Don't build support for xar through expat -----+------------------------------------------------------------------------------ It's new patch. Z572. diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index b1b8b6a484..b832a6893c 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages apr) #:use-module (gnu packages audio) + #:use-module (gnu packages backup) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages code) @@ -79,6 +80,74 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) +(define-public ark + (package + (name "ark") + ;; 20.12.0 need ECM 5.71.0, but guix extra-cmake-modules ECM is 5.70.1. + (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")) + (patches (search-patches + ;; guix libarchive no support xar. + "ark-skip-xar-test.patch")))) + (build-system qt-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'start-xserver + ;;; adddialogtest need 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") + #t)))))) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config) + ("kdoctools" ,kdoctools))) + (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) + ("zlib" ,zlib) + + ;; test + ("lz4" ,lz4) + ("xorg-server" ,xorg-server))) + (propagated-inputs + `(("unzip" ,unzip) + ("zip" ,zip) + ("lrzip" ,lrzip) + ("lzop" ,lzop) + ("zstd" ,zstd) + ("p7zip" ,p7zip))) + (home-page "https://apps.kde.org/en/ark") + (synopsis "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 baloo-widgets (package (name "baloo-widgets") diff --git a/gnu/packages/patches/ark-skip-xar-test.patch b/gnu/packages/patches/ark-skip-xar-test.patch new file mode 100644 index 0000000000..525201997b --- /dev/null +++ b/gnu/packages/patches/ark-skip-xar-test.patch @@ -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 { +- 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() +- << optionsPreservePaths +- << 6; +- + archivePath = QFINDTESTDATA("data/hello-1.0-x86_64.AppImage"); + QTest::newRow("extract all entries from an AppImage with path") + << archivePath