blob: 0fc779a60e8c3623c0fce50738c8bdcfd946a1bf [file] [log] [blame]
Andrew Geissler517393d2023-01-13 08:55:19 -06001# 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 alsa-lib libusb1"
7SECTION = "net"
8LICENSE = "Apache-2.0"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
10
11inherit pkgconfig cmake gitpkgv
12
13PE = "1"
14PKGV = "${GITPKGVTAG}"
15
Andrew Geisslerfc113ea2023-03-31 09:59:46 -050016SRCREV = "7471ae383e7b7a613f275e19f7b54958a193c891"
Andrew Geissler517393d2023-01-13 08:55:19 -060017SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \
Andrew Geisslerfc113ea2023-03-31 09:59:46 -050018 file://winpr-makecert-Build-with-install-RPATH.patch \
19 "
Andrew Geissler517393d2023-01-13 08:55:19 -060020
21S = "${WORKDIR}/git"
22
23EXTRA_OECMAKE += " \
24 -DWITH_ALSA=ON \
25 -DWITH_FFMPEG=OFF \
26 -DWITH_CUNIT=OFF \
27 -DWITH_NEON=OFF \
28 -DBUILD_STATIC_LIBS=OFF \
29 -DCMAKE_POSITION_INDEPENDANT_CODE=ON \
30 -DWITH_MANPAGES=OFF \
Patrick Williams8e7b46e2023-05-01 14:19:06 -050031 -DPROXY_PLUGINDIR=${libdir}/freerdp/proxy/plugins \
Andrew Geissler517393d2023-01-13 08:55:19 -060032"
33
34PACKAGECONFIG ??= " \
35 ${@bb.utils.filter('DISTRO_FEATURES', 'directfb pam pulseaudio wayland x11', d)}\
Andrew Geisslerc5535c92023-01-27 16:10:19 -060036 gstreamer cups pcsc server \
Andrew Geissler517393d2023-01-13 08:55:19 -060037"
38
39X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile"
40PACKAGECONFIG[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}"
41PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon"
42PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb"
43PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam"
44PACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite"
45PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio"
46PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base"
47PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups"
Andrew Geisslerc5535c92023-01-27 16:10:19 -060048PACKAGECONFIG[server] = "-DWITH_SERVER=ON,-DWITH_SERVER=OFF"
Andrew Geissler517393d2023-01-13 08:55:19 -060049
50PACKAGES =+ "libfreerdp"
51
52LEAD_SONAME = "libfreerdp.so"
53FILES:libfreerdp = "${libdir}/lib*${SOLIBS}"
54
55PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*"
56
57# we will need winpr-makecert to generate TLS certificates
58do_install:append () {
59 install -d ${D}${bindir}
60 install -m755 winpr/tools/makecert-cli/winpr-makecert ${D}${bindir}
61 rm -rf ${D}${libdir}/cmake
62 rm -rf ${D}${libdir}/freerdp
63}
64
65python populate_packages:prepend () {
66 freerdp_root = d.expand('${libdir}/freerdp')
67
68 do_split_packages(d, freerdp_root, r'^(audin_.*)\.so$',
69 output_pattern='libfreerdp-plugin-%s',
70 description='FreeRDP plugin %s',
71 prepend=True, extra_depends='libfreerdp-plugin-audin')
72
73 do_split_packages(d, freerdp_root, r'^(rdpsnd_.*)\.so$',
74 output_pattern='libfreerdp-plugin-%s',
75 description='FreeRDP plugin %s',
76 prepend=True, extra_depends='libfreerdp-plugin-rdpsnd')
77
78 do_split_packages(d, freerdp_root, r'^(tsmf_.*)\.so$',
79 output_pattern='libfreerdp-plugin-%s',
80 description='FreeRDP plugin %s',
81 prepend=True, extra_depends='libfreerdp-plugin-tsmf')
82
83 do_split_packages(d, freerdp_root, r'^([^-]*)\.so$',
84 output_pattern='libfreerdp-plugin-%s',
85 description='FreeRDP plugin %s',
86 prepend=True, extra_depends='')
87}