summaryrefslogtreecommitdiffstats
path: root/_to_remove/recipes-qt/qt-qrcode
diff options
context:
space:
mode:
authorJan-Simon Moeller <jsmoeller@linuxfoundation.org>2021-10-18 14:06:49 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2021-10-18 21:47:35 +0200
commit22826f0f164d48ceef18343d9e9c2a6eb3de4230 (patch)
tree14c950e6656b8d6eb08a9b56e758f95c5dde0821 /_to_remove/recipes-qt/qt-qrcode
parente82b00a13a62499fdbca9505daaa69b35bf2f77d (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')
-rw-r--r--_to_remove/recipes-qt/qt-qrcode/qt-qrcode/0001-rework-library-build.patch181
-rw-r--r--_to_remove/recipes-qt/qt-qrcode/qt-qrcode/0002-fix-dangling-pointer.patch25
-rw-r--r--_to_remove/recipes-qt/qt-qrcode/qt-qrcode_git.bb19
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