biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / by-name / ja / jailer / package.nix
blob3acbe488083c9bda57926c70a081232337643e03
2   lib,
3   ant,
4   copyDesktopItems,
5   fetchFromGitHub,
6   jdk,
7   jre,
8   makeDesktopItem,
9   makeWrapper,
10   stdenv,
11   stripJavaArchivesHook,
12   wrapGAppsHook4,
14 stdenv.mkDerivation (finalAttrs: {
15   pname = "jailer";
16   version = "16.2";
18   src = fetchFromGitHub {
19     owner = "Wisser";
20     repo = "Jailer";
21     rev = "bc00c6883bac0d09b549e35a10e202da477e4cb1";
22     hash = "sha256-nXxTKbhvrBlorNqiF3wZDEgf1VrBamWw8ZSQSUqpGT8=";
23   };
26   buildPhase = ''
27     runHook preBuild
28     rm jailer.jar
29     ant
30     runHook postBuild
31   '';
33   nativeBuildInputs = [ ant jdk stripJavaArchivesHook makeWrapper wrapGAppsHook4 copyDesktopItems ];
35   installPhase = ''
36     runHook preInstall
38     install -Dm644 jailer.jar $out/share/java/jailer.jar
39     install -Dm644 jailer-engine-${finalAttrs.version}.jar $out/share/java/
40     mkdir -p $out/share/java/lib
41     for f in lib/*.jar; do
42       install -Dm644 $f $out/share/java/lib
43     done
45     mkdir -p $out/bin
46     mkdir -p $out/share
47     mkdir -p $out/share/pixmaps
48     cp driverlist.csv $out/share
49     cp admin/jailer.png $out/share/pixmaps
51     # On first run, create a local configuration folder and copy driverlist.csv there.
52     cat << EOF > $out/bin/jailer
53     #!/usr/bin/env bash
54     CFG="''${XDG_CONFIG_HOME:-\$HOME/.config}/jailer"
55     mkdir -p \$CFG
56     cp -n $out/share/driverlist.csv \$CFG
57     cd \$CFG
58     _JAVA_AWT_WM_NONREPARENTING=1 ${jre}/bin/java -jar $out/share/java/jailer.jar
59     EOF
60     chmod +x $out/bin/jailer
62     runHook postInstall
63   '';
65   desktopItems = [
66     (makeDesktopItem {
67       name = "Jailer";
68       desktopName = "Jailer";
69       exec = "jailer";
70       icon = "jailer";
71       categories = [ "Development" ];
72     })
73   ];
75   meta = {
76     description = "Tool for database subsetting and relational data browsing";
77     license = lib.licenses.asl20;
78     homepage = "https://github.com/Wisser/Jailer";
79     changelog = "https://github.com/Wisser/Jailer/releases/tag/${finalAttrs.version}";
80     maintainers = with lib.maintainers; [ guillaumematheron ];
81     mainProgram = "jailer";
82   };