emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#62670: closed ([PATCH] gnu: Add deal.)


From: GNU bug Tracking System
Subject: bug#62670: closed ([PATCH] gnu: Add deal.)
Date: Mon, 24 Apr 2023 23:24:03 +0000

Your message dated Tue, 25 Apr 2023 01:23:21 +0200
with message-id <87cz3srhjq.fsf@nicolasgoaziou.fr>
and subject line Re: [bug#62670] [PATCH] gnu: Add deal.
has caused the debbugs.gnu.org bug report #62670,
regarding [PATCH] gnu: Add deal.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
62670: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62670
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH] gnu: Add deal. Date: Tue, 4 Apr 2023 23:50:04 +0200
* gnu/packages/games.scm (deal): New variable.
---
 gnu/packages/games.scm | 80 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 79 insertions(+), 1 deletion(-)

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




--- End Message ---
--- Begin Message --- Subject: Re: [bug#62670] [PATCH] gnu: Add deal. Date: Tue, 25 Apr 2023 01:23:21 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

> * gnu/packages/games.scm (deal): New variable.

Applied. Closing.

Regards,
-- 
Nicolas Goaziou


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]