Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1/*
2 # New packages
3
4 READ THIS FIRST
5
6 This module is for official packages in KDE Frameworks 5. All available packages
7 are listed in `./srcs.nix`, although a few are not yet packaged in Nixpkgs (see
8 below).
9
10 IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE.
11
12 Many of the packages released upstream are not yet built in Nixpkgs due to lack
13 of demand. To add a Nixpkgs build for an upstream package, copy one of the
14 existing packages here and modify it as necessary.
15
16 # Updates
17
18 1. Update the URL in `./fetch.sh`.
19 2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/kde-frameworks`
20 from the top of the Nixpkgs tree.
21 3. Use `nox-review wip` to check that everything builds.
22 4. Commit the changes and open a pull request.
23*/
24
25{
26 libsForQt5,
27 lib,
28 fetchurl,
29}:
30
31let
32 maintainers = with lib.maintainers; [
33 ttuegel
34 nyanloutre
35 ];
36 license = with lib.licenses; [
37 lgpl21Plus
38 lgpl3Plus
39 bsd2
40 mit
41 gpl2Plus
42 gpl3Plus
43 fdl12Plus
44 ];
45
46 srcs = import ./srcs.nix {
47 inherit fetchurl;
48 mirror = "mirror://kde";
49 };
50
51 mkDerivation = libsForQt5.callPackage (
52 {
53 stdenv,
54 mkDerivation ? stdenv.mkDerivation,
55 }:
56 mkDerivation
57 ) { };
58
59 packages =
60 self:
61 with self;
62 # SUPPORT
63 let
64
65 propagate =
66 out:
67 let
68 setupHook =
69 { writeScript }:
70 writeScript "setup-hook" ''
71 if [ "''${hookName:-}" != postHook ]; then
72 postHooks+=("source @dev@/nix-support/setup-hook")
73 else
74 # Propagate $dev so that this setup hook is propagated
75 # But only if there is a separate $dev output
76 if [ "''${outputDev:?}" != out ]; then
77 appendToVar propagatedBuildInputs "@dev@"
78 fi
79 fi
80 '';
81 in
82 callPackage setupHook { };
83
84 propagateBin = propagate "bin";
85
86 callPackage = self.newScope {
87
88 inherit propagate propagateBin;
89
90 mkDerivation =
91 args:
92 let
93
94 inherit (args) pname;
95 inherit (srcs.${pname}) src version;
96
97 outputs =
98 args.outputs or [
99 "bin"
100 "dev"
101 "out"
102 ];
103 hasSeparateDev = lib.elem "dev" outputs;
104
105 defaultSetupHook = if hasSeparateDev then propagateBin else null;
106 setupHook = args.setupHook or defaultSetupHook;
107
108 meta =
109 let
110 meta = args.meta or { };
111 in
112 meta
113 // {
114 homepage = meta.homepage or "https://kde.org";
115 license = meta.license or license;
116 maintainers = (meta.maintainers or [ ]) ++ maintainers;
117 platforms = meta.platforms or lib.platforms.all;
118 };
119
120 in
121 mkDerivation (
122 args
123 // {
124 inherit
125 pname
126 meta
127 outputs
128 setupHook
129 src
130 version
131 ;
132 }
133 );
134
135 };
136
137 in
138 {
139 extra-cmake-modules = callPackage ./extra-cmake-modules { };
140
141 # TIER 1
142 attica = callPackage ./attica.nix { };
143 bluez-qt = callPackage ./bluez-qt.nix { };
144 breeze-icons = callPackage ./breeze-icons.nix { };
145 kapidox = callPackage ./kapidox.nix { };
146 karchive = callPackage ./karchive.nix { };
147 kcalendarcore = callPackage ./kcalendarcore.nix { };
148 kcodecs = callPackage ./kcodecs.nix { };
149 kconfig = callPackage ./kconfig.nix { };
150 kcoreaddons = callPackage ./kcoreaddons.nix { };
151 kdbusaddons = callPackage ./kdbusaddons.nix { };
152 kdnssd = callPackage ./kdnssd.nix { };
153 kguiaddons = callPackage ./kguiaddons.nix { };
154 kholidays = callPackage ./kholidays.nix { };
155 ki18n = callPackage ./ki18n.nix { };
156 kidletime = callPackage ./kidletime.nix { };
157 kirigami2 = callPackage ./kirigami2.nix { };
158 kitemmodels = callPackage ./kitemmodels.nix { };
159 kitemviews = callPackage ./kitemviews.nix { };
160 kplotting = callPackage ./kplotting.nix { };
161 kquickcharts = callPackage ./kquickcharts.nix { };
162 kwayland = callPackage ./kwayland.nix { };
163 kwidgetsaddons = callPackage ./kwidgetsaddons.nix { };
164 kwindowsystem = callPackage ./kwindowsystem { };
165 modemmanager-qt = callPackage ./modemmanager-qt.nix { };
166 networkmanager-qt = callPackage ./networkmanager-qt.nix { };
167 oxygen-icons = callPackage ./oxygen-icons.nix { };
168 oxygen-icons5 = oxygen-icons;
169 prison = callPackage ./prison.nix { };
170 qqc2-desktop-style = callPackage ./qqc2-desktop-style.nix { };
171 solid = callPackage ./solid { };
172 sonnet = callPackage ./sonnet.nix { };
173 syntax-highlighting = callPackage ./syntax-highlighting.nix { };
174 threadweaver = callPackage ./threadweaver.nix { };
175
176 # TIER 2
177 kactivities = callPackage ./kactivities.nix { };
178 kauth = callPackage ./kauth { };
179 kcompletion = callPackage ./kcompletion.nix { };
180 kcontacts = callPackage ./kcontacts.nix { };
181 kcrash = callPackage ./kcrash.nix { };
182 kdoctools = callPackage ./kdoctools { };
183 kfilemetadata = callPackage ./kfilemetadata { };
184 kimageformats = callPackage ./kimageformats.nix { };
185 kjobwidgets = callPackage ./kjobwidgets.nix { };
186 knotifications = callPackage ./knotifications.nix { };
187 kpackage = callPackage ./kpackage { };
188 kpeople = callPackage ./kpeople.nix { };
189 kpty = callPackage ./kpty.nix { };
190 kunitconversion = callPackage ./kunitconversion.nix { };
191 syndication = callPackage ./syndication.nix { };
192
193 # TIER 3
194 baloo = callPackage ./baloo.nix { };
195 kactivities-stats = callPackage ./kactivities-stats.nix { };
196 kbookmarks = callPackage ./kbookmarks.nix { };
197 kcmutils = callPackage ./kcmutils.nix { };
198 kconfigwidgets = callPackage ./kconfigwidgets.nix { };
199 kdav = callPackage ./kdav.nix { };
200 kdeclarative = callPackage ./kdeclarative.nix { };
201 kded = callPackage ./kded.nix { };
202 kdesu = callPackage ./kdesu { };
203 kemoticons = callPackage ./kemoticons.nix { };
204 kglobalaccel = callPackage ./kglobalaccel.nix { };
205 kiconthemes = callPackage ./kiconthemes { };
206 kinit = callPackage ./kinit { };
207 kio = callPackage ./kio { };
208 knewstuff = callPackage ./knewstuff { };
209 knotifyconfig = callPackage ./knotifyconfig.nix { };
210 kparts = callPackage ./kparts.nix { };
211 krunner = callPackage ./krunner.nix { };
212 kservice = callPackage ./kservice { };
213 ktexteditor = callPackage ./ktexteditor.nix { };
214 ktextwidgets = callPackage ./ktextwidgets.nix { };
215 kwallet = callPackage ./kwallet.nix { };
216 kxmlgui = callPackage ./kxmlgui.nix { };
217 plasma-framework = callPackage ./plasma-framework.nix { };
218 kpurpose = callPackage ./purpose.nix { };
219
220 # TIER 4
221 frameworkintegration = callPackage ./frameworkintegration.nix { };
222
223 # PORTING AIDS
224 kdelibs4support = callPackage ./kdelibs4support { };
225 kdesignerplugin = callPackage ./kdesignerplugin.nix { };
226 khtml = callPackage ./khtml.nix { };
227 kjs = callPackage ./kjs.nix { };
228 kjsembed = callPackage ./kjsembed.nix { };
229 kmediaplayer = callPackage ./kmediaplayer.nix { };
230 kross = callPackage ./kross.nix { };
231 kxmlrpcclient = callPackage ./kxmlrpcclient.nix { };
232
233 };
234
235in
236lib.makeScope libsForQt5.newScope packages