13 py = python3.override {
15 packageOverrides = final: prev: {
16 # sqlalchemy 1.4.x or 2.x are not supported
17 sqlalchemy = prev.sqlalchemy_1_4.overridePythonAttrs (oldAttrs: rec {
22 hash = "sha256-67t3fL+TEjWbiXv4G6ANrg9ctp+6KhgmXcwYpvXvdRk=";
25 sed -i '/tag_build = dev/d' setup.cfg
29 alembic = prev.alembic.overridePythonAttrs (lib.const {
32 factory-boy = prev.factory-boy.overridePythonAttrs (lib.const {
35 beautifultable = prev.beautifultable.overridePythonAttrs (oldAttrs: rec {
38 inherit (oldAttrs) pname;
40 hash = "sha256-1E2VUbvte/qIZ1Mk+E77mqhXOE1E6fsh61MPCgutuBU=";
48 py.pkgs.buildPythonPackage rec {
53 src = fetchFromGitHub {
57 hash = "sha256-UIOKXU92JEOeVdpYLNmDBtLn0u3LMdKItcn9bFd9u8g=";
61 # starlette 0.37.2 reverted the behaviour change which this adjusted to
63 url = "https://github.com/irrdnet/irrd/commit/43e26647e18f8ff3459bbf89ffbff329a0f1eed5.patch";
65 hash = "sha256-G216rHfWMZIl9GuXBz6mjHCIm3zrfDDLSmHQK/HkkzQ=";
67 # Backport build fix for webauthn 2.1
69 url = "https://github.com/irrdnet/irrd/commit/20b771e1ee564f38e739fdb0a2a79c10319f638f.patch";
70 hash = "sha256-PtNdhSoFPT1kt71kFsySp/VnUpUdO23Gu9FKknHLph8=";
71 includes = ["irrd/webui/auth/endpoints_mfa.py"];
76 substituteInPlace pyproject.toml \
77 --replace-fail psycopg2-binary psycopg2
79 pythonRelaxDeps = true;
81 nativeBuildInputs = with python3.pkgs; [
98 propagatedBuildInputs = with py.pkgs; [
141 ] ++ py.pkgs.uvicorn.optional-dependencies.standard;
147 while ! redis-cli --scan ; do
148 echo waiting for redis
152 export SMTPD_HOST=127.0.0.1
153 export IRRD_DATABASE_URL="postgres:///$PGDATABASE"
154 export IRRD_REDIS_URL="redis://localhost/1"
157 # required for test_object_writing_and_status_checking
158 postgresqlTestSetupPost = ''
159 echo "track_commit_timestamp=on" >> $PGDATA/postgresql.conf
167 # skip tests that require internet access
169 "test_020_dash_o_noop"
170 "test_050_non_json_response"
174 changelog = "https://irrd.readthedocs.io/en/v${version}/releases/";
175 description = "Internet Routing Registry database server, processing IRR objects in the RPSL format";
176 license = licenses.mit;
177 homepage = "https://github.com/irrdnet/irrd";
178 maintainers = teams.wdz.members;