Subject: [bug#40862] gnu: Add xarchiver. (v2)

From: Raghav Gururajan <[email-masked]>
Date: Sun, 26 Apr 2020 05:53:05 -0400

Hello Mathieu!

> Thanks for this patch. When running 'guix lint' on this patch, I have
> the following warnings:
> 
> --8<---------------cut here---------------start------------->8---
> /home/mathieu/guix-master/gnu/packages/compression.scm:87:5:
> [email-masked]: the source file name should contain the package name
> /home/mathieu/guix-master/gnu/packages/compression.scm:87:5:
> [email-masked]: the source URI should not be an autogenerated tarball
> fetching CVE database for 2020...... fetching CVE database for 2019...
> fetching CVE database for 2018... fetching CVE database for 2017...
> /home/mathieu/guix-master/gnu/packages/compression.scm:85:13:
> [email-masked]: can be upgraded to 0.5b2 --8<---------------cut
> here---------------end--------------->8---
> 
> >  
> > +(define-public xarchiver
> > +  (package
> > +    (name "xarchiver")
> > +    (version "0.5.4.14")
> > +    (source
> > +     (origin
> > +       (method url-fetch)
> > +       (uri
> > +        (string-append "https://github.com/ib/" name "/archive/"
> > +                       version ".tar.gz"))  
> 
> You should use "git-fetch" method for github repositories (see linter
> warning above).
> 
> > +       (list
> > +        "--disable-plugin")))           ; Not required  
> 
> Why is it not required?
> 
> > +    (synopsis "Graphical Front-end for Archive Operations")  
> 
> No camel case notation.
> 
> > +    (description "Xarchiver is the ultimate solution for handling
> > archives.  It +is a desktop-environment independent archiver front end.")  
> 
> "Ultimate" is maybe exaggerated! Also you could elaborate a bit on the
> functionalities of this tool.

Please find the revised patch attached with this email.

Regards,
RG.
>From 23e7dc347108c75f92d5bafd17b39cba47eed486 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <[email-masked]>
Date: Sun, 26 Apr 2020 05:50:47 -0400
Subject: [PATCH] gnu: Add xarchiver.

* gnu/packages/compression (xarchiver): New variable.
---
 gnu/packages/compression.scm | 38 ++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index e9ef302bcd..7333810c73 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -50,6 +50,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
@@ -63,6 +64,10 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages file)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -70,9 +75,42 @@
   #:use-module (gnu packages qt)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages valgrind)
+  #:use-module (gnu packages xml)
   #:use-module (ice-9 match)
   #:use-module ((srfi srfi-1) #:select (last)))
 
+(define-public xarchiver
+  (package
+    (name "xarchiver")
+    (version "0.5.4.14")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ib/xarchiver.git")
+         (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1iklwgykgymrwcc5p1cdbh91v0ih1m58s3w9ndl5kyd44bwlb7px"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
+       ("libxslt" ,libxslt)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("adwaita-icon-theme" ,adwaita-icon-theme) ; Hard-coded theme
+       ("gtk+" ,gtk+)))
+    (synopsis "Graphical front-end for archive operations")
+    (description "Xarchiver is a front-end to various command line archiving
+tools.  It uses GTK+ tool-kit and is designed to be desktop-environment
+independent.  Supported formats are 7z, ARJ, bzip2, gzip, LHA, lzma, lzop, RAR,
+RPM, DEB, tar, and ZIP.  It cannot perform functions for archives, whose
+archiver is not installed.")
+    (home-page "https://github.com/ib/xarchiver")
+    (license license:gpl2+)))
+
 (define-public zlib
   (package
     (name "zlib")
-- 
2.26.2