Gentoo Archives: gentoo-commits

From: "Alexis Ballier (aballier)" <aballier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in media-video/ffmpeg: ChangeLog ffmpeg-0.8.1.ebuild
Date: Sat, 30 Jul 2011 19:05:43
Message-Id: 20110730190532.3A9522004B@flycatcher.gentoo.org
1 aballier 11/07/30 19:05:32
2
3 Modified: ChangeLog
4 Added: ffmpeg-0.8.1.ebuild
5 Log:
6 version bump
7
8 (Portage version: 2.2.0_alpha49/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.436 media-video/ffmpeg/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ChangeLog?rev=1.436&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ChangeLog?rev=1.436&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ChangeLog?r1=1.435&r2=1.436
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v
20 retrieving revision 1.435
21 retrieving revision 1.436
22 diff -u -r1.435 -r1.436
23 --- ChangeLog 30 Jul 2011 18:48:45 -0000 1.435
24 +++ ChangeLog 30 Jul 2011 19:05:32 -0000 1.436
25 @@ -1,6 +1,11 @@
26 # ChangeLog for media-video/ffmpeg
27 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.435 2011/07/30 18:48:45 aballier Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.436 2011/07/30 19:05:32 aballier Exp $
30 +
31 +*ffmpeg-0.8.1 (30 Jul 2011)
32 +
33 + 30 Jul 2011; Alexis Ballier <aballier@g.o> +ffmpeg-0.8.1.ebuild:
34 + version bump
35
36 30 Jul 2011; Alexis Ballier <aballier@g.o> ffmpeg-0.7.1.ebuild,
37 ffmpeg-0.7.2.ebuild, ffmpeg-0.8.ebuild:
38
39
40
41 1.1 media-video/ffmpeg/ffmpeg-0.8.1.ebuild
42
43 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ffmpeg-0.8.1.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ffmpeg-0.8.1.ebuild?rev=1.1&content-type=text/plain
45
46 Index: ffmpeg-0.8.1.ebuild
47 ===================================================================
48 # Copyright 1999-2011 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.8.1.ebuild,v 1.1 2011/07/30 19:05:32 aballier Exp $
51
52 EAPI="4"
53
54 SCM=""
55 if [ "${PV#9999}" != "${PV}" ] ; then
56 SCM="git-2"
57 EGIT_REPO_URI="git://git.videolan.org/ffmpeg.git"
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. Includes libavcodec."
63 HOMEPAGE="http://ffmpeg.org/"
64 if [ "${PV#9999}" != "${PV}" ] ; then
65 SRC_URI=""
66 elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
67 SRC_URI="mirror://gentoo/${P}.tar.bz2"
68 else # Release
69 SRC_URI="http://ffmpeg.org/releases/${P/_/-}.tar.bz2"
70 fi
71 FFMPEG_REVISION="${PV#*_p}"
72
73 LICENSE="GPL-2 amr? ( GPL-3 ) encode? ( aac? ( GPL-3 ) )"
74 SLOT="0"
75 if [ "${PV#9999}" = "${PV}" ] ; then
76 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
77 fi
78 IUSE="
79 aac alsa amr bindist +bzip2 celt cpudetection debug dirac doc +encode faac
80 frei0r gsm +hardcoded-tables ieee1394 jack jpeg2k mp3 network openal oss pic
81 qt-faststart rtmp schroedinger sdl speex static-libs test theora threads
82 truetype v4l v4l2 vaapi vdpau vorbis vpx X x264 xvid +zlib
83 "
84
85 # String for CPU features in the useflag[:configure_option] form
86 # if :configure_option isn't set, it will use 'useflag' as configure option
87 CPU_FEATURES="3dnow:amd3dnow 3dnowext:amd3dnowext altivec avx mmx mmxext:mmx2 ssse3"
88
89 for i in ${CPU_FEATURES}; do
90 IUSE="${IUSE} ${i%:*}"
91 done
92
93 RDEPEND="
94 alsa? ( media-libs/alsa-lib )
95 amr? ( media-libs/opencore-amr )
96 bzip2? ( app-arch/bzip2 )
97 celt? ( >=media-libs/celt-0.11.1 )
98 dirac? ( media-video/dirac )
99 encode? (
100 aac? ( media-libs/vo-aacenc )
101 amr? ( media-libs/vo-amrwbenc )
102 faac? ( media-libs/faac )
103 mp3? ( >=media-sound/lame-3.98.3 )
104 theora? ( >=media-libs/libtheora-1.1.1[encode] media-libs/libogg )
105 vorbis? ( media-libs/libvorbis media-libs/libogg )
106 x264? ( >=media-libs/x264-0.0.20110426 )
107 xvid? ( >=media-libs/xvid-1.1.0 )
108 )
109 frei0r? ( media-plugins/frei0r-plugins )
110 gsm? ( >=media-sound/gsm-1.0.12-r1 )
111 ieee1394? ( media-libs/libdc1394 sys-libs/libraw1394 )
112 jack? ( media-sound/jack-audio-connection-kit )
113 jpeg2k? ( >=media-libs/openjpeg-1.3-r2 )
114 openal? ( >=media-libs/openal-1.1 )
115 rtmp? ( >=media-video/rtmpdump-2.2f )
116 sdl? ( >=media-libs/libsdl-1.2.13-r1[audio,video] )
117 schroedinger? ( media-libs/schroedinger )
118 speex? ( >=media-libs/speex-1.2_beta3 )
119 truetype? ( media-libs/freetype:2 )
120 vaapi? ( >=x11-libs/libva-0.32 )
121 vdpau? ( x11-libs/libvdpau )
122 vpx? ( >=media-libs/libvpx-0.9.6 )
123 X? ( x11-libs/libX11 x11-libs/libXext )
124 zlib? ( sys-libs/zlib )
125 !media-video/qt-faststart
126 "
127
128 DEPEND="${RDEPEND}
129 >=sys-devel/make-3.81
130 dirac? ( dev-util/pkgconfig )
131 doc? ( app-text/texi2html )
132 mmx? ( dev-lang/yasm )
133 rtmp? ( dev-util/pkgconfig )
134 schroedinger? ( dev-util/pkgconfig )
135 test? ( net-misc/wget )
136 v4l? ( sys-kernel/linux-headers )
137 v4l2? ( sys-kernel/linux-headers )
138 "
139 # faac is license-incompatible with ffmpeg
140 REQUIRED_USE="bindist? ( encode? ( !faac ) )"
141
142 S=${WORKDIR}/${P/_/-}
143
144 src_prepare() {
145 if [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
146 export revision=git-N-${FFMPEG_REVISION}
147 fi
148 }
149
150 src_configure() {
151 local myconf="${EXTRA_FFMPEG_CONF}"
152 # Set to --enable-version3 if (L)GPL-3 is required
153 local version3=""
154
155 # enabled by default
156 for i in debug doc network vaapi vdpau zlib; do
157 use ${i} || myconf="${myconf} --disable-${i}"
158 done
159 use bzip2 || myconf="${myconf} --disable-bzlib"
160 use sdl || myconf="${myconf} --disable-ffplay"
161
162 use cpudetection && myconf="${myconf} --enable-runtime-cpudetect"
163
164 # Encoders
165 if use encode
166 then
167 use mp3 && myconf="${myconf} --enable-libmp3lame"
168 use aac && { myconf="${myconf} --enable-libvo-aacenc" ; version3=" --enable-version3" ; }
169 use amr && { myconf="${myconf} --enable-libvo-amrwbenc" ; version3=" --enable-version3" ; }
170 for i in theora vorbis x264 xvid; do
171 use ${i} && myconf="${myconf} --enable-lib${i}"
172 done
173 use faac && myconf="${myconf} --enable-libfaac --enable-nonfree"
174 else
175 myconf="${myconf} --disable-encoders"
176 fi
177
178 # libavdevice options
179 use ieee1394 && myconf="${myconf} --enable-libdc1394"
180 use openal && myconf="${myconf} --enable-openal"
181 # Indevs
182 for i in v4l v4l2 alsa oss jack ; do
183 use ${i} || myconf="${myconf} --disable-indev=${i}"
184 done
185 use X && myconf="${myconf} --enable-x11grab"
186 # Outdevs
187 for i in alsa oss ; do
188 use ${i} || myconf="${myconf} --disable-outdev=${i}"
189 done
190 # libavfilter options
191 use frei0r && myconf="${myconf} --enable-frei0r"
192 use truetype && myconf="${myconf} --enable-libfreetype"
193
194 # Threads; we only support pthread for now but ffmpeg supports more
195 use threads && myconf="${myconf} --enable-pthreads"
196
197 # Decoders
198 use amr && { myconf="${myconf} --enable-libopencore-amrwb --enable-libopencore-amrnb" ; version3=" --enable-version3" ; }
199 for i in celt gsm dirac rtmp schroedinger speex vpx; do
200 use ${i} && myconf="${myconf} --enable-lib${i}"
201 done
202 use jpeg2k && myconf="${myconf} --enable-libopenjpeg"
203
204 # CPU features
205 for i in ${CPU_FEATURES}; do
206 use ${i%:*} || myconf="${myconf} --disable-${i#*:}"
207 done
208 # disable mmx accelerated code if PIC is required
209 # as the provided asm decidedly is not PIC for x86.
210 if use pic && use x86 ; then
211 myconf="${myconf} --disable-mmx --disable-mmx2"
212 fi
213
214 # Option to force building pic
215 use pic && myconf="${myconf} --enable-pic"
216
217 # Try to get cpu type based on CFLAGS.
218 # Bug #172723
219 # We need to do this so that features of that CPU will be better used
220 # If they contain an unknown CPU it will not hurt since ffmpeg's configure
221 # will just ignore it.
222 for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do
223 [ "${i}" = "native" ] && i="host" # bug #273421
224 myconf="${myconf} --cpu=${i}"
225 break
226 done
227
228 # Mandatory configuration
229 myconf="
230 --enable-gpl
231 ${version3}
232 --enable-postproc
233 --enable-avfilter
234 --disable-stripping
235 ${myconf}"
236
237 # cross compile support
238 if tc-is-cross-compiler ; then
239 myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}-"
240 case ${CHOST} in
241 *freebsd*)
242 myconf="${myconf} --target-os=freebsd"
243 ;;
244 mingw32*)
245 myconf="${myconf} --target-os=mingw32"
246 ;;
247 *linux*)
248 myconf="${myconf} --target-os=linux"
249 ;;
250 esac
251 fi
252
253 # Misc stuff
254 use hardcoded-tables && myconf="${myconf} --enable-hardcoded-tables"
255
256 # Specific workarounds for too-few-registers arch...
257 if [[ $(tc-arch) == "x86" ]]; then
258 filter-flags -fforce-addr -momit-leaf-frame-pointer
259 append-flags -fomit-frame-pointer
260 is-flag -O? || append-flags -O2
261 if (use debug); then
262 # no need to warn about debug if not using debug flag
263 ewarn ""
264 ewarn "Debug information will be almost useless as the frame pointer is omitted."
265 ewarn "This makes debugging harder, so crashes that has no fixed behavior are"
266 ewarn "difficult to fix. Please have that in mind."
267 ewarn ""
268 fi
269 fi
270
271 cd "${S}"
272 ./configure \
273 --prefix="${EPREFIX}/usr" \
274 --libdir="${EPREFIX}/usr/$(get_libdir)" \
275 --shlibdir="${EPREFIX}/usr/$(get_libdir)" \
276 --mandir="${EPREFIX}/usr/share/man" \
277 --enable-shared \
278 --cc="$(tc-getCC)" \
279 --disable-optimizations \
280 $(use_enable static-libs static) \
281 ${myconf} || die
282 }
283
284 src_compile() {
285 #252269
286 emake version.h
287 emake
288
289 if use qt-faststart; then
290 tc-export CC
291 emake -C tools qt-faststart
292 fi
293 }
294
295 src_install() {
296 emake DESTDIR="${D}" install install-man
297
298 dodoc README INSTALL
299 dodoc -r doc/*
300
301 if use qt-faststart; then
302 dobin tools/qt-faststart
303 fi
304 }
305
306 src_test() {
307 if use encode ; then
308 LD_LIBRARY_PATH="${S}/libpostproc:${S}/libswscale:${S}/libavcodec:${S}/libavdevice:${S}/libavfilter:${S}/libavformat:${S}/libavutil" \
309 emake test
310 else
311 ewarn "Tests fail without USE=encode, skipping"
312 fi
313 }