#!/bin/bash
################################################################################
# Fichier : installmp.sh
# Auteur : Sébastien Beaugrand
# Date : 12 Mai 2009
# Url : http://www.chez.com/beaugrand/
################################################################################
# Les packages utilisés correspondent à la version 2009.1 de la Mandriva.
# Tous les fichiers doivent se trouver dans le répertoire désigné par "sources".
# Pour certains DVD il pourra être utile de faire : export DVDCSS_METHOD=title
################################################################################
machine=`uname -m`
if [ $machine = x86_64 ]; then
arch=x86_64
lib=lib64
else
arch=i586
lib=lib
fi
mplayer=mplayer
revision=-r29111
lame=lame-398-2
codecs=essential-20071007
libdvdcss=libdvdcss-1.2.10
libdvdread=libdvdread-0.9.7
lsdvd=lsdvd-0.16
libmpeg=${lib}mpeg2dec-devel-0.5.1-1mdv2009.1.$arch.rpm
libppm=${lib}netpbm-devel-10.35.59-1mdv2009.1.$arch.rpm
faac=faac-1.28
ffmpeg=ffmpeg
transcode=transcode-1.1.0
subtitleripper=subtitleripper-0.3-4
normalize=normalize-0.7.7
# user
user=`whoami`
if [ $user != "root" ]; then
echo "you must be root"
exit -1
fi
echo -n "user ? "
read user
home=/home/$user
sources=$home/install/mplayer
prefix=/usr
tmp=/root/tmp
mkdir -p $tmp
echo -n "packages ? (y/N) "
read ret
if [ "$ret" = y ]; then
cd $sources;
urpmi libxorg-x11-devel # pour mplayer
urpmi automake libtool gcc-c++ # pour faac
urpmi $libmpeg $libppm libpng-devel gocr # pour transcode et subtitleripper
ln -sf /usr/$lib/libnetpbm.so /usr/lib/libppm.so
fi
# lame
echo -n "lame ? (y/N) "
read ret
if [ "$ret" = y ]; then
cd $tmp; tar xvzf $sources/$lame.tar.gz
cd $lame; ./configure --exec-prefix=$prefix; make; make install
fi
# codecs
echo -n "codecs ? (y/N) "
read ret
if [ "$ret" = y ]; then
mkdir -p $prefix/lib/codecs
cd $prefix/lib/codecs
tar xvjf $sources/$codecs.tar.bz2
mv $codecs/* .; rmdir $codecs
fi
# mplayer
echo -n "mplayer ? (y/N) "
read ret
if [ "$ret" = y ]; then
echo -n "svn mplayer ($revision) ? (y/N) "
read ret
if [ "$ret" = y ]; then
cd $tmp; svn $revision co svn://svn.mplayerhq.hu/mplayer/trunk mplayer
echo -n "tar mplayer ? (Y/n) "
read ret
if [ "$ret" != n ]; then
tar cvjf mplayer.tar.bz2 mplayer
fi
else
cd $tmp; tar xvjf $sources/$mplayer.tar.bz2
fi
echo -n "patch ? (Y/n) "
read ret
if [ "$ret" != n ]; then
patch -p0 -i $sources/mencoder_vol.patch
patch -p0 -i $sources/mencoder_lp.patch
fi
cd $mplayer
./configure --prefix=$prefix; make; make install
fi
# config
echo -n "config ? (y/N) "
read ret
if [ "$ret" = y ]; then
cd $home; mkdir -p .mplayer
cp $sources/config .mplayer
cp $sources/subfont.ttf .mplayer
chown -R $user.$user .mplayer
fi
# lsdvd
echo -n "lsdvd ? (y/N) "
read ret
if [ "$ret" = y ]; then
cd $tmp; tar xvjf $sources/$libdvdcss.tar.bz2
cd $libdvdcss; ./configure --prefix=$prefix; make; make install
cd $tmp; tar xvzf $sources/$libdvdread.tar.gz
cd $libdvdread; ./configure --prefix=$prefix; make; make install
cd $tmp; tar xvzf $sources/$lsdvd.tar.gz
cd $lsdvd;
cp configure configure.sav
sed 's/#include <dvdread\/ifo_read.h>/#include <inttypes.h>\n#include <dvdread\/ifo_read.h>/g'\
configure.sav > configure
chmod 755 configure
cp lsdvd.c lsdvd.c.sav
sed 's/#include <dvdread\/ifo_read.h>/#include <inttypes.h>\n#include <dvdread\/ifo_read.h>/g'\
lsdvd.c.sav > lsdvd.c
./configure --prefix=$prefix; make; make install
fi
# faac
echo -n "faac ? (y/N) "
read ret
if [ "$ret" = y ]; then
cd $tmp; tar xvzf $sources/$faac.tar.gz
cd $faac
./bootstrap
./configure --prefix=$prefix; make; make install
fi
# ffmpeg
echo -n "ffmpeg ? (y/N) "
read ret
if [ "$ret" = y ]; then
echo -n "svn ffmpeg ? (y/N) "
read ret
if [ "$ret" = y ]; then
cd $tmp; svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
echo -n "tar ffmpeg ? (Y/n) "
read ret
if [ "$ret" != n ]; then
tar cvzf ffmpeg.tar.gz ffmpeg
fi
cd ffmpeg
else
cd $tmp; tar xvzf $sources/$ffmpeg.tar.gz
cd $ffmpeg
fi
./configure --prefix=$prefix --enable-shared --enable-libfaac
make; make install
fi
# transcode
echo -n "transcode ? (y/N) "
read ret
if [ "$ret" = y ]; then
#sed 's/\ __png/\/\/\__png/' /usr/include/pngconf.h > ~/tmp/pngconf.h
#sed 's/\ __don/\/\/\__don/' ~/tmp/pngconf.h > /usr/include/pngconf.h
mkdir -p $home/tmp; cd $home/tmp
tar xvjf $sources/$transcode.tar.bz2
rm -fr transcode
mv $transcode transcode
cd transcode; ./configure --prefix=$prefix --disable-libjpeg; make
mkdir -p contrib/subrip
cd contrib/subrip
tar xvzf $sources/$subtitleripper.tgz
mv subtitleripper/* .; rmdir subtitleripper
make
cd $home/tmp; chown -R $user.$user transcode
fi
# normalize
echo -n "normalize ? (y/N) "
read ret
if [ "$ret" = y ]; then
cd $tmp; tar xvzf $sources/$normalize.tar.gz
cd $normalize; ./configure --prefix=/usr; make; make install
fi
# Fin du fichier installmp.sh