summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2023-07-06 14:08:57 +0200
committerJan Tojnar <jtojnar@gmail.com>2023-07-06 14:08:57 +0200
commitd9a4482cd8a46c116ca1df817a32782efd96f007 (patch)
tree715e921eedd8f3414482f40f9665b03719cc1e27
parent78419edadf0fabbe5618643bd850b2f2198ed060 (diff)
downloadnixpkgs-d9a4482cd8a46c116ca1df817a32782efd96f007.tar
nixpkgs-d9a4482cd8a46c116ca1df817a32782efd96f007.tar.gz
nixpkgs-d9a4482cd8a46c116ca1df817a32782efd96f007.tar.bz2
nixpkgs-d9a4482cd8a46c116ca1df817a32782efd96f007.tar.lz
nixpkgs-d9a4482cd8a46c116ca1df817a32782efd96f007.tar.xz
nixpkgs-d9a4482cd8a46c116ca1df817a32782efd96f007.tar.zst
nixpkgs-d9a4482cd8a46c116ca1df817a32782efd96f007.zip
umockdev: Move libgudev tests into passthru
libgudev is needed for an optional test but it itself relies on umockdev for testing.
-rw-r--r--pkgs/development/libraries/umockdev/default.nix26
1 files changed, 21 insertions, 5 deletions
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
index b40f465546d..cb1a8dccffd 100644
--- a/pkgs/development/libraries/umockdev/default.nix
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -18,14 +18,14 @@
 , which
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "umockdev";
   version = "0.17.17";
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
 
   src = fetchurl {
-    url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz";
+    url = "https://github.com/martinpitt/umockdev/releases/download/${finalAttrs.version}/umockdev-${finalAttrs.version}.tar.xz";
     sha256 = "sha256-IOYhseRYsyADz+qZc5tngkuGZShUqLzjPiYSTjR/32w=";
   };
 
@@ -50,10 +50,13 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     systemd
-    libgudev
     libpcap
   ];
 
+  checkInputs = lib.optionals finalAttrs.passthru.withGudev [
+    libgudev
+  ];
+
   nativeCheckInputs = [
     python3
     which
@@ -81,12 +84,25 @@ stdenv.mkDerivation rec {
     ln -s "$PWD/libumockdev-preload.so.0" "$out/lib/libumockdev-preload.so.0"
   '';
 
+  passthru = {
+    # libgudev is needed for an optional test but it itself relies on umockdev for testing.
+    withGudev = false;
+
+    tests = {
+      withGudev = finalAttrs.finalPackage.overrideAttrs (attrs: {
+        passthru = attrs.passthru // {
+          withGudev = true;
+        };
+      });
+    };
+  };
+
   meta = with lib; {
     homepage = "https://github.com/martinpitt/umockdev";
-    changelog = "https://github.com/martinpitt/umockdev/releases/tag/${version}";
+    changelog = "https://github.com/martinpitt/umockdev/releases/tag/${finalAttrs.version}";
     description = "Mock hardware devices for creating unit tests";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ flokli ];
     platforms = with platforms; linux;
   };
-}
+})