diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index a083df13a3..f659e9e227 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -71,7 +71,7 @@ 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 libenchant-dev libxcb1-dev libxcb-image0-dev libxcb-shm0-dev \ + libvorbis-dev libxcb1-dev libxcb-image0-dev libxcb-shm0-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 \ @@ -342,14 +342,15 @@ jobs: run: | cd $LibrariesPath + opensslDir=openssl_${OPENSSL_VER} git clone -b OpenSSL_${OPENSSL_VER}-stable --depth=1 \ - $GIT/openssl/openssl openssl_${OPENSSL_VER} - cd openssl_${OPENSSL_VER} + $GIT/openssl/openssl $opensslDir + cd $opensslDir ./config --prefix=$LibrariesPath/openssl-cache make -j$(nproc) - sudo make install + sudo make install_sw cd .. - rm -rf openssl_${OPENSSL_VER} + rm -rf $opensslDir - name: OpenSSL install. run: | cd $LibrariesPath diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml index 9e29fb2553..7713139ed2 100644 --- a/.github/workflows/mac.yml +++ b/.github/workflows/mac.yml @@ -26,11 +26,11 @@ jobs: GIT: "https://github.com" PREFIX: "/usr/local/macos" MACOSX_DEPLOYMENT_TARGET: "10.12" - XZ: "xz-5.0.5" + XZ: "xz-5.2.4" QT: "5_12_5" OPENSSL_VER: "1_1_1" QT_PREFIX: "/usr/local/desktop-app/Qt-5.12.5" - LIBICONV_VER: "libiconv-1.15" + LIBICONV_VER: "libiconv-1.16" UPLOAD_ARTIFACT: "false" ONLY_CACHE: "false" MANUAL_CACHING: "2" diff --git a/README.md b/README.md index 2918db6eea..b474bd8b20 100644 --- a/README.md +++ b/README.md @@ -48,8 +48,8 @@ The source code is published under GPLv3 with OpenSSL exception, the license is ## Build instructions * [Visual Studio 2019][msvc] -* [Xcode 10][xcode] -* [GYP/CMake on GNU/Linux][cmake] +* [Xcode 11][xcode] +* [CMake on GNU/Linux][cmake] [//]: # (LINKS) [telegram]: https://telegram.org diff --git a/docs/building-cmake.md b/docs/building-cmake.md index af59c2d305..65ede9bfcf 100644 --- a/docs/building-cmake.md +++ b/docs/building-cmake.md @@ -1,4 +1,4 @@ -## Build instructions for GYP/CMake under Ubuntu 14.04 +## Build instructions for CMake under Ubuntu 14.04 ### Prepare folder @@ -17,7 +17,7 @@ You will need GCC 8 installed. To install them and all the required dependencies 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 libenchant-dev libxcb1-dev libxcb-image0-dev libxcb-shm0-dev \ + libvorbis-dev libxcb1-dev libxcb-image0-dev libxcb-shm0-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 \ @@ -214,7 +214,7 @@ Go to ***BuildPath*** and run git checkout OpenSSL_1_1_1-stable ./config --prefix=/usr/local/desktop-app/openssl-1.1.1 make $MAKE_THREADS_CNT - sudo make install + sudo make install_sw cd .. git clone https://github.com/xkbcommon/libxkbcommon.git diff --git a/docs/building-qtcreator.md b/docs/building-qtcreator.md index aa592148f4..71fe151e17 100644 --- a/docs/building-qtcreator.md +++ b/docs/building-qtcreator.md @@ -30,7 +30,7 @@ By git – in Terminal go to **/home/user/TBuild** and run Install dev libraries - sudo apt-get install libexif-dev liblzma-dev libz-dev libssl-dev libappindicator-dev libunity-dev libenchant-dev + sudo apt-get install libexif-dev liblzma-dev libz-dev libssl-dev libappindicator-dev libunity-dev #### zlib 1.2.8 diff --git a/docs/building-xcode.md b/docs/building-xcode.md index 1bb348427c..fba6b3064c 100644 --- a/docs/building-xcode.md +++ b/docs/building-xcode.md @@ -1,4 +1,4 @@ -## Build instructions for Xcode 10.1 +## Build instructions for Xcode 11 ### Prepare folder @@ -8,18 +8,14 @@ Choose a folder for the future build, for example **/Users/user/TBuild**. It wil You will require **api_id** and **api_hash** to access the Telegram API servers. To learn how to obtain them [click here][api_credentials]. -### Download libraries - -Download [**xz-5.0.5**](http://tukaani.org/xz/xz-5.0.5.tar.gz) and unpack to ***BuildPath*/Libraries/macos/xz-5.0.5** - -Download [**libiconv-1.15**](http://www.gnu.org/software/libiconv/#downloading) and unpack to ***BuildPath*/Libraries/macos/libiconv-1.15** - ### Clone source code and prepare libraries Go to ***BuildPath*** and run MAKE_THREADS_CNT=-j8 MACOSX_DEPLOYMENT_TARGET=10.12 + UNGUARDED="-Werror=unguarded-availability-new" + MIN_VER="-mmacosx-version-min=10.12" ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew install automake cmake fdk-aac git lame libass libtool libvorbis libvpx ninja opus sdl shtool texi2html theora wget x264 xvid yasm pkg-config gnu-tar @@ -45,6 +41,7 @@ Go to ***BuildPath*** and run sudo ./setup.py install cd ../.. + mkdir -p Libraries/macos cd Libraries/macos LibrariesPath=`pwd` @@ -54,15 +51,19 @@ Go to ***BuildPath*** and run cd .. git clone --branch 0.10.0 https://github.com/ericniebler/range-v3 - cd xz-5.0.5 - CFLAGS="-mmacosx-version-min=10.12" LDFLAGS="-mmacosx-version-min=10.12" ./configure --prefix=/usr/local/macos + xz_ver=5.2.4 + wget https://tukaani.org/xz/xz-$xz_ver.tar.gz + tar -xvzf xz-$xz_ver.tar.gz + rm xz-$xz_ver.tar.gz + cd xz-$xz_ver + CFLAGS="$MIN_VER" LDFLAGS="$MIN_VER" ./configure --prefix=/usr/local/macos make $MAKE_THREADS_CNT sudo make install cd .. git clone https://github.com/desktop-app/zlib.git cd zlib - CFLAGS="-mmacosx-version-min=10.12 -Werror=unguarded-availability-new" LDFLAGS="-mmacosx-version-min=10.12" ./configure --prefix=/usr/local/macos + CFLAGS="$MIN_VER $UNGUARDED" LDFLAGS="$MIN_VER" ./configure --prefix=/usr/local/macos make $MAKE_THREADS_CNT sudo make install cd .. @@ -70,7 +71,7 @@ Go to ***BuildPath*** and run git clone https://github.com/openssl/openssl openssl_1_1_1 cd openssl_1_1_1 git checkout OpenSSL_1_1_1-stable - ./Configure --prefix=/usr/local/macos darwin64-x86_64-cc -static -mmacosx-version-min=10.12 + ./Configure --prefix=/usr/local/macos darwin64-x86_64-cc -static $MIN_VER make build_libs $MAKE_THREADS_CNT cd .. @@ -78,13 +79,17 @@ Go to ***BuildPath*** and run cd opus git checkout v1.3 ./autogen.sh - CFLAGS="-mmacosx-version-min=10.12 -Werror=unguarded-availability-new" CPPFLAGS="-mmacosx-version-min=10.12 -Werror=unguarded-availability-new" LDFLAGS="-mmacosx-version-min=10.12" ./configure --prefix=/usr/local/macos + CFLAGS="$MIN_VER $UNGUARDED" CPPFLAGS="$MIN_VER $UNGUARDED" LDFLAGS="$MIN_VER" ./configure --prefix=/usr/local/macos make $MAKE_THREADS_CNT sudo make install cd .. - cd libiconv-1.15 - CFLAGS="-mmacosx-version-min=10.12 -Werror=unguarded-availability-new" CPPFLAGS="-mmacosx-version-min=10.12 -Werror=unguarded-availability-new" LDFLAGS="-mmacosx-version-min=10.12" ./configure --enable-static --prefix=/usr/local/macos + libiconv_ver=1.16 + wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-$libiconv_ver.tar.gz + tar -xvzf libiconv-$libiconv_ver.tar.gz + rm libiconv-$libiconv_ver.tar.gz + cd libiconv-$libiconv_ver + CFLAGS="$MIN_VER $UNGUARDED" CPPFLAGS="$MIN_VER $UNGUARDED" LDFLAGS="$MIN_VER" ./configure --enable-static --prefix=/usr/local/macos make $MAKE_THREADS_CNT sudo make install cd .. @@ -97,9 +102,9 @@ Go to ***BuildPath*** and run PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/usr/X11/lib/pkgconfig ./configure --prefix=/usr/local/macos \ - --extra-cflags="-mmacosx-version-min=10.12 -Werror=unguarded-availability-new" \ - --extra-cxxflags="-mmacosx-version-min=10.12 -Werror=unguarded-availability-new" \ - --extra-ldflags="-mmacosx-version-min=10.12" \ + --extra-cflags="$MIN_VER $UNGUARDED" \ + --extra-cxxflags="$MIN_VER $UNGUARDED" \ + --extra-ldflags="$MIN_VER" \ --enable-protocol=file --enable-libopus \ --disable-programs \ --disable-doc \ @@ -205,7 +210,7 @@ Go to ***BuildPath*** and run cd openal-soft git checkout v1.19 cd build - CFLAGS='-Werror=unguarded-availability-new' CPPFLAGS='-Werror=unguarded-availability-new' cmake -D CMAKE_INSTALL_PREFIX:PATH=/usr/local/macos -D ALSOFT_EXAMPLES=OFF -D LIBTYPE:STRING=STATIC -D CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.12 .. + CFLAGS=$UNGUARDED CPPFLAGS=$UNGUARDED cmake -D CMAKE_INSTALL_PREFIX:PATH=/usr/local/macos -D ALSOFT_EXAMPLES=OFF -D LIBTYPE:STRING=STATIC -D CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.12 .. make $MAKE_THREADS_CNT sudo make install cd ../.. @@ -241,7 +246,19 @@ Go to ***BuildPath*** and run git apply ../../patches/qtbase_5_12_5.diff cd .. - ./configure -prefix "/usr/local/desktop-app/Qt-5.12.5" -debug-and-release -force-debug-info -opensource -confirm-license -static -opengl desktop -no-openssl -securetransport -nomake examples -nomake tests -platform macx-clang + ./configure -prefix "/usr/local/desktop-app/Qt-5.12.5" \ + -debug-and-release \ + -force-debug-info \ + -opensource \ + -confirm-license \ + -static \ + -opengl desktop \ + -no-openssl \ + -securetransport \ + -nomake examples \ + -nomake tests \ + -platform macx-clang + make $MAKE_THREADS_CNT sudo make install cd ..