public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/zbar/, media-gfx/zbar/files/
Date: Sun, 25 Nov 2018 18:00:45 +0000 (UTC)	[thread overview]
Message-ID: <1543168816.c8cae200f832c7d05452540a32a925d1e6f16112.asturm@gentoo> (raw)

commit:     c8cae200f832c7d05452540a32a925d1e6f16112
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 25 17:59:41 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Nov 25 18:00:16 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8cae200

media-gfx/zbar: Can't drop 0.10_p20121015-r3 yet

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-gfx/zbar/Manifest                            |   1 +
 media-gfx/zbar/files/zbar-0.10-python-crash.patch  |  19 +++
 media-gfx/zbar/files/zbar-0.10-v4l2-uvcvideo.patch |  49 ++++++++
 media-gfx/zbar/zbar-0.10_p20121015-r3.ebuild       | 130 +++++++++++++++++++++
 4 files changed, 199 insertions(+)

diff --git a/media-gfx/zbar/Manifest b/media-gfx/zbar/Manifest
index 00a21a631d2..b5bf4950fae 100644
--- a/media-gfx/zbar/Manifest
+++ b/media-gfx/zbar/Manifest
@@ -1 +1,2 @@
+DIST zbar-0.10_p20121015.zip 991578 BLAKE2B 021dfa3920a838fd7bab12b09600ac6949c1495045691c4cc547bfb6ec647658c60984da248b882eabfc0bb123b90401dd3a32adcd66726b1e7072662e303d18 SHA512 7bb74ea5b096093b283c44787547ad0b886281628d012aa7b03ddb477732feb1e12d4d5a661191d34b53b7b272a237f67840e219b0ac5e2803da478a1ddba7a1
 DIST zbar-0.20.1.tar.gz 555199 BLAKE2B f224a2207fa0603da4cc3a0e1d05bc73f3cf0cc9d13c26b3b801d3418f4f6a001b52e468b721552af61f4c8d7357934abd0560c24d3b233107785c69cfe14753 SHA512 21ad9d8fcdecb41bd4b8979366ab8ec6e8eac815f52270b0dc72ce6a126ccef933d048ce8bbe28f46ada5defadf85ba8c97c5c1870c9560a9dab28c585dfaf42

diff --git a/media-gfx/zbar/files/zbar-0.10-python-crash.patch b/media-gfx/zbar/files/zbar-0.10-python-crash.patch
new file mode 100644
index 00000000000..a6f7a96e34d
--- /dev/null
+++ b/media-gfx/zbar/files/zbar-0.10-python-crash.patch
@@ -0,0 +1,19 @@
+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*

diff --git a/media-gfx/zbar/files/zbar-0.10-v4l2-uvcvideo.patch b/media-gfx/zbar/files/zbar-0.10-v4l2-uvcvideo.patch
new file mode 100644
index 00000000000..4fde95e2b56
--- /dev/null
+++ b/media-gfx/zbar/files/zbar-0.10-v4l2-uvcvideo.patch
@@ -0,0 +1,49 @@
+--- 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);
+ }

diff --git a/media-gfx/zbar/zbar-0.10_p20121015-r3.ebuild b/media-gfx/zbar/zbar-0.10_p20121015-r3.ebuild
new file mode 100644
index 00000000000..719be7784d5
--- /dev/null
+++ b/media-gfx/zbar/zbar-0.10_p20121015-r3.ebuild
@@ -0,0 +1,130 @@
+# 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.patch"
+	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
+}


             reply	other threads:[~2018-11-25 18:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-25 18:00 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-08-05  7:35 [gentoo-commits] repo/gentoo:master commit in: media-gfx/zbar/, media-gfx/zbar/files/ Joonas Niilola
2022-04-05 16:35 Andreas Sturmlechner
2021-03-16 15:06 Sam James
2021-02-27 16:35 Sam James
2021-02-27 16:35 Sam James
2018-11-25 17:36 Andreas Sturmlechner
2018-05-10 10:08 Andreas Sturmlechner
2015-08-10 23:06 Michael Weber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1543168816.c8cae200f832c7d05452540a32a925d1e6f16112.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox