Last active
December 17, 2015 10:26
-
-
Save TGM/2722ab02b1fca31195a4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Requirements: Ubuntu 14.02 (Trusty Tahr) | |
# build essentials | |
sudo apt-get -y install build-essential git-core checkinstall \ | |
automake yasm cmake cmake-curses-gui && mkdir -pv $HOME/vlc_build | |
sudo apt-get -y install liba52-0.7.4-dev libaa1-dev libasound2-dev libass-dev \ | |
libavahi-client-dev libcaca-dev libcairo2-dev libcddb2-dev libcdio-dev libdca-dev \ | |
libdirac-dev libdvbpsi-dev libdvdnav-dev libdvdread-dev libebml-dev libfaad-dev \ | |
libflac-dev libfreetype6-dev libfribidi-dev libgcrypt11-dev libgl1-mesa-dev \ | |
libglib2.0-0 libgnutls28-dev libid3tag0-dev libjack-jackd2-dev libkate-dev \ | |
liblircclient-dev liblua5.1-0-dev libmad0-dev libmatroska-dev libmodplug-dev \ | |
libmpcdec-dev libmpeg2-4-dev libmtp-dev libncursesw5-dev libnotify-dev libogg-dev \ | |
liboggkate-dev libpango1.0-dev libpng12-dev libprojectm-dev libprojectm-qt-dev \ | |
libproxy-dev libpulse-dev libqt4-dev libraw1394-dev librsvg2-dev libschroedinger-dev \ | |
libsdl-image1.2-dev libsdl1.2-dev libshout3-dev libsmbclient-dev libspeex-dev \ | |
libsqlite3-dev libsvga1-dev libsysfs-dev libtag1-dev libtar-dev libgme-dev \ | |
libtheora-dev libtool libtwolame-dev libudev-dev libupnp-dev libv4l-dev libvcdinfo-dev \ | |
libvorbis-dev libva-dev libvpx-dev libx11-dev libx11-xcb-dev libxcb-composite0-dev \ | |
libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shm0-dev libxcb-xv0-dev libxcb-xvmc0-dev \ | |
libxcb1-dev libxext-dev libxml2-dev libxpm-dev libxt-dev libxv-dev libzvbi-dev \ | |
lua5.1 qt4-qtconfig libspeexdsp-dev libsamplerate0-dev libvdpau-dev libxpm-dev \ | |
libxinerama-dev libtar-dev libgtk2.0-dev libdc1394-22-dev libopus-dev | |
# libfdk-aac | |
if [ "$(uname -m)" = "x86_64" ]; then | |
ARCHOPTS="--with-pic" | |
else | |
ARCHOPTS="" | |
fi && \ | |
cd $HOME/vlc_build && wget https://github.com/mstorsjo/fdk-aac/archive/v0.1.3.tar.gz && \ | |
tar xvf v0.1.3.tar.gz && cd fdk-aac-0.1.3 && \ | |
autoreconf -fiv && \ | |
./configure --prefix=$HOME/vlc_build/vlcdeps/usr \ | |
$ARCHOPTS \ | |
--disable-shared \ | |
--enable-static && \ | |
make && make install && make distclean | |
# shine | |
cd $HOME/vlc_build && \ | |
sudo apt-get -y remove shineenc libshine-dev libshine2 && \ | |
wget https://github.com/savonet/shine/releases/download/3.1.0/shine-3.1.0.tar.gz && \ | |
tar xvf shine-3.1.0.tar.gz && \ | |
cd shine-3.1.0 && ./configure && \ | |
mkdir -vp doc-pak && cp -v ChangeLog COPYING doc-pak && \ | |
sudo checkinstall --pakdir "$HOME/vlc_build" --backup=no --deldoc=yes \ | |
--pkgname protobuf --pkgversion "2.6.0" --fstrans=no \ | |
--deldesc=yes --delspec=yes --default && \ | |
make distclean && sudo ldconfig | |
# chromecast | |
cd $HOME/vlc_build && \ | |
sudo apt-get -y remove protobuf-c-compiler libprotobuf-dev libprotobuf-c0 \ | |
libprotobuf-c0-dev libprotobuf-c0 libprotoc-dev libprotoc8 && \ | |
wget https://protobuf.googlecode.com/svn/rc/protobuf-2.6.0.tar.gz && \ | |
tar xvf protobuf-2.6.0.tar.gz && \ | |
cd protobuf-2.6.0 && \ | |
./configure && \ | |
mkdir -vp doc-pak && cp -v CHANGES.txt CONTRIBUTORS.txt COPYING.txt doc-pak && \ | |
sudo checkinstall --pakdir "$HOME/vlc_build" --backup=no --deldoc=yes \ | |
--pkgname protobuf --pkgversion "2.6.0" --fstrans=no \ | |
--deldesc=yes --delspec=yes --default && \ | |
make distclean && sudo ldconfig | |
# x265 | |
cd $HOME/vlc_build && \ | |
wget https://bitbucket.org/multicoreware/x265/get/1.4.tar.bz2 -O \ | |
x265-1.4.tar.bz2 && tar xvf x265-1.4.tar.bz2 && \ | |
cd multicoreware-x265-5e604833c5aa && \ | |
mkdir -v build1 && cd build1 && \ | |
cmake ../source && \ | |
sudo checkinstall --pakdir "$HOME/vlc_build" --backup=no --deldoc=yes \ | |
--pkgname x265 --pkgversion "1.4" --fstrans=no \ | |
--deldesc=yes --delspec=yes --default && \ | |
sudo ldconfig && \ | |
rm -rfv $HOME/vlc_build/multicoreware-x265-*/build1 | |
# daala | |
sudo apt-get -y install check && \ | |
cd $HOME/vlc_build && \ | |
git clone https://git.xiph.org/daala.git && \ | |
cd daala && ./autogen.sh && \ | |
./configure --disable-player --disable-tools --disable-doc \ | |
--docdir=/usr/share/doc/daala && make && \ | |
mkdir -vp doc-pak && cp -v AUTHORS COPYING README doc-pak && \ | |
sudo checkinstall --pakdir "$HOME/vlc_build" --backup=no --deldoc=yes --pkgname daala \ | |
--pkgversion "1.0-git~$(git rev-parse --short HEAD)" \ | |
--fstrans=no --deldesc=yes --delspec=yes --default && \ | |
make distclean && sudo ldconfig | |
# ffmpeg | |
sudo apt-get -y install libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev zlib1g-dev && \ | |
cd $HOME/vlc_build && \ | |
wget http://ffmpeg.org/releases/ffmpeg-2.5.tar.bz2 && \ | |
tar xvf ffmpeg-2.5.tar.bz2 && cd ffmpeg-2.5 && \ | |
if [ "$(uname -m)" = "x86_64" ]; then | |
ARCHOPTS="--enable-pic" | |
else | |
ARCHOPTS="" | |
fi && \ | |
CPPFLAGS="-I$HOME/vlc_build/vlcdeps/usr/include" \ | |
LDFLAGS="-L$HOME/vlc_build/vlcdeps/usr/lib" \ | |
PKG_CONFIG_PATH="$HOME/vlc_build/vlcdeps/usr/lib/pkgconfig" \ | |
./configure --prefix=$HOME/vlc_build/vlcdeps/usr \ | |
$ARCHOPTS \ | |
--enable-gpl \ | |
--enable-version3 \ | |
--enable-nonfree \ | |
--enable-libmp3lame \ | |
--enable-libopencore-amrnb \ | |
--enable-libopencore-amrwb \ | |
--enable-libvpx \ | |
--enable-libfdk-aac \ | |
--enable-libx265 \ | |
--disable-programs \ | |
--disable-doc \ | |
--disable-filters \ | |
--disable-avdevice \ | |
--disable-devices \ | |
--disable-avfilter \ | |
--disable-avresample && \ | |
make -j 2 && make install-libs install-headers && make distclean | |
# x264 | |
if [ "$(uname -m)" = "x86_64" ]; then | |
ARCHOPTS="--enable-pic" | |
else | |
ARCHOPTS="" | |
fi && \ | |
cd $HOME/vlc_build && \ | |
git clone git://git.videolan.org/x264.git --depth 1 && \ | |
cd x264 && \ | |
./configure --prefix=$HOME/vlc_build/vlcdeps/usr \ | |
--enable-static \ | |
--disable-cli \ | |
$ARCHOPTS && \ | |
make && make install | |
# libdvdcss | |
cd $HOME/vlc_build && \ | |
sudo apt-get remove libdvdcss2 && \ | |
wget http://download.videolan.org/pub/libdvdcss/1.3.0/libdvdcss-1.3.0.tar.bz2 && \ | |
tar xvf libdvdcss-1.3.0.tar.bz2 && \ | |
cd libdvdcss-1.3.0 && \ | |
./configure --disable-doc \ | |
--docdir=/usr/share/doc/libdvdcss && make && \ | |
mkdir -vp doc-pak && cp -v AUTHORS ChangeLog COPYING INSTALL NEWS README doc-pak && \ | |
sudo checkinstall --pakdir "$HOME/vlc_build" --backup=no --deldoc=yes \ | |
--pkgname libdvdcss2 --pkgversion "1.3.0" --fstrans=no \ | |
--deldesc=yes --delspec=yes --default && \ | |
make distclean && sudo ldconfig | |
# live555 | |
cd $HOME/vlc_build && sudo apt-get -y remove liblivemedia-dev && \ | |
wget http://download.videolan.org/pub/contrib/live555/live.2014.07.25.tar.gz && \ | |
tar xvf live.2014.07.25.tar.gz && chmod -R u+w live && cd live && \ | |
if [ "$(uname -m)" = "x86_64" ]; then | |
./genMakefiles linux-64bit && make | |
else | |
./genMakefiles linux && make | |
fi && \ | |
cp -v \ | |
groupsock/libgroupsock.a liveMedia/libliveMedia.a UsageEnvironment/libUsageEnvironment.a \ | |
BasicUsageEnvironment/libBasicUsageEnvironment.a $HOME/vlc_build/vlcdeps/usr/lib/ && \ | |
cp -v \ | |
groupsock/include/*.hh groupsock/include/*.h liveMedia/include/*.hh UsageEnvironment/include/*.hh \ | |
BasicUsageEnvironment/include/*.hh $HOME/vlc_build/vlcdeps/usr/include/ | |
# build vlc-git | |
cd $HOME/vlc_build && git clone git://git.videolan.org/vlc.git --depth 1 && \ | |
cd $HOME/vlc_build/vlc && ./bootstrap && \ | |
CPPFLAGS="-I$HOME/vlc_build/vlcdeps/usr/include" \ | |
LDFLAGS="-L$HOME/vlc_build/vlcdeps/usr/lib" \ | |
PKG_CONFIG_PATH="$HOME/vlc_build/vlcdeps/usr/lib/pkgconfig" \ | |
./configure --prefix=/usr/local --enable-daala && \ | |
make -j 2 && \ | |
mkdir -vp doc-pak && cp -v AUTHORS COPYING INSTALL NEWS README THANKS doc-pak && \ | |
sudo checkinstall --pakdir "$HOME/vlc_build" --backup=no --deldoc=yes --pkgname vlc \ | |
--pkgversion "3.0.0-git~$(git rev-parse --short HEAD)" \ | |
--fstrans=no --deldesc=yes --delspec=yes --default && \ | |
make distclean && sudo ldconfig | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment