Merge pull request #304269 from OPNA2608/update/palemoon-bin

palemoon-bin: 33.0.0 -> 33.0.2, add meta.updateScript
This commit is contained in:
Thomas Gerbet 2024-04-16 19:23:20 +02:00 committed by GitHub
commit 787303bccb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 46 additions and 13 deletions

View File

@ -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; {