[PATCH] gnu: Add golly.

  • Done
  • quality assurance status badge
Details
2 participants
  • Kei Kebreau
  • Ludovic Courtès
Owner
unassigned
Submitted by
Kei Kebreau
Severity
normal

Debbugs page

Kei Kebreau wrote 7 years ago
(address . guix-patches@gnu.org)(name . Kei Kebreau)(address . kkebreau@posteo.net)
20180120045225.14767-1-kkebreau@posteo.net
* gnu/packages/games.scm (golly): New variable.
---
gnu/packages/games.scm | 90 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 89 insertions(+), 1 deletion(-)

Toggle diff (110 lines)
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
Ludovic Courtès wrote 7 years ago
(name . Kei Kebreau)(address . kkebreau@posteo.net)(address . 30181@debbugs.gnu.org)
87efm9y5i3.fsf@gnu.org
Kei Kebreau <kkebreau@posteo.net> skribis:

Toggle quote (2 lines)
> * gnu/packages/games.scm (golly): New variable.

[...]

Toggle quote (18 lines)
> + (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’.
Kei Kebreau wrote 7 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 30181-done@debbugs.gnu.org)
87lgghmt4k.fsf@posteo.net
ludo@gnu.org (Ludovic Courtès) writes:

Toggle quote (27 lines)
> 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.

Toggle quote (5 lines)
>
> Apart from that it LGTM, thanks!
>
> Ludo’.

Pushed with corrections. Thanks for reviewing!
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEg7ZwOtzKO2lLzi2m5qXuPBlGeg0FAlpuZAsACgkQ5qXuPBlG
eg0sZQ//b88p/m/p+kZp1jetnUpJnk8a6GK0y4pK3tp6IncrHWwN0ZeEcXqk/Lw2
ZrYGT5UVzQfP13E+v4e0PFGilBIyi7KsEnDLng6DQxclp0w66iGFn3pMc9MFGIvy
+ZLeOcoB08OtwsOfRdjIaIFX77Hcc7jMsiGfsCvJhCahq2NhAZS5+z4l/94SzlV5
vPRpyAkLK4JyOmyQkUnVngF4uB9X6QJpPU9zQHiMJXwRBq8LHNgxBnAwh5GYeD59
pvuzCyt14MCtgkJYHZ0Oi3pjWjrP21+RaPz8F3ibP/PM0ezox6D4rdxBAhsGdn6b
QIAiZtxyxSFlnHuXsui5+amu/TS6lHG9MXAbtCBZnxQQmM1cHfoLKAUgh3wQYABR
gCNSpPxV6EyTrVrCgsei5tw9dSNI4yTwckn5SugEXI03uwWM+D2bLK3NYyhfkesL
bhfE/asppNeDc7oyyFbD8yknI/Hy+nbmCJFnKl3CDJ3Y/dofK4pitvLWPo/8wDYO
KTdMeSxsV5RQQgMxax/Epb6VDgTaPbJ+moutUTt9D4lPeVMcMap2d3Vh7MJYS3ni
iwfNSSjwFIugw9Tj1vjF0c5FJ9wdOWsbDY/dnJP23tTwUUD4sk+dWFO9pSpHXJiV
pNpLptxdMwkfwrEoSTRdybtZwu7Sg1Qk01ZN/dkoP6t/M9qFrrU=
=e2t3
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 30181@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 30181
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help