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