diff options
Diffstat (limited to 'extra/python-cairo')
-rw-r--r-- | extra/python-cairo/PKGBUILD | 44 | ||||
-rw-r--r-- | extra/python-cairo/pycairo-1.8.10-pypath.patch | 36 |
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(): |