diff options
author | Alan Swanson <reiver@improbability.net> | 2024-07-30 16:23:10 +0100 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2024-08-05 10:34:42 +0300 |
commit | 973ecc31e61e26f69cc508250188b2dff5b910f6 (patch) | |
tree | 68188489bfd7533c10e0a7bca4c91b52d2ea0048 | |
parent | app-misc/broot: drop 1.36.1 (diff) | |
download | gentoo-973ecc31e61e26f69cc508250188b2dff5b910f6.tar.gz gentoo-973ecc31e61e26f69cc508250188b2dff5b910f6.tar.bz2 gentoo-973ecc31e61e26f69cc508250188b2dff5b910f6.zip |
media-gfx/zbar: add 0.23.93 with python3_12 support
Closes: https://bugs.gentoo.org/929630
Signed-off-by: Alan Swanson <reiver@improbability.net>
Closes: https://github.com/gentoo/gentoo/pull/37432
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
4 files changed, 308 insertions, 0 deletions
diff --git a/media-gfx/zbar/Manifest b/media-gfx/zbar/Manifest index bad02d9095d4..4ddf45df9813 100644 --- a/media-gfx/zbar/Manifest +++ b/media-gfx/zbar/Manifest @@ -1 +1,2 @@ DIST zbar-0.23.92.tar.gz 1005358 BLAKE2B 97af3c399333abfcd64e45e6c4f38e5da6ed1540447f35f0efe9bc0fb8d296d80c964452afa29d26d22bddd8de31bc3ca6582db38afe8416e9480f11b939e040 SHA512 cae47fb199173fc1c052984865ca0e6aeab330bd6d77506a0937994d459deb4419a3e54e2dcd2e9830ffb8acf14f29e22e0a6becc9e4cfe19b07dad1babe9513 +DIST zbar-0.23.93.tar.gz 1009320 BLAKE2B 7476776fbb2b2dca4fb94e4eb8c6c5ca7795e32881e93c45002679bdc048cb0bf8d880d2b31f1469a95d718c6d027b7ee0da195951645478493d6f638ae186b5 SHA512 2dd607afbb1e52346bfb740f916c8616112d14153f071f82458b7c653f647b332290a5089543abebfe1c7679eae98b349a84777185d61cfb9ff275bfecc6e08f diff --git a/media-gfx/zbar/files/zbar-0.23.93-configure-ac-do-not-use-hardcoded-pkg-config-command.patch b/media-gfx/zbar/files/zbar-0.23.93-configure-ac-do-not-use-hardcoded-pkg-config-command.patch new file mode 100644 index 000000000000..397ad6dd6fbf --- /dev/null +++ b/media-gfx/zbar/files/zbar-0.23.93-configure-ac-do-not-use-hardcoded-pkg-config-command.patch @@ -0,0 +1,49 @@ +From 368571ffa1a0f6cc41f708dd0d27f9b6e9409df8 Mon Sep 17 00:00:00 2001 +From: Boyuan Yang <byang@debian.org> +Date: Tue, 9 Jan 2024 07:56:32 -0500 +Subject: [PATCH] configure.ac: Do not use hardcoded pkg-config command + +Use overridable $PKG_CONFIG instead. + +Also fixes some M4 grammar errors in configure.ac. + +Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> +--- + configure.ac | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index f0f9723c..a2251e3d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -663,23 +663,23 @@ AC_ARG_WITH([qt6], + + AS_IF([test "x$with_qt" != "xno"], + [AS_IF([test "x$with_qt6" != "xno"], +- PKG_CHECK_MODULES([QT], ++ [PKG_CHECK_MODULES([QT], + [Qt6], +- [MOC=`pkg-config Qt6 --variable=moc` ++ [MOC=`$PKG_CONFIG Qt6 --variable=moc` + QT_VERSION=`$PKG_CONFIG Qt6 --modversion` +- QT6_HEADERS=`pkg-config Qt6 --variable=headerdir` ++ QT6_HEADERS=`$PKG_CONFIG Qt6 --variable=headerdir` + CPPFLAGS="$CPPFLAGS -I$QT6_HEADERS -I$QT6_HEADERS/QtWidgets -I$QT6_HEADERS/QtCore -I$QT6_HEADERS/QtGui" + qt_pkgconfig_file="zbar-qt5.pc" + ], +- [with_qt6="no"])) ++ [with_qt6="no"])]) + AS_IF([test "x$with_qt6" = "xno"], +- PKG_CHECK_MODULES([QT], ++ [PKG_CHECK_MODULES([QT], + [Qt5Core >= 5 Qt5Gui >= 5 Qt5Widgets >= 5.0 Qt5X11Extras >= 5.0], +- [MOC=`pkg-config Qt5 --variable=moc` ++ [MOC=`$PKG_CONFIG Qt5 --variable=moc` + QT_VERSION=`$PKG_CONFIG Qt5 --modversion` + qt_pkgconfig_file="zbar-qt5.pc" + ], +- [with_qt="no"])) ++ [with_qt="no"])]) + ]) + + AC_ARG_VAR([MOC], [full path to Qt moc program]) diff --git a/media-gfx/zbar/files/zbar-0.23.93-configure-ac-use-old-way-to-detect-qt5.patch b/media-gfx/zbar/files/zbar-0.23.93-configure-ac-use-old-way-to-detect-qt5.patch new file mode 100644 index 000000000000..a5e9dba8ebea --- /dev/null +++ b/media-gfx/zbar/files/zbar-0.23.93-configure-ac-use-old-way-to-detect-qt5.patch @@ -0,0 +1,26 @@ +From a549566ea11eb03622bd4458a1728ffe3f589163 Mon Sep 17 00:00:00 2001 +From: Boyuan Yang <byang@debian.org> +Date: Wed, 10 Jan 2024 10:57:29 -0500 +Subject: [PATCH] configure.ac: Use old way to detect Qt5 + +Bug: https://github.com/mchehab/zbar/issues/277 +Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a2251e3d..0e5641e5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -675,8 +675,8 @@ AS_IF([test "x$with_qt" != "xno"], + AS_IF([test "x$with_qt6" = "xno"], + [PKG_CHECK_MODULES([QT], + [Qt5Core >= 5 Qt5Gui >= 5 Qt5Widgets >= 5.0 Qt5X11Extras >= 5.0], +- [MOC=`$PKG_CONFIG Qt5 --variable=moc` +- QT_VERSION=`$PKG_CONFIG Qt5 --modversion` ++ [AC_CHECK_PROGS([MOC], [moc-qt5 moc]) ++ QT_VERSION=`$PKG_CONFIG Qt5Gui --modversion`; + qt_pkgconfig_file="zbar-qt5.pc" + ], + [with_qt="no"])]) diff --git a/media-gfx/zbar/zbar-0.23.93.ebuild b/media-gfx/zbar/zbar-0.23.93.ebuild new file mode 100644 index 000000000000..2de79e7129ae --- /dev/null +++ b/media-gfx/zbar/zbar-0.23.93.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +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=( + # TODO: upstream? + "${FILESDIR}/${PN}-0.23_fix_python_detect.patch" + "${FILESDIR}/${PN}-0.23.90-fix-unittest.patch" + "${FILESDIR}/${PN}-0.23.93-configure-ac-do-not-use-hardcoded-pkg-config-command.patch" + "${FILESDIR}/${PN}-0.23.93-configure-ac-use-old-way-to-detect-qt5.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 + ) + 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 +} |