about summary refs log tree commit diff
path: root/pkgs/servers/h2/default.nix
blob: ab8249d7f28ca6c893b117880437d25e54375fc4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{ lib, maven, fetchFromGitHub, jre, makeWrapper, nix-update-script }:

maven.buildMavenPackage rec {
  pname = "h2";
  version = "2.2.224";

  outputs = [ "out" "doc" ];

  src = fetchFromGitHub {
    owner = "h2database";
    repo = "h2database";
    rev = "refs/tags/version-${version}";
    hash = "sha256-pS9jSiuInA0eULPOZK5cjwr9y5KDVY51blhZ9vs4z+g=";
  };

  mvnParameters = "-f h2/pom.xml -DskipTests";
  mvnHash = "sha256-hUzE4F+RNCAfoY836pjrivf04xqN4m9SkiLXhmVzZRA=";

  nativeBuildInputs = [ makeWrapper ];

  installPhase = ''
    mkdir -p $out/share/java
    install -Dm644 h2/target/h2-${version}.jar $out/share/java

    makeWrapper ${jre}/bin/java $out/bin/h2 \
      --add-flags "-cp \"$out/share/java/h2-${version}.jar:\$H2DRIVERS:\$CLASSPATH\" org.h2.tools.Console"

    mkdir -p $doc/share/doc/h2
    cp -r h2/src/docsrc/* $doc/share/doc/h2
  '';

  passthru.updateScript = nix-update-script {
    extraArgs = [ "--version-regex" "^version-([0-9.]+)$" ];
  };

  meta = with lib; {
    description = "The Java SQL database";
    homepage = "http://www.h2database.com/html/main.html";
    license = licenses.mpl20;
    platforms = lib.platforms.linux;
    maintainers = with maintainers; [ mahe ];
  };
}