forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
media-libs/tg_owt: Bump to 0_pre20240804
Signed-off-by: Esteve Varela Colominas <[email protected]> Signed-off-by: Yixun Lan <[email protected]>
- Loading branch information
Showing
2 changed files
with
124 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
DIST libsrtp-a566a9cfcd619e8327784aa7cff4a1276dc1e895.tar.gz 636836 BLAKE2B 496afcb80f67a8f76104e338408d4930475daadaf3f7cd2d673336aef938986876995e475a4d932424d7f99f6a339bad360f566d6fd3719316eaf8241970cf8d SHA512 930e665434e80e8a26d81b785563c915619b546a9a0af0455a14278816997074add852fae107027f4899415cb0ab47ffbf9492bea76b94b10f558b52098bbf92 | ||
DIST libyuv-04821d1e7d60845525e8db55c7bcd41ef5be9406.tar.bz2 418856 BLAKE2B a72e1f75491785b272b0ded46368a67aadb643278e5764d16dcd902ab7e4139d8664ffbacd940f30113ce3171e0b0846fe0d6111ced17c5b08f326cd61b2af14 SHA512 ff9cfbb61a1361e959740d00c741dc6fbe71ca7c61770abc35f70aada402df3884d7d5992ae79472dfe3d7641154d4f13065593fee41bf8eae924e26cc654117 | ||
DIST tg_owt-0_pre20230921.tar.gz 13726037 BLAKE2B 635342dd2127330542374e2f0f9acee91844c3c825fe4610dabe2996c541d9b3dc1681999910e5b591752f7e8f65a089c16b43216dd0c0b84f1a0e913e5a0213 SHA512 538d713e9ac91e9f676cdf301d11d7b5be0d67bda6283537e03b6322f3cca5c0234ff2f2b0b23e9046709f77ed282fc4d3526d3b21ee93478c50380be410372f | ||
DIST tg_owt-0_pre20240804.tar.gz 11722734 BLAKE2B 084bedf7ae20ba173244851e82749dba31ba1320d83d021876f12350ecaa2fb03e47857fdc8013c87df6cae6e9250ec78548b498f35a92d305a28070475f36e4 SHA512 12bc17f39569f8b09c793d0e65b82926325c8d9046454e385ef7c82ab26f4e39e8f44f7491c80be71743abd78565bca50023b62365437fc8e43fc23d1b64840b |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
# Copyright 2020-2024 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
inherit cmake flag-o-matic | ||
|
||
DESCRIPTION="WebRTC build for Telegram" | ||
HOMEPAGE="https://github.com/desktop-app/tg_owt" | ||
|
||
TG_OWT_COMMIT="dc17143230b5519f3c1a8da0079e00566bd4c5a8" | ||
LIBYUV_COMMIT="04821d1e7d60845525e8db55c7bcd41ef5be9406" | ||
LIBSRTP_COMMIT="a566a9cfcd619e8327784aa7cff4a1276dc1e895" | ||
SRC_URI="https://github.com/desktop-app/tg_owt/archive/${TG_OWT_COMMIT}.tar.gz -> ${P}.tar.gz | ||
https://gitlab.com/chromiumsrc/libyuv/-/archive/${LIBYUV_COMMIT}/libyuv-${LIBYUV_COMMIT}.tar.bz2 | ||
https://github.com/cisco/libsrtp/archive/${LIBSRTP_COMMIT}.tar.gz -> libsrtp-${LIBSRTP_COMMIT}.tar.gz" | ||
S="${WORKDIR}/${PN}-${TG_OWT_COMMIT}" | ||
# Upstream libyuv: https://chromium.googlesource.com/libyuv/libyuv | ||
|
||
LICENSE="BSD" | ||
SLOT="0/${PV##*pre}" | ||
KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" | ||
IUSE="screencast +X" | ||
|
||
# This package's USE flags may change the ABI and require a rebuild of | ||
# dependent pacakges. As such, one should make sure to depend on | ||
# media-libs/tg_owt[x=,y=,z=] for any package that uses this. | ||
# Furthermore, the -DNDEBUG preprocessor flag should be defined by any | ||
# dependent package, failure to do so will change the ABI in the header files. | ||
|
||
# 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) | ||
RDEPEND=" | ||
>=dev-cpp/abseil-cpp-20230802.0:= | ||
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:= | ||
dev-libs/crc32c | ||
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 | ||
) | ||
" | ||
DEPEND="${RDEPEND} | ||
screencast? ( | ||
media-libs/libglvnd[X] | ||
media-libs/mesa | ||
x11-libs/libdrm | ||
) | ||
" | ||
BDEPEND=" | ||
virtual/pkgconfig | ||
X? ( x11-base/xorg-proto ) | ||
" | ||
|
||
src_unpack() { | ||
default | ||
|
||
mv -T "libyuv-${LIBYUV_COMMIT}" "${S}/src/third_party/libyuv" || die | ||
mv -T "libsrtp-${LIBSRTP_COMMIT}" "${S}/src/third_party/libsrtp" || die | ||
} | ||
|
||
src_prepare() { | ||
# The sources for these aren't available, avoid needing them | ||
sed -e '/include(cmake\/libcrc32c.cmake)/d' \ | ||
-e '/include(cmake\/libabsl.cmake)/d' -i CMakeLists.txt || die | ||
|
||
# "lol" said the scorpion, "lmao" | ||
sed -i '/if (BUILD_SHARED_LIBS)/{n;n;s/WARNING/DEBUG/}' CMakeLists.txt || die | ||
|
||
cmake_src_prepare | ||
} | ||
|
||
src_configure() { | ||
# Defined by -DCMAKE_BUILD_TYPE=Release, avoids crashes | ||
# See https://bugs.gentoo.org/754012 | ||
# EAPI 8 still wipes this flag. | ||
append-cppflags '-DNDEBUG' | ||
|
||
local mycmakeargs=( | ||
-DTG_OWT_USE_X11=$(usex X) | ||
-DTG_OWT_USE_PIPEWIRE=$(usex screencast) | ||
) | ||
cmake_src_configure | ||
} | ||
|
||
src_install() { | ||
cmake_src_install | ||
|
||
# Save about 15MB of useless headers | ||
rm -r "${ED}/usr/include/tg_owt/rtc_base/third_party" || die | ||
rm -r "${ED}/usr/include/tg_owt/common_audio/third_party" || die | ||
rm -r "${ED}/usr/include/tg_owt/modules/third_party" || die | ||
rm -r "${ED}/usr/include/tg_owt/third_party" || die | ||
|
||
# Install a few headers anyway, as required by net-im/telegram-desktop... | ||
local headers=( | ||
third_party/libyuv/include | ||
rtc_base/third_party/sigslot | ||
rtc_base/third_party/base64 | ||
) | ||
for dir in "${headers[@]}"; do | ||
pushd "${S}/src/${dir}" > /dev/null || die | ||
find -type f -name "*.h" -exec install -Dm644 '{}' "${ED}/usr/include/tg_owt/${dir}/{}" \; || die | ||
popd > /dev/null || die | ||
done | ||
} |