Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-bpython for openSUSE:Factory checked in at 2022-02-06 23:54:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-bpython (Old) and /work/SRC/openSUSE:Factory/.python-bpython.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-bpython" Sun Feb 6 23:54:18 2022 rev:11 rq:951802 version:0.22.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-bpython/python-bpython.changes 2022-02-02 22:45:02.898053724 +0100 +++ /work/SRC/openSUSE:Factory/.python-bpython.new.1898/python-bpython.changes 2022-02-06 23:55:35.094293753 +0100 @@ -1,0 +2,14 @@ +Sat Feb 5 21:57:02 UTC 2022 - Matej Cepl <[email protected]> + +- This version actually installs manpages on its own. + +------------------------------------------------------------------- +Wed Feb 2 20:04:24 UTC 2022 - Matej Cepl <[email protected]> + +- Fix failing tests: + - typing_extensions.patch (post Python 3.8 we don't need + typing_extensions package at all) + - syntaxerror_failing_test.patch (from + https://github.com/bpython/bpython/compare/fdd4ad9..4d33cc6). + +------------------------------------------------------------------- New: ---- syntaxerror_failing_test.patch typing_extensions.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-bpython.spec ++++++ --- /var/tmp/diff_new_pack.Bm1k6f/_old 2022-02-06 23:55:35.634290102 +0100 +++ /var/tmp/diff_new_pack.Bm1k6f/_new 2022-02-06 23:55:35.638290075 +0100 @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 -%bcond_with test +%bcond_without test Name: python-bpython Version: 0.22.1 Release: 0 @@ -26,9 +26,18 @@ License: MIT URL: https://www.bpython-interpreter.org/ Source: https://files.pythonhosted.org/packages/source/b/bpython/bpython-%{version}.tar.gz +# PATCH-FIX-UPSTREAM typing_extensions.patch gh#bpython/bpython#940 [email protected] +# We actually don't need typing_extensions (all objects are in 3.8+) +Patch0: typing_extensions.patch +# PATCH-FIX-UPSTREAM syntaxerror_failing_test.patch gh#bpython/bpython#952 [email protected] +# This is actually fixed in the post-0.22.1 development, but waiting on it. +# https://github.com/bpython/bpython/compare/fdd4ad9..4d33cc6.patch +Patch1: syntaxerror_failing_test.patch BuildRequires: %{python_module Babel} BuildRequires: %{python_module Sphinx} +BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: hicolor-icon-theme BuildRequires: python-rpm-macros @@ -54,10 +63,10 @@ BuildRequires: %{python_module curtsies >= 0.3.5} BuildRequires: %{python_module greenlet} BuildRequires: %{python_module pygments} +BuildRequires: %{python_module pyxdg} BuildRequires: %{python_module requests} BuildRequires: %{python_module six >= 1.5} BuildRequires: %{python_module wcwidth} -BuildRequires: python-mock %endif %ifpython2 Provides: bpython = %{version} @@ -90,17 +99,14 @@ Documentation and help files for %{name}. %prep -%setup -q -n bpython-%{version} +%autosetup -p1 -n bpython-%{version} %build -%python_build +%pyproject_wheel %python_exec setup.py build_sphinx && rm build/sphinx/html/.buildinfo # HTML documentation %install -%python_install - -install -m 644 build/man/bpython.1 %{buildroot}%{_mandir}/man1/bpython.1 -install -m 644 build/man/bpython-config.5 %{buildroot}%{_mandir}/man5/bpython-config.5 +%pyproject_install %python_clone -a %{buildroot}%{_bindir}/bpython %python_clone -a %{buildroot}%{_bindir}/bpython-curses @@ -109,9 +115,6 @@ %python_clone -a %{buildroot}%{_mandir}/man1/bpython.1 %python_clone -a %{buildroot}%{_mandir}/man5/bpython-config.5 -install -d %{buildroot}%{_mandir}/man1/ -install -d %{buildroot}%{_mandir}/man5/ - %{python_expand %fdupes %{buildroot}%{$python_sitelib} cp %{buildroot}%{_datadir}/metainfo/org.bpython-interpreter.bpython.metainfo.xml %{buildroot}%{_datadir}/metainfo/org.bpython-interpreter.bpython-%{$python_bin_suffix}.metainfo.xml @@ -134,7 +137,7 @@ %if %{with test} %check -%python_exec setup.py test +%pyunittest discover -v %endif %post @@ -150,8 +153,8 @@ %{python_sitelib}/bpython/* %dir %{python_sitelib}/bpdb %{python_sitelib}/bpdb/* -%dir %{python_sitelib}/bpython-%{version}-py*.egg-info -%{python_sitelib}/bpython-%{version}-py*.egg-info/* +%dir %{python_sitelib}/bpython-%{version}*-info +%{python_sitelib}/bpython-%{version}*-info/* %python_alternative %{_bindir}/bpython %python_alternative %{_bindir}/bpython-curses %python_alternative %{_bindir}/bpython-urwid ++++++ syntaxerror_failing_test.patch ++++++ >From b46afa3bb1ab783c96dc80c5184090a171ab70d4 Mon Sep 17 00:00:00 2001 From: Sebastian Ramacher <[email protected]> Date: Fri, 31 Dec 2021 14:00:46 +0100 Subject: [PATCH 1/3] Apply black --- bpython/autocomplete.py | 1 - bpython/curtsiesfrontend/filewatch.py | 1 - bpython/test/test_interpreter.py | 14 +++++++++++++- bpython/urwid.py | 1 - 4 files changed, 13 insertions(+), 4 deletions(-) --- a/bpython/autocomplete.py +++ b/bpython/autocomplete.py @@ -626,7 +626,6 @@ except ImportError: def locate(self, cursor_offset: int, line: str) -> Optional[LinePart]: return None - else: class JediCompletion(BaseCompletionType): --- a/bpython/curtsiesfrontend/filewatch.py +++ b/bpython/curtsiesfrontend/filewatch.py @@ -11,7 +11,6 @@ except ImportError: def ModuleChangedEventHandler(*args): return None - else: class ModuleChangedEventHandler(FileSystemEventHandler): # type: ignore [no-redef] --- a/bpython/test/test_interpreter.py +++ b/bpython/test/test_interpreter.py @@ -35,7 +35,19 @@ class TestInterpreter(unittest.TestCase) i.runsource("1.1.1.1") - if sys.version_info[:2] >= (3, 10): + if (3, 10, 1) <= sys.version_info[:3]: + expected = ( + " File " + + green('"<bpython-input-148>"') + + ", line " + + bold(magenta("1")) + + "\n 1.1.1.1\n ^^\n" + + bold(red("SyntaxError")) + + ": " + + cyan("invalid syntax") + + "\n" + ) + elif (3, 10) <= sys.version_info[:2]: expected = ( " File " + green('"<bpython-input-148>"') --- a/bpython/urwid.py +++ b/bpython/urwid.py @@ -128,7 +128,6 @@ if urwid.VERSION < (1, 0, 0) and hasattr return wrapper - else: TwistedEventLoop = getattr(urwid, "TwistedEventLoop", None) ++++++ typing_extensions.patch ++++++ >From 51ebc86070c7a49abe78ba87a0e8268a09f141a6 Mon Sep 17 00:00:00 2001 From: Sebastian Ramacher <[email protected]> Date: Wed, 8 Dec 2021 18:18:17 +0100 Subject: [PATCH] Add a typing compat module to avoid a dependency on typing-extensions for Py >= 3.8 --- bpython/_typing_compat.py | 33 +++++++++++++++++++++++++++++++++ bpython/curtsies.py | 2 +- bpython/curtsiesfrontend/_internal.py | 2 +- bpython/curtsiesfrontend/repl.py | 2 +- bpython/filelock.py | 2 +- bpython/inspection.py | 2 +- bpython/repl.py | 2 +- setup.cfg | 2 +- 8 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 bpython/_typing_compat.py --- /dev/null +++ b/bpython/_typing_compat.py @@ -0,0 +1,33 @@ +# The MIT License +# +# Copyright (c) 2021 Sebastian Ramacher +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +try: + # introduced in Python 3.8 + from typing import Literal +except ImportError: + from typing_extensions import Literal # type: ignore + +try: + # introduced in Python 3.8 + from typing import Protocol +except ImportError: + from typing_extensions import Protocol # type: ignore --- a/bpython/curtsies.py +++ b/bpython/curtsies.py @@ -33,7 +33,7 @@ from typing import ( Optional, Generator, ) -from typing_extensions import Literal, Protocol +from ._typing_compat import Protocol logger = logging.getLogger(__name__) --- a/bpython/curtsiesfrontend/_internal.py +++ b/bpython/curtsiesfrontend/_internal.py @@ -23,7 +23,7 @@ import pydoc from types import TracebackType from typing import Optional, Type -from typing_extensions import Literal +from .._typing_compat import Literal from .. import _internal --- a/bpython/curtsiesfrontend/repl.py +++ b/bpython/curtsiesfrontend/repl.py @@ -14,7 +14,7 @@ import unicodedata from enum import Enum from types import TracebackType from typing import Dict, Any, List, Optional, Tuple, Union, cast, Type -from typing_extensions import Literal +from .._typing_compat import Literal import blessings import greenlet --- a/bpython/filelock.py +++ b/bpython/filelock.py @@ -21,7 +21,7 @@ # THE SOFTWARE. from typing import Optional, Type, IO -from typing_extensions import Literal +from ._typing_compat import Literal from types import TracebackType has_fcntl = True --- a/bpython/inspection.py +++ b/bpython/inspection.py @@ -28,7 +28,7 @@ import re from collections import namedtuple from typing import Any, Optional, Type from types import MemberDescriptorType, TracebackType -from typing_extensions import Literal +from ._typing_compat import Literal from pygments.token import Token from pygments.lexers import Python3Lexer --- a/bpython/repl.py +++ b/bpython/repl.py @@ -38,7 +38,7 @@ from itertools import takewhile from pathlib import Path from types import ModuleType, TracebackType from typing import cast, Tuple, Any, Optional, Type -from typing_extensions import Literal +from ._typing_compat import Literal from pygments.lexers import Python3Lexer from pygments.token import Token --- a/setup.cfg +++ b/setup.cfg @@ -28,7 +28,7 @@ install_requires = pygments pyxdg requests - typing-extensions + typing-extensions; python_version < "3.8" [options.extras_require] clipboard = pyperclip
