nixpkgs/pkgs/applications/kde/default.nix
aszlig dace481377
kdepim-addons: Add package expression
This is needed in order to add location information to contacts in
KAddressbook.

Packaging was quite straightforward except that it needed
akonadi-import-wizard, which I have packaged in the previous commit.

I'm committing this directly to master without a pull request, because
nothing depends on it (for obvious reasons) and packaging was trivial
enough so that if things are not as they supposed to be it can still be
changed very easily.

Tested this using the following VM configuration, because I don't run a
Plasma desktop:

(import <nixpkgs/nixos> {
  configuration = { pkgs, ... }: {
    environment.systemPackages = with import <nixpkgs> {}; [
      kdeApplications.kaddressbook kdeApplications.kdepim-addons
    ];
    users.users.test.isNormalUser = true;
    virtualisation.diskSize = 4096;
    virtualisation.memorySize = 2048;

    services.xserver = {
      enable = true;
      inherit ((import <nixpkgs/nixos> {}).config.services.xserver) layout;
      displayManager.sddm.enable = true;
      displayManager.sddm.autoLogin.enable = true;
      displayManager.sddm.autoLogin.user = "test";
      desktopManager.default = "plasma5";
      desktopManager.plasma5.enable = true;
    };
  };
}).vm

The test I've done is using KAddressbook and check whether the location
tab is working and it does now.

Signed-off-by: aszlig <aszlig@nix.build>
Cc: @ttuegel, @vandenoever
2018-05-08 11:48:16 +02:00

170 lines
6.9 KiB
Nix

/*
# 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.
*/
{
stdenv, lib, libsForQt5, fetchurl, recurseIntoAttrs,
plasma5, attica, phonon,
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 ];
};
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 {};
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 {};
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.nix {};
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 {};
kget = callPackage ./kget.nix {};
kgpg = callPackage ./kgpg.nix {};
khelpcenter = callPackage ./khelpcenter.nix {};
kidentitymanagement = callPackage ./kidentitymanagement.nix {};
kig = callPackage ./kig.nix {};
kimap = callPackage ./kimap.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 {};
kolourpaint = callPackage ./kolourpaint.nix {};
kompare = callPackage ./kompare.nix {};
konsole = callPackage ./konsole.nix {};
kontact = callPackage ./kontact.nix {};
kontactinterface = callPackage ./kontactinterface.nix {};
korganizer = callPackage ./korganizer.nix {};
kpimtextedit = callPackage ./kpimtextedit.nix {};
ksmtp = callPackage ./ksmtp {};
kqtquickcharts = callPackage ./kqtquickcharts.nix {};
krdc = callPackage ./krdc.nix {};
krfb = callPackage ./krfb.nix {};
kruler = callPackage ./kruler.nix {};
ksystemlog = callPackage ./ksystemlog.nix {};
ktnef = callPackage ./ktnef.nix {};
kwalletmanager = callPackage ./kwalletmanager.nix {};
libgravatar = callPackage ./libgravatar.nix {};
libkcddb = callPackage ./libkcddb.nix {};
libkdcraw = callPackage ./libkdcraw.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 {};
syndication = callPackage ./syndication.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