mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-16 06:07:06 +02:00
Added WebRTC building to Github CI.
This commit is contained in:
parent
a911f2c0c3
commit
bc7925985c
6 changed files with 172 additions and 25 deletions
53
.github/workflows/linux.yml
vendored
53
.github/workflows/linux.yml
vendored
|
@ -95,7 +95,8 @@ jobs:
|
|||
libgtk2.0-dev libice-dev libsm-dev libicu-dev libdrm-dev dh-autoreconf \
|
||||
autoconf automake build-essential libxml2-dev libass-dev libfreetype6-dev \
|
||||
libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \
|
||||
libvorbis-dev libxcb1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-screensaver0-dev \
|
||||
libvorbis-dev libxcb1-dev libxcb-image0-dev libxcb-shm0-dev \
|
||||
libxcb-screensaver0-dev libjpeg-dev \
|
||||
libxcb-xfixes0-dev libxcb-keysyms1-dev libxcb-icccm4-dev libatspi2.0-dev \
|
||||
libxcb-render-util0-dev libxcb-util0-dev libxcb-xkb-dev libxrender-dev \
|
||||
libasound-dev libpulse-dev libxcb-sync0-dev libxcb-randr0-dev libegl1-mesa-dev \
|
||||
|
@ -373,7 +374,7 @@ jobs:
|
|||
make -j$(nproc)
|
||||
sudo make DESTDIR="$LibrariesPath/openssl-cache" install_sw
|
||||
cd ..
|
||||
rm -rf $opensslDir
|
||||
# rm -rf $opensslDir # Keep this folder for WebRTC.
|
||||
- name: OpenSSL install.
|
||||
run: |
|
||||
cd $LibrariesPath
|
||||
|
@ -512,6 +513,54 @@ jobs:
|
|||
mkdir -p breakpad/out/Default/
|
||||
cp breakpad-cache/dump_syms breakpad/out/Default/dump_syms
|
||||
|
||||
- name: WebRTC cache.
|
||||
id: cache-webrtc
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ env.LibrariesPath }}/webrtc
|
||||
key: ${{ runner.OS }}-webrtc-${{ env.CACHE_KEY }}-${{ hashFiles('**/patches/webrtc/*') }}
|
||||
- name: WebRTC.
|
||||
if: steps.cache-webrtc.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cd $LibrariesPath
|
||||
|
||||
# # OpenSSL.
|
||||
# opensslDir=openssl_${OPENSSL_VER}
|
||||
# mkdir $opensslDir
|
||||
# cp -R $OPENSSL_PREFIX/ $opensslDir/
|
||||
# cd openssl-cache
|
||||
# cp $(find . | grep libssl.a) $LibrariesPath/$opensslDir
|
||||
# cp $(find . | grep libcrypto.a) $LibrariesPath/$opensslDir
|
||||
|
||||
# cd $LibrariesPath
|
||||
|
||||
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
||||
export PATH=`pwd`/depot_tools:$PATH
|
||||
|
||||
mkdir webrtc
|
||||
cd webrtc
|
||||
cp ../patches/webrtc/.gclient ./
|
||||
git clone https://github.com/open-webrtc-toolkit/owt-deps-webrtc src
|
||||
gclient sync --no-history
|
||||
|
||||
applyPatch() {
|
||||
cd $LibrariesPath/webrtc/$1
|
||||
git apply $LibrariesPath/patches/webrtc/$(basename $1).diff
|
||||
}
|
||||
applyPatch src
|
||||
applyPatch src/build
|
||||
applyPatch src/third_party
|
||||
applyPatch src/third_party/libsrtp
|
||||
|
||||
cd $LibrariesPath/webrtc/src
|
||||
../../patches/webrtc/configure.sh
|
||||
|
||||
ninja -C out/Debug webrtc
|
||||
|
||||
# Cleanup.
|
||||
../../patches/webrtc/cleanup_webrtc.sh
|
||||
rm -rf $LibrariesPath/openssl_${OPENSSL_VER}
|
||||
|
||||
- name: Telegram Desktop build.
|
||||
if: env.ONLY_CACHE == 'false'
|
||||
run: |
|
||||
|
|
39
.github/workflows/mac.yml
vendored
39
.github/workflows/mac.yml
vendored
|
@ -419,8 +419,8 @@ jobs:
|
|||
run: |
|
||||
cd $LibrariesPath
|
||||
|
||||
git clone git://code.qt.io/qt/qt5.git qt$QT
|
||||
cd qt$QT
|
||||
git clone git://code.qt.io/qt/qt5.git qt_$QT
|
||||
cd qt_$QT
|
||||
perl init-repository --module-subset=qtbase,qtimageformats
|
||||
git checkout v5.12.8
|
||||
git submodule update qtbase
|
||||
|
@ -449,6 +449,41 @@ jobs:
|
|||
make clean
|
||||
cp -r $QT_PREFIX $LibrariesPath/qt-cache
|
||||
|
||||
- name: WebRTC cache.
|
||||
id: cache-webrtc
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ env.LibrariesPath }}/webrtc
|
||||
key: ${{ runner.OS }}-webrtc-${{ env.CACHE_KEY }}-${{ hashFiles('**/patches/webrtc/*') }}
|
||||
- name: WebRTC.
|
||||
if: steps.cache-webrtc.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cd $LibrariesPath
|
||||
|
||||
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
||||
export PATH=`pwd`/depot_tools:$PATH
|
||||
|
||||
mkdir webrtc
|
||||
cd webrtc
|
||||
cp ../patches/webrtc/.gclient ./
|
||||
git clone https://github.com/open-webrtc-toolkit/owt-deps-webrtc src
|
||||
gclient sync --no-history
|
||||
|
||||
applyPatch() {
|
||||
cd $LibrariesPath/webrtc/$1
|
||||
git apply $LibrariesPath/patches/webrtc/$(basename $1).diff
|
||||
}
|
||||
applyPatch src
|
||||
applyPatch src/build
|
||||
applyPatch src/third_party
|
||||
applyPatch src/third_party/libsrtp
|
||||
|
||||
cd $LibrariesPath/webrtc/src
|
||||
../../patches/webrtc/configure.sh
|
||||
|
||||
ninja -C out/Debug webrtc
|
||||
../../patches/webrtc/cleanup_webrtc.sh
|
||||
|
||||
- name: Telegram Desktop build.
|
||||
if: env.ONLY_CACHE == 'false'
|
||||
run: |
|
||||
|
|
89
.github/workflows/win.yml
vendored
89
.github/workflows/win.yml
vendored
|
@ -60,6 +60,7 @@ jobs:
|
|||
VC: "call vcvars32.bat && cd Libraries"
|
||||
GIT: "https://github.com"
|
||||
QT: "5_12_8"
|
||||
QT_VER: "5.12.8"
|
||||
OPENSSL_VER: "1_1_1"
|
||||
UPLOAD_ARTIFACT: "false"
|
||||
ONLY_CACHE: "false"
|
||||
|
@ -121,6 +122,20 @@ jobs:
|
|||
cd Patches
|
||||
eval $checkoutCommit
|
||||
|
||||
- name: Find any version of Python 2.
|
||||
shell: cmd
|
||||
run: |
|
||||
echo Find any version of Python 2.
|
||||
for /D %%a in (C:\hostedtoolcache\windows\Python\2.*) do (
|
||||
SET PY2=%%a\x64
|
||||
)
|
||||
if [%PY2%] == [] (
|
||||
echo Python 2 is not found.
|
||||
exit 1
|
||||
)
|
||||
echo Found %PY2%.
|
||||
echo ::set-env name=PY2::%PY2%
|
||||
|
||||
- name: LZMA.
|
||||
shell: cmd
|
||||
run: |
|
||||
|
@ -214,16 +229,6 @@ jobs:
|
|||
run: |
|
||||
cd %LibrariesPath%
|
||||
|
||||
echo Find any version of Python 2.
|
||||
for /D %%a in (C:\hostedtoolcache\windows\Python\2.*) do (
|
||||
SET PY2=%%a\x64
|
||||
)
|
||||
IF [%PY2%] == [] (
|
||||
echo Python 2 is not found.
|
||||
exit 1
|
||||
)
|
||||
echo Found %PY2%.
|
||||
|
||||
git clone %GIT%/telegramdesktop/gyp.git
|
||||
cd gyp
|
||||
SET PATH=%PY2%;%cd%;%PATH%
|
||||
|
@ -293,7 +298,7 @@ jobs:
|
|||
id: cache-qt
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ env.LibrariesPath }}/Qt-5.12.8
|
||||
path: ${{ env.LibrariesPath }}/Qt-${{ env.QT_VER }}
|
||||
key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_12_8/*') }}
|
||||
- name: Configure Qt 5.12.8.
|
||||
if: steps.cache-qt.outputs.cache-hit != 'true'
|
||||
|
@ -304,7 +309,7 @@ jobs:
|
|||
git clone git://code.qt.io/qt/qt5.git qt_%QT%
|
||||
cd qt_%QT%
|
||||
perl init-repository --module-subset=qtbase,qtimageformats
|
||||
git checkout v5.12.8
|
||||
git checkout v%QT_VER%
|
||||
git submodule update qtbase
|
||||
git submodule update qtimageformats
|
||||
cd qtbase
|
||||
|
@ -315,7 +320,7 @@ jobs:
|
|||
SET LIBS=libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib
|
||||
|
||||
configure ^
|
||||
-prefix "%LibrariesPath%\Qt-5.12.8" ^
|
||||
-prefix "%LibrariesPath%\Qt-%QT_VER%" ^
|
||||
-debug ^
|
||||
-force-debug-info ^
|
||||
-opensource ^
|
||||
|
@ -343,6 +348,64 @@ jobs:
|
|||
cd ..
|
||||
rmdir /S /Q qt_%QT%
|
||||
|
||||
- name: WebRTC cache.
|
||||
id: cache-webrtc
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ env.LibrariesPath }}/webrtc
|
||||
key: ${{ runner.OS }}-webrtc-2-${{ env.CACHE_KEY }}-${{ hashFiles('**/patches/webrtc/*') }}
|
||||
- name: WebRTC.
|
||||
if: steps.cache-webrtc.outputs.cache-hit != 'true'
|
||||
shell: cmd
|
||||
run: |
|
||||
%VC%
|
||||
|
||||
# Qt libjpeg.
|
||||
mkdir qt_%QT%
|
||||
cd qt_%QT%
|
||||
git clone -b %QT_VER% https://github.com/qt/qtbase
|
||||
|
||||
move qtbase\src\3rdparty\libjpeg ..
|
||||
cd ..
|
||||
dir
|
||||
rmdir /S /Q qt_%QT%
|
||||
mkdir qt_%QT%\qtbase\src\3rdparty\
|
||||
move libjpeg qt_%QT%\qtbase\src\3rdparty\
|
||||
|
||||
# Depot tools.
|
||||
cd %LibrariesPath%
|
||||
|
||||
curl -O https://storage.googleapis.com/chrome-infra/depot_tools.zip
|
||||
7z x depot_tools.zip
|
||||
cd depot_tools
|
||||
SET PATH=%PY2%;%cd%;%PATH%
|
||||
SET DEPOT_TOOLS_WIN_TOOLCHAIN=0
|
||||
|
||||
# WebRTC.
|
||||
cd %LibrariesPath%
|
||||
|
||||
mkdir webrtc
|
||||
cd webrtc
|
||||
copy ..\patches\webrtc\.gclient .gclient
|
||||
git clone https://github.com/open-webrtc-toolkit/owt-deps-webrtc src
|
||||
gclient sync --no-history
|
||||
cd src
|
||||
git apply ..\..\patches\webrtc\src.diff
|
||||
cd build
|
||||
git apply ..\..\..\patches\webrtc\build.diff
|
||||
cd ..\third_party
|
||||
git apply ..\..\..\patches\webrtc\third_party.diff
|
||||
cd libsrtp
|
||||
git apply ..\..\..\..\patches\webrtc\libsrtp.diff
|
||||
cd ..\..
|
||||
..\..\patches\webrtc\configure.bat
|
||||
ninja -C out/Debug webrtc
|
||||
|
||||
# Cleanup.
|
||||
..\..\patches\webrtc\cleanup_webrtc.bat
|
||||
cd %LibrariesPath%
|
||||
rmdir /S /Q qt_%QT%
|
||||
|
||||
- name: Read defines.
|
||||
shell: bash
|
||||
run: |
|
||||
|
|
|
@ -54,7 +54,7 @@ Go to ***BuildPath*** and run
|
|||
|
||||
git clone https://github.com/desktop-app/patches.git
|
||||
cd patches
|
||||
git checkout deeea06
|
||||
git checkout 08351e3
|
||||
cd ../
|
||||
|
||||
git clone https://github.com/xiph/opus
|
||||
|
@ -280,7 +280,7 @@ Go to ***BuildPath*** and run
|
|||
cd webrtc
|
||||
cp ../patches/webrtc/.gclient ./
|
||||
git clone https://github.com/open-webrtc-toolkit/owt-deps-webrtc src
|
||||
gclient sync
|
||||
gclient sync --no-history
|
||||
cd src
|
||||
git apply ../../patches/webrtc/src.diff
|
||||
cd build
|
||||
|
|
|
@ -34,7 +34,7 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
|
|||
cd ThirdParty
|
||||
git clone https://github.com/desktop-app/patches.git
|
||||
cd patches
|
||||
git checkout deeea06
|
||||
git checkout 08351e3
|
||||
cd ../
|
||||
git clone https://chromium.googlesource.com/external/gyp
|
||||
cd gyp
|
||||
|
@ -67,7 +67,7 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
|
|||
|
||||
git clone https://github.com/desktop-app/patches.git
|
||||
cd patches
|
||||
git checkout deeea06
|
||||
git checkout 08351e3
|
||||
cd ..
|
||||
|
||||
git clone https://github.com/desktop-app/lzma.git
|
||||
|
@ -169,7 +169,7 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
|
|||
cd webrtc
|
||||
copy ..\patches\webrtc\.gclient .gclient
|
||||
git clone https://github.com/open-webrtc-toolkit/owt-deps-webrtc src
|
||||
gclient sync
|
||||
gclient sync --no-history
|
||||
cd src
|
||||
git apply ../../patches/webrtc/src.diff
|
||||
cd build
|
||||
|
|
|
@ -29,7 +29,7 @@ Go to ***BuildPath*** and run
|
|||
|
||||
git clone https://github.com/desktop-app/patches.git
|
||||
cd patches
|
||||
git checkout deeea06
|
||||
git checkout 08351e3
|
||||
cd ../
|
||||
git clone https://chromium.googlesource.com/external/gyp
|
||||
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
||||
|
@ -47,7 +47,7 @@ Go to ***BuildPath*** and run
|
|||
|
||||
git clone https://github.com/desktop-app/patches.git
|
||||
cd patches
|
||||
git checkout deeea06
|
||||
git checkout 08351e3
|
||||
cd ..
|
||||
|
||||
git clone https://git.tukaani.org/xz.git
|
||||
|
@ -276,7 +276,7 @@ Go to ***BuildPath*** and run
|
|||
cd webrtc
|
||||
cp ../patches/webrtc/.gclient ./
|
||||
git clone https://github.com/open-webrtc-toolkit/owt-deps-webrtc src
|
||||
gclient sync
|
||||
gclient sync --no-history
|
||||
cd src
|
||||
git apply ../../patches/webrtc/src.diff
|
||||
cd build
|
||||
|
|
Loading…
Add table
Reference in a new issue