diff options
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.bb | 126 |
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 | |||
| 4 | DESCRIPTION = "FreeRDP RDP client & server library" | ||
| 5 | HOMEPAGE = "http://www.freerdp.com" | ||
| 6 | DEPENDS = "openssl libusb1" | ||
| 7 | SECTION = "net" | ||
| 8 | LICENSE = "Apache-2.0" | ||
| 9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
| 10 | |||
| 11 | inherit pkgconfig cmake gitpkgv ptest | ||
| 12 | |||
| 13 | RDEPENDS:${PN}-ptest += "coreutils pcsc-lite-lib" | ||
| 14 | |||
| 15 | PE = "1" | ||
| 16 | PKGV = "${GITPKGVTAG}" | ||
| 17 | |||
| 18 | SRCREV = "9b678b6d5a40ce01607d8c3b1b1416437c8416c4" | ||
| 19 | SRC_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 | |||
| 33 | EXTRA_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 | |||
| 44 | PACKAGECONFIG ??= " \ | ||
| 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 | |||
| 50 | X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile" | ||
| 51 | 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}" | ||
| 52 | PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon" | ||
| 53 | PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb" | ||
| 54 | PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam" | ||
| 55 | PACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite" | ||
| 56 | PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio" | ||
| 57 | PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base" | ||
| 58 | PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups" | ||
| 59 | PACKAGECONFIG[server] = "-DWITH_SERVER=ON,-DWITH_SERVER=OFF" | ||
| 60 | PACKAGECONFIG[alsa] = "-DWITH_ALSA=ON,-DWITH_ALSA=OFF,alsa-lib" | ||
| 61 | PACKAGECONFIG[test] = "-DBUILD_TESTING=ON,-DBUILD_TESTING=OFF" | ||
| 62 | |||
| 63 | PACKAGES =+ "libfreerdp" | ||
| 64 | |||
| 65 | LEAD_SONAME = "libfreerdp.so" | ||
| 66 | FILES:libfreerdp = "${libdir}/lib*${SOLIBS}" | ||
| 67 | |||
| 68 | PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*" | ||
| 69 | |||
| 70 | do_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 | |||
| 76 | do_configure:append() { | ||
| 77 | sed -i -e 's|${WORKDIR}||g' ${B}/buildflags.h | ||
| 78 | } | ||
| 79 | |||
| 80 | # we will need winpr-makecert to generate TLS certificates | ||
| 81 | do_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 | |||
| 87 | do_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 | |||
| 96 | python 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 | |||
| 120 | CVE_STATUS[CVE-2024-32662] = "fixed-version: 2.x is not affected, bug was introduced in 3.0.0" | ||
| 121 | CVE_STATUS[CVE-2025-68118] = "not-applicable-platform: Windows-only vulnerability" | ||
| 122 | CVE_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 | ||
| 126 | CFLAGS += "-std=gnu17" | ||
