Commit 17f6e20d authored by Jörg Thalheim's avatar Jörg Thalheim
Browse files

signal-desktop: refactor to make nix-update work



Co-authored-by: default avatarArjun31415 <arjunp0710@gmail.com>
parent c721fa27
Loading
Loading
Loading
Loading
+5 −16
Original line number Diff line number Diff line
{ callPackage, stdenv }: builtins.mapAttrs (pname: attrs: callPackage ./generic.nix (attrs // { inherit pname; })) {
  signal-desktop = rec {
    dir = "Signal";
    version = "6.40.0";
    version-aarch64 = "6.40.0";
    url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
    url-aarch64 = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/${version-aarch64}/builds/release/signal-desktop_${version-aarch64}_arm64.deb";
    hash = "sha256-vyXHlycPSyEyv938IKzGM6pdERHHerx2CLY/U+WMrH4=";
    hash-aarch64 = "sha256-3Pi0c+CGcJR1M4ll51m+B5PmGIcIjjlc0qa9b8rkMeU=";
  };
  signal-desktop-beta = rec {
    dir = "Signal Beta";
    version = "6.40.0-beta.2";
    hash = "sha256-pfedkxbZ25DFgz+/N7ZEb9LwKrHuoMM+Zi+Tc21QPsg=";
    url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
  };
{ hostPlatform, callPackage }: {
  signal-desktop = if hostPlatform.system == "aarch64-linux"
    then callPackage ./signal-desktop-aarch64.nix { }
    else callPackage ./signal-desktop.nix { };
  signal-desktop-beta = ./signal-desktop-beta.nix;
}
+17 −18
Original line number Diff line number Diff line
{ pname
, dir
, version
, version-aarch64 ? ""
, hash
, hash-aarch64 ? ""
, url
, url-aarch64 ? ""
, stdenv
{ stdenv
, lib
, fetchurl
, autoPatchelfHook
@@ -55,13 +47,18 @@
, wayland
}:

{ pname
, dir
, version
, hash
, url
}:

let
  inherit (stdenv) targetPlatform;
  ARCH = if targetPlatform.isAarch64 then "arm64" else "x64";
  final-version = if targetPlatform.isAarch64 then version-aarch64 else version;
in stdenv.mkDerivation rec {
  inherit pname;
  version = final-version;
  inherit pname version;

  # Please backport all updates to the stable channel.
  # All releases have a limited lifetime and "expire" 90 days after the release.
@@ -72,8 +69,7 @@ in stdenv.mkDerivation rec {
  # few additional steps and might not be the best idea.)

  src = fetchurl {
    url = if targetPlatform.isAarch64 then url-aarch64 else url;
    hash = if targetPlatform.isAarch64 then hash-aarch64 else hash;
    inherit url hash;
  };

  nativeBuildInputs = [
@@ -177,8 +173,11 @@ in stdenv.mkDerivation rec {
    patchelf --add-needed ${libpulseaudio}/lib/libpulse.so "$out/lib/${dir}/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-${ARCH}.node"
  '';

  passthru = {
    # Tests if the application launches and waits for "Link your phone to Signal Desktop":
  passthru.tests.application-launch = nixosTests.signal-desktop;
    tests.application-launch = nixosTests.signal-desktop;
    updateScript.command = [ ./update.sh ];
  };

  meta = {
    description = "Private, simple, and secure messenger";
@@ -187,11 +186,11 @@ in stdenv.mkDerivation rec {
      "Signal Android" or "Signal iOS" app.
    '';
    homepage = "https://signal.org/";
    changelog = "https://github.com/signalapp/Signal-Desktop/releases/tag/v${final-version}";
    changelog = "https://github.com/signalapp/Signal-Desktop/releases/tag/v${version}";
    license = lib.licenses.agpl3Only;
    maintainers = with lib.maintainers; [ mic92 equirosa urandom bkchr ];
    mainProgram = pname;
    platforms = if builtins.stringLength version-aarch64 > 0 then [ "x86_64-linux" "aarch64-linux" ] else [ "x86_64-linux" ];
    platforms = [ "x86_64-linux" "aarch64-linux" ];
    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
  };
}
+8 −0
Original line number Diff line number Diff line
{ callPackage }:
callPackage ./generic.nix { } rec {
  pname = "signal-desktop";
  dir = "Signal";
  version = "6.40.0";
  url = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/${version}/builds/release/signal-desktop_${version}_arm64.deb";
  hash = "sha256-3Pi0c+CGcJR1M4ll51m+B5PmGIcIjjlc0qa9b8rkMeU=";
}
+8 −0
Original line number Diff line number Diff line
{ callPackage }:
callPackage ./generic.nix {} rec {
  pname = "signal-desktop-beta";
  dir = "Signal Beta";
  version = "6.40.0-beta.2";
  url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
  hash = "sha256-pfedkxbZ25DFgz+/N7ZEb9LwKrHuoMM+Zi+Tc21QPsg=";
}
+8 −0
Original line number Diff line number Diff line
{ callPackage }:
callPackage ./generic.nix {} rec {
  pname = "signal-desktop";
  dir = "Signal";
  version = "6.40.0";
  url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
  hash = "sha256-vyXHlycPSyEyv938IKzGM6pdERHHerx2CLY/U+WMrH4=";
}
Loading