From b24bd25253fe093f722ab576d29fdc41d04cb1ee Mon Sep 17 00:00:00 2001
From: V3n3RiX <venerix@redcorelinux.org>
Date: Fri, 2 Aug 2019 19:14:55 +0100
Subject: gentoo resync : 02.08.2019

---
 dev-lang/Manifest.gz                               | Bin 18018 -> 18192 bytes
 dev-lang/R/Manifest                                |   2 +-
 dev-lang/R/R-3.4.1.ebuild                          |   4 +-
 dev-lang/gnat-gpl/Manifest                         |   4 +-
 dev-lang/gnat-gpl/gnat-gpl-2017.ebuild             |   2 +-
 dev-lang/gnat-gpl/gnat-gpl-2019.ebuild             |   2 +-
 dev-lang/go/Manifest                               |   2 +-
 dev-lang/go/go-9999.ebuild                         |  19 +-
 dev-lang/jimtcl/Manifest                           |   2 +
 .../jimtcl/files/jimtcl-0.78-no-bootstrap.patch    |  35 +
 dev-lang/jimtcl/jimtcl-0.78-r2.ebuild              |  59 ++
 dev-lang/moarvm/Manifest                           |   3 +
 dev-lang/moarvm/files/fix-quoting.patch            |  28 +
 dev-lang/moarvm/moarvm-2019.07.ebuild              |  60 ++
 dev-lang/mono/Manifest                             |   4 +-
 dev-lang/mono/mono-4.8.0.524.ebuild                |   4 +-
 dev-lang/mono/mono-6.0.0.313.ebuild                | 106 +++
 dev-lang/nasm/Manifest                             |   2 +-
 dev-lang/nasm/nasm-2.14.02.ebuild                  |   2 +-
 dev-lang/ocaml/Manifest                            |   2 +-
 dev-lang/ocaml/ocaml-4.04.2-r1.ebuild              |   2 +-
 dev-lang/perl/Manifest                             |   1 -
 dev-lang/perl/files/perl-5.28.0-dirhandle.patch    |  99 ---
 dev-lang/php/Manifest                              |  40 +-
 dev-lang/php/metadata.xml                          |   1 +
 dev-lang/php/php-5.6.40-r1.ebuild                  | 801 ---------------------
 dev-lang/php/php-5.6.40-r2.ebuild                  | 788 --------------------
 dev-lang/php/php-5.6.40-r3.ebuild                  | 789 --------------------
 dev-lang/php/php-5.6.40-r4.ebuild                  |   2 +-
 dev-lang/php/php-5.6.40-r5.ebuild                  | 789 ++++++++++++++++++++
 dev-lang/php/php-7.1.27.ebuild                     | 737 -------------------
 dev-lang/php/php-7.1.29.ebuild                     | 737 -------------------
 dev-lang/php/php-7.1.30.ebuild                     |   2 +-
 dev-lang/php/php-7.1.31.ebuild                     | 737 +++++++++++++++++++
 dev-lang/php/php-7.2.16.ebuild                     | 749 -------------------
 dev-lang/php/php-7.2.18.ebuild                     | 749 -------------------
 dev-lang/php/php-7.2.19.ebuild                     | 749 -------------------
 dev-lang/php/php-7.2.20.ebuild                     |   2 +-
 dev-lang/php/php-7.2.21.ebuild                     | 749 +++++++++++++++++++
 dev-lang/php/php-7.3.5.ebuild                      | 750 -------------------
 dev-lang/php/php-7.3.6.ebuild                      | 750 -------------------
 dev-lang/php/php-7.3.7-r1.ebuild                   |   2 +-
 dev-lang/php/php-7.3.8.ebuild                      | 750 +++++++++++++++++++
 dev-lang/php/php-7.4.0_beta1.ebuild                | 723 +++++++++++++++++++
 dev-lang/ruby/Manifest                             |  10 +-
 dev-lang/ruby/ruby-2.4.5.ebuild                    | 230 ------
 dev-lang/ruby/ruby-2.4.6.ebuild                    |   4 +-
 dev-lang/ruby/ruby-2.5.5.ebuild                    |   2 +-
 dev-lang/ruby/ruby-2.6.2.ebuild                    |   2 +-
 dev-lang/ruby/ruby-2.6.3.ebuild                    |   2 +-
 dev-lang/spidermonkey/Manifest                     |   8 +-
 .../files/spidermonkey-52.0-gcc9-overflow.patch    |  24 +
 .../files/spidermonkey-60.5.2-ia64-support.patch   |  44 ++
 dev-lang/spidermonkey/spidermonkey-1.8.5-r7.ebuild |   2 +-
 .../spidermonkey/spidermonkey-52.9.1_pre1.ebuild   |   3 +-
 .../spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild  |   3 +-
 dev-lang/swi-prolog/Manifest                       |   7 +-
 dev-lang/swi-prolog/swi-prolog-8.0.0.ebuild        |  99 ---
 dev-lang/swi-prolog/swi-prolog-8.0.1.ebuild        | 100 ---
 dev-lang/swi-prolog/swi-prolog-8.1.10.ebuild       |  99 +++
 dev-lang/vala/Manifest                             |   5 +
 ...valadoc-doclets-data-parallel-installable.patch | 207 ++++++
 dev-lang/vala/vala-0.44.6.ebuild                   |  51 ++
 dev-lang/vala/vala-0.45.3.ebuild                   |  51 ++
 dev-lang/yap/Manifest                              |   4 +-
 dev-lang/yap/files/yap-6.3.3-fix-gcc9.patch        |  27 -
 dev-lang/yap/yap-6.3.3-r1.ebuild                   |   8 +-
 dev-lang/zig/Manifest                              |   3 +
 dev-lang/zig/metadata.xml                          |  18 +
 dev-lang/zig/zig-0.4.0.ebuild                      |  56 ++
 70 files changed, 4674 insertions(+), 8235 deletions(-)
 create mode 100644 dev-lang/jimtcl/files/jimtcl-0.78-no-bootstrap.patch
 create mode 100644 dev-lang/jimtcl/jimtcl-0.78-r2.ebuild
 create mode 100644 dev-lang/moarvm/files/fix-quoting.patch
 create mode 100644 dev-lang/moarvm/moarvm-2019.07.ebuild
 create mode 100644 dev-lang/mono/mono-6.0.0.313.ebuild
 delete mode 100644 dev-lang/perl/files/perl-5.28.0-dirhandle.patch
 delete mode 100644 dev-lang/php/php-5.6.40-r1.ebuild
 delete mode 100644 dev-lang/php/php-5.6.40-r2.ebuild
 delete mode 100644 dev-lang/php/php-5.6.40-r3.ebuild
 create mode 100644 dev-lang/php/php-5.6.40-r5.ebuild
 delete mode 100644 dev-lang/php/php-7.1.27.ebuild
 delete mode 100644 dev-lang/php/php-7.1.29.ebuild
 create mode 100644 dev-lang/php/php-7.1.31.ebuild
 delete mode 100644 dev-lang/php/php-7.2.16.ebuild
 delete mode 100644 dev-lang/php/php-7.2.18.ebuild
 delete mode 100644 dev-lang/php/php-7.2.19.ebuild
 create mode 100644 dev-lang/php/php-7.2.21.ebuild
 delete mode 100644 dev-lang/php/php-7.3.5.ebuild
 delete mode 100644 dev-lang/php/php-7.3.6.ebuild
 create mode 100644 dev-lang/php/php-7.3.8.ebuild
 create mode 100644 dev-lang/php/php-7.4.0_beta1.ebuild
 delete mode 100644 dev-lang/ruby/ruby-2.4.5.ebuild
 create mode 100644 dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
 create mode 100644 dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch
 delete mode 100644 dev-lang/swi-prolog/swi-prolog-8.0.0.ebuild
 delete mode 100644 dev-lang/swi-prolog/swi-prolog-8.0.1.ebuild
 create mode 100644 dev-lang/swi-prolog/swi-prolog-8.1.10.ebuild
 create mode 100644 dev-lang/vala/files/0.44-valadoc-doclets-data-parallel-installable.patch
 create mode 100644 dev-lang/vala/vala-0.44.6.ebuild
 create mode 100644 dev-lang/vala/vala-0.45.3.ebuild
 delete mode 100644 dev-lang/yap/files/yap-6.3.3-fix-gcc9.patch
 create mode 100644 dev-lang/zig/Manifest
 create mode 100644 dev-lang/zig/metadata.xml
 create mode 100644 dev-lang/zig/zig-0.4.0.ebuild

(limited to 'dev-lang')

diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 48c354d8f777..a340113e2886 100644
Binary files a/dev-lang/Manifest.gz and b/dev-lang/Manifest.gz differ
diff --git a/dev-lang/R/Manifest b/dev-lang/R/Manifest
index 200335633102..6155ecf2eb77 100644
--- a/dev-lang/R/Manifest
+++ b/dev-lang/R/Manifest
@@ -4,7 +4,7 @@ DIST R-3.4.1.tar.gz 30200109 BLAKE2B 03602e9a48759caee8ce047fa6273df7a54af089de4
 DIST R-3.5.3.tar.gz 30205979 BLAKE2B 60dde4c1a7874df0b113630577d943d581d9e0844383a5cb7eda7f62470177d541704a888c33ded216f8b1f088cda493d7716693f5e2451effe3639ce2286dd1 SHA512 077cbd4bc9f19a3a2485afbd4d8e08e0754ddcb9a10164cbc8478f239d5ed0ffaf6796929f154cce1c8aea549c32d460049fc036dc326174d1dbb0a1ddb5f5ef
 DIST R-3.6.0.tar.gz 30449618 BLAKE2B 2fb2f1252f5ead97ab42eb1f71fa0be1e8aec2f6cce182956ec1c35b43b70b58f579faf5f3ca11efb8e9c24a9ed836b5b690cb23858249bc7f575aca4709bc3b SHA512 b2e17b909b6387abb964492e2e9370f913295ca7ac99bab0e965c43ed3c4635e27468c326fb2bca3c529b03c731b0170d9e777a194ad4d6c5a983c050223d8c8
 DIST R-78d6830e28ea90a046da79a9b4f70c39594bb6d6.bash_completion 13596 BLAKE2B 53338e4a1c4f68beb69247216e553dbcac47f660fbf032bfebf7a660e32d2cff5b11ed35411c52de7e1fd6e00bbf5b5ea19369a325fa0a38bd93d63dc3288cbd SHA512 9ccd19bb1b0c18a2f13035ccd6809447429e197e298fb4d1df808ef345d723b42f75a1b91c349f6dbb46e4a82e59ef33e11300c495d79b63d670d0c0f2b16a06
-EBUILD R-3.4.1.ebuild 6305 BLAKE2B 825b0f75bdaa468e635d125f23a19ca694f5fcaf123476811dd4d556ff1126cfea3f0ba0022d6b11d77c2474ef25cbf76442ed33a60fe007798f337a6133194c SHA512 2e6f523d73c6847331f62cd3a1af9b46b67e96c7d610058df0f71c5a0fc49178332a03edc1f499a3c13d1ecf1ab6364e09d2bc8fa94bd8d38700d5489495ca32
+EBUILD R-3.4.1.ebuild 6311 BLAKE2B 0e3c321f275a315789cc48a62abfc7802913ade4e72060657701ab53996f3c95ad5b1a43b69807bb9f84ff7e49e2545771b5f5050d93848a66d8629f76175c9b SHA512 897ac17ae6e28c4830c61030a6b0b8a064241c365d6d1161f793551565009f732d6847c119c48f9430ee3c1fe3cb0c31603d351515dee37395664ea342b70a2f
 EBUILD R-3.5.3.ebuild 6310 BLAKE2B efde95796be8d70eccbbb6afc85913bb1dbfacaa0784696e60b20b7444910c803d9b00dfb2c56297a80009c421fbc256d76bcadb5ee34a868d318d20a8c6952a SHA512 3267578587e8ab38d2fe5b902e8ff95c254f618efcb1d77e143fff4af9157bcba607c774f784b87e3233912575ea53be04fd8946ae9faee610d5daae3dd849f0
 EBUILD R-3.6.0.ebuild 6310 BLAKE2B efde95796be8d70eccbbb6afc85913bb1dbfacaa0784696e60b20b7444910c803d9b00dfb2c56297a80009c421fbc256d76bcadb5ee34a868d318d20a8c6952a SHA512 3267578587e8ab38d2fe5b902e8ff95c254f618efcb1d77e143fff4af9157bcba607c774f784b87e3233912575ea53be04fd8946ae9faee610d5daae3dd849f0
 MISC metadata.xml 1140 BLAKE2B 774221eb531b4e80f0650b627b9ce53d9a2daf6342b1f19579d2d046e1c83aa497cc764870406b7ea3cf6cbae899cb6d460af92991d62bc6aea8da026a441822 SHA512 297c7e17998f92fb836b0599ce5221aee1ba1e7b1504edb348a602b695faf381d51f32f6118f5ef4bb353f02e92ffc5b3520b8d317d3e30a68a3cce0254fa6b1
diff --git a/dev-lang/R/R-3.4.1.ebuild b/dev-lang/R/R-3.4.1.ebuild
index e273a93fab87..6c503c77a1aa 100644
--- a/dev-lang/R/R-3.4.1.ebuild
+++ b/dev-lang/R/R-3.4.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -16,7 +16,7 @@ SRC_URI="
 
 LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1"
 SLOT="0"
-KEYWORDS="amd64 ia64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="amd64 arm64 ia64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
 IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X"
 REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )"
 
diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index 436db117f447..fa1d4ae43b53 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -41,7 +41,7 @@ DIST gnat-gpl-2016-src.tar.gz 8857249 BLAKE2B 3ff0fe247990e2a612ac989aa389e9ccae
 DIST gnat-gpl-2017-src.tar.gz 8783473 BLAKE2B b0415b42f4d3a5e8675591a5602ff0a96945670104064671a232c0c12271ee141a3a5d148b8507bdab83cb8a0677c57b78e690060088308c51732bad3715964f SHA512 ae7314a2241107ed4d962dce08306eeb34c5f11e26183935bbb1ccf3a5eb011d6457c1b6fcded93dd0ee9ba31d791971ebe2a5a5a0ae04ff80d87a670325a098
 DIST gnat-gpl-2018-src.tar.gz 8706578 BLAKE2B ba245fd91cc5263d5b8c159d9e75caf6bed21dcaa5fa43734af8775a4008ce5f96bfb84a8b5e6e734ff883314ab3219dacec3fe95a5baa33fb712bfb5ff8bce8 SHA512 0ff7e848ef77f7e772e2a1b01905307a91c332f32329456f5238c4b7eb46cc118709e8682a5fc826d98a7d99fd15a92c194f4a278f04bc465165cfa616cc3c2e
 EBUILD gnat-gpl-2016-r3.ebuild 5905 BLAKE2B 421c328830738c064bc1fa5654b82eac90f2abf0204b6699f01721de5f1446c3cb988288e73c338aad5ece6616ce067e9e7e1ff15116a472a0946555b4e31ed8 SHA512 62d29d412290e76a491f24330878dc17cbeb92ddda8693f1ce4bd240947d3e0d3361e05b4973f8b91ff4f1fa06f48f63ea6baa89675782b0363d267a2ff4bda8
-EBUILD gnat-gpl-2017.ebuild 4976 BLAKE2B d1bbf049cc17f778a3d0260fb2394898085415ca87fa59a5f1c349b4c3b62bb5a049214057ae76c75bae57df9f5ed6bd59fd55bf816a4e6a1683a90964b644e5 SHA512 3dbb26da721729e5c65ba905ddc41e8993feaa928546124a0079118435013555b9afd9422f2029ff6ed84ab613e5587c98b5a58d19a691cfe12c73a46cf130a8
+EBUILD gnat-gpl-2017.ebuild 4977 BLAKE2B d5a49370d41b2054867b11de662455b4af26f8fa5e93edec399117dead3b0f41f2b43bb9e228b6f4a7f9ebced48bfed193fdabae7ecffa544dd9ff7e2441f31e SHA512 d0981cb910637ee45cc5f280e7d7648b1a8a5bf2cf5062e2cf76c5d4d15dcc584099dde1e62e020e613b53d5afbd9337f15422ba68fc0892eba8d57f24d9b98e
 EBUILD gnat-gpl-2018-r2.ebuild 5026 BLAKE2B 5a0c28a977f923aae20af0adc2643797e5e12e9960c263271bc09bf7683d9fe0f1848cc4079a831171d5e18e2a4aaf4bc31d1b5e247a84f9771aba327f0303fd SHA512 f626aaf0b5fa3abdd1e25b781e124692b5aa419d888bf59576c9c4d97d02676ee032fbc77296174bfa30d1d391426030fe530d9f713efe92e3ff75c9b67fec82
-EBUILD gnat-gpl-2019.ebuild 4893 BLAKE2B 4063f84d350626777942a4e7551f2c838283815f020ae4e783b2c68310d0df62c3a4c06a7e556a39216e374c1d577560650d4bbfd930e870888d9d43843254bb SHA512 68444095e4f48240314bb556468e16894cb7e6d1105bfb2fd0065b917b4ccf669d09acd25e0ade8ea96ede2e78ac55da9d249bcaab742dfee00b4b8b2f9d840e
+EBUILD gnat-gpl-2019.ebuild 4891 BLAKE2B dfb79fbf292ffd5b21dff80c73562b13dadbcaa650a19d44e99e3e4ea9d8161ebed1caa47fd6eb15a22e221648b7af54a22ac9ba2a69d2e7c2302f5840faa25f SHA512 f51a02f461da779781b2d2370122d489513c853bdef49a66fdf9f326c48e9b9fed3152626d7450e332c6273c00ad0d960de613729104f2d1163e413a8a0caa4e
 MISC metadata.xml 1997 BLAKE2B ae2e0322765ddd545865ce131fe469fd871666d318f0774bea45dddc02319a7508702214a4ffeb0a10cf5be64ee2ce304aba2c559ac59960f9de80abf9d2ff36 SHA512 a7f75583b2337680a28b2d9d4761744c3c30d14de25cf4e3f5b337ffdcea3e255a025e2894d2f1478436f7823b9264f8df6ab2c490ce3a44b028d5c6217be6d6
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
index 92ca34365050..1cf2cc19f09d 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
@@ -37,7 +37,7 @@ SRC_URI+="
 LICENSE+=" GPL-2 GPL-3"
 SLOT="${TOOLCHAIN_GCC_PV}"
 KEYWORDS="amd64 x86"
-IUSE="bootstrap"
+IUSE="+bootstrap"
 
 RDEPEND="!sys-devel/gcc:${TOOLCHAIN_GCC_PV}"
 DEPEND="${RDEPEND}
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2019.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2019.ebuild
index 9299976fecff..30d6ef53b409 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2019.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2019.ebuild
@@ -38,7 +38,7 @@ SRC_URI+="
 	)"
 
 LICENSE+=" GPL-2 GPL-3"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
 IUSE="+bootstrap"
 
 RDEPEND="!sys-devel/gcc:${GCC_CONFIG_VER}"
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index 5101d2fc2688..142aa7d01211 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -19,5 +19,5 @@ EBUILD go-1.11.12.ebuild 6451 BLAKE2B de8659b981b3ae812cdcbd4816f4efa33ca8f29b94
 EBUILD go-1.12.5.ebuild 6459 BLAKE2B 11cc998ff708a26c833e7ac2ff72c7fd2aabf0e3a3bfaa7558820d4726e29e22e5d0ad0b3100bd8e982b54074fc1230a43d288cf873810024a3fa1b3b77450e5 SHA512 deff55ebb12c4a915b439a1d598e02b8fd03a1d1ee873f9e6f47c6ff22cef82c3624aa68eac89968a3f01f7b91794d501675a59871fe9dd022fb2ee8cd29cd26
 EBUILD go-1.12.6.ebuild 6462 BLAKE2B 865d384352a841289541d6ae0c8fb5993eee183d3f1c30944987f7010faa41c79cdaa0b1b5e9d54fbebf2ca3ce312a9532a30421b43b69216b517936f56f3c21 SHA512 107d6f1187ade0eef80f52b0bc54e430a03705c8234185a665549d3a4c63c356f1554610885dd8fad23a8094bbfe6bdd89963f97da54dc6b7cdaef62b7c3568f
 EBUILD go-1.12.7.ebuild 6462 BLAKE2B 865d384352a841289541d6ae0c8fb5993eee183d3f1c30944987f7010faa41c79cdaa0b1b5e9d54fbebf2ca3ce312a9532a30421b43b69216b517936f56f3c21 SHA512 107d6f1187ade0eef80f52b0bc54e430a03705c8234185a665549d3a4c63c356f1554610885dd8fad23a8094bbfe6bdd89963f97da54dc6b7cdaef62b7c3568f
-EBUILD go-9999.ebuild 6100 BLAKE2B d914cb9513a17d71a7c10aebc4140f955fd6a8e0b0af645173e81f93379d39b3da233078029f5c322d02c1d59983de2e63ef7dae6f65ba6f2dec899d130b6c08 SHA512 820e2e88641a2218a3599ca23ef2d8767777638d9d08fcce36168d09679b72041b8b5fd4caa177b388e3445041da3e68f1785d2cfc2b4cc969c8d41c9864c680
+EBUILD go-9999.ebuild 6462 BLAKE2B 865d384352a841289541d6ae0c8fb5993eee183d3f1c30944987f7010faa41c79cdaa0b1b5e9d54fbebf2ca3ce312a9532a30421b43b69216b517936f56f3c21 SHA512 107d6f1187ade0eef80f52b0bc54e430a03705c8234185a665549d3a4c63c356f1554610885dd8fad23a8094bbfe6bdd89963f97da54dc6b7cdaef62b7c3568f
 MISC metadata.xml 663 BLAKE2B fc92966e1b4a155b4d442842988d0404c0148b029d187ab7294d49dabad771296d63ca3184128ac27cea4e74e7d6cfc8852084ca8f1d15a1d0755586a0bf68de SHA512 f67b7e312cfb2a896552ae73e835d53ffbb0a7c71c30f0a7cb44c65e2753055e185e7a5c48e2cfff33a42609629cc3c32ee56a9d8f61d8429798c1e8424e36bf
diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild
index 8c8928317700..a6151a8c829b 100644
--- a/dev-lang/go/go-9999.ebuild
+++ b/dev-lang/go/go-9999.ebuild
@@ -48,20 +48,20 @@ case ${PV}  in
 	esac
 esac
 
-# If gccgo is not being used to build Go, there is no way to know the
-# architecture or operating system of the build machine, so we need to
-# download all of our bootstrap archives to allow this ebuild to work
-# under crossdev.
+# If gccgo or a previously installed version of dev-lang/go is not being
+# used to build Go, there is no way to know the architecture or operating system
+# of the build machine, so we need to download all of our bootstrap
+# archives to allow this ebuild to work under crossdev.
 #
 # https://bugs.gentoo.org/671394
-SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )"
+SRC_URI+="!gccgo? ( !system-bootstrap? ( ${BOOTSTRAP_URI} ) )"
 
 DESCRIPTION="A concurrent garbage collected and typesafe programming language"
 HOMEPAGE="https://golang.org"
 
 LICENSE="BSD"
 SLOT="0/${PV}"
-IUSE="gccgo"
+IUSE="gccgo system-bootstrap"
 
 BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
 RDEPEND="!<dev-go/go-tools-0_pre20150902"
@@ -151,6 +151,9 @@ pkg_pretend()
 	if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
 		die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
 	fi
+	[[ ${MERGE_TYPE} != binary ]] &&
+		use system-bootstrap && ! has_version "dev-lang/go" &&
+		die "dev-lang/go must be installed to use the system-bootstrap use flag"
 }
 
 src_unpack()
@@ -160,7 +163,7 @@ src_unpack()
 	else
 		unpack "go${MY_PV}.src.tar.gz"
 	fi
-	use gccgo ||
+	use gccgo || use system-bootstrap ||
 		unpack "go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-${BOOTSTRAP_VERSION}.tbz"
 }
 
@@ -176,6 +179,8 @@ src_compile()
 		[[ -x ${go_binary} ]] ||
 			die "go-$(gcc-major-version): command not found"
 		ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
+	elif use system-bootstrap; then
+		export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go
 	fi
 	export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
 	export GOROOT="$(pwd)"
diff --git a/dev-lang/jimtcl/Manifest b/dev-lang/jimtcl/Manifest
index ec07caa41e4a..a3f3e4a723dc 100644
--- a/dev-lang/jimtcl/Manifest
+++ b/dev-lang/jimtcl/Manifest
@@ -1,6 +1,8 @@
 AUX jimtcl-0.75-bootstrap.patch 585 BLAKE2B 7d1cce053ae41100764bdc9a7beca121b002774bcd2b5eb5f0e0fa318aa390cb852c62430ff30171695e44c274f2e4200a6b189ed3d2a07aef79c7cac7d9d83e SHA512 fe82d393a1a46e3db4567287717af4c1813205945459702ebc3a9423395994a9fa2a337a5569241f4aada4176ce8abd65f88081112a1e2def9a4b5eb237cb647
+AUX jimtcl-0.78-no-bootstrap.patch 1370 BLAKE2B 1f584727970d7103a183b9099818bafb9a94aa7634463bb47387b4aa0afa330d477a15c50c19f383575251677d42a27d5cec1ede116bbf8d709c32378384eb6a SHA512 827bb679b322da790f68f5c6c3a469362edbb6e0128a439a6f9c98b3877e2d32c67c9826e0cd20762e6f234df332d05b9ccc309bbb4367e3b8d6de3d5d7afa3d
 DIST jimtcl-0.76.zip 2326715 BLAKE2B 50ea032cf46d2edeeecde1dc3b4deffcbd09b5dd3a6880963608b3f20616bf162fafc4ec2869bfe5de90231c4c9a29fb04710bd299cc5e8728ff20a86e46f32d SHA512 50763ea897fb5393083749cdd9e57a3f3d2d6dbebc40ee6371b1b86ebfc2f515e9775cd2acd6627f0f81b54bd72cd8c74be5aa9d0dbefc7c16372887e07f6ea4
 DIST jimtcl-0.78.tar.gz 3073533 BLAKE2B f0cdaf2807c7dd0e7c64e37cbc8dd019d8460e6a0320c239b0d01549aede8c86a89d84d7a3c5200c8d8cea428dbd1038d57dc66f5b580bdea8fe39710f967bbb SHA512 2a2cff12d7fdc4cf36734e41727eef08f6d74fb13d70bb0a3e01839e66859e57dd927ddedc161a6a7928881d640bd4e20a1bb313ed24aa2bb7bcb00eaf64fbf6
 EBUILD jimtcl-0.76.ebuild 1506 BLAKE2B 675ac6813883875b02d8cc8d14a8e531d2907b94a3c3eb2725157c8da8249f54e8f8f4688cd8b211687d89b522db3b33a5c4aeaeeb10def9e7ee53a671dc726b SHA512 41b03bb2e030f04eaa82a42fec86109d4d5e5712c85db86c79d26c8738161448ca21ffe858d3deea3b55fc8fc104f2d3cc6270e2e8dca53450a4a90ab49ffc1f
 EBUILD jimtcl-0.78-r1.ebuild 1205 BLAKE2B 5ab6e5788df002334a84513dbba4a2eb27adffbf6111f0e0507de8f06c3d370cd738b9e258ae7305bc66f94fc36c235616a3f41d3fdfe1b9daccfe7b89847407 SHA512 dc6d73167ecd36b59846533701eeb2466f57893152ff1e25a929fa5bd4064e8c331b4a183feebf63c882c92a0e408e62d94a0bcfed0df5f5f6fcac90bd2d0243
+EBUILD jimtcl-0.78-r2.ebuild 1308 BLAKE2B a88642fd912ff845f018d34314c6872a9bb16479ae75eb81abc9b598bbd385b8b5aed0697e9b643c1ad1c2ff0e8eb2f5a21bd3268047be6a422e9b3821397880 SHA512 b801b7c5599ffeece4f1710120cec5cf034cb12ac4e5b5e33ae982221b39ceae6183a27dc612aeba5dc1abf6db6f97fa0fbbfd9752c51c470830d1151d85ab4c
 MISC metadata.xml 251 BLAKE2B f23df3a2dcf096cee2f8d5cf2ef4fcc6c741ae312d2193f1d449aac7cd19126aa8197d4f3e2bd7828abf1aeeabf60f4a3ef8cc05b8152e6f6ce55b4897de5eb0 SHA512 0186a63dbf97f1800694d0bcb67528a7da92d30412398d5916452cc45c17d823f84ba7ffeae533476b7a48e7da19dabd0e431155ab66c19e68b113c910a4c03c
diff --git a/dev-lang/jimtcl/files/jimtcl-0.78-no-bootstrap.patch b/dev-lang/jimtcl/files/jimtcl-0.78-no-bootstrap.patch
new file mode 100644
index 000000000000..dba8f1b58976
--- /dev/null
+++ b/dev-lang/jimtcl/files/jimtcl-0.78-no-bootstrap.patch
@@ -0,0 +1,35 @@
+From f59809579339c0a16fb2519e590b98b611438064 Mon Sep 17 00:00:00 2001
+From: Eugene Bright <eugene@bright.gdn>
+Date: Sat, 20 Jul 2019 21:00:54 +0300
+Subject: [PATCH] autosetup/autosetup-find-tclsh: Rely on tclsh
+
+Never try to compile jimsh0. Use tclsh as build time dependency.
+---
+ autosetup/autosetup-find-tclsh | 12 ++----------
+ 1 file changed, 2 insertions(+), 10 deletions(-)
+
+diff --git a/autosetup/autosetup-find-tclsh b/autosetup/autosetup-find-tclsh
+index dfe70f8..78b521e 100755
+--- a/autosetup/autosetup-find-tclsh
++++ b/autosetup/autosetup-find-tclsh
+@@ -3,15 +3,7 @@
+ # If not found, builds a bootstrap jimsh from source
+ # Prefer $autosetup_tclsh if is set in the environment
+ d=`dirname "$0"`
+-{ "$d/jimsh0" "$d/autosetup-test-tclsh"; } 2>/dev/null && exit 0
+ PATH="$PATH:$d"; export PATH
+-for tclsh in $autosetup_tclsh jimsh tclsh tclsh8.5 tclsh8.6; do
+-	{ $tclsh "$d/autosetup-test-tclsh"; } 2>/dev/null && exit 0
+-done
+-echo 1>&2 "No installed jimsh or tclsh, building local bootstrap jimsh0"
+-for cc in ${CC_FOR_BUILD:-cc} gcc; do
+-	{ $cc -o "$d/jimsh0" "$d/jimsh0.c"; } 2>/dev/null || continue
+-	"$d/jimsh0" "$d/autosetup-test-tclsh" && exit 0
+-done
+-echo 1>&2 "No working C compiler found. Tried ${CC_FOR_BUILD:-cc} and gcc."
++tclsh "$d/autosetup-test-tclsh" 2>/dev/null && exit 0
++echo 1>&2 "Please install dev-lang/tcl:0"
+ echo false
+-- 
+2.20.1
+
diff --git a/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild b/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild
new file mode 100644
index 000000000000..7a48165e3075
--- /dev/null
+++ b/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit eutils
+
+SRC_URI="https://github.com/msteveb/jimtcl/archive/${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64 ~arm ~arm64 ~m68k ~mips ~s390 ~sh ~x86"
+
+DESCRIPTION="Small footprint implementation of Tcl programming language"
+HOMEPAGE="http://jim.tcl.tk/"
+
+LICENSE="LGPL-2"
+SLOT="0/78" # SONAME=libjim.so.0.78
+IUSE="doc static-libs"
+
+RDEPEND=""
+DEPEND="
+	doc? ( app-text/asciidoc )
+	app-arch/unzip
+	dev-lang/tcl:0
+"
+
+PATCHES="
+	"${FILESDIR}"/${PN}-0.78-no-bootstrap.patch
+"
+
+src_configure() {
+	CCACHE=None econf --with-jim-shared
+	if use static-libs ; then
+		# The build does not support doing both simultaneously.
+		mkdir static-libs || die
+		cd static-libs || die
+		CCACHE=None ECONF_SOURCE=${S} econf
+	fi
+}
+
+src_compile() {
+	# Must build static-libs first.
+	use static-libs && emake -C static-libs libjim.a
+	emake all
+	use doc && emake docs
+}
+
+src_install() {
+	dobin jimsh
+	use static-libs && dolib.a static-libs/libjim.a
+	ln -sf libjim.so.* libjim.so || die
+	dolib.so libjim.so*
+	insinto /usr/include
+	doins jim.h jimautoconf.h jim-subcmd.h jim-signal.h \
+		jim-win32compat.h jim-eventloop.h jim-config.h
+	dodoc AUTHORS README TODO
+	if use doc; then
+		docinto html
+		dodoc Tcl.html
+	fi
+}
diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest
index 3c51ecbe302a..b0b03d69f385 100644
--- a/dev-lang/moarvm/Manifest
+++ b/dev-lang/moarvm/Manifest
@@ -1,12 +1,15 @@
+AUX fix-quoting.patch 1089 BLAKE2B b42de8144ff2555dbb6986ab1d6b62ab6125e8f0fa8ca78ded2d8a0aa0d053ff4c52506cbd50f18a2e9cd8b7a8314f5a859ef55e7578d2ded4c80643cd4351ed SHA512 b7fe948f82c1c32b2b1c86a68409ae4d24927dc783476354b3ffa56e8448c5bb4d3727f1d8c37ed01685869d9636eb15776f92ae2f5f1206db98e954a948912f
 DIST MoarVM-2018.06.tar.gz 5002170 BLAKE2B 7c30dc54724c13538621fbf710d6bc1bd7d8b211824d4b5262685c95602c4910b7f7f6d59e52b0595d23dc9a68954fd1213055d72a20b418bf205ac770d05b67 SHA512 5d256cd7a49472e106326281059f8e9f8eb7591d116bfcdd33daeada42764774362ab8802edf889c5d875d438518ee9f243f5e44f451c9cf3495f7c7641be700
 DIST MoarVM-2018.08.tar.gz 5047553 BLAKE2B bcb3350e4a063958eee508885784f3f8eda20f7952759c084d4c0237c70afc4944836607c138e3df2e3a71fa3820190718ab1dd48851ae4a9f267562b9dbf87d SHA512 048fe4f333b017f21dbac34eb385f0569f566ec5ebba9f0e9ee217d325b61fc3542e39e0f1db6fc2cbfa48b09b1acb16c79f02fbe34ed8a5a1946927528c0570
 DIST MoarVM-2018.09.tar.gz 5070458 BLAKE2B 6c391907eb7bcda7eb6629d9f1aea16414fa9ee62d97ec3c72cea6c9b8f6323ef2869e560d8574d30b339889aff92ad73cfd174f9b23f4a98ef359873e053a94 SHA512 14d5ca1f6a8c77ee89fd05d66057b640b1e222391fded17631a4e11801de25e1fb3eb6b8b4dd977990e64952f7067482bf405a9ef5ebb6fdacdfa7c11bee21b1
 DIST MoarVM-2018.12.tar.gz 5238765 BLAKE2B ac0a7ba8107bcf79cfa58011c0968b5c960d9b2f2e59754b25a2f29e66f86e1d2524e16bce84323f2426f264476a4f3d307761c340ca6f09d3983eacde336704 SHA512 b55efc942a581e1d14a571b44a58a76e18f01ca1fabb4c68476003bb42fd4f3663fd532e75814cad6f7b1e1cf5562fe6b1aa68b956c1d8e6769e9dc1bce2b0a7
 DIST MoarVM-2019.03.tar.gz 5136086 BLAKE2B 695e5528934002b17f547a281482dc0015b3901b2c9626ce6fcf8aaa2df07c293f501871311ee3be47d009b972ca22a268bb34c859fde6a13566e8d03d1d3f04 SHA512 aa50dcf1499e83247c4c490384f80896160d08fb72a5a6da1f91748c6dc343fa30dcf35adca3e9e8329a2919026a4bdb299129865abf611ce49d73d05cce4285
+DIST MoarVM-2019.07.tar.gz 5187102 BLAKE2B a9c56453edf5b5834d33187aea6eabacac9a721e7a27471a02b82585560ffbb5bb8807ae8c738f3138c5b0453217ad101aab23bef2c8b727cd2f8a56574abfd5 SHA512 ff5370cb2c7dc4357825f02387757e36a5e03b711021c896043ba5f68e573308146a0d94c7855ec9b4860906a3b0720d316d119ca5bbda908f17d3f4f14f4999
 EBUILD moarvm-2018.06.ebuild 1333 BLAKE2B ec472c7a10310ffb82fbb697553aaaafc83aee62a8d3e439ce3ce68f21ab91313e753caed1546588c9a1320ab0efccff9bcdc8da646b84b112e8c31bc4c75755 SHA512 c7c78307c949b6122bc6437051ba4033f24b79f6a8c5d8f2b248e4b296d7efee9bf0fc6370b116fcd2ff7b9bb548beeb46ba472a4dd5c054341542318bb9900d
 EBUILD moarvm-2018.08.ebuild 1333 BLAKE2B ec472c7a10310ffb82fbb697553aaaafc83aee62a8d3e439ce3ce68f21ab91313e753caed1546588c9a1320ab0efccff9bcdc8da646b84b112e8c31bc4c75755 SHA512 c7c78307c949b6122bc6437051ba4033f24b79f6a8c5d8f2b248e4b296d7efee9bf0fc6370b116fcd2ff7b9bb548beeb46ba472a4dd5c054341542318bb9900d
 EBUILD moarvm-2018.09.ebuild 1330 BLAKE2B ada4198e9dd0f44f7e45a2eeb8da46aaaab31e0bfb05f21ca4c934921acde306fba8332fb94beff0c65879abf9f0bbbaea67be2f9d5a967fa90cb9104ab31f78 SHA512 220c957f8a73db7e18d9e252a1bfe6df53548e07abfc76b3a6b67ccfcb796a991123863230f68266530ba7af1a1647356474b9a8be65c0b1eee3b0f0cf4bbfc7
 EBUILD moarvm-2018.12.ebuild 1330 BLAKE2B ac9b962bcfe75d3b6f926b10256323e108aa6a8398442d19b10821ae1973185f5482e592bb13c24a8f58512df88dc84f22f5c3e84bce3cd90fd711f0b2bda0b2 SHA512 33ef0444e5d62ef1d849bbf1008b03251efa46465d0045b16f64a8f4360186f73f04384436ceefdc5bc02075e91945bd41d5bb0500adce38b4c8d9a21142a36e
 EBUILD moarvm-2019.03.ebuild 1337 BLAKE2B fc42ff48598e9947039df3f978524f9b65ba97cac303d1f5f29ef48c5f5cd5b15f1e098ffa31a6e73d48c42f04ddcb2918147af9f95a0f6d3eca37417d85fd84 SHA512 f5f5fd228947c619ff1aed0ae2c464ee90d60a1d121645627bf3f45745ceaf25b3316c93b46993cb1c7f8ae5662b2d6e44296a2f719ed20424ae664d797c48f1
+EBUILD moarvm-2019.07.ebuild 1352 BLAKE2B 75beb3754d0edd201686578c9106e1709441299d1957f06b0f79323b08338914006d7750677407b80eac7469c47a9844503fbeacc7923dd80497f9d1abfc6724 SHA512 6dc1c54d1d014a881fde6138d19fce004bfe1e9593fe805e9bba23ed8328d14cc6ed8debbe8d72f44d3ce3feff03bced01b026d6cd3cddd55929725026edee60
 EBUILD moarvm-9999.ebuild 1475 BLAKE2B b9ca271b78afab4ebc5e5f05ed13e3361cf96267191dbd8e80ba4c6923d945a1f136376439b890d60ee8345caa782c0baed9fee94a80e15302c258702c2eba63 SHA512 76b99f341f78085656bc196d97ca66ff170b590f6e7e06fab95ef02244d393b6083a217463bffdf389682b823ca7af684b9bba2fcabfd1632901639beab8763f
 MISC metadata.xml 920 BLAKE2B dc15290595649a4f4c514f26cd219c3d8a97bb589fedac8cca202b64abe49f6851fe50d24f95f82c0dd61d183ed1f4091a4fb0f500e8f89a9b91dd7e932cc1ff SHA512 9250682955318d688f59e27b740e1b04095a85f036578d8fe2a2eeb31e159e34845a191734ba4997034dca80a32e29c8f4a0658b9a76ea78ff5fb4479124696b
diff --git a/dev-lang/moarvm/files/fix-quoting.patch b/dev-lang/moarvm/files/fix-quoting.patch
new file mode 100644
index 000000000000..f3e02b156ab5
--- /dev/null
+++ b/dev-lang/moarvm/files/fix-quoting.patch
@@ -0,0 +1,28 @@
+From f1b26bb0e8f4e0a00ac31f9defb1ed74b820eb39 Mon Sep 17 00:00:00 2001
+From: Stefan Seifert <nine@detonation.org>
+Date: Mon, 15 Jul 2019 12:04:45 +0200
+Subject: [PATCH] Fix Configure.pl failing when --prefix /usr is passed
+
+gerd++ reported this on Github 1143 and supplied the diagnostics and
+fix:
+If the prefix is exact /usr, then it seems that in build/Makefile.in
+@moardll@: $(OBJECTS) $(THIRDPARTY)
+        $(MSG) linking $@
+        $(CMD)$(LD) @ldout@$@ $(LDFLAGS) @ldshared@ @moarshared@ $(OBJECTS) $(DLL_LIBS)
+moarshared will not be substituted or is wrong.
+---
+ Configure.pl | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Configure.pl b/Configure.pl
+index b71b576be..753dcfaac 100755
+--- a/Configure.pl
++++ b/Configure.pl
+@@ -441,6 +441,7 @@ sub uniq {
+ push @ldflags, $ENV{LDFLAGS}         if $ENV{LDFLAGS};
+ $config{ldflags} = join ' ', @ldflags;
+ 
++$config{moarshared} = '';
+ # Switch shared lib compiler flags in relocatable case.
+ if (not $args{static} and $config{prefix} ne '/usr') {
+     $config{moarshared} = $config{moarshared_relocatable}   if  $args{relocatable};
diff --git a/dev-lang/moarvm/moarvm-2019.07.ebuild b/dev-lang/moarvm/moarvm-2019.07.ebuild
new file mode 100644
index 000000000000..316046a745eb
--- /dev/null
+++ b/dev-lang/moarvm/moarvm-2019.07.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic
+
+MY_PN="MoarVM"
+if [[ ${PV} == "9999" ]]; then
+	EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
+	inherit git-r3
+	KEYWORDS=""
+	S="${WORKDIR}/${P}"
+else
+	SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+	S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
+HOMEPAGE="http://moarvm.org"
+LICENSE="Artistic-2"
+SLOT="0"
+
+#USE=optimize triggers makefile bug
+IUSE="asan clang debug doc +jit static-libs ubsan"
+
+RDEPEND="dev-libs/libatomic_ops
+		>=dev-libs/libuv-1.26
+		dev-lang/lua:=
+		virtual/libffi"
+DEPEND="${RDEPEND}
+	clang? ( >=sys-devel/clang-3.1 )
+	dev-lang/perl"
+
+DOCS=( CREDITS README.markdown )
+
+# Tests are conducted via nqp
+RESTRICT=test
+
+# known configure bug
+PATCHES="${FILESDIR}/fix-quoting.patch"
+
+src_configure() {
+	use doc && DOCS+=( docs/* )
+	local myconfigargs=(
+		"--prefix" "/usr"
+		"--has-libuv"
+		"--has-libatomic_ops"
+		"--has-libffi"
+		"--libdir" "$(get_libdir)"
+		"--compiler" "$(usex clang clang gcc)"
+		"$(usex asan        --asan)"
+		"$(usex debug       --debug            --no-debug)"
+		"$(usex static-libs --static)"
+		"$(usex ubsan       --ubsan)"
+	)
+
+	perl Configure.pl "${myconfigargs[@]}" moarshared || die
+}
diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
index e9acf6599e53..9c0c776b2d66 100644
--- a/dev-lang/mono/Manifest
+++ b/dev-lang/mono/Manifest
@@ -9,10 +9,12 @@ DIST mono-5.14.0.177.tar.bz2 219729440 BLAKE2B c21af7f541e5fcd456faeaf654ded7937
 DIST mono-5.16.0.220.tar.bz2 231487021 BLAKE2B e5154c5e356bc277a8809471e5bf8a87092224f54f08535d9860229040bdd3fec304404b893ddd36253f58b351e7023ce9649521a0e850fabfefb3e6700473c1 SHA512 f5266b28747dd7735acb047e1d7a3660d9984126e518885babba6cce5b8dd9959134f7b5c6cd79309b4fb1feaf9af9d0015fdbc2d4bd088928a279b5c1dcefb3
 DIST mono-5.18.1.0.tar.bz2 246472409 BLAKE2B 15cc6cf3700b52ed36836cc4c7c46c2780bb67659dad95fb552d4e3dd362ec1dae362ef054e3db58adc4262bb3f3b6ea11d53a505e57ccf125865337996440bd SHA512 3df43887751e7f73d516d0e2fe5c412542beaa949727135e3ef1b3e538ca1d8062c55d5394f1c01cece857ed8064b6f37984e46108160fae7623b9d0a48cd380
 DIST mono-5.20.1.19.tar.bz2 246790204 BLAKE2B 02e2f60394470a2dd24822b956a84fca78153d5c700118591d26f25c5a471204ed5d0220f8a3d894ab9f85b07f7af751dbe27831a75001546b42d6533b1cefa7 SHA512 498fffc70c524cf21477196b6fdc3c5d03a719098c0a0ca40c29e239588675ddc0538659e4119171316f8f35555fcd42390d474dff0b795bf67188bc34a35ae0
+DIST mono-6.0.0.313.tar.xz 218124872 BLAKE2B 985c8e43706939ba07d865a3bbe79a3b1c1c4eff44b40c4733878c2b4949c41707297d0d790d1a2802ade00f2159e46bf7e6332f9852488ca3e7a3c1430d1f50 SHA512 a1de452eb1c6edba503723217a4b5839563d154ff0c01852b551a41b3c98b5b617637e4e435de87bf275cfdce4066e70bfc763b607882f0b42e14196d7d5c156
 EBUILD mono-4.4.1.0.ebuild 3384 BLAKE2B fd16089b151c1666ceda7d05285fa8a10143a4157e46b75a3412b42dec80c0929f9ba8d9523ac65b64fb827ea8d1ad88fbe98a5e7d0d12423b970912d0ae50e4 SHA512 6c9c9ce5e19a33e4dbc1b0cdb2d17804a67eed5061e422358c971de5a2eb95b2848c4515312a4b082087c50040c1e7f9c687a134ca30354d8f4bde796432b126
-EBUILD mono-4.8.0.524.ebuild 3025 BLAKE2B e076a2771ffe50f999905f2565e741edc24c5e5b7998a92b528011cc9d03aa0cf0decfc538e9acba41afc7afb42e6486da29353940f4bef467288a5ca2e22998 SHA512 73c6b525881aa71e829214fc3ba05aa172942e3a441d79903af39b385e12eb31cae7083972a69a6bc1e29af98c5fa4828a7d96dc3c8564fca8daa01204ff8a5a
+EBUILD mono-4.8.0.524.ebuild 3024 BLAKE2B b88a949183065faf88c014a025c71300e475b2a5591d4b2c0b09e8df9407cc1657d0caf25a03fd46b8a2857e8387cab1ce8d9f07e2c1e77e429877ff6e9c9b0d SHA512 34f63667140070d5187242dc915ea895947da812673c4f41d9e0e4f6736295b5a3ce4ca5780a860891939af414f9a9ef00089cb856326086c55378655846f873
 EBUILD mono-5.14.0.177.ebuild 2968 BLAKE2B 17e110b05811a8c82cda8a5931cfdee4c4cb9b00ec86c4a5c8e4c205ab20743c8e61876822055e3ba065d9ee9d29595cf08cedcb7a87f4b53468b408c1a3f7d7 SHA512 2385767fee4277490ac3be828baf8c09c99534658ea708e025cdaa43830a36df3c96f5b4a089ac9a9026ab9c4989cf6379b93330ffe29ce1b5beac7198fb5047
 EBUILD mono-5.16.0.220.ebuild 3022 BLAKE2B 4596e60c26b9ea401f6322319a61e4a8faaa0245ab43db186102285497cf4a6864dfcf375f1e722664a049cbbe6ec52e4c84e720f63e8585d2f8c06841c906d5 SHA512 396f4e8a6f2d1b3ea4c960fb0fd571b919734b92b940364fef75f4b1f60a69d9604f089d91c88adddd243718dcd14e92c6e803d58f737a58dbb69293b89651f7
 EBUILD mono-5.18.1.0.ebuild 2791 BLAKE2B 953c99cf90884c4103fb02b73888f4ea03643aee3becdbbaaa40eb960fcb7fefed5b9fe06b395d1ff7a237915ab534a4ee2cf9127dcc47153f23a69e9a1f092f SHA512 ec90f06ac470c152ef215578fced5dc6ad0b3f542d07500f2152e88581c20c827b4307f6acf2841de4d2a9a802e8a4d3bb66f2ad236d60271b7640a8cc8ee2df
 EBUILD mono-5.20.1.19-r1.ebuild 3122 BLAKE2B 3be76d48cb6111acd9285bc9571efa1bedc2b05ca8c3aba1c06780b69f9c532dbc708d8fabc4af0dfda1976bfa7f6e0cae2f9f98dced2c384e13df677a0e978a SHA512 308e46700f0180f81775f22a89aa42cb0cc686a032e32962492f57260fd7993a0212fcb20142cdd89f419b0dd68010ac2a8817dd025ff865e6b8800408eee24d
+EBUILD mono-6.0.0.313.ebuild 2931 BLAKE2B c3eacc6e29683ff6c5d21e111bb753b50c055a274fae75b0489711071b6727bd490eee659e6d4fba02bcda24b15ca6564b8f4c3d115308fb670bf67c93de88ea SHA512 fe4af821aaf959863137eaf2e3e9a51d527f3be6152a24937b04018a080ff24eb2ac67d4959afc299f4816874b7df6cbea428fb039549022839761ece7fa8110
 MISC metadata.xml 507 BLAKE2B 91655de22fc1ff309c36ecef9d77aa8cada0b8f13ae30677665de837e99b7b43622a1dc0c677b0f5455c06b8e8a295c3c4f39753f66e749163a4f002ee481016 SHA512 e072a1abbf66276b0d139c3e918593010312c2059a0c6feba7b324689cdf90efe28bef0286ad9888125acfdd1fed2dee3e05e79a0aeb7f9ec1809bd128cf8a20
diff --git a/dev-lang/mono/mono-4.8.0.524.ebuild b/dev-lang/mono/mono-4.8.0.524.ebuild
index 3381396041ef..d8a805b9937a 100644
--- a/dev-lang/mono/mono-4.8.0.524.ebuild
+++ b/dev-lang/mono/mono-4.8.0.524.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -12,7 +12,7 @@ SRC_URI="https://download.mono-project.com/sources/${PN}/${P}.tar.bz2"
 LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
 SLOT="0"
 
-KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86 ~amd64-linux"
+KEYWORDS="amd64 ~arm arm64 ppc ~ppc64 x86 ~amd64-linux"
 
 IUSE="nls minimal pax_kernel xen doc"
 
diff --git a/dev-lang/mono/mono-6.0.0.313.ebuild b/dev-lang/mono/mono-6.0.0.313.ebuild
new file mode 100644
index 000000000000..8093e9eb4e49
--- /dev/null
+++ b/dev-lang/mono/mono-6.0.0.313.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux"
+
+SLOT="0"
+
+IUSE="nls minimal pax_kernel xen doc"
+
+inherit autotools eutils linux-info mono-env flag-o-matic pax-utils multilib-minimal
+
+DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
+HOMEPAGE="http://www.mono-project.com/Main_Page"
+LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL"
+
+SRC_URI="http://download.mono-project.com/sources/mono/${P}.tar.xz"
+
+#Note: mono works incorrect with older versions of libgdiplus
+#details on dotnet overlay issue: https://github.com/gentoo/dotnet/issues/429
+COMMONDEPEND="
+	!minimal? ( >=dev-dotnet/libgdiplus-5.6.1 )
+	ia64? ( sys-libs/libunwind )
+	nls? ( sys-devel/gettext )
+"
+RDEPEND="${COMMONDEPEND}"
+DEPEND="${COMMONDEPEND}
+	sys-devel/bc
+	virtual/yacc
+	pax_kernel? ( sys-apps/elfix )
+	dev-util/cmake
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-5.0.1.1-x86_32.patch
+	"${FILESDIR}"/mono-5.12-try-catch.patch
+)
+
+pkg_pretend() {
+	linux-info_pkg_setup
+	if use kernel_linux; then
+		if linux_config_exists; then
+			linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel"
+		else
+			# https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686
+			ewarn "kernel config not found"
+			ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
+			ewarn "See https://bugs.gentoo.org/261869 for more info."
+		fi
+	fi
+}
+
+pkg_setup() {
+	mono-env_pkg_setup
+}
+
+src_prepare() {
+	# we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't
+	# get killed in the build proces when MPROTECT is enable. #286280
+	# RANDMMAP kill the build proces to #347365
+	# use paxmark.sh to get PT/XT logic #532244
+	if use pax_kernel ; then
+		ewarn "We are disabling MPROTECT on the mono binary."
+
+		# issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9
+		sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in"
+	fi
+
+	# mono build system can fail otherwise
+	strip-flags
+
+	default
+
+	# PATCHES contains configure.ac patch
+	eautoreconf
+	multilib_copy_sources
+}
+
+multilib_src_configure() {
+	local myeconfargs=(
+		--disable-silent-rules
+		$(use_with xen xen_opt)
+		--without-ikvm-native
+		--disable-dtrace
+		$(use_with doc mcs-docs)
+		$(use_enable nls)
+	)
+
+	econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+	cd mcs/tests || die
+	emake check
+}
+
+multilib_src_install() {
+	default_src_install
+
+	# Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora
+	# mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html
+	# for reference.
+	rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die
+	rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die
+}
diff --git a/dev-lang/nasm/Manifest b/dev-lang/nasm/Manifest
index 91b5c3cc1cdc..b9365ba75f4e 100644
--- a/dev-lang/nasm/Manifest
+++ b/dev-lang/nasm/Manifest
@@ -1,4 +1,4 @@
 AUX nasm-2.13.03-bsd-cp-doc.patch 357 BLAKE2B 2611aa3e7f817530c8012f1849d5d80f47105a2e35950795826b3b9d128493ab7e8c1da106b9d22e24a025f8bf24f142cad385c5fca13e09423168bc2fc69f65 SHA512 6562f98e08953b5ac667df4f89f401cc520cf24dfaf112121ca0f7a039b96a328316afd62d118ae98ec9d2c1c3f2c1c9b88d2d66f19197637b7b785a48964f9c
 DIST nasm-2.14.02.tar.xz 827620 BLAKE2B deb1f3c806ffbe48eefe4163271c68f02a782f75f21980331cb03e64de20da61c118621536c1c869c1629e558cab45ce98fed8443d29c1126fb4255cd6a36ce4 SHA512 c7a228095f37321d57f2813d04f58ee66949e8f81fc49ef6c4ecd391301e308217583ce1a265d4fe8c13d54b5b9c72aeb132caa3caee36e31b6555fbfff34c81
-EBUILD nasm-2.14.02.ebuild 1045 BLAKE2B cabb79558ce2c50e8eb44f3d090a8d1874e1e09e94d755f8991bf6bfb28b16392348f562b18a0a8c9fb7c1c88a33c4f798a18e9021e0e60945c98bae89f99725 SHA512 833f808440f1fa5471c56e5d5e12404a5329b7081054e188f5dff6414b30094158181bae0a9c14c9b3c4580a2236089668daf5c5578e6a207ad49363173c1a09
+EBUILD nasm-2.14.02.ebuild 1052 BLAKE2B 07e829243a1c6749d59dab84d4e55b434fee8230d8e7377b0b55f5767eec83320780acd558a2b60be6b18e00ff5f96b58c69a681dffdbd76172aacc1e3c1a85b SHA512 cd85fdc5b42223cd132b3bc9c192a3d392bbddd0450ce2dfbd092909e6c928ef4e4a279aaa099643231f0d3a8aa61130af98268bf6af14a0c85d49461d80a8e9
 MISC metadata.xml 869 BLAKE2B 6acbe39b23e071849e6afd42da7ec5a56f017b708745e5efd09a288775da944fbb1185cead3ceaa573398f5874115139834584323e5b4cff360cf6cd9cca4ccd SHA512 a6bf522dfa6c43ea58a432577fbc31bcc9d262f7262c16d165b3cbacf8394a6d9e6d1eea9480cdb27b692cacada0c5fba3906e913259c2809a48159bce53e5bf
diff --git a/dev-lang/nasm/nasm-2.14.02.ebuild b/dev-lang/nasm/nasm-2.14.02.ebuild
index ebe185b58e18..a5f9a0b969e1 100644
--- a/dev-lang/nasm/nasm-2.14.02.ebuild
+++ b/dev-lang/nasm/nasm-2.14.02.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz"
 
 LICENSE="BSD-2"
 SLOT="0"
-KEYWORDS="amd64 ~ia64 x86 ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="amd64 ~ia64 ~ppc64 x86 ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~x64-macos"
 IUSE="doc"
 
 RDEPEND=""
diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest
index e41bdbcf9702..a0a74323599d 100644
--- a/dev-lang/ocaml/Manifest
+++ b/dev-lang/ocaml/Manifest
@@ -5,6 +5,6 @@ DIST ocaml-4.04.2.tar.gz 4061873 BLAKE2B 756936592c7e0c87da27f154f07850eb3e4b2ed
 DIST ocaml-4.05.0.tar.gz 4431750 BLAKE2B c2ab003a13e0a581ebd0e1c96eeb8a9baea9bfe6bee08823b0e4541819201ec109f1846e13fc1aefa51a001eefbb8f73320ba854d41975fc68cef41bc75b1ecc SHA512 9a060ae4b741e1687277403e5bdb8f6eda2e2ebf6c45f7c0149b66ea1213cb26d13febfbb3f11c12543e244cfdd053b786b09c4145e2348e5d89a7206f7de225
 DIST ocaml-patches-8.tar.bz2 1803 BLAKE2B 5e76a198c2f5ca9f231d4e80499d784cf061ec79bf6b5e3aac917e1260d1f2b927f0f8015d39c01ce4fd481d32a5d211c31e081a7ab87ba1e7c7d5def95bc0fb SHA512 fc477fbb5bdec60a3c4d3dfa110119bb579560ac0e0e57e30e076da72643bda6359c06fd3745fd3436c5d611dbbd888ec2921e9d1920f4929df633c35a797411
 DIST ocaml-patches-9.tar.bz2 1700 BLAKE2B 4e46b8fb490db28f815414e285f54e251394ea53e1d25c529bbea9f03e426fd19132b1e2c7c2be7d14983fceb4cad073d191b001f6da522fee4226371d4a2eca SHA512 cc19f9104fac69aecc5effa8cb772342e1fb61cdcd38ba0176efe04cf3d710b1c56d5178748f3bd29099af91fa684da432a8ef8d42de76dbd1b6954a255ea6c0
-EBUILD ocaml-4.04.2-r1.ebuild 3556 BLAKE2B 9b025d534a39235bac5f54c59bfc78ab979c3a4e0818cd65216ab79b5729e07d09c0edb007603268d28a5a1aadcbb283e4d09f052eafcc08a096cf14d7b62b70 SHA512 4186676691b7081d5b808a9ea28588e5528fd1d15a7ff69191aee7f964c1d6b75682c9a780633dbc5f320648e6d427ba74486a8883046ab66b84f42bcdad88db
+EBUILD ocaml-4.04.2-r1.ebuild 3555 BLAKE2B ba1308628ee172b538ba309d630f365d1ecf8ba77d427496aa9f6e71678878bc3218996e7e0f282af490c7a546d34a03106f15c608e84cd66a05495ab12a81eb SHA512 14d6ddb925d7c1b1b5e2093de7799fb7573260d8ca9435509bbb8efcd770be8688945d0bb82f40a9ebc7f4b78183b6338bc433343eca5b139361aa536c1ced95
 EBUILD ocaml-4.05.0-r1.ebuild 3714 BLAKE2B e6b24ec8c4bf0463c07f3986c39f9c60f1fb495c682aba509dc69b8db19aebc12a10f0e49cd3073ebb03551a6fb6183a32ca9b32379899016c01bc616b684a57 SHA512 300e999df9dad18e0e30181bda9269dd391e09bd24c54531a71f73ce63bb2acd315a277f65a28080bb9a783d76a1b33db96cd42d6996b0d766af26f731f96bf2
 MISC metadata.xml 685 BLAKE2B 3a75f4190c512c50dcfb570cf75c99c93b4bebf11b6d030b56e6f8d6839b94f2c8ee3da87425721b7554e86c0ac4e56ce3281af1702149e852c9592599e48434 SHA512 d57c80b4921393738ff8d58ca7bef5638b7ac7a21cfdef6c1d61c46ef576426afe2dcbf7341fda1ba5ea77b3ebdd1cb299e94a245577d9d990a536f10efeaf68
diff --git a/dev-lang/ocaml/ocaml-4.04.2-r1.ebuild b/dev-lang/ocaml/ocaml-4.04.2-r1.ebuild
index 60c56bef2e49..dbff181950ce 100644
--- a/dev-lang/ocaml/ocaml-4.04.2-r1.ebuild
+++ b/dev-lang/ocaml/ocaml-4.04.2-r1.ebuild
@@ -16,7 +16,7 @@ LICENSE="QPL-1.0 LGPL-2"
 # Everytime ocaml is updated to a new version, everything ocaml must be rebuilt,
 # so here we go with the subslot.
 SLOT="0/${PV}"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
 IUSE="emacs flambda latex ncurses +ocamlopt X xemacs"
 
 RDEPEND="
diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest
index 61fc5cdad77c..a9e0adf5be45 100644
--- a/dev-lang/perl/Manifest
+++ b/dev-lang/perl/Manifest
@@ -1,6 +1,5 @@
 AUX perl-5.24-libnsl.patch 613 BLAKE2B 3d802f2d9203765630690a12dce5bc339dc0ec3531b47d23cb27877d1159d74b4c0c225fb21fb71257a3b125b72008f6a9b2d174fcd66e3b80f271abccc6f6f2 SHA512 19241053ecb83f5427a7361d222d87ba20c7cc59b2c6cdff011e4f9c59d828e703f0de17dcebb886772278c8dd269bf2b95978a2dededc0bf4ef9056733a3ed4
 AUX perl-5.26.2-hppa.patch 3231 BLAKE2B d59eab55eea3daceb0d3df39778d43ebaee2c065c052ca048ec17c06fa90049eb7fd5ae40092f11248de25cdf9cff96dc69626e7f3269b24cf618004deeb5859 SHA512 24856ae3c637c58d16d543240f5028e137c33c7aeae7c0c3dfa1a69b621057a84ab4ddf8b12ac6ef251381af4b190c200262bec9bdaa6001199dbd1d15cf4bae
-AUX perl-5.28.0-dirhandle.patch 3709 BLAKE2B cb7bc1fa84d2a2823980378e28faf13596c540b3801a77e304e3495707eefe897d6f6783178b695b997fb7dd5287cfd5a90d6d1117183ed71116aba70e02dd7d SHA512 7586f2e646ad64828d5f08eece2e6d3eb60be566754078859ad369b0340c749afe62be2eda149db69dcf3002094eb9eec2ddd7c3721f030c84f9f6587b6d1541
 DIST perl-5.24.3-patches-2.tar.xz 23980 BLAKE2B 5de7ac2cc5238d0b8460a294ae2e8da1455f89a63691a4fc022d49756ed4c0e577672149de7bd475d10f4860b4a98dc1db0c6f32abaf80f8c04658f6ca706e11 SHA512 f13c5fac65e11d691b77231cc98b0a57b6ccabd66535835bc387410dc88c298d31fa471bcd9f4e86d4d51b0402483283c23dcd53d69e0dbabc77b9db6fea4936
 DIST perl-5.24.3.tar.xz 11574740 BLAKE2B 79e719d1d0fcea3eea71653f276d0d093d8d1f6b1f981b053f25e6891c57af9ee1982f65ce4a31e4c5844eb11a7966f25c6b459cc7de51cf62b9127be96f6f25 SHA512 139c92c0ea0ee7bd5912ad52cc275e0732ceb0865d8b67c301e1fc5a96ae126a26432b4450a2bbc7fe65b8e1dd8adde92ea2cc91ee39cb13ec3c5096e8f787ec
 DIST perl-5.24.4-patches-1.tar.xz 24244 BLAKE2B aa4557a887e57d584c738058ed147f1b4f80f491223e1476c16abdc371bbe133f5d99ea3be11e44101b5343680823ab29c5d26cc8a8ca222275ba4bc092cd5d9 SHA512 465f22269d6c07be5616de223c712ab57d7060fdb4fcc4d79ab23aae79fa61517dbed112bb3a2541d3368a02d046b769ef8fa50a7b91379ad03ca4bf3387e518
diff --git a/dev-lang/perl/files/perl-5.28.0-dirhandle.patch b/dev-lang/perl/files/perl-5.28.0-dirhandle.patch
deleted file mode 100644
index 02debe5ac2b6..000000000000
--- a/dev-lang/perl/files/perl-5.28.0-dirhandle.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From e0eae03760cafde89463c4d3d238be9a629f7fca Mon Sep 17 00:00:00 2001
-From: Tony Cook <tony@develop-help.com>
-Date: Mon, 2 Jul 2018 10:43:19 +1000
-Subject: [PATCH] (perl #133314) always close the directory handle on clean up
-
-Previously the directory handle was only closed if the rest of the
-magic free clean up is done, but in most success cases that code
-doesn't run, leaking the directory handle.
-
-So always close the directory if our AV is available.
-
-(cherry picked from commit 3d5e9c119db6b727684fe75dfcfe5831c4351bec)
----
- doio.c | 56 +++++++++++++++++++++++++++++++-------------------------
- 1 file changed, 31 insertions(+), 25 deletions(-)
-
-diff --git a/doio.c b/doio.c
-index 4b8923f77c..16daf9fd11 100644
---- a/doio.c
-+++ b/doio.c
-@@ -1163,44 +1163,50 @@ S_argvout_free(pTHX_ SV *io, MAGIC *mg) {
- 
-     /* mg_obj can be NULL if a thread is created with the handle open, in which
-      case we leave any clean up to the parent thread */
--    if (mg->mg_obj && IoIFP(io)) {
--        SV **pid_psv;
-+    if (mg->mg_obj) {
- #ifdef ARGV_USE_ATFUNCTIONS
-         SV **dir_psv;
-         DIR *dir;
-+
-+        dir_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_DIRP, FALSE);
-+        assert(dir_psv && *dir_psv && SvIOK(*dir_psv));
-+        dir = INT2PTR(DIR *, SvIV(*dir_psv));
- #endif
--        PerlIO *iop = IoIFP(io);
-+        if (IoIFP(io)) {
-+            SV **pid_psv;
-+            PerlIO *iop = IoIFP(io);
- 
--        assert(SvTYPE(mg->mg_obj) == SVt_PVAV);
-+            assert(SvTYPE(mg->mg_obj) == SVt_PVAV);
- 
--        pid_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_PID, FALSE);
-+            pid_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_PID, FALSE);
- 
--        assert(pid_psv && *pid_psv);
-+            assert(pid_psv && *pid_psv);
- 
--        if (SvIV(*pid_psv) == (IV)PerlProc_getpid()) {
--            /* if we get here the file hasn't been closed explicitly by the
--               user and hadn't been closed implicitly by nextargv(), so
--               abandon the edit */
--            SV **temp_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_TEMP_NAME, FALSE);
--            const char *temp_pv = SvPVX(*temp_psv);
-+            if (SvIV(*pid_psv) == (IV)PerlProc_getpid()) {
-+                /* if we get here the file hasn't been closed explicitly by the
-+                   user and hadn't been closed implicitly by nextargv(), so
-+                   abandon the edit */
-+                SV **temp_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_TEMP_NAME, FALSE);
-+                const char *temp_pv = SvPVX(*temp_psv);
- 
--            assert(temp_psv && *temp_psv && SvPOK(*temp_psv));
--            (void)PerlIO_close(iop);
--            IoIFP(io) = IoOFP(io) = NULL;
-+                assert(temp_psv && *temp_psv && SvPOK(*temp_psv));
-+                (void)PerlIO_close(iop);
-+                IoIFP(io) = IoOFP(io) = NULL;
- #ifdef ARGV_USE_ATFUNCTIONS
--            dir_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_DIRP, FALSE);
--            assert(dir_psv && *dir_psv && SvIOK(*dir_psv));
--            dir = INT2PTR(DIR *, SvIV(*dir_psv));
--            if (dir) {
--                if (unlinkat(my_dirfd(dir), temp_pv, 0) < 0 &&
--                    NotSupported(errno))
--                    (void)UNLINK(temp_pv);
--                closedir(dir);
--            }
-+                if (dir) {
-+                    if (unlinkat(my_dirfd(dir), temp_pv, 0) < 0 &&
-+                        NotSupported(errno))
-+                        (void)UNLINK(temp_pv);
-+                }
- #else
--            (void)UNLINK(temp_pv);
-+                (void)UNLINK(temp_pv);
- #endif
-+            }
-         }
-+#ifdef ARGV_USE_ATFUNCTIONS
-+        if (dir)
-+            closedir(dir);
-+#endif
-     }
- 
-     return 0;
--- 
-2.21.0
-
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 1c2b0958d36c..2c0c0d87fed3 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -5,32 +5,22 @@ AUX php-fpm_at-simple.service 316 BLAKE2B 0ba10f3e3b004fbf14956e1e4f04f59b8a127e
 AUX php-fpm_at.service 317 BLAKE2B f13fc38fcc0575a8517ee8d07b120efda37eabd2355061d0fdc303604c6b02ad42d7301180d86c977d5e585f5dd685343c592e37a6e0f44933707be79e0b77e0 SHA512 27982f9e2d958bfa75c89c7d3531e48d17fc388b1cdcbc8e09051b236b1184ee2baabdfcc567c19d9fcd067d4b3b86f171015616d8da42fccdabd89432d865e8
 AUX php-freetype-2.9.1.patch 7667 BLAKE2B efc8f829bbad11b3e7b654d0882213ecb9aae766060d51f93446a6293a2f607339faba484c7b0b2f9318a5c5442da3c09e25aeda20dbc5e3258bf1009f8625b4 SHA512 0a06189f6fb3513cd2dcf9ddb590360475e2dd9a7aa8b13ab66c389c1ed40ce2361681f017cd3c6219f5b40a0a9d4978e57ca3ee4bacb7657db3285136fd2875
 DIST php-5.6.40.tar.xz 12472236 BLAKE2B f41147eaec9b15e965540f9e871691cc88848dd619bae6af85e7bba0130b71ce91bad5cdbbadbb537c42df83369f5c731007339a9d9e21e689e913c135201afc SHA512 997b5a952a60cf9166671cc91fcc34c674dd62bfd5cb0a9cdf3fdf2d088b5d19943d94c1cf193f8ab71fc4957d9a9a4c7c2fb8826f937501c1c0a0858f10e329
-DIST php-7.1.27.tar.xz 12219868 BLAKE2B 9de4902504e50b53aab28eac2252aa79302541352b1323a17e68cc58e22cd3b6108b3f7d6ba4779a7f87a561442cf3c44c5660418a354d3b48b6df270a761f8b SHA512 a7019788b02f624e19f804cb0c34578443fc2e0a582a32e72d1340f3cd7bb866631497fe61d18f31f92bad5aa7667847e21bd3916fcdd6f04a3b8f88c805f544
-DIST php-7.1.29.tar.xz 12221984 BLAKE2B a07e7e5ee58f9a74437d865bb7ee9a4458fde52cf3e678128fb4c2d1cc076da0d37dc16c8908011ed542cc37f492d56a6565e06315630d2a213e2a42accdc4f4 SHA512 97575ec588fd3ab51360525fc02058254b95e89e0a36c74a2890ae7619adda1a5489f3675fa83754f8f693af463cdf17232db071351b6ace9f83d4c3c643f682
 DIST php-7.1.30.tar.xz 12221980 BLAKE2B 7b2550e8f1c3cbd40223d9ed1d3e9e7a32550a057ecf0c83ce105a5e17805a57266130830adf60adeb4bbcd4cb787539a04783b0588d84e9771ce036de8b176e SHA512 7c6654e118931a8dab4896a7b62221b863b5a235a9bbce3e0c09abf5e55b964f86b1d2b2c96683b09254829c2569e72620f4d8d50cd05153ee56617e62ad37c1
-DIST php-7.2.16.tar.xz 12166372 BLAKE2B c59ac69b717a8ee88f229baa94c43f9ee1d9c7161c767a95c3a9719ee70cdc9b61aaff75504aca09bba10d224d9a717cb7c985060b6912491857a003e6cbc349 SHA512 cd2ea3c68d7ed20317800f4b838b0dd9ae2fde508c79662b296dacdacf6c7e35b6ef30a6564516d7b22e82749a6e9e2ffcfd95b05cd79a9f227fbfaf9e25bc31
-DIST php-7.2.18.tar.xz 12172696 BLAKE2B c23f4dffe60ad48b53de1c565ecb4f378f5d3daccde98ec8d9bddcfce8bd1a48a75061a72d0094d0db6719a3c0a96cae25ce0ef0fbfadc28fbeff27b332c8107 SHA512 b38034aa13867496009903ba64e4e8bf3216307a9ff1dade60a1477671ecf7bceb5062b349f6997d9af414d58d46ea7bb3f9855e372c230f4a6cff26ad9985d6
-DIST php-7.2.19.tar.xz 12176404 BLAKE2B 2ca4ffaa525bc4b3c52b394ab667f99e1657307e11ccffe7a01f9a3b2974b69edf3039b52d8b3ab4509265c966a1d4722d60d281245136b57fe0dfb7aef72bab SHA512 debf42e35ad4884efbe54095abd1f067ddbb4b1446a7b168cb5a08ef61400f5b59844b29d51bd5fa740bf24bfe822c94c5889b4be1bb159eadb3751f77e37ab7
+DIST php-7.1.31.tar.xz 12370928 BLAKE2B 18b7d5398380324243321a39d337bd10a7eb82812f3dbb9b2ea9eb4808ef585d6452cc5953b56d24bcf817994e249b8b20cd9b4658e1df6c77de78eecb48a3a7 SHA512 989cd157e0d67c6f03192ce9e1afaa01ff72ccc83f3e6b94ac8dc3d4c2717258a46bd64fb20e4649baec1fe2545805013eedc1de78e556d09c2b0ae64d4272d8
 DIST php-7.2.20.tar.xz 12183712 BLAKE2B d163afbc56c0d32a3d0f24d3db2c4016a71bb745642f27a01bdfbe29015106f5708ee3aabfc482b01f48c147ca9e28e9b6d1da613284bc3d35651e2aa0862940 SHA512 7c61b7277181f70a8abae560e72f765f598712afe9be6cef0b9a50402e0eca74b773237866e0375e41a4e6f76111035c92e823120a4be2b7647517b01ef6b5c7
-DIST php-7.3.5.tar.xz 11981356 BLAKE2B f0ea69358519458d1e48f598f3af808f560d824f417995ea80fc63c8610fb04144a471cee7941802b29eaf24b233b506baa4fff390e57292335f88c434b8dc46 SHA512 3231947b01333987568ec3304bebf0c089a23cd6bc4a7139683bd36b2490fef13ed494108b645d40d5ab55f65990004445ba04af48393a9a508cfa7379ba81d3
-DIST php-7.3.6.tar.xz 11989392 BLAKE2B 3aeba998f05a93f21befc1356365586bcf51186fd356948ca15016569b4d4838b2c9079975df45147f017af775cd870770ffa199682837b4b1b3b8b3938f2083 SHA512 940085bd4c53b11751d962426c73ba3bc30ffa22ac3b4380465d0d15e383ed68f83fa4f22b1246fcdc4f68b46e59512a52966453463c60fb9241c34d8a340ffc
+DIST php-7.2.21.tar.xz 12298448 BLAKE2B f82b35fd3cdf45d8c84639d044729602340c2d34695b5603a194e2d504627c0e041ab156c3720d218d8d6ca51c9ef71d8d0ee37585142aa30ed0cce51fbcb91e SHA512 c7fe01626c1e25e8882d8f2b69d77a5479567d2daa3bf25d1ce3f45314a882f79ce9914a2aa1b3052b6289b46873f466e457049ce1db6e31b60ba4995187507c
 DIST php-7.3.7.tar.xz 11993760 BLAKE2B 0d634171825b9fd0a831a45486f4d67142bf592042571025a26d8a01e236ef6735af11cffb645ca19d245fe56f1b0085b32545360668b68686524f4307898d07 SHA512 583a28aa346c3322998bfda81bf00f2f2b84ff1e2311f0877288d7d4f02639e953e9bd8cb59372cd4bec9aeffa3ec00375c4b03a3ee8ec1db05a095a28164908
-DIST php-patches-20190307-r1.tar.xz 20796 BLAKE2B 251f0d8b222e4a6a339a3b1d4aff39fab8bd7203ec34295b7316a366a7d0015bb9e6665614005949da9decbca53aa9ac0aab63845638a6b4d3d462eabff4ea35 SHA512 d7a412ec1bc6002c458c6bc3cb53faf4e95a852a6cdad337f6a81a978dd56ba72801cccbe866857d6c5b7e95dfe558878133e44a4e9f9b6efd38e679acc82af9
-DIST php-patches-7.1.28bp.tar.bz2 27464 BLAKE2B 4babea64a2a24f31299997d6a962b3b7506ec1bb77b8e8b4532cce50c1a9eda73829820c2c7883ea97c1a860bab4220e2c576bdd14d8dd80c8e6a3af808c4c52 SHA512 171a8e52c70283dee12316ff8449dc7c7d3bf37c803724b63c7aa9bb12468a795de286075af317ba69080a5e1c3ed59a2f5b3891b35fb1e5045ede277d48e56a
-DIST php-patches-7.1.29bp.tar.bz2 28709 BLAKE2B ad9510e5f550407895371c615db9dc3329c725e9dc61c7a4a2b3bf92ca96040d720cceb333e5c5cc577a9587530da2b0dca5e5466c2acdb0c12f6395927334e1 SHA512 d41fb828cd00473abb9d6d8c8a5f0f2783146874de27c6c7d329437dcd8cc292574f4762e64738d4e7cc584db59d33396908d54a9aef238afda5d445d062065a
+DIST php-7.3.8.tar.xz 12064620 BLAKE2B cfe2fde5e48080e13bd21cb2e2ca0c0ae38da03c94d0692e11bfe6722e50bd0b864d629a0ef6aed4ac5d9830ec4b4b214b9abdf917519a0c0cb70a4362fc8390 SHA512 9e9e13845350f3d4a8a80c3e2fe8291996e2749b2c862261b96346c01e5e24640cb81adad5e3b7668b56b2266c1fcbb713e8c38da4f9aa474f5f632f91378a8d
+DIST php-7.4.0beta1.tar.xz 10200060 BLAKE2B f49c49fcebe0309bbe266dec5c468037499fc96908a4130454403e57caa3ef7da3c46dbc83829bb290c46edfc14921f71fafddb8b0777c23adec35fbb57ad68c SHA512 3e4307201c91cec238c9bc6c27a629a93de8baba0307f2e61cb4bb242720178382dd50b38e7a18fbd65baf25068b358faf571dcb895e7cd6fb292038dee3ed6b
 DIST php-patches-7.1.30bp.tar.bz2 30698 BLAKE2B 74bbab7e3d721ce823f1820b9fad1dd61c9b109e50392ae6cf08f9ae1f6b813273d50edad2644913b016b369f6fc32ff5bf1abe0687c23876596f3f18ec20e1a SHA512 832f97636a346c88089190dc0a0d98d39ef69244b441e553a7775da602227338f1f4a6cb90295b4f5fb117f6c64b259120840dbfe0da7352819d94392aff9fd6
-EBUILD php-5.6.40-r1.ebuild 23648 BLAKE2B 1f8cf8f5f9a1584029aa8bae4f770dba5bf721dbe2b9a0cca943056e4cfa362b9e9d199a9eec18e11776235c0eac847b4bc6ce458a8c3cef7efe233f49596c5c SHA512 ff1bc6fdf20b143dccf95862329291c7d38dc29871ac7715ba2ae79e738ab1e80e08005412b47a98c6a427d0b09cba3449c86f10cbf61420a3eadf7807fe50f5
-EBUILD php-5.6.40-r2.ebuild 23035 BLAKE2B 63bae4611a9db68154201cecf202e7182f3c0ac6afe328484c6b345db1d80cfc157fe9f704956767c473b9ae9b52360febf2ffbcb9808fcce690c31730fafdc5 SHA512 6d2683374baaa01cbd03a5504d8fcf561dd0c92b89ed516c3bd7f3c32e039123a0801ee7fa00637361138108d39461721c5077dca56384b262f1dedcd6d534be
-EBUILD php-5.6.40-r3.ebuild 23067 BLAKE2B 0e133da9d0d3879235b0208096e5c99f257f0d93686935d1fb0648efbd92fddd71f579ad59c09368844a251b956fade71aff7d88be2211e2c5832eb2f4b713c2 SHA512 c53b2549a14b55dc16b2d3b8f5c7617ef5deeb30db19606b582126cf32dd040b51b86ddefb3472573c3b11c14f8b72bf5064a0edd37e39b5e9139f2dbdd8e798
-EBUILD php-5.6.40-r4.ebuild 22996 BLAKE2B 49c663aecd082dab6d17fa4815bf322877d71167faecda82592bde9d77fe846f16ccc9ecbc85629456140988f5717ab2fe1f8275a7c4213527b7a90630b162ac SHA512 9ee3501ec345355badfad75cf40afca98ce7ddcee38dd52bd7262bb800f2d70fd2adee7c4bcf7332a16a5b596fbd3a567710875956eed0c2370e1b2645bfcbef
-EBUILD php-7.1.27.ebuild 21985 BLAKE2B efa2ce2469a2bc5b52d46550506687284c150c95362a4b8c458ca3a54eb09b8b12d6b2a82175ce8ba8c717dd8a9d78b37339a568a7e3e99b9e884da48a0a726f SHA512 dfdc5fd44f04cf7f481a4bb7da30417ab2c9b48f52024dfdceafbd49da614ba682dd58516732b12be7bd91cdf128d4fb86f239c71d8e7c1c098dbbc7f4c4f385
-EBUILD php-7.1.29.ebuild 21995 BLAKE2B 6ce17a7b0a7e41922199ceeab72e05a4327105da6b97bc9af0f5a9014fd4a4a872491c810d721e97e6547d3ee5cb6d235ab842eb8293eb47c7c5e6cde1d2dabe SHA512 6801e4ac7755f816311530a3bbaa08bd48477c9c402eeb37b007a689dd946b716be86aa7ed9c7dd53703bfd073287087f88e75099b58c6dab6558563e48f67ef
-EBUILD php-7.1.30.ebuild 21986 BLAKE2B fe9f7b9fe8ed8d8f9b10ad226693e36a95aab0da61a900de8460276f6116455b8da2be926a8ae8d29cb0c0552a65e0cc0a72c6ddbbd814133b555128fda1b38a SHA512 53eb615472b1d018ccd8a5cfef8096f47f0641bcd4a1496ddee4aa4cca38f2a19c88e877f87e9e45b32dd4c4f028d97debd5356c2c0f1fe22baded1770df1598
-EBUILD php-7.2.16.ebuild 22516 BLAKE2B 8a3fb93cb898be7ac86793c8066461b45b5f35972469ca0729ae0c14e5855d06b268c64475015e3ac4c2018cb6a7860acdb9acbda5488656b2625df5fe4868c9 SHA512 dba861469d79acb5769eda7ef1e5f689f6b199a6267e6e769e2e660fa0540a3de73918c1e74793082e66fa8eb8d0cbbf9ef7b99e881751252c236e08090ea2ec
-EBUILD php-7.2.18.ebuild 22526 BLAKE2B e31a0ae6df4fc5b632b06d76e83709fb0c098b6f98a384911ebe7ca2c1873106670221d6506f73a5a163beeb5c43dac7685efa1ba4e3c8746034a7ba779b4483 SHA512 7808dc20a216b8418986464b8bd571c093d1b02fda1dd4d48a4580f6c4632990dc8a0c5542f2786608b0951068ad20fce842b40132c239853a17d41b6970eee8
-EBUILD php-7.2.19.ebuild 22517 BLAKE2B 8fb0affca6b4a38ddc72048a9848538338a712e7dbae27afbe4c8d916310ac0a81c1d586c28d7a86ddb5de555b2d97c588a0073a0892ba0e27db7aef1076dddf SHA512 27fa0dc1c1a0b8f4420eb899848d4fff208834fb1925d48dc2b2ba74d4fecbe8481f1db5818de81f4369e7a64186f6bee312a82127757688fda6831f22f3740e
-EBUILD php-7.2.20.ebuild 22524 BLAKE2B 1cb26ada057816945c150659f6ec904d135efc1e0844abf96ec9af6525bf0731bbff82622a1161b9a96a600ad81b55c14cb238556b89181a14d1b99569c6e3bc SHA512 519400110fcc3ecae2d33c0a6659342929c1e74649577c96955e23f458c23c0e39cfc03086707614db9523105672d366c5a557df1563cdf0c55bc486789ee970
-EBUILD php-7.3.5.ebuild 22537 BLAKE2B 4c042d9e887e578814f716b965ea37f834f5cfe3cc464fcea62b6d0b966e776a2b8b567485ae32b9a7c56705231e9ef2de69b0d93eee4cab5ea874df0921310e SHA512 22ffc7d082a370f3d84271bbb005a03d6faa4c82ab941d3644c57cf80c1b66e960f0a27030ddb26d7c5d52145705e79873e0eda2217311b73fb6fa2e65f00bda
-EBUILD php-7.3.6.ebuild 22529 BLAKE2B 097b018a68618a6c72e08d9b53a99af585604df5543c3381081ba0bb6675d78587f2975e15a577800febd6f1ea9ed63f0d44897a50cfc4b4ec4c552dd69aaddb SHA512 56443e712a0de33957a9035fbd1bd9c878820f0ed289a246a8796576309ba062c89bfd9698c03adc0f2d7c155b511e9d8e93c0091d79f9f43dd05fa3d1c7c3f2
-EBUILD php-7.3.7-r1.ebuild 22536 BLAKE2B ab3ced4578128e42b23120478985053d20b408564be3b6f93223e5417217b513431560215d32605e98738e3570c74d96c3ff77459cb7ebe220ee02c55c4c6bbd SHA512 b39a6d79e4e426b936c8ebe0e9afa6bc48f21d1e21711ca3d573eaad66c3b548c86436d8c7cf5d9834b5af820767187c668a5f6cb2c877e936189f6beed9d257
-MISC metadata.xml 3268 BLAKE2B fcd85522c4dbea03403eee66cd3be945f4f998d5eb483ac9c47bd2be2f5f2f4be8586ecc58d50ced7798fdd63ef2136e56d559fa06e870d242239127a97b7b76 SHA512 c44c7fdf1592ba4c0b2cf6f29a97a4a214d2193cb164dcc90454e4a762860a5f3fa67908217543fe72811d403c2ef3b15d2f80f2657f09c1e078d31ef35c12f4
+DIST php-patches-7.1.31bp.tar.bz2 37219 BLAKE2B 4f3ead2f69adf00ac1317371172c8adbb823f597cd8e3cafe7044d6a46671437fd2e5eaef4309a6fd5825123394044543284d3cbe892c918353a5b07c12b7401 SHA512 eb52679d035ceb4124c8e9175024f4f753e20d139479af4a57e01de941991716b2ce37f6190242c1bec46fd5305bad1f91613b04ee849a0d94f4a33ce013781e
+EBUILD php-5.6.40-r4.ebuild 22995 BLAKE2B d59b50f95a601ae9638d0b0736a58306ea886f1221fc2c8d019f60379a233a75c8fa0f305b0e304e7a808434f0e039070044c2c0761416c84fdfdd06f77144a5 SHA512 e94c3008a3e5a71dcc7eb46ecb80d1ddfc0897f0eb29226c37b9468c6b5e4ee7a3fa8f0b5b02817fe5931710a4de409f1d39ac5465944d53d3259f0c395e5424
+EBUILD php-5.6.40-r5.ebuild 23005 BLAKE2B 5151009dd1a4becf11b76ce56b8c84238a03a3f5d32724a7f4c12f8e61fb8bac30aa432acad02997f170e1e572bbf1dddff9963e8b3a38470c1cb3403dc97ed8 SHA512 4b9cc375692ceac006b618b47fea9d4d2d0d38d08bfe78f54b180a03a38900633549551bb01912f66e25ff5f92c2321b8ff0ab2db32ea2c5765a8ab2c7917705
+EBUILD php-7.1.30.ebuild 21985 BLAKE2B efa2ce2469a2bc5b52d46550506687284c150c95362a4b8c458ca3a54eb09b8b12d6b2a82175ce8ba8c717dd8a9d78b37339a568a7e3e99b9e884da48a0a726f SHA512 dfdc5fd44f04cf7f481a4bb7da30417ab2c9b48f52024dfdceafbd49da614ba682dd58516732b12be7bd91cdf128d4fb86f239c71d8e7c1c098dbbc7f4c4f385
+EBUILD php-7.1.31.ebuild 21996 BLAKE2B a56e700eb23204096f646492c249628a58e6e4af74d78604c8c9692c03c796e3ac27a6dadc2c113fcf0bb4d6fd528bb7aa0e9cae178172b62c109c34a3ae6b5c SHA512 3d0a39292d6b35fd6f4e302d8a5939d25ad0450923fe2dc43db047287b73d0d87f1b7a208689766a359f5d3b470a588234f82f2250010edd6936f8b1a3e4087e
+EBUILD php-7.2.20.ebuild 22516 BLAKE2B 8a3fb93cb898be7ac86793c8066461b45b5f35972469ca0729ae0c14e5855d06b268c64475015e3ac4c2018cb6a7860acdb9acbda5488656b2625df5fe4868c9 SHA512 dba861469d79acb5769eda7ef1e5f689f6b199a6267e6e769e2e660fa0540a3de73918c1e74793082e66fa8eb8d0cbbf9ef7b99e881751252c236e08090ea2ec
+EBUILD php-7.2.21.ebuild 22526 BLAKE2B e31a0ae6df4fc5b632b06d76e83709fb0c098b6f98a384911ebe7ca2c1873106670221d6506f73a5a163beeb5c43dac7685efa1ba4e3c8746034a7ba779b4483 SHA512 7808dc20a216b8418986464b8bd571c093d1b02fda1dd4d48a4580f6c4632990dc8a0c5542f2786608b0951068ad20fce842b40132c239853a17d41b6970eee8
+EBUILD php-7.3.7-r1.ebuild 22528 BLAKE2B 110acd1a4b1b548e0e688ec7cbc4baa985b20e4ee893c0ad66393ea0d2b5b01a31bb04bddb425213147b9c99cc7aaaa913a6613b0ee1fe3e9c00498a621c9a41 SHA512 3b638393272a47bf3833c232e13157cc7255fb0b53a9a759a704daf9f9576fe37cf248c3f00b53a23e598c4a7cad2ad78d69b6baa0a9ac5ed110a71c2f124556
+EBUILD php-7.3.8.ebuild 22538 BLAKE2B 1fa1a354c598ada995c907fd6aef0e12e806e66fd72275c22729252c1f83b7cbe85869ce60de60034e42fd0c8492a98353c924919743e246e50d93168e2f5ace SHA512 b69f9613f6901fc45a2659d3f972560709ebd9d13ccd75ecc95e130d4e913b7a67c4f0fbb9e93f56cf65fb3103d053b0ede1a6917a791506697fe1d36a477a2a
+EBUILD php-7.4.0_beta1.ebuild 20931 BLAKE2B d5c697c0b381e359078cbfe8d3eeffcc5509ec08db0bf8b5b7c159f0b5875f28eac283cee086d185e220b1c4a6d6a67df07adba2ae4d8f90b79321ca20e8fa92 SHA512 7d7793f1d4b99d3703f4a032418e755294c7275404d8c6c735452df2750587bbbaf9e35975ec59ff9e3e805dc326b5829bedca41602b34727f09454d2bb94db6
+MISC metadata.xml 3352 BLAKE2B 155c08bb52b049c3f79557d27ab6be9402cd35797cd385d53fc8c239c0eca089f65e106d54beca0642b8d182bfd0e172886b863a692575e9002140af7a62fa08 SHA512 f37c4c7b709bf91da6db41b0468c36cebffc630dabdcf4d43259017be5cf0577bb329ed0e206ff14d68bacc33425fba4789fc13fa34aa61acccce9fda11eee86
diff --git a/dev-lang/php/metadata.xml b/dev-lang/php/metadata.xml
index d7d65eb7f92f..47de79c79a95 100644
--- a/dev-lang/php/metadata.xml
+++ b/dev-lang/php/metadata.xml
@@ -16,6 +16,7 @@
     <flag name="ctype">Enable ctype functions</flag>
     <flag name="embed">Enable embed SAPI </flag>
     <flag name="enchant">Add supports Enchant spelling library. </flag>
+    <flag name="ffi"> Add foreign function interface (ffi extension) support</flag>
     <flag name="fileinfo"> Add fileinfo extension support</flag>
     <flag name="filter">Add filter extension support</flag>
     <flag name="flatfile">Add dbm support for flat files</flag>
diff --git a/dev-lang/php/php-5.6.40-r1.ebuild b/dev-lang/php/php-5.6.40-r1.ebuild
deleted file mode 100644
index 60bc5be09408..000000000000
--- a/dev-lang/php/php-5.6.40-r1.ebuild
+++ /dev/null
@@ -1,801 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools flag-o-matic systemd
-
-PATCH_V="20190307"
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://secure.php.net/"
-SRC_URI="https://php.net/distributions/${P}.tar.xz
-	mirror://gentoo/php-patches-${PATCH_V}-r1.tar.xz"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-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"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
-	coverage crypt +ctype curl debug
-	enchant exif +fileinfo +filter firebird
-	flatfile ftp gd gdbm gmp +hash +iconv imap inifile
-	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
-	mhash mssql mysql libmysqlclient mysqli nls
-	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
-	readline recode selinux +session sharedmem
-	+simplexml snmp soap sockets spell sqlite ssl
-	sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
-	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre-8.32[unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
-		<www-servers/apache-2.4[threads=] ) )
-	berkdb? ( || (	sys-libs/db:5.3
-					sys-libs/db:5.1
-					sys-libs/db:4.8
-					sys-libs/db:4.7
-					sys-libs/db:4.6
-					sys-libs/db:4.5 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	cjk? ( !gd? (
-		virtual/jpeg:0
-		media-libs/libpng:0=
-		sys-libs/zlib:0=
-	) )
-	coverage? ( dev-util/lcov )
-	crypt? ( >=dev-libs/libmcrypt-2.4 )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( app-text/enchant )
-	exif? ( !gd? (
-		virtual/jpeg:0
-		media-libs/libpng:0=
-		sys-libs/zlib:0=
-	) )
-	firebird? ( dev-db/firebird )
-	gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
-	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
-	gmp? ( dev-libs/gmp:0= )
-	iconv? ( virtual/libiconv )
-	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
-	intl? ( dev-libs/icu:= )
-	iodbc? ( dev-db/libiodbc )
-	kerberos? ( virtual/krb5 )
-	ldap? ( >=net-nds/openldap-1.2.11 )
-	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
-	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
-	mssql? ( dev-db/freetds[mssql] )
-	libmysqlclient? (
-		mysql? ( virtual/libmysqlclient:= )
-		mysqli? ( virtual/libmysqlclient:= )
-	)
-	nls? ( sys-devel/gettext )
-	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
-	odbc? ( >=dev-db/unixODBC-1.8.13 )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	recode? ( app-text/recode )
-	sharedmem? ( dev-libs/mm )
-	simplexml? ( >=dev-libs/libxml2-2.6.8 )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	soap? ( >=dev-libs/libxml2-2.6.8 )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	sybase-ct? ( dev-db/freetds )
-	tidy? ( app-text/htmltidy )
-	truetype? (
-		=media-libs/freetype-2*
-		>=media-libs/t1lib-5.0.0
-		!gd? (
-			virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
-	)
-	unicode? ( dev-libs/oniguruma:= )
-	vpx? ( media-libs/libvpx:0= )
-	wddx? ( >=dev-libs/libxml2-2.6.8 )
-	xml? ( >=dev-libs/libxml2-2.6.8 )
-	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
-	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
-	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
-	xpm? (
-		x11-libs/libXpm
-		virtual/jpeg:0
-		media-libs/libpng:0= sys-libs/zlib:0=
-	)
-	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
-	zip? ( sys-libs/zlib:0= )
-	zlib? ( sys-libs/zlib:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1
-	sys-devel/flex
-	>=sys-devel/m4-1.4.3
-	>=sys-devel/libtool-1.5.18"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-REQUIRED_USE="
-	|| ( cli cgi fpm apache2 embed )
-	cli? ( ^^ ( readline libedit ) )
-	truetype? ( gd zlib )
-	vpx? ( gd zlib )
-	cjk? ( gd zlib )
-	exif? ( gd zlib )
-	xpm? ( gd zlib )
-	gd? ( zlib )
-	simplexml? ( xml )
-	soap? ( xml )
-	wddx? ( xml )
-	xmlrpc? ( || ( xml iconv ) )
-	xmlreader? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	mhash? ( hash )
-	phar? ( hash )
-	recode? ( !imap !mysql !mysqli !libmysqlclient )
-	libmysqlclient? ( || (
-		mysql
-		mysqli
-		pdo
-	) )
-
-	qdbm? ( !gdbm )
-	readline? ( !libedit )
-	sharedmem? ( !threads )
-"
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${phpinisrc}" || die
-
-	# default to /tmp for save_path, bug #282768
-	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
-	# Set the extension dir
-	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-		-i "${phpinisrc}" || die
-
-	# Set the include path to point to where we want to find PEAR packages
-	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
-	dodir "${PHP_INI_DIR#${EPREFIX}}"
-	insinto "${PHP_INI_DIR#${EPREFIX}}"
-	newins "${phpinisrc}" php.ini
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config file php-fpm.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	local patchdir="${WORKDIR}/php-patches-${PATCH_V}"
-
-	eapply "${patchdir}/php-${SLOT}-no-bison-warnings.patch" \
-		"${patchdir}/5.6-mbstring-oniguruma-6.8.patch" \
-		"${patchdir}/php-5.6-openssl-1.1-compatibility.patch" \
-		"${patchdir}/php-5.6-intl-detect-icu-via-pkg-config.patch" \
-		"${patchdir}/php-5.6-intl-use-icu-namespace.patch" \
-		"${patchdir}/php-5.6-intl-icu-memory-corruption.patch" \
-		"${FILESDIR}/php-freetype-2.9.1.patch" \
-		"${patchdir}/php-5.6-secbug-77396.patch" \
-		"${patchdir}/php-5.6-secbug-77431.patch" \
-		"${patchdir}/php-5.6-bug77494.patch" \
-		"${patchdir}/php-5.6-secbug-77509.patch" \
-		"${patchdir}/php-5.6-secbug-77540.patch" \
-		"${patchdir}/php-5.6-secbug-77563.patch" \
-		"${patchdir}/php-5.6-secbug-77586.patch" \
-		"${patchdir}/php-5.6-secbug-77630.patch"
-
-	# Copy test binaries from patches
-	cp "${patchdir}/bug77540.jpg" \
-		"${patchdir}/bug77563.jpg" "ext/exif/tests/" || die
-
-	# Change PHP branding
-	# Get the alpha/beta/rc version
-	sed -re	"s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
-		-i configure.in || die "Unable to change PHP branding"
-
-	# Patch PHP to show Gentoo as the server platform
-	sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-		-i configure.in || die "Failed to fix server platform name"
-
-	# Prevent PHP from activating the Apache config,
-	# as we will do that ourselves
-	sed -i \
-		-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-		-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
-		configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \
-		|| die
-
-	# Patch PHP to support heimdal instead of mit-krb5
-	if has_version "app-crypt/heimdal" ; then
-		sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
-			|| die "Failed to fix heimdal libname"
-		sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
-			|| die "Failed to fix heimdal crypt library reference"
-	fi
-
-	eapply_user
-
-	# Force rebuilding aclocal.m4
-	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
-
-	mv configure.in configure.ac || die
-
-	eautoreconf
-
-	if [[ ${CHOST} == *-darwin* ]] ; then
-		# http://bugs.php.net/bug.php?id=48795, bug #343481
-		sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
-	fi
-}
-
-src_configure() {
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_enable bcmath bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype ctype)
-		$(use_with curl curl "${EPREFIX}/usr")
-		$(use_enable xml dom)
-		$(use_with enchant enchant "${EPREFIX}/usr")
-		$(use_enable exif exif)
-		$(use_enable fileinfo fileinfo)
-		$(use_enable filter filter)
-		$(use_enable ftp ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_enable hash hash)
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
-		$(use_enable intl intl)
-		$(use_enable ipv6 ipv6)
-		$(use_enable json json)
-		$(use_with kerberos kerberos "${EPREFIX}/usr")
-		$(use_enable xml libxml)
-		$(use_with xml libxml-dir "${EPREFIX}/usr")
-		$(use_enable unicode mbstring)
-		$(use_with crypt mcrypt "${EPREFIX}/usr")
-		$(use_with mssql mssql "${EPREFIX}/usr")
-		$(use_with unicode onig "${EPREFIX}/usr")
-		$(use_with ssl openssl "${EPREFIX}/usr")
-		$(use_with ssl openssl-dir "${EPREFIX}/usr")
-		$(use_enable pcntl pcntl)
-		$(use_enable phar phar)
-		$(use_enable pdo pdo)
-		$(use_enable opcache opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_with recode recode "${EPREFIX}/usr")
-		$(use_enable simplexml simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap soap)
-		$(use_enable sockets sockets)
-		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
-		$(use_with sybase-ct sybase-ct "${EPREFIX}/usr")
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer tokenizer)
-		$(use_enable wddx wddx)
-		$(use_enable xml xml)
-		$(use_enable xmlreader xmlreader)
-		$(use_enable xmlwriter xmlwriter)
-		$(use_with xmlrpc xmlrpc)
-		$(use_with xslt xsl "${EPREFIX}/usr")
-		$(use_enable zip zip)
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm ; then
-		our_conf+=( "--enable-dba${shared}" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(use_with truetype freetype-dir "${EPREFIX}/usr")
-		$(use_with truetype t1lib "${EPREFIX}/usr")
-		$(use_enable cjk gd-jis-conv)
-		$(use_with gd jpeg-dir "${EPREFIX}/usr")
-		$(use_with gd png-dir "${EPREFIX}/usr")
-		$(use_with xpm xpm-dir "${EPREFIX}/usr")
-		$(use_with vpx vpx-dir "${EPREFIX}/usr")
-	)
-	# enable gd last, so configure can pick up the previous settings
-	our_conf+=( $(use_with gd gd) )
-
-	# IMAP support
-	if use imap ; then
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# Interbase/firebird support
-	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-	use libmysqlclient && mysqllib="${EPREFIX}/usr"
-	use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
-
-	our_conf+=( $(use_with mysql mysql "${mysqllib}") )
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	our_conf+=(
-		$(use_with odbc unixODBC "${EPREFIX}/usr")
-		$(use_with iodbc iodbc "${EPREFIX}/usr")
-	)
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib)
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit libedit "${EPREFIX}/usr")
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-pcre-regex affects ext/pcre
-	# --with-pcre-dir affects ext/filter and ext/zip
-	our_conf+=(
-		--with-pcre-regex="${EPREFIX}/usr"
-		--with-pcre-dir="${EPREFIX}/usr"
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# Makefile forgets to create this before trying to write to it...
-	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
-	# Install php environment (without any sapis)
-	cd "${WORKDIR}/sapis-build/$first_sapi" || die
-	emake INSTALL_ROOT="${D}" \
-		install-build install-headers install-programs
-
-	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
-	# Create the directory where we'll put version-specific php scripts
-	keepdir "/usr/share/php${PHP_MV}"
-
-	local sapi="", file=""
-	local sapi_list=""
-
-	for sapi in ${SAPIS}; do
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp5$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		fi
-	done
-
-	# Installing opcache module
-	if use opcache ; then
-		into "${PHP_DESTDIR#${EPREFIX}}"
-		dolib.so "modules/opcache$(get_libname)"
-	fi
-
-	# Install env.d files
-	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
-	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}
diff --git a/dev-lang/php/php-5.6.40-r2.ebuild b/dev-lang/php/php-5.6.40-r2.ebuild
deleted file mode 100644
index d38bf8fa63f2..000000000000
--- a/dev-lang/php/php-5.6.40-r2.ebuild
+++ /dev/null
@@ -1,788 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools flag-o-matic systemd
-
-PATCH_V="7.1.28bp"
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://secure.php.net/"
-SRC_URI="https://php.net/distributions/${P}.tar.xz
-	https://gitweb.gentoo.org/proj/php-patches.git/snapshot/php-patches-${PATCH_V}.tar.bz2"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-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"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
-	coverage crypt +ctype curl debug
-	enchant exif +fileinfo +filter firebird
-	flatfile ftp gd gdbm gmp +hash +iconv imap inifile
-	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
-	mhash mssql mysql libmysqlclient mysqli nls
-	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
-	readline recode selinux +session sharedmem
-	+simplexml snmp soap sockets spell sqlite ssl
-	sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
-	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre-8.32[unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
-		<www-servers/apache-2.4[threads=] ) )
-	berkdb? ( || (	sys-libs/db:5.3
-					sys-libs/db:5.1
-					sys-libs/db:4.8
-					sys-libs/db:4.7
-					sys-libs/db:4.6
-					sys-libs/db:4.5 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	cjk? ( !gd? (
-		virtual/jpeg:0
-		media-libs/libpng:0=
-		sys-libs/zlib:0=
-	) )
-	coverage? ( dev-util/lcov )
-	crypt? ( >=dev-libs/libmcrypt-2.4 )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( app-text/enchant )
-	exif? ( !gd? (
-		virtual/jpeg:0
-		media-libs/libpng:0=
-		sys-libs/zlib:0=
-	) )
-	firebird? ( dev-db/firebird )
-	gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
-	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
-	gmp? ( dev-libs/gmp:0= )
-	iconv? ( virtual/libiconv )
-	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
-	intl? ( dev-libs/icu:= )
-	iodbc? ( dev-db/libiodbc )
-	kerberos? ( virtual/krb5 )
-	ldap? ( >=net-nds/openldap-1.2.11 )
-	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
-	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
-	mssql? ( dev-db/freetds[mssql] )
-	libmysqlclient? (
-		mysql? ( virtual/libmysqlclient:= )
-		mysqli? ( virtual/libmysqlclient:= )
-	)
-	nls? ( sys-devel/gettext )
-	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
-	odbc? ( >=dev-db/unixODBC-1.8.13 )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	recode? ( app-text/recode )
-	sharedmem? ( dev-libs/mm )
-	simplexml? ( >=dev-libs/libxml2-2.6.8 )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	soap? ( >=dev-libs/libxml2-2.6.8 )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	sybase-ct? ( dev-db/freetds )
-	tidy? ( app-text/htmltidy )
-	truetype? (
-		=media-libs/freetype-2*
-		>=media-libs/t1lib-5.0.0
-		!gd? (
-			virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
-	)
-	unicode? ( dev-libs/oniguruma:= )
-	vpx? ( media-libs/libvpx:0= )
-	wddx? ( >=dev-libs/libxml2-2.6.8 )
-	xml? ( >=dev-libs/libxml2-2.6.8 )
-	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
-	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
-	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
-	xpm? (
-		x11-libs/libXpm
-		virtual/jpeg:0
-		media-libs/libpng:0= sys-libs/zlib:0=
-	)
-	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
-	zip? ( sys-libs/zlib:0= )
-	zlib? ( sys-libs/zlib:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1
-	sys-devel/flex
-	>=sys-devel/m4-1.4.3
-	>=sys-devel/libtool-1.5.18"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-REQUIRED_USE="
-	|| ( cli cgi fpm apache2 embed )
-	cli? ( ^^ ( readline libedit ) )
-	truetype? ( gd zlib )
-	vpx? ( gd zlib )
-	cjk? ( gd zlib )
-	exif? ( gd zlib )
-	xpm? ( gd zlib )
-	gd? ( zlib )
-	simplexml? ( xml )
-	soap? ( xml )
-	wddx? ( xml )
-	xmlrpc? ( || ( xml iconv ) )
-	xmlreader? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	mhash? ( hash )
-	phar? ( hash )
-	recode? ( !imap !mysql !mysqli !libmysqlclient )
-	libmysqlclient? ( || (
-		mysql
-		mysqli
-		pdo
-	) )
-
-	qdbm? ( !gdbm )
-	readline? ( !libedit )
-	sharedmem? ( !threads )
-"
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${phpinisrc}" || die
-
-	# default to /tmp for save_path, bug #282768
-	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
-	# Set the extension dir
-	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-		-i "${phpinisrc}" || die
-
-	# Set the include path to point to where we want to find PEAR packages
-	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
-	dodir "${PHP_INI_DIR#${EPREFIX}}"
-	insinto "${PHP_INI_DIR#${EPREFIX}}"
-	newins "${phpinisrc}" php.ini
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config file php-fpm.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	local patchdir="${WORKDIR}/php-patches-${PATCH_V}"
-
-	eapply "${patchdir}/"
-
-	# Copy test binaries from patches
-	cp "${patchdir}/bug77540.jpg" \
-		"${patchdir}/bug77753.tiff" "${patchdir}/bug77831.tiff" \
-		"${patchdir}/bug77563.jpg" "ext/exif/tests/" || die
-
-	# Change PHP branding
-	# Get the alpha/beta/rc version
-	sed -re	"s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
-		-i configure.in || die "Unable to change PHP branding"
-
-	# Patch PHP to show Gentoo as the server platform
-	sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-		-i configure.in || die "Failed to fix server platform name"
-
-	# Prevent PHP from activating the Apache config,
-	# as we will do that ourselves
-	sed -i \
-		-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-		-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
-		configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \
-		|| die
-
-	# Patch PHP to support heimdal instead of mit-krb5
-	if has_version "app-crypt/heimdal" ; then
-		sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
-			|| die "Failed to fix heimdal libname"
-		sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
-			|| die "Failed to fix heimdal crypt library reference"
-	fi
-
-	eapply_user
-
-	# Force rebuilding aclocal.m4
-	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
-
-	mv configure.in configure.ac || die
-
-	eautoreconf
-
-	if [[ ${CHOST} == *-darwin* ]] ; then
-		# http://bugs.php.net/bug.php?id=48795, bug #343481
-		sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
-	fi
-}
-
-src_configure() {
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_enable bcmath bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype ctype)
-		$(use_with curl curl "${EPREFIX}/usr")
-		$(use_enable xml dom)
-		$(use_with enchant enchant "${EPREFIX}/usr")
-		$(use_enable exif exif)
-		$(use_enable fileinfo fileinfo)
-		$(use_enable filter filter)
-		$(use_enable ftp ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_enable hash hash)
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
-		$(use_enable intl intl)
-		$(use_enable ipv6 ipv6)
-		$(use_enable json json)
-		$(use_with kerberos kerberos "${EPREFIX}/usr")
-		$(use_enable xml libxml)
-		$(use_with xml libxml-dir "${EPREFIX}/usr")
-		$(use_enable unicode mbstring)
-		$(use_with crypt mcrypt "${EPREFIX}/usr")
-		$(use_with mssql mssql "${EPREFIX}/usr")
-		$(use_with unicode onig "${EPREFIX}/usr")
-		$(use_with ssl openssl "${EPREFIX}/usr")
-		$(use_with ssl openssl-dir "${EPREFIX}/usr")
-		$(use_enable pcntl pcntl)
-		$(use_enable phar phar)
-		$(use_enable pdo pdo)
-		$(use_enable opcache opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_with recode recode "${EPREFIX}/usr")
-		$(use_enable simplexml simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap soap)
-		$(use_enable sockets sockets)
-		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
-		$(use_with sybase-ct sybase-ct "${EPREFIX}/usr")
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer tokenizer)
-		$(use_enable wddx wddx)
-		$(use_enable xml xml)
-		$(use_enable xmlreader xmlreader)
-		$(use_enable xmlwriter xmlwriter)
-		$(use_with xmlrpc xmlrpc)
-		$(use_with xslt xsl "${EPREFIX}/usr")
-		$(use_enable zip zip)
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm ; then
-		our_conf+=( "--enable-dba${shared}" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(use_with truetype freetype-dir "${EPREFIX}/usr")
-		$(use_with truetype t1lib "${EPREFIX}/usr")
-		$(use_enable cjk gd-jis-conv)
-		$(use_with gd jpeg-dir "${EPREFIX}/usr")
-		$(use_with gd png-dir "${EPREFIX}/usr")
-		$(use_with xpm xpm-dir "${EPREFIX}/usr")
-		$(use_with vpx vpx-dir "${EPREFIX}/usr")
-	)
-	# enable gd last, so configure can pick up the previous settings
-	our_conf+=( $(use_with gd gd) )
-
-	# IMAP support
-	if use imap ; then
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# Interbase/firebird support
-	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-	use libmysqlclient && mysqllib="${EPREFIX}/usr"
-	use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
-
-	our_conf+=( $(use_with mysql mysql "${mysqllib}") )
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	our_conf+=(
-		$(use_with odbc unixODBC "${EPREFIX}/usr")
-		$(use_with iodbc iodbc "${EPREFIX}/usr")
-	)
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib)
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit libedit "${EPREFIX}/usr")
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-pcre-regex affects ext/pcre
-	# --with-pcre-dir affects ext/filter and ext/zip
-	our_conf+=(
-		--with-pcre-regex="${EPREFIX}/usr"
-		--with-pcre-dir="${EPREFIX}/usr"
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# Makefile forgets to create this before trying to write to it...
-	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
-	# Install php environment (without any sapis)
-	cd "${WORKDIR}/sapis-build/$first_sapi" || die
-	emake INSTALL_ROOT="${D}" \
-		install-build install-headers install-programs
-
-	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
-	# Create the directory where we'll put version-specific php scripts
-	keepdir "/usr/share/php${PHP_MV}"
-
-	local sapi="", file=""
-	local sapi_list=""
-
-	for sapi in ${SAPIS}; do
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp5$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		fi
-	done
-
-	# Installing opcache module
-	if use opcache ; then
-		into "${PHP_DESTDIR#${EPREFIX}}"
-		dolib.so "modules/opcache$(get_libname)"
-	fi
-
-	# Install env.d files
-	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
-	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}
diff --git a/dev-lang/php/php-5.6.40-r3.ebuild b/dev-lang/php/php-5.6.40-r3.ebuild
deleted file mode 100644
index 224b353c58b0..000000000000
--- a/dev-lang/php/php-5.6.40-r3.ebuild
+++ /dev/null
@@ -1,789 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools flag-o-matic systemd
-
-PATCH_V="7.1.29bp"
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://secure.php.net/"
-SRC_URI="https://php.net/distributions/${P}.tar.xz
-	https://gitweb.gentoo.org/proj/php-patches.git/snapshot/php-patches-${PATCH_V}.tar.bz2"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-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"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
-	coverage crypt +ctype curl debug
-	enchant exif +fileinfo +filter firebird
-	flatfile ftp gd gdbm gmp +hash +iconv imap inifile
-	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
-	mhash mssql mysql libmysqlclient mysqli nls
-	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
-	readline recode selinux +session sharedmem
-	+simplexml snmp soap sockets spell sqlite ssl
-	sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
-	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre-8.32[unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
-		<www-servers/apache-2.4[threads=] ) )
-	berkdb? ( || (	sys-libs/db:5.3
-					sys-libs/db:5.1
-					sys-libs/db:4.8
-					sys-libs/db:4.7
-					sys-libs/db:4.6
-					sys-libs/db:4.5 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	cjk? ( !gd? (
-		virtual/jpeg:0
-		media-libs/libpng:0=
-		sys-libs/zlib:0=
-	) )
-	coverage? ( dev-util/lcov )
-	crypt? ( >=dev-libs/libmcrypt-2.4 )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( app-text/enchant )
-	exif? ( !gd? (
-		virtual/jpeg:0
-		media-libs/libpng:0=
-		sys-libs/zlib:0=
-	) )
-	firebird? ( dev-db/firebird )
-	gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
-	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
-	gmp? ( dev-libs/gmp:0= )
-	iconv? ( virtual/libiconv )
-	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
-	intl? ( dev-libs/icu:= )
-	iodbc? ( dev-db/libiodbc )
-	kerberos? ( virtual/krb5 )
-	ldap? ( >=net-nds/openldap-1.2.11 )
-	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
-	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
-	mssql? ( dev-db/freetds[mssql] )
-	libmysqlclient? (
-		mysql? ( virtual/libmysqlclient:= )
-		mysqli? ( virtual/libmysqlclient:= )
-	)
-	nls? ( sys-devel/gettext )
-	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
-	odbc? ( >=dev-db/unixODBC-1.8.13 )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	recode? ( app-text/recode )
-	sharedmem? ( dev-libs/mm )
-	simplexml? ( >=dev-libs/libxml2-2.6.8 )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	soap? ( >=dev-libs/libxml2-2.6.8 )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	sybase-ct? ( dev-db/freetds )
-	tidy? ( app-text/htmltidy )
-	truetype? (
-		=media-libs/freetype-2*
-		>=media-libs/t1lib-5.0.0
-		!gd? (
-			virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
-	)
-	unicode? ( dev-libs/oniguruma:= )
-	vpx? ( media-libs/libvpx:0= )
-	wddx? ( >=dev-libs/libxml2-2.6.8 )
-	xml? ( >=dev-libs/libxml2-2.6.8 )
-	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
-	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
-	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
-	xpm? (
-		x11-libs/libXpm
-		virtual/jpeg:0
-		media-libs/libpng:0= sys-libs/zlib:0=
-	)
-	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
-	zip? ( sys-libs/zlib:0= )
-	zlib? ( sys-libs/zlib:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1
-	sys-devel/flex
-	>=sys-devel/m4-1.4.3
-	>=sys-devel/libtool-1.5.18"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-REQUIRED_USE="
-	|| ( cli cgi fpm apache2 embed )
-	cli? ( ^^ ( readline libedit ) )
-	truetype? ( gd zlib )
-	vpx? ( gd zlib )
-	cjk? ( gd zlib )
-	exif? ( gd zlib )
-	xpm? ( gd zlib )
-	gd? ( zlib )
-	simplexml? ( xml )
-	soap? ( xml )
-	wddx? ( xml )
-	xmlrpc? ( || ( xml iconv ) )
-	xmlreader? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	mhash? ( hash )
-	phar? ( hash )
-	recode? ( !imap !mysql !mysqli !libmysqlclient )
-	libmysqlclient? ( || (
-		mysql
-		mysqli
-		pdo
-	) )
-
-	qdbm? ( !gdbm )
-	readline? ( !libedit )
-	sharedmem? ( !threads )
-"
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${phpinisrc}" || die
-
-	# default to /tmp for save_path, bug #282768
-	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
-	# Set the extension dir
-	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-		-i "${phpinisrc}" || die
-
-	# Set the include path to point to where we want to find PEAR packages
-	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
-	dodir "${PHP_INI_DIR#${EPREFIX}}"
-	insinto "${PHP_INI_DIR#${EPREFIX}}"
-	newins "${phpinisrc}" php.ini
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config file php-fpm.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	local patchdir="${WORKDIR}/php-patches-${PATCH_V}"
-
-	eapply "${patchdir}/"
-
-	# Copy test binaries from patches
-	cp "${patchdir}/bug77540.jpg" \
-		"${patchdir}/bug77753.tiff" "${patchdir}/bug77831.tiff" \
-		"${patchdir}/bug77950.tiff" \
-		"${patchdir}/bug77563.jpg" "ext/exif/tests/" || die
-
-	# Change PHP branding
-	# Get the alpha/beta/rc version
-	sed -re	"s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
-		-i configure.in || die "Unable to change PHP branding"
-
-	# Patch PHP to show Gentoo as the server platform
-	sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-		-i configure.in || die "Failed to fix server platform name"
-
-	# Prevent PHP from activating the Apache config,
-	# as we will do that ourselves
-	sed -i \
-		-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-		-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
-		configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \
-		|| die
-
-	# Patch PHP to support heimdal instead of mit-krb5
-	if has_version "app-crypt/heimdal" ; then
-		sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
-			|| die "Failed to fix heimdal libname"
-		sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
-			|| die "Failed to fix heimdal crypt library reference"
-	fi
-
-	eapply_user
-
-	# Force rebuilding aclocal.m4
-	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
-
-	mv configure.in configure.ac || die
-
-	eautoreconf
-
-	if [[ ${CHOST} == *-darwin* ]] ; then
-		# http://bugs.php.net/bug.php?id=48795, bug #343481
-		sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
-	fi
-}
-
-src_configure() {
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_enable bcmath bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype ctype)
-		$(use_with curl curl "${EPREFIX}/usr")
-		$(use_enable xml dom)
-		$(use_with enchant enchant "${EPREFIX}/usr")
-		$(use_enable exif exif)
-		$(use_enable fileinfo fileinfo)
-		$(use_enable filter filter)
-		$(use_enable ftp ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_enable hash hash)
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
-		$(use_enable intl intl)
-		$(use_enable ipv6 ipv6)
-		$(use_enable json json)
-		$(use_with kerberos kerberos "${EPREFIX}/usr")
-		$(use_enable xml libxml)
-		$(use_with xml libxml-dir "${EPREFIX}/usr")
-		$(use_enable unicode mbstring)
-		$(use_with crypt mcrypt "${EPREFIX}/usr")
-		$(use_with mssql mssql "${EPREFIX}/usr")
-		$(use_with unicode onig "${EPREFIX}/usr")
-		$(use_with ssl openssl "${EPREFIX}/usr")
-		$(use_with ssl openssl-dir "${EPREFIX}/usr")
-		$(use_enable pcntl pcntl)
-		$(use_enable phar phar)
-		$(use_enable pdo pdo)
-		$(use_enable opcache opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_with recode recode "${EPREFIX}/usr")
-		$(use_enable simplexml simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap soap)
-		$(use_enable sockets sockets)
-		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
-		$(use_with sybase-ct sybase-ct "${EPREFIX}/usr")
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer tokenizer)
-		$(use_enable wddx wddx)
-		$(use_enable xml xml)
-		$(use_enable xmlreader xmlreader)
-		$(use_enable xmlwriter xmlwriter)
-		$(use_with xmlrpc xmlrpc)
-		$(use_with xslt xsl "${EPREFIX}/usr")
-		$(use_enable zip zip)
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm ; then
-		our_conf+=( "--enable-dba${shared}" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(use_with truetype freetype-dir "${EPREFIX}/usr")
-		$(use_with truetype t1lib "${EPREFIX}/usr")
-		$(use_enable cjk gd-jis-conv)
-		$(use_with gd jpeg-dir "${EPREFIX}/usr")
-		$(use_with gd png-dir "${EPREFIX}/usr")
-		$(use_with xpm xpm-dir "${EPREFIX}/usr")
-		$(use_with vpx vpx-dir "${EPREFIX}/usr")
-	)
-	# enable gd last, so configure can pick up the previous settings
-	our_conf+=( $(use_with gd gd) )
-
-	# IMAP support
-	if use imap ; then
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# Interbase/firebird support
-	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-	use libmysqlclient && mysqllib="${EPREFIX}/usr"
-	use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
-
-	our_conf+=( $(use_with mysql mysql "${mysqllib}") )
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	our_conf+=(
-		$(use_with odbc unixODBC "${EPREFIX}/usr")
-		$(use_with iodbc iodbc "${EPREFIX}/usr")
-	)
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib)
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit libedit "${EPREFIX}/usr")
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-pcre-regex affects ext/pcre
-	# --with-pcre-dir affects ext/filter and ext/zip
-	our_conf+=(
-		--with-pcre-regex="${EPREFIX}/usr"
-		--with-pcre-dir="${EPREFIX}/usr"
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# Makefile forgets to create this before trying to write to it...
-	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
-	# Install php environment (without any sapis)
-	cd "${WORKDIR}/sapis-build/$first_sapi" || die
-	emake INSTALL_ROOT="${D}" \
-		install-build install-headers install-programs
-
-	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
-	# Create the directory where we'll put version-specific php scripts
-	keepdir "/usr/share/php${PHP_MV}"
-
-	local sapi="", file=""
-	local sapi_list=""
-
-	for sapi in ${SAPIS}; do
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp5$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		fi
-	done
-
-	# Installing opcache module
-	if use opcache ; then
-		into "${PHP_DESTDIR#${EPREFIX}}"
-		dolib.so "modules/opcache$(get_libname)"
-	fi
-
-	# Install env.d files
-	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
-	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}
diff --git a/dev-lang/php/php-5.6.40-r4.ebuild b/dev-lang/php/php-5.6.40-r4.ebuild
index 6bf0497b63a5..27584191b829 100644
--- a/dev-lang/php/php-5.6.40-r4.ebuild
+++ b/dev-lang/php/php-5.6.40-r4.ebuild
@@ -21,7 +21,7 @@ LICENSE="PHP-3.01
 	unicode? ( BSD-2 LGPL-2.1 )"
 
 SLOT="$(ver_cut 1-2)"
-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"
+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"
 
 # We can build the following SAPIs in the given order
 SAPIS="embed cli cgi fpm apache2"
diff --git a/dev-lang/php/php-5.6.40-r5.ebuild b/dev-lang/php/php-5.6.40-r5.ebuild
new file mode 100644
index 000000000000..11592d2ee3d2
--- /dev/null
+++ b/dev-lang/php/php-5.6.40-r5.ebuild
@@ -0,0 +1,789 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools flag-o-matic systemd
+
+PATCH_V="7.1.31bp"
+
+DESCRIPTION="The PHP language runtime engine"
+HOMEPAGE="https://secure.php.net/"
+SRC_URI="https://php.net/distributions/${P}.tar.xz
+	https://gitweb.gentoo.org/proj/php-patches.git/snapshot/php-patches-${PATCH_V}.tar.bz2"
+
+LICENSE="PHP-3.01
+	BSD
+	Zend-2.0
+	bcmath? ( LGPL-2.1+ )
+	fpm? ( BSD-2 )
+	gd? ( gd )
+	unicode? ( BSD-2 LGPL-2.1 )"
+
+SLOT="$(ver_cut 1-2)"
+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"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+	${SAPIS/cli/+cli}
+	threads"
+
+IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
+	coverage crypt +ctype curl debug
+	enchant exif +fileinfo +filter firebird
+	+flatfile ftp gd gdbm gmp +hash +iconv imap inifile
+	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
+	mhash mssql mysql libmysqlclient mysqli nls
+	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+	readline recode selinux +session sharedmem
+	+simplexml snmp soap sockets spell sqlite ssl
+	sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
+	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
+
+# The supported (that is, autodetected) versions of BDB are listed in
+# the ./configure script. Other versions *work*, but we need to stick to
+# the ones that can be detected to avoid a repeat of bug #564824.
+COMMON_DEPEND="
+	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
+	>=dev-libs/libpcre-8.32[unicode]
+	fpm? ( acl? ( sys-apps/acl ) )
+	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
+		<www-servers/apache-2.4[threads=] ) )
+	berkdb? ( || (	sys-libs/db:5.3
+					sys-libs/db:5.1
+					sys-libs/db:4.8
+					sys-libs/db:4.7
+					sys-libs/db:4.6
+					sys-libs/db:4.5 ) )
+	bzip2? ( app-arch/bzip2:0= )
+	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+	cjk? ( !gd? (
+		virtual/jpeg:0
+		media-libs/libpng:0=
+		sys-libs/zlib:0=
+	) )
+	coverage? ( dev-util/lcov )
+	crypt? ( >=dev-libs/libmcrypt-2.4 )
+	curl? ( >=net-misc/curl-7.10.5 )
+	enchant? ( app-text/enchant )
+	exif? ( !gd? (
+		virtual/jpeg:0
+		media-libs/libpng:0=
+		sys-libs/zlib:0=
+	) )
+	firebird? ( dev-db/firebird )
+	gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
+	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
+	gmp? ( dev-libs/gmp:0= )
+	iconv? ( virtual/libiconv )
+	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
+	intl? ( dev-libs/icu:= )
+	iodbc? ( dev-db/libiodbc )
+	kerberos? ( virtual/krb5 )
+	ldap? ( >=net-nds/openldap-1.2.11 )
+	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
+	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
+	mssql? ( dev-db/freetds[mssql] )
+	libmysqlclient? (
+		mysql? ( virtual/libmysqlclient:= )
+		mysqli? ( virtual/libmysqlclient:= )
+	)
+	nls? ( sys-devel/gettext )
+	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
+	odbc? ( >=dev-db/unixODBC-1.8.13 )
+	postgres? ( dev-db/postgresql:* )
+	qdbm? ( dev-db/qdbm )
+	readline? ( sys-libs/readline:0= )
+	recode? ( app-text/recode )
+	sharedmem? ( dev-libs/mm )
+	simplexml? ( >=dev-libs/libxml2-2.6.8 )
+	snmp? ( >=net-analyzer/net-snmp-5.2 )
+	soap? ( >=dev-libs/libxml2-2.6.8 )
+	spell? ( >=app-text/aspell-0.50 )
+	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+	ssl? (
+		!libressl? ( dev-libs/openssl:0= )
+		libressl? ( dev-libs/libressl:0= )
+	)
+	sybase-ct? ( dev-db/freetds )
+	tidy? ( app-text/htmltidy )
+	truetype? (
+		=media-libs/freetype-2*
+		>=media-libs/t1lib-5.0.0
+		!gd? (
+			virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
+	)
+	unicode? ( dev-libs/oniguruma:= )
+	vpx? ( media-libs/libvpx:0= )
+	wddx? ( >=dev-libs/libxml2-2.6.8 )
+	xml? ( >=dev-libs/libxml2-2.6.8 )
+	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
+	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
+	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
+	xpm? (
+		x11-libs/libXpm
+		virtual/jpeg:0
+		media-libs/libpng:0= sys-libs/zlib:0=
+	)
+	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
+	zip? ( sys-libs/zlib:0= )
+	zlib? ( sys-libs/zlib:0= )
+"
+
+RDEPEND="${COMMON_DEPEND}
+	virtual/mta
+	fpm? (
+		selinux? ( sec-policy/selinux-phpfpm )
+		systemd? ( sys-apps/systemd ) )"
+
+DEPEND="${COMMON_DEPEND}
+	app-arch/xz-utils
+	>=sys-devel/bison-3.0.1
+	sys-devel/flex
+	>=sys-devel/m4-1.4.3
+	>=sys-devel/libtool-1.5.18"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+REQUIRED_USE="
+	|| ( cli cgi fpm apache2 embed )
+	cli? ( ^^ ( readline libedit ) )
+	truetype? ( gd zlib )
+	vpx? ( gd zlib )
+	cjk? ( gd zlib )
+	exif? ( gd zlib )
+	xpm? ( gd zlib )
+	gd? ( zlib )
+	simplexml? ( xml )
+	soap? ( xml )
+	wddx? ( xml )
+	xmlrpc? ( || ( xml iconv ) )
+	xmlreader? ( xml )
+	xslt? ( xml )
+	ldap-sasl? ( ldap )
+	mhash? ( hash )
+	phar? ( hash )
+	recode? ( !imap !mysql !mysqli !libmysqlclient )
+	libmysqlclient? ( || (
+		mysql
+		mysqli
+		pdo
+	) )
+
+	qdbm? ( !gdbm )
+	readline? ( !libedit )
+	sharedmem? ( !threads )
+"
+
+PHP_MV="$(ver_cut 1)"
+
+php_install_ini() {
+	local phpsapi="${1}"
+
+	# work out where we are installing the ini file
+	php_set_ini_dir "${phpsapi}"
+
+	# Always install the production INI file, bug 611214.
+	local phpinisrc="php.ini-production-${phpsapi}"
+	cp php.ini-production "${phpinisrc}" || die
+
+	# default to /tmp for save_path, bug #282768
+	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
+
+	# Set the extension dir
+	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
+		-i "${phpinisrc}" || die
+
+	# Set the include path to point to where we want to find PEAR packages
+	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
+
+	dodir "${PHP_INI_DIR#${EPREFIX}}"
+	insinto "${PHP_INI_DIR#${EPREFIX}}"
+	newins "${phpinisrc}" php.ini
+
+	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
+	elog
+
+	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
+	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
+
+	if use opcache; then
+		elog "Adding opcache to $PHP_EXT_INI_DIR"
+		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
+			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
+		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
+			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
+	fi
+
+	# SAPI-specific handling
+	if [[ "${sapi}" == "fpm" ]] ; then
+		einfo "Installing FPM config file php-fpm.conf"
+		insinto "${PHP_INI_DIR#${EPREFIX}}"
+		doins sapi/fpm/php-fpm.conf
+	fi
+
+	dodoc php.ini-{development,production}
+}
+
+php_set_ini_dir() {
+	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
+	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
+	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
+}
+
+src_prepare() {
+	local patchdir="${WORKDIR}/php-patches-${PATCH_V}"
+
+	eapply "${patchdir}/"
+
+	# Copy test binaries from patches
+	local ext_src
+	for ext_src in exif iconv ; do
+		cp "${patchdir}/${ext_src}/"* "ext/${ext_src}/tests/" || die
+	done
+
+	# Change PHP branding
+	# Get the alpha/beta/rc version
+	sed -re	"s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
+		-i configure.in || die "Unable to change PHP branding"
+
+	# Patch PHP to show Gentoo as the server platform
+	sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
+		-i configure.in || die "Failed to fix server platform name"
+
+	# Prevent PHP from activating the Apache config,
+	# as we will do that ourselves
+	sed -i \
+		-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
+		-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
+		configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \
+		|| die
+
+	# Patch PHP to support heimdal instead of mit-krb5
+	if has_version "app-crypt/heimdal" ; then
+		sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
+			|| die "Failed to fix heimdal libname"
+		sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
+			|| die "Failed to fix heimdal crypt library reference"
+	fi
+
+	eapply_user
+
+	# Force rebuilding aclocal.m4
+	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
+
+	mv configure.in configure.ac || die
+
+	eautoreconf
+
+	if [[ ${CHOST} == *-darwin* ]] ; then
+		# http://bugs.php.net/bug.php?id=48795, bug #343481
+		sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
+	fi
+}
+
+src_configure() {
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+	addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
+
+	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
+	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
+	local our_conf=(
+		--prefix="${PHP_DESTDIR}"
+		--mandir="${PHP_DESTDIR}/man"
+		--infodir="${PHP_DESTDIR}/info"
+		--libdir="${PHP_DESTDIR}/lib"
+		--with-libdir="$(get_libdir)"
+		--localstatedir="${EPREFIX}/var"
+		--without-pear
+		$(use_enable threads maintainer-zts)
+	)
+
+	our_conf+=(
+		$(use_enable bcmath bcmath)
+		$(use_with bzip2 bz2 "${EPREFIX}/usr")
+		$(use_enable calendar calendar)
+		$(use_enable coverage gcov)
+		$(use_enable ctype ctype)
+		$(use_with curl curl "${EPREFIX}/usr")
+		$(use_enable xml dom)
+		$(use_with enchant enchant "${EPREFIX}/usr")
+		$(use_enable exif exif)
+		$(use_enable fileinfo fileinfo)
+		$(use_enable filter filter)
+		$(use_enable ftp ftp)
+		$(use_with nls gettext "${EPREFIX}/usr")
+		$(use_with gmp gmp "${EPREFIX}/usr")
+		$(use_enable hash hash)
+		$(use_with mhash mhash "${EPREFIX}/usr")
+		$(use_with iconv iconv \
+			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
+		$(use_enable intl intl)
+		$(use_enable ipv6 ipv6)
+		$(use_enable json json)
+		$(use_with kerberos kerberos "${EPREFIX}/usr")
+		$(use_enable xml libxml)
+		$(use_with xml libxml-dir "${EPREFIX}/usr")
+		$(use_enable unicode mbstring)
+		$(use_with crypt mcrypt "${EPREFIX}/usr")
+		$(use_with mssql mssql "${EPREFIX}/usr")
+		$(use_with unicode onig "${EPREFIX}/usr")
+		$(use_with ssl openssl "${EPREFIX}/usr")
+		$(use_with ssl openssl-dir "${EPREFIX}/usr")
+		$(use_enable pcntl pcntl)
+		$(use_enable phar phar)
+		$(use_enable pdo pdo)
+		$(use_enable opcache opcache)
+		$(use_with postgres pgsql "${EPREFIX}/usr")
+		$(use_enable posix posix)
+		$(use_with spell pspell "${EPREFIX}/usr")
+		$(use_with recode recode "${EPREFIX}/usr")
+		$(use_enable simplexml simplexml)
+		$(use_enable sharedmem shmop)
+		$(use_with snmp snmp "${EPREFIX}/usr")
+		$(use_enable soap soap)
+		$(use_enable sockets sockets)
+		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
+		$(use_with sybase-ct sybase-ct "${EPREFIX}/usr")
+		$(use_enable sysvipc sysvmsg)
+		$(use_enable sysvipc sysvsem)
+		$(use_enable sysvipc sysvshm)
+		$(use_with tidy tidy "${EPREFIX}/usr")
+		$(use_enable tokenizer tokenizer)
+		$(use_enable wddx wddx)
+		$(use_enable xml xml)
+		$(use_enable xmlreader xmlreader)
+		$(use_enable xmlwriter xmlwriter)
+		$(use_with xmlrpc xmlrpc)
+		$(use_with xslt xsl "${EPREFIX}/usr")
+		$(use_enable zip zip)
+		$(use_with zlib zlib "${EPREFIX}/usr")
+		$(use_enable debug debug)
+	)
+
+	# DBA support
+	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
+		|| use qdbm ; then
+		our_conf+=( "--enable-dba${shared}" )
+	fi
+
+	# DBA drivers support
+	our_conf+=(
+		$(use_with cdb cdb)
+		$(use_with berkdb db4 "${EPREFIX}/usr")
+		$(use_enable flatfile flatfile)
+		$(use_with gdbm gdbm "${EPREFIX}/usr")
+		$(use_enable inifile inifile)
+		$(use_with qdbm qdbm "${EPREFIX}/usr")
+	)
+
+	# Support for the GD graphics library
+	our_conf+=(
+		$(use_with truetype freetype-dir "${EPREFIX}/usr")
+		$(use_with truetype t1lib "${EPREFIX}/usr")
+		$(use_enable cjk gd-jis-conv)
+		$(use_with gd jpeg-dir "${EPREFIX}/usr")
+		$(use_with gd png-dir "${EPREFIX}/usr")
+		$(use_with xpm xpm-dir "${EPREFIX}/usr")
+		$(use_with vpx vpx-dir "${EPREFIX}/usr")
+	)
+	# enable gd last, so configure can pick up the previous settings
+	our_conf+=( $(use_with gd gd) )
+
+	# IMAP support
+	if use imap ; then
+		our_conf+=(
+			$(use_with imap imap "${EPREFIX}/usr")
+			$(use_with ssl imap-ssl "${EPREFIX}/usr")
+		)
+	fi
+
+	# Interbase/firebird support
+	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
+
+	# LDAP support
+	if use ldap ; then
+		our_conf+=(
+			$(use_with ldap ldap "${EPREFIX}/usr")
+			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
+		)
+	fi
+
+	# MySQL support
+	local mysqllib="mysqlnd"
+	local mysqlilib="mysqlnd"
+	use libmysqlclient && mysqllib="${EPREFIX}/usr"
+	use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
+
+	our_conf+=( $(use_with mysql mysql "${mysqllib}") )
+	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
+
+	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
+	if use mysql || use mysqli ; then
+		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
+	fi
+
+	# ODBC support
+	our_conf+=(
+		$(use_with odbc unixODBC "${EPREFIX}/usr")
+		$(use_with iodbc iodbc "${EPREFIX}/usr")
+	)
+
+	# Oracle support
+	our_conf+=( $(use_with oci8-instant-client oci8) )
+
+	# PDO support
+	if use pdo ; then
+		our_conf+=(
+			$(use_with mssql pdo-dblib)
+			$(use_with mysql pdo-mysql "${mysqllib}")
+			$(use_with postgres pdo-pgsql)
+			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
+			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
+			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
+			$(use_with oci8-instant-client pdo-oci)
+		)
+	fi
+
+	# readline/libedit support
+	our_conf+=(
+		$(use_with readline readline "${EPREFIX}/usr")
+		$(use_with libedit libedit "${EPREFIX}/usr")
+	)
+
+	# Session support
+	if use session ; then
+		our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
+	else
+		our_conf+=( $(use_enable session session) )
+	fi
+
+	# Use pic for shared modules such as apache2's mod_php
+	our_conf+=( --with-pic )
+
+	# we use the system copy of pcre
+	# --with-pcre-regex affects ext/pcre
+	# --with-pcre-dir affects ext/filter and ext/zip
+	our_conf+=(
+		--with-pcre-regex="${EPREFIX}/usr"
+		--with-pcre-dir="${EPREFIX}/usr"
+	)
+
+	# Catch CFLAGS problems
+	# Fixes bug #14067.
+	# Changed order to run it in reverse for bug #32022 and #12021.
+	replace-cpu-flags "k6*" "i586"
+
+	# Cache the ./configure test results between SAPIs.
+	our_conf+=( --cache-file="${T}/config.cache" )
+
+	# Support user-passed configuration parameters
+	our_conf+=( ${EXTRA_ECONF:-} )
+
+	# Support the Apache2 extras, they must be set globally for all
+	# SAPIs to work correctly, especially for external PHP extensions
+
+	mkdir -p "${WORKDIR}/sapis-build" || die
+	for one_sapi in $SAPIS ; do
+		use "${one_sapi}" || continue
+		php_set_ini_dir "${one_sapi}"
+
+		# The BUILD_DIR variable is used to determine where to output
+		# the files that autotools creates. This was all originally
+		# based on the autotools-utils eclass.
+		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
+		cp -a "${S}" "${BUILD_DIR}" || die
+		cd "${BUILD_DIR}" || die
+
+		local sapi_conf=(
+			--with-config-file-path="${PHP_INI_DIR}"
+			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
+		)
+
+		for sapi in $SAPIS ; do
+			case "$sapi" in
+				cli|cgi|embed|fpm)
+					if [[ "${one_sapi}" == "${sapi}" ]] ; then
+						sapi_conf+=( "--enable-${sapi}" )
+						if [[ "fpm" == "${sapi}" ]] ; then
+							sapi_conf+=(
+								$(use_with acl fpm-acl)
+								$(use_with systemd fpm-systemd)
+							)
+						fi
+					else
+						sapi_conf+=( "--disable-${sapi}" )
+					fi
+					;;
+
+				apache2)
+					if [[ "${one_sapi}" == "${sapi}" ]] ; then
+						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
+					else
+						sapi_conf+=( --without-apxs2 )
+					fi
+					;;
+			esac
+		done
+
+		# Construct the $myeconfargs array by concatenating $our_conf
+		# (the common args) and $sapi_conf (the SAPI-specific args).
+		local myeconfargs=( "${our_conf[@]}" )
+		myeconfargs+=( "${sapi_conf[@]}" )
+
+		pushd "${BUILD_DIR}" > /dev/null || die
+		econf "${myeconfargs[@]}"
+		popd > /dev/null || die
+	done
+}
+
+src_compile() {
+	# snmp seems to run during src_compile, too (bug #324739)
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+	addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+	for sapi in ${SAPIS} ; do
+		if use "${sapi}"; then
+			cd "${WORKDIR}/sapis-build/$sapi" || \
+				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
+			emake
+		fi
+	done
+}
+
+src_install() {
+	# see bug #324739 for what happens when we don't have that
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+
+	# grab the first SAPI that got built and install common files from there
+	local first_sapi=""
+	for sapi in $SAPIS ; do
+		if use $sapi ; then
+			first_sapi=$sapi
+			break
+		fi
+	done
+
+	# Makefile forgets to create this before trying to write to it...
+	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
+
+	# Install php environment (without any sapis)
+	cd "${WORKDIR}/sapis-build/$first_sapi" || die
+	emake INSTALL_ROOT="${D}" \
+		install-build install-headers install-programs
+
+	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
+
+	# Create the directory where we'll put version-specific php scripts
+	keepdir "/usr/share/php${PHP_MV}"
+
+	local sapi="", file=""
+	local sapi_list=""
+
+	for sapi in ${SAPIS}; do
+		if use "${sapi}" ; then
+			einfo "Installing SAPI: ${sapi}"
+			cd "${WORKDIR}/sapis-build/${sapi}" || die
+
+			if [[ "${sapi}" == "apache2" ]] ; then
+				# We're specifically not using emake install-sapi as libtool
+				# may cause unnecessary relink failures (see bug #351266)
+				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
+				newins ".libs/libphp5$(get_libname)" \
+					   "libphp${PHP_MV}$(get_libname)"
+				keepdir "/usr/$(get_libdir)/apache2/modules"
+			else
+				# needed each time, php_install_ini would reset it
+				local dest="${PHP_DESTDIR#${EPREFIX}}"
+				into "${dest}"
+				case "$sapi" in
+					cli)
+						source="sapi/cli/php"
+						;;
+					cgi)
+						source="sapi/cgi/php-cgi"
+						;;
+					fpm)
+						source="sapi/fpm/php-fpm"
+						;;
+					embed)
+						source="libs/libphp${PHP_MV}$(get_libname)"
+						;;
+					*)
+						die "unhandled sapi in src_install"
+						;;
+				esac
+
+				if [[ "${source}" == *"$(get_libname)" ]]; then
+					dolib.so "${source}"
+				else
+					dobin "${source}"
+					local name="$(basename ${source})"
+					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
+				fi
+			fi
+
+			php_install_ini "${sapi}"
+
+			# construct correct SAPI string for php-config
+			# thanks to ferringb for the bash voodoo
+			if [[ "${sapi}" == "apache2" ]]; then
+				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
+			else
+				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
+			fi
+		fi
+	done
+
+	# Installing opcache module
+	if use opcache ; then
+		into "${PHP_DESTDIR#${EPREFIX}}"
+		dolib.so "modules/opcache$(get_libname)"
+	fi
+
+	# Install env.d files
+	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
+	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+
+	# set php-config variable correctly (bug #278439)
+	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
+		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
+
+	if use fpm ; then
+		if use systemd; then
+			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
+							"php-fpm@${SLOT}.service"
+		else
+			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
+							"php-fpm@${SLOT}.service"
+		fi
+	fi
+}
+
+src_test() {
+	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
+	if [[ ! -x "${PHP_BIN}" ]] ; then
+		ewarn "Test phase requires USE=cli, skipping"
+		return
+	else
+		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
+	fi
+
+	if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
+		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
+	fi
+
+	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
+					  "session.save_path=${T}" \
+					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
+					  "session.save_path=${T}"
+
+	for name in ${EXPECTED_TEST_FAILURES}; do
+		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
+	done
+
+	local failed="$(find -name '*.out')"
+	if [[ ${failed} != "" ]] ; then
+		ewarn "The following test cases failed unexpectedly:"
+		for name in ${failed}; do
+			ewarn "  ${name/.out/}"
+		done
+	else
+		einfo "No unexpected test failures, all fine"
+	fi
+
+	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
+		local passed=""
+		for name in ${EXPECTED_TEST_FAILURES}; do
+			[[ -f "${name}.diff" ]] && continue
+			passed="${passed} ${name}"
+		done
+		if [[ ${passed} != "" ]] ; then
+			einfo "The following test cases passed unexpectedly:"
+			for name in ${passed}; do
+				ewarn "  ${passed}"
+			done
+		else
+			einfo "None of the known-to-fail tests passed, all fine"
+		fi
+	fi
+}
+
+pkg_postinst() {
+	# Output some general info to the user
+	if use apache2 ; then
+		elog
+		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
+		elog "your apache2 command. OpenRC users can append that string to"
+		elog "APACHE2_OPTS in /etc/conf.d/apache2."
+		elog
+		elog "The apache module configuration file 70_mod_php.conf is"
+		elog "provided (and maintained) by eselect-php."
+		elog
+	fi
+
+	# Create the symlinks for php
+	for m in ${SAPIS}; do
+		[[ ${m} == 'embed' ]] && continue;
+		if use $m ; then
+			local ci=$(eselect php show $m)
+			if [[ -z $ci ]]; then
+				eselect php set $m php${SLOT} || die
+				einfo "Switched ${m} to use php:${SLOT}"
+				einfo
+			elif [[ $ci != "php${SLOT}" ]] ; then
+				elog "To switch $m to use php:${SLOT}, run"
+				elog "    eselect php set $m php${SLOT}"
+				elog
+			fi
+		fi
+	done
+
+	# Remove dead symlinks for SAPIs that were just disabled. For
+	# example, if the user has the cgi SAPI enabled, then he has an
+	# eselect-php symlink for it. If he later reinstalls PHP with
+	# USE="-cgi", that symlink will break. This call to eselect is
+	# supposed to remove that dead link per bug 572436.
+	eselect php cleanup || die
+
+	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
+	   elog "To build extensions for this version of PHP, you will need to"
+	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
+	   elog
+	fi
+
+	# Warn about the removal of PHP_INI_VERSION if the user has it set.
+	if [[ -n "${PHP_INI_VERSION}" ]]; then
+		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
+		ewarn 'remove it from your configuration at your convenience. See'
+		ewarn
+		ewarn '  https://bugs.gentoo.org/611214'
+		ewarn
+		ewarn 'for more information.'
+	fi
+
+	elog "For details on how version slotting works, please see"
+	elog "the wiki:"
+	elog
+	elog "  https://wiki.gentoo.org/wiki/PHP"
+	elog
+}
+
+pkg_postrm() {
+	# This serves two purposes. First, if we have just removed the last
+	# installed version of PHP, then this will remove any dead symlinks
+	# belonging to eselect-php. Second, if a user upgrades slots from
+	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
+	# his existing symlinks to point to the new 7.0 installation. The
+	# latter is bug 432962.
+	#
+	# Note: the eselect-php package may not be installed at this point,
+	# so we can't die() if this command fails.
+	eselect php cleanup
+}
diff --git a/dev-lang/php/php-7.1.27.ebuild b/dev-lang/php/php-7.1.27.ebuild
deleted file mode 100644
index 3be3c0289627..000000000000
--- a/dev-lang/php/php-7.1.27.ebuild
+++ /dev/null
@@ -1,737 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic systemd autotools
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://php.net/"
-SRC_URI="https://php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-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"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
-	coverage crypt +ctype curl debug
-	enchant exif +fileinfo +filter firebird
-	flatfile ftp gd gdbm gmp +hash +iconv imap inifile
-	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
-	mhash mssql mysql mysqli nls
-	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
-	readline recode selinux +session session-mm sharedmem
-	+simplexml snmp soap sockets spell sqlite ssl
-	sysvipc systemd test tidy +tokenizer truetype unicode wddx webp
-	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre-8.32[unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
-		<www-servers/apache-2.4[threads=] ) )
-	berkdb? ( || (	sys-libs/db:5.3
-					sys-libs/db:5.1
-					sys-libs/db:4.8
-					sys-libs/db:4.7
-					sys-libs/db:4.6
-					sys-libs/db:4.5 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	coverage? ( dev-util/lcov )
-	crypt? ( >=dev-libs/libmcrypt-2.4 )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( <app-text/enchant-2.0:0 )
-	firebird? ( dev-db/firebird )
-	gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
-	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
-	gmp? ( dev-libs/gmp:0= )
-	iconv? ( virtual/libiconv )
-	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
-	intl? ( dev-libs/icu:= )
-	iodbc? ( dev-db/libiodbc )
-	kerberos? ( virtual/krb5 )
-	ldap? ( >=net-nds/openldap-1.2.11 )
-	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
-	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
-	mssql? ( dev-db/freetds[mssql] )
-	nls? ( sys-devel/gettext )
-	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
-	odbc? ( >=dev-db/unixODBC-1.8.13 )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	recode? ( app-text/recode )
-	session-mm? ( dev-libs/mm )
-	simplexml? ( >=dev-libs/libxml2-2.6.8 )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	soap? ( >=dev-libs/libxml2-2.6.8 )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
-	truetype? ( =media-libs/freetype-2* )
-	unicode? ( dev-libs/oniguruma:= )
-	wddx? ( >=dev-libs/libxml2-2.6.8 )
-	webp? ( media-libs/libwebp:0= )
-	xml? ( >=dev-libs/libxml2-2.6.8 )
-	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
-	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
-	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
-	xpm? ( x11-libs/libXpm )
-	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
-	zip? ( sys-libs/zlib:0= )
-	zlib? ( sys-libs/zlib:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-REQUIRED_USE="
-	|| ( cli cgi fpm apache2 embed phpdbg )
-	cli? ( ^^ ( readline libedit ) )
-	truetype? ( gd zlib )
-	webp? ( gd zlib )
-	cjk? ( gd zlib )
-	exif? ( gd zlib )
-	xpm? ( gd zlib )
-	gd? ( zlib )
-	simplexml? ( xml )
-	soap? ( xml )
-	wddx? ( xml )
-	xmlrpc? ( || ( xml iconv ) )
-	xmlreader? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	mhash? ( hash )
-	phar? ( hash )
-	qdbm? ( !gdbm )
-	readline? ( !libedit )
-	recode? ( !imap !mysqli !mysql )
-	session-mm? ( session !threads )
-	mysql? ( hash || ( mysqli pdo ) )
-	mysqli? ( hash )
-"
-PATCHES=(
-	"${FILESDIR}/php-freetype-2.9.1.patch"
-	"${FILESDIR}/php-7.1.25-intl-use-icu-namespace.patch"
-)
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${phpinisrc}" || die
-
-	# default to /tmp for save_path, bug #282768
-	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
-	# Set the extension dir
-	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-		-i "${phpinisrc}" || die
-
-	# Set the include path to point to where we want to find PEAR packages
-	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
-	dodir "${PHP_INI_DIR#${EPREFIX}}"
-	insinto "${PHP_INI_DIR#${EPREFIX}}"
-	newins "${phpinisrc}" php.ini
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config files php-fpm.conf and www.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
-		doins sapi/fpm/www.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	default
-
-	# In php-7.x, the FPM pool configuration files have been split off
-	# of the main config. By default the pool config files go in
-	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
-	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
-	# we'll install the pool configuration file "www.conf" there.
-	php_set_ini_dir fpm
-	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
-		sapi/fpm/php-fpm.conf.in \
-		|| die 'failed to move the include directory in php-fpm.conf'
-
-	# Bug 669566 - necessary so that build tools are updated for commands like pecl
-	# Force rebuilding aclocal.m4
-	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
-	eautoreconf
-}
-
-src_configure() {
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_enable bcmath bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype ctype)
-		$(use_with curl curl "${EPREFIX}/usr")
-		$(use_enable xml dom)
-		$(use_with enchant enchant "${EPREFIX}/usr")
-		$(use_enable exif exif)
-		$(use_enable fileinfo fileinfo)
-		$(use_enable filter filter)
-		$(use_enable ftp ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_enable hash hash)
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
-		$(use_enable intl intl)
-		$(use_enable ipv6 ipv6)
-		$(use_enable json json)
-		$(use_with kerberos kerberos "${EPREFIX}/usr")
-		$(use_enable xml libxml)
-		$(use_with xml libxml-dir "${EPREFIX}/usr")
-		$(use_enable unicode mbstring)
-		$(use_with crypt mcrypt "${EPREFIX}/usr")
-		$(use_with unicode onig "${EPREFIX}/usr")
-		$(use_with ssl openssl "${EPREFIX}/usr")
-		$(use_with ssl openssl-dir "${EPREFIX}/usr")
-		$(use_enable pcntl pcntl)
-		$(use_enable phar phar)
-		$(use_enable pdo pdo)
-		$(use_enable opcache opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_with recode recode "${EPREFIX}/usr")
-		$(use_enable simplexml simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap soap)
-		$(use_enable sockets sockets)
-		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer tokenizer)
-		$(use_enable wddx wddx)
-		$(use_enable xml xml)
-		$(use_enable xmlreader xmlreader)
-		$(use_enable xmlwriter xmlwriter)
-		$(use_with xmlrpc xmlrpc)
-		$(use_with xslt xsl "${EPREFIX}/usr")
-		$(use_enable zip zip)
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm ; then
-		our_conf+=( "--enable-dba${shared}" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(use_with truetype freetype-dir "${EPREFIX}/usr")
-		$(use_enable cjk gd-jis-conv)
-		$(use_with gd jpeg-dir "${EPREFIX}/usr")
-		$(use_with gd png-dir "${EPREFIX}/usr")
-		$(use_with xpm xpm-dir "${EPREFIX}/usr")
-	)
-	if use webp; then
-		our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
-	fi
-	# enable gd last, so configure can pick up the previous settings
-	our_conf+=( $(use_with gd gd) )
-
-	# IMAP support
-	if use imap ; then
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# Interbase/firebird support
-	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	our_conf+=(
-		$(use_with odbc unixODBC "${EPREFIX}/usr")
-		$(use_with iodbc iodbc "${EPREFIX}/usr")
-	)
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit libedit "${EPREFIX}/usr")
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-pcre-regex affects ext/pcre
-	# --with-pcre-dir affects ext/filter and ext/zip
-	our_conf+=(
-		--with-pcre-regex="${EPREFIX}/usr"
-		--with-pcre-dir="${EPREFIX}/usr"
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm|phpdbg)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# Makefile forgets to create this before trying to write to it...
-	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
-	# Install php environment (without any sapis)
-	cd "${WORKDIR}/sapis-build/$first_sapi" || die
-	emake INSTALL_ROOT="${D}" \
-		install-build install-headers install-programs
-
-	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
-	# Create the directory where we'll put version-specific php scripts
-	keepdir "/usr/share/php${PHP_MV}"
-
-	local sapi="", file=""
-	local sapi_list=""
-
-	for sapi in ${SAPIS}; do
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp${PHP_MV}$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					phpdbg)
-						source="sapi/phpdbg/phpdbg"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		fi
-	done
-
-	# Installing opcache module
-	if use opcache ; then
-		into "${PHP_DESTDIR#${EPREFIX}}"
-		dolib.so "modules/opcache$(get_libname)"
-	fi
-
-	# Install env.d files
-	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
-	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
-		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.1.29.ebuild b/dev-lang/php/php-7.1.29.ebuild
deleted file mode 100644
index 21ae6551ee5a..000000000000
--- a/dev-lang/php/php-7.1.29.ebuild
+++ /dev/null
@@ -1,737 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic systemd autotools
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://php.net/"
-SRC_URI="https://php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-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"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
-	coverage crypt +ctype curl debug
-	enchant exif +fileinfo +filter firebird
-	flatfile ftp gd gdbm gmp +hash +iconv imap inifile
-	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
-	mhash mssql mysql mysqli nls
-	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
-	readline recode selinux +session session-mm sharedmem
-	+simplexml snmp soap sockets spell sqlite ssl
-	sysvipc systemd test tidy +tokenizer truetype unicode wddx webp
-	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre-8.32[unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
-		<www-servers/apache-2.4[threads=] ) )
-	berkdb? ( || (	sys-libs/db:5.3
-					sys-libs/db:5.1
-					sys-libs/db:4.8
-					sys-libs/db:4.7
-					sys-libs/db:4.6
-					sys-libs/db:4.5 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	coverage? ( dev-util/lcov )
-	crypt? ( >=dev-libs/libmcrypt-2.4 )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( <app-text/enchant-2.0:0 )
-	firebird? ( dev-db/firebird )
-	gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
-	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
-	gmp? ( dev-libs/gmp:0= )
-	iconv? ( virtual/libiconv )
-	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
-	intl? ( dev-libs/icu:= )
-	iodbc? ( dev-db/libiodbc )
-	kerberos? ( virtual/krb5 )
-	ldap? ( >=net-nds/openldap-1.2.11 )
-	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
-	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
-	mssql? ( dev-db/freetds[mssql] )
-	nls? ( sys-devel/gettext )
-	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
-	odbc? ( >=dev-db/unixODBC-1.8.13 )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	recode? ( app-text/recode )
-	session-mm? ( dev-libs/mm )
-	simplexml? ( >=dev-libs/libxml2-2.6.8 )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	soap? ( >=dev-libs/libxml2-2.6.8 )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
-	truetype? ( =media-libs/freetype-2* )
-	unicode? ( dev-libs/oniguruma:= )
-	wddx? ( >=dev-libs/libxml2-2.6.8 )
-	webp? ( media-libs/libwebp:0= )
-	xml? ( >=dev-libs/libxml2-2.6.8 )
-	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
-	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
-	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
-	xpm? ( x11-libs/libXpm )
-	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
-	zip? ( sys-libs/zlib:0= )
-	zlib? ( sys-libs/zlib:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-REQUIRED_USE="
-	|| ( cli cgi fpm apache2 embed phpdbg )
-	cli? ( ^^ ( readline libedit ) )
-	truetype? ( gd zlib )
-	webp? ( gd zlib )
-	cjk? ( gd zlib )
-	exif? ( gd zlib )
-	xpm? ( gd zlib )
-	gd? ( zlib )
-	simplexml? ( xml )
-	soap? ( xml )
-	wddx? ( xml )
-	xmlrpc? ( || ( xml iconv ) )
-	xmlreader? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	mhash? ( hash )
-	phar? ( hash )
-	qdbm? ( !gdbm )
-	readline? ( !libedit )
-	recode? ( !imap !mysqli !mysql )
-	session-mm? ( session !threads )
-	mysql? ( hash || ( mysqli pdo ) )
-	mysqli? ( hash )
-"
-PATCHES=(
-	"${FILESDIR}/php-freetype-2.9.1.patch"
-	"${FILESDIR}/php-7.1.25-intl-use-icu-namespace.patch"
-)
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${phpinisrc}" || die
-
-	# default to /tmp for save_path, bug #282768
-	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
-	# Set the extension dir
-	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-		-i "${phpinisrc}" || die
-
-	# Set the include path to point to where we want to find PEAR packages
-	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
-	dodir "${PHP_INI_DIR#${EPREFIX}}"
-	insinto "${PHP_INI_DIR#${EPREFIX}}"
-	newins "${phpinisrc}" php.ini
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config files php-fpm.conf and www.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
-		doins sapi/fpm/www.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	default
-
-	# In php-7.x, the FPM pool configuration files have been split off
-	# of the main config. By default the pool config files go in
-	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
-	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
-	# we'll install the pool configuration file "www.conf" there.
-	php_set_ini_dir fpm
-	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
-		sapi/fpm/php-fpm.conf.in \
-		|| die 'failed to move the include directory in php-fpm.conf'
-
-	# Bug 669566 - necessary so that build tools are updated for commands like pecl
-	# Force rebuilding aclocal.m4
-	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
-	eautoreconf
-}
-
-src_configure() {
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_enable bcmath bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype ctype)
-		$(use_with curl curl "${EPREFIX}/usr")
-		$(use_enable xml dom)
-		$(use_with enchant enchant "${EPREFIX}/usr")
-		$(use_enable exif exif)
-		$(use_enable fileinfo fileinfo)
-		$(use_enable filter filter)
-		$(use_enable ftp ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_enable hash hash)
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
-		$(use_enable intl intl)
-		$(use_enable ipv6 ipv6)
-		$(use_enable json json)
-		$(use_with kerberos kerberos "${EPREFIX}/usr")
-		$(use_enable xml libxml)
-		$(use_with xml libxml-dir "${EPREFIX}/usr")
-		$(use_enable unicode mbstring)
-		$(use_with crypt mcrypt "${EPREFIX}/usr")
-		$(use_with unicode onig "${EPREFIX}/usr")
-		$(use_with ssl openssl "${EPREFIX}/usr")
-		$(use_with ssl openssl-dir "${EPREFIX}/usr")
-		$(use_enable pcntl pcntl)
-		$(use_enable phar phar)
-		$(use_enable pdo pdo)
-		$(use_enable opcache opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_with recode recode "${EPREFIX}/usr")
-		$(use_enable simplexml simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap soap)
-		$(use_enable sockets sockets)
-		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer tokenizer)
-		$(use_enable wddx wddx)
-		$(use_enable xml xml)
-		$(use_enable xmlreader xmlreader)
-		$(use_enable xmlwriter xmlwriter)
-		$(use_with xmlrpc xmlrpc)
-		$(use_with xslt xsl "${EPREFIX}/usr")
-		$(use_enable zip zip)
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm ; then
-		our_conf+=( "--enable-dba${shared}" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(use_with truetype freetype-dir "${EPREFIX}/usr")
-		$(use_enable cjk gd-jis-conv)
-		$(use_with gd jpeg-dir "${EPREFIX}/usr")
-		$(use_with gd png-dir "${EPREFIX}/usr")
-		$(use_with xpm xpm-dir "${EPREFIX}/usr")
-	)
-	if use webp; then
-		our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
-	fi
-	# enable gd last, so configure can pick up the previous settings
-	our_conf+=( $(use_with gd gd) )
-
-	# IMAP support
-	if use imap ; then
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# Interbase/firebird support
-	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	our_conf+=(
-		$(use_with odbc unixODBC "${EPREFIX}/usr")
-		$(use_with iodbc iodbc "${EPREFIX}/usr")
-	)
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit libedit "${EPREFIX}/usr")
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-pcre-regex affects ext/pcre
-	# --with-pcre-dir affects ext/filter and ext/zip
-	our_conf+=(
-		--with-pcre-regex="${EPREFIX}/usr"
-		--with-pcre-dir="${EPREFIX}/usr"
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm|phpdbg)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# Makefile forgets to create this before trying to write to it...
-	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
-	# Install php environment (without any sapis)
-	cd "${WORKDIR}/sapis-build/$first_sapi" || die
-	emake INSTALL_ROOT="${D}" \
-		install-build install-headers install-programs
-
-	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
-	# Create the directory where we'll put version-specific php scripts
-	keepdir "/usr/share/php${PHP_MV}"
-
-	local sapi="", file=""
-	local sapi_list=""
-
-	for sapi in ${SAPIS}; do
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp${PHP_MV}$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					phpdbg)
-						source="sapi/phpdbg/phpdbg"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		fi
-	done
-
-	# Installing opcache module
-	if use opcache ; then
-		into "${PHP_DESTDIR#${EPREFIX}}"
-		dolib.so "modules/opcache$(get_libname)"
-	fi
-
-	# Install env.d files
-	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
-	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
-		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.1.30.ebuild b/dev-lang/php/php-7.1.30.ebuild
index c853f3df798e..3be3c0289627 100644
--- a/dev-lang/php/php-7.1.30.ebuild
+++ b/dev-lang/php/php-7.1.30.ebuild
@@ -18,7 +18,7 @@ LICENSE="PHP-3.01
 	unicode? ( BSD-2 LGPL-2.1 )"
 
 SLOT="$(ver_cut 1-2)"
-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"
+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"
 
 # We can build the following SAPIs in the given order
 SAPIS="embed cli cgi fpm apache2 phpdbg"
diff --git a/dev-lang/php/php-7.1.31.ebuild b/dev-lang/php/php-7.1.31.ebuild
new file mode 100644
index 000000000000..938d10c7b54d
--- /dev/null
+++ b/dev-lang/php/php-7.1.31.ebuild
@@ -0,0 +1,737 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic systemd autotools
+
+DESCRIPTION="The PHP language runtime engine"
+HOMEPAGE="https://php.net/"
+SRC_URI="https://php.net/distributions/${P}.tar.xz"
+
+LICENSE="PHP-3.01
+	BSD
+	Zend-2.0
+	bcmath? ( LGPL-2.1+ )
+	fpm? ( BSD-2 )
+	gd? ( gd )
+	unicode? ( BSD-2 LGPL-2.1 )"
+
+SLOT="$(ver_cut 1-2)"
+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"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2 phpdbg"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+	${SAPIS/cli/+cli}
+	threads"
+
+IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
+	coverage crypt +ctype curl debug
+	enchant exif +fileinfo +filter firebird
+	+flatfile ftp gd gdbm gmp +hash +iconv imap inifile
+	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
+	mhash mssql mysql mysqli nls
+	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+	readline recode selinux +session session-mm sharedmem
+	+simplexml snmp soap sockets spell sqlite ssl
+	sysvipc systemd test tidy +tokenizer truetype unicode wddx webp
+	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
+
+# The supported (that is, autodetected) versions of BDB are listed in
+# the ./configure script. Other versions *work*, but we need to stick to
+# the ones that can be detected to avoid a repeat of bug #564824.
+COMMON_DEPEND="
+	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
+	>=dev-libs/libpcre-8.32[unicode]
+	fpm? ( acl? ( sys-apps/acl ) )
+	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
+		<www-servers/apache-2.4[threads=] ) )
+	berkdb? ( || (	sys-libs/db:5.3
+					sys-libs/db:5.1
+					sys-libs/db:4.8
+					sys-libs/db:4.7
+					sys-libs/db:4.6
+					sys-libs/db:4.5 ) )
+	bzip2? ( app-arch/bzip2:0= )
+	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+	coverage? ( dev-util/lcov )
+	crypt? ( >=dev-libs/libmcrypt-2.4 )
+	curl? ( >=net-misc/curl-7.10.5 )
+	enchant? ( <app-text/enchant-2.0:0 )
+	firebird? ( dev-db/firebird )
+	gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
+	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
+	gmp? ( dev-libs/gmp:0= )
+	iconv? ( virtual/libiconv )
+	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
+	intl? ( dev-libs/icu:= )
+	iodbc? ( dev-db/libiodbc )
+	kerberos? ( virtual/krb5 )
+	ldap? ( >=net-nds/openldap-1.2.11 )
+	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
+	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
+	mssql? ( dev-db/freetds[mssql] )
+	nls? ( sys-devel/gettext )
+	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
+	odbc? ( >=dev-db/unixODBC-1.8.13 )
+	postgres? ( dev-db/postgresql:* )
+	qdbm? ( dev-db/qdbm )
+	readline? ( sys-libs/readline:0= )
+	recode? ( app-text/recode )
+	session-mm? ( dev-libs/mm )
+	simplexml? ( >=dev-libs/libxml2-2.6.8 )
+	snmp? ( >=net-analyzer/net-snmp-5.2 )
+	soap? ( >=dev-libs/libxml2-2.6.8 )
+	spell? ( >=app-text/aspell-0.50 )
+	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+	ssl? (
+		!libressl? ( dev-libs/openssl:0= )
+		libressl? ( dev-libs/libressl:0= )
+	)
+	tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
+	truetype? ( =media-libs/freetype-2* )
+	unicode? ( dev-libs/oniguruma:= )
+	wddx? ( >=dev-libs/libxml2-2.6.8 )
+	webp? ( media-libs/libwebp:0= )
+	xml? ( >=dev-libs/libxml2-2.6.8 )
+	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
+	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
+	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
+	xpm? ( x11-libs/libXpm )
+	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
+	zip? ( sys-libs/zlib:0= )
+	zlib? ( sys-libs/zlib:0= )
+"
+
+RDEPEND="${COMMON_DEPEND}
+	virtual/mta
+	fpm? (
+		selinux? ( sec-policy/selinux-phpfpm )
+		systemd? ( sys-apps/systemd ) )"
+
+# Bison isn't actually needed when building from a release tarball
+# However, the configure script will warn if it's absent or if you
+# have an incompatible version installed. See bug 593278.
+DEPEND="${COMMON_DEPEND}
+	app-arch/xz-utils
+	>=sys-devel/bison-3.0.1"
+
+BDEPEND="virtual/pkgconfig"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+REQUIRED_USE="
+	|| ( cli cgi fpm apache2 embed phpdbg )
+	cli? ( ^^ ( readline libedit ) )
+	truetype? ( gd zlib )
+	webp? ( gd zlib )
+	cjk? ( gd zlib )
+	exif? ( gd zlib )
+	xpm? ( gd zlib )
+	gd? ( zlib )
+	simplexml? ( xml )
+	soap? ( xml )
+	wddx? ( xml )
+	xmlrpc? ( || ( xml iconv ) )
+	xmlreader? ( xml )
+	xslt? ( xml )
+	ldap-sasl? ( ldap )
+	mhash? ( hash )
+	phar? ( hash )
+	qdbm? ( !gdbm )
+	readline? ( !libedit )
+	recode? ( !imap !mysqli !mysql )
+	session-mm? ( session !threads )
+	mysql? ( hash || ( mysqli pdo ) )
+	mysqli? ( hash )
+"
+PATCHES=(
+	"${FILESDIR}/php-freetype-2.9.1.patch"
+	"${FILESDIR}/php-7.1.25-intl-use-icu-namespace.patch"
+)
+
+PHP_MV="$(ver_cut 1)"
+
+php_install_ini() {
+	local phpsapi="${1}"
+
+	# work out where we are installing the ini file
+	php_set_ini_dir "${phpsapi}"
+
+	# Always install the production INI file, bug 611214.
+	local phpinisrc="php.ini-production-${phpsapi}"
+	cp php.ini-production "${phpinisrc}" || die
+
+	# default to /tmp for save_path, bug #282768
+	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
+
+	# Set the extension dir
+	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
+		-i "${phpinisrc}" || die
+
+	# Set the include path to point to where we want to find PEAR packages
+	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
+
+	dodir "${PHP_INI_DIR#${EPREFIX}}"
+	insinto "${PHP_INI_DIR#${EPREFIX}}"
+	newins "${phpinisrc}" php.ini
+
+	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
+	elog
+
+	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
+	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
+
+	if use opcache; then
+		elog "Adding opcache to $PHP_EXT_INI_DIR"
+		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
+			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
+		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
+			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
+	fi
+
+	# SAPI-specific handling
+	if [[ "${sapi}" == "fpm" ]] ; then
+		einfo "Installing FPM config files php-fpm.conf and www.conf"
+		insinto "${PHP_INI_DIR#${EPREFIX}}"
+		doins sapi/fpm/php-fpm.conf
+		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
+		doins sapi/fpm/www.conf
+	fi
+
+	dodoc php.ini-{development,production}
+}
+
+php_set_ini_dir() {
+	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
+	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
+	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
+}
+
+src_prepare() {
+	default
+
+	# In php-7.x, the FPM pool configuration files have been split off
+	# of the main config. By default the pool config files go in
+	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
+	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
+	# we'll install the pool configuration file "www.conf" there.
+	php_set_ini_dir fpm
+	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
+		sapi/fpm/php-fpm.conf.in \
+		|| die 'failed to move the include directory in php-fpm.conf'
+
+	# Bug 669566 - necessary so that build tools are updated for commands like pecl
+	# Force rebuilding aclocal.m4
+	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
+	eautoreconf
+}
+
+src_configure() {
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+	addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
+
+	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
+	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
+	local our_conf=(
+		--prefix="${PHP_DESTDIR}"
+		--mandir="${PHP_DESTDIR}/man"
+		--infodir="${PHP_DESTDIR}/info"
+		--libdir="${PHP_DESTDIR}/lib"
+		--with-libdir="$(get_libdir)"
+		--localstatedir="${EPREFIX}/var"
+		--without-pear
+		$(use_enable threads maintainer-zts)
+	)
+
+	our_conf+=(
+		$(use_enable bcmath bcmath)
+		$(use_with bzip2 bz2 "${EPREFIX}/usr")
+		$(use_enable calendar calendar)
+		$(use_enable coverage gcov)
+		$(use_enable ctype ctype)
+		$(use_with curl curl "${EPREFIX}/usr")
+		$(use_enable xml dom)
+		$(use_with enchant enchant "${EPREFIX}/usr")
+		$(use_enable exif exif)
+		$(use_enable fileinfo fileinfo)
+		$(use_enable filter filter)
+		$(use_enable ftp ftp)
+		$(use_with nls gettext "${EPREFIX}/usr")
+		$(use_with gmp gmp "${EPREFIX}/usr")
+		$(use_enable hash hash)
+		$(use_with mhash mhash "${EPREFIX}/usr")
+		$(use_with iconv iconv \
+			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
+		$(use_enable intl intl)
+		$(use_enable ipv6 ipv6)
+		$(use_enable json json)
+		$(use_with kerberos kerberos "${EPREFIX}/usr")
+		$(use_enable xml libxml)
+		$(use_with xml libxml-dir "${EPREFIX}/usr")
+		$(use_enable unicode mbstring)
+		$(use_with crypt mcrypt "${EPREFIX}/usr")
+		$(use_with unicode onig "${EPREFIX}/usr")
+		$(use_with ssl openssl "${EPREFIX}/usr")
+		$(use_with ssl openssl-dir "${EPREFIX}/usr")
+		$(use_enable pcntl pcntl)
+		$(use_enable phar phar)
+		$(use_enable pdo pdo)
+		$(use_enable opcache opcache)
+		$(use_with postgres pgsql "${EPREFIX}/usr")
+		$(use_enable posix posix)
+		$(use_with spell pspell "${EPREFIX}/usr")
+		$(use_with recode recode "${EPREFIX}/usr")
+		$(use_enable simplexml simplexml)
+		$(use_enable sharedmem shmop)
+		$(use_with snmp snmp "${EPREFIX}/usr")
+		$(use_enable soap soap)
+		$(use_enable sockets sockets)
+		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
+		$(use_enable sysvipc sysvmsg)
+		$(use_enable sysvipc sysvsem)
+		$(use_enable sysvipc sysvshm)
+		$(use_with tidy tidy "${EPREFIX}/usr")
+		$(use_enable tokenizer tokenizer)
+		$(use_enable wddx wddx)
+		$(use_enable xml xml)
+		$(use_enable xmlreader xmlreader)
+		$(use_enable xmlwriter xmlwriter)
+		$(use_with xmlrpc xmlrpc)
+		$(use_with xslt xsl "${EPREFIX}/usr")
+		$(use_enable zip zip)
+		$(use_with zlib zlib "${EPREFIX}/usr")
+		$(use_enable debug debug)
+	)
+
+	# DBA support
+	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
+		|| use qdbm ; then
+		our_conf+=( "--enable-dba${shared}" )
+	fi
+
+	# DBA drivers support
+	our_conf+=(
+		$(use_with cdb cdb)
+		$(use_with berkdb db4 "${EPREFIX}/usr")
+		$(use_enable flatfile flatfile)
+		$(use_with gdbm gdbm "${EPREFIX}/usr")
+		$(use_enable inifile inifile)
+		$(use_with qdbm qdbm "${EPREFIX}/usr")
+	)
+
+	# Support for the GD graphics library
+	our_conf+=(
+		$(use_with truetype freetype-dir "${EPREFIX}/usr")
+		$(use_enable cjk gd-jis-conv)
+		$(use_with gd jpeg-dir "${EPREFIX}/usr")
+		$(use_with gd png-dir "${EPREFIX}/usr")
+		$(use_with xpm xpm-dir "${EPREFIX}/usr")
+	)
+	if use webp; then
+		our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
+	fi
+	# enable gd last, so configure can pick up the previous settings
+	our_conf+=( $(use_with gd gd) )
+
+	# IMAP support
+	if use imap ; then
+		our_conf+=(
+			$(use_with imap imap "${EPREFIX}/usr")
+			$(use_with ssl imap-ssl "${EPREFIX}/usr")
+		)
+	fi
+
+	# Interbase/firebird support
+	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
+
+	# LDAP support
+	if use ldap ; then
+		our_conf+=(
+			$(use_with ldap ldap "${EPREFIX}/usr")
+			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
+		)
+	fi
+
+	# MySQL support
+	local mysqllib="mysqlnd"
+	local mysqlilib="mysqlnd"
+
+	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
+
+	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
+	if use mysql || use mysqli ; then
+		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
+	fi
+
+	# ODBC support
+	our_conf+=(
+		$(use_with odbc unixODBC "${EPREFIX}/usr")
+		$(use_with iodbc iodbc "${EPREFIX}/usr")
+	)
+
+	# Oracle support
+	our_conf+=( $(use_with oci8-instant-client oci8) )
+
+	# PDO support
+	if use pdo ; then
+		our_conf+=(
+			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
+			$(use_with mysql pdo-mysql "${mysqllib}")
+			$(use_with postgres pdo-pgsql)
+			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
+			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
+			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
+			$(use_with oci8-instant-client pdo-oci)
+		)
+	fi
+
+	# readline/libedit support
+	our_conf+=(
+		$(use_with readline readline "${EPREFIX}/usr")
+		$(use_with libedit libedit "${EPREFIX}/usr")
+	)
+
+	# Session support
+	if use session ; then
+		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+	else
+		our_conf+=( $(use_enable session session) )
+	fi
+
+	# Use pic for shared modules such as apache2's mod_php
+	our_conf+=( --with-pic )
+
+	# we use the system copy of pcre
+	# --with-pcre-regex affects ext/pcre
+	# --with-pcre-dir affects ext/filter and ext/zip
+	our_conf+=(
+		--with-pcre-regex="${EPREFIX}/usr"
+		--with-pcre-dir="${EPREFIX}/usr"
+	)
+
+	# Catch CFLAGS problems
+	# Fixes bug #14067.
+	# Changed order to run it in reverse for bug #32022 and #12021.
+	replace-cpu-flags "k6*" "i586"
+
+	# Cache the ./configure test results between SAPIs.
+	our_conf+=( --cache-file="${T}/config.cache" )
+
+	# Support user-passed configuration parameters
+	our_conf+=( ${EXTRA_ECONF:-} )
+
+	# Support the Apache2 extras, they must be set globally for all
+	# SAPIs to work correctly, especially for external PHP extensions
+
+	mkdir -p "${WORKDIR}/sapis-build" || die
+	for one_sapi in $SAPIS ; do
+		use "${one_sapi}" || continue
+		php_set_ini_dir "${one_sapi}"
+
+		# The BUILD_DIR variable is used to determine where to output
+		# the files that autotools creates. This was all originally
+		# based on the autotools-utils eclass.
+		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
+		cp -a "${S}" "${BUILD_DIR}" || die
+		cd "${BUILD_DIR}" || die
+
+		local sapi_conf=(
+			--with-config-file-path="${PHP_INI_DIR}"
+			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
+		)
+
+		for sapi in $SAPIS ; do
+			case "$sapi" in
+				cli|cgi|embed|fpm|phpdbg)
+					if [[ "${one_sapi}" == "${sapi}" ]] ; then
+						sapi_conf+=( "--enable-${sapi}" )
+						if [[ "fpm" == "${sapi}" ]] ; then
+							sapi_conf+=(
+								$(use_with acl fpm-acl)
+								$(use_with systemd fpm-systemd)
+							)
+						fi
+					else
+						sapi_conf+=( "--disable-${sapi}" )
+					fi
+					;;
+
+				apache2)
+					if [[ "${one_sapi}" == "${sapi}" ]] ; then
+						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
+					else
+						sapi_conf+=( --without-apxs2 )
+					fi
+					;;
+			esac
+		done
+
+		# Construct the $myeconfargs array by concatenating $our_conf
+		# (the common args) and $sapi_conf (the SAPI-specific args).
+		local myeconfargs=( "${our_conf[@]}" )
+		myeconfargs+=( "${sapi_conf[@]}" )
+
+		pushd "${BUILD_DIR}" > /dev/null || die
+		econf "${myeconfargs[@]}"
+		popd > /dev/null || die
+	done
+}
+
+src_compile() {
+	# snmp seems to run during src_compile, too (bug #324739)
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+	addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+	for sapi in ${SAPIS} ; do
+		if use "${sapi}"; then
+			cd "${WORKDIR}/sapis-build/$sapi" || \
+				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
+			emake
+		fi
+	done
+}
+
+src_install() {
+	# see bug #324739 for what happens when we don't have that
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+
+	# grab the first SAPI that got built and install common files from there
+	local first_sapi=""
+	for sapi in $SAPIS ; do
+		if use $sapi ; then
+			first_sapi=$sapi
+			break
+		fi
+	done
+
+	# Makefile forgets to create this before trying to write to it...
+	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
+
+	# Install php environment (without any sapis)
+	cd "${WORKDIR}/sapis-build/$first_sapi" || die
+	emake INSTALL_ROOT="${D}" \
+		install-build install-headers install-programs
+
+	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
+
+	# Create the directory where we'll put version-specific php scripts
+	keepdir "/usr/share/php${PHP_MV}"
+
+	local sapi="", file=""
+	local sapi_list=""
+
+	for sapi in ${SAPIS}; do
+		if use "${sapi}" ; then
+			einfo "Installing SAPI: ${sapi}"
+			cd "${WORKDIR}/sapis-build/${sapi}" || die
+
+			if [[ "${sapi}" == "apache2" ]] ; then
+				# We're specifically not using emake install-sapi as libtool
+				# may cause unnecessary relink failures (see bug #351266)
+				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
+				newins ".libs/libphp${PHP_MV}$(get_libname)" \
+					   "libphp${PHP_MV}$(get_libname)"
+				keepdir "/usr/$(get_libdir)/apache2/modules"
+			else
+				# needed each time, php_install_ini would reset it
+				local dest="${PHP_DESTDIR#${EPREFIX}}"
+				into "${dest}"
+				case "$sapi" in
+					cli)
+						source="sapi/cli/php"
+						;;
+					cgi)
+						source="sapi/cgi/php-cgi"
+						;;
+					fpm)
+						source="sapi/fpm/php-fpm"
+						;;
+					embed)
+						source="libs/libphp${PHP_MV}$(get_libname)"
+						;;
+					phpdbg)
+						source="sapi/phpdbg/phpdbg"
+						;;
+					*)
+						die "unhandled sapi in src_install"
+						;;
+				esac
+
+				if [[ "${source}" == *"$(get_libname)" ]]; then
+					dolib.so "${source}"
+				else
+					dobin "${source}"
+					local name="$(basename ${source})"
+					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
+				fi
+			fi
+
+			php_install_ini "${sapi}"
+
+			# construct correct SAPI string for php-config
+			# thanks to ferringb for the bash voodoo
+			if [[ "${sapi}" == "apache2" ]]; then
+				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
+			else
+				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
+			fi
+		fi
+	done
+
+	# Installing opcache module
+	if use opcache ; then
+		into "${PHP_DESTDIR#${EPREFIX}}"
+		dolib.so "modules/opcache$(get_libname)"
+	fi
+
+	# Install env.d files
+	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
+	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+
+	# set php-config variable correctly (bug #278439)
+	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
+		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
+
+	if use fpm ; then
+		if use systemd; then
+			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
+							"php-fpm@${SLOT}.service"
+		else
+			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
+							"php-fpm@${SLOT}.service"
+		fi
+	fi
+}
+
+src_test() {
+	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
+	if [[ ! -x "${PHP_BIN}" ]] ; then
+		ewarn "Test phase requires USE=cli, skipping"
+		return
+	else
+		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
+	fi
+
+	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
+		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
+	fi
+
+	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
+		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
+	fi
+
+	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
+					  "session.save_path=${T}" \
+					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
+					  "session.save_path=${T}"
+
+	for name in ${EXPECTED_TEST_FAILURES}; do
+		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
+	done
+
+	local failed="$(find -name '*.out')"
+	if [[ ${failed} != "" ]] ; then
+		ewarn "The following test cases failed unexpectedly:"
+		for name in ${failed}; do
+			ewarn "  ${name/.out/}"
+		done
+	else
+		einfo "No unexpected test failures, all fine"
+	fi
+
+	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
+		local passed=""
+		for name in ${EXPECTED_TEST_FAILURES}; do
+			[[ -f "${name}.diff" ]] && continue
+			passed="${passed} ${name}"
+		done
+		if [[ ${passed} != "" ]] ; then
+			einfo "The following test cases passed unexpectedly:"
+			for name in ${passed}; do
+				ewarn "  ${passed}"
+			done
+		else
+			einfo "None of the known-to-fail tests passed, all fine"
+		fi
+	fi
+}
+
+pkg_postinst() {
+	# Output some general info to the user
+	if use apache2 ; then
+		elog
+		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
+		elog "your apache2 command. OpenRC users can append that string to"
+		elog "APACHE2_OPTS in /etc/conf.d/apache2."
+		elog
+		elog "The apache module configuration file 70_mod_php.conf is"
+		elog "provided (and maintained) by eselect-php."
+		elog
+	fi
+
+	# Create the symlinks for php
+	for m in ${SAPIS}; do
+		[[ ${m} == 'embed' ]] && continue;
+		if use $m ; then
+			local ci=$(eselect php show $m)
+			if [[ -z $ci ]]; then
+				eselect php set $m php${SLOT} || die
+				einfo "Switched ${m} to use php:${SLOT}"
+				einfo
+			elif [[ $ci != "php${SLOT}" ]] ; then
+				elog "To switch $m to use php:${SLOT}, run"
+				elog "    eselect php set $m php${SLOT}"
+				elog
+			fi
+		fi
+	done
+
+	# Remove dead symlinks for SAPIs that were just disabled. For
+	# example, if the user has the cgi SAPI enabled, then he has an
+	# eselect-php symlink for it. If he later reinstalls PHP with
+	# USE="-cgi", that symlink will break. This call to eselect is
+	# supposed to remove that dead link per bug 572436.
+	eselect php cleanup || die
+
+	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
+	   elog "To build extensions for this version of PHP, you will need to"
+	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
+	   elog
+	fi
+
+	# Warn about the removal of PHP_INI_VERSION if the user has it set.
+	if [[ -n "${PHP_INI_VERSION}" ]]; then
+		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
+		ewarn 'remove it from your configuration at your convenience. See'
+		ewarn
+		ewarn '  https://bugs.gentoo.org/611214'
+		ewarn
+		ewarn 'for more information.'
+	fi
+
+	elog "For details on how version slotting works, please see"
+	elog "the wiki:"
+	elog
+	elog "  https://wiki.gentoo.org/wiki/PHP"
+	elog
+}
+
+pkg_postrm() {
+	# This serves two purposes. First, if we have just removed the last
+	# installed version of PHP, then this will remove any dead symlinks
+	# belonging to eselect-php. Second, if a user upgrades slots from
+	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
+	# his existing symlinks to point to the new 7.0 installation. The
+	# latter is bug 432962.
+	#
+	# Note: the eselect-php package may not be installed at this point,
+	# so we can't die() if this command fails.
+	eselect php cleanup
+}
diff --git a/dev-lang/php/php-7.2.16.ebuild b/dev-lang/php/php-7.2.16.ebuild
deleted file mode 100644
index 30968e0621d4..000000000000
--- a/dev-lang/php/php-7.2.16.ebuild
+++ /dev/null
@@ -1,749 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic systemd autotools
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://php.net/"
-SRC_URI="https://php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-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"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
-	coverage +ctype curl debug
-	enchant exif +fileinfo +filter firebird
-	flatfile ftp gd gdbm gmp +hash +iconv imap inifile
-	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
-	mhash mssql mysql mysqli nls
-	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
-	readline recode selinux +session session-mm sharedmem
-	+simplexml snmp soap sockets sodium spell sqlite ssl
-	sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
-	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre-8.32[unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
-		<www-servers/apache-2.4[threads=] ) )
-	argon2? ( app-crypt/argon2:= )
-	berkdb? ( || (	sys-libs/db:5.3
-					sys-libs/db:5.1
-					sys-libs/db:4.8
-					sys-libs/db:4.7
-					sys-libs/db:4.6
-					sys-libs/db:4.5 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	coverage? ( dev-util/lcov )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( <app-text/enchant-2.0:0 )
-	firebird? ( dev-db/firebird )
-	gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
-	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
-	gmp? ( dev-libs/gmp:0= )
-	iconv? ( virtual/libiconv )
-	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
-	intl? ( dev-libs/icu:= )
-	iodbc? ( dev-db/libiodbc )
-	kerberos? ( virtual/krb5 )
-	ldap? ( >=net-nds/openldap-1.2.11 )
-	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
-	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
-	lmdb? ( dev-db/lmdb:= )
-	mssql? ( dev-db/freetds[mssql] )
-	nls? ( sys-devel/gettext )
-	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
-	odbc? ( >=dev-db/unixODBC-1.8.13 )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	recode? ( app-text/recode )
-	session-mm? ( dev-libs/mm )
-	simplexml? ( >=dev-libs/libxml2-2.6.8 )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	soap? ( >=dev-libs/libxml2-2.6.8 )
-	sodium? ( dev-libs/libsodium:= )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
-	tokyocabinet? ( dev-db/tokyocabinet )
-	truetype? ( =media-libs/freetype-2* )
-	unicode? ( dev-libs/oniguruma:= )
-	wddx? ( >=dev-libs/libxml2-2.6.8 )
-	webp? ( media-libs/libwebp:0= )
-	xml? ( >=dev-libs/libxml2-2.6.8 )
-	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
-	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
-	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
-	xpm? ( x11-libs/libXpm )
-	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
-	zip? ( sys-libs/zlib:0= )
-	zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
-	zlib? ( sys-libs/zlib:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-REQUIRED_USE="
-	|| ( cli cgi fpm apache2 embed phpdbg )
-	cli? ( ^^ ( readline libedit ) )
-	truetype? ( gd zlib )
-	webp? ( gd zlib )
-	cjk? ( gd zlib )
-	exif? ( gd zlib )
-	xpm? ( gd zlib )
-	gd? ( zlib )
-	simplexml? ( xml )
-	soap? ( xml )
-	wddx? ( xml )
-	xmlrpc? ( || ( xml iconv ) )
-	xmlreader? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	mhash? ( hash )
-	phar? ( hash )
-	qdbm? ( !gdbm )
-	readline? ( !libedit )
-	recode? ( !imap !mysqli !mysql )
-	session-mm? ( session !threads )
-	mysql? ( hash || ( mysqli pdo ) )
-	mysqli? ( hash )
-	zip-encryption? ( zip )
-"
-PATCHES=(
-	"${FILESDIR}/php-freetype-2.9.1.patch"
-	"${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch"
-)
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${phpinisrc}" || die
-
-	# default to /tmp for save_path, bug #282768
-	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
-	# Set the extension dir
-	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-		-i "${phpinisrc}" || die
-
-	# Set the include path to point to where we want to find PEAR packages
-	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
-	dodir "${PHP_INI_DIR#${EPREFIX}}"
-	insinto "${PHP_INI_DIR#${EPREFIX}}"
-	newins "${phpinisrc}" php.ini
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config files php-fpm.conf and www.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
-		doins sapi/fpm/www.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	default
-
-	# In php-7.x, the FPM pool configuration files have been split off
-	# of the main config. By default the pool config files go in
-	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
-	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
-	# we'll install the pool configuration file "www.conf" there.
-	php_set_ini_dir fpm
-	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
-		sapi/fpm/php-fpm.conf.in \
-		|| die 'failed to move the include directory in php-fpm.conf'
-
-	# Bug 669566 - necessary so that build tools are updated for commands like pecl
-	# Force rebuilding aclocal.m4
-	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
-	eautoreconf
-}
-
-src_configure() {
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_with argon2 password-argon2 "${EPREFIX}/usr")
-		$(use_enable bcmath bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype ctype)
-		$(use_with curl curl "${EPREFIX}/usr")
-		$(use_enable xml dom)
-		$(use_with enchant enchant "${EPREFIX}/usr")
-		$(use_enable exif exif)
-		$(use_enable fileinfo fileinfo)
-		$(use_enable filter filter)
-		$(use_enable ftp ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_enable hash hash)
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
-		$(use_enable intl intl)
-		$(use_enable ipv6 ipv6)
-		$(use_enable json json)
-		$(use_with kerberos kerberos "${EPREFIX}/usr")
-		$(use_enable xml libxml)
-		$(use_with xml libxml-dir "${EPREFIX}/usr")
-		$(use_enable unicode mbstring)
-		$(use_with unicode onig "${EPREFIX}/usr")
-		$(use_with ssl openssl "${EPREFIX}/usr")
-		$(use_with ssl openssl-dir "${EPREFIX}/usr")
-		$(use_enable pcntl pcntl)
-		$(use_enable phar phar)
-		$(use_enable pdo pdo)
-		$(use_enable opcache opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_with recode recode "${EPREFIX}/usr")
-		$(use_enable simplexml simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap soap)
-		$(use_enable sockets sockets)
-		$(use_with sodium sodium "${EPREFIX}/usr")
-		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer tokenizer)
-		$(use_enable wddx wddx)
-		$(use_enable xml xml)
-		$(use_enable xmlreader xmlreader)
-		$(use_enable xmlwriter xmlwriter)
-		$(use_with xmlrpc xmlrpc)
-		$(use_with xslt xsl "${EPREFIX}/usr")
-		$(use_enable zip zip)
-		$(use_with zip-encryption libzip "${EPREFIX}/usr")
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm || use lmdb || use tokyocabinet ; then
-		our_conf+=( "--enable-dba${shared}" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-		$(use_with lmdb lmdb "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(use_with truetype freetype-dir "${EPREFIX}/usr")
-		$(use_enable cjk gd-jis-conv)
-		$(use_with gd jpeg-dir "${EPREFIX}/usr")
-		$(use_with gd png-dir "${EPREFIX}/usr")
-		$(use_with xpm xpm-dir "${EPREFIX}/usr")
-	)
-	if use webp; then
-		our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
-	fi
-	# enable gd last, so configure can pick up the previous settings
-	our_conf+=( $(use_with gd gd) )
-
-	# IMAP support
-	if use imap ; then
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# Interbase/firebird support
-	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	our_conf+=(
-		$(use_with odbc unixODBC "${EPREFIX}/usr")
-		$(use_with iodbc iodbc "${EPREFIX}/usr")
-	)
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit libedit "${EPREFIX}/usr")
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-pcre-regex affects ext/pcre
-	# --with-pcre-dir affects ext/filter and ext/zip
-	# --with-pcre-valgrind cannot be enabled with system pcre
-	# Many arches don't support pcre-jit
-	our_conf+=(
-		--with-pcre-regex="${EPREFIX}/usr"
-		--with-pcre-dir="${EPREFIX}/usr"
-		--without-pcre-valgrind
-		--without-pcre-jit
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm|phpdbg)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# Makefile forgets to create this before trying to write to it...
-	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
-	# Install php environment (without any sapis)
-	cd "${WORKDIR}/sapis-build/$first_sapi" || die
-	emake INSTALL_ROOT="${D}" \
-		install-build install-headers install-programs
-
-	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
-	# Create the directory where we'll put version-specific php scripts
-	keepdir "/usr/share/php${PHP_MV}"
-
-	local sapi="", file=""
-	local sapi_list=""
-
-	for sapi in ${SAPIS}; do
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp${PHP_MV}$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					phpdbg)
-						source="sapi/phpdbg/phpdbg"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		fi
-	done
-
-	# Installing opcache module
-	if use opcache ; then
-		into "${PHP_DESTDIR#${EPREFIX}}"
-		dolib.so "modules/opcache$(get_libname)"
-	fi
-
-	# Install env.d files
-	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
-	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
-		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.2.18.ebuild b/dev-lang/php/php-7.2.18.ebuild
deleted file mode 100644
index 2d85e9d999ef..000000000000
--- a/dev-lang/php/php-7.2.18.ebuild
+++ /dev/null
@@ -1,749 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic systemd autotools
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://php.net/"
-SRC_URI="https://php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-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"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
-	coverage +ctype curl debug
-	enchant exif +fileinfo +filter firebird
-	flatfile ftp gd gdbm gmp +hash +iconv imap inifile
-	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
-	mhash mssql mysql mysqli nls
-	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
-	readline recode selinux +session session-mm sharedmem
-	+simplexml snmp soap sockets sodium spell sqlite ssl
-	sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
-	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre-8.32[unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
-		<www-servers/apache-2.4[threads=] ) )
-	argon2? ( app-crypt/argon2:= )
-	berkdb? ( || (	sys-libs/db:5.3
-					sys-libs/db:5.1
-					sys-libs/db:4.8
-					sys-libs/db:4.7
-					sys-libs/db:4.6
-					sys-libs/db:4.5 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	coverage? ( dev-util/lcov )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( <app-text/enchant-2.0:0 )
-	firebird? ( dev-db/firebird )
-	gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
-	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
-	gmp? ( dev-libs/gmp:0= )
-	iconv? ( virtual/libiconv )
-	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
-	intl? ( dev-libs/icu:= )
-	iodbc? ( dev-db/libiodbc )
-	kerberos? ( virtual/krb5 )
-	ldap? ( >=net-nds/openldap-1.2.11 )
-	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
-	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
-	lmdb? ( dev-db/lmdb:= )
-	mssql? ( dev-db/freetds[mssql] )
-	nls? ( sys-devel/gettext )
-	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
-	odbc? ( >=dev-db/unixODBC-1.8.13 )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	recode? ( app-text/recode )
-	session-mm? ( dev-libs/mm )
-	simplexml? ( >=dev-libs/libxml2-2.6.8 )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	soap? ( >=dev-libs/libxml2-2.6.8 )
-	sodium? ( dev-libs/libsodium:= )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
-	tokyocabinet? ( dev-db/tokyocabinet )
-	truetype? ( =media-libs/freetype-2* )
-	unicode? ( dev-libs/oniguruma:= )
-	wddx? ( >=dev-libs/libxml2-2.6.8 )
-	webp? ( media-libs/libwebp:0= )
-	xml? ( >=dev-libs/libxml2-2.6.8 )
-	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
-	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
-	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
-	xpm? ( x11-libs/libXpm )
-	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
-	zip? ( sys-libs/zlib:0= )
-	zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
-	zlib? ( sys-libs/zlib:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-REQUIRED_USE="
-	|| ( cli cgi fpm apache2 embed phpdbg )
-	cli? ( ^^ ( readline libedit ) )
-	truetype? ( gd zlib )
-	webp? ( gd zlib )
-	cjk? ( gd zlib )
-	exif? ( gd zlib )
-	xpm? ( gd zlib )
-	gd? ( zlib )
-	simplexml? ( xml )
-	soap? ( xml )
-	wddx? ( xml )
-	xmlrpc? ( || ( xml iconv ) )
-	xmlreader? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	mhash? ( hash )
-	phar? ( hash )
-	qdbm? ( !gdbm )
-	readline? ( !libedit )
-	recode? ( !imap !mysqli !mysql )
-	session-mm? ( session !threads )
-	mysql? ( hash || ( mysqli pdo ) )
-	mysqli? ( hash )
-	zip-encryption? ( zip )
-"
-PATCHES=(
-	"${FILESDIR}/php-freetype-2.9.1.patch"
-	"${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch"
-)
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${phpinisrc}" || die
-
-	# default to /tmp for save_path, bug #282768
-	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
-	# Set the extension dir
-	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-		-i "${phpinisrc}" || die
-
-	# Set the include path to point to where we want to find PEAR packages
-	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
-	dodir "${PHP_INI_DIR#${EPREFIX}}"
-	insinto "${PHP_INI_DIR#${EPREFIX}}"
-	newins "${phpinisrc}" php.ini
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config files php-fpm.conf and www.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
-		doins sapi/fpm/www.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	default
-
-	# In php-7.x, the FPM pool configuration files have been split off
-	# of the main config. By default the pool config files go in
-	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
-	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
-	# we'll install the pool configuration file "www.conf" there.
-	php_set_ini_dir fpm
-	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
-		sapi/fpm/php-fpm.conf.in \
-		|| die 'failed to move the include directory in php-fpm.conf'
-
-	# Bug 669566 - necessary so that build tools are updated for commands like pecl
-	# Force rebuilding aclocal.m4
-	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
-	eautoreconf
-}
-
-src_configure() {
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_with argon2 password-argon2 "${EPREFIX}/usr")
-		$(use_enable bcmath bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype ctype)
-		$(use_with curl curl "${EPREFIX}/usr")
-		$(use_enable xml dom)
-		$(use_with enchant enchant "${EPREFIX}/usr")
-		$(use_enable exif exif)
-		$(use_enable fileinfo fileinfo)
-		$(use_enable filter filter)
-		$(use_enable ftp ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_enable hash hash)
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
-		$(use_enable intl intl)
-		$(use_enable ipv6 ipv6)
-		$(use_enable json json)
-		$(use_with kerberos kerberos "${EPREFIX}/usr")
-		$(use_enable xml libxml)
-		$(use_with xml libxml-dir "${EPREFIX}/usr")
-		$(use_enable unicode mbstring)
-		$(use_with unicode onig "${EPREFIX}/usr")
-		$(use_with ssl openssl "${EPREFIX}/usr")
-		$(use_with ssl openssl-dir "${EPREFIX}/usr")
-		$(use_enable pcntl pcntl)
-		$(use_enable phar phar)
-		$(use_enable pdo pdo)
-		$(use_enable opcache opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_with recode recode "${EPREFIX}/usr")
-		$(use_enable simplexml simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap soap)
-		$(use_enable sockets sockets)
-		$(use_with sodium sodium "${EPREFIX}/usr")
-		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer tokenizer)
-		$(use_enable wddx wddx)
-		$(use_enable xml xml)
-		$(use_enable xmlreader xmlreader)
-		$(use_enable xmlwriter xmlwriter)
-		$(use_with xmlrpc xmlrpc)
-		$(use_with xslt xsl "${EPREFIX}/usr")
-		$(use_enable zip zip)
-		$(use_with zip-encryption libzip "${EPREFIX}/usr")
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm || use lmdb || use tokyocabinet ; then
-		our_conf+=( "--enable-dba${shared}" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-		$(use_with lmdb lmdb "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(use_with truetype freetype-dir "${EPREFIX}/usr")
-		$(use_enable cjk gd-jis-conv)
-		$(use_with gd jpeg-dir "${EPREFIX}/usr")
-		$(use_with gd png-dir "${EPREFIX}/usr")
-		$(use_with xpm xpm-dir "${EPREFIX}/usr")
-	)
-	if use webp; then
-		our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
-	fi
-	# enable gd last, so configure can pick up the previous settings
-	our_conf+=( $(use_with gd gd) )
-
-	# IMAP support
-	if use imap ; then
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# Interbase/firebird support
-	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	our_conf+=(
-		$(use_with odbc unixODBC "${EPREFIX}/usr")
-		$(use_with iodbc iodbc "${EPREFIX}/usr")
-	)
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit libedit "${EPREFIX}/usr")
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-pcre-regex affects ext/pcre
-	# --with-pcre-dir affects ext/filter and ext/zip
-	# --with-pcre-valgrind cannot be enabled with system pcre
-	# Many arches don't support pcre-jit
-	our_conf+=(
-		--with-pcre-regex="${EPREFIX}/usr"
-		--with-pcre-dir="${EPREFIX}/usr"
-		--without-pcre-valgrind
-		--without-pcre-jit
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm|phpdbg)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# Makefile forgets to create this before trying to write to it...
-	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
-	# Install php environment (without any sapis)
-	cd "${WORKDIR}/sapis-build/$first_sapi" || die
-	emake INSTALL_ROOT="${D}" \
-		install-build install-headers install-programs
-
-	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
-	# Create the directory where we'll put version-specific php scripts
-	keepdir "/usr/share/php${PHP_MV}"
-
-	local sapi="", file=""
-	local sapi_list=""
-
-	for sapi in ${SAPIS}; do
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp${PHP_MV}$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					phpdbg)
-						source="sapi/phpdbg/phpdbg"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		fi
-	done
-
-	# Installing opcache module
-	if use opcache ; then
-		into "${PHP_DESTDIR#${EPREFIX}}"
-		dolib.so "modules/opcache$(get_libname)"
-	fi
-
-	# Install env.d files
-	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
-	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
-		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.2.19.ebuild b/dev-lang/php/php-7.2.19.ebuild
deleted file mode 100644
index f12011458a07..000000000000
--- a/dev-lang/php/php-7.2.19.ebuild
+++ /dev/null
@@ -1,749 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic systemd autotools
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://php.net/"
-SRC_URI="https://php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-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"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
-	coverage +ctype curl debug
-	enchant exif +fileinfo +filter firebird
-	flatfile ftp gd gdbm gmp +hash +iconv imap inifile
-	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
-	mhash mssql mysql mysqli nls
-	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
-	readline recode selinux +session session-mm sharedmem
-	+simplexml snmp soap sockets sodium spell sqlite ssl
-	sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
-	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre-8.32[unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
-		<www-servers/apache-2.4[threads=] ) )
-	argon2? ( app-crypt/argon2:= )
-	berkdb? ( || (	sys-libs/db:5.3
-					sys-libs/db:5.1
-					sys-libs/db:4.8
-					sys-libs/db:4.7
-					sys-libs/db:4.6
-					sys-libs/db:4.5 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	coverage? ( dev-util/lcov )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( <app-text/enchant-2.0:0 )
-	firebird? ( dev-db/firebird )
-	gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
-	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
-	gmp? ( dev-libs/gmp:0= )
-	iconv? ( virtual/libiconv )
-	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
-	intl? ( dev-libs/icu:= )
-	iodbc? ( dev-db/libiodbc )
-	kerberos? ( virtual/krb5 )
-	ldap? ( >=net-nds/openldap-1.2.11 )
-	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
-	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
-	lmdb? ( dev-db/lmdb:= )
-	mssql? ( dev-db/freetds[mssql] )
-	nls? ( sys-devel/gettext )
-	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
-	odbc? ( >=dev-db/unixODBC-1.8.13 )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	recode? ( app-text/recode )
-	session-mm? ( dev-libs/mm )
-	simplexml? ( >=dev-libs/libxml2-2.6.8 )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	soap? ( >=dev-libs/libxml2-2.6.8 )
-	sodium? ( dev-libs/libsodium:= )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
-	tokyocabinet? ( dev-db/tokyocabinet )
-	truetype? ( =media-libs/freetype-2* )
-	unicode? ( dev-libs/oniguruma:= )
-	wddx? ( >=dev-libs/libxml2-2.6.8 )
-	webp? ( media-libs/libwebp:0= )
-	xml? ( >=dev-libs/libxml2-2.6.8 )
-	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
-	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
-	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
-	xpm? ( x11-libs/libXpm )
-	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
-	zip? ( sys-libs/zlib:0= )
-	zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
-	zlib? ( sys-libs/zlib:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-REQUIRED_USE="
-	|| ( cli cgi fpm apache2 embed phpdbg )
-	cli? ( ^^ ( readline libedit ) )
-	truetype? ( gd zlib )
-	webp? ( gd zlib )
-	cjk? ( gd zlib )
-	exif? ( gd zlib )
-	xpm? ( gd zlib )
-	gd? ( zlib )
-	simplexml? ( xml )
-	soap? ( xml )
-	wddx? ( xml )
-	xmlrpc? ( || ( xml iconv ) )
-	xmlreader? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	mhash? ( hash )
-	phar? ( hash )
-	qdbm? ( !gdbm )
-	readline? ( !libedit )
-	recode? ( !imap !mysqli !mysql )
-	session-mm? ( session !threads )
-	mysql? ( hash || ( mysqli pdo ) )
-	mysqli? ( hash )
-	zip-encryption? ( zip )
-"
-PATCHES=(
-	"${FILESDIR}/php-freetype-2.9.1.patch"
-	"${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch"
-)
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${phpinisrc}" || die
-
-	# default to /tmp for save_path, bug #282768
-	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
-	# Set the extension dir
-	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-		-i "${phpinisrc}" || die
-
-	# Set the include path to point to where we want to find PEAR packages
-	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
-	dodir "${PHP_INI_DIR#${EPREFIX}}"
-	insinto "${PHP_INI_DIR#${EPREFIX}}"
-	newins "${phpinisrc}" php.ini
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config files php-fpm.conf and www.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
-		doins sapi/fpm/www.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	default
-
-	# In php-7.x, the FPM pool configuration files have been split off
-	# of the main config. By default the pool config files go in
-	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
-	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
-	# we'll install the pool configuration file "www.conf" there.
-	php_set_ini_dir fpm
-	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
-		sapi/fpm/php-fpm.conf.in \
-		|| die 'failed to move the include directory in php-fpm.conf'
-
-	# Bug 669566 - necessary so that build tools are updated for commands like pecl
-	# Force rebuilding aclocal.m4
-	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
-	eautoreconf
-}
-
-src_configure() {
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_with argon2 password-argon2 "${EPREFIX}/usr")
-		$(use_enable bcmath bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype ctype)
-		$(use_with curl curl "${EPREFIX}/usr")
-		$(use_enable xml dom)
-		$(use_with enchant enchant "${EPREFIX}/usr")
-		$(use_enable exif exif)
-		$(use_enable fileinfo fileinfo)
-		$(use_enable filter filter)
-		$(use_enable ftp ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_enable hash hash)
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
-		$(use_enable intl intl)
-		$(use_enable ipv6 ipv6)
-		$(use_enable json json)
-		$(use_with kerberos kerberos "${EPREFIX}/usr")
-		$(use_enable xml libxml)
-		$(use_with xml libxml-dir "${EPREFIX}/usr")
-		$(use_enable unicode mbstring)
-		$(use_with unicode onig "${EPREFIX}/usr")
-		$(use_with ssl openssl "${EPREFIX}/usr")
-		$(use_with ssl openssl-dir "${EPREFIX}/usr")
-		$(use_enable pcntl pcntl)
-		$(use_enable phar phar)
-		$(use_enable pdo pdo)
-		$(use_enable opcache opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_with recode recode "${EPREFIX}/usr")
-		$(use_enable simplexml simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap soap)
-		$(use_enable sockets sockets)
-		$(use_with sodium sodium "${EPREFIX}/usr")
-		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer tokenizer)
-		$(use_enable wddx wddx)
-		$(use_enable xml xml)
-		$(use_enable xmlreader xmlreader)
-		$(use_enable xmlwriter xmlwriter)
-		$(use_with xmlrpc xmlrpc)
-		$(use_with xslt xsl "${EPREFIX}/usr")
-		$(use_enable zip zip)
-		$(use_with zip-encryption libzip "${EPREFIX}/usr")
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm || use lmdb || use tokyocabinet ; then
-		our_conf+=( "--enable-dba${shared}" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-		$(use_with lmdb lmdb "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(use_with truetype freetype-dir "${EPREFIX}/usr")
-		$(use_enable cjk gd-jis-conv)
-		$(use_with gd jpeg-dir "${EPREFIX}/usr")
-		$(use_with gd png-dir "${EPREFIX}/usr")
-		$(use_with xpm xpm-dir "${EPREFIX}/usr")
-	)
-	if use webp; then
-		our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
-	fi
-	# enable gd last, so configure can pick up the previous settings
-	our_conf+=( $(use_with gd gd) )
-
-	# IMAP support
-	if use imap ; then
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# Interbase/firebird support
-	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	our_conf+=(
-		$(use_with odbc unixODBC "${EPREFIX}/usr")
-		$(use_with iodbc iodbc "${EPREFIX}/usr")
-	)
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit libedit "${EPREFIX}/usr")
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-pcre-regex affects ext/pcre
-	# --with-pcre-dir affects ext/filter and ext/zip
-	# --with-pcre-valgrind cannot be enabled with system pcre
-	# Many arches don't support pcre-jit
-	our_conf+=(
-		--with-pcre-regex="${EPREFIX}/usr"
-		--with-pcre-dir="${EPREFIX}/usr"
-		--without-pcre-valgrind
-		--without-pcre-jit
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm|phpdbg)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# Makefile forgets to create this before trying to write to it...
-	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
-	# Install php environment (without any sapis)
-	cd "${WORKDIR}/sapis-build/$first_sapi" || die
-	emake INSTALL_ROOT="${D}" \
-		install-build install-headers install-programs
-
-	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
-	# Create the directory where we'll put version-specific php scripts
-	keepdir "/usr/share/php${PHP_MV}"
-
-	local sapi="", file=""
-	local sapi_list=""
-
-	for sapi in ${SAPIS}; do
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp${PHP_MV}$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					phpdbg)
-						source="sapi/phpdbg/phpdbg"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		fi
-	done
-
-	# Installing opcache module
-	if use opcache ; then
-		into "${PHP_DESTDIR#${EPREFIX}}"
-		dolib.so "modules/opcache$(get_libname)"
-	fi
-
-	# Install env.d files
-	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
-	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
-		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.2.20.ebuild b/dev-lang/php/php-7.2.20.ebuild
index db8296af0cc3..30968e0621d4 100644
--- a/dev-lang/php/php-7.2.20.ebuild
+++ b/dev-lang/php/php-7.2.20.ebuild
@@ -18,7 +18,7 @@ LICENSE="PHP-3.01
 	unicode? ( BSD-2 LGPL-2.1 )"
 
 SLOT="$(ver_cut 1-2)"
-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"
+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"
 
 # We can build the following SAPIs in the given order
 SAPIS="embed cli cgi fpm apache2 phpdbg"
diff --git a/dev-lang/php/php-7.2.21.ebuild b/dev-lang/php/php-7.2.21.ebuild
new file mode 100644
index 000000000000..2d85e9d999ef
--- /dev/null
+++ b/dev-lang/php/php-7.2.21.ebuild
@@ -0,0 +1,749 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic systemd autotools
+
+DESCRIPTION="The PHP language runtime engine"
+HOMEPAGE="https://php.net/"
+SRC_URI="https://php.net/distributions/${P}.tar.xz"
+
+LICENSE="PHP-3.01
+	BSD
+	Zend-2.0
+	bcmath? ( LGPL-2.1+ )
+	fpm? ( BSD-2 )
+	gd? ( gd )
+	unicode? ( BSD-2 LGPL-2.1 )"
+
+SLOT="$(ver_cut 1-2)"
+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"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2 phpdbg"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+	${SAPIS/cli/+cli}
+	threads"
+
+IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
+	coverage +ctype curl debug
+	enchant exif +fileinfo +filter firebird
+	flatfile ftp gd gdbm gmp +hash +iconv imap inifile
+	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
+	mhash mssql mysql mysqli nls
+	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+	readline recode selinux +session session-mm sharedmem
+	+simplexml snmp soap sockets sodium spell sqlite ssl
+	sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
+	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
+
+# The supported (that is, autodetected) versions of BDB are listed in
+# the ./configure script. Other versions *work*, but we need to stick to
+# the ones that can be detected to avoid a repeat of bug #564824.
+COMMON_DEPEND="
+	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
+	>=dev-libs/libpcre-8.32[unicode]
+	fpm? ( acl? ( sys-apps/acl ) )
+	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
+		<www-servers/apache-2.4[threads=] ) )
+	argon2? ( app-crypt/argon2:= )
+	berkdb? ( || (	sys-libs/db:5.3
+					sys-libs/db:5.1
+					sys-libs/db:4.8
+					sys-libs/db:4.7
+					sys-libs/db:4.6
+					sys-libs/db:4.5 ) )
+	bzip2? ( app-arch/bzip2:0= )
+	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+	coverage? ( dev-util/lcov )
+	curl? ( >=net-misc/curl-7.10.5 )
+	enchant? ( <app-text/enchant-2.0:0 )
+	firebird? ( dev-db/firebird )
+	gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
+	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
+	gmp? ( dev-libs/gmp:0= )
+	iconv? ( virtual/libiconv )
+	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
+	intl? ( dev-libs/icu:= )
+	iodbc? ( dev-db/libiodbc )
+	kerberos? ( virtual/krb5 )
+	ldap? ( >=net-nds/openldap-1.2.11 )
+	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
+	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
+	lmdb? ( dev-db/lmdb:= )
+	mssql? ( dev-db/freetds[mssql] )
+	nls? ( sys-devel/gettext )
+	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
+	odbc? ( >=dev-db/unixODBC-1.8.13 )
+	postgres? ( dev-db/postgresql:* )
+	qdbm? ( dev-db/qdbm )
+	readline? ( sys-libs/readline:0= )
+	recode? ( app-text/recode )
+	session-mm? ( dev-libs/mm )
+	simplexml? ( >=dev-libs/libxml2-2.6.8 )
+	snmp? ( >=net-analyzer/net-snmp-5.2 )
+	soap? ( >=dev-libs/libxml2-2.6.8 )
+	sodium? ( dev-libs/libsodium:= )
+	spell? ( >=app-text/aspell-0.50 )
+	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+	ssl? (
+		!libressl? ( dev-libs/openssl:0= )
+		libressl? ( dev-libs/libressl:0= )
+	)
+	tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
+	tokyocabinet? ( dev-db/tokyocabinet )
+	truetype? ( =media-libs/freetype-2* )
+	unicode? ( dev-libs/oniguruma:= )
+	wddx? ( >=dev-libs/libxml2-2.6.8 )
+	webp? ( media-libs/libwebp:0= )
+	xml? ( >=dev-libs/libxml2-2.6.8 )
+	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
+	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
+	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
+	xpm? ( x11-libs/libXpm )
+	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
+	zip? ( sys-libs/zlib:0= )
+	zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
+	zlib? ( sys-libs/zlib:0= )
+"
+
+RDEPEND="${COMMON_DEPEND}
+	virtual/mta
+	fpm? (
+		selinux? ( sec-policy/selinux-phpfpm )
+		systemd? ( sys-apps/systemd ) )"
+
+# Bison isn't actually needed when building from a release tarball
+# However, the configure script will warn if it's absent or if you
+# have an incompatible version installed. See bug 593278.
+DEPEND="${COMMON_DEPEND}
+	app-arch/xz-utils
+	>=sys-devel/bison-3.0.1"
+
+BDEPEND="virtual/pkgconfig"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+REQUIRED_USE="
+	|| ( cli cgi fpm apache2 embed phpdbg )
+	cli? ( ^^ ( readline libedit ) )
+	truetype? ( gd zlib )
+	webp? ( gd zlib )
+	cjk? ( gd zlib )
+	exif? ( gd zlib )
+	xpm? ( gd zlib )
+	gd? ( zlib )
+	simplexml? ( xml )
+	soap? ( xml )
+	wddx? ( xml )
+	xmlrpc? ( || ( xml iconv ) )
+	xmlreader? ( xml )
+	xslt? ( xml )
+	ldap-sasl? ( ldap )
+	mhash? ( hash )
+	phar? ( hash )
+	qdbm? ( !gdbm )
+	readline? ( !libedit )
+	recode? ( !imap !mysqli !mysql )
+	session-mm? ( session !threads )
+	mysql? ( hash || ( mysqli pdo ) )
+	mysqli? ( hash )
+	zip-encryption? ( zip )
+"
+PATCHES=(
+	"${FILESDIR}/php-freetype-2.9.1.patch"
+	"${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch"
+)
+
+PHP_MV="$(ver_cut 1)"
+
+php_install_ini() {
+	local phpsapi="${1}"
+
+	# work out where we are installing the ini file
+	php_set_ini_dir "${phpsapi}"
+
+	# Always install the production INI file, bug 611214.
+	local phpinisrc="php.ini-production-${phpsapi}"
+	cp php.ini-production "${phpinisrc}" || die
+
+	# default to /tmp for save_path, bug #282768
+	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
+
+	# Set the extension dir
+	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
+		-i "${phpinisrc}" || die
+
+	# Set the include path to point to where we want to find PEAR packages
+	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
+
+	dodir "${PHP_INI_DIR#${EPREFIX}}"
+	insinto "${PHP_INI_DIR#${EPREFIX}}"
+	newins "${phpinisrc}" php.ini
+
+	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
+	elog
+
+	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
+	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
+
+	if use opcache; then
+		elog "Adding opcache to $PHP_EXT_INI_DIR"
+		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
+			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
+		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
+			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
+	fi
+
+	# SAPI-specific handling
+	if [[ "${sapi}" == "fpm" ]] ; then
+		einfo "Installing FPM config files php-fpm.conf and www.conf"
+		insinto "${PHP_INI_DIR#${EPREFIX}}"
+		doins sapi/fpm/php-fpm.conf
+		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
+		doins sapi/fpm/www.conf
+	fi
+
+	dodoc php.ini-{development,production}
+}
+
+php_set_ini_dir() {
+	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
+	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
+	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
+}
+
+src_prepare() {
+	default
+
+	# In php-7.x, the FPM pool configuration files have been split off
+	# of the main config. By default the pool config files go in
+	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
+	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
+	# we'll install the pool configuration file "www.conf" there.
+	php_set_ini_dir fpm
+	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
+		sapi/fpm/php-fpm.conf.in \
+		|| die 'failed to move the include directory in php-fpm.conf'
+
+	# Bug 669566 - necessary so that build tools are updated for commands like pecl
+	# Force rebuilding aclocal.m4
+	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
+	eautoreconf
+}
+
+src_configure() {
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+	addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
+
+	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
+	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
+	local our_conf=(
+		--prefix="${PHP_DESTDIR}"
+		--mandir="${PHP_DESTDIR}/man"
+		--infodir="${PHP_DESTDIR}/info"
+		--libdir="${PHP_DESTDIR}/lib"
+		--with-libdir="$(get_libdir)"
+		--localstatedir="${EPREFIX}/var"
+		--without-pear
+		$(use_enable threads maintainer-zts)
+	)
+
+	our_conf+=(
+		$(use_with argon2 password-argon2 "${EPREFIX}/usr")
+		$(use_enable bcmath bcmath)
+		$(use_with bzip2 bz2 "${EPREFIX}/usr")
+		$(use_enable calendar calendar)
+		$(use_enable coverage gcov)
+		$(use_enable ctype ctype)
+		$(use_with curl curl "${EPREFIX}/usr")
+		$(use_enable xml dom)
+		$(use_with enchant enchant "${EPREFIX}/usr")
+		$(use_enable exif exif)
+		$(use_enable fileinfo fileinfo)
+		$(use_enable filter filter)
+		$(use_enable ftp ftp)
+		$(use_with nls gettext "${EPREFIX}/usr")
+		$(use_with gmp gmp "${EPREFIX}/usr")
+		$(use_enable hash hash)
+		$(use_with mhash mhash "${EPREFIX}/usr")
+		$(use_with iconv iconv \
+			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
+		$(use_enable intl intl)
+		$(use_enable ipv6 ipv6)
+		$(use_enable json json)
+		$(use_with kerberos kerberos "${EPREFIX}/usr")
+		$(use_enable xml libxml)
+		$(use_with xml libxml-dir "${EPREFIX}/usr")
+		$(use_enable unicode mbstring)
+		$(use_with unicode onig "${EPREFIX}/usr")
+		$(use_with ssl openssl "${EPREFIX}/usr")
+		$(use_with ssl openssl-dir "${EPREFIX}/usr")
+		$(use_enable pcntl pcntl)
+		$(use_enable phar phar)
+		$(use_enable pdo pdo)
+		$(use_enable opcache opcache)
+		$(use_with postgres pgsql "${EPREFIX}/usr")
+		$(use_enable posix posix)
+		$(use_with spell pspell "${EPREFIX}/usr")
+		$(use_with recode recode "${EPREFIX}/usr")
+		$(use_enable simplexml simplexml)
+		$(use_enable sharedmem shmop)
+		$(use_with snmp snmp "${EPREFIX}/usr")
+		$(use_enable soap soap)
+		$(use_enable sockets sockets)
+		$(use_with sodium sodium "${EPREFIX}/usr")
+		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
+		$(use_enable sysvipc sysvmsg)
+		$(use_enable sysvipc sysvsem)
+		$(use_enable sysvipc sysvshm)
+		$(use_with tidy tidy "${EPREFIX}/usr")
+		$(use_enable tokenizer tokenizer)
+		$(use_enable wddx wddx)
+		$(use_enable xml xml)
+		$(use_enable xmlreader xmlreader)
+		$(use_enable xmlwriter xmlwriter)
+		$(use_with xmlrpc xmlrpc)
+		$(use_with xslt xsl "${EPREFIX}/usr")
+		$(use_enable zip zip)
+		$(use_with zip-encryption libzip "${EPREFIX}/usr")
+		$(use_with zlib zlib "${EPREFIX}/usr")
+		$(use_enable debug debug)
+	)
+
+	# DBA support
+	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
+		|| use qdbm || use lmdb || use tokyocabinet ; then
+		our_conf+=( "--enable-dba${shared}" )
+	fi
+
+	# DBA drivers support
+	our_conf+=(
+		$(use_with cdb cdb)
+		$(use_with berkdb db4 "${EPREFIX}/usr")
+		$(use_enable flatfile flatfile)
+		$(use_with gdbm gdbm "${EPREFIX}/usr")
+		$(use_enable inifile inifile)
+		$(use_with qdbm qdbm "${EPREFIX}/usr")
+		$(use_with lmdb lmdb "${EPREFIX}/usr")
+	)
+
+	# Support for the GD graphics library
+	our_conf+=(
+		$(use_with truetype freetype-dir "${EPREFIX}/usr")
+		$(use_enable cjk gd-jis-conv)
+		$(use_with gd jpeg-dir "${EPREFIX}/usr")
+		$(use_with gd png-dir "${EPREFIX}/usr")
+		$(use_with xpm xpm-dir "${EPREFIX}/usr")
+	)
+	if use webp; then
+		our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
+	fi
+	# enable gd last, so configure can pick up the previous settings
+	our_conf+=( $(use_with gd gd) )
+
+	# IMAP support
+	if use imap ; then
+		our_conf+=(
+			$(use_with imap imap "${EPREFIX}/usr")
+			$(use_with ssl imap-ssl "${EPREFIX}/usr")
+		)
+	fi
+
+	# Interbase/firebird support
+	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
+
+	# LDAP support
+	if use ldap ; then
+		our_conf+=(
+			$(use_with ldap ldap "${EPREFIX}/usr")
+			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
+		)
+	fi
+
+	# MySQL support
+	local mysqllib="mysqlnd"
+	local mysqlilib="mysqlnd"
+
+	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
+
+	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
+	if use mysql || use mysqli ; then
+		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
+	fi
+
+	# ODBC support
+	our_conf+=(
+		$(use_with odbc unixODBC "${EPREFIX}/usr")
+		$(use_with iodbc iodbc "${EPREFIX}/usr")
+	)
+
+	# Oracle support
+	our_conf+=( $(use_with oci8-instant-client oci8) )
+
+	# PDO support
+	if use pdo ; then
+		our_conf+=(
+			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
+			$(use_with mysql pdo-mysql "${mysqllib}")
+			$(use_with postgres pdo-pgsql)
+			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
+			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
+			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
+			$(use_with oci8-instant-client pdo-oci)
+		)
+	fi
+
+	# readline/libedit support
+	our_conf+=(
+		$(use_with readline readline "${EPREFIX}/usr")
+		$(use_with libedit libedit "${EPREFIX}/usr")
+	)
+
+	# Session support
+	if use session ; then
+		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+	else
+		our_conf+=( $(use_enable session session) )
+	fi
+
+	# Use pic for shared modules such as apache2's mod_php
+	our_conf+=( --with-pic )
+
+	# we use the system copy of pcre
+	# --with-pcre-regex affects ext/pcre
+	# --with-pcre-dir affects ext/filter and ext/zip
+	# --with-pcre-valgrind cannot be enabled with system pcre
+	# Many arches don't support pcre-jit
+	our_conf+=(
+		--with-pcre-regex="${EPREFIX}/usr"
+		--with-pcre-dir="${EPREFIX}/usr"
+		--without-pcre-valgrind
+		--without-pcre-jit
+	)
+
+	# Catch CFLAGS problems
+	# Fixes bug #14067.
+	# Changed order to run it in reverse for bug #32022 and #12021.
+	replace-cpu-flags "k6*" "i586"
+
+	# Cache the ./configure test results between SAPIs.
+	our_conf+=( --cache-file="${T}/config.cache" )
+
+	# Support user-passed configuration parameters
+	our_conf+=( ${EXTRA_ECONF:-} )
+
+	# Support the Apache2 extras, they must be set globally for all
+	# SAPIs to work correctly, especially for external PHP extensions
+
+	mkdir -p "${WORKDIR}/sapis-build" || die
+	for one_sapi in $SAPIS ; do
+		use "${one_sapi}" || continue
+		php_set_ini_dir "${one_sapi}"
+
+		# The BUILD_DIR variable is used to determine where to output
+		# the files that autotools creates. This was all originally
+		# based on the autotools-utils eclass.
+		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
+		cp -a "${S}" "${BUILD_DIR}" || die
+		cd "${BUILD_DIR}" || die
+
+		local sapi_conf=(
+			--with-config-file-path="${PHP_INI_DIR}"
+			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
+		)
+
+		for sapi in $SAPIS ; do
+			case "$sapi" in
+				cli|cgi|embed|fpm|phpdbg)
+					if [[ "${one_sapi}" == "${sapi}" ]] ; then
+						sapi_conf+=( "--enable-${sapi}" )
+						if [[ "fpm" == "${sapi}" ]] ; then
+							sapi_conf+=(
+								$(use_with acl fpm-acl)
+								$(use_with systemd fpm-systemd)
+							)
+						fi
+					else
+						sapi_conf+=( "--disable-${sapi}" )
+					fi
+					;;
+
+				apache2)
+					if [[ "${one_sapi}" == "${sapi}" ]] ; then
+						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
+					else
+						sapi_conf+=( --without-apxs2 )
+					fi
+					;;
+			esac
+		done
+
+		# Construct the $myeconfargs array by concatenating $our_conf
+		# (the common args) and $sapi_conf (the SAPI-specific args).
+		local myeconfargs=( "${our_conf[@]}" )
+		myeconfargs+=( "${sapi_conf[@]}" )
+
+		pushd "${BUILD_DIR}" > /dev/null || die
+		econf "${myeconfargs[@]}"
+		popd > /dev/null || die
+	done
+}
+
+src_compile() {
+	# snmp seems to run during src_compile, too (bug #324739)
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+	addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+	for sapi in ${SAPIS} ; do
+		if use "${sapi}"; then
+			cd "${WORKDIR}/sapis-build/$sapi" || \
+				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
+			emake
+		fi
+	done
+}
+
+src_install() {
+	# see bug #324739 for what happens when we don't have that
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+
+	# grab the first SAPI that got built and install common files from there
+	local first_sapi=""
+	for sapi in $SAPIS ; do
+		if use $sapi ; then
+			first_sapi=$sapi
+			break
+		fi
+	done
+
+	# Makefile forgets to create this before trying to write to it...
+	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
+
+	# Install php environment (without any sapis)
+	cd "${WORKDIR}/sapis-build/$first_sapi" || die
+	emake INSTALL_ROOT="${D}" \
+		install-build install-headers install-programs
+
+	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
+
+	# Create the directory where we'll put version-specific php scripts
+	keepdir "/usr/share/php${PHP_MV}"
+
+	local sapi="", file=""
+	local sapi_list=""
+
+	for sapi in ${SAPIS}; do
+		if use "${sapi}" ; then
+			einfo "Installing SAPI: ${sapi}"
+			cd "${WORKDIR}/sapis-build/${sapi}" || die
+
+			if [[ "${sapi}" == "apache2" ]] ; then
+				# We're specifically not using emake install-sapi as libtool
+				# may cause unnecessary relink failures (see bug #351266)
+				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
+				newins ".libs/libphp${PHP_MV}$(get_libname)" \
+					   "libphp${PHP_MV}$(get_libname)"
+				keepdir "/usr/$(get_libdir)/apache2/modules"
+			else
+				# needed each time, php_install_ini would reset it
+				local dest="${PHP_DESTDIR#${EPREFIX}}"
+				into "${dest}"
+				case "$sapi" in
+					cli)
+						source="sapi/cli/php"
+						;;
+					cgi)
+						source="sapi/cgi/php-cgi"
+						;;
+					fpm)
+						source="sapi/fpm/php-fpm"
+						;;
+					embed)
+						source="libs/libphp${PHP_MV}$(get_libname)"
+						;;
+					phpdbg)
+						source="sapi/phpdbg/phpdbg"
+						;;
+					*)
+						die "unhandled sapi in src_install"
+						;;
+				esac
+
+				if [[ "${source}" == *"$(get_libname)" ]]; then
+					dolib.so "${source}"
+				else
+					dobin "${source}"
+					local name="$(basename ${source})"
+					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
+				fi
+			fi
+
+			php_install_ini "${sapi}"
+
+			# construct correct SAPI string for php-config
+			# thanks to ferringb for the bash voodoo
+			if [[ "${sapi}" == "apache2" ]]; then
+				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
+			else
+				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
+			fi
+		fi
+	done
+
+	# Installing opcache module
+	if use opcache ; then
+		into "${PHP_DESTDIR#${EPREFIX}}"
+		dolib.so "modules/opcache$(get_libname)"
+	fi
+
+	# Install env.d files
+	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
+	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+
+	# set php-config variable correctly (bug #278439)
+	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
+		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
+
+	if use fpm ; then
+		if use systemd; then
+			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
+							"php-fpm@${SLOT}.service"
+		else
+			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
+							"php-fpm@${SLOT}.service"
+		fi
+	fi
+}
+
+src_test() {
+	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
+	if [[ ! -x "${PHP_BIN}" ]] ; then
+		ewarn "Test phase requires USE=cli, skipping"
+		return
+	else
+		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
+	fi
+
+	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
+		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
+	fi
+
+	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
+		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
+	fi
+
+	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
+					  "session.save_path=${T}" \
+					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
+					  "session.save_path=${T}"
+
+	for name in ${EXPECTED_TEST_FAILURES}; do
+		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
+	done
+
+	local failed="$(find -name '*.out')"
+	if [[ ${failed} != "" ]] ; then
+		ewarn "The following test cases failed unexpectedly:"
+		for name in ${failed}; do
+			ewarn "  ${name/.out/}"
+		done
+	else
+		einfo "No unexpected test failures, all fine"
+	fi
+
+	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
+		local passed=""
+		for name in ${EXPECTED_TEST_FAILURES}; do
+			[[ -f "${name}.diff" ]] && continue
+			passed="${passed} ${name}"
+		done
+		if [[ ${passed} != "" ]] ; then
+			einfo "The following test cases passed unexpectedly:"
+			for name in ${passed}; do
+				ewarn "  ${passed}"
+			done
+		else
+			einfo "None of the known-to-fail tests passed, all fine"
+		fi
+	fi
+}
+
+pkg_postinst() {
+	# Output some general info to the user
+	if use apache2 ; then
+		elog
+		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
+		elog "your apache2 command. OpenRC users can append that string to"
+		elog "APACHE2_OPTS in /etc/conf.d/apache2."
+		elog
+		elog "The apache module configuration file 70_mod_php.conf is"
+		elog "provided (and maintained) by eselect-php."
+		elog
+	fi
+
+	# Create the symlinks for php
+	for m in ${SAPIS}; do
+		[[ ${m} == 'embed' ]] && continue;
+		if use $m ; then
+			local ci=$(eselect php show $m)
+			if [[ -z $ci ]]; then
+				eselect php set $m php${SLOT} || die
+				einfo "Switched ${m} to use php:${SLOT}"
+				einfo
+			elif [[ $ci != "php${SLOT}" ]] ; then
+				elog "To switch $m to use php:${SLOT}, run"
+				elog "    eselect php set $m php${SLOT}"
+				elog
+			fi
+		fi
+	done
+
+	# Remove dead symlinks for SAPIs that were just disabled. For
+	# example, if the user has the cgi SAPI enabled, then he has an
+	# eselect-php symlink for it. If he later reinstalls PHP with
+	# USE="-cgi", that symlink will break. This call to eselect is
+	# supposed to remove that dead link per bug 572436.
+	eselect php cleanup || die
+
+	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
+	   elog "To build extensions for this version of PHP, you will need to"
+	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
+	   elog
+	fi
+
+	# Warn about the removal of PHP_INI_VERSION if the user has it set.
+	if [[ -n "${PHP_INI_VERSION}" ]]; then
+		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
+		ewarn 'remove it from your configuration at your convenience. See'
+		ewarn
+		ewarn '  https://bugs.gentoo.org/611214'
+		ewarn
+		ewarn 'for more information.'
+	fi
+
+	elog "For details on how version slotting works, please see"
+	elog "the wiki:"
+	elog
+	elog "  https://wiki.gentoo.org/wiki/PHP"
+	elog
+}
+
+pkg_postrm() {
+	# This serves two purposes. First, if we have just removed the last
+	# installed version of PHP, then this will remove any dead symlinks
+	# belonging to eselect-php. Second, if a user upgrades slots from
+	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
+	# his existing symlinks to point to the new 7.0 installation. The
+	# latter is bug 432962.
+	#
+	# Note: the eselect-php package may not be installed at this point,
+	# so we can't die() if this command fails.
+	eselect php cleanup
+}
diff --git a/dev-lang/php/php-7.3.5.ebuild b/dev-lang/php/php-7.3.5.ebuild
deleted file mode 100644
index e8bbeb8dbb09..000000000000
--- a/dev-lang/php/php-7.3.5.ebuild
+++ /dev/null
@@ -1,750 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/RC}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://php.net/"
-SRC_URI="https://php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-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"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
-	coverage +ctype curl debug
-	enchant exif +fileinfo +filter firebird
-	flatfile ftp gd gdbm gmp +hash +iconv imap inifile
-	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
-	mhash mssql mysql mysqli nls
-	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
-	readline recode selinux +session session-mm sharedmem
-	+simplexml snmp soap sockets sodium spell sqlite ssl
-	sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
-	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre2-10.30[unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
-		<www-servers/apache-2.4[threads=] ) )
-	argon2? ( app-crypt/argon2:= )
-	berkdb? ( || (	sys-libs/db:5.3
-					sys-libs/db:5.1
-					sys-libs/db:4.8
-					sys-libs/db:4.7
-					sys-libs/db:4.6
-					sys-libs/db:4.5 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	coverage? ( dev-util/lcov )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( <app-text/enchant-2.0:0 )
-	firebird? ( dev-db/firebird )
-	gd? ( virtual/jpeg:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
-	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
-	gmp? ( dev-libs/gmp:0= )
-	iconv? ( virtual/libiconv )
-	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
-	intl? ( dev-libs/icu:= )
-	iodbc? ( dev-db/libiodbc )
-	kerberos? ( virtual/krb5 )
-	ldap? ( >=net-nds/openldap-1.2.11 )
-	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
-	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
-	lmdb? ( dev-db/lmdb:= )
-	mssql? ( dev-db/freetds[mssql] )
-	nls? ( sys-devel/gettext )
-	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
-	odbc? ( >=dev-db/unixODBC-1.8.13 )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	recode? ( app-text/recode )
-	session-mm? ( dev-libs/mm )
-	simplexml? ( >=dev-libs/libxml2-2.6.8 )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	soap? ( >=dev-libs/libxml2-2.6.8 )
-	sodium? ( dev-libs/libsodium:= )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? (
-		!libressl? ( >=dev-libs/openssl-1.0.1:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
-	tokyocabinet? ( dev-db/tokyocabinet )
-	truetype? ( =media-libs/freetype-2* )
-	unicode? ( dev-libs/oniguruma:= )
-	wddx? ( >=dev-libs/libxml2-2.6.8 )
-	webp? ( media-libs/libwebp:0= )
-	xml? ( >=dev-libs/libxml2-2.6.8 )
-	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
-	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
-	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
-	xpm? ( x11-libs/libXpm )
-	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
-	zip? ( >=sys-libs/zlib-1.2.0.4:0= )
-	zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
-	zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-REQUIRED_USE="
-	|| ( cli cgi fpm apache2 embed phpdbg )
-	cli? ( ^^ ( readline libedit ) )
-	truetype? ( gd zlib )
-	webp? ( gd zlib )
-	cjk? ( gd zlib )
-	exif? ( gd zlib )
-	xpm? ( gd zlib )
-	gd? ( zlib )
-	simplexml? ( xml )
-	soap? ( xml )
-	wddx? ( xml )
-	xmlrpc? ( || ( xml iconv ) )
-	xmlreader? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	mhash? ( hash )
-	phar? ( hash )
-	qdbm? ( !gdbm )
-	readline? ( !libedit )
-	recode? ( !imap !mysqli !mysql )
-	session-mm? ( session !threads )
-	mysql? ( || ( mysqli pdo ) )
-	zip-encryption? ( zip )
-"
-PATCHES=(
-	"${FILESDIR}/php-freetype-2.9.1.patch"
-)
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${phpinisrc}" || die
-
-	# default to /tmp for save_path, bug #282768
-	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
-	# Set the extension dir
-	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-		-i "${phpinisrc}" || die
-
-	# Set the include path to point to where we want to find PEAR packages
-	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
-	dodir "${PHP_INI_DIR#${EPREFIX}}"
-	insinto "${PHP_INI_DIR#${EPREFIX}}"
-	newins "${phpinisrc}" php.ini
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config files php-fpm.conf and www.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
-		doins sapi/fpm/www.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	default
-
-	# In php-7.x, the FPM pool configuration files have been split off
-	# of the main config. By default the pool config files go in
-	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
-	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
-	# we'll install the pool configuration file "www.conf" there.
-	php_set_ini_dir fpm
-	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
-		sapi/fpm/php-fpm.conf.in \
-		|| die 'failed to move the include directory in php-fpm.conf'
-
-	# Bug 669566 - necessary so that build tools are updated for commands like pecl
-	# Force rebuilding aclocal.m4
-	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
-	eautoreconf
-}
-
-src_configure() {
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_with argon2 password-argon2 "${EPREFIX}/usr")
-		$(use_enable bcmath bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype ctype)
-		$(use_with curl curl "${EPREFIX}/usr")
-		$(use_enable xml dom)
-		$(use_with enchant enchant "${EPREFIX}/usr")
-		$(use_enable exif exif)
-		$(use_enable fileinfo fileinfo)
-		$(use_enable filter filter)
-		$(use_enable ftp ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_enable hash hash)
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
-		$(use_enable intl intl)
-		$(use_enable ipv6 ipv6)
-		$(use_enable json json)
-		$(use_with kerberos kerberos "${EPREFIX}/usr")
-		$(use_enable xml libxml)
-		$(use_with xml libxml-dir "${EPREFIX}/usr")
-		$(use_enable unicode mbstring)
-		$(use_with unicode onig "${EPREFIX}/usr")
-		$(use_with ssl openssl "${EPREFIX}/usr")
-		$(use_with ssl openssl-dir "${EPREFIX}/usr")
-		$(use_enable pcntl pcntl)
-		$(use_enable phar phar)
-		$(use_enable pdo pdo)
-		$(use_enable opcache opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_with recode recode "${EPREFIX}/usr")
-		$(use_enable simplexml simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap soap)
-		$(use_enable sockets sockets)
-		$(use_with sodium sodium "${EPREFIX}/usr")
-		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer tokenizer)
-		$(use_enable wddx wddx)
-		$(use_enable xml xml)
-		$(use_enable xmlreader xmlreader)
-		$(use_enable xmlwriter xmlwriter)
-		$(use_with xmlrpc xmlrpc)
-		$(use_with xslt xsl "${EPREFIX}/usr")
-		$(use_enable zip zip)
-		$(use_with zip-encryption libzip "${EPREFIX}/usr")
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm || use lmdb || use tokyocabinet ; then
-		our_conf+=( "--enable-dba${shared}" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-		$(use_with lmdb lmdb "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(use_with truetype freetype-dir "${EPREFIX}/usr")
-		$(use_enable cjk gd-jis-conv)
-		$(use_with gd jpeg-dir "${EPREFIX}/usr")
-		$(use_with gd png-dir "${EPREFIX}/usr")
-		$(use_with xpm xpm-dir "${EPREFIX}/usr")
-	)
-	if use webp; then
-		our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
-	fi
-	# enable gd last, so configure can pick up the previous settings
-	our_conf+=( $(use_with gd gd) )
-
-	# IMAP support
-	if use imap ; then
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# Interbase/firebird support
-	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	our_conf+=(
-		$(use_with odbc unixODBC "${EPREFIX}/usr")
-		$(use_with iodbc iodbc "${EPREFIX}/usr")
-	)
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit libedit "${EPREFIX}/usr")
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-pcre-regex affects ext/pcre
-	# --with-pcre-dir affects ext/filter and ext/zip
-	# --with-pcre-valgrind cannot be enabled with system pcre
-	# Many arches don't support pcre-jit
-	our_conf+=(
-		--with-pcre-regex="${EPREFIX}/usr"
-		--with-pcre-dir="${EPREFIX}/usr"
-		--without-pcre-valgrind
-		--without-pcre-jit
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm|phpdbg)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# Makefile forgets to create this before trying to write to it...
-	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
-	# Install php environment (without any sapis)
-	cd "${WORKDIR}/sapis-build/$first_sapi" || die
-	emake INSTALL_ROOT="${D}" \
-		install-build install-headers install-programs
-
-	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
-	# Create the directory where we'll put version-specific php scripts
-	keepdir "/usr/share/php${PHP_MV}"
-
-	local sapi="", file=""
-	local sapi_list=""
-
-	for sapi in ${SAPIS}; do
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp${PHP_MV}$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					phpdbg)
-						source="sapi/phpdbg/phpdbg"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		fi
-	done
-
-	# Installing opcache module
-	if use opcache ; then
-		into "${PHP_DESTDIR#${EPREFIX}}"
-		dolib.so "modules/opcache$(get_libname)"
-	fi
-
-	# Install env.d files
-	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
-	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
-		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.3.6.ebuild b/dev-lang/php/php-7.3.6.ebuild
deleted file mode 100644
index c8de16897fe7..000000000000
--- a/dev-lang/php/php-7.3.6.ebuild
+++ /dev/null
@@ -1,750 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/RC}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://php.net/"
-SRC_URI="https://php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
-	BSD
-	Zend-2.0
-	bcmath? ( LGPL-2.1+ )
-	fpm? ( BSD-2 )
-	gd? ( gd )
-	unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-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"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
-	${SAPIS/cli/+cli}
-	threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
-	coverage +ctype curl debug
-	enchant exif +fileinfo +filter firebird
-	flatfile ftp gd gdbm gmp +hash +iconv imap inifile
-	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
-	mhash mssql mysql mysqli nls
-	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
-	readline recode selinux +session session-mm sharedmem
-	+simplexml snmp soap sockets sodium spell sqlite ssl
-	sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
-	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
-	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
-	>=dev-libs/libpcre2-10.30[unicode]
-	fpm? ( acl? ( sys-apps/acl ) )
-	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
-		<www-servers/apache-2.4[threads=] ) )
-	argon2? ( app-crypt/argon2:= )
-	berkdb? ( || (	sys-libs/db:5.3
-					sys-libs/db:5.1
-					sys-libs/db:4.8
-					sys-libs/db:4.7
-					sys-libs/db:4.6
-					sys-libs/db:4.5 ) )
-	bzip2? ( app-arch/bzip2:0= )
-	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
-	coverage? ( dev-util/lcov )
-	curl? ( >=net-misc/curl-7.10.5 )
-	enchant? ( <app-text/enchant-2.0:0 )
-	firebird? ( dev-db/firebird )
-	gd? ( virtual/jpeg:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
-	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
-	gmp? ( dev-libs/gmp:0= )
-	iconv? ( virtual/libiconv )
-	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
-	intl? ( dev-libs/icu:= )
-	iodbc? ( dev-db/libiodbc )
-	kerberos? ( virtual/krb5 )
-	ldap? ( >=net-nds/openldap-1.2.11 )
-	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
-	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
-	lmdb? ( dev-db/lmdb:= )
-	mssql? ( dev-db/freetds[mssql] )
-	nls? ( sys-devel/gettext )
-	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
-	odbc? ( >=dev-db/unixODBC-1.8.13 )
-	postgres? ( dev-db/postgresql:* )
-	qdbm? ( dev-db/qdbm )
-	readline? ( sys-libs/readline:0= )
-	recode? ( app-text/recode )
-	session-mm? ( dev-libs/mm )
-	simplexml? ( >=dev-libs/libxml2-2.6.8 )
-	snmp? ( >=net-analyzer/net-snmp-5.2 )
-	soap? ( >=dev-libs/libxml2-2.6.8 )
-	sodium? ( dev-libs/libsodium:= )
-	spell? ( >=app-text/aspell-0.50 )
-	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
-	ssl? (
-		!libressl? ( >=dev-libs/openssl-1.0.1:0= )
-		libressl? ( dev-libs/libressl:0= )
-	)
-	tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
-	tokyocabinet? ( dev-db/tokyocabinet )
-	truetype? ( =media-libs/freetype-2* )
-	unicode? ( dev-libs/oniguruma:= )
-	wddx? ( >=dev-libs/libxml2-2.6.8 )
-	webp? ( media-libs/libwebp:0= )
-	xml? ( >=dev-libs/libxml2-2.6.8 )
-	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
-	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
-	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
-	xpm? ( x11-libs/libXpm )
-	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
-	zip? ( >=sys-libs/zlib-1.2.0.4:0= )
-	zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
-	zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
-	virtual/mta
-	fpm? (
-		selinux? ( sec-policy/selinux-phpfpm )
-		systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
-	app-arch/xz-utils
-	>=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-REQUIRED_USE="
-	|| ( cli cgi fpm apache2 embed phpdbg )
-	cli? ( ^^ ( readline libedit ) )
-	truetype? ( gd zlib )
-	webp? ( gd zlib )
-	cjk? ( gd zlib )
-	exif? ( gd zlib )
-	xpm? ( gd zlib )
-	gd? ( zlib )
-	simplexml? ( xml )
-	soap? ( xml )
-	wddx? ( xml )
-	xmlrpc? ( || ( xml iconv ) )
-	xmlreader? ( xml )
-	xslt? ( xml )
-	ldap-sasl? ( ldap )
-	mhash? ( hash )
-	phar? ( hash )
-	qdbm? ( !gdbm )
-	readline? ( !libedit )
-	recode? ( !imap !mysqli !mysql )
-	session-mm? ( session !threads )
-	mysql? ( || ( mysqli pdo ) )
-	zip-encryption? ( zip )
-"
-PATCHES=(
-	"${FILESDIR}/php-freetype-2.9.1.patch"
-)
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
-	local phpsapi="${1}"
-
-	# work out where we are installing the ini file
-	php_set_ini_dir "${phpsapi}"
-
-	# Always install the production INI file, bug 611214.
-	local phpinisrc="php.ini-production-${phpsapi}"
-	cp php.ini-production "${phpinisrc}" || die
-
-	# default to /tmp for save_path, bug #282768
-	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
-	# Set the extension dir
-	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
-		-i "${phpinisrc}" || die
-
-	# Set the include path to point to where we want to find PEAR packages
-	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
-	dodir "${PHP_INI_DIR#${EPREFIX}}"
-	insinto "${PHP_INI_DIR#${EPREFIX}}"
-	newins "${phpinisrc}" php.ini
-
-	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
-	elog
-
-	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
-	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
-
-	if use opcache; then
-		elog "Adding opcache to $PHP_EXT_INI_DIR"
-		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
-			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
-		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
-			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
-	fi
-
-	# SAPI-specific handling
-	if [[ "${sapi}" == "fpm" ]] ; then
-		einfo "Installing FPM config files php-fpm.conf and www.conf"
-		insinto "${PHP_INI_DIR#${EPREFIX}}"
-		doins sapi/fpm/php-fpm.conf
-		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
-		doins sapi/fpm/www.conf
-	fi
-
-	dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
-	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
-	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
-	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
-	default
-
-	# In php-7.x, the FPM pool configuration files have been split off
-	# of the main config. By default the pool config files go in
-	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
-	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
-	# we'll install the pool configuration file "www.conf" there.
-	php_set_ini_dir fpm
-	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
-		sapi/fpm/php-fpm.conf.in \
-		|| die 'failed to move the include directory in php-fpm.conf'
-
-	# Bug 669566 - necessary so that build tools are updated for commands like pecl
-	# Force rebuilding aclocal.m4
-	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
-	eautoreconf
-}
-
-src_configure() {
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
-	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
-	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
-	local our_conf=(
-		--prefix="${PHP_DESTDIR}"
-		--mandir="${PHP_DESTDIR}/man"
-		--infodir="${PHP_DESTDIR}/info"
-		--libdir="${PHP_DESTDIR}/lib"
-		--with-libdir="$(get_libdir)"
-		--localstatedir="${EPREFIX}/var"
-		--without-pear
-		$(use_enable threads maintainer-zts)
-	)
-
-	our_conf+=(
-		$(use_with argon2 password-argon2 "${EPREFIX}/usr")
-		$(use_enable bcmath bcmath)
-		$(use_with bzip2 bz2 "${EPREFIX}/usr")
-		$(use_enable calendar calendar)
-		$(use_enable coverage gcov)
-		$(use_enable ctype ctype)
-		$(use_with curl curl "${EPREFIX}/usr")
-		$(use_enable xml dom)
-		$(use_with enchant enchant "${EPREFIX}/usr")
-		$(use_enable exif exif)
-		$(use_enable fileinfo fileinfo)
-		$(use_enable filter filter)
-		$(use_enable ftp ftp)
-		$(use_with nls gettext "${EPREFIX}/usr")
-		$(use_with gmp gmp "${EPREFIX}/usr")
-		$(use_enable hash hash)
-		$(use_with mhash mhash "${EPREFIX}/usr")
-		$(use_with iconv iconv \
-			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
-		$(use_enable intl intl)
-		$(use_enable ipv6 ipv6)
-		$(use_enable json json)
-		$(use_with kerberos kerberos "${EPREFIX}/usr")
-		$(use_enable xml libxml)
-		$(use_with xml libxml-dir "${EPREFIX}/usr")
-		$(use_enable unicode mbstring)
-		$(use_with unicode onig "${EPREFIX}/usr")
-		$(use_with ssl openssl "${EPREFIX}/usr")
-		$(use_with ssl openssl-dir "${EPREFIX}/usr")
-		$(use_enable pcntl pcntl)
-		$(use_enable phar phar)
-		$(use_enable pdo pdo)
-		$(use_enable opcache opcache)
-		$(use_with postgres pgsql "${EPREFIX}/usr")
-		$(use_enable posix posix)
-		$(use_with spell pspell "${EPREFIX}/usr")
-		$(use_with recode recode "${EPREFIX}/usr")
-		$(use_enable simplexml simplexml)
-		$(use_enable sharedmem shmop)
-		$(use_with snmp snmp "${EPREFIX}/usr")
-		$(use_enable soap soap)
-		$(use_enable sockets sockets)
-		$(use_with sodium sodium "${EPREFIX}/usr")
-		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
-		$(use_enable sysvipc sysvmsg)
-		$(use_enable sysvipc sysvsem)
-		$(use_enable sysvipc sysvshm)
-		$(use_with tidy tidy "${EPREFIX}/usr")
-		$(use_enable tokenizer tokenizer)
-		$(use_enable wddx wddx)
-		$(use_enable xml xml)
-		$(use_enable xmlreader xmlreader)
-		$(use_enable xmlwriter xmlwriter)
-		$(use_with xmlrpc xmlrpc)
-		$(use_with xslt xsl "${EPREFIX}/usr")
-		$(use_enable zip zip)
-		$(use_with zip-encryption libzip "${EPREFIX}/usr")
-		$(use_with zlib zlib "${EPREFIX}/usr")
-		$(use_enable debug debug)
-	)
-
-	# DBA support
-	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
-		|| use qdbm || use lmdb || use tokyocabinet ; then
-		our_conf+=( "--enable-dba${shared}" )
-	fi
-
-	# DBA drivers support
-	our_conf+=(
-		$(use_with cdb cdb)
-		$(use_with berkdb db4 "${EPREFIX}/usr")
-		$(use_enable flatfile flatfile)
-		$(use_with gdbm gdbm "${EPREFIX}/usr")
-		$(use_enable inifile inifile)
-		$(use_with qdbm qdbm "${EPREFIX}/usr")
-		$(use_with lmdb lmdb "${EPREFIX}/usr")
-	)
-
-	# Support for the GD graphics library
-	our_conf+=(
-		$(use_with truetype freetype-dir "${EPREFIX}/usr")
-		$(use_enable cjk gd-jis-conv)
-		$(use_with gd jpeg-dir "${EPREFIX}/usr")
-		$(use_with gd png-dir "${EPREFIX}/usr")
-		$(use_with xpm xpm-dir "${EPREFIX}/usr")
-	)
-	if use webp; then
-		our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
-	fi
-	# enable gd last, so configure can pick up the previous settings
-	our_conf+=( $(use_with gd gd) )
-
-	# IMAP support
-	if use imap ; then
-		our_conf+=(
-			$(use_with imap imap "${EPREFIX}/usr")
-			$(use_with ssl imap-ssl "${EPREFIX}/usr")
-		)
-	fi
-
-	# Interbase/firebird support
-	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
-	# LDAP support
-	if use ldap ; then
-		our_conf+=(
-			$(use_with ldap ldap "${EPREFIX}/usr")
-			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
-		)
-	fi
-
-	# MySQL support
-	local mysqllib="mysqlnd"
-	local mysqlilib="mysqlnd"
-
-	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
-	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
-	if use mysql || use mysqli ; then
-		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
-	fi
-
-	# ODBC support
-	our_conf+=(
-		$(use_with odbc unixODBC "${EPREFIX}/usr")
-		$(use_with iodbc iodbc "${EPREFIX}/usr")
-	)
-
-	# Oracle support
-	our_conf+=( $(use_with oci8-instant-client oci8) )
-
-	# PDO support
-	if use pdo ; then
-		our_conf+=(
-			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
-			$(use_with mysql pdo-mysql "${mysqllib}")
-			$(use_with postgres pdo-pgsql)
-			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
-			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
-			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
-			$(use_with oci8-instant-client pdo-oci)
-		)
-	fi
-
-	# readline/libedit support
-	our_conf+=(
-		$(use_with readline readline "${EPREFIX}/usr")
-		$(use_with libedit libedit "${EPREFIX}/usr")
-	)
-
-	# Session support
-	if use session ; then
-		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
-	else
-		our_conf+=( $(use_enable session session) )
-	fi
-
-	# Use pic for shared modules such as apache2's mod_php
-	our_conf+=( --with-pic )
-
-	# we use the system copy of pcre
-	# --with-pcre-regex affects ext/pcre
-	# --with-pcre-dir affects ext/filter and ext/zip
-	# --with-pcre-valgrind cannot be enabled with system pcre
-	# Many arches don't support pcre-jit
-	our_conf+=(
-		--with-pcre-regex="${EPREFIX}/usr"
-		--with-pcre-dir="${EPREFIX}/usr"
-		--without-pcre-valgrind
-		--without-pcre-jit
-	)
-
-	# Catch CFLAGS problems
-	# Fixes bug #14067.
-	# Changed order to run it in reverse for bug #32022 and #12021.
-	replace-cpu-flags "k6*" "i586"
-
-	# Cache the ./configure test results between SAPIs.
-	our_conf+=( --cache-file="${T}/config.cache" )
-
-	# Support user-passed configuration parameters
-	our_conf+=( ${EXTRA_ECONF:-} )
-
-	# Support the Apache2 extras, they must be set globally for all
-	# SAPIs to work correctly, especially for external PHP extensions
-
-	mkdir -p "${WORKDIR}/sapis-build" || die
-	for one_sapi in $SAPIS ; do
-		use "${one_sapi}" || continue
-		php_set_ini_dir "${one_sapi}"
-
-		# The BUILD_DIR variable is used to determine where to output
-		# the files that autotools creates. This was all originally
-		# based on the autotools-utils eclass.
-		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
-		cp -a "${S}" "${BUILD_DIR}" || die
-		cd "${BUILD_DIR}" || die
-
-		local sapi_conf=(
-			--with-config-file-path="${PHP_INI_DIR}"
-			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
-		)
-
-		for sapi in $SAPIS ; do
-			case "$sapi" in
-				cli|cgi|embed|fpm|phpdbg)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( "--enable-${sapi}" )
-						if [[ "fpm" == "${sapi}" ]] ; then
-							sapi_conf+=(
-								$(use_with acl fpm-acl)
-								$(use_with systemd fpm-systemd)
-							)
-						fi
-					else
-						sapi_conf+=( "--disable-${sapi}" )
-					fi
-					;;
-
-				apache2)
-					if [[ "${one_sapi}" == "${sapi}" ]] ; then
-						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
-					else
-						sapi_conf+=( --without-apxs2 )
-					fi
-					;;
-			esac
-		done
-
-		# Construct the $myeconfargs array by concatenating $our_conf
-		# (the common args) and $sapi_conf (the SAPI-specific args).
-		local myeconfargs=( "${our_conf[@]}" )
-		myeconfargs+=( "${sapi_conf[@]}" )
-
-		pushd "${BUILD_DIR}" > /dev/null || die
-		econf "${myeconfargs[@]}"
-		popd > /dev/null || die
-	done
-}
-
-src_compile() {
-	# snmp seems to run during src_compile, too (bug #324739)
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-	addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
-	for sapi in ${SAPIS} ; do
-		if use "${sapi}"; then
-			cd "${WORKDIR}/sapis-build/$sapi" || \
-				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
-			emake
-		fi
-	done
-}
-
-src_install() {
-	# see bug #324739 for what happens when we don't have that
-	addpredict /usr/share/snmp/mibs/.index #nowarn
-
-	# grab the first SAPI that got built and install common files from there
-	local first_sapi=""
-	for sapi in $SAPIS ; do
-		if use $sapi ; then
-			first_sapi=$sapi
-			break
-		fi
-	done
-
-	# Makefile forgets to create this before trying to write to it...
-	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
-
-	# Install php environment (without any sapis)
-	cd "${WORKDIR}/sapis-build/$first_sapi" || die
-	emake INSTALL_ROOT="${D}" \
-		install-build install-headers install-programs
-
-	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
-
-	# Create the directory where we'll put version-specific php scripts
-	keepdir "/usr/share/php${PHP_MV}"
-
-	local sapi="", file=""
-	local sapi_list=""
-
-	for sapi in ${SAPIS}; do
-		if use "${sapi}" ; then
-			einfo "Installing SAPI: ${sapi}"
-			cd "${WORKDIR}/sapis-build/${sapi}" || die
-
-			if [[ "${sapi}" == "apache2" ]] ; then
-				# We're specifically not using emake install-sapi as libtool
-				# may cause unnecessary relink failures (see bug #351266)
-				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
-				newins ".libs/libphp${PHP_MV}$(get_libname)" \
-					   "libphp${PHP_MV}$(get_libname)"
-				keepdir "/usr/$(get_libdir)/apache2/modules"
-			else
-				# needed each time, php_install_ini would reset it
-				local dest="${PHP_DESTDIR#${EPREFIX}}"
-				into "${dest}"
-				case "$sapi" in
-					cli)
-						source="sapi/cli/php"
-						;;
-					cgi)
-						source="sapi/cgi/php-cgi"
-						;;
-					fpm)
-						source="sapi/fpm/php-fpm"
-						;;
-					embed)
-						source="libs/libphp${PHP_MV}$(get_libname)"
-						;;
-					phpdbg)
-						source="sapi/phpdbg/phpdbg"
-						;;
-					*)
-						die "unhandled sapi in src_install"
-						;;
-				esac
-
-				if [[ "${source}" == *"$(get_libname)" ]]; then
-					dolib.so "${source}"
-				else
-					dobin "${source}"
-					local name="$(basename ${source})"
-					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
-				fi
-			fi
-
-			php_install_ini "${sapi}"
-
-			# construct correct SAPI string for php-config
-			# thanks to ferringb for the bash voodoo
-			if [[ "${sapi}" == "apache2" ]]; then
-				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
-			else
-				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
-			fi
-		fi
-	done
-
-	# Installing opcache module
-	if use opcache ; then
-		into "${PHP_DESTDIR#${EPREFIX}}"
-		dolib.so "modules/opcache$(get_libname)"
-	fi
-
-	# Install env.d files
-	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
-	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
-
-	# set php-config variable correctly (bug #278439)
-	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
-		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
-
-	if use fpm ; then
-		if use systemd; then
-			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
-							"php-fpm@${SLOT}.service"
-		else
-			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
-							"php-fpm@${SLOT}.service"
-		fi
-	fi
-}
-
-src_test() {
-	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
-	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
-	if [[ ! -x "${PHP_BIN}" ]] ; then
-		ewarn "Test phase requires USE=cli, skipping"
-		return
-	else
-		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
-		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
-	fi
-
-	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
-		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
-	fi
-
-	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
-					  "session.save_path=${T}" \
-					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
-					  "session.save_path=${T}"
-
-	for name in ${EXPECTED_TEST_FAILURES}; do
-		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
-	done
-
-	local failed="$(find -name '*.out')"
-	if [[ ${failed} != "" ]] ; then
-		ewarn "The following test cases failed unexpectedly:"
-		for name in ${failed}; do
-			ewarn "  ${name/.out/}"
-		done
-	else
-		einfo "No unexpected test failures, all fine"
-	fi
-
-	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
-		local passed=""
-		for name in ${EXPECTED_TEST_FAILURES}; do
-			[[ -f "${name}.diff" ]] && continue
-			passed="${passed} ${name}"
-		done
-		if [[ ${passed} != "" ]] ; then
-			einfo "The following test cases passed unexpectedly:"
-			for name in ${passed}; do
-				ewarn "  ${passed}"
-			done
-		else
-			einfo "None of the known-to-fail tests passed, all fine"
-		fi
-	fi
-}
-
-pkg_postinst() {
-	# Output some general info to the user
-	if use apache2 ; then
-		elog
-		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
-		elog "your apache2 command. OpenRC users can append that string to"
-		elog "APACHE2_OPTS in /etc/conf.d/apache2."
-		elog
-		elog "The apache module configuration file 70_mod_php.conf is"
-		elog "provided (and maintained) by eselect-php."
-		elog
-	fi
-
-	# Create the symlinks for php
-	for m in ${SAPIS}; do
-		[[ ${m} == 'embed' ]] && continue;
-		if use $m ; then
-			local ci=$(eselect php show $m)
-			if [[ -z $ci ]]; then
-				eselect php set $m php${SLOT} || die
-				einfo "Switched ${m} to use php:${SLOT}"
-				einfo
-			elif [[ $ci != "php${SLOT}" ]] ; then
-				elog "To switch $m to use php:${SLOT}, run"
-				elog "    eselect php set $m php${SLOT}"
-				elog
-			fi
-		fi
-	done
-
-	# Remove dead symlinks for SAPIs that were just disabled. For
-	# example, if the user has the cgi SAPI enabled, then he has an
-	# eselect-php symlink for it. If he later reinstalls PHP with
-	# USE="-cgi", that symlink will break. This call to eselect is
-	# supposed to remove that dead link per bug 572436.
-	eselect php cleanup || die
-
-	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
-	   elog "To build extensions for this version of PHP, you will need to"
-	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
-	   elog
-	fi
-
-	# Warn about the removal of PHP_INI_VERSION if the user has it set.
-	if [[ -n "${PHP_INI_VERSION}" ]]; then
-		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
-		ewarn 'remove it from your configuration at your convenience. See'
-		ewarn
-		ewarn '  https://bugs.gentoo.org/611214'
-		ewarn
-		ewarn 'for more information.'
-	fi
-
-	elog "For details on how version slotting works, please see"
-	elog "the wiki:"
-	elog
-	elog "  https://wiki.gentoo.org/wiki/PHP"
-	elog
-}
-
-pkg_postrm() {
-	# This serves two purposes. First, if we have just removed the last
-	# installed version of PHP, then this will remove any dead symlinks
-	# belonging to eselect-php. Second, if a user upgrades slots from
-	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
-	# his existing symlinks to point to the new 7.0 installation. The
-	# latter is bug 432962.
-	#
-	# Note: the eselect-php package may not be installed at this point,
-	# so we can't die() if this command fails.
-	eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.3.7-r1.ebuild b/dev-lang/php/php-7.3.7-r1.ebuild
index 6b62e30a4d72..34041772dbcc 100644
--- a/dev-lang/php/php-7.3.7-r1.ebuild
+++ b/dev-lang/php/php-7.3.7-r1.ebuild
@@ -19,7 +19,7 @@ LICENSE="PHP-3.01
 	unicode? ( BSD-2 LGPL-2.1 )"
 
 SLOT="$(ver_cut 1-2)"
-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"
+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"
 
 S="${WORKDIR}/${PN}-${MY_PV}"
 
diff --git a/dev-lang/php/php-7.3.8.ebuild b/dev-lang/php/php-7.3.8.ebuild
new file mode 100644
index 000000000000..1e66c720846d
--- /dev/null
+++ b/dev-lang/php/php-7.3.8.ebuild
@@ -0,0 +1,750 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic systemd autotools
+
+MY_PV=${PV/_rc/RC}
+DESCRIPTION="The PHP language runtime engine"
+HOMEPAGE="https://php.net/"
+SRC_URI="https://php.net/distributions/${P}.tar.xz"
+
+LICENSE="PHP-3.01
+	BSD
+	Zend-2.0
+	bcmath? ( LGPL-2.1+ )
+	fpm? ( BSD-2 )
+	gd? ( gd )
+	unicode? ( BSD-2 LGPL-2.1 )"
+
+SLOT="$(ver_cut 1-2)"
+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"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2 phpdbg"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+	${SAPIS/cli/+cli}
+	threads"
+
+IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
+	coverage +ctype curl debug
+	enchant exif +fileinfo +filter firebird
+	flatfile ftp gd gdbm gmp +hash +iconv imap inifile
+	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
+	mhash mssql mysql mysqli nls
+	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+	readline recode selinux +session session-mm sharedmem
+	+simplexml snmp soap sockets sodium spell sqlite ssl
+	sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
+	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
+
+# The supported (that is, autodetected) versions of BDB are listed in
+# the ./configure script. Other versions *work*, but we need to stick to
+# the ones that can be detected to avoid a repeat of bug #564824.
+COMMON_DEPEND="
+	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
+	>=dev-libs/libpcre2-10.30[unicode]
+	fpm? ( acl? ( sys-apps/acl ) )
+	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
+		<www-servers/apache-2.4[threads=] ) )
+	argon2? ( app-crypt/argon2:= )
+	berkdb? ( || (	sys-libs/db:5.3
+					sys-libs/db:5.1
+					sys-libs/db:4.8
+					sys-libs/db:4.7
+					sys-libs/db:4.6
+					sys-libs/db:4.5 ) )
+	bzip2? ( app-arch/bzip2:0= )
+	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+	coverage? ( dev-util/lcov )
+	curl? ( >=net-misc/curl-7.10.5 )
+	enchant? ( <app-text/enchant-2.0:0 )
+	firebird? ( dev-db/firebird )
+	gd? ( virtual/jpeg:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
+	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
+	gmp? ( dev-libs/gmp:0= )
+	iconv? ( virtual/libiconv )
+	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
+	intl? ( dev-libs/icu:= )
+	iodbc? ( dev-db/libiodbc )
+	kerberos? ( virtual/krb5 )
+	ldap? ( >=net-nds/openldap-1.2.11 )
+	ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
+	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
+	lmdb? ( dev-db/lmdb:= )
+	mssql? ( dev-db/freetds[mssql] )
+	nls? ( sys-devel/gettext )
+	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
+	odbc? ( >=dev-db/unixODBC-1.8.13 )
+	postgres? ( dev-db/postgresql:* )
+	qdbm? ( dev-db/qdbm )
+	readline? ( sys-libs/readline:0= )
+	recode? ( app-text/recode )
+	session-mm? ( dev-libs/mm )
+	simplexml? ( >=dev-libs/libxml2-2.6.8 )
+	snmp? ( >=net-analyzer/net-snmp-5.2 )
+	soap? ( >=dev-libs/libxml2-2.6.8 )
+	sodium? ( dev-libs/libsodium:= )
+	spell? ( >=app-text/aspell-0.50 )
+	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+	ssl? (
+		!libressl? ( >=dev-libs/openssl-1.0.1:0= )
+		libressl? ( dev-libs/libressl:0= )
+	)
+	tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
+	tokyocabinet? ( dev-db/tokyocabinet )
+	truetype? ( =media-libs/freetype-2* )
+	unicode? ( dev-libs/oniguruma:= )
+	wddx? ( >=dev-libs/libxml2-2.6.8 )
+	webp? ( media-libs/libwebp:0= )
+	xml? ( >=dev-libs/libxml2-2.6.8 )
+	xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
+	xmlreader? ( >=dev-libs/libxml2-2.6.8 )
+	xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
+	xpm? ( x11-libs/libXpm )
+	xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
+	zip? ( >=sys-libs/zlib-1.2.0.4:0= )
+	zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
+	zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
+"
+
+RDEPEND="${COMMON_DEPEND}
+	virtual/mta
+	fpm? (
+		selinux? ( sec-policy/selinux-phpfpm )
+		systemd? ( sys-apps/systemd ) )"
+
+# Bison isn't actually needed when building from a release tarball
+# However, the configure script will warn if it's absent or if you
+# have an incompatible version installed. See bug 593278.
+DEPEND="${COMMON_DEPEND}
+	app-arch/xz-utils
+	>=sys-devel/bison-3.0.1"
+
+BDEPEND="virtual/pkgconfig"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+REQUIRED_USE="
+	|| ( cli cgi fpm apache2 embed phpdbg )
+	cli? ( ^^ ( readline libedit ) )
+	truetype? ( gd zlib )
+	webp? ( gd zlib )
+	cjk? ( gd zlib )
+	exif? ( gd zlib )
+	xpm? ( gd zlib )
+	gd? ( zlib )
+	simplexml? ( xml )
+	soap? ( xml )
+	wddx? ( xml )
+	xmlrpc? ( || ( xml iconv ) )
+	xmlreader? ( xml )
+	xslt? ( xml )
+	ldap-sasl? ( ldap )
+	mhash? ( hash )
+	phar? ( hash )
+	qdbm? ( !gdbm )
+	readline? ( !libedit )
+	recode? ( !imap !mysqli !mysql )
+	session-mm? ( session !threads )
+	mysql? ( || ( mysqli pdo ) )
+	zip-encryption? ( zip )
+"
+PATCHES=(
+	"${FILESDIR}/php-freetype-2.9.1.patch"
+)
+
+PHP_MV="$(ver_cut 1)"
+
+php_install_ini() {
+	local phpsapi="${1}"
+
+	# work out where we are installing the ini file
+	php_set_ini_dir "${phpsapi}"
+
+	# Always install the production INI file, bug 611214.
+	local phpinisrc="php.ini-production-${phpsapi}"
+	cp php.ini-production "${phpinisrc}" || die
+
+	# default to /tmp for save_path, bug #282768
+	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
+
+	# Set the extension dir
+	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
+		-i "${phpinisrc}" || die
+
+	# Set the include path to point to where we want to find PEAR packages
+	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
+
+	dodir "${PHP_INI_DIR#${EPREFIX}}"
+	insinto "${PHP_INI_DIR#${EPREFIX}}"
+	newins "${phpinisrc}" php.ini
+
+	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
+	elog
+
+	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
+	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
+
+	if use opcache; then
+		elog "Adding opcache to $PHP_EXT_INI_DIR"
+		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
+			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
+		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
+			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
+	fi
+
+	# SAPI-specific handling
+	if [[ "${sapi}" == "fpm" ]] ; then
+		einfo "Installing FPM config files php-fpm.conf and www.conf"
+		insinto "${PHP_INI_DIR#${EPREFIX}}"
+		doins sapi/fpm/php-fpm.conf
+		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
+		doins sapi/fpm/www.conf
+	fi
+
+	dodoc php.ini-{development,production}
+}
+
+php_set_ini_dir() {
+	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
+	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
+	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
+}
+
+src_prepare() {
+	default
+
+	# In php-7.x, the FPM pool configuration files have been split off
+	# of the main config. By default the pool config files go in
+	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
+	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
+	# we'll install the pool configuration file "www.conf" there.
+	php_set_ini_dir fpm
+	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
+		sapi/fpm/php-fpm.conf.in \
+		|| die 'failed to move the include directory in php-fpm.conf'
+
+	# Bug 669566 - necessary so that build tools are updated for commands like pecl
+	# Force rebuilding aclocal.m4
+	rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
+	eautoreconf
+}
+
+src_configure() {
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+	addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
+
+	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
+	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
+	local our_conf=(
+		--prefix="${PHP_DESTDIR}"
+		--mandir="${PHP_DESTDIR}/man"
+		--infodir="${PHP_DESTDIR}/info"
+		--libdir="${PHP_DESTDIR}/lib"
+		--with-libdir="$(get_libdir)"
+		--localstatedir="${EPREFIX}/var"
+		--without-pear
+		$(use_enable threads maintainer-zts)
+	)
+
+	our_conf+=(
+		$(use_with argon2 password-argon2 "${EPREFIX}/usr")
+		$(use_enable bcmath bcmath)
+		$(use_with bzip2 bz2 "${EPREFIX}/usr")
+		$(use_enable calendar calendar)
+		$(use_enable coverage gcov)
+		$(use_enable ctype ctype)
+		$(use_with curl curl "${EPREFIX}/usr")
+		$(use_enable xml dom)
+		$(use_with enchant enchant "${EPREFIX}/usr")
+		$(use_enable exif exif)
+		$(use_enable fileinfo fileinfo)
+		$(use_enable filter filter)
+		$(use_enable ftp ftp)
+		$(use_with nls gettext "${EPREFIX}/usr")
+		$(use_with gmp gmp "${EPREFIX}/usr")
+		$(use_enable hash hash)
+		$(use_with mhash mhash "${EPREFIX}/usr")
+		$(use_with iconv iconv \
+			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
+		$(use_enable intl intl)
+		$(use_enable ipv6 ipv6)
+		$(use_enable json json)
+		$(use_with kerberos kerberos "${EPREFIX}/usr")
+		$(use_enable xml libxml)
+		$(use_with xml libxml-dir "${EPREFIX}/usr")
+		$(use_enable unicode mbstring)
+		$(use_with unicode onig "${EPREFIX}/usr")
+		$(use_with ssl openssl "${EPREFIX}/usr")
+		$(use_with ssl openssl-dir "${EPREFIX}/usr")
+		$(use_enable pcntl pcntl)
+		$(use_enable phar phar)
+		$(use_enable pdo pdo)
+		$(use_enable opcache opcache)
+		$(use_with postgres pgsql "${EPREFIX}/usr")
+		$(use_enable posix posix)
+		$(use_with spell pspell "${EPREFIX}/usr")
+		$(use_with recode recode "${EPREFIX}/usr")
+		$(use_enable simplexml simplexml)
+		$(use_enable sharedmem shmop)
+		$(use_with snmp snmp "${EPREFIX}/usr")
+		$(use_enable soap soap)
+		$(use_enable sockets sockets)
+		$(use_with sodium sodium "${EPREFIX}/usr")
+		$(use_with sqlite sqlite3 "${EPREFIX}/usr")
+		$(use_enable sysvipc sysvmsg)
+		$(use_enable sysvipc sysvsem)
+		$(use_enable sysvipc sysvshm)
+		$(use_with tidy tidy "${EPREFIX}/usr")
+		$(use_enable tokenizer tokenizer)
+		$(use_enable wddx wddx)
+		$(use_enable xml xml)
+		$(use_enable xmlreader xmlreader)
+		$(use_enable xmlwriter xmlwriter)
+		$(use_with xmlrpc xmlrpc)
+		$(use_with xslt xsl "${EPREFIX}/usr")
+		$(use_enable zip zip)
+		$(use_with zip-encryption libzip "${EPREFIX}/usr")
+		$(use_with zlib zlib "${EPREFIX}/usr")
+		$(use_enable debug debug)
+	)
+
+	# DBA support
+	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
+		|| use qdbm || use lmdb || use tokyocabinet ; then
+		our_conf+=( "--enable-dba${shared}" )
+	fi
+
+	# DBA drivers support
+	our_conf+=(
+		$(use_with cdb cdb)
+		$(use_with berkdb db4 "${EPREFIX}/usr")
+		$(use_enable flatfile flatfile)
+		$(use_with gdbm gdbm "${EPREFIX}/usr")
+		$(use_enable inifile inifile)
+		$(use_with qdbm qdbm "${EPREFIX}/usr")
+		$(use_with lmdb lmdb "${EPREFIX}/usr")
+	)
+
+	# Support for the GD graphics library
+	our_conf+=(
+		$(use_with truetype freetype-dir "${EPREFIX}/usr")
+		$(use_enable cjk gd-jis-conv)
+		$(use_with gd jpeg-dir "${EPREFIX}/usr")
+		$(use_with gd png-dir "${EPREFIX}/usr")
+		$(use_with xpm xpm-dir "${EPREFIX}/usr")
+	)
+	if use webp; then
+		our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
+	fi
+	# enable gd last, so configure can pick up the previous settings
+	our_conf+=( $(use_with gd gd) )
+
+	# IMAP support
+	if use imap ; then
+		our_conf+=(
+			$(use_with imap imap "${EPREFIX}/usr")
+			$(use_with ssl imap-ssl "${EPREFIX}/usr")
+		)
+	fi
+
+	# Interbase/firebird support
+	our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
+
+	# LDAP support
+	if use ldap ; then
+		our_conf+=(
+			$(use_with ldap ldap "${EPREFIX}/usr")
+			$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
+		)
+	fi
+
+	# MySQL support
+	local mysqllib="mysqlnd"
+	local mysqlilib="mysqlnd"
+
+	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
+
+	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
+	if use mysql || use mysqli ; then
+		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
+	fi
+
+	# ODBC support
+	our_conf+=(
+		$(use_with odbc unixODBC "${EPREFIX}/usr")
+		$(use_with iodbc iodbc "${EPREFIX}/usr")
+	)
+
+	# Oracle support
+	our_conf+=( $(use_with oci8-instant-client oci8) )
+
+	# PDO support
+	if use pdo ; then
+		our_conf+=(
+			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
+			$(use_with mysql pdo-mysql "${mysqllib}")
+			$(use_with postgres pdo-pgsql)
+			$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
+			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
+			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
+			$(use_with oci8-instant-client pdo-oci)
+		)
+	fi
+
+	# readline/libedit support
+	our_conf+=(
+		$(use_with readline readline "${EPREFIX}/usr")
+		$(use_with libedit libedit "${EPREFIX}/usr")
+	)
+
+	# Session support
+	if use session ; then
+		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+	else
+		our_conf+=( $(use_enable session session) )
+	fi
+
+	# Use pic for shared modules such as apache2's mod_php
+	our_conf+=( --with-pic )
+
+	# we use the system copy of pcre
+	# --with-pcre-regex affects ext/pcre
+	# --with-pcre-dir affects ext/filter and ext/zip
+	# --with-pcre-valgrind cannot be enabled with system pcre
+	# Many arches don't support pcre-jit
+	our_conf+=(
+		--with-pcre-regex="${EPREFIX}/usr"
+		--with-pcre-dir="${EPREFIX}/usr"
+		--without-pcre-valgrind
+		--without-pcre-jit
+	)
+
+	# Catch CFLAGS problems
+	# Fixes bug #14067.
+	# Changed order to run it in reverse for bug #32022 and #12021.
+	replace-cpu-flags "k6*" "i586"
+
+	# Cache the ./configure test results between SAPIs.
+	our_conf+=( --cache-file="${T}/config.cache" )
+
+	# Support user-passed configuration parameters
+	our_conf+=( ${EXTRA_ECONF:-} )
+
+	# Support the Apache2 extras, they must be set globally for all
+	# SAPIs to work correctly, especially for external PHP extensions
+
+	mkdir -p "${WORKDIR}/sapis-build" || die
+	for one_sapi in $SAPIS ; do
+		use "${one_sapi}" || continue
+		php_set_ini_dir "${one_sapi}"
+
+		# The BUILD_DIR variable is used to determine where to output
+		# the files that autotools creates. This was all originally
+		# based on the autotools-utils eclass.
+		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
+		cp -a "${S}" "${BUILD_DIR}" || die
+		cd "${BUILD_DIR}" || die
+
+		local sapi_conf=(
+			--with-config-file-path="${PHP_INI_DIR}"
+			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
+		)
+
+		for sapi in $SAPIS ; do
+			case "$sapi" in
+				cli|cgi|embed|fpm|phpdbg)
+					if [[ "${one_sapi}" == "${sapi}" ]] ; then
+						sapi_conf+=( "--enable-${sapi}" )
+						if [[ "fpm" == "${sapi}" ]] ; then
+							sapi_conf+=(
+								$(use_with acl fpm-acl)
+								$(use_with systemd fpm-systemd)
+							)
+						fi
+					else
+						sapi_conf+=( "--disable-${sapi}" )
+					fi
+					;;
+
+				apache2)
+					if [[ "${one_sapi}" == "${sapi}" ]] ; then
+						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
+					else
+						sapi_conf+=( --without-apxs2 )
+					fi
+					;;
+			esac
+		done
+
+		# Construct the $myeconfargs array by concatenating $our_conf
+		# (the common args) and $sapi_conf (the SAPI-specific args).
+		local myeconfargs=( "${our_conf[@]}" )
+		myeconfargs+=( "${sapi_conf[@]}" )
+
+		pushd "${BUILD_DIR}" > /dev/null || die
+		econf "${myeconfargs[@]}"
+		popd > /dev/null || die
+	done
+}
+
+src_compile() {
+	# snmp seems to run during src_compile, too (bug #324739)
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+	addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+	for sapi in ${SAPIS} ; do
+		if use "${sapi}"; then
+			cd "${WORKDIR}/sapis-build/$sapi" || \
+				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
+			emake
+		fi
+	done
+}
+
+src_install() {
+	# see bug #324739 for what happens when we don't have that
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+
+	# grab the first SAPI that got built and install common files from there
+	local first_sapi=""
+	for sapi in $SAPIS ; do
+		if use $sapi ; then
+			first_sapi=$sapi
+			break
+		fi
+	done
+
+	# Makefile forgets to create this before trying to write to it...
+	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
+
+	# Install php environment (without any sapis)
+	cd "${WORKDIR}/sapis-build/$first_sapi" || die
+	emake INSTALL_ROOT="${D}" \
+		install-build install-headers install-programs
+
+	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
+
+	# Create the directory where we'll put version-specific php scripts
+	keepdir "/usr/share/php${PHP_MV}"
+
+	local sapi="", file=""
+	local sapi_list=""
+
+	for sapi in ${SAPIS}; do
+		if use "${sapi}" ; then
+			einfo "Installing SAPI: ${sapi}"
+			cd "${WORKDIR}/sapis-build/${sapi}" || die
+
+			if [[ "${sapi}" == "apache2" ]] ; then
+				# We're specifically not using emake install-sapi as libtool
+				# may cause unnecessary relink failures (see bug #351266)
+				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
+				newins ".libs/libphp${PHP_MV}$(get_libname)" \
+					   "libphp${PHP_MV}$(get_libname)"
+				keepdir "/usr/$(get_libdir)/apache2/modules"
+			else
+				# needed each time, php_install_ini would reset it
+				local dest="${PHP_DESTDIR#${EPREFIX}}"
+				into "${dest}"
+				case "$sapi" in
+					cli)
+						source="sapi/cli/php"
+						;;
+					cgi)
+						source="sapi/cgi/php-cgi"
+						;;
+					fpm)
+						source="sapi/fpm/php-fpm"
+						;;
+					embed)
+						source="libs/libphp${PHP_MV}$(get_libname)"
+						;;
+					phpdbg)
+						source="sapi/phpdbg/phpdbg"
+						;;
+					*)
+						die "unhandled sapi in src_install"
+						;;
+				esac
+
+				if [[ "${source}" == *"$(get_libname)" ]]; then
+					dolib.so "${source}"
+				else
+					dobin "${source}"
+					local name="$(basename ${source})"
+					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
+				fi
+			fi
+
+			php_install_ini "${sapi}"
+
+			# construct correct SAPI string for php-config
+			# thanks to ferringb for the bash voodoo
+			if [[ "${sapi}" == "apache2" ]]; then
+				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
+			else
+				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
+			fi
+		fi
+	done
+
+	# Installing opcache module
+	if use opcache ; then
+		into "${PHP_DESTDIR#${EPREFIX}}"
+		dolib.so "modules/opcache$(get_libname)"
+	fi
+
+	# Install env.d files
+	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
+	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+
+	# set php-config variable correctly (bug #278439)
+	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
+		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
+
+	if use fpm ; then
+		if use systemd; then
+			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
+							"php-fpm@${SLOT}.service"
+		else
+			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
+							"php-fpm@${SLOT}.service"
+		fi
+	fi
+}
+
+src_test() {
+	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
+	if [[ ! -x "${PHP_BIN}" ]] ; then
+		ewarn "Test phase requires USE=cli, skipping"
+		return
+	else
+		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
+	fi
+
+	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
+		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
+	fi
+
+	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
+		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
+	fi
+
+	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
+					  "session.save_path=${T}" \
+					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
+					  "session.save_path=${T}"
+
+	for name in ${EXPECTED_TEST_FAILURES}; do
+		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
+	done
+
+	local failed="$(find -name '*.out')"
+	if [[ ${failed} != "" ]] ; then
+		ewarn "The following test cases failed unexpectedly:"
+		for name in ${failed}; do
+			ewarn "  ${name/.out/}"
+		done
+	else
+		einfo "No unexpected test failures, all fine"
+	fi
+
+	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
+		local passed=""
+		for name in ${EXPECTED_TEST_FAILURES}; do
+			[[ -f "${name}.diff" ]] && continue
+			passed="${passed} ${name}"
+		done
+		if [[ ${passed} != "" ]] ; then
+			einfo "The following test cases passed unexpectedly:"
+			for name in ${passed}; do
+				ewarn "  ${passed}"
+			done
+		else
+			einfo "None of the known-to-fail tests passed, all fine"
+		fi
+	fi
+}
+
+pkg_postinst() {
+	# Output some general info to the user
+	if use apache2 ; then
+		elog
+		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
+		elog "your apache2 command. OpenRC users can append that string to"
+		elog "APACHE2_OPTS in /etc/conf.d/apache2."
+		elog
+		elog "The apache module configuration file 70_mod_php.conf is"
+		elog "provided (and maintained) by eselect-php."
+		elog
+	fi
+
+	# Create the symlinks for php
+	for m in ${SAPIS}; do
+		[[ ${m} == 'embed' ]] && continue;
+		if use $m ; then
+			local ci=$(eselect php show $m)
+			if [[ -z $ci ]]; then
+				eselect php set $m php${SLOT} || die
+				einfo "Switched ${m} to use php:${SLOT}"
+				einfo
+			elif [[ $ci != "php${SLOT}" ]] ; then
+				elog "To switch $m to use php:${SLOT}, run"
+				elog "    eselect php set $m php${SLOT}"
+				elog
+			fi
+		fi
+	done
+
+	# Remove dead symlinks for SAPIs that were just disabled. For
+	# example, if the user has the cgi SAPI enabled, then he has an
+	# eselect-php symlink for it. If he later reinstalls PHP with
+	# USE="-cgi", that symlink will break. This call to eselect is
+	# supposed to remove that dead link per bug 572436.
+	eselect php cleanup || die
+
+	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
+	   elog "To build extensions for this version of PHP, you will need to"
+	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
+	   elog
+	fi
+
+	# Warn about the removal of PHP_INI_VERSION if the user has it set.
+	if [[ -n "${PHP_INI_VERSION}" ]]; then
+		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
+		ewarn 'remove it from your configuration at your convenience. See'
+		ewarn
+		ewarn '  https://bugs.gentoo.org/611214'
+		ewarn
+		ewarn 'for more information.'
+	fi
+
+	elog "For details on how version slotting works, please see"
+	elog "the wiki:"
+	elog
+	elog "  https://wiki.gentoo.org/wiki/PHP"
+	elog
+}
+
+pkg_postrm() {
+	# This serves two purposes. First, if we have just removed the last
+	# installed version of PHP, then this will remove any dead symlinks
+	# belonging to eselect-php. Second, if a user upgrades slots from
+	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
+	# his existing symlinks to point to the new 7.0 installation. The
+	# latter is bug 432962.
+	#
+	# Note: the eselect-php package may not be installed at this point,
+	# so we can't die() if this command fails.
+	eselect php cleanup
+}
diff --git a/dev-lang/php/php-7.4.0_beta1.ebuild b/dev-lang/php/php-7.4.0_beta1.ebuild
new file mode 100644
index 000000000000..4e86c019721d
--- /dev/null
+++ b/dev-lang/php/php-7.4.0_beta1.ebuild
@@ -0,0 +1,723 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+WANT_AUTOMAKE="none"
+
+inherit flag-o-matic systemd autotools
+
+MY_PV=${PV/_/}
+DESCRIPTION="The PHP language runtime engine"
+HOMEPAGE="https://php.net/"
+SRC_URI="https://downloads.php.net/~derick/${P/_/}.tar.xz"
+
+LICENSE="PHP-3.01
+	BSD
+	Zend-2.0
+	bcmath? ( LGPL-2.1+ )
+	fpm? ( BSD-2 )
+	gd? ( gd )
+	unicode? ( BSD-2 LGPL-2.1 )"
+
+SLOT="$(ver_cut 1-2)"
+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"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2 phpdbg"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+	${SAPIS/cli/+cli}
+	threads"
+
+IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
+	coverage +ctype curl debug
+	enchant exif ffi +fileinfo +filter firebird
+	+flatfile ftp gd gdbm gmp +iconv imap inifile
+	intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
+	mhash mssql mysql mysqli nls
+	oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+	readline selinux +session session-mm sharedmem
+	+simplexml snmp soap sockets sodium spell sqlite ssl
+	sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+	+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
+
+# The supported (that is, autodetected) versions of BDB are listed in
+# the ./configure script. Other versions *work*, but we need to stick to
+# the ones that can be detected to avoid a repeat of bug #564824.
+COMMON_DEPEND="
+	>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
+	>=dev-libs/libpcre2-10.30[unicode]
+	fpm? ( acl? ( sys-apps/acl ) )
+	apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
+		<www-servers/apache-2.4[threads=] ) )
+	argon2? ( app-crypt/argon2:= )
+	berkdb? ( || (	sys-libs/db:5.3
+					sys-libs/db:5.1
+					sys-libs/db:4.8
+					sys-libs/db:4.7
+					sys-libs/db:4.6
+					sys-libs/db:4.5 ) )
+	bzip2? ( app-arch/bzip2:0= )
+	cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+	coverage? ( dev-util/lcov )
+	curl? ( >=net-misc/curl-7.10.5 )
+	enchant? ( <app-text/enchant-2.0:0 )
+	ffi? ( >=virtual/libffi-3.0.11 )
+	firebird? ( dev-db/firebird )
+	gd? ( virtual/jpeg:0 media-libs/libpng:0= )
+	gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
+	gmp? ( dev-libs/gmp:0= )
+	iconv? ( virtual/libiconv )
+	imap? ( virtual/imap-c-client[kerberos=,ssl=] )
+	intl? ( dev-libs/icu:= )
+	kerberos? ( virtual/krb5 )
+	ldap? ( >=net-nds/openldap-1.2.11 )
+	ldap-sasl? ( dev-libs/cyrus-sasl )
+	libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
+	lmdb? ( dev-db/lmdb:= )
+	mssql? ( dev-db/freetds[mssql] )
+	nls? ( sys-devel/gettext )
+	oci8-instant-client? ( dev-db/oracle-instantclient-basic )
+	odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
+	postgres? ( dev-db/postgresql:* )
+	qdbm? ( dev-db/qdbm )
+	readline? ( sys-libs/readline:0= )
+	session-mm? ( dev-libs/mm )
+	snmp? ( >=net-analyzer/net-snmp-5.2 )
+	sodium? ( dev-libs/libsodium:= )
+	spell? ( >=app-text/aspell-0.50 )
+	sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+	ssl? (
+		!libressl? ( >=dev-libs/openssl-1.0.1:0= )
+		libressl? ( dev-libs/libressl:0= )
+	)
+	tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
+	tokyocabinet? ( dev-db/tokyocabinet )
+	truetype? ( =media-libs/freetype-2* )
+	unicode? ( dev-libs/oniguruma:= )
+	webp? ( media-libs/libwebp:0= )
+	xml? ( >=dev-libs/libxml2-2.7.6 )
+	xpm? ( x11-libs/libXpm )
+	xslt? ( dev-libs/libxslt )
+	zip? ( >=dev-libs/libzip-1.2.0:= )
+	zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
+"
+
+RDEPEND="${COMMON_DEPEND}
+	virtual/mta
+	fpm? (
+		selinux? ( sec-policy/selinux-phpfpm )
+		systemd? ( sys-apps/systemd ) )"
+
+# Bison isn't actually needed when building from a release tarball
+# However, the configure script will warn if it's absent or if you
+# have an incompatible version installed. See bug 593278.
+DEPEND="${COMMON_DEPEND}
+	app-arch/xz-utils
+	>=sys-devel/bison-3.0.1"
+
+BDEPEND="virtual/pkgconfig"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+REQUIRED_USE="
+	|| ( cli cgi fpm apache2 embed phpdbg )
+	cli? ( ^^ ( readline libedit ) )
+	!cli? ( ?? ( readline libedit ) )
+	truetype? ( gd zlib )
+	webp? ( gd zlib )
+	cjk? ( gd zlib )
+	exif? ( gd zlib )
+	xpm? ( gd zlib )
+	gd? ( zlib )
+	simplexml? ( xml )
+	soap? ( xml )
+	xmlrpc? ( xml iconv )
+	xmlreader? ( xml )
+	xmlwriter? ( xml )
+	xslt? ( xml )
+	ldap-sasl? ( ldap )
+	qdbm? ( !gdbm )
+	session-mm? ( session !threads )
+	mysql? ( || ( mysqli pdo ) )
+	firebird? ( pdo )
+	mssql? ( pdo )
+"
+
+PHP_MV="$(ver_cut 1)"
+
+php_install_ini() {
+	local phpsapi="${1}"
+
+	# work out where we are installing the ini file
+	php_set_ini_dir "${phpsapi}"
+
+	# Always install the production INI file, bug 611214.
+	local phpinisrc="php.ini-production-${phpsapi}"
+	cp php.ini-production "${phpinisrc}" || die
+
+	# default to /tmp for save_path, bug #282768
+	sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
+
+	# Set the extension dir
+	sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
+		-i "${phpinisrc}" || die
+
+	# Set the include path to point to where we want to find PEAR packages
+	sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
+
+	dodir "${PHP_INI_DIR#${EPREFIX}}"
+	insinto "${PHP_INI_DIR#${EPREFIX}}"
+	newins "${phpinisrc}" php.ini
+
+	elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
+	elog
+
+	dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
+	dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
+
+	if use opcache; then
+		elog "Adding opcache to $PHP_EXT_INI_DIR"
+		echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
+			 "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
+		dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
+			  "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
+	fi
+
+	# SAPI-specific handling
+	if [[ "${sapi}" == "fpm" ]] ; then
+		einfo "Installing FPM config files php-fpm.conf and www.conf"
+		insinto "${PHP_INI_DIR#${EPREFIX}}"
+		doins sapi/fpm/php-fpm.conf
+		insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
+		doins sapi/fpm/www.conf
+	fi
+
+	dodoc php.ini-{development,production}
+}
+
+php_set_ini_dir() {
+	PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
+	PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
+	PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
+}
+
+src_prepare() {
+	default
+
+	# In php-7.x, the FPM pool configuration files have been split off
+	# of the main config. By default the pool config files go in
+	# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
+	# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
+	# we'll install the pool configuration file "www.conf" there.
+	php_set_ini_dir fpm
+	sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
+		sapi/fpm/php-fpm.conf.in \
+		|| die 'failed to move the include directory in php-fpm.conf'
+
+	# Bug 669566 - necessary so that build tools are updated for commands like pecl
+	cp "${BROOT}/usr/share/aclocal/libtool.m4" build/ || die
+	eautoreconf
+}
+
+src_configure() {
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+	addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+	PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
+
+	# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
+	# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
+	local our_conf=(
+		--prefix="${PHP_DESTDIR}"
+		--mandir="${PHP_DESTDIR}/man"
+		--infodir="${PHP_DESTDIR}/info"
+		--libdir="${PHP_DESTDIR}/lib"
+		--with-libdir="$(get_libdir)"
+		--localstatedir="${EPREFIX}/var"
+		--without-pear
+		$(use_enable threads maintainer-zts)
+	)
+
+	our_conf+=(
+		$(use_with argon2 password-argon2 "${EPREFIX}/usr")
+		$(use_enable bcmath)
+		$(use_with bzip2 bz2 "${EPREFIX}/usr")
+		$(use_enable calendar)
+		$(use_enable coverage gcov)
+		$(use_enable ctype)
+		$(use_with curl)
+		$(use_enable xml dom)
+		$(use_with enchant)
+		$(use_enable exif)
+		$(use_with ffi)
+		$(use_enable fileinfo)
+		$(use_enable filter)
+		$(use_enable ftp)
+		$(use_with nls gettext "${EPREFIX}/usr")
+		$(use_with gmp gmp "${EPREFIX}/usr")
+		$(use_with mhash mhash "${EPREFIX}/usr")
+		$(use_with iconv iconv \
+			$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
+		$(use_enable intl)
+		$(use_enable ipv6)
+		$(use_enable json)
+		$(use_with kerberos)
+		$(use_with xml libxml)
+		$(use_enable unicode mbstring)
+		$(use_with ssl openssl)
+		$(use_enable pcntl)
+		$(use_enable phar)
+		$(use_enable pdo)
+		$(use_enable opcache)
+		$(use_with postgres pgsql "${EPREFIX}/usr")
+		$(use_enable posix)
+		$(use_with spell pspell "${EPREFIX}/usr")
+		$(use_enable simplexml)
+		$(use_enable sharedmem shmop)
+		$(use_with snmp snmp "${EPREFIX}/usr")
+		$(use_enable soap)
+		$(use_enable sockets)
+		$(use_with sodium)
+		$(use_with sqlite sqlite3)
+		$(use_enable sysvipc sysvmsg)
+		$(use_enable sysvipc sysvsem)
+		$(use_enable sysvipc sysvshm)
+		$(use_with tidy tidy "${EPREFIX}/usr")
+		$(use_enable tokenizer)
+		$(use_enable xml)
+		$(use_enable xmlreader)
+		$(use_enable xmlwriter)
+		$(use_with xmlrpc)
+		$(use_with xslt xsl)
+		$(use_with zip)
+		$(use_with zlib zlib "${EPREFIX}/usr")
+		$(use_enable debug)
+	)
+
+	# DBA support
+	if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
+		|| use qdbm || use lmdb || use tokyocabinet ; then
+		our_conf+=( "--enable-dba" )
+	fi
+
+	# DBA drivers support
+	our_conf+=(
+		$(use_with cdb)
+		$(use_with berkdb db4 "${EPREFIX}/usr")
+		$(use_enable flatfile)
+		$(use_with gdbm gdbm "${EPREFIX}/usr")
+		$(use_enable inifile)
+		$(use_with qdbm qdbm "${EPREFIX}/usr")
+		$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
+		$(use_with lmdb lmdb "${EPREFIX}/usr")
+	)
+
+	# Support for the GD graphics library
+	our_conf+=(
+		$(use_with truetype freetype)
+		$(use_enable cjk gd-jis-conv)
+		$(use_with gd jpeg)
+		$(use_with xpm)
+		$(use_with webp)
+	)
+	# enable gd last, so configure can pick up the previous settings
+	our_conf+=( $(use_enable gd) )
+
+	# IMAP support
+	if use imap ; then
+		our_conf+=(
+			$(use_with imap imap "${EPREFIX}/usr")
+			$(use_with ssl imap-ssl "${EPREFIX}/usr")
+		)
+	fi
+
+	# LDAP support
+	if use ldap ; then
+		our_conf+=(
+			$(use_with ldap ldap "${EPREFIX}/usr")
+			$(use_with ldap-sasl)
+		)
+	fi
+
+	# MySQL support
+	local mysqllib="mysqlnd"
+	local mysqlilib="mysqlnd"
+
+	our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
+
+	local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
+	if use mysql || use mysqli ; then
+		our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
+	fi
+
+	# ODBC support
+	our_conf+=(
+		$(use_with odbc unixODBC "${EPREFIX}/usr")
+		$(use_with iodbc)
+	)
+
+	# Oracle support
+	our_conf+=( $(use_with oci8-instant-client oci8) )
+
+	# PDO support
+	if use pdo ; then
+		our_conf+=(
+			$(use_with mssql pdo-dblib "${EPREFIX}/usr")
+			$(use_with mysql pdo-mysql "${mysqllib}")
+			$(use_with postgres pdo-pgsql)
+			$(use_with sqlite pdo-sqlite)
+			$(use_with firebird pdo-firebird "${EPREFIX}/usr")
+			$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
+			$(use_with oci8-instant-client pdo-oci)
+		)
+	fi
+
+	# readline/libedit support
+	our_conf+=(
+		$(use_with readline readline "${EPREFIX}/usr")
+		$(use_with libedit)
+	)
+
+	# Session support
+	if use session ; then
+		our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+	else
+		our_conf+=( $(use_enable session) )
+	fi
+
+	# Use pic for shared modules such as apache2's mod_php
+	our_conf+=( --with-pic )
+
+	# we use the system copy of pcre
+	# --with-external-pcre affects ext/pcre
+	# Many arches don't support pcre-jit
+	our_conf+=(
+		--with-external-pcre
+		--without-pcre-jit
+	)
+
+	# Catch CFLAGS problems
+	# Fixes bug #14067.
+	# Changed order to run it in reverse for bug #32022 and #12021.
+	replace-cpu-flags "k6*" "i586"
+
+	# Cache the ./configure test results between SAPIs.
+	our_conf+=( --cache-file="${T}/config.cache" )
+
+	# Support user-passed configuration parameters
+	our_conf+=( ${EXTRA_ECONF:-} )
+
+	# Support the Apache2 extras, they must be set globally for all
+	# SAPIs to work correctly, especially for external PHP extensions
+
+	mkdir -p "${WORKDIR}/sapis-build" || die
+	for one_sapi in $SAPIS ; do
+		use "${one_sapi}" || continue
+		php_set_ini_dir "${one_sapi}"
+
+		# The BUILD_DIR variable is used to determine where to output
+		# the files that autotools creates. This was all originally
+		# based on the autotools-utils eclass.
+		BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
+		cp -a "${S}" "${BUILD_DIR}" || die
+		cd "${BUILD_DIR}" || die
+
+		local sapi_conf=(
+			--with-config-file-path="${PHP_INI_DIR}"
+			--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
+		)
+
+		for sapi in $SAPIS ; do
+			case "$sapi" in
+				cli|cgi|embed|fpm|phpdbg)
+					if [[ "${one_sapi}" == "${sapi}" ]] ; then
+						sapi_conf+=( "--enable-${sapi}" )
+						if [[ "fpm" == "${sapi}" ]] ; then
+							sapi_conf+=(
+								$(use_with acl fpm-acl)
+								$(use_with systemd fpm-systemd)
+							)
+						fi
+					else
+						sapi_conf+=( "--disable-${sapi}" )
+					fi
+					;;
+
+				apache2)
+					if [[ "${one_sapi}" == "${sapi}" ]] ; then
+						sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
+					else
+						sapi_conf+=( --without-apxs2 )
+					fi
+					;;
+			esac
+		done
+
+		# Construct the $myeconfargs array by concatenating $our_conf
+		# (the common args) and $sapi_conf (the SAPI-specific args).
+		local myeconfargs=( "${our_conf[@]}" )
+		myeconfargs+=( "${sapi_conf[@]}" )
+
+		pushd "${BUILD_DIR}" > /dev/null || die
+		econf "${myeconfargs[@]}"
+		popd > /dev/null || die
+	done
+}
+
+src_compile() {
+	# snmp seems to run during src_compile, too (bug #324739)
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+	addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+	for sapi in ${SAPIS} ; do
+		if use "${sapi}"; then
+			cd "${WORKDIR}/sapis-build/$sapi" || \
+				die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
+			emake
+		fi
+	done
+}
+
+src_install() {
+	# see bug #324739 for what happens when we don't have that
+	addpredict /usr/share/snmp/mibs/.index #nowarn
+
+	# grab the first SAPI that got built and install common files from there
+	local first_sapi=""
+	for sapi in $SAPIS ; do
+		if use $sapi ; then
+			first_sapi=$sapi
+			break
+		fi
+	done
+
+	# Makefile forgets to create this before trying to write to it...
+	dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
+
+	# Install php environment (without any sapis)
+	cd "${WORKDIR}/sapis-build/$first_sapi" || die
+	emake INSTALL_ROOT="${D}" \
+		install-build install-headers install-programs
+
+	local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
+
+	# Create the directory where we'll put version-specific php scripts
+	keepdir "/usr/share/php${PHP_MV}"
+
+	local sapi="", file=""
+	local sapi_list=""
+
+	for sapi in ${SAPIS}; do
+		if use "${sapi}" ; then
+			einfo "Installing SAPI: ${sapi}"
+			cd "${WORKDIR}/sapis-build/${sapi}" || die
+
+			if [[ "${sapi}" == "apache2" ]] ; then
+				# We're specifically not using emake install-sapi as libtool
+				# may cause unnecessary relink failures (see bug #351266)
+				insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
+				newins ".libs/libphp${PHP_MV}$(get_libname)" \
+					   "libphp${PHP_MV}$(get_libname)"
+				keepdir "/usr/$(get_libdir)/apache2/modules"
+			else
+				# needed each time, php_install_ini would reset it
+				local dest="${PHP_DESTDIR#${EPREFIX}}"
+				into "${dest}"
+				case "$sapi" in
+					cli)
+						source="sapi/cli/php"
+						;;
+					cgi)
+						source="sapi/cgi/php-cgi"
+						;;
+					fpm)
+						source="sapi/fpm/php-fpm"
+						;;
+					embed)
+						source="libs/libphp${PHP_MV}$(get_libname)"
+						;;
+					phpdbg)
+						source="sapi/phpdbg/phpdbg"
+						;;
+					*)
+						die "unhandled sapi in src_install"
+						;;
+				esac
+
+				if [[ "${source}" == *"$(get_libname)" ]]; then
+					dolib.so "${source}"
+				else
+					dobin "${source}"
+					local name="$(basename ${source})"
+					dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
+				fi
+			fi
+
+			php_install_ini "${sapi}"
+
+			# construct correct SAPI string for php-config
+			# thanks to ferringb for the bash voodoo
+			if [[ "${sapi}" == "apache2" ]]; then
+				sapi_list="${sapi_list:+${sapi_list} }apache2handler"
+			else
+				sapi_list="${sapi_list:+${sapi_list} }${sapi}"
+			fi
+		fi
+	done
+
+	# Installing opcache module
+	if use opcache ; then
+		into "${PHP_DESTDIR#${EPREFIX}}"
+		dolib.so "modules/opcache$(get_libname)"
+	fi
+
+	# Install env.d files
+	newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
+	sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+	sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+
+	# set php-config variable correctly (bug #278439)
+	sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
+		"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
+
+	if use fpm ; then
+		if use systemd; then
+			systemd_newunit "${FILESDIR}/php-fpm_at.service" \
+							"php-fpm@${SLOT}.service"
+		else
+			systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
+							"php-fpm@${SLOT}.service"
+		fi
+	fi
+}
+
+src_test() {
+	echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+	PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
+	if [[ ! -x "${PHP_BIN}" ]] ; then
+		ewarn "Test phase requires USE=cli, skipping"
+		return
+	else
+		export TEST_PHP_EXECUTABLE="${PHP_BIN}"
+	fi
+
+	if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
+		export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
+	fi
+
+	if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
+		export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
+	fi
+
+	REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n  -d \
+					  "session.save_path=${T}" \
+					  "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
+					  "session.save_path=${T}"
+
+	for name in ${EXPECTED_TEST_FAILURES}; do
+		mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
+	done
+
+	local failed="$(find -name '*.out')"
+	if [[ ${failed} != "" ]] ; then
+		ewarn "The following test cases failed unexpectedly:"
+		for name in ${failed}; do
+			ewarn "  ${name/.out/}"
+		done
+	else
+		einfo "No unexpected test failures, all fine"
+	fi
+
+	if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
+		local passed=""
+		for name in ${EXPECTED_TEST_FAILURES}; do
+			[[ -f "${name}.diff" ]] && continue
+			passed="${passed} ${name}"
+		done
+		if [[ ${passed} != "" ]] ; then
+			einfo "The following test cases passed unexpectedly:"
+			for name in ${passed}; do
+				ewarn "  ${passed}"
+			done
+		else
+			einfo "None of the known-to-fail tests passed, all fine"
+		fi
+	fi
+}
+
+pkg_postinst() {
+	# Output some general info to the user
+	if use apache2 ; then
+		elog
+		elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
+		elog "your apache2 command. OpenRC users can append that string to"
+		elog "APACHE2_OPTS in /etc/conf.d/apache2."
+		elog
+		elog "The apache module configuration file 70_mod_php.conf is"
+		elog "provided (and maintained) by eselect-php."
+		elog
+	fi
+
+	# Create the symlinks for php
+	for m in ${SAPIS}; do
+		[[ ${m} == 'embed' ]] && continue;
+		if use $m ; then
+			local ci=$(eselect php show $m)
+			if [[ -z $ci ]]; then
+				eselect php set $m php${SLOT} || die
+				einfo "Switched ${m} to use php:${SLOT}"
+				einfo
+			elif [[ $ci != "php${SLOT}" ]] ; then
+				elog "To switch $m to use php:${SLOT}, run"
+				elog "    eselect php set $m php${SLOT}"
+				elog
+			fi
+		fi
+	done
+
+	# Remove dead symlinks for SAPIs that were just disabled. For
+	# example, if the user has the cgi SAPI enabled, then he has an
+	# eselect-php symlink for it. If he later reinstalls PHP with
+	# USE="-cgi", that symlink will break. This call to eselect is
+	# supposed to remove that dead link per bug 572436.
+	eselect php cleanup || die
+
+	if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
+	   elog "To build extensions for this version of PHP, you will need to"
+	   elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
+	   elog
+	fi
+
+	# Warn about the removal of PHP_INI_VERSION if the user has it set.
+	if [[ -n "${PHP_INI_VERSION}" ]]; then
+		ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
+		ewarn 'remove it from your configuration at your convenience. See'
+		ewarn
+		ewarn '  https://bugs.gentoo.org/611214'
+		ewarn
+		ewarn 'for more information.'
+	fi
+
+	elog "For details on how version slotting works, please see"
+	elog "the wiki:"
+	elog
+	elog "  https://wiki.gentoo.org/wiki/PHP"
+	elog
+}
+
+pkg_postrm() {
+	# This serves two purposes. First, if we have just removed the last
+	# installed version of PHP, then this will remove any dead symlinks
+	# belonging to eselect-php. Second, if a user upgrades slots from
+	# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
+	# his existing symlinks to point to the new 7.0 installation. The
+	# latter is bug 432962.
+	#
+	# Note: the eselect-php package may not be installed at this point,
+	# so we can't die() if this command fails.
+	eselect php cleanup
+}
diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
index 101f8258e7da..2d148d8189eb 100644
--- a/dev-lang/ruby/Manifest
+++ b/dev-lang/ruby/Manifest
@@ -12,14 +12,12 @@ AUX 2.5/011-no-gems.patch 3139 BLAKE2B ce05d6ef90001b3011167ba0827ef7852173fa508
 AUX 2.6/005_no-undefined-ext.patch 486 BLAKE2B 715f952cab863847f420afb020cac6819e4ab4e8f5527bdf550dd51eef37e272e7e89cbda5b6f9f137fdac89dfc5e99d42be8ae5712c255f11a0628cf07dc84d SHA512 6bbded9fce0c091b7cfb170c9dc2b0882b0e8bbf8fe31eaf596f3620853c8c75aa64c2648d5a72a0208a6ab6d711eb080a2d6aa98352933eda3b874bdd39cee8
 AUX 2.6/009_no-gems.patch 1261 BLAKE2B 359d0a73c374e5c464eb0343d33272244bb88ba200977007a93f3c3c776779a013174fc2c97717e4ae4a1495011d3baae80e68b07433eab1320955a49aed8b59 SHA512 1607b9c2021e5b5f08cf28c64d3f3ddd077bc47df02a353182a9bc70dc6831ea18e8681d9808bb6841939d64082ae4966081014ee110d2090ec67ffe8faa9b8b
 AUX 2.6/010-default-gem-location.patch 688 BLAKE2B 4c2074d69b9fe5258a2fe0e38bb501a39f34ad1fa08ef338224edba1f06073138cbe3d831ecdf9910c989a7f0a1c6c6b73ced0d8ff212207a3a3df5f4d90b5de SHA512 65206a6ca42ade0413ae1467f41082f4a93b3166644d2504cff3d280d23da02fd41aea5aca69dd43f6081b436db90a5b1e98725d8fa51519ca302c02ec526ad7
-DIST ruby-2.4.5.tar.xz 10064712 BLAKE2B 0846125e617b43ea302b4c5309b20503577937865d445a6fee766323a188aa552d3a13740c3d38c7be812b19bffb2474021cb7b368cc144d51ea771552f62769 SHA512 658f676c623109f4c7499615e191c98c3dd72cfcaeeaf121337d0b8a33c5243145edd50ec5e2775f988e3cd19788984f105fa165e3049779066566f67172c1b4
 DIST ruby-2.4.6.tar.xz 10005544 BLAKE2B 2af984d96dad4d7ef4d467b317bd4bb54b0614d96619377bc46f7588cd1c72bee47202b61d6ec54f00113fd25672d2831221dbf0a4491aa271541a34c634ee84 SHA512 eafb2257747f99e2ed262af142e71175b70f7cceaa4d1253b92c8337f075a9a58a2d93b029d75e11a9b124f112a8f0983273b2b30afc147b5cf71a8dbb5fa0ba
 DIST ruby-2.5.5.tar.xz 11459832 BLAKE2B ced1105a87e7df8f82a65ca8d1d329d5a9d110d2f3f88b27a79262c4ac1484dda16d8646c0c03f18c1bb25f8b154075eb03a0614355ec62f677c2fa56ab3c956 SHA512 06b1d58536ebfacb7b56c1e6ed4b8ab816fadc4f48c845a452554cd262e7908199a30e5793f3cbaec2db56a8803aa5c6089abf7bf06c8fc47867e97870b7dfec
 DIST ruby-2.6.2.tar.xz 11889840 BLAKE2B 817919c078869c2ad8d5c9d8c8b7ee77e8b0e3339c2ef662a94a666a859f762fa63c6f8534027abd368e91fe4e3e1fe68fa984cbf12f76cff8c0c66f0114914f SHA512 13f7d7b483a037378eac4bf4bebddc21d69f4e19e6bbb397dd53e7518037ae9a3aa5b41fc20bf1fe410803c6efc3a6a65a65af47648d3a93713f75cfe885326a
 DIST ruby-2.6.3.tar.xz 11904360 BLAKE2B 8113e5a19b967cdf995a3c8d3c83aeab3bf89e975d3b039c64259e97f20dbe9ebd96ada093f9d330516d16ef78bb0ecbbac8f3facd467aa13f1f70b23b992f82 SHA512 959a613f5cf5b3185a1d7a7ba0e1921166b3930f30461b391b1c9fcfe396f56dc3c736123dfc7b4e72c32a97dc5a1eb1fd7f09bcc3793a3c5526f6644ba421c8
-EBUILD ruby-2.4.5.ebuild 6638 BLAKE2B 60776351e5ae33272a850e56380e97e31e847ecc2465af1fbd248412420fd059d64d874b405def2a27cdb0607338adb26d23832370a3bd2570e2997b14a75763 SHA512 8dd3dd6f0eed58577c126da3b6d2a777b5b31b1d445acaf887cd5f47e6ce3cb65317903a895bf0655e4c82f2d1ac8aec4bf6d72b818cbf788de844818839f2ca
-EBUILD ruby-2.4.6.ebuild 6643 BLAKE2B eb4ab8904fe037b5eefe491fd425bc5e4cfeedd66be23d410de8469b299ea50ac5beef77de7410eabce783f32f236bcd9dbb1409eadc7200506126e9237bafff SHA512 0c2fd2ec43e77372e2afe91547c903bb868f5fef82c6dcea030aacd54cc59c8c6a5a8868bb57a7c37982febddac2e8a153a7a8f7159084385d2659a5e18829b5
-EBUILD ruby-2.5.5.ebuild 6441 BLAKE2B 97c692de717b9d44e0d9b8d103724ec38d21dff92abf72cadd0d71be84a06571de25e03df7b7504d5454d2a285d2e4d35111d86b0243d4e5c354e08286160af4 SHA512 f92219d85d450f8a4fbc6a234bde80e697a5227039648a57cae6232072311298f9f347ee38cfb7bc3a3d05d758fce3a1e19de367fa40b1b3c545f5c4895a7957
-EBUILD ruby-2.6.2.ebuild 6890 BLAKE2B 5e5ad0a30bbdd407d02c00ccca1aa8c70c9be01eb24dd82cc79faa9b2b80fb34bd36440bf80201599f99a1272dddd41f474bdfc2b860349f5d0fdcc2424d0591 SHA512 6235530ab7b7d9640875b1362c971325e481d5d50175c1dda17eb0ad26a10d323a43cabec8f7d156aac050e554b24626af3ef2bfd0d19879fa5323efabc88a55
-EBUILD ruby-2.6.3.ebuild 6890 BLAKE2B 5e5ad0a30bbdd407d02c00ccca1aa8c70c9be01eb24dd82cc79faa9b2b80fb34bd36440bf80201599f99a1272dddd41f474bdfc2b860349f5d0fdcc2424d0591 SHA512 6235530ab7b7d9640875b1362c971325e481d5d50175c1dda17eb0ad26a10d323a43cabec8f7d156aac050e554b24626af3ef2bfd0d19879fa5323efabc88a55
+EBUILD ruby-2.4.6.ebuild 6643 BLAKE2B b2fd05964cb115f3a0b7509f176b7fb855c2feb666dd46d12bc3d7f532e9214152406df18ce2bc7081e0a0e68199e55c91c8a18aec70280e0416517c42110ea3 SHA512 f218259c93463e4a360ced99544fd147b77826ac0b40450e6461c5f34425cee7e50bcce316622dee56f71168f74720b77cd04aed80add2839b5c0c805b31af5f
+EBUILD ruby-2.5.5.ebuild 6442 BLAKE2B f53d59be9bb3d57449768e68ac61f7eef3b3112f2b4f27bd627165cc6c318cde2fd9f7d91131ef04190ce8dc9fa6895528a9274c005b88318d51e71a18653050 SHA512 2529e89516e983b128e5eefe71bb20565e41a9a300e9b521ea27fb5358916ea499b2925f5d2eb0c0616ebc509551a5026fa89a36442f4deda533d743deee339f
+EBUILD ruby-2.6.2.ebuild 6891 BLAKE2B 5e59babfae786171568cfad90b3111cfc543667a0e41afafaa453c9447c21377c9cc20e6ffaf1d5fe6621d8664df73edf48913818b72dd725aef076164c962cc SHA512 c7dd27222c81ef318cd42f2222912ab9eab62015687d7589306457f5001f026b0f330317ce1115b78ddd23278a333c0c3b8052cd37f900966cf1f9b6652c601a
+EBUILD ruby-2.6.3.ebuild 6891 BLAKE2B 5e59babfae786171568cfad90b3111cfc543667a0e41afafaa453c9447c21377c9cc20e6ffaf1d5fe6621d8664df73edf48913818b72dd725aef076164c962cc SHA512 c7dd27222c81ef318cd42f2222912ab9eab62015687d7589306457f5001f026b0f330317ce1115b78ddd23278a333c0c3b8052cd37f900966cf1f9b6652c601a
 MISC metadata.xml 445 BLAKE2B c3b5fae44894da3c78d024a376522aa2ef486cd9435351ddd7fa8b7c9afdc36969251a3b043d5890a368616f0736ae80e2a65a7342b327f30eb3497c5c02d28a SHA512 3818ac938dd6f8a05e18662f83af542fb29af00a476362592afa86bc537a74ddd0abe275784340539b2cd38f97ad1fce8b8c427c65d61c05a90b2118f2d16a91
diff --git a/dev-lang/ruby/ruby-2.4.5.ebuild b/dev-lang/ruby/ruby-2.4.5.ebuild
deleted file mode 100644
index 549506214159..000000000000
--- a/dev-lang/ruby/ruby-2.4.5.ebuild
+++ /dev/null
@@ -1,230 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic multilib
-
-MY_P="${PN}-$(ver_cut 1-3)"
-S=${WORKDIR}/${MY_P}
-
-SLOT=$(ver_cut 1-2)
-MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
-RUBYVERSION=${SLOT}.0
-
-DESCRIPTION="An object-oriented scripting language"
-HOMEPAGE="https://www.ruby-lang.org/"
-SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz"
-
-LICENSE="|| ( Ruby-BSD BSD-2 )"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
-
-RDEPEND="
-	berkdb? ( sys-libs/db:= )
-	gdbm? ( sys-libs/gdbm:= )
-	jemalloc? ( dev-libs/jemalloc )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0= )
-		libressl? ( dev-libs/libressl )
-	)
-	socks5? ( >=net-proxy/dante-1.1.13 )
-	tk? (
-		dev-lang/tcl:0=[threads]
-		dev-lang/tk:0=[threads]
-	)
-	dev-libs/libyaml
-	virtual/libffi:=
-	sys-libs/readline:0=
-	sys-libs/zlib
-	>=app-eselect/eselect-ruby-20161226
-	!<dev-ruby/rdoc-3.9.4
-	!<dev-ruby/rubygems-1.8.10-r1"
-
-DEPEND="${RDEPEND}"
-
-BUNDLED_GEMS="
-	>=dev-ruby/did_you_mean-1.1.0:2.4[ruby_targets_ruby24]
-	>=dev-ruby/minitest-5.10.1[ruby_targets_ruby24]
-	>=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby24]
-	>=dev-ruby/power_assert-0.4.1[ruby_targets_ruby24]
-	>=dev-ruby/rake-12.0.0[ruby_targets_ruby24]
-	>=dev-ruby/test-unit-3.2.3[ruby_targets_ruby24]
-	>=dev-ruby/xmlrpc-0.2.1[ruby_targets_ruby24]
-"
-
-PDEPEND="
-	${BUNDLED_GEMS}
-	virtual/rubygems[ruby_targets_ruby24]
-	>=dev-ruby/json-2.0.2[ruby_targets_ruby24]
-	rdoc? ( >=dev-ruby/rdoc-5.1.0[ruby_targets_ruby24] )
-	xemacs? ( app-xemacs/ruby-modes )"
-
-src_prepare() {
-	eapply "${FILESDIR}"/${SLOT}/{002,005,009}*.patch
-
-	einfo "Unbundling gems..."
-	cd "$S"
-	# Remove bundled gems that we will install via PDEPEND, bug
-	# 539700. Use explicit version numbers to ensure rm fails when they
-	# change so we can update dependencies accordingly.
-	rm -f gems/{did_you_mean-1.1.0,minitest-5.10.1,net-telnet-0.1.1,power_assert-0.4.1,rake-12.0.0,test-unit-3.2.3,xmlrpc-0.2.1}.gem || die
-
-	einfo "Removing bundled libraries..."
-	rm -fr ext/fiddle/libffi-3.2.1 || die
-
-	# Fix a hardcoded lib path in configure script
-	sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
-		configure.in || die "sed failed"
-
-	eapply_user
-
-	eautoreconf
-}
-
-src_configure() {
-	local modules= myconf=
-
-	# -fomit-frame-pointer makes ruby segfault, see bug #150413.
-	filter-flags -fomit-frame-pointer
-	# In many places aliasing rules are broken; play it safe
-	# as it's risky with newer compilers to leave it as it is.
-	append-flags -fno-strict-aliasing
-	# SuperH needs this
-	use sh && append-flags -mieee
-
-	# Socks support via dante
-	if use socks5 ; then
-		# Socks support can't be disabled as long as SOCKS_SERVER is
-		# set and socks library is present, so need to unset
-		# SOCKS_SERVER in that case.
-		unset SOCKS_SERVER
-	fi
-
-	# Increase GC_MALLOC_LIMIT if set (default is 8000000)
-	if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
-		append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
-	fi
-
-	# ipv6 hack, bug 168939. Needs --enable-ipv6.
-	use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
-
-	# Determine which modules *not* to build depending in the USE flags.
-	if ! use berkdb ; then
-		modules="${modules},dbm"
-	fi
-	if ! use gdbm ; then
-		modules="${modules},gdbm"
-	fi
-	if ! use ssl ; then
-		modules="${modules},openssl"
-	fi
-	if ! use tk ; then
-		modules="${modules},tk"
-	fi
-
-	# Provide an empty LIBPATHENV because we disable rpath but we do not
-	# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
-	# #564272
-	INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
-		--program-suffix=${MY_SUFFIX} \
-		--with-soname=ruby${MY_SUFFIX} \
-		--docdir=${EPREFIX}/usr/share/doc/${P} \
-		--enable-shared \
-		--enable-pthread \
-		--disable-rpath \
-		--with-out-ext="${modules}" \
-		$(use_with jemalloc jemalloc) \
-		$(use_enable socks5 socks) \
-		$(use_enable doc install-doc) \
-		--enable-ipv6 \
-		$(use_enable static-libs static) \
-		$(use_enable static-libs install-static-library) \
-		$(use_with static-libs static-linked-ext) \
-		$(use_enable debug) \
-		${myconf} \
-		--enable-option-checking=no \
-		|| die "econf failed"
-}
-
-src_compile() {
-	emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
-}
-
-src_test() {
-	emake -j1 V=1 test || die "make test failed"
-
-	elog "Ruby's make test has been run. Ruby also ships with a make check"
-	elog "that cannot be run until after ruby has been installed."
-	elog
-	if use rubytests; then
-		elog "You have enabled rubytests, so they will be installed to"
-		elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
-		elog "than root, and you must place them into a writeable directory."
-		elog "Then call: "
-		elog
-		elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
-	else
-		elog "Enable the rubytests USE flag to install the make check tests"
-	fi
-}
-
-src_install() {
-	# Remove the remaining bundled gems. We do this late in the process
-	# since they are used during the build to e.g. create the
-	# documentation.
-	rm -rf ext/json || die
-
-	# Ruby is involved in the install process, we don't want interference here.
-	unset RUBYOPT
-
-	local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
-
-	LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
-	RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
-	for d in $(find "${S}/ext" -type d) ; do
-		RUBYLIB="${RUBYLIB}:$d"
-	done
-	export LD_LIBRARY_PATH RUBYLIB
-
-	emake V=1 DESTDIR="${D}" install || die "make install failed"
-
-	# Remove installed rubygems and rdoc copy
-	rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
-	rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
-	rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
-	rm -rf "${ED}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
-
-	if use doc; then
-		make DESTDIR="${D}" install-doc || die "make install-doc failed"
-	fi
-
-	if use examples; then
-		insinto /usr/share/doc/${PF}
-		doins -r sample
-	fi
-
-	dodoc ChangeLog NEWS doc/NEWS* README* || die
-
-	if use rubytests; then
-		pushd test
-		insinto /usr/share/${PN}-${SLOT}/test
-		doins -r .
-		popd
-	fi
-}
-
-pkg_postinst() {
-	if [[ ! -n $(readlink "${EROOT}"usr/bin/ruby) ]] ; then
-		eselect ruby set ruby${MY_SUFFIX}
-	fi
-
-	elog
-	elog "To switch between available Ruby profiles, execute as root:"
-	elog "\teselect ruby set ruby(23|24|...)"
-	elog
-}
-
-pkg_postrm() {
-	eselect ruby cleanup
-}
diff --git a/dev-lang/ruby/ruby-2.4.6.ebuild b/dev-lang/ruby/ruby-2.4.6.ebuild
index 877d67bc86d9..5702839e6bda 100644
--- a/dev-lang/ruby/ruby-2.4.6.ebuild
+++ b/dev-lang/ruby/ruby-2.4.6.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/"
 SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz"
 
 LICENSE="|| ( Ruby-BSD BSD-2 )"
-KEYWORDS="alpha amd64 ~arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
 IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
 
 RDEPEND="
@@ -215,7 +215,7 @@ src_install() {
 }
 
 pkg_postinst() {
-	if [[ ! -n $(readlink "${EROOT}"usr/bin/ruby) ]] ; then
+	if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
 		eselect ruby set ruby${MY_SUFFIX}
 	fi
 
diff --git a/dev-lang/ruby/ruby-2.5.5.ebuild b/dev-lang/ruby/ruby-2.5.5.ebuild
index 813475e31ff0..4d664689d02e 100644
--- a/dev-lang/ruby/ruby-2.5.5.ebuild
+++ b/dev-lang/ruby/ruby-2.5.5.ebuild
@@ -210,7 +210,7 @@ src_install() {
 }
 
 pkg_postinst() {
-	if [[ ! -n $(readlink "${EROOT}"usr/bin/ruby) ]] ; then
+	if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
 		eselect ruby set ruby${MY_SUFFIX}
 	fi
 
diff --git a/dev-lang/ruby/ruby-2.6.2.ebuild b/dev-lang/ruby/ruby-2.6.2.ebuild
index 9ab0d7c1a5d6..6eec8d83e2ab 100644
--- a/dev-lang/ruby/ruby-2.6.2.ebuild
+++ b/dev-lang/ruby/ruby-2.6.2.ebuild
@@ -222,7 +222,7 @@ src_install() {
 }
 
 pkg_postinst() {
-	if [[ ! -n $(readlink "${EROOT}"usr/bin/ruby) ]] ; then
+	if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
 		eselect ruby set ruby${MY_SUFFIX}
 	fi
 
diff --git a/dev-lang/ruby/ruby-2.6.3.ebuild b/dev-lang/ruby/ruby-2.6.3.ebuild
index 9ab0d7c1a5d6..6eec8d83e2ab 100644
--- a/dev-lang/ruby/ruby-2.6.3.ebuild
+++ b/dev-lang/ruby/ruby-2.6.3.ebuild
@@ -222,7 +222,7 @@ src_install() {
 }
 
 pkg_postinst() {
-	if [[ ! -n $(readlink "${EROOT}"usr/bin/ruby) ]] ; then
+	if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
 		eselect ruby set ruby${MY_SUFFIX}
 	fi
 
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 3a7a12b21fe8..48630f710573 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,6 +1,8 @@
 AUX moz38-dont-hardcode-libc-soname.patch 637 BLAKE2B d78f53814955c3e0842040f47330d8216b3f496574fadc045294b534f2ec7d049b14564cb495c37ae2d084db2f5671e447d1d98aa19a367f8b96ec97201b4f30 SHA512 f3d447996da3bf445f082a0b5c3018eb618b6b08a49bc43f275dc6cc77d7d906928e99264378472e96213df8f8b5d279a0af72d9d6a0a3417b266d7752c7f1fd
 AUX spidermonkey-1.8.5-LTO.patch 1886 BLAKE2B 28559662306681570ed7b910190da9042a7724a5d9fda0960ebe36039e994b56b65f103095381a8838db54e2ebdd5b8bc3f0f7d500f338907624ca448695a2f1 SHA512 8c44683370f7a919a930dc505278240164b1bea35cd0408ce7d880f56603abde9799aea3bf35f05bd080b214d5d0b944dd004ef5e157607bbb3e679f3ff2c574
 AUX spidermonkey-52.0-fix-alpha-bitness.patch 836 BLAKE2B bf89aadfdceab9d1460c31b496618dc19d2461d27e0713887d8c59b7a565a70d38cbaa2ca099b50555417beba54c2b207f80cf13ba633da35be7fab6b3c41faf SHA512 67ccafd8e2b84d59d13ff93bd12930b4804f8cf64cc896a4edf99c962481f583866ea6c4f84b3fd9d1093ad8ca7d23712615470dfadb57d293258754dd612484
+AUX spidermonkey-52.0-gcc9-overflow.patch 821 BLAKE2B c35c5a37b40e86d1a23588aebd9b53e81e0a70b01e969bc54c24c68a8adef567d03833e1afa8a02d1659f373226958b8ef3ce84982a8ba24d18fa28a96aa6e40 SHA512 6173486c4d28cb727096a470b22b6b98c675ee355934bf134882a5d068ef492e4cd3519e7da293eae756d5b9cb9950ffd4b1723c6a47de6493491a4bc3573f3b
+AUX spidermonkey-60.5.2-ia64-support.patch 1615 BLAKE2B bd2ae36194bdb6a17638ec500e5211abb9700f2b7c5056b5be51e8e54d59326a5c9f0cb6d2d6fa56dd946dba264635e6d75e9b4ed52103c7904df19d33257c7d SHA512 71f2a0f27910ae086910f6599985a32ad2fdedeffc9c4c6baa446f4856dee74051fa158cc0552a3f21210098e0d006a0b5d781437fded80969e1edf23c04b9e0
 AUX spidermonkey-perl-defined-array-check.patch 341 BLAKE2B e11a74cc2afbea5e39ec5f3fb4c108278a8b71b57ce71644184bc4e19188059f6cb9c164ab87877605028241ed0b68a1447414f1aa0f5453fa26a603ecd4f6a6 SHA512 5d178b68cf0744da874624da79cd31555bd882aed205e697a3f0bfc3cb91a149d74da79b7af5883ea5a23e1d1692753ebfda0d83e7a25ac000105849db5c1548
 DIST js-1.7.0.tar.gz 1165607 BLAKE2B 61749e10886bbb9e4958a41925fae8dcbd7d943b9bf838878368c30e26ba61f300bc2ec37982653b87fedf76707dda2ffd510282de4bce87d1da11ca42fa108c SHA512 9d9fbd9c1dae969ca19ddb0f977ac56f3e0479ec393b859de252fcdd8b7fc325e80399073540884ed365ce56a3219be34c0db9300d5e50f32969660c90527e51
 DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718
@@ -18,11 +20,11 @@ DIST spidermonkey-slot38-patches-01.tar.xz 7472 BLAKE2B 7585aa6f5a84d6ae21e41137
 DIST spidermonkey-slot45-patches-01.tar.xz 5092 BLAKE2B 0188a179fc741ab84a93aae1e77f8b765868ca716b8879661bfa678aef918998c9488db3b866a13c79ae28edb43ac0ebb10345b0471b717c4174c61cba9646bc SHA512 d52f038a7b4f7b410b5a1f94a55962adafc5906e7d85f605f3fe45ad49417c2b9d58d853a81b5d2395a2842c9780992d5a2c1a0e67aa77fb09f21aff9aeb0f7a
 EBUILD spidermonkey-1.7.0-r3.ebuild 1544 BLAKE2B 6de699a424a3db9dc3a30ad690d8991fef0387b1a87479b46301bba6cef602a67829b4ef4d36a0d58bad6b7e7b4a71d8fb3ae7312b8a2abae09b2874d56f4378 SHA512 abd9fbd84c61025a5eb1f9777179a3e49daa0ff9ad404ddd442e9a8ec0fb18cf279a7b0361616a340ebcf7ccc73883db09d1b3ed31d0adbf34124584cd7fac26
 EBUILD spidermonkey-1.8.5-r6.ebuild 4443 BLAKE2B 7fb0ece3fa8d690a012464feb74db7d900b225b47f9e5099940c9f85cad13d35e23b905462a90111a96b33389bc04fdc935b5297e3b971b171a0b13c93cdc4f2 SHA512 9e8a034549e8bcf75ffc2bc33a18b5aac3ecd85bdb7e5d69546f204f50fb7e2c7f6d675dea4c9347141549bcd562720376fbe0b96406c9ca7ec4f7d8b202f4c5
-EBUILD spidermonkey-1.8.5-r7.ebuild 3805 BLAKE2B 8e54cc32eaeaf52e20a5779c85a6660d647cd84204e3586a1446d0dfd196f2090ddcddddc0a89c1dd5971b87321ee59786d2e20fa3049074849c7da0e761aa9c SHA512 47bfb1d78871b7de1032c0af03e807177e7db0919e0d1e8e88d57b40472d9578276e474290a7ae932477ef114a8472c663d7fa4903c87108020379246d98c212
+EBUILD spidermonkey-1.8.5-r7.ebuild 3803 BLAKE2B 9d3a65c0405904f4e8f0f1ac83c28441203947c918b57e760c16c047c06a93d61b71022f0a66b55c8694e7c8dc544f63d865f1c06e0651198be10a82c6c38553 SHA512 178ab1f5d55f07b44584a372fa99f27cbeb92842235c4c1747a24e73490a3622eebf1c9d8499d06759193bf5cccb2d6058d9fa608e785100d4cc80b8d95681ce
 EBUILD spidermonkey-1.8.5-r8.ebuild 3843 BLAKE2B 1341cdb05d788b2cb55483340182fb933a476f6cbd2fdf6c3b18e9e3ab3569c286fd1f4b030dd539555ed8303e5c85caa530496d4676a7746ce07010fd690a24 SHA512 261f63aca868ac6fa45dfbe566a31e9cae46a245ef844e015fb8fbe045f45f1adad32aef9c6f6a4253d960fc35ec88a194c9b106a0df094dc4b5b14876606995
 EBUILD spidermonkey-17.0.0-r5.ebuild 3563 BLAKE2B 4b5294071559ee1e8487dfa5df388e17fb357ec8898f6e4390c1d3540a89647df04245e4c33706e52080236f9fcec7422a2cd0463f1f78feca1afc42f1d29e40 SHA512 6546f0c8bc2e7b1baecd6d616550977d83079c71ee973ab811a9cede0612d95b892a5f4d02a4a4733b5e90fff9795cdf50531e41f278fa210c988467931433bb
 EBUILD spidermonkey-38.3.0.ebuild 3869 BLAKE2B 261c49b9ab0c2f16fc782638b820e7ea34e9f09009a9ea9912baa1645a7a75fca5909d15482f53a55f17b72a10ad7fe27072976e4202b7381d57ede955ff0abf SHA512 c001b60b127eccbeb8e2f44f5995ad28496232a2eb663672876457476253341f2219e168784315f540c486558b97e9f0b5e49d914c39e1823a5b22ad14194ca8
 EBUILD spidermonkey-45.0.2.ebuild 3980 BLAKE2B 8f5b8aaba2c9ffc9adf16ff14216375434ddb3511add9817022e2913b41b415fdb3a2899ab341dc3e389460dbdf6d00cfb86270e8fd7a8de78eda6bbfc73b6ee SHA512 f99a6f6385e9cd39b8f6acb63b4c5f6e05250eb475e7906c6b06251c2a3de593d2617cbed3ef9f5c13b6009bcac6cb9b989ec362e0bfc6e351adcbec033d2806
-EBUILD spidermonkey-52.9.1_pre1.ebuild 4240 BLAKE2B ec3b753116391474fa502fe3dc099de67359560a241065b3561bc3a077c81603232d5c64529d2859b01410d6034851fcb34bcf1948c7ea192764e57c357ee247 SHA512 2b316ed24ac70a488f6c645646f8bcae883fa65c391fa0568fee1f82053974cbd5dbd1fdddf0b016ccace4393e5d51bb796ae1daa4b9703a01472681f9e9bb06
-EBUILD spidermonkey-60.5.2_p0-r2.ebuild 3808 BLAKE2B 3c0b02bd9c5c0843bfbc2b9cf729345f14dd82d2716463412ae643e063756241505e8bc50ceaf93bf5839a91062184763b32345dc655b55128fa0981d76143bd SHA512 aa1d4d6eeae335a0b6075207260c4a3f63d887e5704b2b4e37988a4899a7b125369314bf4f5e079dea4efe3afa8744f0b991d050fa4e4578765d913780929d14
+EBUILD spidermonkey-52.9.1_pre1.ebuild 4287 BLAKE2B 9f60488c2bbe7f6fd7ec784ff5154bd37b84576585247c3502c052009d09a896848e9a2d706fa44f7b97d9650d497ca89d271409f0309c71357acd2e30dd8fd2 SHA512 de6bbac4288887649076c16e6a204a6f62e3e2d5fdfad67a3d5f49a15da91dc9a0dad3584c2f4fd4e38c612d96c940c21a48a832c6c735a99ad1f336c0131b1f
+EBUILD spidermonkey-60.5.2_p0-r2.ebuild 3860 BLAKE2B aabc2ed209982cdc3fdb37f4927f85a266c9ec2d82965bcbe4d819df3bb6f215192c599002a668c47dadbe5d9f24b9eb5a39e73ecf7f3ce45be52d212c5b35e9 SHA512 3cfbd0f916219852469a011f8d0f2dcbc15e618336675904b5266aa32ca650561bbcecc1b145bdf24850208f8b8a0deab189be39ffc2af41b68066ebd4c3d3aa
 MISC metadata.xml 906 BLAKE2B 8557bb4bfdce358f543be3ff571177d61beb5713ba6fa4c24c8e91522ca30f8c5b1bf42abd0324164cc6febd04d07c1ae3a311d6d68d62992be6368c20650ca9 SHA512 a411a781913fe81801799d4d801645fd8029ee4fb727431589cb948f97464edd828b8d86969b2207880432db8e8e627fad829fd95394fa121bb0ae97ae8249b0
diff --git a/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch b/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
new file mode 100644
index 000000000000..c7eb0f62b280
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
@@ -0,0 +1,24 @@
+From 311fc467219ab6ee9eed60759b58a8066c4bf36d Mon Sep 17 00:00:00 2001
+From: 
+Date: Thu, 25 Jul 2019 10:00:33 -0500
+Subject: [PATCH] gcc-9 overflow fix
+
+---
+ js/src/jsapi-tests/testPrintf.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/js/src/jsapi-tests/testPrintf.cpp b/js/src/jsapi-tests/testPrintf.cpp
+index 51486856..03cc118d 100644
+--- a/js/src/jsapi-tests/testPrintf.cpp
++++ b/js/src/jsapi-tests/testPrintf.cpp
+@@ -55,7 +55,6 @@ BEGIN_TEST(testPrintf)
+     CHECK(print_one("27270", "%zu", (size_t) 27270));
+     CHECK(print_one("27270", "%" PRIuSIZE, (size_t) 27270));
+     CHECK(print_one("hello", "he%so", "ll"));
+-    CHECK(print_one("(null)", "%s", zero()));
+     CHECK(print_one("0", "%p", (char *) 0));
+     CHECK(print_one("h", "%c", 'h'));
+     CHECK(print_one("1.500000", "%f", 1.5f));
+-- 
+2.22.0
+
diff --git a/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch b/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch
new file mode 100644
index 000000000000..90c8a4c9da3b
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch
@@ -0,0 +1,44 @@
+From 35d787c782a075c0a01e29605d254950fd1e81a6 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Thu, 25 Jul 2019 10:17:39 -0500
+Subject: [PATCH] Add support for ia64 atomic-ops
+
+Signed-off-by: Jory Pratt <anarchy@gentoo.org>
+---
+ js/src/jit/AtomicOperations.h                    | 2 ++
+ js/src/jit/none/AtomicOperations-feeling-lucky.h | 6 ++++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
+index 3501e65b..44c3f358 100644
+--- a/js/src/jit/AtomicOperations.h
++++ b/js/src/jit/AtomicOperations.h
+@@ -393,6 +393,8 @@ inline bool AtomicOperations::isLockfreeJS(int32_t size) {
+ #include "jit/none/AtomicOperations-feeling-lucky.h"
+ #elif defined(__s390__) || defined(__s390x__)
+ #include "jit/none/AtomicOperations-feeling-lucky.h"
++#elif defined(__ia64__)
++#include "jit/none/AtomicOperations-feeling-lucky.h"
+ #else
+ #error "No AtomicOperations support provided for this platform"
+ #endif
+diff --git a/js/src/jit/none/AtomicOperations-feeling-lucky.h b/js/src/jit/none/AtomicOperations-feeling-lucky.h
+index c0b43699..a3f4497e 100644
+--- a/js/src/jit/none/AtomicOperations-feeling-lucky.h
++++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h
+@@ -80,6 +80,12 @@
+ #define GNUC_COMPATIBLE
+ #endif
+ 
++#ifdef __ia64__
++#define HAS_64BIT_ATOMICS
++#define HAS_64BIT_LOCKFREE
++#define GNUC_COMPATIBLE
++#endif
++
+ // The default implementation tactic for gcc/clang is to use the newer
+ // __atomic intrinsics added for use in C++11 <atomic>.  Where that
+ // isn't available, we use GCC's older __sync functions instead.
+-- 
+2.22.0
+
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r7.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r7.ebuild
index 8c71d901d9d9..ccbfae5d6171 100644
--- a/dev-lang/spidermonkey/spidermonkey-1.8.5-r7.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r7.ebuild
@@ -19,7 +19,7 @@ SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz
 
 LICENSE="NPL-1.1"
 SLOT="0/mozjs185"
-KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
 IUSE="debug minimal static-libs test"
 
 S="${WORKDIR}/${MY_P}"
diff --git a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
index b00a1c665fe2..6c3a0c4c10db 100644
--- a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
@@ -16,7 +16,7 @@ SRC_URI="http://ftp.mozilla.org/pub/spidermonkey/prereleases/52/pre1/mozjs-52.9.
 
 LICENSE="NPL-1.1"
 SLOT="52"
-KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~x86-fbsd"
+KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 s390 ~sh x86 ~x86-fbsd"
 IUSE="debug minimal +system-icu test"
 
 RESTRICT="ia64? ( test )"
@@ -49,6 +49,7 @@ src_prepare() {
 	eapply "${WORKDIR}/${PN}"
 	eapply "${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch
 	eapply "${FILESDIR}"/${PN}-52.0-fix-alpha-bitness.patch
+	eapply "${FILESDIR}"/${PN}-52.0-gcc9-overflow.patch
 
 	eapply_user
 
diff --git a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild
index 3bc29e90ad3e..71514a2c29f2 100644
--- a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://dev.gentoo.org/~axs/distfiles/${MY_P}.tar.bz2
 
 LICENSE="NPL-1.1"
 SLOT="60"
-KEYWORDS="alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~x86-fbsd"
 IUSE="debug +jit minimal +system-icu test"
 
 RESTRICT="ia64? ( test )"
@@ -46,6 +46,7 @@ pkg_setup(){
 
 src_prepare() {
 	eapply "${WORKDIR}/${PN}"
+	eapply "${FILESDIR}/${PN}-60.5.2-ia64-support.patch"
 
 	eapply_user
 
diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest
index 31c01233f9ff..d7783c075a85 100644
--- a/dev-lang/swi-prolog/Manifest
+++ b/dev-lang/swi-prolog/Manifest
@@ -1,23 +1,20 @@
 DIST swi-prolog-7.4.2-gentoo-patchset-3.tar.gz 3256 BLAKE2B d7997d7307db738f0948a89f5e1cee195be4424737e50df915a293c7cb1b3bc1ce09ebd372e8c5f24c95df7335676f12cdc04749de25396eac71471704cfc579 SHA512 bc1b408e311d10ab59fa221bf5ef3d3cb1003a3edcdd13fd000cbc647117458e1f130e960cc37968481ccc2047529ca128159fac8e0ee75114022ed439905cce
 DIST swi-prolog-7.6.4-gentoo-patchset-1.tar.gz 572 BLAKE2B 11ea1f22a997ea495a388627396ac571230de65b0ed2718c1127de04f563660fab0e6f8fd14b537de11a20c9651897f0b4f9d5a0d848c9d5f1f62e0c6e2b6705 SHA512 ce9f66af8764a89af42366d3e5c9d52d597f715022894cd4a2f283bb50be4070b3dbe3258ecf4bcf8808a6230ee023fce1edd9a8ad4342ceeb35d1b17770e4a2
-DIST swi-prolog-8.0.1-gentoo-patchset-0.tar.gz 1216 BLAKE2B 79017ab32c1dec8834eb30ecf7d7540d40b6a70f2f8fd5ddaec49d669651fc365b6fb8cf4ae5bb91d18df9d9296562ba2b6bf7e2449b78d46e29c0cd5846630d SHA512 a0599f41611f805b056e8a74e5565cb2efb18018f8efbbed3f0b619157fcbc2c33ec4b109dcd0e9ce84eec1daf7c53c609b007e9081a14c597c2c0e36845986b
 DIST swi-prolog-8.0.2-gentoo-patchset-0.tar.gz 775 BLAKE2B db9cf9247ed1b92a3e810442dac415d017822d7b78a96671b719bbfbfb0208f8c62b93d8d0da864701207a5a2bbd6f0e77b926672897b3b124d55e95191cbc9b SHA512 b64461f63206d892bade49f28d6df1d8c8fb0e684d0d945f89f944af4589bc9bd703a91fa5bc82112ffe5d4f13c0646a5830c643978ed7fe4b700412bfc62daf
 DIST swipl-7.4.2.tar.gz 16496738 BLAKE2B a8f45c4277e48c0aa38f8b278b466dcb9e0a776325a9ed9e08c252660671d3ee0ee441978394682276b3fb9b0eca73ad10e02aba4671630bef0a1e8f813dd3c5 SHA512 5b526d4f079e7a36184f871bb7341330bcadaeee2a69af981fbcad71ae76c77331b1f157174ac2b31d96e069dc530afa86c024de6709edd9dc8baee3b4ebffb3
 DIST swipl-7.6.3.tar.gz 16772590 BLAKE2B 644be801e290ec9d949a9b7462256a35e11cf9afd62d0b62c315e3620a3943809f58698a23f279454e00299f7b7f7b91e8d9694a139e8c424cb2f83a4efc7a52 SHA512 d84af1a565935af9934c6b75192bb2dd87388ee8fe793ade35d5549a95ec5eb83da6b10508766e795f88393fededea4ec7a3a0c2f0f685d96ab615e171d7d1f4
 DIST swipl-7.6.4.tar.gz 16777875 BLAKE2B 94409966362e649f4748b94b4ec25415bb827c7742aa39453d8e37db4ce992a65ad2d054ded4e651f2a9abe3a9438285bc9c9c895437c087ae6cf88f4afae9ca SHA512 f0ed16e4f1436115651c38a0bb37008d0dadad5a19b0f09894fcfc51dd3d429f86488e89cce00788c3c36cc2f0cd2957f92df47d5441133a6f8ea9d91ca5470f
-DIST swipl-8.0.0.tar.gz 10352830 BLAKE2B f5ce1c5d0d48b4904a09b16c0b84b3a0c7385d087aeaa5fb1d673014e10a82e89d477ffb193a37f5b1a8db70cc46b8531cb2358ee8927f8f46b7321edc9c6754 SHA512 1a569793c5cbc7c02a81f94ad73f29459bf085d01162b74b1b72c2a52090d882ae0aee0de6363d143c3fac20f2bbb0e74c2f035d3f3114395048fb4a8073ed5a
-DIST swipl-8.0.1.tar.gz 10364104 BLAKE2B 638ce216c361fe0a85d691989894c113714511628cb305ac990a60cc376a3c5d4f373461e0f2ee66df9954913c6fe7c45d4ef2660dd6fed5bca9339c692a9882 SHA512 40ffb9ecf213ae49b397e5a37d6fb90b83fc353a8408662e193e289c87de9e851427f6523061f067050b258ddad1ded157caf8124149c0335203b9bf08e7baf6
 DIST swipl-8.0.2.tar.gz 10413446 BLAKE2B 72214b86cb7276ce528b2791ed08273d568952d5a7109882a1a485c183252f5e9eb90ae18e3712e2adf9f0521c447b06daa455ee637298a64e476e675211c0bc SHA512 88b42846edefa45d67cf016f2d8bca5dfbf153667dcec36785dc441208e09c1e45cf979a7b6862de2bdf3dce4947f2d8c2e445714798de84f5e1841df57dbe96
 DIST swipl-8.0.3.tar.gz 10418553 BLAKE2B d7d381a3070384164f9788060e1c431cc4658dd3e2144fc4c186c9f5395fb7356593766dcaff3ff424f19f917c8a4b56da31b019bd2206a7f794ece549043b76 SHA512 e3a0788befb5499be6f70524ef398dc3282a38891f20519dd23ec92f216fc1919a76656e4b648c3dc9d94e578dc2663439ff976eb52ca0dba5a6594f8d4d3037
+DIST swipl-8.1.10.tar.gz 10721820 BLAKE2B 03676d7ccdf9343bccecd4113c663b0a6db34a373cf1e3e2ec0a52f0757e2acaac835296b0e7f36f71fe427b56b3574943e17ea149d0247c782298d0e04276cf SHA512 fe7bbc33aeeeba9a84c2416cc45492bd218da27532ab42b731ab5f238a3de8858d984c8129a22f79d07ceedcb78cc076198b1714bd199283a0dea41762486f55
 DIST swipl-8.1.8.tar.gz 10657374 BLAKE2B bfa858e88dae100f7415cb4eb307c51b62080fa34a9a3999672ae5f529e4b0a4aa6d2ceb665e451262ba3418722892baa95c6f9dd86946be49f12bd2f2cda113 SHA512 99443657235900327e4e2839da26c4a8c65c5905118766bcea6402516d520aae206b5ba381c99357ae5b18b983490099d820e083f47139b7cc2d2600908ae2d2
 DIST swipl-8.1.9.tar.gz 10720170 BLAKE2B dbfd314870916f79d3d9ab53d40c290558c08ccad7a293d0939c324c67cec13e1589c577205ee1b51d76b9010015fa7118e3b18ded819dd886c1cd28661e82ba SHA512 9fc49d11d7c113971f05ec6d2d2d1feb07cbbd4cf117d4eed2f6e752798729e5d92b8299cc2888771acfc998dc825d490e7985594ba4b4a8f305b65ced5f371f
 EBUILD swi-prolog-7.4.2.ebuild 3398 BLAKE2B 368ef93ceb17042a28699f9aa469e6b5c39aa29154b810e43fd050ab3bc1079f83680cfac8f4108c7c297a51e9bdd28357a0b6241c08faef3ea5f81ab1605558 SHA512 76d094f62e442ac86d32eaf467179fdcf4d4edf6034f711104e91f8a01b7e343208ef0b6e492ed18c8c0605b96a48f1adef8f3903f861c716e882cb9695b0dd2
 EBUILD swi-prolog-7.6.3.ebuild 3395 BLAKE2B 6445c399d7a7518bcd4ce05b9ea0bf50c7d0297d5a24d9ef84a48c36600077cea8c8b77b010d28e25dfe0766e12d1f560f42e5597a602f6bdfc7351ea6e0fa62 SHA512 830766267d3e4b60897dfcdab5263cee600ccfa2cd80f970ef3b4c3695cc3ddf9989ae85527f45cdf124898210f108a98a32a613de2543a8db813d42482b0687
 EBUILD swi-prolog-7.6.4.ebuild 3456 BLAKE2B 55d9eb2b52f47dc7fd5df9f2743775e7aabd4f070d93e31f51b038f278604909f1f48dbb4cbd12ba96614f8619923712c465d424eb224874ba158f1670d615d5 SHA512 cf64a47e39b21557915fcd6e88ac5bb01fc56bb26afebf81dedaa087ac12a3c5952383a55594dbe22de8885c6a3afd47858963a4c0c68f705be20045a518d12d
-EBUILD swi-prolog-8.0.0.ebuild 2466 BLAKE2B 801f8b9c6e3f9d5140cdbdad9bf6932dc3bc73f8f9fa95c6007e65bdb883b14fe800e63a4de610da01cd32cb8ceb8567ebebaf53b347aa0241905892011de925 SHA512 7f59cf9a185c20e2386d2c806650d024836fbe65da66af5ac07e3d5f3912ceb71fd39dcbd943fa56c4fb9117c17d4ae6d3c28fcf158b046e6abc4a1a43f29e7f
-EBUILD swi-prolog-8.0.1.ebuild 2528 BLAKE2B 13ea227e522a615d4f59f1a2b47eab60563e82e1848de689f6c0308e75043ddfade78a66ccc9408d4a844a3cded25d36dfcdf589dc6202f618d5d5c26e00bcb7 SHA512 f89d931bd455d68539369b8970f65b04baee1dac772a00e7b3f204424b278862a5b0fa34d76ae819825a21ec18420241b9b395e66b87799a1c4bc78dd6e91535
 EBUILD swi-prolog-8.0.2.ebuild 2528 BLAKE2B 13ea227e522a615d4f59f1a2b47eab60563e82e1848de689f6c0308e75043ddfade78a66ccc9408d4a844a3cded25d36dfcdf589dc6202f618d5d5c26e00bcb7 SHA512 f89d931bd455d68539369b8970f65b04baee1dac772a00e7b3f204424b278862a5b0fa34d76ae819825a21ec18420241b9b395e66b87799a1c4bc78dd6e91535
 EBUILD swi-prolog-8.0.3.ebuild 2466 BLAKE2B 801f8b9c6e3f9d5140cdbdad9bf6932dc3bc73f8f9fa95c6007e65bdb883b14fe800e63a4de610da01cd32cb8ceb8567ebebaf53b347aa0241905892011de925 SHA512 7f59cf9a185c20e2386d2c806650d024836fbe65da66af5ac07e3d5f3912ceb71fd39dcbd943fa56c4fb9117c17d4ae6d3c28fcf158b046e6abc4a1a43f29e7f
+EBUILD swi-prolog-8.1.10.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb07ecdea1a289a47d7eb52f0b3d06f99c1e2355136ce20809c885dbb698c609f02e76f393859c043bd4998f4b5a4a9 SHA512 38405b19366bf1c35ea8dccfd28e64c7525091053f7dd919ecc0ff7a3748b7f0bab6a1a09d88b32d83928a207ebb925df9686c527b306b4d967469d42f665954
 EBUILD swi-prolog-8.1.8.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb07ecdea1a289a47d7eb52f0b3d06f99c1e2355136ce20809c885dbb698c609f02e76f393859c043bd4998f4b5a4a9 SHA512 38405b19366bf1c35ea8dccfd28e64c7525091053f7dd919ecc0ff7a3748b7f0bab6a1a09d88b32d83928a207ebb925df9686c527b306b4d967469d42f665954
 EBUILD swi-prolog-8.1.9.ebuild 2465 BLAKE2B 1fa3a76348cca7b520023a84db9d9b2beeb07ecdea1a289a47d7eb52f0b3d06f99c1e2355136ce20809c885dbb698c609f02e76f393859c043bd4998f4b5a4a9 SHA512 38405b19366bf1c35ea8dccfd28e64c7525091053f7dd919ecc0ff7a3748b7f0bab6a1a09d88b32d83928a207ebb925df9686c527b306b4d967469d42f665954
 MISC metadata.xml 419 BLAKE2B 6d92e0713ed8da803ff8b6c778e616882af2fdb1426a62ea7bb6a265bbfff9a5c7debb8bf6a25c4ab60ed54a865b79fa3da4a09bc8a9123acf63dcb32107f54e SHA512 f805393c909e4108fe72b94f131d37d45279af1a4b501f9c3ae12d21590ef9c19227ca2a4b2966239ddb84847ce979cfbfcf3f3a2d24b60cb23977c522ff59c3
diff --git a/dev-lang/swi-prolog/swi-prolog-8.0.0.ebuild b/dev-lang/swi-prolog/swi-prolog-8.0.0.ebuild
deleted file mode 100644
index e290240e32c9..000000000000
--- a/dev-lang/swi-prolog/swi-prolog-8.0.0.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils eutils flag-o-matic multilib
-
-PATCHSET_VER="0"
-
-DESCRIPTION="versatile implementation of the Prolog programming language"
-HOMEPAGE="http://www.swi-prolog.org/"
-SRC_URI="http://www.swi-prolog.org/download/stable/src/swipl-${PV}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
-
-RDEPEND="sys-libs/ncurses:=
-	sys-libs/zlib
-	archive? ( app-arch/libarchive )
-	berkdb? ( >=sys-libs/db-4:= )
-	odbc? ( dev-db/unixODBC )
-	pcre? ( dev-libs/libpcre )
-	readline? ( sys-libs/readline:= )
-	libedit? ( dev-libs/libedit )
-	gmp? ( dev-libs/gmp:0 )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0 )
-		libressl? ( dev-libs/libressl )
-	)
-	java? ( >=virtual/jdk-1.7:= )
-	uuid? ( dev-libs/ossp-uuid )
-	qt5? (
-		dev-qt/qtwidgets:5
-		dev-qt/qtgui:5
-	)
-	X? (
-		virtual/jpeg:0
-		x11-libs/libX11
-		x11-libs/libXft
-		x11-libs/libXinerama
-		x11-libs/libXpm
-		x11-libs/libXt
-		x11-libs/libICE
-		x11-libs/libSM )
-	yaml? ( dev-libs/libyaml )"
-
-DEPEND="${RDEPEND}
-	X? ( x11-base/xorg-proto )
-	java? ( test? ( =dev-java/junit-3.8* ) )"
-
-S="${WORKDIR}/swipl-${PV}"
-BUILD_DIR="${S}/build"
-CMAKE_USE_DIR="${S}"
-
-src_prepare() {
-	EPATCH_FORCE=yes
-	EPATCH_SUFFIX=patch
-	if [[ -d "${WORKDIR}"/${PV} ]] ; then
-		epatch "${WORKDIR}"/${PV}
-	fi
-
-	sed -i -e "s|\(SWIPL_INSTALL_PREFIX\)   lib/.*)|\1   $(get_libdir)/swipl)|" CMakeLists.txt || die
-
-	eapply_user
-
-	cmake-utils_src_prepare
-}
-
-src_configure() {
-	append-flags -fno-strict-aliasing
-	use debug && append-flags -DO_DEBUG
-
-	mycmakeargs=(
-		-DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl
-		-DUSE_GMP=$(usex gmp)
-		-DINSTALL_DOCUMENTATION=$(use doc && usex archive)
-		-DSWIPL_PACKAGES_BASIC=$(usex !minimal)
-		-DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
-		-DSWIPL_PACKAGES_ODBC=$(usex odbc)
-		-DSWIPL_PACKAGES_BDB=$(usex berkdb)
-		-DSWIPL_PACKAGES_PCRE=$(usex pcre)
-		-DSWIPL_PACKAGES_YAML=$(usex yaml)
-		-DSWIPL_PACKAGES_SSL=$(usex ssl)
-		-DSWIPL_PACKAGES_JAVA=$(usex java)
-		-DSWIPL_PACKAGES_QT=$(usex qt5)
-		-DSWIPL_PACKAGES_X=$(usex X)
-		-DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
-		)
-
-	cmake-utils_src_configure
-}
-
-src_test() {
-	USE_PUBLIC_NETWORK_TESTS=false \
-	USE_ODBC_TESTS=false \
-		cmake-utils_src_test -V
-}
diff --git a/dev-lang/swi-prolog/swi-prolog-8.0.1.ebuild b/dev-lang/swi-prolog/swi-prolog-8.0.1.ebuild
deleted file mode 100644
index b951ac3e22eb..000000000000
--- a/dev-lang/swi-prolog/swi-prolog-8.0.1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils eutils flag-o-matic multilib
-
-PATCHSET_VER="0"
-
-DESCRIPTION="versatile implementation of the Prolog programming language"
-HOMEPAGE="http://www.swi-prolog.org/"
-SRC_URI="http://www.swi-prolog.org/download/stable/src/swipl-${PV}.tar.gz
-	 mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
-
-RDEPEND="sys-libs/ncurses:=
-	sys-libs/zlib
-	archive? ( app-arch/libarchive )
-	berkdb? ( >=sys-libs/db-4:= )
-	odbc? ( dev-db/unixODBC )
-	pcre? ( dev-libs/libpcre )
-	readline? ( sys-libs/readline:= )
-	libedit? ( dev-libs/libedit )
-	gmp? ( dev-libs/gmp:0 )
-	ssl? (
-		!libressl? ( dev-libs/openssl:0 )
-		libressl? ( dev-libs/libressl )
-	)
-	java? ( >=virtual/jdk-1.7:= )
-	uuid? ( dev-libs/ossp-uuid )
-	qt5? (
-		dev-qt/qtwidgets:5
-		dev-qt/qtgui:5
-	)
-	X? (
-		virtual/jpeg:0
-		x11-libs/libX11
-		x11-libs/libXft
-		x11-libs/libXinerama
-		x11-libs/libXpm
-		x11-libs/libXt
-		x11-libs/libICE
-		x11-libs/libSM )
-	yaml? ( dev-libs/libyaml )"
-
-DEPEND="${RDEPEND}
-	X? ( x11-base/xorg-proto )
-	java? ( test? ( =dev-java/junit-3.8* ) )"
-
-S="${WORKDIR}/swipl-${PV}"
-BUILD_DIR="${S}/build"
-CMAKE_USE_DIR="${S}"
-
-src_prepare() {
-	EPATCH_FORCE=yes
-	EPATCH_SUFFIX=patch
-	if [[ -d "${WORKDIR}"/${PV} ]] ; then
-		epatch "${WORKDIR}"/${PV}
-	fi
-
-	sed -i -e "s|\(SWIPL_INSTALL_PREFIX\)   lib/.*)|\1   $(get_libdir)/swipl)|" CMakeLists.txt || die
-
-	eapply_user
-
-	cmake-utils_src_prepare
-}
-
-src_configure() {
-	append-flags -fno-strict-aliasing
-	use debug && append-flags -DO_DEBUG
-
-	mycmakeargs=(
-		-DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl
-		-DUSE_GMP=$(usex gmp)
-		-DINSTALL_DOCUMENTATION=$(use doc && usex archive)
-		-DSWIPL_PACKAGES_BASIC=$(usex !minimal)
-		-DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
-		-DSWIPL_PACKAGES_ODBC=$(usex odbc)
-		-DSWIPL_PACKAGES_BDB=$(usex berkdb)
-		-DSWIPL_PACKAGES_PCRE=$(usex pcre)
-		-DSWIPL_PACKAGES_YAML=$(usex yaml)
-		-DSWIPL_PACKAGES_SSL=$(usex ssl)
-		-DSWIPL_PACKAGES_JAVA=$(usex java)
-		-DSWIPL_PACKAGES_QT=$(usex qt5)
-		-DSWIPL_PACKAGES_X=$(usex X)
-		-DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
-		)
-
-	cmake-utils_src_configure
-}
-
-src_test() {
-	USE_PUBLIC_NETWORK_TESTS=false \
-	USE_ODBC_TESTS=false \
-		cmake-utils_src_test -V
-}
diff --git a/dev-lang/swi-prolog/swi-prolog-8.1.10.ebuild b/dev-lang/swi-prolog/swi-prolog-8.1.10.ebuild
new file mode 100644
index 000000000000..b986aa50d899
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-8.1.10.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils eutils flag-o-matic multilib
+
+PATCHSET_VER="0"
+
+DESCRIPTION="versatile implementation of the Prolog programming language"
+HOMEPAGE="http://www.swi-prolog.org/"
+SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
+
+RDEPEND="sys-libs/ncurses:=
+	sys-libs/zlib
+	archive? ( app-arch/libarchive )
+	berkdb? ( >=sys-libs/db-4:= )
+	odbc? ( dev-db/unixODBC )
+	pcre? ( dev-libs/libpcre )
+	readline? ( sys-libs/readline:= )
+	libedit? ( dev-libs/libedit )
+	gmp? ( dev-libs/gmp:0 )
+	ssl? (
+		!libressl? ( dev-libs/openssl:0 )
+		libressl? ( dev-libs/libressl )
+	)
+	java? ( >=virtual/jdk-1.7:= )
+	uuid? ( dev-libs/ossp-uuid )
+	qt5? (
+		dev-qt/qtwidgets:5
+		dev-qt/qtgui:5
+	)
+	X? (
+		virtual/jpeg:0
+		x11-libs/libX11
+		x11-libs/libXft
+		x11-libs/libXinerama
+		x11-libs/libXpm
+		x11-libs/libXt
+		x11-libs/libICE
+		x11-libs/libSM )
+	yaml? ( dev-libs/libyaml )"
+
+DEPEND="${RDEPEND}
+	X? ( x11-base/xorg-proto )
+	java? ( test? ( =dev-java/junit-3.8* ) )"
+
+S="${WORKDIR}/swipl-${PV}"
+BUILD_DIR="${S}/build"
+CMAKE_USE_DIR="${S}"
+
+src_prepare() {
+	EPATCH_FORCE=yes
+	EPATCH_SUFFIX=patch
+	if [[ -d "${WORKDIR}"/${PV} ]] ; then
+		epatch "${WORKDIR}"/${PV}
+	fi
+
+	sed -i -e "s|\(SWIPL_INSTALL_PREFIX\)   lib/.*)|\1   $(get_libdir)/swipl)|" CMakeLists.txt || die
+
+	eapply_user
+
+	cmake-utils_src_prepare
+}
+
+src_configure() {
+	append-flags -fno-strict-aliasing
+	use debug && append-flags -DO_DEBUG
+
+	mycmakeargs=(
+		-DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl
+		-DUSE_GMP=$(usex gmp)
+		-DINSTALL_DOCUMENTATION=$(use doc && usex archive)
+		-DSWIPL_PACKAGES_BASIC=$(usex !minimal)
+		-DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
+		-DSWIPL_PACKAGES_ODBC=$(usex odbc)
+		-DSWIPL_PACKAGES_BDB=$(usex berkdb)
+		-DSWIPL_PACKAGES_PCRE=$(usex pcre)
+		-DSWIPL_PACKAGES_YAML=$(usex yaml)
+		-DSWIPL_PACKAGES_SSL=$(usex ssl)
+		-DSWIPL_PACKAGES_JAVA=$(usex java)
+		-DSWIPL_PACKAGES_QT=$(usex qt5)
+		-DSWIPL_PACKAGES_X=$(usex X)
+		-DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
+		)
+
+	cmake-utils_src_configure
+}
+
+src_test() {
+	USE_PUBLIC_NETWORK_TESTS=false \
+	USE_ODBC_TESTS=false \
+		cmake-utils_src_test -V
+}
diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest
index 72966eb016bf..98233c418ace 100644
--- a/dev-lang/vala/Manifest
+++ b/dev-lang/vala/Manifest
@@ -1,13 +1,18 @@
 AUX 0.40-Allow-disabling-the-build-of-valadoc.patch 4585 BLAKE2B 4f0ee3cb4a47f4479ba29b3acfa173fcf045bedafa677544147969d63b05734de31fe6ce135bfa529f28583318cf8a8e76cd32f372d3513a859ebcbb560ebae1 SHA512 de1c71ac885ca88c7276c2e0b8e92ab63587b662f927cae423775908cec4bfd4bbfdf14f069c541a599e001e7e66712f04b9f45bc88882cc7ee5b0f582bd8229
 AUX 0.40-valadoc-doclets-data-parallel-installable.patch 6105 BLAKE2B 24f3a2c44125da3dfc93c6c7426d85de59ef79baa3e96b898b0c01f8e46b8939e6f5ec1ab3ef1f84052ccef6a3bb61d3c86329aba228f3356b879ee6d867f045 SHA512 87d810c135844ebdbc011bccb66ac58ad77b773ed0513d96cd465b3a34103e308c9fc134c9701ec0df56d49644ecfe73ceafd2fde02699347253bbaabffbbb0f
+AUX 0.44-valadoc-doclets-data-parallel-installable.patch 6063 BLAKE2B d27b69ab82a789f73e9ba02ef10d3865452a5d5532215e44533012be29d36d40496346a0557ee90831fbe2cf1da9e77e56b30c3f1e988c051b97142d12952931 SHA512 d5174b6dbc887f25f90e400ae569152a998da3df3e9ca4ea5f450240b1982b7a118ddbce7814b98e966e384b956c02389b34200b6a1ecbf4e634fdc07421809a
 DIST vala-0.36.18.tar.xz 2905668 BLAKE2B ed7f8a38e99fd75945071cf54190631b0ccddbb682da9790bb07b4d334063679bfb002bcf6e5c6c1807ca2b1c4e80659441779c113a7b05f9b4ff291f5ada201 SHA512 69d76fddee8e52e54dc8a3dbe1c0ffc5aeaede096f52614c3a7e18d28ec7a6a31aa617719a4d27a7a15867cd740888f5b381cd612d8fc010f1ea9fd9389d0655
 DIST vala-0.36.19.tar.xz 2909240 BLAKE2B 8b41ab516a6e5c9eef6e4f5590cfa49892e69a8bf28837c2816fb2024a91d614df3b0007554aad3ab8a87b18f174c5571289e0264d3a724fb223276d03a3001b SHA512 cb275146537f3cf0678d7de5c0ee1b1b364fef11099f3c3aaba48c1d0b839fd313cc04bef981f36e5f08b3cbb08cd3aef930357e4ee1ed52fefef446aede6449
 DIST vala-0.40.14.tar.xz 3398668 BLAKE2B 6df1e47439000e1a49dda4d58651b7039737a2648563fc4e09d679bf63d968d9dafcc9ab5e371ca450bab70163f9fb1fb30ffa75451940f9a1518d7fb3a5ebf1 SHA512 0387bbcf35055f2b4a8f790370847bcc12a92d7969d9ed583b0630be8b637a9e28895508da9cdfab8baf97ad5fdc9249bf82e31e6c1ee19d0026f5061c027db8
 DIST vala-0.40.15.tar.xz 3406020 BLAKE2B aaa2967a140fae94b4609f4b54f2e37c71fe79453cb3ea30568ee018d2227d1c45061440ad632bcfc53650fbe4dba2f062d8095f95936623a49efb5e97f2c2bb SHA512 abb918b00afab7a85586f9bd26b78be87e19b725752cbb77dd428da2e6241b1f3d4aaa70e3e6daf6f373562d02f1ff8016e6c9107e2bf088d9b84334adecdda2
 DIST vala-0.42.7.tar.xz 3362192 BLAKE2B 59f76d43f4bf80f75681c386cb30c4686bf93444bcd371900b134e0338ab865cf61d4cfd35facfff47c78075c384028cbcbd318eb927444f15862f7a28bccaa1 SHA512 d9044b126c91f3b1835a7182a054464339e4e2e52e63df90f43d2d5d9cba06fd6bb7eed5f6aa4d502f43f0a1232610d39d244952cfca54f63eb019e764899eca
+DIST vala-0.44.6.tar.xz 3354452 BLAKE2B 7fb8946b55a73a582e4bf7fc15ca129bbd8c766e665dab15671466fac62bb19481fdda5476263d6689e36a63f6fb2c095c10e2ce7cb8f8cf33b38f691d2f86aa SHA512 7b0fa6da3b7ecfe5d6731e64a7803e3dde38e843c269e7bd0d9d92dbbba2823bd17689bceec3e2ee6cf8f7884a5e1e11e1699e98808a32fef2167221bdc7b8a2
+DIST vala-0.45.3.tar.xz 3356112 BLAKE2B 4632b476ea20d5a486e3094efec2a8bfc5b8f0edb25e600f14e5aa0ffbc1030e6966d54888b41f2af0083ebaeb0fbebd011e26da2153641e707d0b20d0e82fb7 SHA512 ba9eeacf45b2d1f8a87b0097e7b4ba15af7d35c9340957432b2b6acf3d8ede942ad6ee5820e64d9b3ac740653111b920c81f003647b61c569d43489894ddf4b1
 EBUILD vala-0.36.18.ebuild 798 BLAKE2B 6def4d1f13ee1fd84f2405da15b6cab064ec882b2ba4fd497636966414308dddefda9357d0559b052277476becf2856ca923f62007f0a319ea90cc3a0fcf572d SHA512 2bbd7d899f35cfbe72ee2c9304ff2d68e87babb06fa6f8c2ea94edbe95cb3b039e33e565d5af6cda978cf6e8517cc5cd51f763dcf6f9963c5c5ae30ae434555e
 EBUILD vala-0.36.19.ebuild 799 BLAKE2B 6dad69eb7e269525d33eba9e093a41a521b4de2eb6b7f4b933a2eb4e377de2c3dd6dedc0f17c03c4c0d77c85913b3d61d4d92f6b225a237a17c0b1bccc6a5100 SHA512 4a492eb53d12c62d04c5f4b574e71c88a81c28291682ac16a0f4ad02263193860fdf0f965a8c81e9aadca79e62872e833d3db8d5f97833b3a40971d2d1739c6f
 EBUILD vala-0.40.14.ebuild 1185 BLAKE2B 1cb8b3efdd6f010c5524aabced06132f9f90920d3345e216df0dcb555ab2d4c10afa196271b2623d71d5b4dc57ce2705677275c1da7c0099925e82d5cb1eac26 SHA512 5e271726a2e71902440df5c03897f9c1960d83bb6eff5d2f4a1213d791190a2f34a81fdefb165427c9ca3a92aacdc801c5bb4be5b98fca27ed0b9adafc4d5158
 EBUILD vala-0.40.15.ebuild 1186 BLAKE2B be9ce6de6adbaa89caaec477d2cc774af7f55533d217d74845e780b628e0d17cd124da1a7f8312b8b4f30f74eaedd4d556647f13934c953e0831bce0413b6c87 SHA512 915aabe3dac3f293517e3166c7aff81591b3aadca06034ad3ac2aa53ae3b8f6d6262fd6acbfde54f2cacaa9ab9fd5454ad611c009f909e3cce8184d256245689
 EBUILD vala-0.42.7.ebuild 1185 BLAKE2B bbf7accf72f7d5370762acdbcc44efe46e56a05b4a08a5cd7ada34ecb81ce6ef30a1a96880ad0a8ca38b264f06a10e464aa11b4c2e15119a4c84485cb358c42f SHA512 1d32eaa0fa1883351b774cf31863624d595f2b840383b14d88790de48ccea776a498bb9bef7dddace1878f9a1fa2b59ef0e9c4e23a881a1238165a62d3b2781e
+EBUILD vala-0.44.6.ebuild 1118 BLAKE2B 7cbf0d0ed9c91f24e4089e0f3399e9c1b37b5a4f3d437323988d6b2ded2c7fefb58c5e3628f42a486ca8efc32cfed41a22bb339509b129f4949dfa77795a402b SHA512 173584f83ac6b82bb35ea858f5898a4e88ec6f3c84bd2efe613f3aa46a710447ff8dfdaf7e707bdf197caf4e142c2a12f22db5de3e29894aa496f8a7c8396df4
+EBUILD vala-0.45.3.ebuild 1118 BLAKE2B 169f09f5cd5692ddba0d64b99aaa0be62e13e1e71790ea3afaeb62b85677d521f20daa2bb1b9bbd9435f24b53ae3aa9ef03f0c5ce214c9845350e88c23923ce6 SHA512 6bbb201650807af3fbffefd716dd9e0f52562f4005715607da1fe8c83da980ca59c33b290376bce8e5aff20f3ee57df4c2162bee5037e5775746af101afe4a71
 MISC metadata.xml 345 BLAKE2B de3110ae281a87f8cb8f6c10d93705f56f0cfed972cd893a063e66c2629150d491498a29b35b4efe19fa5b6baa740f1d989bad440924befc60ef56423096f108 SHA512 163aa55430a075974d504a5bbb71ad9a249cb215de12a82b3141de18bb05f1e0c2078c02c617cf7d98a97c7f8dd407077183754d8c82c77e80dd0d7b2ec38283
diff --git a/dev-lang/vala/files/0.44-valadoc-doclets-data-parallel-installable.patch b/dev-lang/vala/files/0.44-valadoc-doclets-data-parallel-installable.patch
new file mode 100644
index 000000000000..8ab9e4401e90
--- /dev/null
+++ b/dev-lang/vala/files/0.44-valadoc-doclets-data-parallel-installable.patch
@@ -0,0 +1,207 @@
+From 543a835b7027e7f79d1fe882cbd06137b6c6aa3b Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Sat, 27 Jul 2019 20:20:45 +0300
+Subject: [PATCH] build: Make valadoc doclets & data parallel installable
+
+---
+ libvaladoc/Makefile.am              |  7 ++++++-
+ valadoc/Makefile.am                 |  7 ++++++-
+ valadoc/doclets/devhelp/Makefile.am | 11 ++++++++---
+ valadoc/doclets/gtkdoc/Makefile.am  | 11 ++++++++---
+ valadoc/doclets/html/Makefile.am    | 11 ++++++++---
+ valadoc/icons/Makefile.am           |  4 ++++
+ valadoc/tests/Makefile.am           |  7 ++++++-
+ 7 files changed, 46 insertions(+), 12 deletions(-)
+
+diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am
+index 0ad42cb32..e8e6704ac 100644
+--- a/libvaladoc/Makefile.am
++++ b/libvaladoc/Makefile.am
+@@ -4,7 +4,6 @@ NULL =
+ 
+ AM_CFLAGS = \
+ 	-DG_LOG_DOMAIN=\"valadoc\" \
+-	-DPACKAGE_VALADOC_LIBDIR=\"$(libdir)/valadoc\" \
+ 	-DPACKAGE_VERSION=\"$(VERSION)\" \
+ 	$(COVERAGE_CFLAGS) \
+ 	$(LIBGVC_CFLAGS) \
+@@ -16,6 +15,12 @@ AM_CFLAGS = \
+ 	-I$(top_srcdir)/codegen \
+ 	$(NULL)
+ 
++if ENABLE_UNVERSIONED
++AM_CFLAGS += -DPACKAGE_VALADOC_LIBDIR=\"$(libdir)/valadoc\"
++else
++AM_CFLAGS += -DPACKAGE_VALADOC_LIBDIR=\"$(libdir)/valadoc@PACKAGE_SUFFIX@\"
++endif
++
+ AM_VALAFLAGS = \
+ 	$(NULL)
+ 
+diff --git a/valadoc/Makefile.am b/valadoc/Makefile.am
+index 26028f5e3..60712cf00 100644
+--- a/valadoc/Makefile.am
++++ b/valadoc/Makefile.am
+@@ -10,7 +10,6 @@ SUBDIRS = \
+ 
+ AM_CFLAGS = \
+ 	-DG_LOG_DOMAIN=\"valadoc\" \
+-	-DPACKAGE_VALADOC_LIBDIR=\"$(libdir)/valadoc\" \
+ 	-DPACKAGE_VERSION=\"$(VERSION)\" \
+ 	-I$(top_srcdir)/libvaladoc/ \
+ 	-I$(top_srcdir)/gee \
+@@ -23,6 +22,12 @@ AM_CFLAGS = \
+ 	$(LIBGVC_CFLAGS) \
+ 	$(NULL)
+ 
++if ENABLE_UNVERSIONED
++AM_CFLAGS += -DPACKAGE_VALADOC_LIBDIR=\"$(libdir)/valadoc\"
++else
++AM_CFLAGS += -DPACKAGE_VALADOC_LIBDIR=\"$(libdir)/valadoc@PACKAGE_SUFFIX@\"
++endif
++
+ BUILT_SOURCES = valadoc.vala.stamp
+ 
+ bin_PROGRAMS = valadoc
+diff --git a/valadoc/doclets/devhelp/Makefile.am b/valadoc/doclets/devhelp/Makefile.am
+index b151eb371..435e87235 100644
+--- a/valadoc/doclets/devhelp/Makefile.am
++++ b/valadoc/doclets/devhelp/Makefile.am
+@@ -4,7 +4,6 @@ NULL =
+ 
+ AM_CFLAGS = \
+ 	-DG_LOG_DOMAIN=\"valadoc-devhelp\" \
+-	-DPACKAGE_VALADOC_ICONDIR=\"$(datadir)/valadoc/icons/\" \
+ 	-I$(top_srcdir)/gee/ \
+ 	-I$(top_srcdir)/vala/ \
+ 	-I$(top_srcdir)/libvaladoc/ \
+@@ -13,12 +12,18 @@ AM_CFLAGS = \
+ 	$(LIBGVC_CFLAGS) \
+ 	$(NULL)
+ 
++if ENABLE_UNVERSIONED
++AM_CFLAGS += -DPACKAGE_VALADOC_ICONDIR=\"$(datadir)/valadoc/icons/\"
++docletdir = $(libdir)/valadoc/doclets/devhelp
++else
++AM_CFLAGS += -DPACKAGE_VALADOC_ICONDIR=\"$(datadir)/valadoc@PACKAGE_SUFFIX@/icons/\"
++docletdir = $(libdir)/valadoc@PACKAGE_SUFFIX@/doclets/devhelp
++endif
++
+ BUILT_SOURCES = libdoclet.vala.stamp
+ 
+ doclet_LTLIBRARIES = libdoclet.la
+ 
+-docletdir = $(libdir)/valadoc/doclets/devhelp
+-
+ libdoclet_la_LDFLAGS = -module -avoid-version -no-undefined
+ 
+ libdoclet_la_VALASOURCES = \
+diff --git a/valadoc/doclets/gtkdoc/Makefile.am b/valadoc/doclets/gtkdoc/Makefile.am
+index 74d3c5702..0ee8695bd 100644
+--- a/valadoc/doclets/gtkdoc/Makefile.am
++++ b/valadoc/doclets/gtkdoc/Makefile.am
+@@ -4,7 +4,6 @@ NULL =
+ 
+ AM_CFLAGS = \
+ 	-DG_LOG_DOMAIN=\"valadoc-gtkdoc\" \
+-	-DPACKAGE_VALADOC_ICONDIR=\"$(datadir)/valadoc/icons/\" \
+ 	-I$(top_srcdir)/gee/ \
+ 	-I$(top_srcdir)/vala/ \
+ 	-I$(top_srcdir)/libvaladoc/ \
+@@ -13,12 +12,18 @@ AM_CFLAGS = \
+ 	$(LIBGVC_CFLAGS) \
+ 	$(NULL)
+ 
++if ENABLE_UNVERSIONED
++AM_CFLAGS += -DPACKAGE_VALADOC_ICONDIR=\"$(datadir)/valadoc/icons/\"
++docletdir = $(libdir)/valadoc/doclets/gtkdoc
++else
++AM_CFLAGS += -DPACKAGE_VALADOC_ICONDIR=\"$(datadir)/valadoc@PACKAGE_SUFFIX@/icons/\"
++docletdir = $(libdir)/valadoc@PACKAGE_SUFFIX@/doclets/gtkdoc
++endif
++
+ BUILT_SOURCES = libdoclet.vala.stamp
+ 
+ doclet_LTLIBRARIES = libdoclet.la
+ 
+-docletdir = $(libdir)/valadoc/doclets/gtkdoc
+-
+ libdoclet_la_LDFLAGS = -module -avoid-version -no-undefined
+ 
+ libdoclet_la_VALASOURCES = \
+diff --git a/valadoc/doclets/html/Makefile.am b/valadoc/doclets/html/Makefile.am
+index 7541cc3f8..7ceebe4fa 100644
+--- a/valadoc/doclets/html/Makefile.am
++++ b/valadoc/doclets/html/Makefile.am
+@@ -4,7 +4,6 @@ NULL =
+ 
+ AM_CFLAGS = \
+ 	-DG_LOG_DOMAIN=\"valadoc-html\" \
+-	-DPACKAGE_VALADOC_ICONDIR=\"$(datadir)/valadoc/icons/\" \
+ 	-I$(top_srcdir)/gee/ \
+ 	-I$(top_srcdir)/vala/ \
+ 	-I$(top_srcdir)/libvaladoc/ \
+@@ -13,12 +12,18 @@ AM_CFLAGS = \
+ 	$(LIBGVC_CFLAGS) \
+ 	$(NULL)
+ 
++if ENABLE_UNVERSIONED
++AM_CFLAGS += -DPACKAGE_VALADOC_ICONDIR=\"$(datadir)/valadoc/icons/\"
++docletdir = $(libdir)/valadoc/doclets/html
++else
++AM_CFLAGS += -DPACKAGE_VALADOC_ICONDIR=\"$(datadir)/valadoc@PACKAGE_SUFFIX@/icons/\"
++docletdir = $(libdir)/valadoc@PACKAGE_SUFFIX@/doclets/html
++endif
++
+ BUILT_SOURCES = libdoclet.vala.stamp
+ 
+ doclet_LTLIBRARIES = libdoclet.la
+ 
+-docletdir = $(libdir)/valadoc/doclets/html
+-
+ libdoclet_la_LDFLAGS = -module -avoid-version -no-undefined
+ 
+ libdoclet_la_VALASOURCES = \
+diff --git a/valadoc/icons/Makefile.am b/valadoc/icons/Makefile.am
+index 454bdba7c..668956f3b 100644
+--- a/valadoc/icons/Makefile.am
++++ b/valadoc/icons/Makefile.am
+@@ -1,6 +1,10 @@
+ NULL =
+ 
++if ENABLE_UNVERSIONED
+ iconsdir = $(datadir)/valadoc/icons
++else
++iconsdir = $(datadir)/valadoc@PACKAGE_SUFFIX@/icons
++endif
+ 
+ dist_icons_DATA = \
+ 	abstractclass.png \
+diff --git a/valadoc/tests/Makefile.am b/valadoc/tests/Makefile.am
+index b49de43cb..b32615b50 100644
+--- a/valadoc/tests/Makefile.am
++++ b/valadoc/tests/Makefile.am
+@@ -22,7 +22,6 @@ check-TESTS: $(TESTS)
+ 	G_DEBUG=fatal_warnings $(builddir)/driver
+ 
+ AM_CFLAGS = \
+-	-DPACKAGE_VALADOC_LIBDIR=\"$(libdir)/valadoc\" \
+ 	-DPACKAGE_VERSION=\"$(VERSION)\" \
+ 	-DTOP_SRC_DIR=\"$(abs_top_srcdir)\" \
+ 	-I$(top_srcdir)/libvaladoc/ \
+@@ -36,6 +35,12 @@ AM_CFLAGS = \
+ 	$(LIBGVC_CFLAGS) \
+ 	$(NULL)
+ 
++if ENABLE_UNVERSIONED
++AM_CFLAGS += -DPACKAGE_VALADOC_LIBDIR=\"$(libdir)/valadoc\"
++else
++AM_CFLAGS += -DPACKAGE_VALADOC_LIBDIR=\"$(libdir)/valadoc@PACKAGE_SUFFIX@\"
++endif
++
+ BUILT_SOURCES = driver.vala.stamp
+ 
+ check_PROGRAMS = driver
+-- 
+2.20.1
+
diff --git a/dev-lang/vala/vala-0.44.6.ebuild b/dev-lang/vala/vala-0.44.6.ebuild
new file mode 100644
index 000000000000..41ffdd44333a
--- /dev/null
+++ b/dev-lang/vala/vala-0.44.6.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_EAUTORECONF="yes"
+
+inherit gnome2
+
+DESCRIPTION="Compiler for the GObject type system"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.44"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
+IUSE="test valadoc"
+
+RDEPEND="
+	>=dev-libs/glib-2.40.0:2
+	>=dev-libs/vala-common-${PV}
+	valadoc? ( >=media-gfx/graphviz-2.16 )
+"
+DEPEND="${RDEPEND}
+	!${CATEGORY}/${PN}:0
+	dev-libs/libxslt
+	sys-devel/flex
+	virtual/pkgconfig
+	virtual/yacc
+	test? (
+		dev-libs/dbus-glib
+		>=dev-libs/glib-2.26:2
+		dev-libs/gobject-introspection )
+"
+
+PATCHES=(
+	# Add missing bits to make valadoc parallel installable
+	"${FILESDIR}"/0.44-valadoc-doclets-data-parallel-installable.patch
+)
+
+src_configure() {
+	# weasyprint enables generation of PDF from HTML
+	gnome2_src_configure \
+		--disable-unversioned \
+		$(use_enable valadoc) \
+		VALAC=: \
+		WEASYPRINT=:
+}
+
+src_install() {
+	default
+	find "${D}" -name "*.la" -delete || die
+}
diff --git a/dev-lang/vala/vala-0.45.3.ebuild b/dev-lang/vala/vala-0.45.3.ebuild
new file mode 100644
index 000000000000..1e4963ceb59d
--- /dev/null
+++ b/dev-lang/vala/vala-0.45.3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_EAUTORECONF="yes"
+
+inherit gnome2
+
+DESCRIPTION="Compiler for the GObject type system"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0.46"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
+IUSE="test valadoc"
+
+RDEPEND="
+	>=dev-libs/glib-2.48.0:2
+	>=dev-libs/vala-common-${PV}
+	valadoc? ( >=media-gfx/graphviz-2.16 )
+"
+DEPEND="${RDEPEND}
+	!${CATEGORY}/${PN}:0
+	dev-libs/libxslt
+	sys-devel/flex
+	virtual/pkgconfig
+	virtual/yacc
+	test? (
+		dev-libs/dbus-glib
+		>=dev-libs/glib-2.26:2
+		dev-libs/gobject-introspection )
+"
+
+PATCHES=(
+	# Add missing bits to make valadoc parallel installable
+	"${FILESDIR}"/0.44-valadoc-doclets-data-parallel-installable.patch
+)
+
+src_configure() {
+	# weasyprint enables generation of PDF from HTML
+	gnome2_src_configure \
+		--disable-unversioned \
+		$(use_enable valadoc) \
+		VALAC=: \
+		WEASYPRINT=:
+}
+
+src_install() {
+	default
+	find "${D}" -name "*.la" -delete || die
+}
diff --git a/dev-lang/yap/Manifest b/dev-lang/yap/Manifest
index 41301e5909e5..ed0f9d2bfd43 100644
--- a/dev-lang/yap/Manifest
+++ b/dev-lang/yap/Manifest
@@ -1,6 +1,6 @@
-AUX yap-6.3.3-fix-gcc9.patch 1112 BLAKE2B 7b416b83d33c71f787557692fa0a5f0e955299e979adc13f8717ac5ac84af4798db7011ee461aaa78dcdc428b08897b181d45869f8d08b110240c62bc09ff3c4 SHA512 60e6c1745bda4691d61b1fcc61b96d8f0bc806e2788da152888d0659dd1eb0113bdd584d16d084ad398fcff9a613a856b5283b906a935008b1d9a3c092f03d6d
 DIST yap-6.3.3-gentoo-patchset-11.tar.gz 6021 BLAKE2B d83682de9a6f095482db66f4fd5bb562739121b8502464d92fb784c634bfbfc020ae3ec55641aaeb8c0d52ce5534f7888bdd7d3d556f68c749b2f0ee35860764 SHA512 d9645a6f5c2b633fb5b61f8b6219ac69ae28e4f53f149fcdbb161cb7a8226aecab64f831a19e73876eb5056bb9efc3501fe792b6dca418a2a56b058ec658a2db
+DIST yap-6.3.3-gentoo-patchset-12.tar.gz 6478 BLAKE2B 405f7a080c670ef1ca246bd60fc6a29aaff5e0c0b2323adef2eff7eb471a79e59a043c2348b8db0f9a70e7d858068cd4c5d51ad9ff13159186ff157e0272ffb1 SHA512 39dc3397ce59e34b4ee82ef9105c0493483f7db4b6018db5ca7f41b0af55f9102fa326bcb79cc3e766fa9faabda17807caf76cfdbbced7905b44749078ee8732
 DIST yap-6.3.3.tar.gz 7879301 BLAKE2B 1b12a3113dd57634df64680726fd49575979b84126a7a9e1f4d1429be90e1b95599166151ffe62c9ef990ac3c32f57a1efae081b864fc22225c93d21807f412b SHA512 4ef45277ec84b6e072fa54afc7d6c18f11c3a0cdf477e35e35a0ce2181c9ff2e693f8735f63a1899373f6baf79ce0a972b37e1ae6ed8271bec60663f477bbe80
-EBUILD yap-6.3.3-r1.ebuild 2900 BLAKE2B 8cec748656cbe10c153776e09214b97065ee4b95bdf32273a36970a3d00af248c79d14226266d582a46ec5743da84dc7eafd32643ad5c701646483be54d4b2dc SHA512 6194bbd1aeb83e7484390d860959f2d7ac38dc57703f14e7ad41184ba1d462adf7039b90e9c84e66987836be4af5f93398f2ffa3fcf598d91fc0e3e1d193f818
+EBUILD yap-6.3.3-r1.ebuild 2875 BLAKE2B 18f032cdd972693befc999865182f1fa82a99cf6c1d34407fbe444c4c21d72fdbaf5e1e10982f16afbb6d2e3c9c76dc29ff78a2978eb6441694ae61da1c6ff73 SHA512 c3197e2ac2292ad7132c44f0456383bb3b1fa341a63aa51b7c71055bf047b8864a9e01d7fe9eea74eb5bde7a075e45a232397a9f44e4e61be0ff6f5d4652c47c
 EBUILD yap-6.3.3.ebuild 2869 BLAKE2B 755423834f09ec5d57b0e568a3fbc8c3639eacf8ac3db2d3048a73685af7c7cc3b8caf0628d31436e9045e6828c21de18f984662ee94eec1ee4bc586579e885b SHA512 68d0234ff375d36bd8b90c2b3375285684146f1b61b16c1a2ae7ba4a0e957f197cb357634be75395dd11f8ef43f6526e0300e0ed53da800faccc1688f32bbd23
 MISC metadata.xml 314 BLAKE2B af1c9bedbf26431e7a624c520a4c93ca9eff16f2539741b01ccf5da16c710c82d3820e3ad647a36a4629dc7b316a18c1b1306314200843e1d4d6b95c8c829442 SHA512 c5bd279aec3b80e6c08dfaa85cf091cbfcbf9380f1e5a8a0fcd6f27297368b92906340ae9dfd5176f37d36e4fb61ca772448c0248121d8e302c181bf670e57bc
diff --git a/dev-lang/yap/files/yap-6.3.3-fix-gcc9.patch b/dev-lang/yap/files/yap-6.3.3-fix-gcc9.patch
deleted file mode 100644
index f16d29142215..000000000000
--- a/dev-lang/yap/files/yap-6.3.3-fix-gcc9.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://bugs.gentoo.org/686048
-
-./SolverTypes.h:122:20: error: friend declaration of ‘Clause* Clause_new(const V&, bool)’ specifies default arguments and isn’t a definition [-fpermissive]
-  122 |     friend Clause* Clause_new(const V& ps, bool learnt = false);
-      |                    ^~~~~~~~~~
-
---- a/packages/swi-minisat2/C/SolverTypes.h
-+++ b/packages/swi-minisat2/C/SolverTypes.h
-@@ -97,6 +97,9 @@
- //=================================================================================================
- // Clause -- a simple class for representing a clause:
- 
-+class Clause;
-+template<class V>
-+Clause* Clause_new(const V& ps, bool learnt = false);
- 
- class Clause {
-     uint32_t size_etc;
-@@ -119,7 +122,7 @@
- 
-     // -- use this function instead:
-     template<class V>
--    friend Clause* Clause_new(const V& ps, bool learnt = false);
-+    friend Clause* Clause_new(const V& ps, bool learnt);
- 
-     int          size        ()      const   { return size_etc >> 3; }
-     void         shrink      (int i)         { assert(i <= size()); size_etc = (((size_etc >> 3) - i) << 3) | (size_etc & 7); }
diff --git a/dev-lang/yap/yap-6.3.3-r1.ebuild b/dev-lang/yap/yap-6.3.3-r1.ebuild
index 3864fe27707b..d8893f8b612b 100644
--- a/dev-lang/yap/yap-6.3.3-r1.ebuild
+++ b/dev-lang/yap/yap-6.3.3-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=6
 
 inherit flag-o-matic java-pkg-opt-2
 
-PATCHSET_VER="11"
+PATCHSET_VER="12"
 
 DESCRIPTION="YAP is a high-performance Prolog compiler"
 HOMEPAGE="http://www.dcc.fc.up.pt/~vsc/Yap/"
@@ -29,10 +29,7 @@ RDEPEND="sys-libs/zlib
 DEPEND="${RDEPEND}
 	doc? ( app-text/texi2html )"
 
-PATCHES=(
-	"${WORKDIR}"/${PV}
-	"${FILESDIR}"/${PN}-6.3.3-fix-gcc9.patch
-)
+PATCHES=( "${WORKDIR}"/${PV} )
 
 src_prepare() {
 	default
@@ -64,6 +61,7 @@ src_configure() {
 
 	econf \
 		--libdir=/usr/$(get_libdir) \
+		--disable-chr \
 		--disable-prism \
 		--disable-gecode \
 		$(use_enable !static dynamic-loading) \
diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest
new file mode 100644
index 000000000000..839c3c9c1d76
--- /dev/null
+++ b/dev-lang/zig/Manifest
@@ -0,0 +1,3 @@
+DIST zig-0.4.0.tar.gz 8924757 BLAKE2B 5ca3377f205694ff02360900b49eee7347cdf1cdaef90f1be071eff2610425ed453dfb35928fbe65b25f151b7153ab838c887d362ed3cd746f07833ae42510fd SHA512 423915730bc4ae9a67db3731a96471467826d16e59b87b3541f3e8ed2436f941939f22ccbebdb9a958a195b05360eb65f5be1658b32a01cc8db55c6e581eb039
+EBUILD zig-0.4.0.ebuild 1544 BLAKE2B 2a9d70f9cd671727bbe6f57b0687fb4aeb747e5414f2f7b906694bfe7e69b77a084288667f75f364c64c8eca316c4d09e37f6f0dc31c815eea6cae04c9377753 SHA512 543d71bf430cb020ef4cacea6bcaf5298d02f7acf3449b87aeed2d9158ab8899dd16ee0281566829f0aaca4b29b1074353c492b357d4d5919acc819649ca1a0c
+MISC metadata.xml 549 BLAKE2B 1f79da87db9888bc7a1c12163f7ee36dcb37645f5bdeb61034144f76b03b7e464c05f62a8753b0b85fd0ed4fd33ea1066da552d29d28bdd2502918697b3d94a0 SHA512 5867cda8d47f181e93b4aa4763efa5e12d7a6bbf1001e496cd82cc892a43b144a2d8a0a4d26466ac171622acf3590866d9d75a16c8337ae06734d5d4f8b2e908
diff --git a/dev-lang/zig/metadata.xml b/dev-lang/zig/metadata.xml
new file mode 100644
index 000000000000..514f150afb0e
--- /dev/null
+++ b/dev-lang/zig/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>n@nirf.de</email>
+		<name>Nick Erdmann</name>
+	</maintainer>
+	<maintainer type="project">
+		<email>proxy-maint@gentoo.org</email>
+		<name>Proxy Maintainers</name>
+	</maintainer>
+	<use>
+		<flag name="experimental">Enable builds that do not support all of LLVM's target architectures</flag>
+	</use>
+	<upstream>
+		<remote-id type="github">ziglang/zig</remote-id>
+	</upstream>
+</pkgmetadata>
diff --git a/dev-lang/zig/zig-0.4.0.ebuild b/dev-lang/zig/zig-0.4.0.ebuild
new file mode 100644
index 000000000000..606e696a4c59
--- /dev/null
+++ b/dev-lang/zig/zig-0.4.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+DESCRIPTION="A robust, optimal, and maintainable programming language"
+HOMEPAGE="https://ziglang.org/"
+LICENSE="MIT"
+SLOT="0"
+IUSE="+experimental"
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://github.com/ziglang/zig.git"
+	inherit git-r3
+else
+	SRC_URI="https://github.com/ziglang/zig/archive/${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64"
+fi
+
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 NVPTX
+	PowerPC Sparc SystemZ WebAssembly X86 XCore )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+# According to zig's author, zig builds that do not support all targets are not
+# supported by the upstream project.
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]}
+
+RDEPEND="
+	sys-devel/llvm:8
+	!experimental? ( sys-devel/llvm:8[${LLVM_TARGET_USEDEPS// /,}] )
+"
+
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+	if use experimental; then
+		sed -i '/^NEED_TARGET(/d' cmake/Findllvm.cmake || die "unable to modify cmake/Findllvm.cmake"
+	fi
+
+	sed -i '/^install(TARGETS zig_cpp/d' CMakeLists.txt || die "unable to modify CMakeLists.txt"
+	sed -i '/install(TARGETS embedded/d' CMakeLists.txt || die "unable to modify CMakeLists.txt"
+
+	# Suppress error messages
+	sed -i '/if(NOT(CMAKE_BUILD_TYPE/,/endif()/d' cmake/Findllvm.cmake || die "unable to modify cmake/Findllvm.cmake"
+
+	cmake-utils_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DBUILD_SHARED_LIBS=OFF
+	)
+
+	cmake-utils_src_configure
+}
-- 
cgit v1.2.3