mirror of
https://github.com/Sude-/lgogdownloader.git
synced 2024-11-20 03:39:17 +01:00
LGOGDownloader is unofficial downloader to GOG.com for Linux users. It uses the same API as the official GOG Galaxy.
3f223684cb
No actual code changes were necessary. I have partly followed https://doc.qt.io/qt-6/cmake-qt5-and-qt6-compatibility.html, but the versionless targets only work from Qt 5.15 onwards. The suggested workaround chooses 5 over 6 and does not appear to work properly when one of the required components is missing. Using the versionless approach with an additional variable for the targets seems to work best. If necessary, Qt 5 can be forced over 6 by passing `-DCMAKE_DISABLE_FIND_PACKAGE_Qt6=ON`. I have tested this by tweaking the code to force the GUI to appear. |
||
---|---|---|
.github/workflows | ||
cmake | ||
include | ||
man | ||
src | ||
.gitignore | ||
CMakeLists.txt | ||
COPYING | ||
main.cpp | ||
README.md |
LGOGDownloader
This repository contains the code of LGOGDownloader which is unoffcial open source downloader for GOG.com. It uses the same API as GOG Galaxy which doesn't have Linux support at the moment.
Dependencies
- libcurl >= 7.55.0
- librhash
- jsoncpp
- htmlcxx
- tinyxml2
- boost (regex, date-time, system, filesystem, program-options, iostreams)
- zlib
- qtwebengine if built with -DUSE_QT_GUI=ON
Make dependencies
Debian/Ubuntu
# apt install build-essential libcurl4-openssl-dev libboost-regex-dev \
libjsoncpp-dev librhash-dev libtinyxml2-dev libhtmlcxx-dev \
libboost-system-dev libboost-filesystem-dev libboost-program-options-dev \
libboost-date-time-dev libboost-iostreams-dev help2man cmake \
pkg-config zlib1g-dev qtwebengine5-dev ninja-build
Build and install
$ cmake -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DUSE_QT_GUI=ON -GNinja
$ ninja -Cbuild install
Fedora
sudo dnf install cmake make gcc gcc-c++ glibc tinyxml2-devel rhash-devel \
htmlcxx-devel tinyxml-devel jsoncpp-devel liboauth-devel libcurl-devel \
boost-devel help2man
Build and Install
cmake ..
make
Usage examples
-
Login
lgogdownloader --login
-
Listing games and details for specific games
lgogdownloader --list lgogdownloader --list details --game witcher
-
Downloading files
lgogdownloader --download lgogdownloader --download --game stardew_valley --exclude extras lgogdownloader --download --threads 6 --platform linux --language en+de,fr lgogdownloader --download-file tyrian_2000/9543
-
Repairing files
lgogdownloader --repair --game beneath_a_steel_sky lgogdownloader --repair --download --game "^a"
-
Using Galaxy API for listing and installing game builds
lgogdownloader --galaxy-platform windows --galaxy-show-builds stardew_valley lgogdownloader --galaxy-platform windows --galaxy-install stardew_valley/0 lgogdownloader --galaxy-platform windows --galaxy-install beneath_a_steel_sky/0 --galaxy-no-dependencies
-
See man page or help text for more
lgogdownloader --help man lgogdownloader