1{ lib, stdenv
2, fetchFromGitHub
3, docbook_xml_dtd_43
4, docbook_xsl
5, glib
6, gobject-introspection
7, gtk-doc
8, meson
9, ninja
10, pkg-config
11, python3
12, shared-mime-info
13, nixosTests
14}:
15
16stdenv.mkDerivation rec {
17 pname = "libxmlb";
18 version = "0.3.1";
19
20 outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ];
21
22 src = fetchFromGitHub {
23 owner = "hughsie";
24 repo = "libxmlb";
25 rev = version;
26 sha256 = "sha256-4gJBmSbo5uGj12Y2Ov4gmS8nJshQxuBM9BAevY/lwjg=";
27 };
28
29 patches = [
30 ./installed-tests-path.patch
31 ];
32
33 nativeBuildInputs = [
34 docbook_xml_dtd_43
35 docbook_xsl
36 gobject-introspection
37 gtk-doc
38 meson
39 ninja
40 pkg-config
41 (python3.withPackages (pkgs: with pkgs; [ setuptools ]))
42 shared-mime-info
43 ];
44
45 buildInputs = [
46 glib
47 ];
48
49 mesonFlags = [
50 "--libexecdir=${placeholder "out"}/libexec"
51 "-Dgtkdoc=true"
52 "-Dinstalled_test_prefix=${placeholder "installedTests"}"
53 ];
54
55 preCheck = ''
56 export XDG_DATA_DIRS=$XDG_DATA_DIRS:${shared-mime-info}/share
57 '';
58
59 doCheck = true;
60
61 passthru = {
62 tests = {
63 installed-tests = nixosTests.installed-tests.libxmlb;
64 };
65 };
66
67 meta = with lib; {
68 description = "A library to help create and query binary XML blobs";
69 homepage = "https://github.com/hughsie/libxmlb";
70 license = licenses.lgpl21Plus;
71 maintainers = with maintainers; [ jtojnar ];
72 platforms = platforms.linux;
73 };
74}