pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / games / anki / sync-server.nix
blob0b351ae3ffade3b65dc29d50ee77f0f537134ee5
1 { lib
2 , stdenv
3 , rustPlatform
4 , anki
5 , darwin
7 , openssl
8 , pkg-config
9 , protobuf
12 rustPlatform.buildRustPackage {
13   pname = "anki-sync-server";
14   inherit (anki) version src cargoLock;
16   patches = [
17     ./patches/Cargo.lock-update-time-for-rust-1.80.patch
18   ];
20   # only build sync server
21   cargoBuildFlags = [
22     "--bin"
23     "anki-sync-server"
24   ];
26   checkFlags = [
27     # these two tests are flaky, see https://github.com/ankitects/anki/issues/3353
28     # Also removed from anki when removing this.
29     "--skip=media::check::test::unicode_normalization"
30     "--skip=scheduler::answering::test::state_application"
31   ];
33   nativeBuildInputs = [ protobuf pkg-config ];
35   buildInputs = [
36     openssl
37   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
38     darwin.apple_sdk.frameworks.Security
39     darwin.apple_sdk.frameworks.SystemConfiguration
40   ];
42   env.PROTOC = lib.getExe protobuf;
44   meta = with lib; {
45     description = "Standalone official anki sync server";
46     homepage = "https://apps.ankiweb.net";
47     license = with licenses; [ agpl3Plus ];
48     maintainers = with maintainers; [ martinetd ];
49     mainProgram = "anki-sync-server";
50   };