nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchzip,
5 jdk21,
6 testers,
7 wrapGAppsHook3,
8 igv,
9}:
10
11stdenv.mkDerivation (finalAttrs: {
12 pname = "igv";
13 version = "2.19.7";
14 src = fetchzip {
15 url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor finalAttrs.version}/IGV_${finalAttrs.version}.zip";
16 sha256 = "sha256-IkzaQAM+s1boEKo/3ShtbUhihrhxLQCTz8/0lzAyYJA=";
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#${jdk21}/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#${jdk21}/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 = {
42 homepage = "https://www.broadinstitute.org/igv/";
43 description = "Visualization tool for interactive exploration of genomic datasets";
44 license = lib.licenses.mit;
45 platforms = lib.platforms.unix;
46 maintainers = [
47 lib.maintainers.mimame
48 lib.maintainers.rollf
49 ];
50 };
51})