summaryrefslogtreecommitdiffstats
path: root/packages/media-libs/tg_owt
diff options
context:
space:
mode:
authorcoast <coasteen@proton.me>2026-10-12 14:41:07 +0330
committercoast <coasteen@proton.me>2026-10-12 14:41:07 +0330
commit25922912c7e37f3bc3000e71b647e77677d8f2c5 (patch)
tree8383c5569a668613eee384ee31ea8cddc2113ee5 /packages/media-libs/tg_owt
downloadexherbo-overlay-25922912c7e37f3bc3000e71b647e77677d8f2c5.tar.gz
exherbo-overlay-25922912c7e37f3bc3000e71b647e77677d8f2c5.tar.bz2
exherbo-overlay-25922912c7e37f3bc3000e71b647e77677d8f2c5.tar.xz
exherbo-overlay-25922912c7e37f3bc3000e71b647e77677d8f2c5.tar.zst
Diffstat (limited to 'packages/media-libs/tg_owt')
-rw-r--r--packages/media-libs/tg_owt/files/tg_owt-0_pre20260803-abseil.patch159
-rw-r--r--packages/media-libs/tg_owt/tg_owt-0_pre20260803.exheres-090
2 files changed, 249 insertions, 0 deletions
diff --git a/packages/media-libs/tg_owt/files/tg_owt-0_pre20260803-abseil.patch b/packages/media-libs/tg_owt/files/tg_owt-0_pre20260803-abseil.patch
new file mode 100644
index 0000000..6305158
--- /dev/null
+++ b/packages/media-libs/tg_owt/files/tg_owt-0_pre20260803-abseil.patch
@@ -0,0 +1,159 @@
+--- a/cmake/libabsl.cmake
++++ b/cmake/libabsl.cmake
+@@ -1,128 +1,37 @@
+-add_library(libabsl OBJECT EXCLUDE_FROM_ALL)
+-init_target(libabsl)
+-add_library(tg_owt::libabsl ALIAS libabsl)
+-
++set(_tg_owt_build_shared_libs ${BUILD_SHARED_LIBS})
++set(BUILD_SHARED_LIBS OFF)
++set(ABSL_ENABLE_INSTALL OFF)
+ set(libabsl_loc ${third_party_loc}/abseil-cpp)
++add_subdirectory(${libabsl_loc} ${CMAKE_CURRENT_BINARY_DIR}/abseil-cpp EXCLUDE_FROM_ALL)
++set(BUILD_SHARED_LIBS ${_tg_owt_build_shared_libs})
++
++add_library(libabsl INTERFACE)
++add_library(tg_owt::libabsl ALIAS libabsl)
++target_compile_features(libabsl INTERFACE cxx_std_20)
+
+-nice_target_sources(libabsl ${libabsl_loc}
++target_link_libraries(tg_owt
+ PRIVATE
+- # absl/base/dynamic_annotations.cc
+- # absl/base/internal/cycleclock.cc
+- # absl/base/internal/exception_safety_testing.cc
+- # absl/base/internal/exponential_biased.cc
+- # absl/base/internal/low_level_alloc.cc
+- # absl/base/internal/periodic_sampler.cc
+- absl/base/internal/raw_logging.cc
+- # absl/base/internal/scoped_set_env.cc
+- # absl/base/internal/spinlock.cc
+- # absl/base/internal/spinlock_wait.cc
+- # absl/base/internal/strerror.cc
+- # absl/base/internal/sysinfo.cc
+- # absl/base/internal/thread_identity.cc
+- absl/base/internal/throw_delegate.cc
+- # absl/base/internal/unscaledcycleclock.cc
+- # absl/base/log_severity.cc
+- # absl/container/internal/hash_generator_testing.cc
+- # absl/container/internal/hashtablez_sampler.cc
+- # absl/container/internal/hashtablez_sampler_force_weak_definition.cc
+- # absl/container/internal/raw_hash_set.cc
+- # absl/container/internal/test_instance_tracker.cc
+- # absl/debugging/failure_signal_handler.cc
+- # absl/debugging/internal/address_is_readable.cc
+- # absl/debugging/internal/demangle.cc
+- # absl/debugging/internal/elf_mem_image.cc
+- # absl/debugging/internal/examine_stack.cc
+- # absl/debugging/internal/stack_consumption.cc
+- # absl/debugging/internal/vdso_support.cc
+- # absl/debugging/leak_check.cc
+- # absl/debugging/leak_check_disable.cc
+- # absl/debugging/stacktrace.cc
+- # absl/debugging/symbolize.cc
+- # absl/flags/flag.cc
+- # absl/flags/flag_test_defs.cc
+- # absl/flags/internal/commandlineflag.cc
+- # absl/flags/internal/flag.cc
+- # absl/flags/internal/program_name.cc
+- # absl/flags/internal/registry.cc
+- # absl/flags/internal/type_erased.cc
+- # absl/flags/internal/usage.cc
+- # absl/flags/marshalling.cc
+- # absl/flags/parse.cc
+- # absl/flags/usage.cc
+- # absl/flags/usage_config.cc
+- # absl/hash/internal/city.cc
+- # absl/hash/internal/hash.cc
+- absl/numeric/int128.cc
+- # absl/random/discrete_distribution.cc
+- # absl/random/gaussian_distribution.cc
+- # absl/random/internal/chi_square.cc
+- # absl/random/internal/distribution_test_util.cc
+- # absl/random/internal/nanobenchmark.cc
+- # absl/random/internal/pool_urbg.cc
+- # absl/random/internal/randen.cc
+- # absl/random/internal/randen_detect.cc
+- # absl/random/internal/randen_hwaes.cc
+- # absl/random/internal/randen_slow.cc
+- # absl/random/internal/seed_material.cc
+- # absl/random/seed_gen_exception.cc
+- # absl/random/seed_sequences.cc
+- # absl/status/status.cc
+- # absl/status/status_payload_printer.cc
+- absl/strings/ascii.cc
+- absl/strings/charconv.cc
+- absl/strings/cord.cc
+- absl/strings/escaping.cc
+- absl/strings/internal/charconv_bigint.cc
+- absl/strings/internal/charconv_parse.cc
+- absl/strings/internal/escaping.cc
+- absl/strings/internal/memutil.cc
+- absl/strings/internal/ostringstream.cc
+- absl/strings/internal/pow10_helper.cc
+- absl/strings/internal/str_format/arg.cc
+- absl/strings/internal/str_format/bind.cc
+- absl/strings/internal/str_format/extension.cc
+- absl/strings/internal/str_format/float_conversion.cc
+- absl/strings/internal/str_format/output.cc
+- absl/strings/internal/str_format/parser.cc
+- absl/strings/internal/utf8.cc
+- absl/strings/match.cc
+- absl/strings/numbers.cc
+- absl/strings/str_cat.cc
+- absl/strings/str_replace.cc
+- absl/strings/str_split.cc
+- absl/strings/string_view.cc
+- absl/strings/substitute.cc
+- # absl/synchronization/barrier.cc
+- # absl/synchronization/blocking_counter.cc
+- # absl/synchronization/internal/create_thread_identity.cc
+- # absl/synchronization/internal/graphcycles.cc
+- # absl/synchronization/internal/per_thread_sem.cc
+- # absl/synchronization/internal/waiter.cc
+- # absl/synchronization/mutex.cc
+- # absl/synchronization/notification.cc
+- # absl/time/civil_time.cc
+- # absl/time/clock.cc
+- # absl/time/duration.cc
+- # absl/time/format.cc
+- # absl/time/internal/cctz/src/civil_time_detail.cc
+- # absl/time/internal/cctz/src/time_zone_fixed.cc
+- # absl/time/internal/cctz/src/time_zone_format.cc
+- # absl/time/internal/cctz/src/time_zone_if.cc
+- # absl/time/internal/cctz/src/time_zone_impl.cc
+- # absl/time/internal/cctz/src/time_zone_info.cc
+- # absl/time/internal/cctz/src/time_zone_libc.cc
+- # absl/time/internal/cctz/src/time_zone_lookup.cc
+- # absl/time/internal/cctz/src/time_zone_posix.cc
+- # absl/time/internal/cctz/src/zone_info_source.cc
+- # absl/time/internal/test_util.cc
+- # absl/time/time.cc
+- # absl/types/bad_any_cast.cc
+- absl/types/bad_optional_access.cc
+- absl/types/bad_variant_access.cc
++ absl::algorithm_container
++ absl::bind_front
++ absl::config
++ absl::cord
++ absl::core_headers
++ absl::flat_hash_map
++ absl::inlined_vector
++ absl::flags
++ absl::flags_parse
++ absl::flags_usage
++ absl::memory
++ absl::optional
++ absl::str_format
++ absl::strings
++ absl::synchronization
++ absl::type_traits
++ absl::variant
+ )
+
+ target_include_directories(libabsl
+-PUBLIC
++INTERFACE
+ $<BUILD_INTERFACE:${libabsl_loc}>
+ $<INSTALL_INTERFACE:${webrtc_includedir}/third_party/abseil-cpp>
+ )
diff --git a/packages/media-libs/tg_owt/tg_owt-0_pre20260803.exheres-0 b/packages/media-libs/tg_owt/tg_owt-0_pre20260803.exheres-0
new file mode 100644
index 0000000..8d7f3eb
--- /dev/null
+++ b/packages/media-libs/tg_owt/tg_owt-0_pre20260803.exheres-0
@@ -0,0 +1,90 @@
+# Copyright 2026 Gurov <thuggerthugger1@duck.com>
+# Distributed under the terms of the GNU General Public License v2
+
+require cmake flag-o-matic
+
+TG_OWT_COMMIT="26068e29bfa8d74a9dc9c8f7f94172fafbc262b8"
+LIBYUV_COMMIT="04821d1e7d60845525e8db55c7bcd41ef5be9406"
+CRC32C_COMMIT="21fc8ef30415a635e7351ffa0e5d5367943d4a94"
+ABSEIL_COMMIT="d7aaad83b488fd62bd51c81ecf16cd938532cc0a"
+
+SUMMARY="WebRTC build for Telegram"
+HOMEPAGE="https://github.com/desktop-app/tg_owt"
+DOWNLOADS="
+ https://github.com/desktop-app/tg_owt/archive/${TG_OWT_COMMIT}.tar.gz -> ${PNV}.tar.gz
+ https://gitlab.com/chromiumsrc/libyuv/-/archive/${LIBYUV_COMMIT}/libyuv-${LIBYUV_COMMIT}.tar.bz2
+ https://github.com/google/crc32c/archive/${CRC32C_COMMIT}.tar.gz -> crc32c-${CRC32C_COMMIT}.tar.gz
+ https://github.com/abseil/abseil-cpp/archive/${ABSEIL_COMMIT}.tar.gz -> abseil-cpp-${ABSEIL_COMMIT}.tar.gz
+"
+
+LICENCES="Apache-2.0 BSD-3"
+SLOT="0"
+PLATFORMS="~amd64"
+
+DEPENDENCIES="
+ build:
+ virtual/pkg-config
+ x11-proto/xorgproto
+
+ build+run:
+ dev-libs/glib:2
+ dev-libs/libglvnd
+ dev-libs/openssl
+ media-libs/libjpeg-turbo
+ media-libs/libvpx[>=1.10]
+ media-libs/openh264
+ media-libs/opus
+ media/ffmpeg
+ media/pipewire
+ media-sound/pulseaudio
+ net-libs/libsrtp
+ sys-sound/alsa-lib
+ x11-dri/libdrm
+ x11-dri/mesa
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+"
+
+CMAKE_SOURCE="${WORKBASE}/tg_owt-${TG_OWT_COMMIT}"
+
+DEFAULT_SRC_PREPARE_PATCHES=(
+ "${FILES}/${PNV}-abseil.patch"
+)
+
+CMAKE_SRC_CONFIGURE_PARAMS=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_absl=ON
+ -DCMAKE_CXX_STANDARD=20
+ -DCMAKE_SHARED_LINKER_FLAGS=-Wl,-z,defs
+ -DBUILD_SHARED_LIBS=ON
+ -DTG_OWT_USE_X11=ON
+ -DTG_OWT_USE_PIPEWIRE=ON
+ -DTG_OWT_DLOPEN_PIPEWIRE=ON
+ -DTG_OWT_BUILD_AUDIO_BACKENDS=ON
+)
+
+src_prepare() {
+ edo rmdir "${CMAKE_SOURCE}/src/third_party/libyuv"
+ edo mv "${WORKBASE}/libyuv-${LIBYUV_COMMIT}" "${CMAKE_SOURCE}/src/third_party/libyuv"
+ edo rmdir "${CMAKE_SOURCE}/src/third_party/crc32c/src"
+ edo mv "${WORKBASE}/crc32c-${CRC32C_COMMIT}" "${CMAKE_SOURCE}/src/third_party/crc32c/src"
+ edo rmdir "${CMAKE_SOURCE}/src/third_party/abseil-cpp"
+ edo mv "${WORKBASE}/abseil-cpp-${ABSEIL_COMMIT}" "${CMAKE_SOURCE}/src/third_party/abseil-cpp"
+ edo cd "${CMAKE_SOURCE}"
+ default
+}
+
+src_configure() {
+ append-cxxflags -DNDEBUG
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ edo find "${IMAGE}/usr/$(exhost --target)/include/tg_owt" -depth -type d -empty -delete
+}