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

Add support for PEP 730 iOS tags. #832

Merged
merged 10 commits into from
Oct 2, 2024
Merged

Conversation

freakboy3742
Copy link
Contributor

@freakboy3742 freakboy3742 commented Sep 11, 2024

PEP 730 adds support for iOS as a supported platform. This PR adds support for determining the platform tags compatible with the current iOS installation.

iOS version support is similar to macOS; if the current platform specifies a version of X.Y, any wheel tagged with a binary version <= X.Y should be compatible. This PR uses 12.0 as the minimum possible iOS version tag to check, as that is the oldest version that is known to have sufficient features to run CPython.

It will check every possible minor version X.0 - X.9; this does result in iOS minor versions that don't exist (e.g., there was no version 12.6-12.9). Having only legal versions would require constant updating of the source; having an extra few tags should only a represent a minor overhead when evaluating candidate wheels, and there's never been an iOS version with a minor > 8 (14.8 and 15.8).

freakboy3742 added a commit to freakboy3742/pip that referenced this pull request Sep 11, 2024
@brettcannon brettcannon self-assigned this Sep 26, 2024
Copy link
Member

@brettcannon brettcannon left a comment

Choose a reason for hiding this comment

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

Generally looks good, but the tag order looks inverted.

src/packaging/tags.py Outdated Show resolved Hide resolved
src/packaging/tags.py Outdated Show resolved Hide resolved
@brettcannon brettcannon enabled auto-merge (squash) October 2, 2024 21:53
@brettcannon brettcannon merged commit eefade3 into pypa:main Oct 2, 2024
31 checks passed
@freakboy3742 freakboy3742 deleted the ios-support branch October 2, 2024 22:14
clrpackages pushed a commit to clearlinux-pkgs/pypi-pip that referenced this pull request Nov 5, 2024
…4.3.1

Anton Zelenov (1):
      Build should not use global target directory when running from install

Damian Shaw (41):
      Update ruff, fix E721
      NEWS ENTRY
      Create test specific `ruff.toml` that extends ruff linting rules
      Remove IRC link from issue creation
      NEWS ENTRY
      Run All checks passed! + manual addition of spaces
      Run `ruff check . --select PT007 --fix --unsafe-fixes`
      Run `ruff check . --select PT001 --fix`
      Run `ruff check . --select PT018 --fix` + Manual fixes of asserts with messages
      Manual fixes of PT018
      Manual fixes of PT015
      Run `ruff check . --select PT022 --fix` + manual fix of return type
      Run `ruff check . --select PT003,PT001 --fix --unsafe-fixes`
      Manuall fix PT017
      Manually fix PT013
      Manually fix PT012
      Fix formatting and misc linting
      Fix test_pep517_parsing_checks_requirements
      Simplify `test_install_distribution_duplicate_extras`
      NEWS ENTRY
      Depricate '_' in version of wheel filename
      Test deprecation warning
      NEWS ENTRY
      Update non PEP 440 wheel filename deprecation notice
      NEWS ENTRY
      Diagnostic error on pip uninstall of invalid package
      Formatting
      Update message
      NEWS ENTRY.
      New ruff config
      Run `ruff check . --fix --select I`
      NEWS ENTRY
      Also handle `InvalidVersion`
      Break up different exceptions and report specific error
      Clean up PEP 440 wheel filename deprecation language
      NEWS ENTRY
      Fix linting
      Remove InvalidVersion exception catch
      NEWS ENTRY
      Simplify hint message in invalid install error
      Fix formatting

Dimitri Papadopoulos Orfanos (1):
      Enforce ruff/pyupgrade rules (UP) (#12936)

Hugo van Kemenade (2):
      Replace deprecated macos-12 with macos-13
      Don't test 3.12 on Windows now 3.13 is final

Illia Volochii (1):
      Upgrade urllib3 to 1.26.20

Kuntal Majumder (8):
      Detect recursively referencing requirements files
      Add a unit test to test the absolute path change
      Use platform independent regex
      Escape Windows path forward slashes in regex
      Remove inconsistent test and fix filename write
      Use RequirementsFileParserError instead of RecursionError
      Use re.escape for windows paths
      Remove redundant .keys() call

Matthew Hughes (1):
      Pin `towncrier` in docs requirements

Pradyun Gedam (1):
      Bump for development

Richard Si (4):
      Trigger test suite on bugfix releases by checking NEWS.rst
      Update docs to reflect 3.13's inclusion in CI
      Upgrade distlib to 0.3.9
      Upgrade certifi to 2024.8.30

Russell Keith-Magee (13):
      Add compatibility tag handling for iOS.
      Add patch from pypa/packaging#832.
      Add changenote.
      Correct linting issue.
      Add patch file for packaging.
      Correct usage of invalid File URL in test.
      Correct usage of invalid file URL in test.
      Add changenote.
      Ensure iOS platform tags are correctly normalized.
      Add patch to distlib to disable simple shebangs on cross compiles.
      Correct pre-commit issue.
      Update packaging patch to reflect changes from code review.
      Minor tweak to packaging patch.

Seth Michael Larson (2):
      Upgrade truststore to 0.9.2
      Upgrade vendored truststore to 0.10.0

Srishti Hegde (1):
      Upgrade urllib3 to 1.26.19

Stéphane Bidoul (6):
      Postpone removal of #12330
      Update AUTHORS.txt
      Bump for release
      Bump for development
      Don't fail when the same req file is included more than once
      Bump for release

Tzu-ping Chung (2):
      Add missing period
      Also change the comment

hauntsaninja (1):
      Upgrade to mypy 1.12.1

mayeut (3):
      CI: Test on macOS arm64
      Add a comment for virtualenv
      Remove cffi workaround in tests requirements

shenxianpeng (2):
      Update classifier to support Python 3.13
      add news file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants