* PyQt in core-updates @ 2023-03-18 15:19 Andreas Enge 0 siblings, 0 replies; 4+ messages in thread From: Andreas Enge @ 2023-03-18 15:19 UTC (permalink / raw) To: guix-devel [-- Attachment #1: Type: text/plain, Size: 1747 bytes --] Hello, the attached patch seems to be necessary to start configuring python-pyqt in core-updates. But then the configure step still fails. The error message of "guix build" is not helpful, but running the configure step in the result of "guix build -K" shows the following: ... The interpreter used by pyuic5 is /gnu/store/82nin1sk01l31p5vpnz9c2ki76qka9b0-python-wrapper-3.10.7/bin/python. Generating the C++ source for the QtCore module... Error: Unable to create the C++ code. A search seems to indicate that sip does not do its job, but the exact same error with this PyQt version does not show up. The error message comes from the function def generate_sip_module_code in configure.py, which creates a command that is run with run_command. Precisely, the command is /gnu/store/zd8nrmc0207l90vscnf7dlswd6z16aas-python-sip-5.5.0/bin/sip5 -w -n PyQt5.sip -t WS_X11 -t Qt_5_15_0 -f -P -o -y QtCore.pyi -c /tmp/guix-build-python-pyqt-5.15.8.drv-2/PyQt5-5.15.8/QtCore -I sip -I /tmp/guix-build-python-pyqt-5.15.8.drv-2/PyQt5-5.15.8/sip /tmp/guix-build-python-pyqt-5.15.8.drv-2/PyQt5-5.15.8/sip/QtCore/QtCoremod.sip If I run it by hand, it prints .sip5-real: /tmp/guix-build-python-pyqt-5.15.8.drv-1/PyQt5-5.15.8/sip/QtCore/QtCoremod.sip:23: syntax error This line 23 is very simple: %Module(name=PyQt5.QtCore, call_super_init=True, default_VirtualErrorHandler=PyQt5, keyword_arguments="Optional", use_limited_api=True, py_ssize_t_clean=True) And anyway, it is part of the source code... There is a version 5.15.9 of PyQt (interestingly enough, not related to a corresponding Qt version), with NEWS stating "Bug fixes", but what I have written above is still valid. At this point, I have to give up for lack of knowledge about sip. Andreas [-- Attachment #2: 0001-gnu-python-pyqt-Set-variable-in-configure-script.patch --] [-- Type: text/plain, Size: 2518 bytes --] From 82cb67b324e9ef63bb105caae5b778467aedf894 Mon Sep 17 00:00:00 2001 From: Andreas Enge <andreas@enge.fr> Date: Sat, 18 Mar 2023 15:48:48 +0100 Subject: [PATCH] gnu: python-pyqt: Set variable in configure script. * gnu/packages/patches/pyqt-minimum-sip-version.patch: New file. * gnu/packages/qt.scm (python-pyqt): Add patch. * gnu/local.mk (dist_patch_DATA): Register patch. --- gnu/local.mk | 1 + .../patches/pyqt-minimum-sip-version.patch | 14 ++++++++++++++ gnu/packages/qt.scm | 3 ++- 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/pyqt-minimum-sip-version.patch diff --git a/gnu/local.mk b/gnu/local.mk index 43b7e4ceb3..d81f8ee0f8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1707,6 +1707,7 @@ dist_patch_DATA = \ %D%/packages/patches/pybugz-stty.patch \ %D%/packages/patches/pygpgme-disable-problematic-tests.patch \ %D%/packages/patches/pyqt-configure.patch \ + %D%/packages/patches/pyqt-minimum-sip-version.patch \ %D%/packages/patches/python-2-deterministic-build-info.patch \ %D%/packages/patches/python-2.7-adjust-tests.patch \ %D%/packages/patches/python-2.7-expat-compat.patch \ diff --git a/gnu/packages/patches/pyqt-minimum-sip-version.patch b/gnu/packages/patches/pyqt-minimum-sip-version.patch new file mode 100644 index 0000000000..abcb4113e8 --- /dev/null +++ b/gnu/packages/patches/pyqt-minimum-sip-version.patch @@ -0,0 +1,14 @@ +Set the MinimumSipVersion to something, namely the currently available one. + +diff -u PyQt5-5.15.8.alt/configure.py PyQt5-5.15.8/configure.py +--- PyQt5-5.15.8.alt/configure.py ++++ PyQt5-5.15.8/configure.py +@@ -29,7 +29,7 @@ import sys + + # Initialise the constants. + PYQT_VERSION_STR = "5.15.8" +-SIP_MIN_VERSION = '@MinimumSipVersion@' ++SIP_MIN_VERSION = "5.5.0" + + + class ModuleMetadata: diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 22a33341bf..45d99c241c 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -3294,7 +3294,8 @@ (define-public python-pyqt (sha256 (base32 "0q53xn1ax2kpfqwxkasby787ryq5a21chmw1p345cp0kp7py71dw")) - (patches (search-patches "pyqt-configure.patch")))) + (patches (search-patches "pyqt-configure.patch" + "pyqt-minimum-sip-version.patch")))) (build-system gnu-build-system) (native-inputs (list qtbase-5)) ; for qmake -- 2.39.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: Python
@ 2023-02-24 18:08 Lars-Dominik Braun
2023-02-25 15:15 ` Python Andreas Enge
0 siblings, 1 reply; 4+ messages in thread
From: Lars-Dominik Braun @ 2023-02-24 18:08 UTC (permalink / raw)
To: Andreas Enge; +Cc: guix-devel
Hi Andreas,
sorry, I can’t quite keep up with the Python issues on core-updates
right now :(
> Yet another python failure: python-pathlib
this is a backport of Python’s built-in pathlib library. It should be
dropped as a dependency for all of these packages, since our Python is >=
3.4 – the version pathlib was introduced into the standard library. And
then drop the package entirely.
Lars
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Python 2023-02-24 18:08 Python Lars-Dominik Braun @ 2023-02-25 15:15 ` Andreas Enge 2023-02-25 15:45 ` Python Lars-Dominik Braun 0 siblings, 1 reply; 4+ messages in thread From: Andreas Enge @ 2023-02-25 15:15 UTC (permalink / raw) To: Lars-Dominik Braun; +Cc: guix-devel Hello Lars, Am Fri, Feb 24, 2023 at 07:08:44PM +0100 schrieb Lars-Dominik Braun: > sorry, I can’t quite keep up with the Python issues on core-updates > right now :( thanks for your reply, this is very helpful, as I am more than insecure when it comes to python packaging! > > Yet another python failure: python-pathlib > this is a backport of Python’s built-in pathlib library. It should be > dropped as a dependency for all of these packages, since our Python is >= > 3.4 – the version pathlib was introduced into the standard library. And > then drop the package entirely. Good, thanks for the info. What generally makes me hesitant is that we are down to manual dependency resolution without having a good overview: I need python-json-spec, which so far had pathlib as an input. When I drop pathlib, the package nevertheless fails to build due to its own Collection.abc issue. So I tried to update it to the latest version. This version requires python-importlib-metadata; not its latest version 6, but something at least 5 and less than 6. We were still at 4.something. So I have just updated it to 5.2.0, the latest version 5 from last December. This gives me python-json-spec, so I am one step closer to calibre, which I am interested in. But python-importlib-metadata has 892 dependents (among which interesting looking ones, such as freecad and gnome-terminal). I wonder whether I am not breaking 891 dependents by enabling, maybe, the one that I am interested in. Anyway, I am operating from the assumption that updating to a newer version is always good, and that packages that do not build anymore will have to be updated or patched themselves. Hopefully this is a reasonable assumption in the python world... If not, please feel free to revert my changes and to propose a different solution. Andreas ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Python 2023-02-25 15:15 ` Python Andreas Enge @ 2023-02-25 15:45 ` Lars-Dominik Braun 2023-02-25 16:39 ` Python Andreas Enge 0 siblings, 1 reply; 4+ messages in thread From: Lars-Dominik Braun @ 2023-02-25 15:45 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel Hi Andreas, > This version requires python-importlib-metadata; not its latest version 6, > but something at least 5 and less than 6. We were still at 4.something. > So I have just updated it to 5.2.0, the latest version 5 from last December. > This gives me python-json-spec, so I am one step closer to calibre, which > I am interested in. note that importlib-metadata is – again – part of the standard library, as the table on [1] points out. So if we would ship Python 3.12, we would not need it. Bumping it to version 5.2 seems like the correct approach right now, since we’re at 3.10.7 on core-updates (as far as I see). > But python-importlib-metadata has 892 dependents (among which interesting > looking ones, such as freecad and gnome-terminal). I wonder whether I am not > breaking 891 dependents by enabling, maybe, the one that I am interested in. Besides the 'sanity-check phase, which checks for the most common issues, the only thing we can do is rebuild and run tests. Since Python is a dynamic language that still does not guarantee that it will run, but it’s all we can realisically do -.- Cheers, Lars [1] https://pypi.org/project/importlib-metadata/ ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Python 2023-02-25 15:45 ` Python Lars-Dominik Braun @ 2023-02-25 16:39 ` Andreas Enge 2023-02-25 16:56 ` Python Lars-Dominik Braun 0 siblings, 1 reply; 4+ messages in thread From: Andreas Enge @ 2023-02-25 16:39 UTC (permalink / raw) To: Lars-Dominik Braun; +Cc: guix-devel Am Sat, Feb 25, 2023 at 04:45:39PM +0100 schrieb Lars-Dominik Braun: > note that importlib-metadata is – again – part of the standard > library, as the table on [1] points out. So if we would ship Python 3.12, > we would not need it. Bumping it to version 5.2 seems like the correct > approach right now, since we’re at 3.10.7 on core-updates (as far as I see). Very interesting! I am just not used to these very dynamically changing languages. After a bit of discussion, we recently decided with my coauthor to assume the C99 standard in our library instead of C89 :) Right now I am left with a number of test failures that look real and cannot easily be solved by an upgrade (either because we are already on the latest version or because the tests still fail): python-sgmllib3k, python-typeguard and python-coveralls. See messages below. Andreas python-coveralls: =================================== FAILURES =================================== ___________________ ReporterTest.test_reporter_with_branches ___________________ self = <tests.api.reporter_test.ReporterTest testMethod=test_reporter_with_branches> def test_reporter_with_branches(self): subprocess.call(['coverage', 'run', '--branch', '--omit=**/.tox/*', 'runtests.py'], cwd=EXAMPLE_DIR) results = Coveralls(repo_token='xxx').get_coverage() assert len(results) == 2 # Branches are expressed as four values each in a flat list assert not len(results[0]['branches']) % 4 assert not len(results[1]['branches']) % 4 > assert_coverage(results[0], { 'source': ('def hello():\n' ' print(\'world\')\n\n\n' 'class Foo:\n' ' """ Bar """\n\n\n' 'def baz():\n' ' print(\'this is not tested\')\n\n' 'def branch(cond1, cond2):\n' ' if cond1:\n' ' print(\'condition tested both ways\')\n' ' if cond2:\n' ' print(\'condition not tested both ways\')\n'), 'name': 'project.py', 'branches': [13, 0, 14, 1, 13, 0, 15, 1, 15, 0, 16, 1, 15, 0, 12, 0], 'coverage': [1, 1, None, None, 1, None, None, None, 1, 0, None, 1, 1, 1, 1, 1]}) /tmp/guix-build-python-coveralls-3.2.0.drv-0/source/tests/api/reporter_test.py:182: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ actual = {'branches': [5, 0, 6, 1, 5, 0, ...], 'coverage': [1, 1, None, None, 1, None, ...], 'name': 'project.py', 'source': 'd...1:\n print(\'condition tested both ways\')\n if cond2:\n print(\'condition not tested both ways\')\n'} expected = {'branches': [13, 0, 14, 1, 13, 0, ...], 'coverage': [1, 1, None, None, 1, None, ...], 'name': 'project.py', 'source':...1:\n print(\'condition tested both ways\')\n if cond2:\n print(\'condition not tested both ways\')\n'} def assert_coverage(actual, expected): assert actual['source'].strip() == expected['source'].strip() assert actual['name'] == expected['name'] assert actual['coverage'] == expected['coverage'] > assert actual.get('branches') == expected.get('branches') E assert [5, 0, 6, 1, 5, 0, 9, 1, 13, 0, 14, 1, 13, 0, 15, 1, 15, 0, 16, 1, 15, 0, 12, 0] == [13, 0, 14, 1, 13, 0, 15, 1, 15, 0, 16, 1, 15, 0, 12, 0] E At index 0 diff: 5 != 13 E Left contains 8 more items, first extra item: 15 E Full diff: E - [13, 0, 14, 1, 13, 0, 15, 1, 15, 0, 16, 1, 15, 0, 12, 0] E + [5, 0, 6, 1, 5, 0, 9, 1, 13, 0, 14, 1, 13, 0, 15, 1, 15, 0, 16, 1, 15, 0, 12, 0] E ? ++++++++++++++++++++++++ /tmp/guix-build-python-coveralls-3.2.0.drv-0/source/tests/api/reporter_test.py:17: AssertionError ----------------------------- Captured stdout call ----------------------------- world condition not tested both ways condition tested both ways condition not tested both ways =========================== short test summary info ============================ FAILED tests/api/reporter_test.py::ReporterTest::test_reporter_with_branches =================== 1 failed, 51 passed, 1 skipped in 2.51s ==================== error: in phase 'check': uncaught exception: %exception #<&invoke-error program: "pytest" arguments: ("-vv") exit-status: 1 term-signal: #f stop-signal: #f> phase `check' failed after 2.8 seconds command "pytest" "-vv" failed with status 1 builder for `/gnu/store/2f7hab84ljj1k284w61zn14cbapzfdnf-python-coveralls-3.2.0.drv' failed with exit code 1 build of /gnu/store/2f7hab84ljj1k284w61zn14cbapzfdnf-python-coveralls-3.2.0.drv failed View build log at '/var/log/guix/drvs/2f/7hab84ljj1k284w61zn14cbapzfdnf-python-coveralls-3.2.0.drv.gz'. python-sgmllib3k: ====================================================================== FAIL: test_declaration_junk_chars (test_sgmllib.SGMLParserTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/guix-build-python-sgmllib3k-1.0.0-1.7999646.drv-0/source/test_sgmllib.py", line 310, in test_declaration_junk_chars self.check_parse_error("<!DOCTYPE foo $ >") File "/tmp/guix-build-python-sgmllib3k-1.0.0-1.7999646.drv-0/source/test_sgmllib.py", line 127, in check_parse_error parser.feed(source) File "/tmp/guix-build-python-sgmllib3k-1.0.0-1.7999646.drv-0/source/sgmllib.py", line 98, in feed self.goahead(0) File "/tmp/guix-build-python-sgmllib3k-1.0.0-1.7999646.drv-0/source/sgmllib.py", line 168, in goahead k = self.parse_declaration(i) File "/gnu/store/blals34ar25fiifvm17m2b504waxzys0-python-3.10.7/lib/python3.10/_markupbase.py", line 134, in parse_declaration raise AssertionError("unexpected %r char in declaration" % rawdata[j]) AssertionError: unexpected '$' char in declaration ---------------------------------------------------------------------- Ran 23 tests in 0.008s FAILED (failures=1) Test failed: <unittest.runner.TextTestResult run=23 errors=0 failures=1> error: Test failed: <unittest.runner.TextTestResult run=23 errors=0 failures=1> error: in phase 'check': uncaught exception: %exception #<&invoke-error program: "python" arguments: ("-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test") exit-status: 1 term-signal: #f stop-signal: #f> phase `check' failed after 0.3 seconds command "python" "-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with status 1 builder for `/gnu/store/cp8sgcp3c1599dzjwmfms38jz3iddyk1-python-sgmllib3k-1.0.0-1.7999646.drv' failed with exit code 1 build of /gnu/store/cp8sgcp3c1599dzjwmfms38jz3iddyk1-python-sgmllib3k-1.0.0-1.7999646.drv failed View build log at '/var/log/guix/drvs/cp/8sgcp3c1599dzjwmfms38jz3iddyk1-python-sgmllib3k-1.0.0-1.7999646.drv.gz'. python-typeguard: =================================== FAILURES =================================== ___________________ TestTypeChecked.test_typed_dict[correct] ___________________ tests/test_typeguard.py:1343: in test_typed_dict foo(value) /gnu/store/qmli9ql0wplg1hyacy07kvgaqbpfa11z-python-typeguard-2.13.3/lib/python3.10/site-packages/typeguard/__init__.py:1032: in wrapper check_argument_types(memo) /gnu/store/qmli9ql0wplg1hyacy07kvgaqbpfa11z-python-typeguard-2.13.3/lib/python3.10/site-packages/typeguard/__init__.py:875: in check_argument_types raise TypeError(*exc.args) from None E TypeError: TypedDict does not support instance and class checks __________________ TestTypeChecked.test_typed_dict[missing_x] __________________ tests/test_typeguard.py:1341: in test_typed_dict pytest.raises(TypeError, foo, value).match(error_re) E AssertionError: Regex pattern 'required key\\(s\\) \\("x"\\) missing from argument "arg"' does not match 'TypedDict does not support instance and class checks'. ___________________ TestTypeChecked.test_typed_dict[wrong_y] ___________________ tests/test_typeguard.py:1341: in test_typed_dict pytest.raises(TypeError, foo, value).match(error_re) E AssertionError: Regex pattern 'type of dict item "y" for argument "arg" must be str; got int instead' does not match 'TypedDict does not support instance and class checks'. _______________ TestTypeChecked.test_typed_dict[missing_y_error] _______________ tests/test_typeguard.py:1341: in test_typed_dict pytest.raises(TypeError, foo, value).match(error_re) E AssertionError: Regex pattern 'required key\\(s\\) \\("y"\\) missing from argument "arg"' does not match 'TypedDict does not support instance and class checks'. ________________ TestTypeChecked.test_typed_dict[missing_y_ok] _________________ tests/test_typeguard.py:1343: in test_typed_dict foo(value) /gnu/store/qmli9ql0wplg1hyacy07kvgaqbpfa11z-python-typeguard-2.13.3/lib/python3.10/site-packages/typeguard/__init__.py:1032: in wrapper check_argument_types(memo) /gnu/store/qmli9ql0wplg1hyacy07kvgaqbpfa11z-python-typeguard-2.13.3/lib/python3.10/site-packages/typeguard/__init__.py:875: in check_argument_types raise TypeError(*exc.args) from None E TypeError: TypedDict does not support instance and class checks ___________________ TestTypeChecked.test_typed_dict[wrong_x] ___________________ tests/test_typeguard.py:1341: in test_typed_dict pytest.raises(TypeError, foo, value).match(error_re) E AssertionError: Regex pattern 'type of dict item "x" for argument "arg" must be int; got str instead' does not match 'TypedDict does not support instance and class checks'. _________________ TestTypeChecked.test_typed_dict[unknown_key] _________________ tests/test_typeguard.py:1341: in test_typed_dict pytest.raises(TypeError, foo, value).match(error_re) E AssertionError: Regex pattern 'extra key\\(s\\) \\("foo"\\) in argument "arg"' does not match 'TypedDict does not support instance and class checks'. =============================== warnings summary =============================== tests/test_typeguard.py::TestTypeChecker::test_generator tests/test_typeguard.py::TestTypeChecker::test_exception tests/test_typeguard_py36.py::TestTypeChecker::test_async_generator[generator] tests/test_typeguard_py36.py::TestTypeChecker::test_async_generator[iterable] tests/test_typeguard_py36.py::TestTypeChecker::test_async_generator[iterator] /gnu/store/fgbf94ab19n90rsz6h7vrvqyw17w9kqa-python-pytest-7.1.3/lib/python3.10/site-packages/_pytest/python.py:192: PytestRemovedIn8Warning: Passing None has been deprecated. See https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests for alternatives in common use cases. result = testfunction(**testargs) tests/test_typeguard_py36.py::TestTypeChecker::test_callable /gnu/store/qmli9ql0wplg1hyacy07kvgaqbpfa11z-python-typeguard-2.13.3/lib/python3.10/site-packages/typeguard/__init__.py:1027: UserWarning: no code associated -- not typechecking test_typeguard_py36.<test_typeguard_py36.TestTypeChecker.test_callable.<locals>.command object at 0x7ffff5d4a800> warn('no code associated -- not typechecking {}'.format(function_name(func))) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========== 7 failed, 233 passed, 3 deselected, 6 warnings in 2.13s ============ error: in phase 'check': uncaught exception: %exception #<&invoke-error program: "pytest" arguments: ("-vv" "-k" "not usefixtures and not test_cached_module") exit-status: 1 term-signal: #f stop-signal: #f> phase `check' failed after 2.5 seconds command "pytest" "-vv" "-k" "not usefixtures and not test_cached_module" failed with status 1 builder for `/gnu/store/l9gb4nadq9c43zn82wqbxmwgib7bkqqs-python-typeguard-2.13.3.drv' failed with exit code 1 build of /gnu/store/l9gb4nadq9c43zn82wqbxmwgib7bkqqs-python-typeguard-2.13.3.drv failed View build log at '/var/log/guix/drvs/l9/gb4nadq9c43zn82wqbxmwgib7bkqqs-python-typeguard-2.13.3.drv.gz'. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Python 2023-02-25 16:39 ` Python Andreas Enge @ 2023-02-25 16:56 ` Lars-Dominik Braun 2023-03-15 13:49 ` Python Andreas Enge 0 siblings, 1 reply; 4+ messages in thread From: Lars-Dominik Braun @ 2023-02-25 16:56 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel Hi, > Right now I am left with a number of test failures that look real and cannot > easily be solved by an upgrade (either because we are already on the latest > version or because the tests still fail): python-sgmllib3k, python-typeguard > and python-coveralls. See messages below. I don’t know for sure why any of these packages’ tests fail. typeguard looks like it expects specific strings from Python or one of its libraries – safe to ignore. sgmllib3k looks pretty dead upstream. Perhaps it’s not even needed any more? Updates to Python packages (via `guix refresh`) do not update dependencies and thus the list of inputs/native-inputs are most likely outdated. Well, there are reasons no-one is updating the Python ecosystem regularly… Cheers, Lars ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Python 2023-02-25 16:56 ` Python Lars-Dominik Braun @ 2023-03-15 13:49 ` Andreas Enge 2023-03-18 9:43 ` Python Lars-Dominik Braun 0 siblings, 1 reply; 4+ messages in thread From: Andreas Enge @ 2023-03-15 13:49 UTC (permalink / raw) To: Lars-Dominik Braun; +Cc: guix-devel Hello, Am Sat, Feb 25, 2023 at 05:56:59PM +0100 schrieb Lars-Dominik Braun: > > Right now I am left with a number of test failures that look real and cannot > > easily be solved by an upgrade (either because we are already on the latest > > version or because the tests still fail): python-sgmllib3k, python-typeguard > > and python-coveralls. See messages below. > I don’t know for sure why any of these packages’ tests fail. typeguard > looks like it expects specific strings from Python or one of its libraries > – safe to ignore. would you mind having a look how we should proceed? Fix tests or disable specific ones that you deem safe to ignore? > sgmllib3k looks pretty dead upstream. Perhaps it’s > not even needed any more? Updates to Python packages (via `guix refresh`) > do not update dependencies and thus the list of inputs/native-inputs > are most likely outdated. This one is used for python-feedparser, used for calibre and quodlibet. The feedparser author is not enclined to work on it: https://github.com/kurtmckee/feedparser/issues/328 I would suggest to try compiling python-sgmllib3k (and potentially python-feedparser) without the tests, and see whether calibre still works. But for this, we first need to get all other inputs of calibre into working shape. Andreas ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Python 2023-03-15 13:49 ` Python Andreas Enge @ 2023-03-18 9:43 ` Lars-Dominik Braun 2023-03-18 19:37 ` Python Andreas Enge 0 siblings, 1 reply; 4+ messages in thread From: Lars-Dominik Braun @ 2023-03-18 9:43 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel Hi again, > > > Right now I am left with a number of test failures that look real and cannot > > > easily be solved by an upgrade (either because we are already on the latest > > > version or because the tests still fail): python-sgmllib3k, python-typeguard > > > and python-coveralls. See messages below. > > I don’t know for sure why any of these packages’ tests fail. typeguard > > looks like it expects specific strings from Python or one of its libraries > > – safe to ignore. > > would you mind having a look how we should proceed? Fix tests or disable > specific ones that you deem safe to ignore? python-typeguard and python-coveralls are functional again: d9a31cd34eb9f63460d74d3cfff0190f964f48f4 gnu: python-coveralls: Disable failing test and relax version requirements. a7c96167ae8748a8b76fabaf74a997094cdf7fc5 gnu: python-typeguard: Python 3.10 compatibility. Anything else that needs work? Cheers, Lars ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Python 2023-03-18 9:43 ` Python Lars-Dominik Braun @ 2023-03-18 19:37 ` Andreas Enge 2023-03-21 18:56 ` Python Lars-Dominik Braun 0 siblings, 1 reply; 4+ messages in thread From: Andreas Enge @ 2023-03-18 19:37 UTC (permalink / raw) To: Lars-Dominik Braun; +Cc: guix-devel Am Sat, Mar 18, 2023 at 10:43:17AM +0100 schrieb Lars-Dominik Braun: > Anything else that needs work? Well, there is pyqt as written elsewhere, but this is not only python. I just updated python-ipython to the first version that passes all tests without any change, in the hope that this would have the least impact on its dependents. Without luck, now python-trio fails. Updating this to the latest version 0.22 does not help. I copy-paste the error message below. If you could have a look, that would definitely be welcome. Andreas starting phase `check' ============================= test session starts ============================== platform linux -- Python 3.10.7, pytest-7.1.3, pluggy-0.13.1 -- /gnu/store/82nin1sk01l31p5vpnz9c2ki76qka9b0-python-wrapper-3.10.7/bin/python cachedir: .pytest_cache hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/tmp/guix-build-python-trio-0.20.0.drv-0/trio-0.20.0/.hypothesis/examples') rootdir: /tmp/guix-build-python-trio-0.20.0.drv-0/trio-0.20.0, configfile: pyproject.toml plugins: hypothesis-6.54.5, xdist-2.5.0, cov-3.0.0, forked-1.4.0 gw0 I / gw1 I / gw2 I / gw3 I [gw0] linux Python 3.10.7 cwd: /tmp/guix-build-python-trio-0.20.0.drv-0/trio-0.20.0 [gw1] linux Python 3.10.7 cwd: /tmp/guix-build-python-trio-0.20.0.drv-0/trio-0.20.0 [gw2] linux Python 3.10.7 cwd: /tmp/guix-build-python-trio-0.20.0.drv-0/trio-0.20.0 [gw3] linux Python 3.10.7 cwd: /tmp/guix-build-python-trio-0.20.0.drv-0/trio-0.20.0 [gw0] Python 3.10.7 (main, Jan 1 1970, 00:00:01) [GCC 11.3.0] [gw1] Python 3.10.7 (main, Jan 1 1970, 00:00:01) [GCC 11.3.0] [gw2] Python 3.10.7 (main, Jan 1 1970, 00:00:01) [GCC 11.3.0] [gw3] Python 3.10.7 (main, Jan 1 1970, 00:00:01) [GCC 11.3.0] gw0 [0] / gw1 [0] / gw2 [0] / gw3 [0] scheduling tests via LoadScheduling ==================================== ERRORS ==================================== ________________________ ERROR collecting test session _________________________ /gnu/store/i0d555a5fd7isi606aqqmbp5zgy9jh6p-python-3.10.7/lib/python3.10/importlib/__init__.py:126: in import_module return _bootstrap._gcd_import(name[level:], package, level) <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:992: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:992: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:992: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:1006: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:688: in _load_unlocked ??? <frozen importlib._bootstrap_external>:883: in exec_module ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? trio/__init__.py:18: in <module> from ._core import ( trio/_core/__init__.py:20: in <module> from ._multierror import MultiError trio/_core/_multierror.py:511: in <module> warnings.warn( E RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks. ________________________ ERROR collecting test session _________________________ /gnu/store/i0d555a5fd7isi606aqqmbp5zgy9jh6p-python-3.10.7/lib/python3.10/importlib/__init__.py:126: in import_module return _bootstrap._gcd_import(name[level:], package, level) <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:992: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:992: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:992: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:1006: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:688: in _load_unlocked ??? <frozen importlib._bootstrap_external>:883: in exec_module ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? trio/__init__.py:18: in <module> from ._core import ( trio/_core/__init__.py:20: in <module> from ._multierror import MultiError trio/_core/_multierror.py:511: in <module> warnings.warn( E RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks. ________________________ ERROR collecting test session _________________________ /gnu/store/i0d555a5fd7isi606aqqmbp5zgy9jh6p-python-3.10.7/lib/python3.10/importlib/__init__.py:126: in import_module return _bootstrap._gcd_import(name[level:], package, level) <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:992: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:992: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:992: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:1006: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:688: in _load_unlocked ??? <frozen importlib._bootstrap_external>:883: in exec_module ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? trio/__init__.py:18: in <module> from ._core import ( trio/_core/__init__.py:20: in <module> from ._multierror import MultiError trio/_core/_multierror.py:511: in <module> warnings.warn( E RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks. ________________________ ERROR collecting test session _________________________ /gnu/store/i0d555a5fd7isi606aqqmbp5zgy9jh6p-python-3.10.7/lib/python3.10/importlib/__init__.py:126: in import_module return _bootstrap._gcd_import(name[level:], package, level) <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:992: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:992: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:992: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? <frozen importlib._bootstrap>:1050: in _gcd_import ??? <frozen importlib._bootstrap>:1027: in _find_and_load ??? <frozen importlib._bootstrap>:1006: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:688: in _load_unlocked ??? <frozen importlib._bootstrap_external>:883: in exec_module ??? <frozen importlib._bootstrap>:241: in _call_with_frames_removed ??? trio/__init__.py:18: in <module> from ._core import ( trio/_core/__init__.py:20: in <module> from ._multierror import MultiError trio/_core/_multierror.py:511: in <module> warnings.warn( E RuntimeWarning: You seem to already have a custom sys.excepthook handler installed. I'll skip installing Trio's custom handler, but this means MultiErrors will not show full tracebacks. =========================== short test summary info ============================ ERROR - RuntimeWarning: You seem to already have a custom sys.excepthook han... ERROR - RuntimeWarning: You seem to already have a custom sys.excepthook han... ERROR - RuntimeWarning: You seem to already have a custom sys.excepthook han... ERROR - RuntimeWarning: You seem to already have a custom sys.excepthook han... ============================== 4 errors in 2.94s =============================== error: in phase 'check': uncaught exception: %exception #<&invoke-error program: "pytest" arguments: ("-vv" "-n" "4" "-k" "not test_ki_protection_works and not test_guest_mode_ki and not test_run_in_trio_thread_ki and not test_simple_cancel_scope_usage_doesnt_create_cyclic_garbage and not test_nursery_cancel_doesnt_create_cyclic_garbage and not test_cancel_scope_exit_doesnt_create_cyclic_garbage and not test_locals_destroyed_promptly_on_cancel and not test_ipython_exc_handler and not test_for_leaking_fds and not test_ki_self and not test_ki_wakes_us_up and not test_getnameinfo and not test_SocketType_resolve and not test_getprotobyname and not test_static_tool_sees_all_symbols") exit-status: 1 term-signal: #f stop-signal: #f> phase `check' failed after 3.4 seconds command "pytest" "-vv" "-n" "4" "-k" "not test_ki_protection_works and not test_guest_mode_ki and not test_run_in_trio_thread_ki and not test_simple_cancel_scope_usage_doesnt_create_cyclic_garbage and not test_nursery_cancel_doesnt_create_cyclic_garbage and not test_cancel_scope_exit_doesnt_create_cyclic_garbage and not test_locals_destroyed_promptly_on_cancel and not test_ipython_exc_handler and not test_for_leaking_fds and not test_ki_self and not test_ki_wakes_us_up and not test_getnameinfo and not test_SocketType_resolve and not test_getprotobyname and not test_static_tool_sees_all_symbols" failed with status 1 builder for `/gnu/store/21qmmyrnvwjh7254zr2byfg3l5mwd0rh-python-trio-0.20.0.drv' failed with exit code 1 build of /gnu/store/21qmmyrnvwjh7254zr2byfg3l5mwd0rh-python-trio-0.20.0.drv failed View build log at '/var/log/guix/drvs/21/qmmyrnvwjh7254zr2byfg3l5mwd0rh-python-trio-0.20.0.drv.gz'. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Python 2023-03-18 19:37 ` Python Andreas Enge @ 2023-03-21 18:56 ` Lars-Dominik Braun 2023-03-30 9:57 ` Python Lars-Dominik Braun 0 siblings, 1 reply; 4+ messages in thread From: Lars-Dominik Braun @ 2023-03-21 18:56 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel Hi, > Well, there is pyqt as written elsewhere, but this is not only python. I looked at it and it seems that python-sip and python-pyqt-builder need a version bump and we should maybe switch to pyproject-build-system. However python-sip does not expose any switches to specify a different path for .sip file includes. That requires custom patches for python-sip. python-pyqt builds, but everything else is work in progress… Lars ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Python 2023-03-21 18:56 ` Python Lars-Dominik Braun @ 2023-03-30 9:57 ` Lars-Dominik Braun 2023-04-03 17:29 ` PyQt in core-updates Andreas Enge 0 siblings, 1 reply; 4+ messages in thread From: Lars-Dominik Braun @ 2023-03-30 9:57 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel Hello Andreas, > I looked at it and it seems that python-sip and python-pyqt-builder need a > version bump and we should maybe switch to pyproject-build-system. However > python-sip does not expose any switches to specify a different path for > .sip file includes. That requires custom patches for python-sip. > python-pyqt builds, but everything else is work in progress… python-pyqt and python-pyqtwebengine should build on core-updates now. I’ve tested qutebrowser, which works. Other packages depending on python-pyqt fail due to unrelated problems. See d9dc32b8716e5213fa127587dce64a6bbe5daee8 gnu: python-pyqtwebengine: Update to 5.15.9. 628eefa3695fad74f8fb8daca1f243b1684fe9f8 gnu: python-pyqt: Update to 5.15.9. 9b7e8365e228407c4f6f7071f6b36046be5e20b7 gnu: python-pyqt-builder: Update to 1.14.1. eebb0bfd68a863f6ef6c18e20daad7aaa6d3ba2a gnu: python-sip: Update to 6.7.7. Cheers, Lars ^ permalink raw reply [flat|nested] 4+ messages in thread
* PyQt in core-updates 2023-03-30 9:57 ` Python Lars-Dominik Braun @ 2023-04-03 17:29 ` Andreas Enge 2023-04-04 7:55 ` Lars-Dominik Braun 0 siblings, 1 reply; 4+ messages in thread From: Andreas Enge @ 2023-04-03 17:29 UTC (permalink / raw) To: Lars-Dominik Braun; +Cc: guix-devel Hello, Am Thu, Mar 30, 2023 at 11:57:53AM +0200 schrieb Lars-Dominik Braun: > python-pyqt and python-pyqtwebengine should build on core-updates > now. I’ve tested qutebrowser, which works. Other packages depending > on python-pyqt fail due to unrelated problems. I have just fixed calibre. It failed to build because .sip fails are now in a subdirectory /lib/python3.10/site-packages/PyQt5/bindings instead of /share/sip (or maybe before, they were in both directories). Just as a potential hint for other packages. Andreas ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: PyQt in core-updates 2023-04-03 17:29 ` PyQt in core-updates Andreas Enge @ 2023-04-04 7:55 ` Lars-Dominik Braun 2023-04-17 8:32 ` Andreas Enge 0 siblings, 1 reply; 4+ messages in thread From: Lars-Dominik Braun @ 2023-04-04 7:55 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel Hi Andreas, > I have just fixed calibre. It failed to build because .sip fails are > now in a subdirectory /lib/python3.10/site-packages/PyQt5/bindings > instead of /share/sip (or maybe before, they were in both directories). no, it was definitely in /share/sip before, but the pyproject-based build system does not expose any option to move it there :( If anyone can figure out how to move it back *and* successfully compile pyqt, please, change it back to /share/sip. Lars ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: PyQt in core-updates 2023-04-04 7:55 ` Lars-Dominik Braun @ 2023-04-17 8:32 ` Andreas Enge 0 siblings, 0 replies; 4+ messages in thread From: Andreas Enge @ 2023-04-17 8:32 UTC (permalink / raw) To: Lars-Dominik Braun; +Cc: guix-devel Am Tue, Apr 04, 2023 at 09:55:37AM +0200 schrieb Lars-Dominik Braun: > > I have just fixed calibre. It failed to build because .sip fails are > > now in a subdirectory /lib/python3.10/site-packages/PyQt5/bindings > > instead of /share/sip (or maybe before, they were in both directories). > no, it was definitely in /share/sip before, but the pyproject-based > build system does not expose any option to move it there :( If anyone > can figure out how to move it back *and* successfully compile pyqt, > please, change it back to /share/sip. Well, if we want to have files somewhere else, we could always add a phase and move them from one place to the other. I wonder how other distributions do it. Andreas ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-04-17 8:32 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-03-18 15:19 PyQt in core-updates Andreas Enge -- strict thread matches above, loose matches on Subject: below -- 2023-02-24 18:08 Python Lars-Dominik Braun 2023-02-25 15:15 ` Python Andreas Enge 2023-02-25 15:45 ` Python Lars-Dominik Braun 2023-02-25 16:39 ` Python Andreas Enge 2023-02-25 16:56 ` Python Lars-Dominik Braun 2023-03-15 13:49 ` Python Andreas Enge 2023-03-18 9:43 ` Python Lars-Dominik Braun 2023-03-18 19:37 ` Python Andreas Enge 2023-03-21 18:56 ` Python Lars-Dominik Braun 2023-03-30 9:57 ` Python Lars-Dominik Braun 2023-04-03 17:29 ` PyQt in core-updates Andreas Enge 2023-04-04 7:55 ` Lars-Dominik Braun 2023-04-17 8:32 ` Andreas Enge
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).