Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 611856 - dev-python/QtPy-1.2.1 ignores installed dev-python/PyQt5
Summary: dev-python/QtPy-1.2.1 ignores installed dev-python/PyQt5
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: 2017-03-06 07:57 UTC by pa.lacaze
Modified: 2017-09-28 12:22 UTC (History)
1 user (show)

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


Attachments
emerge --info (emerge-info.txt,6.46 KB, text/plain)
2017-03-06 07:57 UTC, pa.lacaze
Details

Note You need to log in before you can comment on or make changes to this bug.
Description pa.lacaze 2017-03-06 07:57:24 UTC
Created attachment 466110 [details]
emerge --info

dev-python/QtPy ignores already installed PyQt5 that satisfies a superset of required USEFLAGS.

I have dev-python/PyQt5 installed with the following USE:

dev-python/PyQt5-5.7.1::gentoo was built with the following:
USE="dbus gui network opengl printsupport svg webkit widgets -bluetooth -debug -declarative -designer -doc -examples -gles2 -help -location -multimedia -positioning -sensors -serialport -sql -testlib -webchannel -webengine -websockets -x11extras -xmlpatterns" ABI_X86="64" PYTHON_TARGETS="python2_7 python3_5 -python3_4"


If I try to install QtPy with the exact USEFLAGS supported by PyQt5, all is fine and nothing unnecessary gets pulled:

USE="gui webkit" emerge -a QtPy

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] dev-python/QtPy-1.2.1  USE="gui opengl svg webkit -designer -testlib" PYTHON_TARGETS="python2_7 python3_5 -python3_4"


However if I only need a subset of the features, PyQt5, which arguably satisfies the demand, gets ignored and PyQt4 gets pulled:


USE="gui" emerge -a QtPy

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] app-eselect/eselect-qtgraphicssystem-1.1.1 
[ebuild  NS    ] dev-qt/qtcore-4.8.7-r2 [5.7.1-r1] USE="exceptions glib iconv pch ssl (-aqua) -debug -icu -libressl -qt3support" ABI_X86="(64) -32 (-x32)" 
[ebuild  NS    ] dev-qt/qttranslations-4.8.7 [5.7.1] ABI_X86="(64) -32 (-x32)" 
[ebuild  NS    ] dev-qt/qtdbus-4.8.7 [5.7.1] USE="exceptions pch (-aqua) -debug" ABI_X86="(64) -32 (-x32)" 
[ebuild  NS    ] dev-qt/qtscript-4.8.7 [5.7.1] USE="exceptions jit pch (-aqua) -debug" ABI_X86="(64) -32 (-x32)" 
[ebuild  NS    ] dev-qt/qtgui-4.8.7 [5.7.1] USE="accessibility cups exceptions glib gtkstyle mng pch tiff xv (-aqua) -debug -egl -nas -nis -qt3support -trace -xinerama" ABI_X86="(64) -32 (-x32)" 
[ebuild  NS    ] dev-qt/qtsvg-4.8.7 [5.7.1] USE="accessibility exceptions pch (-aqua) -debug" ABI_X86="(64) -32 (-x32)" 
[ebuild  NS    ] dev-qt/qtopengl-4.8.7 [5.7.1] USE="exceptions pch (-aqua) -debug -egl -qt3support" ABI_X86="(64) -32 (-x32)" 
[ebuild  N     ] dev-python/PyQt4-4.12  USE="X dbus opengl svg -compat -debug -declarative -designer -doc -examples -help -kde -multimedia -phonon -script -scripttools -sql -testlib -webkit -xmlpatterns" PYTHON_TARGETS="python2_7 python3_5 -python3_4" 
[ebuild  N     ] dev-python/QtPy-1.2.1  USE="gui opengl svg -designer -testlib -webkit" PYTHON_TARGETS="python2_7 python3_5 -python3_4"


So, in summary if QtPy does not need a functionality (in my case webkit) but an already installer provider supports it, it gets ignored.
Comment 1 Michael Palimaka (kensington) gentoo-dev 2017-03-09 10:45:41 UTC
Could you please add the output of 'USE="gui" emerge -av QtPy PyQt5'? It would be interesting to see what happens when it's explicitly pulled in at the same time.
Comment 2 pa.lacaze 2017-03-09 11:42:20 UTC
It does what I am trying to avoid:


USE="gui" emerge -av QtPy PyQt5

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] app-eselect/eselect-qtgraphicssystem-1.1.1::gentoo  2 KiB
[ebuild   R    ] dev-python/PyQt5-5.7.1::gentoo  USE="dbus gui network opengl printsupport svg webkit widgets -bluetooth -debug -declarative -designer -doc -examples -gles2 -help -location -multimedia -positioning -sensors -serialport -sql -testlib -webchannel -webengine -websockets -x11extras -xmlpatterns" PYTHON_TARGETS="python2_7 python3_5 -python3_4" 0 KiB
[ebuild  NS    ] media-libs/gstreamer-0.10.36-r2:0.10::gentoo [1.10.4:1.0::gentoo] USE="introspection nls orc {-test}" ABI_X86="(64) -32 (-x32)" 2 955 KiB
[ebuild  NS    ] media-libs/gst-plugins-base-0.10.36-r2:0.10::gentoo [1.10.4:1.0::gentoo] USE="introspection nls orc" ABI_X86="(64) -32 (-x32)" 2 309 KiB
[ebuild  N     ] media-libs/gst-plugins-ugly-0.10.19-r1:0.10::gentoo  USE="nls orc" ABI_X86="(64) -32 (-x32)" 862 KiB
[ebuild  N     ] media-libs/gst-plugins-bad-0.10.23-r4:0.10::gentoo  USE="nls orc" ABI_X86="(64) -32 (-x32)" 3 087 KiB
[ebuild  NS    ] media-libs/gst-plugins-good-0.10.31-r2:0.10::gentoo [1.10.4:1.0::gentoo] USE="nls orc" ABI_X86="(64) -32 (-x32)" 2 674 KiB
[ebuild  N     ] media-plugins/gst-plugins-xvideo-0.10.36-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-x-0.10.36-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-ogg-0.10.36-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-vorbis-0.10.36-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-alsa-0.10.36-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-theora-0.10.36-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-cdparanoia-0.10.36-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-vp8-0.10.23-r3:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-assrender-0.10.23-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-mad-0.10.19-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-faad-0.10.23-r2:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-mpeg2dec-0.10.19-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-dts-0.10.23-r1:0.10::gentoo  USE="orc" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-xvid-0.10.23-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-dv-0.10.31-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-x264-0.10.19-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-dvdread-0.10.19-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-a52dec-0.10.19-r1:0.10::gentoo  USE="orc" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-flac-0.10.31-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-resindvd-0.10.23-r1:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  NS    ] dev-qt/qtcore-4.8.7-r2:4::gentoo [5.7.1-r1:5/5.7::gentoo] USE="exceptions glib iconv pch ssl (-aqua) -debug -icu -libressl -qt3support" ABI_X86="(64) -32 (-x32)" 235 426 KiB
[ebuild  NS    ] dev-qt/qttranslations-4.8.7:4::gentoo [5.7.1:5/5.7::gentoo] ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  NS    ] dev-qt/qtdbus-4.8.7:4::gentoo [5.7.1:5/5.7::gentoo] USE="exceptions pch (-aqua) -debug" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  NS    ] dev-qt/qtscript-4.8.7:4::gentoo [5.7.1:5/5.7::gentoo] USE="exceptions jit pch (-aqua) -debug" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  NS    ] dev-qt/qtgui-4.8.7:4::gentoo [5.7.1:5/5.7::gentoo] USE="accessibility cups exceptions glib gtkstyle mng pch tiff xv (-aqua) -debug -egl -nas -nis -qt3support -trace -xinerama" ABI_X86="(64) -32 (-x32)" 51 KiB
[ebuild  NS    ] dev-qt/qtsvg-4.8.7:4::gentoo [5.7.1:5/5.7::gentoo] USE="accessibility exceptions pch (-aqua) -debug" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  NS    ] dev-qt/qtopengl-4.8.7:4::gentoo [5.7.1:5/5.7::gentoo] USE="exceptions pch (-aqua) -debug -egl -qt3support" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-pulse-0.10.31-r2:0.10::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] media-plugins/gst-plugins-meta-0.10-r11:0.10::gentoo  USE="X a52 aac alsa cdda dts dv dvd flac libass mp3 mpeg ogg pulseaudio theora vorbis vpx x264 xv xvid -dvb -http -jack -lame -libvisual -mms -modplug -musepack -opus -oss -taglib -v4l -vcd -wavpack" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] dev-qt/qtphonon-4.8.7:4::gentoo  USE="dbus exceptions pch (-aqua) -debug -qt3support" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] dev-python/PyQt4-4.12::gentoo  USE="X dbus opengl phonon svg -compat -debug -declarative -designer -doc -examples -help -kde -multimedia -script -scripttools -sql -testlib -webkit -xmlpatterns" PYTHON_TARGETS="python2_7 python3_5 -python3_4" 11 060 KiB
[ebuild   R    ] dev-python/QtPy-1.2.1::gentoo  USE="gui opengl svg -designer -testlib -webkit*" PYTHON_TARGETS="python2_7 python3_5 -python3_4" 0 KiB
Comment 3 Michael Palimaka (kensington) gentoo-dev 2017-03-09 11:49:12 UTC
Oh, I think I see it:

RDEPEND="
...
        || (
                  dev-python/PyQt5[${PYTHON_USEDEP},designer=,opengl=,svg=,webkit=]
                  dev-python/PyQt4[${PYTHON_USEDEP},designer=,opengl=,svg=,webkit=]
                  dev-python/pyside[${PYTHON_USEDEP},designer=,opengl=,svg=,webkit=]
           )
...
"

so PyQt5[webkit] does not satisfy QtPy[-webkit] because the ebuild states that they must have identical values.

I wonder if it makes more sense for these to be '?' USE deps instead of '='.
Comment 4 pa.lacaze 2017-03-09 13:23:53 UTC
I think it makes sense, those features are independent from each other. I can't think of any downside to having more Qt modules compiled-in than necessary.
Comment 5 Michael Palimaka (kensington) gentoo-dev 2017-09-28 12:20:09 UTC
In the absence of any other comments, I'm going to go ahead and push this.
Comment 6 Larry the Git Cow gentoo-dev 2017-09-28 12:22:09 UTC
The bug has been closed via the following commit(s):

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

commit 649ce73ba08a5fd8af802937b3b44fab8e9a4a82
Author:     Michael Palimaka <kensington@gentoo.org>
AuthorDate: 2017-09-28 12:21:39 +0000
Commit:     Michael Palimaka <kensington@gentoo.org>
CommitDate: 2017-09-28 12:21:56 +0000

    dev-python/QtPy: version bump 1.3.1
    
    Closes: https://bugs.gentoo.org/602528
    Closes: https://bugs.gentoo.org/611856
    Package-Manager: Portage-2.3.8, Repoman-2.3.3

 dev-python/QtPy/Manifest          |  1 +
 dev-python/QtPy/QtPy-1.3.1.ebuild | 55 +++++++++++++++++++++++++++++++++++++++
 dev-python/QtPy/metadata.xml      |  3 +++
 3 files changed, 59 insertions(+)