Otherwise references to the Python interpreter inside the set are wrong, as demonstrated by:
``` nix
with import <nixpkgs> { };
let
python' = python3.override {
packageOverrides = final: prev: { requests = prev.requests.overridePythonAttrs(old: { version = "1337"; }); };
};
in python'.pkgs.python.pkgs.requests
```
which returns the _non_ overriden requests.
And the same with `self`:
```
with import <nixpkgs> { };
let
python' = python3.override {
self = python';
packageOverrides = final: prev: { requests = prev.requests.overridePythonAttrs(old: { version = "1337"; }); };
};
in python'.pkgs.python.pkgs.requests
```
which returns the overriden requests.
This can manifest itself as file collisions when constructing environments or as subtly incorrect dependency graphs.
Fixes the issue reported at
https://gitlab.com/mailman/mailman/-/issues/1137. The readme-renderer
package needs cmarkgfm for markdown support. Mailman's postorious needs
this to render the info field of mailing lists.
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
Doesn't seem to be out on PyPI yet, but they have a release tarball.
Hyperkitty has migrated to pyproject.toml, and no longer requires an
outdated version of mistune. Yay!
The test failure only happened with Python 3.10. We use 3.11 by
default, and there's not really any reason to change it, so I don't
think we need to keep that patch around.
It's time again, I guess :>
Main motivation is to stop being pinged about software that I maintained
for work now that I'm about to switch jobs. There's no point in pinging
me to review/test updates or to debug issues in e.g. the Atlassian stack
or on mailman since I use neither personally.
But there's also a bunch of other stuff that I stopped using personally. While
at it I realized that I'm still maintainer of a few tests & modules related to
packages I stopped maintaining in the past already.
Hyperkitty's tests fail with 8.x, because it tries and fails to import
elastic_transport. There are 7.17.10 and 7.17.11 releases, but for
unknown reasons they're not available on PyPI.
Link: https://github.com/elastic/elasticsearch-py/issues/2336
At least since e161990d40 ("mailman: remove docutils input"), we
rely on sphinx being a Python library package for our Python version,
so that it propagates a compatible docutils. Taking sphinx from the
top level therefore won't work right if it's using a different Python
version.
mailman is incompatible with importlib-resources 6.x, and upstream
have decided to remove the dependency.
Fixes: 3c86835248 ("python3Packages.importlib-resources: 5.12.0 -> 6.0.1")
Link: https://gitlab.com/mailman/mailman/-/issues/1093
In Nixpkgs, we currently have the strange situation where
pkgs.docutils (which was being used here) is on a different version
than pkgs.python3.pkgs.docutils (which is propagated from sphinx).
This led to a conflict here and a build failure.
Since we'd need to provide the same version as propagated by sphinx
anyway, let's just remove the explicit docutils check input and only
use the version propagated by sphinx, avoiding this kind of conflict
in future.
Fixes: 2312861130 ("docutils: 0.19 -> 0.20.1")
This hack was necessary for django 2.x[1] which was the default `django`
version (i.e. current LTS) when this fix was needed. However, 2.x is now
EOL and not packaged anymore and mailman is running with django3, so
this can be dropped.
[1] https://github.com/psycopg/psycopg2/issues/1293
When having a patch for a python module that should only be used for
mailman, but for nothing else, it's now possible to apply it like this:
self: super: {
mailmanPackages = super.mailmanPackages.extend (mailmanSelf: mailmanSuper: {
python3 = mailmanSuper.python3.override {
overlay = pythonSelf: pythonSuper: {
psycopg2 = /* ... */;
};
};
});
}
The underlying issue is that the `packageOverrides`-mechanism of
`pkgs.python3` doesn't compose, so an optional overlay is manually
applied to the `python3` used for mailman.