blob: d4d75a172d63a62d4493a4252d3bcce542c99a59 [file] [log] [blame]
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