2016-06-17 16:47:16 +02:00
|
|
|
/*
|
|
|
|
|
2017-02-17 15:04:43 +01:00
|
|
|
# New packages
|
|
|
|
|
|
|
|
READ THIS FIRST
|
|
|
|
|
|
|
|
This module is for official packages in KDE Plasma 5. All available packages are
|
|
|
|
listed in `./srcs.nix`, although a few 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.
|
|
|
|
|
2016-06-17 16:47:16 +02:00
|
|
|
# Updates
|
|
|
|
|
2017-02-17 15:04:43 +01:00
|
|
|
1. Update the URL in `./fetch.sh`.
|
2017-02-25 20:35:00 +01:00
|
|
|
2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5`
|
2017-02-17 15:04:43 +01:00
|
|
|
from the top of the Nixpkgs tree.
|
2017-02-25 19:25:44 +01:00
|
|
|
3. Use `nox-review wip` to check that everything builds.
|
2017-02-17 15:04:43 +01:00
|
|
|
4. Commit the changes and open a pull request.
|
2016-06-17 16:47:16 +02:00
|
|
|
|
|
|
|
*/
|
2016-04-21 18:01:22 +02:00
|
|
|
|
2021-09-18 11:41:27 +02:00
|
|
|
{ libsForQt5, lib, config, fetchurl
|
|
|
|
, gconf, gsettings-desktop-schemas
|
2017-02-25 19:25:44 +01:00
|
|
|
}:
|
2016-04-21 18:01:22 +02:00
|
|
|
|
|
|
|
let
|
2021-03-28 20:31:46 +02:00
|
|
|
minQtVersion = "5.15";
|
|
|
|
broken = lib.versionOlder libsForQt5.qtbase.version minQtVersion;
|
|
|
|
maintainers = with lib.maintainers; [ ttuegel nyanloutre ];
|
|
|
|
license = with lib.licenses; [
|
|
|
|
lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12
|
|
|
|
];
|
|
|
|
|
2017-05-15 18:44:58 +02:00
|
|
|
srcs = import ./srcs.nix {
|
|
|
|
inherit fetchurl;
|
|
|
|
mirror = "mirror://kde";
|
|
|
|
};
|
|
|
|
|
2017-05-26 22:44:36 +02:00
|
|
|
mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {};
|
|
|
|
|
2017-02-25 21:32:46 +01:00
|
|
|
packages = self: with self;
|
|
|
|
let
|
2017-05-26 22:44:36 +02:00
|
|
|
|
|
|
|
propagate = out:
|
|
|
|
let setupHook = { writeScript }:
|
2017-06-23 00:28:15 +02:00
|
|
|
writeScript "setup-hook" ''
|
2019-11-24 21:58:51 +01:00
|
|
|
if [[ "''${hookName-}" != postHook ]]; then
|
2017-06-23 00:28:15 +02:00
|
|
|
postHooks+=("source @dev@/nix-support/setup-hook")
|
|
|
|
else
|
|
|
|
# Propagate $${out} output
|
2019-11-24 21:58:51 +01:00
|
|
|
propagatedUserEnvPkgs+=" @${out}@"
|
2017-06-23 00:28:15 +02:00
|
|
|
|
|
|
|
if [ -z "$outputDev" ]; then
|
|
|
|
echo "error: \$outputDev is unset!" >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Propagate $dev so that this setup hook is propagated
|
|
|
|
# But only if there is a separate $dev output
|
|
|
|
if [ "$outputDev" != out ]; then
|
2019-11-24 21:58:51 +01:00
|
|
|
propagatedBuildInputs+=" @dev@"
|
2017-05-26 22:44:36 +02:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
'';
|
|
|
|
in callPackage setupHook {};
|
|
|
|
|
|
|
|
propagateBin = propagate "bin";
|
|
|
|
|
2017-02-25 21:32:46 +01:00
|
|
|
callPackage = self.newScope {
|
2017-05-26 23:22:27 +02:00
|
|
|
inherit propagate propagateBin;
|
|
|
|
|
2017-05-15 18:44:58 +02:00
|
|
|
mkDerivation = args:
|
|
|
|
let
|
|
|
|
inherit (args) name;
|
|
|
|
sname = args.sname or name;
|
2019-08-13 23:52:01 +02:00
|
|
|
inherit (srcs.${sname}) src version;
|
2017-05-15 18:44:58 +02:00
|
|
|
|
2017-05-26 22:44:36 +02:00
|
|
|
outputs = args.outputs or [ "out" ];
|
|
|
|
hasBin = lib.elem "bin" outputs;
|
|
|
|
hasDev = lib.elem "dev" outputs;
|
|
|
|
|
|
|
|
defaultSetupHook = if hasBin && hasDev then propagateBin else null;
|
|
|
|
setupHook = args.setupHook or defaultSetupHook;
|
2017-05-15 18:44:58 +02:00
|
|
|
|
2021-03-28 20:31:46 +02:00
|
|
|
meta =
|
|
|
|
let meta = args.meta or {}; in
|
|
|
|
meta // {
|
|
|
|
homepage = meta.homepage or "http://www.kde.org";
|
|
|
|
license = meta.license or license;
|
|
|
|
maintainers = (meta.maintainers or []) ++ maintainers;
|
|
|
|
platforms = meta.platforms or lib.platforms.linux;
|
|
|
|
broken = meta.broken or broken;
|
|
|
|
};
|
2017-05-26 22:44:36 +02:00
|
|
|
in
|
|
|
|
mkDerivation (args // {
|
|
|
|
name = "${name}-${version}";
|
|
|
|
inherit meta outputs setupHook src;
|
2017-05-15 18:44:58 +02:00
|
|
|
});
|
2017-02-25 21:32:46 +01:00
|
|
|
};
|
2017-05-26 22:44:36 +02:00
|
|
|
|
2017-02-25 21:32:46 +01:00
|
|
|
in {
|
|
|
|
bluedevil = callPackage ./bluedevil.nix {};
|
|
|
|
breeze-gtk = callPackage ./breeze-gtk.nix {};
|
|
|
|
breeze-qt5 = callPackage ./breeze-qt5.nix {};
|
|
|
|
breeze-grub = callPackage ./breeze-grub.nix {};
|
|
|
|
breeze-plymouth = callPackage ./breeze-plymouth {};
|
2018-02-09 02:45:11 +01:00
|
|
|
discover = callPackage ./discover.nix {};
|
2017-02-25 21:32:46 +01:00
|
|
|
kactivitymanagerd = callPackage ./kactivitymanagerd.nix {};
|
|
|
|
kde-cli-tools = callPackage ./kde-cli-tools.nix {};
|
2018-02-25 03:23:58 +01:00
|
|
|
kde-gtk-config = callPackage ./kde-gtk-config { inherit gsettings-desktop-schemas; };
|
2017-02-25 21:32:46 +01:00
|
|
|
kdecoration = callPackage ./kdecoration.nix {};
|
|
|
|
kdeplasma-addons = callPackage ./kdeplasma-addons.nix {};
|
|
|
|
kgamma5 = callPackage ./kgamma5.nix {};
|
|
|
|
khotkeys = callPackage ./khotkeys.nix {};
|
|
|
|
kinfocenter = callPackage ./kinfocenter.nix {};
|
|
|
|
kmenuedit = callPackage ./kmenuedit.nix {};
|
|
|
|
kscreen = callPackage ./kscreen.nix {};
|
|
|
|
kscreenlocker = callPackage ./kscreenlocker.nix {};
|
|
|
|
ksshaskpass = callPackage ./ksshaskpass.nix {};
|
2021-06-24 08:14:41 +02:00
|
|
|
ksystemstats = callPackage ./ksystemstats.nix {};
|
2017-02-25 21:32:46 +01:00
|
|
|
kwallet-pam = callPackage ./kwallet-pam.nix {};
|
|
|
|
kwayland-integration = callPackage ./kwayland-integration.nix {};
|
2020-09-05 16:18:05 +02:00
|
|
|
kwayland-server = callPackage ./kwayland-server {};
|
2017-02-25 21:32:46 +01:00
|
|
|
kwin = callPackage ./kwin {};
|
|
|
|
kwrited = callPackage ./kwrited.nix {};
|
2021-06-18 20:32:56 +02:00
|
|
|
layer-shell-qt = callPackage ./layer-shell-qt.nix {};
|
2017-04-14 12:39:38 +02:00
|
|
|
libkscreen = callPackage ./libkscreen {};
|
2017-02-25 21:32:46 +01:00
|
|
|
libksysguard = callPackage ./libksysguard {};
|
|
|
|
milou = callPackage ./milou.nix {};
|
|
|
|
oxygen = callPackage ./oxygen.nix {};
|
2018-06-12 22:34:32 +02:00
|
|
|
plasma-browser-integration = callPackage ./plasma-browser-integration.nix {};
|
2019-03-26 15:35:33 +01:00
|
|
|
plasma-phone-components = callPackage ./plasma-phone-components {};
|
2017-02-25 21:32:46 +01:00
|
|
|
plasma-desktop = callPackage ./plasma-desktop {};
|
2020-12-03 22:39:53 +01:00
|
|
|
plasma-disks = callPackage ./plasma-disks.nix {};
|
2018-02-02 13:20:32 +01:00
|
|
|
plasma-integration = callPackage ./plasma-integration {};
|
2021-03-09 23:24:34 +01:00
|
|
|
plasma-nano = callPackage ./plasma-nano {};
|
2017-02-25 21:32:46 +01:00
|
|
|
plasma-nm = callPackage ./plasma-nm {};
|
|
|
|
plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; };
|
2021-05-16 22:32:18 +02:00
|
|
|
plasma-sdk = callPackage ./plasma-sdk.nix {};
|
2021-03-21 07:45:38 +01:00
|
|
|
plasma-systemmonitor = callPackage ./plasma-systemmonitor.nix { };
|
2020-11-09 16:11:55 +01:00
|
|
|
plasma-thunderbolt = callPackage ./plasma-thunderbolt.nix { };
|
2017-10-11 07:37:54 +02:00
|
|
|
plasma-vault = callPackage ./plasma-vault {};
|
2017-02-25 21:32:46 +01:00
|
|
|
plasma-workspace = callPackage ./plasma-workspace {};
|
|
|
|
plasma-workspace-wallpapers = callPackage ./plasma-workspace-wallpapers.nix {};
|
|
|
|
polkit-kde-agent = callPackage ./polkit-kde-agent.nix {};
|
|
|
|
powerdevil = callPackage ./powerdevil.nix {};
|
2021-04-01 15:52:46 +02:00
|
|
|
qqc2-breeze-style = callPackage ./qqc2-breeze-style.nix {};
|
2017-10-12 17:01:49 +02:00
|
|
|
sddm-kcm = callPackage ./sddm-kcm.nix {};
|
2017-02-25 21:32:46 +01:00
|
|
|
systemsettings = callPackage ./systemsettings.nix {};
|
2018-02-22 09:01:15 +01:00
|
|
|
xdg-desktop-portal-kde = callPackage ./xdg-desktop-portal-kde.nix {};
|
2020-09-06 18:14:57 +02:00
|
|
|
|
|
|
|
thirdParty = let inherit (libsForQt5) callPackage; in {
|
|
|
|
plasma-applet-caffeine-plus = callPackage ./3rdparty/addons/caffeine-plus.nix { };
|
2021-01-01 06:47:53 +01:00
|
|
|
plasma-applet-virtual-desktop-bar = callPackage ./3rdparty/addons/virtual-desktop-bar.nix { };
|
2021-11-09 15:01:27 +01:00
|
|
|
bismuth = callPackage ./3rdparty/addons/bismuth { };
|
2020-09-06 18:14:57 +02:00
|
|
|
kwin-dynamic-workspaces = callPackage ./3rdparty/kwin/scripts/dynamic-workspaces.nix { };
|
|
|
|
kwin-tiling = callPackage ./3rdparty/kwin/scripts/tiling.nix { };
|
|
|
|
krohnkite = callPackage ./3rdparty/kwin/scripts/krohnkite.nix { };
|
2021-07-19 03:53:02 +02:00
|
|
|
krunner-symbols = callPackage ./3rdparty/addons/krunner-symbols.nix { };
|
2021-11-20 18:05:19 +01:00
|
|
|
lightly = callPackage ./3rdparty/lightly { };
|
2021-01-22 02:12:07 +01:00
|
|
|
parachute = callPackage ./3rdparty/kwin/scripts/parachute.nix { };
|
2020-09-06 18:14:57 +02:00
|
|
|
};
|
|
|
|
|
2021-09-18 11:41:27 +02:00
|
|
|
} // lib.optionalAttrs (config.allowAliases or true) {
|
|
|
|
ksysguard = throw "ksysguard has been replaced with plasma-systemmonitor";
|
2016-10-05 04:31:47 +02:00
|
|
|
};
|
2017-02-25 21:32:46 +01:00
|
|
|
in
|
|
|
|
lib.makeScope libsForQt5.newScope packages
|