summaryrefslogtreecommitdiff
path: root/dev-db/qdbm
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-db/qdbm
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-db/qdbm')
-rw-r--r--dev-db/qdbm/Manifest9
-rw-r--r--dev-db/qdbm/files/qdbm-configure.patch108
-rw-r--r--dev-db/qdbm/files/qdbm-perl.patch34
-rw-r--r--dev-db/qdbm/files/qdbm-ruby19.patch373
-rw-r--r--dev-db/qdbm/files/qdbm-runpath.patch30
-rw-r--r--dev-db/qdbm/metadata.xml7
-rw-r--r--dev-db/qdbm/qdbm-1.8.78-r1.ebuild178
7 files changed, 739 insertions, 0 deletions
diff --git a/dev-db/qdbm/Manifest b/dev-db/qdbm/Manifest
new file mode 100644
index 000000000000..8e0d1e51c212
--- /dev/null
+++ b/dev-db/qdbm/Manifest
@@ -0,0 +1,9 @@
+AUX qdbm-configure.patch 3385 SHA256 19b84a96676695cd95afe0a69a93f350c8429455a1f33d906b8cb6bd3211aaac SHA512 a6eeed36b87bdaf9bbddbc7aa641cfca89e72e2e6c2acaec66b0444db9bd39f57afae0c8fb065293875c45dbb14ff6826a4c93061b7457c32b42943e8113d89a WHIRLPOOL 98274d41196862b0da0c60bbaa27202dd8d99f86c164a948840d8cc5a53ae06871a02a56049fcacbc7d522e08b87886e5826d2696894ac99824a17eee4328003
+AUX qdbm-perl.patch 1260 SHA256 9636a32be685a916c9fdfd81d14913971a0dd8242c82eae785e2c23a6368fbf3 SHA512 a7356c2f5a4313e7da2524a6276bca5720459858d8619bfd8e6514cd9c1cd9aa1a2f7f0592e5ad1ee8b05e7e34452761e26be351f8e933e79a75cb4d19c862f3 WHIRLPOOL 4037b5b1088fbcfb91684536aa513e54a474efa019f814c8b0482997b826dbaa4afe67c8dffa3d9b68fd8afd3027748a2988b93bb3b6959d85516634d0f4d7c5
+AUX qdbm-ruby19.patch 10116 SHA256 435007e7696ddb8cae7770c5f89e90b52e2b393ad66cebc47bcaa093ea00de3f SHA512 f3e6c320a600ad3355fc74a333c28fc2dd904a2a52ca91a51f21b3dd14c7527bf312f5040dbc3e4f61d2dbcc0ade185e226333c79f9a04fc05437a156befc0e7 WHIRLPOOL d7df98acc831a278dacd909613513fa7aec3634efc9eeac94e460f71e7a0d7215e20a31edcb6066af98779302acd6375524192fcbf4821aaf52df853c2e425b1
+AUX qdbm-runpath.patch 1133 SHA256 9b1db56970f1048ee48d4ab03a1566a531661a1fe7f025da2ad165c67658895e SHA512 de8bde4a614617d742131e8025fd661019ec81b803817ef32ffca461b2c8b60c20756f6e6f84d6f23124eed3947ab3573b8c4a05b254f8b4d3e53f0cf7bc8452 WHIRLPOOL 5702dda2fb51121da7f0137d564a8566deeac14509bc35a392844336676869450ae5a167f2b8cc5c13a177c5d97879ff6361eec88f01ab4f5fe0c7b390387120
+DIST qdbm-1.8.78.tar.gz 1015429 SHA256 b466fe730d751e4bfc5900d1f37b0fb955f2826ac456e70012785e012cdcb73e SHA512 480549c56071bf82edf714a611aef863599c858ed63702820ae0890fd2c0029d1a231ed94a8090c74420dd648bd3625d270a5c078b113cbb86a12ef509e19037 WHIRLPOOL a42d2c981bf28e5b4619bf166177449abba02ef774a783c33feb7be04ef558cbec4b7e2ea4db85782eb59f57bdebeb0eb8170455e480cc5b578f7a6e0e3a39da
+EBUILD qdbm-1.8.78-r1.ebuild 3247 SHA256 829965f538a1c230d6df92a32f94f67f316e7f4f9246921a60c52e0f39ea9090 SHA512 4e55f633612814e0f91af7ff0434727734b1a187398780d5ab54de4e3b78fdebb13e09ce2f32eb8d60c2a39ab7e6f03458b84125854b9b691c1abc4410ab6942 WHIRLPOOL e666dcea71cc4c9ac8a75fd7f34b719bc126a6973a9de80c6d0e549e1a268c739afa93518a97ac41c1c81fa3ce9c89c62cdd3cdefa6444b147e30d732e125261
+MISC ChangeLog 2264 SHA256 9ac8dd58121d5a9f1ae1c50b72ee7291a2d10fc05e26076da3bb738918bfbb9d SHA512 f556b1c228f3d43c5d759a849dc240d5e3f110ca002040c56370bbf6898dfc665dfe944ebe427fb1709666efe10498021004a8a6155125e707a0466a257bc8bf WHIRLPOOL e6819dc825037b37e74e9c282d21b43fce50d3ec675f3b43f9d70cf5363a05ccd7912694ed09db7c7aa72c65bb6e0afdcdc4bda6d05beb45dedffb906156702d
+MISC ChangeLog-2015 16311 SHA256 7d9c8e4ddadf5931b4fa5041341578bdd8812653bd75701afe3b836519d99e3a SHA512 68589dd037a3495861352f87bbe10930f5ce32f6d4bdbf517e2115571277a8033d99c17821e4d3812fb6bf212d406f05a6eacb332b890db2c8b82029446e1291 WHIRLPOOL 2622c588e4e691bb8ca69b5133dc3460615ebd56e53e4b92594940354d207d3e2a406a9f3cc876ef3be259b589d70106d235deb0252731c92b22a6ac724a71fb
+MISC metadata.xml 221 SHA256 27a3fa259bbce0eb90b1fe397126b9d5ef4e906e824ae72f9ea923fff8da6d02 SHA512 a11e9bbbabc9ac96985c5dc247e601b065fa762f12bce74224896c27aee34eb908187622bfc849c39c6c722a8ef8ee72b248afc84da1b0eb72f1ff5eeb13bbf0 WHIRLPOOL e8ddaad694d5f22a229ccc3dc7597a11dce9ffd502ed3fa64b9cc760d3404c4dac31c9b9948b38b2eee0efc446a8aee52a73f87ec28d229670ba3bfc3cb9a95c
diff --git a/dev-db/qdbm/files/qdbm-configure.patch b/dev-db/qdbm/files/qdbm-configure.patch
new file mode 100644
index 000000000000..364c5c9f653e
--- /dev/null
+++ b/dev-db/qdbm/files/qdbm-configure.patch
@@ -0,0 +1,108 @@
+--- a/cgi/configure.in
++++ b/cgi/configure.in
+@@ -13,15 +13,6 @@
+ # Export variables
+ TARGETS="all"
+
+-# Building paths
+-pathtmp="$PATH"
+-PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
+-PATH="$PATH:/usr/ccs/bin:/usr/ucb:/usr/xpg4/bin:/usr/xpg6/bin:$pathtmp"
+-LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LIBRARY_PATH"
+-LD_LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH"
+-CPATH="$HOME/include:/usr/local/include:$CPATH"
+-export PATH LIBRARY_PATH LD_LIBRARY_PATH CPATH
+-
+
+
+ #================================================================
+--- a/configure.in
++++ b/configure.in
+@@ -20,15 +20,6 @@
+ LD="ld"
+ AR="ar"
+
+-# Building paths
+-pathtmp="$PATH"
+-PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
+-PATH="$PATH:/usr/ccs/bin:/usr/ucb:/usr/xpg4/bin:/usr/xpg6/bin:$pathtmp"
+-LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LIBRARY_PATH"
+-LD_LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH"
+-CPATH="$HOME/include:/usr/local/include:$CPATH"
+-export PATH LIBRARY_PATH LD_LIBRARY_PATH CPATH
+-
+
+
+ #================================================================
+--- a/java/configure.in
++++ b/java/configure.in
+@@ -25,15 +25,6 @@
+ MYOPTS=""
+ LD="ld"
+
+-# Building paths
+-pathtmp="$PATH"
+-PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
+-PATH="$PATH:/usr/ccs/bin:/usr/ucb:/usr/xpg4/bin:/usr/xpg6/bin:$pathtmp"
+-LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LIBRARY_PATH"
+-LD_LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH"
+-CPATH="$HOME/include:/usr/local/include:$CPATH"
+-export PATH LIBRARY_PATH LD_LIBRARY_PATH CPATH
+-
+
+
+ #================================================================
+--- a/perl/configure.in
++++ b/perl/configure.in
+@@ -5,15 +5,6 @@
+ # Targets
+ AC_INIT(qdbm-perl, 1.0.0)
+
+-# Building paths
+-pathtmp="$PATH"
+-PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
+-PATH="$PATH:/usr/ccs/bin:/usr/ucb:/usr/xpg4/bin:/usr/xpg6/bin:$pathtmp"
+-LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LIBRARY_PATH"
+-LD_LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH"
+-CPATH="$HOME/include:/usr/local/include:$CPATH"
+-export PATH LIBRARY_PATH LD_LIBRARY_PATH CPATH
+-
+ # Setting the default prefix
+ if test "$prefix" = NONE
+ then
+--- a/plus/configure.in
++++ b/plus/configure.in
+@@ -19,15 +19,6 @@
+ LD="ld"
+ AR="ar"
+
+-# Building paths
+-pathtmp="$PATH"
+-PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
+-PATH="$PATH:/usr/ccs/bin:/usr/ucb:/usr/xpg4/bin:/usr/xpg6/bin:$pathtmp"
+-LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LIBRARY_PATH"
+-LD_LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH"
+-CPATH="$HOME/include:/usr/local/include:$CPATH"
+-export PATH LIBRARY_PATH LD_LIBRARY_PATH CPATH
+-
+
+
+ #================================================================
+--- a/ruby/configure.in
++++ b/ruby/configure.in
+@@ -5,15 +5,6 @@
+ # Targets
+ AC_INIT(qdbm-ruby, 1.0.0)
+
+-# Building paths
+-pathtmp="$PATH"
+-PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"
+-PATH="$PATH:/usr/ccs/bin:/usr/ucb:/usr/xpg4/bin:/usr/xpg6/bin:$pathtmp"
+-LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LIBRARY_PATH"
+-LD_LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH"
+-CPATH="$HOME/include:/usr/local/include:$CPATH"
+-export PATH LIBRARY_PATH LD_LIBRARY_PATH CPATH
+-
+ # Setting the default prefix
+ if test "$prefix" = NONE
+ then
diff --git a/dev-db/qdbm/files/qdbm-perl.patch b/dev-db/qdbm/files/qdbm-perl.patch
new file mode 100644
index 000000000000..1a7ca6a70dcd
--- /dev/null
+++ b/dev-db/qdbm/files/qdbm-perl.patch
@@ -0,0 +1,34 @@
+--- a/perl/Makefile.in
++++ b/perl/Makefile.in
+@@ -25,10 +25,10 @@
+ DESTDIR =
+
+ # Building binaries
+-CC = gcc
++CC = @CC@
+ INC = -I. -I../.. -I$(HOME)/include -I/usr/local/include
+ OPTIMIZE = -O2
+-LD = gcc
++LD = @CC@
+ LIBS = -L../.. -I$(HOME)/lib -L/usr/local/lib -lqdbm @LIBS@
+ RUNENV = LD_LIBRARY_PATH=.:..:../..:/usr/local/lib:$(HOME)/lib
+
+@@ -42,15 +42,15 @@
+ all :
+ cd depot && [ -f Makefile ] || \
+ $(RUNENV) perl Makefile.PL CC="$(CC)" INC="$(INC)" OPTIMIZE="$(OPTIMIZE)" \
+- LD="$(LD)" LIBS="$(LIBS)" PREFIX="$(prefix)" ; \
++ LD="$(LD)" LIBS="$(LIBS)" PREFIX="$(prefix)" INSTALLDIRS="vendor" ; \
+ $(RUNENV) make
+ cd curia && [ -f Makefile ] || \
+ $(RUNENV) perl Makefile.PL CC="$(CC)" INC="$(INC)" OPTIMIZE="$(OPTIMIZE)" \
+- LD="$(LD)" LIBS="$(LIBS)" PREFIX="$(prefix)" ; \
++ LD="$(LD)" LIBS="$(LIBS)" PREFIX="$(prefix)" INSTALLDIRS="vendor" ; \
+ $(RUNENV) make
+ cd villa && [ -f Makefile ] || \
+ $(RUNENV) perl Makefile.PL CC="$(CC)" INC="$(INC)" OPTIMIZE="$(OPTIMIZE)" \
+- LD="$(LD)" LIBS="$(LIBS)" PREFIX="$(prefix)" ; \
++ LD="$(LD)" LIBS="$(LIBS)" PREFIX="$(prefix)" INSTALLDIRS="vendor" ; \
+ $(RUNENV) make
+ @printf '\n'
+ @printf '#================================================================\n'
diff --git a/dev-db/qdbm/files/qdbm-ruby19.patch b/dev-db/qdbm/files/qdbm-ruby19.patch
new file mode 100644
index 000000000000..8724e7cdc4ed
--- /dev/null
+++ b/dev-db/qdbm/files/qdbm-ruby19.patch
@@ -0,0 +1,373 @@
+--- a/ruby/Makefile.in
++++ b/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'
+--- a/ruby/configure.in
++++ b/ruby/configure.in
+@@ -17,7 +17,7 @@
+ # Setting the default prefix
+ if test "$prefix" = NONE
+ then
+- prefix=`ruby -rrbconfig -e 'puts(Config::CONFIG.fetch("prefix"))'`
++ prefix=`ruby -rrbconfig -e 'puts(RbConfig::CONFIG.fetch("prefix"))'`
+ fi
+
+ # Duplication of QDBM for Ruby
+--- a/ruby/curia/mod_curia.c
++++ b/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);
+--- a/ruby/curia/rbcrtest
++++ b/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())
+
+
+--- a/ruby/depot/mod_depot.c
++++ b/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);
+--- a/ruby/depot/rbdptest
++++ b/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())
+
+
+--- a/ruby/myrbdoc
++++ b/ruby/myrbdoc
+@@ -186,7 +186,7 @@
+
+
+ # execute main
+-#$0.gsub!(/.*\//, "")
++#$0 = $0.gsub(/.*\//, "")
+ exit(main())
+
+
+--- a/ruby/villa/mod_villa.c
++++ b/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];
+--- a/ruby/villa/rbvltest
++++ b/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/files/qdbm-runpath.patch b/dev-db/qdbm/files/qdbm-runpath.patch
new file mode 100644
index 000000000000..56d85a5b14a5
--- /dev/null
+++ b/dev-db/qdbm/files/qdbm-runpath.patch
@@ -0,0 +1,30 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -61,7 +61,6 @@
+ LIBS = -lqdbm @LIBS@
+ LIBLDFLAGS = @LDFLAGS@ -L. -L$(MYLIBDIR) -L$(HOME)/lib -L/usr/local/lib @LIBS@
+ LDFLAGS = @LDFLAGS@ -L. -L$(MYLIBDIR) -L$(HOME)/lib -L/usr/local/lib $(LIBS)
+-LDENV = LD_RUN_PATH=/lib:/usr/lib:$(MYLIBDIR):$(HOME)/lib:/usr/local/lib
+ AR = @AR@
+ ARFLAGS = rcsv
+ RUNENV = LD_LIBRARY_PATH=.:/lib:/usr/lib:$(MYLIBDIR):$(HOME)/lib:/usr/local/lib
+--- a/cgi/Makefile.in
++++ b/cgi/Makefile.in
+@@ -28,7 +28,6 @@
+ CFLAGS = -Wall -ansi -pedantic -fsigned-char -O2
+ LIBS = -lqdbm @LIBS@
+ LDFLAGS = -L$(srcdir)/.. -L$(HOME)/lib -L/usr/local/lib $(LIBS)
+-LDENV = LD_RUN_PATH=/lib:/usr/lib:$(HOME)/lib:/usr/local/lib:$(prefix)/lib
+
+ # Install destinations
+ prefix = @prefix@
+--- a/plus/Makefile.in
++++ b/plus/Makefile.in
+@@ -51,7 +51,6 @@
+ -L$(HOME)/lib -L/usr/local/lib $(LIBS)
+ LDFLAGS = @LDFLAGS@ -L. -L$(srcdir)/.. -L$(MYLIBDIR) \
+ -L$(HOME)/lib -L/usr/local/lib -lxqdbm $(LIBS)
+-LDENV = LD_RUN_PATH=/lib:/usr/lib:$(MYLIBDIR):$(HOME)/lib:/usr/local/lib
+ AR = @AR@
+ ARFLAGS = rcsv
+ RUNENV = LD_LIBRARY_PATH=.:..:/lib:/usr/lib:$(MYLIBDIR):$(HOME)/lib:/usr/local/lib
diff --git a/dev-db/qdbm/metadata.xml b/dev-db/qdbm/metadata.xml
new file mode 100644
index 000000000000..21dc8fdf43ff
--- /dev/null
+++ b/dev-db/qdbm/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>hattya@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-db/qdbm/qdbm-1.8.78-r1.ebuild b/dev-db/qdbm/qdbm-1.8.78-r1.ebuild
new file mode 100644
index 000000000000..fcb210018c4c
--- /dev/null
+++ b/dev-db/qdbm/qdbm-1.8.78-r1.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+USE_RUBY="ruby21 ruby22 ruby23 ruby24"
+RUBY_OPTIONAL="yes"
+
+inherit autotools java-pkg-opt-2 perl-functions ruby-ng
+
+DESCRIPTION="Quick Database Manager"
+HOMEPAGE="http://fallabs.com/qdbm/"
+SRC_URI="http://fallabs.com/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="bzip2 cxx debug java lzo perl ruby zlib"
+
+RDEPEND="bzip2? ( app-arch/bzip2 )
+ java? ( >=virtual/jre-1.4:* )
+ lzo? ( dev-libs/lzo )
+ perl? ( dev-lang/perl )
+ ruby? ( $(ruby_implementations_depend) )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ java? ( >=virtual/jdk-1.4:* )"
+S="${WORKDIR}/all/${P}"
+RUBY_S="${P}/ruby"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-configure.patch
+ "${FILESDIR}"/${PN}-perl.patch
+ "${FILESDIR}"/${PN}-ruby19.patch
+ "${FILESDIR}"/${PN}-runpath.patch
+)
+HTML_DOCS=( doc/. )
+
+AT_NOELIBTOOLIZE="yes"
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+ use ruby && ruby-ng_pkg_setup
+}
+
+qdbm_foreach_api() {
+ local u
+ for u in cxx java perl ruby; do
+ if ! use "${u}"; then
+ continue
+ fi
+ einfo "${EBUILD_PHASE} ${u}"
+ if [[ "${u}" == "cxx" ]]; then
+ u="plus"
+ fi
+ if [[ "${u}" != "ruby" ]]; then
+ cd "${u}"
+ case "${EBUILD_PHASE}" in
+ prepare)
+ mv configure.{in,ac}
+ eautoreconf
+ ;;
+ configure)
+ case "${u}" in
+ cgi|java|plus)
+ econf $(use_enable debug)
+ ;;
+ *)
+ econf
+ ;;
+ esac
+ ;;
+ compile)
+ emake
+ ;;
+ test)
+ emake check
+ ;;
+ install)
+ emake DESTDIR="${D}" MYDATADIR=/usr/share/doc/${P}/html install
+ esac
+ cd - >/dev/null
+ else
+ PATCHES= ruby-ng_src_${EBUILD_PHASE}
+ fi
+ done
+}
+
+src_prepare() {
+ default
+ java-pkg-opt-2_src_prepare
+
+ sed -i \
+ -e "/^CFLAGS/s|$| ${CFLAGS}|" \
+ -e "/^OPTIMIZE/s|$| ${CFLAGS}|" \
+ -e "/^CXXFLAGS/s|$| ${CXXFLAGS}|" \
+ -e "/^JAVACFLAGS/s|$| ${JAVACFLAGS}|" \
+ -e 's/make\( \|$\)/$(MAKE)\1/g' \
+ -e '/^debug/,/^$/s/LDFLAGS="[^"]*" //' \
+ Makefile.in {cgi,java,perl,plus,ruby}/Makefile.in
+ find -name "*~" -delete
+
+ mv configure.{in,ac}
+ eautoreconf
+ qdbm_foreach_api
+}
+
+each_ruby_prepare() {
+ sed -i \
+ -e "s|ruby |${RUBY} |" \
+ -e "s|\.\./\.\.|${WORKDIR}/all/${P}|" \
+ {Makefile,configure}.in {curia,depot,villa}/extconf.rb
+
+ mv configure.{in,ac}
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable bzip2 bzip) \
+ $(use_enable debug) \
+ $(use_enable lzo) \
+ $(use_enable zlib) \
+ --enable-iconv \
+ --enable-pthread
+ qdbm_foreach_api
+}
+
+each_ruby_configure() {
+ econf
+}
+
+src_compile() {
+ default
+ qdbm_foreach_api
+}
+
+each_ruby_compile() {
+ emake
+}
+
+src_test() {
+ default
+ qdbm_foreach_api
+}
+
+each_ruby_test() {
+ emake check
+}
+
+src_install() {
+ default
+ qdbm_foreach_api
+
+ rm -rf "${ED}"/usr/share/${PN}
+
+ if use java; then
+ java-pkg_dojar "${ED}"/usr/$(get_libdir)/*.jar
+ rm -f "${ED}"/usr/$(get_libdir)/*.jar
+ fi
+ if use perl; then
+ perl_delete_module_manpages
+ perl_fix_packlist
+ fi
+
+ rm -f "${ED}"/usr/bin/*test
+ rm -f "${ED}"/usr/share/man/man1/*test.1*
+}
+
+each_ruby_install() {
+ local m
+ for m in curia depot villa; do
+ emake -C "${m}" DESTDIR="${D}" install
+ done
+}
+
+all_ruby_install() {
+ dodoc -r rb*.html rbapidoc
+}