The build fails for me with
File "/nix/store/3wbw03q2z5d7ys1pzp30rmzn6qcxnyrp-python3.12-poetry-core-2.0.0/lib/python3.12/site-packages/poetry/core/masonry/metadata.py", line 112, in from_package
if name == "repository" and url == package.urls["Repository"]:
~~~~~~~~~~~~^^^^^^^^^^^^^^
KeyError: 'Repository'
error: subprocess-exited-with-error
Making the `repository` key in the `urls` section of `pyproject.toml`
fixes the build.
There's a pending upstream PR doing the same: https://github.com/pyradius/pyrad/pull/209
158 lines
5.3 KiB
Nix
158 lines
5.3 KiB
Nix
pkgs:
|
|
[
|
|
# modules missing only setuptools
|
|
(final: prev:
|
|
(builtins.listToAttrs (map (name: {
|
|
inherit name;
|
|
value = prev.${name}.overrideAttrs (oA: {
|
|
nativeBuildInputs = (oA.nativeBuildInputs or []) ++ [ final.setuptools ];
|
|
});
|
|
}) [
|
|
"django-cte"
|
|
"django-tenants"
|
|
"dumb-init"
|
|
"drf-orjson-renderer"
|
|
]))
|
|
)
|
|
(final: prev: {
|
|
xmlsec = prev.xmlsec.overridePythonAttrs (oA: {
|
|
nativeBuildInputs = oA.nativeBuildInputs ++ [ final.setuptools final.pkgconfig ];
|
|
buildInputs = [ pkgs.xmlsec.dev pkgs.xmlsec pkgs.libxml2 pkgs.libtool ];
|
|
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
|
|
});
|
|
opencontainers = prev.opencontainers.overrideAttrs (oA: {
|
|
nativeBuildInputs = oA.nativeBuildInputs ++ [
|
|
final.setuptools
|
|
final.pytest
|
|
];
|
|
postPatch = ''
|
|
substituteInPlace setup.py --replace-fail '"pytest-runner"' '''
|
|
'';
|
|
});
|
|
psycopg-c = prev.psycopg-c.overrideAttrs (oA: {
|
|
nativeBuildInputs = oA.nativeBuildInputs ++ [
|
|
final.setuptools
|
|
final.tomli
|
|
pkgs.postgresql
|
|
];
|
|
});
|
|
twisted = prev.twisted.overrideAttrs (oA: {
|
|
buildInputs = oA.buildInputs ++ [
|
|
final.hatchling
|
|
final.hatch-fancy-pypi-readme
|
|
];
|
|
});
|
|
#cryptography = prev.cryptography.overridePythonAttrs (oA: {
|
|
# cargoDeps = pkgs.rustPlatform.fetchCargoTarball {
|
|
# src = oA.src;
|
|
# sourceRoot = "${oA.pname}-${oA.version}/src/rust";
|
|
# name = "${oA.pname}-${oA.version}";
|
|
# sha256 = "sha256-PgxPcFocEhnQyrsNtCN8YHiMptBmk1PUhEDQFdUR1nU=";
|
|
# };
|
|
#});
|
|
dnspython = prev.dnspython.overrideAttrs (oA: {
|
|
buildInputs = oA.buildInputs ++ [
|
|
final.hatchling
|
|
];
|
|
});
|
|
sqlparse = prev.sqlparse.overrideAttrs (oA: {
|
|
nativeBuildInputs = oA.nativeBuildInputs ++ [
|
|
final.hatchling
|
|
];
|
|
});
|
|
scim2-filter-parser = prev.scim2-filter-parser.overrideAttrs (oA: {
|
|
patches = [
|
|
(pkgs.fetchpatch {
|
|
name = "replace-poetry-with-poetry-core.patch";
|
|
url = "https://patch-diff.githubusercontent.com/raw/15five/scim2-filter-parser/pull/43.patch";
|
|
hash = "sha256-PjJH1S5CDe/BMI0+mB34KdpNNcHfexBFYBmHolsWH4o=";
|
|
})
|
|
];
|
|
nativeBuildInputs = oA.nativeBuildInputs ++ [
|
|
final.poetry-core
|
|
];
|
|
});
|
|
pendulum = prev.pendulum.overrideAttrs (oA: {
|
|
nativeBuildInputs = oA.nativeBuildInputs ++ [
|
|
pkgs.rustPlatform.cargoSetupHook
|
|
pkgs.rustPlatform.maturinBuildHook
|
|
];
|
|
cargoRoot = "rust";
|
|
cargoDeps = pkgs.rustPlatform.fetchCargoTarball {
|
|
src = oA.src;
|
|
sourceRoot = "${oA.pname}-${oA.version}/rust";
|
|
name = "${oA.pname}-${oA.version}";
|
|
sha256 = "sha256-6fw0KgnPIMfdseWcunsGjvjVB+lJNoG3pLDqkORPJ0I=";
|
|
};
|
|
});
|
|
django-pgactivity = prev.django-pgactivity.overrideAttrs (oA: {
|
|
nativeBuildInputs = oA.nativeBuildInputs ++ [
|
|
final.poetry-core
|
|
];
|
|
});
|
|
docker = prev.docker.overrideAttrs (oA: {
|
|
nativeBuildInputs = oA.nativeBuildInputs ++ [
|
|
prev.hatchling
|
|
prev.hatch-vcs
|
|
];
|
|
});
|
|
django-pglock= prev.django-pglock.overrideAttrs (oA: {
|
|
nativeBuildInputs = oA.nativeBuildInputs ++ [
|
|
final.poetry-core
|
|
];
|
|
});
|
|
# https://github.com/pyradius/pyrad/pull/168/files
|
|
# not included in the latest release :/
|
|
pyrad = prev.pyrad.overrideAttrs (oA: {
|
|
postPatch = ''
|
|
substituteInPlace pyproject.toml \
|
|
--replace-fail "poetry.masonry.api" "poetry.core.masonry.api" \
|
|
--replace-fail "repository =" "Repository ="
|
|
'';
|
|
});
|
|
msgraph-sdk = prev.msgraph-sdk.overrideAttrs (oA: {
|
|
nativeBuildInputs = oA.nativeBuildInputs ++ [
|
|
final.flit-core
|
|
];
|
|
});
|
|
python-kadmin-rs = prev.python-kadmin-rs.overrideAttrs (oA: {
|
|
pythonImportsCheck = [ "kadmin" ];
|
|
nativeBuildInputs = oA.nativeBuildInputs ++ [
|
|
pkgs.rustPlatform.cargoSetupHook
|
|
pkgs.rustc
|
|
pkgs.cargo
|
|
final.setuptools
|
|
final.setuptools-scm
|
|
final.setuptools-rust
|
|
pkgs.sccache
|
|
pkgs.pkg-config
|
|
pkgs.rustPlatform.bindgenHook
|
|
pkgs.libkrb5
|
|
];
|
|
buildInputs = oA.buildInputs ++ [
|
|
pkgs.krb5
|
|
];
|
|
cargoDeps = pkgs.rustPlatform.fetchCargoTarball {
|
|
inherit (oA) pname version src;
|
|
hash = "sha256-iH2fm4OUwLdx+lqmPNOkzM3LH6gBVYDtZ+livhOQrE4=";
|
|
};
|
|
});
|
|
gssapi = prev.gssapi.overrideAttrs (oA: {
|
|
nativeBuildInputs = oA.nativeBuildInputs ++ [
|
|
final.setuptools
|
|
final.cython
|
|
pkgs.krb5
|
|
];
|
|
postPatch = ''
|
|
substituteInPlace setup.py \
|
|
--replace-fail 'get_output(f"{kc} gssapi --prefix")' '"${pkgs.krb5.dev}"'
|
|
'';
|
|
pythonImportsCheck = [ "gssapi" ];
|
|
});
|
|
# break dependency cycle that causes an infinite recursion
|
|
ua-parser-builtins = prev.ua-parser-builtins.overridePythonAttrs (oA: {
|
|
propagatedBuildInputs = builtins.filter (p: p.pname != "ua-parser") oA.propagatedBuildInputs;
|
|
});
|
|
}
|
|
)
|
|
]
|