summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-05-29 03:22:09 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-05-29 03:22:09 +0100
commitd4bd6695641f6d2ec7ff8681913d304e995902f5 (patch)
tree6ec8d4c38152bb4f2bb4b93277236ebd9fbbd21d /dev-lang
parent22910f5d14da606bd7f06e19a2f61c5d1a8fc94b (diff)
gentoo resync : 29.05.2018
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin18866 -> 18847 bytes
-rw-r--r--dev-lang/erlang/Manifest2
-rw-r--r--dev-lang/erlang/erlang-20.3.ebuild2
-rw-r--r--dev-lang/lazarus/Manifest2
-rw-r--r--dev-lang/lazarus/lazarus-1.8.4.ebuild75
-rw-r--r--dev-lang/luajit/Manifest2
-rw-r--r--dev-lang/luajit/luajit-1.1.6.ebuild54
-rw-r--r--dev-lang/moarvm/Manifest2
-rw-r--r--dev-lang/moarvm/moarvm-2018.05.ebuild57
-rw-r--r--dev-lang/mono/Manifest2
-rw-r--r--dev-lang/mono/mono-4.8.0.524.ebuild2
-rw-r--r--dev-lang/nqp/Manifest2
-rw-r--r--dev-lang/nqp/nqp-2018.05.ebuild159
-rw-r--r--dev-lang/php/Manifest18
-rw-r--r--dev-lang/php/php-5.6.33.ebuild771
-rw-r--r--dev-lang/php/php-5.6.34.ebuild775
-rw-r--r--dev-lang/php/php-5.6.35-r1.ebuild2
-rw-r--r--dev-lang/php/php-7.0.27.ebuild741
-rw-r--r--dev-lang/php/php-7.0.28.ebuild745
-rw-r--r--dev-lang/php/php-7.0.29.ebuild2
-rw-r--r--dev-lang/php/php-7.1.13.ebuild723
-rw-r--r--dev-lang/php/php-7.1.15.ebuild727
-rw-r--r--dev-lang/php/php-7.1.16.ebuild2
-rw-r--r--dev-lang/python-exec/Manifest6
-rw-r--r--dev-lang/python-exec/python-exec-2.4.6.ebuild (renamed from dev-lang/python-exec/python-exec-2.4.4.ebuild)9
-rw-r--r--dev-lang/python-exec/python-exec-9999.ebuild23
-rw-r--r--dev-lang/rakudo/Manifest2
-rw-r--r--dev-lang/rakudo/rakudo-2018.05.ebuild72
-rw-r--r--dev-lang/ruby/Manifest9
-rw-r--r--dev-lang/ruby/ruby-2.2.10.ebuild2
-rw-r--r--dev-lang/ruby/ruby-2.3.7.ebuild2
-rw-r--r--dev-lang/ruby/ruby-2.5.0-r1.ebuild238
-rw-r--r--dev-lang/ruby/ruby-2.5.0-r2.ebuild238
-rw-r--r--dev-lang/rust/Manifest2
-rw-r--r--dev-lang/rust/rust-1.26.0-r3.ebuild (renamed from dev-lang/rust/rust-1.26.0-r2.ebuild)1
35 files changed, 402 insertions, 5069 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 746f807cd732..5d8142883745 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 52c1ee93f657..a74eba3cc688 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -23,5 +23,5 @@ EBUILD erlang-19.1.ebuild 4482 BLAKE2B 36a4249649473f50cce66f542c98dbefee41a56d5
EBUILD erlang-19.3.ebuild 4535 BLAKE2B 248bcab46bc6830e6ffcc626d8170b99f5705c7955fd7184e2f8b8799e0ab4fc97c9741bf4ad9413da479c703b585589e2eae63c9fb298d7e36750fadcb1b56b SHA512 c1b60ca3420d5a3cb1561376c6622d346dbd483e8ff5965f2823a6b1e1e3b0146b32a805307d0a7563ae5171d005cfc27a6662ae2ba8fff0511c5db221851b14
EBUILD erlang-20.2.ebuild 4586 BLAKE2B e3eed51b916285c87e212446047d07d47492410580464a2c800642be36426848f859573387204afd7ab67d72bbfaefec4189b973525f23829bed9f7a365d436b SHA512 80d5567d6233c7d9fcd53ca64814dd8cf188094decc6f8708563c22bef77b0b85bd23623df825f085f738547bf64b68fdde160b2ca9389b743a2c56259bf37b6
EBUILD erlang-20.3.2.ebuild 6607 BLAKE2B d25ae5f93fc21e7304beeeecc99cd39516d52685d13003b5c9458272e1e6a9301a028009f746be53c20d20d1d896ec4177d9f06ed1d608ad4c466f1497226046 SHA512 dc6f1228f0f0b9a852f0d8cae149476b44f6069ec647340d259e8cb016a54c80265234e97e49686b33a3948cff485a2a30d276e03c1186749ecdc724e9cbefe2
-EBUILD erlang-20.3.ebuild 4699 BLAKE2B b4cd9b670ce2897c723d20bdd1ef6b93975f0320becae4b4d32acb205b830884ba7659c38f2778b0be6b3db294fdddd7363195533c2afbd3d03bdd7b94980176 SHA512 3cba4ec0de5216e74c8486472958b1531f523a129abf304a13731d1f9992e9567f1cf2e86b1575621bfa7e3f803159ac6a05132d5abb4df8948a605604df4e4d
+EBUILD erlang-20.3.ebuild 4697 BLAKE2B 79a1e7b7a7bef8ef5009219563f5e6974ce46e05dbbdea71bbb32c8042ab27e1c4afd5d5d1128355cb83f6bc4b144757aaa30487c5bc13edbe88037615366556 SHA512 f57fa1d4d15e1145861c00d6281fd3edcf75ce96a62d90e9363e036f550f92cc77a17a3fc35e1519e7a26d8d588bf4da8aac2ea1d636adbb167df637753aa53e
MISC metadata.xml 700 BLAKE2B f71879bdfc301ed27bd8212f074e5dbb176b29bcdab9edeb5ce0ba3dab3d8cb888977a140e91b0a50fbe35960799ab487afa3cd26a7b3b52d01909c678c1f30c SHA512 cada8e7cf719a6f0249c9f8538452d599e9ea938b2d57a9083e728c8f9d1c259871cc0f32c4f01c725692dd5e8270f0f67d84335593bdfe5ae31a54f117b1b84
diff --git a/dev-lang/erlang/erlang-20.3.ebuild b/dev-lang/erlang/erlang-20.3.ebuild
index f95c37636459..7bd00f93f638 100644
--- a/dev-lang/erlang/erlang-20.3.ebuild
+++ b/dev-lang/erlang/erlang-20.3.ebuild
@@ -17,7 +17,7 @@ SRC_URI="http://www.erlang.org/download/otp_src_${PV}.tar.gz
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
IUSE="compat-ethread dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets"
REQUIRED_USE="dirty-schedulers? ( smp )" #621610
diff --git a/dev-lang/lazarus/Manifest b/dev-lang/lazarus/Manifest
index b3d6bcf2e6ec..771782f7b8f1 100644
--- a/dev-lang/lazarus/Manifest
+++ b/dev-lang/lazarus/Manifest
@@ -4,9 +4,11 @@ DIST lazarus-1.6.2-0.tar.gz 55949169 BLAKE2B e8d4c4f786bffea4eec9ed326ba00acca93
DIST lazarus-1.6.4-0.tar.gz 57180961 BLAKE2B 930beda6ad04999e749fe4b76a64ab00b0138c18b0f3aea0cbac089ecb3f419aa4165d06757d6ee2d3c6e43401f2be5e154947d07f892a6bc5f4bb8831bad62d SHA512 d7d498483ef9e1eebd0d8ca2325d1984cb1297837ebe2f9547e67f26fc049c2168e2feeac739b8403c08a8251040e9161c962d25951545384ffbdbb076fda2aa
DIST lazarus-1.8.0.tar.gz 62114372 BLAKE2B 8593e384ef5e311f3a777422a255e292d2d4c240baac0cb12778bb23e59d76301d75c9133585fd45af3ad0290b242ed5640a6dd9b27e1197d325e2ae5845495f SHA512 dd5e02e9c0a057cf9a6b2c15605969cf4cb743aa78fc81bfdc7c566434127893cf32bab5bd1729f79b51c611bf9ae015bea8d774e0544ead42a064f1224ffd7b
DIST lazarus-1.8.2.tar.gz 62935678 BLAKE2B f993e9630ab932a7a7f7bcf488d179d33a6dfef6c1de749d01c12f91f894bccd05a784ec2e2b89a9565421a192abce6c1675df2676bfff2fd8307d2ab4828db5 SHA512 3dddbf3bfacb0b04c427086c911a4ff67be0d5b291d23c1efce2d813e2cbd2e26b54b2851b5ad223f8df8c2652c002bc684a54c936a0a77c85ccdce08651531b
+DIST lazarus-1.8.4.tar.gz 63130653 BLAKE2B f9b2ba9971f1a9a9c3b8d2004bd3516c12db5384bb6243ef275c2fc0d458634fba0c1c23e7ecd5c160c1204d6cc2b4ebc340ce8bb5cfdd9c531f8c36ae59d1e2 SHA512 82cdc3c32dddf8e67c0bed9292a9a924227bab50f22ca479f5e98ecccbf60dd66c7f886ecb8e2979d9d8fccc3d25462ee8c55fcab085aa4194b4704660e0b95d
EBUILD lazarus-1.0.12.ebuild 2353 BLAKE2B 92b70e8ac8a040c9128547c343fdd0f751b5cb72c6cd59c87724151bec4c8b593ea1a04587784f368d8d16e71f13ea13d7ce2256bbd4a9a6018c6869a04a0524 SHA512 93e90953cd2d4390bb1317c3e15094f8fb11f9e000f37f46a58362a71995c6b37643056c254a05baba3294cd6067b18d2016219ae0dba6bcea4be809dc6090ac
EBUILD lazarus-1.6.2.ebuild 2342 BLAKE2B f65b394c2422fa0e144b275dafda4553365778ddcd944e8e0a50b558379ed3c2c06b613aab068ac2b2a6c50ec96eae27781655c5c7b47f177a240d6d7706195e SHA512 1c71ca087ba0e922b534962b9e375849ba976e9d9f61a5823861cb245a8a833148789551e28b08d7f4d17cb2d728872faecdbb269d25d9527f001e3050a34267
EBUILD lazarus-1.6.4.ebuild 2342 BLAKE2B f02a3c7c3a7e28fa754f560003761fb44257a0f49694c45902f134ce5f5322ece0d94633e495ab2547ee064abd4973f8378e61368c316fb0b451b5737f28dc4f SHA512 348abd222125bf2449cd434312209aaf758ca7f0dbd65a66b985e7afc7851ec71494631c0f2f86e39557a26e949c95afe99327cf0b48a363d6eeee26fbf4a294
EBUILD lazarus-1.8.0.ebuild 2344 BLAKE2B eadf144048d43a8ea6b0d67a06d6fc26b130dabe7568fc057df2a1505d473493da04a1d601591f3387393c233c485938cc6364d5534307b1e2b1de30ffe8cf55 SHA512 6b4aadad4c8fba37c14d171d8ebbe84f4542aac45484bae74df09b9dc5d34d4e8c2e9027700927f9575ae791e2a248209b19e14887730f8ed5d14b75585ab409
EBUILD lazarus-1.8.2.ebuild 2285 BLAKE2B a04e012ce18d7c8d793043b82bff199c3c558d44e52a64d81037658eb9f19c26d8a15c50f5f0aad54e7285d11b8e5700403b1ab88687ad2c5e85177c1437778d SHA512 642ef819cdc11082b2530b7c06d60be77abdb22008e16b0a45313e4981d3a6b22bd3d7065c951826bd98ce285726ab52178e625d9392e7b273433dfa55499983
+EBUILD lazarus-1.8.4.ebuild 2285 BLAKE2B a04e012ce18d7c8d793043b82bff199c3c558d44e52a64d81037658eb9f19c26d8a15c50f5f0aad54e7285d11b8e5700403b1ab88687ad2c5e85177c1437778d SHA512 642ef819cdc11082b2530b7c06d60be77abdb22008e16b0a45313e4981d3a6b22bd3d7065c951826bd98ce285726ab52178e625d9392e7b273433dfa55499983
MISC metadata.xml 516 BLAKE2B b4023336c3271703bc3912f9ab02eed6b57178d1f468194bdac5ac9b01027c5f7c847e776e9b1048a9ce29a4939055e3c00e289868a740c76bb2b7c0e6ff9085 SHA512 991dd36587eaa2412af0fccac7664c72a1d9153d12b313ae151943d7c66ac095b3d2cbe61fe4d84c4566e196ff11e1c16c6ffe2ab6e00fa40fc2fdfe23cee524
diff --git a/dev-lang/lazarus/lazarus-1.8.4.ebuild b/dev-lang/lazarus/lazarus-1.8.4.ebuild
new file mode 100644
index 000000000000..5a5cd58c19aa
--- /dev/null
+++ b/dev-lang/lazarus/lazarus-1.8.4.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit desktop
+
+FPCVER="3.0.4"
+
+DESCRIPTION="Lazarus IDE is a feature rich visual programming environment emulating Delphi"
+HOMEPAGE="https://www.lazarus-ide.org/"
+SRC_URI="https://sourceforge.net/projects/${PN}/files/Lazarus%20Zip%20_%20GZip/Lazarus%20${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1-with-linking-exception"
+SLOT="0" # Note: Slotting Lazarus needs slotting fpc, see DEPEND.
+KEYWORDS="~amd64 ~x86"
+IUSE="minimal"
+
+DEPEND=">=dev-lang/fpc-${FPCVER}[source]
+ net-misc/rsync
+ x11-libs/gtk+:2
+ >=sys-devel/binutils-2.19.1-r1:="
+RDEPEND="${DEPEND}
+ !=gnome-base/librsvg-2.16.1"
+
+RESTRICT="strip" #269221
+
+S="${WORKDIR}/${PN}"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.9.26-fpcsrc.patch )
+
+src_prepare() {
+ default
+ # Use default configuration (minus stripping) unless specifically requested otherwise
+ if ! test ${PPC_CONFIG_PATH+set} ; then
+ local FPCVER=$(fpc -iV)
+ export PPC_CONFIG_PATH="${WORKDIR}"
+ sed -e 's/^FPBIN=/#&/' /usr/lib/fpc/${FPCVER}/samplecfg |
+ sh -s /usr/lib/fpc/${FPCVER} "${PPC_CONFIG_PATH}" || die
+ fi
+}
+
+src_compile() {
+ LCL_PLATFORM=gtk2 emake \
+ $(usex minimal "" "bigide") \
+ -j1
+}
+
+src_install() {
+ diropts -m0755
+ dodir /usr/share
+ # Using rsync to avoid unnecessary copies and cleaning...
+ # Note: *.o and *.ppu are needed
+ rsync -a \
+ --exclude="CVS" --exclude=".cvsignore" \
+ --exclude="*.ppw" --exclude="*.ppl" \
+ --exclude="*.ow" --exclude="*.a"\
+ --exclude="*.rst" --exclude=".#*" \
+ --exclude="*.~*" --exclude="*.bak" \
+ --exclude="*.orig" --exclude="*.rej" \
+ --exclude=".xvpics" --exclude="*.compiled" \
+ --exclude="killme*" --exclude=".gdb_hist*" \
+ --exclude="debian" --exclude="COPYING*" \
+ --exclude="*.app" \
+ "${S}" "${ED%/}"/usr/share \
+ || die "Unable to copy files!"
+
+ dosym ../share/lazarus/startlazarus /usr/bin/startlazarus
+ dosym ../share/lazarus/startlazarus /usr/bin/lazarus
+ dosym ../share/lazarus/lazbuild /usr/bin/lazbuild
+ use minimal || dosym ../share/lazarus/components/chmhelp/lhelp/lhelp /usr/bin/lhelp
+ dosym ../lazarus/images/ide_icon48x48.png /usr/share/pixmaps/lazarus.png
+
+ make_desktop_entry startlazarus "Lazarus IDE" "lazarus" || die "Failed making desktop entry!"
+}
diff --git a/dev-lang/luajit/Manifest b/dev-lang/luajit/Manifest
index 723e69699777..9f3730a17071 100644
--- a/dev-lang/luajit/Manifest
+++ b/dev-lang/luajit/Manifest
@@ -1,9 +1,7 @@
-DIST LuaJIT-1.1.6.tar.gz 364447 BLAKE2B 6c9f0c8269770268a123052d63fc72ad5e44f72ded209d5e0c360d693e9867db47c31e77bbdb2452dd44e1a69181047d54874334d1d931cf25670b28c0ad6125 SHA512 5b08d0409bed23b3efd05d50007819c0023323fb0f921256fd33902b434221ebaa5ff4568813863ba3220271f7fd54720479ab8161b09d26ef5873030431592a
DIST LuaJIT-2.0.2.tar.gz 843031 BLAKE2B 7dbf36c1d41106bb55b4588920a79b4c68139e009cb157d0f4ca8f0c72d8f7def1edd4517237234c5833acdbda0ec3dc25edb18bc55298b139463dbb6e58476a SHA512 c1afea13ec61a59f37d1f61fc50bcac47208d9d4f0a80689b74e901ad2b34294b6c89a0b4eef54b43f3d2db411660da61b191b0bbfba4ba2f97743a9ee4484e3
DIST LuaJIT-2.0.3.tar.gz 844927 BLAKE2B a6ed54ef562b7af594367cbc0ed6e20295bb64781ceb6b46df81d10d7abd9fdaf902344ab7a6dfdffa6fc38b05e70648ae53c9cffdfb2a866989eba4b02fe9df SHA512 7b3e3de22ac3602299b5918b60801e45a3278e547a15c16fdae7359538d4ada27ba664935d5f97c7409f330c2f8efeaae9ea03415f5e9d5a9d81e022cd5d36e0
DIST LuaJIT-2.0.4.tar.gz 847615 BLAKE2B b410d06734056283655e70a53b4f1160553cc74a9d6a80d4a919f7f38589888fff339eda661ec623258a5f186f4eb2d2c9b5809b6f7e55f9e058058426e2fe74 SHA512 a72957bd85d8f457269e78bf08c19b28c5707df5d19920d61918f8a6913f55913ce13037fb9a6463c04cefde0c6644739f390e09d656e4bbc2c236927aa3f8f9
DIST LuaJIT-2.0.5.tar.gz 849845 BLAKE2B 961c8622e19b0e66a76a875cb46ad149cb2559b5af41f360dc41dd0d6bb924583e6477dd1329f67c2ac6ea4b8dc42c5e2f4d63ea49400aba4d9e7c7e85e4b085 SHA512 2636675602b4a060b0571c05220db2061dd2f38568e35b2be346a0f5e3128d87057d11d3d0d7567d8cc4e0817b5e4cf2c52a17a48065520962b157816465a9fe
-EBUILD luajit-1.1.6.ebuild 1295 BLAKE2B fce0f70fb2ad0486db5920c9e4524e586e7b18000895a8aa48d93f33beb16d9c4694bf40113323c57d5781888ce83632927ebbae62ec963b32ede7e4128aa6e0 SHA512 9106294b241d6ee166797a9ddec19d76375e74463e26c3dff4200a576b0378eed7b0fa3678d9ae7b8ffa8ab74395e870fb580d2ea1f875be371b0efec5e3021f
EBUILD luajit-2.0.2.ebuild 1701 BLAKE2B efab2a2a1353da44875c08337d617c41669fe71b2b90335cad6211c000aca07389ef19e92db97ab92102e773b093a38e0fa5c16aac72c2880da773be589f8335 SHA512 b414dbdb569c6121c21b68ff3f0c411d126ca82edff21df5b6640cc55f0c9b9a8edee7975d2bd7bc2d68d0073c7f06e390587884ed82e4827935025406e8df64
EBUILD luajit-2.0.3-r1.ebuild 1359 BLAKE2B 7636abf7dc42fa1d7c0c791339718308ca2d4b3e08d4e1f132669bb8d0354e2cb106614dda5642785bb8050a6280fa1adf825e7d78ab166184489aa9ac9af6f3 SHA512 4d49cd2b1666c56ad86f63b20660846cc0d2b85bb430177adee0a059f09ee9337f979f04f27262eb8e54081dca2bbade2a13969dfed30f4a7ddde77c14a284d4
EBUILD luajit-2.0.3.ebuild 1704 BLAKE2B 64a61522a1488c13178dffad3114f900b27aacf2c8b00971f83edb8312744cc045d03567beebbadfdf97bc0f7b8043826db3f9f71ddde5071b7d3abcfdc93556 SHA512 dde1467f89f2feac5123d2f63f1e305925fdca04f09fb4725cf5e0da3ff29ad0ce894fadce71fb1937a5954f14017000cf20175ba639c520cc868a7800577528
diff --git a/dev-lang/luajit/luajit-1.1.6.ebuild b/dev-lang/luajit/luajit-1.1.6.ebuild
deleted file mode 100644
index 880ea2361374..000000000000
--- a/dev-lang/luajit/luajit-1.1.6.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="2"
-
-inherit pax-utils
-
-MY_P="LuaJIT-${PV}"
-
-DESCRIPTION="A Just-In-Time Compiler for the Lua programming language"
-HOMEPAGE="http://luajit.org/"
-SRC_URI="http://luajit.org/download/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="1"
-KEYWORDS="~amd64 ~x86"
-IUSE="readline"
-
-DEPEND="readline? ( sys-libs/readline )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare(){
- # fixing prefix
- sed -i -e "s#/usr/local#${D}/usr#" Makefile \
- || die "failed to fix prefix in Makefile"
- sed -i -e 's#/usr/local/#/usr/#' src/luaconf.h \
- || die "failed to fix prefix in luaconf.h"
-
- # forcing the use of our CFLAGS
- sed -i -e "s/\$(MYCFLAGS)/\$(MYCFLAGS) ${CFLAGS}/" src/Makefile \
- || die "failed to force the use of the CFLAGS from the user"
-}
-
-src_compile(){
- if use readline; then
- emake linux_rl || die "emake failed."
- else
- emake linux || die "emake failed."
- fi
-}
-
-src_install(){
- einstall
-
- # removing empty dir that was supposed to have the man pages.
- # dev-lang/luajit:1 doesn't install man pages.
- rm -rf "${D}usr/man"
-
- mv "${D}usr/bin/luajit" "${D}usr/bin/luajit-${PV}" || die "mv failed!"
- pax-mark m "${D}usr/bin/luajit-${PV}"
- dosym "luajit-${PV}" "/usr/bin/luajit-${SLOT}"
-}
diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest
index 9383c787c712..868d576a8e83 100644
--- a/dev-lang/moarvm/Manifest
+++ b/dev-lang/moarvm/Manifest
@@ -3,10 +3,12 @@ DIST MoarVM-2018.02.tar.gz 4769154 BLAKE2B 28eaf603c908c4d1fb5d9fc8e771e3a541651
DIST MoarVM-2018.03.tar.gz 4859280 BLAKE2B 373ed24f30abc669aef914dd8e683a09f09831c82fa81784da78bd9ab31ee14bc6967afce1e2753cc6df7155bfbfba076062375348345d529872352a396a7c36 SHA512 be613e038747d771de03129e52d6e65712ddf6f73ed87eb008ae78968f2d516b4fded792a67e1ce031378c223408101ceaf25f90abf9ba35ee20c6e8401b46f1
DIST MoarVM-2018.04.1.tar.gz 4966704 BLAKE2B e69e953d98713c0571d6970b57048fa542d9d99a09b248983c043c744b8e32af4cf582f19404c89a4dbc4d2df35a3b17390fcc0e313ac9510ded5c4914f5aaff SHA512 fb79b14cadae5475df48affecc72a07085cce963f4e34e7bb20511718f73d904f53b65d2bf30c0128917b7066430cc3fedee24f97bfbec24bbed46f42bcf0082
DIST MoarVM-2018.04.tar.gz 4966390 BLAKE2B 708753aaccdd997e0703ce31706221efaaaafa0c877ae3fdf1035e399545a633a9d9fbc26909798084bf9f9d6854cc07457299119f7f50e7335a6b09291c360b SHA512 cbcceabc2f3d3d3ac73655bf16246f714923abbe909f2bfa6b1f2456801a4bebfe246f552e2704da254609e1edb66b564ef5b845c88af3761a6d552b2364fc51
+DIST MoarVM-2018.05.tar.gz 4981931 BLAKE2B cbd650cc84efbe6967ff24f0eed5e3f5ad5b199a268e6623a004cb690bdbaa75d8295b83c4e75d20584a54e17e157ab7c348bb783c82e56d6b1efdfe4815039c SHA512 0f71eafcaa1c917257bf47955b82d5c8218c171acc9c09080325f7f2b36a1418e718408ef13f69a71ed142620fd4c47d3681dda0543feb705b62d7643e00cd5f
EBUILD moarvm-2018.01.ebuild 1364 BLAKE2B 1b219150b6093edc5452ff2f7294af49fb4378c305115c882444768c3cdbfb82de7b2a2151fc88f41641ee0094ea5158d78776b271d51b40a37978b1ee2c11db SHA512 f8ef6139b8940e3d10b378df80331088866723343f094b7b9772fb45ab203d2dc4499974c614269790831057c953a9d1804dcb9c160d740c68d6a14f316f7795
EBUILD moarvm-2018.02.ebuild 1364 BLAKE2B 1b219150b6093edc5452ff2f7294af49fb4378c305115c882444768c3cdbfb82de7b2a2151fc88f41641ee0094ea5158d78776b271d51b40a37978b1ee2c11db SHA512 f8ef6139b8940e3d10b378df80331088866723343f094b7b9772fb45ab203d2dc4499974c614269790831057c953a9d1804dcb9c160d740c68d6a14f316f7795
EBUILD moarvm-2018.03.ebuild 1364 BLAKE2B 1b219150b6093edc5452ff2f7294af49fb4378c305115c882444768c3cdbfb82de7b2a2151fc88f41641ee0094ea5158d78776b271d51b40a37978b1ee2c11db SHA512 f8ef6139b8940e3d10b378df80331088866723343f094b7b9772fb45ab203d2dc4499974c614269790831057c953a9d1804dcb9c160d740c68d6a14f316f7795
EBUILD moarvm-2018.04.1.ebuild 1331 BLAKE2B f84718499a831069be6a8d8e1f204227b8533355bf09bdde95213403a662aca6dd3c7a85c83ad708b85af060d9aa486ae9cc3bce0d63ebc66301123634304ab7 SHA512 839c7cf9969abe9778766c65ab61ff9f25810e08be4d468bd6529d56ab0ec1d1820a19211406f3864ed1d86b7354541038ee35b110e8fdbf3c7fd17931e3ef56
EBUILD moarvm-2018.04.ebuild 1364 BLAKE2B 1b219150b6093edc5452ff2f7294af49fb4378c305115c882444768c3cdbfb82de7b2a2151fc88f41641ee0094ea5158d78776b271d51b40a37978b1ee2c11db SHA512 f8ef6139b8940e3d10b378df80331088866723343f094b7b9772fb45ab203d2dc4499974c614269790831057c953a9d1804dcb9c160d740c68d6a14f316f7795
+EBUILD moarvm-2018.05.ebuild 1333 BLAKE2B ec472c7a10310ffb82fbb697553aaaafc83aee62a8d3e439ce3ce68f21ab91313e753caed1546588c9a1320ab0efccff9bcdc8da646b84b112e8c31bc4c75755 SHA512 c7c78307c949b6122bc6437051ba4033f24b79f6a8c5d8f2b248e4b296d7efee9bf0fc6370b116fcd2ff7b9bb548beeb46ba472a4dd5c054341542318bb9900d
EBUILD moarvm-9999.ebuild 1475 BLAKE2B b9ca271b78afab4ebc5e5f05ed13e3361cf96267191dbd8e80ba4c6923d945a1f136376439b890d60ee8345caa782c0baed9fee94a80e15302c258702c2eba63 SHA512 76b99f341f78085656bc196d97ca66ff170b590f6e7e06fab95ef02244d393b6083a217463bffdf389682b823ca7af684b9bba2fcabfd1632901639beab8763f
MISC metadata.xml 920 BLAKE2B dc15290595649a4f4c514f26cd219c3d8a97bb589fedac8cca202b64abe49f6851fe50d24f95f82c0dd61d183ed1f4091a4fb0f500e8f89a9b91dd7e932cc1ff SHA512 9250682955318d688f59e27b740e1b04095a85f036578d8fe2a2eeb31e159e34845a191734ba4997034dca80a32e29c8f4a0658b9a76ea78ff5fb4479124696b
diff --git a/dev-lang/moarvm/moarvm-2018.05.ebuild b/dev-lang/moarvm/moarvm-2018.05.ebuild
new file mode 100644
index 000000000000..1e5dbdd984e3
--- /dev/null
+++ b/dev-lang/moarvm/moarvm-2018.05.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2018 Gentoo Foundation
+# 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"
+IUSE="asan clang debug doc +jit static-libs optimize ubsan"
+
+RDEPEND="dev-libs/libatomic_ops
+ dev-libs/libuv
+ 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
+
+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 optimize --optimize= --no-optimize)"
+ "$(usex static-libs --static)"
+ "$(usex ubsan --ubsan)"
+ )
+ use optimize && filter-flags '-O*'
+
+ perl Configure.pl "${myconfigargs[@]}" || die
+}
diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest
index 13a9cb8a6bdf..9d99783cd2c2 100644
--- a/dev-lang/mono/Manifest
+++ b/dev-lang/mono/Manifest
@@ -13,6 +13,6 @@ EBUILD mono-4.6.1.5-r1.ebuild 3486 BLAKE2B 6f041f91dce9157a3df0805760355d2b2e202
EBUILD mono-4.6.1.5.ebuild 3346 BLAKE2B 014dd6acd44c7ae53a919e3c7efc39b782705e8c750927e061dd0ffe3e9854164524acd0d7012c43b1439b8cc315816544f79e3518797e2daa31c8417bf585b4 SHA512 7b3e03978f8845d103defa5e1db87a5a73458601d255bd0cbc4a708e3da23e73277c35be934a3c8807c45ef1a0533824b98c5a8aa7a75fd813d9c3ad145d2145
EBUILD mono-4.8.0.425.ebuild 3019 BLAKE2B af5ceb5808209e42126f3f2ad6062c19a33f352456d4e623694b730215a8add8030907a0632da4390042c7816e7454ae02890827b157b4e748c032cde8ceecb2 SHA512 e3b31207d8e42509b0a8a3711f9b2d9c97cbeac4807e109ed9be11254cd8cc87948f91e647e6c73133448ad5c7a8f140943de62d95e6fe1505f9b7165b8683af
EBUILD mono-4.8.0.495.ebuild 3019 BLAKE2B af5ceb5808209e42126f3f2ad6062c19a33f352456d4e623694b730215a8add8030907a0632da4390042c7816e7454ae02890827b157b4e748c032cde8ceecb2 SHA512 e3b31207d8e42509b0a8a3711f9b2d9c97cbeac4807e109ed9be11254cd8cc87948f91e647e6c73133448ad5c7a8f140943de62d95e6fe1505f9b7165b8683af
-EBUILD mono-4.8.0.524.ebuild 3024 BLAKE2B bf69643cb5f744b39590dba328e64c17919369cd975ca5f00b702a4d73259ae804b991461426e1039cb266624106edb32df3d569bbf15b27e80c0ba938ad0f16 SHA512 faf9654e21d6bc3ac668ad20232d241e9c908ebf3c44037bb7860ef94a7c6d5dd17149fe3ab6f071a8514b37d921ae1124c444a0ca694eb7fe6773e01dba03ec
+EBUILD mono-4.8.0.524.ebuild 3023 BLAKE2B 8b23acde97ed8ebe05eb7e4c3fab9f1c9b43ee775a460629a122eba13c56120d139c8732267c1fb2cb7ba9d96c3a9943a03c1c9894286205392dac8fd19a467c SHA512 0a229fdcbb0051e96e227f1a2bc2c85eea55f2277b549e866744c650a0c42172f5727abe2b1cf38660254757201b8f577401fb072814d266012058da3a2418ab
EBUILD mono-5.4.1.6.ebuild 2981 BLAKE2B 0fa2e8a0574502869542c87491575b084e1a14eeb3eedc635e2c7f103f492086bf61f6bf4f9fe25d7d5abd80070bbdc6f742dd823c393fa6fb96f6c7a341cd93 SHA512 211b45145d9e37a302b0d0afcfbdc5676be2cbc3e39f5c51d171a3614de96bde1ea29658a95ef6d45da7c2a5d189da90c6f84a52eec20222a5dbb3428b050d02
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 7cad9129620f..2e12a8843385 100644
--- a/dev-lang/mono/mono-4.8.0.524.ebuild
+++ b/dev-lang/mono/mono-4.8.0.524.ebuild
@@ -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 ~arm64 ~ppc ~ppc64 x86 ~amd64-linux"
+KEYWORDS="amd64 ~arm64 ppc ~ppc64 x86 ~amd64-linux"
IUSE="nls minimal pax_kernel xen doc"
diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest
index dd83dd0d164d..ab901673803a 100644
--- a/dev-lang/nqp/Manifest
+++ b/dev-lang/nqp/Manifest
@@ -3,10 +3,12 @@ DIST nqp-2018.02.tar.gz 3759551 BLAKE2B 48713a0d300ec2e296b426784bb22f7859693710
DIST nqp-2018.03.tar.gz 3778268 BLAKE2B 16e8e3924daa3aecf9987e9c39173fb32a769cd668add4b62bf04feb09755e5442224357610189ae8184c8c5c6fa35b2ce0d29cb708e8c5c0218963e2f918022 SHA512 d90fc8c933c31f1013bfdda5a02699c1c668ed5466167d58355c6baa65c294269cb4dbe072452bd14a9bbf180d83e61fedd3354b4404d590304be04e28489460
DIST nqp-2018.04.1.tar.gz 3783660 BLAKE2B b596163b4d4a8d4b708d59dba586713e50edf3d5d1dc400960464e9528cefbf9867508712b74ee7014f4ad0badb742ca483816c6efff5909c8c52bf48d5fa85a SHA512 01211c8535873f26f1eb144033bbee318948dfaf2988f9f737002e41ad745294a6fe193e15d997e7d9297fcd2632fc71f9c9a6960c3af7606946c23e49d284de
DIST nqp-2018.04.tar.gz 3782652 BLAKE2B 0d36363956a3b150c5dbd7e9c094281680bfe2b87fa509e5a27ffc8be1df8ab82cd89276d9392c11b0912cf4d00d5a668dd6f497f4cfdf4914c40de2b0443c5c SHA512 5cb749577c5e985174c0721b92a00af7a93a5a7b3833718718b825d71d135ba14150b8a6bb065cf21356a37ea082431eacbff8ca63bce6f0ddeaf200494fe646
+DIST nqp-2018.05.tar.gz 3785860 BLAKE2B 058f29acf6a9a2f79677dcca7fd145a8bf4d780eb516a874bf128cca4c8916e7b13868a29189888a22b827656156039a2fadaca26865d8a609559ebab6cec5c7 SHA512 463e795a6893dc418d87a347672781f8424ae3484f2d5ab20fa75a4fb226c239175d10889783e3cbca83c4f8d317406afa858f725dbe7f9869277f9d1cbcd9f0
EBUILD nqp-2018.01.ebuild 3607 BLAKE2B e7ccbd696d6dbe35b6a1c6ed99b1013aac46deb0631e6258a909144594fd143e760ca47dad422c9056686cc5dcdd07782847aa0a14da61d6b1577accf4997435 SHA512 76efc1ed63882e483414e49747c5d15524afdf39d45c5013189fbd9463aba177b3cae73c403480d6e81a65a436ce806e2c41204dffa2cbcc220fc58aa5cddac4
EBUILD nqp-2018.02.ebuild 3607 BLAKE2B e7ccbd696d6dbe35b6a1c6ed99b1013aac46deb0631e6258a909144594fd143e760ca47dad422c9056686cc5dcdd07782847aa0a14da61d6b1577accf4997435 SHA512 76efc1ed63882e483414e49747c5d15524afdf39d45c5013189fbd9463aba177b3cae73c403480d6e81a65a436ce806e2c41204dffa2cbcc220fc58aa5cddac4
EBUILD nqp-2018.03.ebuild 3607 BLAKE2B e7ccbd696d6dbe35b6a1c6ed99b1013aac46deb0631e6258a909144594fd143e760ca47dad422c9056686cc5dcdd07782847aa0a14da61d6b1577accf4997435 SHA512 76efc1ed63882e483414e49747c5d15524afdf39d45c5013189fbd9463aba177b3cae73c403480d6e81a65a436ce806e2c41204dffa2cbcc220fc58aa5cddac4
EBUILD nqp-2018.04.1.ebuild 3607 BLAKE2B e7ccbd696d6dbe35b6a1c6ed99b1013aac46deb0631e6258a909144594fd143e760ca47dad422c9056686cc5dcdd07782847aa0a14da61d6b1577accf4997435 SHA512 76efc1ed63882e483414e49747c5d15524afdf39d45c5013189fbd9463aba177b3cae73c403480d6e81a65a436ce806e2c41204dffa2cbcc220fc58aa5cddac4
EBUILD nqp-2018.04.ebuild 3607 BLAKE2B e7ccbd696d6dbe35b6a1c6ed99b1013aac46deb0631e6258a909144594fd143e760ca47dad422c9056686cc5dcdd07782847aa0a14da61d6b1577accf4997435 SHA512 76efc1ed63882e483414e49747c5d15524afdf39d45c5013189fbd9463aba177b3cae73c403480d6e81a65a436ce806e2c41204dffa2cbcc220fc58aa5cddac4
+EBUILD nqp-2018.05.ebuild 3607 BLAKE2B 187da0f139d742686c2e36efb8d219c865e116c976ef2eb3c399277fb2bd76b9e16116ecdbcd60854858197e584fc1f98463349395c66d629c23d1115572d62f SHA512 214d69640ce932f49c4b0c22871d96fda5eaf2ba2ef47247e142cf5958ad193058d3fd59761f2d51a3ac5f76d60e53df20cf7ae2f615d59d587d9727b77f7315
EBUILD nqp-9999.ebuild 3607 BLAKE2B e7ccbd696d6dbe35b6a1c6ed99b1013aac46deb0631e6258a909144594fd143e760ca47dad422c9056686cc5dcdd07782847aa0a14da61d6b1577accf4997435 SHA512 76efc1ed63882e483414e49747c5d15524afdf39d45c5013189fbd9463aba177b3cae73c403480d6e81a65a436ce806e2c41204dffa2cbcc220fc58aa5cddac4
MISC metadata.xml 634 BLAKE2B 1ef5daf7c995ddad1df4b2c7d33ecfc7a4cd146cb518314f88d58e370ede9e986bb47747b10952cf0ee6d587fe5925ba5b0086006182f3e16bd114d49e1a0f3a SHA512 a093877d22e76bbbced97c7752ed76d6aa110eb8d0676f97ae3d38ad79ab7b8ba770243b64e618b588faebf179713813fe6fc8ec7371c695c9f0979f6bce3dc0
diff --git a/dev-lang/nqp/nqp-2018.05.ebuild b/dev-lang/nqp/nqp-2018.05.ebuild
new file mode 100644
index 000000000000..2600c72c270a
--- /dev/null
+++ b/dev-lang/nqp/nqp-2018.05.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit java-pkg-opt-2 multibuild
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz"
+ inherit vcs-snapshot
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
+HOMEPAGE="https://rakudo.org"
+
+LICENSE="Artistic-2"
+SLOT="0"
+IUSE="doc clang java +moar test"
+REQUIRED_USE="|| ( java moar )"
+
+CDEPEND="java? (
+ dev-java/asm:4
+ dev-java/jline:0
+ dev-java/jna:4
+ )
+ moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.7 )"
+DEPEND="${CDEPEND}
+ clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.7 )
+ dev-lang/perl"
+
+pkg_pretend() {
+ if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
+ ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP"
+ ewarn "already being installed. So if it fails, try uninstalling both"
+ ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation."
+ ewarn "(see Bug #584394)"
+ fi
+}
+
+java_prepare() {
+ # Don't clean stage0 jars.
+ einfo "Cleaning upstream jars"
+ java-pkg_clean 3rdparty/
+
+ # Don't use jars we just deleted.
+ sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \
+ src/vm/jvm/runners/nqp-j || die
+}
+
+src_prepare() {
+ MULTIBUILD_VARIANTS=()
+ use moar && MULTIBUILD_VARIANTS+=( moar )
+ use java && MULTIBUILD_VARIANTS+=( jvm )
+
+ multibuild_copy_sources
+
+ # This will pull in conditional java_prepare
+ default
+}
+
+nqp_configure() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+ local myconfargs=(
+ "--backend=${MULTIBUILD_VARIANT}"
+ "--prefix=/usr" )
+
+ perl Configure.pl "${myconfargs[@]}" || die
+ popd || die
+}
+
+nqp_compile() {
+ if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \
+ JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
+ emake -j1 \
+ -C "${BUILD_DIR}"
+ fi
+}
+
+nqp_test() {
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ test
+}
+
+nqp_install() {
+ # This is the actual reason we need multibuild.eclass.
+ # We need to distinguish the install procedure for MoarVM and JVM backends.
+ case "${MULTIBUILD_VARIANT}" in
+ moar)
+ emake \
+ DESTDIR="${ED}" \
+ -C "${BUILD_DIR}" \
+ install
+ ;;
+ jvm)
+ pushd "${BUILD_DIR}" > /dev/null || die
+ # Set JAVA_PKG_JARDEST early.
+ java-pkg_init_paths_
+
+ # Upstream sets the classpath to this location. Perhaps it's
+ # used to locate the additional libraries?
+ java-pkg_addcp "${JAVA_PKG_JARDEST}"
+
+ insinto "${JAVA_PKG_JARDEST}"
+ local jar
+
+ for jar in *.jar; do
+ if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
+ # jars for NQP itself.
+ java-pkg_dojar ${jar}
+ else
+ # jars used by NQP.
+ doins ${jar}
+ fi
+ done
+
+ # Upstream uses -Xbootclasspath/a, which is faster due to lack
+ # of verification, but gjl isn't flexible enough yet. :(
+ java-pkg_dolauncher ${PN}-j --main ${PN}
+ dosym ${PN}-j /usr/bin/${PN}
+ dobin tools/jvm/eval-client.pl
+ popd > /dev/null || die
+ ;;
+ *)
+ die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
+ ;;
+ esac
+}
+
+src_configure() {
+ multibuild_foreach_variant nqp_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant nqp_compile
+}
+
+src_test() {
+ multibuild_foreach_variant nqp_test
+}
+
+src_install() {
+ multibuild_foreach_variant nqp_install
+
+ dodoc CREDITS README.pod
+ use doc && dodoc -r docs/*
+}
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 1ce1f8a96f90..f799c473b75d 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -6,30 +6,18 @@ AUX php-5.6-no-bison-warnings.patch 1428 BLAKE2B d37bc7a1ae803aa4a14d32f0ca5613b
AUX php-fpm_at-simple.service 316 BLAKE2B 0ba10f3e3b004fbf14956e1e4f04f59b8a127e6717fe6b92c09b9f931033a11551c75fbbee9010f6b694c5a8758ca0eec9eed457ae304ba0dea8f2c256c3b8d4 SHA512 7367a3f8d3874f8e0c76f331ba613a0250db02f60ad9f87affaf448dcb5bc34bcecb91d88f415764a12b24b46ae3d1b738a002af9f77a4b707e916e83a0021fd
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.33.tar.xz 12465256 BLAKE2B a33ce429c1565e6304031304168aa63ce82fa6c0968fc5ef09f5955e43c04ebe112db92475a999f39d997e2a3c9724ece60902ef0db84e2599d97d0e42ce57d2 SHA512 c494721594511f79a103ea3c73c5035aa0fcbca626710a0b85d2395693caf6762edefa3347cd0f8567b186f98c0df7f83cd4c698b158f0f72aa62aabbbb4e297
-DIST php-5.6.34.tar.xz 12465748 BLAKE2B 6b12f52a04d6b645d78f3d00617386a72fafffda24850e10f545464c9d0ca55321e91a292c3eb83409d0a303c4e37c2a686f547d86227c280ec78b428e73a92e SHA512 9aa02f943d6949a28ad96df5e75eec3ecab3731824400d0a0a8ccba9dee95b7af6421b38b86f352a45c778019ebfb1e6161a03256e4ef712341a9e0bad596ae7
DIST php-5.6.35.tar.xz 12466396 BLAKE2B 96757fc064c139f238329c51741538fdbdefd04abad59c37565e1882a5a7df7d3755cf496561336b25748a968fb18dbf9d542a54a672f553f4be5ead292141cc SHA512 dd7d891954aa7f8e83eecb265e1bb01dfd357092dad0cfc5a3f441bea069f7181cd79330653b178d4953ac1ee8570d7f4c21acc8fc67975dd7dc1413eaebf0af
DIST php-5.6.36.tar.xz 12467560 BLAKE2B 8badaabc668ff3a4b1129f03605a1570729f8196d2e2539fe85bc42a628f2b24ea76c298b194e8466d9218ae98218243430c8d36d73fbd32b042dd6453510361 SHA512 807c68ab85b6685b19707bd18cfd46f3695b2dc67f9f17f85476634e4a80a036cb413ccae05ed5ba529eafe8df57ebf758dd664ed2942ec44f90a6e8b0172e5e
-DIST php-7.0.27.tar.xz 11916824 BLAKE2B 9d2881a611435b3f9607e04d1f271ca497b8543792608f3690f00aa767fe8cc1f442822ae702076d21df0b56005d7b4e8e88b11ec6dd50d0bc198197b48cafda SHA512 1987ad5573fdcbd5c8d92fdbf5ba8dca6e9621d89d30f66a003338467e31f09f9e8ceb5cdcb2ddf24ec7aa5acf0c8e33c3774e586e7682667eb3ed148237d1bb
-DIST php-7.0.28.tar.xz 11917836 BLAKE2B 8110b0486b0556abf2249d7cbdbd245249f32e230d8197e493edfdf8df38d8eac61b79b90983fa8a2918f67a5d80fefd9a213adff4c3eb760b3844e555614650 SHA512 054c765011d2ad5bb1ef2fd2d66df05f374032015869e69112b309a13b79f437de25e9692719110efbd79f33c677add36430dab21ae12231a7730207c9e877aa
DIST php-7.0.29.tar.xz 12400192 BLAKE2B 0bd1bd9450b87437e539ec5131cb4f7e4dbf76d5fd5212bdf34c4f022dd8f2d357e9a845d83b485d89469e20675c031bcf382a8ca348161dfd082d7a389ffcb2 SHA512 ea5a2fbcfc875dd2621e3f67038c1e00f43b53bc7079ae2127fcefbf116db0f32e34d4435f8211305402a4eccdaa5dfd6b96cf9416e68700f2c1f438d74a0af8
DIST php-7.0.30.tar.xz 12030228 BLAKE2B cc4c50d108fca68ee98b70a3007893d912d2343dd255faf52e41c1de04f590f427d9edad7b637177ccf1d9c62212ee6060baca13931c0aa14532df548ef159aa SHA512 1f0914ebda79247aa65ace63f6c8c4fcd850b21a82704f7b6482760259239cc5fee4cfd5aa2ed590b56822b4d69330ac472f46537e7f25d59e73ba63a48827c5
-DIST php-7.1.13.tar.xz 12194780 BLAKE2B 0bac1cb3ec46cd4206d71b0d8ec3058fff455bc7e3febb33dcb8e14d5a8b16918d3e4679e0691b8ba29b95ab90be2a3dc3a73bade45c1ca4eaf692d6d3c2db3d SHA512 f5357ffcbcaab1ba03d70edc0f1329b530f9f9c7779ac57d6fd2bd0bb730162f8d107025e5ff66592077d1bf504ee6816ec0379f50ceb1fac36cea90b0fc4fa2
-DIST php-7.1.15.tar.xz 12201380 BLAKE2B 4387382daf3883962eb0e47d86c983a65c293e89aa71239977bb1c6fdaa99b3a76eacb71a30f134fcc47f4ca6fea95687f3e405c1ecc7a737c8cf40489e8e7a3 SHA512 2b23795ffcb9d741adafe8a1e01e6988bb86ce7c6380bdbe822f8f6485e217ed2e95a27daf5ba11f0bf10317f1e1f4e37068e40d0bf322de5625d38b430d37c2
DIST php-7.1.16.tar.xz 12211512 BLAKE2B bf242e2438b2dc363368a9ef4478349a291f483477ccedf988abd0fbb78a6f1b31e3b86dcb39ed9a9a8151674a8373ae77d8420e77efd6a2e05d5cfc778ed40f SHA512 98e96f06a4912cfa6926be2f292ce7120ca893c9b779b2efef4120c1df3580fa427cd58f5e4977edb01a0ae3b85660d6ca79b2bd79b6cd830cd77f6c6588b5ea
DIST php-7.1.17.tar.xz 12213536 BLAKE2B bf358bc4920d38f74e4bdbc53f4744274071b4cea057452bfafbbc5760eb1ae0878f8cc92cf5337b883e17769cc6a490d0e64d3969aa1769cec92bf14f9101ea SHA512 2ac81b5ec898d366dc60f2dae4b07094457c6b8b110615e0fcc3af1e680708ed0e9c89728b95e453110eec41198cb8a0416b4aeadc017d4a2b6bf25ce624cac1
DIST php-7.2.5.tar.xz 12034928 BLAKE2B 36c9ec413b5332a1ef138a5724fd1718f5a8ffa8873dbe27ae7b6ca9a55ecfa0de7f7504a20581edb48605c2afcc799784eb3d94e08236222f6de2094d1921d0 SHA512 1d49fc6e47d2e86d4fd62396e558965502f44cc8f72459bb0d406e157298cac67703b219837952da11122722d9fa8cb4cda8ef66ddf063cb063859db34110f58
-EBUILD php-5.6.33.ebuild 22554 BLAKE2B 0ab011b206772d7d83ee135cadcf0a9d304f29d6ce78fa0bbe7779d13cc1205287033878870810240996de89c519b805da989babcab926a2285e16e33d0352a7 SHA512 27eef42a39637986fe63823cb387e5d6ec481776baaa15ee51009f265d0fdc4ea0d8120349858f290f9c743091e679f309a190318bd02baf0b87931d0567dc24
-EBUILD php-5.6.34.ebuild 22656 BLAKE2B a63c4fa80152985d8d931a7476f86061bd6c127c9c7ca31f6162066383234b5fdeabde7a3bb7cf43cf87d2eaf23b78d7456e803a17a1fce9070bc70e322922fa SHA512 31727757aff2777cc10ce5d9cf11030e77fa9982cf22536086aad8ed24ddcccb2a186b7383d9b3305ee8f645a83999673c6f5fa079c506f0656b141faac67feb
-EBUILD php-5.6.35-r1.ebuild 22711 BLAKE2B 3df69e4b35018ea8d757442b68652349a953b9e7fc2124c804434b27502d1abd0fa1de2a84d4194cddab6888adeb4249d95dcefbcd6b173d4a426482ff4f5da0 SHA512 27926348fe8f3e5760d365e18cd056d9c587ec25876da7b6692e1fd83707318006fa4aab171a85690b27d6b03cbce31306b0bd3b07301907738bbeb19a1f043d
+EBUILD php-5.6.35-r1.ebuild 22709 BLAKE2B a8c2c5fe84d4849f2ad5cf96ae1896185e905f93c6c5fa1ae75c169d8ec3c267741931f59eef2fc6add4562a4a6bceed33181a315d949181c0e0df26c7635642 SHA512 f5b2a64129a4a8bab850ab0278bbf45829cf5fca35ad989715c5aceefac2bb27d69bf4de10498a1e04eb46273628e1830b689a06fac67e97a81fb40923c33e5a
EBUILD php-5.6.36.ebuild 22765 BLAKE2B 7a46ae434144bf9619edaa08ff18ae14ac856d3a2923ddfd63aad2c6a43d38282cb54795b59326f5a1325d02321d19eea0abab7daac9844ab08c6fd3d0dd521a SHA512 0375de2cb65ca24bfdd84d35e5ac937462156fc733d47d9b77bc95b01351fa55206608390e406781ad66936643b488a7737177aeb3ac42905d0647a0bf681326
-EBUILD php-7.0.27.ebuild 21672 BLAKE2B d7f777112996d44d36b912639eddac4e5d2e415033793e5cb0e6e596f54f6a6922efc6e9b8152a56e5c35220c7bfdcfa0fbb21e98b34ed23dee31ad9499f93ee SHA512 7e9cc8ba4cf70338636b7048199fed99b967a26e540ddf605a28b3fd2053daff701202f822819bb60d528c260d137f4089de60e36460834fc6b716e212c982be
-EBUILD php-7.0.28.ebuild 21774 BLAKE2B 866a588a4afef0a7e84d9ff87a318826c119b4d50c9f964e4fea0f768c7c4a1b9f8bf647ad9ac07312f810848332c1449caac6286baa3c89501d698a506aae0b SHA512 5b4c87510f915fc5668b6df7d9c3bf56790203d1eb03e2244e10e926c9b76b7c86c4f9ae182c9f2ba9df9a3f6266fa65b4571203cc1ccd23bb70148b898a6c76
-EBUILD php-7.0.29.ebuild 21969 BLAKE2B 2d993e4ebc89c7786f9d0444fd503ab91322cfbf19e6d65321980f1a07431c71d59824d37a6eae02b40dcaf8e2e9534f82bf403ec365ad274bd197299dcdfa5d SHA512 79ab1847c656e3e357bfecb35ad621c9583c12508a69e9a7a385195f1d971cc87b4c66a73adee5084d5ea234ffd4fb0833d0f51914a05b27b841909743b9eab4
+EBUILD php-7.0.29.ebuild 21967 BLAKE2B e0339d5bba0ff95a5d9222fb09cd06876a3f646e221f1447f28ad822c8e2e101e18b2af1da2164459988fc980a8e8aa1da8ac77220512cfb512c4ed6243213d6 SHA512 a03cdfcd12f54d87ac75d9a2b103c0ce875389854bde66a709852ef5f43c0bd6a04096e7d779e721abb8d1209b3394c7c0a016433a2519d53132cd89200ba9b9
EBUILD php-7.0.30.ebuild 21975 BLAKE2B 413e3c9d6cd4d43a5d74a2c064352b39d45b2a006f92a5f88749a0a189778748ad1ae4b4e28bdc9b2d5dcddc3cf8e94fbd20b74659dba3ae39396f76a2143740 SHA512 aa5eb136a50b7522d7157cd9e1b3a100ef114e6bcab42a854a15a549e1426b655f6bf52d84929bf3619b604bbcdf4d21a16ead62581762a9c9b6af19442a4016
-EBUILD php-7.1.13.ebuild 21538 BLAKE2B 69b0b2778758211dfdf3af43178034d0586547406a5e471b88097efe338278d799a1f1fd48c346dc0a10bcc815e3994e90cb901649325933fda1575b46e27037 SHA512 9f41de25f42053c059181833e1ce3a51eb63a0f8bfca48fc1a4bc8216b421832e3afe287e36857c568c5032622db7ff5650b6548cb5dfd91eaf7bb87277597b4
-EBUILD php-7.1.15.ebuild 21662 BLAKE2B 27de4a51f061bc318d457081d175a08df4233567299fdd2287369b597e5084c0782e5567d8d11ff467b5d65c80ab82c1d0930f906e61c1fc76e47cdeca3a93d0 SHA512 d35543b2e097b8fff290a4d6e57ed0884be55e4c9adc7727e6b63079cf54a3300ee2b60cd1678956652cb17d7bd8d5940084fc5ef89abdf82105a0bb90bc1ad5
-EBUILD php-7.1.16.ebuild 21857 BLAKE2B ab2ae117f48aeb9cdbdc98de7e6d048e6b89cb60ce34362fd3ff8192e5e9844065abb5dd0e5f3cac007c4de979f86931691def2753160f0daea56972190f1cdf SHA512 9cacbca61759aee1987c4eafbdb119df6fdc7794073c7ab33e319ed37cd5253e974e89f119a401d9e4e18819a4bf30f6209aabef2417f967d44b77c3fea1b56c
+EBUILD php-7.1.16.ebuild 21855 BLAKE2B a5ea02c60695ae4085da75888102418f511922d2a9360bd466ce31248d30f1131fdd1eb5e30229ab1566a7fde2c659b434639181c03764cc57c290391971fc31 SHA512 b147467417ef28bc7a4845897c1aa891e13dfa69d1fdc0cbebccc9206e86b1fe2e57ee4af18bc5c3ed744c5579137fae4a6a6323209e58eb25ce15f93069bcc5
EBUILD php-7.1.17.ebuild 21818 BLAKE2B ce339e941dadb1672c866a94e611fa8c329c95c7fafbbd4f135e4ea734f77120c6b06e6b204b59b46c930e440aac1308d209749576024265b04ced1fac7ad451 SHA512 0dbb7ddac39a1d02532edda4fd5caccc42cf9a25c1bf7b33e795f86b7bd8a2020a4c8f911d6881989b7aa11eba2c0d638be2aa94c519405e54decdf30abd41fa
EBUILD php-7.2.5.ebuild 22349 BLAKE2B ade2a77aa0ebdb57085266b89f2b1e3f893acaf8f738944e5b1cc55512e6d27eb517ec7d01da359a1f84848ec6d014e14d8155861ea71b0d0397374e946ad63c SHA512 e3c62327d81ce1e40c7a790243b7549cf0d3881fa8b25e2fa1af8d21bc1912553adffa7b5f35e0ab84b77e531bd0879fff4fb14f931fc695d21cc014ad672c7a
MISC metadata.xml 2577 BLAKE2B 9b15d6073181a5f5ff7b00ef8b68d24c7ea8763171ae84895ebc4a6925f589d2a02e4e29116c2741b3502b35d32aa58e7ed909e144c0e694f8cce5b4d26ecd3b SHA512 14e6daa693325b8a27157cff22d0b0cae9d89e4dada775f39188f7f36546b78a8b19efedb2f7b6f64ee1375bf29d3af32a8f7d6e7bf0d04cf2a7241abd154afa
diff --git a/dev-lang/php/php-5.6.33.ebuild b/dev-lang/php/php-5.6.33.ebuild
deleted file mode 100644
index 6fc74a0292a2..000000000000
--- a/dev-lang/php/php-5.6.33.ebuild
+++ /dev/null
@@ -1,771 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic versionator systemd
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://secure.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="$(get_version_component_range 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]
- 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 )
- vpx? ( gd )
- cjk? ( gd )
- exif? ( gd )
- xpm? ( gd )
- 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="$(get_major_version)"
-
-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() {
- eapply "${FILESDIR}/php-${SLOT}-no-bison-warnings.patch"
-
- # 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"
- 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
- addpredict /var/lib/net-snmp/mib_indexes
-
- 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 acl fpm-acl)
- $(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 systemd fpm-systemd)
- $(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}" )
- 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
- addpredict /var/lib/net-snmp/mib_indexes
-
- 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
-
- # 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.34.ebuild b/dev-lang/php/php-5.6.34.ebuild
deleted file mode 100644
index dfd04fb8e1d8..000000000000
--- a/dev-lang/php/php-5.6.34.ebuild
+++ /dev/null
@@ -1,775 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic versionator systemd
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://secure.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="$(get_version_component_range 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 )
- vpx? ( gd )
- cjk? ( gd )
- exif? ( gd )
- xpm? ( gd )
- 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="$(get_major_version)"
-
-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() {
- eapply "${FILESDIR}/php-${SLOT}-no-bison-warnings.patch"
-
- # 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"
- 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
- addpredict /var/lib/net-snmp/mib_indexes
-
- 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
- addpredict /var/lib/net-snmp/mib_indexes
-
- 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
-
- # 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.35-r1.ebuild b/dev-lang/php/php-5.6.35-r1.ebuild
index e5d5dafb0a87..bb5bbdaecb06 100644
--- a/dev-lang/php/php-5.6.35-r1.ebuild
+++ b/dev-lang/php/php-5.6.35-r1.ebuild
@@ -18,7 +18,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(get_version_component_range 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-7.0.27.ebuild b/dev-lang/php/php-7.0.27.ebuild
deleted file mode 100644
index 88d8e93bc686..000000000000
--- a/dev-lang/php/php-7.0.27.ebuild
+++ /dev/null
@@ -1,741 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic versionator systemd
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://secure.php.net/"
-SRC_URI="https://secure.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="$(get_version_component_range 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 sharedmem
- +simplexml snmp soap sockets spell sqlite ssl
- sysvipc systemd 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]
- 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] )
- 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= )
- )
- tidy? ( app-text/htmltidy )
- truetype? (
- =media-libs/freetype-2*
- !gd? (
- virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
- )
- 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
- 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 phpdbg )
- cli? ( ^^ ( readline libedit ) )
- truetype? ( gd )
- webp? ( gd )
- cjk? ( gd )
- exif? ( gd )
- xpm? ( gd )
- 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 )
- sharedmem? ( !threads )
- mysql? ( || ( mysqli pdo ) )
-"
-
-PATCHES=( "${FILESDIR}/mbstring-oniguruma-6.8.patch" )
-
-PHP_MV="$(get_major_version)"
-
-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'
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index
- addpredict /var/lib/net-snmp/mib_indexes
-
- 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 acl fpm-acl)
- $(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 systemd fpm-systemd)
- $(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 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|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- 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
- addpredict /var/lib/net-snmp/mib_indexes
-
- 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
-
- # 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.0.28.ebuild b/dev-lang/php/php-7.0.28.ebuild
deleted file mode 100644
index 56df1d36905b..000000000000
--- a/dev-lang/php/php-7.0.28.ebuild
+++ /dev/null
@@ -1,745 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic versionator systemd
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://secure.php.net/"
-SRC_URI="https://secure.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="$(get_version_component_range 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 sharedmem
- +simplexml snmp soap sockets spell sqlite ssl
- sysvipc systemd 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 ) )
- 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] )
- 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= )
- )
- tidy? ( app-text/htmltidy )
- truetype? (
- =media-libs/freetype-2*
- !gd? (
- virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= )
- )
- 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
- 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 phpdbg )
- cli? ( ^^ ( readline libedit ) )
- truetype? ( gd )
- webp? ( gd )
- cjk? ( gd )
- exif? ( gd )
- xpm? ( gd )
- 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 )
- sharedmem? ( !threads )
- mysql? ( || ( mysqli pdo ) )
-"
-
-PATCHES=( "${FILESDIR}/mbstring-oniguruma-6.8.patch" )
-
-PHP_MV="$(get_major_version)"
-
-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'
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index
- addpredict /var/lib/net-snmp/mib_indexes
-
- 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 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|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
- addpredict /var/lib/net-snmp/mib_indexes
-
- 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
-
- # 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.0.29.ebuild b/dev-lang/php/php-7.0.29.ebuild
index 1ad39e6fafc4..0c32a2cff737 100644
--- a/dev-lang/php/php-7.0.29.ebuild
+++ b/dev-lang/php/php-7.0.29.ebuild
@@ -18,7 +18,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(get_version_component_range 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.13.ebuild b/dev-lang/php/php-7.1.13.ebuild
deleted file mode 100644
index 65425f9dc6a3..000000000000
--- a/dev-lang/php/php-7.1.13.ebuild
+++ /dev/null
@@ -1,723 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic versionator systemd
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://secure.php.net/"
-SRC_URI="https://secure.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="$(get_version_component_range 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 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]
- 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 )
- 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 )
- 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= )
- )
- 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"
-
-# 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 )
- webp? ( gd )
- cjk? ( gd )
- exif? ( gd )
- xpm? ( gd )
- 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 )
- sharedmem? ( !threads )
- mysql? ( || ( mysqli pdo ) )
-"
-
-PATCHES=( "${FILESDIR}/mbstring-oniguruma-6.8.patch" )
-
-PHP_MV="$(get_major_version)"
-
-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'
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index
- addpredict /var/lib/net-snmp/mib_indexes
-
- 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 acl fpm-acl)
- $(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 systemd fpm-systemd)
- $(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 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|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- 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
- addpredict /var/lib/net-snmp/mib_indexes
-
- 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
-
- # 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.15.ebuild b/dev-lang/php/php-7.1.15.ebuild
deleted file mode 100644
index d5b4ffdd691e..000000000000
--- a/dev-lang/php/php-7.1.15.ebuild
+++ /dev/null
@@ -1,727 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic versionator systemd
-
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://secure.php.net/"
-SRC_URI="https://secure.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="$(get_version_component_range 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 )
- 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"
-
-# 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 )
- webp? ( gd )
- cjk? ( gd )
- exif? ( gd )
- xpm? ( gd )
- gd? ( zlib )
- simplexml? ( xml )
- soap? ( xml )
- wddx? ( xml )
- xmlrpc? ( || ( xml iconv ) )
- xmlreader? ( xml )
- xslt? ( xml )
- ldap-sasl? ( ldap )
- mhash? ( hash )
- phar? ( hash )
- qdbm? ( !gdbm )
- readline? ( !libedit )
- recode? ( !imap !mysqli !mysql )
- session-mm? ( session !threads )
- mysql? ( || ( mysqli pdo ) )
-"
-
-PATCHES=( "${FILESDIR}/mbstring-oniguruma-6.8.patch" )
-
-PHP_MV="$(get_major_version)"
-
-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'
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index
- addpredict /var/lib/net-snmp/mib_indexes
-
- 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
- addpredict /var/lib/net-snmp/mib_indexes
-
- 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
-
- # 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.16.ebuild b/dev-lang/php/php-7.1.16.ebuild
index 7dbfde0cd8be..ca595ad6fcaf 100644
--- a/dev-lang/php/php-7.1.16.ebuild
+++ b/dev-lang/php/php-7.1.16.ebuild
@@ -18,7 +18,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(get_version_component_range 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/python-exec/Manifest b/dev-lang/python-exec/Manifest
index 992ef1992505..78d815ad7521 100644
--- a/dev-lang/python-exec/Manifest
+++ b/dev-lang/python-exec/Manifest
@@ -1,6 +1,6 @@
-DIST python-exec-2.4.4.tar.bz2 86945 BLAKE2B 3ee2be57711c45e5821ba4cc54e76e4341056221a34277ced8ab5ebffc4d6af63fbe515f73bd84a1a7a82047a008b72fd2935e61b09b0b852624329b3be22e37 SHA512 26b76960430dc3b2b79aab5e8a72498144d4e78bed5291fe9361afe081f0e8d70049a74ec29384cb0fc199f76c23499324d2eddcaea521ef33d88e61b1b674f9
DIST python-exec-2.4.5.tar.bz2 87137 BLAKE2B 2434bee0bcc64a78a83254d6b6f733ef0748d8209ff70654fc57ac50563d4f32be64705a3c56eefef4e173a238b272d00bef4929982a729a097b82a3a2b0b5b1 SHA512 8c1a520c565afa775cad0e8b88248b688814664e588f683fc2b2c039ee0494b168ebd3cd1042b8b7fe2583f287cf55b22ea0585bfb43efe2f8450d809cde0b21
-EBUILD python-exec-2.4.4.ebuild 4284 BLAKE2B 3bdf94faed29610cf221c63d18c39cf5318eed8cdd7bc70aba28b5116cfc9628e22a5fc90ae48b8a166367270965bfe0b9fe2f6c6ded504fb6775b838ef5c29f SHA512 9f7072a4f9b504ebc6cbabf3c18ad06df8c01ae1e8d09139661d339b4f35bc0b3616407a2cdc5266a1c85ccf8abb83c8a8d44ccb0c5c28ad0865df4e15afbfcf
+DIST python-exec-2.4.6.tar.bz2 87634 BLAKE2B 7b6de8ad0e0603fafd3284e6e3c5247ad83f145ab4db6728914318ae8e6f5aaa3c0247f4e01238fca11519ef72fb1b11436aea7e2b8c988b8717b3f6a2a43c37 SHA512 e05eaf01b83de196a10933636ab6b1a5489a421592df49b8b58eabd0e732de970f902744cd3a06b5ab530a6d69fe6dfa8f270fbb09b9fe3df4ae04d516828050
EBUILD python-exec-2.4.5.ebuild 4443 BLAKE2B efcc545a46738ceb03dfd048d6ab70ac79e18d323c9df32ff61d49c183bf1df80eaa18af1a658397a24a267931684d1cfc4e60c005ee8da58421a30d52bf26a8 SHA512 9f1e31df119cea502e730174233c78e54a7362947f36b6f65302e00d7d8c1ea2504e0196933766daf18ee4fbb7b4621cd82075ce8fe46619f62c8c870ca9b77d
-EBUILD python-exec-9999.ebuild 4606 BLAKE2B 33a7427ce4f9ae368211b9cd8fce04d004377dfae2e4683591bc4aa3d05c2d78f419e985aaede52412d280819110ce8a5312f316e18fd2e818f65fa9b754d184 SHA512 c68c4cc31b5f4f634ef6adb6e97c487f71600fd5c8e2d6d60a01f025351b9c231835a57221aea6b287f0e8e00669b7af958a0cd4e435459827e204cd312b6acd
+EBUILD python-exec-2.4.6.ebuild 4463 BLAKE2B fcbebf862dd4a3ed81abbada163d7b708aede498120d0efb2cc16c33709694b8c21305dbc5d5f175e4ead0a89b4fdf441b2a0ea30660cb17a4e8e9c24ff1e83f SHA512 adf86449457fe0198ea834f736a708949aab5b8641878f08ef4b21c35aa3fc644650083f641e4343a3b70cf5bdb0e62f0694f2a8b19521617f2defa6de042352
+EBUILD python-exec-9999.ebuild 4241 BLAKE2B d618a42a797acf150300971ce8c91fdb695360986e3cf8bb557ad426d5473644cd02cc1116ea8a6b61c11e82ecedd5999f4c967c97cf512592213d6f56a1bf78 SHA512 02efc08d67020e0d8529c92d1466a842381c047a7a44ffa7aedebd0d4bd21e6985ff64958839422456ee8ffbb5e8e73d9e5019ccee209ef94abe99cbbca84a57
MISC metadata.xml 589 BLAKE2B 7f9fa9750915db8b546b52a560a7fd8d9a63c4f310e423ebdc0508fe9b14363001b30f3c3db26f6d05eec8a44176d62a9335153dff2d55a41a31d3b428cc9ca6 SHA512 2ac0223af0a2cf95d2b18ef415eadb325af0094e4ec361a414b0d68b203dc1c937d3d680af96bdad1e8a48cb5786683bdbbd451f47a0f3a777c075e1690ccf7a
diff --git a/dev-lang/python-exec/python-exec-2.4.4.ebuild b/dev-lang/python-exec/python-exec-2.4.6.ebuild
index 96c08a46bfb0..9ed5ee58b776 100644
--- a/dev-lang/python-exec/python-exec-2.4.4.ebuild
+++ b/dev-lang/python-exec/python-exec-2.4.6.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=6
# Kids, don't do this at home!
inherit python-utils-r1
@@ -13,11 +13,11 @@ inherit python-r1
DESCRIPTION="Python script wrapper"
HOMEPAGE="https://github.com/mgorny/python-exec/"
-SRC_URI="https://github.com/mgorny/${PN}/releases/download/${P}/${P}.tar.bz2"
+SRC_URI="https://github.com/mgorny/python-exec/releases/download/v${PV}/${P}.tar.bz2"
LICENSE="BSD-2"
SLOT="2"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
# eselect-python because of /usr/bin/python* collisions and new config
@@ -37,6 +37,7 @@ src_configure() {
done
local myconf=(
+ --with-fallback-path="${EPREFIX}/usr/local/sbin:${EPREFIX}/usr/local/bin:${EPREFIX}/usr/sbin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/bin"
--with-python-impls="${pyimpls[*]}"
)
diff --git a/dev-lang/python-exec/python-exec-9999.ebuild b/dev-lang/python-exec/python-exec-9999.ebuild
index 98708bc4bed2..6fc81aeeefa9 100644
--- a/dev-lang/python-exec/python-exec-9999.ebuild
+++ b/dev-lang/python-exec/python-exec-9999.ebuild
@@ -1,13 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-
-#if LIVE
-EGIT_REPO_URI="https://github.com/mgorny/${PN}.git"
-
-inherit autotools git-r3
-#endif
+EAPI=6
# Kids, don't do this at home!
inherit python-utils-r1
@@ -15,15 +9,16 @@ PYTHON_COMPAT=( "${_PYTHON_ALL_IMPLS[@]}" )
# Inherited purely to have PYTHON_TARGET flags which will satisfy USE
# dependencies and trigger necessary rebuilds.
-inherit python-r1
+inherit autotools git-r3 python-r1
DESCRIPTION="Python script wrapper"
HOMEPAGE="https://github.com/mgorny/python-exec/"
-SRC_URI="https://github.com/mgorny/${PN}/releases/download/${P}/${P}.tar.bz2"
+SRC_URI=""
+EGIT_REPO_URI="https://github.com/mgorny/python-exec.git"
LICENSE="BSD-2"
SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS=""
IUSE=""
# eselect-python because of /usr/bin/python* collisions and new config
@@ -35,14 +30,10 @@ RDEPEND="
!<dev-lang/python-3.4.3-r4:3.4
!<dev-lang/python-3.5.0-r3:3.5"
-#if LIVE
-KEYWORDS=
-SRC_URI=
-
src_prepare() {
+ default
eautoreconf
}
-#endif
src_configure() {
local pyimpls=() i EPYTHON
diff --git a/dev-lang/rakudo/Manifest b/dev-lang/rakudo/Manifest
index 528fc2dc3240..3cc9decc9c0d 100644
--- a/dev-lang/rakudo/Manifest
+++ b/dev-lang/rakudo/Manifest
@@ -5,11 +5,13 @@ DIST rakudo-2018.02.tar.gz 3478799 BLAKE2B 36f50a38c26e9b96a31d63566337315bed41b
DIST rakudo-2018.03.tar.gz 3492524 BLAKE2B be2d9fbc8789e78025e18da873873d99872984815a56c0e255487b4250c900e142dbcdb5ce8eede496504401ca37c0e433fb9060fc5f4e8ac0b2778fc35cff62 SHA512 b644f333f6b9501631ee95949017b9e39416311853880a71bc714bb36f2da448fc57147f819d876f6d7ab207c2921474f94e25a4df90c735ba15f270f0c1fd7b
DIST rakudo-2018.04.1.tar.gz 3511991 BLAKE2B 9d87e10664ebe59e258e12166bf12390c52a09f32e07adabe30454169016f4ea1649cf215bbb0a093dc5cb332cae9c4adc9cdc87f5276a5006cd84d8c9731b04 SHA512 e57d34c08e32e7ace5ab681f4472409bb9a2eb74361784b4ef43aa1a4b6adeed903219a1810063a10b5c0baf113a9cf88b00c989347c0c395a041a018fd9a626
DIST rakudo-2018.04.tar.gz 3512276 BLAKE2B 9d9bb4070a27ce3185c5ebc2627a5f05359d23fc9377954c30edac7f36bbe4089d3b35da0e2ec17a20c155d857219aa962baa058e393bc6690e2ba30731cfa73 SHA512 5a549113583ce94c2606b7aa5fad2089f1ccebd50f503ce0eb24163599ed3aacd26dd876c6ace675798d577b8063ba260c1b4553c382cf4d13041d692a5bdf6a
+DIST rakudo-2018.05.tar.gz 3515782 BLAKE2B a39df1867bc099dd46262fd29e9f1a9544e995a6383efc438d3e0dd9a7f6d0782a437cfee2220f268d5ce4dd34e6532317f3ecc0693bc82100e328dd5dd7ccbd SHA512 d3514cd46d46ce44eac0e84292504a62669de5b5b053012a36a4c742059d8c2302752a41cd30c20d1b5f11acfdb09b8d855401b0e971e811216899c8b7dd66fc
EBUILD rakudo-2018.01.ebuild 1617 BLAKE2B 3311d96005a0653c4fb6618dc2df0e5081422909bf9185f6b90fafe9fbbf80463156788594de08993947bc9578e11ec1075d5172eb59e4a4574966100dd7497b SHA512 5aa9b3a7b2f94540399f8112b70ae2bd6879ae99e0ec51bf66821ef42c4a26bebcb7ec053b4e76d31591c52f96bee97b896db34b169519570e28a5c70da9d7ea
EBUILD rakudo-2018.02.1.ebuild 1619 BLAKE2B 5fd004e5d2013b1c6da8df7cfa8e094ff484c46425d7b5f63da57894cf9fb4c5b6aaf7409992706a23aec011a7998d55e919ad03eb7137d3e741d989cdd93b4e SHA512 5a4b643413002435b83087454676ccd590fa04ca634e4be2d5cecd37ed74972ded26b834b6a6c1d8e10891b9157dde9a610e12e4bf706423cadb70b1ae7a00b0
EBUILD rakudo-2018.02.ebuild 1617 BLAKE2B 3311d96005a0653c4fb6618dc2df0e5081422909bf9185f6b90fafe9fbbf80463156788594de08993947bc9578e11ec1075d5172eb59e4a4574966100dd7497b SHA512 5aa9b3a7b2f94540399f8112b70ae2bd6879ae99e0ec51bf66821ef42c4a26bebcb7ec053b4e76d31591c52f96bee97b896db34b169519570e28a5c70da9d7ea
EBUILD rakudo-2018.03.ebuild 1617 BLAKE2B 3311d96005a0653c4fb6618dc2df0e5081422909bf9185f6b90fafe9fbbf80463156788594de08993947bc9578e11ec1075d5172eb59e4a4574966100dd7497b SHA512 5aa9b3a7b2f94540399f8112b70ae2bd6879ae99e0ec51bf66821ef42c4a26bebcb7ec053b4e76d31591c52f96bee97b896db34b169519570e28a5c70da9d7ea
EBUILD rakudo-2018.04.1.ebuild 1617 BLAKE2B 3311d96005a0653c4fb6618dc2df0e5081422909bf9185f6b90fafe9fbbf80463156788594de08993947bc9578e11ec1075d5172eb59e4a4574966100dd7497b SHA512 5aa9b3a7b2f94540399f8112b70ae2bd6879ae99e0ec51bf66821ef42c4a26bebcb7ec053b4e76d31591c52f96bee97b896db34b169519570e28a5c70da9d7ea
EBUILD rakudo-2018.04.ebuild 1617 BLAKE2B 3311d96005a0653c4fb6618dc2df0e5081422909bf9185f6b90fafe9fbbf80463156788594de08993947bc9578e11ec1075d5172eb59e4a4574966100dd7497b SHA512 5aa9b3a7b2f94540399f8112b70ae2bd6879ae99e0ec51bf66821ef42c4a26bebcb7ec053b4e76d31591c52f96bee97b896db34b169519570e28a5c70da9d7ea
+EBUILD rakudo-2018.05.ebuild 1617 BLAKE2B 4a683526c14a363fe903a36704f3287e70b96bd407d5c664fe437d64d3b2b1cb2ed0353ee154e1987d77d6e0ed68e719ba84a1439d4472f601f581a9b525f364 SHA512 0b4e582891816eff74ce5446d07a132abef0bcb177d7b0b54cd778f4386041b524a4282f7b99360323b29122a04bfc663e5939dd7cc2f44f12a33eb7157684fa
EBUILD rakudo-9999.ebuild 1715 BLAKE2B 7cbe373b0e54218018db5845484502f6f922ff397da6d949709f980210f1edb541132f7dc21704ace7c992f6637247da0726ada4f74a7380bf1113f49204e26c SHA512 1dbb9387b42f05f0d39bca302b350cf4c7f9f14409231f200f6d0cdaf4d85e87f365132a8acc8b4dba7578797bf26ecc116e64b9b1d65ace62791e3eba514178
MISC metadata.xml 513 BLAKE2B 90fdc5cdf5182b707681ce28a7e4b06c1e8e1a05f848e072de4abc5e8f074ec9becd41c117880bba60e00eebe69a4ab1639b39b0a29307d65d6be09784ee6a18 SHA512 d0144523717581bc13a12b8b8edff0ec03800fe1bda313725a4db37bc70e26c3cf566426e48eb6ecf58f8653f6c51f375ea31d915d75bcf37fc0772251047e7a
diff --git a/dev-lang/rakudo/rakudo-2018.05.ebuild b/dev-lang/rakudo/rakudo-2018.05.ebuild
new file mode 100644
index 000000000000..5d27b8d2e3cd
--- /dev/null
+++ b/dev-lang/rakudo/rakudo-2018.05.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit java-pkg-opt-2
+
+DESCRIPTION="A compiler for the Perl 6 programming language"
+HOMEPAGE="https://rakudo.org"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/rakudo/${PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ SRC_URI="https://rakudo.perl6.org/downloads/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Artistic-2"
+SLOT="0"
+# TODO: add USE="javascript" once that's usable in nqp
+IUSE="clang java +moar test"
+REQUIRED_USE="|| ( java moar )"
+
+CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.7 )"
+DEPEND="${CDEPEND}
+ clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.7 )
+ >=dev-lang/perl-5.10"
+
+pkg_pretend() {
+ if has_version dev-lang/rakudo; then
+ ewarn "Rakudo is known to fail compilation/installation with Rakudo"
+ ewarn "already being installed. So if it fails, try unmerging dev-lang/rakudo,"
+ ewarn "then do a new installation."
+ ewarn "(see Bug #584394)"
+ fi
+}
+
+src_configure() {
+ local backends
+ use moar && backends+="moar,"
+ use java && backends+="jvm"
+
+ local myargs=(
+ "--prefix=/usr"
+ "--sysroot=/"
+ "--sdkroot=/"
+ "--backends=${backends}"
+ )
+
+ perl Configure.pl "${myargs[@]}" || die
+
+ if use java; then
+ NQP=$(java-pkg_getjars --with-dependencies nqp)
+ fi
+}
+
+src_compile() {
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install
+}
+
+src_test() {
+ RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default
+}
diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
index b0d2f5d0a3d5..eea2d189e0f9 100644
--- a/dev-lang/ruby/Manifest
+++ b/dev-lang/ruby/Manifest
@@ -4,7 +4,6 @@ DIST ruby-2.3.6.tar.xz 11445628 BLAKE2B 052f09fef806581824b14196abecde7def7c4ebc
DIST ruby-2.3.7.tar.xz 11438124 BLAKE2B 4f7e0422291794b254cb80edd2f0841bbc1e85cd62635024b6d43b23b1bcdc512d92b57d8885b253465cc8ef3c6cbcec97a6ef239dc11cc8b252e941d25e0487 SHA512 fd91c8db3d3aa4cc962a62f27b4d1a71f6b5567ab836e6dbfbbb1553eb269d11e12faf9e36af6c489c33b54fd89dab99bfe81a563158b704877f0628d6f5bc5a
DIST ruby-2.4.3.tar.xz 10040072 BLAKE2B 87ad9700312a104a60b079f4ef95804d2a9e01109e9fef6e83e593464f1d2c5077af54cbbaff6e0d25a925d05f513cade6c76f05960d9bcc1817bdee51ad4a0f SHA512 8bcf60c994a96787da5d743c66f5609a5a6d834d6d61243cdea7fd059197c3b10da43c99e5649be85e2f2329eedcbb1dd76e89ce3ac586be9056348f7449ed09
DIST ruby-2.4.4.tar.xz 10049304 BLAKE2B 76bb2c3f63cda8e6f3814c74dded23568b2f7f12036d745bf55fc4a68e281ef3ae0fe29bf8e194db71f72e724ffe750a31bec9246ad1c01eb05ed93512a6422e SHA512 4dc112a149273d4221484ccbf1260c6c5fcad7e0a6e4bc91e4ef69cbc093d3191f7abd71420f80d680f8ea5d111e6803ba2af32166aa501913639e6d5696fde0
-DIST ruby-2.5.0.tar.xz 11292472 BLAKE2B 852ce003a79d9d77e72928353382962440e99ed1d03558c89a928e8f4a582b27357ef63e3ef45f3b30009f7a95f356100941bd84151571ade3a88b2d0595f8ad SHA512 55714a33d7661fe8b432f73c34fd67b49699f8b79df1cbd680a74899124d31111ab0f444677672aac1ba725820182940d485efb2db0bf2bc96737c5d40c54578
DIST ruby-2.5.1.tar.xz 11348108 BLAKE2B ea1019a81f96169ab8d435215362b36b098df373ac4f53ecda328686ec2c13204a38c66bb1bf9504d18e1762e7e6ae277bab3b16bb53b8e628962df715769f3b SHA512 31bacf58469953282cd5d8b51862dcf4b84dedb927c1871bc3fca32fc157fe49187631575a70838705fe246f4555647577a7ecc26894445a7d64de5503dc11b4
DIST ruby-patches-2.2.10.tar.bz2 5764 BLAKE2B f50729480a4231db51de7981acb04dafa09d5fde592cf4a824a6fefe8ae3189ab9e82857e7ca41f1bb32dff1c4057ac37badf971c1b8f2981189e13d42dd38d2 SHA512 296387ec7f2ff82ad55f147d8f9568de544403d286ad24bb60aca916215d7ff6e1d6aca5a31c00a1999504989cda2bbd3260cae96c18ba73f9ffdcfd6b2695bd
DIST ruby-patches-2.2.9.tar.bz2 5764 BLAKE2B f50729480a4231db51de7981acb04dafa09d5fde592cf4a824a6fefe8ae3189ab9e82857e7ca41f1bb32dff1c4057ac37badf971c1b8f2981189e13d42dd38d2 SHA512 296387ec7f2ff82ad55f147d8f9568de544403d286ad24bb60aca916215d7ff6e1d6aca5a31c00a1999504989cda2bbd3260cae96c18ba73f9ffdcfd6b2695bd
@@ -12,16 +11,12 @@ DIST ruby-patches-2.3.6.tar.bz2 3030 BLAKE2B 7c1e80ff0569a03672f53820c665933056b
DIST ruby-patches-2.3.7.tar.bz2 3030 BLAKE2B 7c1e80ff0569a03672f53820c665933056b46bcf791c9132cb9f358f72df693749f02da65ca7469c3dd0f652d7dc7bfaa03dccd4eb900562361876023fb65b42 SHA512 54cc3f2bfd1967b8558736e5a5240b886a56b22defca5813f45b1f4dca9af169b4d59d60b327ec8411e824970ac6da1cec53cfc31833403742e9d6941e5a78f1
DIST ruby-patches-2.4.3.tar.bz2 2898 BLAKE2B e46502dbb0aa25c3d71693a6c04b433bd4de60f194cdd283517c4b08da190356885d9bca4a6765402088185fa8ec681156e8e8eecf0703a2c1ea7bb81adc0bf9 SHA512 d767d43c7df737469247e42e1c4205b8c6850c8f335a2869c884f145c037e9bab10492cc7cd2903f5c33e232cdc5bbdabb3e8da837c7bf420b9d58d1d33149ed
DIST ruby-patches-2.4.4.tar.bz2 2898 BLAKE2B e46502dbb0aa25c3d71693a6c04b433bd4de60f194cdd283517c4b08da190356885d9bca4a6765402088185fa8ec681156e8e8eecf0703a2c1ea7bb81adc0bf9 SHA512 d767d43c7df737469247e42e1c4205b8c6850c8f335a2869c884f145c037e9bab10492cc7cd2903f5c33e232cdc5bbdabb3e8da837c7bf420b9d58d1d33149ed
-DIST ruby-patches-2.5.0-r1.tar.bz2 1888 BLAKE2B 38358c4d10a5c825ad1d50aa9e538fbfb0875deffaecf2064be3c52d593539f37b83bf726437922b1f13bd3d5c63e30ae071cd75c891e7083d3a363c4b49c905 SHA512 39068008cd7050a6787cfe35ef0a21ebeb5128226153b80f8d34e89bc77d6159f32e6980dfd8f3e38fc748cf3d648d102b3dcfcb79a484a517a5008bfd8161b9
-DIST ruby-patches-2.5.0-r2.tar.bz2 2986 BLAKE2B 64d64eda19bff94f205a6314c2af59896064fb64c118e0f3859d82aeb7e58478170b9160804ab8faf569054b65228abeecc5900e568e17133c21e9aed9bdf589 SHA512 c2bca3f98c7bb1de267b9f07eb1b0903c499c79e9c9d0166a6924e88e837434f27ddedd7aead7ebbe32f0530f751601ac5486a0db46ee28b94d7cea13e0e7924
DIST ruby-patches-2.5.1.tar.bz2 2986 BLAKE2B 64d64eda19bff94f205a6314c2af59896064fb64c118e0f3859d82aeb7e58478170b9160804ab8faf569054b65228abeecc5900e568e17133c21e9aed9bdf589 SHA512 c2bca3f98c7bb1de267b9f07eb1b0903c499c79e9c9d0166a6924e88e837434f27ddedd7aead7ebbe32f0530f751601ac5486a0db46ee28b94d7cea13e0e7924
-EBUILD ruby-2.2.10.ebuild 6917 BLAKE2B 0f29979425f8a7110efcd2b8520ea8bd84793c6d0853ee1361b37b917ec96345d1b6ba6194074401dd206d6f913a6488a4281c51a9fe69d90962cbcc058191b2 SHA512 3ed2374ecd7cf175ed2ff23e431dff88bad807bf4e5d9579a44e8d2ae615fe4b438ccbc9c47f1d6624b1047e2a799b9e5f1b515a83828f2f704be0fb4ab41b85
+EBUILD ruby-2.2.10.ebuild 6916 BLAKE2B c194ff14baceedc1e76d9098aa346dfc83a8a4ceb11668f197b385ccbac5f3d9f40bc846e5a027c42f965d38ad448545f5311ef659beafd4cdc90f8cee84fa8c SHA512 ff1d71308241fe8859b5a7e23835742c209af547a0f61cf0d775b9c4d8df3acf9113e8fd4047743eae4fe86a6bf0ed5cf40bcc7de9e7c4792d8cd89b506f510e
EBUILD ruby-2.2.9.ebuild 6916 BLAKE2B c194ff14baceedc1e76d9098aa346dfc83a8a4ceb11668f197b385ccbac5f3d9f40bc846e5a027c42f965d38ad448545f5311ef659beafd4cdc90f8cee84fa8c SHA512 ff1d71308241fe8859b5a7e23835742c209af547a0f61cf0d775b9c4d8df3acf9113e8fd4047743eae4fe86a6bf0ed5cf40bcc7de9e7c4792d8cd89b506f510e
EBUILD ruby-2.3.6.ebuild 6875 BLAKE2B b26271e0f50c4a0d8877519053e3fb25b01d593bf1408b927c382869393e0c563cbe4d5f2e1805aa1e24bdac2aeead7120598b84f975ee73d36447b2cb5c4126 SHA512 7fa817084c0b82cf4b919c728e421a265ad495e92be317354c9c82a4188a22bb828d82f09f1d3a516d5d6c1b9700a395117a226435c3672e11f1912fe0be6520
-EBUILD ruby-2.3.7.ebuild 6875 BLAKE2B 4d044ef99dffddeb6307c629398843faceaf5e21be81a1a1a9e49646b224a963ae808f84b112967691f920b74f8ee3278c9759bbad8de10e4a0cb8730a36cb87 SHA512 1ded5a1800f3f6e30977cfed87c2c0ae29d7f428207cedd8f4b77d6dc8fae825711b48311077ad0dd78dd2ec4acd23897cb671e7fe9bd521fd2c57d01453c374
+EBUILD ruby-2.3.7.ebuild 6874 BLAKE2B 6f2eea75e75bf4f07692abc276347a9f16bae4768f2a9bf042b9f172f3d6f6240cff0eb5ce056c389fa100866cc7c72a6b82ce5de82d9cfbd3ee0f79cde51a65 SHA512 c790121a4a38b995553f0190cf7139a45ccb668458e28e6654dd867584f52d8e36f5e614411c7098a0452d066d19ad3e0a31bf3c0c0d451033bc03650d67bac8
EBUILD ruby-2.4.3.ebuild 6980 BLAKE2B 2a08be5225e43fd5e5d7c90ff63ed43b6eab9b6e69ac1df7aead9657d651267e8bc0e741e16a276bee7fe5ecca5565d17d1428d96e5713305d278f251cdd99f4 SHA512 f43e497753a3fcfc0ff3e4ff840ae8cf3003671da0fe55e62651c17592f885cdbb99ed76ff6b99581ffd0903d23bc03b5425839f884f9e0e7ed925fb748edd4d
EBUILD ruby-2.4.4.ebuild 6980 BLAKE2B 2a08be5225e43fd5e5d7c90ff63ed43b6eab9b6e69ac1df7aead9657d651267e8bc0e741e16a276bee7fe5ecca5565d17d1428d96e5713305d278f251cdd99f4 SHA512 f43e497753a3fcfc0ff3e4ff840ae8cf3003671da0fe55e62651c17592f885cdbb99ed76ff6b99581ffd0903d23bc03b5425839f884f9e0e7ed925fb748edd4d
-EBUILD ruby-2.5.0-r1.ebuild 6772 BLAKE2B f9ac0a58ebcd718715fb67cbbe90cc853a14d8ba717bd91e93645115c5b37dc4def3827dbd01ba7b91138468b124c3581f90a133e88884a7f2b9a902f3b4ad82 SHA512 ed302d0d2a27d002a1b89aaea3b25ce6c88660f1fd30469cc2d292cfe3679bc477b6f8ac986964db45541db091be3040ee8dc8a76f5c10995d307dcb4246042b
-EBUILD ruby-2.5.0-r2.ebuild 6772 BLAKE2B f9ac0a58ebcd718715fb67cbbe90cc853a14d8ba717bd91e93645115c5b37dc4def3827dbd01ba7b91138468b124c3581f90a133e88884a7f2b9a902f3b4ad82 SHA512 ed302d0d2a27d002a1b89aaea3b25ce6c88660f1fd30469cc2d292cfe3679bc477b6f8ac986964db45541db091be3040ee8dc8a76f5c10995d307dcb4246042b
EBUILD ruby-2.5.1.ebuild 6772 BLAKE2B f9ac0a58ebcd718715fb67cbbe90cc853a14d8ba717bd91e93645115c5b37dc4def3827dbd01ba7b91138468b124c3581f90a133e88884a7f2b9a902f3b4ad82 SHA512 ed302d0d2a27d002a1b89aaea3b25ce6c88660f1fd30469cc2d292cfe3679bc477b6f8ac986964db45541db091be3040ee8dc8a76f5c10995d307dcb4246042b
MISC metadata.xml 911 BLAKE2B 7596a3d7a53742635e3262a0deac45eb6c37e51b473dde2b5da78742baba1ecab42a4a3e2f992cfa8f3765472df896ccff2e2936ba5dedba1aad05c2ab47d9dc SHA512 c5d9f15742132625061303ed71206e937933b402e183edbe0f37ee73ac7ba47b3f7ad54cbf12d1db3900a1f833ea2432790a10a02ba7e1e0c4bf128a716b9d72
diff --git a/dev-lang/ruby/ruby-2.2.10.ebuild b/dev-lang/ruby/ruby-2.2.10.ebuild
index fb55e5de4314..ccac481cf537 100644
--- a/dev-lang/ruby/ruby-2.2.10.ebuild
+++ b/dev-lang/ruby/ruby-2.2.10.ebuild
@@ -30,7 +30,7 @@ SRC_URI="mirror://ruby/2.2/${MY_P}.tar.xz
https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
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 tk xemacs ncurses +readline"
RDEPEND="
diff --git a/dev-lang/ruby/ruby-2.3.7.ebuild b/dev-lang/ruby/ruby-2.3.7.ebuild
index 7d052a4ca34f..7dc95bcac035 100644
--- a/dev-lang/ruby/ruby-2.3.7.ebuild
+++ b/dev-lang/ruby/ruby-2.3.7.ebuild
@@ -30,7 +30,7 @@ SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz
https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
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 tk xemacs ncurses +readline"
RDEPEND="
diff --git a/dev-lang/ruby/ruby-2.5.0-r1.ebuild b/dev-lang/ruby/ruby-2.5.0-r1.ebuild
deleted file mode 100644
index a6c97c1a7362..000000000000
--- a/dev-lang/ruby/ruby-2.5.0-r1.ebuild
+++ /dev/null
@@ -1,238 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-#PATCHSET=1
-
-inherit autotools eutils flag-o-matic multilib versionator
-
-MY_P="${PN}-$(get_version_component_range 1-3)"
-S=${WORKDIR}/${MY_P}
-
-SLOT=$(get_version_component_range 1-2)
-MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
-RUBYVERSION=${SLOT}.0
-
-if [[ -n ${PATCHSET} ]]; then
- if [[ ${PVR} == ${PV} ]]; then
- PATCHSET="${PV}-r0.${PATCHSET}"
- else
- PATCHSET="${PVR}.${PATCHSET}"
- fi
-else
- PATCHSET="${PVR}"
-fi
-
-DESCRIPTION="An object-oriented scripting language"
-HOMEPAGE="http://www.ruby-lang.org/"
-SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz
- https://dev.gentoo.org/~graaff/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
-
-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/zlib
- >=app-eselect/eselect-ruby-20171225
-"
-
-DEPEND="${RDEPEND}"
-
-BUNDLED_GEMS="
- >=dev-ruby/did_you_mean-1.2.0:2.5[ruby_targets_ruby25]
- >=dev-ruby/minitest-5.10.3[ruby_targets_ruby25]
- >=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby25]
- >=dev-ruby/power_assert-1.1.1[ruby_targets_ruby25]
- >=dev-ruby/rake-12.3.0[ruby_targets_ruby25]
- >=dev-ruby/test-unit-3.2.7[ruby_targets_ruby25]
- >=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby25]
-"
-
-PDEPEND="
- ${BUNDLED_GEMS}
- virtual/rubygems[ruby_targets_ruby25]
- >=dev-ruby/json-2.0.2[ruby_targets_ruby25]
- rdoc? ( >=dev-ruby/rdoc-5.1.0[ruby_targets_ruby25] )
- xemacs? ( app-xemacs/ruby-modes )"
-
-src_prepare() {
- EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
- epatch "${WORKDIR}/patches"
-
- 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.2.0,minitest-5.10.3,net-telnet-0.1.1,power_assert-1.1.1,rake-12.3.0,test-unit-3.2.7,xmlrpc-0.3.0}.gem || die
-
- einfo "Removing bundled libraries..."
- rm -fr ext/fiddle/libffi-3.2.1 || die
-
- 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.5.0-r2.ebuild b/dev-lang/ruby/ruby-2.5.0-r2.ebuild
deleted file mode 100644
index a6c97c1a7362..000000000000
--- a/dev-lang/ruby/ruby-2.5.0-r2.ebuild
+++ /dev/null
@@ -1,238 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-#PATCHSET=1
-
-inherit autotools eutils flag-o-matic multilib versionator
-
-MY_P="${PN}-$(get_version_component_range 1-3)"
-S=${WORKDIR}/${MY_P}
-
-SLOT=$(get_version_component_range 1-2)
-MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
-RUBYVERSION=${SLOT}.0
-
-if [[ -n ${PATCHSET} ]]; then
- if [[ ${PVR} == ${PV} ]]; then
- PATCHSET="${PV}-r0.${PATCHSET}"
- else
- PATCHSET="${PVR}.${PATCHSET}"
- fi
-else
- PATCHSET="${PVR}"
-fi
-
-DESCRIPTION="An object-oriented scripting language"
-HOMEPAGE="http://www.ruby-lang.org/"
-SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz
- https://dev.gentoo.org/~graaff/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
-
-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/zlib
- >=app-eselect/eselect-ruby-20171225
-"
-
-DEPEND="${RDEPEND}"
-
-BUNDLED_GEMS="
- >=dev-ruby/did_you_mean-1.2.0:2.5[ruby_targets_ruby25]
- >=dev-ruby/minitest-5.10.3[ruby_targets_ruby25]
- >=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby25]
- >=dev-ruby/power_assert-1.1.1[ruby_targets_ruby25]
- >=dev-ruby/rake-12.3.0[ruby_targets_ruby25]
- >=dev-ruby/test-unit-3.2.7[ruby_targets_ruby25]
- >=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby25]
-"
-
-PDEPEND="
- ${BUNDLED_GEMS}
- virtual/rubygems[ruby_targets_ruby25]
- >=dev-ruby/json-2.0.2[ruby_targets_ruby25]
- rdoc? ( >=dev-ruby/rdoc-5.1.0[ruby_targets_ruby25] )
- xemacs? ( app-xemacs/ruby-modes )"
-
-src_prepare() {
- EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
- epatch "${WORKDIR}/patches"
-
- 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.2.0,minitest-5.10.3,net-telnet-0.1.1,power_assert-1.1.1,rake-12.3.0,test-unit-3.2.7,xmlrpc-0.3.0}.gem || die
-
- einfo "Removing bundled libraries..."
- rm -fr ext/fiddle/libffi-3.2.1 || die
-
- 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/rust/Manifest b/dev-lang/rust/Manifest
index 006b5eec5f7b..6a2cfc9818fb 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -7,6 +7,6 @@ DIST rust-1.25.0-x86_64-unknown-linux-gnu.tar.xz 111059260 BLAKE2B ae982976a735c
DIST rustc-1.25.0-src.tar.gz 98639156 BLAKE2B 1408d5dd0611d4830de3b6b3d00e3fad4198a47599b639d0ac0bd05aaba401f743056a942e9df04a4d192c6b12e8cfe9a9cdf8cd26e48b72104ce9b423df049e SHA512 7d8886f4d5a621eb794e814deb60be681fa38cf086f87ffa14e5a3500c640b237c549a632de1331a0f1b71963de41f6d31a4df3866b7e597424002316fed81ce
DIST rustc-1.26.0-src.tar.xz 54613664 BLAKE2B 798985e4060c28828066118f39fc296e52b3796ae02f3917912680154047eb6f91806b3d45f3a0e9afcef55d95cea3079debae12d2ddf2d9c46f992e12519094 SHA512 563b910ecf4b2a0d798a1201177f733333e64efad49e5aceec5adc66a8c6903df391c9afc0fdd8284348c08082e0c4de1e5cb68efe6797594de43ca93e4ad7a2
EBUILD rust-1.25.0.ebuild 4601 BLAKE2B fd0f6cfd9c480b1a6ce19cc02a66233a5acbca045d66955fe4263b66456145f5602de2878b739d99fb42d09c92ec99e7311402cea863e415fe2bdcd6ee0d88e3 SHA512 8928dbf17abbdd5b484dccc6d2fee12e1f653b0e37d2b4a2750cee0c64dea749102baa2ef13c46aa46a40d88fcea364730ad35f1ca72a017f00e60943f9470e4
-EBUILD rust-1.26.0-r2.ebuild 6130 BLAKE2B e2819e23de7ef609f8671faa5fd631e4330d87822d870c172dad8728695610cc2388852c08c4a143e4cf3137040d03183698e09ef00613d601f909aeee8dcce3 SHA512 3b7273d6d3e91812ebf8fb3233ee45dac139cd0d1a22979ffd939092af63bc1b16a7b1d99e3aad0827361830e4faeacb46670306e1b9794e2952bf675c1b7201
+EBUILD rust-1.26.0-r3.ebuild 6165 BLAKE2B fea4c2b3ce27edd6a0d024421c8adf719d6d8985cd4f980387068cf69407f08881629cb1f78029543dfbcc42da4158c31ea7a482cd1d9c10409b5c1b7c805216 SHA512 884bdb757420bd0e822db94e47cf53858b63ff9c488013683804f3dedf4c7235358101db9cecdc838c00b2d3d8ad86e35942a4e571365e2e8fb59490bff44186
EBUILD rust-1.26.0.ebuild 4927 BLAKE2B 7e78c4897053f80fb47c91ab83aaac3fcb772ab75796112aa035781663a962d052ff7486c4baafb2b809e6b22ed10f18ec495aa063a76065d3f45d69b603b80c SHA512 62197eb7b7e0be13f547b49b15491a71689c9076d8805fc53771e9b57e7aac3fbc0197ba6a087958e6be788c57885fa4b5cdc22767f57f318235c91ac40a4c3e
MISC metadata.xml 482 BLAKE2B c75f5749d7c3b17c9ea4c811809448dbaea4723e74da9e0a9ba4e492c3275875c95ae4d209a0129c24f3e692c00c77e36f16b23e2b3d6ea22c05f50b0de7d054 SHA512 5e9ea6d3db22676701c132298ea8b03453a53aa3b79f564f2cc021735b60329f1201c871541dde362315e938543e89afc6f0c3629218744ddca75d95deeb4a88
diff --git a/dev-lang/rust/rust-1.26.0-r2.ebuild b/dev-lang/rust/rust-1.26.0-r3.ebuild
index 4a0bbfdb7ec6..7c8ad9c00114 100644
--- a/dev-lang/rust/rust-1.26.0-r2.ebuild
+++ b/dev-lang/rust/rust-1.26.0-r3.ebuild
@@ -102,6 +102,7 @@ src_configure() {
optimize = $(toml_usex !debug)
release-debuginfo = $(toml_usex debug)
assertions = $(toml_usex debug)
+ targets = "${LLVM_TARGETS// /;}"
[build]
build = "${rust_target}"
host = ["${rust_target}"]