aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/mat.rb
blob: 2fa41f1e5e062f761132cc6607fac895ef44fb1d (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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
require "formula"

# OSX has case-insensitive file names, and the Mat archive contains a 'MAT'
# directory *and* a 'mat' file. `tar xf` will fail on it, so we rename 'mat'
# into 'mat-cli' here.
class MatDownloadStrategy < CurlDownloadStrategy
  def stage
    if tarball_path.compression_type == :xz
      with_system_path do
        safe_system "#{xzpath} -dc \"#{tarball_path}\" | tar xf - -s ',/mat$,/mat-cli,'"
      end
      chdir
    else
      super
    end
  end
end

class Mat < Formula
  homepage "https://mat.boum.org/"
  url "https://mat.boum.org/files/mat-0.5.2.tar.xz", :using => MatDownloadStrategy
  sha1 "932ac13863c994ca8874e3271f817efd879e28c3"

  depends_on :python
  depends_on 'coreutils'
  depends_on 'poppler'
  depends_on 'intltool' => :build
  depends_on 'gettext' => :build

  depends_on 'exiftool' => :optional

  option 'with-massive-audio', 'Enable massive audio format support'

  # mat relies on `shred`, which is called `gshred` on OSX with coreutils, and
  # import the 'gi' python module which is not available here.
  # Fixed upstream for next version.
  patch :DATA

  resource 'hachoir-core' do
    url 'https://pypi.python.org/packages/source/h/hachoir-core/hachoir-core-1.3.3.tar.gz'
    sha1 'e1d3b5da7d57087c922942b7653cb3b195c7769f'
  end

  resource 'hachoir-parser' do
    url 'https://pypi.python.org/packages/source/h/hachoir-parser/hachoir-parser-1.3.4.tar.gz'
    sha1 '8433e1598b1e8d9404e6978117a203775e68c075'
  end

  resource 'pdfrw' do
    url 'https://pypi.python.org/packages/source/p/pdfrw/pdfrw-0.1.tar.gz'
    sha1 '9824ad502ecb2bf093fd8727fd7fa2b524140e41'
  end

  resource 'distutils-extra' do
    url 'https://launchpad.net/python-distutils-extra/trunk/2.38/+download/python-distutils-extra-2.38.tar.gz'
    sha1 'db9ac81daf3e069b8838ae6d379abac2f0094663'
  end

  resource 'mutagen' do
    url 'https://pypi.python.org/packages/source/m/mutagen/mutagen-1.22.tar.gz'
    sha1 '9bdd4a7a491008e62d140d83fc31d355577f94e7'
  end

  def install
    ENV.prepend_create_path 'PYTHONPATH', libexec/'lib/python2.7/site-packages'
    install_args = [ "setup.py", "install", "--prefix=#{libexec}" ]

    resource('hachoir-core').stage { system "python", *install_args }
    resource('hachoir-parser').stage { system "python", *install_args }
    resource('pdfrw').stage { system "python", *install_args }
    resource('distutils-extra').stage { system "python", *install_args }
    if build.with? 'massive-audio'
      resource('mutagen').stage { system "python", *install_args }
    end

    inreplace 'setup.py' do |s|
      s.gsub!("'mat'", "'mat-cli'")
    end

    system "python", "setup.py", "install", "--prefix=#{prefix}"

    # move executable back to its real name
    mv bin/'mat-cli', bin/'mat'

    man1.install Dir['*.1']

    bin.env_script_all_files(libexec/'bin', :PYTHONPATH => ENV['PYTHONPATH'])
  end

  test do
    system "#{bin}/mat", "-l"
    system "touch", "foo"
    system "tar", "cf", "foo.tar", "foo"
    system "#{bin}/mat", "-c", "foo.tar"
  end

  def caveats; <<-EOS.undent
      MAT was built without PDF support nor GUI.
    EOS
  end
end
__END__
diff --git a/mat-0.5.2/_MAT/mat.py b/mat-0.5.2/_MAT/mat.py
index 5b1fbda..5ea2b22 100644
--- a/MAT/mat.py
+++ b/MAT/mat.py
@@ -120,7 +120,7 @@ def secure_remove(filename):
         raise MAT.exceptions.UnableToWriteFile

     try:
-        if not subprocess.call(['shred', '--remove', filename]):
+        if not subprocess.call(['gshred', '--remove', filename]):
             return True
         else:
             raise OSError
diff --git a/mat-0.5.2/_MAT/strippers.py b/mat-0.5.2/_MAT/strippers.py
index aea98da..42ea8fc 100644
--- a/MAT/strippers.py
+++ b/MAT/strippers.py
@@ -3,7 +3,6 @@

 import archive
 import audio
-import gi
 import images
 import logging
 import mat