Commit Graph

33 Commits

Author SHA1 Message Date
Yann E. MORIN
e01e5ddca6 package/freerdp: introduce the wayland client
[Peter: use 'depends on' for wayland to match X11 client]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-03 14:13:12 +02:00
Yann E. MORIN
4d131b4da9 package/freerdp: prepare for adding another client
Currently, the only client we can build is the X11 client.

FreeRDP now has support for building a wayland client.

However, that means we need to rethink the way we build FreeRDP, because
of some "inconsistencies" in its build system. This is because FreeRDP's
buildsystem does not have orthogonal options; some of the options can be
used for different components.

For example, the set of X11 libraries needed to build the server is a
superset of the X11 libraries needed to build the X11 client. So,
whenever the server is enabled, it means the X11 libraries required to
build the X11 client are available.

Now, if the user also wants to build the waland client (but not the X11
client), there is no way to tell FreeRDP not to build the X11 client,
because there is a single option, WITH_CLIENT, to drive whether any of
the clients is built. The decision is made on the availability of the
required libraries. And since the server is enabled, the X11 libs
required to build the X11 client are available. So, we end up with the
X11 client, even though it is not wanted.

And conversely with wayland...

So, we redesign the way we build FreeRDP. WE do not care what is
actually built; we just build whatever is buildable with the current
set of enabled libraries. But at install time (both in staging/ and
target/) we remove whatever the user does not want.

We also take the opportunity to rename the X11 client option, so it is
coherent with the soon-to-be-introduced wayland client.

Note: since FreeRDP has gained new dependencies, we can not just
introduce the legacy option as-is, otherwise we run the risk that it
selects the new option even though the new FreeRDP dependencies are not
enabled, spitting out the infamous 'unmet direct dependencies" kconfig
error.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-03 13:43:46 +02:00
Yann E. MORIN
6c7f3b28e6 package/freerdp: re-add support for gstreamer
Previously, we expected the user to select gstreamer-0.x on his own,
to enable gstreamer support in FreeRDP. This could have been a bit
confusing to the user, as he may have enabled gst-1.x but FreeRDP did
only support gst-0.x.

Also, gstreamer support needs xlib-libxrandr, which was missing in
FreeRDP's dependencies, so it was never enabled (AFAICS).

(Re-)introduce support for gstreamer-0.x and gstreamer-1.x, since both
are supported.

We're doing it in a choice, and select whichever version the user chooses,
rather than automatically detect it as previosuly done.  We can select the
gstreamer packages, as their dependencies are anyway already covered by the
ones of FreeRDP.

This also now requires xlib-libxrandr, so hide the choice if X.org is
not enabled, still offer the option of not using gstreamer if it is.

[Peter: Hide option if gstreamer{,1} aren't enabled,
	Default to gstreamer{,1} support enabled
	GStreamer 0.10 support needs host-pkgconf and libxml2]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-03 09:09:28 +02:00
Yann E. MORIN
e84a286762 package/freerdp: bump to master
Currently, we're packaging FreeRDP from the stable-1.1 branch, which has
not evolved since march 2015 and hasn't seen any release (not even a
tag) since July 2013. It is by all purpose and means, dead.

Other packages that may use FreeRDP (like weston) are now migrating to,
or have already migrated to using the API from master, which has changed
a bit from what was available on the stable-1.1 branch. So, those
packages now FTBFS.

However, FreeRDP still has not done a release from their master branch;
the last tag dates back to September 2014 and there are 1850+ changes on
top of that tag.

So, switch to using the currently-latest commit from master.

This version can also use gstreamer-1.x (in addition to gst-0.x), which
needs quite some rework on how we handle the dependency on gstreamer.
Drop gstreamer support entirely, support for gst-0.x and gst-1.x will be
re-added in a followup patch.

Similarly, a wayland client can now be built, support for which will
be added in a subsequent path; it is currently forcibly disabled.

The way the libraries are built has changed: the previous single library
has been split in multiple libraries, each implementing parts of the RDP
protocol.

Slight rewording of the prompts:
  - drop the 'install' for client and server.
  - drop 'freerdp' from the client and server comment

The location of the server keys has changed, so copy them from the new
location.

Finally, drop patches 1 and 3, applied upstrem; rename remaining
patches.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-02 22:21:22 +02:00
Samuel Martin
ffee06d2e3 package/freerdp: fix build with gstreamer support
FreeRDP with gstreamer support enabled needs gstreamer and gst-plugins-base
with gstapp.

Fixes:
  http://autobuild.buildroot.net/results/937/9373d4238bc3f027e571581bd3531018c4faed91/
  http://autobuild.buildroot.org/results/f77/f77a2c9eea7973b54a22e12ab33ee8964adaddfd/

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Tested-by: Gergely Imreh <imrehg@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-05-20 23:20:53 +02:00
Yann E. MORIN
fa3f6a2ec0 package/freerdp: bump version
Little bump to get small bug fixes.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-04 15:06:31 +02:00
Yann E. MORIN
6ab4692407 package/freerdp: Always install key and certificate
Currently, the keys are only installed if the server is enabled.

However, other packages (e.g. weston) may implement an RDP server,
using the FreeRDP library.

So, we must always install the key and certificate.

Install them world-readable so non-root users may start an RDP server
without requiring to generate their own keys.

Add a comment in the help text about key and certificate management.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 22:23:16 +01:00
Yann E. MORIN
b3845ee523 package/freerdp: fix a comment
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 22:22:57 +01:00
Yann E. MORIN
b5848e87f5 package/freerdp: install server key and certificate
This is mandatory for an RDP server to have a key and a certificate,
otherwise clients will refuse to connect to that server.

We install the key and certificate bundled in FreeRDP. The user can
install its own set using a post-build script if needed.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 12:11:05 +01:00
Yann E. MORIN
8143dfa8ed package/freerdp: also install to staging
freerdp installs a library that other packages may use, so
we must also install it to staging.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 12:10:32 +01:00
Yann E. MORIN
85f997bfa2 package/freerdp: add options to enable/disable server and/or client
Building the client or the server requires an X.Org stack.

Since freerdp can also be used for weston (wayland-based, hence no X.Org
stack), we may want to disable the client and server.

Conversely, even with an X.Org stack, we may want to enable either or
none if we're just interested in the library.

Add two options, one to enable the server, the other the client; the
client option defaults to 'Y' so that a previous .config can be re-used
as-is, and exhibit the same behaviour as before; the server option
defaults to 'N' as we were not ever building the server so far.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 11:32:55 +01:00
Yann E. MORIN
d081d51bf9 package/freerdp: move architecture-specific block
Move the arch-spcific block up, so it does not interfere with followup
patches (mostly to ease review).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 11:31:08 +01:00
Yann E. MORIN
53ba93a473 package/freerdp: do not forcibly depend on X.Org
It is possible to build the libfreerdp standalone, without X.Org.
Having a libfreerdp will be usefull for the weston RDP compositor.

So, only select the strictly required X.Org library if X.Org is enabled,
and only build with Xcursor if it is enabled. Drop dependency on other
X.Org libraries, as they are not strictly required (or get pulled as
dependencies of the mandatory libXext).

Re-order the menuconfig, as freerdp is no longer an X-only application.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 10:48:34 +01:00
Yann E. MORIN
93c6c95198 package/freerdp: avoid development warning
FreeRDP still uses old-style variables (about linking interfaces), and
that causes a warning, which explicitly states it is targeted at
developers:

    Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link
    interface.  Run "cmake --help-policy CMP0022" for policy details.  Use the
    cmake_policy command to set the policy and suppress this warning.

    Target "freerdp-client" has an INTERFACE_LINK_LIBRARIES property which
    differs from its LINK_INTERFACE_LIBRARIES properties.

    INTERFACE_LINK_LIBRARIES:

      [elided list of stuff]

    LINK_INTERFACE_LIBRARIES:

    This warning is for project developers.  Use -Wno-dev to suppress it.

So, just get rid of it as instructed in that warning message itself.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 10:48:30 +01:00
Yann E. MORIN
777a252805 package/freerdp: conditionally build support for libXrender
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 10:48:25 +01:00
Yann E. MORIN
48bf1a45f5 package/freerdp: conditionally build support for libXi
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 10:48:21 +01:00
Yann E. MORIN
4da7b87f7d package/freerdp: conditionally build gstreamer support
Avoid a warning at configure time when gstreamer is missing.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 10:48:16 +01:00
Yann E. MORIN
361f528aea package/freerdp: bump version
Since we bumped to CMake-3.1, the build of FreeRDP is broken:

    CMake Error at channels/client/CMakeLists.txt:33 (list):
      list sub-command REMOVE_DUPLICATES requires list to be present.

This has been fixed upstream, so just bump the version to get that fix.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 10:37:02 +01:00
Thomas Petazzoni
64f94d1109 freerdp: pass appropriate ARM ABI flags
In the line of commit 530693787b ("package/freerdp: do not use Neon
extensions when not available") done by Yann E. Morin, freerdp also
passes an explicit -mfloat-abi= flag, and defaults to softfp. This
obviously breaks badly when building an EABIhf system.

This commit therefore fixes freerdp.mk to pass the appropriate
ARM_FP_ABI value to freerdp's build system.

Fixes:

  http://autobuild.buildroot.org/results/6ca/6ca9de1a11c675533baa68f7a6bf7b6af7cb4345/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-29 16:00:37 +01:00
Yann E. MORIN
52bcc51bbd package/freerdp: do not use SSE2 extensions when not available
Do not let FreeRDP decide whether it can use SE2 opcodes, it may well
fail to do so, because the heuristic is not working for
cross-compilation.

Also, we do have a Kconfig option stating whether we have SSE2 or not,
so reuse that.

Similar to the recent ARM+Neon fix.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-27 19:59:45 +01:00
Yann E. MORIN
530693787b package/freerdp: do not use Neon extensions when not available
FreeRDP mis-detects the CPU, and may enable Neon extensions when it
should not. Not all ARM processors have Neon extensions.

Heck, what's more, none non-ARM processor has Neon extensions!
The regexp to detect the CPU is borked:  'arm*'  will also match 'arc'
as well as 'arm'.

Do not let FreeRDP try to decide if it can use Neon extensions, we have
a Kconfig option for that, that we can use to force FreeRDP to use it or
not.

Should fix:
    http://autobuild.buildroot.org/results/d4a/d4a61e686cf11d993d02ece0c4e2835a926603c2/
    http://autobuild.buildroot.org/results/234/2349d40ef8d658ab1cd7332eb1b42a75afcd423f/
   ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-27 19:59:39 +01:00
Yann E. MORIN
093a4f4fc4 pacakge/freerdp: disable building the manpages
Building the manpages requires xsltproc, which might not be available.
Also, who needs the manpages on the target anyway? ;-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-07 21:30:33 +01:00
Gustavo Zacarias
818fea6e6c freerdp: alsa support needs mixer as well
Fixes:
http://autobuild.buildroot.net/results/5ed/5edaa6654b90299ead5255d1cbdf79eb8b40fc6f/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-25 01:20:54 +02:00
Thomas De Schampheleire
aaffd209fa packages: rename FOO_CONF_OPT into FOO_CONF_OPTS
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_CONF_OPT.

Sed command used:
   find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g'

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-04 18:54:16 +02:00
Yann E. MORIN
5539e93cfc package/freerdp: bump version
There has been no new release recently, and the 1.0 branch is out-dated.

The 1.1 branch has not been release-tagged since the last beta tag,
but it still continues to receive bug fixes, and is relatively stable.

The next major release should be 1.2.0, but it is still in beta, looks
like it is focused on Android, and was only recently tagged.

So, we use the latest cset from the 1.1 branch until there is a new
release (either 1.2.0 or 1.1.0), at which point we can revisit which
version we'll use.

Drop our patch, since the problem has been fixed upstream (with a more
complete solution.)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-09-21 21:26:14 +02:00
Gustavo Zacarias
be95d3a3ff freerdp: fix typo in license information
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-26 23:07:36 +02:00
Gustavo Zacarias
0dafb509e5 freerdp: bump to version 1.0.2
And switch to github helper.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-18 14:21:00 +02:00
Simon Dawson
ab836f14e6 package: standardise Apache licenses
Apache licenses are referred to in a variety of ways; standardise these,
choosing a form which does not contain whitespace.

Signed-off-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-01-02 15:12:02 +01:00
Gustavo Zacarias
632fd88385 freerdp: add licensing info
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-11 22:25:59 +01:00
Jerzy Grzegorek
5a57148657 fix header package name
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-27 15:21:03 +02:00
Alexandre Belloni
8dfd59d114 Normalize separator size to 80
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 22:30:24 +02:00
Arnout Vandecappelle (Essensium/Mind)
e1502ebc0c all packages: rename XXXTARGETS to xxx-package
Also remove the redundant $(call ...).

This is a purely mechanical change, performed with
find package linux toolchain boot -name \*.mk | \
  xargs sed -i -e 's/$(eval $(call GENTARGETS))/$(eval $(generic-package))/' \
               -e 's/$(eval $(call AUTOTARGETS))/$(eval $(autotools-package))/' \
               -e 's/$(eval $(call CMAKETARGETS))/$(eval $(cmake-package))/'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 20:23:05 +02:00
Julian Lunz
d9f72abf4b freerdp: new package
[Peter: fix help, required and optional dependencies]
Signed-off-by: Julian Lunz <git@jlunz.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-06 00:34:16 +02:00