Commit Graph

1636 Commits

Author SHA1 Message Date
rdb b53895aa3d Merge branch 'release/1.10.x' 2022-01-01 18:18:46 +01:00
rdb ce0d020cfd makepanda: Add handling for Windows 11 SDK 2021-12-31 13:10:20 +01:00
Stephen A. Imhoff a723567a3a Add manylinux_2_24 for building 2021-12-30 21:59:08 +00:00
rdb 9598065641 Merge branch 'release/1.10.x' 2021-12-26 14:13:23 +01:00
rdb 987f2f036b makepanda: Fix clang crash on macOS when compiling Objective-C++ code 2021-12-26 12:30:00 +01:00
Stephen A. Imhoff c2635d2498 makepanda: Add rpmversion for packaging.
Closes #1220
2021-12-26 12:30:00 +01:00
rdb 2fcacd1bab makepanda: Replace references to deprecated distutils module
distutils is deprecated as of Python 3.10 (see PEP 632) and will be removed in Python 3.12.
2021-12-25 11:51:28 +01:00
rdb fc625eec11 Merge branch 'release/1.10.x' into incoming 2021-12-12 22:54:15 +01:00
rdb 2766bca974 makepanda: Add macOS 11.3 SDK 2021-12-12 22:47:07 +01:00
Daniel afadb556a2 maya: Add support for Maya 2022
Closes #1213
2021-12-12 22:20:21 +01:00
Daniel 6acb94f451 makepanda: Support Visual Studio 2022
Closes #1214
2021-12-12 22:18:47 +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 834bc2298f makepanda: Fix compiler error building for x86(_64) on Android 2021-12-09 15:34:36 +01:00
rdb c7cccd4791 makepanda: Fix compiling for older NDKs with armv7a 2021-12-08 14:46:42 +01:00
rdb 59ef701298 makepanda: Add back accidentally removed libc++_shared.so on Android 2021-12-07 23:03:37 +01:00
rdb 44e10d10a0 Support deploying Python apps for Android using bdist_apps 2021-12-07 21:00:08 +01:00
rdb 954bc75314 makepanda: Don't use SOABI from config vars when cross-compiling
[skip ci]
2021-12-06 22:34:01 +01:00
rdb d473c794d9 makepanda: Use llvm-strip on Android instead of strip 2021-12-06 22:29:30 +01:00
rdb 9230af94a3 makepanda: Replace dx with d8 for building Dalvik executable (Android)
Also, do it in makepanda instead of in makepackage
2021-12-06 22:28:42 +01:00
rdb 798fa90513 makepanda: Fix missing OpenSLES link on Android 2021-12-06 22:27:32 +01:00
rdb c594ab38ef Support building pandagles2 on Android 2021-12-06 22:26:56 +01:00
rdb 0122c07e10 makepanda: Add pandagles2 to Config.prc, fall back if pandagl not built 2021-12-06 22:25:28 +01:00
rdb d9e335e978 makepanda: Updates for Android compilation with latest NDK
[skip ci]
2021-12-05 17:13:04 +01:00
rdb a99a1ed991 makepanda: Android build fixes 2021-12-05 00:00:52 +01:00
rdb cdadd00e72 makepanda: Optimize WriteEmbeddedStringFile function
This function took ages with a debug build of Python
2021-12-04 21:57:55 +01:00
rdb 5de31c6293 Merge branch 'release/1.10.x' 2021-12-04 21:57:35 +01:00
rdb 420d1cee61 makepanda: Fix unclosed file handles 2021-12-04 20:43:07 +01:00
rdb 985ec3061c makepanda: Fix deprecated spelling for threading API
The new spelling is available since Python 2.6, so there is no chance of breakage here.
2021-12-04 20:37:14 +01:00
rdb b42fd4ee4f makepanda: Don't copy over old Python 2-only Pmw versions 2021-11-29 14:50:01 +01:00
rdb 78fb565f2b Merge branch 'release/1.10.x' 2021-11-28 16:14:18 +01:00
rdb 13db762a33 makepanda: Add missing version of Windows 10 SDK 2021-11-28 13:56:21 +01:00
rdb 0bc0709b72 Merge branch 'release/1.10.x' 2021-11-02 15:20:41 +01:00
rdb c1888ba437 makepackage: Add Python 3.11 to installer.nsi 2021-11-02 15:01:42 +01:00
rdb c293ad3da2 Merge branch 'release/1.10.x' 2021-08-03 20:19:15 +02:00
rdb d545dbd6eb test_wheel: Fix for Python 3.4
[skip ci]
2021-08-03 18:22:30 +02:00
rdb 55fb14b792 Merge branch 'release/1.10.x' 2021-05-11 12:21:24 +02:00
rdb 9410418840 pnmimagetypes: Changes to support compilation with OpenEXR 3.0.1 2021-05-11 11:38:40 +02:00
rdb dd3510eea7 Merge branch 'release/1.10.x' 2021-04-08 12:30:35 +02:00
rdb 7be4b7c3bb device: Support evdev gamepads on FreeBSD 2021-04-05 17:14:30 +02:00
rdb 8accdf1136 makewheel: Fix Python 2.7 build on macOS 2021-03-25 10:33:04 +01:00
rdb eb6eb9f1dd Merge branch 'release/1.10.x' 2021-03-24 13:58:00 +01:00
rdb 1fb8480585 Exclude GLVND from built distributions 2021-03-24 11:56:24 +01:00
rdb 94806801e3 Add p3headlessgl render plug-in on Linux using EGL as fallback for GLX
Fixes #1086
2021-03-23 15:04:20 +01:00
rdb 0e36a99574 Merge branch 'release/1.10.x' 2021-03-22 15:45:45 +01:00
rdb 1654860f36 makepanda: Rename aarch64 thirdparty dir to arm64 for consistency 2021-03-21 15:50:00 +01:00
rdb 2531f09024 makepanda: Don't enable X11 on Android 2021-03-21 14:55:46 +01:00
rdb 915e079596 makewheel: Make sure everything has an ad-hoc code signature
Fixes #927
2021-03-13 16:51:59 +01:00
rdb b817e19ab6 Merge branch 'release/1.10.x' 2021-03-13 16:50:12 +01:00
rdb 13a764c91e makewheel: Don't run codesign --remove-signature on files without signature
See #927
2021-03-13 13:09:46 +01:00
rdb 576c25b3ea makewheel: Re-sign arm64 macOS binaries after removing signature
Fixes #1123
2021-03-08 11:27:38 +01:00
rdb ada74e3b0c Merge branch 'release/1.10.x' 2021-02-24 18:10:15 +01:00
rdb 57f7d04231 makepanda: Don't set HAVE_GLX in dtool_config.h
It's only used for disambiguation in pandagl.cxx, we don't need to expose this, and it should be possible to build pandagl.cxx without GLX
2021-02-24 17:34:56 +01:00
rdb 3955c71435 makepackage: skip message boxes if running NSIS installer in silent mode
Fixes #1088
2021-02-24 16:17:28 +01:00
rdb d4830f40f0 makepanda: Fix strftime error using SOURCE_DATE_EPOCH on Windows
Seems to occur when using Python 2.7
2021-02-24 15:51:45 +01:00
rdb f84111a693 makepanda: Don't disable Cg/FMODEx on macOS without arch flags
Fixes #1119
2021-02-24 09:46:53 +01:00
rdb fb9b334d58 Merge branch 'release/1.10.x' 2021-02-17 10:57:30 +01:00
rdb 059361c87c makepanda: Locate aarch64 thirdparty packages on Linux/FreeBSD
[skip ci]
2021-02-16 11:49:53 +01:00
rdb 2edf619247 makepanda: Fix building without bison
New prebuilt parser.yxx.cxx does an #include of parser.yxx.h
2021-02-15 11:11:20 +01:00
rdb e8b4b6476c Merge branch 'release/1.10.x' 2021-02-07 15:01:36 +01:00
rdb 28615c6a9e interval: Support awaiting CInterval from coroutines
This is a partial implementation of #909 - it is somewhat inefficient (not suspending the task using a future) and does not implement cancellation.  A more complete implementation may follow in 1.11.0.
2021-02-07 12:40:58 +01:00
rdb 613441060b Merge branch 'release/1.10.x' 2021-01-18 23:47:36 +01:00
rdb f902eb7990 makepanda: Revert use of f-strings for now
This causes a syntax error for unsupported Python versions, which prevents display of the error message that tells people they are using a too-old Python version
2021-01-18 17:16:53 +01:00
rdb 54638bfc10 dtoolutil: Allow overriding PandaSystem::get_build_date()
This is useful to create bit-for-bit reproducible builds.  In the buildbots, we set it to the timestamp of the latest commit.
2021-01-18 16:41:22 +01:00
rdb 1f106a0a2a makewheel: Support deterministic wheel creation via SOURCE_DATE_EPOCH
Setting SOURCE_DATE_EPOCH to a UNIX timestamp will clamp all dates to that, which enables bit-for-bit recreation of wheel files (assuming the sources are also bit-for-bit identical).  Furthermore, files are sorted when added, to avoid filesystem indeterminism.
2021-01-18 00:19:56 +01:00
rdb 8924b77da4 egldisplay: Backport changes for creating headless EGL contexts
Backport of fbc4947455 and 9f1289b492

See #557
2021-01-17 16:46:57 +01:00
rdb 91380e8718 egg: Make egg parser and lexer reentrant
This avoids the need for the global mutex lock and allows two egg files to be read simultaneously.

Error reporting has also been improved by specifically pinpointing the offending token when an error occurs.
2021-01-02 20:11:10 +01:00
rdb ce235c3e60 Merge branch 'release/1.10.x' 2021-01-02 19:59:33 +01:00
rdb 6690b2d86e makepanda: Fix build error when flex is absent 2021-01-02 19:29:56 +01:00
rdb fd2041d209 makepanda: Fix detecting flex version on macOS, more robust checking 2021-01-02 18:50:23 +01:00
rdb 748dd61615 makepanda: Require flex 2.5.9 for building egg lexer
Otherwise, fall back to prebuilt file instead
2021-01-02 12:55:34 +01:00
rdb e099d9e787 Merge branch 'release/1.10.x' 2021-01-02 02:33:35 +01:00
rdb c77593f3f0 egg: add pickle support to most EggData classes 2021-01-01 17:06:23 +01:00
rdb 8852c835fc collide: Support pickling for CollisionTraverser, HandlerEvent+Queue
Fixes #1090
2020-12-31 16:57:34 +01:00
rdb 2b84bfc145 makepanda: Code formatting 2020-12-31 13:44:13 +01:00
rdb ae7eae10c5 makepanda: Remove old and obsolete gendocs scripts 2020-12-31 12:24:27 +01:00
rdb e8f8604c08 makepanda: Remove hack preventing models from being built in parallel 2020-12-29 18:47:39 +01:00
rdb 1db3bb4ee6 dmodels: Delete dmodels tree, merge into models folder instead
Also eliminates need for flt2egg at build time

Fixes #1075
2020-12-29 18:40:49 +01:00
Daniel 74a4648965 mayaprogs: Completely refactor the maya2egg server
The maya2egg_server utility is no longer a separate utility. To run the maya2egg_server (now Maya conversion server), use `maya2egg -server` or `egg2maya -server`.

Two new utilities have been added: `maya2egg_client` and `egg2maya_client`. Both of them are Maya version independent, and do not rely on any Maya libraries. However, they're only built with SDKs that already come with the Maya binaries, as the server makes its own assumptions about the current working directory (the client and the server are expected to be on the same machine.)

A new feature has been added to ProgramBase: an `exit_on_complete` flag, which allows you to parse the command line without exiting the program upon a failure or a help command.

In addition to this, a getopt bug has been fixed in ProgramBase: It is now possible to clear the state of the Panda implementation of getopt, making it possible once again to parse command line arguments twice in a row.

Closes #1025
2020-12-29 16:16:36 +01:00
rdb fff0a67189 makepanda: better support building with FMOD Ex on macOS for now
This means preferring the 10.13 SDK except when targeting arm64 (in which case FMOD Ex is disabled with a warning).
2020-12-28 18:52:02 +01:00
rdb a3010a43a5 Merge branch 'release/1.10.x' 2020-12-24 15:31:52 +01:00
rdb 4a62cc13be makewheel: Set --force-rpath when calling patchelf
This is necessary to avoid the creation of a DT_RUNPATH instead of DT_RPATH.  DT_RUNPATH does not have the desired behaviour.
2020-12-24 13:22:00 +01:00
rdb 5c98c6fb71 makepanda: accept arm64 as alias for aarch64 when building for Android 2020-12-24 13:21:35 +01:00
rdb 131ae98bfd Merge branch 'release/1.10.x' 2020-12-22 16:45:24 +01:00
rdb 8f9ca34eec makepackage: Don't write Sample Programs to start menu in Win 8/10
The start menu in newer versions of Windows doesn't show any hierarchy, making this utterly unreadable and useless.
2020-12-22 16:21:55 +01:00
rdb 78e23c018c makepackage: Update links to manual in Windows installer for Sphinx 2020-12-22 16:10:08 +01:00
rdb 401d7d0f92 makepackage: Fix error in installer.nsi 2020-12-22 16:09:51 +01:00
rdb 880c59eb19 makepackage: Don't install Python 3.9/3.10 buildings on Vista/Win7
These versions of Python require Windows 8.1.
2020-12-22 12:41:28 +01:00
rdb 8f43048c4f makepackage: Support installing Python 3.10 bindings in Windows installer 2020-12-22 12:37:06 +01:00
rdb f4fa444013 Merge branch 'release/1.10.x' 2020-12-22 00:37:50 +01:00
rdb eea0abe488 makepackage: Only copy Frameworks dir if present and not empty
This directory may now be vestigial as of the previous commit.

[skip ci]
2020-12-21 22:16:36 +01:00
rdb 5cd6469fd8 makepanda: Don't make built/Frameworks directory unless needed
It is no longer needed if we don't ship Cg as a framework, see #1079

[skip ci]
2020-12-21 22:10:53 +01:00
rdb fa04d77b57 makepanda: Replace use of deleted GetThirdpartyLibDir function
This caused a build error due to a faulty auto-merge.
2020-12-20 01:11:46 +01:00
rdb dee8df9427 Merge branch 'release/1.10.x' 2020-12-20 01:02:08 +01:00
rdb c4376b4f41 makepanda: Disable Maya builds for ARM64 on macOS 2020-12-20 00:32:20 +01:00
rdb 2d65738a18 makepanda: Respect lib-10.6 dir when copying dylibs/running install_name_tool
In the 1.10.8 thirdparty packages, OpenCV is split into a lib folder and a lib-10.6 folder, so we should use the proper dylibs to still be able to target 10.6
2020-12-19 14:10:51 +01:00
rdb 1a5fd04499 pzip: use Python zlib module to perform pzip step
This is more useful when cross-compiling, not requiring a functional pzip binary on the host.
2020-12-19 02:00:59 +01:00
rdb f5e7b0a439 makepanda: prefer more recent macOS SDKs over older ones
See Apple's recommendations:
https://developer.apple.com/library/archive/qa/qa1806/_index.html

We may still be limited to the 10.13 SDK to be able to build FMOD Ex.
2020-12-19 00:13:19 +01:00
rdb 8231bc12bf makepanda: remove --osxtarget option
We can target 10.9 (the minimum supported) even with the 11.1 SDK, so we should just check for whichever SDK is available, and always target 10.9 (or 11.0 when building for arm64 only, since arm64 requires 11.0 to begin with).

This also means that --universal will always add both x86_64 and arm64 to the build.
2020-12-18 13:11:35 +01:00
rdb a5ae292c3e Merge branch 'release/1.10.x' 2020-12-18 12:56:31 +01:00
rdb 9544911127 makepanda: fix error building with --universal flag
[skip ci]
2020-12-18 12:54:35 +01:00