From 72a5895b7e68e814e58ec96ca51624ca682247dc Mon Sep 17 00:00:00 2001 From: Foo Chuan Wei Date: Fri, 10 Dec 2021 06:09:08 +0000 Subject: [PATCH] gnu: Add xblackjack. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (xblackjack): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/games.scm | 76 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 6258d65f97..fa6865c050 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -67,6 +67,7 @@ ;;; Copyright © 2021 Petr Hodina ;;; Copyright © 2021 Brendan Tildesley ;;; Copyright © 2021 Christopher Baines +;;; Copyright © 2021 Foo Chuan Wei ;;; ;;; 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) @@ -12200,6 +12202,80 @@ 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 ") + "#include ")) + (substitute* "Strategy.c" + (("^#include ") + "#include ")) + + ;; Fix compilation errors. + (substitute* "Table.c" + (("/\\* focus_moved_proc \\*/\tXtInheritFocusMovedProc,") "") + (("_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 + (list lesstif libx11 libxext libxmu libxt)) + (native-inputs + (list 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 "" "See file headers.")))) + (define-public azimuth (package (name "azimuth")