X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=vlc.ebuild;h=a66e5b7f6b8a32bf61a77173c0716aa5253e8bad;hb=7adeecdee2f6bb174de6a080fe7ce64a708d50dc;hp=76d2bcb85d303f2cbb1818d1d6cdd16c9c9ca632;hpb=6ddcf95676015dea56ee3cbc41b9c7febccf93b3;p=vlc diff --git a/vlc.ebuild b/vlc.ebuild index 76d2bcb85d..a66e5b7f6b 100644 --- a/vlc.ebuild +++ b/vlc.ebuild @@ -1,10 +1,10 @@ ############################################################################### # vlc.ebuild: A Gentoo ebuild for vlc ############################################################################### -# Copyright (C) 2003 VideoLAN -# $Id: vlc.ebuild,v 1.8 2003/06/22 15:03:33 hartman Exp $ +# Copyright (C) 2003-2004 VideoLAN +# $Id$ # -# Authors: Derk-Jan Hartman +# Authors: Derk-Jan Hartman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -20,196 +20,129 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. ############################################################################### -IUSE="arts qt ncurses dvd gtk nls 3dfx matrox svga fbcon esd kde X alsa ggi oggvorbis gnome xv oss sdl fbcon aalib slp truetype v4l xvid lirc wxwindows imlib" +# Some of the ideas in this ebuild are derived from the official Gentoo ebuild +# Thanks to the Gentoo Team for supporting us. +############################################################################### -# Change these to correspond with the -# unpacked dirnames of the CVS snapshots. -PFFMPEG=ffmpeg-20030622 -PLIBMPEG2=mpeg2dec-20030612 +inherit libtool gcc eutils -S=${WORKDIR}/${P} -SFFMPEG=${WORKDIR}/${PFFMPEG} -SLIBMPEG2=${WORKDIR}/${PLIBMPEG2} +# Missing support for... +# tarkin - package not in portage yet - experimental +# theora - package not in portage yet - experimental +# tremor - package not in portage yet - experimental -DESCRIPTION="VLC media player - A videoplayer that plays DVD, - VCD, files and networkstreams o.a." +IUSE="arts ncurses dvd gtk nls 3dfx svga fbcon esd X alsa ggi speex + oggvorbis gnome xv oss sdl aalib slp bidi truetype v4l lirc + wxwindows imlib matroska dvb mozilla debug faad + xosd altivec png dts" + +S=${WORKDIR}/${P} -SRC_URI="http://www.videolan.org/pub/${PN}/${PV}/${P}.tar.bz2 - http://www.videolan.org/pub/${PN}/${PV}/contrib/mpeg2dec-20030612.tar.bz2 - http://www.videolan.org/pub/${PN}/${PV}/contrib/ffmpeg-20030612.tar.bz2" +DESCRIPTION="VLC media player - Video player and streamer" +SRC_URI="http://download.videolan.org/pub/${PN}/${PV}/${P}.tar.bz2" HOMEPAGE="http://www.videolan.org/vlc" SLOT="0" LICENSE="GPL-2" -KEYWORDS="~x86 ~ppc" +KEYWORDS="~x86 ~ppc ~sparc ~alpha ~mips ~hppa ~amd64 ~ia64 ~ppc64" -DEPEND="X? ( virtual/x11 ) - nls? ( sys-devel/gettext ) - qt? ( x11-libs/qt ) - dvd? ( >=media-libs/libdvdread-0.9.3 - >=media-libs/libdvdcss-1.2.6 +RDEPEND="X? ( virtual/x11 ) + aalib? ( >=media-libs/aalib-1.4_rc4-r2 + >=media-libs/libcaca-0.9 ) + alsa? ( >=media-libs/alsa-lib-0.9_rc2 ) + dvb? ( media-libs/libdvb + media-tv/linuxtv-dvb ) + dvd? ( >=media-libs/libdvdread-0.9.4 + >=media-libs/libdvdcss-1.2.8 + >=media-libs/libdvdnav-0.1.9 >=media-libs/libdvdplay-1.0.1 ) - sdl? ( >=media-libs/libsdl-1.2.5 ) esd? ( >=media-sound/esound-0.2.22 ) + faad? ( >=media-libs/faad2-2.0 ) ggi? ( >=media-libs/libggi-2.0_beta3 ) - gtk? ( =x11-libs/gtk+-1.2* ) - kde? ( kde-base/kdelibs ) - arts? ( kde-base/kdelibs ) gnome? ( >=gnome-base/gnome-libs-1.4.1.2-r1 ) + gtk? ( =x11-libs/gtk+-1.2* ) + imlib? ( >=media-libs/imlib2-1.0.6 ) + lirc? ( app-misc/lirc ) + mad? ( media-libs/libmad + media-libs/libid3tag ) + matroska? ( >=media-libs/libmatroska-0.7.0 ) + mozilla? ( >=net-www/mozilla-1.5 ) ncurses? ( sys-libs/ncurses ) - oggvorbis? ( >=media-libs/libvorbis-1.0 - >=media-libs/libogg-1.0 ) - alsa? ( >=media-libs/alsa-lib-0.9_rc2 ) - aalib? ( >=media-libs/aalib-1.4_rc4-r2 ) - xvid? ( >=media-libs/xvid-0.9.1 ) + nls? ( >=sys-devel/gettext-0.12.1 ) + oggvorbis? ( >=media-libs/libvorbis-1.0.1 + >=media-libs/libogg-1.1 ) + sdl? ( >=media-libs/libsdl-1.2.5 ) slp? ( >=net-libs/openslp-1.0.10 ) + bidi? ( >=dev-libs/fribidi-0.10.4 ) truetype? ( >=media-libs/freetype-2.1.4 ) - lirc? ( app-misc/lirc ) - imlib? ( >=media-libs/imlib2-1.0.6 ) - wxwindows? ( >=x11-libs/wxGTK-2.4.0 ) - >=media-libs/libdvbpsi-0.1.2 - >=media-sound/mad-0.14.2b - >=media-libs/faad2-1.1 - >=media-libs/a52dec-0.7.4" -# other optional libraries -# >=media-libs/flac-1.1.0 -# >=media-libs/libdv-0.98 - -# not in gentoo -# tarkin -# theora -# tremor - -# get kde and arts paths -if [ -n "`use kde`" -o -n "`use arts`" ]; then - inherit kde-functions - set-kdedir 3 - # $KDEDIR is now set to arts/kdelibs location -fi + wxwindows? ( >=x11-libs/wxGTK-2.4.2 ) + xosd? ( >=x11-libs/xosd-2.0 ) + 3dfx? ( media-libs/glide-v3 ) + png? ( >=media-libs/libpng-1.2.5 ) + speex? ( >=media-libs/speex-1.1.5 ) + dts? ( >=media-libs/libdts-0.0.2 ) + svga? ( media-libs/svgalib ) + >=media-sound/lame-3.93.1 + >=media-libs/libdvbpsi-0.1.3 + >=media-libs/a52dec-0.7.4 + >=media-libs/libmpeg2-0.4.0 + >=media-video/ffmpeg-0.4.8.20040222 + >=media-plugins/live-2004.03.05 + >=media-libs/flac-1.1.0" + +DEPEND="$RDEPEND >=sys-devel/autoconf-2.5.8" src_unpack() { unpack ${A} + + # Change the location of the glide headers cd ${S} + sed -i \ + -e "s:/usr/include/glide:/usr/include/glide3:" \ + -e "s:glide2x:glide3:" \ + configure - # if qt3 is installed, patch vlc to work with it instead of qt2 - ( use qt || use kde ) && ( \ - if [ ${QTDIR} = "/usr/qt/3" ] - then - cp configure.ac configure.ac.orig - sed "s:-lkfile::" \ - configure.ac.orig > configure.ac - - cd ${S}/modules/gui/kde - cp interface.h interface.h.orig - sed "s:\(#include \):\1\n#include :" \ - interface.h.orig > interface.h - - cp preferences.cpp preferences.cpp.orig - sed 's:\("vlc preferences", true, false, \)\("Save\):\1(KGuiItem)\2:' \ - preferences.cpp.orig > preferences.cpp - fi - ) - - # patch libmpeg2 - cd ${SLIBMPEG2} - cp configure configure.orig - sed -e 's:OPT_CFLAGS=\"$CFLAGS -mcpu=.*\":OPT_CFLAGS=\"$CFLAGS\":g' \ - configure.orig > configure + cd ${S}/modules/video_output + epatch ${FILESDIR}/glide.patch + cd ${S} } src_compile(){ - # configure and building of libmpeg2 - cd ${SLIBMPEG2} - econf --disable-sdl --without-x \ - || die "./configure of libmpeg2 failed" - - emake || make || die "make of libmpeg2 failed" - - # configure and building of ffmpeg - cd ${SFFMPEG} - myconf="" - use mmx || myconf="--disable-mmx" - - ./configure ${myconf} \ - --disable-mp3lame \ - --disable-vorbis || die "./configure of ffmpeg failed" - - cd libavcodec - make || die "make of ffmpeg failed" - cd libpostproc - make || die "make of libpostproc failed" - # Configure and build VLC cd ${S} - myconf="" - - use X || myconf="${myconf} --disable-x11" - - use xv || myconf="${myconf} --disable-xvideo" - - use ggi && myconf="${myconf} --enable-ggi" - - use 3dfx && myconf="${myconf} --enable-glide" - - use matrox && myconf="${myconf} --enable-mga" - - use svga && myconf="${myconf} --enable-svgalib" - - use sdl || myconf="${myconf} --disable-sdl" - - use fbcon || myconf="${myconf} --disable-fb" - - use aalib && myconf="${myconf} --enable-aa" - - use dvd \ - && myconf="${myconf} --enable-dvdread" \ - || myconf="${myconf} \ - --disable-dvd \ - --disable-dvdread \ - --disable-dvdplay \ - --disable-vcd" - - use alsa && myconf="${myconf} --enable-alsa" - - use oss || myconf="${myconf} --disable-oss" - - use esd && myconf="${myconf} --enable-esd" - - use arts && myconf="${myconf} --enable-arts" - - use nls || myconf="${myconf} --disable-nls" - - # the current gtk2 and gnome2 are prelimenary frameworks - use gtk \ - && myconf="${myconf} --disable-gtk2" \ - || myconf="${myconf} --disable-gtk --disable-gtk2" - - use gnome && myconf="${myconf} --enable-gnome --disable-gnome2" - - use kde && myconf="${myconf} --enable-kde" - - use qt && myconf="${myconf} --enable-qt" - - use ncurses && myconf="${myconf} --enable-ncurses" - - use oggvorbis || myconf="${myconf} --disable-vorbis --disable-ogg" - - use lirc && myconf="${myconf} --enable-lirc" - - use slp || myconf="${myconf} --disable-slp" - - # xvid is a local USE var, see /usr/portage/profiles/use.local.desc for more details - use xvid && myconf="${myconf} --enable-xvid" - - # v4l is a local USE var, see /usr/portage/profiles/use.local.desc for more details - use v4l && myconf="${myconf} --enable-v4l" + local myconf + myconf="--disable-mga --enable-flac --with-gnu-ld \ + --enable-a52 --enable-dvbpsi --enable-libmpeg2 \ + --disable-qt --disable-kde --disable-gnome --disable-gtk \ + --disable-libcdio --disable-libcddb --disable-vcdx \ + --enable-ffmpeg --with-ffmpeg-mp3lame \ + --enable-livedotcom --with-livedotcom-tree=/usr/lib/live" + + # qt, kde, gnome and gtk interfaces are deprecated and in a bad condition + # the same for mga video, libdv and xvid decoders + # cddax and vcdx (which depend on libcdio and libcddb) are not ready yet + + #--enable-pth GNU Pth support (default disabled) + #--enable-st State Threads (default disabled) + #--enable-gprof gprof profiling (default disabled) + #--enable-cprof cprof profiling (default disabled) + #--enable-mostly-builtin most modules will be built-in (default enabled) + #--disable-optimizations disable compiler optimizations (default disabled) + #--enable-testsuite build test modules (default disabled) + #--disable-plugins make all plugins built-in (default plugins enabled) + + use debug && myconf="${myconf} --enable-debug" \ + || myconf="${myconf} --enable-release" + + (use imlib && use wxwindows) && myconf="${myconf} --enable-skins --enable-skins2" - # wxwindows is a local USE var. already enabled by default, but depends on wxGTK - # but if we use wxwindows and imlib, then we can also use skins - (use imlib && use wxwindows) && myconf="${myconf} --enable-skins" + use mozilla \ + && myconf="${myconf} --enable-mozilla \ + MOZILLA_CONFIG=/usr/lib/mozilla/mozilla-config \ + XPIDL=/usr/bin/xpidl" # vlc uses its own ultraoptimizaed CXXFLAGS # and forcing custom ones generally fails building @@ -218,21 +151,59 @@ src_compile(){ export WANT_AUTOCONF_2_5=1 export WANT_AUTOMAKE_1_6=1 - myconf="${myconf} --enable-ffmpeg --with-ffmpeg-tree=${SFFMPEG} \ - --enable-libmpeg2 --with-libmpeg2-tree=${SLIBMPEG2} \ - --enable-dvbpsi \ - --enable-release \ - --enable-mad \ - --enable-faad \ - --enable-a52" - - ewarn ${myconf} - econf ${myconf} || die "configure of VLC failed" + # Avoid timestamp skews with autotools + touch configure.ac + touch aclocal.m4 + touch configure + touch config.h.in + touch `find . -name Makefile.in` + + econf \ + $(use_enable nls) \ + $(use_enable slp) \ + $(use_enable xosd) \ + $(use_enable ncurses) \ + $(use_enable alsa) \ + $(use_enable esd) \ + $(use_enable oss) \ + $(use_enable ggi) \ + $(use_enable sdl) \ + $(use_enable mad) \ + $(use_enable faad) \ + $(use_enable v4l) \ + $(use_enable dvd) \ + $(use_enable dvd vcd) \ + $(use_enable dvdread) \ + $(use_enable dvd dvdplay) \ + $(use_enable dvd dvdnav) \ + $(use_enable dvb) \ + $(use_enable dvb pvr) \ + $(use_enable joystick) $(use_enable lirc) \ + $(use_enable arts) \ + $(use_enable oggvorbis ogg) $(use_enable oggvorbis vorbis) \ + $(use_enable speex) \ + $(use_enable matroska mkv) \ + $(use_enable truetype freetype) \ + $(use_enable bidi fribidi) \ + $(use_enable svga svgalib) \ + $(use_enable fbcon fb) \ + $(use_enable aalib aa) $(use_enable aalib caca) \ + $(use_enable xv xvideo) \ + $(use_enable X x11) \ + $(use_enable 3dfx glide) \ + $(use_enable altivec) \ + $(use_enable dts) \ + ${myconf} || die "configure of VLC failed" + + if [[ $(gcc-major-version) == 2 ]]; then + sed -i -e s:"-fomit-frame-pointer":: vlc-config || die "-fomit-frame-pointer patching failed" + fi # parallel make doesn't work with our complicated makefile # this is also the reason as why you shouldn't run autoconf # or automake yourself. (or bootstrap for that matter) - make || die "make of VLC failed" + MAKEOPTS="${MAKEOPTS} -j1" + emake || die "make of VLC failed" } src_install() { @@ -240,6 +211,6 @@ src_install() { einstall || die "make install failed" dodoc ABOUT-NLS AUTHORS COPYING ChangeLog HACKING INSTALL* \ - MAINTAINERS NEWS README* MODULES THANKS + MAINTAINERS NEWS README* THANKS doc/ChangeLog-* }