From 8768fbb78355f72188395ed0f89ae8b8f5ddecfc Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Wed, 16 Aug 2023 16:52:42 +0200 Subject: [PATCH] science/plotjuggler: New port Add new port for PlotJuggler, a time series data visualization tool. --- science/Makefile | 1 + science/plotjuggler/Makefile | 25 +++++++ science/plotjuggler/distinfo | 3 + ...rdparty_Qt-Advanced-Docking_CMakeLists.txt | 11 +++ ...cking_src_linux_FloatingWidgetTitleBar.cpp | 11 +++ science/plotjuggler/pkg-descr | 13 ++++ science/plotjuggler/pkg-plist | 69 +++++++++++++++++++ 7 files changed, 133 insertions(+) create mode 100644 science/plotjuggler/Makefile create mode 100644 science/plotjuggler/distinfo create mode 100644 science/plotjuggler/files/patch-3rdparty_Qt-Advanced-Docking_CMakeLists.txt create mode 100644 science/plotjuggler/files/patch-3rdparty_Qt-Advanced-Docking_src_linux_FloatingWidgetTitleBar.cpp create mode 100644 science/plotjuggler/pkg-descr create mode 100644 science/plotjuggler/pkg-plist diff --git a/science/Makefile b/science/Makefile index 9d609cb93..cd5f342c6 100644 --- a/science/Makefile +++ b/science/Makefile @@ -268,6 +268,7 @@ SUBDIR += pastix SUBDIR += pcmsolver SUBDIR += phonopy + SUBDIR += plotjuggler SUBDIR += plumed SUBDIR += pnetcdf SUBDIR += polytope diff --git a/science/plotjuggler/Makefile b/science/plotjuggler/Makefile new file mode 100644 index 000000000..8834fee87 --- /dev/null +++ b/science/plotjuggler/Makefile @@ -0,0 +1,25 @@ +PORTNAME= plotjuggler +DISTVERSION= 3.7.1 +CATEGORIES= science math + +MAINTAINER= jbo@insane.engineer +COMMENT= Time Series Visualization Tool +WWW= https://plotjuggler.io + +LICENSE= MPL20 +LICENSE_FILE= ${WRKSRC}/LICENSE.md + +RUN_DEPENDS= zstd>0:archivers/zstd + +USES= cmake compiler:c++17-lang desktop-file-utils qt:5 + +USE_GITHUB= yes +GH_ACCOUNT= facontidavide +GH_PROJECT= PlotJuggler + +USE_QT= buildtools:build qmake:build concurrent core gui network opengl \ + printsupport svg websockets widgets x11extras xml + +CMAKE_OFF= ENABLE_ASAN BUILD_AS_SHARED + +.include diff --git a/science/plotjuggler/distinfo b/science/plotjuggler/distinfo new file mode 100644 index 000000000..70072caab --- /dev/null +++ b/science/plotjuggler/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1692188205 +SHA256 (facontidavide-PlotJuggler-3.7.1_GH0.tar.gz) = 3260f4c3cc5c562e99bc65920f9e4fc072ad2621a02e0a9cfe74b1706b7d767b +SIZE (facontidavide-PlotJuggler-3.7.1_GH0.tar.gz) = 12094220 diff --git a/science/plotjuggler/files/patch-3rdparty_Qt-Advanced-Docking_CMakeLists.txt b/science/plotjuggler/files/patch-3rdparty_Qt-Advanced-Docking_CMakeLists.txt new file mode 100644 index 000000000..f8c433482 --- /dev/null +++ b/science/plotjuggler/files/patch-3rdparty_Qt-Advanced-Docking_CMakeLists.txt @@ -0,0 +1,11 @@ +--- 3rdparty/Qt-Advanced-Docking/CMakeLists.txt.orig 2023-08-16 12:18:28 UTC ++++ 3rdparty/Qt-Advanced-Docking/CMakeLists.txt +@@ -67,7 +67,7 @@ target_link_libraries(qt_advanced_docking PUBLIC Qt5:: + + if(UNIX AND NOT APPLE) + target_link_libraries(qt_advanced_docking PUBLIC Qt5::X11Extras) +- target_link_libraries(qt_advanced_docking PRIVATE xcb) ++ #target_link_libraries(qt_advanced_docking PRIVATE xcb) + endif() + + set_target_properties(qt_advanced_docking PROPERTIES diff --git a/science/plotjuggler/files/patch-3rdparty_Qt-Advanced-Docking_src_linux_FloatingWidgetTitleBar.cpp b/science/plotjuggler/files/patch-3rdparty_Qt-Advanced-Docking_src_linux_FloatingWidgetTitleBar.cpp new file mode 100644 index 000000000..4295a531b --- /dev/null +++ b/science/plotjuggler/files/patch-3rdparty_Qt-Advanced-Docking_src_linux_FloatingWidgetTitleBar.cpp @@ -0,0 +1,11 @@ +--- 3rdparty/Qt-Advanced-Docking/src/linux/FloatingWidgetTitleBar.cpp.orig 2023-08-16 12:18:56 UTC ++++ 3rdparty/Qt-Advanced-Docking/src/linux/FloatingWidgetTitleBar.cpp +@@ -194,7 +194,7 @@ void CFloatingWidgetTitleBar::mouseMoveEvent(QMouseEve + { + if(d->FloatingWidget->isMaximized()) + { +- d->FloatingWidget->showNormal(true); ++ d->FloatingWidget->showNormal(); + } + d->FloatingWidget->moveFloating(); + Super::mouseMoveEvent(ev); diff --git a/science/plotjuggler/pkg-descr b/science/plotjuggler/pkg-descr new file mode 100644 index 000000000..b9c07631b --- /dev/null +++ b/science/plotjuggler/pkg-descr @@ -0,0 +1,13 @@ +PlotJuggler is a tool to visualize time series that is fast, powerful and +intuitive. + +Noteworthy features: + - Simple Drag & Drop user interface. + - Load data from file. + - Connect to live streaming of data. + - Save the visualization layout and configurations to re-use them later. + - Fast OpenGL visualization. + - Can handle thousands of timeseries and millions of data points. + - Transform your data using a simple editor: derivative, moving average, + integral, etc. + - PlotJuggler can be easily extended using plugins. diff --git a/science/plotjuggler/pkg-plist b/science/plotjuggler/pkg-plist new file mode 100644 index 000000000..d5a70e59c --- /dev/null +++ b/science/plotjuggler/pkg-plist @@ -0,0 +1,69 @@ +bin/libDataLoadCSV.so +bin/libDataLoadMCAP.so +bin/libDataLoadULog.so +bin/libDataStreamSample.so +bin/libDataStreamUDP.so +bin/libDataStreamWebSocket.so +bin/libParserDataTamer.so +bin/libParserROS1.so +bin/libParserROS2.so +bin/libPublisherCSV.so +bin/libToolboxFFT.so +bin/libToolboxLuaEditor.so +bin/libToolboxQuaternion.so +bin/plotjuggler +include/PlotJuggler/alphanum.hpp +include/PlotJuggler/dataloader_base.h +include/PlotJuggler/datastreamer_base.h +include/PlotJuggler/fmt/args.h +include/PlotJuggler/fmt/chrono.h +include/PlotJuggler/fmt/color.h +include/PlotJuggler/fmt/compile.h +include/PlotJuggler/fmt/core.h +include/PlotJuggler/fmt/format-inl.h +include/PlotJuggler/fmt/format.h +include/PlotJuggler/fmt/locale.h +include/PlotJuggler/fmt/os.h +include/PlotJuggler/fmt/ostream.h +include/PlotJuggler/fmt/printf.h +include/PlotJuggler/fmt/ranges.h +include/PlotJuggler/fmt/xchar.h +include/PlotJuggler/messageparser_base.h +include/PlotJuggler/pj_plugin.h +include/PlotJuggler/plotdata.h +include/PlotJuggler/plotdatabase.h +include/PlotJuggler/plotwidget_base.h +include/PlotJuggler/reactive_function.h +include/PlotJuggler/ring_span.hpp +include/PlotJuggler/special_messages.h +include/PlotJuggler/statepublisher_base.h +include/PlotJuggler/string_ref_sso.h +include/PlotJuggler/stringseries.h +include/PlotJuggler/svg_util.h +include/PlotJuggler/timeseries.h +include/PlotJuggler/toolbox_base.h +include/PlotJuggler/transform_function.h +include/PlotJuggler/util/delayed_callback.hpp +include/fastcdr/Cdr.h +include/fastcdr/FastBuffer.h +include/fastcdr/FastCdr.h +include/fastcdr/config.h +include/fastcdr/eProsima_auto_link.h +include/fastcdr/exceptions/BadParamException.h +include/fastcdr/exceptions/Exception.h +include/fastcdr/exceptions/NotEnoughMemoryException.h +include/fastcdr/fastcdr_dll.h +lib/cmake/fastcdr/fastcdr-config-version.cmake +lib/cmake/fastcdr/fastcdr-config.cmake +lib/cmake/fastcdr/fastcdr-static-targets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/fastcdr/fastcdr-static-targets.cmake +lib/cmake/plotjuggler/plotjugglerConfig.cmake +lib/cmake/plotjuggler/plotjugglerConfigVersion.cmake +lib/cmake/plotjuggler/plotjugglerTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/plotjuggler/plotjugglerTargets.cmake +lib/libfastcdr.a +lib/libplotjuggler_base.a +lib/libplotjuggler_qwt.a +share/applications/PlotJuggler.desktop +share/fastcdr/LICENSE +share/icons/plotjuggler.svg -- 2.41.0