spidermonkey: add update script
partially based on https://github.com/NixOS/nixpkgs/blob/6f31c2529024d14916da3ea3e84d886ef67d3084/pkgs/applications/networking/browsers/firefox/update.nix. tested with 140.13.0.
This commit is contained in:
@@ -166,11 +166,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ln -s $out/bin/js${lib.versions.major version} $out/bin/js
|
||||
'';
|
||||
|
||||
passthru.tests.run = callPackage ./test.nix {
|
||||
spidermonkey = finalAttrs.finalPackage;
|
||||
passthru = {
|
||||
tests.run = callPackage ./test.nix {
|
||||
spidermonkey = finalAttrs.finalPackage;
|
||||
};
|
||||
updateScript = lib.getExe (callPackage ./update.nix { version = lib.versions.major version; });
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://www.firefox.com/en-US/firefox/${version}/releasenotes/";
|
||||
description = "Mozilla's JavaScript engine written in C/C++";
|
||||
homepage = "https://spidermonkey.dev/";
|
||||
license = lib.licenses.mpl20;
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
writeShellApplication,
|
||||
common-updater-scripts,
|
||||
xidel,
|
||||
baseUrl ? "https://archive.mozilla.org/pub/firefox/releases/",
|
||||
version ? "",
|
||||
}:
|
||||
writeShellApplication {
|
||||
name = "update-spidermonkey_${version}";
|
||||
runtimeInputs = [
|
||||
common-updater-scripts
|
||||
xidel
|
||||
];
|
||||
|
||||
text = ''
|
||||
set -eux
|
||||
|
||||
HOME=$(mktemp -d)
|
||||
GNUPGHOME=$(mktemp -d)
|
||||
export GNUPGHOME
|
||||
|
||||
curl https://keys.openpgp.org/vks/v1/by-fingerprint/09BEED63F3462A2DFFAB3B875ECB6497C1A20256 | gpg --import -
|
||||
|
||||
version=$(xidel --trace -s "${baseUrl}" --extract "//a" | \
|
||||
grep "^${version}[0-9.]*esr/$" | \
|
||||
sed s/[/]$// | \
|
||||
sort --version-sort | \
|
||||
tail -n 1)
|
||||
|
||||
curl --silent --show-error -o "$HOME"/shasums "${baseUrl}$version/SHA512SUMS"
|
||||
curl --silent --show-error -o "$HOME"/shasums.asc "${baseUrl}$version/SHA512SUMS.asc"
|
||||
gpgv --keyring="$GNUPGHOME"/pubring.kbx "$HOME"/shasums.asc "$HOME"/shasums
|
||||
|
||||
hash=$(grep '\.source\.tar\.xz$' "$HOME"/shasums | grep '^[^ ]*' -o)
|
||||
sri_hash=$(nix hash convert --hash-algo sha512 --to sri "$hash")
|
||||
update-source-version --file=pkgs/development/interpreters/spidermonkey/${version}.nix \
|
||||
"spidermonkey_${version}" "''${version%esr}" "$sri_hash"
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user