kcachegrind, bump to version 24.12.3, switch to KF6 (#12020)

This commit is contained in:
Schrijvers Luc
2025-03-19 16:56:03 +00:00
committed by GitHub
parent abe6875b76
commit c41a6aa393
4 changed files with 207 additions and 261 deletions

View File

@@ -1,155 +0,0 @@
SUMMARY="A profile data visualization tool"
DESCRIPTION="KCachegrind is a profile data visualization tool, used to determine \
the most time consuming parts in the execution of a program.
Features:
* KCachegrind visualizes profiles (i.e. runtime characteristics) of applications in \
various ways, including call graph vizualisations and source/disassembler annotation.
* It can load profiles generated by the cache simulation/call tracer Calltree, a \
Valgrind tool. Thus, profiling does not need any preparation, can cope with shared \
libraries and plugin architectures, and does not influence the measuring itself.
* Converter scripts for OProfile, Perl, and PHP.
* Switching between multiple visualization layouts.
* Call graph can be exported as image (PNG).
* Simultaneous display of 2 event types in Call and Annotation View."
HOMEPAGE="https://apps.kde.org/kcachegrind/"
COPYRIGHT="2010-2024 KDE Organisation"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/kcachegrind-$portVersion.tar.xz"
CHECKSUM_SHA256="056687b7adb0049db0503738cf95a7051f3b889b3313fa8b78dc7d03c3dbb7b6"
SOURCE_DIR="kcachegrind-$portVersion"
PATCHES="kcachegrind-$portVersion.patchset"
ADDITIONAL_FILES="kcachegrind.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
kcachegrind$secondaryArchSuffix = $portVersion
app:KCachegrind = $portVersion
cmd:cgview${commandSuffix} = $portVersion
cmd:dprof2calltree${commandSuffix} = $portVersion
cmd:hotshot2calltree${commandSuffix} = $portVersion
cmd:kcachegrind${commandSuffix} = $portVersion
cmd:memprof2calltree${commandSuffix} = $portVersion
cmd:op2calltree${commandSuffix} = $portVersion
cmd:pprof2calltree${commandSuffix} = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libKF5Archive$secondaryArchSuffix
lib:libKF5Auth$secondaryArchSuffix
lib:libKF5Bookmarks$secondaryArchSuffix
lib:libKF5Codecs$secondaryArchSuffix
lib:libKF5Completion$secondaryArchSuffix
lib:libKF5ConfigCore$secondaryArchSuffix
lib:libKF5ConfigWidgets$secondaryArchSuffix
lib:libKF5CoreAddons$secondaryArchSuffix
lib:libKF5Crash$secondaryArchSuffix
lib:libKF5DocTools$secondaryArchSuffix
lib:libKF5I18n$secondaryArchSuffix
lib:libKF5IconThemes$secondaryArchSuffix
lib:libKF5ItemViews$secondaryArchSuffix
lib:libKF5JobWidgets$secondaryArchSuffix
lib:libKF5KIOCore$secondaryArchSuffix
lib:libKF5Parts$secondaryArchSuffix
lib:libKF5Service$secondaryArchSuffix
lib:libKF5Solid$secondaryArchSuffix
lib:libKF5SonnetCore$secondaryArchSuffix
lib:libKF5TextWidgets$secondaryArchSuffix
lib:libKF5WidgetsAddons$secondaryArchSuffix
lib:libKF5WindowSystem$secondaryArchSuffix
lib:libKF5XmlGui$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix
devel:libKF5Archive$secondaryArchSuffix
devel:libKF5Auth$secondaryArchSuffix
devel:libKF5Bookmarks$secondaryArchSuffix
devel:libKF5Codecs$secondaryArchSuffix
devel:libKF5Completion$secondaryArchSuffix
devel:libKF5ConfigCore$secondaryArchSuffix
devel:libKF5ConfigWidgets$secondaryArchSuffix
devel:libKF5CoreAddons$secondaryArchSuffix
devel:libKF5Crash$secondaryArchSuffix
devel:libKF5DocTools$secondaryArchSuffix
devel:libKF5I18n$secondaryArchSuffix
devel:libKF5IconThemes$secondaryArchSuffix
devel:libKF5ItemViews$secondaryArchSuffix
devel:libKF5JobWidgets$secondaryArchSuffix
devel:libKF5KIOCore$secondaryArchSuffix
devel:libKF5Parts$secondaryArchSuffix
devel:libKF5Service$secondaryArchSuffix
devel:libKF5Solid$secondaryArchSuffix
devel:libKF5SonnetCore$secondaryArchSuffix
devel:libKF5TextWidgets$secondaryArchSuffix
devel:libKF5WidgetsAddons$secondaryArchSuffix
devel:libKF5WindowSystem$secondaryArchSuffix
devel:libKF5XmlGui$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
sed -e '/add_subdirectory( doc )/ s/^#*/#/' -i CMakeLists.txt
sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt
mkdir -p build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$prefix \
-DCMAKE_INSTALL_BINDIR=$commandBinDir \
-DSHARE_INSTALL_PREFIX=$dataDir \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
make $jobArgs
}
INSTALL()
{
cd build
make install
mkdir -p $appsDir
mv $commandBinDir/kcachegrind $appsDir/KCachegrind
ln -s $appsDir/KCachegrind $commandBinDir/kcachegrind
cp bin/cgview $commandBinDir
local APP_SIGNATURE="application/x-vnd.kde-kcachegrind"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/kcachegrind.rdef.in > kcachegrind.rdef
addResourcesToBinaries kcachegrind.rdef $appsDir/KCachegrind
addAppDeskbarSymlink $appsDir/KCachegrind
}

View File

@@ -0,0 +1,165 @@
SUMMARY="A profile data visualization tool"
DESCRIPTION="KCachegrind is a profile data visualization tool, used to determine \
the most time consuming parts in the execution of a program.
Features:
* KCachegrind visualizes profiles (i.e. runtime characteristics) of applications in \
various ways, including call graph vizualisations and source/disassembler annotation.
* It can load profiles generated by the cache simulation/call tracer Calltree, a \
Valgrind tool. Thus, profiling does not need any preparation, can cope with shared \
libraries and plugin architectures, and does not influence the measuring itself.
* Converter scripts for OProfile, Perl, and PHP.
* Switching between multiple visualization layouts.
* Call graph can be exported as image (PNG).
* Simultaneous display of 2 event types in Call and Annotation View."
HOMEPAGE="https://apps.kde.org/kcachegrind/"
COPYRIGHT="2010-2025 KDE Organisation"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/kcachegrind-$portVersion.tar.xz"
CHECKSUM_SHA256="f5d86431daf379d681bbfe8f97f6743e13809db3753831c58311c809b3196ac9"
SOURCE_DIR="kcachegrind-$portVersion"
PATCHES="kcachegrind-$portVersion.patchset"
ADDITIONAL_FILES="kcachegrind.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
kcachegrind$secondaryArchSuffix = $portVersion
cmd:dprof2calltree$commandSuffix = $portVersion
cmd:hotshot2calltree$commandSuffix = $portVersion
cmd:kcachegrind$commandSuffix = $portVersion
cmd:memprof2calltree$commandSuffix = $portVersion
cmd:op2calltree$commandSuffix = $portVersion
cmd:pprof2calltree$commandSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
# KF6
lib:libKF6Archive$secondaryArchSuffix
lib:libKF6AuthCore$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:libKF6DocTools$secondaryArchSuffix
lib:libKF6GuiAddons$secondaryArchSuffix
lib:libKF6I18n$secondaryArchSuffix
lib:libKF6IconThemes$secondaryArchSuffix
lib:libKF6ItemViews$secondaryArchSuffix
lib:libKF6JobWidgets$secondaryArchSuffix
lib:libKF6KIOCore$secondaryArchSuffix
lib:libKF6Parts$secondaryArchSuffix
lib:libKF6Service$secondaryArchSuffix
lib:libKF6Solid$secondaryArchSuffix
lib:libKF6SonnetCore$secondaryArchSuffix
lib:libKF6TextWidgets$secondaryArchSuffix
lib:libKF6WidgetsAddons$secondaryArchSuffix
lib:libKF6WindowSystem$secondaryArchSuffix
lib:libKF6XmlGui$secondaryArchSuffix
# Qt6
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
qt6_tools${secondaryArchSuffix}_devel
# KF6
extra_cmake_modules$secondaryArchSuffix
devel:libKF6Archive$secondaryArchSuffix
devel:libKF6AuthCore$secondaryArchSuffix
devel:libKF6Bookmarks$secondaryArchSuffix
devel:libKF6Codecs$secondaryArchSuffix
devel:libKF6ColorScheme$secondaryArchSuffix
devel:libKF6Completion$secondaryArchSuffix
devel:libKF6ConfigCore$secondaryArchSuffix
devel:libKF6ConfigWidgets$secondaryArchSuffix
devel:libKF6CoreAddons$secondaryArchSuffix
devel:libKF6Crash$secondaryArchSuffix
devel:libKF6DbusAddons$secondaryArchSuffix
devel:libKF6DocTools$secondaryArchSuffix
devel:libKF6GuiAddons$secondaryArchSuffix
devel:libKF6I18n$secondaryArchSuffix
devel:libKF6IconThemes$secondaryArchSuffix
devel:libKF6ItemViews$secondaryArchSuffix
devel:libKF6JobWidgets$secondaryArchSuffix
devel:libKF6KIOCore$secondaryArchSuffix
devel:libKF6Parts$secondaryArchSuffix
devel:libKF6Service$secondaryArchSuffix
devel:libKF6Solid$secondaryArchSuffix
devel:libKF6SonnetCore$secondaryArchSuffix
devel:libKF6TextWidgets$secondaryArchSuffix
devel:libKF6WidgetsAddons$secondaryArchSuffix
devel:libKF6WindowSystem$secondaryArchSuffix
devel:libKF6XmlGui$secondaryArchSuffix
# Qt6
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Qml$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:make
cmd:msgfmt$secondaryArchSuffix
cmd:msgmerge$secondaryArchSuffix
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
# remove dbus service
sed -e '/KDBusService service(KDBusService::Multiple);/d' -i kcachegrind/main.cpp
}
BUILD()
{
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
$cmakeDirArgs \
-DCMAKE_INSTALL_BINDIR=$commandBinDir \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake
make -C build $jobArgs
}
INSTALL()
{
make -Cbuild install
# cleanup
rm -rf $dataDir/{applications,icons,metainfo}
local APP_SIGNATURE="application/x-vnd.kde-kcachegrind"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/kcachegrind.rdef.in > kcachegrind.rdef
addResourcesToBinaries kcachegrind.rdef $commandBinDir/kcachegrind
addAppDeskbarSymlink $commandBinDir/kcachegrind KCachegrind
}

View File

@@ -1,106 +0,0 @@
From 9b836fa41f439d5039d26b4bef5d5c705c4722a5 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 4 Mar 2024 20:14:38 +1000
Subject: Remove dbus
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a68b5d0..32d6c8b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -32,7 +32,7 @@ else()
endif()
-find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED Core DBus Gui Widgets)
+find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED Core Gui Widgets)
find_package(KF${KF_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED
Archive
@@ -43,7 +43,6 @@ find_package(KF${KF_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED
I18n
Config
KIO
- DBusAddons
)
add_definitions(
diff --git a/kcachegrind/CMakeLists.txt b/kcachegrind/CMakeLists.txt
index 2020634..a807fc2 100644
--- a/kcachegrind/CMakeLists.txt
+++ b/kcachegrind/CMakeLists.txt
@@ -34,7 +34,6 @@ set(kcachegrind_LIBS
KF${KF_MAJOR_VERSION}::ConfigGui
KF${KF_MAJOR_VERSION}::KIOCore
KF${KF_MAJOR_VERSION}::KIOWidgets
- KF${KF_MAJOR_VERSION}::DBusAddons
)
target_link_libraries(kcachegrind core views ${kcachegrind_LIBS})
diff --git a/kcachegrind/main.cpp b/kcachegrind/main.cpp
index 536a175..814995e 100644
--- a/kcachegrind/main.cpp
+++ b/kcachegrind/main.cpp
@@ -19,7 +19,6 @@
#include <KAboutData>
#include <KLocalizedString>
#include <KSharedConfig>
-#include <KDBusService>
#include "kdeconfig.h"
#include "toplevel.h"
@@ -46,8 +45,6 @@ int main( int argc, char ** argv )
KAboutData::setApplicationData(aboutData);
QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("kcachegrind")));
- KDBusService service(KDBusService::Multiple);
-
// KGlobal::locale()->insertCatalog("kcachegrind_qt");
Loader::initLoaders();
--
2.43.2
From e914af111fecbf8af211d60008568b68c55c228c Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 4 Mar 2024 20:14:51 +1000
Subject: Use system int64, uint64 defs
diff --git a/libcore/subcost.h b/libcore/subcost.h
index c1df65e..4bc004b 100644
--- a/libcore/subcost.h
+++ b/libcore/subcost.h
@@ -14,7 +14,11 @@
#include "utils.h"
+#ifdef __HAIKU__
+#include <SupportDefs.h>
+#else
typedef unsigned long long uint64;
+#endif
/**
* Cost event counter, simple wrapper around a 64bit entity
diff --git a/libcore/utils.h b/libcore/utils.h
index 2eb267b..e827a4b 100644
--- a/libcore/utils.h
+++ b/libcore/utils.h
@@ -17,8 +17,12 @@
class QIODevice;
+#ifdef __HAIKU__
+#include <SupportDefs.h>
+#else
typedef unsigned long long uint64;
typedef long long int64;
+#endif
/**
* A simple, constant string class
--
2.43.2

View File

@@ -0,0 +1,42 @@
From 09022d283104af792f8ac839bcb708437ce78052 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 4 Mar 2024 20:14:51 +1000
Subject: Use system int64, uint64 defs
diff --git a/libcore/subcost.h b/libcore/subcost.h
index c1df65e..4bc004b 100644
--- a/libcore/subcost.h
+++ b/libcore/subcost.h
@@ -14,7 +14,11 @@
#include "utils.h"
+#ifdef __HAIKU__
+#include <SupportDefs.h>
+#else
typedef unsigned long long uint64;
+#endif
/**
* Cost event counter, simple wrapper around a 64bit entity
diff --git a/libcore/utils.h b/libcore/utils.h
index 2eb267b..e827a4b 100644
--- a/libcore/utils.h
+++ b/libcore/utils.h
@@ -17,8 +17,12 @@
class QIODevice;
+#ifdef __HAIKU__
+#include <SupportDefs.h>
+#else
typedef unsigned long long uint64;
typedef long long int64;
+#endif
/**
* A simple, constant string class
--
2.48.1