diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-01-26 18:06:19 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-01-26 18:21:18 +0000 |
commit | 7ac6743433dd45ceaead2ca96f6356dc0d064ce6 (patch) | |
tree | b68ec89d7d2a8d2b6e6b1ff94ba26d6af4096350 /nixpkgs/pkgs/applications/networking/instant-messengers/rambox | |
parent | c5c7451dbef37b51f52792d6395a670ef5183d27 (diff) | |
parent | 891f607d5301d6730cb1f9dcf3618bcb1ab7f10e (diff) | |
download | nixlib-7ac6743433dd45ceaead2ca96f6356dc0d064ce6.tar nixlib-7ac6743433dd45ceaead2ca96f6356dc0d064ce6.tar.gz nixlib-7ac6743433dd45ceaead2ca96f6356dc0d064ce6.tar.bz2 nixlib-7ac6743433dd45ceaead2ca96f6356dc0d064ce6.tar.lz nixlib-7ac6743433dd45ceaead2ca96f6356dc0d064ce6.tar.xz nixlib-7ac6743433dd45ceaead2ca96f6356dc0d064ce6.tar.zst nixlib-7ac6743433dd45ceaead2ca96f6356dc0d064ce6.zip |
Merge commit '891f607d5301d6730cb1f9dcf3618bcb1ab7f10e'
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/instant-messengers/rambox')
3 files changed, 52 insertions, 77 deletions
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix index cc9fab4d3752..5525805c2e4c 100644 --- a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix +++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/default.nix @@ -1,47 +1,23 @@ -{ stdenv, lib, fetchurl, xdg_utils, dpkg, makeWrapper, autoPatchelfHook -, libXtst, libXScrnSaver, gtk3, nss, alsaLib, udev, libnotify, wrapGAppsHook -}: +{ stdenv, callPackage, fetchurl, lib }: let - version = "0.7.7"; -in stdenv.mkDerivation rec { + mkRambox = opts: callPackage (import ./rambox.nix opts) { }; +in mkRambox rec { pname = "rambox"; - inherit version; + version = "0.7.7"; + src = { x86_64-linux = fetchurl { - url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-amd64.deb"; - sha256 = "0bij4f1bkg94gc8pq7r6yfym5zcvwc2ymdnmnmh5m4h1pa1gk6x9"; + url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-x86_64.AppImage"; + sha256 = "0f82hq0dzcjicdz6lkzj8889y100yqciqrwh8wjjy9pxkhjcdini"; }; i686-linux = fetchurl { - url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-i386.deb"; - sha256 = "1nhgqjha10jvyf9nsghvlkibg7byj8qz140639ygag9qlpd51rfs"; + url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-i386.AppImage"; + sha256 = "1nhgqjha10jvyf9nsghvlkibg7byj8qz140639ygag9qlpd52rfs"; }; }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); - nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ]; - buildInputs = [ libXtst libXScrnSaver gtk3 nss alsaLib ]; - runtimeDependencies = [ (lib.getLib udev) libnotify ]; - - unpackPhase = "dpkg-deb -x $src ."; - - installPhase = '' - 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 - ''; - - preFixup = '' - gappsWrapperArgs+=( - --prefix PATH : ${xdg_utils}/bin - ) - ''; - - meta = with stdenv.lib; { + 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; diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix index 3cdf1339e3bf..7051799a2775 100644 --- a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix +++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix @@ -1,56 +1,25 @@ -{ autoPatchelfHook, electron_7, fetchurl, makeDesktopItem, makeWrapper, nodePackages, nss, stdenv, xdg_utils, xorg }: +{ stdenv, callPackage, fetchurl, lib }: let - electron = electron_7; -in -stdenv.mkDerivation rec { + mkRambox = opts: callPackage (import ./rambox.nix opts) { }; +in mkRambox rec { pname = "rambox-pro"; version = "1.4.1"; - dontBuild = true; - dontStrip = true; + desktopName = "Rambox Pro"; - buildInputs = [ nss xorg.libXext xorg.libxkbfile xorg.libXScrnSaver ]; - nativeBuildInputs = [ autoPatchelfHook makeWrapper nodePackages.asar ]; + src = { + x86_64-linux = fetchurl { + url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.AppImage"; + sha256 = "18383v3g26hd1czvw06gmjn8bdw2w9c7zb04zkfl6szgakrv26x4"; + }; + }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}"); - src = fetchurl { - url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.tar.gz"; - sha256 = "1bd4fba3ac8c20fa557ebfb110f6503d36e6c3dba0401d1073529dcae2c2ec1e"; - }; - - installPhase = '' - mkdir -p $out/{bin,resources/dist/renderer/assets/images/app,share/applications,share/icons/hicolor/256x256/apps} - - asar e resources/app.asar $out/resources - - substituteInPlace "$out/resources/dist/electron/main.js" \ - --replace ",isHidden:" ",path:\"$out/bin/ramboxpro\",isHidden:" - - cp $desktopItem/share/applications/* $out/share/applications - cp $out/resources/dist/electron/imgs/256x256.png $out/share/icons/hicolor/256x256/apps/ramboxpro.png - cp $out/resources/dist/electron/imgs/256x256.png $out/resources/dist/renderer/assets/images/app/icon.png - ''; - - postFixup = '' - makeWrapper ${electron}/bin/electron $out/bin/ramboxpro \ - --add-flags "$out/resources --without-update" \ - --prefix PATH : ${xdg_utils}/bin - ''; - - desktopItem = makeDesktopItem { - name = "rambox-pro"; - exec = "ramboxpro"; - icon = "ramboxpro"; - type = "Application"; - desktopName = "Rambox Pro"; - categories = "Network;"; - }; - - meta = with stdenv.lib; { + 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 = [ "i686-linux" "x86_64-linux" ]; + 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..6881ae270f9b --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/rambox.nix @@ -0,0 +1,30 @@ +{ pname, version, src, meta, desktopName ? "Rambox" }: + +{ appimageTools, stdenv, lib, fetchurl, 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; + + 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 + ''; +} |