diff options
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 |
commit | a4de6560476136ed83632a5fd709e4eb604b805c (patch) | |
tree | 43d1b551a307139d675da4d55264e131f147e8d2 /vlc | |
parent | 94d0262be92e25408d5cf02dd36285fed611596f (diff) | |
download | asb-a4de6560476136ed83632a5fd709e4eb604b805c.tar.gz asb-a4de6560476136ed83632a5fd709e4eb604b805c.tar.xz |
Added daap, dirac, cddb, shout support
Diffstat (limited to 'vlc')
-rwxr-xr-x | vlc/build/vlc-1.0.SlackBuild | 259 |
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 |