aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/game-development.scm69
1 files changed, 68 insertions, 1 deletions
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 513ed31bc0..d40a97eef2 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019, 2020, 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2019 Jethro Cao <jethrocao@gmail.com>
-;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
@@ -74,6 +74,7 @@
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@@ -85,6 +86,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages llvm)
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
#:use-module (gnu packages mp3)
@@ -181,6 +183,71 @@
is used in some video games and movies.")
(license license:zlib)))
+(define-public dds
+ (package
+ (name "dds")
+ (version "2.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dds-bridge/dds")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1iv09qic43nvla02lm8zgnkqpjgnc95p8zh3wyifmnmlh1rz02yj"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "src")))
+ (replace 'configure
+ ;; Configuration is done by copying the appropriate
+ ;; make file in the working directory. There is no
+ ;; configure script.
+ (lambda _
+ (copy-file "Makefiles/Makefile_linux_shared"
+ "Makefile")))
+ (replace 'check
+ ;; There is no "check" traget. We must compile
+ ;; a "dtest" program and apply it on a data set.
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (install-file "libdds.so" "../test")
+ (with-directory-excursion "../test"
+ (copy-file "Makefiles/Makefile_linux"
+ "Makefile")
+ (substitute* "Makefile"
+ (("-Werror") ""))
+ (invoke "make")
+ (invoke "./dtest" "-f" "../hands/list100.txt")))))
+ (replace 'install
+ ;; "install" target merely moves ".so" file around
+ ;; the source directory. We install it in the store,
+ ;; along with all shipped documentation (which cannot
+ ;; be built from source unfortunately).
+ (lambda _
+ (install-file "libdds.so"
+ (string-append #$output "/lib"))
+ (let ((doc (string-append #$output
+ "/share/doc/"
+ #$name "-" #$version)))
+ (install-file "../LICENSE" doc)
+ (copy-recursively "../doc" doc)))))))
+ (native-inputs
+ (list gawk procps))
+ (inputs
+ (list boost))
+ (home-page "http://privat.bahnhof.se/wb758135/")
+ (synopsis "Double dummy solver for the bridge card game")
+ (description "DDS is a double-dummy solver of bridge hands. It supports
+single-threading and multi-threading for improved performance. DDS
+offers a wide range of functions, including par-score calculations.")
+ (license license:asl2.0)))
+
(define-public deutex
(package
(name "deutex")