gnu: ultrastar-deluxe: Improve package style.

* gnu/packages/games.scm (ultrastar-deluxe): Do not exceed column 80.
[source]<snippet>: Use G-Expressions.
[#:phases]: Fix indentation.
<fix-configure>: Add ‘where’ helper and use it to shrink horizontal space.
This commit is contained in:
Liliana Marie Prikler 2022-11-08 06:48:10 +01:00
parent 4cecbc5dd2
commit e58450be4a
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87

View file

@ -11163,7 +11163,7 @@ (define-public freerct
(license license:gpl2)))
(define-public ultrastar-deluxe
;; The last release is quite old and does not support recent versions of ffmpeg.
;; The last release is quite old and does not support recent ffmpeg versions.
(let ((commit "43484b0a10ce6aae339e19d81ae2f7b37caf6baa")
(revision "1"))
(package
@ -11181,15 +11181,16 @@ (define-public ultrastar-deluxe
(patches (search-patches "ultrastar-deluxe-no-freesans.patch"))
(modules '((guix build utils)))
(snippet
`(begin
;; Remove Windows binaries.
(for-each delete-file (find-files "game" "\\.dll$"))
;; Remove font blobs.
(let ((font-directories (list "DejaVu" "FreeSans" "NotoSans"
"wqy-microhei")))
(for-each
#~(begin
;; Remove Windows binaries.
(for-each delete-file (find-files "game" "\\.dll$"))
;; Remove font blobs.
(let ((font-directories
(list "DejaVu" "FreeSans" "NotoSans"
"wqy-microhei")))
(for-each
(lambda (d) (delete-file-recursively
(string-append "game/fonts/" d)))
(string-append "game/fonts/" d)))
font-directories))))))
(build-system gnu-build-system)
(arguments
@ -11197,33 +11198,38 @@ (define-public ultrastar-deluxe
#:tests? #f ; No tests.
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-configure
(lambda* (#:key inputs configure-flags outputs #:allow-other-keys)
;; The configure script looks for lua$version, but we provide lua-$version.
(substitute* "configure.ac"
(("lua\\$i") "lua-$i"))
;; fpc does not pass -lfoo to the linker, but uses its own linker script,
;; which references libs. Pass the libraries listed in that linker script,
;; so our custom linker adds a correct rpath.
(substitute* "src/Makefile.in"
(("linkflags\\s+:= ")
(string-append "linkflags := -lpthread -lsqlite3 -lSDL2"
" -lSDL2_image -ldl "
" -lz -lfreetype -lportaudio -lavcodec"
" -lavformat -lavutil -lswresample"
" -lswscale -llua -ldl -lX11 -lportmidi"
" -L" (dirname (search-input-file inputs "lib/libz.so"))
" -L" (dirname (search-input-file inputs "lib/libX11.so"))
" -L" (dirname (search-input-file inputs "lib/libportmidi.so")))))))
(add-after 'install 'font-paths
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (string-append
(assoc-ref outputs "out")
"/share/ultrastardx/fonts/fonts.ini")
(("=NotoSans/") (string-append "=" #$font-google-noto
"/share/fonts/truetype/"))
(("=DejaVu/") (string-append "=" #$font-dejavu
"/share/fonts/truetype/"))))))))
(add-after 'unpack 'fix-configure
(lambda* (#:key inputs configure-flags outputs #:allow-other-keys)
(define (where inputs file)
(dirname (search-input-file inputs file)))
;; The configure script looks for lua$version, but we
;; provide lua-$version.
(substitute* "configure.ac"
(("lua\\$i") "lua-$i"))
;; fpc does not pass -lfoo to the linker, but uses its own
;; linker script, which references libs. Pass the libraries
;; listed in that linker script, so our custom linker adds
;; a correct rpath.
(substitute* "src/Makefile.in"
(("linkflags\\s+:= ")
(string-append
"linkflags := -lpthread -lsqlite3 -lSDL2"
" -lSDL2_image -ldl "
" -lz -lfreetype -lportaudio -lavcodec"
" -lavformat -lavutil -lswresample"
" -lswscale -llua -ldl -lX11 -lportmidi"
" -L" (where inputs "lib/libz.so")
" -L" (where inputs "lib/libX11.so")
" -L" (where inputs "lib/libportmidi.so"))))))
(add-after 'install 'font-paths
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (string-append
(assoc-ref outputs "out")
"/share/ultrastardx/fonts/fonts.ini")
(("=NotoSans/") (string-append "=" #$font-google-noto
"/share/fonts/truetype/"))
(("=DejaVu/") (string-append "=" #$font-dejavu
"/share/fonts/truetype/"))))))))
(inputs (list ffmpeg
font-dejavu
font-google-noto