summaryrefslogtreecommitdiff
path: root/dev-python/pygtk
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-python/pygtk
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-python/pygtk')
-rw-r--r--dev-python/pygtk/Manifest11
-rw-r--r--dev-python/pygtk/files/pygtk-2.13.0-fix-codegen-location.patch11
-rw-r--r--dev-python/pygtk/files/pygtk-2.14.1-libdir-pc.patch12
-rw-r--r--dev-python/pygtk/files/pygtk-2.24.0-fix-leaks.patch58
-rw-r--r--dev-python/pygtk/files/pygtk-2.24.0-quartz-objc.patch45
-rw-r--r--dev-python/pygtk/files/pygtk-2.24.0-test-fail.patch9
-rw-r--r--dev-python/pygtk/files/pygtk-2.24.0-test_dialog.patch28
-rw-r--r--dev-python/pygtk/metadata.xml23
-rw-r--r--dev-python/pygtk/pygtk-2.24.0-r4.ebuild106
9 files changed, 303 insertions, 0 deletions
diff --git a/dev-python/pygtk/Manifest b/dev-python/pygtk/Manifest
new file mode 100644
index 000000000000..b1f3bf591523
--- /dev/null
+++ b/dev-python/pygtk/Manifest
@@ -0,0 +1,11 @@
+AUX pygtk-2.13.0-fix-codegen-location.patch 507 SHA256 f446a7b3e3ac76a9ab594738b1fbf9105c1ca17e8053b1a8712a966e9cfe54d0 SHA512 382fae5afc3082f0239e1228c226c8ae6ac1b8524cb9a2aa8ca2b3d3cef5b1e280058df1a3c764785f129c4d4c8808e1c4f6fa09f213ee53efa269ca4ad27542 WHIRLPOOL 53773cdb2605acb5987c9b4ec6a52946cccee32cc947f3d62dfdaeaefb458a0ff5bc81b0b65f23f31ec9c5f9bf92f9453ca7a89ec2178665b17f3689848c9ef3
+AUX pygtk-2.14.1-libdir-pc.patch 284 SHA256 bdb29e2491558f8b10ed91ce85b0b05c4d300db4f9ef066e4220c97d202d14be SHA512 cf1fb2731b14d9f96624be0bd250c178c25232f579e585567d8e44436f43f1d5444c9c85acca7cc13511cd036e19eacc40df158b0103c785f22149b76c9fe1a9 WHIRLPOOL 36ea127a98bad0a1c7124fcf8096e1a1a30a3db5dc145066740b711d4b5bfbfa34d1c1cf349692099b7846b830a2555c40e5def6c180d3b730e6e04d743e07c0
+AUX pygtk-2.24.0-fix-leaks.patch 1681 SHA256 af2071bd920cae142c73bd8a74049d8dce608dd4b9a566d9408e46eec7384e69 SHA512 438d72249f3a7073a8cba690610ca551ffa2c88b9df693b00a46178fdb53eec9a6e7db068b7b2700de4e4506810cc0746560db889abfdd2d30e57e8821f9d878 WHIRLPOOL eed88f039dd97bf7863bf2fa805e23f305248d9da3af5e9ee175f618b9f79e2db27b0085a3b477f95b0e1899e5d593a82ee98424292390f8a78ffd022becc036
+AUX pygtk-2.24.0-quartz-objc.patch 1023 SHA256 e9fcf666eacc900fb668525e93c9c675e73dc61d92fdab54767eb5e89647a8e9 SHA512 9e8f2bdfdd5ab4a4296f928fce5da532d16dc135cb58017bd0238deaa6fdf45a0f4b43a6ef76b5f9e117beade8172f230456636f3bc00672502cd126d609c35a WHIRLPOOL efb9a91585fc1d45b07652fc49aa18587d5812032512a9eee0a716dd899401b3e97596d37d94a9020a9fd407dc299d64ff2dc405c0cb673d842cc0af082faa25
+AUX pygtk-2.24.0-test-fail.patch 248 SHA256 6e96744b593f5f085b95a54ac435ea43deb2f285f167716e8fd147c2a55f626d SHA512 e306324fa5542c492942c3a3f0be4d6a53f5641fff4362507195afa89bd73722aa2f65563ce7a8000d04b7824f69d840d3a8a53b8ec39bc31b97d2d215ebfde3 WHIRLPOOL e966f26a2b47634aea1db1c7d5b6da6eef5714e92b51aa924a188ecfa6acda5750c585f07d6cc3a53ed680937bd97fa472470b062ac6393a5e077780823423e1
+AUX pygtk-2.24.0-test_dialog.patch 961 SHA256 2f4a72591435aef26e996a116767c7206c5c8b74ade64c78090013936ba37c90 SHA512 13254063895412641b51cb536892f2c4b9bb76ac1ffa92f8d82fa20b80f5c7748392a968315af3731def20392de917a0ae2b4ac0607cee9e2f38911283d33ca9 WHIRLPOOL 278fda0d8fd74d2fddf02ff9e9024957d5ca3dd684c9389e6794acd4dbaf8108ea7e2fc82f32c2690292f9a83aac0832f66d46ca3d550d6209c8610d0aa6061e
+DIST pygtk-2.24.0.tar.bz2 2361097 SHA256 cd1c1ea265bd63ff669e92a2d3c2a88eb26bcd9e5363e0f82c896e649f206912 SHA512 64f4344fcf7636e0b2016ffd5310250b5c02a1bf87e44aef39b5d4cf4a5fc50d27cb4f030d4c6802cff61fffb88dee7752821e3d8a4cd1c34dc3745d9ff2f0da WHIRLPOOL 6a5acd3fdd63ded08882ec2a8a3beaeb6bea55672a52841f2b41af5feeb20cfd68941c9322a27861b23fd0244173036815d5f122f7edcf3be14dffaa77b10575
+EBUILD pygtk-2.24.0-r4.ebuild 2705 SHA256 85e540875ecc065f0b70a437f66c6b1f5214d91bd608e9ea984dd20e22dc34be SHA512 b8aebf7afa4d5cff53855d870b1e93a7fc6b3ec1bcc31e6998805f1ff5301d1d83415a2a596ab262b6b6b98bdce2488938b2b6072b4acd75668834cbba016d1e WHIRLPOOL 42b189b9eff9220ae3e6256df4c88c0e485a428cdf5a7b1c29a501563330e61d7777960fb7965a1eeb52c98c6af5a45212437aaf17c6e9b46ba32b3cd42168ef
+MISC ChangeLog 3162 SHA256 d28a3e58262f85b28a33303fbf94233b4259b6fee37ed575b7599d27d24c401c SHA512 3b20e529918a9729e9229d34ae06475cab2ed0cddd74ccb7e6dc299c6a45910468969b3bd7cf2811cd2ad7dbb0d1bcbf9c22944a7580039b53e2bda8d51586de WHIRLPOOL 0d180cbe66adad26cae8a627fb16203c939a58c9c368db5984d85b847c65d426ddd310ec5fbff037de30044be2c4064a1b1e570465a82cdb060e37c2ca218263
+MISC ChangeLog-2015 38904 SHA256 31ad3c9f1fd8d888770b43af125e51c78191439b2b6ce3658003c08cec3a2c27 SHA512 7a3d2953e313f60a60787e2c191cb0aefe166e5a193e14adcb59b596db41b5d06ff23533c4dc771b122fee96171c5355af3e52b3ce14f5de6351401a034d833d WHIRLPOOL e2cc525da751228cbdb48cd9496cb7561dfe1bc9d7ad21746afc6c7e68ccb0b09a005a53432f1f040d03f173a09eeb3698edf1f6b0c3f6aecd2466941445c968
+MISC metadata.xml 1105 SHA256 70956029ee36bb533f9ceb0e8adc19994fc0cceda063dec8836dbcaba0b8d6d6 SHA512 037cab51c9a9cab4649559886753432a9e204dfd3fb2f145946a805fda17c3b544014d10b8b59a5b4b3d8e97d15a0048cd6f295bbca36515e963d52e9ad6181c WHIRLPOOL bac6f65f4fbd381b381b22e30ffaa41d3837174d4fdd0b8d5ddfe7ff08da31b8e461432cdf2184bbfa819afe89f73cf24cf3c5dcfa973976bb0181d1c082c810
diff --git a/dev-python/pygtk/files/pygtk-2.13.0-fix-codegen-location.patch b/dev-python/pygtk/files/pygtk-2.13.0-fix-codegen-location.patch
new file mode 100644
index 000000000000..701d828f1f88
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.13.0-fix-codegen-location.patch
@@ -0,0 +1,11 @@
+--- a/pygtk-2.0.pc.in 2007-11-01 12:20:22.000000000 -0400
++++ b/pygtk-2.0.pc.in 2008-05-28 22:21:04.000000000 -0400
+@@ -12,7 +12,7 @@ pygtkincludedir=${includedir}/pygtk-2.0
+ # This is strictly speaking not necessarily so (we refer to another
+ # package), but we want to preserve compatibility with times codegen
+ # was in PyGTK, not PyGObject.
+-codegendir=${datadir}/pygobject/2.0/codegen
++codegendir=${pyexecdir}/gtk-2.0/codegen
+
+ Name: PyGTK
+ Description: Python bindings for GTK+ and related libraries
diff --git a/dev-python/pygtk/files/pygtk-2.14.1-libdir-pc.patch b/dev-python/pygtk/files/pygtk-2.14.1-libdir-pc.patch
new file mode 100644
index 000000000000..d943e952a421
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.14.1-libdir-pc.patch
@@ -0,0 +1,12 @@
+https://bugzilla.gnome.org/show_bug.cgi?id=663421
+
+--- a/pygtk-2.0.pc.in
++++ b/pygtk-2.0.pc.in
+@@ -12,6 +12,7 @@
+ includedir=@includedir@
+ datarootdir=@datarootdir@
+ datadir=@datadir@
++libdir=@libdir@
+ pyexecdir=@pyexecdir@
+
+ # you can use the --variable=pygtkincludedir argument to
diff --git a/dev-python/pygtk/files/pygtk-2.24.0-fix-leaks.patch b/dev-python/pygtk/files/pygtk-2.24.0-fix-leaks.patch
new file mode 100644
index 000000000000..9106d43c4192
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.24.0-fix-leaks.patch
@@ -0,0 +1,58 @@
+From eca72baa5616fbe4dbebea43c7e5940847dc5ab8 Mon Sep 17 00:00:00 2001
+From: Owen W. Taylor <otaylor@fishsoup.net>
+Date: Tue, 27 Sep 2011 04:17:52 +0000
+Subject: Fix leaks of Pango objects
+
+Gtk.PrintContext.create_pango_context()
+Gtk.PrintContext.create_pango_layout()
+pangocairo.CairoContext.create_layout()
+
+were leaking the objects they returned.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=660216
+---
+diff --git a/gtk/gtk-2.10.defs b/gtk/gtk-2.10.defs
+index 69c7e0c..faa45e1 100644
+--- a/gtk/gtk-2.10.defs
++++ b/gtk/gtk-2.10.defs
+@@ -1388,12 +1388,14 @@
+ (define-method create_pango_context
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_create_pango_context")
++ (caller-owns-return #t)
+ (return-type "PangoContext*")
+ )
+
+ (define-method create_pango_layout
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_create_pango_layout")
++ (caller-owns-return #t)
+ (return-type "PangoLayout*")
+ )
+
+diff --git a/pangocairo.override b/pangocairo.override
+index bb923e6..5101107 100644
+--- a/pangocairo.override
++++ b/pangocairo.override
+@@ -118,11 +118,16 @@ _wrap_pango_cairo_update_context(PyGObject *self, PyObject *args, PyObject *kwar
+ static PyObject *
+ _wrap_pango_cairo_create_layout(PyGObject *self)
+ {
+- PangoLayout *ret;
++ PangoLayout *layout;
++ PyObject *ret;
+
+- ret = pango_cairo_create_layout(PycairoContext_GET(self));
++ layout = pango_cairo_create_layout(PycairoContext_GET(self));
+ /* pygobject_new handles NULL checking */
+- return pygobject_new((GObject *)ret);
++ ret = pygobject_new((GObject *)layout);
++ if (layout)
++ g_object_unref(layout);
++
++ return ret;
+ }
+
+ static PyObject *
+--
+cgit v0.9.2
diff --git a/dev-python/pygtk/files/pygtk-2.24.0-quartz-objc.patch b/dev-python/pygtk/files/pygtk-2.24.0-quartz-objc.patch
new file mode 100644
index 000000000000..828057e62b73
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.24.0-quartz-objc.patch
@@ -0,0 +1,45 @@
+From: Anders F Bjorklund <afb@users.sourceforge.net>
+Date: Mon, 4 Apr 2011 21:34:20 +0200
+Subject: [PATCH] use objective-c for quartz
+
+https://bugzilla.gnome.org/show_bug.cgi?id=646743
+---
+ configure.ac | 5 +++++
+ gtk/Makefile.am | 5 +++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 84c78f6c..27192f9c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -445,6 +445,11 @@ case $gdk_target in
+ ;;
+ esac
+
++if test "x$gdk_target" = "xquartz"; then
++ AM_CONDITIONAL(USE_QUARTZ, true)
++else
++ AM_CONDITIONAL(USE_QUARTZ, false)
++fi
+
+ dnl checks to see if numpy is installed.
+ AC_ARG_ENABLE(numpy,
+diff --git a/gtk/Makefile.am b/gtk/Makefile.am
+index 7bb5d0c8..44d68700 100644
+--- a/gtk/Makefile.am
++++ b/gtk/Makefile.am
+@@ -9,6 +9,11 @@ INCLUDES = \
+ $(PYGOBJECT_CFLAGS) \
+ -I$(srcdir)/gtk
+
++if USE_QUARTZ
++# same as in gtk+/gdk/quartz/Makefile.am
++INCLUDES += "-xobjective-c"
++endif
++
+ # defs files
+ defsdir = $(pkgdatadir)/$(PLATFORM_VERSION)/defs
+ defs_DATA =
+--
+2.12.0
+
diff --git a/dev-python/pygtk/files/pygtk-2.24.0-test-fail.patch b/dev-python/pygtk/files/pygtk-2.24.0-test-fail.patch
new file mode 100644
index 000000000000..5bb1aec13d89
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.24.0-test-fail.patch
@@ -0,0 +1,9 @@
+--- tests/runtests.py
++++ tests/runtests.py
+@@ -41,4 +41,5 @@
+ suite.addTest(loader.loadTestsFromName(name))
+
+ testRunner = unittest.TextTestRunner()
+-testRunner.run(suite)
++result = testRunner.run(suite)
++sys.exit(not result.wasSuccessful())
diff --git a/dev-python/pygtk/files/pygtk-2.24.0-test_dialog.patch b/dev-python/pygtk/files/pygtk-2.24.0-test_dialog.patch
new file mode 100644
index 000000000000..832007af2328
--- /dev/null
+++ b/dev-python/pygtk/files/pygtk-2.24.0-test_dialog.patch
@@ -0,0 +1,28 @@
+From eb92ecdfe7e310499743a5686560e18bb48ef0f0 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Wed, 2 Oct 2013 14:51:20 -0400
+Subject: [PATCH] tests: fix MessageDialogTest.testSubclass
+
+Don't check sub.__gtype__ until we set sub
+
+https://bugzilla.gnome.org/show_bug.cgi?id=709304
+---
+ tests/test_dialog.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_dialog.py b/tests/test_dialog.py
+index a6a3ce5..6540be3 100644
+--- a/tests/test_dialog.py
++++ b/tests/test_dialog.py
+@@ -20,7 +20,7 @@ class MessageDialogTest(unittest.TestCase):
+ print sub.__gtype__.name
+ self.assertEqual(sub.__gtype__.name, 'GtkMessageDialog')
+
+- type('Sub', (gtk.MessageDialog,), {'__gtype_name__': 'SubDialog'})
++ sub = type('Sub', (gtk.MessageDialog,), {'__gtype_name__': 'SubDialog'})
+ self.assertEqual(sub.__gtype__.name, 'SubDialog')
+
+ def testDialogLeak(self):
+--
+1.8.3.2
+
diff --git a/dev-python/pygtk/metadata.xml b/dev-python/pygtk/metadata.xml
new file mode 100644
index 000000000000..a6d18544f32e
--- /dev/null
+++ b/dev-python/pygtk/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+</maintainer>
+<maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+</maintainer>
+<longdescription>
+PyGTK provides a convenient wrapper for the GTK+ library for use in
+Python programs, taking care of many of the boring details such as
+managing memory and type casting. When combined with PyORBit and
+gnome-python, it can be used to write full featured Gnome applications.
+</longdescription>
+<longdescription lang="ja">
+PyGTKは、Python言語プログラムでGTK+ライブラリを使うための、マネージング・メモリ&gt;やタイプ・キャスティングの様な詰まらない事柄の世話をしてくれる便利なラッパーを提
+供します。PyORBitとgnome-pythonと組みあわせると、GNOMEのアプリケーションの特性を
+完全に抑えるものにすることができます。
+</longdescription>
+</pkgmetadata>
diff --git a/dev-python/pygtk/pygtk-2.24.0-r4.ebuild b/dev-python/pygtk/pygtk-2.24.0-r4.ebuild
new file mode 100644
index 000000000000..7766afe1888a
--- /dev/null
+++ b/dev-python/pygtk/pygtk-2.24.0-r4.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME_TARBALL_SUFFIX="bz2"
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils flag-o-matic gnome2 python-r1 virtualx
+
+DESCRIPTION="GTK+2 bindings for Python"
+HOMEPAGE="http://www.pygtk.org/"
+
+LICENSE="LGPL-2.1"
+SLOT="2"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=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-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-2.26.8-r53:2[${PYTHON_USEDEP}]
+ dev-python/numpy[${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 )
+"
+
+src_prepare() {
+ # Fix declaration of codegen in .pc
+ epatch "${FILESDIR}/${PN}-2.13.0-fix-codegen-location.patch"
+ epatch "${FILESDIR}/${PN}-2.14.1-libdir-pc.patch"
+
+ # Fix leaks of Pango objects
+ epatch "${FILESDIR}/${PN}-2.24.0-fix-leaks.patch"
+
+ # Fail when tests are failing, bug #391307
+ epatch "${FILESDIR}/${PN}-2.24.0-test-fail.patch"
+
+ # Fix broken tests, https://bugzilla.gnome.org/show_bug.cgi?id=709304
+ epatch "${FILESDIR}/${P}-test_dialog.patch"
+
+ # Fix build on Darwin
+ epatch "${FILESDIR}/${PN}-2.24.0-quartz-objc.patch"
+
+ # Examples is handled "manually"
+ sed -e 's/\(SUBDIRS = .* \)examples/\1/' \
+ -i Makefile.am Makefile.in || die
+
+ sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466968
+
+ AT_M4DIR="m4" eautoreconf
+
+ prepare_pygtk() {
+ mkdir -p "${BUILD_DIR}" || die
+ }
+ python_foreach_impl prepare_pygtk
+}
+
+src_configure() {
+ use hppa && append-flags -ffunction-sections
+ configure_pygtk() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ $(use_enable doc docs) \
+ --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
+ Xemake 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*
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+
+ python_foreach_impl run_in_build_dir gnome2_src_install
+ prune_libtool_files --modules
+}