homebrew-core/Formula/gnuplot.rb

130 lines
4.3 KiB
Ruby
Raw Normal View History

2011-03-10 05:11:03 +00:00
class Gnuplot < Formula
desc "Command-driven, interactive function plotting"
homepage "http://www.gnuplot.info"
url "https://downloads.sourceforge.net/project/gnuplot/gnuplot/5.0.1/gnuplot-5.0.1.tar.gz"
sha256 "7cbc557e71df581ea520123fb439dea5f073adcc9010a2885dc80d4ed28b3c47"
2012-07-07 18:08:22 +00:00
2014-07-03 17:36:37 +00:00
bottle do
2015-06-30 01:52:04 +00:00
revision 1
sha256 "083a5efbc783c1375d549c89a15c6ec77f6a319be8ec08b5217b368356ae8270" => :yosemite
sha256 "fa1003970c98d29f3c85cf646753603cfe89c428dba78b26733ae39a3bea4b99" => :mavericks
sha256 "e8b857d4951c4ceaae42d792be9685dfe4a33387e49a7e42987efb85d51d892a" => :mountain_lion
2014-07-03 17:36:37 +00:00
end
2013-09-20 15:15:54 +00:00
head do
url ":pserver:anonymous:@gnuplot.cvs.sourceforge.net:/cvsroot/gnuplot", :using => :cvs
2013-09-20 15:15:54 +00:00
2014-12-04 17:01:22 +00:00
depends_on "autoconf" => :build
depends_on "automake" => :build
depends_on "libtool" => :build
2013-09-20 15:15:54 +00:00
end
option "with-cairo", "Build the Cairo based terminals"
option "without-lua", "Build without the lua/TikZ terminal"
option "with-tests", "Verify the build with make check"
option "without-emacs", "Do not build Emacs lisp files"
option "with-wxmac", "Build wxmac support. Need with-cairo to build wxt terminal"
option "with-latex", "Build with LaTeX support"
option "with-aquaterm", "Build with AquaTerm support"
2012-09-20 16:56:53 +00:00
2014-11-13 18:08:06 +00:00
deprecated_option "with-x" => "with-x11"
deprecated_option "pdf" => "with-pdflib-lite"
deprecated_option "wx" => "with-wxmac"
deprecated_option "qt" => "with-qt"
deprecated_option "nogd" => "without-gd"
deprecated_option "cairo" => "with-cairo"
deprecated_option "nolua" => "without-lua"
deprecated_option "tests" => "with-tests"
deprecated_option "latex" => "with-latex"
depends_on "pkg-config" => :build
depends_on "fontconfig"
depends_on "gd" => :recommended
depends_on "lua" => :recommended
2014-05-07 00:46:43 +00:00
depends_on "jpeg"
depends_on "libpng"
2014-05-07 00:46:43 +00:00
depends_on "libtiff"
depends_on "readline"
depends_on "pango" if (build.with? "cairo") || (build.with? "wxmac")
depends_on "pdflib-lite" => :optional
depends_on "qt" => :optional
depends_on "wxmac" => :optional
depends_on :tex if build.with? "latex"
depends_on :x11 => :optional
def install
gnuplot: fix AquaTerm 1.1.1 library detection Gnuplot supports use of AquaTerm as an output device on OSX, provided it detects an installed AquaTerm at build time. AquaTerm provides its support through a framework named 'AquaTerm', which is installed in the standard location '/Library/Frameworks'. Gnuplot v4.6.3 does not detect the current version of AquaTerm, v1.1.1, which was released in July 2012. This is due to a small change to the standard AquaTerm installation, which is designed to encourage client software to link to the framework using '-framework' style compiler options, in place of the traditional library style options. Gnuplot's trunk (v4.7) does now use this '-framework' style. References: https://github.com/AquaTerm/AquaTerm/blob/v1.1.1/aquaterm/ReleaseNotes#L1-11 https://github.com/AquaTerm/AquaTerm/blob/v1.1.1/aquaterm/INSTALL#L7-15 This formula change modifies Gnuplot 4.6.x's configure script to generate '-framework' style options, thereby allowing a standard installation of AquaTerm v1.1.1 to be detected. It also makes a minor modification to an 'import' specification, which is probably only of relevance on a case sensitive file system. Gnuplot trunk now includes a '--with-aquaterm' configure option, which is required before it will attempt to detect AquaTerm. This change adds a 'noaquaterm' option to the formula to support this (so we default to --with-aquaterm). The option will also be effective with Gnuplot v4.6.x. Closes Homebrew/homebrew#25121. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-02-05 14:50:59 +00:00
if build.with? "aquaterm"
# Add "/Library/Frameworks" to the default framework search path, so that an
# installed AquaTerm framework can be found. Brew does not add this path
# when building against an SDK (Nov 2013).
ENV.prepend "CPPFLAGS", "-F/Library/Frameworks"
ENV.prepend "LDFLAGS", "-F/Library/Frameworks"
end
# Help configure find libraries
2014-02-25 14:31:25 +00:00
pdflib = Formula["pdflib-lite"].opt_prefix
gd = Formula["gd"].opt_prefix
args = %W[
--disable-dependency-tracking
--disable-silent-rules
--prefix=#{prefix}
--with-readline=#{Formula["readline"].opt_prefix}
]
args << "--with-pdf=#{pdflib}" if build.with? "pdflib-lite"
args << ((build.with? "gd") ? "--with-gd=#{gd}" : "--without-gd")
if build.without? "wxmac"
args << "--disable-wxwidgets"
args << "--without-cairo" if build.without? "cairo"
end
if build.with? "qt"
args << "--with-qt"
else
args << "--with-qt=no"
end
args << "--without-lua" if build.without? "lua"
args << "--without-lisp-files" if build.without? "emacs"
args << ((build.with? "aquaterm") ? "--with-aquaterm" : "--without-aquaterm")
args << ((build.with? "x11") ? "--with-x" : "--without-x")
if build.with? "latex"
args << "--with-latex"
args << "--with-tutorial"
else
args << "--without-latex"
args << "--without-tutorial"
end
system "./prepare" if build.head?
system "./configure", *args
ENV.j1 # or else emacs tries to edit the same file with two threads
system "make"
system "make", "check" if build.with?("tests") || build.bottle?
system "make", "install"
end
gnuplot: fix AquaTerm 1.1.1 library detection Gnuplot supports use of AquaTerm as an output device on OSX, provided it detects an installed AquaTerm at build time. AquaTerm provides its support through a framework named 'AquaTerm', which is installed in the standard location '/Library/Frameworks'. Gnuplot v4.6.3 does not detect the current version of AquaTerm, v1.1.1, which was released in July 2012. This is due to a small change to the standard AquaTerm installation, which is designed to encourage client software to link to the framework using '-framework' style compiler options, in place of the traditional library style options. Gnuplot's trunk (v4.7) does now use this '-framework' style. References: https://github.com/AquaTerm/AquaTerm/blob/v1.1.1/aquaterm/ReleaseNotes#L1-11 https://github.com/AquaTerm/AquaTerm/blob/v1.1.1/aquaterm/INSTALL#L7-15 This formula change modifies Gnuplot 4.6.x's configure script to generate '-framework' style options, thereby allowing a standard installation of AquaTerm v1.1.1 to be detected. It also makes a minor modification to an 'import' specification, which is probably only of relevance on a case sensitive file system. Gnuplot trunk now includes a '--with-aquaterm' configure option, which is required before it will attempt to detect AquaTerm. This change adds a 'noaquaterm' option to the formula to support this (so we default to --with-aquaterm). The option will also be effective with Gnuplot v4.6.x. Closes Homebrew/homebrew#25121. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-02-05 14:50:59 +00:00
def caveats
if build.with? "aquaterm"
<<-EOS.undent
AquaTerm support will only be built into Gnuplot if the standard AquaTerm
package from SourceForge has already been installed onto your system.
If you subsequently remove AquaTerm, you will need to uninstall and then
reinstall Gnuplot.
EOS
end
end
test do
system "#{bin}/gnuplot", "-e", <<-EOS.undent
set terminal png;
set output "#{testpath}/image.png";
plot sin(x);
EOS
File.exist? testpath/"image.png"
end
end