diff --git a/zbar_add_support_for_qt5.patch b/zbar_add_support_for_qt5.patch deleted file mode 100644 index 519645f..0000000 --- a/zbar_add_support_for_qt5.patch +++ /dev/null @@ -1,140 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index dbd7153fb13b..7bcb18219853 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -476,18 +476,33 @@ AM_CONDITIONAL([HAVE_PYTHON], [test "x$with_python" = "xyes"]) - dnl Qt - AC_ARG_WITH([qt], - [AS_HELP_STRING([--without-qt], -- [disable support for Qt4 widget])], -+ [disable support for Qt widget])], - [], - [with_qt="yes"]) - -+dnl Qt5 -+AC_ARG_WITH([qt5], -+ [AS_HELP_STRING([--without-qt5], -+ [disable support for Qt5 widget. if --with-qt, it will seek only for Qt4])], -+ [], -+ [with_qt5="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` -- AC_MSG_NOTICE([using moc from $MOC]) -- QT_VERSION=`$PKG_CONFIG QtGui --modversion` -- AC_MSG_NOTICE([using Qt version $QT_VERSION])]) -+ AS_IF([test "x$with_qt5" != "xno"], -+ [PKG_CHECK_MODULES([QT], [Qt5Core >= 5 Qt5Gui >= 5 Qt5Widgets >= 5.0 Qt5X11Extras >= 5.0]) -+ AC_CHECK_PROGS(MOC, [moc-qt5 moc]) -+ AC_MSG_NOTICE([using moc from $MOC]) -+ QT_VERSION=`$PKG_CONFIG Qt5Gui --modversion` -+ CPPFLAGS="$CPPFLAGS $QT_CPPFLAGS -fPIC" -+ AC_MSG_NOTICE([using Qt version $QT_VERSION])], -+ -+ [PKG_CHECK_MODULES([QT], [QtCore >= 4 QtGui >= 4]) -+ 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])])) - - AM_CONDITIONAL([HAVE_QT], [test "x$with_qt" = "xyes"]) - -@@ -596,9 +611,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 "Qt${QT_VERSION} --with-qt=$with_qt" - AS_IF([test "x$with_qt" != "xyes"], -- [echo " => the Qt4 widget will *NOT* be built"]) -+ [echo " => the Qt 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"]) -diff --git a/include/zbar/QZBar.h b/include/zbar/QZBar.h -index 104449928e2d..1a4716565047 100644 ---- a/include/zbar/QZBar.h -+++ b/include/zbar/QZBar.h -@@ -26,7 +26,12 @@ - /// @file - /// Barcode Reader Qt4 Widget - --#include -+#include -+#if QT_VERSION >= 0x050000 -+# include -+#else -+# include -+#endif - - namespace zbar { - -diff --git a/include/zbar/QZBarImage.h b/include/zbar/QZBarImage.h -index 1505177e07a9..b862c8085576 100644 ---- a/include/zbar/QZBarImage.h -+++ b/include/zbar/QZBarImage.h -@@ -54,7 +54,11 @@ public: - unsigned height = qimg.height(); - set_size(width, height); - set_format(zbar_fourcc('B','G','R','4')); -+#if QT_VERSION >= 0x050000 -+ unsigned long datalen = qimg.byteCount(); -+#else - unsigned long datalen = qimg.numBytes(); -+#endif - set_data(qimg.bits(), datalen); - - if((width * 4 != bpl) || -diff --git a/qt/QZBar.cpp b/qt/QZBar.cpp -index e1001b09cff5..a5b956b342ad 100644 ---- a/qt/QZBar.cpp -+++ b/qt/QZBar.cpp -@@ -23,7 +23,7 @@ - - #include - #include --#include -+#include - #include - #include "QZBarThread.h" - -@@ -49,7 +49,11 @@ QZBar::QZBar (QWidget *parent) - - thread = new QZBarThread; - if(testAttribute(Qt::WA_WState_Created)) { -+#if QT_VERSION >= 0x050000 -+ thread->window.attach(QX11Info::display(), winId()); -+#else - thread->window.attach(x11Info().display(), winId()); -+#endif - _attached = 1; - } - connect(thread, SIGNAL(videoOpened(bool)), -@@ -204,7 +208,12 @@ void QZBar::changeEvent(QEvent *event) - try { - QMutexLocker locker(&thread->mutex); - if(event->type() == QEvent::ParentChange) -+#if QT_VERSION >= 0x050000 -+ thread->window.attach(QX11Info::display(), winId()); -+#else - thread->window.attach(x11Info().display(), winId()); -+#endif -+ - } - catch(Exception) { /* ignore (FIXME do something w/error) */ } - } -@@ -215,7 +224,11 @@ void QZBar::attach () - return; - - try { -+#if QT_VERSION >= 0x050000 -+ thread->window.attach(QX11Info::display(), winId()); -+#else - thread->window.attach(x11Info().display(), winId()); -+#endif - _attached = 1; - - _videoEnabled = !_videoDevice.isEmpty(); diff --git a/zbar_choose_supported_format_first.patch b/zbar_choose_supported_format_first.patch deleted file mode 100644 index 5289d25..0000000 --- a/zbar_choose_supported_format_first.patch +++ /dev/null @@ -1,128 +0,0 @@ -diff -r 60f92d860a1f zbar/convert.c ---- a/zbar/convert.c Sat Dec 25 08:29:33 2010 -0200 -+++ b/zbar/convert.c Sat Dec 25 14:36:04 2010 -0200 -@@ -1157,6 +1157,42 @@ - break; - } - } -+ if(!min_fmt && vdo->emu_formats) { -+ /* As vdo->formats aren't compatible, just free them */ -+ free(vdo->formats); -+ vdo->formats = vdo->emu_formats; -+ vdo->emu_formats = NULL; -+ -+ /* -+ * Use the same cost algorithm to select emulated formats. -+ * This might select a sub-optimal conversion, but, in practice, -+ * it will select a conversion to YUV at libv4l, and a YUY->Y8 -+ * in zbar, with it is OK. Yet, it is better to not select the -+ * most performatic conversion than to not support the webcam. -+ */ -+ for(fmt = _zbar_formats; *fmt; fmt++) { -+ /* only consider formats supported by video device */ -+ uint32_t win_fmt = 0; -+ int cost; -+ if(!has_format(*fmt, srcs)) -+ continue; -+ cost = _zbar_best_format(*fmt, &win_fmt, dsts); -+ if(cost < 0) { -+ zprintf(4, "%.4s(%08" PRIx32 ") -> ? (unsupported)\n", -+ (char*)fmt, *fmt); -+ continue; -+ } -+ zprintf(4, "%.4s(%08" PRIx32 ") -> %.4s(%08" PRIx32 ") (%d)\n", -+ (char*)fmt, *fmt, (char*)&win_fmt, win_fmt, cost); -+ if(min_cost > cost) { -+ min_cost = cost; -+ min_fmt = *fmt; -+ if(!cost) -+ break; -+ } -+ } -+ } -+ - if(win) - (void)window_unlock(win); - -diff -r 60f92d860a1f zbar/video.c ---- a/zbar/video.c Sat Dec 25 08:29:33 2010 -0200 -+++ b/zbar/video.c Sat Dec 25 14:36:04 2010 -0200 -@@ -111,6 +111,9 @@ - free(vdo->buf); - if(vdo->formats) - free(vdo->formats); -+ if(vdo->emu_formats) -+ free(vdo->emu_formats); -+ - err_cleanup(&vdo->err); - _zbar_mutex_destroy(&vdo->qlock); - -diff -r 60f92d860a1f zbar/video.h ---- a/zbar/video.h Sat Dec 25 08:29:33 2010 -0200 -+++ b/zbar/video.h Sat Dec 25 14:36:04 2010 -0200 -@@ -69,6 +69,7 @@ - uint32_t format; /* selected fourcc */ - unsigned palette; /* v4l1 format index corresponding to format */ - uint32_t *formats; /* 0 terminated list of supported formats */ -+ uint32_t *emu_formats; /* 0 terminated list of emulated formats */ - - unsigned long datalen; /* size of image data for selected format */ - unsigned long buflen; /* total size of image data buffer */ -diff -r 60f92d860a1f zbar/video/v4l2.c ---- a/zbar/video/v4l2.c Sat Dec 25 08:29:33 2010 -0200 -+++ b/zbar/video/v4l2.c Sat Dec 25 14:36:04 2010 -0200 -@@ -347,6 +347,8 @@ - - static inline int v4l2_probe_formats (zbar_video_t *vdo) - { -+ int n_formats = 0, n_emu_formats = 0; -+ - zprintf(2, "enumerating supported formats:\n"); - struct v4l2_fmtdesc desc; - memset(&desc, 0, sizeof(desc)); -@@ -354,17 +356,39 @@ - for(desc.index = 0; desc.index < V4L2_FORMATS_MAX; desc.index++) { - if(v4l2_ioctl(vdo->fd, VIDIOC_ENUM_FMT, &desc) < 0) - break; -- zprintf(2, " [%d] %.4s : %s%s\n", -+ zprintf(2, " [%d] %.4s : %s%s%s\n", - desc.index, (char*)&desc.pixelformat, desc.description, -- (desc.flags & V4L2_FMT_FLAG_COMPRESSED) ? " COMPRESSED" : ""); -- vdo->formats = realloc(vdo->formats, -- (desc.index + 2) * sizeof(uint32_t)); -- vdo->formats[desc.index] = desc.pixelformat; -+ (desc.flags & V4L2_FMT_FLAG_COMPRESSED) ? " COMPRESSED" : "", -+ (desc.flags & V4L2_FMT_FLAG_EMULATED) ? " EMULATED" : ""); -+ if (desc.flags & V4L2_FMT_FLAG_EMULATED) { -+ vdo->emu_formats = realloc(vdo->emu_formats, -+ (n_emu_formats + 2) * sizeof(uint32_t)); -+ vdo->emu_formats[n_emu_formats++] = desc.pixelformat; -+ } else { -+ vdo->formats = realloc(vdo->formats, -+ (n_formats + 2) * sizeof(uint32_t)); -+ vdo->formats[n_formats++] = desc.pixelformat; -+ } - } - if(!desc.index) - return(err_capture(vdo, SEV_ERROR, ZBAR_ERR_SYSTEM, __func__, - "enumerating video formats (VIDIOC_ENUM_FMT)")); -- vdo->formats[desc.index] = 0; -+ if(vdo->formats) -+ vdo->formats[n_formats] = 0; -+ if(vdo->emu_formats) -+ vdo->emu_formats[n_emu_formats] = 0; -+ if(!vdo->formats && vdo->emu_formats) { -+ /* -+ * If only emu formats are available, just move them to vdo->formats. -+ * This happens when libv4l detects that the only available fourcc -+ * formats are webcam proprietary formats or bayer formats. -+ */ -+ vdo->formats = vdo->emu_formats; -+ vdo->emu_formats = NULL; -+ } -+ -+ zprintf(2, "Found %d formats and %d emulated formats.\n", -+ n_formats, n_emu_formats); - - struct v4l2_format fmt; - struct v4l2_pix_format *pix = &fmt.fmt.pix; diff --git a/zbar_configure_ac_use_m4_pattern_allow.patch b/zbar_configure_ac_use_m4_pattern_allow.patch deleted file mode 100644 index 38b39ec..0000000 --- a/zbar_configure_ac_use_m4_pattern_allow.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/configure.ac 2015-08-14 16:26:09.661856984 -0300 -+++ b/configure.ac 2015-08-14 16:26:20.209851076 -0300 -@@ -4,7 +4,7 @@ - AC_CONFIG_AUX_DIR(config) - AC_CONFIG_MACRO_DIR(config) - AM_INIT_AUTOMAKE([1.10 -Werror foreign subdir-objects std-options dist-bzip2]) --AM_PROG_AR -+m4_pattern_allow([AM_PROG_AR]) - AC_CONFIG_HEADERS([include/config.h]) - AC_CONFIG_SRCDIR(zbar/scanner.c) - LT_PREREQ([2.2]) diff --git a/zbar_generate_qt_gtk_apps.patch b/zbar_generate_qt_gtk_apps.patch deleted file mode 100644 index 17c6856..0000000 --- a/zbar_generate_qt_gtk_apps.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 76a286fd34d5159b55de4d4f276dcbf69d1b263e Mon Sep 17 00:00:00 2001 -From: Mauro Carvalho Chehab -Date: Sun, 26 Mar 2017 09:43:07 -0300 -Subject: [PATCH] zbarcam: add qt and gtk variants - -The original zbarcam use standard X11 libraries to display -video. That provides an ugly interface, and could be -slow on high resolutions. - -As Zbar has already test examples for qt and gtk, let's -promote them to real applications. One advantage is that -both qt and gtk libraries will be tested when building -those. - -Signed-off-by: Mauro Carvalho Chehab - -diff --git a/qt/Makefile.am.inc b/qt/Makefile.am.inc -index dc1525e0d52a..5f860bfa31bc 100644 ---- a/qt/Makefile.am.inc -+++ b/qt/Makefile.am.inc -@@ -7,6 +7,7 @@ qt_libzbarqt_la_SOURCES = qt/QZBar.cpp qt/QZBarThread.h qt/QZBarThread.cpp - nodist_qt_libzbarqt_la_SOURCES = qt/moc_QZBar.cpp qt/moc_QZBarThread.cpp - BUILT_SOURCES += $(nodist_qt_libzbarqt_la_SOURCES) - DISTCLEANFILES += $(nodist_qt_libzbarqt_la_SOURCES) -+CLEANFILES += qt/moc_%.cpp - - qt/moc_%.cpp: qt/%.h - $(MOC) $(qt_libzbarqt_la_CPPFLAGS) $< -o $@ -diff --git a/test/Makefile.am.inc b/test/Makefile.am.inc -index 7340a7f2f61f..8496eb30f3cc 100644 ---- a/test/Makefile.am.inc -+++ b/test/Makefile.am.inc -@@ -45,26 +45,6 @@ test_dbg_scan_CPPFLAGS = $(MAGICK_CFLAGS) $(AM_CPPFLAGS) - test_dbg_scan_LDADD = $(MAGICK_LIBS) -lMagick++ zbar/libzbar.la $(AM_LDADD) - endif - --if HAVE_GTK --check_PROGRAMS += test/test_gtk --test_test_gtk_SOURCES = test/test_gtk.c test/scan_video.c --test_test_gtk_CPPFLAGS = $(GTK_CFLAGS) $(AM_CPPFLAGS) --test_test_gtk_LDADD = $(GTK_LIBS) gtk/libzbargtk.la $(AM_LDADD) --endif -- --if HAVE_QT --check_PROGRAMS += test/test_qt --test_test_qt_SOURCES = test/test_qt.cpp test/scan_video.c --nodist_test_test_qt_SOURCES = test/moc_test_qt.h --test_test_qt_CPPFLAGS = -Itest $(QT_CFLAGS) $(AM_CPPFLAGS) --test_test_qt_LDADD = $(QT_LIBS) qt/libzbarqt.la $(AM_LDADD) --BUILT_SOURCES += $(nodist_test_test_qt_SOURCES) --DISTCLEANFILES += $(nodist_test_test_qt_SOURCES) -- --test/moc_%.h: test/%.cpp -- $(MOC) -i $(test_test_qt_CPPFLAGS) $< -o $@ --endif -- - EXTRA_DIST += test/test_pygtk.py test/test_perl.pl - - # automake bug in "monolithic mode"? -diff --git a/zbarcam/Makefile.am.inc b/zbarcam/Makefile.am.inc -index ea869bcd2e11..5aa788a23da5 100644 ---- a/zbarcam/Makefile.am.inc -+++ b/zbarcam/Makefile.am.inc -@@ -2,7 +2,32 @@ bin_PROGRAMS += zbarcam/zbarcam - zbarcam_zbarcam_SOURCES = zbarcam/zbarcam.c - zbarcam_zbarcam_LDADD = zbar/libzbar.la - # automake bug in "monolithic mode"? --CLEANFILES += zbarcam/.libs/zbarcam -+CLEANFILES += zbarcam/.libs/zbarcam zbarcam/moc_zbarcam_qt.h -+ -+if HAVE_GTK -+bin_PROGRAMS += zbarcam/zbarcam-gtk -+check_PROGRAMS += zbarcam/zbarcam-gtk -+zbarcam_zbarcam_gtk_SOURCES = zbarcam/zbarcam-gtk.c zbarcam/scan_video.c -+zbarcam_zbarcam_gtk_CPPFLAGS = $(GTK_CFLAGS) $(AM_CPPFLAGS) -+zbarcam_zbarcam_gtk_LDADD = $(GTK_LIBS) gtk/libzbargtk.la $(AM_LDADD) -+endif -+ -+if HAVE_QT -+bin_PROGRAMS += zbarcam/zbarcam-qt -+check_PROGRAMS += zbarcam/zbarcam-qt -+ -+zbarcam_zbarcam_qt_SOURCES = zbarcam/zbarcam-qt.cpp zbarcam/scan_video.c -+nodist_zbarcam_zbarcam_qt_SOURCES = zbarcam/moc_zbarcam_qt.h -+zbarcam_zbarcam_qt_CPPFLAGS = -Izbarcam $(QT_CFLAGS) $(AM_CPPFLAGS) -+zbarcam_zbarcam_qt_LDADD = $(QT_LIBS) qt/libzbarqt.la $(AM_LDADD) -+BUILT_SOURCES += $(nodist_zbarcam_zbarcam_qt_SOURCES) -+DISTCLEANFILES += $(nodist_zbarcam_zbarcam_qt_SOURCES) zbarcam/moc_zbarcam_qt.h -+ -+ -+zbarcam/moc_zbarcam_qt.h: zbarcam/zbarcam-qt.cpp -+ $(MOC) -i $(zbarcam_zbarcam_qt_CPPFLAGS) $< -o $@ -+endif -+ - - if WIN32 - zbarcam_zbarcam_SOURCES += zbarcam/zbarcam.rc -diff --git a/test/scan_video.c b/zbarcam/scan_video.c -similarity index 100% -rename from test/scan_video.c -rename to zbarcam/scan_video.c -diff --git a/test/test_gtk.c b/zbarcam/zbarcam-gtk.c -similarity index 100% -rename from test/test_gtk.c -rename to zbarcam/zbarcam-gtk.c -diff --git a/test/test_qt.cpp b/zbarcam/zbarcam-qt.cpp -similarity index 97% -rename from test/test_qt.cpp -rename to zbarcam/zbarcam-qt.cpp -index 96d2f9541453..3a39a338b59d 100644 ---- a/test/test_qt.cpp -+++ b/zbarcam/zbarcam-qt.cpp -@@ -40,7 +40,7 @@ int scan_video(void *add_device, - const char *default_device); - } - --class TestQZBar : public QWidget -+class ZbarcamQZBar : public QWidget - { - Q_OBJECT - -@@ -52,7 +52,7 @@ protected: - } - - public: -- TestQZBar (const char *default_device) -+ ZbarcamQZBar (const char *default_device) - { - // drop-down list of video devices - QComboBox *videoList = new QComboBox; -@@ -142,7 +142,7 @@ private: - zbar::QZBar *zbar; - }; - --#include "moc_test_qt.h" -+#include "moc_zbarcam_qt.h" - - int main (int argc, char *argv[]) - { -@@ -152,7 +152,7 @@ int main (int argc, char *argv[]) - if(argc > 1) - dev = argv[1]; - -- TestQZBar window(dev); -+ ZbarcamQZBar window(dev); - window.show(); - return(app.exec()); - } diff --git a/zbar_update_to_hg.patch b/zbar_update_to_hg.patch deleted file mode 100644 index bbe77fb..0000000 --- a/zbar_update_to_hg.patch +++ /dev/null @@ -1,35551 +0,0 @@ -diff -r 563557a923d0 .hgignore ---- a/.hgignore Tue Oct 27 11:25:59 2009 -0400 -+++ b/.hgignore Fri Feb 22 08:54:29 2013 -0300 -@@ -7,7 +7,7 @@ - configure - config - config.guess --config.h -+config/config.h - config.h.in - config.log - config.status -@@ -19,3 +19,18 @@ - ltmain.sh - autom4te.cache - missing -+python/MANIFEST -+build -+*.xcodeproj/*.mode1v3 -+*.xcodeproj/*.pbxuser -+xcuserdata -+contents.xcworkspacedata -+.DS_Store -+android/obj -+*.class -+*.dex -+android/libs -+android/examples/*/libs -+android/*.zip -+android/local.properties -+android/examples/*/local.properties -diff -r 563557a923d0 .hgtags ---- a/.hgtags Tue Oct 27 11:25:59 2009 -0400 -+++ b/.hgtags Fri Feb 22 08:54:29 2013 -0300 -@@ -9,3 +9,21 @@ - 38265c7b4ad4dfafe7b5e9eae4bb0d43d68b4143 0.9 - 2dc2d73c468a032edc68a127e9ddbbfe5f520777 0.9 - f3670ba47f2e070f4c43e97f4de3200903720e73 0.10 -+f3670ba47f2e070f4c43e97f4de3200903720e73 0.10 -+563557a923d0e23e36c81878d660aefc1c0fe3e7 0.10 -+b21098d27ff88c4f1a529fe0762f1cb307e04399 iPhoneSDK-0.1 -+b0bda6247b2fe4ffb52db89a776f91244f25d897 iPhoneSDK-0.1.1 -+d1655a680c3df68b3466d3b2c714f30af7223ec6 iPhoneSDK-0.1.2 -+4556c996acaaa6fcd5e8e9879f410f8120746e2b iPhoneSDK-1.0 -+12de07e51dce0d1cfc3e9699bbf9d5c8774a5371 iPhoneSDK-1.0.1 -+12de07e51dce0d1cfc3e9699bbf9d5c8774a5371 iPhoneSDK-1.0.1 -+2541a66ae7d64fbd923168ae677abb156021e88d iPhoneSDK-1.0.1 -+5e5060b563a1878ea297af5a50261d14cf1cb449 iPhoneSDK-1.1 -+f9e46865dbcebd04683ca7592ab32aeda615e772 iPhoneSDK-1.1.1 -+801318a6195060c31259da1f076ecc9a609616cc iPhoneSDK-1.1.2 -+4bbb4e2bdba8c41a282df7e65a02797250f44daa iPhoneSDK-1.1.3 -+1ad84c3c03252c366a82552fa952674ec593c73f iPhoneSDK-1.2 -+9e7bad13ae6a4b65e0f0964512f96284d37f0dc8 iPhoneSDK-1.2.1 -+146b857ff41ae462cc52f8dddf46d867763433a1 iPhoneSDK-1.2.2 -+9b946a7ead73ac99e121de2e7f495213cda88e6f AndroidSDK-0.1 -+5eb3c8786845fe3ad2c74f6a660e70176b88347f iPhoneSDK-1.3.1 -diff -r 563557a923d0 COPYING ---- a/COPYING Tue Oct 27 11:25:59 2009 -0400 -+++ b/COPYING Fri Feb 22 08:54:29 2013 -0300 -@@ -1,4 +1,4 @@ --The ZBar Bar Code Reader is Copyright (C) 2007-2009 Jeff Brown -+The ZBar Bar Code Reader is Copyright (C) 2007-2011 Jeff Brown - - The QR Code reader is Copyright (C) 1999-2009 Timothy B. Terriberry - -diff -r 563557a923d0 ChangeLog ---- a/ChangeLog Tue Oct 27 11:25:59 2009 -0400 -+++ b/ChangeLog Fri Feb 22 08:54:29 2013 -0300 -@@ -1,3 +1,95 @@ -+current: -+ * Codabar reliability enhancements -+ - fix missing check -+ - require minimum quality -+ - bump default uncertainty -+ * tweak Codabar bar/space ratio validation -+ * finish Codabar support for python, perl, java and iPhone interfaces -+ - reduce Codabar uncertainty to minimum -+ * add core support for Codabar symbology -+ - TBD: python, perl, java and iPhone interfaces -+ * fix v4l config and build variations (bug #3348888) -+ - thanks to jarekczek for reporting this! -+ - NB v4l1 removed from kernel as of 2.6.38 -+ * fix missing python thread initialization (bug #3349199) -+ - thanks to jarekczek for reporting this problem! -+ * fix missing configure check for Python.h (bug #3092663) -+ - thanks to Zoltan Kovacs for reporting this problem! -+ * fix C++ wrapper missing Symbol.quality (bug #3076524) -+ - thanks to Rudy Melli for pointing this out! -+ * fix C++ wrapper bugs (bug #3396068) -+ - thanks to anotheruser1 for reporting this! -+ - add new C++ wrapper test -+ * fix avoid compositing ISBN10 data -+ * add support for GraphicsMagick as ImageMagick alternative -+ * mention xmlto in HACKING (patch #3297039) -+ - thanks to jarekczek for the patch! -+ * disable addons by default until synchronization with main symbol is working -+ * fix image scanner min quality filtering -+ * fix i25 buffer overrun corner case -+ * fix EAN addon enables -+ * fix zbarimg to accept autodetected stdin (lone dash) -+ * fix Qt 4.6.3 compilation error (patch #3178244) -+ - thanks to hrhristov for the patch! -+ * add Python Processor support for request_size interface -+ * fix Python Processor support for GIL, allowing asynchronous scanning -+ * fix jpeg decoder skip handling -+ - thanks to jarekczek for the patch! -+ * rename dprintf macro to avoid conflicts (patch #3128538) -+ - thanks to maurochehab for the patch! -+ * add support for EAN/UPC 2 and 5 digit add-on symbols -+ - deprecate original, unfinished add-on APIs -+ - add self-checking to test_decode -+ * fix support for GS1 AIs -+ - thanks to jockusch for a patch! -+ - add decoder/symbol "modifier" flags and config read access -+ - set flags or emit GS appropriately for Code 128 FNC1 -+ - add iphone, java, perl, python bindings for modifiers and configs -+ * add support for Code 93 symbology -+ * add video size request to (Py)GTK widget (req #3034522) -+ - thanks to Jerome Charaoui for the patch! -+ * add support for GS1 DataBar Expanded (RSS Expanded) symbology -+ * add language bindings for DataBar -+ * add preliminary support for GS1 DataBar (RSS-14) symbology -+ * enhance decoder reliability (EAN, Code 39, Code 128) -+ - enhance decoder test -+ * fix documentation of command exit codes (bug #3017322) -+ * fix C++ video callback bug -+ - add C and C++ processor examples -+ * add per-symbology cache consistency -+ - reliable symbologies decode immediately by default -+ - no more need to disable cache with video -+ - also fix crop bugs w/video scanning -+ * add support for scanning partial images (cropping) -+ - update c++, python, perl, java bindings and tests -+ * fix couple of leaks -+ * remove doc hints about GFDL (bug #3004411) -+ - apply LGPL to API docs -+ * relax Code 39 width ratio checks -+ * core library portability improvements -+ - remove some unnecessary C99 syntax -+ - add configure checks for errno -+ - enhance C++ Symbol interface -+ * adjust Python module README (add examples and note DLL in path) -+ * fix QR Code missing from man pages (bug #2969857) -+ * cleanup decoder assertions and locking (bug #2966916) -+ * add Java interface to library via JNI -+ - add Java tools and JNI build tests to configure -+ - fix compiler warnings from binary output changes -+ * fix output of binary data in zbarimg and zbarcam -+ - thanks to fukuchi for a patch! -+ - add base64 format for binary xml output -+ * add coarse symbol orientation information (patch #2913094) -+ - thanks to Anssi for a patch! -+ - add decode direction feedback to decoder -+ - update C++, Python, Perl and ObjC wrappers -+ - add orientation to test suites -+ * fix inconsistent fourcc endian handling bugs (bug #2918994) -+ - thanks to jdccdevel for a patch! -+ - add fourcc conversion and parse interfaces to zbar.h -+ * report QR immediately for video (no inter-frame consistency check) -+ * add python distutils build infrastructure -+ - version 0.10: - * hotfix add MinGW import lib to Windows installer - * attempt fix for Qt4 < 4.4 -diff -r 563557a923d0 HACKING ---- a/HACKING Tue Oct 27 11:25:59 2009 -0400 -+++ b/HACKING Fri Feb 22 08:54:29 2013 -0300 -@@ -13,6 +13,12 @@ - GNU autoconf 2.61 - GNU automake 1.10.1 - GNU libtool 2.2.6 -+ GNU gettext 0.18.1.1 -+ GNU pkg-config 0.25 -+ xmlto 0.0.20-5 (for docs building) -+all above mentioned tools (except xmlto) must be installed in the same -+prefix. mixing prefixes (i.g. /usr/bin and /usr/local/bin) may lead to -+errors in configuration stages - - when you're done hacking and want to make your patch, run: - -diff -r 563557a923d0 Makefile.am ---- a/Makefile.am Tue Oct 27 11:25:59 2009 -0400 -+++ b/Makefile.am Fri Feb 22 08:54:29 2013 -0300 -@@ -1,6 +1,3 @@ --AM_CPPFLAGS = -I$(srcdir)/include --AM_CFLAGS = -Wall -Wno-parentheses --AM_CXXFLAGS = $(AM_CFLAGS) - ACLOCAL_AMFLAGS = -I config - bin_PROGRAMS = - check_PROGRAMS = -@@ -9,8 +6,10 @@ - pyexec_LTLIBRARIES = - CLEANFILES = - DISTCLEANFILES = -+MAINTAINERCLEANFILES = - BUILT_SOURCES = - EXTRA_DIST = -+SUBDIRS = . - - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = zbar.pc -@@ -39,6 +38,9 @@ - include $(srcdir)/qt/Makefile.am.inc - pkgconfig_DATA += zbar-qt.pc - endif -+if HAVE_JAVA -+SUBDIRS += java -+endif - if HAVE_NPAPI - include $(srcdir)/plugin/Makefile.am.inc - endif -@@ -47,11 +49,8 @@ - - EXTRA_DIST += zbar.ico zbar.nsi - --EXTRA_DIST += examples/upcrpc.pl examples/upcrpc.py examples/paginate.pl \ -- examples/barcode.png examples/processor.pl examples/processor.py \ -- examples/read_one.py examples/read_one.pl \ -- examples/scan_image.c examples/scan_image.cpp examples/scan_image.pl \ -- examples/scan_image.py examples/scan_image.vcproj -+EXTRA_DIST += examples/barcode.png examples/upcrpc.py examples/upcrpc.pl \ -+ examples/scan_image.c examples/scan_image.cpp examples/scan_image.vcproj - - EXTRA_DIST += perl/MANIFEST perl/README perl/Changes perl/COPYING.LIB \ - perl/Makefile.PL perl/typemap perl/ZBar.xs perl/ppport.h \ -diff -r 563557a923d0 README ---- a/README Tue Oct 27 11:25:59 2009 -0400 -+++ b/README Fri Feb 22 08:54:29 2013 -0300 -@@ -4,9 +4,9 @@ - ZBar Bar Code Reader is an open source software suite for reading bar - codes from various sources, such as video streams, image files and raw - intensity sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128, --Code 39, Interleaved 2 of 5 and QR Code. Included with the library --are basic applications for decoding captured bar code images and using --a video device (eg, webcam) as a bar code scanner. For application -+Code 39, Codabar, Interleaved 2 of 5 and QR Code. Included with the -+library are basic applications for decoding captured bar code images and -+using a video device (eg, webcam) as a bar code scanner. For application - developers, language bindings are included for C, C++, Python and Perl - as well as GUI widgets for Qt, GTK and PyGTK. - -diff -r 563557a923d0 README.windows ---- a/README.windows Tue Oct 27 11:25:59 2009 -0400 -+++ b/README.windows Fri Feb 22 08:54:29 2013 -0300 -@@ -3,8 +3,8 @@ - - ZBar Bar Code Reader is an open source software suite for reading bar codes - from various sources, such as video streams, image files and raw intensity --sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, --Interleaved 2 of 5 and QR Code. Included with the library are basic -+sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 93, Code 39, -+Codabar, Interleaved 2 of 5 and QR Code. Included with the library are basic - applications for decoding captured bar code images and using a video device - (eg, webcam) as a bar code scanner. For application developers, language - bindings are included for C, C++, Python and Perl as well as GUI widgets for -diff -r 563557a923d0 TODO ---- a/TODO Tue Oct 27 11:25:59 2009 -0400 -+++ b/TODO Fri Feb 22 08:54:29 2013 -0300 -@@ -25,7 +25,6 @@ - * Code 39, i25 optional features (check digit and ASCII escapes) - * handle Code 128 function characters (FNC1-4) - * Code 128 trailing quiet zone checks -- * finish addon decoding - - decoder: - * start/stop/abort and location detail APIs (PDF417, OMR) -diff -r 563557a923d0 android/AndroidManifest.xml ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/android/AndroidManifest.xml Fri Feb 22 08:54:29 2013 -0300 -@@ -0,0 +1,15 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff -r 563557a923d0 android/ChangeLog ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/android/ChangeLog Fri Feb 22 08:54:29 2013 -0300 -@@ -0,0 +1,2 @@ -+version 0.1: -+ * Add initial support for Android platform -diff -r 563557a923d0 android/README ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/android/README Fri Feb 22 08:54:29 2013 -0300 -@@ -0,0 +1,112 @@ -+ZBar Android SDK -+================ -+ -+ZBar Bar Code Reader is an open source software suite for reading bar -+codes from various sources, such as video streams, image files and raw -+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 -+DataBar. These are the JNI wrappers for developing the library on -+Android platform. -+ -+Check the ZBar home page for the latest release, mailing lists, etc. -+ http://zbar.sourceforge.net/ -+ -+Copyright and License -+--------------------- -+Licensed under the GNU Lesser General Public License, version 2.1. -+http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt -+ -+Copyright 2008-2012 © Jeff Brown et al -+ -+The Android distribution also includes pre-compiled binaries of -+supporting libaries, for which copyright, license and source code -+locations are as follows: -+ * The GNU libiconv character set conversion library -+ Copyright (C) 1999-2011 Free Software Foundation, Inc. -+ This distribution includes GNU libiconv version 1.14, licensed under -+ the LGPL version 2. The source code is available from -+ http://www.gnu.org/software/libiconv -+ -+See included files COPYING and LICENSE for details. -+ -+ -+Installation -+------------ -+ -+After downloading the ZBar-Android-Lib-.zip file, you need to -+unzip the file and add it to your Android project. Unzip the file -+using your favorite method (ie: command-line, finder, windows -+explorer...) -+ -+Follow one of the two options. -+Option 1 - via command line -+ cd -+ cp -r ZBar-Android-SDK-/libs . -+ -+Option 2 - via Eclipse -+ Right click on Android Project -+ Select "Import" -> "File System" -+ Select "Browse" (next to "From directory File" and select the -+ ZBar-Android-SDK-/libs directory and click "Open". -+ Click the check box next to "libs" and the "Options" "Create top-level folder" -+ check box (below). -+ Then click "Finish". -+ -+ You should then see a "libs" folder under your project. -+ -+Building -+-------- -+ -+Via Eclipse -+You have to add the zbar.jar file to your build path -+ 1) select zbar.jar under libs -+ 2) right-click, select "Build Path" -> "Add to Build Path" -+ -+Via command-line -+You are all set; ant will automatcially find jar files under the "libs" -+subdirectory. -+ -+Documentation -+------------- -+ TDB -+ -+Examples -+-------- -+ -+You should be able to open and build the examples directly from the -+unzipped directory. You will need to run the android tools to setup -+the local.properties file which sets sdk.dir. -+ 1) cd /examples/CameraTest -+ 2) android update project --path . -+ 3) ant debug install -+ -+If you have problems with this, please create a new Android project -+and copy the necessary files from the examples. -+ -+examples/CameraTest is a simple demonstration of how to integrate the -+ZBar image scanner with the camera. -+ -+Manually building ZBar JNI library -+---------------------------------- -+First download and unzip the iconv library source from -+ http://www.gnu.org/software/libiconv/ -+ -+Then kick off the build from the ZBar android directory. You will -+need to run the android tools to setup the local.properties file which -+setups sdk.dir. -+ -+ 1) cd /android -+ 2) android update project --path . -+ 3) ant -Dndk.dir= -Diconv.src= zbar-all -+ -+This will rebuild all source files, create zbar.jar and -+ZBarAndroidSDK.zip file (which bundles the jar and shared -+libraries). From here, you can follow the steps for "Integrating ZBar -+JNI library in Android project". -+ -+To clean run: -+ ant -Dndk.dir= zbar-clean -+ -+See build-ndk.xml for additional target options. -+ -+ -diff -r 563557a923d0 android/ant.properties ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/android/ant.properties Fri Feb 22 08:54:29 2013 -0300 -@@ -0,0 +1,17 @@ -+# This file is used to override default values used by the Ant build system. -+# -+# This file must be checked in Version Control Systems, as it is -+# integral to the build system of your project. -+ -+# This file is only used by the Ant script. -+ -+# You can use this to override default values such as -+# 'source.dir' for the location of your java source folder and -+# 'out.dir' for the location of your output folder. -+ -+# You can also use it define how the release builds are signed by declaring -+# the following properties: -+# 'key.store' for the location of your keystore and -+# 'key.alias' for the name of the key to use. -+# The password will be asked during the build when you use the 'release' target. -+ -diff -r 563557a923d0 android/build-ndk.xml ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/android/build-ndk.xml Fri Feb 22 08:54:29 2013 -0300 -@@ -0,0 +1,66 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff -r 563557a923d0 android/build.xml ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/android/build.xml Fri Feb 22 08:54:29 2013 -0300 -@@ -0,0 +1,86 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff -r 563557a923d0 android/examples/CameraTest/AndroidManifest.xml ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/android/examples/CameraTest/AndroidManifest.xml Fri Feb 22 08:54:29 2013 -0300 -@@ -0,0 +1,19 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff -r 563557a923d0 android/examples/CameraTest/ant.properties ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/android/examples/CameraTest/ant.properties Fri Feb 22 08:54:29 2013 -0300 -@@ -0,0 +1,17 @@ -+# This file is used to override default values used by the Ant build system. -+# -+# This file must be checked in Version Control Systems, as it is -+# integral to the build system of your project. -+ -+# This file is only used by the Ant script. -+ -+# You can use this to override default values such as -+# 'source.dir' for the location of your java source folder and -+# 'out.dir' for the location of your output folder. -+ -+# You can also use it define how the release builds are signed by declaring -+# the following properties: -+# 'key.store' for the location of your keystore and -+# 'key.alias' for the name of the key to use. -+# The password will be asked during the build when you use the 'release' target. -+ -diff -r 563557a923d0 android/examples/CameraTest/build.xml ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/android/examples/CameraTest/build.xml Fri Feb 22 08:54:29 2013 -0300 -@@ -0,0 +1,85 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff -r 563557a923d0 android/examples/CameraTest/proguard.cfg ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/android/examples/CameraTest/proguard.cfg Fri Feb 22 08:54:29 2013 -0300 -@@ -0,0 +1,40 @@ -+-optimizationpasses 5 -+-dontusemixedcaseclassnames -+-dontskipnonpubliclibraryclasses -+-dontpreverify -+-verbose -+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -+ -+-keep public class * extends android.app.Activity -+-keep public class * extends android.app.Application -+-keep public class * extends android.app.Service -+-keep public class * extends android.content.BroadcastReceiver -+-keep public class * extends android.content.ContentProvider -+-keep public class * extends android.app.backup.BackupAgentHelper -+-keep public class * extends android.preference.Preference -+-keep public class com.android.vending.licensing.ILicensingService -+ -+-keepclasseswithmembernames class * { -+ native ; -+} -+ -+-keepclasseswithmembers class * { -+ public (android.content.Context, android.util.AttributeSet); -+} -+ -+-keepclasseswithmembers class * { -+ public (android.content.Context, android.util.AttributeSet, int); -+} -+ -+-keepclassmembers class * extends android.app.Activity { -+ public void *(android.view.View); -+} -+ -+-keepclassmembers enum * { -+ public static **[] values(); -+ public static ** valueOf(java.lang.String); -+} -+ -+-keep class * implements android.os.Parcelable { -+ public static final android.os.Parcelable$Creator *; -+} -diff -r 563557a923d0 android/examples/CameraTest/project.properties ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/android/examples/CameraTest/project.properties Fri Feb 22 08:54:29 2013 -0300 -@@ -0,0 +1,11 @@ -+# This file is automatically generated by Android Tools. -+# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -+# -+# This file must be checked in Version Control Systems. -+# -+# To customize properties used by the Ant build system use, -+# "ant.properties", and override values to adapt the script to your -+# project structure. -+ -+# Project target. -+target=android-15 -diff -r 563557a923d0 android/examples/CameraTest/res/layout/main.xml ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/android/examples/CameraTest/res/layout/main.xml Fri Feb 22 08:54:29 2013 -0300 -@@ -0,0 +1,28 @@ -+ -+ -+ -+ -+ -+ -+ -+