summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin18018 -> 18192 bytes
-rw-r--r--dev-lang/R/Manifest2
-rw-r--r--dev-lang/R/R-3.4.1.ebuild4
-rw-r--r--dev-lang/gnat-gpl/Manifest4
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2017.ebuild2
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2019.ebuild2
-rw-r--r--dev-lang/go/Manifest2
-rw-r--r--dev-lang/go/go-9999.ebuild19
-rw-r--r--dev-lang/jimtcl/Manifest2
-rw-r--r--dev-lang/jimtcl/files/jimtcl-0.78-no-bootstrap.patch35
-rw-r--r--dev-lang/jimtcl/jimtcl-0.78-r2.ebuild59
-rw-r--r--dev-lang/moarvm/Manifest3
-rw-r--r--dev-lang/moarvm/files/fix-quoting.patch28
-rw-r--r--dev-lang/moarvm/moarvm-2019.07.ebuild60
-rw-r--r--dev-lang/mono/Manifest4
-rw-r--r--dev-lang/mono/mono-4.8.0.524.ebuild4
-rw-r--r--dev-lang/mono/mono-6.0.0.313.ebuild106
-rw-r--r--dev-lang/nasm/Manifest2
-rw-r--r--dev-lang/nasm/nasm-2.14.02.ebuild2
-rw-r--r--dev-lang/ocaml/Manifest2
-rw-r--r--dev-lang/ocaml/ocaml-4.04.2-r1.ebuild2
-rw-r--r--dev-lang/perl/Manifest1
-rw-r--r--dev-lang/perl/files/perl-5.28.0-dirhandle.patch99
-rw-r--r--dev-lang/php/Manifest40
-rw-r--r--dev-lang/php/metadata.xml1
-rw-r--r--dev-lang/php/php-5.6.40-r1.ebuild801
-rw-r--r--dev-lang/php/php-5.6.40-r3.ebuild789
-rw-r--r--dev-lang/php/php-5.6.40-r4.ebuild2
-rw-r--r--dev-lang/php/php-5.6.40-r5.ebuild (renamed from dev-lang/php/php-5.6.40-r2.ebuild)11
-rw-r--r--dev-lang/php/php-7.1.27.ebuild737
-rw-r--r--dev-lang/php/php-7.1.30.ebuild2
-rw-r--r--dev-lang/php/php-7.1.31.ebuild (renamed from dev-lang/php/php-7.1.29.ebuild)2
-rw-r--r--dev-lang/php/php-7.2.16.ebuild749
-rw-r--r--dev-lang/php/php-7.2.19.ebuild749
-rw-r--r--dev-lang/php/php-7.2.20.ebuild2
-rw-r--r--dev-lang/php/php-7.2.21.ebuild (renamed from dev-lang/php/php-7.2.18.ebuild)0
-rw-r--r--dev-lang/php/php-7.3.7-r1.ebuild2
-rw-r--r--dev-lang/php/php-7.3.8.ebuild (renamed from dev-lang/php/php-7.3.6.ebuild)2
-rw-r--r--dev-lang/php/php-7.4.0_beta1.ebuild (renamed from dev-lang/php/php-7.3.5.ebuild)175
-rw-r--r--dev-lang/ruby/Manifest10
-rw-r--r--dev-lang/ruby/ruby-2.4.5.ebuild230
-rw-r--r--dev-lang/ruby/ruby-2.4.6.ebuild4
-rw-r--r--dev-lang/ruby/ruby-2.5.5.ebuild2
-rw-r--r--dev-lang/ruby/ruby-2.6.2.ebuild2
-rw-r--r--dev-lang/ruby/ruby-2.6.3.ebuild2
-rw-r--r--dev-lang/spidermonkey/Manifest8
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch24
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch44
-rw-r--r--dev-lang/spidermonkey/spidermonkey-1.8.5-r7.ebuild2
-rw-r--r--dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild3
-rw-r--r--dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild3
-rw-r--r--dev-lang/swi-prolog/Manifest7
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.0.1.ebuild100
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.1.10.ebuild (renamed from dev-lang/swi-prolog/swi-prolog-8.0.0.ebuild)2
-rw-r--r--dev-lang/vala/Manifest5
-rw-r--r--dev-lang/vala/files/0.44-valadoc-doclets-data-parallel-installable.patch207
-rw-r--r--dev-lang/vala/vala-0.44.6.ebuild51
-rw-r--r--dev-lang/vala/vala-0.45.3.ebuild51
-rw-r--r--dev-lang/yap/Manifest4
-rw-r--r--dev-lang/yap/files/yap-6.3.3-fix-gcc9.patch27
-rw-r--r--dev-lang/yap/yap-6.3.3-r1.ebuild8
-rw-r--r--dev-lang/zig/Manifest3
-rw-r--r--dev-lang/zig/metadata.xml18
-rw-r--r--dev-lang/zig/zig-0.4.0.ebuild56
64 files changed, 910 insertions, 4471 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 48c354d8f777..a340113e2886 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files 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-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-r2.ebuild b/dev-lang/php/php-5.6.40-r5.ebuild
index d38bf8fa63f2..11592d2ee3d2 100644
--- a/dev-lang/php/php-5.6.40-r2.ebuild
+++ b/dev-lang/php/php-5.6.40-r5.ebuild
@@ -5,7 +5,7 @@ EAPI="7"
inherit autotools flag-o-matic systemd
-PATCH_V="7.1.28bp"
+PATCH_V="7.1.31bp"
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://secure.php.net/"
@@ -34,7 +34,7 @@ IUSE="${IUSE}
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
+ +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
@@ -239,9 +239,10 @@ src_prepare() {
eapply "${patchdir}/"
# Copy test binaries from patches
- cp "${patchdir}/bug77540.jpg" \
- "${patchdir}/bug77753.tiff" "${patchdir}/bug77831.tiff" \
- "${patchdir}/bug77563.jpg" "ext/exif/tests/" || die
+ 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
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.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.29.ebuild b/dev-lang/php/php-7.1.31.ebuild
index 21ae6551ee5a..938d10c7b54d 100644
--- a/dev-lang/php/php-7.1.29.ebuild
+++ b/dev-lang/php/php-7.1.31.ebuild
@@ -31,7 +31,7 @@ IUSE="${IUSE}
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
+ +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
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.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.18.ebuild b/dev-lang/php/php-7.2.21.ebuild
index 2d85e9d999ef..2d85e9d999ef 100644
--- a/dev-lang/php/php-7.2.18.ebuild
+++ b/dev-lang/php/php-7.2.21.ebuild
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.6.ebuild b/dev-lang/php/php-7.3.8.ebuild
index c8de16897fe7..1e66c720846d 100644
--- a/dev-lang/php/php-7.3.6.ebuild
+++ b/dev-lang/php/php-7.3.8.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.5.ebuild b/dev-lang/php/php-7.4.0_beta1.ebuild
index e8bbeb8dbb09..4e86c019721d 100644
--- a/dev-lang/php/php-7.3.5.ebuild
+++ b/dev-lang/php/php-7.4.0_beta1.ebuild
@@ -3,12 +3,14 @@
EAPI="7"
+WANT_AUTOMAKE="none"
+
inherit flag-o-matic systemd autotools
-MY_PV=${PV/_rc/RC}
+MY_PV=${PV/_/}
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="https://php.net/"
-SRC_URI="https://php.net/distributions/${P}.tar.xz"
+SRC_URI="https://downloads.php.net/~derick/${P/_/}.tar.xz"
LICENSE="PHP-3.01
BSD
@@ -19,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"
S="${WORKDIR}/${PN}-${MY_PV}"
@@ -33,15 +35,15 @@ IUSE="${IUSE}
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
+ 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 recode selinux +session session-mm sharedmem
+ readline 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"
+ 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
@@ -64,31 +66,28 @@ COMMON_DEPEND="
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= >=sys-libs/zlib-1.2.0.4 )
+ 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:= )
- 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 )
+ 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? ( >=dev-db/unixODBC-1.8.13 )
+ 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= )
- 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 )
@@ -100,16 +99,11 @@ COMMON_DEPEND="
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 )
+ xml? ( >=dev-libs/libxml2-2.7.6 )
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:= )
+ xslt? ( dev-libs/libxslt )
+ zip? ( >=dev-libs/libzip-1.2.0:= )
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
"
@@ -132,6 +126,7 @@ BDEPEND="virtual/pkgconfig"
REQUIRED_USE="
|| ( cli cgi fpm apache2 embed phpdbg )
cli? ( ^^ ( readline libedit ) )
+ !cli? ( ?? ( readline libedit ) )
truetype? ( gd zlib )
webp? ( gd zlib )
cjk? ( gd zlib )
@@ -140,23 +135,17 @@ REQUIRED_USE="
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
- wddx? ( xml )
- xmlrpc? ( || ( xml iconv ) )
+ xmlrpc? ( xml iconv )
xmlreader? ( xml )
+ xmlwriter? ( 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 )
+ firebird? ( pdo )
+ mssql? ( pdo )
"
-PATCHES=(
- "${FILESDIR}/php-freetype-2.9.1.patch"
-)
PHP_MV="$(ver_cut 1)"
@@ -230,8 +219,7 @@ src_prepare() {
|| 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"
+ cp "${BROOT}/usr/share/aclocal/libtool.m4" build/ || die
eautoreconf
}
@@ -256,96 +244,88 @@ src_configure() {
our_conf+=(
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_enable bcmath bcmath)
+ $(use_enable bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
- $(use_enable calendar calendar)
+ $(use_enable calendar)
$(use_enable coverage gcov)
- $(use_enable ctype ctype)
- $(use_with curl curl "${EPREFIX}/usr")
+ $(use_enable ctype)
+ $(use_with curl)
$(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 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_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 intl)
+ $(use_enable ipv6)
+ $(use_enable json)
+ $(use_with kerberos)
+ $(use_with xml libxml)
$(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 ssl openssl)
+ $(use_enable pcntl)
+ $(use_enable phar)
+ $(use_enable pdo)
+ $(use_enable opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
- $(use_enable posix posix)
+ $(use_enable posix)
$(use_with spell pspell "${EPREFIX}/usr")
- $(use_with recode recode "${EPREFIX}/usr")
- $(use_enable simplexml simplexml)
+ $(use_enable 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 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 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_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 debug)
+ $(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${shared}" )
+ our_conf+=( "--enable-dba" )
fi
# DBA drivers support
our_conf+=(
- $(use_with cdb cdb)
+ $(use_with cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
- $(use_enable flatfile flatfile)
+ $(use_enable flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
- $(use_enable inifile inifile)
+ $(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-dir "${EPREFIX}/usr")
+ $(use_with truetype freetype)
$(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 gd jpeg)
+ $(use_with xpm)
+ $(use_with webp)
)
- 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) )
+ our_conf+=( $(use_enable gd) )
# IMAP support
if use imap ; then
@@ -355,14 +335,11 @@ src_configure() {
)
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")
+ $(use_with ldap-sasl)
)
fi
@@ -380,7 +357,7 @@ src_configure() {
# ODBC support
our_conf+=(
$(use_with odbc unixODBC "${EPREFIX}/usr")
- $(use_with iodbc iodbc "${EPREFIX}/usr")
+ $(use_with iodbc)
)
# Oracle support
@@ -392,7 +369,7 @@ src_configure() {
$(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 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)
@@ -402,28 +379,24 @@ src_configure() {
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
- $(use_with libedit libedit "${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 session) )
+ 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-pcre-regex affects ext/pcre
- # --with-pcre-dir affects ext/filter and ext/zip
- # --with-pcre-valgrind cannot be enabled with system pcre
+ # --with-external-pcre affects ext/pcre
# Many arches don't support pcre-jit
our_conf+=(
- --with-pcre-regex="${EPREFIX}/usr"
- --with-pcre-dir="${EPREFIX}/usr"
- --without-pcre-valgrind
+ --with-external-pcre
--without-pcre-jit
)
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.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.0.0.ebuild b/dev-lang/swi-prolog/swi-prolog-8.1.10.ebuild
index e290240e32c9..b986aa50d899 100644
--- a/dev-lang/swi-prolog/swi-prolog-8.0.0.ebuild
+++ b/dev-lang/swi-prolog/swi-prolog-8.1.10.ebuild
@@ -9,7 +9,7 @@ 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"
+SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
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
+}