Subject: [bug#52114] [PATCH] gnu: Add skippy-xd

From: Nicolas Goaziou <[email-masked]>
Date: Sat, 15 Jan 2022 22:15:41 +0100

Hello,

Jaft <[email-masked]> writes:

> * gnu/packages/xdisorg.scm (skippy-xd): Add skippy-xd

Thank you for the patch.

I fixed a few issues with it (incorrect license, check phase deleted
instead of using #:tests? keyword, useless modules field, incorrect
version string, inputs as native-inputs, unordered inputs) and moved it
to new package style. I am attaching the result as a new patch.

Could you, or someone else, tell me if it's working properly. I couldn't
make it work for some reason.

Regards,
-- 
Nicolas Goaziou
>From 8fb2644d64589e776c8142451ebf2dda164dbae0 Mon Sep 17 00:00:00 2001
Message-Id: <[email-masked]>
From: Jaft <[email-masked]>
Date: Sat, 15 Jan 2022 22:09:25 +0100
Subject: [PATCH] gnu: Add skippy-xd.

* gnu/packages/xdisorg.scm (skippy-xd): New variable.

Signed-off-by: Nicolas Goaziou <[email-masked]>
---
 gnu/packages/xdisorg.scm | 60 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 74a6ea38b8..828089b7c0 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -52,6 +52,7 @@
 ;;; Copyright © 2021 ikasero <[email-masked]>
 ;;; Copyright © 2021 Felix Gruber <[email-masked]>
 ;;; Copyright © 2021 jgart <[email-masked]>
+;;; Copyright © 2021 Wamm K. D. <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -77,6 +78,7 @@ (define-module (gnu packages xdisorg)
   #:use-module (guix build-system python)
   #:use-module (guix build-system scons)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix hg-download)
   #:use-module ((guix licenses) #:prefix license:)
@@ -2920,6 +2922,64 @@ (define-public jumpapp
     (home-page "https://github.com/mkropat/jumpapp")
     (license license:expat)))
 
+(define-public skippy-xd
+  ;; XXX: Upstream made no release so far.  Using latest commit.
+  (let ((commit "397216ca67074c71314f5e9a6e3f1710ccabc29e")
+        (revision "1"))
+    (package
+      (name "skippy-xd")
+      ;; Version is extracted from Debian's "control" file.
+      (version (git-version "0.5" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/richardgv/skippy-xd")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0zcjacilmsv69rv85j6nfr6pxy8z36w1sjz0dbjg6s5m4kga1zl8"))))
+      (build-system  gnu-build-system)
+      (arguments
+       (list
+        #:tests? #f                     ;no tests
+        #:phases
+        #~(modify-phases %standard-phases
+            (delete 'configure)         ;no configure script
+            (add-after 'unpack 'set-version
+              ;; SKIPPYXD_VERSION is a git commit hash.  Display our own, more
+              ;; informative (?) version string instead.
+              (lambda _
+                (substitute* "Makefile"
+                  (("\\$\\{SKIPPYXD_VERSION\\}") #$version)))))
+        #:make-flags
+        ;; XXX: Setting both PREFIX and DESTDIR is needed to work around
+        ;; a Makefile problem when moving files to "%output/etc/xdg".
+        #~(list (string-append "PREFIX=/")
+                (string-append "DESTDIR=" #$output)
+                #$(string-append "CC=" (cc-for-target)))))
+      (native-inputs
+       (list pkg-config))
+      (inputs
+       (list giflib
+             libjpeg-turbo
+             libx11
+             libxcomposite
+             libxdamage
+             libxext
+             libxft
+             libxinerama))
+      (home-page "https://github.com/richardgv/skippy-xd/")
+      (synopsis "Full-screen Exposé-style standalone task switcher for X11")
+      (description "Skippy-XD is a program that provides Exposé-like features
+such as found on the MacOS X operating system.  It is a standalone application
+for providing a window picker with live previews (including live video) on
+Linux desktops that run an X server with compositing support.  Thus, it is not
+part of the window manager and the compositing is not being used all the
+time.")
+      (license license:gpl2+))))
+
 (define-public xkbset
   (package
     (name "xkbset")
-- 
2.34.0