mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-08 23:18:10 -05:00
122 lines
7.2 KiB
Ruby
122 lines
7.2 KiB
Ruby
require 'package'
|
|
|
|
class Docbook_xsl < Package
|
|
description 'The DocBook XSL Stylesheets package contains XSL stylesheets. These are useful for performing transformations on XML DocBook files.'
|
|
homepage 'https://github.com/docbook/xslt10-stylesheets'
|
|
version '1.79.2-5'
|
|
license 'custom'
|
|
compatibility 'all'
|
|
source_url "https://github.com/docbook/xslt10-stylesheets/releases/download/release/#{version.split('-').first}/docbook-xsl-#{version.split('-').first}.zip"
|
|
source_sha256 '853dce096f5b32fe0b157d8018d8fecf92022e9c79b5947a98b365679c7e31d7'
|
|
binary_compression 'tar.zst'
|
|
|
|
binary_sha256({
|
|
aarch64: 'b62ae6d5baf3b31f3c08850cf6fab86502c27a3410590384daee6b0a0e82ad47',
|
|
armv7l: 'b62ae6d5baf3b31f3c08850cf6fab86502c27a3410590384daee6b0a0e82ad47',
|
|
i686: '93aa4669b36e84f8b19447681109621eda935ae860946d3f9d84af3234b71015',
|
|
x86_64: '0358b98fa34acc6681a7fff0431acc43753220ec8a2662fdef52b9dde0490c67'
|
|
})
|
|
|
|
depends_on 'docbook_xml'
|
|
depends_on 'libxml2'
|
|
depends_on 'xmlcatmgr'
|
|
print_source_bashrc
|
|
|
|
def self.patch
|
|
downloader 'https://github.com/archlinux/svntogit-packages/raw/packages/docbook-xsl/trunk/765567_non-recursive_string_subst.patch',
|
|
'193ec26dcb37bdf12037ed4ea98d68bd550500c8e96b719685d76d7096c3f9b3'
|
|
system 'patch -Np2 -i 765567_non-recursive_string_subst.patch'
|
|
end
|
|
|
|
def self.install
|
|
ENV['XML_CATALOG_FILES'] = "#{CREW_DEST_PREFIX}/etc/xml/catalog"
|
|
@pkgroot = "#{CREW_DEST_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first}"
|
|
@ADDFILES_SH = <<~ADDFILES_HEREDOC
|
|
#!/usr/bin/env bash
|
|
set -ex
|
|
|
|
install -Dt #{@pkgroot} -m644 VERSION{,.xsl}
|
|
(
|
|
shopt -s nullglob # ignore missing files
|
|
echo "ignore missing files"
|
|
for fn in assembly catalog.xml common docsrc eclipse epub epub3 \
|
|
extensions for highlighting html htmlhelp images javahelp lib log \
|
|
manpages params profiling roundtrip slides template tests tools \
|
|
webhelp website xhtml xhtml-1_1 xhtml5
|
|
do
|
|
install -Dt "#{@pkgroot}"/"$fn" -m644 "$fn"/*.{xml,xsl,dtd,ent} || true
|
|
done
|
|
)
|
|
ADDFILES_HEREDOC
|
|
File.write('add_files.sh', @ADDFILES_SH, perm: 0o755)
|
|
system './add_files.sh || true'
|
|
FileUtils.install 'VERSION.xsl', @pkgroot, mode: 0o644
|
|
FileUtils.ln_s "#{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first}",
|
|
"#{CREW_DEST_PREFIX}/share/xml/docbook/xsl-stylesheets"
|
|
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/xml/docbook/stylesheet/"
|
|
# For moreutils
|
|
FileUtils.ln_s "#{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first}",
|
|
"#{CREW_DEST_PREFIX}/share/xml/docbook/stylesheet/docbook-xsl"
|
|
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/etc/env.d/"
|
|
@env = <<~EOF
|
|
# Docbook_xml configuration
|
|
XML_CATALOG_FILES=#{CREW_PREFIX}/etc/xml/catalog
|
|
EOF
|
|
File.write("#{CREW_DEST_PREFIX}/etc/env.d/docbook_xml", @env)
|
|
end
|
|
|
|
def self.preinstall
|
|
# Docbook common preinstall block
|
|
FileUtils.mkdir_p "#{CREW_PREFIX}/etc/xml"
|
|
|
|
if File.exist?("#{CREW_PREFIX}/etc/xml/catalog") && !File.empty?("#{CREW_PREFIX}/etc/xml/catalog")
|
|
puts "#{CREW_PREFIX}/etc/xml/catalog exists" if @opt_verbose
|
|
else
|
|
puts "Creating #{CREW_PREFIX}/etc/xml/catalog" if @opt_verbose
|
|
FileUtils.rm_f "#{CREW_PREFIX}/etc/xml/catalog"
|
|
system "xmlcatalog --noout --create #{CREW_PREFIX}/etc/xml/catalog"
|
|
end
|
|
|
|
if File.exist?("#{CREW_PREFIX}/etc/xml/docbook-xml") && !File.empty?("#{CREW_PREFIX}/etc/xml/docbook-xml")
|
|
puts "#{CREW_PREFIX}/etc/xml/docbook-xml not empty" if @opt_verbose
|
|
else
|
|
puts "Creating #{CREW_PREFIX}/etc/xml/docbook-xml" if @opt_verbose
|
|
FileUtils.rm_f "#{CREW_PREFIX}/etc/xml/docbook-xml"
|
|
system "xmlcatalog --noout --create #{CREW_PREFIX}/etc/xml/docbook-xml"
|
|
end
|
|
|
|
# End Docbook common preinstall block
|
|
end
|
|
|
|
def self.postinstall
|
|
<<~CMD.each_line(chomp: true) do |cmd|
|
|
xmlcatalog --noout --add rewriteSystem https://cdn.docbook.org/release/xsl/#{version.split('-').first} #{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first} '#{CREW_PREFIX}/etc/xml/catalog'
|
|
xmlcatalog --noout --add rewriteURI https://cdn.docbook.org/release/xsl/#{version.split('-').first} #{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first} '#{CREW_PREFIX}/etc/xml/catalog'
|
|
xmlcatalog --noout --add rewriteSystem http://docbook.sourceforge.net/release/xsl/#{version.split('-').first} #{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first} '#{CREW_PREFIX}/etc/xml/catalog'
|
|
xmlcatalog --noout --add rewriteURI http://docbook.sourceforge.net/release/xsl/#{version.split('-').first} #{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first} '#{CREW_PREFIX}/etc/xml/catalog'
|
|
xmlcatalog --noout --add rewriteSystem http://docbook.sourceforge.net/release/xsl-ns/#{version.split('-').first} #{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first} '#{CREW_PREFIX}/etc/xml/catalog'
|
|
xmlcatalog --noout --add rewriteURI http://docbook.sourceforge.net/release/xsl-ns/#{version.split('-').first} #{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first} '#{CREW_PREFIX}/etc/xml/catalog'
|
|
xmlcatalog --noout --add rewriteSystem https://cdn.docbook.org/release/xsl/current #{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first} '#{CREW_PREFIX}/etc/xml/catalog'
|
|
xmlcatalog --noout --add rewriteURI https://cdn.docbook.org/release/xsl/current #{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first} '#{CREW_PREFIX}/etc/xml/catalog'
|
|
xmlcatalog --noout --add rewriteSystem http://docbook.sourceforge.net/release/xsl/current #{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first} '#{CREW_PREFIX}/etc/xml/catalog'
|
|
xmlcatalog --noout --add rewriteURI http://docbook.sourceforge.net/release/xsl/current #{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first} '#{CREW_PREFIX}/etc/xml/catalog'
|
|
xmlcatalog --noout --add rewriteSystem http://docbook.sourceforge.net/release/xsl-ns/current #{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first} '#{CREW_PREFIX}/etc/xml/catalog'
|
|
xmlcatalog --noout --add rewriteURI http://docbook.sourceforge.net/release/xsl-ns/current #{CREW_PREFIX}/share/xml/docbook/xsl-stylesheets-#{version.split('-').first} '#{CREW_PREFIX}/etc/xml/catalog'
|
|
CMD
|
|
system cmd
|
|
end
|
|
|
|
# Check:
|
|
<<~CMD.each_line(chomp: true) do |cmd|
|
|
xmlcatalog #{CREW_PREFIX}/etc/xml/catalog https://cdn.docbook.org/release/xsl/current/
|
|
xmlcatalog #{CREW_PREFIX}/etc/xml/catalog https://cdn.docbook.org/release/xsl/#{version.split('-').first}/
|
|
xmlcatalog #{CREW_PREFIX}/etc/xml/catalog http://docbook.sourceforge.net/release/xsl/current/
|
|
xmlcatalog #{CREW_PREFIX}/etc/xml/catalog http://docbook.sourceforge.net/release/xsl/#{version.split('-').first}/
|
|
xmlcatalog #{CREW_PREFIX}/etc/xml/catalog http://docbook.sourceforge.net/release/xsl-ns/current/
|
|
xmlcatalog #{CREW_PREFIX}/etc/xml/catalog http://docbook.sourceforge.net/release/xsl-ns/#{version.split('-').first}/
|
|
CMD
|
|
system cmd if @opt_verbose
|
|
end
|
|
end
|
|
end
|