Compare commits

..

24 commits

Author SHA1 Message Date
Python Maint
d7cb717046 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 14:05:42 +02:00
Orion Poplawski
1b119c95cc Add BR/R on python3-gobject, skip openal test (FTBFS rhbz#2379002) 2025-08-22 19:44:47 -06:00
Python Maint
4352bae042 Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 14:30:21 +02:00
Fedora Release Engineering
53f7e6738c Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 09:37:34 +00:00
Python Maint
66ed799c92 Rebuilt for Python 3.14 2025-06-03 16:25:05 +02:00
Fedora Release Engineering
12b9a27507 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 17:46:29 +00:00
Fedora Release Engineering
667c6f86e5 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 14:30:09 +00:00
Python Maint
6b74c26aa9 Rebuilt for Python 3.13 2024-06-08 10:32:36 +02:00
Orion Poplawski
e48a0d40a9 Update to 2.0.10 2024-02-17 19:27:40 -07:00
Fedora Release Engineering
fccc5775d2 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 08:36:11 +00:00
Fedora Release Engineering
24dd2dcfc5 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 05:37:11 +00:00
Fedora Release Engineering
581b07306a Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 12:43:35 +00:00
Orion Poplawski
45ba8fa193 Update to 1.5.27
Add patch for Python 3.12 support
Use SPDX License
2023-06-17 08:17:36 -06:00
Python Maint
111ed9c4b7 Rebuilt for Python 3.12 2023-06-16 18:00:05 +02:00
Fedora Release Engineering
47715f4adb Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 16:04:54 +00:00
Fedora Release Engineering
805c1205f5 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 21:15:16 +00:00
Miro Hrončok
3a5fafa025 Skip test_push_handlers_instance 2022-06-17 01:19:11 +02:00
Python Maint
cc8e511b24 Rebuilt for Python 3.11 2022-06-13 23:07:33 +02:00
Petr Viktorin
25e845cfca Update to 1.5.23 2022-04-28 10:55:21 +02:00
Fedora Release Engineering
01562838d8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 14:32:07 +00:00
Benjamin A. Beasley
9101d813e9 Backport upstream patch to fix ExcludeArch (fix RHBZ#1877849) 2021-10-10 14:49:25 -04:00
Fedora Release Engineering
a59df89fd7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 08:34:36 +00:00
Python Maint
88678ca362 Rebuilt for Python 3.10 2021-06-04 20:53:31 +02:00
Petr Viktorin
6ec4b2041c Update to 1.5.16 2021-04-16 13:56:20 +02:00
4 changed files with 119 additions and 124 deletions

5
.gitignore vendored
View file

@ -9,3 +9,8 @@
/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

View file

@ -1,104 +0,0 @@
From e44509b5e42525f30b62137599e574fdd41f68bc Mon Sep 17 00:00:00 2001
From: Benjamin Moran <benmoran@protonmail.com>
Date: Tue, 24 Nov 2020 11:42:02 +0900
Subject: [PATCH] Simplify UBO code, and revert some experimental code.
---
RELEASE_NOTES | 8 ++++++
pyglet/text/formats/attributed.py | 41 +++++++------------------------
2 files changed, 17 insertions(+), 32 deletions(-)
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index 5c4fe67a..f084a013 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -1,3 +1,11 @@
+pyglet 1.5.12
+Bugfix and feature release
+
+Bugfixes
+--------
+- Remove usage of deprecated `parser` module. (#312)
+
+
pyglet 1.5.11
Bugfix release
diff --git a/pyglet/text/formats/attributed.py b/pyglet/text/formats/attributed.py
index 350e0844..3eb815c6 100644
--- a/pyglet/text/formats/attributed.py
+++ b/pyglet/text/formats/attributed.py
@@ -38,11 +38,7 @@
"""
import re
-import token
-import parser
-import operator
-
-from functools import reduce
+import ast
import pyglet
@@ -63,11 +59,13 @@
class AttributedTextDecoder(pyglet.text.DocumentDecoder):
- def decode(self, text, location=None):
- self.doc = pyglet.text.document.FormattedDocument()
+ def __init__(self):
+ self.doc = pyglet.text.document.FormattedDocument()
self.length = 0
self.attributes = {}
+
+ def decode(self, text, location=None):
next_trailing_space = True
trailing_newline = True
@@ -90,22 +88,15 @@ def decode(self, text, location=None):
self.append(m.group('nl_para')[1:]) # ignore the first \n
trailing_newline = True
elif group == 'attr':
- try:
- ast = parser.expr(m.group('attr_val'))
- if self.safe(ast):
- val = eval(ast.compile())
- else:
- val = None
- except (parser.ParserError, SyntaxError):
- val = None
+ value = ast.literal_eval(m.group('attr_val'))
name = m.group('attr_name')
if name[0] == '.':
if trailing_newline:
- self.attributes[name[1:]] = val
+ self.attributes[name[1:]] = value
else:
- self.doc.set_paragraph_style(self.length, self.length, {name[1:]: val})
+ self.doc.set_paragraph_style(self.length, self.length, {name[1:]: value})
else:
- self.attributes[name] = val
+ self.attributes[name] = value
elif group == 'escape_dec':
self.append(chr(int(m.group('escape_dec_val'))))
elif group == 'escape_hex':
@@ -122,17 +113,3 @@ def append(self, text):
self.doc.insert_text(self.length, text, self.attributes)
self.length += len(text)
self.attributes.clear()
-
- _safe_names = ('True', 'False', 'None')
-
- def safe(self, ast):
- tree = ast.totuple()
- return self.safe_node(tree)
-
- def safe_node(self, node):
- if token.ISNONTERMINAL(node[0]):
- return reduce(operator.and_, map(self.safe_node, node[1:]))
- elif node[0] == token.NAME:
- return node[1] in self._safe_names
- else:
- return True

View file

@ -4,33 +4,34 @@
%bcond_without tests
Name: python-%{srcname}
Version: 1.5.11
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
# Remove usage of the deprecated `parser` module.
# This makes pyglet compatible with Python 3.10a.
# Merged upstream.
Patch0: https://github.com/pyglet/pyglet/commit/e44509b5e4.patch
# 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
# Tests (and possibly sound synthesis?) fail on big-endian.
# Reported: https://github.com/pyglet/pyglet/issues/278
# Fedora bug: https://bugzilla.redhat.com/show_bug.cgi?id=1877849
ExcludeArch: s390x
BuildRequires: python3-devel
BuildRequires: pyproject-rpm-macros
@ -40,9 +41,20 @@ BuildRequires: pyproject-rpm-macros
%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:
@ -74,6 +86,9 @@ Requires: libGLU
Requires: libX11
Requires: fontconfig
# Needed for experimental headless mode; see: https://github.com/pyglet/pyglet/issues/51
Suggests: libEGL
# 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
@ -81,6 +96,7 @@ Requires: python3-pillow
%if %{with tests}
BuildRequires: libGL
BuildRequires: libGLU
BuildRequires: libEGL
BuildRequires: libX11
BuildRequires: fontconfig
BuildRequires: python3-pillow
@ -122,26 +138,104 @@ 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_freetype_face tests are is skipped -- they depend on non-free font we remove
# 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_have_font or test_freetype_face)' \
-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
%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

View file

@ -1 +1 @@
SHA512 (pyglet-1.5.11-repacked.tar.gz) = 5b658b11c5ddae223a1aee0db365d65e265f9fde80aa42abbc57272f508bcf26b285b51d66ff0e80da6854128f83d3bcba6457bfbfe5f1082b43ce5ad1288377
SHA512 (pyglet-2.0.10-repacked.tar.gz) = 8c780913435b1c17e43dcc99e729a2ea5d6a6e734cce642b8da82547f734cc9ce43732257e4f241eb3803a9edc941a96a762e869043260ff15adc84ba5c6d813