Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / tools / database / schemaspy / default.nix
blob6847b9aa20a788e6daaae759f684bad6303a87d9
1 { lib
2 , maven
3 , jre
4 , makeWrapper
5 , git
6 , fetchFromGitHub
7 , graphviz
8 , ensureNewerSourcesHook
9 }:
11 maven.buildMavenPackage rec {
12   pname = "schemaspy";
13   version = "6.1.1-SNAPSHOT";
15   src = fetchFromGitHub {
16     owner = "schemaspy";
17     repo = "schemaspy";
18     rev = "110b1614f9ae4aec0e4dc4e8f0e7c647274d3af6";
19     hash = "sha256-X5B34zGhD/NxcK8TQvwdk1NljGJ1HwfBp47ocbE4HiU=";
20   };
22   mvnParameters = "-Dmaven.test.skip=true";
23   mvnFetchExtraArgs = {
24     nativeBuildInputs = [
25       # the build system gets angry if it doesn't see git (even though it's not
26       # actually in a git repository)
27       git
28       maven
29     ];
30   };
31   mvnHash = "sha256-1x6cNt6t3FnjRNg8iNYflkyDnuPFXGKoxhVJWoz2jIU=";
33   nativeBuildInputs = [
34     makeWrapper
35     git
37     # springframework boot gets angry about 1970 sources
38     # fix from https://github.com/nix-community/mavenix/issues/25
39     (ensureNewerSourcesHook { year = "1980"; })
40   ];
42   wrappedPath = lib.makeBinPath [
43     graphviz
44   ];
46   preBuild = ''
47     VERSION=${version}
48     SEMVER_STR=${version}
49   '';
51   installPhase = ''
52     install -D target/${pname}-${version}.jar $out/share/java/${pname}-${version}.jar
54     makeWrapper ${jre}/bin/java $out/bin/schemaspy \
55       --add-flags "-jar $out/share/java/${pname}-${version}.jar" \
56       --prefix PATH : "$wrappedPath"
57   '';
59   meta = with lib; {
60     homepage = "https://schemaspy.org";
61     description = "Document your database simply and easily";
62     license = licenses.lgpl3Plus;
63     maintainers = with maintainers; [ jraygauthier ];
64   };