mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-10-01 01:20:17 +02:00
dleyna-renderer: 0.6.0 → 0.7.1
Abandoned by Intel, new upstream. https://github.com/phako/dleyna-renderer/compare/v0.6.0...v0.7.1
This commit is contained in:
parent
1b809034d0
commit
3eeb9e70d0
|
@ -1,6 +1,8 @@
|
||||||
{ lib, stdenv
|
{ stdenv
|
||||||
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, autoreconfHook
|
, meson
|
||||||
|
, ninja
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, dleyna-connector-dbus
|
, dleyna-connector-dbus
|
||||||
, dleyna-core
|
, dleyna-core
|
||||||
|
@ -10,34 +12,35 @@
|
||||||
, gupnp-dlna
|
, gupnp-dlna
|
||||||
, libsoup
|
, libsoup
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
|
, docbook-xsl-nons
|
||||||
|
, libxslt
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "dleyna-renderer";
|
pname = "dleyna-renderer";
|
||||||
version = "0.6.0";
|
version = "0.7.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "01org";
|
owner = "phako";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = "v${version}";
|
||||||
sha256 = "0jy54aq8hgrvzchrvfzqaj4pcn0cfhafl9bv8a9p6j82yjk4pvpp";
|
sha256 = "EaTE5teMkVDHoJuTLdqcsIL7OyM+tOz85T5D9V3KDoo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# fix build with gupnp 1.2
|
|
||||||
# comes from arch linux packaging https://git.archlinux.org/svntogit/packages.git/tree/trunk/gupnp-1.2.diff?h=packages/dleyna-renderer
|
|
||||||
./gupnp-1.2.diff
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
meson
|
||||||
|
ninja
|
||||||
pkg-config
|
pkg-config
|
||||||
makeWrapper
|
makeWrapper
|
||||||
|
|
||||||
|
# manpage
|
||||||
|
docbook-xsl-nons
|
||||||
|
libxslt # for xsltproc
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
dleyna-core
|
dleyna-core
|
||||||
dleyna-connector-dbus
|
dleyna-connector-dbus # runtime dependency to be picked up to DLEYNA_CONNECTOR_PATH
|
||||||
gssdp
|
gssdp
|
||||||
gupnp
|
gupnp
|
||||||
gupnp-av
|
gupnp-av
|
||||||
|
@ -52,9 +55,9 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Library to discover and manipulate Digital Media Renderers";
|
description = "Library to discover and manipulate Digital Media Renderers";
|
||||||
homepage = "https://01.org/dleyna";
|
homepage = "https://github.com/phako/dleyna-renderer";
|
||||||
maintainers = [ maintainers.jtojnar ];
|
maintainers = with maintainers; [ jtojnar ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = licenses.lgpl21;
|
license = licenses.lgpl21Only;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,130 +0,0 @@
|
||||||
configure.ac | 4 ++--
|
|
||||||
libdleyna/renderer/device.c | 51 +++++++++++++++++++++++++++++++++++++++++++--
|
|
||||||
libdleyna/renderer/upnp.c | 4 ++--
|
|
||||||
3 files changed, 53 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git c/configure.ac i/configure.ac
|
|
||||||
index 271ee92..364659d 100644
|
|
||||||
--- c/configure.ac
|
|
||||||
+++ i/configure.ac
|
|
||||||
@@ -38,8 +38,8 @@ LT_LANG([C])
|
|
||||||
PKG_PROG_PKG_CONFIG(0.16)
|
|
||||||
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.28])
|
|
||||||
PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.28])
|
|
||||||
-PKG_CHECK_MODULES([GSSDP], [gssdp-1.0 >= 0.13.2])
|
|
||||||
-PKG_CHECK_MODULES([GUPNP], [gupnp-1.0 >= 0.20.5])
|
|
||||||
+PKG_CHECK_MODULES([GSSDP], [gssdp-1.2 >= 1.2.0])
|
|
||||||
+PKG_CHECK_MODULES([GUPNP], [gupnp-1.2 >= 1.2.0])
|
|
||||||
PKG_CHECK_MODULES([GUPNPAV], [gupnp-av-1.0 >= 0.11.5])
|
|
||||||
PKG_CHECK_MODULES([GUPNPDLNA], [gupnp-dlna-2.0 >= 0.9.4])
|
|
||||||
PKG_CHECK_MODULES([SOUP], [libsoup-2.4 >= 2.28.2])
|
|
||||||
diff --git c/libdleyna/renderer/device.c i/libdleyna/renderer/device.c
|
|
||||||
index 7acef89..f6d571e 100644
|
|
||||||
--- c/libdleyna/renderer/device.c
|
|
||||||
+++ i/libdleyna/renderer/device.c
|
|
||||||
@@ -2121,33 +2121,80 @@ exit:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
+typedef struct
|
|
||||||
+{
|
|
||||||
+ GMainLoop *loop;
|
|
||||||
+ GUPnPServiceIntrospection *introspection;
|
|
||||||
+ GError **error;
|
|
||||||
+} GetIntrospectionAsyncData;
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+get_introspection_async_cb (GUPnPServiceInfo *info,
|
|
||||||
+ GUPnPServiceIntrospection *introspection,
|
|
||||||
+ const GError *error,
|
|
||||||
+ gpointer user_data)
|
|
||||||
+{
|
|
||||||
+ GetIntrospectionAsyncData *data = user_data;
|
|
||||||
+ data->introspection = introspection;
|
|
||||||
+ if (data->error)
|
|
||||||
+ *data->error = g_error_copy (error);
|
|
||||||
+ g_main_loop_quit (data->loop);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static GUPnPServiceIntrospection *
|
|
||||||
+_gupnp_service_info_get_introspection (GUPnPServiceInfo *info,
|
|
||||||
+ GError **error)
|
|
||||||
+{
|
|
||||||
+ GetIntrospectionAsyncData data;
|
|
||||||
+ GMainContext *context;
|
|
||||||
+
|
|
||||||
+ context = g_main_context_new ();
|
|
||||||
+ data.loop = g_main_loop_new (context, FALSE);
|
|
||||||
+ data.error = error;
|
|
||||||
+
|
|
||||||
+ g_main_context_push_thread_default (context);
|
|
||||||
+
|
|
||||||
+ gupnp_service_info_get_introspection_async (info,
|
|
||||||
+ get_introspection_async_cb,
|
|
||||||
+ &data);
|
|
||||||
+
|
|
||||||
+ g_main_loop_run (data.loop);
|
|
||||||
+
|
|
||||||
+ g_main_context_pop_thread_default (context);
|
|
||||||
+
|
|
||||||
+ g_main_loop_unref (data.loop);
|
|
||||||
+ g_main_context_unref (context);
|
|
||||||
+
|
|
||||||
+ return data.introspection;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static gboolean prv_get_av_service_states_values(GUPnPServiceProxy *av_proxy,
|
|
||||||
GVariant **mpris_tp_speeds,
|
|
||||||
GPtrArray **upnp_tp_speeds,
|
|
||||||
double *min_rate,
|
|
||||||
double *max_rate,
|
|
||||||
gboolean *can_get_byte_pos)
|
|
||||||
{
|
|
||||||
const GUPnPServiceStateVariableInfo *svi;
|
|
||||||
const GUPnPServiceActionInfo *sai;
|
|
||||||
GUPnPServiceIntrospection *introspection;
|
|
||||||
GError *error = NULL;
|
|
||||||
GVariant *speeds = NULL;
|
|
||||||
GList *allowed_values;
|
|
||||||
gpointer weak_ref = NULL;
|
|
||||||
gboolean device_alive = TRUE;
|
|
||||||
|
|
||||||
/* TODO: this weak_ref hack is needed as
|
|
||||||
gupnp_service_info_get_introspection iterates the main loop.
|
|
||||||
This can result in our device getting deleted before this
|
|
||||||
function returns. Ultimately, this code needs to be re-written
|
|
||||||
to use gupnp_service_info_get_introspection_async but this cannot
|
|
||||||
really be done until GUPnP provides a way to cancel this function. */
|
|
||||||
|
|
||||||
weak_ref = av_proxy;
|
|
||||||
g_object_add_weak_pointer(G_OBJECT(av_proxy), &weak_ref);
|
|
||||||
|
|
||||||
- introspection = gupnp_service_info_get_introspection(
|
|
||||||
+ introspection = _gupnp_service_info_get_introspection(
|
|
||||||
GUPNP_SERVICE_INFO(av_proxy),
|
|
||||||
&error);
|
|
||||||
|
|
||||||
@@ -2215,7 +2262,7 @@ static gboolean prv_get_rc_service_states_values(GUPnPServiceProxy *rc_proxy,
|
|
||||||
weak_ref = rc_proxy;
|
|
||||||
g_object_add_weak_pointer(G_OBJECT(rc_proxy), &weak_ref);
|
|
||||||
|
|
||||||
- introspection = gupnp_service_info_get_introspection(
|
|
||||||
+ introspection = _gupnp_service_info_get_introspection(
|
|
||||||
GUPNP_SERVICE_INFO(rc_proxy),
|
|
||||||
&error);
|
|
||||||
|
|
||||||
diff --git c/libdleyna/renderer/upnp.c i/libdleyna/renderer/upnp.c
|
|
||||||
index 17cbda7..068912b 100644
|
|
||||||
--- c/libdleyna/renderer/upnp.c
|
|
||||||
+++ i/libdleyna/renderer/upnp.c
|
|
||||||
@@ -243,8 +243,8 @@ static void prv_server_unavailable_cb(GUPnPControlPoint *cp,
|
|
||||||
|
|
||||||
udn = gupnp_device_info_get_udn((GUPnPDeviceInfo *)proxy);
|
|
||||||
|
|
||||||
- ip_address = gupnp_context_get_host_ip(
|
|
||||||
- gupnp_control_point_get_context(cp));
|
|
||||||
+ ip_address = gssdp_client_get_host_ip(
|
|
||||||
+ GSSDP_CLIENT(gupnp_control_point_get_context(cp)));
|
|
||||||
|
|
||||||
if (!udn || !ip_address)
|
|
||||||
goto on_error;
|
|
Loading…
Reference in a new issue