...
 
Commits (6362)
# https://editorconfig.org
root = "true"
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.{c,h,vala}]
indent_style = space
indent_size = 4
[*.xml]
indent_style = space
indent_size = 2
Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
Jorn Baayen <jorn@openedhand.com>
Jens Georg <mail@jensge.org>
For the logo:
Chris Kühl <blixtra@gmail.com>
This diff is collapsed.
The Rygel logo is (c) Chris Kühl <blixtra@gmail.com> and distributed under
CC-BY-SA 3.0
Zeeshan Ali (Khattak)
E-mail: zeeshanak@gnome.org
Userid: zeeshanak
Jens Georg
E-mail: Jens Georg <mail@jensge.org>
Userid: jensgeorg
SUBDIRS = src data tests po doc examples
pkgconfig_DATA= rygel-core-2.6.pc \
rygel-renderer-2.6.pc \
rygel-server-2.6.pc \
rygel-ruih-2.0.pc
pkgconfigdir = $(libdir)/pkgconfig
if HAVE_GSTREAMER
pkgconfig_DATA += rygel-renderer-gst-2.6.pc
endif
EXTRA_DIST = rygel-core-2.6.pc.in rygel-renderer-2.6.pc.in rygel-ruih-2.0.pc.in \
rygel-server-2.6.pc.in .version \
build-aux/config.rpath \
build-aux/git-version-gen \
COPYING.logo \
README.md
AM_DISTCHECK_CONFIGURE_FLAGS = --with-systemduserunitdir='$${libdir}/systemd/user-distcheck'
# Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = aclocal.m4 compile config.guess config.sub configure depcomp install-sh ltmain.sh Makefile.in missing config.h.in
ACLOCAL_AMFLAGS = -I m4
# see build-aux/git-version-get for details
BUILT_SOURCES = $(top_srcdir)/.version
$(top_srcdir)/.version:
echo $(VERSION) > $@-t && mv $@-t $@
dist-hook:
echo $(VERSION) > $(distdir)/.tarball-version
@if test -d "$(srcdir)/.git"; \
then \
echo Creating ChangeLog && \
( cd "$(top_srcdir)" && \
echo '# Generated by Makefile. Do not edit.'; echo; \
"$(top_srcdir)"/build-aux/missing --run git log --stat ) > ChangeLog.tmp \
&& mv -f ChangeLog.tmp $(distdir)/ChangeLog \
|| ( rm -f ChangeLog.tmp ; \
echo Failed to generate ChangeLog >&2 ); \
else \
echo A git clone is required to generate a ChangeLog >&2; \
fi
vala-clean:
rm -f `find . -name "*.stamp"`
This diff is collapsed.
What is Rygel?
=============
Rygel is a home media solution that allows you to easily share audio, video and
pictures, and control of media player on your home network. In technical terms
it is both a UPnP AV MediaServer and MediaRenderer implemented through a plug-in
mechanism. Interoperability with other devices in the market is achieved by
conformance to very strict requirements of DLNA and on the fly conversion of
media to format that client devices are capable of handling.
Important facts and features
============================
* Based on GUPnP.
* Written largely in Vala language.
* Provides APIs to ease the implementation of AV devices.
* Export of on-disk media:
* Tracker plugin.
* MediaExport plugin: Recursively exports folders and files specified in the user configuration. This plugin supports all types of URIs that gio/gvfs and gstreamer can handle.
* Export of media hierarchies provided by external applications through
implementation of D-Bus MediaServer spec. Applications that utilize
this feature are:
* DVB Daemon
* Rhythmbox
* Export of GStreamer pipelines as media items on the network, specified
through gst-launch syntax in the user configuration.
* Audio and Video Transcoding: source format could be anything GStreamer's
decodebin2 can handle but output formats are currently limited to: mp3, PCM
and MPEG TS. Fortunately the transcoding framework is flexible enough to
easily add more transcoding targets.
* Standalone MediaRenderer plugin based on GStreamer playbin element.
* Export of media players that implement MPRIS2 D-Bus interface, as
MediaRenderer devices. Known implementing applications are:
* Rhythmbox
* VLC
Requirements
============
* Build-time:
* Core:
* gupnp
* gupnp-av
* gstreamer
* gio (part of glib source package)
* libgee
* libsoup
* libmediaart
* vala (not if building from release tarballs)
* Preferences UI:
* gtk+
* MediaExport:
* sqlite3
* gupnp-dlna
* Run-time:
* Definitely needed:
* gst-plugins-base
* shared-mime-info
* Might be needed (depending on your usage and media collection):
* gst-plugins-good
* gst-libav
* gst-plugins-bad
* gst-plugins-ugly
To build without gstreamer, use ```--with-media-engine=simple``` during configure time.
This will also disable any plugins that use gstreamer.
References
==========
* http://www.dlna.org
* http://www.upnp.org
* http://www.gupnp.org
* http://www.vala-project.org
* http://www.wikipedia.org/wiki/Media_server
* http://www.upnp.org/specs/av/UPnP-av-MediaServer-v2-Device-20060531.pdf
* https://wiki.gnome.org/Projects/Tracker
* https://wiki.gnome.org/Projects/DVBDaemon
* https://wiki.gnome.org/Projects/Rygel/MediaServer2Spec
* http://www.mpris.org/2.0/spec/
* MediaExport
* Fix coding-style/indentation everywhere.
* Filesystem-based cover art (Implement feeding-part of MediaArtStorageSpec)
* Preliminary patch exists, though ugly
* Add configurable filter on "Genre" to decide between Audio and Music for
* UPnP class
* check if g_file_enumerator_container can simplify harvester
* Find a way to handle images properly
* Will be done automagically by
* https://bugzilla.gnome.org/show_bug.cgi?id=626531
* Unify ImportResource and HTTPPost.
* Check in HTTPSeek really needed?
* Cache response(s). If user fast forwards a stream, one request completes and
a second will be issued with a new time offset. It is important to keep the
latency of starting the new request small.
→ How to handle devices that query a lot of byte ranges in parallel (LG
blueray player e.g.)
* Assign priorities to gstreamer threads
(See gstreamer/tests/examples/streams/stream-status.c)
* rygel copies config file to user's home dir if not already there.
* Copy code from UI.
* UI:
* Kill preferences UI
* Move UI components to gnome-user-share (bastien will do this, really?)
* Remove rygel-preferences (code and UI file).
* Remove unneeded API from UserConfig.
* Remove related stuff from this TODO file.
* MediaItem.add_resource() should take a res (and renamed) rather than
taking a didl_item and returning a res.
* Tracker
* More suitable name for SearchContainer (QueryContainer?)
* Async creation of containers.
* Fetch as much metadata from added item as possible.
* Use tracker:id for IDs.
* Complete search implementation.
* Deal with number search expressions.
* Deal with logical expressions too.
* Document plugin API.
* Use methods (with errors) in Player's API to set props.
* Player's APIs should be async.
* Make all GIO calls async
* Replace magic keywords in model description as well.
* Get rid of 'handle_error' in most places.
* Unit tests
* HTTPGetHandler
* HTTPIdentityHandler
* HTTPTranscodeHandler
* UserConfig
* config file not available
* MediaProviderSpec/External
* Fix search: complete prop translation.
* search: What about multvalued props?
* Make use of "*" filter.
* How to hide ContentDirectoryError?
* mpris
* use icons for media objects.
* Playbin
* configuration options to set gst playbin props?
* Handle all provided metadata in CreateObject.
* Put common code in item and container into object (e.g upnp_class)
* Totem plugin that implements MediaRenderer spec.
* ScheduledRecording (ScheduledRecording spec, especially section 2.9.2.2.1)
* Add MediaItem.ChannelID prop.
* MediaItem.ChannelID prop gets serialized into DIDL.
* Skeleton ScheduledRecording service implementation
* RecordSchedule : MediaObject
* RecordTask : MediaObject
* Implement ScheduledRecording and RecordingBrowse classes (only allow
single RecordTask in each RecordSchedule)
* Make ScheduledRecording and ContentDir derive from a common class
(Browsable?). Same goes for RecordingBrowse and ContentDirBrowse.
* Move common code (construction and serializating) to MediaObject.
* Move the res field and it's manipulation to MediaObject.
* ScheduledRecording
* export EPG hierarchy
* EPG container
* EPG item
* Tracker:
* MetadataValues:
* Document delegate functions.
* Do something about total_count param of search (using COUNT?)
* Missing metadata:
* Video: resolution info, author, framerate, bitrate etc.
* Image: album.
* Use ~/.face as icon if available.
* Remove redundant "Item" from item class names.
* share playlists and other categories?
* Internal res:
* Provide IP.
* Provide APIs for D-Bus service-based plugins (external,mpris,tracker).
=== Doubtful / issues ===
* See if any of sunil mohan's changes are mergable.
* Generate default rygel.conf from rygel.conf.xml?
* Use cached props instead of Properties.get*() for cleaner code. issue: How
to deal with optional properties on MediaServer2?
* move contents of src dir a level up?
* Pass a function to HTTPServer and HTTPRequest for item search, rather than
ContentDir itself?
* Implement DLNA's time seeking for non-transcoded contents as well.
* Probably next to impossible since that would need a byte ←→ time
mapping
* remove project prefix from file names?
* use soup_buffer_new_with_owner() to save memory?
* UTF16 conversion to UTF8.
* mark the plugins using %h option.
* listen to hostname changes and re-create plugins that use %h magic.
=== Wishes ===
* http://zee-nix.blogspot.com/2008/10/rygel-gnome-upnp-media-server.html
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
DEFAULT_ARGS="--enable-vala --enable-maintainer-mode --enable-debug --enable-example-plugins --enable-gst-launch-plugin --disable-strict-valac"
mkdir -p m4
if [ "x$1" = "xdevel" ]; then
DEFAULT_ARGS="$DEFAULT_ARGS --enable-uninstalled --enable-debug --disable-apidocs"
shift
elif [ "x$1" = "xrelease" ]; then
DEFAULT_ARGS="$DEFAULT_ARGS --enable-apidocs --disable-debug"
shift
fi
test -n "$srcdir" || srcdir=`dirname "$0"`
test -n "$srcdir" || srcdir=.
olddir=`pwd`
cd $srcdir
(test -f configure.ac) || {
echo "*** ERROR: Directory "\`$srcdir\'" does not look like the top-level project directory ***"
exit 1
}
PKG_NAME=`autoconf --trace 'AC_INIT:$1' configure.ac`
if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
echo "*** WARNING: I am going to run \`configure' with no arguments." >&2
echo "*** If you wish to pass any to it, please specify them on the" >&2
echo "*** \`$0' command line." >&2
echo "" >&2
fi
aclocal --install || exit 1
autoreconf --verbose --force --install -Wno-portability || exit 1
cd $olddir
if [ "$NOCONFIGURE" = "" ]; then
$srcdir/configure $DEFAULT_ARGS "$@" || exit 1
if [ "$1" = "--help" ]; then exit 0 else
echo "Now type \`make\' to compile $PKG_NAME" || exit 1
fi
else
echo "Skipping configure process."
fi
#!/bin/sh
# Print a version string.
scriptversion=2009-05-11.16
# Copyright (C) 2007-2008 Free Software Foundation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/.
# It may be run two ways:
# - from a git repository in which the "git describe" command below
# produces useful output (thus requiring at least one signed tag)
# - from a non-git-repo directory containing a .tarball-version file, which
# presumes this script is invoked like "./git-version-gen .tarball-version".
# In order to use intra-version strings in your project, you will need two
# separate generated version string files:
#
# .tarball-version - present only in a distribution tarball, and not in
# a checked-out repository. Created with contents that were learned at
# the last time autoconf was run, and used by git-version-gen. Must not
# be present in either $(srcdir) or $(builddir) for git-version-gen to
# give accurate answers during normal development with a checked out tree,
# but must be present in a tarball when there is no version control system.
# Therefore, it cannot be used in any dependencies. GNUmakefile has
# hooks to force a reconfigure at distribution time to get the value
# correct, without penalizing normal development with extra reconfigures.
#
# .version - present in a checked-out repository and in a distribution
# tarball. Usable in dependencies, particularly for files that don't
# want to depend on config.h but do want to track version changes.
# Delete this file prior to any autoconf run where you want to rebuild
# files to pick up a version string change; and leave it stale to
# minimize rebuild time after unrelated changes to configure sources.
#
# It is probably wise to add these two files to .gitignore, so that you
# don't accidentally commit either generated file.
#
# Use the following line in your configure.ac, so that $(VERSION) will
# automatically be up-to-date each time configure is run (and note that
# since configure.ac no longer includes a version string, Makefile rules
# should not depend on configure.ac for version updates).
#
# AC_INIT([GNU project],
# m4_esyscmd([build-aux/git-version-gen .tarball-version]),
# [bug-project@example])
#
# Then use the following lines in your Makefile.am, so that .version
# will be present for dependencies, and so that .tarball-version will
# exist in distribution tarballs.
#
# BUILT_SOURCES = $(top_srcdir)/.version
# $(top_srcdir)/.version:
# echo $(VERSION) > $@-t && mv $@-t $@
# dist-hook:
# echo $(VERSION) > $(distdir)/.tarball-version
case $# in
1) ;;
*) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version"; exit 1;;
esac
tarball_version_file=$1
nl='
'
# First see if there is a tarball-only version file.
# then try "git describe", then default.
if test -f $tarball_version_file
then
v=`cat $tarball_version_file` || exit 1
case $v in
*$nl*) v= ;; # reject multi-line output
[0-9]*) ;;
*) v= ;;
esac
test -z "$v" \
&& echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2
fi
if test -n "$v"
then
: # use $v
elif test -d .git \
&& v=`git describe --abbrev=4 --match='${GNOME_TAG_PATTERN}*' HEAD 2>/dev/null \
|| git describe --abbrev=4 HEAD 2>/dev/null` \
&& case $v in
${GNOME_TAG_PATTERN}_[0-9]*) ;;
${GNOME_TAG_PATTERN}-[0-9]*)
v=`echo "$v" | sed "s/-/_/"`;
;;
*) (exit 1) ;;
esac
then
# Is this a new git that lists number of commits since the last
# tag or the previous older version that did not?
# Newer: v6.10-77-g0f8faeb
# Older: v6.10-g0f8faeb
case $v in
*-*-*) : git describe is okay three part flavor ;;
*-*)
: git describe is older two part flavor
# Recreate the number of commits and rewrite such that the
# result is the same as if we were using the newer version
# of git describe.
vtag=`echo "$v" | sed 's/-.*//'`
numcommits=`git rev-list "$vtag"..HEAD | wc -l`
v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`;
;;
esac
# Change the first '-' to a '.', so version-comparing tools work properly.
# Remove the "g" in git describe's output string, to save a byte.
v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`;
else
v=UNKNOWN
fi
#v=`echo "$v" |sed 's/^v//'`
v=`echo "$v" | sed "s/${GNOME_TAG_PATTERN}[_-]//" | tr _- .`
# Don't declare a version "dirty" merely because a time stamp has changed.
git status > /dev/null 2>&1
dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty=
case "$dirty" in
'') ;;
*) # Append the suffix only if there isn't one already.
case $v in
*-dirty) ;;
*) v="$v-dirty" ;;
esac ;;
esac
# Omit the trailing newline, so that m4_esyscmd can use the result directly.
echo "$v" | tr -d '\012'
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
{
"app-id" : "org.gnome.Rygel",
"runtime" : "org.gnome.Platform",
"runtime-version" : "master",
"sdk" : "org.gnome.Sdk",
"command" : "rygel",
"finish-args" : [
"--env=DCONF_USER_CONFIG_DIR=.config/dconf",
"--filesystem=~/.config/dconf:ro",
"--filesystem=xdg-download",
"--filesystem=xdg-pictures",
"--filesystem=xdg-run/dconf",
"--share=ipc",
"--share=network",
"--device=all",
"--socket=wayland",
"--socket=x11",
"--talk-name=ca.desrt.dconf",
"--talk-name=org.freedesktop.FileManager1",
"--talk-name=org.gnome.SettingsDaemon",
"--talk-name=org.gtk.vfs",
"--talk-name=org.gtk.vfs.*"
],
"cleanup" : [
"/include",
"/lib/pkconfig",
"/share/pkgconfig",
"/share/gtk-doc",
"/share/man",
"/share/vala",
"/lib/girepository",
"*.la",
"*.a"
],
"modules" : [
{
"name" : "gssdp",
"buildsystem": "meson",
"sources" : [
{
"type" : "git",
"url" : "https://gitlab.gnome.org/GNOME/gssdp.git/",
"branch" : "master"
}
]
},
{
"name" : "gupnp",
"buildsystem": "meson",
"sources" : [
{
"type" : "git",
"url" : "https://gitlab.gnome.org/GNOME/gupnp.git/",
"branch" : "master"
}
]
},
{
"name" : "gupnp-av",
"buildsystem": "meson",
"sources" : [
{
"type" : "git",
"url" : "https://gitlab.gnome.org/GNOME/gupnp-av.git/",
"branch" : "master"
}
]
},
{
"name" : "gupnp-dlna",
"buildsystem": "autotools",
"config-opts" : [
"--disable-Werror"
],
"sources" : [
{
"type" : "git",
"url" : "https://gitlab.gnome.org/GNOME/gupnp-dlna.git/",
"branch" : "master"
}
]
},
{
"name" : "libgee",
"sources" : [
{
"type" : "archive",
"url" : "https://download.gnome.org/sources/libgee/0.20/libgee-0.20.1.tar.xz",
"sha256" : "bb2802d29a518e8c6d2992884691f06ccfcc25792a5686178575c7111fea4630"
}
],
"make-install-args": [
"girdir=/app/share/gir-1.0",
"typelibdir=/app/lib/girepository-1.0"
],
"config-opts" : [
"--disable-docs"
]
},
{
"name" : "libmediaart",
"sources" : [
{
"type" : "archive",
"url" : "https://download.gnome.org/sources/libmediaart/1.9/libmediaart-1.9.4.tar.xz",
"sha256" : "a57be017257e4815389afe4f58fdacb6a50e74fd185452b23a652ee56b04813d"
}
],
"config-opts" : [
"--disable-docs"
]
},
{
"name" : "rygel",
"buildsystem" : "meson",
"config-opts" : [
"-Dplugins=['external', 'gst-launch', 'lms', 'media-export', 'mpris', 'playbin', 'ruih']"
],
"sources" : [
{
"type" : "git",
"url" : "https://gitlab.gnome.org/GNOME/rygel.git/",
"branch" : "master"
}
]
}
]
}
if UNINSTALLED
shareddir = $(abs_top_builddir)/data
sysconfigdir = $(shareddir)
desktopdir = $(shareddir)
plugindir = $(abs_top_builddir)/src/plugins
enginedir = $(abs_top_builddir)/src/media-engines
icondir = $(shareddir)/icons/32x32
presetdir = $(shareddir)/presets
install: all-am
@echo "You called configure with --enable-uninstalled. Cannot install"
else
shareddir = $(datadir)/rygel
sysconfigdir = $(sysconfdir)
desktopdir = $(datadir)/applications
plugindir = @RYGEL_PLUGIN_DIR@
enginedir = @RYGEL_MEDIA_ENGINE_DIR@
icondir = $(datadir)/icons/hicolor/32x32/apps
presetdir = $(shareddir)/presets
endif
smallicondir = $(shareddir)/icons/48x48
bigicondir = $(shareddir)/icons/120x120
librygelcoredir = $(abs_top_srcdir)/src/librygel-core
librygelserverdir = $(abs_top_srcdir)/src/librygel-server
librygelrendererdir = $(abs_top_srcdir)/src/librygel-renderer
librygelruihdir = $(abs_top_srcdir)/src/librygel-ruih
MAINTAINERCLEANFILES = Makefile.in
RYGEL_COMMON_DEFINES_CFLAGS = \
-DDATA_DIR='"$(shareddir)"' \
-include config.h
RYGEL_COMMON_LIBRYGEL_CORE_VALAFLAGS = \
--vapidir=$(librygelcoredir) \
--pkg rygel-core-2.6
RYGEL_COMMON_LIBRYGEL_CORE_CFLAGS = \
$(RYGEL_COMMON_DEFINES_CFLAGS) \
-I$(top_builddir)/src/librygel-core \
-I$(top_srcdir)/src/librygel-core
RYGEL_COMMON_LIBRYGEL_CORE_LIBS = \
$(top_builddir)/src/librygel-core/librygel-core-2.6.la
RYGEL_COMMON_LIBRYGEL_DB_VALAFLAGS = \
--vapidir=$(abs_top_srcdir)/src/librygel-db \
--pkg rygel-db-2.6 \
$(RYGEL_COMMON_LIBRYGEL_CORE_VALAFLAGS)
RYGEL_COMMON_LIBRYGEL_DB_CFLAGS = \
$(RYGEL_COMMON_DEFINES_CFLAGS) \
-I$(top_builddir)/src/librygel-db \
-I$(top_srcdir)/src/librygel-db
RYGEL_COMMON_LIBRYGEL_DB_LIBS = \
$(RYGEL_COMMON_LIBRYGEL_CORE_LIBS) \
$(top_builddir)/src/librygel-db/librygel-db-2.6.la
RYGEL_COMMON_LIBRYGEL_RENDERER_VALAFLAGS = \
--vapidir=$(abs_top_srcdir)/src/librygel-renderer \
--pkg rygel-renderer-2.6 \
$(RYGEL_COMMON_LIBRYGEL_CORE_VALAFLAGS)
RYGEL_COMMON_LIBRYGEL_RENDERER_CFLAGS = \
$(RYGEL_COMMON_LIBRYGEL_CORE_CFLAGS) \
-I$(top_builddir)/src/librygel-renderer \
-I$(top_srcdir)/src/librygel-renderer
RYGEL_COMMON_LIBRYGEL_RENDERER_LIBS = \
$(RYGEL_COMMON_LIBRYGEL_CORE_LIBS) \
$(top_builddir)/src/librygel-renderer/librygel-renderer-2.6.la
RYGEL_COMMON_LIBRYGEL_RENDERER_GST_VALAFLAGS = \
--vapidir=$(abs_top_srcdir)/src/librygel-renderer-gst \
--pkg rygel-renderer-gst-2.6 \
--enable-experimental \
$(RYGEL_COMMON_LIBRYGEL_RENDERER_VALAFLAGS)
RYGEL_COMMON_LIBRYGEL_RENDERER_GST_CFLAGS = \
$(RYGEL_COMMON_LIBRYGEL_RENDERER_CFLAGS) \
-I$(top_builddir)/src/librygel-renderer-gst \
-I$(top_srcdir)/src/librygel-renderer-gst
RYGEL_COMMON_LIBRYGEL_RENDERER_GST_LIBS = \
$(RYGEL_COMMON_LIBRYGEL_RENDERER_LIBS) \
$(top_builddir)/src/librygel-renderer-gst/librygel-renderer-gst-2.6.la
RYGEL_COMMON_LIBRYGEL_SERVER_VALAFLAGS = \
--vapidir=$(top_builddir)/src/librygel-server \
--pkg rygel-server-2.6 \
$(RYGEL_COMMON_LIBRYGEL_CORE_VALAFLAGS)
RYGEL_COMMON_LIBRYGEL_SERVER_CFLAGS = \
$(RYGEL_COMMON_LIBRYGEL_CORE_CFLAGS) \
-I$(top_builddir)/src/librygel-server \
-I$(top_srcdir)/src/librygel-server
RYGEL_COMMON_LIBRYGEL_SERVER_LIBS = \
$(RYGEL_COMMON_LIBRYGEL_CORE_LIBS) \
$(top_builddir)/src/librygel-server/librygel-server-2.6.la
RYGEL_COMMON_LIBRYGEL_RUIH_VALAFLAGS = \
--vapidir=$(abs_top_srcdir)/src/librygel-ruih \
--pkg rygel-ruih-2.0 \
$(RYGEL_COMMON_LIBRYGEL_CORE_VALAFLAGS)
RYGEL_COMMON_LIBRYGEL_RUIH_CFLAGS = \
$(RYGEL_COMMON_LIBRYGEL_CORE_CFLAGS) \
-I$(top_builddir)/src/librygel-ruih \
-I$(top_srcdir)/src/librygel-ruih
RYGEL_COMMON_LIBRYGEL_RUIH_LIBS = \
$(RYGEL_COMMON_LIBRYGEL_CORE_LIBS) \
$(top_builddir)/src/librygel-ruih/librygel-ruih-2.0.la
RYGEL_COMMON_BUILD_CONFIG_VALAFLAGS = \
--vapidir=$(librygelcoredir) \
--pkg rygel-build-config
# Note: This must always be the last one in *_VALAFLAGS,
# because the -g needs to be at the end of VALAFLAGS to not break make dist.
RYGEL_COMMON_VALAFLAGS = \
$(RYGEL_COMMON_BUILD_CONFIG_VALAFLAGS) \
$(RYGEL_COMMON_VALAFLAGS_PKG) \
$(COVERAGE_VALAFLAGS) \
$(RYGEL_DEBUG_VALAFLAGS)
vala-clean:
rm -f `find . -name "*.stamp"`
This diff is collapsed.
include $(top_srcdir)/common.am
SUBDIRS = xml icons
sysconf_DATA = rygel.conf
if BUILD_UI
dist_shared_DATA = rygel-preferences.ui
endif
# DBus service file
dbusservicedir = $(datadir)/dbus-1/services
dbusservice_in_files = org.gnome.Rygel1.service.in
dbusservice_DATA = $(dbusservice_in_files:.service.in=.service)
# Rule to make the service file with bindir expanded
$(dbusservice_DATA): $(dbusservice_in_files) Makefile
@sed -e "s|\@bindir\@|$(bindir)|" $< > $@
# systemd service file
systemdservicedir = $(systemduserunitdir)
systemdservice_in_files = rygel.service.in
systemdservice_DATA = rygel.service
# Rule to make the systemd service file with bindir expanded
$(systemdservice_DATA): rygel.service.in Makefile
$(AM_V_GEN) $(SED) -e "s|\@bindir\@|$(bindir)|" $< > $@
# Rule to create the .desktop files
desktop_in_files = $(srcdir)/rygel.desktop.in $(srcdir)/rygel-preferences.desktop.in
desktop_DATA = rygel.desktop rygel-preferences.desktop
%.desktop.in : %.desktop.in.in
$(AM_V_GEN) sed -e 's|@VERSION[@]|$(VERSION)|g' $< > $@
%.desktop : %.desktop.in
$(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
preset_DATA = $(srcdir)/presets/avenc_aac.prs \
$(srcdir)/presets/avenc_mp2.prs \
$(srcdir)/presets/avenc_mpeg2video.prs \
$(srcdir)/presets/avenc_wmav1.prs \
$(srcdir)/presets/avenc_wmv1.prs \
$(srcdir)/presets/GstFaac.prs \
$(srcdir)/presets/GstLameMP3Enc.prs \
$(srcdir)/presets/GstMP4Mux.prs \
$(srcdir)/presets/GstTwoLame.prs \
$(srcdir)/presets/GstX264Enc.prs
CLEANFILES = $(dbusservice_DATA) $(desktop_DATA) $(systemdservice_DATA)
EXTRA_DIST = $(dbusservice_in_files) \
$(desktop_in_files) \
rygel.desktop.in.in rygel-preferences.desktop.in.in \
$(sysconf_DATA) \
$(pixmaps_DATA) \
$(preset_DATA) \
$(systemdservice_in_files)
dlnaicondir = $(datadir)/rygel/icons/120x120
dlnaicon_DATA = rygel.png rygel.jpg
EXTRA_DIST = $(dlnaicon_DATA)
icondir = $(datadir)/icons/hicolor/128x128/apps
icon_DATA = rygel.png
EXTRA_DIST = $(icon_DATA)
icondir = $(datadir)/icons/hicolor/32x32/apps
icon_DATA = rygel.png
EXTRA_DIST = $(icon_DATA)
icondir = $(datadir)/icons/hicolor/48x48/apps
icon_DATA = rygel.png
dlnaicondir = $(datadir)/rygel/icons/48x48
dlnaicon_DATA = rygel.jpg rygel.png
EXTRA_DIST = $(dlnaicon_DATA)
SUBDIRS = 128x128 120x120 48x48 32x32 scalable
icondir = $(datadir)/icons/hicolor/scalable/apps
icon_DATA = rygel-full.svg rygel.svg
EXTRA_DIST = $(icon_DATA)