gui-apps/waywallen - 0.2.5 (gentoo-zh)

Search

Install

Install this version:

emerge -a =gui-apps/waywallen-0.2.5

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =gui-apps/waywallen-0.2.5

Or alternatively:

emerge --autounmask-write -a =gui-apps/waywallen-0.2.5

Package Information

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

Ebuild Details

Version EAPI Keywords Slot
0.2.5 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 )
RUST_MIN_VER="1.87.0"

declare -A GIT_CRATES=(
	[mlua-extra]="https://github.com/hypengw/mlua-extra;16fc20f1445e6b723da78fb08b236dfeaad10db0"
)

inherit toolchain-funcs flag-o-matic llvm-r2 cargo cmake xdg-utils

DESCRIPTION="A dynamic wallpaper solution for Linux desktops"
HOMEPAGE="https://github.com/waywallen/waywallen"

RSTD_COMMIT="629bda81eb98856ca023f0f87f57dde8d22b4823"
WAVSEN_COMMIT="aab112235e4da7e03c233793a9d612507f0e6355"
NCREQUEST_COMMIT="404868aa2aa4481e262f25d8f7d053f42b61b7b8"
QEXTRA_COMMIT="d02d9a7bfed546dfb7f87a5627b1c9e8f6fcc95a"

SRC_URI="
	https://github.com/waywallen/waywallen/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
	https://github.com/gentoo-zh-drafts/waywallen/releases/download/v${PV}/waywallen-${PV}-crates.tar.xz
	${CARGO_CRATE_URIS}
	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
	ui? (
		https://github.com/hypengw/ncrequest/archive/${NCREQUEST_COMMIT}.tar.gz -> ncrequest-${NCREQUEST_COMMIT}.tar.gz
		https://github.com/hypengw/QExtra/archive/${QEXTRA_COMMIT}.tar.gz -> QExtra-${QEXTRA_COMMIT}.tar.gz
	)
"

LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"

IUSE="+ui pipewire vaapi"

RDEPEND="
	media-plugins/waywallen-display
	dev-db/sqlite
	dev-libs/glib
	dev-libs/icu
	dev-libs/protobuf
	dev-util/glslang
	media-libs/mesa
	media-libs/vulkan-loader
	media-video/ffmpeg
	net-misc/curl
	virtual/zlib
	ui? (
		dev-libs/qml-material:=
		dev-qt/qtbase:6[dbus]
		dev-qt/qtdeclarative:6
		dev-qt/qtgrpc:6
	)
	pipewire? ( media-video/pipewire )
	!pipewire? ( media-libs/libpulse )
	vaapi? ( media-libs/libva )
"
DEPEND="
	${RDEPEND}
	dev-cpp/asio
	dev-cpp/nlohmann_json
	dev-libs/pegtl
	dev-util/vulkan-headers
"
BDEPEND="
	$(llvm_gen_dep '
		llvm-core/clang:${LLVM_SLOT}=
		llvm-core/lld:${LLVM_SLOT}=
	')
	>=dev-build/corrosion-0.6.1
	virtual/pkgconfig
"

PATCHES=(
	"${FILESDIR}/${PN}-0.2.2-use-system-depends.patch"
)

export LIBSQLITE3_SYS_USE_PKG_CONFIG=1

src_prepare() {
	default_src_prepare

	pushd "${WORKDIR}/rstd-${RSTD_COMMIT}" || die
	eapply "${FILESDIR}/${PN}-0.2.3-rstd-fixes.patch"
	popd || die

	pushd "${WORKDIR}/wavsen-${WAVSEN_COMMIT}" || die
	eapply "${FILESDIR}/${PN}-0.2.2-wavsen-optional-vaapi.patch"
	popd || die

	cmake_prepare
}

src_configure() {
	export \
		CC="clang-${LLVM_SLOT}" \
		CXX="clang++-${LLVM_SLOT}"

	# Fix link error when use -O1 ~ -O3
	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_RSTD="${WORKDIR}/rstd-${RSTD_COMMIT}"
		-DFETCHCONTENT_SOURCE_DIR_WAVSEN="${WORKDIR}/wavsen-${WAVSEN_COMMIT}"
		-DWAYWALLEN_BUILD_UI="$(usex ui)"
		-DWAVSEN_AUDIO_BACKEND="$(usex pipewire pipewire pulse)"
		-DWAVSEM_USE_VAAPI="$(usex vaapi)"
	)

	use ui && mycmakeargs+=(
		-DFETCHCONTENT_SOURCE_DIR_NCREQUEST="${WORKDIR}/ncrequest-${NCREQUEST_COMMIT}"
		-DFETCHCONTENT_SOURCE_DIR_QEXTRA="${WORKDIR}/QExtra-${QEXTRA_COMMIT}"
	)

	cmake_src_configure
}

pkg_postinst() {
	xdg_desktop_database_update
	xdg_icon_cache_update
}

pkg_postrm() {
	xdg_desktop_database_update
	xdg_icon_cache_update
}

USE Flags

Manage flags for this package: euse -i <flag> -p gui-apps/waywallen | euse -E <flag> -p gui-apps/waywallen | euse -D <flag> -p gui-apps/waywallen

Global/Standard Flags

ui
Default: Enabled (+)

Inherited Eclasses

Dependencies

DEPEND

	
	media-plugins/waywallen-display
	dev-db/sqlite
	dev-libs/glib
	dev-libs/icu
	dev-libs/protobuf
	dev-util/glslang
	media-libs/mesa
	media-libs/vulkan-loader
	media-video/ffmpeg
	net-misc/curl
	virtual/zlib
	ui? (
		dev-libs/qml-material:=
		dev-qt/qtbase:6[dbus]
		dev-qt/qtdeclarative:6
		dev-qt/qtgrpc:6
	)
	pipewire? ( media-video/pipewire )
	!pipewire? ( media-libs/libpulse )
	vaapi? ( media-libs/libva )

	dev-cpp/asio
	dev-cpp/nlohmann_json
	dev-libs/pegtl
	dev-util/vulkan-headers

RDEPEND

	media-plugins/waywallen-display
	dev-db/sqlite
	dev-libs/glib
	dev-libs/icu
	dev-libs/protobuf
	dev-util/glslang
	media-libs/mesa
	media-libs/vulkan-loader
	media-video/ffmpeg
	net-misc/curl
	virtual/zlib
	ui? (
		dev-libs/qml-material:=
		dev-qt/qtbase:6[dbus]
		dev-qt/qtdeclarative:6
		dev-qt/qtgrpc:6
	)
	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}=
	')
	>=dev-build/corrosion-0.6.1
	virtual/pkgconfig

Manifest for 0.2.5

Type File Size Source URLs
DIST QExtra-d02d9a7bfed546dfb7f87a5627b1c9e8f6fcc95a.tar.gz 39435 bytes https://github.com/hypengw/QExtra/archive/d02d9a7bfed546dfb7f87a5627b1c9e8f6fcc95a.tar.gz
DIST ncrequest-404868aa2aa4481e262f25d8f7d053f42b61b7b8.tar.gz 32934 bytes https://github.com/hypengw/ncrequest/archive/404868aa2aa4481e262f25d8f7d053f42b61b7b8.tar.gz
DIST rstd-629bda81eb98856ca023f0f87f57dde8d22b4823.tar.gz 179434 bytes https://github.com/hypengw/rstd/archive/629bda81eb98856ca023f0f87f57dde8d22b4823.tar.gz
DIST wavsen-aab112235e4da7e03c233793a9d612507f0e6355.tar.gz 76096 bytes https://github.com/hypengw/wavsen/archive/aab112235e4da7e03c233793a9d612507f0e6355.tar.gz
DIST waywallen-0.2.5-crates.tar.xz 28337048 bytes https://github.com/gentoo-zh-drafts/waywallen/releases/download/v0.2.5/waywallen-0.2.5-crates.tar.xz
DIST waywallen-0.2.5.tar.gz 589477 bytes https://github.com/waywallen/waywallen/archive/refs/tags/v0.2.5.tar.gz