Mercurial > vanilla
changeset 746:2f3982164f57
multimedia/ffmpeg: initial import, closes #1256
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 07 Aug 2019 20:10:00 +0200 |
parents | 59a2fa6992bc |
children | 937000d6f425 |
files | multimedia/ffmpeg/ffmpeg.sh multimedia/ffmpeg/ffmpeg.sha1 |
diffstat | 2 files changed, 345 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/multimedia/ffmpeg/ffmpeg.sh Wed Aug 07 20:10:00 2019 +0200 @@ -0,0 +1,344 @@ +#!/bin/sh +# +# Copyright (c) 2019 David Demelier <markand@malikania.fr> +# +# Permission to use, copy, modify, and/or 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. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# + +# TODO: add the following options once the dependencies are available: +# +# OPENAL +# CHROMAPRINT +# FREI0R +# LADSPA +# AOM +# CACA +# CELT +# CDIO +# AAC (libfdk-aac) +# FLITE +# GME +# GSM +# MODPLUG +# OPENCV +# H264 +# JPEG (openjpeg) +# SAMBA +# SNAPPY +# SOX +# TENSORFLOW +# MP2 +# V4L +# VPX +# WAVPACK +# X264 +# SDL2 + +PKGNAME=ffmpeg +PKGVERSION=4.2 +PKGREVISION=1 +PKGLICENSE="LGPLv21+" +PKGSUMMARY="cross-platform solution to convert audio and video" +PKGDOWNLOAD="https://ffmpeg.org/releases/$PKGNAME-4.2.tar.bz2" +PKGDEPENDS="" +PKGOPTIONS="ALSA + BLURAY + BZIP2 + CRYPTO + FONTCONFIG + FREETYPE + FRIBIDI + GMP + JACK + LZMA + MP3 + OPENGL + OPUS + PULSEAUDIO + SPEEX + SSH + SSL + SVG + THEORA + VORBIS + WEBP + X + X265 + XML + ZLIB" + +: ${ALSA:=yes} +: ${BLURAY:=no} +: ${BZIP2:=yes} +: ${CRYPTO:=no} +: ${FONTCONFIG:=no} +: ${FREETYPE:=no} +: ${FRIBIDI:=no} +: ${GMP:=no} +: ${JACK:=no} +: ${LZMA:=yes} +: ${MP3:=yes} +: ${OPENGL:=no} +: ${OPUS:=no} +: ${PULSEAUDIO:=no} +: ${SPEEX:=no} +: ${SSH:=no} +: ${SSL:=no} +: ${SVG:=no} +: ${THEORA:=no} +: ${VORBIS:=no} +: ${WEBP:=no} +: ${X265:=no} +: ${X:=no} +: ${XML:=no} +: ${ZLIB:=no} + +if [ "$ALSA" = "yes" ]; then + PKGDEPENDS="audio/alsa-lib $PKGDEPENDS" + with_alsa="--enable-alsa" +else + with_alsa="--disable-alsa" +fi + +if [ "$BLURAY" = "yes" ]; then + PKGDEPENDS="multimedia/libbluray $PKGDEPENDS" + with_bluray="--enable-libbluray" +else + with_bluray="--disable-libbluray" +fi + +if [ "$BZIP2" = "yes" ]; then + PKGDEPENDS="compression/bzip2 $PKGDEPENDS" + with_bzip2="--enable-bzlib" +else + with_bzip2="--disable-bzlib" +fi + +if [ "$CRYPTO" = "yes" ]; then + PKGDEPENDS="crypto/libgcrypt $PKGDEPENDS" + with_crypto="--enable-gcrypt" +else + with_crypto="--disable-gcrypt" +fi + +if [ "$FONTCONFIG" = "yes" ]; then + PKGDEPENDS="fonts/fontconfig $PKGDEPENDS" + with_fontconfig="--enable-fontconfig" +else + with_fontconfig="--disable-fontconfig" +fi + +if [ "$FREETYPE" = "yes" ]; then + PKGDEPENDS="fonts/freetype $PKGDEPENDS" + with_freetype="--enable-libfreetype" +else + with_freetype="--disable-libfreetype" +fi + +if [ "$FRIBIDI" = "yes" ]; then + PKGDEPENDS="fonts/fribidi $PKGDEPENDS" + with_fribidi="--enable-libfribidi" +else + with_fribidi="--disable-libfribidi" +fi + +if [ "$GMP" = "yes" ]; then + PKGDEPENDS="lib/gmp $PKGDEPENDS" + with_gmp="--enable-gmp" +else + with_gmp="--disable-gmp" +fi + +if [ "$JACK" = "yes" ]; then + PKGDEPENDS="audio/jack $PKGDEPENDS" + with_jack="--enable-libjack" +else + with_jack="--disable-libjack" +fi + +if [ "$LZMA" = "yes" ]; then + PKGDEPENDS="compression/xz $PKGDEPENDS" + with_lzma="--enable-lzma" +else + with_lzma="--disable-lzma" +fi + +if [ "$MP3" = "yes" ]; then + PKGDEPENDS="audio/lame $PKGDEPENDS" + with_mp3="--enable-libmp3lame" +else + with_mp3="--disable-libmp3lame" +fi + +if [ "$OPENGL" = "yes" ]; then + PKGDEPENDS="graphics/mesa $PKGDEPENDS" + with_opengl="--enable-opengl" +else + with_opengl="--disable-opengl" +fi + +if [ "$OPUS" = "yes" ]; then + PKGDEPENDS="audio/opus $PKGDEPENDS" + with_opus="--enable-libopus" +else + with_opus="--disable-libopus" +fi + +if [ "$PULSEAUDIO" = "yes" ]; then + PKGDEPENDS="audio/pulseaudio $PKGDEPENDS" + with_pulseaudio="--enable-libpulse" +else + with_pulseaudio="--disable-libpulse" +fi + +if [ "$SPEEX" = "yes" ]; then + PKGDEPENDS="audio/speex $PKGDEPENDS" + with_speex="--enable-libspeex" +else + with_speex="--disable-libspeex" +fi + +if [ "$SSH" = "yes" ]; then + PKGDEPENDS="network/libssh $PKGDEPENDS" + with_ssh="--enable-libssh" +else + with_ssh="--disable-libssh" +fi + +if [ "$SSL" = "yes" ] || [ "$SSL" = "libressl" ]; then + PKGDEPENDS="crypto/libressl $PKGDEPENDS" + with_ssl="--enable-libtls" +elif [ "$SSL" = "gnutls" ]; then + PKGDEPENDS="crypto/gnutls $PKGDEPENDS" + with_ssl="--enable-gnutls" +else + with_ssl="--disable-gnutls --disable-libtls --disable-openssl --disable-mbedtls" +fi + +if [ "$SVG" = "yes" ]; then + PKGDEPENDS="graphics/librsvg $PKGDEPENDS" + with_svg="--enable-librsvg" +else + with_svg="--disable-librsvg" +fi + +if [ "$THEORA" = "yes" ]; then + PKGDEPENDS="multimedia/libtheora $PKGDEPENDS" + with_theora="--enable-libtheora" +else + with_theora="--disable-libtheora" +fi + +if [ "$VORBIS" = "yes" ]; then + PKGDEPENDS="audio/libvorbis $PKGDEPENDS" + with_vorbis="--enable-libvorbis" +else + with_vorbis="--disable-libvorbis" +fi + +if [ "$WEBP" = "yes" ]; then + PKGDEPENDS="graphics/libwebp $PKGDEPENDS" + with_webp="--enable-libwebp" +else + with_webp="--disable-libwebp" +fi + +if [ "$X265" = "yes" ]; then + PKGDEPENDS="multimedia/x265 $PKGDEPENDS" + with_x265="--enable-libx265" +else + with_x265="--disable-libx265" +fi + +if [ "$X" = "yes" ]; then + PKGDEPENDS="x11/libx11 x11/libxcb $PKGDEPENDS" + with_x="--enable-xlib" + with_x="--enable-libxcb $with_x" + with_x="--enable-libxcb-shm $with_x" + with_x="--enable-libxcb-xfixes $with_x" + with_x="--enable-libxcb-shape $with_x" +else + with_x="--disable-xlib" + with_x="--disable-libxcb $with_x" + with_x="--disable-libxcb-shm $with_x" + with_x="--disable-libxcb-xfixes $with_x" + with_x="--disable-libxcb-shape $with_x" +fi + +if [ "$XML" = "yes" ]; then + PKGDEPENDS="text/libxml2 $PKGDEPENDS" + with_xml="--enable-libxml2" +else + with_xml="--disable-libxml2" +fi + +if [ "$ZLIB" = "yes" ]; then + PKGDEPENDS="compression/zlib $PKGDEPENDS" + with_zlib="--enable-zlib" +else + with_zlib="--disable-zlib" +fi + +: ${CC:=clang} +: ${CFLAGS:=-O2} +: ${CXX:=clang++} +: ${CXXFLAGS:=-O2} +: ${LDFLAGS:=} +: ${LIBS:=} + +build() +{ + rm -rf $PKGNAME-$PKGVERSION + tar xvf $PKGNAME-$PKGVERSION.tar.bz2 + cd $PKGNAME-$PKGVERSION + + CC="$CC" \ + CFLAGS="$CFLAGS" \ + CXX="$CXX" \ + CXXFLAGS="$CXXFLAGS" \ + LDFLAGS="$LDFLAGS" \ + LIBS="$LIBS" \ + ./configure \ + --prefix=/. \ + --enable-shared \ + $with_alsa \ + $with_bluray \ + $with_bzip2 \ + $with_crypto \ + $with_fontconfig \ + $with_freetype \ + $with_fribidi \ + $with_gmp \ + $with_jack \ + $with_lzma \ + $with_mp3 \ + $with_opengl \ + $with_opus \ + $with_pulseaudio \ + $with_speex \ + $with_ssh \ + $with_ssl \ + $with_svg \ + $with_theora \ + $with_vorbis \ + $with_webp \ + $with_x265 \ + $with_x \ + $with_xml \ + $with_zlib + make + make install DESTDIR=$DESTDIR + + cd .. + rm -rf $PKGNAME-$PKGVERSION +}