Opened 8 years ago

Closed 8 years ago

#49821 closed update (fixed)

libsndfile - update to 1.0.26

Reported by: janstary (Jan Starý) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: haspatch maintainer Cc: kurthindenburg (Kurt Hindenburg)
Port: libsndfile

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Here is a patch to the Portfile of audio/libsndfile which brings it to the latest 1.0.26 release, and the upgraded version of files/

The speex.patch removes SPEEX_* from EXTERNAL_* in configure; I believe speex.patch is a better name, and configure.patch should be replaced with this.

The carbon.patch is a better version of fix-include.patch which it should replace. Not only does it remove the Carbon.h include from sndfile-play.c, but it removes Carbon altogether.

I am leaving src__config.h.ed as is, but I am not completely sure about its purpose; if __BIG_ENDIAN__, __LP64__, etc, is defined, then ./configure (which creates config.h) is supposed to figure out the SIZEOF_LONG etc, right? If not, it's a bug in configure, not something we should patch in the resulting config.h, right?

I also removed the sqlite variant from the Portfile. Only sndfile-regtest uses sqlite; does anybody use sndfile-regtest?

Jan

Attachments (3)

carbon.patch (1.5 KB) - added by janstary (Jan Starý) 8 years ago.
remove Carbon from libsndfile
speex.patch (649 bytes) - added by janstary (Jan Starý) 8 years ago.
remove SPEEX_* from libsndfile
Portfile.diff (1.7 KB) - added by janstary (Jan Starý) 8 years ago.
update to 1.0.26, remove sqlite, comment on the config.h script

Download all attachments as: .zip

Change History (12)

Changed 8 years ago by janstary (Jan Starý)

Attachment: carbon.patch added

remove Carbon from libsndfile

Changed 8 years ago by janstary (Jan Starý)

Attachment: speex.patch added

remove SPEEX_* from libsndfile

comment:1 Changed 8 years ago by janstary (Jan Starý)

(The double underscore fucked up my message.)

comment:2 in reply to:  1 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

Replying to hans@…:

(The double underscore fucked up my message.)

I fixed your formatting. Remember to use WikiFormatting and to preview before submitting.

I am leaving src__config.h.ed as is, but I am not completely sure about its purpose; if __BIG_ENDIAN__, __LP64__, etc, is defined, then ./configure (which creates config.h) is supposed to figure out the SIZEOF_LONG etc, right? If not, it's a bug in configure, not something we should patch in the resulting config.h, right?

You can easily discover using "svn log" and "svn blame" that this file was added in r42762 to resolve #17088, when libsndfile was at version 1.0.17. I cannot tell you whether it is still needed today at version 1.0.26 but you could certainly test and find out whether the problem described in #17088 returns if you remove it. If it does, then you should not remove the patch. If this ed script fixes the problem, I'm not concerned about whether there are other ways that the problem could have been fixed. Using ed scripts to fix this type of problem has precedent in MacPorts; see the glib2 port for example.

comment:3 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to hans@…

comment:4 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: maintainer added
Owner: changed from hans@… to macports-tickets@…

comment:5 Changed 8 years ago by janstary (Jan Starý)

Please excuse my Universal Binary ignorance (never used it) and help me understand what the config.h.ed script does.

Without the patch, the resulting config.h contains just e.g. "#define CPU_CLIPS_NEGATIVE 1", appropriate for the architecture ./configure is run on. That's OK for that one architecture, but is wrong for the other architectures the universal binary is supposed to support. If we have the ed script that puts those #ifdef's into the config.h, then the config.h is usable even for the other arhitectures involved in the build of the universal binary.

If this is correct, the ed script needs to stay.

Anyway, should it be named src__config.h.ed ? Other ports that use such scripts (flac, glib2, neon, ...) name it simply config.h.ed.

comment:6 Changed 8 years ago by janstary (Jan Starý)

Anyway, here is a better diff to the Portfile, which also removes sqlite properly, and adds a comment for the config script

Changed 8 years ago by janstary (Jan Starý)

Attachment: Portfile.diff added

update to 1.0.26, remove sqlite, comment on the config.h script

comment:7 Changed 8 years ago by janstary (Jan Starý)

Is there anything else that needs to be done before we commit this?

comment:8 Changed 8 years ago by kurthindenburg (Kurt Hindenburg)

Cc: khindenburg@… added

Cc Me!

comment:9 Changed 8 years ago by kurthindenburg (Kurt Hindenburg)

Resolution: fixed
Status: newclosed

done r143862 +universal works

I see this output for some of the binaries - perhaps these shouldn't be build and/or installed if they dont work for current system.

OS X 10.8 and later have a new Audio API. Someone needs to write code to use that API.

Note: See TracTickets for help on using tickets.