Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 946181 - dev-python/pyqtgraph-0.13.7-r1 breaks net-wireless/gnuradio filter design tool
Summary: dev-python/pyqtgraph-0.13.7-r1 breaks net-wireless/gnuradio filter design tool
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-12-10 04:56 UTC by superselect
Modified: 2024-12-11 02:30 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
python output (python_output.txt,1.46 KB, text/plain)
2024-12-10 04:58 UTC, superselect
Details
emerge --info (emerge--info.txt,7.37 KB, text/plain)
2024-12-10 04:58 UTC, superselect
Details
gnuradio patch (gnuradio-fix-filter-design-numpy-2.x.patch,495 bytes, patch)
2024-12-10 04:59 UTC, superselect
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description superselect 2024-12-10 04:56:36 UTC
dev-python/pyqtgraph-0.13.7-r1, which forces the use of PyQt6, appears to have broken at least the filter design tool in net-wireless/gnuradio, which depends on dev-python/pyqtgraph supporting Qt5.
Until GNU Radio moves to qt6, this would continue to be an issue.

Reproducible: Always

Steps to Reproduce:
1. To fix a separate, known issue in the current version of net-wireless/gnuradio (3.10.9.2-r5), apply the attached patch to gnuradio.
This is caused by an incompatibility with numpy 2.x. It has been fixed upstream and was released with GNU Radio 3.10.11.0.
If this patch is not applied, you will likely get an irrelevant error message telling you to rebuild pyqt_filter_stacked.py, which will not fix the problem.

2. Run the following command to run the filter design tool:
```
$ python -m gnuradio.filter.filter_design
```
Actual Results:  
Python gave the attached error and returned without opening the tool.

Expected Results:  
The filter design tool should have opened, as is the case after downgrading to dev-python/pyqtgraph-0.13.7.

In the attached error output from running the command as described above, pyqtgraph.widgets.GraphicsView calls PyQt6.QtWidgets.QGraphicsView.__init__() which expects a PyQt6.QtWidgets.QWidget, but is provided a PyQt5.QtWidgets.QWidget.
This is not obvious from the output, and was found by editing the relevant files to print the full names, but it should be clear that the provided QWidget type does not match the expected QWidget type. (The attached output was collected before editing any files, and is identical to the error after restoring all files.)

The output of emerge --info is attached.
Comment 1 superselect 2024-12-10 04:58:29 UTC
Created attachment 913683 [details]
python output
Comment 2 superselect 2024-12-10 04:58:53 UTC
Created attachment 913684 [details]
emerge --info
Comment 3 superselect 2024-12-10 04:59:16 UTC
Created attachment 913685 [details, diff]
gnuradio patch
Comment 4 Matt Jolly gentoo-dev 2024-12-11 01:59:18 UTC
Reproduced; I'll come up with a solution where we add a `qt5` USE and have net-wireless/gqrx depend on that.
Comment 5 Matt Jolly gentoo-dev 2024-12-11 02:02:24 UTC
This is probably worth reporting upstream, too - I don't see qt6 mentioned on the roadmap page or a search of GH.
Comment 6 Larry the Git Cow gentoo-dev 2024-12-11 02:29:06 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e64b9112a8f8b8f403b972f9a5ed986b4065ef2e

commit e64b9112a8f8b8f403b972f9a5ed986b4065ef2e
Author:     Matt Jolly <kangie@gentoo.org>
AuthorDate: 2024-12-11 02:11:26 +0000
Commit:     Matt Jolly <kangie@gentoo.org>
CommitDate: 2024-12-11 02:28:31 +0000

    net-wireless/gnuradio: add 3.10.9.2-r6
    
    Revbump due to the requirement for a dependency on
    `dev-python/pyqtgraph[qt5]` for USE=filter.
    
    Closes: https://bugs.gentoo.org/946181
    Signed-off-by: Matt Jolly <kangie@gentoo.org>

 net-wireless/gnuradio/gnuradio-3.10.9.2-r6.ebuild | 254 ++++++++++++++++++++++
 1 file changed, 254 insertions(+)

Additionally, it has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff28ef53fe73447eece90c95ce36245e0ede1d8f

commit ff28ef53fe73447eece90c95ce36245e0ede1d8f
Author:     Matt Jolly <kangie@gentoo.org>
AuthorDate: 2024-12-11 02:09:52 +0000
Commit:     Matt Jolly <kangie@gentoo.org>
CommitDate: 2024-12-11 02:28:31 +0000

    dev-python/pyqtgraph: add `qt5` and `qt6` USE
    
    net-wireless/gnuradio requires a pyqtgraph that is built
    against PyQt5 (as previous versions of this package always
    did). This became apparent when Qt6 was forced to avoid
    complicated patching of the sources.
    
    Revert to editing the sources to enable (and test) only
    the USE-selected (Py)Qt versions.
    
    Bug: https://bugs.gentoo.org/946181
    Signed-off-by: Matt Jolly <kangie@gentoo.org>

 dev-python/pyqtgraph/pyqtgraph-0.13.7-r2.ebuild | 181 ++++++++++++++++++++++++
 1 file changed, 181 insertions(+)
Comment 7 Matt Jolly gentoo-dev 2024-12-11 02:30:48 UTC
Hi Superselect,

There's now a revbump for pyqtgraph and gnuradio that should resolve this for you. Please let me know if you're having any issues, but the `qt5` USE for dev/python/pyqtgraph got the filters UI working for me.