diff --git a/eclass/gog.eclass b/eclass/gog.eclass index e4af077..9a6f507 100644 --- a/eclass/gog.eclass +++ b/eclass/gog.eclass @@ -43,8 +43,10 @@ PROPERTIES+="live" : ${GOG_GAME_INSTALLER:=()} LICENSE+="GOG_EULA" +# lgogdownloader-3.8::gentoo can be used as it has the necessary patch required for +# headless operations with Portage. BDEPEND+=" - games-util/lgogdownloader[portage] + >=games-util/lgogdownloader-3.8 app-arch/innoextract " diff --git a/games-util/lgogdownloader/Manifest b/games-util/lgogdownloader/Manifest deleted file mode 100644 index e11639e..0000000 --- a/games-util/lgogdownloader/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST lgogdownloader-3.7.tar.gz 85653 BLAKE2B bb6fe56be291ca726b97cfb7ce83e87e855584da911839a9bc6a923c027e7ea67e83e62a5e8bb1a0c62dd053a7d6728c1e82896d19ba48a310574dc8c6a647f5 SHA512 2085b9c64008d790a28dcb9d22009340acac164db316523919dcf797255fd57a36160950fb222e82b9ee6262ef8c0e86193e2d9a4488ea2105f9f4bbe7db727b diff --git a/games-util/lgogdownloader/files/0001-recycle-cookies-and-tokens.patch b/games-util/lgogdownloader/files/0001-recycle-cookies-and-tokens.patch deleted file mode 100644 index 20dcc86..0000000 --- a/games-util/lgogdownloader/files/0001-recycle-cookies-and-tokens.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- lgogdownloader/src/downloader.cpp 2020-04-17 15:41:32.142346898 +0200 -+++ lgogdownloader-portage/src/downloader.cpp 2020-04-17 17:04:49.688606206 +0200 -@@ -246,6 +246,7 @@ - { - std::string email; - std::string password; -+ bool headless = false; - - if (!Globals::globalConfig.sEmail.empty() && !Globals::globalConfig.sPassword.empty()) - { -@@ -255,24 +256,32 @@ - else - { - if (!isatty(STDIN_FILENO)) { -- std::cerr << "Unable to read email and password" << std::endl; -- return 0; -- } -- std::cerr << "Email: "; -- std::getline(std::cin,email); -+ /* Attempt to read this stuff from elsewhere */ -+ bool cookie_gone = !(boost::filesystem::exists(Globals::globalConfig.curlConf.sCookiePath)); -+ bool tokens_gone = !(boost::filesystem::exists(Globals::globalConfig.sConfigDirectory + "/galaxy_tokens.json")); -+ std::cout << Globals::globalConfig.curlConf.sCookiePath << std::endl; -+ std::cout << (Globals::globalConfig.sConfigDirectory + "/galaxy_tokens.json") << std::endl; -+ if(cookie_gone || tokens_gone) { -+ std::cerr << "Unable to read email and password" << std::endl; -+ return 0; -+ } else headless = true; -+ } else { -+ std::cerr << "Email: "; -+ std::getline(std::cin,email); - -- std::cerr << "Password: "; -- struct termios termios_old, termios_new; -- tcgetattr(STDIN_FILENO, &termios_old); // Get current terminal attributes -- termios_new = termios_old; -- termios_new.c_lflag &= ~ECHO; // Set ECHO off -- tcsetattr(STDIN_FILENO, TCSANOW, &termios_new); // Set terminal attributes -- std::getline(std::cin, password); -- tcsetattr(STDIN_FILENO, TCSANOW, &termios_old); // Restore old terminal attributes -- std::cerr << std::endl; -+ std::cerr << "Password: "; -+ struct termios termios_old, termios_new; -+ tcgetattr(STDIN_FILENO, &termios_old); // Get current terminal attributes -+ termios_new = termios_old; -+ termios_new.c_lflag &= ~ECHO; // Set ECHO off -+ tcsetattr(STDIN_FILENO, TCSANOW, &termios_new); // Set terminal attributes -+ std::getline(std::cin, password); -+ tcsetattr(STDIN_FILENO, TCSANOW, &termios_old); // Restore old terminal attributes -+ std::cerr << std::endl; -+ } - } - -- if (email.empty() || password.empty()) -+ if ((email.empty() || password.empty()) && !headless) - { - std::cerr << "Email and/or password empty" << std::endl; - return 0; diff --git a/games-util/lgogdownloader/files/export_gog_to_portage b/games-util/lgogdownloader/files/export_gog_to_portage deleted file mode 100644 index e433931..0000000 --- a/games-util/lgogdownloader/files/export_gog_to_portage +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -function stringify_dir { - tar -c "$1" | xz -z9evc 2>/dev/null | base64 | tr -d '\n' | sed 's/$/\n/' -} - -pushd ~ >/dev/null - BACKUP="" - GOG_CONF_DIR=".config/lgogdownloader" - if [ -d ${GOG_CONF_DIR} ]; then - BACKUP=$(stringify_dir "${GOG_CONF_DIR}") - fi - rm -rf "${GOG_CONF_DIR}" - lgogdownloader --login - OUTPUT=$(stringify_dir "${GOG_CONF_DIR}") - rm -rf "${GOG_CONF_DIR}" - if [ "${BACKUP}" != "" ]; then - echo "${BACKUP}" | base64 -d | tar -Jxf - -C ~ - fi -popd >/dev/null - -echo "Your GOG_CONFIG:" -echo "${OUTPUT}" diff --git a/games-util/lgogdownloader/lgogdownloader-3.7-r1.ebuild b/games-util/lgogdownloader/lgogdownloader-3.7-r1.ebuild deleted file mode 100644 index 1c15b42..0000000 --- a/games-util/lgogdownloader/lgogdownloader-3.7-r1.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake - -DESCRIPTION="Unofficial downloader for GOG content." -HOMEPAGE="https://sites.google.com/site/gogdownloader/" -SRC_URI="https://sites.google.com/site/gogdownloader/${P}.tar.gz" -LICENSE="WTFPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="gui portage" - -RDEPEND=">=app-crypt/rhash-1.3.3-r2:0= - dev-cpp/htmlcxx:0= - dev-libs/boost:0= - >=dev-libs/jsoncpp-1.7:0= - dev-libs/tinyxml2:0= - >=net-misc/curl-7.32:0=[ssl] - gui? ( dev-qt/qtwebengine:5=[widgets] ) - portage? ( app-shells/bash:0 - sys-apps/coreutils - app-arch/xz-utils - app-arch/tar - sys-apps/sed - )" - -DEPEND="${RDEPEND}" - -BDEPEND="sys-apps/help2man - virtual/pkgconfig" - -src_configure() { - local mycmakeargs=( - -DUSE_QT_GUI=$(usex gui) - ) - if use portage; then - patch -p1 < "${FILESDIR}/0001-recycle-cookies-and-tokens.patch" - fi - cmake_src_configure -} - -src_install() { - cmake_src_install - gunzip "${ED}"/usr/share/man/man1/${PN}.1.gz || die - if use portage; then - dobin "${FILESDIR}/export_gog_to_portage" - fi -} diff --git a/games-util/lgogdownloader/metadata.xml b/games-util/lgogdownloader/metadata.xml deleted file mode 100644 index 43f8c55..0000000 --- a/games-util/lgogdownloader/metadata.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Enables headless operation required for Portage integration - - - Graphical user interface - - -