Gentoo Archives: gentoo-commits

From: "Tomas Chvatal (scarabeus)" <scarabeus@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in media-video/libav: libav-9.8.ebuild ChangeLog libav-9.7.ebuild
Date: Sat, 27 Jul 2013 11:32:19
Message-Id: 20130727113216.74EEA21710@flycatcher.gentoo.org
1 scarabeus 13/07/27 11:32:16
2
3 Modified: ChangeLog
4 Added: libav-9.8.ebuild
5 Removed: libav-9.7.ebuild
6 Log:
7 Version bump to 9.8, punt out 9.7.
8
9 (Portage version: 2.2.0_alpha188/cvs/Linux x86_64, signed Manifest commit with key 8EEE3BE8)
10
11 Revision Changes Path
12 1.166 media-video/libav/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/libav/ChangeLog?rev=1.166&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/libav/ChangeLog?rev=1.166&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/libav/ChangeLog?r1=1.165&r2=1.166
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/media-video/libav/ChangeLog,v
21 retrieving revision 1.165
22 retrieving revision 1.166
23 diff -u -r1.165 -r1.166
24 --- ChangeLog 10 Jul 2013 03:07:45 -0000 1.165
25 +++ ChangeLog 27 Jul 2013 11:32:16 -0000 1.166
26 @@ -1,6 +1,12 @@
27 # ChangeLog for media-video/libav
28 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/media-video/libav/ChangeLog,v 1.165 2013/07/10 03:07:45 lu_zero Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/media-video/libav/ChangeLog,v 1.166 2013/07/27 11:32:16 scarabeus Exp $
31 +
32 +*libav-9.8 (27 Jul 2013)
33 +
34 + 27 Jul 2013; Tomáš Chvátal <scarabeus@g.o> +libav-9.8.ebuild,
35 + -libav-9.7.ebuild:
36 + Version bump to 9.8, punt out 9.7.
37
38 10 Jul 2013; Luca Barbato <lu_zero@g.o> libav-0.8.7.ebuild,
39 libav-0.8.9999.ebuild, libav-9.7.ebuild, libav-9.9999.ebuild,
40
41
42
43 1.1 media-video/libav/libav-9.8.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/libav/libav-9.8.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/libav/libav-9.8.ebuild?rev=1.1&content-type=text/plain
47
48 Index: libav-9.8.ebuild
49 ===================================================================
50 # Copyright 1999-2013 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/media-video/libav/libav-9.8.ebuild,v 1.1 2013/07/27 11:32:16 scarabeus Exp $
53
54 EAPI=5
55
56 if [[ ${PV} == *9999 ]] ; then
57 SCM="git-2"
58 EGIT_REPO_URI="git://git.libav.org/libav.git"
59 [[ ${PV%9999} != "" ]] && EGIT_BRANCH="release/${PV%.9999}"
60 fi
61
62 inherit eutils flag-o-matic multilib toolchain-funcs ${SCM}
63
64 DESCRIPTION="Complete solution to record, convert and stream audio and video."
65 HOMEPAGE="http://libav.org/"
66 if [[ ${PV} == *9999 ]] ; then
67 SRC_URI=""
68 elif [[ ${PV%_p*} != ${PV} ]] ; then # Gentoo snapshot
69 SRC_URI="http://dev.gentoo.org/~lu_zero/libav/${P}.tar.xz"
70 else # Official release
71 SRC_URI="http://${PN}.org/releases/${P}.tar.xz"
72 fi
73
74 SRC_URI+=" test? ( http://dev.gentoo.org/~lu_zero/libav/fate-9.tar.xz )"
75
76 LICENSE="LGPL-2.1 gpl? ( GPL-3 )"
77 SLOT="0/9"
78
79 # Don't move KEYWORDS on the previous line or ekeyword won't work # 399061
80 [[ ${PV} == *9999 ]] || \
81 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
82
83 IUSE="aac alsa amr bindist +bzip2 cdio cpudetection custom-cflags debug doc
84 +encode faac fdk frei0r +gpl gsm +hardcoded-tables ieee1394 jack jpeg2k mp3
85 network openssl opus oss pic pulseaudio rtmp schroedinger sdl speex ssl
86 static-libs test theora threads tools truetype v4l vaapi vdpau vorbis vpx X
87 x264 xvid +zlib"
88
89 # String for CPU features in the useflag[:configure_option] form
90 # if :configure_option isn't set, it will use 'useflag' as configure option
91 CPU_FEATURES="3dnow:amd3dnow 3dnowext:amd3dnowext altivec avx mmx mmxext neon ssse3 vis"
92 for i in ${CPU_FEATURES} ; do
93 IUSE+=" ${i%:*}"
94 done
95
96 TOOLS="aviocat graph2dot ismindex pktdumper qt-faststart trasher"
97
98 RDEPEND="
99 !media-video/ffmpeg
100 alsa? ( media-libs/alsa-lib )
101 amr? ( media-libs/opencore-amr )
102 bzip2? ( app-arch/bzip2 )
103 cdio? (
104 || (
105 dev-libs/libcdio-paranoia
106 <dev-libs/libcdio-0.90[-minimal]
107 )
108 )
109 encode? (
110 aac? ( media-libs/vo-aacenc )
111 amr? ( media-libs/vo-amrwbenc )
112 faac? ( media-libs/faac )
113 fdk? ( media-libs/fdk-aac )
114 mp3? ( >=media-sound/lame-3.98.3 )
115 theora? (
116 >=media-libs/libtheora-1.1.1[encode]
117 media-libs/libogg
118 )
119 vorbis? ( media-libs/libvorbis media-libs/libogg )
120 x264? ( >=media-libs/x264-0.0.20111017:= )
121 xvid? ( >=media-libs/xvid-1.1.0 )
122 )
123 frei0r? ( media-plugins/frei0r-plugins )
124 gsm? ( >=media-sound/gsm-1.0.12-r1 )
125 ieee1394? (
126 media-libs/libdc1394
127 sys-libs/libraw1394
128 )
129 jack? ( media-sound/jack-audio-connection-kit )
130 jpeg2k? ( >=media-libs/openjpeg-1.3-r2:0 )
131 opus? ( media-libs/opus )
132 pulseaudio? ( media-sound/pulseaudio )
133 rtmp? ( >=media-video/rtmpdump-2.2f )
134 ssl? (
135 openssl? ( dev-libs/openssl )
136 !openssl? ( net-libs/gnutls )
137 )
138 sdl? ( >=media-libs/libsdl-1.2.13-r1[audio,video] )
139 schroedinger? ( media-libs/schroedinger )
140 speex? ( >=media-libs/speex-1.2_beta3 )
141 truetype? ( media-libs/freetype:2 )
142 vaapi? ( x11-libs/libva )
143 vdpau? ( x11-libs/libvdpau )
144 vpx? ( >=media-libs/libvpx-0.9.6 )
145 X? (
146 x11-libs/libX11
147 x11-libs/libXext
148 x11-libs/libXfixes
149 )
150 zlib? ( sys-libs/zlib )
151 "
152
153 DEPEND="${RDEPEND}
154 >=sys-devel/make-3.81
155 doc? ( app-text/texi2html )
156 ieee1394? ( virtual/pkgconfig )
157 mmx? ( dev-lang/yasm )
158 rtmp? ( virtual/pkgconfig )
159 schroedinger? ( virtual/pkgconfig )
160 ssl? ( virtual/pkgconfig )
161 test? ( sys-devel/bc )
162 truetype? ( virtual/pkgconfig )
163 v4l? ( sys-kernel/linux-headers )
164 "
165
166 # faac can't be binary distributed
167 # openssl support marked as nonfree
168 # faac and aac are concurent implementations
169 # amr and aac require at least lgpl3
170 # x264 requires gpl2
171 REQUIRED_USE="bindist? ( !faac !openssl !fdk )
172 rtmp? ( network )
173 amr? ( gpl ) aac? ( gpl ) x264? ( gpl ) X? ( gpl ) cdio? ( gpl )
174 test? ( encode zlib )
175 "
176
177 src_prepare() {
178 # if we have snapshot then we need to hardcode the version
179 if [[ ${PV%_p*} != ${PV} ]]; then
180 sed -i -e "s/UNKNOWN/DATE-${PV#*_pre}/" "${S}/version.sh" || die
181 fi
182 }
183
184 src_configure() {
185 local myconf="${EXTRA_LIBAV_CONF}"
186 local uses i
187
188 use zlib && TOOLS+=" cws2fws"
189
190 myconf+="
191 $(use_enable gpl)
192 $(use_enable gpl version3)
193 --enable-avfilter
194 "
195
196 # enabled by default
197 uses="debug doc network zlib"
198 for i in ${uses}; do
199 use ${i} || myconf+=" --disable-${i}"
200 done
201 use bzip2 || myconf+=" --disable-bzlib"
202 use sdl || myconf+=" --disable-avplay"
203
204 if use ssl; then
205 use openssl && myconf+=" --enable-openssl --enable-nonfree" \
206 || myconf+=" --enable-gnutls"
207 fi
208
209 use custom-cflags && myconf+=" --disable-optimizations"
210 use cpudetection && myconf+=" --enable-runtime-cpudetect"
211
212 use vdpau || myconf+=" --disable-vdpau"
213
214 use vaapi && myconf+=" --enable-vaapi"
215
216 # Encoders
217 if use encode; then
218 use faac && myconf+=" --enable-nonfree"
219 use fdk && myconf+=" --enable-nonfree --enable-libfdk-aac"
220 use mp3 && myconf+=" --enable-libmp3lame"
221 use amr && myconf+=" --enable-libvo-amrwbenc"
222 use aac && myconf+=" --enable-libvo-aacenc"
223 uses="faac theora vorbis x264 xvid"
224 for i in ${uses}; do
225 use ${i} && myconf+=" --enable-lib${i}"
226 done
227 else
228 myconf+=" --disable-encoders"
229 fi
230
231 # libavdevice options
232 use cdio && myconf+=" --enable-libcdio"
233 use ieee1394 && myconf+=" --enable-libdc1394"
234 use pulseaudio && myconf+=" --enable-libpulse"
235
236 # Indevs
237 # v4l1 is gone since linux-headers-2.6.38
238 myconf+=" --disable-indev=v4l"
239 use v4l || myconf+=" --disable-indev=v4l2"
240 for i in alsa oss jack; do
241 use ${i} || myconf+=" --disable-indev=${i}"
242 done
243 use X && myconf+=" --enable-x11grab"
244 # Outdevs
245 for i in alsa oss ; do
246 use ${i} || myconf+=" --disable-outdev=${i}"
247 done
248 # libavfilter options
249 use frei0r && myconf+=" --enable-frei0r"
250 use truetype && myconf+=" --enable-libfreetype"
251
252 # Threads; we only support pthread for now
253 use threads && myconf+=" --enable-pthreads"
254
255 # Decoders
256 use amr && myconf+=" --enable-libopencore-amrwb --enable-libopencore-amrnb"
257 uses="gsm opus rtmp schroedinger speex vpx"
258 for i in ${uses}; do
259 use ${i} && myconf+=" --enable-lib${i}"
260 done
261 use jpeg2k && myconf+=" --enable-libopenjpeg"
262
263 # CPU features
264 for i in ${CPU_FEATURES}; do
265 use ${i%:*} || myconf+=" --disable-${i#*:}"
266 done
267
268 # pass the right -mfpu as extra
269 use neon && myconf+=" --extra-cflags=-mfpu=neon"
270
271 # disable mmx accelerated code if PIC is required
272 # as the provided asm decidedly is not PIC for x86.
273 if use pic && use x86 ; then
274 myconf+=" --disable-mmx --disable-mmxext"
275 fi
276
277 # Option to force building pic
278 use pic && myconf+=" --enable-pic"
279
280 # cross compile support
281 if tc-is-cross-compiler ; then
282 myconf+=" --enable-cross-compile --arch=$(tc-arch-kernel) --cross-prefix=${CHOST}-"
283 case ${CHOST} in
284 *freebsd*)
285 myconf+=" --target-os=freebsd"
286 ;;
287 mingw32*)
288 myconf+=" --target-os=mingw32"
289 ;;
290 *linux*)
291 myconf+=" --target-os=linux"
292 ;;
293 esac
294 fi
295
296 # Misc stuff
297 use hardcoded-tables && myconf+=" --enable-hardcoded-tables"
298
299 # Specific workarounds for too-few-registers arch...
300 if [[ $(tc-arch) == "x86" ]]; then
301 filter-flags -fforce-addr -momit-leaf-frame-pointer
302 append-flags -fomit-frame-pointer
303 is-flag -O? || append-flags -O2
304 if use debug; then
305 # no need to warn about debug if not using debug flag
306 ewarn ""
307 ewarn "Debug information will be almost useless as the frame pointer is omitted."
308 ewarn "This makes debugging harder, so crashes that has no fixed behavior are"
309 ewarn "difficult to fix. Please have that in mind."
310 ewarn ""
311 fi
312 fi
313
314 cd "${S}"
315 ./configure \
316 --prefix="${EPREFIX}"/usr \
317 --libdir="${EPREFIX}"/usr/$(get_libdir) \
318 --shlibdir="${EPREFIX}"/usr/$(get_libdir) \
319 --mandir="${EPREFIX}"/usr/share/man \
320 --enable-shared \
321 --cc="$(tc-getCC)" \
322 --ar="$(tc-getAR)" \
323 --optflags="${CFLAGS}" \
324 --extra-cflags="${CFLAGS}" \
325 $(use_enable static-libs static) \
326 ${myconf} || die
327
328 MAKEOPTS+=" V=1"
329 }
330
331 src_compile() {
332 local i
333
334 emake
335
336 if use tools; then
337 tc-export CC
338
339 for i in ${TOOLS}; do
340 emake tools/${i}
341 done
342 fi
343 }
344
345 src_install() {
346 local i
347
348 emake DESTDIR="${D}" install install-man
349
350 dodoc Changelog README INSTALL
351 dodoc doc/*.txt
352 use doc && dodoc doc/*.html
353
354 if use tools; then
355 for i in ${TOOLS}; do
356 dobin tools/${i}
357 done
358 fi
359 }
360
361 src_test() {
362 echo ${WORKDIR}/fate
363 LD_LIBRARY_PATH="${S}/libswscale:${S}/libavcodec:${S}/libavdevice:${S}/libavfilter:${S}/libavformat:${S}/libavresample:${S}/libavutil" \
364 emake -j1 fate SAMPLES="${WORKDIR}/fate"
365 }