git: 9910461e799b - main - devel/hotspot: New port: Perf GUI for performance analysis (needs mock 'perf' command)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 11 Jan 2023 20:08:47 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=9910461e799b8968fe72055183c76c9e7a053de8
commit 9910461e799b8968fe72055183c76c9e7a053de8
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-01-11 15:44:11 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-01-11 20:08:44 +0000
devel/hotspot: New port: Perf GUI for performance analysis (needs mock 'perf' command)
---
devel/Makefile | 1 +
devel/hotspot/Makefile | 34 ++++++++++++++++++++++
devel/hotspot/distinfo | 7 +++++
.../files/patch-cmake_FindQCustomPlot.cmake | 11 +++++++
devel/hotspot/pkg-descr | 4 +++
devel/hotspot/pkg-message | 10 +++++++
devel/hotspot/pkg-plist | 16 ++++++++++
7 files changed, 83 insertions(+)
diff --git a/devel/Makefile b/devel/Makefile
index fedee2639975..9c7bc9091d74 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -942,6 +942,7 @@
SUBDIR += horde-content
SUBDIR += horde-timeobjects
SUBDIR += horde-whups
+ SUBDIR += hotspot
SUBDIR += hp48cc
SUBDIR += hp48xgcc
SUBDIR += hpx
diff --git a/devel/hotspot/Makefile b/devel/hotspot/Makefile
new file mode 100644
index 000000000000..ffffd5b9569c
--- /dev/null
+++ b/devel/hotspot/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= hotspot
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.4.1
+CATEGORIES= devel
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Perf GUI for performance analysis (needs mock 'perf' command)
+WWW= https://github.com/KDAB/hotspot
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE.GPL.txt
+
+BUILD_DEPENDS= ${LOCALBASE}/lib/librustc_demangle.a:devel/rustc-demangle
+LIB_DEPENDS= libdw.so:devel/elfutils \
+ libQCustomPlot-qt5.so:graphics/qcustomplot-qt5 \
+ libkddockwidgets.so:x11-toolkits/kddockwidgets \
+ libzstd.so:archivers/zstd
+
+USES= cmake desktop-file-utils qt:5 kde:5 pkgconfig xorg
+USE_KDE= ecm \
+ archive auth bookmarks codecs completion config configwidgets coreaddons i18n iconthemes \
+ itemmodels itemviews jobwidgets kio notifications parts service solid sonnet syntaxhighlighting \
+ textwidgets threadweaver widgetsaddons windowsystem xmlgui
+USE_QT= concurrent core dbus gui network svg widgets x11extras xml buildtools:build qmake:build
+USE_XORG= x11
+
+USE_GITHUB= yes
+GH_ACCOUNT= KDAB
+GH_TUPLE= KDAB:perfparser:d84473c:perfparser/3rdparty/perfparser \
+ KDAB:PrefixTickLabels:1d56145:PrefixTickLabels/3rdparty/PrefixTickLabels
+
+CMAKE_ARGS= -DCMAKE_MODULE_PATH=${LOCALBASE}/share/ECM/find-modules
+
+.include <bsd.port.mk>
diff --git a/devel/hotspot/distinfo b/devel/hotspot/distinfo
new file mode 100644
index 000000000000..4bac38e4a78c
--- /dev/null
+++ b/devel/hotspot/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1673460439
+SHA256 (KDAB-hotspot-v1.4.1_GH0.tar.gz) = a6796d78a6ccdb0eee8aa695f874ab029654432cbdf6987e51c21b3549899d75
+SIZE (KDAB-hotspot-v1.4.1_GH0.tar.gz) = 3097651
+SHA256 (KDAB-perfparser-d84473c_GH0.tar.gz) = 90c8f69c78f03c3ccb27e6b8cdede6ea4f060e19288e01e57f10605298f89727
+SIZE (KDAB-perfparser-d84473c_GH0.tar.gz) = 2404216
+SHA256 (KDAB-PrefixTickLabels-1d56145_GH0.tar.gz) = 95d4b5057ab3581551f7623e7a0bf46bca7d790d56482da35e8450360f04e346
+SIZE (KDAB-PrefixTickLabels-1d56145_GH0.tar.gz) = 21423
diff --git a/devel/hotspot/files/patch-cmake_FindQCustomPlot.cmake b/devel/hotspot/files/patch-cmake_FindQCustomPlot.cmake
new file mode 100644
index 000000000000..af718e130363
--- /dev/null
+++ b/devel/hotspot/files/patch-cmake_FindQCustomPlot.cmake
@@ -0,0 +1,11 @@
+--- cmake/FindQCustomPlot.cmake.orig 2022-12-21 10:52:32 UTC
++++ cmake/FindQCustomPlot.cmake
+@@ -32,7 +32,7 @@
+
+
+ find_library(QCustomPlot_LIBRARY
+- NAMES qcustomplot qcustomplot-qt5
++ NAMES QCustomPlot-qt5
+ )
+ set(QCustomPlot_LIBRARIES "${QCustomPlot_LIBRARY}")
+
diff --git a/devel/hotspot/pkg-descr b/devel/hotspot/pkg-descr
new file mode 100644
index 000000000000..2248fd9c4001
--- /dev/null
+++ b/devel/hotspot/pkg-descr
@@ -0,0 +1,4 @@
+The hotspot project is an effort to create a standalone GUI for performance
+data. The first goal is to provide a UI like KCachegrind around Linux perf.
+In the future various other performance data formats are planned to be
+supported.
diff --git a/devel/hotspot/pkg-message b/devel/hotspot/pkg-message
new file mode 100644
index 000000000000..fb80bc87f6e4
--- /dev/null
+++ b/devel/hotspot/pkg-message
@@ -0,0 +1,10 @@
+[
+{ type: install
+ message: <<EOM
+Currently hotspot can only be useful if the mock 'perf' command is
+provided that would present performance data in perf format.
+
+This is probably not hard at a basic level.
+EOM
+}
+]
diff --git a/devel/hotspot/pkg-plist b/devel/hotspot/pkg-plist
new file mode 100644
index 000000000000..a0449b40a760
--- /dev/null
+++ b/devel/hotspot/pkg-plist
@@ -0,0 +1,16 @@
+bin/hotspot
+lib/libexec/elevate_perf_privileges.sh
+lib/libexec/hotspot-perfparser
+lib/libexec/kauth/hotspot-auth-helper
+share/applications/com.kdab.hotspot.desktop
+share/dbus-1/system-services/com.kdab.hotspot.perf.service
+share/dbus-1/system.d/com.kdab.hotspot.perf.conf
+share/icons/hicolor/128x128/apps/hotspot.png
+share/icons/hicolor/16x16/apps/hotspot.png
+share/icons/hicolor/22x22/apps/hotspot.png
+share/icons/hicolor/32x32/apps/hotspot.png
+share/icons/hicolor/48x48/apps/hotspot.png
+share/icons/hicolor/64x64/apps/hotspot.png
+share/knotifications5/hotspot.notifyrc
+share/metainfo/com.kdab.Hotspot.appdata.xml
+share/polkit-1/actions/com.kdab.hotspot.perf.policy