homebrew-core/Formula/sdl.rb
Dominyk Tiller 08981344bc sdl: added optional tests
Adds optional tests to SDL.

Closes Homebrew/homebrew#34353

Closes Homebrew/homebrew#34559.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-11-30 17:06:32 +00:00

103 lines
3.7 KiB
Ruby

require "formula"
class Sdl < Formula
homepage "http://www.libsdl.org/"
url "https://www.libsdl.org/release/SDL-1.2.15.tar.gz"
sha1 "0c5f193ced810b0d7ce3ab06d808cbb5eef03a2c"
bottle do
cellar :any
revision 1
sha1 "349711f92cec0b02b53439b3126fe540bfea04e1" => :yosemite
sha1 "77ec0e596a9a66c60f843a2528b38d2ef2e4c9f5" => :mavericks
sha1 "d27291ac68ac7c22e6c7b35d0e658a65a6f2d189" => :mountain_lion
end
head do
url "http://hg.libsdl.org/SDL", :branch => "SDL-1.2", :using => :hg
depends_on "autoconf" => :build
depends_on "automake" => :build
depends_on "libtool" => :build
end
option "with-x11", "Compile with support for X11 video driver"
option "with-tests", "Compile and install the tests"
option :universal
deprecated_option "with-x11-driver" => "with-x11"
depends_on :x11 => :optional
if build.with? "x11"
depends_on "autoconf" => :build
depends_on "automake" => :build
depends_on "libtool" => :build
# Fix build against recent libX11; requires regenerating configure script
patch do
url "http://hg.libsdl.org/SDL/raw-rev/91ad7b43317a"
sha1 "1b35949d9ac360a7e39aac76d1f0a6ad5381b0f4"
end
end
# Fix for a bug preventing SDL from building at all on OSX 10.9 Mavericks
# Related ticket: https://bugzilla.libsdl.org/show_bug.cgi?id=2085
patch do
url "http://bugzilla-attachments.libsdl.org/attachment.cgi?id=1320"
sha1 "3137feb503a89a8d606405373905b92dcf7e293b"
end
# Fix compilation error on 10.6 introduced by the above patch
patch do
url "http://bugzilla-attachments.libsdl.org/attachment.cgi?id=1324"
sha1 "08c19f077f56217fd300db390bca4c1a0bee0622"
end
def install
# we have to do this because most build scripts assume that all sdl modules
# are installed to the same prefix. Consequently SDL stuff cannot be
# keg-only but I doubt that will be needed.
inreplace %w[sdl.pc.in sdl-config.in], "@prefix@", HOMEBREW_PREFIX
ENV.universal_binary if build.universal?
system "./autogen.sh" if build.head? or build.with? "x11"
args = %W[--prefix=#{prefix}]
args << "--disable-nasm" unless MacOS.version >= :mountain_lion # might work with earlier, might only work with new clang
# LLVM-based compilers choke on the assembly code packaged with SDL.
args << "--disable-assembly" if ENV.compiler == :llvm or (ENV.compiler == :clang and MacOS.clang_build_version < 421)
args << "--without-x" if build.without? "x11"
args << "--with-x" if build.with? "x11"
system "./configure", *args
system "make", "install"
# Copy source files needed for Ojective-C support.
libexec.install Dir["src/main/macosx/*"] if build.stable?
# The resulting script in bin is hardcoded to /usr/local, which can cause pain.
inreplace "#{bin}/sdl-config", "prefix=/usr/local", "prefix=#{prefix}"
if build.with? "tests"
ENV.prepend_path "PATH", "#{bin}"
cd "test" do
system "./configure", "--prefix=#{libexec}/tests"
system "make"
# Upstream - Why no make install? Why?
(share+"tests").install %w{ checkkeys graywin loopwave testalpha testbitmap testblitspeed testcdrom
testcursor testdyngl testerror testfile testgamma testgl testhread testiconv
testjoystick testkeys testloadso testlock testoverlay testoverlay2 testpalette
testplatform testsem testsprite testtimer testver testvidinfo testwin testwm
threadwin torturethread }
(share+"test_extras").install %w{ icon.bmp moose.dat picture.xbm sail.bmp sample.bmp sample.wav }
bin.write_exec_script Dir["#{share}/tests/*"]
end
end
end
test do
system "#{bin}/sdl-config", "--version"
end
end