summaryrefslogtreecommitdiffstats
path: root/vlc2
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2018-01-02 21:19:27 +0000
committer Eric Hameleers <alien@slackware.com>2018-01-02 21:19:27 +0000
commiteae425b00f7474c8089c84604b3d4a5d3c1e4f32 (patch)
treef4f3c9fa7d01182e369a46e173bd55aa5e8ec9f7 /vlc2
parentf24b1a359ae5563a2da7c176dcee4d997f112882 (diff)
downloadasb-eae425b00f7474c8089c84604b3d4a5d3c1e4f32.tar.gz
asb-eae425b00f7474c8089c84604b3d4a5d3c1e4f32.tar.xz
vlc: fix hardware decoding in ffmpeg3 variant.
Diffstat (limited to 'vlc2')
-rwxr-xr-xvlc2/build/vlc2.SlackBuild4351
1 files changed, 4351 insertions, 0 deletions
diff --git a/vlc2/build/vlc2.SlackBuild b/vlc2/build/vlc2.SlackBuild
new file mode 100755
index 00000000..918d8494
--- /dev/null
+++ b/vlc2/build/vlc2.SlackBuild
@@ -0,0 +1,4351 @@
+#!/bin/bash
+# $Id$
+# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 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
+# the above copyright notice and this permission notice appear in all
+# copies.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+# -----------------------------------------------------------------------------
+#
+# Slackware SlackBuild script
+# ===========================
+# By: Eric Hameleers <alien@slackware.com>
+# For: vlc
+# Descr: multimedia player for various audio and video formats
+# URL: http://www.videolan.org/vlc/
+# Buildneeds: apache-ant
+# Needs: libdvdcss for playing encrypted DVDs
+# Changelog:
+# 0.8.6a-1: 15/Mar/2007 by Eric Hameleers <alien@slackware.com>
+# * Initial build.
+# 0.8.6b-1: 25/apr/2007 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# 0.8.6c-1: 04/sep/2007 by Eric Hameleers <alien@slackware.com>
+# * Update. Allow vlc to be built without patented code (lame/amr).
+# 0.8.6d-1: 12/dec/2007 by Eric Hameleers <alien@slackware.com>
+# * Update with a vulnerability bugfix. All external libraries
+# were updated to their most recent release.
+# This pkg adds support for firewire cameras, DV and DVB cards.
+# AMR audio codec is not supported in this build (I could not
+# create a vlc binary successfully).
+# Again, the resulting binary package requires no additional
+# non-Slackware packages, except for libdvdcss in case you want
+# to watch an encrypted DVD.
+# 0.8.6d-2: 29/jan/2008 by Eric Hameleers <alien@slackware.com>
+# * Disable building AMR. The 0.8.6d official release does
+# not have support for AMR audio codec re-added yet.
+# Also, add the AAC en/decoder to the PATENTED software.
+# Build with dll loader support only on 32bit platform.
+# 0.8.6e-1: 02/mar/2008 by Eric Hameleers <alien@slackware.com>
+# * New release fixes security issues.
+# 0.8.6e-2: 23/mar/2008 by Eric Hameleers <alien@slackware.com>
+# * Update libebml; new ffmpeg,live555 snapshots
+# 0.8.6f-1: 03/apr/2008 by Eric Hameleers <alien@slackware.com>
+# * New release (bugfixes). Also updated the snapshot for ffmpeg
+# 0.8.6f-2: 03/apr/2008 by Eric Hameleers <alien@slackware.com>
+# * Updated the snapshot for ffmpeg
+# 0.8.6g-1: 31/may/2008 by Eric Hameleers <alien@slackware.com>
+# * New release. Updated the snapshot for ffmpeg and live555,
+# updated libtheora.
+# 0.8.6h-1: 10/jun/2008 by Eric Hameleers <alien@slackware.com>
+# * New release. Repaired the broken matroska support (thanks to
+# Thomas Morper who submitted a fix for the SlackBuild.
+# 0.8.6h-2: 15/jun/2008 by Eric Hameleers <alien@slackware.com>
+# * Fixed the broken DTS audio codec support (did not play
+# 6 channel sound here)
+# 0.8.6h-3: 17/jun/2008 by Eric Hameleers <alien@slackware.com>
+# * Added Universal Plug'n'Play (upnp) client support.
+# Updated the live555 tarball to 20080605.
+# Updated the x264 snapshot- this now requires the yasm assembler
+# to be installed in order to compile successfully. If you don't
+# have/want that, set the variable REQUIRE_YASM to a value of "NO"
+# (see further down) so that the script will fall back to an older
+# x264 snapshot that does not require yasm to compile. Updated
+# libcdio to 0.80. Re-introduce AMR audio encoding to the package.
+# 0.8.6i-1: 09/jul/2008 by Eric Hameleers <alien@slackware.com>
+# * New release. Also updated to the new lame-3.98.
+# 0.9.1-1: 31/aug/2008 by Eric Hameleers <alien@slackware.com>
+# * The first in a new series of 0.9.x - these are source-only
+# releases for now, meaning that the developers are not yet
+# convinced 0.9.x is ready to replace 0.8.x.
+# Note that the vlc 0.9 releases fail to compile a static vlc.
+# According to the developers whis will not be fixed. Still, this
+# vlc package is without external dependencies as always ;-)
+# Updated lame to v3.89, speex to 1.2rc1 and libmpeg2 to 1.5.1.
+# Updated snapshots for ffmpeg to r14080; live555 to 2008.07.25;
+# started using libdvdread/libdvdnav releases from mplayerhq.hu.
+# For dirac video I now use the far better schroedinger instead
+# of the reference 'dirac' implementation.
+# I added documentation for all the libraries which I include.
+# Notes for package (re)builders:
+# The SlackBuild will by default use a static version of the Qt4
+# library. If you already have Qt4 installed, you may choose to
+# build vlc against that dynamic library; in that case run:
+# # STATIC_QT4=NO ./vlc.SlackBuild
+# to build your vlc package.
+# If you already have ffmpeg installed and want to use that, run
+# # STATIC_FFMPEG=NO ./vlc.SlackBuild
+# to build your vlc package.
+# Of course, if you have both QT4 and ffmpeg already available,
+# you can combine the above two commands to:
+# # STATIC_QT4=NO STATIC_FFMPEG=NO ./vlc.SlackBuild
+# Lastly, it is worth noting that building any recent X264
+# library fails with Slackware 12.1 (and earlier)'s nasm.
+# Either install yasm, or let the script automatically fall back
+# to an older version of the X264 like this:
+# # REQUIRE_YASM=NO ./vlc.SlackBuild
+# 0.9.2-1: 10/sep/2008 by Eric Hameleers <alien@slackware.com>
+# * Updated to 0.9.2
+# 0.9.3-1: 30/sep/2008 by Eric Hameleers <alien@slackware.com>
+# * Updated to 0.9.3
+# Fixed video playback thanks to phobos3576 of the slacky.eu
+# forum for finding the fix and Andrea Tornese for reporting it.
+# 0.9.4-1: 07/oct/2008 by Eric Hameleers <alien@slackware.com>
+# * Updated to 0.9.4. Added libass to render 'formatted'
+# subtitles. Updated live555 to 2008.09.02. Updated the ffmpeg
+# snapshot to 20081007. Now default to using dynamically linked
+# QT4 (requires that you install a QT4 package yourself
+# prior to compiling VLC!)
+# 0.9.5-1: 26/oct/2008 by Eric Hameleers <alien@slackware.com>
+# * Updated to 0.9.5. New snapshots for ffmpeg x264 added. QT4
+# compiled statically again because VLC is sensitive to the
+# version it builds against.
+# 0.9.5-2: 29/oct/2008 by Eric Hameleers <alien@slackware.com>
+# * Re-enable embedded video display. Thanks to Thomas Morper who
+# verified that this works reliably with vlc-0.9.5 and qt-4.4.3 !
+# 0.9.5-3: 05/nov/2008 by Eric Hameleers <alien@slackware.com>
+# * Updated libtheora to 1.0 and libcdio to 0.81
+# 0.9.6-1: 08/nov/2008 by Eric Hameleers <alien@slackware.com>
+# * New release. Updated ffmpeg/x264 snapshots.
+# 0.9.8-1: 02/dec/2008 by Eric Hameleers <alien@slackware.com>
+# * New release. Updated ffmpeg/x264/live555 versions. Added midi
+# playback support through fluidsynth
+# 0.9.8a-1: 04/dec/2008 by Eric Hameleers <alien@slackware.com>
+# * VLC bugfix release... also took the opportunity to fix *my*
+# broken build of the dca and fluidsynth modules.
+# 0.9.8a-2: 04/dec/2008 by Eric Hameleers <alien@slackware.com>
+# * Updated ffmpeg/x264 snapshots, and re-adding firewire support
+# 0.9.8a-3: 28/dec/2008 by Eric Hameleers <alien@slackware.com>
+# * Updated ffmpeg/x264 snapshots, made it build on x86_64 with the
+# help of Attila Craciun.
+# 20090307-1: 07/mar/2009 by Eric Hameleers <alien@slackware.com>
+# * Updated ffmpeg/x264/live55 snapshots, fix default font for
+# x86_64, fix DTS audio decoding on x86_64
+# 0.9.9.rc2-1:18/mar/2009 by Eric Hameleers <alien@slackware.com>
+# * Building the first release candidate.
+# 0.9.9.rc2-2:27/mar/2009 by Eric Hameleers <alien@slackware.com>
+# * Fix AAC decoding by removing "--with-drm"
+# 0.9.9-1: 27/mar/2009 by Eric Hameleers <alien@slackware.com>
+# * Try to fix ffmeg video decoding as well as upgrade to 0.9.9;
+# apply several fixes taken from 1.0.0-git to fix x264 encoding.
+# 1.0.0.pre2-1: 04/may/2009 by Eric Hameleers <alien@slackware.com>
+# * This is 1.0.0-pre2. I like it much more than the
+# 'stable' 0.9.x. Furthermore, DVD playback was broken in
+# my 0.9.9 package, so I needed to release an update.
+# 1.0.0.rc1-1: 11/may/2009 by Eric Hameleers <alien@slackware.com>
+# * The first release candidate for 1.0.0
+# 1.0.0.rc2-1: 26/may/2009 by Eric Hameleers <alien@slackware.com>
+# * The second release candidate for 1.0.0
+# 1.0.0.rc3-1: 09/jun/2009 by Eric Hameleers <alien@slackware.com>
+# * The third release candidate for 1.0.0
+# 1.0.0.rc4-1: 18/jun/2009 by Eric Hameleers <alien@slackware.com>
+# * The fourth release candidate for 1.0.0.
+# Also updated live plugin to 2009.06.02
+# 1.0.0-1: 06/jul/2009 by Eric Hameleers <alien@slackware.com>
+# * VLC 1.0.0 has been released!
+# 1.0.1-1: 28/jul/2009 by Eric Hameleers <alien@slackware.com>
+# * An update that fixes a realrtsp vulnerability. Also updated
+# x264/live555 snapshots and added support for lua playlist,
+# metafetcher and interface plugins. By default, this script
+# no longer links Qt4 statically and instead links against an
+# already installed Qt libray.
+# 1.0.1-2: 30/jul/2009 by Eric Hameleers <alien@slackware.com>
+# * Fix the swscale plugin
+# 1.0.2-1: 19/sep/2009 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# 1.0.3-1: 31/oct/2009 by Eric Hameleers <alien@slackware.com>
+# * Update. New version of the theora encoder.
+# Other upgrades: libkate, schroedinger.
+# Downgraded libraw1394 to 1.2.0 which is the last 1.x version
+# found on sourceforge, now that the original linux1394.org site
+# has disappeared (using new download URL too).
+# 1.0.3-2: 02/nov/2009 by Eric Hameleers <alien@slackware.com>
+# * Try to fix broken firewire support (libraw1394). Allow root to
+# run vlc.
+# 1.0.3-3: 13/nov/2009 by Eric Hameleers <alien@slackware.com>
+# * Fix the broken fullscreen in KDE-4.3.3; added a newer snapshot
+# for live555 and x264.
+# 1.0.3-4: 08/dec/2009 by Eric Hameleers <alien@slackware.com>
+# * Upgrade internal ffmpeg to latest SVN, and update the x86_64
+# assembler patch for ffmpeg to enable mmx/sse support which
+# (according to Thomas Morper who supplied the updated patch)
+# fixes choppy HD video playback. Disabled vdpau support because
+# that will not compile unless you have NVIDIA binary drivers
+# installed.
+# Also updated live555/x264 to their latest snapshots.
+# Switched to the GPL'ed opencore AMR codec (spin-off from
+# Google Android project).
+# 1.0.3-5: 10/dec/2009 by Eric Hameleers <alien@slackware.com>
+# * Make the dc1394 plugin work by patching VLC to use the new API.
+# 1.0.4-1: 11/dec/2009 by Eric Hameleers <alien@slackware.com>
+# * New release. The ffmpeg/x264 snapshots were updated.
+# 20091228-1: 28/dec/2009 by Eric Hameleers <alien@slackware.com>
+# * Test of git snapshot (1.1.git)
+# 1.1.0.pre3-1: 01/may/2010 by Eric Hameleers <alien@slackware.com>
+# * Update to git snapshot 1.1.0.pre3. Also updated ffmpeg, live555
+# and x264 snapshots. Fixed the ffmpeg checkout so that we can
+# control what version of swscale gets used. Fixed the checkout
+# of vlc so that we can get a snapshot from any date,
+# not just HEAD. Updated fluidsynth plugin to 1.1.1. Updated
+# libdvbpci plugin to 0.1.7.
+# Updated to schroedinger 1.0.9 which is finally on par with
+# the dirac codec's speed and quality. Added projectM
+# visualisation plugin and re-enabled ggi plugin.
+# Added support for VAAPI, i.e. GPU-accelerated playback of H264.
+# Fixed the qt4 build so that it is really isolated from any
+# pre-existing qt4 installation on your computer. Used an
+# internal xulrunner sdk to build the mozilla-plugin.
+# Copy all patches used by this script into the package's
+# documentation directory.
+# If you want to control what version of VLC to checkout of GIT,
+# you should use the VERSION variable (older script used SRCVER).
+# 1.1.0.pre4-1: 22/may/2010 by Eric Hameleers <alien@slackware.com>
+# * Update to git snapshot 1.1.0.pre4. Also updated ffmpeg and x264
+# snapshots. Changed from libv4l to v4l-utils.
+# 20100523-1: 23/may/2010 by Eric Hameleers <alien@slackware.com>
+# * Update VLC snapshot to one that supports the new Google VP8.
+# Also apply webm patches to the ffmpeg snapshot. VLC can now
+# playback .webm files (but not encode yet as far as I know).
+# 1.1.0.rc-1: 24/may/2010 by Eric Hameleers <alien@slackware.com>
+# * Update to the release candidate for 1.1.0. Fix VAAPI support
+# (now depends on external packages to supply the actual harware
+# drivers: libva (intel, als needed for nvidia & ati), and one of
+# vdpau-video (nvidia) or xvba-video (ati).
+# 1.1.0.rc-2: 25/may/2010 by Eric Hameleers <alien@slackware.com>
+# * Upgrade to final release candidate (yes, sounds weird) and fix
+# a bug in displaying DVD menus
+# 1.1.0.rc2-1:03/jun/2010 by Eric Hameleers <alien@slackware.com>
+# * Upgrade to 1.1.0 second release candidate.
+# Upgraded EBML/Matroska libraries to 0.8.0/0.9.0 (new release
+# after a long time).
+# 20100609-1: 09/jun/2010 by Eric Hameleers <alien@slackware.com>
+# * Update VLC snapshot to try and get rid of segfaults in the
+# VAAPI routines. Also updated ffmpeg (now fully supports VP8
+# codec, so no additional patching required anymore) and x264
+# libraries, and live555.
+# 1.1.0.rc3-1:11/jun/2010 by Eric Hameleers <alien@slackware.com>
+# * Upgrade to 1.1.0 third release candidate.
+# Unfortunately, I still see segfaults in VLC when VAAPI hardware
+# decoding support is activating by installing libva package...
+# 1.1.0.rc3-2:13/jun/2010 by Eric Hameleers <alien@slackware.com>
+# * Add a patch to fix the VAAPI segfaults. My debugger backtrace
+# allowed fenrir to spot and repair the bug.
+# 1.1.0.rc4-1:16/jun/2010 by Eric Hameleers <alien@slackware.com>
+# * Update to RC4 for the upcoming 1.1.0 release.
+# 1.1.0-1: 21/jun/2010 by Eric Hameleers <alien@slackware.com>
+# * Official release of vlc 1.1.0.
+# ffmpeg was updated to 0.6 (another official release, yay);
+# x264 and libvpx were updated to a recent snapshot;
+# libebml, libmatroska, libcdio and orc were upgraded to their
+# newest versions.
+# 20100714-1: 14/jul/2010 by Eric Hameleers <alien@slackware.com>
+# * Test build of what will be 1.1.1, with updated x264 and live555.
+# 1.1.1-1: 20/jul/2010 by Eric Hameleers <alien@slackware.com>
+# * Official release of vlc 1.1.1.
+# 1.1.3-1: 22/aug/2010 by Eric Hameleers <alien@slackware.com>
+# * Update to 1.1.3.
+# 1.1.5-1: 12/nov/2010 by Eric Hameleers <alien@slackware.com>
+# * New release.
+# Enabled ncurses support.
+# Updated ffmpeg/libva/live555/schroedinger/x264 libraries.
+# Updated the xulrunner SDK used to compile the browser plugin.
+# 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.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.
+# The set of internal libraries was again updated to their most
+# recent versions. If you miss any library that I should add,
+# let me know!
+# 2.0.1-1 17/mar/2012 by Eric Hameleers <alien@slackware.com>
+# * Update to 2.0.1 while keeping the internal dependencies
+# unchanged.
+# 2.0.2-1 27/jun/2012 by Eric Hameleers <alien@slackware.com>
+# * New release. Further updates to internal bluray, ffmpeg, lame,
+# and x264 libraries.
+# 2.0.3-1 25/jul/2012 by Eric Hameleers <alien@slackware.com>
+# * New release.
+# 2.0.4-1 18/oct/2012 by Eric Hameleers <alien@slackware.com>
+# * New release. Updates to internal Shout, aacenc, amrwbenc, amr,
+# lua, upnp, v4l, x264 libraries.
+# Stop using internal xulrunner SDK to build the browser plugin,
+# Slackware's own seamonkey can do this now.
+# 2.0.4-2 29/oct/2012 by Eric Hameleers <alien@slackware.com>
+# * Fix uPnP support by downgrading libupnp. Added opus encoder
+# support. Updated bluray, ffmpeg, vpx, x264 libraries.
+# 2.0.5-1 12/dec/2012 by Eric Hameleers <alien@slackware.com>
+# * Update. Rolled back the internal ffmpeg to snapshot r44967
+# (git 82db8ee) (pre-planar) until the bugs caused by FFmpeg's
+# planar audio changes are fixed.
+# 2.0.5-2 02/feb/2013 by Eric Hameleers <alien@slackware.com>
+# * Apply patch for VideoLAN-SA-1302 (critical vulnerability in
+# the ASF demuxer).
+# 2.0.6-1 08/apr/2013 by Eric Hameleers <alien@slackware.com>
+# * New release. Updates to the internal ffmpeg fribidi live555
+# libvpx and x264 libraries.
+# 2.0.6-2 12/apr/2013 by Eric Hameleers <alien@slackware.com>
+# * Fix the broken uPnP service discovery module which caused
+# audio stuttering in some videos.
+# 2.0.7-1 28/may/2013 by Eric Hameleers <alien@slackware.com>
+# * New release. Build fixes for ARM, new snapshots for libdvdread
+# and libdvdnav (now maintained by VideoLAN) and a new attempt at
+# static linking of DVDCSS.
+# 2.0.8-1 10/aug/2013 by Eric Hameleers <alien@slackware.com>
+# * New release.
+# 20130818-1 19/aug/2013 by Eric Hameleers <alien@slackware.com>
+# * Pre-release. Removed the internal v4l-utils since Slackware's
+# own is good enough. Many upgrades to internal libraries:
+# ffmpeg, fluidsynth, libass, libcdio, libdc1394, libdvbpsi,
+# libebml, libmatroska, libva, opus, orc, schroedinger,
+# vcdimager, vo-amrwbenc, x264.
+# 2.1.0-1 26/sep/2013 by Eric Hameleers <alien@slackware.com>
+# * New release: 2.1.0!
+# 2.1.1-1 16/nov/2013 by Eric Hameleers <alien@slackware.com>
+# * Bugfix release. Internal updates for ass, ffmpeg, matroska,
+# x264; added taglib to replace the old Slackware library.
+# 2.1.2-1 10/dec/2013 by Eric Hameleers <alien@slackware.com>
+# * New release. Enable 10-bit decoder in x624.
+# Updates to bluray, dvdnav, dvdread, ffmpeg, fribidi, live555,
+# opus, speex, x264.
+# 2.1.2-2 11/dec/2013 by Eric Hameleers <alien@slackware.com>
+# * Add VDPAU driver.
+# 2.1.2-3 13/dec/2013 by Eric Hameleers <alien@slackware.com>
+# * Fixed the unexpectedly introduced external dependency on
+# shared libvdpau libraries - vlc will now work again
+# even if you do not have libvdpau installed.
+# Also, fixed the (long) broken rtmp support.
+# 2.1.2-4 20/jan/2014 by Eric Hameleers <alien@slackware.com>
+# * Fixed stuttering video in digital video streams by reverting
+# to an older libdvbpsi source. Updated the ffmpeg snapshot.
+# 2.1.3-1 04/feb/2014 by Eric Hameleers <alien@slackware.com>
+# * New release with updates to internal live555 library and npapi
+# browser plugin.
+# I tried a more recent ffmpeg but that breaks mpeg4 playback
+# with vdpau gpu hardware decoding.
+# 2.1.4-1 26/feb/2014 by Eric Hameleers <alien@slackware.com>
+# * New release. No updates to internal libraries.
+# 2.1.5-1 02/aug/2014 by Eric Hameleers <alien@slackware.com>
+# * New release. Updates to internal libraries: ass, ffmpeg,
+# dvdnav, dvdread, live555, x264.
+# 2.2.0-1 27/feb/2015 by Eric Hameleers <alien@slackware.com>
+# * First release of 2.2.
+# New libraries: asdcplib, speexdsp, x262, x265.
+# Updates for ffmpeg, libass, libbluray, libdvbpsi, libdvdcss,
+# libdvdnav, libdvdread, libebml, libmatroska, libupnp, libvdpau,
+# live, orc, speex, vo-aacenc, x264.
+# 2.2.0-2 01/mar/2015 by Eric Hameleers <alien@slackware.com>
+# * Fix hardware video decoding for hybrid cards (thanks manciuleas)
+# 2.2.1-1 14/apr/2015 by Eric Hameleers <alien@slackware.com>
+# * New release.
+# 2.2.1-2 04/may/2015 by Eric Hameleers <alien@slackware.com>
+# * Rebuilt for -current where libkate would not compile.
+# 2.2.1-3 25/jun/2015 by Eric Hameleers <alien@slackware.com>
+# * Updates for ffmpeg, libbluray, libva, libvdpau to try and fix
+# performance & tearing issues on gpu-accelerated video playback.
+# 2.2.1-4 26/aug/2015 by Eric Hameleers <alien@slackware.com>
+# * Rebuilt for Slackware-current with updates to the internal
+# libbluray, ffmpeg, libva, live555 and vdpau libraries.
+# 2.2.2-1 10/feb/2016 by Eric Hameleers <alien@slackware.com>
+# * New release.
+# 2.2.2-2 22/feb/2016 by Eric Hameleers <alien@slackware.com>
+# * Rebuilt slackware-current version without Qt5 dependency.
+# 2.2.4-1 07/jul/2016 by Eric Hameleers <alien@slackware.com>
+# * Update. New versions of internal support libraries: x262,
+# opus, libva and libmpcdec.
+# 2.2.5.1-1 24/may/2017 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# 2.2.6-1 25/may/2017 by Eric Hameleers <alien@slackware.com>
+# * Update.
+# 2.2.6-2 26/oct/2017 by Eric Hameleers <alien@slackware.com>
+# * Rebuilt for -current to fix broken TLS support.
+# 2.2.8-1 29/nov/2017 by Eric Hameleers <alien@slackware.com>
+# * Update. New versions of internal support libraries:
+# bluray, dvbpsi, ebml, ffmpeg, lame, matroska, opus, ssh2,
+# vaapi, x262, x264, x265.
+# Removed: orc/schroedinger (no longer developed).
+# Removed: libggi (obsoleted, unsupported).
+# Removed: aacenc, faad2/faac libraries (not used anymore).
+# 2.2.8-2 06/dec/2017 by Eric Hameleers <alien@slackware.com>
+# * Add a switch "USE_FFMPEG3" which defaults to "NO" and add
+# back the code that adds the older ffmpeg2 engine to the vlc
+# package instead of using the new ffmpeg3 snapshot.
+# Use the following command to compile a package using the
+# ffmpeg3 libraries internally:
+# USE_FFMPEG3=YES ./vlc.SlackBuild
+# Note: using the ffmpeg3 branch seems to cause segfaults
+# in combination with hardware-assisted decoding.
+# 2.2.8-3 02/jan/2018 by Eric Hameleers <alien@slackware.com>
+# * Fix hardware decoding in ffmpeg3 variant.
+#
+# Run 'sh vlc.SlackBuild' to build a Slackware package.
+# The package (.txz) plus descriptive .txt file are created in /tmp .
+# Install using 'installpkg'.
+#
+# -----------------------------------------------------------------------------
+
+#
+# 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/
+#
+
+# -----------------------------------------------------------------------------
+# Set initial variables:
+
+PRGNAM=vlc
+PRGNAM2=npapi-vlc
+BUILD=${BUILD:-3}
+NPBUILD=${NPBUILD:-1}
+TAG=${TAG:-"alien"}
+
+PKGTYPE=${PKGTYPE:-"txz"}
+SLACKVER=${SLACKVER:-$(cat /etc/slackware-version| cut -d' ' -f2)}
+
+# VERSION value may be modified later!
+# * If VERSION is set to "HEAD" or to any value starting with "20",
+# (i.e. a "yyyymmdd" date format like "20100319") then you get
+# a git snapshot of the 'master' branch;
+# * A format of "branchname#" or "branchname#yymmdd" means you will get a
+# checkout from branch "branchname", optionally from the specified date.
+# * Else we look for the tarball for $VERSION in vlc's official releases.
+#
+# Hint: checkout at a certain date takes a snapshot at 00:00, not 23:59)
+#
+# Acceptible formats:
+#VERSION=${VERSION:-"2.0.8"}
+#VERSION=${VERSION:-"20130181"}
+#VERSION=${VERSION:-"HEAD"}
+#VERSION=${VERSION:-"master#20130818"}
+#VERSION=${VERSION:-"@1.1.0-bugfix#20120217"}
+#VERSION=${VERSION:-"master@git://git.videolan.org/vlc/vlc-2.1.git#20130818"}
+
+# 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.2.git"}
+
+VERSION=${VERSION:-"2.2.8"}
+
+DOCS="ABOUT-NLS AUTHORS COPYING HACKING INSTALL NEWS README THANKS"
+
+NUMJOBS=${NUMJOBS:--j7} # Number of parallel jobs for the compiler
+
+# Automatically determine the architecture we're building on:
+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 ) ;;
+ esac
+fi
+
+case "$ARCH" in
+ i?86) SLKCFLAGS="-O2 -march=${ARCH} -mtune=i686"
+ SLKLDFLAGS=""; LIBDIRSUFFIX=""
+ ;;
+ x86_64) SLKCFLAGS="-O2 -fPIC"
+ SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
+ ;;
+ armv7hl) SLKCFLAGS="-O2 -fPIC -march=armv7-a -mfpu=vfpv3-d16"
+ SLKLDFLAGS=""; LIBDIRSUFFIX=""
+ ;;
+ armv6hl) SLKCFLAGS="-O2 -march=armv6 -mfpu=vfp -mfloat-abi=hard"
+ SLKLDFLAGS=""; LIBDIRSUFFIX=""
+ ;;
+ armv5hl) SLKCFLAGS="-O2 -mthumb -march=armv5te -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=softfp"
+ SLKLDFLAGS=""; LIBDIRSUFFIX=""
+ ;;
+ *) SLKCFLAGS="-O2"
+ SLKLDFLAGS=""; LIBDIRSUFFIX=""
+ ;;
+esac
+
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
+# -----------------------------------------------------------------------------
+
+# -- PATENT ALERT! --
+# FFmpeg can be built with AAC encoding but this has patent & license issues.
+# You can build these patended algorithms into ffmpeg, and if you are an
+# ordinary end user, no one will bother you for using them.
+# For the binaries based on this SlackBuild that I distribute, it is a
+# different story. I am not allowed to distribute binary packages that
+# incorporate patented code. So here you go. My Slackware package was built
+# with "USE_PATENTS=NO" i.e. without using the AAC encoding libraries.
+#USE_PATENTS="NO"
+USE_PATENTS=${USE_PATENTS:-"YES"}
+USE_PATENTS=$(echo $USE_PATENTS | tr 'a-z' 'A-Z')
+
+# If you set REQUIRE_YASM to "NO" then the script won't refuse to build
+# VLC in case you don't have yasm installed (it is needed to
+# build x264 newer than the 20080301 snapshot). In this case, the script will
+# automatically 'downgrade' x264 to the 20080301-2245 snapshot.
+REQUIRE_YASM=${REQUIRE_YASM:-"YES"}
+REQUIRE_YASM=$(echo $REQUIRE_YASM | tr 'a-z' 'A-Z')
+
+# VLC uses Qt4 for its GUI.
+# Slackware 13.0 already has Qt4 installed, this will speed up
+# the compilation a lot, and create a smaller vlc package.
+# In that case, define STATIC_QT4="NO" to use the system version of Qt4.
+# If you want an all-in package (including static version of Qt4), then
+# define STATIC_QT4="YES":
+STATIC_QT4=${STATIC_QT4:-"NO"}
+STATIC_QT4=$(echo $STATIC_QT4 | tr 'a-z' 'A-Z')
+
+# VLC uses ffmpeg's avcodec for a lot of the AV processing.
+# If you already have ffmpeg installed, it will speed up the compilation,
+# and create a smaller vlc package, if you define STATIC_FFMPEG="NO":
+# Note: I _strongly_ suggest you compile ffmpeg statically!
+STATIC_FFMPEG=${STATIC_FFMPEG:-"YES"}
+STATIC_FFMPEG=$(echo $STATIC_FFMPEG | tr 'a-z' 'A-Z')
+
+# When compiling ffmpeg statically, use the ffmpeg2 branch by default.
+# Set this to "YES" to use a ffmpeg3 snapshot instead:
+USE_FFMPEG3=${USE_FFMPEG3:-"NO"}
+
+# You can disable building the Mozilla plugin by defining MOZPLUGIN="NO":
+MOZPLUGIN=${MOZPLUGIN:-"YES"}
+MOZPLUGIN=$(echo $MOZPLUGIN | tr 'a-z' 'A-Z')
+
+# Let VLC link dynamically to libva* and libvdpau if those are present:
+if pkg-config --exists libva 2>/dev/null ; then
+ STATIC_LIBVA=${STATIC_LIBVA:-"NO"}
+else
+ STATIC_LIBVA=${STATIC_LIBVA:-"YES"}
+fi
+
+# Explicitly enable pulseaudio or it will not be picked up by ffmpeg:
+if pkg-config --exists libpulse 2>/dev/null ; then
+ USE_PULSE="--enable-libpulse"
+else
+ USE_PULSE=""
+fi
+
+# -----------------------------------------------------------------------------
+# We're done with the initials. Let's move on:
+# -----------------------------------------------------------------------------
+
+# Dependent package versions
+if [ "${USE_FFMPEG3}" = "YES" -o "${USE_FFMPEG3}" = "yes" ]; then
+ FFMPEG=eaff5fc # ffmpeg3 git snapshot 06 dec 2017
+else
+ FFMPEG=cdb0225 # ffmpeg2 git snapshot 16 feb 2016
+fi
+A52=0.7.4
+AACENC=0.1.2
+AMRWBENC=0.1.3
+AMR=0.1.3
+ASDCPLIB=1.12.58
+ASS=0.13.6
+AVC1394=0.5.4
+BLURAY=1.0.1
+CDDB=1.3.2
+CDIO=0.90
+DAAP=0.4.0
+DC1394=2.2.1
+DCA=0.0.5
+DV=1.0.0
+DVBPSI=1.3.1
+DVDNAV=5.0.3
+DVDREAD=5.0.3
+DVDCSS=1.4.0
+EBML=1.3.5
+FAAC=1.28
+FLUID=1.1.6
+FRIBIDI=0.19.7
+GII=1.0.2
+GLEW=2.1.0
+GOOM=2k4-0
+GSM=1.0.16
+KATE=0.4.1
+LAME=3.100
+LIBVA=2.0.0
+LIVE=2016.02.22
+LUA=5.1.5
+MATROSKA=1.4.8
+MPCDEC=r481
+MPEG2DEC=0.5.1
+NPAPI=20171129
+OPUS=1.2.1
+PROJECTM=2.0.1
+QT4=4.8.7
+RAW1394=2.0.5
+SHOUT=2.4.1
+SPEEX=1.2.0
+SPEEXDSP=1.2rc3
+SSH2=1.4.3
+TAGLIB=1.11
+THEORA=1.1.1
+TIGER=0.3.4
+TWOLAME=0.3.13
+UPNP=1.6.19
+VCD=0.7.24
+VDPAU=1.1.1
+VPX=1.6.1
+X262=20171128
+X264=20171128-2245
+X265=2.5
+
+# Determine what X we're running (the modular X returns the prefix
+# in the next command, while older versions stay silent):
+XPREF=$(pkg-config --variable=prefix x11) || true
+[ "$XPREF" == "" ] && XPREF='/usr/X11R6'
+
+# Where do we look for sources?
+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-$PRGNAM2
+OUTPUT=${OUTPUT:-"/tmp"}
+
+# This is where we are going to temporarily install the dependencies:
+VLCDEPSDIR="$TMP/tmp-$PRGNAM/vlcdeps"
+
+# Building bluray plugin requires Apache Ant:
+if ! which ant 1>/dev/null 2>/dev/null ; then
+ echo "+++ ANT not present - the build will abort on compiling bluray support! +++"
+ echo "+++ Press Ctrl-C within 10 seconds, install 'apache-ant' and login again. +++"
+ sleep 10
+fi
+
+# Building the mozilla plugin requires the Sun Java SDK:
+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"
+ fi
+fi
+
+# ---------------------------------------------------------------------------
+# Source tarballs and source URLs.
+# Sources which are not patented should have SRCPAT[n]="NO"
+# Sources which are patented should have SRCPAT[n]="YES" which prevents then
+# from being downloaded and used if we build a patent-free package.
+# ---------------------------------------------------------------------------
+
+# VLC source
+if [ "$VERSION" == "HEAD" ]; then
+ # We check out git's HEAD:
+ BRANCH="master"
+ GITURI=${DEFGITURI}
+ SRCVER=$(date +%Y%m%d)
+ SRCURL[0]=""
+elif [ "$(echo $VERSION | cut -c1-2)" == "20" ]; then
+ # We check out git at a specific date:
+ BRANCH="master"
+ GITURI=${DEFGITURI}
+ SRCVER=$VERSION
+ SRCURL[0]=""
+elif [ "$(echo $VERSION| cut -d# -f2)" != "$VERSION" ]; then
+ # VERSION has a hashmark it it (branchname@gituri#datestamp)
+ BRANCH="$(echo $VERSION| cut -d# -f1 |cut -d@ -f1)"
+ GITURI="$(echo $VERSION| cut -d# -f1 |cut -d@ -f2-)"
+ SRCVER="$(echo $VERSION| cut -d# -f2)"
+ if [ "x$GITURI" = "x$BRANCH" -o "x$GITURI" = "x" ]; then
+ GITURI=${DEFGITURI}
+ fi
+ if [ "x$BRANCH" = "x" ]; then BRANCH="master" ; fi
+ if [ "x$SRCVER" = "x" ]; then SRCVER=$(date +%Y%m%d) ; fi
+ SRCURL[0]=""
+else
+ BRANCH=""
+ GITURI=""
+ SRCVER=$VERSION
+ SRCURL[0]="http://download.videolan.org/pub/videolan/${PRGNAM}/${SRCVER}/${PRGNAM}-${SRCVER}.tar.xz"
+fi
+SOURCE[0]="$SRCDIR/${PRGNAM}-${SRCVER}.tar.xz"
+SRCPAT[0]="NO"
+USE[0]="YES"
+
+# ffmpeg libraries
+SOURCE[1]="$SRCDIR/ffmpeg-${FFMPEG}.tar.xz"
+#SRCURL[1]="http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=${FFMPEG};sf=tgz"
+SRCURL[1]=""
+SRCPAT[1]="NO"
+USE[1]="YES"
+
+# AMR de/encoder libraries used in ffmpeg to encode 3GPP audio
+SOURCE[2]="$SRCDIR/opencore-amr-${AMR}.tar.gz"
+SRCURL[2]="http://downloads.sourceforge.net/opencore-amr/opencore-amr-${AMR}.tar.gz"
+SRCPAT[2]="NO"
+USE[2]="YES"
+
+# Lame is used for the audio in FLV videos; will statically link with ffmpeg
+SOURCE[3]="$SRCDIR/lame-$LAME.tar.gz"
+SRCURL[3]="http://downloads.sourceforge.net/lame/lame-$LAME.tar.gz"
+SRCPAT[3]="NO"
+USE[3]="YES"
+
+# Libtiger - A rendering library for Kate streams using Pango and Cairo
+SOURCE[4]="$SRCDIR/libtiger-${TIGER}.tar.gz"
+SRCURL[4]="http://libtiger.googlecode.com/files/libtiger-${TIGER}.tar.gz"
+SRCPAT[4]="NO"
+USE[4]="YES"
+
+# Lua - embedded interpreter for lua playlist, metafetcher and interface plugins
+SOURCE[5]="$SRCDIR/lua-${LUA}.tar.gz"
+SRCURL[5]="http://www.lua.org/ftp/lua-${LUA}.tar.gz"
+SRCPAT[5]="NO"
+USE[5]="YES"
+
+# Kate - a karaoke/text stream overlay codec
+SOURCE[6]="$SRCDIR/libkate-${KATE}.tar.gz"
+SRCURL[6]="http://libkate.googlecode.com/files/libkate-${KATE}.tar.gz"
+SRCPAT[6]="NO"
+USE[6]="YES"
+
+# DV video, used by most digital (firewire) camcorders:
+SOURCE[7]="$SRCDIR/libdv-${DV}.tar.gz"
+SRCURL[7]="http://downloads.sourceforge.net/libdv/libdv-${DV}.tar.gz"
+SRCPAT[7]="NO"
+USE[7]="YES"
+
+# Qt4 is used for the GUI - VLC will link statically against it
+SOURCE[8]="$SRCDIR/qt-x11-opensource-src-$QT4.tar.gz"
+SRCURL[8]="http://download.qt-project.org/archive/qt/$(echo $QT4 |cut -d. -f1,2)/${QT4}/qt-everywhere-opensource-src-${QT4}.tar.gz"
+SRCPAT[8]="NO"
+USE[8]="NO"
+
+# HEVC (X.265) codec:
+SOURCE[9]="$SRCDIR/x265-${X265}.tar.gz"
+SRCURL[9]="http://github.com/videolan/x265/archive/${X265}.tar.gz"
+SRCPAT[9]="NO"
+USE[9]="YES"
+
+# MPEG-2 Part 2 (X.262) codec:
+SOURCE[10]="$SRCDIR/x262-${X262}.tar.gz"
+SRCURL[10]=""
+SRCPAT[10]="NO"
+USE[10]="YES"
+
+# Matroska support:
+SOURCE[11]="$SRCDIR/libebml-$EBML.tar.xz"
+SRCURL[11]="http://dl.matroska.org/downloads/libebml/libebml-$EBML.tar.xz"
+SRCPAT[11]="NO"
+USE[11]="YES"
+
+SOURCE[12]="$SRCDIR/libmatroska-$MATROSKA.tar.xz"
+SRCURL[12]="http://dl.matroska.org/downloads/libmatroska/libmatroska-$MATROSKA.tar.xz"
+SRCPAT[12]="NO"
+USE[12]="YES"
+
+# libmpeg2
+SOURCE[13]="$SRCDIR/libmpeg2-$MPEG2DEC.tar.gz"
+SRCURL[13]="http://libmpeg2.sourceforge.net/files/libmpeg2-$MPEG2DEC.tar.gz"
+SRCPAT[13]="NO"
+USE[13]="YES"
+
+# DVD support:
+SOURCE[14]="$SRCDIR/libdvdnav-$DVDNAV.tar.bz2"
+SRCURL[14]="http://download.videolan.org/pub/videolan/libdvdnav/${DVDNAV}/libdvdnav-${DVDNAV}.tar.bz2"
+#SRCURL[14]=""
+SRCPAT[14]="NO"
+USE[14]="YES"
+
+SOURCE[15]="$SRCDIR/libdvdread-${DVDREAD}.tar.bz2"
+SRCURL[15]="http://download.videolan.org/pub/videolan/libdvdread/${DVDREAD}/libdvdread-${DVDREAD}.tar.bz2"
+#SRCURL[15]=""
+SRCPAT[15]="NO"
+USE[15]="YES"
+
+# CD media read/access support (including iso/cue/nrg formats):
+SOURCE[16]="$SRCDIR/libcdio-${CDIO}.tar.gz"
+SRCURL[16]="http://ftp.gnu.org/gnu/libcdio/libcdio-$CDIO.tar.gz"
+SRCPAT[16]="NO"
+USE[16]="YES"
+
+# Since www.vcdimager.org is down, we use a GNU videolan mirror:
+SOURCE[17]="$SRCDIR/vcdimager-${VCD}.tar.gz"
+SRCURL[17]="http://ftp.gnu.org/gnu/vcdimager/vcdimager-$VCD.tar.gz"
+SRCPAT[17]="NO"
+USE[17]="YES"
+
+# MP2 audio (de)coding support:
+SOURCE[18]="$SRCDIR/twolame-${TWOLAME}.tar.gz"
+SRCURL[18]="http://downloads.sourceforge.net/twolame/twolame-$TWOLAME.tar.gz"
+SRCPAT[18]="NO"
+USE[18]="YES"
+
+# Musepack (MPC) audio demuxing support:
+SOURCE[19]="$SRCDIR/libmpcdec-${MPCDEC}.tar.gz"
+SRCURL[19]="http://download.videolan.org/pub/contrib/musepack_src_${MPCDEC}.tar.gz"
+SRCPAT[19]="NO"
+USE[19]="YES"
+
+# GLEW needs to be compiled statically to prevent a clash in newer Slackware±
+SOURCE[20]="$SRCDIR/glew-${GLEW}.tgz"
+SRCURL[20]="http://downloads.sourceforge.net/glew/${GLEW}/glew-${GLEW}.tgz"
+SRCPAT[20]="NO"
+USE[20]="YES"
+
+# SFTP access through libssh2:
+SOURCE[21]="$SRCDIR/libssh2-${SSH2}.tar.gz"
+SRCURL[21]="http://www.libssh2.org/download/libssh2-${SSH2}.tar.gz"
+SRCPAT[21]="NO"
+USE[21]="YES"
+
+# CDDB lookups:
+SOURCE[22]="$SRCDIR/libcddb-${CDDB}.tar.bz2"
+SRCURL[22]="http://downloads.sourceforge.net/libcddb/libcddb-${CDDB}.tar.bz2"
+SRCPAT[22]="NO"
+USE[22]="YES"
+
+# Act as a source client to Icecast/Shoutcast:
+SOURCE[23]="$SRCDIR/libshout-${SHOUT}.tar.gz"
+SRCURL[23]="http://downloads.us.xiph.org/releases/libshout/libshout-${SHOUT}.tar.gz"
+SRCPAT[23]="NO"
+USE[23]="YES"
+
+# SPEEX is used by libshout and vlc:
+SOURCE[24]="$SRCDIR/speex-${SPEEX}.tar.gz"
+SRCURL[24]="http://downloads.us.xiph.org/releases/speex/speex-${SPEEX}.tar.gz"
+#SRCURL[24]="http://git.xiph.org/?p=speex.git;a=snapshot;h=${SPEEX};sf=tgz"
+SRCPAT[24]="NO"
+USE[24]="YES"
+
+# Goom, a visualisation library for audio player
+SOURCE[25]="$SRCDIR/goom-${GOOM}-src.tar.gz"
+SRCURL[25]="http://downloads.sourceforge.net/goom/goom-${GOOM}-src.tar.gz"
+SRCPAT[25]="NO"
+USE[25]="YES"
+
+# Taglib for audio files:
+SOURCE[26]="$SRCDIR/taglib-${TAGLIB}.tar.gz"
+SRCURL[26]="http://taglib.github.io/releases/taglib-${TAGLIB}.tar.gz"
+SRCPAT[26]="NO"
+USE[26]="YES"
+
+# X264 encoder - for H264/AVC video streams
+SOURCE[27]="$SRCDIR/x264-snapshot-${X264}-stable.tar.bz2"
+SRCURL[27]="https://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-${X264}-stable.tar.bz2"
+SRCPAT[27]="NO"
+USE[27]="YES"
+
+# The A52 decoder - aka AC3
+SOURCE[28]="$SRCDIR/a52dec-$A52.tar.gz"
+SRCURL[28]="http://liba52.sourceforge.net/files/a52dec-$A52.tar.gz"
+SRCPAT[28]="NO"
+USE[28]="YES"
+
+# Live555 support:
+SOURCE[29]="$SRCDIR/live.${LIVE}.tar.gz"
+SRCURL[29]="https://download.videolan.org/contrib/live555//live.${LIVE}.tar.gz"
+SRCPAT[29]="NO"
+USE[29]="YES"
+
+# Library needed to control IEEE 1394 (firewire-) based cameras
+SOURCE[30]="$SRCDIR/libraw1394-${RAW1394}.tar.gz"
+SRCURL[30]="http://downloads.sourceforge.net/libraw1394/libraw1394-${RAW1394}.tar.gz"
+SRCPAT[30]="NO"
+USE[30]="YES"
+
+SOURCE[31]="$SRCDIR/libdc1394-${DC1394}.tar.gz"
+SRCURL[31]="http://downloads.sourceforge.net/libdc1394/libdc1394-${DC1394}.tar.gz"
+SRCPAT[31]="NO"
+USE[31]="YES"
+
+SOURCE[32]="$SRCDIR/libavc1394-${AVC1394}.tar.gz"
+SRCURL[32]="http://downloads.sourceforge.net/libavc1394/libavc1394-${AVC1394}.tar.gz"
+SRCPAT[32]="NO"
+USE[32]="YES"
+
+# Library designed for decoding and generation of MPEG TS and DVB PSI tables.
+SOURCE[33]="$SRCDIR/libdvbpsi-${DVBPSI}.tar.bz2"
+SRCURL[33]="http://download.videolan.org/pub/libdvbpsi/${DVBPSI}/libdvbpsi-${DVBPSI}.tar.bz2"
+SRCPAT[33]="NO"
+USE[33]="YES"
+
+# a free DTS Coherent Acoustics decoder
+SOURCE[34]="$SRCDIR/libdca-${DCA}.tar.bz2"
+SRCURL[34]="http://download.videolan.org/pub/videolan/libdca/${DCA}/libdca-${DCA}.tar.bz2"
+SRCPAT[34]="NO"
+USE[34]="YES"
+
+# VAAPI for video hardware acceleration:
+SOURCE[35]="$SRCDIR/libva-${LIBVA}.tar.bz2"
+SRCURL[35]="https://github.com/01org/libva/releases/download/${LIBVA}/libva-${LIBVA}.tar.bz2"
+SRCPAT[35]="NO"
+USE[35]="YES"
+
+# Universal Plug'n'Play
+SOURCE[36]="$SRCDIR/libupnp-${UPNP}.tar.bz2"
+SRCURL[36]="http://downloads.sourceforge.net/pupnp/libupnp-${UPNP}.tar.bz2"
+SRCPAT[36]="NO"
+USE[36]="YES"
+
+# DAAP support (iTunes)
+SOURCE[37]="$SRCDIR/libopendaap-${DAAP}.tar.bz2"
+# This one seems not the right daap lib...:
+#SRCURL[37]="http://downloads.sourceforge.net/daap/libopenndaap-${DAAP}.tar.bz2"
+SRCURL[37]="http://crazney.net/programs/itunes/files/libopendaap-${DAAP}.tar.bz2"
+SRCPAT[37]="NO"
+USE[37]="YES"
+
+# Libass - portable library for SSA/ASS subtitles rendering
+SOURCE[38]="$SRCDIR/libass-$ASS.tar.xz"
+#SRCURL[38]="http://libass.googlecode.com/files/libass-$ASS.tar.xz"
+SRCURL[38]="https://github.com/libass/libass/releases/download/$ASS/libass-$ASS.tar.xz"
+SRCPAT[38]="NO"
+USE[38]="YES"
+
+# FluidSynth - midi playback
+SOURCE[39]="$SRCDIR/fluidsynth-${FLUID}.tar.bz2"
+SRCURL[39]="http://downloads.sourceforge.net/fluidsynth/fluidsynth-${FLUID}.tar.bz2"
+SRCPAT[39]="NO"
+USE[39]="YES"
+
+# opus codec:
+SOURCE[40]="$SRCDIR/opus-${OPUS}.tar.gz"
+SRCURL[40]="http://downloads.xiph.org/releases/opus/opus-${OPUS}.tar.gz"
+SRCPAT[40]="NO"
+USE[40]="YES"
+
+# projectM: visualisation plugin
+SOURCE[41]="$SRCDIR/projectM-${PROJECTM}-Source.tar.gz"
+SRCURL[41]="http://sourceforge.net/projects/projectm/files/${PROJECTM}/projectM-${PROJECTM}-Source.tar.gz/download"
+SRCPAT[41]="NO"
+USE[41]="YES"
+
+# Theora encoder/decoder libraries
+SOURCE[42]="$SRCDIR/libtheora-${THEORA}.tar.gz"
+SRCURL[42]="http://downloads.xiph.org/releases/theora/libtheora-${THEORA}.tar.gz"
+SRCPAT[42]="NO"
+USE[42]="YES"
+
+# GSM support:
+SOURCE[43]="$SRCDIR/gsm-$GSM.tar.gz"
+#SRCURL[43]="http://osxwinebuilder.googlecode.com/files/gsm-$GSM.tar.gz"
+SRCURL[43]="http://www.quut.com/gsm/gsm-$GSM.tar.gz"
+SRCPAT[43]="NO"
+USE[43]="YES"
+
+# Google's VP8 codec:
+SOURCE[44]="$SRCDIR/libvpx-${VPX}.tar.bz2"
+SRCURL[44]="http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-${VPX}.tar.bz2"
+#SRCURL[44]=""
+SRCPAT[44]="NO"
+USE[44]="YES"
+
+# AMR-WB encoder libraries used to encode 3GPP audio
+SOURCE[45]="$SRCDIR/vo-amrwbenc-${AMRWBENC}.tar.gz"
+SRCURL[45]="http://downloads.sourceforge.net/opencore-amr/vo-amrwbenc-${AMRWBENC}.tar.gz"
+SRCPAT[45]="NO"
+USE[45]="YES"
+
+# VisualOn AAC encoding library, for AAC (MP4 audio) encoding
+SOURCE[46]="$SRCDIR/vo-aacenc-$AACENC.tar.gz"
+SRCURL[46]="http://downloads.sourceforge.net/opencore-amr/vo-aacenc-$AACENC.tar.gz"
+SRCPAT[46]="YES"
+USE[46]="YES"
+
+# FAAC library, will be statically linked with ffmpeg
+SOURCE[47]="$SRCDIR/faac-$FAAC.tar.gz"
+SRCURL[47]="http://downloads.sourceforge.net/faac/faac-$FAAC.tar.gz"
+SRCPAT[47]="YES"
+USE[47]="YES"
+
+# speex dsp implementation:
+SOURCE[48]="$SRCDIR/speexdsp-${SPEEXDSP}.tar.gz"
+SRCURL[48]="http://downloads.us.xiph.org/releases/speex/speexdsp-${SPEEXDSP}.tar.gz"
+SRCPAT[48]="NO"
+USE[48]="YES"
+
+# The browser plugin source has been separated from VLC:
+SOURCE[49]="$SRCDIR/npapi-vlc-${NPAPI}.tar.gz"
+#SRCURL[49]="https://code.videolan.org/videolan/npapi-vlc/repository/archive.tar.gz?ref=${NPAPI}"
+SRCURL[49]=""
+SRCPAT[49]="NO"
+USE[49]="YES"
+
+# Bluray support library (for unencrypted content):
+SOURCE[50]="$SRCDIR/libbluray-${BLURAY}.tar.bz2"
+SRCURL[50]="https://download.videolan.org/pub/videolan/libbluray//${BLURAY}/libbluray-${BLURAY}.tar.bz2"
+SRCPAT[50]="NO"
+USE[50]="YES"
+
+# Unicode BiDirectional algorithm library, requirement for libass.
+SOURCE[51]="$SRCDIR/fribidi-${FRIBIDI}.tar.bz2"
+SRCURL[51]="http://fribidi.org/download/fribidi-${FRIBIDI}.tar.bz2"
+SRCPAT[51]="NO"
+USE[51]="YES"
+
+# VDPAU for video hardware acceleration:
+SOURCE[52]="$SRCDIR/libvdpau-${VDPAU}.tar.gz"
+SRCURL[52]="http://people.freedesktop.org/~aplattner/vdpau/libvdpau-${VDPAU}.tar.gz"
+SRCPAT[52]="NO"
+USE[52]="YES"
+
+# Library for AS-DCP files:
+SOURCE[53]="$SRCDIR/asdcplib-${ASDCPLIB}.tar.gz"
+SRCURL[53]="http://download.cinecert.com/asdcplib/asdcplib-${ASDCPLIB}.tar.gz"
+SRCPAT[53]="NO"
+USE[53]="YES"
+
+# CSS decoding- VLC can do without if you install an external libdvdcss package.
+SOURCE[54]="$SRCDIR/libdvdcss-${DVDCSS}.tar.bz2"
+SRCURL[54]="http://download.videolan.org/pub/libdvdcss/${DVDCSS}/libdvdcss-${DVDCSS}.tar.bz2"
+SRCPAT[54]="YES"
+USE[54]="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.
+src_checkout() {
+ # Param #1 : index in the SOURCE[] array.
+ # Param #2 : full path to where SOURCE[$1] tarball should be created.
+ # Determine the tarball extension:
+ PEXT=$(echo "${2}" | sed -r -e 's/.*[^.].(tar.xz|tar.gz|tar.bz2|tgz).*/\1/')
+ case "$PEXT" in
+ "tar.xz") TARCOMP="J" ;;
+ "tar.gz") TARCOMP="z" ;;
+ "tgz") TARCOMP="z" ;;
+ "tar.bz2") TARCOMP="j" ;;
+ *) echo "Archive can only have extension 'tar.xz', '.tar.gz' '.tar.bz2' or '.tgz'" ; exit 1 ;;
+ esac
+ case ${1} in
+ 0) # vlc-$SRCVER
+ mkdir vlc_temp_checkout_$$ \
+ && cd vlc_temp_checkout_$$
+
+ if [ "$VERSION" = "HEAD" -o "$VERSION" = "HEAD@" -o "$VERSION" = "master@" ]; then
+ # Checkout without downloading version history (fast!):
+ echo "Checking out HEAD from '$GITURI':"
+ git clone --depth=1 ${GITURI} vlc-${SRCVER}
+ else
+ # Checkout code from a certain branch and/or date; this will take a
+ # long time because we have to clone the complete git-repository first:
+ echo "Checking out $BRANCH at date $SRCVER from '$GITURI':"
+ git clone ${GITURI} vlc-${SRCVER} \
+ && cd vlc-${SRCVER} \
+ && git checkout $BRANCH \
+ && git checkout $(git rev-list -n 1 --before="`date -d $SRCVER`" $BRANCH) \
+ && cd ..
+ fi
+ chown -R root:root . \
+ && 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:
+ VERSION=${SRCVER}
+ ;;
+ 1) # We clone the git of ffmpeg at a certain hash:
+ mkdir ffmpeg-${FFMPEG} \
+ && cd ffmpeg-${FFMPEG} \
+ && git clone git://git.videolan.org/ffmpeg.git . \
+ && git checkout $FFMPEG \
+ && chown -R root:root . \
+ && cd .. \
+ && tar --exclude .git -${TARCOMP}cf ${2} ffmpeg-${FFMPEG}
+ rm -rf ffmpeg-${FFMPEG}
+ ;;
+ 10) # We clone the git of x262 at a certain date:
+ mkdir x262-${X262} \
+ && cd x262-${X262} \
+ && git clone git://git.videolan.org/x262.git . \
+ && git checkout $(git rev-list -n 1 --before="`date -d $X262`" master) \
+ && chown -R root:root . \
+ && cd .. \
+ && tar --exclude .git -${TARCOMP}cf ${2} x262-${X262}
+ rm -rf x262-${X262}
+ ;;
+ 14) # libdvdnav-$DVDNAV
+ # We clone the git of libdvdnav at a certain date:
+ mkdir libdvdnav-${DVDNAV} \
+ && cd libdvdnav-${DVDNAV} \
+ && git clone git://git.videolan.org/libdvdnav/ . \
+ && git checkout $(git rev-list -n 1 --before="`date -d $DVDNAV`" master) \
+ && chown -R root:root . \
+ && cd .. \
+ && tar --exclude .git -${TARCOMP}cf ${2} libdvdnav-${DVDNAV}
+ rm -rf libdvdnav-${DVDREAD}
+ ;;
+ 15) # libdvdread-$DVDREAD
+ # We clone the git of libdvdread at a certain date:
+ mkdir libdvdread-${DVDREAD} \
+ && cd libdvdread-${DVDREAD} \
+ && git clone git://git.videolan.org/libdvdread/ . \
+ && git checkout $(git rev-list -n 1 --before="`date -d $DVDREAD`" master)\
+ && chown -R root:root . \
+ && cd .. \
+ && tar --exclude .git -${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} \
+ && git clone git://review.webmproject.org/libvpx.git . \
+ && git checkout $(git rev-list -n 1 --before="`date -d $VPX`" master) \
+ && chown -R root:root . \
+ && cd .. \
+ && tar --exclude .git -${TARCOMP}cf ${2} libvpx-${VPX}
+ rm -rf libvpx-${VPX}
+ ;;
+ 48) # We clone the git of speexdsp at a certain date:
+ mkdir speexdsp-${SPEEXDSP} \
+ && cd speexdsp-${SPEEXDSP} \
+ && git clone https://git.xiph.org/speexdsp.git . \
+ && git checkout $(git rev-list -n 1 --before="`date -d $SPEEXDSP`" master) \
+ && chown -R root:root . \
+ && cd .. \
+ && tar --exclude .git -${TARCOMP}cf ${2} speexdsp-${SPEEXDSP}
+ rm -rf speexdsp-${SPEEXDSP}
+ ;;
+ 49) # We clone the git of npapi-vlc at a certain date:
+ mkdir npapi-vlc-${NPAPI} \
+ && cd npapi-vlc-${NPAPI} \
+ && git clone https://code.videolan.org/videolan/npapi-vlc.git . \
+ && git submodule update --init \
+ && 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}
+ ;;
+ 50) # 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
+}
+
+if [ "${USE_PATENTS}" == "YES" ]; then
+ echo ""
+ echo "**"
+ echo "** This build uses patented code (AAC encoder)"
+ echo "** Run the command 'USE_PATENTS=NO $0 $*' to avoid patent issues."
+ echo "**"
+ echo ""
+ sleep 1
+fi
+
+##
+## --- with a little luck, you won't have to edit below this point --- ##
+##
+
+# Exit the script on errors:
+set -e
+trap 'echo "$0 FAILED at line $LINENO!" | tee $OUTPUT/error-${PRGNAM}.log' ERR
+# Catch unitialized variables:
+set -u
+P1=${1:-1}
+
+# Create working directories:
+mkdir -p $TMP/tmp-$PRGNAM # location to build the source
+mkdir -p $PKG # place for the package to be built
+rm -rf $PKG/* # We always erase old package's contents:
+mkdir -p $OUTPUT # place for the package to be saved
+
+if [ "$P1" != "--oldbuild" -a "$P1" != "--download" ]; then
+ # If the "--oldbuild" parameter is present, we keep
+ # the old build files and continue;
+ # By default we remove the remnants of previous build and continue:
+ echo -e "**\n** Cleaning up old build ...\n**"
+ rm -rf $TMP/tmp-$PRGNAM/*
+ rm -f $OUTPUT/*${PRGNAM}*.log # Delete old logfiles
+fi
+
+# We may not need to download and unpack the Qt4 sources:
+if [ "$STATIC_QT4" != "NO" ]; then
+ echo "**"
+ echo "** Building with a static QT4..."
+ echo "**"
+ USE[9]="YES"
+fi
+
+# We may not need to download and unpack the ffmpeg sources:
+if [ "$STATIC_FFMPEG" != "YES" ]; then
+ echo "**"
+ echo "** Not building static FFMPEG plus dependencies..."
+ echo "**"
+ USE[1]="NO" # ffmpeg
+ USE[2]="NO" # opencore-amr
+ USE[3]="NO" # lame
+ USE[42]="NO" # theora
+ USE[43]="NO" # gsm
+ USE[44]="NO" # vpx
+ USE[45]="NO" # vo-amrwb
+ USE[46]="NO" # vo-aacenc
+ USE[47]="NO" # faac
+fi
+
+# Source file availability:
+for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do
+ # Do we actually use this source?
+ [ "${USE[$i]}" = "YES" ] || continue
+ # Only download patented code if we are allowing it:
+ if [ "${USE_PATENTS}" == "YES" -o "${SRCPAT[$i]}" != "YES" ]; then
+ if ! [ -f ${SOURCE[$i]} ]; then
+ echo "Source '$(basename ${SOURCE[$i]})' not available yet..."
+ # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
+ [ -w "$SRCDIR" ] || SOURCE[$i]="$OUTPUT/$(basename ${SOURCE[$i]})"
+ if ! [ "x${SRCURL[$i]}" == "x" ]; then
+ echo "Will download file to $(dirname $SOURCE[$i])"
+ if ! $(wget --no-check-certificate -nv -T 20 -O "${SOURCE[$i]}" "${SRCURL[$i]}"); then
+ echo "Downloading '$(basename ${SOURCE[$i]})' failed.. aborting the build."
+ mv -f "${SOURCE[$i]}" "${SOURCE[$i]}".FAIL
+ exit 1
+ fi
+ else
+ # Try if we have a SVN/CVS download routine for ${SOURCE[$i]}
+ echo "Will checkout sources to $(dirname $SOURCE[$i])"
+ src_checkout $i "${SOURCE[$i]}" 2>&1 |tee $OUTPUT/checkout-$(basename ${SOURCE[$i]}).log
+ fi
+ if [ ! -f "${SOURCE[$i]}" -o ! -s "${SOURCE[$i]}" ]; then
+ echo "File '$(basename ${SOURCE[$i]})' not available.. aborting the build."
+ exit 1
+ fi
+ fi
+ fi
+done
+
+if [ "$P1" == "--download" ]; then
+ echo "Download complete."
+ exit 0
+fi
+
+# Package building:
+echo "++"
+echo "|| $PRGNAM-$VERSION"
+echo "++"
+
+cd $TMP/tmp-$PRGNAM
+if [ "$P1" != "--oldbuild" ]; then
+ echo "Extracting the source archive(s) for $PRGNAM..."
+ for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do
+ # Do we actually use this source?
+ [ "${USE[$i]}" = "YES" ] || continue
+ # Only extract and use patented code if we are allowing it:
+ if [ "${USE_PATENTS}" == "YES" -o "${SRCPAT[$i]}" != "YES" ]; then
+ if $(file ${SOURCE[$i]} | grep -iq ": zip"); then
+ unzip ${SOURCE[$i]}
+ else
+ tar -xvf ${SOURCE[$i]}
+ fi
+ fi
+ done
+ chown -R root:root *
+ chmod -R u+w,go+r-w,a+X-s *
+fi
+
+# Building the source code:
+echo Building ...
+
+# We will be installing static libs into the following directory:
+mkdir -p $VLCDEPSDIR/usr/{bin,doc,include,lib${LIBDIRSUFFIX},man}
+
+# -----------------------------------------------------------------------------
+# Helper function to expose private libs:
+# -----------------------------------------------------------------------------
+pkg_static ()
+{
+PCFILE="$1"
+
+TEMPOUTL=$(mktemp -t alien.XXXXXX)
+TEMPOUTR=$(mktemp -t alien.XXXXXX)
+
+mv "${PCFILE}" "${PCFILE}.orig"
+touch "${PCFILE}"
+cat "${PCFILE}.orig" | while read LINE; do
+ lpub="${LINE#Libs:}"
+ lpriv="${LINE#Libs.private:}"
+ rpub="${LINE#Requires:}"
+ rpriv="${LINE#Requires.private:}"
+ if test "$lpub" != "$LINE"; then
+ echo "$lpub" >> $TEMPOUTL
+ elif test "$lpriv" != "$LINE"; then
+ echo "$lpriv" >> $TEMPOUTL
+ elif test "$rpub" != "$LINE"; then
+ echo "$rpub" >> $TEMPOUTR
+ elif test "$rpriv" != "$LINE"; then
+ echo "$rpriv" >> $TEMPOUTR
+ else
+ echo "$LINE" >> ${PCFILE}
+ fi
+done
+echo "Libs: $(echo $(cat $TEMPOUTL))" >> ${PCFILE}
+echo "Requires: $(echo $(cat $TEMPOUTR))" >> ${PCFILE}
+
+rm -f $TEMPOUTL $TEMPOUTR
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile theora libraries
+# The ffmpeg will use these
+# -----------------------------------------------------------------------------
+make_theora()
+{
+echo -e "**\n** theora ...\n**"
+cd $TMP/tmp-$PRGNAM/libtheora-${THEORA}
+
+# Don't build documentation and other crap:
+sed -i -e "s/doc tests / /" Makefile*
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --disable-examples \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_theora.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_theora.log
+# Install theora into a temp location so ffmpeg can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_theora.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libtheora/
+cp AUTHORS CHANGES COPYING LICENSE README \
+ $VLCDEPSDIR/doc/libtheora/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile lame libraries
+# The ffmpeg will use these
+# -----------------------------------------------------------------------------
+make_lame()
+{
+echo -e "**\n** lame ...\n**"
+cd $TMP/tmp-$PRGNAM/lame-${LAME}
+
+## Fix compiler error introduced by gcc-4.9 on 32-bit:
+#if [ "$(gcc --version|grep '^gcc'|cut -d' ' -f3|cut -d. -f1,2)" = "4.9" ]; then
+# case $(uname -m) in
+# i?86) sed -i -e '/xmmintrin\.h/d' configure ;;
+# esac
+#fi
+#
+## Fix compilation on x86 (xmmintrin.h error: inlining failed)
+#cat $SRCDIR/patches/lame_x86-xmmintrin.patch | patch -p1 --verbose \
+# 2>&1 | tee $OUTPUT/patch-${PRGNAM}_lame.log
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-mp3rtp \
+ --enable-nasm \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_lame.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_lame.log
+# Install lame into a temp location so ffmpeg can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_lame.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/lame/
+cp API COPYING ChangeLog* DEFINES HACKING LICENSE README* STYLEGUIDE TODO \
+ $VLCDEPSDIR/doc/lame/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile faac library
+# The ffmpeg will use these
+# -----------------------------------------------------------------------------
+make_faac()
+{
+echo -e "**\n** faac ...\n**"
+cd $TMP/tmp-$PRGNAM/faac-$FAAC
+
+# Newer gcc/glibc will bail out otherwise:
+cat $SRCDIR/patches/faac_gcc44.diff | patch -p1 --verbose \
+ 2>&1 | tee $OUTPUT/patch-${PRGNAM}_faac.log
+
+#sh bootstrap
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -std=gnu++98" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --with-mp4v2 \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_faac.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_faac.log
+# Install faac into a temp location so ffmpeg can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_faac.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/faac/
+cp AUTHORS COPYING ChangeLog NEWS README TODO \
+ $VLCDEPSDIR/doc/faac/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile aacenc library
+# The ffmpeg will use these
+# -----------------------------------------------------------------------------
+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=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_aacenc.log
+make ${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 amr wideband/narrowband library
+# The ffmpeg will use these
+# -----------------------------------------------------------------------------
+make_amr()
+{
+echo -e "**\n** amr ...\n**"
+cd $TMP/tmp-$PRGNAM/opencore-amr-${AMR}
+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=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_amr.log
+make ${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 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=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_amrwbenc.log
+make ${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 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 ${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 2.x with support for AMR, LAME, XVID, RTMP, ...
+# Later, we will statically link VLC to the generated libavcodec libraries
+# -----------------------------------------------------------------------------
+make_ffmpeg2()
+{
+echo -e "**\n** ffmpeg2 ...\n**"
+OLDDIR=$(pwd)
+cd $TMP/tmp-$PRGNAM
+# Take care of snaphot directory:
+if [ -d ffmpeg-export-* ]; then
+ rm -rf ffmpeg-${FFMPEG}
+ mv ffmpeg-export-* ffmpeg-${FFMPEG}
+fi
+
+# Only use patented code if we are allowing it:
+if [ "${USE_PATENTS}" == "YES" ]; then
+ USE_PATENTED="--enable-libfaac \
+ --enable-libvo-aacenc \
+ --enable-nonfree"
+else
+ USE_PATENTED=" "
+fi
+
+cd $TMP/tmp-$PRGNAM/ffmpeg-${FFMPEG}
+
+# Apply patches:
+touch $OUTPUT/patch-${PRGNAM}_ffmpeg.log
+# Adjust for the newer libvpx:
+cat $SRCDIR/patches/ffmpeg_vpx_removed_ids.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
+# Prevent a segfault:
+cat $SRCDIR/patches/ffmpeg_xwd_segfault.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
+
+if [ "$ARCH" = "x86_64" ]; then
+ ARCHOPTS="--arch=x86_64 --enable-pic"
+elif [ "$ARCH" = "armv7hl" ]; then
+ ARCHOPTS="--arch=arm --enable-pic --disable-runtime-cpudetect --cpu=cortex-a8 --enable-neon"
+else
+ ARCHOPTS=""
+fi
+
+# Stamp the version into the source:
+[ -f version.sh ] && sed -i -e "s/UNKNOWN/$FFMPEG/" version.sh
+
+TMPDIR="$TMP" \
+CFLAGS="$SLKCFLAGS --std=gnu99" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+PKG_CONFIG_PATH="${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --shlibdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ ${USE_PATENTED} \
+ ${USE_PULSE} \
+ --disable-avdevice \
+ --disable-avfilter \
+ --disable-avresample \
+ --disable-bsfs \
+ --disable-decoder=dca \
+ --disable-devices \
+ --disable-filters \
+ --disable-debug \
+ --disable-doc \
+ --disable-iconv \
+ --disable-programs \
+ --disable-shared \
+ --disable-swresample \
+ --enable-gpl \
+ --enable-version3 \
+ --enable-libgsm \
+ --enable-libmp3lame \
+ --enable-libopencore-amrnb \
+ --enable-libopencore-amrwb \
+ --enable-libtheora \
+ --enable-libvorbis \
+ --enable-libvo-amrwbenc \
+ --enable-libvpx \
+ --enable-pthreads \
+ --enable-hardcoded-tables \
+ --enable-static \
+ --enable-memalign-hack \
+ --enable-bzlib \
+ --enable-zlib \
+ $ARCHOPTS \
+ --extra-cflags="-I${VLCDEPSDIR}/usr/include" \
+ --extra-ldflags="-L${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX} -ldl" \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_ffmpeg.log
+
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_ffmpeg.log
+[ $? -ne 0 ] && return 1
+
+# Install ffmpeg into a temp location so vlc can pickup the libraries
+make install-libs install-headers \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_ffmpeg.log
+
+# If we compiled vaapi support:
+if [ ! -f $VLCDEPSDIR/usr/include/vaapi.h ]; then
+ cp libavcodec/vaapi.h $VLCDEPSDIR/usr/include/
+fi
+
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/ffmpeg/
+cp COPYING* CREDITS Changelog MAINTAINERS README \
+ $VLCDEPSDIR/doc/ffmpeg/ || true
+
+cd $OLDDIR
+
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile ffmpeg 3.x with support for AMR, LAME, XVID, RTMP, ...
+# Later, we will statically link VLC to the generated libavcodec libraries
+# -----------------------------------------------------------------------------
+make_ffmpeg()
+{
+echo -e "**\n** ffmpeg ...\n**"
+OLDDIR=$(pwd)
+cd $TMP/tmp-$PRGNAM
+# Take care of snaphot directory:
+if [ -d ffmpeg-export-* ]; then
+ rm -rf ffmpeg-${FFMPEG}
+ mv ffmpeg-export-* ffmpeg-${FFMPEG}
+fi
+
+# Only use patented code if we are allowing it:
+if [ "${USE_PATENTS}" == "YES" ]; then
+ USE_PATENTED="--enable-encoder=aac \
+ --enable-nonfree"
+else
+ USE_PATENTED="--disable-encoder=aac"
+fi
+
+cd $TMP/tmp-$PRGNAM/ffmpeg-${FFMPEG}
+
+# Apply patches:
+touch $OUTPUT/patch-${PRGNAM}_ffmpeg.log
+## Adjust for the newer libvpx:
+#cat $SRCDIR/patches/ffmpeg_vpx_removed_ids.patch | patch -p1 --verbose \
+# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
+## Prevent a segfault:
+#cat $SRCDIR/patches/ffmpeg_xwd_segfault.patch | patch -p1 --verbose \
+# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_ffmpeg.log
+
+if [ "$ARCH" = "x86_64" ]; then
+ ARCHOPTS="--arch=x86_64 --enable-pic"
+elif [ "$ARCH" = "armv7hl" ]; then
+ ARCHOPTS="--arch=arm --enable-pic --disable-runtime-cpudetect --cpu=cortex-a8 --enable-neon"
+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
+
+TMPDIR="$TMP" \
+CFLAGS="$SLKCFLAGS --std=gnu99" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+PKG_CONFIG_PATH="${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --shlibdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ ${USE_PATENTED} \
+ ${USE_PULSE} \
+ --disable-avdevice \
+ --disable-avfilter \
+ --disable-avisynth \
+ --disable-avresample \
+ --disable-bsfs \
+ --disable-encoder=vorbis \
+ --disable-decoder=opus \
+ --disable-devices \
+ --disable-filters \
+ --disable-debug \
+ --disable-doc \
+ --disable-iconv \
+ --disable-nvenc \
+ --disable-programs \
+ --disable-protocol=concat \
+ --disable-shared \
+ --disable-swresample \
+ --enable-gpl \
+ --enable-version3 \
+ --enable-libgsm \
+ --enable-libmp3lame \
+ --enable-libopencore-amrnb \
+ --enable-libopencore-amrwb \
+ --enable-libtheora \
+ --enable-libvorbis \
+ --enable-libvo-amrwbenc \
+ --enable-libvpx \
+ --enable-pthreads \
+ --enable-static \
+ --enable-bzlib \
+ --enable-zlib \
+ $ARCHOPTS \
+ --target-os=linux \
+ --extra-cflags="-I${VLCDEPSDIR}/usr/include" \
+ --extra-ldflags="-L${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX} -ldl" \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_ffmpeg.log
+
+ # Do not add '-fPIC -DPIC' to extra-cflags or "can't find
+ # a register in class 'GENERAL_REGS' while reloading 'asm'" occurs
+ # --enable-libogg \ Newer ffmpeg no longer need this.
+ # --enable-libxvid \ generates vlc linker errors, so we use ffmpeg's
+ # native xvid encoder implementation instead
+ #--enable-libvorbis \ # Use ffmpeg's native support
+ #--disable-vhook \
+ #--logfile=$OUTPUT/ffmpeg.conf.log \
+ # Remove this in 0.6.1 to avoid "error: libavcodec/cbrt_tables.h: No such file or directory"
+ # (compile issue has been fixed in ffmpeg-git but I'll stick to 0.6.1 for now):
+ # --enable-hardcoded-tables \
+ # Since vlc-1.1 this is no longer needed... neither is rtmpdump, becausee
+ # ffmpeg has an internal implementation:
+ #--disable-protocols \
+ #--disable-devices \
+ #--disable-network \
+ #--enable-librtmp \
+ # Let VLC do the hardware decoding:
+ #--enable-vaapi \
+ #--enable-vdpau \
+
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_ffmpeg.log
+[ $? -ne 0 ] && return 1
+
+# Install ffmpeg into a temp location so vlc can pickup the libraries
+make install-libs install-headers \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_ffmpeg.log
+
+# If we compiled vaapi support:
+if [ ! -f $VLCDEPSDIR/usr/include/vaapi.h ]; then
+ cp libavcodec/vaapi.h $VLCDEPSDIR/usr/include/
+fi
+
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/ffmpeg/
+cp COPYING* CREDITS Changelog MAINTAINERS README \
+ $VLCDEPSDIR/doc/ffmpeg/ || true
+
+cd $OLDDIR
+}
+
+# -----------------------------------------------------------------------------
+# Next, compile Qt4
+# We will link VLC statically to the generated libraries
+# -----------------------------------------------------------------------------
+make_qt4()
+{
+echo -e "**\n** Qt4 ...\n**"
+
+# If we build a static Qt4 gui, unset the QT-related environment variables,
+# so that a pre-existing Qt4 will not be picked up and create errors later:
+unset QTDIR
+unset QT4DIR
+unset QT5DIR
+NEWPATH="$VLCDEPSDIR/usr/bin"
+for elem in $(echo $PATH | cut -d: --output-delimiter=' ' -f1-) ; do
+ if ! $(echo "$elem"| grep -q /qt) ; then
+ NEWPATH="$NEWPATH:$elem"
+ fi
+done
+export PATH="$NEWPATH"
+
+cd $TMP/tmp-$PRGNAM/$(ls --indicator-style=none | grep qt-*-src-${QT4})
+
+export CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS"
+export CXXFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS"
+export OPENSOURCE_CXXFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS"
+export LDFLAGS="-L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS"
+export PKG_CONFIG_PATH="${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig"
+./configure \
+ -confirm-license \
+ -opensource \
+ -prefix $VLCDEPSDIR \
+ -libdir $VLCDEPSDIR/lib${LIBDIRSUFFIX} \
+ -release \
+ -static \
+ -fast \
+ -no-declarative \
+ -no-declarative-debug \
+ -no-exceptions \
+ -no-multimedia \
+ -no-opengl \
+ -no-stl \
+ -no-sql-sqlite \
+ -no-phonon \
+ -no-qt3support \
+ -no-qdbus \
+ -no-openssl \
+ -no-script \
+ -no-scripttools \
+ -no-webkit \
+ -no-gif \
+ -no-libmng \
+ -no-libtiff \
+ -qt-libpng \
+ -qt-libjpeg \
+ -qt-zlib \
+ -sse \
+ -nomake examples \
+ -nomake demos \
+ -nomake docs \
+ -no-separate-debug-info \
+ -no-pch \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_qt4.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_qt4.log || exit 1
+# With the above prefix we can install without INSTALL_ROOT; we need this
+# so the Qt4 binaries will be picked up by vlc's configure script:
+#make install INSTALL_ROOT=$VLCDEPSDIR \
+make install 2>&1 | tee $OUTPUT/install-${PRGNAM}_qt4.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/qt4/
+cp *GPL_EXCEPTION* FAQ* INSTALL KNOWN* LICENSE* README* \
+ $VLCDEPSDIR/doc/qt4/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# ADDITIONAL CODECS AND INPUT LIBRARIES FOR VLC
+# -----------------------------------------------------------------------------
+
+
+# -----------------------------------------------------------------------------
+# Compile a52 libraries
+# -----------------------------------------------------------------------------
+make_a52()
+{
+echo -e "**\n** a52 ...\n**"
+cd $TMP/tmp-$PRGNAM/a52dec-${A52}
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_a52.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_a52.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/a52dec/
+cp AUTHORS COPYING ChangeLog HISTORY INSTALL NEWS README TODO \
+ $VLCDEPSDIR/doc/a52dec/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile live555
+# -----------------------------------------------------------------------------
+make_live555()
+{
+echo -e "**\n** live555 ...\n**"
+cd $TMP/tmp-$PRGNAM/live
+
+# Force the use of our CFLAGS
+sed -i -e "s|-O2|${SLKCFLAGS}|g" config.linux
+
+# Be compatible with glibc >= 2.26:
+sed -i -e 's/#include <xlocale.h>.*/#include <locale.h>/' \
+ liveMedia/include/Locale.hh
+
+# Live555 is not useable with vlc unless linked statically.
+# We need this patch for the tarballs around end september 2009:
+if ! $(grep -q Bstatic config.linux) ; then
+ sed -i -e 's/\(LIBRARY_LINK =\).*/\1 $(LD) -o/g' \
+ -e 's/\(LIBRARY_LINK_OPTS =\).*/\1 $(LINK_OPTS) -r -Bstatic/g' \
+ config.linux
+fi
+./genMakefiles linux 2>&1 | tee $OUTPUT/configure-${PRGNAM}_live.log
+make ${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 \
+ $VLCDEPSDIR/doc/live555/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile ebml
+# -----------------------------------------------------------------------------
+make_ebml()
+{
+echo -e "**\n** ebml ...\n**"
+OLDDIR=$(pwd)
+cd $TMP/tmp-$PRGNAM/libebml-$EBML
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS -fexceptions" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_ebml.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_ebml.log
+# Install into a temp directory where vlc & matroska can pick it up:
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_ebml.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libebml/
+cp ChangeLog LICENSE.LGPL \
+ $VLCDEPSDIR/doc/libebml/ || true
+cd $OLDDIR
+}
+
+# -----------------------------------------------------------------------------
+# Compile matroska
+# -----------------------------------------------------------------------------
+make_matroska()
+{
+echo -e "**\n** matroska ...\n**"
+OLDDIR=$(pwd)
+cd $TMP/tmp-$PRGNAM/libmatroska-$MATROSKA
+export CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS"
+export CXXFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS"
+export LDFLAGS="-L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS"
+export PKG_CONFIG_PATH="${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig"
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_matroska.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_matroska.log
+# Install into a temp directory where vlc can pick it up:
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_matroska.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libmatroska/
+cp ChangeLog LICENSE.LGPL \
+ $VLCDEPSDIR/doc/libmatroska/ || true
+cd $OLDDIR
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile libmpeg2
+# -----------------------------------------------------------------------------
+make_libmpeg2()
+{
+echo -e "**\n** libmpeg2 ...\n**"
+cd $TMP/tmp-$PRGNAM/libmpeg2-$MPEG2DEC
+if [ ! -r configure ]; then
+ sh bootstrap
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_libmpeg2.log
+ #--without-x \
+ #--disable-sdl \
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_libmpeg2.log
+# Install libmpeg2 into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_mbpeg2.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libmpeg2/
+cp AUTHORS COPYING ChangeLog NEWS README TODO \
+ $VLCDEPSDIR/doc/libmpeg2/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile libmpcdec
+# -----------------------------------------------------------------------------
+make_mpcdec()
+{
+echo -e "**\n** libmpcdec ...\n**"
+cd $TMP/tmp-$PRGNAM/musepack_src_$MPCDEC
+
+# 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 -std=gnu++98" \
+ 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 ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_mpcdec.log
+ # Install mpcdec into a temp location so vlc can pickup the library
+ # (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
+cd -
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libmpcdec/
+cp libmpcdec/{AUTHORS,COPYING,ChangeLog,README} \
+ $VLCDEPSDIR/doc/libmpcdec/ || true
+}
+
+# -----------------------------------------------------------------------------
+# Compile libdvdnav
+# -----------------------------------------------------------------------------
+make_dvdnav()
+{
+echo -e "**\n** libdvdnav ...\n**"
+cd $TMP/tmp-$PRGNAM/libdvdnav-$DVDNAV
+
+autoreconf -vif
+
+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" \
+PATH="$VLCDEPSDIR/usr/bin:$PATH" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --disable-examples \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dvdnav.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_dvdnav.log
+# Install libdvdnav into a temp location so vlc can pickup the library
+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
+#)
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libdvdnav/
+cp AUTHORS COPYING ChangeLog NEWS README TODO \
+ $VLCDEPSDIR/doc/libdvdnav/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile libdvdcss
+# -----------------------------------------------------------------------------
+make_dvdcss()
+{
+echo -e "**\n** libdvdcss ...\n**"
+cd $TMP/tmp-$PRGNAM/libdvdcss-$DVDCSS
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --disable-doc \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dvdcss.log
+ # Shared library needed so that libdvdread can query the library
+ #--disable-shared \
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_dvdcss.log
+# Install libdvdcss into a temp location so libdvdread can pickup the library
+echo -e "\n**\n**\n"
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dvdcss.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libdvdcss/
+cp AUTHORS COPYING ChangeLog NEWS README \
+ $VLCDEPSDIR/doc/libdvdcss/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile libdvdread
+# -----------------------------------------------------------------------------
+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.
+ #CSS_LIBS="$VLCDEPSDIR/usr/lib$LIBDIRSUFFIX/libdvdcss.a -static" \
+ DO_CSS="--with-libdvdcss"
+else
+ #CSS_LIBS=""
+ DO_CSS=""
+fi
+
+# Remove offending line which does not get expanded by autoreconf:
+sed -i -e '/CC_CHECK_CFLAGS_APPEND/d' configure.ac
+# Fool it into not building apidocs and throwing errors as a result
+# (sub-optimal code guys... why remove "--disable-apidocs"):
+sed -i -e 's/\[doxygen\]/[doxygen_fubar]/' configure.ac
+
+if [ -x autogen.sh ]; then
+ ./autogen.sh noconfig \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dvdread.log
+else
+ autoreconf -vif \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dvdread.log
+fi
+
+#CSS_LIBS="${CSS_LIBS}" \
+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} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ ${DO_CSS} \
+ --build=$TARGET \
+ 2>&1 | tee -a $OUTPUT/configure-${PRGNAM}_dvdread.log
+# Prevent documentation from being generated:
+touch ChangeLog stamp-doxygen
+make ${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 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 \
+ $VLCDEPSDIR/doc/libdvdread/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile libcddb
+# -----------------------------------------------------------------------------
+make_cddb()
+{
+echo -e "**\n** libcddb ...\n**"
+cd $TMP/tmp-$PRGNAM/libcddb-$CDDB
+CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+CXXFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+LDFLAGS="-L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_cddb.log
+make ${NUMJOBS} 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 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_cddb.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libcddb/
+cp ABOUT-NLS AUTHORS COPYING ChangeLog NEWS README THANKS TODO \
+ $VLCDEPSDIR/doc/libcddb/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile libcdio
+# -----------------------------------------------------------------------------
+make_cdio()
+{
+echo -e "**\n** libcdio ...\n**"
+DO_VCD=${1:-" "}
+cd $TMP/tmp-$PRGNAM/libcdio-$CDIO
+## Patch that allows vlc to detect required libs for cdio:
+#cat $SRCDIR/patches/libcdio-0.80_Makefile.patch | patch -p0 --verbose \
+# 2>1 | tee -a $OUTPUT/patch-${PRGNAM}.log
+## Because of patching a .am file, need to reconf:
+#autoreconf -vif
+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} \
+ --enable-static \
+ --disable-shared \
+ --enable-joliet \
+ --enable-rock \
+ --disable-cddb \
+ $DO_VCD \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_cdio.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_cdio.log
+# Install libcdio into a temp location so vlc can pickup the library
+echo -e "\n**\n**\n"
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_cdio.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libcdio/
+cp ABOUT-NLS AUTHORS COPYING ChangeLog NEWS README* THANKS TODO \
+ $VLCDEPSDIR/doc/libcdio/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile libvcd
+# -----------------------------------------------------------------------------
+make_vcd()
+{
+echo -e "**\n** libvcd ...\n**"
+cd $TMP/tmp-$PRGNAM/vcdimager-$VCD
+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} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_vcd.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_vcd.log
+# Install libvcd into a temp location so vlc can pickup the library
+echo -e "\n**\n**\n"
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_vcd.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/vcdimager/
+cp AUTHORS BUGS COPYING ChangeLog* FAQ HACKING NEWS README THANKS TODO \
+ $VLCDEPSDIR/doc/vcdimager/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile twolame
+# -----------------------------------------------------------------------------
+make_twolame()
+{
+echo -e "**\n** twolame ...\n**"
+cd $TMP/tmp-$PRGNAM/twolame-$TWOLAME
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_twolame.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_twolame.log
+# Install twolame into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_twolame.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/twolame/
+cp AUTHORS COPYING ChangeLog README TODO \
+ $VLCDEPSDIR/doc/twolame/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile libdaap
+# -----------------------------------------------------------------------------
+make_daap()
+{
+echo -e "**\n** libdaap ...\n**"
+cd $TMP/tmp-$PRGNAM/libopendaap-$DAAP
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --disable-debug \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_daap.log
+make ${NUMJOBS} 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 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_daap.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libopendaap/
+cp AUTHORS COPYING ChangeLog NEWS README \
+ $VLCDEPSDIR/doc/libopendaap/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile libupnp
+# -----------------------------------------------------------------------------
+make_upnp()
+{
+echo -e "**\n** libupnp ...\n**"
+cd $TMP/tmp-$PRGNAM/libupnp-$UPNP
+
+touch $OUTPUT/patch-${PRGNAM}_upnp.log
+# Fix the compilation and avoid undefined symbols afterwards:
+cat $SRCDIR/patches/libupnp_miniserver.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_upnp.log
+# Fix some libupnp bugs:
+cat $SRCDIR/patches/libupnp_fix_infinite_loop.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_upnp.log
+
+CFLAGS="$SLKCFLAGS -DUPNP_STATIC_LIB" \
+CXXFLAGS="$SLKCFLAGS -DUPNP_STATIC_LIB" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-ipv6 \
+ --enable-static \
+ --disable-shared \
+ --disable-samples \
+ --disable-debug \
+ --disable-blocking_tcp_connections \
+ --without-documentation \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_upnp.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_upnp.log
+# Install libupnp into a temp location so vlc can pickup the library
+echo -e "\n**\n**\n"
+# The 'make install' will install into $VLCDEPSDIR :
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_upnp.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libupnp/
+cp AUTHORS COPYING ChangeLog LICENSE NEWS README THANKS TODO \
+ $VLCDEPSDIR/doc/libupnp/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile speex codec
+# -----------------------------------------------------------------------------
+make_speex()
+{
+echo -e "**\n** speex ...\n**"
+cd $TMP/tmp-$PRGNAM/speex-$SPEEX
+
+## We are using a git tarball now, we need to accommodate a bit:
+#cat $SRCDIR/patches/speex_automake.patch | patch -p1 --verbose \
+# 2>&1 | tee $OUTPUT/patch-${PRGNAM}_speex.log
+#cat $SRCDIR/patches/speex_no-ogg.patch | patch -p1 --verbose \
+# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_speex.log
+#
+#autoreconf -vif
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --disable-binaries \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_speex.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_speex.log
+# Install speex into a temp location so libshout and vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_speex.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/speex/
+cp AUTHORS COPYING ChangeLog NEWS README* TODO \
+ $VLCDEPSDIR/doc/speex/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile speex dsp
+# -----------------------------------------------------------------------------
+make_speexdsp()
+{
+echo -e "**\n** speexdsp ...\n**"
+cd $TMP/tmp-$PRGNAM/speexdsp-$SPEEXDSP
+
+touch $OUTPUT/configure-${PRGNAM}_speexdsp.log
+
+mkdir -p m4
+autoreconf -vif \
+ 2>&1 | tee -a $OUTPUT/configure-${PRGNAM}_speexdsp.log
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --enable-resample-full-sinc-table \
+ --disable-examples \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee -a $OUTPUT/configure-${PRGNAM}_speexdsp.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_speexdsp.log
+# Install speexdsp into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_speexdsp.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/speexdsp/
+cp AUTHORS* COPYING ChangeLog NEWS README* TODO \
+ $VLCDEPSDIR/doc/speexdsp/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile libshout
+# -----------------------------------------------------------------------------
+make_shout()
+{
+echo -e "**\n** libshout ...\n**"
+cd $TMP/tmp-$PRGNAM/libshout-$SHOUT
+CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+CPPFLAGS="-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} \
+ --enable-speex \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_shout.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_shout.log
+# Install libshout into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_shout.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libshout/
+cp COPYING NEWS README \
+ $VLCDEPSDIR/doc/libshout/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile goom
+# -----------------------------------------------------------------------------
+make_goom()
+{
+echo -e "**\n** goom ...\n**"
+# First, fix a blatant bug in the archive:
+find $TMP/tmp-$PRGNAM/goom${GOOM} -type d -exec chmod 755 {} \;
+cd $TMP/tmp-$PRGNAM/goom${GOOM}
+
+# I think MMX is crashing the goom plugin on 32-bit:
+cat $SRCDIR/patches/goom-2k4-0.nommx.patch | patch -p1 --verbose \
+ 2>&1 | tee $OUTPUT/patch-${PRGNAM}_goom.log
+
+# Do not install the xmms plugin to the root filesystem:
+cat $SRCDIR/patches/goom2k4-xmmslibdir.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_goom.log
+
+# Do not build the xmms plugin in the first place (GTK related errors):
+cat $SRCDIR/patches/goom-2k4-0.noxmms.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_goom.log
+
+# Eliminate a double include:
+sed -i \
+ -e "/^goom2_library_include_HEADERS =/s/goom_tools.h //g" \
+ -e "/^goom2_library_include_HEADERS =/s/$/ goom_tools.h/" \
+ src/Makefile.am
+
+# Squash the automake errors:
+autoreconf -vif -I m4
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_goom.log
+
+make ${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
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/goom/
+cp AUTHORS COPYING ChangeLog KNOWNBUGS NEWS README \
+ $VLCDEPSDIR/doc/goom/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile glew
+# -----------------------------------------------------------------------------
+make_glew()
+{
+echo -e "**\n** glew ...\n**"
+cd $TMP/tmp-$PRGNAM/glew-${GLEW}
+
+CFLAGS="$SLKCFLAGS -DGLEW_STATIC" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+ make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_glew.log
+# Install libGLEW into a temp location so vlc can pickup the library
+make GLEW_DEST=$VLCDEPSDIR/usr install \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_glew.log
+# We must get rid of these:
+rm $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libGLEW.so*
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/glew/
+cp LICENSE* README* doc/* \
+ $VLCDEPSDIR/doc/glew/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile projectM
+# -----------------------------------------------------------------------------
+make_projectm()
+{
+echo -e "**\n** projectm ...\n**"
+cd $TMP/tmp-$PRGNAM/projectM-${PROJECTM}-Source
+
+touch $OUTPUT/patch-${PRGNAM}_projectm.log
+# Fix linking - get rid of unresolved symbols at runtime:
+cat $SRCDIR/patches/projectM_static.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_projectm.log
+# Fix building with gcc 6 and higher:
+cat $SRCDIR/patches/projectM-${PROJECTM}_gcc.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_projectm.log
+
+# We need to redefine the presets etc path:
+sed -i -e "s#share/projectM#share/vlc/projectM#" $(grep -lr 'share/projectM' .)
+
+mkdir build
+cd build
+ # I would need this to statically link to my libGLEW.a however it causes symbol errors:
+ # libprojectM.a(projectM.cpp.o): relocation R_X86_64_32S against `_ZTV8projectM' can not be used when making a shared object; recompile with -fPIC
+ #CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+ #CPPFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+ #LDFLAGS="-L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS" \
+ #PKG_CONFIG_PATH="$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
+ CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS" \
+ LDFLAGS="$SLKLDFLAGS" \
+ cmake \
+ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
+ -DUSE_FTGL:BOOL=OFF \
+ -DUSE_NATIVE_GLEW:BOOL=OFF \
+ -DINCLUDE-PROJECTM-LIBVISUAL:BOOL=OFF \
+ -DINCLUDE-PROJECTM-PULSEAUDIO:BOOL=OFF \
+ -DINCLUDE-PROJECTM-QT:BOOL=OFF \
+ -DDISABLE_NATIVE_PRESETS:BOOL=ON \
+ -DBUILD_PROJECTM_STATIC:BOOL=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ .. \
+ 2>&1 | tee $OUTPUT/cmake-${PRGNAM}_projectm.log
+ make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_projectm.log
+ # Install projectm into a temp location so vlc can pickup the library
+ make install DESTDIR=$VLCDEPSDIR \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_projectm.log
+ ## These are being forgotten...
+ cp Renderer/libRenderer.a MilkdropPresetFactory/libMilkdropPresetFactory.a \
+ $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/
+cd ..
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/projectm/
+cp COPYING ChangeLog $VLCDEPSDIR/doc/projectm/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile x262
+# -----------------------------------------------------------------------------
+make_x262()
+{
+echo -e "**\n** x262 ...\n**"
+
+case "$ARCH" in
+ x86_64|arm*)
+ ARCHOPTS="--enable-pic" ;;
+ *)
+ ARCHOPTS="" ;;
+esac
+
+cd $TMP/tmp-$PRGNAM/x262-$X262
+
+# The sources are not yet too mature (copied from x264):
+sed -i -e "s/x264/x262/g" configure
+sed -i -e "s/x264_config/x262_config/g" *.h Makefile *.c
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-cli \
+ --disable-avs \
+ --disable-lavf \
+ --disable-ffms \
+ $ARCHOPTS \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_x262.log
+
+# Compensate more for lack of maturity:
+sed -i -e "s/x264.pc/x262.pc/g" Makefile
+sed -i -e "s/x264.h/x262.h/g" Makefile
+
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_x262.log
+
+# Compensate even a bit more for lack of maturity:
+cp x264.h x262.h
+
+# Install x262 into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_x262.log
+
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/x262/
+cp AUTHORS COPYING \
+ $VLCDEPSDIR/doc/x264/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile x264
+# -----------------------------------------------------------------------------
+make_x264()
+{
+echo -e "**\n** x264 ...\n**"
+
+case "$ARCH" in
+ x86_64|arm*)
+ ARCHOPTS="--enable-pic" ;;
+ *)
+ ARCHOPTS="" ;;
+esac
+
+cd $TMP/tmp-$PRGNAM/x264-snapshot-${X264}-stable
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-cli \
+ --disable-avs \
+ --disable-lavf \
+ --disable-ffms \
+ --disable-opencl \
+ $ARCHOPTS \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_x264.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_x264.log
+# Install x264 into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_x264.log
+
+echo -e "**\n** x264 ...\n**"
+echo -e "\n** 10-bit\n**" >> $OUTPUT/configure-${PRGNAM}_x264.log
+echo -e "\n** 10-bit\n**" >> $OUTPUT/make-${PRGNAM}_x264.log
+
+# Now add a x62410b (10-bit decoder) to the depsdir:
+make clean
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-cli \
+ --disable-avs \
+ --disable-lavf \
+ --disable-ffms \
+ --disable-opencl \
+ --bit-depth=10 \
+ $ARCHOPTS \
+ 2>&1 | tee -a $OUTPUT/configure-${PRGNAM}_x264.log
+sed -i -e 's/libx264/libx26410b/g' Makefile config.mak
+sed -i -e 's/x264/x26410b/g' x264.pc
+mv x264.pc x26410b.pc
+sed -i -e 's/x264.pc/x26410b.pc/g' Makefile
+make ${NUMJOBS} 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_x264.log
+# Install x26410b into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_x264.log
+
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/x264/
+cp AUTHORS COPYING \
+ $VLCDEPSDIR/doc/x264/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile dv
+# -----------------------------------------------------------------------------
+make_dv()
+{
+echo -e "**\n** dv ...\n**"
+cd $TMP/tmp-$PRGNAM/libdv-${DV}
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --disable-gtk \
+ --disable-xv \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dv.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_dv.log
+# Install dv into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dv.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libdv/
+cp AUTHORS COPYING COPYRIGHT ChangeLog NEWS README* TODO \
+ $VLCDEPSDIR/doc/libdv/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile libdvbpsi library
+# -----------------------------------------------------------------------------
+make_dvbpsi()
+{
+echo -e "**\n** dvbpsi ...\n**"
+cd $TMP/tmp-$PRGNAM/libdvbpsi-${DVBPSI}
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --disable-debug \
+ --enable-release \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dvbpsi.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_dvbpsi.log
+# Install dvbpsi into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dvbpsi.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libdvbpsi/
+cp AUTHORS COPYING ChangeLog NEWS README \
+ $VLCDEPSDIR/doc/libdvbpsi/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile libdca library
+# -----------------------------------------------------------------------------
+make_dca()
+{
+echo -e "**\n** dca ...\n**"
+cd $TMP/tmp-$PRGNAM/libdca-${DCA}
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --disable-debug \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dca.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_dca.log
+# Install dca into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dca.log
+# Fix a broken symlink:
+( cd $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}
+ if [ -L libdts.a ] ; then
+ rm -f libdts.a ; ln -s libdca.a libdts.a
+ fi
+)
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libdca/
+cp AUTHORS COPYING ChangeLog NEWS README TODO \
+ $VLCDEPSDIR/doc/libdca/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile avc1394 raw1394 and dc1394 libraries
+# VLC will use these
+# -----------------------------------------------------------------------------
+make_1394()
+{
+echo -e "**\n** 1394 ...\n**"
+OLDDIR=$(pwd)
+cd $TMP/tmp-$PRGNAM/libraw1394-${RAW1394}
+
+# Or else vlc compilation fails with "error: redefinition of typedef 'byte_t'"
+patch -p0 --verbose < $SRCDIR/patches/libraw1394_typedef.patch \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_raw1394.log
+
+[ ! -x configure ] && ./autogen.sh
+
+# Seems I need this ugly prefix or else I have to dig into the problem of vlc
+# incorrectly interpreting *.la contents...
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --mandir=$VLCDEPSDIR/usr/man \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_raw1394.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_raw1394.log
+# Install libraw1394 into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_raw1394.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libraw1394/
+cp AUTHORS COPYING.LIB ChangeLog NEWS README \
+ $VLCDEPSDIR/doc/libraw1394/ || true
+
+echo -e "**\n**"
+
+cd $TMP/tmp-$PRGNAM/libavc1394-${AVC1394}
+
+CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+CPPFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+LDFLAGS="-L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS" \
+PKG_CONFIG_PATH="$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
+LIBRAW1394_CFLAGS="-I$VLCDEPSDIR/usr/include" \
+LIBRAW1394_LIBS="-L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} -lraw1394" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_avc1394.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_avc1394.log
+# Install libavc1394 into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_avc1394.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libavc1394/
+cp AUTHORS COPYING ChangeLog NEWS README TODO \
+ $VLCDEPSDIR/doc/libavc1394/ || true
+
+echo -e "**\n**"
+
+cd $TMP/tmp-$PRGNAM/libdc1394-${DC1394}
+
+## Skip building the examples - those cause errors:
+#cat $SRCDIR/patches/libdc1394-noexamples.patch | patch -p1 --verbose \
+# 2>&1 | tee $OUTPUT/patch-${PRGNAM}_dc1394.log
+
+# Make sure that the static libdc1394 is found in the vlcdeps:
+CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+CPPFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+LDFLAGS="-L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} -lraw1394 $SLKLDFLAGS" \
+PKG_CONFIG_PATH="$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --disable-examples \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_dc1394.log
+ # Building the examples fails on kernel >= 2.6.38 because that deprecated
+ # the v4l1 interface. You'll get the error "dc1394_vloopback.c:49:28:
+ # fatal error: linux/videodev.h: No such file or directory"
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_dc1394.log
+# Install libdc1394 into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_dc1394.log
+# Fix the pkgconfig file to get rid of unresolved symbols at runtime:
+sed -i -e "/^Libs:/s/$/ -lavc1394 -lraw1394/" $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig/libdc1394-2.pc
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libdc1394/
+cp AUTHORS COPYING ChangeLog NEWS README \
+ $VLCDEPSDIR/doc/libdc1394/ || true
+
+cd $OLDDIR
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile fribidi
+# -----------------------------------------------------------------------------
+make_fribidi()
+{
+echo -e "**\n** fribidi ...\n**"
+cd $TMP/tmp-$PRGNAM/fribidi-$FRIBIDI
+if [ "$ARCH" = "x86_64" -o "$ARCH" = "armv7hl" ]; then
+ ARCHOPTS="--with-pic"
+else
+ ARCHOPTS=""
+fi
+
+# Allow for internal use of the library:
+cat $SRCDIR/patches/fribidi.patch | patch -p1 --verbose \
+ 2>&1 | tee $OUTPUT/patch-${PRGNAM}_fribidi.log
+
+# Fix error on Slackware 14.1, no issue on Slackware 14.2...
+# configure.ac:49: error: possibly undefined macro: AC_CONFIG_MACRO_DIRS
+sed -i -e "s/AC_CONFIG_MACRO_DIRS/AC_CONFIG_MACRO_DIR/" configure.ac
+
+# And since we patched the configure.ac and Makefile.am we have to bootstrap:
+rm -f configure
+./bootstrap
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ $ARCHOPTS \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_fribidi.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_fribidi.log
+# Install fribidi into a temp location so vlc can pickup the library
+echo -e "\n**\n**\n"
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_fribidi.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/fribidi/
+cp AUTHORS COPYING ChangeLog NEWS README THANKS TODO \
+ $VLCDEPSDIR/doc/fribidi/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile libass
+# -----------------------------------------------------------------------------
+make_ass()
+{
+echo -e "**\n** ass ...\n**"
+cd $TMP/tmp-$PRGNAM/libass-$ASS
+
+## Make it find libiconv if present:
+#cat $SRCDIR/patches/libass_fix_iconv.patch | patch -p1 --verbose \
+# 2>&1 | tee $OUTPUT/patch-${PRGNAM}_ass.log
+
+# And since we patched the configure:
+autoreconf -vif
+
+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} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_ass.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_ass.log
+# Install libass into a temp location so vlc can pickup the library
+echo -e "\n**\n**\n"
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_ass.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libass/
+cp COPYING Changelog $VLCDEPSDIR/doc/libass/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile taglib
+# -----------------------------------------------------------------------------
+make_taglib()
+{
+echo -e "**\n** taglib ...\n**"
+cd $TMP/tmp-$PRGNAM/taglib-${TAGLIB}
+
+CXX=gcc \
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+cmake . \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DBUILD_SHARED_LIBS=OFF \
+ -DWITH_ASF:BOOL=ON \
+ -DWITH_MP4:BOOL=ON \
+ 2>&1 | tee $OUTPUT/cmake-${PRGNAM}_taglib.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_taglib.log
+# Install taglib into a temp location so vlc can pickup the library
+make install DESTDIR=$VLCDEPSDIR \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_taglib.log
+
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/taglib/
+cp AUTHORS COPYING* README TODO $VLCDEPSDIR/doc/taglib/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile fluidsynth
+# -----------------------------------------------------------------------------
+make_fluid()
+{
+echo -e "**\n** fluidsynth ...\n**"
+cd $TMP/tmp-$PRGNAM/fluidsynth-$FLUID
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --enable-double \
+ --disable-jack-support \
+ --without-readline \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_fluid.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_fluid.log
+# Install fluid into a temp location so vlc can pickup the library
+echo -e "\n**\n**\n"
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_fluid.log
+# Fix a missing link dependency (resolves 'unknown symbols' runtime):
+sed -i -e "/^Libs:/s/$/ -lasound -pthread -lgthread-2.0 -lrt -lglib-2.0/" $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig/fluidsynth.pc
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/fluidsynth/
+cp AUTHORS COPYING ChangeLog NEWS README THANKS TODO \
+ $VLCDEPSDIR/doc/fluidsynth/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile kate
+# -----------------------------------------------------------------------------
+make_kate()
+{
+echo -e "**\n** kate ...\n**"
+cd $TMP/tmp-$PRGNAM/libkate-${KATE}
+
+## Compatibility patch for libpng14:
+#cat $SRCDIR/patches/libkate_png14.patch | patch -p0 --verbose \
+# 2>&1 | tee $OUTPUT/patch-${PRGNAM}_kate.log
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+PKG_CONFIG_PATH="$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
+LEXLIB="/usr/lib${LIBDIRSUFFIX}/libfl.a" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --disable-valgrind \
+ --disable-doc \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_kate.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_kate.log
+# Install kate into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_kate.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libkate/
+cp AUTHORS COPYING README THANKS \
+ $VLCDEPSDIR/doc/libkate/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile libtiger
+# -----------------------------------------------------------------------------
+make_tiger()
+{
+echo -e "**\n** tiger ...\n**"
+cd $TMP/tmp-$PRGNAM/libtiger-${TIGER}
+
+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} \
+ --enable-static \
+ --disable-shared \
+ --disable-doc \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_tiger.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_tiger.log
+# Install tiger into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_tiger.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libtiger/
+cp AUTHORS COPYING README THANKS \
+ $VLCDEPSDIR/doc/libtiger/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile lua
+# -----------------------------------------------------------------------------
+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/patches/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
+
+# Fix paths (lib64 for x86_64):
+sed -i "s#/lib#/lib${LIBDIRSUFFIX}#" Makefile
+sed -i "s#/usr/local#/usr#" Makefile
+
+MYLDFLAGS="$SLKLDFLAGS -ld" make linux ${NUMJOBS} \
+ 2>&1 | tee $OUTPUT/make-${PRGNAM}_lua.log
+# Install lua into a temp location so vlc can pickup the library
+make install INSTALL_TOP=$VLCDEPSDIR/usr \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_lua.log
+# Install a pkg-config file:
+install -D -m 0644 etc/lua.pc $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig/lua.pc
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/lua
+cp COPYRIGHT HISTORY README $VLCDEPSDIR/doc/lua/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile libva
+# -----------------------------------------------------------------------------
+make_libva()
+{
+echo -e "**\n** libva ...\n**"
+cd $TMP/tmp-$PRGNAM/libva-$LIBVA
+
+#
+# == NOTE ON VAAPI ==
+#
+# VAAPI can enable hardware accelerated playback for MPEG-2/4, H.264/AVC
+# and VC-1 video on certain graphics hardware.
+# The VAAPI support in this VLC package depends on VA drivers that you have to
+# install yourself for your specific hardware. The drivers should go into
+# directory /usr/lib${LIBDIRSUFFIX}/dri .
+# If you install my libva package you can get MPEG-2 hardware acceleration on
+# Intel graphics.
+# If you additionally install my libva-vdpau-driver package, then you get
+# hardware acceleration on Nvidia graphics (with nvidia's binary driver).
+# If you own an Ati card and use the fglrx driver, then you can achieve
+# hardware acceleration by installing the xvba-video driver from here:
+# http://www.splitted-desktop.com/~gbeauchesne/xvba-video/ (since I do not own
+# Ati hardware I can not build a package for xvba-video myself)
+#
+
+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} \
+ --enable-static \
+ --disable-shared \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_libva.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_libva.log
+# Strip the static lib to prevent linking errors in 64-bit,
+find . -name "*.a" | xargs strip --strip-unneeded
+# Install libva into a temp location so vlc can pickup the library
+echo -e "\n**\n**\n"
+make install DESTDIR=$VLCDEPSDIR 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_libva.log
+# Remove the .so and .la files; we want static linking.
+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/$/ -lX11 -lXext -lXfixes -ldrm -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 NEWS $VLCDEPSDIR/doc/libva/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile libvdpau
+# -----------------------------------------------------------------------------
+make_vdpau()
+{
+echo -e "**\n** vdpau ...\n**"
+cd $TMP/tmp-$PRGNAM/libvdpau-$VDPAU
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-documentation \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_vdpau.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_vdpau.log
+# Strip the static lib to prevent linking errors in 64-bit,
+find . -name "*.a" | xargs strip --strip-unneeded
+# Install vdpau into a temp location so vlc can pickup the library
+echo -e "\n**\n**\n"
+make install DESTDIR=$VLCDEPSDIR 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_vdpau.log
+# Remove the .so and .la files; we want static linking.
+rm -f $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libvdpau*.so*
+rm -f $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/libvdpau*.la
+rm -f $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/vdpau/libvdpau*.so*
+rm -f $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/vdpau/libvdpau*.la
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/vdpau/
+cp AUTHORS COPYING ChangeLog NEWS README $VLCDEPSDIR/doc/vdpau/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile VP8
+# -----------------------------------------------------------------------------
+make_vpx()
+{
+echo -e "**\n** vpx ...\n**"
+cd $TMP/tmp-$PRGNAM/libvpx-${VPX}
+
+case "$ARCH" in
+ i?86)
+ ARCHOPTS="--target=x86-linux-gcc"
+ ;;
+ x86_64)
+ ARCHOPTS="--target=${ARCH}-linux-gcc --enable-pic"
+ ;;
+ armv7hl)
+ ARCHOPTS="--target=armv7-linux-gcc --enable-pic"
+ cat $SRCDIR/patches/libvpx_fix-armhf-link.patch | patch -p1 --verbose
+ export AS=as
+ export AR=ar
+ export CROSS="${TARGET}-"
+ ;;
+ arm*)
+ ARCHOPTS="--target=armv5te-linux-gcc --enable-pic"
+ export AS=as
+ export AR=ar
+ export CROSS="${TARGET}-"
+ ;;
+ *)
+ ARCHOPTS="--target=${ARCH}-linux-gcc"
+ ;;
+esac
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --disable-install-bins \
+ --disable-install-srcs \
+ --disable-install-libs \
+ --disable-debug-libs \
+ --disable-debug \
+ --disable-docs \
+ --disable-examples \
+ --disable-unit-tests \
+ --enable-postproc \
+ --enable-runtime-cpu-detect \
+ $ARCHOPTS \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_vpx.log
+ #--disable-examples \ causes errors
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_vpx.log
+# Install libvpx into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_vpx.log
+# The build system vor libvpx is not yet mature:
+cp -a --parents vpx/*.h ${VLCDEPSDIR}/usr/include/
+cp -a libvpx.a ${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX}
+cp -a libvpx_g.a ${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX}
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/vpx/
+cp AUTHORS CHANGELOG LICENSE README \
+ $VLCDEPSDIR/doc/vpx/ || true
+cd -
+}
+
+# -----------------------------------------------------------------------------
+# Compile ogg opus libraries
+# -----------------------------------------------------------------------------
+make_opus()
+{
+echo -e "**\n** opus ...\n**"
+cd $TMP/tmp-$PRGNAM/opus-${OPUS}
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --disable-doc \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_opus.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_opus.log
+# Install opus into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_opus.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/opus/
+cp AUTHORS COPYING ChangeLog NEWS README \
+ $VLCDEPSDIR/doc/opus/ || true
+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} \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_npapi.log
+
+make ${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}
+
+sed -i -e "s|/usr/lib/libbluray|/usr/lib${LIBDIRSUFFIX}/libbluray|" \
+ src/libbluray/bdj/bdj.c
+
+[ ! -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-shared \
+ --enable-static \
+ --enable-bdjava \
+ --disable-doxygen-doc \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_bluray.log
+make ${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 -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile asdclpib - AS-DCP File Access Library
+# -----------------------------------------------------------------------------
+make_asdcplib()
+{
+echo -e "**\n** asdcplib ...\n**"
+cd $TMP/tmp-$PRGNAM/asdcplib-${ASDCPLIB}
+
+[ ! -x configure ] && sh bootstrap
+
+CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+CXXFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS -std=gnu++98" \
+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-shared \
+ --enable-freedist \
+ --enable-static \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_asdcplib.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_asdcplib.log
+# Install asdcplib into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_asdcplib.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/asdcplib/
+cp COPYING* README* $VLCDEPSDIR/doc/asdcplib/ || true
+cd -
+}
+
+
+# -----------------------------------------------------------------------------
+# Compile x265
+# -----------------------------------------------------------------------------
+make_x265()
+{
+echo -e "**\n** x265 ...\n**"
+# We use videolan's contribs repository now:
+cd $TMP/tmp-$PRGNAM/x265-${X265}
+
+pkg_static "source/x265.pc.in"
+
+# Set the compiler flags:
+CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS"
+CXXFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS"
+LDFLAGS="-L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS"
+
+# We follow the build instructions at:
+# https://github.com/videolan/x265/blob/master/build/linux/multilib.sh
+# See also https://bitbucket.org/multicoreware/x265/wiki/Home :
+# Build 10bit and 12bit only on x86_64 for which assembler code exists.
+if [ "$ARCH" = "x86_64" ]; then
+ mkdir build-12
+ cd build-12
+ cmake ../source \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_INSTALL_DIR=lib${LIBDIRSUFFIX} \
+ -DHIGH_BIT_DEPTH=ON \
+ -DMAIN12=ON \
+ -DEXPORT_C_API=OFF \
+ -DENABLE_CLI=OFF \
+ -DENABLE_SHARED=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_x265.log
+ make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_x265.log
+ cd -
+ mkdir build-10
+ cd build-10
+ cmake ../source \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_INSTALL_DIR=lib${LIBDIRSUFFIX} \
+ -DHIGH_BIT_DEPTH=ON \
+ -DEXPORT_C_API=OFF \
+ -DENABLE_CLI=OFF \
+ -DENABLE_SHARED=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ 2>&1 | tee -a $OUTPUT/configure-${PRGNAM}_x265.log
+ make ${NUMJOBS} 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_x265.log
+ cd -
+ mkdir build-8
+ cd build-8
+ ln -s ../build-10/libx265.a libx265_main10.a
+ ln -s ../build-12/libx265.a libx265_main12.a
+ cmake ../source \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_INSTALL_DIR=lib${LIBDIRSUFFIX} \
+ -DEXTRA_LIB="x265_main10.a;x265_main12.a" \
+ -DEXTRA_LINK_FLAGS="-L." \
+ -DLINKED_10BIT=ON \
+ -DLINKED_12BIT=ON \
+ -DENABLE_SHARED=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ 2>&1 | tee -a $OUTPUT/configure-${PRGNAM}_x265.log
+ make ${NUMJOBS} 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_x265.log
+ # Rename the 8bit library, then combine all three into libx265.a using ar:
+ mv libx265.a libx265_main.a
+ ar -M <<EOF
+CREATE libx265.a
+ADDLIB libx265_main.a
+ADDLIB libx265_main10.a
+ADDLIB libx265_main12.a
+SAVE
+END
+EOF
+else
+ mkdir build-8
+ cd build-8
+ cmake ../source \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_INSTALL_DIR=lib${LIBDIRSUFFIX} \
+ -DENABLE_SHARED=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_x265.log
+ make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_x265.log
+fi
+
+# We were left in the final build directory:
+# Install x265 into a temp location so vlc can pickup the library
+make install DESTDIR=$VLCDEPSDIR \
+ 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_x265.log
+cd ..
+
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/x265/
+cp COPYING* build/README* $VLCDEPSDIR/doc/x265/ || true
+}
+
+# -----------------------------------------------------------------------------
+# Compile libssh2
+# -----------------------------------------------------------------------------
+make_ssh2()
+{
+echo -e "**\n** ssh2 ...\n**"
+cd $TMP/tmp-$PRGNAM/libssh2-${SSH2}
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="$SLKLDFLAGS -lz -lgpg-error" \
+./configure \
+ --prefix=$VLCDEPSDIR/usr \
+ --libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
+ --enable-static \
+ --disable-shared \
+ --disable-examples-build \
+ --with-libgcrypt \
+ --without-openssl \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}_ssh2.log
+make ${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_ssh2.log
+# Install ssh2 into a temp location so vlc can pickup the library
+make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_ssh2.log
+# Add DOCS to the vlcdeps to have it added to vlc package later:
+mkdir -p $VLCDEPSDIR/doc/libssh2/
+cp AUTHORS COPYING ChangeLog NEWS README \
+ $VLCDEPSDIR/doc/libssh2/ || true
+cd -
+}
+
+
+
+# -----------------------------------------------------------------------------
+# VLC
+# -----------------------------------------------------------------------------
+make_vlc()
+{
+echo -e "**\n** VLC ...\n**"
+OLDDIR=$(pwd)
+cd $TMP/tmp-$PRGNAM
+
+# Determine the actual version of the program, and
+# optionally the development branch it came from:
+
+if [ ! -d {PRGNAM}-${SRCVER} ]; then
+ NEWVER=$(ls -1 -d --indicator-style=none vlc-* 2>/dev/null)
+ if [ -n "$NEWVER" ]; then
+ echo "##"
+ echo -n "## Changing vlc VERSION from '$VERSION' to "
+ SRCVER=$(echo $NEWVER | cut -d- -f2-)
+ VERSION=$(echo $SRCVER | tr '-' '.')
+ echo "'$VERSION'"
+ echo "##"
+ else
+ echo "Can not determine which version of VLC I should build!"
+ exit 1
+ fi
+fi
+if [ "$BRANCH" != "master" -a "x$BRANCH" != "x" ]; then
+ VERSION=$(echo "${BRANCH}_${VERSION}" | tr - _)
+fi
+
+# If we build a static Qt4 gui, unset the QT-related environment variables,
+# so that a pre-existing Qt4 will not be picked up and create errors:
+if [ "$STATIC_QT4" = "YES" ]; then
+ unset QTDIR
+ unset QT4DIR
+ unset QT5DIR
+ NEWPATH="$VLCDEPSDIR/usr/bin"
+ for elem in $(echo $PATH | cut -d: --output-delimiter=' ' -f1-) ; do
+ if ! $(echo "$elem"| grep -q /qt) ; then
+ NEWPATH="$NEWPATH:$elem"
+ fi
+ done
+ export PATH="$NEWPATH"
+fi
+
+cd $TMP/tmp-$PRGNAM/${PRGNAM}-${SRCVER}
+echo "" >$OUTPUT/patch-${PRGNAM}.log
+
+## Configure a default Slackware TTF font:
+#cat $SRCDIR/patches/vlc-2.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" .)
+
+# Only enable DLL loader on ELF ix86 platforms:
+if [ "$ARCH" == "i486" -o "$ARCH" == "i686" ]; then
+ DO_LOADER="--enable-loader"
+else
+ DO_LOADER=""
+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/patches/vlc_ffmpeg_mm_api.patch | patch -p1 --verbose \
+# 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
+#fi
+
+if [ "$STATIC_FFMPEG" == "YES" ]; then
+ # 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/$/ -lvdpau -lva-drm -lva-x11 -lva -lX11 -lXext -lXfixes -lm -ldrm/" \
+ ${VLCDEPSDIR}/usr/lib${LIBDIRSUFFIX}/pkgconfig/libavcodec.pc
+ fi
+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' .)
+fi
+
+# Plug a xss vulnerability, commited right after 2.0.6:
+if [ "$VERSION" = "2.0.6" ]; then
+ cat $SRCDIR/patches/vlc-2.0.6_xss_vulns.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
+fi
+
+# avcodec audio decoder: update block pointer (emergency patch for 2.0.8
+# after which a new 2.0.8a tarball was released):
+if [ "$VERSION" = "2.0.8" ]; then
+ cat $SRCDIR/patches/vlc-2.0.8_update_block_pointer.patch | patch -p1 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
+fi
+
+# We patched our Qt 5.5.1 package:
+sed -i configure.ac \
+ -e 's/AC_MSG_ERROR(\["You cannot build VLC with Qt-5.5.0/AC_MSG_WARN(\["You cannot build VLC with Qt-5.5.0/'
+
+## 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
+
+if [ "${USE_FFMPEG3}" = "YES" -o "${USE_FFMPEG3}" = "yes" ]; then
+ # Fix build against ffmpeg 3.x (patch adapted from freebsd original):
+ cat $SRCDIR/patches/vlc2_ffmpeg3.patch | patch -p0 --verbose \
+ 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}_vlc.log
+fi
+
+sh bootstrap
+
+# Slackware > 14.2 switched to ncurses 6.x:
+NCURSESWCONF=$(which ncursesw5-config 2>/dev/null || which ncursesw6-config 2>/dev/null)
+
+NCURSES_CFLAGS="$(${NCURSESWCONF} --cflags) -I/usr/include" \
+NCURSES_LIBS="$(${NCURSESWCONF} --libs)" \
+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" \
+CFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+CXXFLAGS="-I$VLCDEPSDIR/usr/include $SLKCFLAGS" \
+LDFLAGS="-Wl,-Bsymbolic -L$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} $SLKLDFLAGS" \
+PKG_CONFIG_PATH="$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/pkgconfig" \
+PATH="$VLCDEPSDIR/usr/bin:$PATH" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/vlc-$VERSION \
+ --localstatedir=/var \
+ --without-contrib \
+ --disable-rpath \
+ --disable-debug \
+ --disable-freerdp \
+ --disable-jack \
+ --disable-gnomevfs \
+ --disable-zvbi \
+ --enable-alsa \
+ --enable-shared \
+ --enable-optimize-memory=no \
+ --enable-ncurses \
+ --enable-lua \
+ --enable-dc1394 \
+ --enable-dvbpsi \
+ --enable-dvdnav \
+ --enable-vcdx \
+ --enable-libcddb \
+ --enable-projectm \
+ --enable-svg \
+ --enable-telx \
+ --enable-libass \
+ --enable-caca \
+ --enable-aa \
+ --enable-sftp \
+ --enable-upnp \
+ --enable-flac \
+ --enable-shout \
+ --enable-live555 \
+ --enable-realrtsp \
+ --enable-speex \
+ --enable-opus \
+ --enable-x262 \
+ --enable-x264 \
+ --enable-x265 \
+ --enable-a52 \
+ --with-a52-tree=$TMP/tmp-$PRGNAM/a52dec-$A52 \
+ --enable-twolame \
+ --enable-ogg \
+ --enable-vorbis \
+ --enable-theora \
+ --enable-swscale \
+ --enable-avcodec \
+ --enable-avformat \
+ --enable-libva \
+ --enable-vdpau \
+ ${DO_LOADER} \
+ --enable-run-as-root \
+ --with-default-font-family="Sans Bold" \
+ --with-default-font="/usr/share/fonts/TTF/DejaVuSans-Bold.ttf" \
+ --with-default-monospace-font="/usr/share/fonts/TTF/DejaVuSansMono-Bold.ttf" \
+ --program-prefix= \
+ --program-suffix= \
+ --build=$TARGET \
+ 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
+
+ # Enabled by default:
+ #--enable-dca \
+ #--with-dca-tree=$TMP/tmp-$PRGNAM/libdca-$DCA \
+
+ # Libdvdnav is now the default (which uses libdvdread in turn)
+ #--enable-dvdread \
+ #--with-dvdread-tree=$TMP/tmp-$PRGNAM/libdvdread-$DVDREAD \
+ #--enable-goom \
+ #--with-goom-tree=$TMP/tmp-$PRGNAM/goom$GOOM \
+
+ # Sometimes skins support breaks and we'll have to disable it:
+ #--disable-skins2 \
+
+ # Got errors about missing sdt.h in ./modules/access/dvb/access.c
+ #--with-dvbpsi-tree=$TMP/tmp-$PRGNAM/libdvbpsi5-${DVBPSI} \
+
+ # Leave this out so that linking the static x264.a into a shared
+ # library works on x86_64:
+ #--with-x264-tree=$TMP/tmp-$PRGNAM/x264-snapshot-$X264 \
+
+ # Without these, we get also rid of "unknown symbols" runtime
+ #--with-dv-raw1394=$TMP/tmp-$PRGNAM/libraw1394-${RAW1394} \
+ #--with-dv-avc1394=$TMP/tmp-$PRGNAM/libavc1394-${AVC1394} \
+
+ # Deprecated:
+ #--enable-ffmpeg \
+ #--with-ffmpeg-tree=$TMP/tmp-$PRGNAM/ffmpeg-${FFMPEG} \
+ #--enable-daap \
+ #--disable-musicbrainz \
+ #--disable-arts \
+ #--enable-esd \
+ #--with-speex-tree=$TMP/tmp-$PRGNAM/speex-$SPEEX \
+ #--disable-galaktos \
+ #--with-twolame-tree=$TMP/tmp-$PRGNAM/twolame-$TWOLAME \
+ #--with-dv-raw1394-tree=$TMP/tmp-$PRGNAM/libraw1394-${RAW1394} \
+ #--with-dv-avc1394-tree=$TMP/tmp-$PRGNAM/libavc1394-${AVC1394} \
+ #--disable-testsuite \
+ #--enable-release \
+ #--enable-libcdio \
+ #--enable-cddax \
+ #--disable-snapshot \
+ #--with-dvdnav-config-path=$VLCDEPSDIR/usr/bin \
+ #--enable-svgalib \
+ #--enable-v4l \
+ #--enable-id3tag \
+
+ # VLC 2.1 wants OSS4 which we do not have:
+ #--enable-oss \
+
+ # 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="" \
+
+# Now, we are ready for the compile:
+make ${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
+}
+
+# -----------------------------------------------------------------------------
+# These routines do all the work of setting up the package contents
+# and creating the actual Slackware packages in $OUTPUT
+# -----------------------------------------------------------------------------
+
+build_npapipkg()
+{
+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 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
+cat $SRCDIR/slack-required.$PRGNAM2 > $PKG2/install/slack-required
+
+cd $PKG2
+makepkg --linkadd y --chown n $OUTPUT/${PRGNAM2}-${NPAPI}-${ARCH}-${NPBUILD}${TAG}.${PKGTYPE} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}_${PRGNAM2}.log
+cd $OUTPUT
+md5sum ${PRGNAM2}-${NPAPI}-${ARCH}-${NPBUILD}${TAG}.${PKGTYPE} > ${PRGNAM2}-${NPAPI}-${ARCH}-${NPBUILD}${TAG}.${PKGTYPE}.md5
+cd -
+cat $PKG2/install/slack-desc | grep "^${PRGNAM2}" > $OUTPUT/${PRGNAM2}-${NPAPI}-${ARCH}-${NPBUILD}${TAG}.txt
+cat $PKG2/install/slack-required > $OUTPUT/${PRGNAM2}-${NPAPI}-${ARCH}-${NPBUILD}${TAG}.dep
+
+}
+
+build_vlcpkg()
+{
+# I want to be able to override the package version:
+PKGVERSION=${PKGVERSION:-$VERSION}
+
+echo -e "**\n** building the $PRGNAM package (version $PKGVERSION) ...\n**"
+#
+# Install all the needed stuff to the package dir
+#
+cd $TMP/tmp-$PRGNAM/${PRGNAM}-${SRCVER}
+
+make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
+
+# We don't want the mozilla plugin here:
+[ -d $PKG/usr/lib${LIBDIRSUFFIX}/mozilla ] && rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/mozilla
+
+# Copy the projectM presets and other requirements into the package if we
+# are adding support for it:
+if [ -d $VLCDEPSDIR/usr/share/vlc/projectM ]; then
+ cp -a $VLCDEPSDIR/usr/share/vlc/projectM $PKG/usr/share/vlc/
+ # Add missing directory:
+ mkdir $PKG/usr/share/vlc/projectM/textures
+ # Replace fonts with symlinks to preserve space:
+ rm $PKG/usr/share/vlc/projectM/fonts/*
+ ln -sf /usr/share/fonts/TTF/DejaVuSans.ttf $PKG/usr/share/vlc/projectM/fonts/Vera.ttf
+ ln -sf /usr/share/fonts/TTF/DejaVuSansMono.ttf $PKG/usr/share/vlc/projectM/fonts/VeraMono.ttf
+fi
+
+# Create an empty plugin cache configuration file, so that
+# it will be deleted too in the event of a 'removepkg':
+touch $PKG/usr/lib${LIBDIRSUFFIX}/vlc/plugins.dat
+
+# Add this to the doinst.sh:
+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 > /dev/null
+2>&1
+fi
+
+# Update hicolor theme cache:
+if [ -d usr/share/icons/hicolor ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ chroot . /usr/bin/gtk-update-icon-cache -f -t usr/share/icons/hicolor 1> /dev/null 2> /dev/null
+ fi
+fi
+
+# Update the mime database:
+if [ -x usr/bin/update-mime-database ]; then
+ chroot . /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
+fi
+
+# Remove old cache data and regenerate the file:
+chroot . <<EOCR 2>/dev/null
+cd /usr/lib${LIBDIRSUFFIX}/vlc
+find . -name "plugins*.dat" -exec rm -f {} \;
+echo "Generating VLC plugins cache data..."
+DISPLAY="" ./vlc-cache-gen -f .
+EOCR
+
+EOINS
+
+## Add the icons to be used in menu entries:
+#mkdir -p $PKG/usr/share/pixmaps
+#convert share/vlc512x512.png -resize 64x64 $PKG/usr/share/pixmaps/vlc.png
+#for res in 16 32 48 64 128; do
+# mkdir -p $PKG/usr/share/icons/hicolor/${res}x${res}/apps
+# convert share/vlc512x512.png -resize ${res}x${res} \
+# $PKG/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png
+#done
+
+# Add the man page:
+mkdir -p $PKG/usr/man/man1
+gzip -9c doc/vlc.1 > $PKG/usr/man/man1/vlc.1.gz
+
+# Add a vlc log syntax definition file for vim:
+mkdir -p $PKG/usr/share/vim/vimfiles/syntax
+install -m644 extras/analyser/vlc.vim $PKG/usr/share/vim/vimfiles/syntax/
+
+# Remove traces of our temporary install location from libtool files:
+find $PKG/usr/lib${LIBDIRSUFFIX} -name "*.la" -o -name "*.pc" \
+ | xargs sed -i -e "s#$VLCDEPSDIR##g"
+
+# Add package documentation:
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+mv $PKG/usr/share/doc/vlc/* $PKG/usr/doc/$PRGNAM-$VERSION || true
+rm -rf $PKG/usr/share/doc
+cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
+# Add all the supporting packages' documentation too:
+cp -a $VLCDEPSDIR/doc/* $PKG/usr/doc/$PRGNAM-$VERSION || true
+# Add the SlackBuild as well as all patches we used to create the package:
+cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+cp -a $SRCDIR/patches $PKG/usr/doc/$PRGNAM-$VERSION/
+find $PKG/usr/doc -type f -exec chmod 644 {} \;
+chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION/*
+
+# Compress the man page(s):
+if [ -d $PKG/usr/man ]; then
+ find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
+ for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+fi
+
+# Strip binaries:
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a package description:
+mkdir -p $PKG/install
+cat $SRCDIR/slack-desc > $PKG/install/slack-desc
+if [ -f $SRCDIR/doinst.sh ]; then
+ cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh
+fi
+if [ -f $SRCDIR/slack-required ]; then
+ cat $SRCDIR/slack-required > $PKG/install/slack-required
+fi
+
+# Build the package:
+cd $PKG
+makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-$(echo $VERSION |tr '-' '.')-${ARCH}-${BUILD}${TAG}.${PKGTYPE} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
+cd $OUTPUT
+md5sum ${PRGNAM}-$(echo $VERSION |tr '-' '.')-${ARCH}-${BUILD}${TAG}.${PKGTYPE} > ${PRGNAM}-$(echo $VERSION |tr '-' '.')-${ARCH}-${BUILD}${TAG}.${PKGTYPE}.md5
+cd -
+cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-$(echo $VERSION |tr '-' '.')-${ARCH}-${BUILD}${TAG}.txt
+if [ -f $PKG/install/slack-required ]; then
+ cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-$(echo $VERSION |tr '-' '.')-${ARCH}-${BUILD}${TAG}.dep
+fi
+
+}
+
+# -----------------------------------------------------------------------------
+# OK - we wrapped the separate components into convenience functions
+# - now call them one by one:
+# -----------------------------------------------------------------------------
+
+if echo "$*" | grep -qw -- --unwrapvlcdeps ; then
+ # We use a tarball with precompiled binaries instead of compiling all
+ # dependencies at this moment (saves time when all we change is VLC code):
+ if [ "${USE_PATENTS}" == "YES" ]; then
+ DEPSFILE="$SRCDIR/$PRGNAM-vlcdeps_restricted-${SLACKVER}-$ARCH.tar.bz2"
+ else
+ DEPSFILE="$SRCDIR/$PRGNAM-vlcdeps_unrestricted-${SLACKVER}-$ARCH.tar.bz2"
+ fi
+ [ ! -f $DEPSFILE ] && DEPSFILE="$SRCDIR/$PRGNAM-vlcdeps-${SLACKVER}-$ARCH.tar.bz2"
+ cd $TMP/tmp-$PRGNAM
+ echo "Extracting tarball with pre-compiled binary library code..."
+ tar -xvf $DEPSFILE
+ find . -name "*.la" -o -name "*.pc" | xargs sed -i -e "s#/vlcdepsdir#$TMP/tmp-$PRGNAM#g"
+ cd -
+
+else
+ #if [ "xy" == "x" ]; then
+
+ # qt4 is used for the vlc gui:
+ if [ "$STATIC_QT4" = "YES" ]; then
+ make_qt4
+ fi
+
+ # This first, which resolves weird build failures on ARM (assembly fails)
+ make_x265
+ make_x264
+ make_x262
+
+ if [ "${STATIC_LIBVA}" = "YES" ]; then
+ # VLC supports VAAPI & VDPAU directly since 2.1.
+ # If anyone can fix the 'unresolved symbols' in several vlc plugins when
+ # libva is compiled before ffmpeg, let me know!
+ make_libva
+ make_vdpau
+ fi
+
+ # CD/VCD image support:
+ # Circular dependencies need these loops:
+ make_cdio --disable-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:
+ # Only use patented code if we are allowing it:
+ if [ "${USE_PATENTS}" == "YES" ]; then
+ make_dvdcss
+ fi
+ make_dvdread
+ make_dvdnav
+
+ if [ "$STATIC_FFMPEG" == "YES" ]; then
+ # Needed before ffmpeg:
+ make_vpx
+ make_theora
+ make_amr
+ make_amrwbenc
+ make_gsm
+ make_lame
+
+ # ffmpeg uses the above static libraries:
+ if [ "${USE_FFMPEG3}" = "YES" -o "${USE_FFMPEG3}" = "yes" ]; then
+ make_ffmpeg
+ else
+ # Only use patented AAC code if we are allowing it:
+ if [ "${USE_PATENTS}" == "YES" ]; then
+ make_faac
+ make_aacenc
+ fi
+ make_ffmpeg2
+ fi
+ fi
+
+ # Additional libraries that vlc will use:
+ make_a52
+ make_dca
+ make_ebml
+ make_matroska
+ make_libmpeg2
+ make_mpcdec
+ make_twolame
+ #make_daap
+ make_upnp
+ make_live555
+ make_fribidi
+ make_taglib
+ make_asdcplib
+ make_ass
+ make_fluid
+ make_1394
+ make_kate
+ make_tiger
+ make_lua
+ make_bluray
+ make_opus
+ make_ssh2
+
+ # Visualisations:
+ # FIXME: getting symbol errors but we need a static libGLEW:
+ #make_glew
+ make_goom
+ make_projectm
+
+ # Digital video:
+ make_dv
+ make_dvbpsi
+
+ # Speex before shout and vlc:
+ make_speex
+ make_speexdsp
+ make_shout
+
+ #fi # End ( "xy" == "x" )
+fi
+
+if echo "$*" | grep -qw -- --wrapvlcdeps ; then
+ # Wrap the vlcdeps tree with all pre-compiled dependencies into a tarball:
+ cd $TMP/tmp-$PRGNAM
+ find . -name "*.la" -o -name "*.pc" | xargs sed -i -e "s#$TMP/tmp-$PRGNAM#/vlcdepsdir#g"
+ tar -jcf $OUTPUT/$PRGNAM-vlcdeps-${SLACKVER}-$ARCH.tar.bz2 \
+ vlcdeps \
+ a52dec-$A52 \
+
+ echo "Created vlcdeps binary tarball in '$OUTPUT/$PRGNAM-vlcdeps-${SLACKVER}-$ARCH.tar.bz2'..."
+ cd -
+else
+ # Compile VLC using all the precompiled static libs in $VLCDEPSDIR :
+ make_vlc
+
+ # Wrap VLC into a Slackware package:
+ build_vlcpkg "$*"
+
+ # Should we also compile the mozilla plugin (npapi-vlc)?
+ if [ "$MOZPLUGIN" == "YES" ]; then
+ ## 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
+fi