1{ python3, fetchPypi, lib, overlay ? (_: _: {}) }:
2
3python3.override {
4 packageOverrides = lib.composeExtensions
5 (self: super: {
6 /*
7 This overlay can be used whenever we need to override
8 dependencies specific to the mailman ecosystem: in the past
9 this was necessary for e.g. psycopg2[1] or sqlalchemy[2].
10
11 In such a large ecosystem this sort of issue is expected
12 to arise again. Since we don't want to clutter the python package-set
13 itself with version overrides and don't want to change the APIs
14 in here back and forth every time this comes up (and as a result
15 force users to change their code accordingly), this overlay
16 is kept on purpose, even when empty.
17
18 [1] 72a14ea563a3f5bf85db659349a533fe75a8b0ce
19 [2] f931bc81d63f5cfda55ac73d754c87b3fd63b291
20 */
21 django = super.django_3;
22
23 # https://gitlab.com/mailman/hyperkitty/-/merge_requests/541
24 mistune = super.mistune.overridePythonAttrs (old: rec {
25 version = "2.0.5";
26 src = fetchPypi {
27 inherit (old) pname;
28 inherit version;
29 hash = "sha256-AkYRPLJJLbh1xr5Wl0p8iTMzvybNkokchfYxUc7gnTQ=";
30 };
31 });
32 })
33
34 overlay;
35}