summaryrefslogtreecommitdiffstats
path: root/vlc
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2007-04-05 23:46:40 +0000
committer Eric Hameleers <alien@slackware.com>2007-04-05 23:46:40 +0000
commita4de6560476136ed83632a5fd709e4eb604b805c (patch)
tree43d1b551a307139d675da4d55264e131f147e8d2 /vlc
parent94d0262be92e25408d5cf02dd36285fed611596f (diff)
downloadasb-a4de6560476136ed83632a5fd709e4eb604b805c.tar.gz
asb-a4de6560476136ed83632a5fd709e4eb604b805c.tar.xz
Added daap, dirac, cddb, shout support
Diffstat (limited to 'vlc')
-rwxr-xr-xvlc/build/vlc-1.0.SlackBuild259
1 files changed, 212 insertions, 47 deletions
diff --git a/vlc/build/vlc-1.0.SlackBuild b/vlc/build/vlc-1.0.SlackBuild
index 2762cd59..8be53c5d 100755
--- a/vlc/build/vlc-1.0.SlackBuild
+++ b/vlc/build/vlc-1.0.SlackBuild
@@ -38,6 +38,17 @@
#
# -----------------------------------------------------------------------------
+#
+# NOTE: this SlackBuild is a monster - it tries to wrap all dependencies to
+# vlc into the resulting package by building these deps as static libraries
+# and then in the final stage linking vlc against all the static libraries.
+# The resulting package has all the vlc functionality and does not depend on
+# any software that is not present in a standard full install of Slackware.
+# This makes my package quite different from all the other vlc builds that are
+# floating around on the Internet.
+# /Eric Hameleers/
+#
+
# --- INIT ---
# Set initial variables:
@@ -57,8 +68,11 @@ A52=0.7.4
AMRNB_FIXED=26073-510
AMR_FLOAT=26104-510
AMRWB_FLOAT=26204-510
+CDDB=1.3.0
#CDIO=0.78.2 << compile errors in vlc (paranoia_mode_t redefined)
CDIO=0.77
+DAAP=0.4.0
+DIRAC=0.6.0
DVDNAV=0.1.10
DVDREAD=0.9.7
DVDCSS=1.2.9
@@ -71,6 +85,7 @@ LIVE=2007.02.20
MATROSKA=0.8.1
MPCDEC=1.2.5
MPEG2DEC=0.4.1
+SHOUT=2.2.2
TWOLAME=0.3.10
VCD=0.7.21
#WXGTK=2.8.2 << does not work
@@ -179,6 +194,24 @@ SRCURL[20]="http://www.ecs.soton.ac.uk/~njh/twolame/twolame-$TWOLAME.tar.gz"
SOURCE[21]="$SRCDIR/libmpcdec-${MPCDEC}.tar.bz2"
SRCURL[21]="http://files.musepack.net/source/libmpcdec-${MPCDEC}.tar.bz2"
+# DAAP support (iTunes)
+SOURCE[22]="$SRCDIR/libopendaap-${DAAP}.tar.bz2"
+# This one seems not the right daap lib...:
+#SRCURL[22]="http://dl.sourceforge.net/daap/libopenndaap-${DAAP}.tar.bz2"
+SRCURL[22]="http://crazney.net/programs/itunes/files/libopendaap-${DAAP}.tar.bz2"
+
+# Dirac video codec support:
+SOURCE[23]="$SRCDIR/dirac-${DIRAC}.tar.gz"
+SRCURL[23]="http://dl.sourceforge.net/dirac/dirac-${DIRAC}.tar.gz"
+
+# CDDB lookups:
+SOURCE[24]="$SRCDIR/libcddb-${CDDB}.tar.bz2"
+SRCURL[24]="http://dl.sourceforge.net/libcddb/libcddb-${CDDB}.tar.bz2"
+
+# Act as a source client to Icecast/Shoutcast:
+SOURCE[25]="$SRCDIR/libshout-${SHOUT}.tar.gz"
+SRCURL[25]="http://downloads.us.xiph.org/releases/libshout/libshout-${SHOUT}.tar.gz"
+
##
## --- with a little luck, you won't have to edit below this point --- ##
@@ -312,7 +345,7 @@ LDFLAGS="$SLKLDFLAGS" \
--disable-shared \
--program-prefix="" \
--program-suffix="" \
- $ARCH-slackware-linux \
+ --build=$ARCH-slackware-linux \
2>&1 | tee $OUTPUT/configure-${PRGNAM}_lame.log
make 2>&1 | tee $OUTPUT/make-${PRGNAM}_lame.log
# Install lame into a temp location so ffmpeg can pickup the library
@@ -337,7 +370,7 @@ LDFLAGS="$SLKLDFLAGS" \
--disable-shared \
--program-prefix="" \
--program-suffix="" \
- $ARCH-slackware-linux \
+ --build=$ARCH-slackware-linux \
2>&1 | tee $OUTPUT/configure-${PRGNAM}_xvid.log
make 2>&1 | tee $OUTPUT/make-${PRGNAM}_xvid.log
# Install xvidcore into a temp location so ffmpeg can pickup the library
@@ -365,7 +398,7 @@ LDFLAGS="$SLKLDFLAGS" \
--disable-shared \
--program-prefix="" \
--program-suffix="" \
- $ARCH-slackware-linux \
+ --build=$ARCH-slackware-linux \
2>&1 | tee $OUTPUT/configure-${PRGNAM}_faac.log
make 2>&1 | tee $OUTPUT/make-${PRGNAM}_faac.log
# Install faac into a temp location so ffmpeg can pickup the library
@@ -484,7 +517,7 @@ LDFLAGS="$SLKLDFLAGS" \
--disable-shared \
--program-prefix="" \
--program-suffix="" \
- $ARCH-slackware-linux \
+ --build=$ARCH-slackware-linux \
2>&1 | tee $OUTPUT/configure-${PRGNAM}_faad2.log
make 2>&1 | tee $OUTPUT/make-${PRGNAM}_faad2.log
cd -
@@ -506,7 +539,7 @@ LDFLAGS="$SLKLDFLAGS" \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--program-prefix="" \
--program-suffix="" \
- $ARCH-slackware-linux \
+ --build=$ARCH-slackware-linux \
2>&1 | tee $OUTPUT/configure-${PRGNAM}_a52.log
make 2>&1 | tee $OUTPUT/make-${PRGNAM}_a52.log
cd -
@@ -577,7 +610,7 @@ LDFLAGS="$SLKLDFLAGS" \
--disable-shared \
--program-prefix="" \
--program-suffix="" \
- $ARCH-slackware-linux \
+ --build=$ARCH-slackware-linux \
2>&1 | tee $OUTPUT/configure-${PRGNAM}_mpeg2dec.log
make 2>&1 | tee $OUTPUT/make-${PRGNAM}_mpeg2dec.log
# Install mpeg2dec into a temp location so vlc can pickup the library
@@ -685,6 +718,31 @@ cd -
}
# -----------------------------------------------------------------------------
+# Compile libcddb
+# -----------------------------------------------------------------------------
+make_cddb()
+{
+echo -e "**\n** libcddb ...\n**"
+cd $TMP/tmp-$PRGNAM/libcddb-$CDDB
+CFLAGS="$SLKCFLAGS -I`pwd`/../vlcdeps/usr/include" \
+CXXFLAGS="$SLKCFLAGS -I`pwd`/../vlcdeps/usr/include" \
+LDFLAGS="$SLKLDFLAGS -I`pwd`/../vlcdeps/usr/lib" \
+./configure --prefix=/usr \
+ --enable-static \
+ --disable-shared \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_cddb.log
+make 2>&1 | tee $OUTPUT/make-${PRGNAM}_cddb.log
+# Install libcddb into a temp location so cdio and vlc can pickup the library
+echo -e "\n**\n**\n"
+make install DESTDIR=$TMP/tmp-$PRGNAM/vlcdeps \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_cddb.log
+cd -
+}
+
+# -----------------------------------------------------------------------------
# Compile libcdio
# -----------------------------------------------------------------------------
make_cdio()
@@ -703,7 +761,7 @@ PKG_CONFIG_PATH="`pwd`/../vlcdeps/usr/lib/pkgconfig" \
--disable-shared \
--enable-joliet \
--enable-rock \
- --enable-cddb \
+ --disable-cddb \
$DO_VCD \
--program-prefix="" \
--program-suffix="" \
@@ -771,6 +829,86 @@ cd -
}
# -----------------------------------------------------------------------------
+# Compile libdaap
+# -----------------------------------------------------------------------------
+make_daap()
+{
+echo -e "**\n** libdaap ...\n**"
+cd $TMP/tmp-$PRGNAM/libopendaap-$DAAP
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure --prefix=/usr \
+ --enable-static \
+ --disable-shared \
+ --disable-debug \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_daap.log
+make 2>&1 | tee $OUTPUT/make-${PRGNAM}_daap.log
+# Install libdaap into a temp location so vlc can pickup the library
+echo -e "\n**\n**\n"
+make install DESTDIR=$TMP/tmp-$PRGNAM/vlcdeps \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_daap.log
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile dirac
+# -----------------------------------------------------------------------------
+make_dirac()
+{
+echo -e "**\n** dirac ...\n**"
+cd $TMP/tmp-$PRGNAM/dirac-$DIRAC
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure --prefix=/usr \
+ --enable-static \
+ --disable-shared \
+ --disable-debug \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dirac.log
+make 2>&1 | tee $OUTPUT/make-${PRGNAM}_dirac.log
+# Install dirac into a temp location so vlc can pickup the library
+echo -e "\n**\n**\n"
+make install DESTDIR=$TMP/tmp-$PRGNAM/vlcdeps \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dirac.log
+# Or else the vlc build wil fail:
+mv $TMP/tmp-$PRGNAM/vlcdeps/usr/include/dirac/* \
+ $TMP/tmp-$PRGNAM/vlcdeps/usr/include/
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile libshout
+# -----------------------------------------------------------------------------
+make_shout()
+{
+echo -e "**\n** libshout ...\n**"
+cd $TMP/tmp-$PRGNAM/libshout-$SHOUT
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure --prefix=/usr \
+ --enable-static \
+ --disable-shared \
+ --program-prefix="" \
+ --program-suffix="" \
+ --build=$ARCH-slackware-linux \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_shout.log
+make 2>&1 | tee $OUTPUT/make-${PRGNAM}_shout.log
+# Install libshout into a temp location so vlc can pickup the library
+echo -e "\n**\n**\n"
+make install DESTDIR=$TMP/tmp-$PRGNAM/vlcdeps \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_shout.log
+cd -
+}
+
+# -----------------------------------------------------------------------------
# VLC
# -----------------------------------------------------------------------------
make_vlc()
@@ -779,10 +917,17 @@ echo -e "**\n** VLC ...\n**"
cd $TMP/tmp-$PRGNAM/${PRGNAM}-${VERSION}
# Configure a default Slackware TTF font:
-cat $SRCDIR/vlc_deffont.patch | sed "s#@@XPREFIX@@#$XPREF#" | patch -p1
+cat $SRCDIR/vlc_deffont.patch | sed "s#@@XPREFIX@@#$XPREF#" | patch -p1 \
+ 2>&1 | tee $OUTPUT/patch-${PRGNAM}.log
+
+# Fix support for recent versions of the dirac codec:
+# (see https://trac.videolan.org/vlc/changeset/19466)
+cat $SRCDIR/vlc-0.8.6a_dirac.patch | patch -p0 \
+ 2>&1 | tee $OUTPUT/patch-${PRGNAM}.log
# Fix PLUGIN_PATH path for lib64
sed -i -e 's|/lib/vlc|/usr/lib${LIBDIRSUFFIX}/vlc|g' vlc-config.in.in configure*
+
sh bootstrap
CFLAGS="$SLKCFLAGS -I`pwd`/../vlcdeps/usr/include" \
@@ -803,6 +948,7 @@ PKG_CONFIG_PATH="`pwd`/../vlcdeps/usr/lib/pkgconfig" \
--enable-libcdio \
--enable-cddax \
--enable-vcdx \
+ --enable-libcddb \
--enable-sdl \
--enable-svgalib \
--enable-ncurses \
@@ -826,6 +972,9 @@ PKG_CONFIG_PATH="`pwd`/../vlcdeps/usr/lib/pkgconfig" \
--enable-mpeg2 \
--enable-mpc \
--enable-twolame \
+ --enable-daap \
+ --enable-shout \
+ --enable-dirac \
--enable-faad \
--with-faad-tree=$TMP/tmp-$PRGNAM/faad2 \
--enable-a52 \
@@ -849,8 +998,6 @@ PKG_CONFIG_PATH="`pwd`/../vlcdeps/usr/lib/pkgconfig" \
# It did not pick up wxGTK with --enable-wxwidgets \
make 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
cd -
-# --enable-libcddb \
-# --enable-shout \
# --enable-dv \
# --enable-pvr \
# --enable-dvb \
@@ -866,46 +1013,13 @@ cd -
# --enable-goom \
}
-
# -----------------------------------------------------------------------------
-# OK - we wrapped the separate components into convenience functions
-# - now call them one by one:
+# This routine does all the work of setting up the package contents
+# and creating the actual Slackware package in $OUTPUT
# -----------------------------------------------------------------------------
-# CD/VCD image support:
-# Circular dependencies need these loops:
-make_cdio --without-vcd-info
-make_vcd
-make_cdio
-
-# DVD support:
-make_dvdnav
-make_dvdcss
-make_dvdread
-
-# Needed before ffmpeg:
-make_lame
-make_xvid
-make_faac
-
-# ffmpeg uses the above static libraries:
-make_ffmpeg
-
-# wxgtk is used for the vlc gui:
-make_wxgtk
-
-# Additional libraries that vlc will use:
-make_faad2
-make_a52
-make_live555
-make_matroska
-make_mpeg2dec
-make_mpcdec
-make_twolame
-
-# And finally, let vlc collect all of the above into one app:
-make_vlc || exit 1
-
+build_slackpkg()
+{
#
# Install all the needed stuff to the package dir
#
@@ -952,6 +1066,7 @@ cd -
# --- OWNERSHIP, RIGHTS ---
+chown -R root:root $PKG
chmod -R o-w $PKG
@@ -988,3 +1103,53 @@ if [ "$P1" = "--cleanup" ]; then
rm -rf $TMP/tmp-$PRGNAM
rm -rf $PKG
fi
+}
+
+# -----------------------------------------------------------------------------
+# OK - we wrapped the separate components into convenience functions
+# - now call them one by one:
+# -----------------------------------------------------------------------------
+
+# CD/VCD image support:
+# Circular dependencies need these loops:
+make_cdio --without-vcd-info
+make_vcd
+make_cdio
+
+# vlc wants this, but cdio chokes with "cannot find -lcddb" so build it after
+# cdio (which only used cddb for the cd-info binary which we don't use):
+make_cddb
+
+# DVD support:
+make_dvdnav
+make_dvdcss
+make_dvdread
+
+# Needed before ffmpeg:
+make_lame
+make_xvid
+make_faac
+
+# ffmpeg uses the above static libraries:
+make_ffmpeg
+
+# wxgtk is used for the vlc gui:
+make_wxgtk
+
+# Additional libraries that vlc will use:
+make_faad2
+make_a52
+make_live555
+make_matroska
+make_mpeg2dec
+make_mpcdec
+make_twolame
+make_daap
+make_shout
+make_dirac
+
+# And finally, let vlc collect all of the above into one app:
+make_vlc || exit 1
+
+# Pack all this stuff into a Slackware package:
+build_slackpkg