Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / radio / qdmr / default.nix
blobed3fa1715f75cf4856d12a10c240bb6766cf0e5a
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   installShellFiles,
6   writeText,
7   cmake,
8   libxslt,
9   docbook_xsl_ns,
10   wrapQtAppsHook,
11   libusb1,
12   qtlocation,
13   qtserialport,
14   qttools,
15   qtbase,
16   yaml-cpp,
19 let
20   inherit (stdenv) isLinux;
23 stdenv.mkDerivation rec {
24   pname = "qdmr";
25   version = "0.11.3";
27   src = fetchFromGitHub {
28     owner = "hmatuschek";
29     repo = "qdmr";
30     rev = "v${version}";
31     hash = "sha256-YLGsKGcKIPd0ihd5IzlT71dYkxZfeH7BpnKQMEyY8dI=";
32   };
34   nativeBuildInputs = [
35     cmake
36     libxslt
37     wrapQtAppsHook
38     installShellFiles
39   ];
41   buildInputs = [
42     libusb1
43     qtlocation
44     qtserialport
45     qttools
46     qtbase
47     yaml-cpp
48   ];
50   postPatch = lib.optionalString isLinux ''
51     substituteInPlace doc/docbook_man.debian.xsl \
52       --replace /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook\.xsl ${docbook_xsl_ns}/xml/xsl/docbook/manpages/docbook.xsl
53   '';
55   cmakeFlags = [
56     "-DBUILD_MAN=ON"
57     "-DINSTALL_UDEV_RULES=OFF"
58   ];
60   postInstall = ''
61     installManPage doc/dmrconf.1 doc/qdmr.1
62     mkdir -p "$out/etc/udev/rules.d"
63     cp ${src}/dist/99-qdmr.rules $out/etc/udev/rules.d/
64   '';
66   meta = {
67     description = "GUI application and command line tool for programming DMR radios";
68     homepage = "https://dm3mat.darc.de/qdmr/";
69     license = lib.licenses.gpl3Plus;
70     maintainers = with lib.maintainers; [ janik _0x4A6F ];
71     platforms = lib.platforms.linux;
72   };