1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitLab,
5 pythonOlder,
6 pythonAtLeast,
7 argcomplete,
8 requests,
9 looseversion,
10 gnupg,
11}:
12
13buildPythonPackage rec {
14 pname = "sdkmanager";
15 version = "0.6.7";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.5";
19
20 src = fetchFromGitLab {
21 owner = "fdroid";
22 repo = pname;
23 rev = version;
24 hash = "sha256-8Iq3sVp9/dZi4zNZIgNm38ntoA2koS/Ism+pIVATr4Q=";
25 };
26
27 propagatedBuildInputs = [
28 argcomplete
29 requests
30 ] ++ requests.optional-dependencies.socks ++ lib.optionals (pythonAtLeast "3.12") [ looseversion ];
31
32 postInstall = ''
33 wrapProgram $out/bin/sdkmanager \
34 --suffix PATH : ${lib.makeBinPath [ gnupg ]}
35 '';
36
37 # has no tests
38 doCheck = false;
39
40 pythonImportsCheck = [ "sdkmanager" ];
41
42 meta = with lib; {
43 homepage = "https://gitlab.com/fdroid/sdkmanager";
44 description = "A drop-in replacement for sdkmanager from the Android SDK written in Python";
45 mainProgram = "sdkmanager";
46 license = licenses.agpl3Plus;
47 maintainers = with maintainers; [ linsui ];
48 };
49}