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