2 # Copyright (C) 2006-2012 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=@GNOME/rygel/0.14/
16 PKG_SHA256SUM:=c4f79fb30bc1a062a2ffdadc7a55dd91fa58240302f152fb070d8c674bdddd67
19 PKG_BUILD_DEPENDS:=vala/host intltool/host vala gupnp-vala
21 include $(INCLUDE_DIR)/package.mk
22 include $(INCLUDE_DIR)/nls.mk
25 -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
27 define Package/rygel/Default
30 TITLE:=GNOME UPnP/DLNA services
31 URL:=http://live.gnome.org/Rygel
34 define Package/rygel/description/Default
35 Rygel is a collection of DLNA (UPnP AV) services (devices in UPnP speak),
36 implemented through a plug-in mechanism.
40 $(call Package/rygel/Default)
41 DEPENDS:=+libgssdp +libgupnp +libgupnp-av +libgupnp-dlna +libgee \
42 +libsoup +gstreamer +libgstvideo +libgstpbutils
45 define Package/rygel/conffiles
49 define Package/rygel/description
50 $(call Package/rygel/description/Default)
52 This package contains the main rygel binary.
55 define RemoveValaStamps
56 find $(PKG_BUILD_DIR) -name "*_vala.stamp" | xargs rm -f
59 Hooks/Configure/Pre += RemoveValaStamps
61 define Build/Configure
62 $(call Build/Configure/Default,--without-ui,)
66 $(MAKE) -C $(PKG_BUILD_DIR) \
67 DESTDIR="$(PKG_INSTALL_DIR)" \
71 define Package/rygel/install
72 $(INSTALL_DIR) $(1)/usr/bin
75 $(PKG_INSTALL_DIR)/usr/bin/rygel \
78 $(INSTALL_DIR) $(1)/usr/share/rygel/xml
81 $(PKG_INSTALL_DIR)/usr/share/rygel/xml/*.xml \
82 $(1)/usr/share/rygel/xml
84 $(INSTALL_DIR) $(1)/etc
85 $(INSTALL_DATA) files/etc/rygel.conf $(1)/etc
87 $(INSTALL_DIR) $(1)/etc/init.d
88 $(INSTALL_BIN) files/etc/init.d/rygel $(1)/etc/init.d/rygel
90 $(INSTALL_DIR) $(1)/etc/config
91 $(INSTALL_CONF) files/etc/config/rygel $(1)/etc/config/rygel
93 $(INSTALL_DIR) $(1)/usr/share/icons/hicolor/{32x32,48x48,128x128}/apps
95 $(PKG_INSTALL_DIR)/usr/share/icons/hicolor/32x32/apps/rygel.png \
96 $(1)/usr/share/icons/hicolor/32x32/apps/rygel.png
98 $(PKG_INSTALL_DIR)/usr/share/icons/hicolor/48x48/apps/rygel.png \
99 $(1)/usr/share/icons/hicolor/48x48/apps/rygel.png
101 $(PKG_INSTALL_DIR)/usr/share/icons/hicolor/128x128/apps/rygel.png \
102 $(1)/usr/share/icons/hicolor/128x128/apps/rygel.png
105 # 1: plugin name as used in shared library filename
106 # 2: additional dependencies, if any
107 define RygelBuildPlugin
109 define Package/rygel-$(1)
110 $(call Package/rygel/Default)
111 TITLE+= - $(1) plugin
115 define Package/rygel-$(1)/install
116 $(INSTALL_DIR) $$(1)/usr/lib/rygel-1.0
117 $(CP) $(PKG_INSTALL_DIR)/usr/lib/rygel-1.0/librygel-$(1).so \
118 $$(1)/usr/lib/rygel-1.0
121 $$(eval $$(call BuildPackage,rygel-$(1)))
124 define Package/rygel-external/description
125 $(call Package/rygel/description/Default)
127 This package contains the external plugin, a MediaServer plugin that exports
128 media provided by applications implementing the D-Bus MediaServer interface.
130 $(eval $(call RygelBuildPlugin,external))
132 define Package/rygel-media-export/description
133 $(call Package/rygel/description/Default)
135 This package contains the media-export plugin, a MediaServer plugin that
136 recursively exports files and folders specified in the user configuration.
138 $(eval $(call RygelBuildPlugin,media-export,+libsqlite3 +libgstapp +libgsttag))
140 define Package/rygel-mpris/description
141 $(call Package/rygel/description/Default)
143 This package contains the mpris plugin, a MediaServer plugin that exports
144 media provided by applications implementing the D-Bus MPRIS2 interface.
146 $(eval $(call RygelBuildPlugin,mpris))
148 define Package/rygel-tracker/description
149 $(call Package/rygel/description/Default)
151 This package contains the tracker plugin, a MediaServer plugin that exports
152 media known to Tracker.
154 $(eval $(call RygelBuildPlugin,tracker))
156 define Package/rygel-playbin/description
157 $(call Package/rygel/description/Default)
159 This package contains the playbin plugin, the MediaRenderer plugin.
161 $(eval $(call RygelBuildPlugin,playbin))
163 define Package/rygel-playbin-gst-suggested/description
164 $(call Package/rygel/description/Default)
166 This optional metapackage installs a suggested set of gstreamer plugins to
167 support audio playback in rygel-playbin.
170 define Package/rygel-playbin-gst-suggested
171 $(call Package/rygel/Default)
172 TITLE:=Suggested GStreamer plugins for rygel-playbin
175 +gst-mod-audioconvert \
176 +gst-mod-audioparsers \
177 +gst-mod-audioresample \
178 +gst-mod-autodetect \
179 +gst-mod-decodebin2 \
186 +gst-mod-souphttpsrc \
187 +gst-mod-typefindfunctions \
190 +BUILD_PATENTED:gst-mod-faad \
191 +BUILD_PATENTED:gst-mod-mad
193 $(eval $(call BuildPackage,rygel-playbin-gst-suggested))
195 $(eval $(call BuildPackage,rygel))