* [gentoo-commits] repo/gentoo:master commit in: media-sound/jack2/files/, media-sound/jack2/
@ 2022-11-04 21:59 Ionen Wolkens
0 siblings, 0 replies; only message in thread
From: Ionen Wolkens @ 2022-11-04 21:59 UTC (permalink / raw
To: gentoo-commits
commit: ce9b812bde6eafe0bbd4168fb3830ba414124e5c
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 28 16:18:24 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Nov 4 21:54:38 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce9b812b
media-sound/jack2: add 1.9.21
notable ebuild changes:
* EAPI7->8
* GPL-2 -> GPL-2+ LGPL-2.1+
* enable py3.11
* filter-lto (completely broken runtime with lto)
* jack_control and runtime python requirement is now behind USE=dbus
* enable USE=alsa by default, cheap dependency and rare would want
alsa-less even on non-desktop profiles
* add multilib to sys-libs/db (fails if missing with abi_x86_32)
* add := to sys-libs/db (links to libdb-<slot>.so and can't swap
without rebuild)
* move libsamplerate dep behind its libsamplerate USE
* native_usex -> usex for libsamplerate (used by libraries)
* drop unnecessary --htmldir (set by eclass), and WAF_BINARY
1.9.21 is the last version to provide examples/tools (aka all
jack_* except jack_control, alsa_in/out, etc..), and disables
them by default. Rather than re-enable, migrate to its split
package media-sound/jack-example-tools with IUSE=+tools to keep
same functionality.
(this now allows to build tools with e.g. pipewire[jack-sdk])
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
media-sound/jack2/Manifest | 1 +
.../jack2/files/jack2-1.9.21-python3.11.patch | 19 ++++
media-sound/jack2/jack2-1.9.21.ebuild | 109 +++++++++++++++++++++
media-sound/jack2/metadata.xml | 1 +
4 files changed, 130 insertions(+)
diff --git a/media-sound/jack2/Manifest b/media-sound/jack2/Manifest
index cd33bcad6ca3..27cfddced531 100644
--- a/media-sound/jack2/Manifest
+++ b/media-sound/jack2/Manifest
@@ -1 +1,2 @@
DIST jack2-1.9.19.tar.gz 988780 BLAKE2B 37536e23f97ea8a3bf62fe77e35a4a40c5d88cea1197a2f72c4ab31cbbc689fcf99a1d51bb0ee96122c618464eefe1ca8479dc53ab7de9e6570cb4009cf2a7a1 SHA512 d8d5fe17e2984959546af3c53f044aa4648860e19ff8ffd54452e87fa6cdfd111f825c57e3df17cb8ed95de8392b6f354b12ded41e3e021a37f07b99a89ba18d
+DIST jack2-1.9.21.tar.gz 1006157 BLAKE2B 052486300bd17860964115427d4b5755ce7a4e4607bf9eb4e2b94d5b0cc61cf6a6b56d3a3eae9e91a1195a3316dd1f1ec1357275803805957e4b6f7a76424e24 SHA512 0e9ce581fca3c5d9ffb1de22b45cae6d94085c6f92ff3554892e25727baf66a2269f10d338d95d991e8380c4be5e0cc1e1453b9f878c7dc2e8a990f3bd458557
diff --git a/media-sound/jack2/files/jack2-1.9.21-python3.11.patch b/media-sound/jack2/files/jack2-1.9.21-python3.11.patch
new file mode 100644
index 000000000000..f4aafcf16aed
--- /dev/null
+++ b/media-sound/jack2/files/jack2-1.9.21-python3.11.patch
@@ -0,0 +1,19 @@
+'U' is default and deprecated since python-3.3, becomes a failure in 3.11.
+
+Just a quick fix (rather than bump waf) while waiting for upstream's
+plans to migrate to meson:
+https://github.com/jackaudio/jack2/issues/898
+--- a/waflib/ConfigSet.py
++++ b/waflib/ConfigSet.py
+@@ -314,3 +314,3 @@
+ tbl = self.table
+- code = Utils.readf(filename, m='rU')
++ code = Utils.readf(filename, m='r')
+ for m in re_imp.finditer(code):
+--- a/waflib/Context.py
++++ b/waflib/Context.py
+@@ -664,3 +664,3 @@
+ try:
+- code = Utils.readf(path, m='rU', encoding=encoding)
++ code = Utils.readf(path, m='r', encoding=encoding)
+ except EnvironmentError:
diff --git a/media-sound/jack2/jack2-1.9.21.ebuild b/media-sound/jack2/jack2-1.9.21.ebuild
new file mode 100644
index 000000000000..e1e0330c41de
--- /dev/null
+++ b/media-sound/jack2/jack2-1.9.21.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..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 ~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"
+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}] )"
+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=(
+ --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)
+ --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
+}
diff --git a/media-sound/jack2/metadata.xml b/media-sound/jack2/metadata.xml
index 824174d30c19..70cba767c741 100644
--- a/media-sound/jack2/metadata.xml
+++ b/media-sound/jack2/metadata.xml
@@ -13,6 +13,7 @@
<flag name="classic">Enable building of jackd</flag>
<flag name="metadata">Enable metadata API</flag>
<flag name="pam">Add basic realtime configuration via <pkg>sys-auth/realtime-base</pkg></flag>
+ <flag name="tools">Pull basic tools (e.g. jack_lsp/connect) from <pkg>media-sound/jack-example-tools</pkg></flag>
</use>
<upstream>
<remote-id type="github">jackaudio/jack2</remote-id>
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2022-11-04 21:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-04 21:59 [gentoo-commits] repo/gentoo:master commit in: media-sound/jack2/files/, media-sound/jack2/ Ionen Wolkens
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox