diff --git a/pkgs/development/tools/aapt/default.nix b/pkgs/development/tools/aapt/default.nix new file mode 100644 index 000000000000..0d59f3ae6f8a --- /dev/null +++ b/pkgs/development/tools/aapt/default.nix @@ -0,0 +1,48 @@ +{ lib +, stdenvNoCC +, fetchzip +, autoPatchelfHook +, libcxx +}: + +stdenvNoCC.mkDerivation rec { + pname = "aapt"; + version = "8.0.2-9289358"; + + src = + let + urlAndHash = + if stdenvNoCC.isLinux then { + url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-linux.jar"; + hash = "sha256-P8eVIS6zaZGPh4Z7SXUiLtZaX1YIsSmGOdvF6Xb1WHI="; + } else if stdenvNoCC.isDarwin then { + url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-osx.jar"; + hash = "sha256-hDfEPk3IJt+8FbRVEiHQbn24vsuOe6m36UcQsT6tGsQ="; + } else throw "Unsupport platform: ${stdenvNoCC.system}"; + in + fetchzip (urlAndHash // { + extension = "zip"; + stripRoot = false; + }); + + nativeBuildInputs = lib.optionals stdenvNoCC.isLinux [ autoPatchelfHook ]; + buildInputs = lib.optionals stdenvNoCC.isLinux [ libcxx ]; + + installPhase = '' + runHook preInstall + + install -D aapt2 $out/bin/aapt2 + + runHook postInstall + ''; + + meta = { + description = "A build tool that compiles and packages Android app's resources"; + homepage = "https://developer.android.com/tools/aapt2"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ linsui ]; + platforms = lib.platforms.unix; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b56b102989a3..1984b3890d75 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -39811,6 +39811,8 @@ with pkgs; aaphoto = callPackage ../tools/graphics/aaphoto { }; + aapt = callPackage ../development/tools/aapt { }; + flam3 = callPackage ../tools/graphics/flam3 { }; glee = callPackage ../tools/graphics/glee { };