Install this version:
emerge -a =media-video/wiliwili-1.6.0
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =media-video/wiliwili-1.6.0
Or alternatively:
emerge --autounmask-write -a =media-video/wiliwili-1.6.0
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 1.6.0 | 8 | ~amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake flag-o-matic xdg
DESCRIPTION="跨平台第三方B站客户端"
HOMEPAGE="
https://xfangfang.github.io/wiliwili
https://github.com/xfangfang/wiliwili
"
SRC_URI="
https://github.com/xfangfang/wiliwili/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
"
SUBMODULES=(
"MemoryModule main https://github.com/xfangfang/MemoryModule 7739ba4b2d87395446bbdcad6ae8bf9131b4250b"
#"OpenCC main https://github.com/xfangfang/OpenCC ccae908834c2fe41ba02141fa5d0eef178a45080"
#"QR-Code-generator main https://github.com/nayuki/QR-Code-generator 720f62bddb7226106071d4728c292cb1df519ceb"
"borealis main https://github.com/xfangfang/borealis 5f08b286f3df737f3321d2247a6fe633fcead03c"
"cpr main https://github.com/xfangfang/cpr ef35a614f1feb6ba0d4de13b1950bcaf7faad060"
"libpdr main https://github.com/xfangfang/libpdr 9dd3ab920940adac013a3cf40e3a5805d7e193e1"
"lunasvg main https://github.com/sammycage/lunasvg f924651b85cac47dbe15f51a4aa320461fc1d07b"
"mongoose main https://github.com/xfangfang/mongoose 4328842400370f62d00b6a6b23f1cbe0cded4073"
#"pystring main https://github.com/imageworks/pystring 7d16bc814ccb4cad03c300dcb77440034caa84f7"
"glfw borealis https://github.com/xfangfang/glfw 892256c3f630739fb02552544b8d83240883ec8a"
#"SDL borealis https://github.com/libsdl-org/SDL 15ead9a40d09a1eb9972215cceac2bf29c9b77f6"
)
LICENSE="GPL-3"
# MemoryModule -> MPL-2.0
# OpenCC, borealis -> Apache-2.0
# QR-Code-generator, cpr, lunasvg -> MIT
# mongoose -> GPL-2
# pystring -> BSD-3-Clause
# glfw -> zlib
LICENSE+=" MPL-2.0 Apache-2.0 MIT GPL-2 BSD ZLIB"
SLOT="0"
KEYWORDS="~amd64"
IUSE="glfw +hwaccel opencc +sdl2 +webp wayland +X"
REQUIRED_USE="
|| ( wayland X )
^^ ( glfw sdl2 )
"
RESTRICT="test"
DEPEND="
opencc? ( app-i18n/opencc:= )
dev-cpp/pystring:=
dev-libs/libfmt:=
dev-libs/openssl:=
dev-libs/qr-code-generator:=
dev-libs/tinyxml2:=
sdl2? (
media-libs/libsdl2[wayland?,X?]
)
glfw? ( sys-apps/dbus )
webp? ( media-libs/libwebp:= )
media-video/mpv:=[libmpv]
net-misc/curl
virtual/zlib:=
"
RDEPEND="${DEPEND}"
BDEPEND="
glfw? (
wayland? (
dev-libs/wayland-protocols
)
X? (
x11-libs/libXi
x11-libs/libXinerama
)
)
"
CMAKE_QA_COMPAT_SKIP=1
submodule_uris() {
for line in "${SUBMODULES[@]}"; do
read -r dep proj url commit <<< "${line}" || die
SRC_URI+=" ${url}/archive/${commit}.tar.gz -> ${url##*/}-${commit}.tar.gz"
done
}
submodule_uris
pkg_pretend() {
if ! use hwaccel; then
ewarn "USE=hwaccel not set, using software rendering, but it will affect performance."
else
ewarn "USE=hwaccel set, if your system does not support OpenGL(ES), this is useless."
fi
}
src_prepare() {
for line in "${SUBMODULES[@]}"; do
read -r dep proj url commit <<< "${line}" || die
if [[ ${proj} == "main" ]]; then
cp -r "${WORKDIR}"/${url##*/}-${commit}/* "${S}/library/${dep}/" || die
elif [[ ${proj} == "borealis" ]]; then
cp -r "${WORKDIR}"/${url##*/}-${commit}/* "${S}/library/borealis/library/lib/extern/${dep}/" || die
else
die
fi
done
cmake_src_prepare
}
src_configure() {
# LTO fails in subproject libpdr with ODR violations[-Werror=odr]
filter-lto
local mycmakeargs=(
-DPLATFORM_DESKTOP=ON
-DINSTALL=ON
-DUSE_SDL2=$(usex sdl2 ON OFF)
-DUSE_GLFW=$(usex glfw ON OFF)
-DMPV_SW_RENDER=$(usex !hwaccel ON OFF)
#-DMPV_NO_FB=$(usex !framebuffer ON OFF)
-DGIT_TAG_VERSION="${PV}"
-DGIT_TAG_SHORT="${PV}"
-DUSE_SHARED_LIB=ON
-DUSE_SYSTEM_CURL=ON
-DUSE_SYSTEM_CPR=OFF # not packaged
-DUSE_SYSTEM_QRCODEGEN=ON
-DUSE_SYSTEM_PYSTRING=ON
-DUSE_SYSTEM_OPENCC=ON
-DUSE_SYSTEM_FMT=ON
-DUSE_SYSTEM_TINYXML2=ON
-DUSE_SYSTEM_SDL2=ON
-DUSE_SYSTEM_MONGOOSE=OFF # not packaged
-DUSE_SYSTEM_LUNASVG=OFF # not packaged
-DUSE_SYSTEM_GLFW=OFF # modified GLFW used
-DUSE_SYSTEM_TWEENY=OFF # not packaged
-DDISABLE_OPENCC=$(usex !opencc ON OFF)
-DDISABLE_WEBP=$(usex !webp ON OFF)
)
if use glfw; then
mycmakeargs+=(
-DGLFW_BUILD_WAYLAND=$(usex wayland ON OFF)
-DGLFW_BUILD_X11=$(usex X ON OFF)
)
fi
cmake_src_configure
}
Manage flags for this package:
euse -i <flag> -p media-video/wiliwili |
euse -E <flag> -p media-video/wiliwili |
euse -D <flag> -p media-video/wiliwili
opencc? ( app-i18n/opencc:= ) dev-cpp/pystring:= dev-libs/libfmt:= dev-libs/openssl:= dev-libs/qr-code-generator:= dev-libs/tinyxml2:= sdl2? ( media-libs/libsdl2[wayland?,X?] ) glfw? ( sys-apps/dbus ) webp? ( media-libs/libwebp:= ) media-video/mpv:=[libmpv] net-misc/curl virtual/zlib:=
opencc? ( app-i18n/opencc:= ) dev-cpp/pystring:= dev-libs/libfmt:= dev-libs/openssl:= dev-libs/qr-code-generator:= dev-libs/tinyxml2:= sdl2? ( media-libs/libsdl2[wayland?,X?] ) glfw? ( sys-apps/dbus ) webp? ( media-libs/libwebp:= ) media-video/mpv:=[libmpv] net-misc/curl virtual/zlib:=
glfw? ( wayland? ( dev-libs/wayland-protocols ) X? ( x11-libs/libXi x11-libs/libXinerama ) )
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | wiliwili-1.6.0.tar.gz | 16125377 bytes | https://github.com/xfangfang/wiliwili/archive/refs/tags/v1.6.0.tar.gz |