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