xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.6.1.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# Copyright (C) 2010-2012 O.S. Systems Software Ltda. All Rights Reserved
2*4882a593Smuzhiyun# Released under the MIT license
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunDESCRIPTION = "FreeRDP RDP client & server library"
5*4882a593SmuzhiyunHOMEPAGE = "http://www.freerdp.com"
6*4882a593SmuzhiyunDEPENDS = "openssl alsa-lib libusb1"
7*4882a593SmuzhiyunSECTION = "net"
8*4882a593SmuzhiyunLICENSE = "Apache-2.0"
9*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
10*4882a593Smuzhiyun
11*4882a593Smuzhiyuninherit pkgconfig cmake gitpkgv
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunPE = "1"
14*4882a593SmuzhiyunPKGV = "${GITPKGVTAG}"
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunSRCREV = "658a72980f6e93241d927c46cfa664bf2547b8b1"
17*4882a593SmuzhiyunSRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \
18*4882a593Smuzhiyun    file://winpr-makecert-Build-with-install-RPATH.patch \
19*4882a593Smuzhiyun"
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunS = "${WORKDIR}/git"
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunEXTRA_OECMAKE += " \
24*4882a593Smuzhiyun    -DWITH_ALSA=ON \
25*4882a593Smuzhiyun    -DWITH_FFMPEG=OFF \
26*4882a593Smuzhiyun    -DWITH_CUNIT=OFF \
27*4882a593Smuzhiyun    -DWITH_NEON=OFF \
28*4882a593Smuzhiyun    -DBUILD_STATIC_LIBS=OFF \
29*4882a593Smuzhiyun    -DCMAKE_POSITION_INDEPENDANT_CODE=ON \
30*4882a593Smuzhiyun    -DWITH_MANPAGES=OFF \
31*4882a593Smuzhiyun"
32*4882a593Smuzhiyun
33*4882a593SmuzhiyunPACKAGECONFIG ??= " \
34*4882a593Smuzhiyun    ${@bb.utils.filter('DISTRO_FEATURES', 'directfb pam pulseaudio wayland x11', d)}\
35*4882a593Smuzhiyun    gstreamer cups pcsc \
36*4882a593Smuzhiyun"
37*4882a593Smuzhiyun
38*4882a593SmuzhiyunX11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile"
39*4882a593SmuzhiyunPACKAGECONFIG[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}"
40*4882a593SmuzhiyunPACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon"
41*4882a593SmuzhiyunPACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb"
42*4882a593SmuzhiyunPACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam"
43*4882a593SmuzhiyunPACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite"
44*4882a593SmuzhiyunPACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio"
45*4882a593SmuzhiyunPACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base"
46*4882a593SmuzhiyunPACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups"
47*4882a593Smuzhiyun
48*4882a593SmuzhiyunPACKAGES =+ "libfreerdp"
49*4882a593Smuzhiyun
50*4882a593SmuzhiyunLEAD_SONAME = "libfreerdp.so"
51*4882a593SmuzhiyunFILES:libfreerdp = "${libdir}/lib*${SOLIBS}"
52*4882a593Smuzhiyun
53*4882a593SmuzhiyunPACKAGES_DYNAMIC += "^libfreerdp-plugin-.*"
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun# we will need winpr-makecert to generate TLS certificates
56*4882a593Smuzhiyundo_install:append () {
57*4882a593Smuzhiyun    install -d ${D}${bindir}
58*4882a593Smuzhiyun    install -m755 winpr/tools/makecert-cli/winpr-makecert ${D}${bindir}
59*4882a593Smuzhiyun    rm -rf ${D}${libdir}/cmake
60*4882a593Smuzhiyun    rm -rf ${D}${libdir}/freerdp
61*4882a593Smuzhiyun}
62*4882a593Smuzhiyun
63*4882a593Smuzhiyunpython populate_packages:prepend () {
64*4882a593Smuzhiyun    freerdp_root = d.expand('${libdir}/freerdp')
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun    do_split_packages(d, freerdp_root, r'^(audin_.*)\.so$',
67*4882a593Smuzhiyun        output_pattern='libfreerdp-plugin-%s',
68*4882a593Smuzhiyun        description='FreeRDP plugin %s',
69*4882a593Smuzhiyun        prepend=True, extra_depends='libfreerdp-plugin-audin')
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun    do_split_packages(d, freerdp_root, r'^(rdpsnd_.*)\.so$',
72*4882a593Smuzhiyun        output_pattern='libfreerdp-plugin-%s',
73*4882a593Smuzhiyun        description='FreeRDP plugin %s',
74*4882a593Smuzhiyun        prepend=True, extra_depends='libfreerdp-plugin-rdpsnd')
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun    do_split_packages(d, freerdp_root, r'^(tsmf_.*)\.so$',
77*4882a593Smuzhiyun        output_pattern='libfreerdp-plugin-%s',
78*4882a593Smuzhiyun        description='FreeRDP plugin %s',
79*4882a593Smuzhiyun        prepend=True, extra_depends='libfreerdp-plugin-tsmf')
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun    do_split_packages(d, freerdp_root, r'^([^-]*)\.so$',
82*4882a593Smuzhiyun        output_pattern='libfreerdp-plugin-%s',
83*4882a593Smuzhiyun        description='FreeRDP plugin %s',
84*4882a593Smuzhiyun        prepend=True, extra_depends='')
85*4882a593Smuzhiyun}
86