Opened 19 months ago
Closed 8 months ago
#18531 closed enhancement (fixed)
Archive gtk2
Reported by: | Bruce Dubbs | Owned by: | Bruce Dubbs |
---|---|---|---|
Priority: | normal | Milestone: | 12.2 |
Component: | BOOK | Version: | git |
Severity: | normal | Keywords: | |
Cc: |
Description ¶
We will probably not be able to close this ticket for 12.1, but I'll leave it in this milestone for now. I just removed a lot of unneeded references to gtk2, but there are a lot of packages still left. Please address only one package per comment below. This is what I have remaining:
multimedia/videoutils/mplayer.xml: <xref linkend="gtk2"/> recommended multimedia/libdriv/libcanberra.xml: <xref linkend="gtk2"/>, optional multimedia/libdriv/libquicktime.xml: <xref linkend="gtk2"/>, optional multimedia/libdriv/alsa-tools.xml: <xref linkend="gtk2"/> optional general/genutils/ibus.xml: <xref linkend="gtk2"/>, recommended general/genutils/pinentry.xml: <xref linkend="gtk2"/>, optional general/genutils/graphviz.xml: <xref linkend="gtk2"/> optional+ general/genlib/libiodbc.xml: <xref linkend="gtk2"/> recommended(for GUI admin tool) general/graphlib/pixman.xml: <xref linkend="gtk2"/> optional general/prog/python-modules/pygtk.xml: <xref linkend="gtk2"/>. required x/lib/libglade.xml: <xref linkend="gtk2"/> required x/lib/colord-gtk.xml: <xref linkend="gtk2"/> recommended x/lib/gtk-engines.xml: <xref linkend="gtk2"/> required x/lib/keybinder2.xml: <xref linkend="gtk2"/> required x/lib/cairo.xml: <xref linkend="gtk3"/> and <xref linkend="gtk2"/>, optional (why both?, arch does not mention gtk at all) pst/ps/epdfview.xml: <xref linkend="gtk2"/> required (archive this?) pst/scanning/xsane.xml: <xref linkend="gtk2"/> required pst/scanning/sane.xml: <xref linkend="gtk2"/> optional networking/netutils/avahi.xml: <xref linkend="gtk2"/> recommended (why?) xsoft/other/gimp.xml: <xref linkend="gtk2"/> required xsoft/other/hexchat.xml: <xref linkend="gtk2"/> recommended xsoft/other/pidgin.xml: <xref linkend="gtk2"/> required kde/plasma5/plasma-all.xml: <xref linkend="gtk2"/> required (but probably not)
Change History (31)
comment:1 by , 19 months ago
follow-up: 3 comment:2 by , 19 months ago
For epdfview, we should consider moving to the gtk3 version that Ken found.
follow-up: 5 comment:3 by , 19 months ago
Replying to Douglas R. Reno:
For epdfview, we should consider moving to the gtk3 version that Ken found.
I was thinking of just archiving it. We have mupdf. Isn't that enough?
comment:4 by , 19 months ago
For avahi, I looked at the docs/README file, and I found:
- gtk2 + glade (optional, needed for avahi-discover-standalone) - Python 2.4, pygtk2 (optional, needed by all client tools)
avahi-ui.pc has the following:
prefix=@prefix@ exec_prefix=${prefix} libdir=@libdir@ includedir=${prefix}/include Name: avahi-ui Description: Avahi Multicast DNS Responder (Common GTK2 UI support) Requires: gtk+-2.0 avahi-client avahi-glib Version: @PACKAGE_VERSION@ Libs: -L${libdir} -lavahi-ui Cflags: -D_REENTRANT -I${includedir}
There is a GTK-3 version, but I'm not sure what in the book is using GTK2 for this over GTK3. Keep in mind that we might have some dependencies where gtk2 is not mentioned because of another library, e.g. libglade or pygtk, which brings it in.
As a result of that, we need to add the following to the list:
xsoft/other/xscreensaver.xml: <xref linkend="libglade"/>, and xsoft/other/rox-filer.xml: <xref linkend="libglade"/> and (another hit for graphviz) (another hit for avahi) x/wm/openbox.xml: and <xref linkend="pygtk"/>).
follow-up: 8 comment:5 by , 19 months ago
Replying to Bruce Dubbs:
Replying to Douglas R. Reno:
For epdfview, we should consider moving to the gtk3 version that Ken found.
I was thinking of just archiving it. We have mupdf. Isn't that enough?
mupdf is almost impossible to use for this purpose. There is no scrollbar and it's interface is nonexistent other than just the page itself. There's no support for a table of contents, and it can only be navigated with the arrow keys
comment:6 by , 19 months ago
When it comes to gtk-engines, that can be archived at the same time as gtk2. It provides a bunch of core themes for it.
comment:7 by , 19 months ago
For Cairo, I'm not sure what exactly uses GTK there, but the configure script does mention it (and there's hits throughout Makefiles):
GOBJECT_CFLAGS C compiler flags for GOBJECT, overriding pkg-config GOBJECT_LIBS linker flags for GOBJECT, overriding pkg-config glib_CFLAGS C compiler flags for glib, overriding pkg-config glib_LIBS linker flags for glib, overriding pkg-config gtk_CFLAGS C compiler flags for gtk, overriding pkg-config gtk_LIBS linker flags for gtk, overriding pkg-config
It also mentions later on (line 29830):
# We use GTK+ for some utility/debugging tools
I also don't notice any hits for gtk+-3.0 in there, though there are plenty of hits for gtk+-2.0
follow-up: 9 comment:8 by , 19 months ago
Replying to Douglas R. Reno:
Replying to Bruce Dubbs:
Replying to Douglas R. Reno:
For epdfview, we should consider moving to the gtk3 version that Ken found.
I was thinking of just archiving it. We have mupdf. Isn't that enough?
mupdf is almost impossible to use for this purpose. There is no scrollbar and it's interface is nonexistent other than just the page itself. There's no support for a table of contents, and it can only be navigated with the arrow keys
Very much agreed - mupdf is usable for looking at a pdf with one or two pages, but for anything else it is horrid.
follow-up: 11 comment:9 by , 19 months ago
Replying to ken@…:
Replying to Douglas R. Reno:
Replying to Bruce Dubbs:
Replying to Douglas R. Reno:
For epdfview, we should consider moving to the gtk3 version that Ken found.
I was thinking of just archiving it. We have mupdf. Isn't that enough?
mupdf is almost impossible to use for this purpose. There is no scrollbar and it's interface is nonexistent other than just the page itself. There's no support for a table of contents, and it can only be navigated with the arrow keys
Very much agreed - mupdf is usable for looking at a pdf with one or two pages, but for anything else it is horrid.
But there is also evince, okular, and firefox that can read large pdfs.
comment:10 by , 19 months ago
pst/scanning/xsane.xml: <xref linkend="gtk2"/> required
pst/scanning/sane.xml: <xref linkend="gtk2"/> optional
- Created #18532 to add Simple Scan and archive XSane and sane-frontends. There are some concerns regarding network scanning though that may cause us to be unable to get away from XSane/sane-frontends, but I will investigate this soon.
follow-up: 12 comment:11 by , 19 months ago
Replying to Bruce Dubbs:
Replying to ken@…:
Replying to Douglas R. Reno:
Replying to Bruce Dubbs:
Replying to Douglas R. Reno:
For epdfview, we should consider moving to the gtk3 version that Ken found.
I was thinking of just archiving it. We have mupdf. Isn't that enough?
mupdf is almost impossible to use for this purpose. There is no scrollbar and it's interface is nonexistent other than just the page itself. There's no support for a table of contents, and it can only be navigated with the arrow keys
Very much agreed - mupdf is usable for looking at a pdf with one or two pages, but for anything else it is horrid.
But there is also evince, okular, and firefox that can read large pdfs.
Evince has a much heavier dependency chain (I build enough of gnome to allow me to build evince, but much later in a build, and it lacks a 'reload' option). I gave up building okular because the dependencies of KDE are just too heavy. Firefox works, but I do not really want it on the same desktop where I am creating and editing PDFs - I've already got firefox on a different desktop with multiple tabs open, I like to open a PDF next to the term where I've been editing it, and swap back between them.
follow-up: 25 comment:12 by , 19 months ago
Evince has a much heavier dependency chain (I build enough of gnome to allow me to build evince, but much later in a build, and it lacks a 'reload' option). I gave up building okular because the dependencies of KDE are just too heavy. Firefox works, but I do not really want it on the same desktop where I am creating and editing PDFs - I've already got firefox on a different desktop with multiple tabs open, I like to open a PDF next to the term where I've been editing it, and swap back between them.
I'm with you on that one, both okular and evince are a small part of fully featured desktop environment, and they aren't really meant to be used standalone. We should have a standalone pdf reader, epdf gtk3 seems good for that.
follow-up: 14 comment:13 by , 19 months ago
Colord-gtk can have gtk2 disabled with minimal regression. In fact the default is to turn it off. Should we do this?
follow-ups: 16 17 comment:14 by , 19 months ago
Replying to Rahul Chandra:
Colord-gtk can have gtk2 disabled with minimal regression. In fact the default is to turn it off. Should we do this?
I think -Dgtk2=true should be changed to false here, with the command explanation being tweaked and GTK2 downgraded to Optional
An alternative would be to remove the dependency from the page entirely as well as the option, the command explanation, and the library... but I'm not entirely sure if we want to go that far yet.
follow-up: 20 comment:15 by , 19 months ago
For IRC client I think Srain works pretty well, https://github.com/SrainApp/srain. It requires libconfig but that's a pretty simple build. Should I open a ticket to add those?
Edit: That would allow us to archive pidgin and hexchat, both of which are completely written in gtk2
comment:16 by , 19 months ago
Replying to Douglas R. Reno:
Replying to Rahul Chandra:
Colord-gtk can have gtk2 disabled with minimal regression. In fact the default is to turn it off. Should we do this?
I think -Dgtk2=true should be changed to false here, with the command explanation being tweaked and GTK2 downgraded to Optional
An alternative would be to remove the dependency from the page entirely as well as the option, the command explanation, and the library... but I'm not entirely sure if we want to go that far yet.
Yeah making it an optional dependency is probably the best thing to do. At the end we can just remove all optional gtk2 references.
follow-ups: 21 23 comment:17 by , 19 months ago
Replying to Douglas R. Reno:
Replying to Rahul Chandra:
Colord-gtk can have gtk2 disabled with minimal regression. In fact the default is to turn it off. Should we do this?
I think -Dgtk2=true should be changed to false here, with the command explanation being tweaked and GTK2 downgraded to Optional
An alternative would be to remove the dependency from the page entirely as well as the option, the command explanation, and the library... but I'm not entirely sure if we want to go that far yet.
Let's go ahead and remove the dependency from the page and the instructions. For the command explanations, leave it in and add that gtk2 is deprecated.
comment:18 by , 19 months ago
Hexchat is relatively concerning. There seems to be no motivation for upstream to move to gtk3 or higher, and upstream gets hostile when queried about it. https://github.com/hexchat/hexchat/issues/2047
We will definitely have to find another IRC client.
comment:19 by , 19 months ago
Pidgin is still in active maintenance and is getting commits several times a week: https://keep.imfreedom.org/pidgin/pidgin/shortlog/default
The 'default' branch is their gtk-3 port
follow-up: 22 comment:20 by , 19 months ago
Replying to Rahul Chandra:
For IRC client I think Srain works pretty well, https://github.com/SrainApp/srain. It requires libconfig but that's a pretty simple build. Should I open a ticket to add those?
Edit: That would allow us to archive pidgin and hexchat, both of which are completely written in gtk2
We can take a look at srain, and I have no problems adding it to the book if we decide to go with it. I would prefer if just Hexchat is archived in that case though. Pidgin is at least still progressing rapidly towards a gtk-3 port and an API refresh. Pidgin however used a lot of custom widgets - it's similar to another program that I use regularly, gkrellm. The only difference though is that gkrellm probably won't get converted (and Bruce and I both will eventually have to move to something else for that), but Pidgin is at least being moved.
comment:21 by , 19 months ago
Replying to Bruce Dubbs:
Replying to Douglas R. Reno:
Replying to Rahul Chandra:
Colord-gtk can have gtk2 disabled with minimal regression. In fact the default is to turn it off. Should we do this?
I think -Dgtk2=true should be changed to false here, with the command explanation being tweaked and GTK2 downgraded to Optional
An alternative would be to remove the dependency from the page entirely as well as the option, the command explanation, and the library... but I'm not entirely sure if we want to go that far yet.
Let's go ahead and remove the dependency from the page and the instructions. For the command explanations, leave it in and add that gtk2 is deprecated.
That sounds good. We should remove it from the Short Descriptions/Installed Files as well in that case, as well as the instruction/dependency changes.
comment:22 by , 19 months ago
Replying to Douglas R. Reno:
Replying to Rahul Chandra:
For IRC client I think Srain works pretty well, https://github.com/SrainApp/srain. It requires libconfig but that's a pretty simple build. Should I open a ticket to add those?
Edit: That would allow us to archive pidgin and hexchat, both of which are completely written in gtk2
We can take a look at srain, and I have no problems adding it to the book if we decide to go with it. I would prefer if just Hexchat is archived in that case though. Pidgin is at least still progressing rapidly towards a gtk-3 port and an API refresh. Pidgin however used a lot of custom widgets - it's similar to another program that I use regularly, gkrellm. The only difference though is that gkrellm probably won't get converted (and Bruce and I both will eventually have to move to something else for that), but Pidgin is at least being moved.
I took a look at my gtk+ book last night. Unfortunately it was published in 2007 and only covered gtk2. I looked at Amazon and could not find an equivalent for gtk3 (or 4).
My programming experience is more with Qt, but that is dated all the way back to Qt4. I would like to do a gkrellm port to Qt but I think that would take too much time away from LFS. OTOH, srain sounds like a good possibility for an IRC substitute and we should investigate.
comment:23 by , 19 months ago
Replying to Bruce Dubbs:
Replying to Douglas R. Reno:
Replying to Rahul Chandra:
Colord-gtk can have gtk2 disabled with minimal regression. In fact the default is to turn it off. Should we do this?
I think -Dgtk2=true should be changed to false here, with the command explanation being tweaked and GTK2 downgraded to Optional
An alternative would be to remove the dependency from the page entirely as well as the option, the command explanation, and the library... but I'm not entirely sure if we want to go that far yet.
Let's go ahead and remove the dependency from the page and the instructions. For the command explanations, leave it in and add that gtk2 is deprecated.
comment:24 by , 19 months ago
For IRC I'm using irssi. It's using a ncursesw-based TUI and the only non-LFS dependency is glib2.
comment:25 by , 18 months ago
Replying to Rahul Chandra:
Evince has a much heavier dependency chain (I build enough of gnome to allow me to build evince, but much later in a build, and it lacks a 'reload' option). I gave up building okular because the dependencies of KDE are just too heavy. Firefox works, but I do not really want it on the same desktop where I am creating and editing PDFs - I've already got firefox on a different desktop with multiple tabs open, I like to open a PDF next to the term where I've been editing it, and swap back between them.
I'm with you on that one, both okular and evince are a small part of fully featured desktop environment, and they aren't really meant to be used standalone. We should have a standalone pdf reader, epdf gtk3 seems good for that.
It turned out I was mistaken when I said epdfview-gtk3 doesn't have options to go to next or specific page - they were in the toolbar which doesn't come up by default on any of my systems. After trying without the menu (bad idea - it now defaults to off on this machine) I had to read the source - and there are toggles (in the view menu, but it saves settings so I don't normally need to use that) - F6 for toolbar, F7 for menubar, F8 for inverse, F9 for index. Printing now tested, as well as going to a specific page
comment:26 by , 18 months ago
pst/scanning/xsane.xml: Archived at 1032bfd660955f41fcdd3183d34a0b6145728408
comment:27 by , 18 months ago
pst/scanning/sane.xml (SANE Frontends): Commented out/removed at 6646cae6c19f490fc88d8afff0c1c262daef2277
comment:28 by , 16 months ago
Milestone: | 12.1 → 99-Waiting |
---|
Now it seems clear this won't happen for 12.1. Change the milestone.
comment:29 by , 16 months ago
Plasma no longer needs gtk2. I'm not sure if it is used if present. The breeze icon theme does install some files in /opt/kf5/share/themesBreeze-Dark/gtk-2.0 on my system.
comment:30 by , 8 months ago
Milestone: | 99-Waiting → 12.2 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
comment:31 by , 8 months ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed at commits:
78662f5706 Remove unneded comments about gtk2 82b0e6216c Make references to gtk2 external. 20be0fa216 Remove gtk2 and packages that require it. Packages removed: pygtk mplayer gtk-engines hexchat pidgin gtk+2
keybinder2 can be archived as it was only used by lxpanel.