Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/2] jack2: add missing dependencies (branch yem/pw)
@ 2015-12-28 19:08 Yann E. MORIN
  2015-12-28 19:08 ` [Buildroot] [PATCH 1/2] package/eigen: install .pc file Yann E. MORIN
  2015-12-28 19:08 ` [Buildroot] [PATCH 2/2] package/jack2: add missing optional dependencies Yann E. MORIN
  0 siblings, 2 replies; 7+ messages in thread
From: Yann E. MORIN @ 2015-12-28 19:08 UTC (permalink / raw)
  To: buildroot

Hello All!

This short series cleans up the dependnecies of jack2, by adding
optional dependencies that were so far not accounted for in the
dependency chain.

Note that this series only clenly applies on-top of the previously-sent
multi-mode patch:
    http://lists.busybox.net/pipermail/buildroot/2015-December/148388.html

However, it does not functionally depend on it, so can be applied
without it (but would need some manual love to fix conflicts).


Regards,
Yann E. MORIN.


The following changes since commit 8936ae4b4162b2bfa77ac2fd6ade62226ef1bdcc:

  jack2: allow to choose the mode to operate jackd (2015-12-28 18:19:12 +0100)

are available in the git repository at:

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

for you to fetch changes up to 5f7632a3d6ed3e3ab0f324e31be21a0ea18245d4:

  package/jack2: add missing optional dependencies (2015-12-28 20:03:58 +0100)

----------------------------------------------------------------
Yann E. MORIN (2):
      package/eigen: install .pc file
      package/jack2: add missing optional dependencies

 package/eigen/eigen.mk |  9 +++++++++
 package/jack2/jack2.mk | 17 +++++++++++++++++
 2 files changed, 26 insertions(+)

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/2] package/eigen: install .pc file
  2015-12-28 19:08 [Buildroot] [PATCH 0/2] jack2: add missing dependencies (branch yem/pw) Yann E. MORIN
@ 2015-12-28 19:08 ` Yann E. MORIN
  2015-12-28 21:05   ` Thomas Petazzoni
  2015-12-28 19:08 ` [Buildroot] [PATCH 2/2] package/jack2: add missing optional dependencies Yann E. MORIN
  1 sibling, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2015-12-28 19:08 UTC (permalink / raw)
  To: buildroot

Other packages will look for eigen3.pc to detect the presence of eigen3.

eigen3.pc is usually installed by eigen's cmake buildsystem, but we do a
manual install to not depend on host-cmake just to install header files.
But in doing so, we forgot to install the .pc file.

Manually sed the source .pc.in to generate the final .pc file.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/eigen/eigen.mk | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk
index dd88fde..3eb858a 100644
--- a/package/eigen/eigen.mk
+++ b/package/eigen/eigen.mk
@@ -20,6 +20,13 @@ define EIGEN_INSTALL_UNSUPPORTED_MODULES_CMDS
 endef
 endif
 
+# Generate the .pc file at build time
+define EIGEN_BUILD_CMDS
+	sed -r -e 's,^Version: .*,Version: $(EIGEN_VERSION),' \
+	       -e 's,^Cflags: .*,Cflags: -I$(EIGEN_DEST_DIR),' \
+	       $(@D)/eigen3.pc.in >$(@D)/eigen3.pc
+endef
+
 # This package only consists of headers that need to be
 # copied over to the sysroot for compile time use
 define EIGEN_INSTALL_STAGING_CMDS
@@ -27,6 +34,8 @@ define EIGEN_INSTALL_STAGING_CMDS
 	mkdir -p $(EIGEN_DEST_DIR)
 	cp -a $(@D)/Eigen $(EIGEN_DEST_DIR)
 	$(EIGEN_INSTALL_UNSUPPORTED_MODULES_CMDS)
+	$(INSTALL) -D -m 0644 $(@D)/eigen3.pc \
+			      $(STAGING_DIR)/usr/lib/pkgconfig/eigen3.pc
 endef
 
 $(eval $(generic-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 2/2] package/jack2: add missing optional dependencies
  2015-12-28 19:08 [Buildroot] [PATCH 0/2] jack2: add missing dependencies (branch yem/pw) Yann E. MORIN
  2015-12-28 19:08 ` [Buildroot] [PATCH 1/2] package/eigen: install .pc file Yann E. MORIN
@ 2015-12-28 19:08 ` Yann E. MORIN
  2015-12-28 20:42   ` Thomas Petazzoni
  1 sibling, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2015-12-28 19:08 UTC (permalink / raw)
  To: buildroot

jack2 can optionally use opus, readline and eigen3, but those
dependencies were not expressed in out jack2 package, potentially
leading to unreproducible builds.

Add them.

Note that 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.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/jack2/jack2.mk | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/package/jack2/jack2.mk b/package/jack2/jack2.mk
index e4ad36e..5566b78 100644
--- a/package/jack2/jack2.mk
+++ b/package/jack2/jack2.mk
@@ -24,6 +24,23 @@ JACK2_DEPENDENCIES += dbus
 JACK2_CONF_OPTS += --dbus
 endif
 
+ifeq ($(BR2_PACKAGE_OPUS),y)
+JACK2_DEPENDENCIES += opus
+endif
+
+ifeq ($(BR2_PACKAGE_READLINE),y)
+JACK2_DEPENDENCIES += readline
+endif
+
+ifeq ($(BR2_PACKAGE_EIGEN),y)
+JACK2_DEPENDENCIES += eigen
+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.
+
 define JACK2_CONFIGURE_CMDS
 	(cd $(@D); \
 		$(TARGET_CONFIGURE_OPTS)	\
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 2/2] package/jack2: add missing optional dependencies
  2015-12-28 19:08 ` [Buildroot] [PATCH 2/2] package/jack2: add missing optional dependencies Yann E. MORIN
@ 2015-12-28 20:42   ` Thomas Petazzoni
  2015-12-28 20:49     ` Yann E. MORIN
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2015-12-28 20:42 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Mon, 28 Dec 2015 20:08:55 +0100, Yann E. MORIN wrote:

> +ifeq ($(BR2_PACKAGE_OPUS),y)
> +JACK2_DEPENDENCIES += opus
> +endif
> +
> +ifeq ($(BR2_PACKAGE_READLINE),y)
> +JACK2_DEPENDENCIES += readline
> +endif
> +
> +ifeq ($(BR2_PACKAGE_EIGEN),y)
> +JACK2_DEPENDENCIES += eigen
> +endif

I'm fine with the opus and readline dependencies. But for the eigen
dependency, I'm not so sure. linux/wscript defines HAVE_EIGEN3 is eigen
is available. And this symbol is not used anywhere in the jack2 source
code... So it seems like eigen is a useless dependency.

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 2/2] package/jack2: add missing optional dependencies
  2015-12-28 20:42   ` Thomas Petazzoni
@ 2015-12-28 20:49     ` Yann E. MORIN
  0 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2015-12-28 20:49 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-12-28 21:42 +0100, Thomas Petazzoni spake thusly:
> On Mon, 28 Dec 2015 20:08:55 +0100, Yann E. MORIN wrote:
> > +ifeq ($(BR2_PACKAGE_OPUS),y)
> > +JACK2_DEPENDENCIES += opus
> > +endif
> > +
> > +ifeq ($(BR2_PACKAGE_READLINE),y)
> > +JACK2_DEPENDENCIES += readline
> > +endif
> > +
> > +ifeq ($(BR2_PACKAGE_EIGEN),y)
> > +JACK2_DEPENDENCIES += eigen
> > +endif
> 
> I'm fine with the opus and readline dependencies. But for the eigen
> dependency, I'm not so sure. linux/wscript defines HAVE_EIGEN3 is eigen
> is available. And this symbol is not used anywhere in the jack2 source
> code... So it seems like eigen is a useless dependency.

OK, I just based my analysis on the output of the waf configure command,
which just reported a missing eigen before this patch, and found it with
this patch.

However, after your comment I looked at what eigen was used for. It is
only used in cunjunction with gtkiostream to provide the IIO backend.

But we don't have gtkiostream (and it's not even in dDebian or Ubuntu!),
so indeed the eigen dependency is useless in our case.

I'll fix and respin.

Thanks! :-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/2] package/eigen: install .pc file
  2015-12-28 19:08 ` [Buildroot] [PATCH 1/2] package/eigen: install .pc file Yann E. MORIN
@ 2015-12-28 21:05   ` Thomas Petazzoni
  2015-12-28 21:13     ` Yann E. MORIN
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2015-12-28 21:05 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Mon, 28 Dec 2015 20:08:54 +0100, Yann E. MORIN wrote:
> Other packages will look for eigen3.pc to detect the presence of eigen3.
> 
> eigen3.pc is usually installed by eigen's cmake buildsystem, but we do a
> manual install to not depend on host-cmake just to install header files.
> But in doing so, we forgot to install the .pc file.
> 
> Manually sed the source .pc.in to generate the final .pc file.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  package/eigen/eigen.mk | 9 +++++++++
>  1 file changed, 9 insertions(+)

Applied, thanks. Since I forgot to fix it in the commit, I did a
follow-up commit to fix the indentation. You used a mix of tabs and
spaces in a not very consistent way.

Best regards,

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/2] package/eigen: install .pc file
  2015-12-28 21:05   ` Thomas Petazzoni
@ 2015-12-28 21:13     ` Yann E. MORIN
  0 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2015-12-28 21:13 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2015-12-28 22:05 +0100, Thomas Petazzoni spake thusly:
> Dear Yann E. MORIN,
> 
> On Mon, 28 Dec 2015 20:08:54 +0100, Yann E. MORIN wrote:
> > Other packages will look for eigen3.pc to detect the presence of eigen3.
> > 
> > eigen3.pc is usually installed by eigen's cmake buildsystem, but we do a
> > manual install to not depend on host-cmake just to install header files.
> > But in doing so, we forgot to install the .pc file.
> > 
> > Manually sed the source .pc.in to generate the final .pc file.
> > 
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > ---
> >  package/eigen/eigen.mk | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> 
> Applied, thanks.

:-)

> Since I forgot to fix it in the commit, I did a
> follow-up commit to fix the indentation. You used a mix of tabs and
> spaces in a not very consistent way.

Well, it was not really 'inconsistent' since I did it on purpose:
  - the sed's -e expression were all aligned (with tabstop=8)
  - the install's source and destination were aligned (with tabstop=8)

But OK, your fix provides another kind of 'consistency' ;-)

Thanks! :-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-12-28 21:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-28 19:08 [Buildroot] [PATCH 0/2] jack2: add missing dependencies (branch yem/pw) Yann E. MORIN
2015-12-28 19:08 ` [Buildroot] [PATCH 1/2] package/eigen: install .pc file Yann E. MORIN
2015-12-28 21:05   ` Thomas Petazzoni
2015-12-28 21:13     ` Yann E. MORIN
2015-12-28 19:08 ` [Buildroot] [PATCH 2/2] package/jack2: add missing optional dependencies Yann E. MORIN
2015-12-28 20:42   ` Thomas Petazzoni
2015-12-28 20:49     ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox