Skip to content

nongnu: steam: Use guile instead of bash for scripts.

ison requested to merge ison2/nonguix:steam-use-guile-for-scripts into master
  • nongnu/packages/steam-client.scm: Use module guix records.
    (<nonguix-container>): New record type.
    (glibc-for-fhs-32, steam-libs-32, steam-libs-64): Removed.
    (packages->ld.so.conf): Rename to fhs-ld.so.conf and use static paths.
    (steam): Rename to steam-client, remove wrappers and inputs, and
    replace with new definition for steam.
    (fhs-min-libs): New alist.
    (steam-client-libs): Add bash and coreutils, remove glibc and glibc-32.
    (steam-gameruntime-libs): Add font-dejavu and font-liberation.
    (fhs-union, nonguix-container->package, make-container-wrapper)
    (make-container-manifest, make-container-internal)
    (make-internal-script): New functions.

This merge replaces the bash scripts previously embedded in the steam package with guile scripts interned in the guix store. The structure of the FHS container remains the same as the previous version aside from moving bash, coreutils, and fonts from the previous manifest to steam-client-libs and steam-gameruntime-libs.

A new record type is added because the new functions required too many variables to be passed around so it seemed to call out for an object type to define the container.

Eventually, perhaps, these container functions could be moved to a different file and used by other applications/games.

Edited by ison

Merge request reports