[arch-commits] Commit in python-cairo/trunk (PKGBUILD pycairo-1.8.10-pypath.patch)

Stéphane Gaudreault stephane at archlinux.org
Tue Feb 22 02:50:49 UTC 2011


    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():




More information about the arch-commits mailing list