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