With all libcs I'm aware of, libdl is now either empty (Glibc, musl,
uclibc, illumos), a symlink to libc or equivalent (Apple), or does not
exist (FreeBSD, NetBSD). So explicitly linking libdl now does nothing
for the former platforms, and breaks the build for the latter
platforms.
With this patch I've removed -ldl from all overridden linker flags for
all free packages in Nixpkgs. Everything still seems to build.
* libflux: 0.124.0 -> 0.139.0; as specified in influxdb 2.1's release notes
* UI: 2.0.8 -> 2.1.2; matching what influxdb 2.1.1 requires
* Add checks in influxdb2's build to verify that libflux and the UI are at
the version specified by upstream.
* The CLI got split into a separate repository for reasons to do with influx's
cloud service, and its version has also been decoupled from the main influxdb
repository. Link it back into the influxdb2 derivation, for compatibility
with the previous derivation versions.
* libflux: 0.115.0 -> 0.124.0; which fixes build errors for libflux on
hydra (unused vars in Rust)
* the UI (chronograf) is now in embeded as a static asset from its GitHub
repository
Also begin to start work on cross compilation, though that will have to
be finished later.
The patches are based on the first version of
https://reviews.llvm.org/D99484. It's very annoying to do the
back-porting but the review has uncovered nothing super major so I'm
fine sticking with what I've got.
Beyond making the outputs work, I also strove to re-sync the packages,
as they have been drifting pointlessly apart for some time.
----
Other misc notes, highly incomplete
- lvm-config-native and llvm-config are put in `dev` because they are
tools just for build time.
- Clang no longer has an lld dep. That was introduced in
db29857eb3, but if clang needs help
finding lld when it is used we should just pass it flags / put in the
resource dir. Providing it at build time increases critical path
length for no good reason.
----
A note on `nativeCC`:
`stdenv` takes tools from the previous stage, so:
1. `pkgsBuildBuild`: `(?1, x, x)`
2. `pkgsBuildBuild.stdenv.cc`: `(?0, ?1, x)`
while:
1. `pkgsBuildBuild`: `(?1, x, x)`
2. `pkgsBuildBuild.targetPackages`: `(x, x, ?2)`
3. `pkgsBuildBuild.targetPackages.stdenv.cc`: `(?1, x, x)`