aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/docbook.rb
blob: 38e0046f7ab5406e4108cf6b2c9fa1cd09fc25b1 (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
require 'formula'

class Docbook < Formula
  homepage 'http://docbook.sourceforge.net/'
  url 'http://www.docbook.org/xml/5.0/docbook-5.0.zip'
  md5 '2411c19ed4fb141f3fa3d389fae40736'

  def install
    packages = [Docbookxml412,
                Docbookxml42,
                Docbookxml43,
                Docbookxml44,
                Docbookxml45,
                Docbookxml50,
                Docbookxsl,
                Docbookxslns]

    (etc+'xml').mkpath
    system "xmlcatalog", "--noout", "--create", "#{etc}/xml/catalog"

    packages.each do |pkg|
      pkg.new.brew do |f|
        f.install
        catalog = prefix+f.catalog+'catalog.xml'
        system "xmlcatalog", "--noout", "--del",
                             "file://#{catalog}", "#{etc}/xml/catalog"
        system "xmlcatalog", "--noout", "--add", "nextCatalog",
                             "", "file://#{catalog}", "#{etc}/xml/catalog"
      end
    end
  end

  def caveats; <<-EOS.undent
    To use the DocBook package in your XML toolchain,
    you need to add the following to your ~/.bashrc:

    export XML_CATALOG_FILES="#{etc}/xml/catalog"
    EOS
  end
end

class Docbookxml < Formula
  def install
    rm_rf 'docs'
    docbook = Formula.factory 'docbook'
    (docbook.prefix+'docbook/xml'+version).install Dir['*']
  end

  def catalog; 'docbook/xml/'+version; end
end

class Docbookxml412 < Docbookxml
  url 'http://www.docbook.org/xml/4.1.2/docbkx412.zip'
  md5 '900d7609fb7e6d78901b357e4acfbc17'
  version '4.1.2'
end

class Docbookxml42 < Docbookxml
  url 'http://www.docbook.org/xml/4.2/docbook-xml-4.2.zip'
  md5 '73fe50dfe74ca631c1602f558ed8961f'
end

class Docbookxml43 < Docbookxml
  url 'http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip'
  md5 'ab200202b9e136a144db1e0864c45074'
end

class Docbookxml44 < Docbookxml
  url 'http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip'
  md5 'cbb04e9a700955d88c50962ef22c1634'
end

class Docbookxml45 < Docbookxml
  url 'http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip'
  md5 '03083e288e87a7e829e437358da7ef9e'
end

class Docbookxml50 < Docbookxml
  url 'http://www.docbook.org/xml/5.0/docbook-5.0.zip'
  md5 '2411c19ed4fb141f3fa3d389fae40736'
end

class Docbookxsl < Formula
  homepage 'http://docbook.sourceforge.net/'
  url 'http://downloads.sourceforge.net/project/docbook/docbook-xsl/1.76.1/docbook-xsl-1.76.1.tar.bz2'
  md5 'b5340507cb240cc7ce00632b9c40bff5'

  def install
    doc_files = %w[AUTHORS BUGS README RELEASE-NOTES.txt TODO VERSION NEWS COPYING]
    xsl_files = %w[catalog.xml common eclipse epub extensions fo highlighting html
                   htmlhelp images javahelp lib manpages params profiling roundtrip
                   slides template tools website xhtml xhtml-1_1]
    docbook = Formula.factory 'docbook'
    (docbook.prefix+'docbook/xsl'+version).install xsl_files + doc_files
  end

  def catalog; 'docbook/xsl/'+version; end
end

class Docbookxslns < Formula
  homepage 'http://docbook.sourceforge.net/'
  url 'http://downloads.sourceforge.net/project/docbook/docbook-xsl-ns/1.77.1/docbook-xsl-ns-1.77.1.tar.bz2'
  md5 '432e4ad25c24a6e83de844cb9c683500'

  def install
    doc_files = %w[AUTHORS BUGS COPYING NEWS README RELEASE-NOTES.txt TODO VERSION VERSION.xsl]
    xsl_files = %w[assembly catalog.xml common docsrc eclipse epub epub3 extensions
                   fo highlighting html htmlhelp images javahelp lib log manpages
                   params profiling roundtrip slides template tests tools webhelp
                   website xhtml xhtml-1_1 xhtml5]
    docbook = Formula.factory 'docbook'
    (docbook.prefix+'docbook/xsl-ns'+version).install xsl_files + doc_files
  end

  def catalog; 'docbook/xsl-ns/'+version; end
end