about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/gupnp/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gupnp/default.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/gupnp/default.nix73
1 files changed, 64 insertions, 9 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gupnp/default.nix b/nixpkgs/pkgs/development/libraries/gupnp/default.nix
index 648209125fe3..a69df33dd650 100644
--- a/nixpkgs/pkgs/development/libraries/gupnp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gupnp/default.nix
@@ -1,14 +1,32 @@
-{ stdenv, fetchurl, pkgconfig, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_44, glib, gssdp, libsoup, libxml2, libuuid }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, gobject-introspection
+, vala
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_412
+, docbook_xml_dtd_44
+, glib
+, gssdp
+, libsoup
+, libxml2
+, libuuid
+, gnome3
+}:
 
 stdenv.mkDerivation rec {
-  name = "gupnp-${version}";
-  version = "1.0.3";
+  pname = "gupnp";
+  version = "1.2.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gupnp/${stdenv.lib.versions.majorMinor version}/gupnp-${version}.tar.xz";
-    sha256 = "1fyb6yn75vf2y1b8nbc1df572swzr74yiwy3v3g5xn36wlp1cjvr";
+    url = "mirror://gnome/sources/gupnp/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0911lv1bivsyv9wwdxm0i1w4r89j0vyyqp200gsfdnzk6v1a4x7x";
   };
 
   patches = [
@@ -19,17 +37,54 @@ stdenv.mkDerivation rec {
     # at least until Requires.internal or something is implemented
     # https://gitlab.freedesktop.org/pkg-config/pkg-config/issues/7
     ./fix-requires.patch
+
+    # fix deadlock in gupnp-igd tests
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/gupnp/commit/d208562657f62b34759896ca9e974bd582d1f963.patch;
+      sha256 = "02kzsb4glxhgb1npf6qqgafiki0ws75sly5h470431mihc6sgp4f";
+    })
+    # fix breakage in gupnp-igd tests
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/gupnp/commit/0648399acb989473119fe59d0b9f65c923e69483.patch;
+      sha256 = "0ba0rngk3a4n3z4dmq06wzgh0n3q9la1nr25qdxqbwlszmxfxpjf";
+    })
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    gobject-introspection
+    vala
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_412
+    docbook_xml_dtd_44
+  ];
+
+  buildInputs = [
+    libuuid
   ];
 
-  nativeBuildInputs = [ pkgconfig gobject-introspection vala gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_44 ];
-  propagatedBuildInputs = [ glib gssdp libsoup libxml2 libuuid ];
+  propagatedBuildInputs = [
+    glib
+    gssdp
+    libsoup
+    libxml2
+  ];
 
-  configureFlags = [
-    "--enable-gtk-doc"
+  mesonFlags = [
+    "-Dgtk_doc=true"
   ];
 
   doCheck = true;
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     homepage = http://www.gupnp.org/;
     description = "An implementation of the UPnP specification";