* python3Packages.fenics: fix build, pin to older boost
Looking at upstream, there are various issues with newer boost.
(At least some of them have been since fixed)
For now, fix the build by using a version of boost that works
with the current version.
Error here was complaining about `std::min_element`,
which is no longer available, apparently, due to newer boost
no longer (transitively) including <algorithm>.
This was added in C++17, so I'm not sure the cmake flag
specifying dolfin built with C++11 makes sense or is used.
Leaving for now :).
* nixos/tests/fenics: fix name of machine/node in script
Still fails for now.
* python3Packages.fenics: fix accidentally changed strings in subst
Looks like in migration to pkg-config this was erroneously
changed from `pkgconfig` (python package, and source string)
to `pkg-config` (nix package name, tool name).
(see 9bb3fccb5b)
Fixes the NixOS test.
This commit makes two changes:
1. Boost changed its taxonomy for architecture names between the 1.77 and
1.78 releases, in this commit:
6edc8184a7
2. During the review of #161162 I [was asked about][1] the source of
the [mips64-context.patch][2] that I had included in the original
version of the PR. I searched through the boost-context revision
history and found [a nearly identical patch][3], which I
substituted in the final, merged version of the PR.
As it turns out, my [mips64-context.patch][2] was an earlier
revision of what was eventually accepted to boost-context. The
only difference between the two patches is the name they use:
mips64 vs mips1.
When switching to the accepted version of the boost patch, I should
have also updated libraries/boost/generic.nix to change mips64 to
mips1. This commit does that.
[1]: https://github.com/NixOS/nixpkgs/pull/161162#discussion_r847903087
[2]: https://raw.githubusercontent.com/a-m-joseph/nixpkgs/1ca5025945470ce96408552b9117674b12efaf04/pkgs/development/libraries/boost/mips64-context.patch
[3]: e3f744a186.patch
When *not* cross-compiling, OpenSSL will not attempt to detect the
host ABI. For mips64, the OpenSSL authors have chosen to assume that
the n32 ABI is used.
Since nixpkgs knows the correct ABI based on stdenv.hostPlatform,
let's pass this information to OpenSSL explicitly.
At the moment (bootstrappable) nixpkgs on mips64 can only be used with
the n64 ABI due to the fact that boost-context (required by nix) does
not support the n32 ABI. Without this commit the openssl expression
can be cross-compiled to a mips64 host, but a mips64 host cannot
self-compile the expression due to OpenSSL's incorrect assumption.
https://github.com/NixOS/nixpkgs/pull/165746#pullrequestreview-924423243