git: f41ed7ed2222 - main - net/remmina: fix build with GVNC if gtk-vnc build without PULSEAUDIO and sort out dependencies
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 01 Mar 2024 08:33:37 UTC
The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=f41ed7ed222228ae1b76bfc88b17a3b1eaaee1be commit f41ed7ed222228ae1b76bfc88b17a3b1eaaee1be Author: Vladimir Druzenko <vvd@FreeBSD.org> AuthorDate: 2024-03-01 08:15:28 +0000 Commit: Vladimir Druzenko <vvd@FreeBSD.org> CommitDate: 2024-03-01 08:33:19 +0000 net/remmina: fix build with GVNC if gtk-vnc build without PULSEAUDIO and sort out dependencies 1. If net/gtk-vnc build with PULSEAUDIO off and GVNC option is on then remmina-plugin-gvnc.so plugin doesn't build and stage of the net/remmina fails: pkg-static: Unable to access file /usr/ports/net/remmina/work-default/stage/usr/local/lib/remmina/plugins/remmina-plugin-gvnc.so:No such file or directory pkg-static: Unable to access file /usr/ports/net/remmina/work-default/stage/usr/local/share/icons/hicolor/scalable/emblems/org.remmina.Remmina-gvnc-symbolic.svg:No such file or directory 2. Port have 2 options with same name GVNC. 3. Options GVNC and VNC are mixed up. 4. Removed unnecessary dependencies (from atk, pcre, jpeg, harfbuzz, gnutls, xkbfile and etc). 5. Moved dependency from libsoup to WWW only. 6. Replaced dependency from libfreerdp2.so (not linked) with libfreerdp-client2.so and libwinpr2.so.2 (linked). Reviewed by: fernape (maintainer) Approved by: fernape (maintainer), arrowd (mentor), tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D44152 --- net/remmina/Makefile | 35 +++++++++---------- net/remmina/files/extra-patch-nopulse | 66 +++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+), 18 deletions(-) diff --git a/net/remmina/Makefile b/net/remmina/Makefile index 2ae5b54d9d83..c58ec23c91f3 100644 --- a/net/remmina/Makefile +++ b/net/remmina/Makefile @@ -1,5 +1,6 @@ PORTNAME= remmina DISTVERSION= 1.4.35 +PORTREVISION= 1 CATEGORIES= net gnome MAINTAINER= fernape@FreeBSD.org @@ -12,9 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libappindicator3.so:devel/libappindicator \ libcurl.so:ftp/curl \ libjson-glib-1.0.so:devel/json-glib \ - libpcre2-8.so:devel/pcre2 \ libsodium.so:security/libsodium \ - libsoup-2.4.so:devel/libsoup \ libwayland-client.so:graphics/wayland FLAVORS= default lite @@ -22,30 +21,29 @@ lite_PKGNAMESUFFIX= -lite lite_DESCR= ${.CURDIR}/pkg-descr-lite USES= cmake compiler:c11 desktop-file-utils gettext gnome localbase:ldflags pathfix \ - pkgconfig shared-mime-info ssl shebangfix xorg + pkgconfig shared-mime-info shebangfix ssl xorg USE_GITLAB= yes GL_ACCOUNT= Remmina GL_PROJECT= Remmina GL_TAGNAME= 2a455eadd6462457d08c2d066c5c245e0dee3bf9 -USE_GNOME= atk cairo gdkpixbuf2 glib20 gtk30 pango +USE_GNOME= cairo gdkpixbuf2 glib20 gtk30 pango USE_XORG= ice sm x11 xext SHEBANG_FILES= data/desktop/remmina-file-wrapper.in bash_CMD= ${SH} -CMAKE_ARGS= -DWITH_APPINDICATOR:BOOL=false \ - -DLIBSOUP_LIBRARY=/usr/local/lib/libsoup-2.4.so +CMAKE_OFF= WITH_APPINDICATOR CONFLICTS_INSTALL= remmina-plugin* -OPTIONS_DEFINE= AVAHI CUPS GCRYPT GVNC NLS PYTHON SSH TERM +OPTIONS_DEFINE= AVAHI CUPS GCRYPT NLS PYTHON SSH TERM OPTIONS_DEFAULT= AVAHI CUPS GCRYPT NLS SSH TERM \ - EXEC RDP SECRET SPICE VNC WWW BASH + EXEC PULSEAUDIO RDP SECRET SPICE VNC WWW BASH OPTIONS_GROUP= PLUGINS -OPTIONS_GROUP_PLUGINS= EXEC GVNC KWALLET RDP SECRET SPICE VNC WWW +OPTIONS_GROUP_PLUGINS= EXEC GVNC KWALLET PULSEAUDIO RDP SECRET SPICE VNC WWW OPTIONS_SINGLE= SHELL OPTIONS_SINGLE_SHELL= BASH ZSH OPTIONS_SUB= yes @@ -60,6 +58,7 @@ BASH_DESC= Use BASH for shell wrapper scripts EXEC_DESC= Plugin to execute a command GCRYPT_DESC= Build with libgcrypt support for password encryption GVNC_DESC= Build with Gnome VNC support +PULSEAUDIO_DESC= PulseAudio sound support for GVNC: require net/gtk-vnc build with PULSEAUDIO PYTHON_DESC= Build with support for Python plugins RDP_DESC= Remote Desktop Protocol plugin SECRET_DESC= GNOME Keyring plugin @@ -85,7 +84,7 @@ GCRYPT_LIB_DEPENDS= libgcrypt.so:security/libgcrypt GCRYPT_CMAKE_BOOL= WITH_GCRYPT GVNC_LIB_DEPENDS= libgtk-vnc-2.0.so:net/gtk-vnc -GVNC_CMAKE_BOOL= WITH_LIBVNCSERVER +GVNC_CMAKE_BOOL= WITH_GVNC KWALLET_USES= kde:5 qt:5 KWALLET_USE= kde=wallet qt=buildtools:build,core,gui,qmake:build @@ -93,10 +92,13 @@ KWALLET_CMAKE_BOOL= WITH_KF5WALLET NLS_CMAKE_BOOL= WITH_TRANSLATIONS +PULSEAUDIO_EXTRA_PATCHES_OFF= ${FILESDIR}/extra-patch-nopulse + PYTHON_USES= python PYTHON_CMAKE_BOOL= WITH_PYTHONLIBS -RDP_LIB_DEPENDS= libfreerdp2.so:net/freerdp libxkbfile.so:x11/libxkbfile +RDP_LIB_DEPENDS= libfreerdp-client2.so:net/freerdp \ + libwinpr2.so.2:net/freerdp SECRET_LIB_DEPENDS= libsecret-1.so:security/libsecret SECRET_RUN_DEPENDS= gnome-keyring:security/gnome-keyring @@ -112,16 +114,13 @@ SSH_LDFLAGS= -fstack-protector TERM_USE= gnome=vte3 TERM_CMAKE_BOOL= WITH_VTE -VNC_LIB_DEPENDS= libgnutls.so:security/gnutls \ - libvncserver.so:net/libvncserver -VNC_USES= jpeg -VNC_CMAKE_BOOL= WITH_GVNC +VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver +VNC_CMAKE_BOOL= WITH_LIBVNCSERVER -WWW_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz \ - libsoup-2.4.so:devel/libsoup \ +WWW_LIB_DEPENDS= libsoup-2.4.so:devel/libsoup \ libwebkit2gtk-4.0.so:www/webkit2-gtk3 - WWW_CMAKE_BOOL= WITH_WEBKIT2GTK +WWW_CMAKE_ON= -DLIBSOUP_LIBRARY=${LOCALBASE}/lib/libsoup-2.4.so ZSH_RUN_DEPENDS= zsh:shells/zsh ZSH_VARS= SH_BIN=${PREFIX}/bin/zsh diff --git a/net/remmina/files/extra-patch-nopulse b/net/remmina/files/extra-patch-nopulse new file mode 100644 index 000000000000..96addddfac3a --- /dev/null +++ b/net/remmina/files/extra-patch-nopulse @@ -0,0 +1,66 @@ +--- cmake/FindGTK-VNC.cmake.orig 2024-02-23 14:29:23 UTC ++++ cmake/FindGTK-VNC.cmake +@@ -60,8 +60,8 @@ find_library(GTK-VNC_LIB gtk-vnc-2.0 + ${COMMON_LIB_DIR} + ) + +-if(GVNC_LIB AND GVNCPULSE_LIB AND GTK-VNC_LIB) +- set(GTK-VNC_LIBRARIES ${GVNC_LIB} ${GVNCPULSE_LIB} ${GTK-VNC_LIB}) ++if(GVNC_LIB AND GTK-VNC_LIB) ++ set(GTK-VNC_LIBRARIES ${GVNC_LIB} ${GTK-VNC_LIB}) + message(STATUS "GTK-VNC-Libs: ${GTK-VNC_LIBRARIES}") + endif() + +@@ -86,8 +86,8 @@ find_path(GTK-VNC_INCLUDE_DIR gtk-vnc.h + ${COMMON_INCLUDE_DIR} + ) + +-if(GVNC_INCLUDE_DIR AND GVNCPULSE_INCLUDE_DIR AND GTK-VNC_INCLUDE_DIR) +- set(GTK-VNC_INCLUDE_DIRS ${GVNC_INCLUDE_DIR} ${GVNCPULSE_INCLUDE_DIR} ${GTK-VNC_INCLUDE_DIR}) ++if(GVNC_INCLUDE_DIR AND GTK-VNC_INCLUDE_DIR) ++ set(GTK-VNC_INCLUDE_DIRS ${GVNC_INCLUDE_DIR} ${GTK-VNC_INCLUDE_DIR}) + message(STATUS "GTK-VNC-Include-Dirs: ${GTK-VNC_INCLUDE_DIRS}") + endif() + +--- plugins/gvnc/gvnc_plugin.c.orig 2024-02-23 14:29:23 UTC ++++ plugins/gvnc/gvnc_plugin.c +@@ -37,7 +37,7 @@ + + #include <vncdisplay.h> + #include <vncutil.h> +-#include <vncaudiopulse.h> ++//#include <vncaudiopulse.h> + + #define GVNC_DEFAULT_PORT 5900 + +@@ -700,8 +700,8 @@ static void gvnc_plugin_init(RemminaProtocolWidget *gp + vnc_util_set_debug(TRUE); + + gpdata->vnc = vnc_display_new(); +- if (remmina_plugin_service->file_get_int(remminafile, "enableaudio", FALSE)) +- gpdata->pa = vnc_audio_pulse_new(); ++// if (remmina_plugin_service->file_get_int(remminafile, "enableaudio", FALSE)) ++// gpdata->pa = vnc_audio_pulse_new(); + + + g_signal_connect(gpdata->vnc, "vnc-auth-credential", +--- plugins/gvnc/gvnc_plugin.h.orig 2024-02-28 20:33:54 UTC ++++ plugins/gvnc/gvnc_plugin.h +@@ -37,7 +37,7 @@ + #include <gdk/gdkkeysyms.h> + #include <vncdisplay.h> + #include <vncutil.h> +-#include <vncaudiopulse.h> ++//#include <vncaudiopulse.h> + + + #ifndef GDK_Return +@@ -113,7 +113,7 @@ typedef struct _GVncPluginData { + GtkWidget * box; + GtkWidget * vnc; + VncConnection * conn; +- VncAudioPulse * pa; ++ /*VncAudioPulse*/ void * pa; + gchar * error_msg; + gchar * clipstr; + gulong signal_clipboard;