From 94198c3d02760abf18647aa03f82e42899cb33dc Mon Sep 17 00:00:00 2001
From: Hubbitus <pahan@hubbitus.info>
Date: Tue, 12 Aug 2014 12:30:42 +0400
Subject: [PATCH] - Include in devel sub-package for build external plugins:   
  o %%{_libdir}/cmake/%%{name}/*.cmake     o config.h.in     o Source1:
 pluginBuild-CMakeLists.txt (with short instructions inside) - Fix error
 installing devel files /usr/include/remmina/*.h (hack!)

---
 pluginBuild-CMakeLists.txt | 34 ++++++++++++++++++++++++++++++++++
 remmina.spec               | 27 +++++++++++++++++++++++++--
 2 files changed, 59 insertions(+), 2 deletions(-)
 create mode 100644 pluginBuild-CMakeLists.txt

diff --git a/pluginBuild-CMakeLists.txt b/pluginBuild-CMakeLists.txt
new file mode 100644
index 0000000..c228e6b
--- /dev/null
+++ b/pluginBuild-CMakeLists.txt
@@ -0,0 +1,34 @@
+# Remmina - The GTK+ Remote Desktop Client
+#
+# Copyright (C) 2014 Pavel Alexeev <Pahan@Hubbitus.info>
+# Work based on https://github.com/muflone/remmina-plugin-builder/blob/master/CMakeLists.txt
+# dramatically simplified and tied with Fedora remmina package. Thanks to Fabio Castelli.
+#
+# To build remmina plugin you need:
+#  1) install remmina-devel package
+#  2) ln -s %{_includedir}/remmina/config.h.in .
+#  3) ln -s %{_includedir}/remmina/pluginBuild-CMakeLists.txt CMakeLists.txt
+#  4) Put plugin source code in remmina-plugin-to-build directory
+#  5) Build it as usual: %{cmake} . ; make %{?_smp_mflags}…
+
+cmake_minimum_required(VERSION 2.6)
+set(CMAKE_COLOR_MAKEFILE ON)
+project(Remmina C)
+
+set(CMAKE_MODULE_PATH "${LIB_INSTALL_DIR}/cmake/remmina/")
+
+set(REMMINA_DATADIR "${CMAKE_INSTALL_PREFIX}/share")
+set(REMMINA_LOCALEDIR "${CMAKE_INSTALL_PREFIX}/share/locale")
+set(REMMINA_PLUGINDIR "${LIB_INSTALL_DIR}/remmina/plugins")
+
+include(FindPkgConfig)
+include(FindOptionalPackage)
+
+include_directories(.)
+
+add_definitions(-DHAVE_PTHREAD)
+
+find_required_package(GTK)
+add_subdirectory(remmina-plugin-to-build)
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
diff --git a/remmina.spec b/remmina.spec
index 8bc98c3..f62bd3a 100644
--- a/remmina.spec
+++ b/remmina.spec
@@ -6,7 +6,7 @@
 
 Name:           remmina
 Version:        1.0.0
-Release:        11%{?shortcommit:.git.%{shortcommit}}%{?dist}
+Release:        12%{?shortcommit:.git.%{shortcommit}}%{?dist}
 Summary:        Remote Desktop Client
 
 License:        GPLv2+ and MIT
@@ -14,6 +14,12 @@ URL:            http://remmina.sourceforge.net
 #VCS: git:https://github.com/FreeRDP/Remmina.git
 Source0:        https://github.com/FreeRDP/Remmina/archive/%{commit}/Remmina-%{commit}.tar.gz
 
+# Cmake helper file to easy build plugins outside remmina sourse tree
+# See http://www.muflone.com/remmina-plugin-rdesktop/english/install.html which
+# use http://www.muflone.com/remmina-plugin-builder/ with remmina bundled source.
+# So we can't use it directly only as instructions.
+Source1:        pluginBuild-CMakeLists.txt
+
 BuildRequires:  avahi-ui-devel
 BuildRequires:  cmake >= 2.8
 BuildRequires:  desktop-file-utils
@@ -148,12 +154,16 @@ sed -i \
     -e 's@%s/.%{name}@%{_libexecdir}/%{name}@g' \
     %{name}/src/%{name}_external_tools.c
 
+#? Hack: https://github.com/FreeRDP/Remmina/issues/292
+sed -i 's#install(DIRECTORY include/remmina DESTINATION include/remmina #install(DIRECTORY remmina/include/remmina DESTINATION include/ #' CMakeLists.txt
+
 %build
 mkdir -p build
 
 %cmake --build=build \
     -DCMAKE_INSTALL_LIBDIR=%{_lib} \
     -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+    -DCMAKE_INSTALL_COMPONENT=1 \
     -DLIBVNCSERVER_WITH_CLIENT_TLS=1 \
     -DWITH_APPINDICATOR=OFF \
     -DWITH_AVAHI=ON \
@@ -172,10 +182,15 @@ mkdir -p build
 make %{?_smp_mflags}
 
 %install
-make install/fast DESTDIR=%{buildroot}
+%make_install
 
 desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop
 
+mkdir -p %{buildroot}/%{_libdir}/cmake/%{name}/
+cp -pr cmake/*.cmake %{buildroot}/%{_libdir}/cmake/%{name}/
+cp -pr config.h.in %{buildroot}/%{_includedir}/%{name}/
+cp -p %{SOURCE1} %{buildroot}/%{_includedir}/%{name}/
+
 %find_lang %{name}
 %find_lang %{name}-plugins
 
@@ -256,6 +271,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %files devel
 %{_includedir}/%{name}/
 %{_libdir}/pkgconfig/%{name}.pc
+%{_libdir}/cmake/%{name}/*.cmake
 
 %files plugins-gnome
 %{_libdir}/remmina/plugins/remmina-plugins-gnome.so
@@ -284,6 +300,13 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 
 
 %changelog
+* Mon Aug 11 2014 Pavel Alexeev <Pahan@Hubbitus.info> - 1.0.0-12.git.1470c97
+- Include in devel sub-package for build external plugins:
+    o %%{_libdir}/cmake/%%{name}/*.cmake
+    o config.h.in
+    o Source1: pluginBuild-CMakeLists.txt (with short instructions inside)
+- Fix error installing devel files /usr/include/remmina/*.h (hack!)
+
 * Fri Jul 18 2014 Simone Caronni <negativo17@gmail.com> - 1.0.0-11.git.1470c97
 - Update to latest snapshot.
 - Release number bumped to 1.2.0 beta 1 and then reverted to 1.0.0 upstram,