Commit b5e4eb83 authored by OPNA2608's avatar OPNA2608
Browse files

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.
parent 061f89bb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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 { };
+41 −21
Original line number Diff line number Diff line
@@ -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"}" ];
  };
})