From 90c31a3d12ee5292ad20d3e382d0f2e310b5c756 Mon Sep 17 00:00:00 2001 From: FliegendeWurst <2012gdwu+github@posteo.de> Date: Sun, 1 Oct 2023 17:47:52 +0200 Subject: [PATCH 1/5] wavebox: 10.114.26-2 -> 10.117.18-2 --- .../networking/instant-messengers/wavebox/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/wavebox/default.nix b/pkgs/applications/networking/instant-messengers/wavebox/default.nix index 3d0ea6353d48..49423834f31e 100644 --- a/pkgs/applications/networking/instant-messengers/wavebox/default.nix +++ b/pkgs/applications/networking/instant-messengers/wavebox/default.nix @@ -18,7 +18,7 @@ }: let - version = "10.114.26-2"; + version = "10.117.18-2"; desktopItem = makeDesktopItem rec { name = "Wavebox"; exec = "wavebox"; @@ -36,11 +36,13 @@ stdenv.mkDerivation { inherit version; src = fetchurl { url = "https://download.wavebox.app/stable/linux/tar/${tarball}"; - sha256 = "1yk664zgahjg6n98n3kc9avcay0nqwcyq8wq231p7kvd79zazk0r"; + hash = "sha256-2t59VmCR3TWeLDozR6EVlqd62zHCdXHDXW4gIFaGLlg="; }; # don't remove runtime deps dontPatchELF = true; + # ignore optional Qt 6 shim + autoPatchelfIgnoreMissingDeps = [ "libQt6Widgets.so.6" "libQt6Gui.so.6" "libQt6Core.so.6" ]; nativeBuildInputs = [ autoPatchelfHook makeWrapper qt5.wrapQtAppsHook ]; From 35c9d66a0341f5d984cf592ed4ec5a30a45e8982 Mon Sep 17 00:00:00 2001 From: FliegendeWurst <2012gdwu+github@posteo.de> Date: Tue, 3 Oct 2023 08:42:40 +0200 Subject: [PATCH 2/5] wavebox: add update script --- .../instant-messengers/wavebox/default.nix | 2 ++ .../instant-messengers/wavebox/update.sh | 15 +++++++++++++++ 2 files changed, 17 insertions(+) create mode 100755 pkgs/applications/networking/instant-messengers/wavebox/update.sh diff --git a/pkgs/applications/networking/instant-messengers/wavebox/default.nix b/pkgs/applications/networking/instant-messengers/wavebox/default.nix index 49423834f31e..151ea3d21aad 100644 --- a/pkgs/applications/networking/instant-messengers/wavebox/default.nix +++ b/pkgs/applications/networking/instant-messengers/wavebox/default.nix @@ -79,6 +79,8 @@ stdenv.mkDerivation { --prefix PATH : ${xdg-utils}/bin ''; + passthru.updateScript = ./update.sh; + meta = with lib; { description = "Wavebox messaging application"; homepage = "https://wavebox.io"; diff --git a/pkgs/applications/networking/instant-messengers/wavebox/update.sh b/pkgs/applications/networking/instant-messengers/wavebox/update.sh new file mode 100755 index 000000000000..e881601b4711 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/wavebox/update.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p coreutils curl gnugrep +set -euo pipefail + +cd $(dirname "${BASH_SOURCE[0]}") + +setKV () { + sed -i "s|$2 = \".*\"|$2 = \"${3:-}\"|" $1 +} + +version=$(curl -LIs --show-error -o /dev/null -w %{url_effective} 'https://download.wavebox.app/latest/stable/linux/tar' | grep -oP 'Wavebox_\K(.+)(?=.tar.gz)') + +sha256_linux64=$(nix-prefetch-url --quiet https://download.wavebox.app/stable/linux/tar/Wavebox_${version}.tar.gz) +setKV ./default.nix version $version +setKV ./default.nix sha256 "$sha256_linux64" From a393a30239bc0663fe7f64959d8394e429ad7742 Mon Sep 17 00:00:00 2001 From: FliegendeWurst <2012gdwu+github@posteo.de> Date: Tue, 3 Oct 2023 08:42:57 +0200 Subject: [PATCH 3/5] wavebox: 10.117.18-2 -> 10.117.21-2 --- .../networking/instant-messengers/wavebox/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/wavebox/default.nix b/pkgs/applications/networking/instant-messengers/wavebox/default.nix index 151ea3d21aad..c7fedc51b582 100644 --- a/pkgs/applications/networking/instant-messengers/wavebox/default.nix +++ b/pkgs/applications/networking/instant-messengers/wavebox/default.nix @@ -18,7 +18,7 @@ }: let - version = "10.117.18-2"; + version = "10.117.21-2"; desktopItem = makeDesktopItem rec { name = "Wavebox"; exec = "wavebox"; @@ -36,7 +36,7 @@ stdenv.mkDerivation { inherit version; src = fetchurl { url = "https://download.wavebox.app/stable/linux/tar/${tarball}"; - hash = "sha256-2t59VmCR3TWeLDozR6EVlqd62zHCdXHDXW4gIFaGLlg="; + sha256 = "1g2mf3xmcaz3y6vwa65r4ccw71ddqj1cn12p0k1f1xawfl74kc5c"; }; # don't remove runtime deps From 5fc826a9cc043e7714e1f82e4abb28334517e866 Mon Sep 17 00:00:00 2001 From: FliegendeWurst <2012gdwu+github@posteo.de> Date: Tue, 10 Oct 2023 16:03:29 +0200 Subject: [PATCH 4/5] wavebox: use proper API endpoint in update --- .../networking/instant-messengers/wavebox/update.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/wavebox/update.sh b/pkgs/applications/networking/instant-messengers/wavebox/update.sh index e881601b4711..dcf0339e8e3a 100755 --- a/pkgs/applications/networking/instant-messengers/wavebox/update.sh +++ b/pkgs/applications/networking/instant-messengers/wavebox/update.sh @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p coreutils curl gnugrep +#!nix-shell -i bash -p coreutils curl jq set -euo pipefail cd $(dirname "${BASH_SOURCE[0]}") @@ -8,7 +8,7 @@ setKV () { sed -i "s|$2 = \".*\"|$2 = \"${3:-}\"|" $1 } -version=$(curl -LIs --show-error -o /dev/null -w %{url_effective} 'https://download.wavebox.app/latest/stable/linux/tar' | grep -oP 'Wavebox_\K(.+)(?=.tar.gz)') +version=$(curl "https://download.wavebox.app/stable/linux/latest.json" | jq --raw-output '.["urls"]["tar"] | match("https://download.wavebox.app/stable/linux/tar/Wavebox_(.+).tar.gz").captures[0]["string"]') sha256_linux64=$(nix-prefetch-url --quiet https://download.wavebox.app/stable/linux/tar/Wavebox_${version}.tar.gz) setKV ./default.nix version $version From 93d7c04dac8af7cc0b2b28cc0de7a00cb11bbafb Mon Sep 17 00:00:00 2001 From: FliegendeWurst <2012gdwu+github@posteo.de> Date: Fri, 20 Oct 2023 11:09:19 +0200 Subject: [PATCH 5/5] wavebox: 10.117.21-2 -> 10.118.5-2 Refactor to remove let. Use nix-update in update script. --- .../instant-messengers/wavebox/default.nix | 46 ++++++++++--------- .../instant-messengers/wavebox/update.sh | 14 +----- 2 files changed, 26 insertions(+), 34 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/wavebox/default.nix b/pkgs/applications/networking/instant-messengers/wavebox/default.nix index c7fedc51b582..21a8a4a96303 100644 --- a/pkgs/applications/networking/instant-messengers/wavebox/default.nix +++ b/pkgs/applications/networking/instant-messengers/wavebox/default.nix @@ -4,6 +4,7 @@ , gtk3 , gtk4 , libnotify +, copyDesktopItems , makeDesktopItem , makeWrapper , mesa @@ -17,26 +18,13 @@ , xorg }: -let - version = "10.117.21-2"; - desktopItem = makeDesktopItem rec { - name = "Wavebox"; - exec = "wavebox"; - icon = "wavebox"; - desktopName = name; - genericName = name; - categories = [ "Network" "WebBrowser" ]; - }; - - tarball = "Wavebox_${version}.tar.gz"; - -in -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "wavebox"; - inherit version; + version = "10.118.5-2"; + src = fetchurl { - url = "https://download.wavebox.app/stable/linux/tar/${tarball}"; - sha256 = "1g2mf3xmcaz3y6vwa65r4ccw71ddqj1cn12p0k1f1xawfl74kc5c"; + url = "https://download.wavebox.app/stable/linux/tar/Wavebox_${version}.tar.gz"; + sha256 = "sha256-TxMl8pdycCMY6NFi5MSLZg0p/+KmuAPQOm370bPMm/0="; }; # don't remove runtime deps @@ -44,7 +32,7 @@ stdenv.mkDerivation { # ignore optional Qt 6 shim autoPatchelfIgnoreMissingDeps = [ "libQt6Widgets.so.6" "libQt6Gui.so.6" "libQt6Core.so.6" ]; - nativeBuildInputs = [ autoPatchelfHook makeWrapper qt5.wrapQtAppsHook ]; + nativeBuildInputs = [ autoPatchelfHook makeWrapper qt5.wrapQtAppsHook copyDesktopItems ]; buildInputs = with xorg; [ libXdmcp @@ -64,14 +52,28 @@ stdenv.mkDerivation { runtimeDependencies = [ (lib.getLib udev) libnotify gtk4 ]; + desktopItems = [ + (makeDesktopItem rec { + name = "Wavebox"; + exec = "wavebox"; + icon = "wavebox"; + desktopName = name; + genericName = name; + categories = [ "Network" "WebBrowser" ]; + }) + ]; + installPhase = '' + runHook preInstall + mkdir -p $out/bin $out/opt/wavebox cp -r * $out/opt/wavebox - # provide desktop item and icon - mkdir -p $out/share/applications $out/share/icons/hicolor/128x128/apps - ln -s ${desktopItem}/share/applications/* $out/share/applications + # provide icon for desktop item + mkdir -p $out/share/icons/hicolor/128x128/apps ln -s $out/opt/wavebox/product_logo_128.png $out/share/icons/hicolor/128x128/apps/wavebox.png + + runHook postInstall ''; postFixup = '' diff --git a/pkgs/applications/networking/instant-messengers/wavebox/update.sh b/pkgs/applications/networking/instant-messengers/wavebox/update.sh index dcf0339e8e3a..316f8bfbb7ec 100755 --- a/pkgs/applications/networking/instant-messengers/wavebox/update.sh +++ b/pkgs/applications/networking/instant-messengers/wavebox/update.sh @@ -1,15 +1,5 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p coreutils curl jq -set -euo pipefail - -cd $(dirname "${BASH_SOURCE[0]}") - -setKV () { - sed -i "s|$2 = \".*\"|$2 = \"${3:-}\"|" $1 -} +#!nix-shell -i bash -p nix-update curl jq version=$(curl "https://download.wavebox.app/stable/linux/latest.json" | jq --raw-output '.["urls"]["tar"] | match("https://download.wavebox.app/stable/linux/tar/Wavebox_(.+).tar.gz").captures[0]["string"]') - -sha256_linux64=$(nix-prefetch-url --quiet https://download.wavebox.app/stable/linux/tar/Wavebox_${version}.tar.gz) -setKV ./default.nix version $version -setKV ./default.nix sha256 "$sha256_linux64" +nix-update wavebox --version "$version"