diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support/freerdp')
3 files changed, 144 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch new file mode 100644 index 0000000000..a567cba925 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-gstreamer-1.0-detection.patch @@ -0,0 +1,27 @@ +From 368989526c32cdf9d680a397fede3cb773fa2609 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Fri, 28 Jul 2017 16:31:41 -0400 +Subject: [PATCH] Fix gstreamer-1.0 detection + +Upstream State: Backport + +--- + cmake/FindGStreamer_1_0.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/FindGStreamer_1_0.cmake b/cmake/FindGStreamer_1_0.cmake +index 3aa8fc6..6fbc0ec 100644 +--- a/cmake/FindGStreamer_1_0.cmake ++++ b/cmake/FindGStreamer_1_0.cmake +@@ -59,7 +59,7 @@ macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _library) + + string(REGEX MATCH "(.*)>=(.*)" _dummy "${_pkgconfig_name}") + if ("${CMAKE_MATCH_2}" STREQUAL "") +- pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GStreamer_FIND_VERSION}") ++ pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GSTREAMER_1_0_MINIMUM_VERSION}") + else () + pkg_check_modules(PC_${_component_prefix} ${_pkgconfig_name}) + endif () +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch new file mode 100644 index 0000000000..0d7dcc28d7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch @@ -0,0 +1,31 @@ +Subject: [PATCH] winpr-makecert: Build with install RPATH + +As we are installing "winpr-makecert" manually, we do want +to refer to the library in DESTDIR, not the one resting in +the build tree. + +Update it for 2.0.0. + +Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh> +Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> +--- + winpr/tools/makecert-cli/CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/winpr/tools/makecert-cli/CMakeLists.txt b/winpr/tools/makecert-cli/CMakeLists.txt +index 74afa09..8d00ef1 100644 +--- a/winpr/tools/makecert-cli/CMakeLists.txt ++++ b/winpr/tools/makecert-cli/CMakeLists.txt +@@ -44,6 +44,9 @@ set(${MODULE_PREFIX}_LIBS winpr-tools) + + target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) + ++set_target_properties(${MODULE_NAME} PROPERTIES ++ BUILD_WITH_INSTALL_RPATH 1) ++ + set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools") + + install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT tools EXPORT WinPRTargets) +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb new file mode 100644 index 0000000000..88aec9c415 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb @@ -0,0 +1,86 @@ +# Copyright (C) 2010-2012 O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license + +DESCRIPTION = "FreeRDP RDP client & server library" +HOMEPAGE = "http://www.freerdp.com" +DEPENDS = "openssl alsa-lib pcsc-lite" +SECTION = "net" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +inherit pkgconfig cmake gitpkgv + +PV = "2.0.0+gitr${SRCPV}" +PKGV = "${GITPKGVTAG}" + +SRCREV = "1648deb435ad52206f7aa2afe4b4dff71d9329bc" +SRC_URI = "git://github.com/FreeRDP/FreeRDP.git \ + file://winpr-makecert-Build-with-install-RPATH.patch \ + file://0001-Fix-gstreamer-1.0-detection.patch \ +" + +S = "${WORKDIR}/git" + +EXTRA_OECMAKE += " \ + -DWITH_ALSA=ON \ + -DWITH_PCSC=ON \ + -DWITH_FFMPEG=OFF \ + -DWITH_CUNIT=OFF \ + -DWITH_NEON=OFF \ + -DBUILD_STATIC_LIBS=OFF \ + -DCMAKE_POSITION_INDEPENDANT_CODE=ON \ + -DWITH_MANPAGES=OFF \ +" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'directfb pam pulseaudio wayland x11', d)}\ + gstreamer cups \ +" + +X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile" +PACKAGECONFIG[x11] = "-DWITH_X11=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_XI=ON -DWITH_XRENDER=ON -DWITH_XFIXES=ON -DWITH_XDAMAGE=ON -DWITH_XRANDR=ON -DWITH_XKBFILE=ON,-DWITH_X11=OFF,${X11_DEPS}" +PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland" +PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb" +PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam" +PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio" +PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups" + +PACKAGES =+ "libfreerdp" + +LEAD_SONAME = "libfreerdp.so" +FILES_libfreerdp = "${libdir}/lib*${SOLIBS}" + +PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*" + +# we will need winpr-makecert to generate TLS certificates +do_install_append () { + install -d ${D}${bindir} + install -m755 winpr/tools/makecert-cli/winpr-makecert ${D}${bindir} + rm -rf ${D}${libdir}/cmake + rm -rf ${D}${libdir}/freerdp +} + +python populate_packages_prepend () { + freerdp_root = d.expand('${libdir}/freerdp') + + do_split_packages(d, freerdp_root, '^(audin_.*)\.so$', + output_pattern='libfreerdp-plugin-%s', + description='FreeRDP plugin %s', + prepend=True, extra_depends='libfreerdp-plugin-audin') + + do_split_packages(d, freerdp_root, '^(rdpsnd_.*)\.so$', + output_pattern='libfreerdp-plugin-%s', + description='FreeRDP plugin %s', + prepend=True, extra_depends='libfreerdp-plugin-rdpsnd') + + do_split_packages(d, freerdp_root, '^(tsmf_.*)\.so$', + output_pattern='libfreerdp-plugin-%s', + description='FreeRDP plugin %s', + prepend=True, extra_depends='libfreerdp-plugin-tsmf') + + do_split_packages(d, freerdp_root, '^([^-]*)\.so$', + output_pattern='libfreerdp-plugin-%s', + description='FreeRDP plugin %s', + prepend=True, extra_depends='') +} |