gnuradio / gr-recipes

Main GNU Radio recipe repository for use with PyBOMBS
https://github.com/gnuradio/pybombs/
120 stars 128 forks source link

qt5: debian distros based on bullseye no longer require qt5-default #266

Closed marcidy closed 3 years ago

marcidy commented 3 years ago

Debian stable as of bullseye no longer has a qt5-default package, as qt4 support was removed and qt5 is default. Distros based on debian will not have this package.

Relates to https://github.com/gnuradio/pybombs/issues/555

On Debian 11 (bullseye), I ran the installation with the updated qt5 recipe and everything installed fine, and I was able to run gnuradio-companion. I'm not sure if there are other tests to run to confirm, apologies, quite new to gnuradio.

Note answer here for Ubuntu: https://bugs.launchpad.net/ubuntu/+source/qtbase-opensource-src/+bug/1926802

Honestly, I'm not clear if this fix is really correct, because i think the recipe needs to be sync'd to the Debian 11 epoch. Pre Debian 11, the old recipe works, where-as post Debian 11, the old recipe wont.

Fixes https://github.com/gnuradio/pybombs/issues/555

willcode commented 3 years ago

The GNU Radio CI Docker images for Debian 10 and 11 do not install qt5-default, but they do install

libqwt-qt5-6
python3-pyqt5
libqwt-qt5-dev
qtbase5-dev
pyqt5-dev-tools

so some more research is needed. Some of these are in other recipes (e.g., qwt6.lwr). At least qtbase5-dev is going to be required, maybe more.

marcidy commented 3 years ago

qtbase5-dev is resolved when installing libqt5opengl5-dev, do you want it an explicit dep, or is that OK? Takes no time to add it, just want to know your preference.

$ apt-cache show libqt5opengl5-dev
Package: libqt5opengl5-dev
Source: qtbase-opensource-src
Version: 5.15.2+dfsg-9
Installed-Size: 318
Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Architecture: amd64
Replaces: qtbase5-dev (<< 5.11.3+dfsg-4~)
Provides: libqt5opengl5-desktop-dev (= 5.15.2+dfsg-9)
Depends: libqt5opengl5 (= 5.15.2+dfsg-9), qtbase5-dev (= 5.15.2+dfsg-9)
Breaks: qtbase5-dev (<< 5.11.3+dfsg-4~)

pyqt5.lwr covers pyqt5-dev, pyqt5-dev-tools, python-pyqt5

category: baseline
configure: python configure.py --confirm-license -b $prefix/bin -d $prefix/lib/python2.6/site-packages/ -v $prefix/share/sip/
depends:
- python
- sip
- qt5
inherit: autoconf
install_like: qt5
satisfy:
  deb: ( pyqt5-dev >= 5.3.2 ) && ( pyqt5-dev-tools >= 5.3.2 ) && python-pyqt5
  rpm: (python-qt5 || python2-qt5) && python-qt5-devel
  pacman: python-pyqt5
  port: py27-qt5 >= 5.7.1
  portage: dev-python/PyQt5 >= 5.7.1
satisfy@python3:
  deb: python3-pyqt5
  rpm: python3-qt5 && python3-qt5-devel
source: wget+https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.6/PyQt5_gpl-5.6.tar.gz

As you noted, libqwt-qt5-6 is handled via libqwt-qt5-dev in qwt6.lwr

$ apt-cache show libqwt-qt5-dev
Package: libqwt-qt5-dev
Source: qwt
Version: 6.1.4-2
Installed-Size: 573
Maintainer: Gudjon I. Gudjonsson <gudjon@gudjon.org>
Architecture: amd64
Replaces: libqwt-headers (<< 6.1.4-1.1~)
Depends: libqwt-qt5-6 (= 6.1.4-2), libc6 (>= 2.14), libgcc-s1 (>= 3.0), libqt5core5a (>= 5.15.1), libqt5designer5 (>= 5.6.0~beta), libqt5gui5 (>= 5.0.2) | libqt5gui5-gles (>= 5.0.2), libqt5widgets5 (>= 5.0.2), libstdc++6 (>= 5)
willcode commented 3 years ago

We should probably have qtbase5-dev, to be more like the other sources in the file. Really, the PyBOMBS deps just need to be "good enough" and are probably missing all kinds of things that are being provided by the deb/rpm dep chains.

marcidy commented 3 years ago

Done!