summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorjmcneill <jmcneill>2008-09-07 22:43:00 +0000
committerjmcneill <jmcneill>2008-09-07 22:43:00 +0000
commit8e5f56fcf4666c215676bd732441892c8df9986d (patch)
tree36ae9b11c7054d001b45a526ae061c633a96f356 /graphics
parentf20634ee5fca1574d5459bdc3ff61e33b2c91550 (diff)
downloadpkgsrc-8e5f56fcf4666c215676bd732441892c8df9986d.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')
-rw-r--r--graphics/cheese/DESCR5
-rw-r--r--graphics/cheese/Makefile51
-rw-r--r--graphics/cheese/PLIST129
-rw-r--r--graphics/cheese/distinfo7
-rw-r--r--graphics/cheese/options.mk14
-rw-r--r--graphics/cheese/patches/patch-aa49
-rw-r--r--graphics/cheese/patches/patch-ab103
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]));