summaryrefslogtreecommitdiffstats
path: root/abs/core/python_modules/pygobject2
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/python_modules/pygobject2')
-rw-r--r--abs/core/python_modules/pygobject2/PKGBUILD86
-rw-r--r--abs/core/python_modules/pygobject2/__changelog1
-rw-r--r--abs/core/python_modules/pygobject2/python2-fix-type.patch50
-rw-r--r--abs/core/python_modules/pygobject2/python3-fix-build.patch34
-rw-r--r--abs/core/python_modules/pygobject2/python3-fix-maketrans.patch36
5 files changed, 207 insertions, 0 deletions
diff --git a/abs/core/python_modules/pygobject2/PKGBUILD b/abs/core/python_modules/pygobject2/PKGBUILD
new file mode 100644
index 0000000..0f03bda
--- /dev/null
+++ b/abs/core/python_modules/pygobject2/PKGBUILD
@@ -0,0 +1,86 @@
+# $Id: PKGBUILD 158678 2012-05-06 22:44:32Z bisson $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=pygobject2
+pkgname=(python2-gobject2 pygobject2-devel)
+pkgver=2.28.6
+pkgrel=6
+arch=('i686' 'x86_64')
+url="http://www.pygtk.org/"
+license=('LGPL')
+makedepends=( 'python2')
+source=(http://ftp.gnome.org/pub/gnome/sources/pygobject/${pkgver%.*}/pygobject-${pkgver}.tar.xz
+ python2-fix-type.patch
+ python3-fix-build.patch
+ python3-fix-maketrans.patch)
+options=('!libtool')
+sha256sums=('fb8a1d4f665130a125011659bd347c7339c944232163dbb9a34fd0686577adb8'
+ 'b7b415499ffc0817cf551edf76a3fe47938db2c9f6240046eae681e6ef9b37ea'
+ 'feafd4664f8455edf0bf8407ac45e219bb550df806ce0d601baae951e8c188ca'
+ '4bff9adcea13a824c45d14ec501c927df47d23c22507a2456d8b5ec885924c0a')
+
+build() {
+ cd "${srcdir}"
+ cp -a "pygobject-${pkgver}" python2-build
+ mkdir devel
+
+ (
+ cd python2-build
+ export PYTHON=/usr/bin/python2
+ ./configure --prefix=/usr --disable-introspection
+ make
+ )
+
+ (
+ cd "pygobject-${pkgver}"
+ #patches available in 2.28 branch but unreleased.
+ patch -Np1 -i "${srcdir}/python2-fix-type.patch"
+ patch -Np1 -i "${srcdir}/python3-fix-build.patch"
+ patch -Np1 -i "${srcdir}/python3-fix-maketrans.patch"
+
+ ./configure --prefix=/usr --disable-introspection
+ make
+ )
+}
+
+package_python-gobject2() {
+ pkgdesc="Python 3 bindings for GObject2"
+# depends=('glib2' 'pygobject2-devel' 'python')
+ replaces=('py3gobject')
+ provides=("py3gobject=$pkgver")
+
+ cd "${srcdir}/pygobject-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ # Delete devel stuff
+ rm -r "$pkgdir"/usr/{bin,include,lib/pkgconfig,share/{gtk-doc,pygobject/{2.0/codegen,xsl}}}
+}
+
+package_python2-gobject2() {
+ pkgdesc="Python 2 bindings for GObject2"
+ depends=('glib2' 'pygobject2-devel' 'python2')
+ replaces=('pygobject')
+ provides=("pygobject=$pkgver")
+
+ cd "${srcdir}/python2-build"
+ make DESTDIR="${pkgdir}" install
+
+ find "$pkgdir"/usr/share/pygobject -name '*.py' | \
+ xargs sed -i "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|"
+
+ # Split devel stuff
+ mv "$pkgdir"/usr/{include,lib/pkgconfig,share/{gtk-doc,pygobject/xsl}} \
+ "$srcdir/devel/"
+}
+
+package_pygobject2-devel() {
+ pkgdesc="Development files for the pygobject bindings"
+
+ cd "${srcdir}/devel"
+ mkdir -p "$pkgdir"/usr/{include,lib,share/pygobject}
+
+ mv include "$pkgdir/usr/"
+ mv pkgconfig "$pkgdir/usr/lib/"
+ mv gtk-doc "$pkgdir/usr/share/"
+ mv xsl "$pkgdir/usr/share/pygobject/"
+}
diff --git a/abs/core/python_modules/pygobject2/__changelog b/abs/core/python_modules/pygobject2/__changelog
new file mode 100644
index 0000000..92b1ef7
--- /dev/null
+++ b/abs/core/python_modules/pygobject2/__changelog
@@ -0,0 +1 @@
+remove python3
diff --git a/abs/core/python_modules/pygobject2/python2-fix-type.patch b/abs/core/python_modules/pygobject2/python2-fix-type.patch
new file mode 100644
index 0000000..78e7ddf
--- /dev/null
+++ b/abs/core/python_modules/pygobject2/python2-fix-type.patch
@@ -0,0 +1,50 @@
+From 42d01f060c5d764baa881d13c103d68897163a49 Mon Sep 17 00:00:00 2001
+From: Ryan Lortie <desrt@desrt.ca>
+Date: Mon, 12 Mar 2012 16:44:14 -0400
+Subject: gio-types.defs: change some enums to flags
+
+These flags types were originally incorrectly handled in glib as being
+enums. That bug was fixed, but they're still enums here, leading to
+warnings about the mismatch.
+
+Change them to flags.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=668522
+---
+ gio/gio-types.defs | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/gio/gio-types.defs b/gio/gio-types.defs
+index 331e0bc..7eee5c8 100644
+--- a/gio/gio-types.defs
++++ b/gio/gio-types.defs
+@@ -526,7 +526,7 @@
+ )
+ )
+
+-(define-enum MountMountFlags
++(define-flags MountMountFlags
+ (in-module "gio")
+ (c-name "GMountMountFlags")
+ (gtype-id "G_TYPE_MOUNT_MOUNT_FLAGS")
+@@ -545,7 +545,7 @@
+ )
+ )
+
+-(define-enum DriveStartFlags
++(define-flags DriveStartFlags
+ (in-module "gio")
+ (c-name "GDriveStartFlags")
+ (gtype-id "G_TYPE_DRIVE_START_FLAGS")
+@@ -770,7 +770,7 @@
+ )
+ )
+
+-(define-enum SocketMsgFlags
++(define-flags SocketMsgFlags
+ (in-module "gio")
+ (c-name "GSocketMsgFlags")
+ (gtype-id "G_TYPE_SOCKET_MSG_FLAGS")
+--
+1.7.9.1
+
diff --git a/abs/core/python_modules/pygobject2/python3-fix-build.patch b/abs/core/python_modules/pygobject2/python3-fix-build.patch
new file mode 100644
index 0000000..4cb8cfe
--- /dev/null
+++ b/abs/core/python_modules/pygobject2/python3-fix-build.patch
@@ -0,0 +1,34 @@
+From e2dc4ac346a16b6976b92e84819c7203629beb4a Mon Sep 17 00:00:00 2001
+From: Ignacio Casal Quinteiro <icq@gnome.org>
+Date: Thu, 21 Apr 2011 14:52:20 +0000
+Subject: [python3] fix build. PYcairo_IMPORT doesn't exists anymore
+
+---
+diff --git a/gi/pygi-foreign-cairo.c b/gi/pygi-foreign-cairo.c
+index 81b9865..edf52d7 100644
+--- a/gi/pygi-foreign-cairo.c
++++ b/gi/pygi-foreign-cairo.c
+@@ -30,7 +30,7 @@
+ #include <pycairo/py3cairo.h>
+ #endif
+
+-Pycairo_CAPI_t *Pycairo_CAPI;
++static Pycairo_CAPI_t *Pycairo_CAPI;
+
+ #include "pygi-foreign.h"
+
+@@ -117,7 +117,12 @@ cairo_surface_release (GIBaseInfo *base_info,
+ static PyMethodDef _gi_cairo_functions[] = {0,};
+ PYGLIB_MODULE_START(_gi_cairo, "_gi_cairo")
+ {
++#if PY_VERSION_HEX < 0x03000000
+ Pycairo_IMPORT;
++#else
++ Pycairo_CAPI = (Pycairo_CAPI_t*) PyCObject_Import("cairo", "CAPI");
++#endif
++
+ if (Pycairo_CAPI == NULL)
+ return PYGLIB_MODULE_ERROR_RETURN;
+
+--
+cgit v0.9
diff --git a/abs/core/python_modules/pygobject2/python3-fix-maketrans.patch b/abs/core/python_modules/pygobject2/python3-fix-maketrans.patch
new file mode 100644
index 0000000..f5bc0e7
--- /dev/null
+++ b/abs/core/python_modules/pygobject2/python3-fix-maketrans.patch
@@ -0,0 +1,36 @@
+From 667bec76ccbc85cc1d54a0e68977dbda241c028c Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin.pitt@ubuntu.com>
+Date: Wed, 13 Jul 2011 06:42:22 +0000
+Subject: [python3] Fix maketrans import
+
+Python3 moved the maketrans() function from the string module to a str method.
+This unbreaks gi/module.py for Python 3 again.
+---
+diff --git a/gi/module.py b/gi/module.py
+index 70df76c..d56bdaf 100644
+--- a/gi/module.py
++++ b/gi/module.py
+@@ -24,7 +24,11 @@ from __future__ import absolute_import
+
+ import os
+ import gobject
+-import string
++try:
++ maketrans = ''.maketrans
++except AttributeError:
++ # fallback for Python 2
++ from string import maketrans
+
+ import gi
+ from .overrides import registry
+@@ -124,7 +128,7 @@ class IntrospectionModule(object):
+ # Don't use upper() here to avoid locale specific
+ # identifier conversion (e. g. in Turkish 'i'.upper() == 'i')
+ # see https://bugzilla.gnome.org/show_bug.cgi?id=649165
+- ascii_upper_trans = string.maketrans(
++ ascii_upper_trans = maketrans(
+ 'abcdefgjhijklmnopqrstuvwxyz',
+ 'ABCDEFGJHIJKLMNOPQRSTUVWXYZ')
+ for value_info in info.get_values():
+--
+cgit v0.9