Skip to content

Commit

Permalink
Take out android for now
Browse files Browse the repository at this point in the history
  • Loading branch information
mara004 committed Feb 3, 2025
1 parent 28ef5b3 commit 6d04fac
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
3 changes: 2 additions & 1 deletion docs/devel/changelog_staging.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,9 @@
- Simplified version classes (no API change expected).

*Platforms*
- Experimental Android support added (cf. PEP 738). We are now packaging `android_21_arm64_v8a` wheels. Other Android targets (`armeabi_v7a`, `x86_64`, `x86`) are handled in setup as well and should implicitly download the right binaries, but we don't currently build wheels for these, due to lower relevance (`x86_64` and `x86` are emulators, i.e. only relevant to developers), and `armeabi_v7a`, `x86` not being officially supported by Python. Note, this is provided on a best effort basis, and largely untested (only arm64 Termux prior to PEP 738 has been tested on the author's phone). Please report success or failure.
- Experimental Android support added (cf. PEP 738). `arm64_v8a`, `armeabi_v7a`, `x86_64`, `x86` are are now handled in setup and should implicitly download the right binaries. We do not publish any android wheels at this time (for one thing, PyPI/warehouse does not support them yet). However, we might want to package `arm64_v8a` (and maybe `armeabi_v7a`) wheels in the future. Note, android support is provided on a best effort basis, and largely untested (only arm64 Termux prior to PEP 738 has been tested on the author's phone). Please report success or failure.
- Experimental iOS support added as well (cf. PEP 730). `arm64` device and simulator, and `x86_64` simulator are now handled and should implicitly download the right binaries. However, this is untested and may not be enough to get all the way through. In particular, the PEP hints that the binary needs to be moved to a Frameworks location, in which case you'd also need to change the library search path. No iOS wheels will be provided at this time. However, if there are testers and an actual demand, iOS arm64 wheels may be enabled in the future.
- *Note, we have no intent to package wheels for the simulators (`andoird x86_64/x86`, `ios arm64_simu/x86_64`), as they are only relevant to developers, and installing from source with implicit binary download should be roughly equialvent.*

*Setup*
- Avoid needlessly calling `_get_libc_ver()`. Instead, call it only on Linux. A negative side effect of calling this unconditionally is that, on non-Linux platforms, an empty string may be returned, in which case the musllinux handler would be reached, which uses non-public API and isn't meant to be called on other platforms (though it seems to have passed).
Expand Down
2 changes: 1 addition & 1 deletion setupsrc/pypdfium2_setup/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ class PlatNames:
PlatNames.linux_musl_x64: "linux-musl-x64",
PlatNames.linux_musl_x86: "linux-musl-x86",
PlatNames.linux_musl_arm64: "linux-musl-arm64",
PlatNames.android_arm64: "android-arm64",
}

# Capture the platforms we build wheels for
Expand All @@ -121,6 +120,7 @@ class PlatNames:
# for PLAT in ${PLATFORMS[@]}; do echo $PLAT; ./run emplace $PLAT; PDFIUM_PLATFORM=$PLAT python3 -m build -wxn; done
PdfiumBinariesMap.update({
PlatNames.darwin_universal: "mac-univ",
PlatNames.android_arm64: "android-arm64",
PlatNames.android_arm32: "android-arm",
PlatNames.android_x64: "android-x64",
PlatNames.android_x86: "android-x86",
Expand Down

0 comments on commit 6d04fac

Please sign in to comment.