public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/jalv/, media-sound/jalv/files/
Date: Sun, 29 Oct 2017 13:00:17 +0000 (UTC)	[thread overview]
Message-ID: <1509281996.257d344317af170a10a0b7e5b49018704bb2a592.asturm@gentoo> (raw)

commit:     257d344317af170a10a0b7e5b49018704bb2a592
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 29 11:56:23 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 29 12:59:56 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=257d3443

media-sound/jalv: Fix segfault w/ Qt5 plugins, run in background

Gentoo-bug: 621708, 634030
Closes: https://bugs.gentoo.org/634030
Package-Manager: Portage-2.3.13, Repoman-2.3.4

 media-sound/jalv/files/jalv-1.6.0-stdin.patch    | 67 ++++++++++++++++++++++++
 media-sound/jalv/files/jalv-1.6.0-suil-qt5.patch | 34 ++++++++++++
 media-sound/jalv/jalv-1.6.0-r2.ebuild            | 59 +++++++++++++++++++++
 3 files changed, 160 insertions(+)

diff --git a/media-sound/jalv/files/jalv-1.6.0-stdin.patch b/media-sound/jalv/files/jalv-1.6.0-stdin.patch
new file mode 100644
index 00000000000..953af7c5f3e
--- /dev/null
+++ b/media-sound/jalv/files/jalv-1.6.0-stdin.patch
@@ -0,0 +1,67 @@
+From 3a46e861b5b8dbbacb8dd1cec9fa2c69a10b26e0 Mon Sep 17 00:00:00 2001
+From: David Robillard <d@drobilla.net>
+Date: Sat, 18 Feb 2017 18:00:03 +0100
+Subject: Add jalv -i option to ignore stdin for background use
+
+
+diff --git a/doc/jalv.1 b/doc/jalv.1
+index 6d93a72..000ed5a 100644
+--- a/doc/jalv.1
++++ b/doc/jalv.1
+@@ -17,6 +17,10 @@ Print the command line options.
+ Print control output changes to stdout.
+ 
+ .TP
++\fB\-i\fR
++Ignore input on stdin (for background use).
++
++.TP
+ \fB\-c SYM=VAL\fR
+ Set control value (e.g. "vol=1.4").
+ 
+diff --git a/src/jalv_console.c b/src/jalv_console.c
+index c0f369c..e0e114b 100644
+--- a/src/jalv_console.c
++++ b/src/jalv_console.c
+@@ -106,6 +106,8 @@ jalv_init(int* argc, char*** argv, JalvOptions* opts)
+ 				opts->controls, (++n_controls + 1) * sizeof(char*));
+ 			opts->controls[n_controls - 1] = (*argv)[a];
+ 			opts->controls[n_controls]     = NULL;
++		} else if ((*argv)[a][1] == 'i') {
++			opts->non_interactive = true;
+ 		} else if ((*argv)[a][1] == 'd') {
+ 			opts->dump = true;
+ 		} else if ((*argv)[a][1] == 't') {
+@@ -191,7 +193,7 @@ jalv_open_ui(Jalv* jalv)
+ 
+ 		show_iface->hide(suil_instance_get_handle(jalv->ui_instance));
+ 
+-	} else {
++	} else if (!jalv->opts.non_interactive) {
+ 		// Primitive command prompt for setting control values
+ 		while (!zix_sem_try_wait(jalv->done)) {
+ 			char line[128];
+@@ -202,6 +204,8 @@ jalv_open_ui(Jalv* jalv)
+ 				break;
+ 			}
+ 		}
++	} else {
++		zix_sem_wait(jalv->done);
+ 	}
+ 
+ 	// Caller waits on the done sem, so increment it again to exit
+diff --git a/src/jalv_internal.h b/src/jalv_internal.h
+index 3a565ec..06f116a 100644
+--- a/src/jalv_internal.h
++++ b/src/jalv_internal.h
+@@ -172,6 +172,7 @@ typedef struct {
+ 	int      no_menu;           ///< Hide menu iff true
+ 	int      show_ui;           ///< Show non-embedded UI
+ 	int      print_controls;    ///< Print control changes to stdout
++	int      non_interactive;   ///< Do not listen for commands on stdin
+ } JalvOptions;
+ 
+ typedef struct {
+-- 
+cgit v0.10.2
+

diff --git a/media-sound/jalv/files/jalv-1.6.0-suil-qt5.patch b/media-sound/jalv/files/jalv-1.6.0-suil-qt5.patch
new file mode 100644
index 00000000000..a57447ce075
--- /dev/null
+++ b/media-sound/jalv/files/jalv-1.6.0-suil-qt5.patch
@@ -0,0 +1,34 @@
+From 4d22c6a53ff1dcb657ab1913f1b100e42db19bca Mon Sep 17 00:00:00 2001
+From: David Robillard <d@drobilla.net>
+Date: Sat, 18 Mar 2017 12:00:11 +0100
+Subject: Use new suil init API to fix Qt5 plugin UIs
+
+
+diff --git a/src/jalv.c b/src/jalv.c
+index 78901ca..20f24e7 100644
+--- a/src/jalv.c
++++ b/src/jalv.c
+@@ -777,6 +777,7 @@ main(int argc, char** argv)
+ 	jalv.bpm           = 120.0f;
+ 	jalv.control_in    = (uint32_t)-1;
+ 
++	suil_init(&argc, &argv, SUIL_ARG_NONE);
+ 	if (jalv_init(&argc, &argv, &jalv.opts)) {
+ 		return EXIT_FAILURE;
+ 	}
+diff --git a/wscript b/wscript
+index 19f51bb..e2adc63 100644
+--- a/wscript
++++ b/wscript
+@@ -59,7 +59,7 @@ def configure(conf):
+     autowaf.check_pkg(conf, 'sord-0', uselib_store='SORD',
+                       atleast_version='0.12.0', mandatory=True)
+     autowaf.check_pkg(conf, 'suil-0', uselib_store='SUIL',
+-                      atleast_version='0.6.0', mandatory=True)
++                      atleast_version='0.8.7', mandatory=True)
+     autowaf.check_pkg(conf, 'sratom-0', uselib_store='SRATOM',
+                       atleast_version='0.6.0', mandatory=True)
+     if Options.options.portaudio:
+-- 
+cgit v0.10.2
+

diff --git a/media-sound/jalv/jalv-1.6.0-r2.ebuild b/media-sound/jalv/jalv-1.6.0-r2.ebuild
new file mode 100644
index 00000000000..03cdffb688e
--- /dev/null
+++ b/media-sound/jalv/jalv-1.6.0-r2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+PYTHON_REQ_USE='threads(+)'
+
+inherit python-any-r1 qmake-utils waf-utils
+
+DESCRIPTION="Simple but fully featured LV2 host for Jack"
+HOMEPAGE="http://drobilla.net/software/jalv/"
+SRC_URI="http://download.drobilla.net/${P}.tar.bz2"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gtk gtk2 gtkmm portaudio qt5"
+
+RDEPEND=">=media-libs/lv2-1.6.0
+	>=media-libs/lilv-0.24.0
+	>=dev-libs/serd-0.14.0
+	>=dev-libs/sord-0.12.0
+	>=media-libs/suil-0.6.0
+	>=media-libs/sratom-0.6.0
+	gtk? ( >=x11-libs/gtk+-3.0.0:3 )
+	gtk2? ( >=x11-libs/gtk+-2.18.0:2 )
+	gtkmm? ( >=dev-cpp/gtkmm-2.20.0:2.4 )
+	portaudio? ( media-libs/portaudio )
+	!portaudio? ( virtual/jack )
+	qt5? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtwidgets:5
+	)
+"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	virtual/pkgconfig"
+
+DOCS=( AUTHORS NEWS README )
+
+PATCHES=(
+	"${FILESDIR}/${P}-qt-5.7.0.patch"
+	"${FILESDIR}/${P}-stdin.patch"
+	"${FILESDIR}/${P}-suil-qt5.patch"
+)
+
+src_configure() {
+	use qt5 && export PATH="$(qt5_get_bindir):${PATH}"
+	waf-utils_src_configure \
+		"--docdir=/usr/share/doc/${PF}" \
+		--no-qt4 \
+		$(use qt5       || echo --no-qt5)       \
+		$(use gtk       || echo --no-gtk3)      \
+		$(use gtk2      || echo --no-gtk2)      \
+		$(use gtkmm     || echo --no-gtkmm)     \
+		$(use portaudio && echo --portaudio)
+}


             reply	other threads:[~2017-10-29 13:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-29 13:00 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-01-23 15:16 [gentoo-commits] repo/gentoo:master commit in: media-sound/jalv/, media-sound/jalv/files/ Miroslav Šulc
2021-02-08  8:59 Miroslav Šulc
2021-02-09 10:11 Miroslav Šulc
2022-10-02  9:06 Miroslav Šulc
2022-11-04  7:17 Miroslav Šulc

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1509281996.257d344317af170a10a0b7e5b49018704bb2a592.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox