mirror of https://github.com/qTox/qTox.git
84 changed files with 3555 additions and 2665 deletions
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
name: 'Build docker image' |
||||
inputs: |
||||
docker_image_name: |
||||
description: "Name of docker image" |
||||
required: True |
||||
runs: |
||||
using: 'composite' |
||||
steps: |
||||
- uses: docker/setup-buildx-action@master |
||||
- name: Setup buildx cache |
||||
uses: actions/cache@v2 |
||||
with: |
||||
path: | |
||||
/tmp/.buildx-cache |
||||
key: ${{ runner.os }}-${{ inputs.docker_image_name }}-${{ github.sha }} |
||||
restore-keys: | |
||||
${{ runner.os }}-${{ inputs.docker_image_name }}- |
||||
- name: Build docker image |
||||
shell: bash |
||||
run: docker buildx bake --set *.cache-to=type=local,dest=/tmp/.buildx-cache-new,mode=max --set *.cache-from=type=local,src=/tmp/.buildx-cache -f docker-compose.yml ${{ inputs.docker_image_name }} |
||||
- name: Replace buildx cache |
||||
shell: bash |
||||
run: | |
||||
rm -fr /tmp/.buildx-cache |
||||
mv /tmp/.buildx-cache-new /tmp/.buildx-cache |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
name: 'Load docker image' |
||||
inputs: |
||||
docker_image_name: |
||||
description: "Name of docker image" |
||||
required: True |
||||
runs: |
||||
using: 'composite' |
||||
steps: |
||||
- uses: docker/setup-buildx-action@master |
||||
- name: Setup buildx cache |
||||
uses: actions/cache@v2 |
||||
with: |
||||
path: | |
||||
/tmp/.buildx-cache |
||||
key: ${{ runner.os }}-${{ inputs.docker_image_name }}-${{ github.sha }} |
||||
- name: Load cached docker images |
||||
shell: bash |
||||
run: docker buildx bake --set *.cache-from=type=local,src=/tmp/.buildx-cache -f docker-compose.yml ${{ inputs.docker_image_name }} --load |
@ -0,0 +1,77 @@
@@ -0,0 +1,77 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
usage() { |
||||
echo "$0 [--minimal|--full] --build-type [Debug|Release]" |
||||
echo "Build script to build/test qtox from a CI environment." |
||||
echo "--minimal or --full are requied, --build-type is required." |
||||
} |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--minimal) MINIMAL=1 ; shift ;; |
||||
--full) MINIMAL=0; shift ;; |
||||
--build-type) BUILD_TYPE=$2; shift 2 ;; |
||||
--help|-h) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1 ;; |
||||
esac |
||||
done |
||||
|
||||
if [ -z "${MINIMAL+x}" ]; then |
||||
echo "Please build either minimal or full version of qtox" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
if [ -z "${BUILD_TYPE+x}" ]; then |
||||
echo "Please spedify build type" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
SRCDIR=/qtox |
||||
BUILDDIR=/qtox/build |
||||
|
||||
rm -fr "$BUILDDIR" |
||||
mkdir -p "$BUILDDIR" |
||||
cd "$BUILDDIR" |
||||
|
||||
if [ $MINIMAL -eq 1 ]; then |
||||
cmake "$SRCDIR" \ |
||||
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \ |
||||
-DSMILEYS=DISABLED \ |
||||
-DSTRICT_OPTIONS=ON \ |
||||
-DSPELL_CHECK=OFF |
||||
else |
||||
cmake "$SRCDIR" \ |
||||
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \ |
||||
-DUPDATE_CHECK=ON \ |
||||
-DSTRICT_OPTIONS=ON \ |
||||
-DCODE_COVERAGE=ON \ |
||||
-DDESKTOP_NOTIFICATIONS=ON |
||||
fi |
||||
|
||||
cmake --build . -- -j $(nproc) |
||||
|
||||
cmake --build . --target test |
||||
|
||||
echo "Checking whether files processed by CMake have been committed..." |
||||
echo "" |
||||
# ↓ `0` exit status only if there are no changes |
||||
git diff --exit-code |
@ -1,229 +0,0 @@
@@ -1,229 +0,0 @@
|
||||
#!/bin/bash |
||||
# |
||||
# Copyright © 2015-2019 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
# |
||||
|
||||
# stop as soon as one of steps will fail |
||||
set -e -o pipefail |
||||
|
||||
sudo apt-get update -qq |
||||
|
||||
# install needed Qt, OpenAL, opus, qrencode, GTK tray deps, sqlcipher |
||||
# `--force-yes` since we don't care about GPG failing to work with short IDs |
||||
sudo apt-get install -y --force-yes \ |
||||
automake \ |
||||
autotools-dev \ |
||||
build-essential \ |
||||
check \ |
||||
checkinstall \ |
||||
libexif-dev \ |
||||
libgdk-pixbuf2.0-dev \ |
||||
libglib2.0-dev \ |
||||
libgtk2.0-dev \ |
||||
libkdeui5 \ |
||||
libopenal-dev \ |
||||
libopus-dev \ |
||||
libqrencode-dev \ |
||||
libsqlcipher-dev \ |
||||
libtool \ |
||||
libvpx-dev \ |
||||
libxss-dev qrencode \ |
||||
qt5-default \ |
||||
qttools5-dev-tools \ |
||||
qttools5-dev \ |
||||
libqt5opengl5-dev \ |
||||
libqt5svg5-dev \ |
||||
pkg-config || yes |
||||
|
||||
# ffmpeg |
||||
if [ ! -e "libs" ]; then mkdir libs; fi |
||||
if [ ! -e "ffmpeg" ]; then mkdir ffmpeg; fi |
||||
# |
||||
cd libs/ |
||||
export PREFIX_DIR="$PWD" |
||||
# |
||||
cd ../ffmpeg |
||||
curl -o ffmpeg.bz2 http://ffmpeg.org/releases/ffmpeg-2.8.5.tar.bz2 |
||||
tar xf ffmpeg.bz2 |
||||
rm ffmpeg.bz2 |
||||
cd ffmpeg* |
||||
# enabled: |
||||
# v4l2 -> webcam |
||||
# x11grab_xcb -> screen grabbing |
||||
# demuxers, decoders and parsers needed for webcams: |
||||
# mjpeg, h264 |
||||
|
||||
CC="ccache $CC" CXX="ccache $CXX" ./configure --prefix="$PREFIX_DIR" \ |
||||
--disable-avfilter \ |
||||
--disable-avresample \ |
||||
--disable-bzlib \ |
||||
--disable-bsfs \ |
||||
--disable-dct \ |
||||
--disable-decoders \ |
||||
--disable-demuxers \ |
||||
--disable-doc \ |
||||
--disable-dwt \ |
||||
--disable-encoders \ |
||||
--disable-faan \ |
||||
--disable-fft \ |
||||
--disable-filters \ |
||||
--disable-iconv \ |
||||
--disable-indevs \ |
||||
--disable-lsp \ |
||||
--disable-lzma \ |
||||
--disable-lzo \ |
||||
--disable-mdct \ |
||||
--disable-muxers \ |
||||
--disable-network \ |
||||
--disable-outdevs \ |
||||
--disable-parsers \ |
||||
--disable-postproc \ |
||||
--disable-programs \ |
||||
--disable-protocols \ |
||||
--disable-rdft \ |
||||
--disable-sdl \ |
||||
--disable-static \ |
||||
--disable-swresample \ |
||||
--disable-swscale-alpha \ |
||||
--disable-vaapi \ |
||||
--disable-vdpau \ |
||||
--disable-xlib \ |
||||
--disable-yasm \ |
||||
--disable-zlib \ |
||||
--enable-shared \ |
||||
--enable-memalign-hack \ |
||||
--enable-indev=v4l2 \ |
||||
--enable-indev=x11grab_xcb \ |
||||
--enable-demuxer=h264 \ |
||||
--enable-demuxer=mjpeg \ |
||||
--enable-parser=h264 \ |
||||
--enable-parser=mjpeg \ |
||||
--enable-decoder=h264 \ |
||||
--enable-decoder=mjpeg |
||||
|
||||
CC="ccache $CC" CXX="ccache $CXX" make -j$(nproc) |
||||
make install |
||||
cd ../../ |
||||
# libsodium |
||||
git clone git://github.com/jedisct1/libsodium.git |
||||
cd libsodium |
||||
git checkout tags/1.0.18 |
||||
./autogen.sh |
||||
CC="ccache $CC" CXX="ccache $CXX" ./configure |
||||
CC="ccache $CC" CXX="ccache $CXX" make -j$(nproc) |
||||
sudo checkinstall --install --pkgname libsodium --pkgversion 1.0.8 --nodoc -y |
||||
sudo ldconfig |
||||
cd .. |
||||
|
||||
# toxcore |
||||
git clone --branch v0.2.13 --depth=1 https://github.com/toktok/c-toxcore.git toxcore |
||||
cd toxcore |
||||
mkdir build-cmake |
||||
cd build-cmake |
||||
CC="ccache $CC" CXX="ccache $CXX" cmake .. |
||||
make -j$(nproc) > /dev/null |
||||
sudo make install |
||||
echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf |
||||
sudo ldconfig |
||||
cd ../.. |
||||
|
||||
# filteraudio |
||||
git clone --branch v0.0.1 --depth=1 https://github.com/irungentoo/filter_audio filteraudio |
||||
cd filteraudio |
||||
CC="ccache $CC" CXX="ccache $CXX" sudo make install -j$(nproc) |
||||
sudo ldconfig |
||||
cd .. |
||||
|
||||
# toxext |
||||
git clone --branch v0.0.3 --depth=1 https://github.com/toxext/toxext toxext |
||||
cd toxext |
||||
mkdir build |
||||
cd build |
||||
cmake .. |
||||
make -j$(nproc) |
||||
sudo make install |
||||
cd ../../ |
||||
|
||||
# toxext_messages |
||||
git clone --branch v0.0.3 --depth=1 https://github.com/toxext/tox_extension_messages tox_extension_messages |
||||
cd tox_extension_messages |
||||
mkdir build |
||||
cd build |
||||
cmake .. |
||||
make -j$(nproc) |
||||
sudo make install |
||||
cd ../../ |
||||
|
||||
# needed, otherwise ffmpeg doesn't get detected |
||||
export PKG_CONFIG_PATH="$PWD/libs/lib/pkgconfig" |
||||
|
||||
$CC --version |
||||
$CXX --version |
||||
|
||||
build_qtox() { |
||||
bdir() { |
||||
cd $BUILDDIR |
||||
make -j$(nproc) |
||||
# check if `qtox` file has been made, is non-empty and is an executable |
||||
[[ -s qtox ]] && [[ -x qtox ]] |
||||
cd - |
||||
} |
||||
|
||||
local BUILDDIR=_build |
||||
|
||||
# first build qTox without support for optional dependencies |
||||
echo '*** BUILDING "MINIMAL" VERSION ***' |
||||
cmake -H. -B"$BUILDDIR" \ |
||||
-DSMILEYS=DISABLED \ |
||||
-DSTRICT_OPTIONS=ON \ |
||||
-DSPELL_CHECK=OFF |
||||
|
||||
bdir |
||||
|
||||
# clean it up, and build normal version |
||||
rm -rf "$BUILDDIR" |
||||
|
||||
echo '*** BUILDING "FULL" VERSION ***' |
||||
cmake -H. -B"$BUILDDIR" \ |
||||
-DUPDATE_CHECK=ON \ |
||||
-DSTRICT_OPTIONS=ON \ |
||||
-DCODE_COVERAGE=ON |
||||
bdir |
||||
} |
||||
|
||||
test_qtox() { |
||||
local BUILDDIR=_build |
||||
|
||||
cd $BUILDDIR |
||||
make test |
||||
cd - |
||||
} |
||||
|
||||
# CMake is supposed to process files, e.g. ones with versions. |
||||
# Check whether those changes have been committed. |
||||
check_if_differs() { |
||||
echo "Checking whether files processed by CMake have been committed..." |
||||
echo "" |
||||
# ↓ `0` exit status only if there are no changes |
||||
git diff --exit-code |
||||
} |
||||
|
||||
main() { |
||||
build_qtox |
||||
test_qtox |
||||
check_if_differs |
||||
} |
||||
main |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
# Create lcov report |
||||
lcov --directory /qtox/build --capture --output-file coverage.info |
||||
# Filter out system headers and test sources |
||||
lcov --remove coverage.info '/usr/*' '*/test/*' '*/*_autogen/*' --output-file coverage.info |
@ -1,101 +0,0 @@
@@ -1,101 +0,0 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
# MIT License |
||||
# |
||||
# Copyright © 2019 by The qTox Project Contributors |
||||
# |
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
# of this software and associated documentation files (the "Software"), to deal |
||||
# in the Software without restriction, including without limitation the rights |
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
# copies of the Software, and to permit persons to whom the Software is |
||||
# furnished to do so, subject to the following conditions: |
||||
# |
||||
# The above copyright notice and this permission notice shall be included in |
||||
# all copies or substantial portions of the Software. |
||||
# |
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
||||
# THE SOFTWARE. |
||||
|
||||
# usage: ./appimage/build-appimage.sh [Debug] |
||||
# |
||||
# If [Debug] is set to "Debug" the container will run in interactive mode and |
||||
# stay open to poke around in the filesystem. |
||||
|
||||
readonly DEBUG="$1" |
||||
|
||||
# Set this to True to upload the PR version of the |
||||
# AppImage to transfer.sh for testing. |
||||
readonly UPLOAD_PR_APPIMAGE="False" |
||||
|
||||
# Fail out on error |
||||
set -exo pipefail |
||||
|
||||
# This script should be run from the root of the repository |
||||
|
||||
if [ ! -f ./appimage/build-appimage.sh ]; then |
||||
echo "" |
||||
echo "You are attempting to run the build-appimage.sh from a wrong directory." |
||||
echo "If you wish to run this script, you'll have to have" |
||||
echo "the repository root directory as the working directory." |
||||
echo "" |
||||
exit 1 |
||||
fi |
||||
|
||||
mkdir -p ./output |
||||
|
||||
if [ "$DEBUG" == "Debug" ] |
||||
then |
||||
echo "Execute: /qtox/appimage/build.sh to start the build script" |
||||
echo "Execute: exit to leave the container" |
||||
|
||||
docker run --rm -it \ |
||||
-v $PWD:/qtox \ |
||||
-v $PWD/output:/output \ |
||||
debian:stretch-slim \ |
||||
/bin/bash |
||||
else |
||||
docker run --rm \ |
||||
-e CIRP_GITHUB_REPO_SLUG \ |
||||
-e TRAVIS_EVENT_TYPE \ |
||||
-e TRAVIS_COMMIT \ |
||||
-e TRAVIS_TAG \ |
||||
-v $PWD:/qtox \ |
||||
-v $PWD/output:/output \ |
||||
debian:stretch-slim \ |
||||
/bin/bash -c "/qtox/appimage/build.sh" |
||||
fi |
||||
|
||||
|
||||
# use the version number in the name when building a tag on Travis CI |
||||
if [ -n "$TRAVIS_TAG" ] |
||||
then |
||||
# the aitool should have written the appimage in the same name |
||||
# as below so no need to move things , it should have also written |
||||
# the .zsync meta file as the given name below with .zsync |
||||
# extension. |
||||
readonly OUTFILE=./output/qTox-"$TRAVIS_TAG".x86_64.AppImage |
||||
|
||||
# just check if the files are in the right place |
||||
eval "ls $OUTFILE" |
||||
eval "ls $OUTFILE.zsync" |
||||
|
||||
sha256sum "$OUTFILE" > "$OUTFILE".sha256 |
||||
else |
||||
if [ "$UPLOAD_PR_APPIMAGE" == "True" ] |
||||
then |
||||
# upload PR builds to test them. |
||||
echo "Uploading AppImage to transfer.sh" |
||||
curl --upload-file "./output/qTox-$TRAVIS_COMMIT-x86_64.AppImage" \ |
||||
"https://transfer.sh/qTox-$TRAVIS_COMMIT-x86_64.AppImage" > ./upload |
||||
echo "$(cat ./upload)" |
||||
echo -n "$(cat ./upload)\\n" >> ./uploaded-to |
||||
rm -rf ./upload ./uploaded-to |
||||
sha256sum "./output/qTox-$TRAVIS_COMMIT-x86_64.AppImage" |
||||
fi |
||||
fi |
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
"$(dirname "$0")"/download/download_aitool.sh |
||||
|
||||
cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTING=ON \ |
||||
-DAPPIMAGEKIT_PACKAGE_DEBS=ON |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,99 @@
@@ -0,0 +1,99 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build ffmpeg for the windows cross compiling environment" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
ARCH="" |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "$ARCH" != "i686" ] && [ "$ARCH" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
"$(dirname "$0")"/download/download_ffmpeg.sh |
||||
|
||||
if [ "${ARCH}" == "x86_64" ]; then |
||||
FFMPEG_ARCH="x86_64" |
||||
else |
||||
FFMPEG_ARCH="x86" |
||||
fi |
||||
|
||||
./configure --arch=${FFMPEG_ARCH} \ |
||||
--enable-gpl \ |
||||
--enable-shared \ |
||||
--disable-static \ |
||||
--prefix=/windows/ \ |
||||
--target-os="mingw32" \ |
||||
--cross-prefix="${ARCH}-w64-mingw32-" \ |
||||
--pkg-config="pkg-config" \ |
||||
--extra-cflags="-O2 -g0" \ |
||||
--disable-debug \ |
||||
--disable-programs \ |
||||
--disable-protocols \ |
||||
--disable-doc \ |
||||
--disable-sdl2 \ |
||||
--disable-avfilter \ |
||||
--disable-avresample \ |
||||
--disable-filters \ |
||||
--disable-iconv \ |
||||
--disable-network \ |
||||
--disable-muxers \ |
||||
--disable-postproc \ |
||||
--disable-swresample \ |
||||
--disable-swscale-alpha \ |
||||
--disable-dct \ |
||||
--disable-dwt \ |
||||
--disable-lsp \ |
||||
--disable-lzo \ |
||||
--disable-mdct \ |
||||
--disable-rdft \ |
||||
--disable-fft \ |
||||
--disable-faan \ |
||||
--disable-vaapi \ |
||||
--disable-vdpau \ |
||||
--disable-zlib \ |
||||
--disable-xlib \ |
||||
--disable-bzlib \ |
||||
--disable-lzma \ |
||||
--disable-encoders \ |
||||
--disable-decoders \ |
||||
--disable-demuxers \ |
||||
--disable-parsers \ |
||||
--disable-bsfs \ |
||||
--enable-demuxer=h264 \ |
||||
--enable-demuxer=mjpeg \ |
||||
--enable-parser=h264 \ |
||||
--enable-parser=mjpeg \ |
||||
--enable-decoder=h264 \ |
||||
--enable-decoder=mjpeg \ |
||||
--enable-decoder=rawvideo |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,50 @@
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build gmp for windows" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
set -euo pipefail |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "${ARCH-x}" != "i686" ] && [ "${ARCH-x}" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
set -euo pipefail |
||||
|
||||
"$(dirname $0)"/download/download_gdb.sh |
||||
|
||||
CFLAGS="-O2 -g0" ./configure --host="$ARCH-w64-mingw32" \ |
||||
--prefix="/windows" \ |
||||
--enable-static \ |
||||
--disable-shared |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,50 @@
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build gmp for windows" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
set -euo pipefail |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "${ARCH-x}" != "i686" ] && [ "${ARCH-x}" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
set -euo pipefail |
||||
|
||||
"$(dirname $0)"/download/download_gmp.sh |
||||
|
||||
# https://gmplib.org/list-archives/gmp-discuss/2020-July/006519.html |
||||
CC_FOR_BUILD=gcc CFLAGS="-O2 -g0" ./configure --host="$ARCH-w64-mingw32" \ |
||||
--prefix="/windows" \ |
||||
--enable-static \ |
||||
--disable-shared |
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
"$(dirname "$0")"/download/download_ldqt.sh |
||||
|
||||
qmake |
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,53 @@
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build libexif for the windows cross compiling environment" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
ARCH="" |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "$ARCH" != "i686" ] && [ "$ARCH" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
set -euo pipefail |
||||
|
||||
|
||||
"$(dirname $0)"/download/download_libexif.sh |
||||
|
||||
CFLAGS="-O2 -g0" ./configure --host="${ARCH}-w64-mingw32" \ |
||||
--prefix=/windows/ \ |
||||
--enable-shared \ |
||||
--disable-static \ |
||||
--disable-docs \ |
||||
--disable-nls |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,48 @@
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build libexpat for windows" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
set -euo pipefail |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "${ARCH-x}" != "i686" ] && [ "${ARCH-x}" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
"$(dirname $0)"/download/download_libexpat.sh |
||||
|
||||
CFLAGS="-O2 -g0" ./configure --host="$ARCH-w64-mingw32" \ |
||||
--prefix="/windows" \ |
||||
--enable-static \ |
||||
--disable-shared |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
"$(dirname "$0")"/download/download_mingw_ldd.sh |
||||
|
||||
cp -a mingw_ldd/mingw_ldd.py /usr/local/bin/mingw-ldd.py |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
"$(dirname "$0")"/download/download_nsisshellexecasuser.sh |
||||
|
||||
cp ShellExecAsUser.dll /usr/share/nsis/Plugins/x86-ansi |
@ -0,0 +1,57 @@
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build openal for the windows cross compiling environment" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
ARCH="" |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "$ARCH" != "i686" ] && [ "$ARCH" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
"$(dirname "$0")"/download/download_openal.sh |
||||
|
||||
patch -p1 < "$(dirname "$0")"/patches/openal-cmake-3-11.patch |
||||
|
||||
export CFLAGS="-fPIC" |
||||
cmake -DCMAKE_INSTALL_PREFIX=/windows/ \ |
||||
-DCMAKE_BUILD_TYPE=Release \ |
||||
-DALSOFT_UTILS=OFF \ |
||||
-DALSOFT_EXAMPLES=OFF \ |
||||
-DCMAKE_TOOLCHAIN_FILE=/build/windows-toolchain.cmake \ |
||||
-DDSOUND_INCLUDE_DIR=/usr/${ARCH}-w64-mingw32/include \ |
||||
-DDSOUND_LIBRARY=/usr/${ARCH}-w64-mingw32/lib/libdsound.a \ |
||||
. |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,60 @@
@@ -0,0 +1,60 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build openssl for the windows cross compiling environment" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
ARCH="" |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "$ARCH" != "i686" ] && [ "$ARCH" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
"$(dirname "$0")"/download/download_openssl.sh |
||||
|
||||
if [[ "$ARCH" == "x86_64" ]]; then |
||||
OPENSSL_ARCH="mingw64" |
||||
elif [[ "$ARCH" == "i686" ]]; then |
||||
OPENSSL_ARCH="mingw" |
||||
else |
||||
echo "Invalid architecture" |
||||
exit 1 |
||||
fi |
||||
|
||||
./Configure --prefix=/windows/ \ |
||||
--openssldir=/windows/ssl \ |
||||
shared \ |
||||
$OPENSSL_ARCH \ |
||||
--cross-compile-prefix=${ARCH}-w64-mingw32- && \ |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,53 @@
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build opus for the windows cross compiling environment" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
ARCH="" |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "$ARCH" != "i686" ] && [ "$ARCH" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
"$(dirname "$0")"/download/download_opus.sh |
||||
|
||||
LDFLAGS="-fstack-protector" CFLAGS="-O2 -g0" \ |
||||
./configure --host="${ARCH}-w64-mingw32" \ |
||||
--prefix=/windows/ \ |
||||
--enable-shared \ |
||||
--disable-static \ |
||||
--disable-extra-programs \ |
||||
--disable-doc |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,53 @@
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build qrencode for the windows cross compiling environment" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
ARCH="" |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "$ARCH" != "i686" ] && [ "$ARCH" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
"$(dirname "$0")"/download/download_qrencode.sh |
||||
|
||||
CFLAGS="-O2 -g0" ./configure --host="${ARCH}-w64-mingw32" \ |
||||
--prefix=/windows \ |
||||
--enable-shared \ |
||||
--disable-static \ |
||||
--disable-sdltest \ |
||||
--without-tools \ |
||||
--without-debug |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,105 @@
@@ -0,0 +1,105 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build qt for the windows cross compiling environment" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
ARCH="" |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "$ARCH" != "i686" ] && [ "$ARCH" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
"$(dirname "$0")"/download/download_qt.sh |
||||
|
||||
OPENSSL_LIBS=$(pkg-config --libs openssl) |
||||
export OPENSSL_LIBS |
||||
|
||||
./configure -prefix /windows/ \ |
||||
-release \ |
||||
-shared \ |
||||
-device-option CROSS_COMPILE=${ARCH}-w64-mingw32- \ |
||||
-xplatform win32-g++ \ |
||||
-openssl \ |
||||
"$(pkg-config --cflags openssl)" \ |
||||
-opensource -confirm-license \ |
||||
-pch \ |
||||
-nomake examples \ |
||||
-nomake tools \ |
||||
-nomake tests \ |
||||
-skip 3d \ |
||||
-skip activeqt \ |
||||
-skip androidextras \ |
||||
-skip canvas3d \ |
||||
-skip charts \ |
||||
-skip connectivity \ |
||||
-skip datavis3d \ |
||||
-skip declarative \ |
||||
-skip doc \ |
||||
-skip gamepad \ |
||||
-skip graphicaleffects \ |
||||
-skip imageformats \ |
||||
-skip location \ |
||||
-skip macextras \ |
||||
-skip multimedia \ |
||||
-skip networkauth \ |
||||
-skip purchasing \ |
||||
-skip quickcontrols \ |
||||
-skip quickcontrols2 \ |
||||
-skip remoteobjects \ |
||||
-skip script \ |
||||
-skip scxml \ |
||||
-skip sensors \ |
||||
-skip serialbus \ |
||||
-skip serialport \ |
||||
-skip speech \ |
||||
-skip translations \ |
||||
-skip virtualkeyboard \ |
||||
-skip wayland \ |
||||
-skip webchannel \ |
||||
-skip webengine \ |
||||
-skip webglplugin \ |
||||
-skip websockets \ |
||||
-skip webview \ |
||||
-skip x11extras \ |
||||
-skip xmlpatterns \ |
||||
-no-dbus \ |
||||
-no-icu \ |
||||
-no-compile-examples \ |
||||
-qt-libjpeg \ |
||||
-qt-libpng \ |
||||
-qt-zlib \ |
||||
-qt-pcre \ |
||||
-opengl desktop |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,51 @@
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
usage () |
||||
{ |
||||
echo "Build/install snore for linux" |
||||
echo "Usage: $0 [--system-install]" |
||||
echo "--system-install: Install to /usr instead of /usr/local" |
||||
} |
||||
|
||||
SYSTEM_INSTALL=0 |
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--system-install) SYSTEM_INSTALL=1; shift ;; |
||||
--help|-h) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1 ;; |
||||
esac |
||||
done |
||||
|
||||
"$(dirname "$0")"/download/download_snore.sh |
||||
|
||||
# Snore needs to be installed into /usr for linuxdeployqt to find it |
||||
if [ $SYSTEM_INSTALL -eq 1 ]; then |
||||
INSTALL_PREFIX_ARGS="-DCMAKE_INSTALL_PREFIX=/usr" |
||||
else |
||||
INSTALL_PREFIX_ARGS="" |
||||
fi |
||||
|
||||
cmake -DCMAKE_BUILD_TYPE=Release $INSTALL_PREFIX_ARGS \ |
||||
-DBUILD_daemon=OFF \ |
||||
-DBUILD_settings=OFF \ |
||||
-DBUILD_snoresend=OFF |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
"$(dirname "$0")"/download/download_snore.sh |
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/windows/ \ |
||||
-DCMAKE_BUILD_TYPE=Release \ |
||||
-DBUILD_daemon=OFF \ |
||||
-DBUILD_settings=OFF \ |
||||
-DBUILD_snoresend=OFF \ |
||||
-DCMAKE_TOOLCHAIN_FILE=/build/windows-toolchain.cmake \ |
||||
. |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,51 @@
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build sodium for the windows cross compiling environment" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
ARCH="" |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "$ARCH" != "i686" ] && [ "$ARCH" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
"$(dirname "$0")"/download/download_sodium.sh |
||||
|
||||
LDFLAGS="-fstack-protector" \ |
||||
./configure --host="${ARCH}-w64-mingw32" \ |
||||
--prefix=/windows \ |
||||
--enable-shared \ |
||||
--disable-static |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,59 @@
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build sqlcipher for the windows cross compiling environment" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
ARCH="" |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "$ARCH" != "i686" ] && [ "$ARCH" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
"$(dirname "$0")"/download/download_sqlcipher.sh |
||||
|
||||
sed -i s/'if test "$TARGET_EXEEXT" = ".exe"'/'if test ".exe" = ".exe"'/g configure |
||||
sed -i 's|exec $PWD/mksourceid manifest|exec $PWD/mksourceid.exe manifest|g' tool/mksqlite3h.tcl |
||||
|
||||
./configure --host="${ARCH}-w64-mingw32" \ |
||||
--prefix=/windows/ \ |
||||
--enable-shared \ |
||||
--disable-static \ |
||||
--enable-tempstore=yes \ |
||||
CFLAGS="-O2 -g0 -DSQLITE_HAS_CODEC -I/windows/include/" \ |
||||
LDFLAGS="-lcrypto -lgdi32 -L/windows/lib/" \ |
||||
LIBS="-lgdi32 -lws2_32" |
||||
|
||||
sed -i s/"TEXE = $"/"TEXE = .exe"/ Makefile |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,65 @@
@@ -0,0 +1,65 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
build_toxcore() { |
||||
mkdir -p toxcore |
||||
pushd toxcore >/dev/null || exit 1 |
||||
|
||||
"$(dirname "$0")"/download/download_toxcore.sh |
||||
|
||||
cmake . \ |
||||
-DBOOTSTRAP_DAEMON=OFF \ |
||||
-DCMAKE_BUILD_TYPE=Release \ |
||||
. |
||||
|
||||
cmake --build . -- -j$(nproc) |
||||
cmake --build . --target install |
||||
|
||||
popd >/dev/null |
||||
} |
||||
|
||||
build_toxext() { |
||||
mkdir -p toxext |
||||
pushd toxext >/dev/null || exit 1 |
||||
|
||||
"$(dirname "$0")"/download/download_toxext.sh |
||||
|
||||
cmake . -DCMAKE_BUILD_TYPE=Release |
||||
cmake --build . -- -j$(nproc) |
||||
cmake --build . --target install |
||||
|
||||
popd >/dev/null |
||||
} |
||||
|
||||
build_toxext_messages() { |
||||
mkdir -p toxext_messages |
||||
pushd toxext_messages > /dev/null || exit 1 |
||||
|
||||
"$(dirname "$0")"/download/download_toxext_messages.sh |
||||
|
||||
cmake . -DCMAKE_BUILD_TYPE=Release |
||||
cmake --build . -- -j$(nproc) |
||||
cmake --build . --target install |
||||
|
||||
popd >/dev/null |
||||
} |
||||
|
||||
build_toxcore |
||||
build_toxext |
||||
build_toxext_messages |
@ -0,0 +1,80 @@
@@ -0,0 +1,80 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
build_toxcore() { |
||||
TOXCORE_SRC="$(realpath toxcore)" |
||||
|
||||
mkdir -p "$TOXCORE_SRC" |
||||
pushd $TOXCORE_SRC >/dev/null || exit 1 |
||||
|
||||
"$(dirname "$0")"/download/download_toxcore.sh |
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/windows/ \ |
||||
-DBOOTSTRAP_DAEMON=OFF \ |
||||
-DCMAKE_BUILD_TYPE=Release \ |
||||
-DENABLE_STATIC=OFF \ |
||||
-DENABLE_SHARED=ON \ |
||||
-DCMAKE_TOOLCHAIN_FILE=/build/windows-toolchain.cmake \ |
||||
. |
||||
|
||||
cmake --build . -- -j$(nproc) |
||||
cmake --build . --target install |
||||
|
||||
popd >/dev/null |
||||
} |
||||
|
||||
build_toxext() { |
||||
TOXEXT_SRC="$(realpath toxext)" |
||||
|
||||
mkdir -p "$TOXEXT_SRC" |
||||
pushd $TOXEXT_SRC >/dev/null || exit 1 |
||||
|
||||
"$(dirname "$0")"/download/download_toxext.sh |
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/windows/ \ |
||||
-DCMAKE_BUILD_TYPE=Release \ |
||||
-DCMAKE_TOOLCHAIN_FILE=/build/windows-toolchain.cmake \ |
||||
. |
||||
|
||||
cmake --build . -- -j$(nproc) |
||||
cmake --build . --target install |
||||
|
||||
popd >/dev/null |
||||
} |
||||
|
||||
build_toxext_messages() { |
||||
TOXEXT_MESSAGES_SRC="$(realpath toxext_messages)" |
||||
|
||||
mkdir -p "$TOXEXT_MESSAGES_SRC" |
||||
pushd $TOXEXT_MESSAGES_SRC > /dev/null || exit 1 |
||||
|
||||
"$(dirname "$0")"/download/download_toxext_messages.sh |
||||
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/windows/ \ |
||||
-DCMAKE_BUILD_TYPE=Release \ |
||||
-DCMAKE_TOOLCHAIN_FILE=/build/windows-toolchain.cmake \ |
||||
. |
||||
cmake --build . --target install |
||||
|
||||
popd >/dev/null |
||||
} |
||||
|
||||
build_toxcore |
||||
build_toxext |
||||
build_toxext_messages |
@ -0,0 +1,68 @@
@@ -0,0 +1,68 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
usage() |
||||
{ |
||||
echo "Download and build vpx for the windows cross compiling environment" |
||||
echo "Usage: $0 --arch {x86_64|i686}" |
||||
} |
||||
|
||||
ARCH="" |
||||
|
||||
while (( $# > 0 )); do |
||||
case $1 in |
||||
--arch) ARCH=$2; shift 2 ;; |
||||
-h|--help) usage; exit 1 ;; |
||||
*) echo "Unexpected argument $1"; usage; exit 1;; |
||||
esac |
||||
done |
||||
|
||||
if [ "$ARCH" != "i686" ] && [ "$ARCH" != "x86_64" ]; then |
||||
echo "Unexpected arch $ARCH" |
||||
usage |
||||
exit 1 |
||||
fi |
||||
|
||||
"$(dirname "$0")"/download/download_vpx.sh |
||||
|
||||
if [ "${ARCH}" == "x86_64" ]; then |
||||
ARCH_FLAGS="-fno-asynchronous-unwind-tables" |
||||
VPX_ARCH="x86_64-win64-gcc" |
||||
elif [ "${ARCH}" == "i686" ]; then \ |
||||
ARCH_FLAGS="" |
||||
VPX_ARCH="x86-win32-gcc" |
||||
else |
||||
exit 1 |
||||
fi |
||||
|
||||
patch -Np1 < "$(dirname "$0")"/patches/vpx.patch |
||||
|
||||
CFLAGS=${ARCH_FLAGS} CROSS="${ARCH}-w64-mingw32-" \ |
||||
./configure --target="${VPX_ARCH}" \ |
||||
--prefix=/windows/ \ |
||||
--enable-shared \ |
||||
--disable-static \ |
||||
--enable-runtime-cpu-detect \ |
||||
--disable-examples \ |
||||
--disable-tools \ |
||||
--disable-docs \ |
||||
--disable-unit-tests |
||||
|
||||
make -j $(nproc) |
||||
make install |
@ -0,0 +1,50 @@
@@ -0,0 +1,50 @@
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
FROM archlinux:latest |
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"] |
||||
|
||||
RUN pacman -Syu --noconfirm --needed \ |
||||
base-devel \ |
||||
cmake \ |
||||
libsodium \ |
||||
qt5-base \ |
||||
qt5-tools \ |
||||
qt5-svg \ |
||||
ffmpeg \ |
||||
libexif \ |
||||
qrencode \ |
||||
sqlcipher \ |
||||
openal \ |
||||
sonnet \ |
||||
snorenotify \ |
||||
git \ |
||||
&& \ |
||||
rm -fr /var/cache/pacman |
||||
|
||||
ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig |
||||
|
||||
COPY download/common.sh /build/download/common.sh |
||||
COPY download/download_toxcore.sh /build/download/download_toxcore.sh |
||||
COPY download/download_toxext.sh /build/download/download_toxext.sh |
||||
COPY download/download_toxext_messages.sh /build/download/download_toxext_messages.sh |
||||
COPY build_toxcore_linux.sh /build/build_toxcore_linux.sh |
||||
RUN mkdir -p /src/tox && \ |
||||
cd /src/tox && \ |
||||
/build/build_toxcore_linux.sh && \ |
||||
rm -fr /src/tox |
||||
|
||||
WORKDIR /qtox |
@ -0,0 +1,68 @@
@@ -0,0 +1,68 @@
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
FROM centos:latest |
||||
|
||||
RUN dnf --nodocs -y install dnf-plugins-core && \ |
||||
dnf config-manager --set-enabled powertools && \ |
||||
dnf --nodocs -y install epel-release && \ |
||||
dnf --nodocs -y install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm && \ |
||||
dnf --nodocs -y install \ |
||||
cmake \ |
||||
make \ |
||||
gcc \ |
||||
gcc-c++ \ |
||||
git \ |
||||
libvpx-devel \ |
||||
qt5-qtbase-devel \ |
||||
qt5-linguist \ |
||||
qt5-qtsvg-devel \ |
||||
extra-cmake-modules \ |
||||
opus-devel \ |
||||
libsodium-devel \ |
||||
libasan \ |
||||
ffmpeg-devel \ |
||||
libexif-devel \ |
||||
qrencode-devel \ |
||||
openal-soft-devel \ |
||||
kf5-sonnet-devel \ |
||||
libXScrnSaver-devel \ |
||||
sqlite-devel \ |
||||
sqlcipher-devel && \ |
||||
dnf clean all |
||||
|
||||
ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig |
||||
|
||||
COPY download/common.sh /build/download/common.sh |
||||
COPY download/download_snore.sh /build/download/download_snore.sh |
||||
COPY build_snore_linux.sh /build/build_snore_linux.sh |
||||
RUN mkdir -p /src/snore && \ |
||||
cd /src/snore && \ |
||||
/build/build_snore_linux.sh && \ |
||||
rm -fr /src/snore |
||||
|
||||
COPY download/download_toxcore.sh /build/download/download_toxcore.sh |
||||
COPY download/download_toxext.sh /build/download/download_toxext.sh |
||||
COPY download/download_toxext_messages.sh /build/download/download_toxext_messages.sh |
||||
COPY build_toxcore_linux.sh /build/build_toxcore_linux.sh |
||||
RUN mkdir -p /src/tox && \ |
||||
cd /src/tox && \ |
||||
/build/build_toxcore_linux.sh && \ |
||||
rm -fr /src/tox |
||||
|
||||
RUN echo '/usr/local/lib64/' >> /etc/ld.so.conf.d/locallib.conf && \ |
||||
ldconfig |
||||
|
||||
WORKDIR /qtox |
@ -0,0 +1,66 @@
@@ -0,0 +1,66 @@
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
FROM debian:stable |
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive |
||||
|
||||
RUN apt-get update && \ |
||||
apt-get -y --force-yes --no-install-recommends install \ |
||||
build-essential \ |
||||
cmake \ |
||||
curl \ |
||||
ca-certificates \ |
||||
extra-cmake-modules \ |
||||
git \ |
||||
libavcodec-dev \ |
||||
libavdevice-dev \ |
||||
libexif-dev \ |
||||
libopenal-dev \ |
||||
libopus-dev \ |
||||
libqrencode-dev \ |
||||
libqt5opengl5-dev \ |
||||
libqt5svg5-dev \ |
||||
libsodium-dev \ |
||||
libsqlcipher-dev \ |
||||
libtool \ |
||||
libvpx-dev \ |
||||
libkf5sonnet-dev \ |
||||
pkg-config \ |
||||
libqrencode-dev \ |
||||
qttools5-dev && \ |
||||
apt-get clean && \ |
||||
rm -rf /var/lib/apt/lists/* |
||||
|
||||
COPY download/common.sh /build/download/common.sh |
||||
|
||||
COPY download/download_snore.sh /build/download/download_snore.sh |
||||
COPY build_snore_linux.sh /build/build_snore_linux.sh |
||||
RUN mkdir -p /src/snore && \ |
||||
cd /src/snore && \ |
||||
/build/build_snore_linux.sh && \ |
||||
rm -fr /src/snore |
||||
|
||||
COPY download/download_toxcore.sh /build/download/download_toxcore.sh |
||||
COPY download/download_toxext.sh /build/download/download_toxext.sh |
||||
COPY download/download_toxext_messages.sh /build/download/download_toxext_messages.sh |
||||
COPY build_toxcore_linux.sh /build/build_toxcore_linux.sh |
||||
RUN mkdir -p /src/tox && \ |
||||
cd /src/tox && \ |
||||
/build/build_toxcore_linux.sh && \ |
||||
rm -fr /src/tox |
||||
|
||||
WORKDIR /qtox |
||||
|
@ -0,0 +1,68 @@
@@ -0,0 +1,68 @@
|
||||
# Copyright © 2019-2021 by The qTox Project Contributors |
||||
# |
||||
# This file is part of qTox, a Qt-based graphical interface for Tox. |
||||
# qTox is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# qTox is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with qTox. If not, see <http://www.gnu.org/licenses/> |
||||
|
||||
|
||||
FROM debian:oldoldstable |
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive |
||||
|
||||
RUN apt-get update && \ |
||||
apt-get -y --force-yes --no-install-recommends install \ |
||||
build-essential \ |
||||
cmake \ |
||||
curl \ |
||||
ca-certificates \ |
||||
extra-cmake-modules \ |
||||
git \ |
||||
libavcodec-dev \ |
||||
libavdevice-dev \ |
||||
libexif-dev \ |
||||
libopenal-dev \ |
||||
libopus-dev \ |
||||
libqrencode-dev \ |
||||
libqt5opengl5-dev \ |
||||
libqt5svg5-dev \ |
||||
libsodium-dev \ |
||||
libsqlcipher-dev \ |
||||
libtool \ |
||||
libvpx-dev \ |
||||
libkf5sonnet-dev \ |
||||
pkg-config \ |
||||
libqrencode-dev \ |
||||
qt5-default \ |
||||
qttools5-dev && \ |
||||
apt-get clean && \ |
||||
rm -rf /var/lib/apt/lists/* |
||||
|
||||
COPY download/common.sh /build/download/common.sh |
||||
|
||||
COPY download/download_snore.sh /build/download/download_snore.sh |
||||
COPY build_snore_linux.sh /build/build_snore_linux.sh |
||||
RUN mkdir -p /src/snore && \ |
||||
cd /src/snore && \ |
||||
/build/build_snore_linux.sh && \ |
||||
rm -fr /src/snore |
||||
|
||||
COPY download/download_toxcore.sh /build/download/download_toxcore.sh |
||||
COPY download/download_toxext.sh /build/download/download_toxext.sh |
||||
COPY download/download_toxext_messages.sh /build/download/download_toxext_messages.sh |
||||
COPY build_toxcore_linux.sh /build/build_toxcore_linux.sh |
||||
RUN mkdir -p /src/tox && \ |
||||
cd /src/tox && \ |
||||
/build/build_toxcore_linux.sh && \ |
||||
rm -fr /src/tox |
||||
|
||||
WORKDIR /qtox |
@ -0,0 +1,66 @@
@@ -0,0 +1,66 @@
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
FROM fedora:latest |
||||
|
||||
RUN dnf --nodocs -y install dnf-plugins-core && \ |
||||
dnf --nodocs -y install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \ |
||||
dnf --nodocs -y install \ |
||||
cmake \ |
||||
make \ |
||||
gcc \ |
||||
gcc-c++ \ |
||||
git \ |
||||
libvpx-devel \ |
||||
qt5-qtbase-devel \ |
||||
qt5-linguist \ |
||||
qt5-qtsvg-devel \ |
||||
extra-cmake-modules \ |
||||
opus-devel \ |
||||
libsodium-devel \ |
||||
libasan \ |
||||
ffmpeg-devel \ |
||||
libexif-devel \ |
||||
qrencode-devel \ |
||||
openal-soft-devel \ |
||||
kf5-sonnet-devel \ |
||||
libXScrnSaver-devel \ |
||||
sqlite-devel \ |
||||
sqlcipher-devel && \ |
||||
dnf clean all |
||||
|
||||
ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig |
||||
|
||||
COPY download/common.sh /build/download/common.sh |
||||
COPY download/download_snore.sh /build/download/download_snore.sh |
||||
COPY build_snore_linux.sh /build/build_snore_linux.sh |
||||
RUN mkdir -p /src/snore && \ |
||||
cd /src/snore && \ |
||||
/build/build_snore_linux.sh && \ |
||||
rm -fr /src/snore |
||||
|
||||
COPY download/download_toxcore.sh /build/download/download_toxcore.sh |
||||
COPY download/download_toxext.sh /build/download/download_toxext.sh |
||||
COPY download/download_toxext_messages.sh /build/download/download_toxext_messages.sh |
||||
COPY build_toxcore_linux.sh /build/build_toxcore_linux.sh |
||||
RUN mkdir -p /src/tox && \ |
||||
cd /src/tox && \ |
||||
/build/build_toxcore_linux.sh && \ |
||||
rm -fr /src/tox |
||||
|
||||
RUN echo '/usr/local/lib64/' >> /etc/ld.so.conf.d/locallib.conf && \ |
||||
ldconfig |
||||
|
||||
WORKDIR /qtox |
@ -0,0 +1,62 @@
@@ -0,0 +1,62 @@
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
FROM debian:buster |
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive |
||||
|
||||
RUN apt-get update && \ |
||||
apt-get -y --force-yes --no-install-recommends install \ |
||||
curl \ |
||||
ca-certificates \ |
||||
elfutils \ |
||||
# flatpak-validate-icon uses gdk-pixbuf which needs an svg loader |
||||
librsvg2-common \ |
||||
flatpak \ |
||||
flatpak-builder && \ |
||||
apt-get clean && \ |
||||
rm -rf /var/lib/apt/lists/* |
||||
|
||||
# Pre-download kde flatpak environment to speed up flatpak builds |
||||
RUN flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo && \ |
||||
flatpak --system install flathub -y org.kde.Sdk/x86_64/5.15 |
||||
|
||||
COPY download/common.sh /build/download/common.sh |
||||
COPY download/download_sodium.sh /build/download/download_sodium.sh |
||||
RUN mkdir -p /src/libsodium && \ |
||||
cd /src/libsodium && \ |
||||
/build/download/download_sodium.sh |
||||
|
||||
COPY download/download_sqlcipher.sh /build/download/download_sqlcipher.sh |
||||
RUN mkdir -p /src/sqlcipher && \ |
||||
cd /src/sqlcipher && \ |
||||
/build/download/download_sqlcipher.sh |
||||
|
||||
COPY download/download_toxcore.sh /build/download/download_toxcore.sh |
||||
RUN mkdir -p /src/toxcore && \ |
||||
cd /src/toxcore && \ |
||||
/build/download/download_toxcore.sh |
||||
|
||||
COPY download/download_toxext.sh /build/download/download_toxext.sh |
||||
RUN mkdir -p /src/toxext && \ |
||||
cd /src/toxext && \ |
||||
/build/download/download_toxext.sh |
||||
|
||||
COPY download/download_toxext_messages.sh /build/download/download_toxext_messages.sh |
||||
RUN mkdir -p /src/toxext_messages && \ |
||||
cd /src/toxext_messages && \ |
||||
/build/download/download_toxext_messages.sh |
||||
|
||||
WORKDIR /qtox |
@ -0,0 +1,55 @@
@@ -0,0 +1,55 @@
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
FROM opensuse/leap:latest |
||||
|
||||
RUN zypper install --no-recommends -y \ |
||||
git \ |
||||
libexif-devel \ |
||||
libopus-devel \ |
||||
libQt5Concurrent-devel \ |
||||
libqt5-linguist-devel \ |
||||
libqt5-qtbase-common-devel \ |
||||
libqt5-qtsvg-devel \ |
||||
libsodium-devel \ |
||||
libvpx-devel \ |
||||
openal-soft-devel \ |
||||
qrencode-devel \ |
||||
sqlcipher-devel \ |
||||
sonnet-devel \ |
||||
libQt5Test-devel \ |
||||
libQt5Network-devel \ |
||||
libQt5OpenGL-devel \ |
||||
libQt5Xml-devel \ |
||||
curl \ |
||||
tar \ |
||||
gzip \ |
||||
libavcodec-devel \ |
||||
libavdevice-devel \ |
||||
libXss-devel \ |
||||
snorenotify-qt5-devel && \ |
||||
zypper clean |
||||
|
||||
COPY download/common.sh /build/download/common.sh |
||||
COPY download/download_toxcore.sh /build/download/download_toxcore.sh |
||||
COPY download/download_toxext.sh /build/download/download_toxext.sh |
||||
COPY download/download_toxext_messages.sh /build/download/download_toxext_messages.sh |
||||
COPY build_toxcore_linux.sh /build/build_toxcore_linux.sh |
||||
RUN mkdir -p /src/tox && \ |
||||
cd /src/tox && \ |
||||
/build/build_toxcore_linux.sh && \ |
||||
rm -fr /src/tox |
||||
|
||||
WORKDIR /qtox |
@ -0,0 +1,106 @@
@@ -0,0 +1,106 @@
|
||||
# Copyright © 2019-2021 by The qTox Project Contributors |
||||
# |
||||
# This file is part of qTox, a Qt-based graphical interface for Tox. |
||||
# qTox is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# qTox is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with qTox. If not, see <http://www.gnu.org/licenses/> |
||||
|
||||
FROM ubuntu:18.04 |
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive |
||||
|
||||
RUN apt-get update && \ |
||||
apt-get -y --force-yes --no-install-recommends install \ |
||||
build-essential \ |
||||
autoconf \ |
||||
automake \ |
||||
libtool \ |
||||
cmake \ |
||||
extra-cmake-modules \ |
||||
git \ |
||||
libavcodec-dev \ |
||||
libavdevice-dev \ |
||||
libavfilter-dev \ |
||||
libavutil-dev \ |
||||
libexif-dev \ |
||||
libgdk-pixbuf2.0-dev \ |
||||
libglib2.0-dev \ |
||||
libgtk2.0-dev \ |
||||
libopenal-dev \ |
||||
libopus-dev \ |
||||
libqrencode-dev \ |
||||
libqt5opengl5-dev \ |
||||
libqt5svg5-dev \ |
||||
libsodium-dev \ |
||||
libsqlcipher-dev \ |
||||
libswresample-dev \ |
||||
libswscale-dev \ |
||||
libvpx-dev \ |
||||
libkf5sonnet-dev \ |
||||
libxss-dev \ |
||||
qt5-default \ |
||||
qttools5-dev \ |
||||
zsync \ |
||||
libarchive-dev \ |
||||
libfuse-dev \ |
||||
liblzma-dev \ |
||||
libglib2.0-dev \ |
||||
libssl-dev \ |
||||
libinotifytools0-dev \ |
||||
liblz4-dev \ |
||||
libcairo-dev \ |
||||
desktop-file-utils \ |
||||
wget \ |
||||
xxd \ |
||||
ca-certificates \ |
||||
curl \ |
||||
patchelf \ |
||||
lcov && \ |
||||
apt-get clean && \ |
||||
rm -rf /var/lib/apt/lists/* |
||||
|
||||
COPY download/common.sh /build/download/common.sh |
||||
|
||||
COPY download/download_snore.sh /build/download/download_snore.sh |
||||
COPY build_snore_linux.sh /build/build_snore_linux.sh |
||||
RUN mkdir -p /src/snore && \ |
||||
cd /src/snore && \ |
||||
/build/build_snore_linux.sh --system-install && \ |
||||
rm -fr /src/snore |
||||
|
||||
COPY download/download_ldqt.sh /build/download/download_ldqt.sh |
||||
COPY build_ldqt_linux.sh /build/build_ldqt_linux.sh |
||||
RUN mkdir -p /src/ldqt && \ |
||||
cd /src/ldqt && \ |
||||
/build/build_ldqt_linux.sh && \ |
||||
rm -fr /src/ldqt |
||||
|
||||
COPY download/download_aitool.sh /build/download/download_aitool.sh |
||||
COPY build_aitool_linux.sh /build/build_aitool_linux.sh |
||||
RUN mkdir -p /src/aitool && \ |
||||
cd /src/aitool && \ |
||||
/build/build_aitool_linux.sh && \ |
||||
rm -fr /src/aitool |
||||
|
||||
COPY download/download_toxcore.sh /build/download/download_toxcore.sh |
||||
COPY download/download_toxext.sh /build/download/download_toxext.sh |
||||
COPY download/download_toxext_messages.sh /build/download/download_toxext_messages.sh |
||||
COPY build_toxcore_linux.sh /build/build_toxcore_linux.sh |
||||
RUN mkdir -p /src/tox && \ |
||||
cd /src/tox && \ |
||||
/build/build_toxcore_linux.sh && \ |
||||
rm -fr /src/tox |
||||
|
||||
RUN echo '/usr/local/lib/' >> /etc/ld.so.conf.d/locallib.conf && \ |
||||
ldconfig |
||||
|
||||
WORKDIR /qtox |
@ -0,0 +1,236 @@
@@ -0,0 +1,236 @@
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
FROM debian:bullseye-slim |
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"] |
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive |
||||
|
||||
ARG ARCH |
||||
ARG WINEARCH |
||||
ENV WINEARCH=${WINEARCH} |
||||
|
||||
RUN dpkg --add-architecture i386 && \ |
||||
apt-get update && apt-get install -y --no-install-recommends \ |
||||
autoconf \ |
||||
automake \ |
||||
build-essential \ |
||||
ca-certificates \ |
||||
cmake \ |
||||
extra-cmake-modules \ |
||||
git \ |
||||
libarchive-tools \ |
||||
libtool \ |
||||
nsis \ |
||||
pkg-config \ |
||||
python3-pefile \ |
||||
tclsh \ |
||||
texinfo \ |
||||
unzip \ |
||||
curl \ |
||||
yasm \ |
||||
zip \ |
||||
g++-mingw-w64-${ARCH//_/-} \ |
||||
gcc-mingw-w64-${ARCH//_/-} \ |
||||
gdb-mingw-w64 \ |
||||
wine \ |
||||
wine32 \ |
||||
wine64 && \ |
||||
apt-get clean && \ |
||||
rm -rf /var/lib/apt/lists/* |
||||
|
||||
RUN update-alternatives --set ${ARCH}-w64-mingw32-gcc /usr/bin/${ARCH}-w64-mingw32-gcc-posix && \ |
||||
update-alternatives --set ${ARCH}-w64-mingw32-g++ /usr/bin/${ARCH}-w64-mingw32-g++-posix |
||||
|
||||
COPY download/common.sh /build/download/common.sh |
||||
COPY download/download_openssl.sh /build/download/download_openssl.sh |
||||
COPY build_openssl_windows.sh /build/build_openssl_windows.sh |
||||
|
||||
RUN mkdir -p /src/openssl && \ |
||||
cd /src/openssl && \ |
||||
/build/build_openssl_windows.sh --arch ${ARCH} && \ |
||||
rm -fr /src/openssl |
||||
|
||||
env PKG_CONFIG_PATH=/windows/lib/pkgconfig |
||||
|
||||
COPY download/download_qt.sh /build/download/download_qt.sh |
||||
COPY build_qt_windows.sh /build/build_qt_windows.sh |
||||
|
||||
RUN mkdir -p /src/qt && \ |
||||
cd /src/qt && \ |
||||
/build/build_qt_windows.sh --arch ${ARCH} && \ |
||||
rm -fr /src/qt |
||||
|
||||
COPY download/download_sqlcipher.sh /build/download/download_sqlcipher.sh |
||||
COPY build_sqlcipher_windows.sh /build/build_sqlcipher_windows.sh |
||||
|
||||
RUN mkdir -p /src/sqlcipher && \ |
||||
cd /src/sqlcipher && \ |
||||
/build/build_sqlcipher_windows.sh --arch ${ARCH} && \ |
||||
rm -fr /src/sqlcipher |
||||
|
||||
COPY download/download_ffmpeg.sh /build/download/download_ffmpeg.sh |
||||
COPY build_ffmpeg_windows.sh /build/build_ffmpeg_windows.sh |
||||
RUN mkdir -p /src/ffmpeg && \ |
||||
cd /src/ffmpeg && \ |
||||
/build/build_ffmpeg_windows.sh --arch ${ARCH} && \ |
||||
rm -fr /src/ffmpeg |
||||
|
||||
COPY toolchain/windows-${ARCH}-toolchain.cmake /build/windows-toolchain.cmake |
||||
|
||||
COPY download/download_openal.sh /build/download/download_openal.sh |
||||
COPY build_openal_windows.sh /build/build_openal_windows.sh |
||||
COPY patches/openal-cmake-3-11.patch /build/patches/openal-cmake-3-11.patch |
||||
|
||||
RUN mkdir -p /src/openal && \ |
||||
cd /src/openal && \ |
||||
/build/build_openal_windows.sh --arch ${ARCH} && \ |
||||
rm -fr /src/openal |
||||
|
||||
COPY download/download_qrencode.sh /build/download/download_qrencode.sh |
||||
COPY build_qrencode_windows.sh /build/build_qrencode_windows.sh |
||||
RUN mkdir -p /src/qrencode && \ |
||||
cd /src/qrencode && \ |
||||
/build/build_qrencode_windows.sh --arch ${ARCH} && \ |
||||
rm -fr /src/qrencode |
||||
|
||||
COPY download/download_libexif.sh /build/download/download_libexif.sh |
||||
COPY build_libexif_windows.sh /build/build_libexif_windows.sh |
||||
RUN mkdir -p /src/exif && \ |
||||
cd /src/exif && \ |
||||
/build/build_libexif_windows.sh --arch ${ARCH} && \ |
||||
rm -fr /src/exif |
||||
|
||||
COPY download/download_snore.sh /build/download/download_snore.sh |
||||
COPY build_snore_windows.sh /build/build_snore_windows.sh |
||||
RUN mkdir -p /src/snore && \ |
||||
cd /src/snore && \ |
||||
/build/build_snore_windows.sh && \ |
||||
rm -fr /src/snore |
||||
|
||||
COPY download/download_opus.sh /build/download/download_opus.sh |
||||
COPY build_opus_windows.sh /build/build_opus_windows.sh |
||||
RUN mkdir -p /src/opus && \ |
||||
cd /src/opus && \ |
||||
/build/build_opus_windows.sh --arch ${ARCH} && \ |
||||
rm -fr /src/opus |
||||
|
||||
COPY download/download_sodium.sh /build/download/download_sodium.sh |
||||
COPY build_sodium_windows.sh /build/build_sodium_windows.sh |
||||
RUN mkdir -p /src/sodium && \ |
||||
cd /src/sodium && \ |
||||
/build/build_sodium_windows.sh --arch ${ARCH} && \ |
||||
rm -fr /src/sodium |
||||
|
||||
COPY download/download_vpx.sh /build/download/download_vpx.sh |
||||
COPY build_vpx_windows.sh /build/build_vpx_windows.sh |
||||
COPY patches/vpx.patch /build/patches/vpx.patch |
||||
RUN mkdir -p /src/vpx && \ |
||||
cd /src/vpx && \ |
||||
/build/build_vpx_windows.sh --arch ${ARCH} && \ |
||||
rm -fr /src/vpx |
||||
|
||||
COPY download/download_mingw_ldd.sh /build/download/download_mingw_ldd.sh |
||||
COPY build_mingw_ldd_windows.sh /build/build_mingw_ldd_windows.sh |
||||
RUN mkdir -p /src/mingw_ldd && \ |
||||
cd /src/mingw_ldd && \ |
||||
/build/build_mingw_ldd_windows.sh && \ |
||||
rm -fr /src/mingw_ldd |
||||
|
||||
COPY download/download_nsisshellexecasuser.sh /build/download/download_nsisshellexecasuser.sh |
||||
COPY build_nsisshellexecasuser_windows.sh /build/build_nsisshellexecasuser_windows.sh |
||||
RUN mkdir -p /src/nsisshellexecasuser && \ |
||||
cd /src/nsisshellexecasuser && \ |
||||
/build/build_nsisshellexecasuser_windows.sh && \ |
||||
rm -fr /src/nsisshellexecasuser |
||||
|
||||
COPY download/download_toxcore.sh /build/download/download_toxcore.sh |
||||
COPY download/download_toxext.sh /build/download/download_toxext.sh |
||||
COPY download/download_toxext_messages.sh /build/download/download_toxext_messages.sh |
||||
COPY build_toxcore_windows.sh /build/build_toxcore_windows.sh |
||||
RUN mkdir -p /src/tox && \ |
||||
cd /src/tox && \ |
||||
/build/build_toxcore_windows.sh && \ |
||||
rm -fr /src/tox |
||||
|
||||
RUN mkdir /export && \ |
||||
cp /usr/${ARCH}-w64-mingw32/lib/libwinpthread-1.dll /export/ && \ |
||||
cp /usr/lib/gcc/${ARCH}-w64-mingw32/10-posix/libgcc_s_*-1.dll /export && \ |
||||
cp /usr/lib/gcc/${ARCH}-w64-mingw32/10-posix/libstdc++-6.dll /export && \ |
||||
cp /usr/lib/gcc/${ARCH}-w64-mingw32/10-posix/libssp-0.dll /export && \ |
||||
cp /windows/bin/Qt5Core.dll /export && \ |
||||
cp /windows/bin/Qt5Gui.dll /export && \ |
||||
cp /windows/bin/Qt5Network.dll /export && \ |
||||
cp /windows/bin/Qt5Svg.dll /export && \ |
||||
cp /windows/bin/Qt5Xml.dll /export && \ |
||||
cp /windows/bin/Qt5Widgets.dll /export && \ |
||||
cp /windows/bin/avcodec-*.dll /export && \ |
||||
cp /windows/bin/avdevice-*.dll /export && \ |
||||
cp /windows/bin/avformat-*.dll /export && \ |
||||
cp /windows/bin/avutil-*.dll /export && \ |
||||
cp /windows/bin/libexif-*.dll /export && \ |
||||
cp /windows/bin/libqrencode.dll /export && \ |
||||
cp /windows/bin/libsodium-*.dll /export && \ |
||||
cp /windows/bin/libsqlcipher-*.dll /export && \ |
||||
cp /windows/bin/swscale-*.dll /export && \ |
||||
cp /windows/bin/libcrypto-*.dll /export && \ |
||||
cp /windows/bin/libtoxcore.dll /export && \ |
||||
cp /windows/bin/libopus-*.dll /export && \ |
||||
cp /windows/lib/libvpx.dll /export && \ |
||||
cp /windows/bin/libssl-*.dll /export && \ |
||||
cp /windows/bin/libsnore-qt5.dll /export && \ |
||||
mkdir -p /export/libsnore-qt5/ && \ |
||||
cp /windows/plugins/libsnore-qt5/libsnore_backend_windowstoast.dll /export/libsnore-qt5/ && \ |
||||
cp /windows/bin/SnoreToast.exe /export && \ |
||||
cp -r /windows/plugins/iconengines /export && \ |
||||
cp -r /windows/plugins/imageformats /export && \ |
||||
cp -r /windows/plugins/platforms /export |
||||
|
||||
RUN mkdir -p /debug_export |
||||
|
||||
COPY download/download_mingw_debug_scripts.sh /build/download/download_mingw_debug_scripts.sh |
||||
RUN mkdir -p /src/mingw-debug-scripts && \ |
||||
cd /src/mingw-debug-scripts && \ |
||||
/build/download/download_mingw_debug_scripts.sh && \ |
||||
sed -i "s|your-app-name.exe|qtox.exe|g" debug-*.bat && \ |
||||
cp -a debug-*.bat /debug_export && \ |
||||
rm -fr /src/mingw-debug-scripts |
||||
|
||||
COPY download/download_gmp.sh /build/download/download_gmp.sh |
||||
COPY build_gmp_windows.sh /build/build_gmp_windows.sh |
||||
RUN mkdir -p /src/gmp && \ |
||||
cd /src/gmp && \ |
||||
/build/build_gmp_windows.sh && \ |
||||
rm -fr /src/gmp |
||||
|
||||
COPY download/download_libexpat.sh /build/download/download_libexpat.sh |
||||
COPY build_libexpat_windows.sh /build/build_libexpat_windows.sh |
||||
RUN mkdir -p /src/libexpat && \ |
||||
cd /src/libexpat && \ |
||||
/build/build_libexpat_windows.sh && \ |
||||
rm -fr /src/libexpat |
||||
|
||||
COPY download/download_gdb.sh /build/download/download_gdb.sh |
||||
COPY build_gdb_windows.sh /build/build_gdb_windows.sh |
||||
RUN mkdir -p /src/gdb && \ |
||||
cd /src/gdb && \ |
||||
/build/build_gdb_windows.sh && \ |
||||
rm -fr /src/gdb && \ |
||||
cp /windows/bin/gdb.exe /debug_export/gdb.exe |
||||
|
||||
RUN mkdir -p /qtox |
||||
WORKDIR /qtox |
||||
|
@ -0,0 +1,76 @@
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
check_sha256() |
||||
{ |
||||
if uname | grep -q Darwin; then |
||||
HASH_BIN="gsha256sum" |
||||
else |
||||
HASH_BIN="sha256sum" |
||||
fi |
||||
|
||||
if ! ( echo "$1 $2" | $HASH_BIN -c --quiet --status - ) |
||||
then |
||||
echo "Error: sha256 of $2 doesn't match the known one." |
||||
echo "Expected: $1 $2" |
||||
echo -n "Got: " |
||||
sha256sum "$2" |
||||
exit 1 |
||||
else |
||||
echo "sha256 matches the expected one: $1" |
||||
fi |
||||
} |
||||
|
||||
download_file() |
||||
{ |
||||
# Curl command wrapper to download a file to the CWD |
||||
local URL="$1" |
||||
curl -L --connect-timeout 10 -O "$URL" |
||||
} |
||||
|
||||
download_verify_extract_tarball() |
||||
{ |
||||
# Downlaoads the tarball at URL, ensures it has an sha256sum of HASH and |
||||
# extracts it to the CWD |
||||
|
||||
local URL="$1" |
||||
local HASH="$2" |
||||
|
||||
# Try linux style mktemp and fallback on osx style |
||||
TEMPDIR=$(mktemp -d -p . 2>/dev/null || mktemp -d -t qtox_download) |
||||
|
||||
if [ $? -ne 0 ]; then |
||||
return 1 |
||||
fi |
||||
|
||||
TEMPDIR=$(cd "$TEMPDIR"; pwd -P) |
||||
|
||||
pushd "$TEMPDIR" >/dev/null || exit 1 |
||||
|
||||
download_file "$URL" |
||||
|
||||
if ! check_sha256 "$HASH" *; then |
||||
rm -fr "$TEMPDIR" |
||||
return 1 |
||||
fi |
||||
|
||||
popd >/dev/null || exit 1 |
||||
|
||||
tar -xf "$TEMPDIR"/* --strip-components=1 |
||||
|
||||
rm -fr "$TEMPDIR" |
||||
} |
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
AITOOL_HASH=effcebc1d81c5e174a48b870cb420f490fb5fb4d |
||||
|
||||
git clone -b master --single-branch --recursive \ |
||||
https://github.com/AppImage/AppImageKit . |
||||
|
||||
git checkout "$AITOOL_HASH" |
||||
git submodule update --init --recursive |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
FFMPEG_VERSION=4.4.1 |
||||
FFMPEG_HASH=eadbad9e9ab30b25f5520fbfde99fae4a92a1ae3c0257a8d68569a4651e30e02 |
||||
|
||||
source "$(dirname $0)"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://www.ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.xz" \ |
||||
"${FFMPEG_HASH}" |
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
GDB_VERSION="11.1" |
||||
GDB_HASH="cccfcc407b20d343fb320d4a9a2110776dd3165118ffd41f4b1b162340333f94" |
||||
|
||||
source "$(dirname $0)"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"http://ftp.gnu.org/gnu/gdb/gdb-${GDB_VERSION}.tar.xz" \ |
||||
${GDB_HASH} |
||||
|
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
GMP_VERSION=6.2.1 |
||||
GMP_HASH=fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2 |
||||
|
||||
source "$(dirname $0)"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"http://ftp.gnu.org/gnu/gmp/gmp-${GMP_VERSION}.tar.xz" \ |
||||
"${GMP_HASH}" |
||||
|
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
LINUXDEPLOYQT_VERSION=570ca2dcb16f59ce0a2721f780093db8037cc9e0 |
||||
LINUXDEPLOYQT_HASH=d53496c349f540ce17ea42c508d85802db1c7c3571e1bf962ec4e95482ea938e |
||||
|
||||
source "$(dirname $0)"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://github.com/probonopd/linuxdeployqt/archive/${LINUXDEPLOYQT_VERSION}.tar.gz" \ |
||||
"${LINUXDEPLOYQT_HASH}" |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
LIBEXIF_VERSION=0.6.24 |
||||
LIBEXIF_HASH=d47564c433b733d83b6704c70477e0a4067811d184ec565258ac563d8223f6ae |
||||
|
||||
source "$(dirname $0)"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://github.com/libexif/libexif/releases/download/v${LIBEXIF_VERSION}/libexif-${LIBEXIF_VERSION}.tar.bz2" \ |
||||
"${LIBEXIF_HASH}" |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
EXPAT_VERSION="2.4.1" |
||||
EXPAT_HASH="cf032d0dba9b928636548e32b327a2d66b1aab63c4f4a13dd132c2d1d2f2fb6a" |
||||
|
||||
source "$(dirname $0)"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://github.com/libexpat/libexpat/releases/download/R_${EXPAT_VERSION//./_}/expat-${EXPAT_VERSION}.tar.xz" \ |
||||
${EXPAT_HASH} |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
MINGW_W64_DEBUG_SCRIPTS_VERSION="c6ae689137844d1a6fd9c1b9a071d3f82a44c593" |
||||
MINGW_W64_DEBUG_SCRIPTS_HASH="5916bf9e6691d4f7f1c233c8c3a2b9f3b1d1ad0f58ab951381da5ec856f5d021" |
||||
|
||||
source "$(dirname $0)"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://github.com/nurupo/mingw-w64-debug-scripts/archive/${MINGW_W64_DEBUG_SCRIPTS_VERSION}.tar.gz" \ |
||||
${MINGW_W64_DEBUG_SCRIPTS_HASH} |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
MINGW_LDD_VERSION=0.2.1 |
||||
MINGW_LDD_HASH=60d34506d2f345e011b88de172ef312f37ca3ba87f3764f511061b69878ab204 |
||||
|
||||
source "$(dirname $0)"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://github.com/nurupo/mingw-ldd/archive/v${MINGW_LDD_VERSION}.tar.gz" \ |
||||
"${MINGW_LDD_HASH}" |
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
NSISSHELLEXECASUSER_HASH=8fc19829e144716a422b15a85e718e1816fe561de379b2b5ae87ef9017490799 |
||||
|
||||
source "$(dirname "$0")/common.sh" |
||||
|
||||
download_file http://nsis.sourceforge.net/mediawiki/images/c/c7/ShellExecAsUser.zip |
||||
|
||||
if ! check_sha256 "$NSISSHELLEXECASUSER_HASH" ShellExecAsUser.zip; then |
||||
exit 1 |
||||
fi |
||||
|
||||
unzip ShellExecAsUser.zip |
||||
rm ShellExecAsUser.zip |
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
OPENAL_VERSION=b80570bed017de60b67c6452264c634085c3b148 |
||||
OPENAL_HASH=e9f6d37672e085d440ef8baeebb7d62fec1d152094c162e5edb33b191462bd78 |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
## We can stop using the fork once OpenAL-Soft gets loopback capture implemented: |
||||
## https://github.com/kcat/openal-soft/pull/421 |
||||
download_verify_extract_tarball \ |
||||
"https://github.com/irungentoo/openal-soft-tox/archive/${OPENAL_VERSION}.tar.gz" \ |
||||
"${OPENAL_HASH}" |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
OPENSSL_VERSION=1.1.1l |
||||
OPENSSL_HASH=0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1 |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz" \ |
||||
"$OPENSSL_HASH" |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
OPUS_VERSION=1.3.1 |
||||
OPUS_HASH=65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://archive.mozilla.org/pub/opus/opus-${OPUS_VERSION}.tar.gz" \ |
||||
"${OPUS_HASH}" |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
QRENCODE_VERSION=4.1.1 |
||||
QRENCODE_HASH=e455d9732f8041cf5b9c388e345a641fd15707860f928e94507b1961256a6923 |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://fukuchi.org/works/qrencode/qrencode-${QRENCODE_VERSION}.tar.bz2" \ |
||||
"${QRENCODE_HASH}" |
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
QT_MAJOR=5 |
||||
QT_MINOR=12 |
||||
QT_PATCH=12 |
||||
QT_HASH=1979a3233f689cb8b3e2783917f8f98f6a2e1821a70815fb737f020cd4b6ab06 |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
https://download.qt.io/official_releases/qt/${QT_MAJOR}.${QT_MINOR}/${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}/single/qt-everywhere-src-${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}.tar.xz \ |
||||
"${QT_HASH}" |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
SNORE_VERSION=0.7.0 |
||||
SNORE_HASH=2e3f5fbb80ab993f6149136cd9a14c2de66f48cabce550dead167a9448f5bed9 |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://github.com/KDE/snorenotify/archive/v${SNORE_VERSION}.tar.gz" \ |
||||
"${SNORE_HASH}" |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
SODIUM_VERSION=1.0.18 |
||||
SODIUM_HASH=6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1 |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://download.libsodium.org/libsodium/releases/libsodium-${SODIUM_VERSION}.tar.gz" \ |
||||
"${SODIUM_HASH}" |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
SQLCIPHER_VERSION=4.5.0 |
||||
SQLCIPHER_HASH=20c46a855c47d5a0a159fdcaa8491ec7bdbaa706a734ee52bc76188b929afb14 |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://github.com/sqlcipher/sqlcipher/archive/v${SQLCIPHER_VERSION}.tar.gz" \ |
||||
"${SQLCIPHER_HASH}" |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
TOXCORE_VERSION=0.2.13 |
||||
TOXCORE_HASH=67114fa57504c58b695f5dce8ef85124d555f2c3c353d0d2615e6d4845114ab8 |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
https://github.com/TokTok/c-toxcore/archive/v$TOXCORE_VERSION.tar.gz \ |
||||
"$TOXCORE_HASH" |
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
TOXEXT_VERSION=0.0.3 |
||||
TOXEXT_HASH=99cf215d261a07bd83eafd1c69dcf78018db605898350b6137f1fd8e7c54734a |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
https://github.com/toxext/toxext/archive/v$TOXEXT_VERSION.tar.gz \ |
||||
"$TOXEXT_HASH" |
||||
|
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
TOXEXT_MESSAGES_VERSION=0.0.3 |
||||
TOXEXT_MESSAGES_HASH=e7a9a199a3257382a85a8e555b6c8c540b652a11ca9a471b9da2a25a660dfdc3 |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
https://github.com/toxext/tox_extension_messages/archive/v$TOXEXT_MESSAGES_VERSION.tar.gz \ |
||||
"$TOXEXT_MESSAGES_HASH" |
||||
|
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
set -euo pipefail |
||||
|
||||
VPX_VERSION=1.11.0 |
||||
VPX_HASH=965e51c91ad9851e2337aebcc0f517440c637c506f3a03948062e3d5ea129a83 |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
download_verify_extract_tarball \ |
||||
"https://github.com/webmproject/libvpx/archive/v$VPX_VERSION.tar.gz" \ |
||||
"${VPX_HASH}" |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
https://github.com/microsoft/vcpkg/blob/3baf583934f3077070e9ed4e7684f743ecced577/ports/openal-soft/cmake-3-11.patch |
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index a871f4c..f9f6b34 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -965,7 +965,8 @@ OPTION(ALSOFT_REQUIRE_DSOUND "Require DirectSound backend" OFF)
|
||||
OPTION(ALSOFT_REQUIRE_MMDEVAPI "Require MMDevApi backend" OFF) |
||||
IF(HAVE_WINDOWS_H) |
||||
# Check MMSystem backend |
||||
- CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0502)
|
||||
+ set(CMAKE_REQUIRED_DEFINITIONS -D_WIN32_WINNT=0x0502)
|
||||
+ CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H)
|
||||
IF(HAVE_MMSYSTEM_H) |
||||
CHECK_SHARED_FUNCTION_EXISTS(waveOutOpen "windows.h;mmsystem.h" winmm "" HAVE_LIBWINMM) |
||||
IF(HAVE_LIBWINMM) |
@ -0,0 +1,119 @@
@@ -0,0 +1,119 @@
|
||||
diff -ruN libvpx/build/make/configure.sh patched/build/make/configure.sh
|
||||
--- libvpx/build/make/configure.sh 2019-02-13 16:56:48.972857636 +0100
|
||||
+++ patched/build/make/configure.sh 2019-02-13 16:50:37.995967583 +0100
|
||||
@@ -1426,11 +1426,13 @@
|
||||
win32) |
||||
add_asflags -f win32 |
||||
enabled debug && add_asflags -g cv8 |
||||
+ add_ldflags "-Wl,-no-undefined"
|
||||
EXE_SFX=.exe |
||||
;; |
||||
win64) |
||||
add_asflags -f win64 |
||||
enabled debug && add_asflags -g cv8 |
||||
+ add_ldflags "-Wl,-no-undefined"
|
||||
EXE_SFX=.exe |
||||
;; |
||||
linux*|solaris*|android*) |
||||
diff -ruN libvpx/build/make/Makefile patched/build/make/Makefile
|
||||
--- libvpx/build/make/Makefile 2019-02-13 16:56:48.972857636 +0100
|
||||
+++ patched/build/make/Makefile 2019-02-13 16:50:37.995967583 +0100
|
||||
@@ -304,6 +304,7 @@
|
||||
$(if $(quiet),@echo " [LD] $$@") |
||||
$(qexec)$$(LD) -shared $$(LDFLAGS) \ |
||||
-Wl,--no-undefined -Wl,-soname,$$(SONAME) \ |
||||
+ -Wl,-out-implib,libvpx.dll.a \
|
||||
-Wl,--version-script,$$(EXPORTS_FILE) -o $$@ \ |
||||
$$(filter %.o,$$^) $$(extralibs) |
||||
endef |
||||
@@ -388,7 +389,7 @@
|
||||
.libs: $(LIBS) |
||||
@touch $@ |
||||
$(foreach lib,$(filter %_g.a,$(LIBS)),$(eval $(call archive_template,$(lib)))) |
||||
-$(foreach lib,$(filter %so.$(SO_VERSION_MAJOR).$(SO_VERSION_MINOR).$(SO_VERSION_PATCH),$(LIBS)),$(eval $(call so_template,$(lib))))
|
||||
+$(foreach lib,$(filter %dll,$(LIBS)),$(eval $(call so_template,$(lib))))
|
||||
$(foreach lib,$(filter %$(SO_VERSION_MAJOR).dylib,$(LIBS)),$(eval $(call dl_template,$(lib)))) |
||||
$(foreach lib,$(filter %$(SO_VERSION_MAJOR).dll,$(LIBS)),$(eval $(call dll_template,$(lib)))) |
||||
|
||||
diff -ruN libvpx/configure patched/configure
|
||||
--- libvpx/configure 2019-02-13 16:56:49.162860897 +0100
|
||||
+++ patched/configure 2019-02-13 16:53:03.328719607 +0100
|
||||
@@ -513,23 +513,23 @@
|
||||
} |
||||
|
||||
process_detect() { |
||||
- if enabled shared; then
|
||||
+ #if enabled shared; then
|
||||
# Can only build shared libs on a subset of platforms. Doing this check |
||||
# here rather than at option parse time because the target auto-detect |
||||
# magic happens after the command line has been parsed. |
||||
- case "${tgt_os}" in
|
||||
- linux|os2|solaris|darwin*|iphonesimulator*)
|
||||
+ # case "${tgt_os}" in
|
||||
+ # linux|os2|solaris|darwin*|iphonesimulator*)
|
||||
# Supported platforms |
||||
- ;;
|
||||
- *)
|
||||
- if enabled gnu; then
|
||||
- echo "--enable-shared is only supported on ELF; assuming this is OK"
|
||||
- else
|
||||
- die "--enable-shared only supported on ELF, OS/2, and Darwin for now"
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
- fi
|
||||
+ # ;;
|
||||
+ # *)
|
||||
+ # if enabled gnu; then
|
||||
+ # echo "--enable-shared is only supported on ELF; assuming this is OK"
|
||||
+ # else
|
||||
+ # die "--enable-shared only supported on ELF, OS/2, and Darwin for now"
|
||||
+ # fi
|
||||
+ # ;;
|
||||
+ # esac
|
||||
+ #fi
|
||||
if [ -z "$CC" ] || enabled external_build; then |
||||
echo "Bypassing toolchain for environment detection." |
||||
enable_feature external_build |
||||
diff -ruN libvpx/examples.mk patched/examples.mk
|
||||
--- libvpx/examples.mk 2019-02-13 16:56:49.162860897 +0100
|
||||
+++ patched/examples.mk 2019-02-13 16:50:37.995967583 +0100
|
||||
@@ -315,7 +315,7 @@
|
||||
ifneq ($(filter os2%,$(TGT_OS)),) |
||||
SHARED_LIB_SUF=_dll.a |
||||
else |
||||
-SHARED_LIB_SUF=.so
|
||||
+SHARED_LIB_SUF=.dll.a
|
||||
endif |
||||
endif |
||||
CODEC_LIB_SUF=$(if $(CONFIG_SHARED),$(SHARED_LIB_SUF),.a) |
||||
diff -ruN libvpx/libs.mk patched/libs.mk
|
||||
--- libvpx/libs.mk 2019-02-13 16:56:48.972857636 +0100
|
||||
+++ patched/libs.mk 2019-02-13 16:50:37.995967583 +0100
|
||||
@@ -256,12 +256,12 @@
|
||||
LIBVPX_SO_SYMLINKS := |
||||
LIBVPX_SO_IMPLIB := libvpx_dll.a |
||||
else |
||||
-LIBVPX_SO := libvpx.so.$(SO_VERSION_MAJOR).$(SO_VERSION_MINOR).$(SO_VERSION_PATCH)
|
||||
-SHARED_LIB_SUF := .so
|
||||
+LIBVPX_SO := libvpx.dll
|
||||
+SHARED_LIB_SUF := .dll
|
||||
EXPORT_FILE := libvpx.ver |
||||
-LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \
|
||||
- libvpx.so libvpx.so.$(SO_VERSION_MAJOR) \
|
||||
- libvpx.so.$(SO_VERSION_MAJOR).$(SO_VERSION_MINOR))
|
||||
+LIBVPX_SO_SYMLINKS :=
|
||||
+
|
||||
+
|
||||
endif |
||||
endif |
||||
endif |
||||
@@ -271,7 +271,7 @@
|
||||
$(if $(LIBVPX_SO_IMPLIB), $(BUILD_PFX)$(LIBVPX_SO_IMPLIB)) |
||||
$(BUILD_PFX)$(LIBVPX_SO): $(LIBVPX_OBJS) $(EXPORT_FILE) |
||||
$(BUILD_PFX)$(LIBVPX_SO): extralibs += -lm |
||||
-$(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx.so.$(SO_VERSION_MAJOR)
|
||||
+$(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx.dll
|
||||
$(BUILD_PFX)$(LIBVPX_SO): EXPORTS_FILE = $(EXPORT_FILE) |
||||
|
||||
libvpx.def: $(call enabled,CODEC_EXPORTS) |
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
SET(CMAKE_SYSTEM_NAME Windows) |
||||
|
||||
SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc) |
||||
SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++) |
||||
SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres) |
||||
|
||||
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32) |
||||
|
||||
# search for programs in the build host directories |
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) |
||||
# for libraries and headers in the target directories |
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) |
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) |
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
SET(CMAKE_SYSTEM_NAME Windows) |
||||
|
||||
SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc) |
||||
SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) |
||||
SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres) |
||||
|
||||
SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32) |
||||
|
||||
# search for programs in the build host directories |
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) |
||||
# for libraries and headers in the target directories |
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) |
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) |
@ -0,0 +1,93 @@
@@ -0,0 +1,93 @@
|
||||
x-shared-params: &shared_params |
||||
# Fixes various issues when building/running in the docker containers |
||||
# Known fixes: |
||||
# * Appimage mounting |
||||
# * Attaching to processes in GDB |
||||
# * Fix tcl build due to pivot_root |
||||
cap_add: |
||||
- ALL |
||||
# Allows us to run app images from within the context of a docker image |
||||
devices: |
||||
- /dev/fuse:/dev/fuse |
||||
# X11 stuff |
||||
environment: |
||||
DISPLAY: $DISPLAY |
||||
XAUTHORITY: $XAUTHORITY |
||||
volumes: |
||||
- .:/qtox |
||||
- /tmp/.X11-unix:/tmp/.X11-unix |
||||
- ~/.Xauthority:/root/.Xauthority |
||||
user: ${USER_ID:-0}:${GROUP_ID:-0} |
||||
network_mode: host |
||||
|
||||
services: |
||||
archlinux: |
||||
image: qtox_archlinux:latest |
||||
build: |
||||
context: ./buildscripts |
||||
dockerfile: docker/Dockerfile.archlinux |
||||
<<: *shared_params |
||||
debian_old: |
||||
image: qtox_debian_old:latest |
||||
build: |
||||
context: ./buildscripts |
||||
dockerfile: docker/Dockerfile.debian_old |
||||
<<: *shared_params |
||||
debian: |
||||
image: qtox_debian:latest |
||||
build: |
||||
context: ./buildscripts |
||||
dockerfile: docker/Dockerfile.debian |
||||
args: |
||||
DEBIAN_VERSION: stable |
||||
<<: *shared_params |
||||
ubuntu_lts: |
||||
image: qtox_ubuntu:latest |
||||
build: |
||||
context: ./buildscripts |
||||
dockerfile: docker/Dockerfile.ubuntu_lts |
||||
<<: *shared_params |
||||
flatpak: |
||||
image: qtox_flatpak:latest |
||||
# Flatpak build uses pivot_root() in tcl build |
||||
privileged: true |
||||
build: |
||||
context: ./buildscripts |
||||
dockerfile: docker/Dockerfile.flatpak_builder |
||||
<<: *shared_params |
||||
centos: |
||||
image: qtox_centos:latest |
||||
build: |
||||
context: ./buildscripts |
||||
dockerfile: docker/Dockerfile.centos |
||||
<<: *shared_params |
||||
fedora: |
||||
image: qtox_fedora:latest |
||||
build: |
||||
context: ./buildscripts |
||||
dockerfile: docker/Dockerfile.fedora |
||||
<<: *shared_params |
||||
opensuse: |
||||
image: qtox_opensuse:latest |
||||
build: |
||||
context: ./buildscripts |
||||
dockerfile: docker/Dockerfile.opensuse |
||||
<<: *shared_params |
||||
windows_builder: |
||||
image: qtox_windows_builder:latest |
||||
build: |
||||
context: ./buildscripts |
||||
dockerfile: docker/Dockerfile.windows_builder |
||||
args: |
||||
ARCH: x86_64 |
||||
WINEARCH: win64 |
||||
<<: *shared_params |
||||
windows_builder.i686: |
||||
image: qtox_windows_builder.i686:latest |
||||
build: |
||||
context: ./buildscripts |
||||
dockerfile: docker/Dockerfile.windows_builder |
||||
args: |
||||
ARCH: i686 |
||||
WINEARCH: win32 |
||||
<<: *shared_params |
@ -1,78 +0,0 @@
@@ -1,78 +0,0 @@
|
||||
# Copyright © 2019 by The qTox Project Contributors |
||||
# |
||||
# This file is part of qTox, a Qt-based graphical interface for Tox. |
||||
# qTox is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# qTox is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with qTox. If not, see <http://www.gnu.org/licenses/> |
||||
|
||||
FROM debian:stretch |
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive |
||||
|
||||
RUN apt-get update && \ |
||||
apt-get -y --force-yes install \ |
||||
automake \ |
||||
autotools-dev \ |
||||
build-essential \ |
||||
check \ |
||||
checkinstall \ |
||||
cmake \ |
||||
ffmpeg \ |
||||
git \ |
||||
libavcodec-dev \ |
||||
libavdevice-dev \ |
||||
libexif-dev \ |
||||
libgdk-pixbuf2.0-dev \ |
||||
libgtk2.0-dev \ |
||||
libopenal-dev \ |
||||
libopus-dev \ |
||||
libqrencode-dev \ |
||||
libqt5opengl5-dev \ |
||||
libqt5svg5-dev \ |
||||
libsodium-dev \ |
||||
libsqlcipher-dev \ |
||||
libtool \ |
||||
libvpx-dev \ |
||||
libxss-dev \ |
||||
pkg-config \ |
||||
qrencode \ |
||||
qt5-default \ |
||||
qttools5-dev \ |
||||
qttools5-dev-tools \ |
||||
yasm |
||||
|
||||
RUN git clone https://github.com/toktok/c-toxcore.git /toxcore |
||||
WORKDIR /toxcore |
||||
RUN git checkout v0.2.13 && \ |
||||
cmake . -DBOOTSTRAP_DAEMON=OFF && \ |
||||
cmake --build . && \ |
||||
make install && \ |
||||
echo '/usr/local/lib/' >> /etc/ld.so.conf.d/locallib.conf && \ |
||||
ldconfig |
||||
|
||||
RUN git clone https://github.com/toxext/toxext.git /toxext |
||||
WORKDIR /toxext |
||||
RUN git checkout v0.0.3 && \ |
||||
cmake . && \ |
||||
cmake --build . -- -j $(nproc) && \ |
||||
cmake --build . --target install |
||||
|
||||
RUN git clone https://github.com/toxext/tox_extension_messages.git /tox_extension_messages |
||||
WORKDIR /tox_extension_messages |
||||
RUN git checkout v0.0.3 && \ |
||||
cmake . && \ |
||||
cmake --build . -- -j $(nproc) && \ |
||||
cmake --build . --target install |
||||
|
||||
COPY . /qtox |
||||
WORKDIR /qtox |
||||
RUN cmake . && cmake --build . |
@ -1,75 +0,0 @@
@@ -1,75 +0,0 @@
|
||||
# Copyright © 2019 by The qTox Project Contributors |
||||
# |
||||
# This file is part of qTox, a Qt-based graphical interface for Tox. |
||||
# qTox is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# qTox is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with qTox. If not, see <http://www.gnu.org/licenses/> |
||||
|
||||
FROM ubuntu:18.04 |
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive |
||||
|
||||
RUN apt-get update && \ |
||||
apt-get -y --force-yes install \ |
||||
build-essential \ |
||||
cmake \ |
||||
git \ |
||||
libavcodec-dev \ |
||||
libavdevice-dev \ |
||||
libavfilter-dev \ |
||||
libavutil-dev \ |
||||
libexif-dev \ |
||||
libgdk-pixbuf2.0-dev \ |
||||
libglib2.0-dev \ |
||||
libgtk2.0-dev \ |
||||
libopenal-dev \ |
||||
libopus-dev \ |
||||
libqrencode-dev \ |
||||
libqt5opengl5-dev \ |
||||
libqt5svg5-dev \ |
||||
libsodium-dev \ |
||||
libsqlcipher-dev \ |
||||
libswresample-dev \ |
||||
libswscale-dev \ |
||||
libvpx-dev \ |
||||
libxss-dev \ |
||||
qrencode \ |
||||
qt5-default \ |
||||
qttools5-dev-tools \ |
||||
qttools5-dev |
||||
|
||||
RUN git clone https://github.com/toktok/c-toxcore.git /toxcore |
||||
WORKDIR /toxcore |
||||
RUN git checkout v0.2.13 && \ |
||||
cmake . -DBOOTSTRAP_DAEMON=OFF && \ |
||||
cmake --build . && \ |
||||
make install && \ |
||||
echo '/usr/local/lib/' >> /etc/ld.so.conf.d/locallib.conf && \ |
||||
ldconfig |
||||
|
||||
RUN git clone https://github.com/toxext/toxext.git /toxext |
||||
WORKDIR /toxext |
||||
RUN git checkout v0.0.3 && \ |
||||
cmake . && \ |
||||
cmake --build . -- -j $(nproc) && \ |
||||
cmake --build . --target install |
||||
|
||||
RUN git clone https://github.com/toxext/tox_extension_messages.git /tox_extension_messages |
||||
WORKDIR /tox_extension_messages |
||||
RUN git checkout v0.0.3 && \ |
||||
cmake . && \ |
||||
cmake --build . -- -j $(nproc) && \ |
||||
cmake --build . --target install |
||||
|
||||
COPY . /qtox |
||||
WORKDIR /qtox |
||||
RUN cmake . && cmake --build . |
@ -1,22 +0,0 @@
@@ -1,22 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2019 by The qTox Project Contributors |
||||
# |
||||
# This file is part of qTox, a Qt-based graphical interface for Tox. |
||||
# qTox is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# qTox is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with qTox. If not, see <http://www.gnu.org/licenses/> |
||||
|
||||
|
||||
cd "$(dirname "$0")/.." |
||||
docker build . -f docker/Dockerfile.debian -t qtox |
||||
cd - |
@ -1,22 +0,0 @@
@@ -1,22 +0,0 @@
|
||||
#!/bin/bash |
||||
|
||||
# Copyright © 2019 by The qTox Project Contributors |
||||
# |
||||
# This file is part of qTox, a Qt-based graphical interface for Tox. |
||||
# qTox is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# qTox is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with qTox. If not, see <http://www.gnu.org/licenses/> |
||||
|
||||
|
||||
cd "$(dirname "$0")/.." |
||||
docker build . -f docker/Dockerfile.ubuntu -t qtox |
||||
cd - |
@ -1,24 +0,0 @@
@@ -1,24 +0,0 @@
|
||||
#!/bin/sh |
||||
|
||||
# Copyright © 2019 by The qTox Project Contributors |
||||
# |
||||
# This file is part of qTox, a Qt-based graphical interface for Tox. |
||||
# qTox is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# qTox is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with qTox. If not, see <http://www.gnu.org/licenses/> |
||||
|
||||
|
||||
XSOCK=/tmp/.X11-unix |
||||
XAUTH=/tmp/.docker.xauth |
||||
touch $XAUTH |
||||
xauth nlist $DISPLAY | sed -e 's/^..../ffff/' | xauth -f $XAUTH nmerge - |
||||
docker run -ti --rm -v $XSOCK:$XSOCK -v $XAUTH:$XAUTH -e DISPLAY=$DISPLAY -e XAUTHORITY=$XAUTH qtox ./qtox |
@ -1,54 +0,0 @@
@@ -1,54 +0,0 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
# SPDX-License-Identifier: GPL-3.0+ |
||||
# |
||||
# Copyright © 2018-2019 by The qTox Project Contributors |
||||
# |
||||
# This script should be run from the root of the repository |
||||
|
||||
# usage: ./flatpak/build-flatpak.sh [Debug] |
||||
# |
||||
# If [Debug] is set to "Debug" the container will run in interactive mode and |
||||
# stay open to poke around in the filesystem. |
||||
|
||||
readonly DEBUG="$1" |
||||
|
||||
# Fail out on error |
||||
set -exo pipefail |
||||
|
||||
if [ ! -f ./flatpak/build-flatpak.sh ]; then |
||||
echo "" |
||||
echo "You are attempting to run the build-flatpak.sh from a wrong directory." |
||||
echo "If you wish to run this script, you'll have to have" |
||||
echo "the repository root directory as the working directory." |
||||
echo "" |
||||
exit 1 |
||||
fi |
||||
|
||||
mkdir -p ./output |
||||
|
||||
if [ "$DEBUG" == "Debug" ] |
||||
then |
||||
echo "Execute: /qtox/appimage/build.sh to start the build script" |
||||
echo "Execute: exit to leave the container" |
||||
|
||||
docker run --rm --privileged -it \ |
||||
-v $PWD:/qtox \ |
||||
-v $PWD/output:/output \ |
||||
debian:buster-slim \ |
||||
/bin/bash |
||||
else |
||||
docker run --rm --privileged \ |
||||
-v $PWD:/qtox \ |
||||
-v $PWD/output:/output \ |
||||
debian:buster-slim \ |
||||
/bin/bash -c "/qtox/flatpak/build.sh" |
||||
fi |
||||
|
||||
# use the version number in the name when building a tag on Travis CI |
||||
if [ -n "$TRAVIS_TAG" ] |
||||
then |
||||
readonly OUTFILE=./output/qTox-"$TRAVIS_TAG".x86_64.flatpak |
||||
mv ./output/*.flatpak "$OUTFILE" |
||||
sha256sum "$OUTFILE" > "$OUTFILE".sha256 |
||||
fi |
@ -0,0 +1,131 @@
@@ -0,0 +1,131 @@
|
||||
#!/usr/bin/env python3 |
||||
|
||||
# Copyright © 2021 by The qTox Project Contributors |
||||
# |
||||
# This program is libre software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
||||
from argparse import ArgumentParser |
||||
from pathlib import Path |
||||
|
||||
import re |
||||
import tempfile |
||||
import json |
||||
import unittest |
||||
import subprocess |
||||
|
||||
QTOX_ROOT = Path(__file__).parent.parent |
||||
DOWNLOAD_FILE_PATHS = QTOX_ROOT / 'buildscripts' / 'download' |
||||
|
||||
def parse_args(): |
||||
parser = ArgumentParser(description=""" |
||||
Update dependencies of a flathub manifest to match the versions used by |
||||
qtox. This script will iterate over all known dependencies in the manifest |
||||
and replace their tags with the ones specified by our download_xxx.sh |
||||
scripts. The commit hash for the tag will be replaced with whatever is |
||||
currently in the git remote |
||||
""") |
||||
parser.add_argument( |
||||
"--flathub-manifest", |
||||
help="Path to flathub manifest", |
||||
required=True, |
||||
dest="flathub_manifest_path") |
||||
parser.add_argument( |
||||
"--output", |
||||
help="Output manifest path", |
||||
required=True, |
||||
dest="output_manifest_path") |
||||
return parser.parse_args() |
||||
|
||||
VERSION_EXTRACT_REGEX=re.compile(".*_VERSION=(.*)") |
||||
def find_version(download_script_path): |
||||
""" |
||||
Find the version specified for a given dependency by parsing its download script |
||||
""" |
||||
# Unintelligent regex parsing, but it will have to do. |
||||
# Hope there is no shell expansion in our version info, otherwise we'll have |
||||
# to do something a little more intelligent |
||||
with open(download_script_path) as f: |
||||
script_content = f.read() |
||||
matches = VERSION_EXTRACT_REGEX.search(script_content, re.MULTILINE) |
||||
|
||||
return matches.group(1) |
||||
|
||||
class FindVersionTest(unittest.TestCase): |
||||
def test_version_parsing(self): |
||||
# Create a dummy download script and check that we can extract the version from it |
||||
with tempfile.TemporaryDirectory() as d: |
||||
sample_download_script = """ |
||||
#!/bin/bash |
||||
|
||||
source "$(dirname "$0")"/common.sh |
||||
|
||||
TEST_VERSION=1.2.3 |
||||
TEST_HASH=:) |
||||
|
||||
download_verify_extrat_tarball \ |
||||
https://test_site.com/${TEST_VERSION} \ |
||||
${TEST_HASH} |
||||
""" |
||||
|
||||
sample_download_script_path = d + '/test_script.sh' |
||||
with open(sample_download_script_path, 'w') as f: |
||||
f.write(sample_download_script) |
||||
|
||||
self.assertEqual(find_version(sample_download_script_path), "1.2.3") |
||||
|
||||
def load_flathub_manifest(flathub_manifest_path): |
||||
with open(flathub_manifest_path) as f: |
||||
return json.load(f) |
||||
|
||||
def commit_from_tag(url, tag): |
||||
git_output = subprocess.run( |
||||
['git', 'ls-remote', url, f"{tag}^{{}}"], check=True, stdout=subprocess.PIPE) |
||||
commit = git_output.stdout.split(b'\t')[0] |
||||
return commit.decode() |
||||
|
||||
class CommitFromTagTest(unittest.TestCase): |
||||
def test_commit_from_tag(self): |
||||
self.assertEqual(commit_from_tag(str(QTOX_ROOT), "v1.17.3"), "c0e9a3b79609681e5b9f6bbf8f9a36cb1993dc5f") |
||||
|
||||
def update_source(module, tag): |
||||
module_source = module["sources"][0] |
||||
module_source["tag"]= tag |
||||
module_source["commit"] = commit_from_tag(module_source["url"], module_source["tag"]) |
||||
|
||||
def main(flathub_manifest_path, output_manifest_path): |
||||
flathub_manifest = load_flathub_manifest(flathub_manifest_path) |
||||
|
||||
sqlcipher_version = find_version(DOWNLOAD_FILE_PATHS / 'download_sqlcipher.sh') |
||||
sodium_version = find_version(DOWNLOAD_FILE_PATHS / 'download_sodium.sh') |
||||
toxcore_version = find_version(DOWNLOAD_FILE_PATHS / 'download_toxcore.sh') |
||||
toxext_version = find_version(DOWNLOAD_FILE_PATHS / 'download_toxext.sh') |
||||
toxext_messages_version = find_version(DOWNLOAD_FILE_PATHS / 'download_toxext_messages.sh') |
||||
|
||||
for module in flathub_manifest["modules"]: |
||||
if module["name"] == "sqlcipher": |
||||
update_source(module, f"v{sqlcipher_version}") |
||||
elif module["name"] == "libsodium": |
||||
update_source(module, sodium_version) |
||||
elif module["name"] == "c-toxcore": |
||||
update_source(module, f"v{toxcore_version}") |
||||
elif module["name"] == "toxext": |
||||
update_source(module, f"v{toxext_version}") |
||||
elif module["name"] == "tox_extension_messages": |
||||
update_source(module, f"v{toxext_messages_version}") |
||||
|
||||
with open(output_manifest_path, 'w') as f: |
||||
json.dump(flathub_manifest, f, indent=4) |
||||
|
||||
if __name__ == '__main__': |
||||
main(**vars(parse_args())) |
File diff suppressed because it is too large
Load Diff
@ -1,14 +0,0 @@
@@ -1,14 +0,0 @@
|
||||
# the name of the target operating system |
||||
SET(CMAKE_SYSTEM_NAME Windows) |
||||
|
||||
# which compilers to use for C and C++ |
||||
SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc) |
||||
SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) |
||||
SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres) |
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands: |
||||
# search headers and libraries in the target environment, search |
||||
# programs in the host environment |
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) |
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) |
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) |
Loading…
Reference in new issue