01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
% cd glib-2.12.13
% ./configure --prefix=$HOME
% make && make install
% cd pango-1.16.4
% env PKG_CONFIG_PATH=$HOME/lib/pkgconfig ./configure --prefix=$HOME
% make && make install
% cd atk-1.9.1
% env PKG_CONFIG_PATH=$HOME/lib/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig ./configure --prefix=$HOME --disable-glibtest
% make && make install
% cd cairo-1.2.6
% env PKG_CONFIG_PATH=$HOME/lib/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig ./configure --prefix=$HOME
% make && make install
% cd pango-1.16.4
% env PKG_CONFIG_PATH=$HOME/lib/pkgconfig:/usr/lib64/pkgconfig ./configure --prefix=$HOME
% make && make install
% cd gtk-1.12.10
% env PKG_CONFIG_PATH=$HOME/lib/pkgconfig:/usr/lib64/pkgconfig ./configure --prefix=$HOME --disable-glibtest
% make && make install
% cd cvswork/graphviz2
% env PKG_CONFIG_PATH=$HOME/lib/pkgconfig:/usr/lib64/pkgconfig ./configure --prefix=$HOME --disable-perl
% make && make install
class IO
def bsearch_first_pos( left, right, &block )
STDERR.puts "bsearch_first_pos" if $DEBUG
while left < right
self.pos = ( left + right ) / 2
raise 'unexpected end' unless gets
self.pos = left if self.pos >= right
line = gets
STDERR.puts "#{self.pos}: #{left} <-> #{right}: #{line.size}:#{line}" if $DEBUG
case block.call(line)
when 0
right = self.pos
if self.pos = left and line2 = gets and block.call(line2) == 0
return left
else
left = self.pos
end
when -1
right = self.pos - line.size
when 1
left = self.pos
end
end
nil
end
def bsearch_last_pos( left, right, &block )
STDERR.puts "bsearch_last_pos: #{left} #{right}" if $DEBUG
while left < right
self.pos = ( left + right ) / 2
raise 'unexpected end' unless gets
self.pos = left if self.pos >= right
line = gets
STDERR.puts "#{self.pos}:#{block.call(line)}: #{left} <-> #{right}: #{line}" if $DEBUG
case block.call(line)
when 0
if line2 = gets and block.call(line2) == 0
left = self.pos - line2.size
else
return self.pos - line2.to_s.size
end
when -1
right = self.pos - line.size
when 1
left = self.pos
end
end
nil
end
def bsearch( left, right, &block )
result = bsearch_first_pos(left, right, &block)
if result
self.pos = result
gets
else
nil
end
end
def bsearch_list( left, right, &block )
result = []
lower = bsearch_first_pos(left, right, &block)
upper = bsearch_last_pos(left, right, &block)
STDERR.puts "#{lower.inspect} #{upper.inspect}" if $DEBUG
if lower and upper
self.pos = lower
while self.pos < upper
result << gets
end
end
result
end
end