From 45a995e1612588b0a7f7341a2d43484cef4f3545 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Tue, 6 Jun 2023 15:09:43 +0200 Subject: [PATCH] libqtdbusmock: init at unstable-2017-03-16 --- .../libraries/libqtdbusmock/default.nix | 93 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 + 2 files changed, 97 insertions(+) create mode 100644 pkgs/development/libraries/libqtdbusmock/default.nix diff --git a/pkgs/development/libraries/libqtdbusmock/default.nix b/pkgs/development/libraries/libqtdbusmock/default.nix new file mode 100644 index 00000000000..491b8583fc9 --- /dev/null +++ b/pkgs/development/libraries/libqtdbusmock/default.nix @@ -0,0 +1,93 @@ +{ stdenv +, lib +, fetchbzr +, testers +, cmake +, cmake-extras +, dbus +, dbus-test-runner +, gtest +, libqtdbustest +, networkmanager +, pkg-config +, procps +, python3 +, qtbase +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "libqtdbusmock"; + version = "unstable-2017-03-16"; + + src = fetchbzr { + url = "lp:libqtdbusmock"; + rev = "49"; + sha256 = "sha256-q3jL8yGLgcNxXHPh9M9cTVtUvonrBUPNxuPJIvu7Q/s="; + }; + + postPatch = '' + # Look for the new(?) name + substituteInPlace CMakeLists.txt \ + --replace 'NetworkManager' 'libnm' + + # Workaround for "error: expected unqualified-id before 'public'" on "**signals" + sed -i -e '/add_definitions/a -DQT_NO_KEYWORDS' CMakeLists.txt + '' + lib.optionalString (!finalAttrs.doCheck) '' + # Don't build tests when we're not running them + sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt + ''; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + cmake-extras + libqtdbustest + networkmanager + qtbase + ]; + + nativeCheckInputs = [ + dbus + dbus-test-runner + procps + (python3.withPackages (ps: with ps; [ + python-dbusmock + ])) + ]; + + checkInputs = [ + gtest + ]; + + dontWrapQtApps = true; + + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + + enableParallelChecking = false; + + checkPhase = '' + runHook preCheck + + dbus-test-runner -t make -p test -p "''${enableParallelChecking:+-j $NIX_BUILD_CORES}" + + runHook postCheck + ''; + + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + + meta = with lib; { + description = "Library for mocking DBus interactions using Qt"; + homepage = "https://launchpad.net/libqtdbusmock"; + license = licenses.lgpl3Only; + platforms = platforms.unix; + maintainers = teams.lomiri.members; + pkgConfigModules = [ + "libqtdbusmock-1" + ]; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d073c025bbf..6c3db48b070 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22241,6 +22241,10 @@ with pkgs; libplist = callPackage ../development/libraries/libplist { }; + libqtdbusmock = libsForQt5.callPackage ../development/libraries/libqtdbusmock { + inherit (lomiri) cmake-extras; + }; + libqtdbustest = libsForQt5.callPackage ../development/libraries/libqtdbustest { inherit (lomiri) cmake-extras; };