1{ lib, stdenv, makeWrapper, fetchurl, jre }:
2
3stdenv.mkDerivation rec {
4 pname = "cfr";
5 version = "0.152";
6
7 src = fetchurl {
8 url = "http://www.benf.org/other/cfr/cfr_${version}.jar";
9 sha256 = "sha256-9obo897Td9e8h9IWqQ6elRLfQVbnWwbGVaFmSK6HZbI=";
10 };
11
12 nativeBuildInputs = [ makeWrapper ];
13
14 buildCommand = ''
15 jar=$out/share/java/cfr_${version}.jar
16 install -Dm444 $src $jar
17 makeWrapper ${jre}/bin/java $out/bin/cfr --add-flags "-jar $jar"
18 '';
19
20 meta = with lib; {
21 description = "Another java decompiler";
22 mainProgram = "cfr";
23 longDescription = ''
24 CFR will decompile modern Java features - Java 8 lambdas (pre and post
25 Java beta 103 changes), Java 7 String switches etc, but is written
26 entirely in Java 6.
27 '';
28 homepage = "http://www.benf.org/other/cfr/";
29 sourceProvenance = with sourceTypes; [ binaryBytecode ];
30 license = licenses.mit;
31 platforms = platforms.all;
32 };
33}