python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / admin / gam / default.nix
blob191785dd0308a382a88502fe75a4f0765d8e0b77
1 { lib
2 , fetchFromGitHub
3 , python3
4 }:
6 python3.pkgs.buildPythonApplication rec {
7   pname = "gam";
8   version = "6.22";
9   format = "other";
11   src = fetchFromGitHub {
12     owner = "GAM-team";
13     repo = "gam";
14     rev = "v${version}";
15     sha256 = "sha256-G/S1Rrm+suiy1CTTFLcBGt/QhARL7puHgR65nCxodH0=";
16   };
18   sourceRoot = "source/src";
20   patches = [
21     # Also disables update check
22     ./signal_files_as_env_vars.patch
23   ];
25   propagatedBuildInputs = with python3.pkgs; [
26     distro
27     filelock
28     google-api-python-client
29     google-auth
30     google-auth-oauthlib
31     passlib
32     pathvalidate
33     python-dateutil
34     setuptools
35   ];
37   # Use XDG-ish dirs for configuration. These would otherwise be in the gam
38   # package.
39   #
40   # Using --run as `makeWapper` evaluates variables for --set and --set-default
41   # at build time and then single quotes the vars in the wrapper, thus they
42   # wouldn't get expanded. But using --run allows setting default vars that are
43   # evaluated on run and not during build time.
44    makeWrapperArgs = [
45     ''--run 'export GAMUSERCONFIGDIR="''${XDG_CONFIG_HOME:-$HOME/.config}/gam"' ''
46     ''--run 'export GAMSITECONFIGDIR="''${XDG_CONFIG_HOME:-$HOME/.config}/gam"' ''
47     ''--run 'export GAMCACHEDIR="''${XDG_CACHE_HOME:-$HOME/.cache}/gam"' ''
48     ''--run 'export GAMDRIVEDIR="$PWD"' ''
49   ];
51   installPhase = ''
52     runHook preInstall
53     mkdir -p $out/bin
54     cp gam.py $out/bin/gam
55     mkdir -p $out/lib/${python3.libPrefix}/site-packages
56     cp -r gam $out/lib/${python3.libPrefix}/site-packages
57     runHook postInstall
58   '';
60   checkPhase = ''
61     runHook preCheck
62     ${python3.interpreter} -m unittest discover --pattern "*_test.py" --buffer
63     runHook postCheck
64   '';
66   meta = with lib; {
67     description = "Command line management for Google Workspace";
68     homepage = "https://github.com/GAM-team/GAM/wiki";
69     license = licenses.asl20;
70     maintainers = with maintainers; [ thanegill ];
71   };