homebrew-core/Formula/io.rb

84 lines
2.3 KiB
Ruby

require 'formula'
class Io < Formula
homepage 'http://iolanguage.com/'
url 'https://github.com/stevedekorte/io/archive/2011.09.12.tar.gz'
sha1 'edb63aa4ee87052f1512f0770e0c9a9b1ba91082'
head 'https://github.com/stevedekorte/io.git'
option 'without-addons', 'Build without addons'
depends_on 'cmake' => :build
depends_on :python => :recommended
depends_on 'libevent'
depends_on 'libffi'
depends_on 'ossp-uuid'
depends_on 'pcre'
depends_on 'yajl'
depends_on 'xz'
# Used by Bignum add-on
depends_on 'gmp' unless build.include? 'without-addons'
# Used by Fonts add-on
depends_on :freetype unless build.include? 'without-addons'
fails_with :clang do
build 421
cause <<-EOS.undent
make never completes. see:
https://github.com/stevedekorte/io/issues/223
EOS
end
# Fix recursive inline. See discussion in:
# https://github.com/stevedekorte/io/issues/135
def patches
DATA
end
def install
ENV.j1
if build.without? 'addons'
inreplace "CMakeLists.txt",
'add_subdirectory(addons)',
'#add_subdirectory(addons)'
end
if build.without? 'python'
inreplace "addons/CMakeLists.txt",
'add_subdirectory(Python)',
'#add_subdirectory(Python)'
end
mkdir 'buildroot' do
args = std_cmake_args
# For Xcode-only systems, the headers of system's python are inside of Xcode:
args << "-DPYTHON_INCLUDE_DIR='#{python.incdir}'" if python
# Cmake picks up the system's python dylib, even if we have a brewed one:
args << "-DPYTHON_LIBRARY='#{python.libdir}/lib#{python.xy}.dylib'" if python
system "cmake", "..", *args
system 'make'
output = %x[./_build/binaries/io ../libs/iovm/tests/correctness/run.io]
if $?.exitstatus != 0
opoo "Test suite not 100% successful:\n#{output}"
else
ohai "Test suite ran successfully:\n#{output}"
end
system 'make install'
end
end
end
__END__
--- a/libs/basekit/source/Common_inline.h 2011-09-12 17:14:12.000000000 -0500
+++ b/libs/basekit/source/Common_inline.h 2011-12-17 00:46:02.000000000 -0600
@@ -52,7 +52,7 @@
#if defined(__APPLE__)
- #define NS_INLINE static __inline__ __attribute__((always_inline))
+ #define NS_INLINE static inline
#ifdef IO_IN_C_FILE
// in .c