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  '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, prefix=sys.prefix), 'cairo'),
+     ['src/__init__.py']),
+    ],
+  )
