ngrok: 2.3.40 -> 3.0.4

ngrok 3 was released this morning. Changelog from v2 is here:

https://ngrok.com/docs/ngrok-agent/changelog

And a detailed upgrade guide is here:

https://ngrok.com/docs/guides/upgrade-v2-v3

Notably, arguments must now be double hyphens: `--token`. Previously,
single hyphens were accepted but those invocations will now error.

+89 -76
+11
nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
··· 102 </listitem> 103 <listitem> 104 <para> 105 The <literal>isPowerPC</literal> predicate, found on 106 <literal>platform</literal> attrsets 107 (<literal>hostPlatform</literal>,
··· 102 </listitem> 103 <listitem> 104 <para> 105 + <literal>ngrok</literal> has been upgraded from 2.3.40 to 106 + 3.0.4. Please see 107 + <link xlink:href="https://ngrok.com/docs/guides/upgrade-v2-v3">the 108 + upgrade guide</link> and 109 + <link xlink:href="https://ngrok.com/docs/ngrok-agent/changelog">changelog</link>. 110 + Notably, breaking changes are that the config file format has 111 + changed and support for single hypen arguments was dropped. 112 + </para> 113 + </listitem> 114 + <listitem> 115 + <para> 116 The <literal>isPowerPC</literal> predicate, found on 117 <literal>platform</literal> attrsets 118 (<literal>hostPlatform</literal>,
+4
nixos/doc/manual/release-notes/rl-2211.section.md
··· 45 `lib.systems.parse.isCompatible` still exists, but has changed semantically: 46 Architectures with differing endianness modes are *no longer considered compatible*. 47 48 - The `isPowerPC` predicate, found on `platform` attrsets (`hostPlatform`, `buildPlatform`, `targetPlatform`, etc) has been removed in order to reduce confusion. The predicate was was defined such that it matches only the 32-bit big-endian members of the POWER/PowerPC family, despite having a name which would imply a broader set of systems. If you were using this predicate, you can replace `foo.isPowerPC` with `(with foo; isPower && is32bit && isBigEndian)`. 49 50 - PHP 7.4 is no longer supported due to upstream not supporting this
··· 45 `lib.systems.parse.isCompatible` still exists, but has changed semantically: 46 Architectures with differing endianness modes are *no longer considered compatible*. 47 48 + - `ngrok` has been upgraded from 2.3.40 to 3.0.4. Please see [the upgrade guide](https://ngrok.com/docs/guides/upgrade-v2-v3) 49 + and [changelog](https://ngrok.com/docs/ngrok-agent/changelog). Notably, breaking changes are that the config file format has 50 + changed and support for single hypen arguments was dropped. 51 + 52 - The `isPowerPC` predicate, found on `platform` attrsets (`hostPlatform`, `buildPlatform`, `targetPlatform`, etc) has been removed in order to reduce confusion. The predicate was was defined such that it matches only the 32-bit big-endian members of the POWER/PowerPC family, despite having a name which would imply a broader set of systems. If you were using this predicate, you can replace `foo.isPowerPC` with `(with foo; isPower && is32bit && isBigEndian)`. 53 54 - PHP 7.4 is no longer supported due to upstream not supporting this
+1 -1
pkgs/tools/networking/ngrok-2/default.nix pkgs/tools/networking/ngrok/default.nix
··· 42 homepage = "https://ngrok.com/"; 43 license = licenses.unfree; 44 platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; 45 - maintainers = [ maintainers.bobvanderlinden ]; 46 }; 47 }
··· 42 homepage = "https://ngrok.com/"; 43 license = licenses.unfree; 44 platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; 45 + maintainers = with maintainers; [ bobvanderlinden brodes ]; 46 }; 47 }
-34
pkgs/tools/networking/ngrok-2/update.sh
··· 1 - #!/usr/bin/env nix-shell 2 - #!nix-shell -p httpie 3 - #!nix-shell -p jq 4 - #!nix-shell -i bash 5 - 6 - set -eu -o pipefail 7 - 8 - get_download_info() { 9 - http --body \ 10 - https://update.equinox.io/check \ 11 - 'Accept:application/json; q=1; version=1; charset=utf-8' \ 12 - 'Content-Type:application/json; charset=utf-8' \ 13 - app_id=app_goVRodbMVm \ 14 - channel=stable \ 15 - os=$1 \ 16 - goarm= \ 17 - arch=$2 \ 18 - | jq --arg sys "$1-$2" '{ 19 - sys: $sys, 20 - url: .download_url, 21 - sha256: .checksum, 22 - version: .release.version 23 - }' 24 - } 25 - 26 - ( 27 - get_download_info linux 386 28 - get_download_info linux amd64 29 - get_download_info linux arm 30 - get_download_info linux arm64 31 - get_download_info darwin amd64 32 - get_download_info darwin arm64 33 - ) | jq --slurp 'map ({ (.sys): . }) | add' \ 34 - > pkgs/tools/networking/ngrok-2/versions.json
···
-38
pkgs/tools/networking/ngrok-2/versions.json
··· 1 - { 2 - "linux-386": { 3 - "sys": "linux-386", 4 - "url": "https://bin.equinox.io/a/c4ZY6f7svn7/ngrok-2.3.40-linux-386", 5 - "sha256": "1b645ff0abbb28ca7c0f6a2109653be2dc281860b582b4de6927fde12c99da26", 6 - "version": "2.3.40" 7 - }, 8 - "linux-amd64": { 9 - "sys": "linux-amd64", 10 - "url": "https://bin.equinox.io/a/b5PAmc6L9z2/ngrok-2.3.40-linux-amd64", 11 - "sha256": "218d267cd1195334718bafac14bfdf1c19dc95dcf8a24aaa6a1383c21dc86e76", 12 - "version": "2.3.40" 13 - }, 14 - "linux-arm": { 15 - "sys": "linux-arm", 16 - "url": "https://bin.equinox.io/a/aRh9rdUAJyf/ngrok-2.3.40-linux-arm", 17 - "sha256": "538a7431df141a929a250eaf6ed7afdcce817bcd8cfe60b61f4c6d7a289b1d1c", 18 - "version": "2.3.40" 19 - }, 20 - "linux-arm64": { 21 - "sys": "linux-arm64", 22 - "url": "https://bin.equinox.io/a/2gpRjDRBpJv/ngrok-2.3.40-linux-arm64", 23 - "sha256": "dc7b4465ef95f6d04d1b1996111b3a2631e5f464d7dca7f4994f59ea4edbe21f", 24 - "version": "2.3.40" 25 - }, 26 - "darwin-amd64": { 27 - "sys": "darwin-amd64", 28 - "url": "https://bin.equinox.io/a/fcZQXtHSDgM/ngrok-2.3.40-darwin-amd64", 29 - "sha256": "80c8fb121d6c93350d84351d9516674f4e20a3e003cdd7dcb4c3e7c48b9c5b07", 30 - "version": "2.3.40" 31 - }, 32 - "darwin-arm64": { 33 - "sys": "darwin-arm64", 34 - "url": "https://bin.equinox.io/a/3TEKdZeyAnt/ngrok-2.3.40-darwin-arm64", 35 - "sha256": "c9e6dfec454f9faec92a13dfd3f3857de982007e3b85987bb875aa0d74ca8101", 36 - "version": "2.3.40" 37 - } 38 - }
···
+34
pkgs/tools/networking/ngrok/update.sh
···
··· 1 + #!/usr/bin/env nix-shell 2 + #!nix-shell -p httpie 3 + #!nix-shell -p jq 4 + #!nix-shell -i bash 5 + 6 + set -eu -o pipefail 7 + 8 + get_download_info() { 9 + http --body \ 10 + https://update.equinox.io/check \ 11 + 'Accept:application/json; q=1; version=1; charset=utf-8' \ 12 + 'Content-Type:application/json; charset=utf-8' \ 13 + app_id=app_c3U4eZcDbjV \ 14 + channel=stable \ 15 + os=$1 \ 16 + goarm= \ 17 + arch=$2 \ 18 + | jq --arg sys "$1-$2" '{ 19 + sys: $sys, 20 + url: .download_url, 21 + sha256: .checksum, 22 + version: .release.version 23 + }' 24 + } 25 + 26 + ( 27 + get_download_info linux 386 28 + get_download_info linux amd64 29 + get_download_info linux arm 30 + get_download_info linux arm64 31 + get_download_info darwin amd64 32 + get_download_info darwin arm64 33 + ) | jq --slurp 'map ({ (.sys): . }) | add' \ 34 + > pkgs/tools/networking/ngrok/versions.json
+38
pkgs/tools/networking/ngrok/versions.json
···
··· 1 + { 2 + "linux-386": { 3 + "sys": "linux-386", 4 + "url": "https://bin.equinox.io/a/fZXabEBxqTt/ngrok-v3-3.0.4-linux-386", 5 + "sha256": "94c106392171a537d45ff5db749ce064d721b7c2204c7c951b9e9bfd96fd41f5", 6 + "version": "3.0.4" 7 + }, 8 + "linux-amd64": { 9 + "sys": "linux-amd64", 10 + "url": "https://bin.equinox.io/a/fydLsfbG16K/ngrok-v3-3.0.4-linux-amd64", 11 + "sha256": "1d93dfcbcf8f1be3a21460022b5644228f9dcc2e71012bd61fcfb39ddf2a7a89", 12 + "version": "3.0.4" 13 + }, 14 + "linux-arm": { 15 + "sys": "linux-arm", 16 + "url": "https://bin.equinox.io/a/8Fzm6mvbW6H/ngrok-v3-3.0.4-linux-arm", 17 + "sha256": "d9bf182808f254bea7f177f7dc814dbfa0f3a5ee2aea18cfabac7975a9c6397e", 18 + "version": "3.0.4" 19 + }, 20 + "linux-arm64": { 21 + "sys": "linux-arm64", 22 + "url": "https://bin.equinox.io/a/NGErr1qsBJ/ngrok-v3-3.0.4-linux-arm64", 23 + "sha256": "26174fa2a0c22cf44fff118658348d6e4bfa8d60e4cfc092dedc4a0223427916", 24 + "version": "3.0.4" 25 + }, 26 + "darwin-amd64": { 27 + "sys": "darwin-amd64", 28 + "url": "https://bin.equinox.io/a/RZEPEGHd2t/ngrok-v3-3.0.4-darwin-amd64", 29 + "sha256": "a7eca7635e6174174880a79d51e2d9c4ec32e15752751d5427f70ecf59f9f8e2", 30 + "version": "3.0.4" 31 + }, 32 + "darwin-arm64": { 33 + "sys": "darwin-arm64", 34 + "url": "https://bin.equinox.io/a/dxEFAXR7WZr/ngrok-v3-3.0.4-darwin-arm64", 35 + "sha256": "6db91466407e9538a4f598cc362e8be292d4621f8b331e0d0818e1c672decc66", 36 + "version": "3.0.4" 37 + } 38 + }
+1 -3
pkgs/top-level/all-packages.nix
··· 8665 8666 neuron-notes = haskell.lib.compose.justStaticExecutables (haskell.lib.compose.generateOptparseApplicativeCompletion "neuron" haskellPackages.neuron); 8667 8668 - ngrok = ngrok-2; 8669 - 8670 - ngrok-2 = callPackage ../tools/networking/ngrok-2 { }; 8671 8672 nifi = callPackage ../servers/web-apps/nifi { }; 8673
··· 8665 8666 neuron-notes = haskell.lib.compose.justStaticExecutables (haskell.lib.compose.generateOptparseApplicativeCompletion "neuron" haskellPackages.neuron); 8667 8668 + ngrok = callPackage ../tools/networking/ngrok { }; 8669 8670 nifi = callPackage ../servers/web-apps/nifi { }; 8671