initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -0,0 +1,135 @@
From caacc9bc622238ca48674ea6f40d07466e4b97a5 Mon Sep 17 00:00:00 2001
From: Valentin Ochs <a@0au.de>
Date: Sat, 20 Jun 2020 16:01:27 +0200
Subject: [PATCH] Replace obsolete/deprecated Qt methods
[Thomas: Backport from upstream commit
ae726b70a7ada9a4be5808e00f0c951318479684, one conflict manually
resolved in pv/util.cpp.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Fabrice: restore original patch in pv/util.cpp for 0.4.2]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
pv/util.cpp | 21 +++++++++++++++++++--
pv/util.hpp | 10 ++++++++++
pv/views/trace/decodetrace.cpp | 3 ++-
pv/views/trace/ruler.cpp | 2 +-
pv/widgets/timestampspinbox.cpp | 2 +-
5 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/pv/util.cpp b/pv/util.cpp
index 49b9467c..2a63038d 100644
--- a/pv/util.cpp
+++ b/pv/util.cpp
@@ -137,7 +137,7 @@ QString format_time_si(const Timestamp& v, SIPrefix prefix,
QString s;
QTextStream ts(&s);
if (sign && !v.is_zero())
- ts << forcesign;
+ ts.setNumberFlags(ts.numberFlags() | QTextStream::ForceSign);
ts << qSetRealNumberPrecision(precision) << (v * multiplier);
ts << ' ' << prefix << unit;
@@ -171,7 +171,7 @@ QString format_value_si(double v, SIPrefix prefix, unsigned precision,
QString s;
QTextStream ts(&s);
if (sign && (v != 0))
- ts << forcesign;
+ ts.setNumberFlags(ts.numberFlags() | QTextStream::ForceSign);
ts.setRealNumberNotation(QTextStream::FixedNotation);
ts.setRealNumberPrecision(precision);
ts << (v * multiplier) << ' ' << prefix << unit;
@@ -281,5 +281,22 @@ vector<string> split_string(string text, string separator)
return result;
}
+/**
+ * Return the width of a string in a given font.
+ *
+ * @param[in] metric metrics of the font
+ * @param[in] string the string whose width should be determined
+ *
+ * @return width of the string in pixels
+ */
+std::streamsize text_width(const QFontMetrics &metric, const QString &string)
+{
+#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
+ return metric.horizontalAdvance(string);
+#else
+ return metric.width(string);
+#endif
+}
+
} // namespace util
} // namespace pv
diff --git a/pv/util.hpp b/pv/util.hpp
index dd7be222..ad904f85 100644
--- a/pv/util.hpp
+++ b/pv/util.hpp
@@ -30,6 +30,7 @@
#include <QMetaType>
#include <QString>
+#include <QFontMetrics>
using std::string;
using std::vector;
@@ -137,6 +138,15 @@ QString format_time_minutes(const Timestamp& t, signed precision = 0,
vector<string> split_string(string text, string separator);
+/**
+ * Return the width of a string in a given font.
+ * @param[in] metric metrics of the font
+ * @param[in] string the string whose width should be determined
+ *
+ * @return width of the string in pixels
+ */
+std::streamsize text_width(const QFontMetrics &metric, const QString &string);
+
} // namespace util
} // namespace pv
diff --git a/pv/views/trace/decodetrace.cpp b/pv/views/trace/decodetrace.cpp
index 9c7196bf..1ee7ae9f 100644
--- a/pv/views/trace/decodetrace.cpp
+++ b/pv/views/trace/decodetrace.cpp
@@ -103,7 +103,8 @@ DecodeTrace::DecodeTrace(pv::Session &session,
// Determine shortest string we want to see displayed in full
QFontMetrics m(QApplication::font());
- min_useful_label_width_ = m.width("XX"); // e.g. two hex characters
+ // e.g. two hex characters
+ min_useful_label_width_ = util::text_width(m, "XX");
// For the base color, we want to start at a very different color for
// every decoder stack, so multiply the index with a number that is
diff --git a/pv/views/trace/ruler.cpp b/pv/views/trace/ruler.cpp
index acea8a36..68134966 100644
--- a/pv/views/trace/ruler.cpp
+++ b/pv/views/trace/ruler.cpp
@@ -218,7 +218,7 @@ void Ruler::paintEvent(QPaintEvent*)
const int rightedge = width();
const int x_tick = tick.first;
if ((x_tick > leftedge) && (x_tick < rightedge)) {
- const int x_left_bound = QFontMetrics(font()).width(tick.second) / 2;
+ const int x_left_bound = util::text_width(QFontMetrics(font()), tick.second) / 2;
const int x_right_bound = rightedge - x_left_bound;
const int x_legend = min(max(x_tick, x_left_bound), x_right_bound);
p.drawText(x_legend, ValueMargin, 0, text_height,
diff --git a/pv/widgets/timestampspinbox.cpp b/pv/widgets/timestampspinbox.cpp
index 21b3d0d7..383aed1f 100644
--- a/pv/widgets/timestampspinbox.cpp
+++ b/pv/widgets/timestampspinbox.cpp
@@ -75,7 +75,7 @@ QSize TimestampSpinBox::minimumSizeHint() const
{
const QFontMetrics fm(fontMetrics());
const int l = round(value_).str().size() + precision_ + 10;
- const int w = fm.width(QString(l, '0'));
+ const int w = util::text_width(fm, QString(l, '0'));
const int h = lineEdit()->minimumSizeHint().height();
return QSize(w, h);
}
--
2.26.2
@@ -0,0 +1,58 @@
From ed643f0b4ac587204a5243451cda181ee1405d62 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Wed, 28 Apr 2021 02:14:47 +0200
Subject: [PATCH] Fix broken build due to C++ template behind C linkage
glib/gatomic.h since 2.68 includes type_traits, which causes a compilation
error:
In file included from /usr/include/glib-2.0/glib/gatomic.h:31,
from /usr/include/glib-2.0/glib/gthread.h:32,
from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
from /usr/include/glib-2.0/glib.h:32,
from /usr/include/libsigrokdecode/libsigrokdecode.h:25,
from /home/abuild/rpmbuild/BUILD/pulseview-0.4.2/pv/data/decode/annotation.cpp:21:
/usr/include/c++/10/type_traits:2308:3: error: template with C linkage
2308 | template<typename _CTp, typename _Rp>
As libsigrokdecode.h declares extern C linkage itself where necessary,
remove it from pulseviews include statements from the last two occasions.
[Retrieved from:
https://sigrok.org/gitweb/?p=pulseview.git;a=commit;h=ed643f0b4ac587204a5243451cda181ee1405d62]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
pv/data/decode/annotation.cpp | 2 --
pv/views/trace/decodetrace.cpp | 2 --
2 files changed, 4 deletions(-)
diff --git a/pv/data/decode/annotation.cpp b/pv/data/decode/annotation.cpp
index 7f233478..f8a5c47b 100644
--- a/pv/data/decode/annotation.cpp
+++ b/pv/data/decode/annotation.cpp
@@ -17,9 +17,7 @@
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
-extern "C" {
#include <libsigrokdecode/libsigrokdecode.h>
-}
#include <cassert>
#include <vector>
diff --git a/pv/views/trace/decodetrace.cpp b/pv/views/trace/decodetrace.cpp
index 409f1d28..888064d0 100644
--- a/pv/views/trace/decodetrace.cpp
+++ b/pv/views/trace/decodetrace.cpp
@@ -17,9 +17,7 @@
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
-extern "C" {
#include <libsigrokdecode/libsigrokdecode.h>
-}
#include <limits>
#include <mutex>
--
2.24.0.rc2
+40
View File
@@ -0,0 +1,40 @@
config BR2_PACKAGE_PULSEVIEW
bool "pulseview"
depends on BR2_PACKAGE_QT5
# libsigrok->libglib2:
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
depends on BR2_USE_MMU
depends on BR2_INSTALL_LIBSTDCPP
# libsigrok->libzip
depends on !BR2_STATIC_LIBS
# libsigrok
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
depends on BR2_HOST_GCC_AT_LEAST_4_9
depends on BR2_ENABLE_LOCALE
select BR2_PACKAGE_LIBSIGROK
select BR2_PACKAGE_LIBSIGROKCXX
select BR2_PACKAGE_QT5BASE_WIDGETS
select BR2_PACKAGE_QT5BASE_PNG
select BR2_PACKAGE_QT5SVG
select BR2_PACKAGE_QT5TOOLS
select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_FILESYSTEM
select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_SERIALIZATION
help
PulseView is a Qt based logic analyzer, oscilloscope
and MSO GUI for sigrok.
http://sigrok.org/wiki/PulseView
comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 4.9, host gcc >= 4.9"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_QT5
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \
|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
|| BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE || \
!BR2_HOST_GCC_AT_LEAST_4_9
+3
View File
@@ -0,0 +1,3 @@
# Locally computed
sha256 f042f77a3e1b35bf30666330e36ec38fab8d248c3693c37b7e35d401c3bfabcb pulseview-0.4.2.tar.gz
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
+27
View File
@@ -0,0 +1,27 @@
################################################################################
#
# pulseview
#
################################################################################
PULSEVIEW_VERSION = 0.4.2
PULSEVIEW_SITE = http://sigrok.org/download/source/pulseview
PULSEVIEW_LICENSE = GPL-3.0+
PULSEVIEW_LICENSE_FILES = COPYING
PULSEVIEW_DEPENDENCIES = libsigrok qt5base qt5svg qt5tools boost
PULSEVIEW_CONF_OPTS = -DDISABLE_WERROR=TRUE
ifeq ($(BR2_PACKAGE_BOOST_TEST),y)
PULSEVIEW_CONF_OPTS += -DENABLE_TESTS=TRUE
else
PULSEVIEW_CONF_OPTS += -DENABLE_TESTS=FALSE
endif
ifeq ($(BR2_PACKAGE_LIBSIGROKDECODE),y)
PULSEVIEW_CONF_OPTS += -DENABLE_DECODE=TRUE
PULSEVIEW_DEPENDENCIES += libsigrokdecode
else
PULSEVIEW_CONF_OPTS += -DENABLE_DECODE=FALSE
endif
$(eval $(cmake-package))