Hi, On ven., 13 mai 2022 at 08:49, 白い熊@相撲道 <help-guix_gnu....@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