summary refs log tree commit diff
path: root/pkgs/development/libraries/umockdev
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2019-08-18 20:33:15 +0300
committerNikolay Amiantov <ab@fmap.me>2019-08-18 21:17:32 +0300
commit9960a2be9b32a6d868046c5bfa188b9a0dd66682 (patch)
tree1b882ebab99ed8e49152625b45553ae63837b68a /pkgs/development/libraries/umockdev
parent4835f65e9507bf4ba2defee4d8f1a6077b621960 (diff)
downloadnixpkgs-9960a2be9b32a6d868046c5bfa188b9a0dd66682.tar
nixpkgs-9960a2be9b32a6d868046c5bfa188b9a0dd66682.tar.gz
nixpkgs-9960a2be9b32a6d868046c5bfa188b9a0dd66682.tar.bz2
nixpkgs-9960a2be9b32a6d868046c5bfa188b9a0dd66682.tar.lz
nixpkgs-9960a2be9b32a6d868046c5bfa188b9a0dd66682.tar.xz
nixpkgs-9960a2be9b32a6d868046c5bfa188b9a0dd66682.tar.zst
nixpkgs-9960a2be9b32a6d868046c5bfa188b9a0dd66682.zip
umockdev: 0.12.1 -> 0.13.1
Enable testing and fix a bug which leads to bolt build failing on some host filesystems.
Diffstat (limited to 'pkgs/development/libraries/umockdev')
-rw-r--r--pkgs/development/libraries/umockdev/default.nix34
-rw-r--r--pkgs/development/libraries/umockdev/fix-test-paths.patch12
2 files changed, 37 insertions, 9 deletions
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
index 07892e97087..866dc48f270 100644
--- a/pkgs/development/libraries/umockdev/default.nix
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -1,30 +1,46 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, gobject-introspection
-, pkgconfig, glib, systemd, libgudev, vala }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig
+, gobject-introspection, glib, systemd, libgudev, vala
+, usbutils, which, python3 }:
 
 stdenv.mkDerivation rec {
   name = "umockdev-${version}";
-  version = "0.12.1";
+  version = "0.13.1";
 
   outputs = [ "bin" "out" "dev" "doc" ];
 
-  src = fetchFromGitHub {
-    owner  = "martinpitt";
-    repo   = "umockdev";
-    rev    = version;
-    sha256 = "0wnmz4jh04mvqzjnqvxrah969gg4x4v8d6ip61zc7jpbwnqb2fpg";
+  src = fetchurl {
+    url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${name}.tar.xz";
+    sha256 = "197a169imiirgm73d9fn9234cx56agyw9d2f47h7f1d8s2d51lla";
   };
 
+  patches = [
+    ./fix-test-paths.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 = [ autoreconfHook pkgconfig vala gobject-introspection ];
+  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;
diff --git a/pkgs/development/libraries/umockdev/fix-test-paths.patch b/pkgs/development/libraries/umockdev/fix-test-paths.patch
new file mode 100644
index 00000000000..53015d66268
--- /dev/null
+++ b/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);