From 65ecf34ce2dbec16f9d348581d31efe58691a42a Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 23 Jan 2025 17:33:40 +0300 Subject: [PATCH 1/2] scripts/kde/generate-sources: use download.kde.org file listings directly --- maintainers/scripts/kde/generate-sources.py | 38 +++++++++++++-------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/maintainers/scripts/kde/generate-sources.py b/maintainers/scripts/kde/generate-sources.py index e7c52368363a..b03ef3cc5f6b 100755 --- a/maintainers/scripts/kde/generate-sources.py +++ b/maintainers/scripts/kde/generate-sources.py @@ -5,7 +5,7 @@ import binascii import json import pathlib from typing import Optional -from urllib.parse import urlparse +from urllib.parse import urljoin, urlparse import bs4 import click @@ -72,32 +72,42 @@ def main(set: str, version: str, nixpkgs: pathlib.Path, sources_url: Optional[st if sources_url is None: set_url = { - "frameworks": "kf", - "gear": "releases", - "plasma": "plasma", + "frameworks": f"frameworks/{version}/", + "gear": f"release-service/{version}/src/", + "plasma": f"plasma/{version}/", }[set] - sources_url = f"https://kde.org/info/sources/source-{set_url}-{version}/" + sources_url = f"https://download.kde.org/stable/{set_url}" - sources = httpx.get(sources_url) + client = httpx.Client() + sources = client.get(sources_url) sources.raise_for_status() bs = bs4.BeautifulSoup(sources.text, features="html.parser") results = {} - for item in bs.select("tr")[1:]: - link = item.select_one("td:nth-child(1) a") - assert link + for item in bs.select("tr")[3:]: + link = item.select_one("td:nth-child(2) a") + if not link: + continue - hash = item.select_one("td:nth-child(3) tt") - assert hash + project_name, version_and_ext = link.text.rsplit("-", maxsplit=1) - project_name, version = link.text.rsplit("-", maxsplit=1) if project_name not in metadata.projects_by_name: print(f"Warning: unknown tarball: {project_name}") + if version_and_ext.endswith(".sig"): + continue + + version = version_and_ext.removesuffix(".tar.xz") + + url = urljoin(sources_url, link.attrs["href"]) + + hash = client.get(url + ".sha256").text.split(" ", maxsplit=1)[0] + assert hash + results[project_name] = { "version": version, - "url": "mirror://kde" + urlparse(link.attrs["href"]).path, - "hash": to_sri(hash.text) + "url": "mirror://kde" + urlparse(url).path, + "hash": to_sri(hash) } pkg_dir = set_dir / project_name From 24586c164beb2a7c6f42921a3bcec88a066a3eb6 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 9 Jan 2025 21:36:52 +0300 Subject: [PATCH 2/2] kdePackages: Plasma 6.2 -> 6.3 --- pkgs/kde/gear/default.nix | 1 - pkgs/kde/generated/sources/plasma.json | 401 +++++++-------- pkgs/kde/plasma/breeze/default.nix | 3 + pkgs/kde/plasma/default.nix | 1 + .../plasma/kinfocenter/0001-tool-paths.patch | 472 ++++++++++++------ pkgs/kde/plasma/kinfocenter/default.nix | 4 + pkgs/kde/plasma/plasma-desktop/default.nix | 2 + pkgs/kde/plasma/plasma-workspace/default.nix | 3 +- .../plasma-workspace/dependency-paths.patch | 22 +- pkgs/kde/plasma/plasma5support/default.nix | 19 +- .../{gear => plasma}/spectacle/default.nix | 0 11 files changed, 562 insertions(+), 366 deletions(-) rename pkgs/kde/{gear => plasma}/spectacle/default.nix (100%) diff --git a/pkgs/kde/gear/default.nix b/pkgs/kde/gear/default.nix index ce0cadba3dd2..1ab627559e03 100644 --- a/pkgs/kde/gear/default.nix +++ b/pkgs/kde/gear/default.nix @@ -242,7 +242,6 @@ skanlite = callPackage ./skanlite { }; skanpage = callPackage ./skanpage { }; skladnik = callPackage ./skladnik { }; - spectacle = callPackage ./spectacle { }; step = callPackage ./step { }; svgpart = callPackage ./svgpart { }; sweeper = callPackage ./sweeper { }; diff --git a/pkgs/kde/generated/sources/plasma.json b/pkgs/kde/generated/sources/plasma.json index 70357307b834..4fcd394c04a1 100644 --- a/pkgs/kde/generated/sources/plasma.json +++ b/pkgs/kde/generated/sources/plasma.json @@ -1,332 +1,337 @@ { "bluedevil": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/bluedevil-6.2.5.tar.xz", - "hash": "sha256-Tl9D6d2ddZDimkMhSK1Rq7vTHPMChXMUJfW+jyRE8ro=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/bluedevil-6.3.0.tar.xz", + "hash": "sha256-uqgVjWesGDHzIwx828RAw9Vt6BRwg8gZUv2i2azssoQ=" }, "breeze": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/breeze-6.2.5.tar.xz", - "hash": "sha256-HTvUSBu3zSdKE6xdWFK+Uf8pdeYghy38IvvVMbrQTiU=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/breeze-6.3.0.tar.xz", + "hash": "sha256-e7UN1mLjXf2u7JWPrUIU5sPBRISRmrEqVFoRCfvgiZU=" }, "breeze-grub": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/breeze-grub-6.2.5.tar.xz", - "hash": "sha256-AotNwvjw9mMDnl64Ayh8X549xPXz5f16RPxx1nbcOYk=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/breeze-grub-6.3.0.tar.xz", + "hash": "sha256-sQCf31ZSG9KEAnRjnM5AXRDiDldJKrYrWSuBWmGFvhw=" }, "breeze-gtk": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/breeze-gtk-6.2.5.tar.xz", - "hash": "sha256-IRXwC7zvjmulckfpxs4WM97fNw+S2gHS/Eqvyhp0018=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/breeze-gtk-6.3.0.tar.xz", + "hash": "sha256-Jrd9zu3h8mh99jZlxLoODnnbyarO/HSFhQL4Fu0yZfg=" }, "breeze-plymouth": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/breeze-plymouth-6.2.5.tar.xz", - "hash": "sha256-4D/NjM4Z3pjxstrzlw29WeF/Wfm2iN7/xOSgd6um4Uo=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/breeze-plymouth-6.3.0.tar.xz", + "hash": "sha256-BYlAsh647wIQ3RHMsOwfjiDBe2jOi404vE7qImBQBII=" }, "discover": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/discover-6.2.5.tar.xz", - "hash": "sha256-jMu4gTkqS61UCrC7RlY3oOIG72tT578C5xvI+2RTpKQ=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/discover-6.3.0.tar.xz", + "hash": "sha256-v1kqF0opluIQgfK+wGjb7umrlF3w7s8tRlvkSOAj6ps=" }, "drkonqi": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/drkonqi-6.2.5.tar.xz", - "hash": "sha256-+V7FbHAuscukhBH9FwnYcjhJ43D/jqaZgUgtbzpdXHM=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/drkonqi-6.3.0.tar.xz", + "hash": "sha256-ZSu8VecEccp6zxONgKI3/PXhB+QNKssOx58DqtUAlIk=" }, "flatpak-kcm": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/flatpak-kcm-6.2.5.tar.xz", - "hash": "sha256-JshyE62aOUorPcZhYFHWfFyqMji6qoipr7mV3YlnOy4=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/flatpak-kcm-6.3.0.tar.xz", + "hash": "sha256-9XmPHQzO6bUCicy0EHFdNf7N5f0a181ITJGPFJxtUSE=" }, "kactivitymanagerd": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kactivitymanagerd-6.2.5.tar.xz", - "hash": "sha256-824bvFwQD0w50a8AegPEdOo90VhFkgKf4k+72xz52tY=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kactivitymanagerd-6.3.0.tar.xz", + "hash": "sha256-Il9k5WjlWePm7I6aBS2E+zxVfhbp1PgbVnGZCBGnVe4=" }, "kde-cli-tools": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kde-cli-tools-6.2.5.tar.xz", - "hash": "sha256-HdpX90lQYKCGZYeWUZ1o1U9efaThL6bY1L9GFKxygAI=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kde-cli-tools-6.3.0.tar.xz", + "hash": "sha256-zMvNc38fQz8u6xfuHjuMwQtnOhO2hbwNYKORl4/Jezs=" }, "kde-gtk-config": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kde-gtk-config-6.2.5.tar.xz", - "hash": "sha256-KD+YA6FfE3NN5imFWPh1QGpcfA6kbp/7pWR/SAv8alg=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kde-gtk-config-6.3.0.tar.xz", + "hash": "sha256-9SkQ8j7zamMDfkASSozxU2JygK45s/ijHtHy20iHmE8=" }, "kdecoration": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kdecoration-6.2.5.tar.xz", - "hash": "sha256-cmxYzUs0/ElUZXhyekR8diQpOK3Vdyks0zS9YL+djyY=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kdecoration-6.3.0.tar.xz", + "hash": "sha256-dPf0r8oQoKN5FSM8gAM82zMqf59Fr8ZNDDjGCrotXdM=" }, "kdeplasma-addons": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kdeplasma-addons-6.2.5.tar.xz", - "hash": "sha256-V9E41RAa27gJLEJMWM63Ph0F0Mzj7Eo1RDJ0Tb0X5CY=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kdeplasma-addons-6.3.0.tar.xz", + "hash": "sha256-WZnR7hIK9Wc+cM8X8wMM5JK8zOeZfNTJLcBB+hgQmbk=" }, "kgamma": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kgamma-6.2.5.tar.xz", - "hash": "sha256-Pfdc3LAgrP0hbppyJATTgcik2XJivoX2cEsYnmZWEM4=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kgamma-6.3.0.tar.xz", + "hash": "sha256-yxNocFCZ9vbwmwjT+IVgHR9HkHSaK7xM6XdXTUTxcQI=" }, "kglobalacceld": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kglobalacceld-6.2.5.tar.xz", - "hash": "sha256-lLXMN4DKawdAk8SH7J5sNGD2Na5RRXgPh8D+hITYxsk=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kglobalacceld-6.3.0.tar.xz", + "hash": "sha256-YSSYgpexkQhGtK8qApAraSM5g4NENBL0G5XMiL8N4LM=" }, "kinfocenter": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kinfocenter-6.2.5.tar.xz", - "hash": "sha256-nth+2zokJWGJ+Nx5yCG49FWJqrcDLY3eeNXZTPBjn/k=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kinfocenter-6.3.0.tar.xz", + "hash": "sha256-IPtgc2bRZjkNwYvsqPkyGBOSQwWgrf7pH3leTgXq0xE=" }, "kmenuedit": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kmenuedit-6.2.5.tar.xz", - "hash": "sha256-CQhkX0/CSgCwI9BTfKxt7nt6utdceYC0oBxsCY3taEo=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kmenuedit-6.3.0.tar.xz", + "hash": "sha256-9oK736Q25leu7LRh+doF1w5dbNsCNt/bcWNdMHcXRWM=" }, "kpipewire": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kpipewire-6.2.5.tar.xz", - "hash": "sha256-20LVgfDKQnvYDuamfR+pzvARFCZsmu5/qizsvZc+Yxk=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kpipewire-6.3.0.tar.xz", + "hash": "sha256-N38NIPvx84BzE28XtZlcg+XH+oClCJZtVp41xPGA3yo=" }, "krdp": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/krdp-6.2.5.tar.xz", - "hash": "sha256-Go0349uR6AyuniK/HFmGmFxCed4kVrp7xIHHJcNKc/w=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/krdp-6.3.0.tar.xz", + "hash": "sha256-HpdFCwXazBteJamcSRVsQaGYZvsvGW7KHR4nWlfXJFA=" }, "kscreen": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kscreen-6.2.5.tar.xz", - "hash": "sha256-YjfEf+cDhNEObyDX8FjGqsylGkk9qSgHf87JGw72lkI=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kscreen-6.3.0.tar.xz", + "hash": "sha256-Vtngpgfy+3mDEeFx32eykJZBf1BkLfhxCTflCvTR1/U=" }, "kscreenlocker": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kscreenlocker-6.2.5.tar.xz", - "hash": "sha256-Oj7S0EA5TcKoDPJc3SpsQCIUaspU5yxErxbomC6Ljk4=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kscreenlocker-6.3.0.tar.xz", + "hash": "sha256-rYa6DX3IdUql3YCXqyUojN+qRMAeMaEIE6tNDWmH9l4=" }, "ksshaskpass": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/ksshaskpass-6.2.5.tar.xz", - "hash": "sha256-heccgDfV0hmfhhrnBxifQqfK7S8DdD6oO3Vww0oR63I=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/ksshaskpass-6.3.0.tar.xz", + "hash": "sha256-EXk3lsXE9ut7BgG8AD2Ezo5CFHvwUhLCpr0g38dKNiI=" }, "ksystemstats": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/ksystemstats-6.2.5.tar.xz", - "hash": "sha256-7/9W9V5v5e1CMaR6RMjQjT1G/RDXTRhjRO9PL82VlaE=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/ksystemstats-6.3.0.tar.xz", + "hash": "sha256-ZAr5jGsHagdDan1rka4wGOHlrImea4Q/BNSABZSydzo=" }, "kwallet-pam": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kwallet-pam-6.2.5.tar.xz", - "hash": "sha256-AWjU8jl64omuAnp9ICsP/V+NehmyM+v6ZBe4Q4Qb/UQ=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kwallet-pam-6.3.0.tar.xz", + "hash": "sha256-Gie/yXAB5MDFEg7sGjbTcwuqbvnfRPv2jyOjTNVRxn8=" }, "kwayland": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kwayland-6.2.5.tar.xz", - "hash": "sha256-KheozlZD/VHDz3h1QgMsEFDaOh+wDcyaMt6iiL0419I=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kwayland-6.3.0.tar.xz", + "hash": "sha256-L21ouJ2rIQN7puzJGmNT0fWjFPe4Bou25gW/XhtrJaw=" }, "kwayland-integration": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kwayland-integration-6.2.5.tar.xz", - "hash": "sha256-Brb7fdzxnHJ3FvR2tyJOIw9Jhsfj02Bm6RiFn9w7RBM=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kwayland-integration-6.3.0.tar.xz", + "hash": "sha256-S8VCEZQ4TZvDfFRqKg85ZT6VdPK6FqnONqvoyctUOv0=" }, "kwin": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kwin-6.2.5.tar.xz", - "hash": "sha256-XMRQpuQRBcjEmSm3JVCzMSN/lqr7KUaQ9HB73F93aEg=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kwin-6.3.0.tar.xz", + "hash": "sha256-Gtl4/FKyG/3SGIQ1VKAVskaJ4MBJBNHLAOLkr8pPSvQ=" }, "kwrited": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/kwrited-6.2.5.tar.xz", - "hash": "sha256-BHlPEJF6CpQWeWIBXPuwV8mAIGH/+RsCfeAaPmk315I=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/kwrited-6.3.0.tar.xz", + "hash": "sha256-/H0YFVieKNBsbalnsYMSzlB+rMJ+9YG9rtwYNzm2Llw=" }, "layer-shell-qt": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/layer-shell-qt-6.2.5.tar.xz", - "hash": "sha256-vAmHAhjfOHw3e60v7UsqjzkSHdvcXGuyikC+DBsADHc=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/layer-shell-qt-6.3.0.tar.xz", + "hash": "sha256-oJiKEqI2ZM/jV7AHDT2Mrs6jsIiC7lIIalpONLiF1EM=" }, "libkscreen": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/libkscreen-6.2.5.tar.xz", - "hash": "sha256-Xtr2+i7tbdzvS8R59LsV00gay2Ct8BUOn5oTgmB7vLg=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/libkscreen-6.3.0.tar.xz", + "hash": "sha256-nveR7vL1xulUKKnaP7c15NIjAIHFRyliyVyDU8AaZDo=" }, "libksysguard": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/libksysguard-6.2.5.tar.xz", - "hash": "sha256-lpTz1rUHi02C645u006yDi0QntfCI0xZpkC8MvMcdqs=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/libksysguard-6.3.0.tar.xz", + "hash": "sha256-vBu7OFslwGQj9vLQRLAMEGy9tVHFz4NIvVkixj1MvLk=" }, "libplasma": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/libplasma-6.2.5.tar.xz", - "hash": "sha256-r3cPX++XhRLHBJGIlRb7dp00DwCgInCYfS0dF3U2WOw=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/libplasma-6.3.0.tar.xz", + "hash": "sha256-nCzelhWpQ5faaOQpMYJ2jh+9wvQZzbjwDosTo2bVl40=" }, "milou": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/milou-6.2.5.tar.xz", - "hash": "sha256-gzvK6v4pLoXv81PgmwYx9gOuISHo0db+BhsfYyAXrM8=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/milou-6.3.0.tar.xz", + "hash": "sha256-gbSDavVLQsHY3zJ1KgcIWtkYYjft2KQ0RV6qk9m9xpE=" }, "ocean-sound-theme": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/ocean-sound-theme-6.2.5.tar.xz", - "hash": "sha256-AX0yXsZzu4DfykQrdu9xoXLMomkRwoojDMc5KwFdxQU=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/ocean-sound-theme-6.3.0.tar.xz", + "hash": "sha256-g9nF9oc8uQ4tcepUVUh8QnN+BTUTOM7xnj+MrT68JNo=" }, "oxygen": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/oxygen-6.2.5.tar.xz", - "hash": "sha256-bXct1QnCv9A9f4AeRe/xUfNEFykAuuBbsW2LovjTt9w=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/oxygen-6.3.0.tar.xz", + "hash": "sha256-SpCO5h552/wlIFJ8ZJPvuSeWVXUMxxXx4z2FKk8JaDQ=" }, "oxygen-sounds": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/oxygen-sounds-6.2.5.tar.xz", - "hash": "sha256-7gg8Zyt2AF3940CQLPAwLKCBs1nKpWZnkzTaln6PdbQ=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/oxygen-sounds-6.3.0.tar.xz", + "hash": "sha256-vqL+XEFKN65mnzmSLMutwUB3kkcEUpfsLQEfoX7MDys=" }, "plasma-activities": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-activities-6.2.5.tar.xz", - "hash": "sha256-d+pznHzlFw2S141vN2XhmjLw4kt0H1JVVdWdx94V5sc=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-activities-6.3.0.tar.xz", + "hash": "sha256-zLHKLcHeseI13UlvQjVfAFT1gGHs+adZ2fqgopmlbHs=" }, "plasma-activities-stats": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-activities-stats-6.2.5.tar.xz", - "hash": "sha256-zduiWSRlHg9d50pvqryJkDAYV7sx9O5KwfadegxIUyw=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-activities-stats-6.3.0.tar.xz", + "hash": "sha256-tKO4AhZgGP5NTTXNDXxBG1LRy3T/0iochOSUrTA1aC4=" }, "plasma-browser-integration": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-browser-integration-6.2.5.tar.xz", - "hash": "sha256-JdqQUWafIKG/m9iYfZViGy5mQTGjw4cBo8Xi+G2bXc4=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-browser-integration-6.3.0.tar.xz", + "hash": "sha256-nF7TyOy+Co7PFpdBbL+fNBaUHp339avhebZnvYB4+20=" }, "plasma-desktop": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-desktop-6.2.5.tar.xz", - "hash": "sha256-tz0pICAxtwSUhdhOYV170KPKiQ3LLCLYEW64/m/p0Gg=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-desktop-6.3.0.tar.xz", + "hash": "sha256-u9v6h0tsBOO7M2g+oNCeMmFt6CfflqG2ZKILL1nWnQ4=" }, "plasma-dialer": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-dialer-6.2.5.tar.xz", - "hash": "sha256-DWTYOXsRAbqJgyvjbyKazthzFQpUHRECNbXQWawPYEY=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-dialer-6.3.0.tar.xz", + "hash": "sha256-yVB0e4yD15DsY+5YXu0tMw10C3ZcYUFSPQlGNicgV6o=" }, "plasma-disks": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-disks-6.2.5.tar.xz", - "hash": "sha256-m1FKt/sL3gyxhxM0zp6oEV2JjdKJDpbuBo6lpCm+f3U=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-disks-6.3.0.tar.xz", + "hash": "sha256-p2meDmgZMRlSw1FZE5xqESYS3fOVHrdC60zf+2rYbT0=" }, "plasma-firewall": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-firewall-6.2.5.tar.xz", - "hash": "sha256-8Om32kgaODrEURIQuqmYuMJjYB8YIRsGVfXJ2YFX2mk=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-firewall-6.3.0.tar.xz", + "hash": "sha256-ll172oqLjZCW6UeLCcRqfR3Mh9z//tHCe3h3kdvjx/A=" }, "plasma-integration": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-integration-6.2.5.tar.xz", - "hash": "sha256-V5XlIoXe6hCHf9VkdEc9BhBxy0JbqHzvM2aDLVB2Ryk=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-integration-6.3.0.tar.xz", + "hash": "sha256-4IL0XHGAfkpBpf7g7uPyc0couMje0EHi+US3UwaGlDM=" }, "plasma-mobile": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-mobile-6.2.5.tar.xz", - "hash": "sha256-rs65urOS/D2f3qWRPCAqEQeMQGB5SSdyJYG9iOxlGNI=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-mobile-6.3.0.tar.xz", + "hash": "sha256-tDkNwsSouZcT1FxR8kG3H/7RGLmKuJqsQND4sL07s5E=" }, "plasma-nano": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-nano-6.2.5.tar.xz", - "hash": "sha256-czQB7HQ2hPWdrSGa1+ucFW3XMLjhcmv1WA2HlInfGsk=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-nano-6.3.0.tar.xz", + "hash": "sha256-q0uhUTOq8nPsHHkfw39FzjBPKH96FwaEn8TtrhtLHQM=" }, "plasma-nm": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-nm-6.2.5.tar.xz", - "hash": "sha256-FG12k2zphViDmpp88w+pUbfubNPap8MtcczfFXpPbGg=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-nm-6.3.0.tar.xz", + "hash": "sha256-IakXwSdy9+KBzi5rewgnN55E97VHomHfRhWdVy0NxeA=" }, "plasma-pa": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-pa-6.2.5.tar.xz", - "hash": "sha256-UXkzen6sQUWpU7RhRtSJmUXZxDNzrWD3ZpL/xCzxnUc=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-pa-6.3.0.tar.xz", + "hash": "sha256-3gT7Kgwe7H+Ek1DVoXyOhP+XLYILXjTTja4LiSJhae0=" }, "plasma-sdk": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-sdk-6.2.5.tar.xz", - "hash": "sha256-dr1i5e89nnF/fEX/WGOHMrgH56UTlCxiRywCsLKuNRE=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-sdk-6.3.0.tar.xz", + "hash": "sha256-PXXSJLK3p9ZcextB1NqxIizyXFnqTpwBcK23J9fvQWg=" }, "plasma-systemmonitor": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-systemmonitor-6.2.5.tar.xz", - "hash": "sha256-lXXUVi5oIJYnruLzWAcLCRIsw+Cf7lDJBFHfUr8Asso=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-systemmonitor-6.3.0.tar.xz", + "hash": "sha256-/kZ/X+uSlaAtoQNTCYoC8wBWu5ZAFjV+LOTQwH0wXIg=" }, "plasma-thunderbolt": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-thunderbolt-6.2.5.tar.xz", - "hash": "sha256-5sOMf+hE66ay04oGzz6fLFHpiYk5ZeFoORfEbZTrJNo=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-thunderbolt-6.3.0.tar.xz", + "hash": "sha256-oMPbVanG0+QMf0t49iH2uF4R9mzPwEkTMzn7jJzh/mw=" }, "plasma-vault": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-vault-6.2.5.tar.xz", - "hash": "sha256-a35z/DnGu14sBlc++IqJSO6lcGCKjh5J2RI4mu+lC04=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-vault-6.3.0.tar.xz", + "hash": "sha256-QU/lNg6xMv8kYyLs6aVkUEES+pWkxGKz8XK5hhPcJdg=" }, "plasma-welcome": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-welcome-6.2.5.tar.xz", - "hash": "sha256-6aKuDK2C75/q50cfYlYo199wmCVeqO5x+reO1IU5Jho=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-welcome-6.3.0.tar.xz", + "hash": "sha256-x+iEF4wc0aoKwmBzvZzxJNCjvjkmwCQLeXR3gGchGYQ=" }, "plasma-workspace": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-workspace-6.2.5.tar.xz", - "hash": "sha256-uCUR5G9i4bj2C5acgoyNjTL8eShAGnDMKMKfhfRsQS8=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-workspace-6.3.0.tar.xz", + "hash": "sha256-FBZ9trlmsVZ7S4uPt77RjZUvK02UR7Uiij9aH7s4xDk=" }, "plasma-workspace-wallpapers": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma-workspace-wallpapers-6.2.5.tar.xz", - "hash": "sha256-2LB6LMPTTRNDTzog6aSW7XUCgFJi47sYnrhG1XTxvIA=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma-workspace-wallpapers-6.3.0.tar.xz", + "hash": "sha256-1OhrrEgzpN8jmNCBXV+SwH6+W6+X2lIGP0b/XFEPEAo=" }, "plasma5support": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plasma5support-6.2.5.tar.xz", - "hash": "sha256-ysUkSqKWGtAg7SxDQnOJ4II0guyxeZSLX9ayIWBuiwQ=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plasma5support-6.3.0.tar.xz", + "hash": "sha256-uVIBaVez+AM9gfxY+QvxPwL5fuzWbKTmtrCAUHTKYoM=" }, "plymouth-kcm": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/plymouth-kcm-6.2.5.tar.xz", - "hash": "sha256-rfcELy5wmFWZUMQr1hAm/kYtZs1/u9u5l7RY9plrEEg=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/plymouth-kcm-6.3.0.tar.xz", + "hash": "sha256-pGqGc06TgiXSh8HPpJnVv3jWzFsAjAxD45rdmvd3JS4=" }, "polkit-kde-agent-1": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/polkit-kde-agent-1-6.2.5.tar.xz", - "hash": "sha256-sf+z5ETGxT24Iqj7THUFw48mE6gSrhe+JDTgL1DCk/s=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/polkit-kde-agent-1-6.3.0.tar.xz", + "hash": "sha256-4H+0PlDvqaRZn/Eo7FExy75nBJ8b/yRnPOkfVbXkQes=" }, "powerdevil": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/powerdevil-6.2.5.tar.xz", - "hash": "sha256-cCUDltXvrkvn0yAb6Hjg41/Y2b+zkGYNXgOUgosfRks=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/powerdevil-6.3.0.tar.xz", + "hash": "sha256-y0y+bKuw6j0JipkQNcEc/BhNnJvQZfu6nvNPbAgsE6g=" }, "print-manager": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/print-manager-6.2.5.tar.xz", - "hash": "sha256-BWAW67df4Co/LnG/pnmAbAwNwgvcZ240NFwu0Etf6sw=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/print-manager-6.3.0.tar.xz", + "hash": "sha256-wsR6LEvcOKMuzZaFbVvZzRa/UBFleeV1tbw6T3HHmAw=" }, "qqc2-breeze-style": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/qqc2-breeze-style-6.2.5.tar.xz", - "hash": "sha256-OAy2NpbKISYmVlnGGOBWNhk/KOf2pZc0HrkVr13R0Q8=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/qqc2-breeze-style-6.3.0.tar.xz", + "hash": "sha256-6x7qYWDPcFIoeYt+zv/DVP1+k/saimSobl059T64on8=" }, "sddm-kcm": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/sddm-kcm-6.2.5.tar.xz", - "hash": "sha256-+kARFrz8aQ/SVXwWzzlGH6nW4d4NkXpPSf+S431f31Y=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/sddm-kcm-6.3.0.tar.xz", + "hash": "sha256-o44ChGGmqwQkF9GfLyTFufTEKDias3E4Rjb3C8q3dkw=" }, "spacebar": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/spacebar-6.2.5.tar.xz", - "hash": "sha256-+La9PZgNuwCvjzMHAw6gXq2m2qzT5fI+wXki5mWPV6I=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/spacebar-6.3.0.tar.xz", + "hash": "sha256-Q56khGQDJ4FyYYFITcXkHcAOhfQX7Sbf81XY/U+lW0k=" + }, + "spectacle": { + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/spectacle-6.3.0.tar.xz", + "hash": "sha256-voCrvB6AvESTcRCJWAqQWEhJlgiiSXvj1+uBy7+HYJk=" }, "systemsettings": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/systemsettings-6.2.5.tar.xz", - "hash": "sha256-tQIvKUMl29PaFqvvtSoSwBjHOjx47aAy34kXPGmr03U=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/systemsettings-6.3.0.tar.xz", + "hash": "sha256-dxubbLveFf6GDKZewJo4xuF1yRSCnlVt5WwTYmkaxoA=" }, "wacomtablet": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/wacomtablet-6.2.5.tar.xz", - "hash": "sha256-5bNvjj5W1VwphX1tp8HjzsU49wPfihAldmOIoHrPOHs=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/wacomtablet-6.3.0.tar.xz", + "hash": "sha256-wFdo6kWRe1WZojxYze8xzRIcQhOvD/xwDK8qGcvBWDU=" }, "xdg-desktop-portal-kde": { - "version": "6.2.5", - "url": "mirror://kde/stable/plasma/6.2.5/xdg-desktop-portal-kde-6.2.5.tar.xz", - "hash": "sha256-Hoa/b33EM0AK3pM0dnHsnK2I44JTbdMJMAMORRRiOvE=" + "version": "6.3.0", + "url": "mirror://kde/stable/plasma/6.3.0/xdg-desktop-portal-kde-6.3.0.tar.xz", + "hash": "sha256-swz1cWaFvqkWG3rD3LqqMRVmJzmYUNdFksBunNTdD1E=" } } \ No newline at end of file diff --git a/pkgs/kde/plasma/breeze/default.nix b/pkgs/kde/plasma/breeze/default.nix index 6768ffb94ecf..1e6652164854 100644 --- a/pkgs/kde/plasma/breeze/default.nix +++ b/pkgs/kde/plasma/breeze/default.nix @@ -1,6 +1,7 @@ { mkKdeDerivation, qtbase, + qtsvg, libsForQt5, }: mkKdeDerivation { @@ -12,6 +13,8 @@ mkKdeDerivation { "qt5" ]; + extraBuildInputs = [ qtsvg ]; + # We can't add qt5 stuff to dependencies or the hooks blow up, # so manually point everything to everything. Oof. extraCmakeFlags = [ diff --git a/pkgs/kde/plasma/default.nix b/pkgs/kde/plasma/default.nix index fb7846ed86fc..85ddce4b0807 100644 --- a/pkgs/kde/plasma/default.nix +++ b/pkgs/kde/plasma/default.nix @@ -63,6 +63,7 @@ qqc2-breeze-style = callPackage ./qqc2-breeze-style { }; sddm-kcm = callPackage ./sddm-kcm { }; spacebar = callPackage ./spacebar { }; + spectacle = callPackage ./spectacle { }; systemsettings = callPackage ./systemsettings { }; wacomtablet = callPackage ./wacomtablet { }; xdg-desktop-portal-kde = callPackage ./xdg-desktop-portal-kde { }; diff --git a/pkgs/kde/plasma/kinfocenter/0001-tool-paths.patch b/pkgs/kde/plasma/kinfocenter/0001-tool-paths.patch index 4ee9761fbd9d..54e5fbb1c2b4 100644 --- a/pkgs/kde/plasma/kinfocenter/0001-tool-paths.patch +++ b/pkgs/kde/plasma/kinfocenter/0001-tool-paths.patch @@ -1,8 +1,206 @@ +diff --git a/kcms/audio_information/kcm_audio_information.json b/kcms/audio_information/kcm_audio_information.json +index d94ef1d0..13f1c377 100644 +--- a/kcms/audio_information/kcm_audio_information.json ++++ b/kcms/audio_information/kcm_audio_information.json +@@ -80,7 +80,7 @@ + "Name[zh_CN]": "音频", + "Name[zh_TW]": "音訊" + }, +- "TryExec": "pactl", ++ "TryExec": "@pactl@", + "X-KDE-KInfoCenter-Category": "device_information", + "X-KDE-Keywords": "Pipewire,Audio,PulseAudio,pactl", + "X-KDE-Keywords[ar]": "Pipewire,Audio,PulseAudio,pactl,بايبواير,الصوت,بولس أوديو", +diff --git a/kcms/audio_information/main.cpp b/kcms/audio_information/main.cpp +index adb196fd..9d6c8675 100644 +--- a/kcms/audio_information/main.cpp ++++ b/kcms/audio_information/main.cpp +@@ -16,7 +16,7 @@ public: + explicit KCMAudioInformation(QObject *parent, const KPluginMetaData &data) + : KQuickConfigModule(parent, data) + { +- m_outputContext = new CommandOutputContext(QStringLiteral("pactl"), {"list"}, parent); ++ m_outputContext = new CommandOutputContext(QStringLiteral("@pactl@"), {"list"}, parent); + } + CommandOutputContext *outputContext() const + { +diff --git a/kcms/block_devices/kcm_block_devices.json b/kcms/block_devices/kcm_block_devices.json +index a73e33ad..3a1ab4da 100644 +--- a/kcms/block_devices/kcm_block_devices.json ++++ b/kcms/block_devices/kcm_block_devices.json +@@ -80,7 +80,7 @@ + "Name[zh_CN]": "块设备", + "Name[zh_TW]": "區塊裝置" + }, +- "TryExec": "lsblk", ++ "TryExec": "@lsblk@", + "X-KDE-KInfoCenter-Category": "device_information", + "X-KDE-Keywords": "lsblk,block device,partition,disk,drive,hdd,ssd,nvme", + "X-KDE-Keywords[ar]": "lsblk,block device,partition,disk,drive,hdd,ssd,nvme,قرص,قسم,قطاع جهاز", +diff --git a/kcms/block_devices/main.cpp b/kcms/block_devices/main.cpp +index 2de923f3..6b14f7fb 100644 +--- a/kcms/block_devices/main.cpp ++++ b/kcms/block_devices/main.cpp +@@ -20,7 +20,7 @@ public: + { + // NOTE: careful when using -o, it tends to incorrectly print multiple mountpoints as a single path + // (e.g. when different btrfs subvolumes are mounted at various points in the system it ought to enumerate all mountpoints) +- m_outputContext = new CommandOutputContext(u"lsblk"_s, {}, parent); ++ m_outputContext = new CommandOutputContext(u"@lsblk@"_s, {}, parent); + } + CommandOutputContext *outputContext() const + { +diff --git a/kcms/cpu/kcm_cpu.json b/kcms/cpu/kcm_cpu.json +index a783b5bc..5866c4d2 100644 +--- a/kcms/cpu/kcm_cpu.json ++++ b/kcms/cpu/kcm_cpu.json +@@ -102,7 +102,7 @@ + "Name[zh_CN]": "CPU", + "Name[zh_TW]": "CPU" + }, +- "TryExec": "lscpu", ++ "TryExec": "@lscpu@", + "X-KDE-KInfoCenter-Category": "device_information", + "X-KDE-Keywords": "cpu,amd,intel,arm,instructions,cores,architecture,byte order", + "X-KDE-Keywords[ar]": "cpu,amd,intel,arm,instructions,cores,architecture,byte order,تعليمات,أنوية,معمارية", +diff --git a/kcms/cpu/main.cpp b/kcms/cpu/main.cpp +index 608381eb..8fd7914f 100644 +--- a/kcms/cpu/main.cpp ++++ b/kcms/cpu/main.cpp +@@ -16,7 +16,7 @@ public: + explicit KCMCPU(QObject *parent, const KPluginMetaData &data) + : KQuickConfigModule(parent, data) + { +- m_outputContext = new CommandOutputContext(QStringLiteral("lscpu"), {}, parent); ++ m_outputContext = new CommandOutputContext(QStringLiteral("@lscpu@"), {}, parent); + } + CommandOutputContext *outputContext() const + { +diff --git a/kcms/edid/edid.sh b/kcms/edid/edid.sh +index da803598..4e24eaaf 100755 +--- a/kcms/edid/edid.sh ++++ b/kcms/edid/edid.sh +@@ -13,7 +13,7 @@ for card in /sys/class/drm/card*; do + # Try to read any data. If it fails continue. This prevents errors from di-edid-decode. + IFS= read -r data < "$edid" || continue + +- data=$(di-edid-decode "$edid" 2>&1) || true ++ data=$(@di_edid_decode@ "$edid" 2>&1) || true + printf "# %s #######################\n" "$(basename "$card")" + printf "%s\n\n" "$data" + done +diff --git a/kcms/edid/kcm_edid.json b/kcms/edid/kcm_edid.json +index 68e4e670..19dfdc59 100644 +--- a/kcms/edid/kcm_edid.json ++++ b/kcms/edid/kcm_edid.json +@@ -64,7 +64,7 @@ + "Name[x-test]": "xxEDIDxx", + "Name[zh_CN]": "EDID" + }, +- "TryExec": "di-edid-decode", ++ "TryExec": "@di_edid_decode@", + "X-KDE-KInfoCenter-Category": "graphical_information", + "X-KDE-Keywords": "EDID,Graphics", + "X-KDE-Keywords[ar]": "EDID,Graphics,الرسوميات,بيانات تعريف العرض الممتدة", +diff --git a/kcms/edid/main.cpp b/kcms/edid/main.cpp +index 9f04e7fd..8ef37d2c 100644 +--- a/kcms/edid/main.cpp ++++ b/kcms/edid/main.cpp +@@ -20,7 +20,7 @@ public: + { + const QString executable = + QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kinfocenter/edid/edid.sh"), QStandardPaths::LocateFile); +- m_outputContext = new CommandOutputContext({QStringLiteral("di-edid-decode")}, QStringLiteral("/bin/sh"), {executable}, parent); ++ m_outputContext = new CommandOutputContext({QStringLiteral("@di_edid_decode@")}, QStringLiteral("/bin/sh"), {executable}, parent); + } + [[nodiscard]] CommandOutputContext *outputContext() const + { +diff --git a/kcms/egl/kcm_egl.json b/kcms/egl/kcm_egl.json +index 1cc89eb2..f1aed6c3 100644 +--- a/kcms/egl/kcm_egl.json ++++ b/kcms/egl/kcm_egl.json +@@ -102,7 +102,7 @@ + "Name[zh_CN]": "OpenGL (EGL)", + "Name[zh_TW]": "OpenGL (EGL)" + }, +- "TryExec": "eglinfo", ++ "TryExec": "@eglinfo@", + "X-KDE-KInfoCenter-Category": "graphical_information", + "X-KDE-Keywords": "OpenGL,DRI,3D,VideoCard,Hardware Acceleration,Graphics,EGL", + "X-KDE-Keywords[ar]": "OpenGL,DRI,3D,VideoCard,Hardware Acceleration,Graphics,EGL,بطاقة الرسوميات,تسريع العتاد,رسوميات", +diff --git a/kcms/egl/main.cpp b/kcms/egl/main.cpp +index 1a509dac..886a62d8 100644 +--- a/kcms/egl/main.cpp ++++ b/kcms/egl/main.cpp +@@ -16,7 +16,7 @@ public: + explicit KCMXServer(QObject *parent, const KPluginMetaData &data) + : KQuickConfigModule(parent, data) + { +- m_outputContext = new CommandOutputContext(QStringLiteral("eglinfo"), {}, parent); ++ m_outputContext = new CommandOutputContext(QStringLiteral("@eglinfo@"), {}, parent); + } + CommandOutputContext *outputContext() const + { +diff --git a/kcms/firmware_security/main.cpp b/kcms/firmware_security/main.cpp +index eab20e0f..5a0d2499 100644 +--- a/kcms/firmware_security/main.cpp ++++ b/kcms/firmware_security/main.cpp +@@ -20,7 +20,7 @@ public: + const QString executable = QStandardPaths::locate(QStandardPaths::GenericDataLocation, + QStringLiteral("kinfocenter/firmware_security/fwupdmgr.sh"), + QStandardPaths::LocateFile); +- m_outputContext = new CommandOutputContext({QStringLiteral("fwupdmgr"), QStringLiteral("aha")}, ++ m_outputContext = new CommandOutputContext({QStringLiteral("fwupdmgr"), QStringLiteral("@aha@")}, + QStringLiteral("/bin/sh"), + {executable}, + Qt::TextFormat::RichText, +diff --git a/kcms/glx/kcm_glx.json b/kcms/glx/kcm_glx.json +index 640ef4a5..791e8ce9 100644 +--- a/kcms/glx/kcm_glx.json ++++ b/kcms/glx/kcm_glx.json +@@ -101,7 +101,7 @@ + "Name[zh_CN]": "OpenGL (GLX)", + "Name[zh_TW]": "OpenGL (GLX)" + }, +- "TryExec": "glxinfo", ++ "TryExec": "@glxinfo@", + "X-KDE-KInfoCenter-Category": "graphical_information", + "X-KDE-Keywords": "OpenGL,DRI,GLX,3D,VideoCard,Hardware Acceleration,Graphics,X,X11,Xserver,X-Server,XFree86,Display", + "X-KDE-Keywords[ar]": "OpenGL,DRI,GLX,3D,VideoCard,Hardware Acceleration,Graphics,X,X11,Xserver,X-Server,XFree86,Display,بطاقة الرسوميات,تسريع العتاد,الرسوميات", +diff --git a/kcms/glx/main.cpp b/kcms/glx/main.cpp +index a7317411..a6c5621d 100644 +--- a/kcms/glx/main.cpp ++++ b/kcms/glx/main.cpp +@@ -16,7 +16,7 @@ public: + explicit KCMXServer(QObject *parent, const KPluginMetaData &data) + : KQuickConfigModule(parent, data) + { +- m_outputContext = new CommandOutputContext(QStringLiteral("glxinfo"), {}, parent); ++ m_outputContext = new CommandOutputContext(QStringLiteral("@glxinfo@"), {}, parent); + } + CommandOutputContext *outputContext() const + { +diff --git a/kcms/helpers/dmidecode-helper/helper.cpp b/kcms/helpers/dmidecode-helper/helper.cpp +index 11921934..1160c5f0 100644 +--- a/kcms/helpers/dmidecode-helper/helper.cpp ++++ b/kcms/helpers/dmidecode-helper/helper.cpp +@@ -20,10 +20,7 @@ auto make_array(Input &&...args) -> std::array // NB: w + DMIDecodeHelper::DMIDecodeHelper(QObject *parent) + : QObject(parent) + { +- // PATH is super minimal when invoked through dbus +- setenv("PATH", "/usr/sbin:/sbin:/usr/local/sbin", 1); +- +- m_dmidecodePath = QStandardPaths::findExecutable("dmidecode"); ++ m_dmidecodePath = QStringLiteral("@dmidecode@"); + } + + KAuth::ActionReply DMIDecodeHelper::memoryinformation(const QVariantMap &args) diff --git a/kcms/kwinsupportinfo/kcm_kwinsupportinfo.json.in b/kcms/kwinsupportinfo/kcm_kwinsupportinfo.json.in -index 0de6973e..30035768 100644 +index 24dc11a7..bc72f2af 100644 --- a/kcms/kwinsupportinfo/kcm_kwinsupportinfo.json.in +++ b/kcms/kwinsupportinfo/kcm_kwinsupportinfo.json.in -@@ -85,6 +85,6 @@ +@@ -93,6 +93,6 @@ "Name[zh_CN]": "窗口管理器", "Name[zh_TW]": "視窗管理員" }, @@ -11,7 +209,7 @@ index 0de6973e..30035768 100644 "X-KDE-KInfoCenter-Category": "graphical_information" } diff --git a/kcms/kwinsupportinfo/main.cpp b/kcms/kwinsupportinfo/main.cpp -index 6ae168b5..89d0a2ff 100644 +index ddb55b5c..8dc6b668 100644 --- a/kcms/kwinsupportinfo/main.cpp +++ b/kcms/kwinsupportinfo/main.cpp @@ -18,7 +18,7 @@ public: @@ -23,116 +221,37 @@ index 6ae168b5..89d0a2ff 100644 {QStringLiteral("org.kde.KWin"), QStringLiteral("/KWin"), QStringLiteral("supportInformation")}, parent); } -diff --git a/kcms/about-distro/src/dmidecode-helper/helper.cpp b/kcms/about-distro/src/dmidecode-helper/helper.cpp -index 396b2d74..615e1057 100644 ---- a/kcms/about-distro/src/dmidecode-helper/helper.cpp -+++ b/kcms/about-distro/src/dmidecode-helper/helper.cpp -@@ -20,13 +20,6 @@ KAuth::ActionReply DMIDecodeHelper::systeminformation(const QVariantMap &args) - { - Q_UNUSED(args); - -- // PATH is super minimal when invoked through dbus -- setenv("PATH", "/usr/sbin:/sbin:/usr/local/sbin", 1); -- const QString dmidecode = QStandardPaths::findExecutable("dmidecode"); -- if (dmidecode.isEmpty()) { -- return KAuth::ActionReply::HelperErrorReply(); -- } -- - // NB: Microsoft also outlines a limited set of DMI values to be required for IOT OEM licensing, as such we - // can rely on the same fields to have sound content . Since this only applies to OEMs we still need to filter - // out dummy values though and because of that we can grab more fields, since we'll filter them anyway. -@@ -38,7 +31,7 @@ KAuth::ActionReply DMIDecodeHelper::systeminformation(const QVariantMap &args) - QStringLiteral("system-version"), - QStringLiteral("system-serial-number")}) { - QProcess proc; -- proc.start(dmidecode, {QStringLiteral("--string"), key}); -+ proc.start("@dmidecode@", {QStringLiteral("--string"), key}); - proc.waitForFinished(); - const QByteArray output = proc.readAllStandardOutput().trimmed(); - -diff --git a/kcms/audio_information/main.cpp b/kcms/audio_information/main.cpp -index adb196fd..9d6c8675 100644 ---- a/kcms/audio_information/main.cpp -+++ b/kcms/audio_information/main.cpp -@@ -16,7 +16,7 @@ class KCMAudioInformation : public KQuickConfigModule - explicit KCMAudioInformation(QObject *parent, const KPluginMetaData &data) - : KQuickConfigModule(parent, data) - { -- m_outputContext = new CommandOutputContext(QStringLiteral("pactl"), {"list"}, parent); -+ m_outputContext = new CommandOutputContext(QStringLiteral("@pactl@"), {"list"}, parent); - } - CommandOutputContext *outputContext() const - { -diff --git a/kcms/block_devices/main.cpp b/kcms/block_devices/main.cpp -index 2de923f3..6b14f7fb 100644 ---- a/kcms/block_devices/main.cpp -+++ b/kcms/block_devices/main.cpp -@@ -20,7 +20,7 @@ class KCMBlockDevices : public KQuickConfigModule - { - // NOTE: careful when using -o, it tends to incorrectly print multiple mountpoints as a single path - // (e.g. when different btrfs subvolumes are mounted at various points in the system it ought to enumerate all mountpoints) -- m_outputContext = new CommandOutputContext(u"lsblk"_s, {}, parent); -+ m_outputContext = new CommandOutputContext(u"@lsblk@"_s, {}, parent); - } - CommandOutputContext *outputContext() const - { -diff --git a/kcms/cpu/main.cpp b/kcms/cpu/main.cpp -index 608381eb..8fd7914f 100644 ---- a/kcms/cpu/main.cpp -+++ b/kcms/cpu/main.cpp -@@ -16,7 +16,7 @@ class KCMCPU : public KQuickConfigModule - explicit KCMCPU(QObject *parent, const KPluginMetaData &data) - : KQuickConfigModule(parent, data) - { -- m_outputContext = new CommandOutputContext(QStringLiteral("lscpu"), {}, parent); -+ m_outputContext = new CommandOutputContext(QStringLiteral("@lscpu@"), {}, parent); - } - CommandOutputContext *outputContext() const - { -diff --git a/kcms/egl/main.cpp b/kcms/egl/main.cpp -index 1a509dac..886a62d8 100644 ---- a/kcms/egl/main.cpp -+++ b/kcms/egl/main.cpp -@@ -16,7 +16,7 @@ class KCMXServer : public KQuickConfigModule - explicit KCMXServer(QObject *parent, const KPluginMetaData &data) - : KQuickConfigModule(parent, data) - { -- m_outputContext = new CommandOutputContext(QStringLiteral("eglinfo"), {}, parent); -+ m_outputContext = new CommandOutputContext(QStringLiteral("@eglinfo@"), {}, parent); - } - CommandOutputContext *outputContext() const - { -diff --git a/kcms/firmware_security/main.cpp b/kcms/firmware_security/main.cpp -index 58e25458..890772c8 100644 ---- a/kcms/firmware_security/main.cpp -+++ b/kcms/firmware_security/main.cpp -@@ -20,7 +20,7 @@ class KCMFirmwareSecurity : public KQuickConfigModule - const QString executable = QStandardPaths::locate(QStandardPaths::GenericDataLocation, - QStringLiteral("kinfocenter/firmware_security/fwupdmgr.sh"), - QStandardPaths::LocateFile); -- m_outputContext = new CommandOutputContext({QStringLiteral("fwupdmgr"), QStringLiteral("aha")}, QStringLiteral("/bin/sh"), {executable}, parent); -+ m_outputContext = new CommandOutputContext({QStringLiteral("fwupdmgr"), QStringLiteral("@aha@")}, QStringLiteral("/bin/sh"), {executable}, parent); - } - CommandOutputContext *outputContext() const - { -diff --git a/kcms/glx/main.cpp b/kcms/glx/main.cpp -index a7317411..a6c5621d 100644 ---- a/kcms/glx/main.cpp -+++ b/kcms/glx/main.cpp -@@ -16,7 +16,7 @@ class KCMXServer : public KQuickConfigModule - explicit KCMXServer(QObject *parent, const KPluginMetaData &data) - : KQuickConfigModule(parent, data) - { -- m_outputContext = new CommandOutputContext(QStringLiteral("glxinfo"), {}, parent); -+ m_outputContext = new CommandOutputContext(QStringLiteral("@glxinfo@"), {}, parent); - } - CommandOutputContext *outputContext() const - { +diff --git a/kcms/memory/kcm_memory.json b/kcms/memory/kcm_memory.json +index 54f729ec..8e7aeb57 100644 +--- a/kcms/memory/kcm_memory.json ++++ b/kcms/memory/kcm_memory.json +@@ -132,7 +132,7 @@ + "Name[zh_CN]": "内存", + "Name[zh_TW]": "記憶體" + }, +- "TryExec": "pkexec dmidecode", ++ "TryExec": "@dmidecode@", + "X-KDE-KInfoCenter-Category": "device_information", + "X-KDE-Keywords": "Memory,RAM,dmidecode", + "X-KDE-Keywords[ar]": "Memory,RAM,dmidecode,رام,ذاكرة,ذاكرة حية", +diff --git a/kcms/network/kcm_network.json b/kcms/network/kcm_network.json +index 65e929e2..20bc2289 100644 +--- a/kcms/network/kcm_network.json ++++ b/kcms/network/kcm_network.json +@@ -147,7 +147,7 @@ + "Name[zh_CN]": "网络接口", + "Name[zh_TW]": "網路介面" + }, +- "TryExec": "ip", ++ "TryExec": "@ip@", + "X-KDE-KInfoCenter-Category": "network_information", + "X-KDE-Keywords": "network,nic,ip,ip address,mac,inet,eth,wlan,wifi", + "X-KDE-Keywords[ar]": "network,nic,ip,ip address,mac,inet,eth,wlan,wifi,الشبكة,شبكة الاتصال,عنوان IP,عنوان IP,جهاز Mac,شبكة الإنترنت,شبكة ETH,شبكة WLAN,شبكة Wi-Fi", diff --git a/kcms/network/main.cpp b/kcms/network/main.cpp index f02577a3..479e18df 100644 --- a/kcms/network/main.cpp +++ b/kcms/network/main.cpp -@@ -18,7 +18,7 @@ class KCMNetwork : public KQuickConfigModule +@@ -18,7 +18,7 @@ public: explicit KCMNetwork(QObject *parent, const KPluginMetaData &data) : KQuickConfigModule(parent, data) { @@ -141,11 +260,24 @@ index f02577a3..479e18df 100644 } CommandOutputContext *outputContext() const { +diff --git a/kcms/opencl/kcm_opencl.json b/kcms/opencl/kcm_opencl.json +index 774dd42e..40e2076a 100644 +--- a/kcms/opencl/kcm_opencl.json ++++ b/kcms/opencl/kcm_opencl.json +@@ -90,7 +90,7 @@ + "Name[zh_CN]": "OpenCL", + "Name[zh_TW]": "OpenCL" + }, +- "TryExec": "clinfo", ++ "TryExec": "@clinfo@", + "X-KDE-KInfoCenter-Category": "graphical_information", + "X-KDE-Keywords": "OpenCL,VideoCard,Hardware Acceleration,Graphics", + "X-KDE-Keywords[ar]": "OpenCL,VideoCard,Hardware Acceleration,Graphics,بطاقة الفيديو,تسريع العتاد,الرسوميات", diff --git a/kcms/opencl/main.cpp b/kcms/opencl/main.cpp index d58728ab..88733d46 100644 --- a/kcms/opencl/main.cpp +++ b/kcms/opencl/main.cpp -@@ -18,7 +18,7 @@ class KCMOpenCL : public KQuickConfigModule +@@ -18,7 +18,7 @@ public: explicit KCMOpenCL(QObject *parent, const KPluginMetaData &data) : KQuickConfigModule(parent, data) { @@ -154,45 +286,6 @@ index d58728ab..88733d46 100644 } CommandOutputContext *outputContext() const { -diff --git a/kcms/vulkan/main.cpp b/kcms/vulkan/main.cpp -index 5665d9d2..008f1bf0 100644 ---- a/kcms/vulkan/main.cpp -+++ b/kcms/vulkan/main.cpp -@@ -16,7 +16,7 @@ class KCMVulkan : public KQuickConfigModule - explicit KCMVulkan(QObject *parent, const KPluginMetaData &data) - : KQuickConfigModule(parent, data) - { -- m_outputContext = new CommandOutputContext(QStringLiteral("vulkaninfo"), {}, parent); -+ m_outputContext = new CommandOutputContext(QStringLiteral("@vulkaninfo@"), {}, parent); - } - CommandOutputContext *outputContext() const - { -diff --git a/kcms/wayland/main.cpp b/kcms/wayland/main.cpp -index 3a4825c7..2c6a6c43 100644 ---- a/kcms/wayland/main.cpp -+++ b/kcms/wayland/main.cpp -@@ -16,7 +16,7 @@ class KCMWayland : public KQuickConfigModule - explicit KCMWayland(QObject *parent, const KPluginMetaData &data) - : KQuickConfigModule(parent, data) - { -- m_outputContext = new CommandOutputContext(QStringLiteral("wayland-info"), {}, parent); -+ m_outputContext = new CommandOutputContext(QStringLiteral("@waylandinfo@"), {}, parent); - } - CommandOutputContext *outputContext() const - { -diff --git a/kcms/xserver/main.cpp b/kcms/xserver/main.cpp -index df9af24a..e5983e22 100644 ---- a/kcms/xserver/main.cpp -+++ b/kcms/xserver/main.cpp -@@ -16,7 +16,7 @@ class KCMXServer : public KQuickConfigModule - explicit KCMXServer(QObject *parent, const KPluginMetaData &data) - : KQuickConfigModule(parent, data) - { -- m_outputContext = new CommandOutputContext(QStringLiteral("xdpyinfo"), {}, parent); -+ m_outputContext = new CommandOutputContext(QStringLiteral("@xdpyinfo@"), {}, parent); - } - CommandOutputContext *outputContext() const - { diff --git a/kcms/pci/CMakeLists.txt b/kcms/pci/CMakeLists.txt index 36d82ef8..16ce2703 100644 --- a/kcms/pci/CMakeLists.txt @@ -200,8 +293,87 @@ index 36d82ef8..16ce2703 100644 @@ -19,7 +19,7 @@ else() find_package(lspci) set_package_properties(lspci PROPERTIES TYPE RUNTIME) - + - set(PCI_BACKEND lspci) + set(PCI_BACKEND @lspci@) set(PCI_BACKEND_ARGUMENTS "-v") endif() + +diff --git a/kcms/vulkan/kcm_vulkan.json b/kcms/vulkan/kcm_vulkan.json +index 78b42cfd..1ec93c91 100644 +--- a/kcms/vulkan/kcm_vulkan.json ++++ b/kcms/vulkan/kcm_vulkan.json +@@ -100,7 +100,7 @@ + "Name[zh_CN]": "Vulkan", + "Name[zh_TW]": "Vulkan" + }, +- "TryExec": "vulkaninfo", ++ "TryExec": "@vulkaninfo@", + "X-KDE-KInfoCenter-Category": "graphical_information", + "X-KDE-Keywords": "Vulkan,VideoCard,Hardware Acceleration,Graphics", + "X-KDE-Keywords[ar]": "Vulkan,VideoCard,Hardware Acceleration,Graphics,فولكان,بطاقة الفيديو,تسريع الأجهزة,الرسومات", +diff --git a/kcms/vulkan/main.cpp b/kcms/vulkan/main.cpp +index 5665d9d2..008f1bf0 100644 +--- a/kcms/vulkan/main.cpp ++++ b/kcms/vulkan/main.cpp +@@ -16,7 +16,7 @@ public: + explicit KCMVulkan(QObject *parent, const KPluginMetaData &data) + : KQuickConfigModule(parent, data) + { +- m_outputContext = new CommandOutputContext(QStringLiteral("vulkaninfo"), {}, parent); ++ m_outputContext = new CommandOutputContext(QStringLiteral("@vulkaninfo@"), {}, parent); + } + CommandOutputContext *outputContext() const + { +diff --git a/kcms/wayland/kcm_wayland.json b/kcms/wayland/kcm_wayland.json +index 9ae953bb..27d98104 100644 +--- a/kcms/wayland/kcm_wayland.json ++++ b/kcms/wayland/kcm_wayland.json +@@ -107,7 +107,7 @@ + "Name[zh_CN]": "Wayland", + "Name[zh_TW]": "Wayland" + }, +- "TryExec": "wayland-info", ++ "TryExec": "@waylandinfo@", + "X-KDE-KInfoCenter-Category": "graphical_information", + "X-KDE-Keywords": "Wayland,Compositor,Display,System Information", + "X-KDE-Keywords[ar]": "ويلاند,مراكب,عرض,معلومات النّظام", +diff --git a/kcms/wayland/main.cpp b/kcms/wayland/main.cpp +index 3a4825c7..4633927b 100644 +--- a/kcms/wayland/main.cpp ++++ b/kcms/wayland/main.cpp +@@ -16,7 +16,7 @@ public: + explicit KCMWayland(QObject *parent, const KPluginMetaData &data) + : KQuickConfigModule(parent, data) + { +- m_outputContext = new CommandOutputContext(QStringLiteral("wayland-info"), {}, parent); ++ m_outputContext = new CommandOutputContext(QStringLiteral("@waylandinfo@"), {}, parent); + } + CommandOutputContext *outputContext() const + { +diff --git a/kcms/xserver/kcm_xserver.json b/kcms/xserver/kcm_xserver.json +index f5642e25..11f108a7 100644 +--- a/kcms/xserver/kcm_xserver.json ++++ b/kcms/xserver/kcm_xserver.json +@@ -147,7 +147,7 @@ + "Name[zh_CN]": "X 服务器", + "Name[zh_TW]": "X 伺服器" + }, +- "TryExec": "xdpyinfo", ++ "TryExec": "@xdpyinfo@", + "X-DocPath": "kinfocenter/graphical.html#xserver", + "X-KDE-KInfoCenter-Category": "graphical_information", + "X-KDE-Keywords": "X,X-Server,XServer,XFree86,Display,VideoCard,System Information", +diff --git a/kcms/xserver/main.cpp b/kcms/xserver/main.cpp +index df9af24a..e5983e22 100644 +--- a/kcms/xserver/main.cpp ++++ b/kcms/xserver/main.cpp +@@ -16,7 +16,7 @@ public: + explicit KCMXServer(QObject *parent, const KPluginMetaData &data) + : KQuickConfigModule(parent, data) + { +- m_outputContext = new CommandOutputContext(QStringLiteral("xdpyinfo"), {}, parent); ++ m_outputContext = new CommandOutputContext(QStringLiteral("@xdpyinfo@"), {}, parent); + } + CommandOutputContext *outputContext() const + { diff --git a/pkgs/kde/plasma/kinfocenter/default.nix b/pkgs/kde/plasma/kinfocenter/default.nix index 8911e77cf452..ed3a1b466cda 100644 --- a/pkgs/kde/plasma/kinfocenter/default.nix +++ b/pkgs/kde/plasma/kinfocenter/default.nix @@ -4,9 +4,11 @@ dmidecode, iproute2, lib, + libdisplay-info, libusb1, mesa-demos, mkKdeDerivation, + pkg-config, pciutils, pulseaudio, qttools, @@ -21,6 +23,7 @@ let tools = { aha = lib.getExe aha; clinfo = lib.getExe clinfo; + di_edid_decode = lib.getExe libdisplay-info; dmidecode = lib.getExe' dmidecode "dmidecode"; eglinfo = lib.getExe' mesa-demos "eglinfo"; glxinfo = lib.getExe' mesa-demos "glxinfo"; @@ -53,6 +56,7 @@ mkKdeDerivation { --replace-fail " aha " " ${lib.getExe aha} " ''; + extraNativeBuildInputs = [ pkg-config ]; extraBuildInputs = [ libusb1 ]; # fix wrong symlink of infocenter pointing to a 'systemsettings5' binary in diff --git a/pkgs/kde/plasma/plasma-desktop/default.nix b/pkgs/kde/plasma/plasma-desktop/default.nix index 53c270cb5905..7933541b4501 100644 --- a/pkgs/kde/plasma/plasma-desktop/default.nix +++ b/pkgs/kde/plasma/plasma-desktop/default.nix @@ -16,6 +16,7 @@ xkeyboard_config, xorg, libcanberra, + libwacom, libxkbfile, ibus, }: @@ -53,6 +54,7 @@ mkKdeDerivation { SDL2 libcanberra + libwacom libxkbfile xkeyboard_config diff --git a/pkgs/kde/plasma/plasma-workspace/default.nix b/pkgs/kde/plasma/plasma-workspace/default.nix index 6225f7c3b77c..2dcff1183cc2 100644 --- a/pkgs/kde/plasma/plasma-workspace/default.nix +++ b/pkgs/kde/plasma/plasma-workspace/default.nix @@ -30,7 +30,6 @@ mkKdeDerivation { qdbus = lib.getExe' qttools "qdbus"; xmessage = lib.getExe xorg.xmessage; xrdb = lib.getExe xorg.xrdb; - xsetroot = lib.getExe xorg.xsetroot; }) ]; @@ -65,7 +64,7 @@ mkKdeDerivation { # Hardcoded as QStrings, which are UTF-16 so Nix can't pick these up automatically postFixup = '' mkdir -p $out/nix-support - echo "${lsof} ${xorg.xmessage} ${xorg.xrdb} ${xorg.xsetroot}" > $out/nix-support/depends + echo "${lsof} ${xorg.xmessage} ${xorg.xrdb}" > $out/nix-support/depends ''; passthru.providedSessions = [ diff --git a/pkgs/kde/plasma/plasma-workspace/dependency-paths.patch b/pkgs/kde/plasma/plasma-workspace/dependency-paths.patch index 561655dde280..b4d46cd869bb 100644 --- a/pkgs/kde/plasma/plasma-workspace/dependency-paths.patch +++ b/pkgs/kde/plasma/plasma-workspace/dependency-paths.patch @@ -1,5 +1,5 @@ diff --git a/applets/devicenotifier/plugin/deviceerrormonitor_p.cpp b/applets/devicenotifier/plugin/deviceerrormonitor_p.cpp -index 8c2bc13a74..7b3cd72363 100644 +index ba214a555d..421d940738 100644 --- a/applets/devicenotifier/plugin/deviceerrormonitor_p.cpp +++ b/applets/devicenotifier/plugin/deviceerrormonitor_p.cpp @@ -155,7 +155,7 @@ void DeviceErrorMonitor::queryBlockingApps(const QString &devicePath) @@ -25,7 +25,7 @@ index e27e21a7bd..abbf7f32e1 100644 p.write(input); p.closeWriteChannel(); diff --git a/kcms/fonts/fonts.cpp b/kcms/fonts/fonts.cpp -index a75f313880..a1e649c1f6 100644 +index 96417c440a..8c9bc2e9ab 100644 --- a/kcms/fonts/fonts.cpp +++ b/kcms/fonts/fonts.cpp @@ -137,7 +137,7 @@ void KFonts::save() @@ -38,7 +38,7 @@ index a75f313880..a1e649c1f6 100644 proc.write("Xft.dpi\n"); proc.closeWriteChannel(); diff --git a/kcms/kfontinst/kcmfontinst/FcQuery.cpp b/kcms/kfontinst/kcmfontinst/FcQuery.cpp -index f5034455c9..8ea57813a1 100644 +index e4d1ad4311..d45bdfad98 100644 --- a/kcms/kfontinst/kcmfontinst/FcQuery.cpp +++ b/kcms/kfontinst/kcmfontinst/FcQuery.cpp @@ -46,7 +46,7 @@ void CFcQuery::run(const QString &query) @@ -51,10 +51,10 @@ index f5034455c9..8ea57813a1 100644 void CFcQuery::procExited() diff --git a/kcms/krdb/krdb.cpp b/kcms/krdb/krdb.cpp -index 39bcb7317d..b0363afde9 100644 +index f3c9956921..09c818739d 100644 --- a/kcms/krdb/krdb.cpp +++ b/kcms/krdb/krdb.cpp -@@ -423,7 +423,7 @@ void runRdb(unsigned int flags) +@@ -425,7 +425,7 @@ void runRdb(unsigned int flags) contents += "Xft.dpi: "_L1 + QString::number(dpi) + u'\n'; else { KProcess queryProc; @@ -63,7 +63,7 @@ index 39bcb7317d..b0363afde9 100644 queryProc.setOutputChannelMode(KProcess::OnlyStdoutChannel); queryProc.start(); if (queryProc.waitForFinished()) { -@@ -443,7 +443,7 @@ void runRdb(unsigned int flags) +@@ -445,7 +445,7 @@ void runRdb(unsigned int flags) } KProcess loadProc; @@ -72,7 +72,7 @@ index 39bcb7317d..b0363afde9 100644 loadProc.start(); if (loadProc.waitForStarted()) { loadProc.write(db); -@@ -461,14 +461,14 @@ void runRdb(unsigned int flags) +@@ -463,9 +463,9 @@ void runRdb(unsigned int flags) KProcess proc; #ifndef NDEBUG @@ -84,12 +84,6 @@ index 39bcb7317d..b0363afde9 100644 #endif proc.execute(); - // Needed for applications that don't set their own cursor. -- QProcess::execute(QStringLiteral("xsetroot"), {QStringLiteral("-cursor_name"), QStringLiteral("left_ptr")}); -+ QProcess::execute(QStringLiteral("@xsetroot@"), {QStringLiteral("-cursor_name"), QStringLiteral("left_ptr")}); - - applyGtkStyles(1); - applyGtkStyles(2); diff --git a/ksmserver/plasma-restoresession.service.in b/ksmserver/plasma-restoresession.service.in index 2c52a4b87d..fd7fdc8ac1 100644 --- a/ksmserver/plasma-restoresession.service.in @@ -135,7 +129,7 @@ index 4d31c6f408..17418b1ff7 100644 } return p; diff --git a/startkde/systemd/plasma-ksplash-ready.service.in b/startkde/systemd/plasma-ksplash-ready.service.in -index 1e903130a9..1d807a8526 100644 +index 1e903130a9..0861c3d136 100644 --- a/startkde/systemd/plasma-ksplash-ready.service.in +++ b/startkde/systemd/plasma-ksplash-ready.service.in @@ -6,5 +6,5 @@ PartOf=graphical-session.target diff --git a/pkgs/kde/plasma/plasma5support/default.nix b/pkgs/kde/plasma/plasma5support/default.nix index f1c0632fdcf3..b5226ca56c4a 100644 --- a/pkgs/kde/plasma/plasma5support/default.nix +++ b/pkgs/kde/plasma/plasma5support/default.nix @@ -1,4 +1,21 @@ -{ mkKdeDerivation }: +{ + mkKdeDerivation, + pkg-config, + kidletime, + networkmanager-qt, + plasma-activities, + gpsd, +}: mkKdeDerivation { pname = "plasma5support"; + + extraNativeBuildInputs = [ pkg-config ]; + + extraBuildInputs = [ + kidletime + networkmanager-qt + plasma-activities + + gpsd + ]; } diff --git a/pkgs/kde/gear/spectacle/default.nix b/pkgs/kde/plasma/spectacle/default.nix similarity index 100% rename from pkgs/kde/gear/spectacle/default.nix rename to pkgs/kde/plasma/spectacle/default.nix