From 1c09cb43cea8bee1fd8c4d629fab80f6582f2eeb Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Mon, 11 Dec 2023 09:33:11 +0200 Subject: nixos/avahi: rename remaining config options services.avahi.nssmdns got split into services.avahi.nssmdns{4,6}, nothing should access the old alias anymore so there's no eval warnings. Reported in https://github.com/NixOS/nixpkgs/pull/258424#issuecomment-1849428869 --- pkgs/applications/misc/keylight-controller-mschneider82/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pkgs/applications') 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"; -- cgit 1.4.1 From 17f6e20dc45384710129888f4aefc27b0d315106 Mon Sep 17 00:00:00 2001 From: Jörg Thalheim Date: Sat, 9 Dec 2023 15:44:10 +0100 Subject: signal-desktop: refactor to make nix-update work Co-authored-by: Arjun31415 --- .../instant-messengers/signal-desktop/default.nix | 21 +++--------- .../instant-messengers/signal-desktop/generic.nix | 35 ++++++++++--------- .../signal-desktop/signal-desktop-aarch64.nix | 8 +++++ .../signal-desktop/signal-desktop-beta.nix | 8 +++++ .../signal-desktop/signal-desktop.nix | 8 +++++ .../instant-messengers/signal-desktop/update.sh | 39 ++++++++++++++++++++++ 6 files changed, 85 insertions(+), 34 deletions(-) create mode 100644 pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix create mode 100644 pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix create mode 100644 pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix create mode 100755 pkgs/applications/networking/instant-messengers/signal-desktop/update.sh (limited to 'pkgs/applications') 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 -- cgit 1.4.1