homebrew-core/Formula/nu.rb
2013-05-03 11:43:13 -07:00

81 lines
2 KiB
Ruby

require 'formula'
class NeedsLion < Requirement
fatal true
satisfy MacOS.version >= :lion
def message
"Nu requires Mac OS X 10.7 or newer"
end
end
class Nu < Formula
homepage 'http://programming.nu'
url 'http://programming.nu/releases/Nu-2.0.1.tgz'
sha1 'c0735f8f3daec9471b849f8e96827b5eef0ec44e'
depends_on NeedsLion
depends_on 'pcre'
fails_with :llvm do
build 2336
cause 'nu only builds with clang'
end
fails_with :gcc do
build 5666
cause 'nu only builds with clang'
end
def install
ENV['PREFIX'] = prefix
inreplace "Makefile" do |s|
cflags = s.get_make_var "CFLAGS"
s.change_make_var! "CFLAGS", "#{cflags} #{ENV["CPPFLAGS"]}"
# nu hardcodes its compiler paths to a location which no longer works
# This should work for both Xcode-only and CLT-only systems
s.gsub! "$(DEVROOT)/usr/bin/clang", ENV.cc
end
inreplace "Nukefile" do |s|
s.gsub!'"#{DEVROOT}/usr/bin/clang"', "\"#{ENV.cc}\""
case Hardware.cpu_type
when :intel
arch = :i386
when :ppc
arch = :ppc
end
arch = :x86_64 if arch == :i386 && Hardware.is_64_bit?
s.sub!(/^;;\(set @arch '\("i386"\)\)$/, "(set @arch '(\"#{arch}\"))") unless arch.nil?
s.gsub!('(SH "sudo ', '(SH "') # don't use sudo to install
s.gsub!('#{@destdir}/Library/Frameworks', '#{@prefix}/Library/Frameworks')
s.sub! /^;; source files$/, <<-EOS
;; source files
(set @framework_install_path "#{frameworks}")
EOS
end
system "make"
system "./mininush", "tools/nuke"
bin.mkdir
lib.mkdir
include.mkdir
system "./mininush", "tools/nuke", "install"
end
def caveats
if self.installed? and File.exists? frameworks+"Nu.framework"
return <<-EOS.undent
Nu.framework was installed to:
#{frameworks}/Nu.framework
You may want to symlink this Framework to a standard OS X location,
such as:
ln -s "#{frameworks}/Nu.framework" /Library/Frameworks
EOS
end
return nil
end
end