summaryrefslogtreecommitdiff
path: root/media-gfx/zbar
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-03-09 12:02:14 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-03-09 12:02:14 +0000
commit0fd62365fc104d7e6d5f3ef67800df09225a4019 (patch)
tree163b4a5055e07325ae1dc4f9bbbc2021ca1b6afa /media-gfx/zbar
parent442eaf1780a48ddbd7a39f5a3f34d959c3c6d27e (diff)
gentoo auto-resync : 09:03:2023 - 12:02:14
Diffstat (limited to 'media-gfx/zbar')
-rw-r--r--media-gfx/zbar/Manifest3
-rw-r--r--media-gfx/zbar/files/zbar-0.23.92-py311-set-size.patch30
-rw-r--r--media-gfx/zbar/zbar-0.23.92.ebuild235
3 files changed, 268 insertions, 0 deletions
diff --git a/media-gfx/zbar/Manifest b/media-gfx/zbar/Manifest
index 3ec39ca2a126..693b01af92a0 100644
--- a/media-gfx/zbar/Manifest
+++ b/media-gfx/zbar/Manifest
@@ -1,7 +1,10 @@
AUX zbar-0.23.90-fix-gtk-default.patch 1222 BLAKE2B 5d7bb46e1d1eafa34c75818bce154dc54528f88140d7959c0e1849c01189dd7e2019d0b1c9b254662c408eee05acc3ccc2f1d26387096745005a34bddae2a2fa SHA512 a7c2f51bde791fbf906a6226af067065dce71efe942d1c26e62ac1005577d05574fb96c4e15ed394b12acec0ca2b225aa4a97c29d59ddb305c2ff076c61fdc48
AUX zbar-0.23.90-fix-qt5x11extras-detect.patch 641 BLAKE2B ec0b86a83a149ef2a62585ea8a4db088e5fdc63ed28ff57f358b30372dff86b898364e6c0983a689efbbd6a4df82bc9764dc2dedf1f6beb68dcc1852336bce1b SHA512 5ca82734a32d12ac2aa451cba87081f44df46a4a9afc5ff8a60adf59cce30dbdca06866313b1a511c778e690f6e40994f22e868a7a9d098d69e4c62a9b26a004
AUX zbar-0.23.90-fix-unittest.patch 2711 BLAKE2B 58d1bbebf60bb9533a7c2b40a29afa7e8229b79a925ebcd05e26c3a67c2144173baedc31f0d92d0341c51ccfb3763e95840ce2073012e7b61a0f252287d5d6b4 SHA512 cc5aaef37155ad72d6b72e05c2f53523268e15b84f573117e780e3f39cc4df3981d080558db83d0fb52d2daa47beeaab4f194e4f912e732648ac4c5bc683e11d
+AUX zbar-0.23.92-py311-set-size.patch 1100 BLAKE2B be9b804d7ba1c5c1bae2a20853154da852a6ca1922f9a65f0583ea8d68f76d04e0e009c940417d24539cfb6577e47d8a6ee1d342de1a32b797afd4ebde284560 SHA512 9980027fdda6f995577c15c5c6337a45557802ed534da07208edb20cd99b8575f0c9864f1e48b2f300d973e682e73a0bac105a9eee7429db48224ddbcd15e8d1
AUX zbar-0.23_fix_python_detect.patch 351 BLAKE2B d5261e9adb3c9b43f1208a41a655718b952d06ce0ec003bb08bf30979d6c467b2b50e6fb9a6cd06f95230ed4ae55e14599c276f9f41f03677b4d18167c6665c4 SHA512 d24d75f840d84488986cede3378e067ac68d218acac34a8c34888c88611df8f4b1b397cfd5ecfcda82480fd56ea2bada29d8373cc6e93ae8050b84e801c36ca7
DIST zbar-0.23.90.tar.gz 1005314 BLAKE2B 5d0c193509602dfb55741b421e1d28f1424ecec50aa3be584912544a587922c053284c41cf14ff0b4824095d0d376381ed055e7faf9ff394bd8d44fd9ed2971d SHA512 d73d71873bec68ee021997512a9edbd223f5f5fe43c66c4dd3502224ba6009be2e5e1714766cb8e1056244673e87e0939ed0319116f61d7371b5ab79fb5e04eb
+DIST zbar-0.23.92.tar.gz 1005358 BLAKE2B 97af3c399333abfcd64e45e6c4f38e5da6ed1540447f35f0efe9bc0fb8d296d80c964452afa29d26d22bddd8de31bc3ca6582db38afe8416e9480f11b939e040 SHA512 cae47fb199173fc1c052984865ca0e6aeab330bd6d77506a0937994d459deb4419a3e54e2dcd2e9830ffb8acf14f29e22e0a6becc9e4cfe19b07dad1babe9513
EBUILD zbar-0.23.90.ebuild 5343 BLAKE2B 360b76986b1fe8c0088777e761b694e6ed6f49e6b877da1c3fbfac88da5e48d497c77d8e701e0fbcad4fd1864e341b4879797bffe1c8829be8840a2c25d2119b SHA512 3e8205bc97c04253ee18a0611ec19d84f336d94e9429ed0dce027d179d5c538076381e0cecb7edb1e30ccd5af912f9134099602547c0bcda129a40c792957a4b
+EBUILD zbar-0.23.92.ebuild 5479 BLAKE2B 5b8e1c94dd9dab5aeb04a817c99ea4ee03c755da0474e159797de20c00773e658f85d18d37494984412034060d9fe6042edd13108d9c9d30051ad628fdb4d6b5 SHA512 1a0058f92aea6149c8bf7a4621552bc3859fa996630893857210f3bfc99d0d96b7dda1da0eb710fdb6a0561d4b004e5d7db3be8d31a58df48b874cc148998ca8
MISC metadata.xml 738 BLAKE2B a5f5f0f157f7339f3dd39dde18b79427b35c6ce0b079b1ed03a0f2de821bc14f3a9c76fbd68bfd836444a4750a604be0012e4501207e75dfe4fc39aef7e65827 SHA512 334a091fc54d950a8b3e7572af7ae9766d20fd0d49aaa9fd18f5ea75966b45a53a861e290bcf9ca0fd8cc160cba669185aa01a9c8e77a585f2cb84d10f3b1e80
diff --git a/media-gfx/zbar/files/zbar-0.23.92-py311-set-size.patch b/media-gfx/zbar/files/zbar-0.23.92-py311-set-size.patch
new file mode 100644
index 000000000000..a51193af7777
--- /dev/null
+++ b/media-gfx/zbar/files/zbar-0.23.92-py311-set-size.patch
@@ -0,0 +1,30 @@
+Upstream-PR: https://github.com/mchehab/zbar/pull/231
+
+diff --git a/python/enum.c b/python/enum.c
+index ba22ba63..4644509e 100644
+--- a/python/enum.c
++++ b/python/enum.c
+@@ -50,7 +50,11 @@ static zbarEnumItem *enumitem_new(PyTypeObject *type, PyObject *args,
+
+ /* we assume the "fast path" for a single-digit ints (see longobject.c) */
+ /* this also holds if we get a small_int preallocated long */
++#if PY_VERSION_HEX >= 0x030900A4
++ Py_SET_SIZE(&self->val, Py_SIZE(longval));
++#else
+ Py_SIZE(&self->val) = Py_SIZE(longval);
++#endif
+ self->val.ob_digit[0] = longval->ob_digit[0];
+ Py_DECREF(longval);
+ #else
+@@ -129,7 +133,11 @@ zbarEnumItem *zbarEnumItem_New(PyObject *byname, PyObject *byvalue, int val,
+
+ /* we assume the "fast path" for a single-digit ints (see longobject.c) */
+ /* this also holds if we get a small_int preallocated long */
++#if PY_VERSION_HEX >= 0x030900A4
++ Py_SET_SIZE(&self->val, Py_SIZE(longval));
++#else
+ Py_SIZE(&self->val) = Py_SIZE(longval);
++#endif
+ self->val.ob_digit[0] = longval->ob_digit[0];
+ Py_DECREF(longval);
+
diff --git a/media-gfx/zbar/zbar-0.23.92.ebuild b/media-gfx/zbar/zbar-0.23.92.ebuild
new file mode 100644
index 000000000000..f2233c1e697c
--- /dev/null
+++ b/media-gfx/zbar/zbar-0.23.92.ebuild
@@ -0,0 +1,235 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools flag-o-matic java-pkg-opt-2 multilib-minimal python-single-r1 qmake-utils virtualx
+
+DESCRIPTION="Library and tools for reading barcodes from images or video"
+HOMEPAGE="https://github.com/mchehab/zbar"
+SRC_URI="https://github.com/mchehab/zbar/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="dbus graphicsmagick gtk +imagemagick introspection java jpeg nls 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? ( media-libs/libjpeg-turbo: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}
+ $(python_gen_cond_dep '
+ dev-python/pillow[${PYTHON_USEDEP}]
+ ')
+ elibc_musl? ( sys-libs/argp-standalone )
+ )"
+
+BDEPEND="
+ app-text/xmlto
+ sys-devel/gettext
+ virtual/pkgconfig
+ gtk? ( dev-util/glib-utils )
+ nls? (
+ sys-devel/gettext
+ virtual/libiconv
+ )"
+
+DOCS=( README.md NEWS.md TODO.md HACKING.md TODO.md ChangeLog )
+
+PATCHES=(
+ # git master
+ "${FILESDIR}/${PN}-0.23.90-fix-gtk-default.patch"
+ # TODO: upstream?
+ "${FILESDIR}/${PN}-0.23_fix_python_detect.patch"
+ "${FILESDIR}/${PN}-0.23.90-fix-unittest.patch"
+ "${FILESDIR}/${PN}-0.23.90-fix-qt5x11extras-detect.patch"
+ "${FILESDIR}/${P}-py311-set-size.patch"
+)
+
+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} 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) # avoid 'auto'
+ $(use_with jpeg)
+ $(multilib_native_use_with introspection gir)
+ $(multilib_native_use_with java)
+ $(multilib_native_use_with python python auto)
+ $(use_enable nls)
+ $(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 imagemagick && use graphicsmagick; then
+ myeconfargs+=(
+ --with-graphicsmagick
+ --without-imagemagick
+ )
+ elif ! use graphicsmagick && 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
+ myeconfargs+=( --with-java-unit )
+ CLASSPATH+=":$(java-pkg_getjar --build-only junit-4 junit.jar)"
+ 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
+
+ if use test && use elibc_musl; then
+ append-ldflags -largp
+ fi
+
+ else
+ myeconfargs+=(
+ --without-graphicsmagick
+ --without-imagemagick
+ --without-qt
+ )
+
+ # zbarimg tests with native abi only
+ # (this option from the patch above, stay up to date)
+ use test && myeconfargs+=( --without-zbarimg-tests )
+ fi
+
+ # use bash (bug 721370)
+ CONFIG_SHELL='/bin/bash' \
+ ECONF_SOURCE="${S}" \
+ MOC="$(qt5_get_bindir)"/moc \
+ 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
+}