diff options
author | 2022-07-14 10:26:12 +0200 | |
---|---|---|
committer | 2022-07-14 11:27:39 +0200 | |
commit | f04d8f9baae0e45840a16248cff6a9ab127fc725 (patch) | |
tree | dd6241472468e647ae45096bf65301218ee9dc6c /kde-apps/kitinerary | |
parent | kde-frameworks/prison: Drop 5.96.0 (r0) (diff) | |
download | gentoo-f04d8f9baae0e45840a16248cff6a9ab127fc725.tar.gz gentoo-f04d8f9baae0e45840a16248cff6a9ab127fc725.tar.bz2 gentoo-f04d8f9baae0e45840a16248cff6a9ab127fc725.zip |
kde-apps/kitinerary: Slot op, build w/ media-libs/zxing-cpp-1.4.0
Upstream commit e60195421aa159462353892ed32bf46ac8c57d19
Backported to 22.04.3.
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-apps/kitinerary')
-rw-r--r-- | kde-apps/kitinerary/files/kitinerary-22.04.3-zxing-cpp-1.4.0.patch | 68 | ||||
-rw-r--r-- | kde-apps/kitinerary/kitinerary-22.04.3-r1.ebuild | 53 |
2 files changed, 121 insertions, 0 deletions
diff --git a/kde-apps/kitinerary/files/kitinerary-22.04.3-zxing-cpp-1.4.0.patch b/kde-apps/kitinerary/files/kitinerary-22.04.3-zxing-cpp-1.4.0.patch new file mode 100644 index 000000000000..a208d2bfaed7 --- /dev/null +++ b/kde-apps/kitinerary/files/kitinerary-22.04.3-zxing-cpp-1.4.0.patch @@ -0,0 +1,68 @@ +From bf83f8bd974925aec07a2e8dbfd50ad39995b428 Mon Sep 17 00:00:00 2001 +From: Volker Krause <vkrause@kde.org> +Date: Fri, 8 Jul 2022 16:04:19 +0200 +Subject: [PATCH] Support ZXing 1.4.0 + +The previous code crashes (if it builds at all) with ZXing 1.4.0, so +distributions updating to 1.4.0 would need to apply this patch on top +of 22.04.3 as well. + +(cherry picked from commit e60195421aa159462353892ed32bf46ac8c57d19) +--- + src/lib/barcodedecoder.cpp | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) + +diff --git a/src/lib/barcodedecoder.cpp b/src/lib/barcodedecoder.cpp +index b38140a..40e0c64 100644 +--- a/src/lib/barcodedecoder.cpp ++++ b/src/lib/barcodedecoder.cpp +@@ -15,6 +15,7 @@ + #include <QString> + + #ifdef HAVE_ZXING ++#define ZX_USE_UTF8 1 + #ifdef ZXING_USE_READBARCODE + #include <ZXing/ReadBarcode.h> + #else +@@ -244,6 +245,30 @@ void BarcodeDecoder::decodeZxing(const QImage &img, BarcodeDecoder::BarcodeTypes + #endif + + if (res.isValid()) { ++#if ZXING_VERSION >= QT_VERSION_CHECK(1, 4, 0) ++ // detect content type ++ std::string zxUtf8Text; ++ if (res.contentType() == ZXing::ContentType::Text) { ++ result.contentType = Result::Any; ++ zxUtf8Text = res.text(); ++ // check if the text is ASCII-only (in which case we allow access as byte array as well) ++ if (std::any_of(zxUtf8Text.begin(), zxUtf8Text.end(), [](unsigned char c) { return c > 0x7F; })) { ++ result.contentType &= ~Result::ByteArray; ++ } ++ } else { ++ result.contentType = Result::ByteArray; ++ } ++ ++ // decode content ++ if (result.contentType & Result::ByteArray) { ++ QByteArray b; ++ b.resize(res.bytes().size()); ++ std::copy(res.bytes().begin(), res.bytes().end(), b.begin()); ++ result.content = b; ++ } else { ++ result.content = QString::fromStdString(zxUtf8Text); ++ } ++#else + // detect content type + result.contentType = Result::Any; + if (std::any_of(res.text().begin(), res.text().end(), [](const auto c) { return c > 255; })) { +@@ -262,6 +287,7 @@ void BarcodeDecoder::decodeZxing(const QImage &img, BarcodeDecoder::BarcodeTypes + } else { + result.content = QString::fromStdWString(res.text()); + } ++#endif + result.positive |= formatToType(res.format()); + } else { + result.negative |= format; +-- +2.35.1 + diff --git a/kde-apps/kitinerary/kitinerary-22.04.3-r1.ebuild b/kde-apps/kitinerary/kitinerary-22.04.3-r1.ebuild new file mode 100644 index 000000000000..75600a759039 --- /dev/null +++ b/kde-apps/kitinerary/kitinerary-22.04.3-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_QTHELP="true" +ECM_TEST="true" +PVCUT=$(ver_cut 1-3) +KFMIN=5.92.0 +QTMIN=5.15.4 +VIRTUALX_REQUIRED="test" +inherit ecm gear.kde.org + +DESCRIPTION="Data Model and Extraction System for Travel Reservation information" +HOMEPAGE="https://apps.kde.org/kontact/" + +LICENSE="LGPL-2.1+" +SLOT="5" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="+barcode pdf" + +REQUIRED_USE="test? ( pdf )" + +DEPEND=" + dev-libs/libphonenumber + dev-libs/libxml2:2 + dev-libs/openssl:= + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=kde-apps/kmime-${PVCUT}:5 + >=kde-apps/kpkpass-${PVCUT}:5 + >=kde-frameworks/karchive-${KFMIN}:5 + >=kde-frameworks/kcalendarcore-${KFMIN}:5 + >=kde-frameworks/kcontacts-${KFMIN}:5 + >=kde-frameworks/ki18n-${KFMIN}:5 + sys-libs/zlib + barcode? ( >=media-libs/zxing-cpp-1.1.0:= ) + pdf? ( app-text/poppler:=[qt5] ) +" +RDEPEND="${DEPEND}" +BDEPEND="x11-misc/shared-mime-info" + +PATCHES=( "${FILESDIR}/${P}-zxing-cpp-1.4.0.patch" ) + +src_configure() { + local mycmakeargs=( + # sci-geosciences/osmctools; TODO: useful at all? + -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON + $(cmake_use_find_package barcode ZXing) + $(cmake_use_find_package pdf Poppler) + ) + ecm_src_configure +} |