push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "attica";
}

View File

@@ -0,0 +1,18 @@
{
mkKdeDerivation,
qtdeclarative,
lmdb,
}:
mkKdeDerivation {
pname = "baloo";
# kde-systemd-start-condition is not part of baloo
postPatch = ''
substituteInPlace src/file/kde-baloo.service.in --replace-fail @KDE_INSTALL_FULL_BINDIR@/kde-systemd-start-condition /run/current-system/sw/bin/kde-systemd-start-condition
'';
extraBuildInputs = [
qtdeclarative
lmdb
];
}

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
qtdeclarative,
}:
mkKdeDerivation {
pname = "bluez-qt";
extraBuildInputs = [ qtdeclarative ];
}

View File

@@ -0,0 +1,25 @@
{
mkKdeDerivation,
python3,
libxml2,
qtsvg,
}:
mkKdeDerivation {
pname = "breeze-icons";
extraNativeBuildInputs = [
(python3.withPackages (ps: [ ps.lxml ]))
libxml2
];
# This package contains an SVG icon theme and an API forcing its use
extraPropagatedBuildInputs = [
qtsvg
];
# lots of icons, takes forever, does absolutely nothing
dontStrip = true;
# known upstream issue: https://invent.kde.org/frameworks/breeze-icons/-/commit/135e59fb4395c1779a52ab113cc70f7baa53fd5d
dontCheckForBrokenSymlinks = true;
}

View File

@@ -0,0 +1,75 @@
{ callPackage }:
{
attica = callPackage ./attica { };
baloo = callPackage ./baloo { };
bluez-qt = callPackage ./bluez-qt { };
breeze-icons = callPackage ./breeze-icons { };
extra-cmake-modules = callPackage ./extra-cmake-modules { };
frameworkintegration = callPackage ./frameworkintegration { };
kapidox = callPackage ./kapidox { };
karchive = callPackage ./karchive { };
kauth = callPackage ./kauth { };
kbookmarks = callPackage ./kbookmarks { };
kcalendarcore = callPackage ./kcalendarcore { };
kcmutils = callPackage ./kcmutils { };
kcodecs = callPackage ./kcodecs { };
kcolorscheme = callPackage ./kcolorscheme { };
kcompletion = callPackage ./kcompletion { };
kconfig = callPackage ./kconfig { };
kconfigwidgets = callPackage ./kconfigwidgets { };
kcontacts = callPackage ./kcontacts { };
kcoreaddons = callPackage ./kcoreaddons { };
kcrash = callPackage ./kcrash { };
kdav = callPackage ./kdav { };
kdbusaddons = callPackage ./kdbusaddons { };
kdeclarative = callPackage ./kdeclarative { };
kded = callPackage ./kded { };
kdesu = callPackage ./kdesu { };
kdnssd = callPackage ./kdnssd { };
kdoctools = callPackage ./kdoctools { };
kfilemetadata = callPackage ./kfilemetadata { };
kglobalaccel = callPackage ./kglobalaccel { };
kguiaddons = callPackage ./kguiaddons { };
kholidays = callPackage ./kholidays { };
ki18n = callPackage ./ki18n { };
kiconthemes = callPackage ./kiconthemes { };
kidletime = callPackage ./kidletime { };
kimageformats = callPackage ./kimageformats { };
kio = callPackage ./kio { };
kirigami = callPackage ./kirigami { };
kitemmodels = callPackage ./kitemmodels { };
kitemviews = callPackage ./kitemviews { };
kjobwidgets = callPackage ./kjobwidgets { };
knewstuff = callPackage ./knewstuff { };
knotifications = callPackage ./knotifications { };
knotifyconfig = callPackage ./knotifyconfig { };
kpackage = callPackage ./kpackage { };
kparts = callPackage ./kparts { };
kpeople = callPackage ./kpeople { };
kplotting = callPackage ./kplotting { };
kpty = callPackage ./kpty { };
kquickcharts = callPackage ./kquickcharts { };
krunner = callPackage ./krunner { };
kservice = callPackage ./kservice { };
kstatusnotifieritem = callPackage ./kstatusnotifieritem { };
ksvg = callPackage ./ksvg { };
ktexteditor = callPackage ./ktexteditor { };
ktexttemplate = callPackage ./ktexttemplate { };
ktextwidgets = callPackage ./ktextwidgets { };
kunitconversion = callPackage ./kunitconversion { };
kuserfeedback = callPackage ./kuserfeedback { };
kwallet = callPackage ./kwallet { };
kwidgetsaddons = callPackage ./kwidgetsaddons { };
kwindowsystem = callPackage ./kwindowsystem { };
kxmlgui = callPackage ./kxmlgui { };
modemmanager-qt = callPackage ./modemmanager-qt { };
networkmanager-qt = callPackage ./networkmanager-qt { };
prison = callPackage ./prison { };
purpose = callPackage ./purpose { };
qqc2-desktop-style = callPackage ./qqc2-desktop-style { };
solid = callPackage ./solid { };
sonnet = callPackage ./sonnet { };
syndication = callPackage ./syndication { };
syntax-highlighting = callPackage ./syntax-highlighting { };
threadweaver = callPackage ./threadweaver { };
}

View File

@@ -0,0 +1,17 @@
{
mkKdeDerivation,
python3,
}:
mkKdeDerivation {
pname = "extra-cmake-modules";
outputs = [ "out" ];
# Packages that have an Android APK (e.g. KWeather) require Python3 at build time.
# See: https://invent.kde.org/frameworks/extra-cmake-modules/-/blob/v6.1.0/modules/ECMAddAndroidApk.cmake?ref_type=tags#L57
propagatedNativeBuildInputs = [
python3
];
setupHook = ./ecm-hook.sh;
}

View File

@@ -0,0 +1,108 @@
# shellcheck shell=bash
# Variables we use here are set by the stdenv, no use complaining about them
# shellcheck disable=SC2164
ecmEnvHook() {
addToSearchPath XDG_DATA_DIRS "$1/share"
addToSearchPath XDG_CONFIG_DIRS "$1/etc/xdg"
}
addEnvHooks "$hostOffset" ecmEnvHook
ecmPostHook() {
# Because we need to use absolute paths here, we must set *all* the paths.
# Keep this in sync with https://github.com/KDE/extra-cmake-modules/blob/master/kde-modules/KDEInstallDirs6.cmake
if [ "$(uname)" = "Darwin" ]; then
appendToVar cmakeFlags "-DKDE_INSTALL_BUNDLEDIR=${!outputBin}/Applications/KDE"
fi
appendToVar cmakeFlags "-DKDE_INSTALL_EXECROOTDIR=${!outputBin}"
appendToVar cmakeFlags "-DKDE_INSTALL_BINDIR=${!outputBin}/bin"
appendToVar cmakeFlags "-DKDE_INSTALL_SBINDIR=${!outputBin}/sbin"
appendToVar cmakeFlags "-DKDE_INSTALL_LIBDIR=${!outputLib}/lib"
appendToVar cmakeFlags "-DKDE_INSTALL_LIBEXECDIR=${!outputLib}/libexec"
appendToVar cmakeFlags "-DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake"
if [ -n "${qtPluginPrefix-}" ]; then
appendToVar cmakeFlags "-DKDE_INSTALL_QTPLUGINDIR=${!outputBin}/$qtPluginPrefix"
appendToVar cmakeFlags "-DKDE_INSTALL_PLUGINDIR=${!outputBin}/$qtPluginPrefix"
fi
if [ -n "${qtQmlPrefix-}" ]; then
appendToVar cmakeFlags "-DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix"
fi
appendToVar cmakeFlags "-DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include"
appendToVar cmakeFlags "-DKDE_INSTALL_LOCALSTATEDIR=/var"
appendToVar cmakeFlags "-DKDE_INSTALL_SHAREDSTATEDIR=/com" # ???
appendToVar cmakeFlags "-DKDE_INSTALL_DATAROOTDIR=${!outputBin}/share"
appendToVar cmakeFlags "-DKDE_INSTALL_DATADIR=${!outputBin}/share"
appendToVar cmakeFlags "-DKDE_INSTALL_DOCBUNDLEDIR=${!outputBin}/share/doc/HTML"
appendToVar cmakeFlags "-DKDE_INSTALL_KCFGDIR=${!outputBin}/share/config.kcfg"
appendToVar cmakeFlags "-DKDE_INSTALL_KCONFUPDATEDIR=${!outputBin}/share/kconf_update"
appendToVar cmakeFlags "-DKDE_INSTALL_KAPPTEMPLATESDIR=${!outputDev}/share/kdevappwizard/templates"
appendToVar cmakeFlags "-DKDE_INSTALL_KFILETEMPLATESDIR=${!outputDev}/share/kdevfiletemplates/templates"
appendToVar cmakeFlags "-DKDE_INSTALL_KXMLGUIDIR=${!outputBin}/share/kxmlgui5" # Yes, this needs to be 5 and not 6. Don't ask.
appendToVar cmakeFlags "-DKDE_INSTALL_KNOTIFYRCDIR=${!outputBin}/share/knotifications6"
appendToVar cmakeFlags "-DKDE_INSTALL_ICONDIR=${!outputBin}/share/icons"
appendToVar cmakeFlags "-DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale"
appendToVar cmakeFlags "-DKDE_INSTALL_SOUNDDIR=${!outputBin}/share/sounds"
appendToVar cmakeFlags "-DKDE_INSTALL_TEMPLATEDIR=${!outputBin}/share/templates"
appendToVar cmakeFlags "-DKDE_INSTALL_WALLPAPERDIR=${!outputBin}/share/wallpapers"
appendToVar cmakeFlags "-DKDE_INSTALL_APPDIR=${!outputBin}/share/applications"
appendToVar cmakeFlags "-DKDE_INSTALL_DESKTOPDIR=${!outputBin}/share/desktop-directories"
appendToVar cmakeFlags "-DKDE_INSTALL_MIMEDIR=${!outputBin}/share/mime/packages"
appendToVar cmakeFlags "-DKDE_INSTALL_METAINFODIR=${!outputBin}/share/metainfo"
appendToVar cmakeFlags "-DKDE_INSTALL_QTQCHDIR=${!outputLib}/share/doc/qch"
appendToVar cmakeFlags "-DKDE_INSTALL_QCHDIR=${!outputLib}/share/doc/qch"
appendToVar cmakeFlags "-DKDE_INSTALL_MANDIR=${!outputBin}/share/man"
appendToVar cmakeFlags "-DKDE_INSTALL_INFODIR=${!outputBin}/share/info"
appendToVar cmakeFlags "-DKDE_INSTALL_DBUSDIR=${!outputBin}/share/dbus-1"
appendToVar cmakeFlags "-DKDE_INSTALL_DBUSINTERFACEDIR=${!outputBin}/share/dbus-1/interfaces"
appendToVar cmakeFlags "-DKDE_INSTALL_DBUSSERVICEDIR=${!outputBin}/share/dbus-1/services"
appendToVar cmakeFlags "-DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputBin}/share/dbus-1/system-services"
appendToVar cmakeFlags "-DKDE_INSTALL_SYSCONFDIR=${!outputBin}/etc"
appendToVar cmakeFlags "-DKDE_INSTALL_CONFDIR=${!outputBin}/etc/xdg"
appendToVar cmakeFlags "-DKDE_INSTALL_AUTOSTARTDIR=${!outputBin}/etc/xdg/autostart"
appendToVar cmakeFlags "-DKDE_INSTALL_LOGGINGCATEGORIESDIR=${!outputLib}/share/qlogging-categories6"
appendToVar cmakeFlags "-DKDE_INSTALL_SYSTEMDUNITDIR=${!outputBin}/lib/systemd"
appendToVar cmakeFlags "-DKDE_INSTALL_SYSTEMDUSERUNITDIR=${!outputBin}/share/systemd/user"
}
postHooks+=(ecmPostHook)
xdgDataSubdirs=("config.kcfg" "kconf_update" "knotifications6" "icons" "locale" "mime")
# ecmHostPathsSeen is an associative array of the paths that have already been
# seen by ecmHostPathHook.
declare -gA ecmHostPathsSeen
ecmHostPathIsNotSeen() {
if [[ -n "${ecmHostPathsSeen["$1"]:-}" ]]; then
# The path has been seen before.
return 1
else
# The path has not been seen before.
# Now it is seen, so record it.
ecmHostPathsSeen["$1"]=1
return 0
fi
}
ecmHostPathHook() {
ecmHostPathIsNotSeen "$1" || return 0
local xdgConfigDir="$1/etc/xdg"
if [ -d "$xdgConfigDir" ]
then
qtWrapperArgs+=(--prefix XDG_CONFIG_DIRS : "$xdgConfigDir")
fi
for xdgDataSubdir in "${xdgDataSubdirs[@]}"
do
if [ -d "$1/share/$xdgDataSubdir" ]
then
qtWrapperArgs+=(--prefix XDG_DATA_DIRS : "$1/share")
break
fi
done
}
addEnvHooks "$hostOffset" ecmHostPathHook

View File

@@ -0,0 +1,11 @@
{
mkKdeDerivation,
pkg-config,
packagekit-qt,
}:
mkKdeDerivation {
pname = "frameworkintegration";
extraNativeBuildInputs = [ pkg-config ];
extraBuildInputs = [ packagekit-qt ];
}

View File

@@ -0,0 +1,7 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kapidox";
# doesn't actually install anything - good thing it's unused
meta.broken = true;
}

View File

@@ -0,0 +1,15 @@
{
mkKdeDerivation,
qttools,
pkg-config,
xz,
}:
mkKdeDerivation {
pname = "karchive";
extraNativeBuildInputs = [
qttools
pkg-config
];
extraBuildInputs = [ xz ];
}

View File

@@ -0,0 +1,13 @@
{
mkKdeDerivation,
qttools,
}:
mkKdeDerivation {
pname = "kauth";
# Late resolve paths so things end up in their own prefix
# FIXME(later): discuss with upstream
patches = [ ./fix-paths.patch ];
extraNativeBuildInputs = [ qttools ];
}

View File

@@ -0,0 +1,17 @@
diff --git a/KF6AuthConfig.cmake.in b/KF6AuthConfig.cmake.in
index 4ee3f92..65a40d5 100644
--- a/KF6AuthConfig.cmake.in
+++ b/KF6AuthConfig.cmake.in
@@ -4,9 +4,9 @@ set(KAUTH_STUB_FILES_DIR "@PACKAGE_KDE_INSTALL_DATADIR_KF@/kauth/")
set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@")
set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@")
-set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@")
-set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@")
-set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@")
+set(KAUTH_POLICY_FILES_INSTALL_DIR "${KDE_INSTALL_DATADIR}/polkit-1/actions")
+set(KAUTH_HELPER_INSTALL_DIR "${KDE_INSTALL_LIBEXECDIR}")
+set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "${KDE_INSTALL_LIBEXECDIR}")
include(CMakeFindDependencyMacro)

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
qttools,
}:
mkKdeDerivation {
pname = "kbookmarks";
extraNativeBuildInputs = [ qttools ];
}

View File

@@ -0,0 +1,13 @@
{
mkKdeDerivation,
qtdeclarative,
libical,
}:
mkKdeDerivation {
pname = "kcalendarcore";
extraBuildInputs = [
qtdeclarative
libical
];
}

View File

@@ -0,0 +1,10 @@
{
mkKdeDerivation,
qtdeclarative,
}:
mkKdeDerivation {
pname = "kcmutils";
extraPropagatedBuildInputs = [ qtdeclarative ];
meta.mainProgram = "kcmshell6";
}

View File

@@ -0,0 +1,13 @@
{
mkKdeDerivation,
qttools,
gperf,
}:
mkKdeDerivation {
pname = "kcodecs";
extraNativeBuildInputs = [
qttools
gperf
];
}

View File

@@ -0,0 +1,4 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kcolorscheme";
}

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
qttools,
}:
mkKdeDerivation {
pname = "kcompletion";
extraNativeBuildInputs = [ qttools ];
}

View File

@@ -0,0 +1,11 @@
{
mkKdeDerivation,
qttools,
qtdeclarative,
}:
mkKdeDerivation {
pname = "kconfig";
extraNativeBuildInputs = [ qttools ];
extraPropagatedBuildInputs = [ qtdeclarative ];
}

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
qttools,
}:
mkKdeDerivation {
pname = "kconfigwidgets";
extraBuildInputs = [ qttools ];
}

View File

@@ -0,0 +1,4 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kcontacts";
}

View File

@@ -0,0 +1,17 @@
{
mkKdeDerivation,
qttools,
shared-mime-info,
qtdeclarative,
}:
mkKdeDerivation {
pname = "kcoreaddons";
hasPythonBindings = true;
extraNativeBuildInputs = [
qttools
shared-mime-info
];
extraBuildInputs = [ qtdeclarative ];
}

View File

@@ -0,0 +1,4 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kcrash";
}

View File

@@ -0,0 +1,4 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kdav";
}

View File

@@ -0,0 +1,10 @@
{
mkKdeDerivation,
qttools,
}:
mkKdeDerivation {
pname = "kdbusaddons";
extraNativeBuildInputs = [ qttools ];
meta.mainProgram = "kquitapp6";
}

View File

@@ -0,0 +1,11 @@
{
mkKdeDerivation,
qtdeclarative,
spirv-tools,
}:
mkKdeDerivation {
pname = "kdeclarative";
extraNativeBuildInputs = [ spirv-tools ];
extraBuildInputs = [ qtdeclarative ];
}

View File

@@ -0,0 +1,5 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kded";
meta.mainProgram = "kded6";
}

View File

@@ -0,0 +1,7 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kdesu";
# Look for NixOS SUID wrapper first
patches = [ ./kdesu-search-for-wrapped-daemon-first.patch ];
}

View File

@@ -0,0 +1,38 @@
From 01af4d2a098e5819c09bca37568941dcd4b89d0b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Thu, 16 Jul 2020 13:21:42 -0300
Subject: [PATCH] Search for the daemon first in /run/wrappers/bin
If looking first in libexec, the eventually wrapped one in
/run/wrappers/bin can not be found.
---
src/client.cpp | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/client.cpp b/src/client.cpp
index 44fbacd..6b5abf5 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -384,11 +384,14 @@ int KDEsuClient::stopServer()
static QString findDaemon()
{
- QString daemon = QFile::decodeName(KDE_INSTALL_FULL_LIBEXECDIR_KF "/kdesud");
- if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
- daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
- if (daemon.isEmpty()) {
- qCWarning(KSU_LOG) << "kdesud daemon not found.";
+ QString daemon = QFile::decodeName("/run/wrappers/bin/kdesud");
+ if (!QFile::exists(daemon)) { // if not in wrappers
+ daemon = QFile::decodeName(KDE_INSTALL_FULL_LIBEXECDIR_KF "/kdesud");
+ if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
+ daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
+ if (daemon.isEmpty()) {
+ qCWarning(KSU_LOG) << "kdesud daemon not found.";
+ }
}
}
return daemon;
--
2.27.0

View File

@@ -0,0 +1,11 @@
{
mkKdeDerivation,
qttools,
avahi,
}:
mkKdeDerivation {
pname = "kdnssd";
extraNativeBuildInputs = [ qttools ];
extraBuildInputs = [ avahi ];
}

View File

@@ -0,0 +1,26 @@
{
mkKdeDerivation,
docbook_xml_dtd_45,
docbook-xsl-nons,
perl,
perlPackages,
libxml2,
}:
mkKdeDerivation {
pname = "kdoctools";
# Perl could be used both at build time and at runtime.
extraNativeBuildInputs = [
perl
perlPackages.URI
libxml2
];
extraBuildInputs = [
docbook_xml_dtd_45
docbook-xsl-nons
];
extraPropagatedBuildInputs = [
perl
perlPackages.URI
];
}

View File

@@ -0,0 +1,14 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 84cc68c..2e02194 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -85,7 +85,7 @@ install(TARGETS KF6FileMetaData EXPORT KF6FileMetaDataTargets ${KF_INSTALL_TARGE
install(EXPORT KF6FileMetaDataTargets
NAMESPACE KF6::
- DESTINATION ${KDE_INSTALL_LIBDIR}/cmake/KF6FileMetaData
+ DESTINATION ${KDE_INSTALL_FULL_CMAKEPACKAGEDIR}/KF6FileMetaData
FILE KF6FileMetaDataTargets.cmake)
install(FILES

View File

@@ -0,0 +1,29 @@
{
mkKdeDerivation,
pkg-config,
attr,
ebook_tools,
exiv2,
ffmpeg,
kconfig,
kdegraphics-mobipocket,
libappimage,
}:
mkKdeDerivation {
pname = "kfilemetadata";
# Fix installing cmake files into wrong directory
# FIXME(later): upstream
patches = [ ./cmake-install-paths.patch ];
extraNativeBuildInputs = [ pkg-config ];
extraBuildInputs = [
attr
ebook_tools
exiv2
ffmpeg
kconfig
kdegraphics-mobipocket
libappimage
];
}

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
qttools,
}:
mkKdeDerivation {
pname = "kglobalaccel";
extraNativeBuildInputs = [ qttools ];
}

View File

@@ -0,0 +1,14 @@
{
mkKdeDerivation,
qtwayland,
pkg-config,
}:
mkKdeDerivation {
pname = "kguiaddons";
hasPythonBindings = true;
extraNativeBuildInputs = [ pkg-config ];
extraBuildInputs = [ qtwayland ];
meta.mainProgram = "kde-geo-uri-handler";
}

View File

@@ -0,0 +1,11 @@
{
mkKdeDerivation,
qttools,
qtdeclarative,
}:
mkKdeDerivation {
pname = "kholidays";
extraNativeBuildInputs = [ qttools ];
extraBuildInputs = [ qtdeclarative ];
}

View File

@@ -0,0 +1,13 @@
{
mkKdeDerivation,
qtdeclarative,
python3,
gettext,
}:
mkKdeDerivation {
pname = "ki18n";
extraNativeBuildInputs = [ python3 ];
propagatedNativeBuildInputs = [ gettext ];
extraBuildInputs = [ qtdeclarative ];
}

View File

@@ -0,0 +1,16 @@
{
mkKdeDerivation,
qtdeclarative,
qtsvg,
qttools,
}:
mkKdeDerivation {
pname = "kiconthemes";
extraBuildInputs = [
qtdeclarative
qtsvg
qttools
];
meta.mainProgram = "kiconfinder6";
}

View File

@@ -0,0 +1,15 @@
{
mkKdeDerivation,
qtwayland,
pkg-config,
xorg,
}:
mkKdeDerivation {
pname = "kidletime";
extraNativeBuildInputs = [ pkg-config ];
extraBuildInputs = [
qtwayland
xorg.libXScrnSaver
];
}

View File

@@ -0,0 +1,22 @@
{
mkKdeDerivation,
pkg-config,
libheif,
libjxl,
libavif,
libraw,
openexr,
}:
mkKdeDerivation {
pname = "kimageformats";
extraCmakeFlags = [ "-DKIMAGEFORMATS_HEIF=1" ];
extraNativeBuildInputs = [ pkg-config ];
extraBuildInputs = [
libheif
libjxl
libavif
libraw
openexr
];
}

View File

@@ -0,0 +1,20 @@
diff --git a/src/core/worker.cpp b/src/core/worker.cpp
index da423731c..443c8db19 100644
--- a/src/core/worker.cpp
+++ b/src/core/worker.cpp
@@ -343,13 +343,13 @@ Worker *Worker::createWorker(const QString &protocol, const QUrl &url, int &erro
return nullptr;
}
- if (protocol == QLatin1String("admin") && !lib_path.startsWith(QLatin1String{KDE_INSTALL_FULL_KIO_PLUGINDIR})) {
+ if (protocol == QLatin1String("admin") && !lib_path.startsWith(QLatin1String("/nix/store"))) {
error_text = i18nc("@info %2 and %3 are paths",
"The KIO worker for protocol “%1” in %2 was not loaded because all KIO workers which are located outside of %3 and ask for elevated "
"privileges are considered insecure.",
protocol,
lib_path,
- QLatin1String{KDE_INSTALL_FULL_KIO_PLUGINDIR});
+ QLatin1String("/nix/store"));
error = KIO::ERR_CANNOT_CREATE_WORKER;
return nullptr;
}

View File

@@ -0,0 +1,22 @@
{
mkKdeDerivation,
qt5compat,
qttools,
acl,
attr,
}:
mkKdeDerivation {
pname = "kio";
patches = [
# Allow loading kio-admin from the store
./allow-admin-from-store.patch
];
extraBuildInputs = [
qt5compat
qttools
acl
attr
];
}

View File

@@ -0,0 +1,43 @@
{
stdenv,
mkKdeDerivation,
qtsvg,
qttools,
qtdeclarative,
qt5compat,
qqc2-desktop-style,
}:
# Kirigami has a runtime dependency on qqc2-desktop-style,
# which has a build time dependency on Kirigami.
# So, build qqc2-desktop-style against unwrapped Kirigami,
# and replace all the other Kirigami with a wrapper that
# propagates both Kirigami and qqc2-desktop-style.
# This is a hack, but what can you do.
let
unwrapped = mkKdeDerivation {
pname = "kirigami";
extraNativeBuildInputs = [
qtsvg
qttools
];
extraBuildInputs = [ qtdeclarative ];
extraPropagatedBuildInputs = [ qt5compat ];
};
in
stdenv.mkDerivation {
pname = "kirigami-wrapped";
inherit (unwrapped) version;
propagatedBuildInputs = [
unwrapped
qqc2-desktop-style
];
dontUnpack = true;
dontWrapQtApps = true;
passthru = {
inherit unwrapped;
};
}

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
qtdeclarative,
}:
mkKdeDerivation {
pname = "kitemmodels";
extraBuildInputs = [ qtdeclarative ];
}

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
qttools,
}:
mkKdeDerivation {
pname = "kitemviews";
extraNativeBuildInputs = [ qttools ];
}

View File

@@ -0,0 +1,13 @@
{
mkKdeDerivation,
qttools,
}:
mkKdeDerivation {
pname = "kjobwidgets";
extraNativeBuildInputs = [ qttools ];
# FIXME: depends on kcoreaddons typesystem info, we need
# a Shiboken wrapper to propagate this properly.
extraCmakeFlags = [ "-DBUILD_PYTHON_BINDINGS=OFF" ];
}

View File

@@ -0,0 +1,20 @@
{
mkKdeDerivation,
qtdeclarative,
qttools,
kcmutils,
}:
mkKdeDerivation {
pname = "knewstuff";
# Late resolve knsrcdir so other things install to their own prefix
# FIXME(later): upstream
patches = [ ./delay-resolving-knsrcdir.patch ];
extraBuildInputs = [
qtdeclarative
qttools
];
extraPropagatedBuildInputs = [ kcmutils ];
meta.mainProgram = "knewstuff-dialog6";
}

View File

@@ -0,0 +1,14 @@
diff --git a/KF6NewStuffCoreConfig.cmake.in b/KF6NewStuffCoreConfig.cmake.in
index d70f7132..f75e9fce 100644
--- a/KF6NewStuffCoreConfig.cmake.in
+++ b/KF6NewStuffCoreConfig.cmake.in
@@ -20,7 +20,7 @@ if (NOT @BUILD_SHARED_LIBS@)
endif()
endif()
-set(KDE_INSTALL_KNSRCDIR "@KDE_INSTALL_DATADIR@/knsrcfiles")
+set(KDE_INSTALL_KNSRCDIR "${KDE_INSTALL_DATADIR}/knsrcfiles")
include("${CMAKE_CURRENT_LIST_DIR}/KF6NewStuffCoreTargets.cmake")
@PACKAGE_INCLUDE_CORE_QCHTARGETS@

View File

@@ -0,0 +1,17 @@
{
mkKdeDerivation,
qttools,
qtdeclarative,
libcanberra,
}:
mkKdeDerivation {
pname = "knotifications";
hasPythonBindings = true;
extraNativeBuildInputs = [ qttools ];
extraBuildInputs = [
qtdeclarative
libcanberra
];
}

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
libcanberra,
}:
mkKdeDerivation {
pname = "knotifyconfig";
extraBuildInputs = [ libcanberra ];
}

View File

@@ -0,0 +1,6 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kpackage";
meta.mainProgram = "kpackagetool6";
}

View File

@@ -0,0 +1,4 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kparts";
}

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
qtdeclarative,
}:
mkKdeDerivation {
pname = "kpeople";
extraBuildInputs = [ qtdeclarative ];
}

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
qttools,
}:
mkKdeDerivation {
pname = "kplotting";
extraBuildInputs = [ qttools ];
}

View File

@@ -0,0 +1,4 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kpty";
}

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
qtdeclarative,
}:
mkKdeDerivation {
pname = "kquickcharts";
extraBuildInputs = [ qtdeclarative ];
}

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
plasma-activities,
}:
mkKdeDerivation {
pname = "krunner";
extraBuildInputs = [ plasma-activities ];
}

View File

@@ -0,0 +1,11 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kservice";
# FIXME(later): the whole sycoca situation is very bad
patches = [
# explode less when sycoca is deleted
./handle-sycoca-deletion.patch
];
meta.mainProgram = "kbuildsycoca6";
}

View File

@@ -0,0 +1,14 @@
diff --git a/src/sycoca/ksycoca.cpp b/src/sycoca/ksycoca.cpp
index 981342e6..5940f65f 100644
--- a/src/sycoca/ksycoca.cpp
+++ b/src/sycoca/ksycoca.cpp
@@ -218,6 +218,10 @@ KSycoca::KSycoca()
connect(d->m_fileWatcher.get(), &KDirWatch::dirty, this, [this]() {
d->slotDatabaseChanged();
});
+ // NIXPKGS: we sometimes delete sycoca externally
+ connect(d->m_fileWatcher.get(), &KDirWatch::deleted, this, [this]() {
+ d->slotDatabaseChanged();
+ });
}
}

View File

@@ -0,0 +1,11 @@
{
mkKdeDerivation,
qttools,
}:
mkKdeDerivation {
pname = "kstatusnotifieritem";
hasPythonBindings = true;
extraNativeBuildInputs = [ qttools ];
}

View File

@@ -0,0 +1,13 @@
{
mkKdeDerivation,
qtdeclarative,
qtsvg,
}:
mkKdeDerivation {
pname = "ksvg";
extraBuildInputs = [
qtdeclarative
qtsvg
];
}

View File

@@ -0,0 +1,15 @@
{
mkKdeDerivation,
qtdeclarative,
qtspeech,
editorconfig-core-c,
}:
mkKdeDerivation {
pname = "ktexteditor";
extraBuildInputs = [
qtdeclarative
qtspeech
editorconfig-core-c
];
}

View File

@@ -0,0 +1,9 @@
{
mkKdeDerivation,
qtdeclarative,
}:
mkKdeDerivation {
pname = "ktexttemplate";
extraBuildInputs = [ qtdeclarative ];
}

View File

@@ -0,0 +1,13 @@
{
mkKdeDerivation,
qtspeech,
qttools,
}:
mkKdeDerivation {
pname = "ktextwidgets";
extraBuildInputs = [
qtspeech
qttools
];
}

View File

@@ -0,0 +1,6 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "kunitconversion";
hasPythonBindings = true;
}

View File

@@ -0,0 +1,18 @@
{
mkKdeDerivation,
qttools,
qtsvg,
}:
mkKdeDerivation {
pname = "kuserfeedback";
# Disable server-side stuff we don't care about
extraCmakeFlags = [
"-DENABLE_CONSOLE=0"
"-DENABLE_CLI=0"
];
extraNativeBuildInputs = [
qttools
qtsvg
];
}

View File

@@ -0,0 +1,20 @@
{
mkKdeDerivation,
pkg-config,
libgcrypt,
libsecret,
kdoctools,
}:
mkKdeDerivation {
pname = "kwallet";
extraNativeBuildInputs = [
pkg-config
];
extraBuildInputs = [
libgcrypt
libsecret
kdoctools
];
}

View File

@@ -0,0 +1,11 @@
{
mkKdeDerivation,
qttools,
}:
mkKdeDerivation {
pname = "kwidgetsaddons";
hasPythonBindings = true;
extraNativeBuildInputs = [ qttools ];
}

View File

@@ -0,0 +1,19 @@
{
mkKdeDerivation,
qttools,
qtdeclarative,
qtwayland,
pkg-config,
}:
mkKdeDerivation {
pname = "kwindowsystem";
extraNativeBuildInputs = [
qttools
pkg-config
];
extraBuildInputs = [
qtdeclarative
qtwayland
];
}

View File

@@ -0,0 +1,11 @@
{
mkKdeDerivation,
qttools,
}:
mkKdeDerivation {
pname = "kxmlgui";
hasPythonBindings = true;
extraBuildInputs = [ qttools ];
}

View File

@@ -0,0 +1,11 @@
{
mkKdeDerivation,
pkg-config,
modemmanager,
}:
mkKdeDerivation {
pname = "modemmanager-qt";
extraNativeBuildInputs = [ pkg-config ];
extraPropagatedBuildInputs = [ modemmanager ];
}

View File

@@ -0,0 +1,13 @@
{
mkKdeDerivation,
qtdeclarative,
pkg-config,
networkmanager,
}:
mkKdeDerivation {
pname = "networkmanager-qt";
extraNativeBuildInputs = [ pkg-config ];
extraBuildInputs = [ qtdeclarative ];
extraPropagatedBuildInputs = [ networkmanager ];
}

View File

@@ -0,0 +1,17 @@
{
mkKdeDerivation,
qtdeclarative,
qtmultimedia,
qrencode,
libdmtx,
}:
mkKdeDerivation {
pname = "prison";
extraBuildInputs = [
qtdeclarative
qtmultimedia
qrencode
libdmtx
];
}

View File

@@ -0,0 +1,17 @@
{
mkKdeDerivation,
qtdeclarative,
kaccounts-integration,
kdeclarative,
prison,
}:
mkKdeDerivation {
pname = "purpose";
extraBuildInputs = [ qtdeclarative ];
extraPropagatedBuildInputs = [
kaccounts-integration
kdeclarative
prison
];
}

View File

@@ -0,0 +1,17 @@
{
mkKdeDerivation,
qtdeclarative,
qttools,
kirigami,
}:
mkKdeDerivation {
pname = "qqc2-desktop-style";
extraNativeBuildInputs = [ qttools ];
extraBuildInputs = [
qtdeclarative
kirigami.unwrapped
];
excludeDependencies = [ "kirigami" ];
}

View File

@@ -0,0 +1,18 @@
{
mkKdeDerivation,
qttools,
bison,
flex,
libimobiledevice,
}:
mkKdeDerivation {
pname = "solid";
extraNativeBuildInputs = [
qttools
bison
flex
];
extraBuildInputs = [ libimobiledevice ];
meta.mainProgram = "solid-hardware6";
}

View File

@@ -0,0 +1,22 @@
{
mkKdeDerivation,
qtdeclarative,
qttools,
pkg-config,
aspell,
hunspell,
}:
mkKdeDerivation {
pname = "sonnet";
extraNativeBuildInputs = [
qttools
pkg-config
];
extraBuildInputs = [
qtdeclarative
aspell
hunspell
];
meta.mainProgram = "parsetrigrams6";
}

View File

@@ -0,0 +1,4 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "syndication";
}

View File

@@ -0,0 +1,16 @@
{
mkKdeDerivation,
qtdeclarative,
qttools,
perl,
}:
mkKdeDerivation {
pname = "syntax-highlighting";
extraBuildInputs = [ qtdeclarative ];
extraNativeBuildInputs = [
qttools
perl
];
meta.mainProgram = "ksyntaxhighlighter6";
}

View File

@@ -0,0 +1,4 @@
{ mkKdeDerivation }:
mkKdeDerivation {
pname = "threadweaver";
}