nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 53 lines 2.2 kB view raw
1#!/usr/bin/env nix-shell 2#!nix-shell -i bash -p nix curl cacert 3 4set -euo pipefail 5 6cd $(readlink -e $(dirname "${BASH_SOURCE[0]}")) 7 8export SSL_CERT_FILE=$NIX_SSL_CERT_FILE 9 10readonly SECURITY_KEY="7f8faaaa468174dc1c9cd62e5f218a5b" 11prefix="https://wps-linux-personal.wpscdn.cn" 12 13linux_payload=$(curl -s "https://linux.wps.cn") 14darwin_payload=$(curl -s "https://mac.wps.cn") 15 16linux_version=$(echo "$linux_payload" | grep -oP '(?<=banner_txt">)[^<]+') 17darwin_version=$(echo "$darwin_payload" | grep -oP '(?<=\s)\d+(?:\.\d+)+(?=/)') 18 19linux_amd64_url=$(echo "$linux_payload" | grep -oP "downLoad\('[^']*'" | head -1 | sed "s/downLoad('//;s/'$//") 20darwin_amd64_url="https://package.mac.wpscdn.cn/mac_wps_pkg/${darwin_version}/WPS_Office_${darwin_version}(${darwin_version##*.})_x64.dmg" 21darwin_arm64_url="https://package.mac.wpscdn.cn/mac_wps_pkg/${darwin_version}/WPS_Office_${darwin_version}(${darwin_version##*.})_arm64.dmg" 22 23timestamp10=$(date '+%s') 24linux_amd64_md5hash=($(printf '%s' "$SECURITY_KEY${linux_amd64_url#$prefix}$timestamp10" | md5sum)) 25 26linux_amd64_hash=$(nix-prefetch-url --name "wpsoffice-cn-$linux_version.deb" "$linux_amd64_url?t=$timestamp10&k=$linux_amd64_md5hash") 27darwin_amd64_hash=$(nix-prefetch-url --name "wpsoffice-cn-$darwin_version.dmg" "$darwin_amd64_url") 28darwin_arm64_hash=$(nix-prefetch-url --name "wpsoffice-cn-$darwin_version.dmg" "$darwin_arm64_url") 29 30linux_amd64_hash=$(nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 "$linux_amd64_hash") 31darwin_amd64_hash=$(nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 "$darwin_amd64_hash") 32darwin_arm64_hash=$(nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 "$darwin_arm64_hash") 33 34cat > sources.nix << EOF 35# Generated by ./update.sh - do not update manually! 36# Last updated: $(date +%F) 37{ 38 linux-version = "$linux_version"; 39 darwin-version = "$darwin_version"; 40 x86_64-linux = { 41 url = "$linux_amd64_url"; 42 hash = "$linux_amd64_hash"; 43 }; 44 x86_64-darwin = { 45 url = "$darwin_amd64_url"; 46 hash = "$darwin_amd64_hash"; 47 }; 48 aarch64-darwin = { 49 url = "$darwin_arm64_url"; 50 hash = "$darwin_arm64_hash"; 51 }; 52} 53EOF