diff --git a/package/zxing-cpp/0001-Fix-building-when-only-writer-support-is-enabled.patch b/package/zxing-cpp/0001-Fix-building-when-only-writer-support-is-enabled.patch deleted file mode 100644 index 0d2a90f7a5..0000000000 --- a/package/zxing-cpp/0001-Fix-building-when-only-writer-support-is-enabled.patch +++ /dev/null @@ -1,164 +0,0 @@ -From aef33b66df0ad6f085dc55b50d7847e0b8a2ccd8 Mon Sep 17 00:00:00 2001 -From: Dario Binacchi -Date: Wed, 17 Jul 2024 14:53:35 +0200 -Subject: [PATCH] Fix building when only writer support is enabled - -The compilation of the following code, which links the zxing-cpp library -built with only the writer (encoder) support, raises the following -linking errors: - -using namespace ZXing; - -int main(void) -{ - std::string str = "01"; - BitHacks::NumberOfLeadingZeros(0); - auto writer = MultiFormatWriter(BarcodeFormat::Code128); - writer.setEncoding(CharacterSet::UTF8); - writer.setMargin(0); - auto matrix = writer.encode(str, 0, 0 /*scaledImageWidth, pixelHeight*/); - - return EXIT_SUCCESS; -} - -arm-buildroot-linux-uclibcgnueabihf/bin/ld:host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/lib/libZXing.so: -undefined reference to `ZXing::TextDecoder::GuessEncoding(unsigned char const*, unsigned int, ZXing::CharacterSet)' -arm-buildroot-linux-uclibcgnueabihf/bin/ld: host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/lib/libZXing.so: -undefined reference to `ZXing::HRIFromGS1[abi:cxx11](std::basic_string_view >)' -arm-buildroot-linux-uclibcgnueabihf/bin/ld: host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/lib/libZXing.so: -undefined reference to `ZXing::TextDecoder::Append(std::__cxx11::basic_string, std::allocator >&, unsigned char const*, unsigned int, ZXing::CharacterSet, bool)' -arm-buildroot-linux-uclibcgnueabihf/bin/ld: host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/lib/libZXing.so: -undefined reference to `ZXing::HRIFromISO15434[abi:cxx11](std::basic_string_view >)' -collect2: error: ld returned 1 exit status - -The patch fixes these errors. - -Co-Developed-by: Francesco Nicoletta Puzzillo -Signed-off-by: Dario Binacchi -Upstream: backport from upstream https://github.com/zxing-cpp/zxing-cpp/pull/811 ---- - core/src/Content.cpp | 4 ++++ - core/src/Content.h | 6 ++++++ - core/src/DecoderResult.h | 2 ++ - core/src/GTIN.cpp | 2 ++ - core/src/GTIN.h | 2 ++ - 5 files changed, 16 insertions(+) - -diff --git a/core/src/Content.cpp b/core/src/Content.cpp -index 4d3c44657cf9..569d4e35614a 100644 ---- a/core/src/Content.cpp -+++ b/core/src/Content.cpp -@@ -93,6 +93,7 @@ bool Content::canProcess() const - return std::all_of(encodings.begin(), encodings.end(), [](Encoding e) { return CanProcess(e.eci); }); - } - -+#ifdef ZXING_READERS - std::string Content::render(bool withECI) const - { - if (empty() || !canProcess()) -@@ -165,6 +166,7 @@ std::wstring Content::utfW() const - { - return FromUtf8(render(false)); - } -+#endif // ZXING_READERS - - ByteArray Content::bytesECI() const - { -@@ -188,6 +190,7 @@ ByteArray Content::bytesECI() const - return ByteArray(res); - } - -+#ifdef ZXING_READERS - CharacterSet Content::guessEncoding() const - { - // assemble all blocks with unknown encoding -@@ -236,5 +239,6 @@ ContentType Content::type() const - - return ContentType::Mixed; - } -+#endif // ZXING_READERS - - } // namespace ZXing -diff --git a/core/src/Content.h b/core/src/Content.h -index 99e5a01e7140..aa77bda94d54 100644 ---- a/core/src/Content.h -+++ b/core/src/Content.h -@@ -38,7 +38,9 @@ class Content - void ForEachECIBlock(FUNC f) const; - - void switchEncoding(ECI eci, bool isECI); -+#ifdef ZXING_READERS - std::string render(bool withECI) const; -+#endif // ZXING_READERS - - public: - struct Encoding -@@ -75,13 +77,17 @@ public: - bool empty() const { return bytes.empty(); } - bool canProcess() const; - -+#ifdef ZXING_READERS - std::string text(TextMode mode) const; - std::wstring utfW() const; // utf16 or utf32 depending on the platform, i.e. on size_of(wchar_t) - std::string utf8() const { return render(false); } -+#endif // ZXING_READERS - - ByteArray bytesECI() const; -+#ifdef ZXING_READERS - CharacterSet guessEncoding() const; - ContentType type() const; -+#endif // ZXING_READERS - }; - - } // ZXing -diff --git a/core/src/DecoderResult.h b/core/src/DecoderResult.h -index 02b285084195..3117b03a923a 100644 ---- a/core/src/DecoderResult.h -+++ b/core/src/DecoderResult.h -@@ -50,7 +50,9 @@ public: - Content&& content() && { return std::move(_content); } - - // to keep the unit tests happy for now: -+#ifdef ZXING_READERS - std::wstring text() const { return _content.utfW(); } -+#endif // ZXING_READERS - std::string symbologyIdentifier() const { return _content.symbology.toString(false); } - - // Simple macro to set up getter/setter methods that save lots of boilerplate. -diff --git a/core/src/GTIN.cpp b/core/src/GTIN.cpp -index 256855a03070..690901062301 100644 ---- a/core/src/GTIN.cpp -+++ b/core/src/GTIN.cpp -@@ -199,6 +199,7 @@ std::string LookupCountryIdentifier(const std::string& GTIN, const BarcodeFormat - return it != std::end(COUNTRIES) && prefix >= it->first && prefix <= it->last ? it->id : std::string(); - } - -+#ifdef ZXING_READERS - std::string EanAddOn(const Result& result) - { - if (!(BarcodeFormat::EAN13 | BarcodeFormat::UPCA | BarcodeFormat::UPCE | BarcodeFormat::EAN8) -@@ -208,6 +209,7 @@ std::string EanAddOn(const Result& result) - auto pos = txt.find(' '); - return pos != std::string::npos ? std::string(txt.substr(pos + 1)) : std::string(); - } -+#endif // ZXING_READERS - - std::string IssueNr(const std::string& ean2AddOn) - { -diff --git a/core/src/GTIN.h b/core/src/GTIN.h -index d56b604e5f71..9af0b01200ce 100644 ---- a/core/src/GTIN.h -+++ b/core/src/GTIN.h -@@ -47,7 +47,9 @@ bool IsCheckDigitValid(const std::basic_string& s) - */ - std::string LookupCountryIdentifier(const std::string& GTIN, const BarcodeFormat format = BarcodeFormat::None); - -+#ifdef ZXING_READERS - std::string EanAddOn(const Result& result); -+#endif // ZXING_READERS - - std::string IssueNr(const std::string& ean2AddOn); - std::string Price(const std::string& ean5AddOn); --- -2.43.0 - diff --git a/package/zxing-cpp/zxing-cpp.hash b/package/zxing-cpp/zxing-cpp.hash index ff11896f4b..c0758579db 100644 --- a/package/zxing-cpp/zxing-cpp.hash +++ b/package/zxing-cpp/zxing-cpp.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 02078ae15f19f9d423a441f205b1d1bee32349ddda7467e2c84e8f08876f8635 zxing-cpp-2.2.1.tar.gz +sha256 64e4139103fdbc57752698ee15b5f0b0f7af9a0331ecbdc492047e0772c417ba zxing-cpp-2.3.0.tar.gz # License files sha256 c6596eb7be8581c18be736c846fb9173b69eccf6ef94c5135893ec56bd92ba08 LICENSE diff --git a/package/zxing-cpp/zxing-cpp.mk b/package/zxing-cpp/zxing-cpp.mk index 5f91bf2f71..515daf590f 100644 --- a/package/zxing-cpp/zxing-cpp.mk +++ b/package/zxing-cpp/zxing-cpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZXING_CPP_VERSION = 2.2.1 +ZXING_CPP_VERSION = 2.3.0 ZXING_CPP_SITE = $(call github,zxing-cpp,zxing-cpp,v$(ZXING_CPP_VERSION)) ZXING_CPP_LICENSE = Apache-2.0 ZXING_CPP_LICENSE_FILES = LICENSE