mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-16 13:48:56 +00:00
bisq1: 1.10.2 -> 1.10.3 (and add update script) (#539462)
This commit is contained in:
@@ -36,7 +36,10 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.10.2";
|
||||
# This is separated into its own file so it's easier for `update.sh`.
|
||||
sources = import ./sources.nix;
|
||||
|
||||
version = sources.version;
|
||||
|
||||
# JDK 21 is the toolchain required by docs/build.md. enableJavaFX is not
|
||||
# strictly required (Bisq bundles its own JavaFX jars), but mirrors the
|
||||
@@ -86,17 +89,17 @@ let
|
||||
publicKey = {
|
||||
"E222AA02" = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/E222AA02.asc";
|
||||
hash = "sha256-Ue/UmS6F440/ybEEIAR+pdPEIksAt6QSMN6G5TZVWzc=";
|
||||
hash = sources."key-E222AA02-hash";
|
||||
};
|
||||
|
||||
"4A133008" = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/4A133008.asc";
|
||||
hash = "sha256-UijG3DkJNNTakVJd2wl30mDepa27n6R/Xxfl4sjt0sk=";
|
||||
hash = sources."key-4A133008-hash";
|
||||
};
|
||||
|
||||
"387C8307" = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/387C8307.asc";
|
||||
hash = "sha256-PrRYZLT0xv82dUscOBgQGKNf6zwzWUDhriAffZbNpmI=";
|
||||
hash = sources."key-387C8307-hash";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -133,7 +136,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
|
||||
hash = "sha256-e7rPUhA6KF3Tz3zlYqEfM9G0owe9hAUFDifKseRvb6A=";
|
||||
hash = sources."deb-hash";
|
||||
|
||||
# Verify the upstream Debian package's detached PGP signature prior to use.
|
||||
# This ensures that a successful build of this Nix package requires the
|
||||
@@ -158,7 +161,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
signature = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb.asc";
|
||||
hash = "sha256-kBRaOXuP22DvXMkJ1XQatwvTmu/Ds8FvmUgYnRT7Vg0=";
|
||||
hash = sources."sig-hash";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -241,6 +244,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "Decentralized bitcoin exchange network (Bisq 1)";
|
||||
homepage = "https://bisq.network";
|
||||
|
||||
9
pkgs/by-name/bi/bisq1/sources.nix
Normal file
9
pkgs/by-name/bi/bisq1/sources.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
# Generated by ./update.sh - do not update manually!
|
||||
{
|
||||
version = "1.10.3";
|
||||
deb-hash = "sha256-kzLtadq8gfX6j9XU3PD5kNV43wLDoICPlXdJqULkAWE=";
|
||||
sig-hash = "sha256-+51j+SBp7buukop1T4Gz0YDUga6540BVxDRoU2YE3pY=";
|
||||
key-E222AA02-hash = "sha256-Ue/UmS6F440/ybEEIAR+pdPEIksAt6QSMN6G5TZVWzc=";
|
||||
key-4A133008-hash = "sha256-UijG3DkJNNTakVJd2wl30mDepa27n6R/Xxfl4sjt0sk=";
|
||||
key-387C8307-hash = "sha256-PrRYZLT0xv82dUscOBgQGKNf6zwzWUDhriAffZbNpmI=";
|
||||
}
|
||||
79
pkgs/by-name/bi/bisq1/update.sh
Executable file
79
pkgs/by-name/bi/bisq1/update.sh
Executable file
@@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash --pure --keep GITHUB_TOKEN -p nix git curl cacert jq
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
# Fetch the latest release version from GitHub
|
||||
payload=$(curl -sL https://api.github.com/repos/bisq-network/bisq/releases/latest)
|
||||
version=$(jq -r .tag_name <<< "$payload" | sed 's/^v//')
|
||||
|
||||
echo "Updating bisq1 to version $version"
|
||||
|
||||
# URLs for the new version
|
||||
deb_url="https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb"
|
||||
sig_url="https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb.asc"
|
||||
|
||||
# Fetch and compute hashes using nix-prefetch-url and convert to SRI format
|
||||
echo "Prefetching .deb package..."
|
||||
deb_hash_raw=$(nix-prefetch-url "$deb_url" 2>/dev/null)
|
||||
deb_hash=$(nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 "$deb_hash_raw")
|
||||
echo " deb hash: $deb_hash"
|
||||
|
||||
echo "Prefetching signature..."
|
||||
sig_hash_raw=$(nix-prefetch-url "$sig_url" 2>/dev/null)
|
||||
sig_hash=$(nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 "$sig_hash_raw")
|
||||
echo " signature hash: $sig_hash"
|
||||
|
||||
# Fetch and compute hashes for public keys (these may not exist in all releases)
|
||||
get_key_hash() {
|
||||
local key_name=$1
|
||||
local url="https://github.com/bisq-network/bisq/releases/download/v${version}/${key_name}.asc"
|
||||
local hash_raw
|
||||
if hash_raw=$(nix-prefetch-url "$url" 2>/dev/null); then
|
||||
nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 "$hash_raw"
|
||||
else
|
||||
echo "" # Return empty if key doesn't exist
|
||||
fi
|
||||
}
|
||||
|
||||
echo "Prefetching public keys..."
|
||||
key_E222AA02_hash=$(get_key_hash "E222AA02")
|
||||
if [ -n "$key_E222AA02_hash" ]; then
|
||||
echo " E222AA02 hash: $key_E222AA02_hash"
|
||||
else
|
||||
echo " E222AA02: not found in this release, keeping old hash"
|
||||
key_E222AA02_hash=$(grep 'key-E222AA02-hash' sources.nix | sed 's/.*= "\(.*\)".*/\1/')
|
||||
fi
|
||||
|
||||
key_4A133008_hash=$(get_key_hash "4A133008")
|
||||
if [ -n "$key_4A133008_hash" ]; then
|
||||
echo " 4A133008 hash: $key_4A133008_hash"
|
||||
else
|
||||
echo " 4A133008: not found in this release, keeping old hash"
|
||||
key_4A133008_hash=$(grep 'key-4A133008-hash' sources.nix | sed 's/.*= "\(.*\)".*/\1/')
|
||||
fi
|
||||
|
||||
key_387C8307_hash=$(get_key_hash "387C8307")
|
||||
if [ -n "$key_387C8307_hash" ]; then
|
||||
echo " 387C8307 hash: $key_387C8307_hash"
|
||||
else
|
||||
echo " 387C8307: not found in this release, keeping old hash"
|
||||
key_387C8307_hash=$(grep 'key-387C8307-hash' sources.nix | sed 's/.*= "\(.*\)".*/\1/')
|
||||
fi
|
||||
|
||||
# Write sources.nix (only include keys that exist)
|
||||
cat >sources.nix <<EOF
|
||||
# Generated by ./update.sh
|
||||
{
|
||||
version = "$version";
|
||||
deb-hash = "$deb_hash";
|
||||
sig-hash = "$sig_hash";
|
||||
key-E222AA02-hash = "$key_E222AA02_hash";
|
||||
key-4A133008-hash = "$key_4A133008_hash";
|
||||
key-387C8307-hash = "$key_387C8307_hash";
|
||||
}
|
||||
EOF
|
||||
|
||||
echo "Updated sources.nix with version $version"
|
||||
Reference in New Issue
Block a user