Commit Graph

1379 Commits

Author SHA1 Message Date
rdb f1af6c80ff test_wheel: fix for Python 3.4
[skip ci]
2020-02-22 14:43:52 +01:00
rdb 8ff2064fe5 makepanda: auto-detect manylinux2010 and manylinux2014 platforms 2020-02-22 12:10:55 +01:00
rdb 59608c9079 makepanda: force flex step for dcParser to occur after bison step
This fixes an erratic build failure reported by the Travis GCC builder.
2020-02-10 13:48:38 +01:00
rdb 6f17a9e36a makepanda: disable plug-ins in Config.prc that weren't compiled
This also disables the plug-ins if we are building them statically.
2020-01-22 09:16:02 +01:00
rdb e5b7760b85 makepanda: do not pass -Wl,--exclude-libs on macOS for OpenSSL
Part two of fix for build regression introduced in e78ce78acf (see #851)
2020-01-21 15:29:12 +01:00
rdb 6b5c473b8e makepanda: do not pass -Wl,--exclude-libs on macOS
Fixes build regression introduced in e78ce78acf (see #851)
2020-01-21 15:21:16 +01:00
rdb e78ce78acf makepanda: don't export symbols of linked static libraries
This results in size savings for thirdparty libraries that are only used once, and a size increase for libraries used more than once (eg. OpenSSL).  More importantly, it prevents conflicts with other versions of the libraries loaded by other Python modules, such as the version of OpenSSL that the hmac module uses.

We need to be careful to only apply this for packages that are either used once, used in a plug-in module, or if we don't need to pass thirdparty library structures across Panda library boundaries.  For example, I haven't done this for Bullet, since the Bullet symbols need to be available through libpandabullet.so due to the fact that pandabullet contains calls to the Bullet libraries in the inline methods.

Fixes #851
2020-01-21 14:35:17 +01:00
rdb 8859ad8c1b makepanda: remove explicit OpenSSL link where it is unneeded
These were probably added before makepanda gained the ability to automatically add dependencies of static libraries when linking statically.

They don't really do any harm--the linker will probably optimize these out automatically--but it's cleaner not to add unused dependencies.
2020-01-21 14:07:36 +01:00
rdb 2fd703af6c makepanda: fix using Windows 8.1 SDK (which also requires UCRT) 2020-01-13 15:02:36 +01:00
LD 87a1be4d4e makepackage: Add warning in macOS installer about change of installdir
Closes #830
2020-01-06 16:17:02 +01:00
rdb ca89b7420a Update Python 2.7 EOL warnings to indicate that EOL date is reached
[skip ci]
2020-01-06 00:36:49 +01:00
rdb 8137bea8f8 makepackage: fix regression in MakeInstaller on Windows 2020-01-05 18:52:26 +01:00
rdb b7017669a1 makepackage: fix None installdir when not passing in any on macOS 2020-01-04 14:14:12 +01:00
Donny Lawrence 2d4647ea33 makepackage: Change macOS install location
Starting with macOS 10.15, we can no longer install into /Developer/Panda3D due
to it not being one of the sanctioned writable directories. This commit changes
the default install location to /Library/Developer/Panda3D, which is the next
best place to put it (discussion on this can be found in #760).

To keep compatibility with those who may rely on the old location, some
postinstall scripts have been added that create symlinks to the new location
if running on 10.14 or older.

Fixes #760
Closes #825
2020-01-04 02:57:21 +01:00
rdb 2d11f36c9e makepanda: add docstring for panda3d.dtoolconfig module 2019-12-29 15:06:24 +01:00
rdb 530955b53e makepanda: add explicit link to libOpenMayaUI.dylib on macOS
This is needed when compiling without -undefined dynamic_lookup
2019-12-29 14:19:58 +01:00
rdb 4c3b6fcc03 makepanda: libIMFbase.dylib is no longer shipped with Maya 2020 on macOS 2019-12-28 21:27:51 -05:00
rdb 7aab057245 makepanda: change strange rpath argument for maya2egg on macOS
It doesn't seem like this setting is actually needed (because mayapath does the necessary set-up), but while it's set, we might as well set it to something more sensible.
2019-12-28 21:25:41 -05:00
rdb 8c82cf5800 makepanda: --universal should not enable i386 when targeting 10.15+
[skip ci]
2019-12-29 00:27:59 +01:00
rdb 5eb40b9061 makewheel: remove maya2egg#_bin.exe from entry_points.txt
These are not intended to be invoked by the user directly, so .exe wrappers do not need to be generated.  maya2egg will find the _bin equivalent by looking for it next to the executable itself.
2019-12-28 21:27:58 +01:00
rdb 7b5e11e9c9 makepanda: add support for Windows 10.0.18362.0 SDK 2019-12-28 20:57:44 +01:00
rdb 1c50abb79b Add support for Maya 2020 2019-12-28 20:57:21 +01:00
rdb 02b0fe0063 installpanda: add note about needing to call "sudo ldconfig"
This note only appears when not using --destdir

This should help avoid user confusion (such as in #818)

[skip ci]
2019-12-18 17:03:44 +01:00
rdb 8645e9d2a4 makepanda: distinguish macOS 10.6 from 10.9 libs in thirdparties
This is specifically for C++ thirdparty libraries, which are linked against either libc++ or libstdc++, and can now both be present in the thirdparty download, in order to address #584

This is a temporary fix for 1.10.5 that will not be present on master (due to #300)
2019-12-18 09:06:15 -05:00
rdb 0456fdcd92 makepanda: update CommandLineTools paths for newer XCode versions 2019-12-18 08:42:43 -05:00
rdb 4c62260291 makepanda: add -framework AudioUnit for OpenAL Soft (#678) 2019-12-18 08:41:58 -05:00
rdb a503e9439e test_wheel: only install colorama on Windows 2019-12-11 15:25:15 +01:00
rdb 1568d1c6b1 test_wheel: workaround to keep this working on Python 3.4 for now
colorama dropped Python 3.4 (see tartley/colorama#228) but pip is not smart enough to lock to an older version.
2019-12-09 09:50:39 +01:00
kamgha 6e36abf5ba makepanda: build against OpenEXR 2.4 (MSVC)
Fixes #799
Closes #800
2019-12-08 10:29:44 +01:00
rdb 4f4b79295f makepanda: fix error when building on Android without specifying --target 2019-12-07 14:32:09 +01:00
rdb 1cfd297433 makepanda: specify freetype library after harfbuzz as well
This fixes static linking of harfbuzz and freetype, which have a circular dependency on each other.
2019-11-17 20:37:33 +01:00
rdb c52db7239b makepanda: fix unnecessary re-copy of unmodified direct files 2019-11-02 19:51:16 +01:00
rdb e1df400f87 makewheel: add pandac/input/*.in interrogatedb files
These are present in the normal SDK builds and are useful for analyzing the API, for example for generating FFI code or generating API documentation.
2019-10-29 20:44:52 +01:00
rdb a9759fab14 makepanda: fix makepanda.bat to look in Python 3.7 folder 2019-10-25 11:50:50 +02:00
rdb 45973fe697 makepanda: remove a leftover debug print 2019-10-25 10:25:40 +02:00
rdb 4ceb494127 makepackage: allow Homebrew Python to find Panda3D libraries 2019-10-05 20:55:23 +02:00
rdb 7fa373bd6a makepanda: fix custom --python-incdir and --python-libdir on macOS 2019-09-16 21:07:13 +02:00
rdb 64982f8b14 makepanda: makepackage/makewheel take default version from setup.cfg
dtool/PandaVersion.pp is obsolete and will be removed soon.
2019-08-20 13:23:11 +02:00
rdb edbdf43f07 makepanda: PANDA_VERSION_STR should contain the full version number 2019-08-19 22:57:51 +02:00
rdb 2b0a2ea6df makepanda: allow passing in more than 3 digits in version number 2019-08-19 21:57:49 +02:00
rdb d028bebb52 makepanda: change getversion.py to take version from setup.cfg
[skip ci]
2019-08-19 21:37:50 +02:00
rdb 22833686e3 test_wheel: temp hack around pypa/pip#6885 to make Win Py3.8 tests pass
A proper fix for this has been merged in pip already (pypa/pip#6874), so this hack will only exist until pip 19.2.3 is out.
2019-08-17 21:01:28 +02:00
rdb b94e080ad2 makepackage: apply workaround for bpo-28440 to 2.7 and 3.8+ too
See #502
2019-08-17 19:59:20 +02:00
rdb 9fac30b3e8 makepanda: Python 3.8 no longer has d/m SOABI flags 2019-08-14 15:07:23 +02:00
rdb 999d1f74f7 makepanda: fix locating UCRT when building with Windows SDK 7.1A
[skip ci]
2019-08-14 09:01:43 +02:00
rdb 262f8b7643 makepanda: look in correct location for VC 2017 dlls 2019-08-13 17:48:47 +02:00
rdb df8ccdb7ab Add support for Python 3.8 2019-08-13 17:48:32 +02:00
rdb fef72ab2a5 test_wheel: don't try to install pip outside the virtual env
We can no longer have pip pre-installed, see #690
2019-08-13 17:46:05 +02:00
rdb 6b3e6f9097 makepackage: install pip as part of installer, using ensurepip
Fixes #690
2019-08-13 17:45:06 +02:00
rdb 2771c29ac9 Make it possible to compile for Maya 2009 2019-08-13 11:49:32 +02:00
rdb 9caae6520e makewheel: add more project URLs to wheel metadata
[skip ci]
2019-07-22 20:02:13 +02:00
rdb 00d7973925 makewheel: remove outdated comment
[skip ci]
2019-07-22 19:18:38 +02:00
rdb cee000d1da makepanda: pick up AudioToolbox and CoreAudio frameworks on macOS
These seem to be needed to compile against OpenAL Soft.

Fixes #678
Fixes #679
2019-07-10 10:05:10 +02:00
rdb 9512187156 test_wheel: upgrade pip inside virtualenv, don't write bytecode 2019-04-30 10:32:01 +02:00
Sam Edwards be247e1be9 makepanda: Remove config entry for defunct HAVE_SOFTIMAGE 2019-04-15 16:46:14 -06:00
rdb fa43591f7a makepanda: show warning when attempting to build with Python 2.7
See #602
2019-04-02 22:41:09 +02:00
rdb 768dce9244 makepanda: fix locating UCRT shipped with more recent Win 10 SDK 2019-03-17 16:04:12 +01:00
deflected 0840e80f54 makepanda: Fixed building of FreeBSD installer
- Include the python bindings when building the FreeBSD
        installer

Signed-off-by: deflected <deflected@users.noreply.github.com>

Closes #585
2019-03-17 11:56:19 +01:00
rdb 6cbc7ac22f makepanda: fix missing Python link when building on Android
[skip ci]
2019-03-16 23:58:13 +01:00
Sebastian Hoffmann 915e290513 makepanda: expose save_egg_file/save_egg_data to Python
Closes #582
2019-03-12 18:08:19 +01:00
rdb 5426ec68dd makepanda: properly respect --x11-incdir setting 2019-03-07 17:33:57 +01:00
Younguk Kim a7c8827dde makepanda: add support for Visual Studio 2019
Closes #570
2019-02-28 18:37:20 +01:00
rdb bf846cd461 makepanda: fall back to libassimpd.so if libassimp.so not found 2019-02-19 21:22:04 +01:00
rdb d5a4dcfd1d Clarify framebuffer-software/hardware comment in Config.prc
[skip ci]
2019-02-19 11:50:59 +01:00
rdb c41c2219c4 makewheel: add long description to METADATA file 2019-02-14 22:41:59 +01:00
rdb 55ac585745 makewheel: exclude libdrm.so.2 which causes GLX context failure 2019-02-12 19:04:38 +01:00
rdb d93fb702eb makepanda: fix various syntax warnings in Python 3.8 2019-02-11 18:58:22 +01:00
rdb 0b087ecf92 installpanda: create intermediate directories with mode 0755 too
Fixes #541
2019-01-23 23:23:33 +01:00
rdb 3cc9e49469 installpanda: fix issues installing includes to existing dir 2019-01-23 23:07:15 +01:00
rdb eef2a93163 makepanda: allow building for Android from Windows machine 2019-01-20 15:59:08 +01:00
rdb c0b973b789 makepanda: support cross-compiling for Android again 2019-01-20 00:32:26 +01:00
rdb 85ca6f66f2 makepackage: add some missing imports 2019-01-19 23:02:30 +01:00
Younguk Kim 5a9a87d2c1 makepanda: fix link error of assimp tool
Closes #535
2019-01-13 21:49:41 +01:00
John Cote e8f0e03043 makepackage: Don't include deploy-stub when building .rpm
Attempting to include deploy-stub in the .rpm would cause rpmbuild to fail, as deploy-stub isn't present.

Closes #527
2019-01-11 10:42:38 +01:00
rdb 83e41262bd makewheel: use all supported Python versions as classifier
Otherwise, PyPI wil pick the ones for the first uploaded wheel, which means that Panda3D will not be indexed under all Python versions on PyPI.

Also add a few more classifiers.
2019-01-10 21:39:44 +01:00
rdb e215ff2928 makepackage: fix error building macOS package for Python 3.x only 2019-01-09 19:20:45 +01:00
rdb eed0834ccb makepanda: fix error concatenating platform
[skip ci]
2019-01-06 09:53:35 +01:00
rdb 9ff536432d makepackage: fix locating Panda3D on sys.path on macOS w/ Py 3.7
Also moves panda3d.dist-info directory to /Developer/Panda3D/ so that deleting /Developer/Panda3D makes it possible to install panda3d via pip again.

Fixes #502
2019-01-03 15:04:53 +01:00
rdb 3e22578529 New branding images for 1.10.0 2019-01-03 14:44:17 +01:00
rdb 62781c154b makepanda: fix instructions to find Opus thirdparty pkg on Windows 2018-12-30 20:09:57 +01:00
rdb cedd4172c4 makepanda: build Python libraries statically with --static
Fixes #477
2018-12-30 16:45:27 +01:00
rdb ee6531abee makepackage: copy over panda3d.dist-info dir on macOS 2018-12-26 23:45:00 +01:00
rdb ae74e2d18e makepackage: avoid packaging deploy-stub with installers 2018-12-26 23:42:39 +01:00
rdb 01915a36db Merge branch 'master' into deploy-ng 2018-12-26 23:41:50 +01:00
rdb 862906b86d makepackage: install for multiple Python versions on Windows
See #441
2018-12-24 21:38:46 +01:00
rdb 94d1722c8c makepanda: add --no-copy-python flag for Windows build
This will avoid copying over the python installation to the built/python directory.
2018-12-24 20:51:20 +01:00
rdb d180be2acc makepackage: build macOS installer for multiple Python versions
See #441
2018-12-24 13:50:12 +01:00
rdb 8a38337e6b makepanda: fix model cache written in current dir on macOS
This was a regression in 2b537d2263 that caused the model-cache to be written to ./Library/Caches rather than $HOME/Library/Caches
2018-12-24 00:17:02 +01:00
rdb 395b9733fb makepanda: when making Linux package, ship Python 2 and 3 bindings
See #441 for discussion.
2018-12-23 22:28:12 +01:00
rdb bd6ef2b0ea Rename CollisionTube to CollisionCapsule (bam 6.44)
Adds ability to register "obsolete" names for certain types under older .bam versions, so that we are still able to write out old .bam files.

Fixes #347
2018-12-23 22:28:06 +01:00
Mitchell Stokes 587237577f deploy-ng: Move distribution related files from direct.showtutil to direct.dist 2018-12-18 20:33:12 -08:00
rdb c0138930c9 makewheel: properly chmod libraries that have no write permissions
Seems to be necessary on macOS for install_name_tool to be able to work on some libraries.  Not sure why fchmod/fstat isn't working right.
2018-12-16 22:37:23 +01:00
rdb e12ff1140b makewheel: fix picking up libssl/libcrypto for _hashlib on macOS 2018-12-09 20:29:19 +01:00
rdb a0af670dc7 makewheel: don't try to resolve deps with absolute path 2018-12-09 20:26:54 +01:00
rdb a7752da4f1 Merge branch 'master' into deploy-ng 2018-12-09 20:22:23 +01:00
rdb b474ef6b1e makepanda: split out installer code into separate makepackage.py 2018-12-09 19:00:01 +01:00
rdb b674104c1f makepanda: don't error for harmless use of removed options
Let's show a warning when an option has been removed but its presence would not have affected the build in an important way.  For options like --use-awesomium we should still show an error since it invokes behavior we no longer support, but it should be harmless to specify --no-awesomium.
2018-12-09 17:09:27 +01:00
rdb 4213e0a50a Remove awesomium (see #440) 2018-12-09 15:53:23 +01:00
rdb 97946cf95e makepanda: deploy-stub should be a Python-version-specific target 2018-12-02 21:39:41 +01:00
rdb f2f4b4c264 Merge branch 'master' into deploy-ng 2018-12-02 16:26:13 +01:00