diff options
author | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2021-10-18 14:06:49 +0200 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2021-10-18 21:47:35 +0200 |
commit | 22826f0f164d48ceef18343d9e9c2a6eb3de4230 (patch) | |
tree | 14c950e6656b8d6eb08a9b56e758f95c5dde0821 /_to_remove/recipes-qt/qt-qrcode | |
parent | e82b00a13a62499fdbca9505daaa69b35bf2f77d (diff) |
WIP: rm appfw
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Change-Id: I6a90dae780a8eca7d684b5842c3af3ee55ebc509
Diffstat (limited to '_to_remove/recipes-qt/qt-qrcode')
3 files changed, 225 insertions, 0 deletions
diff --git a/_to_remove/recipes-qt/qt-qrcode/qt-qrcode/0001-rework-library-build.patch b/_to_remove/recipes-qt/qt-qrcode/qt-qrcode/0001-rework-library-build.patch new file mode 100644 index 000000000..76795268c --- /dev/null +++ b/_to_remove/recipes-qt/qt-qrcode/qt-qrcode/0001-rework-library-build.patch @@ -0,0 +1,181 @@ +Rework library build + +Rework qmake files to build libraries out of the quickitem and widget +code instead of sample programs. This allows using the associated +classes without copying the source and running afoul of the LGPL +licensing. Also add pkgconfig file generation to simplify usage, fix +header installation, and use pkgconfig to pull in libqrencode instead +of having to clone a copy in-tree and building it. + +Upstream-Status: inappropriate [embedded-specific] + +Signed-off-by: Scott Murray <scott.murray@konsulko.com> + +diff --git a/lib/lib.pro b/lib/lib.pro +index d046bc4..6b6c199 100644 +--- a/lib/lib.pro ++++ b/lib/lib.pro +@@ -1,6 +1,9 @@ + TARGET = qtqrcode + TEMPLATE = lib + ++CONFIG += link_pkgconfig create_pc create_prl no_install_prl ++PKGCONFIG += libqrencode ++ + DEFINES += \ + QTQRCODE_LIBRARY \ + QTQRCODE_PLUS_FEATURES +@@ -12,7 +15,8 @@ contains(DEFINES, QTQRCODE_PLUS_FEATURES) { + qtqrcodepainter.cpp + + HEADERS +=\ +- qtqrcodepainter.h ++ qtqrcodepainter.h \ ++ QtQrCodePainter + + } else { + QT -= gui +@@ -23,16 +27,29 @@ SOURCES += \ + + HEADERS +=\ + qtqrcode_global.h \ +- qtqrcode.h ++ qtqrcode.h \ ++ QtQrCode + + INCLUDEPATH += $$PWD + + include(../defaults.pri) +-include(libqrencode.pri) + # Default rules for deployment. + include(deployment.pri) + + unix { ++ headers.path = /usr/include + target.path = /usr/lib +- INSTALLS += target + } ++ ++headers.files = $$HEADERS ++ ++INSTALLS += headers ++ ++QMAKE_PKGCONFIG_NAME = qtqrcode ++QMAKE_PKGCONFIG_FILE = $${QMAKE_PKGCONFIG_NAME} ++QMAKE_PKGCONFIG_VERSION = $${VERSION} ++QMAKE_PKGCONFIG_DESCRIPTION = A wrapper interface for qrencode for Qt ++QMAKE_PKGCONFIG_LIBDIR = ${prefix}/lib ++QMAKE_PKGCONFIG_INCDIR = ${prefix}/include ++QMAKE_PKGCONFIG_REQUIRES = libqrencode ++QMAKE_PKGCONFIG_DESTDIR = pkgconfig +diff --git a/lib/qtqrcode.h b/lib/qtqrcode.h +index 2a7a1ff..0830826 100644 +--- a/lib/qtqrcode.h ++++ b/lib/qtqrcode.h +@@ -31,7 +31,7 @@ + #include <QByteArray> + #include <QSharedDataPointer> + +-#include "libqrencode/qrencode.h" ++#include <qrencode.h> + + class QtQrCodeData; + +diff --git a/quickitem/quickitem.pro b/quickitem/quickitem.pro +index ecfef1b..067dc46 100644 +--- a/quickitem/quickitem.pro ++++ b/quickitem/quickitem.pro +@@ -1,5 +1,7 @@ +-TEMPLATE = app +-TARGET = QuickItem ++TEMPLATE = lib ++TARGET = qtqrcode-quickitem ++ ++CONFIG += create_pc create_prl no_install_prl + + QT += qml quick widgets + +@@ -7,7 +9,7 @@ LIBS += -L../lib -lqtqrcode + + DEFINES += + +-SOURCES += main.cpp \ ++SOURCES += \ + QtQrCodeQuickItem.cpp + + HEADERS += \ +@@ -21,3 +23,21 @@ QML_IMPORT_PATH = + include(../defaults.pri) + # Default rules for deployment. + include(deployment.pri) ++ ++unix { ++ headers.path = /usr/include ++ target.path = /usr/lib ++} ++ ++headers.files = $$HEADERS ++ ++INSTALLS += headers ++ ++QMAKE_PKGCONFIG_NAME = qtqrcode-quickitem ++QMAKE_PKGCONFIG_FILE = $${QMAKE_PKGCONFIG_NAME} ++QMAKE_PKGCONFIG_VERSION = $${VERSION} ++QMAKE_PKGCONFIG_DESCRIPTION = Qt QuickItem wrapper for qt-qrcode library ++QMAKE_PKGCONFIG_LIBDIR = ${prefix}/lib ++QMAKE_PKGCONFIG_INCDIR = ${prefix}/include ++QMAKE_PKGCONFIG_REQUIRES = qtqrcode ++QMAKE_PKGCONFIG_DESTDIR = pkgconfig +diff --git a/widget/widget.pro b/widget/widget.pro +index 2e26a8c..63add50 100644 +--- a/widget/widget.pro ++++ b/widget/widget.pro +@@ -1,5 +1,7 @@ +-TEMPLATE = app +-TARGET = Widget ++TEMPLATE = lib ++TARGET = qtqrcode-widget ++ ++CONFIG += create_pc create_prl no_install_prl + + greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +@@ -9,18 +11,28 @@ LIBS += -L../lib -lqtqrcode + + DEFINES += + +-SOURCES += main.cpp\ +- MainWindow.cpp \ +- QtQrCodeWidget.cpp +- +-HEADERS += MainWindow.hpp \ +- QtQrCodeWidget.hpp ++SOURCES += QtQrCodeWidget.cpp + +-FORMS += MainWindow.ui +- +-CONFIG += mobility +-MOBILITY = ++HEADERS += QtQrCodeWidget.hpp + + include(../defaults.pri) + # Default rules for deployment. + include(deployment.pri) ++ ++unix { ++ headers.path = /usr/include ++ target.path = /usr/lib ++} ++ ++headers.files = $$HEADERS ++ ++INSTALLS += headers ++ ++QMAKE_PKGCONFIG_NAME = qtqrcode-widget ++QMAKE_PKGCONFIG_FILE = $${QMAKE_PKGCONFIG_NAME} ++QMAKE_PKGCONFIG_VERSION = $${VERSION} ++QMAKE_PKGCONFIG_DESCRIPTION = Qt widget wrapper for qt-qrcode library ++QMAKE_PKGCONFIG_LIBDIR = ${prefix}/lib ++QMAKE_PKGCONFIG_INCDIR = ${prefix}/include ++QMAKE_PKGCONFIG_REQUIRES = qtqrcode ++QMAKE_PKGCONFIG_DESTDIR = pkgconfig diff --git a/_to_remove/recipes-qt/qt-qrcode/qt-qrcode/0002-fix-dangling-pointer.patch b/_to_remove/recipes-qt/qt-qrcode/qt-qrcode/0002-fix-dangling-pointer.patch new file mode 100644 index 000000000..489a49edb --- /dev/null +++ b/_to_remove/recipes-qt/qt-qrcode/qt-qrcode/0002-fix-dangling-pointer.patch @@ -0,0 +1,25 @@ +From 5fc5a92e3568674a08a6e7594d050e963d0d854b Mon Sep 17 00:00:00 2001 +From: Raquel Medina <raquel.medina@konsulko.com> +Date: Mon, 18 May 2020 19:18:00 +0200 +Subject: [PATCH] fix dangling pointer + +Bug-AGL: SPEC-3664 +Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> +--- + lib/qtqrcode.cpp | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/lib/qtqrcode.cpp b/lib/qtqrcode.cpp +index a7000f0..825c354 100644 +--- a/lib/qtqrcode.cpp ++++ b/lib/qtqrcode.cpp +@@ -116,8 +116,7 @@ void QtQrCode::setBaseQrCodeData(QRcode *qrCode) + { + d->width = qrCode->width; + d->data.clear(); +- // TODO: Beware it here +- d->data = (const char *) qrCode->data; ++ d->data = QByteArray(reinterpret_cast<const char *>(qrCode->data), d->width*d->width); + QRcode_free(qrCode); + } + diff --git a/_to_remove/recipes-qt/qt-qrcode/qt-qrcode_git.bb b/_to_remove/recipes-qt/qt-qrcode/qt-qrcode_git.bb new file mode 100644 index 000000000..fcc71390d --- /dev/null +++ b/_to_remove/recipes-qt/qt-qrcode/qt-qrcode_git.bb @@ -0,0 +1,19 @@ +SUMMARY = "Qt QR code library" +DESCRIPTION = "Qt/C++ library for encoding and visualization of data in a \ +QR Code symbol. This library consists of a Qt wrapper for libqrencode, and \ +Qt components that are able to visualize the result." +LICENSE = "LGPLv3+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=94a3f3bdf61243b5e5cf569fbfbbea52" + +DEPENDS = "qtbase qtdeclarative qtquickcontrols2 qtsvg qrencode" + +SRC_URI = "git://github.com/danielsanfr/qt-qrcode.git;protocol=https \ + file://0001-rework-library-build.patch \ + file://0002-fix-dangling-pointer.patch \ + " +SRCREV = "2d57d9c6e2341689d10f9360a16a08831a4a820b" + +PV = "git${SRCPV}" +S = "${WORKDIR}/git" + +inherit qmake5 |