87 lines
2.7 KiB
Ruby
87 lines
2.7 KiB
Ruby
require 'formula'
|
|
|
|
class Mplayer < Formula
|
|
homepage 'http://www.mplayerhq.hu/'
|
|
url 'http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.1.tar.xz'
|
|
sha1 '913a4bbeab7cbb515c2f43ad39bc83071b2efd75'
|
|
|
|
head 'svn://svn.mplayerhq.hu/mplayer/trunk', :using => StrictSubversionDownloadStrategy
|
|
|
|
option 'with-x', 'Build with X11 support'
|
|
option 'without-osd', 'Build without OSD'
|
|
|
|
depends_on 'yasm' => :build
|
|
depends_on 'xz' => :build
|
|
depends_on 'libcaca' => :optional
|
|
depends_on :x11 if build.include? 'with-x'
|
|
|
|
unless build.include? 'without-osd' or build.include? 'with-x'
|
|
# These are required for the OSD. We can get them from X11, or we can
|
|
# build our own.
|
|
depends_on :fontconfig
|
|
depends_on :freetype
|
|
end
|
|
|
|
fails_with :clang do
|
|
build 211
|
|
cause 'Inline asm errors during compile on 32bit Snow Leopard.'
|
|
end unless MacOS.prefer_64_bit?
|
|
|
|
def patches
|
|
# When building SVN, configure prompts the user to pull FFmpeg from git.
|
|
# Don't do that.
|
|
DATA if build.head?
|
|
end
|
|
|
|
def install
|
|
# (A) Do not use pipes, per bug report and MacPorts
|
|
# * https://github.com/mxcl/homebrew/issues/622
|
|
# * http://trac.macports.org/browser/trunk/dports/multimedia/mplayer-devel/Portfile
|
|
# (B) Any kind of optimisation breaks the build
|
|
# (C) It turns out that ENV.O1 fixes link errors with llvm.
|
|
ENV['CFLAGS'] = ''
|
|
ENV['CXXFLAGS'] = ''
|
|
ENV.O1 if ENV.compiler == :llvm
|
|
|
|
# we disable cdparanoia because homebrew's version is hacked to work on OS X
|
|
# and mplayer doesn't expect the hacks we apply. So it chokes.
|
|
# Specify our compiler to stop ffmpeg from defaulting to gcc.
|
|
# Disable openjpeg because it defines int main(), which hides mplayer's main().
|
|
# This issue was reported upstream against openjpeg 1.5.0:
|
|
# http://code.google.com/p/openjpeg/issues/detail?id=152
|
|
args = %W[
|
|
--prefix=#{prefix}
|
|
--cc=#{ENV.cc}
|
|
--host-cc=#{ENV.cc}
|
|
--disable-cdparanoia
|
|
--disable-libopenjpeg
|
|
]
|
|
|
|
args << "--enable-menu" unless build.include? 'without-osd'
|
|
args << "--disable-x11" unless build.include? 'with-x'
|
|
args << "--enable-caca" if build.with? 'libcaca'
|
|
|
|
system "./configure", *args
|
|
system "make"
|
|
system "make install"
|
|
end
|
|
|
|
def test
|
|
system "#{bin}/mplayer", "-ao", "null", "/System/Library/Sounds/Glass.aiff"
|
|
end
|
|
end
|
|
|
|
__END__
|
|
diff --git a/configure b/configure
|
|
index a1fba5f..5deaa80 100755
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -49,8 +49,6 @@ if test -e ffmpeg/mp_auto_pull ; then
|
|
fi
|
|
|
|
if ! test -e ffmpeg ; then
|
|
- echo "No FFmpeg checkout, press enter to download one with git or CTRL+C to abort"
|
|
- read tmp
|
|
if ! git clone --depth 1 git://source.ffmpeg.org/ffmpeg.git ffmpeg ; then
|
|
rm -rf ffmpeg
|
|
echo "Failed to get a FFmpeg checkout"
|