bat: 0.24.0 -> 0.25.0 (#371913)
[NixPkgs.git] / pkgs / by-name / ja / jailer / package.nix
blob3f465f002c015b4a3a8c0d28116245154670d4fb
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   };
25   buildPhase = ''
26     runHook preBuild
27     rm jailer.jar
28     ant
29     runHook postBuild
30   '';
32   nativeBuildInputs = [
33     ant
34     jdk
35     stripJavaArchivesHook
36     makeWrapper
37     wrapGAppsHook4
38     copyDesktopItems
39   ];
41   installPhase = ''
42     runHook preInstall
44     install -Dm644 jailer.jar $out/share/java/jailer.jar
45     install -Dm644 jailer-engine-${finalAttrs.version}.jar $out/share/java/
46     mkdir -p $out/share/java/lib
47     for f in lib/*.jar; do
48       install -Dm644 $f $out/share/java/lib
49     done
51     mkdir -p $out/bin
52     mkdir -p $out/share
53     mkdir -p $out/share/pixmaps
54     cp driverlist.csv $out/share
55     cp admin/jailer.png $out/share/pixmaps
57     # On first run, create a local configuration folder and copy driverlist.csv there.
58     cat << EOF > $out/bin/jailer
59     #!/usr/bin/env bash
60     CFG="''${XDG_CONFIG_HOME:-\$HOME/.config}/jailer"
61     mkdir -p \$CFG
62     cp -n $out/share/driverlist.csv \$CFG
63     cd \$CFG
64     _JAVA_AWT_WM_NONREPARENTING=1 ${jre}/bin/java -jar $out/share/java/jailer.jar
65     EOF
66     chmod +x $out/bin/jailer
68     runHook postInstall
69   '';
71   desktopItems = [
72     (makeDesktopItem {
73       name = "Jailer";
74       desktopName = "Jailer";
75       exec = "jailer";
76       icon = "jailer";
77       categories = [ "Development" ];
78     })
79   ];
81   meta = {
82     description = "Tool for database subsetting and relational data browsing";
83     license = lib.licenses.asl20;
84     homepage = "https://github.com/Wisser/Jailer";
85     changelog = "https://github.com/Wisser/Jailer/releases/tag/${finalAttrs.version}";
86     maintainers = with lib.maintainers; [ guillaumematheron ];
87     mainProgram = "jailer";
88   };