diff options
author | jmcneill <jmcneill@pkgsrc.org> | 2008-09-07 22:43:00 +0000 |
---|---|---|
committer | jmcneill <jmcneill@pkgsrc.org> | 2008-09-07 22:43:00 +0000 |
commit | 785d2d629bc7288e9f2f5c58ea6e75cf7eb91d5c (patch) | |
tree | 36ae9b11c7054d001b45a526ae061c633a96f356 /graphics/cheese | |
parent | 97010203d002e0276c4d21802dce2792561c52dc (diff) | |
download | pkgsrc-785d2d629bc7288e9f2f5c58ea6e75cf7eb91d5c.tar.gz |
Cheese uses your webcam to take photos and videos, applies fancy special
effects and lets you share the fun with others. Under the hood, Cheese
uses GStreamer to apply fancy effects to photos and videos. With Cheese
it is easy to take photos of you, your friends, pets or whatever you want
and share them with others.
This package includes a patch to disable the HAL dependency for webcam
discovery.
Diffstat (limited to 'graphics/cheese')
-rw-r--r-- | graphics/cheese/DESCR | 5 | ||||
-rw-r--r-- | graphics/cheese/Makefile | 51 | ||||
-rw-r--r-- | graphics/cheese/PLIST | 129 | ||||
-rw-r--r-- | graphics/cheese/distinfo | 7 | ||||
-rw-r--r-- | graphics/cheese/options.mk | 14 | ||||
-rw-r--r-- | graphics/cheese/patches/patch-aa | 49 | ||||
-rw-r--r-- | graphics/cheese/patches/patch-ab | 103 |
7 files changed, 358 insertions, 0 deletions
diff --git a/graphics/cheese/DESCR b/graphics/cheese/DESCR new file mode 100644 index 00000000000..eb72955a2cb --- /dev/null +++ b/graphics/cheese/DESCR @@ -0,0 +1,5 @@ +Cheese uses your webcam to take photos and videos, applies fancy special +effects and lets you share the fun with others. Under the hood, Cheese +uses GStreamer to apply fancy effects to photos and videos. With Cheese +it is easy to take photos of you, your friends, pets or whatever you want +and share them with others. diff --git a/graphics/cheese/Makefile b/graphics/cheese/Makefile new file mode 100644 index 00000000000..ff2abd32966 --- /dev/null +++ b/graphics/cheese/Makefile @@ -0,0 +1,51 @@ +# $NetBSD: Makefile,v 1.1.1.1 2008/09/07 22:43:00 jmcneill Exp $ + +DISTNAME= cheese-2.22.3 +CATEGORIES= graphics +MASTER_SITES= ${MASTER_SITE_GNOME:=sources/cheese/2.22/} + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://www.gnome.org/projects/cheese/ +COMMENT= Use your webcam to take photos and videos + +PKG_DESTDIR_SUPPORT= user-destdir + +GNU_CONFIGURE= yes +USE_DIRS+= gnome2-1.5 +USE_TOOLS+= pkg-config perl intltool gmake +USE_TOOLS+= autoconf automake autoreconf +USE_LIBTOOL= yes +USE_PKGLOCALEDIR= yes + +GCONF_SCHEMAS+= cheese.schemas + +pre-configure: + cd ${WRKSRC} && autoreconf -vi # -f breaks it + +post-install: +.for schema in ${GCONF_SCHEMAS} + ${INSTALL_DATA} ${WRKSRC}/data/${schema} ${PREFIX}/share/gconf/schemas +.endfor + +.include "options.mk" + +.include "../../devel/GConf/schemas.mk" +.include "../../devel/gettext-lib/buildlink3.mk" +.include "../../devel/glib2/buildlink3.mk" +.include "../../devel/libgnomeui/buildlink3.mk" +.include "../../devel/pango/buildlink3.mk" +.include "../../graphics/cairo/buildlink3.mk" +.include "../../graphics/librsvg/buildlink3.mk" +.include "../../mail/evolution-data-server/buildlink3.mk" +.include "../../multimedia/gst-plugins0.10-base/buildlink3.mk" +.include "../../multimedia/gst-plugins0.10-good/buildlink3.mk" +DEPENDS+= gst-plugins0.10-theora>=0.10.1:../../multimedia/gst-plugins0.10-theora +DEPENDS+= gst-plugins0.10-ogg>=0.10.1:../../multimedia/gst-plugins0.10-ogg +DEPENDS+= gst-plugins0.10-vorbis>=0.10.1:../../audio/gst-plugins0.10-vorbis +.include "../../multimedia/gstreamer0.10/buildlink3.mk" +.include "../../sysutils/dbus/buildlink3.mk" +.include "../../sysutils/dbus-glib/buildlink3.mk" +.include "../../textproc/gnome-doc-utils/buildlink3.mk" +.include "../../x11/gtk2/buildlink3.mk" +.include "../../x11/libXxf86vm/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/graphics/cheese/PLIST b/graphics/cheese/PLIST new file mode 100644 index 00000000000..c71f83ae213 --- /dev/null +++ b/graphics/cheese/PLIST @@ -0,0 +1,129 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2008/09/07 22:43:00 jmcneill Exp $ +bin/cheese +libexec/cheese/cheese-bugreport.sh +share/applications/cheese.desktop +share/cheese/cheese-ui.xml +share/cheese/cheese.ui +share/cheese/effects/Hulk.png +share/cheese/effects/Mauve.png +share/cheese/effects/NoirBlanc.png +share/cheese/effects/Saturation.png +share/cheese/effects/dicetv.png +share/cheese/effects/edgetv.png +share/cheese/effects/identity.png +share/cheese/effects/shagadelictv.png +share/cheese/effects/vertigotv.png +share/cheese/effects/videoflip_h.png +share/cheese/effects/videoflip_v.png +share/cheese/effects/warptv.png +share/cheese/pixmaps/camera-icon.svg +share/cheese/pixmaps/thumbnail-frame.png +share/cheese/sounds/shutter0.ogg +share/cheese/sounds/shutter1.ogg +share/cheese/sounds/shutter2.ogg +share/cheese/sounds/shutter3.ogg +share/cheese/sounds/shutter4.ogg +share/gconf/schemas/cheese.schemas +share/gnome/help/cheese/C/cheese.xml +share/gnome/help/cheese/C/figures/cheese-effects-screenshot.jpg +share/gnome/help/cheese/C/figures/cheese-screenshot.jpg +share/gnome/help/cheese/C/legal.xml +share/gnome/help/cheese/el/cheese.xml +share/gnome/help/cheese/el/figures/cheese-effects-screenshot.jpg +share/gnome/help/cheese/el/figures/cheese-screenshot.jpg +share/gnome/help/cheese/es/cheese.xml +share/gnome/help/cheese/es/figures/cheese-effects-screenshot.jpg +share/gnome/help/cheese/es/figures/cheese-screenshot.jpg +share/gnome/help/cheese/fr/cheese.xml +share/gnome/help/cheese/fr/figures/cheese-effects-screenshot.jpg +share/gnome/help/cheese/fr/figures/cheese-screenshot.jpg +share/gnome/help/cheese/oc/cheese.xml +share/gnome/help/cheese/oc/figures/cheese-effects-screenshot.jpg +share/gnome/help/cheese/oc/figures/cheese-screenshot.jpg +share/gnome/help/cheese/ru/cheese.xml +share/gnome/help/cheese/ru/figures/cheese-effects-screenshot.jpg +share/gnome/help/cheese/ru/figures/cheese-screenshot.jpg +share/gnome/help/cheese/sv/cheese.xml +share/gnome/help/cheese/sv/figures/cheese-effects-screenshot.jpg +share/gnome/help/cheese/sv/figures/cheese-screenshot.jpg +share/icons/hicolor/16x16/apps/cheese.png +share/icons/hicolor/22x22/apps/cheese.png +share/icons/hicolor/24x24/apps/cheese.png +share/icons/hicolor/32x32/apps/cheese.png +share/icons/hicolor/48x48/apps/cheese.png +share/icons/hicolor/icon-theme.cache +share/icons/hicolor/scalable/apps/cheese.svg +share/locale/ar/LC_MESSAGES/cheese.mo +share/locale/be@latin/LC_MESSAGES/cheese.mo +share/locale/bg/LC_MESSAGES/cheese.mo +share/locale/bn_IN/LC_MESSAGES/cheese.mo +share/locale/ca/LC_MESSAGES/cheese.mo +share/locale/cs/LC_MESSAGES/cheese.mo +share/locale/da/LC_MESSAGES/cheese.mo +share/locale/de/LC_MESSAGES/cheese.mo +share/locale/el/LC_MESSAGES/cheese.mo +share/locale/en_GB/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/fi/LC_MESSAGES/cheese.mo +share/locale/fr/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 +share/locale/he/LC_MESSAGES/cheese.mo +share/locale/hu/LC_MESSAGES/cheese.mo +share/locale/it/LC_MESSAGES/cheese.mo +share/locale/ja/LC_MESSAGES/cheese.mo +share/locale/ko/LC_MESSAGES/cheese.mo +share/locale/lt/LC_MESSAGES/cheese.mo +share/locale/mk/LC_MESSAGES/cheese.mo +share/locale/ml/LC_MESSAGES/cheese.mo +share/locale/mr/LC_MESSAGES/cheese.mo +share/locale/nb/LC_MESSAGES/cheese.mo +share/locale/nl/LC_MESSAGES/cheese.mo +share/locale/nn/LC_MESSAGES/cheese.mo +share/locale/oc/LC_MESSAGES/cheese.mo +share/locale/pa/LC_MESSAGES/cheese.mo +share/locale/pl/LC_MESSAGES/cheese.mo +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/sl/LC_MESSAGES/cheese.mo +share/locale/sv/LC_MESSAGES/cheese.mo +share/locale/th/LC_MESSAGES/cheese.mo +share/locale/tr/LC_MESSAGES/cheese.mo +share/locale/uk/LC_MESSAGES/cheese.mo +share/locale/vi/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-el.omf +share/omf/cheese/cheese-es.omf +share/omf/cheese/cheese-fr.omf +share/omf/cheese/cheese-oc.omf +share/omf/cheese/cheese-ru.omf +share/omf/cheese/cheese-sv.omf +@dirrm share/omf/cheese +@dirrm share/gnome/help/cheese/sv/figures +@dirrm share/gnome/help/cheese/sv +@dirrm share/gnome/help/cheese/ru/figures +@dirrm share/gnome/help/cheese/ru +@dirrm share/gnome/help/cheese/oc/figures +@dirrm share/gnome/help/cheese/oc +@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/el/figures +@dirrm share/gnome/help/cheese/el +@dirrm share/gnome/help/cheese/C/figures +@dirrm share/gnome/help/cheese/C +@dirrm share/gnome/help/cheese +@dirrm share/cheese/sounds +@dirrm share/cheese/pixmaps +@dirrm share/cheese/effects +@dirrm share/cheese +@dirrm libexec/cheese diff --git a/graphics/cheese/distinfo b/graphics/cheese/distinfo new file mode 100644 index 00000000000..7df1a8cfa84 --- /dev/null +++ b/graphics/cheese/distinfo @@ -0,0 +1,7 @@ +$NetBSD: distinfo,v 1.1.1.1 2008/09/07 22:43:00 jmcneill Exp $ + +SHA1 (cheese-2.22.3.tar.gz) = eb7f66d8d7420578ee5a8e51eb2b2f1546ac4b70 +RMD160 (cheese-2.22.3.tar.gz) = 0634167bc3e5e52648f53e5c394199eb655c7309 +Size (cheese-2.22.3.tar.gz) = 1650728 bytes +SHA1 (patch-aa) = 050ad40875386a4570c850da2a6c3d1ab7844cb2 +SHA1 (patch-ab) = 38151c3fa8557d7b62342224cfb8817a19b0917f diff --git a/graphics/cheese/options.mk b/graphics/cheese/options.mk new file mode 100644 index 00000000000..36d184c22ea --- /dev/null +++ b/graphics/cheese/options.mk @@ -0,0 +1,14 @@ +# $NetBSD: options.mk,v 1.1.1.1 2008/09/07 22:43:00 jmcneill Exp $ +# +PKG_OPTIONS_VAR= PKG_OPTIONS.cheese +PKG_SUPPORTED_OPTIONS= hal + +.include "../../mk/bsd.options.mk" + +.if !empty(PKG_OPTIONS:Mhal) +CONFIGURE_ARGS+= --enable-hal +# XXX FIXME +#. include "../../sysutils/hal/buildlink3.mk" +.else +CONFIGURE_ARGS+= --enable-hal=no +.endif diff --git a/graphics/cheese/patches/patch-aa b/graphics/cheese/patches/patch-aa new file mode 100644 index 00000000000..20bab37862b --- /dev/null +++ b/graphics/cheese/patches/patch-aa @@ -0,0 +1,49 @@ +$NetBSD: patch-aa,v 1.1.1.1 2008/09/07 22:43:00 jmcneill Exp $ + +--- configure.ac.orig 2008-06-29 12:17:43.000000000 -0400 ++++ configure.ac +@@ -17,8 +17,9 @@ AM_PROG_LIBTOOL + + CFLAGS="${CFLAGS} -Wall" + +-GNOME_MAINTAINER_MODE_DEFINES +-GNOME_COMPILE_WARNINGS ++dnl If you can find where these come from, use them! ;) ++dnl GNOME_MAINTAINER_MODE_DEFINES ++dnl GNOME_COMPILE_WARNINGS + + #******************************************************************************* + # Expanded dirs +@@ -83,18 +84,30 @@ PKG_CHECK_MODULES(CHEESE, \ + libebook-1.2 >= $LIBEBOOK_REQUIRED \ + cairo >= $CAIRO_REQUIRED \ + dbus-1 >= $DBUS_REQUIRED \ +- hal >= $HAL_REQUIRED \ + dbus-glib-1 >= $DBUS_GLIB_REQUIRED \ + pangocairo >= $PANGOCAIRO_REQUIRED \ + librsvg-2.0 >= $LIBRSVG_REQUIRED \ + xxf86vm) +- + AC_SUBST(CHEESE_CFLAGS) + + CHEESE_LIBS="$CHEESE_LIBS -lgstinterfaces-0.10" + + AC_SUBST(CHEESE_LIBS) + ++AC_ARG_ENABLE(hal, AS_HELP_STRING([--enable-hal], [Use the HAL library (default=no)]),, enable_hal=no) ++ ++if test "x$enable_hal" = "xyes"; then ++ PKG_CHECK_MODULES([HAL], hal >= $HAL_REQUIRED, ac_have_hal=yes, ac_have_hal=no) ++else ++ enable_hal=no ++fi ++ ++if test "x$ac_have_hal" = "xyes"; then ++ AC_DEFINE(HAVE_HAL, 1, define to 1 if HAL is used) ++else ++ AC_DEFINE(HAVE_HAL, 0, define to 1 if HAL is used) ++fi ++ + AC_PATH_PROG(GCONFTOOL, gconftool-2) + AM_GCONF_SOURCE_2 + diff --git a/graphics/cheese/patches/patch-ab b/graphics/cheese/patches/patch-ab new file mode 100644 index 00000000000..258ddbffe76 --- /dev/null +++ b/graphics/cheese/patches/patch-ab @@ -0,0 +1,103 @@ +$NetBSD: patch-ab,v 1.1.1.1 2008/09/07 22:43:00 jmcneill Exp $ + +--- src/cheese-webcam.c.orig 2008-06-29 12:17:43.000000000 -0400 ++++ src/cheese-webcam.c 2008-09-07 16:36:47.000000000 -0400 +@@ -31,7 +31,22 @@ + #include <gdk-pixbuf/gdk-pixbuf.h> + #include <X11/Xlib.h> + #include <X11/extensions/xf86vmode.h> ++ ++#if HAVE_HAL + #include <libhal.h> ++#else ++#include <sys/ioctl.h> ++#include <fcntl.h> ++#include <unistd.h> ++#if defined(__NetBSD__) || defined(__OpenBSD__) ++#include <sys/types.h> ++#include <sys/videoio.h> ++#elif defined(__sun) ++#include <sys/types.h> ++#include <sys/videodev2.h> ++#endif ++#endif ++ + + #include "cheese-webcam.h" + +@@ -233,7 +248,7 @@ + } + } + +- ++#if HAVE_HAL + static void + cheese_webcam_get_video_devices_from_hal (CheeseWebcam *webcam) + { +@@ -307,6 +322,54 @@ + } + libhal_free_string_array (udis); + } ++#else ++static void ++cheese_webcam_get_video_devices_from_probe (CheeseWebcam *webcam) ++{ ++ CheeseWebcamPrivate* priv = CHEESE_WEBCAM_GET_PRIVATE (webcam); ++ struct v4l2_capability caps; ++ gchar videodev[] = "/dev/video?"; ++ guint16 cammask = 0; ++ int i, ncams = 0, fd, ret, cur = 0; ++ ++ for (i = 0; i < 9; i++) ++ { ++ videodev[strlen(videodev) - 1] = '0' + i; ++ fd = open(videodev, O_RDONLY); ++ if (fd == -1) ++ continue; ++ ret = ioctl(fd, VIDIOC_QUERYCAP, &caps); ++ close(fd); ++ if (ret) ++ { ++ continue; ++ } ++ g_message("Found video device: %s\n", caps.card); ++ cammask |= (1 << i); ++ ++ncams; ++ } ++ ++ priv->num_webcam_devices = ncams; ++ if (ncams == 0) ++ return; ++ priv->webcam_devices = g_new0 (CheeseWebcamDevice, ncams); ++ for (i = 0; i < ncams; i++) ++ { ++ priv->webcam_devices[i].num_video_formats = 0; ++ priv->webcam_devices[i].video_formats = g_array_new (FALSE, FALSE, sizeof (CheeseVideoFormat)); ++ } ++ ++ for (i = 0; i < 9; i++) ++ { ++ if (cammask & (1 << i)) ++ { ++ videodev[strlen(videodev) - 1] = '0' + i; ++ priv->webcam_devices[i].video_device = g_strdup (videodev); ++ ++cur; ++ } ++ } ++} ++#endif /* !HAVE_HAL */ + + static void + cheese_webcam_get_supported_framerates (CheeseVideoFormat *video_format, GstStructure *structure) +@@ -549,7 +612,11 @@ + CheeseWebcamPrivate* priv = CHEESE_WEBCAM_GET_PRIVATE (webcam); + int i; + ++#if HAVE_HAL + cheese_webcam_get_video_devices_from_hal (webcam); ++#else ++ cheese_webcam_get_video_devices_from_probe (webcam); ++#endif + for (i = 0; i < priv->num_webcam_devices; i++) + { + cheese_webcam_get_webcam_device_data (&(priv->webcam_devices[i])); |