Merge branch 'kde-frameworks-qt55'

This commit is contained in:
Thomas Tuegel
2016-07-28 19:14:37 -05:00
126 changed files with 366 additions and 151 deletions

View File

@@ -0,0 +1,11 @@
{ kdeFramework, lib
, extra-cmake-modules
}:
kdeFramework {
name = "attica";
nativeBuildInputs = [ extra-cmake-modules ];
meta = {
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,16 @@
{ kdeFramework, lib, extra-cmake-modules, kauth, kconfig
, kcoreaddons, kcrash, kdbusaddons, kfilemetadata, ki18n, kidletime
, kio, lmdb, qtbase, solid
}:
kdeFramework {
name = "baloo";
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
kauth kconfig kcoreaddons kcrash kdbusaddons kfilemetadata ki18n kio
kidletime lmdb qtbase solid
];
meta = {
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,17 @@
{ kdeFramework, lib
, extra-cmake-modules
, qtdeclarative
}:
kdeFramework {
name = "bluez-qt";
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ qtdeclarative ];
preConfigure = ''
substituteInPlace CMakeLists.txt \
--replace /lib/udev/rules.d "$out/lib/udev/rules.d"
'';
meta = {
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,12 @@
{ kdeFramework
, extra-cmake-modules
, qtsvg
}:
kdeFramework {
name = "breeze-icons";
outputs = [ "out" ];
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ qtsvg ];
propagatedUserEnvPkgs = [ qtsvg.out ];
}

View File

@@ -0,0 +1,119 @@
/*
# Updates
1. Update the URL in `maintainers/scripts/generate-kde-frameworks.sh` and
run that script from the top of the Nixpkgs tree.
2. Check that the new packages build correctly.
3. Commit the changes and open a pull request.
*/
{ pkgs, debug ? false }:
let
inherit (pkgs) lib makeSetupHook stdenv;
mirror = "mirror://kde";
srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; };
packages = self: with self; {
kdeFramework = args:
let
inherit (args) name;
inherit (srcs."${name}") src version;
in stdenv.mkDerivation (args // {
name = "${name}-${version}";
inherit src;
outputs = args.outputs or [ "dev" "out" ];
cmakeFlags =
(args.cmakeFlags or [])
++ [ "-DBUILD_TESTING=OFF" ]
++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug";
meta = {
license = with lib.licenses; [
lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12
];
platforms = lib.platforms.linux;
homepage = "http://www.kde.org";
} // (args.meta or {});
});
attica = callPackage ./attica.nix {};
baloo = callPackage ./baloo.nix {};
bluez-qt = callPackage ./bluez-qt.nix {};
breeze-icons = callPackage ./breeze-icons.nix {};
extra-cmake-modules = callPackage ./extra-cmake-modules {};
frameworkintegration = callPackage ./frameworkintegration.nix {};
kactivities = callPackage ./kactivities.nix {};
kactivities-stats = callPackage ./kactivities-stats.nix {};
kapidox = callPackage ./kapidox.nix {};
karchive = callPackage ./karchive.nix {};
kauth = callPackage ./kauth {};
kbookmarks = callPackage ./kbookmarks.nix {};
kcmutils = callPackage ./kcmutils {};
kcodecs = callPackage ./kcodecs.nix {};
kcompletion = callPackage ./kcompletion.nix {};
kconfig = callPackage ./kconfig.nix {};
kconfigwidgets = callPackage ./kconfigwidgets {};
kcoreaddons = callPackage ./kcoreaddons.nix {};
kcrash = callPackage ./kcrash.nix {};
kdbusaddons = callPackage ./kdbusaddons.nix {};
kdeclarative = callPackage ./kdeclarative.nix {};
kded = callPackage ./kded.nix {};
kdelibs4support = callPackage ./kdelibs4support {};
kdesignerplugin = callPackage ./kdesignerplugin.nix {};
kdesu = callPackage ./kdesu.nix {};
kdnssd = callPackage ./kdnssd.nix {};
kdoctools = callPackage ./kdoctools {};
kemoticons = callPackage ./kemoticons.nix {};
kfilemetadata = callPackage ./kfilemetadata {};
kglobalaccel = callPackage ./kglobalaccel.nix {};
kguiaddons = callPackage ./kguiaddons.nix {};
khtml = callPackage ./khtml.nix {};
ki18n = callPackage ./ki18n.nix {};
kiconthemes = callPackage ./kiconthemes {};
kidletime = callPackage ./kidletime.nix {};
kimageformats = callPackage ./kimageformats.nix {};
kinit = callPackage ./kinit {};
kio = callPackage ./kio {};
kitemmodels = callPackage ./kitemmodels.nix {};
kitemviews = callPackage ./kitemviews.nix {};
kjobwidgets = callPackage ./kjobwidgets.nix {};
kjs = callPackage ./kjs.nix {};
kjsembed = callPackage ./kjsembed.nix {};
kmediaplayer = callPackage ./kmediaplayer.nix {};
knewstuff = callPackage ./knewstuff.nix {};
knotifications = callPackage ./knotifications.nix {};
knotifyconfig = callPackage ./knotifyconfig.nix {};
kpackage = callPackage ./kpackage {};
kparts = callPackage ./kparts.nix {};
kpeople = callPackage ./kpeople.nix {};
kplotting = callPackage ./kplotting.nix {};
kpty = callPackage ./kpty.nix {};
kross = callPackage ./kross.nix {};
krunner = callPackage ./krunner.nix {};
kservice = callPackage ./kservice {};
ktexteditor = callPackage ./ktexteditor {};
ktextwidgets = callPackage ./ktextwidgets.nix {};
kunitconversion = callPackage ./kunitconversion.nix {};
kwallet = callPackage ./kwallet.nix {};
kwayland = callPackage ./kwayland.nix {};
kwidgetsaddons = callPackage ./kwidgetsaddons.nix {};
kwindowsystem = callPackage ./kwindowsystem.nix {};
kxmlgui = callPackage ./kxmlgui.nix {};
kxmlrpcclient = callPackage ./kxmlrpcclient.nix {};
modemmanager-qt = callPackage ./modemmanager-qt.nix {};
networkmanager-qt = callPackage ./networkmanager-qt.nix {};
oxygen-icons5 = callPackage ./oxygen-icons5.nix {};
plasma-framework = callPackage ./plasma-framework.nix {};
solid = callPackage ./solid.nix {};
sonnet = callPackage ./sonnet.nix {};
threadweaver = callPackage ./threadweaver.nix {};
};
in packages

View File

@@ -0,0 +1,20 @@
{ kdeFramework, lib, copyPathsToStore, cmake, pkgconfig, qttools }:
kdeFramework {
name = "extra-cmake-modules";
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
outputs = [ "out" ]; # this package has no runtime components
setupHook = ./setup-hook.sh;
# It is OK to propagate these inputs as long as
# extra-cmake-modules is never a propagated input
# of some other derivation.
propagatedNativeBuildInputs = [ cmake pkgconfig qttools ];
meta = with lib; {
license = licenses.bsd2;
maintainers = [ maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,37 @@
Index: extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake
===================================================================
--- extra-cmake-modules-5.18.0.orig/kde-modules/KDEInstallDirs.cmake
+++ extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake
@@ -200,32 +200,6 @@
# GNUInstallDirs code deals with re-configuring, but that is dealt with
# by the _define_* macros in this module).
set(_LIBDIR_DEFAULT "lib")
-# Override this default 'lib' with 'lib64' iff:
-# - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling
-# - we are NOT on debian
-# - we are on a 64 bits system
-# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
-# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
-# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
-# See http://wiki.debian.org/Multiarch
-if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
- AND NOT CMAKE_CROSSCOMPILING)
- if (EXISTS "/etc/debian_version") # is this a debian system ?
- if(CMAKE_LIBRARY_ARCHITECTURE)
- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
- endif()
- else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
- if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
- message(AUTHOR_WARNING
- "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. "
- "Please enable at least one language before including KDEInstallDirs.")
- else()
- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
- set(_LIBDIR_DEFAULT "lib64")
- endif()
- endif()
- endif()
-endif()
set(_gnu_install_dirs_vars
BINDIR

View File

@@ -0,0 +1 @@
nix-lib-path.patch

View File

@@ -0,0 +1,99 @@
_ecmSetXdgDirs() {
addToSearchPathOnce XDG_DATA_DIRS "$1/share"
addToSearchPathOnce XDG_CONFIG_DIRS "$1/etc/xdg"
addToSearchPathOnce RUNTIME_XDG_CONFIG_DIRS "$1/etc/xdg"
}
_ecmSharePaths=( \
"appdata" \
"applications" \
"config.cfg" \
"dbus-1" \
"desktop-directories" \
"doc" \
"icons" \
"kconf_update" \
"kservices5" \
"kservicetypes5" \
"knotifications5" \
"kxmlgui5" \
"locale" \
"mime" \
"polkit-1" \
"sounds" \
"templates" \
"wallpapers" \
)
_ecmPropagateNative() {
for dir in ${_ecmSharePaths[@]}; do
if [ -d "$1/share/$dir" ]; then
propagateOnce propagatedNativeBuildInputs "$1"
if [ -z "$crossConfig" ]; then
propagateOnce propagatedUserEnvPkgs "$1"
addToSearchPathOnce RUNTIME_XDG_DATA_DIRS "$1/share"
fi
break
fi
done
}
envHooks+=(_ecmSetXdgDirs _ecmPropagate)
_ecmPropagate() {
for dir in ${_ecmSharePaths[@]}; do
if [ -d "$1/share/$dir" ]; then
propagateOnce propagatedBuildInputs "$1"
propagateOnce propagatedUserEnvPkgs "$1"
addToSearchPathOnce RUNTIME_XDG_DATA_DIRS "$1/share"
break
fi
done
}
crossEnvHooks+=(_ecmPropagate)
_ecmConfig() {
# Because we need to use absolute paths here, we must set *all* the paths.
cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}"
cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin"
cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin"
cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib"
cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec"
cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake"
cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputLib}/lib/qt5/plugins"
cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputLib}/lib/qt5/plugins"
cmakeFlags+=" -DKDE_INSTALL_QTQUICKIMPORTSDIR=${!outputLib}/lib/qt5/imports"
cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputLib}/lib/qt5/qml"
cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include"
cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var"
cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputLib}/share"
cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputLib}/share"
cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputLib}/share/doc/HTML"
cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputLib}/share/config.kcfg"
cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputLib}/share/kconf_update"
cmakeFlags+=" -DKDE_INSTALL_KSERVICES5DIR=${!outputLib}/share/kservices5"
cmakeFlags+=" -DKDE_INSTALL_KSERVICETYPES5DIR=${!outputLib}/share/kservicetypes5"
cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputLib}/share/kxmlgui5"
cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputLib}/share/knotifications5"
cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputLib}/share/icons"
cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale"
cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputLib}/share/sounds"
cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputLib}/share/templates"
cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputLib}/share/wallpapers"
cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputLib}/share/applications"
cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputLib}/share/desktop-directories"
cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputLib}/share/mime/packages"
cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputLib}/share/appdata"
cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputLib}/share/man"
cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputLib}/share/info"
cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputLib}/share/dbus-1"
cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputLib}/share/dbus-1/interfaces"
cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputLib}/share/dbus-1/services"
cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputLib}/share/dbus-1/system-services"
cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputLib}/etc"
cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputLib}/etc/xdg"
cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputLib}/etc/xdg/autostart"
}
preConfigureHooks+=(_ecmConfig)

View File

@@ -0,0 +1,14 @@
{ kdeFramework, lib, extra-cmake-modules, kbookmarks, kcompletion
, kconfig, kconfigwidgets, ki18n, kiconthemes, kio, knotifications
, kwidgetsaddons, libXcursor, qtx11extras
}:
kdeFramework {
name = "frameworkintegration";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
kbookmarks kcompletion kconfig kconfigwidgets knotifications ki18n kio
kiconthemes kwidgetsaddons libXcursor qtx11extras
];
}

View File

@@ -0,0 +1,9 @@
{ kdeFramework, lib, extra-cmake-modules
, boost, kactivities, kconfig }:
kdeFramework {
name = "kactivities-stats";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ boost kactivities kconfig ];
}

View File

@@ -0,0 +1,14 @@
{ kdeFramework, lib, extra-cmake-modules, boost, kcmutils, kconfig
, kcoreaddons, kdbusaddons, kdeclarative, kglobalaccel, ki18n
, kio, kservice, kwindowsystem, kxmlgui, qtdeclarative
}:
kdeFramework {
name = "kactivities";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
boost kcmutils kconfig kcoreaddons kdbusaddons kdeclarative kglobalaccel
ki18n kio kservice kwindowsystem kxmlgui qtdeclarative
];
}

View File

@@ -0,0 +1,10 @@
{ kdeFramework, lib
, extra-cmake-modules
, python
}:
kdeFramework {
name = "kapidox";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules python ];
}

View File

@@ -0,0 +1,9 @@
{ kdeFramework, lib
, extra-cmake-modules
}:
kdeFramework {
name = "karchive";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
}

View File

@@ -0,0 +1,17 @@
Index: kauth-5.18.0/KF5AuthConfig.cmake.in
===================================================================
--- kauth-5.18.0.orig/KF5AuthConfig.cmake.in
+++ kauth-5.18.0/KF5AuthConfig.cmake.in
@@ -4,9 +4,9 @@ set(KAUTH_STUB_FILES_DIR "@PACKAGE_KDE_I
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}")
find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")

View File

@@ -0,0 +1,13 @@
{ kdeFramework, lib, copyPathsToStore
, extra-cmake-modules
, kcoreaddons
, polkit-qt
}:
kdeFramework {
name = "kauth";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ kcoreaddons polkit-qt ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
}

View File

@@ -0,0 +1 @@
cmake-install-paths.patch

View File

@@ -0,0 +1,18 @@
{ kdeFramework, lib
, extra-cmake-modules
, kcodecs
, kconfig
, kconfigwidgets
, kcoreaddons
, kiconthemes
, kxmlgui
}:
kdeFramework {
name = "kbookmarks";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
kcodecs kconfig kconfigwidgets kcoreaddons kiconthemes kxmlgui
];
}

View File

@@ -0,0 +1,25 @@
From f14d2a275323a47104b33eb61c5b6910ae1a9f59 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Wed, 14 Oct 2015 06:43:53 -0500
Subject: [PATCH] qdiriterator follow symlinks
---
src/kpluginselector.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/kpluginselector.cpp b/src/kpluginselector.cpp
index 9c3431d..d6b1ee2 100644
--- a/src/kpluginselector.cpp
+++ b/src/kpluginselector.cpp
@@ -305,7 +305,7 @@ void KPluginSelector::addPlugins(const QString &componentName,
QStringList desktopFileNames;
const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, componentName + QStringLiteral("/kpartplugins"), QStandardPaths::LocateDirectory);
Q_FOREACH (const QString &dir, dirs) {
- QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
+ QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
desktopFileNames.append(it.next());
}
--
2.5.2

View File

@@ -0,0 +1,15 @@
{ kdeFramework, lib, extra-cmake-modules, kconfigwidgets
, kcoreaddons, kdeclarative, ki18n, kiconthemes, kitemviews
, kpackage, kservice, kxmlgui
}:
kdeFramework {
name = "kcmutils";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
kconfigwidgets kcoreaddons kdeclarative ki18n kiconthemes kitemviews
kpackage kservice kxmlgui
];
patches = [ ./0001-qdiriterator-follow-symlinks.patch ];
}

View File

@@ -0,0 +1,11 @@
{ kdeFramework, lib
, extra-cmake-modules
}:
kdeFramework {
name = "kcodecs";
nativeBuildInputs = [ extra-cmake-modules ];
meta = {
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,12 @@
{ kdeFramework, lib
, extra-cmake-modules
, kconfig
, kwidgetsaddons
}:
kdeFramework {
name = "kcompletion";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ kconfig kwidgetsaddons ];
}

View File

@@ -0,0 +1,9 @@
{ kdeFramework, lib
, extra-cmake-modules
}:
kdeFramework {
name = "kconfig";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
}

View File

@@ -0,0 +1,25 @@
From 4f84780893d505b2d62a14633dd983baa8ec6e28 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Wed, 14 Oct 2015 06:47:01 -0500
Subject: [PATCH] qdiriterator follow symlinks
---
src/khelpclient.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/khelpclient.cpp b/src/khelpclient.cpp
index 53a331e..80fbb01 100644
--- a/src/khelpclient.cpp
+++ b/src/khelpclient.cpp
@@ -48,7 +48,7 @@ void KHelpClient::invokeHelp(const QString &anchor, const QString &_appname)
QString docPath;
const QStringList desktopDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
Q_FOREACH (const QString &dir, desktopDirs) {
- QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
+ QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
const QString desktopPath(it.next());
KDesktopFile desktopFile(desktopPath);
--
2.5.2

View File

@@ -0,0 +1,14 @@
{ kdeFramework, lib, extra-cmake-modules, kauth, kcodecs, kconfig
, kdoctools, kguiaddons, ki18n, kwidgetsaddons
}:
kdeFramework {
name = "kconfigwidgets";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [ kauth kconfig kcodecs kguiaddons ki18n kwidgetsaddons ];
patches = [ ./0001-qdiriterator-follow-symlinks.patch ];
postInstall = ''
moveToOutput "bin/preparetips5" "$dev"
'';
}

View File

@@ -0,0 +1,11 @@
{ kdeFramework, lib
, extra-cmake-modules
, shared_mime_info
}:
kdeFramework {
name = "kcoreaddons";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ shared_mime_info ];
}

View File

@@ -0,0 +1,13 @@
{ kdeFramework, lib
, extra-cmake-modules
, kcoreaddons
, kwindowsystem
, qtx11extras
}:
kdeFramework {
name = "kcrash";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ kcoreaddons kwindowsystem qtx11extras ];
}

View File

@@ -0,0 +1,11 @@
{ kdeFramework, lib
, extra-cmake-modules
, qtx11extras
}:
kdeFramework {
name = "kdbusaddons";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ qtx11extras ];
}

View File

@@ -0,0 +1,15 @@
{ kdeFramework, lib, extra-cmake-modules, epoxy, kconfig
, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kpackage
, kwidgetsaddons, kwindowsystem, pkgconfig
, qtdeclarative
}:
kdeFramework {
name = "kdeclarative";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
epoxy kconfig kglobalaccel kguiaddons ki18n kiconthemes kio kpackage
kwidgetsaddons kwindowsystem qtdeclarative
];
}

View File

@@ -0,0 +1,17 @@
{ kdeFramework, lib
, extra-cmake-modules
, kconfig
, kcoreaddons
, kcrash
, kdbusaddons
, kdoctools
, kinit
, kservice
}:
kdeFramework {
name = "kded";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [ kconfig kcoreaddons kcrash kdbusaddons kinit kservice ];
}

View File

@@ -0,0 +1,31 @@
{ kdeFramework, lib, copyPathsToStore
, extra-cmake-modules, docbook_xml_dtd_45, kauth
, karchive, kcompletion, kconfig, kconfigwidgets, kcoreaddons
, kcrash, kdbusaddons, kded, kdesignerplugin, kdoctools, kemoticons
, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kitemmodels
, kinit, knotifications, kparts, kservice, ktextwidgets
, kunitconversion, kwidgetsaddons, kwindowsystem, kxmlgui
, networkmanager, qtsvg, qtx11extras, xlibs
}:
# TODO: debug docbook detection
kdeFramework {
name = "kdelibs4support";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
outputs = [ "dev" "out" ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
setupHook = ./setup-hook.sh;
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
kauth karchive kcompletion kconfig kconfigwidgets kcoreaddons kcrash
kdbusaddons kded kdesignerplugin kemoticons kglobalaccel kguiaddons ki18n
kio kiconthemes kitemmodels kinit knotifications kparts kservice
ktextwidgets kunitconversion kwidgetsaddons kwindowsystem kxmlgui
networkmanager qtsvg qtx11extras xlibs.libSM
];
cmakeFlags = [
"-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
"-DDocBookXML4_DTD_VERSION=4.5"
];
}

View File

@@ -0,0 +1,13 @@
Index: kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp
===================================================================
--- kdelibs4support-5.18.0.orig/src/kdecore/kstandarddirs.cpp
+++ kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp
@@ -292,7 +292,7 @@ static QString relativeInstallPath(const
return QFile::decodeName(ICON_INSTALL_DIR "/");
}
if (strcmp("include", type) == 0) {
- return QFile::decodeName(INCLUDE_INSTALL_DIR "/");
+ return QFile::decodeName(qgetenv("NIX_KDE_INCLUDE_DIR"));
}
break;
case 'l':

View File

@@ -0,0 +1 @@
nix-kde-include-dir.patch

View File

@@ -0,0 +1 @@
export NIX_KDE_INCLUDE_DIR="@dev@/include/" # trailing slash is required!

View File

@@ -0,0 +1,26 @@
{ kdeFramework, lib
, extra-cmake-modules
, kcompletion
, kconfig
, kconfigwidgets
, kcoreaddons
, kdoctools
, kiconthemes
, kio
, kitemviews
, kplotting
, ktextwidgets
, kwidgetsaddons
, kxmlgui
, sonnet
}:
kdeFramework {
name = "kdesignerplugin";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
kcompletion kconfig kconfigwidgets kcoreaddons kiconthemes kio
kitemviews kplotting ktextwidgets kwidgetsaddons kxmlgui sonnet
];
}

View File

@@ -0,0 +1,10 @@
{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, ki18n, kpty
, kservice
}:
kdeFramework {
name = "kdesu";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ kcoreaddons ki18n kpty kservice ];
}

View File

@@ -0,0 +1,11 @@
{ kdeFramework, lib
, extra-cmake-modules
, avahi
}:
kdeFramework {
name = "kdnssd";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ avahi ];
}

View File

@@ -0,0 +1,16 @@
{ kdeFramework, lib, extra-cmake-modules, docbook_xml_dtd_45
, docbook5_xsl, karchive, ki18n, perl, perlPackages
}:
kdeFramework {
name = "kdoctools";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ karchive ki18n ];
propagatedNativeBuildInputs = [ perl perlPackages.URI ];
cmakeFlags = [
"-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
"-DDocBookXSL_DIR=${docbook5_xsl}/xml/xsl/docbook"
];
patches = [ ./kdoctools-no-find-docbook-xml.patch ];
}

View File

@@ -0,0 +1,12 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5c4863c..f731775 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -46,7 +46,6 @@ set_package_properties(LibXml2 PROPERTIES
)
-find_package(DocBookXML4 "4.5")
set_package_properties(DocBookXML4 PROPERTIES
TYPE REQUIRED

View File

@@ -0,0 +1,5 @@
addXdgData() {
addToSearchPath XDG_DATA_DIRS "$1/share"
}
envHooks+=(addXdgData)

View File

@@ -0,0 +1,14 @@
{ kdeFramework, lib
, extra-cmake-modules
, karchive
, kconfig
, kcoreaddons
, kservice
}:
kdeFramework {
name = "kemoticons";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ karchive kconfig kcoreaddons kservice ];
}

View File

@@ -0,0 +1,13 @@
Index: kfilemetadata-5.18.0/src/CMakeLists.txt
===================================================================
--- kfilemetadata-5.18.0.orig/src/CMakeLists.txt
+++ kfilemetadata-5.18.0/src/CMakeLists.txt
@@ -49,7 +49,7 @@ install(TARGETS KF5FileMetaData EXPORT K
install(EXPORT KF5FileMetaDataTargets
NAMESPACE KF5::
- DESTINATION ${LIB_INSTALL_DIR}/cmake/KF5FileMetaData
+ DESTINATION ${KDE_INSTALL_FULL_CMAKEPACKAGEDIR}/KF5FileMetaData
FILE KF5FileMetaDataTargets.cmake)
install(FILES

View File

@@ -0,0 +1,13 @@
{ kdeFramework, lib, copyPathsToStore, extra-cmake-modules
, attr, ebook_tools, exiv2, ffmpeg, karchive, ki18n, poppler, qtbase, taglib
}:
kdeFramework {
name = "kfilemetadata";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
attr ebook_tools exiv2 ffmpeg karchive ki18n poppler qtbase taglib
];
}

View File

@@ -0,0 +1 @@
cmake-install-paths.patch

View File

@@ -0,0 +1,18 @@
{ kdeFramework, lib
, extra-cmake-modules
, kconfig
, kcoreaddons
, kcrash
, kdbusaddons
, kwindowsystem
, qtx11extras
}:
kdeFramework {
name = "kglobalaccel";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
kconfig kcoreaddons kcrash kdbusaddons kwindowsystem qtx11extras
];
}

View File

@@ -0,0 +1,11 @@
{ kdeFramework, lib
, extra-cmake-modules
, qtx11extras
}:
kdeFramework {
name = "kguiaddons";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ qtx11extras ];
}

View File

@@ -0,0 +1,16 @@
{ kdeFramework, lib, extra-cmake-modules, giflib, karchive
, kcodecs, kglobalaccel, ki18n, kiconthemes, kio, kjs
, knotifications, kparts, ktextwidgets, kwallet, kwidgetsaddons
, kwindowsystem, kxmlgui, perl, phonon, qtx11extras, sonnet
}:
kdeFramework {
name = "khtml";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules perl ];
propagatedBuildInputs = [
giflib karchive kcodecs kglobalaccel ki18n kiconthemes kio kjs
knotifications kparts ktextwidgets kwallet kwidgetsaddons kwindowsystem
kxmlgui phonon qtx11extras sonnet
];
}

View File

@@ -0,0 +1,15 @@
{ kdeFramework, lib
, extra-cmake-modules
, gettext
, python
, qtdeclarative
, qtscript
}:
kdeFramework {
name = "ki18n";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ qtdeclarative qtscript ];
propagatedNativeBuildInputs = [ gettext python ];
}

View File

@@ -0,0 +1,13 @@
Index: kiconthemes-5.17.0/src/kicontheme.cpp
===================================================================
--- kiconthemes-5.17.0.orig/src/kicontheme.cpp
+++ kiconthemes-5.17.0/src/kicontheme.cpp
@@ -557,7 +557,7 @@ void KIconTheme::reconfigure()
// static
QString KIconTheme::defaultThemeName()
{
- return QStringLiteral("hicolor");
+ return QStringLiteral("breeze");
}
void KIconTheme::assignIconsToContextMenu(ContextMenus type,

View File

@@ -0,0 +1,12 @@
{ kdeFramework, lib, copyPathsToStore
, extra-cmake-modules
, karchive, kconfigwidgets, ki18n, breeze-icons, kitemviews, qtsvg
}:
kdeFramework {
name = "kiconthemes";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ breeze-icons kconfigwidgets karchive ki18n kitemviews qtsvg ];
}

View File

@@ -0,0 +1 @@
default-theme-breeze.patch

View File

@@ -0,0 +1,12 @@
{ kdeFramework, lib
, extra-cmake-modules
, qtbase
, qtx11extras
}:
kdeFramework {
name = "kidletime";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ qtbase qtx11extras ];
}

View File

@@ -0,0 +1,11 @@
{ kdeFramework, lib
, extra-cmake-modules
, ilmbase
}:
kdeFramework {
name = "kimageformats";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
}

View File

@@ -0,0 +1,15 @@
{
kdeFramework, lib, copyPathsToStore,
extra-cmake-modules, kdoctools,
kconfig, kcrash, ki18n, kio, kservice, kwindowsystem
}:
kdeFramework {
name = "kinit";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
kconfig kcrash ki18n kio kservice kwindowsystem
];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
}

View File

@@ -0,0 +1,34 @@
Index: kinit-5.24.0/src/kdeinit/kinit.cpp
===================================================================
--- kinit-5.24.0.orig/src/kdeinit/kinit.cpp
+++ kinit-5.24.0/src/kdeinit/kinit.cpp
@@ -672,19 +672,16 @@ static pid_t launch(int argc, const char
if (!libpath.isEmpty()) {
if (libpath_relative) {
- // NB: Because Qt makes the actual dlopen() call, the
- // RUNPATH of kdeinit is *not* respected - see
- // https://sourceware.org/bugzilla/show_bug.cgi?id=13945
- // - so we try hacking it in ourselves
- QString install_lib_dir = QFile::decodeName(
- CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/");
- QString orig_libpath = libpath;
- libpath = install_lib_dir + libpath;
- l.setFileName(libpath);
- if (!l.load()) {
- libpath = orig_libpath;
- l.setFileName(libpath);
- l.load();
+ // Try to load the library relative to the active profiles.
+ QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' ');
+ // Reverse the profile list.
+ std::reverse(profiles.begin(), profiles.end());
+ const QString libdir = QString::fromLatin1("/lib/");
+ Q_FOREACH (const QByteArray &profile, profiles) {
+ if (!profile.isEmpty()) {
+ l.setFileName(QFile::decodeName(profile) + libdir + libpath);
+ if (l.load()) break;
+ }
}
} else {
l.load();

View File

@@ -0,0 +1,2 @@
kinit-libpath.patch
start_kdeinit-path.patch

View File

@@ -0,0 +1,13 @@
Index: kinit-5.24.0/src/start_kdeinit/start_kdeinit_wrapper.c
===================================================================
--- kinit-5.24.0.orig/src/start_kdeinit/start_kdeinit_wrapper.c
+++ kinit-5.24.0/src/start_kdeinit/start_kdeinit_wrapper.c
@@ -23,7 +23,7 @@
#include <string.h>
#include <unistd.h>
-#define EXECUTE CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit"
+#define EXECUTE "/var/setuid-wrappers/start_kdeinit"
#if KDEINIT_OOM_PROTECT

View File

@@ -0,0 +1,21 @@
{ kdeFramework, lib, copyPathsToStore
, extra-cmake-modules, acl, karchive
, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons
, kdbusaddons, kdoctools, ki18n, kiconthemes, kitemviews
, kjobwidgets, knotifications, kservice, ktextwidgets, kwallet
, kwidgetsaddons, kwindowsystem, kxmlgui
, qtscript, qtx11extras, solid
}:
kdeFramework {
name = "kio";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
acl karchive kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons
kdbusaddons ki18n kiconthemes kitemviews kjobwidgets knotifications kservice
ktextwidgets kwallet kwidgetsaddons kwindowsystem kxmlgui solid qtscript
qtx11extras
];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
}

View File

@@ -0,0 +1,28 @@
Index: kio-5.17.0/src/core/ksambashare.cpp
===================================================================
--- kio-5.17.0.orig/src/core/ksambashare.cpp
+++ kio-5.17.0/src/core/ksambashare.cpp
@@ -67,13 +67,18 @@ KSambaSharePrivate::~KSambaSharePrivate(
bool KSambaSharePrivate::isSambaInstalled()
{
- if (QFile::exists(QStringLiteral("/usr/sbin/smbd"))
- || QFile::exists(QStringLiteral("/usr/local/sbin/smbd"))) {
- return true;
+ const QByteArray pathEnv = qgetenv("PATH");
+ if (!pathEnv.isEmpty()) {
+ QLatin1Char pathSep(':');
+ QStringList paths = QFile::decodeName(pathEnv).split(pathSep, QString::SkipEmptyParts);
+ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
+ it->append("/smbd");
+ if (QFile::exists(*it)) {
+ return true;
+ }
+ }
}
- //qDebug() << "Samba is not installed!";
-
return false;
}

View File

@@ -0,0 +1 @@
samba-search-path.patch

View File

@@ -0,0 +1,9 @@
{ kdeFramework, lib
, extra-cmake-modules
}:
kdeFramework {
name = "kitemmodels";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
}

View File

@@ -0,0 +1,9 @@
{ kdeFramework, lib
, extra-cmake-modules
}:
kdeFramework {
name = "kitemviews";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
}

View File

@@ -0,0 +1,13 @@
{ kdeFramework, lib
, extra-cmake-modules
, kcoreaddons
, kwidgetsaddons
, qtx11extras
}:
kdeFramework {
name = "kjobwidgets";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ kcoreaddons kwidgetsaddons qtx11extras ];
}

View File

@@ -0,0 +1,10 @@
{ kdeFramework, lib
, extra-cmake-modules
, kdoctools
}:
kdeFramework {
name = "kjs";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
}

View File

@@ -0,0 +1,10 @@
{ kdeFramework, lib, extra-cmake-modules, kdoctools, ki18n, kjs
, qtsvg
}:
kdeFramework {
name = "kjsembed";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [ ki18n kjs qtsvg ];
}

View File

@@ -0,0 +1,12 @@
{ kdeFramework, lib
, extra-cmake-modules
, kparts
, kxmlgui
}:
kdeFramework {
name = "kmediaplayer";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ kparts kxmlgui ];
}

View File

@@ -0,0 +1,14 @@
{ kdeFramework, lib, extra-cmake-modules, attica, karchive
, kcompletion, kconfig, kcoreaddons, ki18n, kiconthemes, kio
, kitemviews, kservice, ktextwidgets, kwidgetsaddons, kxmlgui
}:
kdeFramework {
name = "knewstuff";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
attica karchive kcompletion kconfig kcoreaddons ki18n kiconthemes kio
kitemviews kservice ktextwidgets kwidgetsaddons kxmlgui
];
}

View File

@@ -0,0 +1,16 @@
{ kdeFramework, lib
, extra-cmake-modules
, kcodecs, kconfig, kcoreaddons, kwindowsystem
, libdbusmenu
, phonon
, qtx11extras
}:
kdeFramework {
name = "knotifications";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
kcodecs kconfig kcoreaddons kwindowsystem libdbusmenu phonon qtx11extras
];
}

View File

@@ -0,0 +1,10 @@
{ kdeFramework, lib, extra-cmake-modules, kcompletion, kconfig
, ki18n, kio, phonon
}:
kdeFramework {
name = "knotifyconfig";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ kcompletion kconfig ki18n kio phonon ];
}

View File

@@ -0,0 +1,13 @@
Index: kpackage-5.18.0/src/kpackage/package.cpp
===================================================================
--- kpackage-5.18.0.orig/src/kpackage/package.cpp
+++ kpackage-5.18.0/src/kpackage/package.cpp
@@ -808,7 +808,7 @@ PackagePrivate::PackagePrivate()
: QSharedData(),
fallbackPackage(0),
metadata(0),
- externalPaths(false),
+ externalPaths(true),
valid(false),
checkedValid(false)
{

View File

@@ -0,0 +1,16 @@
{ kdeFramework, lib, copyPathsToStore
, extra-cmake-modules
, karchive
, kconfig
, kcoreaddons
, kdoctools
, ki18n
}:
kdeFramework {
name = "kpackage";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [ karchive kconfig kcoreaddons ki18n ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
}

View File

@@ -0,0 +1,26 @@
Index: kpackage-5.18.0/src/kpackage/packageloader.cpp
===================================================================
--- kpackage-5.18.0.orig/src/kpackage/packageloader.cpp
+++ kpackage-5.18.0/src/kpackage/packageloader.cpp
@@ -241,7 +241,7 @@ QList<KPluginMetaData> PackageLoader::li
} else {
//qDebug() << "Not cached";
// If there's no cache file, fall back to listing the directory
- const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories;
+ const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories | QDirIterator::FollowSymlinks;
const QStringList nameFilters = QStringList(QStringLiteral("metadata.desktop")) << QStringLiteral("metadata.json");
QDirIterator it(plugindir, nameFilters, QDir::Files, flags);
Index: kpackage-5.18.0/src/kpackage/private/packagejobthread.cpp
===================================================================
--- kpackage-5.18.0.orig/src/kpackage/private/packagejobthread.cpp
+++ kpackage-5.18.0/src/kpackage/private/packagejobthread.cpp
@@ -146,7 +146,7 @@ bool indexDirectory(const QString& dir,
QJsonArray plugins;
- QDirIterator it(dir, *metaDataFiles, QDir::Files, QDirIterator::Subdirectories);
+ QDirIterator it(dir, *metaDataFiles, QDir::Files, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
it.next();
const QString path = it.fileInfo().absoluteFilePath();

View File

@@ -0,0 +1,2 @@
allow-external-paths.patch
qdiriterator-follow-symlinks.patch

View File

@@ -0,0 +1,14 @@
{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons
, ki18n, kiconthemes, kio, kjobwidgets, knotifications, kservice
, ktextwidgets, kwidgetsaddons, kxmlgui
}:
kdeFramework {
name = "kparts";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
kconfig kcoreaddons ki18n kiconthemes kio kjobwidgets knotifications
kservice ktextwidgets kwidgetsaddons kxmlgui
];
}

View File

@@ -0,0 +1,12 @@
{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, ki18n
, kitemviews, kservice, kwidgetsaddons, qtdeclarative
}:
kdeFramework {
name = "kpeople";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
kcoreaddons ki18n kitemviews kservice kwidgetsaddons qtdeclarative
];
}

View File

@@ -0,0 +1,9 @@
{ kdeFramework, lib
, extra-cmake-modules
}:
kdeFramework {
name = "kplotting";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
}

View File

@@ -0,0 +1,8 @@
{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, ki18n }:
kdeFramework {
name = "kpty";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ kcoreaddons ki18n ];
}

View File

@@ -0,0 +1,14 @@
{ kdeFramework, lib, extra-cmake-modules, kcompletion, kcoreaddons
, kdoctools, ki18n, kiconthemes, kio, kparts, kwidgetsaddons
, kxmlgui, qtscript
}:
kdeFramework {
name = "kross";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
kcompletion kcoreaddons ki18n kiconthemes kio kparts kwidgetsaddons kxmlgui
qtscript
];
}

View File

@@ -0,0 +1,14 @@
{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons
, ki18n, kio, kservice, plasma-framework, solid
, threadweaver
}:
kdeFramework {
name = "krunner";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
kconfig kcoreaddons ki18n kio kservice plasma-framework solid
threadweaver
];
}

View File

@@ -0,0 +1,12 @@
{ kdeFramework, lib, copyPathsToStore, extra-cmake-modules, kconfig, kcoreaddons
, kcrash, kdbusaddons, kdoctools, ki18n, kwindowsystem
}:
kdeFramework {
name = "kservice";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
propagatedNativeBuildInputs = [ extra-cmake-modules ];
nativeBuildInputs = [ kdoctools ];
propagatedBuildInputs = [ kconfig kcoreaddons kcrash kdbusaddons ki18n kwindowsystem ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
}

View File

@@ -0,0 +1,13 @@
Index: kservice-5.21.0/src/sycoca/vfolder_menu.cpp
===================================================================
--- kservice-5.21.0.orig/src/sycoca/vfolder_menu.cpp
+++ kservice-5.21.0/src/sycoca/vfolder_menu.cpp
@@ -415,7 +415,7 @@ VFolderMenu::absoluteDir(const QString &
}
if (!relative) {
- QString resolved = QDir(dir).canonicalPath();
+ QString resolved = QDir::cleanPath(dir);
if (!resolved.isEmpty()) {
dir = resolved;
}

View File

@@ -0,0 +1,13 @@
Index: kservice-5.21.0/src/sycoca/kbuildsycoca.cpp
===================================================================
--- kservice-5.21.0.orig/src/sycoca/kbuildsycoca.cpp
+++ kservice-5.21.0/src/sycoca/kbuildsycoca.cpp
@@ -203,7 +203,7 @@ bool KBuildSycoca::build()
QSet<QString> relFiles;
const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, m_resourceSubdir, QStandardPaths::LocateDirectory);
Q_FOREACH (const QString &dir, dirs) {
- QDirIterator it(dir, QDirIterator::Subdirectories);
+ QDirIterator it(dir, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
const QString filePath = it.next();
Q_ASSERT(filePath.startsWith(dir)); // due to the line below...

View File

@@ -0,0 +1,2 @@
qdiriterator-follow-symlinks.patch
no-canonicalize-path.patch

View File

@@ -0,0 +1,18 @@
{ kdeFramework, lib, copyPathsToStore
, extra-cmake-modules, perl
, karchive, kconfig, kguiaddons, kiconthemes, kparts
, libgit2
, qtscript, qtxmlpatterns
, ki18n, kio, sonnet
}:
kdeFramework {
name = "ktexteditor";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules perl ];
propagatedBuildInputs = [
karchive kconfig kguiaddons ki18n kiconthemes kio kparts libgit2 qtscript
qtxmlpatterns sonnet
];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
}

View File

@@ -0,0 +1,36 @@
Index: ktexteditor-5.18.0/src/syntax/data/katehighlightingindexer.cpp
===================================================================
--- ktexteditor-5.18.0.orig/src/syntax/data/katehighlightingindexer.cpp
+++ ktexteditor-5.18.0/src/syntax/data/katehighlightingindexer.cpp
@@ -55,19 +55,16 @@ QStringList readListing(const QString &f
int main(int argc, char *argv[])
{
- // get app instance
- QCoreApplication app(argc, argv);
-
// ensure enough arguments are passed
- if (app.arguments().size() < 3)
+ if (argc < 3)
return 1;
// open schema
QXmlSchema schema;
- if (!schema.load(QUrl::fromLocalFile(app.arguments().at(2))))
+ if (!schema.load(QUrl::fromLocalFile(QString::fromLocal8Bit(argv[2]))))
return 2;
- const QString hlFilenamesListing = app.arguments().value(3);
+ const QString hlFilenamesListing = QString::fromLocal8Bit(argv[3]);
if (hlFilenamesListing.isEmpty()) {
return 1;
}
@@ -152,7 +149,7 @@ int main(int argc, char *argv[])
return anyError;
// create outfile, after all has worked!
- QFile outFile(app.arguments().at(1));
+ QFile outFile(QString::fromLocal8Bit(argv[1]));
if (!outFile.open(QIODevice::WriteOnly | QIODevice::Truncate))
return 7;

View File

@@ -0,0 +1 @@
no-qcoreapplication.patch

View File

@@ -0,0 +1,14 @@
{ kdeFramework, lib, extra-cmake-modules, kcompletion, kconfig
, kconfigwidgets, ki18n, kiconthemes, kservice, kwindowsystem
, sonnet
}:
kdeFramework {
name = "ktextwidgets";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
kcompletion kconfig kconfigwidgets ki18n kiconthemes kservice kwindowsystem
sonnet
];
}

View File

@@ -0,0 +1,8 @@
{ kdeFramework, lib, extra-cmake-modules, ki18n }:
kdeFramework {
name = "kunitconversion";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ ki18n ];
}

View File

@@ -0,0 +1,14 @@
{ kdeFramework, lib, extra-cmake-modules, kconfig, kconfigwidgets
, kcoreaddons , kdbusaddons, kdoctools, ki18n, kiconthemes
, knotifications , kservice, kwidgetsaddons, kwindowsystem, libgcrypt
}:
kdeFramework {
name = "kwallet";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
kconfig kconfigwidgets kcoreaddons kdbusaddons ki18n kiconthemes
knotifications kservice kwidgetsaddons kwindowsystem libgcrypt
];
}

View File

@@ -0,0 +1,14 @@
{ kdeFramework
, extra-cmake-modules
, wayland
}:
kdeFramework {
name = "kwayland";
nativeBuildInputs = [
extra-cmake-modules
];
propagatedBuildInputs = [
wayland
];
}

View File

@@ -0,0 +1,9 @@
{ kdeFramework, lib
, extra-cmake-modules
}:
kdeFramework {
name = "kwidgetsaddons";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
}

View File

@@ -0,0 +1,11 @@
{ kdeFramework, lib
, extra-cmake-modules
, qtx11extras
}:
kdeFramework {
name = "kwindowsystem";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ qtx11extras ];
}

View File

@@ -0,0 +1,14 @@
{ kdeFramework, lib, extra-cmake-modules, attica, kconfig
, kconfigwidgets, kglobalaccel, ki18n, kiconthemes, kitemviews
, ktextwidgets, kwindowsystem, sonnet
}:
kdeFramework {
name = "kxmlgui";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
attica kconfig kconfigwidgets kglobalaccel ki18n kiconthemes kitemviews
ktextwidgets kwindowsystem sonnet
];
}

View File

@@ -0,0 +1,8 @@
{ kdeFramework, lib, extra-cmake-modules, ki18n, kio }:
kdeFramework {
name = "kxmlrpcclient";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ ki18n kio ];
}

View File

@@ -0,0 +1,11 @@
{ kdeFramework, lib
, extra-cmake-modules
, modemmanager
}:
kdeFramework {
name = "modemmanager-qt";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ modemmanager ];
}

View File

@@ -0,0 +1,11 @@
{ kdeFramework, lib
, extra-cmake-modules
, networkmanager
}:
kdeFramework {
name = "networkmanager-qt";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ networkmanager ];
}

View File

@@ -0,0 +1,14 @@
{ kdeFramework
, lib
, extra-cmake-modules
}:
kdeFramework {
name = "oxygen-icons5";
meta = {
license = lib.licenses.lgpl3Plus;
maintainers = [ lib.maintainers.ttuegel ];
};
outputs = [ "out" ];
nativeBuildInputs = [ extra-cmake-modules ];
}

View File

@@ -0,0 +1,17 @@
{ kdeFramework, lib, extra-cmake-modules, kactivities, karchive
, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kdeclarative
, kdoctools, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio
, knotifications, kpackage, kservice, kwindowsystem, kxmlgui
, qtscript, qtx11extras
}:
kdeFramework {
name = "plasma-framework";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
kactivities karchive kconfig kconfigwidgets kcoreaddons kdbusaddons
kdeclarative kglobalaccel kguiaddons ki18n kiconthemes kio knotifications
kpackage kservice kwindowsystem kxmlgui qtscript qtx11extras
];
}

View File

@@ -0,0 +1,11 @@
{ kdeFramework, lib
, extra-cmake-modules
, qtdeclarative
}:
kdeFramework {
name = "solid";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ qtdeclarative ];
}

View File

@@ -0,0 +1,11 @@
{ kdeFramework, lib
, extra-cmake-modules
, hunspell
}:
kdeFramework {
name = "sonnet";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [ hunspell ];
}

Some files were not shown because too many files have changed in this diff Show More