1 # Created by: Dmitry Marakasov <amdmi3@FreeBSD.org>
4 PORTNAME= gmerlin-avdecoder
8 MASTER_SITES= SF/gmerlin/${PORTNAME}/${PORTVERSION}
10 MAINTAINER= wg@FreeBSD.org
11 COMMENT= General purpose media decoding library
15 BUILD_DEPENDS= ${LOCALBASE}/include/linux/dvb/frontend.h:${PORTSDIR}/multimedia/v4l_compat
16 LIB_DEPENDS= libgavl.so:${PORTSDIR}/multimedia/gavl
18 OPTIONS_DEFINE= A52 CDIO DCA DVDREAD FAAD FFMPEG FLAC GMERLIN MAD \
19 MJPEGTOOLS MPEG2 MUSEPACK OPENJPEG OPTIMIZED_CFLAGS PNG \
20 SAMBA SCHROEDINGER SPEEX THEORA TIFF VDPAU VORBIS DOCS
21 OPTIONS_DEFAULT= A52 CDIO DCA DVDREAD FAAD FFMPEG FLAC GMERLIN MAD \
22 MJPEGTOOLS MPEG2 MUSEPACK OPENJPEG OPTIMIZED_CFLAGS PNG \
23 SAMBA SCHROEDINGER SPEEX THEORA TIFF VDPAU VORBIS
24 DVDREAD_DESC= libdvdread support
25 GMERLIN_DESC= gmerlin support
26 SAMBA_DESC= Samba support using libsmbclient
28 USES= gettext libtool pathfix pkgconfig
30 CONFIGURE_ARGS= --with-cpuflags=none --without-doxygen
33 CPPFLAGS+= -I${LOCALBASE}/include/ffmpeg0 -I${LOCALBASE}/include
34 LDFLAGS+= -L${LOCALBASE}/lib/ffmpeg0 -L${LOCALBASE}/lib
36 .include <bsd.port.options.mk>
38 .if ${PORT_OPTIONS:MGMERLIN}
39 LIB_DEPENDS+= libgmerlin.so:${PORTSDIR}/multimedia/gmerlin
40 PLIST_SUB+= GMERLIN=""
42 CONFIGURE_ARGS+=--disable-gmerlin
43 PLIST_SUB+= GMERLIN="@comment "
46 .if ${PORT_OPTIONS:MFFMPEG}
47 LIB_DEPENDS+= libavcodec0.so:${PORTSDIR}/multimedia/ffmpeg0
49 CONFIGURE_ARGS+=--disable-libavcodec --disable-libpostproc --disable-libswscale --disable-libavformat
52 .if ${PORT_OPTIONS:MTHEORA}
53 LIB_DEPENDS+= libtheora.so:${PORTSDIR}/multimedia/libtheora
55 CONFIGURE_ARGS+=--disable-theoradec
58 .if ${PORT_OPTIONS:MSPEEX}
59 LIB_DEPENDS+= libspeex.so:${PORTSDIR}/audio/speex
61 CONFIGURE_ARGS+=--disable-speex
64 .if ${PORT_OPTIONS:MMJPEGTOOLS}
65 LIB_DEPENDS+= liblavjpeg.so:${PORTSDIR}/multimedia/mjpegtools
67 CONFIGURE_ARGS+=--disable-mjpegtools
70 .if ${PORT_OPTIONS:MVORBIS}
71 LIB_DEPENDS+= libvorbis.so:${PORTSDIR}/audio/libvorbis
72 CONFIGURE_ARGS+=--with-vorbis=${LOCALBASE}
74 CONFIGURE_ARGS+=--disable-vorbis
77 .if ${PORT_OPTIONS:MMPEG2}
78 LIB_DEPENDS+= libmpeg2.so:${PORTSDIR}/multimedia/libmpeg2
80 CONFIGURE_ARGS+=--disable-libmpeg2
83 .if ${PORT_OPTIONS:MTIFF}
84 LIB_DEPENDS+= libtiff.so:${PORTSDIR}/graphics/tiff
86 CONFIGURE_ARGS+=--disable-libtiff
89 .if ${PORT_OPTIONS:MSAMBA}
90 LIB_DEPENDS+= libsmbclient.so:${PORTSDIR}/net/samba-libsmbclient
92 CONFIGURE_ARGS+=--disable-samba
95 .if ${PORT_OPTIONS:MPNG}
96 LIB_DEPENDS+= libpng15.so:${PORTSDIR}/graphics/png
98 CONFIGURE_ARGS+=--disable-libpng
101 .if ${PORT_OPTIONS:MFAAD}
102 LIB_DEPENDS+= libfaad.so:${PORTSDIR}/audio/faad
104 CONFIGURE_ARGS+=--disable-faad2
107 .if ${PORT_OPTIONS:MDVDREAD}
108 LIB_DEPENDS+= libdvdread.so:${PORTSDIR}/multimedia/libdvdread
109 PLIST_SUB+= DVDREAD=""
111 CONFIGURE_ARGS+=--disable-dvdread
112 PLIST_SUB+= DVDREAD="@comment "
115 .if ${PORT_OPTIONS:MFLAC}
116 LIB_DEPENDS+= libFLAC.so:${PORTSDIR}/audio/flac
118 CONFIGURE_ARGS+=--disable-flac
121 .if ${PORT_OPTIONS:MMUSEPACK}
122 LIB_DEPENDS+= libmpcdec.so:${PORTSDIR}/audio/musepack
124 CONFIGURE_ARGS+=--disable-musepack
127 .if ${PORT_OPTIONS:MMAD}
128 LIB_DEPENDS+= libmad.so:${PORTSDIR}/audio/libmad
130 CONFIGURE_ARGS+=--disable-mad
133 .if ${PORT_OPTIONS:MA52}
134 LIB_DEPENDS+= liba52.so:${PORTSDIR}/audio/liba52
136 CONFIGURE_ARGS+=--disable-liba52
139 .if ${PORT_OPTIONS:MDCA}
140 LIB_DEPENDS+= libdca.so:${PORTSDIR}/multimedia/libdca
143 CONFIGURE_ARGS+=--disable-libcda --disable-libdca
146 .if ${PORT_OPTIONS:MCDIO}
147 LIB_DEPENDS+= libcdio.so:${PORTSDIR}/sysutils/libcdio
150 CONFIGURE_ARGS+=--disable-libcdio
151 PLIST_SUB+= CDIO="@comment "
154 .if ${PORT_OPTIONS:MOPENJPEG}
155 LIB_DEPENDS+= libopenjpeg.so:${PORTSDIR}/graphics/openjpeg15
157 CONFIGURE_ARGS+=--disable-openjpeg
160 .if ${PORT_OPTIONS:MSCHROEDINGER}
161 LIB_DEPENDS+= libschroedinger-1.0.so:${PORTSDIR}/multimedia/schroedinger
163 CONFIGURE_ARGS+=--disable-schroedinger
166 .if ${PORT_OPTIONS:MVDPAU}
167 LIB_DEPENDS+= libvdpau.so:${PORTSDIR}/multimedia/libvdpau
169 CONFIGURE_ARGS+= --disable-vdpau
172 # vendor ocflags from configure
173 .if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
174 CFLAGS+= -O3 -funroll-all-loops -ffast-math
175 CXXFLAGS+= -O3 -funroll-all-loops -ffast-math
179 @${REINPLACE_CMD} -E -e \
180 's|-O3 -funroll-all-loops -ffast-math||g; \
182 s|^LDFLAGS="|&$${LDFLAGS} |' \
183 -e 's|^(.*PKG_CONFIG.*)libavcodec(.*)|\1libavcodec0\2|g' \
184 -e 's|^(.*PKG_CONFIG.*)libavformat(.*)|\1libavformat0\2|g' \
185 -e 's|^(.*PKG_CONFIG.*)libavutil(.*)|\1libavutil0\2|g' \
186 -e 's|^(.*PKG_CONFIG.*)libpostproc(.*)|\1libpostproc0\2|g' \
187 -e 's|^(.*PKG_CONFIG.*)libswscale(.*)|\1libswscale0\2|g' \
189 @${REINPLACE_CMD} -e \
190 's|#if DVDREAD_VERSION < 905|#if DVDREAD_VERSION < 904|' ${WRKSRC}/configure
191 @${REINPLACE_CMD} -e \
192 '/^LIBS = / s|$$| @LIBINTL@ -lz|' ${WRKSRC}/tests/Makefile.in
193 @${REINPLACE_CMD} -e \
194 's|malloc.h|stdlib.h|' ${WRKSRC}/lib/in_smb.c
197 @${MKDIR} ${STAGEDIR}${DOCSDIR}
198 ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
200 .include <bsd.port.mk>