diff --git a/my-gzdoom.scm b/my-gzdoom.scm deleted file mode 100644 index 0b7bb4d..0000000 --- a/my-gzdoom.scm +++ /dev/null @@ -1,188 +0,0 @@ -(define-module (my-guix-packages my-gzdoom) - #:use-module (guix gexp) - #:use-module (guix packages) - #:use-module (guix git-download) - #:use-module (guix build-system cmake) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (gnu packages) - #:use-module (gnu packages compression) - #:use-module (gnu packages audio) - #:use-module (gnu packages gtk) - #:use-module (gnu packages image) - #:use-module (gnu packages pulseaudio) - #:use-module (gnu packages gl) - #:use-module (gnu packages mp3) - #:use-module (gnu packages sdl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages glib) - #:use-module (gnu packages linux) - #:use-module (gnu packages video)) - -(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")))) - (build-system cmake-build-system) - (inputs (list alsa-lib)) - (native-inputs (list pkg-config - glib)) - (arguments - (list - #:tests? #f - #:configure-flags - #~(list - (string-append - "-DYN_SNDFILE=off" - "-DYN_MPG123=off")))) - (synopsis "GZDoom's music system as a standalone library") - (description "This library for use with the projects GZDoom, Raze, and the newer PrBoom+.") - (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.13.2") - (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 "0zlvrdayrj1rk5x2hwnc57l8pl29bl64zmfq3qc9yfypknj1syfy")) - ;; (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" - - ;; Pointing CMake to precompiled binaries in library so that they can be statically linked into - ) - #: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 - 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.")))))