about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2023-12-11 12:01:23 +0000
committerGitHub <noreply@github.com>2023-12-11 12:01:23 +0000
commit6ac7b9234ad8762539fd492b295ec7b1d847570f (patch)
treede14ab0dd331e3e8d89eaa18711d085ea217609a /pkgs/applications
parent1e3b05e37fcf4048fdefa0a9971e3b598c89626a (diff)
parent306b3a15bcab67a598ff4a97c319bdc736930310 (diff)
downloadnixlib-6ac7b9234ad8762539fd492b295ec7b1d847570f.tar
nixlib-6ac7b9234ad8762539fd492b295ec7b1d847570f.tar.gz
nixlib-6ac7b9234ad8762539fd492b295ec7b1d847570f.tar.bz2
nixlib-6ac7b9234ad8762539fd492b295ec7b1d847570f.tar.lz
nixlib-6ac7b9234ad8762539fd492b295ec7b1d847570f.tar.xz
nixlib-6ac7b9234ad8762539fd492b295ec7b1d847570f.tar.zst
nixlib-6ac7b9234ad8762539fd492b295ec7b1d847570f.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/misc/keylight-controller-mschneider82/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix35
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix8
-rwxr-xr-xpkgs/applications/networking/instant-messengers/signal-desktop/update.sh39
7 files changed, 86 insertions, 35 deletions
diff --git a/pkgs/applications/misc/keylight-controller-mschneider82/default.nix b/pkgs/applications/misc/keylight-controller-mschneider82/default.nix
index e90299baa567..9d70e59202e8 100644
--- a/pkgs/applications/misc/keylight-controller-mschneider82/default.nix
+++ b/pkgs/applications/misc/keylight-controller-mschneider82/default.nix
@@ -37,7 +37,7 @@ buildGoModule rec {
     longDescription = ''
       Requires having:
       * Elgato's Keylight paired to local wifi network.
-      * Service avahi with nssmdns enabled.
+      * Service avahi with nssmdns4 enabled.
     '';
     license = licenses.mit;
     homepage = "https://github.com/mschneider82/keylight-control";
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index c01f260406d4..085f8e5d895b 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -1,17 +1,6 @@
-{ 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;
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
index c3e14775cb16..68c5552b251c 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
@@ -1,12 +1,4 @@
-{ 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"
   '';
 
-  # Tests if the application launches and waits for "Link your phone to Signal Desktop":
-  passthru.tests.application-launch = nixosTests.signal-desktop;
+  passthru = {
+    # Tests if the application launches and waits for "Link your phone to 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 ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
new file mode 100644
index 000000000000..d69571928af8
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
@@ -0,0 +1,8 @@
+{ 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=";
+}
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix
new file mode 100644
index 000000000000..9b99f67e156a
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix
@@ -0,0 +1,8 @@
+{ 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=";
+}
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
new file mode 100644
index 000000000000..bfae729772f4
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
@@ -0,0 +1,8 @@
+{ 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=";
+}
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/update.sh b/pkgs/applications/networking/instant-messengers/signal-desktop/update.sh
new file mode 100755
index 000000000000..fb52881bc750
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/update.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p bash nix-update curl coreutils
+
+set -ex
+
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
+
+curl_github() {
+  curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} "$@"
+}
+
+case "$UPDATE_NIX_ATTR_PATH" in
+signal-desktop)
+  latestTag=$(curl_github https://api.github.com/repos/signalapp/Signal-Desktop/releases/latest | jq -r ".tag_name")
+  latestVersion="$(expr "$latestTag" : 'v\(.*\)')"
+  latestVersionAarch64=$(curl_github "https://api.github.com/repos/0mniteck/Signal-Desktop-Mobian/releases/latest" | jq -r ".tag_name")
+
+  echo "Updating signal-desktop for x86_64-linux"
+  nix-update --version "$latestVersion" \
+    --system x86_64-linux \
+    --override-filename "$SCRIPT_DIR/signal-desktop.nix"
+  signal-desktop
+
+  echo "Updating signal-desktop for aarch64-linux"
+  nix-update --version "$latestVersionAarch64" \
+    --system aarch64-linux \
+    --override-filename "$SCRIPT_DIR/signal-desktop-aarch64.nix" \
+    signal-desktop
+  ;;
+signal-desktop-beta)
+  latestTagBeta=$(curl_github https://api.github.com/repos/signalapp/Signal-Desktop/releases | jq -r ".[0].tag_name")
+  latestVersionBeta="$(expr "$latestTagBeta" : 'v\(.*\)')"
+  echo "Updating signal-desktop-beta for x86_64-linux"
+  nix-update --version "$latestVersionBeta" --system x86_64-linux --override-filename "$SCRIPT_DIR/signal-desktop-beta.nix" signal-desktop-beta
+  ;;
+*)
+  echo "Unknown attr path $UPDATE_NIX_ATTR_PATH"
+  ;;
+esac