summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb')
-rw-r--r--meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb126
1 files changed, 126 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb b/meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb
new file mode 100644
index 0000000000..2cc8dc6cf2
--- /dev/null
+++ b/meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb
@@ -0,0 +1,126 @@
1# Copyright (C) 2010-2012 O.S. Systems Software Ltda. All Rights Reserved
2# Released under the MIT license
3
4DESCRIPTION = "FreeRDP RDP client & server library"
5HOMEPAGE = "http://www.freerdp.com"
6DEPENDS = "openssl libusb1"
7SECTION = "net"
8LICENSE = "Apache-2.0"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
10
11inherit pkgconfig cmake gitpkgv ptest
12
13RDEPENDS:${PN}-ptest += "coreutils pcsc-lite-lib"
14
15PE = "1"
16PKGV = "${GITPKGVTAG}"
17
18SRCREV = "9b678b6d5a40ce01607d8c3b1b1416437c8416c4"
19SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \
20 file://run-ptest \
21 file://winpr-makecert-Build-with-install-RPATH.patch \
22 file://0002-Do-not-install-tools-a-CMake-targets.patch \
23 file://0001-Fix-compilation-error.patch \
24 file://CVE-2024-32661.patch \
25 file://CVE-2026-22854.patch \
26 file://CVE-2026-22855.patch \
27 file://CVE-2026-22852.patch \
28 file://CVE-2026-23530.patch \
29 file://CVE-2026-23532.patch \
30 "
31
32
33EXTRA_OECMAKE += " \
34 -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
35 -DWITH_FFMPEG=OFF \
36 -DWITH_CUNIT=OFF \
37 -DWITH_NEON=OFF \
38 -DBUILD_STATIC_LIBS=OFF \
39 -DCMAKE_POSITION_INDEPENDANT_CODE=ON \
40 -DWITH_MANPAGES=OFF \
41 -DPROXY_PLUGINDIR=${libdir}/freerdp/proxy/plugins \
42"
43
44PACKAGECONFIG ??= " \
45 ${@bb.utils.filter('DISTRO_FEATURES', 'directfb pam pulseaudio wayland x11', d)}\
46 ${@bb.utils.contains('PTEST_ENABLED', '1', 'test', '', d)} \
47 alsa gstreamer cups pcsc server \
48"
49
50X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile"
51PACKAGECONFIG[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}"
52PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon"
53PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb"
54PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam"
55PACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite"
56PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio"
57PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base"
58PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups"
59PACKAGECONFIG[server] = "-DWITH_SERVER=ON,-DWITH_SERVER=OFF"
60PACKAGECONFIG[alsa] = "-DWITH_ALSA=ON,-DWITH_ALSA=OFF,alsa-lib"
61PACKAGECONFIG[test] = "-DBUILD_TESTING=ON,-DBUILD_TESTING=OFF"
62
63PACKAGES =+ "libfreerdp"
64
65LEAD_SONAME = "libfreerdp.so"
66FILES:libfreerdp = "${libdir}/lib*${SOLIBS}"
67
68PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*"
69
70do_configure:prepend() {
71 sed -i 's,CMAKE_CURRENT_SOURCE_DIR,"${PTEST_PATH}/test_data",' ${S}/libfreerdp/codec/test/TestFreeRDPCodecProgressive.c
72 sed -i 's,\${CMAKE_CURRENT_SOURCE_DIR},"${PTEST_PATH}/test_data",' ${S}/libfreerdp/crypto/test/CMakeLists.txt
73 sed -i 's,\${CMAKE_CURRENT_SOURCE_DIR},${PTEST_PATH}/test_data,' ${S}/winpr/libwinpr/utils/test/CMakeLists.txt
74}
75
76do_configure:append() {
77 sed -i -e 's|${WORKDIR}||g' ${B}/buildflags.h
78}
79
80# we will need winpr-makecert to generate TLS certificates
81do_install:append () {
82 install -d ${D}${bindir}
83 install -m755 winpr/tools/makecert-cli/winpr-makecert ${D}${bindir}
84 rm -rf ${D}${libdir}/freerdp
85}
86
87do_install_ptest() {
88 install -d ${D}${PTEST_PATH}/test_data
89 cp -r ${B}/Testing ${D}${PTEST_PATH}
90 install -m 0644 ${S}/libfreerdp/codec/test/progressive.bmp ${D}${PTEST_PATH}/test_data/
91 install -m 0644 ${S}/libfreerdp/crypto/test/Test_x509_cert_info.pem ${D}${PTEST_PATH}/test_data/
92 install -m 0644 ${S}/winpr/libwinpr/utils/test/lodepng_32bit.png ${D}${PTEST_PATH}/test_data/
93 install -m 0644 ${S}/winpr/libwinpr/utils/test/lodepng_32bit.bmp ${D}${PTEST_PATH}/test_data/
94}
95
96python populate_packages:prepend () {
97 freerdp_root = d.expand('${libdir}/freerdp')
98
99 do_split_packages(d, freerdp_root, r'^(audin_.*)\.so$',
100 output_pattern='libfreerdp-plugin-%s',
101 description='FreeRDP plugin %s',
102 prepend=True, extra_depends='libfreerdp-plugin-audin')
103
104 do_split_packages(d, freerdp_root, r'^(rdpsnd_.*)\.so$',
105 output_pattern='libfreerdp-plugin-%s',
106 description='FreeRDP plugin %s',
107 prepend=True, extra_depends='libfreerdp-plugin-rdpsnd')
108
109 do_split_packages(d, freerdp_root, r'^(tsmf_.*)\.so$',
110 output_pattern='libfreerdp-plugin-%s',
111 description='FreeRDP plugin %s',
112 prepend=True, extra_depends='libfreerdp-plugin-tsmf')
113
114 do_split_packages(d, freerdp_root, r'^([^-]*)\.so$',
115 output_pattern='libfreerdp-plugin-%s',
116 description='FreeRDP plugin %s',
117 prepend=True, extra_depends='')
118}
119
120CVE_STATUS[CVE-2024-32662] = "fixed-version: 2.x is not affected, bug was introduced in 3.0.0"
121CVE_STATUS[CVE-2025-68118] = "not-applicable-platform: Windows-only vulnerability"
122CVE_STATUS[CVE-2026-22853] = "cpe-incorrect: the vulnerability was introduced in 3.9.0"
123
124# avoid http://errors.yoctoproject.org/Errors/Details/852862/
125# fixed in freerdp3 with https://github.com/FreeRDP/FreeRDP/pull/10553
126CFLAGS += "-std=gnu17"