Update HACKING

Updated to reflect current gtk2-ng project and links
This commit is contained in:
greenjeans 2026-06-11 18:19:56 +00:00
commit 5194f8580e

88
HACKING
View file

@ -1,64 +1,42 @@
If you want to hack on the GTK+ project, you'll need to have
the following packages installed:
When this document was first created back in the day, "hacking" meant to
modify code to do new and interesting things, not quite the same as the
more sinister meaning it has taken on today. It is in the spirit of the
original meaning that this newly revised document has been updated.
- GNU autoconf 2.54
- GNU automake 1.7
- GNU libtool 1.4
- indent (GNU indent 1.9.1 is known good)
- GNU gettext 10.40
Full list of Daemonratte's projects:
https://git.devuan.org/Daemonratte
These should be available by ftp from ftp.gnu.org or any of the
fine GNU mirrors. Beta software can be found at alpha.gnu.org.
We welcome all contributions to the project! And the best way to make that
happen is to first clone the main gtk2-ng repo at :
https://git.devuan.org/Daemonratte/gtk2-ng
Up-to-date instructions about developing GNOME applications and libraries
can be found here:
To make a pull request or report a bug, you'll need to register an account
at: https://git.devuan.org
http://developer.gnome.org
Got some ideas or a feature request? You can also make an account at:
https://devuanusers.com and join in the discussions here:
https://devuanusers.com/forum-gtk2-revival-project--12
Information about using git with GNOME can be found here:
Cloning the git repo to your local computer is a great way to experiment
and test results, you'll need to be familiar with git commands and first
need to install the build dependencies:
http://live.gnome.org/Git
# yad build-essential git libcups2-dev gettext autopoint
# autoconf automake libtool pkg-config gtk-doc-tools gobject-introspection
# libglib2.0-dev libpango1.0-dev libatk1.0-dev libcairo2-dev libgdk-pixbuf-2.0-dev
# libfontconfig1-dev libfreetype-dev libharfbuzz-dev libfribidi-dev libpng-dev
# libx11-dev libxext-dev libxrender-dev libxrandr-dev libxcursor-dev
# libxinerama-dev libxi-dev libxfixes-dev libxcomposite-dev libxdamage-dev
In order to get GIT gtk+ installed on your system, you need to have
the most recent GIT versions of glib, pango, and atk installed as well.
The installation process of these libraries is similar to that of gtk+, but
needs to be fulfilled prior to installation of gtk+.
There are build scripts (Linux) to help automate the process and do local testing
side-by-side against current versions of gtk2, you can find them here:
https://git.devuan.org/greenjeans/gtk2-ng-test-scripts
If at all possible, please use GIT to get the latest development version of
gtk+ and glib. You can do the following to get glib and gtk+ from GIT:
And if you just want to do some simple testing there's an easy way to do
that without having to do a lot of building/installing, a special test-iso
with the above scripts already installed to automate everything, that you
can run in a live-session or a VM, or also install if you have a partition
to spare:
https://sourceforge.net/projects/vuu-do/files/Vuu-do-5.03/5.03-gtk2ng-testing/
$ git clone git://git.gnome.org/glib
$ git clone git://git.gnome.org/pango
$ git clone git://git.gnome.org/atk
$ git clone git://git.gnome.org/gtk+
Note: if you plan to push changes to back to the master repository and
have a gnome account, you want to use the following instead:
$ git clone ssh://<username>@git.gnome.org/git/gtk+
To compile the GIT version of gtk+ on your system, you will need to take
several steps to setup the tree for compilation. You can do all these
steps at once by running:
gtk+$ ./autogen.sh
Basically this does the following for you:
gtk+$ aclocal; automake; autoconf
The above commands create the `configure' script. Now you
run the `configure' script in `gtk+/' to create all Makefiles.
More information about that in `INSTALL'.
Before running `autogen.sh' or `configure', make sure you have libtool
in your path.
Note that autogen.sh runs configure for you. If you wish to pass
options like `--prefix=/usr' to `configure' you can give those options
to `autogen.sh' and they will be passed on to `configure'.
For information about submitting patches and pushing changes
to GIT, see the `README' and `README.commits' files. In particular,
don't, under any circumstances, push anything to GIT before
reading and understanding `README.commmits'.
~greenjeans June 2026