From 3d91604dd86a239dc5376501f530846b02d7c8ae Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 24 Jun 2020 11:17:44 +0000 Subject: New port graphics/ksnip This is a multi-platform screenshotting tool, integrating well with KDE Plasma, GNOME Shell, etc. under both X11 and Wayland. It supports extensive screenshot annotations and multiple captures (useful for looking at UI changes in something you're working on). There's a bunch of patches, but they're all trivial and have been reported upstream. --- graphics/Makefile | 1 + graphics/ksnip/Makefile | 26 ++++++++++++++++++++ graphics/ksnip/distinfo | 3 +++ graphics/ksnip/files/patch-CMakeLists.txt | 19 +++++++++++++++ graphics/ksnip/files/patch-src_CMakeLists.txt | 22 +++++++++++++++++ ...atch-src_backend_config_KsnipConfigProvider.cpp | 11 +++++++++ .../patch-src_backend_config_KsnipConfigProvider.h | 11 +++++++++ ...rc_backend_imageGrabber_ImageGrabberFactory.cpp | 11 +++++++++ ...-src_backend_imageGrabber_ImageGrabberFactory.h | 11 +++++++++ .../patch-src_common_helper_FileUrlHelper.cpp | 11 +++++++++ ...tch-src_gui_globalHotKeys_KeyHandlerFactory.cpp | 18 ++++++++++++++ ...patch-src_gui_globalHotKeys_KeyHandlerFactory.h | 11 +++++++++ graphics/ksnip/pkg-descr | 4 ++++ graphics/ksnip/pkg-plist | 28 ++++++++++++++++++++++ 14 files changed, 187 insertions(+) create mode 100644 graphics/ksnip/Makefile create mode 100644 graphics/ksnip/distinfo create mode 100644 graphics/ksnip/files/patch-CMakeLists.txt create mode 100644 graphics/ksnip/files/patch-src_CMakeLists.txt create mode 100644 graphics/ksnip/files/patch-src_backend_config_KsnipConfigProvider.cpp create mode 100644 graphics/ksnip/files/patch-src_backend_config_KsnipConfigProvider.h create mode 100644 graphics/ksnip/files/patch-src_backend_imageGrabber_ImageGrabberFactory.cpp create mode 100644 graphics/ksnip/files/patch-src_backend_imageGrabber_ImageGrabberFactory.h create mode 100644 graphics/ksnip/files/patch-src_common_helper_FileUrlHelper.cpp create mode 100644 graphics/ksnip/files/patch-src_gui_globalHotKeys_KeyHandlerFactory.cpp create mode 100644 graphics/ksnip/files/patch-src_gui_globalHotKeys_KeyHandlerFactory.h create mode 100644 graphics/ksnip/pkg-descr create mode 100644 graphics/ksnip/pkg-plist (limited to 'graphics') diff --git a/graphics/Makefile b/graphics/Makefile index d009197f0266..12684c9cef1f 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -401,6 +401,7 @@ SUBDIR += kphotoalbum SUBDIR += kqtquickcharts SUBDIR += krita + SUBDIR += ksnip SUBDIR += kudu SUBDIR += kxstitch SUBDIR += l2p diff --git a/graphics/ksnip/Makefile b/graphics/ksnip/Makefile new file mode 100644 index 000000000000..789ea29a607f --- /dev/null +++ b/graphics/ksnip/Makefile @@ -0,0 +1,26 @@ +# $FreeBSD$ + +PORTNAME= ksnip +DISTVERSIONPREFIX= v +DISTVERSION= 1.7.0 +CATEGORIES= graphics kde + +MAINTAINER= kde@FreeBSD.org +COMMENT= Screenshot and annotation tool + +LICENSE= LGPL3+ +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libkColorPicker.so:graphics/kcolorpicker \ + libkImageAnnotator.so:graphics/kimageannotator + +USES= cmake compiler:c++11-lang kde:5 qt:5 +USE_GITHUB= yes +GH_ACCOUNT= ksnip +USE_KDE= ecm_build +USE_QT= concurrent core dbus gui network printsupport svg testlib \ + widgets x11extras xml \ + buildtools_build linguisttools_build qmake_build +USE_XORG= xcb + +.include diff --git a/graphics/ksnip/distinfo b/graphics/ksnip/distinfo new file mode 100644 index 000000000000..d9696d26e533 --- /dev/null +++ b/graphics/ksnip/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1592991920 +SHA256 (ksnip-ksnip-v1.7.0_GH0.tar.gz) = ab9d2e58eb7680b151375fa7ce408eaed3f3e9538a9e8bf95716c31238752526 +SIZE (ksnip-ksnip-v1.7.0_GH0.tar.gz) = 335727 diff --git a/graphics/ksnip/files/patch-CMakeLists.txt b/graphics/ksnip/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..832fdb501980 --- /dev/null +++ b/graphics/ksnip/files/patch-CMakeLists.txt @@ -0,0 +1,19 @@ +--- CMakeLists.txt.orig 2020-06-24 10:34:13 UTC ++++ CMakeLists.txt +@@ -32,7 +32,7 @@ set(CMAKE_CXX_EXTENSIONS OFF) + + set(QT_MIN_VERSION "5.9.4") + +-find_package(Qt5 ${QT_MIN_VERSION} REQUIRED Widgets Network Xml PrintSupport DBus Svg) ++find_package(Qt5 ${QT_MIN_VERSION} REQUIRED Concurrent Widgets Network Xml PrintSupport DBus Svg) + + if (WIN32) + find_package(Qt5 ${QT_MIN_VERSION} REQUIRED WinExtras) +@@ -49,6 +49,7 @@ endif () + + set(KIMAGEANNOTATOR_MIN_VERSION "0.2.2") + find_package(kImageAnnotator ${KIMAGEANNOTATOR_MIN_VERSION} REQUIRED) ++find_package(kColorPicker REQUIRED) + + set(BASEPATH "${CMAKE_SOURCE_DIR}") + include_directories("${BASEPATH}") diff --git a/graphics/ksnip/files/patch-src_CMakeLists.txt b/graphics/ksnip/files/patch-src_CMakeLists.txt new file mode 100644 index 000000000000..a08476b98ae0 --- /dev/null +++ b/graphics/ksnip/files/patch-src_CMakeLists.txt @@ -0,0 +1,22 @@ +--- src/CMakeLists.txt.orig 2020-06-24 10:42:56 UTC ++++ src/CMakeLists.txt +@@ -157,8 +157,8 @@ target_link_libraries(ksnip + Qt5::Xml + Qt5::PrintSupport + Qt5::DBus +- kImageAnnotator +- kColorPicker ++ kImageAnnotator::kImageAnnotator ++ kColorPicker::kColorPicker + Qt5::Svg + ) + +@@ -168,7 +168,7 @@ elseif (UNIX) + target_link_libraries(ksnip + Qt5::X11Extras + XCB::XFIXES +- X11 ++ X11::X11 + ) + elseif(WIN32) + target_link_libraries(ksnip diff --git a/graphics/ksnip/files/patch-src_backend_config_KsnipConfigProvider.cpp b/graphics/ksnip/files/patch-src_backend_config_KsnipConfigProvider.cpp new file mode 100644 index 000000000000..542f61a888c1 --- /dev/null +++ b/graphics/ksnip/files/patch-src_backend_config_KsnipConfigProvider.cpp @@ -0,0 +1,11 @@ +--- src/backend/config/KsnipConfigProvider.cpp.orig 2020-06-24 10:56:34 UTC ++++ src/backend/config/KsnipConfigProvider.cpp +@@ -26,7 +26,7 @@ KsnipConfig* KsnipConfigProvider::instance() + return &instance; + #endif + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__FreeBSD__) + if (PlatformChecker::instance()->isWayland()) { + static KsnipWaylandConfig instance; + return &instance; diff --git a/graphics/ksnip/files/patch-src_backend_config_KsnipConfigProvider.h b/graphics/ksnip/files/patch-src_backend_config_KsnipConfigProvider.h new file mode 100644 index 000000000000..be16d97df48e --- /dev/null +++ b/graphics/ksnip/files/patch-src_backend_config_KsnipConfigProvider.h @@ -0,0 +1,11 @@ +--- src/backend/config/KsnipConfigProvider.h.orig 2020-06-24 10:56:19 UTC ++++ src/backend/config/KsnipConfigProvider.h +@@ -26,7 +26,7 @@ + #include "KsnipMacConfig.h" + #endif + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__FreeBSD__) + #include "KsnipWaylandConfig.h" + #include "src/common/platform/PlatformChecker.h" + #endif diff --git a/graphics/ksnip/files/patch-src_backend_imageGrabber_ImageGrabberFactory.cpp b/graphics/ksnip/files/patch-src_backend_imageGrabber_ImageGrabberFactory.cpp new file mode 100644 index 000000000000..de5bbc8d73f1 --- /dev/null +++ b/graphics/ksnip/files/patch-src_backend_imageGrabber_ImageGrabberFactory.cpp @@ -0,0 +1,11 @@ +--- src/backend/imageGrabber/ImageGrabberFactory.cpp.orig 2020-06-24 10:56:45 UTC ++++ src/backend/imageGrabber/ImageGrabberFactory.cpp +@@ -25,7 +25,7 @@ AbstractImageGrabber* ImageGrabberFactory::createImage + return new MacImageGrabber(); + #endif + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__FreeBSD__) + if (PlatformChecker::instance()->isX11()) { + return new X11ImageGrabber(); + } else if (PlatformChecker::instance()->isWayland() && PlatformChecker::instance()->isKde()) { diff --git a/graphics/ksnip/files/patch-src_backend_imageGrabber_ImageGrabberFactory.h b/graphics/ksnip/files/patch-src_backend_imageGrabber_ImageGrabberFactory.h new file mode 100644 index 000000000000..a3db2efa3b0b --- /dev/null +++ b/graphics/ksnip/files/patch-src_backend_imageGrabber_ImageGrabberFactory.h @@ -0,0 +1,11 @@ +--- src/backend/imageGrabber/ImageGrabberFactory.h.orig 2020-06-24 10:32:45 UTC ++++ src/backend/imageGrabber/ImageGrabberFactory.h +@@ -24,7 +24,7 @@ + #include "MacImageGrabber.h" + #endif + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__FreeBSD__) + #include "X11ImageGrabber.h" + #include "KdeWaylandImageGrabber.h" + #include "GnomeWaylandImageGrabber.h" diff --git a/graphics/ksnip/files/patch-src_common_helper_FileUrlHelper.cpp b/graphics/ksnip/files/patch-src_common_helper_FileUrlHelper.cpp new file mode 100644 index 000000000000..75b406a4bfd8 --- /dev/null +++ b/graphics/ksnip/files/patch-src_common_helper_FileUrlHelper.cpp @@ -0,0 +1,11 @@ +--- src/common/helper/FileUrlHelper.cpp.orig 2020-06-24 10:57:05 UTC ++++ src/common/helper/FileUrlHelper.cpp +@@ -26,7 +26,7 @@ QString FileUrlHelper::parse(const QString &text) + return url.remove(QStringLiteral("file://")); + #endif + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__FreeBSD__) + return url.remove(QStringLiteral("file://")); + #endif + diff --git a/graphics/ksnip/files/patch-src_gui_globalHotKeys_KeyHandlerFactory.cpp b/graphics/ksnip/files/patch-src_gui_globalHotKeys_KeyHandlerFactory.cpp new file mode 100644 index 000000000000..574a88d806c9 --- /dev/null +++ b/graphics/ksnip/files/patch-src_gui_globalHotKeys_KeyHandlerFactory.cpp @@ -0,0 +1,18 @@ +--- src/gui/globalHotKeys/KeyHandlerFactory.cpp.orig 2020-06-24 10:56:55 UTC ++++ src/gui/globalHotKeys/KeyHandlerFactory.cpp +@@ -25,7 +25,7 @@ AbstractKeyHandler* KeyHandlerFactory::create() + return new DummyKeyHandler; + #endif + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__FreeBSD__) + if(PlatformChecker::instance()->isWayland()) { + return new DummyKeyHandler; + } else { +@@ -36,4 +36,4 @@ AbstractKeyHandler* KeyHandlerFactory::create() + #if defined(_WIN32) + return new WinKeyHandler; + #endif +-} +\ No newline at end of file ++} diff --git a/graphics/ksnip/files/patch-src_gui_globalHotKeys_KeyHandlerFactory.h b/graphics/ksnip/files/patch-src_gui_globalHotKeys_KeyHandlerFactory.h new file mode 100644 index 000000000000..41f337fd0352 --- /dev/null +++ b/graphics/ksnip/files/patch-src_gui_globalHotKeys_KeyHandlerFactory.h @@ -0,0 +1,11 @@ +--- src/gui/globalHotKeys/KeyHandlerFactory.h.orig 2020-06-24 10:31:35 UTC ++++ src/gui/globalHotKeys/KeyHandlerFactory.h +@@ -24,7 +24,7 @@ + #include "DummyKeyHandler.h" + #endif + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__FreeBSD__) + #include "X11KeyHandler.h" + #include "DummyKeyHandler.h" + #include "src/common/platform/PlatformChecker.h" diff --git a/graphics/ksnip/pkg-descr b/graphics/ksnip/pkg-descr new file mode 100644 index 000000000000..76ef3812c6f6 --- /dev/null +++ b/graphics/ksnip/pkg-descr @@ -0,0 +1,4 @@ +Ksnip is a Qt based cross-platform screenshot tool that provides +many annotation features for your screenshots. + +WWW: https://github.com/ksnip/ksnip diff --git a/graphics/ksnip/pkg-plist b/graphics/ksnip/pkg-plist new file mode 100644 index 000000000000..ffe8c223d1d0 --- /dev/null +++ b/graphics/ksnip/pkg-plist @@ -0,0 +1,28 @@ +bin/ksnip +share/applications/ksnip.desktop +%%DATADIR%%/translations/ksnip_bn_BD.qm +%%DATADIR%%/translations/ksnip_cs.qm +%%DATADIR%%/translations/ksnip_da.qm +%%DATADIR%%/translations/ksnip_de.qm +%%DATADIR%%/translations/ksnip_el.qm +%%DATADIR%%/translations/ksnip_es.qm +%%DATADIR%%/translations/ksnip_eu.qm +%%DATADIR%%/translations/ksnip_fa.qm +%%DATADIR%%/translations/ksnip_fr.qm +%%DATADIR%%/translations/ksnip_fr_CA.qm +%%DATADIR%%/translations/ksnip_gl.qm +%%DATADIR%%/translations/ksnip_hu.qm +%%DATADIR%%/translations/ksnip_id.qm +%%DATADIR%%/translations/ksnip_it.qm +%%DATADIR%%/translations/ksnip_ja.qm +%%DATADIR%%/translations/ksnip_nl.qm +%%DATADIR%%/translations/ksnip_no.qm +%%DATADIR%%/translations/ksnip_pl.qm +%%DATADIR%%/translations/ksnip_pt.qm +%%DATADIR%%/translations/ksnip_ru.qm +%%DATADIR%%/translations/ksnip_sv.qm +%%DATADIR%%/translations/ksnip_tr.qm +%%DATADIR%%/translations/ksnip_uk.qm +%%DATADIR%%/translations/ksnip_zh_Hans.qm +share/metainfo/ksnip.appdata.xml +share/pixmaps/ksnip.svg -- cgit v1.2.3