From ea12bc85d0726da89142eba3c260a95bf9178325 Mon Sep 17 00:00:00 2001 From: ajacoutot Date: Sat, 7 Feb 2015 11:23:43 +0000 Subject: [PATCH] Fix crash when using ssh (from upstream). reported by rpointel@ ok jasper@ (maintainer) --- x11/remmina/Makefile | 4 +- x11/remmina/patches/patch-cmake_FindVTE_cmake | 24 +++++--- .../patches/patch-remmina_CMakeLists_txt | 49 ++++++++++++---- .../patch-remmina_src_remmina_ssh_plugin_c | 56 +++++++++++++------ x11/remmina/pkg/PLIST | 3 +- 5 files changed, 99 insertions(+), 37 deletions(-) diff --git a/x11/remmina/Makefile b/x11/remmina/Makefile index 4fbfc449c3c..e256050748d 100644 --- a/x11/remmina/Makefile +++ b/x11/remmina/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.14 2014/10/06 07:27:05 jasper Exp $ +# $OpenBSD: Makefile,v 1.15 2015/02/07 11:23:43 ajacoutot Exp $ ### from upstream, removed at next update # +patch-remmina_src_remmina_protocol_widget_c @@ -22,7 +22,7 @@ DISTNAME= Remmina-${V} PKGNAME= ${DISTNAME:L} WRKDIST= ${WRKDIR}/FreeRDP-Remmina-356c033 -REVISION= 8 +REVISION= 9 CATEGORIES= x11 net diff --git a/x11/remmina/patches/patch-cmake_FindVTE_cmake b/x11/remmina/patches/patch-cmake_FindVTE_cmake index e5fb1190f6d..10fc82b5826 100644 --- a/x11/remmina/patches/patch-cmake_FindVTE_cmake +++ b/x11/remmina/patches/patch-cmake_FindVTE_cmake @@ -1,19 +1,29 @@ -$OpenBSD: patch-cmake_FindVTE_cmake,v 1.1 2014/10/06 07:27:05 jasper Exp $ +$OpenBSD: patch-cmake_FindVTE_cmake,v 1.2 2015/02/07 11:23:43 ajacoutot Exp $ -Adjust to new VTE 2.91 API +From 9ec1aea54a4f8e6883f6d85627df66197b7487b4 Mon Sep 17 00:00:00 2001 +From: Iain Lane +Date: Mon, 10 Nov 2014 11:14:15 +0000 +Subject: [PATCH] Update to work with vte 2.91 as well as 2.90 ---- cmake/FindVTE.cmake.orig Mon Oct 6 09:05:19 2014 -+++ cmake/FindVTE.cmake Mon Oct 6 09:05:57 2014 -@@ -21,11 +21,9 @@ if(NOT _VTE_VERSION_NUM) +--- cmake/FindVTE.cmake.orig Fri Feb 10 19:54:23 2012 ++++ cmake/FindVTE.cmake Sat Feb 7 11:46:15 2015 +@@ -21,11 +21,17 @@ if(NOT _VTE_VERSION_NUM) set(_VTE_LIB_NAME vte) set(_VTE_VERSION vte) else() - set(_VTE_LIB_NAME vte${_VTE_VERSION_NUM}) -+ set(_VTE_LIB_NAME vte-${_VTE_VERSION_NUM}) ++ if(${_VTE_VERSION_NUM} VERSION_LESS 2.91) ++ set(_VTE_LIB_NAME vte${_VTE_VERSION_NUM}) ++ else() ++ set(_VTE_LIB_NAME vte-${_VTE_VERSION_NUM}) ++ endif() set(_VTE_VERSION vte-${_VTE_VERSION_NUM}) endif() -- + -string(REPLACE . _ _VTE_LIB_NAME ${_VTE_LIB_NAME}) ++if(${_VTE_VERSION_NUM} VERSION_LESS 2.91) ++ string(REPLACE . _ _VTE_LIB_NAME ${_VTE_LIB_NAME}) ++endif() pkg_check_modules(PC_VTE ${_VTE_VERSION}) diff --git a/x11/remmina/patches/patch-remmina_CMakeLists_txt b/x11/remmina/patches/patch-remmina_CMakeLists_txt index 6fbfd7cb8e3..9158e8c281d 100644 --- a/x11/remmina/patches/patch-remmina_CMakeLists_txt +++ b/x11/remmina/patches/patch-remmina_CMakeLists_txt @@ -1,15 +1,44 @@ -$OpenBSD: patch-remmina_CMakeLists_txt,v 1.4 2014/10/06 07:27:05 jasper Exp $ +$OpenBSD: patch-remmina_CMakeLists_txt,v 1.5 2015/02/07 11:23:43 ajacoutot Exp $ -Adjust to new VTE 2.91 API +From 9ec1aea54a4f8e6883f6d85627df66197b7487b4 Mon Sep 17 00:00:00 2001 +From: Iain Lane +Date: Mon, 10 Nov 2014 11:14:15 +0000 +Subject: [PATCH] Update to work with vte 2.91 as well as 2.90 ---- remmina/CMakeLists.txt.orig Mon Oct 6 09:04:29 2014 -+++ remmina/CMakeLists.txt Mon Oct 6 09:04:33 2014 -@@ -120,7 +120,7 @@ if(AVAHI_FOUND) +--- remmina/CMakeLists.txt.orig Fri Feb 10 19:54:23 2012 ++++ remmina/CMakeLists.txt Sat Feb 7 11:46:15 2015 +@@ -110,17 +110,26 @@ if(AVAHI_FOUND) + target_link_libraries(remmina ${AVAHI_LIBRARIES}) + endif() + +-if(GTK3_FOUND) +- set(_VTE_VERSION_NUM 2.90) +-else() ++option(WITH_VTE "Build with support for VTE" ON) ++if(GTK3_FOUND AND WITH_VTE) ++ set(_VTE_VERSION_NUMS 2.91 2.90) ++ foreach(__VTE_VERSION ${_VTE_VERSION_NUMS}) ++ set(_VTE_VERSION_NUM ${__VTE_VERSION}) ++ find_package(VTE) ++ if(VTE_FOUND) ++ break() ++ endif() ++ message(STATUS "VTE ${__VTE_VERSION} not found") ++ endforeach(__VTE_VERSION) ++elseif(WITH_VTE) + set(_VTE_VERSION_NUM) ++ find_package(VTE) + endif() + +-find_suggested_package(VTE _VTE_VERSION_NUM) +-if(VTE_FOUND) +- add_definitions(-DHAVE_LIBVTE) +- include_directories(${VTE_INCLUDE_DIRS}) +- target_link_libraries(remmina ${VTE_LIBRARIES}) ++if (VTE_FOUND) ++ add_definitions(-DHAVE_LIBVTE) ++ include_directories(${VTE_INCLUDE_DIRS}) ++ target_link_libraries(remmina ${VTE_LIBRARIES}) endif() if(GTK3_FOUND) -- set(_VTE_VERSION_NUM 2.90) -+ set(_VTE_VERSION_NUM 2.91) - else() - set(_VTE_VERSION_NUM) - endif() diff --git a/x11/remmina/patches/patch-remmina_src_remmina_ssh_plugin_c b/x11/remmina/patches/patch-remmina_src_remmina_ssh_plugin_c index 3ad7f684840..62561b4c732 100644 --- a/x11/remmina/patches/patch-remmina_src_remmina_ssh_plugin_c +++ b/x11/remmina/patches/patch-remmina_src_remmina_ssh_plugin_c @@ -1,37 +1,61 @@ -$OpenBSD: patch-remmina_src_remmina_ssh_plugin_c,v 1.1 2014/10/06 07:27:05 jasper Exp $ +$OpenBSD: patch-remmina_src_remmina_ssh_plugin_c,v 1.2 2015/02/07 11:23:43 ajacoutot Exp $ -Port to new VTE 2.91 API +From 9ec1aea54a4f8e6883f6d85627df66197b7487b4 Mon Sep 17 00:00:00 2001 +From: Iain Lane +Date: Mon, 10 Nov 2014 11:14:15 +0000 +Subject: [PATCH] Update to work with vte 2.91 as well as 2.90 ---- remmina/src/remmina_ssh_plugin.c.orig Mon Oct 6 09:06:50 2014 -+++ remmina/src/remmina_ssh_plugin.c Mon Oct 6 09:16:33 2014 -@@ -122,7 +122,7 @@ remmina_plugin_ssh_main_thread (gpointer data) +--- remmina/src/remmina_ssh_plugin.c.orig Fri Feb 10 19:54:23 2012 ++++ remmina/src/remmina_ssh_plugin.c Sat Feb 7 11:49:11 2015 +@@ -122,9 +122,18 @@ remmina_plugin_ssh_main_thread (gpointer data) THREADS_ENTER if (charset && charset[0] != '\0') { -- vte_terminal_set_encoding (VTE_TERMINAL (gpdata->vte), charset); ++#if !VTE_CHECK_VERSION(0,38,0) + vte_terminal_set_encoding (VTE_TERMINAL (gpdata->vte), charset); ++#else + vte_terminal_set_encoding (VTE_TERMINAL (gpdata->vte), charset, NULL); ++#endif } ++#if !VTE_CHECK_VERSION(0,38,0) vte_terminal_set_pty (VTE_TERMINAL (gpdata->vte), shell->slave); ++#else ++ vte_terminal_set_pty (VTE_TERMINAL (gpdata->vte), ++ vte_pty_new_foreign_sync (shell->slave, NULL, NULL)); ++#endif THREADS_LEAVE -@@ -169,7 +169,11 @@ remmina_plugin_ssh_set_vte_pref (RemminaProtocolWidget + + remmina_plugin_service->protocol_plugin_emit_signal (gp, "connect"); +@@ -169,7 +178,12 @@ remmina_plugin_ssh_set_vte_pref (RemminaProtocolWidget gpdata = (RemminaPluginSshData*) g_object_get_data (G_OBJECT(gp), "plugin-data"); if (remmina_pref.vte_font && remmina_pref.vte_font[0]) { -- vte_terminal_set_font_from_string (VTE_TERMINAL (gpdata->vte), remmina_pref.vte_font); -+ PangoFontDescription *desc; -+ -+ desc = pango_font_description_from_string(remmina_pref.vte_font); -+ vte_terminal_set_font(VTE_TERMINAL (gpdata->vte), desc); -+ pango_font_description_free(desc); ++#if !VTE_CHECK_VERSION(0,38,0) + vte_terminal_set_font_from_string (VTE_TERMINAL (gpdata->vte), remmina_pref.vte_font); ++#else ++ vte_terminal_set_font (VTE_TERMINAL (gpdata->vte), ++ pango_font_description_from_string (remmina_pref.vte_font)); ++#endif } vte_terminal_set_allow_bold (VTE_TERMINAL (gpdata->vte), remmina_pref.vte_allow_bold_text); if (remmina_pref.vte_lines > 0) -@@ -205,7 +209,7 @@ remmina_plugin_ssh_init (RemminaProtocolWidget *gp) +@@ -205,7 +219,19 @@ remmina_plugin_ssh_init (RemminaProtocolWidget *gp) remmina_plugin_service->protocol_plugin_register_hostkey (gp, vte); -- vscrollbar = gtk_vscrollbar_new (vte_terminal_get_adjustment (VTE_TERMINAL (vte))); -+ vscrollbar = gtk_vscrollbar_new(gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(vte))); ++#if GTK_VERSION == 3 ++#if VTE_CHECK_VERSION(0, 38, 0) ++ vscrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (vte))); ++#else + vscrollbar = gtk_vscrollbar_new (vte_terminal_get_adjustment (VTE_TERMINAL (vte))); ++#endif ++#elif GTK_VERSION == 2 ++#if VTE_CHECK_VERSION(0, 38, 0) ++ vscrollbar = gtk_vscrollbar_new (gtk_scrollable_get_vadjustment (GTK_SCROLLABLE_TERMINAL (vte))); ++#else ++ vscrollbar = gtk_vscrollbar_new (vte_terminal_get_adjustment (VTE_TERMINAL (vte))); ++#endif ++#endif gtk_widget_show(vscrollbar); gtk_box_pack_start (GTK_BOX (hbox), vscrollbar, FALSE, TRUE, 0); } diff --git a/x11/remmina/pkg/PLIST b/x11/remmina/pkg/PLIST index 099d3b44478..47504e246e4 100644 --- a/x11/remmina/pkg/PLIST +++ b/x11/remmina/pkg/PLIST @@ -1,4 +1,4 @@ -@comment $OpenBSD: PLIST,v 1.2 2012/06/15 08:30:24 ajacoutot Exp $ +@comment $OpenBSD: PLIST,v 1.3 2015/02/07 11:23:43 ajacoutot Exp $ @conflict remmina-plugins-* @conflict remmina-plugins-telepathy-* @pkgpath x11/remmina,-rdp @@ -7,7 +7,6 @@ @pkgpath x11/remmina/plugins,-rdp @pkgpath x11/remmina/plugins,-telepathy @bin bin/remmina -include/remmina/ lib/pkgconfig/remmina.pc lib/remmina/ lib/remmina/plugins/