all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#30181] [PATCH] gnu: Add golly.
@ 2018-01-20  4:52 Kei Kebreau
  2018-01-28 22:37 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Kei Kebreau @ 2018-01-20  4:52 UTC (permalink / raw)
  To: 30181; +Cc: Kei Kebreau

* gnu/packages/games.scm (golly): New variable.
---
 gnu/packages/games.scm | 90 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 89 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 1213d87a5..e5d9aae3e 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -19,7 +19,7 @@
 ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
 ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
 ;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
-;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
@@ -363,6 +363,94 @@ played.  Freedoom complements the Doom engine with free levels, artwork, sound
 effects and music to make a completely free game.")
    (license license:bsd-3)))
 
+(define-public golly
+  (package
+    (name "golly")
+    (version "3.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/golly/golly-"
+                                  version "/golly-" version
+                                  "-src.tar.gz"))
+              (sha256
+               (base32
+                "0dn74k3rylhx023n047lz4z6qrqijfcxi0b6jryqklhmm2n532f7"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:make-flags (list "CC=gcc"
+                          (string-append "GOLLYDIR="
+                                         (assoc-ref %outputs "out")
+                                         "/share/golly"))
+       #:tests? #f ; no check target
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; For some reason, setting the PYTHON_SHLIB make flag doesn't
+             ;; properly set the path to the Python shared library. This
+             ;; substitution acheives the same end by different means.
+             (substitute* "gui-wx/wxprefs.cpp"
+               (("pythonlib = wxT\\(STRINGIFY\\(PYTHON_SHLIB\\)\\)")
+                (string-append "pythonlib = \""
+                               (assoc-ref inputs "python")
+                               "/lib/libpython-2.7.so\"")))
+             #t))
+         (replace 'build
+           (lambda* (#:key make-flags outputs #:allow-other-keys)
+             (with-directory-excursion "gui-wx"
+               (apply invoke `("make" ,@make-flags "-f" "makefile-gtk")))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (doc (string-append out "/share/doc/golly"))
+                    (pixmaps (string-append out "/share/pixmaps"))
+                    (share (string-append out "/share/golly")))
+               (for-each (lambda (binary)
+                           (install-file binary bin))
+                         '("bgolly" "golly"))
+               (for-each (lambda (document)
+                           (install-file
+                            (string-append "docs/" document ".html")
+                            doc))
+                         '("License" "ReadMe" "ToDo"))
+               (install-file "gui-wx/icons/appicon.xpm" pixmaps)
+               (for-each (lambda (folder)
+                           (copy-recursively
+                            folder
+                            (string-append share "/" folder)))
+                         '("Help" "Patterns" "Rules" "Scripts")))
+             #t)))))
+    (native-inputs
+     `(("lua" ,lua)))
+    (inputs
+     `(("glu" ,glu)
+       ("mesa" ,mesa)
+       ("python" ,python-2)
+       ("wxwidgets" ,wxwidgets-gtk2)
+       ("zlib" ,zlib)))
+    (home-page "http://golly.sourceforge.net/")
+    (synopsis "Software for exploring cellular automata")
+    (description
+     "Golly simulates Conway's Game of Life and many other types of cellular
+automata.  The following features are available:
+@enumerate
+@item Support for bounded and unbounded universes, with cells of up to 256
+  states.
+@item Support for multiple algorithms, including Bill Gosper's Hashlife
+  algorithm.
+@item Loading patterns from BMP, PNG, GIF and TIFF image files.
+@item Reading RLE, macrocell, Life 1.05/1.06, dblife and MCell files.
+@item Scriptable via Lua or Python.
+@item Extracting patterns, rules and scripts from zip files.
+@item Downloading patterns, rules and scripts from online archives.
+@item Pasting patterns from the clipboard.
+@item Unlimited undo/redo.
+@item Configurable keyboard shortcuts.
+@item Auto fit option to keep patterns within the view.
+@end enumerate.")
+    (license license:gpl2+)))
+
 (define-public meandmyshadow
   (package
     (name "meandmyshadow")
-- 
2.15.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#30181] [PATCH] gnu: Add golly.
  2018-01-20  4:52 [bug#30181] [PATCH] gnu: Add golly Kei Kebreau
@ 2018-01-28 22:37 ` Ludovic Courtès
  2018-01-29  0:00   ` bug#30181: " Kei Kebreau
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2018-01-28 22:37 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: 30181

Kei Kebreau <kkebreau@posteo.net> skribis:

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

[...]

> +    (description
> +     "Golly simulates Conway's Game of Life and many other types of cellular
> +automata.  The following features are available:
> +@enumerate
> +@item Support for bounded and unbounded universes, with cells of up to 256
> +  states.
> +@item Support for multiple algorithms, including Bill Gosper's Hashlife
> +  algorithm.
> +@item Loading patterns from BMP, PNG, GIF and TIFF image files.
> +@item Reading RLE, macrocell, Life 1.05/1.06, dblife and MCell files.
> +@item Scriptable via Lua or Python.
> +@item Extracting patterns, rules and scripts from zip files.
> +@item Downloading patterns, rules and scripts from online archives.
> +@item Pasting patterns from the clipboard.
> +@item Unlimited undo/redo.
> +@item Configurable keyboard shortcuts.
> +@item Auto fit option to keep patterns within the view.
> +@end enumerate.")
                 ^
I think this period is not syntactically valid and must be removed.

Apart from that it LGTM, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#30181: [PATCH] gnu: Add golly.
  2018-01-28 22:37 ` Ludovic Courtès
@ 2018-01-29  0:00   ` Kei Kebreau
  0 siblings, 0 replies; 3+ messages in thread
From: Kei Kebreau @ 2018-01-29  0:00 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30181-done

[-- Attachment #1: Type: text/plain, Size: 1274 bytes --]

ludo@gnu.org (Ludovic Courtès) writes:

> Kei Kebreau <kkebreau@posteo.net> skribis:
>
>> * gnu/packages/games.scm (golly): New variable.
>
> [...]
>
>> +    (description
>> +     "Golly simulates Conway's Game of Life and many other types of cellular
>> +automata.  The following features are available:
>> +@enumerate
>> +@item Support for bounded and unbounded universes, with cells of up to 256
>> +  states.
>> +@item Support for multiple algorithms, including Bill Gosper's Hashlife
>> +  algorithm.
>> +@item Loading patterns from BMP, PNG, GIF and TIFF image files.
>> +@item Reading RLE, macrocell, Life 1.05/1.06, dblife and MCell files.
>> +@item Scriptable via Lua or Python.
>> +@item Extracting patterns, rules and scripts from zip files.
>> +@item Downloading patterns, rules and scripts from online archives.
>> +@item Pasting patterns from the clipboard.
>> +@item Unlimited undo/redo.
>> +@item Configurable keyboard shortcuts.
>> +@item Auto fit option to keep patterns within the view.
>> +@end enumerate.")
>                  ^
> I think this period is not syntactically valid and must be removed.

You are correct.

>
> Apart from that it LGTM, thanks!
>
> Ludo’.

Pushed with corrections. Thanks for reviewing!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-01-29  0:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-20  4:52 [bug#30181] [PATCH] gnu: Add golly Kei Kebreau
2018-01-28 22:37 ` Ludovic Courtès
2018-01-29  0:00   ` bug#30181: " Kei Kebreau

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.