Commit Graph

7120 Commits

Author SHA1 Message Date
Mitchell Stokes db4516b796 deploy-ng: Look for correct platform suffixes for Python extension modules when cross-building
Note: We still need to supply suffixes for macOS. Also, Linux suffixes
are based on suffixes on my system (Arch, Python3) and will likely need
to be tweaked.
2017-01-09 20:17:27 -08:00
rdb f8580d753a Merge branch 'master' into deploy-ng 2017-01-09 23:53:56 +01:00
rdb 4ed199cece Fix various compile warnings and a few code consistency issues 2017-01-09 20:36:53 +01:00
Mitchell Stokes a03448509e deploy-ng: Use a clean sys.path for each platform 2017-01-07 10:21:31 -08:00
Mitchell Stokes fff8c82d7c deploy-ng: Correctly add deploy_libs to sys.path
Now modulefinder will pick up on the Python stdlib C extension modules
in the panda3d whl, and no special path hacks are required.
2017-01-07 10:19:07 -08:00
Mitchell Stokes a5bea8f8b0 makewheel/deploy-ng: Use inspect.getfile(cmath) instead of cmath.__file__ for get_python_ext_module_dir() 2017-01-05 20:35:59 -08:00
Mitchell Stokes 061a2745f9 deploy-ng: Add use_console option to Application
This option only affects deploying to Windows. If set to False (the default),
deploy-stubw is used. If True, deploy-stub is used.

NOTE: This is mostly untested. The only check was that it didn't break
when deploying to Linux.
2017-01-05 20:24:58 -08:00
Mitchell Stokes 2fa4ef1c7e makewheel/deploy-ng: Try import cmath instead of _sha1 for get_python_ext_module_dir()
The Python2 Windows buildbot did not like _sha1.
2017-01-05 20:17:38 -08:00
Mitchell Stokes 6199d84131 deploy-ng: Grab Python stdlib C extension modules from panda3d whl 2017-01-05 19:28:22 -08:00
Mitchell Stokes 41556b07fc deploy-ng: Use a more generic method to remove version strings from extension module names
This should help with stripping these strings on Windows.
2017-01-05 19:28:21 -08:00
Mitchell Stokes fcbc71c91b deploy-ng: Stop using freezer outside the scope of its for loop 2017-01-05 19:28:21 -08:00
Mitchell Stokes d6aba43492 Merge branch 'master' into deploy-ng 2017-01-05 18:12:43 -08:00
rdb 31136124c7 deploy-ng: fix issues with Python 3 / Windows / Unicode, add deploy-stubw 2017-01-06 01:42:00 +01:00
rdb 53752bd376 Remove packpanda and eggcacher, don't require libpython on Linux 2017-01-05 17:22:11 +01:00
Mitchell Stokes e85a2aa140 deploy-ng: Remove some debug prints 2017-01-04 19:30:00 -08:00
Mitchell Stokes c51afaf0cf deploy-ng: Support getting whl files via pip
The samples/asteriods/wheels directory and requirements.txt work-around
can be removed when we can grab py3 whls from PyPI.
2017-01-04 19:02:27 -08:00
Mitchell Stokes db2cbd6e3a deploy-ng: Add whls to sys.path instead of extracting them 2017-01-04 17:53:41 -08:00
rdb 1387f22200 FreezeTool: add missing import. 2017-01-04 20:19:04 +01:00
rdb 13c41bcf7d FreezeTool: find modules in zip files, allow custom suffixes list 2017-01-04 20:12:56 +01:00
Mitchell Stokes 6b92d349c9 deploy-ng: Add wheel files to sys.path so modulefinder can pick up the files 2017-01-03 20:17:12 -08:00
Mitchell Stokes 5af7136aa2 deploy-ng: Support copying panda3d files from wheels instead of the current environment
Note: Extension modules are still coming from the current environment.
We'll need to sort this out before we get true cross-platform building.

Also, we need a proper interface for specifying platforms/wheels. At the
moment, a wheels parameter is supplied to setup() and platforms are
determined based on the wheels in this list.
2017-01-02 19:42:49 -08:00
Mitchell Stokes 6251a1cfc7 deploy-ng: Make sure the runtime is created in the build directory
We used to build in the current directory and copy to the build
directory, which resulted in two copies of the runtime.
2016-12-30 11:56:32 -08:00
rdb c839dc60d6 Merge remote-tracking branch 'origin/master' into deploy-ng 2016-12-28 12:11:37 +01:00
rdb ab5b5e7e74 Merge branch 'release/1.9.x' 2016-12-25 22:47:22 +01:00
rdb c1d6e93166 Don't link extension modules with libpython; changes to help w/ building whls
This fixes compatibility issues with homebrew Python on Mac OS X.

This introduces a --no-directscripts flag to disable building packpanda and eggcacher, which require linking with libpython (which is not available on manylinux).  When building a wheel, the packpanda and eggcacher modules can instead be added to console_scripts in the entry_points definition.
2016-12-21 17:57:13 +01:00
rdb 1808ad217c Fix Python 3 error in particle sample in 1.9 2016-12-20 23:14:58 +01:00
Mitchell Stokes 74a7d4ee48 deploy-ng: Remove Python version string from the filename of copied extension modules 2016-12-18 15:02:49 -08:00
Mitchell Stokes 2923af7d44 deploy-ng: Add bdist_panda3d command to create archives for each built platform
Linux platforms use tar.gz and everything else (Windows, macOS) uses
zip. Later we will want to add an option to control this. Also,
bdist_panda3d currently auto-runs build. We will want an option to skip
this build step for debug/testing purposes.
2016-12-18 14:42:15 -08:00
Mitchell Stokes 086e61f9c3 deploy-ng: Replace startfile keyword with applications
applications is a list of Application objects. The Application
constructor takes two arguments: scriptname and runtimename. The
scriptname argument is the path to the Python script that acts as the
entry point to the application. The runtimename argument is the name
that will be given to the frozen runtime.
2016-12-18 11:43:40 -08:00
Mitchell Stokes 7bf2b12f09 deploy-ng: Replace game_dir keyword with directories, files, and exclude_paths
Also, mainfile has been replaced with startfile.
2016-12-18 11:32:56 -08:00
rdb 2dab76131c deploy-ng: support nested extension modules; omit unused panda3d.x modules 2016-12-11 19:38:14 +01:00
rdb bae19a203b deploy-ng: changes to make it work on Windows 2016-12-08 13:21:10 +01:00
rdb 4335e3759a Update Py_FrozenMain to work with Python 3.2 2016-12-06 02:14:39 +01:00
rdb f001bd20d7 deploy-ng: fix issues with Mac/Python 2 build 2016-12-05 18:55:04 -05:00
rdb 70386795f4 Merge branch 'master' into deploy-ng 2016-12-05 18:10:49 -05:00
rdb 83507e413f Fix Mac OS X Snow Leopard build 2016-12-05 16:30:44 -05:00
rdb 4a8f1839ea 1.9: change to support .whl distribution (putting panda DLLs in panda3d/ dir) 2016-12-01 17:41:07 +01:00
Mitchell Stokes b9b8782320 Distutils: Add extras build option to copy extra files not normally copied (e.g., ones outside of the game directory) 2016-11-13 11:57:33 -08:00
Mitchell Stokes b11ec02acb Distutils: Copy over panda3d and libs
TODO: Currently all of the libs and the whole panda3d module gets copied
over. We should make use of Packager code to trim this down.
2016-11-13 10:35:06 -08:00
Mitchell Stokes c208265343 Distutils: Add exclude_modules option 2016-11-13 10:03:37 -08:00
Mitchell Stokes 8d44e73fcc Remove yapdt
Distutils/setup.py should be used instead.
2016-11-09 18:10:51 -08:00
Mitchell Stokes 9921cd5a97 Distutils: Create per-platform build directories 2016-11-09 18:00:57 -08:00
Mitchell Stokes a628dd6edc Distutils: Skip copying frozen Python packages 2016-11-09 17:50:54 -08:00
Mitchell Stokes df7e3f03e2 Fix mainfile option in setup.py 2016-11-08 19:40:30 -08:00
Mitchell Stokes e9ae6b5bb1 Copy game files when using setup.py 2016-11-08 19:40:30 -08:00
Mitchell Stokes 471090d1b4 Adding a dist module that can be imported to use FreezeTool as part of setup.py 2016-11-08 19:40:30 -08:00
Mitchell Stokes b1a57643f9 Move runtime generation logic from yapdt to FreezeTool 2016-11-08 19:40:30 -08:00
Mitchell Stokes aa6e722941 Create experimental yapdt (Yet Another Panda3D Deployment Tool)
This uses FreezeTool and a new deploy-stub binary to create frozen
applications without needing a compiler when running the tool. This tool
is for experimenting with deployment options and is currently inflexible
and hacky.
2016-11-08 19:40:30 -08:00
Tohka e9a43a21fa Remove PiratesMagicWordManager VR Studio code reference 2016-11-04 02:41:41 +07:00
Mitchell Stokes 59b0913b0b Cleanup .gitignore files
Remove all .gitignore files in subdirectories and add a few new ignores
to the top-level directory .gitignore file.
2016-10-30 20:06:12 -07:00