Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable Manylinux wheel builds #1057

Merged
merged 55 commits into from
Jun 24, 2020
Merged

Enable Manylinux wheel builds #1057

merged 55 commits into from
Jun 24, 2020

Conversation

sc1f
Copy link
Contributor

@sc1f sc1f commented May 21, 2020

This PR makes Perspective's linux wheels fully Manylinux2010 and Manylinux2014 compatible, adds wheel build tasks for MacOS 10.14 (Mojave) and MacOS 10.15 (Catalina), as well as ensures passage of the conda-forge Mac build.

Changelog

  • Edits dockerfiles to include PyArrow from source, as well as force an install of auditwheel
  • Fixes CMakeLists to allow full Manylinux builds to pass due to a difference between PYTHON_INCLUDE_DIRS and Python_INCLUDE_DIRS.
  • Runs auditwheel show and auditwheel repair whenever Linux wheels are built, which ensures that all wheels are fully portable and compliant to the Manylinux PEPs.
  • Adds a Python 2 wheel task for Manylinux2010
  • Adds Azure pipelines tasks for MacOS wheel builds similar to Manylinux builds
  • Adds a MacOS 10.15 Azure pipeline
  • Removes CLOCK_MONOTONIC from compat_impl_osx, which is breaking builds on conda-forge. This is due to clock_gettime and CLOCK_MONOTONIC not being implemented in MacOS until 10.12. Because the method that calls clock_gettime is not used anywhere in the compiled code, I commented out the original implementation and forced the offending method to return a 0.

@sc1f sc1f added enhancement Feature requests or improvements internal Internal refactoring and code quality improvement C++ Python labels May 21, 2020
@sc1f sc1f requested review from texodus and timkpaine May 21, 2020 21:22
@sc1f sc1f self-assigned this May 21, 2020
cpp/perspective/CMakeLists.txt Outdated Show resolved Hide resolved
@texodus texodus mentioned this pull request May 27, 2020
@timkpaine
Copy link
Member

timkpaine commented Jun 9, 2020

updates:

  • filter down the number of required builds for non-release builds
  • remove "official"
  • default to manylinux2010
  • consolidate all python versions into 2 docker images, manylinux2010 and manylinux2014

@wesm
Copy link

wesm commented Jun 19, 2020

Do you all plan to get yourselves synced up with pyarrow mainline?

@sc1f sc1f force-pushed the reinvent-wheel branch 2 times, most recently from 26a60cd to 4e285cb Compare June 23, 2020 01:20
sc1f added 3 commits June 23, 2020 11:52
is_libpsp defaults to true

print

try catch islibpsp

write test script

go from wheelhouse only on py3

dist and build from wheelhouse
@sc1f sc1f force-pushed the reinvent-wheel branch from 1d59f17 to aeb777f Compare June 23, 2020 17:10
@sc1f
Copy link
Contributor Author

sc1f commented Jun 23, 2020

@texodus this should be good to go

@sc1f
Copy link
Contributor Author

sc1f commented Jun 23, 2020

@wesm the custom arrow build we have for Emscripten might take a little fixing, but it shouldn't be too hard to get Perspective on 0.17 in the near future

Copy link
Member

@texodus texodus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Reviewed copiously offline.

@texodus texodus merged commit f5ff8b1 into master Jun 24, 2020
@texodus texodus deleted the reinvent-wheel branch June 24, 2020 02:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++ enhancement Feature requests or improvements internal Internal refactoring and code quality improvement Python
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants