python3.10: default haiku schemes

This commit is contained in:
Jerome Duval
2023-03-07 18:57:45 +01:00
parent da07c7b2bf
commit 01a50ad278
2 changed files with 96 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
From 177367d9679fe27e9a38c251bd0e072f85aa7fb3 Mon Sep 17 00:00:00 2001
From 5ce4ac57fe4bba0680f3788307531b72cc5a613a Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 10 Apr 2014 16:03:33 +0000
Subject: initial Haiku patch
@@ -582,7 +582,7 @@ index 85a2b26..2779048 100644
2.37.3
From 1f4b6ce5cad2a030114c646952dbc148abc8f865 Mon Sep 17 00:00:00 2001
From d15872aa930ea7a0e42a145454ca41f14526d709 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sun, 16 Apr 2017 10:05:42 +0200
Subject: fix for negative errnos
@@ -620,7 +620,7 @@ index b852ad7..60d4a6e 100644
2.37.3
From 827ba2ca9d05f29cba3506bf1ad9de9b83e45585 Mon Sep 17 00:00:00 2001
From ccd4b2e0cf61ab674a4b864bba648087369ba613 Mon Sep 17 00:00:00 2001
From: Philippe Houdoin <philippe.houdoin@gmail.com>
Date: Wed, 24 May 2017 11:09:43 +0000
Subject: Implement CTypes's find_library for Haiku
@@ -704,7 +704,7 @@ index 0c2510e..2b4f04c 100644
2.37.3
From b658720a43ac7ff9be0e825fbc3ba208e717aab9 Mon Sep 17 00:00:00 2001
From b1efc397bf39f9b5b7d1ea2d81cf8c5294175a38 Mon Sep 17 00:00:00 2001
From: Philipp Wolfer <phil@parolu.io>
Date: Mon, 23 Sep 2019 09:14:58 +0200
Subject: webbrowser: Support for default browsers on Haiku
@@ -730,7 +730,7 @@ index ec3cece..6a29d2a 100755
2.37.3
From 9a9b8f003e77bed5cb9c41a12b06b20b7e6ad91a Mon Sep 17 00:00:00 2001
From 684ee60b5a0d68cda9092b3f0aca58863aea06c8 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Fri, 4 Oct 2019 22:02:35 +0200
Subject: since 3.8, don't reinit locks on fork.
@@ -753,7 +753,7 @@ index 09810bd..0a92e3f 100644
2.37.3
From 8f572438ad956810da6a7be3dfd433a15f95bccc Mon Sep 17 00:00:00 2001
From 9a9cc07bd85eeb2d44839a676a87ed29e7c9a47a Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Fri, 15 May 2020 15:20:57 +0200
Subject: handle errors returned by internal_connect()
@@ -786,7 +786,7 @@ index e696af1..bf21d2e 100644
2.37.3
From f89256611156df626de21c85286b4d49c7dd5705 Mon Sep 17 00:00:00 2001
From d98c10e4b4e1695975b6c0885b16fbd6ce41cb4b Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Mon, 19 Oct 2020 18:03:09 +0200
Subject: ttyname_r can use MAXPATHLEN
@@ -816,7 +816,7 @@ index f92e2ae..e5b6042 100644
2.37.3
From 4eecfa64d1216d685184ae2e8530254c45ea0c7f Mon Sep 17 00:00:00 2001
From 9f19bdef3abf6f804dc5190a0985544ac99cf644 Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Fri, 21 Oct 2022 19:58:50 -0300
Subject: Lib/test: require the "largefile" usage flag for I/O heavy tests.
@@ -868,3 +868,90 @@ index 8f34c18..999063f 100644
--
2.37.3
From eec638e5025983d7888693d30f818535d40ecd1f Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Tue, 7 Mar 2023 18:29:29 +0100
Subject: default schemes for Haiku
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index 4f92119..919d883 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -57,25 +57,32 @@ _INSTALL_SCHEMES = {
'data': '{base}',
},
'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/lib/python{py_version_short}/site-packages',
- 'headers': '{base}/non-packaged/develop/headers/python{py_version_short}',
+ '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',
- 'headers': '{base}/develop/headers/python{py_version_short}',
+ 'include': '{base}/develop/headers/python{py_version_short}',
'scripts': '{base}/bin',
'data' : '{base}',
},
'haiku_home': {
+ 'stdlib': '{installed_base}/lib/python',
+ 'platstdlib': '{base}/lib/python',
'purelib': '{base}/lib/python',
'platlib': '{base}/lib/python',
- 'headers': '{base}/develop/headers/python/',
+ 'include': '{installed_base}/develop/headers/python',
+ 'platinclude': '{installed_base}/develop/headers/python',
'scripts': '{base}/bin',
- 'data' : '{base}',
+ 'data': '{base}',
},
}
@@ -127,6 +134,15 @@ if _HAS_USER_BASE:
'scripts': '{userbase}/bin',
'data': '{userbase}',
},
+ 'haiku_user': {
+ 'stdlib': '{userbase}/{platlibdir}/python{py_version_short}',
+ 'platstdlib': '{userbase}/{platlibdir}/python{py_version_short}',
+ 'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
+ 'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
+ 'include': '{userbase}/develop/headers/python{py_version_short}',
+ 'scripts': '{userbase}/bin',
+ 'data': '{userbase}',
+ },
'osx_framework_user': {
'stdlib': '{userbase}/lib/python',
'platstdlib': '{userbase}/lib/python',
@@ -246,6 +262,18 @@ def _expand_vars(scheme, vars):
def _get_preferred_schemes():
+ if sys.platform.startswith('haiku'):
+ if os.environ.get('HAIKU_USE_VENDOR_DIRECTORIES') == '1':
+ return {
+ 'prefix': 'haiku_vendor',
+ 'home': 'haiku_home',
+ 'user': 'haiku_user',
+ }
+ return {
+ 'prefix': 'haiku',
+ 'home': 'haiku_home',
+ 'user': 'haiku_user',
+ }
if os.name == 'nt':
return {
'prefix': 'nt',
--
2.37.3