nixpkgs/pkgs/by-name/db/dbeaver-bin/package.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

80 lines
2.5 KiB
Nix
Raw Normal View History

2024-05-15 15:43:41 +01:00
{ lib
, stdenvNoCC
, fetchurl
, makeWrapper
, openjdk17
2024-05-17 07:19:57 +01:00
, gnused
2024-05-20 07:38:40 +01:00
, autoPatchelfHook
2024-05-15 15:43:41 +01:00
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "dbeaver-bin";
2024-05-20 01:37:02 +01:00
version = "24.0.5";
2024-05-15 15:43:41 +01:00
2024-05-17 07:19:57 +01:00
nativeBuildInputs = [
makeWrapper
gnused
2024-05-20 07:38:40 +01:00
autoPatchelfHook
2024-05-17 07:19:57 +01:00
];
2024-05-15 15:43:41 +01:00
src =
let
inherit (stdenvNoCC.hostPlatform) system;
selectSystem = attrs: attrs.${system} or (throw "Unsupported system: ${system}");
suffix = selectSystem {
x86_64-linux = "linux.gtk.x86_64-nojdk.tar.gz";
aarch64-linux = "linux.gtk.aarch64-nojdk.tar.gz";
};
hash = selectSystem {
2024-05-20 01:37:02 +01:00
x86_64-linux = "sha256-q6VIr55hXn47kZrE2i6McEOfp2FBOvwB0CcUnRHFMZs=";
2024-05-15 15:43:41 +01:00
aarch64-linux = "sha256-CQg2+p1P+Bg1uFM1PMTWtweS0TNElXTP7tI7D5WxixM=";
};
in
fetchurl {
url = "https://github.com/dbeaver/dbeaver/releases/download/${finalAttrs.version}/dbeaver-ce-${finalAttrs.version}-${suffix}";
inherit hash;
};
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
2024-05-17 07:06:13 +01:00
mkdir -p $out/opt/dbeaver $out/bin
cp -r * $out/opt/dbeaver
makeWrapper $out/opt/dbeaver/dbeaver $out/bin/dbeaver \
--prefix PATH : "${openjdk17}/bin" \
--set JAVA_HOME "${openjdk17.home}"
2024-05-17 07:19:57 +01:00
mkdir -p $out/share/icons/hicolor/256x256/apps
ln -s $out/opt/dbeaver/dbeaver.png $out/share/icons/hicolor/256x256/apps/dbeaver.png
mkdir -p $out/share/applications
ln -s $out/opt/dbeaver/dbeaver-ce.desktop $out/share/applications/dbeaver.desktop
substituteInPlace $out/opt/dbeaver/dbeaver-ce.desktop \
--replace-fail "/usr/share/dbeaver-ce/dbeaver.png" "dbeaver" \
--replace-fail "/usr/share/dbeaver-ce/dbeaver" "$out/bin/dbeaver"
sed -i '/^Path=/d' $out/share/applications/dbeaver.desktop
2024-05-15 15:43:41 +01:00
runHook postInstall
'';
meta = with lib; {
homepage = "https://dbeaver.io/";
description = "Universal SQL Client for developers, DBA and analysts. Supports MySQL, PostgreSQL, MariaDB, SQLite, and more";
longDescription = ''
Free multi-platform database tool for developers, SQL programmers, database
administrators and analysts. Supports all popular databases: MySQL,
PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access,
Teradata, Firebird, Derby, etc.
'';
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.asl20;
platforms = platforms.linux;
maintainers = with maintainers; [ gepbird mkg20001 ];
mainProgram = "dbeaver";
};
})