summaryrefslogtreecommitdiffstats
path: root/vlc
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2012-02-18 15:03:08 +0000
committer Eric Hameleers <alien@slackware.com>2012-02-18 15:03:08 +0000
commit2276de35869ce876c33a51bf7ba476feae86b21c (patch)
treeb66515251cdcf43b93c824ab866999c8028d1b78 /vlc
parentcd583b53404c55b867915d6a068d9cec081ddf21 (diff)
downloadasb-2276de35869ce876c33a51bf7ba476feae86b21c.tar.gz
asb-2276de35869ce876c33a51bf7ba476feae86b21c.tar.xz
A big jump to 2.0.0 !
Diffstat (limited to 'vlc')
-rwxr-xr-xvlc/build/vlc.SlackBuild745
1 files changed, 528 insertions, 217 deletions
diff --git a/vlc/build/vlc.SlackBuild b/vlc/build/vlc.SlackBuild
index 72aad29e..6f81064f 100755
--- a/vlc/build/vlc.SlackBuild
+++ b/vlc/build/vlc.SlackBuild
@@ -1,6 +1,6 @@
-#!/bin/sh
+i!/bin/sh
# $Id$
-# Copyright (c) 2007,2008,2009,2010,2011 Eric Hameleers, Eindhoven, Netherlands
+# Copyright 2007, 2008, 2009, 2010, 2011, 2012 Eric Hameleers, Eindhoven, Netherlands
#
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
@@ -275,40 +275,52 @@
# 1.1.5-2: 29/nov/2010 by Eric Hameleers <alien@slackware.com>
# * Try to fix the segfault of goom visualization plugin on 32bit.
# Fix projectM audio visualization for non-US locales.
-# 1.1.6-1: 24/jan/2011 by Eric Hameleers <alien@slackware.com>
-# * New release of VLC 1.1.x series fixes a security hole, and
-# adds a lot of functionality.
-# Updated x264, libkate, libtiger, libass, libvpx and live555
-# plugins, and used the latest xulrunner for building the
-# mozilla plugin.
-# 1.1.7-1: 31/jan/2011 by Eric Hameleers <alien@slackware.com>
-# * New release fixes Matroska/WebM remote code execution
-# vulnerability (VideoLAN-SA-1102).
-# VideoLAN has disabled KDE GUI platform integration as of 1.1.7
-# on order to try and work around several issues.
-# 1.1.7-2: 08/feb/2011 by Eric Hameleers <alien@slackware.com>
-# * Updated live555 library to fix the crash bug when trying to
-# play any rtsp:// stream.
-# 1.1.8-1: 24/mar/2011 by Eric Hameleers <alien@slackware.com>
-# * New release. Also updated libupnp, libva, live, x264 and
-# xulrunner components.
-# 1.1.9-1: 12/apr/2011 by Eric Hameleers <alien@slackware.com>
-# * New release.
-# 1.1.10-1: 06/jun/2011 by Eric Hameleers <alien@slackware.com>
-# * New release.
-# 1.1.11-1: 24/jul/2011 by Eric Hameleers <alien@slackware.com>
-# * Critical bugfix release (fixes CVE-2011-2587 and CVE-2588).
-# 1.1.11-2: 30/jul/2011 by Eric Hameleers <alien@slackware.com>
-# * Quickfix for the broken youtube support (after the youtube guys
-# 1.1.11-3: 14/aug/2011 by Eric Hameleers <alien@slackware.com>
-# * Yet another patch to fix youtube URL playback.
-# 1.1.12-1: 07/oct/2011 by Eric Hameleers <alien@slackware.com>
-# * New release. Updated support libraries in this package are:
-# libebml, libmatroska, live555, x264.
-# 1.1.13-1: 20/dec/2011 by Eric Hameleers <alien@slackware.com>
-# * New release. Updated support libraries in this package are:
-# libass, avc1394, dvbpsi, dvdnav, dvdread, ffmpeg, fluid, kate,
-# lame, live555, orc, twolame, upnp, v4l, vpx, x264.
+# 1.1.5-3: 29/dec/2010 by Eric Hameleers <alien@slackware.com>
+# * Updated x264, libkate, libtiger, libass and libvpx, and used
+# the latest xulrunner for building the mozilla plugin.
+# 20101230-1: 30/dec/2010 by Eric Hameleers <alien@slackware.com>
+# * With updated dependencies, it is time to test 1.2.0.git.
+# Starting with 1.2.0, the mozilla plugin has been separated
+# from the vlc sources and re-designed for stability. Its new
+# package name is "npapi-vlc". Upgrade an old vlc-mozplugin with
+# this new package!
+# 20110827-1: 28/aug/2011 by Eric Hameleers <alien@slackware.com>
+# * With updated dependencies again. I Had to disable the stream
+# switcher because even with a patch it would give compilation
+# errors (vlc's configure does not enable it by default anyway).
+# 20110910-1: 10/sep/2011 by Eric Hameleers <alien@slackware.com>
+# * Updated snapshots for vlcgit and x264.
+# 20111006-1: 06/oct/2011 by Eric Hameleers <alien@slackware.com>
+# * Added (unencrypted) bluray playback support.
+# Updated the ffmpeg, lbvpx, live555, v4l and x264 support
+# libraries.
+# 20111016-1: 16/oct/2011 by Eric Hameleers <alien@slackware.com>
+# * Updated internal bluray, dvdnav/dvdread, ebml/matroska,
+# live555, orc, x264 libraries.
+# Also updated to 20111016 snapshots of vlc and npapi-vlc.
+# 20111114-1: 14/nov/2011 by Eric Hameleers <alien@slackware.com>
+# * Time to check out the status of 1.2.pre1 (already ten days of
+# development since that tag but still) and I took the liberty
+# to refresh a lot of the dependencies too:
+# I updated internal ass, bluray, dvbpsi, ffmpeg, fluidsynth,
+# kate, lame, live555, twolame, v4l-utils, x264 libraries.
+# Added internal fribidi library to satisfy the new libass
+# requirement.
+# 20111202-1: 02/dec/2011 by Eric Hameleers <alien@slackware.com>
+# * Updated internal ffmpeg, libupnp, libmpc (switched to
+# recommended SVN tarball), x264 libraries.
+# Added librtmp and libgsm libraries to ffmpeg.
+# Froze the version of live555 to match the vlc patches.
+# 20111223-1: 23/dec/2011 by Eric Hameleers <alien@slackware.com>
+# * Updated snapshot as well as internal ffmpeg, x264.
+# Patched LUA compiler to only use 32-bit LUAC file format.
+# Updated libbluray (now called 'first useable version' by the
+# developers), added builtin dvdcss support (if USE_PATENTS is
+# set to "YES")
+# 2.0.0-1 17/feb/2012 by Eric Hameleers <alien@slackware.com>
+# * New release! Version 2.0 was originally named 1.2 but the
+# developers deciced that there were so many changes after 1.1.x
+# that a version bump to 2.0 would reflect this better.
#
# Run 'sh vlc.SlackBuild' to build a Slackware package.
# The package (.txz) plus descriptive .txt file are created in /tmp .
@@ -331,7 +343,7 @@
# Set initial variables:
PRGNAM=vlc
-PRGNAM2=mozplugin
+PRGNAM2=npapi-vlc
BUILD=${BUILD:-1}
TAG=${TAG:-"alien"}
@@ -348,17 +360,18 @@ PKGTYPE=${PKGTYPE:-"txz"}
# Hint: checkout at a certain date takes a snapshot at 00:00, not 23:59)
#
# Acceptible formats:
-#VERSION=${VERSION:-"1.1.5"}
-#VERSION=${VERSION:-"20101031"}
+#VERSION=${VERSION:-"2.0.0"}
+#VERSION=${VERSION:-"20120217"}
#VERSION=${VERSION:-"HEAD"}
-#VERSION=${VERSION:-"master#20100414"}
-#VERSION=${VERSION:-"@1.1.0-bugfix#20100414"}
-#VERSION=${VERSION:-"master@git://git.videolan.org/vlc/vlc-1.1.git#20100523"}
+#VERSION=${VERSION:-"master#20120217"}
+#VERSION=${VERSION:-"@1.1.0-bugfix#20120217"}
+#VERSION=${VERSION:-"master@git://git.videolan.org/vlc/vlc-2.0.git#20120217"}
-VERSION=${VERSION:-"1.1.13"}
+VERSION=${VERSION:-"2.0.0"}
-# At some point, the 1.1 development branched off the master tree:
-DEFGITURI=${GITURI:-"git://git.videolan.org/vlc.git"}
+# At some point, the 1.2 development branched off the master tree:
+#DEFGITURI=${GITURI:-"git://git.videolan.org/vlc.git"}
+DEFGITURI=${GITURI:-"git://git.videolan.org/vlc/vlc-2.0.git"}
DOCS="ABOUT-NLS AUTHORS COPYING HACKING INSTALL NEWS README THANKS"
@@ -368,6 +381,7 @@ NUMJOBS=${NUMJOBS:-7} # Number of parallel jobs for the compiler
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i486 ;;
+ armv7hl) export ARCH=$MARCH ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
@@ -381,6 +395,9 @@ case "$ARCH" in
x86_64) SLKCFLAGS="-O2 -fPIC"
SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
;;
+ armv7hl) SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKLDFLAGS=""; LIBDIRSUFFIX=""
+ ;;
*) SLKCFLAGS="-O2"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
@@ -436,9 +453,12 @@ MOZPLUGIN=$(echo $MOZPLUGIN | tr 'a-z' 'A-Z')
# Dependent package versions
A52=0.7.4
+AACENC=0.1.1
+AMRWBENC=0.1.1
AMR=0.1.2
ASS=0.10.0
AVC1394=0.5.4
+BLURAY=0.2.1
CDDB=1.3.2
CDIO=0.82
DAAP=0.4.0
@@ -452,25 +472,28 @@ DVDCSS=1.2.11
EBML=1.2.2
FAAC=1.28
FAAD2=2.7
-FFMPEG=0.9
+FFMPEG=0.10
#FFMPEG=r25676 # 20101104
FLUID=1.1.5
FRIBIDI=0.19.2
GGI=2.2.2
GII=1.0.2
GOOM=2k4-0
+GSM=1.0.13
KATE=0.4.1
-LAME=3.99.1
+LAME=3.99.3
LIBVA="0.32.0-1+sds2"
-LIVE=2011.11.08
+LIVE=2011.12.23
LUA=5.1.4
MATROSKA=1.3.0
-MPCDEC=1.2.6
+MPCDEC=r475
MPEG2DEC=0.5.1
+NPAPI=20120217
ORC=0.4.16
PROJECTM=2.0.1
QT4=4.7.4
RAW1394=2.0.5
+RTMP=2.3
SCHROEDINGER=1.0.10
SHOUT=2.2.2
SPEEX=1.2rc1
@@ -482,10 +505,10 @@ TWOLAME=0.3.13
UPNP=1.6.14
V4L=0.8.5
VCD=0.7.23
-VPX=v0.9.7-p1
+VPX=v1.0.0
X264_SAFE=20080301-2245 # In later versions nasm complains
# about 'function hidden'
-X264=20111219-2245 # Needs yasm installed
+X264=20120216-2245 # Needs yasm installed
XUL=1.9.2.19
# Determine what X we're running (the modular X returns the prefix
@@ -499,23 +522,17 @@ SRCDIR=$(cd $(dirname $0); pwd)
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
TMP=${TMP:-"/tmp/build"}
PKG=$TMP/package-$PRGNAM
-PKG2=$TMP/package-$PRGNAM-$PRGNAM2
+PKG2=$TMP/package-$PRGNAM2
OUTPUT=${OUTPUT:-"/tmp"}
# This is where we are going to temporarily install the dependencies:
VLCDEPSDIR="$TMP/tmp-$PRGNAM/vlcdeps"
# Building the mozilla plugin requires the Sun Java SDK:
-if [ "$MOZPLUGIN" == "NO" ]; then
- DO_MOZPLUGIN=""
-else
- if which javac 1>/dev/null 2>/dev/null ; then
- MOZPLUGIN="YES"
- DO_MOZPLUGIN="--enable-mozilla --with-mozilla-sdk-path=$VLCDEPSDIR/usr/xulrunner-sdk"
- else
+if [ "$MOZPLUGIN" == "YES" ]; then
+ if ! which javac 1>/dev/null 2>/dev/null ; then
echo "+++ NOT building mozilla plugin - Needs Sun JDK from /extra! +++"
MOZPLUGIN="NO"
- DO_MOZPLUGIN=""
fi
fi
@@ -690,7 +707,8 @@ USE[18]="YES"
# Musepack (MPC) audio demuxing support:
SOURCE[19]="$SRCDIR/libmpcdec-${MPCDEC}.tar.bz2"
-SRCURL[19]="http://files.musepack.net/source/libmpcdec-${MPCDEC}.tar.bz2"
+#SRCURL[19]="http://files.musepack.net/source/libmpcdec-${MPCDEC}.tar.bz2"
+SRCURL[19]=""
SRCPAT[19]="NO"
USE[19]="YES"
@@ -845,17 +863,53 @@ SRCURL[44]="http://webm.googlecode.com/files/libvpx-${VPX}.tar.bz2"
SRCPAT[44]="NO"
USE[44]="YES"
-# Unicode BiDirectional algorithm library, requirement for libass.
-SOURCE[45]="$SRCDIR/fribidi-${FRIBIDI}.tar.gz"
-SRCURL[45]="http://fribidi.org/download/fribidi-${FRIBIDI}.tar.gz"
-SRCPAT[45]="NO"
+# VisualOn AAC encoding library, for AAC (MP4 audio) encoding
+SOURCE[45]="$SRCDIR/vo-aacenc-$AACENC.tar.gz"
+SRCURL[45]="http://downloads.sourceforge.net/opencore-amr/vo-aacenc-$AACENC.tar.gz"
+SRCPAT[45]="YES"
USE[45]="YES"
+# AMR-WB encoder libraries used to encode 3GPP audio
+SOURCE[46]="$SRCDIR/vo-amrwbenc-${AMRWBENC}.tar.gz"
+SRCURL[46]="http://downloads.sourceforge.net/opencore-amr/vo-amrwbenc-${AMRWBENC}.tar.gz"
+SRCPAT[46]="NO"
+USE[46]="YES"
+
+# The browser plugin source has been separated from VLC:
+SOURCE[47]="$SRCDIR/npapi-vlc-${NPAPI}.tar.bz2"
+SRCURL[47]=""
+SRCPAT[47]="NO"
+USE[47]="YES"
+
+# Bluray support library (for unencrypted content):
+SOURCE[48]="$SRCDIR/libbluray-${BLURAY}.tar.bz2"
+SRCURL[48]="ftp://ftp.videolan.org/pub/videolan/libbluray/${BLURAY}/libbluray-${BLURAY}.tar.bz2"
+SRCPAT[48]="NO"
+USE[48]="YES"
+
+# Unicode BiDirectional algorithm library, requirement for libass.
+SOURCE[49]="$SRCDIR/fribidi-${FRIBIDI}.tar.gz"
+SRCURL[49]="http://fribidi.org/download/fribidi-${FRIBIDI}.tar.gz"
+SRCPAT[49]="NO"
+USE[49]="YES"
+
+# librtmp library, supporting RTMP (flash) streams
+SOURCE[50]="$SRCDIR/rtmpdump-${RTMP}.tar.gz"
+SRCURL[50]="http://rtmpdump.mplayerhq.hu/download/rtmpdump-${RTMP}.tgz"
+SRCPAT[50]="NO"
+USE[50]="YES"
+
+# GSM support:
+SOURCE[51]="$SRCDIR/gsm-$GSM.tar.gz"
+SRCURL[51]="http://osxwinebuilder.googlecode.com/files/gsm-$GSM.tar.gz"
+SRCPAT[51]="NO"
+USE[51]="YES"
+
# CSS decoding- VLC can do without if you install an external libdvdcss package.
-#SOURCE[xx]="$SRCDIR/libdvdcss-${DVDCSS}.tar.bz2"
-#SRCURL[xx]="http://download.videolan.org/pub/libdvdcss/${DVDCSS}/libdvdcss-${DVDCSS}.tar.bz2"
-#SRCPAT[xx]="YES"
-#USE[xx]="YES"
+SOURCE[52]="$SRCDIR/libdvdcss-${DVDCSS}.tar.bz2"
+SRCURL[52]="http://download.videolan.org/pub/libdvdcss/${DVDCSS}/libdvdcss-${DVDCSS}.tar.bz2"
+SRCPAT[52]="YES"
+USE[52]="YES"
# Use the src_checkout() function if no downloadable tarball exists.
# This function checks out sources from SVN/CVS and creates a tarball of them.
@@ -891,7 +945,9 @@ src_checkout() {
&& cd ..
fi
chown -R root:root . \
- && tar --exclude .git -${TARCOMP}cf ${2} vlc-${SRCVER}
+ && tar -${TARCOMP}cf ${2} vlc-${SRCVER}
+ # 20110824: vlc from git won't compile unless there is .git directory
+ # && tar --exclude .git -${TARCOMP}cf ${2} vlc-${SRCVER}
cd ..
rm -rf vlc_temp_checkout_$$
# If VERSION was "HEAD" we still want a date to appear in the pkgname:
@@ -954,6 +1010,22 @@ src_checkout() {
&& tar -${TARCOMP}cf ${2} libdvdread-${DVDREAD}
rm -rf libdvdread-${DVDREAD}
;;
+ 19) # libmpcdec-$MPCDEC
+ local SVNURL=http://svn.musepack.net/libmpc/trunk/
+ if [ "$(echo ${MPCDEC}|cut -c1)" == 'r' ]; then # revision instead of date
+ REV=$(echo ${MPCDEC} | cut -c2-)
+ else
+ REV="{${MPCDEC}}"
+ fi
+ mkdir libmpcdec-${MPCDEC} \
+ && cd libmpcdec-${MPCDEC} \
+ && svn checkout --revision $REV $SVNURL . \
+ && chown -R root:root . \
+ && cd .. \
+ && tar --exclude .svn -${TARCOMP}cf ${2} libmpcdec-${MPCDEC}
+ rm -rf libmpcdec-${MPCDEC}
+ unset SVNURL
+ ;;
44) # We clone the git of libvpx at a certain date:
mkdir libvpx-${VPX} \
&& cd libvpx-${VPX} \
@@ -964,6 +1036,26 @@ src_checkout() {
&& tar --exclude .git -${TARCOMP}cf ${2} libvpx-${VPX}
rm -rf libvpx-${VPX}
;;
+ 47) # We clone the git of npapi-vlc at a certain date:
+ mkdir npapi-vlc-${NPAPI} \
+ && cd npapi-vlc-${NPAPI} \
+ && git clone git://git.videolan.org/npapi-vlc.git . \
+ && git checkout $(git rev-list -n 1 --before="`date -d $NPAPI`" master) \
+ && chown -R root:root . \
+ && cd .. \
+ && tar --exclude .git -${TARCOMP}cf ${2} npapi-vlc-${NPAPI}
+ rm -rf npapi-vlc-${NPAPI}
+ ;;
+ 48) # We clone the git of libbluray at a certain date:
+ mkdir libbluray-${BLURAY} \
+ && cd libbluray-${BLURAY} \
+ && git clone git://git.videolan.org/libbluray.git . \
+ && git checkout $(git rev-list -n 1 --before="`date -d $BLURAY`" master) \
+ && chown -R root:root . \
+ && cd .. \
+ && tar --exclude .git -${TARCOMP}cf ${2} libbluray-${BLURAY}
+ rm -rf libbluray-${BLURAY}
+ ;;
*) # Do nothing
;;
esac
@@ -1024,6 +1116,10 @@ if [ "$STATIC_FFMPEG" != "YES" ]; then
USE[8]="NO" # faac
USE[35]="NO" # theora
USE[44]="NO" # vpx
+ USE[45]="NO" # aacenc
+ USE[46]="NO" # vo-amrwb
+ USE[50]="NO" # rtmp
+ USE[51]="NO" # gsm
fi
# Source file availability:
@@ -1099,11 +1195,6 @@ make_theora()
{
echo -e "**\n** theora ...\n**"
cd $TMP/tmp-$PRGNAM/libtheora-${THEORA}
-# Hope this is temporary - add a forgotten file for 1.0beta3:
-if [ ! -f doc/spec/ltablex.sty -a -f $SRCDIR/ltablex.sty ]; then
- echo "Adding missing 'ltablex.sty'..."
- cp $SRCDIR/ltablex.sty ./doc/spec/
-fi
# Don't build documentation and other crap:
sed -i -e "s/doc tests / /" Makefile*
@@ -1221,16 +1312,129 @@ CFLAGS="$SLKCFLAGS" \
make -j$NUMJOBS 2>&1 | tee $OUTPUT/make-${PRGNAM}_amr.log
make install PREFIX=$VLCDEPSDIR/usr LIBDIR=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
2>&1 | tee -a $OUTPUT/make-${PRGNAM}_amr.log
-# Add DOCS to the vlcdeps to have it added to ffmpeg package later:
+# Add DOCS to the vlcdeps to have it added to vlc package later:
mkdir -p $VLCDEPSDIR/doc/amr
cp -a AUTHORS COPYING ChangeLog LICENSE NEWS README \
$VLCDEPSDIR/doc/amr || true
cd -
}
+# -----------------------------------------------------------------------------
+# Compile VisualOn amr wideband encoder library
+# The ffmpeg will use these
+# -----------------------------------------------------------------------------
+make_amrwbenc()
+{
+echo -e "**\n** amrwbenc ...\n**"
+cd $TMP/tmp-$PRGNAM/vo-amrwbenc-${AMRWBENC}
+LDFLAGS="$SLKLDFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --mandir=$VLCDEPSDIR/usr/man \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_amrwbenc.log
+make -j$NUMJOBS 2>&1 | tee $OUTPUT/make-${PRGNAM}_amrwbenc.log
+make install $VLCDEPSDIR/PREFIX=/usr LIBDIR=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_amrwbenc.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/amrwbenc
+cp -a AUTHORS COPYING ChangeLog LICENSE NEWS README \
+ $VLCDEPSDIR/doc/amrwbenc || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile aacenc library
+# The ffmpeg will use these
# -----------------------------------------------------------------------------
-# Compile ffmpeg with support for AMR, LAME, XVID, FAAC
+make_aacenc()
+{
+echo -e "**\n** aacenc ...\n**"
+cd $TMP/tmp-$PRGNAM/vo-aacenc-${AACENC}
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_aacenc.log
+make -j${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_aacenc.log
+# Install aacenc into a temp location so ffmpeg can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_aacenc.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/aacenc
+cp -a AUTHORS COPYING* ChangeLog NEWS NOTICE README \
+ $VLCDEPSDIR/doc/aacenc || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile rtmpdump
+# -----------------------------------------------------------------------------
+make_rtmp()
+{
+echo -e "**\n** rtmp ...\n**"
+cd $TMP/tmp-$PRGNAM/rtmpdump-$RTMP
+make -C librtmp prefix=/usr OPT="$SLKCFLAGS" all librtmp.pc \
+ 2>&1 | tee $OUTPUT/make-${PRGNAM}_rtmp.log
+# Install librtmp into a temp location so ffmpeg can pickup the library
+echo -e "\n**\n**\n"
+mkdir -p $VLCDEPSDIR/usr/{include/librtmp,lib${LIBDIRSUFFIX}/pkgconfig}
+cp -a librtmp/librtmp.a $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}
+cp -a librtmp/{amf.h,http.h,log.h,rtmp.h} $VLCDEPSDIR/usr/include/librtmp
+cp -a librtmp/librtmp.pc $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/rtmp
+cp -a AUTHORS COPYING ChangeLog README $VLCDEPSDIR/doc/rtmp/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile gsm
+# -----------------------------------------------------------------------------
+make_gsm()
+{
+echo -e "**\n** gsm ...\n**"
+GSMMAJ=$(echo $GSM | cut -d. -f1,2)
+GSMPL=$(echo $GSM | cut -d. -f3)
+mv $TMP/tmp-$PRGNAM/gsm-${GSMMAJ}-pl${GSMPL} $TMP/tmp-$PRGNAM/gsm-${GSM}
+cd $TMP/tmp-$PRGNAM/gsm-${GSM}
+# Without this, x86_64 builds will fail:
+sed -i -e "/^CCFLAGS/s,-O2 ,$SLKCFLAGS ," \
+ -e "s,^# LDFLAGS.*,LDFLAGS = $SLKLDFLAGS," Makefile
+make -j${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_gsm.log
+# Install gsm into a temp location so ffmpeg can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_gsm.log
+mkdir -p $VLCDEPSDIR/usr/{bin,include/gsm,lib${LIBDIRSUFFIX}}
+cp bin/* $VLCDEPSDIR/usr/bin/
+cp inc/gsm.h $VLCDEPSDIR/usr/include/gsm/
+ln -sf gsm/gsm.h $VLCDEPSDIR/usr/include/gsm.h
+cp lib/* $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/gsm
+cp -a COPYRIGHT ChangeLog* INSTALL MACHINES MANIFEST README \
+ $VLCDEPSDIR/doc/gsm || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile ffmpeg with support for AMR, LAME, XVID, FAAC, RTMP, ...
# Later, we will statically link VLC to the generated libavcodec libraries
# -----------------------------------------------------------------------------
make_ffmpeg()
@@ -1246,7 +1450,10 @@ fi
# Only use patented code if we are allowing it:
if [ "${USE_PATENTS}" == "YES" ]; then
- USE_PATENTED="--enable-libmp3lame --enable-libfaac --enable-nonfree"
+ USE_PATENTED="--enable-libmp3lame \
+ --enable-libfaac \
+ --enable-libvo-aacenc \
+ --enable-nonfree"
else
USE_PATENTED=" "
fi
@@ -1259,6 +1466,10 @@ else
ARCHOPTS=""
fi
+## Prevent static linking issues:
+#sed -i -e "s/pkg_config --libs/pkg_config --static --libs/" \
+# configure
+
# Stamp the version into the source:
[ -f version.sh ] && sed -i -e "s/UNKNOWN/$FFMPEG/" version.sh
@@ -1274,13 +1485,17 @@ PKG_CONFIG_PATH="${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
${USE_PATENTED} \
--enable-gpl \
--enable-version3 \
+ --enable-libgsm \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
+ --enable-librtmp \
--enable-libtheora \
+ --enable-libvo-amrwbenc \
--enable-libvpx \
--enable-avfilter \
--enable-postproc \
--enable-pthreads \
+ --enable-hardcoded-tables \
--disable-ffserver \
--disable-ffplay \
--disable-ffmpeg \
@@ -1463,6 +1678,20 @@ make_live555()
{
echo -e "**\n** live555 ...\n**"
cd $TMP/tmp-$PRGNAM/live
+
+# VLC will refuse live555 unless these patches have been applied:
+cat /dev/null > $OUTPUT/patch-${PRGNAM}_live.log
+cat ../vlc-$VERSION/contrib/src/live555/live-uselocale.patch \
+ | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_live.log
+cat ../vlc-$VERSION/contrib/src/live555/live-inet_ntop.patch \
+ | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_live.log
+cat ../vlc-$VERSION/contrib/src/live555/live-intptr.patch \
+ | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_live.log
+cat ../vlc-$VERSION/contrib/src/live555/live-getaddrinfo.patch \
+ | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_live.log
+cat ../vlc-$VERSION/contrib/src/live555/live-cloexec.patch \
+ | patch -p1 --verbose 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_live.log
+
# Force the use of our CFLAGS
sed -i -e "s|-O2|${SLKCFLAGS}|g" config.linux
# Live555 is not useable with vlc unless linked statically.
@@ -1474,6 +1703,21 @@ if ! $(grep -q Bstatic config.linux) ; then
fi
./genMakefiles linux 2>&1 | tee $OUTPUT/configure-${PRGNAM}_live.log
make -j${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_live.log
+# Move the live555 stuff into place for vlc to pick it up:
+mkdir -p $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $VLCDEPSDIR/usr/include
+cp \
+ groupsock/libgroupsock.a \
+ liveMedia/libliveMedia.a \
+ UsageEnvironment/libUsageEnvironment.a \
+ BasicUsageEnvironment/libBasicUsageEnvironment.a \
+ $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/
+cp \
+ groupsock/include/*.hh \
+ groupsock/include/*.h \
+ liveMedia/include/*.hh \
+ UsageEnvironment/include/*.hh \
+ BasicUsageEnvironment/include/*.hh \
+ $VLCDEPSDIR/usr/include/
# Add DOCS to the vlcdeps to have it added to vlc package later:
mkdir -p $VLCDEPSDIR/doc/live555/
cp COPYING README \
@@ -1580,21 +1824,35 @@ make_mpcdec()
{
echo -e "**\n** libmpcdec ...\n**"
cd $TMP/tmp-$PRGNAM/libmpcdec-$MPCDEC
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-LDFLAGS="$SLKLDFLAGS" \
-./configure \
- --prefix=$VLCDEPSDIR/usr \
- --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
- --enable-static \
- --disable-shared \
- --program-prefix= \
- --program-suffix= \
- --build=$ARCH-slackware-linux \
- 2>&1 | tee $OUTPUT/configure-${PRGNAM}_mpcdec.log
+
+# Prevent a dependency on libreplaygain and libcuefile:
+sed -i \
+ -e 's,^add_subdirectory(mpcgain),,g' \
+ -e 's,^add_subdirectory(mpcchap),,g' \
+ CMakeLists.txt
+
+# We want to use our own CFLAGS please:
+sed -i \
+ -e 's/set(CMAKE_C_FLAGS "\(.*\)")$/add_definitions(\1)/' \
+ CMakeLists.txt
+
+mkdir build
+cd build
+ CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS" \
+ LDFLAGS="$SLKLDFLAGS" \
+ cmake .. \
+ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DSHARED=OFF \
+ 2>&1 | tee $OUTPUT/cmake-${PRGNAM}_mpcdec.log
make -j${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_mpcdec.log
# Install mpcdec into a temp location so vlc can pickup the library
-make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_mpcdec.log
+# (with the move to 'cmake', the install target does not work any longer):
+mkdir -p $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}
+install -m0644 libmpcdec/libmpcdec_static.a \
+ $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libmpcdec.a
# Add DOCS to the vlcdeps to have it added to vlc package later:
mkdir -p $VLCDEPSDIR/doc/libmpcdec/
cp AUTHORS COPYING ChangeLog README \
@@ -1630,7 +1888,8 @@ PATH="$VLCDEPSDIR/usr/bin:$PATH" \
2>&1 | tee $OUTPUT/configure-${PRGNAM}_dvdnav.log
make -j${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_dvdnav.log
# Install libdvdnav into a temp location so vlc can pickup the library
-make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dvdnav.log
+make install m4datadir=$VLCDEPSDIR/usr/share/aclocal \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dvdnav.log
# Make a symlink which vlc-20080730 needs:
( cd $VLCDEPSDIR/usr/include
ln -s dvdread libdvdread
@@ -1682,25 +1941,25 @@ make_dvdread()
echo -e "**\n** libdvdread ...\n**"
cd $TMP/tmp-$PRGNAM/libdvdread-$DVDREAD
+
+if [ "${USE_PATENTS}" == "YES" ]; then
+ # If we allow patented software, we also link libdvdcss statically into
+ # libdvdread. Otherwise, you can just install libdvdcss additionally
+ # and the dvdread library will find and load dvdcss support at runtime.
+ cat $SRCDIR/dvdread-css-static.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_dvdread.log
+ DO_CSS="--enable-libdvdcss"
+else
+ DO_CSS=""
+fi
+
./autogen.sh noconfig \
2>&1 | tee $OUTPUT/configure-${PRGNAM}_dvdread.log
-#if [ "${USE_PATENTS}" == "YES" ]; then
-# # If we allow patented software, we also link libdvdcss statically into
-# # libdvdread. Otherwise, you can just install libdvdcss additionally
-# # and the dvdread library will find and load dvdcss support at runtime.
-# cat $SRCDIR/libdvdread_static_dvdcss.patch | patch -p0 --verbose \
-# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_dvdread.log
-# DO_CSS="--with-libdvdcss=$VLCDEPSDIR/usr"
-#else
-# DO_CSS=""
-#fi
-## Unfortunately, I still cannot get dvdcss statically linked-in:
-DO_CSS=""
-
CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
CXXFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
LDFLAGS="-L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS" \
+PKG_CONFIG_PATH="$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
./configure \
--prefix=$VLCDEPSDIR/usr \
--libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
@@ -1714,7 +1973,8 @@ LDFLAGS="-L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS" \
make -j${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_dvdread.log
# Install libdvdread into a temp location so libdvdnav can pickup the library
echo -e "\n**\n**\n"
-make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dvdread.log
+make install m4datadir=$VLCDEPSDIR/usr/share/aclocal \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dvdread.log
# Add DOCS to the vlcdeps to have it added to vlc package later:
mkdir -p $VLCDEPSDIR/doc/libdvdread/
cp AUTHORS COPYING ChangeLog NEWS README TODO \
@@ -1722,6 +1982,7 @@ cp AUTHORS COPYING ChangeLog NEWS README TODO \
cd -
}
+
# -----------------------------------------------------------------------------
# Compile libcddb
# -----------------------------------------------------------------------------
@@ -1839,7 +2100,6 @@ LDFLAGS="$SLKLDFLAGS" \
--libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
--enable-static \
--disable-shared \
- --disable-debug \
--program-prefix= \
--program-suffix= \
--build=$ARCH-slackware-linux \
@@ -1928,10 +2188,12 @@ cd -
make_orc()
{
echo -e "**\n** orc ...\n**"
+
cd $TMP/tmp-$PRGNAM/orc-$ORC
## Make the static build succeed:
#cat $SRCDIR/orc-0.4.3_static.diff | patch -p1 --verbose \
# 2>&1 | tee $OUTPUT/patch-${PRGNAM}_orc.log
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
LDFLAGS="$SLKLDFLAGS" \
@@ -2100,6 +2362,7 @@ LDFLAGS="$SLKLDFLAGS" \
--program-suffix= \
--build=$ARCH-slackware-linux \
2>&1 | tee $OUTPUT/configure-${PRGNAM}_goom.log
+
make -j${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_goom.log
# Install libgoom into a temp location so vlc can pickup the library
make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_goom.log
@@ -2582,9 +2845,9 @@ make_kate()
echo -e "**\n** kate ...\n**"
cd $TMP/tmp-$PRGNAM/libkate-${KATE}
-## Compatibility patch for libpng14:
-#cat $SRCDIR/libkate_png14.patch | patch -p0 --verbose \
-# 2>&1 | tee $OUTPUT/patch-${PRGNAM}_kate.log
+# Compatibility patch for libpng14:
+cat $SRCDIR/libkate_png14.patch | patch -p0 --verbose \
+ 2>&1 | tee $OUTPUT/patch-${PRGNAM}_kate.log
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -2653,6 +2916,12 @@ make_lua()
echo -e "**\n** lua ...\n**"
cd $TMP/tmp-$PRGNAM/lua-${LUA}
+# Use 32-bits LUAC file format on all platforms. In other words,
+# 64-bits platform will support 32-bits LUAC files and reject 64-bits LUAC
+# files. This should ease cross-compilation and copying luac files manually.
+cat $SRCDIR/luac-32bits.patch | patch -p1 --verbose \
+ 2>&1 | tee $OUTPUT/patch-${PRGNAM}_lua.log
+
# Make it use our CFLAGS:
sed -i "s/-DLUA_USE_LINUX/\"-DLUA_USE_LINUX $SLKCFLAGS\"/g" src/Makefile
@@ -2689,7 +2958,7 @@ mkdir ${VLCDEPSDIR}/etc
export CFLAGS="$SLKCFLAGS"
export CPPFLAGS="$SLKCFLAGS"
-export LDFLAGS="$SLKLDFLAGS"
+export LDFLAGS="$SLKLDFLAGS -ljpeg"
make -j${NUMJOBS} -C lib LINKTYPE=static PREFIX=$VLCDEPSDIR/usr LIBDIR=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} SYSCONFDIR=$VLCDEPSDIR/etc 2>&1 | tee $OUTPUT/make-${PRGNAM}_v4l.log
# Strip the static lib to prevent linking errors in 64-bit,
# and fix the pkg-config file (to fix unresolved symbols in the plugin)
@@ -2762,6 +3031,9 @@ make install DESTDIR=$VLCDEPSDIR 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_libva.log
# the drivers in $(libdir)/va/drivers):
rm -f $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libva*.so*
rm -f $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libva*.la
+## Fix the pkgconfig file to get rid of unresolved symbols at link time:
+#sed -i -e "/^Libs:/s/$/ -ldl/" \
+# $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig/libva*.pc
# Add DOCS to the vlcdeps to have it added to vlc package later:
mkdir -p $VLCDEPSDIR/doc/libva/
cp COPYING $VLCDEPSDIR/doc/libva/ || true
@@ -2869,6 +3141,71 @@ cd -
# -----------------------------------------------------------------------------
+# Compile npapi-vlc
+# -----------------------------------------------------------------------------
+make_npapi()
+{
+echo -e "**\n** npapi ...\n**"
+cd $TMP/tmp-$PRGNAM/$PRGNAM2-${NPAPI}
+
+[ ! -x configure ] && ./autogen.sh 2>&1 | tee autogen-${PRGNAM}_npapi.log
+
+CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+CXXFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+LDFLAGS="-L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS" \
+PKG_CONFIG_PATH="$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --with-mozilla-sdk-path=$VLCDEPSDIR/usr/xulrunner-sdk \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_npapi.log
+make -j${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_npapi.log
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile libbluray
+# -----------------------------------------------------------------------------
+make_bluray()
+{
+echo -e "**\n** bluray ...\n**"
+cd $TMP/tmp-$PRGNAM/libbluray-${BLURAY}
+
+[ ! -x configure ] && sh bootstrap
+
+CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+CXXFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+LDFLAGS="-L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS" \
+PKG_CONFIG_PATH="$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --disable-examples \
+ --disable-debug \
+ --disable-bdjava \
+ --disable-shared \
+ --enable-static \
+ --disable-doxygen-doc \
+ --with-dlopen-crypto-libs \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$ARCH-slackware-linux \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_bluray.log
+make -j${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_bluray.log
+# Install libbluray into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_bluray.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libbluray/
+cp COPYING *.txt $VLCDEPSDIR/doc/libbluray/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
# VLC
# -----------------------------------------------------------------------------
make_vlc()
@@ -2916,52 +3253,12 @@ cd $TMP/tmp-$PRGNAM/${PRGNAM}-${SRCVER}
echo "" >$OUTPUT/patch-${PRGNAM}.log
# Configure a default Slackware TTF font:
-cat $SRCDIR/vlc-1.1.12_deffont.patch | patch -p1 --verbose \
+cat $SRCDIR/vlc-1.2_deffont.patch | patch -p1 --verbose \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
# Fix SDL header location:
sed -i -e "s#SDL_image.h#SDL/&#" -e "s#SDL.h#SDL/&#" $(grep -lr "SDL*.h" .)
-# Fix PLUGIN_PATH path for lib64
-sed -i -e 's#/lib/vlc#/usr/lib${LIBDIRSUFFIX}/vlc#g' vlc-config.in.in configure* \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-
-## Detection of libupnp needs some extra libs:
-#cat $SRCDIR/vlc-0.9.0_upnp.patch | patch -p1 --verbose \
-# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-
-## Fix compilation errors because of redefining gettext
-## (this patch is not needed on slackware > 12.2):
-#cat $SRCDIR/vlc-1.0.0_fixgettext.diff | patch -p1 --verbose \
-# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-
-# I want to be able to compile VLC on Slackware 12.2 (glibc 2.7):
-cat $SRCDIR/vlc-1.0.0_allow_older_glibc.diff | patch -p1 --verbose \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-
-# Fix fullscreen in KDE-4.3.3 and vlc-1.0.3:
-if [ "$VERSION" = "1.0.3" ]; then
- cat $SRCDIR/vlc-1.0.3_fixfullscreen.diff | patch -p1 --verbose \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-fi
-
-# Patch the dc1394 plugin (vlc 1.0.x) to use the new libdc1394 2.x API:
-if [ "$(echo $VERSION |cut -d. -f1-2)" = "1.0" ]; then
- cat $SRCDIR/vlc-1.0.3_ieee1394.diff | patch -p1 --verbose \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-fi
-
-# Fix youtube support in 1.1.11
-if [ "$VERSION" = "1.1.11" ]; then
- cat $SRCDIR/vlc-1.1.11_youtube.patch | patch -p1 --verbose \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-fi
-
-## Patch the dc1394 plugin (vlc 1.0.x) to use the new libdc1394 2.x API:
-## Allow older taglib versions (like the one in Slackware 13.0):
-#cat $SRCDIR/vlc_oldtaglib.diff | patch -p1 --verbose \
-# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-
# Only enable DLL loader on ELF ix86 platforms:
if [ "$ARCH" == "i486" -o "$ARCH" == "i686" ]; then
DO_LOADER="--enable-loader"
@@ -2976,37 +3273,47 @@ else
DO_FFMPEG_LIBS_PAT=""
fi
+## FFMPEG changed it's CPU flag definitions but VLC did not yet follow:
+#if grep -q FF_MM_MMX modules/stream_out/switcher.c ; then
+# cat $SRCDIR/vlc_ffmpeg_mm_api.patch | patch -p1 --verbose \
+# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
+#fi
+
+# Fix runtime errors about missing symbols:
+## vlc-cache-gen trips over at the end of the build, when we add LIBS
+## to avoid missing symbols in the avcodec plugin at runtime:
+if ! grep -q " -ldrm" ${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig/libavcodec.pc ; then
+ sed -i "/^Libs: /s/$/ -lva -lva-x11 -lX11 -lXext -lXfixes -ldrm/" \
+ ${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig/libavcodec.pc
+fi
+
# If we built a static projectM support library, let's use it properly:
if [ -d $VLCDEPSDIR/usr/share/vlc/projectM ]; then
sed -i -e "s#share/projectM#share/vlc/projectM#" \
$(grep -lr 'share/projectM' .)
sed -i -e "s#usr/share/fonts/truetype/ttf-dejavu#usr/share/fonts/TTF#" \
$(grep -lr 'usr/share/fonts/truetype/ttf-dejavu' .)
- ## This patch is no longer needed in 1.1.6 :
- #cat $SRCDIR/projectM_locale.patch | patch -p1 --verbose \
- # 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-fi
-
-# VLC 0.9.6 but also 0.9.9 needs to regenerate libtool (known bug)
-if ls m4/lt*.m4 1>/dev/null 2>/dev/null ; then
- rm -f m4/{lt,lib}*.m4; autoreconf -svif
fi
-# vlc checks eventfd availability in glibc rather awkwardly. Our glibc 2.7
-# implements the function but does not export it in a header. Still vlc thinks
-# it can make use of it. NOTE: with glibc 2.8 it will work... have to wait...
-sed -i -e 's/^#ifdef HAVE_EVENTFD/#ifdef HAVE_SYS_EVENTFD_H/' src/misc/objects.c
+## VLC 0.9.6 but also 0.9.9 needs to regenerate libtool (known bug)
+#if ls m4/lt*.m4 1>/dev/null 2>/dev/null ; then
+# rm -f m4/{lt,lib}*.m4; autoreconf -svif
+#fi
+#
+## vlc checks eventfd availability in glibc rather awkwardly. Our glibc 2.7
+## implements the function but does not export it in a header. Still vlc thinks
+## it can make use of it. NOTE: with glibc 2.8 it will work... have to wait...
+#sed -i -e 's/^#ifdef HAVE_EVENTFD/#ifdef HAVE_SYS_EVENTFD_H/' src/misc/objects.c
sh bootstrap
+PROJECTM_LIBS="-lprojectM $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libMilkdropPresetFactory.a $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libRenderer.a -lGLU -lGLEW -lGL" \
+PROJECTM2_LIBS="-lprojectM $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libMilkdropPresetFactory.a $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libRenderer.a -lGLU -lGLEW -lGL" \
CPPFLAGS="-I$VLCDEPSDIR/usr/include -I$VLCDEPSDIR/usr/include/xulrunner" \
CFLAGS="-I$VLCDEPSDIR/usr/include -I$VLCDEPSDIR/usr/include/xulrunner $SLKCFLAGS" \
CXXFLAGS="-I$VLCDEPSDIR/usr/include -I$VLCDEPSDIR/usr/include/xulrunner $SLKCFLAGS" \
LDFLAGS="-Wl,-Bsymbolic -L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS" \
-LIBS="-lva -lva-x11 -lX11 -lXext -lXfixes -ldrm" \
PKG_CONFIG_PATH="$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
-PROJECTM_LIBS="-lprojectM $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libMilkdropPresetFactory.a $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libRenderer.a -lGLU -lGLEW -lGL" \
-PROJECTM2_LIBS="-lprojectM $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libMilkdropPresetFactory.a $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libRenderer.a -lGLU -lGLEW -lGL" \
PATH="$VLCDEPSDIR/usr/bin:$PATH" \
./configure \
--prefix=/usr \
@@ -3018,11 +3325,10 @@ PATH="$VLCDEPSDIR/usr/bin:$PATH" \
--without-contrib \
--disable-rpath \
--disable-debug \
- --disable-static \
--disable-jack \
--disable-gnomevfs \
--disable-zvbi \
- --disable-snapshot \
+ --disable-switcher \
--enable-shared \
--enable-optimize-memory=no \
--enable-qt4 \
@@ -3033,23 +3339,19 @@ PATH="$VLCDEPSDIR/usr/bin:$PATH" \
--enable-dv \
--enable-dvbpsi \
--enable-dvdnav \
- --with-dvdnav-config-path=$VLCDEPSDIR/usr/bin \
--enable-vcdx \
--enable-libcddb \
+ --enable-projectm \
--enable-svg \
- --enable-svgalib \
--enable-telx \
--enable-libass \
- --enable-v4l \
--enable-caca \
--enable-aa \
- --enable-switcher \
--enable-upnp \
--enable-flac \
--enable-shout \
--enable-schroedinger \
--enable-live555 \
- --with-live555-tree=$TMP/tmp-$PRGNAM/live \
--enable-real \
--enable-realrtsp \
--enable-speex \
@@ -3065,8 +3367,6 @@ PATH="$VLCDEPSDIR/usr/bin:$PATH" \
--enable-avcodec \
--enable-avformat \
--enable-swscale \
- --enable-id3tag \
- ${DO_MOZPLUGIN} \
${DO_LOADER} \
--enable-run-as-root \
--program-prefix= \
@@ -3115,25 +3415,28 @@ PATH="$VLCDEPSDIR/usr/bin:$PATH" \
#--enable-release \
#--enable-libcdio \
#--enable-cddax \
+ #--disable-snapshot \
+ #--with-dvdnav-config-path=$VLCDEPSDIR/usr/bin \
+ #--enable-svgalib \
+ #--enable-v4l \
+ #--enable-id3tag \
+
# Now finds the required libraries without manual tweaking:
#AVCODEC_LIBS="-lavcodec -lbz2 -lz ${DO_FFMPEG_LIBS_PAT} -ldl -ltheora -lvorbisenc -lswscale -lavutil -lvorbis -lm -logg" \
#AVCODEC_CFLAGS="" \
-# At some time, I needed to remove access_mmap from vlc-config because that
-# caused my vlc to die after only a few seconds of playtime...
-# You can test this by adding "--no-file-mmap" as a parameter (or not) to vlc
-# if you did not strip access_mmap from vlc-config:
-#sed -i -e "s/access_mmap//" vlc-config
-
-# Force dtstofloat32 (back) in:
-if ! $(grep -q dtstofloat32 vlc-config) ; then
- sed -i -e "s/dtstospdif /dtstofloat32 dtstospdif /" vlc-config
-fi
-
# Now, we are ready for the compile:
make -j${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
+# If we are compiling the browser plugin, then we need to install to $VLCDEPSDIR
+if [ "$MOZPLUGIN" == "YES" ]; then
+ echo -e "\n**\n**\n" >> $OUTPUT/make-${PRGNAM}.log
+ make install DESTDIR=$VLCDEPSDIR 2>&1 | tee -a $OUTPUT/make-${PRGNAM}.log
+ # And remove the .la files because they confuse the plugin compilation.
+ rm $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libvlc*.la
+fi
+
cd $OLDDIR
}
@@ -3142,35 +3445,37 @@ cd $OLDDIR
# and creating the actual Slackware packages in $OUTPUT
# -----------------------------------------------------------------------------
-build_mozplugin()
+build_npapipkg()
{
-echo -e "**\n** mozplugin ...\n**"
-cd $TMP/tmp-$PRGNAM/${PRGNAM}-${SRCVER}
+echo -e "**\n** creating $PRGNAM2 package ...\n**"
+cd $TMP/tmp-$PRGNAM/$PRGNAM2-${NPAPI}
# Install the mozilla plugin:
mkdir -p $PKG2/usr/lib${LIBDIRSUFFIX}/mozilla/plugins/
-make -C projects/mozilla DESTDIR=$PKG2 install-strip
+make DESTDIR=$PKG2 install-strip
+
+# Add package documentation:
+mkdir -p $PKG2/usr/doc/$PRGNAM2-$NPAPI
+cp -a AUTHORS COPYING ChangeLog NEWS README $PKG2/usr/doc/$PRGNAM2-$NPAPI || true
+find $PKG2/usr/doc -type f -exec chmod 644 {} \;
+chown -R root:root $PKG2/usr/doc/$PRGNAM2-$NPAPI/*
mkdir -p $PKG2/install
cat $SRCDIR/slack-desc.$PRGNAM2 > $PKG2/install/slack-desc
-if [ -f $SRCDIR/slack-required.$PRGNAM2 ]; then
- cat $SRCDIR/slack-required.$PRGNAM2 > $PKG2/install/slack-required
-fi
+cat $SRCDIR/slack-required.$PRGNAM2 > $PKG2/install/slack-required
cd $PKG2
-makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${PRGNAM2}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}_${PRGNAM2}.log
+makepkg --linkadd y --chown n $OUTPUT/${PRGNAM2}-${NPAPI}-${ARCH}-${BUILD}${TAG}.${PKGTYPE} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}_${PRGNAM2}.log
cd $OUTPUT
-md5sum ${PRGNAM}-${PRGNAM2}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE} > ${PRGNAM}-${PRGNAM2}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE}.md5
+md5sum ${PRGNAM2}-${NPAPI}-${ARCH}-${BUILD}${TAG}.${PKGTYPE} > ${PRGNAM2}-${NPAPI}-${ARCH}-${BUILD}${TAG}.${PKGTYPE}.md5
cd -
-cat $PKG2/install/slack-desc | grep "^${PRGNAM}-${PRGNAM2}" > $OUTPUT/${PRGNAM}-${PRGNAM2}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
-if [ -f $PKG2/install/slack-required ]; then
- cat $PKG2/install/slack-required > $OUTPUT/${PRGNAM}-${PRGNAM2}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep
-fi
+cat $PKG2/install/slack-desc | grep "^${PRGNAM2}" > $OUTPUT/${PRGNAM2}-${NPAPI}-${ARCH}-${BUILD}${TAG}.txt
+cat $PKG2/install/slack-required > $OUTPUT/${PRGNAM2}-${NPAPI}-${ARCH}-${BUILD}${TAG}.dep
}
-build_slackpkg()
+build_vlcpkg()
{
-echo -e "**\n** building the package ...\n**"
+echo -e "**\n** building the $PRGNAM package ...\n**"
#
# Install all the needed stuff to the package dir
#
@@ -3178,10 +3483,6 @@ cd $TMP/tmp-$PRGNAM/${PRGNAM}-${SRCVER}
make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
-# Even though I modified vlc-config to exclude access_mmap from building, it
-# does get built... so now we remove it forcibly:
-#rm -f $PKG/usr/lib${LIBDIRSUFFIX}/vlc/access/libaccess_mmap_plugin.*
-
# We don't want the mozilla plugin here:
[ -d $PKG/usr/lib${LIBDIRSUFFIX}/mozilla ] && rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/mozilla
@@ -3216,7 +3517,8 @@ mkdir -p $PKG/install
cat <<EOINS > $PKG/install/doinst.sh
# Update the desktop database:
if [ -x usr/bin/update-desktop-database ]; then
- chroot . /usr/bin/update-desktop-database usr/share/applications 1> /dev/null 2> /dev/null
+ chroot . /usr/bin/update-desktop-database usr/share/applications > /dev/null
+2>&1
fi
# Update hicolor theme cache:
@@ -3273,7 +3575,7 @@ cp -a $VLCDEPSDIR/doc/* $PKG/usr/doc/$PRGNAM-$VERSION || true
cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
( cd $SRCDIR
tar -zcf $PKG/usr/doc/$PRGNAM-$VERSION/${PRGNAM}_slackware_patches.tar.gz \
- *.diff *.patch ltablex.sty
+ *.diff *.patch
)
find $PKG/usr/doc -type f -exec chmod 644 {} \;
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION/*
@@ -3359,8 +3661,10 @@ else
make_cddb
# DVD support:
- # I can not get dvdcss statically linked into libdvdread:
- #make_dvdcss
+ # Only use patented code if we are allowing it:
+ if [ "${USE_PATENTS}" == "YES" ]; then
+ make_dvdcss
+ fi
make_dvdread
make_dvdnav
@@ -3369,10 +3673,14 @@ else
make_theora
make_vpx
make_amr
+ make_amrwbenc
+ make_rtmp
+ make_gsm
# Only use patented code if we are allowing it:
if [ "${USE_PATENTS}" == "YES" ]; then
make_lame
make_faac
+ make_aacenc
fi
# ffmpeg uses the above static libraries:
@@ -3402,6 +3710,7 @@ else
make_tiger
make_lua
make_v4l
+ make_bluray
# Visualisations:
make_goom
@@ -3426,8 +3735,7 @@ if echo "$*" | grep -qw -- --wrapvlcdeps ; then
tar -jcf $OUTPUT/$PRGNAM-vlcdeps-$ARCH.tar.bz2 \
vlcdeps \
a52dec-$A52 \
- faad2-$FAAD2 \
- live
+ faad2-$FAAD2
echo "Created vlcdeps binary tarball in '$OUTPUT/$PRGNAM-vlcdeps-$ARCH.tar.bz2'..."
cd -
@@ -3435,11 +3743,14 @@ else
# Compile VLC using all the precompiled static libs in $VLCDEPSDIR :
make_vlc
- # Should we also build a package for the mozilla plugin?
+ # Wrap VLC into a Slackware package:
+ build_vlcpkg "$*"
+
+ # Should we also compile the mozilla plugin (npapi-vlc)?
if [ "$MOZPLUGIN" == "YES" ]; then
- build_mozplugin
+ ## Unfortunately we need to spam the root partition with the vlc package:
+ #upgradepkg --install-new $OUTPUT/${PRGNAM}-$(echo $VERSION |tr '-' '.')-${ARCH}-${BUILD}${TAG}.${PKGTYPE}
+ make_npapi
+ build_npapipkg
fi
-
- # Pack all this stuff into a Slackware package:
- build_slackpkg "$*"
fi