Kei Kebreau writes: > * gnu/packages/games.scm (freedoom)[arguments]: Substitute shell > variable assignment in start script for a direct engine launch. > --- > gnu/packages/games.scm | 19 ++++++++++++------- > 1 file changed, 12 insertions(+), 7 deletions(-) > > diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm > index 67fcb7b49..401ba4444 100644 > --- a/gnu/packages/games.scm > +++ b/gnu/packages/games.scm > @@ -162,14 +162,19 @@ > (("freedoom2.png") > "-define png:exclude-chunks=date freedoom2.png")) > ;; Make sure that the install scripts know where to find > - ;; the appropriate WAD files. > + ;; the appropriate WAD files and Doom engine. > + ;; Do this by turning a shell variable assignment into a > + ;; direct engine launch and exit. > (substitute* "dist/freedoom" > - (("IWAD=freedm.wad") > - (string-append "IWAD=" wad-dir "/freedm.wad")) > - (("IWAD=freedoom1.wad") > - (string-append "IWAD=" wad-dir "/freedoom1.wad")) > - (("IWAD=freedoom2.wad") > - (string-append "IWAD=" wad-dir "/freedoom2.wad"))) > + (("IWAD=") > + (string-append (assoc-ref inputs "prboom-plus") > + "/bin/prboom-plus -iwad ")) > + (("freedm.wad") > + (string-append wad-dir "/freedm.wad \"$@\"; exit $?")) > + (("freedoom1.wad") > + (string-append wad-dir "/freedoom1.wad \"$@\"; exit $?")) > + (("freedoom2.wad") > + (string-append wad-dir "/freedoom2.wad \"$@\"; exit $?"))) From reading the "dist/freedoom" shell script, it looks like it tries prboom-plus automatically if it exists in PATH. Does this not work? It also tries a bunch of other engines, so I don't think we should hard code one. > #t)))))) > (native-inputs > `(("asciidoc" ,asciidoc) > -- > 2.12.0