A few years ago I experimented with Lazarus running on ReactOS: it was less than successful since the installer tried to write larger chunks than the OS could flush to a btrfs filesystem. In the end I got it working by installing into a FAT volume and setting up the equivalent of a symbolic link.
I believe I reported this as an installer bug.
Over the last few days I've tried to fire that up in a Qemu VM without success: ReactOS wouldn't start. However as an experiment I extracted the Lazarus+FPC files and moved them onto my desktop Linux system.
Using a copy of the docker-wine script and this wrapper, I was able to start the IDE successfully:
#!/bin/sh
SCREEN='screen -d -m'
__CACHE='--cache'
# Things like --volume are run parameters, so there is a risk that omitting --name
# will mess up anything stored persistently in the location specified as winehome.
$SCREEN /usr/local/lazwin/docker-wine $__CACHE --name=Lazarus --as-me --force-owner \
--volume=/usr/local/lazwin/usr.local.share/lazarus:/lazarus \
--volume=/usr/local/src:/usr/local/src \
wine /lazarus/lazarus.exe
# Discarding output appears to be done adequately by Gnu screen.
# >/dev/null 2>&1
# Doesn't like appended ampersand, either here or from QQ
I also had to edit the fpc/bin/fpc.cfg file to reflect the location of the FPC files, in particular the compiled units.
I've not experimented with using external resources via OPM etc., or made any attempt to run any cross-compiler since (from previous experience with Docker) I suspect that getting a physical connection to a target system might turn out to be a problem.
I've also seen another program crash on occasion in the docker-wine environment, the precise symptom being that a dialogue etc. displays as three sadly-pixellated beagles which is almost immediately followed by termination.
However on the balance I still feel this might be useful.
MarkMLl