View previous topic :: View next topic |
Author |
Message |
ritzmax72 Tux's lil' helper
Joined: 10 Aug 2014 Posts: 82
|
Posted: Tue Jul 11, 2023 8:15 pm Post subject: app-emulation/rpcs3::guru is masked but no keyword |
|
|
I don't know if this is good place to query about non-gentoo repos but...
rpcs3 from guru overlay has been masked but --autounmask-write does nothing.
Also, the ebuild does not seem to have any value in "KEYWORD" section.
How does one know if this is just masked regardless by gentoo team or there is a bug in ebuild making?
Code: |
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake flag-o-matic git-r3 xdg
DESCRIPTION="PS3 emulator/debugger"
HOMEPAGE="https://rpcs3.net/"
EGIT_REPO_URI="https://github.com/RPCS3/rpcs3"
EGIT_SUBMODULES=( 'asmjit' 'llvm' '3rdparty/flatbuffers' '3rdparty/wolfssl'
'3rdparty/SoundTouch/soundtouch' )
# Delete sources when ensuring yaml-cpp compiled with fexceptions
EGIT_SUBMODULES+=( '3rdparty/yaml-cpp' )
LICENSE="GPL-2"
SLOT="0"
KEYWORDS=""
DEPEND="alsa? ( media-libs/alsa-lib )
faudio? ( app-emulation/faudio )
pulseaudio? ( media-sound/pulseaudio )
app-arch/p7zip
dev-libs/hidapi
dev-libs/libevdev
dev-libs/pugixml
dev-libs/xxhash
media-libs/cubeb
media-libs/glew
media-libs/libpng
media-libs/openal
sys-libs/zlib"
# dev-cpp/yaml-cpp
RDEPEND="${DEPEND}"
BDEPEND=""
IUSE="alsa discord faudio +llvm pulseaudio vulkan wayland"
src_unpack() {
git clone https://github.com/intel/ittapi "${WORKDIR}"/ittapi
git-r3_src_unpack
}
src_prepare() {
append-cflags -DNDEBUG -Wno-error=stringop-truncation
append-cppflags -DNDEBUG -Wno-error=stringop-truncation
# Disable cache
sed -i -e '/find_program(CCACHE_FOUND/d' -e '/set(.*_FLAGS/d' \
CMakeLists.txt || die
# Unbundle hidapi
sed -i -e '/hidapi\.h/{s:":<hidapi/:;s/"/>/}' rpcs3/Input/hid_pad_handler.h || die
sed -i -e '/hidapi/d' 3rdparty/CMakeLists.txt
sed -i -e '1afind_package(PkgConfig REQUIRED)\npkg_check_modules(hidapi-hidraw REQUIRED hidapi-hidraw)' rpcs3/CMakeLists.txt
sed -i -e 's/3rdparty::hidapi/hidapi-hidraw/' rpcs3/CMakeLists.txt rpcs3/rpcs3qt/CMakeLists.txt || die
sed -i -e 's/hid_write_control/hid_write/' rpcs3/Input/dualsense_pad_handler.cpp rpcs3/Input/ds4_pad_handler.cpp || die
# Move ittapi to the right place via cmake
local regex='/GIT_EXECUTABLE} clone/s!(.*!(COMMAND mv '
regex+="${WORKDIR}"
regex+='/ittapi \${ITTAPI_SOURCE_DIR}!'
sed -i -e "${regex}" \
llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt || die ${regex}
# Unbundle cubeb
sed -i -e '/cubeb/d' 3rdparty/CMakeLists.txt || die
sed -i -e '$afind_package(cubeb)\n' CMakeLists.txt || die
sed -i -e 's/3rdparty::cubeb/cubeb/' rpcs3/Emu/CMakeLists.txt || die
# Unbundle yaml-cpp: system yaml-cpp should be compiled with -fexceptions
# sed -i -e '/yaml-cpp/d' 3rdparty/CMakeLists.txt || die
# sed -i -e '$afind_package(yaml-cpp)\n' CMakeLists.txt || die
# sed -i -e 's/3rdparty::yaml-cpp/yaml-cpp/' rpcs3/Emu/CMakeLists.txt \
# rpcs3/rpcs3qt/CMakeLists.txt || die
# Unbundle glslang SPIRV
sed -i -e '/add_subdirectory(glslang/d' \
-e '/add_subdirectory(SPIRV/d' \
-e '/if(VULKAN_FOUND)/afind_library(SPIRV libSPIRV.so)\nfind_library(SPIRV-Tools-opt libSPIRV-Tools-opt.so)\n' \
-e '/target_link_libraries.*SPIRV/{s/SPIRV-Tools-opt/${&}/;s/SPIRV /${SPIRV} /}' \
3rdparty/CMakeLists.txt || die
sed -i -e '/#include "SPIRV/{s:":<glslang/:;s/"/>/}' rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DBUILD_LLVM_SUBMODULE=ON # ennoying really
-DBUILD_SHARED_LIBS=OFF # to remove after unbundling
-DUSE_DISCORD_RPC=$(usex discord)
-DUSE_FAUDIO=$(usex faudio)
-DUSE_PRECOMPILED_HEADERS=ON
-DUSE_SYSTEM_CURL=ON
-DUSE_SYSTEM_LIBPNG=ON
-DUSE_SYSTEM_LIBUSB=ON
-DUSE_SYSTEM_PUGIXML=ON
-DUSE_SYSTEM_XXHASH=ON
-DUSE_SYSTEM_ZLIB=ON
-DUSE_VULKAN=$(usex vulkan)
-DWITH_LLVM=$(usex llvm)
)
use faudio && mycmakeargs+=( -DUSE_SYSTEM_FAUDIO=$(usex faudio) )
CMAKE_BUILD_TYPE=RELEASE cmake_src_configure
sed -i -e 's/FFMPEG_LIB_AVFORMAT-NOTFOUND/avformat/' -e 's/FFMPEG_LIB_AVCODEC-NOTFOUND/avcodec/' \
-e 's/FFMPEG_LIB_AVUTIL-NOTFOUND/avutil/' -e 's/FFMPEG_LIB_SWSCALE-NOTFOUND/swscale/' \
-e 's/FFMPEG_LIB_SWRESAMPLE-NOTFOUND/swresample/' "${BUILD_DIR}"/build.ninja || die
}
|
|
|
Back to top |
|
|
alamahant Advocate
Joined: 23 Mar 2019 Posts: 3879
|
Posted: Tue Jul 11, 2023 8:34 pm Post subject: |
|
|
Plz post
_________________
|
|
Back to top |
|
|
grknight Retired Dev
Joined: 20 Feb 2015 Posts: 1663
|
Posted: Tue Jul 11, 2023 9:08 pm Post subject: |
|
|
KEYWORDS="" is certainly valid. Its purpose is to indicate something that could be broken and needs explicit opt-in testing (see masked by missing keyword in package.accept_keywords documentation).
It could also be an omission by the creator of the ebuild, but that will not be clear unless the git history of the package is reviewed. |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21642
|
Posted: Tue Jul 11, 2023 9:31 pm Post subject: |
|
|
Moved from P&P to Unsupported Software due to use of GURU repository. |
|
Back to top |
|
|
ritzmax72 Tux's lil' helper
Joined: 10 Aug 2014 Posts: 82
|
Posted: Wed Jul 12, 2023 12:04 am Post subject: |
|
|
alamahant wrote: | Plz post
|
Code: |
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 38.75 s.
!!! All ebuilds that could satisfy "rpcs3" have been masked.
!!! One of the following masked packages is required to complete your request:
- games-emulation/rpcs3-9999::guru (masked by: missing keyword)
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
|
It doesn't specify which keyword. |
|
Back to top |
|
|
jburns Veteran
Joined: 18 Jan 2007 Posts: 1214 Location: Massachusetts USA
|
Posted: Wed Jul 12, 2023 1:18 am Post subject: |
|
|
From the output of "man portage"
Quote: | package.accept_keywords and package.keywords
Per-package ACCEPT_KEYWORDS. Useful for mixing unstable packages in with a normally stable system or vice
versa. This will allow ACCEPT_KEYWORDS to be augmented for a single package. If both package.accept_key‐
words and package.keywords are present, both of them will be used, and values from package.accept_keywords
will override values from package.keywords. The package.accept_keywords file is intended to replace the
package.keywords file, since profiles support a different form of package.keywords which modifies effective
KEYWORDS (rather than ACCEPT_KEYWORDS).
Format:
- comment lines begin with # (no inline comments)
- one DEPEND atom per line followed by additional KEYWORDS
- lines without any KEYWORDS imply unstable host arch
Example:
# always use unstable libgd
media-libs/libgd ˜x86
# only use stable mplayer
media-video/mplayer -˜x86
# always use unstable netcat
net-analyzer/netcat
Note:
In addition to the normal values from ACCEPT_KEYWORDS package.keywords supports three special tokens:
* package is visible if it is stable on any architecture
˜* package is visible if it is in testing on any architecture
** package is always visible (KEYWORDS are ignored completely)
Additional Note: If you encounter the -* KEYWORD, this indicates that the package is known to be broken on
all systems which are not otherwise listed in KEYWORDS. For example, a binary only package which is built
for x86 will look like:
games-fps/quake3-demo-1.11.ebuild:KEYWORDS="-* x86"
If you wish to accept this package anyways, then use one of the other keywords in your package.accept_key‐
words like this:
games-fps/quake3-demo x86
|
"=games-emulation/rpcs3-9999 **" in package.accept_keywords would tell portage to ignore KEYWORDS for the package. |
|
Back to top |
|
|
|