diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/umockdev')
3 files changed, 77 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/umockdev/default.nix b/nixpkgs/pkgs/development/libraries/umockdev/default.nix new file mode 100644 index 000000000000..6a2285563064 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/umockdev/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchurl, fetchpatch, pkgconfig +, gobject-introspection, glib, systemd, libgudev, vala +, usbutils, which, python3 }: + +stdenv.mkDerivation rec { + name = "umockdev-${version}"; + version = "0.13.1"; + + outputs = [ "bin" "out" "dev" "doc" ]; + + src = fetchurl { + url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${name}.tar.xz"; + sha256 = "197a169imiirgm73d9fn9234cx56agyw9d2f47h7f1d8s2d51lla"; + }; + + patches = [ + ./fix-test-paths.patch + # https://github.com/NixOS/nixpkgs/commit/9960a2be9b32a6d868046c5bfa188b9a0dd66682#commitcomment-34734461 + ./disable-failed-test.patch + # https://github.com/martinpitt/umockdev/pull/93 + (fetchpatch { + url = "https://github.com/abbradar/umockdev/commit/ce22f893bf50de0b32760238a3e2cfb194db89e9.patch"; + sha256 = "01q3qhs30x8hl23iigimsa2ikbiw8y8y0bpmh02mh1my87shpwnx"; + }) + ]; + + # autoreconfHook complains if we try to build the documentation + postPatch = '' + echo 'EXTRA_DIST =' > docs/gtk-doc.make + ''; + + preCheck = '' + patchShebangs tests/test-static-code + ''; + + buildInputs = [ glib systemd libgudev ]; + + nativeBuildInputs = [ pkgconfig vala gobject-introspection ]; + + checkInputs = [ python3 which usbutils ]; + + enableParallelBuilding = true; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Mock hardware devices for creating unit tests"; + license = licenses.lgpl2; + maintainers = with maintainers; [ ndowens ]; + platforms = with platforms; linux; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/umockdev/disable-failed-test.patch b/nixpkgs/pkgs/development/libraries/umockdev/disable-failed-test.patch new file mode 100644 index 000000000000..69e74dd38b8d --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/umockdev/disable-failed-test.patch @@ -0,0 +1,13 @@ +diff --git a/tests/test-umockdev-vala.vala b/tests/test-umockdev-vala.vala +index 8b104b2..d9889b8 100644 +--- a/tests/test-umockdev-vala.vala ++++ b/tests/test-umockdev-vala.vala +@@ -668,7 +668,7 @@ main (string[] args) + + /* tests for mocking ioctls */ + Test.add_func ("/umockdev-testbed-vala/usbfs_ioctl_static", t_usbfs_ioctl_static); +- Test.add_func ("/umockdev-testbed-vala/usbfs_ioctl_tree", t_usbfs_ioctl_tree); ++ /* Test.add_func ("/umockdev-testbed-vala/usbfs_ioctl_tree", t_usbfs_ioctl_tree); */ + Test.add_func ("/umockdev-testbed-vala/usbfs_ioctl_tree_with_default_device", t_usbfs_ioctl_tree_with_default_device); + Test.add_func ("/umockdev-testbed-vala/usbfs_ioctl_tree_override_default_device", t_usbfs_ioctl_tree_override_default_device); + Test.add_func ("/umockdev-testbed-vala/usbfs_ioctl_tree_xz", t_usbfs_ioctl_tree_xz); diff --git a/nixpkgs/pkgs/development/libraries/umockdev/fix-test-paths.patch b/nixpkgs/pkgs/development/libraries/umockdev/fix-test-paths.patch new file mode 100644 index 000000000000..53015d662684 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/umockdev/fix-test-paths.patch @@ -0,0 +1,12 @@ +diff -ru3 umockdev-0.13.1/tests/test-umockdev.c umockdev-0.13.1-new/tests/test-umockdev.c +--- umockdev-0.13.1/tests/test-umockdev.c 2019-08-18 20:39:39.708262517 +0300 ++++ umockdev-0.13.1-new/tests/test-umockdev.c 2019-08-18 21:04:27.688761503 +0300 +@@ -1084,7 +1084,7 @@ + + /* sys/ in other dir should not be trapped */ + errno = 0; +- dirfd = open("/run", O_RDONLY | O_DIRECTORY); ++ dirfd = open("/tmp", O_RDONLY | O_DIRECTORY); + g_assert_cmpint(openat(dirfd, "sys", O_RDONLY), <, 0); + g_assert_cmpint(errno, ==, ENOENT); + g_assert_cmpint(openat64(dirfd, "sys", O_RDONLY), <, 0); |