Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / tools / aapt / default.nix
blob0d59f3ae6f8a6ebf5fa78a19a1cbedd3934eacdb
1 { lib
2 , stdenvNoCC
3 , fetchzip
4 , autoPatchelfHook
5 , libcxx
6 }:
8 stdenvNoCC.mkDerivation rec {
9   pname = "aapt";
10   version = "8.0.2-9289358";
12   src =
13     let
14       urlAndHash =
15         if stdenvNoCC.isLinux then {
16           url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-linux.jar";
17           hash = "sha256-P8eVIS6zaZGPh4Z7SXUiLtZaX1YIsSmGOdvF6Xb1WHI=";
18         } else if stdenvNoCC.isDarwin then {
19           url = "https://dl.google.com/android/maven2/com/android/tools/build/aapt2/${version}/aapt2-${version}-osx.jar";
20           hash = "sha256-hDfEPk3IJt+8FbRVEiHQbn24vsuOe6m36UcQsT6tGsQ=";
21         } else throw "Unsupport platform: ${stdenvNoCC.system}";
22     in
23     fetchzip (urlAndHash // {
24       extension = "zip";
25       stripRoot = false;
26     });
28   nativeBuildInputs = lib.optionals stdenvNoCC.isLinux [ autoPatchelfHook ];
29   buildInputs = lib.optionals stdenvNoCC.isLinux [ libcxx ];
31   installPhase = ''
32     runHook preInstall
34     install -D aapt2 $out/bin/aapt2
36     runHook postInstall
37   '';
39   meta = {
40     description = "A build tool that compiles and packages Android app's resources";
41     homepage = "https://developer.android.com/tools/aapt2";
42     license = lib.licenses.asl20;
43     maintainers = with lib.maintainers; [ linsui ];
44     platforms = lib.platforms.unix;
45     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
46   };