diff options
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 443 |
1 files changed, 436 insertions, 7 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index b89df02b19..5427cd1fc7 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013 John Darrington <jmd@gnu.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu> -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com> ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net> ;;; Copyright © 2014, 2015, 2018, 2019 Ludovic Courtès <ludo@gnu.org> @@ -446,7 +446,7 @@ canyons and wait for the long I-shaped block to clear four rows at a time.") ("sdl2-image" ,sdl2-image) ("sdl2-ttf" ,sdl2-ttf) ("sdl2-mixer" ,sdl2-mixer))) - (home-page "http://en.cataclysmdda.com/") + (home-page "https://cataclysmdda.org/") (synopsis "Survival horror roguelike video game") (description "Cataclysm: Dark Days Ahead (or \"DDA\" for short) is a roguelike set @@ -4033,7 +4033,7 @@ throwing people around in pseudo-randomly generated buildings.") (define-public hyperrogue (package (name "hyperrogue") - (version "11.2d") + (version "11.2q") ;; When updating this package, be sure to update the "hyperrogue-data" ;; origin in native-inputs. (source (origin @@ -4044,7 +4044,7 @@ throwing people around in pseudo-randomly generated buildings.") "-src.tgz")) (sha256 (base32 - "1b532s94zv1jsni7bvh848m42arxcclsr0x3n7c689iamwqzrxmn")))) + "1w4khi2limxhgiq7xnz0rc9nzbk86bhbyzrcd5hdghnhsviaiggq")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target @@ -4122,7 +4122,7 @@ throwing people around in pseudo-randomly generated buildings.") "-win.zip")) (sha256 (base32 - "0vq4l1xaqpjj3hmxn1vn2b3bbkn1hrag42ck9f30blinv347bwhf")))) + "1k81zrbq5gmrccjac1i5c6v8j2iilfg2vwrnm8snjmmcnh5z1fgj")))) ("unzip" ,unzip))) (inputs `(("font-dejavu" ,font-dejavu) @@ -5556,7 +5556,7 @@ elements to achieve a simple goal in the most complex way possible.") (define-public pioneer (package (name "pioneer") - (version "20190203") + (version "20200203") (source (origin (method git-fetch) (uri (git-reference @@ -5565,7 +5565,7 @@ elements to achieve a simple goal in the most complex way possible.") (file-name (git-file-name name version)) (sha256 (base32 - "1g34wvgyvz793dhm1k64kl82ib0cavkbg0f2p3fp05b457ycljff")))) + "1011xsi94jhw98mhm8kryq8ajig0qfbrdx5xdasi92bd4nk7lcp8")))) (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -7720,6 +7720,301 @@ 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 (string-append (assoc-ref %build-inputs "unzip") + "/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 + `(("unzip" ,unzip))) + (inputs + `(("bash" ,bash) + ("scummvm" ,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 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 (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip"))) + (invoke unzip "-j" (assoc-ref %build-inputs "source"))) + (let ((doc (string-append share "/doc/" ,name "-" ,version))) + (install-file "readme.txt" doc)) + (install-file "queen.1c" data) + (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 fr -p ~a queen~%" + 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=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;~%" + executable scummvm)))) + #t))) + (native-inputs + `(("unzip" ,unzip))) + (inputs + `(("bash" ,bash) + ("scummvm" ,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 (string-append (assoc-ref %build-inputs "unzip") + "/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 + `(("unzip" ,unzip))) + (inputs + `(("bash" ,bash) + ("scummvm" ,scummvm))) + (home-page "https://www.scummvm.org/") + (synopsis "Classic 2D point an 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") @@ -9656,3 +9951,137 @@ challenges.") license:bsd-3 ;src/md5sum license:lgpl2.1+ ;src/iqsort.h license:expat)))) + +(define-public eboard + (package + (name "eboard") + (version "1.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fbergo/eboard.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1z4pwpqyvxhlda99h6arh2rjk90fbms9q29fqizjblrdn01dlxn1")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("gtk+" ,gtk+-2) + ("libpng" ,libpng) + ("gstreamer" ,gstreamer))) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (make-file-writable "eboard-config") + (setenv "CC" "gcc") + (invoke "./configure" + (string-append "--prefix=" (assoc-ref outputs "out"))) + #t)) + (add-before 'install 'make-required-directories + (lambda* (#:key outputs #:allow-other-keys) + (mkdir-p (string-append (assoc-ref outputs "out") + "/share/eboard")) + #t))))) + (synopsis "Graphical user interface to play chess") + (description + "Eboard is a chess board interface for ICS (Internet Chess Servers) +and chess engines.") + (home-page "https://www.bergo.eng.br/eboard/") + (license license:gpl2+))) + +(define-public chessx + (package + (name "chessx") + (version "1.5.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/chessx/chessx/" + version "/chessx-" version ".tgz")) + (sha256 + (base32 "09rqyra28w3z9ldw8sx07k5ap3sjlli848p737maj7c240rasc6i")))) + (build-system qt-build-system) + (native-inputs + `(("qttools" ,qttools))) + (inputs + `(("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia) + ("qtsvg" ,qtsvg) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "chessx.pro" + (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease") + (string-append (assoc-ref inputs "qttools") "/bin/lrelease"))) + #t)) + (add-after 'fix-paths 'make-qt-deterministic + (lambda _ + (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") + #t)) + (replace 'configure + (lambda _ + (invoke "qmake") + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "release/chessx" (string-append out "/bin")) + (install-file "unix/chessx.desktop" + (string-append out "/share/applications"))) + #t))))) + (synopsis "Chess game database") + (description + "ChessX is a chess database. With ChessX you can operate on your +collection of chess games in many ways: browse, edit, add, organize, analyze, +etc. You can also play games on FICS or against an engine.") + (home-page "http://chessx.sourceforge.net/") + (license license:gpl2+))) + +(define-public stockfish + (package + (name "stockfish") + (version "11") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/official-stockfish/Stockfish.git") + (commit (string-append "sf_" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12mppipinymj8s1ipq9a7is453vncly49c32ym9wvyklsgyxfzlk")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:make-flags (list "-C" "src" + "build" + (string-append "PREFIX=" + (assoc-ref %outputs "out")) + (string-append "ARCH=" + ,(match (%current-system) + ("x86_64-linux" "x86-64") + ("i686-linux" "x86-32") + ("aarch64-linux" "general-64") + ("armhf-linux" "armv7") + ("mips64el-linux" "general-64") + (_ "general-32")))) + #:phases (modify-phases %standard-phases + (delete 'configure)))) + (synopsis "Strong chess engine") + (description + "Stockfish is a very strong chess engines. It is much stronger than the +best human chess grandmasters. It can be used with UCI-compatible GUIs like +ChessX.") + (home-page "https://stockfishchess.org/") + (license license:gpl3+))) |