summary refs log tree commit diff
path: root/pkgs/applications/graphics/drawio/default.nix
diff options
context:
space:
mode:
authorDaniël de Kok <me@danieldk.eu>2019-07-02 08:38:54 +0200
committerDaniël de Kok <me@danieldk.eu>2019-07-09 15:14:21 +0200
commitf658a3c80754634dca8293ab229ea7323bf61ffd (patch)
treee85c1ebeddbf985b24331b80805833829f343a44 /pkgs/applications/graphics/drawio/default.nix
parente8d00113e232230d7f53e23342b13acb230cfb56 (diff)
downloadnixpkgs-f658a3c80754634dca8293ab229ea7323bf61ffd.tar
nixpkgs-f658a3c80754634dca8293ab229ea7323bf61ffd.tar.gz
nixpkgs-f658a3c80754634dca8293ab229ea7323bf61ffd.tar.bz2
nixpkgs-f658a3c80754634dca8293ab229ea7323bf61ffd.tar.lz
nixpkgs-f658a3c80754634dca8293ab229ea7323bf61ffd.tar.xz
nixpkgs-f658a3c80754634dca8293ab229ea7323bf61ffd.tar.zst
nixpkgs-f658a3c80754634dca8293ab229ea7323bf61ffd.zip
drawio: init at 10.8.0
draw.io is an application for drawing diagrams. This is the (offline)
desktop version of the draw.io web application.
Diffstat (limited to 'pkgs/applications/graphics/drawio/default.nix')
-rw-r--r--pkgs/applications/graphics/drawio/default.nix94
1 files changed, 94 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
new file mode 100644
index 00000000000..70cf1c149ab
--- /dev/null
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -0,0 +1,94 @@
+{ stdenv, lib, fetchurl, rpmextract, autoPatchelfHook, wrapGAppsHook
+
+# Dynamic libraries
+, alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, dbus, cups, expat
+, gdk_pixbuf, glib, gtk3, libX11, libXScrnSaver, libXcomposite, libXcursor
+, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst
+, libxcb, libuuid, nspr, nss, pango
+
+, systemd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "drawio";
+  version = "10.8.0";
+
+  src = fetchurl {
+    url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
+    sha256 = "0c5wymzhbp72x0yhvw7vb4akkdvj97npl9kglk79vqjbzfn5di9k";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    rpmextract
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    alsaLib
+    atk
+    at-spi2-atk
+    at-spi2-core
+    cairo
+    cups
+    dbus
+    expat
+    gdk_pixbuf
+    glib
+    gtk3
+    libX11
+    libXScrnSaver
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXext
+    libXfixes
+    libXi
+    libXrandr
+    libXrender
+    libXtst
+    libxcb
+    libuuid
+    nspr
+    nss
+    pango
+    systemd
+  ];
+
+  runtimeDependencies = [
+    systemd.lib
+  ];
+
+  dontBuild = true;
+  dontConfigure = true;
+
+  unpackPhase = "rpmextract ${src}";
+
+  installPhase = ''
+    mkdir -p $out/share
+    cp -r opt/draw.io $out/share/
+
+    # Application icon
+    mkdir -p $out/share/icons/hicolor
+    cp -r usr/share/icons/hicolor/0x0 $out/share/icons/hicolor/1024x1024
+
+    # XDG desktop item
+    cp -r usr/share/applications $out/share/applications
+
+    # Symlink wrapper
+    mkdir -p $out/bin
+    ln -s $out/share/draw.io/draw.io $out/bin/draw.io
+
+    # Update binary path
+    substituteInPlace $out/share/applications/draw.io.desktop \
+      --replace /opt/draw.io/draw.io $out/bin/draw.io
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A desktop application for creating diagrams";
+    homepage = https://about.draw.io/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danieldk ];
+    platforms = [ "x86_64-linux" ];
+  };
+}