chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / sy / syncstorage-rs / package.nix
blob9292cd167700613ff1436c8a5d5349c64824100f
1 { fetchFromGitHub
2 , rustPlatform
3 , pkg-config
4 , python3
5 , cmake
6 , libmysqlclient
7 , makeBinaryWrapper
8 , lib
9 }:
11 let
12   pyFxADeps = python3.withPackages (p: [
13     p.setuptools # imports pkg_resources
14     # remainder taken from requirements.txt
15     p.pyfxa
16     p.tokenlib
17     p.cryptography
18   ]);
21 rustPlatform.buildRustPackage rec {
22   pname = "syncstorage-rs";
23   version = "0.17.0";
25   src = fetchFromGitHub {
26     owner = "mozilla-services";
27     repo = pname;
28     rev = "refs/tags/${version}";
29     hash = "sha256-8MxGrE8BaqSN0vPORKupKQuqHiv2vcqQhTX+SnmWFoM=";
30   };
32   nativeBuildInputs = [
33     cmake
34     makeBinaryWrapper
35     pkg-config
36     python3
37   ];
39   buildInputs = [
40     libmysqlclient
41   ];
43   preFixup = ''
44     wrapProgram $out/bin/syncserver \
45       --prefix PATH : ${lib.makeBinPath [ pyFxADeps ]}
46   '';
48   cargoLock = {
49     lockFile = ./Cargo.lock;
50     outputHashes = {
51       "deadpool-0.7.0" = "sha256-yQwn45EuzmPBwuT+iLJ/LLWAkBkW2vF+GLswdbpFVAY=";
52     };
53   };
55   # almost all tests need a DB to test against
56   doCheck = false;
58   meta = {
59     description = "Mozilla Sync Storage built with Rust";
60     homepage = "https://github.com/mozilla-services/syncstorage-rs";
61     changelog = "https://github.com/mozilla-services/syncstorage-rs/releases/tag/${version}";
62     license = lib.licenses.mpl20;
63     maintainers = [ ];
64     platforms = lib.platforms.linux;
65     mainProgram = "syncserver";
66   };