The install script was escaping the Nix environment on Mac OS by using
`xcrun -sdk macos clang` as its C compiler. Using the Nix compiler
required declaring the necessary frameworks as inputs and patching
build scripts to assume MacOS 10.12 (and not try to detect).
So cached derivations prior to this would probably not work on all
intended target machines.
This *might* also fix installCheck on Darwin on Hydra.
Other minor fixes:
* Disable parallel building due to a race with a missing y.tab.h
* Use NIX_CFLAGS_COMPILE/NIX_LDFLAGS instead of trying to synthesize
something like them.
* X11 dependencies aren't used on Darwin when the windowing system
is correctly detected
A commit in 2014 (see #2266) disabled building parts which depended on
X11 on Mac OS. There's no explanation given in the pull request. In
any case, many people install plan9port on Darwin specifically to use
the UI components.
Aside from this, the derivation was broken on Mac OS, probably because
people put the `which` and `perl` dependencies inside the !isDarwin
conditional. Some programs worked, however the static libraries did
not build, so this could not be used as a buildInput to build programs
which need the libraries. This fixes that.
* pkgs: refactor needless quoting of homepage meta attribute
A lot of packages are needlessly quoting the homepage meta attribute
(about 1400, 22%), this commit refactors all of those instances.
* pkgs: Fixing some links that were wrongfully unquoted in the previous
commit
* Fixed some instances
Fixing interpreter paths was done by exporting PLAN9_TARGET, which
INSTALL looks at. Giving $PLAN9 to INSTALL does not achieve this, as
INSTALL only looks at its first argument so I removed the other
arguments to avoid confusion.
Perl is an optional dependency for a script that adds URLs to man pages,
I have added it to get fewer errors during install.
* Add "which" dependency, otherwise it builds with lots of
"command not found" errors.
* -lgcc_s, otherwise many commands basically fail without pthread_cancel.
* Fix X11 dependencies, otherwise it would be plan9port with none of UI
programs working.
- Update to 20140306
- Fixed libXt dependency. The compiler could not find X11/IntrinsicP.h, even though it is available through the nix store. I think there must be some issue with the 9c compiler being used and not obeying the CFLAGS that nix is supposed to pass. There are probably other dependencies I'm missing, but 9c found in my /usr/include.
plan9port ships with an INSTALL script. This commit modifies the
builder to use the script instead of a custom build script. The
commit also adds a patch to build fontsrv, which is otherwise
omitted from the build.