diff options
author | Sam James <sam@gentoo.org> | 2023-06-07 11:33:36 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-06-07 11:33:36 +0100 |
commit | da38705a58769604bc1561a23fc7bcd4f60d0056 (patch) | |
tree | c362c6cf40063ec1cfbfe8a9108e5981313aad49 /net-misc/freerdp | |
parent | sys-block/ndctl: Stabilize 76.1 amd64, #907991 (diff) | |
download | gentoo-da38705a58769604bc1561a23fc7bcd4f60d0056.tar.gz gentoo-da38705a58769604bc1561a23fc7bcd4f60d0056.tar.bz2 gentoo-da38705a58769604bc1561a23fc7bcd4f60d0056.zip |
net-misc/freerdp: fix build w/ ffmpeg 6
Closes: https://bugs.gentoo.org/901003
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-misc/freerdp')
-rw-r--r-- | net-misc/freerdp/files/freerdp-2.10.0-ffmpeg-6.patch | 37 | ||||
-rw-r--r-- | net-misc/freerdp/freerdp-2.10.0-r3.ebuild | 137 |
2 files changed, 174 insertions, 0 deletions
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 +} |