overrides: Move build-systems to separate file which can be automatically generated

This change uses the new development tool to derive build-systems from
nixpkgs to the extent that it is possible.

This will reduce the maintenance burden on us a bit until the upstream Poetry issue around this is solved.
Additionally it will fix a lot of packages we didn't even know were broken to begin with.
This commit is contained in:
adisbladis 2022-01-21 12:46:20 +12:00
parent 044d7d70fc
commit 849e0e3ca4
3 changed files with 2971 additions and 2247 deletions

View file

@ -0,0 +1,830 @@
{
"adguardhome": [
"poetry-core"
],
"aioambient": [
"poetry-core"
],
"aiocurrencylayer": [
"poetry-core"
],
"aioeafm": [
"poetry"
],
"aiofiles": [
"poetry-core"
],
"aioflo": [
"poetry-core"
],
"aioguardian": [
"poetry-core"
],
"aiohomekit": [
"poetry-core"
],
"aiojobs": [
"flitBuildHook"
],
"aiomultiprocess": [
"flit-core"
],
"aiomusiccast": [
"poetry-core"
],
"aionotion": [
"poetry-core"
],
"aiopvpc": [
"poetry-core"
],
"aiorecollect": [
"poetry-core"
],
"aioresponses": [
"pbr"
],
"aioridwell": [
"poetry-core"
],
"aiorun": [
"flitBuildHook"
],
"aiosqlite": [
"poetry-core"
],
"aioswitcher": [
"poetry-core"
],
"aiowatttime": [
"poetry-core"
],
"ambee": [
"poetry-core"
],
"amqtt": [
"poetry-core"
],
"aria2p": [
"poetry"
],
"async-dns": [
"poetry-core"
],
"asyncmy": [
"poetry-core"
],
"asyncstdlib": [
"flitBuildHook"
],
"authcaptureproxy": [
"poetry-core"
],
"backcall": [
"flit-core"
],
"backoff": [
"poetry"
],
"bandit": [
"pbr"
],
"bash_kernel": [
"flitBuildHook"
],
"bimmer-connected": [
"pbr"
],
"build": [
"flit-core"
],
"cattrs": [
"poetry-core"
],
"censys": [
"poetry-core"
],
"cleo": [
"poetry-core"
],
"cliff": [
"pbr"
],
"clikit": [
"poetry-core"
],
"collections-extended": [
"poetry-core"
],
"colorclass": [
"poetry"
],
"colorhash": [
"poetry"
],
"confuse": [
"flit-core",
"flitBuildHook"
],
"crashtest": [
"poetry-core"
],
"credis": [
"poetry-core"
],
"cssselect2": [
"flit"
],
"cyclonedx-python-lib": [
"poetry-core"
],
"debtcollector": [
"pbr"
],
"deezer-python": [
"poetry-core"
],
"diagrams": [
"poetry-core"
],
"django-graphiql-debug-toolbar": [
"poetry-core"
],
"django-timezone-field": [
"poetry-core"
],
"doc8": [
"pbr"
],
"ecs-logging": [
"flit-core",
"flitBuildHook"
],
"eebrightbox": [
"pbr"
],
"elegy": [
"poetry"
],
"elgato": [
"poetry-core"
],
"elkm1-lib": [
"poetry-core"
],
"elmax": [
"poetry-core"
],
"enturclient": [
"poetry-core"
],
"fastapi": [
"flitBuildHook"
],
"fixtures": [
"pbr"
],
"flipr-api": [
"poetry-core"
],
"flit": [
"flit-core"
],
"formbox": [
"flitBuildHook"
],
"freebox-api": [
"poetry-core"
],
"funcparserlib": [
"poetry-core"
],
"furo": [
"flitBuildHook"
],
"gaphas": [
"poetry-core"
],
"generic": [
"poetry-core"
],
"glances-api": [
"poetry-core"
],
"gradient-utils": [
"poetry-core"
],
"graphql-core": [
"poetry-core"
],
"graphql-relay": [
"poetry-core"
],
"gvm-tools": [
"poetry-core"
],
"hacking": [
"pbr"
],
"hashids": [
"flit-core"
],
"hdate": [
"poetry-core"
],
"html5lib": [
"flit-core"
],
"hyperion-py": [
"poetry-core"
],
"hypothesis-auto": [
"poetry"
],
"hypothesis-graphql": [
"poetry"
],
"icmplib": [
"pbr"
],
"idasen": [
"poetry-core"
],
"immutabledict": [
"poetry-core"
],
"ipfshttpclient": [
"flitBuildHook"
],
"isort": [
"poetry-core"
],
"jedi-language-server": [
"poetry"
],
"jeepney": [
"flit-core"
],
"jenkins-job-builder": [
"pbr"
],
"jinja2-git": [
"poetry-core"
],
"jschema-to-python": [
"pbr"
],
"json-schema-for-humans": [
"poetry-core"
],
"keystoneauth1": [
"pbr"
],
"langcodes": [
"poetry-core"
],
"language-data": [
"poetry-core"
],
"lc7001": [
"poetry-core"
],
"ldappool": [
"pbr"
],
"linecache2": [
"pbr"
],
"loca": [
"flitBuildHook"
],
"lockfile": [
"pbr"
],
"luftdaten": [
"poetry-core"
],
"maestral": [
"pbr"
],
"matrix-nio": [
"poetry-core"
],
"mcstatus": [
"poetry-core"
],
"mdformat": [
"poetry-core"
],
"mdurl": [
"flit-core"
],
"mediafile": [
"flit-core",
"flitBuildHook"
],
"mock": [
"pbr"
],
"mongomock": [
"pbr"
],
"motioneye-client": [
"poetry-core"
],
"mox3": [
"pbr"
],
"msoffcrypto-tool": [
"poetry-core"
],
"munch": [
"pbr"
],
"myhome": [
"poetry-core"
],
"mypy-boto3-builder": [
"poetry-core"
],
"nats-python": [
"poetry-core"
],
"netdata": [
"poetry-core"
],
"nixpkgs": [
"pbr"
],
"notus-scanner": [
"poetry-core"
],
"ntc-templates": [
"poetry-core"
],
"omnikinverter": [
"poetry-core"
],
"open-meteo": [
"poetry-core"
],
"openstacksdk": [
"pbr"
],
"ormar": [
"poetry-core"
],
"os-service-types": [
"pbr"
],
"osc-lib": [
"pbr"
],
"oslo-concurrency": [
"pbr"
],
"oslo-config": [
"pbr"
],
"oslo-context": [
"pbr"
],
"oslo-db": [
"pbr"
],
"oslo-i18n": [
"pbr"
],
"oslo-log": [
"pbr"
],
"oslo-serialization": [
"pbr"
],
"oslo-utils": [
"pbr"
],
"oslotest": [
"pbr"
],
"p1monitor": [
"poetry-core"
],
"pastel": [
"poetry-core"
],
"pendulum": [
"poetry-core"
],
"pep440-version-utils": [
"poetry"
],
"pep517": [
"flit-core"
],
"pex": [
"flit-core",
"flitBuildHook"
],
"pixelmatch": [
"poetry-core"
],
"poetry": [
"poetry-core"
],
"poetry2conda": [
"poetry"
],
"pontos": [
"poetry-core"
],
"ptyprocess": [
"flit-core"
],
"pvo": [
"poetry-core"
],
"py-synologydsm-api": [
"poetry-core"
],
"py17track": [
"poetry-core"
],
"pyairnow": [
"poetry"
],
"pyairvisual": [
"poetry-core"
],
"pyebus": [
"poetry-core"
],
"pyflunearyou": [
"poetry-core"
],
"pyiqvia": [
"poetry-core"
],
"pyjsg": [
"pbr"
],
"pykka": [
"poetry-core"
],
"pymaven-patch": [
"pbr"
],
"pymfy": [
"poetry-core"
],
"pynixutil": [
"poetry"
],
"pynuki": [
"poetry-core"
],
"pyopenuv": [
"poetry-core"
],
"pyopnsense": [
"pbr"
],
"pypass": [
"pbr"
],
"pypika-tortoise": [
"poetry-core"
],
"pypoolstation": [
"poetry-core"
],
"pyppeteer": [
"poetry-core"
],
"pyproject-flake8": [
"flit-core"
],
"pyquil": [
"poetry-core"
],
"pyrmvtransport": [
"flit"
],
"pyshex": [
"pbr"
],
"pyshexc": [
"pbr"
],
"pysnow": [
"poetry"
],
"pytest-check": [
"flitBuildHook"
],
"pytest-cid": [
"flitBuildHook"
],
"pytest-httpserver": [
"poetry-core"
],
"pytest-mockservers": [
"poetry-core"
],
"pytest-raisin": [
"flit-core",
"flitBuildHook"
],
"pytest-socket": [
"poetry-core"
],
"python-awair": [
"poetry-core"
],
"python-cinderclient": [
"pbr"
],
"python-glanceclient": [
"pbr"
],
"python-gvm": [
"poetry-core"
],
"python-heatclient": [
"pbr"
],
"python-ironicclient": [
"pbr"
],
"python-jenkins": [
"pbr"
],
"python-kasa": [
"poetry-core"
],
"python-keystoneclient": [
"pbr"
],
"python-manilaclient": [
"pbr"
],
"python-miio": [
"poetry"
],
"python-novaclient": [
"pbr"
],
"python-openstackclient": [
"pbr"
],
"python-songpal": [
"poetry-core"
],
"python-swiftclient": [
"pbr"
],
"pytile": [
"poetry-core"
],
"pytzdata": [
"poetry"
],
"pyvera": [
"poetry-core"
],
"pywbem": [
"pbr"
],
"pywemo": [
"poetry-core"
],
"qcs-api-client": [
"poetry-core"
],
"questionary": [
"poetry-core"
],
"regenmaschine": [
"poetry-core"
],
"remarshal": [
"poetry-core"
],
"renault-api": [
"poetry-core"
],
"requests-cache": [
"poetry-core"
],
"requests-mock": [
"pbr"
],
"requests-unixsocket": [
"pbr"
],
"requestsexceptions": [
"pbr"
],
"retry": [
"pbr"
],
"rich": [
"poetry-core"
],
"rmcl": [
"poetry-core"
],
"rmfuse": [
"poetry-core"
],
"rmrl": [
"poetry-core"
],
"roombapy": [
"poetry-core"
],
"roonapi": [
"poetry-core"
],
"rsa": [
"poetry-core"
],
"sanic": [
"poetry-core"
],
"sarif-om": [
"pbr"
],
"shexjsg": [
"pbr"
],
"simplisafe-python": [
"poetry-core"
],
"slowapi": [
"poetry-core"
],
"solo-python": [
"flitBuildHook"
],
"sparqlslurper": [
"pbr"
],
"sphinx-inline-tabs": [
"flitBuildHook"
],
"sphinx-jinja": [
"pbr"
],
"sphinxcontrib-fulltoc": [
"pbr"
],
"sphinxcontrib-spelling": [
"pbr"
],
"spiderpy": [
"poetry-core"
],
"sqlalchemy-migrate": [
"pbr"
],
"sqlalchemy_migrate": [
"pbr"
],
"ssdp": [
"pbr"
],
"staticjinja": [
"poetry-core"
],
"stestr": [
"pbr"
],
"stevedore": [
"pbr"
],
"structlog": [
"flitBuildHook"
],
"subunit2sql": [
"pbr"
],
"surepy": [
"poetry-core"
],
"swift": [
"pbr"
],
"synologydsm-api": [
"poetry-core"
],
"tailscale": [
"poetry-core"
],
"tarsafe": [
"poetry"
],
"tempest": [
"pbr"
],
"tenacity": [
"pbr"
],
"terminaltables": [
"poetry"
],
"tern": [
"pbr"
],
"tesla-wall-connector": [
"poetry-core"
],
"teslajsonpy": [
"poetry-core"
],
"testrepository": [
"pbr"
],
"testresources": [
"pbr"
],
"testtools": [
"pbr"
],
"threadpoolctl": [
"flitBuildHook"
],
"tinycss2": [
"flitBuildHook"
],
"tinydb": [
"poetry-core"
],
"toggl-cli": [
"pbr"
],
"tomli": [
"flit-core"
],
"tomli-w": [
"flit-core"
],
"tomlkit": [
"poetry-core"
],
"tortoise-orm": [
"poetry-core"
],
"traceback2": [
"pbr"
],
"treeo": [
"poetry-core"
],
"treex": [
"poetry-core"
],
"twentemilieu": [
"poetry-core"
],
"typical": [
"poetry-core"
],
"typing-extensions": [
"flit-core"
],
"unpaddedbase64": [
"poetry-core"
],
"url-normalize": [
"poetry-core"
],
"vehicle": [
"poetry-core"
],
"virtualenvwrapper": [
"pbr"
],
"wakeonlan": [
"poetry-core"
],
"weasyprint": [
"flit-core"
],
"wled": [
"poetry-core"
],
"xdg": [
"poetry-core"
],
"xpath-expressions": [
"poetry-core"
],
"yaspin": [
"poetry-core"
],
"zeversolarlocal": [
"flit-core",
"flitBuildHook"
]
}

View file

@ -3,8 +3,51 @@
, stdenv ? pkgs.stdenv
}:
self: super:
let
addBuildSystem =
{ self
, drv
, attr
}: (
# Flit only works on Python3
if (attr == "flit-core" || attr == "flit") && !self.isPy3k then drv
else
drv.overridePythonAttrs (
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.${attr} ];
}
)
);
in
lib.composeManyExtensions [
# NixOps
(self: super:
lib.mapAttrs (_: v: addBuildSystem { inherit self; drv = v; attr = "poetry"; }) (lib.filterAttrs (n: _: lib.strings.hasPrefix "nixops" n) super)
// {
# NixOps >=2 dependency
nixos-modules-contrib = addBuildSystem { inherit self; drv = super.nixos-modules-contrib; attr = "poetry"; };
}
)
# Add build systems
(self: super:
let
buildSystems = lib.importJSON ./build-systems.json;
in
lib.mapAttrs
(attr: systems: builtins.foldl'
(drv: attr: addBuildSystem {
inherit drv self attr;
})
super.${attr}
systems)
buildSystems)
# Build fixes
(self: super:
let
inherit (self.python) stdenv;
inherit (pkgs.buildPackages) pkg-config;
@ -12,41 +55,6 @@ let
pyBuildPackages = self.python.pythonForBuild.pkgs;
inherit (pyBuildPackages) cython;
addFlit =
{ drv
, cond ? true
, flitDrv ? self.flit-core
}: (
# Flit isn't available on Python2
if (cond && self.isPy3k) then
drv.overridePythonAttrs
(
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ flitDrv ];
}
) else drv
);
addPoetry =
{ drv
, cond ? true
, poetryDrv ? self.poetry-core
}: (
if cond then
drv.overridePythonAttrs
(
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ poetryDrv ];
}
) else drv
);
addPbr = drv: drv.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ];
}
);
in
{
@ -62,12 +70,6 @@ in
}
);
aiosqlite = addFlit { drv = super.aiosqlite; };
aioresponses = addPbr super.aioresponses;
aiofiles = addPoetry { drv = super.aiofiles; };
ansible = super.ansible.overridePythonAttrs (
old: {
# Inputs copied from nixpkgs as ansible doesn't specify it's dependencies
@ -127,14 +129,14 @@ in
}
);
argon2-cffi = addFlit {
argon2-cffi =
if (lib.versionAtLeast super.argon2-cffi.version "21.2.0") then
addBuildSystem
{
inherit self;
drv = super.argon2-cffi;
cond = lib.versionAtLeast super.argon2-cffi.version "21.2.0";
};
backoff = addPoetry { drv = super.backoff; poetryDrv = self.poetry; };
backcall = addFlit { drv = super.backcall; };
attr = "flit-core";
} else super.argon2-cffi;
bcrypt = super.bcrypt.overridePythonAttrs (
old: {
@ -173,10 +175,7 @@ in
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
});
cssselect2 = (addFlit {
drv = super.cssselect2;
flitDrv = self.flit;
}).overridePythonAttrs (
cssselect2 = super.cssselect2.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
}
@ -209,10 +208,6 @@ in
}
);
cleo = addPoetry { drv = super.cleo; };
clikit = addPoetry { drv = super.clikit; };
cloudflare = super.cloudflare.overridePythonAttrs (
old: {
postPatch = ''
@ -227,10 +222,6 @@ in
}
);
colorclass = addPoetry { drv = super.colorclass; poetryDrv = self.poetry; };
colorhash = addPoetry { drv = super.colorhash; poetryDrv = self.poetry; };
configparser = super.configparser.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [
@ -239,8 +230,6 @@ in
}
);
crashtest = addPoetry { drv = super.crashtest; };
cryptography = super.cryptography.overridePythonAttrs (
old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ])
@ -460,12 +449,6 @@ in
}
);
fastapi = addFlit {
drv = super.fastapi;
# Note: requires full flit, not just flit-core
flitDrv = self.flit;
};
fastecdsa = super.fastecdsa.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ pkgs.gmp.dev ];
});
@ -505,10 +488,6 @@ in
}
);
graphql-core = addPoetry { drv = super.graphql-core; };
graphql-relay = addPoetry { drv = super.graphql-relay; };
gitpython = super.gitpython.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.typing-extensions ];
@ -595,14 +574,10 @@ in
}
);
html5lib = addFlit { drv = super.html5lib; };
httplib2 = super.httplib2.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyparsing ];
});
hypothesis-graphql = addPoetry { drv = super.hypothesis-graphql; poetryDrv = self.poetry; };
icecream = super.icecream.overridePythonAttrs (old: {
# # ERROR: Could not find a version that satisfies the requirement executing>=0.3.1 (from icecream) (from versions: none)
postPatch = ''
@ -695,8 +670,6 @@ in
}
);
jeepney = addFlit { drv = super.jeepney; };
jira = super.jira.overridePythonAttrs (
old: {
inherit (pkgs.python3Packages.jira) patches;
@ -824,10 +797,6 @@ in
}
);
langcodes = addPoetry { drv = super.langcodes; };
lockfile = addPbr super.lockfile;
lxml = super.lxml.overridePythonAttrs (
old: {
nativeBuildInputs = with pkgs.buildPackages; (old.nativeBuildInputs or [ ]) ++ [ pkg-config libxml2.dev libxslt.dev ] ++ lib.optionals stdenv.isDarwin [ xcodebuild ];
@ -976,8 +945,6 @@ in
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
});
mongomock = addPbr super.mongomock;
mpi4py = super.mpi4py.overridePythonAttrs (
old:
let
@ -1009,8 +976,6 @@ in
}
);
munch = addPbr super.munch;
mypy = super.mypy.overridePythonAttrs (
old: {
MYPY_USE_MYPYC =
@ -1124,8 +1089,6 @@ in
'';
});
pastel = addPoetry { drv = super.pastel; };
paramiko = super.paramiko.overridePythonAttrs (old: {
doCheck = false; # requires networking
});
@ -1156,8 +1119,6 @@ in
}
);
pep440-version-utils = addPoetry { drv = super.pep440-version-utils; poetryDrv = self.poetry; };
pillow = super.pillow.overridePythonAttrs (
old: {
nativeBuildInputs = [ pkg-config self.pytest-runner ] ++ (old.nativeBuildInputs or [ ]);
@ -1379,16 +1340,12 @@ in
++ [ pkgs.freetds ];
});
pynixutil = addPoetry { drv = super.pynixutil; poetryDrv = self.poetry; };
pyopenssl = super.pyopenssl.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ];
}
);
pypika-tortoise = addPoetry { drv = super.pypika-tortoise; };
pyproj = super.pyproj.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++
@ -1399,8 +1356,6 @@ in
}
);
pyproject-flake8 = addFlit { drv = super.pyproject-flake8; };
pyrfr = super.pyrfr.overridePythonAttrs (old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.swig ];
});
@ -1433,8 +1388,6 @@ in
}
);
pytzdata = addPoetry { drv = super.pytzdata; poetryDrv = self.poetry; };
pyqt5 =
let
drv = super.pyqt5;
@ -1566,8 +1519,6 @@ in
}
);
pytest-httpserver = addPoetry { drv = super.pytest-httpserver; };
pytest-randomly = super.pytest-randomly.overrideAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
self.importlib-metadata
@ -1709,29 +1660,13 @@ in
}
);
questionary = addPoetry { drv = super.questionary; };
requests-mock = addPbr super.requests-mock;
requests-unixsocket = addPbr super.requests-unixsocket;
requestsexceptions = addPbr super.requestsexceptions;
rlp = super.rlp.overridePythonAttrs {
preConfigure = ''
substituteInPlace setup.py --replace \'setuptools-markdown\' ""
'';
};
rsa = addPoetry { drv = super.rsa; };
rich = addPoetry { drv = super.rich; };
rmcl = addPoetry { drv = super.rmcl; };
rmrl = addPoetry { drv = super.rmrl; };
rmfuse = (addPoetry { drv = super.rmfuse; }).overridePythonAttrs (old: {
rmfuse = super.rmfuse.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
});
@ -1751,8 +1686,6 @@ in
}
);
# sanic = addPoetry { drv = super.sanic; };
scipy = super.scipy.overridePythonAttrs (
old:
if old.format != "wheel" then {
@ -1853,8 +1786,6 @@ in
}
);
tarsafe = addPoetry { drv = super.tarsafe; poetryDrv = self.poetry; };
tempora = super.tempora.overridePythonAttrs (
old: {
# required for the extra "toml" dependency in setuptools_scm[toml]
@ -1864,8 +1795,6 @@ in
}
);
terminaltables = addPoetry { drv = super.terminaltables; poetryDrv = self.poetry; };
tensorboard = super.tensorboard.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [
@ -1904,11 +1833,7 @@ in
}
);
tinycss2 = (addFlit {
drv = super.tinycss2;
# Note: requires full flit, not just flit-core
flitDrv = self.flit;
}).overridePythonAttrs (
tinycss2 = super.tinycss2.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
}
@ -1978,24 +1903,12 @@ in
}))
{ };
tortoise-orm = addPoetry { drv = super.tortoise-orm; };
typed_ast = super.typed-ast.overridePythonAttrs (old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
self.pytest-runner
];
});
typing-extensions =
let
# nix uses a dash, poetry uses an underscore
old = super.typing_extensions or super.typing-extensions;
in
addFlit {
drv = old;
cond = lib.versionAtLeast old.version "4.0.0";
};
urwidtrees = super.urwidtrees.overridePythonAttrs (
old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
@ -2092,24 +2005,25 @@ in
}
);
credis = (addPoetry { drv = super.credis; }).overridePythonAttrs (
credis = super.credis.overridePythonAttrs (
old: {
buildInputs = (old.buildInputs or [ ]) ++ [ self.cython ];
}
);
hashids = addFlit { drv = super.hashids; };
packaging =
let
old = super.packaging;
in
addFlit {
drv = old;
# From 20.5 until 20.7, packaging used flit for packaging (heh)
# See https://github.com/pypa/packaging/pull/352 and https://github.com/pypa/packaging/pull/367
cond = lib.versionAtLeast old.version "20.5" && lib.versionOlder old.version "20.8";
};
if (lib.versionAtLeast old.version "20.5" && lib.versionOlder old.version "20.8") then
addBuildSystem
{
inherit self;
drv = old;
attr = "flit-core";
} else old;
psutil = super.psutil.overridePythonAttrs (
old: {
@ -2196,9 +2110,6 @@ in
}
);
# NixOps >=2 dependency
nixos-modules-contrib = addPoetry { drv = super.nixos-modules-contrib; poetryDrv = self.poetry; };
wxpython = super.wxpython.overridePythonAttrs (old:
let
localPython = self.python.withPackages (ps: with ps; [
@ -2267,19 +2178,11 @@ in
'';
});
ptyprocess = addFlit { drv = super.ptyprocess; };
pygraphviz = super.pygraphviz.overridePythonAttrs (old: {
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.graphviz ];
});
pyjsg = addPbr super.pyjsg;
pyshex = addPbr super.pyshex;
pyshexc = addPbr super.pyshexc;
pysqlite = super.pysqlite.overridePythonAttrs (old: {
propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.sqlite ];
patchPhase = ''
@ -2294,14 +2197,6 @@ in
buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
});
shexjsg = addPbr super.shexjsg;
sparqlslurper = addPbr super.sparqlslurper;
tomlkit = addPoetry { drv = super.tomlkit; };
tomli = addFlit { drv = super.tomli; };
uwsgi = super.uwsgi.overridePythonAttrs (old: {
buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ncurses ];
sourceRoot = ".";
@ -2317,9 +2212,7 @@ in
buildInputs = (old.buildInputs or [ ]) ++ [ self.Babel ];
});
xdg = addPoetry { drv = super.xdg; };
} // (
# NixOps
(lib.mapAttrs (_: v: addPoetry { drv = v; poetryDrv = self.poetry; }) (lib.filterAttrs (n: _: lib.strings.hasPrefix "nixops" n) super))
}
)
]

View file

@ -22,5 +22,6 @@ pkgs.mkShell {
pkgs.niv
pkgs.jq
pkgs.nix-prefetch-git
pkgs.nix-eval-jobs
];
}