aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/audiofile.rb
blob: 8567d98b30b0d11c04e47727c59d42e8d7047e6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
require 'formula'

class Audiofile < Formula
  homepage 'http://www.68k.org/~michael/audiofile/'
  url 'https://github.com/downloads/mpruett/audiofile/audiofile-0.3.4.tar.gz'
  sha1 'e6f664b0d551df35ce0c10e38e5617bcd4605335'

  option 'with-lcov', 'Enable Code Coverage support using lcov.'
  option 'with-check', 'Run the test suite during install ~30sec'

  depends_on 'lcov' if build.include? 'with-lcov'

  def install
    args = ["--disable-dependency-tracking", "--prefix=#{prefix}"]
    args << '--enable-coverage' if build.include? 'with-lcov'
    system "./configure", *args
    system "make"
    system "make check" if build.include? 'with-check'
    system "make install"
  end

  def test
    inn  = '/System/Library/Sounds/Glass.aiff'
    out  = 'Glass.wav'
    conv_bin = "#{bin}/sfconvert"
    info_bin = "#{bin}/sfinfo"

    unless File.exist?(conv_bin) and File.exist?(inn) and File.exist?(info_bin)
      opoo <<-EOS.undent
        One of the following files could not be located, and so
        the test was not executed:
           #{inn}
           #{conv_bin}
           #{info_bin}

        Audiofile can also be tested at build-time:
          brew install -v audiofile --with-check
      EOS
      return
    end

    mktemp do
      system conv_bin, inn, out, 'format', 'wave'
      system info_bin, '--short', '--reporterror', out
    end
  end
end