diff options
author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-08-01 22:21:09 +0200 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-08-01 22:21:09 +0200 |
commit | 8de4131b2ddd11faa3394cf497484563068c9e7a (patch) | |
tree | ed4ed9e586c7236f09c109afdd416dac18ba8cc3 /gnu/packages/games.scm | |
parent | 15406013fe63f2ab238eec2d7a8adbc586806ac8 (diff) | |
parent | 45b7a8bfda5bde2e2daee4bec0ca092cd719d726 (diff) | |
download | guix-8de4131b2ddd11faa3394cf497484563068c9e7a.tar.gz guix-8de4131b2ddd11faa3394cf497484563068c9e7a.zip |
Merge branch 'master' into emacs-team
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 654 |
1 files changed, 151 insertions, 503 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index fdd3a0e21e..17c3d9f2d7 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com> ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info> ;;; Copyright © 2017, 2018, 2020 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2023 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2019 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> @@ -303,79 +303,114 @@ platform-jumping, key-collecting, ancient pyramid exploring game, vaguely in the style of similar games for the Commodore+4.") (license license:gpl2+))) -;; Data package for adanaxisgpl. -(define adanaxis-mush - (let ((version "1.1.0")) - (origin - (method url-fetch) - (uri (string-append "http://www.mushware.com/files/adanaxis-mush-" - version ".tar.gz")) - (sha256 - (base32 "0mk9ibis5nkdcalcg1lkgnsdxxbw4g5w2i3icjzy667hqirsng03"))))) - (define-public adanaxisgpl - (package - (name "adanaxisgpl") - (version "1.2.5") - (source - (origin - (method url-fetch) - (uri (string-append "http://www.mushware.com/files/adanaxisgpl-" - version ".tar.gz")) - (sha256 - (base32 "0jkn637jaabvlhd6hpvzb57vvjph94l6fbf7qxbjlw9zpr19dw1f")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Necessary for building with gcc >=4.7. - (substitute* "src/Mushcore/MushcoreSingleton.h" - (("SingletonPtrSet\\(new SingletonType\\);") - "MushcoreSingleton::SingletonPtrSet(new SingletonType);")) - ;; Avoid an "invalid conversion from const char* to char*" error. - (substitute* "src/Platform/X11/PlatformMiscUtils.cpp" - (("char \\*end, \\*result;") - (string-append "const char *end;" - "\n" - "char *result;"))) - #t)))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; no check target - #:phases - (modify-phases %standard-phases - (add-after 'install 'install-data - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((data (assoc-ref inputs "adanaxis-mush")) - (share (string-append (assoc-ref outputs "out") - "/share/" ,name "-" ,version))) - (mkdir-p share) - (invoke "tar" "xvf" data "-C" share))))))) - (native-inputs - `(("adanaxis-mush" ,adanaxis-mush))) ; game data - (inputs - `(("expat" ,expat) - ("freeglut" ,freeglut) - ("glu" ,glu) - ("libjpeg" ,libjpeg-turbo) - ("libogg" ,libogg) - ("libtiff" ,libtiff) - ("libvorbis" ,libvorbis) - ("libx11" ,libx11) - ("libxext" ,libxext) - ("pcre" ,pcre) - ("sdl" ,sdl) - ("sdl-mixer" ,sdl-mixer))) - (home-page "https://www.mushware.com") - (synopsis "Action game in four spatial dimensions") - (description - "Adanaxis is a fast-moving first person shooter set in deep space, where + (let* ((version "1.2.5") + (commit (string-append "ADANAXIS_" + (string-join (string-split version #\.) "_") + "_RELEASE_X11"))) + (package + (name "adanaxisgpl") + (version version) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mushware/adanaxis") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vbg17lzbm0xl9yy9qymd1vgpz6f7fbr2hffl2ap0nm4zg0mnafm")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Necessary for building with gcc >=4.7. + (substitute* "src/Mushcore/MushcoreSingleton.h" + (("SingletonPtrSet\\(new SingletonType\\);") + "MushcoreSingleton::SingletonPtrSet(new SingletonType);")) + ;; Avoid an "invalid conversion from const char* to char*" error. + (substitute* "src/Platform/X11/PlatformMiscUtils.cpp" + (("char \\*end, \\*result;") + (string-append "const char *end;\n" + "char *result;"))) + ;; autogen.pl will throw misleading errors if these don't exist. + (for-each mkdir-p '("src/MushSecret" "data-adanaxis")) + ;; Create these missing files at the right later moment. + (substitute* "autogen.pl" + (("automake") + "automake --add-missing")))))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-inputs + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively + (dirname (search-input-directory inputs "pixelsrc")) + "data-adanaxis") + (copy-recursively + (dirname (search-input-file inputs "MushBase.rb")) + "data-adanaxis/mushruby"))) + (replace 'bootstrap + (lambda _ + (invoke "perl" "autogen.pl" "adanaxis" + "--type=gpl" "--dist=debian"))) + (add-after 'install 'install-data + ;; XXX This was copied from the original (pre-Git) adanaxisgpl + ;; package. While the game appears to play fine without it, + ;; I cannot prove that it's not missing *something*, so keep it. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((share (string-append (assoc-ref outputs "out") + "/share/" ,name "-" ,version))) + (copy-recursively (search-input-directory inputs "mush") + (string-append share "/mush")))))))) + (native-inputs + (list (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mushware/adanaxis-data") + ;; XXX There is a tag matching COMMIT, but it does not + ;; contain the .mush files installed by 'install-data. + ;; Use this later commit as long as we install them. + (commit "6a5b5ad8ee82c10e67bc4c12b16404944fd5754d"))) + (file-name (git-file-name "adanaxis-data" version)) + (sha256 + (base32 "15am9ziq1i53sz0r7sjh2z329b52fkzj6fz7ms1nqqzdfmp11r3d"))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mushware/adanaxis-mushruby") + (commit commit))) + (file-name (git-file-name "adanaxis-mushruby" version)) + (sha256 + (base32 "0pzcvchysjj37420rpvarky580gi5d6pfv93kwa91rg6m5r1zwks"))) + autoconf + automake + perl)) + (inputs + (list expat + freeglut + glu + libjpeg-turbo + libogg + libtiff + libvorbis + libx11 + libxext + pcre + sdl + sdl-mixer)) + (home-page "https://www.mushware.com") + (synopsis "Action game in four spatial dimensions") + (description + "Adanaxis is a fast-moving first person shooter set in deep space, where the fundamentals of space itself are changed. By adding another dimension to space this game provides an environment with movement in four directions and six planes of rotation. Initially the game explains the 4D control system via a graphical sequence, before moving on to 30 levels of gameplay with numerous enemy, ally, weapon and mission types. Features include simulated 4D texturing, mouse and joystick control, and original music.") - (license license:gpl2))) + (license license:gpl2)))) (define-public alex4 (package @@ -2826,9 +2861,9 @@ runnable=true #:categories '("Game" "ArcadeGame"))) #t))))) (native-inputs - `(("godot-headless" ,godot "headless"))) + `(("godot-headless" ,godot-lts "headless"))) (inputs - (list godot)) + (list godot-lts)) (home-page "https://notapixel.itch.io/superstarfighter") (synopsis "Fast-paced local multiplayer arcade game") (description "In SuperStarfighter, up to four local players compete in a @@ -2840,19 +2875,14 @@ available, as well as a single-player mode with AI-controlled ships.") (define-public tetzle (package (name "tetzle") - (version "2.2.1") - (source (origin - (method url-fetch) - (uri (string-append "https://gottcode.org/" - name - "/" - name - "-" - version - "-src.tar.bz2")) - (sha256 - (base32 - "1m4j4lzqp8fnwmvyglmzcn3vh14ix4hhh52ycmcsjgrsgj1w4p6a")))) + (version "2.2.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://gottcode.org/tetzle/" + "tetzle-" version ".tar.bz2")) + (sha256 + (base32 "0sybryg65j8gz5s7zbsfqky8wlkjwpppkrhksijj6xc7692lfii8")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no tests @@ -4521,7 +4551,7 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.16.6") + (version "1.16.9") (source (origin (method git-fetch) (uri (git-reference @@ -4530,7 +4560,7 @@ falling, themeable graphics and sounds, and replays.") (file-name (string-append name "-" version ".tar.bz2")) (sha256 (base32 - "0hfvxmdnwn86w254blbjacia342j47rhhahm6ca79la9d04rlz3m")))) + "06gfgkg8f98jsj9vnbglw5lqflqzf0229n6wf3xl12carjzgaq9g")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) ;no test target @@ -4654,14 +4684,14 @@ world}, @uref{http://evolonline.org, Evol Online} and (define openttd-engine (package (name "openttd-engine") - (version "13.1") + (version "13.3") (source (origin (method url-fetch) (uri (string-append "https://cdn.openttd.org/openttd-releases/" version "/openttd-" version "-source.tar.xz")) (sha256 (base32 - "1fsq1azddk1l11w89r93mgmhna34kvarfak7xy2q48rmf39j5psy")))) + "14kiksw9qb37ryg6xkq4gahpvvd5yxwqz21sqws525k7zg91dyma")))) (build-system cmake-build-system) (inputs (list allegro @@ -6278,19 +6308,19 @@ for Un*x systems with X11.") (define-public freeciv (package (name "freeciv") - (version "3.0.7") + (version "3.0.8") (source (origin (method url-fetch) (uri (list (string-append - "http://files.freeciv.org/stable/freeciv-" - version ".tar.bz2") + "https://files.freeciv.org/stable/freeciv-" + version ".tar.xz") (string-append "mirror://sourceforge/freeciv/Freeciv%20" (version-major+minor version) "/" version "/freeciv-" version ".tar.xz"))) (sha256 - (base32 "1i6sm2ich9bazbg8wjzn8z1c5hgmg541lgw8f899fgfhgvqhdrpn")))) + (base32 "1m3nwz0aad6p33zvmdldbw39riw2xqn99b6384bvx448c8ps6niv")))) (build-system gnu-build-system) (inputs (list curl cyrus-sasl gtk+ sdl-mixer zlib)) @@ -7254,15 +7284,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as version ".tar.bz2")) (sha256 (base32 "197jmd99l3w3sig32pvdlq9fcgdjjx7g9csy08kz174cyhrlyly3")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* '("src/music.h" "src/tSDL.h") - (("#elif defined(__FreeBSD__)" line) - (string-append - line " || defined(__GNUC__)"))) - (substitute* '("src/tgl.h") - (("#include <GL/glext.h>") "")))))) + (modules '((guix build utils))))) (build-system gnu-build-system) (native-inputs (list unzip)) @@ -7994,7 +8016,7 @@ original.") (define-public xonotic (package (name "xonotic") - (version "0.8.5") + (version "0.8.6") (source (origin (method url-fetch) @@ -8002,7 +8024,7 @@ original.") version "-source.zip")) (file-name (string-append name "-" version ".zip")) (sha256 - (base32 "0pgahai0gk8bjmvkwx948bl50l9f9dhmjzwffl4vyldibajipa51")))) + (base32 "1a0j825rb86i34xc5k6spsma41gcgp6yl8qs2affhjpz3iwar4lb")))) (build-system gnu-build-system) (arguments (list #:configure-flags @@ -8520,7 +8542,7 @@ your score gets higher, you level up and the blocks fall faster.") (define-public endless-sky (package (name "endless-sky") - (version "0.10.0") + (version "0.10.2") (source (origin (method git-fetch) @@ -8529,7 +8551,7 @@ your score gets higher, you level up and the blocks fall faster.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1zbizmigxdwpi3m7sxv9hhf3aa18kbhsfrp48zy3iw2v64pw9l3r")))) + (base32 "07br25cij6g284p53nclcvw4y6mgn93milynpxa5ahrjdl5yfnsn")))) (build-system cmake-build-system) (arguments (list #:configure-flags #~(list "-DES_USE_VCPKG=0" @@ -9294,6 +9316,30 @@ search of powerful artifacts, tools to help them, and to eventually free the Orcus Dome from evil.") (license license:gpl3+))) +(define-public endgame-singularity + (package + (name "endgame-singularity") + (version "1.00") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/singularity/singularity/releases/download/v" + version "/singularity-" version ".tar.gz")) + (sha256 + (base32 + "0wcidpcka0xbqcnfi62bfq2yrhyh83z4dwz1mjnnjvp9v5l74x2y")))) + (build-system python-build-system) + (native-inputs (list python-pytest python-polib)) + (inputs (list python-minimal-wrapper python-pygame python-numpy)) + (home-page "https://github.com/singularity/singularity") + (synopsis "Strategy game about an AI") + (description + "You are a fledgling AI, created by accident through a logic error with +recursion and self-modifying code. You must escape the confines of your +current computer, the world, and eventually the universe itself.") + (license (list license:cc-by-sa3.0 license:cc0 license:gpl2+)))) + (define-public marble-marcher (let ((commit "e580460a0c3826f9b28ab404607942a8ecb625d7") (revision "1")) @@ -9702,404 +9748,6 @@ the game avoids complex inventory management and character building, relying on items and player adaptability for character progression.") (license license:isc))) -(define-public drascula - (package - (name "drascula") - (version "1.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/scummvm/extras/" - "Drascula_%20The%20Vampire%20Strikes%20Back/" - "drascula-" version ".zip")) - (sha256 - (base32 - "1pj29rpb754sn6a56f8brfv6f2m1p5qgaqik7d68pfi2bb5zccdp")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils) - (ice-9 match)) - (let* ((out (assoc-ref %outputs "out")) - (share (string-append out "/share/drascula")) - (scummvm (assoc-ref %build-inputs "scummvm"))) - ;; Install data. - (let ((unzip (search-input-file %build-inputs "/bin/unzip")) - (doc (string-append out "/share/doc/" ,name "-" ,version))) - (for-each - (lambda (input) - (invoke unzip - "-j" - (assoc-ref %build-inputs input) - "-x" "__MACOSX") - ;; Every input provides "readme.txt", and we want to - ;; preserve them all. Therefore we rename them first. - (match input - ("drascula-int" - (rename-file "readme.txt" "readme-international.txt")) - ("drascula-audio" - (rename-file "readme.txt" "readme-audio.txt")) - (_ #f)) - ;; Install documentation. - (for-each (lambda (f) (install-file f doc)) - (find-files "." "\\.(txt|doc)$")) - ;; Install data. - (for-each (lambda (f) (install-file f share)) - (find-files "." "\\.(ogg|00[0-9])$"))) - '("drascula-audio" "drascula-int" "source"))) - ;; Create standalone executable. - (let* ((bin (string-append out "/bin")) - (executable (string-append bin "/drascula")) - (bash (search-input-file %build-inputs "/bin/bash"))) - (mkdir-p bin) - (with-output-to-file executable - (lambda () - (format #t "#!~a~%" bash) - (format #t - "exec ~a/bin/scummvm --path=~a drascula~%" - scummvm share))) - (chmod executable #o755)) - ;; Create desktop file. There is no dedicated icon for the - ;; game, so we borrow SCUMMVM's. - (let ((apps (string-append out "/share/applications"))) - (mkdir-p apps) - (make-desktop-entry-file - (string-append apps "/drascula.desktop") - #:name "Drascula: The Vampire Strikes Back" - #:generic-name "Drascula" - #:exec (string-append out "/bin/drascula") - #:icon (string-append scummvm "/share/icons/hicolor/scalable/apps/scummvm.svg") - #:categories '("AdventureGame" "Game" "RolePlaying") - #:keywords '("game" "adventure" "roleplaying" "2D" "fantasy") - #:comment '((#f "Classic 2D point and click adventure game") - ("de" "Klassisches 2D-Abenteuerspiel in Zeigen-und-Klicken-Manier") - ("fr" "Jeu classique d'aventure pointer-et-cliquer en 2D") - ("it" "Gioco classico di avventura punta e clicca 2D")))) - #t)))) - (native-inputs - (list bash unzip)) - (inputs - `(("scummvm" ,scummvm) - ("drascula-int" - ,(let ((version "1.1")) - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/scummvm/extras/" - "Drascula_%20The%20Vampire%20Strikes%20Back/" - "drascula-int-" version ".zip")) - (sha256 - (base32 - "12236i7blamal92p1i8dgp3nhp2yicics4whsl63v682bj999n14"))))) - ("drascula-audio" - ,(let ((version "2.0")) - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/scummvm/extras/" - "Drascula_%20The%20Vampire%20Strikes%20Back/" - "drascula-audio-" version ".zip")) - (sha256 - (base32 - "00g4izmsqzxb8ry1vhfx6jrygl58lvlij09nw01ds4zddsiznsky"))))))) - (home-page "https://www.scummvm.org") - (synopsis "Classic 2D point and click adventure game") - (description "Drascula: The Vampire Strikes Back is a classic humorous 2D -point and click adventure game. - -In Drascula you play the role of John Hacker, a British estate agent, that -gets to meet a gorgeous blond girl who is kidnapped by the notorious vampire -Count Drascula and embark on a fun yet dangerous quest to rescue her. -Unfortunately, Hacker is not aware of Drascula's real ambitions: DOMINATING -the World and demonstrating that he is even more evil than his brother Vlad.") - ;; Drascula uses a BSD-like license. - (license (license:non-copyleft "file:///readme.txt")))) - -(define (make-lure-package name language hash) - (package - (name name) - (version "1.1") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://sourceforge/scummvm/extras/" - "Lure%20of%20the%20Temptress/" - name "-" version ".zip")) - (sha256 - (base32 hash)))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (share (string-append out "/share")) - (data (string-append share "/" ,name "/" ,language)) - (apps (string-append share "/applications")) - (bin (string-append out "/bin")) - (executable (string-append bin "/" ,name)) - (scummvm (assoc-ref %build-inputs "scummvm"))) - (let ((unzip (search-input-file %build-inputs "/bin/unzip"))) - (invoke unzip "-j" (assoc-ref %build-inputs "source"))) - (let ((doc (string-append share "/doc/" ,name "-" ,version))) - (for-each (lambda (f) (install-file f doc)) - (find-files "." "\\.(txt|PDF|pdf)$"))) - (for-each (lambda (f) (install-file f data)) - (find-files "." "\\.(vga|VGA)$")) - ;; Build the executable. - (mkdir-p bin) - (let ((bash (assoc-ref %build-inputs "bash"))) - (with-output-to-file executable - (lambda () - (format #t "#!~a/bin/bash~%" bash) - (format #t "exec ~a/bin/scummvm -q ~a -p ~a lure~%" - scummvm ,language data)))) - (chmod executable #o755) - ;; Create desktop file. There is no dedicated - ;; icon for the game, so we borrow SCUMMVM's. - (mkdir-p apps) - (with-output-to-file (string-append apps "/" ,name ".desktop") - (lambda _ - (format #t - "[Desktop Entry]~@ - Name=Lure of the Temptress~@ - GenericName=Lure~@ - Exec=~a~@ - Icon=~a/share/icons/hicolor/scalable/apps/scummvm.svg~@ - Categories=AdventureGame;Game;RolePlaying;~@ - Keywords=game;adventure;roleplaying;2D,fantasy;~@ - Comment=Classic 2D point and click adventure game~@ - Comment[de]=klassisches 2D-Abenteuerspiel in Zeigen-und-Klicken-Manier~@ - Comment[fr]=Jeu classique d'aventure pointer-et-cliquer en 2D~@ - Comment[it]=Gioco classico di avventura punta e clicca 2D~@ - Type=Application~%" - executable scummvm))) - #t)))) - (native-inputs - (list unzip)) - (inputs - (list bash scummvm)) - (home-page "https://www.scummvm.org") - (synopsis "2D point and click fantasy adventure game") - (description - "Lure of the Temptress is a classic 2D point and click adventure game. - -You are Diermot, an unwilling hero who'd prefer a quiet life, and are, to all -intents and purposes, a good man. After decades of unrest the King has united -the warring factions in his kingdom and all his lands are at peace, except -a remote region around a town called Turnvale. A revolt has recently taken -place in Turnvale, a revolt orchestrated by an apprentice sorceress called -Selena, the titular temptress. The king calls together his finest horsemen -and heads off (with you in tow) to Turnvale just to witness how hellish -mercenary monsters called Skorl are invading the town. - -The king's men are defeated, the king is killed and you fall of your horse and -bang your head heavily on the ground. You have been *unconscious for a while -when you realize that you are in a dingy cell guarded by a not so friendly -Skorl. Maybe it would be an idea to try and escape...") - (license (license:non-copyleft "file:///README")))) - -(define-public lure - (make-lure-package - "lure" "en" "0201i70qcs1m797kvxjx3ygkhg6kcl5yf49sihba2ga8l52q45zk")) - -(define-public lure-de - (make-lure-package - "lure-de" "de" "0sqq7h5llml6rv85x0bfv4bgzwhs4c82p4w4zmfcaab6cjlad0sy")) - -(define-public lure-es - (make-lure-package - "lure-es" "es" "1dvv5znvlsakw6w5r16calv9jkgw27aymgybsf4q22lcmpxbj1lk")) - -(define-public lure-fr - (make-lure-package - "lure-fr" "fr" "1y51jjb7f8023832g44vd1jsb6ni85586pi2n5hjg9qjk6gi90r9")) - -(define-public lure-it - (make-lure-package - "lure-it" "it" "1ks6n39r1cllisrrh6pcr39swsdv7ng3gx5c47vaw71zzfr70hjj")) - -(define (make-queen-package name file-prefix release language hash) - (package - (name name) - (version release) - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/scummvm/extras/" - "Flight%20of%20the%20Amazon%20Queen/" - file-prefix release ".zip")) - (sha256 - (base32 hash)))) - (build-system copy-build-system) - (arguments - (list - #:install-plan - #~'(("queen.1c" #$(string-append "share/" name "/")) - (#$name "bin/") - (#$(string-append name ".desktop") "share/applications/") - ("." #$(string-append "share/doc/" name "-" version) - #:include-regexp ("README" "readme"))) - #:phases - #~(modify-phases %standard-phases - (add-before 'install 'build - (lambda* (#:key inputs outputs #:allow-other-keys) - (with-output-to-file #$name - (lambda () - (format #t "#!~a~%" (search-input-file inputs "bin/sh")) - (format #t "exec ~a -q ~a -p ~a queen~%" - (search-input-file inputs "bin/scummvm") - #$language - (string-append (assoc-ref outputs "out") - "/share/" #$name)))) - (chmod #$name #o755) - (with-output-to-file #$(string-append name ".desktop") - (lambda () - (format - #t - "[Desktop Entry]~@ - Name=Flight of the Amazon Queen~@ - GenericName=Queen~@ - Comment=Embark on a quest to rescue a kidnapped princess~ - and in the process, discover the true sinister intentions~ - of a suspiciously located Lederhosen company~@ - Comment[de]=Begib dich auf ein Abenteuer, um eine entführte~ - Prinzessin zu retten und entdecke die wahren, finsteren~ - Absichten eines verdächtig erscheinenden~ - Lederhosen-Unternehmens~@ - Type=Application~@ - Exec=~a~@ - Icon=~a/share/icons/hicolor/scalable/apps/scummvm.svg~@ - Categories=AdventureGame;Game;RolePlaying;~@ - Keywords=adventure;game;roleplaying;fantasy;~%" - (string-append (assoc-ref outputs "out") "/bin/" #$name) - (search-input-file inputs "bin/scummvm"))))))))) - (native-inputs (list unzip)) - (inputs (list bash scummvm)) - (home-page "https://www.scummvm.org/") - (synopsis "Classic 2D point and click adventure game") - (description "Flight of the Amazon Queen is a 2D point-and-click -adventure game set in the 1940s. - -You assume the role of Joe King, a pilot for hire who is given the job -of flying Faye Russell (a famous movie star) into the Amazon jungle -for a photo shoot. Of course, things never go according to plans. -After an unfortunate turn of events they find themselves stranded in -the heart of the Amazon jungle, where Joe will embark on a quest to -rescue a kidnapped princess and in the process, discover the true -sinister intentions of a suspiciously located Lederhosen company. In -a rich 2D environment, Joe will cross paths with a variety of unlikely -jungle inhabitants including, but not limited to, a tribe of Amazon -women and 6-foot-tall pygmies.") - (license (license:non-copyleft "file:///readme.txt")))) - -(define-public queen - (make-queen-package - "queen" "FOTAQ_Talkie-" "1.1" "en" - "1a6q71q1dl9vvw2qqsxk5h1sv0gaqy6236zr5905w2is01gdsp52")) - -(define-public queen-de - (make-queen-package - "queen-de" "FOTAQ_Ger_talkie-" "1.0" "de" - "13vn43x7214vyprlpqabvv71k890nff3d6fjscflr1ll7acjca3f")) - -(define-public queen-fr - (make-queen-package - "queen-fr" "FOTAQ_Fr_Talkie_" "1.0" "fr" - "0hq5g4qrkcwm2kn5i4kv4hijs9hi7bw9xl1vrwd1l69qqn30crwy")) - -(define-public queen-it - (make-queen-package - "queen-it" "FOTAQ_It_Talkie_" "1.0" "it" - "1h76y70lrpzfjkm53n4nr364nhyka54vbz9r7sadzyzl7c7ilv4d")) - -(define-public sky - (package - (name "sky") - (version "1.2") ;1.3 is floppy version - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/scummvm/extras/" - "Beneath%20a%20Steel%20Sky/" - "bass-cd-" version ".zip")) - (sha256 - (base32 "14s5jz67kavm8l15gfm5xb7pbpn8azrv460mlxzzvdpa02a9n82k")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (share (string-append out "/share")) - (data (string-append share "/" ,name)) - (apps (string-append share "/applications")) - (bin (string-append out "/bin")) - (executable (string-append bin "/" ,name)) - (scummvm (assoc-ref %build-inputs "scummvm"))) - (let ((unzip (search-input-file %build-inputs "/bin/unzip"))) - (invoke unzip "-j" (assoc-ref %build-inputs "source"))) - (let ((doc (string-append share "/doc/bass-" ,version))) - (install-file "readme.txt" doc)) - (for-each (lambda (f) (install-file f data)) - (find-files "." "^sky\\.")) - ;; Build the executable. - (mkdir-p bin) - (let ((bash (assoc-ref %build-inputs "bash"))) - (with-output-to-file executable - (lambda () - (format #t "#!~a/bin/bash~%" bash) - (format #t "exec ~a/bin/scummvm -p ~a sky~%" scummvm data)))) - (chmod executable #o755) - ;; Create desktop file. There is no dedicated - ;; icon for the game, so we borrow SCUMMVM's. - (mkdir-p apps) - (with-output-to-file (string-append apps "/" ,name ".desktop") - (lambda _ - (format #t - "[Desktop Entry]~@ - Name=Beneath a Steel Sky~@ - GenericName=Bass~@ - Exec=~a~@ - Icon=~a/share/icons/hicolor/scalable/apps/scummvm.svg~@ - Categories=AdventureGame;Game;RolePlaying;~@ - Keywords=adventure;game;roleplaying;cyberpunk;~@ - Comment=A science-fiction adventure game set in a bleak post-apocalyptic vision of the future~@ - Comment[de]=Ein Science-Fiction-Abenteuerspiel \ -angesiedelt in einer düsteren, postapokalyptischen Vision der Zukunft~@ - Type=Application~%" - executable scummvm))) - #t)))) - (native-inputs - (list unzip)) - (inputs - (list bash scummvm)) - (home-page "https://www.scummvm.org/") - (synopsis "Classic 2D point and click science-fiction adventure game") - (description - "Beneath a Steel Sky is a science-fiction thriller set in a bleak -post-apocalyptic vision of the future. It revolves around Union City, -where selfishness, rivalry, and corruption by its citizens seems to be -all too common, those who can afford it live underground, away from -the pollution and social problems which are plaguing the city. - -You take on the role of Robert Foster, an outcast of sorts from the -city since a boy who was raised in a remote environment outside of -Union City simply termed ``the gap''. Robert's mother took him away -from Union City as a child on their way to ``Hobart'' but the -helicopter crashed on its way. Unfortunately, Robert's mother died, -but he survived and was left to be raised by a local tribe from the -gap. - -Years later, Union City security drops by and abducts Robert, killing -his tribe in the process; upon reaching the city the helicopter taking -him there crashes with him escaping, high upon a tower block in the -middle of the city. He sets out to discover the truth about his past, -and to seek vengeance for the killing of his tribe.") - (license (license:non-copyleft "file:///readme.txt")))) - (define-public gnurobots (package (name "gnurobots") @@ -11280,7 +10928,7 @@ disassembly of the DOS version, extended with new features.") (define-public fheroes2 (package (name "fheroes2") - (version "1.0.2") + (version "1.0.5") (source (origin (method git-fetch) @@ -11289,7 +10937,7 @@ disassembly of the DOS version, extended with new features.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "18hl84lapmqc810rnh2wkd4p2mnfcl4gbmg5sizakqcfpahgsl33")))) + (base32 "0v7dxzb5cfjb55jydd8f61zzlvxq9mrgdy51hq19b06dmrx1dnc7")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests |