11#! /usr/bin/env nix-shell
2- #! nix-shell -i bash -p curl gnused nix
2+ #! nix-shell -i bash -p curl gnused nix jq
33
44SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " & > /dev/null && pwd) "
55
6- latestVersionAarch64 =" $( curl -sL https://brave-browser-apt-release.s3.brave. com/dists/stable/main/binary-arm64/Packages \
7- | sed -r -n ' s/^Version: (.*)/\1/p ' | head -n1 ) "
6+ latestVersion =" $( 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+
88hashAarch64=" $( nix hash to-sri --type sha256 \
99 $( curl -sL https://brave-browser-apt-release.s3.brave.com/dists/stable/main/binary-arm64/Packages \
1010 | sed -r -n ' s/^SHA256: (.*)/\1/p' | head -n1)
1111) "
1212
13- latestVersionAmd64=" $( curl -sL https://brave-browser-apt-release.s3.brave.com/dists/stable/main/binary-amd64/Packages \
14- | sed -r -n ' s/^Version: (.*)/\1/p' | head -n1) "
1513hashAmd64=" $( nix hash to-sri --type sha256 \
1614 $( curl -sL https://brave-browser-apt-release.s3.brave.com/dists/stable/main/binary-amd64/Packages \
1715 | sed -r -n ' s/^SHA256: (.*)/\1/p' | head -n1)
@@ -21,25 +19,33 @@ cat > $SCRIPT_DIR/package.nix << EOF
2119# Expression generated by update.sh; do not edit it by hand!
2220{ stdenv, callPackage, ... }@args:
2321
24- callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ])
25- (
26- if stdenv.hostPlatform.isAarch64 then
27- rec {
28- pname = "brave";
29- version = " ${latestVersionAarch64} ";
30- url = "https://github.com/brave/brave-browser/releases/download/v\$ {version}/brave-browser_\$ {version}_arm64.deb";
31- hash = "${hashAarch64} ";
32- platform = "aarch64-linux" ;
33- }
34- else if stdenv.hostPlatform.isx86_64 then
35- rec {
36- pname = "brave" ;
37- version = " ${latestVersionAmd64} " ;
38- url = "https://github.com/brave/brave-browser/releases/download/v \$ {version}/brave-browser_ \$ {version}_amd64.deb";
39- hash = " ${hashAmd64} ";
40- platform = "x86_64-linux";
41- }
22+ let
23+ pname = "brave";
24+ version = " ${latestVersion} ";
25+
26+ allArchives = {
27+ aarch64-linux = {
28+ url = "https://github.com/brave/brave-browser/releases/download/v\$ {version}/brave-browser_\$ {version}_arm64.deb";
29+ hash = "${hashAarch64} ";
30+ } ;
31+ x86_64-linux = {
32+ url = "https://github.com/brave/brave-browser/releases/download/v \$ {version}/brave-browser_ \$ {version}_amd64.deb";
33+ hash = " ${hashAmd64} ";
34+ } ;
35+ } ;
36+
37+ archive =
38+ if builtins.hasAttr stdenv.system allArchives then
39+ allArchives. \$ {stdenv.system }
4240 else
43- throw "Unsupported platform."
44- )
41+ throw "Unsupported platform.";
42+
43+ in
44+ callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ]) (
45+ archive
46+ // {
47+ inherit pname version;
48+ platform = stdenv.system;
49+ }
50+ )
4551EOF
0 commit comments