aboutsummaryrefslogtreecommitdiff
path: root/multimedia/cheese
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2014-11-19 11:49:04 +0000
committerKoop Mast <kwm@FreeBSD.org>2014-11-19 11:49:04 +0000
commitaf3811313c14afb06fe2d1f6158e3e431bbfc2b6 (patch)
tree1ad98a4e8faecd0e2fa9ac2c18e65da4cf89c236 /multimedia/cheese
parentc7d4d6bd7ef6ff4955eab2863a5c6e2feb14b839 (diff)
downloadports-af3811313c14afb06fe2d1f6158e3e431bbfc2b6.tar.gz
ports-af3811313c14afb06fe2d1f6158e3e431bbfc2b6.zip
The FreeBSD GNOME team proudly presents GNOME 3.14 and Cinnamon 2.2.
Gnome 3.14.1 and Cinnamon 2.2.16 are supported on FreeBSD 9.3-RELEASE and up. This commit removes the old GNOME 2 desktop, bindings and some ports that can't be compiled. A few ports where updated to more recent versions to allow them to compile with this update. Apart from updating ports to newer versions GDM is more integrated with gnome-shell now, and handles several things for the GNOME desktop such as screen locking. If you want to use GNOME 3 via startx, you will have to add your own lock screen/screensaver. For example xscreensaver can be used for sessions started without GDM. Shell Extensions can be installed via https://extensions.gnome.org/ , we have ported a few that can't be installed via this way. The old gnome-utils and gnome-games ports where split up into single ports and where converted to meta-ports. gnome-terminal requires a UTF-8 locale to run, gdm handles this already, but if you use startx you need to do this yourself. Upgrade instructions: Delete the old and conflicting packages: # pkg delete clutter gnome-utils gnome-panel gnome-keyring vala-vapigen \ guile gcalctool gnome-media libgnomekbd # pkg delete gnome-screensaver gnome-applets bug-buddy evolution-exchange \ evolution-webcal gnome-system-tools seahorse-plugins gnome-control-center For package users the following lines will be enough: # pkg upgrade # pkg install gnome3 For ports users should do the following: # portmaster -a # portmaster x11/gnome3 We are currently aware of two issues. The first issue is a bug in the file monitoring code in the glib20 port. This bug causes glib programs to crash when files in a monitored directory are added or removed. Upstream is aware of the problem, but since the problem is quite complex there is no solution yet. This problem isn't restricted to BSD. The second issue is that on certain video cards totem will display a purple/pink overlay on the video. It not clear yet where the issues comes from. Major thanks goes to Gustau Perez for being a driving force behind getting GNOME 3 up to speed again. Also thanks to Antoine Brodin for running the exp-runs. This update was also made possible by: Joe Maloney Kris Moore Beeblebrox Ryan Lortie Antoine Jacoutot and everyone I missed
Notes
Notes: svn path=/head/; revision=372768
Diffstat (limited to 'multimedia/cheese')
-rw-r--r--multimedia/cheese/Makefile38
-rw-r--r--multimedia/cheese/distinfo4
-rw-r--r--multimedia/cheese/files/patch-config.h.in12
-rw-r--r--multimedia/cheese/files/patch-configure214
-rw-r--r--multimedia/cheese/files/patch-libcheese_cheese-camera-device-monitor.c680
-rw-r--r--multimedia/cheese/pkg-plist701
6 files changed, 724 insertions, 925 deletions
diff --git a/multimedia/cheese/Makefile b/multimedia/cheese/Makefile
index fcb5f41308e6..dc520073136e 100644
--- a/multimedia/cheese/Makefile
+++ b/multimedia/cheese/Makefile
@@ -1,36 +1,40 @@
-# Created by: FreeBSD GNOME Team <gnome@FreeBSD.org>
+# Created by: FreeBSD GNOME Team <gnome@freebsd.org>
# $FreeBSD$
-# $MCom: ports/multimedia/cheese/Makefile,v 1.63 2010/09/28 08:21:02 kwm Exp $
+# $MCom: ports/trunk/multimedia/cheese/Makefile 20000 2014-10-20 11:21:21Z gusi $
PORTNAME= cheese
-PORTVERSION= 2.32.0
-PORTREVISION= 5
+PORTVERSION= 3.14.1
CATEGORIES= multimedia gnome
MASTER_SITES= GNOME
-DIST_SUBDIR= gnome2
+DIST_SUBDIR= gnome3
MAINTAINER= gnome@FreeBSD.org
COMMENT= Photobooth-inspired app for taking pictures and videos from webcam
-BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev.h:${PORTSDIR}/multimedia/v4l_compat
-LIB_DEPENDS= libcanberra-gtk.so:${PORTSDIR}/audio/libcanberra \
- libhal.so:${PORTSDIR}/sysutils/hal
+BUILD_DEPENDS= v4l_compat>=0:${PORTSDIR}/multimedia/v4l_compat \
+ gnome-video-effects>=0:${PORTSDIR}/graphics/gnome-video-effects \
+ vala>=0.14.0:${PORTSDIR}/lang/vala \
+ itstool:${PORTSDIR}/textproc/itstool
+LIB_DEPENDS= libcanberra-gtk3.so:${PORTSDIR}/audio/libcanberra-gtk3 \
+ libhal.so:${PORTSDIR}/sysutils/hal \
+ libclutter-gtk-1.0.so:${PORTSDIR}/graphics/clutter-gtk3 \
+ libclutter-gst-2.0.so:${PORTSDIR}/multimedia/clutter-gst
+RUN_DEPENDS= gnome-video-effects>=0:${PORTSDIR}/graphics/gnome-video-effects
-USES= gettext gmake libtool pathfix pkgconfig tar:bzip2
-USE_XORG= xxf86vm
-USE_GNOME= gnomeprefix intlhack evolutiondataserver librsvg2 \
- gnomedocutils gnomedesktop
-USE_GSTREAMER= gconf good ogg theora v4l2 vorbis
-INSTALLS_OMF= yes
-INSTALL_TARGET= install-strip
+USES= gettext gmake libtool pathfix pkgconfig tar:xz
+USE_GNOME= gnomeprefix intlhack evolutiondataserver3 librsvg2 \
+ gnomedesktop3 libxml2:build introspection:build
+USE_XORG= xxf86vm x11
+USE_GSTREAMER1= bad good jpeg ogg theora v4l2 vpx
INSTALLS_ICONS= yes
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
-CPPFLAGS+= -I${LOCALBASE}/include
+CPPFLAGS+= -I${LOCALBASE}/include -Wno-format-nonliteral
LDFLAGS+= -L${LOCALBASE}/lib
+INSTALL_TARGET= install-strip
DOCS= AUTHORS COPYING ChangeLog NEWS README
-GCONF_SCHEMAS= cheese.schemas
+GLIB_SCHEMAS= org.gnome.Cheese.gschema.xml
post-install:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
diff --git a/multimedia/cheese/distinfo b/multimedia/cheese/distinfo
index 9be290828e84..67d2de7da1e7 100644
--- a/multimedia/cheese/distinfo
+++ b/multimedia/cheese/distinfo
@@ -1,2 +1,2 @@
-SHA256 (gnome2/cheese-2.32.0.tar.bz2) = 8debc47113d9889247f411d256a8eca0d8da49e5ab5909c200923945b8d5e087
-SIZE (gnome2/cheese-2.32.0.tar.bz2) = 5303805
+SHA256 (gnome3/cheese-3.14.1.tar.xz) = cb8d27c24daf9ceaff4ab209471d09f53e2a81946ed710133533080d2a91c20a
+SIZE (gnome3/cheese-3.14.1.tar.xz) = 1804208
diff --git a/multimedia/cheese/files/patch-config.h.in b/multimedia/cheese/files/patch-config.h.in
new file mode 100644
index 000000000000..2ca7d26631f4
--- /dev/null
+++ b/multimedia/cheese/files/patch-config.h.in
@@ -0,0 +1,12 @@
+--- config.h.in.orig 2014-10-20 08:03:47.398635920 +0200
++++ config.h.in 2014-10-20 08:03:55.769637288 +0200
+@@ -6,6 +6,9 @@
+ /* Define to 1 if you have the <dlfcn.h> header file. */
+ #undef HAVE_DLFCN_H
+
++/* Enable hal support */
++#undef HAVE_HAL
++
+ /* Define to 1 if you have the <inttypes.h> header file. */
+ #undef HAVE_INTTYPES_H
+
diff --git a/multimedia/cheese/files/patch-configure b/multimedia/cheese/files/patch-configure
deleted file mode 100644
index 8befb947b861..000000000000
--- a/multimedia/cheese/files/patch-configure
+++ /dev/null
@@ -1,214 +0,0 @@
---- configure.orig 2010-04-27 17:32:36.000000000 +0200
-+++ configure 2010-04-27 17:32:36.000000000 +0200
-@@ -756,8 +756,8 @@ HAVE_XTEST_FALSE
- HAVE_XTEST_TRUE
- XTEST_LIBS
- OS_LINUX
--UDEV_LIBS
--UDEV_CFLAGS
-+HAL_LIBS
-+HAL_CFLAGS
- HAVE_GNOME_DOC_UTILS_FALSE
- HAVE_GNOME_DOC_UTILS_TRUE
- DISTCHECK_CONFIGURE_FLAGS
-@@ -975,8 +975,8 @@ LIBS
- CPPFLAGS
- CPP
- PKG_CONFIG
--UDEV_CFLAGS
--UDEV_LIBS
-+HAL_CFLAGS
-+HAL_LIBS
- CHEESE_CFLAGS
- CHEESE_LIBS'
-
-@@ -1646,8 +1646,8 @@ Some influential environment variables:
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
- PKG_CONFIG path to pkg-config utility
-- UDEV_CFLAGS C compiler flags for UDEV, overriding pkg-config
-- UDEV_LIBS linker flags for UDEV, overriding pkg-config
-+ HAL_CFLAGS C compiler flags for HAL, overriding pkg-config
-+ HAL_LIBS linker flags for HAL, overriding pkg-config
- CHEESE_CFLAGS
- C compiler flags for CHEESE, overriding pkg-config
- CHEESE_LIBS linker flags for CHEESE, overriding pkg-config
-@@ -13843,38 +13843,38 @@ LIBRSVG_REQUIRED=2.18.0
- # Check for udev
- #*******************************************************************************
-
--UDEV_PKG=
-+HAL_PKG=
-
- pkg_failed=no
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for UDEV" >&5
--$as_echo_n "checking for UDEV... " >&6; }
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for HAL" >&5
-+$as_echo_n "checking for HAL... " >&6; }
-
--if test -n "$UDEV_CFLAGS"; then
-- pkg_cv_UDEV_CFLAGS="$UDEV_CFLAGS"
-+if test -n "$HAL_CFLAGS"; then
-+ pkg_cv_HAL_CFLAGS="$HAL_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
-- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gudev-1.0\""; } >&5
-- ($PKG_CONFIG --exists --print-errors "gudev-1.0") 2>&5
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"hal\""; } >&5
-+ ($PKG_CONFIG --exists --print-errors "hal") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-- pkg_cv_UDEV_CFLAGS=`$PKG_CONFIG --cflags "gudev-1.0" 2>/dev/null`
-+ pkg_cv_HAL_CFLAGS=`$PKG_CONFIG --cflags "hal" 2>/dev/null`
- else
- pkg_failed=yes
- fi
- else
- pkg_failed=untried
- fi
--if test -n "$UDEV_LIBS"; then
-- pkg_cv_UDEV_LIBS="$UDEV_LIBS"
-+if test -n "$HAL_LIBS"; then
-+ pkg_cv_HAL_LIBS="$HAL_LIBS"
- elif test -n "$PKG_CONFIG"; then
- if test -n "$PKG_CONFIG" && \
-- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gudev-1.0\""; } >&5
-- ($PKG_CONFIG --exists --print-errors "gudev-1.0") 2>&5
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"hal\""; } >&5
-+ ($PKG_CONFIG --exists --print-errors "hal") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-- pkg_cv_UDEV_LIBS=`$PKG_CONFIG --libs "gudev-1.0" 2>/dev/null`
-+ pkg_cv_HAL_LIBS=`$PKG_CONFIG --libs "hal" 2>/dev/null`
- else
- pkg_failed=yes
- fi
-@@ -13892,27 +13892,27 @@ else
- _pkg_short_errors_supported=no
- fi
- if test $_pkg_short_errors_supported = yes; then
-- UDEV_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gudev-1.0" 2>&1`
-+ HAL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "hal" 2>&1`
- else
-- UDEV_PKG_ERRORS=`$PKG_CONFIG --print-errors "gudev-1.0" 2>&1`
-+ HAL_PKG_ERRORS=`$PKG_CONFIG --print-errors "hal" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
-- echo "$UDEV_PKG_ERRORS" >&5
-+ echo "$HAL_PKG_ERRORS" >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
-- UDEV_PKG=
-+ HAL_PKG=
- elif test $pkg_failed = untried; then
-- UDEV_PKG=
-+ HAL_PKG=
- else
-- UDEV_CFLAGS=$pkg_cv_UDEV_CFLAGS
-- UDEV_LIBS=$pkg_cv_UDEV_LIBS
-+ HAL_CFLAGS=$pkg_cv_HAL_CFLAGS
-+ HAL_LIBS=$pkg_cv_HAL_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
-
--$as_echo "#define HAVE_UDEV 1" >>confdefs.h
-+$as_echo "#define HAVE_HAL 1" >>confdefs.h
-
-- UDEV_PKG=gudev-1.0
-+ HAL_PKG=hal
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking operating system" >&5
-@@ -13925,7 +13925,7 @@ $as_echo "#define OS_LINUX /**/" >>confd
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Linux" >&5
- $as_echo "Linux" >&6; }
-- if test x$UDEV_PKG = "x" ; then
-+ if test x$HAL_PKG = "x" ; then
- as_fn_error "libgudev is required under Linux and not installed" "$LINENO" 5
- fi
- ;;
-@@ -14034,7 +14034,7 @@ if test -n "$CHEESE_CFLAGS"; then
- dbus-glib-1 >= \$DBUS_GLIB_REQUIRED \\
- pangocairo >= \$PANGOCAIRO_REQUIRED \\
- librsvg-2.0 >= \$LIBRSVG_REQUIRED
-- libcanberra-gtk \$UDEV_PKG\""; } >&5
-+ libcanberra-gtk \$HAL_PKG\""; } >&5
- ($PKG_CONFIG --exists --print-errors "\
- glib-2.0 >= $GLIB_REQUIRED \
- gobject-2.0 >= $GOBJECT_REQUIRED \
-@@ -14050,7 +14050,7 @@ if test -n "$CHEESE_CFLAGS"; then
- dbus-glib-1 >= $DBUS_GLIB_REQUIRED \
- pangocairo >= $PANGOCAIRO_REQUIRED \
- librsvg-2.0 >= $LIBRSVG_REQUIRED
-- libcanberra-gtk $UDEV_PKG") 2>&5
-+ libcanberra-gtk $HAL_PKG") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-@@ -14069,7 +14069,7 @@ if test -n "$CHEESE_CFLAGS"; then
- dbus-glib-1 >= $DBUS_GLIB_REQUIRED \
- pangocairo >= $PANGOCAIRO_REQUIRED \
- librsvg-2.0 >= $LIBRSVG_REQUIRED
-- libcanberra-gtk $UDEV_PKG" 2>/dev/null`
-+ libcanberra-gtk $HAL_PKG" 2>/dev/null`
- else
- pkg_failed=yes
- fi
-@@ -14095,7 +14095,7 @@ if test -n "$CHEESE_LIBS"; then
- dbus-glib-1 >= \$DBUS_GLIB_REQUIRED \\
- pangocairo >= \$PANGOCAIRO_REQUIRED \\
- librsvg-2.0 >= \$LIBRSVG_REQUIRED
-- libcanberra-gtk \$UDEV_PKG\""; } >&5
-+ libcanberra-gtk \$HAL_PKG\""; } >&5
- ($PKG_CONFIG --exists --print-errors "\
- glib-2.0 >= $GLIB_REQUIRED \
- gobject-2.0 >= $GOBJECT_REQUIRED \
-@@ -14111,7 +14111,7 @@ if test -n "$CHEESE_LIBS"; then
- dbus-glib-1 >= $DBUS_GLIB_REQUIRED \
- pangocairo >= $PANGOCAIRO_REQUIRED \
- librsvg-2.0 >= $LIBRSVG_REQUIRED
-- libcanberra-gtk $UDEV_PKG") 2>&5
-+ libcanberra-gtk $HAL_PKG") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-@@ -14130,7 +14130,7 @@ if test -n "$CHEESE_LIBS"; then
- dbus-glib-1 >= $DBUS_GLIB_REQUIRED \
- pangocairo >= $PANGOCAIRO_REQUIRED \
- librsvg-2.0 >= $LIBRSVG_REQUIRED
-- libcanberra-gtk $UDEV_PKG" 2>/dev/null`
-+ libcanberra-gtk $HAL_PKG" 2>/dev/null`
- else
- pkg_failed=yes
- fi
-@@ -14163,7 +14163,7 @@ fi
- dbus-glib-1 >= $DBUS_GLIB_REQUIRED \
- pangocairo >= $PANGOCAIRO_REQUIRED \
- librsvg-2.0 >= $LIBRSVG_REQUIRED
-- libcanberra-gtk $UDEV_PKG" 2>&1`
-+ libcanberra-gtk $HAL_PKG" 2>&1`
- else
- CHEESE_PKG_ERRORS=`$PKG_CONFIG --print-errors "\
- glib-2.0 >= $GLIB_REQUIRED \
-@@ -14180,7 +14180,7 @@ fi
- dbus-glib-1 >= $DBUS_GLIB_REQUIRED \
- pangocairo >= $PANGOCAIRO_REQUIRED \
- librsvg-2.0 >= $LIBRSVG_REQUIRED
-- libcanberra-gtk $UDEV_PKG" 2>&1`
-+ libcanberra-gtk $HAL_PKG" 2>&1`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$CHEESE_PKG_ERRORS" >&5
-@@ -14200,7 +14200,7 @@ fi
- dbus-glib-1 >= $DBUS_GLIB_REQUIRED \
- pangocairo >= $PANGOCAIRO_REQUIRED \
- librsvg-2.0 >= $LIBRSVG_REQUIRED
-- libcanberra-gtk $UDEV_PKG) were not met:
-+ libcanberra-gtk $HAL_PKG) were not met:
-
- $CHEESE_PKG_ERRORS
-
diff --git a/multimedia/cheese/files/patch-libcheese_cheese-camera-device-monitor.c b/multimedia/cheese/files/patch-libcheese_cheese-camera-device-monitor.c
index 628066e47775..995cb5d50cbb 100644
--- a/multimedia/cheese/files/patch-libcheese_cheese-camera-device-monitor.c
+++ b/multimedia/cheese/files/patch-libcheese_cheese-camera-device-monitor.c
@@ -1,438 +1,290 @@
---- libcheese/cheese-camera-device-monitor.c.orig 2010-09-27 09:54:58.000000000 +0000
-+++ libcheese/cheese-camera-device-monitor.c 2013-02-08 19:52:15.000000000 +0000
-@@ -24,24 +24,11 @@
- #endif
-
- #include <glib-object.h>
-+#include <glib/gstdio.h>
- #include <dbus/dbus-glib-lowlevel.h>
-+#include <libhal.h>
- #include <string.h>
--
--#ifdef HAVE_UDEV
-- #define G_UDEV_API_IS_SUBJECT_TO_CHANGE 1
-- #include <gudev/gudev.h>
--#else
-- #include <fcntl.h>
-- #include <unistd.h>
-- #include <sys/ioctl.h>
-- #if USE_SYS_VIDEOIO_H > 0
-- #include <sys/types.h>
-- #include <sys/videoio.h>
-- #elif defined (__sun)
-- #include <sys/types.h>
-- #include <sys/videodev2.h>
-- #endif /* USE_SYS_VIDEOIO_H */
--#endif
-+#include <unistd.h>
-
- #include "cheese-camera-device-monitor.h"
- #include "cheese-marshal.h"
-@@ -54,9 +41,9 @@
- * #CheeseCameraDeviceMonitor provides a basic interface for
- * video4linux device enumeration and hotplugging.
- *
-- * It uses either GUdev or some platform specific code to list video
-+ * It uses either HAL or some platform specific code to list video
- * devices. It is also capable (right now in linux only, with the
-- * udev backend) to monitor device plugging and emit a
-+ * hal backend) to monitor device plugging and emit a
- * CheeseCameraDeviceMonitor::added or
- * CheeseCameraDeviceMonitor::removed signal when an event happens.
- */
-@@ -80,11 +67,9 @@ enum CheeseCameraDeviceMonitorError
-
- typedef struct
- {
--#ifdef HAVE_UDEV
-- GUdevClient *client;
--#else
-+ DBusConnection *connection;
-+ LibHalContext *hal_ctx;
- guint filler;
--#endif /* HAVE_UDEV */
- } CheeseCameraDeviceMonitorPrivate;
-
- enum
-@@ -102,111 +87,78 @@ cheese_camera_device_monitor_error_quark
- return g_quark_from_static_string ("cheese-camera-error-quark");
+--- libcheese/cheese-camera-device-monitor.c.orig 2012-08-22 21:04:40.000000000 +0200
++++ libcheese/cheese-camera-device-monitor.c 2013-09-22 23:12:35.072353163 +0200
+@@ -33,6 +33,14 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/ioctl.h>
++ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++ #include <errno.h>
++ #include <sys/param.h>
++ #include <sys/types.h>
++ #include <sys/socket.h>
++ #include <sys/un.h>
++ #include <linux/videodev.h>
++ #endif
+ #if USE_SYS_VIDEOIO_H > 0
+ #include <sys/types.h>
+ #include <sys/videoio.h>
+@@ -302,6 +310,220 @@
+ g_list_free (devices);
}
--#ifdef HAVE_UDEV
- static void
--cheese_camera_device_monitor_added (CheeseCameraDeviceMonitor *monitor,
-- GUdevDevice *udevice)
-+cheese_camera_device_monitor_handle_udi (CheeseCameraDeviceMonitor *monitor,
-+ const char *udi)
- {
-- const char *device_file;
-- const char *product_name;
-- const char *vendor;
-- const char *product;
-- const char *bus;
-- gint vendor_id = 0;
-- gint product_id = 0;
-+ CheeseCameraDeviceMonitorPrivate *priv = CHEESE_CAMERA_DEVICE_MONITOR_GET_PRIVATE (monitor);
-+ char *device_file;
-+ char *product_name;
-+ char *capstr;
- gint v4l_version = 0;
-+ DBusError error;
-
-- const gchar *devpath = g_udev_device_get_property (udevice, "DEVPATH");
-+ GST_INFO ("Checking hal device '%s'", udi);
-
-- GST_INFO ("Checking udev device '%s'", devpath);
-+ dbus_error_init (&error);
-
-- bus = g_udev_device_get_property (udevice, "ID_BUS");
-- if (g_strcmp0 (bus, "usb") == 0)
-- {
-- vendor = g_udev_device_get_property (udevice, "ID_VENDOR_ID");
-- if (vendor != NULL)
-- vendor_id = g_ascii_strtoll (vendor, NULL, 16);
-- product = g_udev_device_get_property (udevice, "ID_MODEL_ID");
-- if (product != NULL)
-- product_id = g_ascii_strtoll (product, NULL, 16);
-- if (vendor_id == 0 || product_id == 0)
-- {
-- GST_WARNING ("Error getting vendor and product id");
-- }
-- else
-- {
-- GST_INFO ("Found device %04x:%04x, getting capabilities...", vendor_id, product_id);
-- }
-- }
-- else
-+ product_name = libhal_device_get_property_string (priv->hal_ctx, udi, "info.product", &error);
-+ if (dbus_error_is_set (&error))
- {
-- GST_INFO ("Not an usb device, skipping vendor and model id retrieval");
-+ GST_WARNING ("error getting product name: %s: %s", error.name, error.message);
-+ dbus_error_free (&error);
-+ return;
- }
-
-- device_file = g_udev_device_get_device_file (udevice);
-- if (device_file == NULL)
-+ device_file = libhal_device_get_property_string (priv->hal_ctx, udi, "video4linux.device", &error);
-+ if (dbus_error_is_set (&error))
- {
-- GST_WARNING ("Error getting V4L device");
-- return;
-+ GST_WARNING ("error getting V4L device for %s: %s: %s", udi, error.name, error.message);
-+ dbus_error_free (&error);
-+ libhal_free_string (product_name);
- }
-
-- /* vbi devices support capture capability too, but cannot be used,
-- * so detect them by device name */
-- if (strstr (device_file, "vbi"))
-+ if (g_access (device_file, (R_OK | W_OK)) == -1)
- {
-- GST_INFO ("Skipping vbi device: %s", device_file);
-+ GST_WARNING ("Device %s does not have proper permissions. Permissions must be 0666", device_file);
-+ libhal_free_string (product_name);
-+ libhal_free_string (device_file);
- return;
- }
-
-- v4l_version = g_udev_device_get_property_as_int (udevice, "ID_V4L_VERSION");
-- if (v4l_version == 2 || v4l_version == 1)
-+ capstr = libhal_device_get_property_string (priv->hal_ctx, udi, "video4linux.version", &error);
-+ if (dbus_error_is_set (&error))
- {
-- const char *caps;
--
-- caps = g_udev_device_get_property (udevice, "ID_V4L_CAPABILITIES");
-- if (caps == NULL || strstr (caps, ":capture:") == NULL)
-- {
-- GST_WARNING ("Device %s seems to not have the capture capability, (radio tuner?)"
-- "Removing it from device list.", device_file);
-- return;
-- }
-- product_name = g_udev_device_get_property (udevice, "ID_V4L_PRODUCT");
-- }
-- else if (v4l_version == 0)
-- {
-- GST_ERROR ("Fix your udev installation to include v4l_id, ignoring %s", device_file);
-+ GST_WARNING ("error getting V4L version for %s: %s: %s", udi, error.name, error.message);
-+ dbus_error_free (&error);
-+ libhal_free_string (product_name);
-+ libhal_free_string (device_file);
- return;
- }
-- else
-- {
-- g_assert_not_reached ();
-- }
-+
-+ v4l_version = atoi (capstr);
-+ libhal_free_string (capstr);
-
- g_signal_emit (monitor, monitor_signals[ADDED], 0,
-- devpath,
-+ udi,
- device_file,
- product_name,
- v4l_version);
- }
-
- static void
--cheese_camera_device_monitor_removed (CheeseCameraDeviceMonitor *monitor,
-- GUdevDevice *udevice)
--{
-- g_signal_emit (monitor, monitor_signals[REMOVED], 0,
-- g_udev_device_get_property (udevice, "DEVPATH"));
--}
-+cheese_camera_device_monitor_removed (LibHalContext *ctx,
-+ const char *udi)
-+ {
-+ CheeseCameraDeviceMonitor *monitor;
-+ void *data;
-
--static void
--cheese_camera_device_monitor_uevent_cb (GUdevClient *client,
-- const gchar *action,
-- GUdevDevice *udevice,
-- CheeseCameraDeviceMonitor *monitor)
--{
-- if (g_str_equal (action, "remove"))
-- cheese_camera_device_monitor_removed (monitor, udevice);
-- else if (g_str_equal (action, "add"))
-- cheese_camera_device_monitor_added (monitor, udevice);
-+ data = libhal_ctx_get_user_data (ctx);
-+ g_assert (data);
-+
-+ monitor = CHEESE_CAMERA_DEVICE_MONITOR (data);
-+
-+ g_signal_emit (monitor, monitor_signals[REMOVED], 0, udi);
- }
-
- /**
-@@ -222,115 +174,85 @@ void
- cheese_camera_device_monitor_coldplug (CheeseCameraDeviceMonitor *monitor)
- {
- CheeseCameraDeviceMonitorPrivate *priv = CHEESE_CAMERA_DEVICE_MONITOR_GET_PRIVATE (monitor);
-- GList *devices, *l;
-- gint i = 0;
-+ int i;
-+ int num_udis = 0;
-+ char **udis;
-+ DBusError error;
-
-- if (priv->client == NULL)
-- return;
-+ GST_INFO ("Probing devices with HAL...");
-
-- GST_INFO ("Probing devices with udev...");
-+ if (priv->hal_ctx == NULL)
-+ return;
-
-- devices = g_udev_client_query_by_subsystem (priv->client, "video4linux");
-+ dbus_error_init (&error);
-
-- /* Initialize camera structures */
-- for (l = devices; l != NULL; l = l->next)
-+ udis = libhal_find_device_by_capability (priv->hal_ctx, "video4linux", &num_udis, &error);
-+
-+ if (dbus_error_is_set (&error))
- {
-- cheese_camera_device_monitor_added (monitor, l->data);
-- g_object_unref (l->data);
-- i++;
-+ GST_WARNING ("libhal_find_device_by_capability: %s: %s", error.name, error.message);
-+ dbus_error_free (&error);
-+ return;
- }
-- g_list_free (devices);
++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++static void cheese_camera_device_monitor_init_event (CheeseCameraDeviceMonitor *monitor);
++static gboolean cheese_camera_device_monitor_is_camera (const char *devname);
++
++static gboolean cheese_camera_device_monitor_event_inited = FALSE;
+
-+ /* Initialize camera structures */
-+ for (i = 0; i < num_udis; i++)
-+ cheese_camera_device_monitor_handle_udi (monitor, udis[i]);
-+ libhal_free_string_array (udis);
-
- if (i == 0) GST_WARNING ("No device found");
- }
-
--#else /* HAVE_UDEV */
--void
--cheese_camera_device_monitor_coldplug (CheeseCameraDeviceMonitor *monitor)
-+static void
-+cheese_camera_device_monitor_added (LibHalContext *ctx, const char *udi)
- {
-- #if 0
-- CheeseCameraDeviceMonitorPrivate *priv = CHEESE_CAMERA_DEVICE_MONITOR_GET_PRIVATE (monitor);
-- struct v4l2_capability v2cap;
-- struct video_capability v1cap;
-- int fd, ok;
--
-- if ((fd = open (device_path, O_RDONLY | O_NONBLOCK)) < 0)
-- {
-- g_warning ("Failed to open %s: %s", device_path, strerror (errno));
-- return;
-- }
-- ok = ioctl (fd, VIDIOC_QUERYCAP, &v2cap);
-- if (ok < 0)
-- {
-- ok = ioctl (fd, VIDIOCGCAP, &v1cap);
-- if (ok < 0)
-- {
-- g_warning ("Error while probing v4l capabilities for %s: %s",
-- device_path, strerror (errno));
-- close (fd);
-- return;
-- }
-- g_print ("Detected v4l device: %s\n", v1cap.name);
-- g_print ("Device type: %d\n", v1cap.type);
-- gstreamer_src = "v4lsrc";
-- product_name = v1cap.name;
-- }
-- else
-- {
-- guint cap = v2cap.capabilities;
-- g_print ("Detected v4l2 device: %s\n", v2cap.card);
-- g_print ("Driver: %s, version: %d\n", v2cap.driver, v2cap.version);
--
-- /* g_print ("Bus info: %s\n", v2cap.bus_info); */ /* Doesn't seem anything useful */
-- g_print ("Capabilities: 0x%08X\n", v2cap.capabilities);
-- if (!(cap & V4L2_CAP_VIDEO_CAPTURE))
-- {
-- g_print ("Device %s seems to not have the capture capability, (radio tuner?)\n"
-- "Removing it from device list.\n", device_path);
-- close (fd);
-- return;
-- }
-- gstreamer_src = "v4l2src";
-- product_name = (char *) v2cap.card;
-- }
-- close (fd);
-+ CheeseCameraDeviceMonitor *monitor;
-+ char **caps;
-+ guint i;
-+ void *data;
-
-- GList *devices, *l;
-+ data = libhal_ctx_get_user_data (ctx);
-+ g_assert (data);
-
-- g_print ("Probing devices with udev...\n");
-+ monitor = CHEESE_CAMERA_DEVICE_MONITOR (data);
-
-- if (priv->client == NULL)
-+ caps = libhal_device_get_property_strlist (ctx, udi, "info.capabilities", NULL);
-+ if (caps == NULL)
- return;
-
-- devices = g_udev_client_query_by_subsystem (priv->client, "video4linux");
--
-- /* Initialize camera structures */
-- for (l = devices; l != NULL; l = l->next)
-+ for (i = 0; caps[i] != NULL; i++)
- {
-- cheese_camera_device_monitor_added (monitor, l->data);
-- g_object_unref (l->data);
-+ if (g_strcmp0 (caps[i], "video4linux") == 0)
-+ {
-+ cheese_camera_device_monitor_handle_udi (monitor, udi);
-+ break;
-+ }
- }
-- g_list_free (devices);
-- #endif
--}
-
--#endif /* HAVE_UDEV */
-+ libhal_free_string_array (caps);
++static gboolean
++cheese_camera_device_monitor_is_camera (const char *devname){
++ gboolean is_camera = FALSE;
++ int fd;
++ struct v4l2_capability v2cap;
++ g_return_val_if_fail (devname != NULL, FALSE);
++
++ fd = open (devname, O_RDONLY);
++ if (fd < 0)
++ {
++ GST_WARNING("Failed to query: %s", devname);
++ return FALSE;
++ }
++ else{
++ if (ioctl (fd, VIDIOC_QUERYCAP, &v2cap) == 0)
++ {
++ is_camera = ((v2cap.capabilities & 0x00000001)==1);
++ }
++ else{
++ GST_WARNING("Failed to get product name for %s: %s", devname,
++ g_strerror (errno));
++ }
++ }
++
++ close (fd);
++
++ return is_camera;
+}
-
- static void
- cheese_camera_device_monitor_finalize (GObject *object)
- {
--#ifdef HAVE_UDEV
- CheeseCameraDeviceMonitor *monitor;
-
- monitor = CHEESE_CAMERA_DEVICE_MONITOR (object);
- CheeseCameraDeviceMonitorPrivate *priv = CHEESE_CAMERA_DEVICE_MONITOR_GET_PRIVATE (monitor);
-
-- if (priv->client != NULL)
-+ if (priv->connection != NULL)
- {
-- g_object_unref (priv->client);
-- priv->client = NULL;
-+ dbus_connection_unref (priv->connection);
-+ priv->connection = NULL;
- }
--#endif /* HAVE_UDEV */
-+ if (priv->hal_ctx != NULL)
++
++static char *
++cheese_camera_device_monitor_get_product (const char *devname)
++{
++ int fd;
++ struct v4l2_capability v2cap;
++ char *product = NULL;
++
++ g_return_val_if_fail (devname != NULL, NULL);
++
++ fd = open (devname, O_RDONLY);
++ if (fd < 0)
+ {
-+ libhal_ctx_set_device_added (priv->hal_ctx, NULL);
-+ libhal_ctx_set_device_removed (priv->hal_ctx, NULL);
-+ libhal_ctx_free (priv->hal_ctx);
-+ priv->hal_ctx = NULL;
++ GST_WARNING("Failed to get product name for %s: %s", devname,
++ g_strerror (errno));
++ return NULL;
+ }
+
- G_OBJECT_CLASS (cheese_camera_device_monitor_parent_class)->finalize (object);
- }
-
-@@ -385,14 +307,52 @@ cheese_camera_device_monitor_class_init
- static void
- cheese_camera_device_monitor_init (CheeseCameraDeviceMonitor *monitor)
- {
--#ifdef HAVE_UDEV
-- CheeseCameraDeviceMonitorPrivate *priv = CHEESE_CAMERA_DEVICE_MONITOR_GET_PRIVATE (monitor);
-- const gchar *const subsystems[] = {"video4linux", NULL};
--
-- priv->client = g_udev_client_new (subsystems);
-- g_signal_connect (G_OBJECT (priv->client), "uevent",
-- G_CALLBACK (cheese_camera_device_monitor_uevent_cb), monitor);
--#endif /* HAVE_UDEV */
-+ CheeseCameraDeviceMonitorPrivate *priv = CHEESE_CAMERA_DEVICE_MONITOR_GET_PRIVATE (monitor);
-+ LibHalContext *hal_ctx;
-+ DBusError error;
-+
-+ dbus_error_init (&error);
-+
-+ priv->connection = dbus_bus_get (DBUS_BUS_SYSTEM, &error);
-+ dbus_connection_set_exit_on_disconnect (priv->connection, FALSE);
-+
-+ hal_ctx = libhal_ctx_new ();
-+ if (hal_ctx == NULL)
++ if (ioctl (fd, VIDIOC_QUERYCAP, &v2cap) == 0)
+ {
-+ GST_WARNING ("Could not create libhal context");
-+ dbus_error_free (&error);
-+ return;
++ product = g_strdup ((const char *) v2cap.card);
++ }
++ else
++ {
++ GST_WARNING("Failed to get product name for %s: %s", devname,
++ g_strerror (errno));
+ }
+
-+ if (!libhal_ctx_set_dbus_connection (hal_ctx, priv->connection))
++ close (fd);
++
++ return product;
++}
++
++static void
++cheese_camera_device_monitor_process_event (const char *event,
++ CheeseCameraDeviceMonitor *monitor)
++{
++ g_return_if_fail (event != NULL);
++
++ GST_INFO ("Received devd event: %s", event);
++
++ switch (event[0])
+ {
-+ GST_WARNING ("libhal_ctx_set_dbus_connection: %s: %s", error.name, error.message);
-+ dbus_error_free (&error);
++ case '!':
++ {
++ GRegex *rex;
++ GMatchInfo *info;
++
++ rex = g_regex_new ("subsystem=CDEV type=(CREATE|DESTROY) cdev=(video[0-9]+)", 0, 0, NULL);
++ if (g_regex_match (rex, event, 0, &info))
++ {
++ char *devname, *type, *vdev, *product = NULL;
++ CheeseCameraDevice *device;
++ GError *error = NULL;
++
++ type = g_match_info_fetch (info, 1);
++ vdev = g_match_info_fetch (info, 2);
++
++ devname = g_strdup_printf ("/dev/%s", vdev);
++
++ if (g_strcmp0 (type, "DESTROY") == 0)
++ {
++ g_signal_emit (monitor, monitor_signals[REMOVED], 0,
++ devname);
++ }
++ else
++ {
++ if(cheese_camera_device_monitor_is_camera (devname))
++ {
++ product = cheese_camera_device_monitor_get_product (devname);
++ if (product == NULL)
++ product = g_strdup ("WebCamd Device");
++ device = cheese_camera_device_new (devname, devname,
++ product,
++ 2,
++ &error);
++ if (device == NULL)
++ GST_WARNING ("Device initialization for %s failed: %s",
++ devname,
++ (error != NULL) ? error->message : "Unknown reason");
++ g_signal_emit (monitor, monitor_signals[ADDED], 0, device);
++ }
++
++ g_free (product);
++ }
++ g_free (devname);
++ g_free (vdev);
++ g_free (type);
++ }
++ g_match_info_free (info);
++ g_regex_unref (rex);
++ break;
++ }
++ default:
++ break;
++ }
++}
++
++static gboolean
++cheese_camera_device_monitor_event_cb (GIOChannel *source,
++ GIOCondition condition,
++ gpointer user_data)
++{
++ char *event;
++ gsize terminator;
++ GIOStatus status;
++ CheeseCameraDeviceMonitor *monitor;
++
++ monitor = (CheeseCameraDeviceMonitor *) user_data;
++
++ status = g_io_channel_read_line (source, &event, NULL, &terminator, NULL);
++ if (status == G_IO_STATUS_NORMAL)
++ {
++ event[terminator] = 0;
++ cheese_camera_device_monitor_process_event (event, monitor);
++ g_free (event);
++ }
++ else
++ {
++ if (cheese_camera_device_monitor_event_inited)
++ {
++ int fd;
++
++ cheese_camera_device_monitor_init_event (monitor);
++ fd = g_io_channel_unix_get_fd (source);
++ g_io_channel_shutdown (source, FALSE, NULL);
++ close (fd);
++
++ return FALSE;
++ }
++ }
++
++ return TRUE;
++}
++
++void
++cheese_camera_device_monitor_coldplug (CheeseCameraDeviceMonitor *monitor)
++{
++ GDir *dir;
++ GError *error = NULL;
++ const char *fname;
++
++ dir = g_dir_open ("/dev", 0, &error);
++ if (dir == NULL)
++ {
++ GST_WARNING ("Failed to open /dev for reading: %s",
++ (error != NULL) ? error->message : "Unknown error");
+ return;
+ }
+
-+ if (!libhal_ctx_init (hal_ctx, &error))
++ while ((fname = g_dir_read_name (dir)) != NULL)
+ {
-+ if (dbus_error_is_set (&error))
++ if ( strncmp (fname, "video", strlen ("video")) == 0)
+ {
-+ GST_WARNING ("libhal_ctx_init: %s: %s", error.name, error.message);
-+ dbus_error_free (&error);
++ char *devname, *product;
++
++ devname = g_strdup_printf ("/dev/%s", fname);
++ if (cheese_camera_device_monitor_is_camera (devname))
++ {
++ CheeseCameraDevice *device;
++ GError *derr = NULL;
++
++ product = cheese_camera_device_monitor_get_product (devname);
++ if (product == NULL)
++ product = g_strdup ("WebCamd Device");
++
++ device = cheese_camera_device_new (devname, devname, product, 2, &derr);
++ if (device == NULL)
++ GST_WARNING ("Device initialization for %s failed: %s", devname,
++ (derr != NULL) ? derr->message : "Unknown reason");
++
++ g_signal_emit (monitor, monitor_signals[ADDED], 0, device);
++
++ g_free (product);
++ }
++ g_free (devname);
+ }
-+ GST_WARNING ("Could not initialise connection to hald.\n"
-+ "Normally this means the HAL daemon (hald) is not running or not ready");
++ }
++ g_dir_close (dir);
++}
+ #else /* HAVE_UDEV */
+ void
+ cheese_camera_device_monitor_coldplug (CheeseCameraDeviceMonitor *monitor)
+@@ -430,6 +652,42 @@
+ g_type_class_add_private (klass, sizeof (CheeseCameraDeviceMonitorPrivate));
+ }
+
++#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++static void
++cheese_camera_device_monitor_init_event (CheeseCameraDeviceMonitor *monitor)
++{
++ int event_fd;
++ struct sockaddr_un addr;
++
++ event_fd = socket (PF_UNIX, SOCK_STREAM, 0);
++ if (event_fd < 0)
++ {
++ GST_WARNING ("Failed to create devd socket: %s", g_strerror (errno));
++ cheese_camera_device_monitor_event_inited = FALSE;
+ return;
+ }
+
-+ dbus_connection_setup_with_g_main (priv->connection, NULL);
++ addr.sun_family = AF_UNIX;
++ strncpy (addr.sun_path, "/var/run/devd.pipe", sizeof (addr.sun_path));
++ if (connect (event_fd, (struct sockaddr *) &addr, sizeof (addr)) == 0)
++ {
++ GIOChannel *channel;
+
-+ if (!libhal_ctx_set_user_data (hal_ctx, monitor))
-+ GST_WARNING ("Failed to set user data on HAL context");
-+ if (!libhal_ctx_set_device_added (hal_ctx, cheese_camera_device_monitor_added))
-+ GST_WARNING ("Failed to connect to device added signal from HAL");
-+ if (!libhal_ctx_set_device_removed (hal_ctx, cheese_camera_device_monitor_removed))
-+ GST_WARNING ("Failed to connect to device removed signal from HAL");
++ channel = g_io_channel_unix_new (event_fd);
++ g_io_add_watch (channel, G_IO_IN, cheese_camera_device_monitor_event_cb, monitor);
++ g_io_channel_unref (channel);
++ cheese_camera_device_monitor_event_inited = TRUE;
++ }
++ else
++ {
++ GST_WARNING("Failed to connect to /var/run/devd.pipe: %s",
++ g_strerror (errno));
++ close (event_fd);
++ cheese_camera_device_monitor_event_inited = FALSE;
++ }
++}
++#endif
+
-+ priv->hal_ctx = hal_ctx;
+ static void
+ cheese_camera_device_monitor_init (CheeseCameraDeviceMonitor *monitor)
+ {
+@@ -440,6 +698,8 @@
+ priv->client = g_udev_client_new (subsystems);
+ g_signal_connect (G_OBJECT (priv->client), "uevent",
+ G_CALLBACK (cheese_camera_device_monitor_uevent_cb), monitor);
++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++ cheese_camera_device_monitor_init_event (monitor);
+ #endif /* HAVE_UDEV */
}
- /**
diff --git a/multimedia/cheese/pkg-plist b/multimedia/cheese/pkg-plist
index 650028c6facf..8de5d4a101cf 100644
--- a/multimedia/cheese/pkg-plist
+++ b/multimedia/cheese/pkg-plist
@@ -1,202 +1,449 @@
bin/cheese
include/cheese/cheese-avatar-chooser.h
+include/cheese/cheese-avatar-widget.h
include/cheese/cheese-camera-device-monitor.h
+include/cheese/cheese-camera-device.h
+include/cheese/cheese-camera.h
+include/cheese/cheese-effect.h
+include/cheese/cheese-gtk.h
+include/cheese/cheese-resource.h
include/cheese/cheese-widget.h
-lib/libcheese-gtk.a
+include/cheese/cheese.h
lib/libcheese-gtk.so
-lib/libcheese-gtk.so.18
-lib/libcheese-gtk.so.18.0.0
+lib/libcheese-gtk.so.23
+lib/libcheese-gtk.so.23.1.14
+lib/libcheese.so
+lib/libcheese.so.7
+lib/libcheese.so.7.0.30
+lib/girepository-1.0/Cheese-3.0.typelib
libdata/pkgconfig/cheese-gtk.pc
-libexec/cheese/cheese-bugreport.sh
-share/applications/cheese.desktop
-%%DATADIR%%/cheese-prefs.ui
-%%DATADIR%%/cheese-ui.xml
-%%DATADIR%%/cheese.ui
-%%DATADIR%%/effects/Hulk.png
-%%DATADIR%%/effects/Mauve.png
-%%DATADIR%%/effects/NoirBlanc.png
-%%DATADIR%%/effects/Saturation.png
-%%DATADIR%%/effects/dicetv.png
-%%DATADIR%%/effects/edgetv.png
-%%DATADIR%%/effects/identity.png
-%%DATADIR%%/effects/shagadelictv.png
-%%DATADIR%%/effects/vertigotv.png
-%%DATADIR%%/effects/videoflip_h.png
-%%DATADIR%%/effects/videoflip_v.png
-%%DATADIR%%/effects/warptv.png
-%%DATADIR%%/gtkrc
-%%DATADIR%%/icons/hicolor/16x16/actions/browse-webcam-effects.png
-%%DATADIR%%/icons/hicolor/16x16/actions/cheese-take-burst.png
-%%DATADIR%%/icons/hicolor/16x16/actions/cheese-take-photo.png
-%%DATADIR%%/icons/hicolor/22x22/actions/browse-webcam-effects.png
-%%DATADIR%%/icons/hicolor/22x22/actions/cheese-take-burst.png
-%%DATADIR%%/icons/hicolor/22x22/actions/cheese-take-photo.png
-%%DATADIR%%/icons/hicolor/24x24/actions/browse-webcam-effects.png
-%%DATADIR%%/icons/hicolor/24x24/actions/cheese-take-burst.png
-%%DATADIR%%/icons/hicolor/24x24/actions/cheese-take-photo.png
-%%DATADIR%%/icons/hicolor/32x32/actions/browse-webcam-effects.png
-%%DATADIR%%/icons/hicolor/32x32/actions/cheese-take-burst.png
-%%DATADIR%%/icons/hicolor/32x32/actions/cheese-take-photo.png
-%%DATADIR%%/icons/hicolor/48x48/actions/browse-webcam-effects.png
-%%DATADIR%%/icons/hicolor/48x48/actions/cheese-take-burst.png
-%%DATADIR%%/icons/hicolor/48x48/actions/cheese-take-photo.png
-%%DATADIR%%/icons/hicolor/scalable/actions/browse-webcam-effects.svg
-%%DATADIR%%/icons/hicolor/scalable/actions/cheese-take-burst.svg
-%%DATADIR%%/icons/hicolor/scalable/actions/cheese-take-photo.svg
-%%DATADIR%%/pixmaps/camera-icon.svg
-%%DATADIR%%/pixmaps/cheese-1.svg
-%%DATADIR%%/pixmaps/cheese-2.svg
-%%DATADIR%%/pixmaps/cheese-3.svg
-%%DATADIR%%/pixmaps/thumbnail-frame.png
+libdata/pkgconfig/cheese.pc
+libexec/gnome-camera-service
+share/appdata/org.gnome.Cheese.appdata.xml
+share/applications/org.gnome.Cheese.desktop
+share/dbus-1/services/org.gnome.Camera.service
share/dbus-1/services/org.gnome.Cheese.service
%%DOCSDIR%%/AUTHORS
%%DOCSDIR%%/COPYING
%%DOCSDIR%%/ChangeLog
%%DOCSDIR%%/CheeseAvatarChooser.html
+%%DOCSDIR%%/CheeseAvatarWidget.html
+%%DOCSDIR%%/CheeseCamera.html
+%%DOCSDIR%%/CheeseCameraDevice.html
%%DOCSDIR%%/CheeseCameraDeviceMonitor.html
+%%DOCSDIR%%/CheeseEffect.html
+%%DOCSDIR%%/CheeseFileUtil.html
+%%DOCSDIR%%/CheeseFlash.html
%%DOCSDIR%%/CheeseWidget.html
%%DOCSDIR%%/NEWS
%%DOCSDIR%%/README
+%%DOCSDIR%%/annotation-glossary.html
+%%DOCSDIR%%/api-index-deprecated.html
%%DOCSDIR%%/api-index-full.html
-%%DOCSDIR%%/ch01.html
-%%DOCSDIR%%/cheese.devhelp
+%%DOCSDIR%%/cheese-Initializing-libcheese-gtk.html
+%%DOCSDIR%%/cheese-Initializing-libcheese.html
+%%DOCSDIR%%/cheese-overview.html
%%DOCSDIR%%/cheese.devhelp2
+%%DOCSDIR%%/cheese.html
+%%DOCSDIR%%/cheese_architecture.png
%%DOCSDIR%%/home.png
%%DOCSDIR%%/index.html
%%DOCSDIR%%/index.sgml
+%%DOCSDIR%%/left-insensitive.png
%%DOCSDIR%%/left.png
+%%DOCSDIR%%/libcheese-gtk.html
+%%DOCSDIR%%/libcheese.html
%%DOCSDIR%%/object-tree.html
+%%DOCSDIR%%/right-insensitive.png
%%DOCSDIR%%/right.png
+%%DOCSDIR%%/running-cheese.html
%%DOCSDIR%%/style.css
+%%DOCSDIR%%/up-insensitive.png
%%DOCSDIR%%/up.png
-share/gnome/help/cheese/C/cheese.xml
-share/gnome/help/cheese/C/figures/cheese-effects.jpg
-share/gnome/help/cheese/C/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/C/figures/cheese-main.jpg
-share/gnome/help/cheese/C/figures/cheese-preferences.jpg
-share/gnome/help/cheese/C/figures/cheese-share.jpg
-share/gnome/help/cheese/C/figures/cheese-wide.jpg
-share/gnome/help/cheese/C/legal.xml
-share/gnome/help/cheese/ca/cheese.xml
-share/gnome/help/cheese/ca/figures/cheese-effects.jpg
-share/gnome/help/cheese/ca/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/ca/figures/cheese-main.jpg
-share/gnome/help/cheese/ca/figures/cheese-preferences.jpg
-share/gnome/help/cheese/ca/figures/cheese-share.jpg
-share/gnome/help/cheese/ca/figures/cheese-wide.jpg
-share/gnome/help/cheese/cs/cheese.xml
-share/gnome/help/cheese/cs/figures/cheese-effects.jpg
-share/gnome/help/cheese/cs/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/cs/figures/cheese-main.jpg
-share/gnome/help/cheese/cs/figures/cheese-preferences.jpg
-share/gnome/help/cheese/cs/figures/cheese-share.jpg
-share/gnome/help/cheese/cs/figures/cheese-wide.jpg
-share/gnome/help/cheese/de/cheese.xml
-share/gnome/help/cheese/de/figures/cheese-effects.jpg
-share/gnome/help/cheese/de/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/de/figures/cheese-main.jpg
-share/gnome/help/cheese/de/figures/cheese-preferences.jpg
-share/gnome/help/cheese/de/figures/cheese-share.jpg
-share/gnome/help/cheese/de/figures/cheese-wide.jpg
-share/gnome/help/cheese/el/cheese.xml
-share/gnome/help/cheese/el/figures/cheese-effects.jpg
-share/gnome/help/cheese/el/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/el/figures/cheese-main.jpg
-share/gnome/help/cheese/el/figures/cheese-preferences.jpg
-share/gnome/help/cheese/el/figures/cheese-share.jpg
-share/gnome/help/cheese/el/figures/cheese-wide.jpg
-share/gnome/help/cheese/en_GB/cheese.xml
-share/gnome/help/cheese/en_GB/figures/cheese-effects.jpg
-share/gnome/help/cheese/en_GB/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/en_GB/figures/cheese-main.jpg
-share/gnome/help/cheese/en_GB/figures/cheese-preferences.jpg
-share/gnome/help/cheese/en_GB/figures/cheese-share.jpg
-share/gnome/help/cheese/en_GB/figures/cheese-wide.jpg
-share/gnome/help/cheese/es/cheese.xml
-share/gnome/help/cheese/es/figures/cheese-effects.jpg
-share/gnome/help/cheese/es/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/es/figures/cheese-main.jpg
-share/gnome/help/cheese/es/figures/cheese-preferences.jpg
-share/gnome/help/cheese/es/figures/cheese-share.jpg
-share/gnome/help/cheese/es/figures/cheese-wide.jpg
-share/gnome/help/cheese/fr/cheese.xml
-share/gnome/help/cheese/fr/figures/cheese-effects.jpg
-share/gnome/help/cheese/fr/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/fr/figures/cheese-main.jpg
-share/gnome/help/cheese/fr/figures/cheese-preferences.jpg
-share/gnome/help/cheese/fr/figures/cheese-share.jpg
-share/gnome/help/cheese/fr/figures/cheese-wide.jpg
-share/gnome/help/cheese/it/cheese.xml
-share/gnome/help/cheese/it/figures/cheese-effects.jpg
-share/gnome/help/cheese/it/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/it/figures/cheese-main.jpg
-share/gnome/help/cheese/it/figures/cheese-preferences.jpg
-share/gnome/help/cheese/it/figures/cheese-share.jpg
-share/gnome/help/cheese/it/figures/cheese-wide.jpg
-share/gnome/help/cheese/nl/cheese.xml
-share/gnome/help/cheese/nl/figures/cheese-effects.jpg
-share/gnome/help/cheese/nl/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/nl/figures/cheese-main.jpg
-share/gnome/help/cheese/nl/figures/cheese-preferences.jpg
-share/gnome/help/cheese/nl/figures/cheese-share.jpg
-share/gnome/help/cheese/nl/figures/cheese-wide.jpg
-share/gnome/help/cheese/oc/cheese.xml
-share/gnome/help/cheese/oc/figures/cheese-effects.jpg
-share/gnome/help/cheese/oc/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/oc/figures/cheese-main.jpg
-share/gnome/help/cheese/oc/figures/cheese-preferences.jpg
-share/gnome/help/cheese/oc/figures/cheese-share.jpg
-share/gnome/help/cheese/oc/figures/cheese-wide.jpg
-share/gnome/help/cheese/pt_BR/cheese.xml
-share/gnome/help/cheese/pt_BR/figures/cheese-effects.jpg
-share/gnome/help/cheese/pt_BR/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/pt_BR/figures/cheese-main.jpg
-share/gnome/help/cheese/pt_BR/figures/cheese-preferences.jpg
-share/gnome/help/cheese/pt_BR/figures/cheese-share.jpg
-share/gnome/help/cheese/pt_BR/figures/cheese-wide.jpg
-share/gnome/help/cheese/ru/cheese.xml
-share/gnome/help/cheese/ru/figures/cheese-effects.jpg
-share/gnome/help/cheese/ru/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/ru/figures/cheese-main.jpg
-share/gnome/help/cheese/ru/figures/cheese-preferences.jpg
-share/gnome/help/cheese/ru/figures/cheese-share.jpg
-share/gnome/help/cheese/ru/figures/cheese-wide.jpg
-share/gnome/help/cheese/sl/cheese.xml
-share/gnome/help/cheese/sl/figures/cheese-effects.jpg
-share/gnome/help/cheese/sl/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/sl/figures/cheese-main.jpg
-share/gnome/help/cheese/sl/figures/cheese-preferences.jpg
-share/gnome/help/cheese/sl/figures/cheese-share.jpg
-share/gnome/help/cheese/sl/figures/cheese-wide.jpg
-share/gnome/help/cheese/sv/cheese.xml
-share/gnome/help/cheese/sv/figures/cheese-effects.jpg
-share/gnome/help/cheese/sv/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/sv/figures/cheese-main.jpg
-share/gnome/help/cheese/sv/figures/cheese-preferences.jpg
-share/gnome/help/cheese/sv/figures/cheese-share.jpg
-share/gnome/help/cheese/sv/figures/cheese-wide.jpg
-share/gnome/help/cheese/th/cheese.xml
-share/gnome/help/cheese/th/figures/cheese-effects.jpg
-share/gnome/help/cheese/th/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/th/figures/cheese-main.jpg
-share/gnome/help/cheese/th/figures/cheese-preferences.jpg
-share/gnome/help/cheese/th/figures/cheese-share.jpg
-share/gnome/help/cheese/th/figures/cheese-wide.jpg
-share/gnome/help/cheese/zh_CN/cheese.xml
-share/gnome/help/cheese/zh_CN/figures/cheese-effects.jpg
-share/gnome/help/cheese/zh_CN/figures/cheese-fullscreen.jpg
-share/gnome/help/cheese/zh_CN/figures/cheese-main.jpg
-share/gnome/help/cheese/zh_CN/figures/cheese-preferences.jpg
-share/gnome/help/cheese/zh_CN/figures/cheese-share.jpg
-share/gnome/help/cheese/zh_CN/figures/cheese-wide.jpg
+share/gir-1.0/Cheese-3.0.gir
+share/help/C/cheese/burst-mode.page
+share/help/C/cheese/effects-apply.page
+share/help/C/cheese/index.page
+share/help/C/cheese/introduction.page
+share/help/C/cheese/legal.xml
+share/help/C/cheese/photo-delete.page
+share/help/C/cheese/photo-save.page
+share/help/C/cheese/photo-take.page
+share/help/C/cheese/photo-view.page
+share/help/C/cheese/pref-countdown.page
+share/help/C/cheese/pref-flash.page
+share/help/C/cheese/pref-fullscreen.page
+share/help/C/cheese/pref-image-properties.page
+share/help/C/cheese/pref-resolution.page
+share/help/C/cheese/video-record.page
+share/help/C/cheese/figures/cheese-delete.png
+share/help/C/cheese/figures/cheese-effects.png
+share/help/C/cheese/figures/cheese-introduction.png
+share/help/C/cheese/figures/cheese-record.png
+share/help/C/cheese/figures/cheese-save.png
+share/help/C/cheese/figures/cheese-take.png
+share/help/C/cheese/figures/cheese.png
+share/help/C/cheese/figures/effects.png
+share/help/C/cheese/figures/image-properties.png
+share/help/C/cheese/figures/settings.png
+share/help/ca/cheese/burst-mode.page
+share/help/ca/cheese/effects-apply.page
+share/help/ca/cheese/index.page
+share/help/ca/cheese/introduction.page
+share/help/ca/cheese/legal.xml
+share/help/ca/cheese/photo-delete.page
+share/help/ca/cheese/photo-save.page
+share/help/ca/cheese/photo-take.page
+share/help/ca/cheese/photo-view.page
+share/help/ca/cheese/pref-countdown.page
+share/help/ca/cheese/pref-flash.page
+share/help/ca/cheese/pref-fullscreen.page
+share/help/ca/cheese/pref-image-properties.page
+share/help/ca/cheese/pref-resolution.page
+share/help/ca/cheese/video-record.page
+share/help/ca/cheese/figures/cheese-delete.png
+share/help/ca/cheese/figures/cheese-effects.png
+share/help/ca/cheese/figures/cheese-introduction.png
+share/help/ca/cheese/figures/cheese-record.png
+share/help/ca/cheese/figures/cheese-save.png
+share/help/ca/cheese/figures/cheese-take.png
+share/help/ca/cheese/figures/cheese.png
+share/help/ca/cheese/figures/effects.png
+share/help/ca/cheese/figures/image-properties.png
+share/help/ca/cheese/figures/settings.png
+share/help/cs/cheese/burst-mode.page
+share/help/cs/cheese/effects-apply.page
+share/help/cs/cheese/index.page
+share/help/cs/cheese/introduction.page
+share/help/cs/cheese/legal.xml
+share/help/cs/cheese/photo-delete.page
+share/help/cs/cheese/photo-save.page
+share/help/cs/cheese/photo-take.page
+share/help/cs/cheese/photo-view.page
+share/help/cs/cheese/pref-countdown.page
+share/help/cs/cheese/pref-flash.page
+share/help/cs/cheese/pref-fullscreen.page
+share/help/cs/cheese/pref-image-properties.page
+share/help/cs/cheese/pref-resolution.page
+share/help/cs/cheese/video-record.page
+share/help/cs/cheese/figures/cheese-delete.png
+share/help/cs/cheese/figures/cheese-effects.png
+share/help/cs/cheese/figures/cheese-introduction.png
+share/help/cs/cheese/figures/cheese-record.png
+share/help/cs/cheese/figures/cheese-save.png
+share/help/cs/cheese/figures/cheese-take.png
+share/help/cs/cheese/figures/cheese.png
+share/help/cs/cheese/figures/effects.png
+share/help/cs/cheese/figures/image-properties.png
+share/help/cs/cheese/figures/settings.png
+share/help/de/cheese/burst-mode.page
+share/help/de/cheese/effects-apply.page
+share/help/de/cheese/index.page
+share/help/de/cheese/introduction.page
+share/help/de/cheese/legal.xml
+share/help/de/cheese/photo-delete.page
+share/help/de/cheese/photo-save.page
+share/help/de/cheese/photo-take.page
+share/help/de/cheese/photo-view.page
+share/help/de/cheese/pref-countdown.page
+share/help/de/cheese/pref-flash.page
+share/help/de/cheese/pref-fullscreen.page
+share/help/de/cheese/pref-image-properties.page
+share/help/de/cheese/pref-resolution.page
+share/help/de/cheese/video-record.page
+share/help/de/cheese/figures/cheese-delete.png
+share/help/de/cheese/figures/cheese-effects.png
+share/help/de/cheese/figures/cheese-introduction.png
+share/help/de/cheese/figures/cheese-record.png
+share/help/de/cheese/figures/cheese-save.png
+share/help/de/cheese/figures/cheese-take.png
+share/help/de/cheese/figures/cheese.png
+share/help/de/cheese/figures/effects.png
+share/help/de/cheese/figures/image-properties.png
+share/help/de/cheese/figures/settings.png
+share/help/el/cheese/burst-mode.page
+share/help/el/cheese/effects-apply.page
+share/help/el/cheese/index.page
+share/help/el/cheese/introduction.page
+share/help/el/cheese/legal.xml
+share/help/el/cheese/photo-delete.page
+share/help/el/cheese/photo-save.page
+share/help/el/cheese/photo-take.page
+share/help/el/cheese/photo-view.page
+share/help/el/cheese/pref-countdown.page
+share/help/el/cheese/pref-flash.page
+share/help/el/cheese/pref-fullscreen.page
+share/help/el/cheese/pref-image-properties.page
+share/help/el/cheese/pref-resolution.page
+share/help/el/cheese/video-record.page
+share/help/el/cheese/figures/cheese-delete.png
+share/help/el/cheese/figures/cheese-effects.png
+share/help/el/cheese/figures/cheese-introduction.png
+share/help/el/cheese/figures/cheese-record.png
+share/help/el/cheese/figures/cheese-save.png
+share/help/el/cheese/figures/cheese-take.png
+share/help/el/cheese/figures/cheese.png
+share/help/el/cheese/figures/effects.png
+share/help/el/cheese/figures/image-properties.png
+share/help/el/cheese/figures/settings.png
+share/help/es/cheese/burst-mode.page
+share/help/es/cheese/effects-apply.page
+share/help/es/cheese/index.page
+share/help/es/cheese/introduction.page
+share/help/es/cheese/legal.xml
+share/help/es/cheese/photo-delete.page
+share/help/es/cheese/photo-save.page
+share/help/es/cheese/photo-take.page
+share/help/es/cheese/photo-view.page
+share/help/es/cheese/pref-countdown.page
+share/help/es/cheese/pref-flash.page
+share/help/es/cheese/pref-fullscreen.page
+share/help/es/cheese/pref-image-properties.page
+share/help/es/cheese/pref-resolution.page
+share/help/es/cheese/video-record.page
+share/help/es/cheese/figures/cheese-delete.png
+share/help/es/cheese/figures/cheese-effects.png
+share/help/es/cheese/figures/cheese-introduction.png
+share/help/es/cheese/figures/cheese-record.png
+share/help/es/cheese/figures/cheese-save.png
+share/help/es/cheese/figures/cheese-take.png
+share/help/es/cheese/figures/cheese.png
+share/help/es/cheese/figures/effects.png
+share/help/es/cheese/figures/image-properties.png
+share/help/es/cheese/figures/settings.png
+share/help/fi/cheese/burst-mode.page
+share/help/fi/cheese/effects-apply.page
+share/help/fi/cheese/figures/cheese-delete.png
+share/help/fi/cheese/figures/cheese-effects.png
+share/help/fi/cheese/figures/cheese-introduction.png
+share/help/fi/cheese/figures/cheese-record.png
+share/help/fi/cheese/figures/cheese-save.png
+share/help/fi/cheese/figures/cheese-take.png
+share/help/fi/cheese/figures/cheese.png
+share/help/fi/cheese/figures/effects.png
+share/help/fi/cheese/figures/image-properties.png
+share/help/fi/cheese/figures/settings.png
+share/help/fi/cheese/index.page
+share/help/fi/cheese/introduction.page
+share/help/fi/cheese/legal.xml
+share/help/fi/cheese/photo-delete.page
+share/help/fi/cheese/photo-save.page
+share/help/fi/cheese/photo-take.page
+share/help/fi/cheese/photo-view.page
+share/help/fi/cheese/pref-countdown.page
+share/help/fi/cheese/pref-flash.page
+share/help/fi/cheese/pref-fullscreen.page
+share/help/fi/cheese/pref-image-properties.page
+share/help/fi/cheese/pref-resolution.page
+share/help/fi/cheese/video-record.page
+share/help/fr/cheese/burst-mode.page
+share/help/fr/cheese/effects-apply.page
+share/help/fr/cheese/index.page
+share/help/fr/cheese/introduction.page
+share/help/fr/cheese/legal.xml
+share/help/fr/cheese/photo-delete.page
+share/help/fr/cheese/photo-save.page
+share/help/fr/cheese/photo-take.page
+share/help/fr/cheese/photo-view.page
+share/help/fr/cheese/pref-countdown.page
+share/help/fr/cheese/pref-flash.page
+share/help/fr/cheese/pref-fullscreen.page
+share/help/fr/cheese/pref-image-properties.page
+share/help/fr/cheese/pref-resolution.page
+share/help/fr/cheese/video-record.page
+share/help/fr/cheese/figures/cheese-delete.png
+share/help/fr/cheese/figures/cheese-effects.png
+share/help/fr/cheese/figures/cheese-introduction.png
+share/help/fr/cheese/figures/cheese-record.png
+share/help/fr/cheese/figures/cheese-save.png
+share/help/fr/cheese/figures/cheese-take.png
+share/help/fr/cheese/figures/cheese.png
+share/help/fr/cheese/figures/effects.png
+share/help/fr/cheese/figures/image-properties.png
+share/help/fr/cheese/figures/settings.png
+share/help/gl/cheese/burst-mode.page
+share/help/gl/cheese/effects-apply.page
+share/help/gl/cheese/index.page
+share/help/gl/cheese/introduction.page
+share/help/gl/cheese/legal.xml
+share/help/gl/cheese/photo-delete.page
+share/help/gl/cheese/photo-save.page
+share/help/gl/cheese/photo-take.page
+share/help/gl/cheese/photo-view.page
+share/help/gl/cheese/pref-countdown.page
+share/help/gl/cheese/pref-flash.page
+share/help/gl/cheese/pref-fullscreen.page
+share/help/gl/cheese/pref-image-properties.page
+share/help/gl/cheese/pref-resolution.page
+share/help/gl/cheese/video-record.page
+share/help/gl/cheese/figures/cheese-delete.png
+share/help/gl/cheese/figures/cheese-effects.png
+share/help/gl/cheese/figures/cheese-introduction.png
+share/help/gl/cheese/figures/cheese-record.png
+share/help/gl/cheese/figures/cheese-save.png
+share/help/gl/cheese/figures/cheese-take.png
+share/help/gl/cheese/figures/cheese.png
+share/help/gl/cheese/figures/effects.png
+share/help/gl/cheese/figures/image-properties.png
+share/help/gl/cheese/figures/settings.png
+share/help/hu/cheese/burst-mode.page
+share/help/hu/cheese/effects-apply.page
+share/help/hu/cheese/index.page
+share/help/hu/cheese/introduction.page
+share/help/hu/cheese/legal.xml
+share/help/hu/cheese/photo-delete.page
+share/help/hu/cheese/photo-save.page
+share/help/hu/cheese/photo-take.page
+share/help/hu/cheese/photo-view.page
+share/help/hu/cheese/pref-countdown.page
+share/help/hu/cheese/pref-flash.page
+share/help/hu/cheese/pref-fullscreen.page
+share/help/hu/cheese/pref-image-properties.page
+share/help/hu/cheese/pref-resolution.page
+share/help/hu/cheese/video-record.page
+share/help/hu/cheese/figures/cheese-delete.png
+share/help/hu/cheese/figures/cheese-effects.png
+share/help/hu/cheese/figures/cheese-introduction.png
+share/help/hu/cheese/figures/cheese-record.png
+share/help/hu/cheese/figures/cheese-save.png
+share/help/hu/cheese/figures/cheese-take.png
+share/help/hu/cheese/figures/cheese.png
+share/help/hu/cheese/figures/effects.png
+share/help/hu/cheese/figures/image-properties.png
+share/help/hu/cheese/figures/settings.png
+share/help/id/cheese/burst-mode.page
+share/help/id/cheese/effects-apply.page
+share/help/id/cheese/index.page
+share/help/id/cheese/introduction.page
+share/help/id/cheese/legal.xml
+share/help/id/cheese/photo-delete.page
+share/help/id/cheese/photo-save.page
+share/help/id/cheese/photo-take.page
+share/help/id/cheese/photo-view.page
+share/help/id/cheese/pref-countdown.page
+share/help/id/cheese/pref-flash.page
+share/help/id/cheese/pref-fullscreen.page
+share/help/id/cheese/pref-image-properties.page
+share/help/id/cheese/pref-resolution.page
+share/help/id/cheese/video-record.page
+share/help/id/cheese/figures/cheese-delete.png
+share/help/id/cheese/figures/cheese-effects.png
+share/help/id/cheese/figures/cheese-introduction.png
+share/help/id/cheese/figures/cheese-record.png
+share/help/id/cheese/figures/cheese-save.png
+share/help/id/cheese/figures/cheese-take.png
+share/help/id/cheese/figures/cheese.png
+share/help/id/cheese/figures/effects.png
+share/help/id/cheese/figures/image-properties.png
+share/help/id/cheese/figures/settings.png
+share/help/pt_BR/cheese/burst-mode.page
+share/help/pt_BR/cheese/effects-apply.page
+share/help/pt_BR/cheese/index.page
+share/help/pt_BR/cheese/introduction.page
+share/help/pt_BR/cheese/legal.xml
+share/help/pt_BR/cheese/photo-delete.page
+share/help/pt_BR/cheese/photo-save.page
+share/help/pt_BR/cheese/photo-take.page
+share/help/pt_BR/cheese/photo-view.page
+share/help/pt_BR/cheese/pref-countdown.page
+share/help/pt_BR/cheese/pref-flash.page
+share/help/pt_BR/cheese/pref-fullscreen.page
+share/help/pt_BR/cheese/pref-image-properties.page
+share/help/pt_BR/cheese/pref-resolution.page
+share/help/pt_BR/cheese/video-record.page
+share/help/pt_BR/cheese/figures/cheese-delete.png
+share/help/pt_BR/cheese/figures/cheese-effects.png
+share/help/pt_BR/cheese/figures/cheese-introduction.png
+share/help/pt_BR/cheese/figures/cheese-record.png
+share/help/pt_BR/cheese/figures/cheese-save.png
+share/help/pt_BR/cheese/figures/cheese-take.png
+share/help/pt_BR/cheese/figures/cheese.png
+share/help/pt_BR/cheese/figures/effects.png
+share/help/pt_BR/cheese/figures/image-properties.png
+share/help/pt_BR/cheese/figures/settings.png
+share/help/ru/cheese/burst-mode.page
+share/help/ru/cheese/effects-apply.page
+share/help/ru/cheese/index.page
+share/help/ru/cheese/introduction.page
+share/help/ru/cheese/legal.xml
+share/help/ru/cheese/photo-delete.page
+share/help/ru/cheese/photo-save.page
+share/help/ru/cheese/photo-take.page
+share/help/ru/cheese/photo-view.page
+share/help/ru/cheese/pref-countdown.page
+share/help/ru/cheese/pref-flash.page
+share/help/ru/cheese/pref-fullscreen.page
+share/help/ru/cheese/pref-image-properties.page
+share/help/ru/cheese/pref-resolution.page
+share/help/ru/cheese/video-record.page
+share/help/ru/cheese/figures/cheese-delete.png
+share/help/ru/cheese/figures/cheese-effects.png
+share/help/ru/cheese/figures/cheese-introduction.png
+share/help/ru/cheese/figures/cheese-record.png
+share/help/ru/cheese/figures/cheese-save.png
+share/help/ru/cheese/figures/cheese-take.png
+share/help/ru/cheese/figures/cheese.png
+share/help/ru/cheese/figures/effects.png
+share/help/ru/cheese/figures/image-properties.png
+share/help/ru/cheese/figures/settings.png
+share/help/sl/cheese/burst-mode.page
+share/help/sl/cheese/effects-apply.page
+share/help/sl/cheese/index.page
+share/help/sl/cheese/introduction.page
+share/help/sl/cheese/legal.xml
+share/help/sl/cheese/photo-delete.page
+share/help/sl/cheese/photo-save.page
+share/help/sl/cheese/photo-take.page
+share/help/sl/cheese/photo-view.page
+share/help/sl/cheese/pref-countdown.page
+share/help/sl/cheese/pref-flash.page
+share/help/sl/cheese/pref-fullscreen.page
+share/help/sl/cheese/pref-image-properties.page
+share/help/sl/cheese/pref-resolution.page
+share/help/sl/cheese/video-record.page
+share/help/sl/cheese/figures/cheese-delete.png
+share/help/sl/cheese/figures/cheese-effects.png
+share/help/sl/cheese/figures/cheese-introduction.png
+share/help/sl/cheese/figures/cheese-record.png
+share/help/sl/cheese/figures/cheese-save.png
+share/help/sl/cheese/figures/cheese-take.png
+share/help/sl/cheese/figures/cheese.png
+share/help/sl/cheese/figures/effects.png
+share/help/sl/cheese/figures/image-properties.png
+share/help/sl/cheese/figures/settings.png
+share/help/zh_CN/cheese/burst-mode.page
+share/help/zh_CN/cheese/effects-apply.page
+share/help/zh_CN/cheese/index.page
+share/help/zh_CN/cheese/introduction.page
+share/help/zh_CN/cheese/legal.xml
+share/help/zh_CN/cheese/photo-delete.page
+share/help/zh_CN/cheese/photo-save.page
+share/help/zh_CN/cheese/photo-take.page
+share/help/zh_CN/cheese/photo-view.page
+share/help/zh_CN/cheese/pref-countdown.page
+share/help/zh_CN/cheese/pref-flash.page
+share/help/zh_CN/cheese/pref-fullscreen.page
+share/help/zh_CN/cheese/pref-image-properties.page
+share/help/zh_CN/cheese/pref-resolution.page
+share/help/zh_CN/cheese/video-record.page
+share/help/zh_CN/cheese/figures/cheese-delete.png
+share/help/zh_CN/cheese/figures/cheese-effects.png
+share/help/zh_CN/cheese/figures/cheese-introduction.png
+share/help/zh_CN/cheese/figures/cheese-record.png
+share/help/zh_CN/cheese/figures/cheese-save.png
+share/help/zh_CN/cheese/figures/cheese-take.png
+share/help/zh_CN/cheese/figures/cheese.png
+share/help/zh_CN/cheese/figures/effects.png
+share/help/zh_CN/cheese/figures/image-properties.png
+share/help/zh_CN/cheese/figures/settings.png
share/icons/hicolor/16x16/apps/cheese.png
share/icons/hicolor/22x22/apps/cheese.png
share/icons/hicolor/24x24/apps/cheese.png
share/icons/hicolor/256x256/apps/cheese.png
share/icons/hicolor/32x32/apps/cheese.png
share/icons/hicolor/48x48/apps/cheese.png
-share/icons/hicolor/scalable/apps/cheese.svg
share/locale/af/LC_MESSAGES/cheese.mo
+share/locale/an/LC_MESSAGES/cheese.mo
share/locale/ar/LC_MESSAGES/cheese.mo
share/locale/as/LC_MESSAGES/cheese.mo
share/locale/ast/LC_MESSAGES/cheese.mo
@@ -214,11 +461,14 @@ share/locale/dz/LC_MESSAGES/cheese.mo
share/locale/el/LC_MESSAGES/cheese.mo
share/locale/en@shaw/LC_MESSAGES/cheese.mo
share/locale/en_GB/LC_MESSAGES/cheese.mo
+share/locale/eo/LC_MESSAGES/cheese.mo
share/locale/es/LC_MESSAGES/cheese.mo
share/locale/et/LC_MESSAGES/cheese.mo
share/locale/eu/LC_MESSAGES/cheese.mo
+share/locale/fa/LC_MESSAGES/cheese.mo
share/locale/fi/LC_MESSAGES/cheese.mo
share/locale/fr/LC_MESSAGES/cheese.mo
+share/locale/fur/LC_MESSAGES/cheese.mo
share/locale/ga/LC_MESSAGES/cheese.mo
share/locale/gl/LC_MESSAGES/cheese.mo
share/locale/gu/LC_MESSAGES/cheese.mo
@@ -231,9 +481,11 @@ share/locale/it/LC_MESSAGES/cheese.mo
share/locale/ja/LC_MESSAGES/cheese.mo
share/locale/ka/LC_MESSAGES/cheese.mo
share/locale/kk/LC_MESSAGES/cheese.mo
+share/locale/km/LC_MESSAGES/cheese.mo
share/locale/kn/LC_MESSAGES/cheese.mo
share/locale/ko/LC_MESSAGES/cheese.mo
share/locale/ku/LC_MESSAGES/cheese.mo
+share/locale/ky/LC_MESSAGES/cheese.mo
share/locale/lt/LC_MESSAGES/cheese.mo
share/locale/lv/LC_MESSAGES/cheese.mo
share/locale/mai/LC_MESSAGES/cheese.mo
@@ -254,6 +506,7 @@ share/locale/pt/LC_MESSAGES/cheese.mo
share/locale/pt_BR/LC_MESSAGES/cheese.mo
share/locale/ro/LC_MESSAGES/cheese.mo
share/locale/ru/LC_MESSAGES/cheese.mo
+share/locale/sk/LC_MESSAGES/cheese.mo
share/locale/sl/LC_MESSAGES/cheese.mo
share/locale/sq/LC_MESSAGES/cheese.mo
share/locale/sr/LC_MESSAGES/cheese.mo
@@ -261,122 +514,14 @@ share/locale/sr@latin/LC_MESSAGES/cheese.mo
share/locale/sv/LC_MESSAGES/cheese.mo
share/locale/ta/LC_MESSAGES/cheese.mo
share/locale/te/LC_MESSAGES/cheese.mo
+share/locale/tg/LC_MESSAGES/cheese.mo
share/locale/th/LC_MESSAGES/cheese.mo
share/locale/tr/LC_MESSAGES/cheese.mo
share/locale/ug/LC_MESSAGES/cheese.mo
share/locale/uk/LC_MESSAGES/cheese.mo
share/locale/vi/LC_MESSAGES/cheese.mo
+share/locale/xh/LC_MESSAGES/cheese.mo
share/locale/zh_CN/LC_MESSAGES/cheese.mo
share/locale/zh_HK/LC_MESSAGES/cheese.mo
share/locale/zh_TW/LC_MESSAGES/cheese.mo
-share/omf/cheese/cheese-C.omf
-share/omf/cheese/cheese-ca.omf
-share/omf/cheese/cheese-cs.omf
-share/omf/cheese/cheese-de.omf
-share/omf/cheese/cheese-el.omf
-share/omf/cheese/cheese-en_GB.omf
-share/omf/cheese/cheese-es.omf
-share/omf/cheese/cheese-fr.omf
-share/omf/cheese/cheese-it.omf
-share/omf/cheese/cheese-nl.omf
-share/omf/cheese/cheese-oc.omf
-share/omf/cheese/cheese-pt_BR.omf
-share/omf/cheese/cheese-ru.omf
-share/omf/cheese/cheese-sl.omf
-share/omf/cheese/cheese-sv.omf
-share/omf/cheese/cheese-th.omf
-share/omf/cheese/cheese-zh_CN.omf
-@dirrm share/omf/cheese
-@dirrmtry share/icons/hicolor/256x256/apps
-@dirrmtry share/icons/hicolor/256x256
-@dirrm share/gnome/help/cheese/zh_CN/figures
-@dirrm share/gnome/help/cheese/zh_CN
-@dirrm share/gnome/help/cheese/th/figures
-@dirrm share/gnome/help/cheese/th
-@dirrm share/gnome/help/cheese/sv/figures
-@dirrm share/gnome/help/cheese/sv
-@dirrm share/gnome/help/cheese/sl/figures
-@dirrm share/gnome/help/cheese/sl
-@dirrm share/gnome/help/cheese/ru/figures
-@dirrm share/gnome/help/cheese/ru
-@dirrm share/gnome/help/cheese/pt_BR/figures
-@dirrm share/gnome/help/cheese/pt_BR
-@dirrm share/gnome/help/cheese/oc/figures
-@dirrm share/gnome/help/cheese/oc
-@dirrm share/gnome/help/cheese/nl/figures
-@dirrm share/gnome/help/cheese/nl
-@dirrm share/gnome/help/cheese/it/figures
-@dirrm share/gnome/help/cheese/it
-@dirrm share/gnome/help/cheese/fr/figures
-@dirrm share/gnome/help/cheese/fr
-@dirrm share/gnome/help/cheese/es/figures
-@dirrm share/gnome/help/cheese/es
-@dirrm share/gnome/help/cheese/en_GB/figures
-@dirrm share/gnome/help/cheese/en_GB
-@dirrm share/gnome/help/cheese/el/figures
-@dirrm share/gnome/help/cheese/el
-@dirrm share/gnome/help/cheese/de/figures
-@dirrm share/gnome/help/cheese/de
-@dirrm share/gnome/help/cheese/cs/figures
-@dirrm share/gnome/help/cheese/cs
-@dirrm share/gnome/help/cheese/ca/figures
-@dirrm share/gnome/help/cheese/ca
-@dirrm share/gnome/help/cheese/C/figures
-@dirrm share/gnome/help/cheese/C
-@dirrm share/gnome/help/cheese
-@dirrm %%DOCSDIR%%
-@dirrm %%DATADIR%%/pixmaps
-@dirrm %%DATADIR%%/icons/hicolor/scalable/actions
-@dirrm %%DATADIR%%/icons/hicolor/scalable
-@dirrm %%DATADIR%%/icons/hicolor/48x48/actions
-@dirrm %%DATADIR%%/icons/hicolor/48x48
-@dirrm %%DATADIR%%/icons/hicolor/32x32/actions
-@dirrm %%DATADIR%%/icons/hicolor/32x32
-@dirrm %%DATADIR%%/icons/hicolor/24x24/actions
-@dirrm %%DATADIR%%/icons/hicolor/24x24
-@dirrm %%DATADIR%%/icons/hicolor/22x22/actions
-@dirrm %%DATADIR%%/icons/hicolor/22x22
-@dirrm %%DATADIR%%/icons/hicolor/16x16/actions
-@dirrm %%DATADIR%%/icons/hicolor/16x16
-@dirrm %%DATADIR%%/icons/hicolor
-@dirrm %%DATADIR%%/icons
-@dirrm %%DATADIR%%/effects
-@dirrm %%DATADIR%%
-@dirrm libexec/cheese
-@dirrm include/cheese
-@dirrmtry share/locale/zh_HK/LC_MESSAGES
-@dirrmtry share/locale/zh_HK
-@dirrmtry share/locale/ug/LC_MESSAGES
-@dirrmtry share/locale/ug
-@dirrmtry share/locale/te/LC_MESSAGES
-@dirrmtry share/locale/te
-@dirrmtry share/locale/sr@latin/LC_MESSAGES
-@dirrmtry share/locale/sr@latin
-@dirrmtry share/locale/ps/LC_MESSAGES
-@dirrmtry share/locale/ps
-@dirrmtry share/locale/oc/LC_MESSAGES
-@dirrmtry share/locale/oc
-@dirrmtry share/locale/nds/LC_MESSAGES
-@dirrmtry share/locale/nds
-@dirrmtry share/locale/mr/LC_MESSAGES
-@dirrmtry share/locale/mr
-@dirrmtry share/locale/mai/LC_MESSAGES
-@dirrmtry share/locale/mai
-@dirrmtry share/locale/ku/LC_MESSAGES
-@dirrmtry share/locale/ku
-@dirrmtry share/locale/kk/LC_MESSAGES
-@dirrmtry share/locale/kk
-@dirrmtry share/locale/en@shaw/LC_MESSAGES
-@dirrmtry share/locale/en@shaw
-@dirrmtry share/locale/dz/LC_MESSAGES
-@dirrmtry share/locale/dz
-@dirrmtry share/locale/ca@valencia/LC_MESSAGES
-@dirrmtry share/locale/ca@valencia
-@dirrmtry share/locale/bn_IN/LC_MESSAGES
-@dirrmtry share/locale/bn_IN
-@dirrmtry share/locale/be@latin/LC_MESSAGES
-@dirrmtry share/locale/be@latin
-@dirrmtry share/locale/ast/LC_MESSAGES
-@dirrmtry share/locale/ast
-@dirrmtry share/locale/as/LC_MESSAGES
-@dirrmtry share/locale/as
+share/locale/zu/LC_MESSAGES/cheese.mo