From 489b4e37842119c692e4fe8e3c6b8bebda6a52af Mon Sep 17 00:00:00 2001 From: Nedko Arnaudov Date: Fri, 27 Jan 2023 18:00:13 +0200 Subject: [PATCH] Use jack2-1.9.21-r1.ebuild from main gentoo portage tree as base for jackdbus-2.21.0.ebuild jack2 and jackdbus codebases were separated recently. As part of LADIOS project at least, media-sound/jack2 will continue to provide libjack and libjackserver, but neither jackdbus nor jackd will be installable through the ebuild. jackdbus will be installable via new media-sound/jackdbus ebuild. jackd was deprecated in LADI project more than a decade ago and soon will not be installable anymore (unless someone creates in a different overlay a jackd ebuild that uses the media-sound/jack2[-classic,-dbus] and handles the support in a different project) dbus device reservation code in jack2 libjackserver will be enabled no matter what [classic/dbus] use flags are supplied. The dbus use flag used to enable jackdbus for jack2. Since then, jackd got dbus reservation support. A dedicated jackd ebuild that uses media-sound/jack2[-classic,-dbus] could provide installable jackd with with dbus device reservation support. --- media-sound/jackdbus/jackdbus-2.21.0.ebuild | 113 ++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 media-sound/jackdbus/jackdbus-2.21.0.ebuild diff --git a/media-sound/jackdbus/jackdbus-2.21.0.ebuild b/media-sound/jackdbus/jackdbus-2.21.0.ebuild new file mode 100644 index 0000000..fd26048 --- /dev/null +++ b/media-sound/jackdbus/jackdbus-2.21.0.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_REQ_USE="threads(+)" +inherit flag-o-matic python-single-r1 waf-utils multilib-minimal + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/jackaudio/${PN}.git" +else + SRC_URI="https://github.com/jackaudio/jack2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" +fi + +DESCRIPTION="Jackdmp jack implemention for multi-processor machine" +HOMEPAGE="https://jackaudio.org/" + +LICENSE="GPL-2+ LGPL-2.1+" +SLOT="2" +IUSE="+alsa +classic dbus doc ieee1394 libsamplerate metadata opus pam +tools systemd" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + || ( classic dbus )" + +DEPEND=" + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + dbus? ( + dev-libs/expat[${MULTILIB_USEDEP}] + sys-apps/dbus[${MULTILIB_USEDEP}] + ) + libsamplerate? ( media-libs/libsamplerate[${MULTILIB_USEDEP}] ) + ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] ) + metadata? ( sys-libs/db:=[${MULTILIB_USEDEP}] ) + opus? ( media-libs/opus[custom-modes,${MULTILIB_USEDEP}] ) + systemd? ( classic? ( sys-apps/systemd:= ) )" +RDEPEND=" + ${DEPEND} + dbus? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/dbus-python[${PYTHON_USEDEP}] + ') + ) + pam? ( sys-auth/realtime-base ) + !media-sound/jack-audio-connection-kit + !media-video/pipewire[jack-sdk(-)]" +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + doc? ( app-doc/doxygen )" +# tools were formerly provided here, pull to maintain expectations +PDEPEND="tools? ( media-sound/jack-example-tools )" + +DOCS=( AUTHORS.rst ChangeLog.rst README.rst README_NETJACK2 ) + +PATCHES=( + "${FILESDIR}"/${PN}-1.9.21-python3.11.patch +) + +src_prepare() { + default + + python_fix_shebang waf + multilib_copy_sources +} + +multilib_src_configure() { + # clients crash if built with lto + # https://github.com/jackaudio/jack2/issues/485 + filter-lto + + local wafargs=( + --mandir="${EPREFIX}"/usr/share/man/man1 # override eclass' for man1 + + --alsa=$(usex alsa) + --celt=no + $(usev classic --classic) + --db=$(usex metadata) + $(usev dbus --dbus) + --doxygen=$(multilib_native_usex doc) + --firewire=$(usex ieee1394) + --iio=no + --opus=$(usex opus) + --portaudio=no + --samplerate=$(usex libsamplerate) + --systemd=$(multilib_native_usex systemd $(usex classic)) + --winmme=no + + # obsolete options, migrated to media-sound/jack-example-tools + # and will be removed entirely next version + --example-tools=no + --readline=no + --sndfile=no + --zalsa=no + ) + + waf-utils_src_configure "${wafargs[@]}" +} + +multilib_src_compile() { + waf-utils_src_compile +} + +multilib_src_install() { + waf-utils_src_install +} + +multilib_src_install_all() { + use dbus && python_fix_shebang "${ED}"/usr/bin/jack_control +} -- 2.11.4.GIT