konversation, bump version, switch to KF6 (#11541)

This commit is contained in:
Schrijvers Luc
2024-12-27 17:54:18 +01:00
committed by GitHub
parent 9a6f9bd962
commit 4f54ba7ae0
4 changed files with 196 additions and 219 deletions

View File

@@ -1,163 +0,0 @@
SUMMARY="User friendly IRC Client"
DESCRIPTION="Konversation is a user-friendly Internet Relay Chat (IRC) client which provides \
easy access to standard IRC networks such as Libera, where the KDE IRC channels can be found."
HOMEPAGE="https://konversation.kde.org/"
COPYRIGHT="2010-2024 KDE Organisation"
LICENSE="GNU GPL v2"
REVISION="2"
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/konversation-$portVersion.tar.xz"
CHECKSUM_SHA256="60576f16773789596b612969bbbf3a2762ef1cbab21bc19565483310e63d25be"
SOURCE_DIR="konversation-$portVersion"
PATCHES="konversation-$portVersion.patchset"
ADDITIONAL_FILES="konversation.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandBinDir=$binDir
commandSuffix=$secondaryArchSuffix
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
konversation$secondaryArchSuffix = $portVersion
cmd:konversation$commandSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libdbus_1$secondaryArchSuffix
lib:libKF5Attica$secondaryArchSuffix
lib:libKF5Auth$secondaryArchSuffix
lib:libKF5Archive$secondaryArchSuffix
lib:libKF5Bookmarks$secondaryArchSuffix
lib:libKF5Codecs$secondaryArchSuffix
lib:libKF5Completion$secondaryArchSuffix
lib:libKF5ConfigCore$secondaryArchSuffix
lib:libKF5ConfigGui$secondaryArchSuffix
lib:libKF5ConfigWidgets$secondaryArchSuffix
lib:libKF5CoreAddons$secondaryArchSuffix
lib:libKF5Crash$secondaryArchSuffix
lib:libKF5DBusAddons$secondaryArchSuffix
lib:libKF5DocTools$secondaryArchSuffix
lib:libKF5Emoticons$secondaryArchSuffix
lib:libKF5GlobalAccel$secondaryArchSuffix
lib:libKF5GuiAddons$secondaryArchSuffix
lib:libKF5I18n$secondaryArchSuffix
lib:libKF5IconThemes$secondaryArchSuffix
lib:libKF5IdleTime$secondaryArchSuffix
lib:libKF5ItemViews$secondaryArchSuffix
lib:libKF5ItemModels$secondaryArchSuffix
lib:libKF5JobWidgets$secondaryArchSuffix
lib:libKF5KCMUtils$secondaryArchSuffix
lib:libKF5KIOCore$secondaryArchSuffix
lib:libKF5NewStuff$secondaryArchSuffix
lib:libKF5Notifications$secondaryArchSuffix
lib:libKF5NotifyConfig$secondaryArchSuffix
lib:libKF5Parts$secondaryArchSuffix
lib:libKF5Service$secondaryArchSuffix
lib:libKF5Solid$secondaryArchSuffix
lib:libKF5SonnetUi$secondaryArchSuffix
lib:libKF5TextWidgets$secondaryArchSuffix
lib:libKF5Wallet$secondaryArchSuffix
lib:libKF5WidgetsAddons$secondaryArchSuffix
lib:libKF5WindowSystem$secondaryArchSuffix
lib:libKF5XmlGui$secondaryArchSuffix
lib:libqca_qt5$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix
devel:libKF5Auth$secondaryArchSuffix
devel:libKF5Archive$secondaryArchSuffix
devel:libKF5Attica$secondaryArchSuffix
devel:libKF5Bookmarks$secondaryArchSuffix
devel:libKF5Codecs$secondaryArchSuffix
devel:libKF5Completion$secondaryArchSuffix
devel:libKF5ConfigCore$secondaryArchSuffix
devel:libKF5ConfigGui$secondaryArchSuffix
devel:libKF5ConfigWidgets$secondaryArchSuffix
devel:libKF5CoreAddons$secondaryArchSuffix
devel:libKF5Crash$secondaryArchSuffix
devel:libKF5DBusAddons$secondaryArchSuffix
devel:libKF5DocTools$secondaryArchSuffix
devel:libKF5Emoticons$secondaryArchSuffix
devel:libKF5GlobalAccel$secondaryArchSuffix
devel:libKF5GuiAddons$secondaryArchSuffix
devel:libKF5I18n$secondaryArchSuffix
devel:libKF5IconThemes$secondaryArchSuffix
devel:libKF5IdleTime$secondaryArchSuffix
devel:libKF5ItemViews$secondaryArchSuffix
devel:libKF5ItemModels$secondaryArchSuffix
devel:libKF5JobWidgets$secondaryArchSuffix
devel:libKF5KCMUtils$secondaryArchSuffix
devel:libKF5KIOCore$secondaryArchSuffix
devel:libKF5NewStuff$secondaryArchSuffix
devel:libKF5Notifications$secondaryArchSuffix
devel:libKF5NotifyConfig$secondaryArchSuffix
devel:libKF5Parts$secondaryArchSuffix
devel:libKF5Purpose$secondaryArchSuffix
devel:libKF5Service$secondaryArchSuffix
devel:libKF5Solid$secondaryArchSuffix
devel:libKF5SonnetUi$secondaryArchSuffix
devel:libKF5TextWidgets$secondaryArchSuffix
devel:libKF5Wallet$secondaryArchSuffix
devel:libKF5WidgetsAddons$secondaryArchSuffix
devel:libKF5WindowSystem$secondaryArchSuffix
devel:libKF5XmlGui$secondaryArchSuffix
devel:libqca$secondaryArchSuffix >= 2
devel:libQt5Core$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:make
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:qmake$secondaryArchSuffix >= 5
cmd:qdbuscpp2xml$secondaryArchSuffix >= 5
"
BUILD()
{
# disable docs generation
sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt
sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt
cmake -Bbuild -S. \
-DCMAKE_BUILD_TYPE=Release \
$cmakeDirArgs \
-DCMAKE_INSTALL_BINDIR=$commandBinDir \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake
make -Cbuild $jobArgs
}
INSTALL()
{
make -Cbuild install
rm -rf $dataDir/{applications,icons,metainfo}
local APP_SIGNATURE="application/x-vnd.kde-konversation"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
$portDir/additional-files/konversation.rdef.in > konversation.rdef
addResourcesToBinaries konversation.rdef $commandBinDir/konversation
addAppDeskbarSymlink $commandBinDir/konversation Konversation
}

View File

@@ -0,0 +1,160 @@
SUMMARY="User friendly IRC Client"
DESCRIPTION="Konversation is a user-friendly Internet Relay Chat (IRC) client which provides \
easy access to standard IRC networks such as Libera, where the KDE IRC channels can be found."
HOMEPAGE="https://konversation.kde.org/"
COPYRIGHT="2010-2024 KDE Organisation"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/konversation-$portVersion.tar.xz"
CHECKSUM_SHA256="1e8080a78372bc09e812c9278550763b8328f7aa78fcb3c93f04e492a5a3cd88"
SOURCE_DIR="konversation-$portVersion"
PATCHES="konversation-$portVersion.patchset"
ADDITIONAL_FILES="konversation.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandBinDir=$binDir
commandSuffix=$secondaryArchSuffix
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
konversation$secondaryArchSuffix = $portVersion
cmd:konversation$commandSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libdbus_1$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libqca_qt6$secondaryArchSuffix
# KF6
lib:libKF6Attica$secondaryArchSuffix
lib:libKF6Archive$secondaryArchSuffix
lib:libKF6Bookmarks$secondaryArchSuffix
lib:libKF6Codecs$secondaryArchSuffix
lib:libKF6ColorScheme$secondaryArchSuffix
lib:libKF6Completion$secondaryArchSuffix
lib:libKF6ConfigCore$secondaryArchSuffix
lib:libKF6ConfigWidgets$secondaryArchSuffix
lib:libKF6CoreAddons$secondaryArchSuffix
lib:libKF6Crash$secondaryArchSuffix
lib:libKF6DBusAddons$secondaryArchSuffix
lib:libKF6I18n$secondaryArchSuffix
lib:libKF6IdleTime$secondaryArchSuffix
lib:libKF6ItemViews$secondaryArchSuffix
lib:libKF6JobWidgets$secondaryArchSuffix
lib:libKF6KIOCore$secondaryArchSuffix
lib:libKF6NewStuffCore$secondaryArchSuffix
lib:libKF6Notifications$secondaryArchSuffix
lib:libKF6NotifyConfig$secondaryArchSuffix
lib:libKF6Parts$secondaryArchSuffix
lib:libKF6Service$secondaryArchSuffix
lib:libKF6Solid$secondaryArchSuffix
lib:libKF6SonnetUi$secondaryArchSuffix
lib:libKF6StatusNotifierItem$secondaryArchSuffix
lib:libKF6TextWidgets$secondaryArchSuffix
lib:libKF6Wallet$secondaryArchSuffix
lib:libKF6WidgetsAddons$secondaryArchSuffix
lib:libKF6WindowSystem$secondaryArchSuffix
lib:libKF6XmlGui$secondaryArchSuffix
# Qt6
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Core5Compat$secondaryArchSuffix
lib:libQt6DBus$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Multimedia$secondaryArchSuffix
lib:libQt6Network$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
lib:libQt6Xml$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libqca_qt6$secondaryArchSuffix
# KF6
extra_cmake_modules$secondaryArchSuffix
devel:libKF6Archive$secondaryArchSuffix
devel:libKF6Bookmarks$secondaryArchSuffix
devel:libKF6Codecs$secondaryArchSuffix
devel:libKF6ConfigCore$secondaryArchSuffix
devel:libKF6ConfigWidgets$secondaryArchSuffix
devel:libKF6CoreAddons$secondaryArchSuffix
devel:libKF6Crash$secondaryArchSuffix
devel:libKF6DBusAddons$secondaryArchSuffix
devel:libKF6DocTools$secondaryArchSuffix
devel:libKF6I18n$secondaryArchSuffix
devel:libKF6IdleTime$secondaryArchSuffix
devel:libKF6ItemViews$secondaryArchSuffix
devel:libKF6KIOCore$secondaryArchSuffix
devel:libKF6NewStuffCore$secondaryArchSuffix
devel:libKF6Notifications$secondaryArchSuffix
devel:libKF6NotifyConfig$secondaryArchSuffix
devel:libKF6Parts$secondaryArchSuffix
devel:libKF6StatusNotifierItem$secondaryArchSuffix
devel:libKF6TextWidgets$secondaryArchSuffix
devel:libKF6Wallet$secondaryArchSuffix
devel:libKF6WidgetsAddons$secondaryArchSuffix
devel:libKF6WindowSystem$secondaryArchSuffix
# Qt6
qt6_tools${secondaryArchSuffix}_devel
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Core5Compat$secondaryArchSuffix
devel:libQt6Multimedia$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:make
cmd:msgfmt$secondaryArchSuffix
cmd:msgmerge$secondaryArchSuffix
cmd:perl
cmd:pkg_config$secondaryArchSuffix
"
PATCH()
{
# disable docs generation
sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt
sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt
}
BUILD()
{
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
$cmakeDirArgs \
-DCMAKE_INSTALL_BINDIR=$commandBinDir \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
-DBUILD_TESTING=OFF
make -C build $jobArgs
}
INSTALL()
{
make -C build install
rm -rf $dataDir/{applications,icons,metainfo}
local APP_SIGNATURE="application/x-vnd.kde-konversation"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
$portDir/additional-files/konversation.rdef.in > konversation.rdef
addResourcesToBinaries konversation.rdef $commandBinDir/konversation
addAppDeskbarSymlink $commandBinDir/konversation Konversation
}
TEST()
{
ctest --test-dir build --output-on-failure
}

View File

@@ -1,56 +0,0 @@
From 0d42673c80d5f762ce09c6f1f251921052590a5d Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 19 May 2022 23:20:42 +1000
Subject: Fix build for haiku
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index 61413e1..919d019 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -25,4 +25,4 @@ install(PROGRAMS updaters/konversation-0.19-colors.pl
updaters/konversation-0.20-customfonts.pl
DESTINATION ${KDE_INSTALL_DATADIR}/kconf_update)
install(FILES org.kde.konversation.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
-install(FILES konversation_nicklist_theme.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR})
+install(FILES konversation_nicklist_theme.knsrc DESTINATION ${CMAKE_INSTALL_DATADIR}/knsrcfiles)
diff --git a/src/dcc/dcccommon.cpp b/src/dcc/dcccommon.cpp
index 5d93c74..f419caf 100644
--- a/src/dcc/dcccommon.cpp
+++ b/src/dcc/dcccommon.cpp
@@ -107,7 +107,7 @@ namespace Konversation
QHostAddress ip(address);
if (ip.protocol() == QAbstractSocket::IPv6Protocol)
{
-#ifndef Q_OS_WIN
+#if !defined(Q_OS_WIN) && !defined(Q_OS_HAIKU)
/* This is fucking ugly but there is no KDE way to do this yet :| -cartman */
struct ifreq ifr;
const QByteArray addressBa = Preferences::self()->dccIPv4FallbackIface().toLatin1();
--
2.43.2
From a26ae300680826892ff6a47dfb71151cf656a2f4 Mon Sep 17 00:00:00 2001
From: Schrijvers Luc <begasus@gmail.com>
Date: Wed, 15 May 2024 13:46:43 +0200
Subject: Link with libnetwork
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 76b3888..69afd93 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -361,6 +361,9 @@ endif ()
if (WIN32)
target_link_libraries(konversation ws2_32) # for symbols from winsock2.h: ntohl, etc.
endif()
+if (HAIKU)
+ target_link_libraries(konversation network) # for symbol from setsockopt
+endif()
set_target_properties(konversation PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/MacOSXBundleInfo.plist.in)
install(TARGETS konversation ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
--
2.43.2

View File

@@ -0,0 +1,36 @@
From 855ed856606687aff9763f3b47507ac24fc4bca7 Mon Sep 17 00:00:00 2001
From: Schrijvers Luc <begasus@gmail.com>
Date: Fri, 27 Dec 2024 16:58:54 +0100
Subject: Haiku build fixes
Co-authored-by: Gerasim Troeglazov <3dEyes@gmail.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fe16dc4..560b663 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -71,7 +71,7 @@ find_package(KF6 REQUIRED COMPONENTS
WindowSystem
)
-if(NOT WIN32)
+if(NOT WIN32 AND NOT HAIKU)
find_package(KF6 REQUIRED GlobalAccel)
endif()
set(HAVE_KGLOBALACCEL ${KF6GlobalAccel_FOUND})
diff --git a/src/dcc/dcccommon.cpp b/src/dcc/dcccommon.cpp
index 5d93c74..f419caf 100644
--- a/src/dcc/dcccommon.cpp
+++ b/src/dcc/dcccommon.cpp
@@ -107,7 +107,7 @@ namespace Konversation
QHostAddress ip(address);
if (ip.protocol() == QAbstractSocket::IPv6Protocol)
{
-#ifndef Q_OS_WIN
+#if !defined(Q_OS_WIN) && !defined(Q_OS_HAIKU)
/* This is fucking ugly but there is no KDE way to do this yet :| -cartman */
struct ifreq ifr;
const QByteArray addressBa = Preferences::self()->dccIPv4FallbackIface().toLatin1();
--
2.45.2