ZHF #230712
Failing Hydra build: https://hydra.nixos.org/build/219779719
Another package leaked in a sphinx that's incompatible with the
dependency fixes in here. Removing that solves the issue.
For this round of ZHF: #230712
Failing Hydra build: https://hydra.nixos.org/build/218871719
The following things needed to change:
* Drop `doc` stuff from `pyopenssl` to avoid transitive errors related
to sphinx (and the dependency hackery in here).
* Disable a bunch of flask-babel tests failing because of `\u202f` vs
space.
* Fix tests by using hashes supported by `libxcrypt` for tests using the
passwd resolver[1].
[1] https://github.com/privacyidea/privacyidea/pull/3611
The previous changes for the 3.8 update are ready, but staging got
merged into master, so there are a few more challenges to tackle:
* Use python 3.10 now since it's actually supported and less effort to
build (3.9 isn't recursed into anymore).
* sphinx doesn't build with these overrides, so patch it out entirely
(i.e. drop `sphinxHook` where it's causing problems).
* backport a few jinja2 fixes for python 3.10 that were fixed in later
versions, but break because this env is stuck to 2.11.
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
ChangeLog: https://github.com/privacyidea/privacyidea/blob/v3.7.3/Changelog
Failing Hydra build: https://hydra.nixos.org/build/190981743
* Disable tests of `werkzeug` since a lot of it is now failing with
`unclosed file handle` (partly just randomly) which is an indicator
for a broken test-suite. Dependency updates that would help us to get
rid of this hackery are apparently in progress upstream[1].
* Disable checkPhase for `Mako` since it now requires `lingua` as
`checkInput`, but it'd require `click>8`, however we use v7 here for
the older flask. To avoid even more dependency chaos, I decided to
just turn off the tests here.
* Update disabled tests for `privacyidea` itself: a few tests are either
removed or succeeding now (perhaps because we now set `$HOME` now for
tests ;-) ). Documented on the remaining tests why they can't work in
a `nix-build`.
[1] https://github.com/privacyidea/privacyidea/issues/2876
ChangeLog: https://github.com/privacyidea/privacyidea/releases/tag/v3.6
Unfortunately we have to use `sqlalchemy` at 1.3 for `sqlsoup`. As
`sqlalchemy` is required by a lot of packages, I decided to move this
package out of `pythonPackages` itself and instantiate a new
`pythonPackages` inside the expression where `sqlalchemy` points to
`sqlalchemy_1_3`.