Fixes this error:
```
FAIL: test_setup_command.test_build_sphinx_return_nonzero_status
----------------------------------------------------------------------
Traceback (most recent call last):
File "/nix/store/zfmk6mqmr1046bh0cnh06frd0bb0nr20-python2.7-nose-1.3.7/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/tmp/nix-build-python2.7-Sphinx-1.3.6.drv-0/Sphinx-1.3.6/tests/test_setup_command.py", line 55, in deco
func(pkgrootdir, proc)
File "/tmp/nix-build-python2.7-Sphinx-1.3.6.drv-0/Sphinx-1.3.6/tests/test_setup_command.py", line 110, in test_build_sphinx_return_nonzero_status
assert proc.returncode != 0, 'expect non-zero status for setup.py'
AssertionError: expect non-zero status for setup.py
```
Tested on Linux
- python 2.7
- python 3.5
This prevents systemd and by extension a zillion other packages from
having Python 2.7 in their closure. For example, the closure of
systemd dropped from 133 MiB to 85 MiB.
The previous commit revealed that Python wasn't actually using
Berkeley DB; it only had it in its closure due to the build-time flag
dump in Makefile and _sysconfigdata.py. When Python detects both GNU
gdbm and Berkeley DB at build time, it will use the former.
This cuts about 3 MiB from the installed size. On Linux, the configure
script is supposed to detect that installing tzdata is unnecessary,
but it looks in locations like /usr/share/zoneinfo.
This reduces Python's closure size from 200 MiB to 129 MiB. Even
better would be to get move tkinter to a separate output or package
(since that would get rid of all X11 stuff), but that's a bit harder.
This reduces tcl's total size from 25.0 MiB to 8.6 MiB. Admittedly
this is also because putting the manpages in the right place causes
all man3 pages to be deleted by the multiple outputs setup hook. Not
sure if that's desirable behaviour...
We now have a newer version and the older version didn't work anymore
anyway because it depended on sqlalchemy7 which was itself broken,
because it depended on an older version of sqlite.
Add code to accountsservice that returns an error if the environment
variable NIXOS_USERS_PURE is set. This variable is set from the nixos
accountsservice module if mutableUsers = false