summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/rambox/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/rambox/default.nix')
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/default.nix74
1 files changed, 36 insertions, 38 deletions
diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix
index f588c31c183..28ed924011e 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -1,52 +1,50 @@
-{ stdenv, newScope, makeWrapper
-, electron, xdg_utils, makeDesktopItem
-, auth0ClientID ? "0spuNKfIGeLAQ_Iki9t3fGxbfJl3k8SU"
-, auth0Domain ? "nixpkgs.auth0.com" }:
+{ stdenv, fetchurl, xdg_utils, dpkg, makeWrapper, autoPatchelfHook
+, libXtst, libXScrnSaver, gtk3, nss, alsaLib, udev, libnotify
+}:
 
 let
-  callPackage = newScope self;
-  self = {
-    fetchNodeModules = callPackage ./fetchNodeModules.nix {};
-    rambox-bare = callPackage ./bare.nix {
-      inherit auth0ClientID auth0Domain;
+  version = "0.7.4";
+in stdenv.mkDerivation rec {
+  pname = "rambox";
+  inherit version;
+  src = {
+    x86_64-linux = fetchurl {
+      url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-amd64.deb";
+      sha256 = "0m9627bcwfg9aximv7ifsmspm8xi231pcnnd4p46lahb2qp19vbd";
     };
-    sencha = callPackage ./sencha {};
-  };
-  desktopItem = makeDesktopItem rec {
-    name = "Rambox";
-    exec = "rambox";
-    icon = "${self.rambox-bare}/resources/Icon.png";
-    desktopName = name;
-    genericName = "Rambox messenger";
-    categories = "Network;";
-  };
-in
-
-with self;
-
-stdenv.mkDerivation {
-  name = "rambox-${rambox-bare.version}";
-
-  nativeBuildInputs = [ makeWrapper ];
+    i686-linux = fetchurl {
+      url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-i386.deb";
+      sha256 = "162p6x400w3pny38adinp53rcifvbkjbs12cwrpf7s3b0yml8qxr";
+    };
+  }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
 
-  dontUnpack = true;
+  nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook ];
+  buildInputs = [ libXtst libXScrnSaver gtk3 nss alsaLib ];
+  runtimeDependencies = [ udev.lib libnotify ];
 
-  dontWrapGApps = true; # we only want $gappsWrapperArgs here
+  unpackPhase = "dpkg-deb -x $src .";
 
   installPhase = ''
-    runHook preInstall
-    mkdir -p $out/share/applications
-    ln -s ${desktopItem}/share/applications/* $out/share/applications
-    runHook postInstall
+    mkdir -p $out/bin
+    cp -r opt $out
+    ln -s $out/opt/Rambox/rambox $out/bin
+
+    # provide resources
+    cp -r usr/share $out
+    substituteInPlace $out/share/applications/rambox.desktop \
+      --replace Exec=/opt/Rambox/rambox Exec=rambox
   '';
 
   postFixup = ''
-    makeWrapper ${electron}/bin/electron $out/bin/rambox \
-      --add-flags "${rambox-bare} --without-update" \
-      --prefix PATH : ${xdg_utils}/bin
+    wrapProgram $out/opt/Rambox/rambox --prefix PATH : ${xdg_utils}/bin
   '';
 
-  meta = rambox-bare.meta // {
-    platforms = [ "i686-linux" "x86_64-linux" ];
+  meta = with stdenv.lib; {
+    description = "Free and Open Source messaging and emailing app that combines common web applications into one";
+    homepage = http://rambox.pro;
+    license = licenses.mit;
+    maintainers = with maintainers; [ gnidorah ma27 ];
+    platforms = ["i686-linux" "x86_64-linux"];
+    hydraPlatforms = [];
   };
 }