nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 53 lines 2.4 kB view raw
1#!/usr/bin/env nix-shell 2#!nix-shell -i bash -p curl gnused nix jq 3 4SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" 5 6latestVersion="$(curl --fail -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/brave/brave-browser/releases/latest" | jq -r '.tag_name' | sed 's/^v//')" 7 8hashAarch64="$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "https://github.com/brave/brave-browser/releases/download/v${latestVersion}/brave-browser_${latestVersion}_arm64.deb")")" 9hashAmd64="$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "https://github.com/brave/brave-browser/releases/download/v${latestVersion}/brave-browser_${latestVersion}_amd64.deb")")" 10hashAarch64Darwin="$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "https://github.com/brave/brave-browser/releases/download/v${latestVersion}/brave-v${latestVersion}-darwin-arm64.zip")")" 11hashAmd64Darwin="$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "https://github.com/brave/brave-browser/releases/download/v${latestVersion}/brave-v${latestVersion}-darwin-x64.zip")")" 12 13cat > $SCRIPT_DIR/package.nix << EOF 14# Expression generated by update.sh; do not edit it by hand! 15{ stdenv, callPackage, ... }@args: 16 17let 18 pname = "brave"; 19 version = "${latestVersion}"; 20 21 allArchives = { 22 aarch64-linux = { 23 url = "https://github.com/brave/brave-browser/releases/download/v\${version}/brave-browser_\${version}_arm64.deb"; 24 hash = "${hashAarch64}"; 25 }; 26 x86_64-linux = { 27 url = "https://github.com/brave/brave-browser/releases/download/v\${version}/brave-browser_\${version}_amd64.deb"; 28 hash = "${hashAmd64}"; 29 }; 30 aarch64-darwin = { 31 url = "https://github.com/brave/brave-browser/releases/download/v\${version}/brave-v\${version}-darwin-arm64.zip"; 32 hash = "${hashAarch64Darwin}"; 33 }; 34 x86_64-darwin = { 35 url = "https://github.com/brave/brave-browser/releases/download/v\${version}/brave-v\${version}-darwin-x64.zip"; 36 hash = "${hashAmd64Darwin}"; 37 }; 38 }; 39 40 archive = 41 if builtins.hasAttr stdenv.system allArchives then 42 allArchives.\${stdenv.system} 43 else 44 throw "Unsupported platform."; 45 46in 47callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ]) ( 48 archive 49 // { 50 inherit pname version; 51 } 52) 53EOF