diff --git a/audio/polyphone/Makefile b/audio/polyphone/Makefile index fc6d9072c7a4..a22c4f9a019b 100644 --- a/audio/polyphone/Makefile +++ b/audio/polyphone/Makefile @@ -1,42 +1,42 @@ PORTNAME= polyphone DISTVERSION= 2.3.0 PORTREVISION= 6 CATEGORIES= audio MAINTAINER= yuri@FreeBSD.org COMMENT= Graphical user interface for editing soundfont (sf2 and sfz) files WWW= https://www.polyphone-soundfonts.com/ LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/../LICENSE.txt LIB_DEPENDS= libFLAC.so:audio/flac \ libjack.so:audio/jack \ libogg.so:audio/libogg \ libportaudio.so:audio/portaudio \ - libQCustomPlot-qt5.so:graphics/qcustomplot \ + libQCustomPlot-qt5.so:graphics/qcustomplot@qt5 \ librtmidi.so:audio/rtmidi \ libstk.so:audio/stk \ libvorbisfile.so:audio/libvorbis USES= compiler:c++11-lang desktop-file-utils dos2unix gl gnome pkgconfig qmake:outsource qt:5 shared-mime-info ssl xorg DOS2UNIX_FILES= polyphone.pro \ editor/graphics/graphiquefourier.cpp \ editor/tree/treeitemdelegate.cpp USE_GL= gl USE_QT= core concurrent gui network printsupport svg widgets buildtools:build linguisttools:build qmake:build USE_GNOME= glib20 USE_CXXSTD= c++11 USE_GITHUB= yes GH_ACCOUNT= davy7125 CXXFLAGS+= -D__UNIX_JACK__ LIBS+= -lssl -lcrypto WRKSRC_SUBDIR= sources post-extract: # unbundle @${RM} -r ${WRKSRC}/lib/_option_qcustomplot ${WRKSRC}/lib/_option_rtmidi ${WRKSRC}/lib/_option_stk .include diff --git a/devel/hotspot/Makefile b/devel/hotspot/Makefile index 9160d8cc51d4..ccacf5f4163c 100644 --- a/devel/hotspot/Makefile +++ b/devel/hotspot/Makefile @@ -1,37 +1,37 @@ PORTNAME= hotspot DISTVERSIONPREFIX= v DISTVERSION= 1.4.1 PORTREVISION= 3 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 \ + 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 PORTSCOUT= limit:^.*[0-9]\.[0-9].*$$ # prevent tags like 'continuous' .include diff --git a/graphics/qcustomplot/Makefile b/graphics/qcustomplot/Makefile index e55b7be07c25..9b70a3c0ede1 100644 --- a/graphics/qcustomplot/Makefile +++ b/graphics/qcustomplot/Makefile @@ -1,42 +1,38 @@ PORTNAME= qcustomplot DISTVERSION= 2.1.1 +PORTREVISION= 1 CATEGORIES= graphics MASTER_SITES= https://www.qcustomplot.com/release/${PORTVERSION}/ -PKGNAMESUFFIX= ${SUFFIX} +PKGNAMESUFFIX= -${FLAVOR} DISTNAME= QCustomPlot DIST_SUBDIR= ${PORTNAME}-${DISTVERSION} MAINTAINER= yuri@FreeBSD.org COMMENT= Qt C++ widget for plotting and data visualization WWW= https://www.qcustomplot.com LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/GPL.txt -USES= compiler:c++11-lang pkgconfig qt:5 -USE_QT= core gui widgets printsupport buildtools:build +FLAVORS= qt5 qt6 +FLAVOR?= qt5 + +USES= cmake compiler:c++11-lang qt:${FLAVOR:S/qt//} +USE_QT= ${_USE_QT_${FLAVOR}} USE_LDCONFIG= yes +_USE_QT_qt5= core gui printsupport widgets buildtools:build qmake:build +_USE_QT_qt6= base tools:build + +CMAKE_ARGS= -DUSE_QT_VERSION=${FLAVOR:S/qt//} WRKSRC= ${WRKDIR}/${PORTNAME} -SUFFIX= -qt5 - -PLIST_FILES= include/qcustomplot.h \ - lib/libQCustomPlot${SUFFIX}.so - -do-build: - @cd ${WRKSRC} && \ - ${MOC} qcustomplot.h > qcustomplot_moc.cpp && \ - ${CXX} ${CXXFLAGS} -shared -fPIC \ - -I${PREFIX}/include \ - `pkg-config --cflags --libs Qt5Core Qt5Gui Qt5Widgets Qt5PrintSupport` \ - qcustomplot.cpp \ - qcustomplot_moc.cpp \ - -o ${WRKSRC}/libQCustomPlot${SUFFIX}.so \ - -Wl,-soname,libQCustomPlot${SUFFIX}.so - -do-install: - ${INSTALL_DATA} ${WRKSRC}/qcustomplot.h ${STAGEDIR}${PREFIX}/include - ${INSTALL_LIB} ${WRKSRC}/libQCustomPlot${SUFFIX}.so ${STAGEDIR}${PREFIX}/lib +PLIST_SUB= SHLIB_VER=${DISTVERSION} + +${FLAVOR}_PLIST= ${.CURDIR}/pkg-plist.${FLAVOR} + +post-patch: + ${CP} ${FILESDIR}/CMakeLists.txt ${FILESDIR}/Config.cmake.in \ + ${WRKSRC} .include diff --git a/graphics/qcustomplot/files/CMakeLists.txt b/graphics/qcustomplot/files/CMakeLists.txt new file mode 100644 index 000000000000..d1b0a12201a5 --- /dev/null +++ b/graphics/qcustomplot/files/CMakeLists.txt @@ -0,0 +1,113 @@ +cmake_minimum_required(VERSION 3.18.4) + +SET(QCustomPlot_MAJOR_VERSION "2") +SET(QCustomPlot_MINOR_VERSION "1") +SET(QCustomPlot_PATCH_VERSION "1") + +set(QCustomPlot_VERSION "${QCustomPlot_MAJOR_VERSION}.${QCustomPlot_MINOR_VERSION}.${QCustomPlot_PATCH_VERSION}") +set(QCustomPlot_SOVERSION "${QCustomPlot_MAJOR_VERSION}") + +PROJECT(QCustomPlot LANGUAGES CXX VERSION ${QCustomPlot_VERSION}) + +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) + +include(GNUInstallDirs) +include(FeatureSummary) + +#-----------------------------------------------------------# +# Dependencies +#-----------------------------------------------------------# + +set(REQUIRED_QT_COMPONENTS Core Widgets PrintSupport) + +set(MIN_REQUIRED_QT5_VERSION "5.12") +set(MIN_REQUIRED_QT6_VERSION "6.2.0") + + +find_package(Qt${USE_QT_VERSION} ${MIN_REQUIRED_QT${USE_QT_VERSION}_VERSION} + COMPONENTS ${REQUIRED_QT_COMPONENTS} REQUIRED) +set(QT_VERSION_MAJOR ${USE_QT_VERSION}) + + +#-----------------------------------------------------------# +# Definitions +#-----------------------------------------------------------# + +set(LIB5_SUFFIX "-qt5") +set(LIB6_SUFFIX "Qt6") +set(LIB_SUFFIX "${LIB${QT_VERSION_MAJOR}_SUFFIX}") + +set(LIB_NAME QCustomPlot${LIB_SUFFIX}) +set(CMAKE_CONFIG_FILE_NAME ${LIB_NAME}Config.cmake) +set(CMAKE_CONFIG_LIB_NAMES ${LIB_NAME} lib${LIB_NAME}) + +set(INC5_SUBDIR "") +set(INC6_SUBDIR "${LIB_NAME}") +set(QCUSTOMPLOT_INSTALL_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}/${INC${QT_VERSION_MAJOR}_SUBDIR}") + + +#-----------------------------------------------------------# +# Compiler Settings +#-----------------------------------------------------------# + +#set(CMAKE_CXX_STANDARD 17) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +# Only enable strict warnings in debug mode +set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -Wextra -Werror -pedantic") + +# As per the author of the library, we should export the symbols under +# MS-Windows. +add_definitions(-DQCUSTOMPLOT_COMPILE_LIBRARY) + +#-----------------------------------------------------------# +# Sources +#-----------------------------------------------------------# + +add_library(${LIB_NAME} SHARED qcustomplot.cpp) + +set_target_properties(${LIB_NAME} PROPERTIES + VERSION ${QCustomPlot_VERSION} + SOVERSION ${QCustomPlot_SOVERSION}) + +target_link_libraries(${LIB_NAME} + Qt${QT_VERSION_MAJOR}::Widgets + Qt${QT_VERSION_MAJOR}::PrintSupport) + +#-----------------------------------------------------------# +# Installation +#-----------------------------------------------------------# + +install(TARGETS ${LIB_NAME} + EXPORT ${LIB_NAME}Targets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + INCLUDES DESTINATION ${QCUSTOMPLOT_INSTALL_INCLUDEDIR}) + +install(FILES qcustomplot.h DESTINATION "${QCUSTOMPLOT_INSTALL_INCLUDEDIR}") + +install(EXPORT ${LIB_NAME}Targets + FILE ${LIB_NAME}Targets.cmake + NAMESPACE ${LIB_NAME}:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${LIB_NAME}) + +include(CMakePackageConfigHelpers) + +configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}Config.cmake" + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${LIB_NAME}) + +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/${LIB_NAME}Config.cmake" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${LIB_NAME}) + +#-----------------------------------------------------------# +# Summary +#-----------------------------------------------------------# + +feature_summary(FATAL_ON_MISSING_REQUIRED_PACKAGES WHAT ALL) + diff --git a/graphics/qcustomplot/files/Config.cmake.in b/graphics/qcustomplot/files/Config.cmake.in new file mode 100644 index 000000000000..07b184a53912 --- /dev/null +++ b/graphics/qcustomplot/files/Config.cmake.in @@ -0,0 +1,5 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/@LIB_NAME@Targets.cmake") + +check_required_components(@LIB_NAME@) diff --git a/graphics/qcustomplot/pkg-plist.qt5 b/graphics/qcustomplot/pkg-plist.qt5 new file mode 100644 index 000000000000..c662cc44b810 --- /dev/null +++ b/graphics/qcustomplot/pkg-plist.qt5 @@ -0,0 +1,7 @@ +include/qcustomplot.h +lib/cmake/QCustomPlot-qt5/QCustomPlot-qt5Config.cmake +lib/cmake/QCustomPlot-qt5/QCustomPlot-qt5Targets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/QCustomPlot-qt5/QCustomPlot-qt5Targets.cmake +lib/libQCustomPlot-qt5.so +lib/libQCustomPlot-qt5.so.2 +lib/libQCustomPlot-qt5.so.%%SHLIB_VER%% diff --git a/graphics/qcustomplot/pkg-plist.qt6 b/graphics/qcustomplot/pkg-plist.qt6 new file mode 100644 index 000000000000..9dd841ce2959 --- /dev/null +++ b/graphics/qcustomplot/pkg-plist.qt6 @@ -0,0 +1,7 @@ +include/QCustomPlotQt6/qcustomplot.h +lib/cmake/QCustomPlotQt6/QCustomPlotQt6Config.cmake +lib/cmake/QCustomPlotQt6/QCustomPlotQt6Targets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/QCustomPlotQt6/QCustomPlotQt6Targets.cmake +lib/libQCustomPlotQt6.so +lib/libQCustomPlotQt6.so.2 +lib/libQCustomPlotQt6.so.%%SHLIB_VER%% diff --git a/misc/nn-insight/Makefile b/misc/nn-insight/Makefile index 32ff7832631b..578dc429ac55 100644 --- a/misc/nn-insight/Makefile +++ b/misc/nn-insight/Makefile @@ -1,35 +1,35 @@ PORTNAME= nn-insight DISTVERSION= 1.0.7 PORTREVISION= 8 CATEGORIES= misc # machine-learning MAINTAINER= yuri@FreeBSD.org COMMENT= Neural network visualization software WWW= https://github.com/yurivict/nn-insight LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= avir>0:graphics/avir \ ${LOCALBASE}/include/exprtk.hpp:math/exprtk \ flatc:devel/flatbuffers \ half>0:math/half \ nlohmann-json>0:devel/nlohmann-json \ png++>0:graphics/png++ LIB_DEPENDS= libcgraph.so:graphics/graphviz \ libpng.so:graphics/png \ - libQCustomPlot-qt5.so:graphics/qcustomplot \ + libQCustomPlot-qt5.so:graphics/qcustomplot@qt5 \ libtcmalloc.so:devel/google-perftools USES= compiler:c++17-lang cmake pkgconfig qt:5 USE_QT= core gui svg widgets buildtools:build qmake:build USE_GITHUB= yes GH_ACCOUNT= yurivict PLIST_FILES= bin/nn-insight \ libexec/nn-insight/tf-lite-plugin.so PORTSCOUT= limit:^.*[1-9]\. # prevent hashes .include