nrfutil: reinit at 7.11.1 (#327945)
This commit is contained in:
commit
4087c4a5c9
@ -183,6 +183,8 @@
|
||||
To forcibly reenable cgroup v1 support, you can `set boot.kernelParams = [ "systemd.unified_cgroup_hierachy=0" "SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1" ]`.
|
||||
NixOS does not officially support this configuration and might cause your system to be unbootable in future versions. You are on your own.
|
||||
|
||||
- `nrfutil` which previously pointed to the now-deprecated `pc-nrfutil` python package, has been repackaged under the same name with the new nrfutil tool.
|
||||
|
||||
- `openssh` and `openssh_hpn` are now compiled without Kerberos 5 / GSSAPI support in an effort to reduce the attack surface of the components for the majority of users. Users needing this support can
|
||||
use the new `opensshWithKerberos` and `openssh_hpnWithKerberos` flavors (e.g. `programs.ssh.package = pkgs.openssh_gssapi`).
|
||||
|
||||
|
59
pkgs/by-name/nr/nrfutil/package.nix
Normal file
59
pkgs/by-name/nr/nrfutil/package.nix
Normal file
@ -0,0 +1,59 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
makeWrapper,
|
||||
libusb1,
|
||||
segger-jlink-headless,
|
||||
}:
|
||||
|
||||
let
|
||||
source = import ./source.nix;
|
||||
supported = removeAttrs source [ "version" ];
|
||||
|
||||
platform = supported.${stdenvNoCC.system} or (throw "unsupported platform ${stdenvNoCC.system}");
|
||||
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "nrfutil";
|
||||
inherit (source) version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://developer.nordicsemi.com/.pc-tools/nrfutil/nrfutil-${platform.name}-${finalAttrs.version}.tar.gz";
|
||||
inherit (platform) hash;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
mv data/* $out/
|
||||
|
||||
wrapProgram $out/bin/nrfutil \
|
||||
--prefix LD_LIBRARY_PATH : "${
|
||||
lib.makeLibraryPath [
|
||||
segger-jlink-headless
|
||||
libusb1
|
||||
]
|
||||
}"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI tool for managing Nordic Semiconductor devices";
|
||||
homepage = "https://www.nordicsemi.com/Products/Development-tools/nRF-Util";
|
||||
changelog = "https://docs.nordicsemi.com/bundle/nrfutil/page/guides/revision_history.html";
|
||||
license = licenses.unfree;
|
||||
platforms = attrNames supported;
|
||||
maintainers = with maintainers; [ h7x4 ];
|
||||
mainProgram = "nrfutil";
|
||||
};
|
||||
})
|
15
pkgs/by-name/nr/nrfutil/source.nix
Normal file
15
pkgs/by-name/nr/nrfutil/source.nix
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
version = "7.11.1";
|
||||
x86_64-linux = {
|
||||
name = "x86_64-unknown-linux-gnu";
|
||||
hash = "sha256-faF/iA07wWiAuxeqEZciIYlnoWe4LKCtDxD0BwIyeYw=";
|
||||
};
|
||||
x86_64-darwin = {
|
||||
name = "x86_64-apple-darwin";
|
||||
hash = "sha256-EImYXMIvxPgzaGuAOWi4O6mG5S1awdGSX0HQgT1iHaI=";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
name = "aarch64-apple-darwin";
|
||||
hash = "sha256-jgigeJRHH/c761wYGMHhtRHE59ms7obZPxiH5pKeoeQ=";
|
||||
};
|
||||
}
|
38
pkgs/by-name/nr/nrfutil/update.sh
Executable file
38
pkgs/by-name/nr/nrfutil/update.sh
Executable file
@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p jq nix nix-prefetch-github xq-xml
|
||||
|
||||
nixpkgs="$(git rev-parse --show-toplevel || (printf 'Could not find root of nixpkgs repo\nAre we running from within the nixpkgs git repo?\n' >&2; exit 1))"
|
||||
|
||||
narhash() {
|
||||
nix --extra-experimental-features nix-command store prefetch-file --json "$1" | jq -r .hash
|
||||
}
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
declare -A architectures
|
||||
declare -A versions
|
||||
declare -A hashes
|
||||
|
||||
architectures["x86_64-linux"]="x86_64-unknown-linux-gnu"
|
||||
architectures["x86_64-darwin"]="x86_64-apple-darwin"
|
||||
architectures["aarch64-darwin"]="aarch64-apple-darwin"
|
||||
|
||||
binary_list=$(curl "https://developer.nordicsemi.com/.pc-tools/nrfutil/" | xq -q "#files" | grep -o -E 'nrfutil-(x86_64|aarch64)-.*?.gz' | cut -d' ' -f 1)
|
||||
|
||||
for a in ${!architectures[@]}; do
|
||||
versions["$a"]=$(echo "$binary_list" | grep "${architectures[${a}]}" | sed -r "s/nrfutil-${architectures[${a}]}-(.*?).tar.gz/\\1/" | tail -n 1)
|
||||
echo "https://developer.nordicsemi.com/.pc-tools/nrfutil/nrfutil-${architectures[${a}]}-${versions[${a}]}.tar.gz"
|
||||
hashes["$a"]=$(narhash "https://developer.nordicsemi.com/.pc-tools/nrfutil/nrfutil-${architectures[${a}]}-${versions[${a}]}.tar.gz")
|
||||
done
|
||||
|
||||
{
|
||||
printf "{\n"
|
||||
printf " version = \"${versions["x86_64-linux"]}\";\n"
|
||||
for a in ${!architectures[@]}; do
|
||||
printf " ${a} = {\n"
|
||||
printf " name = \"${architectures[${a}]}\";\n"
|
||||
printf " hash = \"${hashes[${a}]}\";\n"
|
||||
printf " };\n"
|
||||
done
|
||||
printf "}\n"
|
||||
} > "${nixpkgs}/pkgs/by-name/nr/nrfutil/source.nix"
|
@ -1,55 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python3,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "nrfutil";
|
||||
version = "6.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NordicSemiconductor";
|
||||
repo = "pc-nrfutil";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-WiXqeQObhXszDcLxJN8ABd2ZkxsOUvtZQSVP8cYlT2M=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
click
|
||||
crcmod
|
||||
ecdsa
|
||||
libusb1
|
||||
intelhex
|
||||
pc-ble-driver-py
|
||||
piccata
|
||||
protobuf
|
||||
pyserial
|
||||
pyspinel
|
||||
pyyaml
|
||||
tqdm
|
||||
];
|
||||
|
||||
nativeCheckInputs = with python3.pkgs; [
|
||||
behave
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
# Workaround: pythonRelaxDepsHook doesn't work for this.
|
||||
postPatch = ''
|
||||
mkdir test-reports
|
||||
substituteInPlace requirements.txt \
|
||||
--replace "libusb1==1.9.3" "libusb1" \
|
||||
--replace "protobuf >=3.17.3, < 4.0.0" "protobuf"
|
||||
substituteInPlace nordicsemi/dfu/tests/test_signing.py \
|
||||
--replace "self.assertEqual(expected_vk_pem, vk_pem)" ""
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Device Firmware Update tool for nRF chips";
|
||||
homepage = "https://github.com/NordicSemiconductor/pc-nrfutil";
|
||||
license = lib.licenses.unfreeRedistributable;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ gebner ];
|
||||
};
|
||||
}
|
@ -18295,8 +18295,6 @@ with pkgs;
|
||||
|
||||
nrf5-sdk = callPackage ../development/libraries/nrf5-sdk { };
|
||||
|
||||
nrfutil = callPackage ../development/tools/misc/nrfutil { };
|
||||
|
||||
obelisk = callPackage ../development/tools/ocaml/obelisk { menhir = ocamlPackages.menhir; };
|
||||
|
||||
obuild = callPackage ../development/tools/ocaml/obuild { };
|
||||
|
Loading…
Reference in New Issue
Block a user