Commit Graph

71 Commits

Author SHA1 Message Date
rdb 0e41b62743 Merge branch 'release/1.10.x' 2025-12-22 16:12:54 +01:00
rdb f4ee950355 deploy-stub: Fix missing time.h include 2025-12-01 14:46:40 +01:00
rdb 7c7f09241d android: Robustify blob mapping 2025-11-10 00:09:26 +01:00
rdb 72fc5e1f1b android: Remove unused include 2025-11-09 23:31:51 +01:00
rdb 382078cdaf android: Fix strange compilation error on 32-bit Android 2025-11-09 23:25:18 +01:00
rdb 325727ef2f deploy-stub: Add flag for enabling verbose mode in Python 2025-11-09 23:21:49 +01:00
rdb e809c9eb92 android: Complete support for android:extractNativeLibs=false
This is the non-legacy way to ship native libraries nowadays, leaving them in the .apk so that there doesn't need to be an extraction step and the app takes up less space.
2025-11-09 21:58:08 +01:00
rdb 3d1b897c31 android: Work on supporting extractNativeLibs:false, separate blob
The blob is now stored in a raw resource, so no longer duplicated between each architecture

Setting extractNativeLibs:false doesn't yet work, the remaining step is somehow getting Python to load extension modules that are still part of the apk
2025-11-09 18:02:10 +01:00
rdb 418d041252 pipeline: Fixes for fragile TLS implementation on Android 2025-11-04 23:50:05 +01:00
rdb a40e8f9fb0 android: Fix incorrect usage of ALooper_pollOnce 2025-11-04 22:05:51 +01:00
rdb 73c6759984 android: Exit process after activity shutdown
Hack to help with #1216 a bit

Unfortunately this causes the activity to reopen sometimes, but maybe this can serve as a stopgap for now
2024-11-27 16:26:59 +01:00
rdb d6acaaffb0 dist: Android fixes, esp. for Python 3.13
This changes the use of sys.executable to sys.platlibdir, which requires Python 3.9+ (but that's probably okay since Python 3.8 is EOL)

Python 3.13 has proper official Android support, including built-in stdout/stderr redirection, but it only does so if sys.executable is not set
2024-11-27 00:21:11 +01:00
rdb c31041c8cc android: Fix assorted errors and deprecations 2024-11-26 16:42:02 +01:00
rdb b32459ffa1 Merge branch 'release/1.10.x' 2024-09-19 15:51:25 +02:00
rdb cdafd81764 Fix compilation issues with Python 3.13 2024-09-19 15:47:50 +02:00
rdb af27a9523c Merge branch 'release/1.10.x' 2024-03-12 15:39:16 +01:00
rdb 73360393df Switch use of Py_INCREF to new Py_NewRef function
This is more idiomatic, simplifies the code, makes it easier to port to eg. HPy later on, and makes it easier to use the limited ABI (where it can be optimized to a tail call) later on

A polyfill is provided for compatibility with Python versions 3.8 and 3.9
2024-01-29 17:57:53 +01:00
rdb b49dbaca2b Report errors if calls to `close()` fail 2024-01-25 12:33:20 +01:00
Disyer af4a1bc7a9 python: Use public PyErr_Occurred API instead of private macro
The _PyErr_OCCURRED macro was removed in Python 3.10, so we shouldn't keep any compat code left around for it
2023-02-12 02:36:57 +02:00
rdb b282e8920d Merge branch 'release/1.10.x' 2023-01-13 22:32:35 +01:00
rdb 2e42400700 deploy-stub: Fix crash when running in Python 3.11
Fixes #1423
2023-01-09 13:19:09 +01:00
rdb f258442b77 CMake: Fix compile error due to missing `-lm` for deploy-stub 2022-12-12 20:03:30 +01:00
rdb c82f95ad6b Merge branch 'release/1.10.x' 2022-12-06 20:02:35 +01:00
rdb 32ebe11b06 dist: Add an option to retain docstrings in compiled Python code
Fixes #1341
2022-12-06 15:21:39 +01:00
rdb ffbfdb22e0 dist: Add `prefer_discrete_gpu` option to force use of dedicated GPU
Currently only implemented on Windows.

Fixes #680
2022-12-06 15:20:57 +01:00
rdb f243d9983f CMake: Add `--disable-new-dtags` linker option for deploy-stub
This forces the use of DT_RPATH instead of DT_RUNPATH, see #1358 and 8617eb917c
2022-09-02 23:10:37 +02:00
rdb d239f48a43 Merge branch 'release/1.10.x' 2022-08-31 12:51:46 +02:00
rdb 3e220e4fb4 deploy-stub: Set `Py_OptimizeFlag` to 2 for Python 3.2+
This fixes the value of `sys.flags.optimize`, as we always build Python code with `optimize=2` in Python 3.2 and above

In the long run we need a better solution, see #1363

Closes #1359
Fixes #1343
2022-08-31 11:25:35 +02:00
rdb e02a9989fb android: Changes to add compatibility with pyjnius/plyer 2022-03-12 18:18:15 +01:00
rdb b8c301164a dist: Implement more reliable solution for logging stdout/stderr
The previous trick doesn't seem to work on one of my devices.  The disadvantage of the new solution, however, is that it doesn't capture anything until site.py is successfully executed.
2021-12-10 14:56:13 +01:00
rdb 44e10d10a0 Support deploying Python apps for Android using bdist_apps 2021-12-07 21:00:08 +01:00
rdb 64f0414f57 Merge branch 'release/1.10.x' 2021-02-06 19:36:39 +01:00
rdb 926af198a8 deploy-stub: Fix compilation error 2021-02-06 19:14:25 +01:00
rdb 5a4ff7f6c0 Merge branch 'release/1.10.x' 2021-02-06 12:37:54 +01:00
rdb f55cdd8907 dist: Support strftime-style date formatting in log_filename
Fixes #1103
2021-02-06 12:36:14 +01:00
Donny Lawrence 7b83eac943 CMake: Build deploy-stub
Closes #918

Co-authored-by: rdb <git@rdb.name>
2020-12-29 20:45:30 +01:00
rdb b38e9d552a Merge branch 'release/1.10.x' 2020-12-28 16:26:48 +01:00
rdb f2e66a280c deploy-stub: Fix immediate exit on Windows if no log_filename is set 2020-12-28 15:27:56 +01:00
rdb e060a29228 general: Clean up hacks to support Python 3.5 from codebase 2020-10-02 12:07:04 +02:00
rdb 66ac3be604 Merge branch 'release/1.10.x' into master 2020-09-12 23:23:58 +02:00
rdb ce4690b869 deploy-stub: disable PYTHONINSPECT mechanism in +opt builds 2020-09-12 15:10:03 +02:00
rdb e443acd7a0 deploy-stub: Enable line_buffering on Windows when writing to log file
Fixes #947
2020-09-12 15:04:14 +02:00
rdb a94914fd86 deploy-stub: forward compat with Python 4.0 2020-09-12 15:00:41 +02:00
rdb d01c53c2d8 Merge branch 'release/1.10.x' 2020-06-14 13:02:25 +02:00
rdb 2880525c1e deploy-stub: flush output streams before exit
Intended to address #946
2020-06-14 11:07:31 +02:00
Chitresh13 929202bd9b dist: Remove Python 2 code from deployment system
Closes #892

Co-authored-by: rdb <git@rdb.name>
2020-04-26 20:22:11 +02:00
rdb fc71fef27d deploy-stub: chdir to Resources dir in GUI macOS app bundle
This prevents a common error of trying to load non-Panda3D assets without specifying $MAIN_DIR.  We aren't currently making any guarantees about the cwd (which may in fact be / when launching from Finder), so I think this is safe.
2020-03-30 15:54:50 +02:00
rdb 518dece368 deploy-ng: strip -psn_* argument that macOS passes to GUI apps 2019-10-25 10:37:02 +02:00
rdb eda709bbfc deploy-ng: work around Python 2 crash with logging in GUI apps 2019-04-02 01:31:57 +02:00
rdb 2664a24e6a deploy-ng: fix redirecting GUI app output to log in VC2015/UCRT
Fixes #461
2018-12-02 20:23:09 +01:00