biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / misc / jquake / default.nix
blob916a12db31507960fa38facf4f2d9d46217e2417
1 { lib, stdenv, fetchurl, copyDesktopItems, makeDesktopItem, unzip, jre8
2 , logOutput ? false
3 }:
5 stdenv.mkDerivation rec {
6   pname = "jquake";
7   version = "1.8.5";
9   src = fetchurl {
10     url = "https://github.com/fleneindre/fleneindre.github.io/raw/master/downloads/JQuake_${version}_linux.zip";
11     sha256 = "sha256-Q9R5Qhk8Qodw2d99nL2aG5WGpIyvKmjzfkRK7xJzoc0=";
12   };
14   nativeBuildInputs = [ unzip copyDesktopItems ];
16   sourceRoot = ".";
18   postPatch = ''
19     # JQuake emits a lot of debug-like messages on stdout. Either drop the output
20     # stream entirely or log them at 'user.debug' level.
21     sed -i "/^java/ s/$/ ${if logOutput then "| logger -p user.debug" else "> \\/dev\\/null"}/" JQuake.sh
23     # By default, an 'errors.log' file is created in the current directory.
24     # cd into a temporary directory and let it be created there.
25     substituteInPlace JQuake.sh \
26       --replace "java -jar " "exec ${jre8.outPath}/bin/java -jar $out/lib/" \
27       --replace "[JAR FOLDER]" "\$(mktemp -p /tmp -d jquake-errlog-XXX)"
28   '';
30   dontConfigure = true;
31   dontBuild = true;
33   installPhase = ''
34     runHook preInstall
36     chmod +x JQuake.sh
38     mkdir -p $out/{bin,lib}
39     mv JQuake.sh $out/bin/JQuake
40     mv {JQuake.jar,JQuake_lib} $out/lib
41     mv sounds $out/lib
43     mkdir -p $out/share/licenses/jquake
44     mv LICENSE* $out/share/licenses/jquake
46     runHook postInstall
47   '';
49   desktopItems = [
50     (makeDesktopItem {
51       name = "JQuake";
52       desktopName = "JQuake";
53       exec = "JQuake";
54       comment = "Real-time earthquake map of Japan";
55     })
56   ];
58   meta = with lib; {
59     description = "Real-time earthquake map of Japan";
60     homepage = "https://jquake.net";
61     downloadPage = "https://jquake.net/en/terms.html?os=linux&arch=any";
62     changelog = "https://jquake.net/en/changelog.html";
63     maintainers = with maintainers; [ nessdoor ];
64     sourceProvenance = with sourceTypes; [ binaryBytecode ];
65     license = licenses.unfree;
66     platforms = platforms.linux;
67     mainProgram = "JQuake";
68   };