From feb8918934531e87891f83bfdfa55e887021d48e Mon Sep 17 00:00:00 2001 From: Simone Ruffini Date: Thu, 13 Apr 2023 13:21:28 +0200 Subject: [PATCH] savvycan: init at 208 Apply suggestions from code review Co-authored-by: Francesco Gazzetta SavvyCAN: fix typo in default.nix Update pkgs/applications/networking/sniffers/savvycan/default.nix Co-authored-by: Francesco Gazzetta Apply suggestions from code review Co-authored-by: Francesco Gazzetta fix: style --- .../networking/sniffers/savvycan/default.nix | 64 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 66 insertions(+) create mode 100644 pkgs/applications/networking/sniffers/savvycan/default.nix diff --git a/pkgs/applications/networking/sniffers/savvycan/default.nix b/pkgs/applications/networking/sniffers/savvycan/default.nix new file mode 100644 index 000000000000..b9d791603fce --- /dev/null +++ b/pkgs/applications/networking/sniffers/savvycan/default.nix @@ -0,0 +1,64 @@ +{ stdenv +, lib +, fetchFromGitHub +, qtbase +, qttools +, qmake +, qtserialbus +, qtserialport +, qtdeclarative +, wrapQtAppsHook +}: + +stdenv.mkDerivation rec { + + pname = "savvycan"; + version = "208"; + + src = fetchFromGitHub { + owner = "collin80"; + repo = "SavvyCAN"; + rev = "V${version}"; + hash = "sha256-agvCl8c7LqGyIKe0K3PdzuBUqTJZtUr434134olbUMw="; + }; + + buildInputs = [ qtbase qttools qtserialbus qtserialport qtdeclarative ]; + + nativeBuildInputs = [ qmake wrapQtAppsHook ]; + + meta = with lib; { + description = "QT based cross platform canbus tool"; + homepage = "https://savvycan.com/"; + changelog = "https://github.com/collin80/SavvyCAN/releases/tag/${version}"; + maintainers = with maintainers; [ simoneruffini ]; + platforms = platforms.all; + license = licenses.mit; + mainProgram = "SavvyCAN"; + longDescription = '' + SavvyCAN is a cross platform QT based C++ program. It is a CAN bus reverse + engineering and capture tool. It was originally written to utilize EVTV + hardware such as the EVTVDue and CANDue hardware. It has since expanded to be + able to use any socketCAN compatible device as well as the Macchina M2 and + Teensy 3.x boards. SavvyCAN can use any CAN interface supported by QT's + SerialBus system (PeakCAN, Vector, SocketCAN, J2534, etc) It can capture and + send to multiple buses and CAN capture devices at once. It has many functions + specifically meant for reverse engineering data found on the CAN bus: + - Ability to capture even very highly loaded buses + - Ability to connect to many dongles simultaneously + - Scan captured traffic for data that looks coherent + - Show ASCII of captured data to find things like VIN numbers and traffic to + and from the radio + - Graph data found on the bus + - Load and Save many different file formats common to CAN capture tools (Vector + captures, Microchip, CANDo, PCAN, and many more) + - Load and Save DBC files. DBC files are used to store definitions for how data + are formatted on the bus. You can turn the raw data into things like a RPM, + odometer readings, and more. + - UDS scanning and decoding + - Scripting interface to be able to expand the scope of the software + - Best of all, it's free and open source. Don't like something about it? Change + it! + ''; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 189bbc677e86..48b9a5defd28 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -33453,6 +33453,8 @@ with pkgs; sacc = callPackage ../applications/networking/gopher/sacc { }; + savvycan = libsForQt5.callPackage ../applications/networking/sniffers/savvycan {}; + sayonara = libsForQt5.callPackage ../applications/audio/sayonara { }; sbagen = callPackage ../applications/misc/sbagen { };