summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-java/jdbc-postgresql
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-java/jdbc-postgresql')
-rw-r--r--dev-java/jdbc-postgresql/Manifest6
-rw-r--r--dev-java/jdbc-postgresql/files/jdbc-postgresql-8.4_p701-stray-com.sun-import.patch10
-rw-r--r--dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-osgi.patch37
-rw-r--r--dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-sspi.patch138
-rw-r--r--dev-java/jdbc-postgresql/jdbc-postgresql-8.3_p603.ebuild81
-rw-r--r--dev-java/jdbc-postgresql/jdbc-postgresql-8.4_p701-r1.ebuild80
-rw-r--r--dev-java/jdbc-postgresql/jdbc-postgresql-9.2_p1003.ebuild79
-rw-r--r--dev-java/jdbc-postgresql/jdbc-postgresql-9.2_p1004.ebuild79
-rw-r--r--dev-java/jdbc-postgresql/jdbc-postgresql-9.3_p1100.ebuild79
-rw-r--r--dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1201.ebuild100
-rw-r--r--dev-java/jdbc-postgresql/metadata.xml5
11 files changed, 694 insertions, 0 deletions
diff --git a/dev-java/jdbc-postgresql/Manifest b/dev-java/jdbc-postgresql/Manifest
new file mode 100644
index 000000000000..0ace2c641275
--- /dev/null
+++ b/dev-java/jdbc-postgresql/Manifest
@@ -0,0 +1,6 @@
+DIST postgresql-jdbc-8.3-603.src.tar.gz 521517 SHA256 d7fa28a6f059887ae8d692c0e8a8befac688b3755ac6f46ab07e2119018e4f2d SHA512 e8caa83fead9e94333b28a33b9e9849b1800f3215025a9fc6ea04bd926af9d814fb56993b209749942c737cfcba578b7289a63a4438d941b8a9a63f1cf1c8c74 WHIRLPOOL 242939633995f33acbcbb0b9e89bcf3ca4faaf62d0242eb1fa967528152880ee7ccbbf0f7a3eb70a450f94ba9e8ae2692154716b4ad71a4ce3c651507f836604
+DIST postgresql-jdbc-8.4-701.src.tar.gz 551752 SHA256 d2748885b99b414fb2a1d68659b18effb87c9d3379181ad1f3d3e1e40cf61d90 SHA512 9ded77cdee133bde196cbfcf4ee425365620038c211714ed7e20e99012c7e3ff0834da4140bc4839e96fbe986591ec82227f3bf26a86b1f22ec5b5ee0be54d40 WHIRLPOOL 15ca28c3cab0c72ce6ab01771797fe6e78149290e8777f51e36c7943e2339361b68f9f089fb14036f76bbaba79755fc2006ad4eb3e737ac93eba26cb50b4e550
+DIST postgresql-jdbc-9.2-1003.src.tar.gz 1843082 SHA256 d61449b8a17ce540b26437382c33a59a49a94c578c943fccf91139ee06478968 SHA512 f91d9617726722998a51275c625f6ea89dfe0ac7ce415cc6fa76302b13762bcf825cd61ec69d25d0199ca21de8a24286eeffb843ad59c06fd3049a289ac2b702 WHIRLPOOL a7994d7ce38bd17e9353339d2838601a22328c8eff03baa122663526ef2c0c2afa8b16d9c93ea9fbff7a756612cddffef41ec00552640766acc5e1fbe4996282
+DIST postgresql-jdbc-9.2-1004.src.tar.gz 1842921 SHA256 eeadff0d830cd19a4f52a9489748a7126b0c1d4863bf9a5d65618158dfc6ae68 SHA512 6e218b7df3d772e4fb9053672f5f77f6012fe6e652a536dfe171408e957465520b05994d4fa13c4d478b595a55b8068da663b9f3dcb544a46fcf91d71ba8fdf5 WHIRLPOOL f1afa3201fbaaf47edb0224d3263642b3202fbf6fc922318354db86e394f0005611b0981da043a4e14cbb67224ac8fa6d96880e0763fcd4d5b502423c7eaa0c7
+DIST postgresql-jdbc-9.3-1100.src.tar.gz 1852465 SHA256 e6be53d4cda04735f5f147d2296acb9a22630b062fa3a4ef894073f23efc6d55 SHA512 43968a62f9443739721016ede186b2f41fa6db2d1ef319cd65059f8715e90eda7c7f568995b293578c39e04d43085cfdfece587500f99ed1a49964c12d8c747a WHIRLPOOL 9bf218936a00df00fb4b4f6ed6c3bbe06cdcfcd14d306a4f7bf3073e83f1c51bc85c0a061c2e04790bcebf9183b8aabd056522fa5d18b0734a4aec34b3ab14a0
+DIST postgresql-jdbc-9.4-1201.src.tar.gz 1909810 SHA256 96b079611038c0ffff6bb8d22d51ada0cb82c8eb3bd3a9294055963cc638fda7 SHA512 6fd543e325de931ee6c33fe4b1daf53d7baa91061afc9dc1687c4b202430cbcf2a7e3fb047f9e1d88f4d39b8f4f85a98f2b930205ceba414212dfcbaaf108883 WHIRLPOOL 3245227c875d44d82109a5700e06ed3d5bcc75469cd9333c98a7b396b2db1e2ac1da002db19f632afed262929cd7e9a3d8f93d2b24321e103b815383f8fc0a05
diff --git a/dev-java/jdbc-postgresql/files/jdbc-postgresql-8.4_p701-stray-com.sun-import.patch b/dev-java/jdbc-postgresql/files/jdbc-postgresql-8.4_p701-stray-com.sun-import.patch
new file mode 100644
index 000000000000..18921f3edcc1
--- /dev/null
+++ b/dev-java/jdbc-postgresql/files/jdbc-postgresql-8.4_p701-stray-com.sun-import.patch
@@ -0,0 +1,10 @@
+--- org/postgresql/gss/MakeGSS.java.orig 2010-04-11 19:04:07.000000000 +0200
++++ org/postgresql/gss/MakeGSS.java 2010-04-11 19:04:14.000000000 +0200
+@@ -18,7 +18,6 @@
+ import java.io.IOException;
+ import java.sql.SQLException;
+
+-import com.sun.security.auth.callback.TextCallbackHandler;
+ import org.postgresql.core.PGStream;
+ import org.postgresql.core.Logger;
+ import org.postgresql.util.*;
diff --git a/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-osgi.patch b/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-osgi.patch
new file mode 100644
index 000000000000..15b1860d2aa7
--- /dev/null
+++ b/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-osgi.patch
@@ -0,0 +1,37 @@
+--- a/build.xml 2015-02-18 17:44:58.000000000 +0100
++++ b/build.xml 2015-03-23 02:19:03.951945663 +0100
+@@ -403,34 +403,6 @@
+ <attribute name="Implementation-Vendor" value="PostgreSQL Global Development Group" />
+ </manifest>
+ </jar>
+-
+- <!-- add OSGi meta information -->
+- <property name="osgidir" value="${builddir}/osgi"/>
+- <mkdir dir="${osgidir}"/>
+-
+- <!-- create a bnd file named after the JAR file so that bnd wrap tool find it -->
+- <echo file="${osgidir}/${artifact.version.string}.bnd">
+-Bundle-ManifestVersion: 2
+-
+-Bundle-Name: PostgreSQL JDBC Driver ${jdbc.version.upper}
+-Bundle-SymbolicName: org.postgresql.${jdbc.version}
+-Bundle-Version: ${osgi.version}
+-
+-Bundle-Vendor: PostgreSQL Global Development Group
+-Bundle-Copyright: Copyright (c) 2003-2015, PostgreSQL Global Development Group
+-Bundle-License: http://www.postgresql.org/about/licence/
+-Bundle-DocURL: http://jdbc.postgresql.org/
+-
+-Bundle-Classpath: .
+-Bundle-Activator: org.postgresql.osgi.PGBundleActivator
+-Require-Capability: osgi.ee;filter:="(&amp;(|(osgi.ee=J2SE)(osgi.ee=JavaSE))(version>=${java.specification.version}))"
+-Export-Package: org.postgresql*; version=${fullversion}
+-Import-Package: javax.sql, javax.transaction.xa, javax.naming, *;resolution:=optional
+- </echo>
+-
+- <!-- run wrap task from bnd -->
+- <taskdef resource="aQute/bnd/ant/taskdef.properties" classpathref="dependency.build.classpath"/>
+- <bndwrap jars="${artifact.jar.build}" output="${artifact.jar}" definitions="${osgidir}"/>
+ </target>
+
+ <!-- create a distribution with docs, dependencies, and driver jar -->
diff --git a/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-sspi.patch b/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-sspi.patch
new file mode 100644
index 000000000000..9d65b4b60bf5
--- /dev/null
+++ b/dev-java/jdbc-postgresql/files/jdbc-postgresql-9.4_p1201-remove-sspi.patch
@@ -0,0 +1,138 @@
+--- a/org/postgresql/core/v3/ConnectionFactoryImpl.java 2015-03-23 07:32:15.000000000 +0100
++++ b/org/postgresql/core/v3/ConnectionFactoryImpl.java 2015-03-23 07:41:53.160058718 +0100
+@@ -19,7 +19,6 @@
+
+ import org.postgresql.PGProperty;
+ import org.postgresql.core.*;
+-import org.postgresql.sspi.SSPIClient;
+ import org.postgresql.hostchooser.GlobalHostStatusTracker;
+ import org.postgresql.hostchooser.HostChooser;
+ import org.postgresql.hostchooser.HostChooserFactory;
+@@ -387,11 +386,7 @@
+ // or an authentication request
+
+ String password = PGProperty.PASSWORD.get(info);
+-
+- /* SSPI negotiation state, if used */
+- SSPIClient sspiClient = null;
+
+- try {
+ authloop:
+ while (true)
+ {
+@@ -507,88 +502,16 @@
+ case AUTH_REQ_SSPI:
+ /*
+ * Use GSSAPI if requested on all platforms, via JSSE.
+- *
+- * For SSPI auth requests, if we're on Windows attempt native SSPI
+- * authentication if available, and if not disabled by setting a
+- * kerberosServerName. On other platforms, attempt JSSE GSSAPI
+- * negotiation with the SSPI server.
+- *
+- * Note that this is slightly different to libpq, which uses SSPI
+- * for GSSAPI where supported. We prefer to use the existing Java
+- * JSSE Kerberos support rather than going to native (via JNA) calls
+- * where possible, so that JSSE system properties etc continue
+- * to work normally.
+- *
+- * Note that while SSPI is often Kerberos-based there's no guarantee
+- * it will be; it may be NTLM or anything else. If the client responds
+- * to an SSPI request via GSSAPI and the other end isn't using Kerberos
+- * for SSPI then authentication will fail.
+ */
+- final String gsslib = PGProperty.GSS_LIB.get(info);
+- final boolean usespnego = PGProperty.USE_SPNEGO.getBoolean(info);
+-
+- boolean useSSPI = false;
++ org.postgresql.gss.MakeGSS.authenticate(pgStream, host,
++ user, password,
++ PGProperty.JAAS_APPLICATION_NAME.get(info),
++ PGProperty.KERBEROS_SERVER_NAME.get(info),
++ logger,
++ PGProperty.USE_SPNEGO.getBoolean(info));
++
++ break;
+
+- /*
+- * Use SSPI if we're in auto mode on windows and have a
+- * request for SSPI auth, or if it's forced. Otherwise
+- * use gssapi. If the user has specified a Kerberos server
+- * name we'll always use JSSE GSSAPI.
+- */
+- if (gsslib.equals("gssapi"))
+- logger.debug("Using JSSE GSSAPI, param gsslib=gssapi");
+- else if (areq == AUTH_REQ_GSS && !gsslib.equals("sspi"))
+- logger.debug("Using JSSE GSSAPI, gssapi requested by server and gsslib=sspi not forced");
+- else
+- {
+- /* Determine if SSPI is supported by the client */
+- sspiClient = new SSPIClient(pgStream,
+- PGProperty.SSPI_SERVICE_CLASS.get(info),
+- /* Use negotiation for SSPI, or if explicitly requested for GSS */
+- areq == AUTH_REQ_SSPI || (areq == AUTH_REQ_GSS && usespnego),
+- logger);
+-
+- useSSPI = sspiClient.isSSPISupported();
+- logger.debug("SSPI support detected: " + useSSPI);
+-
+- if (!useSSPI) {
+- /* No need to dispose() if no SSPI used */
+- sspiClient = null;
+-
+- if (gsslib.equals("sspi"))
+- throw new PSQLException("SSPI forced with gsslib=sspi, but SSPI not available; set loglevel=2 for details",
+- PSQLState.CONNECTION_UNABLE_TO_CONNECT);
+- }
+-
+- logger.debug("Using SSPI: " + useSSPI + ", gsslib="+gsslib+" and SSPI support detected");
+- }
+-
+- if (useSSPI)
+- {
+- /* SSPI requested and detected as available */
+- sspiClient.startSSPI();
+- }
+- else
+- {
+- /* Use JGSS's GSSAPI for this request */
+- org.postgresql.gss.MakeGSS.authenticate(pgStream, host,
+- user, password,
+- PGProperty.JAAS_APPLICATION_NAME.get(info),
+- PGProperty.KERBEROS_SERVER_NAME.get(info),
+- logger,
+- usespnego);
+- }
+-
+- break;
+-
+- case AUTH_REQ_GSS_CONTINUE:
+- /*
+- * Only called for SSPI, as GSS is handled by an inner loop
+- * in MakeGSS.
+- */
+- sspiClient.continueSSPI(l_msgLen - 8);
+- break;
+-
+ case AUTH_REQ_OK:
+ /* Cleanup after successful authentication */
+ if (logger.logDebug())
+@@ -609,18 +532,6 @@
+ throw new PSQLException(GT.tr("Protocol error. Session setup failed."), PSQLState.PROTOCOL_VIOLATION);
+ }
+ }
+- } finally {
+- /* Cleanup after successful or failed authentication attempts */
+- if (sspiClient != null)
+- {
+- try {
+- sspiClient.dispose();
+- } catch (RuntimeException ex) {
+- logger.log("Unexpected error during SSPI context disposal", ex);
+- }
+-
+- }
+- }
+
+ }
+
diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-8.3_p603.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-8.3_p603.ebuild
new file mode 100644
index 000000000000..a2e85111d092
--- /dev/null
+++ b/dev-java/jdbc-postgresql/jdbc-postgresql-8.3_p603.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+JAVA_PKG_IUSE="doc source"
+inherit java-pkg-2 java-ant-2
+
+MY_PN="postgresql-jdbc"
+MY_PV="${PV/_p/-}"
+MY_P="${MY_PN}-${MY_PV}.src"
+
+DESCRIPTION="JDBC Driver for PostgreSQL"
+SRC_URI="http://jdbc.postgresql.org/download/${MY_P}.tar.gz"
+HOMEPAGE="http://jdbc.postgresql.org/"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+IUSE="test"
+
+DEPEND=">=dev-java/java-config-2.0.31
+ =virtual/jdk-1.5*
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ )
+ !test? ( >=dev-java/ant-core-1.6 )
+ test? (
+ =dev-java/junit-3.8*
+ >=dev-java/ant-1.6
+ dev-java/ant-junit
+ dev-db/postgresql[server]
+ )"
+RDEPEND=">=virtual/jre-1.5"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+ java-ant_rewrite-classpath
+}
+
+src_compile() {
+ eant jar $(use_doc publicapi)
+
+ # There is a task that creates this doc but I didn't find a way how to use system catalog
+ # to lookup the stylesheet so the 'doc' target is rewritten here to use system call instead.
+ if use doc; then
+ mkdir -p "${S}/build/doc"
+ xsltproc -o "${S}/build/doc/pgjdbc.html" http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \
+ "${S}/doc/pgjdbc.xml"
+ fi
+}
+
+src_test() {
+ einfo "In order to run the tests successfully, you have to have:"
+ einfo "1) PostgreSQL server running"
+ einfo "2) database 'test' defined with user 'test' with password 'password'"
+ einfo " as owner of the database"
+ einfo "3) plpgsql support in the 'test' database"
+ einfo
+ einfo "You can find a general info on how to perform these steps at"
+ einfo "https://wiki.gentoo.org/wiki/PostgreSQL"
+
+ ANT_TASKS="ant-junit" eant test -Dgentoo.classpath=$(java-pkg_getjars --build-only junit)
+}
+
+src_install() {
+ java-pkg_newjar jars/postgresql.jar jdbc-postgresql.jar
+
+ if use doc ; then
+ java-pkg_dojavadoc build/publicapi
+ dohtml build/doc/pgjdbc.html
+ fi
+
+ use source && java-pkg_dosrc org
+}
diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-8.4_p701-r1.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-8.4_p701-r1.ebuild
new file mode 100644
index 000000000000..e8b4e18186f0
--- /dev/null
+++ b/dev-java/jdbc-postgresql/jdbc-postgresql-8.4_p701-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-ant-2
+
+MY_PN="postgresql-jdbc"
+MY_PV="${PV/_p/-}"
+MY_P="${MY_PN}-${MY_PV}.src"
+
+DESCRIPTION="JDBC Driver for PostgreSQL"
+SRC_URI="http://jdbc.postgresql.org/download/${MY_P}.tar.gz"
+HOMEPAGE="http://jdbc.postgresql.org/"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="test"
+
+DEPEND=">=dev-java/java-config-2.0.31
+ =virtual/jdk-1.6*
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ )
+ test? (
+ dev-java/ant-junit
+ dev-db/postgresql[server]
+ )"
+RDEPEND=">=virtual/jre-1.6"
+
+S="${WORKDIR}/${MY_P}"
+
+EANT_DOC_TARGET="publicapi"
+
+java_prepare() {
+ # bug 314647
+ epatch "${FILESDIR}/${P}-stray-com.sun-import.patch"
+ # needed for src_test
+ java-ant_rewrite-classpath
+}
+
+src_compile() {
+ java-pkg-2_src_compile
+
+ # There is a task that creates this doc but I didn't find a way how to use system catalog
+ # to lookup the stylesheet so the 'doc' target is rewritten here to use system call instead.
+ if use doc; then
+ mkdir -p "${S}/build/doc"
+ xsltproc -o "${S}/build/doc/pgjdbc.html" http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \
+ "${S}/doc/pgjdbc.xml"
+ fi
+}
+
+src_test() {
+ einfo "In order to run the tests successfully, you have to have:"
+ einfo "1) PostgreSQL server running"
+ einfo "2) database 'test' defined with user 'test' with password 'password'"
+ einfo " as owner of the database"
+ einfo "3) plpgsql support in the 'test' database"
+ einfo
+ einfo "You can find a general info on how to perform these steps at"
+ einfo "https://wiki.gentoo.org/wiki/PostgreSQL"
+
+ ANT_TASKS="ant-junit" eant test -Dgentoo.classpath=$(java-pkg_getjars --build-only junit)
+}
+
+src_install() {
+ java-pkg_newjar jars/postgresql.jar jdbc-postgresql.jar
+
+ if use doc ; then
+ java-pkg_dojavadoc build/publicapi
+ dohtml build/doc/pgjdbc.html || die
+ fi
+
+ use source && java-pkg_dosrc org
+}
diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-9.2_p1003.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-9.2_p1003.ebuild
new file mode 100644
index 000000000000..fdc31c5e31a4
--- /dev/null
+++ b/dev-java/jdbc-postgresql/jdbc-postgresql-9.2_p1003.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-ant-2
+
+MY_PN="postgresql-jdbc"
+MY_PV="${PV/_p/-}"
+MY_P="${MY_PN}-${MY_PV}.src"
+
+DESCRIPTION="JDBC Driver for PostgreSQL"
+SRC_URI="http://jdbc.postgresql.org/download/${MY_P}.tar.gz"
+HOMEPAGE="http://jdbc.postgresql.org/"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="test"
+
+DEPEND="
+ >=virtual/jdk-1.6
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ )
+ test? (
+ dev-java/ant-junit
+ dev-db/postgresql[server]
+ )"
+RDEPEND=">=virtual/jre-1.6"
+
+S="${WORKDIR}/postgresql-jdbc-${MY_PV}.src"
+
+java_prepare() {
+ find -name "*.class" -type f -exec rm -v {} + || die
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+EANT_DOC_TARGET="publicapi"
+
+src_compile() {
+ java-pkg-2_src_compile
+
+ # There is a task that creates this doc but I didn't find a way how to use system catalog
+ # to lookup the stylesheet so the 'doc' target is rewritten here to use system call instead.
+ if use doc; then
+ mkdir -p "${S}/build/doc"
+ xsltproc -o "${S}/build/doc/pgjdbc.html" http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \
+ "${S}/doc/pgjdbc.xml"
+ fi
+}
+
+src_test() {
+ einfo "In order to run the tests successfully, you have to have:"
+ einfo "1) PostgreSQL server running"
+ einfo "2) database 'test' defined with user 'test' with password 'password'"
+ einfo " as owner of the database"
+ einfo "3) plpgsql support in the 'test' database"
+ einfo
+ einfo "You can find a general info on how to perform these steps at"
+ einfo "https://wiki.gentoo.org/wiki/PostgreSQL"
+
+ ANT_TASKS="ant-junit" eant test -Dgentoo.classpath=$(java-pkg_getjars --build-only junit)
+}
+
+src_install() {
+ java-pkg_newjar jars/postgresql.jar jdbc-postgresql.jar
+
+ if use doc ; then
+ java-pkg_dojavadoc build/publicapi
+ dohtml build/doc/pgjdbc.html
+ fi
+
+ use source && java-pkg_dosrc org
+}
diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-9.2_p1004.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-9.2_p1004.ebuild
new file mode 100644
index 000000000000..2ce76d975b4d
--- /dev/null
+++ b/dev-java/jdbc-postgresql/jdbc-postgresql-9.2_p1004.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-ant-2
+
+MY_PN="postgresql-jdbc"
+MY_PV="${PV/_p/-}"
+MY_P="${MY_PN}-${MY_PV}.src"
+
+DESCRIPTION="JDBC Driver for PostgreSQL"
+SRC_URI="http://jdbc.postgresql.org/download/${MY_P}.tar.gz"
+HOMEPAGE="http://jdbc.postgresql.org/"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="test"
+
+DEPEND="
+ >=virtual/jdk-1.6
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ )
+ test? (
+ dev-java/ant-junit
+ dev-db/postgresql[server]
+ )"
+RDEPEND=">=virtual/jre-1.6"
+
+S="${WORKDIR}/postgresql-jdbc-${MY_PV}.src"
+
+java_prepare() {
+ find -name "*.class" -type f -exec rm -v {} + || die
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+EANT_DOC_TARGET="publicapi"
+
+src_compile() {
+ java-pkg-2_src_compile
+
+ # There is a task that creates this doc but I didn't find a way how to use system catalog
+ # to lookup the stylesheet so the 'doc' target is rewritten here to use system call instead.
+ if use doc; then
+ mkdir -p "${S}/build/doc"
+ xsltproc -o "${S}/build/doc/pgjdbc.html" http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \
+ "${S}/doc/pgjdbc.xml"
+ fi
+}
+
+src_test() {
+ einfo "In order to run the tests successfully, you have to have:"
+ einfo "1) PostgreSQL server running"
+ einfo "2) database 'test' defined with user 'test' with password 'password'"
+ einfo " as owner of the database"
+ einfo "3) plpgsql support in the 'test' database"
+ einfo
+ einfo "You can find a general info on how to perform these steps at"
+ einfo "https://wiki.gentoo.org/wiki/PostgreSQL"
+
+ ANT_TASKS="ant-junit" eant test -Dgentoo.classpath=$(java-pkg_getjars --build-only junit)
+}
+
+src_install() {
+ java-pkg_newjar jars/postgresql.jar jdbc-postgresql.jar
+
+ if use doc ; then
+ java-pkg_dojavadoc build/publicapi
+ dohtml build/doc/pgjdbc.html
+ fi
+
+ use source && java-pkg_dosrc org
+}
diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-9.3_p1100.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-9.3_p1100.ebuild
new file mode 100644
index 000000000000..03294cf8ff8c
--- /dev/null
+++ b/dev-java/jdbc-postgresql/jdbc-postgresql-9.3_p1100.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-ant-2
+
+MY_PN="postgresql-jdbc"
+MY_PV="${PV/_p/-}"
+MY_P="${MY_PN}-${MY_PV}.src"
+
+DESCRIPTION="JDBC Driver for PostgreSQL"
+SRC_URI="http://jdbc.postgresql.org/download/${MY_P}.tar.gz"
+HOMEPAGE="http://jdbc.postgresql.org/"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="test"
+
+DEPEND="
+ >=virtual/jdk-1.6
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ )
+ test? (
+ dev-java/ant-junit
+ dev-db/postgresql[server]
+ )"
+RDEPEND=">=virtual/jre-1.6"
+
+S="${WORKDIR}/postgresql-jdbc-${MY_PV}.src"
+
+java_prepare() {
+ find -name "*.class" -type f -exec rm -v {} + || die
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+EANT_DOC_TARGET="publicapi"
+
+src_compile() {
+ java-pkg-2_src_compile
+
+ # There is a task that creates this doc but I didn't find a way how to use system catalog
+ # to lookup the stylesheet so the 'doc' target is rewritten here to use system call instead.
+ if use doc; then
+ mkdir -p "${S}/build/doc"
+ xsltproc -o "${S}/build/doc/pgjdbc.html" http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \
+ "${S}/doc/pgjdbc.xml"
+ fi
+}
+
+src_test() {
+ einfo "In order to run the tests successfully, you have to have:"
+ einfo "1) PostgreSQL server running"
+ einfo "2) database 'test' defined with user 'test' with password 'password'"
+ einfo " as owner of the database"
+ einfo "3) plpgsql support in the 'test' database"
+ einfo
+ einfo "You can find a general info on how to perform these steps at"
+ einfo "https://wiki.gentoo.org/wiki/PostgreSQL"
+
+ ANT_TASKS="ant-junit" eant test -Dgentoo.classpath=$(java-pkg_getjars --build-only junit)
+}
+
+src_install() {
+ java-pkg_newjar jars/postgresql.jar jdbc-postgresql.jar
+
+ if use doc ; then
+ java-pkg_dojavadoc build/publicapi
+ dohtml build/doc/pgjdbc.html
+ fi
+
+ use source && java-pkg_dosrc org
+}
diff --git a/dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1201.ebuild b/dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1201.ebuild
new file mode 100644
index 000000000000..23db74b0a561
--- /dev/null
+++ b/dev-java/jdbc-postgresql/jdbc-postgresql-9.4_p1201.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="doc source"
+
+inherit java-pkg-2 java-ant-2
+
+MY_PN="postgresql-jdbc"
+MY_PV="${PV/_p/-}"
+MY_P="${MY_PN}-${MY_PV}.src"
+
+DESCRIPTION="JDBC Driver for PostgreSQL"
+SRC_URI="http://jdbc.postgresql.org/download/${MY_P}.tar.gz"
+HOMEPAGE="http://jdbc.postgresql.org/"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="test"
+
+DEPEND="
+ >=virtual/jdk-1.6
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ )
+ test? (
+ dev-java/ant-junit
+ dev-java/junit:4
+ >=dev-db/postgresql-9.3[server]
+ )"
+RDEPEND=">=virtual/jre-1.6"
+
+S="${WORKDIR}/postgresql-jdbc-${MY_PV}.src"
+
+java_prepare() {
+ find -name "*.class" -type f -exec rm -v {} + || die
+
+ # Strip build.xml of maven deps
+ sed -i -e '/<classpath.*dependency\.compile\.classpath/c\' build.xml || die
+ sed -i -e '/<classpath.*dependency\.runtime\.classpath/c\' build.xml || die
+ sed -i -e '/<classpath.*dependency\.test\.classpath/c\' build.xml || die
+ sed -i -e '/<target name="artifact-version"/,/<[/]target>/{s/depends="maven-dependencies"//}' build.xml || die
+ sed -i -e '/<target name="compile"/ s/,maven-dependencies//' build.xml || die
+
+ # Remove SSPI, it pulls in Waffle-JNA and is only used on Windows
+ sed -i -e '/<include.*sspi/c\' build.xml || die
+ rm -vrf org/postgresql/sspi || die "Error removing sspi"
+ epatch "${FILESDIR}"/${P}-remove-sspi.patch
+
+ # FIXME @someone who cares: enable through osgi flag?
+ sed -i -e '/<include.*osgi/c\' build.xml || die
+ sed -i -e '/<test.*osgi/c\' build.xml || die
+ rm -vrf org/postgresql/osgi || die "Error removing osgi"
+ rm -vrf org/postgresql/test/osgi || die "Error removing osgi tests"
+ epatch "${FILESDIR}"/${P}-remove-osgi.patch
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+EANT_DOC_TARGET="publicapi"
+
+src_compile() {
+ EANT_BUILD_TARGET="release-version jar"
+ java-pkg-2_src_compile
+
+ # There is a task that creates this doc but I didn't find a way how to use system catalog
+ # to lookup the stylesheet so the 'doc' target is rewritten here to use system call instead.
+ if use doc; then
+ mkdir -p "${S}/build/doc"
+ xsltproc -o "${S}/build/doc/pgjdbc.html" http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \
+ "${S}/doc/pgjdbc.xml"
+ fi
+}
+
+src_test() {
+ einfo "In order to run the tests successfully, you have to have:"
+ einfo "1) PostgreSQL server running"
+ einfo "2) database 'test' defined with user 'test' with password 'test'"
+ einfo " as owner of the database"
+ einfo "3) plpgsql support in the 'test' database"
+ einfo
+ einfo "You can find a general info on how to perform these steps at"
+ einfo "https://wiki.gentoo.org/wiki/PostgreSQL"
+
+ ANT_TASKS="ant-junit" eant test -Dgentoo.classpath=$(java-pkg_getjars --build-only junit-4)
+}
+
+src_install() {
+ java-pkg_newjar build/jars/postgresql*.jar jdbc-postgresql.jar
+
+ if use doc ; then
+ java-pkg_dojavadoc build/publicapi
+ dohtml build/doc/pgjdbc.html
+ fi
+
+ use source && java-pkg_dosrc org
+}
diff --git a/dev-java/jdbc-postgresql/metadata.xml b/dev-java/jdbc-postgresql/metadata.xml
new file mode 100644
index 000000000000..838c00a4a448
--- /dev/null
+++ b/dev-java/jdbc-postgresql/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>java</herd>
+</pkgmetadata>