1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-18 03:30:45 +00:00

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