GTK2-NG

If there's software you need and you can't find, make a request for it.
Post Reply
User avatar
brocashelm
Posts: 33
Joined: 22. Jun 2023, 20:24
Contact:

GTK2-NG

Post by brocashelm »

This is a new community-maintained fork of the legacy GTK2 graphical toolkit started by Daemonratte from the Devuan Users Forum community. There are numerous changes from the vanilla GTK2 release, which I will cite here.
GTK2-ng: a community-maintained GTK+ 2.24 fork


An unofficial, community-maintained GTK+ 2.24 fork focused on modernizing GTK2 for current systems while preserving its traditional behaviour, ABI compatibility, performance and portability across Linux, BSDs, Windows/ReactOS and macOS.

GTK2-ng aims to improve modern build compatibility and long-term maintainability while preserving ABI compatibility, performance, stability, and the original GTK2 behaviour as much as possible.

The project is X11-first and does not force a migration to Wayland.

Backed by the devuanusers.com community and hosted on Devuan's Git server:
https://git.devuan.org/Daemonratte/gtk2-ng

Highlights:
  • Conservative GTK+ 2.24 maintenance with ABI compatibility as a priority
  • Existing GTK2 applications should continue to run without recompilation
  • X11-first approach with no forced Wayland migration
  • Modern build-system cleanup for current Autoconf, Automake, Libtool and gtk-doc
  • Compatibility fixes for current GCC and Clang versions
  • Selected safe patches from AUR, BSDs, Gentoo, Fedora and GTK2 maintenance forks
  • Internal Y2038-related time-handling improvements where ABI-safe
  • Modernized private-data handling in many GTK/GDK classes
  • Fixed many compiler and deprecation warnings without removing features
  • Improved GtkFileChooser with optional icon view
  • Classic list view remains available
  • Better icon handling and reduced unnecessary overhead in the file chooser
  • Preserved GTK2 theming, theme engines, input modules and print backends
  • Preserved legacy configuration and module lookup behaviour
  • Continued focus on performance, low overhead and responsiveness
Roadmap:
  • Continue replacing deprecated internal API usage where safe
  • Improve file chooser responsiveness for large and network directories
  • Add best-effort thumbnail generation and optional preview support
  • Improve compatibility with traditional GTK2 themes and engines
  • Add XDG-aware config, theme and icon lookup paths while keeping legacy paths
  • Review Ardour's YTK GTK2 fork for portable, ABI-safe improvements
  • Review further GTK2 maintenance forks for useful fixes
  • Preserve CUPS/PPD printing workflows and add libppd support for newer CUPS versions
  • Improve the Win32 backend with the long-term goal of feature parity with the X11 backend (for ReactOS)
  • Keep GTK2 useful on modern systems without breaking existing apps
  • Choose a better long-term project name
Build and test instructions:

Please use the build and test instructions from the project page:

https://git.devuan.org/Daemonratte/gtk2-ng

The instructions there are more likely to be up to date than copied instructions in this forum post.

If you test GTK2-ng, please report:
  • your distribution
  • your compiler version
  • your GLib version
  • your configure options
  • the application you tested
  • whether you used a test prefix or a system-wide install
  • any warnings, crashes or broken behaviour you noticed
Thanks for testing. Feedback from real GTK2 applications is especially useful.
So, you can see it's already been adopted by Artix and the AUR. There are unofficial DEB files (here), which I use for my Devuan systems (I keep the original GTK2 packages to avoid dependency breaks, but the GTK2-NG DEB files provide the newly maintained versions of GTK2, so no need to recompile anything).

Since it has been picking up quite a bit of steam recently with a couple of FLOSS Web sites covering the fork, it would be nice to also see this picked up by Salix, or at least as a SlackBuild (I know this isn't the proper channel to ask, but nice thought to consider). There are still packages depending on GTK2 for Slackware 15.0, so I think this is nice to have, so as to ensure that GTK2 software will continue to build on newer distros.
Post Reply