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 installclass 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 endend