[packages/python3-pycairo] - restored setup.py from upstream git + changes making it work properly

hawk hawk at pld-linux.org
Tue Jul 16 07:59:45 CEST 2013


commit 3678fc75b020a4170c15def6bb7551136ca3efd8
Author: Marcin Krol <hawk at tld-linux.org>
Date:   Tue Jul 16 06:08:28 2013 +0000

    - restored setup.py from upstream git + changes making it work properly

 pycairo-setup.patch | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 131 insertions(+)
---
diff --git a/pycairo-setup.patch b/pycairo-setup.patch
new file mode 100644
index 0000000..32890d8
--- /dev/null
+++ b/pycairo-setup.patch
@@ -0,0 +1,131 @@
+diff -urN pycairo-1.10.0.orig/setup.py pycairo-1.10.0/setup.py
+--- pycairo-1.10.0.orig/setup.py	1970-01-01 00:00:00.000000000 +0000
++++ pycairo-1.10.0/setup.py	2013-07-16 05:59:25.414054186 +0000
+@@ -0,0 +1,127 @@
++#!/usr/bin/env python
++
++import distutils.core      as dic
++import distutils.dir_util  as dut
++import distutils.file_util as fut
++import distutils.sysconfig as dsy
++import io
++import os
++import subprocess
++import sys
++
++pycairo_version        = '1.10.0'
++cairo_version_required = '1.10.1'
++python_version_required = (3,1)
++pkgconfig_file = 'py3cairo.pc'
++config_file    = 'src/config.h'
++
++LIBDIR = os.uname ()[-1] == 'x86_64' and  'lib64' or 'lib'
++
++def call(command):
++  pipe = subprocess.Popen(command, shell=True,
++                          stdout=subprocess.PIPE,
++                          stderr=subprocess.PIPE)
++  pipe.wait()
++  return pipe
++
++def pkg_config_version_check(pkg, version):
++  check = '%s >= %s' % (pkg, version)
++  pipe = call("pkg-config --print-errors --exists '%s'" % (check,))
++  if pipe.returncode == 0:
++    print(check, ' Successful')
++  else:
++    print(check, ' Failed')
++    raise SystemExit(pipe.stderr.read().decode())
++
++def pkg_config_parse(opt, pkg):
++  check = "pkg-config %s %s" % (opt, pkg)
++  pipe = call("pkg-config %s %s" % (opt, pkg))
++  if pipe.returncode != 0:
++    print(check, ' Failed')
++    raise SystemExit(pipe.stderr.read().decode())
++
++  output = pipe.stdout.read()
++  output = output.decode() # get the str
++  opt = opt[-2:]
++  return [x.lstrip(opt) for x in output.split()]
++
++
++def createPcFile(PcFile):
++  print('creating %s' % PcFile)
++  with open(PcFile, 'w') as fo:
++    fo.write ("""\
++prefix=%s
++
++Name: Pycairo
++Description: Python 3 bindings for cairo
++Version: %s
++Requires: cairo
++Cflags: -I${prefix}/include/pycairo
++Libs:
++""" % (sys.prefix, pycairo_version)
++            )
++
++def createConfigFile(ConfigFile):
++  print('creating %s' % ConfigFile)
++  v = pycairo_version.split('.')
++
++  with open(ConfigFile, 'w') as fo:
++    fo.write ("""\
++// Configuration header created by setup.py - do not edit
++#ifndef _CONFIG_H
++#define _CONFIG_H 1
++
++#define PYCAIRO_VERSION_MAJOR %s
++#define PYCAIRO_VERSION_MINOR %s
++#define PYCAIRO_VERSION_MICRO %s
++#define VERSION "%s"
++
++#endif // _CONFIG_H
++""" % (v[0], v[1], v[2], pycairo_version)
++            )
++
++
++if sys.version_info < python_version_required:
++  raise SystemExit('Error: Python >= %s is required' %
++                   (python_version_required,))
++
++pkg_config_version_check ('cairo', cairo_version_required)
++if sys.platform == 'win32':
++  runtime_library_dirs = []
++else:
++  runtime_library_dirs = pkg_config_parse('--libs-only-L', 'cairo')
++
++createPcFile(pkgconfig_file)
++createConfigFile(config_file)
++
++
++cairo = dic.Extension(
++  name = 'cairo._cairo',
++  sources = ['src/cairomodule.c',
++             'src/context.c',
++             'src/font.c',
++             'src/matrix.c',
++             'src/path.c',
++             'src/pattern.c',
++             'src/surface.c',
++             ],
++  include_dirs = pkg_config_parse('--cflags-only-I', 'cairo'),
++  library_dirs = pkg_config_parse('--libs-only-L', 'cairo'),
++  libraries    = pkg_config_parse('--libs-only-l', 'cairo'),
++  runtime_library_dirs = runtime_library_dirs,
++  )
++
++dic.setup(
++  name = "pycairo",
++  version = pycairo_version,
++  description = "python interface for cairo",
++  ext_modules = [cairo],
++  package_dir = {'cairo': 'src'},
++  packages = ['cairo'],
++  data_files = [ 
++    ('include/pycairo', ['src/py3cairo.h']),
++    (LIBDIR + '/pkgconfig', [pkgconfig_file]),
++    (os.path.join(dsy.get_python_lib(True, False), 'cairo'),
++     ['src/__init__.py']),
++    ],
++  )
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python3-pycairo.git/commitdiff/f81391f74f4c36da47adf2a8f4699d8cc2907808



More information about the pld-cvs-commit mailing list