SHA256
1
0
forked from pool/golly
golly/golly.spec
Antoine Belvire c280231328 Accepting request 1176867 from home:1Antoine1:branches:Education
- 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.

OBS-URL: https://build.opensuse.org/request/show/1176867
OBS-URL: https://build.opensuse.org/package/show/Education/golly?expand=0&rev=9
2024-05-25 15:46:20 +00:00

123 lines
4.1 KiB
RPMSpec

#
# 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