Package: guix-patches;
Reported by: Andrew Wong <wongandj <at> icloud.com>
Date: Wed, 25 Dec 2024 23:24:02 UTC
Severity: normal
Tags: patch
Done: Andrew Wong <wongandj <at> icloud.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 75104 in the body.
You can then email your comments to 75104 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#75104
; Package guix-patches
.
(Wed, 25 Dec 2024 23:24:02 GMT) Full text and rfc822 format available.Andrew Wong <wongandj <at> icloud.com>
:guix-patches <at> gnu.org
.
(Wed, 25 Dec 2024 23:24:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Andrew Wong <wongandj <at> icloud.com> To: guix-patches <at> gnu.org Cc: Andrew Wong <wongandj <at> icloud.com> Subject: [PATCH] gnu: gzdoom: Update to 4.13.2 Date: Wed, 25 Dec 2024 18:17:22 -0500
Change-Id: I73e6a86944ab3433d4425f3b3c345b509210a16d --- GZDoom has changed a lot since its last update here, and it (and it's new dependency, zmusic) have a lot of new bundled libraries. I'm not sure how to un-bundle most of them, so help on that front would be appreciated. The patches no longer work correctly either, so I've removed them; they seem unnecessary now, anyways. gnu/packages/games.scm | 132 ++++++++---------- .../patches/gzdoom-find-system-libgme.patch | 21 --- .../gzdoom-search-in-installed-share.patch | 23 --- 3 files changed, 56 insertions(+), 120 deletions(-) delete mode 100644 gnu/packages/patches/gzdoom-find-system-libgme.patch delete mode 100644 gnu/packages/patches/gzdoom-search-in-installed-share.patch diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index c2bb9aa1c4..d966f742ef 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -8403,67 +8403,44 @@ (define-public colobot (home-page "https://colobot.info") (license license:gpl3+))) +(define-public zmusic + (package + (name "zmusic") + (version "1.1.14") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ZDoom/ZMusic") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19arzkbwdj84vw1cfawc6930dfxdhhq4k6yawkkppaphj8qkfhdc")))) + (arguments (list #:tests? #f)) + (build-system cmake-build-system) + (native-inputs (list pkg-config glib)) + (home-page "https://github.com/ZDoom/ZMusic") + (synopsis "GZDoom's music system as a standalone library") + (description "GZDoom's music system as a standalone library, for use with +GZDoom, Raze, and PrBoom+.") + (license license:gpl3))) + (define-public gzdoom (package (name "gzdoom") - (version "4.3.2") + (version "4.13.2") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/coelckers/gzdoom") + (url "https://github.com/ZDoom/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")))))) + (base32 "0zlvrdayrj1rk5x2hwnc57l8pl29bl64zmfq3qc9yfypknj1syfy")) + ;; (patches (search-patches "gzdoom-search-in-installed-share.patch" + ;; "gzdoom-find-system-libgme.patch")) + )) (arguments (list #:tests? #f @@ -8484,30 +8461,33 @@ (define (keep-file? file stat) "-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)))))))) + ;; #: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)(\".*)" dum prefix exe suffix) + ;; (string-append prefix + ;; (search-input-file inputs + ;; (string-append "bin/" exe)) + ;; suffix)))))) + )) (build-system cmake-build-system) - (inputs (list bzip2 + (inputs (list zmusic + libvpx + bzip2 fluid-3 fluidsynth - gtk+ + gtk+ libgme libjpeg-turbo libsndfile @@ -8517,7 +8497,7 @@ (define (keep-file? file stat) sdl2 timidity++ zlib)) - (native-inputs (list pkg-config unzip)) + (native-inputs (list pkg-config unzip python)) (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 @@ -8526,9 +8506,9 @@ (define (keep-file? file stat) (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 (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."))))) diff --git a/gnu/packages/patches/gzdoom-find-system-libgme.patch b/gnu/packages/patches/gzdoom-find-system-libgme.patch deleted file mode 100644 index a7f277d614..0000000000 --- a/gnu/packages/patches/gzdoom-find-system-libgme.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- /CMakeLists.txt 2020-01-20 21:47:35.460119141 +0100 -+++ /CMakeLists.txt 2020-01-20 21:47:47.690112400 +0100 -@@ -195,12 +195,12 @@ - #endif() - - # GME --#find_path( GME_INCLUDE_DIR gme/gme.h ) --#find_library( GME_LIBRARIES gme ) --#mark_as_advanced( GME_INCLUDE_DIR GME_LIBRARIES ) --#FIND_PACKAGE_HANDLE_STANDARD_ARGS( GME --# REQUIRED_VARS GME_LIBRARIES GME_INCLUDE_DIR --#) -+find_path( GME_INCLUDE_DIR gme/gme.h ) -+find_library( GME_LIBRARIES gme ) -+mark_as_advanced( GME_INCLUDE_DIR GME_LIBRARIES ) -+FIND_PACKAGE_HANDLE_STANDARD_ARGS( GME -+ REQUIRED_VARS GME_LIBRARIES GME_INCLUDE_DIR -+) - - if( MSVC ) - # Eliminate unreferenced functions and data diff --git a/gnu/packages/patches/gzdoom-search-in-installed-share.patch b/gnu/packages/patches/gzdoom-search-in-installed-share.patch deleted file mode 100644 index f312686566..0000000000 --- a/gnu/packages/patches/gzdoom-search-in-installed-share.patch +++ /dev/null @@ -1,23 +0,0 @@ -Lookup gzdoom pk3 files in the installed directory in -addition to the path that is stored in ~/.config/gzdoom/. - -Simply replacing the hardcoded /usr/share would leave the -configfile pointing to outdated guix builds, which could get -garbage collected and break the gzdoom installation. -This ensures that the files installed with the corresponding -build will be used. - ---- /src/d_main.cpp 2018-01-16 22:13:09.700602781 +0200 -+++ /src/d_main.cpp 2018-01-16 22:22:36.560617961 +0200 -@@ -1716,6 +1716,11 @@ - return wad; - } - -+ mysnprintf (wad, countof(wad), "%s/%s", GUIX_OUT_PK3, file); -+ if (DirEntryExists (wad)) { -+ return wad; -+ } -+ - if (GameConfig != NULL && GameConfig->SetSection ("FileSearch.Directories")) - { - const char *key; -- 2.46.0
Andrew Wong <wongandj <at> icloud.com>
to control <at> debbugs.gnu.org
.
(Sun, 26 Jan 2025 12:25:03 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 24 Feb 2025 12:24:06 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.