Page MenuHomeFreeBSD

D39978.id121995.diff
No OneTemporary

D39978.id121995.diff

diff --git a/graphics/spectacle/Makefile b/graphics/spectacle/Makefile
--- a/graphics/spectacle/Makefile
+++ b/graphics/spectacle/Makefile
@@ -17,7 +17,7 @@
xorg
USE_KDE= attica auth codecs completion config configwidgets coreaddons \
dbusaddons globalaccel guiaddons i18n jobwidgets kdeclarative \
- kio kpipewire libkipi newstuff notifications package purpose \
+ kio libkipi newstuff notifications package purpose \
service solid wayland widgetsaddons windowsystem xmlgui \
doctools:build ecm:build
USE_QT= concurrent core dbus declarative gui network printsupport \
@@ -25,6 +25,11 @@
buildtools:build qmake:build testlib:build
USE_XORG= x11 xcb xext xfixes
-OPTIONS_DEFINE= DOCS
+OPTIONS_DEFINE= DOCS PIPEWIRE
+OPTIONS_DEFAULT= PIPEWIRE
+PIPEWIRE_DESC= Screen capture via PipeWire
+PIPEWIRE_USE= KDE=kpipewire
+PIPEWIRE_CMAKE_BOOL_OFF= DISABLE_PIPEWIRE
+PIPEWIRE_EXTRA_PATCHES_OFF= ${FILESDIR}/extra-patch-pipewire-off
.include <bsd.port.mk>
diff --git a/graphics/spectacle/files/extra-patch-pipewire-off b/graphics/spectacle/files/extra-patch-pipewire-off
new file mode 100644
--- /dev/null
+++ b/graphics/spectacle/files/extra-patch-pipewire-off
@@ -0,0 +1,82 @@
+--- CMakeLists.txt.orig 2023-05-09 03:35:10 UTC
++++ CMakeLists.txt
+@@ -74,10 +74,14 @@ find_package(PlasmaWaylandProtocols REQUIRED)
+ if (QT_MAJOR_VERSION EQUAL "5")
+ find_package(QtWaylandScanner REQUIRED)
+ endif()
+-find_package(KPipeWire)
++option(DISABLE_PIPEWIRE "Disable PipeWire support." OFF)
++if(NOT DISABLE_PIPEWIRE)
++ find_package(KPipeWire REQUIRED)
++ set(PIPEWIRE_FOUND 1)
++endif()
+ set_package_properties(KPipeWire PROPERTIES DESCRIPTION
+ "Used to record pipewire streams into a file"
+- TYPE REQUIRED
++ TYPE OPTIONAL
+ )
+
+ # optional components
+--- src/CMakeLists.txt.orig 2023-05-09 03:35:10 UTC
++++ src/CMakeLists.txt
+@@ -9,6 +9,10 @@ kconfig_add_kcfg_files(SPECTACLE_SRCS GENERATE_MOC Gui
+ ecm_qt_declare_logging_category(SPECTACLE_SRCS HEADER spectacle_core_debug.h IDENTIFIER SPECTACLE_CORE_LOG CATEGORY_NAME org.kde.spectacle.core DESCRIPTION "spectacle (core)" EXPORT SPECTACLE)
+ ecm_qt_declare_logging_category(SPECTACLE_SRCS HEADER spectacle_gui_debug.h IDENTIFIER SPECTACLE_GUI_LOG CATEGORY_NAME org.kde.spectacle.gui DESCRIPTION "spectacle (gui)" EXPORT SPECTACLE)
+
++if(PIPEWIRE_FOUND)
++ list(APPEND SPECTACLE_SRCS Platforms/VideoPlatformWayland.cpp)
++endif()
++
+ add_executable(spectacle
+ ${SPECTACLE_SRCS}
+ Main.cpp
+@@ -45,7 +49,6 @@ add_executable(spectacle
+ Platforms/PlatformKWinWayland.cpp
+ Platforms/PlatformKWinWayland2.cpp
+ Platforms/VideoPlatform.cpp
+- Platforms/VideoPlatformWayland.cpp
+ Platforms/screencasting.cpp
+
+ ../resources.qrc
+@@ -84,6 +87,10 @@ endif()
+
+ ki18n_wrap_ui(spectacle Gui/SettingsDialog/GeneralOptions.ui Gui/SettingsDialog/SaveOptions.ui)
+
++if(PIPEWIRE_FOUND)
++ target_link_libraries(spectacle K::KPipeWireRecord)
++endif()
++
+ target_link_libraries(
+ spectacle
+ Qt::Concurrent
+@@ -107,7 +114,6 @@ target_link_libraries(
+ KF${QT_MAJOR_VERSION}::XmlGui
+ KF${QT_MAJOR_VERSION}::GuiAddons
+ KF${QT_MAJOR_VERSION}::Kirigami2
+- K::KPipeWireRecord
+ Wayland::Client
+ )
+
+--- src/Platforms/PlatformLoader.cpp.orig 2023-05-09 03:35:10 UTC
++++ src/Platforms/PlatformLoader.cpp
+@@ -10,7 +10,9 @@
+ #include "PlatformKWinWayland.h"
+ #include "PlatformKWinWayland2.h"
+ #include "PlatformNull.h"
++#ifdef PIPEWIRE_FOUND
+ #include "VideoPlatformWayland.h"
++#endif
+
+ #ifdef XCB_FOUND
+ #include "PlatformXcb.h"
+@@ -44,8 +46,10 @@ PlatformPtr loadPlatform()
+
+ VideoPlatformPtr loadVideoPlatform()
+ {
++#ifdef PIPEWIRE_FOUND
+ if (KWindowSystem::isPlatformWayland()) {
+ return std::make_unique<VideoPlatformWayland>();
+ }
++#endif
+ return std::make_unique<VideoPlatformNull>();
+ }

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 22, 11:24 AM (10 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31973776
Default Alt Text
D39978.id121995.diff (3 KB)

Event Timeline