1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 qt6,
7 pkg-config,
8}:
9
10stdenv.mkDerivation rec {
11 pname = "serial-studio";
12 version = "3.0.6";
13
14 src = fetchFromGitHub {
15 owner = "Serial-Studio";
16 repo = "Serial-Studio";
17 rev = "v${version}";
18 hash = "sha256-q3RWy3HRs5NG0skFb7PSv8jK5pI5rtbccP8j38l8kjM=";
19 fetchSubmodules = true;
20 };
21
22 nativeBuildInputs = [
23 cmake
24 qt6.wrapQtAppsHook
25 pkg-config
26 ];
27
28 buildInputs = [
29 qt6.qtbase
30 qt6.qtdeclarative
31 qt6.qtsvg
32 qt6.qtgraphs
33 qt6.qtlocation
34 qt6.qtconnectivity
35 qt6.qttools
36 qt6.qtserialport
37 qt6.qtpositioning
38 ];
39
40 patches = [
41 ./0001-CMake-Deploy-Fix.patch
42 ./0002-Connect-Button-Fix.patch
43 ];
44
45 postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
46 mkdir -p $out/{Applications,bin}
47 mv $out/Serial-Studio.app $out/Applications
48 makeWrapper $out/Applications/Serial-Studio.app/Contents/MacOS/Serial-Studio $out/bin/serial-studio
49 '';
50
51 meta = {
52 description = "Multi-purpose serial data visualization & processing program";
53 mainProgram = "serial-studio";
54 homepage = "https://serial-studio.github.io/";
55 license = lib.licenses.mit;
56 maintainers = with lib.maintainers; [ sikmir ];
57 platforms = lib.platforms.unix;
58 };
59}