diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix new file mode 100644 index 000000000000..46157c2a35f3 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix @@ -0,0 +1,55 @@ +{ stdenv, newScope, makeWrapper +, wrapGAppsHook, gnome3, glib +, electron, xdg_utils, makeDesktopItem +, auth0ClientID ? "0spuNKfIGeLAQ_Iki9t3fGxbfJl3k8SU" +, auth0Domain ? "nixpkgs.auth0.com" }: + +let + callPackage = newScope self; + self = { + fetchNodeModules = callPackage ./fetchNodeModules.nix {}; + rambox-bare = callPackage ./bare.nix { + inherit auth0ClientID auth0Domain; + }; + 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 wrapGAppsHook ]; + + buildInputs = [ glib gnome3.gsettings_desktop_schemas ]; + unpackPhase = ":"; + + dontWrapGApps = true; # we only want $gappsWrapperArgs here + + installPhase = '' + runHook preInstall + mkdir -p $out/share/applications + ln -s ${desktopItem}/share/applications/* $out/share/applications + runHook postInstall + ''; + + postFixup = '' + makeWrapper ${electron}/bin/electron $out/bin/rambox \ + --add-flags "${rambox-bare} --without-update" \ + "''${gappsWrapperArgs[@]}" \ + --prefix PATH : ${xdg_utils}/bin + ''; + + inherit (rambox-bare.meta // { + platforms = [ "i686-linux" "x86_64-linux" ]; + }); +} |