Subject: [bug#66654] [PATCH v2] gnu: Add moonfish.

From: zamfofex <[email-masked]>
Date: Fri, 20 Oct 2023 22:17:28 -0300

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

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 4d5b85248a..97515abc10 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -10409,6 +10409,56 @@ (define-public stockfish
       (home-page "https://stockfishchess.org/")
       (license license:gpl3+))))
 
+(define-public moonfish
+  (let ((commit "4f8829009e8c26e6a878261e0bc4c7e7617ef6b6")
+        (revision "1"))
+    (package
+      (name "moonfish")
+      (version (git-version "0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.sr.ht/~zamfofex/moonfish")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "1ksg42x9cyn3pbfryy9raqb355k47cqcisascpy157c3cgdr2z60"))
+                (file-name (git-file-name name version))))
+      (build-system gnu-build-system)
+      (inputs (list bearssl cjson))
+      (outputs '("out" "tools"))
+      (arguments
+       `(#:make-flags '(,(string-append "CC="
+                                        (cc-for-target)))
+         #:tests? #f ;no check target
+         #:phases (modify-phases %standard-phases
+                    (delete 'configure) ;no configure script
+                    (replace 'install
+                      ;; no 'install' target
+                      (lambda _
+                        (let* ((out (assoc-ref %outputs "out"))
+                               (tools (assoc-ref %outputs "tools"))
+                               (out-bin (string-append out "/bin"))
+                               (tools-bin (string-append tools "/bin"))
+                               (tool (string-append tools-bin "/moonfish-")))
+                          (mkdir-p out-bin)
+                          (mkdir-p tools-bin)
+                          (copy-file "moonfish"
+                                     (string-append out-bin "/moonfish"))
+                          (copy-file "play"
+                                     (string-append tool "play"))
+                          (copy-file "lichess"
+                                     (string-append tool "lichess"))
+                          (copy-file "analyse"
+                                     (string-append tool "analyse"))))))))
+      (home-page "https://git.sr.ht/~zamfofex/moonfish")
+      (synopsis "Simple chess engine written in C")
+      (description
+       "moonfish is a toy UCI chess engine made for fun.  It is inspired by
+sunfish, but is written in C rather than Python.  It also has TUI tools for
+using any UCI engine and also to connect UCI engines to Lichess.")
+      (license license:agpl3+))))
+
 (define-public barrage
   (package
     (name "barrage")

base-commit: 17954419aa25bf947f3351d82a11dc2f5472acaa
-- 
2.41.0