From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 672C8139335 for ; Mon, 28 Jun 2021 08:38:53 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6BC8AE0952; Mon, 28 Jun 2021 08:38:52 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 40BF9E0951 for ; Mon, 28 Jun 2021 08:38:52 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A5C6733BE54 for ; Mon, 28 Jun 2021 08:38:50 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 039767B3 for ; Mon, 28 Jun 2021 08:38:49 +0000 (UTC) From: "Georgy Yakovlev" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Georgy Yakovlev" Message-ID: <1624869512.ee7cf00bca12059bb992ea9a97a8e73943b2cfff.gyakovlev@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/tg_owt/files/, media-libs/tg_owt/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-libs/tg_owt/Manifest media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-disabling-X11.patch media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-disabling-pipewire.patch media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-disabling-pulseaudio.patch media-libs/tg_owt/files/tg_owt-0_pre20210626-expose-set_allow_pipewire.patch media-libs/tg_owt/metadata.xml media-libs/tg_owt/tg_owt-0_pre20210626.ebuild X-VCS-Directories: media-libs/tg_owt/files/ media-libs/tg_owt/ X-VCS-Committer: gyakovlev X-VCS-Committer-Name: Georgy Yakovlev X-VCS-Revision: ee7cf00bca12059bb992ea9a97a8e73943b2cfff X-VCS-Branch: master Date: Mon, 28 Jun 2021 08:38:49 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: d708a4c1-5f9d-41fa-91a8-e9a436bf53e3 X-Archives-Hash: 9e71052967ea4feee1ece0eda23f2b4f commit: ee7cf00bca12059bb992ea9a97a8e73943b2cfff Author: Esteve Varela Colominas gmail com> AuthorDate: Sun Jun 27 21:57:04 2021 +0000 Commit: Georgy Yakovlev gentoo org> CommitDate: Mon Jun 28 08:38:32 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ee7cf00b media-libs/tg_owt: Bump to 0_pre20210626 Adds desktop capture and makes a return of several use flags including alsa and pulseaudio, patched around to make sure they work. Added a subslot, since the ABI of this package has broken, and requires the rebuild of media-libs/libtgvoip before net-im/telegram-desktop can be built... Signed-off-by: Esteve Varela Colominas gmail.com> Signed-off-by: Georgy Yakovlev gentoo.org> media-libs/tg_owt/Manifest | 1 + .../tg_owt-0_pre20210626-allow-disabling-X11.patch | 108 +++++++++++++++++++++ ...wt-0_pre20210626-allow-disabling-pipewire.patch | 36 +++++++ ...-0_pre20210626-allow-disabling-pulseaudio.patch | 90 +++++++++++++++++ ...t-0_pre20210626-expose-set_allow_pipewire.patch | 16 +++ media-libs/tg_owt/metadata.xml | 3 + media-libs/tg_owt/tg_owt-0_pre20210626.ebuild | 104 ++++++++++++++++++++ 7 files changed, 358 insertions(+) diff --git a/media-libs/tg_owt/Manifest b/media-libs/tg_owt/Manifest index cb642761504..65e17f6b8a8 100644 --- a/media-libs/tg_owt/Manifest +++ b/media-libs/tg_owt/Manifest @@ -2,3 +2,4 @@ DIST libvpx-5b63f0f821e94f8072eb483014cfc33b05978bb9.tar.gz 5337558 BLAKE2B 795f DIST libyuv-ad890067f661dc747a975bc55ba3767fe30d4452.tar.gz 473845 BLAKE2B 664be51c166440e6b03fa98f65d907efc446800804058a5ea7fdf944e12cb1237a1487e83fbe9a2f1ce4c73521234e43632f921ad0333507737d81e1cb23ce8f SHA512 f97529b80a786e2e92443caabebd6d85a42641e10c3d2940b0f69bedf3b8a96c69c3247abddd059c4ddd6f78107ab7214222a4267a559fc2086c8edf5ea1afbc DIST tg_owt-0_pre20210309.tar.gz 16159542 BLAKE2B 354992fca17f6217daa7294a8b60aa96f16b1198a07c79599ce676770cde068bf3ebf83c3935613ab181d4f7f23abbf2e4dd3ba41988b7505f27f537ada87fc2 SHA512 eca2c249d4837f8564218ea969390579b7f07c40879a80249310d978ba6d8865b85ec12e324fdba92af2d0b9bd501f2328fad5475028211013239dc35f508bb0 DIST tg_owt-0_pre20210422.tar.gz 16156802 BLAKE2B 823248e31d7abc91402c32aa0f062f1a77a3d8c4ebf63b4e73a8f290a5691e002a6ec09a5b7ffed1087565b9a419646924030dfb3eb3d0d6aec8cfc51cf1bf73 SHA512 24b66840a54d102b96bc32636dc8b85d31f74b344244985be929db4e14b13ee60f1fbc43269526352064cee8066839c886fae1aff95276089ab60d0a14de9ec6 +DIST tg_owt-0_pre20210626.tar.gz 16264716 BLAKE2B de500e02789516527c814d0aba87cf1d0e772747f06acff7ac9295508c6e6bce1915cd3a703df618ff17ba8e04dc194538a6ef859fa85b301bb63eceab2c339a SHA512 a5d10011c427d8685bcf0743c356ff8c58c3cad6c59ac2409298b30b15cb04233889a5ed0a18107ac5b3477eee96741fdc85176d4330c866e8e3329753be7d73 diff --git a/media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-disabling-X11.patch b/media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-disabling-X11.patch new file mode 100644 index 00000000000..c6abf966046 --- /dev/null +++ b/media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-disabling-X11.patch @@ -0,0 +1,108 @@ +Add -DTG_OWT_USE_X11 + +Allows disabling X11 desktop capturing independently of pipewire support, for +the few people that run wayland without any X11 support whatsoever. + +This setup is untested, but supported by the GNI build system, see: +* src/modules/desktop_capture/BUILD.gn (option rtc_use_x11_extensions) + +Toggling the WEBRTC_USE_X11 define also affects some files under +src/modules/audio_device, but that falls under "X11 support", regardless... + +--- tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34.orig/CMakeLists.txt ++++ tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34/CMakeLists.txt +@@ -21,11 +21,13 @@ + + option(BUILD_SHARED_LIBS "Builds shared libraries instead of static." ${TG_OWT_PACKAGED_BUILD}) + option(TG_OWT_USE_PROTOBUF "Use protobuf to generate additional headers. Useful for packaged build." ${BUILD_SHARED_LIBS}) ++option(TG_OWT_USE_X11 "Use X11 for desktop capture on non-Apple Unix." ON) + option(TG_OWT_USE_PIPEWIRE "Use pipewire for desktop capture on non-Apple Unix." ON) + option(TG_OWT_DLOPEN_PIPEWIRE "dlopen pipewire 0.3 for desktop capture on non-Apple Unix." ${not_packaged_build}) + option(TG_OWT_BUILD_AUDIO_BACKENDS "Build webrtc audio backends." ON) + + if (NOT UNIX OR APPLE) ++ set(TG_OWT_USE_X11 OFF) + set(TG_OWT_USE_PIPEWIRE OFF) + endif() + +@@ -87,6 +89,10 @@ + add_library(tg_owt) + init_target(tg_owt) + ++if (TG_OWT_USE_X11) ++ link_x11(tg_owt) ++endif() ++ + if (TG_OWT_USE_PIPEWIRE) + link_glib(tg_owt) + if (TG_OWT_DLOPEN_PIPEWIRE) +@@ -169,7 +175,6 @@ + target_link_libraries(tg_owt PUBLIC tg_owt::libwebrtcbuild) + + if (UNIX AND NOT APPLE) +- link_x11(tg_owt) + endif() + + function(add_sublibrary postfix) +@@ -2161,6 +2166,37 @@ + ) + endif() + ++if (NOT TG_OWT_USE_X11) ++ remove_target_sources(tg_owt ${webrtc_loc} ++ modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc ++ modules/desktop_capture/linux/mouse_cursor_monitor_x11.h ++ modules/desktop_capture/linux/screen_capturer_x11.cc ++ modules/desktop_capture/linux/screen_capturer_x11.h ++ modules/desktop_capture/linux/shared_x_display.cc ++ modules/desktop_capture/linux/shared_x_display.h ++ modules/desktop_capture/linux/window_capturer_x11.cc ++ modules/desktop_capture/linux/window_capturer_x11.h ++ modules/desktop_capture/linux/window_finder_x11.cc ++ modules/desktop_capture/linux/window_finder_x11.h ++ modules/desktop_capture/linux/window_list_utils.cc ++ modules/desktop_capture/linux/window_list_utils.h ++ modules/desktop_capture/linux/x_atom_cache.cc ++ modules/desktop_capture/linux/x_atom_cache.h ++ modules/desktop_capture/linux/x_error_trap.cc ++ modules/desktop_capture/linux/x_error_trap.h ++ modules/desktop_capture/linux/x_server_pixel_buffer.cc ++ modules/desktop_capture/linux/x_server_pixel_buffer.h ++ modules/desktop_capture/linux/x_window_property.cc ++ modules/desktop_capture/linux/x_window_property.h ++ ++ modules/desktop_capture/screen_drawer.cc ++ modules/desktop_capture/screen_drawer.h ++ modules/desktop_capture/screen_drawer_linux.cc ++ modules/desktop_capture/screen_drawer_lock_posix.cc ++ modules/desktop_capture/screen_drawer_lock_posix.h ++ ) ++endif() ++ + if (NOT TG_OWT_USE_PIPEWIRE) + remove_target_sources(tg_owt ${webrtc_loc} + modules/desktop_capture/linux/base_capturer_pipewire.cc +--- tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34.orig/cmake/libwebrtcbuild.cmake ++++ tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34/cmake/libwebrtcbuild.cmake +@@ -27,6 +27,13 @@ + BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0 + ) + ++if (TG_OWT_USE_X11) ++ target_compile_definitions(libwebrtcbuild ++ INTERFACE ++ WEBRTC_USE_X11 ++ ) ++endif() ++ + if (TG_OWT_USE_PIPEWIRE) + target_compile_definitions(libwebrtcbuild + INTERFACE +@@ -63,7 +70,6 @@ + INTERFACE + WEBRTC_POSIX + WEBRTC_LINUX +- WEBRTC_USE_X11 + ) + endif() + diff --git a/media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-disabling-pipewire.patch b/media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-disabling-pipewire.patch new file mode 100644 index 00000000000..9cc55585a56 --- /dev/null +++ b/media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-disabling-pipewire.patch @@ -0,0 +1,36 @@ +Fix an issue with -DTG_OWT_USE_PIPEWIRE=OFF + +Some files were erroneously being included despite the option being turned off + +--- tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34.orig/CMakeLists.txt ++++ tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34/CMakeLists.txt +@@ -88,6 +88,7 @@ + init_target(tg_owt) + + if (TG_OWT_USE_PIPEWIRE) ++ link_glib(tg_owt) + if (TG_OWT_DLOPEN_PIPEWIRE) + include(cmake/generate_stubs.cmake) + set(stubs_loc ${webrtc_loc}/modules/desktop_capture/linux) +@@ -169,7 +170,6 @@ + + if (UNIX AND NOT APPLE) + link_x11(tg_owt) +- link_glib(tg_owt) + endif() + + function(add_sublibrary postfix) +@@ -2161,6 +2161,13 @@ + ) + endif() + ++if (NOT TG_OWT_USE_PIPEWIRE) ++ remove_target_sources(tg_owt ${webrtc_loc} ++ modules/desktop_capture/linux/base_capturer_pipewire.cc ++ modules/desktop_capture/linux/base_capturer_pipewire.h ++ ) ++endif() ++ + if (NOT TG_OWT_BUILD_AUDIO_BACKENDS) + remove_target_sources(tg_owt ${webrtc_loc} + rtc_base/win/windows_version.cc diff --git a/media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-disabling-pulseaudio.patch b/media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-disabling-pulseaudio.patch new file mode 100644 index 00000000000..0bddb5fd00f --- /dev/null +++ b/media-libs/tg_owt/files/tg_owt-0_pre20210626-allow-disabling-pulseaudio.patch @@ -0,0 +1,90 @@ +Add support for -DTG_OWT_BUILD_PULSE_BACKEND + +This is based off of the rtc_include_pulse_audio option in: +* src/modules/audio_device/BUILD.gn + +ALSA must be enabled unless audio support is removed as a whole, see: +* src/modules/audio_device/audio_device_impl.cc + +--- tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34.orig/CMakeLists.txt ++++ tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34/CMakeLists.txt +@@ -25,12 +25,17 @@ + option(TG_OWT_USE_PIPEWIRE "Use pipewire for desktop capture on non-Apple Unix." ON) + option(TG_OWT_DLOPEN_PIPEWIRE "dlopen pipewire 0.3 for desktop capture on non-Apple Unix." ${not_packaged_build}) + option(TG_OWT_BUILD_AUDIO_BACKENDS "Build webrtc audio backends." ON) ++option(TG_OWT_BUILD_PULSE_BACKEND "Build pulseaudio audio backend on non-Apple Unix." ON) + + if (NOT UNIX OR APPLE) + set(TG_OWT_USE_X11 OFF) + set(TG_OWT_USE_PIPEWIRE OFF) + endif() + ++if (NOT TG_OWT_BUILD_AUDIO_BACKENDS) ++ set(TG_OWT_BUILD_PULSE_BACKEND OFF) ++endif() ++ + if (BUILD_SHARED_LIBS) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + endif() +@@ -162,9 +167,11 @@ + link_libvpx(tg_owt) + + if (TG_OWT_BUILD_AUDIO_BACKENDS AND (UNIX AND NOT APPLE)) +- link_libalsa(tg_owt) +- link_libpulse(tg_owt) + link_dl(tg_owt) ++ link_libalsa(tg_owt) ++ if (TG_OWT_BUILD_PULSE_BACKEND) ++ link_libpulse(tg_owt) ++ endif() + endif() + + if (NOT WIN32 AND NOT APPLE) +@@ -2218,12 +2225,6 @@ + modules/audio_device/linux/audio_mixer_manager_alsa_linux.h + modules/audio_device/linux/latebindingsymboltable_linux.cc + modules/audio_device/linux/latebindingsymboltable_linux.h +- modules/audio_device/linux/audio_device_pulse_linux.cc +- modules/audio_device/linux/audio_device_pulse_linux.h +- modules/audio_device/linux/audio_mixer_manager_pulse_linux.cc +- modules/audio_device/linux/audio_mixer_manager_pulse_linux.h +- modules/audio_device/linux/pulseaudiosymboltable_linux.cc +- modules/audio_device/linux/pulseaudiosymboltable_linux.h + modules/audio_device/mac/audio_device_mac.cc + modules/audio_device/mac/audio_device_mac.h + modules/audio_device/mac/audio_mixer_manager_mac.cc +@@ -2243,6 +2244,17 @@ + ) + endif() + ++if (NOT TG_OWT_BUILD_PULSE_BACKEND) ++ remove_target_sources(tg_owt ${webrtc_loc} ++ modules/audio_device/linux/audio_device_pulse_linux.cc ++ modules/audio_device/linux/audio_device_pulse_linux.h ++ modules/audio_device/linux/audio_mixer_manager_pulse_linux.cc ++ modules/audio_device/linux/audio_mixer_manager_pulse_linux.h ++ modules/audio_device/linux/pulseaudiosymboltable_linux.cc ++ modules/audio_device/linux/pulseaudiosymboltable_linux.h ++ ) ++endif() ++ + if (NOT WIN32) + remove_target_sources(tg_owt ${webrtc_loc} + rtc_base/win32.cc +--- tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34.orig/cmake/libwebrtcbuild.cmake ++++ tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34/cmake/libwebrtcbuild.cmake +@@ -50,8 +50,13 @@ + target_compile_definitions(libwebrtcbuild + INTERFACE + WEBRTC_ENABLE_LINUX_ALSA +- WEBRTC_ENABLE_LINUX_PULSE + ) ++ if (TG_OWT_BUILD_PULSE_BACKEND) ++ target_compile_definitions(libwebrtcbuild ++ INTERFACE ++ WEBRTC_ENABLE_LINUX_PULSE ++ ) ++ endif() + endif() + + if (WIN32) diff --git a/media-libs/tg_owt/files/tg_owt-0_pre20210626-expose-set_allow_pipewire.patch b/media-libs/tg_owt/files/tg_owt-0_pre20210626-expose-set_allow_pipewire.patch new file mode 100644 index 00000000000..ef93ea24101 --- /dev/null +++ b/media-libs/tg_owt/files/tg_owt-0_pre20210626-expose-set_allow_pipewire.patch @@ -0,0 +1,16 @@ +Exposes a dummy version of set_allow_pipewire in case the library is built +without WEBRTC_USE_PIPEWIRE. This function is expected to be used by +applications, and removing it completely breaks the ABI. + +--- tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34.orig/src/modules/desktop_capture/desktop_capture_options.h ++++ tg_owt-91d836dc84a16584c6ac52b36c04c0de504d9c34/src/modules/desktop_capture/desktop_capture_options.h +@@ -131,6 +131,9 @@ + #if defined(WEBRTC_USE_PIPEWIRE) + bool allow_pipewire() const { return allow_pipewire_; } + void set_allow_pipewire(bool allow) { allow_pipewire_ = allow; } ++#else ++ bool allow_pipewire() const { return false; } ++ void set_allow_pipewire(bool allow) { } + #endif + + private: diff --git a/media-libs/tg_owt/metadata.xml b/media-libs/tg_owt/metadata.xml index 631cf5ff785..704c25c1b2f 100644 --- a/media-libs/tg_owt/metadata.xml +++ b/media-libs/tg_owt/metadata.xml @@ -9,4 +9,7 @@ proxy-maint@gentoo.org Proxy Maintainers + + Enable support for remote desktop and screen cast using media-video/pipewire + diff --git a/media-libs/tg_owt/tg_owt-0_pre20210626.ebuild b/media-libs/tg_owt/tg_owt-0_pre20210626.ebuild new file mode 100644 index 00000000000..443dc1f7f79 --- /dev/null +++ b/media-libs/tg_owt/tg_owt-0_pre20210626.ebuild @@ -0,0 +1,104 @@ +# Copyright 2020-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="WebRTC build for Telegram" +HOMEPAGE="https://github.com/desktop-app/tg_owt" + +TG_OWT_COMMIT="91d836dc84a16584c6ac52b36c04c0de504d9c34" +LIBYUV_COMMIT="ad890067f661dc747a975bc55ba3767fe30d4452" +SRC_URI="https://github.com/desktop-app/tg_owt/archive/${TG_OWT_COMMIT}.tar.gz -> ${P}.tar.gz + https://archive.org/download/libyuv-${LIBYUV_COMMIT}.tar/libyuv-${LIBYUV_COMMIT}.tar.gz" +S="${WORKDIR}/${PN}-${TG_OWT_COMMIT}" +# Fetch libyuv archive from: https://chromium.googlesource.com/libyuv/libyuv/+archive/${LIBYUV_COMMIT}.tar.gz + +LICENSE="BSD" +SLOT="0/20210626" +KEYWORDS="~amd64 ~ppc64" +IUSE="+alsa pulseaudio screencast +X" +REQUIRED_USE="pulseaudio? ( alsa )" + +# Bundled libs: +# - libyuv (no stable versioning, www-client/chromium and media-libs/libvpx bundle it) +# - libsrtp (project uses private APIs) +# - pffft (no stable versioning, patched) +# media-libs/libjpeg-turbo is required for libyuv +DEPEND=" + dev-cpp/abseil-cpp:=[cxx17(+)] + dev-libs/libevent:= + dev-libs/openssl:= + dev-libs/protobuf:= + media-libs/libjpeg-turbo:= + >=media-libs/libvpx-1.10.0:= + media-libs/openh264:= + media-libs/opus + media-video/ffmpeg:= + net-libs/usrsctp + alsa? ( media-libs/alsa-lib ) + pulseaudio? ( media-sound/pulseaudio ) + screencast? ( + dev-libs/glib:2 + media-video/pipewire:= + ) + X? ( + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXrandr + x11-libs/libXtst + ) +" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/tg_owt-0_pre20210604-allow-disabling-pipewire.patch" + "${FILESDIR}/tg_owt-0_pre20210604-allow-disabling-X11.patch" + "${FILESDIR}/tg_owt-0_pre20210604-allow-disabling-pulseaudio.patch" + "${FILESDIR}/tg_owt-0_pre20210604-expose-set_allow_pipewire.patch" +) + +src_unpack() { + unpack "${P}.tar.gz" + cd "${S}/src/third_party/libyuv" || die + unpack "libyuv-${LIBYUV_COMMIT}.tar.gz" +} + +src_prepare() { + # libvpx source files aren't included in the repository + sed -i '/include(cmake\/libvpx.cmake)/d' CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + # Defined by -DCMAKE_BUILD_TYPE=Release, avoids crashes + # see https://bugs.gentoo.org/754012 + append-cppflags '-DNDEBUG' + + local mycmakeargs=( + -DTG_OWT_USE_X11=$(usex X ON OFF) + -DTG_OWT_USE_PIPEWIRE=$(usex screencast ON OFF) + -DTG_OWT_BUILD_AUDIO_BACKENDS=$(usex alsa ON OFF) + -DTG_OWT_BUILD_PULSE_BACKEND=$(usex pulseaudio ON OFF) + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + # Save about 15MB of useless headers + rm -r "${ED}/usr/include/tg_owt/third_party" || die + + # Install third_party/libyuv anyway... + dodir /usr/include/tg_owt/third_party/libyuv/include + cd "${S}/src/third_party/libyuv/include" + find -type f -name "*.h" -exec install -Dm644 '{}' "${ED}/usr/include/tg_owt/third_party/libyuv/include/{}" \; +}