diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/instant-messengers/rambox')
3 files changed, 87 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..1d7888f78c81 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix @@ -0,0 +1,29 @@ +{ stdenv, callPackage, fetchurl, lib }: + +let + mkRambox = opts: callPackage (import ./rambox.nix opts) {}; +in +mkRambox rec { + pname = "rambox"; + version = "0.7.9"; + + src = { + x86_64-linux = fetchurl { + url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-x86_64.AppImage"; + sha256 = "19y4cmrfp79dr4hgl698imp4f3l1nhgvhh76j5laxg46ld71knil"; + }; + i686-linux = fetchurl { + url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-i386.AppImage"; + sha256 = "13wiciyshyrabq2mvnssl2d6svia1kdvwx3dl26249iyif96xxvq"; + }; + }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); + + meta = with lib; { + description = "Free and Open Source messaging and emailing app that combines common web applications into one"; + homepage = "https://rambox.pro"; + license = licenses.mit; + maintainers = with maintainers; []; + platforms = [ "i686-linux" "x86_64-linux" ]; + hydraPlatforms = []; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix new file mode 100644 index 000000000000..827cac7c2970 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix @@ -0,0 +1,25 @@ +{ stdenv, callPackage, fetchurl, lib }: + +let + mkRambox = opts: callPackage (import ./rambox.nix opts) { }; +in mkRambox rec { + pname = "rambox-pro"; + version = "1.5.0"; + + desktopName = "Rambox Pro"; + + src = { + x86_64-linux = fetchurl { + url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.AppImage"; + sha256 = "1g7lrjm8yxklqpc2mp8gy0g61wfilr15dl80r3sh6pa5b4k5spir"; + }; + }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); + + meta = with lib; { + description = "Messaging and emailing app that combines common web applications into one"; + homepage = "https://rambox.pro"; + license = licenses.unfree; + maintainers = with maintainers; [ chrisaw ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/rambox.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/rambox.nix new file mode 100644 index 000000000000..df038611c3b1 --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/rambox.nix @@ -0,0 +1,33 @@ +{ pname, version, src, meta, desktopName ? "Rambox" }: + +{ appimageTools, lib, fetchurl, gsettings-desktop-schemas, gtk3, makeDesktopItem }: + +let + name = "${pname}-${version}"; + + desktopItem = (makeDesktopItem { + inherit desktopName; + name = pname; + exec = pname; + icon = pname; + type = "Application"; + categories = "Network;"; + }); + + appimageContents = appimageTools.extractType2 { + inherit name src; + }; +in appimageTools.wrapType2 rec { + inherit name src meta; + profile = '' + export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS + ''; + + extraInstallCommands = '' + mkdir -p $out/share/applications $out/share/icons/hicolor/256x256/apps + # CE uses rambox-<version>, Pro uses rambox + mv $out/bin/rambox* $out/bin/${pname} + install -Dm644 ${appimageContents}/usr/share/icons/hicolor/256x256/apps/rambox*.png $out/share/icons/hicolor/256x256/apps/${pname}.png + install -Dm644 ${desktopItem}/share/applications/* $out/share/applications + ''; +} |