summaryrefslogtreecommitdiff
path: root/net-misc/freerdp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-misc/freerdp
reinit the tree, so we can have metadata
Diffstat (limited to 'net-misc/freerdp')
-rw-r--r--net-misc/freerdp/Manifest18
-rw-r--r--net-misc/freerdp/files/1.2.1-gstreamer.patch71
-rw-r--r--net-misc/freerdp/files/2.0.0-rc0-libressl.patch89
-rw-r--r--net-misc/freerdp/files/freerdp-Fix-gstreamer-1.0-detection.patch25
-rw-r--r--net-misc/freerdp/files/freerdp-armfp.patch84
-rw-r--r--net-misc/freerdp/files/freerdp-ffmpeg29.patch42
-rw-r--r--net-misc/freerdp/files/freerdp-libressl.patch148
-rw-r--r--net-misc/freerdp/freerdp-1.2.1_pre20150326-r1.ebuild114
-rw-r--r--net-misc/freerdp/freerdp-2.0.0_pre20160722.ebuild113
-rw-r--r--net-misc/freerdp/freerdp-2.0.0_pre20161219.ebuild119
-rw-r--r--net-misc/freerdp/freerdp-2.0.0_rc0.ebuild123
-rw-r--r--net-misc/freerdp/freerdp-9999.ebuild119
-rw-r--r--net-misc/freerdp/metadata.xml16
13 files changed, 1081 insertions, 0 deletions
diff --git a/net-misc/freerdp/Manifest b/net-misc/freerdp/Manifest
new file mode 100644
index 000000000000..70b8f7cf06b1
--- /dev/null
+++ b/net-misc/freerdp/Manifest
@@ -0,0 +1,18 @@
+AUX 1.2.1-gstreamer.patch 3675 SHA256 1834db2d676c562192d9821050794e853d581bdad3520d6e176bf8d795595120 SHA512 758675e9f9292acc9877c37e240c8144a2e4f2f0440f9a75b64895f0f8514bb991cab4295250107b85df2058f07988c93f399690c8e06dbcfcb023d9dfde921e WHIRLPOOL 984e7c6b6f5da0e2d70025d57373d8029e3494e9ec3b511ad4d00c1535ecc9d856572b25fbcce0668440cc7376bae23d7a7b9a8c73693fc91b74ed0852826150
+AUX 2.0.0-rc0-libressl.patch 3404 SHA256 b648d12bc796ad4358f7ef98a810fb3236a03701718a8ed15e60e3221578fd72 SHA512 b7b1018da4469de6c688e5894b200ec6846090e7e04ccd3e8e38b6f500832e75ffb30eef84845628eb26ed9ca64a4768dfd5c6a2f44d1fd13ad58b60074be21b WHIRLPOOL f6ea31d75e507dc9b30fd305844e684bcf932827c6fa010a67eabc6e4d39ddc9ab12f4ea7b32656a4bb6c84010835f1863d6ba765275b6a767e82eb30c2860d9
+AUX freerdp-Fix-gstreamer-1.0-detection.patch 989 SHA256 bdc78887d0b5cd66306661f721b40342f8c8e52252cdd40f10ab4787d01c58b8 SHA512 50fb859ce7dfb2af89efe5f40f0cf318da3fd32503b51e133e296420bde16bbc090f0aa10f6df09dce5ff9769e79fcabc1535f89413d962b7b06f6461dfcfb77 WHIRLPOOL 408225170cc317e8d26fc212bd9cd15a2f5875ed2c4898602c7bd2fe4bf04ea8014b8040bd0933377ce4aef7cfcb236d7286af4cfdf22b83090bc30fb6e32e6e
+AUX freerdp-armfp.patch 2930 SHA256 c23833cf722098cc0f74a6c130c30e57ead3effd3a04a6b4206f2aa887ace6e7 SHA512 57dd03e82b822fed95a5379aa79ada99910ef6c2a9cfaab1dc721181f76aa249d839576d31aa83e3568a37abc5b81a3ff8c5c2d0d15e6a5e457d254660581a48 WHIRLPOOL 546448549b20e4a4b81c2cba4a4db92d9c971a070ff5d21ef9c6db22bd67157a6eb8b54901e038876926fa6a7d8f9208185580214132c91ce460b417be0b0af9
+AUX freerdp-ffmpeg29.patch 1778 SHA256 34495290e5b3a49c0028ad755fab86d7cb86d5c28c0008d52681458b5bbd38ee SHA512 c58acc5ddab34fe664d38649b7271ad793430cb1c9ad8e6b78f1924a8b70e1b8d76c426fb633cf6dd97fe3277664649fd7254e2e4377330c64234d23f1b26fd1 WHIRLPOOL 7473fbe86dc56c0f7d57a68a6b06b1cfa2058e844eff228f9d8c41cc6e54ed72ae57b67b80dd6069e157d94a74eac2b57f1f442cc63222431771d8f1eedae152
+AUX freerdp-libressl.patch 5386 SHA256 27000f4daea0fc4457584aa11007619a6ebda610184161138425f3ff97a473ec SHA512 9ee540047e4d8e61904eace6f41dcc8ec36089b6e34f6df152529a1f505014aa9cec163e46478938af38b173498d254d5b738183c2d463d445524903be6b6645 WHIRLPOOL edd5b64df7ba9a27b5cd50b81c2c2d1234d8d953723d3296de15b63d0401c86c23668ab82b4674a8210a2c033c94f5d1cc81b1d97bdad46205a0ccde0ae55c35
+DIST FreeRDP-2.0.0-rc0.tar.gz 6486533 SHA256 b432d92f529646f3e914513c8202c66ce167405082ee5b9e6d15ba4321ff6664 SHA512 9bc9ee976c73f274a4258613409e242088bd077bcd1cc43f7941170374fc0f9deda7f2f7644506d0cdc2e029b6037abb21d848810dcce6aefa3c5f1642f19cb3 WHIRLPOOL ae0e5d0422a1a3bb95e351dcf9a8845d56eb39189cd94f1a33d27f6a8282d6901ba743f0e3dfda6f53e1915b506a596bac6812553bf5a42ec1fecfb8c5b875ea
+DIST freerdp-1.2.1_pre20150326.tar.gz 6146857 SHA256 c0646f224ea30a485e165fb31eb8a039af2ca3f257cdf784b319e1b5c13e0425 SHA512 ca1499d56ecb9c9bc624de2ecc976eb9633b795050ac01e16fcc9e0a8951d274cc63644a0e2b830e75f66de894f6a22274864fd20a9351834f6d664874e65ec8 WHIRLPOOL 1ff6ce70d454a7e0cbb3cd4fbafe1fb4191dadc3b2f8a6dbff10d8c725b8fc2838a863837d9b01f6daa670483fe40266fb57569904ad8ac8503549d6605c9e64
+DIST freerdp-2.0.0_pre20160722.tar.gz 6412437 SHA256 17d6b7b9ec6bcfbb78d72ecda034e1ed6bdae4f95a8100297096a5e5e095463a SHA512 3b67de8f31740ccba0ce59f0035328bda6c1602e6197a31008bdd5bcab15e85f473c6c4eca5cb87670b34fa174e4b0da21a7f75be99686df485bb7f9cda6f589 WHIRLPOOL b494070185435da954e9d998915fbe4b47286c803c03bc4839afa583082434fc4d51776b62db27255b9ba62ecb8ef9c95af96e2920414e0fff9b27dceecb4cd4
+DIST freerdp-2.0.0_pre20161219.tar.gz 6425913 SHA256 b71aa5e99624f7bd4c28e69cb2bf3b7710696db121f67091de843c5c652194fd SHA512 ad1699f520df2fdc0719ca35623beaa7b24ca9325e3ed6f30a153a34a237606dc43af2d71068c003f56e4ecbb0bdc07651564d62ba26c792896cecd9065c019a WHIRLPOOL 80dda4d7f97854a19dec48d6169b2cca6bebcd28feab153ca2686faba67d9ae8ae6286661667567315a8e19e7d40bd45c97829171743489681f391236415b8cb
+EBUILD freerdp-1.2.1_pre20150326-r1.ebuild 2786 SHA256 a7d5d3266839d0064003a7af8d56f2be0edb386da45c96267e6cbef2ccc54732 SHA512 57788c008c8d32a69ae90ce741cca7b12d7b8d0808fd4e151bd99febb70b7d7d016dc6d586eaf9dfc3ef888cec0b752c0eb9805610ac6910dbd0808914bb5900 WHIRLPOOL 80c393052b9d482dd5ecd94460b416110abdb4a62a44044594fc4c18c93fc489de7f3d7aacc4f4468e788a51ec81f7cb1ba064ddd2ecf0de866b2860756738d9
+EBUILD freerdp-2.0.0_pre20160722.ebuild 2618 SHA256 f8c2359f54efa6ba9b33210ce67be89268dcc7872113d897a2f307e6f7cec6a3 SHA512 0b287c9c0aa5cc661077aba27d19b66e7df14286b026e096a8bc6caf29089130af8e8a8c07972157698ed6e2718d7c4ec2e98771688c49084d4ae9157913df25 WHIRLPOOL e11a14ae7d10cc1ff1b8b9915956c98333017d73e533dfe67d1d4f9ccdf22d03cb30f417b7d99e919140f3b4156b73e08ff25c686f9eb3ab4374406ff5c203a1
+EBUILD freerdp-2.0.0_pre20161219.ebuild 2717 SHA256 79f4ed394816e0d62cd3577519e973a89b61e4bfa0ee464d83a60e13c41ce7be SHA512 9b9c7c9183248983953e9dd654c804809f9c0be94eff4738d2d302e139e54aebdc76cadec90cd5fe0f54d3f687b1c68eb129316eb16e50df513fd343136570c2 WHIRLPOOL 73bc2054bf69a909accb11e58da82ecd47dbcd6b39d4cdc6612149bce93b4466d88cec2252019a0793ce798582437e1c90213841721c8ddbfaa5cfdef04f9219
+EBUILD freerdp-2.0.0_rc0.ebuild 2859 SHA256 2056d92fbebc2a1b6d5de98a27cc1da7fb2c28dfc7f3b17cd181ac947a282b05 SHA512 0e04d79ddd6dafec57f013f454f0cbff07c13ad906c9956c968e23ae84d61c0ffc4c1cdfd1ae821e05c29657a84967ee8f0942488e5840f8613376e5fc83e347 WHIRLPOOL 5039f73774ca3b423f219b3ef5f4ecda16410482fae0cc265ffc54d8b354eb84bfef70ad323cd5e9e9908f971897747e1f3043828fa011f3ec88c24e41fe71a3
+EBUILD freerdp-9999.ebuild 2750 SHA256 920ece2f9682ee7f2596683a2a066582a0a1d13e438349b1523d227bfa7cb3de SHA512 67262976d2f1e4b990aa02347c81bd91f916425ba3ef1963800ee98632c5f9cb54121f1548125d83b0c83222508fdf8788f566d37cfbcdf9fc8d58543cb2ade4 WHIRLPOOL 906978a8f4303c093134f8126de0391d412e11065ec5b06c352d72e443b81dd884cb9bb843e9ad5171a4b7460d8141f3dcdd9275461e85cdf310dbdbf05f41d6
+MISC ChangeLog 6836 SHA256 3c7bef6d4b666b0d2a39418b1b3782a2f08bcc3dfdd844251cbd4af9552581d6 SHA512 67939aa2da6a6846b44cd211c85536bed311e43ea3177bc13599fffacccf7de0559ea3c01b2f7ea0477542bc33a265c8631060286770385132bc09f9c647d763 WHIRLPOOL a79bc36cf9dca2cee4f7a3eb0bef7f41c8357d8c5ebfe01c4dbbe601f8451ac713e8aa983d17c25c5557ad76a21b1bc89a42fdaeb60d97cd0c4ed6e05b027927
+MISC ChangeLog-2015 15438 SHA256 441eb5b5de512e3a69e2d6534e6df2887eac0dc47442bbae9d9d38da4c8e6418 SHA512 860511c1522ab39ac87790071dcf3d184b482747c95c26262a0dda8e169c27ea543132f342e24f706acd4149e2e974070313244a900b457c6b9c8b083a7a34bf WHIRLPOOL a66bd0559152bb47bec372a8e90e5877d863f3fcf25ed22a04bf5bc87a45bdbb5b909dea6e3fcc25b11b301ee3857c609d6c15749c955cfd80da65cef532b01b
+MISC metadata.xml 532 SHA256 694d3fcf1af992c0ad27ff7d42fb22f4f8f253398daf9f5e4c3e3e74df9fb835 SHA512 7e80224d494d65b4215f157266512649803df82de87a73a68e08f8cc1a62b7e87b966641b75779179ed26fc124d4235e4efe9b239c13701c96f92de09bcab3b0 WHIRLPOOL ec2e222b5720a3711d98a459ccfafb4f61a16bf310242fec526433b9b94fd826b1a9a82693c10381e9111e54cc6f78f507976c8b85c53653e10373d236522ffc
diff --git a/net-misc/freerdp/files/1.2.1-gstreamer.patch b/net-misc/freerdp/files/1.2.1-gstreamer.patch
new file mode 100644
index 000000000000..cafe9702210a
--- /dev/null
+++ b/net-misc/freerdp/files/1.2.1-gstreamer.patch
@@ -0,0 +1,71 @@
+From bea27fd919b64ee8d97996409e279e1e83d13594 Mon Sep 17 00:00:00 2001
+From: Jean-Louis Dupond <jean-louis@dupond.be>
+Date: Sun, 4 Oct 2015 18:17:33 +0200
+Subject: [PATCH] FindGStreamer_1_0: fix build failure for new gstreamer
+ versions
+
+---
+ cmake/FindGStreamer_1_0.cmake | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/cmake/FindGStreamer_1_0.cmake b/cmake/FindGStreamer_1_0.cmake
+index f7bf990..3aa8fc6 100644
+--- a/cmake/FindGStreamer_1_0.cmake
++++ b/cmake/FindGStreamer_1_0.cmake
+@@ -53,17 +53,17 @@ set(GSTREAMER_1_0_MINIMUM_VERSION 1.0.5)
+ # Helper macro to find a Gstreamer plugin (or Gstreamer itself)
+ # _component_prefix is prepended to the _INCLUDE_DIRS and _LIBRARIES variables (eg. "GSTREAMER_1_0_AUDIO")
+ # _pkgconfig_name is the component's pkg-config name (eg. "gstreamer-1.0", or "gstreamer-video-1.0").
+-# _header is the component's header, relative to the gstreamer-1.0 directory (eg. "gst/gst.h").
+ # _library is the component's library name (eg. "gstreamer-1.0" or "gstvideo-1.0")
+-macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _header _library)
++macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _library)
+ # FIXME: The QUIET keyword can be used once we require CMake 2.8.2.
+- pkg_check_modules(PC_${_component_prefix} ${_pkgconfig_name})
+
+- find_path(${_component_prefix}_INCLUDE_DIRS
+- NAMES ${_header}
+- HINTS ${PC_${_component_prefix}_INCLUDE_DIRS} ${PC_${_component_prefix}_INCLUDEDIR}
+- PATH_SUFFIXES gstreamer-1.0
+- )
++ string(REGEX MATCH "(.*)>=(.*)" _dummy "${_pkgconfig_name}")
++ if ("${CMAKE_MATCH_2}" STREQUAL "")
++ pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GStreamer_FIND_VERSION}")
++ else ()
++ pkg_check_modules(PC_${_component_prefix} ${_pkgconfig_name})
++ endif ()
++ set(${_component_prefix}_INCLUDE_DIRS ${PC_${_component_prefix}_INCLUDE_DIRS})
+
+ find_library(${_component_prefix}_LIBRARIES
+ NAMES ${_library} gstreamer_android
+@@ -78,8 +78,8 @@ endmacro()
+ # 1.1. Find headers and libraries
+ set(GLIB_ROOT_DIR ${GSTREAMER_1_0_ROOT_DIR})
+ find_package(Glib REQUIRED)
+-FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0 gstreamer-1.0 gst/gst.h gstreamer-1.0)
+-FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_BASE gstreamer-base-1.0 gst/gst.h gstbase-1.0)
++FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0 gstreamer-1.0 gstreamer-1.0)
++FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_BASE gstreamer-base-1.0 gstbase-1.0)
+
+ # 1.2. Check Gstreamer version
+ if (GSTREAMER_1_0_INCLUDE_DIRS)
+@@ -110,11 +110,11 @@ endif ()
+ # 2. Find Gstreamer plugins
+ # -------------------------
+
+-FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_APP gstreamer-app-1.0 gst/app/gstappsink.h gstapp-1.0)
+-FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_AUDIO gstreamer-audio-1.0 gst/audio/audio.h gstaudio-1.0)
+-FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_FFT gstreamer-fft-1.0 gst/fft/gstfft.h gstfft-1.0)
+-FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_PBUTILS gstreamer-pbutils-1.0 gst/pbutils/pbutils.h gstpbutils-1.0)
+-FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_VIDEO gstreamer-video-1.0 gst/video/video.h gstvideo-1.0)
++FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_APP gstreamer-app-1.0 gstapp-1.0)
++FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_AUDIO gstreamer-audio-1.0 gstaudio-1.0)
++FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_FFT gstreamer-fft-1.0 gstfft-1.0)
++FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_PBUTILS gstreamer-pbutils-1.0 gstpbutils-1.0)
++FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_VIDEO gstreamer-video-1.0 gstvideo-1.0)
+
+ # ------------------------------------------------
+ # 3. Process the COMPONENTS passed to FIND_PACKAGE
+--
+2.6.3
+
diff --git a/net-misc/freerdp/files/2.0.0-rc0-libressl.patch b/net-misc/freerdp/files/2.0.0-rc0-libressl.patch
new file mode 100644
index 000000000000..9e565e5b05db
--- /dev/null
+++ b/net-misc/freerdp/files/2.0.0-rc0-libressl.patch
@@ -0,0 +1,89 @@
+From 9bf9ff9e8a548ecb5306d0142e75cdc274e93ba1 Mon Sep 17 00:00:00 2001
+From: Valery Kartel <valery.kartel@gmail.com>
+Date: Wed, 26 Jul 2017 17:12:14 +0300
+Subject: [PATCH] Fix build with LibreSSL
+
+---
+ libfreerdp/crypto/crypto.c | 2 +-
+ winpr/libwinpr/utils/ssl.c | 6 +++---
+ winpr/tools/makecert/makecert.c | 6 +++---
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/libfreerdp/crypto/crypto.c b/libfreerdp/crypto/crypto.c
+index 15e65d534..f3bb595b8 100644
+--- a/libfreerdp/crypto/crypto.c
++++ b/libfreerdp/crypto/crypto.c
+@@ -388,7 +388,7 @@ BOOL x509_verify_certificate(CryptoCert cert, char* certificate_store_path)
+ if (cert_ctx == NULL)
+ goto end;
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ OpenSSL_add_all_algorithms();
+ #else
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
+diff --git a/winpr/libwinpr/utils/ssl.c b/winpr/libwinpr/utils/ssl.c
+index b674e21d5..78cbab1d8 100644
+--- a/winpr/libwinpr/utils/ssl.c
++++ b/winpr/libwinpr/utils/ssl.c
+@@ -255,7 +255,7 @@ static BOOL CALLBACK _winpr_openssl_initialize(PINIT_ONCE once, PVOID param, PVO
+ }
+ #endif
+ /* SSL_load_error_strings() is void */
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
+ SSL_load_error_strings();
+ /* SSL_library_init() always returns "1" */
+ SSL_library_init();
+@@ -296,7 +296,7 @@ BOOL winpr_CleanupSSL(DWORD flags)
+ #ifdef WINPR_OPENSSL_LOCKING_REQUIRED
+ _winpr_openssl_cleanup_locking();
+ #endif
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
+ CRYPTO_cleanup_all_ex_data();
+ ERR_free_strings();
+ EVP_cleanup();
+@@ -307,7 +307,7 @@ BOOL winpr_CleanupSSL(DWORD flags)
+ #ifdef WINPR_OPENSSL_LOCKING_REQUIRED
+ if (flags & WINPR_SSL_CLEANUP_THREAD)
+ {
+-#if (OPENSSL_VERSION_NUMBER < 0x10000000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10000000L) || defined(LIBRESSL_VERSION_NUMBER)
+ ERR_remove_state(0);
+ #else
+ ERR_remove_thread_state(NULL);
+diff --git a/winpr/tools/makecert/makecert.c b/winpr/tools/makecert/makecert.c
+index a9efb352c..c9e38200a 100644
+--- a/winpr/tools/makecert/makecert.c
++++ b/winpr/tools/makecert/makecert.c
+@@ -620,7 +620,7 @@ int makecert_context_output_certificate_file(MAKECERT_CONTEXT* context, char* pa
+ printf("Using default export password \"password\"\n");
+ }
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ OpenSSL_add_all_algorithms();
+ OpenSSL_add_all_ciphers();
+ OpenSSL_add_all_digests();
+@@ -1008,7 +1008,7 @@ int makecert_context_process(MAKECERT_CONTEXT* context, int argc, char** argv)
+ key_length = atoi(arg->Value);
+ }
+
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
+ context->rsa = RSA_generate_key(key_length, RSA_F4, NULL, NULL);
+ #else
+ {
+@@ -1043,7 +1043,7 @@ int makecert_context_process(MAKECERT_CONTEXT* context, int argc, char** argv)
+ {
+ ASN1_TIME* before;
+ ASN1_TIME* after;
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
+ before = X509_get_notBefore(context->x509);
+ after = X509_get_notAfter(context->x509);
+ #else
+--
+2.14.1
+
diff --git a/net-misc/freerdp/files/freerdp-Fix-gstreamer-1.0-detection.patch b/net-misc/freerdp/files/freerdp-Fix-gstreamer-1.0-detection.patch
new file mode 100644
index 000000000000..b63771d08187
--- /dev/null
+++ b/net-misc/freerdp/files/freerdp-Fix-gstreamer-1.0-detection.patch
@@ -0,0 +1,25 @@
+From 368989526c32cdf9d680a397fede3cb773fa2609 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Fri, 28 Jul 2017 16:31:41 -0400
+Subject: [PATCH] Fix gstreamer-1.0 detection
+
+---
+ cmake/FindGStreamer_1_0.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/FindGStreamer_1_0.cmake b/cmake/FindGStreamer_1_0.cmake
+index 3aa8fc6dc..6fbc0ecc5 100644
+--- a/cmake/FindGStreamer_1_0.cmake
++++ b/cmake/FindGStreamer_1_0.cmake
+@@ -59,7 +59,7 @@ macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _library)
+
+ string(REGEX MATCH "(.*)>=(.*)" _dummy "${_pkgconfig_name}")
+ if ("${CMAKE_MATCH_2}" STREQUAL "")
+- pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GStreamer_FIND_VERSION}")
++ pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GSTREAMER_1_0_MINIMUM_VERSION}")
+ else ()
+ pkg_check_modules(PC_${_component_prefix} ${_pkgconfig_name})
+ endif ()
+--
+2.13.3
+
diff --git a/net-misc/freerdp/files/freerdp-armfp.patch b/net-misc/freerdp/files/freerdp-armfp.patch
new file mode 100644
index 000000000000..1a367d5600c3
--- /dev/null
+++ b/net-misc/freerdp/files/freerdp-armfp.patch
@@ -0,0 +1,84 @@
+From 2355b54f8516a6e1c600df8f26ac7d56916bfd99 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Fri, 1 May 2015 17:35:21 -0400
+Subject: [PATCH] Remove the ARM_FP_ABI option
+
+It's unclear why this option would be necessary, and it causes problems
+when people do not match it to their toolchain and CFLAGS.
+
+To set the float abi, either use a toolchain with an appropriate default
+or set the float-abi option in the CFLAGS environment variable.
+
+This should resolve #2586.
+---
+ cmake/ConfigOptions.cmake | 6 ------
+ libfreerdp/CMakeLists.txt | 4 ++--
+ packaging/deb/freerdp-nightly/rules | 7 -------
+ 3 files changed, 2 insertions(+), 15 deletions(-)
+
+diff --git a/cmake/ConfigOptions.cmake b/cmake/ConfigOptions.cmake
+index b51a46b..cef6ba6 100644
+--- a/cmake/ConfigOptions.cmake
++++ b/cmake/ConfigOptions.cmake
+@@ -29,12 +29,6 @@ if(TARGET_ARCH MATCHES "ARM")
+ else()
+ option(WITH_NEON "Enable NEON optimization." OFF)
+ endif()
+- if (NOT DEFINED ARM_FP_ABI)
+- set(ARM_FP_ABI "softfp" CACHE STRING "Floating point ABI to use on arm")
+- else()
+- set(ARM_FP_ABI ${ARM_FP_API} CACHE STRING "Floating point ABI to use on arm")
+- endif()
+- mark_as_advanced(ARM_FP_ABI)
+ else()
+ if(NOT APPLE)
+ option(WITH_IPP "Use Intel Performance Primitives." OFF)
+diff --git a/libfreerdp/CMakeLists.txt b/libfreerdp/CMakeLists.txt
+index a1cbd9d..112b75a 100644
+--- a/libfreerdp/CMakeLists.txt
++++ b/libfreerdp/CMakeLists.txt
+@@ -156,7 +156,7 @@ if(WITH_SSE2)
+ endif()
+
+ if(WITH_NEON)
+- set_source_files_properties(${CODEC_NEON_SRCS} PROPERTIES COMPILE_FLAGS "-mfpu=neon -mfloat-abi=${ARM_FP_ABI} -Wno-unused-variable" )
++ set_source_files_properties(${CODEC_NEON_SRCS} PROPERTIES COMPILE_FLAGS "-mfpu=neon -Wno-unused-variable" )
+ set(CODEC_SRCS ${CODEC_SRCS} ${CODEC_NEON_SRCS})
+ endif()
+
+@@ -236,7 +236,7 @@ if(WITH_SSE2)
+ endif()
+ elseif(WITH_NEON)
+ if(CMAKE_COMPILER_IS_GNUCC)
+- set(OPTIMIZATION "${OPTIMIZATION} -mfpu=neon -mfloat-abi=${ARM_FP_ABI}")
++ set(OPTIMIZATION "${OPTIMIZATION} -mfpu=neon")
+ endif()
+ # TODO: Add MSVC equivalent
+ endif()
+diff --git a/packaging/deb/freerdp-nightly/rules b/packaging/deb/freerdp-nightly/rules
+index 4366f63..44ceb56 100755
+--- a/packaging/deb/freerdp-nightly/rules
++++ b/packaging/deb/freerdp-nightly/rules
+@@ -1,11 +1,5 @@
+ #!/usr/bin/make -f
+
+-DEB_HOST_ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH)
+-ifneq (,$(filter armhf,$(DEB_HOST_ARCH)))
+-ARM_FLOAT_ABI = -DARM_FP_ABI=hard
+-else
+-ARM_FLOAT_ABI =
+-endif
+ NULL =
+
+ DEB_CMAKE_EXTRA_FLAGS := -DCMAKE_SKIP_RPATH=FALSE \
+@@ -26,7 +20,6 @@ DEB_CMAKE_EXTRA_FLAGS := -DCMAKE_SKIP_RPATH=FALSE \
+ -DCMAKE_INSTALL_PREFIX=/opt/freerdp-nightly/ \
+ -DCMAKE_INSTALL_INCLUDEDIR=include \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+- $(ARM_FLOAT_ABI) \
+ $(NULL)
+
+ %:
+--
+2.5.0
+
diff --git a/net-misc/freerdp/files/freerdp-ffmpeg29.patch b/net-misc/freerdp/files/freerdp-ffmpeg29.patch
new file mode 100644
index 000000000000..e4d81bd1c2aa
--- /dev/null
+++ b/net-misc/freerdp/files/freerdp-ffmpeg29.patch
@@ -0,0 +1,42 @@
+https://github.com/FreeRDP/FreeRDP/pull/2895
+
+Index: freerdp-1.2.1_pre20150326/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c
+===================================================================
+--- freerdp-1.2.1_pre20150326.orig/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c
++++ freerdp-1.2.1_pre20150326/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c
+@@ -102,7 +102,7 @@ static BOOL tsmf_ffmpeg_init_video_strea
+ mdecoder->codec_context->bit_rate = media_type->BitRate;
+ mdecoder->codec_context->time_base.den = media_type->SamplesPerSecond.Numerator;
+ mdecoder->codec_context->time_base.num = media_type->SamplesPerSecond.Denominator;
+- mdecoder->frame = avcodec_alloc_frame();
++ mdecoder->frame = av_frame_alloc();
+ return TRUE;
+ }
+
+@@ -320,7 +320,7 @@ static BOOL tsmf_ffmpeg_decode_video(ITS
+ mdecoder->codec_context->width, mdecoder->codec_context->height);
+ mdecoder->decoded_data = malloc(mdecoder->decoded_size);
+ ZeroMemory(mdecoder->decoded_data, mdecoder->decoded_size);
+- frame = avcodec_alloc_frame();
++ frame = av_frame_alloc();
+ avpicture_fill((AVPicture*) frame, mdecoder->decoded_data,
+ mdecoder->codec_context->pix_fmt,
+ mdecoder->codec_context->width, mdecoder->codec_context->height);
+@@ -389,7 +389,7 @@ static BOOL tsmf_ffmpeg_decode_audio(ITS
+ (int16_t *) dst, &frame_size, src, src_size);
+ #else
+ {
+- AVFrame *decoded_frame = avcodec_alloc_frame();
++ AVFrame *decoded_frame = av_frame_alloc();
+ int got_frame = 0;
+ AVPacket pkt;
+ av_init_packet(&pkt);
+@@ -469,7 +469,7 @@ static UINT32 tsmf_ffmpeg_get_decoded_fo
+
+ switch (mdecoder->codec_context->pix_fmt)
+ {
+- case PIX_FMT_YUV420P:
++ case AV_PIX_FMT_YUV420P:
+ return RDP_PIXFMT_I420;
+ default:
+ WLog_ERR(TAG, "unsupported pixel format %u",
diff --git a/net-misc/freerdp/files/freerdp-libressl.patch b/net-misc/freerdp/files/freerdp-libressl.patch
new file mode 100644
index 000000000000..cbb79bcc1d31
--- /dev/null
+++ b/net-misc/freerdp/files/freerdp-libressl.patch
@@ -0,0 +1,148 @@
+From 70ab61c8e6083080093fc42e8e7172969864e2bd Mon Sep 17 00:00:00 2001
+From: Aric Belsito <lluixhi@gmail.com>
+Date: Sun, 19 Mar 2017 13:58:24 -0700
+Subject: [PATCH] Support LibreSSL
+
+Broken by the addition of OpenSSL 1.1.0 support.
+---
+ libfreerdp/crypto/opensslcompat.c | 4 ++--
+ libfreerdp/crypto/opensslcompat.h | 4 ++--
+ libfreerdp/crypto/tls.c | 8 ++++----
+ winpr/libwinpr/crypto/hash.c | 8 ++++----
+ winpr/libwinpr/utils/ssl.c | 2 +-
+ 5 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/libfreerdp/crypto/opensslcompat.c b/libfreerdp/crypto/opensslcompat.c
+index bb5aff7..701902d 100644
+--- a/libfreerdp/crypto/opensslcompat.c
++++ b/libfreerdp/crypto/opensslcompat.c
+@@ -19,7 +19,7 @@
+
+ #include "opensslcompat.h"
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+
+ BIO_METHOD* BIO_meth_new(int type, const char* name)
+ {
+@@ -41,4 +41,4 @@ void RSA_get0_key(const RSA* r, const BIGNUM** n, const BIGNUM** e, const BIGNUM
+ *d = r->d;
+ }
+
+-#endif /* OPENSSL < 1.1.0 */
++#endif /* OPENSSL < 1.1.0 || LIBRESSL */
+diff --git a/libfreerdp/crypto/opensslcompat.h b/libfreerdp/crypto/opensslcompat.h
+index a599863..b42d32f 100644
+--- a/libfreerdp/crypto/opensslcompat.h
++++ b/libfreerdp/crypto/opensslcompat.h
+@@ -30,7 +30,7 @@
+
+ #include <openssl/opensslv.h>
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+
+ #include <openssl/bio.h>
+ #include <openssl/rsa.h>
+@@ -59,7 +59,7 @@
+ BIO_METHOD* BIO_meth_new(int type, const char* name);
+ void RSA_get0_key(const RSA* r, const BIGNUM** n, const BIGNUM** e, const BIGNUM** d);
+
+-#endif /* OPENSSL < 1.1.0 */
++#endif /* OPENSSL < 1.1.0 || LIBRESSL */
+ #endif /* WITH_OPENSSL */
+
+ #endif /* FREERDP_CRYPTO_OPENSSLCOMPAT_H */
+diff --git a/libfreerdp/crypto/tls.c b/libfreerdp/crypto/tls.c
+index 1071a2e..c415763 100644
+--- a/libfreerdp/crypto/tls.c
++++ b/libfreerdp/crypto/tls.c
+@@ -323,7 +323,7 @@ static long bio_rdp_tls_ctrl(BIO* bio, int cmd, long num, void* ptr)
+ case BIO_CTRL_PUSH:
+ if (next_bio && (next_bio != ssl_rbio))
+ {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ SSL_set_bio(tls->ssl, next_bio, next_bio);
+ CRYPTO_add(&(bio->next_bio->references), 1, CRYPTO_LOCK_BIO);
+ #else
+@@ -346,7 +346,7 @@ static long bio_rdp_tls_ctrl(BIO* bio, int cmd, long num, void* ptr)
+ if (ssl_rbio != ssl_wbio)
+ BIO_free_all(ssl_wbio);
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ if (next_bio)
+ CRYPTO_add(&(bio->next_bio->references), -1, CRYPTO_LOCK_BIO);
+ tls->ssl->wbio = tls->ssl->rbio = NULL;
+@@ -384,7 +384,7 @@ static long bio_rdp_tls_ctrl(BIO* bio, int cmd, long num, void* ptr)
+ BIO_push(ssl_rbio, next_bio);
+
+ BIO_set_next(bio, ssl_rbio);
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ CRYPTO_add(&(ssl_rbio->references), 1, CRYPTO_LOCK_BIO);
+ #else
+ BIO_up_ref(ssl_rbio);
+@@ -1021,7 +1021,7 @@ BOOL tls_send_alert(rdpTls* tls)
+ * SSL struct is opaqe now
+ */
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ if (tls->alertDescription != TLS_ALERT_DESCRIPTION_CLOSE_NOTIFY)
+ {
+ /**
+diff --git a/winpr/libwinpr/crypto/hash.c b/winpr/libwinpr/crypto/hash.c
+index 949d687..27eb434 100644
+--- a/winpr/libwinpr/crypto/hash.c
++++ b/winpr/libwinpr/crypto/hash.c
+@@ -146,7 +146,7 @@ WINPR_HMAC_CTX* winpr_HMAC_New(void)
+
+ #if defined(WITH_OPENSSL)
+ HMAC_CTX* hmac = NULL;
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
+ if (!(hmac = (HMAC_CTX*) calloc(1, sizeof(HMAC_CTX))))
+ return NULL;
+ HMAC_CTX_init(hmac);
+@@ -267,7 +267,7 @@ void winpr_HMAC_Free(WINPR_HMAC_CTX* ctx)
+ HMAC_CTX* hmac = (HMAC_CTX*) ctx;
+ if (hmac)
+ {
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
+ HMAC_CTX_cleanup(hmac);
+ free(hmac);
+ #else
+@@ -317,7 +317,7 @@ WINPR_DIGEST_CTX* winpr_Digest_New(void)
+
+ #if defined(WITH_OPENSSL)
+ EVP_MD_CTX* mdctx;
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
+ mdctx = EVP_MD_CTX_create();
+ #else
+ mdctx = EVP_MD_CTX_new();
+@@ -406,7 +406,7 @@ void winpr_Digest_Free(WINPR_DIGEST_CTX* ctx)
+ EVP_MD_CTX* mdctx = (EVP_MD_CTX*) ctx;
+ if (mdctx)
+ {
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
+ EVP_MD_CTX_destroy(mdctx);
+ #else
+ EVP_MD_CTX_free(mdctx);
+diff --git a/winpr/libwinpr/utils/ssl.c b/winpr/libwinpr/utils/ssl.c
+index 2f8100f..5fd6ac6 100644
+--- a/winpr/libwinpr/utils/ssl.c
++++ b/winpr/libwinpr/utils/ssl.c
+@@ -45,7 +45,7 @@ static BOOL g_winpr_openssl_initialized_by_winpr = FALSE;
+ * set locking callbacks to use OpenSSL in a multi-threaded environment.
+ */
+
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
+
+ #define WINPR_OPENSSL_LOCKING_REQUIRED 1
+
diff --git a/net-misc/freerdp/freerdp-1.2.1_pre20150326-r1.ebuild b/net-misc/freerdp/freerdp-1.2.1_pre20150326-r1.ebuild
new file mode 100644
index 000000000000..0ead5f2d8dc9
--- /dev/null
+++ b/net-misc/freerdp/freerdp-1.2.1_pre20150326-r1.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit cmake-utils vcs-snapshot
+
+if [[ ${PV} != 9999* ]]; then
+ COMMIT="aa2181dcf2dd98693767ba738c5b2ad8c3d742d4"
+ SRC_URI="https://github.com/FreeRDP/FreeRDP/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="alpha amd64 arm ppc ppc64 x86"
+else
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/FreeRDP/FreeRDP.git"
+fi
+
+DESCRIPTION="Free implementation of the Remote Desktop Protocol"
+HOMEPAGE="http://www.freerdp.com/"
+
+LICENSE="Apache-2.0"
+SLOT="0/1.2"
+IUSE="alsa +client cpu_flags_x86_sse2 cups debug doc ffmpeg gstreamer jpeg libav
+ libressl neon pulseaudio server smartcard test usb wayland X xinerama xv"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ sys-libs/zlib:0
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ client? (
+ usb? (
+ virtual/libudev:0=
+ sys-apps/util-linux:0=
+ dev-libs/dbus-glib:0=
+ virtual/libusb:1=
+ )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ xinerama? ( x11-libs/libXinerama )
+ xv? ( x11-libs/libXv )
+ )
+ )
+ ffmpeg? (
+ libav? ( media-video/libav:0= )
+ !libav? ( media-video/ffmpeg:0= )
+ )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ x11-libs/libXrandr
+ )
+ jpeg? ( virtual/jpeg:0 )
+ pulseaudio? ( media-sound/pulseaudio )
+ server? (
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ xinerama? ( x11-libs/libXinerama )
+ )
+ )
+ smartcard? ( sys-apps/pcsc-lite )
+ wayland? ( dev-libs/wayland )
+ X? (
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ client? ( X? ( doc? (
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/xmlto
+ ) ) )
+"
+
+DOCS=( README )
+
+PATCHES=(
+ "${FILESDIR}/freerdp-armfp.patch"
+ "${FILESDIR}/freerdp-ffmpeg29.patch"
+ "${FILESDIR}/1.2.1-gstreamer.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_with alsa ALSA)
+ $(cmake-utils_use_with client CLIENT)
+ $(cmake-utils_use_with cups CUPS)
+ $(cmake-utils_use_with debug DEBUG_ALL)
+ $(cmake-utils_use_with doc MANPAGES)
+ $(cmake-utils_use_with ffmpeg FFMPEG)
+ $(cmake-utils_use_with gstreamer GSTREAMER_1_0)
+ $(cmake-utils_use_with jpeg JPEG)
+ $(cmake-utils_use_with neon NEON)
+ $(cmake-utils_use_with pulseaudio PULSE)
+ $(cmake-utils_use_with server SERVER)
+ $(cmake-utils_use_with smartcard PCSC)
+ $(cmake-utils_use_with cpu_flags_x86_sse2 SSE2)
+ $(cmake-utils_use usb CHANNEL_URBDRC)
+ $(cmake-utils_use_with X X11)
+ $(cmake-utils_use_with xinerama XINERAMA)
+ $(cmake-utils_use_with xv XV)
+ $(cmake-utils_use_build test TESTING)
+ $(cmake-utils_use_with wayland WAYLAND)
+ )
+ cmake-utils_src_configure
+}
diff --git a/net-misc/freerdp/freerdp-2.0.0_pre20160722.ebuild b/net-misc/freerdp/freerdp-2.0.0_pre20160722.ebuild
new file mode 100644
index 000000000000..980a8e4d2950
--- /dev/null
+++ b/net-misc/freerdp/freerdp-2.0.0_pre20160722.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit cmake-utils
+
+if [[ ${PV} != 9999 ]]; then
+ COMMIT="5b2455f3147aca395a441fc65b602938600f0788"
+ SRC_URI="https://github.com/FreeRDP/FreeRDP/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="alpha amd64 arm ppc ppc64 x86"
+ S="${WORKDIR}/FreeRDP-${COMMIT}"
+else
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/FreeRDP/FreeRDP.git"
+fi
+
+DESCRIPTION="Free implementation of the Remote Desktop Protocol"
+HOMEPAGE="http://www.freerdp.com/"
+
+LICENSE="Apache-2.0"
+SLOT="0/2"
+IUSE="alsa +client cpu_flags_x86_sse2 cups debug doc ffmpeg gstreamer jpeg libav libressl neon pulseaudio server smartcard systemd test usb wayland X xinerama xv"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ sys-libs/zlib:0
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ client? (
+ usb? (
+ virtual/libudev:0=
+ sys-apps/util-linux:0=
+ dev-libs/dbus-glib:0=
+ virtual/libusb:1=
+ )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ xinerama? ( x11-libs/libXinerama )
+ xv? ( x11-libs/libXv )
+ )
+ )
+ ffmpeg? (
+ libav? ( media-video/libav:0= )
+ !libav? ( media-video/ffmpeg:0= )
+ )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ x11-libs/libXrandr
+ )
+ jpeg? ( virtual/jpeg:0 )
+ pulseaudio? ( media-sound/pulseaudio )
+ server? (
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ xinerama? ( x11-libs/libXinerama )
+ )
+ )
+ smartcard? ( sys-apps/pcsc-lite )
+ systemd? ( sys-apps/systemd:0= )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/libxkbcommon
+ )
+ X? (
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ client? ( X? ( doc? (
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/xmlto
+ ) ) )
+"
+
+DOCS=( README )
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_ALSA=$(usex alsa)
+ -DWITH_CLIENT=$(usex client)
+ -DWITH_CUPS=$(usex cups)
+ -DWITH_DEBUG_ALL=$(usex debug)
+ -DWITH_MANPAGES=$(usex doc)
+ -DWITH_FFMPEG=$(usex ffmpeg)
+ -DWITH_GSTREAMER_1_0=$(usex gstreamer)
+ -DWITH_JPEG=$(usex jpeg)
+ -DWITH_NEON=$(usex neon)
+ -DWITH_PULSE=$(usex pulseaudio)
+ -DWITH_SERVER=$(usex server)
+ -DWITH_PCSC=$(usex smartcard)
+ -DWITH_LIBSYSTEMD=$(usex systemd)
+ -DWITH_SSE2=$(usex cpu_flags_x86_sse2)
+ -DCHANNEL_URBDRC=$(usex usb)
+ -DWITH_X11=$(usex X)
+ -DWITH_XINERAMA=$(usex xinerama)
+ -DWITH_XV=$(usex xv)
+ -DBUILD_TESTING=$(usex test)
+ -DWITH_WAYLAND=$(usex wayland)
+ )
+ cmake-utils_src_configure
+}
diff --git a/net-misc/freerdp/freerdp-2.0.0_pre20161219.ebuild b/net-misc/freerdp/freerdp-2.0.0_pre20161219.ebuild
new file mode 100644
index 000000000000..6d7b867a1b06
--- /dev/null
+++ b/net-misc/freerdp/freerdp-2.0.0_pre20161219.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit cmake-utils
+
+if [[ ${PV} != 9999 ]]; then
+ COMMIT="8d0809cf26868fc5ff651850a32724650597747f"
+ SRC_URI="https://github.com/FreeRDP/FreeRDP/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86"
+ S="${WORKDIR}/FreeRDP-${COMMIT}"
+else
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/FreeRDP/FreeRDP.git"
+fi
+
+DESCRIPTION="Free implementation of the Remote Desktop Protocol"
+HOMEPAGE="http://www.freerdp.com/"
+
+LICENSE="Apache-2.0"
+SLOT="0/2"
+IUSE="alsa +client cpu_flags_x86_sse2 cups debug doc ffmpeg gstreamer jpeg libav libressl neon pulseaudio server smartcard systemd test usb wayland X xinerama xv"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ sys-libs/zlib:0
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ client? (
+ usb? (
+ virtual/libudev:0=
+ sys-apps/util-linux:0=
+ dev-libs/dbus-glib:0=
+ virtual/libusb:1=
+ )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ xinerama? ( x11-libs/libXinerama )
+ xv? ( x11-libs/libXv )
+ )
+ )
+ ffmpeg? (
+ libav? ( media-video/libav:0= )
+ !libav? ( media-video/ffmpeg:0= )
+ )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ x11-libs/libXrandr
+ )
+ jpeg? ( virtual/jpeg:0 )
+ pulseaudio? ( media-sound/pulseaudio )
+ server? (
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ xinerama? ( x11-libs/libXinerama )
+ )
+ )
+ smartcard? ( sys-apps/pcsc-lite )
+ systemd? ( sys-apps/systemd:0= )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/libxkbcommon
+ )
+ X? (
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ client? ( X? ( doc? (
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/xmlto
+ ) ) )
+"
+
+DOCS=( README )
+
+PATCHES=(
+ "${FILESDIR}"/freerdp-libressl.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_ALSA=$(usex alsa)
+ -DWITH_CLIENT=$(usex client)
+ -DWITH_CUPS=$(usex cups)
+ -DWITH_DEBUG_ALL=$(usex debug)
+ -DWITH_MANPAGES=$(usex doc)
+ -DWITH_FFMPEG=$(usex ffmpeg)
+ -DWITH_GSTREAMER_1_0=$(usex gstreamer)
+ -DWITH_JPEG=$(usex jpeg)
+ -DWITH_NEON=$(usex neon)
+ -DWITH_PULSE=$(usex pulseaudio)
+ -DWITH_SERVER=$(usex server)
+ -DWITH_PCSC=$(usex smartcard)
+ -DWITH_LIBSYSTEMD=$(usex systemd)
+ -DWITH_SSE2=$(usex cpu_flags_x86_sse2)
+ -DCHANNEL_URBDRC=$(usex usb)
+ -DWITH_X11=$(usex X)
+ -DWITH_XINERAMA=$(usex xinerama)
+ -DWITH_XV=$(usex xv)
+ -DBUILD_TESTING=$(usex test)
+ -DWITH_WAYLAND=$(usex wayland)
+ )
+ cmake-utils_src_configure
+}
diff --git a/net-misc/freerdp/freerdp-2.0.0_rc0.ebuild b/net-misc/freerdp/freerdp-2.0.0_rc0.ebuild
new file mode 100644
index 000000000000..eef56aa415d3
--- /dev/null
+++ b/net-misc/freerdp/freerdp-2.0.0_rc0.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit cmake-utils
+
+if [[ ${PV} != 9999 ]]; then
+ MY_PV="${PV/_/-}"
+ MY_P="FreeRDP-${MY_PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/FreeRDP/FreeRDP/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86"
+else
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/FreeRDP/FreeRDP.git"
+fi
+
+DESCRIPTION="Free implementation of the Remote Desktop Protocol"
+HOMEPAGE="http://www.freerdp.com/"
+
+LICENSE="Apache-2.0"
+SLOT="0/2"
+IUSE="alsa +client cpu_flags_x86_sse2 cups debug doc ffmpeg gstreamer jpeg libav libressl neon openh264 pulseaudio server smartcard systemd test usb wayland X xinerama xv"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ sys-libs/zlib:0
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ client? (
+ usb? (
+ virtual/libudev:0=
+ sys-apps/util-linux:0=
+ dev-libs/dbus-glib:0=
+ virtual/libusb:1=
+ )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ xinerama? ( x11-libs/libXinerama )
+ xv? ( x11-libs/libXv )
+ )
+ )
+ ffmpeg? (
+ libav? ( media-video/libav:0= )
+ !libav? ( media-video/ffmpeg:0= )
+ )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ x11-libs/libXrandr
+ )
+ jpeg? ( virtual/jpeg:0 )
+ openh264? ( media-libs/openh264 )
+ pulseaudio? ( media-sound/pulseaudio )
+ server? (
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ xinerama? ( x11-libs/libXinerama )
+ )
+ )
+ smartcard? ( sys-apps/pcsc-lite )
+ systemd? ( sys-apps/systemd:0= )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/libxkbcommon
+ )
+ X? (
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ client? ( X? ( doc? (
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/xmlto
+ ) ) )
+"
+
+DOCS=( README )
+PATCHES=(
+ "${FILESDIR}"/2.0.0-rc0-libressl.patch
+ "${FILESDIR}"/freerdp-Fix-gstreamer-1.0-detection.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DCHANNEL_URBDRC=$(usex usb)
+ -DWITH_ALSA=$(usex alsa)
+ -DWITH_CCACHE=OFF
+ -DWITH_CLIENT=$(usex client)
+ -DWITH_CUPS=$(usex cups)
+ -DWITH_DEBUG_ALL=$(usex debug)
+ -DWITH_MANPAGES=$(usex doc)
+ -DWITH_FFMPEG=$(usex ffmpeg)
+ -DWITH_GSTREAMER_1_0=$(usex gstreamer)
+ -DWITH_JPEG=$(usex jpeg)
+ -DWITH_NEON=$(usex neon)
+ -DWITH_OPENH264=$(usex openh264)
+ -DWITH_PULSE=$(usex pulseaudio)
+ -DWITH_SERVER=$(usex server)
+ -DWITH_PCSC=$(usex smartcard)
+ -DWITH_LIBSYSTEMD=$(usex systemd)
+ -DWITH_SSE2=$(usex cpu_flags_x86_sse2)
+ -DWITH_X11=$(usex X)
+ -DWITH_XINERAMA=$(usex xinerama)
+ -DWITH_XV=$(usex xv)
+ -DWITH_WAYLAND=$(usex wayland)
+ )
+ cmake-utils_src_configure
+}
diff --git a/net-misc/freerdp/freerdp-9999.ebuild b/net-misc/freerdp/freerdp-9999.ebuild
new file mode 100644
index 000000000000..4f99bd08f244
--- /dev/null
+++ b/net-misc/freerdp/freerdp-9999.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit cmake-utils
+
+if [[ ${PV} != 9999 ]]; then
+ MY_PV="${PV/_/-}"
+ MY_P="FreeRDP-${MY_PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/FreeRDP/FreeRDP/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86"
+else
+ inherit git-r3
+ SRC_URI=""
+ EGIT_REPO_URI="https://github.com/FreeRDP/FreeRDP.git"
+fi
+
+DESCRIPTION="Free implementation of the Remote Desktop Protocol"
+HOMEPAGE="http://www.freerdp.com/"
+
+LICENSE="Apache-2.0"
+SLOT="0/2"
+IUSE="alsa +client cpu_flags_x86_sse2 cups debug doc ffmpeg gstreamer jpeg libav libressl neon openh264 pulseaudio server smartcard systemd test usb wayland X xinerama xv"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ sys-libs/zlib:0
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ client? (
+ usb? (
+ virtual/libudev:0=
+ sys-apps/util-linux:0=
+ dev-libs/dbus-glib:0=
+ virtual/libusb:1=
+ )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ xinerama? ( x11-libs/libXinerama )
+ xv? ( x11-libs/libXv )
+ )
+ )
+ ffmpeg? (
+ libav? ( media-video/libav:0= )
+ !libav? ( media-video/ffmpeg:0= )
+ )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ x11-libs/libXrandr
+ )
+ jpeg? ( virtual/jpeg:0 )
+ openh264? ( media-libs/openh264 )
+ pulseaudio? ( media-sound/pulseaudio )
+ server? (
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ xinerama? ( x11-libs/libXinerama )
+ )
+ )
+ smartcard? ( sys-apps/pcsc-lite )
+ systemd? ( sys-apps/systemd:0= )
+ wayland? (
+ dev-libs/wayland
+ x11-libs/libxkbcommon
+ )
+ X? (
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ client? ( X? ( doc? (
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/xmlto
+ ) ) )
+"
+
+DOCS=( README )
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DCHANNEL_URBDRC=$(usex usb)
+ -DWITH_ALSA=$(usex alsa)
+ -DWITH_CCACHE=OFF
+ -DWITH_CLIENT=$(usex client)
+ -DWITH_CUPS=$(usex cups)
+ -DWITH_DEBUG_ALL=$(usex debug)
+ -DWITH_MANPAGES=$(usex doc)
+ -DWITH_FFMPEG=$(usex ffmpeg)
+ -DWITH_GSTREAMER_1_0=$(usex gstreamer)
+ -DWITH_JPEG=$(usex jpeg)
+ -DWITH_NEON=$(usex neon)
+ -DWITH_OPENH264=$(usex openh264)
+ -DWITH_PULSE=$(usex pulseaudio)
+ -DWITH_SERVER=$(usex server)
+ -DWITH_PCSC=$(usex smartcard)
+ -DWITH_LIBSYSTEMD=$(usex systemd)
+ -DWITH_SSE2=$(usex cpu_flags_x86_sse2)
+ -DWITH_X11=$(usex X)
+ -DWITH_XINERAMA=$(usex xinerama)
+ -DWITH_XV=$(usex xv)
+ -DWITH_WAYLAND=$(usex wayland)
+ )
+ cmake-utils_src_configure
+}
diff --git a/net-misc/freerdp/metadata.xml b/net-misc/freerdp/metadata.xml
new file mode 100644
index 000000000000..22b0a0566617
--- /dev/null
+++ b/net-misc/freerdp/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>floppym@gentoo.org</email>
+ <name>Mike Gilbert</name>
+ </maintainer>
+ <use>
+ <flag name="client">Build client binaries</flag>
+ <flag name="openh264">Enable H.264 support using <pkg>media-libs/openh264</pkg></flag>
+ <flag name="server">Build server binaries</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">FreeRDP/FreeRDP</remote-id>
+ </upstream>
+</pkgmetadata>