mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-18 00:00:32 +02:00
gnu: Remove gzdoom.
* gnu/packages/games.scm (gzdoom): Delete variable. Fixes: guix/guix#1765 Change-Id: I8eb482f5ff4c8edeaff812095ad5c5188023a2ca
This commit is contained in:
@@ -9252,136 +9252,6 @@ You can save humanity and get programming skills!")
|
||||
(home-page "https://colobot.info")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gzdoom
|
||||
(package
|
||||
(name "gzdoom")
|
||||
(version "4.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/coelckers/gzdoom")
|
||||
(commit (string-append "g" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0i4hyg72z84fc6ca2ic9q82q5cbgrbd7bynl3kpkypxvyasq08wz"))
|
||||
(patches (search-patches "gzdoom-search-in-installed-share.patch"
|
||||
"gzdoom-find-system-libgme.patch"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 regex)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Remove files which mustn't be commercially redistributed. See
|
||||
;; <https://zdoom.org/wiki/License#Commercial_use>, the ‘Contribution
|
||||
;; Guidelines’ at <https://github.com/ZDoom>, and Guix issue #73435.
|
||||
(for-each
|
||||
(lambda (directory)
|
||||
(delete-file-recursively directory)
|
||||
(substitute* "CMakeLists.txt"
|
||||
(((string-append "add_subdirectory\\([[:blank:]]*"
|
||||
directory
|
||||
"[[:blank:]]*\\)"))
|
||||
"")))
|
||||
'( ;; "wadsrc_extra" ;game_support.pk3
|
||||
"wadsrc_bm")) ;brightmaps.pk3
|
||||
|
||||
;; Removing game_support.pk3 entirely would break Freedoom & remove
|
||||
;; users' ability to play commercial games, despite owning (only) the
|
||||
;; non-functional data. That can't be right. Out of an abundance of
|
||||
;; caution, remove anything from the PK3 that could conceivably be
|
||||
;; derived from copyrightable data that's not freely redistributable.
|
||||
(display "Keeping only the following game_support.pk3 files:\n")
|
||||
(let* ((regexps (list "/font\\.inf$"
|
||||
"/harmony/.*\\.(txt|zs)$"
|
||||
"/(iwadinfo|mapinfo|sprofs)\\.txt$"
|
||||
"\\.z$"))
|
||||
(regexp* (format #f "(~{~a~^|~})" regexps))
|
||||
(regexp (make-regexp regexp* regexp/icase)))
|
||||
(define (keep-file? file stat)
|
||||
(let ((keep? (regexp-exec regexp file)))
|
||||
(when keep?
|
||||
(format #t " ~a~%" file))
|
||||
keep?))
|
||||
|
||||
(for-each delete-file (find-files "wadsrc_extra/static"
|
||||
(negate keep-file?))))
|
||||
|
||||
;; Remove some bundled libraries. XXX There are more, but removing
|
||||
;; them would require, at least, patching the build system.
|
||||
(with-directory-excursion "libraries"
|
||||
(delete-file-recursively "bzip2")
|
||||
(delete-file-recursively "game-music-emu")
|
||||
(delete-file-recursively "jpeg")
|
||||
(delete-file-recursively "zlib"))))))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
#~(list
|
||||
(string-append
|
||||
"-DCMAKE_CXX_FLAGS:="
|
||||
"-DSHARE_DIR=\\\"" #$output "/share/\\\" "
|
||||
"-DGUIX_OUT_PK3=\\\"" #$output "/share/games/doom\\\"")
|
||||
|
||||
;; The build requires some extra convincing not to use the bundled
|
||||
;; libgme previously deleted in the soure snippet.
|
||||
"-DFORCE_INTERNAL_GME=OFF"
|
||||
|
||||
;; Link libraries at build time instead of loading them at run time.
|
||||
"-DDYN_OPENAL=OFF"
|
||||
"-DDYN_FLUIDSYNTH=OFF"
|
||||
"-DDYN_GTK=OFF"
|
||||
"-DDYN_MPG123=OFF"
|
||||
"-DDYN_SNDFILE=OFF")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'fix-file-names
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/CMakeLists.txt"
|
||||
(("COMMAND /bin/sh")
|
||||
(string-append "COMMAND " (which "sh"))))
|
||||
(substitute*
|
||||
"libraries/zmusic/mididevices/music_fluidsynth_mididevice.cpp"
|
||||
(("/usr/share/sounds/sf2/FluidR3_GM.sf2")
|
||||
(search-input-file inputs
|
||||
"share/soundfonts/FluidR3Mono_GM.sf3")))
|
||||
(substitute*
|
||||
"libraries/zmusic/mididevices/music_timiditypp_mididevice.cpp"
|
||||
(("(exename = \")(timidity)(\".*)" _ prefix exe suffix)
|
||||
(string-append prefix
|
||||
(search-input-file inputs
|
||||
(string-append "bin/" exe))
|
||||
suffix))))))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs (list bzip2
|
||||
fluid-3
|
||||
fluidsynth
|
||||
gtk+
|
||||
libgme
|
||||
libjpeg-turbo
|
||||
libsndfile
|
||||
mesa
|
||||
mpg123
|
||||
openal
|
||||
sdl2
|
||||
timidity++
|
||||
zlib))
|
||||
(native-inputs (list pkg-config unzip))
|
||||
(synopsis "Modern Doom 2 source port")
|
||||
(description "GZdoom is a port of the Doom 2 game engine, with a modern
|
||||
renderer. It improves modding support with ZDoom's advanced mapping features
|
||||
and the new ZScript language. In addition to Doom, it supports Heretic, Hexen,
|
||||
Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.")
|
||||
(home-page "https://zdoom.org/index")
|
||||
;; The source uses x86 assembly
|
||||
(supported-systems '("x86_64-linux" "i686-linux"))
|
||||
(license (list license:gpl3+ ; gzdoom game
|
||||
license:lgpl3+ ; gzdoom renderer
|
||||
license:expat ; gdtoa
|
||||
(license:non-copyleft ; modified dumb
|
||||
"file://dumb/licence.txt"
|
||||
"Dumb license, explicitly GPL compatible.")))))
|
||||
|
||||
(define-public odamex
|
||||
(package
|
||||
(name "odamex")
|
||||
|
||||
Reference in New Issue
Block a user