Hello all!
Happy to share that I’ve developed new build tools to make static binaries for OpenEMR for FreeBSD for amd64/x86 and arm64.
This is a little different than the other builds because I couldn’t get Static PHP CLI to work so I had to invent my own method.
This method uses QEMU (an emulator for running different operating systems) on MacOS to run FreeBSD and our build script starts the VM and then commands that VM to make a static build for FreeBSD based off the CPU architecture you’re currently running on.
To demonstrate the binaries running natively on FreeBSD the build also comes with a script “run-freebsd-vm.sh” that starts another FreeBSD VM with QEMU and then boots an OpenEMR server using the binary on the VM that you can go to in the browser on your Mac.
Also I have since changed my thinking about this (Design Rationale Behind the Static Binary Packaging Strategy) after talking to @jesdynf who made some great points.
This build ships everything in a <300 Mb tarball.
Now we should be able to run OpenEMR on a PlayStation 5 (which uses a FreeBSD like operating system).
Hope folks find this useful!