Files
Martin Jansa da03f5dadc freerdp: fix build with gcc-14
* bump SRCREV to get more gcc-14 fixes already merged upstream:

$ git log --oneline 2.11.7..origin/stable-2.0
efa899d3d (HEAD -> stable-2.0, origin/stable-2.0) Merge pull request #10172 from AlessandroBono/wip/abono/incompatible-pointer
7894a7dfc redirection: Fix incompatible pointer type
f3ed1f1ac redirection: Fix incompatible pointer type
4f411197d info: Fix incompatible pointer type
a383740a2 next-dev-2.11.8-dev

* fixes:
  http://errors.yoctoproject.org/Errors/Details/766906/
  freerdp/2.11.2/git/libfreerdp/core/redirection.c:91:31: error: passing argument 1 of 'redirection_free_data' from incompatible pointer type [-Wincompatible-pointer-types]
  freerdp/2.11.2/git/libfreerdp/core/redirection.c:112:31: error: assignment to 'BYTE **' {aka 'unsigned char **'} from incompatible pointer type 'char **' [-Wincompatible-pointer-types]
  freerdp/2.11.2/git/libfreerdp/core/redirection.c:139:38: error: passing argument 1 of 'redirection_copy_data' from incompatible pointer type [-Wincompatible-pointer-types]
  freerdp/2.11.2/git/libfreerdp/core/info.c:88:39: error: initialization of 'const WCHAR *' {aka 'const short unsigned int *'} from incompatible pointer type 'BYTE *' {aka 'unsigned char *'} [-Wincompatible-pointer-types]

  and backport one commit from master to fix:
  git/channels/ainput/server/ainput_main.c:225:83: error: passing argument 3 of 'WTSVirtualChannelQuery' from incompatible pointer type [-Wincompatible-pointer-types]
  git/channels/ainput/server/ainput_main.c:419:36: error: passing argument 1 of 'ainput_server_context_free' from incompatible pointer type [-Wincompatible-pointer-types]
  git/channels/ainput/server/ainput_main.c:542:100: error: passing argument 3 of 'WTSVirtualChannelQuery' from incompatible pointer type [-Wincompatible-pointer-types]

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-05-19 08:27:59 -07:00

95 lines
3.6 KiB
BlitzBasic

# 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 libusb1"
SECTION = "net"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
inherit pkgconfig cmake gitpkgv
PE = "1"
PKGV = "${GITPKGVTAG}"
SRCREV = "efa899d3deb8595a29fabb2a2251722f9d7e0d7f"
SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \
file://winpr-makecert-Build-with-install-RPATH.patch \
file://0001-Fixed-compilation-warnings.patch \
file://0001-Fix-const-qualifier-error.patch \
file://0002-Do-not-install-tools-a-CMake-targets.patch \
file://0001-Fixed-compilation-warnings-in-ainput-channel.patch \
"
S = "${WORKDIR}/git"
EXTRA_OECMAKE += " \
-DWITH_ALSA=ON \
-DWITH_FFMPEG=OFF \
-DWITH_CUNIT=OFF \
-DWITH_NEON=OFF \
-DBUILD_STATIC_LIBS=OFF \
-DCMAKE_POSITION_INDEPENDANT_CODE=ON \
-DWITH_MANPAGES=OFF \
-DPROXY_PLUGINDIR=${libdir}/freerdp/proxy/plugins \
"
PACKAGECONFIG ??= " \
${@bb.utils.filter('DISTRO_FEATURES', 'directfb pam pulseaudio wayland x11', d)}\
gstreamer cups pcsc server \
"
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 wayland-native libxkbcommon"
PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb"
PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam"
PACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite"
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"
PACKAGECONFIG[server] = "-DWITH_SERVER=ON,-DWITH_SERVER=OFF"
PACKAGES =+ "libfreerdp"
LEAD_SONAME = "libfreerdp.so"
FILES:libfreerdp = "${libdir}/lib*${SOLIBS}"
PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*"
do_configure:append() {
sed -i -e 's|${WORKDIR}||g' ${B}/buildflags.h
}
# 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}/freerdp
}
python populate_packages:prepend () {
freerdp_root = d.expand('${libdir}/freerdp')
do_split_packages(d, freerdp_root, r'^(audin_.*)\.so$',
output_pattern='libfreerdp-plugin-%s',
description='FreeRDP plugin %s',
prepend=True, extra_depends='libfreerdp-plugin-audin')
do_split_packages(d, freerdp_root, r'^(rdpsnd_.*)\.so$',
output_pattern='libfreerdp-plugin-%s',
description='FreeRDP plugin %s',
prepend=True, extra_depends='libfreerdp-plugin-rdpsnd')
do_split_packages(d, freerdp_root, r'^(tsmf_.*)\.so$',
output_pattern='libfreerdp-plugin-%s',
description='FreeRDP plugin %s',
prepend=True, extra_depends='libfreerdp-plugin-tsmf')
do_split_packages(d, freerdp_root, r'^([^-]*)\.so$',
output_pattern='libfreerdp-plugin-%s',
description='FreeRDP plugin %s',
prepend=True, extra_depends='')
}