
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.
70 lines
1.3 KiB
Nix
70 lines
1.3 KiB
Nix
{ lib
|
|
, python3
|
|
, fetchPypi
|
|
}:
|
|
|
|
let
|
|
py = python3.override {
|
|
self = py;
|
|
packageOverrides = self: super: {
|
|
wtforms = super.wtforms.overridePythonAttrs (oldAttrs: rec {
|
|
version = "2.3.1";
|
|
|
|
src = fetchPypi {
|
|
pname = "WTForms";
|
|
inherit version;
|
|
sha256 = "sha256-hhoTs65SHWcA2sOydxlwvTVKY7pwQ+zDqCtSiFlqGXI=";
|
|
};
|
|
|
|
doCheck = false;
|
|
});
|
|
};
|
|
};
|
|
in
|
|
with py.pkgs;
|
|
|
|
buildPythonApplication rec {
|
|
pname = "archivy";
|
|
version = "1.7.3";
|
|
format = "setuptools";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-ns1Y0DqqnTAQMEt+oBJ/P2gqKqPsX9P3/Z4561qzuns";
|
|
};
|
|
|
|
|
|
pythonRelaxDeps = true;
|
|
|
|
propagatedBuildInputs = [
|
|
appdirs
|
|
attrs
|
|
beautifulsoup4
|
|
click-plugins
|
|
elasticsearch
|
|
flask-compress
|
|
flask-login
|
|
flask-wtf
|
|
html2text
|
|
python-dotenv
|
|
python-frontmatter
|
|
readability-lxml
|
|
requests
|
|
setuptools
|
|
tinydb
|
|
validators
|
|
wtforms
|
|
];
|
|
|
|
# __init__.py attempts to mkdir in read-only file system
|
|
doCheck = false;
|
|
|
|
meta = with lib; {
|
|
description = "Self-hosted knowledge repository";
|
|
homepage = "https://archivy.github.io";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ siraben ];
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|