]> git.draconx.ca Git - gentoo-fixes.git/blob - dev-python/pygtk/pygtk-2.24.0-r7.ebuild
dev-python/pygtk: Adapt to more python2 disabling.
[gentoo-fixes.git] / dev-python / pygtk / pygtk-2.24.0-r7.ebuild
1 # Copyright © 2021 Nick Bowler
2 #
3 # License GPLv2+: GNU General Public License version 2 or any later version.
4 # This is free software: you are free to change and redistribute it.
5 # There is NO WARRANTY, to the extent permitted by law.
6 #
7 # This is a modified version of the original ebuild from Gentoo GNU/Linux,
8 # covered by the following copyright and permission notice:
9 #
10 #   Copyright 1999-2020 Gentoo Authors
11 #   Distributed under the terms of the GNU General Public License v2
12
13 EAPI=7
14
15 GNOME_TARBALL_SUFFIX="bz2"
16
17 _PYTHON_ALLOW_PY27=1
18 PYTHON_COMPAT=( python2_7 )
19
20 inherit autotools flag-o-matic gnome2 python-r1 virtualx
21
22 DESCRIPTION="GTK+2 bindings for Python"
23 HOMEPAGE="https://gitlab.gnome.org/Archive/pygtk"
24
25 LICENSE="LGPL-2.1"
26 SLOT="2"
27 KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
28 IUSE="doc examples test +python_targets_python2_7"
29 REQUIRED_USE=$PYTHON_REQUIRED_USE
30
31 RESTRICT="!test? ( test )"
32
33 DEPEND=">=dev-libs/glib-2.8:2
34         >=x11-libs/pango-1.16
35         >=dev-libs/atk-1.12
36         >=x11-libs/gtk+-2.24:2
37         >=dev-python/pycairo-1.0.2:2[$PYTHON_USEDEP]
38         >=dev-python/pygobject-2.26.8-r53:2[$PYTHON_USEDEP]
39         >=gnome-base/libglade-2.5:2.0"
40 RDEPEND="$DEPEND
41         dev-lang/python:2.7"
42 BDEPEND="dev-lang/python:2.7
43         virtual/pkgconfig
44         doc? ( dev-libs/libxslt
45                 >=app-text/docbook-xsl-stylesheets-1.70.1 )"
46
47 PATCHES=(
48         # Fix declaration of codegen in .pc
49         "${FILESDIR}/${PN}-2.13.0-fix-codegen-location.patch"
50         "${FILESDIR}/${PN}-2.14.1-libdir-pc.patch"
51         # Fix leaks of Pango objects
52         "${FILESDIR}/${PN}-2.24.0-fix-leaks.patch"
53         # Fail when tests are failing, bug #391307
54         "${FILESDIR}/${PN}-2.24.0-test-fail.patch"
55         # Fix broken tests, https://bugzilla.gnome.org/show_bug.cgi?id=709304
56         "${FILESDIR}/${P}-test_dialog.patch"
57         # Fix build on Darwin
58         "${FILESDIR}/${PN}-2.24.0-quartz-objc.patch"
59         # x11-libs/pango-1.44
60         "${FILESDIR}/${PN}-2.24.0-pango-1.44.patch"
61 )
62
63 src_prepare() {
64         default
65
66         # Examples is handled "manually"
67         sed -e 's/\(SUBDIRS = .* \)examples/\1/' \
68                 -i Makefile.am Makefile.in || die
69
70         sed -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
71                 -i configure.ac || die #466968
72
73         AT_M4DIR="m4" eautoreconf
74
75         prepare_pygtk() {
76                 mkdir -p "${BUILD_DIR}" || die
77         }
78         python_foreach_impl prepare_pygtk
79 }
80
81 src_configure() {
82         use hppa && append-flags -ffunction-sections
83         configure_pygtk() {
84                 ECONF_SOURCE="${S}" gnome2_src_configure \
85                         $(use_enable doc docs) \
86                         --disable-numpy \
87                         --with-glade \
88                         --enable-thread
89         }
90         python_foreach_impl run_in_build_dir configure_pygtk
91 }
92
93 src_compile() {
94         python_foreach_impl run_in_build_dir gnome2_src_compile
95 }
96
97 src_test() {
98         # Let tests pass without permissions problems, bug #245103
99         gnome2_environment_reset
100         unset DBUS_SESSION_BUS_ADDRESS
101
102         testing() {
103                 cd tests
104                 virtx emake check-local
105         }
106         python_foreach_impl run_in_build_dir testing
107 }
108
109 src_install() {
110         dodoc AUTHORS ChangeLog INSTALL MAPPING NEWS README THREADS TODO
111
112         if use examples; then
113                 rm examples/Makefile* || die
114                 dodoc -r examples
115         fi
116
117         python_foreach_impl run_in_build_dir gnome2_src_install
118         find "${D}" -name '*.la' -type f -delete || die
119 }