From 5ebed5dccb12b70f47345fa5ebe70830ed075f7a Mon Sep 17 00:00:00 2001 From: Derk-Jan Hartman <hartman@videolan.org> Date: Thu, 15 May 2003 00:32:28 +0000 Subject: [PATCH] * ./vlc.ebuild: a ebuild for the Gentoo Linux distribution. Because of the cvs snapshots of libmpeg2 and ffmpeg, this ebuild will need to be updated before release, to point out the correct links to these libraries. --- vlc.ebuild | 275 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 275 insertions(+) create mode 100644 vlc.ebuild diff --git a/vlc.ebuild b/vlc.ebuild new file mode 100644 index 000000000000..6d31253c540e --- /dev/null +++ b/vlc.ebuild @@ -0,0 +1,275 @@ +############################################################################### +# vlc.ebuild: A Gentoo ebuild for vlc +############################################################################### +# Copyright (C) 2003 VideoLAN +# $Id: vlc.ebuild,v 1.1 2003/05/15 00:32:28 hartman Exp $ +# +# Authors: Derk-Jan Hartman <thedj at users.sf.net> +# +# 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 +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# 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 esd kde X alsa ggi oggvorbis gnome xv oss sdl fbcon aalib avi slp truetype" + +# Change these to correspond with the +# unpacked dirnames of the CVS snapshots. +PFFMPEG=ffmpeg-cvs-2003-05-14 +PLIBMPEG2=mpeg2dec-0.3.2-cvs + +S=${WORKDIR}/${P} +SFFMPEG=${WORKDIR}/${PFFMPEG} +SLIBMPEG2=${WORKDIR}/${PLIBMPEG2} + +DESCRIPTION="VLC media player - A videoplayer that plays DVD, + VCD, files and networkstreams o.a." + +# Use the correct CVS snapshot links. +SRC_URI="http://www.videolan.org/pub/videolan/${PN}/${PV}/${P}.tar.bz2 + http://www.videolan.org/pub/videolan/${PN}/${PV}/contrib/libmpeg2.tar.gz + http://www.videolan.org/pub/videolan/${PN}/${PV}/contrib/ffmpeg.tar.gz" +HOMEPAGE="http://www.videolan.org" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~x86 ~ppc" + +DEPEND="X? ( virtual/x11 ) + qt? ( x11-libs/qt ) + dvd? ( >=media-libs/libdvdread-0.9.3 + >=media-libs/libdvdcss-1.2.6 + >=media-libs/libdvdplay-1.0.1 ) + sdl? ( >=media-libs/libsdl-1.2.5 ) + esd? ( >=media-sound/esound-0.2.22 ) + 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 ) + 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 ) + avi? ( >=media-libs/xvid-0.9.1 ) + slp? ( >=net-libs/openslp-1.0.10 ) + truetype? ( >=media-libs/freetype-2.1.4 ) + >=media-sound/mad-0.14.2b + >=media-libs/a52dec-0.7.4 + >=media-libs/faad2-1.1 + >=media-libs/libdvbpsi-0.1.2" +# other optional libraries +# >=media-libs/flac-1.1.0 +# >=media-libs/libdv-0.98 +# wxwindows ought to be a USE variable, like all the others +# >=x11-libs/wxGTK-2.4.0 + +# not in gentoo +# tarkin +# theora +# tremor + +RDEPEND="nls? ( sys-devel/gettext )" + +# 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 + +src_unpack() { + + unpack ${A} + cd ${S} + # 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 + # adding configure.ac.in + cp configure.ac.in configure.ac.in.orig + sed "s:-lkfile::" \ + configure.ac.in.orig > configure.ac.in + + cd ${S}/modules/gui/kde + cp interface.h interface.h.orig + sed "s:\(#include <kmainwindow.h>\):\1\n#include <kstatusbar.h>:" \ + 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 + +} + +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} --enable-x11" \ + || myconf="${myconf} --disable-x11" + + use xv\ + && myconf="${myconf} --enable-xvideo" \ + || myconf="${myconf} --diable-xvideo" + + use qt \ + && myconf="${myconf} --enable-qt" \ + || myconf="${myconf} --disable-qt" + + use dvd \ + && myconf="${myconf} \ + --enable-dvd \ + --enable-dvdread \ + --enable-vcd" \ + || myconf="${myconf} \ + --disable-dvd \ + --disable-dvdread \ + --disable-vcd" + + use esd \ + && myconf="${myconf} --enable-esd" \ + || myconf="${myconf} --disable-esd" + + use ggi \ + && myconf="${myconf} --enable-ggi" \ + || myconf="${myconf} --disable-ggi" + + # the current gtk2 and gnome2 are prelimenary frameworks + use gtk \ + && myconf="${myconf} --enable-gtk --disable-gtk2" \ + || myconf="${myconf} --disable-gtki --disable-gtk2" + + use kde \ + && myconf="${myconf} --enable-kde" \ + || myconf="${myconf} --disable-kde" + + use nls \ + || myconf="${myconf} --disable-nls" + + use 3dfx \ + && myconf="${myconf} --enable-glide" \ + || myconf="${myconf} --disable-glide" + + use arts \ + && myconf="${myconf} --enable-arts" \ + || myconf="${myconf} --disable-arts" + + use gnome \ + && myconf="${myconf} --enable-gnome --disable-gnome2" \ + || myconf="${myconf} --disable-gnome --disable-gnome2" + + use ncurses \ + && myconf="${myconf} --enable-ncurses" \ + || myconf="${myconf} --disable-ncurses" + + use oggvorbis \ + && myconf="${myconf} --enable-vorbis --enable-ogg" \ + || myconf="${myconf} --disable-vorbis --disable-ogg" + + use alsa \ + && myconf="${myconf} --enable-alsa" \ + || myconf="${myconf} --disable-alsa" + + use oss \ + && myconf="${myconf} --enable-oss" \ + || myconf="${myconf} --disable-oss" + + use sdl \ + && myconf="${myconf} --enable-sdl" \ + || myconf="${myconf} --disable-sdl" + + use fbcon \ + && myconf="${myconf} --enable-fb" \ + || myconf="${myconf} --disable-fb" + + use aalib \ + && myconf="${myconf} --enable-aa" \ + || myconf="${myconf} --disable-aa" + + # there is no xvid USE variable + # it is pretty reasonable that users with the avi USE variable + # want xvid too cq. not. + use avi \ + && myconf="${myconf} --enable-xvid" \ + || myconf="${myconf} --disable-xvid" + + use slp \ + && myconf="${myconf} --enable-slp" \ + || myconf="${myconf} --disable-slp" + + # vlc uses its own ultraoptimizaed CXXFLAGS + # and forcing custom ones generally fails building + export CXXFLAGS="" + export CFLAGS="" + export WANT_AUTOCONF_2_5=1 + export WANT_AUTOMAKE_1_6=1 + + econf \ + --enable-ffmpeg --with-ffmpeg-tree=${SFFMPEG} \ + --enable-libmpeg2 --with-libmpeg2-tree=${SLIBMPEG2} \ + --with-sdl \ + --enable-release \ + --enable-mad \ + --enable-a52 \ + --enable-dvbpsi \ + ${myconf} || die "configure of VLC failed" + + # 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" +} + +src_install() { + + einstall || die "make install failed" + + dodoc ABOUT-NLS AUTHORS COPYING ChangeLog HACKING INSTALL* \ + MAINTAINERS NEWS README* MODULES THANKS + +} -- GitLab