diff --git a/qt6-qtserialbus.spec b/qt6-qtserialbus.spec new file mode 100644 index 0000000..1b7a9ca --- /dev/null +++ b/qt6-qtserialbus.spec @@ -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 - 6.5.0-1 +- update package + +* Wed Nov 30 2022 Jingwiw - 6.4.0-1 +- init package diff --git a/qt6-qtserialbus.yaml b/qt6-qtserialbus.yaml new file mode 100644 index 0000000..239a522 --- /dev/null +++ b/qt6-qtserialbus.yaml @@ -0,0 +1,4 @@ +version_control: git +src_repo: https://code.qt.io/qt/qtserialbus.git +tag_prefix: "^v" +separator: "." diff --git a/qtserialbus-everywhere-src-5.12.3-SIOCGSTAMP.patch b/qtserialbus-everywhere-src-5.12.3-SIOCGSTAMP.patch new file mode 100644 index 0000000..b37b8d2 --- /dev/null +++ b/qtserialbus-everywhere-src-5.12.3-SIOCGSTAMP.patch @@ -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 + #include + ++// 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 diff --git a/qtserialbus-everywhere-src-6.5.0.tar.xz b/qtserialbus-everywhere-src-6.5.0.tar.xz new file mode 100644 index 0000000..d0c79a8 Binary files /dev/null and b/qtserialbus-everywhere-src-6.5.0.tar.xz differ