From 2f8dce44d3f2be74b5c6ec0a2e7f4ceced715328 Mon Sep 17 00:00:00 2001 From: pennae Date: Wed, 13 Jul 2022 10:33:30 +0200 Subject: initial import --- default.nix | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 default.nix (limited to 'default.nix') diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..1942086 --- /dev/null +++ b/default.nix @@ -0,0 +1,54 @@ +{ stdenv +, rustPlatform +, rust +, lib +, openssl +, pkg-config +, postgresql +, postgresqlTestHook +, python3 +}: + +rustPlatform.buildRustPackage rec { + pname = "minor-skulk"; + version = "0.1.0"; + + src = lib.cleanSource ./.; + + nativeBuildInputs = [ + pkg-config + ]; + checkInputs = [ + openssl + postgresql + postgresqlTestHook + (python3.withPackages (p: [ p.pytest p.pyfxa p.requests p.http-ece p.aiosmtpd ])) + ]; + buildInputs = [ + openssl + ]; + + postPatch = '' + patchShebangs ./tests/run.sh + ''; + + # tests can't run multithreaded yet + dontUseCargoParallelTests = true; + + # test config for postgres hook and integration tests + PGDATABASE = "testdb"; + PGUSER = "testuser"; + ROCKET_DATABASE_URL = "postgres:///${PGDATABASE}?user=${PGUSER}"; + ROCKET_LOCATION = "http://localhost:8000"; + ROCKET_TOKEN_SERVER_LOCATION = "http://localhost:5000"; + ROCKET_VAPID_KEY = "private_key.pem"; + ROCKET_VAPID_SUBJECT = "undefined"; # not needed for tests + ROCKET_MAIL_FROM = "minor skulk "; + ROCKET_MAIL_PORT = 2525; + + preCheck = '' + openssl ecparam -genkey -name prime256v1 -out private_key.pem + ''; + + cargoLock.lockFile = ./Cargo.lock; +} -- cgit v1.2.3