From a9e9acff4f561c9d75f05b93c621a6d7f75f35ba Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sun, 17 Dec 2023 20:24:38 +0100 Subject: [PATCH] lomiri.lomiri-notifications: init at 1.3.0 --- pkgs/desktops/lomiri/default.nix | 1 + .../qml/lomiri-notifications/default.nix | 92 +++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 pkgs/desktops/lomiri/qml/lomiri-notifications/default.nix diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 7c65c7bddc89..fb25823d6a39 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -23,6 +23,7 @@ let #### QML / QML-related lomiri-action-api = callPackage ./qml/lomiri-action-api { }; + lomiri-notifications = callPackage ./qml/lomiri-notifications { }; lomiri-settings-components = callPackage ./qml/lomiri-settings-components { }; lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { }; diff --git a/pkgs/desktops/lomiri/qml/lomiri-notifications/default.nix b/pkgs/desktops/lomiri/qml/lomiri-notifications/default.nix new file mode 100644 index 000000000000..56b86eaa3918 --- /dev/null +++ b/pkgs/desktops/lomiri/qml/lomiri-notifications/default.nix @@ -0,0 +1,92 @@ +{ stdenv +, lib +, fetchFromGitLab +, fetchpatch +, gitUpdater +, cmake +, dbus +, libqtdbustest +, lomiri-api +, pkg-config +, qtbase +, qtdeclarative +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "lomiri-notifications"; + version = "1.3.0"; + + src = fetchFromGitLab { + owner = "ubports"; + repo = "development/core/lomiri-notifications"; + rev = finalAttrs.version; + hash = "sha256-EGslfTgfADrmVGhNLG7HWqcDKhu52H/r41j7fxoliko="; + }; + + patches = [ + # Drop use of deprecated qt5_use_modules + # Remove when https://gitlab.com/ubports/development/core/lomiri-notifications/-/merge_requests/11 merged & in release + (fetchpatch { + url = "https://gitlab.com/OPNA2608/lomiri-notifications/-/commit/5d164d6d8d68efe1d14154eca4d0d736ce2a1265.patch"; + hash = "sha256-nUg0zUft1n4AlotOaZgDqWbiVDvWvMizdlClavwygoI="; + }) + ]; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" + + # Need to replace prefix to not try to install into lomiri-api prefix + substituteInPlace src/CMakeLists.txt \ + --replace '--variable=plugindir' '--define-variable=prefix=''${CMAKE_INSTALL_PREFIX} --variable=plugindir' + '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' + sed -i CMakeLists.txt -e '/add_subdirectory(test)/d' + ''; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + lomiri-api + qtbase + qtdeclarative + ]; + + nativeCheckInputs = [ + dbus + ]; + + checkInputs = [ + libqtdbustest + ]; + + dontWrapQtApps = true; + + cmakeFlags = [ + # In case anything still depends on deprecated hints + "-DENABLE_UBUNTU_COMPAT=ON" + ]; + + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + + # Deals with DBus + enableParallelChecking = false; + + preCheck = '' + export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix} + ''; + + passthru.updateScript = gitUpdater { }; + + meta = with lib; { + description = "Free Desktop Notification server QML implementation for Lomiri"; + homepage = "https://gitlab.com/ubports/development/core/lomiri-notifications"; + license = licenses.gpl3Only; + maintainers = teams.lomiri.members; + platforms = platforms.linux; + }; +})