help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IceWM for Guix System


From: zimoun
Subject: Re: IceWM for Guix System
Date: Fri, 13 May 2022 10:22:29 +0200

Hi,

On ven., 13 mai 2022 at 08:49, 白い熊@相撲道 <help-guix_gnu.org@sumou.com> wrote:

> Now, I'd like to add its package definition to my local guix git 
> checkout, however my low guix skill doesn't help me currently in 
> understanding also the ....-desktop-service-type and everything that's 
> needed to be done, and how to then use it in the system configuration.

One foot, then the other. :-)

A good start seems to package icewm.


> Can anyone help me - having done that, or similar for another WM that I 
> could take inspiration on how this can be achieved?

For instance,

    guix build -L /tmp/my-pkgs icewm

where /tmp/my-pkgs contains this file icewm.scm:

--8<---------------cut here---------------start------------->8---
(define-module (icewm)
  #:use-module (guix packages)
  #:use-module (gnu packages)
  #:use-module (guix build-system gnu)
  #:use-module (guix git-download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (gnu packages autogen)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages gettext)
  )

(define-public icewm
  (package
    (name "icewm")
    (version "1.4.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/bbidulock/icewm";)
             (commit version)))
       (sha256 "1gnaslxryzas8k91rb64inynj8gy50lb4kpkfrkj1px57m9hass2")
       (file-name (git-file-name name version))))
    (build-system gnu-build-system)
    (native-inputs
     (list autoconf automake gettext-minimal libtool))
    (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)))
--8<---------------cut here---------------end--------------->8---

Well, this does not work and fail with the error:

--8<---------------cut here---------------start------------->8---
autoreconf: running: 
/gnu/store/km9l89sd4wm9jp358481v2z6qacwl2h9-autoconf-2.69/bin/autoconf
configure.ac:69: error: possibly undefined macro: AC_DEFINE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:140: error: possibly undefined macro: AC_MSG_WARN
autoreconf: 
/gnu/store/km9l89sd4wm9jp358481v2z6qacwl2h9-autoconf-2.69/bin/autoconf failed 
with exit status: 1
--8<---------------cut here---------------end--------------->8---

You can address these issues, adds the list of inputs, etc.  Here, icewm
is bootstrapped when you could also use the release version and avoid
automake and friend.  Be careful, the ’bootstrap’ phase is triggered by
the check of the ’configure’ file, and here it is probably named
’configure.sh’.

The list of dependencies (inputs))

        libxft
        libxinerama
        libxpm
        libjpeg
        libxrandr

is also missing.


Feel free to share your progress and ask more help on specific points if
needed.


Cheers,
simon





reply via email to

[Prev in Thread] Current Thread [Next in Thread]