Allow the macOS GLUT framework to be used automatically in many
cases. Packages that specifically search for freeglut or require its
additional APIs should still explicitly depend on it.
Deliberately skip the Haskell package set, which is mostly
automatically generated, and mupdf, which has its own fork of freeglut.
Without this I get
/run/current-system/sw/bin/fgfs: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
@the-kenny did a good job in the past and is set as maintainer in many package,
however since 2017-2018 he stopped contributing. To create less confusion
in pull requests when people try to request his feedback, I removed him as
maintainer from all packages.
The current FlightGear expression doesn't work:
bash$ nix-build -A flightgear
/nix/store/3c47sibzb9h1vhnn0gnh692hkpjc5p5v-flightgear-2.10.0
bash$ ./result/bin/fgfs
ERROR: The path '/nix/store/3c47sibzb9h1vhnn0gnh692hkpjc5p5v-flightgear-2.10.0/lib/FlightGear' does not exist in the file system.
Base package check failed:
Version [none] found at: /nix/store/3c47sibzb9h1vhnn0gnh692hkpjc5p5v-flightgear-2.10.0/lib/FlightGear
Version 2.10.0 is required.
Please upgrade/downgrade base package and set the path to your fgdata
with --fg-root=path_to_your_fgdata
We could probably make the 2.10.0 version run, but I had already
upgraded it to 2.12.0 before I made it work. It seems only the data dir
configuration was wrong/missing: FG_DATA_DIR="$out/share/FlightGear/".
Simgear must be in version sync with flightgear, hence the upgrade.
Most of the diff is because I rewrote the flightgear expression to what
I think is the "new style". I wanted to add a preConfigure phase but
didn't understand why this expression had custom phases. So I just
rewrote the whole thing to something I consider more readable.