python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / umockdev / default.nix
blob1d34c21d38429a52cb3a566e51c6d65cf41f3855
1 { stdenv
2 , lib
3 , docbook-xsl-nons
4 , fetchurl
5 , glib
6 , gobject-introspection
7 , gtk-doc
8 , libgudev
9 , libpcap
10 , meson
11 , mesonEmulatorHook
12 , ninja
13 , pkg-config
14 , python3
15 , systemd
16 , usbutils
17 , vala
18 , which
21 stdenv.mkDerivation rec {
22   pname = "umockdev";
23   version = "0.17.13";
25   outputs = [ "bin" "out" "dev" "devdoc" ];
27   src = fetchurl {
28     url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz";
29     sha256 = "sha256-bG6/bmIJtqSXRuDZGkSNAntUJxurgu1woTLs8pTKE88=";
30   };
32   patches = [
33     # Hardcode absolute paths to libraries so that consumers
34     # do not need to set LD_LIBRARY_PATH themselves.
35     ./hardcode-paths.patch
36   ];
38   nativeBuildInputs = [
39     docbook-xsl-nons
40     gobject-introspection
41     gtk-doc
42     meson
43     ninja
44     pkg-config
45     vala
46   ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
47     mesonEmulatorHook
48   ];
50   buildInputs = [
51     gobject-introspection
52     glib
53     systemd
54     libgudev
55     libpcap
56   ];
58   checkInputs = [
59     python3
60     which
61     usbutils
62   ];
64   mesonFlags = [
65     "-Dgtk_doc=true"
66   ];
68   doCheck = true;
70   postPatch = ''
71     # Substitute the path to this derivation in the patch we apply.
72     substituteInPlace src/umockdev-wrapper \
73       --subst-var-by 'LIBDIR' "''${!outputLib}/lib"
74   '';
76   preCheck = ''
77     # Our patch makes the path to the `LD_PRELOAD`ed library absolute.
78     # When running tests, the library is not yet installed, though,
79     # so we need to replace the absolute path with a local one during build.
80     # We are using a symlink that will be overridden during installation.
81     mkdir -p "$out/lib"
82     ln -s "$PWD/libumockdev-preload.so.0" "$out/lib/libumockdev-preload.so.0"
83   '';
85   meta = with lib; {
86     description = "Mock hardware devices for creating unit tests";
87     license = licenses.lgpl21Plus;
88     maintainers = with maintainers; [ flokli ];
89     platforms = with platforms; linux;
90   };