public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Aaron W. Swenson" <titanofold@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/postgresql/
Date: Mon,  3 Jun 2019 10:25:17 +0000 (UTC)	[thread overview]
Message-ID: <1559557501.edcac752028d3a882dbc2f64e37e1e95dff21276.titanofold@gentoo> (raw)

commit:     edcac752028d3a882dbc2f64e37e1e95dff21276
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  3 10:23:37 2019 +0000
Commit:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Mon Jun  3 10:25:01 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=edcac752

dev-db/postgresql: Multiple Fixes/Improvements

Bump to EAPI 7. Use ver-cut instead of versionator.

Preserve libpg{port,common}.a as they're needed by some PGXS builds.

Add Python 3.7 support. Thanks to Jeff Kowalczyk for verifying.

Allow ICU collations via icu USE flag.

Add debug use flag to allow debugging of extensions.

Bug: https://bugs.gentoo.org/671114
Bug: https://bugs.gentoo.org/571046
Bug: https://bugs.gentoo.org/685536
Package-Manager: Portage-2.3.62, Repoman-2.3.11
Signed-off-by: Aaron W. Swenson <titanofold <AT> gentoo.org>

 ...resql-9999.ebuild => postgresql-10.8-r1.ebuild} | 269 ++++++++++----------
 ...resql-9999.ebuild => postgresql-11.3-r1.ebuild} | 275 ++++++++++-----------
 ...l-9999.ebuild => postgresql-12_beta1-r1.ebuild} | 275 ++++++++++-----------
 ...sql-9999.ebuild => postgresql-9.4.22-r1.ebuild} | 257 +++++++++----------
 ...sql-9999.ebuild => postgresql-9.5.17-r1.ebuild} | 261 +++++++++----------
 ...sql-9999.ebuild => postgresql-9.6.13-r1.ebuild} | 250 ++++++++++---------
 dev-db/postgresql/postgresql-9999.ebuild           |  20 +-
 7 files changed, 806 insertions(+), 801 deletions(-)

diff --git a/dev-db/postgresql/postgresql-9999.ebuild b/dev-db/postgresql/postgresql-10.8-r1.ebuild
similarity index 67%
copy from dev-db/postgresql/postgresql-9999.ebuild
copy to dev-db/postgresql/postgresql-10.8-r1.ebuild
index e90d6a96bf1..88115ec2c2a 100644
--- a/dev-db/postgresql/postgresql-9999.ebuild
+++ b/dev-db/postgresql/postgresql-10.8-r1.ebuild
@@ -1,33 +1,32 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI=7
 
-PYTHON_COMPAT=( python2_7 python3_{5,6} )
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
 
 PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
 		 zh_TW"
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt-BR ro ru sk sl sv tr zh-CN
-		 zh-TW"
-inherit flag-o-matic git-r3 linux-info multilib pam prefix python-single-r1 \
-		systemd user versionator
 
-KEYWORDS=""
+inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
+		systemd user
 
-# Bump when rc released.
-SLOT="13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
 
-EGIT_REPO_URI="https://git.postgresql.org/git/postgresql.git"
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
 
 LICENSE="POSTGRESQL GPL-2"
 DESCRIPTION="PostgreSQL RDBMS"
 HOMEPAGE="https://www.postgresql.org/"
 
-IUSE="kerberos kernel_linux ldap libressl llvm nls pam perl python +readline
-	  selinux systemd ssl static-libs tcl threads uuid xml zlib"
-for my_locale in ${PLOCALES}; do
-	IUSE+=" l10n_${my_locale}"
-done
+IUSE="debug doc icu kerberos kernel_linux ldap libressl nls pam perl
+	  python +readline selinux +server systemd ssl static-libs tcl
+	  threads uuid xml zlib"
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
@@ -35,23 +34,19 @@ CDEPEND="
 >=app-eselect/eselect-postgresql-2.0
 sys-apps/less
 virtual/libintl
+icu? ( dev-libs/icu:= )
 kerberos? ( virtual/krb5 )
 ldap? ( net-nds/openldap )
-llvm? (
-	sys-devel/llvm:=
-	sys-devel/clang:=
-)
 pam? ( virtual/pam )
 perl? ( >=dev-lang/perl-5.8:= )
 python? ( ${PYTHON_DEPS} )
 readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
 ssl? (
 	!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
 	libressl? ( dev-libs/libressl:= )
 )
-systemd? ( sys-apps/systemd )
 tcl? ( >=dev-lang/tcl-8:0= )
-uuid? ( dev-libs/ossp-uuid )
 xml? ( dev-libs/libxml2 dev-libs/libxslt )
 zlib? ( sys-libs/zlib )
 "
@@ -81,19 +76,12 @@ uuid? (
 
 DEPEND="${CDEPEND}
 !!<sys-apps/sandbox-2.0
->=dev-lang/perl-5.8
-app-text/docbook-dsssl-stylesheets
-app-text/docbook-sgml-dtd:4.2
-app-text/docbook-xml-dtd:4.2
-app-text/docbook-xsl-stylesheets
-app-text/openjade
-dev-libs/libxml2
-dev-libs/libxslt
 sys-devel/bison
 sys-devel/flex
 nls? ( sys-devel/gettext )
 xml? ( virtual/pkgconfig )
 "
+
 RDEPEND="${CDEPEND}
 !dev-db/postgresql-docs:${SLOT}
 !dev-db/postgresql-base:${SLOT}
@@ -101,25 +89,8 @@ RDEPEND="${CDEPEND}
 selinux? ( sec-policy/selinux-postgresql )
 "
 
-my_get_locales() {
-	local my_locale locale_list
-	for my_locale in ${PLOCALES[@]}; do
-		use l10n_${my_locale} && locale_list+=( ${my_locale} )
-	done
-	echo -n ${locale_list[@]}
-}
-
-pkg_pretend() {
-	ewarn "You are using a live ebuild that uses the current source code as it is"
-	ewarn "available from PostgreSQL's Git repository at emerge time. Given such,"
-	ewarn "the GNU Makefiles may be altered by upstream without notice and the"
-	ewarn "documentation for this live version is not readily available"
-	ewarn "online. Ergo, the ebuild maintainers will not support building a"
-	ewarn "client-only and/or document-free version."
-}
-
 pkg_setup() {
-	CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+	use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
 
 	enewgroup postgres 70
 	enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
@@ -128,6 +99,9 @@ pkg_setup() {
 }
 
 src_prepare() {
+	# Work around PPC{,64} compilation bug where bool is already defined
+	sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
+
 	# Set proper run directory
 	sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
 		-i src/include/pg_config_manual.h || die
@@ -137,6 +111,8 @@ src_prepare() {
 	# hardened and non-hardened environments. (Bug #528786)
 	sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
 
+	use server || eapply "${FILESDIR}/${PN}-10.2-no-server.patch"
+
 	if use pam ; then
 		sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
 			-i src/backend/libpq/auth.c || \
@@ -178,66 +154,55 @@ src_configure() {
 		--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
 		--with-system-tzdata="${PO}/usr/share/zoneinfo" \
 		$(use_enable !alpha spinlocks) \
-		$(use_enable nls nls "'$(my_get_locales)'") \
+		$(use_enable debug) \
 		$(use_enable threads thread-safety) \
+		$(use_with icu) \
 		$(use_with kerberos gssapi) \
 		$(use_with ldap) \
-		$(use_with llvm) \
 		$(use_with pam) \
 		$(use_with perl) \
 		$(use_with python) \
 		$(use_with readline) \
 		$(use_with ssl openssl) \
+		$(usex server "$(use_with systemd)" '--without-systemd') \
 		$(use_with tcl) \
+		${uuid_config} \
 		$(use_with xml libxml) \
 		$(use_with xml libxslt) \
 		$(use_with zlib) \
-		$(use_with systemd) \
-		${uuid_config}
+		$(use_enable nls nls "'$(l10n_get_locales)'")
 }
 
 src_compile() {
-	emake world
+	emake
+	emake -C contrib
 }
 
 src_install() {
-	emake DESTDIR="${D}" install-world
+	emake DESTDIR="${D}" install
+	emake DESTDIR="${D}" install -C contrib
 
 	dodoc README HISTORY doc/{TODO,bug.template}
 
-	insinto /etc/postgresql-${SLOT}
-	newins src/bin/psql/psqlrc.sample psqlrc
-
-	use static-libs || find "${ED}" -name '*.a' -delete
-
-	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-		"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-		"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-	if use systemd; then
-		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-			"${FILESDIR}/${PN}.service-9.6-r1" | \
-			systemd_newunit - ${PN}-${SLOT}.service
-		systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+	# man pages are already built, but if we have the target make them,
+	# they'll be generated from source before being installed so we
+	# manually install man pages.
+	# We use ${SLOT} instead of doman for postgresql.eselect
+	insinto /usr/share/postgresql-${SLOT}/man/
+	doins -r doc/src/sgml/man{1,3,7}
+	if ! use server; then
+		# Remove man pages for non-existent binaries
+		serverman=(
+			initdb
+			pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+			pg_{test_{fsync,timing},upgrade,waldump}
+			post{gres,master}
+		)
+		for m in ${serverman[@]} ; do
+			rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+		done
 	fi
-
-	newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-	use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-	local f bn
-	for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-					-mindepth 1 -maxdepth 1)
-	do
-		bn=$(basename "${f}")
-		# Temporarily tack on tmp to workaround a file collision
-		# issue. This is only necessary for 9.7 and earlier. 10 never
-		# had this issue.
-		dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-			  "/usr/bin/${bn}${SLOT/.}tmp"
-	done
+	docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
 
 	# Create slot specific man pages
 	local bn f mansec slotted_name
@@ -263,74 +228,92 @@ src_install() {
 		popd > /dev/null
 	done
 
-	if use prefix ; then
-		keepdir /run/postgresql
-		fperms 1775 /run/postgresql
-	fi
-}
+	insinto /etc/postgresql-${SLOT}
+	newins src/bin/psql/psqlrc.sample psqlrc
 
-pkg_preinst() {
-	# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-	# /usr/bin/psql97). They may have been created by the
-	# postgresql.eselect module, but they're handled within this ebuild
-	# now. It's alright if we momentarily delete /usr/bin/psql as it
-	# will be recreated by the eselect module in pkg_ppostinst().  We
-	# only worry about the 9.7 slot as that's the last slot that had its
-	# slot-specific links generated by eselect.
-	#
-	# This can be removed when 10 is the lowest slot in the tree.
-	local canonicalise
-	if type -p realpath > /dev/null; then
-		canonicalise=realpath
-	elif type -p readlink > /dev/null; then
-		canonicalise='readlink -f'
-	else
-		# can't die, subshell
-		die "No readlink nor realpath found, cannot canonicalise"
-	fi
+	# Don't delete libpg{port,common}.a (Bug #571046). They're always
+	# needed by extensions utilizing PGXS.
+	use static-libs || \
+		find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+			 -delete
 
-	local l
-	# First remove any symlinks in /usr/bin that may have been created
-	# by the old eselect
-	for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-		[[ $(${canonicalise} "${l}") == *postgresql-9.7* ]] && rm "${l}"
+	# Make slot specific links to programs
+	local f bn
+	for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+					-mindepth 1 -maxdepth 1)
+	do
+		bn=$(basename "${f}")
+		dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+			  "/usr/bin/${bn}${SLOT/.}"
 	done
 
-	# Then move the symlinks created by the ebuild to their proper place.
-	for l in "${ED}"/usr/bin/*tmp ; do
-		mv "${l}" "${l%tmp}" \
-			|| ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-	done
+	if use doc ; then
+		docinto html
+		dodoc doc/src/sgml/html/*
+	fi
+
+	if use server; then
+		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+			"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+			"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+		if use systemd; then
+			sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+				"${FILESDIR}/${PN}.service-9.6-r1" | \
+				systemd_newunit - ${PN}-${SLOT}.service
+			newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+			systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+		fi
+
+		use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+		if use prefix ; then
+			keepdir /run/postgresql
+			fperms 1775 /run/postgresql
+		fi
+	fi
 }
 
 pkg_postinst() {
-	use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
+	use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
 	postgresql-config update
 
 	elog "If you need a global psqlrc-file, you can place it in:"
 	elog "    ${EROOT%/}/etc/postgresql-${SLOT}/"
 
-	elog
-	elog "Gentoo specific documentation:"
-	elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-	elog
-	elog "Official documentation:"
-	elog "${EROOT%/}/usr/share/doc/${PF}/html"
-	elog
-	elog "The default location of the Unix-domain socket is:"
-	elog "    ${EROOT%/}/run/postgresql/"
-	elog
-	elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-	elog "so that it contains your preferred locale, and other options, in:"
-	elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-	elog
-	elog "Then, execute the following command to setup the initial database"
-	elog "environment:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
+	if use server ; then
+		elog
+		elog "Gentoo specific documentation:"
+		elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+		elog
+		elog "Official documentation:"
+		elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+		elog
+		elog "The default location of the Unix-domain socket is:"
+		elog "    ${EROOT%/}/run/postgresql/"
+		elog
+		elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+		elog "so that it contains your preferred locale in:"
+		elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
+		elog
+		elog "Then, execute the following command to setup the initial database"
+		elog "environment:"
+		elog "    emerge --config =${CATEGORY}/${PF}"
+
+		if [[ -n ${REPLACING_VERSIONS} ]] ; then
+			ewarn "If your system is using 'pg_stat_statements' and you are running a"
+			ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+			ewarn "the following command after upgrading:"
+			ewarn
+			ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+		fi
+	fi
 }
 
 pkg_prerm() {
-	if [[ -z ${REPLACED_BY_VERSION} ]] ; then
+	if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
 		ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
 		ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
 
@@ -345,6 +328,8 @@ pkg_postrm() {
 }
 
 pkg_config() {
+	use server || die "USE flag 'server' not enabled. Nothing to configure."
+
 	[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
 		&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
 	[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
@@ -465,13 +450,17 @@ pkg_config() {
 }
 
 src_test() {
-	if [[ ${UID} -ne 0 ]] ; then
+	if use server && [[ ${UID} -ne 0 ]] ; then
 		emake check
 
 		einfo "If you think other tests besides the regression tests are necessary, please"
 		einfo "submit a bug including a patch for this ebuild to enable them."
 	else
-		ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+		use server || \
+			ewarn 'Tests cannot be run without the "server" use flag enabled.'
+		[[ ${UID} -eq 0 ]] || \
+			ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
 		ewarn 'Skipping.'
 	fi
 }

diff --git a/dev-db/postgresql/postgresql-9999.ebuild b/dev-db/postgresql/postgresql-11.3-r1.ebuild
similarity index 65%
copy from dev-db/postgresql/postgresql-9999.ebuild
copy to dev-db/postgresql/postgresql-11.3-r1.ebuild
index e90d6a96bf1..b55fe07666c 100644
--- a/dev-db/postgresql/postgresql-9999.ebuild
+++ b/dev-db/postgresql/postgresql-11.3-r1.ebuild
@@ -1,33 +1,32 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI=7
 
-PYTHON_COMPAT=( python2_7 python3_{5,6} )
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
 
 PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
 		 zh_TW"
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt-BR ro ru sk sl sv tr zh-CN
-		 zh-TW"
-inherit flag-o-matic git-r3 linux-info multilib pam prefix python-single-r1 \
-		systemd user versionator
 
-KEYWORDS=""
+inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
+		systemd user
 
-# Bump when rc released.
-SLOT="13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
 
-EGIT_REPO_URI="https://git.postgresql.org/git/postgresql.git"
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
 
 LICENSE="POSTGRESQL GPL-2"
 DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
+HOMEPAGE="http://www.postgresql.org/"
 
-IUSE="kerberos kernel_linux ldap libressl llvm nls pam perl python +readline
-	  selinux systemd ssl static-libs tcl threads uuid xml zlib"
-for my_locale in ${PLOCALES}; do
-	IUSE+=" l10n_${my_locale}"
-done
+IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam
+	  perl python +readline selinux +server systemd ssl static-libs tcl
+	  threads uuid xml zlib"
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
@@ -35,6 +34,7 @@ CDEPEND="
 >=app-eselect/eselect-postgresql-2.0
 sys-apps/less
 virtual/libintl
+icu? ( dev-libs/icu:= )
 kerberos? ( virtual/krb5 )
 ldap? ( net-nds/openldap )
 llvm? (
@@ -45,13 +45,12 @@ pam? ( virtual/pam )
 perl? ( >=dev-lang/perl-5.8:= )
 python? ( ${PYTHON_DEPS} )
 readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
 ssl? (
 	!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
 	libressl? ( dev-libs/libressl:= )
 )
-systemd? ( sys-apps/systemd )
 tcl? ( >=dev-lang/tcl-8:0= )
-uuid? ( dev-libs/ossp-uuid )
 xml? ( dev-libs/libxml2 dev-libs/libxslt )
 zlib? ( sys-libs/zlib )
 "
@@ -81,19 +80,12 @@ uuid? (
 
 DEPEND="${CDEPEND}
 !!<sys-apps/sandbox-2.0
->=dev-lang/perl-5.8
-app-text/docbook-dsssl-stylesheets
-app-text/docbook-sgml-dtd:4.2
-app-text/docbook-xml-dtd:4.2
-app-text/docbook-xsl-stylesheets
-app-text/openjade
-dev-libs/libxml2
-dev-libs/libxslt
 sys-devel/bison
 sys-devel/flex
 nls? ( sys-devel/gettext )
 xml? ( virtual/pkgconfig )
 "
+
 RDEPEND="${CDEPEND}
 !dev-db/postgresql-docs:${SLOT}
 !dev-db/postgresql-base:${SLOT}
@@ -101,25 +93,8 @@ RDEPEND="${CDEPEND}
 selinux? ( sec-policy/selinux-postgresql )
 "
 
-my_get_locales() {
-	local my_locale locale_list
-	for my_locale in ${PLOCALES[@]}; do
-		use l10n_${my_locale} && locale_list+=( ${my_locale} )
-	done
-	echo -n ${locale_list[@]}
-}
-
-pkg_pretend() {
-	ewarn "You are using a live ebuild that uses the current source code as it is"
-	ewarn "available from PostgreSQL's Git repository at emerge time. Given such,"
-	ewarn "the GNU Makefiles may be altered by upstream without notice and the"
-	ewarn "documentation for this live version is not readily available"
-	ewarn "online. Ergo, the ebuild maintainers will not support building a"
-	ewarn "client-only and/or document-free version."
-}
-
 pkg_setup() {
-	CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+	use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
 
 	enewgroup postgres 70
 	enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
@@ -137,8 +112,10 @@ src_prepare() {
 	# hardened and non-hardened environments. (Bug #528786)
 	sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
 
+	use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch"
+
 	if use pam ; then
-		sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+		sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
 			-i src/backend/libpq/auth.c || \
 			die 'PGSQL_PAM_SERVICE rename failed.'
 	fi
@@ -178,8 +155,9 @@ src_configure() {
 		--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
 		--with-system-tzdata="${PO}/usr/share/zoneinfo" \
 		$(use_enable !alpha spinlocks) \
-		$(use_enable nls nls "'$(my_get_locales)'") \
+		$(use_enable debug) \
 		$(use_enable threads thread-safety) \
+		$(use_with icu) \
 		$(use_with kerberos gssapi) \
 		$(use_with ldap) \
 		$(use_with llvm) \
@@ -188,56 +166,45 @@ src_configure() {
 		$(use_with python) \
 		$(use_with readline) \
 		$(use_with ssl openssl) \
+		$(usex server "$(use_with systemd)" '--without-systemd') \
 		$(use_with tcl) \
+		${uuid_config} \
 		$(use_with xml libxml) \
 		$(use_with xml libxslt) \
 		$(use_with zlib) \
-		$(use_with systemd) \
-		${uuid_config}
+		$(use_enable nls nls "'$(l10n_get_locales)'")
 }
 
 src_compile() {
-	emake world
+	emake
+	emake -C contrib
 }
 
 src_install() {
-	emake DESTDIR="${D}" install-world
+	emake DESTDIR="${D}" install
+	emake DESTDIR="${D}" install -C contrib
 
 	dodoc README HISTORY doc/{TODO,bug.template}
 
-	insinto /etc/postgresql-${SLOT}
-	newins src/bin/psql/psqlrc.sample psqlrc
-
-	use static-libs || find "${ED}" -name '*.a' -delete
-
-	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-		"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-		"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-	if use systemd; then
-		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-			"${FILESDIR}/${PN}.service-9.6-r1" | \
-			systemd_newunit - ${PN}-${SLOT}.service
-		systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+	# man pages are already built, but if we have the target make them,
+	# they'll be generated from source before being installed so we
+	# manually install man pages.
+	# We use ${SLOT} instead of doman for postgresql.eselect
+	insinto /usr/share/postgresql-${SLOT}/man/
+	doins -r doc/src/sgml/man{1,3,7}
+	if ! use server; then
+		# Remove man pages for non-existent binaries
+		serverman=(
+			initdb
+			pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+			pg_{test_{fsync,timing},upgrade,waldump}
+			post{gres,master}
+		)
+		for m in ${serverman[@]} ; do
+			rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+		done
 	fi
-
-	newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-	use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-	local f bn
-	for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-					-mindepth 1 -maxdepth 1)
-	do
-		bn=$(basename "${f}")
-		# Temporarily tack on tmp to workaround a file collision
-		# issue. This is only necessary for 9.7 and earlier. 10 never
-		# had this issue.
-		dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-			  "/usr/bin/${bn}${SLOT/.}tmp"
-	done
+	docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
 
 	# Create slot specific man pages
 	local bn f mansec slotted_name
@@ -263,74 +230,92 @@ src_install() {
 		popd > /dev/null
 	done
 
-	if use prefix ; then
-		keepdir /run/postgresql
-		fperms 1775 /run/postgresql
-	fi
-}
+	insinto /etc/postgresql-${SLOT}
+	newins src/bin/psql/psqlrc.sample psqlrc
 
-pkg_preinst() {
-	# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-	# /usr/bin/psql97). They may have been created by the
-	# postgresql.eselect module, but they're handled within this ebuild
-	# now. It's alright if we momentarily delete /usr/bin/psql as it
-	# will be recreated by the eselect module in pkg_ppostinst().  We
-	# only worry about the 9.7 slot as that's the last slot that had its
-	# slot-specific links generated by eselect.
-	#
-	# This can be removed when 10 is the lowest slot in the tree.
-	local canonicalise
-	if type -p realpath > /dev/null; then
-		canonicalise=realpath
-	elif type -p readlink > /dev/null; then
-		canonicalise='readlink -f'
-	else
-		# can't die, subshell
-		die "No readlink nor realpath found, cannot canonicalise"
-	fi
+	# Don't delete libpg{port,common}.a (Bug #571046). They're always
+	# needed by extensions utilizing PGXS.
+	use static-libs || \
+		find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+			 -delete
 
-	local l
-	# First remove any symlinks in /usr/bin that may have been created
-	# by the old eselect
-	for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-		[[ $(${canonicalise} "${l}") == *postgresql-9.7* ]] && rm "${l}"
+	# Make slot specific links to programs
+	local f bn
+	for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+					-mindepth 1 -maxdepth 1)
+	do
+		bn=$(basename "${f}")
+		dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+			  "/usr/bin/${bn}${SLOT/.}"
 	done
 
-	# Then move the symlinks created by the ebuild to their proper place.
-	for l in "${ED}"/usr/bin/*tmp ; do
-		mv "${l}" "${l%tmp}" \
-			|| ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-	done
+	if use doc ; then
+		docinto html
+		dodoc doc/src/sgml/html/*
+	fi
+
+	if use server; then
+		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+			"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+			"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+		if use systemd; then
+			sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+				"${FILESDIR}/${PN}.service-9.6-r1" | \
+				systemd_newunit - ${PN}-${SLOT}.service
+			newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+			systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+		fi
+
+		use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+		if use prefix ; then
+			keepdir /run/postgresql
+			fperms 1775 /run/postgresql
+		fi
+	fi
 }
 
 pkg_postinst() {
-	use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
+	use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
 	postgresql-config update
 
 	elog "If you need a global psqlrc-file, you can place it in:"
 	elog "    ${EROOT%/}/etc/postgresql-${SLOT}/"
 
-	elog
-	elog "Gentoo specific documentation:"
-	elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-	elog
-	elog "Official documentation:"
-	elog "${EROOT%/}/usr/share/doc/${PF}/html"
-	elog
-	elog "The default location of the Unix-domain socket is:"
-	elog "    ${EROOT%/}/run/postgresql/"
-	elog
-	elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-	elog "so that it contains your preferred locale, and other options, in:"
-	elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-	elog
-	elog "Then, execute the following command to setup the initial database"
-	elog "environment:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
+	if use server ; then
+		elog
+		elog "Gentoo specific documentation:"
+		elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+		elog
+		elog "Official documentation:"
+		elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
+		elog
+		elog "The default location of the Unix-domain socket is:"
+		elog "    ${EROOT%/}/run/postgresql/"
+		elog
+		elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+		elog "so that it contains your preferred locale in:"
+		elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
+		elog
+		elog "Then, execute the following command to setup the initial database"
+		elog "environment:"
+		elog "    emerge --config =${CATEGORY}/${PF}"
+
+		if [[ -n ${REPLACING_VERSIONS} ]] ; then
+			ewarn "If your system is using 'pg_stat_statements' and you are running a"
+			ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+			ewarn "the following command after upgrading:"
+			ewarn
+			ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+		fi
+	fi
 }
 
 pkg_prerm() {
-	if [[ -z ${REPLACED_BY_VERSION} ]] ; then
+	if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
 		ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
 		ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
 
@@ -345,6 +330,8 @@ pkg_postrm() {
 }
 
 pkg_config() {
+	use server || die "USE flag 'server' not enabled. Nothing to configure."
+
 	[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
 		&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
 	[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
@@ -377,8 +364,8 @@ pkg_config() {
 	einfo "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
 	einfo
 	einfo "Information on options that can be passed to initdb are found at:"
-	einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-	einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+	einfo "    http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+	einfo "    http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
 	einfo
 	einfo "PG_INITDB_OPTS is currently set to:"
 	if [[ -z "${PG_INITDB_OPTS}" ]] ; then
@@ -406,9 +393,9 @@ pkg_config() {
 
 	einfo "Creating the data directory ..."
 	if [[ ${EUID} == 0 ]] ; then
-		mkdir -p "${DATA_DIR}"
-		chown -Rf postgres:postgres "${DATA_DIR}"
-		chmod 0700 "${DATA_DIR}"
+		mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+		mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+		chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
 	fi
 
 	einfo "Initializing the database ..."
@@ -465,13 +452,17 @@ pkg_config() {
 }
 
 src_test() {
-	if [[ ${UID} -ne 0 ]] ; then
+	if use server && [[ ${UID} -ne 0 ]] ; then
 		emake check
 
 		einfo "If you think other tests besides the regression tests are necessary, please"
 		einfo "submit a bug including a patch for this ebuild to enable them."
 	else
-		ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+		use server || \
+			ewarn 'Tests cannot be run without the "server" use flag enabled.'
+		[[ ${UID} -eq 0 ]] || \
+			ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
 		ewarn 'Skipping.'
 	fi
 }

diff --git a/dev-db/postgresql/postgresql-9999.ebuild b/dev-db/postgresql/postgresql-12_beta1-r1.ebuild
similarity index 65%
copy from dev-db/postgresql/postgresql-9999.ebuild
copy to dev-db/postgresql/postgresql-12_beta1-r1.ebuild
index e90d6a96bf1..b55fe07666c 100644
--- a/dev-db/postgresql/postgresql-9999.ebuild
+++ b/dev-db/postgresql/postgresql-12_beta1-r1.ebuild
@@ -1,33 +1,32 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI=7
 
-PYTHON_COMPAT=( python2_7 python3_{5,6} )
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
 
 PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
 		 zh_TW"
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt-BR ro ru sk sl sv tr zh-CN
-		 zh-TW"
-inherit flag-o-matic git-r3 linux-info multilib pam prefix python-single-r1 \
-		systemd user versionator
 
-KEYWORDS=""
+inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
+		systemd user
 
-# Bump when rc released.
-SLOT="13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
 
-EGIT_REPO_URI="https://git.postgresql.org/git/postgresql.git"
+SLOT=$(ver_cut 1)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
 
 LICENSE="POSTGRESQL GPL-2"
 DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
+HOMEPAGE="http://www.postgresql.org/"
 
-IUSE="kerberos kernel_linux ldap libressl llvm nls pam perl python +readline
-	  selinux systemd ssl static-libs tcl threads uuid xml zlib"
-for my_locale in ${PLOCALES}; do
-	IUSE+=" l10n_${my_locale}"
-done
+IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam
+	  perl python +readline selinux +server systemd ssl static-libs tcl
+	  threads uuid xml zlib"
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
@@ -35,6 +34,7 @@ CDEPEND="
 >=app-eselect/eselect-postgresql-2.0
 sys-apps/less
 virtual/libintl
+icu? ( dev-libs/icu:= )
 kerberos? ( virtual/krb5 )
 ldap? ( net-nds/openldap )
 llvm? (
@@ -45,13 +45,12 @@ pam? ( virtual/pam )
 perl? ( >=dev-lang/perl-5.8:= )
 python? ( ${PYTHON_DEPS} )
 readline? ( sys-libs/readline:0= )
+server? ( systemd? ( sys-apps/systemd ) )
 ssl? (
 	!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
 	libressl? ( dev-libs/libressl:= )
 )
-systemd? ( sys-apps/systemd )
 tcl? ( >=dev-lang/tcl-8:0= )
-uuid? ( dev-libs/ossp-uuid )
 xml? ( dev-libs/libxml2 dev-libs/libxslt )
 zlib? ( sys-libs/zlib )
 "
@@ -81,19 +80,12 @@ uuid? (
 
 DEPEND="${CDEPEND}
 !!<sys-apps/sandbox-2.0
->=dev-lang/perl-5.8
-app-text/docbook-dsssl-stylesheets
-app-text/docbook-sgml-dtd:4.2
-app-text/docbook-xml-dtd:4.2
-app-text/docbook-xsl-stylesheets
-app-text/openjade
-dev-libs/libxml2
-dev-libs/libxslt
 sys-devel/bison
 sys-devel/flex
 nls? ( sys-devel/gettext )
 xml? ( virtual/pkgconfig )
 "
+
 RDEPEND="${CDEPEND}
 !dev-db/postgresql-docs:${SLOT}
 !dev-db/postgresql-base:${SLOT}
@@ -101,25 +93,8 @@ RDEPEND="${CDEPEND}
 selinux? ( sec-policy/selinux-postgresql )
 "
 
-my_get_locales() {
-	local my_locale locale_list
-	for my_locale in ${PLOCALES[@]}; do
-		use l10n_${my_locale} && locale_list+=( ${my_locale} )
-	done
-	echo -n ${locale_list[@]}
-}
-
-pkg_pretend() {
-	ewarn "You are using a live ebuild that uses the current source code as it is"
-	ewarn "available from PostgreSQL's Git repository at emerge time. Given such,"
-	ewarn "the GNU Makefiles may be altered by upstream without notice and the"
-	ewarn "documentation for this live version is not readily available"
-	ewarn "online. Ergo, the ebuild maintainers will not support building a"
-	ewarn "client-only and/or document-free version."
-}
-
 pkg_setup() {
-	CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+	use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
 
 	enewgroup postgres 70
 	enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
@@ -137,8 +112,10 @@ src_prepare() {
 	# hardened and non-hardened environments. (Bug #528786)
 	sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
 
+	use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch"
+
 	if use pam ; then
-		sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
+		sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
 			-i src/backend/libpq/auth.c || \
 			die 'PGSQL_PAM_SERVICE rename failed.'
 	fi
@@ -178,8 +155,9 @@ src_configure() {
 		--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
 		--with-system-tzdata="${PO}/usr/share/zoneinfo" \
 		$(use_enable !alpha spinlocks) \
-		$(use_enable nls nls "'$(my_get_locales)'") \
+		$(use_enable debug) \
 		$(use_enable threads thread-safety) \
+		$(use_with icu) \
 		$(use_with kerberos gssapi) \
 		$(use_with ldap) \
 		$(use_with llvm) \
@@ -188,56 +166,45 @@ src_configure() {
 		$(use_with python) \
 		$(use_with readline) \
 		$(use_with ssl openssl) \
+		$(usex server "$(use_with systemd)" '--without-systemd') \
 		$(use_with tcl) \
+		${uuid_config} \
 		$(use_with xml libxml) \
 		$(use_with xml libxslt) \
 		$(use_with zlib) \
-		$(use_with systemd) \
-		${uuid_config}
+		$(use_enable nls nls "'$(l10n_get_locales)'")
 }
 
 src_compile() {
-	emake world
+	emake
+	emake -C contrib
 }
 
 src_install() {
-	emake DESTDIR="${D}" install-world
+	emake DESTDIR="${D}" install
+	emake DESTDIR="${D}" install -C contrib
 
 	dodoc README HISTORY doc/{TODO,bug.template}
 
-	insinto /etc/postgresql-${SLOT}
-	newins src/bin/psql/psqlrc.sample psqlrc
-
-	use static-libs || find "${ED}" -name '*.a' -delete
-
-	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-		"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-		"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-	if use systemd; then
-		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-			"${FILESDIR}/${PN}.service-9.6-r1" | \
-			systemd_newunit - ${PN}-${SLOT}.service
-		systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+	# man pages are already built, but if we have the target make them,
+	# they'll be generated from source before being installed so we
+	# manually install man pages.
+	# We use ${SLOT} instead of doman for postgresql.eselect
+	insinto /usr/share/postgresql-${SLOT}/man/
+	doins -r doc/src/sgml/man{1,3,7}
+	if ! use server; then
+		# Remove man pages for non-existent binaries
+		serverman=(
+			initdb
+			pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
+			pg_{test_{fsync,timing},upgrade,waldump}
+			post{gres,master}
+		)
+		for m in ${serverman[@]} ; do
+			rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+		done
 	fi
-
-	newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-	use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-	local f bn
-	for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-					-mindepth 1 -maxdepth 1)
-	do
-		bn=$(basename "${f}")
-		# Temporarily tack on tmp to workaround a file collision
-		# issue. This is only necessary for 9.7 and earlier. 10 never
-		# had this issue.
-		dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-			  "/usr/bin/${bn}${SLOT/.}tmp"
-	done
+	docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
 
 	# Create slot specific man pages
 	local bn f mansec slotted_name
@@ -263,74 +230,92 @@ src_install() {
 		popd > /dev/null
 	done
 
-	if use prefix ; then
-		keepdir /run/postgresql
-		fperms 1775 /run/postgresql
-	fi
-}
+	insinto /etc/postgresql-${SLOT}
+	newins src/bin/psql/psqlrc.sample psqlrc
 
-pkg_preinst() {
-	# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-	# /usr/bin/psql97). They may have been created by the
-	# postgresql.eselect module, but they're handled within this ebuild
-	# now. It's alright if we momentarily delete /usr/bin/psql as it
-	# will be recreated by the eselect module in pkg_ppostinst().  We
-	# only worry about the 9.7 slot as that's the last slot that had its
-	# slot-specific links generated by eselect.
-	#
-	# This can be removed when 10 is the lowest slot in the tree.
-	local canonicalise
-	if type -p realpath > /dev/null; then
-		canonicalise=realpath
-	elif type -p readlink > /dev/null; then
-		canonicalise='readlink -f'
-	else
-		# can't die, subshell
-		die "No readlink nor realpath found, cannot canonicalise"
-	fi
+	# Don't delete libpg{port,common}.a (Bug #571046). They're always
+	# needed by extensions utilizing PGXS.
+	use static-libs || \
+		find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+			 -delete
 
-	local l
-	# First remove any symlinks in /usr/bin that may have been created
-	# by the old eselect
-	for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-		[[ $(${canonicalise} "${l}") == *postgresql-9.7* ]] && rm "${l}"
+	# Make slot specific links to programs
+	local f bn
+	for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+					-mindepth 1 -maxdepth 1)
+	do
+		bn=$(basename "${f}")
+		dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+			  "/usr/bin/${bn}${SLOT/.}"
 	done
 
-	# Then move the symlinks created by the ebuild to their proper place.
-	for l in "${ED}"/usr/bin/*tmp ; do
-		mv "${l}" "${l%tmp}" \
-			|| ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-	done
+	if use doc ; then
+		docinto html
+		dodoc doc/src/sgml/html/*
+	fi
+
+	if use server; then
+		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+			"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+			"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+		if use systemd; then
+			sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+				"${FILESDIR}/${PN}.service-9.6-r1" | \
+				systemd_newunit - ${PN}-${SLOT}.service
+			newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+			systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+		fi
+
+		use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+		if use prefix ; then
+			keepdir /run/postgresql
+			fperms 1775 /run/postgresql
+		fi
+	fi
 }
 
 pkg_postinst() {
-	use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
+	use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
 	postgresql-config update
 
 	elog "If you need a global psqlrc-file, you can place it in:"
 	elog "    ${EROOT%/}/etc/postgresql-${SLOT}/"
 
-	elog
-	elog "Gentoo specific documentation:"
-	elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-	elog
-	elog "Official documentation:"
-	elog "${EROOT%/}/usr/share/doc/${PF}/html"
-	elog
-	elog "The default location of the Unix-domain socket is:"
-	elog "    ${EROOT%/}/run/postgresql/"
-	elog
-	elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-	elog "so that it contains your preferred locale, and other options, in:"
-	elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-	elog
-	elog "Then, execute the following command to setup the initial database"
-	elog "environment:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
+	if use server ; then
+		elog
+		elog "Gentoo specific documentation:"
+		elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+		elog
+		elog "Official documentation:"
+		elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
+		elog
+		elog "The default location of the Unix-domain socket is:"
+		elog "    ${EROOT%/}/run/postgresql/"
+		elog
+		elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+		elog "so that it contains your preferred locale in:"
+		elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
+		elog
+		elog "Then, execute the following command to setup the initial database"
+		elog "environment:"
+		elog "    emerge --config =${CATEGORY}/${PF}"
+
+		if [[ -n ${REPLACING_VERSIONS} ]] ; then
+			ewarn "If your system is using 'pg_stat_statements' and you are running a"
+			ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
+			ewarn "the following command after upgrading:"
+			ewarn
+			ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
+		fi
+	fi
 }
 
 pkg_prerm() {
-	if [[ -z ${REPLACED_BY_VERSION} ]] ; then
+	if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
 		ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
 		ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
 
@@ -345,6 +330,8 @@ pkg_postrm() {
 }
 
 pkg_config() {
+	use server || die "USE flag 'server' not enabled. Nothing to configure."
+
 	[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
 		&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
 	[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
@@ -377,8 +364,8 @@ pkg_config() {
 	einfo "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
 	einfo
 	einfo "Information on options that can be passed to initdb are found at:"
-	einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-	einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
+	einfo "    http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
+	einfo "    http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
 	einfo
 	einfo "PG_INITDB_OPTS is currently set to:"
 	if [[ -z "${PG_INITDB_OPTS}" ]] ; then
@@ -406,9 +393,9 @@ pkg_config() {
 
 	einfo "Creating the data directory ..."
 	if [[ ${EUID} == 0 ]] ; then
-		mkdir -p "${DATA_DIR}"
-		chown -Rf postgres:postgres "${DATA_DIR}"
-		chmod 0700 "${DATA_DIR}"
+		mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
+		mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
+		chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
 	fi
 
 	einfo "Initializing the database ..."
@@ -465,13 +452,17 @@ pkg_config() {
 }
 
 src_test() {
-	if [[ ${UID} -ne 0 ]] ; then
+	if use server && [[ ${UID} -ne 0 ]] ; then
 		emake check
 
 		einfo "If you think other tests besides the regression tests are necessary, please"
 		einfo "submit a bug including a patch for this ebuild to enable them."
 	else
-		ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+		use server || \
+			ewarn 'Tests cannot be run without the "server" use flag enabled.'
+		[[ ${UID} -eq 0 ]] || \
+			ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
 		ewarn 'Skipping.'
 	fi
 }

diff --git a/dev-db/postgresql/postgresql-9999.ebuild b/dev-db/postgresql/postgresql-9.4.22-r1.ebuild
similarity index 70%
copy from dev-db/postgresql/postgresql-9999.ebuild
copy to dev-db/postgresql/postgresql-9.4.22-r1.ebuild
index e90d6a96bf1..b08e6262967 100644
--- a/dev-db/postgresql/postgresql-9999.ebuild
+++ b/dev-db/postgresql/postgresql-9.4.22-r1.ebuild
@@ -1,33 +1,29 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI=7
 
-PYTHON_COMPAT=( python2_7 python3_{5,6} )
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
 
 PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-		 zh_TW"
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt-BR ro ru sk sl sv tr zh-CN
-		 zh-TW"
-inherit flag-o-matic git-r3 linux-info multilib pam prefix python-single-r1 \
-		systemd user versionator
+		  zh_TW"
 
-KEYWORDS=""
+inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
+		systemd user
 
-# Bump when rc released.
-SLOT="13"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
 
-EGIT_REPO_URI="https://git.postgresql.org/git/postgresql.git"
+SLOT=$(ver_cut 1-2)
+
+SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
 
 LICENSE="POSTGRESQL GPL-2"
 DESCRIPTION="PostgreSQL RDBMS"
 HOMEPAGE="https://www.postgresql.org/"
 
-IUSE="kerberos kernel_linux ldap libressl llvm nls pam perl python +readline
-	  selinux systemd ssl static-libs tcl threads uuid xml zlib"
-for my_locale in ${PLOCALES}; do
-	IUSE+=" l10n_${my_locale}"
-done
+IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
+	  -pg_legacytimestamp python +readline selinux +server systemd ssl
+	  static-libs tcl threads uuid xml zlib"
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
@@ -37,10 +33,6 @@ sys-apps/less
 virtual/libintl
 kerberos? ( virtual/krb5 )
 ldap? ( net-nds/openldap )
-llvm? (
-	sys-devel/llvm:=
-	sys-devel/clang:=
-)
 pam? ( virtual/pam )
 perl? ( >=dev-lang/perl-5.8:= )
 python? ( ${PYTHON_DEPS} )
@@ -49,9 +41,7 @@ ssl? (
 	!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
 	libressl? ( dev-libs/libressl:= )
 )
-systemd? ( sys-apps/systemd )
 tcl? ( >=dev-lang/tcl-8:0= )
-uuid? ( dev-libs/ossp-uuid )
 xml? ( dev-libs/libxml2 dev-libs/libxslt )
 zlib? ( sys-libs/zlib )
 "
@@ -81,19 +71,12 @@ uuid? (
 
 DEPEND="${CDEPEND}
 !!<sys-apps/sandbox-2.0
->=dev-lang/perl-5.8
-app-text/docbook-dsssl-stylesheets
-app-text/docbook-sgml-dtd:4.2
-app-text/docbook-xml-dtd:4.2
-app-text/docbook-xsl-stylesheets
-app-text/openjade
-dev-libs/libxml2
-dev-libs/libxslt
 sys-devel/bison
 sys-devel/flex
 nls? ( sys-devel/gettext )
 xml? ( virtual/pkgconfig )
 "
+
 RDEPEND="${CDEPEND}
 !dev-db/postgresql-docs:${SLOT}
 !dev-db/postgresql-base:${SLOT}
@@ -101,25 +84,8 @@ RDEPEND="${CDEPEND}
 selinux? ( sec-policy/selinux-postgresql )
 "
 
-my_get_locales() {
-	local my_locale locale_list
-	for my_locale in ${PLOCALES[@]}; do
-		use l10n_${my_locale} && locale_list+=( ${my_locale} )
-	done
-	echo -n ${locale_list[@]}
-}
-
-pkg_pretend() {
-	ewarn "You are using a live ebuild that uses the current source code as it is"
-	ewarn "available from PostgreSQL's Git repository at emerge time. Given such,"
-	ewarn "the GNU Makefiles may be altered by upstream without notice and the"
-	ewarn "documentation for this live version is not readily available"
-	ewarn "online. Ergo, the ebuild maintainers will not support building a"
-	ewarn "client-only and/or document-free version."
-}
-
 pkg_setup() {
-	CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+	use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
 
 	enewgroup postgres 70
 	enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
@@ -128,6 +94,9 @@ pkg_setup() {
 }
 
 src_prepare() {
+	# Work around PPC{,64} compilation bug where bool is already defined
+	sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
+
 	# Set proper run directory
 	sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
 		-i src/include/pg_config_manual.h || die
@@ -137,6 +106,8 @@ src_prepare() {
 	# hardened and non-hardened environments. (Bug #528786)
 	sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
 
+	use server || eapply "${FILESDIR}/${PN}-9.4.10-no-server.patch"
+
 	if use pam ; then
 		sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
 			-i src/backend/libpq/auth.c || \
@@ -177,67 +148,48 @@ src_configure() {
 		--mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
 		--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
 		--with-system-tzdata="${PO}/usr/share/zoneinfo" \
-		$(use_enable !alpha spinlocks) \
-		$(use_enable nls nls "'$(my_get_locales)'") \
+		$(use_enable !pg_legacytimestamp integer-datetimes) \
+		$(use_enable debug) \
 		$(use_enable threads thread-safety) \
 		$(use_with kerberos gssapi) \
 		$(use_with ldap) \
-		$(use_with llvm) \
 		$(use_with pam) \
 		$(use_with perl) \
 		$(use_with python) \
 		$(use_with readline) \
 		$(use_with ssl openssl) \
 		$(use_with tcl) \
+		${uuid_config} \
 		$(use_with xml libxml) \
 		$(use_with xml libxslt) \
 		$(use_with zlib) \
-		$(use_with systemd) \
-		${uuid_config}
+		$(use_enable nls nls "'$(l10n_get_locales)'")
 }
 
 src_compile() {
-	emake world
+	emake
+	emake -C contrib
 }
 
 src_install() {
-	emake DESTDIR="${D}" install-world
+	emake DESTDIR="${D}" install
+	emake DESTDIR="${D}" install -C contrib
 
 	dodoc README HISTORY doc/{TODO,bug.template}
 
-	insinto /etc/postgresql-${SLOT}
-	newins src/bin/psql/psqlrc.sample psqlrc
-
-	use static-libs || find "${ED}" -name '*.a' -delete
-
-	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-		"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-		"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-	if use systemd; then
-		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-			"${FILESDIR}/${PN}.service-9.6-r1" | \
-			systemd_newunit - ${PN}-${SLOT}.service
-		systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+	# man pages are already built, but if we have the target make them,
+	# they'll be generated from source before being installed so we
+	# manually install man pages.
+	# We use ${SLOT} instead of doman for postgresql.eselect
+	insinto /usr/share/postgresql-${SLOT}/man/
+	doins -r doc/src/sgml/man{1,3,7}
+	if ! use server; then
+		# Remove man pages for non-existent binaries
+		for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
+			rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+		done
 	fi
-
-	newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-	use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-	local f bn
-	for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-					-mindepth 1 -maxdepth 1)
-	do
-		bn=$(basename "${f}")
-		# Temporarily tack on tmp to workaround a file collision
-		# issue. This is only necessary for 9.7 and earlier. 10 never
-		# had this issue.
-		dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-			  "/usr/bin/${bn}${SLOT/.}tmp"
-	done
+	docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
 
 	# Create slot specific man pages
 	local bn f mansec slotted_name
@@ -249,7 +201,7 @@ src_install() {
 
 		for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
 			bn=$(basename "${f}")
-			slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+			slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
 			case ${bn} in
 				TABLE.7|WITH.7)
 					echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
@@ -263,22 +215,68 @@ src_install() {
 		popd > /dev/null
 	done
 
-	if use prefix ; then
-		keepdir /run/postgresql
-		fperms 1775 /run/postgresql
+	insinto /etc/postgresql-${SLOT}
+	newins src/bin/psql/psqlrc.sample psqlrc
+
+	# Don't delete libpg{port,common}.a (Bug #571046). They're always
+	# needed by extensions utilizing PGXS.
+	use static-libs || \
+		find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+			 -delete
+
+	local f bn
+	for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+					-mindepth 1 -maxdepth 1)
+	do
+		bn=$(basename "${f}")
+		# Temporarily tack on tmp to workaround a file collision
+		# issue. This is only necessary for 9.7 and earlier. 10 never
+		# had this issue.
+		dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+			  "/usr/bin/${bn}${SLOT/.}tmp"
+	done
+
+	if use doc ; then
+		docinto html
+		dodoc doc/src/sgml/html/*
+
+		docinto sgml
+		dodoc doc/src/sgml/*.{sgml,dsl}
+	fi
+
+	if use server; then
+		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+			"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+			"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+		if use systemd; then
+			sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+				"${FILESDIR}/${PN}.service-9.2" | \
+				systemd_newunit - ${PN}-${SLOT}.service
+			systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+		fi
+
+		newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+
+		use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+		if use prefix ; then
+			keepdir /run/postgresql
+			fperms 1775 /run/postgresql
+		fi
 	fi
 }
 
 pkg_preinst() {
 	# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-	# /usr/bin/psql97). They may have been created by the
+	# /usr/bin/psql96). They may have been created by the
 	# postgresql.eselect module, but they're handled within this ebuild
 	# now. It's alright if we momentarily delete /usr/bin/psql as it
-	# will be recreated by the eselect module in pkg_ppostinst().  We
-	# only worry about the 9.7 slot as that's the last slot that had its
-	# slot-specific links generated by eselect.
-	#
-	# This can be removed when 10 is the lowest slot in the tree.
+	# will be recreated by the eselect module in pkg_ppostinst(). This
+	# is only necessary for 9.7 and earlier. 10 and later were never
+	# handled in this manner.
 	local canonicalise
 	if type -p realpath > /dev/null; then
 		canonicalise=realpath
@@ -293,7 +291,9 @@ pkg_preinst() {
 	# First remove any symlinks in /usr/bin that may have been created
 	# by the old eselect
 	for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-		[[ $(${canonicalise} "${l}") == *postgresql-9.7* ]] && rm "${l}"
+		if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
+			rm "${l}" || ewarn "Couldn't remove ${l}"
+		fi
 	done
 
 	# Then move the symlinks created by the ebuild to their proper place.
@@ -304,33 +304,35 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-	use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
+	use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
 	postgresql-config update
 
 	elog "If you need a global psqlrc-file, you can place it in:"
 	elog "    ${EROOT%/}/etc/postgresql-${SLOT}/"
 
-	elog
-	elog "Gentoo specific documentation:"
-	elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-	elog
-	elog "Official documentation:"
-	elog "${EROOT%/}/usr/share/doc/${PF}/html"
-	elog
-	elog "The default location of the Unix-domain socket is:"
-	elog "    ${EROOT%/}/run/postgresql/"
-	elog
-	elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-	elog "so that it contains your preferred locale, and other options, in:"
-	elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-	elog
-	elog "Then, execute the following command to setup the initial database"
-	elog "environment:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
+	if use server ; then
+		elog
+		elog "Gentoo specific documentation:"
+		elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+		elog
+		elog "Official documentation:"
+		elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+		elog
+		elog "The default location of the Unix-domain socket is:"
+		elog "    ${EROOT%/}/run/postgresql/"
+		elog
+		elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+		elog "so that it contains your preferred locale in:"
+		elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
+		elog
+		elog "Then, execute the following command to setup the initial database"
+		elog "environment:"
+		elog "    emerge --config =${CATEGORY}/${PF}"
+	fi
 }
 
 pkg_prerm() {
-	if [[ -z ${REPLACED_BY_VERSION} ]] ; then
+	if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
 		ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
 		ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
 
@@ -345,6 +347,8 @@ pkg_postrm() {
 }
 
 pkg_config() {
+	use server || die "USE flag 'server' not enabled. Nothing to configure."
+
 	[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
 		&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
 	[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
@@ -440,11 +444,9 @@ pkg_config() {
 	einfo "by default. You can disable it in the cluster's:"
 	einfo "    ${PGDATA%/}/postgresql.conf"
 	einfo
-	if ! use systemd; then
-		einfo "The PostgreSQL server, by default, will log events to:"
-		einfo "    ${DATA_DIR%/}/postmaster.log"
-		einfo
-	fi
+	einfo "The PostgreSQL server, by default, will log events to:"
+	einfo "    ${DATA_DIR%/}/postmaster.log"
+	einfo
 	if use prefix ; then
 		einfo "The location of the configuration files have moved to:"
 		einfo "    ${PGDATA}"
@@ -455,9 +457,6 @@ pkg_config() {
 		einfo
 		einfo "Or move the configuration files back:"
 		einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-	elif use systemd; then
-		einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-		einfo "instead of 'pg_ctl'."
 	else
 		einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
 		einfo "instead of 'pg_ctl'."
@@ -465,13 +464,17 @@ pkg_config() {
 }
 
 src_test() {
-	if [[ ${UID} -ne 0 ]] ; then
+	if use server && [[ ${UID} -ne 0 ]] ; then
 		emake check
 
 		einfo "If you think other tests besides the regression tests are necessary, please"
 		einfo "submit a bug including a patch for this ebuild to enable them."
 	else
-		ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+		use server || \
+			ewarn 'Tests cannot be run without the "server" use flag enabled.'
+		[[ ${UID} -eq 0 ]] || \
+			ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
 		ewarn 'Skipping.'
 	fi
 }

diff --git a/dev-db/postgresql/postgresql-9999.ebuild b/dev-db/postgresql/postgresql-9.5.17-r1.ebuild
similarity index 69%
copy from dev-db/postgresql/postgresql-9999.ebuild
copy to dev-db/postgresql/postgresql-9.5.17-r1.ebuild
index e90d6a96bf1..14d84350ff6 100644
--- a/dev-db/postgresql/postgresql-9999.ebuild
+++ b/dev-db/postgresql/postgresql-9.5.17-r1.ebuild
@@ -1,33 +1,29 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI=7
 
-PYTHON_COMPAT=( python2_7 python3_{5,6} )
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
 
 PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-		 zh_TW"
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt-BR ro ru sk sl sv tr zh-CN
-		 zh-TW"
-inherit flag-o-matic git-r3 linux-info multilib pam prefix python-single-r1 \
-		systemd user versionator
+		  zh_TW"
 
-KEYWORDS=""
+inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
+		systemd user
 
-# Bump when rc released.
-SLOT="13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris"
 
-EGIT_REPO_URI="https://git.postgresql.org/git/postgresql.git"
+SLOT=$(ver_cut 1-2)
+
+SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2"
 
 LICENSE="POSTGRESQL GPL-2"
 DESCRIPTION="PostgreSQL RDBMS"
 HOMEPAGE="https://www.postgresql.org/"
 
-IUSE="kerberos kernel_linux ldap libressl llvm nls pam perl python +readline
-	  selinux systemd ssl static-libs tcl threads uuid xml zlib"
-for my_locale in ${PLOCALES}; do
-	IUSE+=" l10n_${my_locale}"
-done
+IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
+	  -pg_legacytimestamp python +readline selinux +server systemd ssl
+	  static-libs tcl threads uuid xml zlib"
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
@@ -37,10 +33,6 @@ sys-apps/less
 virtual/libintl
 kerberos? ( virtual/krb5 )
 ldap? ( net-nds/openldap )
-llvm? (
-	sys-devel/llvm:=
-	sys-devel/clang:=
-)
 pam? ( virtual/pam )
 perl? ( >=dev-lang/perl-5.8:= )
 python? ( ${PYTHON_DEPS} )
@@ -49,9 +41,7 @@ ssl? (
 	!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
 	libressl? ( dev-libs/libressl:= )
 )
-systemd? ( sys-apps/systemd )
 tcl? ( >=dev-lang/tcl-8:0= )
-uuid? ( dev-libs/ossp-uuid )
 xml? ( dev-libs/libxml2 dev-libs/libxslt )
 zlib? ( sys-libs/zlib )
 "
@@ -81,19 +71,12 @@ uuid? (
 
 DEPEND="${CDEPEND}
 !!<sys-apps/sandbox-2.0
->=dev-lang/perl-5.8
-app-text/docbook-dsssl-stylesheets
-app-text/docbook-sgml-dtd:4.2
-app-text/docbook-xml-dtd:4.2
-app-text/docbook-xsl-stylesheets
-app-text/openjade
-dev-libs/libxml2
-dev-libs/libxslt
 sys-devel/bison
 sys-devel/flex
 nls? ( sys-devel/gettext )
 xml? ( virtual/pkgconfig )
 "
+
 RDEPEND="${CDEPEND}
 !dev-db/postgresql-docs:${SLOT}
 !dev-db/postgresql-base:${SLOT}
@@ -101,25 +84,8 @@ RDEPEND="${CDEPEND}
 selinux? ( sec-policy/selinux-postgresql )
 "
 
-my_get_locales() {
-	local my_locale locale_list
-	for my_locale in ${PLOCALES[@]}; do
-		use l10n_${my_locale} && locale_list+=( ${my_locale} )
-	done
-	echo -n ${locale_list[@]}
-}
-
-pkg_pretend() {
-	ewarn "You are using a live ebuild that uses the current source code as it is"
-	ewarn "available from PostgreSQL's Git repository at emerge time. Given such,"
-	ewarn "the GNU Makefiles may be altered by upstream without notice and the"
-	ewarn "documentation for this live version is not readily available"
-	ewarn "online. Ergo, the ebuild maintainers will not support building a"
-	ewarn "client-only and/or document-free version."
-}
-
 pkg_setup() {
-	CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+	use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
 
 	enewgroup postgres 70
 	enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
@@ -128,6 +94,9 @@ pkg_setup() {
 }
 
 src_prepare() {
+	# Work around PPC{,64} compilation bug where bool is already defined
+	sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
+
 	# Set proper run directory
 	sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
 		-i src/include/pg_config_manual.h || die
@@ -137,6 +106,8 @@ src_prepare() {
 	# hardened and non-hardened environments. (Bug #528786)
 	sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
 
+	use server || eapply "${FILESDIR}/${PN}-9.5.5-no-server.patch"
+
 	if use pam ; then
 		sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
 			-i src/backend/libpq/auth.c || \
@@ -178,66 +149,48 @@ src_configure() {
 		--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
 		--with-system-tzdata="${PO}/usr/share/zoneinfo" \
 		$(use_enable !alpha spinlocks) \
-		$(use_enable nls nls "'$(my_get_locales)'") \
+		$(use_enable !pg_legacytimestamp integer-datetimes) \
+		$(use_enable debug) \
 		$(use_enable threads thread-safety) \
 		$(use_with kerberos gssapi) \
 		$(use_with ldap) \
-		$(use_with llvm) \
 		$(use_with pam) \
 		$(use_with perl) \
 		$(use_with python) \
 		$(use_with readline) \
 		$(use_with ssl openssl) \
 		$(use_with tcl) \
+		${uuid_config} \
 		$(use_with xml libxml) \
 		$(use_with xml libxslt) \
 		$(use_with zlib) \
-		$(use_with systemd) \
-		${uuid_config}
+		$(use_enable nls nls "'$(l10n_get_locales)'")
 }
 
 src_compile() {
-	emake world
+	emake
+	emake -C contrib
 }
 
 src_install() {
-	emake DESTDIR="${D}" install-world
+	emake DESTDIR="${D}" install
+	emake DESTDIR="${D}" install -C contrib
 
 	dodoc README HISTORY doc/{TODO,bug.template}
 
-	insinto /etc/postgresql-${SLOT}
-	newins src/bin/psql/psqlrc.sample psqlrc
-
-	use static-libs || find "${ED}" -name '*.a' -delete
-
-	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-		"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-		"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-	if use systemd; then
-		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-			"${FILESDIR}/${PN}.service-9.6-r1" | \
-			systemd_newunit - ${PN}-${SLOT}.service
-		systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+	# man pages are already built, but if we have the target make them,
+	# they'll be generated from source before being installed so we
+	# manually install man pages.
+	# We use ${SLOT} instead of doman for postgresql.eselect
+	insinto /usr/share/postgresql-${SLOT}/man/
+	doins -r doc/src/sgml/man{1,3,7}
+	if ! use server; then
+		# Remove man pages for non-existent binaries
+		for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
+			rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+		done
 	fi
-
-	newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-	use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-	local f bn
-	for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-					-mindepth 1 -maxdepth 1)
-	do
-		bn=$(basename "${f}")
-		# Temporarily tack on tmp to workaround a file collision
-		# issue. This is only necessary for 9.7 and earlier. 10 never
-		# had this issue.
-		dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-			  "/usr/bin/${bn}${SLOT/.}tmp"
-	done
+	docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
 
 	# Create slot specific man pages
 	local bn f mansec slotted_name
@@ -249,7 +202,7 @@ src_install() {
 
 		for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
 			bn=$(basename "${f}")
-			slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+			slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
 			case ${bn} in
 				TABLE.7|WITH.7)
 					echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
@@ -263,22 +216,68 @@ src_install() {
 		popd > /dev/null
 	done
 
-	if use prefix ; then
-		keepdir /run/postgresql
-		fperms 1775 /run/postgresql
+	insinto /etc/postgresql-${SLOT}
+	newins src/bin/psql/psqlrc.sample psqlrc
+
+	# Don't delete libpg{port,common}.a (Bug #571046). They're always
+	# needed by extensions utilizing PGXS.
+	use static-libs || \
+		find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+			 -delete
+
+	local f bn
+	for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+					-mindepth 1 -maxdepth 1)
+	do
+		bn=$(basename "${f}")
+		# Temporarily tack on tmp to workaround a file collision
+		# issue. This is only necessary for 9.7 and earlier. 10 never
+		# had this issue.
+		dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+			  "/usr/bin/${bn}${SLOT/.}tmp"
+	done
+
+	if use doc ; then
+		docinto html
+		dodoc doc/src/sgml/html/*
+
+		docinto sgml
+		dodoc doc/src/sgml/*.{sgml,dsl}
+	fi
+
+	if use server; then
+		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+			"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+			"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+		if use systemd; then
+			sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+				"${FILESDIR}/${PN}.service-9.2" | \
+				systemd_newunit - ${PN}-${SLOT}.service
+			systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+		fi
+
+		newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+
+		use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+		if use prefix ; then
+			keepdir /run/postgresql
+			fperms 1775 /run/postgresql
+		fi
 	fi
 }
 
 pkg_preinst() {
 	# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-	# /usr/bin/psql97). They may have been created by the
+	# /usr/bin/psql96). They may have been created by the
 	# postgresql.eselect module, but they're handled within this ebuild
 	# now. It's alright if we momentarily delete /usr/bin/psql as it
-	# will be recreated by the eselect module in pkg_ppostinst().  We
-	# only worry about the 9.7 slot as that's the last slot that had its
-	# slot-specific links generated by eselect.
-	#
-	# This can be removed when 10 is the lowest slot in the tree.
+	# will be recreated by the eselect module in pkg_ppostinst(). This
+	# is only necessary for 9.7 and earlier. 10 and later were never
+	# handled in this manner.
 	local canonicalise
 	if type -p realpath > /dev/null; then
 		canonicalise=realpath
@@ -293,7 +292,9 @@ pkg_preinst() {
 	# First remove any symlinks in /usr/bin that may have been created
 	# by the old eselect
 	for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-		[[ $(${canonicalise} "${l}") == *postgresql-9.7* ]] && rm "${l}"
+		if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
+			rm "${l}" || ewarn "Couldn't remove ${l}"
+		fi
 	done
 
 	# Then move the symlinks created by the ebuild to their proper place.
@@ -304,33 +305,40 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-	use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
+	use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
 	postgresql-config update
 
+	if use alpha && use server ; then
+		ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms."
+		ewarn "As a result, performance will be extremely degraded."
+	fi
+
 	elog "If you need a global psqlrc-file, you can place it in:"
 	elog "    ${EROOT%/}/etc/postgresql-${SLOT}/"
 
-	elog
-	elog "Gentoo specific documentation:"
-	elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-	elog
-	elog "Official documentation:"
-	elog "${EROOT%/}/usr/share/doc/${PF}/html"
-	elog
-	elog "The default location of the Unix-domain socket is:"
-	elog "    ${EROOT%/}/run/postgresql/"
-	elog
-	elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-	elog "so that it contains your preferred locale, and other options, in:"
-	elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-	elog
-	elog "Then, execute the following command to setup the initial database"
-	elog "environment:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
+	if use server ; then
+		elog
+		elog "Gentoo specific documentation:"
+		elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+		elog
+		elog "Official documentation:"
+		elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+		elog
+		elog "The default location of the Unix-domain socket is:"
+		elog "    ${EROOT%/}/run/postgresql/"
+		elog
+		elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+		elog "so that it contains your preferred locale in:"
+		elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
+		elog
+		elog "Then, execute the following command to setup the initial database"
+		elog "environment:"
+		elog "    emerge --config =${CATEGORY}/${PF}"
+	fi
 }
 
 pkg_prerm() {
-	if [[ -z ${REPLACED_BY_VERSION} ]] ; then
+	if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
 		ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
 		ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
 
@@ -345,6 +353,8 @@ pkg_postrm() {
 }
 
 pkg_config() {
+	use server || die "USE flag 'server' not enabled. Nothing to configure."
+
 	[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
 		&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
 	[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
@@ -440,11 +450,9 @@ pkg_config() {
 	einfo "by default. You can disable it in the cluster's:"
 	einfo "    ${PGDATA%/}/postgresql.conf"
 	einfo
-	if ! use systemd; then
-		einfo "The PostgreSQL server, by default, will log events to:"
-		einfo "    ${DATA_DIR%/}/postmaster.log"
-		einfo
-	fi
+	einfo "The PostgreSQL server, by default, will log events to:"
+	einfo "    ${DATA_DIR%/}/postmaster.log"
+	einfo
 	if use prefix ; then
 		einfo "The location of the configuration files have moved to:"
 		einfo "    ${PGDATA}"
@@ -455,9 +463,6 @@ pkg_config() {
 		einfo
 		einfo "Or move the configuration files back:"
 		einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-	elif use systemd; then
-		einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-		einfo "instead of 'pg_ctl'."
 	else
 		einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
 		einfo "instead of 'pg_ctl'."
@@ -465,13 +470,17 @@ pkg_config() {
 }
 
 src_test() {
-	if [[ ${UID} -ne 0 ]] ; then
+	if use server && [[ ${UID} -ne 0 ]] ; then
 		emake check
 
 		einfo "If you think other tests besides the regression tests are necessary, please"
 		einfo "submit a bug including a patch for this ebuild to enable them."
 	else
-		ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+		use server || \
+			ewarn 'Tests cannot be run without the "server" use flag enabled.'
+		[[ ${UID} -eq 0 ]] || \
+			ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
 		ewarn 'Skipping.'
 	fi
 }

diff --git a/dev-db/postgresql/postgresql-9999.ebuild b/dev-db/postgresql/postgresql-9.6.13-r1.ebuild
similarity index 70%
copy from dev-db/postgresql/postgresql-9999.ebuild
copy to dev-db/postgresql/postgresql-9.6.13-r1.ebuild
index e90d6a96bf1..a6c2ed402e2 100644
--- a/dev-db/postgresql/postgresql-9999.ebuild
+++ b/dev-db/postgresql/postgresql-9.6.13-r1.ebuild
@@ -1,33 +1,32 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI=7
 
-PYTHON_COMPAT=( python2_7 python3_{5,6} )
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
 
 PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-		 zh_TW"
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt-BR ro ru sk sl sv tr zh-CN
-		 zh-TW"
-inherit flag-o-matic git-r3 linux-info multilib pam prefix python-single-r1 \
-		systemd user versionator
+		  zh_TW"
 
-KEYWORDS=""
+inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
+		systemd user
 
-# Bump when rc released.
-SLOT="13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
 
-EGIT_REPO_URI="https://git.postgresql.org/git/postgresql.git"
+SLOT=$(ver_cut 1-2)
+
+MY_PV=${PV/_/}
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
 
 LICENSE="POSTGRESQL GPL-2"
 DESCRIPTION="PostgreSQL RDBMS"
 HOMEPAGE="https://www.postgresql.org/"
 
-IUSE="kerberos kernel_linux ldap libressl llvm nls pam perl python +readline
-	  selinux systemd ssl static-libs tcl threads uuid xml zlib"
-for my_locale in ${PLOCALES}; do
-	IUSE+=" l10n_${my_locale}"
-done
+IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
+	  -pg_legacytimestamp python +readline selinux +server systemd ssl
+	  static-libs tcl threads uuid xml zlib"
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
@@ -37,10 +36,6 @@ sys-apps/less
 virtual/libintl
 kerberos? ( virtual/krb5 )
 ldap? ( net-nds/openldap )
-llvm? (
-	sys-devel/llvm:=
-	sys-devel/clang:=
-)
 pam? ( virtual/pam )
 perl? ( >=dev-lang/perl-5.8:= )
 python? ( ${PYTHON_DEPS} )
@@ -49,9 +44,8 @@ ssl? (
 	!libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
 	libressl? ( dev-libs/libressl:= )
 )
-systemd? ( sys-apps/systemd )
+server? ( systemd? ( sys-apps/systemd ) )
 tcl? ( >=dev-lang/tcl-8:0= )
-uuid? ( dev-libs/ossp-uuid )
 xml? ( dev-libs/libxml2 dev-libs/libxslt )
 zlib? ( sys-libs/zlib )
 "
@@ -81,19 +75,12 @@ uuid? (
 
 DEPEND="${CDEPEND}
 !!<sys-apps/sandbox-2.0
->=dev-lang/perl-5.8
-app-text/docbook-dsssl-stylesheets
-app-text/docbook-sgml-dtd:4.2
-app-text/docbook-xml-dtd:4.2
-app-text/docbook-xsl-stylesheets
-app-text/openjade
-dev-libs/libxml2
-dev-libs/libxslt
 sys-devel/bison
 sys-devel/flex
 nls? ( sys-devel/gettext )
 xml? ( virtual/pkgconfig )
 "
+
 RDEPEND="${CDEPEND}
 !dev-db/postgresql-docs:${SLOT}
 !dev-db/postgresql-base:${SLOT}
@@ -101,25 +88,8 @@ RDEPEND="${CDEPEND}
 selinux? ( sec-policy/selinux-postgresql )
 "
 
-my_get_locales() {
-	local my_locale locale_list
-	for my_locale in ${PLOCALES[@]}; do
-		use l10n_${my_locale} && locale_list+=( ${my_locale} )
-	done
-	echo -n ${locale_list[@]}
-}
-
-pkg_pretend() {
-	ewarn "You are using a live ebuild that uses the current source code as it is"
-	ewarn "available from PostgreSQL's Git repository at emerge time. Given such,"
-	ewarn "the GNU Makefiles may be altered by upstream without notice and the"
-	ewarn "documentation for this live version is not readily available"
-	ewarn "online. Ergo, the ebuild maintainers will not support building a"
-	ewarn "client-only and/or document-free version."
-}
-
 pkg_setup() {
-	CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
+	use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
 
 	enewgroup postgres 70
 	enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
@@ -128,6 +98,9 @@ pkg_setup() {
 }
 
 src_prepare() {
+	# Work around PPC{,64} compilation bug where bool is already defined
+	sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
+
 	# Set proper run directory
 	sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
 		-i src/include/pg_config_manual.h || die
@@ -137,6 +110,8 @@ src_prepare() {
 	# hardened and non-hardened environments. (Bug #528786)
 	sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
 
+	use server || eapply "${FILESDIR}/${PN}-${SLOT}.3-no-server.patch"
+
 	if use pam ; then
 		sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
 			-i src/backend/libpq/auth.c || \
@@ -178,66 +153,49 @@ src_configure() {
 		--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
 		--with-system-tzdata="${PO}/usr/share/zoneinfo" \
 		$(use_enable !alpha spinlocks) \
-		$(use_enable nls nls "'$(my_get_locales)'") \
+		$(use_enable !pg_legacytimestamp integer-datetimes) \
+		$(use_enable debug) \
 		$(use_enable threads thread-safety) \
 		$(use_with kerberos gssapi) \
 		$(use_with ldap) \
-		$(use_with llvm) \
 		$(use_with pam) \
 		$(use_with perl) \
 		$(use_with python) \
 		$(use_with readline) \
 		$(use_with ssl openssl) \
+		$(usex server "$(use_with systemd)" '--without-systemd') \
 		$(use_with tcl) \
+		${uuid_config} \
 		$(use_with xml libxml) \
 		$(use_with xml libxslt) \
 		$(use_with zlib) \
-		$(use_with systemd) \
-		${uuid_config}
+		$(use_enable nls nls "'$(l10n_get_locales)'")
 }
 
 src_compile() {
-	emake world
+	emake
+	emake -C contrib
 }
 
 src_install() {
-	emake DESTDIR="${D}" install-world
+	emake DESTDIR="${D}" install
+	emake DESTDIR="${D}" install -C contrib
 
 	dodoc README HISTORY doc/{TODO,bug.template}
 
-	insinto /etc/postgresql-${SLOT}
-	newins src/bin/psql/psqlrc.sample psqlrc
-
-	use static-libs || find "${ED}" -name '*.a' -delete
-
-	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-		"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-		"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-	if use systemd; then
-		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-			"${FILESDIR}/${PN}.service-9.6-r1" | \
-			systemd_newunit - ${PN}-${SLOT}.service
-		systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+	# man pages are already built, but if we have the target make them,
+	# they'll be generated from source before being installed so we
+	# manually install man pages.
+	# We use ${SLOT} instead of doman for postgresql.eselect
+	insinto /usr/share/postgresql-${SLOT}/man/
+	doins -r doc/src/sgml/man{1,3,7}
+	if ! use server; then
+		# Remove man pages for non-existent binaries
+		for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
+			rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
+		done
 	fi
-
-	newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-	use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-	local f bn
-	for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-					-mindepth 1 -maxdepth 1)
-	do
-		bn=$(basename "${f}")
-		# Temporarily tack on tmp to workaround a file collision
-		# issue. This is only necessary for 9.7 and earlier. 10 never
-		# had this issue.
-		dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-			  "/usr/bin/${bn}${SLOT/.}tmp"
-	done
+	docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
 
 	# Create slot specific man pages
 	local bn f mansec slotted_name
@@ -249,7 +207,7 @@ src_install() {
 
 		for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
 			bn=$(basename "${f}")
-			slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
+			slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
 			case ${bn} in
 				TABLE.7|WITH.7)
 					echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
@@ -263,22 +221,68 @@ src_install() {
 		popd > /dev/null
 	done
 
-	if use prefix ; then
-		keepdir /run/postgresql
-		fperms 1775 /run/postgresql
+	insinto /etc/postgresql-${SLOT}
+	newins src/bin/psql/psqlrc.sample psqlrc
+
+	# Don't delete libpg{port,common}.a (Bug #571046). They're always
+	# needed by extensions utilizing PGXS.
+	use static-libs || \
+		find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+			 -delete
+
+	local f bn
+	for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
+					-mindepth 1 -maxdepth 1)
+	do
+		bn=$(basename "${f}")
+		# Temporarily tack on tmp to workaround a file collision
+		# issue. This is only necessary for 9.7 and earlier. 10 never
+		# had this issue.
+		dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
+			  "/usr/bin/${bn}${SLOT/.}tmp"
+	done
+
+	if use doc ; then
+		docinto html
+		dodoc doc/src/sgml/html/*
+
+		docinto sgml
+		dodoc doc/src/sgml/*.{sgml,dsl}
+	fi
+
+	if use server; then
+		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+			"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
+
+		sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+			"${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
+
+		if use systemd; then
+			sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
+				"${FILESDIR}/${PN}.service-9.6-r1" | \
+				systemd_newunit - ${PN}-${SLOT}.service
+			systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
+		fi
+
+		newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
+
+		use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
+
+		if use prefix ; then
+			keepdir /run/postgresql
+			fperms 1775 /run/postgresql
+		fi
 	fi
 }
 
 pkg_preinst() {
 	# Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-	# /usr/bin/psql97). They may have been created by the
+	# /usr/bin/psql96). They may have been created by the
 	# postgresql.eselect module, but they're handled within this ebuild
 	# now. It's alright if we momentarily delete /usr/bin/psql as it
-	# will be recreated by the eselect module in pkg_ppostinst().  We
-	# only worry about the 9.7 slot as that's the last slot that had its
-	# slot-specific links generated by eselect.
-	#
-	# This can be removed when 10 is the lowest slot in the tree.
+	# will be recreated by the eselect module in pkg_ppostinst(). This
+	# is only necessary for 9.7 and earlier. 10 and later were never
+	# handled in this manner.
 	local canonicalise
 	if type -p realpath > /dev/null; then
 		canonicalise=realpath
@@ -293,7 +297,9 @@ pkg_preinst() {
 	# First remove any symlinks in /usr/bin that may have been created
 	# by the old eselect
 	for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-		[[ $(${canonicalise} "${l}") == *postgresql-9.7* ]] && rm "${l}"
+		if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
+			rm "${l}" || ewarn "Couldn't remove ${l}"
+		fi
 	done
 
 	# Then move the symlinks created by the ebuild to their proper place.
@@ -304,33 +310,35 @@ pkg_preinst() {
 }
 
 pkg_postinst() {
-	use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
+	use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
 	postgresql-config update
 
 	elog "If you need a global psqlrc-file, you can place it in:"
 	elog "    ${EROOT%/}/etc/postgresql-${SLOT}/"
 
-	elog
-	elog "Gentoo specific documentation:"
-	elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-	elog
-	elog "Official documentation:"
-	elog "${EROOT%/}/usr/share/doc/${PF}/html"
-	elog
-	elog "The default location of the Unix-domain socket is:"
-	elog "    ${EROOT%/}/run/postgresql/"
-	elog
-	elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-	elog "so that it contains your preferred locale, and other options, in:"
-	elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-	elog
-	elog "Then, execute the following command to setup the initial database"
-	elog "environment:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
+	if use server ; then
+		elog
+		elog "Gentoo specific documentation:"
+		elog "https://wiki.gentoo.org/wiki/PostgreSQL"
+		elog
+		elog "Official documentation:"
+		elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
+		elog
+		elog "The default location of the Unix-domain socket is:"
+		elog "    ${EROOT%/}/run/postgresql/"
+		elog
+		elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
+		elog "so that it contains your preferred locale in:"
+		elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
+		elog
+		elog "Then, execute the following command to setup the initial database"
+		elog "environment:"
+		elog "    emerge --config =${CATEGORY}/${PF}"
+	fi
 }
 
 pkg_prerm() {
-	if [[ -z ${REPLACED_BY_VERSION} ]] ; then
+	if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
 		ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
 		ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
 
@@ -345,6 +353,8 @@ pkg_postrm() {
 }
 
 pkg_config() {
+	use server || die "USE flag 'server' not enabled. Nothing to configure."
+
 	[[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
 		&& source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
 	[[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
@@ -465,13 +475,17 @@ pkg_config() {
 }
 
 src_test() {
-	if [[ ${UID} -ne 0 ]] ; then
+	if use server && [[ ${UID} -ne 0 ]] ; then
 		emake check
 
 		einfo "If you think other tests besides the regression tests are necessary, please"
 		einfo "submit a bug including a patch for this ebuild to enable them."
 	else
-		ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+		use server || \
+			ewarn 'Tests cannot be run without the "server" use flag enabled.'
+		[[ ${UID} -eq 0 ]] || \
+			ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
+
 		ewarn 'Skipping.'
 	fi
 }

diff --git a/dev-db/postgresql/postgresql-9999.ebuild b/dev-db/postgresql/postgresql-9999.ebuild
index e90d6a96bf1..76764654058 100644
--- a/dev-db/postgresql/postgresql-9999.ebuild
+++ b/dev-db/postgresql/postgresql-9999.ebuild
@@ -1,16 +1,16 @@
 # Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI=7
 
-PYTHON_COMPAT=( python2_7 python3_{5,6} )
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
 
 PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
 		 zh_TW"
 PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt-BR ro ru sk sl sv tr zh-CN
 		 zh-TW"
 inherit flag-o-matic git-r3 linux-info multilib pam prefix python-single-r1 \
-		systemd user versionator
+		systemd user
 
 KEYWORDS=""
 
@@ -23,8 +23,9 @@ LICENSE="POSTGRESQL GPL-2"
 DESCRIPTION="PostgreSQL RDBMS"
 HOMEPAGE="https://www.postgresql.org/"
 
-IUSE="kerberos kernel_linux ldap libressl llvm nls pam perl python +readline
-	  selinux systemd ssl static-libs tcl threads uuid xml zlib"
+IUSE="debug icu kerberos kernel_linux ldap libressl llvm nls pam perl
+	  python +readline selinux systemd ssl static-libs tcl threads uuid
+	  xml zlib"
 for my_locale in ${PLOCALES}; do
 	IUSE+=" l10n_${my_locale}"
 done
@@ -35,6 +36,7 @@ CDEPEND="
 >=app-eselect/eselect-postgresql-2.0
 sys-apps/less
 virtual/libintl
+icu? ( dev-libs/icu:= )
 kerberos? ( virtual/krb5 )
 ldap? ( net-nds/openldap )
 llvm? (
@@ -178,8 +180,10 @@ src_configure() {
 		--sysconfdir="${PO}/etc/postgresql-${SLOT}" \
 		--with-system-tzdata="${PO}/usr/share/zoneinfo" \
 		$(use_enable !alpha spinlocks) \
+		$(use_enable debug) \
 		$(use_enable nls nls "'$(my_get_locales)'") \
 		$(use_enable threads thread-safety) \
+		$(use_with icu) \
 		$(use_with kerberos gssapi) \
 		$(use_with ldap) \
 		$(use_with llvm) \
@@ -208,7 +212,11 @@ src_install() {
 	insinto /etc/postgresql-${SLOT}
 	newins src/bin/psql/psqlrc.sample psqlrc
 
-	use static-libs || find "${ED}" -name '*.a' -delete
+	# Don't delete libpg{port,common}.a (Bug #571046). They're always
+	# needed by extensions utilizing PGXS.
+	use static-libs || \
+		find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
+			 -delete
 
 	sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
 		"${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}


             reply	other threads:[~2019-06-03 10:25 UTC|newest]

Thread overview: 908+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-03 10:25 Aaron W. Swenson [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-26 13:37 [gentoo-commits] repo/gentoo:master commit in: dev-db/postgresql/ Patrick Lauer
2024-09-26 13:21 Patrick Lauer
2024-09-26 13:21 Patrick Lauer
2024-09-05 13:25 Patrick Lauer
2024-08-10 15:41 Michał Górny
2024-08-10 15:41 Michał Górny
2024-08-10 15:41 Michał Górny
2024-08-10 15:41 Michał Górny
2024-08-10 15:41 Michał Górny
2024-08-09  8:57 Sam James
2024-08-09  8:57 Sam James
2024-08-09  8:57 Sam James
2024-08-09  8:57 Sam James
2024-08-09  8:57 Sam James
2024-08-09  8:50 Jakov Smolić
2024-08-09  8:50 Jakov Smolić
2024-08-09  8:50 Jakov Smolić
2024-08-09  8:50 Jakov Smolić
2024-08-09  8:50 Jakov Smolić
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 17:19 Arthur Zamarin
2024-08-08 13:16 Patrick Lauer
2024-08-08 13:16 Patrick Lauer
2024-06-28  7:03 Patrick Lauer
2024-06-06 20:27 Mike Gilbert
2024-05-23 14:11 Patrick Lauer
2024-05-17 15:06 Aaron W. Swenson
2024-05-15 12:48 Patrick Lauer
2024-05-14  3:52 Patrick Lauer
2024-05-13 12:32 Arthur Zamarin
2024-05-13 12:32 Arthur Zamarin
2024-05-13 12:32 Arthur Zamarin
2024-05-13 12:32 Arthur Zamarin
2024-05-13 12:32 Arthur Zamarin
2024-05-13 12:29 Arthur Zamarin
2024-05-13 12:29 Arthur Zamarin
2024-05-13 12:29 Arthur Zamarin
2024-05-13 12:29 Arthur Zamarin
2024-05-13 12:29 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:28 Arthur Zamarin
2024-05-13 12:27 Arthur Zamarin
2024-05-13 12:27 Arthur Zamarin
2024-05-13 12:27 Arthur Zamarin
2024-05-13 12:27 Arthur Zamarin
2024-05-13 12:27 Arthur Zamarin
2024-05-11  2:36 Sam James
2024-05-09 17:47 Patrick Lauer
2024-05-09 17:17 Patrick Lauer
2024-05-09 14:14 Patrick Lauer
2024-05-09 14:14 Patrick Lauer
2024-02-24  2:44 Ionen Wolkens
2024-02-24  2:44 Ionen Wolkens
2024-02-24  2:44 Ionen Wolkens
2024-02-24  2:44 Ionen Wolkens
2024-02-24  2:44 Ionen Wolkens
2024-02-09 18:52 Arthur Zamarin
2024-02-09 18:52 Arthur Zamarin
2024-02-09 18:52 Arthur Zamarin
2024-02-09 18:52 Arthur Zamarin
2024-02-09 18:52 Arthur Zamarin
2024-02-09  2:21 Sam James
2024-02-09  2:21 Sam James
2024-02-09  2:21 Sam James
2024-02-09  2:21 Sam James
2024-02-09  2:21 Sam James
2024-02-09  2:21 Sam James
2024-02-09  2:21 Sam James
2024-02-09  2:21 Sam James
2024-02-09  2:21 Sam James
2024-02-09  2:21 Sam James
2024-02-09  1:06 Sam James
2024-02-09  1:06 Sam James
2024-02-09  1:06 Sam James
2024-02-09  1:06 Sam James
2024-02-09  1:06 Sam James
2024-02-09  1:04 Sam James
2024-02-09  1:04 Sam James
2024-02-09  1:04 Sam James
2024-02-09  1:04 Sam James
2024-02-09  1:04 Sam James
2024-02-09  1:04 Sam James
2024-02-09  1:04 Sam James
2024-02-09  1:04 Sam James
2024-02-09  1:04 Sam James
2024-02-09  1:04 Sam James
2024-02-08 14:50 Patrick Lauer
2024-02-08 14:48 Patrick Lauer
2024-02-02 13:10 Patrick Lauer
2024-01-19  9:51 罗百科
2024-01-16  8:22 罗百科
2024-01-16  8:22 罗百科
2023-11-11  6:42 罗百科
2023-11-09 14:44 罗百科
2023-10-05  9:10 罗百科
2023-09-21  6:05 Aaron W. Swenson
2023-09-19 12:46 Aaron W. Swenson
2023-09-19 12:41 Aaron W. Swenson
2023-09-14 14:57 罗百科
2023-09-13  7:52 罗百科
2023-09-03  6:11 罗百科
2023-08-15  7:34 Sam James
2023-08-15  7:34 Sam James
2023-08-15  7:34 Sam James
2023-08-15  7:34 Sam James
2023-08-15  7:34 Sam James
2023-08-14  7:59 Arthur Zamarin
2023-08-14  7:59 Arthur Zamarin
2023-08-14  7:59 Arthur Zamarin
2023-08-14  7:59 Arthur Zamarin
2023-08-14  7:59 Arthur Zamarin
2023-08-14  7:59 Arthur Zamarin
2023-08-14  7:59 Arthur Zamarin
2023-08-14  7:59 Arthur Zamarin
2023-08-14  7:59 Arthur Zamarin
2023-08-14  7:59 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-14  7:45 Arthur Zamarin
2023-08-13  7:42 罗百科
2023-06-30 17:07 罗百科
2023-06-30 12:48 罗百科
2023-06-30 10:42 罗百科
2023-06-30 10:42 罗百科
2023-06-30 10:40 罗百科
2023-05-28  7:02 罗百科
2023-05-26  8:41 罗百科
2023-05-12 15:58 罗百科
2023-05-11 14:44 罗百科
2023-03-30 16:44 罗百科
2023-03-30 15:56 Arthur Zamarin
2023-03-30 15:56 Arthur Zamarin
2023-03-30 15:56 Arthur Zamarin
2023-03-30 15:56 Arthur Zamarin
2023-03-30 15:56 Arthur Zamarin
2023-03-30 15:56 Arthur Zamarin
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 14:11 Sam James
2023-03-27 13:52 Sam James
2023-03-27 13:52 Sam James
2023-03-27 13:52 Sam James
2023-03-27 13:52 Sam James
2023-03-27 13:52 Sam James
2023-03-27 13:52 Sam James
2023-03-27 13:26 Sam James
2023-03-27 13:26 Sam James
2023-03-27 13:26 Sam James
2023-03-27 13:26 Sam James
2023-03-27 13:26 Sam James
2023-03-27 13:26 Sam James
2023-03-27 13:26 Sam James
2023-03-27 13:26 Sam James
2023-03-27 13:26 Sam James
2023-03-27 13:26 Sam James
2023-03-27 13:26 Sam James
2023-03-27 13:26 Sam James
2023-03-18 19:48 罗百科
2023-03-18 19:48 罗百科
2023-02-09 16:24 罗百科
2022-11-29 18:06 WANG Xuerui
2022-11-11 15:38 罗百科
2022-10-13 15:34 罗百科
2022-10-08 16:52 罗百科
2022-10-06 15:24 罗百科
2022-10-01 16:57 罗百科
2022-09-09 18:14 罗百科
2022-09-08 12:25 罗百科
2022-09-07 10:13 罗百科
2022-08-16 18:57 Arthur Zamarin
2022-08-16 15:07 Sam James
2022-08-16 15:07 Sam James
2022-08-16 15:07 Sam James
2022-08-16 15:07 Sam James
2022-08-16 15:07 Sam James
2022-08-16 15:07 Sam James
2022-08-16 15:07 Sam James
2022-08-16 15:07 Sam James
2022-08-16 15:07 Sam James
2022-08-16 15:07 Sam James
2022-08-16  7:48 Agostino Sarubbo
2022-08-16  7:47 Agostino Sarubbo
2022-08-16  7:46 Agostino Sarubbo
2022-08-16  7:45 Agostino Sarubbo
2022-08-16  7:44 Agostino Sarubbo
2022-07-29  2:47 Sam James
2022-07-06  7:07 罗百科
2022-06-16 13:45 罗百科
2022-05-23  6:20 罗百科
2022-05-21  9:37 罗百科
2022-05-19 19:24 罗百科
2022-05-19 16:22 罗百科
2022-05-12 20:06 罗百科
2022-05-12 15:45 罗百科
2022-05-04  4:01 Sam James
2022-04-21  8:25 Jakov Smolić
2022-04-21  7:02 Agostino Sarubbo
2022-04-19 17:04 Arthur Zamarin
2022-04-19 16:59 Arthur Zamarin
2022-04-19 16:57 Arthur Zamarin
2022-04-19 12:10 Arthur Zamarin
2022-04-19 11:47 Arthur Zamarin
2022-04-06  6:21 罗百科
2022-03-25 18:20 Sam James
2022-03-24 22:26 Sam James
2022-03-24  7:29 罗百科
2022-03-23  0:45 Sam James
2022-02-21 15:26 罗百科
2022-02-12  9:32 罗百科
2022-01-05 10:28 David Seifert
2021-11-18 15:12 Aaron W. Swenson
2021-11-18 15:07 Aaron W. Swenson
2021-11-17  2:16 Sam James
2021-11-17  2:16 Sam James
2021-11-17  2:16 Sam James
2021-11-17  2:16 Sam James
2021-11-17  2:16 Sam James
2021-11-15  6:00 Sam James
2021-11-15  6:00 Sam James
2021-11-15  6:00 Sam James
2021-11-15  6:00 Sam James
2021-11-15  6:00 Sam James
2021-11-14  9:20 Sam James
2021-11-14  9:20 Sam James
2021-11-14  9:20 Sam James
2021-11-14  9:20 Sam James
2021-11-14  9:20 Sam James
2021-11-13 11:34 Sam James
2021-11-13 11:34 Sam James
2021-11-13 11:34 Sam James
2021-11-13 11:34 Sam James
2021-11-13 11:34 Sam James
2021-11-13 11:34 Sam James
2021-11-13 11:34 Sam James
2021-11-13 11:34 Sam James
2021-11-13 11:34 Sam James
2021-11-13 11:34 Sam James
2021-11-12  9:52 Jakov Smolić
2021-11-12  9:52 Jakov Smolić
2021-11-12  9:52 Jakov Smolić
2021-11-12  9:52 Jakov Smolić
2021-11-12  9:52 Jakov Smolić
2021-11-12  9:17 Jakov Smolić
2021-11-12  9:17 Jakov Smolić
2021-11-12  9:17 Jakov Smolić
2021-11-12  9:17 Jakov Smolić
2021-11-12  9:17 Jakov Smolić
2021-11-12  8:00 Arthur Zamarin
2021-11-12  8:00 Arthur Zamarin
2021-11-12  8:00 Arthur Zamarin
2021-11-12  8:00 Arthur Zamarin
2021-11-12  8:00 Arthur Zamarin
2021-11-11 18:39 Aaron W. Swenson
2021-11-11 18:05 Aaron W. Swenson
2021-09-30 15:27 罗百科
2021-09-23 22:47 Sam James
2021-08-13 16:06 罗百科
2021-07-30  3:21 Sam James
2021-07-30  3:21 Sam James
2021-07-25  0:59 Sam James
2021-07-11 22:02 Marek Szuba
2021-07-07  0:41 Aaron W. Swenson
2021-07-06  0:47 Aaron W. Swenson
2021-07-04  6:04 罗百科
2021-06-25 16:28 罗百科
2021-06-21 19:05 Sam James
2021-06-21 19:05 Sam James
2021-06-21 19:05 Sam James
2021-06-21 19:05 Sam James
2021-06-21 19:05 Sam James
2021-06-21  7:19 Sam James
2021-06-21  7:19 Sam James
2021-06-21  7:19 Sam James
2021-06-21  7:19 Sam James
2021-06-21  7:19 Sam James
2021-06-20 15:51 Sergei Trofimovich
2021-06-20 15:51 Sergei Trofimovich
2021-06-20 15:51 Sergei Trofimovich
2021-06-20 15:51 Sergei Trofimovich
2021-06-20 15:51 Sergei Trofimovich
2021-06-20  7:52 Agostino Sarubbo
2021-06-19 23:54 Sam James
2021-06-19 23:54 Sam James
2021-06-19 23:54 Sam James
2021-06-19 23:54 Sam James
2021-06-19 23:54 Sam James
2021-06-19 23:54 Sam James
2021-06-19 23:54 Sam James
2021-06-19 23:54 Sam James
2021-06-19 23:54 Sam James
2021-06-19 23:54 Sam James
2021-06-19 23:51 Sam James
2021-06-19 23:51 Sam James
2021-06-19 23:51 Sam James
2021-06-19 23:51 Sam James
2021-06-19 23:51 Sam James
2021-06-19 23:51 Sam James
2021-06-19 23:51 Sam James
2021-06-19 23:51 Sam James
2021-06-19 23:51 Sam James
2021-06-19 23:51 Sam James
2021-06-03 19:15 Sam James
2021-05-20 19:57 罗百科
2021-05-17 17:43 罗百科
2021-04-30 13:50 Mikle Kolyada
2021-03-23 15:30 罗百科
2021-02-25 14:25 Aaron W. Swenson
2021-02-25  1:07 Sam James
2021-02-25  1:07 Sam James
2021-02-25  1:07 Sam James
2021-02-25  1:07 Sam James
2021-02-25  1:07 Sam James
2021-02-25  1:07 Sam James
2021-02-24 23:52 Sam James
2021-02-24 23:52 Sam James
2021-02-24 23:52 Sam James
2021-02-24 23:52 Sam James
2021-02-24 23:52 Sam James
2021-02-24 23:52 Sam James
2021-02-24 23:43 Sam James
2021-02-24 23:43 Sam James
2021-02-24 23:43 Sam James
2021-02-24 23:43 Sam James
2021-02-24 23:43 Sam James
2021-02-24 23:43 Sam James
2021-02-24 20:35 Sam James
2021-02-24 20:35 Sam James
2021-02-24 20:35 Sam James
2021-02-24 20:35 Sam James
2021-02-24 20:35 Sam James
2021-02-24 20:35 Sam James
2021-02-24 20:25 Sam James
2021-02-24 20:25 Sam James
2021-02-24 20:25 Sam James
2021-02-24 20:25 Sam James
2021-02-24 20:25 Sam James
2021-02-24 20:25 Sam James
2021-02-24 20:24 Sam James
2021-02-24 20:24 Sam James
2021-02-24 20:24 Sam James
2021-02-24 20:24 Sam James
2021-02-24 20:24 Sam James
2021-02-24 20:24 Sam James
2021-02-23 18:13 Sergei Trofimovich
2021-02-23 18:13 Sergei Trofimovich
2021-02-23 18:13 Sergei Trofimovich
2021-02-23 18:13 Sergei Trofimovich
2021-02-23 18:13 Sergei Trofimovich
2021-02-23 18:13 Sergei Trofimovich
2021-01-06 18:43 Fabian Groffen
2021-01-03 19:40 Sam James
2021-01-03 19:40 Sam James
2020-12-31 11:22 Sergei Trofimovich
2020-12-31  1:20 Sam James
2020-12-02 19:11 Sam James
2020-11-20 17:47 Sam James
2020-11-20 16:49 Aaron W. Swenson
2020-09-26 16:26 罗百科
2020-09-24 13:28 罗百科
2020-09-22  6:57 罗百科
2020-09-11 11:08 Aaron W. Swenson
2020-09-07  8:20 Sergei Trofimovich
2020-09-07  8:20 Sergei Trofimovich
2020-09-07  8:20 Sergei Trofimovich
2020-09-07  8:20 Sergei Trofimovich
2020-09-07  8:20 Sergei Trofimovich
2020-09-04 14:10 Sam James
2020-08-16 10:32 Sergei Trofimovich
2020-08-15 19:07 Sergei Trofimovich
2020-08-15 19:07 Sergei Trofimovich
2020-08-15  9:16 Sergei Trofimovich
2020-08-15  9:16 Sergei Trofimovich
2020-08-15  7:31 Sergei Trofimovich
2020-08-15  7:31 Sergei Trofimovich
2020-08-15  7:31 Sergei Trofimovich
2020-08-15  7:31 Sergei Trofimovich
2020-08-15  7:31 Sergei Trofimovich
2020-08-15  3:30 Sam James
2020-08-15  3:30 Sam James
2020-08-15  3:30 Sam James
2020-08-15  3:30 Sam James
2020-08-15  3:30 Sam James
2020-08-15  3:06 Sam James
2020-08-15  3:06 Sam James
2020-08-15  3:06 Sam James
2020-08-15  3:06 Sam James
2020-08-15  3:06 Sam James
2020-08-15  2:06 Sam James
2020-08-15  2:06 Sam James
2020-08-15  2:06 Sam James
2020-08-15  2:06 Sam James
2020-08-15  2:06 Sam James
2020-08-15  2:06 Sam James
2020-08-15  2:06 Sam James
2020-08-15  2:06 Sam James
2020-08-15  2:06 Sam James
2020-08-15  2:06 Sam James
2020-07-07  5:48 罗百科
2020-07-03 23:22 Aaron Bauman
2020-05-21 15:09 罗百科
2020-05-15 13:09 Aaron W. Swenson
2020-05-13 11:37 Aaron W. Swenson
2020-05-05 21:04 Sergei Trofimovich
2020-05-05 21:04 Sergei Trofimovich
2020-04-30 14:38 Agostino Sarubbo
2020-04-30 14:37 Agostino Sarubbo
2020-04-29  8:54 Mart Raudsepp
2020-04-28  9:42 Agostino Sarubbo
2020-04-28  9:41 Agostino Sarubbo
2020-04-28  9:40 Agostino Sarubbo
2020-04-28  9:39 Agostino Sarubbo
2020-03-18  9:16 Mart Raudsepp
2020-03-05 15:06 Agostino Sarubbo
2020-02-28 20:40 Sergei Trofimovich
2020-02-28 20:40 Sergei Trofimovich
2020-02-28 20:40 Sergei Trofimovich
2020-02-27  7:28 Sergei Trofimovich
2020-02-24 14:19 Agostino Sarubbo
2020-02-24 12:59 Agostino Sarubbo
2020-02-24 12:55 Agostino Sarubbo
2020-02-24 12:54 Agostino Sarubbo
2020-02-24 10:20 Agostino Sarubbo
2020-02-23 12:15 Mikle Kolyada
2020-02-19 12:49 Aaron W. Swenson
2020-02-10 11:54 Michał Górny
2019-12-28 15:49 Mikle Kolyada
2019-12-27  0:56 Aaron Bauman
2019-12-22 11:03 Sergei Trofimovich
2019-12-22 11:03 Sergei Trofimovich
2019-12-21 11:00 Mikle Kolyada
2019-12-21 10:28 Sergei Trofimovich
2019-12-21 10:28 Sergei Trofimovich
2019-12-19 18:35 Sergei Trofimovich
2019-12-19 18:35 Sergei Trofimovich
2019-12-16  7:54 Agostino Sarubbo
2019-12-16  7:54 Agostino Sarubbo
2019-12-16  7:53 Agostino Sarubbo
2019-12-16  7:52 Agostino Sarubbo
2019-12-16  7:49 Agostino Sarubbo
2019-12-16  7:46 Agostino Sarubbo
2019-10-12 18:21 Mikle Kolyada
2019-10-03 15:46 罗百科
2019-09-27  9:25 罗百科
2019-09-25 17:38 Michał Górny
2019-09-19 19:10 罗百科
2019-08-08 19:19 罗百科
2019-07-29 10:31 Aaron W. Swenson
2019-07-28 20:13 Mikle Kolyada
2019-07-28 11:27 Mikle Kolyada
2019-07-28 11:27 Mikle Kolyada
2019-07-28 11:27 Mikle Kolyada
2019-07-26 10:43 Agostino Sarubbo
2019-07-26  9:53 Agostino Sarubbo
2019-07-25 18:31 Sergei Trofimovich
2019-07-25 18:31 Sergei Trofimovich
2019-07-25 18:31 Sergei Trofimovich
2019-07-25 13:06 Agostino Sarubbo
2019-07-24 20:49 Thomas Deutschmann
2019-07-22 16:10 Aaron Bauman
2019-06-27 13:29 Agostino Sarubbo
2019-06-26  6:50 Agostino Sarubbo
2019-06-23 12:23 Mikle Kolyada
2019-06-23 10:29 Sergei Trofimovich
2019-06-23 10:29 Sergei Trofimovich
2019-06-22  9:38 Sergei Trofimovich
2019-06-22  9:38 Sergei Trofimovich
2019-06-22  9:32 Sergei Trofimovich
2019-06-22  8:26 Sergei Trofimovich
2019-06-22  8:26 Sergei Trofimovich
2019-06-20 14:33 罗百科
2019-06-15 20:13 Aaron Bauman
2019-06-15 11:05 Aaron W. Swenson
2019-06-06  6:46 Agostino Sarubbo
2019-06-05  9:12 Agostino Sarubbo
2019-05-25 10:58 Aaron W. Swenson
2019-05-23 14:48 Patrick Lauer
2019-05-18 17:36 Sergei Trofimovich
2019-05-18 17:36 Sergei Trofimovich
2019-05-18 17:36 Sergei Trofimovich
2019-05-18 17:36 Sergei Trofimovich
2019-05-18 17:36 Sergei Trofimovich
2019-05-16 23:56 Thomas Deutschmann
2019-05-15 22:56 Sergei Trofimovich
2019-05-15 22:56 Sergei Trofimovich
2019-05-15 22:56 Sergei Trofimovich
2019-05-15 22:56 Sergei Trofimovich
2019-05-15 22:56 Sergei Trofimovich
2019-05-15 14:56 Mikle Kolyada
2019-05-09 14:21 Patrick Lauer
2019-04-23  0:13 Aaron Bauman
2019-04-02 12:22 Mikle Kolyada
2019-04-01 19:58 Thomas Deutschmann
2019-03-25 12:50 Mikle Kolyada
2019-03-24 20:25 Sergei Trofimovich
2019-03-24 20:25 Sergei Trofimovich
2019-03-24 20:25 Sergei Trofimovich
2019-03-24 20:25 Sergei Trofimovich
2019-03-24 20:25 Sergei Trofimovich
2019-03-24 20:12 Sergei Trofimovich
2019-03-23  9:58 Sergei Trofimovich
2019-03-23  9:58 Sergei Trofimovich
2019-03-23  9:58 Sergei Trofimovich
2019-03-23  9:58 Sergei Trofimovich
2019-03-23  9:58 Sergei Trofimovich
2019-03-20 11:14 Mikle Kolyada
2019-03-19 21:34 Sergei Trofimovich
2019-03-19 21:34 Sergei Trofimovich
2019-03-19 21:34 Sergei Trofimovich
2019-03-18 22:45 Sergei Trofimovich
2019-03-18 22:45 Sergei Trofimovich
2019-03-05 21:18 Sergei Trofimovich
2019-02-16 12:08 Aaron W. Swenson
2019-02-15 18:39 Patrick Lauer
2019-02-09 19:35 Sergei Trofimovich
2019-02-07 16:53 Mikle Kolyada
2019-01-31 14:23 Tobias Klausmann
2019-01-29 11:59 Mikle Kolyada
2019-01-24 22:22 Thomas Deutschmann
2019-01-17 18:10 Mikle Kolyada
2019-01-17  8:29 Sergei Trofimovich
2019-01-17  8:08 Sergei Trofimovich
2019-01-17  7:23 Sergei Trofimovich
2019-01-10 12:54 Jeroen Roovers
2018-12-30 18:34 Mikle Kolyada
2018-12-27 12:47 Fabian Groffen
2018-11-30 15:29 Aaron W. Swenson
2018-11-28 23:11 Sergei Trofimovich
2018-11-28 23:11 Sergei Trofimovich
2018-11-28 23:11 Sergei Trofimovich
2018-11-28 23:11 Sergei Trofimovich
2018-11-28 23:11 Sergei Trofimovich
2018-11-28 16:10 Tobias Klausmann
2018-11-28 16:09 Tobias Klausmann
2018-11-28 16:07 Tobias Klausmann
2018-11-28 16:06 Tobias Klausmann
2018-11-28 16:05 Tobias Klausmann
2018-11-18 16:01 Sergei Trofimovich
2018-11-18 16:01 Sergei Trofimovich
2018-11-18 16:01 Sergei Trofimovich
2018-11-18 16:01 Sergei Trofimovich
2018-11-18 16:01 Sergei Trofimovich
2018-11-18 10:52 Sergei Trofimovich
2018-11-18 10:52 Sergei Trofimovich
2018-11-18 10:52 Sergei Trofimovich
2018-11-18 10:52 Sergei Trofimovich
2018-11-18 10:52 Sergei Trofimovich
2018-11-17 15:06 Mikle Kolyada
2018-11-12  1:14 Thomas Deutschmann
2018-11-10 15:31 Sergei Trofimovich
2018-11-10 15:31 Sergei Trofimovich
2018-11-10 15:31 Sergei Trofimovich
2018-11-10 15:31 Sergei Trofimovich
2018-11-10 15:31 Sergei Trofimovich
2018-11-09 13:46 Agostino Sarubbo
2018-11-09 12:07 Aaron Swenson
2018-11-09 11:58 Aaron Swenson
2018-10-19 22:29 Aaron Swenson
2018-10-19 22:05 Aaron Swenson
2018-10-19 22:03 Aaron Swenson
2018-09-21 20:00 Thomas Deutschmann
2018-09-21 19:46 Patrick Lauer
2018-09-21 16:28 Aaron Swenson
2018-09-19 17:41 Markus Meier
2018-09-19 17:41 Markus Meier
2018-09-19 17:41 Markus Meier
2018-09-19 17:41 Markus Meier
2018-09-19 17:41 Markus Meier
2018-09-14 10:20 Tobias Klausmann
2018-09-14 10:19 Tobias Klausmann
2018-09-14 10:18 Tobias Klausmann
2018-09-14 10:18 Tobias Klausmann
2018-09-01 23:18 Sergei Trofimovich
2018-09-01 23:18 Sergei Trofimovich
2018-09-01 23:18 Sergei Trofimovich
2018-09-01 23:18 Sergei Trofimovich
2018-09-01 23:18 Sergei Trofimovich
2018-08-25 18:55 Sergei Trofimovich
2018-08-25 18:55 Sergei Trofimovich
2018-08-25 18:55 Sergei Trofimovich
2018-08-25 18:55 Sergei Trofimovich
2018-08-25 18:55 Sergei Trofimovich
2018-08-25 18:25 Sergei Trofimovich
2018-08-25 18:25 Sergei Trofimovich
2018-08-25 18:25 Sergei Trofimovich
2018-08-25 18:25 Sergei Trofimovich
2018-08-25 18:25 Sergei Trofimovich
2018-08-24 21:48 Sergei Trofimovich
2018-08-24 21:48 Sergei Trofimovich
2018-08-24 21:48 Sergei Trofimovich
2018-08-24 21:48 Sergei Trofimovich
2018-08-24 21:48 Sergei Trofimovich
2018-08-24  2:07 Mikle Kolyada
2018-08-24  1:40 Thomas Deutschmann
2018-08-11 11:39 Aaron Swenson
2018-08-09 19:43 Patrick Lauer
2018-08-09 18:12 Patrick Lauer
2018-07-15 17:59 Patrick Lauer
2018-06-26 10:12 Aaron Swenson
2018-06-07 19:22 Aaron Bauman
2018-05-19 18:15 Sergei Trofimovich
2018-05-19 18:15 Sergei Trofimovich
2018-05-19 18:15 Sergei Trofimovich
2018-05-19 18:15 Sergei Trofimovich
2018-05-19 18:15 Sergei Trofimovich
2018-05-13 16:03 Aaron Swenson
2018-05-10 21:56 Patrick Lauer
2018-03-22 18:06 Tobias Klausmann
2018-03-17 21:08 Matt Turner
2018-03-17 21:08 Matt Turner
2018-03-17 21:08 Matt Turner
2018-03-17 21:08 Matt Turner
2018-03-17 21:08 Matt Turner
2018-03-17 21:08 Matt Turner
2018-03-17 21:08 Matt Turner
2018-03-17 21:08 Matt Turner
2018-03-17 21:08 Matt Turner
2018-03-17 21:08 Matt Turner
2018-03-13 18:01 Markus Meier
2018-03-13 18:01 Markus Meier
2018-03-13 18:01 Markus Meier
2018-03-13 18:01 Markus Meier
2018-03-13 18:01 Markus Meier
2018-03-06 12:36 Tobias Klausmann
2018-03-06 12:36 Tobias Klausmann
2018-03-06 12:32 Tobias Klausmann
2018-03-06 12:31 Tobias Klausmann
2018-03-06 12:30 Tobias Klausmann
2018-03-05 18:42 Tobias Klausmann
2018-03-05 18:41 Tobias Klausmann
2018-03-05 18:40 Tobias Klausmann
2018-03-05 17:13 Tobias Klausmann
2018-03-04  6:51 Thomas Deutschmann
2018-03-02 23:21 Sergei Trofimovich
2018-03-02 23:21 Sergei Trofimovich
2018-03-02 23:21 Sergei Trofimovich
2018-03-02 23:21 Sergei Trofimovich
2018-03-02 23:21 Sergei Trofimovich
2018-03-02 15:35 Agostino Sarubbo
2018-03-01 22:47 Aaron Swenson
2018-02-16 21:59 Sergei Trofimovich
2018-02-16 21:59 Sergei Trofimovich
2018-02-16 21:59 Sergei Trofimovich
2018-02-16 21:59 Sergei Trofimovich
2018-02-16 21:59 Sergei Trofimovich
2018-02-11 19:13 Thomas Deutschmann
2018-02-11 18:37 Agostino Sarubbo
2018-02-11 12:15 Jeroen Roovers
2018-02-10 19:47 Aaron Swenson
2018-02-09 21:16 Patrick Lauer
2018-01-29  8:22 Tobias Klausmann
2018-01-23  5:58 Markus Meier
2018-01-06 16:22 Ulrich Müller
2017-12-29 17:41 Sergei Trofimovich
2017-12-29 17:41 Sergei Trofimovich
2017-12-29 17:41 Sergei Trofimovich
2017-12-29 17:41 Sergei Trofimovich
2017-12-29 17:41 Sergei Trofimovich
2017-12-29 17:41 Sergei Trofimovich
2017-12-27 11:08 Sergei Trofimovich
2017-12-26 23:05 Mikle Kolyada
2017-12-25 23:52 Sergei Trofimovich
2017-12-12 16:35 Thomas Deutschmann
2017-12-06 22:44 Sergei Trofimovich
2017-12-06 22:44 Sergei Trofimovich
2017-12-06 22:44 Sergei Trofimovich
2017-12-06 22:44 Sergei Trofimovich
2017-12-06 22:44 Sergei Trofimovich
2017-11-19 15:19 Markus Meier
2017-11-19 15:19 Markus Meier
2017-11-19 15:19 Markus Meier
2017-11-19 15:19 Markus Meier
2017-11-19 15:19 Markus Meier
2017-11-17 11:21 Tobias Klausmann
2017-11-17 11:20 Tobias Klausmann
2017-11-17 11:19 Tobias Klausmann
2017-11-17 11:18 Tobias Klausmann
2017-11-17 11:18 Tobias Klausmann
2017-11-12 23:11 Agostino Sarubbo
2017-11-11 18:00 Thomas Deutschmann
2017-11-11 12:54 Sergei Trofimovich
2017-11-11 12:54 Sergei Trofimovich
2017-11-11 12:54 Sergei Trofimovich
2017-11-11 12:54 Sergei Trofimovich
2017-11-11 12:54 Sergei Trofimovich
2017-11-09 16:30 Aaron Swenson
2017-10-08 14:31 Aaron Swenson
2017-10-05 14:04 Aaron Swenson
2017-10-05 13:52 Aaron Swenson
2017-10-05 13:50 Aaron Swenson
2017-10-03 19:45 Sergei Trofimovich
2017-10-03 19:45 Sergei Trofimovich
2017-10-03 19:45 Sergei Trofimovich
2017-10-03 19:45 Sergei Trofimovich
2017-10-03 19:45 Sergei Trofimovich
2017-09-30  3:47 Michael Palimaka
2017-09-21 17:39 Aaron Swenson
2017-09-04  7:42 Tobias Klausmann
2017-09-04  7:41 Tobias Klausmann
2017-09-04  7:41 Tobias Klausmann
2017-09-04  7:40 Tobias Klausmann
2017-09-04  7:30 Tobias Klausmann
2017-09-02  0:15 Aaron Swenson
2017-08-23  4:59 Markus Meier
2017-08-23  4:59 Markus Meier
2017-08-23  4:59 Markus Meier
2017-08-23  4:59 Markus Meier
2017-08-23  4:59 Markus Meier
2017-08-18 21:55 Sergei Trofimovich
2017-08-18 21:55 Sergei Trofimovich
2017-08-18 21:55 Sergei Trofimovich
2017-08-18 21:55 Sergei Trofimovich
2017-08-18 21:55 Sergei Trofimovich
2017-08-11 22:09 Sergei Trofimovich
2017-08-11 22:09 Sergei Trofimovich
2017-08-11 22:09 Sergei Trofimovich
2017-08-11 22:09 Sergei Trofimovich
2017-08-11 22:09 Sergei Trofimovich
2017-07-28  4:42 Markus Meier
2017-07-15 16:42 Tobias Klausmann
2017-07-14 12:24 Aaron Swenson
2017-07-13 19:13 Aaron Swenson
2017-07-13 19:07 Aaron Swenson
2017-07-10 22:06 Sergei Trofimovich
2017-06-01  4:43 Markus Meier
2017-06-01  4:43 Markus Meier
2017-06-01  4:43 Markus Meier
2017-06-01  4:43 Markus Meier
2017-05-30 12:29 Aaron Swenson
2017-05-22 16:12 Tobias Klausmann
2017-05-22 16:11 Tobias Klausmann
2017-05-22 16:10 Tobias Klausmann
2017-05-22  9:37 Michael Weber
2017-05-20  9:34 Agostino Sarubbo
2017-05-20  8:49 Agostino Sarubbo
2017-05-11 20:13 Patrick Lauer
2017-04-03 20:57 Austin English
2017-03-10 22:17 Zac Medico
2017-02-09 14:35 Aaron Swenson
2017-01-12 13:35 Aaron Swenson
2017-01-12  9:30 Jeroen Roovers
2016-12-20  9:44 Agostino Sarubbo
2016-12-19 14:35 Agostino Sarubbo
2016-12-17 15:41 Markus Meier
2016-12-17 15:40 Markus Meier
2016-12-17 15:39 Markus Meier
2016-12-17 15:38 Markus Meier
2016-12-17 15:37 Markus Meier
2016-12-13 11:30 Agostino Sarubbo
2016-12-13 11:05 Agostino Sarubbo
2016-12-12 15:57 Tobias Klausmann
2016-12-12 15:56 Tobias Klausmann
2016-12-12 15:56 Tobias Klausmann
2016-12-12 15:55 Tobias Klausmann
2016-10-28  9:33 Patrick Lauer
2016-10-07 17:20 Aaron Swenson
2016-09-29 21:47 Andreas Hüttel
2016-09-29 14:43 Patrick Lauer
2016-09-07 18:27 Patrick Lauer
2016-09-02 20:07 Tobias Klausmann
2016-09-02 19:55 Tobias Klausmann
2016-09-02 19:15 Tobias Klausmann
2016-08-18 19:38 Markus Meier
2016-08-18 19:37 Markus Meier
2016-08-18 19:36 Markus Meier
2016-08-18 19:34 Markus Meier
2016-08-18 19:33 Markus Meier
2016-08-18 14:53 Agostino Sarubbo
2016-08-14  9:24 Jeroen Roovers
2016-08-11 18:09 Aaron Swenson
2016-07-24  6:34 Patrick Lauer
2016-07-08 13:28 Agostino Sarubbo
2016-07-08  8:42 Agostino Sarubbo
2016-07-08  8:17 Agostino Sarubbo
2016-06-25 11:04 Patrick Lauer
2016-05-20 15:11 Tobias Klausmann
2016-05-20 15:09 Tobias Klausmann
2016-05-20 14:39 Tobias Klausmann
2016-05-20 14:37 Tobias Klausmann
2016-05-18 20:29 Aaron Swenson
2016-05-17 20:15 Aaron Swenson
2016-05-13 13:18 Patrick Lauer
2016-05-13 13:18 Patrick Lauer
2016-04-19 15:42 Markus Meier
2016-04-19 15:41 Markus Meier
2016-04-19 15:40 Markus Meier
2016-04-19 15:39 Markus Meier
2016-04-19 15:38 Markus Meier
2016-04-04  4:44 Jeroen Roovers
2016-04-04  2:51 Jeroen Roovers
2016-03-31 14:59 Agostino Sarubbo
2016-03-31 14:58 Agostino Sarubbo
2016-03-31 14:03 Aaron Swenson
2016-03-20 12:24 Agostino Sarubbo
2016-03-19 12:28 Agostino Sarubbo
2016-03-16 14:09 Agostino Sarubbo
2016-03-15 20:55 Tobias Klausmann
2016-03-15 20:53 Tobias Klausmann
2016-03-15 20:52 Tobias Klausmann
2016-03-15 20:50 Tobias Klausmann
2016-02-28  7:08 Matt Thode
2016-02-20 14:30 Markus Meier
2016-02-20 14:29 Markus Meier
2016-02-20 14:28 Markus Meier
2016-02-20 14:27 Markus Meier
2016-02-20 14:21 Markus Meier
2016-02-15  5:00 Jeroen Roovers
2016-02-14 18:35 Patrick Lauer
2016-02-14 13:31 Jeroen Roovers
2016-02-12  9:45 Agostino Sarubbo
2016-02-12  9:44 Agostino Sarubbo
2016-02-11 17:21 Aaron Swenson
2016-02-11 17:19 Aaron Swenson
2016-02-05 19:06 Markus Meier
2016-02-05 19:05 Markus Meier
2016-02-03 15:59 Tobias Klausmann
2016-02-03 15:58 Tobias Klausmann
2016-01-24  8:16 Jeroen Roovers
2016-01-23 17:34 Agostino Sarubbo
2016-01-07 15:16 Patrick Lauer
2015-12-18 15:25 Aaron Swenson
2015-12-18 15:23 Aaron Swenson
2015-12-15 21:40 Aaron Swenson
2015-11-12 19:41 Aaron Swenson
2015-10-13 13:28 Aaron Swenson
2015-10-12 10:21 Agostino Sarubbo
2015-10-12  8:15 Agostino Sarubbo
2015-10-11 12:20 Mikle Kolyada
2015-10-11  9:38 Agostino Sarubbo
2015-10-10 16:18 Agostino Sarubbo
2015-10-10  3:13 Jeroen Roovers
2015-10-09  7:13 Agostino Sarubbo
2015-10-09  7:12 Agostino Sarubbo
2015-10-09  5:29 Jeroen Roovers
2015-10-08 20:34 Aaron Swenson
2015-10-08 20:34 Aaron Swenson
2015-10-08 20:34 Aaron Swenson
2015-10-04 20:47 Julian Ospald
2015-10-03 12:17 Michał Górny
2015-09-07 18:05 Tobias Klausmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1559557501.edcac752028d3a882dbc2f64e37e1e95dff21276.titanofold@gentoo \
    --to=titanofold@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox