[PATCH] gnu: Add deal.

  • Done
  • quality assurance status badge
Details
One participant
  • Nicolas Goaziou
Owner
unassigned
Submitted by
Nicolas Goaziou
Severity
normal
N
N
Nicolas Goaziou wrote on 4 Apr 2023 23:50
(address . guix-patches@gnu.org)
20230404215004.740745-1-mail@nicolasgoaziou.fr
* gnu/packages/games.scm (deal): New variable.
---
gnu/packages/games.scm | 80 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 79 insertions(+), 1 deletion(-)

Toggle diff (102 lines)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index debd9b5d30..249ee469f4 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1152,6 +1152,84 @@ (define-public cowsay
tired of cows, a variety of other ASCII-art messengers are available.")
(license license:gpl3+)))
+(define-public deal
+ (package
+ (name "deal")
+ (version "3.1.11")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gtwilliams/deal")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1wcrx3yq5ycnkdnygcq80ljpgc9iwyrr8zayprzvbibvj77hdm0c"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #t
+ #:test-target "test"
+ #:make-flags
+ #~(let* ((tcl #$(this-package-input "tcl"))
+ (tcl-version #$(version-major+minor (package-version tcl))))
+ (list "CPPFLAGS += -O3"
+ (string-append "CC=" #$(cc-for-target))
+ (string-append "TCL_INCL=" tcl "/include")
+ (string-append "LDFLAGS=-L" tcl "/lib"
+ " -ltcl" tcl-version
+ " -lm")
+ (string-append "DATA_DIR=" #$output "/share/deal/")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'locate-pod2man
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr/bin/pod2man")
+ (search-input-file inputs "/bin/pod2man")))))
+ (delete 'configure) ;no configure script
+ ;; Prevent the error: "Makefile:248: Make.dep: No such file
+ ;; or directory".
+ (add-before 'build 'create-Make.dep
+ (lambda _
+ (call-with-output-file "Make.dep" (const #t))))
+ ;; There is no install target. Do everything manually.
+ (replace 'install
+ (lambda _
+ (let ((bin (string-append #$output "/bin"))
+ (man (string-append #$output "/share/man/man6"))
+ (data (string-append #$output "/share/deal")))
+ (install-file "deal" bin)
+ (install-file "deal.6" man)
+ (install-file "deal.tcl" data)
+ (for-each (lambda (d)
+ (let ((target (string-append data "/" d)))
+ (mkdir-p target)
+ (copy-recursively d target)))
+ '("ex" "format" "input" "lib")))))
+ ;; Tests need to happen once the data is properly installed
+ ;; because the "deal.tcl" script file location is hard-coded
+ ;; in the "deal" binary.
+ (delete 'check)
+ (add-after 'install 'check
+ (assoc-ref %standard-phases 'check)))))
+ (native-inputs
+ (list perl))
+ (inputs
+ (list tcl))
+ (home-page "https://bridge.thomasoandrews.com/deal/")
+ (synopsis "Bridge hand generator")
+ (description
+ "This program generates bridge hands. It can be told to generate only
+hands satisfying conditions like being balanced, having a range of
+High Cards Points (HCP), controls, or other user-definable properties.
+Hands can be output in various formats, like PBN for feeding to other
+bridge programs, Deal itself, or split up into a file per player for
+practise.")
+ (license (list license:gpl2+
+ license:gpl1+ ;ansidecl.h
+ license:bsd-3)))) ;random.c
+
(define-public falltergeist
(package
(name "falltergeist")
@@ -1167,7 +1245,7 @@ (define-public falltergeist
"05cg58i2g32wbmrvmdsicic8xs83gld3qr1p7r4lnlckcl1l7dy4"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f)) ; no tests provided
+ `(#:tests? #f)) ; no tests provided
(native-inputs (list pkg-config))
(inputs `(("sdl" ,(sdl-union (list sdl2
sdl2-image

base-commit: 6311493d7a6271bfbc51f4693857f9a12fe9965d
--
2.39.2
N
N
Nicolas Goaziou wrote on 25 Apr 2023 01:23
(address . 62670-done@debbugs.gnu.org)
87cz3srhjq.fsf@nicolasgoaziou.fr
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

Toggle quote (2 lines)
> * gnu/packages/games.scm (deal): New variable.

Applied. Closing.

Regards,
--
Nicolas Goaziou
Closed
?