[dynamips] Update sources
by Nicolas Chauvet
commit 4b4d6ea98b5dec609941b6d4644cfb85299338a1
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Jan 9 20:23:20 2020 +0100
Update sources
sources | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/sources b/sources
index 2a771fe..80f9ddc 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-7f10dd10400066ab204059e829520580 dynamips-0.2.18.tar.gz
+SHA512 (dynamips-0.2.21.tar.gz) = c7251963897b65ed5696f47f03be727cea79fe2245850c86fa6b4d8718afa10002b1e39bccefe1c7f2ba86fe6b8f52fe8663ee34f72ca3d9f846522b9b9b4d29
4 years, 10 months
[dynamips] Update to 0.2.21
by Nicolas Chauvet
commit da6ead54b99034c8a936cf7e277fa49747d736ec
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Jan 9 20:21:07 2020 +0100
Update to 0.2.21
dynamips.spec | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/dynamips.spec b/dynamips.spec
index eabc346..de51e50 100644
--- a/dynamips.spec
+++ b/dynamips.spec
@@ -1,6 +1,6 @@
Name: dynamips
-Version: 0.2.18
-Release: 3%{?dist}
+Version: 0.2.21
+Release: 1%{?dist}
Summary: Cisco Router Emulator
# There is a GPL license file in COPYING but most files
@@ -59,6 +59,9 @@ rm -rf %{buildroot}%{_docdir}/dynamips
%changelog
+* Thu Jan 09 2020 Nicolas Chauvet <kwizart(a)gmail.com> - 0.2.21-1
+- Update dynamips
+
* Sat Aug 10 2019 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 0.2.18-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
4 years, 10 months
[intel-media-driver] Add intel 01.org project url - rfbz#5513
by Nicolas Chauvet
commit aef9ed147397ac7d53ed6906b85c1206460fc2f0
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Jan 9 17:38:00 2020 +0100
Add intel 01.org project url - rfbz#5513
intel-media-driver.spec | 1 +
1 file changed, 1 insertion(+)
---
diff --git a/intel-media-driver.spec b/intel-media-driver.spec
index e2a0ecb..b07107d 100644
--- a/intel-media-driver.spec
+++ b/intel-media-driver.spec
@@ -36,6 +36,7 @@ Provides: bundled(libdrm)
The Intel Media Driver for VAAPI is a new VA-API (Video Acceleration API)
user mode driver supporting hardware accelerated decoding, encoding,
and video post processing for GEN based graphics hardware.
+https://01.org/intel-media-for-linux
%prep
4 years, 10 months
[libva-intel-driver] Fix URL issue - rfbz#5512
by Nicolas Chauvet
commit a7a423dd0442213fd2e27fce91939a8473bf3d59
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Thu Jan 9 17:30:05 2020 +0100
Fix URL issue - rfbz#5512
libva-intel-driver.spec | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/libva-intel-driver.spec b/libva-intel-driver.spec
index d788c6d..9314c80 100644
--- a/libva-intel-driver.spec
+++ b/libva-intel-driver.spec
@@ -8,8 +8,8 @@ Version: 2.4.0
Release: 1%{?dist}
Summary: HW video decode support for Intel integrated graphics
License: MIT and EPL
-URL: https://01.org/linuxmediag
-Source0: https://github.com/intel/intel-vaapi-driver/releases/download/%{version}/...
+URL: https://github.com/intel/intel-vaapi-driver
+Source0: %{url}/releases/download/%{version}/intel-vaapi-driver-%{version}.tar.bz2
Source1: intel-vaapi-driver.metainfo.xml
Source9: parse-intel-vaapi-driver.py
@@ -41,6 +41,7 @@ BuildRequires: wayland-devel%{?_isa}
%description
HW video decode support for Intel integrated graphics.
+https://01.org/intel-media-for-linux
%prep
4 years, 10 months
[telegram-desktop/f31] Updated to version 1.9.3.
by Vitaly Zaitsev
commit bd0410dc7453053b3bb0829135ee6c5704939720
Author: Vitaly Zaitsev <vitaly(a)easycoding.org>
Date: Thu Jan 9 17:07:23 2020 +0100
Updated to version 1.9.3.
.gitignore | 13 +
cmake_helpers-system-expected.patch | 32 +
cmake_helpers-system-gsl.patch | 32 +
cmake_helpers-system-libraries.patch | 1233 +++++++++++++++++++++
cmake_helpers-system-qrcode.patch | 65 ++
cmake_helpers-system-variant.patch | 33 +
lib_ui-remove-configs.patch | 25 +
sources | 16 +-
telegram-desktop-build-fixes.patch | 916 ----------------
telegram-desktop-commit-100fed3.patch | 30 +
telegram-desktop-commit-322367c.patch | 104 ++
telegram-desktop-fix-appdata.patch | 24 +
telegram-desktop-fix-desktop.patch | 29 +
telegram-desktop-pr6956.patch | 1819 +++++++++++++++++++++++++++++++
telegram-desktop-pr6985.patch | 30 +
telegram-desktop-system-fonts.patch | 44 -
telegram-desktop-unbundle-minizip.patch | 78 --
telegram-desktop.spec | 267 +++--
18 files changed, 3687 insertions(+), 1103 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index cbc7c4f..d2b5eab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -106,3 +106,16 @@
/tdesktop-1.8.12.tar.gz
/tdesktop-1.8.13.tar.gz
/tdesktop-1.8.15.tar.gz
+/cmake_helpers-652bbaf.tar.gz
+/codegen-d14ae77.tar.gz
+/lib_base-baae6cd.tar.gz
+/lib_crl-5a740bf.tar.gz
+/lib_lottie-a0a0269.tar.gz
+/lib_qr-9877397.tar.gz
+/lib_rpl-2888aab.tar.gz
+/lib_spellcheck-d305de6.tar.gz
+/lib_storage-b0388a1.tar.gz
+/lib_storage-cb56ad4.tar.gz
+/lib_ui-4ec9e32.tar.gz
+/rlottie-c490c7a.tar.gz
+/tdesktop-1.9.3.tar.gz
diff --git a/cmake_helpers-system-expected.patch b/cmake_helpers-system-expected.patch
new file mode 100644
index 0000000..f6833c0
--- /dev/null
+++ b/cmake_helpers-system-expected.patch
@@ -0,0 +1,32 @@
+From 506b42ad9db309231e21e33bcc35995a135261c0 Mon Sep 17 00:00:00 2001
+From: Vitaly Zaitsev <vitaly(a)easycoding.org>
+Date: Thu, 9 Jan 2020 14:42:45 +0100
+Subject: [PATCH 2/5] Use packaged version of expected library.
+
+---
+ external/expected/CMakeLists.txt | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/external/expected/CMakeLists.txt b/external/expected/CMakeLists.txt
+index 53ec233..a9c78c7 100644
+--- a/external/expected/CMakeLists.txt
++++ b/external/expected/CMakeLists.txt
+@@ -7,7 +7,11 @@
+ add_library(external_expected INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_expected ALIAS external_expected)
+
+-target_include_directories(external_expected SYSTEM
+-INTERFACE
+- ${third_party_loc}/expected/include
+-)
++if (DESKTOP_APP_USE_PACKAGED)
++ find_package(tl-expected CONFIG REQUIRED)
++else()
++ target_include_directories(external_expected SYSTEM
++ INTERFACE
++ ${third_party_loc}/expected/include
++ )
++endif()
+--
+2.24.1
+
diff --git a/cmake_helpers-system-gsl.patch b/cmake_helpers-system-gsl.patch
new file mode 100644
index 0000000..923cf57
--- /dev/null
+++ b/cmake_helpers-system-gsl.patch
@@ -0,0 +1,32 @@
+From 5a25232dbf1b69e7497602e1d439115b76d0f9ff Mon Sep 17 00:00:00 2001
+From: Vitaly Zaitsev <vitaly(a)easycoding.org>
+Date: Thu, 9 Jan 2020 14:43:15 +0100
+Subject: [PATCH 3/5] Use packaged version of guidelines-support-library.
+
+---
+ external/gsl/CMakeLists.txt | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/external/gsl/CMakeLists.txt b/external/gsl/CMakeLists.txt
+index c7a0883..84c8632 100644
+--- a/external/gsl/CMakeLists.txt
++++ b/external/gsl/CMakeLists.txt
+@@ -7,7 +7,11 @@
+ add_library(external_gsl INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_gsl ALIAS external_gsl)
+
+-target_include_directories(external_gsl SYSTEM
+-INTERFACE
+- ${third_party_loc}/GSL/include
+-)
++if (DESKTOP_APP_USE_PACKAGED)
++ target_include_directories(external_gsl INTERFACE "${INCLUDE_INSTALL_DIR}/guidelines-support-library")
++else()
++ target_include_directories(external_gsl SYSTEM
++ INTERFACE
++ ${third_party_loc}/GSL/include
++ )
++endif()
+--
+2.24.1
+
diff --git a/cmake_helpers-system-libraries.patch b/cmake_helpers-system-libraries.patch
new file mode 100644
index 0000000..541f38b
--- /dev/null
+++ b/cmake_helpers-system-libraries.patch
@@ -0,0 +1,1233 @@
+From c4c773d5a0d71d4d18e1e52b6564082be23bfa8d Mon Sep 17 00:00:00 2001
+From: Vitaly Zaitsev <vitaly(a)easycoding.org>
+Date: Thu, 9 Jan 2020 14:39:12 +0100
+Subject: [PATCH 1/5] Make packaged build working by Ilya Fedin.
+
+PR: https://github.com/desktop-app/cmake_helpers/pull/8
+---
+ external/crash_reports/CMakeLists.txt | 26 +-
+ external/ffmpeg/CMakeLists.txt | 74 ++++--
+ external/lz4/CMakeLists.txt | 51 ++--
+ external/openal/CMakeLists.txt | 14 +-
+ external/openssl/CMakeLists.txt | 85 +++---
+ external/opus/CMakeLists.txt | 19 +-
+ external/qt/CMakeLists.txt | 357 ++++++++++++++------------
+ external/qt/package.cmake | 24 +-
+ external/ranges/CMakeLists.txt | 12 +-
+ external/rlottie/CMakeLists.txt | 208 +++++++--------
+ external/xxhash/CMakeLists.txt | 24 +-
+ external/zlib/CMakeLists.txt | 28 +-
+ init_target.cmake | 4 +-
+ options_linux.cmake | 20 +-
+ variables.cmake | 9 +-
+ 15 files changed, 540 insertions(+), 415 deletions(-)
+
+diff --git a/external/crash_reports/CMakeLists.txt b/external/crash_reports/CMakeLists.txt
+index a741bcb..90eae86 100644
+--- a/external/crash_reports/CMakeLists.txt
++++ b/external/crash_reports/CMakeLists.txt
+@@ -7,16 +7,18 @@
+ add_library(external_crash_reports INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_crash_reports ALIAS external_crash_reports)
+
+-if (WIN32 OR LINUX OR build_macstore)
+- add_subdirectory(breakpad)
+- target_link_libraries(external_crash_reports
+- INTERFACE
+- desktop-app::external_breakpad
+- )
+-else()
+- add_subdirectory(crashpad)
+- target_link_libraries(external_crash_reports
+- INTERFACE
+- desktop-app::external_crashpad
+- )
++if (NOT DESKTOP_APP_DISABLE_CRASH_REPORTS)
++ if (WIN32 OR LINUX OR build_macstore)
++ add_subdirectory(breakpad)
++ target_link_libraries(external_crash_reports
++ INTERFACE
++ desktop-app::external_breakpad
++ )
++ else()
++ add_subdirectory(crashpad)
++ target_link_libraries(external_crash_reports
++ INTERFACE
++ desktop-app::external_crashpad
++ )
++ endif()
+ endif()
+diff --git a/external/ffmpeg/CMakeLists.txt b/external/ffmpeg/CMakeLists.txt
+index 014fb06..843ca09 100644
+--- a/external/ffmpeg/CMakeLists.txt
++++ b/external/ffmpeg/CMakeLists.txt
+@@ -7,32 +7,58 @@
+ add_library(external_ffmpeg INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_ffmpeg ALIAS external_ffmpeg)
+
+-target_include_directories(external_ffmpeg SYSTEM
+-INTERFACE
+- ${libs_loc}/ffmpeg
+-)
++if (DESKTOP_APP_USE_PACKAGED)
++ find_package(PkgConfig REQUIRED)
+
+-set(ffmpeg_lib_loc ${libs_loc}/ffmpeg)
++ pkg_check_modules(AVCODEC REQUIRED libavcodec)
++ pkg_check_modules(AVFORMAT REQUIRED libavformat)
++ pkg_check_modules(AVUTIL REQUIRED libavutil)
++ pkg_check_modules(SWSCALE REQUIRED libswscale)
++ pkg_check_modules(SWRESAMPLE REQUIRED libswresample)
+
+-target_link_libraries(external_ffmpeg
+-INTERFACE
+- ${ffmpeg_lib_loc}/libavformat/libavformat.a
+- ${ffmpeg_lib_loc}/libavcodec/libavcodec.a
+- ${ffmpeg_lib_loc}/libswresample/libswresample.a
+- ${ffmpeg_lib_loc}/libswscale/libswscale.a
+- ${ffmpeg_lib_loc}/libavutil/libavutil.a
+-)
+-if (LINUX)
+- target_link_static_libraries(external_ffmpeg
++ target_include_directories(external_ffmpeg
+ INTERFACE
+- va-x11
+- va-drm
+- va
+- vdpau
+- drm
+- Xi
+- Xext
+- Xfixes
+- Xrender
++ ${AVCODEC_INCLUDE_DIRS}
++ ${AVFORMAT_INCLUDE_DIRS}
++ ${AVUTIL_INCLUDE_DIRS}
++ ${SWSCALE_INCLUDE_DIRS}
++ ${SWRESAMPLE_INCLUDE_DIRS})
++
++ target_link_libraries(external_ffmpeg
++ INTERFACE
++ ${AVCODEC_LIBRARIES}
++ ${AVFORMAT_LIBRARIES}
++ ${AVUTIL_LIBRARIES}
++ ${SWSCALE_LIBRARIES}
++ ${SWRESAMPLE_LIBRARIES})
++else()
++ target_include_directories(external_ffmpeg SYSTEM
++ INTERFACE
++ ${libs_loc}/ffmpeg
++ )
++
++ set(ffmpeg_lib_loc ${libs_loc}/ffmpeg)
++
++ target_link_libraries(external_ffmpeg
++ INTERFACE
++ ${ffmpeg_lib_loc}/libavformat/libavformat.a
++ ${ffmpeg_lib_loc}/libavcodec/libavcodec.a
++ ${ffmpeg_lib_loc}/libswresample/libswresample.a
++ ${ffmpeg_lib_loc}/libswscale/libswscale.a
++ ${ffmpeg_lib_loc}/libavutil/libavutil.a
+ )
++ if (LINUX)
++ target_link_static_libraries(external_ffmpeg
++ INTERFACE
++ va-x11
++ va-drm
++ va
++ vdpau
++ drm
++ Xi
++ Xext
++ Xfixes
++ Xrender
++ )
++ endif()
+ endif()
+diff --git a/external/lz4/CMakeLists.txt b/external/lz4/CMakeLists.txt
+index 49821af..bcf308d 100644
+--- a/external/lz4/CMakeLists.txt
++++ b/external/lz4/CMakeLists.txt
+@@ -4,26 +4,37 @@
+ # For license and copyright information please follow this link:
+ # https://github.com/desktop-app/legal/blob/master/LEGAL
+
+-add_library(external_lz4 OBJECT)
+-add_library(desktop-app::external_lz4 ALIAS external_lz4)
+-init_target(external_lz4 "(external)")
++if (DESKTOP_APP_USE_PACKAGED)
++ add_library(external_lz4 INTERFACE IMPORTED GLOBAL)
++ add_library(desktop-app::external_lz4 ALIAS external_lz4)
+
+-set(lz4_loc ${third_party_loc}/lz4/lib)
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(LZ4 REQUIRED liblz4)
+
+-target_sources(external_lz4
+-PRIVATE
+- ${lz4_loc}/lz4.c
+- ${lz4_loc}/lz4.h
+- ${lz4_loc}/lz4frame.c
+- ${lz4_loc}/lz4frame.h
+- ${lz4_loc}/lz4frame_static.h
+- ${lz4_loc}/lz4hc.c
+- ${lz4_loc}/lz4hc.h
+- ${lz4_loc}/xxhash.c
+- ${lz4_loc}/xxhash.h
+-)
++ target_include_directories(external_lz4 INTERFACE ${LZ4_INCLUDE_DIRS})
++ target_link_libraries(external_lz4 INTERFACE ${LZ4_LIBRARIES})
++else()
++ add_library(external_lz4 OBJECT)
++ add_library(desktop-app::external_lz4 ALIAS external_lz4)
++ init_target(external_lz4 "(external)")
+
+-target_include_directories(external_lz4
+-PUBLIC
+- ${lz4_loc}
+-)
++ set(lz4_loc ${third_party_loc}/lz4/lib)
++
++ target_sources(external_lz4
++ PRIVATE
++ ${lz4_loc}/lz4.c
++ ${lz4_loc}/lz4.h
++ ${lz4_loc}/lz4frame.c
++ ${lz4_loc}/lz4frame.h
++ ${lz4_loc}/lz4frame_static.h
++ ${lz4_loc}/lz4hc.c
++ ${lz4_loc}/lz4hc.h
++ ${lz4_loc}/xxhash.c
++ ${lz4_loc}/xxhash.h
++ )
++
++ target_include_directories(external_lz4
++ PUBLIC
++ ${lz4_loc}
++ )
++endif()
+diff --git a/external/openal/CMakeLists.txt b/external/openal/CMakeLists.txt
+index e2e4992..d20ca0c 100644
+--- a/external/openal/CMakeLists.txt
++++ b/external/openal/CMakeLists.txt
+@@ -7,7 +7,11 @@
+ add_library(external_openal INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_openal ALIAS external_openal)
+
+-if (WIN32)
++if (DESKTOP_APP_USE_PACKAGED)
++ find_package(OpenAL REQUIRED)
++ target_include_directories(external_openal INTERFACE ${OPENAL_INCLUDE_DIR})
++ target_link_libraries(external_openal INTERFACE ${OPENAL_LIBRARY})
++elseif (WIN32)
+ target_include_directories(external_openal SYSTEM
+ INTERFACE
+ ${libs_loc}/openal-soft/include
+@@ -36,8 +40,14 @@ else()
+ )
+ endif()
+
++if (NOT DESKTOP_APP_USE_PACKAGED)
++ target_compile_definitions(external_openal
++ INTERFACE
++ AL_LIBTYPE_STATIC
++ )
++endif()
++
+ target_compile_definitions(external_openal
+ INTERFACE
+- AL_LIBTYPE_STATIC
+ AL_ALEXT_PROTOTYPES
+ )
+diff --git a/external/openssl/CMakeLists.txt b/external/openssl/CMakeLists.txt
+index bcbcbfa..301e9ec 100644
+--- a/external/openssl/CMakeLists.txt
++++ b/external/openssl/CMakeLists.txt
+@@ -7,52 +7,57 @@
+ add_library(external_openssl INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_openssl ALIAS external_openssl)
+
+-if (LINUX)
+- target_include_directories(external_openssl SYSTEM
+- INTERFACE
+- /usr/local/desktop-app/openssl-1.1.1/include
+- )
+-elseif (NOT APPLE OR NOT build_osx)
+- target_include_directories(external_openssl SYSTEM
+- INTERFACE
+- ${libs_loc}/openssl_1_1_1/include
+- )
++if (DESKTOP_APP_USE_PACKAGED)
++ find_package(OpenSSL REQUIRED)
++ target_link_libraries(external_openssl INTERFACE OpenSSL::SSL)
+ else()
+- target_include_directories(external_openssl SYSTEM
+- INTERFACE
+- ${libs_loc}/openssl/include
+- )
+-endif()
++ if (LINUX)
++ target_include_directories(external_openssl SYSTEM
++ INTERFACE
++ /usr/local/desktop-app/openssl-1.1.1/include
++ )
++ elseif (NOT APPLE OR NOT build_osx)
++ target_include_directories(external_openssl SYSTEM
++ INTERFACE
++ ${libs_loc}/openssl_1_1_1/include
++ )
++ else()
++ target_include_directories(external_openssl SYSTEM
++ INTERFACE
++ ${libs_loc}/openssl/include
++ )
++ endif()
+
+-if (WIN32)
+- set(openssl_lib_ext lib)
+- set(openssl_lib_loc ${libs_loc}/openssl_1_1_1/out32$<$<CONFIG:Debug>:.dbg>)
+-else()
+- set(openssl_lib_ext a)
+- if (APPLE)
+- if (NOT build_osx)
+- set(openssl_lib_loc ${libs_loc}/openssl_1_1_1)
++ if (WIN32)
++ set(openssl_lib_ext lib)
++ set(openssl_lib_loc ${libs_loc}/openssl_1_1_1/out32$<$<CONFIG:Debug>:.dbg>)
++ else()
++ set(openssl_lib_ext a)
++ if (APPLE)
++ if (NOT build_osx)
++ set(openssl_lib_loc ${libs_loc}/openssl_1_1_1)
++ else()
++ set(openssl_lib_loc ${libs_loc}/openssl)
++ endif()
+ else()
+- set(openssl_lib_loc ${libs_loc}/openssl)
++ set(openssl_lib_loc /usr/local/desktop-app/openssl-1.1.1/lib)
+ endif()
+- else()
+- set(openssl_lib_loc /usr/local/desktop-app/openssl-1.1.1/lib)
+ endif()
+-endif()
+
+-target_link_libraries(external_openssl
+-INTERFACE
+- ${openssl_lib_loc}/libssl.${openssl_lib_ext}
+- ${openssl_lib_loc}/libcrypto.${openssl_lib_ext}
+-)
++ target_link_libraries(external_openssl
++ INTERFACE
++ ${openssl_lib_loc}/libssl.${openssl_lib_ext}
++ ${openssl_lib_loc}/libcrypto.${openssl_lib_ext}
++ )
+
+-if (LINUX)
+- if (DESKTOP_APP_USE_GLIBC_WRAPS)
+- target_link_libraries(external_openssl
+- INTERFACE
+- desktop-app::linux_glibc_wraps
+- $<TARGET_FILE:desktop-app::linux_glibc_wraps>
+- )
++ if (LINUX)
++ if (DESKTOP_APP_USE_GLIBC_WRAPS)
++ target_link_libraries(external_openssl
++ INTERFACE
++ desktop-app::linux_glibc_wraps
++ $<TARGET_FILE:desktop-app::linux_glibc_wraps>
++ )
++ endif()
++ target_link_libraries(external_openssl INTERFACE pthread)
+ endif()
+- target_link_libraries(external_openssl INTERFACE pthread)
+ endif()
+diff --git a/external/opus/CMakeLists.txt b/external/opus/CMakeLists.txt
+index 00c2508..f05e8c0 100644
+--- a/external/opus/CMakeLists.txt
++++ b/external/opus/CMakeLists.txt
+@@ -7,12 +7,21 @@
+ add_library(external_opus INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_opus ALIAS external_opus)
+
+-target_include_directories(external_opus SYSTEM
+-INTERFACE
+- ${libs_loc}/opus/include
+-)
++if (DESKTOP_APP_USE_PACKAGED)
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(OPUS opus)
+
+-if (WIN32)
++ target_include_directories(external_opus INTERFACE ${OPUS_INCLUDE_DIRS})
++else()
++ target_include_directories(external_opus SYSTEM
++ INTERFACE
++ ${libs_loc}/opus/include
++ )
++endif()
++
++if (DESKTOP_APP_USE_PACKAGED)
++ target_link_libraries(external_opus INTERFACE ${OPUS_LIBRARIES})
++elseif (WIN32)
+ set(opus_lib_loc ${libs_loc}/opus/win32/VS2015/Win32/$<IF:$<CONFIG:Debug>,Debug,Release>)
+
+ target_link_libraries(external_opus
+diff --git a/external/qt/CMakeLists.txt b/external/qt/CMakeLists.txt
+index 1a56319..a0745b0 100644
+--- a/external/qt/CMakeLists.txt
++++ b/external/qt/CMakeLists.txt
+@@ -7,211 +7,226 @@
+ add_library(external_qt INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_qt ALIAS external_qt)
+
+-if (LINUX)
+- if (NOT build_linux32)
+- target_compile_definitions(external_qt INTERFACE Q_OS_LINUX64)
+- else()
+- target_compile_definitions(external_qt INTERFACE Q_OS_LINUX32)
++if (DESKTOP_APP_USE_PACKAGED)
++ target_link_libraries(external_qt
++ INTERFACE
++ Qt5::Core
++ Qt5::Gui
++ Qt5::Widgets
++ Qt5::Network
++ Qt5::DBus)
++
++ target_include_directories(external_qt
++ INTERFACE
++ ${Qt5Core_PRIVATE_INCLUDE_DIRS}
++ ${Qt5Gui_PRIVATE_INCLUDE_DIRS})
++else()
++ if (LINUX)
++ if (NOT build_linux32)
++ target_compile_definitions(external_qt INTERFACE Q_OS_LINUX64)
++ else()
++ target_compile_definitions(external_qt INTERFACE Q_OS_LINUX32)
++ endif()
+ endif()
+-endif()
+
+-target_include_directories(external_qt SYSTEM
+-INTERFACE
+- ${qt_loc}/include
+- ${qt_loc}/include/QtCore
+- ${qt_loc}/include/QtGui
+- ${qt_loc}/include/QtDBus
+- ${qt_loc}/include/QtCore/${qt_version}
+- ${qt_loc}/include/QtGui/${qt_version}
+- ${qt_loc}/include/QtCore/${qt_version}/QtCore
+- ${qt_loc}/include/QtGui/${qt_version}/QtGui
+-)
++ target_include_directories(external_qt SYSTEM
++ INTERFACE
++ ${qt_loc}/include
++ ${qt_loc}/include/QtCore
++ ${qt_loc}/include/QtGui
++ ${qt_loc}/include/QtDBus
++ ${qt_loc}/include/QtCore/${qt_version}
++ ${qt_loc}/include/QtGui/${qt_version}
++ ${qt_loc}/include/QtCore/${qt_version}/QtCore
++ ${qt_loc}/include/QtGui/${qt_version}/QtGui
++ )
+
+-target_compile_definitions(external_qt
+-INTERFACE
+- _REENTRANT
+- QT_STATICPLUGIN
+- QT_PLUGIN
+- QT_WIDGETS_LIB
+- QT_NETWORK_LIB
+- QT_GUI_LIB
+- QT_CORE_LIB
+-)
++ target_compile_definitions(external_qt
++ INTERFACE
++ _REENTRANT
++ QT_STATICPLUGIN
++ QT_PLUGIN
++ QT_WIDGETS_LIB
++ QT_NETWORK_LIB
++ QT_GUI_LIB
++ QT_CORE_LIB
++ )
+
+-if (WIN32)
+- set(qt_lib_prefix "")
+- set(qt_lib_suffix $<$<CONFIG:Debug>:d>.lib)
+-else()
+- set(qt_lib_prefix lib)
+- if (APPLE)
+- set(qt_lib_suffix $<$<CONFIG:Debug>:_debug>.a)
++ if (WIN32)
++ set(qt_lib_prefix "")
++ set(qt_lib_suffix $<$<CONFIG:Debug>:d>.lib)
+ else()
+- set(qt_lib_suffix .a)
++ set(qt_lib_prefix lib)
++ if (APPLE)
++ set(qt_lib_suffix $<$<CONFIG:Debug>:_debug>.a)
++ else()
++ set(qt_lib_suffix .a)
++ endif()
+ endif()
+-endif()
+
+-set(common_qt_libs
+- plugins/imageformats/${qt_lib_prefix}qwebp
+- plugins/imageformats/${qt_lib_prefix}qgif
+- plugins/imageformats/${qt_lib_prefix}qjpeg
+- lib/${qt_lib_prefix}Qt5PrintSupport
+- lib/${qt_lib_prefix}Qt5AccessibilitySupport
+- lib/${qt_lib_prefix}Qt5FontDatabaseSupport
+- lib/${qt_lib_prefix}Qt5EventDispatcherSupport
+- lib/${qt_lib_prefix}Qt5ThemeSupport
+- lib/${qt_lib_prefix}Qt5Network
+- lib/${qt_lib_prefix}Qt5Widgets
+- lib/${qt_lib_prefix}Qt5Gui
+- lib/${qt_lib_prefix}qtharfbuzz
+- lib/${qt_lib_prefix}qtlibpng
+-)
+-
+-set(qt_libs_list "")
+-if (WIN32)
+- set(qt_libs
+- ${common_qt_libs}
+- lib/${qt_lib_prefix}Qt5Core
+- lib/${qt_lib_prefix}Qt5WindowsUIAutomationSupport
+- lib/${qt_lib_prefix}qtmain
+- lib/${qt_lib_prefix}qtfreetype
+- lib/${qt_lib_prefix}qtpcre2
+- plugins/platforms/${qt_lib_prefix}qwindows
++ set(common_qt_libs
++ plugins/imageformats/${qt_lib_prefix}qwebp
++ plugins/imageformats/${qt_lib_prefix}qgif
++ plugins/imageformats/${qt_lib_prefix}qjpeg
++ lib/${qt_lib_prefix}Qt5PrintSupport
++ lib/${qt_lib_prefix}Qt5AccessibilitySupport
++ lib/${qt_lib_prefix}Qt5FontDatabaseSupport
++ lib/${qt_lib_prefix}Qt5EventDispatcherSupport
++ lib/${qt_lib_prefix}Qt5ThemeSupport
++ lib/${qt_lib_prefix}Qt5Network
++ lib/${qt_lib_prefix}Qt5Widgets
++ lib/${qt_lib_prefix}Qt5Gui
++ lib/${qt_lib_prefix}qtharfbuzz
++ lib/${qt_lib_prefix}qtlibpng
+ )
+- foreach (lib ${qt_libs})
+- list(APPEND qt_libs_list "${qt_loc}/${lib}${qt_lib_suffix}")
+- endforeach()
+-elseif (APPLE)
+- if (NOT build_osx)
++
++ set(qt_libs_list "")
++ if (WIN32)
+ set(qt_libs
+ ${common_qt_libs}
+ lib/${qt_lib_prefix}Qt5Core
+- lib/${qt_lib_prefix}Qt5GraphicsSupport
+- lib/${qt_lib_prefix}Qt5ClipboardSupport
++ lib/${qt_lib_prefix}Qt5WindowsUIAutomationSupport
++ lib/${qt_lib_prefix}qtmain
+ lib/${qt_lib_prefix}qtfreetype
+ lib/${qt_lib_prefix}qtpcre2
+- plugins/platforms/${qt_lib_prefix}qcocoa
+- plugins/bearer/${qt_lib_prefix}qgenericbearer
++ plugins/platforms/${qt_lib_prefix}qwindows
++ )
++ foreach (lib ${qt_libs})
++ list(APPEND qt_libs_list "${qt_loc}/${lib}${qt_lib_suffix}")
++ endforeach()
++ elseif (APPLE)
++ if (NOT build_osx)
++ set(qt_libs
++ ${common_qt_libs}
++ lib/${qt_lib_prefix}Qt5Core
++ lib/${qt_lib_prefix}Qt5GraphicsSupport
++ lib/${qt_lib_prefix}Qt5ClipboardSupport
++ lib/${qt_lib_prefix}qtfreetype
++ lib/${qt_lib_prefix}qtpcre2
++ plugins/platforms/${qt_lib_prefix}qcocoa
++ plugins/bearer/${qt_lib_prefix}qgenericbearer
++ )
++ else()
++ set(qt_libs
++ lib/${qt_lib_prefix}Qt5PrintSupport
++ lib/${qt_lib_prefix}Qt5PlatformSupport
++ lib/${qt_lib_prefix}Qt5Network
++ lib/${qt_lib_prefix}Qt5Widgets
++ lib/${qt_lib_prefix}Qt5Gui
++ lib/${qt_lib_prefix}Qt5Core
++ lib/${qt_lib_prefix}qtharfbuzzng
++ lib/${qt_lib_prefix}qtfreetype
++ lib/${qt_lib_prefix}qtpcre
++ plugins/platforms/${qt_lib_prefix}qcocoa
++ plugins/imageformats/${qt_lib_prefix}qwebp
++ plugins/bearer/${qt_lib_prefix}qgenericbearer
++ )
++ endif()
++ foreach (lib ${qt_libs})
++ list(APPEND qt_libs_list "${qt_loc}/${lib}${qt_lib_suffix}")
++ endforeach()
++ target_link_libraries(external_qt
++ INTERFACE
++ desktop-app::external_zlib
++ cups
+ )
+ else()
+ set(qt_libs
+- lib/${qt_lib_prefix}Qt5PrintSupport
+- lib/${qt_lib_prefix}Qt5PlatformSupport
+- lib/${qt_lib_prefix}Qt5Network
+- lib/${qt_lib_prefix}Qt5Widgets
+- lib/${qt_lib_prefix}Qt5Gui
+- lib/${qt_lib_prefix}Qt5Core
+- lib/${qt_lib_prefix}qtharfbuzzng
+- lib/${qt_lib_prefix}qtfreetype
+- lib/${qt_lib_prefix}qtpcre
+- plugins/platforms/${qt_lib_prefix}qcocoa
+- plugins/imageformats/${qt_lib_prefix}qwebp
++ plugins/platforminputcontexts/${qt_lib_prefix}composeplatforminputcontextplugin
++ plugins/platforminputcontexts/${qt_lib_prefix}ibusplatforminputcontextplugin
++ plugins/platforminputcontexts/${qt_lib_prefix}fcitxplatforminputcontextplugin
++ plugins/platforminputcontexts/${qt_lib_prefix}himeplatforminputcontextplugin
++ plugins/platforminputcontexts/${qt_lib_prefix}nimfplatforminputcontextplugin
++ plugins/platforms/${qt_lib_prefix}qxcb
++ lib/${qt_lib_prefix}Qt5XcbQpa
++ lib/${qt_lib_prefix}Qt5LinuxAccessibilitySupport
++ lib/${qt_lib_prefix}Qt5ServiceSupport
++ lib/${qt_lib_prefix}Qt5EdidSupport
++ plugins/bearer/${qt_lib_prefix}qconnmanbearer
+ plugins/bearer/${qt_lib_prefix}qgenericbearer
++ plugins/bearer/${qt_lib_prefix}qnmbearer
++ ${common_qt_libs}
++ lib/${qt_lib_prefix}Qt5DBus
++ lib/${qt_lib_prefix}Qt5Core
++ lib/${qt_lib_prefix}qtpcre2
++ lib/${qt_lib_prefix}xcb-static
+ )
++ foreach (lib ${qt_libs})
++ list(APPEND qt_libs_list "${qt_loc}/${lib}${qt_lib_suffix}")
++ endforeach()
+ endif()
+- foreach (lib ${qt_libs})
+- list(APPEND qt_libs_list "${qt_loc}/${lib}${qt_lib_suffix}")
+- endforeach()
++
+ target_link_libraries(external_qt
+ INTERFACE
+- desktop-app::external_zlib
+- cups
+- )
+-else()
+- set(qt_libs
+- plugins/platforminputcontexts/${qt_lib_prefix}composeplatforminputcontextplugin
+- plugins/platforminputcontexts/${qt_lib_prefix}ibusplatforminputcontextplugin
+- plugins/platforminputcontexts/${qt_lib_prefix}fcitxplatforminputcontextplugin
+- plugins/platforminputcontexts/${qt_lib_prefix}himeplatforminputcontextplugin
+- plugins/platforminputcontexts/${qt_lib_prefix}nimfplatforminputcontextplugin
+- plugins/platforms/${qt_lib_prefix}qxcb
+- lib/${qt_lib_prefix}Qt5XcbQpa
+- lib/${qt_lib_prefix}Qt5LinuxAccessibilitySupport
+- lib/${qt_lib_prefix}Qt5ServiceSupport
+- lib/${qt_lib_prefix}Qt5EdidSupport
+- plugins/bearer/${qt_lib_prefix}qconnmanbearer
+- plugins/bearer/${qt_lib_prefix}qgenericbearer
+- plugins/bearer/${qt_lib_prefix}qnmbearer
+- ${common_qt_libs}
+- lib/${qt_lib_prefix}Qt5DBus
+- lib/${qt_lib_prefix}Qt5Core
+- lib/${qt_lib_prefix}qtpcre2
+- lib/${qt_lib_prefix}xcb-static
++ ${qt_libs_list}
+ )
+- foreach (lib ${qt_libs})
+- list(APPEND qt_libs_list "${qt_loc}/${lib}${qt_lib_suffix}")
+- endforeach()
+-endif()
+-
+-target_link_libraries(external_qt
+-INTERFACE
+- ${qt_libs_list}
+-)
+
+-if (LINUX)
+- target_include_directories(external_qt SYSTEM
+- INTERFACE
+- ${qt_loc}/mkspecs/linux-g++
+- )
+- target_link_options(external_qt
+- INTERFACE
+- -static-libstdc++
+- -pthread
+- -rdynamic
+- )
+- if (DESKTOP_APP_USE_GLIBC_WRAPS)
++ if (LINUX)
++ target_include_directories(external_qt SYSTEM
++ INTERFACE
++ ${qt_loc}/mkspecs/linux-g++
++ )
+ target_link_options(external_qt
+ INTERFACE
+- -Wl,-wrap,aligned_alloc
+- -Wl,-wrap,secure_getenv
+- -Wl,-wrap,clock_gettime
+- -Wl,--no-as-needed,-lrt
++ -static-libstdc++
++ -pthread
++ -rdynamic
+ )
+- if (NOT build_linux32)
++ if (DESKTOP_APP_USE_GLIBC_WRAPS)
+ target_link_options(external_qt
+ INTERFACE
+- -Wl,-wrap,__divmodti4
++ -Wl,-wrap,aligned_alloc
++ -Wl,-wrap,secure_getenv
++ -Wl,-wrap,clock_gettime
++ -Wl,--no-as-needed,-lrt
+ )
+- else()
+- target_link_options(external_qt
++ if (NOT build_linux32)
++ target_link_options(external_qt
++ INTERFACE
++ -Wl,-wrap,__divmodti4
++ )
++ else()
++ target_link_options(external_qt
++ INTERFACE
++ -Wl,-wrap,__divmoddi4
++ )
++ endif()
++ endif()
++ target_link_static_libraries(external_qt
++ INTERFACE
++ SM
++ ICE
++ fontconfig
++ freetype
++ expat
++ z
++ xcb-shm
++ xcb-xfixes
++ xcb-render
++ xkbcommon
++ xkbcommon-x11
++ Xrender
++ icutu
++ icui18n
++ icuuc
++ icudata
++ )
++ if (DESKTOP_APP_USE_GLIBC_WRAPS)
++ target_link_libraries(external_qt
+ INTERFACE
+- -Wl,-wrap,__divmoddi4
++ desktop-app::linux_glibc_wraps
++ $<TARGET_FILE:desktop-app::linux_glibc_wraps>
+ )
+ endif()
+- endif()
+- target_link_static_libraries(external_qt
+- INTERFACE
+- SM
+- ICE
+- fontconfig
+- freetype
+- expat
+- z
+- xcb-shm
+- xcb-xfixes
+- xcb-render
+- xkbcommon
+- xkbcommon-x11
+- Xrender
+- icutu
+- icui18n
+- icuuc
+- icudata
+- )
+- if (DESKTOP_APP_USE_GLIBC_WRAPS)
+ target_link_libraries(external_qt
+ INTERFACE
+- desktop-app::linux_glibc_wraps
+- $<TARGET_FILE:desktop-app::linux_glibc_wraps>
++ xcb
++ X11
++ X11-xcb
++ dbus-1
++ dl
++ glib-2.0
++ pthread
+ )
+ endif()
+- target_link_libraries(external_qt
+- INTERFACE
+- xcb
+- X11
+- X11-xcb
+- dbus-1
+- dl
+- glib-2.0
+- pthread
+- )
+ endif()
+diff --git a/external/qt/package.cmake b/external/qt/package.cmake
+index 36a1dfd..1e90baf 100644
+--- a/external/qt/package.cmake
++++ b/external/qt/package.cmake
+@@ -4,19 +4,21 @@
+ # For license and copyright information please follow this link:
+ # https://github.com/desktop-app/legal/blob/master/LEGAL
+
+-if (NOT APPLE OR NOT build_osx)
+- set(qt_version 5.12.5)
+-else()
+- set(qt_version 5.6.2)
+-endif()
++if (NOT DESKTOP_APP_USE_PACKAGED)
++ if (NOT APPLE OR NOT build_osx)
++ set(qt_version 5.12.5)
++ else()
++ set(qt_version 5.6.2)
++ endif()
+
+-if (WIN32)
+- set(qt_loc ${libs_loc}/Qt-${qt_version})
+-else()
+- set(qt_loc /usr/local/desktop-app/Qt-${qt_version})
+-endif()
++ if (WIN32)
++ set(qt_loc ${libs_loc}/Qt-${qt_version})
++ else()
++ set(qt_loc /usr/local/desktop-app/Qt-${qt_version})
++ endif()
+
+-set(Qt5_DIR ${qt_loc}/lib/cmake/Qt5)
++ set(Qt5_DIR ${qt_loc}/lib/cmake/Qt5)
++endif()
+
+ find_package(Qt5 COMPONENTS Core Gui Widgets Network REQUIRED)
+
+diff --git a/external/ranges/CMakeLists.txt b/external/ranges/CMakeLists.txt
+index 4c75ecb..8105361 100644
+--- a/external/ranges/CMakeLists.txt
++++ b/external/ranges/CMakeLists.txt
+@@ -7,10 +7,14 @@
+ add_library(external_ranges INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_ranges ALIAS external_ranges)
+
+-target_include_directories(external_ranges SYSTEM
+-INTERFACE
+- ${libs_loc}/range-v3/include
+-)
++if (DESKTOP_APP_USE_PACKAGED)
++ find_package(range-v3 REQUIRED)
++else()
++ target_include_directories(external_ranges SYSTEM
++ INTERFACE
++ ${libs_loc}/range-v3/include
++ )
++endif()
+
+ if (WIN32)
+ target_compile_options(external_ranges
+diff --git a/external/rlottie/CMakeLists.txt b/external/rlottie/CMakeLists.txt
+index 4fc3a54..155532e 100644
+--- a/external/rlottie/CMakeLists.txt
++++ b/external/rlottie/CMakeLists.txt
+@@ -4,115 +4,123 @@
+ # For license and copyright information please follow this link:
+ # https://github.com/desktop-app/legal/blob/master/LEGAL
+
+-add_library(external_rlottie OBJECT)
+-add_library(desktop-app::external_rlottie ALIAS external_rlottie)
+-init_target(external_rlottie "(external)")
++if (DESKTOP_APP_USE_PACKAGED_RLOTTIE)
++ add_library(external_rlottie INTERFACE IMPORTED GLOBAL)
++ add_library(desktop-app::external_rlottie ALIAS external_rlottie)
+
+-get_filename_component(src_loc . REALPATH)
+-set(rlottie_loc ${third_party_loc}/rlottie)
++ find_package(rlottie REQUIRED)
++ target_link_libraries(external_rlottie INTERFACE rlottie::rlottie)
++else()
++ add_library(external_rlottie OBJECT)
++ add_library(desktop-app::external_rlottie ALIAS external_rlottie)
++ init_target(external_rlottie "(external)")
+
+-target_sources(external_rlottie PRIVATE ${src_loc}/config/config.h)
+-nice_target_sources(external_rlottie ${rlottie_loc}
+-PRIVATE
+- inc/rlottie.h
+- inc/rlottie_capi.h
+- inc/rlottiecommon.h
++ get_filename_component(src_loc . REALPATH)
++ set(rlottie_loc ${third_party_loc}/rlottie)
+
+- src/lottie/lottieanimation.cpp
+- src/lottie/lottieitem.cpp
+- src/lottie/lottieitem.h
+- src/lottie/lottiekeypath.cpp
+- src/lottie/lottiekeypath.h
+- src/lottie/lottieloader.cpp
+- src/lottie/lottieloader.h
+- src/lottie/lottiemodel.cpp
+- src/lottie/lottiemodel.h
+- src/lottie/lottieparser.cpp
+- src/lottie/lottieparser.h
+- src/lottie/lottieproxymodel.cpp
+- src/lottie/lottieproxymodel.h
++ target_sources(external_rlottie PRIVATE ${src_loc}/config/config.h)
++ nice_target_sources(external_rlottie ${rlottie_loc}
++ PRIVATE
++ inc/rlottie.h
++ inc/rlottie_capi.h
++ inc/rlottiecommon.h
+
+- src/vector/freetype/v_ft_math.cpp
+- src/vector/freetype/v_ft_math.h
+- src/vector/freetype/v_ft_raster.cpp
+- src/vector/freetype/v_ft_raster.h
+- src/vector/freetype/v_ft_stroker.cpp
+- src/vector/freetype/v_ft_stroker.h
+- src/vector/freetype/v_ft_types.h
++ src/lottie/lottieanimation.cpp
++ src/lottie/lottieitem.cpp
++ src/lottie/lottieitem.h
++ src/lottie/lottiekeypath.cpp
++ src/lottie/lottiekeypath.h
++ src/lottie/lottieloader.cpp
++ src/lottie/lottieloader.h
++ src/lottie/lottiemodel.cpp
++ src/lottie/lottiemodel.h
++ src/lottie/lottieparser.cpp
++ src/lottie/lottieparser.h
++ src/lottie/lottieproxymodel.cpp
++ src/lottie/lottieproxymodel.h
+
+- # src/vector/pixman/pixman-arm-neon-asm.h
+- # src/vector/pixman/pixman-arm-neon-asm.S
+- src/vector/pixman/vregion.cpp
+- src/vector/pixman/vregion.h
++ src/vector/freetype/v_ft_math.cpp
++ src/vector/freetype/v_ft_math.h
++ src/vector/freetype/v_ft_raster.cpp
++ src/vector/freetype/v_ft_raster.h
++ src/vector/freetype/v_ft_stroker.cpp
++ src/vector/freetype/v_ft_stroker.h
++ src/vector/freetype/v_ft_types.h
+
+- src/vector/vbezier.cpp
+- src/vector/vbezier.h
+- src/vector/vbitmap.cpp
+- src/vector/vbitmap.h
+- src/vector/vbrush.cpp
+- src/vector/vbrush.h
+- src/vector/vcompositionfunctions.cpp
+- src/vector/vcowptr.h
+- src/vector/vdasher.cpp
+- src/vector/vdasher.h
+- src/vector/vdebug.cpp
+- src/vector/vdebug.h
+- src/vector/vdrawable.cpp
+- src/vector/vdrawable.h
+- src/vector/vdrawhelper.cpp
+- src/vector/vdrawhelper.h
+- src/vector/vdrawhelper_neon.cpp
+- src/vector/vdrawhelper_sse2.cpp
+- src/vector/velapsedtimer.cpp
+- src/vector/velapsedtimer.h
+- src/vector/vglobal.h
+- src/vector/vimageloader.cpp
+- src/vector/vimageloader.h
+- src/vector/vinterpolator.cpp
+- src/vector/vinterpolator.h
+- src/vector/vline.h
+- src/vector/vmatrix.cpp
+- src/vector/vmatrix.h
+- src/vector/vpainter.cpp
+- src/vector/vpainter.h
+- src/vector/vpath.cpp
+- src/vector/vpath.h
+- src/vector/vpathmesure.cpp
+- src/vector/vpathmesure.h
+- src/vector/vpoint.h
+- src/vector/vraster.cpp
+- src/vector/vraster.h
+- src/vector/vrect.cpp
+- src/vector/vrect.h
+- src/vector/vrle.cpp
+- src/vector/vrle.h
+- src/vector/vstackallocator.h
+- src/vector/vtaskqueue.h
+-)
++ # src/vector/pixman/pixman-arm-neon-asm.h
++ # src/vector/pixman/pixman-arm-neon-asm.S
++ src/vector/pixman/vregion.cpp
++ src/vector/pixman/vregion.h
+
+-target_compile_definitions(external_rlottie
+-PUBLIC
+- LOT_BUILD
+-PRIVATE
+- _USE_MATH_DEFINES
+- "RAPIDJSON_ASSERT=(void)"
+-)
++ src/vector/vbezier.cpp
++ src/vector/vbezier.h
++ src/vector/vbitmap.cpp
++ src/vector/vbitmap.h
++ src/vector/vbrush.cpp
++ src/vector/vbrush.h
++ src/vector/vcompositionfunctions.cpp
++ src/vector/vcowptr.h
++ src/vector/vdasher.cpp
++ src/vector/vdasher.h
++ src/vector/vdebug.cpp
++ src/vector/vdebug.h
++ src/vector/vdrawable.cpp
++ src/vector/vdrawable.h
++ src/vector/vdrawhelper.cpp
++ src/vector/vdrawhelper.h
++ src/vector/vdrawhelper_neon.cpp
++ src/vector/vdrawhelper_sse2.cpp
++ src/vector/velapsedtimer.cpp
++ src/vector/velapsedtimer.h
++ src/vector/vglobal.h
++ src/vector/vimageloader.cpp
++ src/vector/vimageloader.h
++ src/vector/vinterpolator.cpp
++ src/vector/vinterpolator.h
++ src/vector/vline.h
++ src/vector/vmatrix.cpp
++ src/vector/vmatrix.h
++ src/vector/vpainter.cpp
++ src/vector/vpainter.h
++ src/vector/vpath.cpp
++ src/vector/vpath.h
++ src/vector/vpathmesure.cpp
++ src/vector/vpathmesure.h
++ src/vector/vpoint.h
++ src/vector/vraster.cpp
++ src/vector/vraster.h
++ src/vector/vrect.cpp
++ src/vector/vrect.h
++ src/vector/vrle.cpp
++ src/vector/vrle.h
++ src/vector/vstackallocator.h
++ src/vector/vtaskqueue.h
++ )
+
+-target_include_directories(external_rlottie
+-PUBLIC
+- ${rlottie_loc}/inc
+-PRIVATE
+- ${src_loc}/config
+- ${rlottie_loc}/src/lottie
+- ${rlottie_loc}/src/vector
+- ${rlottie_loc}/src/vector/pixman
+- ${rlottie_loc}/src/vector/freetype
+-)
++ target_compile_definitions(external_rlottie
++ PUBLIC
++ LOT_BUILD
++ PRIVATE
++ _USE_MATH_DEFINES
++ "RAPIDJSON_ASSERT=(void)"
++ )
+
+-if (WIN32)
+- target_compile_options(external_rlottie
++ target_include_directories(external_rlottie
++ PUBLIC
++ ${rlottie_loc}/inc
+ PRIVATE
+- /w44244 # 'initializing': conversion from 'double' to 'float'
+- /w44251 # needs to have dll-interface to be used by clients of class
++ ${src_loc}/config
++ ${rlottie_loc}/src/lottie
++ ${rlottie_loc}/src/vector
++ ${rlottie_loc}/src/vector/pixman
++ ${rlottie_loc}/src/vector/freetype
+ )
++
++ if (WIN32)
++ target_compile_options(external_rlottie
++ PRIVATE
++ /w44244 # 'initializing': conversion from 'double' to 'float'
++ /w44251 # needs to have dll-interface to be used by clients of class
++ )
++ endif()
+ endif()
+diff --git a/external/xxhash/CMakeLists.txt b/external/xxhash/CMakeLists.txt
+index ba98eda..1219ae8 100644
+--- a/external/xxhash/CMakeLists.txt
++++ b/external/xxhash/CMakeLists.txt
+@@ -7,12 +7,20 @@
+ add_library(external_xxhash INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_xxhash ALIAS external_xxhash)
+
+-target_include_directories(external_xxhash SYSTEM
+-INTERFACE
+- ${third_party_loc}/xxHash
+-)
++if (DESKTOP_APP_USE_PACKAGED)
++ find_library(XXHASH_LIBRARY xxhash)
++ find_path(XXHASH_INCLUDE_DIRS xxhash.h)
+
+-target_compile_definitions(external_xxhash
+-INTERFACE
+- XXH_INLINE_ALL
+-)
++ target_include_directories(external_xxhash INTERFACE ${XXHASH_INCLUDE_DIRS})
++ target_link_libraries(external_xxhash INTERFACE ${XXHASH_LIBRARY})
++else()
++ target_include_directories(external_xxhash SYSTEM
++ INTERFACE
++ ${third_party_loc}/xxHash
++ )
++
++ target_compile_definitions(external_xxhash
++ INTERFACE
++ XXH_INLINE_ALL
++ )
++endif()
+diff --git a/external/zlib/CMakeLists.txt b/external/zlib/CMakeLists.txt
+index 10386a1..515ff25 100644
+--- a/external/zlib/CMakeLists.txt
++++ b/external/zlib/CMakeLists.txt
+@@ -7,7 +7,16 @@
+ add_library(external_zlib INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_zlib ALIAS external_zlib)
+
+-if (NOT WIN32)
++if (DESKTOP_APP_USE_PACKAGED)
++ add_library(external_minizip INTERFACE IMPORTED)
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(MINIZIP REQUIRED minizip)
++
++ target_include_directories(external_minizip INTERFACE ${MINIZIP_INCLUDE_DIRS})
++ target_link_libraries(external_minizip INTERFACE ${MINIZIP_LIBRARIES})
++
++ target_link_libraries(external_zlib INTERFACE external_minizip)
++elseif (NOT WIN32)
+ add_library(external_minizip STATIC)
+ init_target(external_minizip "(external)")
+
+@@ -32,13 +41,18 @@ if (NOT WIN32)
+ target_link_libraries(external_zlib INTERFACE external_minizip)
+ endif()
+
+-target_include_directories(external_zlib SYSTEM
+-INTERFACE
+- ${libs_loc}/zlib
+- ${libs_loc}/zlib/contrib/minizip
+-)
++if (NOT DESKTOP_APP_USE_PACKAGED)
++ target_include_directories(external_zlib SYSTEM
++ INTERFACE
++ ${libs_loc}/zlib
++ ${libs_loc}/zlib/contrib/minizip
++ )
++endif()
+
+-if (WIN32)
++if (DESKTOP_APP_USE_PACKAGED)
++ find_package(ZLIB REQUIRED)
++ target_link_libraries(external_zlib INTERFACE ZLIB::ZLIB)
++elseif (WIN32)
+ target_compile_definitions(external_zlib INTERFACE ZLIB_WINAPI)
+
+ set(zlib_lib_loc ${libs_loc}/zlib/contrib/vstudio/vc14/x86/ZlibStat$<IF:$<CONFIG:Debug>,Debug,ReleaseWithoutAsm>)
+diff --git a/init_target.cmake b/init_target.cmake
+index c7a1244..484ea91 100644
+--- a/init_target.cmake
++++ b/init_target.cmake
+@@ -26,8 +26,10 @@ function(init_target target_name) # init_target(my_target folder_name)
+ MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
+ endif()
+ target_link_libraries(${target_name} PUBLIC desktop-app::common_options)
++ if (NOT DESKTOP_APP_USE_PACKAGED)
++ set_target_properties(${target_name} PROPERTIES LINK_SEARCH_START_STATIC 1)
++ endif()
+ set_target_properties(${target_name} PROPERTIES
+- LINK_SEARCH_START_STATIC 1
+ XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_WEAK YES
+ XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN YES
+ XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN YES
+diff --git a/options_linux.cmake b/options_linux.cmake
+index a6a13c9..5b22b8d 100644
+--- a/options_linux.cmake
++++ b/options_linux.cmake
+@@ -6,10 +6,9 @@
+
+ target_compile_options(common_options
+ INTERFACE
+- $<IF:$<CONFIG:Debug>,,-Ofast -fno-strict-aliasing>
++ $<IF:$<CONFIG:Debug>,,-fno-strict-aliasing>
+ -pipe
+ -Wall
+- -Werror
+ -W
+ -fPIC
+ -Wno-unused-variable
+@@ -26,14 +25,21 @@ INTERFACE
+ -Wno-maybe-uninitialized
+ -Wno-error=class-memaccess
+ )
+-target_link_options(common_options
+-INTERFACE
+- $<IF:$<CONFIG:Debug>,,-Ofast>
+-)
++if (NOT DESKTOP_APP_USE_PACKAGED)
++ target_compile_options(common_options
++ INTERFACE
++ $<IF:$<CONFIG:Debug>,,-Ofast>
++ -Werror
++ )
++ target_link_options(common_options
++ INTERFACE
++ $<IF:$<CONFIG:Debug>,,-Ofast>
++ )
++endif()
+ if (build_linux32)
+ target_compile_options(common_options INTERFACE -g0)
+ target_link_options(common_options INTERFACE -g0)
+-else()
++elseif (NOT DESKTOP_APP_USE_PACKAGED)
+ target_compile_options(common_options INTERFACE $<IF:$<CONFIG:Debug>,,-g -flto>)
+ target_link_options(common_options INTERFACE $<IF:$<CONFIG:Debug>,,-g -flto -fuse-linker-plugin>)
+ endif()
+diff --git a/variables.cmake b/variables.cmake
+index b3d7ff4..10031e7 100644
+--- a/variables.cmake
++++ b/variables.cmake
+@@ -10,6 +10,7 @@ option(DESKTOP_APP_DISABLE_SPELLCHECK "Disable spellcheck library." OFF)
+ option(DESKTOP_APP_LOTTIE_USE_CACHE "Use caching in lottie animations." ON)
+ option(DESKTOP_APP_USE_GLIBC_WRAPS "Use wraps for new GLIBC features." OFF)
+ option(DESKTOP_APP_USE_PACKAGED "Find libraries using CMake instead of exact paths." ON)
++option(DESKTOP_APP_USE_PACKAGED_RLOTTIE "Find rlottie using CMake instead of bundled one." ${DESKTOP_APP_USE_PACKAGED})
+
+ function(report_bad_special_target)
+ message(FATAL_ERROR "Bad special target '${DESKTOP_APP_SPECIAL_TARGET}'")
+@@ -74,9 +75,11 @@ else()
+ elseif (NOT DESKTOP_APP_SPECIAL_TARGET STREQUAL "")
+ report_bad_special_target()
+ endif()
+- set(CMAKE_AR /usr/bin/gcc-ar)
+- set(CMAKE_RANLIB /usr/bin/gcc-ranlib)
+- set(CMAKE_NM /usr/bin/gcc-nm)
++ if (NOT DESKTOP_APP_USE_PACKAGED)
++ set(CMAKE_AR /usr/bin/gcc-ar)
++ set(CMAKE_RANLIB /usr/bin/gcc-ranlib)
++ set(CMAKE_NM /usr/bin/gcc-nm)
++ endif()
+ endif()
+
+ if (NOT APPLE OR build_osx)
+--
+2.24.1
+
diff --git a/cmake_helpers-system-qrcode.patch b/cmake_helpers-system-qrcode.patch
new file mode 100644
index 0000000..d3cd399
--- /dev/null
+++ b/cmake_helpers-system-qrcode.patch
@@ -0,0 +1,65 @@
+From 82de89301519043e392c4475f7aee5c24e94fd69 Mon Sep 17 00:00:00 2001
+From: Vitaly Zaitsev <vitaly(a)easycoding.org>
+Date: Thu, 9 Jan 2020 14:44:11 +0100
+Subject: [PATCH 4/5] Use packaged version of qr-code-generator library.
+
+---
+ external/qr_code_generator/CMakeLists.txt | 41 +++++++++++++----------
+ 1 file changed, 24 insertions(+), 17 deletions(-)
+
+diff --git a/external/qr_code_generator/CMakeLists.txt b/external/qr_code_generator/CMakeLists.txt
+index 0f81125..606d8a5 100644
+--- a/external/qr_code_generator/CMakeLists.txt
++++ b/external/qr_code_generator/CMakeLists.txt
+@@ -4,24 +4,31 @@
+ # For license and copyright information please follow this link:
+ # https://github.com/desktop-app/legal/blob/master/LEGAL
+
+-add_library(external_qr_code_generator OBJECT)
++add_library(external_qr_code_generator INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_qr_code_generator ALIAS external_qr_code_generator)
+-init_target(external_qr_code_generator "(external)")
+
+-set(qr_loc ${third_party_loc}/QR)
+-set(qr_src ${qr_loc}/cpp)
++if (DESKTOP_APP_USE_PACKAGED)
++ find_library(QRCODE_LIBRARY NAMES "qrcodegencpp")
++ target_include_directories(external_qr_code_generator INTERFACE "${INCLUDE_INSTALL_DIR}/qrcodegencpp")
++ target_link_libraries(external_qr_code_generator INTERFACE ${QRCODE_LIBRARY})
++else()
++ init_target(external_qr_code_generator "(external)")
+
+-nice_target_sources(external_qr_code_generator ${qr_src}
+-PRIVATE
+- BitBuffer.cpp
+- BitBuffer.hpp
+- QrCode.cpp
+- QrCode.hpp
+- QrSegment.cpp
+- QrSegment.hpp
+-)
++ set(qr_loc ${third_party_loc}/QR)
++ set(qr_src ${qr_loc}/cpp)
+
+-target_include_directories(external_qr_code_generator
+-PUBLIC
+- ${qr_src}
+-)
++ nice_target_sources(external_qr_code_generator ${qr_src}
++ PRIVATE
++ BitBuffer.cpp
++ BitBuffer.hpp
++ QrCode.cpp
++ QrCode.hpp
++ QrSegment.cpp
++ QrSegment.hpp
++ )
++
++ target_include_directories(external_qr_code_generator
++ PUBLIC
++ ${qr_src}
++ )
++endif()
+--
+2.24.1
+
diff --git a/cmake_helpers-system-variant.patch b/cmake_helpers-system-variant.patch
new file mode 100644
index 0000000..d8a5d3d
--- /dev/null
+++ b/cmake_helpers-system-variant.patch
@@ -0,0 +1,33 @@
+From 08551b891e74445c6d7093edc1db54a819d7268b Mon Sep 17 00:00:00 2001
+From: Vitaly Zaitsev <vitaly(a)easycoding.org>
+Date: Thu, 9 Jan 2020 14:44:54 +0100
+Subject: [PATCH 5/5] Use packaged version of mapbox-variant library.
+
+---
+ external/variant/CMakeLists.txt | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/external/variant/CMakeLists.txt b/external/variant/CMakeLists.txt
+index 5b5beef..b0fb6cb 100644
+--- a/external/variant/CMakeLists.txt
++++ b/external/variant/CMakeLists.txt
+@@ -7,7 +7,12 @@
+ add_library(external_variant INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_variant ALIAS external_variant)
+
+-target_include_directories(external_variant SYSTEM
+-INTERFACE
+- ${third_party_loc}/variant/include
+-)
++if (DESKTOP_APP_USE_PACKAGED)
++ find_path(VARIANT_INCLUDE_DIRS mapbox/variant.hpp)
++ target_include_directories(external_variant INTERFACE ${VARIANT_INCLUDE_DIRS})
++else()
++ target_include_directories(external_variant SYSTEM
++ INTERFACE
++ ${third_party_loc}/variant/include
++ )
++endif()
+--
+2.24.1
+
diff --git a/lib_ui-remove-configs.patch b/lib_ui-remove-configs.patch
new file mode 100644
index 0000000..964b36c
--- /dev/null
+++ b/lib_ui-remove-configs.patch
@@ -0,0 +1,25 @@
+From 87251a464857e640a9389706d12f5f16d660c454 Mon Sep 17 00:00:00 2001
+From: Vitaly Zaitsev <vitaly(a)easycoding.org>
+Date: Thu, 9 Jan 2020 15:01:30 +0100
+Subject: [PATCH] Removed bundled Qt configs.
+
+---
+ qt_conf/linux.qrc | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/qt_conf/linux.qrc b/qt_conf/linux.qrc
+index b9f5692..03585ec 100644
+--- a/qt_conf/linux.qrc
++++ b/qt_conf/linux.qrc
+@@ -1,8 +1,2 @@
+ <RCC>
+- <qresource prefix="/qt/etc">
+- <file alias="qt.conf">qt_linux.conf</file>
+- </qresource>
+- <qresource prefix="/fc">
+- <file>fc-custom.conf</file>
+- </qresource>
+ </RCC>
+--
+2.24.1
+
diff --git a/sources b/sources
index a170806..c8c9f89 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,13 @@
-SHA512 (crl-52baf11.tar.gz) = cfe28a69cff822fab8ebb4379b105e3d69e610614359ba7b6b91cbf676c23067f75d34f259500ab7fb61d3e4b45a0dd77ee4bf4f0bdc6d6463dab5f3f447f6fe
-SHA512 (rlottie-589db02.tar.gz) = 60f2020b103fc2090d3c89f9ba5aeeba5be2d9e01f1954a4abbd7fdfe8ca64c28e86ead1646292bd9b5cb8beb9cb25d8ab077405ebe286007a437ea969ec4a0a
-SHA512 (tdesktop-1.8.15.tar.gz) = d31fbcc6737a4a00c0d17b000d82cb9c7038aae19a2ea2692a6707623cf83ccd0327d6ff06e4a330a0197073ca9a63b90ebb3d046312b74aaeec318571767a6d
+SHA512 (cmake_helpers-652bbaf.tar.gz) = 609ad8196eb3a7dbbe3b2f3daf9edf993bff9e1e9a1015ecf64842baabd05f951f5b2fa67a3cce7857943d1d2b7599ffddb9ab6a994f6550086cdd5bdda876d7
+SHA512 (codegen-d14ae77.tar.gz) = 721139f88b468e87109869bab7f6685ff1753d7fec22a9f57adf10ebbeb915f82cf5bfda8766aabd782c0b6c6d1f638be2d9388bd87503fcb322bbe0919f0f74
+SHA512 (lib_base-baae6cd.tar.gz) = 28c4020f17414b216d9071169ec0942345ef407a9e8d1fda84296f2b77f2b970d64022a47f2bd46dd139f1beee33d0b28756151f857a62d905ce82485235e3f7
+SHA512 (lib_crl-5a740bf.tar.gz) = 279306cd55a3a48881cd14263aa7c63872934f1fe9ae92d397d39b5b75cfef318e54c204bbf172e7ee08bef576a00990bfdfd603c18baa442de4a53fe9ceec65
+SHA512 (lib_lottie-a0a0269.tar.gz) = c7aebf681ad18465e8db6e0e17a6b946fa0d848a3a1f97ca4df2fa646a4dbd6483383dcb93b486d22a209d82c4412ba9974fcfd5b6230b79e5966a0d049be4f2
+SHA512 (lib_qr-9877397.tar.gz) = 9b6da26294b25e9e215e036a11e14203f98c2c1b099f312bdabf4267af042d90a89892f3672f04a2823fcc3fd048259da306e3b6f277fa65df4ac7843b398e7b
+SHA512 (lib_rpl-2888aab.tar.gz) = fa239f0fa2854747ae67a6cd13f02720ac483e9768c46a12e5942ee7ffb5c826f7f7ed516b4d59d7d4c914368f02eed2d86ce7bee0fb3ebd88bc98ff7766e704
+SHA512 (lib_spellcheck-d305de6.tar.gz) = 9470177e1ce3b507ae155695c75bc69db997913940001fc09846d0eeae9a1be9f565b6278549aa1158ecb8d5761aa7d2eb17f34db85b72c24f0e3898ed9d2c4a
+SHA512 (lib_storage-b0388a1.tar.gz) = 0cab9532c60709a1906dba833fbef9f4d3d08e69200f482648ea81454770eda5bebc36aaeecb905ee9eab8e21fbb18afa1be2eecc72eea253ca6058502de92a3
+SHA512 (lib_storage-cb56ad4.tar.gz) = dc617272ef3963582c8738358cda56ae7dee201bb99bbf8e123a49c3838d2ea690aec8a0cae71b1498fcb96df615e714a5c425949ba9910a7a6e8ce14e324040
+SHA512 (lib_ui-4ec9e32.tar.gz) = 3e214b59c509a0e4c6468a78ccaed82ad48708aab0db6e79f11aa45c660040c80f25cc31943da62993b0d32c63bbee4b74eca7452ad9ca024cf803d2c3258eac
+SHA512 (rlottie-c490c7a.tar.gz) = 30891b6550c29b71506e5a476844acc23bcfb1a3f749aeec02917a6b62f8d60f7c88edcfc7a38b249eb4a4d32dd89f914c6ae3cc70154d1a2e178bf2176adef4
+SHA512 (tdesktop-1.9.3.tar.gz) = 94f5e3cade2b8ebe8b03cd106d84d588fc8d60877292ddbc3a106a5e6621baf4341d1386cdf829e32af175f16ca417050ac160019651b4e02f023b29dfbf2e9e
diff --git a/telegram-desktop-commit-100fed3.patch b/telegram-desktop-commit-100fed3.patch
new file mode 100644
index 0000000..1d77280
--- /dev/null
+++ b/telegram-desktop-commit-100fed3.patch
@@ -0,0 +1,30 @@
+From 100fed362271ada828fdaeb27e52f660a5a05d18 Mon Sep 17 00:00:00 2001
+From: John Preston <johnprestonmail(a)gmail.com>
+Date: Tue, 31 Dec 2019 20:20:55 +0300
+Subject: [PATCH] Fix build for Linux 32 bit.
+
+Fixes #6921.
+---
+ Telegram/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt
+index d8c623a632..8e6f8648db 100644
+--- a/Telegram/CMakeLists.txt
++++ b/Telegram/CMakeLists.txt
+@@ -70,7 +70,6 @@ PRIVATE
+ tdesktop::lib_mtproto
+ tdesktop::lib_scheme
+ tdesktop::lib_export
+- tdesktop::lib_tgvoip
+ desktop-app::lib_base
+ desktop-app::lib_crl
+ desktop-app::lib_ui
+@@ -85,6 +84,7 @@ PRIVATE
+ desktop-app::external_qt
+ desktop-app::external_qr_code_generator
+ desktop-app::external_auto_updates
++ tdesktop::lib_tgvoip
+ desktop-app::external_openssl
+ desktop-app::external_opus
+ desktop-app::external_openal
diff --git a/telegram-desktop-commit-322367c.patch b/telegram-desktop-commit-322367c.patch
new file mode 100644
index 0000000..4bd9ad8
--- /dev/null
+++ b/telegram-desktop-commit-322367c.patch
@@ -0,0 +1,104 @@
+From 322367c1b1f7606f37a517d13df6a4f905a59a69 Mon Sep 17 00:00:00 2001
+From: John Preston <johnprestonmail(a)gmail.com>
+Date: Thu, 2 Jan 2020 14:57:36 +0300
+Subject: [PATCH] Correctly minimize window.
+
+Fixes #6932.
+---
+ .../platform/win/main_window_win.cpp | 2 +-
+ .../platform/win/window_title_win.cpp | 13 +++++++-----
+ .../platform/win/windows_event_filter.cpp | 21 ++++++++++++++-----
+ .../SourceFiles/window/window_controller.cpp | 2 +-
+ Telegram/lib_ui | 2 +-
+ 5 files changed, 27 insertions(+), 13 deletions(-)
+
+diff --git a/Telegram/SourceFiles/platform/win/main_window_win.cpp b/Telegram/SourceFiles/platform/win/main_window_win.cpp
+index 1b6c8c370c..d62a795902 100644
+--- a/Telegram/SourceFiles/platform/win/main_window_win.cpp
++++ b/Telegram/SourceFiles/platform/win/main_window_win.cpp
+@@ -825,7 +825,7 @@ void MainWindow::psFirstShow() {
+ && cStartMinimized()
+ && !Core::App().passcodeLocked())) {
+ DEBUG_LOG(("Window Pos: First show, setting minimized after."));
+- setWindowState(Qt::WindowMinimized);
++ setWindowState(windowState() | Qt::WindowMinimized);
+ if (Global::WorkMode().value() == dbiwmTrayOnly
+ || Global::WorkMode().value() == dbiwmWindowAndTray) {
+ hide();
+diff --git a/Telegram/SourceFiles/platform/win/window_title_win.cpp b/Telegram/SourceFiles/platform/win/window_title_win.cpp
+index 9e2687f4f5..6e098f46a9 100644
+--- a/Telegram/SourceFiles/platform/win/window_title_win.cpp
++++ b/Telegram/SourceFiles/platform/win/window_title_win.cpp
+@@ -23,17 +23,20 @@ TitleWidget::TitleWidget(QWidget *parent)
+ , _close(this, _st.close)
+ , _shadow(this, st::titleShadow)
+ , _maximizedState(parent->window()->windowState() & Qt::WindowMaximized) {
+- _minimize->setClickedCallback([this]() {
+- window()->setWindowState(Qt::WindowMinimized);
++ _minimize->setClickedCallback([=] {
++ window()->setWindowState(
++ window()->windowState() | Qt::WindowMinimized);
+ _minimize->clearState();
+ });
+ _minimize->setPointerCursor(false);
+- _maximizeRestore->setClickedCallback([this]() {
+- window()->setWindowState(_maximizedState ? Qt::WindowNoState : Qt::WindowMaximized);
++ _maximizeRestore->setClickedCallback([=] {
++ window()->setWindowState(_maximizedState
++ ? Qt::WindowNoState
++ : Qt::WindowMaximized);
+ _maximizeRestore->clearState();
+ });
+ _maximizeRestore->setPointerCursor(false);
+- _close->setClickedCallback([this]() {
++ _close->setClickedCallback([=] {
+ window()->close();
+ _close->clearState();
+ });
+diff --git a/Telegram/SourceFiles/platform/win/windows_event_filter.cpp b/Telegram/SourceFiles/platform/win/windows_event_filter.cpp
+index b9302165c4..b7766049bd 100644
+--- a/Telegram/SourceFiles/platform/win/windows_event_filter.cpp
++++ b/Telegram/SourceFiles/platform/win/windows_event_filter.cpp
+@@ -238,13 +238,24 @@ bool EventFilter::mainWindowEvent(
+ } return false;
+
+ case WM_COMMAND: {
+- if (HIWORD(wParam)) return false;
++ if (HIWORD(wParam)) {
++ return false;
++ }
+ int cmd = LOWORD(wParam);
+ switch (cmd) {
+- case SC_CLOSE: _window->close(); return true;
+- case SC_MINIMIZE: _window->setWindowState(Qt::WindowMinimized); return true;
+- case SC_MAXIMIZE: _window->setWindowState(Qt::WindowMaximized); return true;
+- case SC_RESTORE: _window->setWindowState(Qt::WindowNoState); return true;
++ case SC_CLOSE:
++ _window->close();
++ return true;
++ case SC_MINIMIZE:
++ _window->setWindowState(
++ _window->windowState() | Qt::WindowMinimized);
++ return true;
++ case SC_MAXIMIZE:
++ _window->setWindowState(Qt::WindowMaximized);
++ return true;
++ case SC_RESTORE:
++ _window->setWindowState(Qt::WindowNoState);
++ return true;
+ }
+ } return true;
+
+diff --git a/Telegram/SourceFiles/window/window_controller.cpp b/Telegram/SourceFiles/window/window_controller.cpp
+index d281aff339..a6e4c8da99 100644
+--- a/Telegram/SourceFiles/window/window_controller.cpp
++++ b/Telegram/SourceFiles/window/window_controller.cpp
+@@ -102,7 +102,7 @@ void Controller::minimize() {
+ if (Global::WorkMode().value() == dbiwmTrayOnly) {
+ _widget.minimizeToTray();
+ } else {
+- _widget.setWindowState(Qt::WindowMinimized);
++ _widget.setWindowState(_widget.windowState() | Qt::WindowMinimized);
+ }
+ }
+
diff --git a/telegram-desktop-fix-appdata.patch b/telegram-desktop-fix-appdata.patch
new file mode 100644
index 0000000..d024b30
--- /dev/null
+++ b/telegram-desktop-fix-appdata.patch
@@ -0,0 +1,24 @@
+From aa1bf7309fad9d556551756e5501cf0306955dd2 Mon Sep 17 00:00:00 2001
+From: Vitaly Zaitsev <vitaly(a)easycoding.org>
+Date: Thu, 9 Jan 2020 15:06:32 +0100
+Subject: [PATCH 2/2] Updated AppData file.
+
+---
+ lib/xdg/telegramdesktop.appdata.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/xdg/telegramdesktop.appdata.xml b/lib/xdg/telegramdesktop.appdata.xml
+index 9eedae55c..f90a6b8e7 100644
+--- a/lib/xdg/telegramdesktop.appdata.xml
++++ b/lib/xdg/telegramdesktop.appdata.xml
+@@ -1,6 +1,6 @@
+ <?xml version="1.0" encoding="utf-8"?>
+ <component type="desktop">
+- <id>org.telegram.desktop</id>
++ <id>telegram-desktop.desktop</id>
+ <metadata_license>CC0-1.0</metadata_license>
+ <project_license>GPL-3.0</project_license>
+ <name>Telegram Desktop</name>
+--
+2.24.1
+
diff --git a/telegram-desktop-fix-desktop.patch b/telegram-desktop-fix-desktop.patch
new file mode 100644
index 0000000..3e665d3
--- /dev/null
+++ b/telegram-desktop-fix-desktop.patch
@@ -0,0 +1,29 @@
+From 6503d4a1943f0a43ab31e20563d1ce5d2b0eaf18 Mon Sep 17 00:00:00 2001
+From: Vitaly Zaitsev <vitaly(a)easycoding.org>
+Date: Thu, 9 Jan 2020 15:05:52 +0100
+Subject: [PATCH 1/2] Updated desktop file.
+
+---
+ lib/xdg/telegramdesktop.desktop | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/lib/xdg/telegramdesktop.desktop b/lib/xdg/telegramdesktop.desktop
+index 858a8268e..a6773b62a 100644
+--- a/lib/xdg/telegramdesktop.desktop
++++ b/lib/xdg/telegramdesktop.desktop
+@@ -1,9 +1,10 @@
+ [Desktop Entry]
+ Version=1.0
+ Name=Telegram Desktop
++GenericName=Telegram Desktop
+ Comment=Official desktop version of Telegram messaging app
+-Exec=telegram-desktop -- %u
+-Icon=telegram
++Exec=/usr/bin/telegram-desktop -- %u
++Icon=telegram-desktop
+ Terminal=false
+ StartupWMClass=TelegramDesktop
+ Type=Application
+--
+2.24.1
+
diff --git a/telegram-desktop-pr6956.patch b/telegram-desktop-pr6956.patch
new file mode 100644
index 0000000..dfeebf4
--- /dev/null
+++ b/telegram-desktop-pr6956.patch
@@ -0,0 +1,1819 @@
+From b4cd7e5fc7c2d92bbcc307d40bcd841eb50fc446 Mon Sep 17 00:00:00 2001
+From: Ilya Fedin <fedin-ilja2010(a)ya.ru>
+Date: Fri, 3 Jan 2020 08:41:48 +0400
+Subject: [PATCH] Make packaged build working
+
+---
+ Telegram/CMakeLists.txt | 46 +-
+ Telegram/SourceFiles/qt_functions.cpp | 99 ++
+ Telegram/cmake/generate_scheme.cmake | 4 +-
+ Telegram/cmake/lib_tgvoip.cmake | 1519 +++++++++++++------------
+ Telegram/cmake/telegram_options.cmake | 1 +
+ 5 files changed, 899 insertions(+), 770 deletions(-)
+ create mode 100644 Telegram/SourceFiles/qt_functions.cpp
+
+diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt
+index 8e6f8648db..7fc8f3a18a 100644
+--- a/Telegram/CMakeLists.txt
++++ b/Telegram/CMakeLists.txt
+@@ -65,8 +65,13 @@ generate_numbers(Telegram ${res_loc}/numbers.txt)
+
+ set_target_properties(Telegram PROPERTIES AUTOMOC ON AUTORCC ON)
+
++set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
++find_package(Threads)
++
+ target_link_libraries(Telegram
+ PRIVATE
++ ${CMAKE_DL_LIBS}
++ Threads::Threads
+ tdesktop::lib_mtproto
+ tdesktop::lib_scheme
+ tdesktop::lib_export
+@@ -83,15 +88,15 @@ PRIVATE
+ desktop-app::external_zlib
+ desktop-app::external_qt
+ desktop-app::external_qr_code_generator
++ desktop-app::external_crash_reports
+ desktop-app::external_auto_updates
+ tdesktop::lib_tgvoip
+ desktop-app::external_openssl
+- desktop-app::external_opus
+ desktop-app::external_openal
+ )
+
+-if (NOT DESKTOP_APP_DISABLE_CRASH_REPORTS)
+- target_link_libraries(Telegram PRIVATE desktop-app::external_crash_reports)
++if (NOT DESKTOP_APP_USE_PACKAGED)
++ target_link_libraries(Telegram PRIVATE desktop-app::external_opus)
+ endif()
+
+ target_precompile_headers(Telegram PRIVATE ${src_loc}/stdafx.h)
+@@ -936,11 +941,16 @@ PRIVATE
+ mainwindow.h
+ observer_peer.cpp
+ observer_peer.h
+- qt_static_plugins.cpp
+ settings.cpp
+ settings.h
+ )
+
++if (DESKTOP_APP_USE_PACKAGED)
++ nice_target_sources(Telegram ${src_loc} PRIVATE qt_functions.cpp)
++else()
++ nice_target_sources(Telegram ${src_loc} PRIVATE qt_static_plugins.cpp)
++endif()
++
+ nice_target_sources(Telegram ${res_loc}
+ PRIVATE
+ qrc/emoji_1.qrc
+@@ -1018,10 +1028,13 @@ elseif (LINUX)
+ if (NOT TDESKTOP_DISABLE_GTK_INTEGRATION)
+ find_package(PkgConfig REQUIRED)
+
+- pkg_check_modules(GTK2 REQUIRED gtk+-2.0)
+- target_include_directories(Telegram PRIVATE ${GTK2_INCLUDE_DIRS})
++ pkg_search_module(GTK REQUIRED gtk+-2.0 gtk+-3.0)
++ target_include_directories(Telegram PRIVATE ${GTK_INCLUDE_DIRS})
+ target_compile_options(Telegram PRIVATE -Wno-register)
+
++ find_library(X11_LIBRARY X11)
++ target_link_libraries(Telegram PRIVATE ${X11_LIBRARY})
++
+ set(appindicator_packages
+ ayatana-appindicator3-0.1
+ ayatana-appindicator-0.1
+@@ -1094,23 +1107,26 @@ set(entitlement_sources
+ target_sources(Telegram PRIVATE ${entitlement_sources})
+ source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/Telegram PREFIX Resources FILES ${entitlement_sources})
+
+-target_include_directories(Telegram
+-PRIVATE
+- ${src_loc}
+- ${third_party_loc}/minizip
+-)
++target_include_directories(Telegram PRIVATE ${src_loc})
++
++if (NOT DESKTOP_APP_USE_PACKAGED)
++ target_include_directories(Telegram PRIVATE ${third_party_loc}/minizip)
++endif()
+
+ target_compile_definitions(Telegram
+ PRIVATE
+ TDESKTOP_API_ID=${TDESKTOP_API_ID}
+ TDESKTOP_API_HASH=${TDESKTOP_API_HASH}
+- AL_LIBTYPE_STATIC
+ AL_ALEXT_PROTOTYPES
+ )
+
+-if (${CMAKE_GENERATOR} MATCHES "(Visual Studio|Xcode|Ninja)")
++if (NOT DESKTOP_APP_USE_PACKAGED)
++ target_compile_definitions(Telegram PRIVATE AL_LIBTYPE_STATIC)
++endif()
++
++if (${CMAKE_GENERATOR} MATCHES "(Visual Studio|Xcode)")
+ set(output_folder ${CMAKE_BINARY_DIR})
+-elseif((${CMAKE_GENERATOR} MATCHES "(Unix Makefiles)") AND DESKTOP_APP_SPECIAL_TARGET STREQUAL "")
++elseif (DESKTOP_APP_SPECIAL_TARGET STREQUAL "")
+ set(output_folder ${CMAKE_BINARY_DIR}/bin)
+ else()
+ set(output_folder ${CMAKE_BINARY_DIR}/$<IF:$<CONFIG:Debug>,Debug,Release>)
+@@ -1118,7 +1134,7 @@ endif()
+
+ set_target_properties(Telegram PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${output_folder})
+
+-if (NOT build_macstore AND NOT build_winstore)
++if (NOT disable_autoupdate AND NOT build_macstore AND NOT build_winstore)
+ add_executable(Updater WIN32)
+ init_target(Updater)
+
+diff --git a/Telegram/SourceFiles/qt_functions.cpp b/Telegram/SourceFiles/qt_functions.cpp
+new file mode 100644
+index 0000000000..5a9117773c
+--- /dev/null
++++ b/Telegram/SourceFiles/qt_functions.cpp
+@@ -0,0 +1,99 @@
++/****************************************************************************
++**
++** Copyright (C) 2015 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
++**
++** This file contains some parts of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:LGPL21$
++** Commercial License Usage
++** Licensees holding valid commercial Qt licenses may use this file in
++** accordance with the commercial license agreement provided with the
++** Software or, alternatively, in accordance with the terms contained in
++** a written agreement between you and The Qt Company. For licensing terms
++** and conditions see http://www.qt.io/terms-conditions. For further
++** information use the contact form at http://www.qt.io/contact-us.
++**
++** GNU Lesser General Public License Usage
++** Alternatively, this file may be used under the terms of the GNU Lesser
++** General Public License version 2.1 or version 3 as published by the Free
++** Software Foundation and appearing in the file LICENSE.LGPLv21 and
++** LICENSE.LGPLv3 included in the packaging of this file. Please review the
++** following information to ensure the GNU Lesser General Public License
++** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
++** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
++**
++** As a special exception, The Qt Company gives you certain additional
++** rights. These rights are described in The Qt Company LGPL Exception
++** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++// For QTextItemInt declaraion
++#include <private/qtextengine_p.h>
++
++#ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
++/* TODO: find a dynamic library with these symbols. */
++
++/* Debian maintainer: this function is taken from qfiledialog.cpp */
++/*
++ Makes a list of filters from ;;-separated text.
++ Used by the mac and windows implementations
++*/
++QStringList qt_make_filter_list(const QString &filter)
++{
++ QString f(filter);
++
++ if (f.isEmpty())
++ return QStringList();
++
++ QString sep(QLatin1String(";;"));
++ int i = f.indexOf(sep, 0);
++ if (i == -1) {
++ if (f.indexOf(QLatin1Char('\n'), 0) != -1) {
++ sep = QLatin1Char('\n');
++ i = f.indexOf(sep, 0);
++ }
++ }
++
++ return f.split(sep);
++}
++#endif // !TDESKTOP_DISABLE_GTK_INTEGRATION
++
++/* Debian maintainer: this constructor is taken from qtextengine.cpp for TextPainter::drawLine */
++QTextItemInt::QTextItemInt(const QGlyphLayout &g, QFont *font, const QChar *chars_, int numChars, QFontEngine *fe, const QTextCharFormat &format)
++ : flags(0), justified(false), underlineStyle(QTextCharFormat::NoUnderline), charFormat(format),
++ num_chars(numChars), chars(chars_), logClusters(0), f(font), glyphs(g), fontEngine(fe)
++{
++}
++
++/* Debian maintainer: this method is also taken from qtextengine.cpp */
++// Fix up flags and underlineStyle with given info
++void QTextItemInt::initWithScriptItem(const QScriptItem &si)
++{
++ // explicitly initialize flags so that initFontAttributes can be called
++ // multiple times on the same TextItem
++ flags = 0;
++ if (si.analysis.bidiLevel %2)
++ flags |= QTextItem::RightToLeft;
++ ascent = si.ascent;
++ descent = si.descent;
++
++ if (charFormat.hasProperty(QTextFormat::TextUnderlineStyle)) {
++ underlineStyle = charFormat.underlineStyle();
++ } else if (charFormat.boolProperty(QTextFormat::FontUnderline)
++ || f->d->underline) {
++ underlineStyle = QTextCharFormat::SingleUnderline;
++ }
++
++ // compat
++ if (underlineStyle == QTextCharFormat::SingleUnderline)
++ flags |= QTextItem::Underline;
++
++ if (f->d->overline || charFormat.fontOverline())
++ flags |= QTextItem::Overline;
++ if (f->d->strikeOut || charFormat.fontStrikeOut())
++ flags |= QTextItem::StrikeOut;
++}
+diff --git a/Telegram/cmake/generate_scheme.cmake b/Telegram/cmake/generate_scheme.cmake
+index 75d3995e23..e5802742ad 100644
+--- a/Telegram/cmake/generate_scheme.cmake
++++ b/Telegram/cmake/generate_scheme.cmake
+@@ -5,6 +5,8 @@
+ # https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
+
+ function(generate_scheme target_name script scheme_files)
++ find_package(Python REQUIRED)
++
+ set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
+ file(MAKE_DIRECTORY ${gen_dst})
+
+@@ -22,7 +24,7 @@ function(generate_scheme target_name script scheme_files)
+ BYPRODUCTS
+ ${gen_files}
+ COMMAND
+- python
++ ${Python_EXECUTABLE}
+ ${script}
+ -o${gen_dst}/scheme
+ ${scheme_files}
+diff --git a/Telegram/cmake/lib_tgvoip.cmake b/Telegram/cmake/lib_tgvoip.cmake
+index 38fa632a40..e820a5d5f1 100644
+--- a/Telegram/cmake/lib_tgvoip.cmake
++++ b/Telegram/cmake/lib_tgvoip.cmake
+@@ -4,781 +4,792 @@
+ # For license and copyright information please follow this link:
+ # https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
+
+-add_library(lib_tgvoip STATIC)
+-init_target(lib_tgvoip cxx_std_11)
+-add_library(tdesktop::lib_tgvoip ALIAS lib_tgvoip)
++if (TDESKTOP_USE_PACKAGED_TGVOIP)
++ add_library(lib_tgvoip INTERFACE IMPORTED GLOBAL)
++ add_library(tdesktop::lib_tgvoip ALIAS lib_tgvoip)
+
+-if (NOT APPLE)
+- # On macOS if you build libtgvoip with C++17 it uses std::optional
+- # instead of absl::optional and when it uses optional::value, the
+- # build fails, because optional::value is available starting with
+- # macOS 10.14+. This way we force using absl::optional.
+- target_compile_features(lib_tgvoip PUBLIC cxx_std_17)
+-endif()
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(TGVOIP REQUIRED tgvoip)
+
+-set(tgvoip_loc ${third_party_loc}/libtgvoip)
++ target_include_directories(lib_tgvoip INTERFACE ${TGVOIP_INCLUDE_DIRS})
++ target_link_libraries(lib_tgvoip INTERFACE ${TGVOIP_LIBRARIES})
++else()
++ add_library(lib_tgvoip STATIC)
++ init_target(lib_tgvoip cxx_std_11)
++ add_library(tdesktop::lib_tgvoip ALIAS lib_tgvoip)
+
+-nice_target_sources(lib_tgvoip ${tgvoip_loc}
+-PRIVATE
+- BlockingQueue.cpp
+- BlockingQueue.h
+- Buffers.cpp
+- Buffers.h
+- CongestionControl.cpp
+- CongestionControl.h
+- EchoCanceller.cpp
+- EchoCanceller.h
+- JitterBuffer.cpp
+- JitterBuffer.h
+- logging.cpp
+- logging.h
+- MediaStreamItf.cpp
+- MediaStreamItf.h
+- OpusDecoder.cpp
+- OpusDecoder.h
+- OpusEncoder.cpp
+- OpusEncoder.h
+- threading.h
+- VoIPController.cpp
+- VoIPGroupController.cpp
+- VoIPController.h
+- PrivateDefines.h
+- VoIPServerConfig.cpp
+- VoIPServerConfig.h
+- audio/AudioInput.cpp
+- audio/AudioInput.h
+- audio/AudioOutput.cpp
+- audio/AudioOutput.h
+- audio/Resampler.cpp
+- audio/Resampler.h
+- NetworkSocket.cpp
+- NetworkSocket.h
+- PacketReassembler.cpp
+- PacketReassembler.h
+- MessageThread.cpp
+- MessageThread.h
+- audio/AudioIO.cpp
+- audio/AudioIO.h
+- video/ScreamCongestionController.cpp
+- video/ScreamCongestionController.h
+- video/VideoSource.cpp
+- video/VideoSource.h
+- video/VideoRenderer.cpp
+- video/VideoRenderer.h
+- json11.cpp
+- json11.hpp
++ if (NOT APPLE)
++ # On macOS if you build libtgvoip with C++17 it uses std::optional
++ # instead of absl::optional and when it uses optional::value, the
++ # build fails, because optional::value is available starting with
++ # macOS 10.14+. This way we force using absl::optional.
++ target_compile_features(lib_tgvoip PUBLIC cxx_std_17)
++ endif()
+
+- # Windows
+- os/windows/NetworkSocketWinsock.cpp
+- os/windows/NetworkSocketWinsock.h
+- os/windows/AudioInputWave.cpp
+- os/windows/AudioInputWave.h
+- os/windows/AudioOutputWave.cpp
+- os/windows/AudioOutputWave.h
+- os/windows/AudioOutputWASAPI.cpp
+- os/windows/AudioOutputWASAPI.h
+- os/windows/AudioInputWASAPI.cpp
+- os/windows/AudioInputWASAPI.h
+- os/windows/WindowsSpecific.cpp
+- os/windows/WindowsSpecific.h
++ set(tgvoip_loc ${third_party_loc}/libtgvoip)
+
+- # macOS
+- os/darwin/AudioInputAudioUnit.cpp
+- os/darwin/AudioInputAudioUnit.h
+- os/darwin/AudioOutputAudioUnit.cpp
+- os/darwin/AudioOutputAudioUnit.h
+- os/darwin/AudioInputAudioUnitOSX.cpp
+- os/darwin/AudioInputAudioUnitOSX.h
+- os/darwin/AudioOutputAudioUnitOSX.cpp
+- os/darwin/AudioOutputAudioUnitOSX.h
+- os/darwin/AudioUnitIO.cpp
+- os/darwin/AudioUnitIO.h
+- os/darwin/DarwinSpecific.mm
+- os/darwin/DarwinSpecific.h
++ nice_target_sources(lib_tgvoip ${tgvoip_loc}
++ PRIVATE
++ BlockingQueue.cpp
++ BlockingQueue.h
++ Buffers.cpp
++ Buffers.h
++ CongestionControl.cpp
++ CongestionControl.h
++ EchoCanceller.cpp
++ EchoCanceller.h
++ JitterBuffer.cpp
++ JitterBuffer.h
++ logging.cpp
++ logging.h
++ MediaStreamItf.cpp
++ MediaStreamItf.h
++ OpusDecoder.cpp
++ OpusDecoder.h
++ OpusEncoder.cpp
++ OpusEncoder.h
++ threading.h
++ VoIPController.cpp
++ VoIPGroupController.cpp
++ VoIPController.h
++ PrivateDefines.h
++ VoIPServerConfig.cpp
++ VoIPServerConfig.h
++ audio/AudioInput.cpp
++ audio/AudioInput.h
++ audio/AudioOutput.cpp
++ audio/AudioOutput.h
++ audio/Resampler.cpp
++ audio/Resampler.h
++ NetworkSocket.cpp
++ NetworkSocket.h
++ PacketReassembler.cpp
++ PacketReassembler.h
++ MessageThread.cpp
++ MessageThread.h
++ audio/AudioIO.cpp
++ audio/AudioIO.h
++ video/ScreamCongestionController.cpp
++ video/ScreamCongestionController.h
++ video/VideoSource.cpp
++ video/VideoSource.h
++ video/VideoRenderer.cpp
++ video/VideoRenderer.h
++ json11.cpp
++ json11.hpp
+
+- # Linux
+- os/linux/AudioInputALSA.cpp
+- os/linux/AudioInputALSA.h
+- os/linux/AudioOutputALSA.cpp
+- os/linux/AudioOutputALSA.h
+- os/linux/AudioOutputPulse.cpp
+- os/linux/AudioOutputPulse.h
+- os/linux/AudioInputPulse.cpp
+- os/linux/AudioInputPulse.h
+- os/linux/AudioPulse.cpp
+- os/linux/AudioPulse.h
++ # Windows
++ os/windows/NetworkSocketWinsock.cpp
++ os/windows/NetworkSocketWinsock.h
++ os/windows/AudioInputWave.cpp
++ os/windows/AudioInputWave.h
++ os/windows/AudioOutputWave.cpp
++ os/windows/AudioOutputWave.h
++ os/windows/AudioOutputWASAPI.cpp
++ os/windows/AudioOutputWASAPI.h
++ os/windows/AudioInputWASAPI.cpp
++ os/windows/AudioInputWASAPI.h
++ os/windows/WindowsSpecific.cpp
++ os/windows/WindowsSpecific.h
+
+- # POSIX
+- os/posix/NetworkSocketPosix.cpp
+- os/posix/NetworkSocketPosix.h
++ # macOS
++ os/darwin/AudioInputAudioUnit.cpp
++ os/darwin/AudioInputAudioUnit.h
++ os/darwin/AudioOutputAudioUnit.cpp
++ os/darwin/AudioOutputAudioUnit.h
++ os/darwin/AudioInputAudioUnitOSX.cpp
++ os/darwin/AudioInputAudioUnitOSX.h
++ os/darwin/AudioOutputAudioUnitOSX.cpp
++ os/darwin/AudioOutputAudioUnitOSX.h
++ os/darwin/AudioUnitIO.cpp
++ os/darwin/AudioUnitIO.h
++ os/darwin/DarwinSpecific.mm
++ os/darwin/DarwinSpecific.h
+
+- # WebRTC APM
+- webrtc_dsp/system_wrappers/include/field_trial.h
+- webrtc_dsp/system_wrappers/include/cpu_features_wrapper.h
+- webrtc_dsp/system_wrappers/include/asm_defines.h
+- webrtc_dsp/system_wrappers/include/metrics.h
+- webrtc_dsp/system_wrappers/include/compile_assert_c.h
+- webrtc_dsp/system_wrappers/source/field_trial.cc
+- webrtc_dsp/system_wrappers/source/metrics.cc
+- webrtc_dsp/system_wrappers/source/cpu_features.cc
+- webrtc_dsp/typedefs.h
+- webrtc_dsp/absl/strings/internal/memutil.h
+- webrtc_dsp/absl/strings/internal/memutil.cc
+- webrtc_dsp/absl/strings/string_view.cc
+- webrtc_dsp/absl/strings/ascii.h
+- webrtc_dsp/absl/strings/ascii.cc
+- webrtc_dsp/absl/strings/string_view.h
+- webrtc_dsp/absl/types/optional.h
+- webrtc_dsp/absl/types/bad_optional_access.h
+- webrtc_dsp/absl/types/bad_optional_access.cc
+- webrtc_dsp/absl/types/optional.cc
+- webrtc_dsp/absl/memory/memory.h
+- webrtc_dsp/absl/meta/type_traits.h
+- webrtc_dsp/absl/algorithm/algorithm.h
+- webrtc_dsp/absl/container/inlined_vector.h
+- webrtc_dsp/absl/base/policy_checks.h
+- webrtc_dsp/absl/base/port.h
+- webrtc_dsp/absl/base/config.h
+- webrtc_dsp/absl/base/internal/raw_logging.cc
+- webrtc_dsp/absl/base/internal/throw_delegate.cc
+- webrtc_dsp/absl/base/internal/invoke.h
+- webrtc_dsp/absl/base/internal/inline_variable.h
+- webrtc_dsp/absl/base/internal/atomic_hook.h
+- webrtc_dsp/absl/base/internal/identity.h
+- webrtc_dsp/absl/base/internal/raw_logging.h
+- webrtc_dsp/absl/base/internal/throw_delegate.h
+- webrtc_dsp/absl/base/attributes.h
+- webrtc_dsp/absl/base/macros.h
+- webrtc_dsp/absl/base/optimization.h
+- webrtc_dsp/absl/base/log_severity.h
+- webrtc_dsp/absl/utility/utility.h
+- webrtc_dsp/rtc_base/string_to_number.h
+- webrtc_dsp/rtc_base/constructormagic.h
+- webrtc_dsp/rtc_base/race_checker.cc
+- webrtc_dsp/rtc_base/strings/string_builder.h
+- webrtc_dsp/rtc_base/strings/string_builder.cc
+- webrtc_dsp/rtc_base/event_tracer.h
+- webrtc_dsp/rtc_base/stringencode.h
+- webrtc_dsp/rtc_base/memory/aligned_malloc.cc
+- webrtc_dsp/rtc_base/memory/aligned_malloc.h
+- webrtc_dsp/rtc_base/timeutils.cc
+- webrtc_dsp/rtc_base/event.h
+- webrtc_dsp/rtc_base/ignore_wundef.h
+- webrtc_dsp/rtc_base/stringutils.h
+- webrtc_dsp/rtc_base/arraysize.h
+- webrtc_dsp/rtc_base/platform_file.cc
+- webrtc_dsp/rtc_base/swap_queue.h
+- webrtc_dsp/rtc_base/string_to_number.cc
+- webrtc_dsp/rtc_base/trace_event.h
+- webrtc_dsp/rtc_base/checks.h
+- webrtc_dsp/rtc_base/deprecation.h
+- webrtc_dsp/rtc_base/thread_checker_impl.cc
+- webrtc_dsp/rtc_base/sanitizer.h
+- webrtc_dsp/rtc_base/scoped_ref_ptr.h
+- webrtc_dsp/rtc_base/logging.h
+- webrtc_dsp/rtc_base/logging_mac.h
+- webrtc_dsp/rtc_base/logging_mac.mm
+- webrtc_dsp/rtc_base/timeutils.h
+- webrtc_dsp/rtc_base/atomicops.h
+- webrtc_dsp/rtc_base/stringencode.cc
+- webrtc_dsp/rtc_base/stringutils.cc
+- webrtc_dsp/rtc_base/checks.cc
+- webrtc_dsp/rtc_base/numerics/safe_minmax.h
+- webrtc_dsp/rtc_base/numerics/safe_conversions.h
+- webrtc_dsp/rtc_base/numerics/safe_conversions_impl.h
+- webrtc_dsp/rtc_base/numerics/safe_compare.h
+- webrtc_dsp/rtc_base/system/unused.h
+- webrtc_dsp/rtc_base/system/inline.h
+- webrtc_dsp/rtc_base/system/ignore_warnings.h
+- webrtc_dsp/rtc_base/system/asm_defines.h
+- webrtc_dsp/rtc_base/system/rtc_export.h
+- webrtc_dsp/rtc_base/system/arch.h
+- webrtc_dsp/rtc_base/platform_thread.cc
+- webrtc_dsp/rtc_base/platform_thread.h
+- webrtc_dsp/rtc_base/platform_thread_types.h
+- webrtc_dsp/rtc_base/protobuf_utils.h
+- webrtc_dsp/rtc_base/thread_annotations.h
+- webrtc_dsp/rtc_base/gtest_prod_util.h
+- webrtc_dsp/rtc_base/function_view.h
+- webrtc_dsp/rtc_base/criticalsection.h
+- webrtc_dsp/rtc_base/criticalsection.cc
+- webrtc_dsp/rtc_base/platform_thread_types.cc
+- webrtc_dsp/rtc_base/refcount.h
+- webrtc_dsp/rtc_base/event.cc
+- webrtc_dsp/rtc_base/thread_checker_impl.h
+- webrtc_dsp/rtc_base/event_tracer.cc
+- webrtc_dsp/rtc_base/compile_assert_c.h
+- webrtc_dsp/rtc_base/logging_webrtc.cc
+- webrtc_dsp/rtc_base/type_traits.h
+- webrtc_dsp/rtc_base/platform_file.h
+- webrtc_dsp/rtc_base/refcounter.h
+- webrtc_dsp/rtc_base/logging_mac.h
+- webrtc_dsp/rtc_base/thread_checker.h
+- webrtc_dsp/rtc_base/race_checker.h
+- webrtc_dsp/rtc_base/refcountedobject.h
+- webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.cc
+- webrtc_dsp/third_party/rnnoise/src/rnn_activations.h
+- webrtc_dsp/third_party/rnnoise/src/kiss_fft.h
+- webrtc_dsp/third_party/rnnoise/src/kiss_fft.cc
+- webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.h
+- webrtc_dsp/api/audio/audio_frame.cc
+- webrtc_dsp/api/audio/echo_canceller3_config.h
+- webrtc_dsp/api/audio/echo_control.h
+- webrtc_dsp/api/audio/audio_frame.h
+- webrtc_dsp/api/audio/echo_canceller3_config.cc
+- webrtc_dsp/api/audio/echo_canceller3_factory.h
+- webrtc_dsp/api/audio/echo_canceller3_factory.cc
+- webrtc_dsp/api/array_view.h
+- webrtc_dsp/modules/third_party/fft/fft.h
+- webrtc_dsp/modules/third_party/fft/fft.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/bandwidth_info.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/include/isac.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_logist.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filterbanks.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/settings.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/transform.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lattice.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/intialize.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_float_type.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_hist.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/codec.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/structs.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode_bwe.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac.c
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.h
+- webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.h
+- webrtc_dsp/modules/audio_processing/rms_level.cc
+- webrtc_dsp/modules/audio_processing/echo_detector/moving_max.h
+- webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.h
+- webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.h
+- webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.cc
+- webrtc_dsp/modules/audio_processing/echo_detector/moving_max.cc
+- webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.cc
+- webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.cc
+- webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.h
+- webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.h
+- webrtc_dsp/modules/audio_processing/splitting_filter.cc
+- webrtc_dsp/modules/audio_processing/gain_control_impl.cc
+- webrtc_dsp/modules/audio_processing/rms_level.h
+- webrtc_dsp/modules/audio_processing/ns/ns_core.h
+- webrtc_dsp/modules/audio_processing/ns/nsx_core.c
+- webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.c
+- webrtc_dsp/modules/audio_processing/ns/nsx_core_c.c
+- webrtc_dsp/modules/audio_processing/ns/defines.h
+- webrtc_dsp/modules/audio_processing/ns/noise_suppression.h
+- webrtc_dsp/modules/audio_processing/ns/ns_core.c
+- webrtc_dsp/modules/audio_processing/ns/nsx_core.h
+- webrtc_dsp/modules/audio_processing/ns/windows_private.h
+- webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.h
+- webrtc_dsp/modules/audio_processing/ns/noise_suppression.c
+- webrtc_dsp/modules/audio_processing/ns/nsx_defines.h
+- webrtc_dsp/modules/audio_processing/residual_echo_detector.h
+- webrtc_dsp/modules/audio_processing/audio_processing_impl.h
+- webrtc_dsp/modules/audio_processing/audio_buffer.cc
+- webrtc_dsp/modules/audio_processing/typing_detection.cc
+- webrtc_dsp/modules/audio_processing/render_queue_item_verifier.h
+- webrtc_dsp/modules/audio_processing/include/audio_generator.h
+- webrtc_dsp/modules/audio_processing/include/config.h
+- webrtc_dsp/modules/audio_processing/include/audio_frame_view.h
+- webrtc_dsp/modules/audio_processing/include/mock_audio_processing.h
+- webrtc_dsp/modules/audio_processing/include/gain_control.h
+- webrtc_dsp/modules/audio_processing/include/audio_generator_factory.h
+- webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.cc
+- webrtc_dsp/modules/audio_processing/include/audio_generator_factory.cc
+- webrtc_dsp/modules/audio_processing/include/aec_dump.cc
+- webrtc_dsp/modules/audio_processing/include/aec_dump.h
+- webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.h
+- webrtc_dsp/modules/audio_processing/include/audio_processing.h
+- webrtc_dsp/modules/audio_processing/include/audio_processing.cc
+- webrtc_dsp/modules/audio_processing/include/config.cc
+- webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.h
+- webrtc_dsp/modules/audio_processing/agc2/biquad_filter.h
+- webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.cc
+- webrtc_dsp/modules/audio_processing/agc2/agc2_common.cc
+- webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.h
+- webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.h
+- webrtc_dsp/modules/audio_processing/agc2/gain_applier.cc
+- webrtc_dsp/modules/audio_processing/agc2/signal_classifier.h
+- webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.cc
+- webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.cc
+- webrtc_dsp/modules/audio_processing/agc2/limiter.cc
+- webrtc_dsp/modules/audio_processing/agc2/saturation_protector.cc
+- webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/sequence_buffer.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.cc
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/test_utils.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_info.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/ring_buffer.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.cc
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/symmetric_matrix_buffer.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/common.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.cc
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.cc
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.h
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.cc
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.cc
+- webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.cc
+- webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.h
+- webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.cc
+- webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.cc
+- webrtc_dsp/modules/audio_processing/agc2/down_sampler.h
+- webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.cc
+- webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.cc
+- webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.cc
+- webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.cc
+- webrtc_dsp/modules/audio_processing/agc2/saturation_protector.h
+- webrtc_dsp/modules/audio_processing/agc2/vad_with_level.cc
+- webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.cc
+- webrtc_dsp/modules/audio_processing/agc2/agc2_common.h
+- webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.h
+- webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.h
+- webrtc_dsp/modules/audio_processing/agc2/vad_with_level.h
+- webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.h
+- webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.h
+- webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.h
+- webrtc_dsp/modules/audio_processing/agc2/gain_applier.h
+- webrtc_dsp/modules/audio_processing/agc2/down_sampler.cc
+- webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.h
+- webrtc_dsp/modules/audio_processing/agc2/signal_classifier.cc
+- webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.cc
+- webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.cc
+- webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.h
+- webrtc_dsp/modules/audio_processing/agc2/biquad_filter.cc
+- webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.h
+- webrtc_dsp/modules/audio_processing/agc2/limiter.h
+- webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc
+- webrtc_dsp/modules/audio_processing/transient/moving_moments.cc
+- webrtc_dsp/modules/audio_processing/transient/transient_detector.h
+- webrtc_dsp/modules/audio_processing/transient/wpd_tree.cc
+- webrtc_dsp/modules/audio_processing/transient/transient_suppressor.h
+- webrtc_dsp/modules/audio_processing/transient/daubechies_8_wavelet_coeffs.h
+- webrtc_dsp/modules/audio_processing/transient/common.h
+- webrtc_dsp/modules/audio_processing/transient/wpd_node.h
+- webrtc_dsp/modules/audio_processing/transient/moving_moments.h
+- webrtc_dsp/modules/audio_processing/transient/wpd_tree.h
+- webrtc_dsp/modules/audio_processing/transient/wpd_node.cc
+- webrtc_dsp/modules/audio_processing/transient/transient_suppressor.cc
+- webrtc_dsp/modules/audio_processing/transient/transient_detector.cc
+- webrtc_dsp/modules/audio_processing/transient/dyadic_decimator.h
+- webrtc_dsp/modules/audio_processing/low_cut_filter.cc
+- webrtc_dsp/modules/audio_processing/noise_suppression_impl.h
+- webrtc_dsp/modules/audio_processing/level_estimator_impl.cc
+- webrtc_dsp/modules/audio_processing/three_band_filter_bank.cc
+- webrtc_dsp/modules/audio_processing/aec/echo_cancellation.cc
+- webrtc_dsp/modules/audio_processing/aec/aec_resampler.h
+- webrtc_dsp/modules/audio_processing/aec/aec_resampler.cc
+- webrtc_dsp/modules/audio_processing/aec/echo_cancellation.h
+- webrtc_dsp/modules/audio_processing/aec/aec_core.cc
+- webrtc_dsp/modules/audio_processing/aec/aec_core.h
+- webrtc_dsp/modules/audio_processing/aec/aec_core_optimized_methods.h
+- webrtc_dsp/modules/audio_processing/aec/aec_core_sse2.cc
+- webrtc_dsp/modules/audio_processing/aec/aec_common.h
+- webrtc_dsp/modules/audio_processing/voice_detection_impl.h
+- webrtc_dsp/modules/audio_processing/voice_detection_impl.cc
+- webrtc_dsp/modules/audio_processing/echo_cancellation_impl.cc
+- webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.cc
+- webrtc_dsp/modules/audio_processing/agc/agc.cc
+- webrtc_dsp/modules/audio_processing/agc/loudness_histogram.cc
+- webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.cc
+- webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.h
+- webrtc_dsp/modules/audio_processing/agc/legacy/gain_control.h
+- webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.h
+- webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.c
+- webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.c
+- webrtc_dsp/modules/audio_processing/agc/utility.cc
+- webrtc_dsp/modules/audio_processing/agc/mock_agc.h
+- webrtc_dsp/modules/audio_processing/agc/loudness_histogram.h
+- webrtc_dsp/modules/audio_processing/agc/gain_map_internal.h
+- webrtc_dsp/modules/audio_processing/agc/utility.h
+- webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.h
+- webrtc_dsp/modules/audio_processing/agc/agc.h
+- webrtc_dsp/modules/audio_processing/common.h
+- webrtc_dsp/modules/audio_processing/audio_processing_impl.cc
+- webrtc_dsp/modules/audio_processing/audio_buffer.h
+- webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.h
+- webrtc_dsp/modules/audio_processing/splitting_filter.h
+- webrtc_dsp/modules/audio_processing/low_cut_filter.h
+- webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.h
+- webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.cc
+- webrtc_dsp/modules/audio_processing/gain_controller2.cc
+- webrtc_dsp/modules/audio_processing/three_band_filter_bank.h
+- webrtc_dsp/modules/audio_processing/residual_echo_detector.cc
+- webrtc_dsp/modules/audio_processing/echo_cancellation_impl.h
+- webrtc_dsp/modules/audio_processing/noise_suppression_impl.cc
+- webrtc_dsp/modules/audio_processing/level_estimator_impl.h
+- webrtc_dsp/modules/audio_processing/gain_controller2.h
+- webrtc_dsp/modules/audio_processing/aecm/aecm_core.h
+- webrtc_dsp/modules/audio_processing/aecm/aecm_defines.h
+- webrtc_dsp/modules/audio_processing/aecm/aecm_core.cc
+- webrtc_dsp/modules/audio_processing/aecm/aecm_core_c.cc
+- webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.h
+- webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.cc
+- webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.cc
+- webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.h
+- webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.h
+- webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.cc
+- webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.h
+- webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.h
+- webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.cc
+- webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc
+- webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer2.cc
+- webrtc_dsp/modules/audio_processing/aec3/aec_state.h
+- webrtc_dsp/modules/audio_processing/aec3/suppression_filter.h
+- webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.cc
+- webrtc_dsp/modules/audio_processing/aec3/frame_blocker.cc
+- webrtc_dsp/modules/audio_processing/aec3/subtractor.cc
+- webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.h
+- webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.h
+- webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.h
+- webrtc_dsp/modules/audio_processing/aec3/matched_filter.h
+- webrtc_dsp/modules/audio_processing/aec3/subtractor_output.h
+- webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.h
+- webrtc_dsp/modules/audio_processing/aec3/aec3_fft.cc
+- webrtc_dsp/modules/audio_processing/aec3/aec3_fft.h
+- webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.h
+- webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.cc
+- webrtc_dsp/modules/audio_processing/aec3/suppression_filter.cc
+- webrtc_dsp/modules/audio_processing/aec3/block_processor.cc
+- webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.h
+- webrtc_dsp/modules/audio_processing/aec3/subtractor.h
+- webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.h
+- webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.cc
+- webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.cc
+- webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.cc
+- webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.h
+- webrtc_dsp/modules/audio_processing/aec3/vector_buffer.cc
+- webrtc_dsp/modules/audio_processing/aec3/erl_estimator.cc
+- webrtc_dsp/modules/audio_processing/aec3/aec_state.cc
+- webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.cc
+- webrtc_dsp/modules/audio_processing/aec3/fft_data.h
+- webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.cc
+- webrtc_dsp/modules/audio_processing/aec3/skew_estimator.cc
+- webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.h
+- webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.h
+- webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.cc
+- webrtc_dsp/modules/audio_processing/aec3/erl_estimator.h
+- webrtc_dsp/modules/audio_processing/aec3/echo_remover.h
+- webrtc_dsp/modules/audio_processing/aec3/block_framer.cc
+- webrtc_dsp/modules/audio_processing/aec3/erle_estimator.cc
+- webrtc_dsp/modules/audio_processing/aec3/reverb_model.cc
+- webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.cc
+- webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.h
+- webrtc_dsp/modules/audio_processing/aec3/render_buffer.cc
+- webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.h
+- webrtc_dsp/modules/audio_processing/aec3/subtractor_output.cc
+- webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.cc
+- webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.cc
+- webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.h
+- webrtc_dsp/modules/audio_processing/aec3/moving_average.h
+- webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.h
+- webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.cc
+- webrtc_dsp/modules/audio_processing/aec3/suppression_gain.cc
+- webrtc_dsp/modules/audio_processing/aec3/echo_audibility.cc
+- webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.cc
+- webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.h
+- webrtc_dsp/modules/audio_processing/aec3/suppression_gain.h
+- webrtc_dsp/modules/audio_processing/aec3/moving_average.cc
+- webrtc_dsp/modules/audio_processing/aec3/erle_estimator.h
+- webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.h
+- webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.cc
+- webrtc_dsp/modules/audio_processing/aec3/aec3_common.cc
+- webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.cc
+- webrtc_dsp/modules/audio_processing/aec3/block_processor.h
+- webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.h
+- webrtc_dsp/modules/audio_processing/aec3/matched_filter.cc
+- webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.h
+- webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.h
+- webrtc_dsp/modules/audio_processing/aec3/skew_estimator.h
+- webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.cc
+- webrtc_dsp/modules/audio_processing/aec3/render_delay_controller2.cc
+- webrtc_dsp/modules/audio_processing/aec3/render_buffer.h
+- webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.cc
+- webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.cc
+- webrtc_dsp/modules/audio_processing/aec3/echo_remover.cc
+- webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.h
+- webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.cc
+- webrtc_dsp/modules/audio_processing/aec3/vector_buffer.h
+- webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.cc
+- webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.h
+- webrtc_dsp/modules/audio_processing/aec3/echo_audibility.h
+- webrtc_dsp/modules/audio_processing/aec3/fft_buffer.h
+- webrtc_dsp/modules/audio_processing/aec3/block_processor2.cc
+- webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.cc
+- webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.cc
+- webrtc_dsp/modules/audio_processing/aec3/aec3_common.h
+- webrtc_dsp/modules/audio_processing/aec3/fft_buffer.cc
+- webrtc_dsp/modules/audio_processing/aec3/vector_math.h
+- webrtc_dsp/modules/audio_processing/aec3/decimator.h
+- webrtc_dsp/modules/audio_processing/aec3/frame_blocker.h
+- webrtc_dsp/modules/audio_processing/aec3/block_framer.h
+- webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.h
+- webrtc_dsp/modules/audio_processing/aec3/delay_estimate.h
+- webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.cc
+- webrtc_dsp/modules/audio_processing/aec3/reverb_model.h
+- webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.h
+- webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.h
+- webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.cc
+- webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.cc
+- webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.h
+- webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.cc
+- webrtc_dsp/modules/audio_processing/aec3/decimator.cc
+- webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.h
+- webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.cc
+- webrtc_dsp/modules/audio_processing/gain_control_impl.h
+- webrtc_dsp/modules/audio_processing/typing_detection.h
+- webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.cc
+- webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.h
+- webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.cc
+- webrtc_dsp/modules/audio_processing/vad/standalone_vad.cc
+- webrtc_dsp/modules/audio_processing/vad/vad_audio_proc_internal.h
+- webrtc_dsp/modules/audio_processing/vad/pitch_internal.cc
+- webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.cc
+- webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.h
+- webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.h
+- webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.cc
+- webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.cc
+- webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.h
+- webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.cc
+- webrtc_dsp/modules/audio_processing/vad/gmm.h
+- webrtc_dsp/modules/audio_processing/vad/common.h
+- webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.h
+- webrtc_dsp/modules/audio_processing/vad/voice_gmm_tables.h
+- webrtc_dsp/modules/audio_processing/vad/noise_gmm_tables.h
+- webrtc_dsp/modules/audio_processing/vad/pitch_internal.h
+- webrtc_dsp/modules/audio_processing/vad/gmm.cc
+- webrtc_dsp/modules/audio_processing/vad/standalone_vad.h
+- webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.h
+- webrtc_dsp/modules/audio_processing/utility/delay_estimator_internal.h
+- webrtc_dsp/modules/audio_processing/utility/ooura_fft.cc
+- webrtc_dsp/modules/audio_processing/utility/ooura_fft.h
+- webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.cc
+- webrtc_dsp/modules/audio_processing/utility/ooura_fft_sse2.cc
+- webrtc_dsp/modules/audio_processing/utility/delay_estimator.cc
+- webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.h
+- webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.cc
+- webrtc_dsp/modules/audio_processing/utility/delay_estimator.h
+- webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_common.h
+- webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.h
+- webrtc_dsp/common_audio/mocks/mock_smoothing_filter.h
+- webrtc_dsp/common_audio/wav_file.h
+- webrtc_dsp/common_audio/window_generator.cc
+- webrtc_dsp/common_audio/channel_buffer.cc
+- webrtc_dsp/common_audio/fir_filter_factory.cc
+- webrtc_dsp/common_audio/sparse_fir_filter.h
+- webrtc_dsp/common_audio/fir_filter_sse.h
+- webrtc_dsp/common_audio/window_generator.h
+- webrtc_dsp/common_audio/ring_buffer.h
+- webrtc_dsp/common_audio/fir_filter.h
+- webrtc_dsp/common_audio/include/audio_util.h
+- webrtc_dsp/common_audio/wav_header.cc
+- webrtc_dsp/common_audio/real_fourier_ooura.cc
+- webrtc_dsp/common_audio/audio_util.cc
+- webrtc_dsp/common_audio/real_fourier_ooura.h
+- webrtc_dsp/common_audio/fir_filter_sse.cc
+- webrtc_dsp/common_audio/smoothing_filter.h
+- webrtc_dsp/common_audio/resampler/push_sinc_resampler.cc
+- webrtc_dsp/common_audio/resampler/sinc_resampler.h
+- webrtc_dsp/common_audio/resampler/resampler.cc
+- webrtc_dsp/common_audio/resampler/sinc_resampler_sse.cc
+- webrtc_dsp/common_audio/resampler/include/push_resampler.h
+- webrtc_dsp/common_audio/resampler/include/resampler.h
+- webrtc_dsp/common_audio/resampler/push_sinc_resampler.h
+- webrtc_dsp/common_audio/resampler/push_resampler.cc
+- webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.h
+- webrtc_dsp/common_audio/resampler/sinc_resampler.cc
+- webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.cc
+- webrtc_dsp/common_audio/fir_filter_factory.h
+- webrtc_dsp/common_audio/audio_converter.h
+- webrtc_dsp/common_audio/wav_file.cc
+- webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c
+- webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.h
+- webrtc_dsp/common_audio/third_party/fft4g/fft4g.c
+- webrtc_dsp/common_audio/third_party/fft4g/fft4g.h
+- webrtc_dsp/common_audio/audio_converter.cc
+- webrtc_dsp/common_audio/real_fourier.cc
+- webrtc_dsp/common_audio/channel_buffer.h
+- webrtc_dsp/common_audio/real_fourier.h
+- webrtc_dsp/common_audio/sparse_fir_filter.cc
+- webrtc_dsp/common_audio/smoothing_filter.cc
+- webrtc_dsp/common_audio/fir_filter_c.cc
+- webrtc_dsp/common_audio/ring_buffer.c
+- webrtc_dsp/common_audio/fir_filter_c.h
+- webrtc_dsp/common_audio/signal_processing/complex_fft_tables.h
+- webrtc_dsp/common_audio/signal_processing/complex_fft.c
+- webrtc_dsp/common_audio/signal_processing/filter_ma_fast_q12.c
+- webrtc_dsp/common_audio/signal_processing/levinson_durbin.c
+- webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.cc
+- webrtc_dsp/common_audio/signal_processing/auto_corr_to_refl_coef.c
+- webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.c
+- webrtc_dsp/common_audio/signal_processing/energy.c
+- webrtc_dsp/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c
+- webrtc_dsp/common_audio/signal_processing/downsample_fast.c
+- webrtc_dsp/common_audio/signal_processing/splitting_filter1.c
+- webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12.c
+- webrtc_dsp/common_audio/signal_processing/spl_init.c
+- webrtc_dsp/common_audio/signal_processing/lpc_to_refl_coef.c
+- webrtc_dsp/common_audio/signal_processing/cross_correlation.c
+- webrtc_dsp/common_audio/signal_processing/include/signal_processing_library.h
+- webrtc_dsp/common_audio/signal_processing/include/real_fft.h
+- webrtc_dsp/common_audio/signal_processing/include/spl_inl.h
+- webrtc_dsp/common_audio/signal_processing/division_operations.c
+- webrtc_dsp/common_audio/signal_processing/auto_correlation.c
+- webrtc_dsp/common_audio/signal_processing/get_scaling_square.c
+- webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.h
+- webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.h
+- webrtc_dsp/common_audio/signal_processing/resample.c
+- webrtc_dsp/common_audio/signal_processing/min_max_operations.c
+- webrtc_dsp/common_audio/signal_processing/refl_coef_to_lpc.c
+- webrtc_dsp/common_audio/signal_processing/filter_ar.c
+- webrtc_dsp/common_audio/signal_processing/vector_scaling_operations.c
+- webrtc_dsp/common_audio/signal_processing/resample_fractional.c
+- webrtc_dsp/common_audio/signal_processing/real_fft.c
+- webrtc_dsp/common_audio/signal_processing/ilbc_specific_functions.c
+- webrtc_dsp/common_audio/signal_processing/complex_bit_reverse.c
+- webrtc_dsp/common_audio/signal_processing/randomization_functions.c
+- webrtc_dsp/common_audio/signal_processing/copy_set_operations.c
+- webrtc_dsp/common_audio/signal_processing/resample_by_2.c
+- webrtc_dsp/common_audio/signal_processing/get_hanning_window.c
+- webrtc_dsp/common_audio/signal_processing/resample_48khz.c
+- webrtc_dsp/common_audio/signal_processing/spl_inl.c
+- webrtc_dsp/common_audio/signal_processing/spl_sqrt.c
+- webrtc_dsp/common_audio/wav_header.h
+- webrtc_dsp/common_audio/vad/vad_sp.c
+- webrtc_dsp/common_audio/vad/vad.cc
+- webrtc_dsp/common_audio/vad/webrtc_vad.c
+- webrtc_dsp/common_audio/vad/vad_core.h
+- webrtc_dsp/common_audio/vad/include/vad.h
+- webrtc_dsp/common_audio/vad/include/webrtc_vad.h
+- webrtc_dsp/common_audio/vad/vad_gmm.h
+- webrtc_dsp/common_audio/vad/vad_filterbank.c
+- webrtc_dsp/common_audio/vad/vad_core.c
+- webrtc_dsp/common_audio/vad/vad_sp.h
+- webrtc_dsp/common_audio/vad/vad_filterbank.h
+- webrtc_dsp/common_audio/vad/vad_gmm.c
++ # Linux
++ os/linux/AudioInputALSA.cpp
++ os/linux/AudioInputALSA.h
++ os/linux/AudioOutputALSA.cpp
++ os/linux/AudioOutputALSA.h
++ os/linux/AudioOutputPulse.cpp
++ os/linux/AudioOutputPulse.h
++ os/linux/AudioInputPulse.cpp
++ os/linux/AudioInputPulse.h
++ os/linux/AudioPulse.cpp
++ os/linux/AudioPulse.h
+
+- # ARM/NEON sources
+- # TODO check if there's a good way to make these compile with ARM ports of TDesktop
+- # webrtc_dsp/modules/audio_processing/ns/nsx_core_neon.c
+- # webrtc_dsp/modules/audio_processing/aec/aec_core_neon.cc
+- # webrtc_dsp/modules/audio_processing/aecm/aecm_core_neon.cc
+- # webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h
+- # webrtc_dsp/modules/audio_processing/utility/ooura_fft_neon.cc
+- # webrtc_dsp/common_audio/fir_filter_neon.cc
+- # webrtc_dsp/common_audio/resampler/sinc_resampler_neon.cc
+- # webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor_arm.S
+- # webrtc_dsp/common_audio/fir_filter_neon.h
+- # webrtc_dsp/common_audio/signal_processing/downsample_fast_neon.c
+- # webrtc_dsp/common_audio/signal_processing/complex_bit_reverse_arm.S
+- # webrtc_dsp/common_audio/signal_processing/include/spl_inl_armv7.h
+- # webrtc_dsp/common_audio/signal_processing/min_max_operations_neon.c
+- # webrtc_dsp/common_audio/signal_processing/cross_correlation_neon.c
+- # webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12_armv7.S
+-)
++ # POSIX
++ os/posix/NetworkSocketPosix.cpp
++ os/posix/NetworkSocketPosix.h
+
+-target_compile_definitions(lib_tgvoip
+-PUBLIC
+- WEBRTC_APM_DEBUG_DUMP=0
+- TGVOIP_USE_DESKTOP_DSP
+- WEBRTC_NS_FLOAT
+-)
++ # WebRTC APM
++ webrtc_dsp/system_wrappers/include/field_trial.h
++ webrtc_dsp/system_wrappers/include/cpu_features_wrapper.h
++ webrtc_dsp/system_wrappers/include/asm_defines.h
++ webrtc_dsp/system_wrappers/include/metrics.h
++ webrtc_dsp/system_wrappers/include/compile_assert_c.h
++ webrtc_dsp/system_wrappers/source/field_trial.cc
++ webrtc_dsp/system_wrappers/source/metrics.cc
++ webrtc_dsp/system_wrappers/source/cpu_features.cc
++ webrtc_dsp/typedefs.h
++ webrtc_dsp/absl/strings/internal/memutil.h
++ webrtc_dsp/absl/strings/internal/memutil.cc
++ webrtc_dsp/absl/strings/string_view.cc
++ webrtc_dsp/absl/strings/ascii.h
++ webrtc_dsp/absl/strings/ascii.cc
++ webrtc_dsp/absl/strings/string_view.h
++ webrtc_dsp/absl/types/optional.h
++ webrtc_dsp/absl/types/bad_optional_access.h
++ webrtc_dsp/absl/types/bad_optional_access.cc
++ webrtc_dsp/absl/types/optional.cc
++ webrtc_dsp/absl/memory/memory.h
++ webrtc_dsp/absl/meta/type_traits.h
++ webrtc_dsp/absl/algorithm/algorithm.h
++ webrtc_dsp/absl/container/inlined_vector.h
++ webrtc_dsp/absl/base/policy_checks.h
++ webrtc_dsp/absl/base/port.h
++ webrtc_dsp/absl/base/config.h
++ webrtc_dsp/absl/base/internal/raw_logging.cc
++ webrtc_dsp/absl/base/internal/throw_delegate.cc
++ webrtc_dsp/absl/base/internal/invoke.h
++ webrtc_dsp/absl/base/internal/inline_variable.h
++ webrtc_dsp/absl/base/internal/atomic_hook.h
++ webrtc_dsp/absl/base/internal/identity.h
++ webrtc_dsp/absl/base/internal/raw_logging.h
++ webrtc_dsp/absl/base/internal/throw_delegate.h
++ webrtc_dsp/absl/base/attributes.h
++ webrtc_dsp/absl/base/macros.h
++ webrtc_dsp/absl/base/optimization.h
++ webrtc_dsp/absl/base/log_severity.h
++ webrtc_dsp/absl/utility/utility.h
++ webrtc_dsp/rtc_base/string_to_number.h
++ webrtc_dsp/rtc_base/constructormagic.h
++ webrtc_dsp/rtc_base/race_checker.cc
++ webrtc_dsp/rtc_base/strings/string_builder.h
++ webrtc_dsp/rtc_base/strings/string_builder.cc
++ webrtc_dsp/rtc_base/event_tracer.h
++ webrtc_dsp/rtc_base/stringencode.h
++ webrtc_dsp/rtc_base/memory/aligned_malloc.cc
++ webrtc_dsp/rtc_base/memory/aligned_malloc.h
++ webrtc_dsp/rtc_base/timeutils.cc
++ webrtc_dsp/rtc_base/event.h
++ webrtc_dsp/rtc_base/ignore_wundef.h
++ webrtc_dsp/rtc_base/stringutils.h
++ webrtc_dsp/rtc_base/arraysize.h
++ webrtc_dsp/rtc_base/platform_file.cc
++ webrtc_dsp/rtc_base/swap_queue.h
++ webrtc_dsp/rtc_base/string_to_number.cc
++ webrtc_dsp/rtc_base/trace_event.h
++ webrtc_dsp/rtc_base/checks.h
++ webrtc_dsp/rtc_base/deprecation.h
++ webrtc_dsp/rtc_base/thread_checker_impl.cc
++ webrtc_dsp/rtc_base/sanitizer.h
++ webrtc_dsp/rtc_base/scoped_ref_ptr.h
++ webrtc_dsp/rtc_base/logging.h
++ webrtc_dsp/rtc_base/logging_mac.h
++ webrtc_dsp/rtc_base/logging_mac.mm
++ webrtc_dsp/rtc_base/timeutils.h
++ webrtc_dsp/rtc_base/atomicops.h
++ webrtc_dsp/rtc_base/stringencode.cc
++ webrtc_dsp/rtc_base/stringutils.cc
++ webrtc_dsp/rtc_base/checks.cc
++ webrtc_dsp/rtc_base/numerics/safe_minmax.h
++ webrtc_dsp/rtc_base/numerics/safe_conversions.h
++ webrtc_dsp/rtc_base/numerics/safe_conversions_impl.h
++ webrtc_dsp/rtc_base/numerics/safe_compare.h
++ webrtc_dsp/rtc_base/system/unused.h
++ webrtc_dsp/rtc_base/system/inline.h
++ webrtc_dsp/rtc_base/system/ignore_warnings.h
++ webrtc_dsp/rtc_base/system/asm_defines.h
++ webrtc_dsp/rtc_base/system/rtc_export.h
++ webrtc_dsp/rtc_base/system/arch.h
++ webrtc_dsp/rtc_base/platform_thread.cc
++ webrtc_dsp/rtc_base/platform_thread.h
++ webrtc_dsp/rtc_base/platform_thread_types.h
++ webrtc_dsp/rtc_base/protobuf_utils.h
++ webrtc_dsp/rtc_base/thread_annotations.h
++ webrtc_dsp/rtc_base/gtest_prod_util.h
++ webrtc_dsp/rtc_base/function_view.h
++ webrtc_dsp/rtc_base/criticalsection.h
++ webrtc_dsp/rtc_base/criticalsection.cc
++ webrtc_dsp/rtc_base/platform_thread_types.cc
++ webrtc_dsp/rtc_base/refcount.h
++ webrtc_dsp/rtc_base/event.cc
++ webrtc_dsp/rtc_base/thread_checker_impl.h
++ webrtc_dsp/rtc_base/event_tracer.cc
++ webrtc_dsp/rtc_base/compile_assert_c.h
++ webrtc_dsp/rtc_base/logging_webrtc.cc
++ webrtc_dsp/rtc_base/type_traits.h
++ webrtc_dsp/rtc_base/platform_file.h
++ webrtc_dsp/rtc_base/refcounter.h
++ webrtc_dsp/rtc_base/logging_mac.h
++ webrtc_dsp/rtc_base/thread_checker.h
++ webrtc_dsp/rtc_base/race_checker.h
++ webrtc_dsp/rtc_base/refcountedobject.h
++ webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.cc
++ webrtc_dsp/third_party/rnnoise/src/rnn_activations.h
++ webrtc_dsp/third_party/rnnoise/src/kiss_fft.h
++ webrtc_dsp/third_party/rnnoise/src/kiss_fft.cc
++ webrtc_dsp/third_party/rnnoise/src/rnn_vad_weights.h
++ webrtc_dsp/api/audio/audio_frame.cc
++ webrtc_dsp/api/audio/echo_canceller3_config.h
++ webrtc_dsp/api/audio/echo_control.h
++ webrtc_dsp/api/audio/audio_frame.h
++ webrtc_dsp/api/audio/echo_canceller3_config.cc
++ webrtc_dsp/api/audio/echo_canceller3_factory.h
++ webrtc_dsp/api/audio/echo_canceller3_factory.cc
++ webrtc_dsp/api/array_view.h
++ webrtc_dsp/modules/third_party/fft/fft.h
++ webrtc_dsp/modules/third_party/fft/fft.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/bandwidth_info.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/include/isac.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_logist.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filterbanks.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/settings.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/transform.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lattice.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/intialize.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_float_type.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines_hist.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/codec.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_gain_tables.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb16_tables.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_estimator.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/entropy_coding.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac_vad.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/structs.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/filter_functions.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/encode_lpc_swb.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_filter.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/arith_routines.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/crc.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_shape_swb12_tables.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_analysis.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/decode_bwe.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/spectrum_ar_model_tables.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/pitch_lag_tables.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/isac.c
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_gain_swb_tables.h
++ webrtc_dsp/modules/audio_coding/codecs/isac/main/source/lpc_tables.h
++ webrtc_dsp/modules/audio_processing/rms_level.cc
++ webrtc_dsp/modules/audio_processing/echo_detector/moving_max.h
++ webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.h
++ webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.h
++ webrtc_dsp/modules/audio_processing/echo_detector/normalized_covariance_estimator.cc
++ webrtc_dsp/modules/audio_processing/echo_detector/moving_max.cc
++ webrtc_dsp/modules/audio_processing/echo_detector/circular_buffer.cc
++ webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.cc
++ webrtc_dsp/modules/audio_processing/echo_detector/mean_variance_estimator.h
++ webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.h
++ webrtc_dsp/modules/audio_processing/splitting_filter.cc
++ webrtc_dsp/modules/audio_processing/gain_control_impl.cc
++ webrtc_dsp/modules/audio_processing/rms_level.h
++ webrtc_dsp/modules/audio_processing/ns/ns_core.h
++ webrtc_dsp/modules/audio_processing/ns/nsx_core.c
++ webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.c
++ webrtc_dsp/modules/audio_processing/ns/nsx_core_c.c
++ webrtc_dsp/modules/audio_processing/ns/defines.h
++ webrtc_dsp/modules/audio_processing/ns/noise_suppression.h
++ webrtc_dsp/modules/audio_processing/ns/ns_core.c
++ webrtc_dsp/modules/audio_processing/ns/nsx_core.h
++ webrtc_dsp/modules/audio_processing/ns/windows_private.h
++ webrtc_dsp/modules/audio_processing/ns/noise_suppression_x.h
++ webrtc_dsp/modules/audio_processing/ns/noise_suppression.c
++ webrtc_dsp/modules/audio_processing/ns/nsx_defines.h
++ webrtc_dsp/modules/audio_processing/residual_echo_detector.h
++ webrtc_dsp/modules/audio_processing/audio_processing_impl.h
++ webrtc_dsp/modules/audio_processing/audio_buffer.cc
++ webrtc_dsp/modules/audio_processing/typing_detection.cc
++ webrtc_dsp/modules/audio_processing/render_queue_item_verifier.h
++ webrtc_dsp/modules/audio_processing/include/audio_generator.h
++ webrtc_dsp/modules/audio_processing/include/config.h
++ webrtc_dsp/modules/audio_processing/include/audio_frame_view.h
++ webrtc_dsp/modules/audio_processing/include/mock_audio_processing.h
++ webrtc_dsp/modules/audio_processing/include/gain_control.h
++ webrtc_dsp/modules/audio_processing/include/audio_generator_factory.h
++ webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.cc
++ webrtc_dsp/modules/audio_processing/include/audio_generator_factory.cc
++ webrtc_dsp/modules/audio_processing/include/aec_dump.cc
++ webrtc_dsp/modules/audio_processing/include/aec_dump.h
++ webrtc_dsp/modules/audio_processing/include/audio_processing_statistics.h
++ webrtc_dsp/modules/audio_processing/include/audio_processing.h
++ webrtc_dsp/modules/audio_processing/include/audio_processing.cc
++ webrtc_dsp/modules/audio_processing/include/config.cc
++ webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.h
++ webrtc_dsp/modules/audio_processing/agc2/biquad_filter.h
++ webrtc_dsp/modules/audio_processing/agc2/interpolated_gain_curve.cc
++ webrtc_dsp/modules/audio_processing/agc2/agc2_common.cc
++ webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.h
++ webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.h
++ webrtc_dsp/modules/audio_processing/agc2/gain_applier.cc
++ webrtc_dsp/modules/audio_processing/agc2/signal_classifier.h
++ webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.cc
++ webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.cc
++ webrtc_dsp/modules/audio_processing/agc2/limiter.cc
++ webrtc_dsp/modules/audio_processing/agc2/saturation_protector.cc
++ webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/sequence_buffer.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/rnn.cc
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/test_utils.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_info.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/ring_buffer.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.cc
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/symmetric_matrix_buffer.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/common.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/spectral_features.cc
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search_internal.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.cc
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/pitch_search.h
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/features_extraction.cc
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/fft_util.cc
++ webrtc_dsp/modules/audio_processing/agc2/rnn_vad/lp_residual.cc
++ webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.h
++ webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.cc
++ webrtc_dsp/modules/audio_processing/agc2/vector_float_frame.cc
++ webrtc_dsp/modules/audio_processing/agc2/down_sampler.h
++ webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.cc
++ webrtc_dsp/modules/audio_processing/agc2/agc2_testing_common.cc
++ webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.cc
++ webrtc_dsp/modules/audio_processing/agc2/fixed_gain_controller.cc
++ webrtc_dsp/modules/audio_processing/agc2/saturation_protector.h
++ webrtc_dsp/modules/audio_processing/agc2/vad_with_level.cc
++ webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.cc
++ webrtc_dsp/modules/audio_processing/agc2/agc2_common.h
++ webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator_agc.h
++ webrtc_dsp/modules/audio_processing/agc2/adaptive_digital_gain_applier.h
++ webrtc_dsp/modules/audio_processing/agc2/vad_with_level.h
++ webrtc_dsp/modules/audio_processing/agc2/limiter_db_gain_curve.h
++ webrtc_dsp/modules/audio_processing/agc2/fixed_digital_level_estimator.h
++ webrtc_dsp/modules/audio_processing/agc2/adaptive_agc.h
++ webrtc_dsp/modules/audio_processing/agc2/gain_applier.h
++ webrtc_dsp/modules/audio_processing/agc2/down_sampler.cc
++ webrtc_dsp/modules/audio_processing/agc2/noise_level_estimator.h
++ webrtc_dsp/modules/audio_processing/agc2/signal_classifier.cc
++ webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.cc
++ webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.cc
++ webrtc_dsp/modules/audio_processing/agc2/compute_interpolated_gain_curve.h
++ webrtc_dsp/modules/audio_processing/agc2/biquad_filter.cc
++ webrtc_dsp/modules/audio_processing/agc2/noise_spectrum_estimator.h
++ webrtc_dsp/modules/audio_processing/agc2/limiter.h
++ webrtc_dsp/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc
++ webrtc_dsp/modules/audio_processing/transient/moving_moments.cc
++ webrtc_dsp/modules/audio_processing/transient/transient_detector.h
++ webrtc_dsp/modules/audio_processing/transient/wpd_tree.cc
++ webrtc_dsp/modules/audio_processing/transient/transient_suppressor.h
++ webrtc_dsp/modules/audio_processing/transient/daubechies_8_wavelet_coeffs.h
++ webrtc_dsp/modules/audio_processing/transient/common.h
++ webrtc_dsp/modules/audio_processing/transient/wpd_node.h
++ webrtc_dsp/modules/audio_processing/transient/moving_moments.h
++ webrtc_dsp/modules/audio_processing/transient/wpd_tree.h
++ webrtc_dsp/modules/audio_processing/transient/wpd_node.cc
++ webrtc_dsp/modules/audio_processing/transient/transient_suppressor.cc
++ webrtc_dsp/modules/audio_processing/transient/transient_detector.cc
++ webrtc_dsp/modules/audio_processing/transient/dyadic_decimator.h
++ webrtc_dsp/modules/audio_processing/low_cut_filter.cc
++ webrtc_dsp/modules/audio_processing/noise_suppression_impl.h
++ webrtc_dsp/modules/audio_processing/level_estimator_impl.cc
++ webrtc_dsp/modules/audio_processing/three_band_filter_bank.cc
++ webrtc_dsp/modules/audio_processing/aec/echo_cancellation.cc
++ webrtc_dsp/modules/audio_processing/aec/aec_resampler.h
++ webrtc_dsp/modules/audio_processing/aec/aec_resampler.cc
++ webrtc_dsp/modules/audio_processing/aec/echo_cancellation.h
++ webrtc_dsp/modules/audio_processing/aec/aec_core.cc
++ webrtc_dsp/modules/audio_processing/aec/aec_core.h
++ webrtc_dsp/modules/audio_processing/aec/aec_core_optimized_methods.h
++ webrtc_dsp/modules/audio_processing/aec/aec_core_sse2.cc
++ webrtc_dsp/modules/audio_processing/aec/aec_common.h
++ webrtc_dsp/modules/audio_processing/voice_detection_impl.h
++ webrtc_dsp/modules/audio_processing/voice_detection_impl.cc
++ webrtc_dsp/modules/audio_processing/echo_cancellation_impl.cc
++ webrtc_dsp/modules/audio_processing/gain_control_for_experimental_agc.cc
++ webrtc_dsp/modules/audio_processing/agc/agc.cc
++ webrtc_dsp/modules/audio_processing/agc/loudness_histogram.cc
++ webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.cc
++ webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.h
++ webrtc_dsp/modules/audio_processing/agc/legacy/gain_control.h
++ webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.h
++ webrtc_dsp/modules/audio_processing/agc/legacy/analog_agc.c
++ webrtc_dsp/modules/audio_processing/agc/legacy/digital_agc.c
++ webrtc_dsp/modules/audio_processing/agc/utility.cc
++ webrtc_dsp/modules/audio_processing/agc/mock_agc.h
++ webrtc_dsp/modules/audio_processing/agc/loudness_histogram.h
++ webrtc_dsp/modules/audio_processing/agc/gain_map_internal.h
++ webrtc_dsp/modules/audio_processing/agc/utility.h
++ webrtc_dsp/modules/audio_processing/agc/agc_manager_direct.h
++ webrtc_dsp/modules/audio_processing/agc/agc.h
++ webrtc_dsp/modules/audio_processing/common.h
++ webrtc_dsp/modules/audio_processing/audio_processing_impl.cc
++ webrtc_dsp/modules/audio_processing/audio_buffer.h
++ webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.h
++ webrtc_dsp/modules/audio_processing/splitting_filter.h
++ webrtc_dsp/modules/audio_processing/low_cut_filter.h
++ webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.h
++ webrtc_dsp/modules/audio_processing/audio_generator/file_audio_generator.cc
++ webrtc_dsp/modules/audio_processing/gain_controller2.cc
++ webrtc_dsp/modules/audio_processing/three_band_filter_bank.h
++ webrtc_dsp/modules/audio_processing/residual_echo_detector.cc
++ webrtc_dsp/modules/audio_processing/echo_cancellation_impl.h
++ webrtc_dsp/modules/audio_processing/noise_suppression_impl.cc
++ webrtc_dsp/modules/audio_processing/level_estimator_impl.h
++ webrtc_dsp/modules/audio_processing/gain_controller2.h
++ webrtc_dsp/modules/audio_processing/aecm/aecm_core.h
++ webrtc_dsp/modules/audio_processing/aecm/aecm_defines.h
++ webrtc_dsp/modules/audio_processing/aecm/aecm_core.cc
++ webrtc_dsp/modules/audio_processing/aecm/aecm_core_c.cc
++ webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.h
++ webrtc_dsp/modules/audio_processing/aecm/echo_control_mobile.cc
++ webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.cc
++ webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.h
++ webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.h
++ webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.cc
++ webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.h
++ webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.h
++ webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.cc
++ webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.cc
++ webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer2.cc
++ webrtc_dsp/modules/audio_processing/aec3/aec_state.h
++ webrtc_dsp/modules/audio_processing/aec3/suppression_filter.h
++ webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.cc
++ webrtc_dsp/modules/audio_processing/aec3/frame_blocker.cc
++ webrtc_dsp/modules/audio_processing/aec3/subtractor.cc
++ webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.h
++ webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.h
++ webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.h
++ webrtc_dsp/modules/audio_processing/aec3/matched_filter.h
++ webrtc_dsp/modules/audio_processing/aec3/subtractor_output.h
++ webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.h
++ webrtc_dsp/modules/audio_processing/aec3/aec3_fft.cc
++ webrtc_dsp/modules/audio_processing/aec3/aec3_fft.h
++ webrtc_dsp/modules/audio_processing/aec3/echo_remover_metrics.h
++ webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.cc
++ webrtc_dsp/modules/audio_processing/aec3/suppression_filter.cc
++ webrtc_dsp/modules/audio_processing/aec3/block_processor.cc
++ webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.h
++ webrtc_dsp/modules/audio_processing/aec3/subtractor.h
++ webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.h
++ webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.cc
++ webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.cc
++ webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.cc
++ webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.h
++ webrtc_dsp/modules/audio_processing/aec3/vector_buffer.cc
++ webrtc_dsp/modules/audio_processing/aec3/erl_estimator.cc
++ webrtc_dsp/modules/audio_processing/aec3/aec_state.cc
++ webrtc_dsp/modules/audio_processing/aec3/adaptive_fir_filter.cc
++ webrtc_dsp/modules/audio_processing/aec3/fft_data.h
++ webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.cc
++ webrtc_dsp/modules/audio_processing/aec3/skew_estimator.cc
++ webrtc_dsp/modules/audio_processing/aec3/render_delay_controller_metrics.h
++ webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.h
++ webrtc_dsp/modules/audio_processing/aec3/echo_path_delay_estimator.cc
++ webrtc_dsp/modules/audio_processing/aec3/erl_estimator.h
++ webrtc_dsp/modules/audio_processing/aec3/echo_remover.h
++ webrtc_dsp/modules/audio_processing/aec3/block_framer.cc
++ webrtc_dsp/modules/audio_processing/aec3/erle_estimator.cc
++ webrtc_dsp/modules/audio_processing/aec3/reverb_model.cc
++ webrtc_dsp/modules/audio_processing/aec3/cascaded_biquad_filter.cc
++ webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.h
++ webrtc_dsp/modules/audio_processing/aec3/render_buffer.cc
++ webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.h
++ webrtc_dsp/modules/audio_processing/aec3/subtractor_output.cc
++ webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.cc
++ webrtc_dsp/modules/audio_processing/aec3/render_signal_analyzer.cc
++ webrtc_dsp/modules/audio_processing/aec3/echo_path_variability.h
++ webrtc_dsp/modules/audio_processing/aec3/moving_average.h
++ webrtc_dsp/modules/audio_processing/aec3/render_reverb_model.h
++ webrtc_dsp/modules/audio_processing/aec3/subtractor_output_analyzer.cc
++ webrtc_dsp/modules/audio_processing/aec3/suppression_gain.cc
++ webrtc_dsp/modules/audio_processing/aec3/echo_audibility.cc
++ webrtc_dsp/modules/audio_processing/aec3/block_processor_metrics.cc
++ webrtc_dsp/modules/audio_processing/aec3/render_delay_controller.h
++ webrtc_dsp/modules/audio_processing/aec3/suppression_gain.h
++ webrtc_dsp/modules/audio_processing/aec3/moving_average.cc
++ webrtc_dsp/modules/audio_processing/aec3/erle_estimator.h
++ webrtc_dsp/modules/audio_processing/aec3/subband_erle_estimator.h
++ webrtc_dsp/modules/audio_processing/aec3/reverb_model_estimator.cc
++ webrtc_dsp/modules/audio_processing/aec3/aec3_common.cc
++ webrtc_dsp/modules/audio_processing/aec3/residual_echo_estimator.cc
++ webrtc_dsp/modules/audio_processing/aec3/block_processor.h
++ webrtc_dsp/modules/audio_processing/aec3/fullband_erle_estimator.h
++ webrtc_dsp/modules/audio_processing/aec3/matched_filter.cc
++ webrtc_dsp/modules/audio_processing/aec3/stationarity_estimator.h
++ webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.h
++ webrtc_dsp/modules/audio_processing/aec3/skew_estimator.h
++ webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.cc
++ webrtc_dsp/modules/audio_processing/aec3/render_delay_controller2.cc
++ webrtc_dsp/modules/audio_processing/aec3/render_buffer.h
++ webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.cc
++ webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.cc
++ webrtc_dsp/modules/audio_processing/aec3/echo_remover.cc
++ webrtc_dsp/modules/audio_processing/aec3/reverb_model_fallback.h
++ webrtc_dsp/modules/audio_processing/aec3/downsampled_render_buffer.cc
++ webrtc_dsp/modules/audio_processing/aec3/vector_buffer.h
++ webrtc_dsp/modules/audio_processing/aec3/matrix_buffer.cc
++ webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.h
++ webrtc_dsp/modules/audio_processing/aec3/echo_audibility.h
++ webrtc_dsp/modules/audio_processing/aec3/fft_buffer.h
++ webrtc_dsp/modules/audio_processing/aec3/block_processor2.cc
++ webrtc_dsp/modules/audio_processing/aec3/echo_canceller3.cc
++ webrtc_dsp/modules/audio_processing/aec3/block_delay_buffer.cc
++ webrtc_dsp/modules/audio_processing/aec3/aec3_common.h
++ webrtc_dsp/modules/audio_processing/aec3/fft_buffer.cc
++ webrtc_dsp/modules/audio_processing/aec3/vector_math.h
++ webrtc_dsp/modules/audio_processing/aec3/decimator.h
++ webrtc_dsp/modules/audio_processing/aec3/frame_blocker.h
++ webrtc_dsp/modules/audio_processing/aec3/block_framer.h
++ webrtc_dsp/modules/audio_processing/aec3/suppression_gain_limiter.h
++ webrtc_dsp/modules/audio_processing/aec3/delay_estimate.h
++ webrtc_dsp/modules/audio_processing/aec3/comfort_noise_generator.cc
++ webrtc_dsp/modules/audio_processing/aec3/reverb_model.h
++ webrtc_dsp/modules/audio_processing/aec3/main_filter_update_gain.h
++ webrtc_dsp/modules/audio_processing/aec3/matched_filter_lag_aggregator.h
++ webrtc_dsp/modules/audio_processing/aec3/shadow_filter_update_gain.cc
++ webrtc_dsp/modules/audio_processing/aec3/filter_analyzer.cc
++ webrtc_dsp/modules/audio_processing/aec3/reverb_decay_estimator.h
++ webrtc_dsp/modules/audio_processing/aec3/reverb_frequency_response.cc
++ webrtc_dsp/modules/audio_processing/aec3/decimator.cc
++ webrtc_dsp/modules/audio_processing/aec3/render_delay_buffer.h
++ webrtc_dsp/modules/audio_processing/echo_control_mobile_impl.cc
++ webrtc_dsp/modules/audio_processing/gain_control_impl.h
++ webrtc_dsp/modules/audio_processing/typing_detection.h
++ webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.cc
++ webrtc_dsp/modules/audio_processing/logging/apm_data_dumper.h
++ webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.cc
++ webrtc_dsp/modules/audio_processing/vad/standalone_vad.cc
++ webrtc_dsp/modules/audio_processing/vad/vad_audio_proc_internal.h
++ webrtc_dsp/modules/audio_processing/vad/pitch_internal.cc
++ webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.cc
++ webrtc_dsp/modules/audio_processing/vad/vad_circular_buffer.h
++ webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.h
++ webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.cc
++ webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.cc
++ webrtc_dsp/modules/audio_processing/vad/pole_zero_filter.h
++ webrtc_dsp/modules/audio_processing/vad/pitch_based_vad.cc
++ webrtc_dsp/modules/audio_processing/vad/gmm.h
++ webrtc_dsp/modules/audio_processing/vad/common.h
++ webrtc_dsp/modules/audio_processing/vad/vad_audio_proc.h
++ webrtc_dsp/modules/audio_processing/vad/voice_gmm_tables.h
++ webrtc_dsp/modules/audio_processing/vad/noise_gmm_tables.h
++ webrtc_dsp/modules/audio_processing/vad/pitch_internal.h
++ webrtc_dsp/modules/audio_processing/vad/gmm.cc
++ webrtc_dsp/modules/audio_processing/vad/standalone_vad.h
++ webrtc_dsp/modules/audio_processing/vad/voice_activity_detector.h
++ webrtc_dsp/modules/audio_processing/utility/delay_estimator_internal.h
++ webrtc_dsp/modules/audio_processing/utility/ooura_fft.cc
++ webrtc_dsp/modules/audio_processing/utility/ooura_fft.h
++ webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.cc
++ webrtc_dsp/modules/audio_processing/utility/ooura_fft_sse2.cc
++ webrtc_dsp/modules/audio_processing/utility/delay_estimator.cc
++ webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.h
++ webrtc_dsp/modules/audio_processing/utility/block_mean_calculator.cc
++ webrtc_dsp/modules/audio_processing/utility/delay_estimator.h
++ webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_common.h
++ webrtc_dsp/modules/audio_processing/utility/delay_estimator_wrapper.h
++ webrtc_dsp/common_audio/mocks/mock_smoothing_filter.h
++ webrtc_dsp/common_audio/wav_file.h
++ webrtc_dsp/common_audio/window_generator.cc
++ webrtc_dsp/common_audio/channel_buffer.cc
++ webrtc_dsp/common_audio/fir_filter_factory.cc
++ webrtc_dsp/common_audio/sparse_fir_filter.h
++ webrtc_dsp/common_audio/fir_filter_sse.h
++ webrtc_dsp/common_audio/window_generator.h
++ webrtc_dsp/common_audio/ring_buffer.h
++ webrtc_dsp/common_audio/fir_filter.h
++ webrtc_dsp/common_audio/include/audio_util.h
++ webrtc_dsp/common_audio/wav_header.cc
++ webrtc_dsp/common_audio/real_fourier_ooura.cc
++ webrtc_dsp/common_audio/audio_util.cc
++ webrtc_dsp/common_audio/real_fourier_ooura.h
++ webrtc_dsp/common_audio/fir_filter_sse.cc
++ webrtc_dsp/common_audio/smoothing_filter.h
++ webrtc_dsp/common_audio/resampler/push_sinc_resampler.cc
++ webrtc_dsp/common_audio/resampler/sinc_resampler.h
++ webrtc_dsp/common_audio/resampler/resampler.cc
++ webrtc_dsp/common_audio/resampler/sinc_resampler_sse.cc
++ webrtc_dsp/common_audio/resampler/include/push_resampler.h
++ webrtc_dsp/common_audio/resampler/include/resampler.h
++ webrtc_dsp/common_audio/resampler/push_sinc_resampler.h
++ webrtc_dsp/common_audio/resampler/push_resampler.cc
++ webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.h
++ webrtc_dsp/common_audio/resampler/sinc_resampler.cc
++ webrtc_dsp/common_audio/resampler/sinusoidal_linear_chirp_source.cc
++ webrtc_dsp/common_audio/fir_filter_factory.h
++ webrtc_dsp/common_audio/audio_converter.h
++ webrtc_dsp/common_audio/wav_file.cc
++ webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.c
++ webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor.h
++ webrtc_dsp/common_audio/third_party/fft4g/fft4g.c
++ webrtc_dsp/common_audio/third_party/fft4g/fft4g.h
++ webrtc_dsp/common_audio/audio_converter.cc
++ webrtc_dsp/common_audio/real_fourier.cc
++ webrtc_dsp/common_audio/channel_buffer.h
++ webrtc_dsp/common_audio/real_fourier.h
++ webrtc_dsp/common_audio/sparse_fir_filter.cc
++ webrtc_dsp/common_audio/smoothing_filter.cc
++ webrtc_dsp/common_audio/fir_filter_c.cc
++ webrtc_dsp/common_audio/ring_buffer.c
++ webrtc_dsp/common_audio/fir_filter_c.h
++ webrtc_dsp/common_audio/signal_processing/complex_fft_tables.h
++ webrtc_dsp/common_audio/signal_processing/complex_fft.c
++ webrtc_dsp/common_audio/signal_processing/filter_ma_fast_q12.c
++ webrtc_dsp/common_audio/signal_processing/levinson_durbin.c
++ webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.cc
++ webrtc_dsp/common_audio/signal_processing/auto_corr_to_refl_coef.c
++ webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.c
++ webrtc_dsp/common_audio/signal_processing/energy.c
++ webrtc_dsp/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c
++ webrtc_dsp/common_audio/signal_processing/downsample_fast.c
++ webrtc_dsp/common_audio/signal_processing/splitting_filter1.c
++ webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12.c
++ webrtc_dsp/common_audio/signal_processing/spl_init.c
++ webrtc_dsp/common_audio/signal_processing/lpc_to_refl_coef.c
++ webrtc_dsp/common_audio/signal_processing/cross_correlation.c
++ webrtc_dsp/common_audio/signal_processing/include/signal_processing_library.h
++ webrtc_dsp/common_audio/signal_processing/include/real_fft.h
++ webrtc_dsp/common_audio/signal_processing/include/spl_inl.h
++ webrtc_dsp/common_audio/signal_processing/division_operations.c
++ webrtc_dsp/common_audio/signal_processing/auto_correlation.c
++ webrtc_dsp/common_audio/signal_processing/get_scaling_square.c
++ webrtc_dsp/common_audio/signal_processing/dot_product_with_scale.h
++ webrtc_dsp/common_audio/signal_processing/resample_by_2_internal.h
++ webrtc_dsp/common_audio/signal_processing/resample.c
++ webrtc_dsp/common_audio/signal_processing/min_max_operations.c
++ webrtc_dsp/common_audio/signal_processing/refl_coef_to_lpc.c
++ webrtc_dsp/common_audio/signal_processing/filter_ar.c
++ webrtc_dsp/common_audio/signal_processing/vector_scaling_operations.c
++ webrtc_dsp/common_audio/signal_processing/resample_fractional.c
++ webrtc_dsp/common_audio/signal_processing/real_fft.c
++ webrtc_dsp/common_audio/signal_processing/ilbc_specific_functions.c
++ webrtc_dsp/common_audio/signal_processing/complex_bit_reverse.c
++ webrtc_dsp/common_audio/signal_processing/randomization_functions.c
++ webrtc_dsp/common_audio/signal_processing/copy_set_operations.c
++ webrtc_dsp/common_audio/signal_processing/resample_by_2.c
++ webrtc_dsp/common_audio/signal_processing/get_hanning_window.c
++ webrtc_dsp/common_audio/signal_processing/resample_48khz.c
++ webrtc_dsp/common_audio/signal_processing/spl_inl.c
++ webrtc_dsp/common_audio/signal_processing/spl_sqrt.c
++ webrtc_dsp/common_audio/wav_header.h
++ webrtc_dsp/common_audio/vad/vad_sp.c
++ webrtc_dsp/common_audio/vad/vad.cc
++ webrtc_dsp/common_audio/vad/webrtc_vad.c
++ webrtc_dsp/common_audio/vad/vad_core.h
++ webrtc_dsp/common_audio/vad/include/vad.h
++ webrtc_dsp/common_audio/vad/include/webrtc_vad.h
++ webrtc_dsp/common_audio/vad/vad_gmm.h
++ webrtc_dsp/common_audio/vad/vad_filterbank.c
++ webrtc_dsp/common_audio/vad/vad_core.c
++ webrtc_dsp/common_audio/vad/vad_sp.h
++ webrtc_dsp/common_audio/vad/vad_filterbank.h
++ webrtc_dsp/common_audio/vad/vad_gmm.c
+
+-if (WIN32)
+- target_compile_options(lib_tgvoip
+- PRIVATE
+- /wd4005
+- /wd4244 # conversion from 'int' to 'float', possible loss of data (several in webrtc)
+- )
+- target_compile_definitions(lib_tgvoip
+- PUBLIC
+- WEBRTC_WIN
++ # ARM/NEON sources
++ # TODO check if there's a good way to make these compile with ARM ports of TDesktop
++ # webrtc_dsp/modules/audio_processing/ns/nsx_core_neon.c
++ # webrtc_dsp/modules/audio_processing/aec/aec_core_neon.cc
++ # webrtc_dsp/modules/audio_processing/aecm/aecm_core_neon.cc
++ # webrtc_dsp/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h
++ # webrtc_dsp/modules/audio_processing/utility/ooura_fft_neon.cc
++ # webrtc_dsp/common_audio/fir_filter_neon.cc
++ # webrtc_dsp/common_audio/resampler/sinc_resampler_neon.cc
++ # webrtc_dsp/common_audio/third_party/spl_sqrt_floor/spl_sqrt_floor_arm.S
++ # webrtc_dsp/common_audio/fir_filter_neon.h
++ # webrtc_dsp/common_audio/signal_processing/downsample_fast_neon.c
++ # webrtc_dsp/common_audio/signal_processing/complex_bit_reverse_arm.S
++ # webrtc_dsp/common_audio/signal_processing/include/spl_inl_armv7.h
++ # webrtc_dsp/common_audio/signal_processing/min_max_operations_neon.c
++ # webrtc_dsp/common_audio/signal_processing/cross_correlation_neon.c
++ # webrtc_dsp/common_audio/signal_processing/filter_ar_fast_q12_armv7.S
+ )
+-elseif (APPLE)
++
+ target_compile_definitions(lib_tgvoip
+ PUBLIC
+- WEBRTC_POSIX
+- WEBRTC_MAC
+- TARGET_OS_OSX
+- TARGET_OSX
++ WEBRTC_APM_DEBUG_DUMP=0
++ TGVOIP_USE_DESKTOP_DSP
++ WEBRTC_NS_FLOAT
+ )
+- if (build_macstore)
++
++ if (WIN32)
++ target_compile_options(lib_tgvoip
++ PRIVATE
++ /wd4005
++ /wd4244 # conversion from 'int' to 'float', possible loss of data (several in webrtc)
++ )
++ target_compile_definitions(lib_tgvoip
++ PUBLIC
++ WEBRTC_WIN
++ )
++ elseif (APPLE)
++ target_compile_definitions(lib_tgvoip
++ PUBLIC
++ WEBRTC_POSIX
++ WEBRTC_MAC
++ TARGET_OS_OSX
++ TARGET_OSX
++ )
++ if (build_macstore)
++ target_compile_definitions(lib_tgvoip
++ PUBLIC
++ TGVOIP_NO_OSX_PRIVATE_API
++ )
++ endif()
++ else()
++ target_compile_options(lib_tgvoip
++ PRIVATE
++ -Wno-unknown-pragmas
++ -Wno-error=sequence-point
++ -Wno-error=unused-result
++ )
++ if (build_linux32)
++ target_compile_options(lib_tgvoip PRIVATE -msse2)
++ endif()
+ target_compile_definitions(lib_tgvoip
+ PUBLIC
+- TGVOIP_NO_OSX_PRIVATE_API
++ WEBRTC_POSIX
++ WEBRTC_LINUX
+ )
+ endif()
+-else()
+- target_compile_options(lib_tgvoip
+- PRIVATE
+- -Wno-unknown-pragmas
+- -Wno-error=sequence-point
+- -Wno-error=unused-result
+- )
+- if (build_linux32)
+- target_compile_options(lib_tgvoip PRIVATE -msse2)
++
++ if (NOT WIN32)
++ target_compile_definitions(lib_tgvoip PRIVATE TGVOIP_USE_INSTALLED_OPUS)
+ endif()
+- target_compile_definitions(lib_tgvoip
++
++ target_include_directories(lib_tgvoip
+ PUBLIC
+- WEBRTC_POSIX
+- WEBRTC_LINUX
++ ${tgvoip_loc}
++ PRIVATE
++ ${tgvoip_loc}/webrtc_dsp
+ )
+-endif()
+
+-if (NOT WIN32)
+- target_compile_definitions(lib_tgvoip PRIVATE TGVOIP_USE_INSTALLED_OPUS)
++ target_link_libraries(lib_tgvoip
++ PRIVATE
++ desktop-app::external_openssl
++ desktop-app::external_opus
++ )
+ endif()
+-
+-target_include_directories(lib_tgvoip
+-PUBLIC
+- ${tgvoip_loc}
+-PRIVATE
+- ${tgvoip_loc}/webrtc_dsp
+-)
+-
+-target_link_libraries(lib_tgvoip
+-PRIVATE
+- desktop-app::external_openssl
+- desktop-app::external_opus
+-)
+diff --git a/Telegram/cmake/telegram_options.cmake b/Telegram/cmake/telegram_options.cmake
+index cb721e5903..6ba0579c19 100644
+--- a/Telegram/cmake/telegram_options.cmake
++++ b/Telegram/cmake/telegram_options.cmake
+@@ -9,6 +9,7 @@ option(TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME "Disable automatic 'tg://' URL sc
+ option(TDESKTOP_DISABLE_NETWORK_PROXY "Disable all code for working through Socks5 or MTProxy." OFF)
+ option(TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION "Disable automatic '.desktop' file generation (Linux only)." OFF)
+ option(TDESKTOP_DISABLE_GTK_INTEGRATION "Disable all code for GTK integration (Linux only)." OFF)
++option(TDESKTOP_USE_PACKAGED_TGVOIP "Find libtgvoip using CMake instead of bundled one." ${DESKTOP_APP_USE_PACKAGED})
+ option(TDESKTOP_API_TEST "Use test API credentials." OFF)
+ set(TDESKTOP_API_ID "0" CACHE STRING "Provide 'api_id' for the Telegram API access.")
+ set(TDESKTOP_API_HASH "" CACHE STRING "Provide 'api_hash' for the Telegram API access.")
diff --git a/telegram-desktop-pr6985.patch b/telegram-desktop-pr6985.patch
new file mode 100644
index 0000000..fa77775
--- /dev/null
+++ b/telegram-desktop-pr6985.patch
@@ -0,0 +1,30 @@
+From 99c1e1140e12081175bd1c5d231982eac8b146bf Mon Sep 17 00:00:00 2001
+From: Vitaly Zaitsev <vitaly(a)easycoding.org>
+Date: Thu, 9 Jan 2020 15:50:01 +0100
+Subject: [PATCH] Fixed TDESKTOP_LAUNCHER_FILENAME option.
+
+Signed-off-by: Vitaly Zaitsev <vitaly(a)easycoding.org>
+---
+ Telegram/cmake/telegram_options.cmake | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/Telegram/cmake/telegram_options.cmake b/Telegram/cmake/telegram_options.cmake
+index cb721e5903..0a2deb9204 100644
+--- a/Telegram/cmake/telegram_options.cmake
++++ b/Telegram/cmake/telegram_options.cmake
+@@ -12,6 +12,7 @@ option(TDESKTOP_DISABLE_GTK_INTEGRATION "Disable all code for GTK integration (L
+ option(TDESKTOP_API_TEST "Use test API credentials." OFF)
+ set(TDESKTOP_API_ID "0" CACHE STRING "Provide 'api_id' for the Telegram API access.")
+ set(TDESKTOP_API_HASH "" CACHE STRING "Provide 'api_hash' for the Telegram API access.")
++set(TDESKTOP_LAUNCHER_FILENAME "" CACHE STRING "Use custom desktop file name (Linux only).")
+
+ if (TDESKTOP_API_TEST)
+ set(TDESKTOP_API_ID 17349)
+@@ -82,3 +83,7 @@ endif()
+ if (TDESKTOP_DISABLE_GTK_INTEGRATION)
+ target_compile_definitions(Telegram PRIVATE TDESKTOP_DISABLE_GTK_INTEGRATION)
+ endif()
++
++if (TDESKTOP_LAUNCHER_FILENAME)
++ target_compile_definitions(Telegram PRIVATE TDESKTOP_LAUNCHER_FILENAME=${TDESKTOP_LAUNCHER_FILENAME})
++endif()
diff --git a/telegram-desktop.spec b/telegram-desktop.spec
index e095600..e1e5d1d 100644
--- a/telegram-desktop.spec
+++ b/telegram-desktop.spec
@@ -1,35 +1,69 @@
-# Enable or disable build with GTK support...
-%bcond_without gtk3
-
-# Enable or disable build using clang instead of gcc...
+# Build conditionals...
+%bcond_with gtk3
%bcond_with clang
+%bcond_with spellcheck
# Telegram Desktop's constants...
%global appname tdesktop
%global apiid 208164
%global apihash dfbe1bc42dc9d20507e17d1814cc2f0a
-%global upstreambase https://github.com/telegramdesktop
-# Git revision of crl...
-%global commit1 52baf11aaeb7f5ea6955a438abaa1aee4c4308d8
+# Git revision of cmake_helpers...
+%global commit1 652bbaf002546ae1822fff4474ffe95091bfc2e4
%global shortcommit1 %(c=%{commit1}; echo ${c:0:7})
# Git revision of patched rlottie...
-%global commit2 589db026ec211bc4979e3bffe074f6e48ce7cedc
+%global commit2 c490c7a098b9b3cbc3195b00e90d6fc3989e2ba2
%global shortcommit2 %(c=%{commit2}; echo ${c:0:7})
-# Decrease debuginfo verbosity to reduce memory consumption...
-%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
+# Git revision of lib_crl...
+%global commit3 5a740bf0b7fe8f1f9a7f3e0878d5238f56502da1
+%global shortcommit3 %(c=%{commit3}; echo ${c:0:7})
+
+# Git revision of lib_base...
+%global commit4 baae6cdd9ba5216732222e7dec9a76b9ea3a7c83
+%global shortcommit4 %(c=%{commit4}; echo ${c:0:7})
+
+# Git revision of lib_lottie...
+%global commit5 a0a0269ffa44d1e23f0911eaeb286004a075b089
+%global shortcommit5 %(c=%{commit5}; echo ${c:0:7})
+
+# Git revision of lib_qr...
+%global commit6 9877397dbf97b7198d539a3994bf0e9619cf653c
+%global shortcommit6 %(c=%{commit6}; echo ${c:0:7})
+
+# Git revision of lib_rpl...
+%global commit7 2888aabf28bf9ca89f3d6d67a523bc5f2ce802ce
+%global shortcommit7 %(c=%{commit7}; echo ${c:0:7})
+
+# Git revision of lib_spellcheck...
+%global commit8 d305de6d67ca4f3891bad96a0e49e40f5c904189
+%global shortcommit8 %(c=%{commit8}; echo ${c:0:7})
+
+# Git revision of lib_storage...
+%global commit9 cb56ad46ca1bee22570a7f3f64d21531283ad84d
+%global shortcommit9 %(c=%{commit9}; echo ${c:0:7})
+
+# Git revision of lib_tl...
+%global commit10 b0388a1a02b3f035f1486a6b66a01522c290b198
+%global shortcommit10 %(c=%{commit10}; echo ${c:0:7})
+
+# Git revision of lib_ui...
+%global commit11 4ec9e32f8f5f6b8192fd60d73ae0b575e82c1c60
+%global shortcommit11 %(c=%{commit11}; echo ${c:0:7})
+
+# Git revision of codegen...
+%global commit12 d14ae77ad5ed27ca6ddbc9579c0c5e0afa18ffca
+%global shortcommit12 %(c=%{commit12}; echo ${c:0:7})
# Applying workaround to RHBZ#1559007...
%if %{with clang}
%global optflags %(echo %{optflags} | sed -e 's/-mcet//g' -e 's/-fcf-protection//g' -e 's/-fstack-clash-protection//g' -e 's/$/-Qunused-arguments -Wno-unknown-warning-option/')
%endif
-Summary: Telegram Desktop official messaging app
Name: telegram-desktop
-Version: 1.8.15
-Release: 3%{?dist}
+Version: 1.9.3
+Release: 1%{?dist}
# Application and 3rd-party modules licensing:
# * S0 (Telegram Desktop) - GPLv3+ with OpenSSL exception -- main source;
@@ -37,23 +71,40 @@ Release: 3%{?dist}
# * S2 (rlottie) - LGPLv2+ -- static dependency;
# * P0 (qt_functions.cpp) - LGPLv3 -- build-time dependency.
License: GPLv3+ and LGPLv3
-URL: %{upstreambase}/%{appname}
-
-%if 0%{?fedora} && 0%{?fedora} < 31
-ExclusiveArch: i686 x86_64
-%else
+URL: https://github.com/telegramdesktop/%{appname}
+Summary: Telegram Desktop official messaging app
ExclusiveArch: x86_64
-%endif
# Source files...
-Source0: %{url}/archive/v%{version}.tar.gz#/%{appname}-%{version}.tar.gz
-Source1: %{upstreambase}/crl/archive/%{commit1}.tar.gz#/crl-%{shortcommit1}.tar.gz
-Source2: https://github.com/john-preston/rlottie/archive/%{commit2}.tar.gz#/rlotti...
-
-# Downstream patches...
-Patch0: %{name}-build-fixes.patch
-Patch1: %{name}-system-fonts.patch
-Patch2: %{name}-unbundle-minizip.patch
+Source0: %{url}/archive/v%{version}/%{appname}-%{version}.tar.gz
+Source1: https://github.com/desktop-app/cmake_helpers/archive/%{commit1}/cmake_hel...
+Source2: https://github.com/desktop-app/rlottie/archive/%{commit2}/rlottie-%{short...
+Source3: https://github.com/desktop-app/lib_crl/archive/%{commit3}/lib_crl-%{short...
+Source4: https://github.com/desktop-app/lib_base/archive/%{commit4}/lib_base-%{sho...
+Source5: https://github.com/desktop-app/lib_lottie/archive/%{commit5}/lib_lottie-%...
+Source6: https://github.com/desktop-app/lib_qr/archive/%{commit6}/lib_qr-%{shortco...
+Source7: https://github.com/desktop-app/lib_rpl/archive/%{commit7}/lib_rpl-%{short...
+Source8: https://github.com/desktop-app/lib_spellcheck/archive/%{commit8}/lib_spel...
+Source9: https://github.com/desktop-app/lib_storage/archive/%{commit9}/lib_storage...
+Source10: https://github.com/desktop-app/lib_tl/archive/%{commit10}/lib_storage-%{s...
+Source11: https://github.com/desktop-app/lib_ui/archive/%{commit11}/lib_ui-%{shortc...
+Source12: https://github.com/desktop-app/codegen/archive/%{commit12}/codegen-%{shor...
+
+# Permanent downstream patches...
+Patch0: %{name}-fix-desktop.patch
+Patch1: %{name}-fix-appdata.patch
+Patch10: cmake_helpers-system-expected.patch
+Patch11: cmake_helpers-system-gsl.patch
+Patch12: cmake_helpers-system-qrcode.patch
+Patch13: cmake_helpers-system-variant.patch
+Patch20: lib_ui-remove-configs.patch
+
+# Temporary upstream and proposed to upstream patches...
+Patch100: %{name}-pr6956.patch
+Patch101: cmake_helpers-system-libraries.patch
+Patch102: %{name}-commit-100fed3.patch
+Patch103: %{name}-commit-322367c.patch
+Patch104: %{name}-pr6985.patch
%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}}
Requires: qt5-qtimageformats%{?_isa}
@@ -70,7 +121,6 @@ BuildRequires: libappstream-glib
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: gcc
-BuildRequires: gyp
# Development packages for Telegram Desktop...
BuildRequires: guidelines-support-library-devel >= 1.0.0
@@ -78,13 +128,16 @@ BuildRequires: mapbox-variant-devel >= 0.3.6
BuildRequires: qt5-qtbase-private-devel
BuildRequires: libtgvoip-devel >= 2.4.4
BuildRequires: range-v3-devel >= 0.9.1
+BuildRequires: libqrcodegencpp-devel
BuildRequires: ffmpeg-devel >= 3.1
BuildRequires: openal-soft-devel
BuildRequires: qt5-qtbase-devel
BuildRequires: libstdc++-devel
+BuildRequires: expected-devel
BuildRequires: openssl-devel
BuildRequires: xxhash-devel
BuildRequires: json11-devel
+BuildRequires: ninja-build
BuildRequires: opus-devel
BuildRequires: lz4-devel
BuildRequires: xz-devel
@@ -98,6 +151,12 @@ Recommends: libappindicator-gtk3%{?_isa}
Requires: gtk3%{?_isa}
%endif
+%if %{with spellcheck}
+BuildRequires: enchant2-devel
+BuildRequires: glib2-devel
+Requires: enchant2%{?_isa}
+%endif
+
%if %{with clang}
BuildRequires: compiler-rt
BuildRequires: clang
@@ -125,14 +184,13 @@ business messaging needs.
%prep
# Unpacking Telegram Desktop source archive...
-%autosetup -n %{appname}-%{version} -p1
+%setup -q -n %{appname}-%{version}
+mkdir -p %{_target_platform}
-# Unpacking crl...
-pushd Telegram/ThirdParty
- rm -rf crl
- tar -xf %{SOURCE1}
- mv crl-%{commit1} crl
-popd
+# Unpacking cmake_helpers...
+rm -rf cmake
+tar -xf %{SOURCE1}
+mv cmake_helpers-%{commit1} cmake
# Unpacking patched rlottie...
pushd Telegram/ThirdParty
@@ -141,31 +199,105 @@ pushd Telegram/ThirdParty
mv rlottie-%{commit2} rlottie
popd
-%build
-# Setting build definitions...
-%if %{without gtk3}
-TDESKTOP_BUILD_DEFINES+='TDESKTOP_DISABLE_GTK_INTEGRATION,'
-%endif
-%if 0%{?fedora} && 0%{?fedora} < 30
-TDESKTOP_BUILD_DEFINES+='TDESKTOP_DISABLE_OPENAL_EFFECTS,'
-%endif
-TDESKTOP_BUILD_DEFINES+='TDESKTOP_DISABLE_AUTOUPDATE,'
-TDESKTOP_BUILD_DEFINES+='TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME,'
-TDESKTOP_BUILD_DEFINES+='TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION,'
-TDESKTOP_BUILD_DEFINES+='TDESKTOP_DISABLE_CRASH_REPORTS,'
-TDESKTOP_BUILD_DEFINES+='TDESKTOP_LAUNCHER_FILENAME=%{name}.desktop,'
-
-# Generating cmake script using GYP...
-pushd Telegram/gyp
- gyp --depth=. --generator-output=../.. -Goutput_dir=out -Dapi_id=%{apiid} -Dapi_hash=%{apihash} -Dbuild_defines=$TDESKTOP_BUILD_DEFINES Telegram.gyp --format=cmake
+# Unpacking lib_crl...
+pushd Telegram
+ rm -rf lib_crl
+ tar -xf %{SOURCE3}
+ mv lib_crl-%{commit3} lib_crl
popd
-# Patching generated cmake script...
-sed -i "$(($(wc -l < out/Release/CMakeLists.txt) - 2)) r Telegram/gyp/CMakeLists.inj" out/Release/CMakeLists.txt
+# Unpacking lib_base...
+pushd Telegram
+ rm -rf lib_base
+ tar -xf %{SOURCE4}
+ mv lib_base-%{commit4} lib_base
+popd
+# Unpacking lib_lottie...
+pushd Telegram
+ rm -rf lib_lottie
+ tar -xf %{SOURCE5}
+ mv lib_lottie-%{commit5} lib_lottie
+popd
+
+# Unpacking lib_qr...
+pushd Telegram
+ rm -rf lib_qr
+ tar -xf %{SOURCE6}
+ mv lib_qr-%{commit6} lib_qr
+popd
+
+# Unpacking lib_rpl...
+pushd Telegram
+ rm -rf lib_rpl
+ tar -xf %{SOURCE7}
+ mv lib_rpl-%{commit7} lib_rpl
+popd
+
+# Unpacking lib_spellcheck...
+pushd Telegram
+ rm -rf lib_spellcheck
+ tar -xf %{SOURCE8}
+ mv lib_spellcheck-%{commit8} lib_spellcheck
+popd
+
+# Unpacking lib_storage...
+pushd Telegram
+ rm -rf lib_storage
+ tar -xf %{SOURCE9}
+ mv lib_storage-%{commit9} lib_storage
+popd
+
+# Unpacking lib_tl...
+pushd Telegram
+ rm -rf lib_tl
+ tar -xf %{SOURCE10}
+ mv lib_tl-%{commit10} lib_tl
+popd
+
+# Unpacking lib_ui...
+pushd Telegram
+ rm -rf lib_ui
+ tar -xf %{SOURCE11}
+ mv lib_ui-%{commit11} lib_ui
+popd
+
+# Unpacking codegen...
+pushd Telegram
+ rm -rf codegen
+ tar -xf %{SOURCE12}
+ mv codegen-%{commit12} codegen
+popd
+
+# Applying patches for core application...
+%patch0 -p1 -b .desktop
+%patch1 -p1 -b .appdata
+%patch102 -p1 -b .commit-100fed3
+%patch103 -p1 -b .commit-322367c
+%patch100 -p1 -b .pr6956
+%patch104 -p1 -b .pr6985
+
+# Applying patches for build system...
+%patch101 -d cmake -p1 -b .system-libraries
+%patch10 -d cmake -p1 -b .system-expected
+%patch11 -d cmake -p1 -b .system-gsl
+%patch12 -d cmake -p1 -b .system-qrcode
+%patch13 -d cmake -p1 -b .system-variant
+
+# Applying patches for lib_ui...
+%patch20 -d Telegram/lib_ui -p1 -b .remove-configs
+
+%build
# Building Telegram Desktop using cmake...
-pushd out/Release
- %cmake \
+pushd %{_target_platform}
+ %cmake -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+%if %{without gtk3}
+ -DTDESKTOP_DISABLE_GTK_INTEGRATION:BOOL=ON \
+%endif
+%if %{without spellcheck}
+ -DDESKTOP_APP_DISABLE_SPELLCHECK:BOOL=ON \
+%endif
%if %{with clang}
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
@@ -179,14 +311,25 @@ pushd out/Release
-DCMAKE_RANLIB=%{_bindir}/gcc-ranlib \
-DCMAKE_NM=%{_bindir}/gcc-nm \
%endif
- .
- %make_build
+ -DTDESKTOP_API_ID=%{apiid} \
+ -DTDESKTOP_API_HASH=%{apihash} \
+ -DDESKTOP_APP_USE_PACKAGED:BOOL=ON \
+ -DDESKTOP_APP_USE_PACKAGED_RLOTTIE:BOOL=FALSE \
+ -DDESKTOP_APP_USE_GLIBC_WRAPS:BOOL=OFF \
+ -DDESKTOP_APP_DISABLE_CRASH_REPORTS:BOOL=ON \
+ -DTDESKTOP_USE_PACKAGED_TGVOIP:BOOL=TRUE \
+ -DTDESKTOP_DISABLE_AUTOUPDATE:BOOL=ON \
+ -DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME:BOOL=ON \
+ -DTDESKTOP_DISABLE_DESKTOP_FILE_GENERATION:BOOL=ON \
+ -DTDESKTOP_LAUNCHER_FILENAME=%{name}.desktop \
+ ..
popd
+%ninja_build -C %{_target_platform}
%install
# Installing executables...
mkdir -p %{buildroot}%{_bindir}
-install -m 0755 -p out/Release/Telegram %{buildroot}%{_bindir}/%{name}
+install -m 0755 -p %{_target_platform}/bin/Telegram %{buildroot}%{_bindir}/%{name}
# Installing desktop shortcut...
mv lib/xdg/telegramdesktop.desktop lib/xdg/%{name}.desktop
@@ -215,12 +358,12 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/%{name}.appdat
%{_metainfodir}/%{name}.appdata.xml
%changelog
+* Thu Jan 09 2020 Vitaly Zaitsev <vitaly(a)easycoding.org> - 1.9.3-1
+- Updated to version 1.9.3.
+
* Tue Dec 24 2019 Vitaly Zaitsev <vitaly(a)easycoding.org> - 1.8.15-3
- Removed GTK2 from build requirements.
* Tue Dec 17 2019 Vitaly Zaitsev <vitaly(a)easycoding.org> - 1.8.15-2
- Fixed issue with menu bar on Gnome.
- Rebuilt due to Qt 5.13.2 update on Rawhide.
-
-* Wed Oct 09 2019 Vitaly Zaitsev <vitaly(a)easycoding.org> - 1.8.15-1
-- Updated to version 1.8.15.
4 years, 10 months
[kodi-pvr-iptvsimple] Add missing patch
by Mohamed ElMorabity
commit ab1dc4846256cbd1eed7bdbd6916b6a1abe4fcac
Author: Mohamed El Morabity <melmorabity(a)fedoraproject.org>
Date: Thu Jan 9 17:04:50 2020 +0100
Add missing patch
...vr-iptvsimple-3.4.2-use_external_rapidxml.patch | 48 ----------------------
kodi-pvr-iptvsimple-3.8.8-rapidxml.patch | 24 +++++++++++
2 files changed, 24 insertions(+), 48 deletions(-)
---
diff --git a/kodi-pvr-iptvsimple-3.8.8-rapidxml.patch b/kodi-pvr-iptvsimple-3.8.8-rapidxml.patch
new file mode 100644
index 0000000..922c6b2
--- /dev/null
+++ b/kodi-pvr-iptvsimple-3.8.8-rapidxml.patch
@@ -0,0 +1,24 @@
+diff -up ./FindRapidxml.cmake.orig ./FindRapidxml.cmake
+--- ./FindRapidxml.cmake.orig 2019-11-28 16:20:32.000000000 +0100
++++ ./FindRapidxml.cmake 2020-01-09 16:37:25.659943579 +0100
+@@ -4,7 +4,7 @@
+ # RAPIDXML_FOUND - system has rapidxml
+ # RAPIDXML_INCLUDE_DIRS - the rapidxml include directory
+
+-find_path(RAPIDXML_INCLUDE_DIRS rapidxml/rapidxml.hpp)
++find_path(RAPIDXML_INCLUDE_DIRS rapidxml.h)
+
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(Rapidxml DEFAULT_MSG RAPIDXML_INCLUDE_DIRS)
+diff -up ./src/PVRIptvData.cpp.orig ./src/PVRIptvData.cpp
+--- ./src/PVRIptvData.cpp.orig 2019-11-28 16:20:32.000000000 +0100
++++ ./src/PVRIptvData.cpp 2020-01-09 16:37:25.659943579 +0100
+@@ -35,7 +35,7 @@
+ #include <string>
+
+ #include "zlib.h"
+-#include "rapidxml/rapidxml.hpp"
++#include "rapidxml.h"
+ #include "PVRIptvData.h"
+ #include "p8-platform/util/StringUtils.h"
+ #include "client.h"
4 years, 10 months
[kodi-pvr-iptvsimple] Source upload
by Mohamed ElMorabity
commit 1e10a080bfd342b6da034134159c5bc9239d722e
Author: Mohamed El Morabity <melmorabity(a)fedoraproject.org>
Date: Thu Jan 9 17:00:02 2020 +0100
Source upload
sources | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/sources b/sources
index 617fcdd..5d9e00c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (kodi-pvr-iptvsimple-3.8.8-rapidxml.patch) = 3ffe4691f6db6931238fcb23752ebcd413c99d4e0987dc69ea93026b10a1281a67e57efd97508ccd769cbc10f7af44e38558bed2353f8a416deea0cc5dac44fb
+SHA512 (pvr.iptvsimple-3.8.8.tar.gz) = 32c95c2e314eba3c4871c50fdc024be276874b790339c5b558425bb960080784533dcbadbab64c7b76b598c08bfca384fb3b1fa618447eaf30870e296d4c5e46
4 years, 10 months
[kodi-pvr-iptvsimple] Update to 3.8.8
by Mohamed ElMorabity
commit 648f2793f4309a227b0757cab7e34a8c34801f7c
Author: Mohamed El Morabity <melmorabity(a)fedoraproject.org>
Date: Thu Jan 9 16:42:28 2020 +0100
Update to 3.8.8
.gitignore | 2 ++
kodi-pvr-iptvsimple.spec | 23 ++++++++++-------------
sources | 2 +-
3 files changed, 13 insertions(+), 14 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 97af5bb..bfcd2ca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,5 @@
/kodi-pvr-iptvsimple-2a649d7.tar.gz
/pvr.iptvsimple-933a5c4.tar.gz
/pvr.iptvsimple-e8effad.tar.gz
+/pvr.iptvsimple-3.8.8.tar.gz
+/kodi-pvr-iptvsimple-3.8.8-rapidxml.patch
diff --git a/kodi-pvr-iptvsimple.spec b/kodi-pvr-iptvsimple.spec
index 2cc9863..a256480 100644
--- a/kodi-pvr-iptvsimple.spec
+++ b/kodi-pvr-iptvsimple.spec
@@ -1,23 +1,20 @@
-%global commit e8effadebc349d38f7b8a2c190baa72ebf74b6fe
-%global shortcommit %(c=%{commit}; echo ${c:0:7})
-%global commitdate 20180825
-
%global kodi_addon pvr.iptvsimple
%global kodi_version 18.0
+%global kodi_codename Leia
Name: kodi-%(tr "." "-" <<<%{kodi_addon})
# Use Epoch to manage upgrades from older upstream
# (https://github.com/opdenkamp/xbmc-pvr-addons/)
Epoch: 1
-Version: 3.5.3
-Release: 4%{?dist}
+Version: 3.8.8
+Release: 1%{?dist}
Summary: Simple IPTV PVR for Kodi
License: GPLv2+
URL: https://github.com/kodi-pvr/%{kodi_addon}/
-Source0: https://github.com/kodi-pvr/%{kodi_addon}/archive/%{shortcommit}/%{kodi_a...
-# Use external rapidxml library
-Patch0: %{name}-3.4.2-use_external_rapidxml.patch
+Source0: %{url}/archive/%{version}-%{kodi_codename}/%{kodi_addon}-%{version}.tar.gz
+# Fix rapidxml detection
+Patch0: %{name}-3.8.8-rapidxml.patch
BuildRequires: cmake
BuildRequires: gcc-c++
@@ -34,10 +31,7 @@ ExcludeArch: %{power64} ppc64le
%prep
-%autosetup -n %{kodi_addon}-%{commit} -p0
-
-# Drop bundled rapidxml library
-rm -r lib/rapidxml/
+%autosetup -n %{kodi_addon}-%{version}-%{kodi_codename} -p0
%build
@@ -56,6 +50,9 @@ rm -r lib/rapidxml/
%changelog
+* Thu Jan 09 2020 Mohamed El Morabity <melmorabity(a)fedoraproject.org> - 1:3.8.8-1
+- Update to 3.8.8
+
* Fri Aug 09 2019 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1:3.5.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
diff --git a/sources b/sources
index 3e55f71..617fcdd 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-1dca03ed2037133d5c1ebfa0795e3ee1 pvr.iptvsimple-e8effad.tar.gz
+SHA512 (kodi-pvr-iptvsimple-3.8.8-rapidxml.patch) = 3ffe4691f6db6931238fcb23752ebcd413c99d4e0987dc69ea93026b10a1281a67e57efd97508ccd769cbc10f7af44e38558bed2353f8a416deea0cc5dac44fb
4 years, 10 months