62 lines
1.6 KiB
Nix
62 lines
1.6 KiB
Nix
{ lib, stdenv, fetchFromGitHub, jre, makeWrapper, maven }:
|
|
|
|
let
|
|
pname = "jd-cli";
|
|
version = "1.2.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "intoolswetrust";
|
|
repo = pname;
|
|
rev = "${pname}-${version}";
|
|
hash = "sha256-rRttA5H0A0c44loBzbKH7Waoted3IsOgxGCD2VM0U/Q=";
|
|
};
|
|
|
|
deps = stdenv.mkDerivation {
|
|
name = "${pname}-${version}-deps";
|
|
inherit src;
|
|
|
|
nativeBuildInputs = [ maven ];
|
|
buildPhase = ''
|
|
mvn package -Dmaven.repo.local=$out
|
|
'';
|
|
|
|
# keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
|
|
installPhase = ''
|
|
find $out -type f \
|
|
-name \*.lastUpdated -or \
|
|
-name resolver-status.properties -or \
|
|
-name _remote.repositories \
|
|
-delete
|
|
'';
|
|
|
|
dontFixup = true;
|
|
outputHashAlgo = "sha256";
|
|
outputHashMode = "recursive";
|
|
outputHash = "sha256-5d3ZLuzoEkPjh01uL/BuhJ6kevLdsm1P4PMLkEWaVUM=";
|
|
};
|
|
|
|
in stdenv.mkDerivation rec {
|
|
inherit pname version src;
|
|
|
|
nativeBuildInputs = [ maven makeWrapper ];
|
|
|
|
buildPhase = ''
|
|
mvn --offline -Dmaven.repo.local=${deps} package;
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin $out/share/jd-cli
|
|
install -Dm644 jd-cli/target/jd-cli.jar $out/share/jd-cli
|
|
|
|
makeWrapper ${jre}/bin/java $out/bin/jd-cli \
|
|
--add-flags "-jar $out/share/jd-cli/jd-cli.jar"
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Simple command line wrapper around JD Core Java Decompiler project";
|
|
homepage = "https://github.com/intoolswetrust/jd-cli";
|
|
license = licenses.gpl3;
|
|
platforms = platforms.unix;
|
|
maintainers = with maintainers; [ majiir ];
|
|
};
|
|
}
|