diff --git a/ci/build_docs.sh b/ci/build_docs.sh index fbb27286e9566..bf22f0764144c 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -45,7 +45,6 @@ if [ "$DOC" ]; then git add --all . git commit -m "Version" --allow-empty - git remote remove origin git remote add origin "https://${PANDAS_GH_TOKEN}@github.com/pandas-dev/pandas-docs-travis.git" git fetch origin git remote -v diff --git a/doc/source/whatsnew/v0.24.0.rst b/doc/source/whatsnew/v0.24.0.rst index 7960984699baf..d6bda5fde44d9 100644 --- a/doc/source/whatsnew/v0.24.0.rst +++ b/doc/source/whatsnew/v0.24.0.rst @@ -1630,6 +1630,7 @@ Build Changes - Building pandas for development now requires ``cython >= 0.28.2`` (:issue:`21688`) - Testing pandas now requires ``hypothesis>=3.58``. You can find `the Hypothesis docs here `_, and a pandas-specific introduction :ref:`in the contributing guide `. (:issue:`22280`) +- Building pandas on macOS now targets minimum macOS 10.9 if run on macOS 10.9 or above (:issue:`23424`) Other ^^^^^ diff --git a/setup.py b/setup.py index cb52db98905d3..6cd359b281b56 100755 --- a/setup.py +++ b/setup.py @@ -10,6 +10,8 @@ from os.path import join as pjoin import pkg_resources +import platform +from distutils.sysconfig import get_config_var import sys import shutil from distutils.version import LooseVersion @@ -24,6 +26,10 @@ def is_platform_windows(): return sys.platform == 'win32' or sys.platform == 'cygwin' +def is_platform_mac(): + return sys.platform == 'darwin' + + min_numpy_ver = '1.12.0' setuptools_kwargs = { 'install_requires': [ @@ -434,6 +440,19 @@ def get_tag(self): extra_compile_args = ['-Wno-unused-function'] +# For mac, ensure extensions are built for macos 10.9 when compiling on a +# 10.9 system or above, overriding distuitls behaviour which is to target +# the version that python was built for. This may be overridden by setting +# MACOSX_DEPLOYMENT_TARGET before calling setup.py +if is_platform_mac(): + if 'MACOSX_DEPLOYMENT_TARGET' not in os.environ: + current_system = LooseVersion(platform.mac_ver()[0]) + python_target = LooseVersion( + get_config_var('MACOSX_DEPLOYMENT_TARGET')) + if python_target < '10.9' and current_system >= '10.9': + os.environ['MACOSX_DEPLOYMENT_TARGET'] = '10.9' + + # enable coverage by building cython files by setting the environment variable # "PANDAS_CYTHON_COVERAGE" (with a Truthy value) or by running build_ext # with `--with-cython-coverage`enabled