pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/graphics/zxing-cpp



Module Name:    pkgsrc
Committed By:   ryoon
Date:           Thu Mar 12 00:59:16 UTC 2026

Modified Files:
        pkgsrc/graphics/zxing-cpp: Makefile PLIST buildlink3.mk distinfo

Log Message:
graphics/zxing-cpp: Update to 3.0.2

* Packaged by wiz@ in pkgsrc-wip/zxing-cpp.

Changelog:
3.0.2:
Patch release

This is a patch release, fixing three issues:

    Workaround for missing <format> C++20 header in GCC 11 and GCC 12
    This is required to make Homebrew and older distros happy.

    Zint Header Detection Fix
    Fixed an issue that caused a <zint.h> not found error when building the library with -DZXING_USE_BUNDLED_ZINT=OFF and libzint was installed in a non-standard install prefix (e.g., /opt/homebrew).

    Typo Fix in ReaderOptions API
    Fixed a typo in the newly added ReaderOptions::validateOptionalCheckSum, now correctly named validateOptionalChecksum. If anyone is angry at me for breaking their brand new code, let me know and 
I’ll consider adding a compatibility symbol with the "one week old" name.

3.0.1:
Patch release

This is a patch release, fixing a critical error (compile regression, see #1051) for people relying on the "old" (MultiFormatWriter) API. All wrapper code is unaffected and will not be released as 
3.0.1.

Note 1: The old writer API is disabled by default, to enable it, you need to configure zxing-cpp with -DZXING_WRITERS=BOTH (or OLD). It is generally advised for package maintainers to use the BOTH 
config option during the 3.0 release cycle to allow client applications (like e.g. LibreOffice) to work until they switch to the new API.

Note 2: The new API is backed by libzint. The default config will statically link a bundled 2.16 version of libzint. If your distribution has a libzint v2.16 available, you might want to configure 
zxing-cpp to link against that: -DZXING_USE_BUNDLED_ZINT=OFF

3.0:
Important:

    The automatically created "Source Code" zip and tar.gz files are broken and can't be fixed (GitHub limitation regarding git submodules). If you need this, please download the attached 
zxing-cpp-3.0.0.zip or zxing-cpp-3.0.0.tar.gz file.
    There has been an issue detected after the release (#1051), which affects users who need access to the OLD ZXING_WRITERS (MultiFormatWriter.h). This will be fixed in a 3.0.1 patch release.

Major changes:

    New creator/writer API (moved out of experimental state) with lots of improvements and fine-tuning
    New BarcodeFormat and BarcodeFormats implementation, with minor changes in API
        New meta barcode formats like All, AllReadable, AllRetail, etc.
        New human readable names from ToString(format), e.g. EAN-13 instead of EAN13
        Added concept of Symbology to Barcode, e.g. QRCode == QRCodeModel2, MicroQRCode, RMQRCode
        The C-API suffered a hard break to accommodate the bit-field to array switch of the BarcodeFormats
    CreatorOptions now has a JSON (key-value pair) pair based options parameter
    C++20 is now a build requirement for the library, the client side API is still c++17 compatible
    Cleaned up number of included headers, new single source ZXingCpp.h header
    MultiFormatWriter: deprecate use of old writer API
    New Barcode::extra() API that returns symbology specific extra information as JSON string, e.g. "EcLevel"
    Add cmake flags to remove individual barcode formats from the build (smaller lib for wasm or embedded applications)
    publish native ARM python wrapper binaries
    New header only Qt6 API (ZXingQt.h) with support for multiple barcodes and new writer API
    New ZXingQtCamReader demo based on QWidgets with proper macOS support

Minor improvements and bug fixes

    QRCode: improve detection rate for circular finder patterns
    DataBar: fix inconsistency / plain spec violation (missing "(01)" prefix)
    EAN/UPC: return 13-digit numbers for UPC-A/E as required by standard
    Improved quiet zone handling for ITF
    QRCode: fix decoding of Model 1 symbols with more than 1 data block
    Content: modify bytesECI() to behave like a standard reader w.r.t. ECIs
    WriteBarcode: automatic GS1PARENS_MODE
    python: add ImageView class and ImageFormat enum as custom memoryview
    python: add experimental support to read_barcodes from QtGui.QImage
    ZXingReader: add experimental -denoise command line option
    Code39: improve detection for 4x difference between wide and narrow and lower quiet-zone requirements
    python: remove 3.9 and add 3.14 packages
    Content: improve auto-detection of charaset/eci info
    make installed binaries relocatable on macOS and Linux
    dotnet: implement IDisposable for the Barcode and Options classes and add XML documentation
    ReaderOptions: new validateOptionalCheckSum property replacing the Code39 and ITF specific ones
    ReaderOptions: deprecated the tryCode39ExtendedMode property (use new BarcodeFormat::Code39Ext)
    Expose structure append metadata via C API by @magethle in #950
    Add experimental tryDenoise to C API by @magethle in #952
    AZDecoder: minor fixes by @gitlost in #917
    Use 16 KB page size alignment on 64-bit Androids by @markusfisch in #1001
    Remove ZXing path from include path by @fnadeau in #924
    try denoise for android wrapper by @toktarov84 in #1035
    Improvements to Qt/QML interface by @m7913d in #945


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 pkgsrc/graphics/zxing-cpp/Makefile
cvs rdiff -u -r1.8 -r1.9 pkgsrc/graphics/zxing-cpp/PLIST
cvs rdiff -u -r1.5 -r1.6 pkgsrc/graphics/zxing-cpp/buildlink3.mk
cvs rdiff -u -r1.9 -r1.10 pkgsrc/graphics/zxing-cpp/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/graphics/zxing-cpp/Makefile
diff -u pkgsrc/graphics/zxing-cpp/Makefile:1.15 pkgsrc/graphics/zxing-cpp/Makefile:1.16
--- pkgsrc/graphics/zxing-cpp/Makefile:1.15     Sun Jan 12 10:33:18 2025
+++ pkgsrc/graphics/zxing-cpp/Makefile  Thu Mar 12 00:59:16 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.15 2025/01/12 10:33:18 wiz Exp $
+# $NetBSD: Makefile,v 1.16 2026/03/12 00:59:16 ryoon Exp $
 
-DISTNAME=      zxing-cpp-2.3.0
+DISTNAME=      zxing-cpp-3.0.2
 CATEGORIES=    graphics
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=nu-book/}
 GITHUB_TAG=    v${PKGVERSION_NOREV}
@@ -11,19 +11,30 @@ COMMENT=    1D/2D barcode reader/writer lib
 LICENSE=       apache-2.0
 
 USE_LANGUAGES= c c++
+USE_TOOLS+=    pkg-config
 
-CMAKE_CONFIGURE_ARGS+= -DBUILD_EXAMPLES=OFF
-# Blackbox tests target pulls fmtlib with git command.
-CMAKE_CONFIGURE_ARGS+= -DBUILD_BLACKBOX_TESTS=OFF
-
-USE_CXX_FEATURES+=     c++17
-
-PKGCONFIG_OVERRIDE+=   zxing.pc.in
-
-# Install private header file to fix build failure of misc/libreoffice-7.3.4.2.
-post-install:
-       ${INSTALL_DATA} ${WRKSRC}/core/src/BitArray.h \
-               ${DESTDIR}${PREFIX}/include/ZXing
+CMAKE_CONFIGURE_ARGS+= -DZXING_EXAMPLES=OFF
+# enable old (deprecated in 3.0) API, for libreoffice
+CMAKE_CONFIGURE_ARGS+= -DZXING_WRITERS=BOTH
+# use pkgsrc zint
+CMAKE_CONFIGURE_ARGS+= -DZXING_USE_BUNDLED_ZINT=OFF
+
+# needs C++20, but users of the library are fine with c++17 as of 3.0.1
+USE_CXX_FEATURES+=     c++20
+
+PKGCONFIG_OVERRIDE+=   core/zxing.pc.in
+
+STB_REV=       2fb8c5a3deb2110c89669f8d6f36e5833b556b44
+DISTFILES=     ${DEFAULT_DISTFILES}
+DISTFILES+=    stb-${STB_REV}.tar.gz
+
+SITES.stb-${STB_REV}.tar.gz+=  -${MASTER_SITE_GITHUB:=nothings/}stb/archive/${STB_REV}.tar.gz
+
+pre-configure:
+       ${MKDIR} -p ${WRKSRC}/${CMAKE_BUILD_DIR}/_deps
+       ${LN} -sf ${WRKDIR}/stb-${STB_REV} ${WRKSRC}/${CMAKE_BUILD_DIR}/_deps/stb-src
 
 .include "../../devel/cmake/build.mk"
+BUILDLINK_API_DEPENDS.zint+=   zint>=2.16.0
+.include "../../graphics/zint/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/graphics/zxing-cpp/PLIST
diff -u pkgsrc/graphics/zxing-cpp/PLIST:1.8 pkgsrc/graphics/zxing-cpp/PLIST:1.9
--- pkgsrc/graphics/zxing-cpp/PLIST:1.8 Sun Jan 12 10:33:18 2025
+++ pkgsrc/graphics/zxing-cpp/PLIST     Thu Mar 12 00:59:16 2026
@@ -1,37 +1,31 @@
-@comment $NetBSD: PLIST,v 1.8 2025/01/12 10:33:18 wiz Exp $
+@comment $NetBSD: PLIST,v 1.9 2026/03/12 00:59:16 ryoon Exp $
 include/ZXing/Barcode.h
 include/ZXing/BarcodeFormat.h
-include/ZXing/BitArray.h
-include/ZXing/BitHacks.h
 include/ZXing/BitMatrix.h
 include/ZXing/BitMatrixIO.h
-include/ZXing/ByteArray.h
 include/ZXing/CharacterSet.h
-include/ZXing/Content.h
-include/ZXing/DecodeHints.h
+include/ZXing/ContentType.h
+include/ZXing/CreateBarcode.h
 include/ZXing/Error.h
-include/ZXing/Flags.h
 include/ZXing/GTIN.h
 include/ZXing/ImageView.h
 include/ZXing/Matrix.h
 include/ZXing/MultiFormatWriter.h
 include/ZXing/Point.h
 include/ZXing/Quadrilateral.h
-include/ZXing/Range.h
 include/ZXing/ReadBarcode.h
 include/ZXing/ReaderOptions.h
-include/ZXing/Result.h
-include/ZXing/StructuredAppend.h
-include/ZXing/TextUtfEncoding.h
 include/ZXing/Version.h
-include/ZXing/ZXAlgorithms.h
+include/ZXing/WriteBarcode.h
 include/ZXing/ZXVersion.h
+include/ZXing/ZXingC.h
 include/ZXing/ZXingCpp.h
+include/ZXing/ZXingQt.h
 lib/cmake/ZXing/ZXingConfig.cmake
 lib/cmake/ZXing/ZXingConfigVersion.cmake
 lib/cmake/ZXing/ZXingTargets-release.cmake
 lib/cmake/ZXing/ZXingTargets.cmake
 lib/libZXing.so
 lib/libZXing.so.${PKGVERSION}
-lib/libZXing.so.3
+lib/libZXing.so.4
 lib/pkgconfig/zxing.pc

Index: pkgsrc/graphics/zxing-cpp/buildlink3.mk
diff -u pkgsrc/graphics/zxing-cpp/buildlink3.mk:1.5 pkgsrc/graphics/zxing-cpp/buildlink3.mk:1.6
--- pkgsrc/graphics/zxing-cpp/buildlink3.mk:1.5 Wed Jul 19 13:10:11 2023
+++ pkgsrc/graphics/zxing-cpp/buildlink3.mk     Thu Mar 12 00:59:16 2026
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.5 2023/07/19 13:10:11 wiz Exp $
+# $NetBSD: buildlink3.mk,v 1.6 2026/03/12 00:59:16 ryoon Exp $
 
 BUILDLINK_TREE+=       zxing-cpp
 
@@ -9,7 +9,7 @@ USE_CXX_FEATURES+=                      c++17
 
 BUILDLINK_API_DEPENDS.zxing-cpp+=      zxing-cpp>=1.2.0
 BUILDLINK_ABI_DEPENDS.zxing-cpp+=      zxing-cpp>=2.0.0
-BUILDLINK_PKGSRCDIR.zxing-cpp?=                ../../graphics/zxing-cpp
+BUILDLINK_PKGSRCDIR.zxing-cpp?=                ../../wip/zxing-cpp
 .endif # ZXING_CPP_BUILDLINK3_MK
 
 BUILDLINK_TREE+=       -zxing-cpp

Index: pkgsrc/graphics/zxing-cpp/distinfo
diff -u pkgsrc/graphics/zxing-cpp/distinfo:1.9 pkgsrc/graphics/zxing-cpp/distinfo:1.10
--- pkgsrc/graphics/zxing-cpp/distinfo:1.9      Sun Jan 12 10:33:18 2025
+++ pkgsrc/graphics/zxing-cpp/distinfo  Thu Mar 12 00:59:16 2026
@@ -1,5 +1,8 @@
-$NetBSD: distinfo,v 1.9 2025/01/12 10:33:18 wiz Exp $
+$NetBSD: distinfo,v 1.10 2026/03/12 00:59:16 ryoon Exp $
 
-BLAKE2s (zxing-cpp-2.3.0.tar.gz) = 9b662fdeecdba3548984d60b7435eebfdc7871aefc1819e971dd47690e4e3188
-SHA512 (zxing-cpp-2.3.0.tar.gz) = be1c60a6b433c18f8dab56619553023370bfd3eddf49b0e16548466e1ebc2f1f37b48e0b36c2e74296a7274c4f0117d7052f1ffd7d1223d23e493451a11b4a80
-Size (zxing-cpp-2.3.0.tar.gz) = 1008541 bytes
+BLAKE2s (stb-2fb8c5a3deb2110c89669f8d6f36e5833b556b44.tar.gz) = 5700fcd8c6644d09e74415c9a6cbd5879ea0824d41bf73e3300303e07a0cfefb
+SHA512 (stb-2fb8c5a3deb2110c89669f8d6f36e5833b556b44.tar.gz) = 7c3e5e272b4d7feb542d7fc10b1bf72ad6af4929a38dd7dff8d27d06517e90e1df69c6d108e842519c3e24534b365627fc620066cbef281c9910740c82b1f517
+Size (stb-2fb8c5a3deb2110c89669f8d6f36e5833b556b44.tar.gz) = 1515178 bytes
+BLAKE2s (zxing-cpp-3.0.2.tar.gz) = fd3087b18eee0d9afe388268ee593588a44e32d5191b07695f0f03be6fe53764
+SHA512 (zxing-cpp-3.0.2.tar.gz) = 6f4dc443e23e488bf8daa7d338e2cfcc73558930d793af06a3d075b6befbdf92ca52324e98add3a924f55c4b9ecb58408e2a87627878bb43054e9a8a29a9c4a4
+Size (zxing-cpp-3.0.2.tar.gz) = 1039644 bytes



Home | Main Index | Thread Index | Old Index