mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
compressed mantypes
* configure.in (--with-mantype): add compressed mantypes. * tool/rbinstall.rb (man): compress man pages if specified. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
4d23a784f5
commit
d85096ad45
2 changed files with 17 additions and 2 deletions
|
@ -4194,7 +4194,7 @@ AC_ARG_WITH(mantype,
|
|||
AS_HELP_STRING([--with-mantype=TYPE], [specify man page type; TYPE is one of man and doc]),
|
||||
[
|
||||
AS_CASE(["$withval"],
|
||||
[man|doc], [MANTYPE=$withval],
|
||||
[man|man.gz|man.bz2|doc|doc.gz|doc.bz2], [MANTYPE=$withval],
|
||||
[AC_MSG_ERROR(invalid man type: $withval)])
|
||||
])
|
||||
if test -z "$MANTYPE"; then
|
||||
|
|
|
@ -545,7 +545,22 @@ install?(:local, :comm, :man) do
|
|||
alias print push
|
||||
end
|
||||
open(mdoc) {|r| Mdoc2Man.mdoc2man(r, w)}
|
||||
open_for_install(destfile, $data_mode) {w.join("")}
|
||||
w = w.join("")
|
||||
case $mantype
|
||||
when /\.(?:(gz)|bz2)\z/
|
||||
suffix = $&
|
||||
compress = $1 ? "gzip" : "bzip2"
|
||||
require 'tmpdir'
|
||||
Dir.mktmpdir("man") {|d|
|
||||
dest = File.join(d, File.basename(destfile))
|
||||
File.open(dest, "wb") {|f| f.write w}
|
||||
if system(compress, dest)
|
||||
w = File.open(dest+suffix, "rb") {|f| f.read}
|
||||
destfile << suffix
|
||||
end
|
||||
}
|
||||
end
|
||||
open_for_install(destfile, $data_mode) {w}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue