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