summary refs log tree commit diff
path: root/pkgs/development/libraries/gupnp
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2019-01-02 01:20:52 +0100
committerJan Tojnar <jtojnar@gmail.com>2019-04-16 15:11:44 +0200
commit7e7fc2e3ef8903883f1022f5df73ac0614c1f44d (patch)
tree451f3fdf75212791cd67aaa930edbb1df307a61d /pkgs/development/libraries/gupnp
parent232f3b0eb58f5271d957392c59f99c99b366ab2d (diff)
downloadnixpkgs-7e7fc2e3ef8903883f1022f5df73ac0614c1f44d.tar
nixpkgs-7e7fc2e3ef8903883f1022f5df73ac0614c1f44d.tar.gz
nixpkgs-7e7fc2e3ef8903883f1022f5df73ac0614c1f44d.tar.bz2
nixpkgs-7e7fc2e3ef8903883f1022f5df73ac0614c1f44d.tar.lz
nixpkgs-7e7fc2e3ef8903883f1022f5df73ac0614c1f44d.tar.xz
nixpkgs-7e7fc2e3ef8903883f1022f5df73ac0614c1f44d.tar.zst
nixpkgs-7e7fc2e3ef8903883f1022f5df73ac0614c1f44d.zip
gupnp: 1.0.3 → 1.2.0
https://gitlab.gnome.org/GNOME/gupnp/blob/gupnp-1.2.0/NEWS

Co-Authored-By: Tor Hedin Brønner <torhedinbronner@gmail.com>
Diffstat (limited to 'pkgs/development/libraries/gupnp')
-rw-r--r--pkgs/development/libraries/gupnp/default.nix73
-rw-r--r--pkgs/development/libraries/gupnp/fix-requires.patch35
2 files changed, 90 insertions, 18 deletions
diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix
index 648209125fe..a69df33dd65 100644
--- a/pkgs/development/libraries/gupnp/default.nix
+++ b/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";
diff --git a/pkgs/development/libraries/gupnp/fix-requires.patch b/pkgs/development/libraries/gupnp/fix-requires.patch
index 4538fc55460..ffe9b68fd04 100644
--- a/pkgs/development/libraries/gupnp/fix-requires.patch
+++ b/pkgs/development/libraries/gupnp/fix-requires.patch
@@ -1,9 +1,26 @@
---- a/gupnp-1.0.pc.in
-+++ b/gupnp-1.0.pc.in
-@@ -8,4 +8,5 @@
- Version: @VERSION@
- Libs: -L${libdir} -lgupnp-1.0
- Cflags: -I${includedir}/gupnp-1.0
--Requires.private: gssdp-1.0 libxml-2.0 libsoup-2.4 @UUID_LIBS@
-+Requires: glib-2.0 gobject-2.0 gssdp-1.0 libxml-2.0 libsoup-2.4
-+Requires.private: @UUID_LIBS@
+--- a/libgupnp/meson.build
++++ b/libgupnp/meson.build
+@@ -110,6 +110,7 @@ pkg.generate(
+     libraries : libgupnp,
+     subdirs: 'gupnp-1.2',
+     name : 'gupnp-1.2',
++    requires: requires,
+     description : 'GObject-based UPnP library',
+     version : meson.project_version(),
+     filebase : 'gupnp-1.2'
+--- a/meson.build
++++ a/meson.build
+@@ -18,6 +18,13 @@ add_global_arguments('-DHAVE_CONFIG_H=1', language : 'c')
+ 
+ guul = subproject('guul', default_options : ['default_library=static'])
+ 
++requires = [
++  dependency('glib-2.0', version : '>= 2.44'),
++  dependency('gssdp-1.2', version : '>= 1.1'),
++  dependency('libsoup-2.4', version : '>= 2.48.0'),
++  dependency('libxml-2.0')
++]
++
+ dependencies = [
+     dependency('glib-2.0', version : '>= 2.44'),
+     dependency('gio-2.0', version : '>= 2.44'),