The Python interpreters are patched so they can build .pyc bytecode free
of certain indeterminism.
When building Python packages we currently set
```
compiling python files.
in nix store.
DETERMINISTIC_BUILD=1;
PYTHONHASHSEED = 0;
```
Instead if setting these environment variables in the function that
builds the package, this commit sets the variables instead in the Python
setup hook. That way, whenever Python is included in a derivation, these
variables are set.
See also the issue https://github.com/NixOS/nixpkgs/issues/25707.
Running the chkhsgr test on Hydra fails with
```
./chkshsgr || ( cat warn-shsgr; exit 1 )
Oops. Your getgroups() returned 0, and setgroups() failed; this means
that I can't reliably do my shsgr test. Please either ``make'' as root
or ``make'' while you're in one or more supplementary groups.
```
We just assume that our supported platforms have working
getgroups()/setgroups().
Fixes this:
.vino-server-wr[8931]: Using the 'memory' GSettings backend. \
Your settings will not be saved or shared with other applications.
Still, the screen sharing settings under "gnome-control-center sharing"
does not seem to be persisted (except the enabling/disabling sharing
flag itself). Making changes and then re-opening gnome-control-center
shows the default screen sharing settings. Sigh.
This patch was adapted from GUIX.
At the moment we still have to rely on GTK_DATA_PREFIX, which can only
point to one profile at the time and is also not set in all desktop
environments. This patch makes it possible to use installed themes, no
matter if system-wide or by in a user profile.
Fewer packages are only built on one platform. Eventually we should
have each package encode its own requirements on build host and target
(as we do for build already) and use that to test automatically.
We want platform triple prefixes and suffixes on derivation names to
be used consistently. The ideom this commit strives for is
- suffix means build != host, i.e. cross *built* packages. This is
already done.
- prefix means build != target, i.e. cross tools. This matches the
tradition of such binaries themselves being prefixed to disambiguate.]
Binutils and cctools, as build tools, now use the latter