evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / as / astral / package.nix
blob34077949b97d157f0871aad7d1ba34ebb3ffe638
1 { lib
2 , stdenvNoCC
3 , fetchFromGitHub
4 , jdk8
5 , jre8
6 , strip-nondeterminism
7 , makeWrapper
8 , zip
9 }:
11 let
12   jdk = jdk8;
13   jre = jre8;
15 stdenvNoCC.mkDerivation (finalAttrs: {
16   pname = "astral";
17   version = "5.7.1";
19   src = fetchFromGitHub {
20     owner = "smirarab";
21     repo = "ASTRAL";
22     rev = "v${finalAttrs.version}";
23     hash = "sha256-VhcsX9BxiZ0nISN6Xe4N+kq0iBMCtNhyxDrm9cwXfBA=";
24   };
26   patches = [
27     # we can't use stripJavaArchivesHook here, because the build process puts a .jar file into a zip file
28     # this patch calls strip-nondeterminism manually
29     ./make-deterministic.patch
30   ];
32   nativeBuildInputs = [
33     jdk
34     zip
35     strip-nondeterminism
36     makeWrapper
37   ];
39   buildPhase = ''
40     runHook preBuild
41     patchShebangs ./make.sh
42     ./make.sh
43     runHook postBuild
44   '';
46   doCheck = true;
48   checkPhase = ''
49     runHook preCheck
50     java -jar astral.${finalAttrs.version}.jar -i main/test_data/song_primates.424.gene.tre
51     runHook postCheck
52   '';
54   installPhase = ''
55     runHook preInstall
57     install -Dm644 astral.${finalAttrs.version}.jar -t $out/share
58     install -Dm644 lib/*.jar -t $out/share/lib
59     install -Dm644 Astral.${finalAttrs.version}.zip -t $out/share
60     cp -a main/test_data $out/share
62     makeWrapper ${jre}/bin/java $out/bin/astral \
63         --add-flags "-jar $out/share/astral.${finalAttrs.version}.jar"
65     runHook postInstall
66   '';
68   meta = with lib; {
69     homepage = "https://github.com/smirarab/ASTRAL";
70     description = "Tool for estimating an unrooted species tree given a set of unrooted gene trees";
71     mainProgram = "astral";
72     sourceProvenance = with sourceTypes; [
73       fromSource
74       binaryBytecode # source bundles dependencies as jars
75     ];
76     license = licenses.asl20;
77     maintainers = with maintainers; [ bzizou tomasajt ];
78   };