Subject: bug#52404: closed (Re: bug#52404: [PATCH] gnu: Add xblackjack.)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 22 Dec 2021 21:55:02 +0000

Your bug report

#52404: [PATCH] gnu: Add xblackjack.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
52404: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=52404
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#52404: [PATCH] gnu: Add xblackjack.
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Date: Wed, 22 Dec 2021 22:54:04 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Foo Chuan Wei <[email-masked]> skribis:

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

Applied with the changes below, mostly to placate ‘guix lint’.

Thanks,
Ludo’.

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 3e6aeec839..fa6865c050 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -12253,7 +12253,7 @@ (define-public xblackjack
 
                ;; Fix compilation errors.
                (substitute* "Table.c"
-                 (("/\\* focus_moved_proc \\*/	XtInheritFocusMovedProc,") "")
+                 (("/\\* focus_moved_proc \\*/\tXtInheritFocusMovedProc,") "")
                  (("_XmMoveObject\\(\\(RectObj\\) w, rx, ry\\);")
                   "_XmMoveObject(w, rx, ry);")
                  (("_XmResizeObject\\(\\(RectObj\\) managed->locs[i].w, nw, nh,")
@@ -12263,13 +12263,9 @@ (define-public xblackjack
              (invoke "make" "install.man"))))
        #:tests? #f))  ; No check target.
     (inputs
-     `(("lesstif" ,lesstif)
-       ("libx11" ,libx11)
-       ("libxext" ,libxext)
-       ("libxmu" ,libxmu)
-       ("libxt" ,libxt)))
+     (list lesstif libx11 libxext libxmu libxt))
     (native-inputs
-     `(("imake" ,imake)))
+     (list imake))
     (home-page "https://www.ibiblio.org/pub/X11/contrib/games/")
     (synopsis "X11/Motif blackjack game")
     (description
@@ -12278,7 +12274,7 @@ (define-public xblackjack
 O. Thorp, Ph.D. of UCLA.  A number of important statistics are maintained
 for display, and used by the program to implement Thorp's \"Complete Point
 System\" (high-low system).")
-    (license license:x11-style)))
+    (license (license:x11-style "" "See file headers."))))
 
 (define-public azimuth
   (package

Subject: [PATCH] gnu: Add xblackjack.
From: Foo Chuan Wei <[email-masked]>
To: [email-masked]
Date: Fri, 10 Dec 2021 06:09:08 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/games.scm (xblackjack): New variable.
---
 gnu/packages/games.scm | 80 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 80 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 819a832baf..e0287dc02c 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -67,6 +67,7 @@
 ;;; Copyright © 2021 Petr Hodina <[email-masked]>
 ;;; Copyright © 2021 Brendan Tildesley <[email-masked]>
 ;;; Copyright © 2021 Christopher Baines <[email-masked]>
+;;; Copyright © 2021 Foo Chuan Wei <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -151,6 +152,7 @@
   #:use-module (gnu packages kde)
   #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages less)
+  #:use-module (gnu packages lesstif)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages libidn)
@@ -12402,6 +12404,84 @@ game.")  ;thanks to Debian for description
 computer opponents or against real players online.")
     (license license:agpl3+)))
 
+(define-public xblackjack
+  (package
+    (name "xblackjack")
+    (version "2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.ibiblio.org/pub/X11/contrib/games/"
+                           "xblackjack-" version ".tar.gz"))
+       (sha256
+        (base32 "05h93rya7zwnx2l58f0a7wkjadymkj4y77clcr2hryhrhhy1vwjx"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((imake (assoc-ref inputs "imake"))
+                   (out (assoc-ref outputs "out")))
+               (substitute* "Imakefile"
+                 (("EXTRA_LIBRARIES = -lXm \\$\\(DEPLIBS\\) -lbsd")
+                  "EXTRA_LIBRARIES = -lXm -lXt -lXmu -lXext -lX11")
+                 (("^#define NonStandardInstallTargets NO")
+                  "#define NonStandardInstallTargets YES")
+                 (("BINDIR = /usr/local/bin")
+                  (string-append "BINDIR = " out "/bin"))
+                 (("MANDIR = /usr/local/man/cat1")
+                  (string-append "MANDIR = " out "/share/man/man1"))
+                 (("XAPPLOADDIR = /usr/local/lib/app-defaults")
+                  (string-append "XAPPLOADDIR = " out "/lib/X11/app-defaults")))
+
+               (invoke "xmkmf")  ; Generate Makefile.
+               (substitute* "Makefile"
+                 ((imake) out)
+                 (("ETCX11DIR = /etc/X11")
+                  (string-append "ETCX11DIR = " out "/etc/X11"))
+                 ;; Fix incorrect argument given to gcc. Error message:
+                 ;; "gcc: error: DefaultGcc2AMD64Opt: No such file or directory"
+                 (("CDEBUGFLAGS = [^\n]*") ""))
+
+               ;; Fix header paths.
+               (substitute* '("Draw.c"
+                              "Strategy.c")
+                 (("^#include <X11/Xm/Xm.h>")
+                  "#include <Xm/Xm.h>"))
+               (substitute* "Strategy.c"
+                 (("^#include <X11/Xm/Label.h>")
+                  "#include <Xm/Label.h>"))
+
+               ;; Fix compilation errors.
+               (substitute* "Table.c"
+                 (("/\\* focus_moved_proc \\*/	XtInheritFocusMovedProc,") "")
+                 (("_XmMoveObject\\(\\(RectObj\\) w, rx, ry\\);")
+                  "_XmMoveObject(w, rx, ry);")
+                 (("_XmResizeObject\\(\\(RectObj\\) managed->locs[i].w, nw, nh,")
+                  "_XmResizeObject(managed->locs[i].w, nw, nh,")))))
+         (add-after 'install 'install-man-pages
+           (lambda _
+             (invoke "make" "install.man"))))
+       #:tests? #f))  ; No check target.
+    (inputs
+     `(("lesstif" ,lesstif)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxmu" ,libxmu)
+       ("libxt" ,libxt)))
+    (native-inputs
+     `(("imake" ,imake)))
+    (home-page "https://www.ibiblio.org/pub/X11/contrib/games/")
+    (synopsis "X11/Motif blackjack game")
+    (description
+     "Xblackjack is a MOTIF/OLIT based tool constructed to get you ready for
+the casino.  It was inspired by a book called \"Beat the Dealer\" by Edward
+O. Thorp, Ph.D. of UCLA.  A number of important statistics are maintained
+for display, and used by the program to implement Thorp's \"Complete Point
+System\" (high-low system).")
+    (license license:x11-style)))
+
 (define-public azimuth
   (package
     (name "azimuth")

base-commit: e1973ae74beb2880c11593155849f43e23ef620c
-- 
2.25.1