Compare commits
33 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7cb717046 | ||
|
|
1b119c95cc | ||
|
|
4352bae042 | ||
|
|
53f7e6738c | ||
|
|
66ed799c92 | ||
|
|
12b9a27507 | ||
|
|
667c6f86e5 | ||
|
|
6b74c26aa9 | ||
|
|
e48a0d40a9 | ||
|
|
fccc5775d2 | ||
|
|
24dd2dcfc5 | ||
|
|
581b07306a | ||
|
|
45ba8fa193 | ||
|
|
111ed9c4b7 | ||
|
|
47715f4adb | ||
|
|
805c1205f5 | ||
|
|
3a5fafa025 | ||
|
|
cc8e511b24 | ||
|
|
25e845cfca | ||
|
|
01562838d8 | ||
|
|
9101d813e9 | ||
|
|
a59df89fd7 | ||
|
|
88678ca362 | ||
|
|
6ec4b2041c | ||
|
|
d336dbdaf5 | ||
|
|
70b0192845 | ||
|
|
f7ae4e365e | ||
|
|
a19ecf6e4b | ||
|
|
02e02edf51 | ||
|
|
f5c26e11a6 | ||
|
|
25a339e965 | ||
|
|
10436ba204 | ||
|
|
4e7450e1e6 |
4 changed files with 212 additions and 36 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
|
@ -7,3 +7,10 @@
|
|||
/pyglet-1.3.2-repacked.tar.gz
|
||||
/pyglet-1.4.1-repacked.tar.gz
|
||||
/pyglet-1.4.6-repacked.tar.gz
|
||||
/pyglet-1.5.7-repacked.tar.gz
|
||||
/pyglet-1.5.11-repacked.tar.gz
|
||||
/pyglet-1.5.16.tar.gz
|
||||
/pyglet-1.5.16-repacked.tar.gz
|
||||
/pyglet-1.5.23-repacked.tar.gz
|
||||
/pyglet-1.5.27-repacked.tar.gz
|
||||
/pyglet-2.0.10-repacked.tar.gz
|
||||
|
|
|
|||
|
|
@ -7,12 +7,18 @@ ARCHIVENAME=${VERSIONEDNAME}.tar.gz
|
|||
wget -N https://github.com/pyglet/pyglet/archive/v${VERSION}.tar.gz -O ${ARCHIVENAME}
|
||||
tar xzvf ${ARCHIVENAME}
|
||||
pushd ${VERSIONEDNAME}
|
||||
rm -rvf examples # includes non-free artwork
|
||||
rm -rvf tests # includes non-free font
|
||||
rm -rvf tools # random developer tools (*)
|
||||
rm -rvf contrib # again, questionable licensing
|
||||
rm -v pyglet/image/codecs/s3tc.py # patent-encumbered algorithm (**)
|
||||
rm -v pyglet/image/codecs/dds.py # image codec that uses s3tc (**)
|
||||
rm -rvf examples # includes non-free artwork
|
||||
rm -rvf tests/data/fonts # includes non-free font
|
||||
rm -rvf tests/data/images/*.dds # compressed with patent-encumbered algorithm
|
||||
rm -rvf tests/data/images/dinosaur.gif # questionable origin
|
||||
|
||||
# questionable sound files "retrieved from libpurple":
|
||||
rm -rvf tests/data/media/{alert,login,logout,receive,send}.wav
|
||||
|
||||
popd
|
||||
tar czvf ${VERSIONEDNAME}-repacked.tar.gz ${VERSIONEDNAME}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,29 +1,63 @@
|
|||
%global srcname pyglet
|
||||
%global srcversion 1.4.6
|
||||
%global versionedname %{srcname}-%{srcversion}
|
||||
%global versionedname %{srcname}-%{version}
|
||||
|
||||
%bcond_without tests
|
||||
|
||||
Name: python-%{srcname}
|
||||
Version: %{srcversion}
|
||||
Release: 2%{?dist}
|
||||
Version: 2.0.10
|
||||
Release: 9%{?dist}
|
||||
Summary: A cross-platform windowing and multimedia library for Python
|
||||
|
||||
License: BSD
|
||||
License: BSD-3-Clause
|
||||
URL: http://www.pyglet.org/
|
||||
|
||||
# The upstream tarball includes some non-free files in the examples and tests,
|
||||
# and a patented texture compression algorithm.
|
||||
# Run the following (in rpmbuild/SOURCES) to generate the distributed tarball:
|
||||
# $ bash pyglet-get-tarball.sh 1.3.2
|
||||
# Run the following (in rpmbuild/SOURCES) to generate the distributed tarball
|
||||
# (the subcommand outputs a version number like 1.5.16):
|
||||
# $ bash pyglet-get-tarball.sh $(grep Version python-pyglet.spec|cut -c10-)
|
||||
# See the script for details.
|
||||
Source0: %{versionedname}-repacked.tar.gz
|
||||
Source1: pyglet-get-tarball.sh
|
||||
|
||||
# Note that unbundling pypng removes "PNGImageDecoder", which is normally
|
||||
# available for advanced use cases. Instead of:
|
||||
# img = image.load(fname, decoder=PNGImageDecoder) # don't use!
|
||||
# It is enough to let Pyglet choose an appropriate decoder with:
|
||||
# img = image.load(fname)
|
||||
# Pyglet docs even discourage hard-coding the decoder "unless your application
|
||||
# has to work around specific deficiences in an operating system decoder":
|
||||
# https://pyglet.readthedocs.io/en/latest/programming_guide/image.html?highlight=PILImageDecoder#loading-an-image
|
||||
# If you do find an issue with the default decoder on Fedora, file a bug.
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: pyproject-rpm-macros
|
||||
|
||||
%description
|
||||
# Tests need OpenGL
|
||||
# See also: https://bugzilla.redhat.com/show_bug.cgi?id=904851
|
||||
%global __pytest xvfb-run -s '-screen 0 640x480x24' pytest
|
||||
%if %{with tests}
|
||||
BuildRequires: /usr/bin/xvfb-run mesa-dri-drivers
|
||||
BuildRequires: python3-pytest
|
||||
# These two for gdkpixbuf2 tests
|
||||
BuildRequires: gtk2-devel
|
||||
BuildRequires: gdk-pixbuf2-devel
|
||||
# libpurple has sound files unbundled in the repacked tarball
|
||||
BuildRequires: libpurple
|
||||
# These tests fail in koji, likely due to missing devices
|
||||
#BuildRequires: openal-soft
|
||||
# These are not specified by upstream
|
||||
BuildRequires: python3-gobject
|
||||
# Some tests fail if this is present
|
||||
# https://github.com/pyglet/pyglet/issues/875
|
||||
#BuildRequires: python3-pytest-asyncio
|
||||
%endif
|
||||
Requires: python3-gobject
|
||||
|
||||
|
||||
%global _description %{expand:
|
||||
This library provides an object-oriented programming interface for developing
|
||||
games and other visually-rich applications with Python.
|
||||
pyglet has virtually no external dependencies. For most applications and game
|
||||
|
|
@ -32,6 +66,13 @@ distribution and installation. It also handles multiple windows and
|
|||
fully aware of multi-monitor setups.
|
||||
|
||||
pyglet might be seen as an alternative to PyGame.
|
||||
}
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires
|
||||
|
||||
|
||||
%description %_description
|
||||
|
||||
|
||||
%package -n python3-%{srcname}
|
||||
|
|
@ -39,57 +80,179 @@ Summary: A cross-platform windowing and multimedia library for Python 3
|
|||
|
||||
%{?python_provide:%python_provide python3-%{srcname}}
|
||||
|
||||
Requires: python3
|
||||
Requires: python3-pillow
|
||||
Requires: python3-future
|
||||
|
||||
# The libraries are imported dynamically using ctypes, so rpm can't find them.
|
||||
Requires: libGL
|
||||
Requires: libGLU
|
||||
Requires: libX11
|
||||
Requires: fontconfig
|
||||
|
||||
%description -n python3-%{srcname}
|
||||
This library provides an object-oriented programming interface for developing
|
||||
games and other visually-rich applications with Python 3.
|
||||
pyglet has virtually no external dependencies. For most applications and game
|
||||
requirements, pyglet needs nothing else besides Python, simplifying
|
||||
distribution and installation. It also handles multiple windows and
|
||||
fully aware of multi-monitor setups.
|
||||
# Needed for experimental headless mode; see: https://github.com/pyglet/pyglet/issues/51
|
||||
Suggests: libEGL
|
||||
|
||||
pyglet might be seen as an alternative to PyGame.
|
||||
# Pillow is technically optional, but in Fedora we always pull it in.
|
||||
# It can open PNG images, so we can remove the bundled "png.py"
|
||||
Requires: python3-pillow
|
||||
|
||||
%if %{with tests}
|
||||
BuildRequires: libGL
|
||||
BuildRequires: libGLU
|
||||
BuildRequires: libEGL
|
||||
BuildRequires: libX11
|
||||
BuildRequires: fontconfig
|
||||
BuildRequires: python3-pillow
|
||||
%endif
|
||||
|
||||
|
||||
%description -n python3-%{srcname} %_description
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n %{versionedname}
|
||||
%autosetup -p1 -n %{versionedname}
|
||||
|
||||
# Remove the bundled pypng library (python-pillow provides the same functionality)
|
||||
rm pyglet/image/codecs/png.py
|
||||
rm pyglet/extlibs/png.py
|
||||
|
||||
# The future library can be unbundled (upstream even does it for the wheel distribution)
|
||||
rm -r pyglet/extlibs/future
|
||||
|
||||
# Get rid of hashbang lines. This is a library, it has no executable scripts.
|
||||
# Also remove Windows newlines
|
||||
find . -name '*.py' | xargs sed --in-place -e's|#!/usr/bin/\(env \)\?python||;s/\r//'
|
||||
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%py3_install
|
||||
%pyproject_install
|
||||
|
||||
%files -n python3-%{srcname}
|
||||
%pyproject_save_files pyglet
|
||||
|
||||
|
||||
%if %{with tests}
|
||||
%check
|
||||
# Skip flaky tests
|
||||
export CI=on
|
||||
|
||||
# The files are unbundled in the repacked tarball
|
||||
ln -s %{_datadir}/sounds/purple/*.wav tests/data/media/
|
||||
|
||||
# Interactive tests are skipped for obvious reasons.
|
||||
# Media player tests are skipped -- we don't have PulseAudio running.
|
||||
# test_find_font_match & test_have_font skipped -- they look for a font named 'arial'
|
||||
# test_font & test_freetype_face tests are skipped -- they depend on non-free font we remove
|
||||
# test_push_handlers_instance has broken mocking: https://github.com/pyglet/pyglet/issues/606
|
||||
# GdkPixBufTest.test_load_animation uses dinosaur.gif which we remove
|
||||
%pytest \
|
||||
-vv \
|
||||
--non-interactive \
|
||||
--ignore=tests/interactive \
|
||||
--ignore=tests/integration/media \
|
||||
-m 'not (requires_user_action or requires_user_validation or only_interactive)' \
|
||||
-k 'not (test_find_font_match or test_font or test_have_font or test_freetype_face or test_openal_listener or test_push_handlers_instance)' \
|
||||
--deselect tests/integration/image/test_gdkpixbuf2.py::GdkPixBufTest::test_load_animation \
|
||||
tests
|
||||
%endif
|
||||
|
||||
|
||||
%files -n python3-%{srcname} -f %%{pyproject_files}
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%doc RELEASE_NOTES
|
||||
%doc NOTICE
|
||||
%{python3_sitelib}/%{versionedname}-py%{python3_version}.egg-info
|
||||
%{python3_sitelib}/%{srcname}
|
||||
%doc README.md RELEASE_NOTES
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 2.0.10-9
|
||||
- Rebuilt for Python 3.14.0rc3 bytecode
|
||||
|
||||
* Sat Aug 23 2025 Orion Poplawski <orion@nwra.com> - 2.0.10-8
|
||||
- Add BR/R on python3-gobject, skip openal test (FTBFS rhbz#2379002)
|
||||
|
||||
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 2.0.10-7
|
||||
- Rebuilt for Python 3.14.0rc2 bytecode
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.10-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 2.0.10-5
|
||||
- Rebuilt for Python 3.14
|
||||
|
||||
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.10-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.10-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Sat Jun 08 2024 Python Maint <python-maint@redhat.com> - 2.0.10-2
|
||||
- Rebuilt for Python 3.13
|
||||
|
||||
* Sat Feb 17 2024 Orion Poplawski <orion@nwra.com> - 2.0.10-1
|
||||
- Update to 2.0.10
|
||||
|
||||
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.27-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.27-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.27-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sat Jun 17 2023 Orion Poplawski <orion@nwra.com> - 1.5.27-1
|
||||
- Update to 1.5.27
|
||||
- Add patch for Python 3.12 support
|
||||
- Use SPDX License
|
||||
|
||||
* Fri Jun 16 2023 Python Maint <python-maint@redhat.com> - 1.5.23-5
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.23-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.23-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.5.23-2
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Thu Apr 28 2022 Petr Viktorin <pviktori@redhat.com> - 1.5.23-1
|
||||
- Update to 1.5.23
|
||||
- This version should not attempt to use the incompatible ffmpeg 5.0,
|
||||
and fall back to another sound backend if available.
|
||||
Resolves: RHBZ#2075965
|
||||
|
||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.16-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Sun Oct 10 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.5.16-4
|
||||
- Backport upstream patch to fix ExcludeArch (fix RHBZ#1877849)
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.16-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.5.16-2
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Wed Apr 14 2021 Petr Viktorin <pviktori@redhat.com> - 1.5.16-1
|
||||
- Update to 1.5.16
|
||||
- Add a comment on how to handle unbundled "pypng"
|
||||
- Suggest libEGL for new headless mode (experimental, undocumented)
|
||||
- Remove patch that's now upstream
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.11-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Nov 25 2020 Petr Viktorin <pviktori@redhat.com> - 1.5.11-1
|
||||
- Update to 1.5.11
|
||||
|
||||
* Wed Sep 09 2020 Petr Viktorin <pviktori@redhat.com> - 1.5.7-1
|
||||
- Update to 1.5.7
|
||||
- Switch to pyproject macros
|
||||
- Run tests
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.6-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 1.4.6-3
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (pyglet-1.4.6-repacked.tar.gz) = 20f3b5c762de1ae1247109a40af4c659f15ee2e900c44cd072dce6ff2cf0bfd909a84b4581addfe8870af9151e5cc90a06d88e1fbdaa282f8156f2bedd7c6e59
|
||||
SHA512 (pyglet-2.0.10-repacked.tar.gz) = 8c780913435b1c17e43dcc99e729a2ea5d6a6e734cce642b8da82547f734cc9ce43732257e4f241eb3803a9edc941a96a762e869043260ff15adc84ba5c6d813
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue