Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 72 lines 2.6 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchFromGitHub, 5 qt5, 6}: 7 8stdenv.mkDerivation rec { 9 pname = "savvycan"; 10 version = "220"; 11 12 src = fetchFromGitHub { 13 owner = "collin80"; 14 repo = "SavvyCAN"; 15 rev = "V${version}"; 16 hash = "sha256-Du6Pc0JePdJNwBaWKKjTMWOmKCnk6Azojh8IJ7I+ngY="; 17 }; 18 19 buildInputs = [ 20 qt5.qtbase 21 qt5.qttools 22 qt5.qtserialbus 23 qt5.qtserialport 24 qt5.qtdeclarative 25 ]; 26 27 nativeBuildInputs = [ 28 qt5.qmake 29 qt5.wrapQtAppsHook 30 ]; 31 32 postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' 33 mkdir -p $out/Applications 34 mv $out/bin/SavvyCAN.app $out/Applications 35 ln -s $out/Applications/SavvyCAN.app/Contents/MacOS/SavvyCAN $out/bin/SavvyCAN 36 ''; 37 38 meta = { 39 description = "QT based cross platform canbus tool"; 40 homepage = "https://savvycan.com/"; 41 changelog = "https://github.com/collin80/SavvyCAN/releases/tag/${version}"; 42 maintainers = with lib.maintainers; [ simoneruffini ]; 43 platforms = lib.platforms.all; 44 license = lib.licenses.mit; 45 mainProgram = "SavvyCAN"; 46 longDescription = '' 47 SavvyCAN is a cross platform QT based C++ program. It is a CAN bus reverse 48 engineering and capture tool. It was originally written to utilize EVTV 49 hardware such as the EVTVDue and CANDue hardware. It has since expanded to be 50 able to use any socketCAN compatible device as well as the Macchina M2 and 51 Teensy 3.x boards. SavvyCAN can use any CAN interface supported by QT's 52 SerialBus system (PeakCAN, Vector, SocketCAN, J2534, etc) It can capture and 53 send to multiple buses and CAN capture devices at once. It has many functions 54 specifically meant for reverse engineering data found on the CAN bus: 55 - Ability to capture even very highly loaded buses 56 - Ability to connect to many dongles simultaneously 57 - Scan captured traffic for data that looks coherent 58 - Show ASCII of captured data to find things like VIN numbers and traffic to 59 and from the radio 60 - Graph data found on the bus 61 - Load and Save many different file formats common to CAN capture tools (Vector 62 captures, Microchip, CANDo, PCAN, and many more) 63 - Load and Save DBC files. DBC files are used to store definitions for how data 64 are formatted on the bus. You can turn the raw data into things like a RPM, 65 odometer readings, and more. 66 - UDS scanning and decoding 67 - Scripting interface to be able to expand the scope of the software 68 - Best of all, it's free and open source. Don't like something about it? Change 69 it! 70 ''; 71 }; 72}