diff options
Diffstat (limited to 'media-gfx/zbar')
8 files changed, 393 insertions, 2 deletions
diff --git a/media-gfx/zbar/Manifest b/media-gfx/zbar/Manifest index 3357e331ab7c..4a2661a3858d 100644 --- a/media-gfx/zbar/Manifest +++ b/media-gfx/zbar/Manifest @@ -1,5 +1,12 @@ AUX zbar-0.10-errors.patch 178 BLAKE2B 588e8d227bf8d7f47346dcc4a9c99ad5b372af5e2788dca09e490473f50b712945b91be16b2a64f99c48019961ce3f9b766e19c22bafee6d6b4ec8f8e3814239 SHA512 0978f9d52bed844448c5a92349806134e4b03bf069307fad2f3944b92b6f1c8dda094574ae4829860263d735ba7d20e71d435308185503634f9e46897479c7f1 AUX zbar-0.10_p20121015-ImageMagick-7.patch 1135 BLAKE2B 103cfe85d547cd3087a08676abdfd5966b9b4dd32de4c35e1aee144247af8562e6425d65d170fcb98bcb43e0bc18dcd39d4cf3baf46eea4a1c81814a14946bb0 SHA512 c67dee821338d0bbb54b3c4b22a75616e876ad56e5bbcaad856fe16b39ef3e07b7b80dcb6c25023857ebd561c55ac4faab144fa4ead05424df24d5af7c2509dc +AUX zbar-0.23_create_correct_pkconfig_file_for_zbar-qt5.patch 2109 BLAKE2B 8e32a3d0115fe7dc31a8208021659827f959bebbd1a56972765a379e03c7aca704c394d7eecb928f3547b9b42afff6cdaa1e564875bb6a94ac0cdb9a55422fe1 SHA512 dfbbe1caf384dc769d97ecebaf544b81c1fa266c78ca4fa8087673724b3408fe2e77535b60aefe904aa42dd1ed1182676623f98aed565910566c511908b8ecee +AUX zbar-0.23_fix_Qt5X11Extras_detect.patch 643 BLAKE2B 27485c866503189670424eaf81a0a9b6aefa284576789ba6533af03cb1af59a2c531f22e09adcc8e2b9b6418f861f8b96a1bf602502d0e863ae9785ac2d336c7 SHA512 ee40586c64ded170e314ee2961588518234e22d9cee9e9a55f994231cd50b120e82225c551c5a2e85988de1c14a5c0baf6303fffea0663e2e4808df3a0c8421a +AUX zbar-0.23_fix_detection_of_errors_in_the_v4l_read.patch 1122 BLAKE2B e4330ca4ce75a4659466faa618a99280ad7868aa21d1fe30db837917460cb9fc3594421cb2cb70457813611764c7e976e5ba9acc414be5fa95808f91d995eb0b SHA512 c6d6b3bf93f59f87687e03294742ec7a4803308d7395869d8cccefdb186c69ad429c631f2f4d0c4de0a2dd495f3b99342622d01acb1e823ceb9250380549ca20 +AUX zbar-0.23_fix_python_detect.patch 351 BLAKE2B d5261e9adb3c9b43f1208a41a655718b952d06ce0ec003bb08bf30979d6c467b2b50e6fb9a6cd06f95230ed4ae55e14599c276f9f41f03677b4d18167c6665c4 SHA512 d24d75f840d84488986cede3378e067ac68d218acac34a8c34888c88611df8f4b1b397cfd5ecfcda82480fd56ea2bada29d8373cc6e93ae8050b84e801c36ca7 +AUX zbar-0.23_reset_conversion_descriptor_after_close.patch 829 BLAKE2B b39c63a1aa11a79123226ebf91ba0b4d047412b96b12d8ed591e85625c96e3de1fcfd0624b622c4f59c98d4e4e3483c74d6699ae2579a18352d12698b3b0f430 SHA512 c641b83c81c07e850a17672a8ad5a16ab650330ccffcba98d209ed105058cc66664aff76d391803503b6d784daaf2b31d9faad2aa9dd69221598b13187e27dd1 DIST zbar-0.20.1.tar.gz 555199 BLAKE2B f224a2207fa0603da4cc3a0e1d05bc73f3cf0cc9d13c26b3b801d3418f4f6a001b52e468b721552af61f4c8d7357934abd0560c24d3b233107785c69cfe14753 SHA512 21ad9d8fcdecb41bd4b8979366ab8ec6e8eac815f52270b0dc72ce6a126ccef933d048ce8bbe28f46ada5defadf85ba8c97c5c1870c9560a9dab28c585dfaf42 +DIST zbar-0.23.tar.gz 1301948 BLAKE2B dd74ce44bcb10f8a7cf180b982e5bd82f1f5674540931377d207ab730bb2d080fe222bfc42d4a3d70895ad53b78638e73c2294018b80d30dc28f7e6ecc14c761 SHA512 9737f9dca42c29f92aa1eca5c0808da34f1d16c88c65241c9e3984c487e502f398437e7a707a1edd2c440f784db537ba33ea4008a2d1c1caaf5eea6431b1400b EBUILD zbar-0.20.1-r1.ebuild 3750 BLAKE2B 259754767901ad0b09db83d38a5ebf7130c5beea96e36a39d2ec30905347f287eff29f558678427d95676c45943c59230f703e3fa8af8fac36d52647d2474586 SHA512 21555d40bd966c9de37cc69fca082cc9bb9cc70733f9b2c4313b6cd52a31bd33dbad8bce4de5b0c820cd8ea22ce36cd4954ee80aa64962385abd1d91f5b321f8 -MISC metadata.xml 353 BLAKE2B 7b2ecbdb282d7be372b33efc762ff91d574edf1f176e65c300a2a1cdab0d9c86a12be1d4c49f48a684237eb265ee7491ef9bebbfd62a6005246031f7271b7e32 SHA512 8547b611ca96a01ec0d6dcd01c61203984af10306223a77071fe9be348d1ca7ceb290c4160ca9eb8ebc04227caa9b9f5bf3d3d436b97f140fc534fbd3236826c +EBUILD zbar-0.23.ebuild 4994 BLAKE2B 439b61a455f9d12ebf7c4b900f25397d8eea50d26ccbf4750439c857be80ac1fd3024ba4061016314030b9c1e9713f0bebdea10888b1ed02c45a1c44b228795e SHA512 c57cc6cdbec6f0130e49aa5a8051738c9829fa7f92e5f7b8396ee39f667169377fa112e18c22da7205075dd7ac72504d6babb4572564e21440cc1ec09c6a85f8 +MISC metadata.xml 931 BLAKE2B a8c611d728a6fd0dbc94f333681a5a0ec4fc2bd8529cca7dcebfa8e1774c1d5e069c870baffd29fa033ce0529d2c2cb2ee3a1a54c089b1fd988b0d2c1ce82aae SHA512 c42caef53bc9c8743f8f02f5c96f687b605248a4311efea44777781a85a4b5a31e586cbdd7d85b07a6b2aca8138f5c7238b1f35a37b13741a297e9751731da19 diff --git a/media-gfx/zbar/files/zbar-0.23_create_correct_pkconfig_file_for_zbar-qt5.patch b/media-gfx/zbar/files/zbar-0.23_create_correct_pkconfig_file_for_zbar-qt5.patch new file mode 100644 index 000000000000..3be9c2222776 --- /dev/null +++ b/media-gfx/zbar/files/zbar-0.23_create_correct_pkconfig_file_for_zbar-qt5.patch @@ -0,0 +1,71 @@ +From cac1fffce80f0835e4d8d234023a775b4243b916 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de> +Date: Sun, 20 Oct 2019 01:44:02 +0200 +Subject: [PATCH] Create correct pkconfig file for zbar-qt5 + +Although zbar supports Qt5, the created pkgconfig file always requested +the Qt(4) components. + +Fixes issue #62. +--- + configure.ac | 13 ++++++++++--- + zbar-qt5.pc.in | 12 ++++++++++++ + 2 files changed, 22 insertions(+), 3 deletions(-) + create mode 100644 zbar-qt5.pc.in + +diff --git a/configure.ac b/configure.ac +index 935110a..49ef6a8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -659,15 +659,23 @@ AS_IF([test "x$with_qt" != "xno"], + CPPFLAGS="$CPPFLAGS $QT_CPPFLAGS" + dnl -fPIC has no effect on Windows and breaks windres + AS_IF([test "x$win32" = "xno"], [CPPFLAGS="$CPPFLAGS -fPIC"]) +- AC_MSG_NOTICE([using Qt version $QT_VERSION])], ++ AC_MSG_NOTICE([using Qt version $QT_VERSION]) ++ qt_pkgconfig_file="zbar-qt5.pc" ++ ], + + [MOC=`$PKG_CONFIG QtGui --variable=moc_location` + AC_MSG_NOTICE([using moc from $MOC]) + QT_VERSION=`$PKG_CONFIG QtGui --modversion` +- AC_MSG_NOTICE([using Qt version $QT_VERSION])])) ++ AC_MSG_NOTICE([using Qt version $QT_VERSION]) ++ qt_pkgconfig_file="zbar-qt.pc" ++ ])) + + AM_CONDITIONAL([HAVE_QT], [test "x$with_qt" = "xyes"]) + ++AM_COND_IF([HAVE_QT], ++ [AC_CONFIG_FILES([zbar-qt.pc:"${qt_pkgconfig_file}.in"])] ++) ++ + dnl Java + have_java="maybe" + +@@ -820,7 +828,6 @@ java/Makefile + zbar/Makefile + zbar.pc + zbar-gtk.pc +-zbar-qt.pc + doc/doxygen.conf]) + + AC_CONFIG_FILES([test/test_examples.sh],[chmod 755 test/test_examples.sh]) +diff --git a/zbar-qt5.pc.in b/zbar-qt5.pc.in +new file mode 100644 +index 0000000..3378993 +--- /dev/null ++++ b/zbar-qt5.pc.in +@@ -0,0 +1,12 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: zbar-qt ++Description: bar code scanning and decoding Qt5 widget ++URL: http://zbar.sourceforge.net ++Version: @VERSION@ ++Requires: zbar, Qt5Core >= 5, Qt5Gui >= 5 ++Libs: -L${libdir} -lzbarqt ++Cflags: -I${includedir} diff --git a/media-gfx/zbar/files/zbar-0.23_fix_Qt5X11Extras_detect.patch b/media-gfx/zbar/files/zbar-0.23_fix_Qt5X11Extras_detect.patch new file mode 100644 index 000000000000..7692db41e0da --- /dev/null +++ b/media-gfx/zbar/files/zbar-0.23_fix_Qt5X11Extras_detect.patch @@ -0,0 +1,18 @@ +diff -ur a/configure.ac b/configure.ac +--- a/configure.ac 2019-05-23 23:37:12.000000000 +0300 ++++ b/configure.ac 2020-01-22 12:27:14.190755156 +0300 +@@ -638,13 +638,9 @@ + + AC_ARG_VAR([MOC], [full path to Qt moc program]) + +-AS_IF([test "x$have_x" = "xyes"], +- [qt_extra="Qt5X11Extras >= 5.0"], +- [qt_extra=""]) +- + AS_IF([test "x$with_qt" != "xno"], + [PKG_CHECK_MODULES([QT], +- [Qt5Core >= 5 Qt5Gui >= 5 Qt5Widgets >= 5.0 $qt_extra],, ++ [Qt5Core >= 5 Qt5Gui >= 5 Qt5Widgets >= 5.0 Qt5X11Extras >= 5.0],, + [with_qt5 = "no" + PKG_CHECK_MODULES([QT], + [QtCore >= 4 QtGui >= 4],, diff --git a/media-gfx/zbar/files/zbar-0.23_fix_detection_of_errors_in_the_v4l_read.patch b/media-gfx/zbar/files/zbar-0.23_fix_detection_of_errors_in_the_v4l_read.patch new file mode 100644 index 000000000000..8484e31b7375 --- /dev/null +++ b/media-gfx/zbar/files/zbar-0.23_fix_detection_of_errors_in_the_v4l_read.patch @@ -0,0 +1,29 @@ +From 52a4fa5242af5da770b3cab1713f87e8d899e7ed Mon Sep 17 00:00:00 2001 +From: Dan Fandrich <dan@coneharvesters.com> +Date: Fri, 27 Dec 2019 18:33:17 +0100 +Subject: [PATCH] Fix detection of errors in the v4l read. + +The return type must be signed in order to detect a read failure. Also, +display an error message after such a failure. +--- + zbar/video/v4l2.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/zbar/video/v4l2.c b/zbar/video/v4l2.c +index daed38b..c0398ea 100644 +--- a/zbar/video/v4l2.c ++++ b/zbar/video/v4l2.c +@@ -133,9 +133,11 @@ static zbar_image_t *v4l2_dq (zbar_video_t *vdo) + return(NULL); + + /* FIXME should read entire image */ +- unsigned long datalen = read(fd, (void*)img->data, img->datalen); +- if(datalen < 0) ++ ssize_t datalen = read(fd, (void*)img->data, img->datalen); ++ if(datalen < 0) { ++ perror("v4l2_dq read"); + return(NULL); ++ } + else if(datalen != img->datalen) + zprintf(0, "WARNING: read() size mismatch: 0x%lx != 0x%lx\n", + datalen, img->datalen); diff --git a/media-gfx/zbar/files/zbar-0.23_fix_python_detect.patch b/media-gfx/zbar/files/zbar-0.23_fix_python_detect.patch new file mode 100644 index 000000000000..54e10184217e --- /dev/null +++ b/media-gfx/zbar/files/zbar-0.23_fix_python_detect.patch @@ -0,0 +1,13 @@ +diff -ur a/configure.ac b/configure.ac +--- a/configure.ac 2019-05-23 23:37:12.000000000 +0300 ++++ b/configure.ac 2020-01-06 12:30:41.621264633 +0300 +@@ -559,8 +559,7 @@ + [with_python="no"]) + ]) + ] +- )], +- [with_python="auto"] ++ )] + ) + + AS_IF([test "x$with_python" != "xno"], diff --git a/media-gfx/zbar/files/zbar-0.23_reset_conversion_descriptor_after_close.patch b/media-gfx/zbar/files/zbar-0.23_reset_conversion_descriptor_after_close.patch new file mode 100644 index 000000000000..75d02cb996a5 --- /dev/null +++ b/media-gfx/zbar/files/zbar-0.23_reset_conversion_descriptor_after_close.patch @@ -0,0 +1,25 @@ +From ba0bcb39c4fa57634c05597464352d4e630f1ea2 Mon Sep 17 00:00:00 2001 +From: hz-mk <51707958+hz-mk@users.noreply.github.com> +Date: Tue, 11 Jun 2019 16:32:18 +0200 +Subject: [PATCH] Reset conversion descriptor after close (prevent double free) + +--- + zbar/qrcode/qrdectxt.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/zbar/qrcode/qrdectxt.c b/zbar/qrcode/qrdectxt.c +index 2ab7b9b..4be7635 100644 +--- a/zbar/qrcode/qrdectxt.c ++++ b/zbar/qrcode/qrdectxt.c +@@ -409,7 +409,10 @@ int qr_code_data_list_extract_text(const qr_code_data_list *_qrlist, + /*If eci should be reset between codes, do so.*/ + if(eci<=QR_ECI_GLI1){ + eci=-1; +- if(eci_cd!=(iconv_t)-1)iconv_close(eci_cd); ++ if(eci_cd!=(iconv_t)-1){ ++ iconv_close(eci_cd); ++ eci_cd=(iconv_t)-1; ++ } + } + + } diff --git a/media-gfx/zbar/metadata.xml b/media-gfx/zbar/metadata.xml index fd5ad454e03a..064f2be75872 100644 --- a/media-gfx/zbar/metadata.xml +++ b/media-gfx/zbar/metadata.xml @@ -1,10 +1,24 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> + <maintainer type="person"> + <email>email@linxon.ru</email> + <name>Yury Martynov</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <upstream> <remote-id type="sourceforge">zbar</remote-id> <remote-id type="github">mchehab/zbar</remote-id> <bugs-to>https://github.com/mchehab/zbar/issues</bugs-to> </upstream> + <longdescription> + The ZBar Bar Code Reader is a library for scanning and decoding bar + codes from various sources such as video streams, image files or raw + intensity sensors. It supports EAN, UPC, Code 128, Code 93, Code 39 + and Interleaved 2 of 5. The flexible, layered architecture features a + fast, streaming interface with a minimal memory footprint. + </longdescription> </pkgmetadata> diff --git a/media-gfx/zbar/zbar-0.23.ebuild b/media-gfx/zbar/zbar-0.23.ebuild new file mode 100644 index 000000000000..495dc423d47e --- /dev/null +++ b/media-gfx/zbar/zbar-0.23.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) + +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="dbus graphicsmagick gtk +imagemagick introspection java jpeg python qt5 static-libs test +threads v4l X xv" +REQUIRED_USE=" + introspection? ( gtk ) + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( + ${PYTHON_REQUIRED_USE} + X? ( imagemagick ) + ) + xv? ( X )" + +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + gtk? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[${MULTILIB_USEDEP}] + introspection? ( dev-libs/gobject-introspection ) + ) + imagemagick? ( + !graphicsmagick? ( media-gfx/imagemagick:=[png,jpeg?] ) + graphicsmagick? ( media-gfx/graphicsmagick:=[png,jpeg?] ) + ) + jpeg? ( virtual/jpeg:0[${MULTILIB_USEDEP}] ) + python? ( ${PYTHON_DEPS} ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dev-qt/qtx11extras:5 + ) + v4l? ( media-libs/libv4l:0=[${MULTILIB_USEDEP}] ) + 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} + java? ( + >=virtual/jdk-1.8 + test? ( + dev-java/hamcrest-core:1.3 + dev-java/junit:4 + ) + ) + test? ( + ${PYTHON_DEPS} + dev-python/pillow[${PYTHON_USEDEP}] + )" + +BDEPEND=" + sys-devel/gettext + virtual/pkgconfig + gtk? ( dev-util/glib-utils )" + +PATCHES=( + "${FILESDIR}/${PN}-0.10-errors.patch" + "${FILESDIR}/${P}_create_correct_pkconfig_file_for_zbar-qt5.patch" + "${FILESDIR}/${P}_fix_detection_of_errors_in_the_v4l_read.patch" + "${FILESDIR}/${P}_fix_python_detect.patch" + "${FILESDIR}/${P}_fix_Qt5X11Extras_detect.patch" + "${FILESDIR}/${P}_reset_conversion_descriptor_after_close.patch" +) + +DOCS=( README.md NEWS.md TODO.md HACKING.md TODO.md ChangeLog ) + +pkg_setup() { + if use python || use test; then + python-single-r1_pkg_setup + fi + use java && java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default + + if use python || use test; then + if use test; then + # make tests happy + # because one of the test requires loadable py module from the current ${BUILD_DIR} + sed -e "s|PYTHONPATH=@abs_top_srcdir@|PYTHONPATH=@builddir@|g" \ + -i test/Makefile.am.inc || die + fi + + python_fix_shebang \ + examples/*.py \ + test/{test_python,barcodetest}.py # test_pygtk.py — py2 only + fi + + if use java; then + java-pkg-opt-2_src_prepare + sed -e "s|javadir = \$(pkgdatadir)|javadir = /usr/$(get_libdir)/zbar|" \ + -i java/Makefile.am || die + fi + + # do not install {LICENSE,INSTALL,etc}.md doc files with 'make install' (use DOCS=() instead) + sed -e "s|^dist_doc_DATA =\(.*\)|dist_doc_DATA =|" -i Makefile.am || die + + eautoreconf +} + +multilib_src_configure() { + append-cppflags -DNDEBUG + + local myeconfargs=( + $(use_with dbus) + $(use_with gtk gtk gtk3) # default is gtk2 + $(use_with jpeg) + $(multilib_native_use_with introspection gir) + $(multilib_native_use_with java) + $(multilib_native_use_with python python auto) + $(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 + # both must be enabled to use GraphicsMagick + if use graphicsmagick; then + myeconfargs+=( + --with-graphicsmagick + --without-imagemagick + ) + elif use imagemagick; then + myeconfargs+=( + --with-imagemagick + --without-graphicsmagick + ) + else + myeconfargs+=( + --without-imagemagick + --without-graphicsmagick + ) + fi + + if use java; then + export JAVACFLAGS="$(java-pkg_javac-args)" + append-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+=( + --with-qt + --with-qt5 + ) + else + myeconfargs+=( --without-qt ) + fi + else + myeconfargs+=( + --without-qt + --without-imagemagick + --without-graphicsmagick + ) + fi + + ECONF_SOURCE="${S}" \ + econf "${myeconfargs[@]}" + + # work around out-of-source build issues for multilib systems (bug 672184) + mkdir qt 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() { + use java && java-pkg-opt-2_pkg_preinst +} |