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 longDescription = ''
23 CFR will decompile modern Java features - Java 8 lambdas (pre and post
24 Java beta 103 changes), Java 7 String switches etc, but is written
25 entirely in Java 6.
26 '';
27 homepage = "http://www.benf.org/other/cfr/";
28 sourceProvenance = with sourceTypes; [ binaryBytecode ];
29 license = licenses.mit;
30 platforms = platforms.all;
31 };
32}