Subject: bug#27179: gtk+ in dependency graph for qt

From: [email-masked] (Ludovic Courtès)
Date: Tue, 22 Aug 2017 10:15:13 +0200

Efraim Flashner <[email-masked]> skribis:

> On Sun, Jul 02, 2017 at 11:16:32PM +0300, Efraim Flashner wrote:
>> On Sun, Jul 02, 2017 at 09:23:44PM +0200, Ricardo Wurmus wrote:
>> > 
>> > Efraim Flashner <[email-masked]> writes:
>> > 
>> > > On Thu, Jun 01, 2017 at 09:14:40AM +0300, Efraim Flashner wrote:
>> > >> gtk+ is currently in the dependency tree for qt, but is not an input.
>> > >> Either we should add gtk+ as an input so the styling can be uniform
>> > >> between the two toolkits, or we should find which input pulls it in and
>> > >> see what other options we have for removing it from the graph.
>> > >>
>> > >
>> > > It appears that qtbase depends on libinput which depends on gtk+@3, and
>> > > also qtbase -> libinput -> libwacom -> gtk+@3.
>> > 
>> > Can we split libinput into a qt part and a separate gtk part?
>> > 
>> 
>> libwacom is built with glib-or-gtk-build-system, so if we switch
>> libinput to libinput-minimal then we can drop the GUI for libinput and
>> libwacom support and remove gtk+ as an input. Or we can try to build
>> libwacom without gtk.
>> 
>
> I just noticed that efl in elightenment.scm also has libinput as an
> input. I think for now we should replace both qtbase's and efl's
> libinput with libinput-minimal.

I guess you can reasonably start with EFL since it has few dependents.
I suppose we’ll also need a “libwacom-minimal” package no?

Or perhaps we should simply add a “lib” output since only the libwacom-*
commands depend on GTK+:

--8<---------------cut here---------------start------------->8---
$ grep -r 8f5bm9zqakgl7mc4lr5ck8l91vhlzv85 /gnu/store/4p4vw5shvj1ywjy91m5q3mpjyr1wp1hx-libwacom-0.25
/gnu/store/4p4vw5shvj1ywjy91m5q3mpjyr1wp1hx-libwacom-0.25/bin/libwacom-list-local-devices:export XDG_DATA_DIRS="/gnu/store/s0mc7alnzxpvvfay3pcpw8n3ipcq0a0r-shared-mime-info-1.8/share:/gnu/store/1k9zfb8wqd3pm97jsiy8n5szy56hgn8k-glib-2.52.2/share:/gnu/store/8f5bm9zqakgl7mc4lr5ck8l91vhlzv85-gtk+-3.22.15/share${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS"
/gnu/store/4p4vw5shvj1ywjy91m5q3mpjyr1wp1hx-libwacom-0.25/bin/libwacom-list-local-devices:export GTK_PATH="/gnu/store/8f5bm9zqakgl7mc4lr5ck8l91vhlzv85-gtk+-3.22.15/lib/gtk-3.0${GTK_PATH:+:}$GTK_PATH"
$ ldd /gnu/store/4p4vw5shvj1ywjy91m5q3mpjyr1wp1hx-libwacom-0.25/bin/.libwacom-list-local-devices-real |grep
gtk
--8<---------------cut here---------------end--------------->8---

It’s not even clear that GTK+ is needed, given that it doesn’t show up
in ldd.

The same thing probably applies to libinput.

Thoughts?

Ludo’.