Accepting request 668116 from home:polslinux:branches:openSUSE:Factory
- Update Zbar to v0.20.1 * switch from the old abandoned codebase to the new codebase maintained by linuxtv.org * improved v4l2 support * compatible with Qt5 * various fixes - Removed fix_build.patch - Removed fix-gcc5.patch - Removed zbar-Qt5.patch - Removed fix-gcc8.patch - Update Zbar to v0.20.1 OBS-URL: https://build.opensuse.org/request/show/668116 OBS-URL: https://build.opensuse.org/package/show/Application:Geo/zbar?expand=0&rev=30
This commit is contained in:
parent
72257e982e
commit
d60f914f3c
@ -1,59 +0,0 @@
|
||||
zbar/decoder/ean.c | 4 ++--
|
||||
zbar/qrcode/qrdec.c | 8 ++++----
|
||||
2 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/zbar/decoder/ean.c b/zbar/decoder/ean.c
|
||||
index c20f538..fe38eaa 100644
|
||||
--- a/zbar/decoder/ean.c
|
||||
+++ b/zbar/decoder/ean.c
|
||||
@@ -294,7 +294,7 @@ static inline zbar_symbol_type_t ean_part_end4 (ean_pass_t *pass,
|
||||
/* invalid parity combination */
|
||||
return(ZBAR_NONE);
|
||||
|
||||
- if(!par == fwd) {
|
||||
+ if(!(par == fwd)) {
|
||||
/* reverse sampled digits */
|
||||
unsigned char tmp = pass->raw[1];
|
||||
pass->state |= STATE_REV;
|
||||
@@ -380,7 +380,7 @@ static inline zbar_symbol_type_t ean_part_end7 (ean_decoder_t *ean,
|
||||
/* invalid parity combination */
|
||||
return(ZBAR_NONE);
|
||||
|
||||
- if(!par == fwd) {
|
||||
+ if(!(par == fwd)) {
|
||||
unsigned char i;
|
||||
pass->state |= STATE_REV;
|
||||
/* reverse sampled digits */
|
||||
diff --git a/zbar/qrcode/qrdec.c b/zbar/qrcode/qrdec.c
|
||||
index d8fa802..fd42c33 100644
|
||||
--- a/zbar/qrcode/qrdec.c
|
||||
+++ b/zbar/qrcode/qrdec.c
|
||||
@@ -1219,8 +1219,8 @@ static int qr_finder_quick_crossing_check(const unsigned char *_img,
|
||||
_x1<0||_x1>=_width||_y1<0||_y1>=_height){
|
||||
return -1;
|
||||
}
|
||||
- if(!_img[_y0*_width+_x0]!=_v||!_img[_y1*_width+_x1]!=_v)return 1;
|
||||
- if(!_img[(_y0+_y1>>1)*_width+(_x0+_x1>>1)]==_v)return -1;
|
||||
+ if(!(_img[_y0*_width+_x0]!=_v)||!(_img[_y1*_width+_x1]!=_v))return 1;
|
||||
+ if(!(_img[(_y0+_y1>>1)*_width+(_x0+_x1>>1)]==_v))return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1261,7 +1261,7 @@ static int qr_finder_locate_crossing(const unsigned char *_img,
|
||||
x0[1-steep]+=step[1-steep];
|
||||
err-=dx[steep];
|
||||
}
|
||||
- if(!_img[x0[1]*_width+x0[0]]!=_v)break;
|
||||
+ if(!(_img[x0[1]*_width+x0[0]]!=_v))break;
|
||||
}
|
||||
/*Find the last crossing from _v to !_v.*/
|
||||
err=0;
|
||||
@@ -1273,7 +1273,7 @@ static int qr_finder_locate_crossing(const unsigned char *_img,
|
||||
x1[1-steep]-=step[1-steep];
|
||||
err-=dx[steep];
|
||||
}
|
||||
- if(!_img[x1[1]*_width+x1[0]]!=_v)break;
|
||||
+ if(!(_img[x1[1]*_width+x1[0]]!=_v))break;
|
||||
}
|
||||
/*Return the midpoint of the _v segment.*/
|
||||
_p[0]=(x0[0]+x1[0]+1<<QR_FINDER_SUBPREC)>>1;
|
@ -1,38 +0,0 @@
|
||||
--- a/qt/QZBar.cpp 2018-04-10 16:20:27.946677757 +0200
|
||||
+++ b/qt/QZBar.cpp 2018-04-10 16:17:21.839009342 +0200
|
||||
@@ -183,7 +183,7 @@
|
||||
if(thread)
|
||||
thread->window.redraw();
|
||||
}
|
||||
- catch(Exception) {
|
||||
+ catch(Exception *) {
|
||||
// sometimes Qt attempts to paint the widget before it's parented(?)
|
||||
// just ignore this (can't throw from event anyway)
|
||||
}
|
||||
@@ -196,7 +196,7 @@
|
||||
if(thread)
|
||||
thread->window.resize(size.rwidth(), size.rheight());
|
||||
}
|
||||
- catch(Exception) { /* ignore */ }
|
||||
+ catch(Exception *) { /* ignore */ }
|
||||
}
|
||||
|
||||
void QZBar::changeEvent(QEvent *event)
|
||||
@@ -206,7 +206,7 @@
|
||||
if(event->type() == QEvent::ParentChange)
|
||||
thread->window.attach(QX11Info::display(), winId());
|
||||
}
|
||||
- catch(Exception) { /* ignore (FIXME do something w/error) */ }
|
||||
+ catch(Exception *) { /* ignore (FIXME do something w/error) */ }
|
||||
}
|
||||
|
||||
void QZBar::attach ()
|
||||
@@ -222,7 +222,7 @@
|
||||
if(_videoEnabled)
|
||||
thread->pushEvent(new QZBarThread::VideoDeviceEvent(_videoDevice));
|
||||
}
|
||||
- catch(Exception) { /* ignore (FIXME do something w/error) */ }
|
||||
+ catch(Exception *) { /* ignore (FIXME do something w/error) */ }
|
||||
}
|
||||
|
||||
void QZBar::showEvent (QShowEvent *event)
|
@ -1,15 +0,0 @@
|
||||
diff -ur zbar-0.10_2012_08_06/configure.ac zbar-0.10_2012_08_06_fix/configure.ac
|
||||
--- zbar-0.10_2012_08_06/configure.ac 2012-08-06 18:29:28.271138221 +0200
|
||||
+++ zbar-0.10_2012_08_06_fix/configure.ac 2012-08-06 19:12:42.396126332 +0200
|
||||
@@ -3,9 +3,10 @@
|
||||
AC_INIT([zbar], [0.10], [spadix@users.sourceforge.net])
|
||||
AC_CONFIG_AUX_DIR(config)
|
||||
AC_CONFIG_MACRO_DIR(config)
|
||||
-AM_INIT_AUTOMAKE([1.10 -Wall -Werror foreign subdir-objects std-options dist-bzip2])
|
||||
+AM_INIT_AUTOMAKE([1.10 -Wall foreign subdir-objects std-options dist-bzip2])
|
||||
AC_CONFIG_HEADERS([include/config.h])
|
||||
AC_CONFIG_SRCDIR(zbar/scanner.c)
|
||||
+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
||||
LT_PREREQ([2.2])
|
||||
LT_INIT([dlopen win32-dll])
|
||||
LT_LANG([Windows Resource])
|
10
update.sh
10
update.sh
@ -1,10 +0,0 @@
|
||||
#! /bin/bash
|
||||
|
||||
hg clone http://zbar.hg.sourceforge.net:8000/hgroot/zbar
|
||||
osc rm zbar-*.tar.bz2
|
||||
pushd zbar
|
||||
ARC=`date +"zbar-0.10_%Y_%m_%d.tar.bz2"`
|
||||
hg archive "../$ARC"
|
||||
popd
|
||||
rm -rfv zbar
|
||||
osc add $ARC
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8c7ad832c603dcc5531a3816c092dc59f87df3782fe0111bb6becd2f65cbdc6a
|
||||
size 648280
|
3
zbar-0.20.1.tar.bz2
Normal file
3
zbar-0.20.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a0081a9b473d9e44e029d948a8d7f22deb1bf128980f3fc4e185298066e62a6c
|
||||
size 459018
|
109
zbar-Qt5.patch
109
zbar-Qt5.patch
@ -1,109 +0,0 @@
|
||||
Index: zbar-0.10_2013_02_28/configure.ac
|
||||
===================================================================
|
||||
--- zbar-0.10_2013_02_28.orig/configure.ac
|
||||
+++ zbar-0.10_2013_02_28/configure.ac
|
||||
@@ -468,17 +468,17 @@ AM_CONDITIONAL([HAVE_PYTHON], [test "x$w
|
||||
dnl Qt
|
||||
AC_ARG_WITH([qt],
|
||||
[AS_HELP_STRING([--without-qt],
|
||||
- [disable support for Qt4 widget])],
|
||||
+ [disable support for Qt5 widget])],
|
||||
[],
|
||||
[with_qt="yes"])
|
||||
|
||||
AC_ARG_VAR([MOC], [full path to Qt moc program])
|
||||
|
||||
AS_IF([test "x$with_qt" != "xno"],
|
||||
- [PKG_CHECK_MODULES([QT], [QtCore >= 4 QtGui >= 4])
|
||||
- MOC=`$PKG_CONFIG QtGui --variable=moc_location`
|
||||
+ [PKG_CHECK_MODULES([QT], [Qt5Core Qt5Gui Qt5Widgets Qt5X11Extras])
|
||||
+ MOC=`$PKG_CONFIG Qt5Core --variable=host_bins`/moc
|
||||
AC_MSG_NOTICE([using moc from $MOC])
|
||||
- QT_VERSION=`$PKG_CONFIG QtGui --modversion`
|
||||
+ QT_VERSION=`$PKG_CONFIG Qt5Core --modversion`
|
||||
AC_MSG_NOTICE([using Qt version $QT_VERSION])])
|
||||
|
||||
AM_CONDITIONAL([HAVE_QT], [test "x$with_qt" = "xyes"])
|
||||
@@ -586,9 +586,9 @@ AS_IF([test "x$with_gtk" != "xyes"],
|
||||
[echo " => the GTK+ widget will *NOT* be built"],
|
||||
[AS_IF([test "x$with_python" != "xyes"],
|
||||
[echo " => the PyGTK widget wrapper will *NOT* be built"])])
|
||||
-echo "Qt4 --with-qt=$with_qt"
|
||||
+echo "Qt5 --with-qt=$with_qt"
|
||||
AS_IF([test "x$with_qt" != "xyes"],
|
||||
- [echo " => the Qt4 widget will *NOT* be built"])
|
||||
+ [echo " => the Qt5 widget will *NOT* be built"])
|
||||
echo "Java --with-java=$with_java"
|
||||
AS_IF([test "x$with_java" != "xyes"],
|
||||
[echo " => the Java interface will *NOT* be built"])
|
||||
Index: zbar-0.10_2013_02_28/include/zbar/QZBarImage.h
|
||||
===================================================================
|
||||
--- zbar-0.10_2013_02_28.orig/include/zbar/QZBarImage.h
|
||||
+++ zbar-0.10_2013_02_28/include/zbar/QZBarImage.h
|
||||
@@ -54,7 +54,7 @@ public:
|
||||
unsigned height = qimg.height();
|
||||
set_size(width, height);
|
||||
set_format(zbar_fourcc('B','G','R','4'));
|
||||
- unsigned long datalen = qimg.numBytes();
|
||||
+ unsigned long datalen = qimg.byteCount();
|
||||
set_data(qimg.bits(), datalen);
|
||||
|
||||
if((width * 4 != bpl) ||
|
||||
Index: zbar-0.10_2013_02_28/qt/QZBar.cpp
|
||||
===================================================================
|
||||
--- zbar-0.10_2013_02_28.orig/qt/QZBar.cpp
|
||||
+++ zbar-0.10_2013_02_28/qt/QZBar.cpp
|
||||
@@ -21,8 +21,8 @@
|
||||
// http://sourceforge.net/projects/zbar
|
||||
//------------------------------------------------------------------------
|
||||
|
||||
-#include <qevent.h>
|
||||
-#include <qurl.h>
|
||||
+#include <QtCore>
|
||||
+#include <QtGui>
|
||||
#include <qx11info_x11.h>
|
||||
#include <zbar/QZBar.h>
|
||||
#include "QZBarThread.h"
|
||||
@@ -49,7 +49,7 @@ QZBar::QZBar (QWidget *parent)
|
||||
|
||||
thread = new QZBarThread;
|
||||
if(testAttribute(Qt::WA_WState_Created)) {
|
||||
- thread->window.attach(x11Info().display(), winId());
|
||||
+ thread->window.attach(QX11Info::display(), winId());
|
||||
_attached = 1;
|
||||
}
|
||||
connect(thread, SIGNAL(videoOpened(bool)),
|
||||
@@ -204,7 +204,7 @@ void QZBar::changeEvent(QEvent *event)
|
||||
try {
|
||||
QMutexLocker locker(&thread->mutex);
|
||||
if(event->type() == QEvent::ParentChange)
|
||||
- thread->window.attach(x11Info().display(), winId());
|
||||
+ thread->window.attach(QX11Info::display(), winId());
|
||||
}
|
||||
catch(Exception) { /* ignore (FIXME do something w/error) */ }
|
||||
}
|
||||
@@ -215,7 +215,7 @@ void QZBar::attach ()
|
||||
return;
|
||||
|
||||
try {
|
||||
- thread->window.attach(x11Info().display(), winId());
|
||||
+ thread->window.attach(QX11Info::display(), winId());
|
||||
_attached = 1;
|
||||
|
||||
_videoEnabled = !_videoDevice.isEmpty();
|
||||
Index: zbar-0.10_2013_02_28/zbar-qt.pc.in
|
||||
===================================================================
|
||||
--- zbar-0.10_2013_02_28.orig/zbar-qt.pc.in
|
||||
+++ zbar-0.10_2013_02_28/zbar-qt.pc.in
|
||||
@@ -4,9 +4,9 @@ libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: zbar-qt
|
||||
-Description: bar code scanning and decoding Qt4 widget
|
||||
+Description: bar code scanning and decoding Qt5 widget
|
||||
URL: http://zbar.sourceforge.net
|
||||
Version: @VERSION@
|
||||
-Requires: zbar, QtCore >= 4, QtGui >= 4
|
||||
+Requires: zbar, Qt5Widgets, Qt5X11Extras, Qt5Gui, Qt5Core
|
||||
Libs: -L${libdir} -lzbarqt
|
||||
Cflags: -I${includedir}
|
19
zbar.changes
19
zbar.changes
@ -1,3 +1,22 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 23 16:13:22 UTC 2019 - info@paolostivanin.com
|
||||
|
||||
- Update Zbar to v0.20.1
|
||||
* switch from the old abandoned codebase to the new codebase
|
||||
maintained by linuxtv.org
|
||||
* improved v4l2 support
|
||||
* compatible with Qt5
|
||||
* various fixes
|
||||
- Removed fix_build.patch
|
||||
- Removed fix-gcc5.patch
|
||||
- Removed zbar-Qt5.patch
|
||||
- Removed fix-gcc8.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 23 09:48:48 UTC 2019 - info@paolostivanin.com
|
||||
|
||||
- Update Zbar to v0.20.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 10 14:25:15 UTC 2018 - mliska@suse.cz
|
||||
|
||||
|
80
zbar.spec
80
zbar.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package zbar
|
||||
#
|
||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2010 Carlos Goncalves <cgoncalves@opensuse.org>.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
@ -19,29 +19,26 @@
|
||||
|
||||
%define libname libzbar0
|
||||
Name: zbar
|
||||
Version: 0.10_2013_02_28
|
||||
Version: 0.20.1
|
||||
Release: 0
|
||||
Summary: Bar code reader
|
||||
License: LGPL-2.1-or-later
|
||||
License: LGPL-2.0-or-later
|
||||
Group: Productivity/Other
|
||||
Url: http://zbar.sourceforge.net
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
|
||||
URL: http://zbar.sourceforge.net/
|
||||
Source0: https://linuxtv.org/downloads/%{name}/%{name}-%{version}.tar.bz2
|
||||
Source98: baselibs.conf
|
||||
# update.sh is used to create a new tarball based on the hg repository
|
||||
Source99: update.sh
|
||||
Patch1: fix_build.patch
|
||||
Patch2: fix-gcc5.patch
|
||||
# PATCH-FEATURE-OPENSUSE zbar-Qt5.patch -- build against Qt5 libraries <aloisio@gmx.com>
|
||||
Patch3: zbar-Qt5.patch
|
||||
Patch4: fix-gcc8.patch
|
||||
|
||||
BuildRequires: ImageMagick-devel
|
||||
# required by mercurial archive only
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libjpeg-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: libjpeg-devel
|
||||
BuildRequires: libv4l-devel
|
||||
BuildRequires: libXv-devel
|
||||
BuildRequires: xmlto
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: pkgconfig(Qt5Core)
|
||||
BuildRequires: pkgconfig(Qt5Gui)
|
||||
BuildRequires: pkgconfig(Qt5Widgets)
|
||||
@ -78,46 +75,49 @@ This package contains all necessary include files, libraries,
|
||||
configuration files and development tools needed to compile and link
|
||||
applications using the zbar library.
|
||||
|
||||
%package -n libzbarqt0
|
||||
%package -n lib%{name}qt0
|
||||
Summary: ZBar Qt bindings
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libzbarqt0
|
||||
%description -n lib%{name}qt0
|
||||
This package provides ZBar Qt bindings.
|
||||
|
||||
%package -n libzbarqt-devel
|
||||
%package -n lib%{name}qt-devel
|
||||
Summary: Development environment for the ZBar Qt bindings library
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libzbarqt0 = %{version}
|
||||
Requires: lib%{name}qt0 = %{version}, lib%{name}-devel = %{version}
|
||||
|
||||
%description -n libzbarqt-devel
|
||||
%description -n lib%{name}qt-devel
|
||||
This package contains all necessary include files, libraries,
|
||||
configuration files and development tools needed to compile and link
|
||||
applications using the zbar-qt library.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
|
||||
%build
|
||||
# for the Mercurial-based archive we need to get proper autoconf files
|
||||
autoreconf -fiv
|
||||
# Mercurial only? - This should not be required in a final release version!
|
||||
export CFLAGS="%{optflags} -Wno-error=parentheses -Wno-error=deprecated-declarations"
|
||||
|
||||
%configure \
|
||||
--docdir=%{_docdir}/%{name} \
|
||||
--disable-static \
|
||||
--without-java \
|
||||
--without-python \
|
||||
--without-gtk
|
||||
|
||||
# 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 %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
%make_install
|
||||
rm %{buildroot}%{_docdir}/zbar/INSTALL
|
||||
find %{buildroot} -type f -name "*.la" -delete -print
|
||||
find %{buildroot} -name "*.la" -or -name "*.a" | xargs rm -f
|
||||
rm -rf %{buildroot}/usr/share/doc/zbar-%{version}/
|
||||
rm -f %{buildroot}/usr/share/doc/packages/zbar/{COPYING,LICENSE,INSTALL}
|
||||
|
||||
%post -n %{libname} -p /sbin/ldconfig
|
||||
%postun -n %{libname} -p /sbin/ldconfig
|
||||
@ -125,27 +125,39 @@ find %{buildroot} -type f -name "*.la" -delete -print
|
||||
%postun -n libzbarqt0 -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%doc ChangeLog README COPYING LICENSE NEWS
|
||||
%doc NEWS
|
||||
%license COPYING LICENSE
|
||||
%{_defaultdocdir}/%{name}/
|
||||
%{_bindir}/zbar*
|
||||
%{_bindir}/zbarimg
|
||||
%{_bindir}/zbarcam
|
||||
%{_bindir}/zbarcam-qt
|
||||
%{_mandir}/man1/*
|
||||
|
||||
%files -n %{libname}
|
||||
%{_libdir}/libzbar.so.*
|
||||
%exclude %{python2_sitearch}/zbar.so
|
||||
%exclude %{_includedir}/zbar/zbargtk.h
|
||||
|
||||
%files -n lib%{name}-devel
|
||||
%doc HACKING TODO
|
||||
%dir %{_includedir}/%{name}
|
||||
%{_includedir}/zbar.h
|
||||
%{_includedir}/%{name}/*.h
|
||||
%exclude %{_includedir}/%{name}/zbargtk.h
|
||||
%exclude %{_includedir}/%{name}/QZBar*.h
|
||||
%{_includedir}/zbar/Exception.h
|
||||
%{_includedir}/zbar/Symbol.h
|
||||
%{_includedir}/zbar/Image.h
|
||||
%{_includedir}/zbar/Scanner.h
|
||||
%{_includedir}/zbar/Decoder.h
|
||||
%{_includedir}/zbar/ImageScanner.h
|
||||
%{_includedir}/zbar/Video.h
|
||||
%{_includedir}/zbar/Window.h
|
||||
%{_includedir}/zbar/Processor.h
|
||||
%{_libdir}/libzbar.so
|
||||
%{_libdir}/pkgconfig/zbar.pc
|
||||
|
||||
%files -n libzbarqt0
|
||||
%files -n lib%{name}qt0
|
||||
%{_libdir}/libzbarqt.so.*
|
||||
|
||||
%files -n libzbarqt-devel
|
||||
%files -n lib%{name}qt-devel
|
||||
%{_includedir}/%{name}/QZBar*.h
|
||||
%{_libdir}/libzbarqt.so
|
||||
%{_libdir}/pkgconfig/zbar-qt.pc
|
||||
|
Loading…
Reference in New Issue
Block a user