commit:     5771e902827b33279d91fa8855412bfeb10d4869
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Fri May 15 13:01:50 2020 +0000
Commit:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Fri May 15 13:07:51 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5771e902

dev-db/postgresql: Version Bumps and more

Bump versions to: 12.3, 11.8, 10.13, 9.6.18, 9.5.22

The 9.4 series is now EOL, and will be masked for removal.

Additionally:
 - Dropped L10N since it doesn't actually do anything
 - Removed the underscore in a use flag to comply with policy:
   pg_legacytimestamp is now pg-legacytimestamp
 - Removed outdated and nonexistent blockers
 - Added "server" use flag to help clean up some harmless notices in gentoo-ci
 - Migrated from user.eclass to GLEP 81

Closes: https://bugs.gentoo.org/723082
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Aaron W. Swenson <titanofold <AT> gentoo.org>

 dev-db/postgresql/Manifest                         |   5 +
 dev-db/postgresql/metadata.xml                     |   2 +-
 ...resql-9.6.17.ebuild => postgresql-10.13.ebuild} |  98 ++++++----------
 ...gresql-9.6.17.ebuild => postgresql-11.8.ebuild} | 122 ++++++++------------
 ...gresql-9.6.17.ebuild => postgresql-12.3.ebuild} | 124 ++++++++-------------
 dev-db/postgresql/postgresql-9.4.26.ebuild         |   4 +-
 dev-db/postgresql/postgresql-9.5.21.ebuild         |   4 +-
 ...esql-9.5.21.ebuild => postgresql-9.5.22.ebuild} |  23 ++--
 dev-db/postgresql/postgresql-9.6.17.ebuild         |   4 +-
 ...esql-9.6.17.ebuild => postgresql-9.6.18.ebuild} |  23 ++--
 dev-db/postgresql/postgresql-9999.ebuild           |  52 +++------
 11 files changed, 166 insertions(+), 295 deletions(-)

diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest
index c9a978cfe57..5ff74d98e19 100644
--- a/dev-db/postgresql/Manifest
+++ b/dev-db/postgresql/Manifest
@@ -1,6 +1,11 @@
 DIST postgresql-10.12.tar.bz2 19020488 BLAKE2B 
2177e9b63e21a634e1d8ea060b5bd0a7360d81ece64f50dd614e6cdd6b0cf0dcbd3896ef2c11bd1431ce7a964ac8876d24f368d7f7eb309e3d432856d7546f2a
 SHA512 
6accc66cbbae811509095c33e8a8d17ddd11d9e307267312e3d09df90469db4700a5806166d66f25d77769d3ef88653c98dfc7d05dd053f10434b03e0a9e33b7
+DIST postgresql-10.13.tar.bz2 19028339 BLAKE2B 
8adb1be902863778ca6a0396f1bc3ffa3e69b9e27bd830523472f4895e225831ba98716c07dc3f8dcab68623d434fc3d2d7b71f753f4105c69ecb05365c94789
 SHA512 
7b268aa4476ed9b168814891e8b19d182683ab4994d4a9b30e75eec93ffd9c860f8a0979ba1b7408acf8e217437b5cc20037b6ebf6ef01e9cf5ee99f091c8c92
 DIST postgresql-11.7.tar.bz2 19890063 BLAKE2B 
461c372567ff0b4ff4da52889be5d2822b56889e4890b33c9a71f1105ad629b4f5bec95c4fbf5aebbdd4445e0ff451a7d8df04ae7b5bf7cf0075c3226a41b19b
 SHA512 
32c7ace228f9895241ce0d925fbfc60c0cd39f4cd35368fb10dc7db046151ffd59a9895b4c30a529627f0103051e84b4992ed60312cccd292489f3037076ca1e
+DIST postgresql-11.8.tar.bz2 19922770 BLAKE2B 
a646b585bbafc95957fa60c7d119c02b69b727759d2189588508f8a690dc97a0ed1429a3379bc6fd48fb22ee92f3d811dedbf8aa43271361f9b7ac2c8d42a31b
 SHA512 
fc3d0ebd224de60bda3fa71b6832958698238e9088cf46a80c376b8996cc3b2d017fde5dce1c1da1e5e6e23b78054aafad7ee1caa744bfb12c52317ccc8a1922
 DIST postgresql-12.2.tar.bz2 20363545 BLAKE2B 
7b0cfe841d46b117ff5dd793be5537e916f92255eb0d000681ed62c497eef34c5d1261126be408f2b7f95274485e2787869cd4063461ab248b650c168b62548d
 SHA512 
0e0ce8e21856e8f43e58b840c10c4e3ffae6d5207e0d778e9176e36f8e20e34633cbb06f0030a7c963c3491bb7e941456d91b55444c561cfc6f283fba76f33ee
+DIST postgresql-12.3.tar.bz2 20439892 BLAKE2B 
f7a44725f235c55a2849acd444de3a9c932314e2ae8c68d7f8e827439263b052bdf0fd5b6cdaa8197c4ce9ad1d4fbb02b5ec1af030365363993a36d8d95a4231
 SHA512 
68e2d244ae2a9f2138d7569bcadc1cf6f62a410fa56ad1d4ac53206f2adefabb5ae136110b41ca9246df0f8b8cb039918997e0f8a81fc7e6efb7ad10b3a59ba1
 DIST postgresql-9.4.26.tar.bz2 16871195 BLAKE2B 
f26fd335293669a815a51ceb994b66e154c66f96f91e4c68d7df3490ad25f4b0366ebf7bfe2b209ff34965ea27a08562ace050f40d49cec94eb576d7a1becd1c
 SHA512 
7d379d139c7b2bdac1df38743cbb46a1790a8d5174e8cf1141b7b4febcbc8f612e347bf4d355684eef24dfc73bb2796f85fc532908f26ba7195c685f198cbb72
 DIST postgresql-9.5.21.tar.bz2 17640928 BLAKE2B 
8ffcf0befc331317a32d63d3cdfe44f7743f72f18b4bc46bee5ee80f8c489b4b1ef26abc8219f277acc922657fc21e3dc31f3fc9838621f44d95cc9405fca43b
 SHA512 
8527356ee3b4f151c832aef50a8b96e923e0a6c77e5fe6ad597f50527f9d084a8feab7bede8fdbe29aab44383577d3f86e5286fb34e2d2b696cde34bd922e69d
+DIST postgresql-9.5.22.tar.bz2 17667386 BLAKE2B 
6fe8ccf638af466e57f239c9d7f1a19bb6c33f6019955824f54f2fe63870675d841811318fb28707cc85ab8a9db550e6655773db0d89d801e26459c9d0d01a43
 SHA512 
489321fa49e17308d3a78353edf73a16295c1377ad429a94636df069d2bf55f538ba6570e3d2991dd28bcca45fee77c6c41fa9bade35ea7f9e581abff4c9a401
 DIST postgresql-9.6.17.tar.bz2 18812282 BLAKE2B 
0bb48445201aae1d6b4f5a77652aefaaa629799a019c3b81a14e554a88167530002931c2b0d658731b26a38bd09487f79a6ef514b0955982d6037b383c021819
 SHA512 
a76f328523517f664e4fc59a4d27e476bc6300e49370712030caae40aa160acb1e6aecc7cd3b3440125713069932df812eb8d75377a3df63e59c9292419c2aa8
+DIST postgresql-9.6.18.tar.bz2 18836490 BLAKE2B 
43f2d8a14e4fcad72af1f2e2814546368f7c2c0bb3c9957527e96df0ae6984d6b05008619855cf74fefeab0f35b13de4f0a437f79fa13c6e3a4ca2c8bc272aab
 SHA512 
78aad7042d22be4486511a9f3b5df2578b65a911b9e969e6196c945d84b9d9a79b40c01a8bdd3859cc67cd9a5d023cca5d83c1360cb14a9bb076ff3b5c1fff70

diff --git a/dev-db/postgresql/metadata.xml b/dev-db/postgresql/metadata.xml
index e263f5e30d7..02d49bed254 100644
--- a/dev-db/postgresql/metadata.xml
+++ b/dev-db/postgresql/metadata.xml
@@ -9,7 +9,7 @@
                <flag name="llvm">
                        Add support for llvm JIT engine
                </flag>
-               <flag name="pg_legacytimestamp">
+               <flag name="pg-legacytimestamp">
                        Use double precision floating-point numbers instead of
                        64-bit integers for timestamp storage.
                </flag>

diff --git a/dev-db/postgresql/postgresql-9.6.17.ebuild 
b/dev-db/postgresql/postgresql-10.13.ebuild
similarity index 82%
copy from dev-db/postgresql/postgresql-9.6.17.ebuild
copy to dev-db/postgresql/postgresql-10.13.ebuild
index db31e5a8233..54610ae9a34 100644
--- a/dev-db/postgresql/postgresql-9.6.17.ebuild
+++ b/dev-db/postgresql/postgresql-10.13.ebuild
@@ -5,15 +5,11 @@ EAPI=7
 
 PYTHON_COMPAT=( python3_{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"
+inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd
 
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc 
~x86 ~ppc-macos ~x86-solaris"
 
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
+SLOT=$(ver_cut 1)
 
 MY_PV=${PV/_/}
 S="${WORKDIR}/${PN}-${MY_PV}"
@@ -24,27 +20,30 @@ LICENSE="POSTGRESQL GPL-2"
 DESCRIPTION="PostgreSQL RDBMS"
 HOMEPAGE="https://www.postgresql.org/";
 
-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"
+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} )"
 
 CDEPEND="
 >=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
 sys-apps/less
 virtual/libintl
+icu? ( dev-libs/icu:= )
 kerberos? ( virtual/krb5 )
 ldap? ( net-nds/openldap )
 pam? ( sys-libs/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:= )
 )
-server? ( systemd? ( sys-apps/systemd ) )
 tcl? ( >=dev-lang/tcl-8:0= )
 xml? ( dev-libs/libxml2 dev-libs/libxslt )
 zlib? ( sys-libs/zlib )
@@ -74,7 +73,6 @@ uuid? (
 )"
 
 DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
 sys-devel/bison
 sys-devel/flex
 nls? ( sys-devel/gettext )
@@ -82,18 +80,12 @@ xml? ( virtual/pkgconfig )
 "
 
 RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
 selinux? ( sec-policy/selinux-postgresql )
 "
 
 pkg_setup() {
        use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
 
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
        use python && python-single-r1_pkg_setup
 }
 
@@ -110,7 +102,7 @@ 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"
+       use server || eapply "${FILESDIR}/${PN}-10.2-no-server.patch"
 
        if use pam ; then
                sed -e "s/\(#define PGSQL_PAM_SERVICE 
\"postgresql\)/\1-${SLOT}/" \
@@ -152,9 +144,9 @@ src_configure() {
                --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
                --with-system-tzdata="${PO}/usr/share/zoneinfo" \
                $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
                $(use_enable debug) \
                $(use_enable threads thread-safety) \
+               $(use_with icu) \
                $(use_with kerberos gssapi) \
                $(use_with ldap) \
                $(use_with pam) \
@@ -168,7 +160,7 @@ src_configure() {
                $(use_with xml libxml) \
                $(use_with xml libxslt) \
                $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
+               $(use_enable nls)
 }
 
 src_compile() {
@@ -190,7 +182,13 @@ src_install() {
        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
+               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
@@ -206,7 +204,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}
@@ -229,24 +227,19 @@ src_install() {
                find "${ED}" -name '*.a' ! -name libpgport.a ! -name 
libpgcommon.a \
                         -delete
 
+       # 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}")
-               # 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"
+                         "/usr/bin/${bn}${SLOT/.}"
        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
@@ -260,11 +253,10 @@ src_install() {
                        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
 
-               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
@@ -274,40 +266,6 @@ src_install() {
        fi
 }
 
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /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(). 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
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       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
-               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.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to 
$(basename ${l%tmp})"
-       done
-}
-
 pkg_postinst() {
        use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
        postgresql-config update
@@ -333,6 +291,14 @@ pkg_postinst() {
                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
 }
 

diff --git a/dev-db/postgresql/postgresql-9.6.17.ebuild 
b/dev-db/postgresql/postgresql-11.8.ebuild
similarity index 79%
copy from dev-db/postgresql/postgresql-9.6.17.ebuild
copy to dev-db/postgresql/postgresql-11.8.ebuild
index db31e5a8233..fadb6959719 100644
--- a/dev-db/postgresql/postgresql-9.6.17.ebuild
+++ b/dev-db/postgresql/postgresql-11.8.ebuild
@@ -5,15 +5,11 @@ EAPI=7
 
 PYTHON_COMPAT=( python3_{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"
+inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd
 
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc 
~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
 
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
+SLOT=$(ver_cut 1)
 
 MY_PV=${PV/_/}
 S="${WORKDIR}/${PN}-${MY_PV}"
@@ -22,29 +18,36 @@ 
SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar
 
 LICENSE="POSTGRESQL GPL-2"
 DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/";
+HOMEPAGE="http://www.postgresql.org/";
 
-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"
+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} )"
 
 CDEPEND="
 >=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
 sys-apps/less
 virtual/libintl
+icu? ( dev-libs/icu:= )
 kerberos? ( virtual/krb5 )
 ldap? ( net-nds/openldap )
+llvm? (
+       sys-devel/llvm:=
+       sys-devel/clang:=
+)
 pam? ( sys-libs/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:= )
 )
-server? ( systemd? ( sys-apps/systemd ) )
 tcl? ( >=dev-lang/tcl-8:0= )
 xml? ( dev-libs/libxml2 dev-libs/libxslt )
 zlib? ( sys-libs/zlib )
@@ -74,7 +77,6 @@ uuid? (
 )"
 
 DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
 sys-devel/bison
 sys-devel/flex
 nls? ( sys-devel/gettext )
@@ -82,25 +84,16 @@ xml? ( virtual/pkgconfig )
 "
 
 RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
 selinux? ( sec-policy/selinux-postgresql )
 "
 
 pkg_setup() {
        use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
 
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
        use python && python-single-r1_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
@@ -110,10 +103,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}-${SLOT}.3-no-server.patch"
+       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
@@ -152,11 +145,12 @@ src_configure() {
                --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
                --with-system-tzdata="${PO}/usr/share/zoneinfo" \
                $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
                $(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) \
@@ -168,7 +162,7 @@ src_configure() {
                $(use_with xml libxml) \
                $(use_with xml libxslt) \
                $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
+               $(use_enable nls)
 }
 
 src_compile() {
@@ -190,7 +184,13 @@ src_install() {
        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
+               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
@@ -206,7 +206,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}
@@ -229,24 +229,19 @@ src_install() {
                find "${ED}" -name '*.a' ! -name libpgport.a ! -name 
libpgcommon.a \
                         -delete
 
+       # 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}")
-               # 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"
+                         "/usr/bin/${bn}${SLOT/.}"
        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
@@ -260,11 +255,10 @@ src_install() {
                        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
 
-               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
@@ -274,40 +268,6 @@ src_install() {
        fi
 }
 
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /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(). 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
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       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
-               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.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to 
$(basename ${l%tmp})"
-       done
-}
-
 pkg_postinst() {
        use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
        postgresql-config update
@@ -321,7 +281,7 @@ pkg_postinst() {
                elog "https://wiki.gentoo.org/wiki/PostgreSQL";
                elog
                elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html";
+               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/"
@@ -333,6 +293,14 @@ pkg_postinst() {
                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
 }
 
@@ -386,8 +354,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
@@ -415,9 +383,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 ..."

diff --git a/dev-db/postgresql/postgresql-9.6.17.ebuild 
b/dev-db/postgresql/postgresql-12.3.ebuild
similarity index 78%
copy from dev-db/postgresql/postgresql-9.6.17.ebuild
copy to dev-db/postgresql/postgresql-12.3.ebuild
index db31e5a8233..e0a0549f88a 100644
--- a/dev-db/postgresql/postgresql-9.6.17.ebuild
+++ b/dev-db/postgresql/postgresql-12.3.ebuild
@@ -5,15 +5,11 @@ EAPI=7
 
 PYTHON_COMPAT=( python3_{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"
+inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd
 
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc 
~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
 
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
+SLOT=$(ver_cut 1)
 
 MY_PV=${PV/_/}
 S="${WORKDIR}/${PN}-${MY_PV}"
@@ -22,29 +18,36 @@ 
SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar
 
 LICENSE="POSTGRESQL GPL-2"
 DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/";
+HOMEPAGE="http://www.postgresql.org/";
 
-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"
+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} )"
 
 CDEPEND="
 >=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
 sys-apps/less
 virtual/libintl
+icu? ( dev-libs/icu:= )
 kerberos? ( virtual/krb5 )
 ldap? ( net-nds/openldap )
+llvm? (
+       sys-devel/llvm:=
+       sys-devel/clang:=
+)
 pam? ( sys-libs/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:= )
 )
-server? ( systemd? ( sys-apps/systemd ) )
 tcl? ( >=dev-lang/tcl-8:0= )
 xml? ( dev-libs/libxml2 dev-libs/libxslt )
 zlib? ( sys-libs/zlib )
@@ -74,7 +77,6 @@ uuid? (
 )"
 
 DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
 sys-devel/bison
 sys-devel/flex
 nls? ( sys-devel/gettext )
@@ -82,25 +84,16 @@ xml? ( virtual/pkgconfig )
 "
 
 RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
 selinux? ( sec-policy/selinux-postgresql )
 "
 
 pkg_setup() {
        use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
 
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
        use python && python-single-r1_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
@@ -110,10 +103,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}-${SLOT}.3-no-server.patch"
+       use server || eapply "${FILESDIR}/${PN}-12.1-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
@@ -152,11 +145,12 @@ src_configure() {
                --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
                --with-system-tzdata="${PO}/usr/share/zoneinfo" \
                $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
                $(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) \
@@ -168,7 +162,7 @@ src_configure() {
                $(use_with xml libxml) \
                $(use_with xml libxslt) \
                $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
+               $(use_enable nls)
 }
 
 src_compile() {
@@ -180,7 +174,7 @@ src_install() {
        emake DESTDIR="${D}" install
        emake DESTDIR="${D}" install -C contrib
 
-       dodoc README HISTORY doc/{TODO,bug.template}
+       dodoc README HISTORY
 
        # man pages are already built, but if we have the target make them,
        # they'll be generated from source before being installed so we
@@ -190,7 +184,13 @@ src_install() {
        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
+               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
@@ -206,7 +206,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}
@@ -229,24 +229,19 @@ src_install() {
                find "${ED}" -name '*.a' ! -name libpgport.a ! -name 
libpgcommon.a \
                         -delete
 
+       # 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}")
-               # 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"
+                         "/usr/bin/${bn}${SLOT/.}"
        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
@@ -260,11 +255,10 @@ src_install() {
                        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
 
-               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
@@ -274,40 +268,6 @@ src_install() {
        fi
 }
 
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /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(). 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
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       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
-               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.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to 
$(basename ${l%tmp})"
-       done
-}
-
 pkg_postinst() {
        use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
        postgresql-config update
@@ -321,7 +281,7 @@ pkg_postinst() {
                elog "https://wiki.gentoo.org/wiki/PostgreSQL";
                elog
                elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html";
+               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/"
@@ -333,6 +293,14 @@ pkg_postinst() {
                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
 }
 
@@ -386,8 +354,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
@@ -415,9 +383,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 ..."

diff --git a/dev-db/postgresql/postgresql-9.4.26.ebuild 
b/dev-db/postgresql/postgresql-9.4.26.ebuild
index 32bc19186d1..c662926d91f 100644
--- a/dev-db/postgresql/postgresql-9.4.26.ebuild
+++ b/dev-db/postgresql/postgresql-9.4.26.ebuild
@@ -22,7 +22,7 @@ DESCRIPTION="PostgreSQL RDBMS"
 HOMEPAGE="https://www.postgresql.org/";
 
 IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
+         -pg-legacytimestamp python +readline selinux +server systemd ssl
          static-libs tcl threads uuid xml zlib"
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -147,7 +147,7 @@ src_configure() {
                --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
                --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
                --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
+               $(use_enable !pg-legacytimestamp integer-datetimes) \
                $(use_enable debug) \
                $(use_enable threads thread-safety) \
                $(use_with kerberos gssapi) \

diff --git a/dev-db/postgresql/postgresql-9.5.21.ebuild 
b/dev-db/postgresql/postgresql-9.5.21.ebuild
index 00537608230..11de5150b26 100644
--- a/dev-db/postgresql/postgresql-9.5.21.ebuild
+++ b/dev-db/postgresql/postgresql-9.5.21.ebuild
@@ -22,7 +22,7 @@ DESCRIPTION="PostgreSQL RDBMS"
 HOMEPAGE="https://www.postgresql.org/";
 
 IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
+         -pg-legacytimestamp python +readline selinux +server systemd ssl
          static-libs tcl threads uuid xml zlib"
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -148,7 +148,7 @@ src_configure() {
                --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
                --with-system-tzdata="${PO}/usr/share/zoneinfo" \
                $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
+               $(use_enable !pg-legacytimestamp integer-datetimes) \
                $(use_enable debug) \
                $(use_enable threads thread-safety) \
                $(use_with kerberos gssapi) \

diff --git a/dev-db/postgresql/postgresql-9.5.21.ebuild 
b/dev-db/postgresql/postgresql-9.5.22.ebuild
similarity index 95%
copy from dev-db/postgresql/postgresql-9.5.21.ebuild
copy to dev-db/postgresql/postgresql-9.5.22.ebuild
index 00537608230..7d999e9628a 100644
--- a/dev-db/postgresql/postgresql-9.5.21.ebuild
+++ b/dev-db/postgresql/postgresql-9.5.22.ebuild
@@ -5,13 +5,9 @@ EAPI=7
 
 PYTHON_COMPAT=( python3_{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"
+inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd
 
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 
~ppc-macos ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc 
~x86 ~ppc-macos ~x86-solaris"
 
 SLOT=$(ver_cut 1-2)
 
@@ -22,13 +18,15 @@ DESCRIPTION="PostgreSQL RDBMS"
 HOMEPAGE="https://www.postgresql.org/";
 
 IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
+         -pg-legacytimestamp python +readline selinux +server systemd ssl
          static-libs tcl threads uuid xml zlib"
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
 CDEPEND="
 >=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
 sys-apps/less
 virtual/libintl
 kerberos? ( virtual/krb5 )
@@ -70,7 +68,6 @@ uuid? (
 )"
 
 DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
 sys-devel/bison
 sys-devel/flex
 nls? ( sys-devel/gettext )
@@ -78,18 +75,12 @@ xml? ( virtual/pkgconfig )
 "
 
 RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
 selinux? ( sec-policy/selinux-postgresql )
 "
 
 pkg_setup() {
        use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
 
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
        use python && python-single-r1_pkg_setup
 }
 
@@ -148,7 +139,7 @@ src_configure() {
                --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
                --with-system-tzdata="${PO}/usr/share/zoneinfo" \
                $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
+               $(use_enable !pg-legacytimestamp integer-datetimes) \
                $(use_enable debug) \
                $(use_enable threads thread-safety) \
                $(use_with kerberos gssapi) \
@@ -163,7 +154,7 @@ src_configure() {
                $(use_with xml libxml) \
                $(use_with xml libxslt) \
                $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
+               $(use_enable nls)
 }
 
 src_compile() {

diff --git a/dev-db/postgresql/postgresql-9.6.17.ebuild 
b/dev-db/postgresql/postgresql-9.6.17.ebuild
index db31e5a8233..cc62ab8a0c1 100644
--- a/dev-db/postgresql/postgresql-9.6.17.ebuild
+++ b/dev-db/postgresql/postgresql-9.6.17.ebuild
@@ -25,7 +25,7 @@ DESCRIPTION="PostgreSQL RDBMS"
 HOMEPAGE="https://www.postgresql.org/";
 
 IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
+         -pg-legacytimestamp python +readline selinux +server systemd ssl
          static-libs tcl threads uuid xml zlib"
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -152,7 +152,7 @@ src_configure() {
                --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
                --with-system-tzdata="${PO}/usr/share/zoneinfo" \
                $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
+               $(use_enable !pg-legacytimestamp integer-datetimes) \
                $(use_enable debug) \
                $(use_enable threads thread-safety) \
                $(use_with kerberos gssapi) \

diff --git a/dev-db/postgresql/postgresql-9.6.17.ebuild 
b/dev-db/postgresql/postgresql-9.6.18.ebuild
similarity index 94%
copy from dev-db/postgresql/postgresql-9.6.17.ebuild
copy to dev-db/postgresql/postgresql-9.6.18.ebuild
index db31e5a8233..52f63bca1fb 100644
--- a/dev-db/postgresql/postgresql-9.6.17.ebuild
+++ b/dev-db/postgresql/postgresql-9.6.18.ebuild
@@ -5,13 +5,9 @@ EAPI=7
 
 PYTHON_COMPAT=( python3_{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"
+inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd
 
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc 
~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
 
 SLOT=$(ver_cut 1-2)
 
@@ -25,13 +21,15 @@ DESCRIPTION="PostgreSQL RDBMS"
 HOMEPAGE="https://www.postgresql.org/";
 
 IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
+         -pg-legacytimestamp python +readline selinux +server systemd ssl
          static-libs tcl threads uuid xml zlib"
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
 CDEPEND="
 >=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
 sys-apps/less
 virtual/libintl
 kerberos? ( virtual/krb5 )
@@ -74,7 +72,6 @@ uuid? (
 )"
 
 DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
 sys-devel/bison
 sys-devel/flex
 nls? ( sys-devel/gettext )
@@ -82,18 +79,12 @@ xml? ( virtual/pkgconfig )
 "
 
 RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
 selinux? ( sec-policy/selinux-postgresql )
 "
 
 pkg_setup() {
        use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
 
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
        use python && python-single-r1_pkg_setup
 }
 
@@ -152,7 +143,7 @@ src_configure() {
                --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
                --with-system-tzdata="${PO}/usr/share/zoneinfo" \
                $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
+               $(use_enable !pg-legacytimestamp integer-datetimes) \
                $(use_enable debug) \
                $(use_enable threads thread-safety) \
                $(use_with kerberos gssapi) \
@@ -168,7 +159,7 @@ src_configure() {
                $(use_with xml libxml) \
                $(use_with xml libxslt) \
                $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
+               $(use_enable nls)
 }
 
 src_compile() {

diff --git a/dev-db/postgresql/postgresql-9999.ebuild 
b/dev-db/postgresql/postgresql-9999.ebuild
index 200ad41f243..1ca6f1f03d0 100644
--- a/dev-db/postgresql/postgresql-9999.ebuild
+++ b/dev-db/postgresql/postgresql-9999.ebuild
@@ -5,17 +5,12 @@ EAPI=7
 
 PYTHON_COMPAT=( python3_{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
+               systemd
 
 KEYWORDS=""
 
-# Bump when rc released.
-SLOT="13"
+SLOT="9999"
 
 EGIT_REPO_URI="https://git.postgresql.org/git/postgresql.git";
 
@@ -24,16 +19,15 @@ DESCRIPTION="PostgreSQL RDBMS"
 HOMEPAGE="https://www.postgresql.org/";
 
 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
+         python +readline selinux server systemd ssl static-libs tcl
+         threads uuid xml zlib"
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
 CDEPEND="
 >=app-eselect/eselect-postgresql-2.0
+acct-group/postgres
+acct-user/postgres
 sys-apps/less
 virtual/libintl
 icu? ( dev-libs/icu:= )
@@ -82,7 +76,6 @@ 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
@@ -97,35 +90,24 @@ nls? ( sys-devel/gettext )
 xml? ( virtual/pkgconfig )
 "
 RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
 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."
+       if ! use server; then
+               elog "You are using a live ebuild that uses the current source 
code as it is"
+               elog "available from PostgreSQL's Git repository at emerge 
time. Given such,"
+               elog "the GNU Makefiles may be altered by upstream without 
notice and the"
+               elog "documentation for this live version is not readily 
available"
+               elog "online. Ergo, the ebuild maintainers will not support 
building a"
+               elog "client-only and/or document-free version."
+               ewarn "Building server anyway."
+       fi
 }
 
 pkg_setup() {
        CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
 
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
        use python && python-single-r1_pkg_setup
 }
 
@@ -180,7 +162,7 @@ src_configure() {
                --with-system-tzdata="${PO}/usr/share/zoneinfo" \
                $(use_enable !alpha spinlocks) \
                $(use_enable debug) \
-               $(use_enable nls nls "'$(my_get_locales)'") \
+               $(use_enable nls) \
                $(use_enable threads thread-safety) \
                $(use_with icu) \
                $(use_with kerberos gssapi) \
@@ -206,7 +188,7 @@ src_compile() {
 src_install() {
        emake DESTDIR="${D}" install-world
 
-       dodoc README HISTORY doc/{TODO,bug.template}
+       dodoc README HISTORY doc/TODO
 
        insinto /etc/postgresql-${SLOT}
        newins src/bin/psql/psqlrc.sample psqlrc

Reply via email to