nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv
2, lib
3, buildPythonPackage
4, cargo
5, cffi
6, fetchPypi
7, glean-parser
8, iso8601
9, pytest-localserver
10, pytestCheckHook
11, pythonOlder
12, rustc
13, rustPlatform
14, setuptools-rust
15}:
16
17buildPythonPackage rec {
18 pname = "glean-sdk";
19 version = "44.0.0";
20
21 disabled = pythonOlder "3.6";
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-gzLsBwq3wrFde5cEb5+oFLW4KrwoiZpr22JbJhNr1yk=";
26 };
27
28 cargoDeps = rustPlatform.fetchCargoTarball {
29 inherit src;
30 name = "${pname}-${version}";
31 sha256 = "sha256-lWFv8eiA3QHp5bhcg4qon/dvKUbFbtH1Q2oXGkk0Me0=";
32 };
33
34 nativeBuildInputs = [
35 cargo
36 rustc
37 rustPlatform.cargoSetupHook
38 setuptools-rust
39 ];
40
41 propagatedBuildInputs = [
42 cffi
43 glean-parser
44 iso8601
45 ];
46
47 checkInputs = [
48 pytest-localserver
49 pytestCheckHook
50 ];
51
52 postPatch = ''
53 substituteInPlace glean-core/python/setup.py \
54 --replace "glean_parser==5.0.1" "glean_parser>=5.0.1"
55 '';
56
57 pythonImportsCheck = [
58 "glean"
59 ];
60
61 meta = with lib; {
62 broken = stdenv.isDarwin;
63 description = "Telemetry client libraries and are a part of the Glean project";
64 homepage = "https://mozilla.github.io/glean/book/index.html";
65 license = licenses.mpl20;
66 maintainers = with maintainers; [ kvark ];
67 };
68}