On Mo, 2015-04-27 at 11:43 +0200, Michael Olbrich wrote:
> On Sat, Apr 18, 2015 at 02:40:51AM +0200, Andreas Pretzsch wrote:
> > SoX is the Swiss Army Knife of sound processing utilities.
> > It can convert audio files to other popular audio file types
> > and also apply sound effects and filters during the conversion.
> > See http://sox.sourceforge.net/ for more information.
> > 
> > In addition to libsox, optionally the command-line tool "sox"
> > and its shortcuts "soxi", "play", "rec" can be installed.
> > 
> > Signed-off-by: Andreas Pretzsch <[email protected]>
> > ---
> > The "--disable-openmp" is required, as sox configure detects
> > OpenMP support.............yes, -fopenmp
> > but won't run on targets without libgomp (GCC OpenMP) or similar.
> > As I don't care about this here (probably like most users), just
> > disable it, like some other packages in ptxdist do it.
> > 
> > Regarding other configure options (like mp3 support and whatnot),
> > rely on configure auto-detection, instead of adding with/without
> > options by the dozen. Whoever needs this is welcome to step in.
> > 
> >  rules/sox.in   | 46 +++++++++++++++++++++++++++++++++++++++++++
> >  rules/sox.make | 62 
> > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >  2 files changed, 108 insertions(+)
> >  create mode 100644 rules/sox.in
> >  create mode 100644 rules/sox.make
> > 
> > diff --git a/rules/sox.in b/rules/sox.in
> > new file mode 100644
> > index 0000000..0622f3e
> > --- /dev/null
> > +++ b/rules/sox.in
> > @@ -0,0 +1,46 @@
> > +## SECTION=multimedia_sound
> > +
> > +menuconfig SOX
> > +   tristate
> > +   prompt "sox                           "
> > +   help
> > +     SoX is the Swiss Army Knife of sound processing utilities.
> > +     It can convert audio files to other popular audio file types
> > +     and also apply sound effects and filters during the conversion.
> > +     See http://sox.sourceforge.net/ for more information.
> > +
> > +if SOX
> > +
> > +config SOX_SOX
> > +   bool
> > +   default y
> > +   prompt "Install sox command-line tool"
> > +   help
> > +     Install command-line tool providing all libSoX functionality.
> > +     Note: libsox is installed regardless of this option.
> > +
> > +config SOX_SOXI
> > +   bool
> > +   depends on SOX_SOX
> > +   prompt "Install symlink soxi => sox"
> > +   help
> > +     Add "soxi" command to display sound file metadata.
> > +     Same effect can be achieved with "sox --info".
> 
> I think we can just install this with sox

Ok. Fixed in v2.


> > +
> > +config SOX_PLAY
> > +   bool
> > +   depends on SOX_SOX
> > +   prompt "Install symlink play => sox"
> > +   help
> > +     Add "play" command to use sox for basic playing.
> > +     Same effect can be achieved with "sox <file> -d".
> > +
> > +config SOX_REC
> > +   bool
> > +   depends on SOX_SOX
> > +   prompt "Install symlink rec => sox"
> > +   help
> > +     Add "rec" command to use sox for basic recording.
> > +     Same effect can be achieved with "sox -d <file>".
> 
> Same for these two, or maybe one option for both.

One option for both. I like to see this as an optional thing, esp. given
the naming. "play" and "rec" are to "global" for my taste...


> > +
> > +endif
> > diff --git a/rules/sox.make b/rules/sox.make
> > new file mode 100644
> > index 0000000..bd03bdc
> > --- /dev/null
> > +++ b/rules/sox.make
> > @@ -0,0 +1,62 @@
> > +# -*-makefile-*-
> > +#
> > +# Copyright (C) 2015 by Andreas Pretzsch <[email protected]>
> > +#
> > +# See CREDITS for details about who has contributed to this project.
> > +#
> > +# For further information about the PTXdist project and license conditions
> > +# see the README file.
> > +#
> > +
> > +PACKAGES-$(PTXCONF_SOX) += sox
> > +
> > +SOX_VERSION        := 14.4.2
> > +SOX_MD5            := ba804bb1ce5c71dd484a102a5b27d0dd
> > +SOX                := sox-$(SOX_VERSION)
> > +SOX_SUFFIX := tar.bz2
> > +SOX_URL            := $(call ptx/mirror, SF, sox/$(SOX).$(SOX_SUFFIX))
> > +SOX_SOURCE := $(SRCDIR)/$(SOX).$(SOX_SUFFIX)
> > +SOX_DIR            := $(BUILDDIR)/$(SOX)
> > +SOX_LICENSE        := GPLv2+ (tools), LGPLv2.1+ (libs)
> > +
> > +# 
> > ----------------------------------------------------------------------------
> > +# Prepare
> > +# 
> > ----------------------------------------------------------------------------
> > +
> > +SOX_CONF_TOOL      := autoconf
> > +SOX_CONF_OPT       := \
> > +   $(CROSS_AUTOCONF_USR) \
> > +   --disable-openmp
> 
> You're missing a lot of options here and probably some depencencies in the
> .in file as well. Use the global largefile option, --disable-dl-*,
> --ensable-symlinks, and either disable, enable (with correct dependency) or
> add an option (use ptx/wwo for configure) for each exernal dependency.

Regarding largefile, correct, missed that, sorry. Fixed in v2.

Regarding enable-symlinks and disable-dl-*, these are default in
configure, so passing them is redundant IMHO. And will miss future new
options in this field.
But as they won't harm (and are sox local), I add these by your request.
Also added a comment that these are default, in case somebody wonders
why they are in there.

About the external dependencies, strictly speaking, there are none.
But there are options to stop sox trying to use libraries present:
  --without-magic         Don't try to use magic
  --without-png           Don't try to use png
  --without-ladspa        Don't try to use LADSPA
  --with-ladspa-path      Default search path for LADSPA plugins
  --without-mad           Don't try to use MAD (MP3 Audio Decoder)
  --without-id3tag        Don't try to use id3tag
  --without-lame          Don't try to use LAME (LAME Ain't an MP3 Encoder)
  --without-twolame       Don't try to use Twolame (MP2 Audio Encoder)

Anyway, I added the wwo support by your request, selecting the
appropriate libs like other packages do it.
For LADSPA (where there is no package in PTXdist), "--without-ladspa" is
passed, as we forcefully override the autodetection for all these libs.
Of course, there is a suitable comment.

Last, sox configure does some autodetection for Opus, Ogg Vorbis, etc.
but provides no configure option here, beside some CFLAGS passing.
So for this, there is no support in the PTXdist config. And at least
from my side, there won't be any, until I need it for a project.


Best regards,
  Andreas

-- 

carpe noctem engineering
Ingenieurbuero fuer Hard- & Software-Entwicklung Andreas Pretzsch
Dipl.-Ing. (FH) Andreas Pretzsch          Tel. +49-(0)731-5521572
Hahnengasse 3                             Fax: +49-(0)731-5521571
89073 Ulm, Germany                        email: [email protected]


-- 
ptxdist mailing list
[email protected]

Reply via email to