git: 0be255af9271 - main - devel/easy-profiler: New port: Library and tool for converting vertex formats
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 20 Jun 2022 05:57:22 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=0be255af9271989f53058b48e444fe2e8baf41aa
commit 0be255af9271989f53058b48e444fe2e8baf41aa
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-06-20 05:56:51 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-06-20 05:57:20 +0000
devel/easy-profiler: New port: Library and tool for converting vertex formats
---
devel/Makefile | 1 +
devel/easy-profiler/Makefile | 25 ++++++++++++++++++++++
devel/easy-profiler/distinfo | 3 +++
.../patch-easy__profiler__core_current__thread.h | 23 ++++++++++++++++++++
.../files/patch-profiler__gui_thread__pool.cpp | 11 ++++++++++
devel/easy-profiler/pkg-descr | 8 +++++++
devel/easy-profiler/pkg-plist | 23 ++++++++++++++++++++
7 files changed, 94 insertions(+)
diff --git a/devel/Makefile b/devel/Makefile
index 855bd8c7ec91..7d9bba5a542c 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -559,6 +559,7 @@
SUBDIR += dyncall
SUBDIR += e00compr
SUBDIR += eastl
+ SUBDIR += easy-profiler
SUBDIR += easyexif
SUBDIR += easygit
SUBDIR += easyloggingpp
diff --git a/devel/easy-profiler/Makefile b/devel/easy-profiler/Makefile
new file mode 100644
index 000000000000..cbb4fd46e2d5
--- /dev/null
+++ b/devel/easy-profiler/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= easy-profiler
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.1.0-41
+DISTVERSIONSUFFIX= -g3104dd4
+CATEGORIES= devel
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Library and tool for converting vertex formats
+
+LICENSE= APACHE20 MIT
+LICENSE_COMB= dual
+LICENSE_FILE_APACHE20= ${WRKSRC}/easy_profiler_core/LICENSE.APACHE
+LICENSE_FILE_MIT= ${WRKSRC}/easy_profiler_core/LICENSE.MIT
+
+USES= cmake:testing compiler:c++11-lang qt:5
+USE_QT= core gui widgets buildtools_build qmake_build
+
+USE_GITHUB= yes
+GH_ACCOUNT= yse
+GH_PROJECT= easy_profiler
+
+post-install:
+ @${RM} ${STAGEDIR}${PREFIX}/LICENSE.*
+
+.include <bsd.port.mk>
diff --git a/devel/easy-profiler/distinfo b/devel/easy-profiler/distinfo
new file mode 100644
index 000000000000..c77e3a5896a1
--- /dev/null
+++ b/devel/easy-profiler/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1655701621
+SHA256 (yse-easy_profiler-v2.1.0-41-g3104dd4_GH0.tar.gz) = a619d77cba16eb215b77dd336e4bc9fc24968a14b26f7bf71f9c23576c15a507
+SIZE (yse-easy_profiler-v2.1.0-41-g3104dd4_GH0.tar.gz) = 423101
diff --git a/devel/easy-profiler/files/patch-easy__profiler__core_current__thread.h b/devel/easy-profiler/files/patch-easy__profiler__core_current__thread.h
new file mode 100644
index 000000000000..723b6dbb2d11
--- /dev/null
+++ b/devel/easy-profiler/files/patch-easy__profiler__core_current__thread.h
@@ -0,0 +1,23 @@
+--- easy_profiler_core/current_thread.h.orig 2021-06-09 13:16:22 UTC
++++ easy_profiler_core/current_thread.h
+@@ -60,6 +60,10 @@ The Apache License, Version 2.0 (the "License");
+ # include <sys/syscall.h>
+ #endif
+
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <pthread_np.h>
++#endif
++
+ inline profiler::thread_id_t getCurrentThreadId()
+ {
+ #ifdef _WIN32
+@@ -76,6 +80,9 @@ inline profiler::thread_id_t getCurrentThreadId()
+ # endif
+ #elif defined(__QNX__)
+ EASY_THREAD_LOCAL static const profiler::thread_id_t _id = (profiler::thread_id_t)gettid();
++ return _id;
++#elif defined(__DragonFly__) || defined(__FreeBSD__)
++ EASY_THREAD_LOCAL static const profiler::thread_id_t _id = (profiler::thread_id_t)pthread_getthreadid_np();
+ return _id;
+ #else
+ EASY_THREAD_LOCAL static const profiler::thread_id_t _id = (profiler::thread_id_t)syscall(__NR_gettid);
diff --git a/devel/easy-profiler/files/patch-profiler__gui_thread__pool.cpp b/devel/easy-profiler/files/patch-profiler__gui_thread__pool.cpp
new file mode 100644
index 000000000000..8be92c738d6b
--- /dev/null
+++ b/devel/easy-profiler/files/patch-profiler__gui_thread__pool.cpp
@@ -0,0 +1,11 @@
+--- profiler_gui/thread_pool.cpp.orig 2022-06-20 05:17:12 UTC
++++ profiler_gui/thread_pool.cpp
+@@ -73,7 +73,7 @@ static void setLowestThreadPriority()
+ {
+ #ifdef _WIN32
+ SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_LOWEST);
+-#elif !defined(__APPLE__)
++#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__DragonFly__)
+ pthread_attr_t attr;
+ if (pthread_attr_init(&attr) == 0)
+ {
diff --git a/devel/easy-profiler/pkg-descr b/devel/easy-profiler/pkg-descr
new file mode 100644
index 000000000000..550cc403a18c
--- /dev/null
+++ b/devel/easy-profiler/pkg-descr
@@ -0,0 +1,8 @@
+Lightweight cross-platform profiler library for C++.
+
+You can profile any function in you code. Furthermore this library
+provide measuring time of any block of code. For example, information
+for 12 millions of blocks is using less than 300Mb of memory. Working
+profiler slows your application execution for only 1-2%.
+
+WWW: https://github.com/yse/easy_profiler
diff --git a/devel/easy-profiler/pkg-plist b/devel/easy-profiler/pkg-plist
new file mode 100644
index 000000000000..d7628cd29c7b
--- /dev/null
+++ b/devel/easy-profiler/pkg-plist
@@ -0,0 +1,23 @@
+bin/profiler_converter
+bin/profiler_gui
+include/easy/arbitrary_value.h
+include/easy/details/arbitrary_value_aux.h
+include/easy/details/arbitrary_value_public_types.h
+include/easy/details/easy_compiler_support.h
+include/easy/details/profiler_aux.h
+include/easy/details/profiler_colors.h
+include/easy/details/profiler_in_use.h
+include/easy/details/profiler_public_types.h
+include/easy/easy_net.h
+include/easy/easy_protocol.h
+include/easy/easy_socket.h
+include/easy/profiler.h
+include/easy/reader.h
+include/easy/serialized_block.h
+include/easy/utility.h
+include/easy/writer.h
+lib/cmake/easy_profiler/easy_profilerConfig.cmake
+lib/cmake/easy_profiler/easy_profilerConfigVersion.cmake
+lib/cmake/easy_profiler/easy_profilerTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/easy_profiler/easy_profilerTargets.cmake
+lib/libeasy_profiler.so