7 This module is for official packages in KDE Frameworks 5. All available packages
8 are listed in `./srcs.nix`, although a few are not yet packaged in Nixpkgs (see
11 IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE.
13 Many of the packages released upstream are not yet built in Nixpkgs due to lack
14 of demand. To add a Nixpkgs build for an upstream package, copy one of the
15 existing packages here and modify it as necessary.
19 1. Update the URL in `./fetch.sh`.
20 2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/kde-frameworks`
21 from the top of the Nixpkgs tree.
22 3. Use `nox-review wip` to check that everything builds.
23 4. Commit the changes and open a pull request.
27 { libsForQt5, lib, fetchurl }:
30 maintainers = with lib.maintainers; [ ttuegel nyanloutre ];
31 license = with lib.licenses; [
32 lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12Plus
35 srcs = import ./srcs.nix {
37 mirror = "mirror://kde";
40 mkDerivation = libsForQt5.callPackage ({ stdenv, mkDerivation ? stdenv.mkDerivation }: mkDerivation) {};
42 packages = self: with self;
47 let setupHook = { writeScript }:
48 writeScript "setup-hook" ''
49 if [ "''${hookName:-}" != postHook ]; then
50 postHooks+=("source @dev@/nix-support/setup-hook")
52 # Propagate $dev so that this setup hook is propagated
53 # But only if there is a separate $dev output
54 if [ "''${outputDev:?}" != out ]; then
55 propagatedBuildInputs="''${propagatedBuildInputs-} @dev@"
59 in callPackage setupHook {};
61 propagateBin = propagate "bin";
63 callPackage = self.newScope {
65 inherit propagate propagateBin;
71 inherit (srcs.${pname}) src version;
73 outputs = args.outputs or [ "bin" "dev" "out" ];
74 hasSeparateDev = lib.elem "dev" outputs;
76 defaultSetupHook = if hasSeparateDev then propagateBin else null;
77 setupHook = args.setupHook or defaultSetupHook;
80 let meta = args.meta or {}; in
82 homepage = meta.homepage or "https://kde.org";
83 license = meta.license or license;
84 maintainers = (meta.maintainers or []) ++ maintainers;
85 platforms = meta.platforms or lib.platforms.all;
88 in mkDerivation (args // {
89 inherit pname meta outputs setupHook src version;
95 extra-cmake-modules = callPackage ./extra-cmake-modules {};
98 attica = callPackage ./attica.nix {};
99 bluez-qt = callPackage ./bluez-qt.nix {};
100 breeze-icons = callPackage ./breeze-icons.nix {};
101 kapidox = callPackage ./kapidox.nix {};
102 karchive = callPackage ./karchive.nix {};
103 kcalendarcore = callPackage ./kcalendarcore.nix {};
104 kcodecs = callPackage ./kcodecs.nix {};
105 kconfig = callPackage ./kconfig.nix {};
106 kcoreaddons = callPackage ./kcoreaddons.nix {};
107 kdbusaddons = callPackage ./kdbusaddons.nix {};
108 kdnssd = callPackage ./kdnssd.nix {};
109 kguiaddons = callPackage ./kguiaddons.nix {};
110 kholidays = callPackage ./kholidays.nix {};
111 ki18n = callPackage ./ki18n.nix {};
112 kidletime = callPackage ./kidletime.nix {};
113 kirigami2 = callPackage ./kirigami2.nix {};
114 kitemmodels = callPackage ./kitemmodels.nix {};
115 kitemviews = callPackage ./kitemviews.nix {};
116 kplotting = callPackage ./kplotting.nix {};
117 kquickcharts = callPackage ./kquickcharts.nix {};
118 kwayland = callPackage ./kwayland.nix {};
119 kwidgetsaddons = callPackage ./kwidgetsaddons.nix {};
120 kwindowsystem = callPackage ./kwindowsystem {};
121 modemmanager-qt = callPackage ./modemmanager-qt.nix {};
122 networkmanager-qt = callPackage ./networkmanager-qt.nix {};
123 oxygen-icons5 = callPackage ./oxygen-icons5.nix {};
124 prison = callPackage ./prison.nix {};
125 qqc2-desktop-style = callPackage ./qqc2-desktop-style.nix {};
126 solid = callPackage ./solid {};
127 sonnet = callPackage ./sonnet.nix {};
128 syntax-highlighting = callPackage ./syntax-highlighting.nix {};
129 threadweaver = callPackage ./threadweaver.nix {};
132 kactivities = callPackage ./kactivities.nix {};
133 kauth = callPackage ./kauth {};
134 kcompletion = callPackage ./kcompletion.nix {};
135 kcontacts = callPackage ./kcontacts.nix {};
136 kcrash = callPackage ./kcrash.nix {};
137 kdoctools = callPackage ./kdoctools {};
138 kfilemetadata = callPackage ./kfilemetadata {};
139 kimageformats = callPackage ./kimageformats.nix {};
140 kjobwidgets = callPackage ./kjobwidgets.nix {};
141 knotifications = callPackage ./knotifications.nix {};
142 kpackage = callPackage ./kpackage {};
143 kpeople = callPackage ./kpeople.nix {};
144 kpty = callPackage ./kpty.nix {};
145 kunitconversion = callPackage ./kunitconversion.nix {};
146 syndication = callPackage ./syndication.nix {};
149 baloo = callPackage ./baloo.nix {};
150 kactivities-stats = callPackage ./kactivities-stats.nix {};
151 kbookmarks = callPackage ./kbookmarks.nix {};
152 kcmutils = callPackage ./kcmutils.nix {};
153 kconfigwidgets = callPackage ./kconfigwidgets.nix {};
154 kdav = callPackage ./kdav.nix {};
155 kdeclarative = callPackage ./kdeclarative.nix {};
156 kded = callPackage ./kded.nix {};
157 kdesu = callPackage ./kdesu {};
158 kemoticons = callPackage ./kemoticons.nix {};
159 kglobalaccel = callPackage ./kglobalaccel.nix {};
160 kiconthemes = callPackage ./kiconthemes {};
161 kinit = callPackage ./kinit {};
162 kio = callPackage ./kio {};
163 knewstuff = callPackage ./knewstuff {};
164 knotifyconfig = callPackage ./knotifyconfig.nix {};
165 kparts = callPackage ./kparts.nix {};
166 krunner = callPackage ./krunner.nix {};
167 kservice = callPackage ./kservice {};
168 ktexteditor = callPackage ./ktexteditor.nix {};
169 ktextwidgets = callPackage ./ktextwidgets.nix {};
170 kwallet = callPackage ./kwallet.nix {};
171 kxmlgui = callPackage ./kxmlgui.nix {};
172 plasma-framework = callPackage ./plasma-framework.nix {};
173 kpurpose = callPackage ./purpose.nix {};
176 frameworkintegration = callPackage ./frameworkintegration.nix {};
179 kdelibs4support = callPackage ./kdelibs4support {};
180 kdesignerplugin = callPackage ./kdesignerplugin.nix {};
181 khtml = callPackage ./khtml.nix {};
182 kjs = callPackage ./kjs.nix {};
183 kjsembed = callPackage ./kjsembed.nix {};
184 kmediaplayer = callPackage ./kmediaplayer.nix {};
185 kross = callPackage ./kross.nix {};
186 kxmlrpcclient = callPackage ./kxmlrpcclient.nix {};
190 in lib.makeScope libsForQt5.newScope packages