Re: update libsndfile to 1.0.28

2018-03-18 Thread Jeremie Courreges-Anglas
On Sun, Mar 18 2018, Jan Stary  wrote:
> On Mar 13 13:08:09, j...@wxcvbn.org wrote:
>> On Sun, Mar 11 2018, Jan Stary  wrote:
>> > This updates libsndfile to 1.0.28, the latest release.
>> > Sorry for being so late; thanks to naddy@ for the nudge.
>> >
>> > * Add explicit ./configure --options (in --help order)
>> 
>> Not ok with me, please see below.
>
> Tweaked diff below; the -Wvla patch too, for completeness.
>
>> > -CONFIGURE_ARGS=   --disable-alsa \
>> > +CONFIGURE_ARGS=   --enable-option-checking \
>> > +  --disable-silent-rules \
>> > +  --disable-experimental \
>> > +  --disable-werror \
>> > +  --disable-cpu-clip \
>> > +  --disable-sqlite \
>> > +  --disable-alsa \
>> > +  --enable-external-libs \
>> >--disable-octave \
>> > -  --disable-sqlite
>> > +  --enable-largefile \
>> 
>> At least --enable-option-checking --disable-silent-rules
>> and --enable-largefile are generic autoconf options, we should *not*
>> have to specify them.
>
> Are they on by default (in autoconf, in OpenBSD ports)?

The ports tree explicitely sets --disable-silent-rules, others are
using autoconf default afaik.  --enable-largefile isn't useful on
OpenBSD where off_t is always 64 bits.

> I dropped them from the diff.
>
>> --disable-alsa doesn't affect us, we have no alsa
>> implementation in base or ports.
>
> The point of adding this is to explicitly say we don't want it.
> I don't expect ALSA to appear in OpenBSD ports of course,
> but what's the problem with having the explicit option?

If we explicitely specified all possibly supported but pointless
configure knobs in ports, we'd have huge and unreadable Makefiles.

> (audio/sox does the same with all audio drivers.)

A bunch of lines in sox/Makefile don't seem very useful either...

>> I'm not sure there's a point to
>> overspecify options that upstream will probably not toggle, such
>> as --disable-experimental, --disable-cpu-clip, --enable-external-libs.
>
> I don't think it's overspecification.
> Do we want FLACC, OGG, etc? Yes we do.
> Therefore, --enable-external-libs

What's the probability of upstream disabling flac/ogg/etc support
through libflac/libvorbis by default?  Those are cheap deps.

But don't mistake --enable-external-libs for what it isn't.
Only --disable-external-libs is useful to *disable* the use of said
libraries.  --enable-external-libs won't trigger a failure if one of
those libs is missing/misdetected, won't increase determinism, and thus
looks like overspecification.

> and similarly for others.

I'd rather let upstream decide whether experimental or cpu-clip code
should be disabled by default, but no strong opinion here.

>> --disable-werror I could understand, -Werror is a common source of
>> gratuitous breakage in bulks.
>
> Yes.
>
> Slightly tweaked diff follows.
>
>   Jan
>
>
> Index: Makefile
> ===
> RCS file: /cvs/ports/audio/libsndfile/Makefile,v
> retrieving revision 1.31
> diff -u -p -u -p -r1.31 Makefile
> --- Makefile  7 Nov 2016 21:52:53 -   1.31
> +++ Makefile  18 Mar 2018 11:43:43 -
> @@ -2,11 +2,11 @@
>  
>  COMMENT= library to handle various audio file formats
>  
> -DISTNAME=libsndfile-1.0.27
> +DISTNAME=libsndfile-1.0.28
>  CATEGORIES=  audio
>  HOMEPAGE=http://www.mega-nerd.com/libsndfile/
>  MAINTAINER=  Jan Stary 
> -SHARED_LIBS +=   sndfile  5.0  # .1.27
> +SHARED_LIBS +=   sndfile  6.0  # .1.28
>  
>  # LGPLv2.1
>  PERMIT_PACKAGE_CDROM=Yes
> @@ -16,9 +16,14 @@ MASTER_SITES=  ${HOMEPAGE}files/
>  WANTLIB= c m sndio FLAC ogg vorbis vorbisenc
>  
>  CONFIGURE_STYLE=gnu
> -CONFIGURE_ARGS=  --disable-alsa \
> - --disable-octave \
> - --disable-sqlite
> +CONFIGURE_ARGS=  --disable-experimental \
> + --disable-werror \
> + --disable-cpu-clip \
> + --disable-sqlite \
> + --enable-external-libs \
> + --disable-octave
> +
> +CONFIGURE_ENV=   CPPFLAGS="-I${PREFIX}/include"
>  MODGNU_CONFIG_GUESS_DIRS=${WRKSRC}/Cfg
>  
>  LIB_DEPENDS= audio/flac \
> Index: patches/patch-configure
> ===
> RCS file: patches/patch-configure
> diff -N patches/patch-configure
> --- /dev/null 1 Jan 1970 00:00:00 -
> +++ patches/patch-configure   18 Mar 2018 11:43:43 -
> @@ -0,0 +1,14 @@
> +On some systems, the compiler cannot -Wvla
> +
> +Index: configure
> +--- configure.orig
>  configure
> +@@ -20828,7 +20828,7 @@ rm -f core conftest.err conftest.$ac_objext \
> + common_flags="-Wcast-align -Wcast-qual -Wshadow -Wwrite-strings -Wundef 
> -Wuninitialized -Winit-self"
> + 
> + # -Winline -Wconversion "
> +-CFLAGS="$CFLAGS $common_flags -Wbad-function-cast -Wnested-externs 
> -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declaration

Re: update libsndfile to 1.0.28

2018-03-18 Thread Jan Stary
On Mar 13 13:08:09, j...@wxcvbn.org wrote:
> On Sun, Mar 11 2018, Jan Stary  wrote:
> > This updates libsndfile to 1.0.28, the latest release.
> > Sorry for being so late; thanks to naddy@ for the nudge.
> >
> > * Add explicit ./configure --options (in --help order)
> 
> Not ok with me, please see below.

Tweaked diff below; the -Wvla patch too, for completeness.

> > -CONFIGURE_ARGS=--disable-alsa \
> > +CONFIGURE_ARGS=--enable-option-checking \
> > +   --disable-silent-rules \
> > +   --disable-experimental \
> > +   --disable-werror \
> > +   --disable-cpu-clip \
> > +   --disable-sqlite \
> > +   --disable-alsa \
> > +   --enable-external-libs \
> > --disable-octave \
> > -   --disable-sqlite
> > +   --enable-largefile \
> 
> At least --enable-option-checking --disable-silent-rules
> and --enable-largefile are generic autoconf options, we should *not*
> have to specify them.

Are they on by default (in autoconf, in OpenBSD ports)?
I dropped them from the diff.

> --disable-alsa doesn't affect us, we have no alsa
> implementation in base or ports.

The point of adding this is to explicitly say we don't want it.
I don't expect ALSA to appear in OpenBSD ports of course,
but what's the problem with having the explicit option?
(audio/sox does the same with all audio drivers.)

> I'm not sure there's a point to
> overspecify options that upstream will probably not toggle, such
> as --disable-experimental, --disable-cpu-clip, --enable-external-libs.

I don't think it's overspecification.
Do we want FLACC, OGG, etc? Yes we do.
Therefore, --enable-external-libs
and similarly for others.

> --disable-werror I could understand, -Werror is a common source of
> gratuitous breakage in bulks.

Yes.

Slightly tweaked diff follows.

Jan


Index: Makefile
===
RCS file: /cvs/ports/audio/libsndfile/Makefile,v
retrieving revision 1.31
diff -u -p -u -p -r1.31 Makefile
--- Makefile7 Nov 2016 21:52:53 -   1.31
+++ Makefile18 Mar 2018 11:43:43 -
@@ -2,11 +2,11 @@
 
 COMMENT=   library to handle various audio file formats
 
-DISTNAME=  libsndfile-1.0.27
+DISTNAME=  libsndfile-1.0.28
 CATEGORIES=audio
 HOMEPAGE=  http://www.mega-nerd.com/libsndfile/
 MAINTAINER=Jan Stary 
-SHARED_LIBS += sndfile  5.0  # .1.27
+SHARED_LIBS += sndfile  6.0  # .1.28
 
 # LGPLv2.1
 PERMIT_PACKAGE_CDROM=  Yes
@@ -16,9 +16,14 @@ MASTER_SITES=${HOMEPAGE}files/
 WANTLIB=   c m sndio FLAC ogg vorbis vorbisenc
 
 CONFIGURE_STYLE=gnu
-CONFIGURE_ARGS=--disable-alsa \
-   --disable-octave \
-   --disable-sqlite
+CONFIGURE_ARGS=--disable-experimental \
+   --disable-werror \
+   --disable-cpu-clip \
+   --disable-sqlite \
+   --enable-external-libs \
+   --disable-octave
+
+CONFIGURE_ENV= CPPFLAGS="-I${PREFIX}/include"
 MODGNU_CONFIG_GUESS_DIRS=${WRKSRC}/Cfg
 
 LIB_DEPENDS=   audio/flac \
Index: patches/patch-configure
===
RCS file: patches/patch-configure
diff -N patches/patch-configure
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-configure 18 Mar 2018 11:43:43 -
@@ -0,0 +1,14 @@
+On some systems, the compiler cannot -Wvla
+
+Index: configure
+--- configure.orig
 configure
+@@ -20828,7 +20828,7 @@ rm -f core conftest.err conftest.$ac_objext \
+   common_flags="-Wcast-align -Wcast-qual -Wshadow -Wwrite-strings -Wundef 
-Wuninitialized -Winit-self"
+ 
+   # -Winline -Wconversion "
+-  CFLAGS="$CFLAGS $common_flags -Wbad-function-cast -Wnested-externs 
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations 
-Waggregate-return -Wvla"
++  CFLAGS="$CFLAGS $common_flags -Wbad-function-cast -Wnested-externs 
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations 
-Waggregate-return"
+   CXXFLAGS="$CXXFLAGS $common_flags -Wctor-dtor-privacy 
-Wnon-virtual-dtor -Woverloaded-virtual -Wreorder -Wsign-promo"
+ 
+   if test "x$enable_gcc_opt" = "xno" ; then



Re: update libsndfile to 1.0.28

2018-03-17 Thread Jan Stary
On Mar 13 21:58:50, s...@spacehopper.org wrote:
> On 2018/03/11 20:53, Jan Stary wrote:
> > On Mar 11 13:57:13, h...@stare.cz wrote:
> > > Tested on current amd64, macppc and armv7; please test everywhere.
> > 
> > sox works fine happy with the new version
> > 
> > Jan
> > 
> 
> Lots of functions removed and the direct dependencies chain to a lot
> more things in the ports tree.
> 
> $ sqlite3 /usr/local/share/sqlports "select fullpkgpath from depends where 
> dependspath='audio/libsndfile'" 

Thanks for the list; I took a subset of it.
The followign build fine on current/amd64 and current/macppc:

audio/fluidsynth
audio/herrie
audio/jack
audio/libbs2b
audio/libsamplerate
audio/pulseaudio
audio/siren
audio/sox
audio/speech-dispatcher
audio/twolame
audio/vamp-plugin-sdk
comms/minimodem
emulators/mednafen

Jan



Re: update libsndfile to 1.0.28

2018-03-13 Thread Stuart Henderson
On 2018/03/13 16:16, Jan Stary wrote:
> > Do you really want tests on alpha or landisk before this is
> > committed? ;)
> 
> Yes.

Ha. In that case you will have *plenty* of time to test all the dependent ports 
:-)



Re: update libsndfile to 1.0.28

2018-03-13 Thread Stuart Henderson
On 2018/03/11 20:53, Jan Stary wrote:
> On Mar 11 13:57:13, h...@stare.cz wrote:
> > Tested on current amd64, macppc and armv7; please test everywhere.
> 
> sox works fine happy with the new version
> 
>   Jan
> 

Lots of functions removed and the direct dependencies chain to a lot
more things in the ports tree.

$ sqlite3 /usr/local/share/sqlports "select fullpkgpath from depends where 
dependspath='audio/libsndfile'" 
audio/aqualung
audio/audacious-plugins
audio/deadbeef
audio/fluidsynth
audio/herrie
audio/hydrogen
audio/jack
audio/libbs2b
audio/libsamplerate
audio/moc
audio/mscore
audio/mumble
audio/pulseaudio
audio/siren
audio/soundtracker
audio/sox
audio/speech-dispatcher
audio/twolame
audio/vamp-plugin-sdk
audio/xmms2
comms/fldigi
comms/minimodem
emulators/mednafen
emulators/xroar
games/alephone/alephone
games/easyrpg
math/octave
multimedia/gstreamer-0.10/plugins-bad,-main
multimedia/k3b-kde4
telephony/baresip/baresip,-main
x11/agar/agar
x11/gnustep/gui
x11/kde4/libkdegames

You can take this list and write it to a file and do "cd /usr/ports;
make SUBDIRLIST=/path/to/file package" and it will build them one after
another, no complicated setup. Even if you skip the ones with heavy
dependencies (kde etc) it'll still be helpful.



Re: update libsndfile to 1.0.28

2018-03-11 Thread Jan Stary
On Mar 11 13:57:13, h...@stare.cz wrote:
> Tested on current amd64, macppc and armv7; please test everywhere.

sox works fine happy with the new version

Jan