From e5ac8de6efcf404dbbc2c4ae18d1df85f4bd56a2 Mon Sep 17 00:00:00 2001 From: Janik H Date: Sun, 8 Jan 2023 19:00:28 +0100 Subject: [PATCH 1/4] maintainers: add janik --- maintainers/maintainer-list.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 98451bcfda1b..ca864888a8d8 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6415,6 +6415,13 @@ githubId = 20176306; name = "jammerful"; }; + janik = { + name = "Janik"; + email = "janik@aq0.de"; + matrix = "@janik0:matrix.org"; + github = "Janik-Haag"; + githubId = 80165193; + }; jansol = { email = "jan.solanti@paivola.fi"; github = "jansol"; From d0c759feae0e94c7999b3924dbdf4d487594479e Mon Sep 17 00:00:00 2001 From: Janik H Date: Sun, 8 Jan 2023 19:01:21 +0100 Subject: [PATCH 2/4] qdmr: init at 0.11.2 --- pkgs/applications/radio/qdmr/default.nix | 70 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 72 insertions(+) create mode 100644 pkgs/applications/radio/qdmr/default.nix diff --git a/pkgs/applications/radio/qdmr/default.nix b/pkgs/applications/radio/qdmr/default.nix new file mode 100644 index 000000000000..79a9fdb51ced --- /dev/null +++ b/pkgs/applications/radio/qdmr/default.nix @@ -0,0 +1,70 @@ +{ + lib, + stdenv, + fetchFromGitHub, + installShellFiles, + writeText, + cmake, + libxslt, + docbook_xsl_ns, + wrapQtAppsHook, + libusb1, + libyamlcpp, + qtlocation, + qtserialport, + qttools, + qtbase, +}: + +let + inherit (stdenv) isLinux; +in + +stdenv.mkDerivation rec { + pname = "qdmr"; + version = "0.11.2"; + + src = fetchFromGitHub { + owner = "hmatuschek"; + repo = "qdmr"; + rev = "v${version}"; + sha256 = "sha256-zT31tzsm5OM99vz8DzGCdPmnemiwiJpKccYwECnUgOQ="; + }; + + nativeBuildInputs = [ + cmake + libxslt + wrapQtAppsHook + installShellFiles + ]; + + buildInputs = [ + libyamlcpp + libusb1 + qtlocation + qtserialport + qttools + qtbase + ]; + + postPatch = lib.optionalString isLinux '' + substituteInPlace doc/docbook_man.debian.xsl \ + --replace /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook\.xsl ${docbook_xsl_ns}/xml/xsl/docbook/manpages/docbook.xsl + ''; + + cmakeFlags = [ "-DBUILD_MAN=ON" ]; + + postInstall = '' + installManPage doc/dmrconf.1 doc/qdmr.1 + mkdir -p "$out/etc/udev/rules.d" + cp ${src}/dist/99-qdmr.rules $out/etc/udev/rules.d/ + ''; + + meta = { + description = "A codeplug programming tool for DMR radios"; + homepage = "https://dm3mat.darc.de/qdmr/"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ janik _0x4A6F ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5b5fe5baf6fc..8387af764685 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -688,6 +688,8 @@ with pkgs; ebook2cw = callPackage ../applications/radio/ebook2cw { }; + qdmr = libsForQt5.callPackage ../applications/radio/qdmr { }; + edwin = callPackage ../data/fonts/edwin { }; etBook = callPackage ../data/fonts/et-book { }; From 68e10c242b232bc1c6133ee673dc99a427f9cdf0 Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 18 Jan 2023 21:46:53 +0100 Subject: [PATCH 3/4] nixos/qdmr: init --- nixos/modules/module-list.nix | 1 + nixos/modules/programs/qdmr.nix | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 nixos/modules/programs/qdmr.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b2e80b10fc24..00ec4badfd83 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -214,6 +214,7 @@ ./programs/partition-manager.nix ./programs/plotinus.nix ./programs/proxychains.nix + ./programs/qdmr.nix ./programs/qt5ct.nix ./programs/rog-control-center.nix ./programs/rust-motd.nix diff --git a/nixos/modules/programs/qdmr.nix b/nixos/modules/programs/qdmr.nix new file mode 100644 index 000000000000..c0b1984eff91 --- /dev/null +++ b/nixos/modules/programs/qdmr.nix @@ -0,0 +1,25 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.programs.qdmr; +in { + meta.maintainers = [ lib.maintainers.janik ]; + + options = { + programs.qdmr = { + enable = lib.mkEnableOption (lib.mdDoc "QDMR - a GUI application and command line tool for programming DMR radios"); + package = lib.mkPackageOptionMD pkgs "qdmr" { }; + }; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + services.udev.packages = [ cfg.package ]; + users.groups.wireshark = {}; + }; +} From 5c80430c37a50d5936a62feb81c59b8d8110b5b8 Mon Sep 17 00:00:00 2001 From: Janik H Date: Wed, 1 Feb 2023 20:30:24 +0100 Subject: [PATCH 4/4] rl-2305: Mention QDMR addition --- .../doc/manual/from_md/release-notes/rl-2305.section.xml | 8 ++++++++ nixos/doc/manual/release-notes/rl-2305.section.md | 2 ++ 2 files changed, 10 insertions(+) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml index 97d6a89759c8..084a20af428b 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml @@ -75,6 +75,14 @@ services.mmsd. + + + QDMR, a + gui application and command line tool for programming cheap + DMR radios + programs.qdmr + + v2rayA, a Linux diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index 8fafe0a344c3..7684644ada02 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -28,6 +28,8 @@ In addition to numerous new and upgraded packages, this release has the followin - [mmsd](https://gitlab.com/kop316/mmsd), a lower level daemon that transmits and recieves MMSes. Available as [services.mmsd](#opt-services.mmsd.enable). +- [QDMR](https://dm3mat.darc.de/qdmr/), a gui application and command line tool for programming cheap DMR radios [programs.qdmr](#opt-programs.qdmr.enable) + - [v2rayA](https://v2raya.org), a Linux web GUI client of Project V which supports V2Ray, Xray, SS, SSR, Trojan and Pingtunnel. Available as [services.v2raya](options.html#opt-services.v2raya.enable). - [ulogd](https://www.netfilter.org/projects/ulogd/index.html), a userspace logging daemon for netfilter/iptables related logging. Available as [services.ulogd](options.html#opt-services.ulogd.enable).