1{
2 lib,
3 generateSplicesForMkScope,
4 makeScopeWithSplicing',
5 fetchurl,
6 libsForQt5,
7 qt6Packages,
8 cmark,
9 gpgme,
10 taglib,
11 wayland-protocols,
12 wayland,
13 zxing-cpp,
14}:
15let
16 allPackages =
17 self:
18 let
19 frameworks = import ./frameworks { inherit (self) callPackage; };
20 gear = import ./gear { inherit (self) callPackage; };
21 plasma = import ./plasma { inherit (self) callPackage; };
22
23 sets = [
24 "gear"
25 "frameworks"
26 "plasma"
27 ];
28
29 loadUrls = set: lib.importJSON (./generated/sources + "/${set}.json");
30 allUrls = lib.attrsets.mergeAttrsList (map loadUrls sets);
31
32 sources = lib.mapAttrs (
33 _: v:
34 (fetchurl {
35 inherit (v) url hash;
36 })
37 // {
38 inherit (v) version;
39 }
40 ) allUrls;
41 in
42 (
43 qt6Packages
44 // frameworks
45 // gear
46 // plasma
47 // {
48 inherit sources;
49
50 mkKdeDerivation = self.callPackage (import ./lib/mk-kde-derivation.nix self) { };
51
52 # THIRD PARTY
53 inherit
54 cmark
55 gpgme
56 taglib
57 wayland
58 wayland-protocols
59 zxing-cpp
60 ;
61
62 # Alias to match metadata
63 kquickimageeditor = self.kquickimageedit;
64
65 # Alias because it's just data
66 plasma-wayland-protocols = libsForQt5.plasma-wayland-protocols;
67
68 selenium-webdriver-at-spi = null; # Used for integration tests that we don't run, stub
69
70 alpaka = self.callPackage ./misc/alpaka { };
71 kdiagram = self.callPackage ./misc/kdiagram { };
72 kdevelop-pg-qt = self.callPackage ./misc/kdevelop-pg-qt { };
73 kdsoap-ws-discovery-client = self.callPackage ./misc/kdsoap-ws-discovery-client { };
74 kirigami-addons = self.callPackage ./misc/kirigami-addons { };
75 kio-extras-kf5 = self.callPackage ./misc/kio-extras-kf5 { };
76 kio-fuse = self.callPackage ./misc/kio-fuse { };
77 klevernotes = self.callPackage ./misc/klevernotes { };
78 ktextaddons = self.callPackage ./misc/ktextaddons { };
79 kup = self.callPackage ./misc/kup { };
80 marknote = self.callPackage ./misc/marknote { };
81 mpvqt = self.callPackage ./misc/mpvqt { };
82 oxygen-icons = self.callPackage ./misc/oxygen-icons { };
83 phonon = self.callPackage ./misc/phonon { };
84 phonon-vlc = self.callPackage ./misc/phonon-vlc { };
85 polkit-qt-1 = self.callPackage ./misc/polkit-qt-1 { };
86 pulseaudio-qt = self.callPackage ./misc/pulseaudio-qt { };
87
88 applet-window-buttons6 = self.callPackage ./third-party/applet-window-buttons6 { };
89 karousel = self.callPackage ./third-party/karousel { };
90 koi = self.callPackage ./third-party/koi { };
91 krohnkite = self.callPackage ./third-party/krohnkite { };
92 kzones = self.callPackage ./third-party/kzones { };
93 wallpaper-engine-plugin = self.callPackage ./third-party/wallpaper-engine-plugin { };
94 }
95 );
96in
97makeScopeWithSplicing' {
98 otherSplices = generateSplicesForMkScope "kdePackages";
99 f = allPackages;
100}