AtlatestRepositorysigil-app

sigil-app / tree / guixrun-wayland.scm

1;; Runtime packages for a sigil-desktop game as a native Wayland client on Guix:
2;;
3;; guix shell --pure -m guix/run-wayland.scm -- ./build/release/bin/<game>
4;;
5;; GLFW loads every platform library at run time by soname, and
6;; sigil-desktop's dlopen (src/c/dl-search.c) looks in $GUIX_ENVIRONMENT/lib,
7;; which guix shell sets, so no LD_LIBRARY_PATH is needed. Three packages:
8;;
9;; mesa libEGL.so.1, libGL.so.1 and the GL driver (llvmpipe or the GPU's)
10;; wayland libwayland-client.so.0, libwayland-cursor.so.0, libwayland-egl.so.1
11;; libxkbcommon libxkbcommon.so.0, the keyboard map
12;;
13;; Not listed: libdecor (client-side decorations for compositors without
14;; xdg-decoration, i.e. GNOME; it adds ~850 MiB of GTK to the closure and
15;; sway/KDE/wlroots compositors decorate server-side), and libglvnd (Guix's
16;; mesa is built without glvnd, and a vendorless libGLX.so.0 on the path
17;; makes GLFW's GLX fail with "No GLXFBConfigs returned").
18;;
19;; With sigil-graphics 0.11.4 (GL loaded through sigil-desktop) and
20;; sigil-audio 0.12.2 (miniaudio, backends loaded at run time) a game's
21;; NEEDED list is libm, libc and the loader; a game with sound adds the
22;; audio backend library, see run-wayland-game.scm.
23(specifications->manifest
24 '("mesa"
25 "wayland"
26 "libxkbcommon"))