Package: guix-patches;
Reported by: Andrew Wong <wongandj <at> icloud.com>
Date: Sat, 18 Jan 2025 05:49:02 UTC
Severity: normal
Tags: patch
Done: 宋文武 <iyzsong <at> envs.net>
Bug is archived. No further changes may be made.
Message #23 received at 75641 <at> debbugs.gnu.org (full text, mbox):
From: Andrew Wong <wongandj <at> icloud.com> To: 75641 <at> debbugs.gnu.org Cc: Andrew Wong <wongandj <at> icloud.com> Subject: [PATCH v4] gnu: Add woof-doom. Date: Sat, 22 Feb 2025 01:08:27 -0500
* gnu/packages/games.scm (woof-doom): New variable. * gnu/packages/patches/woof-doom-unbundle-spng-miniz.patch: New file. Change-Id: I77cfa0fd2f2a20d6eee5d0339b9673899bb0ecad --- gnu/packages/games.scm | 64 +++++++++++++++++++ .../woof-doom-unbundle-spng-miniz.patch | 26 ++++++++ 2 files changed, 90 insertions(+) create mode 100644 gnu/packages/patches/woof-doom-unbundle-spng-miniz.patch diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 30aaf0767a..da3f7a05e4 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -87,6 +87,7 @@ ;;; Copyright © 2024 Jan Wielkiewicz <tona_kosmicznego_smiecia <at> interia.pl> ;;; Copyright © 2024 Ashvith Shetty <ashvithshetty10 <at> gmail.com> ;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus <at> gmail.com> +;;; Copyright © 2025 Andrew Wong <wongandj <at> icloud.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -8784,6 +8785,69 @@ (define-public crispy-doom original.") (home-page "https://www.chocolate-doom.org/wiki/index.php/Crispy_Doom"))) +(define-public woof-doom + (package + (name "woof-doom") + (version "15.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fabiangreffrath/woof") + (commit (string-append "woof_" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04c7hm4jnr9aiz6w4520zww6b7j86qv9xaf87hdv48cjc9sp2ljk")) + (modules '((guix build utils))) + (snippet '(begin + (with-directory-excursion "third-party" + (delete-file-recursively "miniz") + (delete-file-recursively "yyjson") + (delete-file-recursively "spng")) + (delete-file-recursively "win32") + (substitute* (find-files "src" ".") + (("miniz.h") + "miniz/miniz.h")) #t)) + (patches (search-patches "woof-doom-unbundle-spng-miniz.patch")))) + (build-system cmake-build-system) + (arguments + (list + #:tests? #f)) ;'demotest' requires internet access. + (native-inputs (list python)) + (inputs (list libebur128 + libsndfile + libxmp + miniz + openal + sdl2 + sdl2-net + spng + yyjson + fluidsynth)) + (home-page "https://github.com/fabiangreffrath/woof") + (synopsis "MBF-style Doom source port targeted at modern systems") + (description + "Woof! is a continuation of the MBF lineage of Doom source ports, with +modern features such as dynamic resolution scaling, uncapped framerates, +adjustable field of view, 3D audio with HRTF and 7.1 surround sound +support, and modern gamepad features including rumble, gyro, and flick +stick support. Supports the new MBF21 format, as well as the MUSINFO, +UMAPINFO, DEHEXTRA, and DSDHacked specifictions.") + (license + ;; See README.md + (list (license:non-copyleft + "https://bitbucket.org/jpommier/pffft/src/master/pffft.h" + "FFTPACK license") + license:bsd-2 + license:bsd-3 + license:cc-by3.0 + license:cc0 + license:expat + license:gpl2 + license:gpl3+ + license:public-domain + license:gpl2+)))) + (define xonotic-data (package (name "xonotic-data") diff --git a/gnu/packages/patches/woof-doom-unbundle-spng-miniz.patch b/gnu/packages/patches/woof-doom-unbundle-spng-miniz.patch new file mode 100644 index 0000000000..43c3b39193 --- /dev/null +++ b/gnu/packages/patches/woof-doom-unbundle-spng-miniz.patch @@ -0,0 +1,26 @@ +Unbundle spng, miniz +*** a/third-party/CMakeLists.txt +--- b/third-party/CMakeLists.txt +@@ -4,20 +4,13 @@ + target_woof_settings(md5) + target_include_directories(md5 INTERFACE md5) + +-add_library(miniz STATIC miniz/miniz.c) +-target_woof_settings(miniz) +-target_compile_definitions(miniz PRIVATE MINIZ_NO_TIME) +-target_include_directories(miniz INTERFACE miniz) ++find_package(miniz) + + add_library(pffft STATIC pffft/pffft.c) + target_woof_settings(pffft) + target_include_directories(pffft INTERFACE pffft) + +-add_library(spng STATIC spng/spng.c) +-target_woof_settings(spng) +-target_compile_definitions(spng PRIVATE SPNG_USE_MINIZ INTERFACE SPNG_STATIC) +-target_include_directories(spng INTERFACE spng) +-target_link_libraries(spng miniz) ++find_package(spng) + + if(NOT yyjson_FOUND) + add_library(yyjson STATIC yyjson/yyjson.c) base-commit: cd20619cfcb32c2631fb602729512740bc510550 -- 2.48.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.