314c5d162a
Rather than download a shell script and tell users to run it with `sudo`, it is better to keep everything under Homebrew's control. Luckily, the XML toolchain provides the environment variable XML_CATALOG_FILES to allow files otehr than /etc/xml/catalog to be used. So remove the shell script, and do all the work inside the formula itself. When we're done, we just tell the user to add HOMEBREW_PREFIX/etc/xml/catalog to their shell configuration, rather than tell them to `sudo docbook-register`. Rather than download the shell script, just download docbook 5.0, which we need anyway. This also simplifies the logic in a handful of docbook-using formula. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
97 lines
2.8 KiB
Ruby
97 lines
2.8 KiB
Ruby
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]
|
|
|
|
(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
|