diff options
author | Akinori Hattori <hattya@gentoo.org> | 2012-10-28 07:53:43 +0000 |
---|---|---|
committer | Akinori Hattori <hattya@gentoo.org> | 2012-10-28 07:53:43 +0000 |
commit | f055bd2ebdc6a1c3af74f7a17b8b31f4076113a2 (patch) | |
tree | 1f9ce5a907844d84042598c1cf587638d8c796b9 /dev-db/qdbm | |
parent | Add missing unistd include in test/unit/TestUtils.cpp for bug #439784. (diff) | |
download | gentoo-2-f055bd2ebdc6a1c3af74f7a17b8b31f4076113a2.tar.gz gentoo-2-f055bd2ebdc6a1c3af74f7a17b8b31f4076113a2.tar.bz2 gentoo-2-f055bd2ebdc6a1c3af74f7a17b8b31f4076113a2.zip |
add patch to fix compilation error with Ruby 1.9 wrt bug #439622
(Portage version: 2.1.11.9/cvs/Linux i686)
Diffstat (limited to 'dev-db/qdbm')
-rw-r--r-- | dev-db/qdbm/ChangeLog | 7 | ||||
-rw-r--r-- | dev-db/qdbm/files/qdbm-ruby19.diff | 363 | ||||
-rw-r--r-- | dev-db/qdbm/qdbm-1.8.78-r1.ebuild | 3 |
3 files changed, 370 insertions, 3 deletions
diff --git a/dev-db/qdbm/ChangeLog b/dev-db/qdbm/ChangeLog index 01e07c2de6c7..f82ec5901d59 100644 --- a/dev-db/qdbm/ChangeLog +++ b/dev-db/qdbm/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for dev-db/qdbm # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/qdbm/ChangeLog,v 1.141 2012/07/07 12:51:46 hattya Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/qdbm/ChangeLog,v 1.142 2012/10/28 07:53:43 hattya Exp $ + + 28 Oct 2012; Akinori Hattori <hattya@gentoo.org> +files/qdbm-ruby19.diff, + qdbm-1.8.78-r1.ebuild: + add patch to fix compilation error with Ruby 1.9 wrt bug #439622 07 Jul 2012; Akinori Hattori <hattya@gentoo.org> -qdbm-1.8.77.ebuild: remove old ebuild. @@ -502,4 +506,3 @@ +qdbm-1.8.13.ebuild: Initial revision. Based on the ebuild from Atzm Watanabe <sitosito@p.chan.ne.jp> in bug #55574, and modified by me. - diff --git a/dev-db/qdbm/files/qdbm-ruby19.diff b/dev-db/qdbm/files/qdbm-ruby19.diff new file mode 100644 index 000000000000..51c2800e74d7 --- /dev/null +++ b/dev-db/qdbm/files/qdbm-ruby19.diff @@ -0,0 +1,363 @@ +--- qdbm-1.8.78.orig/ruby/Makefile.in ++++ qdbm-1.8.78/ruby/Makefile.in +@@ -85,27 +85,27 @@ + sync ; sync + cd depot && rm -rf casket + cd depot && \ +- $(RUNENV) ruby -w -Ilib rbdptest write casket 10000 1000 ++ $(RUNENV) ruby -w -Ilib -I. rbdptest write casket 10000 1000 + cd depot && \ +- $(RUNENV) ruby -w -Ilib rbdptest read casket ++ $(RUNENV) ruby -w -Ilib -I. rbdptest read casket + cd depot && \ +- $(RUNENV) ruby -w -Ilib rbdptest misc casket ++ $(RUNENV) ruby -w -Ilib -I. rbdptest misc casket + cd depot && rm -rf casket + cd curia && rm -rf casket + cd curia && \ +- $(RUNENV) ruby -w -Ilib rbcrtest write casket 10000 1000 10 ++ $(RUNENV) ruby -w -Ilib -I. rbcrtest write casket 10000 1000 10 + cd curia && \ +- $(RUNENV) ruby -w -Ilib rbcrtest read casket ++ $(RUNENV) ruby -w -Ilib -I. rbcrtest read casket + cd curia && \ +- $(RUNENV) ruby -w -Ilib rbcrtest misc casket ++ $(RUNENV) ruby -w -Ilib -I. rbcrtest misc casket + cd curia && rm -rf casket + cd villa && rm -rf casket + cd villa && \ +- $(RUNENV) ruby -w -Ilib rbvltest write casket 10000 ++ $(RUNENV) ruby -w -Ilib -I. rbvltest write casket 10000 + cd villa && \ +- $(RUNENV) ruby -w -Ilib rbvltest read casket ++ $(RUNENV) ruby -w -Ilib -I. rbvltest read casket + cd villa && \ +- $(RUNENV) ruby -w -Ilib rbvltest misc casket ++ $(RUNENV) ruby -w -Ilib -I. rbvltest misc casket + cd villa && rm -rf casket + @printf '\n' + @printf '#================================================================\n' +--- qdbm-1.8.78.orig/ruby/curia/mod_curia.c ++++ qdbm-1.8.78/ruby/curia/mod_curia.c +@@ -24,6 +24,13 @@ + + #define MAXOPEN 1024 + ++#ifndef StringValuePtr ++# define StringValuePtr(v) STR2CSTR(v) ++#endif ++#ifndef RSTRING_LEN ++# define RSTRING_LEN(s) (RSTRING(s)->len) ++#endif ++ + + VALUE ccuriaerror; + VALUE ccuriaerror_ENOERR; +@@ -233,7 +240,7 @@ + const char *name; + int index, omode, bnum, dnum; + if((index = getnewindex()) == -1) myerror(DP_EMISC); +- name = STR2CSTR(vname); ++ name = StringValuePtr(vname); + FIXNUM_P(vomode); + omode = FIX2INT(vomode); + FIXNUM_P(vbnum); +@@ -276,10 +283,10 @@ + int index, ksiz, vsiz, dmode; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; +- vbuf = STR2CSTR(vval); +- vsiz = RSTRING(vval)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); ++ vbuf = StringValuePtr(vval); ++ vsiz = RSTRING_LEN(vval); + FIXNUM_P(vdmode); + dmode = FIX2INT(vdmode); + curia = crtable[index]; +@@ -297,8 +304,8 @@ + int index, ksiz; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); + curia = crtable[index]; + if(!crout(curia, kbuf, ksiz)){ + if(crsltable[index] && dpecode == DP_ENOITEM) return Qfalse; +@@ -316,8 +323,8 @@ + VALUE vval; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); + FIXNUM_P(vstart); + start = FIX2INT(vstart); + FIXNUM_P(vmax); +@@ -339,8 +346,8 @@ + int index, ksiz, vsiz; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); + curia = crtable[index]; + if((vsiz = crvsiz(curia, kbuf, ksiz)) == -1){ + if(crsltable[index] && dpecode == DP_ENOITEM) return INT2FIX(-1); +--- qdbm-1.8.78.orig/ruby/curia/rbcrtest ++++ qdbm-1.8.78/ruby/curia/rbcrtest +@@ -21,7 +21,7 @@ + + # main routine + def main() +- $0.gsub!(/.*\//, "") ++ $0 = $0.gsub(/.*\//, "") + (ARGV.length >= 1) || usage() + if(ARGV[0] == "write") + rv = runwrite() +@@ -283,7 +283,7 @@ + + + # execute main +-$0.gsub!(/.*\//, "") ++$0 = $0.gsub(/.*\//, "") + exit(main()) + + +Only in qdbm-1.8.78/ruby/depot: mkmf.log +--- qdbm-1.8.78.orig/ruby/depot/mod_depot.c ++++ qdbm-1.8.78/ruby/depot/mod_depot.c +@@ -23,6 +23,13 @@ + + #define MAXOPEN 1024 + ++#ifndef StringValuePtr ++# define StringValuePtr(v) STR2CSTR(v) ++#endif ++#ifndef RSTRING_LEN ++# define RSTRING_LEN(s) (RSTRING(s)->len) ++#endif ++ + + VALUE cdepoterror; + VALUE cdepoterror_ENOERR; +@@ -232,7 +239,7 @@ + const char *name; + int index, omode, bnum; + if((index = getnewindex()) == -1) myerror(DP_EMISC); +- name = STR2CSTR(vname); ++ name = StringValuePtr(vname); + FIXNUM_P(vomode); + omode = FIX2INT(vomode); + FIXNUM_P(vbnum); +@@ -273,10 +280,10 @@ + int index, ksiz, vsiz, dmode; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; +- vbuf = STR2CSTR(vval); +- vsiz = RSTRING(vval)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); ++ vbuf = StringValuePtr(vval); ++ vsiz = RSTRING_LEN(vval); + FIXNUM_P(vdmode); + dmode = FIX2INT(vdmode); + depot = dptable[index]; +@@ -294,8 +301,8 @@ + int index, ksiz; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); + depot = dptable[index]; + if(!dpout(depot, kbuf, ksiz)){ + if(dpsltable[index] && dpecode == DP_ENOITEM) return Qfalse; +@@ -313,8 +320,8 @@ + VALUE vval; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); + FIXNUM_P(vstart); + start = FIX2INT(vstart); + FIXNUM_P(vmax); +@@ -336,8 +343,8 @@ + int index, ksiz, vsiz; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); + depot = dptable[index]; + if((vsiz = dpvsiz(depot, kbuf, ksiz)) == -1){ + if(dpsltable[index] && dpecode == DP_ENOITEM) return INT2FIX(-1); +--- qdbm-1.8.78.orig/ruby/depot/rbdptest ++++ qdbm-1.8.78/ruby/depot/rbdptest +@@ -21,7 +21,7 @@ + + # main routine + def main() +- $0.gsub!(/.*\//, "") ++ $0 = $0.gsub(/.*\//, "") + (ARGV.length >= 1) || usage() + if(ARGV[0] == "write") + rv = runwrite() +@@ -278,7 +278,7 @@ + + + # execute main +-$0.gsub!(/.*\//, "") ++$0 = $0.gsub(/.*\//, "") + exit(main()) + + +--- qdbm-1.8.78.orig/ruby/myrbdoc ++++ qdbm-1.8.78/ruby/myrbdoc +@@ -186,7 +186,7 @@ + + + # execute main +-#$0.gsub!(/.*\//, "") ++#$0 = $0.gsub(/.*\//, "") + exit(main()) + + +--- qdbm-1.8.78.orig/ruby/villa/mod_villa.c ++++ qdbm-1.8.78/ruby/villa/mod_villa.c +@@ -25,6 +25,13 @@ + + #define MAXOPEN 1024 + ++#ifndef StringValuePtr ++# define StringValuePtr(v) STR2CSTR(v) ++#endif ++#ifndef RSTRING_LEN ++# define RSTRING_LEN(s) (RSTRING(s)->len) ++#endif ++ + + VALUE cvillaerror; + VALUE cvillaerror_ENOERR; +@@ -304,7 +311,7 @@ + int index, omode, cmode; + VLCFUNC cmp; + if((index = getnewindex()) == -1) myerror(DP_EMISC); +- name = STR2CSTR(vname); ++ name = StringValuePtr(vname); + FIXNUM_P(vomode); + omode = FIX2INT(vomode); + FIXNUM_P(vcmode); +@@ -352,10 +359,10 @@ + int index, ksiz, vsiz, dmode; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; +- vbuf = STR2CSTR(vval); +- vsiz = RSTRING(vval)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); ++ vbuf = StringValuePtr(vval); ++ vsiz = RSTRING_LEN(vval); + FIXNUM_P(vdmode); + dmode = FIX2INT(vdmode); + villa = vltable[index]; +@@ -373,8 +380,8 @@ + int index, ksiz; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); + villa = vltable[index]; + if(!vlout(villa, kbuf, ksiz)){ + if(vlsltable[index] && dpecode == DP_ENOITEM) return Qfalse; +@@ -391,8 +398,8 @@ + VALUE vval; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); + villa = vltable[index]; + if(!(vbuf = vlget(villa, kbuf, ksiz, &vsiz))){ + if(vlsltable[index] && dpecode == DP_ENOITEM) return Qnil; +@@ -409,8 +416,8 @@ + int index, ksiz, vsiz; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); + villa = vltable[index]; + if((vsiz = vlvsiz(villa, kbuf, ksiz)) == -1){ + if(vlsltable[index] && dpecode == DP_ENOITEM) return INT2FIX(-1); +@@ -426,8 +433,8 @@ + int index, ksiz, vnum; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); + villa = vltable[index]; + vnum = vlvnum(villa, kbuf, ksiz); + return INT2FIX(vnum); +@@ -497,8 +504,8 @@ + VALUE vval; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- kbuf = STR2CSTR(vkey); +- ksiz = RSTRING(vkey)->len; ++ kbuf = StringValuePtr(vkey); ++ ksiz = RSTRING_LEN(vkey); + FIXNUM_P(vjmode); + jmode = FIX2INT(vjmode); + villa = vltable[index]; +@@ -551,8 +558,8 @@ + int index, vsiz, cpmode; + FIXNUM_P(vindex); + if((index = FIX2INT(vindex)) == -1) myerror(DP_EMISC); +- vbuf = STR2CSTR(vval); +- vsiz = RSTRING(vval)->len; ++ vbuf = StringValuePtr(vval); ++ vsiz = RSTRING_LEN(vval); + FIXNUM_P(vcpmode); + cpmode = FIX2INT(vcpmode); + villa = vltable[index]; +--- qdbm-1.8.78.orig/ruby/villa/rbvltest ++++ qdbm-1.8.78/ruby/villa/rbvltest +@@ -21,7 +21,7 @@ + + # main routine + def main() +- $0.gsub!(/.*\//, "") ++ $0 = $0.gsub(/.*\//, "") + (ARGV.length >= 1) || usage() + if(ARGV[0] == "write") + rv = runwrite() +@@ -280,7 +280,7 @@ + + + # execute main +-$0.gsub!(/.*\//, "") ++$0 = $0.gsub(/.*\//, "") + exit(main()) + + diff --git a/dev-db/qdbm/qdbm-1.8.78-r1.ebuild b/dev-db/qdbm/qdbm-1.8.78-r1.ebuild index c596a054425b..ae14683e6191 100644 --- a/dev-db/qdbm/qdbm-1.8.78-r1.ebuild +++ b/dev-db/qdbm/qdbm-1.8.78-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/qdbm/qdbm-1.8.78-r1.ebuild,v 1.9 2012/05/28 13:58:16 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/qdbm/qdbm-1.8.78-r1.ebuild,v 1.10 2012/10/28 07:53:43 hattya Exp $ EAPI="4" @@ -25,6 +25,7 @@ DEPEND="${RDEPEND} src_prepare() { epatch "${FILESDIR}"/${PN}-runpath.diff epatch "${FILESDIR}"/${PN}-perl-runpath-vendor.diff + epatch "${FILESDIR}"/${PN}-ruby19.diff # apply flags sed -i "/^CFLAGS/s|$| ${CFLAGS}|" Makefile.in sed -i "/^OPTIMIZE/s|$| ${CFLAGS}|" perl/Makefile.in |