{ stdenv , lib , fetchurl , meson , ninja , pkg-config , gobject-introspection , vala , gtk-doc , docbook_xsl , docbook_xml_dtd_412 , docbook_xml_dtd_44 , glib , gssdp , libsoup , libxml2 , libuuid , gnome }: stdenv.mkDerivation rec { pname = "gupnp"; version = "1.4.1"; outputs = [ "out" "dev" ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/gupnp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "sha256-iZGWteZvA7jiXwRqemWM0qaFG+y4Py1VNFqzKBZV3Aw="; }; patches = [ # Bring .pc file in line with our patched pkg-config. ./0001-pkg-config-Declare-header-dependencies-as-public.patch ]; depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ meson ninja pkg-config gobject-introspection vala gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_44 ]; buildInputs = [ libuuid ]; propagatedBuildInputs = [ glib gssdp libsoup libxml2 ]; mesonFlags = [ "-Dgtk_doc=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" ]; doCheck = true; passthru = { updateScript = gnome.updateScript { packageName = pname; }; }; meta = with lib; { homepage = "http://www.gupnp.org/"; description = "An implementation of the UPnP specification"; license = licenses.lgpl2Plus; platforms = platforms.linux; }; }