python3.9: add sysconfig haiku schemes

This commit is contained in:
Jerome Duval
2023-03-06 23:03:05 +01:00
parent 964eafe43d
commit c1113681e4
2 changed files with 60 additions and 1 deletions

View File

@@ -824,3 +824,62 @@ index 90c19a2..ad979e6 100644
--
2.36.1
From 5818eceb6c228b6f718cbe140656a3570e6b3594 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Mon, 6 Mar 2023 22:51:40 +0100
Subject: sysconfig: add haiku schemes
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index e3f79bf..574220b 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -84,6 +84,33 @@ _INSTALL_SCHEMES = {
'scripts': '{userbase}/bin',
'data': '{userbase}',
},
+ 'haiku': {
+ 'stdlib': '{installed_base}/{platlibdir}/python{py_version_short}',
+ 'platstdlib': '{platbase}/{platlibdir}/python{py_version_short}',
+ 'purelib': '{base}/non-packaged/lib/python{py_version_short}/site-packages',
+ 'platlib': '{platbase}/non-packaged/{platlibdir}/python{py_version_short}/site-packages',
+ 'include': '{base}/non-packaged/develop/headers/python{py_version_short}',
+ 'scripts': '{base}/non-packaged/bin',
+ 'data' : '{base}/non-packaged',
+ },
+ 'haiku_vendor': {
+ 'stdlib': '{installed_base}/{platlibdir}/python{py_version_short}',
+ 'platstdlib': '{platbase}/{platlibdir}/python{py_version_short}',
+ 'purelib': '{base}/lib/python{py_version_short}/vendor-packages',
+ 'platlib': '{platbase}/lib/python{py_version_short}/vendor-packages',
+ 'include': '{base}/develop/headers/python{py_version_short}',
+ 'scripts': '{base}/bin',
+ 'data' : '{base}',
+ },
+ 'haiku_home': {
+ 'stdlib': '{installed_base}/{platlibdir}/python{py_version_short}',
+ 'platstdlib': '{platbase}/{platlibdir}/python{py_version_short}',
+ 'purelib': '{userbase}/lib/python',
+ 'platlib': '{userbase}/lib/python',
+ 'include': '{userbase}/develop/headers/python/$dist_name',
+ 'scripts': '{userbase}/bin',
+ 'data' : '{userbase}',
+ },
}
_SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include',
@@ -182,6 +209,10 @@ def _expand_vars(scheme, vars):
def _get_default_scheme():
+ if sys.platform.startswith('haiku'):
+ if os.environ.get('HAIKU_USE_VENDOR_DIRECTORIES') == '1':
+ return 'haiku_vendor'
+ return 'haiku'
if os.name == 'posix':
# the default scheme for posix is posix_prefix
return 'posix_prefix'
--
2.37.3