;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015, 2017, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016, 2017 Rodger Fox <thylakoid@openmailbox.org>
;;; Copyright © 2020 Vitaliy Shatrov <D0dyBo0D0dyBo0@protonmail.com>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
-;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
-;;; Copyright © 2020 Trevor Hass <thass@okstate.edu>
-;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
+;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020, 2021 Trevor Hass <thass@okstate.edu>
+;;; Copyright © 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2020 Lu hux <luhux@outlook.com>
;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org>
+;;; Copyright © 2021 Olivier Rojon <o.rojon@posteo.net>
+;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
+;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
;;;
canyons and wait for the long I-shaped block to clear four rows at a time.")
(license license:gpl3+)))
+(define-public vitetris
+ (package
+ (name "vitetris")
+ (version "0.59.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vicgeralds/vitetris")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1ah1c5g7abksif0n8v5rb7r4pn2az20c3mkp4ak13vgs23ddmds5"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no test
+ #:make-flags
+ (list ,(string-append "CC=" (cc-for-target))
+ (string-append "DESTDIR=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ ;; the non standard configure script does not accept
+ ;; standard parameters -> invoke configure by hand
+ (invoke "./configure" "prefix=")
+ ;; src/src-conf.mk must be writable for the build step
+ (make-file-writable "src/src-conf.mk"))))))
+ (home-page "http://victornils.net/tetris/")
+ (synopsis "Terminal-based Tetris clone")
+ (description "Vitetris is a classic multiplayer Tetris clone for the
+terminal.")
+ (license license:bsd-2)))
+
(define-public blobwars
(package
(name "blobwars")
phantasia (role-play as an rogue), trek (hunt the Klingons, and save the
Federation), and wump (hunt the big smelly Wumpus in a dark cave).
-Quizes: arithmetic, and quiz.")
+Quizzes: arithmetic and quiz.")
;; "Auxiliary and data files, distributed with the games in NetBSD, but
;; not bearing copyright notices, probably fall under the terms of the UCB
;; or NetBSD copyrights and licences. The file "fortune/Notes" contains a
(define-public bzflag
(package
(name "bzflag")
- (version "2.4.20")
+ (version "2.4.22")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.bzflag.org/bzflag/source/"
version "/bzflag-" version ".tar.bz2"))
(sha256
- (base32 "16brxqmfiyz4j4lb8ihzjcbwqmpsms6vm3ijbp34lnw0blbwdjb2"))))
+ (base32 "0kba0011nswc2csqlzkd7bas307zm5813zlnby5vsmxn08rnar4y"))))
(build-system gnu-build-system)
(arguments
`(#:phases
want what you have.")
(license license:cc-by-sa3.0)))
+(define-public cockatrice
+ (let ((release-date "2021-01-26"))
+ (package
+ (name "cockatrice")
+ (version "2.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Cockatrice/Cockatrice")
+ (commit (string-append release-date "-Release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0q8ffcklb2b7hcqhy3d2f9kz9aw22pp04pc9y4sslyqmf17pwnz9"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Strip image URLs as they point towards non-free web services
+ '(substitute* "cockatrice/src/settings/downloadsettings.cpp"
+ (("downloadURLs.append\\(\".*\"\\);") "")))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DWITH_SERVER=1"
+ "-DWITH_CLIENT=1"
+ "-DWITH_ORACLE=1"
+ "-DTEST=1")))
+ (native-inputs
+ `(("googletest" ,googletest)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("protobuf" ,protobuf)
+ ("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
+ ("qtsvg" ,qtsvg)
+ ("qttools" ,qttools)
+ ("qtwebsockets" ,qtwebsockets)
+ ("xz" ,xz)
+ ("zlib" ,zlib)))
+ (home-page "https://cockatrice.github.io")
+ (synopsis "Tabletop card game simulator")
+ (description "Cockatrice is a program for playing tabletop card games
+over a network. Its server design prevents users from manipulating the game
+for unfair advantage. The client also provides a single-player mode, which
+allows users to brew while offline.")
+ (license license:gpl2))))
+
(define-public corsix-th
(package
(name "corsix-th")
;; license. The whole package is released under GPLv3+.
(license license:gpl3+)))
+(define-public gnome-2048
+ (package
+ (name "gnome-2048")
+ (version "3.38.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/gnome-2048/"
+ (version-major+minor version) "/"
+ "gnome-2048-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0s5fg4z5in1h39fcr69j1qc5ynmg7a8mfprk3mc3c0csq3snfwz2"))))
+ (build-system meson-build-system)
+ (arguments
+ '(#:glib-or-gtk? #t
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'skip-gtk-update-icon-cache
+ ;; Don't create 'icon-theme.cache'.
+ (lambda _
+ (substitute* "meson_post_install.py"
+ (("gtk-update-icon-cache") "true"))
+ #t)))))
+ (inputs
+ `(("gtk+" ,gtk+)
+ ("clutter" ,clutter)
+ ("clutter-gtk" ,clutter-gtk)
+ ("libgee" ,libgee)
+ ("libgnome-games-support" ,libgnome-games-support)))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin") ; for desktop-file-validate and appstream-util
+ ("itstool" ,itstool)
+ ("libxml2" ,libxml2)
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
+ (home-page "https://wiki.gnome.org/Apps/2048")
+ (synopsis "Move the tiles until you obtain the 2048 tile")
+ (description "GNOME 2048 provides a 2D grid for playing 2048, a
+single-player sliding tile puzzle game. The objective of the game is to merge
+together adjacent tiles of the same number until the sum of 2048 is achieved
+in one tile.")
+ (license license:gpl3+)))
+
(define-public gnome-chess
(package
(name "gnome-chess")
(name "solarus")
;; XXX: When updating this package, please also update hash in
;; `solarus-quest-editor' below.
- (version "1.6.4")
+ (version "1.6.5")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1n6l91yyqjx0pz4w1lp3yybpq0fs2yjswfcm8c1wjfkxwiznbdxi"))))
+ (base32 "0ny9dgqphjv2l39rff2621hnrzpf8qin8vmnv7jdz20azjk4m8id"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1qbc2j9kalk7xqk9j27s7wnm5zawiyjs47xqkqphw683idmzmjzn"))))
+ (base32 "1pvjgd4faxii5sskw1h55lw90hlbazhwni8nxyywzrmkjbq7irm0"))))
(arguments
- `(#:tests? #false ;no test
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-qt-build
- ;; XXX: Fix build with Qt 5.15. It has been applied upstream as
- ;; 81d5c7f1 and can be removed at next upgrade.
- (lambda _
- (substitute* "src/entities/jumper.cpp"
- (("#include <QPainter>" all)
- (string-append all "\n" "#include <QPainterPath>\n")))
- #t)))))
+ `(#:tests? #false)) ; no test suite
(inputs
`(("solarus" ,solarus)
,@(package-inputs solarus)))
the recorded high scores. All attached single races must be finished in time
in order to win an event, unlocking additional events and cars. Most maps are
equipped with spoken co-driver notes and co-driver icons.")
- (license license:cc0 ;textures and audio in data.zip
- license:gpl2+)))
+ (license (list license:cc0 ;textures and audio in data.zip
+ license:gpl2+))))
(define-public ufo2map
(package
(define-public minetest
(package
(name "minetest")
- (version "5.3.0")
+ (version "5.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "03ga3j3cg38w4lg4d4qxasmnjdl8n3lbizidrinanvyfdyvznyh6"))
+ "062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8"))
(modules '((guix build utils)))
(snippet
'(begin
#t))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags
+ `(#:configure-flags
(list "-DRUN_IN_PLACE=0"
"-DENABLE_FREETYPE=1"
"-DENABLE_GETTEXT=1"
(string-append "-DCURL_INCLUDE_DIR="
(assoc-ref %build-inputs "curl")
"/include/curl"))
- #:tests? #f)) ;no check target
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/filesys.cpp"
+ ;; Use store-path for "rm" instead of non-existing FHS path.
+ (("\"/bin/rm\"")
+ (string-append "\"" (assoc-ref inputs "coreutils") "/bin/rm\"")))
+ (substitute* "src/CMakeLists.txt"
+ ;; Let minetest binary remain in build directory.
+ (("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") ""))
+ (substitute* "src/unittest/test_servermodmanager.cpp"
+ ;; do no override MINETEST_SUBGAME_PATH
+ (("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);")
+ "(void)0;"))
+ (setenv "MINETEST_SUBGAME_PATH"
+ (string-append (getcwd) "/games")) ; for check
+ #t))
+ (replace 'check
+ (lambda _
+ ;; Thanks to our substitutions, the tests should also run
+ ;; when invoked on the target outside of `guix build'.
+ (unless ,(%current-target-system)
+ (setenv "HOME" "/tmp")
+ (invoke "src/minetest" "--run-unittests"))
+ #t)))))
(native-search-paths
(list (search-path-specification
(variable "MINETEST_SUBGAME_PATH")
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("curl" ,curl)
+ `(("coreutils" ,coreutils)
+ ("curl" ,curl)
("freetype" ,freetype)
("gettext" ,gettext-minimal)
("gmp" ,gmp)
(file-name (git-file-name name version))
(sha256
(base32
- "1liciwlh013z5h08ib0psjbwn5wkvlr937ir7kslfk4vly984cjx"))))
+ "0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4"))))
(build-system trivial-build-system)
(native-inputs
`(("source" ,source)))
(define-public minetest-mineclone
(package
(name "minetest-mineclone")
- (version "0.66.2")
+ (version "0.71.0")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0miszzlzplpvaj0j1yii9867ydr42wsaqa9g6grxdrci75p05g00"))))
+ "0qm809dqvxc7pa1cr9skmglq9vrbq5hhm4c4m5yi46ldh1v96dgf"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
("python-polib" ,python-polib)
("python-pytest" ,python-pytest)
("python-pytest-mock" ,python-pytest-mock)))
- (home-page "http://unknown-horizons.org/")
+ (home-page "https://unknown-horizons.org/")
(synopsis "Isometric realtime strategy, economy and city building simulation")
(description
"Unknown Horizons is a 2D realtime strategy simulation with an emphasis
(define-public wesnoth
(package
(name "wesnoth")
- (version "1.14.15")
+ (version "1.14.16")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
"wesnoth-" version ".tar.bz2"))
(sha256
(base32
- "05iapxj3nzaqh10y42yq1jf7spxgm4iwjw4qj1c4lnb25xp4mc2h"))))
+ "1d9hq3dcx0sgs2v4400rg2nw98v46m7bwiqqjv8z8n7vw8kx8lhg"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no check target
(define-public freeciv
(package
(name "freeciv")
- (version "2.6.3")
+ (version "2.6.4")
(source
(origin
(method url-fetch)
(version-major+minor version) "/" version
"/freeciv-" version ".tar.bz2")))
(sha256
- (base32 "1lgq7wcbhwpy2yqdw4biwfmp5q8fh7lhlwxcgm0fpaapfl12whvp"))))
+ (base32 "1kn122f57wn5a8ryxaz73dlbd5m93mqx3bqmmz2lkgdccrvrbns0"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
(method git-fetch)
(uri (git-reference
(url "https://github.com/teeworlds/teeworlds")
- (commit version)))
+ (commit version)
+ ;; There are two submodules in datasrc/{languages,maps}
+ (recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32
- "169dl83q08zl4h813az8hjs4rs3dms9yjn6bnsld4fjcj0imvvc6"))
+ "1l19ksmimg6b8zzjy0skyhh7z11ql7n5gvilkv7ay5x2b9ndbqwz"))
(modules '((guix build utils)
(ice-9 ftw)
(ice-9 regex)
(remove (cut string-match "(^.)|(^md5$)" <>)
(scandir base-dir)))
#t))))
- (build-system gnu-build-system)
+ (build-system cmake-build-system)
(arguments
`(#:tests? #f ; no tests included
- #:modules ((guix build gnu-build-system)
- (guix build utils)
- (srfi srfi-26))
#:phases
(modify-phases %standard-phases
- (replace 'configure
+ (add-after 'unpack 'patch-paths
(lambda* (#:key outputs #:allow-other-keys)
;; Embed path to assets.
(substitute* "src/engine/shared/storage.cpp"
(assoc-ref outputs "out")
"/share/teeworlds/data"
"\"")))
-
- ;; Bam expects all files to have a recent time stamp.
- (for-each (cut utime <> 1 1)
- (find-files "."))
-
- ;; Do not use bundled libraries.
- (substitute* "bam.lua"
- (("local json = Compile.+$")
- "local json = nil
-settings.link.libs:Add(\"jsonparser\")")
- (("local png = Compile.+$")
- "local png = nil
-settings.link.libs:Add(\"pnglite\")")
- (("local wavpack = Compile.+$")
- "local wavpack = nil
-settings.link.libs:Add(\"wavpack\")")
- (("if config\\.zlib\\.value == 1")
- "if config.zlib.value"))
- (substitute* "src/engine/client/graphics_threaded.cpp"
- (("engine/external/pnglite/pnglite\\.h")
- "pnglite.h"))
- (substitute* "src/engine/client/sound.cpp"
- (("engine/external/wavpack/wavpack\\.h")
- "wavpack/wavpack.h"))
- #t))
- (replace 'build
- (lambda _
- (invoke "bam" "-a" "-v" "conf=release")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((arch ,(system->linux-architecture
- (or (%current-target-system)
- (%current-system))))
- (build (string-append "build/" (if (string=? arch "i386")
- "x86" arch)
- "/release/"))
- (data-built (string-append build "data/"))
- (out (assoc-ref outputs "out"))
- (bin (string-append out "/bin/"))
- (data (string-append out "/share/teeworlds/data/")))
- (for-each (cut install-file <> bin)
- (map (cut string-append build <>)
- '("teeworlds" "teeworlds_srv")))
- (copy-recursively data-built data)
- #t))))))
+ #t)))))
(inputs
`(("freetype" ,freetype)
("glu" ,glu)
("sdl2-image" ,sdl2-image)
("sdl2-mixer" ,sdl2-mixer)
("wavpack" ,wavpack)
+ ("openssl" ,openssl)
("zlib" ,zlib)))
(native-inputs
- `(("bam" ,bam)
- ("python" ,python-wrapper)
+ `(("python" ,python-wrapper)
("pkg-config" ,pkg-config)))
(home-page "https://www.teeworlds.com")
(synopsis "2D retro multiplayer shooter game")
(description "Teeworlds is an online multiplayer game. Battle with up to
16 players in a variety of game modes, including Team Deathmatch and Capture
The Flag. You can even design your own maps!")
- (license license:bsd-3)))
+ (license (list license:bsd-3 license:cc-by-sa3.0)))) ; game+maps&languages
(define-public enigma
(package
(define-public chroma
(package
(name "chroma")
- (version "1.17")
+ (version "1.18")
(source (origin
(method url-fetch)
(uri (string-append "http://level7.org.uk/chroma/download/chroma-"
version ".tar.bz2"))
(sha256
(base32
- "047sf00x71xbmi8bqrhfbmr9bk89l2gbykkqsfpw4wz6yfjscs6y"))))
+ "12bjisf5nlqinw8n4r223vld52p0p2mw3fca92vi175c46bycbzn"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests included
(define-public crawl
(package
(name "crawl")
- (version "0.26.0")
+ (version "0.26.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/crawl/crawl/releases/download/"
version "/stone_soup-" version "-nodeps.tar.xz"))
(sha256
- (base32 "1m81x1sp6p2ka5w2nib3pcw5w5iv58z41c8aqn0dayi1lb3yslfb"))
+ (base32 "1d8p2np2q5951wqphq2f4dyvv976m2lh82b0qp7w9pp1h8zzi1ff"))
(patches (search-patches "crawl-upgrade-saves.patch"))))
(build-system gnu-build-system)
(inputs
(define-public pioneer
(package
(name "pioneer")
- (version "20200203")
+ (version "20210203")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1011xsi94jhw98mhm8kryq8ajig0qfbrdx5xdasi92bd4nk7lcp8"))))
+ "1zyi1xyghj99hz8fa6dywpscj6flp04fspnlgxbivf3rgmnxflg7"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://www.stepmania.com")
(license license:expat)))
+(define-public oshu
+ (package
+ (name "oshu")
+ (version "2.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fmang/oshu")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1g598incc6zlls876slgwqblwiwiszkmqa4xpzw0z7mbjmmzsizz"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ ;; `make test' doesn't actually build the test executable
+ (lambda _ (invoke "make" "zerotokei"))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("ffmpeg" ,ffmpeg)
+ ("pango" ,pango)
+ ("sdl2" ,sdl2)
+ ("sdl2-image" ,sdl2-image)))
+ (home-page "https://github.com/fmang/oshu/")
+ (synopsis "Rhythm game in which you click on circles")
+ (description "@i{oshu!} is a minimalist variant of the @i{osu!} rhythm game,
+which is played by pressing buttons and following along sliders as they appear
+on screen. Its aim is to be able to play any beatmap even on low-end hardware.
+
+This package provides the core application, but no beatmaps. You need to
+download and unpack them separately.")
+ (license license:gpl3+)))
+
(define-public btanks
(package
(name "btanks")
(define-public edgar
(package
(name "edgar")
- (version "1.33")
+ (version "1.34")
(source
(origin
(method url-fetch)
(string-append "https://github.com/riksweeney/edgar/releases/download/"
version "/edgar-" version "-1.tar.gz"))
(sha256
- (base32 "1mbx7dvizdca4g1blcv3bdh6yxd13k47rkya4rdzg0nvvz24m175"))))
+ (base32 "1121rq5wk3g8rs413av84s2kcy6qj6maspgy2vsxs36c2jd3yygl"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f ; there are no tests
#:make-flags
"-Dhaskell_flags=-dynamic;-fPIC")
#:phases
(modify-phases %standard-phases
+ (add-before 'configure 'fix-sources
+ (lambda _
+ ;; Fix a missing 'include'.
+ (substitute* "QTfrontend/ui/page/pagegamestats.cpp"
+ (("#include <QSizePolicy>")
+ "#include <QSizePolicy>\n#include <QPainterPath>"))))
(replace 'check
(lambda _ (invoke "ctest")))
(add-after 'install 'install-icon
(define-public chessx
(package
(name "chessx")
- (version "1.5.4")
+ (version "1.5.6")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/chessx/chessx/"
version "/chessx-" version ".tgz"))
(sha256
- (base32 "1a3541vl5hp6jllgx998w9kjh9kp3wrl80yfwkxmq1bc5bzsrnz2"))))
+ (base32 "01fjchil2h6ry2ywr0dwjw2g7zd29580cr4c74d5z74h999lp6nh"))))
(build-system qt-build-system)
(native-inputs
`(("qttools" ,qttools)))
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "chessx.pro"
(("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
- (string-append (assoc-ref inputs "qttools") "/bin/lrelease"))
- ;; Fix missing translations.
- (("TRANSLATIONS = i18n/chessx_de.ts")
- "TRANSLATIONS = i18n/chessx_de.ts i18n/chessx_da.ts \\
-i18n/chessx_fr.ts i18n/chessx_it.ts i18n/chessx_cz.ts i18n/chessx_ru.ts \\
-i18n/chessx_es.ts"))
+ (string-append (assoc-ref inputs "qttools") "/bin/lrelease")))
#t))
(add-after 'fix-paths 'make-qt-deterministic
(lambda _
(define-public stockfish
(package
(name "stockfish")
- (version "12")
+ (version "13")
(source
(origin
(method git-fetch)
(commit (string-append "sf_" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0vcymbwp5nf114pp3ax40s21ki5dckda15vmhr77d1mnq3fn0l32"))))
+ (base32 "15dfp9fnl3w7dgxhqmsm461amsysn646rj1arnzvwhy2i6ijhg2m"))))
(build-system gnu-build-system)
(inputs
`(("neural-network"
,(origin
(method url-fetch)
- (uri "https://tests.stockfishchess.org/api/nn/nn-82215d0fd0df.nnue")
+ (uri "https://tests.stockfishchess.org/api/nn/nn-62ef826d1a6d.nnue")
(sha256
- (base32 "1r4yqrh4di05syyhl84hqcz84djpbd605b27zhbxwg6zs07ms8c2"))))))
+ (base32 "0qsy9rr4zgxrpgwhwbi96z01a2560am2b00q2klbj4bd39nq5vv2"))))))
(arguments
`(#:tests? #f
#:make-flags (list "-C" "src"
(add-after 'unpack 'copy-net
(lambda* (#:key inputs #:allow-other-keys)
(copy-file (assoc-ref inputs "neural-network")
- "src/nn-82215d0fd0df.nnue")
+ "src/nn-62ef826d1a6d.nnue")
#t)))))
(synopsis "Strong chess engine")
(description
@end itemize")
(license license:gpl2+)))
+(define-public passage
+ (package
+ (name "passage")
+ (version "4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/hcsoftware/Passage/v"
+ version "/Passage_v" version "_UnixSource.tar.gz"))
+ (sha256
+ (base32 "02ky4a4xdjvr71r58339jjrjyz76b5skcnbq4f8707mrln9vhby3"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #false ; there are none
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "gamma256/gameSource")
+ (system "cat Makefile.GnuLinux Makefile.all > Makefile")))
+ (replace 'configure
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (setenv "CPATH"
+ (string-append
+ (assoc-ref inputs "sdl") "/include/SDL:"
+ (or (getenv "CPATH") "")))
+ (let* ((out (assoc-ref outputs "out"))
+ (assets (string-append out "/share/passage")))
+ (substitute* "common.cpp"
+ (("readTGA\\( \"graphics\"")
+ (format #false "readTGA(\"~a/graphics\"" assets)))
+ (substitute* "musicPlayer.cpp"
+ (("readTGA\\( \"music\"")
+ (format #false "readTGA(\"~a/music\"" assets))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (assets (string-append out "/share/passage/")))
+ (install-file "Passage" bin)
+ (install-file "../documentation/Readme.txt" assets)
+ (copy-recursively "graphics" (string-append assets "graphics"))
+ (copy-recursively "music" (string-append assets "music"))
+ (copy-recursively "settings" (string-append assets "settings"))))))))
+ (inputs
+ `(("sdl" ,(sdl-union (list sdl sdl-mixer)))))
+ (native-inputs
+ `(("imagemagick" ,imagemagick)))
+ (home-page "http://hcsoftware.sourceforge.net/passage/")
+ (synopsis "Memento mori game")
+ (description
+ "Passage is meant to be a memento mori game. It presents an entire life,
+from young adulthood through old age and death, in the span of five minutes.
+Of course, it's a game, not a painting or a film, so the choices that you make
+as the player are crucial. There's no ``right'' way to play Passage, just as
+there's no right way to interpret it.")
+ (license license:public-domain)))
+
(define-public paperview
(let ((commit "9f8538eb6734c76877b878b8f1e52587f2ae19e6")
(revision "1"))