This repository has been archived by the owner on Jul 4, 2023. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes #15576. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
- Loading branch information
1 parent
cddf86a
commit 8083686
Showing
1 changed file
with
48 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,64 @@ | ||
require 'formula' | ||
|
||
class NeedsLion < Requirement | ||
fatal true | ||
satisfy MacOS.version >= :lion | ||
|
||
def message; <<-EOS.undent | ||
PovRay 3.7.0.RC6 requires Mac OS X 10.7 or newer. | ||
To install on Leopard or Snow Leopard: | ||
brew tap homebrew/versions | ||
brew install povray36 | ||
EOS | ||
end | ||
end | ||
|
||
class Povray < Formula | ||
url 'http://www.povray.org/ftp/pub/povray/Official/Unix/povray-3.6.1.tar.bz2' | ||
homepage 'http://www.povray.org/' | ||
sha1 '1fab3ccbdedafbf77e3a66087709bbdf60bc643d' | ||
|
||
depends_on 'libtiff' => :optional | ||
depends_on 'jpeg' => :optional | ||
url 'http://www.povray.org/beta/source/povray-3.7.0.RC6.tar.gz' | ||
version '3.7.0.RC6' | ||
sha256 '374957bdb90fb7be5f36f839b3f04ab0a4340f6e8cf369f658d6592a342803e3' | ||
|
||
# TODO give this a build number (2326?) | ||
fails_with :llvm do | ||
cause "povray fails with 'terminate called after throwing an instance of int'" | ||
end if MacOS.version == :leopard | ||
depends_on NeedsLion.new | ||
depends_on :libpng | ||
depends_on 'boost' | ||
depends_on 'jpeg' | ||
depends_on 'libtiff' | ||
depends_on 'openexr' => :optional | ||
|
||
def patches | ||
# povray has issues determining libpng version; can't get it to compile | ||
# against system libpng, but it works with its internal libpng. | ||
# Look at this again on the next povray version bump! | ||
{:p0 => "https://trac.macports.org/export/97719/trunk/dports/graphics/povray/files/patch-configure"} | ||
{:p0 => [ | ||
"http://svn.macports.org/repository/macports/trunk/dports/graphics/povray/files/patch-boost-1.50.diff", | ||
"http://svn.macports.org/repository/macports/trunk/dports/graphics/povray/files/patch-configure-stat.diff", | ||
"http://svn.macports.org/repository/macports/trunk/dports/graphics/povray/files/patch-lseek64.diff", | ||
"http://svn.macports.org/repository/macports/trunk/dports/graphics/povray/files/patch-vfe-uint.diff" | ||
]} | ||
end | ||
|
||
def install | ||
system "./configure", "--disable-debug", "--disable-dependency-tracking", | ||
"COMPILED_BY=homebrew", | ||
"--prefix=#{prefix}", | ||
"--mandir=#{man}" | ||
|
||
# while this is RC6, the code still says RC5, so update to reflect that | ||
inreplace [ 'VERSION', 'configure' ], '3.7.0.RC5', '3.7.0.RC6' | ||
|
||
# include the boost system library to resolve compilation conflicts | ||
ENV["LIBS"] = "-lboost_system-mt" | ||
|
||
args = [ | ||
"COMPILED_BY=homebrew", | ||
"--disable-debug", | ||
"--disable-dependency-tracking", | ||
"--prefix=#{prefix}", | ||
"--mandir=#{man}", | ||
] | ||
|
||
args << "--with-openexr=${HOMEBREW_PREFIX}" if build.include? "use-openexr" | ||
|
||
system "./configure", *args | ||
system "make install" | ||
end | ||
|
||
def test | ||
test do | ||
ohai "Rendering all test scenes; this may take a while" | ||
mktemp do | ||
system "#{share}/povray-3.6/scripts/allscene.sh", "-o", "." | ||
end | ||
system "#{share}/povray-3.7/scripts/allscene.sh", "-o", "." | ||
end | ||
end |