armitage: convert to gradle setup hook

chayleaf 5969a69a 5e0160dc

+81 -34
+73
pkgs/by-name/ar/armitage/deps.json
··· 1 + { 2 + "!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.", 3 + "!version": 1, 4 + "https://repo.maven.apache.org/maven2": { 5 + "com/googlecode/json-simple#json-simple/1.1.1": { 6 + "jar": "sha256-TmlpaJK4i0HFXUmrL9zCHurZK/VKzFiMAFBZbDt1GZw=", 7 + "pom": "sha256-Zl9jWQ3vtj1irdIdNSU2LPk3z2ocBeSwFFuujailf4M=" 8 + }, 9 + "org/apiguardian#apiguardian-api/1.1.0": { 10 + "jar": "sha256-qarp/4rj4XoqGPeRdegrFiZ8JG+708qd+7spCwjc/dQ=", 11 + "pom": "sha256-qUW5y1zZt3sscRhE5lnEPsBw71nZ9Qn6n0wYYbSGJxE=" 12 + }, 13 + "org/javassist#javassist/3.28.0-GA": { 14 + "jar": "sha256-V9Cp6ShvgvTqqFESUYaZf4Eb784OIGD/ChWnf1qd2ac=", 15 + "pom": "sha256-w2p8E9o6SFKqiBvfnbYLnk0a8UbsKvtTmPltWYP21d0=" 16 + }, 17 + "org/junit#junit-bom/5.7.0": { 18 + "module": "sha256-Jd5FSzrdZ2VNZpG1PedZO1ApZ7X/VJVHsQTXlh8aUr0=", 19 + "pom": "sha256-NfsV+NC+4rWQCiKDJ2I2ZVL5o0nFbO1guhI85Hc4/wA=" 20 + }, 21 + "org/junit/jupiter#junit-jupiter-api/5.7.0": { 22 + "jar": "sha256-sD944Nru0td6Cvm81mK0zblpP37nLgGlObUIuExj0YI=", 23 + "module": "sha256-0ae65s1ErW2WcVJhQQ7vIziklENtZnKA0Tc6R8F+JBw=", 24 + "pom": "sha256-oPgj1RPI1GkpNfJML+bnfMSnthR6nopRj3IuULv4YTg=" 25 + }, 26 + "org/junit/jupiter#junit-jupiter-engine/5.7.0": { 27 + "jar": "sha256-36Jq+UZErCYS3eZiWFL8tVCg0hyqJDJX3lTLpzi6h68=", 28 + "module": "sha256-w2vaSCKO71xAzcmp1jA7uEg4LNsIhLNnfUkYK07HoaQ=", 29 + "pom": "sha256-twLiUIddMx7jxriPNymfvpUfQ5kvSy5KjxROLkzyx+g=" 30 + }, 31 + "org/junit/platform#junit-platform-commons/1.7.0": { 32 + "jar": "sha256-UzDuh8x1hubiUXWjTpJRYk/xL/UlJp00FdC0ylGbb+o=", 33 + "module": "sha256-sKXHobfkCdH1zJY9muocd8NLkOFj1oQqRInGqgf/juI=", 34 + "pom": "sha256-DNfE+b7mWZEqwdzkbxI80G9Au7c6sxa9lBHHkuPGgKI=" 35 + }, 36 + "org/junit/platform#junit-platform-engine/1.7.0": { 37 + "jar": "sha256-dfIaINxZSv3IdXNnJbQIzsbQNEh00p80st0wdVACNvI=", 38 + "module": "sha256-ZRCp+ogc70LUFIVTjbxUdJQm2x4LFOxDORXqXyRIB5o=", 39 + "pom": "sha256-IluZxQMv0cuM7Noui1p1Jtal+B+5iimldVf39czanRI=" 40 + }, 41 + "org/msgpack#msgpack/0.6.12": { 42 + "jar": "sha256-4JymXYUgSI6ApdxCaEior8z9QPSi6zuWRgQlldO9m14=", 43 + "pom": "sha256-lEl9jwL43oFZpbfVE24BD1f12axliGES7O2GlcUFbe4=" 44 + }, 45 + "org/opentest4j#opentest4j/1.2.0": { 46 + "jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=", 47 + "pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ=" 48 + }, 49 + "org/postgresql#pgjdbc-core-parent/1.1.2": { 50 + "pom": "sha256-K5B1vOVrI8vfRwy80/7rwgivBf1XfNxcmjbadTRsZ50=" 51 + }, 52 + "org/postgresql#pgjdbc-core-parent/1.1.5": { 53 + "pom": "sha256-XtK0rdiF6e4eY3opfLNHlPT/LtVCb/zStL3N1uJiPrc=" 54 + }, 55 + "org/postgresql#pgjdbc-versions/1.1.2": { 56 + "pom": "sha256-FJIccV6cNLFOpOtn1O6cPUGtxYj1639F01f89xgv3P4=" 57 + }, 58 + "org/postgresql#pgjdbc-versions/1.1.5": { 59 + "pom": "sha256-fktof5IZOQGPdV6TUwtvO/pkOH9zJIiTXAsFo2PEkFw=" 60 + }, 61 + "org/postgresql#postgresql/42.2.5": { 62 + "jar": "sha256-f/pG+MYZN3zevNF3IbayHs9mWYUBeflv7D0QNc9aDNw=", 63 + "pom": "sha256-QeLEYQz6+o+46jOfZeUECMDzGDV6eKP0hOKi8bUq0ew=" 64 + }, 65 + "org/postgresql#postgresql/9.4.1212": { 66 + "jar": "sha256-DLKhWL4xrPIY4KThjI89usaKO8NIBkaHc/xECUsMNl0=", 67 + "pom": "sha256-3WEi1R5mRIHFMgl7hzPLJAW6oqrhsgqOrr6jlLErb1A=" 68 + }, 69 + "org/sonatype/oss#oss-parent/7": { 70 + "pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ=" 71 + } 72 + } 73 + }
+8 -34
pkgs/by-name/ar/armitage/package.nix
··· 4 4 , fetchFromGitHub 5 5 , jdk11 6 6 , gradle_6 7 - , perl 8 7 , metasploit 9 8 , makeWrapper 10 9 , makeDesktopItem ··· 15 14 let 16 15 pname = "armitage"; 17 16 version = "unstable-2022-12-05"; 17 + 18 + gradle = gradle_6; 18 19 19 20 src = fetchFromGitHub { 20 21 owner = "r00t0v3rr1d3"; ··· 46 47 }) 47 48 ]; 48 49 49 - deps = stdenv.mkDerivation { 50 - pname = "${pname}-deps"; 51 - inherit version src patches; 52 - nativeBuildInputs = [ gradle_6 perl ]; 53 - buildPhase = '' 54 - export GRADLE_USER_HOME=$(mktemp -d) 55 - gradle --no-daemon assemble 56 - ''; 57 - # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar) 58 - installPhase = '' 59 - find $GRADLE_USER_HOME -type f -regex '.*\.\(jar\|pom\)' \ 60 - | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \ 61 - | sh 62 - rm -rf $out/tmp 63 - ''; 64 - outputHashAlgo = "sha256"; 65 - outputHashMode = "recursive"; 66 - outputHash = "sha256-6o3HlBfmpjpmMeiRydOme6fJc8caq8EBRVf3nJq9vqo="; 67 - }; 68 50 in 69 51 stdenv.mkDerivation (finalAttrs: { 70 52 inherit pname version src patches; 71 - 72 - __darwinAllowLocalNetworking = true; 73 53 74 54 desktopItems = [ 75 55 (makeDesktopItem { ··· 85 65 86 66 nativeBuildInputs = [ 87 67 jdk11 88 - gradle_6 68 + gradle 89 69 makeWrapper 90 70 copyDesktopItems 91 71 ] ++ lib.optionals stdenv.isDarwin [ 92 72 writeDarwinBundle 93 73 ]; 94 74 95 - buildPhase = '' 96 - runHook preBuild 75 + mitmCache = gradle.fetchDeps { 76 + inherit pname; 77 + data = ./deps.json; 78 + }; 97 79 98 - export GRADLE_USER_HOME=$(mktemp -d) 99 - substituteInPlace armitage/build.gradle \ 100 - --replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' 101 - substituteInPlace cortana/build.gradle \ 102 - --replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' 103 - gradle --offline --no-daemon assemble 104 - 105 - runHook postBuild 106 - ''; 80 + __darwinAllowLocalNetworking = true; 107 81 108 82 installPhase = '' 109 83 runHook preInstall