summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-python/pygtk
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-python/pygtk')
-rw-r--r--dev-python/pygtk/Manifest1
-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-test-fail.patch9
-rw-r--r--dev-python/pygtk/files/pygtk-2.24.0-test_dialog.patch28
-rw-r--r--dev-python/pygtk/metadata.xml17
-rw-r--r--dev-python/pygtk/pygtk-2.24.0-r4.ebuild103
8 files changed, 239 insertions, 0 deletions
diff --git a/dev-python/pygtk/Manifest b/dev-python/pygtk/Manifest
new file mode 100644
index 000000000000..35ad89b06e8e
--- /dev/null
+++ b/dev-python/pygtk/Manifest
@@ -0,0 +1 @@
+DIST pygtk-2.24.0.tar.bz2 2361097 SHA256 cd1c1ea265bd63ff669e92a2d3c2a88eb26bcd9e5363e0f82c896e649f206912 SHA512 64f4344fcf7636e0b2016ffd5310250b5c02a1bf87e44aef39b5d4cf4a5fc50d27cb4f030d4c6802cff61fffb88dee7752821e3d8a4cd1c34dc3745d9ff2f0da WHIRLPOOL 6a5acd3fdd63ded08882ec2a8a3beaeb6bea55672a52841f2b41af5feeb20cfd68941c9322a27861b23fd0244173036815d5f122f7edcf3be14dffaa77b10575
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-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..6d9588ff59c9
--- /dev/null
+++ b/dev-python/pygtk/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<herd>python</herd>
+<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+ライブラリを使うための、マネージング・メモリ>やタイプ・キャスティングの様な詰まらない事柄の世話をしてくれる便利なラッパーを提
+供します。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..be7a881c59d4
--- /dev/null
+++ b/dev-python/pygtk/pygtk-2.24.0-r4.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+RDEPEND="
+ >=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"
+
+ # 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
+}