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.4.9_p20090201.ebuild
Date: Sun, 01 Feb 2009 16:23:11
Message-Id: E1LTf6E-0008RJ-5d@stork.gentoo.org
1 aballier 09/02/01 16:23:10
2
3 Modified: ChangeLog
4 Added: ffmpeg-0.4.9_p20090201.ebuild
5 Log:
6 new snapshot, bug #257217
7 (Portage version: 2.2_rc23/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.264 media-video/ffmpeg/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-video/ffmpeg/ChangeLog?rev=1.264&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-video/ffmpeg/ChangeLog?rev=1.264&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-video/ffmpeg/ChangeLog?r1=1.263&r2=1.264
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v
19 retrieving revision 1.263
20 retrieving revision 1.264
21 diff -u -r1.263 -r1.264
22 --- ChangeLog 31 Jan 2009 20:26:02 -0000 1.263
23 +++ ChangeLog 1 Feb 2009 16:23:10 -0000 1.264
24 @@ -1,6 +1,12 @@
25 # ChangeLog for media-video/ffmpeg
26 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.263 2009/01/31 20:26:02 klausman Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ChangeLog,v 1.264 2009/02/01 16:23:10 aballier Exp $
29 +
30 +*ffmpeg-0.4.9_p20090201 (01 Feb 2009)
31 +
32 + 01 Feb 2009; Alexis Ballier <aballier@g.o>
33 + +ffmpeg-0.4.9_p20090201.ebuild:
34 + new snapshot, bug #257217
35
36 31 Jan 2009; Tobias Klausmann <klausman@g.o>
37 ffmpeg-0.4.9_p20081219.ebuild:
38
39
40
41 1.1 media-video/ffmpeg/ffmpeg-0.4.9_p20090201.ebuild
42
43 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-video/ffmpeg/ffmpeg-0.4.9_p20090201.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-video/ffmpeg/ffmpeg-0.4.9_p20090201.ebuild?rev=1.1&content-type=text/plain
45
46 Index: ffmpeg-0.4.9_p20090201.ebuild
47 ===================================================================
48 # Copyright 1999-2009 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.4.9_p20090201.ebuild,v 1.1 2009/02/01 16:23:10 aballier Exp $
51
52 inherit eutils flag-o-matic multilib toolchain-funcs
53
54 FFMPEG_SVN_REV="16916"
55
56 DESCRIPTION="Complete solution to record, convert and stream audio and video.
57 Includes libavcodec. svn revision ${FFMPEG_SVN_REV}"
58 HOMEPAGE="http://ffmpeg.org/"
59 MY_P=${P/_/-}
60 SRC_URI="mirror://gentoo/${MY_P}.tar.bz2"
61
62 S=${WORKDIR}/ffmpeg
63
64 LICENSE="GPL-2"
65 SLOT="0"
66 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
67 IUSE="3dnow aac alsa altivec amr debug dirac doc ieee1394 encode gsm ipv6 mmx mmxext vorbis
68 test theora threads x264 xvid network zlib sdl X mp3 oss schroedinger
69 hardcoded-tables bindist v4l v4l2 speex ssse3 vhook"
70
71 RDEPEND="vhook? ( >=media-libs/imlib2-1.4.0 >=media-libs/freetype-2 )
72 sdl? ( >=media-libs/libsdl-1.2.10 )
73 alsa? ( media-libs/alsa-lib )
74 encode? (
75 aac? ( media-libs/faac )
76 mp3? ( media-sound/lame )
77 vorbis? ( media-libs/libvorbis media-libs/libogg )
78 theora? ( media-libs/libtheora media-libs/libogg )
79 x264? ( >=media-libs/x264-0.0.20081006 )
80 xvid? ( >=media-libs/xvid-1.1.0 ) )
81 aac? ( >=media-libs/faad2-2.6.1 )
82 zlib? ( sys-libs/zlib )
83 ieee1394? ( media-libs/libdc1394
84 sys-libs/libraw1394 )
85 dirac? ( media-video/dirac )
86 gsm? ( >=media-sound/gsm-1.0.12-r1 )
87 schroedinger? ( media-libs/schroedinger )
88 speex? ( >=media-libs/speex-1.2_beta3 )
89 X? ( x11-libs/libX11 x11-libs/libXext )
90 amr? ( media-libs/amrnb media-libs/amrwb )"
91
92 DEPEND="${RDEPEND}
93 >=sys-devel/make-3.81
94 mmx? ( dev-lang/yasm )
95 doc? ( app-text/texi2html )
96 test? ( net-misc/wget )
97 v4l? ( sys-kernel/linux-headers )
98 v4l2? ( sys-kernel/linux-headers )"
99
100 src_unpack() {
101 unpack ${A}
102 cd "${S}"
103
104 # Set version #
105 # Any better idea? We can't do much more as we use an exported svn snapshot.
106 sed -i s/UNKNOWN/SVN-r${FFMPEG_SVN_REV}/ "${S}/version.sh"
107 }
108
109 src_compile() {
110 replace-flags -O0 -O2
111 #x86, what a wonderful arch....
112 replace-flags -O1 -O2
113 local myconf="${EXTRA_ECONF}"
114
115 # enabled by default
116 use debug || myconf="${myconf} --disable-debug"
117 use zlib || myconf="${myconf} --disable-zlib"
118 use sdl || myconf="${myconf} --disable-ffplay"
119
120 if use network; then
121 use ipv6 || myconf="${myconf} --disable-ipv6"
122 else
123 myconf="${myconf} --disable-network"
124 fi
125
126 myconf="${myconf} --disable-optimizations"
127
128 # disabled by default
129 if use encode
130 then
131 use aac && myconf="${myconf} --enable-libfaac"
132 use mp3 && myconf="${myconf} --enable-libmp3lame"
133 use vorbis && myconf="${myconf} --enable-libvorbis"
134 use theora && myconf="${myconf} --enable-libtheora"
135 use x264 && myconf="${myconf} --enable-libx264"
136 use xvid && myconf="${myconf} --enable-libxvid"
137 else
138 myconf="${myconf} --disable-encoders"
139 fi
140
141 # libavdevice options
142 use ieee1394 && myconf="${myconf} --enable-libdc1394"
143 # Demuxers
144 for i in v4l v4l2 alsa oss ; do
145 use $i || myconf="${myconf} --disable-demuxer=$i"
146 done
147 # Muxers
148 for i in alsa oss ; do
149 use $i || myconf="${myconf} --disable-muxer=$i"
150 done
151 use X && myconf="${myconf} --enable-x11grab"
152
153 # Threads; we only support pthread for now but ffmpeg supports more
154 use threads && myconf="${myconf} --enable-pthreads"
155
156 # Decoders
157 use aac && myconf="${myconf} --enable-libfaad"
158 use dirac && myconf="${myconf} --enable-libdirac"
159 use schroedinger && myconf="${myconf} --enable-libschroedinger"
160 use speex && myconf="${myconf} --enable-libspeex"
161 if use gsm; then
162 myconf="${myconf} --enable-libgsm"
163 # Crappy detection or our installation is weird, pick one (FIXME)
164 append-flags -I/usr/include/gsm
165 fi
166 if use bindist
167 then
168 use amr && ewarn "libamr is nonfree and cannot be distributed; disabling amr support."
169 else
170 use amr && myconf="${myconf} --enable-libamr-nb \
171 --enable-libamr-wb \
172 --enable-nonfree"
173 fi
174
175 # CPU features
176 for i in mmx ssse3 altivec ; do
177 use $i || myconf="${myconf} --disable-$i"
178 done
179 use mmxext || myconf="${myconf} --disable-mmx2"
180 use 3dnow || myconf="${myconf} --disable-amd3dnow"
181 # disable mmx accelerated code if PIC is required
182 # as the provided asm decidedly is not PIC.
183 if gcc-specs-pie ; then
184 myconf="${myconf} --disable-mmx --disable-mmx2"
185 fi
186
187 # Try to get cpu type based on CFLAGS.
188 # Bug #172723
189 # We need to do this so that features of that CPU will be better used
190 # If they contain an unknown CPU it will not hurt since ffmpeg's configure
191 # will just ignore it.
192 for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do
193 myconf="${myconf} --cpu=$i"
194 break
195 done
196
197 # video hooking support. replaced by libavfilter, probably needs to be
198 # dropped at some point.
199 use vhook || myconf="${myconf} --disable-vhook"
200
201 # Mandatory configuration
202 myconf="${myconf} --enable-gpl --enable-postproc \
203 --enable-avfilter --enable-avfilter-lavf \
204 --enable-swscale --disable-stripping"
205
206 # cross compile support
207 tc-is-cross-compiler && myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel)"
208
209 # Misc stuff
210 use hardcoded-tables && myconf="${myconf} --enable-hardcoded-tables"
211
212 # Specific workarounds for too-few-registers arch...
213 if [[ $(tc-arch) == "x86" ]]; then
214 filter-flags -fforce-addr -momit-leaf-frame-pointer
215 append-flags -fomit-frame-pointer
216 is-flag -O? || append-flags -O2
217 if (use debug); then
218 # no need to warn about debug if not using debug flag
219 ewarn ""
220 ewarn "Debug information will be almost useless as the frame pointer is omitted."
221 ewarn "This makes debugging harder, so crashes that has no fixed behavior are"
222 ewarn "difficult to fix. Please have that in mind."
223 ewarn ""
224 fi
225 fi
226
227 cd "${S}"
228 ./configure \
229 --prefix=/usr \
230 --libdir=/usr/$(get_libdir) \
231 --shlibdir=/usr/$(get_libdir) \
232 --mandir=/usr/share/man \
233 --enable-static --enable-shared \
234 --cc="$(tc-getCC)" \
235 ${myconf} || die "configure failed"
236
237 emake version.h || die #252269
238 emake || die "make failed"
239 }
240
241 src_install() {
242 emake DESTDIR="${D}" install || die "Install Failed"
243
244 dodoc Changelog README INSTALL
245 dodoc doc/*
246 }
247
248 # Never die for now...
249 src_test() {
250 for t in codectest libavtest seektest ; do
251 emake ${t} || ewarn "Some tests in ${t} failed"
252 done
253 }