media-sound/goxlr-utility - 9999 (guru)

Search

Install

Install this version:

emerge -a =media-sound/goxlr-utility-9999

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

autounmask =media-sound/goxlr-utility-9999

Or alternatively:

emerge --autounmask-write -a =media-sound/goxlr-utility-9999

Package Information

Description:
A utility for monitoring and controlling a TC-Helicon GoXLR or GoXLR Mini
Homepage:
https://github.com/GoXLR-on-Linux/goxlr-utility
License:
MIT Music-Tribe 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 CDLA-Permissive-2.0 ISC MIT MPL-2.0 UoI-NCSA Unicode-3.0 Unlicense ZLIB

Ebuild Details

Version EAPI Keywords Slot
9999 8 ~amd64 0
View Raw Ebuild
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DESCRIPTION="A utility for monitoring and controlling a TC-Helicon GoXLR or GoXLR Mini"
HOMEPAGE="https://github.com/GoXLR-on-Linux/goxlr-utility"

inherit cargo udev shell-completion desktop xdg

if [[ ${PV} == *9999* ]]; then
		EGIT_REPO_URI="https://github.com/GoXLR-on-Linux/${PN}.git"
		inherit git-r3
else
	SRC_URI="
		https://github.com/GoXLR-on-Linux/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
		${CARGO_CRATE_URIS}
	"
	KEYWORDS="~amd64"
fi

LICENSE="MIT Music-Tribe"
LICENSE+="
	    0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
	    CDLA-Permissive-2.0 ISC MIT MPL-2.0 UoI-NCSA Unicode-3.0 Unlicense
	    ZLIB
"
SLOT="0"
IUSE="tts"

RDEPEND="
	media-libs/libpulse
	dev-util/pkgconf
	sys-apps/dbus
	tts? (
		app-accessibility/speech-dispatcher
		llvm-core/clang
	)
"

src_unpack() {
	if [[ "${PV}" == *9999* ]]; then
		git-r3_src_unpack
		cargo_live_src_unpack
	else
		cargo_src_unpack
	fi
}

src_configure() {
	local myfeatures=(
		$(usev tts)
	)
	cargo_src_configure --no-default-features
}

src_install() {
		dobin "${WORKDIR}"/${P}/target/release/goxlr-daemon
		dobin "${WORKDIR}"/${P}/target/release/goxlr-client
		dobin "${WORKDIR}"/${P}/target/release/goxlr-defaults
		dobin "${WORKDIR}"/${P}/target/release/goxlr-launcher

		udev_dorules 50-goxlr.rules

		doicon -s 48 "${WORKDIR}"/${P}/daemon/resources/goxlr-utility.png
		doicon -s scalable "${WORKDIR}"/${P}/daemon/resources/goxlr-utility.svg
		newicon "${WORKDIR}"/${P}/daemon/resources/goxlr-utility-large.png goxlr-utility.png
		domenu "${WORKDIR}"/${P}/daemon/resources/goxlr-utility.desktop

		# Grab the Path where the AutoComplete scripts are..
		AUTOCOMPLETE=$("${WORKDIR}"/${P}/ci/cargo-out-dir target/release/ client-stamp)
		dobashcomp $AUTOCOMPLETE/goxlr-client.bash
		dofishcomp $AUTOCOMPLETE/goxlr-client.fish
		dozshcomp $AUTOCOMPLETE/_goxlr-client

		dodoc README.md
}

pkg_postinst() {
	udev_reload
	xdg_icon_cache_update
	elog ""
	elog "If you use systemd, make sure Pulseaudio is running for the GoXLR utility to work."
	elog ""
	elog "It's recommended to start pulseaudio via its systemd user units:"
	elog ""
	elog "  systemctl --user enable pulseaudio.service pulseaudio.socket"
	elog ""
	elog "Root user can change system default configuration for all users:"
	elog ""
	elog "  systemctl --global enable pulseaudio.service pulseaudio.socket"
	elog ""
}

pkg_postrm() {
	udev_reload
	xdg_icon_cache_update
}

USE Flags

Manage flags for this package: euse -i <flag> -p media-sound/goxlr-utility | euse -E <flag> -p media-sound/goxlr-utility | euse -D <flag> -p media-sound/goxlr-utility

Global/Standard Flags

tts

Inherited Eclasses

xdg

Dependencies

RDEPEND

	media-libs/libpulse
	dev-util/pkgconf
	sys-apps/dbus
	tts? (
		app-accessibility/speech-dispatcher
		llvm-core/clang
	)