+++ /dev/null
-https://sourceforge.net/p/zbar/patches/37/
-
-fix from Debian for crashes when importing the python module.
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=702499
-
-this doesn't happen on some arches as the data naturally ends up with zero
-data after the structure, but on some (like arm), it isn't so we crash when
-python walks the list.
-
---- a/python/imagescanner.c
-+++ b/python/imagescanner.c
-@@ -68,6 +68,7 @@ imagescanner_get_results (zbarImageScanner *self,
-
- static PyGetSetDef imagescanner_getset[] = {
- { "results", (getter)imagescanner_get_results, },
-+ { NULL },
- };
-
- static PyObject*
+++ /dev/null
---- zbar-0.10/zbar/video/v4l2.c 2009-10-23 18:16:44.000000000 +0000
-+++ zbar-0.10/zbar/video/v4l2.c 2015-03-07 05:46:36.000000000 +0000
-@@ -241,6 +241,21 @@
- return(0);
- }
-
-+static int v4l2_request_buffers (zbar_video_t *vdo)
-+{
-+ struct v4l2_requestbuffers rb;
-+ memset(&rb, 0, sizeof(rb));
-+ rb.count = vdo->num_images;
-+ rb.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-+ rb.memory = V4L2_MEMORY_USERPTR;
-+ if(ioctl(vdo->fd, VIDIOC_REQBUFS, &rb) < 0)
-+ return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__,
-+ "requesting video frame buffers (VIDIOC_REQBUFS)"));
-+ if(rb.count)
-+ vdo->num_images = rb.count;
-+ return(0);
-+}
-+
- static int v4l2_set_format (zbar_video_t *vdo,
- uint32_t fmt)
- {
-@@ -308,6 +323,8 @@
- return(-1);
- if(vdo->iomode == VIDEO_MMAP)
- return(v4l2_mmap_buffers(vdo));
-+ if(vdo->iomode == VIDEO_USERPTR)
-+ return(v4l2_request_buffers(vdo));
- return(0);
- }
-
-@@ -337,8 +354,13 @@
- else {
- if(!vdo->iomode)
- vdo->iomode = VIDEO_USERPTR;
-- if(rb.count)
-- vdo->num_images = rb.count;
-+ /* releasing buffers
-+ * lest the driver may later refuse to change format
-+ */
-+ rb.count = 0;
-+ if (ioctl(vdo->fd, VIDIOC_REQBUFS, &rb) < 0)
-+ zprintf(0, "WARNING: releasing video buffers failed: error %d\n",
-+ errno);
- }
- return(0);
- }
+++ /dev/null
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools flag-o-matic java-pkg-opt-2 multilib-minimal \
- python-single-r1 virtualx
-
-DESCRIPTION="Library and tools for reading barcodes from images or video"
-HOMEPAGE="http://zbar.sourceforge.net/"
-SRC_URI="https://dev.gentoo.org/~xmw/zbar-0.10_p20121015.zip"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE="gtk imagemagick java jpeg python static-libs test +threads v4l X xv"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
- test? ( X ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="gtk? ( dev-libs/glib:2[${MULTILIB_USEDEP}]
- x11-libs/gtk+:2[${MULTILIB_USEDEP}] )
- imagemagick? ( virtual/imagemagick-tools )
- jpeg? ( virtual/jpeg:0[${MULTILIB_USEDEP}] )
- python? (
- ${PYTHON_DEPS}
- gtk? ( >=dev-python/pygtk-2[${PYTHON_USEDEP}] )
- )
- X? (
- x11-libs/libXext[${MULTILIB_USEDEP}]
- xv? ( x11-libs/libXv[${MULTILIB_USEDEP}] )
- )"
-RDEPEND="${CDEPEND}
- java? ( >=virtual/jre-1.4 )"
-DEPEND="${CDEPEND}
- java? ( >=virtual/jdk-1.4
- test? ( dev-java/junit:4
- dev-java/hamcrest-core:1.3 ) )
- test? ( ${PYTHON_DEPS} )
- app-arch/unzip
- sys-devel/gettext
- virtual/pkgconfig"
-
-pkg_setup() {
- if use python || use test; then
- python-single-r1_pkg_setup
- fi
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- #vcs-snapshot doesn't work on .zip
- default
- mv * ${P} || die
-}
-
-src_prepare() {
- eapply "${FILESDIR}"/${PN}-0.10-errors.patch \
- "${FILESDIR}"/${PN}-0.10-python-crash.patch \
- "${FILESDIR}"/${PN}-0.10-v4l2-uvcvideo.patch
-
- # fix use of deprecated qt4 function, bug 572488
- sed -e 's:numBytes:byteCount:g' \
- -i "${S}"/include/zbar/QZBarImage.h || die
-
- if has_version '>=media-gfx/imagemagick-7.0.1.0' ; then
- eapply "${FILESDIR}/${P}-ImageMagick-7.diff"
- fi
-
- use python && python_fix_shebang examples/upcrpc.py test/*.py
- java-pkg-opt-2_src_prepare
-
- sed -e '/AM_INIT_AUTOMAKE/s: -Werror : :' \
- -e '/^AM_CFLAGS=/s: -Werror::' \
- -i configure.ac || die
- sed "s|javadir = \$(pkgdatadir)|javadir = /usr/$(get_libdir)/zbar|" \
- -i java/Makefile.am
- eautoreconf
-}
-
-multilib_src_configure() {
- if multilib_is_native_abi && use java; then
- export JAVACFLAGS="$(java-pkg_javac-args)"
- export JAVA_CFLAGS="$(java-pkg_get-jni-cflags)"
- if use test ; then # bug 629078
- java-pkg_append_ CLASSPATH .
- java-pkg_append_ CLASSPATH $(java-pkg_getjar --build-only junit-4 junit.jar)
- java-pkg_append_ CLASSPATH $(java-pkg_getjar --build-only hamcrest-core-1.3 hamcrest-core.jar)
- fi
- fi
-
- append-cppflags -DNDEBUG
-
- # different flags for image/graphics magick (bug 552350)
- myimagemagick="--without-imagemagick"
- has_version media-gfx/imagemagick &&
- myimagemagick="$(multilib_native_use_with imagemagick)"
- mygraphicsmagick="--without-graphicsmagick"
- has_version media-gfx/graphicsmagick &&
- mygraphicsmagick="$(multilib_native_use_with imagemagick graphicsmagick)"
- ECONF_SOURCE=${S} \
- econf \
- $(multilib_native_use_with java) \
- $(use_with jpeg) \
- $(use_with gtk) \
- ${myimagemagick} \
- ${mygraphicsmagick} \
- $(multilib_native_use_with python) \
- --without-qt \
- $(use_enable static-libs static) \
- $(use_enable threads pthread) \
- $(use_with X x) \
- $(use_with xv xv) \
- $(use_enable v4l video)
-
- # work-around out-of-source build issue
- mkdir gtk pygtk qt test || die
-}
-
-src_test() {
- virtx multilib-minimal_src_test
-}
-
-multilib_src_install_all() {
- dodoc HACKING NEWS README TODO
- find "${D}" -name '*.la' -delete || die
-}
-
-pkg_preinst() {
- java-pkg-opt-2_pkg_preinst
-}