1/*
2 # New packages
3
4 READ THIS FIRST
5
6 This module is for official packages in the KDE Gear. All available
7 packages are listed in `./srcs.nix`, although some are not yet
8 packaged in Nixpkgs (see 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. A simple example package that
15 still shows most of the available features is in `./gwenview`.
16
17 # Updates
18
19 1. Update the URL in `./fetch.sh`.
20 2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/applications/kde`
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.
24*/
25
26{
27 lib,
28 config,
29 libsForQt5,
30 fetchurl,
31}:
32
33let
34 mirror = "mirror://kde";
35 srcs = import ./srcs.nix { inherit fetchurl mirror; };
36
37 mkDerivation =
38 args:
39 let
40 inherit (args) pname;
41 inherit (srcs.${pname}) src version;
42 mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) { };
43 in
44 mkDerivation (
45 args
46 // {
47 inherit pname version src;
48
49 outputs = args.outputs or [ "out" ];
50
51 meta =
52 let
53 meta = args.meta or { };
54 in
55 meta
56 // {
57 homepage = meta.homepage or "http://www.kde.org";
58 platforms = meta.platforms or lib.platforms.linux;
59 };
60 }
61 );
62
63 packages =
64 self:
65 with self;
66 let
67 callPackage = self.newScope {
68 inherit mkDerivation;
69
70 # Team of maintainers assigned to the KDE PIM suite
71 kdepimTeam = with lib.maintainers; [
72 ttuegel
73 vandenoever
74 nyanloutre
75 ];
76 };
77 in
78 {
79 akonadi = callPackage ./akonadi { };
80 akonadi-calendar = callPackage ./akonadi-calendar.nix { };
81 akonadi-calendar-tools = callPackage ./akonadi-calendar-tools.nix { };
82 akonadi-contacts = callPackage ./akonadi-contacts.nix { };
83 akonadi-import-wizard = callPackage ./akonadi-import-wizard.nix { };
84 akonadi-mime = callPackage ./akonadi-mime.nix { };
85 akonadi-notes = callPackage ./akonadi-notes.nix { };
86 akonadi-search = callPackage ./akonadi-search.nix { };
87 akonadiconsole = callPackage ./akonadiconsole.nix { };
88 akregator = callPackage ./akregator.nix { };
89 analitza = callPackage ./analitza.nix { };
90 arianna = callPackage ./arianna.nix { };
91 ark = callPackage ./ark { };
92 baloo-widgets = callPackage ./baloo-widgets.nix { };
93 bomber = callPackage ./bomber.nix { };
94 bovo = callPackage ./bovo.nix { };
95 calendarsupport = callPackage ./calendarsupport.nix { };
96 colord-kde = callPackage ./colord-kde.nix { };
97 cantor = callPackage ./cantor.nix { };
98 dolphin = callPackage ./dolphin.nix { };
99 dolphin-plugins = callPackage ./dolphin-plugins.nix { };
100 dragon = callPackage ./dragon.nix { };
101 elisa = callPackage ./elisa.nix { };
102 eventviews = callPackage ./eventviews.nix { };
103 falkon = callPackage ./falkon.nix { };
104 ffmpegthumbs = callPackage ./ffmpegthumbs.nix { };
105 filelight = callPackage ./filelight.nix { };
106 ghostwriter = callPackage ./ghostwriter.nix { };
107 granatier = callPackage ./granatier.nix { };
108 grantleetheme = callPackage ./grantleetheme { };
109 gwenview = callPackage ./gwenview { };
110 incidenceeditor = callPackage ./incidenceeditor.nix { };
111 juk = callPackage ./juk.nix { };
112 kaccounts-integration = callPackage ./kaccounts-integration.nix { };
113 kaccounts-providers = callPackage ./kaccounts-providers.nix { };
114 kaddressbook = callPackage ./kaddressbook.nix { };
115 kalarm = callPackage ./kalarm.nix { };
116 kalgebra = callPackage ./kalgebra.nix { };
117 merkuro = callPackage ./merkuro.nix { };
118 kalzium = callPackage ./kalzium.nix { };
119 kamoso = callPackage ./kamoso.nix { };
120 kapman = callPackage ./kapman.nix { };
121 kapptemplate = callPackage ./kapptemplate.nix { };
122 kate = callPackage ./kate.nix { };
123 katomic = callPackage ./katomic.nix { };
124 kblackbox = callPackage ./kblackbox.nix { };
125 kblocks = callPackage ./kblocks.nix { };
126 kbounce = callPackage ./kbounce.nix { };
127 kbreakout = callPackage ./kbreakout.nix { };
128 kcachegrind = callPackage ./kcachegrind.nix { };
129 kcalc = callPackage ./kcalc.nix { };
130 kcalutils = callPackage ./kcalutils.nix { };
131 kcharselect = callPackage ./kcharselect.nix { };
132 kcolorchooser = callPackage ./kcolorchooser.nix { };
133 kde-inotify-survey = callPackage ./kde-inotify-survey.nix { };
134 kdebugsettings = callPackage ./kdebugsettings.nix { };
135 kdeconnect-kde = callPackage ./kdeconnect-kde.nix { };
136 kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix { };
137 kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers { };
138 kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix { };
139 kdenlive = callPackage ./kdenlive { };
140 kdepim-addons = callPackage ./kdepim-addons.nix { };
141 kdepim-runtime = callPackage ./kdepim-runtime { };
142 kdev-php = callPackage ./kdevelop/kdev-php.nix { };
143 kdev-python = callPackage ./kdevelop/kdev-python.nix { };
144 kdevelop = callPackage ./kdevelop/wrapper.nix { };
145 kdevelop-pg-qt = callPackage ./kdevelop/kdevelop-pg-qt.nix { };
146 kdevelop-unwrapped = callPackage ./kdevelop/kdevelop.nix { };
147 kdf = callPackage ./kdf.nix { };
148 kdialog = callPackage ./kdialog.nix { };
149 kdiamond = callPackage ./kdiamond.nix { };
150 keditbookmarks = callPackage ./keditbookmarks.nix { };
151 kfind = callPackage ./kfind.nix { };
152 kgeography = callPackage ./kgeography.nix { };
153 kget = callPackage ./kget.nix { };
154 kgpg = callPackage ./kgpg.nix { };
155 khelpcenter = callPackage ./khelpcenter.nix { };
156 kidentitymanagement = callPackage ./kidentitymanagement.nix { };
157 kig = callPackage ./kig.nix { };
158 kigo = callPackage ./kigo.nix { };
159 killbots = callPackage ./killbots.nix { };
160 kimap = callPackage ./kimap.nix { };
161 kio-admin = callPackage ./kio-admin.nix { };
162 kio-extras = callPackage ./kio-extras.nix { };
163 kio-gdrive = callPackage ./kio-gdrive.nix { };
164 kipi-plugins = callPackage ./kipi-plugins.nix { };
165 kirigami-gallery = callPackage ./kirigami-gallery.nix { };
166 kitinerary = callPackage ./kitinerary.nix { };
167 kldap = callPackage ./kldap.nix { };
168 kleopatra = callPackage ./kleopatra.nix { };
169 klettres = callPackage ./klettres.nix { };
170 klines = callPackage ./klines.nix { };
171 kmag = callPackage ./kmag.nix { };
172 kmahjongg = callPackage ./kmahjongg.nix { };
173 kmail = callPackage ./kmail.nix { };
174 kmail-account-wizard = callPackage ./kmail-account-wizard.nix { };
175 kmailtransport = callPackage ./kmailtransport.nix { };
176 kmbox = callPackage ./kmbox.nix { };
177 kmime = callPackage ./kmime.nix { };
178 kmines = callPackage ./kmines.nix { };
179 kmix = callPackage ./kmix.nix { };
180 kmousetool = callPackage ./kmousetool.nix { };
181 kmplot = callPackage ./kmplot.nix { };
182 knavalbattle = callPackage ./knavalbattle.nix { };
183 knetwalk = callPackage ./knetwalk.nix { };
184 knights = callPackage ./knights.nix { };
185 knotes = callPackage ./knotes.nix { };
186 kolf = callPackage ./kolf.nix { };
187 kollision = callPackage ./kollision.nix { };
188 kolourpaint = callPackage ./kolourpaint.nix { };
189 kompare = callPackage ./kompare.nix { };
190 konqueror = callPackage ./konqueror.nix { };
191 konquest = callPackage ./konquest.nix { };
192 konsole = callPackage ./konsole.nix { };
193 kontact = callPackage ./kontact.nix { };
194 konversation = callPackage ./konversation.nix { };
195 kontactinterface = callPackage ./kontactinterface.nix { };
196 kopeninghours = callPackage ./kopeninghours.nix { };
197 korganizer = callPackage ./korganizer.nix { };
198 kosmindoormap = callPackage ./kosmindoormap.nix { };
199 kpat = callPackage ./kpat.nix { };
200 kpimtextedit = callPackage ./kpimtextedit.nix { };
201 kpkpass = callPackage ./kpkpass.nix { };
202 kpmcore = callPackage ./kpmcore { };
203 kpublictransport = callPackage ./kpublictransport.nix { };
204 kqtquickcharts = callPackage ./kqtquickcharts.nix { };
205 krdc = callPackage ./krdc.nix { };
206 kreversi = callPackage ./kreversi.nix { };
207 krfb = callPackage ./krfb.nix { };
208 kruler = callPackage ./kruler.nix { };
209 ksanecore = callPackage ./ksanecore.nix { };
210 kshisen = callPackage ./kshisen.nix { };
211 ksmtp = callPackage ./ksmtp { };
212 kspaceduel = callPackage ./kspaceduel.nix { };
213 ksquares = callPackage ./ksquares.nix { };
214 ksudoku = callPackage ./ksudoku.nix { };
215 ksystemlog = callPackage ./ksystemlog.nix { };
216 kteatime = callPackage ./kteatime.nix { };
217 ktimer = callPackage ./ktimer.nix { };
218 ktnef = callPackage ./ktnef.nix { };
219 ktorrent = callPackage ./ktorrent.nix { };
220 kturtle = callPackage ./kturtle.nix { };
221 kwalletmanager = callPackage ./kwalletmanager.nix { };
222 kwave = callPackage ./kwave.nix { };
223 libgravatar = callPackage ./libgravatar.nix { };
224 libkcddb = callPackage ./libkcddb.nix { };
225 libkdcraw = callPackage ./libkdcraw.nix { };
226 libkdegames = callPackage ./libkdegames.nix { };
227 libkdepim = callPackage ./libkdepim.nix { };
228 libkexiv2 = callPackage ./libkexiv2.nix { };
229 libkgapi = callPackage ./libkgapi.nix { };
230 libkipi = callPackage ./libkipi.nix { };
231 libkleo = callPackage ./libkleo.nix { };
232 libkmahjongg = callPackage ./libkmahjongg.nix { };
233 libkomparediff2 = callPackage ./libkomparediff2.nix { };
234 libksane = callPackage ./libksane.nix { };
235 libksieve = callPackage ./libksieve.nix { };
236 libktorrent = callPackage ./libktorrent.nix { };
237 mailcommon = callPackage ./mailcommon.nix { };
238 mailimporter = callPackage ./mailimporter.nix { };
239 marble = callPackage ./marble.nix { };
240 mbox-importer = callPackage ./mbox-importer.nix { };
241 messagelib = callPackage ./messagelib.nix { };
242 minuet = callPackage ./minuet.nix { };
243 okular = callPackage ./okular.nix { };
244 palapeli = callPackage ./palapeli.nix { };
245 partitionmanager = callPackage ./partitionmanager { };
246 picmi = callPackage ./picmi.nix { };
247 pim-data-exporter = callPackage ./pim-data-exporter.nix { };
248 pim-sieve-editor = callPackage ./pim-sieve-editor.nix { };
249 pimcommon = callPackage ./pimcommon.nix { };
250 print-manager = callPackage ./print-manager.nix { };
251 rocs = callPackage ./rocs.nix { };
252 skanlite = callPackage ./skanlite.nix { };
253 skanpage = callPackage ./skanpage.nix { };
254 spectacle = callPackage ./spectacle.nix { };
255 umbrello = callPackage ./umbrello.nix { };
256 yakuake = callPackage ./yakuake.nix { };
257 zanshin = callPackage ./zanshin.nix { };
258
259 # Plasma Mobile Gear
260 alligator = callPackage ./alligator.nix { };
261 angelfish = callPackage ./angelfish.nix { inherit srcs; };
262 audiotube = callPackage ./audiotube.nix { };
263 calindori = callPackage ./calindori.nix { };
264 kalk = callPackage ./kalk.nix { };
265 kasts = callPackage ./kasts.nix { };
266 kclock = callPackage ./kclock.nix { };
267 keysmith = callPackage ./keysmith.nix { };
268 koko = callPackage ./koko.nix { };
269 kongress = callPackage ./kongress.nix { };
270 krecorder = callPackage ./krecorder.nix { };
271 ktrip = callPackage ./ktrip.nix { };
272 kweather = callPackage ./kweather.nix { };
273 plasmatube = callPackage ./plasmatube { };
274 qmlkonsole = callPackage ./qmlkonsole.nix { };
275 telly-skout = callPackage ./telly-skout.nix { };
276 tokodon = callPackage ./tokodon.nix { };
277 }
278 // lib.optionalAttrs config.allowAliases {
279 k3b = throw "libsForQt5.k3b has been dropped in favor of kdePackages.k3b";
280 ktouch = throw "ktouch has been dropped due keyboard layout issues";
281 };
282
283in
284lib.makeScope libsForQt5.newScope packages