# # spec file for package golly # # Copyright (c) 2024 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: 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