From d6481fa812edd78d21a610c2acce77f74bc1dcae Mon Sep 17 00:00:00 2001 From: heyimnova Date: Mon, 20 Feb 2023 19:10:32 +0000 Subject: [PATCH] revolt-desktop: init at 1.0.6 --- .../revolt-desktop/default.nix | 61 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 63 insertions(+) create mode 100644 pkgs/applications/networking/instant-messengers/revolt-desktop/default.nix diff --git a/pkgs/applications/networking/instant-messengers/revolt-desktop/default.nix b/pkgs/applications/networking/instant-messengers/revolt-desktop/default.nix new file mode 100644 index 000000000000..e070fee1c378 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/revolt-desktop/default.nix @@ -0,0 +1,61 @@ +{ stdenv +, lib +, fetchurl +, appimageTools +, makeWrapper +, electron +}: + +stdenv.mkDerivation rec { + pname = "revolt-desktop"; + version = "1.0.6"; + + src = fetchurl { + url = "https://github.com/revoltchat/desktop/releases/download/v${version}/Revolt-linux.AppImage"; + sha256 = "sha256-Wsm6ef2Reenq3/aKGaP2yzlOuLKaxKtRHCLLMxvWUUY="; + }; + + appimageContents = appimageTools.extractType2 { + name = "${pname}-${version}"; + inherit src; + }; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + + nativeBuildInputs = [ + makeWrapper + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/share/{applications,revolt-desktop} + + cp -a ${appimageContents}/{locales,resources} $out/share/${pname} + cp -a ${appimageContents}/revolt-desktop.desktop $out/share/applications/${pname}.desktop + cp -a ${appimageContents}/usr/share/icons $out/share/icons + + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace 'Exec=AppRun' 'Exec=${pname}' + + runHook postInstall + ''; + + postFixup = '' + makeWrapper ${electron}/bin/electron $out/bin/${pname} \ + --add-flags $out/share/${pname}/resources/app.asar + ''; + + meta = with lib; { + description = "An open source user-first chat platform"; + homepage = "https://revolt.chat/"; + changelog = "https://github.com/revoltchat/desktop/releases/tag/v${version}"; + license = licenses.agpl3Only; + maintainers = with maintainers; [ heyimnova ]; + platforms = platforms.linux; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + mainProgram = "revolt-desktop"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b5e784b19c14..57fe491ccbe5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11404,6 +11404,8 @@ with pkgs; inherit (qt5) qttools; }; + revolt-desktop = callPackage ../applications/networking/instant-messengers/revolt-desktop { }; + rbw = callPackage ../tools/security/rbw { inherit (darwin.apple_sdk.frameworks) Security; };