nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, fetchurl }:
2
3stdenv.mkDerivation rec {
4 name = "findbugs-3.0.1";
5
6 src = fetchurl {
7 url = "mirror://sourceforge/findbugs/${name}.tar.gz";
8 sha256 = "06b46fz4nid7qvm36r66zw01fr87y4jyz21ixw27b8hkqah0s3p8";
9 };
10
11 buildPhase = ''
12 substituteInPlace bin/findbugs --replace /bin/pwd pwd
13 '';
14
15 installPhase = ''
16 d=$out/libexec/findbugs
17 mkdir -p $d $out/bin $out/nix-support
18
19 cp -prd bin lib plugin doc $d/
20 rm $d/bin/*.bat
21 for i in $d/bin/*; do
22 if [ -f $i ]; then ln -s $i $out/bin/; fi
23 done
24
25 # Get rid of unnecessary JARs.
26 rm $d/lib/ant.jar
27
28 # Make some JARs findable.
29 mkdir -p $out/share/java
30 ln -s $d/lib/{findbugs.jar,findbugs-ant.jar} $out/share/java/
31
32 cat <<EOF > $out/nix-support/setup-hook
33 export FINDBUGS_HOME=$d
34 EOF
35 '';
36
37 meta = with stdenv.lib; {
38 description = "A static analysis tool to find bugs in Java programs automatically";
39 homepage = http://findbugs.sourceforge.net/;
40 maintainers = with maintainers; [ pSub ];
41 platforms = with platforms; unix;
42 license = licenses.lgpl3;
43 };
44}