1
0
Fork 0
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:
nobu 2015-07-10 12:49:55 +00:00
parent 4d23a784f5
commit d85096ad45
2 changed files with 17 additions and 2 deletions

View file

@ -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

View file

@ -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