Autoupdates Unvanquished using Unvanquished's CDN
git submodule init && git submodule update
Before building the updater itself you need to build aria2 library
cd aria2
autoreconf -i
./configure --without-libxml2 --without-libexpat --without-sqlite3 --enable-libaria2 --without-zlib --without-libcares --enable-static=yes ARIA2_STATIC=yes --without-libssh2 --disable-websocket --disable-nls --with-openssl
make -j4
cd ..
Note: you need Qt 5.8 at least.
QT_SELECT=5 qmake -config release
make -j4
docker build -t unvlauncher-linux .
docker run -v `pwd`/build-docker:/build-docker -u `id -u $USER` unvlauncher-linux
Search for updater2 (or updater2-nonstripped) in build-docker directory.
If the code is checked out on a Windows host, you must ensure that the line endings in the aria2 submodule are LF. The symptom of CRLF newlines is libtoolize: AC_CONFIG_MACRO_DIR([m4]) conflicts with ACLOCAL_AMFLAGS=-I m4
. To reset the newlines:
cd aria2
git config core.autocrlf input
git rm -r --cached . && git reset --hard
The first line below runs the Docker build for Windows. The last 3 lines are to copy the result out of the container.
docker build -t unvlauncher-win -f Dockerfile.win .
docker create --name unvlauncher-win unvlauncher-win
docker cp unvlauncher-win:/build/release/updater2.exe ./build-docker
docker rm unvlauncher-win
Search for updater2.exe in build-docker directory.
curl -LO https://download.qt.io/archive/qt/5.14/5.14.2/single/qt-everywhere-src-5.14.2.tar.xz
tar -xzf qt-everywhere-src-5.14.2.tar.xz
cd qt-everywhere-src-5.14.2
MODULES=qtbase,qtquickcontrols,qtquickcontrols2,qtsvg,qtgraphicaleffects
# Default install location (--prefix): /usr/local/Qt-5.14.2
./configure -opensource -confirm-license -release -optimize-size -no-shared -no-framework -static --c++std=14 -nomake tests -nomake tools -nomake examples
cat <(echo '#include <CoreGraphics/CGColorSpace.h>') qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h > tmp && mv tmp qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h
eval make -j`sysctl -n hw.logicalcpu` module-{$MODULES}
echo $? # If nonzero, repeat previous command
eval sudo make module-{$MODULES}-install_subtargets
brew install autoconf automake libtool pkg-config gettext
# If building on M1, target x86 by running in Rosetta: arch -x86_64 ./mac-build-aria.sh
# (the --target option to configure doesn't seem to have any effect)
./mac-build-aria.sh
mkdir build; cd build
/usr/local/Qt-5.14.2/bin/qmake -config release ..
make
The Unvanquished Updater as a whole is available under GPLv3. Source files in this repository are licensed as GPL version 3 or greater, unless the file specifies otherwise.
Dependencies have the following licenses:
- Qt: GPLv2 or GPLv3 or LGPLv3
- Quazip: LGPL version 2.1 or greater
- Fluid: Mozilla Public License 2.0
- ExecInExplorer.cpp: MIT License