commit 2aa4b29aa4c1a6a7ddc24ae751aec5d6ae3f054458d62f6304938889cf45eab6 Author: Atri Bhattacharya Date: Mon Mar 10 08:58:12 2025 +0000 - Add missing BuildRequires python3-setuptools to fix Factory OBS-URL: https://build.opensuse.org/package/show/Education/golly?expand=0&rev=11 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/golly-4.3-src.tar.gz b/golly-4.3-src.tar.gz new file mode 100644 index 0000000..7f82d69 --- /dev/null +++ b/golly-4.3-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51d2478063e7ec50cde2b61381f3c1028604e45182e374cff0e14199822a081d +size 15488205 diff --git a/golly.changes b/golly.changes new file mode 100644 index 0000000..d36357d --- /dev/null +++ b/golly.changes @@ -0,0 +1,148 @@ +------------------------------------------------------------------- +Mon Mar 10 08:53:35 UTC 2025 - Marius Grossu + +- Add missing BuildRequires python3-setuptools + +------------------------------------------------------------------- +Sat May 25 15:08:01 UTC 2024 - Antoine Belvire + +- Update to version 4.3: + * Added the new Investigator rule family to the Super algorithm. + * Adjusted Super conversion scripts to handle Investigator rules, + including a new toInvestigator.lua conversion script that will + be mapped by default to Alt+I whenever Golly creates a new + GollyPrefs file. + * Minor improvements to error-checking and recovery in + toHistory.lua and toSuper.lua conversion scripts. + * Various changes to the RLE parsing code, mainly for consistency + with LifeViewer.. + * Fixed a crash by limiting the scale to no more than 2^(2^20) + cells per pixel. + * Fixed a bug that affected all multi-state hashlife algorithms + (changing a cell in a very large pattern could result in a + corrupted universe). + * Fixed some bugs handling filenames with underscores or + ampersands in the Open/Run Recent submenus. + * Fixed orientation of Custom neighborhood in the Larger than + Life algorithm. + * Fixed an assertion in progress bar update when downloading a + file from a web server using gzip compression. + * Better support for .rule files with very long lines. An error + message is now displayed if a line exceeds the maximum length of + 4,000 characters. + * The Pattern Info window displays Unicode characters correctly + (assuming the comments are UTF-8 encoded). + * 3D.lua has a Pattern Info command (in its View menu) which will + display the current pattern's comments in the help window. You + can also click on the new "i" button. + * The Larger than Life algorithm now supports Aligned Checkerboard + neighborhood (ND). + * New script safeopenclip.lua will attempt to open the clipboard + as a pattern. + * Modified goto.lua to check for a number too large for Lua (if + so then the script exits and recommends using goto.py instead). + * File > Run Clipboard displays a nicer error message if the + clipboard doesn't contain Lua/Python code. + * Removed optional support for Perl. + * Updated Lua to version 5.4.6. + * Added a query command (for Lua or Python) that displays a + modal dialog with customizable button labels. + * Lots of new patterns. + * Reformatted and renamed many Larger than Life and Generations + patterns to use Golly native HROT format and/or an .rle + extension instead of .mcl. + * Deleted pattern: oscillator-stamp-collection-12August2022.rle + (replaced by oscillator-stamp-collection-31January2023.rle). + * The comments in a large number of existing patterns have been + modified (broken links deleted or fixed, and the formatting of + paragraphs made more consistent). + * Added new rules required by some of the new patterns. + +------------------------------------------------------------------- +Thu May 18 09:50:42 UTC 2023 - Jan Engelhardt + +- Trim unquantified wording from descriptions. + +------------------------------------------------------------------- +Thu Apr 27 20:59:46 UTC 2023 - antoine.belvire@opensuse.org + +- Update to version 4.2: + * Fixed a bug in script commands like g.setpos that accept + integers as strings. + * Fixed a number of bugs that could result in an "illegal + operation while calculating" warning. + * Performance improvements to Larger than Life NL (Triangular) + and NB (Checkerboard) rules. + * Updated Lua to version 5.4.4. + * Added support for https links when downloading files from + online archives. + * New patterns, mostly in OCA (non-Conway's Life) rules, plus + updates to Life stamp collections. + * Moved/renamed whiteboard-17c2415-spaceship.rle, + sierpinski-builder.rle, wolfram22.mc. + * Reorganized patterns in HashLife folder into subfolders + "Construction", "Eventful", and "Metacell". + * Links and dates in many pattern comments updated to standard + format. +- Changes of versions 4.1, 4.0, 3.4, 3.3, 3.2, 3.1, 3.0, 2.8, 2.7: + See https://golly.sourceforge.net/Help/changes.html. +- Drop Perl dependencies: Perl scripting has been replaced by Lua + scripting. golly is built against a patched version of Lua + included in sources. +- Modify desktop file to run with GDK_BACKEND=x11: Allow to run the + application built against wxWidgets without EGL support. +- Refreshed spec file. + +------------------------------------------------------------------- +Wed Mar 19 08:37:00 UTC 2014 - avvissu@yandex.ru + +- Create sub-package golly-devel-static to provide the static + library needed for shared builds and to fix compilation on + Fedora. + +------------------------------------------------------------------- +Wed Mar 19 05:55:57 UTC 2014 - avvissu@yandex.ru + +- Add and package desktop file +- Delete golly-zlib.patch + + Set ZLIB_LDFLAGS in %{build} instead +- Fix rpmlint error: devel-file-in-non-devel-package + + Create package golly-devel to package all devel files + +------------------------------------------------------------------- +Tue Mar 18 00:09:43 UTC 2014 - avvissu@yandex.ru + +- Update to 2.6 for openSUSE and Fedora: + * Fixed a nasty bug that could cause Golly to crash when doing a + paste. + * Fixed a bug that could cause the paste image to disappear after + a flip/rotate. + * Tool bar buttons are no longer disabled when the main window is + inactive. + * The save settings in Preferences > Layer are now obeyed by + scripts. For example, let's assume you've ticked the option to + be asked to save changes on creating a new pattern. If the + current layer has changes and you run a script that calls + new() then you'll get the standard dialog asking if you want + to save those changes. If you cancel the dialog then the script + is aborted. + * To avoid potential data loss, you now get a warning if you save + a non-starting generation and earlier changes exist. The + warning can be disabled in Preferences > Layer. + * Created an online archive for very large patterns. + +------------------------------------------------------------------- +Thu Jun 9 13:07:19 UTC 2011 - prusnak@opensuse.org + +- use shared zlib (zlib.patch) + +------------------------------------------------------------------- +Thu Jun 2 15:55:58 UTC 2011 - prusnak@opensuse.org + +- updated to 2.2 + +------------------------------------------------------------------- +Tue Feb 23 21:43:32 UTC 2010 - prusnak@suse.cz + +- created package + diff --git a/golly.desktop b/golly.desktop new file mode 100644 index 0000000..4f5e12c --- /dev/null +++ b/golly.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Golly +GenericName=Golly cellular automata simulator +# Run with the X11 backend until wxWidgets is built with EGL support +Exec=env GDK_BACKEND=x11 golly +Icon=golly +Terminal=false +Type=Application +Categories=GTK;GNOME;Game;LogicGame; \ No newline at end of file diff --git a/golly.spec b/golly.spec new file mode 100644 index 0000000..9e7ab42 --- /dev/null +++ b/golly.spec @@ -0,0 +1,123 @@ +# +# spec file for package golly +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: golly +Version: 4.3 +Release: 0 +Summary: Tool for exploring Game of Life and other automata +License: GPL-2.0-or-later +Group: Amusements/Toys/Graphics +URL: https://golly.sourceforge.io +Source0: https://downloads.sourceforge.net/%{name}/%{name}-%{version}-src.tar.gz +Source1: %{name}.desktop +BuildRequires: SDL2-devel +BuildRequires: c++_compiler +BuildRequires: chrpath +BuildRequires: desktop-file-utils +BuildRequires: fdupes +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: wxGTK3-devel >= 3.1.5 +BuildRequires: zlib-devel +Requires: %{name}-assets = %{version} +Requires: python3 >= 3.3 + +%description +Key features: +- Supports both bounded and unbounded universes. +- Supports various topologies (plane, torus, Klein bottle, etc.). +- Supports multi-state universes (cells can have up to 256 states). +- Includes the QuickLife algorithm. +- Uses the HashLife algorithm to see large patterns evolve at huge time scales. +- Supports many different rules, including Wolfram's 1D rules, WireWorld, Generations, and John von Neumann's 29-state CA. +- Uses the RuleLoader algorithm to load custom rules. +- Reads RLE, macrocell, Life 1.05/1.06, dblife, and MCell files. +- Can also read common graphic formats: BMP, PNG, GIF, TIFF. +- Can extract patterns, scripts and rules from zip files. +- Downloads files from online archives. +- Includes a pattern collection. +- Paste in patterns from the clipboard. +- Unlimited undo/redo. +- Unbounded zooming out for astronomical patterns. +- Auto fit option keeps a generating pattern within view. +- Full screen option (no menu/status/tool/scroll bars). +- Supports multiple layers, including cloned layers. +- HTML-based help with an integrated Life Lexicon. +- Scriptable via Lua or Python. +- User-configurable keyboard shortcuts. + +%package assets +Summary: Assets for %{name} +Group: Amusements/Toys/Graphics +BuildArch: noarch + +%description assets +This package contains assets for %{name}: Help, rules, patterns and scripts. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} + +%description devel +This package contains header files and libraries needed to develop applications +that use %{name}. + +%prep +%setup -q -n %{name}-%{version}-src +rm -v {Help/Lexicon/modify.pl,docs/Build.html} + +%build +%set_build_flags +export GOLLYDIR=%{_datadir}/%{name} +cd gui-wx +%make_build -f makefile-gtk + +%install +install -D -m 0755 bgolly golly -t %{buildroot}%{_bindir} +install -d %{buildroot}%{_datadir}/%{name} +for i in Help Patterns Rules Scripts; do + find ./$i -type d -exec chmod 755 {} \; + find ./$i -type f -exec chmod 644 {} \; + cp -a $i %{buildroot}%{_datadir}/%{name}/$i +done +install -D -m 0644 gui-wx/icons/appicon.xpm %{buildroot}%{_datadir}/pixmaps/%{name}.xpm +install -D -m 0644 %{SOURCE1} -t %{buildroot}%{_datadir}/applications +%fdupes %{buildroot}%{_datadir} +chrpath --delete %{buildroot}%{_bindir}/*golly + +%check +desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop + +%files +%license docs/License.html +%doc docs/ReadMe.html docs/ToDo.html +%{_bindir}/*%{name} +%{_datadir}/applications/%{name}.desktop +%{_datadir}/pixmaps/%{name}.xpm + +%files assets +%{_datadir}/%{name} +%exclude %{_datadir}/%{name}/Rules/TableGenerators +%exclude %{_datadir}/%{name}/Rules/TreeGenerators + +%files devel +%{_datadir}/%{name}/Rules/TableGenerators +%{_datadir}/%{name}/Rules/TreeGenerators + +%changelog