nixpkgs/pkgs/development/tools/schemacrawler/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

44 lines
1.1 KiB
Nix

{ lib
, stdenv
, fetchzip
, jre
, makeWrapper
}:
stdenv.mkDerivation (finalAttrs: {
pname = "schemacrawler";
version = "16.21.2";
src = fetchzip {
url = "https://github.com/schemacrawler/SchemaCrawler/releases/download/v${finalAttrs.version}/schemacrawler-${finalAttrs.version}-bin.zip";
hash = "sha256-M8kHJOkbxJGpZWOZ1asGYPM76ZWSpkaYIAfWsaisXLs=";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -r {config,lib} $out/
makeWrapper ${jre}/bin/java $out/bin/schemacrawler \
--add-flags "-cp $out/lib/*:$out/config" \
--add-flags schemacrawler.Main
runHook postInstall
'';
preferLocalBuild = true;
meta = with lib; {
description = "Database schema discovery and comprehension tool";
mainProgram = "schemacrawler";
homepage = "https://www.schemacrawler.com/";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = with licenses; [ epl10 gpl3Only lgpl3Only ];
platforms = platforms.unix;
maintainers = with maintainers; [ elohmeier ];
};
})