1
0
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:
Andreas Enge
2025-10-19 11:32:14 +02:00
parent 344bf876f6
commit 3d7c920ead

View File

@@ -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")