diff options
author | Thomas Gerbet <thomas@gerbet.me> | 2024-04-16 19:23:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-16 19:23:20 +0200 |
commit | 787303bccb23278777342e927d3844e4f7187ee6 (patch) | |
tree | 7ba8572260bcb1067044f40528d2e1820f32f9cb /pkgs | |
parent | 4231f20d15397c762793b21e09074fc741576b19 (diff) | |
parent | 0560d26b68d46e55edad154adf7520edeabc9155 (diff) |
Merge pull request #304269 from OPNA2608/update/palemoon-bin
palemoon-bin: 33.0.0 -> 33.0.2, add meta.updateScript
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/applications/networking/browsers/palemoon/bin.nix | 59 |
1 files changed, 46 insertions, 13 deletions
diff --git a/pkgs/applications/networking/browsers/palemoon/bin.nix b/pkgs/applications/networking/browsers/palemoon/bin.nix index bc4235d82795b..5143b1746ca38 100644 --- a/pkgs/applications/networking/browsers/palemoon/bin.nix +++ b/pkgs/applications/networking/browsers/palemoon/bin.nix @@ -14,23 +14,15 @@ , libpulseaudio , makeDesktopItem , wrapGAppsHook +, writeScript , testers }: stdenv.mkDerivation (finalAttrs: { pname = "palemoon-bin"; - version = "33.0.0"; + version = "33.0.2"; - src = fetchzip { - urls = [ - "https://rm-eu.palemoon.org/release/palemoon-${finalAttrs.version}.linux-x86_64-gtk${if withGTK3 then "3" else "2"}.tar.xz" - "https://rm-us.palemoon.org/release/palemoon-${finalAttrs.version}.linux-x86_64-gtk${if withGTK3 then "3" else "2"}.tar.xz" - ]; - hash = if withGTK3 then - "sha256-qZX23dsKNg5AOIaBAAmTWT6VDEl3OGz3kb3idtvJElw=" - else - "sha256-Lz1+5I8Rj0GrBUBTJoRsatpyzkqVHZuWbKARkuWFs5U="; - }; + src = finalAttrs.passthru.sources."gtk${if withGTK3 then "3" else "2"}"; preferLocalBuild = true; @@ -155,8 +147,49 @@ stdenv.mkDerivation (finalAttrs: { wrapGApp $out/lib/palemoon/palemoon ''; - passthru.tests.version = testers.testVersion { - package = finalAttrs.finalPackage; + passthru = { + sources = let + urlRegionVariants = buildVariant: map + (region: "https://rm-${region}.palemoon.org/release/palemoon-${finalAttrs.version}.linux-x86_64-${buildVariant}.tar.xz") + [ + "eu" + "us" + ]; + in { + gtk3 = fetchzip { + urls = urlRegionVariants "gtk3"; + hash = "sha256-Kahnwlj9PIWB24lvH6h9cZK459NW2Vo2g6ckuv0Ax48="; + }; + gtk2 = fetchzip { + urls = urlRegionVariants "gtk2"; + hash = "sha256-XOiLGmU8O96clUpnp/OkzXmWR1PJ2AdzbVFj6adbcvY="; + }; + }; + + tests.version = testers.testVersion { + package = finalAttrs.finalPackage; + }; + + updateScript = writeScript "update-palemoon-bin" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p common-updater-scripts curl libxml2 + + set -eu -o pipefail + + # Only release note announcement == finalized release + version="$( + curl -s 'http://www.palemoon.org/releasenotes.shtml' | + xmllint --html --xpath 'html/body/table/tbody/tr/td/h3/text()' - 2>/dev/null | head -n1 | + sed 's/v\(\S*\).*/\1/' + )" + + for variant in gtk3 gtk2; do + # The script will not perform an update when the version attribute is up to date from previous platform run + # We need to clear it before each run + update-source-version palemoon-bin 0 "${lib.fakeHash}" --source-key="sources.$variant" + update-source-version palemoon-bin "$version" --source-key="sources.$variant" + done + ''; }; meta = with lib; { |