media-gfx/open-wallpaper-engine - 0.1.12 (gentoo-zh)

Search

Install

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

Package Information

Description:
A dynamic wallpaper solution for Linux desktops
Homepage:
https://github.com/waywallen/open-wallpaper-engine
License:
MIT

Ebuild Details

Version EAPI Keywords Slot
0.1.12 8 ~amd64 0
View Raw Ebuild
# 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
}

USE Flags

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

Global/Standard Flags

scene
Default: Enabled (+)
web
Default: Enabled (+)
waywallen
Default: Enabled (+)

Inherited Eclasses

Dependencies

DEPEND

	
	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

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 )

BDEPEND

	$(llvm_gen_dep '
		llvm-core/clang:${LLVM_SLOT}=
		llvm-core/lld:${LLVM_SLOT}=
	')
	virtual/pkgconfig

Manifest for 0.1.12

Type File Size Source URLs
DIST SPIRV-Reflect-1.4.321.0.tar.gz 326302 bytes https://github.com/KhronosGroup/SPIRV-Reflect/archive/vulkan-sdk-1.4.321.0.tar.gz
DIST cef_binary_149.0.4+g2f1bfd8+chromium-149.0.7827.156_linux64_minimal.tar.bz2 310850734 bytes https://cef-builds.spotifycdn.com/cef_binary_149.0.4+g2f1bfd8+chromium-149.0.7827.156_linux64_minimal.tar.bz2
DIST open-wallpaper-engine-0.1.12.tar.gz 968997 bytes https://github.com/waywallen/open-wallpaper-engine/archive/refs/tags/v0.1.12.tar.gz
DIST rstd-f30b9edc43734b88c0ec9afe90604c1f54cc4e8d.tar.gz 323969 bytes https://github.com/hypengw/rstd/archive/f30b9edc43734b88c0ec9afe90604c1f54cc4e8d.tar.gz
DIST wavsen-aab112235e4da7e03c233793a9d612507f0e6355.tar.gz 76096 bytes https://github.com/hypengw/wavsen/archive/aab112235e4da7e03c233793a9d612507f0e6355.tar.gz