summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Rammhold <andreas@rammhold.de>2018-01-10 19:30:38 +0000
committerGitHub <noreply@github.com>2018-01-10 19:30:38 +0000
commit32f6c9a73da5f7422642e20adf59c39ca439ccc1 (patch)
tree8854a4a88704a002c55c905c1a7a29877cd67798
parente017a027d54f17b43701e9e84291287ba595949d (diff)
parenta4d529d36f43caddcf3aab3cb42dd36a91cbb5b0 (diff)
downloadnixlib-32f6c9a73da5f7422642e20adf59c39ca439ccc1.tar
nixlib-32f6c9a73da5f7422642e20adf59c39ca439ccc1.tar.gz
nixlib-32f6c9a73da5f7422642e20adf59c39ca439ccc1.tar.bz2
nixlib-32f6c9a73da5f7422642e20adf59c39ca439ccc1.tar.lz
nixlib-32f6c9a73da5f7422642e20adf59c39ca439ccc1.tar.xz
nixlib-32f6c9a73da5f7422642e20adf59c39ca439ccc1.tar.zst
nixlib-32f6c9a73da5f7422642e20adf59c39ca439ccc1.zip
Merge pull request #33633 from samueldr/feature/dbeaver
dbeaver: inits at 4.3.2
-rw-r--r--lib/maintainers.nix1
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix70
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 73 insertions, 0 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index a5ab074a3131..d06cea51e675 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -593,6 +593,7 @@
   rzetterberg = "Richard Zetterberg <richard.zetterberg@gmail.com>";
   s1lvester = "Markus Silvester <s1lvester@bockhacker.me>";
   samdroid-apps = "Sam Parkinson <sam@sam.today>";
+  samueldr = "Samuel Dionne-Riel <samuel@dionne-riel.com>";
   samuelrivas = "Samuel Rivas <samuelrivas@gmail.com>";
   sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";
   sargon = "Daniel Ehlers <danielehlers@mindeye.net>";
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
new file mode 100644
index 000000000000..cb0e08613719
--- /dev/null
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchurl, makeDesktopItem, makeWrapper
+, fontconfig, freetype, glib, gtk2
+, jdk, libX11, libXrender, libXtst, zlib }:
+
+# The build process is almost like eclipse's.
+# See `pkgs/applications/editors/eclipse/*.nix`
+
+stdenv.mkDerivation rec {
+  name = "dbeaver-ce-${version}";
+  version = "4.3.2";
+
+  desktopItem = makeDesktopItem {
+    name = "dbeaver";
+    exec = "dbeaver";
+    icon = "dbeaver";
+    desktopName = "dbeaver";
+    comment = "SQL Integrated Development Environment";
+    genericName = "SQL Integrated Development Environment";
+    categories = "Application;Development;";
+  };
+
+  buildInputs = [
+    fontconfig freetype glib gtk2
+    jdk libX11 libXrender libXtst zlib
+  ];
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  src = fetchurl {
+    url = "https://dbeaver.jkiss.org/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
+    sha256 = "0spiwx5dxchpl2qq10rinj9db723w2hf7inqmg4m7fjaj75bpl3s";
+  };
+
+  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 gtk2 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.jkiss.org;
+    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.samueldr ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f9b8249bfc30..ab960ffe3838 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1732,6 +1732,8 @@ with pkgs;
 
   davfs2 = callPackage ../tools/filesystems/davfs2 { };
 
+  dbeaver = callPackage ../applications/misc/dbeaver { };
+
   dbench = callPackage ../development/tools/misc/dbench { };
 
   dclxvi = callPackage ../development/libraries/dclxvi { };