2003-07-27

λ [FreeBSD] ports/japanese/tdiary

portupgrade すると /usr/local/share/examples/tdiary/tdiary/rd_style.rb が失われてしまう。

pkg_delete した時点では消えないので、インストールする時に消しているっぽい。うむう。

λ [Subversion] 暮らしの業(2003-05-07)

SVNIndexXSLT を使うとリスト表示がかっこよくなるらしい。 リポジトリを直接かっこよく見せたい要望は今のとこないけどメモ。

λ [Subversion] Status of Ruby bindings

Einar Karttunen さんがSWIGベースのRuby bindings を作ろうとしているような、していないような。

このメールのスレッド中で subversion/bindings/ruby の中身が削除されてた。

λ こんにちWA

NHK教育の番組「夢りんりん丸」で流れてきた曲。NHKでも「こんにちわ」オケーになりつつあるのか?

λ APR

APR日本語ドキュメントもあるWiki。

…と思ったらあんまり日本語じゃなかった。

λ [Subversion] ruby bindings への一歩

とりあえず extconf.rb の途中でエラーが出る問題と闘ってみた。 要するにlibaprutil-0をリンクしようとするとXML関係の libexpat を要求してきて失敗していたのが原因。 svn-config --libsした結果を$libsに追加してやれば解決した。 svn-config --libsは-L(どっかのディレクトリ) も追加してくれるし、 APR関係のものも含んでいるので結局apr-configやらapu-configやらは削除してしまってこんな感じ。

require 'mkmf'
$CFLAGS << " -I../../include"
$CFLAGS << `svn-config --cflags`.chop
$CFLAGS << `svn-config --includes`.chop
$libs << `svn-config --libs`.chop
$libs = append_library($libs, Config::CONFIG['RUBY_INSTALL_NAME'])
# Extra libraries needed to compile
libraries = [
              ['apr-0',        'apr_initialize'],
              ['aprutil-0',    'apr_md5'],
              ['svn_subr-1',   'svn_pool_create'],
              ['svn_delta-1',  'svn_txdelta_next_window'],
              ['svn_client-1', 'svn_client_commit'],
              ['svn_wc-1',     'svn_wc_entry'],
              ['svn_ra-1',     'svn_ra_get_ra_library'],
]
libraries.each do |lib,func| 
  unless have_library(lib, func)
    puts "You seem to be missing the #{lib} library."
    puts "I can't compile the svn library without this." 
    # exit(1)
  end
end
# These aren't required, but we'll link them if we have them
have_library('svn_fs-1', 'svn_fs_new')
have_library('svn_repos-1', 'svn_repos_open')
# SWIGランタイムサポートライブラリを追加
have_library('swigrb', 'SWIG_InitRuntime')
# Makefineの作成
create_makefile('svn/client')

create_makefileのところでディレクトリを指定しておくと、make installの先がサブディレクトリになる。 結果として利用者側のRubyスクリプトでrequireのところに指定したい文字列 require 'svn/client' と同一になる。

SWIGによるpythonバイディングの実装は、ほとんどの構造体についてSWIGおまかせで何とかなっているらしく、 なかなか秘密に迫れない。

本日のツッコミ(全2件) [ツッコミを入れる]
λ えふ (2003-07-29 23:58)

現時点でportsがコミットされているので、portsをportupgradeなどであげた時点でうまくいくかを見ていただけると助かります。
上美谷さんのアドバイスの通りにしたつもりではいるんですが…

λ さとう (2004-02-25 11:11)

APR(少しだけ)和訳へリンクしていただいてありがとうございました。が、すいません、消してしまいました。横浜ベイキット(http://www.baykit.org/)のXiをCで実装する計画ではAPRを使うかもしれず、その際に必要になったらまた和訳して公開するかもしれません。が、今のところ取り掛かる予定がありません。申し訳ないです。

[]