about summary refs log tree commit diff
path: root/pkgs/applications/kde/default.nix
blob: 9b146aa50364713bf7feab66c4f089796c915853 (plain) (blame)
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
/*

# New packages

READ THIS FIRST

This module is for official packages in the KDE Applications Bundle. All
available packages are listed in `./srcs.nix`, although some are not yet
packaged in Nixpkgs (see below).

IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE.

Many of the packages released upstream are not yet built in Nixpkgs due to lack
of demand. To add a Nixpkgs build for an upstream package, copy one of the
existing packages here and modify it as necessary. A simple example package that
still shows most of the available features is in `./gwenview.nix`.

# Updates

1. Update the URL in `./fetch.sh`.
2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/applications/kde`
   from the top of the Nixpkgs tree.
3. Use `nox-review wip` to check that everything builds.
4. Commit the changes and open a pull request.

*/

{
  lib, libsForQt5, fetchurl,
  okteta
}:

let
  mirror = "mirror://kde";
  srcs = import ./srcs.nix { inherit fetchurl mirror; };

  mkDerivation = args:
    let
      inherit (args) name;
      sname = args.sname or name;
      inherit (srcs.${sname}) src version;
      mkDerivation =
        libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {};
    in
      mkDerivation (args // {
        name = "${name}-${version}";
        inherit src;

        outputs = args.outputs or [ "out" ];

        meta = {
          platforms = lib.platforms.linux;
          homepage = "http://www.kde.org";
        } // (args.meta or {});
      });

  packages = self: with self;
    let
      callPackage = self.newScope {
        inherit mkDerivation;

        # Team of maintainers assigned to the KDE PIM suite
        kdepimTeam = with lib.maintainers; [ ttuegel vandenoever nyanloutre ];
      };
    in {
      akonadi = callPackage ./akonadi {};
      akonadi-calendar = callPackage ./akonadi-calendar.nix {};
      akonadi-contacts = callPackage ./akonadi-contacts.nix {};
      akonadi-import-wizard = callPackage ./akonadi-import-wizard.nix {};
      akonadi-mime = callPackage ./akonadi-mime.nix {};
      akonadi-notes = callPackage ./akonadi-notes.nix {};
      akonadi-search = callPackage ./akonadi-search.nix {};
      akonadiconsole = callPackage ./akonadiconsole.nix {};
      akregator = callPackage ./akregator.nix {};
      ark = callPackage ./ark {};
      baloo-widgets = callPackage ./baloo-widgets.nix {};
      calendarsupport = callPackage ./calendarsupport.nix {};
      dolphin = callPackage ./dolphin.nix {};
      dolphin-plugins = callPackage ./dolphin-plugins.nix {};
      dragon = callPackage ./dragon.nix {};
      eventviews = callPackage ./eventviews.nix {};
      ffmpegthumbs = callPackage ./ffmpegthumbs.nix { };
      filelight = callPackage ./filelight.nix {};
      grantleetheme = callPackage ./grantleetheme {};
      gwenview = callPackage ./gwenview.nix {};
      incidenceeditor = callPackage ./incidenceeditor.nix {};
      k3b = callPackage ./k3b.nix {};
      kaddressbook = callPackage ./kaddressbook.nix {};
      kalarm = callPackage ./kalarm.nix {};
      kalarmcal = callPackage ./kalarmcal.nix {};
      kate = callPackage ./kate.nix {};
      kcachegrind = callPackage ./kcachegrind.nix {};
      kcalc = callPackage ./kcalc.nix {};
      kcalcore = callPackage ./kcalcore.nix {};
      kcalutils = callPackage ./kcalutils.nix {};
      kcharselect = callPackage ./kcharselect.nix {};
      kcolorchooser = callPackage ./kcolorchooser.nix {};
      kcontacts = callPackage ./kcontacts.nix {};
      kdav = callPackage ./kdav.nix {};
      kdebugsettings = callPackage ./kdebugsettings.nix {};
      kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {};
      kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
      kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {};
      kdenlive = callPackage ./kdenlive.nix {};
      kdepim-runtime = callPackage ./kdepim-runtime {};
      kdepim-addons = callPackage ./kdepim-addons.nix {};
      kdepim-apps-libs = callPackage ./kdepim-apps-libs {};
      kdf = callPackage ./kdf.nix {};
      kdialog = callPackage ./kdialog.nix {};
      keditbookmarks = callPackage ./keditbookmarks.nix {};
      kfind = callPackage ./kfind.nix {};
      kgeography = callPackage ./kgeography.nix {};
      kget = callPackage ./kget.nix {};
      kgpg = callPackage ./kgpg.nix {};
      khelpcenter = callPackage ./khelpcenter.nix {};
      kidentitymanagement = callPackage ./kidentitymanagement.nix {};
      kig = callPackage ./kig.nix {};
      kimap = callPackage ./kimap.nix {};
      kipi-plugins = callPackage ./kipi-plugins.nix {};
      kitinerary = callPackage ./kitinerary.nix {};
      kio-extras = callPackage ./kio-extras.nix {};
      kldap = callPackage ./kldap.nix {};
      kleopatra = callPackage ./kleopatra.nix {};
      kmail = callPackage ./kmail.nix {};
      kmail-account-wizard = callPackage ./kmail-account-wizard.nix {};
      kmailtransport = callPackage ./kmailtransport.nix {};
      kmbox = callPackage ./kmbox.nix {};
      kmime = callPackage ./kmime.nix {};
      kmix = callPackage ./kmix.nix {};
      kmplot = callPackage ./kmplot.nix {};
      knotes = callPackage ./knotes.nix {};
      kolf = callPackage ./kolf.nix {};
      kolourpaint = callPackage ./kolourpaint.nix {};
      kompare = callPackage ./kompare.nix {};
      konsole = callPackage ./konsole.nix {};
      kontact = callPackage ./kontact.nix {};
      kontactinterface = callPackage ./kontactinterface.nix {};
      konquest = callPackage ./konquest.nix {};
      konqueror = callPackage ./konqueror.nix {};
      korganizer = callPackage ./korganizer.nix {};
      kpimtextedit = callPackage ./kpimtextedit.nix {};
      ksmtp = callPackage ./ksmtp {};
      kqtquickcharts = callPackage ./kqtquickcharts.nix {};
      kpkpass = callPackage ./kpkpass.nix {};
      krdc = callPackage ./krdc.nix {};
      krfb = callPackage ./krfb.nix {};
      kruler = callPackage ./kruler.nix {};
      ksystemlog = callPackage ./ksystemlog.nix {};
      ktnef = callPackage ./ktnef.nix {};
      ktouch = callPackage ./ktouch.nix {};
      kwalletmanager = callPackage ./kwalletmanager.nix {};
      libgravatar = callPackage ./libgravatar.nix {};
      libkcddb = callPackage ./libkcddb.nix {};
      libkdcraw = callPackage ./libkdcraw.nix {};
      libkdegames = callPackage ./libkdegames.nix {};
      libkdepim = callPackage ./libkdepim.nix {};
      libkexiv2 = callPackage ./libkexiv2.nix {};
      libkgapi = callPackage ./libkgapi.nix {};
      libkipi = callPackage ./libkipi.nix {};
      libkleo = callPackage ./libkleo.nix {};
      libkomparediff2 = callPackage ./libkomparediff2.nix {};
      libksane = callPackage ./libksane.nix {};
      libksieve = callPackage ./libksieve.nix {};
      mailcommon = callPackage ./mailcommon.nix {};
      mailimporter = callPackage ./mailimporter.nix {};
      marble = callPackage ./marble.nix {};
      mbox-importer = callPackage ./mbox-importer.nix {};
      messagelib = callPackage ./messagelib.nix {};
      minuet = callPackage ./minuet.nix {};
      okular = callPackage ./okular.nix {};
      pimcommon = callPackage ./pimcommon.nix {};
      pim-data-exporter = callPackage ./pim-data-exporter.nix {};
      pim-sieve-editor = callPackage ./pim-sieve-editor.nix {};
      print-manager = callPackage ./print-manager.nix {};
      spectacle = callPackage ./spectacle.nix {};
      yakuake = callPackage ./yakuake.nix {};
      # Okteta was removed from kde applications and will now be released independently
      # Lets keep an alias for compatibility reasons
      inherit okteta;
    };

in lib.makeScope libsForQt5.newScope packages