Skip to contentSkip to conversation

package/jackd: choose mode of operation, comment celt and eigen (branch yem/adopted)

PATCH New Yann E. MORIN 2 participants 5 messages Mar 11, 2016 – Mar 20, 2016

lore
Share & tools
lore
#0 lore raw

v2 cover package/jackd: choose mode of operation, comment celt and eigen (branch yem/adopted)

Hello All!

This short series adds the possibility to choose what mode to operate jackd in (initially provided by Antoine, rebased and updated by me), as well as add comments on why we do not have a dependency on celt and eigen.

Changes v1 -> v2:
- drop the eigen dependency, comment it (Thomas)

Regards,
Yann E. MORIN.

The following changes since commit 0b7b84310c3781c346eea4c114c8cb4e97bbd8ea:

olimex_imx233_olinuxino_defconfig: genimage support (2016-03-11 13:14:54 +0100)

are available in the git repository at:

git://git.busybox.net/~ymorin/git/buildroot yem/adopted

for you to fetch changes up to dc794aba76e931a0c7bb974016708c51b77d3f6b:

package/jack2: add comment about celt and eigen (2016-03-11 18:11:35 +0100)

----------------------------------------------------------------
Antoine T?nart (1):
jack2: allow to choose the mode to operate jackd

Yann E. MORIN (1):
package/jack2: add comment about celt and eigen

 package/jack2/Config.in | 26 ++++++++++++++++++++++++++
 package/jack2/jack2.mk  | 23 +++++++++++++++++++++++
 2 files changed, 49 insertions(+)
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#1 lore raw

PATCH v2 1/2 jack2: allow to choose the mode to operate jackd

From: Antoine T?nart <[email protected]>

jack2 allows to use three modes:
- A legacy jackd service alone.
- A DBUS jackd service alone.
- A mixture between the standalone jackd and the DBUS jackd.

This patch adds the possibility to choose between these three modes, while the legacy jackd was the only option before.

In addition, the jack_control tool is removed when the DBUS jackd is not available, as this tool is used to control it.

[yann.morin.1998 at free.fr:
- rebase
- only use two booleans, not a choice
- python is a runtime-only dependency
- use python3 if enabled, fallback to python
- simplify post-install condition
]

---
Changes v1 -> v2:
- rebased; see commit log (Yann)

---
 package/jack2/Config.in | 26 ++++++++++++++++++++++++++
 package/jack2/jack2.mk  | 15 +++++++++++++++
 2 files changed, 41 insertions(+)
package/jack2/Config.in +26 -0
index 94cb7e0..f144645 100644
@@ -11,6 +11,8 @@ config BR2_PACKAGE_JACK2
 	select BR2_PACKAGE_ALSA_LIB_HWDEP
 	select BR2_PACKAGE_ALSA_LIB_SEQ
 	select BR2_PACKAGE_ALSA_LIB_RAWMIDI
+	# Ensure we get at least one:
+	select BR2_PACKAGE_JACK2_LEGACY if !BR2_PACKAGE_JACK2_DBUS
 	help
 	  JACK Audio Connection Kit (server and example clients).
 
@@ -21,6 +23,30 @@ config BR2_PACKAGE_JACK2
 
 	  http://jackaudio.org/
 
+if BR2_PACKAGE_JACK2
+
+config BR2_PACKAGE_JACK2_LEGACY
+	bool "classic jack2"
+	help
+	  Build and use jackd.
+
+	  https://github.com/jackaudio/jackaudio.github.com/wiki/JackDbusPackaging
+
+config BR2_PACKAGE_JACK2_DBUS
+	bool "dbus jack2"
+	depends on BR2_USE_WCHAR # dbus-python, python
+	select BR2_PACKAGE_DBUS
+	select BR2_PACKAGE_DBUS_PYTHON
+	select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON # runtime
+	select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime
+	select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime
+	help
+	  Build on use jackdbus.
+
+	  https://github.com/jackaudio/jackaudio.github.com/wiki/JackDbusPackaging
+
+endif
+
 comment "jack2 needs a toolchain w/ threads, C++, dynamic library"
 	depends on BR2_USE_MMU
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
package/jack2/jack2.mk +15 -0
index 81508da..6bea373 100644
@@ -18,12 +18,27 @@ ifeq ($(BR2_PACKAGE_READLINE),y)
 JACK2_DEPENDENCIES += readline
 endif
 
+ifeq ($(BR2_PACKAGE_JACK2_LEGACY),y)
+JACK2_CONF_OPTS += --classic
+else
+define JACK2_REMOVE_JACK_CONTROL
+	$(RM) -f $(TARGET_DIR)/usr/bin/jack_control
+endef
+JACK2_POST_INSTALL_TARGET_HOOKS += JACK2_REMOVE_JACK_CONTROL
+endif
+
+ifeq ($(BR2_PACKAGE_JACK2_DBUS),y)
+JACK2_DEPENDENCIES += dbus
+JACK2_CONF_OPTS += --dbus
+endif
+
 define JACK2_CONFIGURE_CMDS
 	(cd $(@D); \
 		$(TARGET_CONFIGURE_OPTS)	\
 		$(HOST_DIR)/usr/bin/python2 ./waf configure \
 		--prefix=/usr			\
 		--alsa				\
+		$(JACK2_CONF_OPTS)		\
 	)
 endef
 
Signature · 1 line
1.9.1
#2 lore raw

PATCH v2 1/2 jack2: allow to choose the mode to operate jackd

Hello,

Quoted 23 lines · Yann E. MORIN

From: Antoine T?nart <[email protected]>

jack2 allows to use three modes:
- A legacy jackd service alone.
- A DBUS jackd service alone.
- A mixture between the standalone jackd and the DBUS jackd.

This patch adds the possibility to choose between these three modes, while the legacy jackd was the only option before.

In addition, the jack_control tool is removed when the DBUS jackd is not available, as this tool is used to control it.

[yann.morin.1998 at free.fr:
- rebase
- only use two booleans, not a choice
- python is a runtime-only dependency
- use python3 if enabled, fallback to python
- simplify post-install condition
]

Quoted 7 lines

---
Changes v1 -> v2:
- rebased; see commit log (Yann)

---
 package/jack2/Config.in | 26 ++++++++++++++++++++++++++
 package/jack2/jack2.mk  | 15 +++++++++++++++
 2 files changed, 41 insertions(+)

Applied after fixing some typos. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH v2 2/2 package/jack2: add comment about celt and eigen

In reply to Yann E. MORIN

The optinal dependency on celt is not added, because we only have celt-0.5.1 and jack2 requires celt >= 0.5.2 (even though it does look for celt >= 0.5.0, it does not build with celt- < 0.5.2). Sinc ewe can not upgrade celt (for now), we just never make jack2 depend on celt051, and it won;t find it either, as it just searches for celt.pc and we have celt051.pc.

As well, the dependency on eigen is only usefull in cunjunction with gtkiostream, for which we do not have a package. So, we need not depend on eigen.

---
 package/jack2/jack2.mk | 8 ++++++++
 1 file changed, 8 insertions(+)
package/jack2/jack2.mk +8 -0
index 6bea373..1f25e74 100644
@@ -32,6 +32,14 @@ JACK2_DEPENDENCIES += dbus
 JACK2_CONF_OPTS += --dbus
 endif
 
+# Even though it advertises support for celt-0.5.x, jack2 really requires
+# celt >= 0.5.2 but we only have 0.5.1.3 and we can not upgrade, so we do
+# not add a dependency to celt051, which it can't find anyway as it looks
+# for celt.pc but we only have celt-51.pc.
+
+# The dependency against eigen is only usefull in cunjunction with
+# gtkiostream, which we do not have, so we need not depend on eigen.
+
 define JACK2_CONFIGURE_CMDS
 	(cd $(@D); \
 		$(TARGET_CONFIGURE_OPTS)	\
Signature · 1 line
1.9.1
#4 lore raw

PATCH v2 2/2 package/jack2: add comment about celt and eigen

Hello,

Quoted 7 lines · Yann E. MORIN

The optinal dependency on celt is not added, because we only have celt-0.5.1 and jack2 requires celt >= 0.5.2 (even though it does look for celt >= 0.5.0, it does not build with celt- < 0.5.2). Sinc ewe can not upgrade celt (for now), we just never make jack2 depend on celt051, and it won;t find it either, as it just searches for celt.pc and we have celt051.pc.

Quoted 8 lines

As well, the dependency on eigen is only usefull in cunjunction with gtkiostream, for which we do not have a package. So, we need not depend on eigen.

---
 package/jack2/jack2.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

Applied after fixing some typos. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com