Install this version:
emerge -a =dev-python/pygtk-2.24.0-r6
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-python/pygtk-2.24.0-r6
Or alternatively:
emerge --autounmask-write -a =dev-python/pygtk-2.24.0-r6
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
GNOME_TARBALL_SUFFIX="bz2"
_PYTHON_ALLOW_PY27=1
PYTHON_COMPAT=( python2_7 )
inherit autotools flag-o-matic gnome2 python-r1_py2 virtualx
DESCRIPTION="GTK+2 bindings for Python"
HOMEPAGE="https://gitlab.gnome.org/Archive/pygtk"
LICENSE="LGPL-2.1"
SLOT="2"
KEYWORDS="~amd64 ~x86"
IUSE="doc examples test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
RDEPEND="dev-lang/python:2.7
>=dev-libs/glib-2.8:2
>=x11-libs/pango-1.16
>=dev-libs/atk-1.12
>=x11-libs/gtk+-2.24:2
dev-python/pycairo-python2[${PYTHON_USEDEP}]
>=dev-python/pygobject-2.26.8-r53:2[${PYTHON_USEDEP}]
>=gnome-base/libglade-2.5:2.0
"
DEPEND="${RDEPEND}
virtual/pkgconfig
doc? (
dev-libs/libxslt
>=app-text/docbook-xsl-stylesheets-1.70.1 )
"
PATCHES=(
# Order matters: the codegen-location patch references ${libdir}
# in pygtk-2.0.pc, and libdir-pc is what adds ${libdir} to the
# .pc template, so libdir-pc must apply first.
"${FILESDIR}/${PN}-2.14.1-libdir-pc.patch"
# codegendir set to ${libdir}/python2.7/site-packages/gtk-2.0/codegen.
# Earlier revisions of this patch routed through ${pyexecdir},
# which embeds ${PYTHON_EXEC_PREFIX} as a literal in the .pc and
# pkg-config substitutes it to empty, yielding /lib64/... — broken
# on split-usr setups where /lib64 isn't a symlink to /usr/lib64.
# ${libdir} resolves to a literal /usr/lib64 (or /usr/lib on x86)
# regardless of usr-merge state. 2026-05-05.
"${FILESDIR}/${PN}-2.13.0-fix-codegen-location.patch"
# Fix leaks of Pango objects
"${FILESDIR}/${PN}-2.24.0-fix-leaks.patch"
# Fail when tests are failing, bug #391307
"${FILESDIR}/${PN}-2.24.0-test-fail.patch"
# Fix broken tests, https://bugzilla.gnome.org/show_bug.cgi?id=709304
"${FILESDIR}/${P}-test_dialog.patch"
# Fix build on Darwin
"${FILESDIR}/${PN}-2.24.0-quartz-objc.patch"
# x11-libs/pango-1.44
"${FILESDIR}/${PN}-2.24.0-pango-1.44.patch"
# x11-libs/pango >= 1.50: drop further removed bindings
# (pango_font_metrics_new, pango_font_map_get_shape_engine_type)
# so generated pango.c no longer references missing symbols.
"${FILESDIR}/${PN}-2.24.0-pango-1.50.patch"
)
src_prepare() {
default
# Examples is handled "manually"
sed -e 's/\(SUBDIRS = .* \)examples/\1/' \
-i Makefile.am Makefile.in || die
sed -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
-i configure.ac || die #466968
AT_M4DIR="m4" eautoreconf
setup_pygtk() {
mkdir -p "${BUILD_DIR}" || die
}
python_foreach_impl setup_pygtk
}
src_configure() {
use hppa && append-flags -ffunction-sections
configure_pygtk() {
ECONF_SOURCE="${S}" gnome2_src_configure \
$(use_enable doc docs) \
--disable-numpy \
--with-glade \
--enable-thread
}
python_foreach_impl run_in_build_dir configure_pygtk
}
src_compile() {
python_foreach_impl run_in_build_dir gnome2_src_compile
}
src_test() {
# Let tests pass without permissions problems, bug #245103
gnome2_environment_reset
unset DBUS_SESSION_BUS_ADDRESS
testing() {
cd tests
virtx emake check-local
}
python_foreach_impl run_in_build_dir testing
}
src_install() {
dodoc AUTHORS ChangeLog INSTALL MAPPING NEWS README THREADS TODO
if use examples; then
rm examples/Makefile* || die
dodoc -r examples
fi
python_foreach_impl run_in_build_dir gnome2_src_install
find "${D}" -name '*.la' -type f -delete || die
}
Manage flags for this package:
euse -i <flag> -p dev-python/pygtk |
euse -E <flag> -p dev-python/pygtk |
euse -D <flag> -p dev-python/pygtk
dev-lang/python:2.7 >=dev-libs/glib-2.8:2 >=x11-libs/pango-1.16 >=dev-libs/atk-1.12 >=x11-libs/gtk+-2.24:2 dev-python/pycairo-python2[] >=dev-python/pygobject-2.26.8-r53:2[] >=gnome-base/libglade-2.5:2.0 virtual/pkgconfig doc? ( dev-libs/libxslt >=app-text/docbook-xsl-stylesheets-1.70.1 )
dev-lang/python:2.7 >=dev-libs/glib-2.8:2 >=x11-libs/pango-1.16 >=dev-libs/atk-1.12 >=x11-libs/gtk+-2.24:2 dev-python/pycairo-python2[] >=dev-python/pygobject-2.26.8-r53:2[] >=gnome-base/libglade-2.5:2.0