diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/umockdev')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/umockdev/default.nix | 24 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/umockdev/substitute-udevadm.patch | 41 |
2 files changed, 62 insertions, 3 deletions
diff --git a/nixpkgs/pkgs/development/libraries/umockdev/default.nix b/nixpkgs/pkgs/development/libraries/umockdev/default.nix index 1cae2c62b33c..9c3026b0c9fb 100644 --- a/nixpkgs/pkgs/development/libraries/umockdev/default.nix +++ b/nixpkgs/pkgs/development/libraries/umockdev/default.nix @@ -2,6 +2,7 @@ , lib , docbook-xsl-nons , fetchurl +, fetchpatch , glib , gobject-introspection , gtk-doc @@ -12,7 +13,8 @@ , ninja , pkg-config , python3 -, systemd +, substituteAll +, systemdMinimal , usbutils , vala , which @@ -33,6 +35,20 @@ stdenv.mkDerivation (finalAttrs: { # Hardcode absolute paths to libraries so that consumers # do not need to set LD_LIBRARY_PATH themselves. ./hardcode-paths.patch + + # Replace references to udevadm with an absolute paths, so programs using + # umockdev will just work without having to provide it in their test environment + # $PATH. + (substituteAll { + src = ./substitute-udevadm.patch; + udevadm = "${systemdMinimal}/bin/udevadm"; + }) + + (fetchpatch { + name = "musl.patch"; + url = "https://github.com/martinpitt/umockdev/commit/d4efe24be59bd859b87473ea3d7efe8100bedc74.patch"; + hash = "sha256-whf3p2e7FWN1xk5+HF9KsbMW74DPOQ0R0+FxBfCZTX0="; + }) ]; nativeBuildInputs = [ @@ -49,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ glib - systemd + systemdMinimal libpcap ]; @@ -59,10 +75,12 @@ stdenv.mkDerivation (finalAttrs: { nativeCheckInputs = [ python3 - which usbutils + which ]; + strictDeps = true; + mesonFlags = [ "-Dgtk_doc=true" ]; diff --git a/nixpkgs/pkgs/development/libraries/umockdev/substitute-udevadm.patch b/nixpkgs/pkgs/development/libraries/umockdev/substitute-udevadm.patch new file mode 100644 index 000000000000..b09d151018e5 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/umockdev/substitute-udevadm.patch @@ -0,0 +1,41 @@ +From 09efbe8090f501c60975d5467fb587ed633d6a01 Mon Sep 17 00:00:00 2001 +From: Florian Klink <flokli@flokli.de> +Date: Wed, 24 Jan 2024 14:29:28 +0200 +Subject: [PATCH] substitute udevadm + +--- + src/umockdev-record.vala | 2 +- + tests/test-umockdev-run.vala | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/umockdev-record.vala b/src/umockdev-record.vala +index 2d49bc8..272f25e 100644 +--- a/src/umockdev-record.vala ++++ b/src/umockdev-record.vala +@@ -223,7 +223,7 @@ record_device(string dev) + int exitcode; + try { + Process.spawn_sync(null, +- {"udevadm", "info", "--query=all", "--path", dev}, ++ {"@udevadm@", "info", "--query=all", "--path", dev}, + null, + SpawnFlags.SEARCH_PATH, + null, +diff --git a/tests/test-umockdev-run.vala b/tests/test-umockdev-run.vala +index cd00a08..94616cb 100644 +--- a/tests/test-umockdev-run.vala ++++ b/tests/test-umockdev-run.vala +@@ -199,8 +199,8 @@ A: size=1048576\n + + // unfortunately the udevadm output between distros is not entirely constant + assert (get_program_out ( +- "udevadm", +- umockdev_run_command + "-d " + umockdev_file + " -- udevadm info --query=all --name=/dev/loop23", ++ "@udevadm@", ++ umockdev_run_command + "-d " + umockdev_file + " -- @udevadm@ info --query=all --name=/dev/loop23", + out sout, out serr, out exit)); + + assert_cmpstr (serr, CompareOperator.EQ, ""); +-- +2.43.0 + |