evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / ga / gam / package.nix
blob795256d218901879ae7af690bc077a84dffa6233
1 { lib
2 , fetchFromGitHub
3 , python3
4 }:
6 python3.pkgs.buildPythonApplication rec {
7   pname = "gam";
8   version = "6.58";
9   format = "other";
11   src = fetchFromGitHub {
12     owner = "GAM-team";
13     repo = "GAM";
14     rev = "refs/tags/v${version}";
15     sha256 = "sha256-AIaPzYavbBlJyi9arZN8HTmUXM7Tef0SIfE07PmV9Oo=";
16   };
18   sourceRoot = "${src.name}/src";
20   propagatedBuildInputs = with python3.pkgs; [
21     chardet
22     cryptography
23     distro
24     filelock
25     google-api-python-client
26     google-auth
27     google-auth-oauthlib
28     httplib2
29     lxml
30     passlib
31     pathvalidate
32     python-dateutil
33     setuptools
34   ];
36   # Use XDG-ish dirs for configuration. These would otherwise be in the gam
37   # package.
38   #
39   # Using --run as `makeWapper` evaluates variables for --set and --set-default
40   # at build time and then single quotes the vars in the wrapper, thus they
41   # wouldn't get expanded. But using --run allows setting default vars that are
42   # evaluated on run and not during build time.
43    makeWrapperArgs = [
44     ''--run 'export GAMUSERCONFIGDIR="''${XDG_CONFIG_HOME:-$HOME/.config}/gam"' ''
45     ''--run 'export GAMSITECONFIGDIR="''${XDG_CONFIG_HOME:-$HOME/.config}/gam"' ''
46     ''--run 'export GAMCACHEDIR="''${XDG_CACHE_HOME:-$HOME/.cache}/gam"' ''
47     ''--run 'export GAMDRIVEDIR="$PWD"' ''
48   ];
50   installPhase = ''
51     runHook preInstall
52     mkdir -p $out/bin
53     cp gam.py $out/bin/gam
54     mkdir -p $out/${python3.sitePackages}
55     cp -r gam $out/${python3.sitePackages}
56     runHook postInstall
57   '';
59   checkPhase = ''
60     runHook preCheck
61     ${python3.interpreter} -m unittest discover --pattern "*_test.py" --buffer
62     runHook postCheck
63   '';
65   meta = with lib; {
66     description = "Command line management for Google Workspace";
67     mainProgram = "gam";
68     homepage = "https://github.com/GAM-team/GAM/wiki";
69     changelog = "https://github.com/GAM-team/GAM/releases/tag/v${version}";
70     license = licenses.asl20;
71     maintainers = with maintainers; [ thanegill ];
72   };