diff --git a/golly-2.6-src.tar.gz b/golly-2.6-src.tar.gz new file mode 100644 index 0000000..a954945 --- /dev/null +++ b/golly-2.6-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1fe2f983144bc895eaa1242f95c5bb49344cc0139b5c3309e6b4fa219c1f33d8 +size 3545388 diff --git a/golly-zlib.patch b/golly-zlib.patch deleted file mode 100644 index 3175831..0000000 --- a/golly-zlib.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: makefile-gtk -=================================================================== ---- makefile-gtk.orig -+++ makefile-gtk -@@ -46,10 +46,7 @@ PYTHON_PREFS = -DPYTHON_SHLIB="$(PYTHON_ - - # default settings for zlib support, so clear these to build without zlib - ZLIB_CXXFLAGS = -DZLIB --### ZLIB_LDFLAGS = -lz --### we statically link zlib because some Linux systems (eg. Ubuntu) have --### a non-standard zlib shared library that contains gzopen64 --ZLIB_LDFLAGS = /usr/lib/libz.a -+ZLIB_LDFLAGS = -lz - - # for wxGTK support (required for GUI) - WX_CXXFLAGS = `wx-config --cxxflags` diff --git a/golly.changes b/golly.changes index 4379085..cf31171 100644 --- a/golly.changes +++ b/golly.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Wed Mar 19 05:55:57 UTC 2014 - avvissu@yandex.ru + +- del zlib.patch +- [Fixed] E: devel-file-in-non-devel-package +- add static (.a) are needed for shared builds +- to fix compilation on Fedora + +------------------------------------------------------------------- +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 diff --git a/golly.desktop b/golly.desktop new file mode 100644 index 0000000..5e7c2d2 --- /dev/null +++ b/golly.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Golly +GenericName=Golly cellular automata simulator +Exec=golly +Icon=golly +Terminal=false +Type=Application +Categories=GTK;GNOME;Game;LogicGame; \ No newline at end of file diff --git a/golly.png b/golly.png new file mode 100644 index 0000000..dd19d39 --- /dev/null +++ b/golly.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:244d7975826a873ddb318dd3f7540d03867d42175f738507fc2c96d1c711a5f6 +size 308 diff --git a/golly.spec b/golly.spec index bc2b1c5..66e88e9 100644 --- a/golly.spec +++ b/golly.spec @@ -2,38 +2,101 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # +%if 0%{?suse_version} == 1110 +%define number 2.2 +%else +%define number 2.6 +%endif Name: golly -Version: 2.2 +Version: %{number} Release: 1 -License: GPLv2+ +License: GPL-2.0+ Summary: Tool for exploring Game of Life and other automata Url: http://golly.sourceforge.net/ Group: Amusements/Toys/Graphics -Source: http://downloads.sourceforge.net/project/%{name}/%{name}/%{name}-%{version}/%{name}-%{version}-src.tar.gz -Patch0: %{name}-zlib.patch -BuildRequires: gcc-c++ +Source: %{name}-%{version}-src.tar.gz +Source1: %{name}.png +Source2: %{name}.desktop +BuildRequires: gcc-c++ cmake BuildRequires: fdupes -BuildRequires: perl +%if 0%{?fedora} +BuildRequires: perl-devel perl-ExtUtils-Embed +%else +BuildRequires: perl update-desktop-files +%endif BuildRequires: python-devel -BuildRequires: wxWidgets-devel +%if 0%{?suse_version} == 1110 || 0%{?fedora} +BuildRequires: wxGTK-devel +%else +BuildRequires: wxWidgets-devel +%endif BuildRequires: zlib-devel +BuildRequires: desktop-file-utils BuildRoot: %{_tmppath}/%{name}-%{version}-build %description -A sophisticated tool for exploring Conway's Game of Life -and many other cellular automata. +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 QuickLife, a fast, memory-efficient algorithm. +- Use 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. +- Use the RuleLoader algorithm to load your own rules. +- Responsive even while generating or garbage collecting. +- 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. +- Download files from online archives. +- Includes a state-of-the-art pattern collection. +- Fast loading of large patterns. +- 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 Perl or Python. +- User-configurable keyboard shortcuts. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries/C and C++ +License: GPL-2.0+ +Requires: %{name} = %{version}-%{release} + +%description devel +This package contains, header files and libraries needed to +develop application that use %{name} %prep %setup -q -n %{name}-%{version}-src -%patch0 %build -export SUSE_ASNEEDED=0 -make -f makefile-gtk CXXFLAGS="%{optflags}" -rm -f Help/Lexicon/modify.pl +export CFLAGS="%{optflags}" +export CXXFLAGS="$CFLAGS" + +%if 0%{?suse_version} == 1110 +make %{?_smp_mflags} ZLIB_LDFLAGS=-lz -f makefile-gtk +%else +cd gui-wx +mkdir build +pushd build +cmake ../ +make %{?_smp_mflags} +popd +%endif %install -install -D -m 0755 golly %{buildroot}%{_bindir}/%{name} +install -d %{buildroot}%{_bindir} +install -m 0755 bgolly golly %{buildroot}%{_bindir} +%if 0%{?suse_version} >= 1140 || 0%{?fedora} +install -D -m 0644 gui-wx/build/libgollybase.a %{buildroot}%{_libdir}/libgollybase.a +%endif + +rm -f {Help/Lexicon/modify.pl,docs/Build.html} + # install data files mkdir -p %{buildroot}%{_datadir}/%{name} for i in Help Patterns Rules Scripts; do @@ -41,15 +104,42 @@ for i in Help Patterns Rules Scripts; do find ./$i -type f -exec chmod 644 {} \; cp -a $i %{buildroot}%{_datadir}/%{name}/$i done + +install -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/pixmaps/%{name}.png +install -D -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/applications/%{name}.desktop + +%if 0%{?suse_version} +%suse_update_desktop_file %{name} +%endif + %fdupes %{buildroot}%{_datadir} +%check +desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop + %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) +%if 0%{?suse_version} == 1110 %doc LICENSE README TODO -%{_bindir}/%{name} -%{_datadir}/%{name}/ +%else +%doc docs/License.* docs/ReadMe.* docs/ToDo.* +%endif +%{_bindir}/*%{name} +%{_datadir}/%{name} +%{_datadir}/applications/%{name}.desktop +%{_datadir}/pixmaps/%{name}.png +%exclude %{_datadir}/%{name}/Rules/TableGenerators +%exclude %{_datadir}/%{name}/Rules/TreeGenerators + +%files devel +%defattr(-,root,root,-) +%if 0%{?suse_version} >= 1140 || 0%{?fedora} +%{_libdir}/libgollybase.a +%endif +%{_datadir}/%{name}/Rules/TableGenerators +%{_datadir}/%{name}/Rules/TreeGenerators %changelog