Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 stdenv,
4 fetchzip,
5 jdk17,
6 testers,
7 wrapGAppsHook3,
8 igv,
9}:
10
11stdenv.mkDerivation rec {
12 pname = "igv";
13 version = "2.17.4";
14 src = fetchzip {
15 url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip";
16 sha256 = "sha256-LF/rwm/XlLHAJjiAlQVTmx5l+5Np2b5rPjoCdN/qERU=";
17 };
18
19 installPhase = ''
20 mkdir -pv $out/{share,bin}
21 cp -Rv * $out/share/
22
23 sed -i "s#prefix=.*#prefix=$out/share#g" $out/share/igv.sh
24 sed -i 's#\bjava\b#${jdk17}/bin/java#g' $out/share/igv.sh
25
26 sed -i "s#prefix=.*#prefix=$out/share#g" $out/share/igvtools
27 sed -i 's#\bjava\b#${jdk17}/bin/java#g' $out/share/igvtools
28
29 ln -s $out/share/igv.sh $out/bin/igv
30 ln -s $out/share/igvtools $out/bin/igvtools
31
32 chmod +x $out/bin/igv
33 chmod +x $out/bin/igvtools
34 '';
35 nativeBuildInputs = [ wrapGAppsHook3 ];
36
37 passthru.tests.version = testers.testVersion {
38 package = igv;
39 };
40
41 meta = with lib; {
42 homepage = "https://www.broadinstitute.org/igv/";
43 description = "Visualization tool for interactive exploration of genomic datasets";
44 license = licenses.mit;
45 platforms = platforms.unix;
46 maintainers = [ maintainers.mimame ];
47 };
48}