Architecture specific change in rpms/ocaml-lablgtk.git
by githook-noreply@fedoraproject.org
The package rpms/ocaml-lablgtk.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/ocaml-lablgtk.git/commit/?id=1a79....
Change:
+%ifarch %{ocaml_native_compiler}
Thanks.
Full change:
============
commit 1a79dca85083864765cc314ec7b6d8e79b87e137
Author: Jerry James <loganjerry(a)gmail.com>
Date: Mon Jun 29 15:25:09 2020 -0600
New upstream version 2.18.11. Drop upstreamed -fno-common patch.
diff --git a/ocaml-lablgtk-fno-common.patch b/ocaml-lablgtk-fno-common.patch
deleted file mode 100644
index c343573..0000000
--- a/ocaml-lablgtk-fno-common.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/src/ml_gdk.c
-+++ b/src/ml_gdk.c
-@@ -55,6 +55,8 @@
- #define GDK_WINDOW_TYPE_HINT_DOCK GDK_WINDOW_TYPE_HINT_NORMAL
- #endif
-
-+lookup_info *ml_table_extension_events;
-+
- CAMLprim void ml_raise_gdk (const char *errmsg)
- {
- static const value * exn = NULL;
---- a/src/ml_gdk.h
-+++ b/src/ml_gdk.h
-@@ -102,7 +102,7 @@ CAMLexport value Val_GdkEvent (GdkEvent
- CAMLexport int OptFlags_GdkModifier_val (value);
- CAMLexport int Flags_GdkModifier_val (value);
- CAMLexport int Flags_Event_mask_val (value);
--CAMLexport lookup_info *ml_table_extension_events;
-+CAMLextern lookup_info *ml_table_extension_events;
- #define Extension_events_val(key) ml_lookup_to_c(ml_table_extension_events,key)
-
- #define GdkDragContext_val(val) check_cast(GDK_DRAG_CONTEXT,val)
diff --git a/ocaml-lablgtk.spec b/ocaml-lablgtk.spec
index a94c6c2..a54ef6c 100644
--- a/ocaml-lablgtk.spec
+++ b/ocaml-lablgtk.spec
@@ -1,8 +1,6 @@
-%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
-
Name: ocaml-lablgtk
-Version: 2.18.10
-Release: 7%{?dist}
+Version: 2.18.11
+Release: 1%{?dist}
Summary: Objective Caml interface to gtk+
@@ -10,9 +8,6 @@ License: LGPLv2 with exceptions
URL: http://lablgtk.forge.ocamlcore.org/
Source: https://github.com/garrigue/lablgtk/archive/%{version}/lablgtk-%{version}...
-# Fix the build with -fno-common
-# https://github.com/garrigue/lablgtk/pull/105
-Patch0: %{name}-fno-common.patch
BuildRequires: help2man
BuildRequires: ocaml >= 3.12.1-3
@@ -65,7 +60,7 @@ sed -e "s|-O|$RPM_OPT_FLAGS|" \
-e "s|-shared|& -ccopt \"$RPM_LD_FLAGS\"|" \
-e "s|(CAMLMKLIB)|& -ldopt \"$RPM_LD_FLAGS\"|" \
-i src/Makefile
-%if %{opt}
+%ifarch %{ocaml_native_compiler}
make world CAMLOPT="ocamlopt.opt -g"
make opt CAMLOPT="ocamlopt.opt -g"
%else
@@ -120,7 +115,7 @@ done
%dir %{_libdir}/ocaml/lablgtk2
%{_libdir}/ocaml/lablgtk2/*.cmi
%{_libdir}/ocaml/lablgtk2/*.cma
-%if %{opt}
+%ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/lablgtk2/*.cmxs
%endif
%{_libdir}/ocaml/stublibs/*.so*
@@ -137,7 +132,7 @@ done
%dir %{_libdir}/ocaml/lablgtk2
%{_libdir}/ocaml/lablgtk2/META
%{_libdir}/ocaml/lablgtk2/*.a
-%if %{opt}
+%ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/lablgtk2/*.cmxa
%{_libdir}/ocaml/lablgtk2/*.cmx
%endif
@@ -145,12 +140,12 @@ done
%{_libdir}/ocaml/lablgtk2/*.ml
%{_libdir}/ocaml/lablgtk2/*.h
%{_libdir}/ocaml/lablgtk2/gtkInit.cmo
-%if %{opt}
+%ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/lablgtk2/gtkInit.o
%endif
%{_libdir}/ocaml/lablgtk2/gtkThInit.cmo
%{_libdir}/ocaml/lablgtk2/gtkThread.cmo
-%if %{opt}
+%ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/lablgtk2/gtkThread.o
%endif
%{_libdir}/ocaml/lablgtk2/propcc
@@ -158,6 +153,10 @@ done
%changelog
+* Mon Jun 29 2020 Jerry James <loganjerry(a)gmail.com> - 2.18.11-1
+- New upstream version 2.18.11
+- Drop upstreamed -fno-common patch
+
* Mon May 04 2020 Richard W.M. Jones <rjones(a)redhat.com> - 2.18.10-7
- OCaml 4.11.0+dev2-2020-04-22 rebuild
diff --git a/sources b/sources
index 37bea40..06cce8a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (lablgtk-2.18.10.tar.gz) = 73705aaa80db433d11a28df5f6f5d10bd282e477e90916152a87e71865ccfcd7dfbdbe77350ecadf61ba2ccc7a188de1c68f1e6385e20c75f167969001e8418d
+SHA512 (lablgtk-2.18.11.tar.gz) = adc840df68aa5f9541db44f888f344b313e40c7d8f5cd35f2a45f1bc84e7136dde4b39f873de011db5d5fdfd904c0a097cd9d105458ea9f483cdab3954a2ee05
2 years, 8 months
Architecture specific change in rpms/lgogdownloader.git
by githook-noreply@fedoraproject.org
The package rpms/lgogdownloader.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/lgogdownloader.git/commit/?id=dab....
Change:
+%ifarch %{qt5_qtwebengine_arches}
Thanks.
Full change:
============
commit dabf32f2b10eddc5565d05c0e25c60413a0ed7df
Author: Benjamin Lowry <ben(a)ben.gmbh>
Date: Mon Jun 29 12:17:44 2020 -0500
Initial import (#1848794).
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f134252
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/lgogdownloader-3.7.tar.gz
diff --git a/lgogdownloader.spec b/lgogdownloader.spec
new file mode 100644
index 0000000..9de05a3
--- /dev/null
+++ b/lgogdownloader.spec
@@ -0,0 +1,55 @@
+Name: lgogdownloader
+Version: 3.7
+Release: 2%{?dist}
+Summary: GOG.com download client
+
+License: WTFPL
+URL: https://github.com/Sude-/lgogdownloader
+Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
+
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: help2man
+BuildRequires: binutils
+BuildRequires: pkgconfig(htmlcxx)
+BuildRequires: pkgconfig(jsoncpp)
+BuildRequires: pkgconfig(libcrypto)
+BuildRequires: pkgconfig(libcurl)
+BuildRequires: pkgconfig(tinyxml2)
+BuildRequires: pkgconfig(zlib)
+BuildRequires: boost-devel
+BuildRequires: rhash-devel
+%ifarch %{qt5_qtwebengine_arches}
+BuildRequires: pkgconfig(Qt5WebEngine)
+%endif
+
+%description
+LGOGDownloader is an unofficial GOG.com downloader for Linux users. It uses the
+same API as the official GOG Galaxy.
+
+%prep
+%autosetup
+
+%build
+%ifarch %{qt5_qtwebengine_arches}
+%cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} -DCMAKE_BUILD_TYPE=Release -DUSE_QT_GUI=ON .
+%else
+%cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} -DCMAKE_BUILD_TYPE=Release -DUSE_QT_GUI=OFF .
+%endif
+%make_build
+
+%install
+%make_install
+
+%files
+%license COPYING
+%{_bindir}/lgogdownloader
+%{_mandir}/man1/lgogdownloader.1.*
+
+%changelog
+* Mon Jun 29 2020 Benjamin Lowry <ben(a)ben.gmbh> 3.7-2
+- Change source0 URL
+- Replace /usr with _prefix macro
+- Glob extension of manpage file
+* Thu Jun 18 2020 Benjamin Lowry <ben(a)ben.gmbh> 3.7-1
+- Initial Fedora package
diff --git a/sources b/sources
new file mode 100644
index 0000000..21c1229
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (lgogdownloader-3.7.tar.gz) = 4176d2406024231b97949b786634e30ed1c1633875041594a83402e9ff974f272e73084aaeec906358a745901616b0d802f9221e2a0968dac0bcc1de5ec6fb16
2 years, 8 months
Architecture specific change in rpms/rust-raw-window-handle.git
by githook-noreply@fedoraproject.org
The package rpms/rust-raw-window-handle.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-raw-window-handle.git/commit....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit c59351626b7b48a164b90755a2c75c59e9a5c5d7
Author: returntrip <stefano(a)figura.im>
Date: Mon Jun 29 23:15:05 2020 +0200
Initial import (#1850162).
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..dfc4495
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/raw-window-handle-0.3.3.crate
diff --git a/rust-raw-window-handle.spec b/rust-raw-window-handle.spec
new file mode 100644
index 0000000..e11f2bd
--- /dev/null
+++ b/rust-raw-window-handle.spec
@@ -0,0 +1,87 @@
+# Generated by rust2rpm 13
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate raw-window-handle
+
+Name: rust-%{crate}
+Version: 0.3.3
+Release: 1%{?dist}
+Summary: Interoperability library for Rust Windowing applications
+
+# Upstream license specification: MIT
+License: MIT
+URL: https://crates.io/crates/raw-window-handle
+Source: %{crates_source}
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Interoperability library for Rust Windowing applications.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+%doc README.md CHANGELOG.md
+%license LICENSE
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+nightly-docs-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+nightly-docs-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "nightly-docs" feature of "%{crate}" crate.
+
+%files -n %{name}+nightly-docs-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Tue Jun 23 17:24:38 CEST 2020 returntrip <stefano(a)figura.im> - 0.3.3-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..ad9a15d
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (raw-window-handle-0.3.3.crate) = 1939150cbf471a33654aeb953bf2dfe48e2fa7789d4a7a43fe449585737741cf03c4f13b2d3d3855f110f2cb8b91c15cca17e7f8ce1f6b63fc8d2e32ed3fefb4
2 years, 8 months
Architecture specific change in rpms/rust-shared_library.git
by githook-noreply@fedoraproject.org
The package rpms/rust-shared_library.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-shared_library.git/commit/?i....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit a16fc9e849ccd504eabca8e76de3e6ea57da6ed8
Author: returntrip <stefano(a)figura.im>
Date: Mon Jun 29 23:11:05 2020 +0200
Initial import (1849709).
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ad261e5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/shared_library-0.1.9.crate
diff --git a/rust-shared_library.spec b/rust-shared_library.spec
new file mode 100644
index 0000000..250222b
--- /dev/null
+++ b/rust-shared_library.spec
@@ -0,0 +1,77 @@
+# Generated by rust2rpm 13
+# https://github.com/tomaka/shared_library/issues/17
+%ifnarch aarch64 ppc64 ppc64le
+%bcond_without check
+%endif
+%global debug_package %{nil}
+
+%global crate shared_library
+
+Name: rust-%{crate}
+Version: 0.1.9
+Release: 1%{?dist}
+Summary: Easily bind to and load shared libraries
+
+# Upstream license specification: Apache-2.0/MIT
+License: ASL 2.0 or MIT
+URL: https://crates.io/crates/shared_library
+Source: %{crates_source}
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Easily bind to and load shared libraries.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+%license LICENSE-APACHE LICENSE-MIT
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Fri May 29 10:25:04 CEST 2020 returntrip <stefano(a)figura.im> - 0.1.9-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..7d5b6aa
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (shared_library-0.1.9.crate) = 8696f5d9ae976b04ac3f559ff1c4945c5554fc741bd9e62207a475a331f8c90fa8c2d583ac9cf96dd18fd543b65fc469aa76dad2f526c00c68182130d4396462
2 years, 8 months
Architecture specific change in rpms/rust-freetype-rs.git
by githook-noreply@fedoraproject.org
The package rpms/rust-freetype-rs.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-freetype-rs.git/commit/?id=b....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit b134ca8a8d69396ffc31cd8b4361c3c19b3137cd
Author: returntrip <stefano(a)figura.im>
Date: Mon Jun 29 23:00:38 2020 +0200
Initial import (1849676).
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9e52f6e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/freetype-rs-0.26.0.crate
diff --git a/rust-freetype-rs.spec b/rust-freetype-rs.spec
new file mode 100644
index 0000000..0e6e250
--- /dev/null
+++ b/rust-freetype-rs.spec
@@ -0,0 +1,75 @@
+# Generated by rust2rpm 13
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate freetype-rs
+
+Name: rust-%{crate}
+Version: 0.26.0
+Release: 1%{?dist}
+Summary: Bindings for FreeType font library
+
+# Upstream license specification: MIT
+License: MIT
+URL: https://crates.io/crates/freetype-rs
+Source: %{crates_source}
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Bindings for FreeType font library.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+%doc README.md
+%license LICENSE
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Mon Jun 22 15:29:26 CEST 2020 returntrip <stefano(a)figura.im> - 0.26.0-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..8c76c12
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (freetype-rs-0.26.0.crate) = 7369b75331450a6e778f8fe0e8ed8cdd388348824efbcad2377fee5c9c920353073a7e6c2d654d9734112d02f03c0edf7aae0c46bc30e18d94c5a4faa05db3a5
2 years, 8 months
Architecture specific change in rpms/rust-gl_generator.git
by githook-noreply@fedoraproject.org
The package rpms/rust-gl_generator.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-gl_generator.git/commit/?id=....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit d33ca522d1c5b9966b2ab71ea98bf81f1768256d
Author: returntrip <stefano(a)figura.im>
Date: Mon Jun 29 22:32:01 2020 +0200
Initial import (1846000).
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8014a97
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/gl_generator-0.14.0.crate
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/rust-gl_generator.spec b/rust-gl_generator.spec
new file mode 100644
index 0000000..78ecb6b
--- /dev/null
+++ b/rust-gl_generator.spec
@@ -0,0 +1,91 @@
+# Generated by rust2rpm 13
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate gl_generator
+
+Name: rust-%{crate}
+Version: 0.14.0
+Release: 1%{?dist}
+Summary: Code generators for creating bindings to the Khronos OpenGL APIs
+
+# Upstream license specification: Apache-2.0
+License: ASL 2.0
+URL: https://crates.io/crates/gl_generator
+Source: %{crates_source}
+Source1: https://raw.githubusercontent.com/brendanzab/gl-rs/master/LICENSE
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Code generators for creating bindings to the Khronos OpenGL APIs.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+# Licenses exist outside the crate in the repo's root
+# https://github.com/brendanzab/gl-rs/pull/520
+%license LICENSE
+%doc README.md
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%package -n %{name}+unstable_generator_utils-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+unstable_generator_utils-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "unstable_generator_utils" feature of "%{crate}" crate.
+
+%files -n %{name}+unstable_generator_utils-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+cp -p %{SOURCE1} .
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Fri May 22 20:43:12 CEST 2020 returntrip <stefano(a)figura.im> - 0.14.0-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..97e0159
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (gl_generator-0.14.0.crate) = 98779d525a042b47ac373340c6fd2e019a670a5bce643128ae2cde2021c0bc8b2253064819c2b0ff444e62bfb3679dc70f11f268c660050cc891063ed6b45fd0
2 years, 8 months
Architecture specific change in rpms/rust-freetype-sys.git
by githook-noreply@fedoraproject.org
The package rpms/rust-freetype-sys.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-freetype-sys.git/commit/?id=....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit d2830d43cc9d8fe548dcdd20636f509f590bd624
Author: returntrip <stefano(a)figura.im>
Date: Mon Jun 29 22:29:20 2020 +0200
Initial import (#1841940).
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a6ad45f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/freetype-sys-0.13.0.crate
diff --git a/rust-freetype-sys.spec b/rust-freetype-sys.spec
new file mode 100644
index 0000000..79fca87
--- /dev/null
+++ b/rust-freetype-sys.spec
@@ -0,0 +1,79 @@
+# Generated by rust2rpm 13
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate freetype-sys
+
+Name: rust-%{crate}
+Version: 0.13.0
+Release: 1%{?dist}
+Summary: Low level binding for FreeType font library
+
+# Upstream license specification: MIT
+License: MIT
+URL: https://crates.io/crates/freetype-sys
+Source: %{crates_source}
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Low level binding for FreeType font library.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+Requires: pkgconfig(freetype2) >= 18.5.12
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+%doc README.md
+%license LICENSE
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+# remove the bundled copy to make sure we're linking against the system lib
+rm -vr freetype2
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+echo 'pkgconfig(freetype2) >= 18.5.12'
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Sun Jun 21 21:15:09 CEST 2020 returntrip <stefano(a)figura.im> - 0.13.0-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..f0f47eb
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (freetype-sys-0.13.0.crate) = 33b7adaad0c7be0acfa0ac90395d183453a88800852350189ab8a84b5f13458ada85753ff3be2a9894dedf1e3f0330aa7ce14e63b76303c7c402bd4cdb4e983e
2 years, 8 months
Architecture specific change in rpms/rust-khronos_api.git
by githook-noreply@fedoraproject.org
The package rpms/rust-khronos_api.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-khronos_api.git/commit/?id=4....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 451a14c27ca4c593e99fff6c930c0ee24c10e738
Author: returntrip <stefano(a)figura.im>
Date: Mon Jun 29 22:17:42 2020 +0200
Initial import (#1841336).
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..20db968
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/khronos_api-3.1.0.crate
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/rust-khronos_api.spec b/rust-khronos_api.spec
new file mode 100644
index 0000000..c1af738
--- /dev/null
+++ b/rust-khronos_api.spec
@@ -0,0 +1,83 @@
+# Generated by rust2rpm 13
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate khronos_api
+
+Name: rust-%{crate}
+Version: 3.1.0
+Release: 1%{?dist}
+Summary: Khronos XML API Registry, exposed as byte string constants
+
+# Upstream license specification: Apache-2.0
+# The following two files have Khronos License
+# khronos_api-3.1.0/api_angle/scripts/egl.xml
+# khronos_api-3.1.0/api_egl/api/egl.xml
+# The license seems to be MIT
+License: ASL 2.0 and MIT
+URL: https://crates.io/crates/khronos_api
+Source: %{crates_source}
+Source1: https://raw.githubusercontent.com/brendanzab/gl-rs/master/LICENSE
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Khronos XML API Registry, exposed as byte string constants.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+# Licenses exist outside the crate in the repo's root
+# https://github.com/brendanzab/gl-rs/pull/520
+%license LICENSE
+%doc README.md
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+cp -p %{SOURCE1} .
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Sat May 23 16:30:15 CEST 2020 returntrip <stefano(a)figura.im> - 3.1.0-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..77397fb
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (khronos_api-3.1.0.crate) = f9ed9e1bac648a82bc608bc7df339d3ef1db868c8ce8bda9598926839b3de9e3c11c2b45886b9a7dfe5ad6900770fd59c690bfe9a87f7c5b479945ffb8dfd292
2 years, 8 months
Architecture specific change in rpms/monsterz.git
by githook-noreply@fedoraproject.org
The package rpms/monsterz.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/monsterz.git/commit/?id=8f3b6bb3d...
https://src.fedoraproject.org/cgit/rpms/monsterz.git/commit/?id=269239964...
https://src.fedoraproject.org/cgit/rpms/monsterz.git/commit/?id=93e3bab87...
https://src.fedoraproject.org/cgit/rpms/monsterz.git/commit/?id=71e6a3001....
Change:
-%ifarch x86_64 ppc64
+%ifarch x86_64 ppc64
-%ifarch x86_64 ppc64
+%ifarch x86_64 ppc64
Thanks.
Full change:
============
commit 8f3b6bb3d12c8efbe31ae63f047fd33ae90c8993
Author: Gwyn Ciesla <gwync(a)protonmail.com>
Date: Mon Jun 29 15:00:59 2020 -0500
Reimport.
diff --git a/monsterz-0.7.1-64bitfix.patch b/monsterz-0.7.1-64bitfix.patch
index cf57277..92880a2 100644
--- a/monsterz-0.7.1-64bitfix.patch
+++ b/monsterz-0.7.1-64bitfix.patch
@@ -5,7 +5,7 @@
m = int(min(r, g, b))
val = (2 * M + r + g + b) / 5
- p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
-+ #p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
++ if sys.maxsize > 2**32 : p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
if alpha[y][x] >= 250:
alpha[y][x] = 255 - (M - m) * 3 / 4
del pixels
@@ -14,7 +14,17 @@
M = int(max(r, g, b))
m = int(min(r, g, b))
- p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
-+ #p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
++ if sys.maxsize > 2**32 : p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
if alpha[y][x] >= 250:
alpha[y][x] = 255 - M * 2 / 3
del pixels
+--- a/monsterz.py~ 2020-06-26 09:09:34.000000000 -0500
++++ b/monsterz.py 2020-06-26 09:10:19.792440888 -0500
+@@ -18,6 +18,7 @@
+ from sys import argv, exit, platform
+ from os.path import join, isdir, isfile, dirname, expanduser
+ from os import write, mkdir
++import sys
+
+ # String constants
+ VERSION = '0.7.1'
diff --git a/monsterz-0.7.1-py3.patch b/monsterz-0.7.1-py3.patch
new file mode 100644
index 0000000..ad20af1
--- /dev/null
+++ b/monsterz-0.7.1-py3.patch
@@ -0,0 +1,958 @@
+--- monsterz-0.7.1/monsterz.py-orig 2020-05-25 15:17:11.983644319 -0400
++++ monsterz-0.7.1/monsterz.py 2020-05-26 00:25:43.582901909 -0400
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+
+ """
+@@ -107,10 +107,10 @@
+ r, g, b = p
+ M = int(max(r, g, b))
+ m = int(min(r, g, b))
+- val = (2 * M + r + g + b) / 5
++ val = (2 * M + r + g + b) // 5
+ if sys.maxsize > 2**32 : p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
+ if alpha[y][x] >= 250:
+- alpha[y][x] = 255 - (M - m) * 3 / 4
++ alpha[y][x] = 255 - (M - m) * 3 // 4
+ del pixels
+ del alpha
+ surf.unlock()
+@@ -131,7 +131,7 @@
+ m = int(min(r, g, b))
+ if sys.maxsize > 2**32 : p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
+ if alpha[y][x] >= 250:
+- alpha[y][x] = 255 - M * 2 / 3
++ alpha[y][x] = 255 - M * 2 // 3
+ del pixels
+ del alpha
+ surf.unlock()
+@@ -218,12 +218,12 @@
+ file.close()
+
+ def get(self, key):
+- if not self.config.has_key(key):
++ if key not in self.config:
+ return None
+ return self.config[key]
+
+ def set(self, key, value):
+- if not self.config.has_key(key):
++ if key not in self.config:
+ return
+ self.config[key] = value
+
+@@ -241,15 +241,15 @@
+ pass
+ # Add dummy scores to make sure our score list is full
+ for game in ['CLASSIC']:
+- if not self.scores.has_key(game):
++ if game not in self.scores:
+ self.scores[game] = []
+ for x in range(20): self._add_score(game, 'NOBODY', 0, 1)
+
+ def _add_score(self, game, name, score, level):
+- if not self.scores.has_key(game):
++ if game not in self.scores:
+ self.scores[game] = []
+ self.scores[game].append((name, score, level))
+- self.scores[game].sort(compare_scores)
++ self.scores[game].sort(key = lambda s: (s[1], s[2]), reverse=True)
+ self.scores[game] = self.scores[game][0:19]
+
+ def new_score(self, game, score, level):
+@@ -264,7 +264,7 @@
+ msg += type + ':' + name + ':' + str(score) + ':' + str(level)
+ msg += '\n'
+ if self.outfd is not None:
+- write(self.outfd, msg + '\n')
++ write(self.outfd, (msg + '\n').encode())
+ else:
+ try:
+ file = open(self.scorefile, 'w')
+@@ -286,7 +286,7 @@
+ self.background = pygame.image.load(join(dir, 'graphics', 'background.png')).convert()
+ self.board = pygame.image.load(join(dir, 'graphics', 'board.png')).convert()
+ self.logo = pygame.image.load(join(dir, 'graphics', 'logo.png')).convert_alpha()
+- self.orig_size = w / 5
++ self.orig_size = w // 5
+ self.normal = [None] * ITEMS
+ self.blink = [None] * ITEMS
+ self.tiny = [None] * ITEMS
+@@ -316,8 +316,8 @@
+ # Create sprites
+ for i in range(ITEMS):
+ self.normal[i] = scale(tile_at(0, i + 5), (t, t))
+- self.tiny[i] = scale(tile_at(0, i + 5), (t * 3 / 4, t * 3 / 4))
+- self.shaded[i] = scale(tile_at(3, i + 5), (t * 3 / 4, t * 3 / 4))
++ self.tiny[i] = scale(tile_at(0, i + 5), (t * 3 // 4, t * 3 // 4))
++ self.shaded[i] = scale(tile_at(3, i + 5), (t * 3 // 4, t * 3 // 4))
+ semi_grayscale(self.shaded[i])
+ self.blink[i] = scale(tile_at(1, i + 5), (t, t))
+ self.surprise[i] = scale(tile_at(2, i + 5), (t, t))
+@@ -326,15 +326,15 @@
+ #tmp = tile_at(1, 0).copy() # marche pas !
+ tmp = scale(tile_at(1, 0), (t, t)) # marche...
+ mini = tile_at(0, i + 5)
+- mini = scale(mini, (t * 7 / 8 - 1, t * 7 / 8 - 1))
+- tmp.blit(mini, (s / 16, s / 16))
++ mini = scale(mini, (t * 7 // 8 - 1, t * 7 // 8 - 1))
++ tmp.blit(mini, (s // 16, s // 16))
+ self.special[i] = scale(tmp, (t, t))
+- self.led_off = scale(self.tiles.subsurface((3 * s, 0, s / 2, s / 2)), (t / 2, t / 2))
+- self.led_on = scale(self.tiles.subsurface((3 * s + s / 2, 0, s / 2, s / 2)), (t / 2, t / 2))
+- self.led_more = scale(self.tiles.subsurface((3 * s, s / 2, s / 2, s / 2)), (t / 2, t / 2))
+- self.led_less = scale(self.tiles.subsurface((3 * s + s / 2, s / 2, s / 2, s / 2)), (t / 2, t / 2))
+- self.eye = scale(tile_at(2, 0), (t * 3 / 4, t * 3 / 4))
+- self.shadeye = scale(tile_at(2, 0), (t * 3 / 4, t * 3 / 4))
++ self.led_off = scale(self.tiles.subsurface((3 * s, 0, s // 2, s // 2)), (t // 2, t // 2))
++ self.led_on = scale(self.tiles.subsurface((3 * s + s // 2, 0, s // 2, s // 2)), (t // 2, t // 2))
++ self.led_more = scale(self.tiles.subsurface((3 * s, s // 2, s // 2, s // 2)), (t // 2, t // 2))
++ self.led_less = scale(self.tiles.subsurface((3 * s + s // 2, s // 2, s // 2, s // 2)), (t // 2, t // 2))
++ self.eye = scale(tile_at(2, 0), (t * 3 // 4, t * 3 // 4))
++ self.shadeye = scale(tile_at(2, 0), (t * 3 // 4, t * 3 // 4))
+ semi_transp(self.shadeye)
+ self.arrow = tile_at(4, 0)
+ self.selector = scale(tile_at(0, 0), (t, t))
+@@ -367,7 +367,7 @@
+
+ def screen2board(self, coord):
+ x, y = coord
+- return ((x - 24) / ITEM_SIZE, (y - 24) / ITEM_SIZE)
++ return ((x - 24) // ITEM_SIZE, (y - 24) // ITEM_SIZE)
+
+ class Sprite:
+ def __init__(self, surf, coord):
+@@ -398,7 +398,8 @@
+ def blit(self, surf, coords):
+ self.background.blit(surf, coords)
+
+- def blit_board(self, (x1, y1, x2, y2)):
++ def blit_board(self, r):
++ (x1, y1, x2, y2) = r
+ x1, y1 = x1 * ITEM_SIZE, y1 * ITEM_SIZE
+ x2, y2 = x2 * ITEM_SIZE - x1, y2 * ITEM_SIZE - y1
+ surf = data.board.subsurface((x1, y1, x2, y2))
+@@ -454,16 +455,16 @@
+ self.cache.append((m, s, c, t))
+ return t
+ font = pygame.font.Font(None, size * 2)
+- delta = 2 + size / 8
++ delta = 2 + size // 8
+ black = font.render(msg, 2, (0, 0, 0))
+ w, h = black.get_size()
+ text = pygame.Surface((w + delta, h + delta)).convert_alpha()
+ text.fill((0, 0, 0, 0))
+ for x, y in [(5, 5), (6, 3), (5, 1), (3, 0),
+ (1, 1), (0, 3), (1, 5), (3, 6)]:
+- text.blit(black, (x * delta / 6, y * delta / 6))
++ text.blit(black, (x * delta // 6, y * delta // 6))
+ white = font.render(msg, 2, color)
+- text.blit(white, (delta / 2, delta / 2))
++ text.blit(white, (delta // 2, delta // 2))
+ text = pygame.transform.rotozoom(text, 0.0, 0.5)
+ self.cache.append((msg, size, color, text))
+ if len(self.cache) > self.size:
+@@ -492,7 +493,7 @@
+ self.win_timer = 0
+ self.warning_timer = 0
+ self.switch_timer = 0
+- self.level_timer = SCROLL_DELAY / 2
++ self.level_timer = SCROLL_DELAY // 2
+ self.board_timer = 0
+ self.missed = False
+ self.check_moves = False
+@@ -527,11 +528,11 @@
+ #self.board[randint(3, 4)][0] = ITEM_METAL
+
+ def fill_board(self):
+- for y in xrange(BOARD_HEIGHT - 1, -1, -1):
+- for x in xrange(BOARD_WIDTH - 1, -1, -1):
++ for y in range(BOARD_HEIGHT - 1, -1, -1):
++ for x in range(BOARD_WIDTH - 1, -1, -1):
+ if self.board[x][y] != ITEM_NONE:
+ continue
+- for y2 in xrange(y - 1, -1, -1):
++ for y2 in range(y - 1, -1, -1):
+ if self.board[x][y2] != ITEM_NONE:
+ self.board[x][y] = self.board[x][y2]
+ self.extra_offset[x][y] = (0, ITEM_SIZE * (y2 - y))
+@@ -683,7 +684,7 @@
+ system.blit(data.board, (24, 24))
+ # Have a random piece blink
+ c = randint(0, BOARD_WIDTH - 1), randint(0, BOARD_HEIGHT - 1)
+- if randint(0, 5) is 0 and not self.blink_list.has_key(c):
++ if randint(0, 5) == 0 and c not in self.blink_list:
+ self.blink_list[c] = 5
+ # Handle special scrolling cases
+ if self.level_timer:
+@@ -692,21 +693,21 @@
+ timer = self.board_timer
+ else:
+ timer = 0
+- if timer > SCROLL_DELAY / 2:
++ if timer > SCROLL_DELAY // 2:
+ global_xoff = 0
+ yoff = (SCROLL_DELAY - timer) * (SCROLL_DELAY - timer)
+- global_yoff = yoff * 50 * 50 / SCROLL_DELAY / SCROLL_DELAY
++ global_yoff = yoff * 50 * 50 // SCROLL_DELAY // SCROLL_DELAY
+ elif timer > 0:
+ global_xoff = 0
+ yoff = - timer * timer
+- global_yoff = yoff * 50 * 50 / SCROLL_DELAY / SCROLL_DELAY
++ global_yoff = yoff * 50 * 50 // SCROLL_DELAY // SCROLL_DELAY
+ else:
+ global_xoff = 0
+ global_yoff = 0
+ if self.switch_timer:
+ x1, y1 = data.board2screen(self.select)
+ x2, y2 = data.board2screen(self.switch)
+- t = self.switch_timer * 1.0 / SWITCH_DELAY
++ t = self.switch_timer * 1.0 // SWITCH_DELAY
+ for i, j in [(x, y) for x in range(BOARD_WIDTH) for y in range(BOARD_HEIGHT)]:
+ # Don’t print pieces for last frame
+ if self.lost_timer == 1:
+@@ -725,15 +726,15 @@
+ xoff, yoff = self.extra_offset[i][j]
+ if self.lost_timer:
+ d = LOST_DELAY - self.lost_timer
+- xoff += (i * 2 - 7) * 4 * d / LOST_DELAY
+- yoff += (j * 2 - 7) * 4 * d / LOST_DELAY
+- xoff += (j * 2 - 7) * 4 * d / LOST_DELAY
+- yoff += (-i * 2 + 7) * 4 * d / LOST_DELAY
++ xoff += (i * 2 - 7) * 4 * d // LOST_DELAY
++ yoff += (j * 2 - 7) * 4 * d // LOST_DELAY
++ xoff += (j * 2 - 7) * 4 * d // LOST_DELAY
++ yoff += (-i * 2 + 7) * 4 * d // LOST_DELAY
+ xoff += (randint(0, d) - randint(0, d))
+ yoff += (randint(0, d) - randint(0, d))
+ self.extra_offset[i][j] = xoff, yoff
+ elif yoff and self.win_timer:
+- yoff = yoff * (self.win_timer - 1) / (WIN_DELAY * 2 / 3)
++ yoff = yoff * (self.win_timer - 1) // (WIN_DELAY * 2 // 3)
+ self.extra_offset[i][j] = xoff, yoff
+ xoff += global_xoff
+ yoff += global_yoff
+@@ -744,34 +745,35 @@
+ shape = data.metal
+ elif n >= ITEM_PUZZLE:
+ shape = data.puzzle[puzzlevels[self.level - 1][2]][n - ITEM_PUZZLE]
+- elif self.level_timer and self.level_timer < SCROLL_DELAY / 2:
++ elif self.level_timer and self.level_timer < SCROLL_DELAY // 2:
+ shape = data.blink[n]
+ elif (i, j) in self.surprised_list \
+- or self.board_timer > SCROLL_DELAY / 2 \
+- or self.level_timer > SCROLL_DELAY / 2:
++ or self.board_timer > SCROLL_DELAY // 2 \
++ or self.level_timer > SCROLL_DELAY // 2:
+ shape = data.surprise[n]
+ elif (i, j) in self.disappear_list:
+ shape = data.exploded[n]
+ elif n == self.angry_items:
+ shape = data.angry[n]
+- elif self.blink_list.has_key((i, j)):
++ elif (i, j) in self.blink_list:
+ shape = data.blink[n]
+ self.blink_list[i, j] -= 1
+- if self.blink_list[i, j] is 0: del self.blink_list[i, j]
++ if self.blink_list[i, j] == 0: del self.blink_list[i, j]
+ else:
+ shape = data.normal[n]
+ # Remember the selector coordinates
+ if (i, j) == self.select and not self.missed \
+ or (i, j) == self.switch and self.missed:
+- select_coord = (x, y)
++ select_coord = (int(x), int(y))
+ shape = data.blink[n] # Not sure if it looks nice
+ # Print the shit
+- self.piece_draw(shape, (x + xoff, y + yoff))
++ self.piece_draw(shape, (int(x + xoff), int(y + yoff)))
+ # Draw selector if necessary
+ if self.select:
+ system.blit(data.selector, select_coord)
+
+- def piece_draw(self, sprite, (x, y)):
++ def piece_draw(self, sprite, p):
++ (x, y) = p
+ width = ITEM_SIZE
+ crop = sprite.subsurface
+ # Constrain X
+@@ -806,19 +808,19 @@
+ # Draw timebar
+ timebar = pygame.Surface((406, 32)).convert_alpha()
+ timebar.fill((0, 0, 0, 155))
+- w = 406 * self.time / 2000000
++ w = 406 * self.time // 2000000
+ if w > 0:
+ if self.warning_timer:
+ ratio = 1.0 * abs(2 * self.warning_timer - WARNING_DELAY) \
+- / WARNING_DELAY
++ // WARNING_DELAY
+ c = (200 * ratio, 0, 0, 155)
+ elif self.time <= 350000:
+ c = (200, 0, 0, 155)
+ elif self.time <= 700000:
+- ratio = 1.0 * (self.time - 350000) / 350000
++ ratio = 1.0 * (self.time - 350000) // 350000
+ c = (200, 180 * ratio, 0, 155)
+ elif self.time <= 1000000:
+- ratio = 1.0 * (1000000 - self.time) / 300000
++ ratio = 1.0 * (1000000 - self.time) // 300000
+ c = (200 * ratio, 200 - 20 * ratio, 0, 155)
+ else:
+ c = (0, 200, 0, 155)
+@@ -830,14 +832,14 @@
+ else:
+ for x in range(4):
+ for y in range(len(alpha[x])):
+- alpha[x][y] = alpha[x][y] * x / 4
++ alpha[x][y] = alpha[x][y] * x // 4
+ for y in range(len(alpha[406 - x - 1])):
+- alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x / 4
++ alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x // 4
+ for col in alpha:
+ l = len(col)
+ for y in range(4):
+- col[y] = col[y] * y / 4
+- col[l - y - 1] = col[l - y - 1] * y / 4
++ col[y] = col[y] * y // 4
++ col[l - y - 1] = col[l - y - 1] * y // 4
+ del col
+ del alpha
+ timebar.unlock()
+@@ -846,7 +848,7 @@
+ # Print play again message
+ text = fonter.render('GAME OVER', 80)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 192 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 192 - h // 2))
+ if self.score < 5000:
+ msg = 'YUO = TEH L0SER'
+ elif self.score < 15000:
+@@ -857,13 +859,13 @@
+ msg = 'ZOMFG!!!111!!! YUO PWND!!!%$#@%@#'
+ text = fonter.render(msg, 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 240 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 240 - h // 2))
+ elif self.paused:
+ # Draw pause message
+ system.blit(self.pause_bitmap, (72, 24))
+ text = fonter.render('PAUSED', 120)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 336 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 336 - h // 2))
+ elif self.splash:
+ if self.type == GAME_TRAINING:
+ msg = 'TRAINING'
+@@ -871,7 +873,7 @@
+ msg = 'LEVEL ' + str(self.level)
+ text = fonter.render(msg, 60)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 144 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 144 - h // 2))
+ if self.needed[0]:
+ msg = 'MONSTERS NEEDED: ' + str(self.needed[0])
+ elif self.type == GAME_PUZZLE:
+@@ -880,28 +882,28 @@
+ msg = 'UNLIMITED LEVEL'
+ text = fonter.render(msg, 40)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 240 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 240 - h // 2))
+ if self.lucky != -1:
+ text = fonter.render('LUCKY MONSTER:', 40)
+ w, h = text.get_rect().size
+- system.blit(text, (192 - w / 2 - 8, 24 + 288 - h / 2))
+- system.blit(data.normal[self.lucky], (192 + w / 2, 288))
++ system.blit(text, (192 - w // 2 - 8, 24 + 288 - h // 2))
++ system.blit(data.normal[self.lucky], (192 + w // 2, 288))
+ elif self.lost_timer != -1:
+ # Draw pieces
+ self.board_draw()
+ # Print new level stuff
+- if self.level_timer > SCROLL_DELAY / 2:
++ if self.level_timer > SCROLL_DELAY // 2:
+ if self.type == GAME_PUZZLE:
+ text = fonter.render('COMPLETED!', 80)
+ else:
+ text = fonter.render('LEVEL UP!', 80)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 192 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 192 - h // 2))
+ # When no more moves are possible
+- if self.board_timer > SCROLL_DELAY / 2:
++ if self.board_timer > SCROLL_DELAY // 2:
+ text = fonter.render('NO MORE MOVES!', 60)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 192 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 192 - h // 2))
+ # Print bonus
+ for b in self.bonus_list:
+ if b[2]:
+@@ -910,7 +912,7 @@
+ text = fonter.render(str(b[1]), 36)
+ w, h = text.get_rect().size
+ x, y = data.board2screen(b[0])
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ # Print hint arrow
+ if self.show_move:
+ lookup = [0, 1, 5, 16, 27, 31, 32, 31, 27, 16, 5, 1]
+@@ -918,8 +920,8 @@
+ x1, y1 = data.board2screen(src)
+ x2, y2 = data.board2screen(dst)
+ delta = lookup[monsterz.timer % 12]
+- x = -32 + (x1 * delta + x2 * (32 - delta)) / 32
+- y = 32 + (y1 * delta + y2 * (32 - delta)) / 32
++ x = -32 + (x1 * delta + x2 * (32 - delta)) // 32
++ y = 32 + (y1 * delta + y2 * (32 - delta)) // 32
+ system.blit(data.arrow, (x, y))
+ break # Only show one move
+ # Print score
+@@ -928,7 +930,7 @@
+ system.blit(text, (624 - w, 10))
+ # Print done/needed
+ for i in range(self.population):
+- x = 440 + i / 4 * 90
++ x = 440 + i // 4 * 90
+ y = 64 + (i % 4) * 38
+ if self.done[i] >= self.needed[i]:
+ surf = data.tiny[i]
+@@ -954,15 +956,15 @@
+ led, color = data.led_on, (255, 255, 255)
+ else:
+ led, color = data.led_off, (180, 150, 127)
+- c = map(lambda a, b: b - (b - a) * self.psat[0] / 255, r, color)
++ c = list(map(lambda a, b: b - (b - a) * self.psat[0] // 255, r, color))
+ system.blit(led, (440, 298))
+ system.blit(fonter.render('PAUSE', 30, c), (470, 296))
+ color = (180, 150, 127)
+- c = map(lambda a, b: b - (b - a) * self.psat[1] / 255, r, color)
++ c = list(map(lambda a, b: b - (b - a) * self.psat[1] // 255, r, color))
+ system.blit(fonter.render('ABORT', 30, c), (470, 326))
+ for x in range(2):
+ if self.psat[x]:
+- self.psat[x] = self.psat[x] * 8 / 10
++ self.psat[x] = self.psat[x] * 8 // 10
+
+ def pause(self):
+ # TODO: prevent cheating by not allowing less than 1 second
+@@ -980,7 +982,7 @@
+
+ def update(self):
+ ticks = pygame.time.get_ticks()
+- delta = (ticks - self.oldticks) * 450 / (12 - self.speed)
++ delta = (ticks - self.oldticks) * 450 // (12 - self.speed)
+ self.oldticks = ticks
+ # If paused, do nothing
+ if self.paused:
+@@ -990,16 +992,16 @@
+ # Resolve winning moves and chain reactions
+ if self.board_timer:
+ self.board_timer -= 1
+- if self.board_timer is SCROLL_DELAY / 2:
++ if self.board_timer is SCROLL_DELAY // 2:
+ self.new_board()
+- elif self.board_timer is 0:
++ elif self.board_timer == 0:
+ system.play('boing')
+ self.check_moves = True # Need to check again
+ return
+ if self.lost_timer: # FIXME: this is quite a mess...
+ if self.lost:
+ return # Continue forever
+- if self.lost_timer is -1:
++ if self.lost_timer == -1:
+ if self.type == GAME_TRAINING:
+ settings.new_score('TRAINING', self.score, self.level)
+ elif self.type == GAME_CLASSIC:
+@@ -1009,12 +1011,12 @@
+ self.lost = True
+ return
+ self.lost_timer -= 1
+- if self.lost_timer is 0:
++ if self.lost_timer == 0:
+ self.lost_timer = -1
+ return
+ if self.switch_timer:
+ self.switch_timer -= 1
+- if self.switch_timer is 0:
++ if self.switch_timer == 0:
+ x1, y1 = self.select
+ x2, y2 = self.switch
+ self.board[x1][y1], self.board[x2][y2] = self.board[x2][y2], self.board[x1][y1]
+@@ -1035,7 +1037,7 @@
+ return
+ if self.level_timer:
+ self.level_timer -= 1
+- if self.level_timer is SCROLL_DELAY / 2:
++ if self.level_timer is SCROLL_DELAY // 2:
+ self.level += 1
+ if self.type == GAME_PUZZLE:
+ if self.level > len(puzzlevels):
+@@ -1043,7 +1045,7 @@
+ return
+ self.new_level()
+ self.splash = True
+- elif self.level_timer is 0:
++ elif self.level_timer == 0:
+ system.play('boing')
+ self.blink_list = {}
+ self.check_moves = True
+@@ -1055,7 +1057,7 @@
+ for w in self.wins:
+ for x, y in w:
+ self.surprised_list.append((x, y))
+- elif self.win_timer is WIN_DELAY * 4 / 5:
++ elif self.win_timer is WIN_DELAY * 4 // 5:
+ system.play('pop')
+ self.scorebonus = 0
+ self.timebonus = 0
+@@ -1072,14 +1074,14 @@
+ points *= 2 ** (self.win_iter + len(w) - 3)
+ self.scorebonus += points
+ self.timebonus += 45000 * len(w)
+- x2, y2 = 0.0, 0.0
++ x2, y2 = 0, 0
+ for x, y in w:
+ x2 += x
+ y2 += y
+- self.bonus_list.append([(x2 / len(w), y2 / len(w)), points, lucky])
++ self.bonus_list.append([(x2 // len(w), y2 // len(w)), points, lucky])
+ self.disappear_list = self.surprised_list
+ self.surprised_list = []
+- elif self.win_timer is WIN_DELAY * 3 / 5:
++ elif self.win_timer is WIN_DELAY * 3 // 5:
+ for x, y in self.disappear_list:
+ if self.board[x][y] != ITEM_NONE:
+ self.done[self.board[x][y]] += 1
+@@ -1095,7 +1097,7 @@
+ self.angry_items = angry
+ self.disappear_list = []
+ self.bonus_list = []
+- elif self.win_timer is WIN_DELAY * 2 / 5:
++ elif self.win_timer is WIN_DELAY * 2 // 5:
+ self.time += self.timebonus
+ if self.time > 2000000:
+ self.time = 2000000
+@@ -1105,7 +1107,7 @@
+ self.eyes += 1
+ self.score += self.scorebonus
+ self.fill_board()
+- elif self.win_timer is 0:
++ elif self.win_timer == 0:
+ system.play('boing')
+ self.wins = self.get_wins()
+ if self.wins:
+@@ -1192,9 +1194,9 @@
+ self.will_play = move
+ min = self.done[color]
+ self.ai_timer = 15 - self.level
+- if self.ai_timer is (15 - self.level) / 2:
++ if self.ai_timer is (15 - self.level) // 2:
+ self.clicks.append(self.will_play[0])
+- elif self.ai_timer is 0:
++ elif self.ai_timer == 0:
+ self.clicks.append(self.will_play[1])
+ self.will_play = None
+ self.ai_timer -= 1
+@@ -1288,9 +1290,9 @@
+ else:
+ for x in range(10):
+ for y in range(len(alpha[x])):
+- alpha[x][y] = alpha[x][y] * x / 12
++ alpha[x][y] = alpha[x][y] * x // 12
+ for y in range(len(alpha[406 - x - 1])):
+- alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x / 12
++ alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x // 12
+ del alpha
+ scroll.unlock()
+ system.blit(scroll, (13, 437))
+@@ -1321,26 +1323,26 @@
+ led, color = data.led_on, (255, 255, 255)
+ else:
+ led, color = data.led_off, (180, 150, 127)
+- c = map(lambda a, b: b - (b - a) * self.gsat[0] / 255, r, color)
++ c = list(map(lambda a, b: b - (b - a) * self.gsat[0] // 255, r, color))
+ system.blit(led, (440, 378))
+ system.blit(fonter.render('SOUND FX', 30, c), (470, 376))
+ if settings.get('music'):
+ led, color = data.led_on, (255, 255, 255)
+ else:
+ led, color = data.led_off, (180, 150, 127)
+- c = map(lambda a, b: b - (b - a) * self.gsat[1] / 255, r, color)
++ c = list(map(lambda a, b: b - (b - a) * self.gsat[1] // 255, r, color))
+ system.blit(led, (440, 408))
+ system.blit(fonter.render('MUSIC', 30, c), (470, 406))
+ if settings.get('fullscreen'):
+ led, color = data.led_on, (255, 255, 255)
+ else:
+ led, color = data.led_off, (180, 150, 127)
+- c = map(lambda a, b: b - (b - a) * self.gsat[2] / 255, r, color)
++ c = list(map(lambda a, b: b - (b - a) * self.gsat[2] // 255, r, color))
+ system.blit(led, (440, 438))
+ system.blit(fonter.render('FULLSCREEN', 30, c), (470, 436))
+ for x in range(3):
+ if self.gsat[x]:
+- self.gsat[x] = self.gsat[x] * 8 / 10
++ self.gsat[x] = self.gsat[x] * 8 // 10
+
+ def generic_event(self, event):
+ if event.type == QUIT:
+@@ -1398,7 +1400,7 @@
+ self.marea = marea
+ # Print logo and menu
+ w, h = data.logo.get_size()
+- system.blit(data.logo, (24 + 192 - w / 2, 24 + 96 - h / 2))
++ system.blit(data.logo, (24 + 192 - w // 2, 24 + 96 - h // 2))
+ for x in range(4):
+ if self.msat[x] > 180:
+ monster = data.surprise[shapes[x]]
+@@ -1407,12 +1409,12 @@
+ else:
+ monster = data.blink[shapes[x]]
+ system.blit(monster, data.board2screen((1, 4 + x)))
+- c = map(lambda a: 255 - (255 - a) * self.msat[x] / 255, colors[x])
++ c = list(map(lambda a: 255 - (255 - a) * self.msat[x] // 255, colors[x]))
+ text = fonter.render(messages[x], 48, c)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 102, 24 + 216 + ITEM_SIZE * x - h / 2))
++ system.blit(text, (24 + 102, 24 + 216 + ITEM_SIZE * x - h // 2))
+ if self.msat[x]:
+- self.msat[x] = self.msat[x] * 8 / 10
++ self.msat[x] = self.msat[x] * 8 // 10
+ # Handle events
+ for event in pygame.event.get():
+ if self.generic_event(event):
+@@ -1479,32 +1481,32 @@
+ # Print menu
+ text = fonter.render('GAME TYPE', 60)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 24 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 24 - h // 2))
+ for i in range(4):
+- c = map(lambda a: 255 - (255 - a) * self.nsat[i] / 255, [127, 0, 255])
++ c = list(map(lambda a: 255 - (255 - a) * self.nsat[i] // 255, [127, 0, 255]))
+ text = fonter.render(messages[i], 48, c)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + ITEM_SIZE * 4 - w / 2, 24 + 120 + ITEM_SIZE * i - h / 2))
++ system.blit(text, (24 + ITEM_SIZE * 4 - w // 2, 24 + 120 + ITEM_SIZE * i - h // 2))
+ if self.nsat[i]:
+- self.nsat[i] = self.nsat[i] * 8 / 10
++ self.nsat[i] = self.nsat[i] * 8 // 10
+ for i in range(4, 8):
+- c = map(lambda a: 255 - (255 - a) * self.nsat[i] / 255, [127, 0, 255])
++ c = list(map(lambda a: 255 - (255 - a) * self.nsat[i] // 255, [127, 0, 255]))
+ if i % 2:
+ img = data.led_more
+ x = 320
+ else:
+ img = data.led_less
+ x = 88
+- y = 36 + ITEM_SIZE * (6 + (i - 4) / 2)
++ y = 36 + ITEM_SIZE * (6 + (i - 4) // 2)
+ system.blit(img, (x, y))
+ if self.nsat[i]:
+- self.nsat[i] = self.nsat[i] * 8 / 10
++ self.nsat[i] = self.nsat[i] * 8 // 10
+ # Print wanted monsterz
+ for i in range(items):
+- system.blit(data.normal[i], (24 + 96 + ITEM_SIZE * 3 * i / (items - 1), 24 + ITEM_SIZE * 6))
++ system.blit(data.normal[i], (24 + 96 + ITEM_SIZE * 3 * i // (items - 1), 24 + ITEM_SIZE * 6))
+ text = fonter.render('DIFFICULTY ' + str(difficulty), 36)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + ITEM_SIZE * 7 + 24 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + ITEM_SIZE * 7 + 24 - h // 2))
+ # Handle events
+ for event in pygame.event.get():
+ if self.generic_event(event):
+@@ -1610,18 +1612,18 @@
+ # Title
+ text = fonter.render('INSTRUCTIONS (' + str(self.page) + ')', 60)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 24 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 24 - h // 2))
+ if self.page == 1:
+ # Explanation 1
+ text = fonter.render('SWAP ADJACENT MONSTERS TO CREATE', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 84 - h / 2))
++ system.blit(text, (24 + 6, 24 + 84 - h // 2))
+ text = fonter.render('ALIGNMENTS OF THREE OR MORE. NEW', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 108 - h / 2))
++ system.blit(text, (24 + 6, 24 + 108 - h // 2))
+ text = fonter.render('MONSTERS WILL FILL THE HOLES.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 132 - h / 2))
++ system.blit(text, (24 + 6, 24 + 132 - h // 2))
+ # Iter 1
+ system.blit_board((0, 3, 2, 7))
+ system.blit(data.normal[2], data.board2screen((0, 3)))
+@@ -1658,22 +1660,22 @@
+ text = fonter.render('10', 36)
+ w, h = text.get_rect().size
+ x, y = data.board2screen((7, 4))
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ # Explanation 2
+ text = fonter.render('CREATE CHAIN REACTIONS TO GET TWICE', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 348 - h / 2))
++ system.blit(text, (24 + 6, 24 + 348 - h // 2))
+ text = fonter.render('AS MANY POINTS, THEN 4x, 8x ETC.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 372 - h / 2))
++ system.blit(text, (24 + 6, 24 + 372 - h // 2))
+ elif self.page == 2:
+ # Explanation 1
+ text = fonter.render('THE LUCKY MONSTER EARNS YOU TWICE', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 108 - h / 2))
++ system.blit(text, (24 + 6, 24 + 108 - h // 2))
+ text = fonter.render('AS MANY POINTS AS OTHER MONSTERS.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 132 - h / 2))
++ system.blit(text, (24 + 6, 24 + 132 - h // 2))
+ shape = data.special[self.timer % 7]
+ # Print done/needed
+ system.blit_board((0, 3, 4, 5))
+@@ -1697,15 +1699,15 @@
+ text = fonter.render('140', 48, rainbow[monsterz.timer % 6])
+ w, h = text.get_rect().size
+ x, y = data.board2screen((2, 6))
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ text = fonter.render('70', 36)
+ w, h = text.get_rect().size
+ x, y = data.board2screen((1, 7))
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ for i in range(4):
+ surf = data.tiny[i + 1]
+ count = 3 + i * 2
+- x = 24 + 240 + 4 + i / 2 * 70
++ x = 24 + 240 + 4 + i // 2 * 70
+ y = 172 + (i % 2) * 38
+ for dummy in range(2):
+ system.blit(surf, (x, y))
+@@ -1722,13 +1724,13 @@
+ # Explanation 1
+ text = fonter.render('YOU CAN ALWAYS PERFORM A VALID MOVE.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 84 - h / 2))
++ system.blit(text, (24 + 6, 24 + 84 - h // 2))
+ text = fonter.render('WHEN NO MORE MOVES ARE POSSIBLE, YOU', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 108 - h / 2))
++ system.blit(text, (24 + 6, 24 + 108 - h // 2))
+ text = fonter.render('GET A COMPLETE NEW BOARD.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 132 - h / 2))
++ system.blit(text, (24 + 6, 24 + 132 - h // 2))
+ # Surprised
+ system.blit_board((0, 3, 8, 5))
+ for x in range(8):
+@@ -1736,29 +1738,29 @@
+ system.blit(data.surprise[(x * 7) % 8], data.board2screen((x, 4)))
+ text = fonter.render('NO MORE MOVES!', 60)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 192 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 192 - h // 2))
+ # Explanation 2
+ text = fonter.render('USE THE EYE TO FIND WHERE TO PLAY.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6 + 48, 24 + 300 - h / 2))
++ system.blit(text, (24 + 6 + 48, 24 + 300 - h // 2))
+ text = fonter.render('EACH 10,000 POINTS YOU GET A NEW', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6 + 48, 24 + 324 - h / 2))
++ system.blit(text, (24 + 6 + 48, 24 + 324 - h // 2))
+ text = fonter.render('EYE. YOU CAN\'T HAVE MORE THAN 3.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6 + 48, 24 + 348 - h / 2))
++ system.blit(text, (24 + 6 + 48, 24 + 348 - h // 2))
+ system.blit(data.eye, (24 + 6, 24 + 306))
+ elif self.page == 4:
+ # Explanation 1
+ text = fonter.render('WHEN ONLY ONE KIND OF MONSTER IS', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 84 - h / 2))
++ system.blit(text, (24 + 6, 24 + 84 - h // 2))
+ text = fonter.render('NEEDED TO FINISH THE LEVEL, MONSTERS', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 108 - h / 2))
++ system.blit(text, (24 + 6, 24 + 108 - h // 2))
+ text = fonter.render('OF THAT KIND GET AN ANGRY FACE.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 132 - h / 2))
++ system.blit(text, (24 + 6, 24 + 132 - h // 2))
+ # Print done/needed
+ system.blit_board((0, 3, 4, 5))
+ for i in range(4):
+@@ -1770,7 +1772,7 @@
+ big = data.angry[i + 4]
+ system.blit(big, data.board2screen((i, 3 + (i % 2))))
+ system.blit(big, data.board2screen(((i + 2) % 4, 3 + ((i + 1) % 2))))
+- x = 24 + 240 + 4 + i / 2 * 70
++ x = 24 + 240 + 4 + i // 2 * 70
+ y = 172 + (i % 2) * 38
+ system.blit(surf, (x, y))
+ text = fonter.render(str(i * 3), 36)
+@@ -1778,10 +1780,10 @@
+ # Explanation 2
+ text = fonter.render('CLICK ON THE BONUS TO REMOVE ALL', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 252 - h / 2))
++ system.blit(text, (24 + 6, 24 + 252 - h // 2))
+ text = fonter.render('MONSTERS OF A RANDOM KIND.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 276 - h / 2))
++ system.blit(text, (24 + 6, 24 + 276 - h // 2))
+ shape = data.special[self.timer % 7]
+ # Iter 1
+ system.blit_board((0, 6, 3, 8))
+@@ -1802,22 +1804,22 @@
+ text = fonter.render('10', 36)
+ w, h = text.get_rect().size
+ x, y = data.board2screen((4, 7))
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ x, y = data.board2screen((5, 6))
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ x, y = data.board2screen((6, 6))
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ elif self.page == 5:
+ # Explanation 1
+ text = fonter.render('IN PUZZLE MODE, PUT TOGETHER THE', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 84 - h / 2))
++ system.blit(text, (24 + 6, 24 + 84 - h // 2))
+ text = fonter.render('PUZZLE BY MOVING PIECES AROUND. BE', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 108 - h / 2))
++ system.blit(text, (24 + 6, 24 + 108 - h // 2))
+ text = fonter.render('CAREFUL NOT TO GET STUCK!', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 132 - h / 2))
++ system.blit(text, (24 + 6, 24 + 132 - h // 2))
+ # Iter 1
+ system.blit_board((0, 3, 2, 8))
+ system.blit(data.normal[2], data.board2screen((0, 3)))
+@@ -1876,19 +1878,19 @@
+ self.copyright_draw()
+ text = fonter.render('HIGH SCORES', 60)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 24 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 24 - h // 2))
+ # Print our list
+ for x in range(10):
+ name, score, level = settings.scores['CLASSIC'][x]
+ text = fonter.render(str(x + 1) + '. ' + name.upper(), 32)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 24, 24 + 72 + 32 * x - h / 2))
++ system.blit(text, (24 + 24, 24 + 72 + 32 * x - h // 2))
+ text = fonter.render(str(score), 32)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 324 - w, 24 + 72 + 32 * x - h / 2))
++ system.blit(text, (24 + 324 - w, 24 + 72 + 32 * x - h // 2))
+ text = fonter.render(str(level), 32)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 360 - w, 24 + 72 + 32 * x - h / 2))
++ system.blit(text, (24 + 360 - w, 24 + 72 + 32 * x - h // 2))
+ # Handle events
+ for event in pygame.event.get():
+ if self.generic_event(event):
+@@ -1903,39 +1905,39 @@
+ return
+
+ def version():
+- print 'monsterz ' + VERSION
+- print 'Written by Sam Hocevar, music by MenTaLguY, sound effects by Sun Microsystems,'
+- print 'Inc., Michael Speck, David White and the Battle for Wesnoth project, Mike'
+- print 'Kershaw and Sam Hocevar.'
+- print
+- print 'Copyright (C) 2005, 2006 Sam Hocevar <sam(a)zoy.org>'
+- print ' (C) 1998 MenTaLguY <mental(a)rydia.net>'
+- print ' (C) 2002, 2005 Sun Microsystems, Inc.'
+- print ' (C) Michael Speck <kulkanie(a)gmx.net>'
+- print ' (C) 2003 by David White <davidnwhite(a)optusnet.com.au> and the'
+- print ' Battle for Wesnoth project'
+- print ' (C) Mike Kershaw <dragorn(a)kismetwireless.net>'
+-
+- print 'This program is free software; you can redistribute it and/or modify it under'
+- print 'the terms of the Do What The Fuck You Want To Public License, Version 2, as'
+- print 'published by Sam Hocevar. See http://sam.zoy.org/wtfpl/ for more details.'
+- print 'The sound effects are released under their own licences: applause.wav and'
+- print 'pop.wav are covered by the LGPL, the others are covered by the GPL.'
++ print ('monsterz ' + VERSION)
++ print ('Written by Sam Hocevar, music by MenTaLguY, sound effects by Sun Microsystems,')
++ print ('Inc., Michael Speck, David White and the Battle for Wesnoth project, Mike')
++ print ('Kershaw and Sam Hocevar.')
++ print ()
++ print ('Copyright (C) 2005, 2006 Sam Hocevar <sam(a)zoy.org>')
++ print (' (C) 1998 MenTaLguY <mental(a)rydia.net>')
++ print (' (C) 2002, 2005 Sun Microsystems, Inc.')
++ print (' (C) Michael Speck <kulkanie(a)gmx.net>')
++ print (' (C) 2003 by David White <davidnwhite(a)optusnet.com.au> and the')
++ print (' Battle for Wesnoth project')
++ print (' (C) Mike Kershaw <dragorn(a)kismetwireless.net>')
++
++ print ('This program is free software; you can redistribute it and/or modify it under')
++ print ('the terms of the Do What The Fuck You Want To Public License, Version 2, as')
++ print ('published by Sam Hocevar. See http://sam.zoy.org/wtfpl/ for more details.')
++ print ('The sound effects are released under their own licences: applause.wav and')
++ print ('pop.wav are covered by the LGPL, the others are covered by the GPL.')
+
+ def usage():
+- print 'Usage: monsterz [OPTION]...'
+- print
+- print 'Options'
+- print ' -h, --help display this help and exit'
+- print ' -v, --version display version information and exit'
+- print ' -f, --fullscreen start in full screen mode'
+- print ' -m, --nomusic disable music'
+- print ' -s, --nosfx disable sound effects'
+- print ' --outfd <fd> output scores to file descriptor <fd>'
+- print ' --data <dir> set alternate data directory to <dir>'
+- print ' --score <file> set score file to <file>'
+- print
+- print 'Report bugs or suggestions to <sam(a)zoy.org>.'
++ print ('Usage: monsterz [OPTION]...')
++ print ()
++ print ('Options')
++ print (' -h, --help display this help and exit')
++ print (' -v, --version display version information and exit')
++ print (' -f, --fullscreen start in full screen mode')
++ print (' -m, --nomusic disable music')
++ print (' -s, --nosfx disable sound effects')
++ print (' --outfd <fd> output scores to file descriptor <fd>')
++ print (' --data <dir> set alternate data directory to <dir>')
++ print (' --score <file> set score file to <file>')
++ print ()
++ print ('Report bugs or suggestions to <sam(a)zoy.org>.')
+
+ def main():
+ from getopt import getopt, GetoptError
+@@ -1967,7 +1969,7 @@
+ elif opt in ('--outfd'):
+ try:
+ outfd = int(arg)
+- write(outfd, '\n')
++ write(outfd, '\n'.encode())
+ except:
+ outfd = None
+ elif opt in ('--data'):
+@@ -1982,7 +1984,7 @@
+ try:
+ data = Data(sharedir)
+ except:
+- print argv[0] + ': could not open data from `' + sharedir + "'."
++ print (argv[0] + ': could not open data from `' + sharedir + "'.")
+ raise
+ fonter = Fonter()
+ monsterz = Monsterz()
diff --git a/monsterz.spec b/monsterz.spec
index 6d6a48c..857d6f0 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -9,11 +9,11 @@ Source1: %{name}.score
Patch0: %{name}-0.7.1-userpmopts.patch
Patch1: %{name}-0.7.1-64bitfix.patch
Patch2: %{name}-0.7.1-blit-crash.patch
+Patch3: %{name}-0.7.1-py3.patch
BuildRequires: gcc
BuildRequires: desktop-file-utils
-BuildRequires: python2-devel /usr/bin/pathfix.py
-Requires: python2-pygame
-Requires: python2-numpy
+BuildRequires: python3-devel /usr/bin/pathfix.py
+Requires: python3-pygame
Requires: hicolor-icon-theme
Provides: %{name}-data = %{version}-%{release}
Obsoletes: %{name}-data < 0.7.1
@@ -30,11 +30,10 @@ board again. Chain reactions earn you even more points.
%prep
%setup -q
%patch0 -p1
-%ifarch x86_64 ppc64
%patch1 -p1
-%endif
%patch2 -p0
-pathfix.py -pni "%{__python2} %{py2_shbang_opts}" .
+%patch3 -p1
+pathfix.py -pni "%{__python3} %{py3_shbang_opts}" .
%build
make %{?_smp_mflags} prefix=%{_usr} datadir=%{_datadir} pkgdatadir=%{_datadir}/%{name} CFLAGS="%{optflags}"
@@ -86,12 +85,11 @@ install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/ap
%changelog
-* Tue Oct 29 2019 Petr Viktorin <pviktori(a)redhat.com> - 0.7.1-25
-- Explicitly require NumPy for pygame.surfarray
- See: https://www.pygame.org/docs/ref/surfarray.html
+* Fri Jun 26 2020 Gwyn Ciesla <gwync(a)protonmail.com> - 0.7.1-25
+- Fix 64 bit patch.
-* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-24
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+* Mon May 25 2020 scott snyder <sss(a)li-snyder.org> - 0.7.1-24
+- Python 3 compatibility.
* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
diff --git a/sources b/sources
index de271d9..fae5b9f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-c2bdb68dcd636df1abd130ac86defd11 monsterz-0.7.1.tar.gz
+SHA512 (monsterz-0.7.1.tar.gz) = 62de125251a74e7ff237c90ad88e10a4953b8841251dfec45cc6b77f416677ef6d68cf4308c3190f65896b5bb1312934abd5e438f0341f08c02884585f0e4787
commit 26923996431109b7af7f5496d7da6340dd4f4859
Author: Mohan Boddu <mboddu(a)bhujji.com>
Date: Mon Jun 29 15:54:22 2020 -0400
Unretirement for https://pagure.io/releng/issue/9553
Revert "Python 2 only."
This reverts commit 93e3bab87b239e985cca673d62b1593a4b2afab4.
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8077f35
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+monsterz-0.7.1.tar.gz
diff --git a/dead.package b/dead.package
deleted file mode 100644
index bb567a7..0000000
--- a/dead.package
+++ /dev/null
@@ -1 +0,0 @@
-Python 2 only.
diff --git a/monsterz-0.7.1-64bitfix.patch b/monsterz-0.7.1-64bitfix.patch
new file mode 100644
index 0000000..cf57277
--- /dev/null
+++ b/monsterz-0.7.1-64bitfix.patch
@@ -0,0 +1,20 @@
+--- monsterz-0.7.1/monsterz.py.orig 2007-12-17 22:05:00.000000000 +0000
++++ monsterz-0.7.1/monsterz.py 2008-02-26 14:23:34.000000000 +0000
+@@ -108,7 +108,7 @@
+ M = int(max(r, g, b))
+ m = int(min(r, g, b))
+ val = (2 * M + r + g + b) / 5
+- p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
++ #p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
+ if alpha[y][x] >= 250:
+ alpha[y][x] = 255 - (M - m) * 3 / 4
+ del pixels
+@@ -129,7 +129,7 @@
+ r, g, b = p
+ M = int(max(r, g, b))
+ m = int(min(r, g, b))
+- p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
++ #p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
+ if alpha[y][x] >= 250:
+ alpha[y][x] = 255 - M * 2 / 3
+ del pixels
diff --git a/monsterz-0.7.1-blit-crash.patch b/monsterz-0.7.1-blit-crash.patch
new file mode 100644
index 0000000..dd70b7b
--- /dev/null
+++ b/monsterz-0.7.1-blit-crash.patch
@@ -0,0 +1,32 @@
+--- monsterz.py.orig 2007-12-17 23:05:00.000000000 +0100
++++ monsterz.py 2009-02-05 20:54:07.000000000 +0100
+@@ -829,10 +829,10 @@
+ pass
+ else:
+ for x in range(4):
+- for y, p in enumerate(alpha[x]):
+- alpha[x][y] = p * x / 4
+- for y, p in enumerate(alpha[406 - x - 1]):
+- alpha[406 - x - 1][y] = p * x / 4
++ for y in range(len(alpha[x])):
++ alpha[x][y] = alpha[x][y] * x / 4
++ for y in range(len(alpha[406 - x - 1])):
++ alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x / 4
+ for col in alpha:
+ l = len(col)
+ for y in range(4):
+@@ -1287,10 +1287,10 @@
+ pass
+ else:
+ for x in range(10):
+- for y, p in enumerate(alpha[x]):
+- alpha[x][y] = p * x / 12
+- for y, p in enumerate(alpha[406 - x - 1]):
+- alpha[406 - x - 1][y] = p * x / 12
++ for y in range(len(alpha[x])):
++ alpha[x][y] = alpha[x][y] * x / 12
++ for y in range(len(alpha[406 - x - 1])):
++ alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x / 12
+ del alpha
+ scroll.unlock()
+ system.blit(scroll, (13, 437))
diff --git a/monsterz-0.7.1-userpmopts.patch b/monsterz-0.7.1-userpmopts.patch
new file mode 100644
index 0000000..64547b6
--- /dev/null
+++ b/monsterz-0.7.1-userpmopts.patch
@@ -0,0 +1,19 @@
+--- monsterz-0.7.1/Makefile.orig 2007-12-17 22:05:00.000000000 +0000
++++ monsterz-0.7.1/Makefile 2008-01-06 17:28:03.000000000 +0000
+@@ -6,6 +6,7 @@
+ scoredir = /var/games
+ scorefile = $(scoredir)/monsterz
+
++CFLAGS=
+ VERSION = 0.7.1
+ DIRECTORY = monsterz-$(VERSION)
+
+@@ -22,7 +23,7 @@
+ all: monsterz
+
+ monsterz: monsterz.c
+- $(CC) -Wall monsterz.c -DDATADIR=\"$(pkgdatadir)\" -DSCOREFILE=\"$(scorefile)\" -o monsterz
++ $(CC) $(CFLAGS) -Wall monsterz.c -DDATADIR=\"$(pkgdatadir)\" -DSCOREFILE=\"$(scorefile)\" -o monsterz
+
+ bitmap: $(BITMAP)
+
diff --git a/monsterz.score b/monsterz.score
new file mode 100644
index 0000000..200e3ac
--- /dev/null
+++ b/monsterz.score
@@ -0,0 +1,11 @@
+CLASSIC:Tux:1000:1
+CLASSIC:Tux:900:1
+CLASSIC:Tux:800:1
+CLASSIC:Tux:700:1
+CLASSIC:Tux:600:1
+CLASSIC:Tux:500:1
+CLASSIC:Tux:400:1
+CLASSIC:Tux:300:1
+CLASSIC:Tux:200:1
+CLASSIC:Tux:100:1
+
diff --git a/monsterz.spec b/monsterz.spec
new file mode 100644
index 0000000..6d6a48c
--- /dev/null
+++ b/monsterz.spec
@@ -0,0 +1,198 @@
+Name: monsterz
+Version: 0.7.1
+Release: 25%{?dist}
+Summary: Puzzle game, similar to Bejeweled or Zookeeper
+License: WTFPL
+URL: http://sam.zoy.org/monsterz/
+Source0: http://sam.zoy.org/%{name}/%{name}-%{version}.tar.gz
+Source1: %{name}.score
+Patch0: %{name}-0.7.1-userpmopts.patch
+Patch1: %{name}-0.7.1-64bitfix.patch
+Patch2: %{name}-0.7.1-blit-crash.patch
+BuildRequires: gcc
+BuildRequires: desktop-file-utils
+BuildRequires: python2-devel /usr/bin/pathfix.py
+Requires: python2-pygame
+Requires: python2-numpy
+Requires: hicolor-icon-theme
+Provides: %{name}-data = %{version}-%{release}
+Obsoletes: %{name}-data < 0.7.1
+
+%description
+Monsterz is a little arcade puzzle game, similar to the famous Bejeweled or
+Zookeeper. The goal of the game is to create rows of similar monsters, either
+horizontally or vertically. The only allowed move is the swap of two adjacent
+monsters, on the condition that it creates a row of three or more. When
+alignments are cleared, pieces fall from the top of the screen to fill the
+board again. Chain reactions earn you even more points.
+
+
+%prep
+%setup -q
+%patch0 -p1
+%ifarch x86_64 ppc64
+%patch1 -p1
+%endif
+%patch2 -p0
+pathfix.py -pni "%{__python2} %{py2_shbang_opts}" .
+
+%build
+make %{?_smp_mflags} prefix=%{_usr} datadir=%{_datadir} pkgdatadir=%{_datadir}/%{name} CFLAGS="%{optflags}"
+
+# Build desktop icon
+cat >%{name}.desktop <<EOF
+[Desktop Entry]
+Encoding=UTF-8
+Name=Monsterz
+GenericName=Monsterz Puzzle Game
+Comment=%{summary}
+Exec=%{name}
+Icon=%{name}
+Terminal=false
+Type=Application
+Categories=Game;StrategyGame;
+EOF
+
+
+%install
+# Bypass make install as it requires root priviledges and the SRPM
+# may not necessarily be built as root
+mkdir -p %{buildroot}%{_bindir}
+mkdir -p %{buildroot}%{_datadir}/{applications,icons/hicolor/64x64/apps}
+mkdir -p %{buildroot}%{_datadir}/%{name}/{graphics,sound}
+mkdir -p %{buildroot}%{_var}/games
+install -pm0755 %{name} %{buildroot}%{_bindir}
+install -pm0755 %{name}.py %{buildroot}%{_datadir}/%{name}
+cp -a graphics/* %{buildroot}%{_datadir}/%{name}/graphics
+cp -a sound/* %{buildroot}%{_datadir}/%{name}/sound
+
+install -pm0664 %{SOURCE1} %{buildroot}%{_var}/games/%{name}
+
+desktop-file-install \
+ --dir %{buildroot}%{_datadir}/applications \
+ %{name}.desktop
+
+install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
+
+
+%files
+%{_datadir}/applications/%{name}.desktop
+%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
+%{_datadir}/%{name}
+%attr(2755,root,games) %{_bindir}/%{name}
+%attr(-,root,games) %config(noreplace) %{_var}/games/%{name}
+%license COPYING
+%doc AUTHORS README TODO
+
+
+%changelog
+* Tue Oct 29 2019 Petr Viktorin <pviktori(a)redhat.com> - 0.7.1-25
+- Explicitly require NumPy for pygame.surfarray
+ See: https://www.pygame.org/docs/ref/surfarray.html
+
+* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-24
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-23
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Mon Sep 10 2018 Gwyn Ciesla <limburgher(a)gmail.com> - 0.7.1-22
+- Fix shebang handling.
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-21
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-20
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Jan 18 2018 Igor Gnatenko <ignatenkobrain(a)fedoraproject.org> - 0.7.1-19
+- Remove obsolete scriptlets
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-18
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-17
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-16
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Thu Feb 04 2016 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-15
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Sun Aug 17 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-13
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Mon Feb 11 2013 Jon Ciesla <limburgher(a)gmail.com> - 0.7.1-10
+- Drop desktop vendor tag.
+
+* Fri Jul 20 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Fri Jan 13 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Tue Feb 08 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Sat Jul 25 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Thu Feb 05 2009 Rafał Psota <rafalzaq(a)gmail.com> - 0.7.1-4
+- fixed #473763
+
+* Tue Feb 26 2008 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.1-3
+- Fix for BZ 434688
+
+* Tue Feb 19 2008 Fedora Release Engineering <rel-eng(a)fedoraproject.org> - 0.7.1-2
+- Autorebuild for GCC 4.3
+
+* Sun Jan 06 2008 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.1-1
+- Upgrade to 0.7.1
+- Drop separate data package as it's unnecessary
+- Merge .desktop back into SPEC
+- Various spec cleanups
+- Updated the "use rpm opts" patch
+- Use the icon now supplied
+
+* Wed Aug 22 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-8
+- Release bump for F8 mass rebuild
+
+* Mon Aug 28 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-7
+- Release bump for FC6 mass rebuild
+
+* Tue Jul 25 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-6
+- Split data into a separate package.
+
+* Sun Jul 23 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-5
+- Moved .desktop external to spec
+- Moved score file external to spec
+- License changed to WTFPL
+- Use %%{_datadir}/%%{name} not %%{_datadir}/games/%%{name}
+
+* Sun Jul 09 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-4
+- Moved icon installation to make it freedesktop compliant
+- Added %%post and %%postun sections to update icon cache at installation
+- Move hiscore table and .desktop generation to %%build
+
+* Sat Jun 24 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-3
+- Cosmetic fixes for the Dribble repository
+
+* Mon May 29 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-2
+- Replace %%{__rm} in clean section with rm
+- Added patch to compile using rpmoptflags
+
+* Mon May 22 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-1.iss
+- Initial Release
diff --git a/sources b/sources
new file mode 100644
index 0000000..de271d9
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+c2bdb68dcd636df1abd130ac86defd11 monsterz-0.7.1.tar.gz
commit 93e3bab87b239e985cca673d62b1593a4b2afab4
Author: Gwyn Ciesla <gwync(a)protonmail.com>
Date: Mon Dec 2 10:13:13 2019 -0600
Python 2 only.
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 8077f35..0000000
--- a/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-monsterz-0.7.1.tar.gz
diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..bb567a7
--- /dev/null
+++ b/dead.package
@@ -0,0 +1 @@
+Python 2 only.
diff --git a/monsterz-0.7.1-64bitfix.patch b/monsterz-0.7.1-64bitfix.patch
deleted file mode 100644
index cf57277..0000000
--- a/monsterz-0.7.1-64bitfix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- monsterz-0.7.1/monsterz.py.orig 2007-12-17 22:05:00.000000000 +0000
-+++ monsterz-0.7.1/monsterz.py 2008-02-26 14:23:34.000000000 +0000
-@@ -108,7 +108,7 @@
- M = int(max(r, g, b))
- m = int(min(r, g, b))
- val = (2 * M + r + g + b) / 5
-- p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
-+ #p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
- if alpha[y][x] >= 250:
- alpha[y][x] = 255 - (M - m) * 3 / 4
- del pixels
-@@ -129,7 +129,7 @@
- r, g, b = p
- M = int(max(r, g, b))
- m = int(min(r, g, b))
-- p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
-+ #p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
- if alpha[y][x] >= 250:
- alpha[y][x] = 255 - M * 2 / 3
- del pixels
diff --git a/monsterz-0.7.1-blit-crash.patch b/monsterz-0.7.1-blit-crash.patch
deleted file mode 100644
index dd70b7b..0000000
--- a/monsterz-0.7.1-blit-crash.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- monsterz.py.orig 2007-12-17 23:05:00.000000000 +0100
-+++ monsterz.py 2009-02-05 20:54:07.000000000 +0100
-@@ -829,10 +829,10 @@
- pass
- else:
- for x in range(4):
-- for y, p in enumerate(alpha[x]):
-- alpha[x][y] = p * x / 4
-- for y, p in enumerate(alpha[406 - x - 1]):
-- alpha[406 - x - 1][y] = p * x / 4
-+ for y in range(len(alpha[x])):
-+ alpha[x][y] = alpha[x][y] * x / 4
-+ for y in range(len(alpha[406 - x - 1])):
-+ alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x / 4
- for col in alpha:
- l = len(col)
- for y in range(4):
-@@ -1287,10 +1287,10 @@
- pass
- else:
- for x in range(10):
-- for y, p in enumerate(alpha[x]):
-- alpha[x][y] = p * x / 12
-- for y, p in enumerate(alpha[406 - x - 1]):
-- alpha[406 - x - 1][y] = p * x / 12
-+ for y in range(len(alpha[x])):
-+ alpha[x][y] = alpha[x][y] * x / 12
-+ for y in range(len(alpha[406 - x - 1])):
-+ alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x / 12
- del alpha
- scroll.unlock()
- system.blit(scroll, (13, 437))
diff --git a/monsterz-0.7.1-userpmopts.patch b/monsterz-0.7.1-userpmopts.patch
deleted file mode 100644
index 64547b6..0000000
--- a/monsterz-0.7.1-userpmopts.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- monsterz-0.7.1/Makefile.orig 2007-12-17 22:05:00.000000000 +0000
-+++ monsterz-0.7.1/Makefile 2008-01-06 17:28:03.000000000 +0000
-@@ -6,6 +6,7 @@
- scoredir = /var/games
- scorefile = $(scoredir)/monsterz
-
-+CFLAGS=
- VERSION = 0.7.1
- DIRECTORY = monsterz-$(VERSION)
-
-@@ -22,7 +23,7 @@
- all: monsterz
-
- monsterz: monsterz.c
-- $(CC) -Wall monsterz.c -DDATADIR=\"$(pkgdatadir)\" -DSCOREFILE=\"$(scorefile)\" -o monsterz
-+ $(CC) $(CFLAGS) -Wall monsterz.c -DDATADIR=\"$(pkgdatadir)\" -DSCOREFILE=\"$(scorefile)\" -o monsterz
-
- bitmap: $(BITMAP)
-
diff --git a/monsterz.score b/monsterz.score
deleted file mode 100644
index 200e3ac..0000000
--- a/monsterz.score
+++ /dev/null
@@ -1,11 +0,0 @@
-CLASSIC:Tux:1000:1
-CLASSIC:Tux:900:1
-CLASSIC:Tux:800:1
-CLASSIC:Tux:700:1
-CLASSIC:Tux:600:1
-CLASSIC:Tux:500:1
-CLASSIC:Tux:400:1
-CLASSIC:Tux:300:1
-CLASSIC:Tux:200:1
-CLASSIC:Tux:100:1
-
diff --git a/monsterz.spec b/monsterz.spec
deleted file mode 100644
index 6d6a48c..0000000
--- a/monsterz.spec
+++ /dev/null
@@ -1,198 +0,0 @@
-Name: monsterz
-Version: 0.7.1
-Release: 25%{?dist}
-Summary: Puzzle game, similar to Bejeweled or Zookeeper
-License: WTFPL
-URL: http://sam.zoy.org/monsterz/
-Source0: http://sam.zoy.org/%{name}/%{name}-%{version}.tar.gz
-Source1: %{name}.score
-Patch0: %{name}-0.7.1-userpmopts.patch
-Patch1: %{name}-0.7.1-64bitfix.patch
-Patch2: %{name}-0.7.1-blit-crash.patch
-BuildRequires: gcc
-BuildRequires: desktop-file-utils
-BuildRequires: python2-devel /usr/bin/pathfix.py
-Requires: python2-pygame
-Requires: python2-numpy
-Requires: hicolor-icon-theme
-Provides: %{name}-data = %{version}-%{release}
-Obsoletes: %{name}-data < 0.7.1
-
-%description
-Monsterz is a little arcade puzzle game, similar to the famous Bejeweled or
-Zookeeper. The goal of the game is to create rows of similar monsters, either
-horizontally or vertically. The only allowed move is the swap of two adjacent
-monsters, on the condition that it creates a row of three or more. When
-alignments are cleared, pieces fall from the top of the screen to fill the
-board again. Chain reactions earn you even more points.
-
-
-%prep
-%setup -q
-%patch0 -p1
-%ifarch x86_64 ppc64
-%patch1 -p1
-%endif
-%patch2 -p0
-pathfix.py -pni "%{__python2} %{py2_shbang_opts}" .
-
-%build
-make %{?_smp_mflags} prefix=%{_usr} datadir=%{_datadir} pkgdatadir=%{_datadir}/%{name} CFLAGS="%{optflags}"
-
-# Build desktop icon
-cat >%{name}.desktop <<EOF
-[Desktop Entry]
-Encoding=UTF-8
-Name=Monsterz
-GenericName=Monsterz Puzzle Game
-Comment=%{summary}
-Exec=%{name}
-Icon=%{name}
-Terminal=false
-Type=Application
-Categories=Game;StrategyGame;
-EOF
-
-
-%install
-# Bypass make install as it requires root priviledges and the SRPM
-# may not necessarily be built as root
-mkdir -p %{buildroot}%{_bindir}
-mkdir -p %{buildroot}%{_datadir}/{applications,icons/hicolor/64x64/apps}
-mkdir -p %{buildroot}%{_datadir}/%{name}/{graphics,sound}
-mkdir -p %{buildroot}%{_var}/games
-install -pm0755 %{name} %{buildroot}%{_bindir}
-install -pm0755 %{name}.py %{buildroot}%{_datadir}/%{name}
-cp -a graphics/* %{buildroot}%{_datadir}/%{name}/graphics
-cp -a sound/* %{buildroot}%{_datadir}/%{name}/sound
-
-install -pm0664 %{SOURCE1} %{buildroot}%{_var}/games/%{name}
-
-desktop-file-install \
- --dir %{buildroot}%{_datadir}/applications \
- %{name}.desktop
-
-install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
-
-
-%files
-%{_datadir}/applications/%{name}.desktop
-%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
-%{_datadir}/%{name}
-%attr(2755,root,games) %{_bindir}/%{name}
-%attr(-,root,games) %config(noreplace) %{_var}/games/%{name}
-%license COPYING
-%doc AUTHORS README TODO
-
-
-%changelog
-* Tue Oct 29 2019 Petr Viktorin <pviktori(a)redhat.com> - 0.7.1-25
-- Explicitly require NumPy for pygame.surfarray
- See: https://www.pygame.org/docs/ref/surfarray.html
-
-* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-24
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-23
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Mon Sep 10 2018 Gwyn Ciesla <limburgher(a)gmail.com> - 0.7.1-22
-- Fix shebang handling.
-
-* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-21
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-20
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Thu Jan 18 2018 Igor Gnatenko <ignatenkobrain(a)fedoraproject.org> - 0.7.1-19
-- Remove obsolete scriptlets
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-18
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-17
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Fri Feb 10 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-16
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Thu Feb 04 2016 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-15
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Wed Jun 17 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-14
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Sun Aug 17 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-13
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
-
-* Sat Jun 07 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-12
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Sat Aug 03 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-11
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Mon Feb 11 2013 Jon Ciesla <limburgher(a)gmail.com> - 0.7.1-10
-- Drop desktop vendor tag.
-
-* Fri Jul 20 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-9
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
-
-* Fri Jan 13 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-8
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
-
-* Tue Feb 08 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-7
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-
-* Sat Jul 25 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
-
-* Wed Feb 25 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
-
-* Thu Feb 05 2009 Rafał Psota <rafalzaq(a)gmail.com> - 0.7.1-4
-- fixed #473763
-
-* Tue Feb 26 2008 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.1-3
-- Fix for BZ 434688
-
-* Tue Feb 19 2008 Fedora Release Engineering <rel-eng(a)fedoraproject.org> - 0.7.1-2
-- Autorebuild for GCC 4.3
-
-* Sun Jan 06 2008 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.1-1
-- Upgrade to 0.7.1
-- Drop separate data package as it's unnecessary
-- Merge .desktop back into SPEC
-- Various spec cleanups
-- Updated the "use rpm opts" patch
-- Use the icon now supplied
-
-* Wed Aug 22 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-8
-- Release bump for F8 mass rebuild
-
-* Mon Aug 28 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-7
-- Release bump for FC6 mass rebuild
-
-* Tue Jul 25 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-6
-- Split data into a separate package.
-
-* Sun Jul 23 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-5
-- Moved .desktop external to spec
-- Moved score file external to spec
-- License changed to WTFPL
-- Use %%{_datadir}/%%{name} not %%{_datadir}/games/%%{name}
-
-* Sun Jul 09 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-4
-- Moved icon installation to make it freedesktop compliant
-- Added %%post and %%postun sections to update icon cache at installation
-- Move hiscore table and .desktop generation to %%build
-
-* Sat Jun 24 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-3
-- Cosmetic fixes for the Dribble repository
-
-* Mon May 29 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-2
-- Replace %%{__rm} in clean section with rm
-- Added patch to compile using rpmoptflags
-
-* Mon May 22 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-1.iss
-- Initial Release
diff --git a/sources b/sources
deleted file mode 100644
index de271d9..0000000
--- a/sources
+++ /dev/null
@@ -1 +0,0 @@
-c2bdb68dcd636df1abd130ac86defd11 monsterz-0.7.1.tar.gz
commit f5ac880e90d7dfd92b71132a8d02b5da1db7978f
Author: Petr Viktorin <pviktori(a)redhat.com>
Date: Tue Oct 29 16:33:47 2019 +0100
Explicitly require NumPy for pygame.surfarray
surfarray is a part of Pygame that requires NumPy,
but pygame is otherwise usable without it.
See: https://www.pygame.org/docs/ref/surfarray.html
diff --git a/monsterz.spec b/monsterz.spec
index 058deb3..6d6a48c 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 24%{?dist}
+Release: 25%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
License: WTFPL
URL: http://sam.zoy.org/monsterz/
@@ -12,7 +12,8 @@ Patch2: %{name}-0.7.1-blit-crash.patch
BuildRequires: gcc
BuildRequires: desktop-file-utils
BuildRequires: python2-devel /usr/bin/pathfix.py
-Requires: pygame
+Requires: python2-pygame
+Requires: python2-numpy
Requires: hicolor-icon-theme
Provides: %{name}-data = %{version}-%{release}
Obsoletes: %{name}-data < 0.7.1
@@ -85,6 +86,10 @@ install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/ap
%changelog
+* Tue Oct 29 2019 Petr Viktorin <pviktori(a)redhat.com> - 0.7.1-25
+- Explicitly require NumPy for pygame.surfarray
+ See: https://www.pygame.org/docs/ref/surfarray.html
+
* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
commit 0c5dde1e94b269adc973193a465f53218c46fcdf
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Jul 25 17:40:19 2019 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/monsterz.spec b/monsterz.spec
index e861993..058deb3 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 23%{?dist}
+Release: 24%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
License: WTFPL
URL: http://sam.zoy.org/monsterz/
@@ -85,6 +85,9 @@ install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/ap
%changelog
+* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-24
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
commit 2cb010199728a8fd9d12d1d81b928c7b48221253
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Feb 1 11:26:33 2019 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/monsterz.spec b/monsterz.spec
index bb3e081..e861993 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 22%{?dist}
+Release: 23%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
License: WTFPL
URL: http://sam.zoy.org/monsterz/
@@ -85,6 +85,9 @@ install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/ap
%changelog
+* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-23
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
* Mon Sep 10 2018 Gwyn Ciesla <limburgher(a)gmail.com> - 0.7.1-22
- Fix shebang handling.
commit a53f78a2100342f18ea530ff5eaec5ff1d9348b9
Author: Gwyn Ciesla <limburgher(a)gmail.com>
Date: Mon Sep 10 15:03:16 2018 -0500
FIx shebang handling.
diff --git a/monsterz.spec b/monsterz.spec
index 473adee..bb3e081 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,8 +1,7 @@
Name: monsterz
Version: 0.7.1
-Release: 21%{?dist}
+Release: 22%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
-Group: Amusements/Games
License: WTFPL
URL: http://sam.zoy.org/monsterz/
Source0: http://sam.zoy.org/%{name}/%{name}-%{version}.tar.gz
@@ -12,6 +11,7 @@ Patch1: %{name}-0.7.1-64bitfix.patch
Patch2: %{name}-0.7.1-blit-crash.patch
BuildRequires: gcc
BuildRequires: desktop-file-utils
+BuildRequires: python2-devel /usr/bin/pathfix.py
Requires: pygame
Requires: hicolor-icon-theme
Provides: %{name}-data = %{version}-%{release}
@@ -33,7 +33,7 @@ board again. Chain reactions earn you even more points.
%patch1 -p1
%endif
%patch2 -p0
-
+pathfix.py -pni "%{__python2} %{py2_shbang_opts}" .
%build
make %{?_smp_mflags} prefix=%{_usr} datadir=%{_datadir} pkgdatadir=%{_datadir}/%{name} CFLAGS="%{optflags}"
@@ -54,7 +54,6 @@ EOF
%install
-rm -rf %{buildroot}
# Bypass make install as it requires root priviledges and the SRPM
# may not necessarily be built as root
mkdir -p %{buildroot}%{_bindir}
@@ -81,10 +80,14 @@ install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/ap
%{_datadir}/%{name}
%attr(2755,root,games) %{_bindir}/%{name}
%attr(-,root,games) %config(noreplace) %{_var}/games/%{name}
-%doc AUTHORS COPYING README TODO
+%license COPYING
+%doc AUTHORS README TODO
%changelog
+* Mon Sep 10 2018 Gwyn Ciesla <limburgher(a)gmail.com> - 0.7.1-22
+- Fix shebang handling.
+
* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
commit 46a77e13b3a20ad6f401cea51491fd4595b3e174
Author: Igor Gnatenko <ignatenkobrain(a)fedoraproject.org>
Date: Tue Jul 24 16:54:32 2018 +0200
Add missing BuildRequires on gcc
make: cc: Command not found
References: https://bugzilla.redhat.com/show_bug.cgi?id=1604880
Signed-off-by: Igor Gnatenko <ignatenkobrain(a)fedoraproject.org>
diff --git a/monsterz.spec b/monsterz.spec
index 2945dde..473adee 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -10,6 +10,7 @@ Source1: %{name}.score
Patch0: %{name}-0.7.1-userpmopts.patch
Patch1: %{name}-0.7.1-64bitfix.patch
Patch2: %{name}-0.7.1-blit-crash.patch
+BuildRequires: gcc
BuildRequires: desktop-file-utils
Requires: pygame
Requires: hicolor-icon-theme
commit 13242e02a1872f074d0f135673c365d9a842ffce
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jul 13 11:00:14 2018 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/monsterz.spec b/monsterz.spec
index e7f975c..2945dde 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 20%{?dist}
+Release: 21%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -84,6 +84,9 @@ install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/ap
%changelog
+* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-21
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
commit b4912025918b0f5201972272420ec556b582b9bf
Author: Jason Tibbitts <tibbs(a)math.uh.edu>
Date: Tue Jul 10 02:05:18 2018 -0500
Remove needless use of %defattr
diff --git a/monsterz.spec b/monsterz.spec
index 8f592a9..e7f975c 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -75,7 +75,6 @@ install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/ap
%files
-%defattr(-,root,root,-)
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
%{_datadir}/%{name}
commit 84a33a6abd62b6aaa68982283ea5a30092be07eb
Author: Igor Gnatenko <ignatenkobrain(a)fedoraproject.org>
Date: Wed Feb 14 07:21:44 2018 +0100
Remove %clean section
None of currently supported distributions need that.
Last one was EL5 which is EOL for a while.
Signed-off-by: Igor Gnatenko <ignatenkobrain(a)fedoraproject.org>
diff --git a/monsterz.spec b/monsterz.spec
index ad0d81a..8f592a9 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -74,9 +74,6 @@ desktop-file-install \
install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
-%clean
-rm -rf %{buildroot}
-
%files
%defattr(-,root,root,-)
%{_datadir}/applications/%{name}.desktop
commit 4056774e725a5e66c6b11ded8129f47b316ddc8c
Author: Igor Gnatenko <ignatenkobrain(a)fedoraproject.org>
Date: Tue Feb 13 23:51:33 2018 +0100
Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now
Signed-off-by: Igor Gnatenko <ignatenkobrain(a)fedoraproject.org>
diff --git a/monsterz.spec b/monsterz.spec
index e8207f6..ad0d81a 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -10,7 +10,6 @@ Source1: %{name}.score
Patch0: %{name}-0.7.1-userpmopts.patch
Patch1: %{name}-0.7.1-64bitfix.patch
Patch2: %{name}-0.7.1-blit-crash.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: desktop-file-utils
Requires: pygame
Requires: hicolor-icon-theme
commit 2739485851e55d2d2fbcfcdb873a5893c966db19
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Feb 8 03:12:08 2018 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/monsterz.spec b/monsterz.spec
index 7474ab8..e8207f6 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 19%{?dist}
+Release: 20%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -89,6 +89,9 @@ rm -rf %{buildroot}
%changelog
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-20
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
* Thu Jan 18 2018 Igor Gnatenko <ignatenkobrain(a)fedoraproject.org> - 0.7.1-19
- Remove obsolete scriptlets
commit 7dbbc94f229d9d1ba5fbaea865b5e6359cdcf2ff
Author: Igor Gnatenko <ignatenkobrain(a)fedoraproject.org>
Date: Thu Jan 18 20:53:59 2018 +0100
Remove obsolete scriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain(a)fedoraproject.org>
diff --git a/monsterz.spec b/monsterz.spec
index d417013..7474ab8 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 18%{?dist}
+Release: 19%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -78,21 +78,6 @@ install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/ap
%clean
rm -rf %{buildroot}
-
-%post
-touch --no-create %{_datadir}/icons/hicolor || :
-if [ -x %{_bindir}/gtk-update-icon-cache ]; then
- %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
-fi
-
-
-%postun
-touch --no-create %{_datadir}/icons/hicolor || :
-if [ -x %{_bindir}/gtk-update-icon-cache ]; then
- %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
-fi
-
-
%files
%defattr(-,root,root,-)
%{_datadir}/applications/%{name}.desktop
@@ -104,6 +89,9 @@ fi
%changelog
+* Thu Jan 18 2018 Igor Gnatenko <ignatenkobrain(a)fedoraproject.org> - 0.7.1-19
+- Remove obsolete scriptlets
+
* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
commit cc374159aa596b0bff17295e25be603643358a5f
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Aug 3 03:33:32 2017 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index 6f1e09a..d417013 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 17%{?dist}
+Release: 18%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-18
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
commit ca185ae264469a82f20349beea7194e7045d4e44
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Wed Jul 26 22:13:47 2017 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index 1bd9d98..6f1e09a 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 16%{?dist}
+Release: 17%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-17
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
* Fri Feb 10 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
commit 0d1ea6959cabc666336e2342aa6a43f614a913d6
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Feb 10 21:40:38 2017 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index e6c0da6..1bd9d98 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 15%{?dist}
+Release: 16%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Fri Feb 10 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-16
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
* Thu Feb 04 2016 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
commit 669aa7a887ae70f2faa6f95dc316e95eaa4080c9
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Feb 4 08:42:34 2016 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index bac9985..e6c0da6 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 14%{?dist}
+Release: 15%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Thu Feb 04 2016 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-15
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
commit de6a58ca64c7ebfa4411977044f8da3b8de882c5
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Wed Jun 17 21:00:44 2015 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index 1022c4b..bac9985 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 13%{?dist}
+Release: 14%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
commit 1c63548b21283acd16a23c4bbe378f9251d70c49
Author: Peter Robinson <pbrobinson(a)fedoraproject.org>
Date: Sun Aug 17 10:17:05 2014 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index 4c3f4d7..1022c4b 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 12%{?dist}
+Release: 13%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Sun Aug 17 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-13
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
commit 2b64aecff53b1ea5bcf9fe5cd0cd192b45d585c8
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Sat Jun 7 06:03:19 2014 -0500
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index c0f0474..4c3f4d7 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 11%{?dist}
+Release: 12%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
commit bb74b4d5e2c3c6093dd9e38cbb4585d1a0fdd5c9
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Sat Aug 3 06:47:41 2013 -0500
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index 92c3af0..c0f0474 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 10%{?dist}
+Release: 11%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
* Mon Feb 11 2013 Jon Ciesla <limburgher(a)gmail.com> - 0.7.1-10
- Drop desktop vendor tag.
commit bd1da49781afd198dc23781e9199dadd3fa9689c
Author: Jon Ciesla <limburgher(a)gmail.com>
Date: Mon Feb 11 11:43:28 2013 -0600
Drop vendor tag.
diff --git a/monsterz.spec b/monsterz.spec
index e36ded4..92c3af0 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 9%{?dist}
+Release: 10%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -68,7 +68,7 @@ cp -a sound/* %{buildroot}%{_datadir}/%{name}/sound
install -pm0664 %{SOURCE1} %{buildroot}%{_var}/games/%{name}
-desktop-file-install --vendor fedora \
+desktop-file-install \
--dir %{buildroot}%{_datadir}/applications \
%{name}.desktop
@@ -95,7 +95,7 @@ fi
%files
%defattr(-,root,root,-)
-%{_datadir}/applications/fedora-%{name}.desktop
+%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
%{_datadir}/%{name}
%attr(2755,root,games) %{_bindir}/%{name}
@@ -104,6 +104,9 @@ fi
%changelog
+* Mon Feb 11 2013 Jon Ciesla <limburgher(a)gmail.com> - 0.7.1-10
+- Drop desktop vendor tag.
+
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
commit 698da3b449c1d6aa97d1512c4f42662f228aee4f
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Thu Jul 19 21:48:28 2012 -0500
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index e6abc1b..e36ded4 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 8%{?dist}
+Release: 9%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Fri Jul 20 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
commit 1269b1226d0e343cb0f399ee0cb02fc16308e26c
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Fri Jan 13 04:26:02 2012 -0600
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index bf985de..e6abc1b 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Fri Jan 13 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
commit 77371e01921a7a5f06a1be2ce435024c4b9f3f6c
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Tue Feb 8 14:48:29 2011 -0600
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index 302090c..bf985de 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Tue Feb 08 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
commit 4c7d9a928f063d1b7aff4ae388721e3acaff0409
Author: Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org>
Date: Thu Jul 29 03:40:48 2010 +0000
dist-git conversion
diff --git a/.cvsignore b/.gitignore
similarity index 100%
rename from .cvsignore
rename to .gitignore
diff --git a/Makefile b/Makefile
deleted file mode 100644
index d9559aa..0000000
--- a/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Makefile for source rpm: monsterz
-# $Id: Makefile,v 1.1 2006/07/26 21:29:46 oddsocks Exp $
-NAME := monsterz
-SPECFILE = $(firstword $(wildcard *.spec))
-
-define find-makefile-common
-for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
-endef
-
-MAKEFILE_COMMON := $(shell $(find-makefile-common))
-
-ifeq ($(MAKEFILE_COMMON),)
-# attept a checkout
-define checkout-makefile-common
-test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
-endef
-
-MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
-endif
-
-include $(MAKEFILE_COMMON)
commit febb8ee5b348da6464d6f6ee0cf82fed25effe46
Author: Bill Nottingham <notting(a)fedoraproject.org>
Date: Wed Nov 25 23:18:58 2009 +0000
Fix typo that causes a failure to update the common directory. (releng
#2781)
diff --git a/Makefile b/Makefile
index 9b8d5f6..d9559aa 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,10 @@
# Makefile for source rpm: monsterz
-# $Id$
+# $Id: Makefile,v 1.1 2006/07/26 21:29:46 oddsocks Exp $
NAME := monsterz
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
-for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
+for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
commit 95769eac86336b05ba75c05b2d2ccd28980860f0
Author: Jesse Keating <jkeating(a)fedoraproject.org>
Date: Sat Jul 25 15:05:37 2009 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index 02c934f..302090c 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Sat Jul 25 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
commit 79428f9877433543e481e7705baf15d09194ef27
Author: Jesse Keating <jkeating(a)fedoraproject.org>
Date: Thu Feb 26 02:41:52 2009 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
diff --git a/monsterz.spec b/monsterz.spec
index d33815d..02c934f 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -104,6 +104,9 @@ fi
%changelog
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 0.7.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
* Thu Feb 05 2009 Rafał Psota <rafalzaq(a)gmail.com> - 0.7.1-4
- fixed #473763
commit 0254eb83d566dbce8510247f14be2d8c24ed0060
Author: Rafał Psota <rafalzaq(a)fedoraproject.org>
Date: Thu Feb 5 20:26:31 2009 +0000
#473763 fix
diff --git a/monsterz-0.7.1-blit-crash.patch b/monsterz-0.7.1-blit-crash.patch
new file mode 100644
index 0000000..dd70b7b
--- /dev/null
+++ b/monsterz-0.7.1-blit-crash.patch
@@ -0,0 +1,32 @@
+--- monsterz.py.orig 2007-12-17 23:05:00.000000000 +0100
++++ monsterz.py 2009-02-05 20:54:07.000000000 +0100
+@@ -829,10 +829,10 @@
+ pass
+ else:
+ for x in range(4):
+- for y, p in enumerate(alpha[x]):
+- alpha[x][y] = p * x / 4
+- for y, p in enumerate(alpha[406 - x - 1]):
+- alpha[406 - x - 1][y] = p * x / 4
++ for y in range(len(alpha[x])):
++ alpha[x][y] = alpha[x][y] * x / 4
++ for y in range(len(alpha[406 - x - 1])):
++ alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x / 4
+ for col in alpha:
+ l = len(col)
+ for y in range(4):
+@@ -1287,10 +1287,10 @@
+ pass
+ else:
+ for x in range(10):
+- for y, p in enumerate(alpha[x]):
+- alpha[x][y] = p * x / 12
+- for y, p in enumerate(alpha[406 - x - 1]):
+- alpha[406 - x - 1][y] = p * x / 12
++ for y in range(len(alpha[x])):
++ alpha[x][y] = alpha[x][y] * x / 12
++ for y in range(len(alpha[406 - x - 1])):
++ alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x / 12
+ del alpha
+ scroll.unlock()
+ system.blit(scroll, (13, 437))
diff --git a/monsterz.spec b/monsterz.spec
index 01da1a8..d33815d 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -9,6 +9,7 @@ Source0: http://sam.zoy.org/%{name}/%{name}-%{version}.tar.gz
Source1: %{name}.score
Patch0: %{name}-0.7.1-userpmopts.patch
Patch1: %{name}-0.7.1-64bitfix.patch
+Patch2: %{name}-0.7.1-blit-crash.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: desktop-file-utils
Requires: pygame
@@ -31,6 +32,7 @@ board again. Chain reactions earn you even more points.
%ifarch x86_64 ppc64
%patch1 -p1
%endif
+%patch2 -p0
%build
@@ -102,6 +104,9 @@ fi
%changelog
+* Thu Feb 05 2009 Rafał Psota <rafalzaq(a)gmail.com> - 0.7.1-4
+- fixed #473763
+
* Tue Feb 26 2008 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.1-3
- Fix for BZ 434688
commit 71e6a30014f6f7e9c65632eaa87185574a10b799
Author: oddsocks <oddsocks(a)fedoraproject.org>
Date: Tue Feb 26 19:45:35 2008 +0000
*** empty log message ***
diff --git a/monsterz-0.7.1-64bitfix.patch b/monsterz-0.7.1-64bitfix.patch
new file mode 100644
index 0000000..cf57277
--- /dev/null
+++ b/monsterz-0.7.1-64bitfix.patch
@@ -0,0 +1,20 @@
+--- monsterz-0.7.1/monsterz.py.orig 2007-12-17 22:05:00.000000000 +0000
++++ monsterz-0.7.1/monsterz.py 2008-02-26 14:23:34.000000000 +0000
+@@ -108,7 +108,7 @@
+ M = int(max(r, g, b))
+ m = int(min(r, g, b))
+ val = (2 * M + r + g + b) / 5
+- p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
++ #p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
+ if alpha[y][x] >= 250:
+ alpha[y][x] = 255 - (M - m) * 3 / 4
+ del pixels
+@@ -129,7 +129,7 @@
+ r, g, b = p
+ M = int(max(r, g, b))
+ m = int(min(r, g, b))
+- p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
++ #p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
+ if alpha[y][x] >= 250:
+ alpha[y][x] = 255 - M * 2 / 3
+ del pixels
diff --git a/monsterz.spec b/monsterz.spec
index 4d7831e..01da1a8 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,13 +1,14 @@
Name: monsterz
Version: 0.7.1
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
URL: http://sam.zoy.org/monsterz/
Source0: http://sam.zoy.org/%{name}/%{name}-%{version}.tar.gz
Source1: %{name}.score
-Patch0: monsterz-0.7.1-userpmopts.patch
+Patch0: %{name}-0.7.1-userpmopts.patch
+Patch1: %{name}-0.7.1-64bitfix.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: desktop-file-utils
Requires: pygame
@@ -27,6 +28,9 @@ board again. Chain reactions earn you even more points.
%prep
%setup -q
%patch0 -p1
+%ifarch x86_64 ppc64
+%patch1 -p1
+%endif
%build
@@ -98,6 +102,9 @@ fi
%changelog
+* Tue Feb 26 2008 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.1-3
+- Fix for BZ 434688
+
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng(a)fedoraproject.org> - 0.7.1-2
- Autorebuild for GCC 4.3
commit 31f0d5fcfad47b065ec2a3d317fda9c80d1d6f62
Author: Jesse Keating <jkeating(a)fedoraproject.org>
Date: Tue Feb 19 16:48:53 2008 +0000
- Autorebuild for GCC 4.3
diff --git a/monsterz.spec b/monsterz.spec
index a7b13f6..4d7831e 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,6 +1,6 @@
Name: monsterz
Version: 0.7.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
@@ -98,6 +98,9 @@ fi
%changelog
+* Tue Feb 19 2008 Fedora Release Engineering <rel-eng(a)fedoraproject.org> - 0.7.1-2
+- Autorebuild for GCC 4.3
+
* Sun Jan 06 2008 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.1-1
- Upgrade to 0.7.1
- Drop separate data package as it's unnecessary
commit d910cfddfe48636ad5c31b8a2060efe7f082f99f
Author: oddsocks <oddsocks(a)fedoraproject.org>
Date: Sun Jan 6 20:45:50 2008 +0000
*** empty log message ***
diff --git a/.cvsignore b/.cvsignore
index 302018c..8077f35 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1 @@
-monsterz-0.7.0.tar.gz
+monsterz-0.7.1.tar.gz
diff --git a/monsterz-0.7.0-userpmopts.patch b/monsterz-0.7.1-userpmopts.patch
similarity index 60%
rename from monsterz-0.7.0-userpmopts.patch
rename to monsterz-0.7.1-userpmopts.patch
index 76761be..64547b6 100644
--- a/monsterz-0.7.0-userpmopts.patch
+++ b/monsterz-0.7.1-userpmopts.patch
@@ -1,11 +1,11 @@
---- monsterz-0.7.0/Makefile.orig 2006-05-30 00:43:59.000000000 +0100
-+++ monsterz-0.7.0/Makefile 2006-05-30 00:44:24.000000000 +0100
+--- monsterz-0.7.1/Makefile.orig 2007-12-17 22:05:00.000000000 +0000
++++ monsterz-0.7.1/Makefile 2008-01-06 17:28:03.000000000 +0000
@@ -6,6 +6,7 @@
scoredir = /var/games
scorefile = $(scoredir)/monsterz
+CFLAGS=
- VERSION = 0.7.0
+ VERSION = 0.7.1
DIRECTORY = monsterz-$(VERSION)
@@ -22,7 +23,7 @@
@@ -13,7 +13,7 @@
monsterz: monsterz.c
- $(CC) -Wall monsterz.c -DDATADIR=\"$(pkgdatadir)\" -DSCOREFILE=\"$(scorefile)\" -o monsterz
-+ $(CC) ${CFLAGS} -Wall monsterz.c -DDATADIR=\"$(pkgdatadir)\" -DSCOREFILE=\"$(scorefile)\" -o monsterz
++ $(CC) $(CFLAGS) -Wall monsterz.c -DDATADIR=\"$(pkgdatadir)\" -DSCOREFILE=\"$(scorefile)\" -o monsterz
bitmap: $(BITMAP)
diff --git a/monsterz.desktop b/monsterz.desktop
deleted file mode 100644
index 8847f5d..0000000
--- a/monsterz.desktop
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=Monsterz
-GenericName=Monsterz Puzzle Game
-Comment=Puzzle game, similar to Bejeweled or Zookeeper
-Exec=monsterz
-Icon=monsterz.png
-Terminal=false
-Type=Application
-Categories=Application;Game;StrategyGame;
diff --git a/monsterz.png b/monsterz.png
deleted file mode 100644
index 2db30bb..0000000
Binary files a/monsterz.png and /dev/null differ
diff --git a/monsterz.spec b/monsterz.spec
index 8caadda..a7b13f6 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,20 +1,19 @@
Name: monsterz
-Version: 0.7.0
-Release: 8%{?dist}
+Version: 0.7.1
+Release: 1%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
-URL: http://sam.zoy.org/%{name}/
+URL: http://sam.zoy.org/monsterz/
Source0: http://sam.zoy.org/%{name}/%{name}-%{version}.tar.gz
-Source1: monsterz.png
-Source2: monsterz.desktop
-Source3: monsterz.score
-Patch0: monsterz-0.7.0-userpmopts.patch
+Source1: %{name}.score
+Patch0: monsterz-0.7.1-userpmopts.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: desktop-file-utils
-Requires: monsterz-data
Requires: pygame
Requires: hicolor-icon-theme
+Provides: %{name}-data = %{version}-%{release}
+Obsoletes: %{name}-data < 0.7.1
%description
Monsterz is a little arcade puzzle game, similar to the famous Bejeweled or
@@ -25,14 +24,6 @@ alignments are cleared, pieces fall from the top of the screen to fill the
board again. Chain reactions earn you even more points.
-%package data
-Summary: Data files for the game monsterz
-Group: Amusements/Games
-
-%description data
-Data files for the game monsterz
-
-
%prep
%setup -q
%patch0 -p1
@@ -41,29 +32,41 @@ Data files for the game monsterz
%build
make %{?_smp_mflags} prefix=%{_usr} datadir=%{_datadir} pkgdatadir=%{_datadir}/%{name} CFLAGS="%{optflags}"
+# Build desktop icon
+cat >%{name}.desktop <<EOF
+[Desktop Entry]
+Encoding=UTF-8
+Name=Monsterz
+GenericName=Monsterz Puzzle Game
+Comment=%{summary}
+Exec=%{name}
+Icon=%{name}
+Terminal=false
+Type=Application
+Categories=Game;StrategyGame;
+EOF
+
%install
rm -rf %{buildroot}
-#Bypass make install as it requires root priviledges and the SRPM
-#may not necessarily be built as root
+# Bypass make install as it requires root priviledges and the SRPM
+# may not necessarily be built as root
mkdir -p %{buildroot}%{_bindir}
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
-mkdir -p %{buildroot}%{_datadir}/applications
-mkdir -p %{buildroot}%{_datadir}/%{name}/graphics
-mkdir -p %{buildroot}%{_datadir}/%{name}/sound
+mkdir -p %{buildroot}%{_datadir}/{applications,icons/hicolor/64x64/apps}
+mkdir -p %{buildroot}%{_datadir}/%{name}/{graphics,sound}
mkdir -p %{buildroot}%{_var}/games
install -pm0755 %{name} %{buildroot}%{_bindir}
install -pm0755 %{name}.py %{buildroot}%{_datadir}/%{name}
-cp -a graphics/*.png %{buildroot}%{_datadir}/%{name}/graphics
+cp -a graphics/* %{buildroot}%{_datadir}/%{name}/graphics
cp -a sound/* %{buildroot}%{_datadir}/%{name}/sound
-install -pm0664 %{SOURCE3} %{buildroot}%{_var}/games/%{name}
+install -pm0664 %{SOURCE1} %{buildroot}%{_var}/games/%{name}
desktop-file-install --vendor fedora \
--dir %{buildroot}%{_datadir}/applications \
- %{SOURCE2}
+ %{name}.desktop
-install -pm0644 %{SOURCE1} %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
+install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
%clean
@@ -88,43 +91,47 @@ fi
%defattr(-,root,root,-)
%{_datadir}/applications/fedora-%{name}.desktop
%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
+%{_datadir}/%{name}
%attr(2755,root,games) %{_bindir}/%{name}
%attr(-,root,games) %config(noreplace) %{_var}/games/%{name}
%doc AUTHORS COPYING README TODO
-%files data
-%defattr(-,root,root,-)
-%{_datadir}/%{name}
-
-
%changelog
-* Wed Aug 22 2007 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-8
+* Sun Jan 06 2008 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.1-1
+- Upgrade to 0.7.1
+- Drop separate data package as it's unnecessary
+- Merge .desktop back into SPEC
+- Various spec cleanups
+- Updated the "use rpm opts" patch
+- Use the icon now supplied
+
+* Wed Aug 22 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-8
- Release bump for F8 mass rebuild
-* Mon Aug 28 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-7
+* Mon Aug 28 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-7
- Release bump for FC6 mass rebuild
-* Tue Jul 25 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-6
+* Tue Jul 25 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-6
- Split data into a separate package.
-* Sun Jul 23 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-5
+* Sun Jul 23 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-5
- Moved .desktop external to spec
- Moved score file external to spec
- License changed to WTFPL
- Use %%{_datadir}/%%{name} not %%{_datadir}/games/%%{name}
-* Sun Jul 09 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-4
+* Sun Jul 09 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-4
- Moved icon installation to make it freedesktop compliant
- Added %%post and %%postun sections to update icon cache at installation
- Move hiscore table and .desktop generation to %%build
-* Sat Jun 24 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-3
+* Sat Jun 24 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-3
- Cosmetic fixes for the Dribble repository
-* Mon May 29 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-2
+* Mon May 29 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-2
- Replace %%{__rm} in clean section with rm
- Added patch to compile using rpmoptflags
-* Mon May 22 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-1.iss
+* Mon May 22 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.7.0-1.iss
- Initial Release
diff --git a/sources b/sources
index d93053f..de271d9 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-323d04d4a2a2905df91eab4ff17e537d monsterz-0.7.0.tar.gz
+c2bdb68dcd636df1abd130ac86defd11 monsterz-0.7.1.tar.gz
commit b474b6ca2800eeb8060be3343ea50bd5477954be
Author: oddsocks <oddsocks(a)fedoraproject.org>
Date: Wed Aug 22 19:00:40 2007 +0000
*** empty log message ***
diff --git a/monsterz.spec b/monsterz.spec
index e5fea68..8caadda 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,8 +1,7 @@
Name: monsterz
Version: 0.7.0
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
-
Group: Amusements/Games
License: WTFPL
URL: http://sam.zoy.org/%{name}/
@@ -13,8 +12,9 @@ Source3: monsterz.score
Patch0: monsterz-0.7.0-userpmopts.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: desktop-file-utils
-Requires: pygame
Requires: monsterz-data
+Requires: pygame
+Requires: hicolor-icon-theme
%description
Monsterz is a little arcade puzzle game, similar to the famous Bejeweled or
@@ -39,7 +39,7 @@ Data files for the game monsterz
%build
-make %{?_smp_mflags} prefix=%{_usr} datadir=%{_datadir} pkgdatadir=%{_datadir}/%{name} CFLAGS="$RPM_OPT_FLAGS"
+make %{?_smp_mflags} prefix=%{_usr} datadir=%{_datadir} pkgdatadir=%{_datadir}/%{name} CFLAGS="%{optflags}"
%install
@@ -60,7 +60,6 @@ cp -a sound/* %{buildroot}%{_datadir}/%{name}/sound
install -pm0664 %{SOURCE3} %{buildroot}%{_var}/games/%{name}
desktop-file-install --vendor fedora \
- --add-category X-Fedora \
--dir %{buildroot}%{_datadir}/applications \
%{SOURCE2}
@@ -100,27 +99,30 @@ fi
%changelog
-* Mon Aug 28 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-7%{?dist}
+* Wed Aug 22 2007 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-8
+- Release bump for F8 mass rebuild
+
+* Mon Aug 28 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-7
- Release bump for FC6 mass rebuild
-* Tue Jul 25 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-6%{?dist}
+* Tue Jul 25 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-6
- Split data into a separate package.
-* Sun Jul 23 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-5%{?dist}
+* Sun Jul 23 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-5
- Moved .desktop external to spec
- Moved score file external to spec
- License changed to WTFPL
- Use %%{_datadir}/%%{name} not %%{_datadir}/games/%%{name}
-* Sun Jul 09 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-4%{?dist}
+* Sun Jul 09 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-4
- Moved icon installation to make it freedesktop compliant
- Added %%post and %%postun sections to update icon cache at installation
- Move hiscore table and .desktop generation to %%build
-* Sat Jun 24 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-3%{?dist}
+* Sat Jun 24 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-3
- Cosmetic fixes for the Dribble repository
-* Mon May 29 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-2%{?dist}
+* Mon May 29 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-2
- Replace %%{__rm} in clean section with rm
- Added patch to compile using rpmoptflags
commit ece7af95530f0479fdda6a82ed71837a3da1356f
Author: oddsocks <oddsocks(a)fedoraproject.org>
Date: Mon Aug 28 16:37:15 2006 +0000
auto-import monsterz-0.7.0-7 on branch devel from monsterz-0.7.0-7.src.rpm
diff --git a/monsterz.spec b/monsterz.spec
index b873309..e5fea68 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -1,12 +1,12 @@
Name: monsterz
Version: 0.7.0
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: Puzzle game, similar to Bejeweled or Zookeeper
Group: Amusements/Games
License: WTFPL
-URL: http://sam.zoy.org/monsterz/
-Source0: http://sam.zoy.org/monsterz/%{name}-%{version}.tar.gz
+URL: http://sam.zoy.org/%{name}/
+Source0: http://sam.zoy.org/%{name}/%{name}-%{version}.tar.gz
Source1: monsterz.png
Source2: monsterz.desktop
Source3: monsterz.score
@@ -28,6 +28,7 @@ board again. Chain reactions earn you even more points.
%package data
Summary: Data files for the game monsterz
Group: Amusements/Games
+
%description data
Data files for the game monsterz
@@ -51,12 +52,12 @@ mkdir -p %{buildroot}%{_datadir}/applications
mkdir -p %{buildroot}%{_datadir}/%{name}/graphics
mkdir -p %{buildroot}%{_datadir}/%{name}/sound
mkdir -p %{buildroot}%{_var}/games
-install -pm0755 monsterz %{buildroot}%{_bindir}
-install -pm0755 monsterz.py %{buildroot}%{_datadir}/%{name}
+install -pm0755 %{name} %{buildroot}%{_bindir}
+install -pm0755 %{name}.py %{buildroot}%{_datadir}/%{name}
cp -a graphics/*.png %{buildroot}%{_datadir}/%{name}/graphics
cp -a sound/* %{buildroot}%{_datadir}/%{name}/sound
-install -pm0664 %{SOURCE3} %{buildroot}%{_var}/games/monsterz
+install -pm0664 %{SOURCE3} %{buildroot}%{_var}/games/%{name}
desktop-file-install --vendor fedora \
--add-category X-Fedora \
@@ -99,6 +100,9 @@ fi
%changelog
+* Mon Aug 28 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-7%{?dist}
+- Release bump for FC6 mass rebuild
+
* Tue Jul 25 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-6%{?dist}
- Split data into a separate package.
commit efd5723d0624166e3bcd955f9a4fce75df691c83
Author: oddsocks <oddsocks(a)fedoraproject.org>
Date: Mon Aug 28 16:36:04 2006 +0000
Package rebuild
diff --git a/needs.rebuild b/needs.rebuild
deleted file mode 100644
index 815fd29..0000000
--- a/needs.rebuild
+++ /dev/null
@@ -1 +0,0 @@
-http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild
commit bd7e4996f74302a203f5475fd0af0fe36d98bcc7
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Aug 27 20:41:10 2006 +0000
http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild
diff --git a/needs.rebuild b/needs.rebuild
new file mode 100644
index 0000000..815fd29
--- /dev/null
+++ b/needs.rebuild
@@ -0,0 +1 @@
+http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild
commit bd5607e047c9568845f93c670afc7ec24be06ea5
Author: oddsocks <oddsocks(a)fedoraproject.org>
Date: Wed Jul 26 21:31:02 2006 +0000
auto-import monsterz-0.7.0-6 on branch devel from monsterz-0.7.0-6.src.rpm
diff --git a/.cvsignore b/.cvsignore
index e69de29..302018c 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -0,0 +1 @@
+monsterz-0.7.0.tar.gz
diff --git a/monsterz-0.7.0-userpmopts.patch b/monsterz-0.7.0-userpmopts.patch
new file mode 100644
index 0000000..76761be
--- /dev/null
+++ b/monsterz-0.7.0-userpmopts.patch
@@ -0,0 +1,19 @@
+--- monsterz-0.7.0/Makefile.orig 2006-05-30 00:43:59.000000000 +0100
++++ monsterz-0.7.0/Makefile 2006-05-30 00:44:24.000000000 +0100
+@@ -6,6 +6,7 @@
+ scoredir = /var/games
+ scorefile = $(scoredir)/monsterz
+
++CFLAGS=
+ VERSION = 0.7.0
+ DIRECTORY = monsterz-$(VERSION)
+
+@@ -22,7 +23,7 @@
+ all: monsterz
+
+ monsterz: monsterz.c
+- $(CC) -Wall monsterz.c -DDATADIR=\"$(pkgdatadir)\" -DSCOREFILE=\"$(scorefile)\" -o monsterz
++ $(CC) ${CFLAGS} -Wall monsterz.c -DDATADIR=\"$(pkgdatadir)\" -DSCOREFILE=\"$(scorefile)\" -o monsterz
+
+ bitmap: $(BITMAP)
+
diff --git a/monsterz.desktop b/monsterz.desktop
new file mode 100644
index 0000000..8847f5d
--- /dev/null
+++ b/monsterz.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Monsterz
+GenericName=Monsterz Puzzle Game
+Comment=Puzzle game, similar to Bejeweled or Zookeeper
+Exec=monsterz
+Icon=monsterz.png
+Terminal=false
+Type=Application
+Categories=Application;Game;StrategyGame;
diff --git a/monsterz.png b/monsterz.png
new file mode 100644
index 0000000..2db30bb
Binary files /dev/null and b/monsterz.png differ
diff --git a/monsterz.score b/monsterz.score
new file mode 100644
index 0000000..200e3ac
--- /dev/null
+++ b/monsterz.score
@@ -0,0 +1,11 @@
+CLASSIC:Tux:1000:1
+CLASSIC:Tux:900:1
+CLASSIC:Tux:800:1
+CLASSIC:Tux:700:1
+CLASSIC:Tux:600:1
+CLASSIC:Tux:500:1
+CLASSIC:Tux:400:1
+CLASSIC:Tux:300:1
+CLASSIC:Tux:200:1
+CLASSIC:Tux:100:1
+
diff --git a/monsterz.spec b/monsterz.spec
new file mode 100644
index 0000000..b873309
--- /dev/null
+++ b/monsterz.spec
@@ -0,0 +1,124 @@
+Name: monsterz
+Version: 0.7.0
+Release: 6%{?dist}
+Summary: Puzzle game, similar to Bejeweled or Zookeeper
+
+Group: Amusements/Games
+License: WTFPL
+URL: http://sam.zoy.org/monsterz/
+Source0: http://sam.zoy.org/monsterz/%{name}-%{version}.tar.gz
+Source1: monsterz.png
+Source2: monsterz.desktop
+Source3: monsterz.score
+Patch0: monsterz-0.7.0-userpmopts.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires: desktop-file-utils
+Requires: pygame
+Requires: monsterz-data
+
+%description
+Monsterz is a little arcade puzzle game, similar to the famous Bejeweled or
+Zookeeper. The goal of the game is to create rows of similar monsters, either
+horizontally or vertically. The only allowed move is the swap of two adjacent
+monsters, on the condition that it creates a row of three or more. When
+alignments are cleared, pieces fall from the top of the screen to fill the
+board again. Chain reactions earn you even more points.
+
+
+%package data
+Summary: Data files for the game monsterz
+Group: Amusements/Games
+%description data
+Data files for the game monsterz
+
+
+%prep
+%setup -q
+%patch0 -p1
+
+
+%build
+make %{?_smp_mflags} prefix=%{_usr} datadir=%{_datadir} pkgdatadir=%{_datadir}/%{name} CFLAGS="$RPM_OPT_FLAGS"
+
+
+%install
+rm -rf %{buildroot}
+#Bypass make install as it requires root priviledges and the SRPM
+#may not necessarily be built as root
+mkdir -p %{buildroot}%{_bindir}
+mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
+mkdir -p %{buildroot}%{_datadir}/applications
+mkdir -p %{buildroot}%{_datadir}/%{name}/graphics
+mkdir -p %{buildroot}%{_datadir}/%{name}/sound
+mkdir -p %{buildroot}%{_var}/games
+install -pm0755 monsterz %{buildroot}%{_bindir}
+install -pm0755 monsterz.py %{buildroot}%{_datadir}/%{name}
+cp -a graphics/*.png %{buildroot}%{_datadir}/%{name}/graphics
+cp -a sound/* %{buildroot}%{_datadir}/%{name}/sound
+
+install -pm0664 %{SOURCE3} %{buildroot}%{_var}/games/monsterz
+
+desktop-file-install --vendor fedora \
+ --add-category X-Fedora \
+ --dir %{buildroot}%{_datadir}/applications \
+ %{SOURCE2}
+
+install -pm0644 %{SOURCE1} %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
+
+
+%clean
+rm -rf %{buildroot}
+
+
+%post
+touch --no-create %{_datadir}/icons/hicolor || :
+if [ -x %{_bindir}/gtk-update-icon-cache ]; then
+ %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
+fi
+
+
+%postun
+touch --no-create %{_datadir}/icons/hicolor || :
+if [ -x %{_bindir}/gtk-update-icon-cache ]; then
+ %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
+fi
+
+
+%files
+%defattr(-,root,root,-)
+%{_datadir}/applications/fedora-%{name}.desktop
+%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
+%attr(2755,root,games) %{_bindir}/%{name}
+%attr(-,root,games) %config(noreplace) %{_var}/games/%{name}
+%doc AUTHORS COPYING README TODO
+
+
+%files data
+%defattr(-,root,root,-)
+%{_datadir}/%{name}
+
+
+%changelog
+* Tue Jul 25 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-6%{?dist}
+- Split data into a separate package.
+
+* Sun Jul 23 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-5%{?dist}
+- Moved .desktop external to spec
+- Moved score file external to spec
+- License changed to WTFPL
+- Use %%{_datadir}/%%{name} not %%{_datadir}/games/%%{name}
+
+* Sun Jul 09 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-4%{?dist}
+- Moved icon installation to make it freedesktop compliant
+- Added %%post and %%postun sections to update icon cache at installation
+- Move hiscore table and .desktop generation to %%build
+
+* Sat Jun 24 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-3%{?dist}
+- Cosmetic fixes for the Dribble repository
+
+* Mon May 29 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-2%{?dist}
+- Replace %%{__rm} in clean section with rm
+- Added patch to compile using rpmoptflags
+
+* Mon May 22 2006 Ian Chapman <packages(a)amiga-hardware.com> 0.7.0-1.iss
+- Initial Release
diff --git a/sources b/sources
index e69de29..d93053f 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+323d04d4a2a2905df91eab4ff17e537d monsterz-0.7.0.tar.gz
2 years, 8 months
Architecture specific change in rpms/monsterz.git
by githook-noreply@fedoraproject.org
The package rpms/monsterz.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/monsterz.git/commit/?id=8f3b6bb3d....
Change:
-%ifarch x86_64 ppc64
Thanks.
Full change:
============
commit 8f3b6bb3d12c8efbe31ae63f047fd33ae90c8993
Author: Gwyn Ciesla <gwync(a)protonmail.com>
Date: Mon Jun 29 15:00:59 2020 -0500
Reimport.
diff --git a/monsterz-0.7.1-64bitfix.patch b/monsterz-0.7.1-64bitfix.patch
index cf57277..92880a2 100644
--- a/monsterz-0.7.1-64bitfix.patch
+++ b/monsterz-0.7.1-64bitfix.patch
@@ -5,7 +5,7 @@
m = int(min(r, g, b))
val = (2 * M + r + g + b) / 5
- p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
-+ #p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
++ if sys.maxsize > 2**32 : p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
if alpha[y][x] >= 250:
alpha[y][x] = 255 - (M - m) * 3 / 4
del pixels
@@ -14,7 +14,17 @@
M = int(max(r, g, b))
m = int(min(r, g, b))
- p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
-+ #p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
++ if sys.maxsize > 2**32 : p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
if alpha[y][x] >= 250:
alpha[y][x] = 255 - M * 2 / 3
del pixels
+--- a/monsterz.py~ 2020-06-26 09:09:34.000000000 -0500
++++ b/monsterz.py 2020-06-26 09:10:19.792440888 -0500
+@@ -18,6 +18,7 @@
+ from sys import argv, exit, platform
+ from os.path import join, isdir, isfile, dirname, expanduser
+ from os import write, mkdir
++import sys
+
+ # String constants
+ VERSION = '0.7.1'
diff --git a/monsterz-0.7.1-py3.patch b/monsterz-0.7.1-py3.patch
new file mode 100644
index 0000000..ad20af1
--- /dev/null
+++ b/monsterz-0.7.1-py3.patch
@@ -0,0 +1,958 @@
+--- monsterz-0.7.1/monsterz.py-orig 2020-05-25 15:17:11.983644319 -0400
++++ monsterz-0.7.1/monsterz.py 2020-05-26 00:25:43.582901909 -0400
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+
+ """
+@@ -107,10 +107,10 @@
+ r, g, b = p
+ M = int(max(r, g, b))
+ m = int(min(r, g, b))
+- val = (2 * M + r + g + b) / 5
++ val = (2 * M + r + g + b) // 5
+ if sys.maxsize > 2**32 : p[:] = (val + r) / 2, (val + g) / 2, (val + b) / 2
+ if alpha[y][x] >= 250:
+- alpha[y][x] = 255 - (M - m) * 3 / 4
++ alpha[y][x] = 255 - (M - m) * 3 // 4
+ del pixels
+ del alpha
+ surf.unlock()
+@@ -131,7 +131,7 @@
+ m = int(min(r, g, b))
+ if sys.maxsize > 2**32 : p[:] = (m + r) / 2, (m + g) / 2, (m + b) / 2
+ if alpha[y][x] >= 250:
+- alpha[y][x] = 255 - M * 2 / 3
++ alpha[y][x] = 255 - M * 2 // 3
+ del pixels
+ del alpha
+ surf.unlock()
+@@ -218,12 +218,12 @@
+ file.close()
+
+ def get(self, key):
+- if not self.config.has_key(key):
++ if key not in self.config:
+ return None
+ return self.config[key]
+
+ def set(self, key, value):
+- if not self.config.has_key(key):
++ if key not in self.config:
+ return
+ self.config[key] = value
+
+@@ -241,15 +241,15 @@
+ pass
+ # Add dummy scores to make sure our score list is full
+ for game in ['CLASSIC']:
+- if not self.scores.has_key(game):
++ if game not in self.scores:
+ self.scores[game] = []
+ for x in range(20): self._add_score(game, 'NOBODY', 0, 1)
+
+ def _add_score(self, game, name, score, level):
+- if not self.scores.has_key(game):
++ if game not in self.scores:
+ self.scores[game] = []
+ self.scores[game].append((name, score, level))
+- self.scores[game].sort(compare_scores)
++ self.scores[game].sort(key = lambda s: (s[1], s[2]), reverse=True)
+ self.scores[game] = self.scores[game][0:19]
+
+ def new_score(self, game, score, level):
+@@ -264,7 +264,7 @@
+ msg += type + ':' + name + ':' + str(score) + ':' + str(level)
+ msg += '\n'
+ if self.outfd is not None:
+- write(self.outfd, msg + '\n')
++ write(self.outfd, (msg + '\n').encode())
+ else:
+ try:
+ file = open(self.scorefile, 'w')
+@@ -286,7 +286,7 @@
+ self.background = pygame.image.load(join(dir, 'graphics', 'background.png')).convert()
+ self.board = pygame.image.load(join(dir, 'graphics', 'board.png')).convert()
+ self.logo = pygame.image.load(join(dir, 'graphics', 'logo.png')).convert_alpha()
+- self.orig_size = w / 5
++ self.orig_size = w // 5
+ self.normal = [None] * ITEMS
+ self.blink = [None] * ITEMS
+ self.tiny = [None] * ITEMS
+@@ -316,8 +316,8 @@
+ # Create sprites
+ for i in range(ITEMS):
+ self.normal[i] = scale(tile_at(0, i + 5), (t, t))
+- self.tiny[i] = scale(tile_at(0, i + 5), (t * 3 / 4, t * 3 / 4))
+- self.shaded[i] = scale(tile_at(3, i + 5), (t * 3 / 4, t * 3 / 4))
++ self.tiny[i] = scale(tile_at(0, i + 5), (t * 3 // 4, t * 3 // 4))
++ self.shaded[i] = scale(tile_at(3, i + 5), (t * 3 // 4, t * 3 // 4))
+ semi_grayscale(self.shaded[i])
+ self.blink[i] = scale(tile_at(1, i + 5), (t, t))
+ self.surprise[i] = scale(tile_at(2, i + 5), (t, t))
+@@ -326,15 +326,15 @@
+ #tmp = tile_at(1, 0).copy() # marche pas !
+ tmp = scale(tile_at(1, 0), (t, t)) # marche...
+ mini = tile_at(0, i + 5)
+- mini = scale(mini, (t * 7 / 8 - 1, t * 7 / 8 - 1))
+- tmp.blit(mini, (s / 16, s / 16))
++ mini = scale(mini, (t * 7 // 8 - 1, t * 7 // 8 - 1))
++ tmp.blit(mini, (s // 16, s // 16))
+ self.special[i] = scale(tmp, (t, t))
+- self.led_off = scale(self.tiles.subsurface((3 * s, 0, s / 2, s / 2)), (t / 2, t / 2))
+- self.led_on = scale(self.tiles.subsurface((3 * s + s / 2, 0, s / 2, s / 2)), (t / 2, t / 2))
+- self.led_more = scale(self.tiles.subsurface((3 * s, s / 2, s / 2, s / 2)), (t / 2, t / 2))
+- self.led_less = scale(self.tiles.subsurface((3 * s + s / 2, s / 2, s / 2, s / 2)), (t / 2, t / 2))
+- self.eye = scale(tile_at(2, 0), (t * 3 / 4, t * 3 / 4))
+- self.shadeye = scale(tile_at(2, 0), (t * 3 / 4, t * 3 / 4))
++ self.led_off = scale(self.tiles.subsurface((3 * s, 0, s // 2, s // 2)), (t // 2, t // 2))
++ self.led_on = scale(self.tiles.subsurface((3 * s + s // 2, 0, s // 2, s // 2)), (t // 2, t // 2))
++ self.led_more = scale(self.tiles.subsurface((3 * s, s // 2, s // 2, s // 2)), (t // 2, t // 2))
++ self.led_less = scale(self.tiles.subsurface((3 * s + s // 2, s // 2, s // 2, s // 2)), (t // 2, t // 2))
++ self.eye = scale(tile_at(2, 0), (t * 3 // 4, t * 3 // 4))
++ self.shadeye = scale(tile_at(2, 0), (t * 3 // 4, t * 3 // 4))
+ semi_transp(self.shadeye)
+ self.arrow = tile_at(4, 0)
+ self.selector = scale(tile_at(0, 0), (t, t))
+@@ -367,7 +367,7 @@
+
+ def screen2board(self, coord):
+ x, y = coord
+- return ((x - 24) / ITEM_SIZE, (y - 24) / ITEM_SIZE)
++ return ((x - 24) // ITEM_SIZE, (y - 24) // ITEM_SIZE)
+
+ class Sprite:
+ def __init__(self, surf, coord):
+@@ -398,7 +398,8 @@
+ def blit(self, surf, coords):
+ self.background.blit(surf, coords)
+
+- def blit_board(self, (x1, y1, x2, y2)):
++ def blit_board(self, r):
++ (x1, y1, x2, y2) = r
+ x1, y1 = x1 * ITEM_SIZE, y1 * ITEM_SIZE
+ x2, y2 = x2 * ITEM_SIZE - x1, y2 * ITEM_SIZE - y1
+ surf = data.board.subsurface((x1, y1, x2, y2))
+@@ -454,16 +455,16 @@
+ self.cache.append((m, s, c, t))
+ return t
+ font = pygame.font.Font(None, size * 2)
+- delta = 2 + size / 8
++ delta = 2 + size // 8
+ black = font.render(msg, 2, (0, 0, 0))
+ w, h = black.get_size()
+ text = pygame.Surface((w + delta, h + delta)).convert_alpha()
+ text.fill((0, 0, 0, 0))
+ for x, y in [(5, 5), (6, 3), (5, 1), (3, 0),
+ (1, 1), (0, 3), (1, 5), (3, 6)]:
+- text.blit(black, (x * delta / 6, y * delta / 6))
++ text.blit(black, (x * delta // 6, y * delta // 6))
+ white = font.render(msg, 2, color)
+- text.blit(white, (delta / 2, delta / 2))
++ text.blit(white, (delta // 2, delta // 2))
+ text = pygame.transform.rotozoom(text, 0.0, 0.5)
+ self.cache.append((msg, size, color, text))
+ if len(self.cache) > self.size:
+@@ -492,7 +493,7 @@
+ self.win_timer = 0
+ self.warning_timer = 0
+ self.switch_timer = 0
+- self.level_timer = SCROLL_DELAY / 2
++ self.level_timer = SCROLL_DELAY // 2
+ self.board_timer = 0
+ self.missed = False
+ self.check_moves = False
+@@ -527,11 +528,11 @@
+ #self.board[randint(3, 4)][0] = ITEM_METAL
+
+ def fill_board(self):
+- for y in xrange(BOARD_HEIGHT - 1, -1, -1):
+- for x in xrange(BOARD_WIDTH - 1, -1, -1):
++ for y in range(BOARD_HEIGHT - 1, -1, -1):
++ for x in range(BOARD_WIDTH - 1, -1, -1):
+ if self.board[x][y] != ITEM_NONE:
+ continue
+- for y2 in xrange(y - 1, -1, -1):
++ for y2 in range(y - 1, -1, -1):
+ if self.board[x][y2] != ITEM_NONE:
+ self.board[x][y] = self.board[x][y2]
+ self.extra_offset[x][y] = (0, ITEM_SIZE * (y2 - y))
+@@ -683,7 +684,7 @@
+ system.blit(data.board, (24, 24))
+ # Have a random piece blink
+ c = randint(0, BOARD_WIDTH - 1), randint(0, BOARD_HEIGHT - 1)
+- if randint(0, 5) is 0 and not self.blink_list.has_key(c):
++ if randint(0, 5) == 0 and c not in self.blink_list:
+ self.blink_list[c] = 5
+ # Handle special scrolling cases
+ if self.level_timer:
+@@ -692,21 +693,21 @@
+ timer = self.board_timer
+ else:
+ timer = 0
+- if timer > SCROLL_DELAY / 2:
++ if timer > SCROLL_DELAY // 2:
+ global_xoff = 0
+ yoff = (SCROLL_DELAY - timer) * (SCROLL_DELAY - timer)
+- global_yoff = yoff * 50 * 50 / SCROLL_DELAY / SCROLL_DELAY
++ global_yoff = yoff * 50 * 50 // SCROLL_DELAY // SCROLL_DELAY
+ elif timer > 0:
+ global_xoff = 0
+ yoff = - timer * timer
+- global_yoff = yoff * 50 * 50 / SCROLL_DELAY / SCROLL_DELAY
++ global_yoff = yoff * 50 * 50 // SCROLL_DELAY // SCROLL_DELAY
+ else:
+ global_xoff = 0
+ global_yoff = 0
+ if self.switch_timer:
+ x1, y1 = data.board2screen(self.select)
+ x2, y2 = data.board2screen(self.switch)
+- t = self.switch_timer * 1.0 / SWITCH_DELAY
++ t = self.switch_timer * 1.0 // SWITCH_DELAY
+ for i, j in [(x, y) for x in range(BOARD_WIDTH) for y in range(BOARD_HEIGHT)]:
+ # Don’t print pieces for last frame
+ if self.lost_timer == 1:
+@@ -725,15 +726,15 @@
+ xoff, yoff = self.extra_offset[i][j]
+ if self.lost_timer:
+ d = LOST_DELAY - self.lost_timer
+- xoff += (i * 2 - 7) * 4 * d / LOST_DELAY
+- yoff += (j * 2 - 7) * 4 * d / LOST_DELAY
+- xoff += (j * 2 - 7) * 4 * d / LOST_DELAY
+- yoff += (-i * 2 + 7) * 4 * d / LOST_DELAY
++ xoff += (i * 2 - 7) * 4 * d // LOST_DELAY
++ yoff += (j * 2 - 7) * 4 * d // LOST_DELAY
++ xoff += (j * 2 - 7) * 4 * d // LOST_DELAY
++ yoff += (-i * 2 + 7) * 4 * d // LOST_DELAY
+ xoff += (randint(0, d) - randint(0, d))
+ yoff += (randint(0, d) - randint(0, d))
+ self.extra_offset[i][j] = xoff, yoff
+ elif yoff and self.win_timer:
+- yoff = yoff * (self.win_timer - 1) / (WIN_DELAY * 2 / 3)
++ yoff = yoff * (self.win_timer - 1) // (WIN_DELAY * 2 // 3)
+ self.extra_offset[i][j] = xoff, yoff
+ xoff += global_xoff
+ yoff += global_yoff
+@@ -744,34 +745,35 @@
+ shape = data.metal
+ elif n >= ITEM_PUZZLE:
+ shape = data.puzzle[puzzlevels[self.level - 1][2]][n - ITEM_PUZZLE]
+- elif self.level_timer and self.level_timer < SCROLL_DELAY / 2:
++ elif self.level_timer and self.level_timer < SCROLL_DELAY // 2:
+ shape = data.blink[n]
+ elif (i, j) in self.surprised_list \
+- or self.board_timer > SCROLL_DELAY / 2 \
+- or self.level_timer > SCROLL_DELAY / 2:
++ or self.board_timer > SCROLL_DELAY // 2 \
++ or self.level_timer > SCROLL_DELAY // 2:
+ shape = data.surprise[n]
+ elif (i, j) in self.disappear_list:
+ shape = data.exploded[n]
+ elif n == self.angry_items:
+ shape = data.angry[n]
+- elif self.blink_list.has_key((i, j)):
++ elif (i, j) in self.blink_list:
+ shape = data.blink[n]
+ self.blink_list[i, j] -= 1
+- if self.blink_list[i, j] is 0: del self.blink_list[i, j]
++ if self.blink_list[i, j] == 0: del self.blink_list[i, j]
+ else:
+ shape = data.normal[n]
+ # Remember the selector coordinates
+ if (i, j) == self.select and not self.missed \
+ or (i, j) == self.switch and self.missed:
+- select_coord = (x, y)
++ select_coord = (int(x), int(y))
+ shape = data.blink[n] # Not sure if it looks nice
+ # Print the shit
+- self.piece_draw(shape, (x + xoff, y + yoff))
++ self.piece_draw(shape, (int(x + xoff), int(y + yoff)))
+ # Draw selector if necessary
+ if self.select:
+ system.blit(data.selector, select_coord)
+
+- def piece_draw(self, sprite, (x, y)):
++ def piece_draw(self, sprite, p):
++ (x, y) = p
+ width = ITEM_SIZE
+ crop = sprite.subsurface
+ # Constrain X
+@@ -806,19 +808,19 @@
+ # Draw timebar
+ timebar = pygame.Surface((406, 32)).convert_alpha()
+ timebar.fill((0, 0, 0, 155))
+- w = 406 * self.time / 2000000
++ w = 406 * self.time // 2000000
+ if w > 0:
+ if self.warning_timer:
+ ratio = 1.0 * abs(2 * self.warning_timer - WARNING_DELAY) \
+- / WARNING_DELAY
++ // WARNING_DELAY
+ c = (200 * ratio, 0, 0, 155)
+ elif self.time <= 350000:
+ c = (200, 0, 0, 155)
+ elif self.time <= 700000:
+- ratio = 1.0 * (self.time - 350000) / 350000
++ ratio = 1.0 * (self.time - 350000) // 350000
+ c = (200, 180 * ratio, 0, 155)
+ elif self.time <= 1000000:
+- ratio = 1.0 * (1000000 - self.time) / 300000
++ ratio = 1.0 * (1000000 - self.time) // 300000
+ c = (200 * ratio, 200 - 20 * ratio, 0, 155)
+ else:
+ c = (0, 200, 0, 155)
+@@ -830,14 +832,14 @@
+ else:
+ for x in range(4):
+ for y in range(len(alpha[x])):
+- alpha[x][y] = alpha[x][y] * x / 4
++ alpha[x][y] = alpha[x][y] * x // 4
+ for y in range(len(alpha[406 - x - 1])):
+- alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x / 4
++ alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x // 4
+ for col in alpha:
+ l = len(col)
+ for y in range(4):
+- col[y] = col[y] * y / 4
+- col[l - y - 1] = col[l - y - 1] * y / 4
++ col[y] = col[y] * y // 4
++ col[l - y - 1] = col[l - y - 1] * y // 4
+ del col
+ del alpha
+ timebar.unlock()
+@@ -846,7 +848,7 @@
+ # Print play again message
+ text = fonter.render('GAME OVER', 80)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 192 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 192 - h // 2))
+ if self.score < 5000:
+ msg = 'YUO = TEH L0SER'
+ elif self.score < 15000:
+@@ -857,13 +859,13 @@
+ msg = 'ZOMFG!!!111!!! YUO PWND!!!%$#@%@#'
+ text = fonter.render(msg, 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 240 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 240 - h // 2))
+ elif self.paused:
+ # Draw pause message
+ system.blit(self.pause_bitmap, (72, 24))
+ text = fonter.render('PAUSED', 120)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 336 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 336 - h // 2))
+ elif self.splash:
+ if self.type == GAME_TRAINING:
+ msg = 'TRAINING'
+@@ -871,7 +873,7 @@
+ msg = 'LEVEL ' + str(self.level)
+ text = fonter.render(msg, 60)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 144 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 144 - h // 2))
+ if self.needed[0]:
+ msg = 'MONSTERS NEEDED: ' + str(self.needed[0])
+ elif self.type == GAME_PUZZLE:
+@@ -880,28 +882,28 @@
+ msg = 'UNLIMITED LEVEL'
+ text = fonter.render(msg, 40)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 240 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 240 - h // 2))
+ if self.lucky != -1:
+ text = fonter.render('LUCKY MONSTER:', 40)
+ w, h = text.get_rect().size
+- system.blit(text, (192 - w / 2 - 8, 24 + 288 - h / 2))
+- system.blit(data.normal[self.lucky], (192 + w / 2, 288))
++ system.blit(text, (192 - w // 2 - 8, 24 + 288 - h // 2))
++ system.blit(data.normal[self.lucky], (192 + w // 2, 288))
+ elif self.lost_timer != -1:
+ # Draw pieces
+ self.board_draw()
+ # Print new level stuff
+- if self.level_timer > SCROLL_DELAY / 2:
++ if self.level_timer > SCROLL_DELAY // 2:
+ if self.type == GAME_PUZZLE:
+ text = fonter.render('COMPLETED!', 80)
+ else:
+ text = fonter.render('LEVEL UP!', 80)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 192 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 192 - h // 2))
+ # When no more moves are possible
+- if self.board_timer > SCROLL_DELAY / 2:
++ if self.board_timer > SCROLL_DELAY // 2:
+ text = fonter.render('NO MORE MOVES!', 60)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 192 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 192 - h // 2))
+ # Print bonus
+ for b in self.bonus_list:
+ if b[2]:
+@@ -910,7 +912,7 @@
+ text = fonter.render(str(b[1]), 36)
+ w, h = text.get_rect().size
+ x, y = data.board2screen(b[0])
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ # Print hint arrow
+ if self.show_move:
+ lookup = [0, 1, 5, 16, 27, 31, 32, 31, 27, 16, 5, 1]
+@@ -918,8 +920,8 @@
+ x1, y1 = data.board2screen(src)
+ x2, y2 = data.board2screen(dst)
+ delta = lookup[monsterz.timer % 12]
+- x = -32 + (x1 * delta + x2 * (32 - delta)) / 32
+- y = 32 + (y1 * delta + y2 * (32 - delta)) / 32
++ x = -32 + (x1 * delta + x2 * (32 - delta)) // 32
++ y = 32 + (y1 * delta + y2 * (32 - delta)) // 32
+ system.blit(data.arrow, (x, y))
+ break # Only show one move
+ # Print score
+@@ -928,7 +930,7 @@
+ system.blit(text, (624 - w, 10))
+ # Print done/needed
+ for i in range(self.population):
+- x = 440 + i / 4 * 90
++ x = 440 + i // 4 * 90
+ y = 64 + (i % 4) * 38
+ if self.done[i] >= self.needed[i]:
+ surf = data.tiny[i]
+@@ -954,15 +956,15 @@
+ led, color = data.led_on, (255, 255, 255)
+ else:
+ led, color = data.led_off, (180, 150, 127)
+- c = map(lambda a, b: b - (b - a) * self.psat[0] / 255, r, color)
++ c = list(map(lambda a, b: b - (b - a) * self.psat[0] // 255, r, color))
+ system.blit(led, (440, 298))
+ system.blit(fonter.render('PAUSE', 30, c), (470, 296))
+ color = (180, 150, 127)
+- c = map(lambda a, b: b - (b - a) * self.psat[1] / 255, r, color)
++ c = list(map(lambda a, b: b - (b - a) * self.psat[1] // 255, r, color))
+ system.blit(fonter.render('ABORT', 30, c), (470, 326))
+ for x in range(2):
+ if self.psat[x]:
+- self.psat[x] = self.psat[x] * 8 / 10
++ self.psat[x] = self.psat[x] * 8 // 10
+
+ def pause(self):
+ # TODO: prevent cheating by not allowing less than 1 second
+@@ -980,7 +982,7 @@
+
+ def update(self):
+ ticks = pygame.time.get_ticks()
+- delta = (ticks - self.oldticks) * 450 / (12 - self.speed)
++ delta = (ticks - self.oldticks) * 450 // (12 - self.speed)
+ self.oldticks = ticks
+ # If paused, do nothing
+ if self.paused:
+@@ -990,16 +992,16 @@
+ # Resolve winning moves and chain reactions
+ if self.board_timer:
+ self.board_timer -= 1
+- if self.board_timer is SCROLL_DELAY / 2:
++ if self.board_timer is SCROLL_DELAY // 2:
+ self.new_board()
+- elif self.board_timer is 0:
++ elif self.board_timer == 0:
+ system.play('boing')
+ self.check_moves = True # Need to check again
+ return
+ if self.lost_timer: # FIXME: this is quite a mess...
+ if self.lost:
+ return # Continue forever
+- if self.lost_timer is -1:
++ if self.lost_timer == -1:
+ if self.type == GAME_TRAINING:
+ settings.new_score('TRAINING', self.score, self.level)
+ elif self.type == GAME_CLASSIC:
+@@ -1009,12 +1011,12 @@
+ self.lost = True
+ return
+ self.lost_timer -= 1
+- if self.lost_timer is 0:
++ if self.lost_timer == 0:
+ self.lost_timer = -1
+ return
+ if self.switch_timer:
+ self.switch_timer -= 1
+- if self.switch_timer is 0:
++ if self.switch_timer == 0:
+ x1, y1 = self.select
+ x2, y2 = self.switch
+ self.board[x1][y1], self.board[x2][y2] = self.board[x2][y2], self.board[x1][y1]
+@@ -1035,7 +1037,7 @@
+ return
+ if self.level_timer:
+ self.level_timer -= 1
+- if self.level_timer is SCROLL_DELAY / 2:
++ if self.level_timer is SCROLL_DELAY // 2:
+ self.level += 1
+ if self.type == GAME_PUZZLE:
+ if self.level > len(puzzlevels):
+@@ -1043,7 +1045,7 @@
+ return
+ self.new_level()
+ self.splash = True
+- elif self.level_timer is 0:
++ elif self.level_timer == 0:
+ system.play('boing')
+ self.blink_list = {}
+ self.check_moves = True
+@@ -1055,7 +1057,7 @@
+ for w in self.wins:
+ for x, y in w:
+ self.surprised_list.append((x, y))
+- elif self.win_timer is WIN_DELAY * 4 / 5:
++ elif self.win_timer is WIN_DELAY * 4 // 5:
+ system.play('pop')
+ self.scorebonus = 0
+ self.timebonus = 0
+@@ -1072,14 +1074,14 @@
+ points *= 2 ** (self.win_iter + len(w) - 3)
+ self.scorebonus += points
+ self.timebonus += 45000 * len(w)
+- x2, y2 = 0.0, 0.0
++ x2, y2 = 0, 0
+ for x, y in w:
+ x2 += x
+ y2 += y
+- self.bonus_list.append([(x2 / len(w), y2 / len(w)), points, lucky])
++ self.bonus_list.append([(x2 // len(w), y2 // len(w)), points, lucky])
+ self.disappear_list = self.surprised_list
+ self.surprised_list = []
+- elif self.win_timer is WIN_DELAY * 3 / 5:
++ elif self.win_timer is WIN_DELAY * 3 // 5:
+ for x, y in self.disappear_list:
+ if self.board[x][y] != ITEM_NONE:
+ self.done[self.board[x][y]] += 1
+@@ -1095,7 +1097,7 @@
+ self.angry_items = angry
+ self.disappear_list = []
+ self.bonus_list = []
+- elif self.win_timer is WIN_DELAY * 2 / 5:
++ elif self.win_timer is WIN_DELAY * 2 // 5:
+ self.time += self.timebonus
+ if self.time > 2000000:
+ self.time = 2000000
+@@ -1105,7 +1107,7 @@
+ self.eyes += 1
+ self.score += self.scorebonus
+ self.fill_board()
+- elif self.win_timer is 0:
++ elif self.win_timer == 0:
+ system.play('boing')
+ self.wins = self.get_wins()
+ if self.wins:
+@@ -1192,9 +1194,9 @@
+ self.will_play = move
+ min = self.done[color]
+ self.ai_timer = 15 - self.level
+- if self.ai_timer is (15 - self.level) / 2:
++ if self.ai_timer is (15 - self.level) // 2:
+ self.clicks.append(self.will_play[0])
+- elif self.ai_timer is 0:
++ elif self.ai_timer == 0:
+ self.clicks.append(self.will_play[1])
+ self.will_play = None
+ self.ai_timer -= 1
+@@ -1288,9 +1290,9 @@
+ else:
+ for x in range(10):
+ for y in range(len(alpha[x])):
+- alpha[x][y] = alpha[x][y] * x / 12
++ alpha[x][y] = alpha[x][y] * x // 12
+ for y in range(len(alpha[406 - x - 1])):
+- alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x / 12
++ alpha[406 - x - 1][y] = alpha[406 - x - 1][y] * x // 12
+ del alpha
+ scroll.unlock()
+ system.blit(scroll, (13, 437))
+@@ -1321,26 +1323,26 @@
+ led, color = data.led_on, (255, 255, 255)
+ else:
+ led, color = data.led_off, (180, 150, 127)
+- c = map(lambda a, b: b - (b - a) * self.gsat[0] / 255, r, color)
++ c = list(map(lambda a, b: b - (b - a) * self.gsat[0] // 255, r, color))
+ system.blit(led, (440, 378))
+ system.blit(fonter.render('SOUND FX', 30, c), (470, 376))
+ if settings.get('music'):
+ led, color = data.led_on, (255, 255, 255)
+ else:
+ led, color = data.led_off, (180, 150, 127)
+- c = map(lambda a, b: b - (b - a) * self.gsat[1] / 255, r, color)
++ c = list(map(lambda a, b: b - (b - a) * self.gsat[1] // 255, r, color))
+ system.blit(led, (440, 408))
+ system.blit(fonter.render('MUSIC', 30, c), (470, 406))
+ if settings.get('fullscreen'):
+ led, color = data.led_on, (255, 255, 255)
+ else:
+ led, color = data.led_off, (180, 150, 127)
+- c = map(lambda a, b: b - (b - a) * self.gsat[2] / 255, r, color)
++ c = list(map(lambda a, b: b - (b - a) * self.gsat[2] // 255, r, color))
+ system.blit(led, (440, 438))
+ system.blit(fonter.render('FULLSCREEN', 30, c), (470, 436))
+ for x in range(3):
+ if self.gsat[x]:
+- self.gsat[x] = self.gsat[x] * 8 / 10
++ self.gsat[x] = self.gsat[x] * 8 // 10
+
+ def generic_event(self, event):
+ if event.type == QUIT:
+@@ -1398,7 +1400,7 @@
+ self.marea = marea
+ # Print logo and menu
+ w, h = data.logo.get_size()
+- system.blit(data.logo, (24 + 192 - w / 2, 24 + 96 - h / 2))
++ system.blit(data.logo, (24 + 192 - w // 2, 24 + 96 - h // 2))
+ for x in range(4):
+ if self.msat[x] > 180:
+ monster = data.surprise[shapes[x]]
+@@ -1407,12 +1409,12 @@
+ else:
+ monster = data.blink[shapes[x]]
+ system.blit(monster, data.board2screen((1, 4 + x)))
+- c = map(lambda a: 255 - (255 - a) * self.msat[x] / 255, colors[x])
++ c = list(map(lambda a: 255 - (255 - a) * self.msat[x] // 255, colors[x]))
+ text = fonter.render(messages[x], 48, c)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 102, 24 + 216 + ITEM_SIZE * x - h / 2))
++ system.blit(text, (24 + 102, 24 + 216 + ITEM_SIZE * x - h // 2))
+ if self.msat[x]:
+- self.msat[x] = self.msat[x] * 8 / 10
++ self.msat[x] = self.msat[x] * 8 // 10
+ # Handle events
+ for event in pygame.event.get():
+ if self.generic_event(event):
+@@ -1479,32 +1481,32 @@
+ # Print menu
+ text = fonter.render('GAME TYPE', 60)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 24 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 24 - h // 2))
+ for i in range(4):
+- c = map(lambda a: 255 - (255 - a) * self.nsat[i] / 255, [127, 0, 255])
++ c = list(map(lambda a: 255 - (255 - a) * self.nsat[i] // 255, [127, 0, 255]))
+ text = fonter.render(messages[i], 48, c)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + ITEM_SIZE * 4 - w / 2, 24 + 120 + ITEM_SIZE * i - h / 2))
++ system.blit(text, (24 + ITEM_SIZE * 4 - w // 2, 24 + 120 + ITEM_SIZE * i - h // 2))
+ if self.nsat[i]:
+- self.nsat[i] = self.nsat[i] * 8 / 10
++ self.nsat[i] = self.nsat[i] * 8 // 10
+ for i in range(4, 8):
+- c = map(lambda a: 255 - (255 - a) * self.nsat[i] / 255, [127, 0, 255])
++ c = list(map(lambda a: 255 - (255 - a) * self.nsat[i] // 255, [127, 0, 255]))
+ if i % 2:
+ img = data.led_more
+ x = 320
+ else:
+ img = data.led_less
+ x = 88
+- y = 36 + ITEM_SIZE * (6 + (i - 4) / 2)
++ y = 36 + ITEM_SIZE * (6 + (i - 4) // 2)
+ system.blit(img, (x, y))
+ if self.nsat[i]:
+- self.nsat[i] = self.nsat[i] * 8 / 10
++ self.nsat[i] = self.nsat[i] * 8 // 10
+ # Print wanted monsterz
+ for i in range(items):
+- system.blit(data.normal[i], (24 + 96 + ITEM_SIZE * 3 * i / (items - 1), 24 + ITEM_SIZE * 6))
++ system.blit(data.normal[i], (24 + 96 + ITEM_SIZE * 3 * i // (items - 1), 24 + ITEM_SIZE * 6))
+ text = fonter.render('DIFFICULTY ' + str(difficulty), 36)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + ITEM_SIZE * 7 + 24 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + ITEM_SIZE * 7 + 24 - h // 2))
+ # Handle events
+ for event in pygame.event.get():
+ if self.generic_event(event):
+@@ -1610,18 +1612,18 @@
+ # Title
+ text = fonter.render('INSTRUCTIONS (' + str(self.page) + ')', 60)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 24 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 24 - h // 2))
+ if self.page == 1:
+ # Explanation 1
+ text = fonter.render('SWAP ADJACENT MONSTERS TO CREATE', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 84 - h / 2))
++ system.blit(text, (24 + 6, 24 + 84 - h // 2))
+ text = fonter.render('ALIGNMENTS OF THREE OR MORE. NEW', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 108 - h / 2))
++ system.blit(text, (24 + 6, 24 + 108 - h // 2))
+ text = fonter.render('MONSTERS WILL FILL THE HOLES.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 132 - h / 2))
++ system.blit(text, (24 + 6, 24 + 132 - h // 2))
+ # Iter 1
+ system.blit_board((0, 3, 2, 7))
+ system.blit(data.normal[2], data.board2screen((0, 3)))
+@@ -1658,22 +1660,22 @@
+ text = fonter.render('10', 36)
+ w, h = text.get_rect().size
+ x, y = data.board2screen((7, 4))
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ # Explanation 2
+ text = fonter.render('CREATE CHAIN REACTIONS TO GET TWICE', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 348 - h / 2))
++ system.blit(text, (24 + 6, 24 + 348 - h // 2))
+ text = fonter.render('AS MANY POINTS, THEN 4x, 8x ETC.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 372 - h / 2))
++ system.blit(text, (24 + 6, 24 + 372 - h // 2))
+ elif self.page == 2:
+ # Explanation 1
+ text = fonter.render('THE LUCKY MONSTER EARNS YOU TWICE', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 108 - h / 2))
++ system.blit(text, (24 + 6, 24 + 108 - h // 2))
+ text = fonter.render('AS MANY POINTS AS OTHER MONSTERS.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 132 - h / 2))
++ system.blit(text, (24 + 6, 24 + 132 - h // 2))
+ shape = data.special[self.timer % 7]
+ # Print done/needed
+ system.blit_board((0, 3, 4, 5))
+@@ -1697,15 +1699,15 @@
+ text = fonter.render('140', 48, rainbow[monsterz.timer % 6])
+ w, h = text.get_rect().size
+ x, y = data.board2screen((2, 6))
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ text = fonter.render('70', 36)
+ w, h = text.get_rect().size
+ x, y = data.board2screen((1, 7))
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ for i in range(4):
+ surf = data.tiny[i + 1]
+ count = 3 + i * 2
+- x = 24 + 240 + 4 + i / 2 * 70
++ x = 24 + 240 + 4 + i // 2 * 70
+ y = 172 + (i % 2) * 38
+ for dummy in range(2):
+ system.blit(surf, (x, y))
+@@ -1722,13 +1724,13 @@
+ # Explanation 1
+ text = fonter.render('YOU CAN ALWAYS PERFORM A VALID MOVE.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 84 - h / 2))
++ system.blit(text, (24 + 6, 24 + 84 - h // 2))
+ text = fonter.render('WHEN NO MORE MOVES ARE POSSIBLE, YOU', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 108 - h / 2))
++ system.blit(text, (24 + 6, 24 + 108 - h // 2))
+ text = fonter.render('GET A COMPLETE NEW BOARD.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 132 - h / 2))
++ system.blit(text, (24 + 6, 24 + 132 - h // 2))
+ # Surprised
+ system.blit_board((0, 3, 8, 5))
+ for x in range(8):
+@@ -1736,29 +1738,29 @@
+ system.blit(data.surprise[(x * 7) % 8], data.board2screen((x, 4)))
+ text = fonter.render('NO MORE MOVES!', 60)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 192 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 192 - h // 2))
+ # Explanation 2
+ text = fonter.render('USE THE EYE TO FIND WHERE TO PLAY.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6 + 48, 24 + 300 - h / 2))
++ system.blit(text, (24 + 6 + 48, 24 + 300 - h // 2))
+ text = fonter.render('EACH 10,000 POINTS YOU GET A NEW', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6 + 48, 24 + 324 - h / 2))
++ system.blit(text, (24 + 6 + 48, 24 + 324 - h // 2))
+ text = fonter.render('EYE. YOU CAN\'T HAVE MORE THAN 3.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6 + 48, 24 + 348 - h / 2))
++ system.blit(text, (24 + 6 + 48, 24 + 348 - h // 2))
+ system.blit(data.eye, (24 + 6, 24 + 306))
+ elif self.page == 4:
+ # Explanation 1
+ text = fonter.render('WHEN ONLY ONE KIND OF MONSTER IS', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 84 - h / 2))
++ system.blit(text, (24 + 6, 24 + 84 - h // 2))
+ text = fonter.render('NEEDED TO FINISH THE LEVEL, MONSTERS', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 108 - h / 2))
++ system.blit(text, (24 + 6, 24 + 108 - h // 2))
+ text = fonter.render('OF THAT KIND GET AN ANGRY FACE.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 132 - h / 2))
++ system.blit(text, (24 + 6, 24 + 132 - h // 2))
+ # Print done/needed
+ system.blit_board((0, 3, 4, 5))
+ for i in range(4):
+@@ -1770,7 +1772,7 @@
+ big = data.angry[i + 4]
+ system.blit(big, data.board2screen((i, 3 + (i % 2))))
+ system.blit(big, data.board2screen(((i + 2) % 4, 3 + ((i + 1) % 2))))
+- x = 24 + 240 + 4 + i / 2 * 70
++ x = 24 + 240 + 4 + i // 2 * 70
+ y = 172 + (i % 2) * 38
+ system.blit(surf, (x, y))
+ text = fonter.render(str(i * 3), 36)
+@@ -1778,10 +1780,10 @@
+ # Explanation 2
+ text = fonter.render('CLICK ON THE BONUS TO REMOVE ALL', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 252 - h / 2))
++ system.blit(text, (24 + 6, 24 + 252 - h // 2))
+ text = fonter.render('MONSTERS OF A RANDOM KIND.', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 276 - h / 2))
++ system.blit(text, (24 + 6, 24 + 276 - h // 2))
+ shape = data.special[self.timer % 7]
+ # Iter 1
+ system.blit_board((0, 6, 3, 8))
+@@ -1802,22 +1804,22 @@
+ text = fonter.render('10', 36)
+ w, h = text.get_rect().size
+ x, y = data.board2screen((4, 7))
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ x, y = data.board2screen((5, 6))
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ x, y = data.board2screen((6, 6))
+- system.blit(text, (x + 24 - w / 2, y + 24 - h / 2))
++ system.blit(text, (x + 24 - w // 2, y + 24 - h // 2))
+ elif self.page == 5:
+ # Explanation 1
+ text = fonter.render('IN PUZZLE MODE, PUT TOGETHER THE', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 84 - h / 2))
++ system.blit(text, (24 + 6, 24 + 84 - h // 2))
+ text = fonter.render('PUZZLE BY MOVING PIECES AROUND. BE', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 108 - h / 2))
++ system.blit(text, (24 + 6, 24 + 108 - h // 2))
+ text = fonter.render('CAREFUL NOT TO GET STUCK!', 24)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 6, 24 + 132 - h / 2))
++ system.blit(text, (24 + 6, 24 + 132 - h // 2))
+ # Iter 1
+ system.blit_board((0, 3, 2, 8))
+ system.blit(data.normal[2], data.board2screen((0, 3)))
+@@ -1876,19 +1878,19 @@
+ self.copyright_draw()
+ text = fonter.render('HIGH SCORES', 60)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 192 - w / 2, 24 + 24 - h / 2))
++ system.blit(text, (24 + 192 - w // 2, 24 + 24 - h // 2))
+ # Print our list
+ for x in range(10):
+ name, score, level = settings.scores['CLASSIC'][x]
+ text = fonter.render(str(x + 1) + '. ' + name.upper(), 32)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 24, 24 + 72 + 32 * x - h / 2))
++ system.blit(text, (24 + 24, 24 + 72 + 32 * x - h // 2))
+ text = fonter.render(str(score), 32)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 324 - w, 24 + 72 + 32 * x - h / 2))
++ system.blit(text, (24 + 324 - w, 24 + 72 + 32 * x - h // 2))
+ text = fonter.render(str(level), 32)
+ w, h = text.get_rect().size
+- system.blit(text, (24 + 360 - w, 24 + 72 + 32 * x - h / 2))
++ system.blit(text, (24 + 360 - w, 24 + 72 + 32 * x - h // 2))
+ # Handle events
+ for event in pygame.event.get():
+ if self.generic_event(event):
+@@ -1903,39 +1905,39 @@
+ return
+
+ def version():
+- print 'monsterz ' + VERSION
+- print 'Written by Sam Hocevar, music by MenTaLguY, sound effects by Sun Microsystems,'
+- print 'Inc., Michael Speck, David White and the Battle for Wesnoth project, Mike'
+- print 'Kershaw and Sam Hocevar.'
+- print
+- print 'Copyright (C) 2005, 2006 Sam Hocevar <sam(a)zoy.org>'
+- print ' (C) 1998 MenTaLguY <mental(a)rydia.net>'
+- print ' (C) 2002, 2005 Sun Microsystems, Inc.'
+- print ' (C) Michael Speck <kulkanie(a)gmx.net>'
+- print ' (C) 2003 by David White <davidnwhite(a)optusnet.com.au> and the'
+- print ' Battle for Wesnoth project'
+- print ' (C) Mike Kershaw <dragorn(a)kismetwireless.net>'
+-
+- print 'This program is free software; you can redistribute it and/or modify it under'
+- print 'the terms of the Do What The Fuck You Want To Public License, Version 2, as'
+- print 'published by Sam Hocevar. See http://sam.zoy.org/wtfpl/ for more details.'
+- print 'The sound effects are released under their own licences: applause.wav and'
+- print 'pop.wav are covered by the LGPL, the others are covered by the GPL.'
++ print ('monsterz ' + VERSION)
++ print ('Written by Sam Hocevar, music by MenTaLguY, sound effects by Sun Microsystems,')
++ print ('Inc., Michael Speck, David White and the Battle for Wesnoth project, Mike')
++ print ('Kershaw and Sam Hocevar.')
++ print ()
++ print ('Copyright (C) 2005, 2006 Sam Hocevar <sam(a)zoy.org>')
++ print (' (C) 1998 MenTaLguY <mental(a)rydia.net>')
++ print (' (C) 2002, 2005 Sun Microsystems, Inc.')
++ print (' (C) Michael Speck <kulkanie(a)gmx.net>')
++ print (' (C) 2003 by David White <davidnwhite(a)optusnet.com.au> and the')
++ print (' Battle for Wesnoth project')
++ print (' (C) Mike Kershaw <dragorn(a)kismetwireless.net>')
++
++ print ('This program is free software; you can redistribute it and/or modify it under')
++ print ('the terms of the Do What The Fuck You Want To Public License, Version 2, as')
++ print ('published by Sam Hocevar. See http://sam.zoy.org/wtfpl/ for more details.')
++ print ('The sound effects are released under their own licences: applause.wav and')
++ print ('pop.wav are covered by the LGPL, the others are covered by the GPL.')
+
+ def usage():
+- print 'Usage: monsterz [OPTION]...'
+- print
+- print 'Options'
+- print ' -h, --help display this help and exit'
+- print ' -v, --version display version information and exit'
+- print ' -f, --fullscreen start in full screen mode'
+- print ' -m, --nomusic disable music'
+- print ' -s, --nosfx disable sound effects'
+- print ' --outfd <fd> output scores to file descriptor <fd>'
+- print ' --data <dir> set alternate data directory to <dir>'
+- print ' --score <file> set score file to <file>'
+- print
+- print 'Report bugs or suggestions to <sam(a)zoy.org>.'
++ print ('Usage: monsterz [OPTION]...')
++ print ()
++ print ('Options')
++ print (' -h, --help display this help and exit')
++ print (' -v, --version display version information and exit')
++ print (' -f, --fullscreen start in full screen mode')
++ print (' -m, --nomusic disable music')
++ print (' -s, --nosfx disable sound effects')
++ print (' --outfd <fd> output scores to file descriptor <fd>')
++ print (' --data <dir> set alternate data directory to <dir>')
++ print (' --score <file> set score file to <file>')
++ print ()
++ print ('Report bugs or suggestions to <sam(a)zoy.org>.')
+
+ def main():
+ from getopt import getopt, GetoptError
+@@ -1967,7 +1969,7 @@
+ elif opt in ('--outfd'):
+ try:
+ outfd = int(arg)
+- write(outfd, '\n')
++ write(outfd, '\n'.encode())
+ except:
+ outfd = None
+ elif opt in ('--data'):
+@@ -1982,7 +1984,7 @@
+ try:
+ data = Data(sharedir)
+ except:
+- print argv[0] + ': could not open data from `' + sharedir + "'."
++ print (argv[0] + ': could not open data from `' + sharedir + "'.")
+ raise
+ fonter = Fonter()
+ monsterz = Monsterz()
diff --git a/monsterz.spec b/monsterz.spec
index 6d6a48c..857d6f0 100644
--- a/monsterz.spec
+++ b/monsterz.spec
@@ -9,11 +9,11 @@ Source1: %{name}.score
Patch0: %{name}-0.7.1-userpmopts.patch
Patch1: %{name}-0.7.1-64bitfix.patch
Patch2: %{name}-0.7.1-blit-crash.patch
+Patch3: %{name}-0.7.1-py3.patch
BuildRequires: gcc
BuildRequires: desktop-file-utils
-BuildRequires: python2-devel /usr/bin/pathfix.py
-Requires: python2-pygame
-Requires: python2-numpy
+BuildRequires: python3-devel /usr/bin/pathfix.py
+Requires: python3-pygame
Requires: hicolor-icon-theme
Provides: %{name}-data = %{version}-%{release}
Obsoletes: %{name}-data < 0.7.1
@@ -30,11 +30,10 @@ board again. Chain reactions earn you even more points.
%prep
%setup -q
%patch0 -p1
-%ifarch x86_64 ppc64
%patch1 -p1
-%endif
%patch2 -p0
-pathfix.py -pni "%{__python2} %{py2_shbang_opts}" .
+%patch3 -p1
+pathfix.py -pni "%{__python3} %{py3_shbang_opts}" .
%build
make %{?_smp_mflags} prefix=%{_usr} datadir=%{_datadir} pkgdatadir=%{_datadir}/%{name} CFLAGS="%{optflags}"
@@ -86,12 +85,11 @@ install -pm0644 graphics/icon.png %{buildroot}%{_datadir}/icons/hicolor/64x64/ap
%changelog
-* Tue Oct 29 2019 Petr Viktorin <pviktori(a)redhat.com> - 0.7.1-25
-- Explicitly require NumPy for pygame.surfarray
- See: https://www.pygame.org/docs/ref/surfarray.html
+* Fri Jun 26 2020 Gwyn Ciesla <gwync(a)protonmail.com> - 0.7.1-25
+- Fix 64 bit patch.
-* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-24
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+* Mon May 25 2020 scott snyder <sss(a)li-snyder.org> - 0.7.1-24
+- Python 3 compatibility.
* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.1-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
diff --git a/sources b/sources
index de271d9..fae5b9f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-c2bdb68dcd636df1abd130ac86defd11 monsterz-0.7.1.tar.gz
+SHA512 (monsterz-0.7.1.tar.gz) = 62de125251a74e7ff237c90ad88e10a4953b8841251dfec45cc6b77f416677ef6d68cf4308c3190f65896b5bb1312934abd5e438f0341f08c02884585f0e4787
2 years, 8 months