Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / gssdp / 1.6.nix
blob9479a9cfe88db679e9c4ed50899cf8c72bdfd795
1 { stdenv
2 , lib
3 , fetchpatch
4 , fetchurl
5 , meson
6 , ninja
7 , pkg-config
8 , gobject-introspection
9 , vala
10 , pandoc
11 , gi-docgen
12 , python3
13 , libsoup_3
14 , glib
15 , gnome
16 , gssdp-tools
19 stdenv.mkDerivation rec {
20   pname = "gssdp";
21   version = "1.6.2";
23   outputs = [ "out" "dev" "devdoc" ];
25   src = fetchurl {
26     url = "mirror://gnome/sources/gssdp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
27     sha256 = "QQs3be7O2YNrV/SI+ABS/koU+J4HWxzszyjlH0kPn7k=";
28   };
30   patches = [
31     (fetchpatch {
32       # https://gitlab.gnome.org/GNOME/gssdp/-/merge_requests/11
33       name = "gi-docgen-as-native-dep.patch";
34       url = "https://gitlab.gnome.org/GNOME/gssdp/-/commit/db9d02c22005be7e5e81b43a3ab777250bd7b27b.diff";
35       hash = "sha256-Q2kwZlpNvSzIcMalrOm5lO5iFe+myS7J0S0vkcp10cw=";
36     })
37   ];
39   depsBuildBuild = [
40     pkg-config
41   ];
43   nativeBuildInputs = [
44     meson
45     ninja
46     pkg-config
47     gobject-introspection
48     vala
49     pandoc
50     gi-docgen
51     python3
52   ];
54   buildInputs = [
55     libsoup_3
56   ];
58   propagatedBuildInputs = [
59     glib
60   ];
62   mesonFlags = [
63     "-Dgtk_doc=true"
64     "-Dsniffer=false"
65   ];
67   doCheck = true;
69   postFixup = ''
70     # Move developer documentation to devdoc output.
71     # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
72     find -L "$out/share/doc" -type f -regex '.*\.devhelp2?' -print0 \
73       | while IFS= read -r -d ''' file; do
74         moveToOutput "$(dirname "''${file/"$out/"/}")" "$devdoc"
75     done
76   '';
78   passthru = {
79     updateScript = gnome.updateScript {
80       attrPath = "gssdp_1_6";
81       packageName = pname;
82     };
84     tests = {
85       inherit gssdp-tools;
86     };
87   };
89   meta = with lib; {
90     broken = stdenv.isDarwin;
91     description = "GObject-based API for handling resource discovery and announcement over SSDP";
92     homepage = "http://www.gupnp.org/";
93     license = licenses.lgpl2Plus;
94     maintainers = teams.gnome.members;
95     platforms = platforms.all;
96   };