4593567 [rkeene@sledge /home/rkeene/projects/build]$ cat MPlayer.txt
# COMPILE REQUIREMENT: xvidcore
# COMPILE REQUIREMENT: lame
# RUNTIME REQUIREMENT: xvidcore

# IGNORE: slackware-13.0
# IGNORE: slackware-13.1
# IGNORE: slackware-13.2
# IGNORE: slackware-14.0
# IGNORE: slackware64-13.0
# IGNORE: slackware64-13.1
# IGNORE: slackware64-13.2
# IGNORE: slackware64-14.0

# SHORT DESC: Linux Movie Player
# LONG DESC: MPlayer is a movie player for Linux (runs on many other Unices, and non-x86 CPUs, see the documentation). It plays most MPEG, VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, YUV4MPEG, FILM, RoQ, PVA files, supported by many native, XAnim, and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5 and even WMV movies, too (without the avifile library).

CFLAGS="${CFLAGS} -O2"
export CFLAGS

case "`uname -m`" in
	i[3456]86)
		./configure --libdir="$libdir" --enable-gui --enable-largefiles --disable-smb --enable-menu --enable-runtime-cpudetection --prefix=/usr --confdir=/etc/mplayer --win32codecsdir=/usr/lib/win32 --enable-xvid || exit 1
		;;
	*)
		./configure --libdir="$libdir" --disable-win32 --enable-gui --enable-largefiles --disable-smb --enable-menu --enable-runtime-cpudetection --prefix=/usr --confdir=/etc/mplayer --enable-xvid || exit 1
		;;
esac


while true; do
	rm -f ERROR_HANDLED
	make && break

	if tail -200 BUILD_LOG.TXT | grep 'register in class.*GENERAL_REGS.*while reloading' 2>/dev/null >/dev/null; then
		echo '*** Attempt to compile failed, attempting lame fix-up #1'

		cp libavutil/x86_cpu.h libavutil/x86_cpu.h.old
		sed 's@# *define *HAVE_7REGS@#undef HAVE_7REGS@' libavutil/x86_cpu.h > libavutil/x86_cpu.h.new
		cat libavutil/x86_cpu.h.new > libavutil/x86_cpu.h

		make clean

		touch ERROR_HANDLED
	fi

	if tail -200 BUILD_LOG.TXT | grep 'undefined reference to .xvid_decore.$' 2>/dev/null >/dev/null; then
		echo '*** Attempt to compile failed, attempting lame fix-up #2'

		sed 's@^EXTRALIBS_[^ ]* *=.*$@& -lxvidcore@' config.mak > config.mak.new
		cat config.mak.new > config.mak

		touch ERROR_HANDLED
	fi

	if [ ! -e ERROR_HANDLED ]; then
		echo '*** No error handling routine for this error, aborting.'
		exit 1
	fi
done
make install || exit 1

echo '*** Attempting to install data required for GMPlayer...'

## Install Skins
for tarball in productive-1.0.tar.bz2 Blue-1.7.tar.bz2 Ater-1.2.tar.bz2 plastic-1.2.tar.bz2 proton-1.2.tar.bz2 CornerMP-1.2.tar.bz2 CornerMP-aqua-1.4.tar.bz2 WMP6-2.2.tar.bz2 new-age-1.0.tar.bz2 ultrafina-1.1.tar.bz2 changuito-0.2.tar.bz2; do
	wget -O "${tarball}" "http://www.mplayerhq.hu/MPlayer/skins/${tarball}" || continue
	fptarball=$(readlink -f "${tarball}")

	mkdir -p /usr/share/mplayer/skins/ >/dev/null 2>/dev/null

	(
		cd /usr/share/mplayer/skins/
		tar -jxf "${fptarball}"
	)
done
if [ -d /usr/share/mplayer/skins/Blue ]; then
	rm -rf /usr/share/mplayer/skins/default
	ln -s Blue /usr/share/mplayer/skins/default
fi

## Install fonts
# Is this no longer required ?

# We don't use a symlink because Firefox normalizes, and breaks this.
rm -f /usr/bin/gmplayer
ln /usr/bin/mplayer /usr/bin/gmplayer

exit 0
4593568 [rkeene@sledge /home/rkeene/projects/build]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2012-05-07 00:38:46