diff --git a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix index 6593044e6e60..59375bf5a143 100644 --- a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix +++ b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix @@ -12,6 +12,8 @@ gdb, glib, kdePackages, + # Used on Qt6 + ktactilefeedback ? null, libevdev, lttng-ust, mesa, @@ -21,6 +23,7 @@ qmake, qtbase, qtdeclarative, + # Used on Qt5 qtfeedback ? null, qtgraphicaleffects ? null, qtpim ? null, @@ -53,11 +56,18 @@ let [ qtdeclarative ] + ++ lib.optionals withQt6 [ + # Qt5Compat.GraphicalEffects + qt5compat + + # Tactile feedback on Qt6 + ktactilefeedback + ] ++ lib.optionals (!withQt6) [ # Deprecated in Qt6 qtgraphicaleffects - # Will prolly want this in the future, but needs porting to Qt6 + # Tactile feedback on Qt5 qtfeedback ] ); @@ -189,12 +199,15 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals withQt6 [ # Qt5Compat.GraphicalEffects qt5compat + + # Tactile feedback on Qt6 + ktactilefeedback ] ++ lib.optionals (!withQt6) [ # Deprecated in Qt6 qtgraphicaleffects - # Will prolly want this in the future, but needs porting to Qt6 + # Tactile feedback on Qt5 qtfeedback ]; diff --git a/pkgs/development/libraries/ktactilefeedback/default.nix b/pkgs/development/libraries/ktactilefeedback/default.nix new file mode 100644 index 000000000000..2337b25b289b --- /dev/null +++ b/pkgs/development/libraries/ktactilefeedback/default.nix @@ -0,0 +1,65 @@ +{ + stdenv, + lib, + fetchFromGitLab, + unstableGitUpdater, + cmake, + extra-cmake-modules, + qtbase, + qtdeclarative, + qtmultimedia, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "ktactilefeedback"; + version = "0-unstable-2025-07-25"; + + src = fetchFromGitLab { + domain = "invent.kde.org"; + owner = "jbbgameich"; + repo = "ktactilefeedback"; + rev = "da7858aaa125588d4c309f273afefff93222e8f9"; + hash = "sha256-VEGZkA6bWuKJK6fk4u6RB5aMV8fbabD8ymm8HC/ddzg="; + }; + + outputs = [ + "out" + "dev" + ]; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + extra-cmake-modules + qtbase + qtmultimedia + ]; + + # Library + dontWrapQtApps = true; + + cmakeFlags = [ + # Need to run these post-install, so QML import path exists + (lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doInstallCheck) + ]; + + doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + installCheckTarget = "test"; + preInstallCheck = '' + export QML2_IMPORT_PATH=$out/${qtbase.qtQmlPrefix}:${lib.getBin qtdeclarative}/${qtbase.qtQmlPrefix} + ''; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + description = "Tactile feedback library for Qt"; + homepage = "https://invent.kde.org/jbbgameich/ktactilefeedback"; + license = lib.licenses.lgpl3Only; + maintainers = with lib.maintainers; [ + OPNA2608 + ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/top-level/qt6-packages.nix b/pkgs/top-level/qt6-packages.nix index 8350bfd1317e..cc1b5fec45b7 100644 --- a/pkgs/top-level/qt6-packages.nix +++ b/pkgs/top-level/qt6-packages.nix @@ -67,6 +67,8 @@ makeScopeWithSplicing' { futuresql = callPackage ../development/libraries/futuresql { }; kquickimageedit = callPackage ../development/libraries/kquickimageedit { }; + ktactilefeedback = kdePackages.callPackage ../development/libraries/ktactilefeedback { }; + libiodata = callPackage ../development/libraries/libiodata { }; libqaccessibilityclient = callPackage ../development/libraries/libqaccessibilityclient { };