mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
jadx: add desktop item
This commit is contained in:
parent
f4d78cae37
commit
4295b1baf2
1 changed files with 41 additions and 4 deletions
|
@ -1,4 +1,15 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, gradle, jdk, makeWrapper, perl }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, gradle
|
||||||
|
, jdk
|
||||||
|
, makeWrapper
|
||||||
|
, perl
|
||||||
|
, imagemagick
|
||||||
|
, makeDesktopItem
|
||||||
|
, copyDesktopItems
|
||||||
|
, desktopToDarwinBundle
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "jadx";
|
pname = "jadx";
|
||||||
|
@ -46,10 +57,11 @@ let
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
outputHash = "sha256-QebPRmfLtXy4ZlyKeGC5XNzhMTsYI0X36My+nTFvQpM=";
|
outputHash = "sha256-QebPRmfLtXy4ZlyKeGC5XNzhMTsYI0X36My+nTFvQpM=";
|
||||||
};
|
};
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation (finalAttrs: {
|
||||||
inherit pname version src;
|
inherit pname version src;
|
||||||
|
|
||||||
nativeBuildInputs = [ gradle jdk makeWrapper ];
|
nativeBuildInputs = [ gradle jdk imagemagick makeWrapper copyDesktopItems ]
|
||||||
|
++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ];
|
||||||
|
|
||||||
# Otherwise, Gradle fails with `java.net.SocketException: Operation not permitted`
|
# Otherwise, Gradle fails with `java.net.SocketException: Operation not permitted`
|
||||||
__darwinAllowLocalNetworking = true;
|
__darwinAllowLocalNetworking = true;
|
||||||
|
@ -96,14 +108,39 @@ in stdenv.mkDerivation {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
mkdir $out $out/bin
|
mkdir $out $out/bin
|
||||||
cp -R build/jadx/lib $out
|
cp -R build/jadx/lib $out
|
||||||
for prog in jadx jadx-gui; do
|
for prog in jadx jadx-gui; do
|
||||||
cp build/jadx/bin/$prog $out/bin
|
cp build/jadx/bin/$prog $out/bin
|
||||||
wrapProgram $out/bin/$prog --set JAVA_HOME ${jdk.home}
|
wrapProgram $out/bin/$prog --set JAVA_HOME ${jdk.home}
|
||||||
done
|
done
|
||||||
|
|
||||||
|
for size in 16 32 48; do
|
||||||
|
install -Dm444 \
|
||||||
|
jadx-gui/src/main/resources/logos/jadx-logo-"$size"px.png \
|
||||||
|
$out/share/icons/hicolor/"$size"x"$size"/apps/jadx.png
|
||||||
|
done
|
||||||
|
for size in 64 128 256; do
|
||||||
|
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
|
||||||
|
convert -resize "$size"x"$size" jadx-gui/src/main/resources/logos/jadx-logo.png $out/share/icons/hicolor/"$size"x"$size"/apps/jadx.png
|
||||||
|
done
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
name = "jadx";
|
||||||
|
desktopName = "JADX";
|
||||||
|
exec = "jadx-gui";
|
||||||
|
icon = "jadx";
|
||||||
|
comment = finalAttrs.meta.description;
|
||||||
|
categories = [ "Development" "Utility" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Dex to Java decompiler";
|
description = "Dex to Java decompiler";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
@ -118,4 +155,4 @@ in stdenv.mkDerivation {
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ delroth ];
|
maintainers = with maintainers; [ delroth ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue