1{ stdenv
2, lib
3, fetchFromGitLab
4, autoconf
5, automake
6, libtool
7, which
8, pkg-config
9, python3
10, vala
11, avahi
12, gdk-pixbuf
13, gst_all_1
14, glib
15, gtk3
16, libgee
17, check
18, gtk-doc
19, docbook-xsl-nons
20, docbook_xml_dtd_43
21, gobject-introspection
22, libsoup
23}:
24
25stdenv.mkDerivation rec {
26 pname = "libdmapsharing";
27 version = "3.9.10";
28
29 outputs = [ "out" "dev" "devdoc" ];
30 outputBin = "dev";
31
32 src = fetchFromGitLab {
33 domain = "gitlab.gnome.org";
34 owner = "GNOME";
35 repo = pname;
36 rev = "${lib.toUpper pname}_${lib.replaceStrings ["."] ["_"] version}";
37 sha256 = "04y1wjwnbw4pzg05h383d83p6an6ylwy4b4g32jmjxpfi388x33g";
38 };
39
40 nativeBuildInputs = [
41 autoconf
42 automake
43 libtool
44 which
45 pkg-config
46 python3
47 gobject-introspection
48 vala
49 gtk-doc
50 docbook-xsl-nons
51 docbook_xml_dtd_43
52 ];
53
54 buildInputs = [
55 avahi
56 gdk-pixbuf
57 gst_all_1.gstreamer
58 gst_all_1.gst-plugins-base
59 ];
60
61 propagatedBuildInputs = [
62 glib
63 libsoup
64 ];
65
66 checkInputs = [
67 libgee
68 check
69 gtk3
70 ];
71
72 configureFlags = [
73 "--enable-gtk-doc"
74 ];
75
76 # Cannot disable tests here or `check` from checkInputs would not be included.
77 # Cannot disable building the tests or docs will not build:
78 # https://gitlab.gnome.org/GNOME/libdmapsharing/-/issues/49
79 doCheck = true;
80
81 preConfigure = ''
82 NOCONFIGURE=1 ./autogen.sh
83 '';
84
85 # Tests require mDNS server.
86 checkPhase = ":";
87
88 meta = with lib; {
89 homepage = "https://www.flyn.org/projects/libdmapsharing/";
90 description = "Library that implements the DMAP family of protocols";
91 maintainers = teams.gnome.members;
92 license = licenses.lgpl21Plus;
93 platforms = platforms.linux;
94 };
95}