app-emulation/dxvk: Add USE-flag skip-toolchain-check

The checks assume that the toolchain was installed with crossdev. The
flag disables the checks for cases where the toolchain was installed
with some other method.

Bug: #2185
Signed-off-by: tastytea <tastytea@tastytea.de>
This commit is contained in:
tastytea 2022-05-13 18:56:38 +02:00
parent 8b79f2fd2c
commit 835b5b8bf6
Signed by: tastytea
SSH Key Fingerprint: SHA256:FBkvrOlhq5use1XEttyUGT4bUTDVA1ar9SgIc9P03cM
3 changed files with 41 additions and 35 deletions

View File

@ -22,7 +22,7 @@ SLOT="0"
if [[ "${PV}" != *9999* ]]; then if [[ "${PV}" != *9999* ]]; then
KEYWORDS="~amd64" KEYWORDS="~amd64"
fi fi
IUSE="+d3d9 +d3d10 +d3d11 debug +dxgi video_cards_nvidia test" IUSE="+d3d9 +d3d10 +d3d11 debug +dxgi video_cards_nvidia skip-toolchain-check test"
DEPEND=" DEPEND="
dev-util/vulkan-headers dev-util/vulkan-headers
@ -47,26 +47,28 @@ PATCHES=(
RESTRICT="!test? ( test )" RESTRICT="!test? ( test )"
pkg_pretend () { pkg_pretend () {
local -a categories if ! use skip-toolchain-check; then
use abi_x86_64 && categories+=("cross-x86_64-w64-mingw32") local -a categories
use abi_x86_32 && categories+=("cross-i686-w64-mingw32") use abi_x86_64 && categories+=("cross-x86_64-w64-mingw32")
use abi_x86_32 && categories+=("cross-i686-w64-mingw32")
for cat in ${categories[@]}; do for cat in ${categories[@]}; do
local thread_model="$(LC_ALL=C ${cat/cross-/}-gcc -v 2>&1 \ local thread_model="$(LC_ALL=C ${cat/cross-/}-gcc -v 2>&1 \
| grep 'Thread model' | cut -d' ' -f3)" || die | grep 'Thread model' | cut -d' ' -f3)" || die
if ! has_version -b ">=${cat}/mingw64-runtime-8.0.0[libraries]" || if ! has_version -b ">=${cat}/mingw64-runtime-8.0.0[libraries]" ||
! has_version -b "${cat}/gcc" || ! has_version -b "${cat}/gcc" ||
[[ "${thread_model}" != "posix" ]]; then [[ "${thread_model}" != "posix" ]]; then
eerror "The ${cat} toolchain is not properly installed." eerror "The ${cat} toolchain is not properly installed."
eerror "Make sure to install ${cat}/mingw64-runtime >= 8.0.0 with USE=\"libraries\"" eerror "Make sure to install ${cat}/mingw64-runtime >= 8.0.0 with USE=\"libraries\""
eerror "and ${cat}/gcc with EXTRA_ECONF=\"--enable-threads=posix\"." eerror "and ${cat}/gcc with EXTRA_ECONF=\"--enable-threads=posix\"."
eerror "See <https://wiki.gentoo.org/wiki/DXVK> for more information." eerror "See <https://wiki.gentoo.org/wiki/DXVK> for more information."
einfo "Alternatively you can install app-emulation/dxvk-bin from the “guru” repo." einfo "Alternatively you can install app-emulation/dxvk-bin from the “guru” repo."
die "${cat} toolchain is not properly installed." die "${cat} toolchain is not properly installed."
fi fi
done done
fi
einfo "Please report build errors first to the package maintainer via" einfo "Please report build errors first to the package maintainer via"
einfo "<https://schlomp.space/tastytea/overlay/issues> or email." einfo "<https://schlomp.space/tastytea/overlay/issues> or email."

View File

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors # Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=7 EAPI=7
@ -24,7 +24,7 @@ if [[ "${PV}" == "9999" ]]; then
else else
KEYWORDS="~amd64" KEYWORDS="~amd64"
fi fi
IUSE="+d3d9 +d3d10 +d3d11 debug +dxgi video_cards_nvidia test" IUSE="+d3d9 +d3d10 +d3d11 debug +dxgi video_cards_nvidia skip-toolchain-check test"
DEPEND=" DEPEND="
dev-util/vulkan-headers dev-util/vulkan-headers
@ -49,26 +49,28 @@ PATCHES=(
RESTRICT="!test? ( test )" RESTRICT="!test? ( test )"
pkg_pretend () { pkg_pretend () {
local -a categories if ! use skip-toolchain-check; then
use abi_x86_64 && categories+=("cross-x86_64-w64-mingw32") local -a categories
use abi_x86_32 && categories+=("cross-i686-w64-mingw32") use abi_x86_64 && categories+=("cross-x86_64-w64-mingw32")
use abi_x86_32 && categories+=("cross-i686-w64-mingw32")
for cat in ${categories[@]}; do for cat in ${categories[@]}; do
local thread_model="$(LC_ALL=C ${cat/cross-/}-gcc -v 2>&1 \ local thread_model="$(LC_ALL=C ${cat/cross-/}-gcc -v 2>&1 \
| grep 'Thread model' | cut -d' ' -f3)" || die | grep 'Thread model' | cut -d' ' -f3)" || die
if ! has_version -b "${cat}/mingw64-runtime[libraries]" || if ! has_version -b "${cat}/mingw64-runtime[libraries]" ||
! has_version -b "${cat}/gcc" || ! has_version -b "${cat}/gcc" ||
[[ "${thread_model}" != "posix" ]]; then [[ "${thread_model}" != "posix" ]]; then
eerror "The ${cat} toolchain is not properly installed." eerror "The ${cat} toolchain is not properly installed."
eerror "Make sure to install ${cat}/mingw64-runtime with USE=\"libraries\"" eerror "Make sure to install ${cat}/mingw64-runtime with USE=\"libraries\""
eerror "and ${cat}/gcc with EXTRA_ECONF=\"--enable-threads=posix\"." eerror "and ${cat}/gcc with EXTRA_ECONF=\"--enable-threads=posix\"."
eerror "See <https://wiki.gentoo.org/wiki/DXVK> for more information." eerror "See <https://wiki.gentoo.org/wiki/DXVK> for more information."
einfo "Alternatively you can install app-emulation/dxvk-bin from the “guru” repo." einfo "Alternatively you can install app-emulation/dxvk-bin from the “guru” repo."
die "${cat} toolchain is not properly installed." die "${cat} toolchain is not properly installed."
fi fi
done done
fi
einfo "Please report build errors first to the package maintainer via" einfo "Please report build errors first to the package maintainer via"
einfo "<https://schlomp.space/tastytea/overlay/issues> or email." einfo "<https://schlomp.space/tastytea/overlay/issues> or email."

View File

@ -13,5 +13,7 @@
<flag name="d3d10">Build D3D10</flag> <flag name="d3d10">Build D3D10</flag>
<flag name="d3d11">Build D3D11</flag> <flag name="d3d11">Build D3D11</flag>
<flag name="dxgi">Build DXGI</flag> <flag name="dxgi">Build DXGI</flag>
<flag name="skip-toolchain-check">Do not check if the toolchain
is installed correctly</flag>
</use> </use>
</pkgmetadata> </pkgmetadata>