media-gfx/zbar: Fix deps for v4l
authorPacho Ramos <pacho@gentoo.org>
Sat, 12 Jan 2019 10:39:26 +0000 (11:39 +0100)
committerPacho Ramos <pacho@gentoo.org>
Sat, 12 Jan 2019 10:39:26 +0000 (11:39 +0100)
Closes: https://bugs.gentoo.org/673994
Package-Manager: Portage-2.3.53, Repoman-2.3.12
Signed-off-by: Pacho Ramos <pacho@gentoo.org>
media-gfx/zbar/zbar-0.20.1-r1.ebuild [new file with mode: 0644]

diff --git a/media-gfx/zbar/zbar-0.20.1-r1.ebuild b/media-gfx/zbar/zbar-0.20.1-r1.ebuild
new file mode 100644 (file)
index 0000000..a374101
--- /dev/null
@@ -0,0 +1,163 @@
+# Copyright 1999-2019 Gentoo Authors
+# 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="https://github.com/mchehab/zbar"
+SRC_URI="https://linuxtv.org/downloads/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+IUSE="graphicsmagick gtk imagemagick java jpeg python qt5 static-libs test +threads v4l X xv"
+REQUIRED_USE="
+       python? ( ${PYTHON_REQUIRED_USE} )
+       test? ( X ${PYTHON_REQUIRED_USE} )
+"
+
+COMMON_DEPEND="
+       gtk? (
+               dev-libs/glib:2[${MULTILIB_USEDEP}]
+               x11-libs/gtk+:2[${MULTILIB_USEDEP}]
+       )
+       imagemagick? (
+               !graphicsmagick? ( media-gfx/imagemagick:= )
+               graphicsmagick? ( media-gfx/graphicsmagick:= )
+       )
+       jpeg? ( virtual/jpeg:0[${MULTILIB_USEDEP}] )
+       python? (
+               ${PYTHON_DEPS}
+               gtk? ( >=dev-python/pygtk-2[${PYTHON_USEDEP}] )
+       )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtwidgets:5
+               dev-qt/qtx11extras:5
+       )
+       v4l? ( media-libs/libv4l:0= )
+       X? (
+               x11-libs/libX11[${MULTILIB_USEDEP}]
+               x11-libs/libXext[${MULTILIB_USEDEP}]
+               xv? ( x11-libs/libXv[${MULTILIB_USEDEP}] )
+       )
+"
+RDEPEND="${COMMON_DEPEND}
+       java? ( >=virtual/jre-1.8 )
+"
+DEPEND="${COMMON_DEPEND}
+       sys-devel/gettext
+       virtual/pkgconfig
+       gtk? ( dev-util/glib-utils )
+       java? (
+               >=virtual/jdk-1.8
+               test? (
+                       dev-java/junit:4
+                       dev-java/hamcrest-core:1.3
+               )
+       )
+       test? ( ${PYTHON_DEPS} )
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.10-errors.patch )
+
+pkg_setup() {
+       if use python || use test; then
+               python-single-r1_pkg_setup
+       fi
+       java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+       default
+
+       if has_version '>=media-gfx/imagemagick-7.0.1.0' ; then
+               eapply "${FILESDIR}/${PN}-0.10_p20121015-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 || die
+       eautoreconf
+}
+
+multilib_src_configure() {
+       append-cppflags -DNDEBUG
+
+       local myeconfargs=(
+               $(use_with gtk)
+               $(multilib_native_use_with graphicsmagick graphicsmagick)
+               $(multilib_native_use_with imagemagick)
+               $(multilib_native_use_with java)
+               $(use_with jpeg)
+               $(multilib_native_use_with python python2)
+               $(use_enable static-libs static)
+               $(use_enable threads pthread)
+               $(use_enable v4l video)
+               $(use_with X x)
+               $(use_with X xshm)
+               $(use_with xv xv)
+       )
+
+       if multilib_is_native_abi; then
+               if 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
+               if use qt5; then
+                       myeconfargs+=(
+                               $(use_with qt5 qt)
+                               $(use_with qt5)
+                       )
+               else
+                       myeconfargs+=( --without-qt )
+               fi
+       else
+                       myeconfargs+=( --without-qt )
+       fi
+
+       ECONF_SOURCE=${S} \
+               econf "${myeconfargs[@]}"
+
+       # work around out-of-source build issues for multilib systems
+       # https://bugs.gentoo.org/672184
+       mkdir gtk pygtk qt test zbarcam || die
+}
+
+src_test() {
+       virtx multilib-minimal_src_test
+}
+
+src_install() {
+       if use qt5; then
+               local MULTILIB_WRAPPED_HEADERS=(
+                       /usr/include/zbar/QZBar.h
+                       /usr/include/zbar/QZBarImage.h
+               )
+       fi
+       multilib-minimal_src_install
+}
+
+multilib_src_install_all() {
+       einstalldocs
+       find "${D}" -name '*.la' -delete || die
+}
+
+pkg_preinst() {
+       java-pkg-opt-2_pkg_preinst
+}