[#8468] require で SEGV — ruby <g96p0935@...>
西本です。
[#8469] [PATCH] -s command line option — nobu.nakada@...
なかだです。
[#8507] mode_t in file.c — Katsuyuki Komatsu <komatsu@...>
小松です。
[#8530] Enumerable and rand — Koretsugu Daigoro <tmmcross@...>
これつぐです。
まつもと ゆきひろです
これつぐです。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
ごとけんです
これつぐです。
[#8565] interface declaretion — "Dai.K." <MAP2303@...>
[#8581] Re: [ruby-list:19228] Ruby 1.4.3 — Katsuyuki Komatsu <komatsu@...>
小松です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
小松です。
まつもと ゆきひろです
小松です。
[#8622] Win32API (Re: Ruby 1.4.3 binaries for Cygwin and DJGPP) — WATANABE Hirofumi <Hirofumi.Watanabe@...>
わたなべです.
有馬@FITECです。
よしだです
[#8623] [BUG?] core dump `ruby -r debug' — IWAMURO Motonori <iwa@...>
岩室@富士通です。
[#8635] slow gsub — WATANABE Hirofumi <Hirofumi.Watanabe@...>
わたなべです.
[#8645] urllib and httplib — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
なひです.
高橋征義です。
なひです.
まつもと ゆきひろです
なひです.
青山です。
なひです.
高橋征義です。
まつもと ゆきひろです
高橋征義です。
なひです.
西@九大です。
なかだです。
あおきです。
[#8650] [PATCH] Ruby/Tk — Koji Arai <JCA02266@...>
新井です。
新井です。
新井です。
新井です。
永井@知能.九工大です.
新井です。
永井@知能.九工大です.
新井です。
新井です。
[#8665] [mswin32] STDERR does not work during `_function. — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです.
金子です。
金子です。
[#8667] make symlinks around libruby.so in instruby.rb — akira yamada / やまだあきら <akira@...>
[#8692] [win] dir name — KANEKO Naoshi <wbs01621@...>
金子です。
小田@QNES です。
えぐち@エスアンドイー です。
小田@QNES です。
えぐち@エスアンドイー です。
なかだです。
小田@QNES です。
えぐち@エスアンドイー です。
小田@QNES です。
[#8705] [mswin32] 100% CPU usage when use sleep — Katsuyuki Komatsu <komatsu@...>
小松です。
まつもと ゆきひろです
小松です。
[#8722] [mswin32] Win32API — KANEKO Naoshi <wbs01621@...>
金子です。
小松です。
まつもと ゆきひろです
[#8741] Re: [ruby-list:19945] Re: array + empty string — Wakou Aoyama <wakou@...>
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#8742] [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...>
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
西@九大です。
あおきです。議論も好き。
西@九大です。
あおきです。
まつもと ゆきひろです
有馬です。
knuです。
まつもと ゆきひろです
これつぐです。
knuです。
まつもと ゆきひろです
あおきです。
まつもと ゆきひろです
In message "[ruby-dev:8792] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num)"
まつもと ゆきひろです
ごとけんです
ごとけんです
なかだです。
ごとけんです
[ruby-dev:8667] make symlinks around libruby.so in instruby.rb
# Subject の英語, めちゃくちゃです, すいません.
ええと, ちょっと提案というか質問みたいなことなんですが
今の instruby.rb では libruby.so, libruby.so.1.4,
libruby.so.1.4.3 とかについて
libruby.so -> libruby.so.1.4.3
libruby.so.1.4 -> libruby.so.1.4.3
としていて soname が libruby.so.1.4.3 になっていると思います.
soname は Makefile.in の方ですか.
で, これだと 1.4.2 -> 1.4.3 というバージョンアップで
たとえば eruby とか mod_ruby とかを
作りなおさなくてはならなくなると思うんですが
これはそういうものなんでしょうか.
なんとなく
libruby.so -> libruby.so.1.4
libruby.so.1.4 -> libruby.so.1.4.3
にして soname を libruby.so.1.4 とかにしておくと
しあわせかなあと思っているのですが
実際のとこどうなのかおしえてください > 識者の方々
# ついでなんで上のようになるように instruby.rb を
# いい加減にいじった patch をつけてみます.
P.S.
あとこのこととは関係ないですが jcode.rb の
UTF-8 patch は取り込まれないんでしょうか?
--
やまだ あきら <URL:http://arika.org/>
(akira@arika.org or akira@nurs.or.jp)
--- ruby-1.4.3.orig/Makefile.in
+++ ruby-1.4.3/Makefile.in
@@ -97,7 +97,7 @@
@-@RANLIB@ $@ 2> /dev/null || true
$(LIBRUBY_SO): $(OBJS) dmyext.@OBJEXT@
- $(LDSHARED) $(DLDFLAGS) $(SOLIBS) $(OBJS) dmyext.@OBJEXT@ -o $@
+ $(LDSHARED) $(DLDFLAGS) $(SOLIBS) -Wl,-soname,lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR) $(OBJS) dmyext.@OBJEXT@ -o $@
@-./miniruby -e 'ARGV.each{|link| File.delete link if File.exist? link; \
File.symlink "$(LIBRUBY_SO)", link}' \
$(LIBRUBY_ALIASES) || true
--- ruby-1.4.3.orig/instruby.rb
+++ ruby-1.4.3/instruby.rb
@@ -36,16 +36,63 @@
File.install lib, libdir, 0555, true
end
end
+
+def string_invert(x)
+ y = []
+ x.each_byte{|b|
+ y << 0xFF - b
+ }
+
+ return y.pack('C*')
+end
+
+def versplit(x)
+ return x.split('.').collect{|x|
+ /^(\d+)(\w*?)(\d*)$/o =~ x
+ [$1.to_i, if !$2 || $2.size == 0
+ [0xFF].pack('C')
+ else
+ string_invert($2)
+ end, $3.to_i]
+ }
+end
+
+def vercmp (a,b)
+ patt = /(?:\.\d+\w*)+$/o
+ ver_a = a.scan(patt)
+ ver_b = b.scan(patt)
+
+ if ver_a.size == 0
+ if ver_b.size == 0
+ return 0
+ else
+ return -1
+ end
+ elsif ver_b.size == 0
+ return 1
+
+ else
+ versplit(ver_a[0]) <=> versplit(ver_b[0])
+ end
+end
+
Dir.chdir libdir
if File.exist? CONFIG["LIBRUBY_SO"]
- for link in CONFIG["LIBRUBY_ALIASES"].split
- if File.exist? link
- File.delete link
+ list = CONFIG["LIBRUBY_ALIASES"].split + CONFIG["LIBRUBY_SO"]
+ target = nil
+ list.sort{|a,b| vercmp(b,a)}.each {|link|
+ if target
+ if File.exist? link
+ File.delete link
+ print "delete #{link}\n"
+ end
+ File.symlink target, link
+ print "link #{target} -> #{link}\n"
end
- File.symlink CONFIG["LIBRUBY_SO"], link
- print "link #{CONFIG['LIBRUBY_SO']} -> #{link}\n"
- end
+ target = link
+ }
end
+
Dir.chdir wdir
File.makedirs pkglibdir, true
File.makedirs archdir, true