diff options
Diffstat (limited to 'multimedia/cheese')
| -rw-r--r-- | multimedia/cheese/Makefile | 50 | ||||
| -rw-r--r-- | multimedia/cheese/distinfo | 4 | ||||
| -rw-r--r-- | multimedia/cheese/files/patch-cheese-config.h.in | 12 | ||||
| -rw-r--r-- | multimedia/cheese/files/patch-configure | 372 | ||||
| -rw-r--r-- | multimedia/cheese/files/patch-libcheese_cheese-camera-device-monitor.c | 680 | ||||
| -rw-r--r-- | multimedia/cheese/pkg-plist | 1003 |
6 files changed, 1250 insertions, 871 deletions
diff --git a/multimedia/cheese/Makefile b/multimedia/cheese/Makefile index 823e05a50..bce8160f0 100644 --- a/multimedia/cheese/Makefile +++ b/multimedia/cheese/Makefile @@ -1,44 +1,46 @@ -# Created by: FreeBSD GNOME Team <gnome@FreeBSD.org> # $FreeBSD$ -# $MCom: ports/trunk/multimedia/cheese/Makefile 18610 2013-06-30 16:33:05Z marcus $ +# $MCom: ports/trunk/multimedia/cheese3/Makefile 18610 2013-06-30 16:33:05Z marcus $ PORTNAME= cheese -PORTVERSION= 2.32.0 -PORTREVISION= 4 +PORTVERSION= 3.6.0 CATEGORIES= multimedia gnome MASTER_SITES= GNOME -DIST_SUBDIR= gnome2 +DIST_SUBDIR= gnome3 MAINTAINER= gnome@FreeBSD.org -COMMENT= A 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 - -CONFLICTS= cheese-3.[0-9]* - -NO_STAGE= yes -USE_XORG= xxf86vm -USE_BZIP2= yes -USE_GNOME= gnomeprefix intlhack evolutiondataserver librsvg2 \ - gnomedocutils gnomedesktop +COMMENT= Photobooth-inspired app for taking pictures and videos from webcam + +BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev.h:${PORTSDIR}/multimedia/v4l_compat \ + ${LOCALBASE}/libdata/pkgconfig/gnome-video-effects.pc:${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 \ + libgee.so.2:${PORTSDIR}/devel/libgee06 \ + libclutter-gtk-1.0.so:${PORTSDIR}/graphics/clutter-gtk3 \ + libclutter-gst-2.0.so:${PORTSDIR}/multimedia/clutter-gst +RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gnome-video-effects.pc:${PORTSDIR}/graphics/gnome-video-effects + +USE_XORG= xxf86vm x11 +USE_XZ= yes +USE_GNOME= gnomeprefix intlhack evolutiondataserver3 librsvg2 \ + gnomedesktop3 libxml2:build introspection:build USES= gettext gmake pathfix pkgconfig -USE_GSTREAMER= gconf good ogg theora v4l2 vorbis -INSTALLS_OMF= yes +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 DOCS= AUTHORS COPYING ChangeLog NEWS README -GCONF_SCHEMAS= cheese.schemas +GLIB_SCHEMAS= org.gnome.Cheese.gschema.xml post-install: - @${MKDIR} ${DOCSDIR} + @${MKDIR} ${STAGEDIR}${DOCSDIR} .for i in ${DOCS} - @${INSTALL_DATA} ${WRKSRC}/${i} ${DOCSDIR} + @${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR} .endfor + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libcheese*.so.* .include <bsd.port.mk> diff --git a/multimedia/cheese/distinfo b/multimedia/cheese/distinfo index 9be290828..cc496447b 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.6.0.tar.xz) = f0872c6c276fabf054e37e427cb4a4174351a439ebfae7431ecc09a1837e9a80 +SIZE (gnome3/cheese-3.6.0.tar.xz) = 3713072 diff --git a/multimedia/cheese/files/patch-cheese-config.h.in b/multimedia/cheese/files/patch-cheese-config.h.in new file mode 100644 index 000000000..c9532cd4d --- /dev/null +++ b/multimedia/cheese/files/patch-cheese-config.h.in @@ -0,0 +1,12 @@ +--- cheese-config.h.in 2012-05-17 20:48:10.000000000 +0200 ++++ cheese-config.h.in 2012-06-13 10:31:28.000000000 +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 index 8befb947b..f8148f429 100644 --- a/multimedia/cheese/files/patch-configure +++ b/multimedia/cheese/files/patch-configure @@ -1,214 +1,196 @@ ---- 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; } +--- configure.orig 2013-04-07 22:02:48.205219751 +0000 ++++ configure 2013-04-07 22:24:32.131129660 +0000 +@@ -12556,6 +12556,7 @@ + GLIB_REQUIRED="glib-2.0 >= 2.28.0" + GOBJECT_REQUIRED="gobject-2.0 >= 2.28.0" + GIO_REQUIRED="gio-2.0 >= 2.28.0" ++DBUS_GLIB_REQUIRED="dbus-glib-1" + GTK_REQUIRED="gtk+-3.0 >= 3.4.4" + GDK_REQUIRED="gdk-3.0 >= 3.3.6" + GDK_PIXBUF_REQUIRED="gdk-pixbuf-2.0" +@@ -12585,6 +12586,10 @@ + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Linux" >&5 + $as_echo "Linux" >&6; } + UDEV_REQUIRED="gudev-1.0" ;; #( ++ *freebsd*) : ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: FreeBSD" >&5 ++$as_echo "FreeBSD" >&6; } ++ HAL_REQUIRED="hal" ;; #( + *) : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported operating system" >&5 + $as_echo "unsupported operating system" >&6; } ;; +@@ -12612,6 +12617,28 @@ + $as_echo "not needed" >&6; } + fi --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 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for hal" >&5 ++$as_echo_n "checking for hal... " >&6; } ++if test -n "$HAL_REQUIRED"; then : ++ if test -n "$PKG_CONFIG" && \ ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$HAL_REQUIRED\""; } >&5 ++ ($PKG_CONFIG --exists --print-errors "$HAL_REQUIRED") 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 ++$as_echo "found" >&6; } ++ ++$as_echo "#define HAVE_HAL /**/" >>confdefs.h ++ ++else ++ as_fn_error $? "$HAL_REQUIRED not found" "$LINENO" 5 ++fi ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not needed" >&5 ++$as_echo "not needed" >&6; } ++fi ++ + for ac_header in sys/videoio.h + do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/videoio.h" "ac_cv_header_sys_videoio_h" "$ac_includes_default" +@@ -12699,7 +12726,9 @@ + \$CAIRO_REQUIRED + \$PANGOCAIRO_REQUIRED + \$CLUTTER_REQUIRED ++ \$DBUS_GLIB_REQUIRED + \$CLUTTERGST_REQUIRED ++ \$HAL_REQUIRED + \$UDEV_REQUIRED\""; } >&5 + ($PKG_CONFIG --exists --print-errors "$GLIB_REQUIRED + $GIO_REQUIRED +@@ -12712,6 +12741,8 @@ + $PANGOCAIRO_REQUIRED + $CLUTTER_REQUIRED + $CLUTTERGST_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED + $UDEV_REQUIRED") 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` +@@ -12727,6 +12758,8 @@ + $PANGOCAIRO_REQUIRED + $CLUTTER_REQUIRED + $CLUTTERGST_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED + $UDEV_REQUIRED" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes 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 +@@ -12750,6 +12783,8 @@ + \$PANGOCAIRO_REQUIRED + \$CLUTTER_REQUIRED + \$CLUTTERGST_REQUIRED ++ \$DBUS_GLIB_REQUIRED ++ \$HAL_REQUIRED + \$UDEV_REQUIRED\""; } >&5 + ($PKG_CONFIG --exists --print-errors "$GLIB_REQUIRED + $GIO_REQUIRED +@@ -12762,6 +12797,8 @@ + $PANGOCAIRO_REQUIRED + $CLUTTER_REQUIRED + $CLUTTERGST_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED + $UDEV_REQUIRED") 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` +@@ -12777,6 +12814,8 @@ + $PANGOCAIRO_REQUIRED + $CLUTTER_REQUIRED + $CLUTTERGST_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED + $UDEV_REQUIRED" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes 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` +@@ -12809,6 +12848,8 @@ + $PANGOCAIRO_REQUIRED + $CLUTTER_REQUIRED + $CLUTTERGST_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED + $UDEV_REQUIRED" 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` + CHEESE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$GLIB_REQUIRED +@@ -12822,6 +12863,8 @@ + $PANGOCAIRO_REQUIRED + $CLUTTER_REQUIRED + $CLUTTERGST_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED + $UDEV_REQUIRED" 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 +@@ -12838,6 +12881,8 @@ + $PANGOCAIRO_REQUIRED + $CLUTTER_REQUIRED + $CLUTTERGST_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED + $UDEV_REQUIRED) were not met: -- 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 + $CHEESE_PKG_ERRORS +@@ -12889,6 +12934,8 @@ + \$GEE_REQUIRED + \$LIBCANBERRA_REQUIRED + \$UDEV_REQUIRED ++ \$DBUS_GLIB_REQUIRED ++ \$HAL_REQUIRED + \$GNOME_VIDEO_EFFECTS_REQUIRED\""; } >&5 + ($PKG_CONFIG --exists --print-errors "$GIO_REQUIRED + $GTK_REQUIRED +@@ -12898,6 +12945,8 @@ + $CLUTTERGTK_REQUIRED + $GEE_REQUIRED + $LIBCANBERRA_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED + $UDEV_REQUIRED + $GNOME_VIDEO_EFFECTS_REQUIRED") 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 +@@ -12943,6 +12992,8 @@ + $GEE_REQUIRED + $LIBCANBERRA_REQUIRED + $UDEV_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED + $GNOME_VIDEO_EFFECTS_REQUIRED") 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` +@@ -12956,6 +13007,9 @@ + $GEE_REQUIRED + $LIBCANBERRA_REQUIRED + $UDEV_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED ++ $HAL_REQUIRED + $GNOME_VIDEO_EFFECTS_REQUIRED" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes 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` +@@ -12986,6 +13040,8 @@ + $GEE_REQUIRED + $LIBCANBERRA_REQUIRED + $UDEV_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED + $GNOME_VIDEO_EFFECTS_REQUIRED" 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` + CHEESE_GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$GIO_REQUIRED +@@ -12997,6 +13053,8 @@ + $GEE_REQUIRED + $LIBCANBERRA_REQUIRED + $UDEV_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED + $GNOME_VIDEO_EFFECTS_REQUIRED" 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 +@@ -13011,6 +13069,8 @@ + $GEE_REQUIRED + $LIBCANBERRA_REQUIRED + $UDEV_REQUIRED ++ $DBUS_GLIB_REQUIRED ++ $HAL_REQUIRED + $GNOME_VIDEO_EFFECTS_REQUIRED) were not met: + $CHEESE_GTK_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 628066e47..995cb5d50 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 2755ff708..372bf891c 100644 --- a/multimedia/cheese/pkg-plist +++ b/multimedia/cheese/pkg-plist @@ -1,201 +1,716 @@ bin/cheese include/cheese/cheese-avatar-chooser.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-widget.h -lib/libcheese-gtk.a +include/cheese/cheese.h +lib/girepository-1.0/Cheese-3.0.typelib lib/libcheese-gtk.la lib/libcheese-gtk.so -lib/libcheese-gtk.so.18 +lib/libcheese-gtk.so.23 +lib/libcheese.la +lib/libcheese.so +lib/libcheese.so.7 libdata/pkgconfig/cheese-gtk.pc -libexec/cheese/cheese-bugreport.sh +libdata/pkgconfig/cheese.pc share/applications/cheese.desktop +%%DATADIR%%/cheese-actions.ui +%%DATADIR%%/cheese-main-window.ui %%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%%/cheese-viewport.json +%%DATADIR%%/cheese.catalog +%%DATADIR%%/cheese.css %%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 -share/dbus-1/services/org.gnome.Cheese.service %%DOCSDIR%%/AUTHORS %%DOCSDIR%%/COPYING %%DOCSDIR%%/ChangeLog %%DOCSDIR%%/CheeseAvatarChooser.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.png +%%DOCSDIR%%/libcheese-gtk.html +%%DOCSDIR%%/libcheese.html %%DOCSDIR%%/object-tree.html %%DOCSDIR%%/right.png +%%DOCSDIR%%/running-cheese.html %%DOCSDIR%%/style.css %%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/effects-apply.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/C/cheese/index.page +share/help/C/cheese/introduction.page +share/help/C/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/C/cheese/video-record.page +share/help/ca/cheese/effects-apply.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/ca/cheese/index.page +share/help/ca/cheese/introduction.page +share/help/ca/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/ca/cheese/video-record.page +share/help/cs/cheese/effects-apply.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/cs/cheese/index.page +share/help/cs/cheese/introduction.page +share/help/cs/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/cs/cheese/video-record.page +share/help/de/cheese/effects-apply.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/de/cheese/index.page +share/help/de/cheese/introduction.page +share/help/de/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/de/cheese/video-record.page +share/help/el/cheese/effects-apply.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/el/cheese/index.page +share/help/el/cheese/introduction.page +share/help/el/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/el/cheese/video-record.page +share/help/en_GB/cheese/effects-apply.page +share/help/en_GB/cheese/figures/cheese-delete.png +share/help/en_GB/cheese/figures/cheese-effects.png +share/help/en_GB/cheese/figures/cheese-introduction.png +share/help/en_GB/cheese/figures/cheese-record.png +share/help/en_GB/cheese/figures/cheese-save.png +share/help/en_GB/cheese/figures/cheese-take.png +share/help/en_GB/cheese/figures/cheese.png +share/help/en_GB/cheese/figures/effects.png +share/help/en_GB/cheese/figures/image-properties.png +share/help/en_GB/cheese/figures/settings.png +share/help/en_GB/cheese/index.page +share/help/en_GB/cheese/introduction.page +share/help/en_GB/cheese/mode-wide.page +share/help/en_GB/cheese/photo-delete.page +share/help/en_GB/cheese/photo-save.page +share/help/en_GB/cheese/photo-take.page +share/help/en_GB/cheese/photo-view.page +share/help/en_GB/cheese/pref-burst-mode.page +share/help/en_GB/cheese/pref-countdown.page +share/help/en_GB/cheese/pref-flash.page +share/help/en_GB/cheese/pref-fullscreen.page +share/help/en_GB/cheese/pref-image-properties.page +share/help/en_GB/cheese/pref-photo-resolution.page +share/help/en_GB/cheese/video-record.page +share/help/es/cheese/effects-apply.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/es/cheese/index.page +share/help/es/cheese/introduction.page +share/help/es/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/es/cheese/video-record.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/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/fi/cheese/video-record.page +share/help/fr/cheese/effects-apply.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/fr/cheese/index.page +share/help/fr/cheese/introduction.page +share/help/fr/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/fr/cheese/video-record.page +share/help/gl/cheese/effects-apply.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/gl/cheese/index.page +share/help/gl/cheese/introduction.page +share/help/gl/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/gl/cheese/video-record.page +share/help/hu/cheese/effects-apply.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/hu/cheese/index.page +share/help/hu/cheese/introduction.page +share/help/hu/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/hu/cheese/video-record.page +share/help/id/cheese/effects-apply.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/id/cheese/index.page +share/help/id/cheese/introduction.page +share/help/id/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/id/cheese/video-record.page +share/help/it/cheese/effects-apply.page +share/help/it/cheese/figures/cheese-delete.png +share/help/it/cheese/figures/cheese-effects.png +share/help/it/cheese/figures/cheese-introduction.png +share/help/it/cheese/figures/cheese-record.png +share/help/it/cheese/figures/cheese-save.png +share/help/it/cheese/figures/cheese-take.png +share/help/it/cheese/figures/cheese.png +share/help/it/cheese/figures/effects.png +share/help/it/cheese/figures/image-properties.png +share/help/it/cheese/figures/settings.png +share/help/it/cheese/index.page +share/help/it/cheese/introduction.page +share/help/it/cheese/mode-wide.page +share/help/it/cheese/photo-delete.page +share/help/it/cheese/photo-save.page +share/help/it/cheese/photo-take.page +share/help/it/cheese/photo-view.page +share/help/it/cheese/pref-burst-mode.page +share/help/it/cheese/pref-countdown.page +share/help/it/cheese/pref-flash.page +share/help/it/cheese/pref-fullscreen.page +share/help/it/cheese/pref-image-properties.page +share/help/it/cheese/pref-photo-resolution.page +share/help/it/cheese/video-record.page +share/help/ko/cheese/effects-apply.page +share/help/ko/cheese/figures/cheese-delete.png +share/help/ko/cheese/figures/cheese-effects.png +share/help/ko/cheese/figures/cheese-introduction.png +share/help/ko/cheese/figures/cheese-record.png +share/help/ko/cheese/figures/cheese-save.png +share/help/ko/cheese/figures/cheese-take.png +share/help/ko/cheese/figures/cheese.png +share/help/ko/cheese/figures/effects.png +share/help/ko/cheese/figures/image-properties.png +share/help/ko/cheese/figures/settings.png +share/help/ko/cheese/index.page +share/help/ko/cheese/introduction.page +share/help/ko/cheese/mode-wide.page +share/help/ko/cheese/photo-delete.page +share/help/ko/cheese/photo-save.page +share/help/ko/cheese/photo-take.page +share/help/ko/cheese/photo-view.page +share/help/ko/cheese/pref-burst-mode.page +share/help/ko/cheese/pref-countdown.page +share/help/ko/cheese/pref-flash.page +share/help/ko/cheese/pref-fullscreen.page +share/help/ko/cheese/pref-image-properties.page +share/help/ko/cheese/pref-photo-resolution.page +share/help/ko/cheese/video-record.page +share/help/lv/cheese/effects-apply.page +share/help/lv/cheese/figures/cheese-delete.png +share/help/lv/cheese/figures/cheese-effects.png +share/help/lv/cheese/figures/cheese-introduction.png +share/help/lv/cheese/figures/cheese-record.png +share/help/lv/cheese/figures/cheese-save.png +share/help/lv/cheese/figures/cheese-take.png +share/help/lv/cheese/figures/cheese.png +share/help/lv/cheese/figures/effects.png +share/help/lv/cheese/figures/image-properties.png +share/help/lv/cheese/figures/settings.png +share/help/lv/cheese/index.page +share/help/lv/cheese/introduction.page +share/help/lv/cheese/mode-wide.page +share/help/lv/cheese/photo-delete.page +share/help/lv/cheese/photo-save.page +share/help/lv/cheese/photo-take.page +share/help/lv/cheese/photo-view.page +share/help/lv/cheese/pref-burst-mode.page +share/help/lv/cheese/pref-countdown.page +share/help/lv/cheese/pref-flash.page +share/help/lv/cheese/pref-fullscreen.page +share/help/lv/cheese/pref-image-properties.page +share/help/lv/cheese/pref-photo-resolution.page +share/help/lv/cheese/video-record.page +share/help/nl/cheese/effects-apply.page +share/help/nl/cheese/figures/cheese-delete.png +share/help/nl/cheese/figures/cheese-effects.png +share/help/nl/cheese/figures/cheese-introduction.png +share/help/nl/cheese/figures/cheese-record.png +share/help/nl/cheese/figures/cheese-save.png +share/help/nl/cheese/figures/cheese-take.png +share/help/nl/cheese/figures/cheese.png +share/help/nl/cheese/figures/effects.png +share/help/nl/cheese/figures/image-properties.png +share/help/nl/cheese/figures/settings.png +share/help/nl/cheese/index.page +share/help/nl/cheese/introduction.page +share/help/nl/cheese/mode-wide.page +share/help/nl/cheese/photo-delete.page +share/help/nl/cheese/photo-save.page +share/help/nl/cheese/photo-take.page +share/help/nl/cheese/photo-view.page +share/help/nl/cheese/pref-burst-mode.page +share/help/nl/cheese/pref-countdown.page +share/help/nl/cheese/pref-flash.page +share/help/nl/cheese/pref-fullscreen.page +share/help/nl/cheese/pref-image-properties.page +share/help/nl/cheese/pref-photo-resolution.page +share/help/nl/cheese/video-record.page +share/help/oc/cheese/effects-apply.page +share/help/oc/cheese/figures/cheese-delete.png +share/help/oc/cheese/figures/cheese-effects.png +share/help/oc/cheese/figures/cheese-introduction.png +share/help/oc/cheese/figures/cheese-record.png +share/help/oc/cheese/figures/cheese-save.png +share/help/oc/cheese/figures/cheese-take.png +share/help/oc/cheese/figures/cheese.png +share/help/oc/cheese/figures/effects.png +share/help/oc/cheese/figures/image-properties.png +share/help/oc/cheese/figures/settings.png +share/help/oc/cheese/index.page +share/help/oc/cheese/introduction.page +share/help/oc/cheese/mode-wide.page +share/help/oc/cheese/photo-delete.page +share/help/oc/cheese/photo-save.page +share/help/oc/cheese/photo-take.page +share/help/oc/cheese/photo-view.page +share/help/oc/cheese/pref-burst-mode.page +share/help/oc/cheese/pref-countdown.page +share/help/oc/cheese/pref-flash.page +share/help/oc/cheese/pref-fullscreen.page +share/help/oc/cheese/pref-image-properties.page +share/help/oc/cheese/pref-photo-resolution.page +share/help/oc/cheese/video-record.page +share/help/pa/cheese/effects-apply.page +share/help/pa/cheese/figures/cheese-delete.png +share/help/pa/cheese/figures/cheese-effects.png +share/help/pa/cheese/figures/cheese-introduction.png +share/help/pa/cheese/figures/cheese-record.png +share/help/pa/cheese/figures/cheese-save.png +share/help/pa/cheese/figures/cheese-take.png +share/help/pa/cheese/figures/cheese.png +share/help/pa/cheese/figures/effects.png +share/help/pa/cheese/figures/image-properties.png +share/help/pa/cheese/figures/settings.png +share/help/pa/cheese/index.page +share/help/pa/cheese/introduction.page +share/help/pa/cheese/mode-wide.page +share/help/pa/cheese/photo-delete.page +share/help/pa/cheese/photo-save.page +share/help/pa/cheese/photo-take.page +share/help/pa/cheese/photo-view.page +share/help/pa/cheese/pref-burst-mode.page +share/help/pa/cheese/pref-countdown.page +share/help/pa/cheese/pref-flash.page +share/help/pa/cheese/pref-fullscreen.page +share/help/pa/cheese/pref-image-properties.page +share/help/pa/cheese/pref-photo-resolution.page +share/help/pa/cheese/video-record.page +share/help/pt_BR/cheese/effects-apply.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/pt_BR/cheese/index.page +share/help/pt_BR/cheese/introduction.page +share/help/pt_BR/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/pt_BR/cheese/video-record.page +share/help/ru/cheese/effects-apply.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/ru/cheese/index.page +share/help/ru/cheese/introduction.page +share/help/ru/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/ru/cheese/video-record.page +share/help/sl/cheese/effects-apply.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/sl/cheese/index.page +share/help/sl/cheese/introduction.page +share/help/sl/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/sl/cheese/video-record.page +share/help/sv/cheese/effects-apply.page +share/help/sv/cheese/figures/cheese-delete.png +share/help/sv/cheese/figures/cheese-effects.png +share/help/sv/cheese/figures/cheese-introduction.png +share/help/sv/cheese/figures/cheese-record.png +share/help/sv/cheese/figures/cheese-save.png +share/help/sv/cheese/figures/cheese-take.png +share/help/sv/cheese/figures/cheese.png +share/help/sv/cheese/figures/effects.png +share/help/sv/cheese/figures/image-properties.png +share/help/sv/cheese/figures/settings.png +share/help/sv/cheese/index.page +share/help/sv/cheese/introduction.page +share/help/sv/cheese/mode-wide.page +share/help/sv/cheese/photo-delete.page +share/help/sv/cheese/photo-save.page +share/help/sv/cheese/photo-take.page +share/help/sv/cheese/photo-view.page +share/help/sv/cheese/pref-burst-mode.page +share/help/sv/cheese/pref-countdown.page +share/help/sv/cheese/pref-flash.page +share/help/sv/cheese/pref-fullscreen.page +share/help/sv/cheese/pref-image-properties.page +share/help/sv/cheese/pref-photo-resolution.page +share/help/sv/cheese/video-record.page +share/help/te/cheese/effects-apply.page +share/help/te/cheese/figures/cheese-delete.png +share/help/te/cheese/figures/cheese-effects.png +share/help/te/cheese/figures/cheese-introduction.png +share/help/te/cheese/figures/cheese-record.png +share/help/te/cheese/figures/cheese-save.png +share/help/te/cheese/figures/cheese-take.png +share/help/te/cheese/figures/cheese.png +share/help/te/cheese/figures/effects.png +share/help/te/cheese/figures/image-properties.png +share/help/te/cheese/figures/settings.png +share/help/te/cheese/index.page +share/help/te/cheese/introduction.page +share/help/te/cheese/mode-wide.page +share/help/te/cheese/photo-delete.page +share/help/te/cheese/photo-save.page +share/help/te/cheese/photo-take.page +share/help/te/cheese/photo-view.page +share/help/te/cheese/pref-burst-mode.page +share/help/te/cheese/pref-countdown.page +share/help/te/cheese/pref-flash.page +share/help/te/cheese/pref-fullscreen.page +share/help/te/cheese/pref-image-properties.page +share/help/te/cheese/pref-photo-resolution.page +share/help/te/cheese/video-record.page +share/help/th/cheese/effects-apply.page +share/help/th/cheese/figures/cheese-delete.png +share/help/th/cheese/figures/cheese-effects.png +share/help/th/cheese/figures/cheese-introduction.png +share/help/th/cheese/figures/cheese-record.png +share/help/th/cheese/figures/cheese-save.png +share/help/th/cheese/figures/cheese-take.png +share/help/th/cheese/figures/cheese.png +share/help/th/cheese/figures/effects.png +share/help/th/cheese/figures/image-properties.png +share/help/th/cheese/figures/settings.png +share/help/th/cheese/index.page +share/help/th/cheese/introduction.page +share/help/th/cheese/mode-wide.page +share/help/th/cheese/photo-delete.page +share/help/th/cheese/photo-save.page +share/help/th/cheese/photo-take.page +share/help/th/cheese/photo-view.page +share/help/th/cheese/pref-burst-mode.page +share/help/th/cheese/pref-countdown.page +share/help/th/cheese/pref-flash.page +share/help/th/cheese/pref-fullscreen.page +share/help/th/cheese/pref-image-properties.page +share/help/th/cheese/pref-photo-resolution.page +share/help/th/cheese/video-record.page +share/help/zh_CN/cheese/effects-apply.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/help/zh_CN/cheese/index.page +share/help/zh_CN/cheese/introduction.page +share/help/zh_CN/cheese/mode-wide.page +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-burst-mode.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-photo-resolution.page +share/help/zh_CN/cheese/video-record.page +share/icons/hicolor/16x16/actions/browse-webcam-effects.png +share/icons/hicolor/16x16/actions/cheese-take-burst.png +share/icons/hicolor/16x16/actions/cheese-take-photo.png share/icons/hicolor/16x16/apps/cheese.png +share/icons/hicolor/22x22/actions/browse-webcam-effects.png +share/icons/hicolor/22x22/actions/cheese-take-burst.png +share/icons/hicolor/22x22/actions/cheese-take-photo.png share/icons/hicolor/22x22/apps/cheese.png +share/icons/hicolor/24x24/actions/browse-webcam-effects.png +share/icons/hicolor/24x24/actions/cheese-take-burst.png +share/icons/hicolor/24x24/actions/cheese-take-photo.png share/icons/hicolor/24x24/apps/cheese.png share/icons/hicolor/256x256/apps/cheese.png +share/icons/hicolor/32x32/actions/browse-webcam-effects.png +share/icons/hicolor/32x32/actions/cheese-take-burst.png +share/icons/hicolor/32x32/actions/cheese-take-photo.png share/icons/hicolor/32x32/apps/cheese.png +share/icons/hicolor/48x48/actions/browse-webcam-effects.png +share/icons/hicolor/48x48/actions/cheese-take-burst.png +share/icons/hicolor/48x48/actions/cheese-take-photo.png share/icons/hicolor/48x48/apps/cheese.png -share/icons/hicolor/scalable/apps/cheese.svg +share/icons/hicolor/scalable/actions/browse-webcam-effects.svg +share/icons/hicolor/scalable/actions/cheese-take-burst.svg +share/icons/hicolor/scalable/actions/cheese-take-photo.svg share/locale/af/LC_MESSAGES/cheese.mo share/locale/ar/LC_MESSAGES/cheese.mo share/locale/as/LC_MESSAGES/cheese.mo @@ -214,9 +729,11 @@ 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/ga/LC_MESSAGES/cheese.mo @@ -231,9 +748,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 +773,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 @@ -266,85 +786,13 @@ 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%% -@dirrmtry share/applications -@dirrm libexec/cheese -@dirrm include/cheese +share/locale/zu/LC_MESSAGES/cheese.mo +@dirrmtry share/locale/zu/LC_MESSAGES +@dirrmtry share/locale/zu @dirrmtry share/locale/zh_HK/LC_MESSAGES @dirrmtry share/locale/zh_HK @dirrmtry share/locale/ug/LC_MESSAGES @@ -381,3 +829,86 @@ share/omf/cheese/cheese-zh_CN.omf @dirrmtry share/locale/ast @dirrmtry share/locale/as/LC_MESSAGES @dirrmtry share/locale/as +@dirrmtry share/icons/hicolor/256x256/apps +@dirrmtry share/icons/hicolor/256x256 +@dirrmtry share/help/zh_CN/cheese/figures +@dirrmtry share/help/zh_CN/cheese +@dirrmtry share/help/zh_CN +@dirrmtry share/help/th/cheese/figures +@dirrmtry share/help/th/cheese +@dirrmtry share/help/th +@dirrmtry share/help/te/cheese/figures +@dirrmtry share/help/te/cheese +@dirrmtry share/help/te +@dirrmtry share/help/sv/cheese/figures +@dirrmtry share/help/sv/cheese +@dirrmtry share/help/sv +@dirrmtry share/help/sl/cheese/figures +@dirrmtry share/help/sl/cheese +@dirrmtry share/help/sl +@dirrmtry share/help/ru/cheese/figures +@dirrmtry share/help/ru/cheese +@dirrmtry share/help/ru +@dirrmtry share/help/pt_BR/cheese/figures +@dirrmtry share/help/pt_BR/cheese +@dirrmtry share/help/pt_BR +@dirrmtry share/help/pa/cheese/figures +@dirrmtry share/help/pa/cheese +@dirrmtry share/help/pa +@dirrmtry share/help/oc/cheese/figures +@dirrmtry share/help/oc/cheese +@dirrmtry share/help/oc +@dirrmtry share/help/nl/cheese/figures +@dirrmtry share/help/nl/cheese +@dirrmtry share/help/nl +@dirrmtry share/help/lv/cheese/figures +@dirrmtry share/help/lv/cheese +@dirrmtry share/help/lv +@dirrmtry share/help/ko/cheese/figures +@dirrmtry share/help/ko/cheese +@dirrmtry share/help/ko +@dirrmtry share/help/it/cheese/figures +@dirrmtry share/help/it/cheese +@dirrmtry share/help/it +@dirrmtry share/help/id/cheese/figures +@dirrmtry share/help/id/cheese +@dirrmtry share/help/id +@dirrmtry share/help/hu/cheese/figures +@dirrmtry share/help/hu/cheese +@dirrmtry share/help/hu +@dirrmtry share/help/gl/cheese/figures +@dirrmtry share/help/gl/cheese +@dirrmtry share/help/gl +@dirrmtry share/help/fr/cheese/figures +@dirrmtry share/help/fr/cheese +@dirrmtry share/help/fr +@dirrmtry share/help/fi/cheese/figures +@dirrmtry share/help/fi/cheese +@dirrmtry share/help/fi +@dirrmtry share/help/es/cheese/figures +@dirrmtry share/help/es/cheese +@dirrmtry share/help/es +@dirrmtry share/help/en_GB/cheese/figures +@dirrmtry share/help/en_GB/cheese +@dirrmtry share/help/en_GB +@dirrmtry share/help/el/cheese/figures +@dirrmtry share/help/el/cheese +@dirrmtry share/help/el +@dirrmtry share/help/de/cheese/figures +@dirrmtry share/help/de/cheese +@dirrmtry share/help/de +@dirrmtry share/help/cs/cheese/figures +@dirrmtry share/help/cs/cheese +@dirrmtry share/help/cs +@dirrmtry share/help/ca/cheese/figures +@dirrmtry share/help/ca/cheese +@dirrmtry share/help/ca +@dirrmtry share/help/C/cheese/figures +@dirrmtry share/help/C/cheese +@dirrmtry share/help/C +@dirrmtry share/help +@dirrm %%DOCSDIR%% +@dirrm %%DATADIR%%/pixmaps +@dirrm %%DATADIR%% +@dirrmtry share/applications +@dirrm include/cheese |
