python312Packages.distutils: unbreak on Darwin (#357099)
[NixPkgs.git] / pkgs / kde / default.nix
blobf5092b6da53d32900d54d54edcc6e62440c60a9f
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,
15 let
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; };
23       sets = [
24         "gear"
25         "frameworks"
26         "plasma"
27       ];
29       loadUrls = set: lib.importJSON (./generated/sources + "/${set}.json");
30       allUrls = lib.attrsets.mergeAttrsList (map loadUrls sets);
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;
50         mkKdeDerivation = self.callPackage (import ./lib/mk-kde-derivation.nix self) { };
52         # THIRD PARTY
53         inherit
54           cmark
55           gpgme
56           taglib
57           wayland
58           wayland-protocols
59           zxing-cpp
60           ;
62         # Alias to match metadata
63         kquickimageeditor = self.kquickimageedit;
65         # Alias because it's just data
66         plasma-wayland-protocols = libsForQt5.plasma-wayland-protocols;
68         selenium-webdriver-at-spi = null; # Used for integration tests that we don't run, stub
70         alpaka = self.callPackage ./misc/alpaka { };
71         calligra = self.callPackage ./misc/calligra { };
72         kdiagram = self.callPackage ./misc/kdiagram { };
73         kdevelop-pg-qt = self.callPackage ./misc/kdevelop-pg-qt { };
74         kdsoap-ws-discovery-client = self.callPackage ./misc/kdsoap-ws-discovery-client { };
75         kirigami-addons = self.callPackage ./misc/kirigami-addons { };
76         kio-extras-kf5 = self.callPackage ./misc/kio-extras-kf5 { };
77         kio-fuse = self.callPackage ./misc/kio-fuse { };
78         klevernotes = self.callPackage ./misc/klevernotes { };
79         ktextaddons = self.callPackage ./misc/ktextaddons { };
80         kunifiedpush = self.callPackage ./misc/kunifiedpush { };
81         kup = self.callPackage ./misc/kup { };
82         marknote = self.callPackage ./misc/marknote { };
83         mpvqt = self.callPackage ./misc/mpvqt { };
84         oxygen-icons = self.callPackage ./misc/oxygen-icons { };
85         phonon = self.callPackage ./misc/phonon { };
86         phonon-vlc = self.callPackage ./misc/phonon-vlc { };
87         polkit-qt-1 = self.callPackage ./misc/polkit-qt-1 { };
88         pulseaudio-qt = self.callPackage ./misc/pulseaudio-qt { };
90         applet-window-buttons6 = self.callPackage ./third-party/applet-window-buttons6 { };
91         karousel = self.callPackage ./third-party/karousel { };
92         koi = self.callPackage ./third-party/koi { };
93         krohnkite = self.callPackage ./third-party/krohnkite { };
94         kzones = self.callPackage ./third-party/kzones { };
95       }
96     );
98 makeScopeWithSplicing' {
99   otherSplices = generateSplicesForMkScope "kdePackages";
100   f = allPackages;