Subject: [bug#61010] [PATCH] gnu: Add icewm

From: Andy Tai <[email-masked]>
Date: Sun, 22 Jan 2023 12:37:46 -0800

From bd669eb4d0d7fc3b79adf8b90f04e9cfee8b0906 Mon Sep 17 00:00:00 2001
From: Andy Tai <[email-masked]>
Date: Sun, 22 Jan 2023 12:35:32 -0800
Subject: [PATCH] gnu: Add icewm

* gnu/packages/wm.scm (icewm): New variable
---
 gnu/packages/wm.scm | 58 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index b93c57b888..a65b53f8f2 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -97,6 +97,7 @@ (define-module (gnu packages wm)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages calendar)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages check)
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages docbook)
@@ -2918,3 +2919,60 @@ (define-public grimshot
 an interface over @code{grim}, @code{slurp} and @code{jq}, and supports storing
 the screenshot either directly to the clipboard using @code{wl-copy} or to a
 file.")))
+
+
+(define-public icewm
+  (package
+    (name "icewm")
+    (version "3.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/ice-wm/icewm/releases/download/"
+                    version "/icewm-" version ".tar.lz"))
+              (sha256
+               (base32
+                "14vkv5r9rvwfj8gmdsrkkq7vxvk2j7z7wfybzc8ywj469yya5ppq"))))
+    (build-system gnu-build-system)
+    (native-inputs (list pkg-config))
+    (inputs (list fontconfig
+                  fribidi
+                  imlib2
+                  libice
+                  libjpeg-turbo
+                  libsm
+                  libxcomposite
+                  libxdamage
+                  libxext
+                  libxfixes
+                  libxft
+                  libxinerama
+                  libxpm
+                  libxrandr
+                  libxrender
+                  libx11
+                  lzip
+                  perl))
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'skip-failing-test
+                    ;; strtest.cc tests failing due to $HOME and /etc setup difference under guix
+                    (lambda _
+                      (substitute* "src/Makefile.in"
+                        (("TESTS = strtest\\$\\(EXEEXT\\)")
+                         "TESTS = ")) #t)))))
+    (home-page "https://ice-wm.org/")
+    (synopsis "Window manager for the X Window System")
+    (description
+     "IceWM is a window manager for the X Window System.  The goal of
+IceWM is speed, simplicity, and not getting in the user’s way.  It comes with a
+taskbar with pager, global and per-window keybindings and a dynamic menu system.
+Application windows can be managed by keyboard and mouse.  Windows
+can be iconified to the taskbar, to the tray, to the desktop or be made
+hidden.  They are controllable by a quick switch window (Alt+Tab) and in a
+window list.  A handful of configurable focus models are
+menu-selectable.  Setups with multiple monitors are supported by RandR and
+Xinerama.  IceWM is very configurable, themeable and well documented.  It
+includes an optional external background wallpaper manager with transparency
+support, a simple session manager and a system tray.")
+    (license license:gpl2)))
\ No newline at end of file
-- 
2.39.1