lol
1{ lib
2, stdenv
3, fetchzip
4, jre
5, makeWrapper
6}:
7
8stdenv.mkDerivation (finalAttrs: {
9 pname = "schemacrawler";
10 version = "16.20.4";
11
12 src = fetchzip {
13 url = "https://github.com/schemacrawler/SchemaCrawler/releases/download/v${finalAttrs.version}/schemacrawler-${finalAttrs.version}-bin.zip";
14 hash = "sha256-wNvFutxB34gjBCwVPIj/5jjjk0/IjH0EbD++FxxuweM=";
15 };
16
17 nativeBuildInputs = [ makeWrapper ];
18
19 installPhase = ''
20 runHook preInstall
21
22 mkdir -p $out/bin
23 cp -r {config,lib} $out/
24
25 makeWrapper ${jre}/bin/java $out/bin/schemacrawler \
26 --add-flags "-cp $out/lib/*:$out/config" \
27 --add-flags schemacrawler.Main
28
29 runHook postInstall
30 '';
31
32 preferLocalBuild = true;
33
34 meta = with lib; {
35 description = "Database schema discovery and comprehension tool";
36 homepage = "https://www.schemacrawler.com/";
37 sourceProvenance = with sourceTypes; [ binaryBytecode ];
38 license = with licenses; [ epl10 gpl3Only lgpl3Only ];
39 platforms = platforms.unix;
40 maintainers = with maintainers; [ elohmeier ];
41 };
42})