homebrew-core/Formula/yaws.rb
Susan Potter 7b26d1931c yaws 1.96 plus --HEAD
Changes include:
* Update release from 1.94 to 1.96 in yaws formula using GitHub's releases URL
* Update `sha1` for new source archive
* Provide `--HEAD` option for yaws formula (needed for newer Erlang versions)
* Add `test` method with a basic tests for yaws formula
* Revert private method extraction to address method extraction from @adamv
* Use autoconf for yaws formula and specify build dependency on autoconf
* Add patches for yaws formula which is necessary for Erlang R16B01 and above
* Make tests valid for `--HEAD` builds even when the next version is bumped

Closes Homebrew/homebrew#23076.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-10-06 18:42:10 -07:00

62 lines
1.8 KiB
Ruby

require 'formula'
class Yaws < Formula
homepage 'http://yaws.hyber.org'
url 'https://github.com/klacke/yaws/archive/yaws-1.96.tar.gz'
sha1 'c12fc517832299e95c3e02359edfc2271af9cc68'
head 'https://github.com/klacke/yaws.git'
option "without-yapp", "Omit yaws applications"
option '32-bit'
depends_on 'erlang'
depends_on 'autoconf' => :build
# the default config expects these folders to exist
skip_clean 'var/log/yaws'
skip_clean 'lib/yaws/examples/ebin'
skip_clean 'lib/yaws/examples/include'
# Patch is only pertinent for 1.96 tagged release and Erlang R16B01+
# In newer versions of Erlang crypto:sha/1 is deprecated which fails
# the compilation since it is treating warnings as errors.
# This patch adds logic to use crypto:hash/2 for newer versions of
# Erlang (R16B01+). --HEAD installs already have this fix in place thus
# why it isn't included for --HEAD installs
def patches
unless build.head?
{ :p1 => [ 'https://github.com/klacke/yaws/compare/yaws-1.96...98db40b3d301254a86820a837848660cb9e1b2f0.diff' ] }
end
end
def install
if build.build_32_bit?
%w{ CFLAGS LDFLAGS }.each do |compiler_flag|
ENV.remove compiler_flag, "-arch #{Hardware::CPU.arch_64_bit}"
ENV.append compiler_flag, "-arch #{Hardware::CPU.arch_32_bit}"
end
end
system "autoconf"
system "./configure", "--prefix=#{prefix}"
system "make install"
unless build.include? 'without-yapp'
cd 'applications/yapp' do
system "make"
system "make install"
end
end
# the default config expects these folders to exist
(lib/'yaws/examples/ebin').mkpath
(lib/'yaws/examples/include').mkpath
(var/'log/yaws').mkpath
(var/'yaws/www').mkpath
end
def test
system bin/'yaws', '--version'
end
end