1{ lib, stdenv, fetchurl, makeWrapper, jre, build-tools }:
2
3stdenv.mkDerivation rec {
4 pname = "apktool";
5 version = "2.7.0";
6
7 src = fetchurl {
8 urls = [
9 "https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_${version}.jar"
10 "https://github.com/iBotPeaches/Apktool/releases/download/v${version}/apktool_${version}.jar"
11 ];
12 sha256 = "sha256-wRtetRjZrCqxjpWcvgh0mQeQcrBNVnzcrlzrRH+afn0=";
13 };
14
15 dontUnpack = true;
16
17 nativeBuildInputs = [ makeWrapper ];
18
19 sourceRoot = ".";
20
21 installPhase =
22 let
23 tools = builtins.head build-tools;
24 in ''
25 install -D ${src} "$out/libexec/apktool/apktool.jar"
26 mkdir -p "$out/bin"
27 makeWrapper "${jre}/bin/java" "$out/bin/apktool" \
28 --add-flags "-jar $out/libexec/apktool/apktool.jar" \
29 --prefix PATH : "${tools}/libexec/android-sdk/build-tools/${tools.version}"
30 '';
31
32 meta = with lib; {
33 description = "A tool for reverse engineering Android apk files";
34 homepage = "https://ibotpeaches.github.io/Apktool/";
35 sourceProvenance = with sourceTypes; [ binaryBytecode ];
36 license = licenses.asl20;
37 maintainers = with maintainers; [ offline ];
38 platforms = with platforms; unix;
39 };
40
41}