mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-07 23:53:51 +02:00
New package: tg_owt-0.0.0.1
This commit is contained in:
parent
385f16b699
commit
814e2a1ad9
4 changed files with 189 additions and 0 deletions
70
srcpkgs/tg_owt/patches/libressl.patch
Normal file
70
srcpkgs/tg_owt/patches/libressl.patch
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
From 3f2d8238846d4795f1292c05923b9f212dc4d022 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Charlie Li <git@vishwin.info>
|
||||||
|
Date: Sat, 21 Nov 2020 14:24:04 -0500
|
||||||
|
Subject: [PATCH] Fix build with LibreSSL
|
||||||
|
|
||||||
|
LibreSSL's dtls1.h uses some definitions from ssl.h and ssl3.h, but
|
||||||
|
expects consumers to include them. Reorder and include them before
|
||||||
|
dtls1.h.
|
||||||
|
|
||||||
|
LibreSSL does not define DTLS1_2_VERSION. Remove them from view.
|
||||||
|
---
|
||||||
|
src/rtc_base/openssl_stream_adapter.cc | 19 ++++++++++++++++++-
|
||||||
|
1 file changed, 18 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/rtc_base/openssl_stream_adapter.cc b/src/rtc_base/openssl_stream_adapter.cc
|
||||||
|
index 7f4b79a5..037002bc 100644
|
||||||
|
--- a/src/rtc_base/openssl_stream_adapter.cc
|
||||||
|
+++ b/src/rtc_base/openssl_stream_adapter.cc
|
||||||
|
@@ -17,8 +17,11 @@
|
||||||
|
#include <openssl/tls1.h>
|
||||||
|
#include <openssl/x509v3.h>
|
||||||
|
#ifndef OPENSSL_IS_BORINGSSL
|
||||||
|
-#include <openssl/dtls1.h>
|
||||||
|
#include <openssl/ssl.h>
|
||||||
|
+#ifdef LIBRESSL_VERSION_NUMBER
|
||||||
|
+#include <openssl/ssl3.h>
|
||||||
|
+#endif
|
||||||
|
+#include <openssl/dtls1.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
@@ -392,8 +395,10 @@ SSLProtocolVersion OpenSSLStreamAdapter::GetSslVersion() const {
|
||||||
|
if (ssl_mode_ == SSL_MODE_DTLS) {
|
||||||
|
if (ssl_version == DTLS1_VERSION) {
|
||||||
|
return SSL_PROTOCOL_DTLS_10;
|
||||||
|
+#ifndef LIBRESSL_VERSION_NUMBER
|
||||||
|
} else if (ssl_version == DTLS1_2_VERSION) {
|
||||||
|
return SSL_PROTOCOL_DTLS_12;
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (ssl_version == TLS1_VERSION) {
|
||||||
|
@@ -985,15 +990,27 @@ SSL_CTX* OpenSSLStreamAdapter::SetupSSLContext() {
|
||||||
|
case SSL_PROTOCOL_TLS_12:
|
||||||
|
default:
|
||||||
|
SSL_CTX_set_max_proto_version(
|
||||||
|
+#ifdef LIBRESSL_VERSION_NUMBER
|
||||||
|
+ ctx, TLS1_2_VERSION);
|
||||||
|
+#else
|
||||||
|
ctx, ssl_mode_ == SSL_MODE_DTLS ? DTLS1_2_VERSION : TLS1_2_VERSION);
|
||||||
|
+#endif
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// TODO(https://bugs.webrtc.org/10261): Make this the default in M84.
|
||||||
|
SSL_CTX_set_min_proto_version(
|
||||||
|
+#ifdef LIBRESSL_VERSION_NUMBER
|
||||||
|
+ ctx, TLS1_2_VERSION);
|
||||||
|
+#else
|
||||||
|
ctx, ssl_mode_ == SSL_MODE_DTLS ? DTLS1_2_VERSION : TLS1_2_VERSION);
|
||||||
|
+#endif
|
||||||
|
SSL_CTX_set_max_proto_version(
|
||||||
|
+#ifdef LIBRESSL_VERSION_NUMBER
|
||||||
|
+ ctx, TLS1_2_VERSION);
|
||||||
|
+#else
|
||||||
|
ctx, ssl_mode_ == SSL_MODE_DTLS ? DTLS1_2_VERSION : TLS1_2_VERSION);
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef OPENSSL_IS_BORINGSSL
|
1
srcpkgs/tg_owt/patches/libressl.patch.args
Normal file
1
srcpkgs/tg_owt/patches/libressl.patch.args
Normal file
|
@ -0,0 +1 @@
|
||||||
|
-Np1
|
87
srcpkgs/tg_owt/patches/system-vpx.patch
Normal file
87
srcpkgs/tg_owt/patches/system-vpx.patch
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
diff --git CMakeLists.txt CMakeLists.txt
|
||||||
|
index d970719..c14226e 100644
|
||||||
|
--- CMakeLists.txt
|
||||||
|
+++ CMakeLists.txt
|
||||||
|
@@ -45,7 +45,6 @@ include(cmake/libpffft.cmake)
|
||||||
|
include(cmake/librnnoise.cmake)
|
||||||
|
include(cmake/libsrtp.cmake)
|
||||||
|
include(cmake/libusrsctp.cmake)
|
||||||
|
-include(cmake/libvpx.cmake)
|
||||||
|
include(cmake/libwebrtcbuild.cmake)
|
||||||
|
include(cmake/libyuv.cmake)
|
||||||
|
if (NOT WIN32 AND NOT APPLE)
|
||||||
|
@@ -77,13 +76,6 @@ if (is_x86 OR is_x64)
|
||||||
|
tg_owt::librnnoise
|
||||||
|
tg_owt::libsrtp
|
||||||
|
tg_owt::libusrsctp
|
||||||
|
- tg_owt::libvpx
|
||||||
|
- tg_owt::libvpx_mmx
|
||||||
|
- tg_owt::libvpx_sse2
|
||||||
|
- tg_owt::libvpx_ssse3
|
||||||
|
- tg_owt::libvpx_sse4
|
||||||
|
- tg_owt::libvpx_avx
|
||||||
|
- tg_owt::libvpx_avx2
|
||||||
|
tg_owt::libyuv
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
@@ -97,7 +89,6 @@ else()
|
||||||
|
tg_owt::librnnoise
|
||||||
|
tg_owt::libsrtp
|
||||||
|
tg_owt::libusrsctp
|
||||||
|
- tg_owt::libvpx
|
||||||
|
tg_owt::libyuv
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
@@ -122,6 +113,7 @@ if (APPLE)
|
||||||
|
target_link_libraries(tg_owt PUBLIC tg_owt::libsdkmacos)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+link_vpx(tg_owt)
|
||||||
|
link_openssl(tg_owt)
|
||||||
|
link_ffmpeg(tg_owt)
|
||||||
|
link_opus(tg_owt)
|
||||||
|
@@ -1868,16 +1860,6 @@ elseif (APPLE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(vpx_export)
|
||||||
|
-if (is_x86 OR is_x64)
|
||||||
|
- set(vpx_export
|
||||||
|
- libvpx_mmx
|
||||||
|
- libvpx_sse2
|
||||||
|
- libvpx_ssse3
|
||||||
|
- libvpx_sse4
|
||||||
|
- libvpx_avx
|
||||||
|
- libvpx_avx2
|
||||||
|
- )
|
||||||
|
-endif()
|
||||||
|
|
||||||
|
set(export_targets
|
||||||
|
tg_owt
|
||||||
|
@@ -1887,7 +1869,6 @@ set(export_targets
|
||||||
|
librnnoise
|
||||||
|
libsrtp
|
||||||
|
libusrsctp
|
||||||
|
- libvpx
|
||||||
|
${vpx_export}
|
||||||
|
libwebrtcbuild
|
||||||
|
libyuv
|
||||||
|
diff --git cmake/external.cmake cmake/external.cmake
|
||||||
|
index 964e260..82d68d0 100644
|
||||||
|
--- cmake/external.cmake
|
||||||
|
+++ cmake/external.cmake
|
||||||
|
@@ -129,3 +129,15 @@ function(link_dl target_name)
|
||||||
|
target_link_libraries(${target_name} PRIVATE ${CMAKE_DL_LIBS})
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
+
|
||||||
|
+# libvpx
|
||||||
|
+function(link_vpx target_name)
|
||||||
|
+ if (TG_OWT_PACKAGED_BUILD)
|
||||||
|
+ find_package(PkgConfig REQUIRED)
|
||||||
|
+ pkg_check_modules(VPX vpx)
|
||||||
|
+ endif()
|
||||||
|
+ if (VPX_FOUND)
|
||||||
|
+ target_include_directories(${target_name} PRIVATE ${VPX_INCLUDE_DIRS})
|
||||||
|
+ target_link_libraries(${target_name} PRIVATE ${VPX_LINK_LIBRARIES})
|
||||||
|
+ endif()
|
||||||
|
+endfunction()
|
31
srcpkgs/tg_owt/template
Normal file
31
srcpkgs/tg_owt/template
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
# Template file for 'tg_owt'
|
||||||
|
pkgname=tg_owt
|
||||||
|
version=0.0.0.1
|
||||||
|
revision=1
|
||||||
|
_commit=756fd0fb5f40ffb4244c675208e84de781f766f3
|
||||||
|
_libvpx_commit=5b63f0f821e94f8072eb483014cfc33b05978bb9
|
||||||
|
_libyuv_commit=ad890067f661dc747a975bc55ba3767fe30d4452
|
||||||
|
wrksrc="tg_owt-$_commit"
|
||||||
|
build_style=cmake
|
||||||
|
configure_args="-DBUILD_SHARED_LIBS=OFF"
|
||||||
|
hostmakedepends="pkg-config yasm protobuf25"
|
||||||
|
makedepends="alsa-lib-devel pulseaudio-devel libressl-devel opus-devel
|
||||||
|
libvpx-devel ffmpeg-devel libjpeg-turbo-devel protobuf-devel"
|
||||||
|
depends="$makedepends"
|
||||||
|
short_desc="WebRTC library for Telegram-desktop"
|
||||||
|
maintainer="John <me@johnnynator.dev>"
|
||||||
|
license="GPL-3.0-or-later"
|
||||||
|
homepage="https://github.com/desktop-app/tg_owt"
|
||||||
|
distfiles="https://github.com/desktop-app/tg_owt/archive/${_commit}.tar.gz
|
||||||
|
https://chromium.googlesource.com/libyuv/libyuv/+archive/${_libyuv_commit}.tar.gz"
|
||||||
|
checksum="@43d09b00a43f9206b1f04c6d6697f4b0cb3be0285100bf5df91144b1d689c89a
|
||||||
|
@1dd51820852df840c339bf3f18e6cf1166de33d5631a69cd1eae5b2b34c113e3"
|
||||||
|
skip_extraction="${_libvpx_commit}.tar.gz ${_libyuv_commit}.tar.gz"
|
||||||
|
|
||||||
|
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
|
||||||
|
makedepends+=" musl-legacy-compat"
|
||||||
|
fi
|
||||||
|
|
||||||
|
post_extract() {
|
||||||
|
bsdtar xzf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_libyuv_commit}.tar.gz -C ${wrksrc}/src/third_party/libyuv
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue