biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / misc / actiona / default.nix
blob069473ce3c0fc304e896b8413081be61c85b6556
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   pkg-config,
7   wrapQtAppsHook,
9   bluez,
10   libnotify,
11   libXdmcp,
12   libXtst,
13   opencv,
14   qtbase,
15   qtmultimedia,
16   qtscript,
17   qttools,
18   qtx11extras,
19   qtxmlpatterns,
21   # Running with TTS support causes the program to freeze for a few seconds every time at startup,
22   # so it is disabled by default
23   textToSpeechSupport ? false,
24   qtspeech,
27 let
28   # For some reason qtscript wants to use the same version of qtbase as itself
29   # This override makes it think that they are the same version
30   qtscript' = qtscript.overrideAttrs (oldAttrs: {
31     inherit (qtbase) version;
32     postPatch = ''
33       substituteInPlace .qmake.conf \
34           --replace-fail ${oldAttrs.version} ${qtbase.version}
35     '';
36   });
38 stdenv.mkDerivation (finalAttrs: {
39   pname = "actiona";
40   version = "3.10.2";
42   src = fetchFromGitHub {
43     owner = "Jmgr";
44     repo = "actiona";
45     rev = "v${finalAttrs.version}";
46     hash = "sha256-4RKCNEniBBx0kDwdHVZOqXYeGCsH8g6SfVc8JdDV0hI=";
47     fetchSubmodules = true;
48   };
50   patches =
51     [
52       # Sets the proper search location for the `.so` files and the translations
53       ./fix-paths.patch
54     ]
55     ++ lib.optionals (!textToSpeechSupport) [
56       # Removes TTS support
57       ./disable-tts.patch
58     ];
60   postPatch = ''
61     substituteInPlace gui/src/mainwindow.cpp executer/src/executer.cpp tools/src/languages.cpp \
62         --subst-var out
63   '';
65   nativeBuildInputs = [
66     cmake
67     pkg-config
68     wrapQtAppsHook
69   ];
71   buildInputs = [
72     bluez
73     libnotify
74     libXdmcp
75     libXtst
76     opencv
77     qtbase
78     qtmultimedia
79     qtscript'
80     qttools
81     qtx11extras
82     qtxmlpatterns
83   ] ++ lib.optionals textToSpeechSupport [ qtspeech ];
85   # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/
86   cmakeFlags = [ (lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true) ];
88   # udev is used by the system-actionpack
89   env.NIX_LDFLAGS = "-ludev";
91   installPhase = ''
92     runHook preInstall
94     install -Dm755 {execution,actiontools,tools}/*.so -t $out/lib
95     install -Dm755 actions/actionpack*.so -t $out/lib/actions
96     install -Dm755 actiona actexec -t $out/bin
97     install -Dm644 translations/*.qm -t $out/share/actiona/translations
98     install -Dm644 $src/actiona.desktop -t $out/share/applications
99     install -Dm644 $src/gui/icons/actiona.png -t $out/share/icons/hicolor/48x48/apps
101     runHook postInstall
102   '';
104   meta = {
105     description = "Cross-platform automation tool";
106     homepage = "https://github.com/Jmgr/actiona";
107     license = lib.licenses.gpl3Only;
108     mainProgram = "actiona";
109     maintainers = with lib.maintainers; [ tomasajt ];
110     platforms = lib.platforms.linux;
111   };