depot/third_party/nixpkgs/pkgs/development/tools/aapt/default.nix
Default email 5e9e1146e1 Project import generated by Copybara.
GitOrigin-RevId: 18036c0be90f4e308ae3ebcab0e14aae0336fe42
2023-08-05 00:07:22 +02:00

48 lines
1.4 KiB
Nix

{ 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 ];
};
}