diff options
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/rambox/default.nix')
-rw-r--r-- | pkgs/applications/networking/instant-messengers/rambox/default.nix | 74 |
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 = []; }; } |