Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
wayland use flag
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Princess Nell
l33t
l33t


Joined: 15 Apr 2005
Posts: 924

PostPosted: Tue Sep 24, 2024 4:54 pm    Post subject: wayland use flag Reply with quote

Today's sync brought in a bunch of new ebuilds that I don't want or need, all from kde-frameworks. I don't use KDE. If I disable the wayland USE flag in make.conf, will I get into trouble at a later point?

If I decided to switch to Wayland at a later date, would I just have to suck it up or is there a way to avoid these KDE ebuilds?

I see that dev-libs/plasma-wayland-protocols is being pulled in, probably the reason for the above, but nothing in https://wiki.gentoo.org/wiki/Wayland suggests it is possible to build without Plasma protocol support. Is this something the devs are considering, e.g. new USE flag?
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 9190

PostPosted: Tue Sep 24, 2024 5:00 pm    Post subject: Reply with quote

1. No problem.
2. Yes, well - some of your packages obviously have KDE Frameworks (?) as dependencies, but without any output, this would be just a guessing game. Do you think KDE libraries are bad?
3. I didn't understand that last bit. What do you think that package is?


Last edited by asturm on Tue Sep 24, 2024 5:28 pm; edited 2 times in total
Back to top
View user's profile Send private message
eschwartz
Developer
Developer


Joined: 29 Oct 2023
Posts: 171

PostPosted: Tue Sep 24, 2024 5:12 pm    Post subject: Re: wayland use flag Reply with quote

Princess Nell wrote:
Today's sync brought in a bunch of new ebuilds that I don't want or need, all from kde-frameworks. I don't use KDE. If I disable the wayland USE flag in make.conf, will I get into trouble at a later point?


USE defaults are simply defaults. If you actually get into trouble at a later point and that trouble is anything other than "emerge threw a USE dependency conflict and insisted it cannot proceed" it indicates a broken dependency.

Applications may, if upstream designs them that way, only support wayland. Perhaps you aren't using any of those either. Such packages might unconditionally require USE=wayland for their dependencies, inviting a fight with package.use -- but that's not a broken package, just an annoying dependency conflict.

It probably won't happen.

Princess Nell wrote:
If I decided to switch to Wayland at a later date, would I just have to suck it up or is there a way to avoid these KDE ebuilds?


Suck what up? Forced recompiles? Installing packages at all?

If you switch to wayland and you want to use a KDE application on a non-KDE window manager, that application either needs to talk the wayland display protocol, which means building the frameworks with wayland support, or it needs to run via xwayland and speak the Xorg display protocol with xwayland translation in between.

In short, yeah, probably you have to reinstall including with some new framework dependencies for an application that previously got by with *fewer*.


Princess Nell wrote:
I see that dev-libs/plasma-wayland-protocols is being pulled in, probably the reason for the above, but nothing in https://wiki.gentoo.org/wiki/Wayland suggests it is possible to build without Plasma protocol support. Is this something the devs are considering, e.g. new USE flag?


I, too, do not know what this means.

That being said, in general, USE flags can only be introduced if the upstream project supports a choice between two scenarios. The USE flag simply implements that upstream choice for Gentoo.

plasma-wayland-protocols provides some XML files that are used by build systems to generate headers and C code, it should never be installed if your packages are retrieved from Gentoo's official binhost. If you compile kde-frameworks/* packages from source, you can still depclean plasma-wayland-protocols as long as you use --with-bdeps=n.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 9190

PostPosted: Tue Sep 24, 2024 5:14 pm    Post subject: Reply with quote

Also, if you pasted your emerge output, maybe we could tell you more.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20416

PostPosted: Tue Sep 24, 2024 5:57 pm    Post subject: Reply with quote

I think asturm's point "2" is key. I had 11 packages with the new wayland USE flag, none of them KDE / qt related.

Well, that and his point about posting output.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
Princess Nell
l33t
l33t


Joined: 15 Apr 2005
Posts: 924

PostPosted: Tue Sep 24, 2024 8:34 pm    Post subject: Reply with quote

Sorry, the list is quite long.

The point is: everything below with USE flag wayland is new since the previous sync. Along with that, everything kde and plasma is new. I do not use KDE and do not currently have any KDE ebuilds installed, so I'm trying to figure out why portage thinks I should install this stuff.

I found that dev-libs/plasma-wayland-protocols unconditionally pulls in kde-frameworks/extra-cmake-modules. That doesn't explain all the other kde-framework ebuilds, though, or why dev-libs/plasma-wayland-protocols is there in the first place.

Code:

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

Calculating dependencies  ....... done!
Dependency resolution took 80.04 s (backtrack: 3/20).

[ebuild     U  ] media-libs/alsa-ucm-conf-1.2.12 [1.2.11]
[ebuild     U  ] media-libs/giflib-5.2.2 [5.2.1-r1]
[ebuild  r  U  ] dev-lang/go-1.23.1 [1.22.6]
[ebuild     U  ] dev-libs/oniguruma-6.9.9 [6.9.8]
[ebuild     U  ] sys-apps/sandbox-2.39 [2.38]
[ebuild     U  ] sys-devel/binutils-config-5.5.2 [5.5]
[ebuild     U  ] net-wireless/iw-6.7 [5.19]
[ebuild  rR    ] net-p2p/syncthing-1.27.9
[ebuild     U  ] app-office/libreoffice-l10n-24.2.6.2 [24.2.5.2]
[ebuild     U  ] sys-devel/clang-common-18.1.8-r3 [18.1.8-r1]
[ebuild     U  ] app-admin/perl-cleaner-2.31-r2 [2.31]
[ebuild     U  ] media-libs/alsa-lib-1.2.12 [1.2.11]
[ebuild     U  ] dev-db/sqlite-3.46.1 [3.46.0]
[ebuild     U  ] media-gfx/potrace-1.16-r1 [1.16]
[ebuild   R    ] dev-debug/strace-6.9  USE="-verify-sig%"
[ebuild     U  ] media-sound/alsa-utils-1.2.12 [1.2.11]
[ebuild  N     ] dev-util/wayland-scanner-1.23.0
[ebuild     U  ] media-libs/dav1d-1.4.2 [1.3.0]
[ebuild  N     ] dev-libs/wayland-1.23.0-r1  USE="-doc -test" ABI_X86="(64) -32 (-x32)"
[ebuild  N     ] dev-libs/wayland-protocols-1.36  USE="-test"
[ebuild     U  ] perl-core/File-Temp-0.231.100-r1 [0.231.100]
[ebuild     U  ] dev-perl/Text-CSV_XS-1.540.0 [1.520.0]
[ebuild     U  ] dev-perl/ExtUtils-Helpers-0.27.0 [0.26.0-r1]
[ebuild     U  ] dev-perl/IO-Socket-SSL-2.88.0 [2.85.0]
[ebuild     U  ] dev-perl/Alien-Build-2.830.0 [2.800.0-r1]
[ebuild     U  ] dev-ruby/timeout-0.4.1 [0.3.2] RUBY_TARGETS="(-ruby33)"
[ebuild     U  ] dev-lang/rust-bin-1.80.1 [1.79.0]
[ebuild     U  ] virtual/rust-1.80.1 [1.79.0]
[ebuild     U  ] dev-util/cbindgen-0.27.0 [0.26.0] USE="-test%"
[ebuild     U  ] dev-libs/libixion-0.19.0-r1 [0.19.0]
[ebuild     U  ] net-libs/gnutls-3.8.7.1-r1 [3.8.0]
[ebuild  r  U  ] app-crypt/rhash-1.4.4-r1 [1.4.3]
[ebuild     U  ] dev-libs/xmlsec-1.3.4 [1.3.3-r1]
[ebuild     U  ] dev-vcs/git-2.45.2 [2.44.2] PYTHON_SINGLE_TARGET="(-python3_13)"
[ebuild     U  ] dev-lang/python-3.12.6_p2 [3.12.3-r1]
[ebuild     U  ] media-libs/harfbuzz-9.0.0 [8.5.0]
[ebuild     U  ] app-arch/libarchive-3.7.5 [3.7.4]
[ebuild  rR    ] dev-build/cmake-3.30.2
[ebuild     U  ] media-libs/libjpeg-turbo-3.0.3-r1 [3.0.0]
[ebuild   R    ] x11-libs/libxkbcommon-1.7.0-r1  USE="wayland*"
[ebuild     U  ] x11-libs/libdrm-2.4.122-r1 [2.4.122] USE="-doc%"
[ebuild  N     ] kde-frameworks/extra-cmake-modules-6.5.0-r1  USE="-doc -test"
[ebuild  r  U  ] dev-libs/protobuf-27.2 [25.3] USE="libprotoc%* protobuf%* protoc%* -conformance% -libupb%"
[ebuild     U  ] media-libs/libaom-3.9.1 [3.8.1]
[ebuild     U  ] sys-apps/gptfdisk-1.0.10-r1 [1.0.9-r3]
[ebuild  r  U  ] dev-libs/tinyxml2-10.0.0 [9.0.0-r1]
[ebuild     U  ] net-libs/ngtcp2-1.7.0 [1.5.0]
[ebuild     U  ] sys-libs/libnvme-1.10 [1.9] PYTHON_TARGETS="(-python3_13)"
[ebuild     U  ] dev-libs/libfmt-9.1.0-r2 [9.1.0-r1] ABI_X86="(64%*) -32% (-x32)"
[ebuild     U  ] dev-libs/libxmlb-0.3.19 [0.3.14] USE="lzma%*"
[ebuild     U  ] media-libs/libgphoto2-2.5.31-r2 [2.5.31-r1]
[ebuild     U  ] dev-lang/python-3.11.10_p1 [3.11.9_p2]
[ebuild     U  ] app-portage/portage-utils-0.97 [0.96.1]
[ebuild     U  ] media-libs/openjpeg-2.5.2 [2.5.0-r6]
[ebuild   R    ] media-libs/vulkan-loader-1.3.290.0  USE="wayland*"
[ebuild     U  ] dev-libs/protobuf-c-1.5.0-r2 [1.4.1-r1]
[ebuild  rR    ] dev-util/android-tools-34.0.5
[ebuild  rR    ] media-libs/libmediainfo-23.10
[ebuild     U  ] media-libs/libraw-0.21.2 [0.21.1-r1]
[ebuild     U  ] sys-fs/cryptsetup-2.7.5 [2.7.2]
[ebuild     U  ] sys-boot/grub-2.12-r5 [2.12-r4] USE="-secureboot%"
[ebuild  N     ] kde-frameworks/kf-env-6
[ebuild     U  ] sys-libs/libblockdev-3.1.1 [3.0.4]
[ebuild     U  ] dev-python/lxml-5.3.0 [5.2.2]
[ebuild     U  ] dev-python/cffi-1.17.1 [1.17.0]
[ebuild     U  ] dev-python/configobj-5.0.9 [5.0.8]
[ebuild     U  ] app-portage/mirrorselect-2.5.0 [2.4.0]
[ebuild     U  ] dev-python/pefile-2024.8.26 [2023.2.7] PYTHON_TARGETS="(-python3_13)"
[ebuild     U  ] dev-python/zope-interface-7.0.3 [6.4_p2]
[ebuild     U  ] dev-python/cryptography-43.0.1 [43.0.0]
[ebuild   R    ] dev-qt/qtgui-5.15.14  USE="wayland*"
[ebuild  N     ] dev-qt/qtwayland-5.15.14  USE="vulkan -compositor -debug -test"
[ebuild     U  ] sys-libs/compiler-rt-18.1.8-r1 [18.1.8]
[ebuild     U  ] dev-util/intel_clc-24.1.7 [24.1.6]
[ebuild     U  ] media-libs/mesa-24.1.7 [24.1.6] USE="wayland*"
[ebuild     U  ] sys-libs/compiler-rt-sanitizers-18.1.8-r1 [18.1.8]
[ebuild   R    ] x11-libs/gtk+-3.24.41-r1  USE="wayland*"
[ebuild   R    ] media-libs/gst-plugins-base-1.22.11-r1  USE="wayland*"
[ebuild   R    ] media-libs/gst-plugins-bad-1.22.11-r1  USE="wayland*"
[ebuild  N     ] gui-libs/libdecor-0.2.2-r1  USE="dbus gtk -examples" ABI_X86="(64) -32 (-x32)"
[ebuild  N     ] gui-libs/gtk-layer-shell-0.8.2  USE="-examples -gtk-doc -introspection -test -vala"
[ebuild   R    ] dev-cpp/gtkmm-3.24.9  USE="wayland*"
[ebuild   R    ] gui-libs/gtk-4.14.4-r1  USE="wayland*"
[ebuild   R    ] x11-apps/mesa-progs-9.0.0  USE="wayland*"
[ebuild     U  ] x11-terms/terminator-2.1.4 [2.1.3]
[ebuild   R    ] mate-base/mate-panel-1.28.1  USE="wayland*"
[ebuild   R    ] net-libs/webkit-gtk-2.44.1-r410  USE="wayland*"
[ebuild     U  ] media-libs/imlib2-1.12.3 [1.11.0] USE="-raw%"
[ebuild   R    ] dev-libs/libportal-0.7.1-r1  USE="wayland*"
[ebuild     U  ] app-office/gnucash-5.8 [5.6]
[ebuild   R    ] dev-qt/qtbase-6.7.2-r4  USE="wayland*"
[ebuild  N     ] dev-qt/qtwayland-6.7.2-r3  USE="qml vulkan -accessibility -compositor -test"
[ebuild  N     ] kde-frameworks/breeze-icons-6.5.0  USE="-test"
[ebuild  r  U  ] app-text/poppler-24.08.0 [24.06.1]
[ebuild  N     ] dev-libs/plasma-wayland-protocols-1.13.0
[ebuild     U  ] app-office/libreoffice-24.2.6.2 [24.2.4.2-r1] USE="qt6%* -qt5%"
[ebuild  rR    ] net-print/libcupsfilters-2.0.0-r5
[ebuild  N     ] kde-frameworks/kguiaddons-6.5.0-r1  USE="X dbus wayland -debug -doc -test"
[ebuild  N     ] kde-frameworks/kwindowsystem-6.5.0-r1  USE="X wayland -debug -doc -test"
[ebuild     U  ] media-libs/libv4l-1.28.1 [1.26.1] USE="qt6%*"
[ebuild   R    ] app-crypt/pinentry-1.3.0-r3  USE="wayland*"
[ebuild   R    ] x11-misc/mate-notification-daemon-1.28.0  USE="wayland*"
[ebuild   R    ] media-libs/libsdl2-2.28.5-r2  USE="gles2* wayland*"
[ebuild     U  ] media-video/smplayer-23.6.0-r1 [23.6.0]
[ebuild   R    ] sys-block/gparted-1.6.0-r1  USE="wayland*"
[ebuild  rR    ] net-wireless/kismet-2022.08.1-r2

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:
...
Back to top
View user's profile Send private message
eschwartz
Developer
Developer


Joined: 29 Oct 2023
Posts: 171

PostPosted: Tue Sep 24, 2024 8:50 pm    Post subject: Reply with quote

Princess Nell wrote:
Sorry, the list is quite long.

The point is: everything below with USE flag wayland is new since the previous sync. Along with that, everything kde and plasma is new. I do not use KDE and do not currently have any KDE ebuilds installed, so I'm trying to figure out why portage thinks I should install this stuff.

I found that dev-libs/plasma-wayland-protocols unconditionally pulls in kde-frameworks/extra-cmake-modules. That doesn't explain all the other kde-framework ebuilds, though, or why dev-libs/plasma-wayland-protocols is there in the first place.

Code:


[ebuild     U  ] media-libs/libv4l-1.28.1 [1.26.1] USE="qt6%*"
[ebuild   R    ] app-crypt/pinentry-1.3.0-r3  USE="wayland*"


You(r emerge --sync) are enabling qt6 USE on libv4l and wayland USE on pinentry, these seem pretty relevant as they yank in qt6 related stuff.

What's your USE flags for pinentry? If both qt6 and wayland are enabled for pinentry, then pinentry requires kde-frameworks/kguiaddons:6 kde-frameworks/kwindowsystem:6 to implement its qt6-based wayland-supporting GUI.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 9190

PostPosted: Tue Sep 24, 2024 9:35 pm    Post subject: Reply with quote

There is no KDE Plasma package in your output. Only libraries that application devs use for not having to reinvent the wheel.
Back to top
View user's profile Send private message
Princess Nell
l33t
l33t


Joined: 15 Apr 2005
Posts: 924

PostPosted: Tue Sep 24, 2024 10:43 pm    Post subject: Reply with quote

I have no custom USE flags for pinentry. eix says:
Code:

[I] app-crypt/pinentry
     Available versions:  1.2.1-r7 ~1.2.1-r8 1.3.0-r3 ~1.3.1 {X caps efl emacs gtk keyring ncurses qt5 qt6 verify-sig wayland}
     Installed versions:  1.3.0-r3(23:01:13 14/09/24)(X gtk ncurses qt6 -caps -efl -emacs -keyring -qt5 -verify-sig -wayland)
     Homepage:            https://gnupg.org/related_software/pinentry/
     Description:         Simple passphrase entry dialogs which utilize the Assuan protocol

qt6 yes, wayland no. qt6 is not globally disabled and I have no ebuilds with custom qt6 flag, only those that have it enabled by default. Some of them certainly don't need it.
Code:

 * Searching for USE flag qt6 ...
[IP-] [  ] app-crypt/gpgme-1.23.2-r1:1/11.6.15.2
[IP-] [  ] app-crypt/pinentry-1.3.0-r3:0
[IP-] [  ] app-text/poppler-24.06.1:0/138
[IP-] [  ] dev-build/cmake-3.30.2:0
[IP-] [  ] dev-libs/appstream-1.0.3:0/5
[IP-] [  ] dev-libs/quazip-1.4-r1:0/1.4
[IP-] [  ] net-analyzer/wireshark-4.2.6:0/4.2.6


The changes you describe are made by portage, not me. I will go through the above list, plus libv4l, to disable qt6 explicitly.
Back to top
View user's profile Send private message
eschwartz
Developer
Developer


Joined: 29 Oct 2023
Posts: 171

PostPosted: Tue Sep 24, 2024 11:33 pm    Post subject: Reply with quote

Princess Nell wrote:
I have no custom USE flags for pinentry.

[...]

The changes you describe are made by portage, not me. I will go through the above list, plus libv4l, to disable qt6 explicitly.


Indeed, you'd have to have custom USE flags to disable it. The desktop profile enables qt6 by default now (it is generally preferable rather than qt5) as soon as the remaining blocker keeping many people on Qt5 was resolved, that being KDE 6 stabilization (this change was pretty recent, you should have seen pinentry be rebuilt for qt6 around September 1 unless you disabled it manually).

Of course in pinentry's case, USE=qt6 doesn't mean "the application has a choice between qt5 and qt6, choose qt6" but rather "the application has an optional qt6 gui, do you want to build the GUI at all". So in this particular case one might well want pinentry to not build any GUI.
Back to top
View user's profile Send private message
yayo
Tux's lil' helper
Tux's lil' helper


Joined: 19 May 2014
Posts: 96

PostPosted: Wed Sep 25, 2024 2:26 pm    Post subject: Reply with quote

I noticed too some packages with the wayland useflag turned on by default during the last 2 days: vlc, libxkbcommon, mesa and gtk+ (so far).

When I've seen it on vlc yesterday I tought of disabling it locally, because I'm still on X, I don't see a reason for compiling and installing wayland if I'm not using it.
But if it's going to be enabled everywhere there's no point in fixing it locally.

Is there a reason for it being enabled on many packages right now?
I mean is it someway "required" for those packages from now on, or is it just a "wayland becoming default" normal process?

Can it be (temporarily) disabled globally without making a mess? : /
Back to top
View user's profile Send private message
eschwartz
Developer
Developer


Joined: 29 Oct 2023
Posts: 171

PostPosted: Wed Sep 25, 2024 2:36 pm    Post subject: Reply with quote

yayo wrote:

Is there a reason for it being enabled on many packages right now?
I mean is it someway "required" for those packages from now on, or is it just a "wayland becoming default" normal process?


Quoting from the discussion thread about making the change:

asturm wrote:

1) overall small impact on binary size, no runtime implications for X users
2) desktop profile definition is "minimal" USE flags, not necessarily "legacy"
3) plenty of "minimal" gui-wm/* exist, so X WMs can't claim that space
4) KWin is not just used with Plasma, but also as LXQt default, and both
Plasma as well as Gnome have plenty of desktop profile users for some reason
(mostly no-multilib of course ...)
5) deduplication++


Reasons 2 and 3 feel very "whatever", reason 5 is incorrect as the same results can be achieved without modifying the "desktop" profile.

Reason 1 explains why it might not actually make a difference other than triggering a recompile.

Reason 4 is interesting, and surprised me to hear (that plasma and gnome users run the base desktop profile).

In short, it's about "becoming default". There are effectively no implications to manually disabling it if you wish to avoid it.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 9190

PostPosted: Wed Sep 25, 2024 8:16 pm    Post subject: Reply with quote

eschwartz wrote:
Reasons 2 and 3 feel very "whatever"

You're saying that as someone outside that group, but in 2024, gui-wm/* users have equal rights to use the desktop profile as "X" users do, and arguably, "their" dependency burden is much lower than the X stack. Basically not even worth the discussion.

eschwartz wrote:
Reason 4 is interesting, and surprised me to hear

Enough to make it a real support burden. Even the amount of non-desktop usage for lack of better knowledge and resulting in - completely avoidable - problems is saddening.

eschwartz wrote:
reason 5 is incorrect as the same results can be achieved without modifying the "desktop" profile.

While it was made somewhat in jest, it is easy for you just putting that out there without having to implement that alternative, which is not going to happen.


Of course, the unspoken truth here is that we are in the midst of a transition phase and X is well past its expiry date by now, but we all know how the mailing list thread would have gone after that ...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum