aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/misc/dbeaver/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/misc/dbeaver/default.nix70
1 files changed, 70 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/misc/dbeaver/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
new file mode 100644
index 000000000000..4e928ff34f06
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchurl, makeDesktopItem, makeWrapper
+, fontconfig, freetype, glib, gtk3
+, jdk, libX11, libXrender, libXtst, zlib }:
+
+# The build process is almost like eclipse's.
+# See `pkgs/applications/editors/eclipse/*.nix`
+
+stdenv.mkDerivation rec {
+ pname = "dbeaver-ce";
+ version = "7.3.0";
+
+ desktopItem = makeDesktopItem {
+ name = "dbeaver";
+ exec = "dbeaver";
+ icon = "dbeaver";
+ desktopName = "dbeaver";
+ comment = "SQL Integrated Development Environment";
+ genericName = "SQL Integrated Development Environment";
+ categories = "Development;";
+ };
+
+ buildInputs = [
+ fontconfig freetype glib gtk3
+ jdk libX11 libXrender libXtst zlib
+ ];
+
+ nativeBuildInputs = [
+ makeWrapper
+ ];
+
+ src = fetchurl {
+ url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
+ sha256 = "sha256-JhEF2/97vo2FgzpCFkuc31aLl9qjKHV8RYXO5oBU1no=";
+ };
+
+ installPhase = ''
+ mkdir -p $out/
+ cp -r . $out/dbeaver
+
+ # Patch binaries.
+ interpreter=$(cat $NIX_CC/nix-support/dynamic-linker)
+ patchelf --set-interpreter $interpreter $out/dbeaver/dbeaver
+
+ makeWrapper $out/dbeaver/dbeaver $out/bin/dbeaver \
+ --prefix PATH : ${jdk}/bin \
+ --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk3 libXtst ])} \
+ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+
+ # Create desktop item.
+ mkdir -p $out/share/applications
+ cp ${desktopItem}/share/applications/* $out/share/applications
+
+ mkdir -p $out/share/pixmaps
+ ln -s $out/dbeaver/icon.xpm $out/share/pixmaps/dbeaver.xpm
+ '';
+
+ meta = with stdenv.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.
+ '';
+ license = licenses.asl20;
+ platforms = [ "x86_64-linux" ];
+ maintainers = [ maintainers.jojosch ];
+ };
+}