You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
159 lines
5.9 KiB
Diff
159 lines
5.9 KiB
Diff
|
|
Index: Lib/_osx_support.py
|
||
|
|
===================================================================
|
||
|
|
--- Lib/_osx_support.py.orig
|
||
|
|
+++ Lib/_osx_support.py
|
||
|
|
@@ -450,8 +450,16 @@ def get_platform_osx(_config_vars, osnam
|
||
|
|
# case and disallow installs.
|
||
|
|
cflags = _config_vars.get(_INITPRE+'CFLAGS',
|
||
|
|
_config_vars.get('CFLAGS', ''))
|
||
|
|
- if ((macrelease + '.') >= '10.4.' and
|
||
|
|
- '-arch' in cflags.strip()):
|
||
|
|
+ if macrelease:
|
||
|
|
+ try:
|
||
|
|
+ macrelease = tuple(int(i) for i in macrelease.split('.')[0:2])
|
||
|
|
+ except ValueError:
|
||
|
|
+ macrelease = (10, 0)
|
||
|
|
+ else:
|
||
|
|
+ # assume no universal support
|
||
|
|
+ macrelease = (10, 0)
|
||
|
|
+
|
||
|
|
+ if (macrelease >= (10, 4)) and '-arch' in cflags.strip():
|
||
|
|
# The universal build will build fat binaries, but not on
|
||
|
|
# systems before 10.4
|
||
|
|
|
||
|
|
Index: Lib/distutils/tests/test_build_ext.py
|
||
|
|
===================================================================
|
||
|
|
--- Lib/distutils/tests/test_build_ext.py.orig
|
||
|
|
+++ Lib/distutils/tests/test_build_ext.py
|
||
|
|
@@ -444,8 +444,16 @@ class BuildExtTestCase(TempdirManager,
|
||
|
|
|
||
|
|
# get the deployment target that the interpreter was built with
|
||
|
|
target = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET')
|
||
|
|
- target = tuple(map(int, target.split('.')))
|
||
|
|
- target = '%02d%01d0' % target
|
||
|
|
+ target = tuple(map(int, target.split('.')[0:2]))
|
||
|
|
+ # format the target value as defined in the Apple
|
||
|
|
+ # Availability Macros. We can't use the macro names since
|
||
|
|
+ # at least one value we test with will not exist yet.
|
||
|
|
+ if target[1] < 10:
|
||
|
|
+ # for 10.1 through 10.9.x -> "10n0"
|
||
|
|
+ target = '%02d%01d0' % target
|
||
|
|
+ else:
|
||
|
|
+ # for 10.10 and beyond -> "10nn00"
|
||
|
|
+ target = '%02d%02d00' % target
|
||
|
|
deptarget_ext = Extension(
|
||
|
|
'deptarget',
|
||
|
|
[deptarget_c],
|
||
|
|
Index: Lib/test/test__osx_support.py
|
||
|
|
===================================================================
|
||
|
|
--- Lib/test/test__osx_support.py.orig
|
||
|
|
+++ Lib/test/test__osx_support.py
|
||
|
|
@@ -109,7 +109,9 @@ class Test_OSXSupport(unittest.TestCase)
|
||
|
|
|
||
|
|
def test__supports_universal_builds(self):
|
||
|
|
import platform
|
||
|
|
- self.assertEqual(platform.mac_ver()[0].split('.') >= ['10', '4'],
|
||
|
|
+ mac_ver_tuple = tuple(int(i) for i in
|
||
|
|
+ platform.mac_ver()[0].split('.')[0:2])
|
||
|
|
+ self.assertEqual(mac_ver_tuple >= (10, 4),
|
||
|
|
_osx_support._supports_universal_builds())
|
||
|
|
|
||
|
|
def test__find_appropriate_compiler(self):
|
||
|
|
Index: Lib/test/test_posix.py
|
||
|
|
===================================================================
|
||
|
|
--- Lib/test/test_posix.py.orig
|
||
|
|
+++ Lib/test/test_posix.py
|
||
|
|
@@ -768,7 +768,7 @@ class PosixTester(unittest.TestCase):
|
||
|
|
if sys.platform == 'darwin':
|
||
|
|
import sysconfig
|
||
|
|
dt = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET') or '10.0'
|
||
|
|
- if float(dt) < 10.6:
|
||
|
|
+ if tuple(int(n) for n in dt.split('.')[0:2]) < (10, 6):
|
||
|
|
raise unittest.SkipTest("getgroups(2) is broken prior to 10.6")
|
||
|
|
|
||
|
|
# 'id -G' and 'os.getgroups()' should return the same
|
||
|
|
Index: Mac/BuildScript/build-installer.py
|
||
|
|
===================================================================
|
||
|
|
--- Mac/BuildScript/build-installer.py.orig
|
||
|
|
+++ Mac/BuildScript/build-installer.py
|
||
|
|
@@ -148,17 +148,19 @@ SRCDIR = os.path.dirname(
|
||
|
|
# $MACOSX_DEPLOYMENT_TARGET -> minimum OS X level
|
||
|
|
DEPTARGET = '10.3'
|
||
|
|
|
||
|
|
-target_cc_map = {
|
||
|
|
+def getDeptargetTuple():
|
||
|
|
+ return tuple([int(n) for n in DEPTARGET.split('.')[0:2]])
|
||
|
|
+
|
||
|
|
+def getTargetCompilers():
|
||
|
|
+ target_cc_map = {
|
||
|
|
'10.3': ('gcc-4.0', 'g++-4.0'),
|
||
|
|
'10.4': ('gcc-4.0', 'g++-4.0'),
|
||
|
|
'10.5': ('gcc-4.2', 'g++-4.2'),
|
||
|
|
'10.6': ('gcc-4.2', 'g++-4.2'),
|
||
|
|
- '10.7': ('clang', 'clang++'),
|
||
|
|
- '10.8': ('clang', 'clang++'),
|
||
|
|
- '10.9': ('clang', 'clang++'),
|
||
|
|
-}
|
||
|
|
+ }
|
||
|
|
+ return target_cc_map.get(DEPTARGET, ('clang', 'clang++') )
|
||
|
|
|
||
|
|
-CC, CXX = target_cc_map[DEPTARGET]
|
||
|
|
+CC, CXX = getTargetCompilers()
|
||
|
|
|
||
|
|
PYTHON_3 = getVersionTuple() >= (3, 0)
|
||
|
|
|
||
|
|
@@ -191,9 +193,9 @@ EXPECTED_SHARED_LIBS = {}
|
||
|
|
def library_recipes():
|
||
|
|
result = []
|
||
|
|
|
||
|
|
- LT_10_5 = bool(DEPTARGET < '10.5')
|
||
|
|
+ LT_10_5 = bool(getDeptargetTuple() < (10, 5))
|
||
|
|
|
||
|
|
- if (DEPTARGET > '10.5') and (getVersionTuple() >= (3, 4)):
|
||
|
|
+ if (getDeptargetTuple() > (10, 5)) and (getVersionTuple() >= (3, 4)):
|
||
|
|
result.extend([
|
||
|
|
dict(
|
||
|
|
name="Tcl 8.5.15",
|
||
|
|
@@ -301,7 +303,7 @@ def library_recipes():
|
||
|
|
),
|
||
|
|
])
|
||
|
|
|
||
|
|
- if DEPTARGET < '10.5':
|
||
|
|
+ if getDeptargetTuple() < (10, 5):
|
||
|
|
result.extend([
|
||
|
|
dict(
|
||
|
|
name="Bzip2 1.0.6",
|
||
|
|
@@ -436,7 +438,7 @@ def pkg_recipes():
|
||
|
|
),
|
||
|
|
]
|
||
|
|
|
||
|
|
- if DEPTARGET < '10.4' and not PYTHON_3:
|
||
|
|
+ if getDeptargetTuple() < (10, 4) and not PYTHON_3:
|
||
|
|
result.append(
|
||
|
|
dict(
|
||
|
|
name="PythonSystemFixes",
|
||
|
|
@@ -666,7 +668,7 @@ def parseOptions(args=None):
|
||
|
|
SDKPATH=os.path.abspath(SDKPATH)
|
||
|
|
DEPSRC=os.path.abspath(DEPSRC)
|
||
|
|
|
||
|
|
- CC, CXX=target_cc_map[DEPTARGET]
|
||
|
|
+ CC, CXX = getTargetCompilers()
|
||
|
|
|
||
|
|
print("Settings:")
|
||
|
|
print(" * Source directory:", SRCDIR)
|
||
|
|
Index: setup.py
|
||
|
|
===================================================================
|
||
|
|
--- setup.py.orig
|
||
|
|
+++ setup.py
|
||
|
|
@@ -687,7 +687,9 @@ class PyBuildExt(build_ext):
|
||
|
|
if host_platform == 'darwin':
|
||
|
|
os_release = int(os.uname()[2].split('.')[0])
|
||
|
|
dep_target = sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET')
|
||
|
|
- if dep_target and dep_target.split('.') < ['10', '5']:
|
||
|
|
+ if (dep_target and
|
||
|
|
+ (tuple(int(n) for n in dep_target.split('.')[0:2])
|
||
|
|
+ < (10, 5) ) ):
|
||
|
|
os_release = 8
|
||
|
|
if os_release < 9:
|
||
|
|
# MacOSX 10.4 has a broken readline. Don't try to build
|