Gentoo Archives: gentoo-commits

From: "Luca Barbato (lu_zero)" <lu_zero@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in media-video/libav: ChangeLog libav-0.8_beta1.ebuild
Date: Tue, 03 Jan 2012 03:41:51
Message-Id: 20120103034140.C7B6520033@flycatcher.gentoo.org
1 lu_zero 12/01/03 03:41:40
2
3 Modified: ChangeLog
4 Added: libav-0.8_beta1.ebuild
5 Log:
6 New beta version
7
8 (Portage version: 2.2.0_alpha84/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.42 media-video/libav/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/libav/ChangeLog?rev=1.42&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/libav/ChangeLog?rev=1.42&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/libav/ChangeLog?r1=1.41&r2=1.42
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/media-video/libav/ChangeLog,v
20 retrieving revision 1.41
21 retrieving revision 1.42
22 diff -u -r1.41 -r1.42
23 --- ChangeLog 2 Jan 2012 13:46:20 -0000 1.41
24 +++ ChangeLog 3 Jan 2012 03:41:40 -0000 1.42
25 @@ -1,6 +1,11 @@
26 # ChangeLog for media-video/libav
27 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/media-video/libav/ChangeLog,v 1.41 2012/01/02 13:46:20 ssuominen Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/media-video/libav/ChangeLog,v 1.42 2012/01/03 03:41:40 lu_zero Exp $
30 +
31 +*libav-0.8_beta1 (02 Jan 2012)
32 +
33 + 02 Jan 2012; Luca Barbato <lu_zero@g.o> +libav-0.8_beta1.ebuild:
34 + New beta version
35
36 02 Jan 2012; Samuli Suominen <ssuominen@g.o> metadata.xml:
37 USE description for flag "neon" is in use.desc now.
38
39
40
41 1.1 media-video/libav/libav-0.8_beta1.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/libav/libav-0.8_beta1.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/libav/libav-0.8_beta1.ebuild?rev=1.1&content-type=text/plain
45
46 Index: libav-0.8_beta1.ebuild
47 ===================================================================
48 # Copyright 1999-2012 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/media-video/libav/libav-0.8_beta1.ebuild,v 1.1 2012/01/03 03:41:40 lu_zero Exp $
51
52 EAPI=4
53
54 if [[ ${PV} == *9999 ]] ; then
55 SCM="git-2"
56 EGIT_REPO_URI="git://git.libav.org/libav.git"
57 [[ ${PV%9999} != "" ]] && EGIT_BRANCH="release/${PV%.9999}"
58 fi
59
60 inherit eutils flag-o-matic multilib toolchain-funcs ${SCM}
61
62 DESCRIPTION="Complete solution to record, convert and stream audio and video."
63 HOMEPAGE="http://libav.org/"
64 if [[ ${PV} == *9999 ]] ; then
65 SRC_URI=""
66 elif [[ ${PV%_p*} != ${PV} ]] ; then # Gentoo snapshot
67 SRC_URI="http://dev.gentoo.org/~lu_zero/libav/${P}.tar.xz"
68 else # Official release
69 SRC_URI="http://${PN}.org/releases/${P}.tar.xz"
70 fi
71
72 LICENSE="LGPL-2 gpl? ( GPL-3 )"
73 SLOT="0"
74 [[ ${PV} == *9999 ]] || KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64
75 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos
76 ~x64-solaris ~x86-solaris"
77 IUSE="+3dnow +3dnowext aac alsa altivec amr bindist +bzip2 cdio cpudetection
78 custom-cflags debug dirac doc +encode faac truetype frei0r +gpl gsm
79 +hardcoded-tables ieee1394 jack jpeg2k +mmx +mmxext mp3 network openssl
80 oss pic pulseaudio +qt-faststart rtmp schroedinger sdl speex ssl +ssse3
81 static-libs test theora threads v4l vaapi vdpau vorbis vpx X x264 xvid
82 +zlib"
83
84 VIDEO_CARDS="nvidia"
85 for x in ${VIDEO_CARDS}; do
86 IUSE="${IUSE} video_cards_${x}"
87 done
88
89 CPU_FEATURES="3dnow:amd3dnow 3dnowext:amd3dnowext altivec avx mmx mmxext:mmx2 ssse3 vis neon iwmmxt"
90
91 for i in ${CPU_FEATURES}; do
92 IUSE="${IUSE} ${i%:*}"
93 done
94
95 RDEPEND="
96 !media-video/ffmpeg
97 alsa? ( media-libs/alsa-lib )
98 amr? ( media-libs/opencore-amr )
99 bzip2? ( app-arch/bzip2 )
100 cdio? ( dev-libs/libcdio )
101 dirac? ( media-video/dirac )
102 encode? (
103 aac? ( media-libs/vo-aacenc )
104 amr? ( media-libs/vo-amrwbenc )
105 faac? ( media-libs/faac )
106 mp3? ( >=media-sound/lame-3.98.3 )
107 theora? ( >=media-libs/libtheora-1.1.1[encode] media-libs/libogg )
108 vorbis? ( media-libs/libvorbis media-libs/libogg )
109 x264? ( >=media-libs/x264-0.0.20110426 )
110 xvid? ( >=media-libs/xvid-1.1.0 )
111 )
112 truetype? ( media-libs/freetype )
113 frei0r? ( media-plugins/frei0r-plugins )
114 gsm? ( >=media-sound/gsm-1.0.12-r1 )
115 ieee1394? ( media-libs/libdc1394 sys-libs/libraw1394 )
116 jack? ( media-sound/jack-audio-connection-kit )
117 jpeg2k? ( >=media-libs/openjpeg-1.3-r2 )
118 rtmp? ( >=media-video/rtmpdump-2.2f )
119 ssl? ( openssl? ( dev-libs/openssl )
120 !openssl? ( net-libs/gnutls ) )
121 sdl? ( >=media-libs/libsdl-1.2.13-r1[audio,video] )
122 schroedinger? ( media-libs/schroedinger )
123 speex? ( >=media-libs/speex-1.2_beta3 )
124 vaapi? ( x11-libs/libva )
125 video_cards_nvidia? ( vdpau? ( x11-libs/libvdpau ) )
126 vpx? ( >=media-libs/libvpx-0.9.6 )
127 X? ( x11-libs/libX11 x11-libs/libXext )
128 zlib? ( sys-libs/zlib )
129 "
130
131 DEPEND="${RDEPEND}
132 >=sys-devel/make-3.81
133 dirac? ( dev-util/pkgconfig )
134 doc? ( app-text/texi2html )
135 mmx? ( dev-lang/yasm )
136 rtmp? ( dev-util/pkgconfig )
137 schroedinger? ( dev-util/pkgconfig )
138 test? ( net-misc/wget )
139 v4l? ( sys-kernel/linux-headers )
140 "
141
142 # faac can't be binary distributed
143 # openssl support marked as nonfree
144 # faac and aac are concurent implementations
145 # amr and aac require at least lgpl3
146 REQUIRED_USE="bindist? ( !faac !openssl )
147 amr? ( gpl ) aac? ( gpl )"
148
149 RESTRICT="test"
150
151 src_prepare() {
152 # if we have snapshot then we need to hardcode the version
153 if [[ ${PV%_p*} != ${PV} ]]; then
154 sed -i -e "s/UNKNOWN/DATE-${PV#*_pre}/" "${S}/version.sh" || die
155 fi
156 }
157
158 src_configure() {
159 local myconf="${EXTRA_FFMPEG_CONF}"
160 local uses i
161
162 myconf="
163 $(use_enable gpl)
164 $(use_enable gpl version3)
165 --enable-postproc
166 --enable-avfilter
167 "
168
169 # enabled by default
170 uses="debug doc network zlib"
171 for i in ${uses}; do
172 use ${i} || myconf+=" --disable-${i}"
173 done
174 use bzip2 || myconf+=" --disable-bzlib"
175 use sdl || myconf+=" --disable-avplay"
176
177 if use ssl; then
178 use openssl && myconf+=" --enable-openssl --enable-nonfree" \
179 || myconf+=" --enable-gnutls"
180 fi
181
182 use custom-cflags && myconf+=" --disable-optimizations"
183 use cpudetection && myconf+=" --enable-runtime-cpudetect"
184
185 #for i in h264_vdpau mpeg1_vdpau mpeg_vdpau vc1_vdpau wmv3_vdpau; do
186 # use video_cards_nvidia || myconf="${myconf} --disable-decoder=${i}"
187 # use vdpau || myconf="${myconf} --disable-decoder=${i}"
188 #done
189 use video_cards_nvidia && use vdpau || myconf+=" --disable-vdpau"
190
191 use vaapi && myconf+=" --enable-vaapi"
192
193 # Encoders
194 if use encode; then
195 use mp3 && myconf+=" --enable-libmp3lame"
196 use amr && myconf+=" --enable-libvo-amrwbenc"
197 use faac && myconf+=" --enable-libfaac --enable-nonfree"
198 use aac && myconf+=" --enable-libvo-aacenc"
199 uses="theora vorbis x264 xvid"
200 for i in ${uses}; do
201 use ${i} && myconf+=" --enable-lib${i}"
202 done
203 else
204 myconf+=" --disable-encoders"
205 fi
206
207 # libavdevice options
208 use cdio && myconf+=" --enable-libcdio"
209 use ieee1394 && myconf+=" --enable-libdc1394"
210 use pulseaudio && myconf+=" --enable-libpulse"
211 # Indevs
212 # v4l1 is gone since linux-headers-2.6.38
213 myconf+=" --disable-indev=v4l"
214 use v4l || myconf+=" --disable-indev=v4l2"
215 for i in alsa oss jack; do
216 use ${i} || myconf+=" --disable-indev=${i}"
217 done
218 use X && myconf+=" --enable-x11grab"
219 # Outdevs
220 for i in alsa oss ; do
221 use ${i} || myconf+=" --disable-outdev=${i}"
222 done
223 # libavfilter options
224 use frei0r && myconf+=" --enable-frei0r"
225 use truetype && myconf+=" --enable-libfreetype"
226
227 # Threads; we only support pthread for now but ffmpeg supports more
228 use threads && myconf+=" --enable-pthreads"
229
230 # Decoders
231 use amr && myconf+=" --enable-libopencore-amrwb --enable-libopencore-amrnb"
232 uses="gsm dirac rtmp schroedinger speex vpx"
233 for i in ${uses}; do
234 use ${i} && myconf+=" --enable-lib${i}"
235 done
236 use jpeg2k && myconf+=" --enable-libopenjpeg"
237
238 # CPU features
239 for i in ${CPU_FEATURES}; do
240 use ${i%:*} || myconf+=" --disable-${i#*:}"
241 done
242
243 # pass the right -mfpu as extra
244 use neon && myconf+=" --extra-cflags=-mfpu=neon"
245
246 # disable mmx accelerated code if PIC is required
247 # as the provided asm decidedly is not PIC for x86.
248 if use pic && use x86 ; then
249 myconf+=" --disable-mmx --disable-mmx2"
250 fi
251
252 # Option to force building pic
253 use pic && myconf+=" --enable-pic"
254
255 # Try to get cpu type based on CFLAGS.
256 # Bug #172723
257 # We need to do this so that features of that CPU will be better used
258 # If they contain an unknown CPU it will not hurt since ffmpeg's configure
259 # will just ignore it.
260 for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do
261 [ "${i}" = "native" ] && i="host" # bug #273421
262 [[ ${i} = *-sse3 ]] && i="${i%-sse3}" # bug 283968
263 myconf+=" --cpu=${i}"
264 break
265 done
266
267 # cross compile support
268 if tc-is-cross-compiler ; then
269 myconf+=" --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}-"
270 case ${CHOST} in
271 *freebsd*)
272 myconf+=" --target-os=freebsd"
273 ;;
274 mingw32*)
275 myconf+=" --target-os=mingw32"
276 ;;
277 *linux*)
278 myconf+=" --target-os=linux"
279 ;;
280 esac
281 fi
282
283 # Misc stuff
284 use hardcoded-tables && myconf+=" --enable-hardcoded-tables"
285
286 # Specific workarounds for too-few-registers arch...
287 if [[ $(tc-arch) == "x86" ]]; then
288 filter-flags -fforce-addr -momit-leaf-frame-pointer
289 append-flags -fomit-frame-pointer
290 is-flag -O? || append-flags -O2
291 if use debug; then
292 # no need to warn about debug if not using debug flag
293 ewarn ""
294 ewarn "Debug information will be almost useless as the frame pointer is omitted."
295 ewarn "This makes debugging harder, so crashes that has no fixed behavior are"
296 ewarn "difficult to fix. Please have that in mind."
297 ewarn ""
298 fi
299 fi
300
301 cd "${S}"
302 ./configure \
303 --prefix="$EPREFIX"/usr \
304 --libdir="$EPREFIX"/usr/$(get_libdir) \
305 --shlibdir="$EPREFIX"/usr/$(get_libdir) \
306 --mandir="$EPREFIX"/usr/share/man \
307 --enable-shared \
308 --cc="$(tc-getCC)" \
309 $(use_enable static-libs static) \
310 ${myconf} || die
311 }
312
313 src_compile() {
314 emake
315
316 if use qt-faststart; then
317 tc-export CC
318 emake tools/qt-faststart
319 fi
320 }
321
322 src_install() {
323 emake DESTDIR="${D}" install install-man
324
325 dodoc Changelog README INSTALL
326 dodoc doc/*
327
328 if use qt-faststart; then
329 dobin tools/qt-faststart
330 fi
331
332 for i in avplay avserver avprobe; do
333 dosym ${i} /usr/bin/${i/av/ff}
334 done
335 }
336
337 pkg_postinst() {
338 elog "Please note that the programs formerly known as ffplay, ffserver"
339 elog "and ffprobe are now called avplay, avserver and avprobe."
340 elog
341 elog "ffmpeg had been replaced by the feature incompatible avconv thus"
342 elog "the legacy ffmpeg is provided for compatibility with older scripts"
343 }
344
345 src_test() {
346 local i tests
347 if use encode; then
348 tests="codectest lavftest seektest"
349 for i in ${tests}; do
350 LD_LIBRARY_PATH="${S}/libavcore:${S}/libpostproc:${S}/libswscale:${S}/libavcodec:${S}/libavdevice:${S}/libavfilter:${S}/libavformat:${S}/libavutil" \
351 emake ${i}
352 done
353 else
354 ewarn "Tests fail without USE=encode, skipping"
355 fi
356 }