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>
This commit is contained in:
parent
1b8f38f110
commit
f2182f22bc
1 changed files with 33 additions and 0 deletions
|
@ -30,6 +30,7 @@ class Gnuplot < Formula
|
|||
option 'tests', 'Verify the build with make check (1 min)'
|
||||
option 'without-emacs', 'Do not build Emacs lisp files'
|
||||
option 'latex', 'Build with LaTeX support'
|
||||
option 'without-aquaterm', 'Do not build AquaTerm support'
|
||||
|
||||
depends_on 'pkg-config' => :build
|
||||
depends_on LuaRequirement unless build.include? 'nolua'
|
||||
|
@ -43,6 +44,26 @@ class Gnuplot < Formula
|
|||
depends_on :tex if build.include? 'latex'
|
||||
|
||||
def install
|
||||
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"
|
||||
|
||||
unless build.head?
|
||||
# Fix up Gnuplot v4.6.x to accommodate framework style linking. This is
|
||||
# required with a standard install of AquaTerm 1.1.1 and is supported under
|
||||
# earlier versions of AquaTerm. Refer:
|
||||
# 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
|
||||
inreplace "configure", "-laquaterm", "-framework AquaTerm"
|
||||
inreplace "term/aquaterm.trm", "<aquaterm/AQTAdapter.h>", "<AquaTerm/AQTAdapter.h>"
|
||||
end
|
||||
elsif !build.head?
|
||||
inreplace "configure", "-laquaterm", ""
|
||||
end
|
||||
|
||||
# Help configure find libraries
|
||||
readline = Formula.factory 'readline'
|
||||
pdflib = Formula.factory 'pdflib-lite'
|
||||
|
@ -61,6 +82,7 @@ class Gnuplot < Formula
|
|||
args << '--enable-qt' if build.include? 'qt'
|
||||
args << '--without-lua' if build.include? 'nolua'
|
||||
args << '--without-lisp-files' if build.include? 'without-emacs'
|
||||
args << build.with?('aquaterm') ? '--with-aquaterm' : '--without-aquaterm'
|
||||
|
||||
if build.include? 'latex'
|
||||
args << '--with-latex'
|
||||
|
@ -81,4 +103,15 @@ class Gnuplot < Formula
|
|||
def test
|
||||
system "#{bin}/gnuplot", "--version"
|
||||
end
|
||||
|
||||
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
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue