summaryrefslogtreecommitdiffstats
path: root/pkgs/kde/default.nix
blob: 3b481a23d166ce2825be794e6acb6275e65d8100 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
{
  lib,
  generateSplicesForMkScope,
  makeScopeWithSplicing',
  fetchurl,
  qt6Packages,
  cmark,
  taglib,
  wayland-protocols,
  wayland,
  zxing-cpp,
}:
let
  allPackages =
    self:
    let
      frameworks = import ./frameworks { inherit (self) callPackage; };
      gear = import ./gear { inherit (self) callPackage; };
      plasma = import ./plasma { inherit (self) callPackage; };

      sets = [
        "frameworks"
        "gear"
        "plasma"
      ];

      loadUrls = set: lib.importJSON (./generated/sources + "/${set}.json");
      allUrls = lib.attrsets.mergeAttrsList (map loadUrls sets);

      sources = lib.mapAttrs (
        _: v:
        (fetchurl {
          inherit (v) url hash;
        })
        // {
          inherit (v) version;
        }
      ) allUrls;
    in
    (
      qt6Packages
      // frameworks
      // gear
      // plasma
      // {
        # Aliases to simplify test-building entire package sets
        inherit
          sources
          frameworks
          gear
          plasma
          ;

        mkKdeDerivation = self.callPackage (import ./lib/mk-kde-derivation.nix self) { };

        # THIRD PARTY
        inherit
          cmark
          taglib
          wayland
          wayland-protocols
          zxing-cpp
          ;

        # Alias to match metadata
        kquickimageeditor = self.kquickimageedit;

        selenium-webdriver-at-spi = null; # Used for integration tests that we don't run, stub

        alpaka = self.callPackage ./misc/alpaka { };
        cxx-rust-cssparser = self.callPackage ./misc/cxx-rust-cssparser { };
        glaxnimate = self.callPackage ./misc/glaxnimate { };
        kdiagram = self.callPackage ./misc/kdiagram { };
        kdevelop-pg-qt = self.callPackage ./misc/kdevelop-pg-qt { };
        kdsoap-ws-discovery-client = self.callPackage ./misc/kdsoap-ws-discovery-client { };
        kirigami-addons = self.callPackage ./misc/kirigami-addons { };
        kirigami-app-components = self.callPackage ./misc/kirigami-app-components { };
        kio-extras-kf5 = self.callPackage ./misc/kio-extras-kf5 { };
        kio-fuse = self.callPackage ./misc/kio-fuse { };
        kio-s3 = self.callPackage ./misc/kio-s3 { };
        kio-snapshot = self.callPackage ./misc/kio-snapshot { };
        klevernotes = self.callPackage ./misc/klevernotes { };
        ktextaddons = self.callPackage ./misc/ktextaddons { };
        kup = self.callPackage ./misc/kup { };
        marknote = self.callPackage ./misc/marknote { };
        mpvqt = self.callPackage ./misc/mpvqt { };
        phonon = self.callPackage ./misc/phonon { };
        phonon-vlc = self.callPackage ./misc/phonon-vlc { };
        plasma-pass = self.callPackage ./misc/plasma-pass { };
        plasma-wayland-protocols = self.callPackage ./misc/plasma-wayland-protocols { };
        polkit-qt-1 = self.callPackage ./misc/polkit-qt-1 { };
        pulseaudio-qt = self.callPackage ./misc/pulseaudio-qt { };

        applet-window-buttons6 = self.callPackage ./third-party/applet-window-buttons6 { };
        dynamic-workspaces = self.callPackage ./third-party/dynamic-workspaces { };
        karousel = self.callPackage ./third-party/karousel { };
        koi = self.callPackage ./third-party/koi { };
        krohnkite = self.callPackage ./third-party/krohnkite { };
        kzones = self.callPackage ./third-party/kzones { };
        wallpaper-engine-plugin = self.callPackage ./third-party/wallpaper-engine-plugin { };
      }
    );
in
makeScopeWithSplicing' {
  otherSplices = generateSplicesForMkScope "kdePackages";
  f = allPackages;
}