diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2023-05-24 14:14:55 -0300 |
---|---|---|
committer | Anderson Torres <torres.anderson.85@protonmail.com> | 2023-05-30 12:37:30 +0000 |
commit | c8cc8f57b6f58f9b7fba119370018e15d4995f62 (patch) | |
tree | 369bf1f35f000195409edaf20aff889025ed10f7 /pkgs | |
parent | b88f160f5772c99d634f72489223d19eae0e10ac (diff) |
snagboot: init at 1.0
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> (cherry picked from commit cf377038df027b2e676c15b813d0e0fffd2c552d)
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/applications/misc/snagboot/default.nix | 76 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 78 insertions, 0 deletions
diff --git a/pkgs/applications/misc/snagboot/default.nix b/pkgs/applications/misc/snagboot/default.nix new file mode 100644 index 0000000000000..143b5c1c6a41f --- /dev/null +++ b/pkgs/applications/misc/snagboot/default.nix @@ -0,0 +1,76 @@ +{ lib +, stdenv +, fetchPypi +, pythonRelaxDepsHook +, python3 +, snagboot +, testers +, gitUpdater +}: + +python3.pkgs.buildPythonApplication rec { + pname = "snagboot"; + version = "1.0"; + format = "pyproject"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-wtIcrd3s/ZfdYqi2a2+IvVYnJie5txJy6d2m+GjuhxU="; + }; + + passthru = { + updateScript = gitUpdater { + rev-prefix = "v"; + ignoredVersions = ".(rc|beta).*"; + }; + + tests.version = testers.testVersion { + package = snagboot; + command = "snagrecover --version"; + version = "v${version}"; + }; + }; + + nativeBuildInputs = [ + pythonRelaxDepsHook + ]; + + pythonRemoveDeps = [ + "pylibfdt" + "swig" + ]; + + propagatedBuildInputs = with python3.pkgs; [ + setuptools + pyusb + pyserial + hid + crccheck + six + xmodem + pyyaml + libfdt + tftpy + ]; + + postInstall = lib.optionalString stdenv.isLinux '' + rules="src/snagrecover/80-snagboot.rules" + if [ ! -f "$rules" ]; then + echo "$rules is missing, must update the Nix file." + exit 1 + fi + + mkdir -p "$out/lib/udev/rules.d" + cp "$rules" "$out/lib/udev/rules.d/80-snagboot.rules" + ''; + + # There are no tests + doCheck = false; + + meta = { + homepage = "https://github.com/bootlin/snagboot"; + description = "Generic recovery and reflashing tool for embedded platforms"; + license = lib.licenses.gpl2; + maintainers = with lib.maintainers; [ otavio ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8f23cb279bd57..1815ca07902c6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1699,6 +1699,8 @@ with pkgs; shell-genie = callPackage ../applications/misc/shell-genie { }; + snagboot = python3.pkgs.callPackage ../applications/misc/snagboot { }; + simple-dlna-browser = callPackage ../tools/networking/simple-dlna-browser { }; sorted-grep = callPackage ../tools/text/sorted-grep { }; |