#!/bin/bash mkdir ~/.local/src export CFLAGS='-march=native -O3 -pipe -fstack-protector -Wall' export CXXFLAGS='-march=native -O3 -pipe -fstack-protector -Wall' function package-deb() { sudo checkinstall --pkgname "$1" --pkgversion "$2" --provides "$3" -y } function download-x265() { git clone https://github.com/videolan/x265 } function download-ffmpeg() { git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg } function download-libass() { git clone https://github.com/libass/libass/ } function build-libass() { sudo apt-get autoremove libass{5,-dev} sudo apt-fast install lib{freetype6,fribidi,fontconfig1}-dev cd ~/.local/src cd libass ./autogen.sh ./configure make -j9 package-deb "libass-git" "$(git rev-list --count HEAD)" "libass5, libass-dev" make distclean } function build-x265() { cd ~/.local/src/x265/build/linux [[ $(arch) == x86_64 ]] && LDFLAGS+=',-z,noexecstack' cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr ../../source -DHIGH_BIT_DEPTH=1 make -j9 package-deb "x265-10bit" "1.6" "x265" make clean } function build-ffmpeg() { cd ~/.local/src/ffmpeg sudo apt-fast install -y libx264-dev libvpx-dev libtheora-dev libopus-dev libvorbis-dev libfdk-aac-dev libx11-dev libharfbuzz-dev libenca-dev ./configure --prefix=/usr --enable-gpl --enable-nonfree --enable-libass --enable-libfreetype --enable-libopus --enable-libvorbis --enable-libfdk-aac --enable-libx265 --enable-libx264 --enable-libvpx --enable-libtheora --enable-x11grab --extra-cflags="-march=native -O3" --extra-cxxflags="-march=native -O3" make -j9 package-deb "ffmpeg-git" "$(git rev-list --count HEAD)" "ffmpeg" make distclean } function build-bomi() { git clone https://github.com/xylosper/bomi cd ~/.local/src/bomi ./download-libchardet ./build-libchardet sudo apt-fast install qt5-default qttools5-dev-tools lib{pulse,libasound2,jack}-dev \ lib{dvdread,dvdnav,bluray,glib2.0,libva,vdpau,xcb-icccm4,xcb-screensaver0}-dev \ lib{xcb-randr0,xcb-xtest0,systemd,cdio,cdio-cdda,cdio-paranoia,smbclient}-dev \ lib{qt5svg5,qt5x11extras5,xv,bz2}-dev qt-quick1-5-dev qtdeclarative5-dev \ qtdeclarative5-controls-plugin package-deb "bomi-git" "$(git rev-list --count HEAD)" "bomi" make distclean } cd ~/.local/src download-x265 download-ffmpeg download-libass build-libass build-x265 build-ffmpeg build-bomi ## Optional