mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-07 07:28:57 +02:00
156 lines
5.3 KiB
Bash
156 lines
5.3 KiB
Bash
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-2022 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="aed09ea5dc01ace24c76ed69edef5111c47f53992ba45896365b53cd3fc8890d"
|
|
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 >= 5.93
|
|
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
|
|
}
|