breitbandmessung: 3.3.0 -> 3.6.0 (#295875)

Things changed:
- Unpin electron version. Upstream updates usually fix electron incompatibilities and we also have a test which can detect them. (#295770)
- Add updater script. It scrapes the upstream website for the current version number. Lets hope the website structure doesn't change too much.
- Update to the latest version
This commit is contained in:
Fabian Möller 2024-03-15 14:00:34 +01:00 committed by GitHub
parent 65aa02f0ce
commit 54daef752e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 48 additions and 13 deletions

View file

@ -3,7 +3,7 @@
, fetchurl
, asar
, dpkg
, electron_24
, electron
, makeWrapper
, nixosTests
, undmg
@ -12,14 +12,11 @@
let
inherit (stdenv.hostPlatform) system;
version = "3.3.0";
sources = import ./sources.nix;
systemArgs = rec {
x86_64-linux = rec {
src = fetchurl {
url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-${version}-linux.deb";
sha256 = "sha256-12mbdxklje9msnRtNk1RAtIg3OCybev/vUersDZj2i4=";
};
x86_64-linux = {
src = fetchurl sources.x86_64-linux;
nativeBuildInputs = [
asar
@ -49,7 +46,7 @@ let
}
EOF
makeWrapper ${electron_24}/bin/electron $out/bin/breitbandmessung \
makeWrapper ${electron}/bin/electron $out/bin/breitbandmessung \
--add-flags $out/share/breitbandmessung/resources/build/electron.js
# Fix the desktop link
@ -59,10 +56,7 @@ let
};
x86_64-darwin = {
src = fetchurl {
url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-${version}-mac.dmg";
sha256 = "sha256-a27R/N13i4qU2znTKz+LGxSdgSzJ0MzIHeiPHyRd65k=";
};
src = fetchurl sources.x86_64-darwin;
nativeBuildInputs = [ undmg ];
@ -79,9 +73,10 @@ let
in
stdenv.mkDerivation ({
pname = "breitbandmessung";
inherit version;
inherit (sources) version;
passthru.tests = { inherit (nixosTests) breitbandmessung; };
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "Broadband internet speed test app from the german Bundesnetzagentur";

View file

@ -0,0 +1,11 @@
{
version = "3.6.0";
x86_64-linux = {
url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-3.6.0-linux.deb";
sha256 = "sha256-jUp4Q9tiR/WLkTNHz97j0eE/WwcfFF3ut0S9N4M75Oc=";
};
x86_64-darwin = {
url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-3.6.0-mac.dmg";
sha256 = "sha256-ZvTig1/fm1GRoOYuTRBiZ8j4CRbZSa95q6a0sxo39Gs=";
};
}

View file

@ -0,0 +1,29 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq nix ripgrep
set -xeu -o pipefail
PACKAGE_DIR="$(realpath "$(dirname "$0")")"
current="$(nix eval -f "$PACKAGE_DIR/sources.nix" --raw version || :)"
latest="$(curl -sS https://breitbandmessung.de/desktop-app | \
rg '.*Aktuelle Version der Desktop-App lautet:\s*([.0-9]+).*' -r '$1')"
if [[ $current != $latest ]]; then
linux_hash="$(nix store prefetch-file --json https://download.breitbandmessung.de/bbm/Breitbandmessung-${latest}-linux.deb | jq -r .hash)"
darwin_hash="$(nix store prefetch-file --json https://download.breitbandmessung.de/bbm/Breitbandmessung-${latest}-mac.dmg | jq -r .hash)"
cat <<EOF >"$PACKAGE_DIR/sources.nix"
{
version = "${latest}";
x86_64-linux = {
url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-${latest}-linux.deb";
sha256 = "${linux_hash}";
};
x86_64-darwin = {
url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-${latest}-mac.dmg";
sha256 = "${darwin_hash}";
};
}
EOF
fi