diff options
author | K900 <me@0upti.me> | 2024-02-05 18:43:41 +0300 |
---|---|---|
committer | K900 <me@0upti.me> | 2024-02-28 18:49:23 +0300 |
commit | ce77225e21f9cf8726d197897ad9a6882a3daecc (patch) | |
tree | 64d68e597c2a1875962305608ec42e3b02016b8a /pkgs | |
parent | fc40d637fe78d717b7909e710ccb310458c2410f (diff) | |
download | nixlib-ce77225e21f9cf8726d197897ad9a6882a3daecc.tar nixlib-ce77225e21f9cf8726d197897ad9a6882a3daecc.tar.gz nixlib-ce77225e21f9cf8726d197897ad9a6882a3daecc.tar.bz2 nixlib-ce77225e21f9cf8726d197897ad9a6882a3daecc.tar.lz nixlib-ce77225e21f9cf8726d197897ad9a6882a3daecc.tar.xz nixlib-ce77225e21f9cf8726d197897ad9a6882a3daecc.tar.zst nixlib-ce77225e21f9cf8726d197897ad9a6882a3daecc.zip |
pkgs/kde: init at 6.0.0 / 24.02.0, the Nix bits
This is the thing you want to look at.
Diffstat (limited to 'pkgs')
438 files changed, 6375 insertions, 0 deletions
diff --git a/pkgs/kde/default.nix b/pkgs/kde/default.nix new file mode 100644 index 000000000000..02c8650e6ec6 --- /dev/null +++ b/pkgs/kde/default.nix @@ -0,0 +1,84 @@ +{ + lib, + generateSplicesForMkScope, + makeScopeWithSplicing', + fetchurl, + fetchFromGitLab, + libsForQt5, + qt6Packages, + cmark, + gpgme, + taglib, + wayland-protocols, + wayland, + zxing-cpp, +}: let + allPackages = self: let + frameworks = import ./frameworks {inherit (self) callPackage;}; + gear = import ./gear {inherit (self) callPackage;}; + plasma = import ./plasma {inherit (self) callPackage;}; + + sets = ["gear" "frameworks" "plasma"]; + + loadUrls = set: lib.importJSON (./generated/sources + "/${set}.json"); + allUrls = lib.attrsets.mergeAttrsList (map loadUrls sets); + + sources = lib.mapAttrs (_: v: + (fetchurl { + inherit (v) url hash; + }) + // {inherit (v) version;}) + allUrls; + in ( + qt6Packages + // frameworks + // gear + // plasma + // { + inherit sources; + + mkKdeDerivation = self.callPackage (import ./lib/mk-kde-derivation.nix self) {}; + + # THIRD PARTY + inherit + cmark + gpgme + taglib + wayland + wayland-protocols + zxing-cpp + ; + + # Alias to match metadata + kquickimageeditor = self.kquickimageedit; + + # Alias because it's just data + plasma-wayland-protocols = libsForQt5.plasma-wayland-protocols; + + selenium-webdriver-at-spi = null; # Used for integration tests that we don't run, stub + # Not ported to Qt6 yet + kdevelop-pg-qt = null; + okteta = null; + libmediawiki = null; + + alpaka = self.callPackage ./misc/alpaka {}; + kdiagram = self.callPackage ./misc/kdiagram {}; + kdsoap-ws-discovery-client = self.callPackage ./misc/kdsoap-ws-discovery-client {}; + kirigami-addons = self.callPackage ./misc/kirigami-addons {}; + kio-fuse = self.callPackage ./misc/kio-fuse {}; + ktextaddons = self.callPackage ./misc/ktextaddons {}; + kunifiedpush = self.callPackage ./misc/kunifiedpush {}; + kweathercore = self.callPackage ./misc/kweathercore {}; + mpvqt = self.callPackage ./misc/mpvqt {}; + oxygen-icons = self.callPackage ./misc/oxygen-icons {}; + phonon = self.callPackage ./misc/phonon {}; + phonon-vlc = self.callPackage ./misc/phonon-vlc {}; + polkit-qt-1 = self.callPackage ./misc/polkit-qt-1 {}; + pulseaudio-qt = self.callPackage ./misc/pulseaudio-qt {}; + } + ); +in + makeScopeWithSplicing' { + otherSplices = generateSplicesForMkScope "kdePackages"; + f = allPackages; + } diff --git a/pkgs/kde/frameworks/attica/default.nix b/pkgs/kde/frameworks/attica/default.nix new file mode 100644 index 000000000000..05b5c1e59be9 --- /dev/null +++ b/pkgs/kde/frameworks/attica/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "attica"; +} diff --git a/pkgs/kde/frameworks/baloo/default.nix b/pkgs/kde/frameworks/baloo/default.nix new file mode 100644 index 000000000000..517e5285a4e0 --- /dev/null +++ b/pkgs/kde/frameworks/baloo/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtdeclarative, + lmdb, +}: +mkKdeDerivation { + pname = "baloo"; + + extraBuildInputs = [qtdeclarative lmdb]; +} diff --git a/pkgs/kde/frameworks/bluez-qt/default.nix b/pkgs/kde/frameworks/bluez-qt/default.nix new file mode 100644 index 000000000000..3bccb4309af7 --- /dev/null +++ b/pkgs/kde/frameworks/bluez-qt/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtdeclarative, +}: +mkKdeDerivation { + pname = "bluez-qt"; + + extraBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/frameworks/breeze-icons/default.nix b/pkgs/kde/frameworks/breeze-icons/default.nix new file mode 100644 index 000000000000..103903c04cb4 --- /dev/null +++ b/pkgs/kde/frameworks/breeze-icons/default.nix @@ -0,0 +1,16 @@ +{ + mkKdeDerivation, + python3, + libxml2, +}: +mkKdeDerivation { + pname = "breeze-icons"; + + extraNativeBuildInputs = [ + (python3.withPackages (ps: [ps.lxml])) + libxml2 + ]; + + # lots of icons, takes forever, does absolutely nothing + dontStrip = true; +} diff --git a/pkgs/kde/frameworks/default.nix b/pkgs/kde/frameworks/default.nix new file mode 100644 index 000000000000..302be8ad3eba --- /dev/null +++ b/pkgs/kde/frameworks/default.nix @@ -0,0 +1,74 @@ +{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 {}; +} diff --git a/pkgs/kde/frameworks/extra-cmake-modules/default.nix b/pkgs/kde/frameworks/extra-cmake-modules/default.nix new file mode 100644 index 000000000000..0a06cf4a8772 --- /dev/null +++ b/pkgs/kde/frameworks/extra-cmake-modules/default.nix @@ -0,0 +1,8 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "extra-cmake-modules"; + + outputs = ["out"]; + + setupHook = ./ecm-hook.sh; +} diff --git a/pkgs/kde/frameworks/extra-cmake-modules/ecm-hook.sh b/pkgs/kde/frameworks/extra-cmake-modules/ecm-hook.sh new file mode 100644 index 000000000000..b6c50059868f --- /dev/null +++ b/pkgs/kde/frameworks/extra-cmake-modules/ecm-hook.sh @@ -0,0 +1,128 @@ +# 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 "$targetOffset" 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 + cmakeFlags+=" -DKDE_INSTALL_BUNDLEDIR=${!outputBin}/Applications/KDE" + fi + + 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}/libexec" + cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake" + + if [ -n "${qtPluginPrefix-}" ]; then + cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputBin}/$qtPluginPrefix" + cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputBin}/$qtPluginPrefix" + fi + + if [ -n "${qtQmlPrefix-}" ]; then + cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix" + fi + + cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include" + cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var" + cmakeFlags+=" -DKDE_INSTALL_SHAREDSTATEDIR=/com" # ??? + cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputBin}/share" + cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputBin}/share" + cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputBin}/share/doc/HTML" + cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputBin}/share/config.kcfg" + cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputBin}/share/kconf_update" + cmakeFlags+=" -DKDE_INSTALL_KAPPTEMPLATESDIR=${!outputDev}/share/kdevappwizard/templates" + cmakeFlags+=" -DKDE_INSTALL_KFILETEMPLATESDIR=${!outputDev}/share/kdevfiletemplates/templates" + cmakeFlags+=" -DKDE_INSTALL_KXMLGUIDIR=${!outputBin}/share/kxmlgui6" + cmakeFlags+=" -DKDE_INSTALL_KNOTIFYRCDIR=${!outputBin}/share/knotifications6" + cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputBin}/share/icons" + cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale" + cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputBin}/share/sounds" + cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputBin}/share/templates" + cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputBin}/share/wallpapers" + cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputBin}/share/applications" + cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputBin}/share/desktop-directories" + cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputBin}/share/mime/packages" + cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputBin}/share/appdata" + cmakeFlags+=" -DKDE_INSTALL_QTQCHDIR=${!outputLib}/share/doc/qch" + cmakeFlags+=" -DKDE_INSTALL_QCHDIR=${!outputLib}/share/doc/qch" + cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputBin}/share/man" + cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputBin}/share/info" + cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputBin}/share/dbus-1" + cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputBin}/share/dbus-1/interfaces" + cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputBin}/share/dbus-1/services" + cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputBin}/share/dbus-1/system-services" + cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputBin}/etc" + cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputBin}/etc/xdg" + cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputBin}/etc/xdg/autostart" + cmakeFlags+=" -DKDE_INSTALL_LOGGINGCATEGORIESDIR=${!outputLib}/share/qlogging-categories6" + cmakeFlags+=" -DKDE_INSTALL_SYSTEMDUNITDIR=${!outputBin}/lib/systemd" + cmakeFlags+=" -DKDE_INSTALL_SYSTEMDUSERUNITDIR=${!outputBin}/share/systemd/user" +} +postHooks+=(ecmPostHook) + +xdgDataSubdirs=( \ + "config.kcfg" "kconf_update" "knotifications6" "icons" "locale" "sounds" "templates" \ + "wallpapers" "applications" "desktop-directories" "mime" "appdata" "dbus-1" \ +) + +# 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 + + local manDir="$1/man" + if [ -d "$manDir" ] + then + qtWrapperArgs+=(--prefix MANPATH : "$manDir") + fi + + local infoDir="$1/info" + if [ -d "$infoDir" ] + then + qtWrapperArgs+=(--prefix INFOPATH : "$infoDir") + fi + + if [ -d "$1/dbus-1" ] + then + propagatedUserEnvPkgs+=" $1" + fi +} +addEnvHooks "$targetOffset" ecmHostPathHook diff --git a/pkgs/kde/frameworks/frameworkintegration/default.nix b/pkgs/kde/frameworks/frameworkintegration/default.nix new file mode 100644 index 000000000000..3607c115c301 --- /dev/null +++ b/pkgs/kde/frameworks/frameworkintegration/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + pkg-config, + packagekit-qt, +}: +mkKdeDerivation { + pname = "frameworkintegration"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [packagekit-qt]; +} diff --git a/pkgs/kde/frameworks/kapidox/default.nix b/pkgs/kde/frameworks/kapidox/default.nix new file mode 100644 index 000000000000..2544e7921f87 --- /dev/null +++ b/pkgs/kde/frameworks/kapidox/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kapidox"; +} diff --git a/pkgs/kde/frameworks/karchive/default.nix b/pkgs/kde/frameworks/karchive/default.nix new file mode 100644 index 000000000000..fe124e1187d1 --- /dev/null +++ b/pkgs/kde/frameworks/karchive/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qttools, + pkg-config, + xz, +}: +mkKdeDerivation { + pname = "karchive"; + + extraNativeBuildInputs = [qttools pkg-config]; + extraBuildInputs = [xz]; +} diff --git a/pkgs/kde/frameworks/kauth/default.nix b/pkgs/kde/frameworks/kauth/default.nix new file mode 100644 index 000000000000..df033770a303 --- /dev/null +++ b/pkgs/kde/frameworks/kauth/default.nix @@ -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]; +} diff --git a/pkgs/kde/frameworks/kauth/fix-paths.patch b/pkgs/kde/frameworks/kauth/fix-paths.patch new file mode 100644 index 000000000000..6444a7610c47 --- /dev/null +++ b/pkgs/kde/frameworks/kauth/fix-paths.patch @@ -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) + diff --git a/pkgs/kde/frameworks/kbookmarks/default.nix b/pkgs/kde/frameworks/kbookmarks/default.nix new file mode 100644 index 000000000000..ac9255e6f83d --- /dev/null +++ b/pkgs/kde/frameworks/kbookmarks/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kbookmarks"; + + extraNativeBuildInputs = [qttools]; +} diff --git a/pkgs/kde/frameworks/kcalendarcore/default.nix b/pkgs/kde/frameworks/kcalendarcore/default.nix new file mode 100644 index 000000000000..c80117749e11 --- /dev/null +++ b/pkgs/kde/frameworks/kcalendarcore/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + libical, +}: +mkKdeDerivation { + pname = "kcalendarcore"; + + extraBuildInputs = [libical]; +} diff --git a/pkgs/kde/frameworks/kcmutils/default.nix b/pkgs/kde/frameworks/kcmutils/default.nix new file mode 100644 index 000000000000..bb6ecb110ee0 --- /dev/null +++ b/pkgs/kde/frameworks/kcmutils/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtdeclarative, +}: +mkKdeDerivation { + pname = "kcmutils"; + + extraPropagatedBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/frameworks/kcodecs/default.nix b/pkgs/kde/frameworks/kcodecs/default.nix new file mode 100644 index 000000000000..409666658ddf --- /dev/null +++ b/pkgs/kde/frameworks/kcodecs/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qttools, + gperf, +}: +mkKdeDerivation { + pname = "kcodecs"; + + extraNativeBuildInputs = [qttools]; + extraBuildInputs = [gperf]; +} diff --git a/pkgs/kde/frameworks/kcolorscheme/default.nix b/pkgs/kde/frameworks/kcolorscheme/default.nix new file mode 100644 index 000000000000..05f32ce574f3 --- /dev/null +++ b/pkgs/kde/frameworks/kcolorscheme/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kcolorscheme"; +} diff --git a/pkgs/kde/frameworks/kcompletion/default.nix b/pkgs/kde/frameworks/kcompletion/default.nix new file mode 100644 index 000000000000..c07f274e08ee --- /dev/null +++ b/pkgs/kde/frameworks/kcompletion/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kcompletion"; + + extraNativeBuildInputs = [qttools]; +} diff --git a/pkgs/kde/frameworks/kconfig/default.nix b/pkgs/kde/frameworks/kconfig/default.nix new file mode 100644 index 000000000000..b29a081524c7 --- /dev/null +++ b/pkgs/kde/frameworks/kconfig/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qttools, + qtdeclarative, +}: +mkKdeDerivation { + pname = "kconfig"; + + extraNativeBuildInputs = [qttools]; + extraPropagatedBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/frameworks/kconfigwidgets/default.nix b/pkgs/kde/frameworks/kconfigwidgets/default.nix new file mode 100644 index 000000000000..354972d005ae --- /dev/null +++ b/pkgs/kde/frameworks/kconfigwidgets/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kconfigwidgets"; + + extraBuildInputs = [qttools]; +} diff --git a/pkgs/kde/frameworks/kcontacts/default.nix b/pkgs/kde/frameworks/kcontacts/default.nix new file mode 100644 index 000000000000..57e35a90a9ae --- /dev/null +++ b/pkgs/kde/frameworks/kcontacts/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kcontacts"; +} diff --git a/pkgs/kde/frameworks/kcoreaddons/default.nix b/pkgs/kde/frameworks/kcoreaddons/default.nix new file mode 100644 index 000000000000..12c6ae5d770b --- /dev/null +++ b/pkgs/kde/frameworks/kcoreaddons/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qttools, + shared-mime-info, + qtdeclarative, +}: +mkKdeDerivation { + pname = "kcoreaddons"; + + extraNativeBuildInputs = [qttools shared-mime-info]; + extraBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/frameworks/kcrash/default.nix b/pkgs/kde/frameworks/kcrash/default.nix new file mode 100644 index 000000000000..b3ade8fd6763 --- /dev/null +++ b/pkgs/kde/frameworks/kcrash/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kcrash"; +} diff --git a/pkgs/kde/frameworks/kdav/default.nix b/pkgs/kde/frameworks/kdav/default.nix new file mode 100644 index 000000000000..d53562fc9038 --- /dev/null +++ b/pkgs/kde/frameworks/kdav/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kdav"; +} diff --git a/pkgs/kde/frameworks/kdbusaddons/default.nix b/pkgs/kde/frameworks/kdbusaddons/default.nix new file mode 100644 index 000000000000..f7d80a5746f3 --- /dev/null +++ b/pkgs/kde/frameworks/kdbusaddons/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kdbusaddons"; + + extraNativeBuildInputs = [qttools]; +} diff --git a/pkgs/kde/frameworks/kdeclarative/default.nix b/pkgs/kde/frameworks/kdeclarative/default.nix new file mode 100644 index 000000000000..8b05ec66b0f4 --- /dev/null +++ b/pkgs/kde/frameworks/kdeclarative/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qtdeclarative, + spirv-tools, +}: +mkKdeDerivation { + pname = "kdeclarative"; + + extraNativeBuildInputs = [spirv-tools]; + extraBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/frameworks/kded/default.nix b/pkgs/kde/frameworks/kded/default.nix new file mode 100644 index 000000000000..dc6fa84d5347 --- /dev/null +++ b/pkgs/kde/frameworks/kded/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kded"; +} diff --git a/pkgs/kde/frameworks/kdesu/default.nix b/pkgs/kde/frameworks/kdesu/default.nix new file mode 100644 index 000000000000..ae7ed3a33c38 --- /dev/null +++ b/pkgs/kde/frameworks/kdesu/default.nix @@ -0,0 +1,7 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kdesu"; + + # Look for NixOS SUID wrapper first + patches = [./kdesu-search-for-wrapped-daemon-first.patch]; +} diff --git a/pkgs/kde/frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch b/pkgs/kde/frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch new file mode 100644 index 000000000000..1379707f02fe --- /dev/null +++ b/pkgs/kde/frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch @@ -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 + diff --git a/pkgs/kde/frameworks/kdnssd/default.nix b/pkgs/kde/frameworks/kdnssd/default.nix new file mode 100644 index 000000000000..3241dcf9c2fb --- /dev/null +++ b/pkgs/kde/frameworks/kdnssd/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qttools, + avahi, +}: +mkKdeDerivation { + pname = "kdnssd"; + + extraNativeBuildInputs = [qttools]; + extraBuildInputs = [avahi]; +} diff --git a/pkgs/kde/frameworks/kdoctools/default.nix b/pkgs/kde/frameworks/kdoctools/default.nix new file mode 100644 index 000000000000..8e8341997a2b --- /dev/null +++ b/pkgs/kde/frameworks/kdoctools/default.nix @@ -0,0 +1,18 @@ +{ + mkKdeDerivation, + docbook_xml_dtd_45, + docbook-xsl-nons, + perl, + perlPackages, +}: +mkKdeDerivation { + pname = "kdoctools"; + + # lots of self-references, the output is pretty small (~5MB), not worth trying to untangle + outputs = ["out"]; + + # Perl could be used both at build time and at runtime. + extraNativeBuildInputs = [perl perlPackages.URI]; + extraBuildInputs = [docbook_xml_dtd_45 docbook-xsl-nons]; + extraPropagatedBuildInputs = [perl perlPackages.URI]; +} diff --git a/pkgs/kde/frameworks/kfilemetadata/cmake-install-paths.patch b/pkgs/kde/frameworks/kfilemetadata/cmake-install-paths.patch new file mode 100644 index 000000000000..3b3631fb3abe --- /dev/null +++ b/pkgs/kde/frameworks/kfilemetadata/cmake-install-paths.patch @@ -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 + \ No newline at end of file diff --git a/pkgs/kde/frameworks/kfilemetadata/default.nix b/pkgs/kde/frameworks/kfilemetadata/default.nix new file mode 100644 index 000000000000..0e9fd5489e7e --- /dev/null +++ b/pkgs/kde/frameworks/kfilemetadata/default.nix @@ -0,0 +1,21 @@ +{ + 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]; +} diff --git a/pkgs/kde/frameworks/kglobalaccel/default.nix b/pkgs/kde/frameworks/kglobalaccel/default.nix new file mode 100644 index 000000000000..b7d5e627d64f --- /dev/null +++ b/pkgs/kde/frameworks/kglobalaccel/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kglobalaccel"; + + extraNativeBuildInputs = [qttools]; +} diff --git a/pkgs/kde/frameworks/kguiaddons/default.nix b/pkgs/kde/frameworks/kguiaddons/default.nix new file mode 100644 index 000000000000..899786eefbda --- /dev/null +++ b/pkgs/kde/frameworks/kguiaddons/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qtwayland, + pkg-config, + wayland, +}: +mkKdeDerivation { + pname = "kguiaddons"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtwayland wayland]; +} diff --git a/pkgs/kde/frameworks/kholidays/default.nix b/pkgs/kde/frameworks/kholidays/default.nix new file mode 100644 index 000000000000..07702734a06b --- /dev/null +++ b/pkgs/kde/frameworks/kholidays/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qttools, + qtdeclarative, +}: +mkKdeDerivation { + pname = "kholidays"; + + extraNativeBuildInputs = [qttools]; + extraBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/frameworks/ki18n/default.nix b/pkgs/kde/frameworks/ki18n/default.nix new file mode 100644 index 000000000000..2a082a9dfe57 --- /dev/null +++ b/pkgs/kde/frameworks/ki18n/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtdeclarative, +}: +mkKdeDerivation { + pname = "ki18n"; + + extraBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/frameworks/kiconthemes/default.nix b/pkgs/kde/frameworks/kiconthemes/default.nix new file mode 100644 index 000000000000..378a3f7f87b7 --- /dev/null +++ b/pkgs/kde/frameworks/kiconthemes/default.nix @@ -0,0 +1,15 @@ +{ + mkKdeDerivation, + qtdeclarative, + qtsvg, + qttools, +}: +mkKdeDerivation { + pname = "kiconthemes"; + + extraBuildInputs = [ + qtdeclarative + qtsvg + qttools + ]; +} diff --git a/pkgs/kde/frameworks/kidletime/default.nix b/pkgs/kde/frameworks/kidletime/default.nix new file mode 100644 index 000000000000..8fd68f04ec14 --- /dev/null +++ b/pkgs/kde/frameworks/kidletime/default.nix @@ -0,0 +1,13 @@ +{ + mkKdeDerivation, + qtwayland, + pkg-config, + wayland-protocols, + xorg, +}: +mkKdeDerivation { + pname = "kidletime"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtwayland xorg.libXScrnSaver wayland-protocols]; +} diff --git a/pkgs/kde/frameworks/kimageformats/default.nix b/pkgs/kde/frameworks/kimageformats/default.nix new file mode 100644 index 000000000000..21c84cb56992 --- /dev/null +++ b/pkgs/kde/frameworks/kimageformats/default.nix @@ -0,0 +1,16 @@ +{ + mkKdeDerivation, + pkg-config, + libheif, + libjxl, + libavif, + libraw, + openexr_3, +}: +mkKdeDerivation { + pname = "kimageformats"; + + extraCmakeFlags = ["-DKIMAGEFORMATS_HEIF=1"]; + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [libheif libjxl libavif libraw openexr_3]; +} diff --git a/pkgs/kde/frameworks/kio/0001-Remove-impure-smbd-search-path.patch b/pkgs/kde/frameworks/kio/0001-Remove-impure-smbd-search-path.patch new file mode 100644 index 000000000000..e541f7a05e8d --- /dev/null +++ b/pkgs/kde/frameworks/kio/0001-Remove-impure-smbd-search-path.patch @@ -0,0 +1,25 @@ +From af54a2a37655df26a33bc6783cb472c38f65322f Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@mailbox.org> +Date: Sun, 28 Mar 2021 10:31:12 -0500 +Subject: [PATCH 1/2] Remove impure smbd search path + +--- + src/core/ksambashare.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/ksambashare.cpp b/src/core/ksambashare.cpp +index e810ce4..7cfb4e6 100644 +--- a/src/core/ksambashare.cpp ++++ b/src/core/ksambashare.cpp +@@ -61,7 +61,7 @@ KSambaSharePrivate::~KSambaSharePrivate() + bool KSambaSharePrivate::isSambaInstalled() + { + const bool daemonExists = +- !QStandardPaths::findExecutable(QStringLiteral("smbd"), {QStringLiteral("/usr/sbin/"), QStringLiteral("/usr/local/sbin/")}).isEmpty(); ++ !QStandardPaths::findExecutable(QStringLiteral("smbd")).isEmpty(); + if (!daemonExists) { + qCDebug(KIO_CORE_SAMBASHARE) << "KSambaShare: Could not find smbd"; + } +-- +2.30.1 + diff --git a/pkgs/kde/frameworks/kio/default.nix b/pkgs/kde/frameworks/kio/default.nix new file mode 100644 index 000000000000..03c2da9e0f5a --- /dev/null +++ b/pkgs/kde/frameworks/kio/default.nix @@ -0,0 +1,18 @@ +{ + mkKdeDerivation, + qt5compat, + qttools, + acl, + attr, +}: +mkKdeDerivation { + pname = "kio"; + + patches = [ + # Remove hardcoded smbd search path + # FIXME(later): discuss with upstream? + ./0001-Remove-impure-smbd-search-path.patch + ]; + + extraBuildInputs = [qt5compat qttools acl attr]; +} diff --git a/pkgs/kde/frameworks/kirigami/default.nix b/pkgs/kde/frameworks/kirigami/default.nix new file mode 100644 index 000000000000..ee33f2e7b81c --- /dev/null +++ b/pkgs/kde/frameworks/kirigami/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + qtsvg, + qttools, + qtdeclarative, + qt5compat, +}: +mkKdeDerivation { + pname = "kirigami"; + + extraNativeBuildInputs = [qtsvg qttools]; + extraBuildInputs = [qtdeclarative]; + extraPropagatedBuildInputs = [qt5compat]; +} diff --git a/pkgs/kde/frameworks/kitemmodels/default.nix b/pkgs/kde/frameworks/kitemmodels/default.nix new file mode 100644 index 000000000000..22476d21c4e4 --- /dev/null +++ b/pkgs/kde/frameworks/kitemmodels/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtdeclarative, +}: +mkKdeDerivation { + pname = "kitemmodels"; + + extraBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/frameworks/kitemviews/default.nix b/pkgs/kde/frameworks/kitemviews/default.nix new file mode 100644 index 000000000000..b9831f05ea99 --- /dev/null +++ b/pkgs/kde/frameworks/kitemviews/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kitemviews"; + + extraNativeBuildInputs = [qttools]; +} diff --git a/pkgs/kde/frameworks/kjobwidgets/default.nix b/pkgs/kde/frameworks/kjobwidgets/default.nix new file mode 100644 index 000000000000..27e9720d84e1 --- /dev/null +++ b/pkgs/kde/frameworks/kjobwidgets/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kjobwidgets"; + + extraNativeBuildInputs = [qttools]; +} diff --git a/pkgs/kde/frameworks/knewstuff/default.nix b/pkgs/kde/frameworks/knewstuff/default.nix new file mode 100644 index 000000000000..934167daf055 --- /dev/null +++ b/pkgs/kde/frameworks/knewstuff/default.nix @@ -0,0 +1,16 @@ +{ + 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]; +} diff --git a/pkgs/kde/frameworks/knewstuff/delay-resolving-knsrcdir.patch b/pkgs/kde/frameworks/knewstuff/delay-resolving-knsrcdir.patch new file mode 100644 index 000000000000..15f85aa422fe --- /dev/null +++ b/pkgs/kde/frameworks/knewstuff/delay-resolving-knsrcdir.patch @@ -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@ + \ No newline at end of file diff --git a/pkgs/kde/frameworks/knotifications/default.nix b/pkgs/kde/frameworks/knotifications/default.nix new file mode 100644 index 000000000000..232d4469f0e6 --- /dev/null +++ b/pkgs/kde/frameworks/knotifications/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qttools, + qtdeclarative, + libcanberra, +}: +mkKdeDerivation { + pname = "knotifications"; + + extraNativeBuildInputs = [qttools]; + extraBuildInputs = [qtdeclarative libcanberra]; +} diff --git a/pkgs/kde/frameworks/knotifyconfig/default.nix b/pkgs/kde/frameworks/knotifyconfig/default.nix new file mode 100644 index 000000000000..9c778a322b67 --- /dev/null +++ b/pkgs/kde/frameworks/knotifyconfig/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + libcanberra, +}: +mkKdeDerivation { + pname = "knotifyconfig"; + + extraBuildInputs = [libcanberra]; +} diff --git a/pkgs/kde/frameworks/kpackage/default.nix b/pkgs/kde/frameworks/kpackage/default.nix new file mode 100644 index 000000000000..8f99e10047c0 --- /dev/null +++ b/pkgs/kde/frameworks/kpackage/default.nix @@ -0,0 +1,8 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kpackage"; + + # Follow symlinks when resolving packages + # FIXME(later): upstream + patches = [./follow-symlinks.patch]; +} diff --git a/pkgs/kde/frameworks/kpackage/follow-symlinks.patch b/pkgs/kde/frameworks/kpackage/follow-symlinks.patch new file mode 100644 index 000000000000..8f0af89e1666 --- /dev/null +++ b/pkgs/kde/frameworks/kpackage/follow-symlinks.patch @@ -0,0 +1,13 @@ +diff --git a/src/kpackage/packageloader.cpp b/src/kpackage/packageloader.cpp +index 9dbd1f6..c50a6e5 100644 +--- a/src/kpackage/packageloader.cpp ++++ b/src/kpackage/packageloader.cpp +@@ -128,7 +128,7 @@ QList<KPluginMetaData> PackageLoader::listPackages(const QString &packageFormat, + } + + for (auto const &plugindir : std::as_const(paths)) { +- QDirIterator it(plugindir, QStringList{QStringLiteral("metadata.json")}, QDir::Files, QDirIterator::Subdirectories); ++ QDirIterator it(plugindir, QStringList{QStringLiteral("metadata.json")}, QDir::Files, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + std::unordered_set<QString> dirs; + while (it.hasNext()) { + it.next(); diff --git a/pkgs/kde/frameworks/kparts/default.nix b/pkgs/kde/frameworks/kparts/default.nix new file mode 100644 index 000000000000..547e8b1b016e --- /dev/null +++ b/pkgs/kde/frameworks/kparts/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kparts"; +} diff --git a/pkgs/kde/frameworks/kpeople/default.nix b/pkgs/kde/frameworks/kpeople/default.nix new file mode 100644 index 000000000000..18d56704c2d8 --- /dev/null +++ b/pkgs/kde/frameworks/kpeople/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtdeclarative, +}: +mkKdeDerivation { + pname = "kpeople"; + + extraBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/frameworks/kplotting/default.nix b/pkgs/kde/frameworks/kplotting/default.nix new file mode 100644 index 000000000000..b23c198fd879 --- /dev/null +++ b/pkgs/kde/frameworks/kplotting/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kplotting"; + + extraBuildInputs = [qttools]; +} diff --git a/pkgs/kde/frameworks/kpty/default.nix b/pkgs/kde/frameworks/kpty/default.nix new file mode 100644 index 000000000000..d60c2a5665f2 --- /dev/null +++ b/pkgs/kde/frameworks/kpty/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kpty"; +} diff --git a/pkgs/kde/frameworks/kquickcharts/default.nix b/pkgs/kde/frameworks/kquickcharts/default.nix new file mode 100644 index 000000000000..305df6000403 --- /dev/null +++ b/pkgs/kde/frameworks/kquickcharts/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtdeclarative, +}: +mkKdeDerivation { + pname = "kquickcharts"; + + extraBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/frameworks/krunner/default.nix b/pkgs/kde/frameworks/krunner/default.nix new file mode 100644 index 000000000000..f817c1560c26 --- /dev/null +++ b/pkgs/kde/frameworks/krunner/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + plasma-activities, +}: +mkKdeDerivation { + pname = "krunner"; + + extraBuildInputs = [plasma-activities]; +} diff --git a/pkgs/kde/frameworks/kservice/default.nix b/pkgs/kde/frameworks/kservice/default.nix new file mode 100644 index 000000000000..3da4fd1fdd75 --- /dev/null +++ b/pkgs/kde/frameworks/kservice/default.nix @@ -0,0 +1,10 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kservice"; + + patches = [ + # follow symlinks when generating sycoca + # FIXME(later): upstream + ./qdiriterator-follow-symlinks.patch + ]; +} diff --git a/pkgs/kde/frameworks/kservice/qdiriterator-follow-symlinks.patch b/pkgs/kde/frameworks/kservice/qdiriterator-follow-symlinks.patch new file mode 100644 index 000000000000..fdd8b4d81a18 --- /dev/null +++ b/pkgs/kde/frameworks/kservice/qdiriterator-follow-symlinks.patch @@ -0,0 +1,13 @@ +diff --git a/src/sycoca/kbuildsycoca.cpp b/src/sycoca/kbuildsycoca.cpp +index b125299..0682b90 100644 +--- a/src/sycoca/kbuildsycoca.cpp ++++ b/src/sycoca/kbuildsycoca.cpp +@@ -207,7 +207,7 @@ bool KBuildSycoca::build() + const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, m_resourceSubdir, QStandardPaths::LocateDirectory); + qCDebug(SYCOCA) << "Looking for subdir" << m_resourceSubdir << "=>" << dirs; + for (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... diff --git a/pkgs/kde/frameworks/kstatusnotifieritem/default.nix b/pkgs/kde/frameworks/kstatusnotifieritem/default.nix new file mode 100644 index 000000000000..bc3b255caaeb --- /dev/null +++ b/pkgs/kde/frameworks/kstatusnotifieritem/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kstatusnotifieritem"; + + extraNativeBuildInputs = [qttools]; +} diff --git a/pkgs/kde/frameworks/ksvg/default.nix b/pkgs/kde/frameworks/ksvg/default.nix new file mode 100644 index 000000000000..82dbce5c0829 --- /dev/null +++ b/pkgs/kde/frameworks/ksvg/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtdeclarative, + qtsvg, +}: +mkKdeDerivation { + pname = "ksvg"; + + extraBuildInputs = [qtdeclarative qtsvg]; +} diff --git a/pkgs/kde/frameworks/ktexteditor/default.nix b/pkgs/kde/frameworks/ktexteditor/default.nix new file mode 100644 index 000000000000..9a666c4e6a61 --- /dev/null +++ b/pkgs/kde/frameworks/ktexteditor/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qtdeclarative, + qtspeech, + editorconfig-core-c, +}: +mkKdeDerivation { + pname = "ktexteditor"; + + extraBuildInputs = [qtdeclarative qtspeech editorconfig-core-c]; +} diff --git a/pkgs/kde/frameworks/ktexttemplate/default.nix b/pkgs/kde/frameworks/ktexttemplate/default.nix new file mode 100644 index 000000000000..673a10863ac6 --- /dev/null +++ b/pkgs/kde/frameworks/ktexttemplate/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtdeclarative, +}: +mkKdeDerivation { + pname = "ktexttemplate"; + + extraBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/frameworks/ktextwidgets/default.nix b/pkgs/kde/frameworks/ktextwidgets/default.nix new file mode 100644 index 000000000000..a90de215c598 --- /dev/null +++ b/pkgs/kde/frameworks/ktextwidgets/default.nix @@ -0,0 +1,13 @@ +{ + mkKdeDerivation, + qtspeech, + qttools, +}: +mkKdeDerivation { + pname = "ktextwidgets"; + + extraBuildInputs = [ + qtspeech + qttools + ]; +} diff --git a/pkgs/kde/frameworks/kunitconversion/default.nix b/pkgs/kde/frameworks/kunitconversion/default.nix new file mode 100644 index 000000000000..1d7cb52566d4 --- /dev/null +++ b/pkgs/kde/frameworks/kunitconversion/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kunitconversion"; +} diff --git a/pkgs/kde/frameworks/kuserfeedback/default.nix b/pkgs/kde/frameworks/kuserfeedback/default.nix new file mode 100644 index 000000000000..979362e6bfb8 --- /dev/null +++ b/pkgs/kde/frameworks/kuserfeedback/default.nix @@ -0,0 +1,12 @@ +{ + 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]; +} diff --git a/pkgs/kde/frameworks/kwallet/default.nix b/pkgs/kde/frameworks/kwallet/default.nix new file mode 100644 index 000000000000..3fffce1f3068 --- /dev/null +++ b/pkgs/kde/frameworks/kwallet/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + libgcrypt, + kdoctools, +}: +mkKdeDerivation { + pname = "kwallet"; + + extraBuildInputs = [libgcrypt kdoctools]; +} diff --git a/pkgs/kde/frameworks/kwidgetsaddons/default.nix b/pkgs/kde/frameworks/kwidgetsaddons/default.nix new file mode 100644 index 000000000000..09dfb3228d05 --- /dev/null +++ b/pkgs/kde/frameworks/kwidgetsaddons/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kwidgetsaddons"; + + extraNativeBuildInputs = [qttools]; +} diff --git a/pkgs/kde/frameworks/kwindowsystem/default.nix b/pkgs/kde/frameworks/kwindowsystem/default.nix new file mode 100644 index 000000000000..711638cb106c --- /dev/null +++ b/pkgs/kde/frameworks/kwindowsystem/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + qttools, + qtdeclarative, + qtwayland, + pkg-config, + wayland, +}: +mkKdeDerivation { + pname = "kwindowsystem"; + + extraNativeBuildInputs = [qttools pkg-config]; + extraBuildInputs = [qtdeclarative qtwayland wayland]; +} diff --git a/pkgs/kde/frameworks/kxmlgui/default.nix b/pkgs/kde/frameworks/kxmlgui/default.nix new file mode 100644 index 000000000000..64734cde5af6 --- /dev/null +++ b/pkgs/kde/frameworks/kxmlgui/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kxmlgui"; + + extraBuildInputs = [qttools]; +} diff --git a/pkgs/kde/frameworks/modemmanager-qt/default.nix b/pkgs/kde/frameworks/modemmanager-qt/default.nix new file mode 100644 index 000000000000..34a6f1954842 --- /dev/null +++ b/pkgs/kde/frameworks/modemmanager-qt/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + pkg-config, + modemmanager, +}: +mkKdeDerivation { + pname = "modemmanager-qt"; + + extraNativeBuildInputs = [pkg-config]; + extraPropagatedBuildInputs = [modemmanager]; +} diff --git a/pkgs/kde/frameworks/networkmanager-qt/default.nix b/pkgs/kde/frameworks/networkmanager-qt/default.nix new file mode 100644 index 000000000000..bdec89a9ca1d --- /dev/null +++ b/pkgs/kde/frameworks/networkmanager-qt/default.nix @@ -0,0 +1,13 @@ +{ + mkKdeDerivation, + qtdeclarative, + pkg-config, + networkmanager, +}: +mkKdeDerivation { + pname = "networkmanager-qt"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtdeclarative]; + extraPropagatedBuildInputs = [networkmanager]; +} diff --git a/pkgs/kde/frameworks/prison/default.nix b/pkgs/kde/frameworks/prison/default.nix new file mode 100644 index 000000000000..6411be8a34cf --- /dev/null +++ b/pkgs/kde/frameworks/prison/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qtdeclarative, + qtmultimedia, + qrencode, + libdmtx, +}: +mkKdeDerivation { + pname = "prison"; + + extraBuildInputs = [qtdeclarative qtmultimedia qrencode libdmtx]; +} diff --git a/pkgs/kde/frameworks/purpose/default.nix b/pkgs/kde/frameworks/purpose/default.nix new file mode 100644 index 000000000000..8bf85ae19afe --- /dev/null +++ b/pkgs/kde/frameworks/purpose/default.nix @@ -0,0 +1,13 @@ +{ + mkKdeDerivation, + qtdeclarative, + kaccounts-integration, + kdeclarative, + prison, +}: +mkKdeDerivation { + pname = "purpose"; + + extraBuildInputs = [qtdeclarative]; + extraPropagatedBuildInputs = [kaccounts-integration kdeclarative prison]; +} diff --git a/pkgs/kde/frameworks/qqc2-desktop-style/default.nix b/pkgs/kde/frameworks/qqc2-desktop-style/default.nix new file mode 100644 index 000000000000..13d7c9c92153 --- /dev/null +++ b/pkgs/kde/frameworks/qqc2-desktop-style/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qtdeclarative, + sonnet, +}: +mkKdeDerivation { + pname = "qqc2-desktop-style"; + + extraBuildInputs = [qtdeclarative]; + extraPropagatedBuildInputs = [sonnet]; +} diff --git a/pkgs/kde/frameworks/solid/default.nix b/pkgs/kde/frameworks/solid/default.nix new file mode 100644 index 000000000000..941422848058 --- /dev/null +++ b/pkgs/kde/frameworks/solid/default.nix @@ -0,0 +1,16 @@ +{ + mkKdeDerivation, + qttools, + bison, + flex, + libimobiledevice, +}: +mkKdeDerivation { + pname = "solid"; + + # Also search /run/wrappers for mount/umount + patches = [./fix-search-path.patch]; + + extraNativeBuildInputs = [qttools bison flex]; + extraBuildInputs = [libimobiledevice]; +} diff --git a/pkgs/kde/frameworks/solid/fix-search-path.patch b/pkgs/kde/frameworks/solid/fix-search-path.patch new file mode 100644 index 000000000000..010aa1f3efcc --- /dev/null +++ b/pkgs/kde/frameworks/solid/fix-search-path.patch @@ -0,0 +1,17 @@ +diff --git a/src/solid/devices/backends/fstab/fstabhandling.cpp b/src/solid/devices/backends/fstab/fstabhandling.cpp +index ac2a628..7ee46cc 100644 +--- a/src/solid/devices/backends/fstab/fstabhandling.cpp ++++ b/src/solid/devices/backends/fstab/fstabhandling.cpp +@@ -275,7 +275,11 @@ bool Solid::Backends::Fstab::FstabHandling::callSystemCommand(const QString &com + const QObject *receiver, + std::function<void(QProcess *)> callback) + { +- static const QStringList searchPaths{QStringLiteral("/sbin"), QStringLiteral("/bin"), QStringLiteral("/usr/sbin"), QStringLiteral("/usr/bin")}; ++ static const QStringList searchPaths{QStringLiteral("/run/wrappers/bin"), ++ QStringLiteral("/sbin"), ++ QStringLiteral("/bin"), ++ QStringLiteral("/usr/sbin"), ++ QStringLiteral("/usr/bin")}; + static const QString joinedPaths = searchPaths.join(QLatin1Char(':')); + const QString exec = QStandardPaths::findExecutable(commandName, searchPaths); + if (exec.isEmpty()) { diff --git a/pkgs/kde/frameworks/sonnet/default.nix b/pkgs/kde/frameworks/sonnet/default.nix new file mode 100644 index 000000000000..d0775de9bb18 --- /dev/null +++ b/pkgs/kde/frameworks/sonnet/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + qtdeclarative, + qttools, + pkg-config, + aspell, + hunspell, +}: +mkKdeDerivation { + pname = "sonnet"; + + extraNativeBuildInputs = [qttools pkg-config]; + extraBuildInputs = [qtdeclarative aspell hunspell]; +} diff --git a/pkgs/kde/frameworks/syndication/default.nix b/pkgs/kde/frameworks/syndication/default.nix new file mode 100644 index 000000000000..cec50a6777f7 --- /dev/null +++ b/pkgs/kde/frameworks/syndication/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "syndication"; +} diff --git a/pkgs/kde/frameworks/syntax-highlighting/default.nix b/pkgs/kde/frameworks/syntax-highlighting/default.nix new file mode 100644 index 000000000000..4ce448e937d5 --- /dev/null +++ b/pkgs/kde/frameworks/syntax-highlighting/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qtdeclarative, + qttools, + perl, +}: +mkKdeDerivation { + pname = "syntax-highlighting"; + + extraBuildInputs = [qtdeclarative]; + extraNativeBuildInputs = [qttools perl]; +} diff --git a/pkgs/kde/frameworks/threadweaver/default.nix b/pkgs/kde/frameworks/threadweaver/default.nix new file mode 100644 index 000000000000..9da07c2af2ac --- /dev/null +++ b/pkgs/kde/frameworks/threadweaver/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "threadweaver"; +} diff --git a/pkgs/kde/gear/akonadi-calendar-tools/default.nix b/pkgs/kde/gear/akonadi-calendar-tools/default.nix new file mode 100644 index 000000000000..bc863c026709 --- /dev/null +++ b/pkgs/kde/gear/akonadi-calendar-tools/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "akonadi-calendar-tools"; +} diff --git a/pkgs/kde/gear/akonadi-calendar/default.nix b/pkgs/kde/gear/akonadi-calendar/default.nix new file mode 100644 index 000000000000..ffa28766a4e1 --- /dev/null +++ b/pkgs/kde/gear/akonadi-calendar/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "akonadi-calendar"; +} diff --git a/pkgs/kde/gear/akonadi-contacts/default.nix b/pkgs/kde/gear/akonadi-contacts/default.nix new file mode 100644 index 000000000000..b8c1c5bf92cc --- /dev/null +++ b/pkgs/kde/gear/akonadi-contacts/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "akonadi-contacts"; +} diff --git a/pkgs/kde/gear/akonadi-import-wizard/default.nix b/pkgs/kde/gear/akonadi-import-wizard/default.nix new file mode 100644 index 000000000000..191944a9e90d --- /dev/null +++ b/pkgs/kde/gear/akonadi-import-wizard/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "akonadi-import-wizard"; +} diff --git a/pkgs/kde/gear/akonadi-mime/default.nix b/pkgs/kde/gear/akonadi-mime/default.nix new file mode 100644 index 000000000000..8796f7220134 --- /dev/null +++ b/pkgs/kde/gear/akonadi-mime/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + shared-mime-info, +}: +mkKdeDerivation { + pname = "akonadi-mime"; + + extraNativeBuildInputs = [shared-mime-info]; +} diff --git a/pkgs/kde/gear/akonadi-notes/default.nix b/pkgs/kde/gear/akonadi-notes/default.nix new file mode 100644 index 000000000000..a1cd161a510f --- /dev/null +++ b/pkgs/kde/gear/akonadi-notes/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "akonadi-notes"; +} diff --git a/pkgs/kde/gear/akonadi-search/default.nix b/pkgs/kde/gear/akonadi-search/default.nix new file mode 100644 index 000000000000..87f743f86c30 --- /dev/null +++ b/pkgs/kde/gear/akonadi-search/default.nix @@ -0,0 +1,33 @@ +{ + mkKdeDerivation, + sources, + corrosion, + xapian, + rustPlatform, + cargo, + rustc, + # provided as callPackage input to enable easier overrides through overlays + cargoHash ? "sha256-euUaB+QCwwwPjrUq+3NHt0hjDSW5gch8MwS57KmtIWI=", +}: +mkKdeDerivation rec { + pname = "akonadi-search"; + inherit (sources.${pname}) version; + + cargoRoot = "agent/rs/htmlparser"; + + cargoDeps = rustPlatform.fetchCargoTarball { + # include version in the name so we invalidate the FOD + name = "${pname}-${version}"; + src = sources.${pname}; + sourceRoot = "${pname}-${version}/${cargoRoot}"; + hash = cargoHash; + }; + + extraNativeBuildInputs = [ + rustPlatform.cargoSetupHook + cargo + rustc + ]; + + extraBuildInputs = [corrosion xapian]; +} diff --git a/pkgs/kde/gear/akonadi/default.nix b/pkgs/kde/gear/akonadi/default.nix new file mode 100644 index 000000000000..20fd1f54b1ec --- /dev/null +++ b/pkgs/kde/gear/akonadi/default.nix @@ -0,0 +1,16 @@ +{ + mkKdeDerivation, + qttools, + accounts-qt, + kaccounts-integration, + shared-mime-info, + xz, +}: +mkKdeDerivation { + pname = "akonadi"; + + # FIXME(later): investigate nixpkgs patches + + extraNativeBuildInputs = [qttools shared-mime-info]; + extraBuildInputs = [kaccounts-integration accounts-qt xz]; +} diff --git a/pkgs/kde/gear/akonadiconsole/default.nix b/pkgs/kde/gear/akonadiconsole/default.nix new file mode 100644 index 000000000000..4820faea5705 --- /dev/null +++ b/pkgs/kde/gear/akonadiconsole/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + xapian, +}: +mkKdeDerivation { + pname = "akonadiconsole"; + + extraBuildInputs = [xapian]; +} diff --git a/pkgs/kde/gear/akregator/default.nix b/pkgs/kde/gear/akregator/default.nix new file mode 100644 index 000000000000..4d52e4947b78 --- /dev/null +++ b/pkgs/kde/gear/akregator/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtwebengine, +}: +mkKdeDerivation { + pname = "akregator"; + + extraBuildInputs = [qtwebengine]; +} diff --git a/pkgs/kde/gear/alligator/default.nix b/pkgs/kde/gear/alligator/default.nix new file mode 100644 index 000000000000..bf3a4fb53b9d --- /dev/null +++ b/pkgs/kde/gear/alligator/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "alligator"; +} diff --git a/pkgs/kde/gear/analitza/default.nix b/pkgs/kde/gear/analitza/default.nix new file mode 100644 index 000000000000..318c0b648279 --- /dev/null +++ b/pkgs/kde/gear/analitza/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + qt5compat, + qtsvg, + qttools, + qtdeclarative, + eigen, +}: +mkKdeDerivation { + pname = "analitza"; + + extraNativeBuildInputs = [qt5compat qtsvg qttools]; + extraBuildInputs = [qtdeclarative eigen]; +} diff --git a/pkgs/kde/gear/angelfish/default.nix b/pkgs/kde/gear/angelfish/default.nix new file mode 100644 index 000000000000..133509e78b7a --- /dev/null +++ b/pkgs/kde/gear/angelfish/default.nix @@ -0,0 +1,32 @@ +{ + mkKdeDerivation, + sources, + qtsvg, + qtwebengine, + corrosion, + rustPlatform, + cargo, + rustc, + # provided as callPackage input to enable easier overrides through overlays + cargoHash ? "sha256-kkoLWJvPx1Hq+MQkPgTffrTFYgVlVfKdmJq5ExAW1NE=", + qcoro, +}: +mkKdeDerivation rec { + pname = "angelfish"; + inherit (sources.${pname}) version; + + cargoDeps = rustPlatform.fetchCargoTarball { + # include version in the name so we invalidate the FOD + name = "${pname}-${version}"; + src = sources.${pname}; + hash = cargoHash; + }; + + extraNativeBuildInputs = [ + rustPlatform.cargoSetupHook + cargo + rustc + ]; + + extraBuildInputs = [corrosion qtsvg qtwebengine qcoro]; +} diff --git a/pkgs/kde/gear/arianna/default.nix b/pkgs/kde/gear/arianna/default.nix new file mode 100644 index 000000000000..d3a63bc19455 --- /dev/null +++ b/pkgs/kde/gear/arianna/default.nix @@ -0,0 +1,21 @@ +{ + mkKdeDerivation, + qthttpserver, + qtsvg, + qtwebchannel, + qtwebengine, + kitemmodels, + kquickcharts, +}: +mkKdeDerivation { + pname = "arianna"; + + extraBuildInputs = [ + qthttpserver + qtsvg + qtwebchannel + qtwebengine + kitemmodels + kquickcharts + ]; +} diff --git a/pkgs/kde/gear/ark/default.nix b/pkgs/kde/gear/ark/default.nix new file mode 100644 index 000000000000..ae443c21cf84 --- /dev/null +++ b/pkgs/kde/gear/ark/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + libarchive, + libzip, +}: +mkKdeDerivation { + pname = "ark"; + + extraBuildInputs = [libarchive libzip]; +} diff --git a/pkgs/kde/gear/artikulate/default.nix b/pkgs/kde/gear/artikulate/default.nix new file mode 100644 index 000000000000..c82db10260f7 --- /dev/null +++ b/pkgs/kde/gear/artikulate/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qtmultimedia, +}: +mkKdeDerivation { + pname = "artikulate"; + + extraBuildInputs = [qtmultimedia]; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/audiocd-kio/default.nix b/pkgs/kde/gear/audiocd-kio/default.nix new file mode 100644 index 000000000000..c2f5c2558826 --- /dev/null +++ b/pkgs/kde/gear/audiocd-kio/default.nix @@ -0,0 +1,24 @@ +{ + lib, + mkKdeDerivation, + cdparanoia, + flac, + libogg, + libvorbis, + substituteAll, + lame, + opusTools, +}: +mkKdeDerivation { + pname = "audiocd-kio"; + + patches = [ + (substituteAll { + src = ./encoder-paths.patch; + lame = lib.getExe lame; + opusenc = "${opusTools}/bin/opusenc"; + }) + ]; + + extraBuildInputs = [cdparanoia flac libogg libvorbis]; +} diff --git a/pkgs/kde/gear/audiocd-kio/encoder-paths.patch b/pkgs/kde/gear/audiocd-kio/encoder-paths.patch new file mode 100644 index 000000000000..c39835a8b1f3 --- /dev/null +++ b/pkgs/kde/gear/audiocd-kio/encoder-paths.patch @@ -0,0 +1,35 @@ +diff --git a/plugins/lame/encoderlame.cpp b/plugins/lame/encoderlame.cpp +index 48d1d76..2643d6a 100644 +--- a/plugins/lame/encoderlame.cpp ++++ b/plugins/lame/encoderlame.cpp +@@ -244,7 +244,7 @@ long EncoderLame::readInit(long /*size*/) + + // -r raw/pcm + // -s 44.1 (because it is raw you have to specify this) +- *(d->currentEncodeProcess) << QStringLiteral("lame") << QStringLiteral("--verbose") << QStringLiteral("-r") << QStringLiteral("-s") ++ *(d->currentEncodeProcess) << QStringLiteral("@lame@") << QStringLiteral("--verbose") << QStringLiteral("-r") << QStringLiteral("-s") + << QStringLiteral("44.1"); + *(d->currentEncodeProcess) << args; + if (Settings::self()->id3_tag()) +diff --git a/plugins/opus/encoderopus.cpp b/plugins/opus/encoderopus.cpp +index ef297fb..465bb3e 100644 +--- a/plugins/opus/encoderopus.cpp ++++ b/plugins/opus/encoderopus.cpp +@@ -82,7 +82,7 @@ QWidget *EncoderOpus::getConfigureWidget(KConfigSkeleton **manager) const + bool EncoderOpus::init() + { + // Determine if opusenc is installed on the system or not. +- if (QStandardPaths::findExecutable(QStringLiteral("opusenc")).isEmpty()) ++ if (QStandardPaths::findExecutable(QStringLiteral("@opusenc@")).isEmpty()) + return false; + + return true; +@@ -140,7 +140,7 @@ long EncoderOpus::readInit(long /*size*/) + + // --raw raw/pcm + // --raw-rate 44100 (because it is raw you have to specify this) +- *(d->currentEncodeProcess) << QStringLiteral("opusenc") << QStringLiteral("--raw") << QStringLiteral("--raw-rate") << QStringLiteral("44100"); ++ *(d->currentEncodeProcess) << QStringLiteral("@opusenc@") << QStringLiteral("--raw") << QStringLiteral("--raw-rate") << QStringLiteral("44100"); + *(d->currentEncodeProcess) << args; + *d->currentEncodeProcess << trackInfo; + diff --git a/pkgs/kde/gear/audiotube/default.nix b/pkgs/kde/gear/audiotube/default.nix new file mode 100644 index 000000000000..60e646cd71c1 --- /dev/null +++ b/pkgs/kde/gear/audiotube/default.nix @@ -0,0 +1,53 @@ +{ + mkKdeDerivation, + qtdeclarative, + qtmultimedia, + qtsvg, + extra-cmake-modules, + futuresql, + kcoreaddons, + kcrash, + ki18n, + kirigami-addons, + kirigami, + kwindowsystem, + purpose, + qcoro, + python3, +}: let + ps = python3.pkgs; + pythonDeps = [ + ps.yt-dlp + ps.ytmusicapi + ]; +in + mkKdeDerivation { + pname = "audiotube"; + + extraNativeBuildInputs = [ + ps.pybind11 + ]; + + extraBuildInputs = + [ + qtdeclarative + qtmultimedia + qtsvg + + extra-cmake-modules + futuresql + kirigami + kirigami-addons + kcoreaddons + ki18n + kcrash + kwindowsystem + purpose + qcoro + ] + ++ pythonDeps; + + qtWrapperArgs = [ + "--prefix PYTHONPATH : ${ps.makePythonPath pythonDeps}" + ]; + } diff --git a/pkgs/kde/gear/baloo-widgets/default.nix b/pkgs/kde/gear/baloo-widgets/default.nix new file mode 100644 index 000000000000..ca638bef6074 --- /dev/null +++ b/pkgs/kde/gear/baloo-widgets/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "baloo-widgets"; +} diff --git a/pkgs/kde/gear/blinken/default.nix b/pkgs/kde/gear/blinken/default.nix new file mode 100644 index 000000000000..ac5f4273ebd5 --- /dev/null +++ b/pkgs/kde/gear/blinken/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "blinken"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/bomber/default.nix b/pkgs/kde/gear/bomber/default.nix new file mode 100644 index 000000000000..a0e2ea97428c --- /dev/null +++ b/pkgs/kde/gear/bomber/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + _7zz, +}: +mkKdeDerivation { + pname = "bomber"; + + extraNativeBuildInputs = [_7zz]; +} diff --git a/pkgs/kde/gear/bovo/default.nix b/pkgs/kde/gear/bovo/default.nix new file mode 100644 index 000000000000..bc48853616ef --- /dev/null +++ b/pkgs/kde/gear/bovo/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "bovo"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/calendarsupport/default.nix b/pkgs/kde/gear/calendarsupport/default.nix new file mode 100644 index 000000000000..b6632a384d65 --- /dev/null +++ b/pkgs/kde/gear/calendarsupport/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "calendarsupport"; +} diff --git a/pkgs/kde/gear/calindori/default.nix b/pkgs/kde/gear/calindori/default.nix new file mode 100644 index 000000000000..f0b21c7986a7 --- /dev/null +++ b/pkgs/kde/gear/calindori/default.nix @@ -0,0 +1,15 @@ +{ + mkKdeDerivation, + qtsvg, + qqc2-desktop-style, +}: +mkKdeDerivation { + pname = "calindori"; + + extraBuildInputs = [ + qtsvg + qqc2-desktop-style + ]; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/cantor/default.nix b/pkgs/kde/gear/cantor/default.nix new file mode 100644 index 000000000000..42963aabbba0 --- /dev/null +++ b/pkgs/kde/gear/cantor/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + shared-mime-info, +}: +mkKdeDerivation { + pname = "cantor"; + + extraNativeBuildInputs = [shared-mime-info]; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/cervisia/default.nix b/pkgs/kde/gear/cervisia/default.nix new file mode 100644 index 000000000000..d8546e9d8a30 --- /dev/null +++ b/pkgs/kde/gear/cervisia/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "cervisia"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/colord-kde/default.nix b/pkgs/kde/gear/colord-kde/default.nix new file mode 100644 index 000000000000..adacf19ba9a3 --- /dev/null +++ b/pkgs/kde/gear/colord-kde/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + pkg-config, + lcms2, + xorg, +}: +mkKdeDerivation { + pname = "colord-kde"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [lcms2 xorg.libXrandr]; +} diff --git a/pkgs/kde/gear/default.nix b/pkgs/kde/gear/default.nix new file mode 100644 index 000000000000..629711d72286 --- /dev/null +++ b/pkgs/kde/gear/default.nix @@ -0,0 +1,248 @@ +{callPackage}: { + akonadi = callPackage ./akonadi {}; + akonadi-calendar = callPackage ./akonadi-calendar {}; + akonadi-calendar-tools = callPackage ./akonadi-calendar-tools {}; + akonadiconsole = callPackage ./akonadiconsole {}; + akonadi-contacts = callPackage ./akonadi-contacts {}; + akonadi-import-wizard = callPackage ./akonadi-import-wizard {}; + akonadi-mime = callPackage ./akonadi-mime {}; + akonadi-notes = callPackage ./akonadi-notes {}; + akonadi-search = callPackage ./akonadi-search {}; + akregator = callPackage ./akregator {}; + alligator = callPackage ./alligator {}; + analitza = callPackage ./analitza {}; + angelfish = callPackage ./angelfish {}; + arianna = callPackage ./arianna {}; + ark = callPackage ./ark {}; + artikulate = callPackage ./artikulate {}; + audiocd-kio = callPackage ./audiocd-kio {}; + audiotube = callPackage ./audiotube {}; + baloo-widgets = callPackage ./baloo-widgets {}; + blinken = callPackage ./blinken {}; + bomber = callPackage ./bomber {}; + bovo = callPackage ./bovo {}; + calendarsupport = callPackage ./calendarsupport {}; + calindori = callPackage ./calindori {}; + cantor = callPackage ./cantor {}; + cervisia = callPackage ./cervisia {}; + colord-kde = callPackage ./colord-kde {}; + dolphin = callPackage ./dolphin {}; + dolphin-plugins = callPackage ./dolphin-plugins {}; + dragon = callPackage ./dragon {}; + elisa = callPackage ./elisa {}; + eventviews = callPackage ./eventviews {}; + falkon = callPackage ./falkon {}; + ffmpegthumbs = callPackage ./ffmpegthumbs {}; + filelight = callPackage ./filelight {}; + ghostwriter = callPackage ./ghostwriter {}; + granatier = callPackage ./granatier {}; + grantlee-editor = callPackage ./grantlee-editor {}; + grantleetheme = callPackage ./grantleetheme {}; + gwenview = callPackage ./gwenview {}; + incidenceeditor = callPackage ./incidenceeditor {}; + isoimagewriter = callPackage ./isoimagewriter {}; + itinerary = callPackage ./itinerary {}; + juk = callPackage ./juk {}; + k3b = callPackage ./k3b {}; + kaccounts-integration = callPackage ./kaccounts-integration {}; + kaccounts-providers = callPackage ./kaccounts-providers {}; + kaddressbook = callPackage ./kaddressbook {}; + kajongg = callPackage ./kajongg {}; + kalarm = callPackage ./kalarm {}; + kalgebra = callPackage ./kalgebra {}; + kalk = callPackage ./kalk {}; + kalzium = callPackage ./kalzium {}; + kamera = callPackage ./kamera {}; + kamoso = callPackage ./kamoso {}; + kanagram = callPackage ./kanagram {}; + kapman = callPackage ./kapman {}; + kapptemplate = callPackage ./kapptemplate {}; + kasts = callPackage ./kasts {}; + kate = callPackage ./kate {}; + katomic = callPackage ./katomic {}; + kbackup = callPackage ./kbackup {}; + kblackbox = callPackage ./kblackbox {}; + kblocks = callPackage ./kblocks {}; + kbounce = callPackage ./kbounce {}; + kbreakout = callPackage ./kbreakout {}; + kbruch = callPackage ./kbruch {}; + kcachegrind = callPackage ./kcachegrind {}; + kcalc = callPackage ./kcalc {}; + kcalutils = callPackage ./kcalutils {}; + kcharselect = callPackage ./kcharselect {}; + kclock = callPackage ./kclock {}; + kcolorchooser = callPackage ./kcolorchooser {}; + kcron = callPackage ./kcron {}; + kdebugsettings = callPackage ./kdebugsettings {}; + kdeconnect-kde = callPackage ./kdeconnect-kde {}; + kde-dev-scripts = callPackage ./kde-dev-scripts {}; + kde-dev-utils = callPackage ./kde-dev-utils {}; + kdeedu-data = callPackage ./kdeedu-data {}; + kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket {}; + kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers {}; + kde-inotify-survey = callPackage ./kde-inotify-survey {}; + kdenetwork-filesharing = callPackage ./kdenetwork-filesharing {}; + kdenlive = callPackage ./kdenlive {}; + kdepim-addons = callPackage ./kdepim-addons {}; + kdepim-runtime = callPackage ./kdepim-runtime {}; + kdesdk-kio = callPackage ./kdesdk-kio {}; + kdesdk-thumbnailers = callPackage ./kdesdk-thumbnailers {}; + kdevelop = callPackage ./kdevelop {}; + kdev-php = callPackage ./kdev-php {}; + kdev-python = callPackage ./kdev-python {}; + kdf = callPackage ./kdf {}; + kdialog = callPackage ./kdialog {}; + kdiamond = callPackage ./kdiamond {}; + keditbookmarks = callPackage ./keditbookmarks {}; + keysmith = callPackage ./keysmith {}; + kfind = callPackage ./kfind {}; + kfourinline = callPackage ./kfourinline {}; + kgeography = callPackage ./kgeography {}; + kget = callPackage ./kget {}; + kgoldrunner = callPackage ./kgoldrunner {}; + kgpg = callPackage ./kgpg {}; + khangman = callPackage ./khangman {}; + khealthcertificate = callPackage ./khealthcertificate {}; + khelpcenter = callPackage ./khelpcenter {}; + kidentitymanagement = callPackage ./kidentitymanagement {}; + kig = callPackage ./kig {}; + kigo = callPackage ./kigo {}; + killbots = callPackage ./killbots {}; + kimagemapeditor = callPackage ./kimagemapeditor {}; + kimap = callPackage ./kimap {}; + kio-admin = callPackage ./kio-admin {}; + kio-extras = callPackage ./kio-extras {}; + kio-extras-kf5 = callPackage ./kio-extras-kf5 {}; + kio-gdrive = callPackage ./kio-gdrive {}; + kio-zeroconf = callPackage ./kio-zeroconf {}; + kipi-plugins = callPackage ./kipi-plugins {}; + kirigami-gallery = callPackage ./kirigami-gallery {}; + kiriki = callPackage ./kiriki {}; + kiten = callPackage ./kiten {}; + kitinerary = callPackage ./kitinerary {}; + kjournald = callPackage ./kjournald {}; + kjumpingcube = callPackage ./kjumpingcube {}; + kldap = callPackage ./kldap {}; + kleopatra = callPackage ./kleopatra {}; + klettres = callPackage ./klettres {}; + klickety = callPackage ./klickety {}; + klines = callPackage ./klines {}; + kmag = callPackage ./kmag {}; + kmahjongg = callPackage ./kmahjongg {}; + kmail = callPackage ./kmail {}; + kmail-account-wizard = callPackage ./kmail-account-wizard {}; + kmailtransport = callPackage ./kmailtransport {}; + kmbox = callPackage ./kmbox {}; + kmime = callPackage ./kmime {}; + kmines = callPackage ./kmines {}; + kmix = callPackage ./kmix {}; + kmousetool = callPackage ./kmousetool {}; + kmouth = callPackage ./kmouth {}; + kmplot = callPackage ./kmplot {}; + knavalbattle = callPackage ./knavalbattle {}; + knetwalk = callPackage ./knetwalk {}; + knights = callPackage ./knights {}; + knotes = callPackage ./knotes {}; + koko = callPackage ./koko {}; + kolf = callPackage ./kolf {}; + kollision = callPackage ./kollision {}; + kolourpaint = callPackage ./kolourpaint {}; + kompare = callPackage ./kompare {}; + kongress = callPackage ./kongress {}; + konqueror = callPackage ./konqueror {}; + konquest = callPackage ./konquest {}; + konsole = callPackage ./konsole {}; + kontact = callPackage ./kontact {}; + kontactinterface = callPackage ./kontactinterface {}; + kontrast = callPackage ./kontrast {}; + konversation = callPackage ./konversation {}; + kopeninghours = callPackage ./kopeninghours {}; + korganizer = callPackage ./korganizer {}; + kosmindoormap = callPackage ./kosmindoormap {}; + kpat = callPackage ./kpat {}; + kpimtextedit = callPackage ./kpimtextedit {}; + kpkpass = callPackage ./kpkpass {}; + kpmcore = callPackage ./kpmcore {}; + kpublictransport = callPackage ./kpublictransport {}; + kqtquickcharts = callPackage ./kqtquickcharts {}; + krdc = callPackage ./krdc {}; + krecorder = callPackage ./krecorder {}; + kreversi = callPackage ./kreversi {}; + krfb = callPackage ./krfb {}; + kross-interpreters = callPackage ./kross-interpreters {}; + kruler = callPackage ./kruler {}; + ksanecore = callPackage ./ksanecore {}; + kshisen = callPackage ./kshisen {}; + ksirk = callPackage ./ksirk {}; + ksmtp = callPackage ./ksmtp {}; + ksnakeduel = callPackage ./ksnakeduel {}; + kspaceduel = callPackage ./kspaceduel {}; + ksquares = callPackage ./ksquares {}; + ksudoku = callPackage ./ksudoku {}; + ksystemlog = callPackage ./ksystemlog {}; + kteatime = callPackage ./kteatime {}; + ktimer = callPackage ./ktimer {}; + ktnef = callPackage ./ktnef {}; + ktorrent = callPackage ./ktorrent {}; + ktouch = callPackage ./ktouch {}; + ktrip = callPackage ./ktrip {}; + ktuberling = callPackage ./ktuberling {}; + kturtle = callPackage ./kturtle {}; + kubrick = callPackage ./kubrick {}; + kwalletmanager = callPackage ./kwalletmanager {}; + kwave = callPackage ./kwave {}; + kweather = callPackage ./kweather {}; + kwordquiz = callPackage ./kwordquiz {}; + libgravatar = callPackage ./libgravatar {}; + libkcddb = callPackage ./libkcddb {}; + libkcompactdisc = callPackage ./libkcompactdisc {}; + libkdcraw = callPackage ./libkdcraw {}; + libkdegames = callPackage ./libkdegames {}; + libkdepim = callPackage ./libkdepim {}; + libkeduvocdocument = callPackage ./libkeduvocdocument {}; + libkexiv2 = callPackage ./libkexiv2 {}; + libkgapi = callPackage ./libkgapi {}; + libkipi = callPackage ./libkipi {}; + libkleo = callPackage ./libkleo {}; + libkmahjongg = callPackage ./libkmahjongg {}; + libkomparediff2 = callPackage ./libkomparediff2 {}; + libksane = callPackage ./libksane {}; + libksieve = callPackage ./libksieve {}; + libktorrent = callPackage ./libktorrent {}; + lokalize = callPackage ./lokalize {}; + lskat = callPackage ./lskat {}; + mailcommon = callPackage ./mailcommon {}; + mailimporter = callPackage ./mailimporter {}; + marble = callPackage ./marble {}; + markdownpart = callPackage ./markdownpart {}; + mbox-importer = callPackage ./mbox-importer {}; + merkuro = callPackage ./merkuro {}; + messagelib = callPackage ./messagelib {}; + mimetreeparser = callPackage ./mimetreeparser {}; + minuet = callPackage ./minuet {}; + neochat = callPackage ./neochat {}; + okular = callPackage ./okular {}; + palapeli = callPackage ./palapeli {}; + parley = callPackage ./parley {}; + partitionmanager = callPackage ./partitionmanager {}; + picmi = callPackage ./picmi {}; + pimcommon = callPackage ./pimcommon {}; + pim-data-exporter = callPackage ./pim-data-exporter {}; + pim-sieve-editor = callPackage ./pim-sieve-editor {}; + plasmatube = callPackage ./plasmatube {}; + poxml = callPackage ./poxml {}; + qmlkonsole = callPackage ./qmlkonsole {}; + rocs = callPackage ./rocs {}; + signon-kwallet-extension = callPackage ./signon-kwallet-extension {}; + skanlite = callPackage ./skanlite {}; + skanpage = callPackage ./skanpage {}; + spectacle = callPackage ./spectacle {}; + step = callPackage ./step {}; + svgpart = callPackage ./svgpart {}; + sweeper = callPackage ./sweeper {}; + telly-skout = callPackage ./telly-skout {}; + tokodon = callPackage ./tokodon {}; + umbrello = callPackage ./umbrello {}; + yakuake = callPackage ./yakuake {}; + zanshin = callPackage ./zanshin {}; +} diff --git a/pkgs/kde/gear/dolphin-plugins/default.nix b/pkgs/kde/gear/dolphin-plugins/default.nix new file mode 100644 index 000000000000..cc88d732389f --- /dev/null +++ b/pkgs/kde/gear/dolphin-plugins/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "dolphin-plugins"; +} diff --git a/pkgs/kde/gear/dolphin/default.nix b/pkgs/kde/gear/dolphin/default.nix new file mode 100644 index 000000000000..eb70e9c9d086 --- /dev/null +++ b/pkgs/kde/gear/dolphin/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "dolphin"; +} diff --git a/pkgs/kde/gear/dragon/default.nix b/pkgs/kde/gear/dragon/default.nix new file mode 100644 index 000000000000..0b1900203c05 --- /dev/null +++ b/pkgs/kde/gear/dragon/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "dragon"; +} diff --git a/pkgs/kde/gear/elisa/default.nix b/pkgs/kde/gear/elisa/default.nix new file mode 100644 index 000000000000..4f4437a5794c --- /dev/null +++ b/pkgs/kde/gear/elisa/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtmultimedia, + vlc, +}: +mkKdeDerivation { + pname = "elisa"; + + extraBuildInputs = [qtmultimedia vlc]; +} diff --git a/pkgs/kde/gear/eventviews/default.nix b/pkgs/kde/gear/eventviews/default.nix new file mode 100644 index 000000000000..d9d0eeb7d798 --- /dev/null +++ b/pkgs/kde/gear/eventviews/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "eventviews"; +} diff --git a/pkgs/kde/gear/falkon/default.nix b/pkgs/kde/gear/falkon/default.nix new file mode 100644 index 000000000000..3fb5a9e16dbb --- /dev/null +++ b/pkgs/kde/gear/falkon/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + extra-cmake-modules, + qtwebchannel, + qtwebengine, + qttools, + python3Packages, +}: +mkKdeDerivation { + pname = "falkon"; + + extraNativeBuildInputs = [qttools qtwebchannel qtwebengine]; + extraBuildInputs = [extra-cmake-modules qtwebchannel qtwebengine python3Packages.pyside6]; +} diff --git a/pkgs/kde/gear/ffmpegthumbs/default.nix b/pkgs/kde/gear/ffmpegthumbs/default.nix new file mode 100644 index 000000000000..62bd0e10378c --- /dev/null +++ b/pkgs/kde/gear/ffmpegthumbs/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + ffmpeg, +}: +mkKdeDerivation { + pname = "ffmpegthumbs"; + + extraBuildInputs = [ffmpeg]; +} diff --git a/pkgs/kde/gear/filelight/default.nix b/pkgs/kde/gear/filelight/default.nix new file mode 100644 index 000000000000..938cedda3af1 --- /dev/null +++ b/pkgs/kde/gear/filelight/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "filelight"; +} diff --git a/pkgs/kde/gear/ghostwriter/default.nix b/pkgs/kde/gear/ghostwriter/default.nix new file mode 100644 index 000000000000..b3620992ee40 --- /dev/null +++ b/pkgs/kde/gear/ghostwriter/default.nix @@ -0,0 +1,17 @@ +{ + mkKdeDerivation, + qtsvg, + qttools, + qtwebchannel, + qtwebengine, + qt5compat, + pkg-config, + hunspell, + kdoctools, +}: +mkKdeDerivation { + pname = "ghostwriter"; + + extraNativeBuildInputs = [pkg-config kdoctools]; + extraBuildInputs = [qtsvg qttools qtwebchannel qtwebengine qt5compat hunspell]; +} diff --git a/pkgs/kde/gear/granatier/default.nix b/pkgs/kde/gear/granatier/default.nix new file mode 100644 index 000000000000..66a763a962fe --- /dev/null +++ b/pkgs/kde/gear/granatier/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + _7zz, + qtsvg, +}: +mkKdeDerivation { + pname = "granatier"; + + extraNativeBuildInputs = [_7zz]; + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/grantlee-editor/default.nix b/pkgs/kde/gear/grantlee-editor/default.nix new file mode 100644 index 000000000000..a80ea7d8b939 --- /dev/null +++ b/pkgs/kde/gear/grantlee-editor/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtwebengine, +}: +mkKdeDerivation { + pname = "grantlee-editor"; + + extraBuildInputs = [qtwebengine]; +} diff --git a/pkgs/kde/gear/grantleetheme/default.nix b/pkgs/kde/gear/grantleetheme/default.nix new file mode 100644 index 000000000000..5e21e92a54e5 --- /dev/null +++ b/pkgs/kde/gear/grantleetheme/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "grantleetheme"; +} diff --git a/pkgs/kde/gear/gwenview/default.nix b/pkgs/kde/gear/gwenview/default.nix new file mode 100644 index 000000000000..0f9e64696e38 --- /dev/null +++ b/pkgs/kde/gear/gwenview/default.nix @@ -0,0 +1,32 @@ +{ + mkKdeDerivation, + qtsvg, + qtwayland, + pkg-config, + cfitsio, + exiv2, + baloo, + kimageannotator, + lcms2, + libtiff, + wayland, + wayland-protocols, +}: +mkKdeDerivation { + pname = "gwenview"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [ + qtsvg + qtwayland + + cfitsio + exiv2 + baloo + kimageannotator + lcms2 + libtiff + wayland + wayland-protocols + ]; +} diff --git a/pkgs/kde/gear/incidenceeditor/default.nix b/pkgs/kde/gear/incidenceeditor/default.nix new file mode 100644 index 000000000000..cf8c1e7857c4 --- /dev/null +++ b/pkgs/kde/gear/incidenceeditor/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "incidenceeditor"; +} diff --git a/pkgs/kde/gear/isoimagewriter/default.nix b/pkgs/kde/gear/isoimagewriter/default.nix new file mode 100644 index 000000000000..daad31ea436b --- /dev/null +++ b/pkgs/kde/gear/isoimagewriter/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qgpgme, +}: +mkKdeDerivation { + pname = "isoimagewriter"; + + extraBuildInputs = [qgpgme]; +} diff --git a/pkgs/kde/gear/itinerary/default.nix b/pkgs/kde/gear/itinerary/default.nix new file mode 100644 index 000000000000..5a0b7b7d714a --- /dev/null +++ b/pkgs/kde/gear/itinerary/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + pkg-config, + qtlocation, + qtpositioning, + shared-mime-info, + libical, +}: +mkKdeDerivation { + pname = "itinerary"; + + extraNativeBuildInputs = [pkg-config shared-mime-info]; + extraBuildInputs = [qtlocation qtpositioning libical]; +} diff --git a/pkgs/kde/gear/juk/default.nix b/pkgs/kde/gear/juk/default.nix new file mode 100644 index 000000000000..dec454d2385b --- /dev/null +++ b/pkgs/kde/gear/juk/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtsvg, + taglib, +}: +mkKdeDerivation { + pname = "juk"; + + extraBuildInputs = [qtsvg taglib]; +} diff --git a/pkgs/kde/gear/k3b/default.nix b/pkgs/kde/gear/k3b/default.nix new file mode 100644 index 000000000000..ab6b39a2f5e4 --- /dev/null +++ b/pkgs/kde/gear/k3b/default.nix @@ -0,0 +1,53 @@ +{ + lib, + mkKdeDerivation, + pkg-config, + qtwebengine, + shared-mime-info, + libdvdread, + flac, + libmad, + libsndfile, + lame, + libvorbis, + libsamplerate, + cdrdao, + cdrtools, + dvdplusrwtools, + libburn, + normalize, + sox, + transcode, + vcdimager, +}: +mkKdeDerivation { + pname = "k3b"; + + extraNativeBuildInputs = [pkg-config shared-mime-info]; + + # FIXME: Musicbrainz 2.x???, musepack + extraBuildInputs = [ + qtwebengine + libdvdread + flac + libmad + libsndfile + lame + libvorbis + libsamplerate + ]; + + qtWrapperArgs = [ + "--prefix PATH ':' ${lib.makeBinPath [ + cdrdao + cdrtools + dvdplusrwtools + libburn + normalize + sox + transcode + vcdimager + flac + ]}" + ]; +} diff --git a/pkgs/kde/gear/kaccounts-integration/default.nix b/pkgs/kde/gear/kaccounts-integration/default.nix new file mode 100644 index 000000000000..1b927d3e01ef --- /dev/null +++ b/pkgs/kde/gear/kaccounts-integration/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + intltool, +}: +mkKdeDerivation { + pname = "kaccounts-integration"; + + propagatedNativeBuildInputs = [intltool]; +} diff --git a/pkgs/kde/gear/kaccounts-providers/default.nix b/pkgs/kde/gear/kaccounts-providers/default.nix new file mode 100644 index 000000000000..6cd2fd7e3304 --- /dev/null +++ b/pkgs/kde/gear/kaccounts-providers/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + intltool, + qtdeclarative, + qtwebengine, +}: +mkKdeDerivation { + pname = "kaccounts-providers"; + + extraNativeBuildInputs = [intltool]; + extraBuildInputs = [qtdeclarative qtwebengine]; +} diff --git a/pkgs/kde/gear/kaddressbook/default.nix b/pkgs/kde/gear/kaddressbook/default.nix new file mode 100644 index 000000000000..d4e2c5820038 --- /dev/null +++ b/pkgs/kde/gear/kaddressbook/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kaddressbook"; +} diff --git a/pkgs/kde/gear/kajongg/default.nix b/pkgs/kde/gear/kajongg/default.nix new file mode 100644 index 000000000000..651ac3b3115a --- /dev/null +++ b/pkgs/kde/gear/kajongg/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qtsvg, + python3, +}: +mkKdeDerivation { + pname = "kajongg"; + + extraBuildInputs = [qtsvg python3 python3.pkgs.twisted]; + # FIXME: completely horked, is actually a Python app, needs a lot of fixing + meta.broken = true; +} diff --git a/pkgs/kde/gear/kalarm/default.nix b/pkgs/kde/gear/kalarm/default.nix new file mode 100644 index 000000000000..439f92206967 --- /dev/null +++ b/pkgs/kde/gear/kalarm/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kalarm"; +} diff --git a/pkgs/kde/gear/kalgebra/default.nix b/pkgs/kde/gear/kalgebra/default.nix new file mode 100644 index 000000000000..89aaafc04c96 --- /dev/null +++ b/pkgs/kde/gear/kalgebra/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qtsvg, + qtwebengine, + ncurses, + readline, +}: +mkKdeDerivation { + pname = "kalgebra"; + + extraBuildInputs = [qtsvg qtwebengine ncurses readline]; +} diff --git a/pkgs/kde/gear/kalk/default.nix b/pkgs/kde/gear/kalk/default.nix new file mode 100644 index 000000000000..b2cce371346e --- /dev/null +++ b/pkgs/kde/gear/kalk/default.nix @@ -0,0 +1,25 @@ +{ + mkKdeDerivation, + qtdeclarative, + qqc2-desktop-style, + kirigami-addons, + pkg-config, + bison, + flex, + gmp, + mpfr, + libqalculate, +}: +mkKdeDerivation { + pname = "kalk"; + + extraNativeBuildInputs = [pkg-config bison flex]; + extraBuildInputs = [ + qtdeclarative + qqc2-desktop-style + kirigami-addons + gmp + mpfr + libqalculate + ]; +} diff --git a/pkgs/kde/gear/kalzium/default.nix b/pkgs/kde/gear/kalzium/default.nix new file mode 100644 index 000000000000..7e46128dc967 --- /dev/null +++ b/pkgs/kde/gear/kalzium/default.nix @@ -0,0 +1,16 @@ +{ + mkKdeDerivation, + pkg-config, + ocaml, + eigen, + openbabel, + qtsvg, + qtscxml, +}: +mkKdeDerivation { + pname = "kalzium"; + + # FIXME: look into how to make it find libfacile + extraNativeBuildInputs = [pkg-config ocaml]; + extraBuildInputs = [eigen openbabel qtsvg qtscxml]; +} diff --git a/pkgs/kde/gear/kamera/default.nix b/pkgs/kde/gear/kamera/default.nix new file mode 100644 index 000000000000..3ab21c99f4ed --- /dev/null +++ b/pkgs/kde/gear/kamera/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + pkg-config, + libgphoto2, +}: +mkKdeDerivation { + pname = "kamera"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [libgphoto2]; +} diff --git a/pkgs/kde/gear/kamoso/default.nix b/pkgs/kde/gear/kamoso/default.nix new file mode 100644 index 000000000000..b83e193f3117 --- /dev/null +++ b/pkgs/kde/gear/kamoso/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kamoso"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/kanagram/default.nix b/pkgs/kde/gear/kanagram/default.nix new file mode 100644 index 000000000000..4a12b6153e15 --- /dev/null +++ b/pkgs/kde/gear/kanagram/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtspeech, +}: +mkKdeDerivation { + pname = "kanagram"; + + extraBuildInputs = [qtspeech]; +} diff --git a/pkgs/kde/gear/kapman/default.nix b/pkgs/kde/gear/kapman/default.nix new file mode 100644 index 000000000000..2b3599ccd3f3 --- /dev/null +++ b/pkgs/kde/gear/kapman/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + _7zz, + qtsvg, +}: +mkKdeDerivation { + pname = "kapman"; + + extraNativeBuildInputs = [_7zz]; + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/kapptemplate/default.nix b/pkgs/kde/gear/kapptemplate/default.nix new file mode 100644 index 000000000000..0559bc33e522 --- /dev/null +++ b/pkgs/kde/gear/kapptemplate/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kapptemplate"; +} diff --git a/pkgs/kde/gear/kasts/default.nix b/pkgs/kde/gear/kasts/default.nix new file mode 100644 index 000000000000..94fa949a78d7 --- /dev/null +++ b/pkgs/kde/gear/kasts/default.nix @@ -0,0 +1,21 @@ +{ + mkKdeDerivation, + qtsvg, + qtmultimedia, + pkg-config, + qqc2-desktop-style, + taglib, + libvlc, +}: +mkKdeDerivation { + pname = "kasts"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [ + qtsvg + qtmultimedia + qqc2-desktop-style + taglib + libvlc + ]; +} diff --git a/pkgs/kde/gear/kate/default.nix b/pkgs/kde/gear/kate/default.nix new file mode 100644 index 000000000000..044b7b35e8b5 --- /dev/null +++ b/pkgs/kde/gear/kate/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kate"; +} diff --git a/pkgs/kde/gear/katomic/default.nix b/pkgs/kde/gear/katomic/default.nix new file mode 100644 index 000000000000..22ce4c19c216 --- /dev/null +++ b/pkgs/kde/gear/katomic/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "katomic"; +} diff --git a/pkgs/kde/gear/kbackup/default.nix b/pkgs/kde/gear/kbackup/default.nix new file mode 100644 index 000000000000..aca459e19264 --- /dev/null +++ b/pkgs/kde/gear/kbackup/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qt5compat, + libarchive, + shared-mime-info, +}: +mkKdeDerivation { + pname = "kbackup"; + + extraNativeBuildInputs = [shared-mime-info]; + extraBuildInputs = [qt5compat libarchive]; +} diff --git a/pkgs/kde/gear/kblackbox/default.nix b/pkgs/kde/gear/kblackbox/default.nix new file mode 100644 index 000000000000..2aba074ac562 --- /dev/null +++ b/pkgs/kde/gear/kblackbox/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "kblackbox"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/kblocks/default.nix b/pkgs/kde/gear/kblocks/default.nix new file mode 100644 index 000000000000..e184971a9491 --- /dev/null +++ b/pkgs/kde/gear/kblocks/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "kblocks"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/kbounce/default.nix b/pkgs/kde/gear/kbounce/default.nix new file mode 100644 index 000000000000..d94cd2cbf351 --- /dev/null +++ b/pkgs/kde/gear/kbounce/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "kbounce"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/kbreakout/default.nix b/pkgs/kde/gear/kbreakout/default.nix new file mode 100644 index 000000000000..34e9e8435779 --- /dev/null +++ b/pkgs/kde/gear/kbreakout/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + _7zz, +}: +mkKdeDerivation { + pname = "kbreakout"; + + extraNativeBuildInputs = [_7zz]; +} diff --git a/pkgs/kde/gear/kbruch/default.nix b/pkgs/kde/gear/kbruch/default.nix new file mode 100644 index 000000000000..ea034aa275b9 --- /dev/null +++ b/pkgs/kde/gear/kbruch/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kbruch"; +} diff --git a/pkgs/kde/gear/kcachegrind/default.nix b/pkgs/kde/gear/kcachegrind/default.nix new file mode 100644 index 000000000000..9023492d1740 --- /dev/null +++ b/pkgs/kde/gear/kcachegrind/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kcachegrind"; + + extraNativeBuildInputs = [qttools]; +} diff --git a/pkgs/kde/gear/kcalc/default.nix b/pkgs/kde/gear/kcalc/default.nix new file mode 100644 index 000000000000..66bffedbb3c0 --- /dev/null +++ b/pkgs/kde/gear/kcalc/default.nix @@ -0,0 +1,13 @@ +{ + mkKdeDerivation, + qt5compat, + gmp, + mpfr, + kdoctools, +}: +mkKdeDerivation { + pname = "kcalc"; + + extraNativeBuildInputs = [kdoctools]; + extraBuildInputs = [qt5compat gmp mpfr]; +} diff --git a/pkgs/kde/gear/kcalutils/default.nix b/pkgs/kde/gear/kcalutils/default.nix new file mode 100644 index 000000000000..1b58cce9ff00 --- /dev/null +++ b/pkgs/kde/gear/kcalutils/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kcalutils"; +} diff --git a/pkgs/kde/gear/kcharselect/default.nix b/pkgs/kde/gear/kcharselect/default.nix new file mode 100644 index 000000000000..1fffb87d32cd --- /dev/null +++ b/pkgs/kde/gear/kcharselect/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kcharselect"; +} diff --git a/pkgs/kde/gear/kclock/default.nix b/pkgs/kde/gear/kclock/default.nix new file mode 100644 index 000000000000..97db5fd92f0e --- /dev/null +++ b/pkgs/kde/gear/kclock/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtsvg, + qtmultimedia, +}: +mkKdeDerivation { + pname = "kclock"; + + extraBuildInputs = [qtsvg qtmultimedia]; +} diff --git a/pkgs/kde/gear/kcolorchooser/default.nix b/pkgs/kde/gear/kcolorchooser/default.nix new file mode 100644 index 000000000000..5e82c5c2c36f --- /dev/null +++ b/pkgs/kde/gear/kcolorchooser/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kcolorchooser"; +} diff --git a/pkgs/kde/gear/kcron/default.nix b/pkgs/kde/gear/kcron/default.nix new file mode 100644 index 000000000000..b1707101d49f --- /dev/null +++ b/pkgs/kde/gear/kcron/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kcron"; +} diff --git a/pkgs/kde/gear/kde-dev-scripts/default.nix b/pkgs/kde/gear/kde-dev-scripts/default.nix new file mode 100644 index 000000000000..7e82f80b8114 --- /dev/null +++ b/pkgs/kde/gear/kde-dev-scripts/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kde-dev-scripts"; +} diff --git a/pkgs/kde/gear/kde-dev-utils/default.nix b/pkgs/kde/gear/kde-dev-utils/default.nix new file mode 100644 index 000000000000..6efce8354eec --- /dev/null +++ b/pkgs/kde/gear/kde-dev-utils/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "kde-dev-utils"; + + extraBuildInputs = [qttools]; +} diff --git a/pkgs/kde/gear/kde-inotify-survey/default.nix b/pkgs/kde/gear/kde-inotify-survey/default.nix new file mode 100644 index 000000000000..810fa3984093 --- /dev/null +++ b/pkgs/kde/gear/kde-inotify-survey/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kde-inotify-survey"; +} diff --git a/pkgs/kde/gear/kdebugsettings/default.nix b/pkgs/kde/gear/kdebugsettings/default.nix new file mode 100644 index 000000000000..47431c60aa2d --- /dev/null +++ b/pkgs/kde/gear/kdebugsettings/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kdebugsettings"; +} diff --git a/pkgs/kde/gear/kdeconnect-kde/default.nix b/pkgs/kde/gear/kdeconnect-kde/default.nix new file mode 100644 index 000000000000..fd8868cf41c2 --- /dev/null +++ b/pkgs/kde/gear/kdeconnect-kde/default.nix @@ -0,0 +1,20 @@ +{ + mkKdeDerivation, + qtconnectivity, + qtmultimedia, + qtwayland, + pkg-config, + wayland, + wayland-protocols, + libfakekey, +}: +mkKdeDerivation { + pname = "kdeconnect-kde"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtconnectivity qtmultimedia qtwayland wayland wayland-protocols libfakekey]; + + extraCmakeFlags = [ + "-DQtWaylandScanner_EXECUTABLE=${qtwayland}/libexec/qtwaylandscanner" + ]; +} diff --git a/pkgs/kde/gear/kdeedu-data/default.nix b/pkgs/kde/gear/kdeedu-data/default.nix new file mode 100644 index 000000000000..74bc3921389c --- /dev/null +++ b/pkgs/kde/gear/kdeedu-data/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kdeedu-data"; +} diff --git a/pkgs/kde/gear/kdegraphics-mobipocket/default.nix b/pkgs/kde/gear/kdegraphics-mobipocket/default.nix new file mode 100644 index 000000000000..7636cbe1dd27 --- /dev/null +++ b/pkgs/kde/gear/kdegraphics-mobipocket/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qt5compat, +}: +mkKdeDerivation { + pname = "kdegraphics-mobipocket"; + + extraBuildInputs = [qt5compat]; +} diff --git a/pkgs/kde/gear/kdegraphics-thumbnailers/default.nix b/pkgs/kde/gear/kdegraphics-thumbnailers/default.nix new file mode 100644 index 000000000000..bfb3ba1fc850 --- /dev/null +++ b/pkgs/kde/gear/kdegraphics-thumbnailers/default.nix @@ -0,0 +1,17 @@ +{ + mkKdeDerivation, + substituteAll, + ghostscript, +}: +mkKdeDerivation { + pname = "kdegraphics-thumbnailers"; + + patches = [ + # Hardcode patches to Ghostscript so PDF thumbnails work OOTB. + # Intentionally not doing the same for dvips because TeX is big. + (substituteAll { + gs = "${ghostscript}/bin/gs"; + src = ./gs-paths.patch; + }) + ]; +} diff --git a/pkgs/kde/gear/kdegraphics-thumbnailers/gs-paths.patch b/pkgs/kde/gear/kdegraphics-thumbnailers/gs-paths.patch new file mode 100644 index 000000000000..5aa4a8d7444c --- /dev/null +++ b/pkgs/kde/gear/kdegraphics-thumbnailers/gs-paths.patch @@ -0,0 +1,22 @@ +diff --git a/ps/gscreator.cpp b/ps/gscreator.cpp +index 5b84e49..cbb7c25 100644 +--- a/ps/gscreator.cpp ++++ b/ps/gscreator.cpp +@@ -101,7 +101,7 @@ static const char *epsprolog = + "[ ] 0 setdash newpath false setoverprint false setstrokeadjust\n"; + + static const char * gsargs_ps[] = { +- "gs", ++ "@gs@", + "-sDEVICE=png16m", + "-sOutputFile=-", + "-dSAFER", +@@ -120,7 +120,7 @@ static const char * gsargs_ps[] = { + }; + + static const char * gsargs_eps[] = { +- "gs", ++ "@gs@", + "-sDEVICE=png16m", + "-sOutputFile=-", + "-dSAFER", diff --git a/pkgs/kde/gear/kdenetwork-filesharing/default.nix b/pkgs/kde/gear/kdenetwork-filesharing/default.nix new file mode 100644 index 000000000000..a91dc2529503 --- /dev/null +++ b/pkgs/kde/gear/kdenetwork-filesharing/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + qtdeclarative, +}: +mkKdeDerivation { + pname = "kdenetwork-filesharing"; + + patches = [./smbd-path.patch]; + + extraBuildInputs = [qtdeclarative]; + + # We can't actually install samba via PackageKit, so let's not confuse users any more than we have to + extraCmakeFlags = ["-DSAMBA_INSTALL=OFF"]; +} diff --git a/pkgs/kde/gear/kdenetwork-filesharing/smbd-path.patch b/pkgs/kde/gear/kdenetwork-filesharing/smbd-path.patch new file mode 100644 index 000000000000..e6e4e73333a7 --- /dev/null +++ b/pkgs/kde/gear/kdenetwork-filesharing/smbd-path.patch @@ -0,0 +1,14 @@ +diff --git a/samba/filepropertiesplugin/sambausershareplugin.cpp b/samba/filepropertiesplugin/sambausershareplugin.cpp +index d5c8d77..11c45d4 100644 +--- a/samba/filepropertiesplugin/sambausershareplugin.cpp ++++ b/samba/filepropertiesplugin/sambausershareplugin.cpp +@@ -112,7 +112,8 @@ SambaUserSharePlugin::SambaUserSharePlugin(QObject *parent) + bool SambaUserSharePlugin::isSambaInstalled() + { + return QFile::exists(QStringLiteral("/usr/sbin/smbd")) +- || QFile::exists(QStringLiteral("/usr/local/sbin/smbd")); ++ || QFile::exists(QStringLiteral("/usr/local/sbin/smbd")) ++ || QFile::exists(QStringLiteral("/run/current-system/sw/bin/smbd")); + } + + void SambaUserSharePlugin::showSambaStatus() diff --git a/pkgs/kde/gear/kdenlive/default.nix b/pkgs/kde/gear/kdenlive/default.nix new file mode 100644 index 000000000000..49643826b9e2 --- /dev/null +++ b/pkgs/kde/gear/kdenlive/default.nix @@ -0,0 +1,40 @@ +{ + mkKdeDerivation, + substituteAll, + qtsvg, + qtmultimedia, + qtnetworkauth, + ffmpeg-full, + mediainfo, + mlt, + shared-mime-info, + libv4l, + frei0r, +}: +mkKdeDerivation { + pname = "kdenlive"; + + patches = [ + ( + substituteAll { + src = ./dependency-paths.patch; + inherit mediainfo mlt; + ffmpeg = ffmpeg-full; + } + ) + ]; + + extraBuildInputs = [ + qtsvg + qtmultimedia + qtnetworkauth + + mlt + shared-mime-info + libv4l + ]; + + qtWrapperArgs = [ + "--set FREI0R_PATH ${frei0r}/lib/frei0r-1" + ]; +} diff --git a/pkgs/kde/gear/kdenlive/dependency-paths.patch b/pkgs/kde/gear/kdenlive/dependency-paths.patch new file mode 100644 index 000000000000..7fd04bd5114d --- /dev/null +++ b/pkgs/kde/gear/kdenlive/dependency-paths.patch @@ -0,0 +1,46 @@ +diff --git a/src/kdenlivesettings.kcfg b/src/kdenlivesettings.kcfg +index 029849e5f..8befe4888 100644 +--- a/src/kdenlivesettings.kcfg ++++ b/src/kdenlivesettings.kcfg +@@ -517,7 +517,7 @@ + <group name="env"> + <entry name="mltpath" type="Path"> + <label>Mlt framework install path.</label> +- <default></default> ++ <default>@mlt@/share/mlt-7/profiles</default> + </entry> + + <entry name="kdenliverendererpath" type="Path"> +@@ -527,27 +527,27 @@ + + <entry name="meltpath" type="Path"> + <label>Mlt melt renderer install path.</label> +- <default></default> ++ <default>@mlt@/bin/melt</default> + </entry> + + <entry name="ffmpegpath" type="Path"> + <label>FFmpeg / Libav binary path.</label> +- <default></default> ++ <default>@ffmpeg@/bin/ffmpeg</default> + </entry> + + <entry name="ffplaypath" type="Path"> + <label>FFplay / avplay binary path.</label> +- <default></default> ++ <default>@ffmpeg@/bin/ffplay</default> + </entry> + + <entry name="ffprobepath" type="Path"> + <label>FFprobe / avprobe binary path.</label> +- <default></default> ++ <default>@ffmpeg@/bin/ffprobe</default> + </entry> + + <entry name="mediainfopath" type="Path"> + <label>mediaInfo binary path.</label> +- <default></default> ++ <default>@mediainfo@/bin/mediainfo</default> + </entry> + + <entry name="processingthreads" type="Int"> diff --git a/pkgs/kde/gear/kdepim-addons/default.nix b/pkgs/kde/gear/kdepim-addons/default.nix new file mode 100644 index 000000000000..66c24a91bdee --- /dev/null +++ b/pkgs/kde/gear/kdepim-addons/default.nix @@ -0,0 +1,35 @@ +{ + mkKdeDerivation, + sources, + rustPlatform, + cargo, + rustc, + corrosion, + discount, + alpaka, + # provided as callPackage input to enable easier overrides through overlays + cargoHash ? "sha256-z2W2TxyN6Ye+KUaqz5nPAG5zxeABu/UXWuz+XpDpNfc=", +}: +mkKdeDerivation rec { + pname = "kdepim-addons"; + + inherit (sources.${pname}) version; + + cargoRoot = "plugins/webengineurlinterceptor/adblock"; + + cargoDeps = rustPlatform.fetchCargoTarball { + # include version in the name so we invalidate the FOD + name = "${pname}-${version}"; + src = sources.${pname}; + sourceRoot = "${pname}-${version}/${cargoRoot}"; + hash = cargoHash; + }; + + extraNativeBuildInputs = [ + rustPlatform.cargoSetupHook + cargo + rustc + ]; + + extraBuildInputs = [corrosion discount alpaka]; +} diff --git a/pkgs/kde/gear/kdepim-runtime/default.nix b/pkgs/kde/gear/kdepim-runtime/default.nix new file mode 100644 index 000000000000..75c0d927ce80 --- /dev/null +++ b/pkgs/kde/gear/kdepim-runtime/default.nix @@ -0,0 +1,15 @@ +{ + mkKdeDerivation, + shared-mime-info, + qtnetworkauth, + qtspeech, + qtwebengine, + cyrus_sasl, +}: +mkKdeDerivation { + pname = "kdepim-runtime"; + + extraNativeBuildInputs = [shared-mime-info]; + # FIXME: libkolabxml, libetebase + extraBuildInputs = [qtnetworkauth qtspeech qtwebengine cyrus_sasl]; +} diff --git a/pkgs/kde/gear/kdesdk-kio/default.nix b/pkgs/kde/gear/kdesdk-kio/default.nix new file mode 100644 index 000000000000..24715d90f6c9 --- /dev/null +++ b/pkgs/kde/gear/kdesdk-kio/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kdesdk-kio"; +} diff --git a/pkgs/kde/gear/kdesdk-thumbnailers/default.nix b/pkgs/kde/gear/kdesdk-thumbnailers/default.nix new file mode 100644 index 000000000000..727fff83b3d2 --- /dev/null +++ b/pkgs/kde/gear/kdesdk-thumbnailers/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kdesdk-thumbnailers"; +} diff --git a/pkgs/kde/gear/kdev-php/default.nix b/pkgs/kde/gear/kdev-php/default.nix new file mode 100644 index 000000000000..79e34ab94b46 --- /dev/null +++ b/pkgs/kde/gear/kdev-php/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kdev-php"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/kdev-python/default.nix b/pkgs/kde/gear/kdev-python/default.nix new file mode 100644 index 000000000000..91a52fc7226c --- /dev/null +++ b/pkgs/kde/gear/kdev-python/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kdev-python"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/kdevelop/default.nix b/pkgs/kde/gear/kdevelop/default.nix new file mode 100644 index 000000000000..c38d6f93681b --- /dev/null +++ b/pkgs/kde/gear/kdevelop/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + extra-cmake-modules, +}: +mkKdeDerivation { + pname = "kdevelop"; + + extraBuildInputs = [extra-cmake-modules]; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/kdf/default.nix b/pkgs/kde/gear/kdf/default.nix new file mode 100644 index 000000000000..8021e701cbaa --- /dev/null +++ b/pkgs/kde/gear/kdf/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kdf"; +} diff --git a/pkgs/kde/gear/kdialog/default.nix b/pkgs/kde/gear/kdialog/default.nix new file mode 100644 index 000000000000..2ef126650578 --- /dev/null +++ b/pkgs/kde/gear/kdialog/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kdialog"; +} diff --git a/pkgs/kde/gear/kdiamond/default.nix b/pkgs/kde/gear/kdiamond/default.nix new file mode 100644 index 000000000000..a45a3c6f1093 --- /dev/null +++ b/pkgs/kde/gear/kdiamond/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + _7zz, +}: +mkKdeDerivation { + pname = "kdiamond"; + + extraNativeBuildInputs = [_7zz]; +} diff --git a/pkgs/kde/gear/keditbookmarks/default.nix b/pkgs/kde/gear/keditbookmarks/default.nix new file mode 100644 index 000000000000..8eec9c76ec75 --- /dev/null +++ b/pkgs/kde/gear/keditbookmarks/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "keditbookmarks"; +} diff --git a/pkgs/kde/gear/keysmith/default.nix b/pkgs/kde/gear/keysmith/default.nix new file mode 100644 index 000000000000..a468409ff182 --- /dev/null +++ b/pkgs/kde/gear/keysmith/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qtsvg, + pkg-config, + libsodium, +}: +mkKdeDerivation { + pname = "keysmith"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtsvg libsodium]; +} diff --git a/pkgs/kde/gear/kfind/default.nix b/pkgs/kde/gear/kfind/default.nix new file mode 100644 index 000000000000..c0216e301575 --- /dev/null +++ b/pkgs/kde/gear/kfind/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qt5compat, +}: +mkKdeDerivation { + pname = "kfind"; + + extraBuildInputs = [qt5compat]; +} diff --git a/pkgs/kde/gear/kfourinline/default.nix b/pkgs/kde/gear/kfourinline/default.nix new file mode 100644 index 000000000000..5e1d6fba0ef0 --- /dev/null +++ b/pkgs/kde/gear/kfourinline/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "kfourinline"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/kgeography/default.nix b/pkgs/kde/gear/kgeography/default.nix new file mode 100644 index 000000000000..aa9f878bbb9b --- /dev/null +++ b/pkgs/kde/gear/kgeography/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kgeography"; +} diff --git a/pkgs/kde/gear/kget/default.nix b/pkgs/kde/gear/kget/default.nix new file mode 100644 index 000000000000..d6a4fadfd5d6 --- /dev/null +++ b/pkgs/kde/gear/kget/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qgpgme, + libmms, +}: +mkKdeDerivation { + pname = "kget"; + + extraBuildInputs = [qgpgme libmms]; +} diff --git a/pkgs/kde/gear/kgoldrunner/default.nix b/pkgs/kde/gear/kgoldrunner/default.nix new file mode 100644 index 000000000000..8d303e07cac7 --- /dev/null +++ b/pkgs/kde/gear/kgoldrunner/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + _7zz, +}: +mkKdeDerivation { + pname = "kgoldrunner"; + + extraNativeBuildInputs = [_7zz]; +} diff --git a/pkgs/kde/gear/kgpg/default.nix b/pkgs/kde/gear/kgpg/default.nix new file mode 100644 index 000000000000..65f9a55221b5 --- /dev/null +++ b/pkgs/kde/gear/kgpg/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + pkg-config, + gpgme, +}: +mkKdeDerivation { + pname = "kgpg"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [gpgme]; +} diff --git a/pkgs/kde/gear/khangman/default.nix b/pkgs/kde/gear/khangman/default.nix new file mode 100644 index 000000000000..27da76e397e3 --- /dev/null +++ b/pkgs/kde/gear/khangman/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "khangman"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/khealthcertificate/default.nix b/pkgs/kde/gear/khealthcertificate/default.nix new file mode 100644 index 000000000000..6d5461bffc3c --- /dev/null +++ b/pkgs/kde/gear/khealthcertificate/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtdeclarative, +}: +mkKdeDerivation { + pname = "khealthcertificate"; + + extraNativeBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/gear/khelpcenter/default.nix b/pkgs/kde/gear/khelpcenter/default.nix new file mode 100644 index 000000000000..d60e16e3c163 --- /dev/null +++ b/pkgs/kde/gear/khelpcenter/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtwebengine, + xapian, +}: +mkKdeDerivation { + pname = "khelpcenter"; + + extraBuildInputs = [qtwebengine xapian]; +} diff --git a/pkgs/kde/gear/kidentitymanagement/default.nix b/pkgs/kde/gear/kidentitymanagement/default.nix new file mode 100644 index 000000000000..c66c416fd7ce --- /dev/null +++ b/pkgs/kde/gear/kidentitymanagement/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtdeclarative, +}: +mkKdeDerivation { + pname = "kidentitymanagement"; + + extraBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/gear/kig/default.nix b/pkgs/kde/gear/kig/default.nix new file mode 100644 index 000000000000..a3e4de99e6a8 --- /dev/null +++ b/pkgs/kde/gear/kig/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kig"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/kigo/default.nix b/pkgs/kde/gear/kigo/default.nix new file mode 100644 index 000000000000..819fb69b0c0f --- /dev/null +++ b/pkgs/kde/gear/kigo/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + _7zz, + qtsvg, +}: +mkKdeDerivation { + pname = "kigo"; + + extraNativeBuildInputs = [_7zz]; + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/killbots/default.nix b/pkgs/kde/gear/killbots/default.nix new file mode 100644 index 000000000000..03dcdb0d31fe --- /dev/null +++ b/pkgs/kde/gear/killbots/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + _7zz, +}: +mkKdeDerivation { + pname = "killbots"; + + extraNativeBuildInputs = [_7zz]; +} diff --git a/pkgs/kde/gear/kimagemapeditor/default.nix b/pkgs/kde/gear/kimagemapeditor/default.nix new file mode 100644 index 000000000000..fa19f24cd34b --- /dev/null +++ b/pkgs/kde/gear/kimagemapeditor/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtwebengine, +}: +mkKdeDerivation { + pname = "kimagemapeditor"; + + extraBuildInputs = [qtwebengine]; +} diff --git a/pkgs/kde/gear/kimap/default.nix b/pkgs/kde/gear/kimap/default.nix new file mode 100644 index 000000000000..d106166ec4a6 --- /dev/null +++ b/pkgs/kde/gear/kimap/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + cyrus_sasl, +}: +mkKdeDerivation { + pname = "kimap"; + + extraBuildInputs = [cyrus_sasl]; +} diff --git a/pkgs/kde/gear/kio-admin/default.nix b/pkgs/kde/gear/kio-admin/default.nix new file mode 100644 index 000000000000..042253978983 --- /dev/null +++ b/pkgs/kde/gear/kio-admin/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kio-admin"; +} diff --git a/pkgs/kde/gear/kio-extras-kf5/default.nix b/pkgs/kde/gear/kio-extras-kf5/default.nix new file mode 100644 index 000000000000..d92f7a61b8a2 --- /dev/null +++ b/pkgs/kde/gear/kio-extras-kf5/default.nix @@ -0,0 +1,62 @@ +{ + stdenv, + sources, + kio-extras, + cmake, + libsForQt5, + samba, + libssh, + libmtp, + libimobiledevice, + gperf, + libtirpc, + openexr, + taglib, + libappimage, +}: +stdenv.mkDerivation rec { + pname = "kio-extras-kf5"; + inherit (sources.${pname}) version; + + src = sources.${pname}; + + nativeBuildInputs = with libsForQt5; [ + cmake + extra-cmake-modules + wrapQtAppsHook + ]; + + buildInputs = with libsForQt5; [ + qtbase + + kactivities + kactivities-stats + karchive + kconfig + kconfigwidgets + kcoreaddons + kdbusaddons + kdnssd + kdoctools + kdsoap + kguiaddons + ki18n + kio + libkexiv2 + phonon + solid + syntax-highlighting + + samba + libssh + libmtp + libimobiledevice + gperf + libtirpc + openexr + taglib + libappimage + ]; + + meta = kio-extras.meta; +} diff --git a/pkgs/kde/gear/kio-extras/default.nix b/pkgs/kde/gear/kio-extras/default.nix new file mode 100644 index 000000000000..b80f9175a5e9 --- /dev/null +++ b/pkgs/kde/gear/kio-extras/default.nix @@ -0,0 +1,45 @@ +{ + mkKdeDerivation, + qt5compat, + qtsvg, + pkg-config, + libkexiv2, + samba, + libssh, + libmtp, + libimobiledevice, + gperf, + libtirpc, + openexr, + taglib, + shared-mime-info, + libappimage, + xorg, + kio, +}: +mkKdeDerivation { + pname = "kio-extras"; + + extraNativeBuildInputs = [pkg-config shared-mime-info]; + extraBuildInputs = [ + qt5compat + qtsvg + libkexiv2 + + samba + libssh + libmtp + libimobiledevice + gperf + libtirpc + openexr + taglib + libappimage + xorg.libXcursor + ]; + + postInstall = '' + substituteInPlace $out/share/dbus-1/services/org.kde.kmtpd5.service \ + --replace-fail Exec=$out/libexec/kf6/kiod6 Exec=${kio}/libexec/kf6/kiod6 + ''; +} diff --git a/pkgs/kde/gear/kio-gdrive/default.nix b/pkgs/kde/gear/kio-gdrive/default.nix new file mode 100644 index 000000000000..1c28dd3dcd10 --- /dev/null +++ b/pkgs/kde/gear/kio-gdrive/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kio-gdrive"; +} diff --git a/pkgs/kde/gear/kio-zeroconf/default.nix b/pkgs/kde/gear/kio-zeroconf/default.nix new file mode 100644 index 000000000000..0b731162af83 --- /dev/null +++ b/pkgs/kde/gear/kio-zeroconf/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kio-zeroconf"; +} diff --git a/pkgs/kde/gear/kipi-plugins/default.nix b/pkgs/kde/gear/kipi-plugins/default.nix new file mode 100644 index 000000000000..a0a074b86a97 --- /dev/null +++ b/pkgs/kde/gear/kipi-plugins/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kipi-plugins"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/kirigami-gallery/default.nix b/pkgs/kde/gear/kirigami-gallery/default.nix new file mode 100644 index 000000000000..e3ff036ad5e8 --- /dev/null +++ b/pkgs/kde/gear/kirigami-gallery/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "kirigami-gallery"; + + extraBuildInputs = [qtsvg]; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/kiriki/default.nix b/pkgs/kde/gear/kiriki/default.nix new file mode 100644 index 000000000000..a8344ef973cb --- /dev/null +++ b/pkgs/kde/gear/kiriki/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kiriki"; +} diff --git a/pkgs/kde/gear/kiten/default.nix b/pkgs/kde/gear/kiten/default.nix new file mode 100644 index 000000000000..5f87c6c66b39 --- /dev/null +++ b/pkgs/kde/gear/kiten/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kiten"; +} diff --git a/pkgs/kde/gear/kitinerary/default.nix b/pkgs/kde/gear/kitinerary/default.nix new file mode 100644 index 000000000000..de3f4ef00005 --- /dev/null +++ b/pkgs/kde/gear/kitinerary/default.nix @@ -0,0 +1,21 @@ +{ + mkKdeDerivation, + qtsvg, + qtdeclarative, + shared-mime-info, + poppler, + libphonenumber, + protobuf, +}: +mkKdeDerivation { + pname = "kitinerary"; + + extraNativeBuildInputs = [shared-mime-info]; + extraBuildInputs = [ + qtsvg + qtdeclarative + poppler + libphonenumber + protobuf + ]; +} diff --git a/pkgs/kde/gear/kjournald/default.nix b/pkgs/kde/gear/kjournald/default.nix new file mode 100644 index 000000000000..d03e8b815ae4 --- /dev/null +++ b/pkgs/kde/gear/kjournald/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qtdeclarative, + pkg-config, + systemd, +}: +mkKdeDerivation { + pname = "kjournald"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtdeclarative systemd]; +} diff --git a/pkgs/kde/gear/kjumpingcube/default.nix b/pkgs/kde/gear/kjumpingcube/default.nix new file mode 100644 index 000000000000..c13ece29da89 --- /dev/null +++ b/pkgs/kde/gear/kjumpingcube/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "kjumpingcube"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/kldap/default.nix b/pkgs/kde/gear/kldap/default.nix new file mode 100644 index 000000000000..99c17b169147 --- /dev/null +++ b/pkgs/kde/gear/kldap/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + cyrus_sasl, + openldap, +}: +mkKdeDerivation { + pname = "kldap"; + + extraBuildInputs = [cyrus_sasl openldap]; +} diff --git a/pkgs/kde/gear/kleopatra/default.nix b/pkgs/kde/gear/kleopatra/default.nix new file mode 100644 index 000000000000..58d3f4b5a9cf --- /dev/null +++ b/pkgs/kde/gear/kleopatra/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + shared-mime-info, + akonadi-mime, +}: +mkKdeDerivation { + pname = "kleopatra"; + + extraNativeBuildInputs = [shared-mime-info]; + extraBuildInputs = [akonadi-mime]; +} diff --git a/pkgs/kde/gear/klettres/default.nix b/pkgs/kde/gear/klettres/default.nix new file mode 100644 index 000000000000..ecf58d98fc37 --- /dev/null +++ b/pkgs/kde/gear/klettres/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "klettres"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/klickety/default.nix b/pkgs/kde/gear/klickety/default.nix new file mode 100644 index 000000000000..0df68937124b --- /dev/null +++ b/pkgs/kde/gear/klickety/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "klickety"; +} diff --git a/pkgs/kde/gear/klines/default.nix b/pkgs/kde/gear/klines/default.nix new file mode 100644 index 000000000000..5399962382b0 --- /dev/null +++ b/pkgs/kde/gear/klines/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "klines"; +} diff --git a/pkgs/kde/gear/kmag/default.nix b/pkgs/kde/gear/kmag/default.nix new file mode 100644 index 000000000000..24e6643b3b59 --- /dev/null +++ b/pkgs/kde/gear/kmag/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kmag"; +} diff --git a/pkgs/kde/gear/kmahjongg/default.nix b/pkgs/kde/gear/kmahjongg/default.nix new file mode 100644 index 000000000000..9ad776f3c6f4 --- /dev/null +++ b/pkgs/kde/gear/kmahjongg/default.nix @@ -0,0 +1,13 @@ +{ + mkKdeDerivation, + qtdeclarative, + qtsvg, + libkmahjongg, +}: +mkKdeDerivation { + pname = "kmahjongg"; + + extraBuildInputs = [qtdeclarative qtsvg]; + + qtWrapperArgs = ["--prefix XDG_DATA_DIRS : ${libkmahjongg}/share"]; +} diff --git a/pkgs/kde/gear/kmail-account-wizard/default.nix b/pkgs/kde/gear/kmail-account-wizard/default.nix new file mode 100644 index 000000000000..d030eabcce01 --- /dev/null +++ b/pkgs/kde/gear/kmail-account-wizard/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kmail-account-wizard"; +} diff --git a/pkgs/kde/gear/kmail/default.nix b/pkgs/kde/gear/kmail/default.nix new file mode 100644 index 000000000000..f3f659fbaf5f --- /dev/null +++ b/pkgs/kde/gear/kmail/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kmail"; +} diff --git a/pkgs/kde/gear/kmailtransport/default.nix b/pkgs/kde/gear/kmailtransport/default.nix new file mode 100644 index 000000000000..cf1bf8c1b223 --- /dev/null +++ b/pkgs/kde/gear/kmailtransport/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kmailtransport"; +} diff --git a/pkgs/kde/gear/kmbox/default.nix b/pkgs/kde/gear/kmbox/default.nix new file mode 100644 index 000000000000..ef840d3eda4d --- /dev/null +++ b/pkgs/kde/gear/kmbox/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kmbox"; +} diff --git a/pkgs/kde/gear/kmime/default.nix b/pkgs/kde/gear/kmime/default.nix new file mode 100644 index 000000000000..52e2b97da392 --- /dev/null +++ b/pkgs/kde/gear/kmime/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kmime"; +} diff --git a/pkgs/kde/gear/kmines/default.nix b/pkgs/kde/gear/kmines/default.nix new file mode 100644 index 000000000000..32a8c179f0ec --- /dev/null +++ b/pkgs/kde/gear/kmines/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kmines"; +} diff --git a/pkgs/kde/gear/kmix/default.nix b/pkgs/kde/gear/kmix/default.nix new file mode 100644 index 000000000000..b83392baa7df --- /dev/null +++ b/pkgs/kde/gear/kmix/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kmix"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/kmousetool/default.nix b/pkgs/kde/gear/kmousetool/default.nix new file mode 100644 index 000000000000..8ba8615cbbe6 --- /dev/null +++ b/pkgs/kde/gear/kmousetool/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtmultimedia, + xorg, +}: +mkKdeDerivation { + pname = "kmousetool"; + + extraBuildInputs = [qtmultimedia xorg.libXt]; +} diff --git a/pkgs/kde/gear/kmouth/default.nix b/pkgs/kde/gear/kmouth/default.nix new file mode 100644 index 000000000000..75d044b1c686 --- /dev/null +++ b/pkgs/kde/gear/kmouth/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtspeech, +}: +mkKdeDerivation { + pname = "kmouth"; + + extraBuildInputs = [qtspeech]; +} diff --git a/pkgs/kde/gear/kmplot/default.nix b/pkgs/kde/gear/kmplot/default.nix new file mode 100644 index 000000000000..55f4a21d0e6a --- /dev/null +++ b/pkgs/kde/gear/kmplot/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "kmplot"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/knavalbattle/default.nix b/pkgs/kde/gear/knavalbattle/default.nix new file mode 100644 index 000000000000..6a98a2826d1f --- /dev/null +++ b/pkgs/kde/gear/knavalbattle/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "knavalbattle"; +} diff --git a/pkgs/kde/gear/knetwalk/default.nix b/pkgs/kde/gear/knetwalk/default.nix new file mode 100644 index 000000000000..c77a714e5949 --- /dev/null +++ b/pkgs/kde/gear/knetwalk/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + _7zz, +}: +mkKdeDerivation { + pname = "knetwalk"; + + extraNativeBuildInputs = [_7zz]; +} diff --git a/pkgs/kde/gear/knights/default.nix b/pkgs/kde/gear/knights/default.nix new file mode 100644 index 000000000000..1fa6519fe16e --- /dev/null +++ b/pkgs/kde/gear/knights/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qtsvg, + qtspeech, + _7zz, +}: +mkKdeDerivation { + pname = "knights"; + + extraNativeBuildInputs = [_7zz]; + extraBuildInputs = [qtsvg qtspeech]; +} diff --git a/pkgs/kde/gear/knotes/default.nix b/pkgs/kde/gear/knotes/default.nix new file mode 100644 index 000000000000..bca10fcf13da --- /dev/null +++ b/pkgs/kde/gear/knotes/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "knotes"; +} diff --git a/pkgs/kde/gear/koko/default.nix b/pkgs/kde/gear/koko/default.nix new file mode 100644 index 000000000000..c2b42bc693e7 --- /dev/null +++ b/pkgs/kde/gear/koko/default.nix @@ -0,0 +1,46 @@ +{ + fetchurl, + mkKdeDerivation, + pkg-config, + qtmultimedia, + qtpositioning, + qtsvg, + exiv2, + kirigami-addons, + kquickimageeditor, +}: let + # URLs snapshotted through + # https://web.archive.org/save/$url + # Update when stale enough I guess? + admin1 = fetchurl { + url = "https://web.archive.org/web/20210714035424if_/http://download.geonames.org/export/dump/admin1CodesASCII.txt"; + sha256 = "0r783yzajs26hvccdy4jv2v06xfgadx2g90fz3yn7lx8flz4nhwm"; + }; + admin2 = fetchurl { + url = "https://web.archive.org/web/20210714035427if_/http://download.geonames.org/export/dump/admin2Codes.txt"; + sha256 = "1n5nzp3xblhr93rb1sadi5vfbw29slv5lc6cxq21h3x3cg0mwqh3"; + }; + cities1000 = fetchurl { + url = "https://web.archive.org/web/20210714035406if_/http://download.geonames.org/export/dump/cities1000.zip"; + sha256 = "0cwbfff8gzci5zrahh6d53b9b3bfv1cbwlv0k6076531i1c7md9p"; + }; +in + mkKdeDerivation { + pname = "koko"; + + prePatch = '' + ln -s ${admin1} src/admin1CodesASCII.txt + ln -s ${admin2} src/admin2Codes.txt + ln -s ${cities1000} src/cities1000.zip + ''; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [ + qtmultimedia + qtpositioning + qtsvg + exiv2 + kirigami-addons + kquickimageeditor + ]; + } diff --git a/pkgs/kde/gear/kolf/default.nix b/pkgs/kde/gear/kolf/default.nix new file mode 100644 index 000000000000..94e170ae6d33 --- /dev/null +++ b/pkgs/kde/gear/kolf/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kolf"; +} diff --git a/pkgs/kde/gear/kollision/default.nix b/pkgs/kde/gear/kollision/default.nix new file mode 100644 index 000000000000..325510cdf2ee --- /dev/null +++ b/pkgs/kde/gear/kollision/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kollision"; +} diff --git a/pkgs/kde/gear/kolourpaint/default.nix b/pkgs/kde/gear/kolourpaint/default.nix new file mode 100644 index 000000000000..d5dbacca3843 --- /dev/null +++ b/pkgs/kde/gear/kolourpaint/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kolourpaint"; +} diff --git a/pkgs/kde/gear/kompare/default.nix b/pkgs/kde/gear/kompare/default.nix new file mode 100644 index 000000000000..93580fc90dbf --- /dev/null +++ b/pkgs/kde/gear/kompare/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kompare"; +} diff --git a/pkgs/kde/gear/kongress/default.nix b/pkgs/kde/gear/kongress/default.nix new file mode 100644 index 000000000000..8ac8807eb68e --- /dev/null +++ b/pkgs/kde/gear/kongress/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "kongress"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/konqueror/default.nix b/pkgs/kde/gear/konqueror/default.nix new file mode 100644 index 000000000000..09093db5f358 --- /dev/null +++ b/pkgs/kde/gear/konqueror/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + qtwebengine, + hunspell, +}: +mkKdeDerivation { + pname = "konqueror"; + + extraBuildInputs = [qtwebengine hunspell]; + + extraCmakeFlags = [ + "-DWebEngineDictConverter_EXECUTABLE=${qtwebengine}/libexec/qwebengine_convert_dict" + ]; +} diff --git a/pkgs/kde/gear/konquest/default.nix b/pkgs/kde/gear/konquest/default.nix new file mode 100644 index 000000000000..54bd2f6048dd --- /dev/null +++ b/pkgs/kde/gear/konquest/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtscxml, + qtsvg, +}: +mkKdeDerivation { + pname = "konquest"; + + extraBuildInputs = [qtscxml qtsvg]; +} diff --git a/pkgs/kde/gear/konsole/default.nix b/pkgs/kde/gear/konsole/default.nix new file mode 100644 index 000000000000..8cd29b8a4f91 --- /dev/null +++ b/pkgs/kde/gear/konsole/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qt5compat, + qtmultimedia, +}: +mkKdeDerivation { + pname = "konsole"; + + extraBuildInputs = [qt5compat qtmultimedia]; +} diff --git a/pkgs/kde/gear/kontact/default.nix b/pkgs/kde/gear/kontact/default.nix new file mode 100644 index 000000000000..fe258eea446b --- /dev/null +++ b/pkgs/kde/gear/kontact/default.nix @@ -0,0 +1,23 @@ +{ + mkKdeDerivation, + qtwebengine, + akregator, + kaddressbook, + kmail, + knotes, + korganizer, + zanshin, +}: +mkKdeDerivation { + pname = "kontact"; + + extraBuildInputs = [ + qtwebengine + akregator + kaddressbook + kmail + knotes + korganizer + zanshin + ]; +} diff --git a/pkgs/kde/gear/kontactinterface/default.nix b/pkgs/kde/gear/kontactinterface/default.nix new file mode 100644 index 000000000000..4c7d6acab1ca --- /dev/null +++ b/pkgs/kde/gear/kontactinterface/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kontactinterface"; +} diff --git a/pkgs/kde/gear/kontrast/default.nix b/pkgs/kde/gear/kontrast/default.nix new file mode 100644 index 000000000000..60bf03534ba1 --- /dev/null +++ b/pkgs/kde/gear/kontrast/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtsvg, + qcoro, +}: +mkKdeDerivation { + pname = "kontrast"; + + extraBuildInputs = [qtsvg qcoro]; +} diff --git a/pkgs/kde/gear/konversation/default.nix b/pkgs/kde/gear/konversation/default.nix new file mode 100644 index 000000000000..d7d5d3c2fb89 --- /dev/null +++ b/pkgs/kde/gear/konversation/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qttools, + qtmultimedia, + qt5compat, +}: +mkKdeDerivation { + pname = "konversation"; + + extraBuildInputs = [qtmultimedia qt5compat qttools]; +} diff --git a/pkgs/kde/gear/kopeninghours/default.nix b/pkgs/kde/gear/kopeninghours/default.nix new file mode 100644 index 000000000000..b315d765fb39 --- /dev/null +++ b/pkgs/kde/gear/kopeninghours/default.nix @@ -0,0 +1,20 @@ +{ + mkKdeDerivation, + qtdeclarative, + bison, + flex, + boost, + python3, +}: +mkKdeDerivation { + pname = "kopeninghours"; + + extraNativeBuildInputs = [bison flex]; + extraBuildInputs = [ + qtdeclarative + (boost.override { + enablePython = true; + python = python3; + }) + ]; +} diff --git a/pkgs/kde/gear/korganizer/default.nix b/pkgs/kde/gear/korganizer/default.nix new file mode 100644 index 000000000000..dfea744563e3 --- /dev/null +++ b/pkgs/kde/gear/korganizer/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "korganizer"; + + extraBuildInputs = [qttools]; +} diff --git a/pkgs/kde/gear/kosmindoormap/default.nix b/pkgs/kde/gear/kosmindoormap/default.nix new file mode 100644 index 000000000000..11b5c5cef398 --- /dev/null +++ b/pkgs/kde/gear/kosmindoormap/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + bison, + flex, +}: +mkKdeDerivation { + pname = "kosmindoormap"; + + extraNativeBuildInputs = [bison flex]; +} diff --git a/pkgs/kde/gear/kpat/default.nix b/pkgs/kde/gear/kpat/default.nix new file mode 100644 index 000000000000..23b99dddb9f4 --- /dev/null +++ b/pkgs/kde/gear/kpat/default.nix @@ -0,0 +1,21 @@ +{ + mkKdeDerivation, + qtsvg, + _7zz, + shared-mime-info, + black-hole-solver, + freecell-solver, + libkdegames, +}: +mkKdeDerivation { + pname = "kpat"; + + extraNativeBuildInputs = [_7zz shared-mime-info]; + extraBuildInputs = [ + qtsvg + black-hole-solver + freecell-solver + ]; + + qtWrapperArgs = ["--prefix XDG_DATA_DIRS : ${libkdegames}/share"]; +} diff --git a/pkgs/kde/gear/kpimtextedit/default.nix b/pkgs/kde/gear/kpimtextedit/default.nix new file mode 100644 index 000000000000..0c33280cc059 --- /dev/null +++ b/pkgs/kde/gear/kpimtextedit/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qt5compat, +}: +mkKdeDerivation { + pname = "kpimtextedit"; + + extraBuildInputs = [qt5compat]; +} diff --git a/pkgs/kde/gear/kpkpass/default.nix b/pkgs/kde/gear/kpkpass/default.nix new file mode 100644 index 000000000000..a2f116f67d77 --- /dev/null +++ b/pkgs/kde/gear/kpkpass/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + shared-mime-info, +}: +mkKdeDerivation { + pname = "kpkpass"; + + extraNativeBuildInputs = [shared-mime-info]; +} diff --git a/pkgs/kde/gear/kpmcore/default.nix b/pkgs/kde/gear/kpmcore/default.nix new file mode 100644 index 000000000000..9dfa4f3d6813 --- /dev/null +++ b/pkgs/kde/gear/kpmcore/default.nix @@ -0,0 +1,74 @@ +{ + lib, + mkKdeDerivation, + writeText, + pkg-config, + cryptsetup, + lvm2, + mdadm, + smartmontools, + systemdMinimal, + util-linux, + btrfs-progs, + dosfstools, + e2fsprogs, + exfatprogs, + f2fs-tools, + fatresize, + hfsprogs, + jfsutils, + nilfs-utils, + ntfs3g, + reiser4progs, + reiserfsprogs, + udftools, + xfsprogs, + zfs, +}: let + # https://github.com/KDE/kpmcore/blob/06f15334ecfbe871730a90dbe2b694ba060ee998/src/util/externalcommand_whitelist.h + runtimeDeps = [ + cryptsetup + lvm2 + mdadm + smartmontools + systemdMinimal + util-linux + + btrfs-progs + dosfstools + e2fsprogs + exfatprogs + f2fs-tools + fatresize + hfsprogs + jfsutils + nilfs-utils + ntfs3g + reiser4progs + reiserfsprogs + udftools + xfsprogs + zfs + + # FIXME: Missing command: hfsck hformat fsck.nilfs2 {fsck,mkfs,debugfs,tunefs}.ocfs2 + # FIXME: audit to see if these are all still required + ]; + + trustedprefixes = writeText "kpmcore-trustedprefixes" (lib.concatStringsSep "\n" (map lib.getBin runtimeDeps)); +in + mkKdeDerivation { + pname = "kpmcore"; + + postPatch = '' + cp ${trustedprefixes} src/util/trustedprefixes + ''; + + preConfigure = '' + substituteInPlace src/util/CMakeLists.txt \ + --replace \$\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\} $out/share/polkit-1/actions + substituteInPlace src/backend/corebackend.cpp \ + --replace /usr/share/polkit-1/actions/org.kde.kpmcore.externalcommand.policy $out/share/polkit-1/actions/org.kde.kpmcore.externalcommand.policy + ''; + + extraNativeBuildInputs = [pkg-config]; + } diff --git a/pkgs/kde/gear/kpublictransport/default.nix b/pkgs/kde/gear/kpublictransport/default.nix new file mode 100644 index 000000000000..bc1a663b7762 --- /dev/null +++ b/pkgs/kde/gear/kpublictransport/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qtdeclarative, + pkg-config, +}: +mkKdeDerivation { + pname = "kpublictransport"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/gear/kqtquickcharts/default.nix b/pkgs/kde/gear/kqtquickcharts/default.nix new file mode 100644 index 000000000000..682cd0531b7b --- /dev/null +++ b/pkgs/kde/gear/kqtquickcharts/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kqtquickcharts"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/krdc/default.nix b/pkgs/kde/gear/krdc/default.nix new file mode 100644 index 000000000000..75806e233b63 --- /dev/null +++ b/pkgs/kde/gear/krdc/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + libssh, + libvncserver, + freerdp, +}: +mkKdeDerivation { + pname = "krdc"; + + extraBuildInputs = [libssh libvncserver freerdp]; +} diff --git a/pkgs/kde/gear/krecorder/default.nix b/pkgs/kde/gear/krecorder/default.nix new file mode 100644 index 000000000000..d6553f4d1fcb --- /dev/null +++ b/pkgs/kde/gear/krecorder/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtmultimedia, +}: +mkKdeDerivation { + pname = "krecorder"; + + extraBuildInputs = [qtmultimedia]; +} diff --git a/pkgs/kde/gear/kreversi/default.nix b/pkgs/kde/gear/kreversi/default.nix new file mode 100644 index 000000000000..8ad4233e1f1a --- /dev/null +++ b/pkgs/kde/gear/kreversi/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "kreversi"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/krfb/default.nix b/pkgs/kde/gear/krfb/default.nix new file mode 100644 index 000000000000..03789537f63e --- /dev/null +++ b/pkgs/kde/gear/krfb/default.nix @@ -0,0 +1,15 @@ +{ + mkKdeDerivation, + qtwayland, + libvncserver, + xorg, +}: +mkKdeDerivation { + pname = "krfb"; + + extraCmakeFlags = [ + "-DQtWaylandScanner_EXECUTABLE=${qtwayland}/libexec/qtwaylandscanner" + ]; + + extraBuildInputs = [qtwayland libvncserver xorg.libXdamage]; +} diff --git a/pkgs/kde/gear/kross-interpreters/default.nix b/pkgs/kde/gear/kross-interpreters/default.nix new file mode 100644 index 000000000000..4040fa401ef9 --- /dev/null +++ b/pkgs/kde/gear/kross-interpreters/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + extra-cmake-modules, +}: +mkKdeDerivation { + pname = "kross-interpreters"; + + extraBuildInputs = [extra-cmake-modules]; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/kruler/default.nix b/pkgs/kde/gear/kruler/default.nix new file mode 100644 index 000000000000..311dcc3bd840 --- /dev/null +++ b/pkgs/kde/gear/kruler/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kruler"; +} diff --git a/pkgs/kde/gear/ksanecore/default.nix b/pkgs/kde/gear/ksanecore/default.nix new file mode 100644 index 000000000000..7f7e63fb2caf --- /dev/null +++ b/pkgs/kde/gear/ksanecore/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + sane-backends, +}: +mkKdeDerivation { + pname = "ksanecore"; + + extraBuildInputs = [sane-backends]; +} diff --git a/pkgs/kde/gear/kshisen/default.nix b/pkgs/kde/gear/kshisen/default.nix new file mode 100644 index 000000000000..efa2b024d716 --- /dev/null +++ b/pkgs/kde/gear/kshisen/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kshisen"; +} diff --git a/pkgs/kde/gear/ksirk/default.nix b/pkgs/kde/gear/ksirk/default.nix new file mode 100644 index 000000000000..5c4196a7aff0 --- /dev/null +++ b/pkgs/kde/gear/ksirk/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtmultimedia, +}: +mkKdeDerivation { + pname = "ksirk"; + + extraBuildInputs = [qtmultimedia]; +} diff --git a/pkgs/kde/gear/ksmtp/default.nix b/pkgs/kde/gear/ksmtp/default.nix new file mode 100644 index 000000000000..c098ddd49c81 --- /dev/null +++ b/pkgs/kde/gear/ksmtp/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qt5compat, + cyrus_sasl, +}: +mkKdeDerivation { + pname = "ksmtp"; + + extraBuildInputs = [qt5compat cyrus_sasl]; +} diff --git a/pkgs/kde/gear/ksnakeduel/default.nix b/pkgs/kde/gear/ksnakeduel/default.nix new file mode 100644 index 000000000000..b741df477f33 --- /dev/null +++ b/pkgs/kde/gear/ksnakeduel/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "ksnakeduel"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/kspaceduel/default.nix b/pkgs/kde/gear/kspaceduel/default.nix new file mode 100644 index 000000000000..1f4272b5cac9 --- /dev/null +++ b/pkgs/kde/gear/kspaceduel/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "kspaceduel"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/ksquares/default.nix b/pkgs/kde/gear/ksquares/default.nix new file mode 100644 index 000000000000..683a64a5bf59 --- /dev/null +++ b/pkgs/kde/gear/ksquares/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "ksquares"; +} diff --git a/pkgs/kde/gear/ksudoku/default.nix b/pkgs/kde/gear/ksudoku/default.nix new file mode 100644 index 000000000000..6f293bd26e1e --- /dev/null +++ b/pkgs/kde/gear/ksudoku/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "ksudoku"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/ksystemlog/default.nix b/pkgs/kde/gear/ksystemlog/default.nix new file mode 100644 index 000000000000..604a52cc560b --- /dev/null +++ b/pkgs/kde/gear/ksystemlog/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + pkg-config, + qt5compat, + audit, +}: +mkKdeDerivation { + pname = "ksystemlog"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qt5compat audit]; +} diff --git a/pkgs/kde/gear/kteatime/default.nix b/pkgs/kde/gear/kteatime/default.nix new file mode 100644 index 000000000000..81d20ec270be --- /dev/null +++ b/pkgs/kde/gear/kteatime/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kteatime"; +} diff --git a/pkgs/kde/gear/ktimer/default.nix b/pkgs/kde/gear/ktimer/default.nix new file mode 100644 index 000000000000..898b4a802e13 --- /dev/null +++ b/pkgs/kde/gear/ktimer/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qt5compat, +}: +mkKdeDerivation { + pname = "ktimer"; + + extraBuildInputs = [qt5compat]; +} diff --git a/pkgs/kde/gear/ktnef/default.nix b/pkgs/kde/gear/ktnef/default.nix new file mode 100644 index 000000000000..7fcd568ade72 --- /dev/null +++ b/pkgs/kde/gear/ktnef/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "ktnef"; +} diff --git a/pkgs/kde/gear/ktorrent/default.nix b/pkgs/kde/gear/ktorrent/default.nix new file mode 100644 index 000000000000..92e0646e696a --- /dev/null +++ b/pkgs/kde/gear/ktorrent/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qtwebengine, + taglib, + libmaxminddb, +}: +mkKdeDerivation { + pname = "ktorrent"; + + extraBuildInputs = [qtwebengine taglib libmaxminddb]; +} diff --git a/pkgs/kde/gear/ktouch/default.nix b/pkgs/kde/gear/ktouch/default.nix new file mode 100644 index 000000000000..7f744a9f79d5 --- /dev/null +++ b/pkgs/kde/gear/ktouch/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "ktouch"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/ktrip/default.nix b/pkgs/kde/gear/ktrip/default.nix new file mode 100644 index 000000000000..87351e5e5490 --- /dev/null +++ b/pkgs/kde/gear/ktrip/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "ktrip"; +} diff --git a/pkgs/kde/gear/ktuberling/default.nix b/pkgs/kde/gear/ktuberling/default.nix new file mode 100644 index 000000000000..5602ac870479 --- /dev/null +++ b/pkgs/kde/gear/ktuberling/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtmultimedia, +}: +mkKdeDerivation { + pname = "ktuberling"; + + extraBuildInputs = [qtmultimedia]; +} diff --git a/pkgs/kde/gear/kturtle/default.nix b/pkgs/kde/gear/kturtle/default.nix new file mode 100644 index 000000000000..f55f7e92a03a --- /dev/null +++ b/pkgs/kde/gear/kturtle/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "kturtle"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/kubrick/default.nix b/pkgs/kde/gear/kubrick/default.nix new file mode 100644 index 000000000000..c8bedf44c2de --- /dev/null +++ b/pkgs/kde/gear/kubrick/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtsvg, + libGLU, +}: +mkKdeDerivation { + pname = "kubrick"; + + extraBuildInputs = [qtsvg libGLU]; +} diff --git a/pkgs/kde/gear/kwalletmanager/default.nix b/pkgs/kde/gear/kwalletmanager/default.nix new file mode 100644 index 000000000000..72ebd76ffa3a --- /dev/null +++ b/pkgs/kde/gear/kwalletmanager/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kwalletmanager"; +} diff --git a/pkgs/kde/gear/kwave/default.nix b/pkgs/kde/gear/kwave/default.nix new file mode 100644 index 000000000000..1c0f82ac7b3d --- /dev/null +++ b/pkgs/kde/gear/kwave/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kwave"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/kweather/default.nix b/pkgs/kde/gear/kweather/default.nix new file mode 100644 index 000000000000..51d17a0a1e59 --- /dev/null +++ b/pkgs/kde/gear/kweather/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qtsvg, + qtcharts, + qqc2-desktop-style, + kholidays, +}: +mkKdeDerivation { + pname = "kweather"; + + extraBuildInputs = [qtsvg qtcharts qqc2-desktop-style kholidays]; +} diff --git a/pkgs/kde/gear/kwordquiz/default.nix b/pkgs/kde/gear/kwordquiz/default.nix new file mode 100644 index 000000000000..82989919f6e0 --- /dev/null +++ b/pkgs/kde/gear/kwordquiz/default.nix @@ -0,0 +1,15 @@ +{ + mkKdeDerivation, + qtsvg, + qtmultimedia, + qqc2-desktop-style, +}: +mkKdeDerivation { + pname = "kwordquiz"; + + extraBuildInputs = [ + qtsvg + qtmultimedia + qqc2-desktop-style + ]; +} diff --git a/pkgs/kde/gear/libgravatar/default.nix b/pkgs/kde/gear/libgravatar/default.nix new file mode 100644 index 000000000000..ddbdfa6dc6c8 --- /dev/null +++ b/pkgs/kde/gear/libgravatar/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "libgravatar"; +} diff --git a/pkgs/kde/gear/libkcddb/default.nix b/pkgs/kde/gear/libkcddb/default.nix new file mode 100644 index 000000000000..8325f19cedff --- /dev/null +++ b/pkgs/kde/gear/libkcddb/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + libmusicbrainz5, +}: +mkKdeDerivation { + pname = "libkcddb"; + + extraBuildInputs = [libmusicbrainz5]; +} diff --git a/pkgs/kde/gear/libkcompactdisc/default.nix b/pkgs/kde/gear/libkcompactdisc/default.nix new file mode 100644 index 000000000000..66615d3791d6 --- /dev/null +++ b/pkgs/kde/gear/libkcompactdisc/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + alsa-lib, +}: +mkKdeDerivation { + pname = "libkcompactdisc"; + + extraBuildInputs = [alsa-lib]; +} diff --git a/pkgs/kde/gear/libkdcraw/default.nix b/pkgs/kde/gear/libkdcraw/default.nix new file mode 100644 index 000000000000..df6717b22ded --- /dev/null +++ b/pkgs/kde/gear/libkdcraw/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + pkg-config, + libraw, +}: +mkKdeDerivation { + pname = "libkdcraw"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [libraw]; +} diff --git a/pkgs/kde/gear/libkdegames/default.nix b/pkgs/kde/gear/libkdegames/default.nix new file mode 100644 index 000000000000..95a0265f0836 --- /dev/null +++ b/pkgs/kde/gear/libkdegames/default.nix @@ -0,0 +1,15 @@ +{ + mkKdeDerivation, + _7zz, + svgcleaner, + qtdeclarative, + qtsvg, + openal, + libsndfile, +}: +mkKdeDerivation { + pname = "libkdegames"; + + extraNativeBuildInputs = [_7zz svgcleaner]; + extraBuildInputs = [openal libsndfile qtdeclarative qtsvg]; +} diff --git a/pkgs/kde/gear/libkdepim/default.nix b/pkgs/kde/gear/libkdepim/default.nix new file mode 100644 index 000000000000..d682c45225eb --- /dev/null +++ b/pkgs/kde/gear/libkdepim/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "libkdepim"; + + extraNativeBuildInputs = [qttools]; +} diff --git a/pkgs/kde/gear/libkeduvocdocument/default.nix b/pkgs/kde/gear/libkeduvocdocument/default.nix new file mode 100644 index 000000000000..f67c4e0ba497 --- /dev/null +++ b/pkgs/kde/gear/libkeduvocdocument/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "libkeduvocdocument"; +} diff --git a/pkgs/kde/gear/libkexiv2/default.nix b/pkgs/kde/gear/libkexiv2/default.nix new file mode 100644 index 000000000000..fa5cb7851ea2 --- /dev/null +++ b/pkgs/kde/gear/libkexiv2/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qt5compat, + pkg-config, + exiv2, +}: +mkKdeDerivation { + pname = "libkexiv2"; + + extraBuildInputs = [qt5compat exiv2]; + extraNativeBuildInputs = [pkg-config]; +} diff --git a/pkgs/kde/gear/libkgapi/default.nix b/pkgs/kde/gear/libkgapi/default.nix new file mode 100644 index 000000000000..87d3beb23c50 --- /dev/null +++ b/pkgs/kde/gear/libkgapi/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qttools, + cyrus_sasl, +}: +mkKdeDerivation { + pname = "libkgapi"; + + extraBuildInputs = [qttools cyrus_sasl]; +} diff --git a/pkgs/kde/gear/libkipi/default.nix b/pkgs/kde/gear/libkipi/default.nix new file mode 100644 index 000000000000..965cf158a3dc --- /dev/null +++ b/pkgs/kde/gear/libkipi/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "libkipi"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/libkleo/default.nix b/pkgs/kde/gear/libkleo/default.nix new file mode 100644 index 000000000000..47cd88fee577 --- /dev/null +++ b/pkgs/kde/gear/libkleo/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qt5compat, + boost, + qgpgme, +}: +mkKdeDerivation { + pname = "libkleo"; + + extraBuildInputs = [qt5compat boost]; + extraPropagatedBuildInputs = [qgpgme]; +} diff --git a/pkgs/kde/gear/libkmahjongg/default.nix b/pkgs/kde/gear/libkmahjongg/default.nix new file mode 100644 index 000000000000..f411605318a2 --- /dev/null +++ b/pkgs/kde/gear/libkmahjongg/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + _7zz, + svgcleaner, + qtsvg, +}: +mkKdeDerivation { + pname = "libkmahjongg"; + + extraNativeBuildInputs = [_7zz svgcleaner]; + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/libkomparediff2/default.nix b/pkgs/kde/gear/libkomparediff2/default.nix new file mode 100644 index 000000000000..43cccc19603f --- /dev/null +++ b/pkgs/kde/gear/libkomparediff2/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qt5compat, +}: +mkKdeDerivation { + pname = "libkomparediff2"; + + extraBuildInputs = [qt5compat]; +} diff --git a/pkgs/kde/gear/libksane/default.nix b/pkgs/kde/gear/libksane/default.nix new file mode 100644 index 000000000000..319d47b8b2d9 --- /dev/null +++ b/pkgs/kde/gear/libksane/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "libksane"; +} diff --git a/pkgs/kde/gear/libksieve/default.nix b/pkgs/kde/gear/libksieve/default.nix new file mode 100644 index 000000000000..cec2f027b73d --- /dev/null +++ b/pkgs/kde/gear/libksieve/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtwebengine, + cyrus_sasl, +}: +mkKdeDerivation { + pname = "libksieve"; + + extraBuildInputs = [qtwebengine cyrus_sasl]; +} diff --git a/pkgs/kde/gear/libktorrent/default.nix b/pkgs/kde/gear/libktorrent/default.nix new file mode 100644 index 000000000000..263cbb3cadb3 --- /dev/null +++ b/pkgs/kde/gear/libktorrent/default.nix @@ -0,0 +1,15 @@ +{ + mkKdeDerivation, + doxygen, + qt5compat, + boost, + gmp, + libgcrypt, +}: +mkKdeDerivation { + pname = "libktorrent"; + + extraNativeBuildInputs = [doxygen]; + extraBuildInputs = [qt5compat]; + extraPropagatedBuildInputs = [boost gmp libgcrypt]; +} diff --git a/pkgs/kde/gear/lokalize/default.nix b/pkgs/kde/gear/lokalize/default.nix new file mode 100644 index 000000000000..a50845f258bb --- /dev/null +++ b/pkgs/kde/gear/lokalize/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "lokalize"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/lskat/default.nix b/pkgs/kde/gear/lskat/default.nix new file mode 100644 index 000000000000..e1b83925feb8 --- /dev/null +++ b/pkgs/kde/gear/lskat/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "lskat"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/mailcommon/default.nix b/pkgs/kde/gear/mailcommon/default.nix new file mode 100644 index 000000000000..44b2b283896e --- /dev/null +++ b/pkgs/kde/gear/mailcommon/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtwebengine, + qttools, +}: +mkKdeDerivation { + pname = "mailcommon"; + + extraBuildInputs = [qtwebengine qttools]; +} diff --git a/pkgs/kde/gear/mailimporter/default.nix b/pkgs/kde/gear/mailimporter/default.nix new file mode 100644 index 000000000000..d43e0a2288f9 --- /dev/null +++ b/pkgs/kde/gear/mailimporter/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "mailimporter"; +} diff --git a/pkgs/kde/gear/marble/default.nix b/pkgs/kde/gear/marble/default.nix new file mode 100644 index 000000000000..1f6e574ed312 --- /dev/null +++ b/pkgs/kde/gear/marble/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "marble"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/markdownpart/default.nix b/pkgs/kde/gear/markdownpart/default.nix new file mode 100644 index 000000000000..e40b6d03f883 --- /dev/null +++ b/pkgs/kde/gear/markdownpart/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "markdownpart"; +} diff --git a/pkgs/kde/gear/mbox-importer/default.nix b/pkgs/kde/gear/mbox-importer/default.nix new file mode 100644 index 000000000000..7d1a6730e84d --- /dev/null +++ b/pkgs/kde/gear/mbox-importer/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "mbox-importer"; +} diff --git a/pkgs/kde/gear/merkuro/default.nix b/pkgs/kde/gear/merkuro/default.nix new file mode 100644 index 000000000000..7ad2c3637f70 --- /dev/null +++ b/pkgs/kde/gear/merkuro/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtsvg, + libplasma, +}: +mkKdeDerivation { + pname = "merkuro"; + + extraBuildInputs = [qtsvg libplasma]; +} diff --git a/pkgs/kde/gear/messagelib/default.nix b/pkgs/kde/gear/messagelib/default.nix new file mode 100644 index 000000000000..47058be34826 --- /dev/null +++ b/pkgs/kde/gear/messagelib/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtwebengine, +}: +mkKdeDerivation { + pname = "messagelib"; + + extraPropagatedBuildInputs = [qtwebengine]; +} diff --git a/pkgs/kde/gear/mimetreeparser/default.nix b/pkgs/kde/gear/mimetreeparser/default.nix new file mode 100644 index 000000000000..3bebd8aee726 --- /dev/null +++ b/pkgs/kde/gear/mimetreeparser/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qt5compat, + qtdeclarative, + qgpgme, +}: +mkKdeDerivation { + pname = "mimetreeparser"; + + extraBuildInputs = [qt5compat qtdeclarative qgpgme]; +} diff --git a/pkgs/kde/gear/minuet/default.nix b/pkgs/kde/gear/minuet/default.nix new file mode 100644 index 000000000000..bbfe47b2796f --- /dev/null +++ b/pkgs/kde/gear/minuet/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qtdeclarative, + qtsvg, + fluidsynth, +}: +mkKdeDerivation { + pname = "minuet"; + + extraBuildInputs = [qtdeclarative qtsvg fluidsynth]; +} diff --git a/pkgs/kde/gear/neochat/default.nix b/pkgs/kde/gear/neochat/default.nix new file mode 100644 index 000000000000..ac50d06db8c9 --- /dev/null +++ b/pkgs/kde/gear/neochat/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qtlocation, + qtwebview, + kunifiedpush, +}: +mkKdeDerivation { + pname = "neochat"; + + extraBuildInputs = [qtlocation qtwebview kunifiedpush]; +} diff --git a/pkgs/kde/gear/okular/default.nix b/pkgs/kde/gear/okular/default.nix new file mode 100644 index 000000000000..4f2ad1f8e3b0 --- /dev/null +++ b/pkgs/kde/gear/okular/default.nix @@ -0,0 +1,30 @@ +{ + mkKdeDerivation, + pkg-config, + qtspeech, + qtsvg, + poppler, + libtiff, + libspectre, + libzip, + djvulibre, + ebook_tools, + discount, +}: +mkKdeDerivation { + pname = "okular"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [ + qtspeech + qtsvg + + poppler + libtiff + libspectre + libzip + djvulibre + ebook_tools + discount + ]; +} diff --git a/pkgs/kde/gear/palapeli/default.nix b/pkgs/kde/gear/palapeli/default.nix new file mode 100644 index 000000000000..01cc8774d06d --- /dev/null +++ b/pkgs/kde/gear/palapeli/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qtsvg, + shared-mime-info, +}: +mkKdeDerivation { + pname = "palapeli"; + + extraNativeBuildInputs = [shared-mime-info]; + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/parley/default.nix b/pkgs/kde/gear/parley/default.nix new file mode 100644 index 000000000000..75f01c94e9d5 --- /dev/null +++ b/pkgs/kde/gear/parley/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + qtsvg, + qtmultimedia, + qtwebengine, +}: +mkKdeDerivation { + pname = "parley"; + + extraBuildInputs = [qtsvg qtmultimedia qtwebengine]; +} diff --git a/pkgs/kde/gear/partitionmanager/default.nix b/pkgs/kde/gear/partitionmanager/default.nix new file mode 100644 index 000000000000..1b3b06f8d68b --- /dev/null +++ b/pkgs/kde/gear/partitionmanager/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + kpmcore, +}: +mkKdeDerivation { + pname = "partitionmanager"; + + propagatedUserEnvPkgs = [kpmcore]; +} diff --git a/pkgs/kde/gear/picmi/default.nix b/pkgs/kde/gear/picmi/default.nix new file mode 100644 index 000000000000..a5dd853fba52 --- /dev/null +++ b/pkgs/kde/gear/picmi/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "picmi"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/pim-data-exporter/default.nix b/pkgs/kde/gear/pim-data-exporter/default.nix new file mode 100644 index 000000000000..da2097f46763 --- /dev/null +++ b/pkgs/kde/gear/pim-data-exporter/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "pim-data-exporter"; +} diff --git a/pkgs/kde/gear/pim-sieve-editor/default.nix b/pkgs/kde/gear/pim-sieve-editor/default.nix new file mode 100644 index 000000000000..66df72016321 --- /dev/null +++ b/pkgs/kde/gear/pim-sieve-editor/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "pim-sieve-editor"; +} diff --git a/pkgs/kde/gear/pimcommon/default.nix b/pkgs/kde/gear/pimcommon/default.nix new file mode 100644 index 000000000000..ddb467638c65 --- /dev/null +++ b/pkgs/kde/gear/pimcommon/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qttools, +}: +mkKdeDerivation { + pname = "pimcommon"; + + extraBuildInputs = [qttools]; +} diff --git a/pkgs/kde/gear/plasmatube/default.nix b/pkgs/kde/gear/plasmatube/default.nix new file mode 100644 index 000000000000..db28e47c78c8 --- /dev/null +++ b/pkgs/kde/gear/plasmatube/default.nix @@ -0,0 +1,15 @@ +{ + mkKdeDerivation, + qtquick3d, + qtsvg, + purpose, + pkg-config, + mpv, +}: +mkKdeDerivation { + pname = "plasmatube"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtquick3d qtsvg mpv]; + extraPropagatedBuildInputs = [purpose]; +} diff --git a/pkgs/kde/gear/poxml/default.nix b/pkgs/kde/gear/poxml/default.nix new file mode 100644 index 000000000000..3c22e5e4b1e9 --- /dev/null +++ b/pkgs/kde/gear/poxml/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "poxml"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/qmlkonsole/default.nix b/pkgs/kde/gear/qmlkonsole/default.nix new file mode 100644 index 000000000000..c48dbad18204 --- /dev/null +++ b/pkgs/kde/gear/qmlkonsole/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "qmlkonsole"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/rocs/default.nix b/pkgs/kde/gear/rocs/default.nix new file mode 100644 index 000000000000..73e7143f8df0 --- /dev/null +++ b/pkgs/kde/gear/rocs/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + boost, +}: +mkKdeDerivation { + pname = "rocs"; + + extraBuildInputs = [boost]; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/signon-kwallet-extension/default.nix b/pkgs/kde/gear/signon-kwallet-extension/default.nix new file mode 100644 index 000000000000..15900552d50f --- /dev/null +++ b/pkgs/kde/gear/signon-kwallet-extension/default.nix @@ -0,0 +1,16 @@ +{ + mkKdeDerivation, + pkg-config, + signond, +}: +mkKdeDerivation { + pname = "signon-kwallet-extension"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [signond]; + + # NB: not actually broken, just makes it install to $out instead of $signon/lib/extensions + # This is useless without a wrapped signond. + # FIXME: wrap signond with SSO_EXTENSIONS_DIR=$wrapper/lib/extensions + extraCmakeFlags = ["-DINSTALL_BROKEN_SIGNON_EXTENSION=1"]; +} diff --git a/pkgs/kde/gear/skanlite/default.nix b/pkgs/kde/gear/skanlite/default.nix new file mode 100644 index 000000000000..c64594d3fd09 --- /dev/null +++ b/pkgs/kde/gear/skanlite/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qt5compat, +}: +mkKdeDerivation { + pname = "skanlite"; + + extraBuildInputs = [qt5compat]; +} diff --git a/pkgs/kde/gear/skanpage/default.nix b/pkgs/kde/gear/skanpage/default.nix new file mode 100644 index 000000000000..a7352da8466c --- /dev/null +++ b/pkgs/kde/gear/skanpage/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + tesseractLanguages ? [], + tesseract5, + leptonica, +}: +mkKdeDerivation { + pname = "skanpage"; + + extraBuildInputs = [ + (tesseract5.override {enableLanguages = tesseractLanguages;}) + leptonica + ]; +} diff --git a/pkgs/kde/gear/spectacle/default.nix b/pkgs/kde/gear/spectacle/default.nix new file mode 100644 index 000000000000..1b5539230cbd --- /dev/null +++ b/pkgs/kde/gear/spectacle/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtwayland, + qtmultimedia, +}: +mkKdeDerivation { + pname = "spectacle"; + + extraBuildInputs = [qtwayland qtmultimedia]; +} diff --git a/pkgs/kde/gear/step/default.nix b/pkgs/kde/gear/step/default.nix new file mode 100644 index 000000000000..7e403a24d902 --- /dev/null +++ b/pkgs/kde/gear/step/default.nix @@ -0,0 +1,16 @@ +{ + mkKdeDerivation, + qttools, + qtsvg, + pkg-config, + eigen, + shared-mime-info, + gsl, + libqalculate, +}: +mkKdeDerivation { + pname = "step"; + + extraNativeBuildInputs = [qttools qtsvg pkg-config shared-mime-info]; + extraBuildInputs = [eigen gsl libqalculate]; +} diff --git a/pkgs/kde/gear/svgpart/default.nix b/pkgs/kde/gear/svgpart/default.nix new file mode 100644 index 000000000000..44f25d0312b1 --- /dev/null +++ b/pkgs/kde/gear/svgpart/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "svgpart"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/sweeper/default.nix b/pkgs/kde/gear/sweeper/default.nix new file mode 100644 index 000000000000..f914ce9574be --- /dev/null +++ b/pkgs/kde/gear/sweeper/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + plasma-activities-stats, +}: +mkKdeDerivation { + pname = "sweeper"; + + extraBuildInputs = [plasma-activities-stats]; +} diff --git a/pkgs/kde/gear/telly-skout/default.nix b/pkgs/kde/gear/telly-skout/default.nix new file mode 100644 index 000000000000..c19ecf6b42d7 --- /dev/null +++ b/pkgs/kde/gear/telly-skout/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "telly-skout"; +} diff --git a/pkgs/kde/gear/tokodon/default.nix b/pkgs/kde/gear/tokodon/default.nix new file mode 100644 index 000000000000..464f354f41ed --- /dev/null +++ b/pkgs/kde/gear/tokodon/default.nix @@ -0,0 +1,17 @@ +{ + mkKdeDerivation, + pkg-config, + qtmultimedia, + qtsvg, + qtwebsockets, + qtwebview, + mpv, + kitemmodels, + sonnet, +}: +mkKdeDerivation { + pname = "tokodon"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtmultimedia qtsvg qtwebsockets qtwebview mpv kitemmodels sonnet]; +} diff --git a/pkgs/kde/gear/umbrello/default.nix b/pkgs/kde/gear/umbrello/default.nix new file mode 100644 index 000000000000..6aca83a9e825 --- /dev/null +++ b/pkgs/kde/gear/umbrello/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "umbrello"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/gear/yakuake/default.nix b/pkgs/kde/gear/yakuake/default.nix new file mode 100644 index 000000000000..420ec08f670b --- /dev/null +++ b/pkgs/kde/gear/yakuake/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "yakuake"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/gear/zanshin/default.nix b/pkgs/kde/gear/zanshin/default.nix new file mode 100644 index 000000000000..357b6963ff09 --- /dev/null +++ b/pkgs/kde/gear/zanshin/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + boost, +}: +mkKdeDerivation { + pname = "zanshin"; + + extraBuildInputs = [boost]; +} diff --git a/pkgs/kde/lib/mk-kde-derivation.nix b/pkgs/kde/lib/mk-kde-derivation.nix new file mode 100644 index 000000000000..714a81ce4420 --- /dev/null +++ b/pkgs/kde/lib/mk-kde-derivation.nix @@ -0,0 +1,123 @@ +self: { + lib, + stdenv, + makeSetupHook, + fetchurl, + cmake, + qt6, +}: let + dependencies = (lib.importJSON ../generated/dependencies.json).dependencies; + projectInfo = lib.importJSON ../generated/projects.json; + + licenseInfo = lib.importJSON ../generated/licenses.json; + licensesBySpdxId = + (lib.mapAttrs' (_: v: { + name = v.spdxId or "unknown"; + value = v; + }) + lib.licenses) + // { + # https://community.kde.org/Policies/Licensing_Policy + "LicenseRef-KDE-Accepted-GPL" = lib.licenses.gpl3Plus; + "LicenseRef-KFQF-Accepted-GPL" = lib.licenses.gpl3Plus; + "LicenseRef-KDE-Accepted-LGPL" = lib.licenses.lgpl3Plus; + + # https://sjfonts.sourceforge.net/ + "LicenseRef-SJFonts" = lib.licenses.gpl2Plus; + + # https://invent.kde.org/education/kiten/-/blob/master/LICENSES/LicenseRef-EDRDG.txt + "LicenseRef-EDRDG" = lib.licenses.cc-by-sa-30; + + # https://invent.kde.org/kdevelop/kdevelop/-/blob/master/LICENSES/LicenseRef-MIT-KDevelop-Ideal.txt + "LicenseRef-MIT-KDevelop-Ideal" = lib.licenses.mit; + + "FSFAP" = { + spdxId = "FSFAP"; + fullName = "FSF All Permissive License"; + }; + + "FSFULLR" = { + spdxId = "FSFULLR"; + fullName = "FSF Unlimited License (with License Retention)"; + }; + + "W3C-20150513" = { + spdxId = "W3C-20150513"; + fullName = "W3C Software Notice and Document License (2015-05-13)"; + }; + + # Technically not exact + "bzip2-1.0.6" = lib.licenses.bsdOriginal; + + # FIXME: typo lol + "ICS" = lib.licenses.isc; + + # These are only relevant to Qt commercial users + "Qt-Commercial-exception-1.0" = null; + "LicenseRef-Qt-Commercial" = null; + "LicenseRef-Qt-Commercial-exception-1.0" = null; + + # FIXME: ??? + "Qt-GPL-exception-1.0" = null; + "LicenseRef-Qt-LGPL-exception-1.0" = null; + "Qt-LGPL-exception-1.1" = null; + "LicenseRef-Qt-exception" = null; + "GCC-exception-3.1" = null; + "Bison-exception-2.2" = null; + "Font-exception-2.0" = null; + None = null; + }; + + moveDevHook = makeSetupHook {name = "kf6-move-dev-hook";} ./move-dev-hook.sh; +in + { + pname, + version ? self.sources.${pname}.version, + src ? self.sources.${pname}, + extraBuildInputs ? [], + extraNativeBuildInputs ? [], + extraPropagatedBuildInputs ? [], + extraCmakeFlags ? [], + meta ? {}, + ... + } @ args: let + # FIXME(later): this is wrong for cross, some of these things really need to go into nativeBuildInputs, + # but cross is currently very broken anyway, so we can figure this out later. + deps = map (dep: self.${dep}) (dependencies.${pname} or []); + + defaultArgs = { + inherit version src; + + outputs = ["out" "dev"]; + + nativeBuildInputs = [cmake qt6.wrapQtAppsHook moveDevHook] ++ extraNativeBuildInputs; + buildInputs = [qt6.qtbase] ++ extraBuildInputs; + + # FIXME: figure out what to propagate here + propagatedBuildInputs = deps ++ extraPropagatedBuildInputs; + strictDeps = true; + + dontFixCmake = true; + cmakeFlags = ["-DQT_MAJOR_VERSION=6"] ++ extraCmakeFlags; + + separateDebugInfo = true; + + meta = + { + description = projectInfo.${pname}.description; + homepage = "https://invent.kde.org/${projectInfo.${pname}.repo_path}"; + license = lib.filter (l: l != null) (map (l: licensesBySpdxId.${l}) licenseInfo.${pname}); + maintainers = lib.teams.qt-kde.members; + } + // meta; + }; + + cleanArgs = builtins.removeAttrs args [ + "extraBuildInputs" + "extraNativeBuildInputs" + "extraPropagatedBuildInputs" + "extraCmakeFlags" + "meta" + ]; + in + stdenv.mkDerivation (defaultArgs // cleanArgs) diff --git a/pkgs/kde/lib/move-dev-hook.sh b/pkgs/kde/lib/move-dev-hook.sh new file mode 100644 index 000000000000..da5770e1bba1 --- /dev/null +++ b/pkgs/kde/lib/move-dev-hook.sh @@ -0,0 +1,8 @@ +# shellcheck shell=bash +# shellcheck disable=SC2154 + +moveKF6DevTools() { + moveToOutput "${qtPluginPrefix}/designer" "${!outputDev}" +} + +postInstallHooks+=('moveKF6DevTools') diff --git a/pkgs/kde/misc/alpaka/default.nix b/pkgs/kde/misc/alpaka/default.nix new file mode 100644 index 000000000000..6e4154c495d8 --- /dev/null +++ b/pkgs/kde/misc/alpaka/default.nix @@ -0,0 +1,25 @@ +{ + lib, + mkKdeDerivation, + fetchFromGitLab, +}: +mkKdeDerivation { + pname = "alpaka"; + version = "unstable-2024-02-27"; + + src = fetchFromGitLab { + domain = "invent.kde.org"; + owner = "utilities"; + repo = "alpaka"; + rev = "64ef70f062920e2d62b5a9337485ccbf0eb86b97"; + hash = "sha256-YDn86+byjvCK525EQsGTCKf88Ovhvii848nTJHGP1bg="; + }; + + meta.license = with lib.licenses; [ + bsd3 + cc0 + gpl2Only + gpl2Plus + gpl3Only + ]; +} diff --git a/pkgs/kde/misc/kdiagram/default.nix b/pkgs/kde/misc/kdiagram/default.nix new file mode 100644 index 000000000000..f396db7a3378 --- /dev/null +++ b/pkgs/kde/misc/kdiagram/default.nix @@ -0,0 +1,20 @@ +{ + lib, + mkKdeDerivation, + fetchurl, + qttools, + qtsvg, +}: +mkKdeDerivation rec { + pname = "kdiagram"; + version = "3.0.1"; + + src = fetchurl { + url = "mirror://kde/stable/kdiagram/${version}/kdiagram-${version}.tar.xz"; + hash = "sha256-Rlmwws2dsYFD9avZyAYJHDqrarwalWu/goFas9MYnG0="; + }; + + extraNativeBuildInputs = [qttools qtsvg]; + + meta.license = [lib.licenses.gpl2]; +} diff --git a/pkgs/kde/misc/kdsoap-ws-discovery-client/default.nix b/pkgs/kde/misc/kdsoap-ws-discovery-client/default.nix new file mode 100644 index 000000000000..f4c2637a9600 --- /dev/null +++ b/pkgs/kde/misc/kdsoap-ws-discovery-client/default.nix @@ -0,0 +1,19 @@ +{ + lib, + mkKdeDerivation, + fetchurl, + doxygen, +}: +mkKdeDerivation rec { + pname = "kdsoap-ws-discovery-client"; + version = "0.4.0"; + + src = fetchurl { + url = "mirror://kde/stable/kdsoap-ws-discovery-client/kdsoap-ws-discovery-client-${version}.tar.xz"; + hash = "sha256-LNJHwBPnX0EGWbrDcq/5PSLXHFpUwFnhN7lESvizQno="; + }; + + extraNativeBuildInputs = [doxygen]; + + meta.license = [lib.licenses.gpl3Plus]; +} diff --git a/pkgs/kde/misc/kio-fuse/default.nix b/pkgs/kde/misc/kio-fuse/default.nix new file mode 100644 index 000000000000..b5461fd02de0 --- /dev/null +++ b/pkgs/kde/misc/kio-fuse/default.nix @@ -0,0 +1,21 @@ +{ + lib, + mkKdeDerivation, + fetchurl, + pkg-config, + fuse3, +}: +mkKdeDerivation rec { + pname = "kio-fuse"; + version = "5.1.0"; + + src = fetchurl { + url = "mirror://kde/stable/kio-fuse/kio-fuse-${version}.tar.xz"; + hash = "sha256-fRBFgSJ9Whm0JLM/QWjRgVVrEBXW3yIY4BqI1kRJ6Us="; + }; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [fuse3]; + + meta.license = with lib.licenses; [gpl3Plus]; +} diff --git a/pkgs/kde/misc/kirigami-addons/default.nix b/pkgs/kde/misc/kirigami-addons/default.nix new file mode 100644 index 000000000000..14852d56f5b1 --- /dev/null +++ b/pkgs/kde/misc/kirigami-addons/default.nix @@ -0,0 +1,31 @@ +{ + lib, + mkKdeDerivation, + fetchurl, + qtdeclarative, + qt5compat, +}: +mkKdeDerivation rec { + pname = "kirigami-addons"; + version = "1.0.1"; + + src = fetchurl { + url = "mirror://kde/stable/kirigami-addons/kirigami-addons-${version}.tar.xz"; + hash = "sha256-nQE4R++wBIxqJ5nuDtKBsU7uFTFKwg1/uoUxl+RfKbc="; + }; + + extraBuildInputs = [qtdeclarative]; + extraPropagatedBuildInputs = [qt5compat]; + + meta.license = with lib.licenses; [ + bsd2 + cc-by-sa-40 + cc0 + gpl2Plus + lgpl2Only + lgpl2Plus + lgpl21Only + lgpl21Plus + lgpl3Only + ]; +} diff --git a/pkgs/kde/misc/ktextaddons/default.nix b/pkgs/kde/misc/ktextaddons/default.nix new file mode 100644 index 000000000000..086608f2b662 --- /dev/null +++ b/pkgs/kde/misc/ktextaddons/default.nix @@ -0,0 +1,27 @@ +{ + lib, + mkKdeDerivation, + fetchurl, + qtspeech, + qttools, + kxmlgui, +}: +mkKdeDerivation rec { + pname = "ktextaddons"; + version = "1.5.3"; + + src = fetchurl { + url = "mirror://kde/stable/ktextaddons/ktextaddons-${version}.tar.xz"; + hash = "sha256-ilLbir+oqdaNLSkfsPi+IGWf14mZh7Tcr98kaNsJF9w="; + }; + + extraBuildInputs = [qtspeech qttools kxmlgui]; + + meta.license = with lib.licenses; [ + bsd3 + cc0 + gpl2Plus + lgpl2Plus + lgpl21Plus + ]; +} diff --git a/pkgs/kde/misc/kunifiedpush/default.nix b/pkgs/kde/misc/kunifiedpush/default.nix new file mode 100644 index 000000000000..54f902913901 --- /dev/null +++ b/pkgs/kde/misc/kunifiedpush/default.nix @@ -0,0 +1,24 @@ +{ + lib, + mkKdeDerivation, + fetchFromGitLab, + qtwebsockets, + kdeclarative, + kpackage, +}: +mkKdeDerivation { + pname = "kunifiedpush"; + version = "unstable-2024-02-19"; + + src = fetchFromGitLab { + domain = "invent.kde.org"; + owner = "libraries"; + repo = "kunifiedpush"; + rev = "b89a31fb4f333a4e5d6c475a030147c8bdcffec6"; + hash = "sha256-bhlsEP7cLuA6Rj6nrpp5iC3uolc02twNMLsWl+d/BXo="; + }; + + extraBuildInputs = [qtwebsockets kdeclarative kpackage]; + + meta.license = with lib.licenses; [bsd2 bsd3 cc0 lgpl2Plus]; +} diff --git a/pkgs/kde/misc/kweathercore/default.nix b/pkgs/kde/misc/kweathercore/default.nix new file mode 100644 index 000000000000..31dbf598dcfd --- /dev/null +++ b/pkgs/kde/misc/kweathercore/default.nix @@ -0,0 +1,19 @@ +{ + lib, + mkKdeDerivation, + fetchurl, + qtpositioning, +}: +mkKdeDerivation rec { + pname = "kweathercore"; + version = "0.8.0"; + + src = fetchurl { + url = "mirror://kde/stable/kweathercore/${version}/kweathercore-${version}.tar.xz"; + hash = "sha256-m8rBPa+YcF4vDVsGshoahpSWIHj84b9iDbvDZIc6Dv4="; + }; + + extraBuildInputs = [qtpositioning]; + + meta.license = with lib.licenses; [cc-by-40 cc0 lgpl2Plus]; +} diff --git a/pkgs/kde/misc/mpvqt/default.nix b/pkgs/kde/misc/mpvqt/default.nix new file mode 100644 index 000000000000..4ec52aba0793 --- /dev/null +++ b/pkgs/kde/misc/mpvqt/default.nix @@ -0,0 +1,23 @@ +{ + lib, + mkKdeDerivation, + fetchFromGitLab, + mpv, + qtdeclarative, +}: +mkKdeDerivation rec { + pname = "mpvqt"; + version = "1.0.0"; + + src = fetchFromGitLab { + domain = "invent.kde.org"; + owner = "libraries"; + repo = "mpvqt"; + rev = "v${version}"; + hash = "sha256-XHiCxH7dJxJamloM2SJbiFHDt8j4rVfv/M9PaBzvgM4="; + }; + + extraBuildInputs = [mpv qtdeclarative]; + + meta.license = with lib.licenses; [bsd2 bsd3 cc-by-sa-40 cc0 lgpl21Only lgpl3Only lgpl3Plus mit]; +} diff --git a/pkgs/kde/misc/oxygen-icons/default.nix b/pkgs/kde/misc/oxygen-icons/default.nix new file mode 100644 index 000000000000..91144f0c0bcf --- /dev/null +++ b/pkgs/kde/misc/oxygen-icons/default.nix @@ -0,0 +1,18 @@ +{ + lib, + mkKdeDerivation, + fetchurl, +}: +mkKdeDerivation rec { + pname = "oxygen-icons"; + version = "6.0.0"; + + src = fetchurl { + url = "mirror://kde/stable/oxygen-icons/oxygen-icons-${version}.tar.xz"; + hash = "sha256-KOwYKHXcwV2SePRc7RECaqOSR28fRUhxueLINwCOV3Q="; + }; + + dontStrip = true; + + meta.license = [lib.licenses.lgpl3Plus]; +} diff --git a/pkgs/kde/misc/phonon-vlc/default.nix b/pkgs/kde/misc/phonon-vlc/default.nix new file mode 100644 index 000000000000..bd828172bf8d --- /dev/null +++ b/pkgs/kde/misc/phonon-vlc/default.nix @@ -0,0 +1,23 @@ +{ + lib, + mkKdeDerivation, + fetchurl, + qttools, + libvlc, +}: +mkKdeDerivation rec { + pname = "phonon-vlc"; + version = "0.12.0"; + + src = fetchurl { + url = "mirror://kde/stable/phonon/phonon-backend-vlc/${version}/phonon-backend-vlc-${version}.tar.xz"; + hash = "sha256-M4R53EUeS5SzyltXje90Hc+C9cYmooB9NiNb4tznyaU="; + }; + + extraNativeBuildInputs = [qttools]; + extraBuildInputs = [libvlc]; + + cmakeFlags = ["-DPHONON_BUILD_QT5=0" "-DPHONON_BUILD_QT6=1"]; + + meta.license = with lib.licenses; [lgpl21Plus]; +} diff --git a/pkgs/kde/misc/phonon/default.nix b/pkgs/kde/misc/phonon/default.nix new file mode 100644 index 000000000000..4706dd159ea5 --- /dev/null +++ b/pkgs/kde/misc/phonon/default.nix @@ -0,0 +1,36 @@ +{ + lib, + mkKdeDerivation, + fetchurl, + libGLU, + libGL, + pkg-config, + libpulseaudio, + qt5compat, + qttools, +}: +mkKdeDerivation rec { + pname = "phonon"; + version = "4.12.0"; + + src = fetchurl { + url = "mirror://kde/stable/phonon/${version}/phonon-${version}.tar.xz"; + hash = "sha256-Mof/4PvMLUqhNj+eFXRzAtCwgAkP525fIR2AnstD85o="; + }; + + extraBuildInputs = [ + libGLU + libGL + libpulseaudio + qt5compat + ]; + + extraNativeBuildInputs = [ + pkg-config + qttools + ]; + + cmakeFlags = ["-DPHONON_BUILD_QT5=0" "-DPHONON_BUILD_QT6=1"]; + + meta.license = with lib.licenses; [lgpl21Plus gpl2Plus]; +} diff --git a/pkgs/kde/misc/polkit-qt-1/default.nix b/pkgs/kde/misc/polkit-qt-1/default.nix new file mode 100644 index 000000000000..432cc5da8059 --- /dev/null +++ b/pkgs/kde/misc/polkit-qt-1/default.nix @@ -0,0 +1,24 @@ +{ + mkKdeDerivation, + lib, + fetchurl, + pkg-config, + polkit, + glib, +}: +mkKdeDerivation rec { + pname = "polkit-qt-1"; + version = "0.200.0"; + + src = fetchurl { + url = "mirror://kde/stable/polkit-qt-1/polkit-qt-1-${version}.tar.xz"; + sha256 = "sha256-XTthHAYtK3apN1C7EMkHv9IdH/CNChXcLPY+J44Wd/s="; + }; + + patches = [./full-paths.patch]; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [glib polkit]; + + meta.license = with lib.licenses; [bsd3 gpl2Plus lgpl2Plus]; +} diff --git a/pkgs/kde/misc/polkit-qt-1/full-paths.patch b/pkgs/kde/misc/polkit-qt-1/full-paths.patch new file mode 100644 index 000000000000..72654d2d8ca9 --- /dev/null +++ b/pkgs/kde/misc/polkit-qt-1/full-paths.patch @@ -0,0 +1,184 @@ +diff --git a/PolkitQt-1Config.cmake.in b/PolkitQt-1Config.cmake.in +index e09678c..57d465a 100644 +--- a/PolkitQt-1Config.cmake.in ++++ b/PolkitQt-1Config.cmake.in +@@ -20,9 +20,9 @@ if(NOT POLKITQT-1_INSTALL_DIR) + set(POLKITQT-1_INSTALL_DIR "@CMAKE_INSTALL_PREFIX@") + endif(NOT POLKITQT-1_INSTALL_DIR) + +-set_and_check(POLKITQT-1_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@") ++set_and_check(POLKITQT-1_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@") + set_and_check(POLKITQT-1_INCLUDE_DIRS "${POLKITQT-1_INCLUDE_DIR}") +-set_and_check(POLKITQT-1_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@") ++set_and_check(POLKITQT-1_LIB_DIR "@CMAKE_INSTALL_FULL_LIBDIR@") + set(POLKITQT-1_POLICY_FILES_INSTALL_DIR "${POLKITQT-1_INSTALL_DIR}/share/polkit-1/actions") + ################################## + +diff --git a/polkit-qt-1.pc.cmake b/polkit-qt-1.pc.cmake +index ba8e46e..2d7ea64 100644 +--- a/polkit-qt-1.pc.cmake ++++ b/polkit-qt-1.pc.cmake +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + + Name: @POLKITQT-1_PCNAME@ + Description: Convenience library for using polkit with a Qt-styled API +diff --git a/polkit-qt-agent-1.pc.cmake b/polkit-qt-agent-1.pc.cmake +index 23b2cae..86670a7 100644 +--- a/polkit-qt-agent-1.pc.cmake ++++ b/polkit-qt-agent-1.pc.cmake +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + + Name: @POLKITQT-1_AGENT_PCNAME@ + Description: Convenience library for using polkit Agent with a Qt-styled API +diff --git a/polkit-qt-core-1.pc.cmake b/polkit-qt-core-1.pc.cmake +index fa501f0..61faa63 100644 +--- a/polkit-qt-core-1.pc.cmake ++++ b/polkit-qt-core-1.pc.cmake +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + + Name: @POLKITQT-1_CORE_PCNAME@ + Description: Convenience library for using polkit with a Qt-styled API, non-GUI classes +diff --git a/polkit-qt-gui-1.pc.cmake b/polkit-qt-gui-1.pc.cmake +index 7261b0c..8c633bb 100644 +--- a/polkit-qt-gui-1.pc.cmake ++++ b/polkit-qt-gui-1.pc.cmake +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + + Name: @POLKITQT-1_GUI_PCNAME@ + Description: Convenience library for using polkit with a Qt-styled API, GUI classes +diff --git a/polkit-qt5-1.pc.cmake b/polkit-qt5-1.pc.cmake +index ba8e46e..2d7ea64 100644 +--- a/polkit-qt5-1.pc.cmake ++++ b/polkit-qt5-1.pc.cmake +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + + Name: @POLKITQT-1_PCNAME@ + Description: Convenience library for using polkit with a Qt-styled API +diff --git a/polkit-qt5-agent-1.pc.cmake b/polkit-qt5-agent-1.pc.cmake +index 60b22d5..ee8b80b 100644 +--- a/polkit-qt5-agent-1.pc.cmake ++++ b/polkit-qt5-agent-1.pc.cmake +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + + Name: @POLKITQT-1_AGENT_PCNAME@ + Description: Convenience library for using polkit Agent with a Qt-styled API +diff --git a/polkit-qt5-core-1.pc.cmake b/polkit-qt5-core-1.pc.cmake +index 2f5d562..387c64b 100644 +--- a/polkit-qt5-core-1.pc.cmake ++++ b/polkit-qt5-core-1.pc.cmake +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + + Name: @POLKITQT-1_CORE_PCNAME@ + Description: Convenience library for using polkit with a Qt-styled API, non-GUI classes +diff --git a/polkit-qt5-gui-1.pc.cmake b/polkit-qt5-gui-1.pc.cmake +index 1d208fb..dd95f52 100644 +--- a/polkit-qt5-gui-1.pc.cmake ++++ b/polkit-qt5-gui-1.pc.cmake +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + + Name: @POLKITQT-1_GUI_PCNAME@ + Description: Convenience library for using polkit with a Qt-styled API, GUI classes +diff --git a/polkit-qt6-1.pc.cmake b/polkit-qt6-1.pc.cmake +index ba8e46e..2d7ea64 100644 +--- a/polkit-qt6-1.pc.cmake ++++ b/polkit-qt6-1.pc.cmake +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + + Name: @POLKITQT-1_PCNAME@ + Description: Convenience library for using polkit with a Qt-styled API +diff --git a/polkit-qt6-agent-1.pc.cmake b/polkit-qt6-agent-1.pc.cmake +index 60b22d5..ee8b80b 100644 +--- a/polkit-qt6-agent-1.pc.cmake ++++ b/polkit-qt6-agent-1.pc.cmake +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + + Name: @POLKITQT-1_AGENT_PCNAME@ + Description: Convenience library for using polkit Agent with a Qt-styled API +diff --git a/polkit-qt6-core-1.pc.cmake b/polkit-qt6-core-1.pc.cmake +index 2f5d562..387c64b 100644 +--- a/polkit-qt6-core-1.pc.cmake ++++ b/polkit-qt6-core-1.pc.cmake +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + + Name: @POLKITQT-1_CORE_PCNAME@ + Description: Convenience library for using polkit with a Qt-styled API, non-GUI classes +diff --git a/polkit-qt6-gui-1.pc.cmake b/polkit-qt6-gui-1.pc.cmake +index 1d208fb..dd95f52 100644 +--- a/polkit-qt6-gui-1.pc.cmake ++++ b/polkit-qt6-gui-1.pc.cmake +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/@POLKITQT-1_INCLUDE_PATH@ + + Name: @POLKITQT-1_GUI_PCNAME@ + Description: Convenience library for using polkit with a Qt-styled API, GUI classes diff --git a/pkgs/kde/misc/pulseaudio-qt/default.nix b/pkgs/kde/misc/pulseaudio-qt/default.nix new file mode 100644 index 000000000000..7f4ee4a39b41 --- /dev/null +++ b/pkgs/kde/misc/pulseaudio-qt/default.nix @@ -0,0 +1,21 @@ +{ + lib, + mkKdeDerivation, + fetchurl, + pkg-config, + pulseaudio, +}: +mkKdeDerivation rec { + pname = "pulseaudio-qt"; + version = "1.4.0"; + + src = fetchurl { + url = "mirror://kde/stable/pulseaudio-qt/pulseaudio-qt-${version}.tar.xz"; + hash = "sha256-2MpiTs8hMIVrhZz5NBF39v74xR8g93KNgH0JxxUO0GU="; + }; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [pulseaudio]; + + meta.license = with lib.licenses; [lgpl21Only lgpl3Only]; +} diff --git a/pkgs/kde/plasma/bluedevil/default.nix b/pkgs/kde/plasma/bluedevil/default.nix new file mode 100644 index 000000000000..993d121d1f37 --- /dev/null +++ b/pkgs/kde/plasma/bluedevil/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + shared-mime-info, +}: +mkKdeDerivation { + pname = "bluedevil"; + + extraNativeBuildInputs = [shared-mime-info]; +} diff --git a/pkgs/kde/plasma/breeze-grub/default.nix b/pkgs/kde/plasma/breeze-grub/default.nix new file mode 100644 index 000000000000..a5fe01b4cad7 --- /dev/null +++ b/pkgs/kde/plasma/breeze-grub/default.nix @@ -0,0 +1,17 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "breeze-grub"; + + # doesn't actually use cmake or anything + nativeBuildInputs = []; + buildInputs = []; + + installPhase = '' + runHook preInstall + + mkdir -p "$out/grub/themes" + mv breeze "$out/grub/themes" + + runHook postInstall + ''; +} diff --git a/pkgs/kde/plasma/breeze-gtk/0001-fix-add-executable-bit.patch b/pkgs/kde/plasma/breeze-gtk/0001-fix-add-executable-bit.patch new file mode 100644 index 000000000000..8ed822220598 --- /dev/null +++ b/pkgs/kde/plasma/breeze-gtk/0001-fix-add-executable-bit.patch @@ -0,0 +1,25 @@ +From da6a4651f74625f4c7f3c31f1125cfa4e774780b Mon Sep 17 00:00:00 2001 +From: Yaroslav Bolyukin <iam@lach.pw> +Date: Mon, 27 Sep 2021 22:45:58 +0300 +Subject: [PATCH] fix: add executable bit + +Signed-off-by: Yaroslav Bolyukin <iam@lach.pw> +--- + src/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 79ff12d..4f3d746 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -2,7 +2,7 @@ file(GLOB_RECURSE SCSS_SOURCES "*.scss") + file(GLOB CSS_SOURCES "*.css") + file(GLOB_RECURSE GTK2_SOURCES "gtk2/*") + +-configure_file(build_theme.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/build_theme.sh @ONLY) ++configure_file(build_theme.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/build_theme.sh FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE @ONLY) + + set(SOURCES + ${SCSS_SOURCES} +-- +2.33.0 diff --git a/pkgs/kde/plasma/breeze-gtk/default.nix b/pkgs/kde/plasma/breeze-gtk/default.nix new file mode 100644 index 000000000000..fc0bc4759d48 --- /dev/null +++ b/pkgs/kde/plasma/breeze-gtk/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + sass, + python3, + python3Packages, +}: +mkKdeDerivation { + pname = "breeze-gtk"; + + # FIXME(later): upstream + patches = [./0001-fix-add-executable-bit.patch]; + + extraNativeBuildInputs = [sass python3 python3Packages.pycairo]; +} diff --git a/pkgs/kde/plasma/breeze-plymouth/default.nix b/pkgs/kde/plasma/breeze-plymouth/default.nix new file mode 100644 index 000000000000..7551eca94e3a --- /dev/null +++ b/pkgs/kde/plasma/breeze-plymouth/default.nix @@ -0,0 +1,52 @@ +{ + lib, + mkKdeDerivation, + pkg-config, + plymouth, + imagemagick, + netpbm, + perl, + logoName ? null, + logoFile ? null, + osName ? null, + osVersion ? null, + topColor ? "black", + bottomColor ? "black", +}: let + validColors = ["black" "cardboard_grey" "charcoal_grey" "icon_blue" "paper_white" "plasma_blue" "neon_blue" "neon_green"]; + resolvedLogoName = + if (logoFile != null && logoName == null) + then lib.strings.removeSuffix ".png" (baseNameOf (toString logoFile)) + else logoName; +in + assert lib.asserts.assertOneOf "topColor" topColor validColors; + assert lib.asserts.assertOneOf "bottomColor" bottomColor validColors; + mkKdeDerivation { + pname = "breeze-plymouth"; + + # FIXME(later): discuss with upstream + patches = [./install-paths.patch]; + + extraNativeBuildInputs = [pkg-config] ++ lib.optionals (logoFile != null) [imagemagick netpbm perl]; + extraBuildInputs = [plymouth]; + + extraCmakeFlags = + [] + ++ lib.optional (osName != null) "-DDISTRO_NAME=${osName}" + ++ lib.optional (osVersion != null) "-DDISTRO_VERSION=${osVersion}" + ++ lib.optional (logoName != null) "-DDISTRO_LOGO=${logoName}" + ++ lib.optional (topColor != null) "-DBACKGROUND_TOP_COLOR=${topColor}" + ++ lib.optional (bottomColor != null) "-DBACKGROUND_BOTTOM_COLOR=${bottomColor}"; + + postPatch = + '' + substituteInPlace cmake/FindPlymouth.cmake --subst-var out + '' + + lib.optionalString (logoFile != null) '' + cp ${logoFile} breeze/images/${resolvedLogoName}.logo.png + + # conversion for 16bit taken from the breeze-plymouth readme + convert ${logoFile} -alpha Background -background "#000000" -fill "#000000" -flatten tmp.png + pngtopnm tmp.png | pnmquant 16 | pnmtopng > breeze/images/16bit/${resolvedLogoName}.logo.png + ''; + } diff --git a/pkgs/kde/plasma/breeze-plymouth/install-paths.patch b/pkgs/kde/plasma/breeze-plymouth/install-paths.patch new file mode 100644 index 000000000000..5d5856d122dd --- /dev/null +++ b/pkgs/kde/plasma/breeze-plymouth/install-paths.patch @@ -0,0 +1,19 @@ +Index: breeze-plymouth-5.7.3/cmake/FindPlymouth.cmake +=================================================================== +--- breeze-plymouth-5.7.3.orig/cmake/FindPlymouth.cmake ++++ breeze-plymouth-5.7.3/cmake/FindPlymouth.cmake +@@ -24,12 +24,8 @@ + include(FindPkgConfig) + + pkg_check_modules(Plymouth ply-boot-client ply-splash-core) +-exec_program(${PKG_CONFIG_EXECUTABLE} +- ARGS ply-splash-core --variable=pluginsdir +- OUTPUT_VARIABLE Plymouth_PLUGINSDIR) +-exec_program(${PKG_CONFIG_EXECUTABLE} +- ARGS ply-splash-core --variable=themesdir +- OUTPUT_VARIABLE Plymouth_THEMESDIR) ++set(Plymouth_PLUGINSDIR "@out@/lib/plymouth") ++set(Plymouth_THEMESDIR "@out@/share/plymouth/themes") + + find_package_handle_standard_args(Plymouth + FOUND_VAR diff --git a/pkgs/kde/plasma/breeze/default.nix b/pkgs/kde/plasma/breeze/default.nix new file mode 100644 index 000000000000..72dcbcae91f4 --- /dev/null +++ b/pkgs/kde/plasma/breeze/default.nix @@ -0,0 +1,44 @@ +{ + mkKdeDerivation, + qtbase, + libsForQt5, +}: +mkKdeDerivation { + pname = "breeze"; + + outputs = ["out" "dev" "qt5"]; + + # We can't add qt5 stuff to dependencies or the hooks blow up, + # so manually point everything to everything. Oof. + extraCmakeFlags = [ + "-DQt5_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5" + "-DQt5Core_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5Core" + "-DQt5DBus_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5DBus" + "-DQt5Gui_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5Gui" + "-DQt5Network_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5Network" + "-DQt5Qml_DIR=${libsForQt5.qtdeclarative.dev}/lib/cmake/Qt5Qml" + "-DQt5QmlModels_DIR=${libsForQt5.qtdeclarative.dev}/lib/cmake/Qt5QmlModels" + "-DQt5Quick_DIR=${libsForQt5.qtdeclarative.dev}/lib/cmake/Qt5Quick" + "-DQt5Widgets_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5Widgets" + "-DQt5X11Extras_DIR=${libsForQt5.qtx11extras.dev}/lib/cmake/Qt5X11Extras" + "-DQt5Xml_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5Xml" + + "-DKF5Auth_DIR=${libsForQt5.kauth.dev}/lib/cmake/KF5Auth" + "-DKF5Codecs_DIR=${libsForQt5.kcodecs.dev}/lib/cmake/KF5Codecs" + "-DKF5Config_DIR=${libsForQt5.kconfig.dev}/lib/cmake/KF5Config" + "-DKF5ConfigWidgets_DIR=${libsForQt5.kconfigwidgets.dev}/lib/cmake/KF5ConfigWidgets" + "-DKF5CoreAddons_DIR=${libsForQt5.kcoreaddons.dev}/lib/cmake/KF5CoreAddons" + "-DKF5FrameworkIntegration_DIR=${libsForQt5.frameworkintegration.dev}/lib/cmake/KF5FrameworkIntegration" + "-DKF5GuiAddons_DIR=${libsForQt5.kguiaddons.dev}/lib/cmake/KF5GuiAddons" + "-DKF5IconThemes_DIR=${libsForQt5.kiconthemes.dev}/lib/cmake/KF5IconThemes" + "-DKF5Kirigami2_DIR=${libsForQt5.kirigami2.dev}/lib/cmake/KF5Kirigami2" + "-DKF5WidgetsAddons_DIR=${libsForQt5.kwidgetsaddons.dev}/lib/cmake/KF5WidgetsAddons" + "-DKF5WindowSystem_DIR=${libsForQt5.kwindowsystem.dev}/lib/cmake/KF5WindowSystem" + ]; + + # Move Qt5 plugin to Qt5 plugin path + postInstall = '' + mkdir -p $qt5/${libsForQt5.qtbase.qtPluginPrefix}/styles + mv $out/${qtbase.qtPluginPrefix}/styles/breeze5.so $qt5/${libsForQt5.qtbase.qtPluginPrefix}/styles + ''; +} diff --git a/pkgs/kde/plasma/default.nix b/pkgs/kde/plasma/default.nix new file mode 100644 index 000000000000..b50dc05b2fa4 --- /dev/null +++ b/pkgs/kde/plasma/default.nix @@ -0,0 +1,65 @@ +{callPackage}: { + bluedevil = callPackage ./bluedevil {}; + breeze = callPackage ./breeze {}; + breeze-grub = callPackage ./breeze-grub {}; + breeze-gtk = callPackage ./breeze-gtk {}; + breeze-plymouth = callPackage ./breeze-plymouth {}; + discover = callPackage ./discover {}; + drkonqi = callPackage ./drkonqi {}; + flatpak-kcm = callPackage ./flatpak-kcm {}; + kactivitymanagerd = callPackage ./kactivitymanagerd {}; + kde-cli-tools = callPackage ./kde-cli-tools {}; + kdecoration = callPackage ./kdecoration {}; + kde-gtk-config = callPackage ./kde-gtk-config {}; + kdeplasma-addons = callPackage ./kdeplasma-addons {}; + kgamma = callPackage ./kgamma {}; + kglobalacceld = callPackage ./kglobalacceld {}; + kinfocenter = callPackage ./kinfocenter {}; + kmenuedit = callPackage ./kmenuedit {}; + kpipewire = callPackage ./kpipewire {}; + kscreen = callPackage ./kscreen {}; + kscreenlocker = callPackage ./kscreenlocker {}; + ksshaskpass = callPackage ./ksshaskpass {}; + ksystemstats = callPackage ./ksystemstats {}; + kwallet-pam = callPackage ./kwallet-pam {}; + kwayland = callPackage ./kwayland {}; + kwayland-integration = callPackage ./kwayland-integration {}; + kwin = callPackage ./kwin {}; + kwrited = callPackage ./kwrited {}; + layer-shell-qt = callPackage ./layer-shell-qt {}; + libkscreen = callPackage ./libkscreen {}; + libksysguard = callPackage ./libksysguard {}; + libplasma = callPackage ./libplasma {}; + milou = callPackage ./milou {}; + ocean-sound-theme = callPackage ./ocean-sound-theme {}; + oxygen = callPackage ./oxygen {}; + oxygen-sounds = callPackage ./oxygen-sounds {}; + plasma5support = callPackage ./plasma5support {}; + plasma-activities = callPackage ./plasma-activities {}; + plasma-activities-stats = callPackage ./plasma-activities-stats {}; + plasma-browser-integration = callPackage ./plasma-browser-integration {}; + plasma-desktop = callPackage ./plasma-desktop {}; + plasma-disks = callPackage ./plasma-disks {}; + plasma-firewall = callPackage ./plasma-firewall {}; + plasma-integration = callPackage ./plasma-integration {}; + plasma-mobile = callPackage ./plasma-mobile {}; + plasma-nano = callPackage ./plasma-nano {}; + plasma-nm = callPackage ./plasma-nm {}; + plasma-pa = callPackage ./plasma-pa {}; + plasma-sdk = callPackage ./plasma-sdk {}; + plasma-systemmonitor = callPackage ./plasma-systemmonitor {}; + plasma-thunderbolt = callPackage ./plasma-thunderbolt {}; + plasma-vault = callPackage ./plasma-vault {}; + plasma-welcome = callPackage ./plasma-welcome {}; + plasma-workspace = callPackage ./plasma-workspace {}; + plasma-workspace-wallpapers = callPackage ./plasma-workspace-wallpapers {}; + plymouth-kcm = callPackage ./plymouth-kcm {}; + polkit-kde-agent-1 = callPackage ./polkit-kde-agent-1 {}; + powerdevil = callPackage ./powerdevil {}; + print-manager = callPackage ./print-manager {}; + qqc2-breeze-style = callPackage ./qqc2-breeze-style {}; + sddm-kcm = callPackage ./sddm-kcm {}; + systemsettings = callPackage ./systemsettings {}; + wacomtablet = callPackage ./wacomtablet {}; + xdg-desktop-portal-kde = callPackage ./xdg-desktop-portal-kde {}; +} diff --git a/pkgs/kde/plasma/discover/default.nix b/pkgs/kde/plasma/discover/default.nix new file mode 100644 index 000000000000..2795f3d1414e --- /dev/null +++ b/pkgs/kde/plasma/discover/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + qtwebview, + pkg-config, + discount, + flatpak, + fwupd, +}: +mkKdeDerivation { + pname = "discover"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtwebview discount flatpak fwupd]; +} diff --git a/pkgs/kde/plasma/drkonqi/default.nix b/pkgs/kde/plasma/drkonqi/default.nix new file mode 100644 index 000000000000..392e1fae71e9 --- /dev/null +++ b/pkgs/kde/plasma/drkonqi/default.nix @@ -0,0 +1,41 @@ +{ + mkKdeDerivation, + pkg-config, + systemd, + gdb, + python3, + substituteAll, + coreutils, +}: let + gdb' = gdb.override { + hostCpuOnly = true; + python3 = python3.withPackages (ps: [ + ps.psutil + ps.pygdbmi + ps.sentry-sdk + ]); + }; +in + mkKdeDerivation { + pname = "drkonqi"; + + patches = [ + (substituteAll { + src = ./gdb-path.patch; + gdb = "${gdb'}/bin/gdb"; + }) + ]; + + postPatch = '' + substituteInPlace src/coredump/processor/drkonqi-coredump-pickup.service.cmake \ + --replace /usr/bin/sleep ${coreutils}/bin/sleep + ''; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [systemd]; + + extraCmakeFlags = [ + "-DWITH_GDB12=1" + "-DWITH_PYTHON_VENDORING=0" + ]; + } diff --git a/pkgs/kde/plasma/drkonqi/gdb-path.patch b/pkgs/kde/plasma/drkonqi/gdb-path.patch new file mode 100644 index 000000000000..a49816d96f7b --- /dev/null +++ b/pkgs/kde/plasma/drkonqi/gdb-path.patch @@ -0,0 +1,28 @@ +diff --git a/src/data/debuggers/internal/gdbrc b/src/data/debuggers/internal/gdbrc +index 9a5c8fee..c32b1510 100644 +--- a/src/data/debuggers/internal/gdbrc ++++ b/src/data/debuggers/internal/gdbrc +@@ -72,17 +72,18 @@ Name[wa]=gdb + Name[x-test]=xxgdbxx + Name[zh_CN]=gdb + Name[zh_TW]=gdb +-TryExec=gdb ++TryExec=@gdb@ ++CodeName=gdb + Backends=KCrash|coredump-core + + [KCrash] +-Exec=gdb -nw -n -batch -x %preamblefile -x %tempfile -p %pid %execpath +-ExecWithSymbolResolution=gdb -nw -n -batch --init-eval-command='set debuginfod enabled on' -x %preamblefile -x %tempfile -p %pid %execpath ++Exec=@gdb@ -nw -n -batch -x %preamblefile -x %tempfile -p %pid %execpath ++ExecWithSymbolResolution=@gdb@ -nw -n -batch --init-eval-command='set debuginfod enabled on' -x %preamblefile -x %tempfile -p %pid %execpath + PreambleCommands=set width 200\nsource %drkonqi_datadir/python/gdb_preamble/preamble.py\npy print_preamble() + BatchCommands=thread\nthread apply all bt + + [coredump-core] +-Exec=gdb --nw --nx --batch --command=%preamblefile --command=%tempfile --core=%corefile %execpath +-ExecWithSymbolResolution=gdb --nw --nx --batch --init-eval-command='set debuginfod enabled on' --command=%preamblefile --command=%tempfile --core=%corefile %execpath ++Exec=@gdb@ --nw --nx --batch --command=%preamblefile --command=%tempfile --core=%corefile %execpath ++ExecWithSymbolResolution=@gdb@ --nw --nx --batch --init-eval-command='set debuginfod enabled on' --command=%preamblefile --command=%tempfile --core=%corefile %execpath + PreambleCommands=set width 200\nsource %drkonqi_datadir/python/gdb_preamble/preamble.py\npy print_preamble() + BatchCommands=thread\nthread apply all bt diff --git a/pkgs/kde/plasma/flatpak-kcm/default.nix b/pkgs/kde/plasma/flatpak-kcm/default.nix new file mode 100644 index 000000000000..a43447a15413 --- /dev/null +++ b/pkgs/kde/plasma/flatpak-kcm/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + pkg-config, + qtsvg, + flatpak, +}: +mkKdeDerivation { + pname = "flatpak-kcm"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [flatpak qtsvg]; +} diff --git a/pkgs/kde/plasma/kactivitymanagerd/default.nix b/pkgs/kde/plasma/kactivitymanagerd/default.nix new file mode 100644 index 000000000000..b0d2fea109cc --- /dev/null +++ b/pkgs/kde/plasma/kactivitymanagerd/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qt5compat, + boost, +}: +mkKdeDerivation { + pname = "kactivitymanagerd"; + + extraBuildInputs = [qt5compat boost]; +} diff --git a/pkgs/kde/plasma/kde-cli-tools/default.nix b/pkgs/kde/plasma/kde-cli-tools/default.nix new file mode 100644 index 000000000000..cbaddad84169 --- /dev/null +++ b/pkgs/kde/plasma/kde-cli-tools/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "kde-cli-tools"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/plasma/kde-gtk-config/0001-gsettings-schemas-path.patch b/pkgs/kde/plasma/kde-gtk-config/0001-gsettings-schemas-path.patch new file mode 100644 index 000000000000..2fe4672f6757 --- /dev/null +++ b/pkgs/kde/plasma/kde-gtk-config/0001-gsettings-schemas-path.patch @@ -0,0 +1,21 @@ +diff --git a/kded/gtkconfig.cpp b/kded/gtkconfig.cpp +index 5303636..199c4d5 100644 +--- a/kded/gtkconfig.cpp ++++ b/kded/gtkconfig.cpp +@@ -41,6 +41,16 @@ GtkConfig::GtkConfig(QObject *parent, const QVariantList&) : + kdeglobalsConfigWatcher(KConfigWatcher::create(KSharedConfig::openConfig(QStringLiteral("kdeglobals")))), + kwinConfigWatcher(KConfigWatcher::create(KSharedConfig::openConfig(QStringLiteral("kwinrc")))) + { ++ // Add GSETTINGS_SCHEMAS_PATH to the front of XDG_DATA_DIRS. ++ // Normally this would be done by wrapGAppsHook, but this plugin ++ // (shared object) cannot be wrapped. ++ QByteArray xdgdata = qgetenv("XDG_DATA_DIRS"); ++ if (!xdgdata.isEmpty()) { ++ xdgdata.push_front(":"); ++ } ++ xdgdata.push_front(QByteArray(GSETTINGS_SCHEMAS_PATH)); ++ qputenv("XDG_DATA_DIRS", xdgdata); ++ + QDBusConnection dbus = QDBusConnection::sessionBus(); + dbus.registerService(QStringLiteral("org.kde.GtkConfig")); + dbus.registerObject(QStringLiteral("/GtkConfig"), this, QDBusConnection::ExportScriptableSlots); diff --git a/pkgs/kde/plasma/kde-gtk-config/default.nix b/pkgs/kde/plasma/kde-gtk-config/default.nix new file mode 100644 index 000000000000..0101a56e93c6 --- /dev/null +++ b/pkgs/kde/plasma/kde-gtk-config/default.nix @@ -0,0 +1,24 @@ +{ + mkKdeDerivation, + pkg-config, + wrapGAppsHook, + sass, + qtsvg, + gsettings-desktop-schemas, +}: +mkKdeDerivation { + pname = "kde-gtk-config"; + + # The gtkconfig KDED module will crash the daemon if the GSettings schemas + # aren't found. + patches = [./0001-gsettings-schemas-path.patch]; + preConfigure = '' + NIX_CFLAGS_COMPILE+=" -DGSETTINGS_SCHEMAS_PATH=\"$GSETTINGS_SCHEMAS_PATH\"" + ''; + + extraNativeBuildInputs = [pkg-config wrapGAppsHook sass]; + extraBuildInputs = [qtsvg]; + dontWrapGApps = true; # There is nothing to wrap + + extraCmakeFlags = ["-DGLIB_SCHEMAS_DIR=${gsettings-desktop-schemas.out}/"]; +} diff --git a/pkgs/kde/plasma/kdecoration/default.nix b/pkgs/kde/plasma/kdecoration/default.nix new file mode 100644 index 000000000000..9f879b1cea17 --- /dev/null +++ b/pkgs/kde/plasma/kdecoration/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kdecoration"; +} diff --git a/pkgs/kde/plasma/kdeplasma-addons/default.nix b/pkgs/kde/plasma/kdeplasma-addons/default.nix new file mode 100644 index 000000000000..afb0708e8e6b --- /dev/null +++ b/pkgs/kde/plasma/kdeplasma-addons/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtwebengine, +}: +mkKdeDerivation { + pname = "kdeplasma-addons"; + + extraBuildInputs = [qtwebengine]; +} diff --git a/pkgs/kde/plasma/kgamma/default.nix b/pkgs/kde/plasma/kgamma/default.nix new file mode 100644 index 000000000000..dcd119ace8ec --- /dev/null +++ b/pkgs/kde/plasma/kgamma/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + xorg, +}: +mkKdeDerivation { + pname = "kgamma"; + + extraBuildInputs = [xorg.libXxf86vm]; +} diff --git a/pkgs/kde/plasma/kglobalacceld/default.nix b/pkgs/kde/plasma/kglobalacceld/default.nix new file mode 100644 index 000000000000..caafb6c91347 --- /dev/null +++ b/pkgs/kde/plasma/kglobalacceld/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kglobalacceld"; +} diff --git a/pkgs/kde/plasma/kinfocenter/0001-tool-paths.patch b/pkgs/kde/plasma/kinfocenter/0001-tool-paths.patch new file mode 100644 index 000000000000..543aecdec43f --- /dev/null +++ b/pkgs/kde/plasma/kinfocenter/0001-tool-paths.patch @@ -0,0 +1,51 @@ +diff --git a/Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in b/Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in +index 0de6973e..30035768 100644 +--- a/Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in ++++ b/Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in +@@ -85,6 +85,6 @@ + "Name[zh_CN]": "窗口管理器", + "Name[zh_TW]": "視窗管理員" + }, +- "TryExec": "@QtBinariesDir@/qdbus", ++ "TryExec": "@qdbus@", + "X-KDE-KInfoCenter-Category": "graphical_information" + } +diff --git a/Modules/kwinsupportinfo/main.cpp b/Modules/kwinsupportinfo/main.cpp +index 6ae168b5..89d0a2ff 100644 +--- a/Modules/kwinsupportinfo/main.cpp ++++ b/Modules/kwinsupportinfo/main.cpp +@@ -18,7 +18,7 @@ public: + explicit KCMKWinSupportInfo(QObject *parent, const KPluginMetaData &data) + : KQuickConfigModule(parent, data) + { +- m_outputContext = new CommandOutputContext(QLibraryInfo::location(QLibraryInfo::BinariesPath) + QStringLiteral("/qdbus"), ++ m_outputContext = new CommandOutputContext(QStringLiteral("@qdbus@"), + {QStringLiteral("org.kde.KWin"), QStringLiteral("/KWin"), QStringLiteral("supportInformation")}, + parent); + } +diff --git a/Modules/xserver/kcm_xserver.json b/Modules/xserver/kcm_xserver.json +index b3f1ce24..dc610932 100644 +--- a/Modules/xserver/kcm_xserver.json ++++ b/Modules/xserver/kcm_xserver.json +@@ -141,7 +141,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/Modules/xserver/main.cpp b/Modules/xserver/main.cpp +index 6d4d1e25..d39fe19e 100644 +--- a/Modules/xserver/main.cpp ++++ b/Modules/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 new file mode 100644 index 000000000000..cc216dd22a7b --- /dev/null +++ b/pkgs/kde/plasma/kinfocenter/default.nix @@ -0,0 +1,29 @@ +{ + lib, + mkKdeDerivation, + substituteAll, + qttools, + xdpyinfo, + systemsettings, + libusb1, +}: +mkKdeDerivation { + pname = "kinfocenter"; + + patches = [ + (substituteAll { + src = ./0001-tool-paths.patch; + qdbus = "${lib.getBin qttools}/bin/qdbus"; + xdpyinfo = lib.getExe xdpyinfo; + }) + ]; + + # fix wrong symlink of infocenter pointing to a 'systemsettings5' binary in + # the same directory, while it is actually located in a completely different + # store path + preFixup = '' + ln -sf ${systemsettings}/bin/systemsettings $out/bin/kinfocenter + ''; + + extraBuildInputs = [libusb1]; +} diff --git a/pkgs/kde/plasma/kmenuedit/default.nix b/pkgs/kde/plasma/kmenuedit/default.nix new file mode 100644 index 000000000000..2cfd932af1bf --- /dev/null +++ b/pkgs/kde/plasma/kmenuedit/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kmenuedit"; +} diff --git a/pkgs/kde/plasma/kpipewire/default.nix b/pkgs/kde/plasma/kpipewire/default.nix new file mode 100644 index 000000000000..c79bfc792d51 --- /dev/null +++ b/pkgs/kde/plasma/kpipewire/default.nix @@ -0,0 +1,15 @@ +{ + mkKdeDerivation, + qtquick3d, + pkg-config, + pipewire, + ffmpeg, + mesa, + libva, +}: +mkKdeDerivation { + pname = "kpipewire"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtquick3d pipewire ffmpeg mesa libva]; +} diff --git a/pkgs/kde/plasma/kscreen/default.nix b/pkgs/kde/plasma/kscreen/default.nix new file mode 100644 index 000000000000..480912fe7fcb --- /dev/null +++ b/pkgs/kde/plasma/kscreen/default.nix @@ -0,0 +1,15 @@ +{ + mkKdeDerivation, + qtsensors, + dbus, +}: +mkKdeDerivation { + pname = "kscreen"; + + extraBuildInputs = [qtsensors]; + + postFixup = '' + substituteInPlace $out/share/kglobalaccel/org.kde.kscreen.desktop \ + --replace-fail dbus-send ${dbus}/bin/dbus-send + ''; +} diff --git a/pkgs/kde/plasma/kscreenlocker/default.nix b/pkgs/kde/plasma/kscreenlocker/default.nix new file mode 100644 index 000000000000..e7ee0a18b8e5 --- /dev/null +++ b/pkgs/kde/plasma/kscreenlocker/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + pam, + qqc2-breeze-style, +}: +mkKdeDerivation { + pname = "kscreenlocker"; + + extraBuildInputs = [pam qqc2-breeze-style]; +} diff --git a/pkgs/kde/plasma/ksshaskpass/default.nix b/pkgs/kde/plasma/ksshaskpass/default.nix new file mode 100644 index 000000000000..86834f8fa7c2 --- /dev/null +++ b/pkgs/kde/plasma/ksshaskpass/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "ksshaskpass"; +} diff --git a/pkgs/kde/plasma/ksystemstats/default.nix b/pkgs/kde/plasma/ksystemstats/default.nix new file mode 100644 index 000000000000..1d098b10b023 --- /dev/null +++ b/pkgs/kde/plasma/ksystemstats/default.nix @@ -0,0 +1,16 @@ +{ + mkKdeDerivation, + pkg-config, + libksysguard, + networkmanager-qt, + lm_sensors, + libnl, +}: +mkKdeDerivation { + pname = "ksystemstats"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [networkmanager-qt lm_sensors libnl]; + + cmakeFlags = ["-DSYSTEMSTATS_DBUS_INTERFACE=${libksysguard}/share/dbus-1/interfaces/org.kde.ksystemstats1.xml"]; +} diff --git a/pkgs/kde/plasma/kwallet-pam/default.nix b/pkgs/kde/plasma/kwallet-pam/default.nix new file mode 100644 index 000000000000..4b3cdd678dee --- /dev/null +++ b/pkgs/kde/plasma/kwallet-pam/default.nix @@ -0,0 +1,16 @@ +{ + lib, + mkKdeDerivation, + pam, + libgcrypt, + socat, +}: +mkKdeDerivation { + pname = "kwallet-pam"; + + postPatch = '' + sed -i pam_kwallet_init -e "s|socat|${lib.getBin socat}/bin/socat|" + ''; + + extraBuildInputs = [pam libgcrypt]; +} diff --git a/pkgs/kde/plasma/kwayland-integration/default.nix b/pkgs/kde/plasma/kwayland-integration/default.nix new file mode 100644 index 000000000000..0274068f7f79 --- /dev/null +++ b/pkgs/kde/plasma/kwayland-integration/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kwayland-integration"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/plasma/kwayland/default.nix b/pkgs/kde/plasma/kwayland/default.nix new file mode 100644 index 000000000000..341fd8d35608 --- /dev/null +++ b/pkgs/kde/plasma/kwayland/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + pkg-config, + qtwayland, + wayland-protocols, +}: +mkKdeDerivation { + pname = "kwayland"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtwayland wayland-protocols]; +} diff --git a/pkgs/kde/plasma/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch b/pkgs/kde/plasma/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch new file mode 100644 index 000000000000..896c5dcff20b --- /dev/null +++ b/pkgs/kde/plasma/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch @@ -0,0 +1,114 @@ +From 29ec6fada935ef966e5859082435ed57daa9522d Mon Sep 17 00:00:00 2001 +From: Samuel Dionne-Riel <samuel@dionne-riel.com> +Date: Tue, 16 Mar 2021 15:03:59 -0400 +Subject: [PATCH] [NixOS] Unwrap executable name for .desktop search + +Why is this necessary even though -a "$0" is used in the wrapper? +Because it's completely bypassing argv0! This looks at the executable +file in-use according to the kernel! + +Wrappers cannot affect the `/proc/.../exe` symlink! + +Co-authored-by: Yaroslav Bolyukin <iam@lach.pw> +--- + src/nixos_utils.h | 41 +++++++++++++++++++++++++++++++++++++++++ + src/service_utils.h | 4 +++- + src/waylandwindow.cpp | 5 ++++- + 3 files changed, 48 insertions(+), 2 deletions(-) + create mode 100644 src/nixos_utils.h + +diff --git a/src/nixos_utils.h b/src/nixos_utils.h +new file mode 100644 +index 0000000..726065d +--- /dev/null ++++ b/src/nixos_utils.h +@@ -0,0 +1,41 @@ ++#ifndef NIXOS_UTILS_H ++#define NIXOS_UTILS_H ++ ++// kwin ++// #include <kwinglobals.h> ++ ++namespace KWin ++{ ++ ++static QString unwrapExecutablePath(const QString &in_executablePath) ++{ ++ // NixOS fixes many packaging issues through "wrapper" scripts that manipulates the environment or does ++ // miscellaneous trickeries and mischievous things to make the programs work. ++ // In turn, programs often employs different mischievous schemes and trickeries to do *other things. ++ // It often happens that they conflict. ++ // Here, `kwin` tries to detect the .desktop file for a given process. ++ // `kwin` followed the process `/proc/.../exe` up to the actual binary running. ++ // It normally would be fine, e.g. /usr/bin/foobar is what's in the desktop file. ++ // But it's not the truth here! It's extremely likely the resolved path is /nix/store/.../bin/.foobar-wrapped ++ // rather than what the desktop file points to, something like /nix/store/.../bin/foobar !! ++ // Since the wrappers for Nixpkgs *always* prepend a dot and append -wrapped, we assume here that we can keep ++ // `/^(.*)\/\.([^/]*)-wrapped/` until the (equivalent) regex does not match. ++ // This should canonicalize the wrapper name to the expected name to look for in the desktop file. ++ ++ // Use a copy of the const string ++ QString executablePath(in_executablePath); ++ ++ // While the parts needed are present, "unwrap" one layer of wrapper names. ++ while (executablePath.endsWith("-wrapped") && executablePath[executablePath.lastIndexOf("/")+1] == QChar('.')) { ++ // Approximately equivalent to s/-wrapped$// ++ executablePath.remove(executablePath.length() - 8, 8); ++ // Approximately equivalent to s;/\.;/; ++ executablePath.remove(executablePath.lastIndexOf("/")+1, 1); ++ } ++ ++ return executablePath; ++} ++ ++}// namespace ++ ++#endif // NIXOS_UTILS_H +diff --git a/src/utils/serviceutils.h b/src/utils/serviceutils.h +index 8a70c1f..475b15d 100644 +--- a/src/utils/serviceutils.h ++++ b/src/utils/serviceutils.h +@@ -19,6 +19,7 @@ + #include <QLoggingCategory> + //KF + #include <KApplicationTrader> ++#include "nixos_utils.h" + + namespace KWin + { +@@ -26,8 +27,9 @@ namespace KWin + const static QString s_waylandInterfaceName = QStringLiteral("X-KDE-Wayland-Interfaces"); + const static QString s_dbusRestrictedInterfaceName = QStringLiteral("X-KDE-DBUS-Restricted-Interfaces"); + +-static QStringList fetchProcessServiceField(const QString &executablePath, const QString &fieldName) ++static QStringList fetchProcessServiceField(const QString &in_executablePath, const QString &fieldName) + { ++ const QString executablePath = unwrapExecutablePath(in_executablePath); + // needed to be able to use the logging category in a header static function + static QLoggingCategory KWIN_UTILS ("KWIN_UTILS", QtWarningMsg); + const auto servicesFound = KApplicationTrader::query([&executablePath] (const KService::Ptr &service) { +diff --git a/src/waylandwindow.cpp b/src/waylandwindow.cpp +index fd2c0c1..ae8cf96 100644 +--- a/src/waylandwindow.cpp ++++ b/src/waylandwindow.cpp +@@ -10,6 +10,7 @@ + #include "screens.h" + #include "wayland_server.h" + #include "workspace.h" ++#include "nixos_utils.h" + + #include <KWaylandServer/display.h> + #include <KWaylandServer/clientbuffer.h> +@@ -173,7 +174,9 @@ void WaylandWindow::updateIcon() + + void WaylandWindow::updateResourceName() + { +- const QFileInfo fileInfo(surface()->client()->executablePath()); ++ const QString in_path = surface()->client()->executablePath(); ++ const QString path = unwrapExecutablePath(in_path); ++ const QFileInfo fileInfo(path); + if (fileInfo.exists()) { + const QByteArray executableFileName = fileInfo.fileName().toUtf8(); + setResourceClass(executableFileName, executableFileName); +-- +2.32.0 diff --git a/pkgs/kde/plasma/kwin/0001-follow-symlinks.patch b/pkgs/kde/plasma/kwin/0001-follow-symlinks.patch new file mode 100644 index 000000000000..efde4f4dcf04 --- /dev/null +++ b/pkgs/kde/plasma/kwin/0001-follow-symlinks.patch @@ -0,0 +1,25 @@ +From af569c9ed8079169b524b31461e2789baa09ef7a Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@mailbox.org> +Date: Mon, 27 Jan 2020 05:31:13 -0600 +Subject: [PATCH 1/3] follow symlinks + +--- + src/plugins/kdecorations/aurorae/src/aurorae.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/plugins/kdecorations/aurorae/src/aurorae.cpp b/src/plugins/kdecorations/aurorae/src/aurorae.cpp +index 5242cb7..2e4ddae 100644 +--- a/src/plugins/kdecorations/aurorae/src/aurorae.cpp ++++ b/src/plugins/kdecorations/aurorae/src/aurorae.cpp +@@ -201,7 +201,7 @@ void Helper::init() + // so let's try to locate our plugin: + QString pluginPath; + for (const QString &path : m_engine->importPathList()) { +- QDirIterator it(path, QDirIterator::Subdirectories); ++ QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while (it.hasNext()) { + it.next(); + QFileInfo fileInfo = it.fileInfo(); +-- +2.29.2 + diff --git a/pkgs/kde/plasma/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch b/pkgs/kde/plasma/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch new file mode 100644 index 000000000000..d0be721b044c --- /dev/null +++ b/pkgs/kde/plasma/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch @@ -0,0 +1,26 @@ +From 8d49f5ef8692c352a62f4f8b1bc68e6e210bbee6 Mon Sep 17 00:00:00 2001 +From: Yaroslav Bolyukin <iam@lach.pw> +Date: Wed, 23 Dec 2020 18:02:14 +0300 +Subject: [PATCH 3/3] plugins/qpa: allow using nixos wrapper + +Signed-off-by: Yaroslav Bolyukin <iam@lach.pw> +--- + src/plugins/qpa/main.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/plugins/qpa/main.cpp b/src/plugins/qpa/main.cpp +index efd236b..a69c046 100644 +--- a/src/plugins/qpa/main.cpp ++++ b/src/plugins/qpa/main.cpp +@@ -23,7 +23,7 @@ public: + + QPlatformIntegration *KWinIntegrationPlugin::create(const QString &system, const QStringList ¶mList) + { +- if (!QCoreApplication::applicationFilePath().endsWith(QLatin1String("kwin_wayland")) && !qEnvironmentVariableIsSet("KWIN_FORCE_OWN_QPA")) { ++ if (!QCoreApplication::applicationFilePath().endsWith(QLatin1String("kwin_wayland")) && !QCoreApplication::applicationFilePath().endsWith(QLatin1String(".kwin_wayland-wrapped")) && !qEnvironmentVariableIsSet("KWIN_FORCE_OWN_QPA")) { + // Not KWin + return nullptr; + } +-- +2.29.2 + diff --git a/pkgs/kde/plasma/kwin/default.nix b/pkgs/kde/plasma/kwin/default.nix new file mode 100644 index 000000000000..fc5f00991d9e --- /dev/null +++ b/pkgs/kde/plasma/kwin/default.nix @@ -0,0 +1,54 @@ +{ + mkKdeDerivation, + pkg-config, + qtquick3d, + qtsensors, + qttools, + qtvirtualkeyboard, + qtwayland, + libinput, + xorg, + libdisplay-info, + mesa, + lcms2, + libcap, + pipewire, + krunner, + python3, +}: +mkKdeDerivation { + pname = "kwin"; + + patches = [ + # Follow symlinks when searching for aurorae configs + # FIXME(later): upstream? + ./0001-follow-symlinks.patch + # The rest are NixOS-specific hacks + ./0003-plugins-qpa-allow-using-nixos-wrapper.patch + ./0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch + ]; + + postPatch = '' + patchShebangs src/plugins/strip-effect-metadata.py + ''; + + extraNativeBuildInputs = [pkg-config python3]; + extraBuildInputs = [ + qtquick3d + qtsensors + qttools + qtvirtualkeyboard + qtwayland + + krunner + + mesa # libgbm + lcms2 + libcap + libdisplay-info + libinput + pipewire + + xorg.libxcvt + ]; +} diff --git a/pkgs/kde/plasma/kwrited/default.nix b/pkgs/kde/plasma/kwrited/default.nix new file mode 100644 index 000000000000..262f3b7c6493 --- /dev/null +++ b/pkgs/kde/plasma/kwrited/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "kwrited"; +} diff --git a/pkgs/kde/plasma/layer-shell-qt/default.nix b/pkgs/kde/plasma/layer-shell-qt/default.nix new file mode 100644 index 000000000000..9783220cddf2 --- /dev/null +++ b/pkgs/kde/plasma/layer-shell-qt/default.nix @@ -0,0 +1,13 @@ +{ + mkKdeDerivation, + qtwayland, + pkg-config, + wayland, + wayland-protocols, +}: +mkKdeDerivation { + pname = "layer-shell-qt"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtwayland wayland wayland-protocols]; +} diff --git a/pkgs/kde/plasma/libkscreen/default.nix b/pkgs/kde/plasma/libkscreen/default.nix new file mode 100644 index 000000000000..d6fdd87c7e9b --- /dev/null +++ b/pkgs/kde/plasma/libkscreen/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + qtwayland, + qttools, + jq, +}: +mkKdeDerivation { + pname = "libkscreen"; + + extraNativeBuildInputs = [qttools qtwayland jq]; + extraBuildInputs = [qtwayland]; +} diff --git a/pkgs/kde/plasma/libksysguard/default.nix b/pkgs/kde/plasma/libksysguard/default.nix new file mode 100644 index 000000000000..9dae888737ab --- /dev/null +++ b/pkgs/kde/plasma/libksysguard/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + qtwebchannel, + qtwebengine, + qttools, + libpcap, + libnl, + lm_sensors, +}: +mkKdeDerivation { + pname = "libksysguard"; + + extraBuildInputs = [qtwebchannel qtwebengine qttools libpcap libnl lm_sensors]; +} diff --git a/pkgs/kde/plasma/libplasma/default.nix b/pkgs/kde/plasma/libplasma/default.nix new file mode 100644 index 000000000000..1ff05b92ef0e --- /dev/null +++ b/pkgs/kde/plasma/libplasma/default.nix @@ -0,0 +1,13 @@ +{ + mkKdeDerivation, + qtsvg, + qtwayland, + wayland, + pkg-config, +}: +mkKdeDerivation { + pname = "libplasma"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtsvg qtwayland wayland]; +} diff --git a/pkgs/kde/plasma/lightdm-greeter-kde/default.nix b/pkgs/kde/plasma/lightdm-greeter-kde/default.nix new file mode 100644 index 000000000000..9d508409f9d3 --- /dev/null +++ b/pkgs/kde/plasma/lightdm-greeter-kde/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "lightdm-greeter-kde"; +} diff --git a/pkgs/kde/plasma/milou/default.nix b/pkgs/kde/plasma/milou/default.nix new file mode 100644 index 000000000000..555c7cbee2c7 --- /dev/null +++ b/pkgs/kde/plasma/milou/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "milou"; +} diff --git a/pkgs/kde/plasma/ocean-sound-theme/default.nix b/pkgs/kde/plasma/ocean-sound-theme/default.nix new file mode 100644 index 000000000000..72adf43e3604 --- /dev/null +++ b/pkgs/kde/plasma/ocean-sound-theme/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "ocean-sound-theme"; +} diff --git a/pkgs/kde/plasma/oxygen-sounds/default.nix b/pkgs/kde/plasma/oxygen-sounds/default.nix new file mode 100644 index 000000000000..68ee47d20eb8 --- /dev/null +++ b/pkgs/kde/plasma/oxygen-sounds/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "oxygen-sounds"; +} diff --git a/pkgs/kde/plasma/oxygen/default.nix b/pkgs/kde/plasma/oxygen/default.nix new file mode 100644 index 000000000000..5b5de64af90f --- /dev/null +++ b/pkgs/kde/plasma/oxygen/default.nix @@ -0,0 +1,6 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "oxygen"; + # FIXME(qt5) + meta.broken = true; +} diff --git a/pkgs/kde/plasma/plasma-activities-stats/default.nix b/pkgs/kde/plasma/plasma-activities-stats/default.nix new file mode 100644 index 000000000000..dff496e4f631 --- /dev/null +++ b/pkgs/kde/plasma/plasma-activities-stats/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "plasma-activities-stats"; +} diff --git a/pkgs/kde/plasma/plasma-activities/default.nix b/pkgs/kde/plasma/plasma-activities/default.nix new file mode 100644 index 000000000000..9ddd163e9fbb --- /dev/null +++ b/pkgs/kde/plasma/plasma-activities/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtdeclarative, + boost, +}: +mkKdeDerivation { + pname = "plasma-activities"; + + extraBuildInputs = [qtdeclarative boost]; +} diff --git a/pkgs/kde/plasma/plasma-browser-integration/default.nix b/pkgs/kde/plasma/plasma-browser-integration/default.nix new file mode 100644 index 000000000000..6277071f9a76 --- /dev/null +++ b/pkgs/kde/plasma/plasma-browser-integration/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "plasma-browser-integration"; +} diff --git a/pkgs/kde/plasma/plasma-desktop/default.nix b/pkgs/kde/plasma/plasma-desktop/default.nix new file mode 100644 index 000000000000..8ee90dee3a67 --- /dev/null +++ b/pkgs/kde/plasma/plasma-desktop/default.nix @@ -0,0 +1,67 @@ +{ + lib, + mkKdeDerivation, + runCommandLocal, + makeWrapper, + glib, + gsettings-desktop-schemas, + substituteAll, + util-linux, + pkg-config, + qtsvg, + qtwayland, + kaccounts-integration, + SDL2, + xkeyboard_config, + xorg, + libcanberra, + libxkbfile, + ibus, +}: let + # run gsettings with desktop schemas for using in "kcm_access" kcm + # and in kaccess + gsettings-wrapper = runCommandLocal "gsettings-wrapper" {nativeBuildInputs = [makeWrapper];} '' + mkdir -p $out/bin + makeWrapper ${glib}/bin/gsettings $out/bin/gsettings --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas.out}/share/gsettings-schemas/${gsettings-desktop-schemas.name} + ''; +in + mkKdeDerivation { + pname = "plasma-desktop"; + + patches = [ + (substituteAll { + src = ./hwclock-path.patch; + hwclock = "${lib.getBin util-linux}/bin/hwclock"; + }) + (substituteAll { + src = ./kcm-access.patch; + gsettings = "${gsettings-wrapper}/bin/gsettings"; + }) + ./tzdir.patch + ./no-discover-shortcut.patch + ]; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [ + qtsvg + qtwayland + + kaccounts-integration + + SDL2 + libcanberra + libxkbfile + xkeyboard_config + + xorg.libXcursor + xorg.libXft + xorg.xf86inputlibinput + xorg.xf86inputevdev + xorg.xorgserver + + ibus + ]; + + # wrap kaccess with wrapped gsettings so it can access accessibility schemas + qtWrapperArgs = ["--prefix PATH : ${lib.makeBinPath [gsettings-wrapper]}"]; + } diff --git a/pkgs/kde/plasma/plasma-desktop/hwclock-path.patch b/pkgs/kde/plasma/plasma-desktop/hwclock-path.patch new file mode 100644 index 000000000000..4c0891db97a6 --- /dev/null +++ b/pkgs/kde/plasma/plasma-desktop/hwclock-path.patch @@ -0,0 +1,24 @@ +Index: plasma-desktop-5.8.5/kcms/dateandtime/helper.cpp +=================================================================== +--- plasma-desktop-5.8.5.orig/kcms/dateandtime/helper.cpp ++++ plasma-desktop-5.8.5/kcms/dateandtime/helper.cpp +@@ -48,10 +48,6 @@ + #include <sys/types.h> + #endif + +-// We cannot rely on the $PATH environment variable, because D-Bus activation +-// clears it. So we have to use a reasonable default. +-static const QString exePath = QStringLiteral("/usr/sbin:/usr/bin:/sbin:/bin"); +- + int ClockHelper::ntp(const QStringList &ntpServers, bool ntpEnabled) + { + int ret = 0; +@@ -227,7 +223,7 @@ int ClockHelper::tzreset() + + void ClockHelper::toHwclock() + { +- QString hwclock = QStandardPaths::findExecutable(QStringLiteral("hwclock"), exePath.split(QLatin1Char(':'))); ++ QString hwclock = QLatin1String("@hwclock@"); + if (!hwclock.isEmpty()) { + KProcess::execute(hwclock, QStringList() << QStringLiteral("--systohc")); + } diff --git a/pkgs/kde/plasma/plasma-desktop/kcm-access.patch b/pkgs/kde/plasma/plasma-desktop/kcm-access.patch new file mode 100644 index 000000000000..91f5847e88a5 --- /dev/null +++ b/pkgs/kde/plasma/plasma-desktop/kcm-access.patch @@ -0,0 +1,13 @@ +diff --git a/kcms/access/kcmaccess.cpp b/kcms/access/kcmaccess.cpp +index 4f8d3e2..a96f755 100644 +--- a/kcms/access/kcmaccess.cpp ++++ b/kcms/access/kcmaccess.cpp +@@ -176,7 +176,7 @@ void KAccessConfig::launchOrcaConfiguration() + QStringLiteral("screen-reader-enabled"), + QStringLiteral("true")}; + +- int ret = QProcess::execute(QStringLiteral("gsettings"), gsettingArgs); ++ int ret = QProcess::execute(QStringLiteral("@gsettings@"), gsettingArgs); + if (ret) { + const QString errorStr = QLatin1String("gsettings ") + gsettingArgs.join(QLatin1Char(' ')); + setOrcaLaunchFeedback(i18n("Could not set gsettings for Orca: \"%1\" failed", errorStr)); diff --git a/pkgs/kde/plasma/plasma-desktop/no-discover-shortcut.patch b/pkgs/kde/plasma/plasma-desktop/no-discover-shortcut.patch new file mode 100644 index 000000000000..f186671c9cc5 --- /dev/null +++ b/pkgs/kde/plasma/plasma-desktop/no-discover-shortcut.patch @@ -0,0 +1,13 @@ +diff --git a/applets/taskmanager/package/contents/config/main.xml b/applets/taskmanager/package/contents/config/main.xml +index 6bb27695d..25e621810 100644 +--- a/applets/taskmanager/package/contents/config/main.xml ++++ b/applets/taskmanager/package/contents/config/main.xml +@@ -85,7 +85,7 @@ + </entry> + <entry name="launchers" type="StringList"> + <label>The list of launcher tasks on the widget. Usually .desktop file or executable URLs. Special URLs such as preferred://browser that expand to default applications are supported.</label> +- <default>applications:systemsettings.desktop,applications:org.kde.discover.desktop,preferred://filemanager,preferred://browser</default> ++ <default>applications:systemsettings.desktop,preferred://filemanager,preferred://browser</default> + </entry> + <entry name="middleClickAction" type="Enum"> + <label>What to do on middle-mouse click on a task button.</label> diff --git a/pkgs/kde/plasma/plasma-desktop/tzdir.patch b/pkgs/kde/plasma/plasma-desktop/tzdir.patch new file mode 100644 index 000000000000..97504b330fed --- /dev/null +++ b/pkgs/kde/plasma/plasma-desktop/tzdir.patch @@ -0,0 +1,18 @@ +Index: plasma-desktop-5.8.5/kcms/dateandtime/helper.cpp +=================================================================== +--- plasma-desktop-5.8.5.orig/kcms/dateandtime/helper.cpp ++++ plasma-desktop-5.8.5/kcms/dateandtime/helper.cpp +@@ -181,7 +181,12 @@ int ClockHelper::tz( const QString& sele + + val = selectedzone; + #else +- QString tz = "/usr/share/zoneinfo/" + selectedzone; ++ QString tzdir = QString::fromLocal8Bit(qgetenv("TZDIR")); ++ QString tz = tzdir + "/" + selectedzone; ++ if (tzdir.isEmpty()) { ++ // Standard Linux path ++ tz = "/usr/share/zoneinfo/" + selectedzone; ++ } + + if (QFile::exists(tz)) { // make sure the new TZ really exists + QFile::remove(QStringLiteral("/etc/localtime")); diff --git a/pkgs/kde/plasma/plasma-disks/default.nix b/pkgs/kde/plasma/plasma-disks/default.nix new file mode 100644 index 000000000000..5941fe0dec54 --- /dev/null +++ b/pkgs/kde/plasma/plasma-disks/default.nix @@ -0,0 +1,16 @@ +{ + mkKdeDerivation, + lib, + substituteAll, + smartmontools, +}: +mkKdeDerivation { + pname = "plasma-disks"; + + patches = [ + (substituteAll { + smartctl = lib.getExe smartmontools; + src = ./smartctl-path.patch; + }) + ]; +} diff --git a/pkgs/kde/plasma/plasma-disks/smartctl-path.patch b/pkgs/kde/plasma/plasma-disks/smartctl-path.patch new file mode 100644 index 000000000000..71d4c5e7f8f5 --- /dev/null +++ b/pkgs/kde/plasma/plasma-disks/smartctl-path.patch @@ -0,0 +1,13 @@ +diff --git a/src/helper.cpp b/src/helper.cpp +index 102ebc5..4cde9da 100644 +--- a/src/helper.cpp ++++ b/src/helper.cpp +@@ -69,7 +69,7 @@ ActionReply SMARTHelper::smartctl(const QVariantMap &args) + // PATH is super minimal when invoked through dbus + setenv("PATH", "/usr/sbin:/sbin:/usr/local/sbin", 1); + +- const QString command = QStringLiteral("smartctl"); ++ const QString command = QStringLiteral("@smartctl@"); + const QString all = QStringLiteral("--all"); + + // JSON output. diff --git a/pkgs/kde/plasma/plasma-firewall/default.nix b/pkgs/kde/plasma/plasma-firewall/default.nix new file mode 100644 index 000000000000..202d3ea089b2 --- /dev/null +++ b/pkgs/kde/plasma/plasma-firewall/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "plasma-firewall"; +} diff --git a/pkgs/kde/plasma/plasma-integration/default.nix b/pkgs/kde/plasma/plasma-integration/default.nix new file mode 100644 index 000000000000..a626b9447934 --- /dev/null +++ b/pkgs/kde/plasma/plasma-integration/default.nix @@ -0,0 +1,67 @@ +{ + mkKdeDerivation, + qtbase, + qtwayland, + libsForQt5, + xorg, +}: +mkKdeDerivation { + pname = "plasma-integration"; + + # force it to check our custom import path too + patches = [./qml-path.patch]; + + outputs = ["out" "dev" "qt5"]; + + # We can't add qt5 stuff to dependencies or the hooks blow up, + # so manually point everything to everything. Oof. + extraCmakeFlags = [ + "-DQt5_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5" + "-DQt5Concurrent_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5Concurrent" + "-DQt5Core_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5Core" + "-DQt5DBus_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5DBus" + "-DQt5Gui_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5Gui" + "-DQt5Network_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5Network" + "-DQt5Qml_DIR=${libsForQt5.qtdeclarative.dev}/lib/cmake/Qt5Qml" + "-DQt5QmlModels_DIR=${libsForQt5.qtdeclarative.dev}/lib/cmake/Qt5QmlModels" + "-DQt5Quick_DIR=${libsForQt5.qtdeclarative.dev}/lib/cmake/Qt5Quick" + "-DQt5QuickControls2_DIR=${libsForQt5.qtquickcontrols2.dev}/lib/cmake/Qt5QuickControls2" + "-DQt5ThemeSupport_LIBRARY=${libsForQt5.qtbase.out}/lib/libQt5ThemeSupport.a" + "-DQt5ThemeSupport_INCLUDE_DIR=${libsForQt5.qtbase.dev}/include/QtThemeSupport/${libsForQt5.qtbase.version}" + "-DQt5WaylandClient_DIR=${libsForQt5.qtwayland.dev}/lib/cmake/Qt5WaylandClient" + "-DQt5WaylandScanner_EXECUTABLE=${libsForQt5.qtwayland.dev}/bin/qtwaylandscanner" + "-DQt5Widgets_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5Widgets" + "-DQt5X11Extras_DIR=${libsForQt5.qtx11extras.dev}/lib/cmake/Qt5X11Extras" + "-DQt5Xml_DIR=${libsForQt5.qtbase.dev}/lib/cmake/Qt5Xml" + "-DQtWaylandScanner_EXECUTABLE=${libsForQt5.qtwayland.dev}/bin/qtwaylandscanner" + + "-DKF5Auth_DIR=${libsForQt5.kauth.dev}/lib/cmake/KF5Auth" + "-DKF5Bookmarks_DIR=${libsForQt5.kbookmarks.dev}/lib/cmake/KF5Bookmarks" + "-DKF5Codecs_DIR=${libsForQt5.kcodecs.dev}/lib/cmake/KF5Codecs" + "-DKF5Completion_DIR=${libsForQt5.kcompletion.dev}/lib/cmake/KF5Completion" + "-DKF5Config_DIR=${libsForQt5.kconfig.dev}/lib/cmake/KF5Config" + "-DKF5ConfigWidgets_DIR=${libsForQt5.kconfigwidgets.dev}/lib/cmake/KF5ConfigWidgets" + "-DKF5CoreAddons_DIR=${libsForQt5.kcoreaddons.dev}/lib/cmake/KF5CoreAddons" + "-DKF5GuiAddons_DIR=${libsForQt5.kguiaddons.dev}/lib/cmake/KF5GuiAddons" + "-DKF5I18n_DIR=${libsForQt5.ki18n.dev}/lib/cmake/KF5I18n" + "-DKF5IconThemes_DIR=${libsForQt5.kiconthemes.dev}/lib/cmake/KF5IconThemes" + "-DKF5ItemViews_DIR=${libsForQt5.kitemviews.dev}/lib/cmake/KF5ItemViews" + "-DKF5JobWidgets_DIR=${libsForQt5.kjobwidgets.dev}/lib/cmake/KF5JobWidgets" + "-DKF5KIO_DIR=${libsForQt5.kio.dev}/lib/cmake/KF5KIO" + "-DKF5Notifications_DIR=${libsForQt5.knotifications.dev}/lib/cmake/KF5Notifications" + "-DKF5Service_DIR=${libsForQt5.kservice.dev}/lib/cmake/KF5Service" + "-DKF5Solid_DIR=${libsForQt5.solid.dev}/lib/cmake/KF5Solid" + "-DKF5Wayland_DIR=${libsForQt5.kwayland.dev}/lib/cmake/KF5Wayland" + "-DKF5WidgetsAddons_DIR=${libsForQt5.kwidgetsaddons.dev}/lib/cmake/KF5WidgetsAddons" + "-DKF5WindowSystem_DIR=${libsForQt5.kwindowsystem.dev}/lib/cmake/KF5WindowSystem" + "-DKF5XmlGui_DIR=${libsForQt5.kxmlgui.dev}/lib/cmake/KF5XmlGui" + ]; + + extraBuildInputs = [qtwayland xorg.libXcursor]; + + # Move Qt5 plugin to Qt5 plugin path + postInstall = '' + mkdir -p $qt5/${libsForQt5.qtbase.qtPluginPrefix}/platformthemes + mv $out/${qtbase.qtPluginPrefix}/platformthemes/KDEPlasmaPlatformTheme5.so $qt5/${libsForQt5.qtbase.qtPluginPrefix}/platformthemes + ''; +} diff --git a/pkgs/kde/plasma/plasma-integration/qml-path.patch b/pkgs/kde/plasma/plasma-integration/qml-path.patch new file mode 100644 index 000000000000..33af3fe9d8ea --- /dev/null +++ b/pkgs/kde/plasma/plasma-integration/qml-path.patch @@ -0,0 +1,12 @@ +diff --git a/qt6/src/platformtheme/kdeplatformtheme.cpp b/qt6/src/platformtheme/kdeplatformtheme.cpp +index fea04b5..7efafd1 100644 +--- a/qt6/src/platformtheme/kdeplatformtheme.cpp ++++ b/qt6/src/platformtheme/kdeplatformtheme.cpp +@@ -551,6 +551,7 @@ bool KdePlatformTheme::checkIfThemeExists(const QString &themePath) + // QML_IMPORT_PATH is the new one, but QML2_IMPORT_PATH is still used + checkEnvironmentVariable("QML2_IMPORT_PATH"); + checkEnvironmentVariable("QML_IMPORT_PATH"); ++ checkEnvironmentVariable("NIXPKGS_QT6_QML_IMPORT_PATH"); + + for (const QString &path : moduleSearchPaths) { + if (QDir(path + themePath).exists()) { diff --git a/pkgs/kde/plasma/plasma-mobile/default.nix b/pkgs/kde/plasma/plasma-mobile/default.nix new file mode 100644 index 000000000000..92bb1d66d5e3 --- /dev/null +++ b/pkgs/kde/plasma/plasma-mobile/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + pkg-config, + qtsensors, +}: +mkKdeDerivation { + pname = "plasma-mobile"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtsensors]; +} diff --git a/pkgs/kde/plasma/plasma-nano/default.nix b/pkgs/kde/plasma/plasma-nano/default.nix new file mode 100644 index 000000000000..9cdb24f013e7 --- /dev/null +++ b/pkgs/kde/plasma/plasma-nano/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "plasma-nano"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/plasma/plasma-nm/0002-openvpn-binary-path.patch b/pkgs/kde/plasma/plasma-nm/0002-openvpn-binary-path.patch new file mode 100644 index 000000000000..c32e73bc2c6c --- /dev/null +++ b/pkgs/kde/plasma/plasma-nm/0002-openvpn-binary-path.patch @@ -0,0 +1,13 @@ +diff --git a/vpn/openvpn/openvpnadvancedwidget.cpp b/vpn/openvpn/openvpnadvancedwidget.cpp +index 2f11ba1d..310f11b4 100644 +--- a/vpn/openvpn/openvpnadvancedwidget.cpp ++++ b/vpn/openvpn/openvpnadvancedwidget.cpp +@@ -75,7 +75,7 @@ OpenVpnAdvancedWidget::OpenVpnAdvancedWidget(const NetworkManager::VpnSetting::P + connect(m_ui->cmbProxyType, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &OpenVpnAdvancedWidget::proxyTypeChanged); + + // start openVPN process and get its cipher list +- const QString openVpnBinary = QStandardPaths::findExecutable("openvpn", QStringList{"/sbin", "/usr/sbin"}); ++ const QString openVpnBinary = "@openvpn@/bin/openvpn"; + const QStringList ciphersArgs(QLatin1String("--show-ciphers")); + const QStringList versionArgs(QLatin1String("--version")); + diff --git a/pkgs/kde/plasma/plasma-nm/default.nix b/pkgs/kde/plasma/plasma-nm/default.nix new file mode 100644 index 000000000000..a53ec99a8bed --- /dev/null +++ b/pkgs/kde/plasma/plasma-nm/default.nix @@ -0,0 +1,26 @@ +{ + mkKdeDerivation, + substituteAll, + pkg-config, + qtwebengine, + mobile-broadband-provider-info, + openconnect, + openvpn, +}: +mkKdeDerivation { + pname = "plasma-nm"; + + patches = [ + (substituteAll { + src = ./0002-openvpn-binary-path.patch; + inherit openvpn; + }) + ]; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [ + qtwebengine + mobile-broadband-provider-info + openconnect + ]; +} diff --git a/pkgs/kde/plasma/plasma-pa/default.nix b/pkgs/kde/plasma/plasma-pa/default.nix new file mode 100644 index 000000000000..4d721ecc711b --- /dev/null +++ b/pkgs/kde/plasma/plasma-pa/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + pkg-config, + libcanberra, + pulseaudio, +}: +mkKdeDerivation { + pname = "plasma-pa"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [libcanberra pulseaudio]; +} diff --git a/pkgs/kde/plasma/plasma-sdk/default.nix b/pkgs/kde/plasma/plasma-sdk/default.nix new file mode 100644 index 000000000000..68f5a30fc936 --- /dev/null +++ b/pkgs/kde/plasma/plasma-sdk/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtsvg, +}: +mkKdeDerivation { + pname = "plasma-sdk"; + + extraBuildInputs = [qtsvg]; +} diff --git a/pkgs/kde/plasma/plasma-systemmonitor/default.nix b/pkgs/kde/plasma/plasma-systemmonitor/default.nix new file mode 100644 index 000000000000..8a8bff96ecff --- /dev/null +++ b/pkgs/kde/plasma/plasma-systemmonitor/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "plasma-systemmonitor"; +} diff --git a/pkgs/kde/plasma/plasma-thunderbolt/default.nix b/pkgs/kde/plasma/plasma-thunderbolt/default.nix new file mode 100644 index 000000000000..5b1b682ac9bc --- /dev/null +++ b/pkgs/kde/plasma/plasma-thunderbolt/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "plasma-thunderbolt"; +} diff --git a/pkgs/kde/plasma/plasma-vault/0001-encfs-path.patch b/pkgs/kde/plasma/plasma-vault/0001-encfs-path.patch new file mode 100644 index 000000000000..a5e9d8c531e1 --- /dev/null +++ b/pkgs/kde/plasma/plasma-vault/0001-encfs-path.patch @@ -0,0 +1,31 @@ +From fef6bfe87db4411e3dda2f96741cd8204fe41d85 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@mailbox.org> +Date: Tue, 2 Nov 2021 05:57:50 -0500 +Subject: [PATCH 1/3] encfs path + +--- + kded/engine/backends/encfs/encfsbackend.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kded/engine/backends/encfs/encfsbackend.cpp b/kded/engine/backends/encfs/encfsbackend.cpp +index 2d15fa2..3f49867 100644 +--- a/kded/engine/backends/encfs/encfsbackend.cpp ++++ b/kded/engine/backends/encfs/encfsbackend.cpp +@@ -101,12 +101,12 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const + auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE); + KConfigGroup backendConfig(config, "EncfsBackend"); + +- return process("encfs", arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {}); ++ return process(NIXPKGS_ENCFS, arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {}); + } + + QProcess *EncFsBackend::encfsctl(const QStringList &arguments) const + { +- return process("encfsctl", arguments, {}); ++ return process(NIXPKGS_ENCFSCTL, arguments, {}); + } + + } // namespace PlasmaVault +-- +2.33.1 + diff --git a/pkgs/kde/plasma/plasma-vault/0002-cryfs-path.patch b/pkgs/kde/plasma/plasma-vault/0002-cryfs-path.patch new file mode 100644 index 000000000000..4c7567b15076 --- /dev/null +++ b/pkgs/kde/plasma/plasma-vault/0002-cryfs-path.patch @@ -0,0 +1,25 @@ +From a89a0d3f9088d272c01ccb9b730d1dbb500f9cb8 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@mailbox.org> +Date: Tue, 2 Nov 2021 05:59:34 -0500 +Subject: [PATCH 2/3] cryfs path + +--- + kded/engine/backends/cryfs/cryfsbackend.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kded/engine/backends/cryfs/cryfsbackend.cpp b/kded/engine/backends/cryfs/cryfsbackend.cpp +index 64138b6..1a9fde2 100644 +--- a/kded/engine/backends/cryfs/cryfsbackend.cpp ++++ b/kded/engine/backends/cryfs/cryfsbackend.cpp +@@ -207,7 +207,7 @@ QProcess *CryFsBackend::cryfs(const QStringList &arguments) const + auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE); + KConfigGroup backendConfig(config, "CryfsBackend"); + +- return process("cryfs", arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {{"CRYFS_FRONTEND", "noninteractive"}}); ++ return process(NIXPKGS_CRYFS, arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {{"CRYFS_FRONTEND", "noninteractive"}}); + } + + } // namespace PlasmaVault +-- +2.33.1 + diff --git a/pkgs/kde/plasma/plasma-vault/0003-fusermount-path.patch b/pkgs/kde/plasma/plasma-vault/0003-fusermount-path.patch new file mode 100644 index 000000000000..0d4481c70541 --- /dev/null +++ b/pkgs/kde/plasma/plasma-vault/0003-fusermount-path.patch @@ -0,0 +1,25 @@ +From 63571e28c65935f32567c0b179a096d62726b778 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@mailbox.org> +Date: Tue, 2 Nov 2021 06:00:32 -0500 +Subject: [PATCH 3/3] fusermount path + +--- + kded/engine/fusebackend_p.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kded/engine/fusebackend_p.cpp b/kded/engine/fusebackend_p.cpp +index 91f3523..1c19d88 100644 +--- a/kded/engine/fusebackend_p.cpp ++++ b/kded/engine/fusebackend_p.cpp +@@ -86,7 +86,7 @@ QProcess *FuseBackend::process(const QString &executable, const QStringList &arg + + QProcess *FuseBackend::fusermount(const QStringList &arguments) const + { +- return process("fusermount", arguments, {}); ++ return process(NIXPKGS_FUSERMOUNT, arguments, {}); + } + + FutureResult<> FuseBackend::initialize(const QString &name, const Device &device, const MountPoint &mountPoint, const Vault::Payload &payload) +-- +2.33.1 + diff --git a/pkgs/kde/plasma/plasma-vault/0004-gocryptfs-path.patch b/pkgs/kde/plasma/plasma-vault/0004-gocryptfs-path.patch new file mode 100644 index 000000000000..8790f877ff07 --- /dev/null +++ b/pkgs/kde/plasma/plasma-vault/0004-gocryptfs-path.patch @@ -0,0 +1,13 @@ +diff --git a/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp b/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp +index 2d6df94..3e8ec9a 100644 +--- a/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp ++++ b/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp +@@ -202,7 +202,7 @@ QProcess *GocryptfsBackend::gocryptfs(const QStringList &arguments) const + auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE); + KConfigGroup backendConfig(config, "GocryptfsBackend"); + +- return process("gocryptfs", arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {}); ++ return process(NIXPKGS_GOCRYPTFS, arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {}); + } + + QString GocryptfsBackend::getConfigFilePath(const Device &device) const diff --git a/pkgs/kde/plasma/plasma-vault/default.nix b/pkgs/kde/plasma/plasma-vault/default.nix new file mode 100644 index 000000000000..9ab545ab87b8 --- /dev/null +++ b/pkgs/kde/plasma/plasma-vault/default.nix @@ -0,0 +1,29 @@ +{ + lib, + mkKdeDerivation, + pkg-config, + gocryptfs, + fuse, + cryfs, + encfs, +}: +mkKdeDerivation { + pname = "plasma-vault"; + + patches = [ + ./0001-encfs-path.patch + ./0002-cryfs-path.patch + ./0003-fusermount-path.patch + ./0004-gocryptfs-path.patch + ]; + + CXXFLAGS = [ + ''-DNIXPKGS_ENCFS=\"${lib.getBin encfs}/bin/encfs\"'' + ''-DNIXPKGS_ENCFSCTL=\"${lib.getBin encfs}/bin/encfsctl\"'' + ''-DNIXPKGS_CRYFS=\"${lib.getBin cryfs}/bin/cryfs\"'' + ''-DNIXPKGS_FUSERMOUNT=\"${lib.getBin fuse}/bin/fusermount\"'' + ''-DNIXPKGS_GOCRYPTFS=\"${lib.getBin gocryptfs}/bin/gocryptfs\"'' + ]; + + extraNativeBuildInputs = [pkg-config]; +} diff --git a/pkgs/kde/plasma/plasma-welcome/default.nix b/pkgs/kde/plasma/plasma-welcome/default.nix new file mode 100644 index 000000000000..976a788a16e9 --- /dev/null +++ b/pkgs/kde/plasma/plasma-welcome/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + qtsvg, + kuserfeedback, +}: +mkKdeDerivation { + pname = "plasma-welcome"; + + extraBuildInputs = [qtsvg kuserfeedback]; +} diff --git a/pkgs/kde/plasma/plasma-workspace-wallpapers/default.nix b/pkgs/kde/plasma/plasma-workspace-wallpapers/default.nix new file mode 100644 index 000000000000..af8c89249274 --- /dev/null +++ b/pkgs/kde/plasma/plasma-workspace-wallpapers/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + extra-cmake-modules, +}: +mkKdeDerivation { + pname = "plasma-workspace-wallpapers"; + + extraBuildInputs = [extra-cmake-modules]; +} diff --git a/pkgs/kde/plasma/plasma-workspace/default.nix b/pkgs/kde/plasma/plasma-workspace/default.nix new file mode 100644 index 000000000000..24e41b971cf0 --- /dev/null +++ b/pkgs/kde/plasma/plasma-workspace/default.nix @@ -0,0 +1,54 @@ +{ + lib, + mkKdeDerivation, + substituteAll, + xorg, + pkg-config, + spirv-tools, + qtsvg, + qtwayland, + libcanberra, + libqalculate, + pipewire, + breeze, + qttools, + qqc2-breeze-style, + gpsd, +}: +mkKdeDerivation { + pname = "plasma-workspace"; + + patches = [ + (substituteAll { + src = ./tool-paths.patch; + xmessage = "${lib.getBin xorg.xmessage}/bin/xmessage"; + xsetroot = "${lib.getBin xorg.xsetroot}/bin/xsetroot"; + qdbus = "${lib.getBin qttools}/bin/qdbus"; + }) + (substituteAll { + src = ./wallpaper-paths.patch; + wallpapers = "${lib.getBin breeze}/share/wallpapers"; + }) + ]; + + extraNativeBuildInputs = [pkg-config spirv-tools]; + extraBuildInputs = [ + qtsvg + qtwayland + + qqc2-breeze-style + + libcanberra + libqalculate + pipewire + + xorg.libSM + xorg.libXcursor + xorg.libXtst + xorg.libXft + + gpsd + ]; + + passthru.providedSessions = ["plasma" "plasmax11"]; +} diff --git a/pkgs/kde/plasma/plasma-workspace/tool-paths.patch b/pkgs/kde/plasma/plasma-workspace/tool-paths.patch new file mode 100644 index 000000000000..d750028200b2 --- /dev/null +++ b/pkgs/kde/plasma/plasma-workspace/tool-paths.patch @@ -0,0 +1,68 @@ +diff --git a/kcms/krdb/krdb.cpp b/kcms/krdb/krdb.cpp +index 46363ddcb..d787f9993 100644 +--- a/kcms/krdb/krdb.cpp ++++ b/kcms/krdb/krdb.cpp +@@ -468,7 +468,7 @@ void runRdb(unsigned int flags) + 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/startkde/startplasma.cpp b/startkde/startplasma.cpp +index b0158c97d..c8f7fe223 100644 +--- a/startkde/startplasma.cpp ++++ b/startkde/startplasma.cpp +@@ -50,7 +50,7 @@ void sigtermHandler(int signalNumber) + void messageBox(const QString &text) + { + out << text; +- runSync(QStringLiteral("xmessage"), {QStringLiteral("-geometry"), QStringLiteral("500x100"), text}); ++ runSync(QStringLiteral("@xmessage@"), {QStringLiteral("-geometry"), QStringLiteral("500x100"), text}); + } + + QStringList allServices(const QLatin1String &prefix) +@@ -484,7 +484,7 @@ QProcess *setupKSplash() + if (ksplashCfg.readEntry("Engine", QStringLiteral("KSplashQML")) == QLatin1String("KSplashQML")) { + p = new QProcess; + p->setProcessChannelMode(QProcess::ForwardedChannels); +- p->start(QStringLiteral("ksplashqml"), {ksplashCfg.readEntry("Theme", QStringLiteral("Breeze"))}); ++ p->start(QStringLiteral(CMAKE_INSTALL_FULL_BINDIR "/ksplashqml"), {ksplashCfg.readEntry("Theme", QStringLiteral("Breeze"))}); + } + } + return p; +diff --git a/ksmserver/plasma-restoresession.service.in b/ksmserver/plasma-restoresession.service.in +index 2c52a4b87..fd7fdc8ac 100644 +--- a/ksmserver/plasma-restoresession.service.in ++++ b/ksmserver/plasma-restoresession.service.in +@@ -5,5 +5,5 @@ RefuseManualStart=yes + + [Service] + Type=oneshot +-ExecStart=-@QtBinariesDir@/qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.restoreSession ++ExecStart=-@qdbus@ org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.restoreSession + Slice=session.slice +diff --git a/startkde/kcminit/plasma-kcminit-phase1.service.in b/startkde/kcminit/plasma-kcminit-phase1.service.in +index 7218628ce..9126475ea 100644 +--- a/startkde/kcminit/plasma-kcminit-phase1.service.in ++++ b/startkde/kcminit/plasma-kcminit-phase1.service.in +@@ -6,5 +6,5 @@ PartOf=graphical-session.target + + [Service] + Type=oneshot +-ExecStart=@QtBinariesDir@/qdbus org.kde.kcminit /kcminit org.kde.KCMInit.runPhase1 ++ExecStart=@qdbus@ org.kde.kcminit /kcminit org.kde.KCMInit.runPhase1 + Slice=session.slice +diff --git a/startkde/systemd/plasma-ksplash-ready.service.in b/startkde/systemd/plasma-ksplash-ready.service.in +index 3f6744f37..c51266794 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 + + [Service] + Type=oneshot +-ExecStart=-@QtBinariesDir@/qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage ready ++ExecStart=-@qdbus@ org.kde.KSplash /KSplash org.kde.KSplash.setStage ready + Slice=session.slice diff --git a/pkgs/kde/plasma/plasma-workspace/wallpaper-paths.patch b/pkgs/kde/plasma/plasma-workspace/wallpaper-paths.patch new file mode 100644 index 000000000000..050200a8411f --- /dev/null +++ b/pkgs/kde/plasma/plasma-workspace/wallpaper-paths.patch @@ -0,0 +1,9 @@ +--- a/lookandfeel/sddm-theme/theme.conf.cmake ++++ b/lookandfeel/sddm-theme/theme.conf.cmake +@@ -4,5 +4,5 @@ logo=${KDE_INSTALL_FULL_DATADIR}/sddm/themes/breeze/default-logo.svg + type=image + color=#1d99f3 + fontSize=10 +-background=${KDE_INSTALL_FULL_WALLPAPERDIR}/Next/contents/images/5120x2880.png ++background=@wallpapers@/Next/contents/images/5120x2880.png + needsFullUserModel=false diff --git a/pkgs/kde/plasma/plasma5support/default.nix b/pkgs/kde/plasma/plasma5support/default.nix new file mode 100644 index 000000000000..385626aeedc0 --- /dev/null +++ b/pkgs/kde/plasma/plasma5support/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "plasma5support"; +} diff --git a/pkgs/kde/plasma/plymouth-kcm/default.nix b/pkgs/kde/plasma/plymouth-kcm/default.nix new file mode 100644 index 000000000000..dcf339dd9b2e --- /dev/null +++ b/pkgs/kde/plasma/plymouth-kcm/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + pkg-config, + plymouth, +}: +mkKdeDerivation { + pname = "plymouth-kcm"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [plymouth]; +} diff --git a/pkgs/kde/plasma/polkit-kde-agent-1/default.nix b/pkgs/kde/plasma/polkit-kde-agent-1/default.nix new file mode 100644 index 000000000000..6c4bf0653f09 --- /dev/null +++ b/pkgs/kde/plasma/polkit-kde-agent-1/default.nix @@ -0,0 +1,9 @@ +{ + mkKdeDerivation, + qtdeclarative, +}: +mkKdeDerivation { + pname = "polkit-kde-agent-1"; + + extraBuildInputs = [qtdeclarative]; +} diff --git a/pkgs/kde/plasma/powerdevil/default.nix b/pkgs/kde/plasma/powerdevil/default.nix new file mode 100644 index 000000000000..8b0c270e85c6 --- /dev/null +++ b/pkgs/kde/plasma/powerdevil/default.nix @@ -0,0 +1,11 @@ +{ + mkKdeDerivation, + pkg-config, + libcap, +}: +mkKdeDerivation { + pname = "powerdevil"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [libcap]; +} diff --git a/pkgs/kde/plasma/print-manager/default.nix b/pkgs/kde/plasma/print-manager/default.nix new file mode 100644 index 000000000000..fce60dcb968b --- /dev/null +++ b/pkgs/kde/plasma/print-manager/default.nix @@ -0,0 +1,10 @@ +{ + mkKdeDerivation, + cups, +}: +mkKdeDerivation { + pname = "print-manager"; + + # FIXME: cups-smb? + extraBuildInputs = [cups]; +} diff --git a/pkgs/kde/plasma/qqc2-breeze-style/default.nix b/pkgs/kde/plasma/qqc2-breeze-style/default.nix new file mode 100644 index 000000000000..2d950f63e0c5 --- /dev/null +++ b/pkgs/kde/plasma/qqc2-breeze-style/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "qqc2-breeze-style"; +} diff --git a/pkgs/kde/plasma/sddm-kcm/default.nix b/pkgs/kde/plasma/sddm-kcm/default.nix new file mode 100644 index 000000000000..d60c5e4e6ff7 --- /dev/null +++ b/pkgs/kde/plasma/sddm-kcm/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "sddm-kcm"; +} diff --git a/pkgs/kde/plasma/systemsettings/default.nix b/pkgs/kde/plasma/systemsettings/default.nix new file mode 100644 index 000000000000..2dd529b9380e --- /dev/null +++ b/pkgs/kde/plasma/systemsettings/default.nix @@ -0,0 +1,4 @@ +{mkKdeDerivation}: +mkKdeDerivation { + pname = "systemsettings"; +} diff --git a/pkgs/kde/plasma/wacomtablet/default.nix b/pkgs/kde/plasma/wacomtablet/default.nix new file mode 100644 index 000000000000..c24e8739f746 --- /dev/null +++ b/pkgs/kde/plasma/wacomtablet/default.nix @@ -0,0 +1,12 @@ +{ + mkKdeDerivation, + pkg-config, + libwacom, + xf86_input_wacom, +}: +mkKdeDerivation { + pname = "wacomtablet"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [libwacom xf86_input_wacom]; +} diff --git a/pkgs/kde/plasma/xdg-desktop-portal-kde/default.nix b/pkgs/kde/plasma/xdg-desktop-portal-kde/default.nix new file mode 100644 index 000000000000..9d5be65fe097 --- /dev/null +++ b/pkgs/kde/plasma/xdg-desktop-portal-kde/default.nix @@ -0,0 +1,14 @@ +{ + mkKdeDerivation, + pkg-config, + qtwayland, + wayland, + wayland-protocols, + cups, +}: +mkKdeDerivation { + pname = "xdg-desktop-portal-kde"; + + extraNativeBuildInputs = [pkg-config]; + extraBuildInputs = [qtwayland wayland wayland-protocols cups]; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dd3614351591..8eee283f5aac 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -726,6 +726,8 @@ with pkgs; inspec = callPackage ../tools/misc/inspec { }; + kdePackages = callPackage ../kde { }; + buildcatrust = with python3.pkgs; toPythonApplication buildcatrust; probe-rs = callPackage ../development/tools/rust/probe-rs { |