From ee66a7cd8f0d64f67a469dd437cb657ae7b5bcf3 Mon Sep 17 00:00:00 2001 From: Philip Wernersbach Date: Sun, 14 Dec 2014 17:44:39 -0500 Subject: nimrod 0.9.6, add HEAD --- Library/Formula/nimrod.rb | 69 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 50 insertions(+), 19 deletions(-) (limited to 'Library/Formula') diff --git a/Library/Formula/nimrod.rb b/Library/Formula/nimrod.rb index 3749c8563..96291696e 100644 --- a/Library/Formula/nimrod.rb +++ b/Library/Formula/nimrod.rb @@ -1,33 +1,64 @@ require 'formula' class Nimrod < Formula - homepage 'http://nimrod-code.org/' - url 'http://nimrod-code.org/download/nimrod_0.9.2.zip' - sha1 '326ecd61d6df45afdc04cb8685ef46f8fb8f9e47' + homepage "http://nimrod-lang.org/" - head 'https://github.com/Araq/Nimrod.git' + stable do + url "http://nimrod-lang.org/download/nimrod_0.9.6.zip" + sha1 "a0be99cd67ca2283c6cf076bb7edee74d2f32dc5" + + # This patch fixes an OS X-specific codegen issue. + # See http://github.com/Araq/Nimrod/issues/1701 + patch :DATA + end + + head "https://github.com/Araq/Nimrod.git", :branch => "devel" - # Install to libexec until an upstream fix appears for - # https://github.com/Araq/Nimrod/issues/459 def install - system "/bin/sh", "./build.sh" - inreplace 'install.sh', '$1/nimrod', '$1' - system "/bin/sh", "./install.sh", libexec + # For some reason the mingw variable doesn't get passed through, + # so hardcode it. This is fixed in HEAD. + inreplace "compiler/nimrod.ini", "${mingw}", "mingw32" unless build.head? + + system "/bin/sh", "build.sh" + system "/bin/sh", "install.sh", prefix + + if build.stable? + (prefix/"nimrod").install "compiler" + bin.install_symlink prefix/"nimrod/bin/nimrod" + else + (prefix/"nim").install "compiler" + bin.install_symlink prefix/"nim/bin/nim" + bin.install_symlink prefix/"nim/bin/nim" => "nimrod" + end end test do - (testpath/'hello.nim').write <<-EOS.undent + (testpath/"hello.nim").write <<-EOS.undent echo("Hi!") EOS - system "#{libexec}/bin/nimrod", "compile", "--run", "hello.nim" + system "#{bin}/nimrod", "compile", "--run", "hello.nim" end +end - def caveats; <<-EOS.undent - Nimrod has been installed to #{libexec}. - The compiler will currently fail to find system.nim if called through a - symlink. To compile nim files, specify the full path to the compiler: +__END__ +--- a/lib/pure/concurrency/cpuinfo.nim ++++ b/lib/pure/concurrency/cpuinfo.nim +@@ -20,15 +20,15 @@ when defined(linux): + import linux - #{libexec}/bin/nimrod compile --run hello.nim - EOS - end -end + when defined(freebsd) or defined(macosx): +- {.emit:"#include ".} ++ {.emit:"#include \n".} + + when defined(openbsd) or defined(netbsd): +- {.emit:"#include ".} ++ {.emit:"#include \n".} + + when defined(macosx) or defined(bsd): + # we HAVE to emit param.h before sysctl.h so we cannot use .header here + # either. The amount of archaic bullshit in Poonix based OSes is just insane. +- {.emit:"#include ".} ++ {.emit:"#include \n".} + const + CTL_HW = 6 + HW_AVAILCPU = 25 -- cgit v1.2.3