about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/graphics/drawio/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-08-14 00:02:54 +0000
committerAlyssa Ross <hi@alyssa.is>2019-08-14 00:02:54 +0000
commitf9abd30e11337cf07034f2cc8ad1691aa4a69386 (patch)
treec3b5c34b1c533f5c231dc6707e96795fb3a9a138 /nixpkgs/pkgs/applications/graphics/drawio/default.nix
parent44e04ea2730f8e3b863b81b0056babe233c244f6 (diff)
parent1036dc664169b32613ec11b58cc1740c7511a340 (diff)
downloadnixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.tar
nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.tar.gz
nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.tar.bz2
nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.tar.lz
nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.tar.xz
nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.tar.zst
nixlib-f9abd30e11337cf07034f2cc8ad1691aa4a69386.zip
Merge commit '1036dc664169b32613ec11b58cc1740c7511a340'
Diffstat (limited to 'nixpkgs/pkgs/applications/graphics/drawio/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/graphics/drawio/default.nix94
1 files changed, 94 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/graphics/drawio/default.nix b/nixpkgs/pkgs/applications/graphics/drawio/default.nix
new file mode 100644
index 000000000000..70cf1c149ab1
--- /dev/null
+++ b/nixpkgs/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" ];
+  };
+}