Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • pypy pypy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 697
    • Issues 697
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 16
    • Merge requests 16
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PyPyPyPy
  • pypypypy
  • Merge requests
  • !571

Support for embedding PyPy3 dependencies — and getting certificate roots on OS X

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Bitbucket Importer requested to merge bitbucket/merged-pr-571 into branch/py3.5 Oct 07, 2017
  • Overview 8
  • Commits 8
  • Pipelines 0
  • Changes 6

Created originally on Bitbucket by danchr (Dan Villiom Podlaski Christiansen)

Was already merged in Bitbucket before import, marked as merged by the import user

This is an experimental branch for allowing the Mac builders to build PyPy3. Essentially, it requires more dependencies that PyPy2, and doesn't work with the old version of OpenSSL available with OS X.

I've attempted to address this by adding support to package.py for fetching, building and embedding dependencies. SSL is slightly more complicated than the others however, as the OpenSSL that Apple bundled contained a patch to use the OS X certificate roots.

I tried porting the patch directly to LibreSSL, but the necessary headers aren't publicly available so I couldn't build it. Instead, I wrote something similar using public APIs that Should Work™ but isn't terribly well-tested. The alternatives are either bundling a full install of LibreSSL or shipping without any root certificates.

I've made downloading dependencies the default on OS X when using package.py, but not elsewhere. The setting is easily disabled.

Is this approach interesting?

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: bitbucket/merged-pr-571