diff --git a/my-packages/my-games.scm b/my-packages/my-games.scm index 57977ac..0f79b27 100644 --- a/my-packages/my-games.scm +++ b/my-packages/my-games.scm @@ -54,129 +54,7 @@ (home-page "https://zdoom.org/index") ;; the source uses x86 assembly (supported-systems '("x86_64-linux" "i686-linux")) - (license (list license:gpl3 - license:lgpl2.1)))) - -(define-public my-gzdoom - (package - (name "gzdoom") - (version "4.10.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ZDoom/gzdoom") - (commit (string-append "g" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "75da94aecd9b1c4c2e16b449dea1b9f9838c1af2")) - ;; (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 - ;; , the ‘contribution - ;; guidelines’ at , 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")))) - )) - (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"))))))))) - (build-system cmake-build-system) - (inputs (list bzip2 - fluid-3 - fluidsynth - gtk+ - libgme - libjpeg-turbo - libsndfile - libvpx - mesa - mpg123 - openal - sdl2 - timidity++ - zlib - zmusic)) - (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."))))) - + (license (list license:gpl3)))) (define-public my-barony (package (name "my-barony")