summaryrefslogtreecommitdiff
path: root/dev-ruby/pg
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby/pg')
-rw-r--r--dev-ruby/pg/Manifest8
-rw-r--r--dev-ruby/pg/files/postgresql10-tests.patch49
-rw-r--r--dev-ruby/pg/metadata.xml11
-rw-r--r--dev-ruby/pg/pg-0.18.4-r1.ebuild62
-rw-r--r--dev-ruby/pg/pg-0.21.0.ebuild57
-rw-r--r--dev-ruby/pg/pg-1.0.0.ebuild55
6 files changed, 242 insertions, 0 deletions
diff --git a/dev-ruby/pg/Manifest b/dev-ruby/pg/Manifest
new file mode 100644
index 000000000000..fe9c7dca5553
--- /dev/null
+++ b/dev-ruby/pg/Manifest
@@ -0,0 +1,8 @@
+AUX postgresql10-tests.patch 1747 BLAKE2B e0a992461221f31cca1f39453e077a1d04d3f436e0eba3b683ed42092d266a8edb8a46e61933ac41e94ead483bac325833f1c21bfc57cf7ebb160f046d80e1f6 SHA512 89a7937b0791307366fbc97549d48cb7bdf92b66895b1de7dd554a040ad6a08b4af69709bf1318df95cdaf9824415d76b5f6be98be48995b75909fbfeefb6295
+DIST pg-0.18.4.gem 219648 BLAKE2B f6b957551b0b537dda5551bc8974f5bd2f8a4ee4ecf482a5d3dc3ede0ad610507029693fadbfe9d2e2940f63d82da61e535e802919a82f7e5ea23c1165b81847 SHA512 48e792756c7ee205164b59a9515ace6320150f0ce1907293f8c1a736300c62c0b38c1be49e8ad4f1a50f29abc7f72bb43e742a8e63d9606eff4c7d2191a4fb74
+DIST pg-0.21.0.gem 214016 BLAKE2B 9e27646cd85bc97dedfb980f4851b19a1ef2aad17f6a5c60726c1683642af5c4cf87d518b300fb4c894e1580f808f8af6158b57f1ac25971c1fc55818abee6f4 SHA512 590a8c34487d2cf030082cfff87b2cc83b636df06a931e394acfb098ecb5728e793d777f125b036ee9953bbd21ec5facf91c932930acccb507d3394f2fc4cc5b
+DIST pg-1.0.0.gem 213504 BLAKE2B eecaa632c7903f89c503ad92ccff058bbc6c2c80cbf83d656eeb9a5b919b84bb270671ad4e0fa08f55be1bcfc69eb8e13b815c37c601d300de503383f1ba5908 SHA512 1cac025ab8a95b4429534b98377eedeb1e3f8b2c4a859363c4174d477577caf39557b002cde4e745189fa9a29e9181ff9d564d822f15ff5c4f03f7389b0d0398
+EBUILD pg-0.18.4-r1.ebuild 1799 BLAKE2B 10a47c3c1a31f3c4c343d70e08be471d8e9dc4c7b8f4dd334324c0a3d568523553b07e8e29a20383583b6662db41c706cb55d3d36d632ad2866664d79c50508c SHA512 9bfe8233130cef910421d985ac0f432464613862116194124c0c1f3d214ddb9f56effa4fa8b19c522610f0460342ed4fb0b9571181d66d513f8440c01523b4bb
+EBUILD pg-0.21.0.ebuild 1705 BLAKE2B 4bd2da2760f0db193ed2b055c0b61511b010c62eed1e5aca03f166eee33006bb1459b35a243821e233883c98b1afa6cbd303e8ced293d9e8378687c7166e5a01 SHA512 04bf8259e5c1d6c59b18b6bdaaf8630915c22d9a6b2d7f394f5ddddae565b13f28a2ff6658c94ee8239983fb7c96048dcc97ad343e0829d8b2e9f97e5ef44ab8
+EBUILD pg-1.0.0.ebuild 1655 BLAKE2B 6427e234010712acd305575b7f08db4740547349823a2661984bcd058e38f461dc0ba4f33f728354108925d31384f9bd503394ad3457acdb3039b64bfd8e8b77 SHA512 277f349b3da11836fca7ddcd2d3961b1c83dcc099bc5c06b3af4fea2352585aae9f25330c3e3507f781800ec3d989bacd9316913dbfa4b578371cc2c596fb10e
+MISC metadata.xml 340 BLAKE2B 8ef2673e4dafd5495e2385e4216ae715d3334c170e81f45f823f8ef6942533ad088115e6f8e3c75b35e2af28cbbf1e3446cfb8b2eb084df7b9a3adc6c869c183 SHA512 76be8c407457ed3f1a8e2caaf5a10949a830d4033d8d18e88830f37d2b62d4ff9675367f123364041ca88f5af972d4d7152c1f2832a5c891b516a83f989e1598
diff --git a/dev-ruby/pg/files/postgresql10-tests.patch b/dev-ruby/pg/files/postgresql10-tests.patch
new file mode 100644
index 000000000000..f9b7c1579a91
--- /dev/null
+++ b/dev-ruby/pg/files/postgresql10-tests.patch
@@ -0,0 +1,49 @@
+# HG changeset patch
+# User Lars Kanis <kanis@comcard.de>
+# Date 1508756565 -7200
+# Node ID fe63160e8a9803e257231d879fab2841ba44c37a
+# Parent d6d5533dfca85b618232fe3e9e56e59dbee99de6
+Adjust tests for PostgreSQL-10
+
+diff --git a/spec/helpers.rb b/spec/helpers.rb
+--- a/spec/helpers.rb
++++ b/spec/helpers.rb
+@@ -251,7 +251,7 @@
+
+ def check_for_lingering_connections( conn )
+ conn.exec( "SELECT * FROM pg_stat_activity" ) do |res|
+- conns = res.find_all {|row| row['pid'].to_i != conn.backend_pid }
++ conns = res.find_all {|row| row['pid'].to_i != conn.backend_pid && ["client backend", nil].include?(row["backend_type"]) }
+ unless conns.empty?
+ puts "Lingering connections remain:"
+ conns.each do |row|
+diff --git a/spec/pg/connection_spec.rb b/spec/pg/connection_spec.rb
+--- a/spec/pg/connection_spec.rb
++++ b/spec/pg/connection_spec.rb
+@@ -232,7 +232,7 @@
+ described_class.connect(@conninfo).finish
+ sleep 0.5
+ res = @conn.exec(%[SELECT COUNT(*) AS n FROM pg_stat_activity
+- WHERE usename IS NOT NULL])
++ WHERE usename IS NOT NULL AND application_name != ''])
+ # there's still the global @conn, but should be no more
+ expect( res[0]['n'] ).to eq( '1' )
+ end
+@@ -1537,9 +1537,14 @@
+ end
+
+ it "shouldn't type map params unless requested" do
+- expect{
+- @conn.exec_params( "SELECT $1", [5] )
+- }.to raise_error(PG::IndeterminateDatatype)
++ if @conn.server_version < 100000
++ expect{
++ @conn.exec_params( "SELECT $1", [5] )
++ }.to raise_error(PG::IndeterminateDatatype)
++ else
++ # PostgreSQL-10 maps to TEXT type (OID 25)
++ expect( @conn.exec_params( "SELECT $1", [5] ).ftype(0)).to eq(25)
++ end
+ end
+
+ it "should raise an error on invalid encoder to put_copy_data" do
diff --git a/dev-ruby/pg/metadata.xml b/dev-ruby/pg/metadata.xml
new file mode 100644
index 000000000000..d5e99f21621d
--- /dev/null
+++ b/dev-ruby/pg/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="bitbucket">ged/ruby-pg</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/pg/pg-0.18.4-r1.ebuild b/dev-ruby/pg/pg-0.18.4-r1.ebuild
new file mode 100644
index 000000000000..485cd64b28cd
--- /dev/null
+++ b/dev-ruby/pg/pg-0.18.4-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby20 ruby21 ruby22 ruby23"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+RUBY_FAKEGEM_RECIPE_DOC="rdoc"
+RUBY_FAKEGEM_EXTRADOC="ChangeLog Contributors.rdoc README.rdoc History.rdoc"
+
+inherit multilib ruby-fakegem
+
+DESCRIPTION="Ruby extension library providing an API to PostgreSQL"
+HOMEPAGE="https://bitbucket.org/ged/ruby-pg/"
+
+LICENSE="|| ( GPL-2 Ruby )"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND+=" dev-db/postgresql:*"
+DEPEND+=" dev-db/postgresql
+ test? ( >=dev-db/postgresql-9.4[server,threads] )"
+
+RUBY_PATCHES=( "${FILESDIR}/postgresql10-tests.patch" )
+
+ruby_add_bdepend "
+ doc? (
+ dev-ruby/hoe
+ || ( >=dev-ruby/yard-0.6.1 dev-ruby/rdoc ) )"
+
+all_ruby_prepare() {
+ # hack the Rakefile to make it sure that it doesn't load
+ # rake-compiler (so that we don't have to depend on it and it
+ # actually works when building with USE=doc).
+ sed -i \
+ -e '/Rakefile.cross/s:^:#:' \
+ -e '/ExtensionTask/,/^end$/ s:^:#:' \
+ Rakefile || die
+}
+
+each_ruby_configure() {
+ ${RUBY} -C ext extconf.rb || die "extconf.rb failed"
+}
+
+each_ruby_compile() {
+ emake V=1 -C ext CFLAGS="${CFLAGS} -fPIC" archflag="${LDFLAGS}"
+ cp ext/*$(get_libname) lib || die
+}
+
+each_ruby_test() {
+ if [[ "${EUID}" -ne "0" ]]; then
+ # Make the rspec call explicit, this way we don't have to depend
+ # on rake-compiler (nor rubygems) _and_ we don't have to rebuild
+ # the whole extension from scratch.
+ RSPEC_VERSION=3 ruby-ng_rspec
+ else
+ ewarn "The userpriv feature must be enabled to run tests."
+ eerror "Testsuite will not be run."
+ fi
+}
diff --git a/dev-ruby/pg/pg-0.21.0.ebuild b/dev-ruby/pg/pg-0.21.0.ebuild
new file mode 100644
index 000000000000..0121b1f24c8d
--- /dev/null
+++ b/dev-ruby/pg/pg-0.21.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+USE_RUBY="ruby22 ruby23 ruby24 ruby25"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+RUBY_FAKEGEM_RECIPE_DOC="rdoc"
+RUBY_FAKEGEM_EXTRADOC="ChangeLog Contributors.rdoc README.rdoc History.rdoc"
+
+inherit multilib ruby-fakegem
+
+DESCRIPTION="Ruby extension library providing an API to PostgreSQL"
+HOMEPAGE="https://bitbucket.org/ged/ruby-pg/"
+
+LICENSE="|| ( GPL-2 Ruby )"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND+=" dev-db/postgresql:*"
+DEPEND+=" dev-db/postgresql
+ test? ( >=dev-db/postgresql-9.4[server,threads] )"
+
+PATCHES=( "${FILESDIR}/postgresql10-tests.patch" )
+
+all_ruby_prepare() {
+ # hack the Rakefile to make it sure that it doesn't load
+ # rake-compiler (so that we don't have to depend on it and it
+ # actually works when building with USE=doc).
+ sed -i \
+ -e '/Rakefile.cross/s:^:#:' \
+ -e '/ExtensionTask/,/^end$/ s:^:#:' \
+ Rakefile || die
+}
+
+each_ruby_configure() {
+ ${RUBY} -C ext extconf.rb || die "extconf.rb failed"
+}
+
+each_ruby_compile() {
+ emake V=1 -C ext CFLAGS="${CFLAGS} -fPIC" archflag="${LDFLAGS}"
+ cp ext/*$(get_libname) lib || die
+}
+
+each_ruby_test() {
+ if [[ "${EUID}" -ne "0" ]]; then
+ # Make the rspec call explicit, this way we don't have to depend
+ # on rake-compiler (nor rubygems) _and_ we don't have to rebuild
+ # the whole extension from scratch.
+ RSPEC_VERSION=3 ruby-ng_rspec
+ else
+ ewarn "The userpriv feature must be enabled to run tests."
+ eerror "Testsuite will not be run."
+ fi
+}
diff --git a/dev-ruby/pg/pg-1.0.0.ebuild b/dev-ruby/pg/pg-1.0.0.ebuild
new file mode 100644
index 000000000000..dbbd6e9e775f
--- /dev/null
+++ b/dev-ruby/pg/pg-1.0.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+USE_RUBY="ruby22 ruby23 ruby24 ruby25"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+RUBY_FAKEGEM_RECIPE_DOC="rdoc"
+RUBY_FAKEGEM_EXTRADOC="ChangeLog Contributors.rdoc README.rdoc History.rdoc"
+
+inherit multilib ruby-fakegem
+
+DESCRIPTION="Ruby extension library providing an API to PostgreSQL"
+HOMEPAGE="https://bitbucket.org/ged/ruby-pg/"
+
+LICENSE="|| ( GPL-2 Ruby )"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND+=" dev-db/postgresql:*"
+DEPEND+=" dev-db/postgresql
+ test? ( >=dev-db/postgresql-9.4[server,threads] )"
+
+all_ruby_prepare() {
+ # hack the Rakefile to make it sure that it doesn't load
+ # rake-compiler (so that we don't have to depend on it and it
+ # actually works when building with USE=doc).
+ sed -i \
+ -e '/Rakefile.cross/s:^:#:' \
+ -e '/ExtensionTask/,/^end$/ s:^:#:' \
+ Rakefile || die
+}
+
+each_ruby_configure() {
+ ${RUBY} -C ext extconf.rb || die "extconf.rb failed"
+}
+
+each_ruby_compile() {
+ emake V=1 -C ext CFLAGS="${CFLAGS} -fPIC" archflag="${LDFLAGS}"
+ cp ext/*$(get_libname) lib || die
+}
+
+each_ruby_test() {
+ if [[ "${EUID}" -ne "0" ]]; then
+ # Make the rspec call explicit, this way we don't have to depend
+ # on rake-compiler (nor rubygems) _and_ we don't have to rebuild
+ # the whole extension from scratch.
+ RSPEC_VERSION=3 ruby-ng_rspec
+ else
+ ewarn "The userpriv feature must be enabled to run tests."
+ eerror "Testsuite will not be run."
+ fi
+}