Fix the following build failure:
```
config.status: executing libtool commands
building
make flags: SHELL=/nix/store/548wfw1i43glkx8lkyjmbg59h6127qky-bash-4.3-p39/bin/bash
./scripts/MakeHeader.py ColumnsPanel.c
/usr/bin/env: python: No such file or directory
Makefile:2164: recipe for target 'ColumnsPanel.h' failed
make: *** [ColumnsPanel.h] Error 127
builder for ‘/nix/store/6rai1vs6jsw8y5z5jff98f0f8jzfa12n-htop-1.0.3-584-8f07868f.drv’ failed with exit code 2
```
In 4.1, the build system changed, and it now wants to execute ld like this:
ld -r -o util/scripting-engines/libperf-in.o util/scripting-engines/trace-event-perl.o util/scripting-engines/trace-event-python.o
The actual problem seems to be that `buildInputs = [elfutils ...]`
causes 'ld' to point to elfutils in PATH instead of the usual binutils.
So remove elfutils from buildInputs and set NIX_CFLAGS_* manually. This
is a slight hack, but there is some precedent:
0761f81da7/pkgs/tools/package-management/rpm/default.nix (L13)Fixes#9095.
This allows all utilties to at least run, though most still fail
because they expect to be able to read a non-existent config file.
Also, aa-notify refuses to run due to a self-check on the filename,
which cannot be preceded by a '.'. This has to be patched or we
need to set PERL5LIB some other way.
This was untested and didn't function without a dbus patch which wasn't
applied to the system dbus package, so it wasn't used at all.
Also, it creates a weird cyclic dependency if we want systemd to depend
on libapparmor (for AppArmorProfiles= support), because libapparmor then
wants dbus, and dbus wants systemd. Oof.
Luckily, this feature and whatnot will probably all be irrelevant in the
glorious kdbus-based future, and the dbus patches aren't even upstream I
think. So we can just drop it.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
`nix-env -qaP -A pkgs.darwin`
pkgs.darwin.libutil:
Commented-out because the package definition doesn't exist. The source
doesn't even provide a Makefile...
pkgs.darwin.objc4_pure:
Commented-out because the package is broken and referencing unknown
applefetchsource and libc_old names. It doesn't seem to be used by any
other packages too.