diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2024-04-16 18:00:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-16 18:00:57 +0000 |
commit | feedc73bee3d3f83b85d36c91f4bd4ff16fcfe43 (patch) | |
tree | dc2119ca420481a2e6072eea0f98a818de5be579 /pkgs/applications/networking/browsers/palemoon | |
parent | 736d06d6cfefaba0cf6e1c69b1b111d65d12dd4a (diff) | |
parent | 4a04be9a3cb62d6e6f70d08b34a04b7890ba2084 (diff) |
Merge master into staging-next
Diffstat (limited to 'pkgs/applications/networking/browsers/palemoon')
-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; { |