Replying to an old thread when I finally got around to it,
I am trying again to get this AMR port commited:
http://stare.cz/~hans/.tmp/opencore-amr-0.1.2.tar.gz

Meanwhile, I have found that David Coppa tried to
get this in before (and later OK'd my attempt):
http://marc.info/?t=127610174300003&r=1&w=2
http://marc.info/?l=openbsd-ports&m=130952776413954&w=2
(David, why is it you were building --with-pic?)

However, there were objections, which I try to address below.

On Jul 01 17:01:41, Stuart Henderson wrote:
> On 2011-07-01, Giovanni Bechis <giova...@openbsd.org> wrote:
> > On 07/01/11 15:39, David Coppa wrote:
> >> To anyone who wants to import it, you have my ok.
> > Enable regression test as well, ok for me.
> The following ports are very likely to pick this up:
> 
> audio/sox

I maintain audio/sox; in fact, the reason I am trying
to import AMR is to have AMR support in SoX.

SoX's configure has --with-amrnb and --with-amrwb,
but also picks up http://opencore-amr.sourceforge.net/
or http://ftp.penguin.cz/pub/users/utx/amr/ silently,
in that order of preference.

That makes a hidden dependency if either is present.
That's why we have --without-amrnb and --without-amrwb
in the current SoX Makefile. (I have a sox diff prepared
that I want to put in once the opencore-amr port gets in.)


> graphics/ffmpeg

ffmpeg's configure recognizes --enable-libopencore-amrnb
and --enable-libopencore-amrwb which both default to 'no';
the port does not override this and ffmpeg ignores
the installed openore-amr (and uses its own internal AMR
implementation in libavcodec/*amr*, which in turn is itself
a copy of the opencore implementation). ldd says the resulting
ffmpeg does not depend on the opencore libraries.

Anyway, we've been here:
http://marc.info/?l=openbsd-ports&m=130956193621550&w=2


> multimedia/avidemux

http://marc.info/?l=openbsd-ports&m=130969989416158&w=2

avidemux configure ignores the installed opencore-amr,
and ldd says the resulting avidemux does not depend on it.

However, it silently picks up another AMR implementation library,
namely that provided at http://ftp.penguin.cz/pub/users/utx/amr/
So I think avidemux already has the problem we are trying to discover,
but with respect to amrnb. Indeed, ldd says the resulting avidemux
depends on libamrnb.so (those are NOT the opencore-amr
liraries, but the http://ftp.penguin.cz/pub/users/utx/amr/ libs).



> multimedia/gstreamer-0.10 (plugins-bad and plugins-ugly)

The current gstreamer/core build breaks for me,
for reasons unrelated to opencore-amr:

checking for flex...  /usr/local/bin/gflex
/usr/ports/pobj/gstreamer-0.10.35/gstreamer-0.10.35/configure[21243]: 
/usr/local/bin/gflex: not found
checking flex version  >= 2.5.31... Use of uninitialized value 
$flex_version_major in numeric gt (>) at - line 3.

It seems that gstreamer/core BUILD_DEPENDS on flex but doesn't say so.
Similarly, the build apparently depends on gobject-introspection.

Once gstreamer/core is installed and I try to build
streamer/plugins-bad, the build stops with

===> Verifying specs: glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0 xml2  z m
pcre gstreamer-0.10 intl>=5 iconv>=6 glib-2.0 gmodule-2.0 gobject-2.0
gthread-2.0 xml2  z m pcre gstreamer-0.10 intl>=5 iconv>=6 BPM GL SDL
SoundTouch X11 Xau Xdamage Xdmcp Xext Xfixes Xrender Xxf86vm ass bz2
cairo cdaudio croco-0.6 crypto curl dca drm dvdnav dvdread enca expat
fontconfig freetype gdk_pixbuf-2.0 gio-2.0 gsm gstaudio-0.10
gstbase-0.10 gstcontroller-0.10 gstinterfaces-0.10 gstpbutils-0.10
gstriff-0.10 gstrtp-0.10 gstsdp-0.10 gsttag-0.10 gstvideo-0.10 idn
jasper lrdf mms mpcdec orc-0.4 pango-1.0 pangocairo-1.0 pangoft2-1.0
pixman-1 png pthread-stubs raptor rsvg-2 schroedinger-1.0 sndfile sndio
ssl stdc++ usbhid vpx xcb xcb-render xcb-shm xslt glib-2.0 gmodule-2.0
gobject-2.0 gthread-2.0 xml2  z m pcre gstreamer-0.10 intl>=5 iconv>=6
gstbase-0.10 neon  crypto expat ssl asn1 gssapi krb5 glib-2.0
gmodule-2.0 gobject-2.0 gthread-2.0 xml2  z m pcre gstreamer-0.10
intl>=5 iconv>=6  gstbase-0.10 stdc++ mjpegutils-1.9 mpeg2encpp-1.9
mplex2-1.9
Missing library for BPM>=0.0
Missing library for SoundTouch>=0.0
Missing library for croco-0.6>=0.0
Missing library for gstaudio-0.10>=0.0
Missing library for gstinterfaces-0.10>=0.0
Missing library for gstpbutils-0.10>=0.0
Missing library for gstriff-0.10>=0.0
Missing library for gstrtp-0.10>=0.0
Missing library for gstsdp-0.10>=0.0
Missing library for gsttag-0.10>=0.0
Missing library for gstvideo-0.10>=0.0
Missing library for rsvg-2>=0.0
Missing library for sndfile>=0.0
Missing library for mjpegutils-1.9>=0.0
Missing library for mpeg2encpp-1.9>=0.0
Missing library for mplex2-1.9>=0.0
Fatal error
*** Error code 1

Is there something I need to install first that would pull these
as dependencies, as opposed to installing them explicitly?
Am I missing something?


> These need to be built with opencore-amr already installed and checked as
> to whether they need additional deps listing (WANTLIB/LIB_DEPENDS as usual,
> but also LIB*_EXTRALIBS in ffmpeg).

None of 
        libavcodec
        libavdevice
        libavfilter
        libavformat
        libavutil
        libpostproc
        libswscale
depends on the opencore* libraries.

> Ports depending on these also need to
> be checked for additional WANTLIB.

I need an advice here: is this simply because a port that depends
on something that is likely to pick up opencore-amr is likely to
pick up opencore-amr itself?  Say, mplayer is likely to pick up
AMR because it depends on ffmpeg, which is likely to pick up AMR,
and thus mplayer should be checked for these silent dependencies?
Is this the reasoning here?

Any further comments / OK's / nogo's?

        Jan

Reply via email to