152 lines
3.9 KiB
Nix
152 lines
3.9 KiB
Nix
final: prev:
|
|
let
|
|
pkgs = final.pkgs;
|
|
in {
|
|
python3 = prev.python3.override {
|
|
packageOverrides = final: prev: with final; {
|
|
sqlalchemy = prev.sqlalchemy.overridePythonAttrs (old: rec {
|
|
version = "2.0.19";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "sqlalchemy";
|
|
repo = "sqlalchemy";
|
|
rev = "refs/tags/rel_${lib.replaceStrings [ "." ] [ "_" ] version}";
|
|
hash = "sha256-97q04wQVtlV2b6VJHxvnQ9ep76T5umn1KI3hXh6a8kU=";
|
|
};
|
|
disabledTestPaths = old.disabledTestPaths ++ [ "test/typing" ];
|
|
});
|
|
urlobject = buildPythonPackage rec {
|
|
pname = "URLObject";
|
|
version = "2.4.3";
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
sha256 = "47b2e20e6ab9c8366b2f4a3566b6ff4053025dad311c4bb71279bbcfa2430caa";
|
|
};
|
|
doCheck = true;
|
|
propagatedBuildInputs = [
|
|
];
|
|
};
|
|
flask-dance = buildPythonPackage rec {
|
|
pname = "Flask-Dance";
|
|
version = "7.0.0";
|
|
format = "pyproject";
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
sha256 = "a37dec5c3a21f13966178285d5c10691cd72203dcef8a01db802fef6287e716d";
|
|
};
|
|
doCheck = true;
|
|
propagatedBuildInputs = [
|
|
requests
|
|
oauthlib
|
|
requests_oauthlib
|
|
flask
|
|
urlobject
|
|
flit-core
|
|
];
|
|
checkInputs = [
|
|
pytest
|
|
nose
|
|
pytest-mock
|
|
responses
|
|
freezegun
|
|
coverage
|
|
# testing sqlalchemy support
|
|
sqlalchemy
|
|
flask_sqlalchemy
|
|
# testing integration with other extensions
|
|
flask_login
|
|
flask-caching
|
|
betamax
|
|
# we need the `signedtoken` extra for `oauthlib`
|
|
# oauthlib[signedtoken]
|
|
];
|
|
|
|
};
|
|
|
|
ory-hydra-client = buildPythonPackage {
|
|
pname = "ory-hydra-client";
|
|
version = "2.0.3";
|
|
src = ./libs/ory-hydra-client;
|
|
doCheck = false;
|
|
propagatedBuildInputs = [
|
|
urllib3
|
|
python-dateutil
|
|
attrs
|
|
httpx
|
|
];
|
|
};
|
|
flask-sqlalchemy = prev.flask-sqlalchemy.overridePythonAttrs (old: rec {
|
|
version = "3.1.1";
|
|
# version = "3.0.3";
|
|
src = fetchPypi {
|
|
pname = "flask_sqlalchemy";
|
|
inherit version;
|
|
sha256 = "e4b68bb881802dda1a7d878b2fc84c06d1ee57fb40b874d3dc97dabfa36b8312";
|
|
};
|
|
propagatedBuildInputs = old.propagatedBuildInputs ++ [
|
|
flit-core sqlalchemy
|
|
];
|
|
nativeCheckInputs = old.nativeCheckInputs ++ [
|
|
typing-extensions
|
|
];
|
|
});
|
|
flask = prev.flask.overridePythonAttrs (old: {
|
|
propagatedBuildInputs = old.propagatedBuildInputs ++ flask.optional-dependencies.async;
|
|
});
|
|
lenticular-cloud = buildPythonPackage {
|
|
pname = "lenticular_cloud";
|
|
version = "0.3";
|
|
src = ./.;
|
|
propagatedBuildInputs = [
|
|
flask
|
|
flask-restful
|
|
flask_sqlalchemy
|
|
flask_wtf
|
|
flask-babel
|
|
flask_login
|
|
requests
|
|
requests_oauthlib
|
|
ldap3
|
|
#ldap3-orm
|
|
pyotp
|
|
cryptography
|
|
blinker
|
|
authlib # as oauth client lib
|
|
fido2 # for webauthn
|
|
flask_migrate # db migrations
|
|
flask-dance
|
|
ory-hydra-client
|
|
toml
|
|
|
|
pkgs.nodejs
|
|
#node-env
|
|
gunicorn
|
|
psycopg2
|
|
];
|
|
testBuildInputs = [
|
|
pytest
|
|
pytest-mypy
|
|
flask_testing
|
|
tox
|
|
|
|
types-dateutil
|
|
types-toml
|
|
|
|
nose
|
|
mypy
|
|
|
|
];
|
|
# passthru = {
|
|
# inherit python;
|
|
# pythonPath = python.pkgs.makePythonPath propagatedBuildInputs;
|
|
# };
|
|
|
|
|
|
doCheck = false;
|
|
checkInputs = [
|
|
pytest
|
|
];
|
|
};
|
|
};
|
|
};
|
|
lenticular-cloud = final.python3.pkgs.lenticular-cloud;
|
|
} |