Subject: [bug#30344] cwm

From: [email-masked]
Date: Sun, 04 Feb 2018 11:32:09 +0000

On Sun, 04 Feb 2018, [email-masked] wrote:
> Trying to reduce the amount of software I keep in my domain.
> Here's cwm, the OpenBSD window manager.
>
> From 6c3d991fd5b99dded91e00b6f98d79c041e4be7d Mon Sep 17 00:00:00 2001
> From: ng0 <[email-masked]>
> Date: Sun, 4 Feb 2018 11:15:19 +0000
> Subject: [PATCH] gnu: Add cwm.
>
> * gnu/packages/wm.scm (cwm): New variable.
> ---
>  gnu/packages/wm.scm | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 55 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
> index 0cf6c1a2d..09015126c 100644
> --- a/gnu/packages/wm.scm
> +++ b/gnu/packages/wm.scm
> @@ -9,7 +9,7 @@
>  ;;; Copyright © 2016 Al McElrath <[email-masked]>
>  ;;; Copyright © 2016 Carlo Zancanaro <[email-masked]>
>  ;;; Copyright © 2016, 2017 Ludovic Courtès <[email-masked]>
> -;;; Copyright © 2016, 2017 ng0 <[email-masked]>
> +;;; Copyright © 2016, 2017, 2018 ng0 <[email-masked]>
>  ;;; Copyright © 2016 doncatnip <[email-masked]>
>  ;;; Copyright © 2016 Ivan Vilata i Balaguer <[email-masked]>
>  ;;; Copyright © 2017 Mekeor Melire <[email-masked]>
> @@ -46,6 +46,7 @@
>    #:use-module (gnu packages haskell-check)
>    #:use-module (gnu packages haskell-web)
>    #:use-module (gnu packages autotools)
> +  #:use-module (gnu packages bison)
>    #:use-module (gnu packages gawk)
>    #:use-module (gnu packages base)
>    #:use-module (gnu packages pkg-config)
> @@ -915,3 +916,56 @@ It is inspired by Xmonad and dwm.  Its major features include:
>  @end itemize\n")
>      (home-page "https://github.com/conformal/spectrwm")
>      (license license:isc)))
> +
> +(define-public cwm
> +  (package
> +    (name "cwm")
> +    (version "6.2")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "http://chneukirchen.org/releases/cwm-"
> +                           version ".tar.gz"))
> +       (sha256
> +        (base32
> +         "1b8k2hjxpb0bzqjh2wj6mn2nf2360zacf8z19sw2rw5lxvmfy89x"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:make-flags (list "CC=gcc"
> +                          (string-append "PREFIX=" %output))
> +       #:tests? #f
> +       #:phases
> +       (modify-phases %standard-phases
> +         (delete 'configure)
> +         (add-after 'build 'install-xsession
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             ;; Add a .desktop file to xsessions.
> +             (let* ((output (assoc-ref outputs "out"))
> +                    (xsessions (string-append output "/share/xsessions")))
> +               (mkdir-p xsessions)
> +               (with-output-to-file
> +                   (string-append xsessions "/cwm.desktop")
> +                 (lambda _
> +                   (format #t
> +                           "[Desktop Entry]~@
> +                     Name=cwm~@
> +                     Comment=OpenBSD Calm Window Manager fork~@
> +                     Exec=~a/bin/cwm~@
> +                     TryExec=~@*~a/bin/cwm~@
> +                     Icon=~@
> +                     Type=Application~%"
> +                           output)))
> +               #t))))))
> +    (inputs
> +     `(("libxft" ,libxft)
> +       ("libxrandr" ,libxrandr)
> +       ("libxinerama" ,libxinerama)))
> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)
> +       ("bison" ,bison)))
> +    (home-page "https://github.com/chneukirchen/cwm")
> +    (synopsis "OpenBSD fork of calmwm")
                           ^- about this...

> +    (description
> +     "Cwm is a OpenBSD fork of the clean and lightweight window manager
                          ^- ... and this I am not so sure, as
                          the man pages state there has been a
                          rewrite since then, so maybe just
                          "inspired by"? It could be the same as
                          with neomutt.

Wikipedia has more on this:

cwm (Calm Window Manager)[1] is a stacking window manager for the
X Window System. While it is primarily developed as a part of
OpenBSD's base system,[2] portable versions are available on
other Unix-like operating systems.

Development of cwm started from patches to evilwm by Marius
Aamodt Eriksen.[3] To ease the implementation of new features,
cwm was eventually rewritten using some code from 9wm.[4] The
last release by the original author came out in August 2005.[3]

In April 2007, cwm was imported into OpenBSD source tree.[5] By
January 2008, a substantial part of the original source code,
including all of the 9wm code, was rewritten.[6]

cwm has been distributed with OpenBSD since version 4.2, where it
replaced wm2.[7] A third-party Linux port also exists.[8]

... so I'd say it's not a fork but maintained by OpenBSD, in
OpenBSD's source tree. For reference:
https://en.wikipedia.org/wiki/Cwm_(window_manager)

> +calmwm.")
> +    (license license:isc)))
> -- 
> 2.16.1

-- 
ng0 :: https://ea.n0.is
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/