base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / aa / aapt / package.nix
blob3bdb1e2f96eb7dbbc2c7b38fa632ae8f36312d63
1 { lib
2 , stdenvNoCC
3 , fetchzip
4 , autoPatchelfHook
5 , libcxx
6 }:
8 stdenvNoCC.mkDerivation rec {
9   pname = "aapt";
10   version = "8.4.1-11315950";
12   src =
13     let
14       urlAndHash =
15         if stdenvNoCC.hostPlatform.isLinux then {
16           url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-linux.jar";
17           hash = "sha256-eSQaZrRtb5aCG320hrXAL256fxa/oMhBC4hcTA1KRxs=";
18         } else if stdenvNoCC.hostPlatform.isDarwin then {
19           url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-osx.jar";
20           hash = "sha256-LUihNjase79JbUkHDb10A5d6pJ+VXDVfv7m09hkL8kY=";
21         } else throw "Unsupport platform: ${stdenvNoCC.system}";
22     in
23     fetchzip (urlAndHash // {
24       extension = "zip";
25       stripRoot = false;
26     });
28   nativeBuildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [ autoPatchelfHook ];
29   buildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [ libcxx ];
31   installPhase = ''
32     runHook preInstall
34     install -D aapt2 $out/bin/aapt2
36     runHook postInstall
37   '';
39   meta = {
40     description = "Build tool that compiles and packages Android app's resources";
41     mainProgram = "aapt2";
42     homepage = "https://developer.android.com/tools/aapt2";
43     license = lib.licenses.asl20;
44     maintainers = with lib.maintainers; [ linsui ];
45     platforms = lib.platforms.unix;
46     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
47   };