summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/networking/apache-directory-studio/default.nix49
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/applications/networking/apache-directory-studio/default.nix b/pkgs/applications/networking/apache-directory-studio/default.nix
new file mode 100644
index 000000000000..36d0c9e4acf6
--- /dev/null
+++ b/pkgs/applications/networking/apache-directory-studio/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, xorg, jre, makeWrapper }:
+
+let
+  rpath = stdenv.lib.makeLibraryPath (with xorg; [
+    libXtst
+  ]);
+in
+stdenv.mkDerivation rec {
+  name = "apache-directory-studio-${version}";
+  version = "2.0.0.v20170904-M13";
+
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "mirror://apache/directory/studio/${version}/ApacheDirectoryStudio-${version}-linux.gtk.x86_64.tar.gz";
+        sha256 = "1jfnm6m0ijk31r30hhrxxnizk742dm317iny041p29v897rma7aq";
+      }
+    else if stdenv.system == "i686-linux" then
+      fetchurl {
+        url = "mirror://apache/directory/studio/${version}/ApacheDirectoryStudio-${version}-linux.gtk.x86.tar.gz";
+        sha256 = "1bxmgram42qyhrqkgp5k8770f5mjjdd4c6xl4gj09smiycm1qa4n";
+      }
+    else throw "Unsupported system: ${stdenv.system}";
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    dest="$out/libexec/ApacheDirectoryStudio"
+    mkdir -p "$dest"
+    cp -r . "$dest"
+
+    mkdir -p "$out/bin"
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        "$dest/ApacheDirectoryStudio"
+    makeWrapper "$dest/ApacheDirectoryStudio" \
+        "$out/bin/ApacheDirectoryStudio" \
+        --prefix PATH : "${jre}/bin" \
+        --prefix LD_LIBRARY_PATH : "${rpath}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Eclipse-based LDAP browser and directory client";
+    homepage = "https://directory.apache.org/studio/";
+    license = licenses.asl20;
+    # Upstream supports macOS and Windows too.
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index bd27c05f480e..f1a1a9db7cfc 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -13974,6 +13974,8 @@ with pkgs;
 
   ao = callPackage ../applications/graphics/ao {};
 
+  apache-directory-studio = callPackage ../applications/networking/apache-directory-studio {};
+
   aqemu = libsForQt5.callPackage ../applications/virtualization/aqemu { };
 
   ardour = callPackage ../applications/audio/ardour {