This commit is contained in:
yanglijin 2020-04-01 04:19:23 -04:00
parent 2fdd3968ff
commit 66d4462c1b
4 changed files with 168 additions and 0 deletions

View File

@ -0,0 +1,39 @@
From 8d072483ffff3a4e752c35811fb562f61d206f68 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Fri, 22 Apr 2016 14:54:09 -0700
Subject: [PATCH] handle new freerdp pkgconfig name
freerdp has now changed its pkgconfig name to 'freerdp2' -
https://github.com/FreeRDP/FreeRDP/commit/6fa36081 . Assuming
we can build against both 1 and 2, we should handle both names.
---
configure.ac | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 585c016..362951d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -59,6 +59,7 @@ AM_CONDITIONAL([VINAGRE_ENABLE_SSH], [test "x$have_ssh" = "xyes"])
# Whether to enable support for RDP.
RDP_DEPS="freerdp x11"
+RDP_2_DEPS="freerdp2 x11"
AC_ARG_ENABLE([rdp],
[AS_HELP_STRING([--disable-rdp],
[Disable Remote Desktop Protocol (RDP) support])])
@@ -68,7 +69,10 @@ AS_IF([test "x$enable_rdp" != "xno"],
[have_rdp=yes
PKG_CHECK_EXISTS(freerdp >= 1.1,
[AC_DEFINE([HAVE_FREERDP_1_1], [1], [FreeRDP is of version 1.1 or newer])], [])],
- [have_rdp=no])],
+ [PKG_CHECK_EXISTS([$RDP_2_DEPS],
+ [have_rdp=yes
+ RDP_DEPS=$RDP_2_DEPS
+ AC_DEFINE([HAVE_FREERDP_1_1], [1], [FreeRDP is of version 1.1 or newer])], [have_rdp=no])])],
[have_rdp=no])
AS_IF([test "x$have_rdp" = "xyes"],
--
2.7.3

57
0002-freerdp2-32bpp.patch Normal file
View File

@ -0,0 +1,57 @@
diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
index b731f9b..7c806bf 100644
--- a/plugins/rdp/vinagre-rdp-tab.c
+++ b/plugins/rdp/vinagre-rdp-tab.c
@@ -574,45 +574,49 @@ frdp_pre_connect (freerdp *instance)
settings->order_support[NEG_POLYGON_CB_INDEX] = false;
settings->order_support[NEG_ELLIPSE_SC_INDEX] = false;
settings->order_support[NEG_ELLIPSE_CB_INDEX] = false;
#endif
return TRUE;
}
static BOOL
frdp_post_connect (freerdp *instance)
{
VinagreRdpTab *rdp_tab = ((frdpContext *) instance->context)->rdp_tab;
VinagreRdpTabPrivate *priv = rdp_tab->priv;
rdpGdi *gdi;
int stride;
gdi_init (instance,
#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
!(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && \
FREERDP_VERSION_MINOR >= 2))
- CLRBUF_24BPP,
+ CLRBUF_24BPP, NULL
#else
- CLRBUF_32BPP,
+#ifdef CLRBUF_32BPP
+ CLRBUF_32BPP, NULL
+#else
+ PIXEL_FORMAT_BGRA32
+#endif
#endif
- NULL);
+ );
gdi = instance->context->gdi;
instance->update->BeginPaint = frdp_begin_paint;
instance->update->EndPaint = frdp_end_paint;
stride = cairo_format_stride_for_width (CAIRO_FORMAT_RGB24, gdi->width);
rdp_tab->priv->surface = cairo_image_surface_create_for_data ((unsigned char*) gdi->primary_buffer,
CAIRO_FORMAT_RGB24,
gdi->width,
gdi->height,
stride);
gtk_widget_queue_draw_area (priv->display,
0, 0,
gdi->width, gdi->height);
vinagre_tab_save_credentials_in_keyring (VINAGRE_TAB (rdp_tab));
vinagre_tab_add_recent_used (VINAGRE_TAB (rdp_tab));
vinagre_tab_set_state (VINAGRE_TAB (rdp_tab), VINAGRE_TAB_STATE_CONNECTED);
return TRUE;

BIN
vinagre-3.22.0.tar.xz Normal file

Binary file not shown.

72
vinagre.spec Normal file
View File

@ -0,0 +1,72 @@
Name: vinagre
Version: 3.22.0
Release: 12
Summary: A remote desktop viewer for GNOME
License: GPLv2+
URL: https://wiki.gnome.org/Apps/Vinagre
Source0: https://download.gnome.org/sources/%{name}/3.22/%{name}-%{version}.tar.xz
Patch0: 0001-handle-new-freerdp-pkgconfig-name.patch
Patch1: 0002-freerdp2-32bpp.patch
BuildRequires: pkgconfig(avahi-gobject) pkgconfig(avahi-ui-gtk3) automake autoconf
BuildRequires: pkgconfig(freerdp2) pkgconfig(gtk+-3.0) pkgconfig(gtk-vnc-2.0) pkgconfig(libsecret-1)
BuildRequires: pkgconfig(libxml-2.0) pkgconfig(telepathy-glib) pkgconfig(vte-2.91) gnome-common
BuildRequires: intltool libappstream-glib-devel itstool avahi-ui-gtk3 avahi-gobject
%ifarch %{ix86} x86_64
BuildRequires: pkgconfig(spice-client-gtk-3.0)
%endif
Requires: dbus telepathy-filesystem glib2 desktop-file-utils shared-mime-info
%description
This is Vinagre, a remote desktop viewer for the GNOME Desktop.
%package_help
%prep
%autosetup -n %{name}-%{version} -p1
%build
ACLOCAL_FLAGS="$ACLOCAL_FLAGS" USE_GNOME2_MACROS=1 . gnome-autogen.sh
export CFLAGS="%{optflags} -Wno-deprecated-declarations -Wno-format-nonliteral"
%configure \
%ifarch %{ix86} x86_64
--enable-spice \
%endif
--enable-rdp --enable-ssh --with-avahi
%make_build
%install
%make_install
%find_lang vinagre --with-gnome
%check
make check
%files -f vinagre.lang
%license COPYING AUTHORS
%{_bindir}/%{name}
%{_datadir}/GConf/gsettings/*.convert
%{_datadir}/applications/*
%{_datadir}/dbus-1/services/*
%{_datadir}/glib*/schemas/*
%{_datadir}/icons/*/*/*/*
%{_datadir}/metainfo/*
%{_datadir}/mime/*/*
%{_datadir}/telepathy/*/*
%{_datadir}/%{name}/*
%files help
%doc NEWS README
%{_datadir}/man/man1/*
%changelog
* Thu Feb 13 2020 daiqianwen <daiqianwen@huawei.com> - 3.22.0-12
- Type:bugfix
- ID:NA
- SUG:NA
- DESC: add buildrequires
* Thu Nov 14 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.22.0-11
- Package init