某ircでQRコードが話題になったのでrqrを試してみました。まともな応用は今度作るとして、とりあえずCGIを。
OSXでインストール
OSXではちょっと苦労しました。宗教上の理由からgemは使わないので。# みんなportsとかfinkとかgemsとか使ってんの?
まずext/rqr/extconf.rbの修正。DARWIN環境での考慮を削除しました。
--- extconf.rb~ 2008-08-13 07:42:50.000000000 +0900 +++ extconf.rb 2009-12-15 04:35:54.000000000 +0900 @@ -13,24 +13,9 @@ require 'rbconfig' $libs = append_library($libs, "supc++") -FINK_DIR = '/sw' -MACPORT_DIR = '/opt/local' - -if File.exists?(FINK_DIR) - DARWIN_PORT_DIR = FINK_DIR -else - DARWIN_PORT_DIR = MACPORT_DIR -end - -if RUBY_PLATFORM =~ /darwin/ - dir_config('jpeg', DARWIN_PORT_DIR) - dir_config('png', DARWIN_PORT_DIR) - dir_config('tiff', DARWIN_PORT_DIR) -else - dir_config('jpeg') - dir_config('png') - dir_config('tiff') -end +dir_config('jpeg') +dir_config('png') +dir_config('tiff') if have_header('jpeglib.h') && have_library('jpeg') $CFLAGS += ' -DUSE_JPG'
つぎにlib/rqr.rbの修正。QR拡張ライブラリの場所がrqr/QRだったのでQRへ。
--- rqr.rb~ 2008-05-26 08:58:38.000000000 +0900 +++ rqr.rb 2009-12-15 05:13:18.000000000 +0900 @@ -1,9 +1,6 @@ -$:.unshift(File.dirname(__FILE__)) unless - $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__))) - module RQR require 'dl' - require "rqr/QR" + require "QR" require "rqr/errors" require "rqr/qrcode" -end \ No newline at end of file +end
あとはふつうの手順でいけました。
ruby setup.rb config ruby setup.rb setup sudo ruby setup.rb install