qxmpp, add recipe for version 1.14.4 (#13871)

This commit is contained in:
Schrijvers Luc
2026-03-28 10:03:38 +01:00
committed by GitHub
parent 21bb8f64af
commit 75cc608264
2 changed files with 142 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
From 1230646603248267c940bc166dba7d0bb1459e4a Mon Sep 17 00:00:00 2001
From: Luc Schrijvers <begasus@gmail.com>
Date: Fri, 19 Dec 2025 17:25:07 +0100
Subject: Fix cmake include targets
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0c1ffb1..13ab483 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -370,7 +370,7 @@ target_include_directories(${QXMPP_TARGET}
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/client>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/server>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
- $<INSTALL_INTERFACE:include/${QXMPP_TARGET}>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${QXMPP_TARGET}>
)
# qxmpp_export.h generation
diff --git a/src/omemo/CMakeLists.txt b/src/omemo/CMakeLists.txt
index be830fc..4b965fb 100644
--- a/src/omemo/CMakeLists.txt
+++ b/src/omemo/CMakeLists.txt
@@ -42,7 +42,7 @@ target_link_libraries(${QXMPPOMEMO_TARGET}
)
target_include_directories(${QXMPPOMEMO_TARGET}
PUBLIC
- $<INSTALL_INTERFACE:include/${QXMPP_TARGET}/Omemo>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${QXMPP_TARGET}/Omemo>
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
)
--
2.52.0

View File

@@ -0,0 +1,107 @@
SUMMARY="C++ XMPP client and server library"
DESCRIPTION="QXmpp is a cross-platform C++ XMPP client and server library. It is written in C++ \
and uses the Qt framework.
QXmpp strives to be as easy to use as possible. The underlying TCP socket, the core XMPP RFCs \
(RFC6120 and RFC6121) and the supported XMPP extensions have been nicely encapsulated in \
classes. With QXmpp, it is possible to build XMPP clients complying with the XMPP Compliance \
Suites 2022 for IM and Advanced Mobile. It comes with full API documentation, automatic tests \
and examples.
QXmpp uses Qt extensively. Thus, users need to have a good knowledge of C++ and Qt basics \
(including the concept of signals/slots and Qt's data types). Qt is the only third party library \
required to build QXmpp, but libraries such as GStreamer enable additional features."
HOMEPAGE="https://invent.kde.org/libraries/qxmpp"
COPYRIGHT="2010-2026 KDE Organisation"
LICENSE="GNU LGPL v2.1"
REVISION="1"
SOURCE_URI="https://download.kde.org/unstable/qxmpp/qxmpp-$portVersion.tar.xz"
CHECKSUM_SHA256="06a3a484eccbb9488d66b75d41b8afffcc9741304f1a96b930e39dc8b4ef6243"
PATCHES="qxmpp-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
qxmpp$secondaryArchSuffix = $portVersion
lib:libQXmppOmemoQt6$secondaryArchSuffix = $libVersionCompat
lib:libQXmppQt6$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
gst_plugins_good$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgobject_2.0$secondaryArchSuffix
lib:libgstreamer_1.0$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libomemo_c$secondaryArchSuffix
lib:libqca_qt6$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Network$secondaryArchSuffix
lib:libQt6Xml$secondaryArchSuffix
"
PROVIDES_devel="
qxmpp${secondaryArchSuffix}_devel = $portVersion
devel:libQXmppOmemoQt6$secondaryArchSuffix = $libVersionCompat
devel:libQXmppQt6$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
qxmpp$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
gst_plugins_good$secondaryArchSuffix
devel:libgstreamer_1.0$secondaryArchSuffix
devel:libomemo_c$secondaryArchSuffix
devel:libqca_qt6$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Core5Compat$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage qxmpp$secondaryArchSuffix \
"$libDir"/libQXmppQt6.so.$libVersion \
"$libDir"/libQXmppOmemoQt6.so.$libVersion
BUILD()
{
cmake -B build -S . -DCMAKE_BUILD_TYPE=RelWithDebInfo \
$cmakeDirArgs \
-DBUILD_WITH_QT6=ON \
-DWITH_GSTREAMER=ON \
-DWITH_QCA:BOOL=ON \
-DBUILD_EXAMPLES=OFF \
-DBUILD_OMEMO=ON \
-DBUILD_TESTS=OFF
make -C build $jobArgs
}
INSTALL()
{
make -C build install
prepareInstalledDevelLibs \
libQXmppOmemoQt6 \
libQXmppQt6
fixPkgconfig
packageEntries devel \
$developDir \
$libDir/cmake
}
TEST()
{
ctest --test-dir build --output-on-failure
}