Your message dated Fri, 02 Jan 2026 13:49:07 +0000
with message-id <[email protected]>
and subject line Bug#1123148: fixed in magicgui 0.10.1-1
has caused the Debian Bug report #1123148,
regarding magicgui: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i 
python{version} -p "3.14 3.13" returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1123148: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1123148
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:magicgui
Version: 0.9.1-2
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202512/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:magicgui, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with=python3 --with=numpy3 --buildsystem=pybuild --test-pytest
   dh_auto_clean -O--buildsystem=pybuild -O--test-pytest
   dh_autoreconf_clean -O--buildsystem=pybuild -O--test-pytest
   dh_clean -O--buildsystem=pybuild -O--test-pytest
 debian/rules binary
dh binary --with=python3 --with=numpy3 --buildsystem=pybuild --test-pytest
   dh_update_autotools_config -O--buildsystem=pybuild -O--test-pytest
   dh_autoreconf -O--buildsystem=pybuild -O--test-pytest
   dh_auto_configure -O--buildsystem=pybuild -O--test-pytest
   dh_auto_build -O--buildsystem=pybuild -O--test-pytest
I: pybuild plugin_pyproject:131: Building wheel for python3.14 with "build" 
module
I: pybuild base:317: python3.14 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_magicgui  
* Building wheel...
Successfully built magicgui-0.9.1-py3-none-any.whl
I: pybuild plugin_pyproject:155: Unpacking wheel built for python3.14 with 
"installer" module
I: pybuild plugin_pyproject:131: Building wheel for python3.13 with "build" 
module
I: pybuild base:317: python3.13 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_magicgui  
* Building wheel...
Successfully built magicgui-0.9.1-py3-none-any.whl
I: pybuild plugin_pyproject:155: Unpacking wheel built for python3.13 with 
"installer" module
   debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
for API in pyqt5 pyqt6 pyside6; do \
  set -e; \
  echo "################# $API TEST ##################"; \
  PYTEST_QT_API=$API QT_API=$API dh_auto_test; \
done
################# pyqt5 TEST ##################
I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_magicgui/build; 
python3.14 -m pytest -k 'not test_pushbutton_icon' 
============================= test session starts ==============================
platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0
PyQt5 5.15.11 -- Qt runtime 5.15.17 -- Qt compiled 5.15.17
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_magicgui/build
configfile: pyproject.toml
testpaths: tests
plugins: qt-4.4.0, xvfb-3.0.0, typeguard-4.4.4
collected 351 items / 2 deselected / 3 skipped / 349 selected

tests/test_application.py .                                              [  0%]
tests/test_backends.py s.........                                        [  3%]
tests/test_container.py ...............                                  [  7%]
tests/test_docs.py ss                                                    [  8%]
tests/test_factory.py ..........                                         [ 10%]
tests/test_gui_class.py ......                                           [ 12%]
tests/test_magicgui.py .....F..........F..x......................F...... [ 26%]
......                                                                   [ 28%]
tests/test_persistence.py ...                                            [ 29%]
tests/test_signature.py ...F                                             [ 30%]
tests/test_table.py ............................sss..........            [ 42%]
tests/test_types.py ..................                                   [ 47%]
tests/test_ui_field.py s.ss....ss.                                       [ 50%]
tests/test_util.py ............                                          [ 53%]
tests/test_widgets.py ......s.s..ss..s.ss..ss.sss.s..s...........s...... [ 68%]
s.s.......s..s.......................................................... [ 88%]
.......................................                                  [100%]

=================================== FAILURES ===================================
____________________________ test_bind_out_of_order ____________________________

    def test_bind_out_of_order():
        """Test that binding a value before a non-default argument still gives 
message."""
    
        @magicgui(a={"bind": 10})
        def func(a, x):
            pass
    
        assert isinstance(func.a, widgets.EmptyWidget)
        with pytest.raises(TypeError) as e:
            func()
        assert "missing a required argument" in str(e)
>       assert "@magicgui(x={'bind': value})" in str(e)
E       assert "@magicgui(x={'bind': value})" in '<ExceptionInfo 
TypeError("missing a required argument: \'x\' in call to \'func(x: 
Annotated[inspect._empty, {\'enable...rue, \'visible\': False}], a: 
Annotated[inspect._empty, {\'enabled\': True, \'visible\': False}] = 10): ...") 
tblen=2>'
E        +  where '<ExceptionInfo TypeError("missing a required argument: \'x\' 
in call to \'func(x: Annotated[inspect._empty, {\'enable...rue, \'visible\': 
False}], a: Annotated[inspect._empty, {\'enabled\': True, \'visible\': False}] 
= 10): ...") tblen=2>' = str(<ExceptionInfo TypeError("missing a required 
argument: 'x' in call to 'func(x: Annotated[inspect._empty, {'enabled': 
T...led': True, 'visible': False}], a: Annotated[inspect._empty, {'enabled': 
True, 'visible': False}] = 10): ...") tblen=2>)

tests/test_magicgui.py:134: AssertionError
_____________________________ test_signature_repr ______________________________

    def test_signature_repr():
        """Test that the gui makes a proper signature."""
    
        def func(a: str = "string", b: int = 3, c: float = 7.1):
            return locals()
    
        magic_func = magicgui(func)
    
        # the STRING signature representation should be the same as the 
original function
>       assert str(inspect.signature(magic_func)) == 
> str(inspect.signature(func))
E       assert '(a: Annotate...None}] = 7.1)' == "(a: str = 's... float = 7.1)"
E         
E         - (a: str = 'string', b: int = 3, c: float = 7.1)
E         + (a: Annotated[str, {'enabled': True, 'visible': False}] = 'string', 
b: Annotated[int, {'enabled': True, 'visible': False, 'min': 0, 'max': 999, 
'step': None}] = 3, c: Annotated[float, {'enabled': True, 'visible': False, 
'min': 0.0, 'max': 999.0, 'step': None}] = 7.1)

tests/test_magicgui.py:317: AssertionError
______________________________ test_none_defaults ______________________________

    def test_none_defaults():
        """Make sure that an unannotated parameter with default=None is ok."""
        assert widgets.create_widget(value=None, raise_on_unknown=False).value 
is None
    
        def func(arg=None):
            return 1
    
        assert magicgui(func)() == 1
    
>       assert str(magic_signature(func)) == str(magicgui(func).__signature__)
E       AssertionError: assert '(arg: Annota..., {}] = None)' == '(arg: 
Annota...lse}] = None)'
E         
E         - (arg: Annotated[inspect._empty, {'enabled': True, 'visible': 
False}] = None)
E         + (arg: Annotated[inspect._empty, {}] = None)

tests/test_magicgui.py:774: AssertionError
_________________________ test_signature_to_container __________________________

    def test_signature_to_container():
        """Test that a MagicSignature can make a container."""
        sig = magic_signature(_sample_func, gui_options={"a": {"widget_type": 
"Slider"}})
        container = sig.to_container()
        assert len(container) == 2
>       assert repr(container) == "<Container (a: int = 0, b: str = 'hi')>"
E       assert "<Container (...se}] = 'hi')>" == "<Container (... str = 'hi')>"
E         
E         - <Container (a: int = 0, b: str = 'hi')>
E         + <Container (a: Annotated[int, {'enabled': True, 'visible': False, 
'min': 0, 'max': 999, 'step': None, 'orientation': 'horizontal', 'readout': 
True}] = 0, b: Annotated[str, {'enabled': True, 'visible': False}] = 'hi')>

tests/test_signature.py:43: AssertionError
=========================== short test summary info ============================
FAILED tests/test_magicgui.py::test_bind_out_of_order - assert "@magicgui(x={...
FAILED tests/test_magicgui.py::test_signature_repr - assert '(a: Annotate...N...
FAILED tests/test_magicgui.py::test_none_defaults - AssertionError: assert '(...
FAILED tests/test_signature.py::test_signature_to_container - assert "<Contai...
====== 4 failed, 314 passed, 33 skipped, 2 deselected, 1 xfailed in 4.34s ======
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_magicgui/build; python3.14 -m pytest -k 
'not test_pushbutton_icon' 
I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_magicgui/build; 
python3.13 -m pytest -k 'not test_pushbutton_icon' 
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
PyQt5 5.15.11 -- Qt runtime 5.15.17 -- Qt compiled 5.15.17
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_magicgui/build
configfile: pyproject.toml
testpaths: tests
plugins: qt-4.4.0, xvfb-3.0.0, typeguard-4.4.4
collected 351 items / 2 deselected / 3 skipped / 349 selected

tests/test_application.py .                                              [  0%]
tests/test_backends.py s.........                                        [  3%]
tests/test_container.py ...............                                  [  7%]
tests/test_docs.py ss                                                    [  8%]
tests/test_factory.py ..........                                         [ 10%]
tests/test_gui_class.py ......                                           [ 12%]
tests/test_magicgui.py ...................x............................. [ 26%]
......                                                                   [ 28%]
tests/test_persistence.py ...                                            [ 29%]
tests/test_signature.py ....                                             [ 30%]
tests/test_table.py ............................sss..........            [ 42%]
tests/test_types.py ..................                                   [ 47%]
tests/test_ui_field.py s.ss....ss.                                       [ 50%]
tests/test_util.py ............                                          [ 53%]
tests/test_widgets.py ......s.s..ss..s.ss..ss.sss.s..s...........s...... [ 68%]
s.s.......s..s.......................................................... [ 88%]
.......................................                                  [100%]

=========== 318 passed, 33 skipped, 2 deselected, 1 xfailed in 4.21s ===========
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" returned exit code 13
make[1]: *** [debian/rules:11: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:8: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

--- End Message ---
--- Begin Message ---
Source: magicgui
Source-Version: 0.10.1-1
Done: Roland Mas <[email protected]>

We believe that the bug you reported is fixed in the latest version of
magicgui, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Roland Mas <[email protected]> (supplier of updated magicgui package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 02 Jan 2026 14:17:04 +0100
Source: magicgui
Architecture: source
Version: 0.10.1-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Roland Mas <[email protected]>
Closes: 1123148
Changes:
 magicgui (0.10.1-1) unstable; urgency=medium
 .
   * New upstream release.
   * On top of that, backport part of a pull request from upstream to fix
     Python 3.14 compatibility (closes: #1123148).
Checksums-Sha1:
 8f0045ca2a108f846d726938ccfd87c0c1479090 2970 magicgui_0.10.1-1.dsc
 afad285b78b3abd00bba526ce0e8829b5d080925 20944533 magicgui_0.10.1.orig.tar.gz
 907e2c9be68ee32e45eca2bdfb8ee57949e38c0f 6064 magicgui_0.10.1-1.debian.tar.xz
 725afdedba297e44247447f84f470e22087d2cff 14124 
magicgui_0.10.1-1_amd64.buildinfo
Checksums-Sha256:
 43ffc53f781070493a2a0c81dbeb425c8a9ee54f54c5c5409e67119a6ed30c36 2970 
magicgui_0.10.1-1.dsc
 422cd0c0b5fea2fb37f3d3ea9b5591a160919baeae16061efea6f74c9b8fcfd1 20944533 
magicgui_0.10.1.orig.tar.gz
 e54f1e700dc4980539da54296dff4f3e6e3a8c7f84d38340168dc12b663f54d9 6064 
magicgui_0.10.1-1.debian.tar.xz
 9050305deecd890b3e6f65556d26944eabc8283af48ec40844edbe9cedd5ab2b 14124 
magicgui_0.10.1-1_amd64.buildinfo
Files:
 0a94572e7e2e6819120330b38b032adf 2970 python optional magicgui_0.10.1-1.dsc
 167fdb3ca81d0e0fb4b4d5f58ce6af93 20944533 python optional 
magicgui_0.10.1.orig.tar.gz
 3ec8cb3c5a41be7dd615ea2271a2a081 6064 python optional 
magicgui_0.10.1-1.debian.tar.xz
 3e9bdc6ee82719894b6f681e6882a90b 14124 python optional 
magicgui_0.10.1-1_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEtBU2D1kett1zr/uD0w3s0lmTIvwFAmlXyHQACgkQ0w3s0lmT
IvwNNw//S3gZEUqJG+j6SE0lkGqtAQy95wynbc7nKXzk9tSLrHYOD8PfgkZH0n2I
7p62NPcrdxdQWqh4GjpKy3PSp3Ua+wLVCaJoWhhX55WPp/Os/BJYPbYje9CyerMm
qyFHFcuEXFrAF9oMBRx5iTknwd5r1AOt/Xf9ZBzL0jXeU9qGbpO07TYygH9mHb3w
ApKDKckmj8XAaH33sFxy5UVRCPeO3KtfLUYuzB6wyw7ATUYsAosGWbROw3O3qmyp
pJNelZGdvQCBoyQxmru7SPg+MaqMWQRuNvSo8VZuWX9xOIEWWDHnQFvl3iIg34ez
7LOHPRd2/IeV14gIZii8honRpKg6dt762PXW1VJehK63iZ59XBxU+YJtOSC3pOAi
GFSJnBK/UZfx+JsEHMfScvEItzrZ5RYTD7tAolG+EKllOPd2ffNfecd1099zDTn1
WVZ20NYfE8Xl12xT1OmAhPpw+QmBVKxxcG1YgM7mMjIiGAFG/AfpHwJxFYK4Pjtb
uvb9Rkstvlf15FGyMCJFU5TRzjwOMkUirs7+NsX+hDufliozDRHnGLWPt5e702L4
z+0HESMJ1Sb829lGiGVDDkxhLPCgsrhn8k5vRxZzJbKr/wi5iVbUE3NCNawkyK1x
48ol01+btsD9fhH5NS/N+eeWhdEuO2c+5jxNl9clgwb4QjGzWO4=
=Wj7r
-----END PGP SIGNATURE-----

Attachment: pgp2XOU_7ToJG.pgp
Description: PGP signature


--- End Message ---

Reply via email to