pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/graphics/cheese Fix build on NetBSD when sys/videoio.h...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/ed5158d5c574
branches:  trunk
changeset: 552042:ed5158d5c574
user:      jmcneill <jmcneill%pkgsrc.org@localhost>
date:      Wed Dec 24 04:04:04 2008 +0000

description:
Fix build on NetBSD when sys/videoio.h isn't available.

diffstat:

 graphics/cheese/Makefile         |   3 +-
 graphics/cheese/distinfo         |   6 ++--
 graphics/cheese/patches/patch-aa |  16 +++++++----
 graphics/cheese/patches/patch-ab |  55 ++++++++++++++++++++++++++++++++--------
 4 files changed, 59 insertions(+), 21 deletions(-)

diffs (196 lines):

diff -r 8e813209e6c1 -r ed5158d5c574 graphics/cheese/Makefile
--- a/graphics/cheese/Makefile  Wed Dec 24 03:05:16 2008 +0000
+++ b/graphics/cheese/Makefile  Wed Dec 24 04:04:04 2008 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.8 2008/12/14 19:21:01 hasso Exp $
+# $NetBSD: Makefile,v 1.9 2008/12/24 04:04:04 jmcneill Exp $
 
 DISTNAME=      cheese-2.24.2
 CATEGORIES=    graphics
@@ -32,6 +32,7 @@
 
 pre-configure:
        cd ${WRKSRC} && autoreconf -vi # -f breaks it
+       cd ${WRKSRC} && autoheader -f
 
 .include "options.mk"
 
diff -r 8e813209e6c1 -r ed5158d5c574 graphics/cheese/distinfo
--- a/graphics/cheese/distinfo  Wed Dec 24 03:05:16 2008 +0000
+++ b/graphics/cheese/distinfo  Wed Dec 24 04:04:04 2008 +0000
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.6 2008/12/02 11:47:09 wiz Exp $
+$NetBSD: distinfo,v 1.7 2008/12/24 04:04:04 jmcneill Exp $
 
 SHA1 (cheese-2.24.2.tar.gz) = efa0de5e3d663a7417244b3f463844edefe7835c
 RMD160 (cheese-2.24.2.tar.gz) = 619bf834d9e71b0901a8c177e4e3109e57e81587
 Size (cheese-2.24.2.tar.gz) = 2878710 bytes
-SHA1 (patch-aa) = 6be8e2b429a3033202cc20aad329ca3979489427
-SHA1 (patch-ab) = bb7a12f2ed26bdd134ee5ac114f1d4a6ca409267
+SHA1 (patch-aa) = dcb50c18f53385b524c58e8205d448dcdbc09ec2
+SHA1 (patch-ab) = e345b9b4959717c7439107717db3f539f2d721f8
 SHA1 (patch-ac) = 4db9fc3c6288ba6eb20ad98aca8875326952dfd8
 SHA1 (patch-ad) = 8755f4b1dc133f1ab6164894a9ea19cb96a8a49b
diff -r 8e813209e6c1 -r ed5158d5c574 graphics/cheese/patches/patch-aa
--- a/graphics/cheese/patches/patch-aa  Wed Dec 24 03:05:16 2008 +0000
+++ b/graphics/cheese/patches/patch-aa  Wed Dec 24 04:04:04 2008 +0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa,v 1.3 2008/11/28 14:29:31 jmcneill Exp $
+$NetBSD: patch-aa,v 1.4 2008/12/24 04:04:04 jmcneill Exp $
 
---- configure.ac.orig  2008-10-20 12:01:53.000000000 -0400
-+++ configure.ac
-@@ -17,8 +17,9 @@ AM_PROG_LIBTOOL
+--- configure.ac.orig  2008-11-24 18:03:24.000000000 -0500
++++ configure.ac       2008-12-23 22:47:58.000000000 -0500
+@@ -17,8 +17,9 @@
  
  CFLAGS="${CFLAGS} -Wall"
  
@@ -14,7 +14,7 @@
  
  #*******************************************************************************
  # Expanded dirs
-@@ -88,7 +89,6 @@ PKG_CHECK_MODULES(CHEESE, \ 
+@@ -88,7 +89,6 @@
    cairo >= $CAIRO_REQUIRED \
    dbus-1 >= $DBUS_REQUIRED \
    dbus-glib-1 >= $DBUS_GLIB_REQUIRED \
@@ -22,7 +22,7 @@
    pangocairo >= $PANGOCAIRO_REQUIRED \
    librsvg-2.0 >= $LIBRSVG_REQUIRED)
  AC_SUBST(CHEESE_CFLAGS)
-@@ -107,6 +107,21 @@ fi
+@@ -107,6 +107,25 @@
  
  AM_CONDITIONAL(WITH_HILDON, test "x$enable_hildon" = "xyes")
  
@@ -41,6 +41,10 @@
 +  AC_DEFINE(HAVE_HAL, 0, define to 1 if HAL is used)
 +fi
 +
++AC_CHECK_HEADER([sys/videoio.h],
++  [AC_DEFINE(USE_SYS_VIDEOIO_H, 1, define to 1 if sys/videoio.h is present)],
++  [AC_DEFINE(USE_SYS_VIDEOIO_H, 0, define to 1 if sys/videoio.h is present)], [])
++
  AC_PATH_PROG(GCONFTOOL, gconftool-2)
  AM_GCONF_SOURCE_2
  
diff -r 8e813209e6c1 -r ed5158d5c574 graphics/cheese/patches/patch-ab
--- a/graphics/cheese/patches/patch-ab  Wed Dec 24 03:05:16 2008 +0000
+++ b/graphics/cheese/patches/patch-ab  Wed Dec 24 04:04:04 2008 +0000
@@ -1,8 +1,8 @@
-$NetBSD: patch-ab,v 1.4 2008/12/02 11:47:09 wiz Exp $
+$NetBSD: patch-ab,v 1.5 2008/12/24 04:04:04 jmcneill Exp $
 
---- src/cheese-webcam.c.orig   2008-11-24 23:03:19.000000000 +0000
-+++ src/cheese-webcam.c
-@@ -32,13 +32,24 @@
+--- src/cheese-webcam.c.orig   2008-11-24 18:03:19.000000000 -0500
++++ src/cheese-webcam.c        2008-12-23 22:58:59.000000000 -0500
+@@ -32,13 +32,26 @@
  #include <gst/gst.h>
  #include <gdk-pixbuf/gdk-pixbuf.h>
  #include <X11/Xlib.h>
@@ -17,7 +17,7 @@
  #include <unistd.h>
 -#include <sys/ioctl.h>
 +
-+#if defined(__NetBSD__) || defined(__OpenBSD__)
++#if USE_SYS_VIDEOIO_H > 0
 +#include <sys/types.h>
 +#include <sys/videoio.h>
 +#elif defined(__sun)
@@ -25,11 +25,13 @@
 +#include <sys/videodev2.h>
 +#elif defined(__linux__)
  #include <linux/videodev.h>
++#else
++#define NO_VIDEO_SUPPORT
 +#endif
  
  #include "cheese-webcam.h"
  #include "cheese-flash.h"
-@@ -244,6 +255,7 @@ cheese_webcam_bus_message_cb (GstBus *bu
+@@ -244,6 +257,7 @@ cheese_webcam_bus_message_cb (GstBus *bu
    }
  }
  
@@ -37,25 +39,35 @@
  static void
  cheese_webcam_get_video_devices_from_hal (CheeseWebcam *webcam)
  {
-@@ -306,7 +318,9 @@ cheese_webcam_get_video_devices_from_hal
+@@ -305,8 +319,12 @@ cheese_webcam_get_video_devices_from_hal
+     char                   *parent_udi = NULL;
      char                   *subsystem = NULL;
      char                   *gstreamer_src, *product_name;
++#ifndef NO_VIDEO_SUPPORT
      struct v4l2_capability  v2cap;
++#endif
 +#ifdef VIDIOCGCAP
      struct video_capability v1cap;
 +#endif
      gint vendor_id = 0;
      gint product_id = 0;
      gchar *property_name = NULL;
-@@ -368,6 +382,7 @@ cheese_webcam_get_video_devices_from_hal
+@@ -365,9 +383,14 @@ cheese_webcam_get_video_devices_from_hal
+       libhal_free_string (device);
+       continue;
+     }
++#ifdef VIDIOC_QUERYCAP
      ok = ioctl (fd, VIDIOC_QUERYCAP, &v2cap);
++#else
++    ok = -1;
++#endif
      if (ok < 0)
      {
 +#ifdef VIDIOCGCAP
        ok = ioctl (fd, VIDIOCGCAP, &v1cap);
        if (ok < 0)
        {
-@@ -381,6 +396,13 @@ cheese_webcam_get_video_devices_from_hal
+@@ -381,14 +404,22 @@ cheese_webcam_get_video_devices_from_hal
        g_print ("Device type: %d\n", v1cap.type);
        gstreamer_src = "v4lsrc";
        product_name  = v1cap.name;
@@ -69,7 +81,28 @@
      }
      else
      {
-@@ -434,6 +456,55 @@ fallback:
++#ifndef NO_VIDEO_SUPPORT
+       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);
++      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"
+@@ -399,6 +430,10 @@ cheese_webcam_get_video_devices_from_hal
+       }
+       gstreamer_src = "v4l2src";
+       product_name  = (char *) v2cap.card;
++#else /* NO_VIDEO_SUPPORT */
++      gstreamer_src = "v4l2src";
++      product_name = "Webcam";
++#endif
+     }
+ 
+     g_print ("\n");
+@@ -434,6 +469,55 @@ fallback:
      priv->webcam_devices[0].hal_udi = g_strdup ("cheese_fake_videodevice");
    }
  }
@@ -125,7 +158,7 @@
  
  static void
  cheese_webcam_get_supported_framerates (CheeseVideoFormat *video_format, GstStructure *structure)
-@@ -739,7 +810,11 @@ cheese_webcam_detect_webcam_devices (Che
+@@ -739,7 +823,11 @@ cheese_webcam_detect_webcam_devices (Che
  
    int i;
  



Home | Main Index | Thread Index | Old Index