Init qt6-qtserialbus

This commit is contained in:
Dong Xu 2023-05-06 00:18:20 +08:00 committed by EastDong
parent 415b89c347
commit cbe1714493
4 changed files with 119 additions and 0 deletions

99
qt6-qtserialbus.spec Normal file
View File

@ -0,0 +1,99 @@
%global qt_module qtserialbus
%global examples 1
%define short_version 6.5
Summary: Qt6 - SerialBus component
Name: qt6-%{qt_module}
Version: 6.5.0
Release: 1
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
License: LGPLv2 with exceptions or GPLv3 with exceptions
Url: http://www.qt.io
Source0: https://download.qt.io/official_releases/qt/%{short_version}/%{version}/submodules/%{qt_module}-everywhere-src-%{version}.tar.xz
## upstreamable patches
# workaround FTBFS against kernel-header-5.2.0+
Patch100: qtserialbus-everywhere-src-5.12.3-SIOCGSTAMP.patch
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: ninja-build
BuildRequires: qt6-rpm-macros
BuildRequires: qt6-qtbase-devel >= %{version}
BuildRequires: qt6-qtbase-private-devel
#libQt6Core.so.6(Qt_5_PRIVATE_API)(64bit)
%{?_qt6:Requires: %{_qt6}%{?_isa} = %{_qt6_version}}
BuildRequires: qt6-qtserialport-devel >= %{version}
BuildRequires: pkgconfig(xkbcommon) >= 0.5.0
BuildRequires: openssl-devel
%description
Qt Serial Bus (API) provides classes and functions to access the various
industrial serial buses and protocols, such as CAN, ModBus, and others.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: qt6-qtbase-devel%{?_isa}
%description devel
%{summary}.
%if 0%{?examples}
%package examples
Summary: Programming examples for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
# BuildRequires: qt6-qtserialbus-devel >= %{version}
%description examples
%{summary}.
%endif
%prep
%autosetup -n %{qt_module}-everywhere-src-%{version} -p1
%build
%cmake_qt6 -DQT_BUILD_EXAMPLES:BOOL=%{?examples:ON}%{!?examples:OFF}
cmake --build . %{?_smp_mflags} --verbose
%install
DESTDIR="%{buildroot}" cmake --install .
%ldconfig_scriptlets
%files
%license LICENSES/*
%{_qt6_libdir}/libQt6SerialBus.so.6*
%{_qt6_bindir}/canbusutil
%{_qt6_plugindir}/canbus
%files devel
%{_qt6_headerdir}/QtSerialBus/
%{_qt6_libdir}/libQt6SerialBus.so
%{_qt6_libdir}/libQt6SerialBus.prl
%{_qt6_libdir}/cmake/Qt6BuildInternals/StandaloneTests/QtSerialBusTestsConfig.cmake
%dir %{_qt6_libdir}/cmake/Qt6SerialBus/
%{_qt6_libdir}/cmake/Qt6SerialBus/*.cmake
%{_qt6_mkspecsdir}/modules/*
%{_qt6_archdatadir}/metatypes/qt6*_metatypes.json
%{_qt6_archdatadir}/modules/*.json
%{_qt6_libdir}/pkgconfig/*.pc
%if 0%{?examples}
%files examples
%{_qt6_examplesdir}/
%endif
%changelog
* Fri May 5 2023 EastDong <xudong23@iscas.ac.cn> - 6.5.0-1
- update package
* Wed Nov 30 2022 Jingwiw <wangjingwei@iscas.ac.cn> - 6.4.0-1
- init package

4
qt6-qtserialbus.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: git
src_repo: https://code.qt.io/qt/qtserialbus.git
tag_prefix: "^v"
separator: "."

View File

@ -0,0 +1,16 @@
diff --git a/src/plugins/canbus/socketcan/socketcanbackend.cpp b/src/plugins/canbus/socketcan/socketcanbackend.cpp
index 572fef8..68e8b3f 100644
--- a/src/plugins/canbus/socketcan/socketcanbackend.cpp
+++ b/src/plugins/canbus/socketcan/socketcanbackend.cpp
@@ -56,6 +56,11 @@
#include <sys/ioctl.h>
#include <sys/time.h>
+// Seems that kernel 5.2.0 renames this define to SIOCGSTAMP_OLD
+#ifndef SIOCGSTAMP
+#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
+#endif
+
#ifndef CANFD_BRS
# define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */
#endif

Binary file not shown.