How to not build bundles/use wheel?

I am trying to build on FreeBSD. It calls the module 'bundle_builder', which calls 'wheel'. How to only do a regular python build, and not call 'wheel'? Thanks, Yuri

Hi Yuri, Eventually every bundle will be available on the ChimeraX toolshed, not just 3rd party bundles. This will allow bug fixes and improvements to non-core parts of ChimeraX to be distributed incrementally and immediately and not require an entire re-install of ChimeraX. The toolshed uses standard wheel format for distributing packages and therefore wheel packaging is integral to ChimeraX and there is no provision for non-wheel builds. —Eric Eric Pettersen UCSF Computer Graphics Lab
On Jul 25, 2018, at 2:35 AM, Yuri <yuri@rawbw.com> wrote:
I am trying to build on FreeBSD.
It calls the module 'bundle_builder', which calls 'wheel'.
How to only do a regular python build, and not call 'wheel'?
Thanks,
Yuri
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: http://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Short answer: wheels are regular python builds. ChimeraX is designed so that the bundles can be upgraded separately. The bundles are packaged using the normal Python packaging mechanism, wheels. The wheel package is installed as part of the build process. In your case, there will be no FreeBSD bundles in the ChimeraX Toolshed, so that is not an advantage for you, but it is a huge advantage for our Windows, macOS, and Linux users. You probably explained this before, but out of curiosity, since FreeBSD can run Linux binaries, why aren't you starting with the Linux tarball for FreeBSD? The biggest problem is probably PyQt5. You could replace the distributed PyQt5-commercial package, with one built on FreeBSD. Other missing shared libraries could be placed in CHIMERA/lib. And you'd be done! :-) Obviously, you can't legally redistribute your version since you don't have a commercial PyQt license, but you could redistribute your script to other FreeBSD users. Good Luck! Greg On 07/25/2018 02:35 AM, Yuri wrote:
I am trying to build on FreeBSD.
It calls the module 'bundle_builder', which calls 'wheel'.
How to only do a regular python build, and not call 'wheel'?
Thanks,
Yuri

On 7/25/18 10:58 AM, Greg Couch wrote:
Short answer: wheels are regular python builds.
ChimeraX is designed so that the bundles can be upgraded separately. The bundles are packaged using the normal Python packaging mechanism, wheels. The wheel package is installed as part of the build process. In your case, there will be no FreeBSD bundles in the ChimeraX Toolshed, so that is not an advantage for you, but it is a huge advantage for our Windows, macOS, and Linux users.
You probably explained this before, but out of curiosity, since FreeBSD can run Linux binaries, why aren't you starting with the Linux tarball for FreeBSD? The biggest problem is probably PyQt5. You could replace the distributed PyQt5-commercial package, with one built on FreeBSD. Other missing shared libraries could be placed in CHIMERA/lib. And you'd be done! :-) Obviously, you can't legally redistribute your version since you don't have a commercial PyQt license, but you could redistribute your script to other FreeBSD users.
Running linux binaries with UI and a lot of dependencies can have its own problems with availability of dependency ports for linux dependencies, etc. I chose to build a native package. Does ChimeraX use some functionality from the PyQt5-commercial package that isn't available in the free PyQt5 distribution? (Supposedly, the commercial package has extra functionality? I'm not familiar with this commercial package.) What does "Other missing shared libraries could be placed in CHIMERA/lib." mean? No ports use wheels, even though wheels is a python standard. PyPI website normally has a source tarball that builds into a python package (a directory with .py/.pyo/.so files), and then they can be packages into a wheel when desired. Virtually all python packages do this. Now I have to figure out how to separate wheels from the build. Distribution-wise, it will be distributed as a freebsd package through the normal channels, to whoever installed FreeBSD or its derivatives and wants to use this package. Yuri
participants (3)
-
Eric Pettersen
-
Greg Couch
-
Yuri