kid3: build with qt6 and KDE support

+43 -15
+39 -14
pkgs/applications/audio/kid3/default.nix
··· 1 - { 2 - chromaprint 1 + { chromaprint 3 2 , cmake 4 3 , docbook_xml_dtd_45 5 4 , docbook_xsl ··· 7 6 , ffmpeg 8 7 , flac 9 8 , id3lib 9 + , kdePackages 10 10 , lib 11 11 , libogg 12 12 , libvorbis 13 13 , libxslt 14 14 , mp4v2 15 - , phonon 16 15 , pkg-config 17 16 , python3 18 17 , qtbase 18 + , qtdeclarative 19 19 , qtmultimedia 20 - , qtquickcontrols 21 20 , qttools 22 21 , readline 23 22 , stdenv 24 23 , taglib 25 24 , wrapQtAppsHook 26 25 , zlib 26 + , withCLI ? true 27 + , withKDE ? true 28 + , withQt ? false 27 29 }: 28 30 31 + let 32 + inherit (lib) optionals; 33 + 34 + apps = lib.concatStringsSep ";" ( 35 + optionals withCLI [ "CLI" ] 36 + ++ optionals withKDE [ "KDE" ] 37 + ++ optionals withQt [ "Qt" ] 38 + ); 39 + 40 + mainProgram = 41 + if withQt then "kid3-qt" 42 + else if withKDE then "kid3" 43 + else "kid3-cli"; 44 + 45 + in 29 46 stdenv.mkDerivation (finalAttrs: { 30 47 pname = "kid3"; 31 48 version = "3.9.5"; ··· 41 58 docbook_xsl 42 59 pkg-config 43 60 python3 61 + qttools 44 62 wrapQtAppsHook 45 63 ]; 46 64 ··· 53 71 libvorbis 54 72 libxslt 55 73 mp4v2 56 - phonon 57 74 qtbase 75 + qtdeclarative 58 76 qtmultimedia 59 - qtquickcontrols 60 - qttools 61 77 readline 62 78 taglib 63 79 zlib 64 - ]; 80 + ] ++ lib.optionals withKDE (with kdePackages; [ 81 + kconfig 82 + kconfigwidgets 83 + kcoreaddons 84 + kio 85 + kxmlgui 86 + phonon 87 + ]); 65 88 66 - cmakeFlags = [ "-DWITH_APPS=Qt;CLI" ]; 67 - NIX_LDFLAGS = "-lm -lpthread"; 89 + cmakeFlags = [ (lib.cmakeFeature "WITH_APPS" apps) ]; 68 90 69 - preConfigure = '' 70 - export DOCBOOKDIR="${docbook_xsl}/xml/xsl/docbook/" 71 - ''; 91 + env = { 92 + DOCBOOKDIR = "${docbook_xsl}/xml/xsl/docbook/"; 93 + LANG = "C.UTF-8"; 94 + NIX_LDFLAGS = "-lm -lpthread"; 95 + }; 72 96 73 97 meta = { 74 98 description = "A simple and powerful audio tag editor"; 99 + inherit mainProgram; 75 100 homepage = "https://kid3.kde.org/"; 76 101 license = lib.licenses.lgpl2Plus; 77 102 longDescription = '' ··· 103 128 - Edit synchronized lyrics and event timing codes, import and export 104 129 LRC files. 105 130 ''; 106 - maintainers = [ lib.maintainers.AndersonTorres ]; 131 + maintainers = with lib.maintainers; [ AndersonTorres ]; 107 132 platforms = lib.platforms.linux; 108 133 }; 109 134 })
+4 -1
pkgs/top-level/all-packages.nix
··· 32420 32420 32421 32421 khard = callPackage ../applications/misc/khard { }; 32422 32422 32423 - kid3 = libsForQt5.callPackage ../applications/audio/kid3 { }; 32423 + kid3-cli = qt6Packages.callPackage ../applications/audio/kid3 { withCLI = true; withKDE = false; withQt = false; }; 32424 + kid3-kde = qt6Packages.callPackage ../applications/audio/kid3 { withCLI = true; withKDE = true; withQt = false; }; 32425 + kid3-qt = qt6Packages.callPackage ../applications/audio/kid3 { withCLI = true; withKDE = false; withQt = true; }; 32426 + kid3 = kid3-kde; 32424 32427 32425 32428 kile = libsForQt5.callPackage ../applications/editors/kile { }; 32426 32429