Date: Monday, February 21, 2011 @ 21:50:48 Author: stephane Revision: 110756
upgpkg: python-cairo 1.8.10-2 python 3.2 rebuild Added: python-cairo/trunk/pycairo-1.8.10-pypath.patch Modified: python-cairo/trunk/PKGBUILD -----------------------------+ PKGBUILD | 25 ++++++++++++++++++++++--- pycairo-1.8.10-pypath.patch | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2011-02-22 01:17:56 UTC (rev 110755) +++ PKGBUILD 2011-02-22 02:50:48 UTC (rev 110756) @@ -3,18 +3,37 @@ pkgname=python-cairo pkgver=1.8.10 -pkgrel=1 +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) +source=(http://cairographics.org/releases/pycairo-${pkgver}.tar.bz2 + pycairo-1.8.10-pypath.patch) url="http://www.cairographics.org/pycairo" -md5sums=('ddc544943d791e3c22ca8f019e10e1e3') +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 } Added: pycairo-1.8.10-pypath.patch =================================================================== --- pycairo-1.8.10-pypath.patch (rev 0) +++ pycairo-1.8.10-pypath.patch 2011-02-22 02:50:48 UTC (rev 110756) @@ -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():