ad7c1005c4
Upgrade ffmpeg to version 0.10.3 which includes many security fixes and bugfixes. The changelog can be seen in their git repo under the 0.10.3 tag, tree view, raw link to Changelog. This still fails with llvm on Lion with undefined symbols. Using clang all the the tools and ffplay compile and display an mkv with sound using sdl. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
89 lines
2.8 KiB
Ruby
89 lines
2.8 KiB
Ruby
require 'formula'
|
|
|
|
def ffplay?
|
|
ARGV.include? '--with-ffplay'
|
|
end
|
|
|
|
class Ffmpeg < Formula
|
|
homepage 'http://ffmpeg.org/'
|
|
url 'http://ffmpeg.org/releases/ffmpeg-0.10.3.tar.bz2'
|
|
sha1 '4fb6f682dbc1b4ea54178040d515fc3a4c05d415'
|
|
|
|
head 'git://git.videolan.org/ffmpeg.git'
|
|
|
|
depends_on 'yasm' => :build
|
|
depends_on 'x264' => :optional
|
|
depends_on 'faac' => :optional
|
|
depends_on 'lame' => :optional
|
|
depends_on 'rtmpdump' => :optional
|
|
depends_on 'theora' => :optional
|
|
depends_on 'libvorbis' => :optional
|
|
depends_on 'libogg' => :optional
|
|
depends_on 'libvpx' => :optional
|
|
depends_on 'xvid' => :optional
|
|
depends_on 'opencore-amr' => :optional
|
|
depends_on 'libass' => :optional
|
|
|
|
depends_on 'sdl' if ffplay?
|
|
|
|
fails_with :llvm do
|
|
cause 'Undefined symbols when linking libavfilter'
|
|
end
|
|
|
|
def options
|
|
[
|
|
["--with-tools", "Install additional FFmpeg tools."],
|
|
["--with-ffplay", "Build ffplay."]
|
|
]
|
|
end
|
|
|
|
def install
|
|
ENV.x11
|
|
args = ["--prefix=#{prefix}",
|
|
"--enable-shared",
|
|
"--enable-gpl",
|
|
"--enable-version3",
|
|
"--enable-nonfree",
|
|
"--enable-hardcoded-tables",
|
|
"--enable-libfreetype",
|
|
"--cc=#{ENV.cc}"]
|
|
|
|
args << "--enable-libx264" if Formula.factory('x264').linked_keg.exist?
|
|
args << "--enable-libfaac" if Formula.factory('faac').linked_keg.exist?
|
|
args << "--enable-libmp3lame" if Formula.factory('lame').linked_keg.exist?
|
|
args << "--enable-librtmp" if Formula.factory('rtmpdump').linked_keg.exist?
|
|
args << "--enable-libtheora" if Formula.factory('theora').linked_keg.exist?
|
|
args << "--enable-libvorbis" if Formula.factory('libvorbis').linked_keg.exist?
|
|
args << "--enable-libvpx" if Formula.factory('libvpx').linked_keg.exist?
|
|
args << "--enable-libxvid" if Formula.factory('xvid').linked_keg.exist?
|
|
args << "--enable-libopencore-amrnb" if Formula.factory('opencore-amr').linked_keg.exist?
|
|
args << "--enable-libopencore-amrwb" if Formula.factory('opencore-amr').linked_keg.exist?
|
|
args << "--enable-libass" if Formula.factory('libass').linked_keg.exist?
|
|
args << "--disable-ffplay" unless ffplay?
|
|
|
|
# For 32-bit compilation under gcc 4.2, see:
|
|
# http://trac.macports.org/ticket/20938#comment:22
|
|
if MacOS.leopard? or Hardware.is_32_bit?
|
|
ENV.append_to_cflags "-mdynamic-no-pic"
|
|
end
|
|
|
|
system "./configure", *args
|
|
|
|
if MacOS.prefer_64_bit?
|
|
inreplace 'config.mak' do |s|
|
|
shflags = s.get_make_var 'SHFLAGS'
|
|
if shflags.gsub!(' -Wl,-read_only_relocs,suppress', '')
|
|
s.change_make_var! 'SHFLAGS', shflags
|
|
end
|
|
end
|
|
end
|
|
|
|
system "make install"
|
|
|
|
if ARGV.include? "--with-tools"
|
|
system "make alltools"
|
|
bin.install Dir['tools/*'].select {|f| File.executable? f}
|
|
end
|
|
end
|
|
|
|
end
|