某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