Install this version:
emerge -a =app-misc/brightnessctl-9999
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =app-misc/brightnessctl-9999
Or alternatively:
emerge --autounmask-write -a =app-misc/brightnessctl-9999
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit toolchain-funcs udev
DESCRIPTION="A program to read and control device brightness"
HOMEPAGE="https://github.com/Hummer12007/brightnessctl"
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/Hummer12007/brightnessctl.git"
else
SRC_URI="https://github.com/Hummer12007/brightnessctl/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm64"
fi
LICENSE="MIT"
SLOT="0"
IUSE="elogind systemd udev"
REQUIRED_USE="?? ( elogind systemd )"
DEPEND="
elogind? ( sys-auth/elogind )
systemd? ( sys-apps/systemd )
udev? ( virtual/udev )
"
RDEPEND="${DEPEND}"
BDEPEND="
elogind? ( virtual/pkgconfig )
systemd? ( virtual/pkgconfig )
"
src_prepare() {
default
# Upstream's Makefile still hardcodes -std=c99, which fails to build
# brightnessctl.c with modern gcc/glibc (same issue worked around for
# 0.5.1 via files/brightnessctl-0.5.1-Makefile.patch).
sed -i '/^CFLAGS/s/-std=c99 //' Makefile || die
}
src_configure() {
local myconf=(
--prefix="${EPREFIX}/usr"
--udev-dir="$(get_udevdir)"
$(use_enable udev)
)
if use systemd; then
myconf+=( --enable-logind --dbus-provider=systemd )
elif use elogind; then
myconf+=( --enable-logind --dbus-provider=elogind )
else
myconf+=( --disable-logind )
fi
tc-export CC
./configure "${myconf[@]}" || die
}
src_compile() {
emake
}
src_install() {
emake DESTDIR="${D}" install
dodoc README.md
}
pkg_postinst() {
use udev && udev_reload
}
pkg_postrm() {
use udev && udev_reload
}
Manage flags for this package:
euse -i <flag> -p app-misc/brightnessctl |
euse -E <flag> -p app-misc/brightnessctl |
euse -D <flag> -p app-misc/brightnessctl
elogind? ( sys-auth/elogind ) systemd? ( sys-apps/systemd ) udev? ( virtual/udev )
elogind? ( sys-auth/elogind ) systemd? ( sys-apps/systemd ) udev? ( virtual/udev )
elogind? ( virtual/pkgconfig ) systemd? ( virtual/pkgconfig )