summaryrefslogtreecommitdiff
path: root/extra/python-cairo
diff options
context:
space:
mode:
Diffstat (limited to 'extra/python-cairo')
-rw-r--r--extra/python-cairo/PKGBUILD44
-rw-r--r--extra/python-cairo/pycairo-1.8.10-pypath.patch36
2 files changed, 80 insertions, 0 deletions
diff --git a/extra/python-cairo/PKGBUILD b/extra/python-cairo/PKGBUILD
new file mode 100644
index 000000000..864c6bb86
--- /dev/null
+++ b/extra/python-cairo/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 110756 2011-02-22 02:50:48Z stephane $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=python-cairo
+pkgver=1.8.10
+pkgrel=2
+pkgdesc="Python bindings for the cairo graphics library"
+arch=('i686' 'x86_64')
+license=('LGPL3')
+depends=('python' 'cairo')
+makedepends=('pkg-config')
+options=('!libtool')
+source=(http://cairographics.org/releases/pycairo-${pkgver}.tar.bz2
+ pycairo-1.8.10-pypath.patch)
+url="http://www.cairographics.org/pycairo"
+md5sums=('ddc544943d791e3c22ca8f019e10e1e3'
+ '047cfe0a98cfa73a156cd70e70082325')
+
+build() {
+ cd "${srcdir}/pycairo-${pkgver}"
+
+ # We patch the embedded copy of waf to fix compiling against python 3.2
+ # (due to PEP-3149), by using the appropriate python-config tool, rather
+ # than trying to find the libraries by directly using PYTHON_VERSION
+
+ # Ensure that ./waf has created the cached unpacked version
+ # of the wafadmin source tree.
+ # This will be created to a subdirectory like
+ # .waf3-1.5.18-a7b91e2a913ce55fa6ecdf310df95752
+ python ./waf --version
+
+ # Patch the unpacked version of waf:
+ pushd .waf3*
+ patch -Np0 -i ../../pycairo-1.8.10-pypath.patch
+ popd
+
+ ./waf configure --prefix=/usr
+ ./waf build
+}
+
+package() {
+ cd "${srcdir}/pycairo-${pkgver}"
+ ./waf install --destdir="${pkgdir}"
+}
diff --git a/extra/python-cairo/pycairo-1.8.10-pypath.patch b/extra/python-cairo/pycairo-1.8.10-pypath.patch
new file mode 100644
index 000000000..07d4e1b7a
--- /dev/null
+++ b/extra/python-cairo/pycairo-1.8.10-pypath.patch
@@ -0,0 +1,36 @@
+diff -up wafadmin/Tools/python.py.pypath wafadmin/Tools/python.py
+--- wafadmin/Tools/python.py.pypath 2011-02-10 15:30:44.118506004 -0500
++++ wafadmin/Tools/python.py 2011-02-10 15:32:50.922506002 -0500
+@@ -156,6 +156,9 @@ MACOSX_DEPLOYMENT_TARGET = %r
+ env.append_value('LINKFLAGS_PYEMBED',python_LDFLAGS.split())
+ result=False
+ name='python'+env['PYTHON_VERSION']
++ python_config=conf.find_program('python%s-config'%('.'.join(env['PYTHON_VERSION'].split('.')[:2])),var='PYTHON_CONFIG')
++ if not python_config:
++ python_config=conf.find_program('python-config-%s'%('.'.join(env['PYTHON_VERSION'].split('.')[:2])),var='PYTHON_CONFIG')
+ if python_LIBDIR is not None:
+ path=[python_LIBDIR]
+ conf.log.write("\n\n# Trying LIBDIR: %r\n"%path)
+@@ -169,6 +172,12 @@ MACOSX_DEPLOYMENT_TARGET = %r
+ path=[os.path.join(python_prefix,"libs")]
+ name='python'+env['PYTHON_VERSION'].replace('.','')
+ result=conf.check(lib=name,uselib='PYEMBED',libpath=path)
++ if not result and python_config:
++ conf.log.write("\n\n# try again with help of python-config\n")
++ for libstr in Utils.cmd_output("%s %s --libs"%(python,python_config)).strip().split():
++ if(libstr.startswith('-lpython')):
++ name=libstr[2:]
++ result=conf.check(lib=name,uselib='PYEMBED',libpath=path)
+ if result:
+ env['LIBPATH_PYEMBED']=path
+ env.append_value('LIB_PYEMBED',name)
+@@ -177,9 +186,6 @@ MACOSX_DEPLOYMENT_TARGET = %r
+ if(sys.platform=='win32'or sys.platform.startswith('os2')or sys.platform=='darwin'or Py_ENABLE_SHARED):
+ env['LIBPATH_PYEXT']=env['LIBPATH_PYEMBED']
+ env['LIB_PYEXT']=env['LIB_PYEMBED']
+- python_config=conf.find_program('python%s-config'%('.'.join(env['PYTHON_VERSION'].split('.')[:2])),var='PYTHON_CONFIG')
+- if not python_config:
+- python_config=conf.find_program('python-config-%s'%('.'.join(env['PYTHON_VERSION'].split('.')[:2])),var='PYTHON_CONFIG')
+ includes=[]
+ if python_config:
+ for incstr in Utils.cmd_output("%s %s --includes"%(python,python_config)).strip().split():