lomiri-qt6.lomiri-indicator-network: init at 1.2.0

Lacking the actual indicator so far, just the connectivity API. Still needed for other packages though.
This commit is contained in:
OPNA2608
2026-03-30 15:04:46 +02:00
parent 061f89bb5f
commit b5e4eb8319
2 changed files with 42 additions and 22 deletions
+1 -1
View File
@@ -53,6 +53,7 @@ let
# Check for working qdoc: not found
withDocumentation = !useQt6;
};
lomiri-indicator-network = callPackage ./services/lomiri-indicator-network { };
lomiri-url-dispatcher = callPackage ./services/lomiri-url-dispatcher { };
}
// lib.optionalAttrs (!useQt6) {
@@ -93,7 +94,6 @@ let
hfd-service = callPackage ./services/hfd-service { };
lomiri-history-service = callPackage ./services/lomiri-history-service { };
lomiri-indicator-datetime = ayatana-indicator-datetime.override { enableLomiriFeatures = true; };
lomiri-indicator-network = callPackage ./services/lomiri-indicator-network { };
lomiri-polkit-agent = callPackage ./services/lomiri-polkit-agent { };
lomiri-telephony-service = callPackage ./services/lomiri-telephony-service { };
lomiri-thumbnailer = callPackage ./services/lomiri-thumbnailer { };
@@ -12,11 +12,11 @@
doxygen,
gettext,
glib,
gmenuharness,
gmenuharness ? null, # not ported to Qt6 yet
gtest,
intltool,
libsecret,
libqofono,
libqofono ? null, # not ported to Qt6 yet
libqtdbusmock,
libqtdbustest,
lomiri-api,
@@ -25,12 +25,15 @@
ofono,
pkg-config,
python3,
qtdeclarative,
qtbase,
qtdeclarative,
qttools,
validatePkgConfig,
}:
let
withQt6 = lib.strings.versionAtLeast qtbase.version "6";
in
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-indicator-network";
version = "1.2.0";
@@ -45,6 +48,8 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [
"out"
"dev"
]
++ lib.optionals (!withQt6) [
"doc"
];
@@ -59,26 +64,33 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
doxygen
gettext
intltool
pkg-config
qtdeclarative
qttools # qdoc
validatePkgConfig
]
++ lib.optionals (!withQt6) [
doxygen
intltool
qttools # qdoc
];
buildInputs = [
cmake-extras
lomiri-api
qtbase
]
++ lib.optionals withQt6 [
qtdeclarative
]
++ lib.optionals (!withQt6) [
dbus
glib
libqofono
libsecret
lomiri-api
lomiri-url-dispatcher
networkmanager
ofono
qtbase
];
nativeCheckInputs = [ (python3.withPackages (ps: with ps; [ python-dbusmock ])) ];
@@ -93,37 +105,45 @@ stdenv.mkDerivation (finalAttrs: {
dontWrapQtApps = true;
cmakeFlags = [
(lib.cmakeBool "BUILD_DOC" true)
(lib.cmakeBool "BUILD_LIBCONNECTIVITY_ONLY" false)
(lib.cmakeBool "BUILD_DOC" (!withQt6))
# Indicator is not ported to Qt6 yet
(lib.cmakeBool "BUILD_LIBCONNECTIVITY_ONLY" withQt6)
(lib.cmakeBool "ENABLE_COVERAGE" false)
(lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6"))
(lib.cmakeBool "ENABLE_QT6" withQt6)
(lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck)
(lib.cmakeBool "ENABLE_UBUNTU_COMPAT" (!lib.strings.versionAtLeast qtbase.version "6"))
(lib.cmakeBool "GSETTINGS_COMPILE" true)
(lib.cmakeBool "GSETTINGS_LOCALINSTALL" true)
(lib.cmakeBool "USE_SYSTEMD" true)
(lib.cmakeBool "ENABLE_UBUNTU_COMPAT" (!withQt6))
(lib.cmakeBool "GSETTINGS_COMPILE" (!withQt6))
(lib.cmakeBool "GSETTINGS_LOCALINSTALL" (!withQt6))
(lib.cmakeBool "USE_SYSTEMD" (!withQt6))
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
doCheck =
stdenv.buildPlatform.canExecute stdenv.hostPlatform
# Indicator is not ported to Qt6 yet, tests only cover indicator
&& !withQt6;
# Multiple tests spin up & speak to D-Bus, avoid cross-talk causing failures
enableParallelChecking = false;
postInstall = ''
postInstall = lib.optionalString (!withQt6) ''
substituteInPlace $out/etc/dbus-1/services/com.lomiri.connectivity1.service \
--replace-fail '/bin/false' '${lib.getExe' coreutils "false"}'
'';
passthru = {
ayatana-indicators = {
lomiri-indicator-network = [ "lomiri" ];
};
tests = {
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
}
// lib.optionalAttrs (!withQt6) {
startup = nixosTests.ayatana-indicators;
lomiri = nixosTests.lomiri.desktop-ayatana-indicator-network;
};
updateScript = gitUpdater { };
}
// lib.optionalAttrs (!withQt6) {
ayatana-indicators = {
lomiri-indicator-network = [ "lomiri" ];
};
};
meta = {
@@ -135,6 +155,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl3Only;
teams = [ lib.teams.lomiri ];
platforms = lib.platforms.linux;
pkgConfigModules = [ "lomiri-connectivity-qt1" ];
pkgConfigModules = [ "lomiri-connectivity-qt${if withQt6 then "6" else "1"}" ];
};
})