Install this version:
emerge -a =media-gfx/open-wallpaper-engine-0.1.12
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =media-gfx/open-wallpaper-engine-0.1.12
Or alternatively:
emerge --autounmask-write -a =media-gfx/open-wallpaper-engine-0.1.12
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 0.1.12 | 8 | ~amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( 22 )
inherit toolchain-funcs flag-o-matic llvm-r2 cmake
DESCRIPTION="A dynamic wallpaper solution for Linux desktops"
HOMEPAGE="https://github.com/waywallen/open-wallpaper-engine"
SPIRV_REFLECT_TAG="1.4.321.0"
RSTD_COMMIT="f30b9edc43734b88c0ec9afe90604c1f54cc4e8d"
WAVSEN_COMMIT="aab112235e4da7e03c233793a9d612507f0e6355"
CEF_FILENAME="cef_binary_149.0.4+g2f1bfd8+chromium-149.0.7827.156_linux64_minimal"
SRC_URI="
https://github.com/waywallen/open-wallpaper-engine/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/hypengw/rstd/archive/${RSTD_COMMIT}.tar.gz -> rstd-${RSTD_COMMIT}.tar.gz
https://github.com/hypengw/wavsen/archive/${WAVSEN_COMMIT}.tar.gz -> wavsen-${WAVSEN_COMMIT}.tar.gz
https://github.com/KhronosGroup/SPIRV-Reflect/archive/vulkan-sdk-${SPIRV_REFLECT_TAG}.tar.gz
-> SPIRV-Reflect-${SPIRV_REFLECT_TAG}.tar.gz
web? ( https://cef-builds.spotifycdn.com/${CEF_FILENAME}.tar.bz2 )
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+scene +web +waywallen pipewire vaapi"
REQUIRED_USE="|| ( scene web )"
RDEPEND="
dev-libs/icu
virtual/zlib
media-libs/mesa
media-libs/vulkan-loader
media-video/ffmpeg
dev-libs/glib
dev-util/glslang
app-arch/lz4
scene? ( dev-libs/quickjs-ng )
web? (
dev-libs/nspr
dev-libs/nss
)
waywallen? ( gui-apps/waywallen )
pipewire? ( media-video/pipewire )
!pipewire? ( media-libs/libpulse )
vaapi? ( media-libs/libva )
"
DEPEND="
${RDEPEND}
dev-cpp/argparse
dev-cpp/eigen
dev-util/vulkan-headers
"
BDEPEND="
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}=
llvm-core/lld:${LLVM_SLOT}=
')
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}/${PN}-0.1.12-use-system-depends.patch"
"${FILESDIR}/${PN}-0.1.9-fix-waywallen-plugin-install-path.patch"
"${FILESDIR}/${PN}-0.1.9-disable-viewer-default.patch"
)
src_prepare() {
default_src_prepare
pushd "${WORKDIR}/wavsen-${WAVSEN_COMMIT}" || die
eapply "${FILESDIR}/${PN}-0.1.9-wavsen-optional-vaapi.patch"
popd || die
if use web; then
pushd "${WORKDIR}/${CEF_FILENAME}" || die
eapply "${FILESDIR}/${PN}-0.1.9-cef-remove-march.patch"
eapply "${FILESDIR}/${PN}-0.1.9-let-libcef_dll_wrapper-static.patch"
popd || die
fi
cmake_prepare
}
src_configure() {
export \
CC="clang-${LLVM_SLOT}" \
CXX="clang++-${LLVM_SLOT}"
append-cxxflags -D_FORTIFY_SOURCE=0
if ! tc-ld-is-lld && ! tc-ld-is-mold; then
append-ldflags -fuse-ld=lld
fi
local mycmakeargs=(
-DCMAKE_LINKER_TYPE=LLD
-DFETCHCONTENT_FULLY_DISCONNECTED=ON
-DFETCHCONTENT_SOURCE_DIR_SPIRV_REFLECT="${WORKDIR}/SPIRV-Reflect-vulkan-sdk-${SPIRV_REFLECT_TAG}"
-DFETCHCONTENT_SOURCE_DIR_RSTD="${WORKDIR}/rstd-${RSTD_COMMIT}"
-DFETCHCONTENT_SOURCE_DIR_WAVSEN="${WORKDIR}/wavsen-${WAVSEN_COMMIT}"
-DFETCHCONTENT_SOURCE_DIR_CEF="${WORKDIR}/${CEF_FILENAME}"
-DBUILD_WESCENE="$(usex scene)"
-DBUILD_WEWEB="$(usex web)"
-DBUILD_WAYWALLEN="$(usex waywallen)"
-DWAVSEN_AUDIO_BACKEND="$(usex pipewire pipewire pulse)"
-DWAVSEM_USE_VAAPI="$(usex vaapi)"
)
cmake_src_configure
}
Manage flags for this package:
euse -i <flag> -p media-gfx/open-wallpaper-engine |
euse -E <flag> -p media-gfx/open-wallpaper-engine |
euse -D <flag> -p media-gfx/open-wallpaper-engine
dev-libs/icu virtual/zlib media-libs/mesa media-libs/vulkan-loader media-video/ffmpeg dev-libs/glib dev-util/glslang app-arch/lz4 scene? ( dev-libs/quickjs-ng ) web? ( dev-libs/nspr dev-libs/nss ) waywallen? ( gui-apps/waywallen ) pipewire? ( media-video/pipewire ) !pipewire? ( media-libs/libpulse ) vaapi? ( media-libs/libva ) dev-cpp/argparse dev-cpp/eigen dev-util/vulkan-headers
dev-libs/icu virtual/zlib media-libs/mesa media-libs/vulkan-loader media-video/ffmpeg dev-libs/glib dev-util/glslang app-arch/lz4 scene? ( dev-libs/quickjs-ng ) web? ( dev-libs/nspr dev-libs/nss ) waywallen? ( gui-apps/waywallen ) pipewire? ( media-video/pipewire ) !pipewire? ( media-libs/libpulse ) vaapi? ( media-libs/libva )
$(llvm_gen_dep ' llvm-core/clang:${LLVM_SLOT}= llvm-core/lld:${LLVM_SLOT}= ') virtual/pkgconfig