summaryrefslogtreecommitdiff
path: root/net-misc/freerdp
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/freerdp')
-rw-r--r--net-misc/freerdp/Manifest2
-rw-r--r--net-misc/freerdp/files/freerdp-2.10.0-ffmpeg-6.patch37
-rw-r--r--net-misc/freerdp/freerdp-2.10.0-r3.ebuild137
3 files changed, 176 insertions, 0 deletions
diff --git a/net-misc/freerdp/Manifest b/net-misc/freerdp/Manifest
index bf5a2f23c4d1..d133d736f0a7 100644
--- a/net-misc/freerdp/Manifest
+++ b/net-misc/freerdp/Manifest
@@ -1,6 +1,8 @@
+AUX freerdp-2.10.0-ffmpeg-6.patch 1195 BLAKE2B 49868f42ab24d0754bd11550c5ffffbdf90ff88561f48079d225980de7229a8f3ff8fbe9238d05eff7595405b303c6ef8728b6c29aea863950087e2f9b6aedbc SHA512 de6c8a7c1b31e0da4db5838bcc9607e55ff2c3e780f8924a67c610f85366385d0a91332972750c692136f1cfb6dd9ba009e1615346f2f4834afafc40a85f6dc7
DIST freerdp-2.10.0.tar.gz 7321489 BLAKE2B 92b4b45670a5ed3b41713d1e036d41a9ef5714ddf9273a4b88fadf5c8435a467a53144f42bd969a44e641995a7f94b6c7b43b85f0ede738b1a1213e3bada9788 SHA512 a5749e3140d74c66d51869b405852bdaa776ca7d82e50a1e3ed19ccf56ed91a4ad9c3ce2c8ee6ff0abbb29d915c2e7278a1fcea04d73fd5ba4014f6590484477
DIST freerdp-2.9.0.tar.gz 7319428 BLAKE2B 358fcd14bd42b51d4d50e86cc71f9759179c82b466dd78a2f6996db84f3dd90495047f9c0da9a683edf894fdc96f4945237ad2fbeade12b173bac82f7be722b3 SHA512 de593640d4418c9395455b84c463e4cac8e51e9fd186ed5bce28132170ebc3c7338651582e0cc00272b530ea6e7c2664e802d748b3f6eba5fbe534dcf59d406a
EBUILD freerdp-2.10.0-r2.ebuild 3150 BLAKE2B fa5aa6a55da88dff58690bfcfdb8914274b3a2b8371c82df3dcc285caec68b0d1dc7e895a3be87e44eae8e89836e6b1d575432fdfe69a937d077825290ae0d2f SHA512 c6440ee296fee622756266fb121986a1fb1aae2ae449139801dce586048a1211fd6ba2764b69a457ee473e950b16b9db63a83ca9b2ac2dd1bdd92e4a9a6a82ea
+EBUILD freerdp-2.10.0-r3.ebuild 3204 BLAKE2B 604b19bf176c159bb7affb17d277ae117770f470617dce04c266da8bf637424f6aa491f42de1cb7ce842a98d0b33088c3ad1b03a13452e8a90e9d2957aeec8f7 SHA512 412d52543fe1441eb697774b42c5587ebc074a16e499942fb5644a0b95bd08059e1c71c73e5437d2284cfc7f6aeac603ce7f7a02bfdfd5bbdc7ba2a6bbff794d
EBUILD freerdp-2.9.0-r1.ebuild 3057 BLAKE2B f1c0022a3d69e2fac3e2a595054ec82f33923e37649068a09cbf09776fc6a7d787cfcf128a70a14c96360512b746f5e3a0b089be4e61d9dd9d31daede9d88605 SHA512 539389b49f50480e820aaa62e764ee82d8bd0b65d18deeb00ba35589ac36a268b019613d3b9e1c1786176562d9a46d1f9f28cbd6e9f61e8259125aa445e6ccd8
EBUILD freerdp-2.9999.ebuild 3156 BLAKE2B 6506d72ab8f4f6fbf5e593e725c125eb3ecb517937cebd8d71d48c288c0559cc373b972d64ca044b89090f35aa403283411018a77e9c551d72aeaff40a8f0243 SHA512 5c264d667c50707e1eadd4687f4ddf691b613103377415b0722b0f67fbe2aab8a0bb46666009938a0dfcdf85b322dc5e044fd8078afab7d556268b4b8b8f7f57
EBUILD freerdp-9999.ebuild 3154 BLAKE2B 0969565f458a7a676c1cbaf95cc0001545a5daf506f6bd1bb0364c1cbe8218f35a2249a9ed6d7e8333a586b8713ecef77f9c498ce17526d048a81036c46e1408 SHA512 1410eef326a45efed067381e9545886f6c15e4e5e0119b3495c58fb6ab91b2a84d0fb8cd91833cecacc2c1f66ae0847ea68850cd21ec70831af4a6be7897c7f4
diff --git a/net-misc/freerdp/files/freerdp-2.10.0-ffmpeg-6.patch b/net-misc/freerdp/files/freerdp-2.10.0-ffmpeg-6.patch
new file mode 100644
index 000000000000..586ae641b58e
--- /dev/null
+++ b/net-misc/freerdp/files/freerdp-2.10.0-ffmpeg-6.patch
@@ -0,0 +1,37 @@
+https://bugs.gentoo.org/901003
+https://github.com/FreeRDP/FreeRDP/issues/8686
+https://github.com/FreeRDP/FreeRDP/commit/7f55c97d60453738323e0ecafe6d357019528227
+
+From 7f55c97d60453738323e0ecafe6d357019528227 Mon Sep 17 00:00:00 2001
+From: akallabeth <akallabeth@posteo.net>
+Date: Tue, 14 Feb 2023 07:48:54 +0100
+Subject: [PATCH] Fixed #8686: Update h264 to use new FFMPEG API
+
+--- a/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c
++++ b/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c
+@@ -235,8 +235,10 @@ static BOOL tsmf_ffmpeg_init_stream(ITSMFDecoder* decoder, const TS_AM_MEDIA_TYP
+ }
+ }
+
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(59, 18, 100)
+ if (mdecoder->codec->capabilities & AV_CODEC_CAP_TRUNCATED)
+ mdecoder->codec_context->flags |= AV_CODEC_FLAG_TRUNCATED;
++#endif
+
+ return TRUE;
+ }
+--- a/libfreerdp/codec/h264_ffmpeg.c
++++ b/libfreerdp/codec/h264_ffmpeg.c
+@@ -529,10 +529,12 @@ static BOOL libavcodec_init(H264_CONTEXT* h264)
+ goto EXCEPTION;
+ }
+
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(59, 18, 100)
+ if (sys->codecDecoder->capabilities & AV_CODEC_CAP_TRUNCATED)
+ {
+ sys->codecDecoderContext->flags |= AV_CODEC_FLAG_TRUNCATED;
+ }
++#endif
+
+ #ifdef WITH_VAAPI
+
diff --git a/net-misc/freerdp/freerdp-2.10.0-r3.ebuild b/net-misc/freerdp/freerdp-2.10.0-r3.ebuild
new file mode 100644
index 000000000000..7e92eb90ea30
--- /dev/null
+++ b/net-misc/freerdp/freerdp-2.10.0-r3.ebuild
@@ -0,0 +1,137 @@
+# Copyright 2011-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/FreeRDP/FreeRDP.git"
+ case ${PV} in
+ 2.*) EGIT_BRANCH="stable-2.0";;
+ esac
+else
+ MY_P=${P/_/-}
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://pub.freerdp.com/releases/${MY_P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="Free implementation of the Remote Desktop Protocol"
+HOMEPAGE="http://www.freerdp.com/"
+
+LICENSE="Apache-2.0"
+SLOT="0/2"
+IUSE="alsa cpu_flags_arm_neon cups debug doc +ffmpeg gstreamer jpeg kerberos openh264 pulseaudio server smartcard systemd test usb valgrind wayland X xinerama xv"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/openssl:0=
+ sys-libs/zlib:0
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ 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? ( media-video/ffmpeg:0= )
+ !ffmpeg? (
+ x11-libs/cairo:0=
+ )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ x11-libs/libXrandr
+ )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ kerberos? ( virtual/krb5 )
+ openh264? ( media-libs/openh264:0= )
+ pulseaudio? ( media-libs/libpulse )
+ 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}
+ valgrind? ( dev-util/valgrind )
+"
+BDEPEND="
+ virtual/pkgconfig
+ X? ( doc? (
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/xmlto
+ ) )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ffmpeg-6.patch
+)
+
+src_configure() {
+ # bug #881695
+ filter-lto
+
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test ON OFF)
+ -DCHANNEL_URBDRC=$(usex usb ON OFF)
+ -DWITH_ALSA=$(usex alsa ON OFF)
+ -DWITH_CCACHE=OFF
+ -DWITH_CUPS=$(usex cups ON OFF)
+ -DWITH_DEBUG_ALL=$(usex debug ON OFF)
+ -DWITH_MANPAGES=$(usex doc ON OFF)
+ -DWITH_FFMPEG=$(usex ffmpeg ON OFF)
+ -DWITH_SWSCALE=$(usex ffmpeg ON OFF)
+ -DWITH_CAIRO=$(usex ffmpeg OFF ON)
+ -DWITH_DSP_FFMPEG=$(usex ffmpeg ON OFF)
+ -DWITH_GSTREAMER_1_0=$(usex gstreamer ON OFF)
+ -DWITH_JPEG=$(usex jpeg ON OFF)
+ -DWITH_GSSAPI=$(usex kerberos ON OFF)
+ -DWITH_NEON=$(usex cpu_flags_arm_neon ON OFF)
+ -DWITH_OPENH264=$(usex openh264 ON OFF)
+ -DWITH_PULSE=$(usex pulseaudio ON OFF)
+ -DWITH_SERVER=$(usex server ON OFF)
+ -DWITH_PCSC=$(usex smartcard ON OFF)
+ -DWITH_LIBSYSTEMD=$(usex systemd ON OFF)
+ -DWITH_VALGRIND_MEMCHECK=$(usex valgrind ON OFF)
+ -DWITH_X11=$(usex X ON OFF)
+ -DWITH_XINERAMA=$(usex xinerama ON OFF)
+ -DWITH_XV=$(usex xv ON OFF)
+ -DWITH_WAYLAND=$(usex wayland ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ local myctestargs=()
+ use elibc_musl && myctestargs+=( -E TestBacktrace )
+ cmake_src_test
+}