depot/third_party/nixpkgs/pkgs/desktops/lomiri/qml/lomiri-push-qml/default.nix

75 lines
2 KiB
Nix
Raw Normal View History

{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, cmake
, lomiri-api
, lomiri-indicator-network
, pkg-config
, qtbase
, qtdeclarative
}:
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-push-qml";
version = "0-unstable-2022-09-15";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/lomiri-push-qml";
rev = "6f87ee5cf92e2af0e0ce672835e71704e236b8c0";
hash = "sha256-ezLcQRJ7Sq/TVbeGJL3Vq2lzBe7StRRCrWXZs2CCUX8=";
};
patches = [
# Remove when https://gitlab.com/ubports/development/core/lomiri-push-qml/-/merge_requests/6 merged
(fetchpatch {
name = "0001-lomiri-push-qml-Stop-using-qt5_use_modules.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-push-qml/-/commit/a4268c98b9f50fdd52da69c173d377f78ea93104.patch";
hash = "sha256-OijTB5+I9/wabT7dX+DkvoEROKzAUIKhBZkkhqq5Oig=";
})
];
postPatch = ''
# Queries QMake for QML install location, returns QtBase build path
substituteInPlace src/*/PushNotifications/CMakeLists.txt \
--replace-fail 'qmake -query QT_INSTALL_QML' 'echo ''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}' \
'';
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
qtdeclarative # qmlplugindump
];
buildInputs = [
lomiri-api
lomiri-indicator-network
qtbase
qtdeclarative
];
dontWrapQtApps = true;
cmakeFlags = [
# In case anything still depends on deprecated hints
(lib.cmakeBool "ENABLE_UBUNTU_COMPAT" true)
];
preBuild = ''
# For qmlplugindump
export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix}
'';
meta = with lib; {
description = "Lomiri Push Notifications QML plugin";
homepage = "https://gitlab.com/ubports/development/core/lomiri-push-qml";
# License file indicates gpl3Only, but de87869c2cdb9819c2ca7c9eca9c5fb8b500a01f says it should be lgpl3Only
license = licenses.lgpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
};
})