(define-module (my-packages my-games) #:use-module (srfi srfi-26) #: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 xiph) #:use-module (gnu packages game-development) #:use-module (gnu packages web) #: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)))) (define-public my-barony (package (name "my-barony") (version "open-al-refresh") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/damiencarol/Barony.git") (commit "feb4ef9a969a3e788b0805841e4014945760bd93"))) (file-name (git-file-name name version)) (sha256 (base32 "0arfx7f2rfgc68ph4sq99hjrjjqsxiq6s4ppv0swyaqhqm0g2hrz")) ;; Fix textures for SDL 2.0.14. ;; See . (patches (list (search-path (map (cut string-append <> "/my-packages/patches") %load-path) "barony-fix-make-install-script.patch") (search-path (map (cut string-append <> "/my-packages/patches") %load-path) "barony-fix-double-free-bug.patch") (search-path (map (cut string-append <> "/my-packages/patches") %load-path) "barony-fix-change-install-directories.patch"))))) (build-system cmake-build-system) (arguments '(#:configure-flags (list "-DOPENAL_ENABLED=1" "-DFMOD_ENABLED=OFF" ; enable sound "-DEDITOR_EXE_NAME=barony-editor") ; instead of generic "editor" #:tests? #f ; there are no tests )) (inputs (list glu libpng libvorbis openal physfs rapidjson sdl2 sdl2-image sdl2-net sdl2-ttf zlib)) (native-inputs (list pkg-config)) (home-page "https://baronygame.com") (synopsis "3D first-person roguelike game") (description "Barony is a first-person roguelike role-playing game with cooperative play. The player must descend a dark dungeon and destroy an undead lich while avoiding traps and fighting monsters. The game features randomly generated dungeons, 13 character classes, hundreds of items and artifacts, and cooperative multiplayer for up to four players. This package does @emph{not} provide the game assets.") (license license:bsd-2)))