From 3b18be1752c9fd9fa74eb1314ca97dd61e9ce912 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 3 Sep 2011 23:14:38 +0000 Subject: Sat Sep 3 23:14:38 UTC 2011 --- extra/pygobject2/PKGBUILD | 89 ++++++++++++++++++++++++++++ extra/pygobject2/python3-fix-build.patch | 34 +++++++++++ extra/pygobject2/python3-fix-maketrans.patch | 36 +++++++++++ 3 files changed, 159 insertions(+) create mode 100644 extra/pygobject2/PKGBUILD create mode 100644 extra/pygobject2/python3-fix-build.patch create mode 100644 extra/pygobject2/python3-fix-maketrans.patch (limited to 'extra/pygobject2') diff --git a/extra/pygobject2/PKGBUILD b/extra/pygobject2/PKGBUILD new file mode 100644 index 000000000..31ec9761a --- /dev/null +++ b/extra/pygobject2/PKGBUILD @@ -0,0 +1,89 @@ +# $Id: PKGBUILD 136848 2011-09-02 11:44:37Z ibiru $ +# Maintainer: Jan de Groot + +pkgbase=pygobject2 +pkgname=(python-gobject2 python2-gobject2 pygobject2-devel) +pkgver=2.28.6 +pkgrel=1 +arch=('i686' 'x86_64') +url="http://www.pygtk.org/" +license=('LGPL') +depends=('glib2' 'gobject-introspection') +makedepends=(python python2 python-cairo python2-cairo) +source=(http://ftp.gnome.org/pub/gnome/sources/pygobject/${pkgver%.*}/pygobject-${pkgver}.tar.xz + python3-fix-build.patch + python3-fix-maketrans.patch) +options=('!libtool') +sha256sums=('fb8a1d4f665130a125011659bd347c7339c944232163dbb9a34fd0686577adb8' + 'feafd4664f8455edf0bf8407ac45e219bb550df806ce0d601baae951e8c188ca' + '4bff9adcea13a824c45d14ec501c927df47d23c22507a2456d8b5ec885924c0a') + +build() { + cd "${srcdir}" + cp -a "pygobject-${pkgver}" python2-build + mkdir devel + + ( + cd python2-build + export PYTHON=/usr/bin/python2 + ./configure --prefix=/usr + make + ) + + ( + cd "pygobject-${pkgver}" + #patches available in 2.28 branch but unreleased. + patch -Np1 -i "${srcdir}/python3-fix-build.patch" + patch -Np1 -i "${srcdir}/python3-fix-maketrans.patch" + + ./configure --prefix=/usr + make + ) +} + +package_python-gobject2() { + pkgdesc="Python 3 bindings for GObject2" + depends+=('python' 'python-cairo' 'pygobject2-devel') + 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+=('python2' 'python2-cairo' 'pygobject2-devel') + 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/{bin,include,lib/pkgconfig,share/{gtk-doc,pygobject/{2.0/codegen,xsl}}} \ + "$srcdir/devel/" +} + +package_pygobject2-devel() { + pkgdesc="Development files for the pygobject bindings" + depends=(python2) + replaces=pygobject-devel + provides=pygobject-devel + + cd "${srcdir}/devel" + mkdir -p "$pkgdir"/usr/{include,lib,share/pygobject/2.0} + + mv bin "$pkgdir/usr/" + mv include "$pkgdir/usr/" + mv pkgconfig "$pkgdir/usr/lib/" + mv gtk-doc "$pkgdir/usr/share/" + mv codegen "$pkgdir/usr/share/pygobject/2.0/" + mv xsl "$pkgdir/usr/share/pygobject/" +} diff --git a/extra/pygobject2/python3-fix-build.patch b/extra/pygobject2/python3-fix-build.patch new file mode 100644 index 000000000..4cb8cfe57 --- /dev/null +++ b/extra/pygobject2/python3-fix-build.patch @@ -0,0 +1,34 @@ +From e2dc4ac346a16b6976b92e84819c7203629beb4a Mon Sep 17 00:00:00 2001 +From: Ignacio Casal Quinteiro +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 + #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/extra/pygobject2/python3-fix-maketrans.patch b/extra/pygobject2/python3-fix-maketrans.patch new file mode 100644 index 000000000..f5bc0e77c --- /dev/null +++ b/extra/pygobject2/python3-fix-maketrans.patch @@ -0,0 +1,36 @@ +From 667bec76ccbc85cc1d54a0e68977dbda241c028c Mon Sep 17 00:00:00 2001 +From: Martin Pitt +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 -- cgit v1.2.3-54-g00ecf