aboutsummaryrefslogtreecommitdiff
path: root/multimedia/cheese
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2016-02-14 18:57:53 +0000
committerKoop Mast <kwm@FreeBSD.org>2016-02-14 18:57:53 +0000
commitb93a80c99281466281db26011356c75bd54ea36c (patch)
treecb5a8a1108829deee66dbb334ff2a733162448c6 /multimedia/cheese
parentb78527376a1d11bef820d5e9fe86d3c524ea6acf (diff)
downloadports-b93a80c99281466281db26011356c75bd54ea36c.tar.gz
ports-b93a80c99281466281db26011356c75bd54ea36c.zip
The FreeBSD GNOME team proudly presents GNOME 3.18 for FreeBSD.
The offical GNOME 3.18 release notes can be found at https://help.gnome.org/misc/release-notes/3.18/ This update doesn't contain the glib/gtk c++ bindings which will be done in a another update due to the requirement on c++11 and the amount of fallout this probably will give. GDM is still at version 3.16 due to some issues. Bump mate-themes to use the gtk 3.18 version of the themes. Thanks to Antoine Brodin for running the exp-runs. This release was made possible by the following people: Gustau Perez Ting-Wei_Lan PR: 207006
Notes
Notes: svn path=/head/; revision=408881
Diffstat (limited to 'multimedia/cheese')
-rw-r--r--multimedia/cheese/Makefile6
-rw-r--r--multimedia/cheese/distinfo4
-rw-r--r--multimedia/cheese/files/patch-libcheese_cheese-camera-device-monitor.c290
-rw-r--r--multimedia/cheese/pkg-message8
-rw-r--r--multimedia/cheese/pkg-plist35
5 files changed, 43 insertions, 300 deletions
diff --git a/multimedia/cheese/Makefile b/multimedia/cheese/Makefile
index 6578613de053..32055d6c112d 100644
--- a/multimedia/cheese/Makefile
+++ b/multimedia/cheese/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= cheese
-PORTVERSION= 3.16.1
+PORTVERSION= 3.18.1
CATEGORIES= multimedia gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome3
@@ -17,12 +17,12 @@ BUILD_DEPENDS= v4l_compat>=0:${PORTSDIR}/multimedia/v4l_compat \
LIB_DEPENDS= libcanberra-gtk3.so:${PORTSDIR}/audio/libcanberra-gtk3 \
libhal.so:${PORTSDIR}/sysutils/hal \
libclutter-gtk-1.0.so:${PORTSDIR}/graphics/clutter-gtk3 \
- libclutter-gst-2.0.so:${PORTSDIR}/multimedia/clutter-gst
+ libclutter-gst-3.0.so:${PORTSDIR}/multimedia/clutter-gst3
RUN_DEPENDS= gnome-video-effects>=0:${PORTSDIR}/graphics/gnome-video-effects
PORTSCOUT= limitw:1,even
-USES= gettext gmake libtool pathfix pkgconfig tar:xz
+USES= gettext gmake gnome libtool pathfix pkgconfig tar:xz
USE_GNOME= intlhack evolutiondataserver3 librsvg2 \
gnomedesktop3 libxml2:build introspection:build
USE_XORG= xxf86vm x11
diff --git a/multimedia/cheese/distinfo b/multimedia/cheese/distinfo
index 3f84e604e1b0..e1b8910cb3e1 100644
--- a/multimedia/cheese/distinfo
+++ b/multimedia/cheese/distinfo
@@ -1,2 +1,2 @@
-SHA256 (gnome3/cheese-3.16.1.tar.xz) = 44622f6ad6d8703b22c6d40219ae317959495ccc9994b563b324592933ff90a0
-SIZE (gnome3/cheese-3.16.1.tar.xz) = 1823864
+SHA256 (gnome3/cheese-3.18.1.tar.xz) = fc9d8798b1f0c6b35731f063869a32c6910bab6d0386b9ea36386ebda0d57177
+SIZE (gnome3/cheese-3.18.1.tar.xz) = 1829408
diff --git a/multimedia/cheese/files/patch-libcheese_cheese-camera-device-monitor.c b/multimedia/cheese/files/patch-libcheese_cheese-camera-device-monitor.c
deleted file mode 100644
index 995cb5d50cbb..000000000000
--- a/multimedia/cheese/files/patch-libcheese_cheese-camera-device-monitor.c
+++ /dev/null
@@ -1,290 +0,0 @@
---- 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);
- }
-
-+#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;
-+
-+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 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)
-+ {
-+ GST_WARNING("Failed to get product name for %s: %s", devname,
-+ g_strerror (errno));
-+ return NULL;
-+ }
-+
-+ if (ioctl (fd, VIDIOC_QUERYCAP, &v2cap) == 0)
-+ {
-+ product = g_strdup ((const char *) v2cap.card);
-+ }
-+ else
-+ {
-+ GST_WARNING("Failed to get product name for %s: %s", devname,
-+ g_strerror (errno));
-+ }
-+
-+ 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])
-+ {
-+ 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;
-+ }
-+
-+ while ((fname = g_dir_read_name (dir)) != NULL)
-+ {
-+ if ( strncmp (fname, "video", strlen ("video")) == 0)
-+ {
-+ 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);
-+ }
-+ }
-+ 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;
-+ }
-+
-+ 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;
-+
-+ 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
-+
- 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-message b/multimedia/cheese/pkg-message
new file mode 100644
index 000000000000..fd601c051bf4
--- /dev/null
+++ b/multimedia/cheese/pkg-message
@@ -0,0 +1,8 @@
+
+For cheese to work, webcamd needs to be running and the user which wants
+to run cheese needs to be added to the webcamd group.
+
+This can be done by:
+
+# pw groupmod webcamd -m jerry
+
diff --git a/multimedia/cheese/pkg-plist b/multimedia/cheese/pkg-plist
index a0d24b07f419..ff13851ca4a3 100644
--- a/multimedia/cheese/pkg-plist
+++ b/multimedia/cheese/pkg-plist
@@ -11,11 +11,11 @@ include/cheese/cheese-widget.h
include/cheese/cheese.h
lib/girepository-1.0/Cheese-3.0.typelib
lib/libcheese-gtk.so
-lib/libcheese-gtk.so.23
-lib/libcheese-gtk.so.23.1.23
+lib/libcheese-gtk.so.25
+lib/libcheese-gtk.so.25.0.3
lib/libcheese.so
-lib/libcheese.so.7
-lib/libcheese.so.7.0.39
+lib/libcheese.so.8
+lib/libcheese.so.8.0.3
libdata/pkgconfig/cheese-gtk.pc
libdata/pkgconfig/cheese.pc
libexec/gnome-camera-service
@@ -50,7 +50,6 @@ share/gtk-doc/html/cheese/cheese.html
share/gtk-doc/html/cheese/cheese_architecture.png
share/gtk-doc/html/cheese/home.png
share/gtk-doc/html/cheese/index.html
-share/gtk-doc/html/cheese/index.sgml
share/gtk-doc/html/cheese/left-insensitive.png
share/gtk-doc/html/cheese/left.png
share/gtk-doc/html/cheese/libcheese-gtk.html
@@ -337,6 +336,31 @@ share/help/id/cheese/pref-fullscreen.page
share/help/id/cheese/pref-image-properties.page
share/help/id/cheese/pref-resolution.page
share/help/id/cheese/video-record.page
+share/help/ko/cheese/burst-mode.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/legal.xml
+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-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-resolution.page
+share/help/ko/cheese/video-record.page
share/help/pt_BR/cheese/burst-mode.page
share/help/pt_BR/cheese/effects-apply.page
share/help/pt_BR/cheese/figures/cheese-delete.png
@@ -480,6 +504,7 @@ share/locale/hi/LC_MESSAGES/cheese.mo
share/locale/hr/LC_MESSAGES/cheese.mo
share/locale/hu/LC_MESSAGES/cheese.mo
share/locale/id/LC_MESSAGES/cheese.mo
+share/locale/is/LC_MESSAGES/cheese.mo
share/locale/it/LC_MESSAGES/cheese.mo
share/locale/ja/LC_MESSAGES/cheese.mo
share/locale/ka/LC_MESSAGES/cheese.mo