PyOxidizer icon indicating copy to clipboard operation
PyOxidizer copied to clipboard

FreeBSD support

Open sztomi opened this issue 6 years ago • 5 comments

The documentation says:

The general approach should work for other operating systems.

What would it entail to extend support for FreeBSD? Are there any major blockers to doing that?

sztomi avatar Jul 11 '19 09:07 sztomi

The main blocker is teaching https://github.com/indygreg/python-build-standalone to produce a standalone Python distribution compiled for [Free]BSD. I imagine that will look a lot like how the Linux build is performed. We may want to rename the cpython-linux directory to cpython-unix and then teach it to run on BSDs.

FWIW I would like to support BSDs. I just haven't had the time to produce a Python distribution yet.

indygreg avatar Jul 12 '19 02:07 indygreg

I am looking into creating a freebsd port for pyoxidizer. One issue is that the pypi download page only has binary wheel packages. This 'issue' not be the right place for this request, but does it make sense to provide an sdist for releases published on pypi? If so, what's the right place to make a change to get that to occur?

jhgit avatar May 10 '21 14:05 jhgit

PyOxidizer is written in Rust and an sdist wheel doesn't make much sense. The wheels exist mostly to facilitate turnkey installation of the binary for Python developers. For FreeBSD, I would encourage the creation of a port for PyOxidizer.

But, PyOxidizer for BSDs won't work until we produce BSD versions of the special Python distributions that PyOxidizer requires (see my last comment on this issue). The python-build-standalone build system will likely "just work" on BSDs with minimal changes. However, we would need a reliable way to produce BSD distributions in order to perform releases. This would ideally entail CI jobs producing FreeBSD distributions. Although I could potentially fire up some BSD VMs if it came to that.

indygreg avatar May 11 '21 00:05 indygreg

Potentially relevant: clang can cross-compile to FreeBSD (we recently switched in production to building this way in a docker container, instead of having to run a FreeBSD VM).

sztomi avatar May 12 '21 11:05 sztomi

I'm using cx-Freeze, which works on FreeBSD - giving that particular project a +1 in this regard. It outputs a binary file, plus a folder of libs through - so not as nice as having a single file.

bikingcoder avatar Aug 04 '23 12:08 bikingcoder