aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/unrar.rb
blob: 77bc69eecfec6bf7c02df5aebff76ffdc82e4025 (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
require 'formula'

class Unrar < Formula
  homepage 'http://www.rarlab.com'
  url 'http://www.rarlab.com/rar/unrarsrc-5.2.2.tar.gz'
  sha1 '5e30ab23aab82d2f8b747c5b6f7187e364eb360c'

  bottle do
    cellar :any
    sha1 "33e33999f8777632f6bfe858d47d7cca067eca24" => :yosemite
    sha1 "867a35827ffed8138962935311cb7bf330e63ec0" => :mavericks
    sha1 "127dd227504144b31a5513499ad72f6abe100953" => :mountain_lion
  end

  def install
    system "make"
    bin.install 'unrar'
  end

  test do
    contentpath = "directory/file.txt"
    rarpath = testpath/"archive.rar"
    data =  'UmFyIRoHAM+QcwAADQAAAAAAAACaCHQggDIACQAAAAkAAAADtPej1LZwZE' +
            'QUMBIApIEAAGRpcmVjdG9yeVxmaWxlLnR4dEhvbWVicmV3CsQ9ewBABwA='

    rarpath.write data.unpack('m').first
    assert_equal contentpath, `#{bin}/unrar lb #{rarpath}`.strip
    assert_equal 0, $?.exitstatus

    system "#{bin}/unrar", "x", rarpath, testpath
    assert_equal "Homebrew\n", (testpath/contentpath).read
  end
end