aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorBrett Koonce2013-12-09 15:31:56 -0600
committerMike McQuaid2014-01-06 16:49:45 +0000
commit5e0c119dd1fca631677347f87212f96ff58d631c (patch)
treeb49fe7df2d92b578f57a35b34fcd87402dcb0a6c /Library
parent659aeb7d3e9efe6033579c7bb21697abed5cc886 (diff)
downloadhomebrew-5e0c119dd1fca631677347f87212f96ff58d631c.tar.bz2
ecasound 2.9.0
Closes #25092. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library')
-rw-r--r--Library/Formula/ecasound.rb36
1 files changed, 33 insertions, 3 deletions
diff --git a/Library/Formula/ecasound.rb b/Library/Formula/ecasound.rb
index bcd039116..fe3cf9b49 100644
--- a/Library/Formula/ecasound.rb
+++ b/Library/Formula/ecasound.rb
@@ -1,13 +1,23 @@
require 'formula'
-# 2.9.0 is out, but uses clock_gettime which is not available on OS X
class Ecasound < Formula
homepage 'http://www.eca.cx/ecasound/'
- url 'http://ecasound.seul.org/download/ecasound-2.8.1.tar.gz'
- sha1 '55c42a611ce59ea2b92461f49358a0cd54c40fe0'
+ url 'http://ecasound.seul.org/download/ecasound-2.9.0.tar.gz'
+ sha1 'aed604742968085a8e95cdebb21dc62f1d90d2b5'
option "with-ruby", "Compile with ruby support"
+ # 2.9.0 uses clock_gettime which is not available on OS X, patch upstream:
+ # http://sourceforge.net/p/ecasound/code/ci/6524048e0717dfbbf7e243edb5b96b40e5983782/tree/kvutils/kvu_threads.cpp?diff=4db2d070691fbabf6af47c68f054a9efcb6d8d47
+ def patches; DATA; end
+
+ fails_with :clang do
+ build 500
+ cause <<-EOS.undent
+ clang does not like the fstream imports ecasound uses.
+ EOS
+ end
+
def install
args = %W[
--disable-debug
@@ -19,3 +29,23 @@ class Ecasound < Formula
system "make install"
end
end
+
+__END__
+--- a/kvutils/kvu_threads.cpp
++++ b/kvutils/kvu_threads.cpp
+@@ -122,8 +122,15 @@
+ #endif
+ }
+ else {
++#if defined(CLOCK_REALTIME)
+ res = clock_gettime(CLOCK_REALTIME, out);
+ out->tv_sec += seconds;
++#else
++ struct timeval tv;
++ res = gettimeofday(&tv, NULL);
++ out->tv_sec = tv.tv_sec + seconds;
++ out->tv_nsec = tv.tv_usec * 1000;
++#endif
+ }
+
+ return res;