From 88ff20cd445287cad9a8d2687fc73a7073aba0e7 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Sat, 4 Oct 2025 00:24:28 +0400 Subject: [PATCH 1/2] svxlink: migrate to by-name --- .../default.nix => by-name/sv/svxlink/package.nix} | 10 ++++------ pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 4 insertions(+), 8 deletions(-) rename pkgs/{applications/radio/svxlink/default.nix => by-name/sv/svxlink/package.nix} (95%) diff --git a/pkgs/applications/radio/svxlink/default.nix b/pkgs/by-name/sv/svxlink/package.nix similarity index 95% rename from pkgs/applications/radio/svxlink/default.nix rename to pkgs/by-name/sv/svxlink/package.nix index e3db5ce7eb2f..b83751ef2a77 100644 --- a/pkgs/applications/radio/svxlink/default.nix +++ b/pkgs/by-name/sv/svxlink/package.nix @@ -13,9 +13,7 @@ libgcrypt, libsigcxx, popt, - qtbase, - qttools, - wrapQtAppsHook, + qt5, rtl-sdr, tcl, doxygen, @@ -63,7 +61,7 @@ stdenv.mkDerivation rec { pkg-config doxygen groff - wrapQtAppsHook + qt5.wrapQtAppsHook ]; buildInputs = [ @@ -74,8 +72,8 @@ stdenv.mkDerivation rec { libsigcxx libopus popt - qtbase - qttools + qt5.qtbase + qt5.qttools rtl-sdr speex tcl diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 069ee2a27620..1082b5321cb4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8895,8 +8895,6 @@ with pkgs; structuresynth = libsForQt5.callPackage ../development/libraries/structuresynth { }; - svxlink = libsForQt5.callPackage ../applications/radio/svxlink { }; - szurubooru = callPackage ../servers/web-apps/szurubooru { }; tclap = tclap_1_2; From 8bb9de554e470794bceda87a174802f8621b71d4 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Sat, 4 Oct 2025 00:43:43 +0400 Subject: [PATCH 2/2] svxlink: modernize --- pkgs/by-name/sv/svxlink/package.nix | 47 ++++++++++------------------- 1 file changed, 16 insertions(+), 31 deletions(-) diff --git a/pkgs/by-name/sv/svxlink/package.nix b/pkgs/by-name/sv/svxlink/package.nix index b83751ef2a77..c26357a8ffb1 100644 --- a/pkgs/by-name/sv/svxlink/package.nix +++ b/pkgs/by-name/sv/svxlink/package.nix @@ -4,13 +4,13 @@ cmake, pkg-config, fetchFromGitHub, - makeDesktopItem, alsa-lib, speex, libopus, curl, gsm, libgcrypt, + libgpiod_1, libsigcxx, popt, qt5, @@ -21,46 +21,33 @@ jsoncpp, }: -let - desktopItem = makeDesktopItem rec { - name = "Qtel"; - exec = "qtel"; - icon = "qtel"; - desktopName = name; - genericName = "EchoLink Client"; - categories = [ - "HamRadio" - "Qt" - "Network" - ]; - }; - -in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "svxlink"; version = "25.05.1"; src = fetchFromGitHub { owner = "sm0svx"; repo = "svxlink"; - tag = version; + tag = finalAttrs.version; hash = "sha256-OyAR/6heGX6J53p6x+ZPXY6nzSv22umMTg0ISlWcjp8="; }; + sourceRoot = "${finalAttrs.src.name}/src"; + cmakeFlags = [ - "-DDO_INSTALL_CHOWN=NO" - "-DRTLSDR_LIBRARIES=${rtl-sdr}/lib/librtlsdr.so" - "-DRTLSDR_INCLUDE_DIRS=${rtl-sdr}/include" - "../src" + (lib.cmakeBool "DO_INSTALL_CHOWN" false) + (lib.cmakeFeature "RTLSDR_LIBRARIES" "${rtl-sdr}/lib/librtlsdr.so") + (lib.cmakeFeature "RTLSDR_INCLUDE_DIRS" "${rtl-sdr}/include") ]; dontWrapQtApps = true; nativeBuildInputs = [ cmake - pkg-config doxygen groff + pkg-config + qt5.qttools qt5.wrapQtAppsHook ]; @@ -68,21 +55,19 @@ stdenv.mkDerivation rec { alsa-lib curl gsm + jsoncpp libgcrypt - libsigcxx + libgpiod_1 libopus + libsigcxx popt qt5.qtbase - qt5.qttools rtl-sdr speex tcl - jsoncpp ]; postInstall = '' - rm -rf $out/share/applications - ln -s ${desktopItem}/share/applications $out/share/applications wrapQtApp $out/bin/qtel ''; @@ -92,9 +77,9 @@ stdenv.mkDerivation rec { Advanced repeater controller and EchoLink software for Linux including a GUI, Qtel - The Qt EchoLink client ''; - homepage = "http://www.svxlink.org/"; - license = with lib.licenses; [ gpl2 ]; + homepage = "https://www.svxlink.org/"; + license = with lib.licenses; [ gpl2Plus ]; maintainers = with lib.maintainers; [ zaninime ]; platforms = lib.platforms.linux; }; -} +})