From 430c6ffb65cd839be5ba6266a89f645afa8f9442 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Sun, 14 Oct 2018 12:30:56 +0200
Subject: [PATCH] setup.py: Support specifying custom --pkgconfigdir

Support overriding --pkgconfigdir for whenever the autodetection
gives incorrect result (e.g. PyPy).  Fixes #119.
---
 setup.py | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/setup.py b/setup.py
index 36641d9..75c8888 100755
--- a/setup.py
+++ b/setup.py
@@ -14,6 +14,7 @@ except ImportError:
 from distutils.core import Extension, Command, Distribution
 from distutils.ccompiler import new_compiler
 from distutils.sysconfig import customize_compiler
+from distutils.util import change_root
 from distutils import log
 from distutils import sysconfig
 
@@ -265,11 +266,15 @@ class test_cmd(Command):
 
 class install_pkgconfig(Command):
     description = "install .pc file"
-    user_options = []
+    user_options = [
+        ('pkgconfigdir=', None, 'pkg-config file install directory'),
+    ]
 
     def initialize_options(self):
+        self.root = None
         self.install_base = None
         self.install_data = None
+        self.pkgconfigdir = None
         self.compiler_type = None
         self.outfiles = []
 
@@ -280,6 +285,11 @@ class install_pkgconfig(Command):
             ('install_data', 'install_data'),
         )
 
+        self.set_undefined_options(
+            'install',
+            ('root', 'root'),
+        )
+
         self.set_undefined_options(
             'build_ext',
             ('compiler_type', 'compiler_type'),
@@ -315,8 +325,13 @@ class install_pkgconfig(Command):
                 "Skipping install_pkgconfig, not supported with MSVC")
             return
 
-        python_lib = sysconfig.get_python_lib(True, True, self.install_data)
-        pkgconfig_dir = os.path.join(os.path.dirname(python_lib), 'pkgconfig')
+        if self.pkgconfigdir is None:
+            python_lib = sysconfig.get_python_lib(True, True,
+                                                  self.install_data)
+            pkgconfig_dir = os.path.join(os.path.dirname(python_lib),
+                                         'pkgconfig')
+        else:
+            pkgconfig_dir = change_root(self.root, self.pkgconfigdir)
         self.mkpath(pkgconfig_dir)
 
         pcname = "py3cairo.pc" if sys.version_info[0] == 3 else "pycairo.pc"
-- 
2.19.1

