diff --git a/.gitignore b/.gitignore index 5a6ac22..d28ed8e 100644 --- a/.gitignore +++ b/.gitignore @@ -10,5 +10,3 @@ zbar-0.10.tar.bz2 /zbar-0.22.91.tar.bz2 /zbar-0.22.92.tar.bz2 /zbar-0.23.tar.bz2 -/zbar-0.23.90.tar.bz2 -/zbar-0.23.93.tar.bz2 diff --git a/fix_qt_overlinking.patch b/fix_qt_overlinking.patch deleted file mode 100644 index 727a57e..0000000 --- a/fix_qt_overlinking.patch +++ /dev/null @@ -1,16 +0,0 @@ -This was causing Qt5 to be linked into every binary in zbar, where it is only -needed for the Qt bindings (which already specify QT_CFLAGS, QT_LIBS, etc). - -diff --git a/configure.ac b/configure.ac -index f0f9723..2a26973 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -689,8 +689,6 @@ AM_CONDITIONAL([HAVE_QT], [test "x$with_qt" = "xyes"]) - AM_COND_IF([HAVE_QT], - [AC_MSG_NOTICE([using Qt version $QT_VERSION]) - AC_MSG_NOTICE([using moc from $MOC]) -- CPPFLAGS="$CPPFLAGS $QT_CPPFLAGS" -- LIBS="$LIBS $QT_LIBS" - AC_CONFIG_FILES([zbar-qt.pc:"${qt_pkgconfig_file}.in"]) - #dnl -fPIC has no effect on Windows and breaks windres - AS_IF([test "x$win32" = "xno"], [CPPFLAGS="$CPPFLAGS -fPIC"])]) diff --git a/sources b/sources index 4eacb18..6707fd8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (zbar-0.23.93.tar.bz2) = 8b1d57557cb1c425109b709f0cbe94830939cb4cd9a0cb505d44ba3c7cfb3522560c3bbf2a8b37985da4577b677ad675491f6ef0e9796749382079c0e844e21e +SHA512 (zbar-0.23.tar.bz2) = 7eef2ee99760edd693ecc12a36e04b71a156b93b4c1977ca4f6da103a955284cf640b55adb185477e1d4cc65345bb01608ed9528f6518abb514ccbc58e5d350b diff --git a/zbar-tp_print.patch b/zbar-tp_print.patch new file mode 100644 index 0000000..ac1391b --- /dev/null +++ b/zbar-tp_print.patch @@ -0,0 +1,28 @@ +--- python/enum.c~ 2019-05-22 06:00:30.000000000 -0500 ++++ python/enum.c 2020-07-20 12:29:37.468767649 -0500 +@@ -76,6 +76,7 @@ + return(self->name); + } + ++#if PY_MAJOR_VERSION < 3 + static int + enumitem_print (zbarEnumItem *self, + FILE *fp, +@@ -83,6 +84,7 @@ + { + return(self->name->ob_type->tp_print(self->name, fp, flags)); + } ++#endif + + static PyObject* + enumitem_repr (zbarEnumItem *self) +@@ -115,7 +117,9 @@ + .tp_new = (newfunc)enumitem_new, + .tp_dealloc = (destructor)enumitem_dealloc, + .tp_str = (reprfunc)enumitem_str, ++#if PY_MAJOR_VERSION < 3 + .tp_print = (printfunc)enumitem_print, ++#endif + .tp_repr = (reprfunc)enumitem_repr, + }; + diff --git a/zbar.spec b/zbar.spec index 255f4e8..a6160e6 100644 --- a/zbar.spec +++ b/zbar.spec @@ -1,41 +1,21 @@ -%ifarch %{java_arches} -%global JAVA 1 -%else -%global JAVA 0 -%endif - Name: zbar -Version: 0.23.93 -Release: 13%{?dist} +Version: 0.23 +Release: 8%{?dist} Summary: Bar code reader -License: LGPL-2.1-or-later +License: LGPLv2+ URL: http://zbar.sourceforge.net/ Source0: https://linuxtv.org/downloads/%{name}/%{name}-%{version}.tar.bz2 Patch0: use_python3_on_python_script.patch -Patch1: fix_qt_overlinking.patch +Patch1: zbar-tp_print.patch -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: dbus-devel -BuildRequires: gettext-devel -BuildRequires: GraphicsMagick-devel -BuildRequires: gtk3-devel -BuildRequires: libSM-devel -BuildRequires: libtool -BuildRequires: libv4l-devel -BuildRequires: libXv-devel -BuildRequires: make -BuildRequires: python3-gobject-devel -BuildRequires: qt5-qtbase-devel -BuildRequires: qt5-qtx11extras-devel -%if %{JAVA} -BuildRequires: java-devel -%endif +BuildRequires: make +BuildRequires: autoconf automake libtool gettext-devel +BuildRequires: qt5-qtbase-devel qt5-qtx11extras-devel +BuildRequires: gtk3-devel GraphicsMagick-devel pygobject3-devel +BuildRequires: libv4l-devel libXv-devel xmlto dbus-devel +BuildRequires: java-11-openjdk-devel BuildRequires: python3-devel -BuildRequires: python3-setuptools -BuildRequires: xmlto -BuildRequires: gobject-introspection-devel %description ZBar Bar Code Reader is an open source software suite for reading bar @@ -44,42 +24,42 @@ intensity sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 93, Code 39, Codabar, Interleaved 2 of 5, QR Code and SQ Code. %package devel -Summary: Bar code reader library extra development files -Requires: %{name}-libs%{_isa} = %{version}-%{release} +Summary: Bar code library extra development files +Requires: pkgconfig, %{name} = %{version}-%{release} %description devel This package contains header files and additional libraries used for developing applications that read bar codes with this library. -%package libs -Summary: Bar code reader library - -%description libs -This package contains the ZBar Bar Code Reader library. - %package gtk Summary: Bar code reader GTK widget -Requires: %{name}-libs%{_isa} = %{version}-%{release} -# Obsoleted in F37 -Obsoletes: %{name}-gi < %{version}-%{release} +Requires: %{name} = %{version}-%{release} %description gtk This package contains a bar code scanning widget for use with GUI -applications based on GTK 3. +applications based on GTK+-2.0. + +%package gi +Summary: Bar code reader GObject Introspection (GIR) Gtk bindings +Requires: %{name}-gtk = %{version}-%{release} + +%description gi +This package contains a bar code scanning GObject Introspection +(GIR) Gtk bindings, with allow the usage of ZBar with GUI +support on any application compatible with GIR, like python3. %package gtk-devel Summary: Bar code reader GTK widget extra development files -Requires: %{name}-devel%{_isa} = %{version}-%{release} -Requires: %{name}-gtk%{_isa} = %{version}-%{release} +Requires: pkgconfig, %{name}-gtk = %{version}-%{release}, %{name}-devel = %{version}-%{release} %description gtk-devel This package contains header files and additional libraries used for -developing GUI applications based on GTK 3 that include a bar code +developing GUI applications based on GTK+-2.0 that include a bar code scanning widget. %package qt Summary: Bar code reader Qt widget -Requires: %{name}-libs%{_isa} = %{version}-%{release} +Requires: %{name} = %{version}-%{release} %description qt This package contains a bar code scanning widget for use with GUI @@ -87,65 +67,58 @@ applications based on Qt4. %package qt-devel Summary: Bar code reader Qt widget extra development files -Requires: %{name}-devel%{_isa} = %{version}-%{release} -Requires: %{name}-qt%{_isa} = %{version}-%{release} +Requires: pkgconfig, %{name}-qt = %{version}-%{release}, %{name}-devel = %{version}-%{release} %description qt-devel This package contains header files and additional libraries used for -developing GUI applications based on Qt5 that include a bar code +developing GUI applications based on Qt4 that include a bar code scanning widget. -%package -n python3-zbar +%package python3 Summary: Bar code reader PyGTK widget -Requires: %{name}-libs%{_isa} = %{version}-%{release} -Requires: python3-pillow -# Renamed in F37 -Obsoletes: %{name}-python3 < %{version}-%{release} +Requires: python3-pillow, %{name} = %{version}-%{release} -%description -n python3-zbar +%description python3 This package contains a bar code scanning widget for use on python applications that work with images. -%if %{JAVA} %package java Summary: Bar code reader Java library -Requires: %{name}-devel%{_isa} = %{version}-%{release} -Requires: %{name}-gtk%{_isa} = %{version}-%{release} +Requires: pkgconfig, %{name}-gtk = %{version}-%{release}, %{name}-devel = %{version}-%{release} %description java This package contains header files and additional libraries used for on Java Native Interface (JNI) applications using ZBar. -%endif + %prep %setup -q -%patch 0 -p1 -%patch 1 -p1 +%patch0 -p1 +%patch1 -p0 %build -autoreconf -fiv -%configure --with-python=python3 --with-gtk=auto --with-dbusconfdir=%{_sysconfdir} --docdir=%{_docdir}/%{name}-%{version} --with-graphicsmagick --without-xshm --without-xv --enable-codes=ean,databar,code128,code93,code39,codabar,i25,qrcode,sqcode,pdf417 +autoreconf -vfi +%configure --with-python=python3 --with-gtk=auto --docdir=%{_docdir}/%{name}-%{version} --with-graphicsmagick # rpath sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool -%make_build +make %{?_smp_mflags} %install -%make_install -%if %{JAVA} +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" install -d %{buildroot}%{_jnidir} mv %{buildroot}%{_datadir}/zbar/lib/zbar.jar %{buildroot}%{_jnidir} mv %{buildroot}%{_datadir}/zbar/lib/libzbarjni.so* %{buildroot}%{_libdir} -%endif cp test/test_python.py %{buildroot}%{_docdir} #Remove .la and .a files find ${RPM_BUILD_ROOT} -name '*.la' -or -name '*.a' | xargs rm -f # Remove installed doc -rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/ +rm -rf $RPM_BUILD_ROOT/usr/share/doc/zbar-%{version}/ %ldconfig_scriptlets @@ -155,22 +128,19 @@ rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/ %ldconfig_scriptlets qt -%find_lang zbar - %files %doc NEWS.md README.md INSTALL.md +%license COPYING LICENSE.md + %{_bindir}/zbarimg %{_bindir}/zbarcam +%{_libdir}/libzbar.so.* %{_mandir}/man1/* %{_sysconfdir}/dbus-1/system.d/org.linuxtv.Zbar.conf -%files libs -f zbar.lang -%license COPYING LICENSE.md -%{_libdir}/libzbar.so.0* -%{_libdir}/girepository-1.0/ZBar-1.0.typelib - %files devel %doc HACKING.md TODO.md + %{_libdir}/libzbar.so %{_libdir}/pkgconfig/zbar.pc %dir %{_includedir}/zbar @@ -184,12 +154,17 @@ rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/ %{_includedir}/zbar/Video.h %{_includedir}/zbar/Window.h %{_includedir}/zbar/Processor.h -%{_datadir}/gir-1.0/ZBar-1.0.gir %files gtk %{_libdir}/libzbargtk.so.* %{_bindir}/zbarcam-gtk +%files gi +%dir %{_libdir}/girepository-1.0 +%dir %{_datadir}/gir-1.0 +%{_libdir}/girepository-1.0/ZBar-1.0.typelib +%{_datadir}/gir-1.0/ZBar-1.0.gir + %files gtk-devel %{_libdir}/libzbargtk.so %{_libdir}/pkgconfig/zbar-gtk.pc @@ -204,117 +179,15 @@ rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/ %{_libdir}/pkgconfig/zbar-qt.pc %{_includedir}/zbar/QZBar*.h -%if %{JAVA} %files java %{_jnidir}/zbar.jar %{_libdir}/libzbarjni.so* -%endif -%files -n python3-zbar +%files python3 %{python3_sitearch}/zbar.so %{_docdir}/test_python.py %changelog -* Tue Aug 04 2026 Gwyn Ciesla - 0.23.93-13 -- Rebuild for Python 3.15.0b4 - -* Fri Jul 17 2026 Fedora Release Engineering - 0.23.93-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Wed Jun 03 2026 Python Maint - 0.23.93-11 -- Rebuilt for Python 3.15 - -* Sat Jan 17 2026 Fedora Release Engineering - 0.23.93-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Fri Sep 05 2025 Yaakov Selkowitz - 0.23.93-9 -- Fix Qt overlinking - -* Fri Jul 25 2025 Fedora Release Engineering - 0.23.93-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Tue Jun 03 2025 Python Maint - 0.23.93-7 -- Rebuilt for Python 3.14 - -* Sun Jan 19 2025 Fedora Release Engineering - 0.23.93-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Jul 20 2024 Fedora Release Engineering - 0.23.93-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jun 07 2024 Python Maint - 0.23.93-4 -- Rebuilt for Python 3.13 - -* Mon Apr 15 2024 Gwyn Ciesla - 0.23.93-3 -- Update python3-gobject BuildRequires - -* Sat Jan 27 2024 Fedora Release Engineering - 0.23.93-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Tue Jan 09 2024 Gwyn Ciesla - 0.23.93-1 -- 0.23.93 - -* Fri Jan 05 2024 Florian Weimer - 0.23.90-12 -- Add missing Py_SIZE to py311.patch - -* Sat Jul 22 2023 Fedora Release Engineering - 0.23.90-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jul 07 2023 Michael J Gruber - 0.23.90-10 -- Fix FTBFS with python 3.12 (rhbz#2220630) - -* Thu Jun 15 2023 Python Maint - 0.23.90-9 -- Rebuilt for Python 3.12 - -* Wed Mar 01 2023 Gwyn Ciesla - 0.23.90-8 -- migrated to SPDX license - -* Sat Jan 21 2023 Fedora Release Engineering - 0.23.90-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Dec 21 2022 Gwyn Ciesla - 0.23.90-6 -- BR setuptools - -* Fri Aug 26 2022 Kalev Lember - 0.23.90-5 -- Misc packaging cleanup -- Sort BuildRequires and Requires and split them out one per line -- Move GObject Introspection bindings to -gtk and -gtk-devel subpackages -- Split libzbar out to zbar-libs subpackage -- Tighten subpackage deps with %%{_isa} -- Drop manual requires on pkgconfig and rely on rpm dep extractor -- Rename zbar-python3 to python3-zbar as per latest Python guidelines -- Use make_build and make_install macros - -* Mon Aug 01 2022 Gwyn Ciesla - 0.23.90-4 -- Only build Java on supported platforms. - -* Sat Jul 23 2022 Fedora Release Engineering - 0.23.90-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jun 13 2022 Python Maint - 0.23.90-2 -- Rebuilt for Python 3.11 - -* Tue May 31 2022 Gwyn Ciesla - 0.23.90-1 -- 0.23.90 - -* Sat Feb 05 2022 Jiri Vanek - 0.23-14 -- Rebuilt for java-17-openjdk as system jdk - -* Sat Jan 22 2022 Fedora Release Engineering - 0.23-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jan 12 2022 Gwyn Ciesla - 0.23-12 -- Fix 3.11 FTBFS. - -* Fri Jul 23 2021 Fedora Release Engineering - 0.23-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 04 2021 Python Maint - 0.23-10 -- Rebuilt for Python 3.10 - -* Thu Mar 25 2021 Gwyn Ciesla - 0.23-9 -Fix FTBFS for autoconf 2.71. - * Thu Jan 28 2021 Fedora Release Engineering - 0.23-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild