mfiler2-3.0.7.ebuild
id:minato_daisukeによって開発されているhttp://www.geocities.jp/daisuke530221jp/のebuildを書いてみた。/usr/local以下にmake installしたら負けかなと思っている。
# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit ruby DESCRIPTION="a two pane file manager under UNIX console." HOMEPAGE="http://www.geocities.jp/daisuke530221jp/" SRC_URI="http://www.geocities.jp/daisuke530221jp/${P}.tgz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86" IUSE="migemo" DEPEND="dev-libs/oniguruma dev-ruby/net-ssh dev-ruby/net-sftp dev-ruby/needle migemo? ( app-text/cmigemo )" RDEPEND="" PATCHES="${FILESDIR}/${P}.patch" RUBY_ECONF="--with-ruby-header-path=$($RUBY -r rbconfig -e 'print Config::CONFIG["archdir"]') --with-ruby-lib-name=$($RUBY -r rbconfig -e 'print Config::CONFIG["RUBY_SO_NAME"]') --with-ruby-lib-path=/usr/lib" src_install() { einstall }
をapp-misc/mfiler2/mfiler2-3.0.7.ebuildに、
diff -ur mfiler2-3.0.7.orig/Makefile.in mfiler2-3.0.7/Makefile.in --- mfiler2-3.0.7.orig/Makefile.in 2007-06-05 22:55:57.000000000 +0900 +++ mfiler2-3.0.7/Makefile.in 2007-06-08 23:40:41.000000000 +0900 @@ -24,8 +24,8 @@ RUBYINCPATH=@RUBYINCPATH@ RUBYLIBPATH=@RUBYLIBPATH@ -ONIG=onig-4.6.1/.libs/libonig.a -ONIGINC=-I onig-4.6.1 +ONIG=-lonig +ONIGINC= MIGEMO=@MIGEMO@ MIGEMOINC=-I /usr/local/include @@ -80,8 +80,6 @@ minato_lib/minato_lib.a: cd minato_lib && ./configure --with-ruby-header-path="$(RUBYINCPATH)" $(DEBUG_CONFIGURE) && make -$(ONIG): - cd onig-4.6.1 && ./configure && make ################################################################################ @@ -179,9 +177,6 @@ # インストール ################################################################################ install: $(STRIP) - cd net-ssh-1.0.10 && $(RUBY) setup.rb config && $(RUBY) setup.rb setup && $(RUBY) setup.rb install - cd needle-1.3.0 && $(RUBY) setup.rb config && $(RUBY) setup.rb setup && $(RUBY) setup.rb install - cd net-sftp-1.1.0 && $(RUBY) setup.rb config && $(RUBY) setup.rb setup && $(RUBY) setup.rb install mkdir -p $(bindir) mkdir -p $(sysconfdir) mkdir -p $(datadir)/mfiler/cp932 diff -ur mfiler2-3.0.7.orig/dirwnd.h mfiler2-3.0.7/dirwnd.h --- mfiler2-3.0.7.orig/dirwnd.h 2007-06-05 22:55:57.000000000 +0900 +++ mfiler2-3.0.7/dirwnd.h 2007-06-08 22:04:40.000000000 +0900 @@ -4,6 +4,7 @@ extern "C" { #include <stdio.h> +#include <time.h> #include <unistd.h> #include <sys/stat.h> #include <sys/types.h> diff -ur mfiler2-3.0.7.orig/etc/api.rb mfiler2-3.0.7/etc/api.rb --- mfiler2-3.0.7.orig/etc/api.rb 2007-06-07 22:38:04.000000000 +0900 +++ mfiler2-3.0.7/etc/api.rb 2007-06-08 22:43:58.000000000 +0900 @@ -1,3 +1,4 @@ +require 'rubygems' require 'etc' require 'fileutils'
をUTF-8でapp-misc/mfiler2/files/mfiler2-3.0.7.patchに置いて適当にdigestを作るなりすれば良し。
configureに渡すべきパラメータは決め打ちせずにruby -r rbconfigを使って取得しているので、少なくとも1.8とかi686-linuxを決め打ちするよりは移植性は高いだろう。
依存している全てのライブラリのebuildがGentooのオフィシャルツリーで提供されている*1ようなので、普通に依存性を解決するようにしたところ、dev-ruby回りはrequire 'rubygems'しないと見付からないようなのでrequire 'rubygems'を設定。
マークしてrの正規表現による置換とmigemoのインクリメンタルサーチとRubyの実行は確認。でもRubyはまだ勉強不足なので楽しい使い方が思いつかず。早くRubyも習得したいところ。