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: ffmpeg-9999.ebuild ChangeLog ffmpeg-0.6_p28715.ebuild
Date: Wed, 30 Mar 2011 12:44:40
Message-Id: 20110330124424.2477420054@flycatcher.gentoo.org
1 aballier 11/03/30 12:44:24
2
3 Modified: ffmpeg-9999.ebuild ChangeLog
4 Added: ffmpeg-0.6_p28715.ebuild
5 Log:
6 Change the way version is hardcoded to match the current git based one, bump a new snapshot
7
8 (Portage version: 2.2.0_alpha29/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.35 media-video/ffmpeg/ffmpeg-9999.ebuild
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ffmpeg-9999.ebuild?rev=1.35&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ffmpeg-9999.ebuild?rev=1.35&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ffmpeg-9999.ebuild?r1=1.34&r2=1.35
16
17 Index: ffmpeg-9999.ebuild
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-9999.ebuild,v
20 retrieving revision 1.34
21 retrieving revision 1.35
22 diff -u -r1.34 -r1.35
23 --- ffmpeg-9999.ebuild 30 Mar 2011 12:07:28 -0000 1.34
24 +++ ffmpeg-9999.ebuild 30 Mar 2011 12:44:24 -0000 1.35
25 @@ -1,6 +1,6 @@
26 # Copyright 1999-2011 Gentoo Foundation
27 # Distributed under the terms of the GNU General Public License v2
28 -# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-9999.ebuild,v 1.34 2011/03/30 12:07:28 aballier Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-9999.ebuild,v 1.35 2011/03/30 12:44:24 aballier Exp $
30
31 EAPI="2"
32
33 @@ -87,7 +87,7 @@
34
35 src_prepare() {
36 if [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
37 - sed -i -e "s/UNKNOWN/SVN-r${FFMPEG_REVISION}/" "${S}/version.sh" || die
38 + export revision=git-N-${FFMPEG_REVISION}
39 fi
40 }
41
42
43
44
45 1.397 media-video/ffmpeg/ChangeLog
46
47 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ChangeLog?rev=1.397&view=markup
48 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ChangeLog?rev=1.397&content-type=text/plain
49 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ChangeLog?r1=1.396&r2=1.397
50
51 Index: ChangeLog
52 ===================================================================
53 RCS file: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v
54 retrieving revision 1.396
55 retrieving revision 1.397
56 diff -u -r1.396 -r1.397
57 --- ChangeLog 30 Mar 2011 12:07:28 -0000 1.396
58 +++ ChangeLog 30 Mar 2011 12:44:24 -0000 1.397
59 @@ -1,6 +1,13 @@
60 # ChangeLog for media-video/ffmpeg
61 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
62 -# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.396 2011/03/30 12:07:28 aballier Exp $
63 +# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.397 2011/03/30 12:44:24 aballier Exp $
64 +
65 +*ffmpeg-0.6_p28715 (30 Mar 2011)
66 +
67 + 30 Mar 2011; Alexis Ballier <aballier@g.o> +ffmpeg-0.6_p28715.ebuild,
68 + ffmpeg-9999.ebuild:
69 + Change the way version is hardcoded to match the current git based one, bump
70 + a new snapshot
71
72 30 Mar 2011; Alexis Ballier <aballier@g.o> ffmpeg-9999.ebuild,
73 metadata.xml:
74
75
76
77 1.1 media-video/ffmpeg/ffmpeg-0.6_p28715.ebuild
78
79 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ffmpeg-0.6_p28715.ebuild?rev=1.1&view=markup
80 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/ffmpeg/ffmpeg-0.6_p28715.ebuild?rev=1.1&content-type=text/plain
81
82 Index: ffmpeg-0.6_p28715.ebuild
83 ===================================================================
84 # Copyright 1999-2011 Gentoo Foundation
85 # Distributed under the terms of the GNU General Public License v2
86 # $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.6_p28715.ebuild,v 1.1 2011/03/30 12:44:24 aballier Exp $
87
88 EAPI="2"
89
90 SCM=""
91 if [ "${PV#9999}" != "${PV}" ] ; then
92 SCM="git"
93 EGIT_REPO_URI="git://git.videolan.org/ffmpeg.git"
94 fi
95
96 inherit eutils flag-o-matic multilib toolchain-funcs ${SCM}
97
98 DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec."
99 HOMEPAGE="http://ffmpeg.org/"
100 if [ "${PV#9999}" != "${PV}" ] ; then
101 SRC_URI=""
102 elif [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
103 SRC_URI="mirror://gentoo/${P}.tar.bz2"
104 else # Release
105 SRC_URI="http://ffmpeg.org/releases/${P}.tar.bz2"
106 fi
107 FFMPEG_REVISION="${PV#*_p}"
108
109 LICENSE="GPL-3"
110 SLOT="0"
111 if [ "${PV#9999}" = "${PV}" ] ; then
112 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
113 fi
114 IUSE="
115 +3dnow +3dnowext alsa altivec amr avx bindist +bzip2 cpudetection
116 custom-cflags debug dirac doc +encode faac frei0r gsm +hardcoded-tables
117 ieee1394 jack jpeg2k +mmx +mmxext mp3 network oss pic qt-faststart rtmp
118 schroedinger sdl speex +ssse3 static-libs test theora threads truetype v4l
119 v4l2 vaapi vdpau vorbis vpx X x264 xvid +zlib
120 "
121
122 VIDEO_CARDS="nvidia"
123
124 for x in ${VIDEO_CARDS}; do
125 IUSE="${IUSE} video_cards_${x}"
126 done
127
128 RDEPEND="
129 alsa? ( media-libs/alsa-lib )
130 amr? ( media-libs/opencore-amr )
131 bzip2? ( app-arch/bzip2 )
132 dirac? ( media-video/dirac )
133 encode? (
134 faac? ( media-libs/faac )
135 mp3? ( >=media-sound/lame-3.98.3 )
136 theora? ( >=media-libs/libtheora-1.1.1[encode] media-libs/libogg )
137 vorbis? ( media-libs/libvorbis media-libs/libogg )
138 x264? ( >=media-libs/x264-0.0.20101029 )
139 xvid? ( >=media-libs/xvid-1.1.0 )
140 )
141 frei0r? ( media-plugins/frei0r-plugins )
142 gsm? ( >=media-sound/gsm-1.0.12-r1 )
143 ieee1394? ( media-libs/libdc1394 sys-libs/libraw1394 )
144 jack? ( media-sound/jack-audio-connection-kit )
145 jpeg2k? ( >=media-libs/openjpeg-1.3-r2 )
146 rtmp? ( >=media-video/rtmpdump-2.2f )
147 sdl? ( >=media-libs/libsdl-1.2.13-r1[audio,video] )
148 schroedinger? ( media-libs/schroedinger )
149 speex? ( >=media-libs/speex-1.2_beta3 )
150 truetype? ( media-libs/freetype:2 )
151 vaapi? ( x11-libs/libva )
152 video_cards_nvidia? ( vdpau? ( x11-libs/libvdpau ) )
153 vpx? ( media-libs/libvpx )
154 X? ( x11-libs/libX11 x11-libs/libXext )
155 zlib? ( sys-libs/zlib )
156 !media-video/qt-faststart
157 "
158
159 DEPEND="${RDEPEND}
160 >=sys-devel/make-3.81
161 dirac? ( dev-util/pkgconfig )
162 doc? ( app-text/texi2html )
163 mmx? ( dev-lang/yasm )
164 rtmp? ( dev-util/pkgconfig )
165 schroedinger? ( dev-util/pkgconfig )
166 test? ( net-misc/wget )
167 v4l? ( sys-kernel/linux-headers )
168 v4l2? ( sys-kernel/linux-headers )
169 "
170
171 src_prepare() {
172 if [ "${PV%_p*}" != "${PV}" ] ; then # Snapshot
173 export revision=git-N-${FFMPEG_REVISION}
174 fi
175 }
176
177 src_configure() {
178 local myconf="${EXTRA_FFMPEG_CONF}"
179
180 # enabled by default
181 for i in debug doc network vaapi zlib; do
182 use ${i} || myconf="${myconf} --disable-${i}"
183 done
184 use bzip2 || myconf="${myconf} --disable-bzlib"
185 use sdl || myconf="${myconf} --disable-ffplay"
186
187 use custom-cflags && myconf="${myconf} --disable-optimizations"
188 use cpudetection && myconf="${myconf} --enable-runtime-cpudetect"
189
190 #for i in h264_vdpau mpeg1_vdpau mpeg_vdpau vc1_vdpau wmv3_vdpau; do
191 # use video_cards_nvidia || myconf="${myconf} --disable-decoder=${i}"
192 # use vdpau || myconf="${myconf} --disable-decoder=${i}"
193 #done
194 use video_cards_nvidia && use vdpau || myconf="${myconf} --disable-vdpau"
195
196 # Encoders
197 if use encode
198 then
199 use mp3 && myconf="${myconf} --enable-libmp3lame"
200 for i in theora vorbis x264 xvid; do
201 use ${i} && myconf="${myconf} --enable-lib${i}"
202 done
203 if use bindist
204 then
205 use faac && ewarn "faac is nonfree and cannot be distributed;
206 disabling faac support."
207 else
208 use faac && myconf="${myconf} --enable-libfaac --enable-nonfree"
209 fi
210 else
211 myconf="${myconf} --disable-encoders"
212 fi
213
214 # libavdevice options
215 use ieee1394 && myconf="${myconf} --enable-libdc1394"
216 # Indevs
217 for i in v4l v4l2 alsa oss jack ; do
218 use ${i} || myconf="${myconf} --disable-indev=${i}"
219 done
220 use X && myconf="${myconf} --enable-x11grab"
221 # Outdevs
222 for i in alsa oss ; do
223 use ${i} || myconf="${myconf} --disable-outdev=${i}"
224 done
225 # libavfilter options
226 use frei0r && myconf="${myconf} --enable-frei0r"
227 use truetype && myconf="${myconf} --enable-libfreetype"
228
229 # Threads; we only support pthread for now but ffmpeg supports more
230 use threads && myconf="${myconf} --enable-pthreads"
231
232 # Decoders
233 use amr && myconf="${myconf} --enable-libopencore-amrwb --enable-libopencore-amrnb"
234 for i in gsm dirac rtmp schroedinger speex vpx; do
235 use ${i} && myconf="${myconf} --enable-lib${i}"
236 done
237 use jpeg2k && myconf="${myconf} --enable-libopenjpeg"
238
239 # CPU features
240 for i in mmx ssse3 altivec avx ; do
241 use ${i} || myconf="${myconf} --disable-${i}"
242 done
243 use mmxext || myconf="${myconf} --disable-mmx2"
244 use 3dnow || myconf="${myconf} --disable-amd3dnow"
245 use 3dnowext || myconf="${myconf} --disable-amd3dnowext"
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="${myconf} --disable-mmx --disable-mmx2"
250 fi
251
252 # Option to force building pic
253 use pic && myconf="${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="${myconf} --cpu=${i}"
264 break
265 done
266
267 # Mandatory configuration
268 myconf="
269 --enable-gpl
270 --enable-version3
271 --enable-postproc
272 --enable-avfilter
273 ${myconf}"
274
275 # cross compile support
276 if tc-is-cross-compiler ; then
277 myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}-"
278 case ${CHOST} in
279 *freebsd*)
280 myconf="${myconf} --target-os=freebsd"
281 ;;
282 mingw32*)
283 myconf="${myconf} --target-os=mingw32"
284 ;;
285 *linux*)
286 myconf="${myconf} --target-os=linux"
287 ;;
288 esac
289 fi
290
291 # Misc stuff
292 use hardcoded-tables && myconf="${myconf} --enable-hardcoded-tables"
293
294 # Specific workarounds for too-few-registers arch...
295 if [[ $(tc-arch) == "x86" ]]; then
296 filter-flags -fforce-addr -momit-leaf-frame-pointer
297 append-flags -fomit-frame-pointer
298 is-flag -O? || append-flags -O2
299 if (use debug); then
300 # no need to warn about debug if not using debug flag
301 ewarn ""
302 ewarn "Debug information will be almost useless as the frame pointer is omitted."
303 ewarn "This makes debugging harder, so crashes that has no fixed behavior are"
304 ewarn "difficult to fix. Please have that in mind."
305 ewarn ""
306 fi
307 fi
308
309 cd "${S}"
310 ./configure \
311 --prefix=/usr \
312 --libdir=/usr/$(get_libdir) \
313 --shlibdir=/usr/$(get_libdir) \
314 --mandir=/usr/share/man \
315 --enable-shared \
316 --cc="$(tc-getCC)" \
317 $(use_enable static-libs static) \
318 ${myconf} || die
319 }
320
321 src_compile() {
322 emake version.h || die #252269
323 emake || die
324
325 if use qt-faststart; then
326 tc-export CC
327 emake -C tools qt-faststart || die
328 fi
329 }
330
331 src_install() {
332 emake DESTDIR="${D}" install install-man || die
333
334 dodoc Changelog README INSTALL
335 dodoc doc/*
336
337 if use qt-faststart; then
338 dobin tools/qt-faststart || die
339 fi
340 }
341
342 src_test() {
343 if use encode ; then
344 for t in codectest lavftest seektest ; do
345 LD_LIBRARY_PATH="${S}/libavcore:${S}/libpostproc:${S}/libswscale:${S}/libavcodec:${S}/libavdevice:${S}/libavfilter:${S}/libavformat:${S}/libavutil" \
346 emake ${t} || die "Some tests in ${t} failed"
347 done
348 else
349 ewarn "Tests fail without USE=encode, skipping"
350 fi
351 }