GNU bug report logs -
#62550
[PATCH] gnu: Add alienblaster.
Previous Next
Reported by: Yovan Naumovski <yovan <at> gorski.stream>
Date: Thu, 30 Mar 2023 19:28:02 UTC
Severity: normal
Tags: patch
Done: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 62550 <at> debbugs.gnu.org (full text, mbox):
Hi Yovan,
On 2023-03-30 20:26, Yovan Naumovski via Guix-patches via wrote:
> + (arguments
> + '(#:tests? #f ;; no tests
> + #:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'fix-sdl-paths
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (share (string-append out "/share"))
> + (sdl-mixer (assoc-ref inputs "sdl-mixer")))
> +
> + ;; fix name and append path to SDL_mixer.h
> + (substitute* "src/Makefile"
> + (("GAME_NAME=alienBlaster")
> + "GAME_NAME=alienblaster")
> + (("SDL_FLAGS=\\$\\(shell sdl-config --cflags\\)" line)
> + (string-append line " -I" sdl-mixer "/include/SDL")))
> +
> + ;; substitute relative paths in .cfg and source/header files
> + (substitute* (find-files "./cfg")
> + (("(\\./)?images") (string-append share "/images")))
> + (substitute* (list "src/global.h" "src/global.cc")
> + (("./images") (string-append share "/images"))
> + (("./sound") (string-append share "/sound"))
> + (("./cfg") (string-append share "/cfg"))))))
> +
> + (delete 'configure)
> +
> + (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (bin (string-append out "/bin")))
> + (install-file "alienblaster" bin)
> + (for-each
> + (lambda (dir)
> + (copy-recursively dir (string-append out "/share/" dir)))
> + '("images" "sound" "cfg")))
> + #t)))))
You should use G-Expressions here, i.e.
(arguments
(list
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-sdl-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(share (string-append #$output "/share"))
(sdl-mixer (assoc-ref inputs "sdl-mixer")))
;; fix name and append path to SDL_mixer.h
(substitute* "src/Makefile"
(("GAME_NAME=alienBlaster")
"GAME_NAME=alienblaster")
(("SDL_FLAGS=\\$\\(shell sdl-config --cflags\\)" line)
(string-append line " -I" sdl-mixer "/include/SDL")))
;; substitute relative paths in .cfg and source/header files
(substitute* (find-files "./cfg")
(("(\\./)?images") (string-append share "/images")))
(substitute* (list "src/global.h" "src/global.cc")
(("./images") (string-append share "/images"))
(("./sound") (string-append share "/sound"))
(("./cfg") (string-append share "/cfg"))))))
… )
Take a look at the existing packages that use G-Expressions for inspiration.
(examples that come to mind are mympd, libavif, autokey, rng-tools,
dropwatch, nvme-cli, …)
> + (home-page "http://www.schwardtnet.de/alienblaster/")
> + (synopsis "Action-loaded 2D arcade shooter game")
> + (description "Alien Blaster is an action-loaded 2D arcade shooter
> +game. Your mission in the game is simple: stop the invasion of the aliens by
> +blasting them. Simultaneous two-player mode is available.")
Keep the sentences separated with two spaces between them. (Texinfo syntax)
Thanks,
Bruno
This bug report was last modified 2 years and 30 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.