summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin17501 -> 17511 bytes
-rw-r--r--dev-lang/duktape/Manifest2
-rw-r--r--dev-lang/duktape/metadata.xml5
-rw-r--r--dev-lang/icon/Manifest10
-rw-r--r--dev-lang/icon/files/icon-9.5.1-flags.patch75
-rw-r--r--dev-lang/icon/files/icon-9.5.1-fpoll.patch27
-rw-r--r--dev-lang/icon/files/icon-9.5.1-musl.patch24
-rw-r--r--dev-lang/icon/icon-9.5.1-r1.ebuild108
-rw-r--r--dev-lang/icon/icon-9.5.1-r2.ebuild126
-rw-r--r--dev-lang/icon/icon-9.5.20h.ebuild123
-rw-r--r--dev-lang/icon/metadata.xml3
-rw-r--r--dev-lang/mercury-extras/Manifest3
-rw-r--r--dev-lang/mercury-extras/mercury-extras-20.06.1.ebuild307
-rw-r--r--dev-lang/mercury/Manifest7
-rw-r--r--dev-lang/mercury/mercury-20.06-r1.ebuild2
-rw-r--r--dev-lang/mercury/mercury-20.06.1.ebuild207
-rw-r--r--dev-lang/ocaml/Manifest6
-rw-r--r--dev-lang/ocaml/ocaml-4.12.1.ebuild97
-rw-r--r--dev-lang/ocaml/ocaml-4.13.0.ebuild97
-rw-r--r--dev-lang/ocaml/ocaml-4.13.1.ebuild97
-rw-r--r--dev-lang/perl/Manifest2
-rw-r--r--dev-lang/perl/perl-5.34.0-r2.ebuild2
-rw-r--r--dev-lang/php/Manifest22
-rw-r--r--dev-lang/php/php-7.3.29.ebuild758
-rw-r--r--dev-lang/php/php-7.3.30.ebuild758
-rw-r--r--dev-lang/php/php-7.3.31.ebuild2
-rw-r--r--dev-lang/php/php-7.4.21-r1.ebuild750
-rw-r--r--dev-lang/php/php-7.4.22.ebuild750
-rw-r--r--dev-lang/php/php-7.4.23.ebuild750
-rw-r--r--dev-lang/php/php-7.4.24.ebuild2
-rw-r--r--dev-lang/php/php-8.0.10.ebuild749
-rw-r--r--dev-lang/php/php-8.0.11.ebuild2
-rw-r--r--dev-lang/php/php-8.0.8-r2.ebuild749
-rw-r--r--dev-lang/php/php-8.0.9.ebuild749
-rw-r--r--dev-lang/python/Manifest4
-rwxr-xr-x[-rw-r--r--]dev-lang/python/files/pydoc.init0
-rw-r--r--dev-lang/python/python-3.10.0.ebuild346
-rw-r--r--dev-lang/rust/Manifest10
-rw-r--r--dev-lang/rust/metadata.xml2
-rw-r--r--dev-lang/rust/rust-1.52.1.ebuild6
-rw-r--r--dev-lang/rust/rust-1.53.0.ebuild6
-rw-r--r--dev-lang/rust/rust-1.54.0.ebuild6
-rw-r--r--dev-lang/rust/rust-1.55.0.ebuild6
-rw-r--r--dev-lang/spidermonkey/Manifest5
-rw-r--r--dev-lang/spidermonkey/spidermonkey-78.14.0.ebuild2
-rw-r--r--dev-lang/spidermonkey/spidermonkey-78.15.0.ebuild454
-rw-r--r--dev-lang/vala/Manifest6
-rw-r--r--dev-lang/vala/vala-0.48.18.ebuild2
-rw-r--r--dev-lang/vala/vala-0.50.9.ebuild2
-rw-r--r--dev-lang/vala/vala-0.52.5.ebuild2
50 files changed, 1676 insertions, 6554 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 75db52dd0b31..73fa4f481b34 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/duktape/Manifest b/dev-lang/duktape/Manifest
index 0be06143472a..72b9a3b4ee2a 100644
--- a/dev-lang/duktape/Manifest
+++ b/dev-lang/duktape/Manifest
@@ -6,4 +6,4 @@ DIST duktape-2.6.0.tar.xz 1035160 BLAKE2B 98155e1bf7e76aab37f5ccdb951d9d456df3d9
EBUILD duktape-2.4.0.ebuild 984 BLAKE2B 639c3dbdb610048fc33134671a428deca1fe106f5f54cc7baee3d21b921265c63e168208501e6aaea0f91a578f2d33dd5b110d14f25a7d198542be944346a957 SHA512 7bcadb6b1e5a246bf2b62b3f3ccb7dfc50e9232508d86fbef1481b8b08fdd1b810e5010eff72fb8f88eb590f39ba711294bbd1b9207eeeb524032a57fb10170e
EBUILD duktape-2.5.0-r1.ebuild 1070 BLAKE2B 32767172e822423930b4bdfd536e5219039d3aab8edd7238a5da030e3e9932733a9b11a0e060180240c2cd82bc9520bd87be705ab6593dfbb56842b6310e2760 SHA512 e6c0e7e07ad49e8dd507cf41cfcc2986847df6d111f2db25fc2b8485f76daa38d4aad3776eb12d4fd2ec2d4c0b8505dc621fba340b1d8badd285a85b23759ec9
EBUILD duktape-2.6.0.ebuild 1195 BLAKE2B c63b87faea9fd89a23d33cb5ec49af33ba7cf653a25e886f4bc8698177f1c6c13ca6b65086ca2390e655b89342b79a15187e841c14041cbd9daa821f5e28b158 SHA512 980d422bffb1e9fd9d884e59b8e7925b87c1a9f01c9ae9314e4317e8274cf982257dc1d5965276f81a7f610964a9da8f797d83561b91dfcc5817fbbc156fcf97
-MISC metadata.xml 338 BLAKE2B 6d1b7de30ba10fa9a3717f063dc6e87e1d608148968650aca387c5451d7c96dd58989d9663f6b4ab9bb08b61f56cf3fab58e958e54ab95130cdc787438f1e54c SHA512 7e5111bb6cc35e58a2db5dc6641100c958505b5539438b063248a173a64fec667c5624ba0e0712b83e790cd0ac28b387519b1008901b17ac755d7803d6ada51b
+MISC metadata.xml 254 BLAKE2B 3d4c8d70d6cd3ce4afbd9cb3e7d271c14fccaba157aa4b4dc1bc5118f65e628aa521958605425ea5cca50c85b2e4cf7da937091daa2afa155b547e18b96b0c9c SHA512 b3f2e5506b50ea066915fb0419bf15d5996e1c097e78f4888e1d953f2149903143e1d9fef6ca884e94543448ada3297987d2e17a5a0e77124fb3f819b66bf23b
diff --git a/dev-lang/duktape/metadata.xml b/dev-lang/duktape/metadata.xml
index 57e73110842c..8dbab43f9b27 100644
--- a/dev-lang/duktape/metadata.xml
+++ b/dev-lang/duktape/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>thev00d00@gentoo.org</email>
- <name>Ian Whyman</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">svaarala/duktape</remote-id>
</upstream>
diff --git a/dev-lang/icon/Manifest b/dev-lang/icon/Manifest
index 1ab9a94381f7..a14735c1921c 100644
--- a/dev-lang/icon/Manifest
+++ b/dev-lang/icon/Manifest
@@ -1,11 +1,3 @@
-AUX icon-9.5.1-flags.patch 2148 BLAKE2B 37fcaca92f67be74caddbf7789ca4e666a4e0b98e7cac3a89376bae5c50fd248eae0f0b282a46ec8d6dc55f5c423ad6dc69744d2999e96ec183d9bb369f7e7b0 SHA512 28b201a1347167b028187d6d35cb50450cf6a13b48fbf65a616683fb6c5d3373d9ba9e64c3d6fe397e858388c88a52ab330a00dc5e4ca087567089e8cdd3c897
-AUX icon-9.5.1-fpoll.patch 977 BLAKE2B 720fac1a8109d3400b6a718f708904d14e2d4207840a2e4d31888dd4be2d02c241c2f40271b89f6e3273732288e203e9298f061dfb485ca4eb0c24baea02534c SHA512 4b9d471d7d2992a75cccea98790339318b8a622d993a34affc69e0dbbbfa7103e8b994494eb33aaf26168bdb18623c5419f2c34471dee4adb1a004b420b793ab
-AUX icon-9.5.1-musl.patch 726 BLAKE2B 83aff0d45e50afa88830d18dbec53838e8adaaa4099fbe405b2212fbc0e53240fc0b21d934f2dfc263afc576bf671924d253784dc65e498b4bacecc91d479255 SHA512 b2be4642126edd75f6ae3466879841ec0123c367c93d74d91d9b9f290deaef9d7bbaa6642ad0440e297850664c6da7f33931782214c9afd8ca2d380b75d588e1
-DIST icon-9.5.20h.tar.gz 3137602 BLAKE2B 093290f7df4d0c1686b57c1debabdae5ab607fab00849885fd97b68b872db9d360e9ffe61b7be2e503f5ffa70a387011128c65586b0d48e298577d0ca690a729 SHA512 c3dec5d9d6f2e01fb27b09897cf9e54103749e64e64feb6503e1d25a00bf7da498e40207d8d220af8aca134df6fb281484bd8c8444d256f04ddc39de6a23ca1f
DIST icon-9.5.20i.tar.gz 3138826 BLAKE2B adb4010926f2a7bbfc03c12c1c669ac202c41949556fafdf8f6e41be418e329c5c4b0697a1af0eddd0cb6acd65d03dedabf171be99ba6e5c80a92fac91323027 SHA512 31f43f0ff672e81b459c8364960b780733820000c31405ddcd13d14927f065b48d1fae47aeb90a2cd31b65340c77ec7f85e8da27797fb186fa49474e7c8be394
-DIST icon-v951src.tgz 3133040 BLAKE2B 790a66a8210c1b9c55514a560590f08d3e52d7c5115d60554183f1118b5705fc1754b8188dcc3b5b739318374d568b6eafc1e3c4266de5416709e7ce6056925b SHA512 032dc9cfa57af5af2eb84b2116d0537124b5efb87b7cf744ecace2ccf49e461d5be5f91df99d85e8a988520d144fe4ecf06a6e78f7fff997b78afa95355449ad
-EBUILD icon-9.5.1-r1.ebuild 2507 BLAKE2B 5493470ee8d9a3bdad899e84d76f84b760e6bbcecc27e783247ffc386970948e3a097bb786e546f9c6473247f9707f50eb623cf270e6db2d401bea627d56967a SHA512 65aca9dfd666661578110c0056371a2b2647cadf11410f1f0af73669e2153a5d813da401b1f80ff97cccc7d507a265e80c8357ee86d86516b4de243d02f6f18e
-EBUILD icon-9.5.1-r2.ebuild 2971 BLAKE2B 811c5a0670ec4b68d5ff63f26b16f5b180a08aee91e9afe4399ddc05d22ab962c91b14055a3e2c3ed82e62fc2bfde5da1a07eec04f0b1050a777f8115001219d SHA512 4cca14040a76bdcd15d8b3e200425d9e2ad0dffc9883054f1d0a628f62fb83786928f17eaff5f2eb64bdab8d82c559895471491cac57ae90e9089d902a6956be
-EBUILD icon-9.5.20h.ebuild 3292 BLAKE2B 07c2221714a69ae1a35577bd195879f5203d03bbc8942ae777583153664d766100020a1a221f6a94f254fdff68f1383d828a078a20d9782e0c18064754c46a65 SHA512 c99f537832b4c172a15410202461f45ab1b94794bf7f9f65b52f3ab608691b193ec1ef5af91bc5df14998c840e6fc6ea0c19d2de351aa6ae822eadaa8331e5bb
EBUILD icon-9.5.20i.ebuild 3393 BLAKE2B 1cebf50867a91fa647634f8633b150c18eee036cd3466bf30aab3efb82941bd56eefba71b3d3ff0f1157c2a080444966c7b5731b833da5032bc7a3a4049a0745 SHA512 5de2efbee89b94ee1b043e65caf6c6da5a899f5c7eb46a0942fd4ec77f1307db93bdc78ee5e5d06bd4c9a20ec9d793ebd5aebae166c3e3cea8f0ecba0240b8fb
-MISC metadata.xml 498 BLAKE2B 276c8dfb1fb4216a48752fccc3eb7fab1346cc1fb978d91419e4255bd87409bfcd7807d3428071ded77a68c6edb734a5af3a87b0120f576ee3e8ca4f38ea5d27 SHA512 5ab3b16f3bc642594a4cb1116ae77a30670aa85d20fd8860152741f10a4e16fe539b3a394fa7cb16bad680e381289b5ba555ea0cb418600c6e1040f27c6e82ce
+MISC metadata.xml 410 BLAKE2B 5f65752284d58a7678eb4e338e2d4c03e9e098dd8cbd28aeb7a0276bebe2a925cb4b00325ace7edad24c94e33664c1aafda84f3f4348e57bd02a7b655f7a29ac SHA512 d05b0eaffd002eeb0e9088d43847304bd1346cf4da75c801e3663518a3fbac77bba1b2fed04ac422bedfe1220109f00d1b3809d04a0e7edd4c418088dd010d89
diff --git a/dev-lang/icon/files/icon-9.5.1-flags.patch b/dev-lang/icon/files/icon-9.5.1-flags.patch
deleted file mode 100644
index ff659b28bbc2..000000000000
--- a/dev-lang/icon/files/icon-9.5.1-flags.patch
+++ /dev/null
@@ -1,75 +0,0 @@
---- icon-v951src/ipl/cfuncs/Makefile
-+++ icon-v951src/ipl/cfuncs/Makefile
-@@ -25,7 +25,7 @@
- # library
-
- $(FUNCLIB): $(FUNCS) mklib.sh
-- CC="$(CC)" CFLAGS="$(CFLAGS)" BIN="../../bin" \
-+ CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" BIN="../../bin" \
- sh mklib.sh $(FUNCLIB) $(FUNCS)
- $(FUNCS): icall.h
-
---- icon-v951src/ipl/cfuncs/mklib.sh
-+++ icon-v951src/ipl/cfuncs/mklib.sh
-@@ -12,7 +12,7 @@
- set -x
- case "$SYS" in
- Linux*|*BSD*|GNU*)
-- $CC -shared -o $LIBNAME -fPIC "$@";;
-+ $CC -shared -o $LIBNAME $CFLAGS $LDFLAGS -fPIC "$@";;
- CYGWIN*)
- # move the win32 import library for iconx.exe callbacks
- # created when iconx.exe was built
---- icon-v951src/ipl/packs/loadfunc/Makefile
-+++ icon-v951src/ipl/packs/loadfunc/Makefile
-@@ -28,7 +28,7 @@
- echo '$$define FUNCLIB "./$(FUNCLIB)"' >libnames.icn
-
- $(FUNCLIB): $(FUNCS)
-- CC="$(CC)" CFLAGS="$(CFLAGS)" BIN="../../../bin" \
-+ CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" BIN="../../../bin" \
- sh $(MKLIB) $(FUNCLIB) $(FUNCS)
-
-
---- icon-v951src/src/common/Makefile
-+++ icon-v951src/src/common/Makefile
-@@ -8,7 +8,7 @@
- common: $(OBJS) gpxmaybe
-
- patchstr: patchstr.c
-- $(CC) $(CFLAGS) -o patchstr patchstr.c
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o patchstr patchstr.c
-
- gpxmaybe:
- -if [ "x$(XL)" != "x" ]; then $(MAKE) $(GDIR); fi
-@@ -25,7 +25,7 @@
- ../h/typedefs.h ../h/mproto.h ../h/cpuconf.h
-
- ../h/arch.h: infer.c
-- $(CC) $(CFLAGS) -o infer infer.c
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o infer infer.c
- ./infer >../h/arch.h
-
- identify.o: ../h/version.h
---- icon-v951src/src/rtt/Makefile
-+++ icon-v951src/src/rtt/Makefile
-@@ -22,7 +22,7 @@
-
-
- rtt: $(OBJ)
-- $(CC) $(LDFLAGS) -o rtt $(OBJ)
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o rtt $(OBJ)
-
- library: $(OBJ)
- rm -rf rtt.a
---- icon-v951src/src/runtime/Makefile
-+++ icon-v951src/src/runtime/Makefile
-@@ -30,7 +30,7 @@
-
- iconx: $(COBJS) $(XOBJS)
- cd ../common; $(MAKE)
-- $(CC) $(RLINK) -o iconx $(XOBJS) $(COBJS) $(XL) $(RLIBS) $(TLIBS)
-+ $(CC) $(CFLAGS) $(LDFLAGS) $(RLINK) -o iconx $(XOBJS) $(COBJS) $(XL) $(RLIBS) $(TLIBS)
- cp iconx ../../bin
- strip $(SFLAGS) ../../bin/iconx$(EXE)
-
diff --git a/dev-lang/icon/files/icon-9.5.1-fpoll.patch b/dev-lang/icon/files/icon-9.5.1-fpoll.patch
deleted file mode 100644
index d2a4d5f33d21..000000000000
--- a/dev-lang/icon/files/icon-9.5.1-fpoll.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/ipl/cfuncs/fpoll.c b/ipl/cfuncs/fpoll.c
-index 9230e18..33b8121 100644
---- a/ipl/cfuncs/fpoll.c
-+++ b/ipl/cfuncs/fpoll.c
-@@ -60,12 +60,9 @@ int fpoll(int argc, descriptor *argv) /*: await data from file */
-
- /* check for data already in buffer */
- /* there's no legal way to do this in C; we cheat */
--#if defined(__GLIBC__) && defined(_STDIO_USES_IOSTREAM) /* new GCC library */
-+#if defined(__GLIBC__) /* New GCC library */
- if (f->_IO_read_ptr < f->_IO_read_end)
- RetArg(1);
--#elif defined(__GLIBC__) /* old GCC library */
-- if (f->__bufp < f->__get_limit)
-- RetArg(1);
- #elif defined(_FSTDIO) /* new BSD library */
- if (f->_r > 0)
- RetArg(1);
-@@ -92,7 +89,7 @@ int fpoll(int argc, descriptor *argv) /*: await data from file */
-
- if (r > 0)
- RetArg(1); /* success */
-- else if (r == 0)
-+ else if (r == 0)
- Fail; /* timeout */
- else
- ArgError(1, 214); /* I/O error */
diff --git a/dev-lang/icon/files/icon-9.5.1-musl.patch b/dev-lang/icon/files/icon-9.5.1-musl.patch
deleted file mode 100644
index 16fc9df01738..000000000000
--- a/dev-lang/icon/files/icon-9.5.1-musl.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -uprN a/ipl/cfuncs/fpoll.c b/ipl/cfuncs/fpoll.c
---- a/ipl/cfuncs/fpoll.c 2020-05-10 21:46:39.730752626 -0600
-+++ b/ipl/cfuncs/fpoll.c 2020-05-10 21:50:41.613577816 -0600
-@@ -33,6 +33,10 @@
- #include <sys/types.h>
- #include <sys/time.h>
-
-+#if defined(_MUSL)
-+# include <stdio_ext.h>
-+#endif
-+
- #include "icall.h"
-
- int fpoll(int argc, descriptor *argv) /*: await data from file */
-@@ -66,6 +70,9 @@ int fpoll(int argc, descriptor *argv) /*
- #elif defined(_FSTDIO) /* new BSD library */
- if (f->_r > 0)
- RetArg(1);
-+#elif defined(_MUSL) /* MUSL library */
-+ if (__freadahead(f))
-+ RetArg(1);
- #else /* old AT&T library */
- if (f->_cnt > 0)
- RetArg(1);
diff --git a/dev-lang/icon/icon-9.5.1-r1.ebuild b/dev-lang/icon/icon-9.5.1-r1.ebuild
deleted file mode 100644
index 1979b93bc02e..000000000000
--- a/dev-lang/icon/icon-9.5.1-r1.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="very high level language"
-HOMEPAGE="http://www.cs.arizona.edu/icon/"
-
-MY_PV=${PV//./}
-SRC_URI="http://www.cs.arizona.edu/icon/ftp/packages/unix/icon-v${MY_PV}src.tgz"
-
-LICENSE="public-domain HPND"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="X iplsrc"
-
-S="${WORKDIR}/icon-v${MY_PV}src"
-
-RDEPEND="
- X? ( x11-libs/libX11:= )"
-DEPEND="
- ${RDEPEND}
- X? (
- x11-libs/libXpm
- x11-libs/libXt
- )"
-
-PATCHES=( "${FILESDIR}"/${PN}-9.5.1-flags.patch )
-
-src_prepare() {
- default
-
- # do not prestrip files
- find src -name 'Makefile' | xargs sed -i -e "/strip/d" || die
-}
-
-src_configure() {
- # select the right compile target. Note there are many platforms
- # available
- local mytarget;
- if [[ ${CHOST} == *-darwin* ]]; then
- mytarget="macintosh"
- else
- mytarget="linux"
- fi
-
- # Fails if more then one make job process.
- # This is an upstream requirement.
- emake -j1 $(usex X X-Configure Configure) name=${mytarget}
-
- # sanitise the Makedefs file generated by Configure
- sed -i \
- -e 's:-L/usr/X11R6/lib64::g' \
- -e 's:-L/usr/X11R6/lib::g' \
- -e 's:-I/usr/X11R6/include::g' \
- Makedefs || die "sed of Makedefs failed"
-
- append-flags $(test-flags -fno-strict-aliasing -fwrapv)
-}
-
-src_compile() {
- # Fails if more then one make job process.
- # This is an upstream requirement.
- emake -j1 CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
-}
-
-src_test() {
- emake Samples
- emake Test
-}
-
-src_install() {
- # Needed for make Install
- dodir /usr/$(get_libdir)
-
- emake Install dest="${D}/usr/$(get_libdir)/icon"
- dosym ../$(get_libdir)/icon/bin/icont /usr/bin/icont
- dosym ../$(get_libdir)/icon/bin/iconx /usr/bin/iconx
- dosym ../$(get_libdir)/icon/bin/icon /usr/bin/icon
- dosym ../$(get_libdir)/icon/bin/vib /usr/bin/vib
-
- cd "${S}/man/man1" || die
- doman "${PN}"t.1
- doman "${PN}".1
-
- cd "${S}/doc" || die
- DOCS=( *.txt ../README )
-
- HTML_DOCS=( *.{htm,gif,jpg,css} )
- einstalldocs
-
- # Clean up items from make Install that get installed elsewhere
- rm -rf "${ED}"/usr/$(get_libdir)/${PN}/man || die
- rm -rf "${ED}"/usr/$(get_libdir)/icon/{doc,README} || die
-
- # optional Icon Programming Library
- if use iplsrc; then
- cd "${S}" || die
-
- # Remove unneeded files before copy
- rm -fv ipl/{BuildBin,BuildExe,CheckAll,Makefile} || die
-
- insinto /usr/$(get_libdir)/icon
- doins -r ipl
- fi
-}
diff --git a/dev-lang/icon/icon-9.5.1-r2.ebuild b/dev-lang/icon/icon-9.5.1-r2.ebuild
deleted file mode 100644
index 31a7c5566c0c..000000000000
--- a/dev-lang/icon/icon-9.5.1-r2.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="very high level language"
-HOMEPAGE="http://www.cs.arizona.edu/icon/"
-
-MY_PV=${PV//./}
-SRC_URI="http://www.cs.arizona.edu/icon/ftp/packages/unix/icon-v${MY_PV}src.tgz"
-
-LICENSE="public-domain HPND"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="X iplsrc"
-
-S="${WORKDIR}/icon-v${MY_PV}src"
-
-RDEPEND="
- X? ( x11-libs/libX11:= )"
-DEPEND="
- ${RDEPEND}
- X? (
- x11-libs/libXpm
- x11-libs/libXt
- )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-9.5.1-flags.patch
- # https://bugs.gentoo.org/669330
- # Fix glibc 2.28 problem.
- # Patch has been accepted upstream, but is not yet in a release
- "${FILESDIR}"/${PN}-9.5.1-fpoll.patch
-
- # https://bugs.gentoo.org/716212
- # Fix building with musl
- # Patch has been accepted upstream, but is not yet in a release
- "${FILESDIR}"/${PN}-9.5.1-musl.patch
-)
-
-src_prepare() {
- default
-
- # do not prestrip files
- find src -name 'Makefile' | xargs sed -i -e "/strip/d" || die
-}
-
-src_configure() {
- # select the right compile target. Note there are many platforms
- # available
- local mytarget;
- if [[ ${CHOST} == *-darwin* ]]; then
- mytarget="macintosh"
- else
- mytarget="linux"
- fi
-
- # Fails if more then one make job process.
- # This is an upstream requirement.
- emake -j1 $(usex X X-Configure Configure) name=${mytarget}
-
- # sanitise the Makedefs file generated by Configure
- sed -i \
- -e 's:-L/usr/X11R6/lib64::g' \
- -e 's:-L/usr/X11R6/lib::g' \
- -e 's:-I/usr/X11R6/include::g' \
- -e 's:-I/usr/X11R6/include::g' \
- -e '/^CFLAGS/d' \
- Makedefs || die "sed of Makedefs failed"
-
- if use elibc_musl; then
- append-flags "-D_MUSL"
- fi
- append-flags $(test-flags -fno-strict-aliasing -fwrapv)
-}
-
-src_compile() {
- # Fails if more then one make job process.
- # This is an upstream requirement.
- emake -j1 CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
-}
-
-src_test() {
- emake Samples
- emake Test
-}
-
-src_install() {
- # Needed for make Install
- dodir /usr/$(get_libdir)
-
- emake Install dest="${D}/usr/$(get_libdir)/icon"
- dosym ../$(get_libdir)/icon/bin/icont /usr/bin/icont
- dosym ../$(get_libdir)/icon/bin/iconx /usr/bin/iconx
- dosym ../$(get_libdir)/icon/bin/icon /usr/bin/icon
- if use X; then
- dosym ../$(get_libdir)/icon/bin/vib /usr/bin/vib
- fi
-
- cd "${S}/man/man1" || die
- doman "${PN}"t.1
- doman "${PN}".1
-
- cd "${S}/doc" || die
- DOCS=( *.txt ../README )
-
- HTML_DOCS=( *.{htm,gif,jpg,css} )
- einstalldocs
-
- # Clean up items from make Install that get installed elsewhere
- rm -rf "${ED}"/usr/$(get_libdir)/${PN}/man || die
- rm -rf "${ED}"/usr/$(get_libdir)/icon/{doc,README} || die
-
- # optional Icon Programming Library
- if use iplsrc; then
- cd "${S}" || die
-
- # Remove unneeded files before copy
- rm -fv ipl/{BuildBin,BuildExe,CheckAll,Makefile} || die
-
- insinto /usr/$(get_libdir)/icon
- doins -r ipl
- fi
-}
diff --git a/dev-lang/icon/icon-9.5.20h.ebuild b/dev-lang/icon/icon-9.5.20h.ebuild
deleted file mode 100644
index ff1ccfcca93d..000000000000
--- a/dev-lang/icon/icon-9.5.20h.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="very high level language"
-HOMEPAGE="http://www.cs.arizona.edu/icon/"
-
-SRC_URI="https://github.com/gtownsend/icon/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="public-domain HPND"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="X iplsrc"
-
-S="${WORKDIR}/icon-${PV}"
-
-RDEPEND="
- X? ( x11-libs/libX11:= )"
-DEPEND="
- ${RDEPEND}
- X? (
- x11-libs/libXpm
- x11-libs/libXt
- )"
-
-src_prepare() {
- default
- # Add CFLAGS and LDFLAGS to Makefiles as needed
- sed -i -e 's/CFLAGS="$(CFLAGS)"/& LDFLAGS="$(LDFLAGS)"/g' ipl/cfuncs/Makefile || die
- sed -i -e 's/^CFLAGS = \(.*\)/CFLAGS = $(CFLAGS) \1/g' ipl/packs/loadfunc/Makefile || die
- sed -i -e 's/CFLAGS="$(CFLAGS)"/& LDFLAGS="$(LDFLAGS)"/g' ipl/packs/loadfunc/Makefile || die
- sed -i -e 's/-o $LIBNAME $CFLAGS/& $LDFLAGS/g' ipl/cfuncs/mklib.sh || die
- sed -i -e 's/$(RLINK)/& $(LDFLAGS)/g' src/runtime/Makefile || die
-
- # executables in src/common are only used to prep the build
- sed -i -e 's/$(CC) $(CFLAGS)/& $(LDFLAGS)/g' src/common/Makefile || die
- # executables in src/rtt are only used to perform the build
- sed -i -e 's/$(CC) $(CFLAGS)/& $(LDFLAGS)/g' src/rtt/Makefile || die
-
- # do not prestrip files
- find src -name 'Makefile' | xargs sed -i -e "/strip/d" || die
-}
-
-src_configure() {
- # select the right compile target. Note there are many platforms
- # available
- local mytarget;
- if [[ ${CHOST} == *-darwin* ]]; then
- mytarget="macintosh"
- else
- mytarget="linux"
- fi
-
- # Fails if more then one make job process.
- # This is an upstream requirement.
- emake -j1 $(usex X X-Configure Configure) name=${mytarget}
-
- # sanitise the Makedefs file generated by Configure
- sed -i \
- -e 's:-L/usr/X11R6/lib64::g' \
- -e 's:-L/usr/X11R6/lib::g' \
- -e 's:-I/usr/X11R6/include::g' \
- -e 's:-I/usr/X11R6/include::g' \
- -e '/^CFLAGS/d' \
- Makedefs || die "sed of Makedefs failed"
-
- if use elibc_musl; then
- append-flags "-D_MUSL"
- fi
- append-flags $(test-flags -fno-strict-aliasing -fwrapv)
-}
-
-src_compile() {
- # Fails if more then one make job process.
- # This is an upstream requirement.
- emake -j1 CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
-}
-
-src_test() {
- emake Samples
- emake Test
-}
-
-src_install() {
- # Needed for make Install
- dodir /usr/$(get_libdir)
-
- emake Install dest="${D}/usr/$(get_libdir)/icon"
- dosym ../$(get_libdir)/icon/bin/icont /usr/bin/icont
- dosym ../$(get_libdir)/icon/bin/iconx /usr/bin/iconx
- dosym ../$(get_libdir)/icon/bin/icon /usr/bin/icon
- if use X; then
- dosym ../$(get_libdir)/icon/bin/vib /usr/bin/vib
- fi
-
- cd "${S}/man/man1" || die
- doman "${PN}"t.1
- doman "${PN}".1
-
- cd "${S}/doc" || die
- DOCS=( *.txt ../README )
-
- HTML_DOCS=( *.{htm,gif,jpg,css} )
- einstalldocs
-
- # Clean up items from make Install that get installed elsewhere
- rm -rf "${ED}"/usr/$(get_libdir)/${PN}/man || die
- rm -rf "${ED}"/usr/$(get_libdir)/icon/{doc,README} || die
-
- # optional Icon Programming Library
- if use iplsrc; then
- cd "${S}" || die
-
- # Remove unneeded files before copy
- rm -fv ipl/{BuildBin,BuildExe,CheckAll,Makefile} || die
-
- insinto /usr/$(get_libdir)/icon
- doins -r ipl
- fi
-}
diff --git a/dev-lang/icon/metadata.xml b/dev-lang/icon/metadata.xml
index ef9a3d797996..257ee9434302 100644
--- a/dev-lang/icon/metadata.xml
+++ b/dev-lang/icon/metadata.xml
@@ -9,7 +9,4 @@
<email>proxy-maint@gentoo.org</email>
<name>Gentoo Proxy Maintainers Project</name>
</maintainer>
- <use>
- <flag name="iplsrc">install the icon programming library source</flag>
- </use>
</pkgmetadata>
diff --git a/dev-lang/mercury-extras/Manifest b/dev-lang/mercury-extras/Manifest
index 68b3767de3f8..78f229a9b6db 100644
--- a/dev-lang/mercury-extras/Manifest
+++ b/dev-lang/mercury-extras/Manifest
@@ -1,4 +1,7 @@
DIST mercury-extras-20.06-gentoo-patchset-0.tar.gz 1093 BLAKE2B cd0087a7a878c303a610e0007b352deec2e54b8223af1fbdcdd5e1fec0a7d6b4533895ba4ec01d4f90734349535a4c16c69f4ec60495f5a7888f99e4580e3ce3 SHA512 abd74dee931a01085a75f45d2793109737662345bdc68f4cf25dd874b59726da6a5ec8acd84cc8f0957052eeb9e5a9e3502090a0688fbea817d05c6948728ecb
+DIST mercury-extras-20.06.1-gentoo-patchset-0.tar.gz 617 BLAKE2B e16a3887bd0927911e2062befa38119d0347e01eae08d21dcf185942648ce52a94890c26059d39b096f69d19227c2ed22e2d3ded0cc762ebfd1bcb702810f5ea SHA512 1274c08c7c02f6f5fa5183f42e958a8e469df38d8e693722134a24aa846d4f3a74dafa0dd4f9d11fbca58497ff6d714aa7456dc2fd516d8961bc1ba43f3b3b8c
+DIST mercury-srcdist-20.06.1.tar.gz 47796261 BLAKE2B f282c6edb78e9090eb451585c65c9214927b94eaa5fcdf6f674aef6beb62eb65179f998bcc2e56c3c93b73dd1dc94973084eb8363bc05e334384096c9520d478 SHA512 94e901e5d3db39e3342bf2d6a2a74556a7b18b295c7e02669b487a81d41c72e572046ce1133d670ca6c1b8e246dd277439087efe8fb99b979a73555a101aa9a8
DIST mercury-srcdist-20.06.tar.gz 47768559 BLAKE2B f242aa2ef7da53aa2dfa054e4fee8646434d276f0748b014e33ea52d22f2a8a37e6fecaa20617f4943c4c1e7d8c179ed0603a344fde2dd58da98b2bacadf1a71 SHA512 b76bd22d8eb16242c68b614ff122ed7ee7535efef6c0ceb8cc798fee4c550bc41b6faff2135cea43b24c652b654bb35ae049656585d8e7bf3a1122d07cb1ecf4
+EBUILD mercury-extras-20.06.1.ebuild 7427 BLAKE2B bc23528da4b623f0d9d2bf554f4ac991ac168bd3c735a5a0929d062627be313c74b3e88bbda05f9fb97dbb1a16ffd02326712254ec6da3b6411c5124a8de8e3a SHA512 a1960b7b5fe84778f9a4976ae6fdf5a241b7c91985da381b64cdbc1bc9fdcc9718c73d01247c0dd4033d3ed738752c3c5560c2d7bc50bdedcb69c8e3c5f6ed60
EBUILD mercury-extras-20.06.ebuild 7425 BLAKE2B 8e6c683c23df1f3a78232f98f1f952dff7dc0b44572329f0a3144c029c5cdc0013665c73b0f78bf8ab4b0e6b0f02de4294ea408dec464b18a652c750be3ad299 SHA512 82516ccaa126c5aaf67eaabce6056e69bd74e5faa2c608d44238462cca31929e6734815d660bf475a9ea86d024ef9132741b099d623d7338515d847053a8194c
MISC metadata.xml 319 BLAKE2B 0f18145c4e9a495434e942a72df22a21a6cc09a3f8d896a0ade3ac4c94da8a743c15c4ff5d48c355b4d507b56ab90c96492aa42403310346dc0bea9de86b86e4 SHA512 ea952456995b9fd16f129dbe31a2deb46fceea5f7ad2a4d484c2195227805fe120795a9fc1238090a1cd2a032061ab5c35209ed498b6f64deb1391e42c1d2677
diff --git a/dev-lang/mercury-extras/mercury-extras-20.06.1.ebuild b/dev-lang/mercury-extras/mercury-extras-20.06.1.ebuild
new file mode 100644
index 000000000000..6069ed489b0f
--- /dev/null
+++ b/dev-lang/mercury-extras/mercury-extras-20.06.1.ebuild
@@ -0,0 +1,307 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib toolchain-funcs vcs-clean
+
+PATCHSET_VER="0"
+MY_P=mercury-srcdist-${PV}
+
+DESCRIPTION="Additional libraries and tools that are not part of the Mercury standard library"
+HOMEPAGE="https://www.mercurylang.org/index.html"
+SRC_URI="https://dl.mercurylang.org/release/${MY_P}.tar.gz
+ https://dev.gentoo.org/~keri/distfiles/mercury-extras/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="cairo examples glut gmp iodbc ncurses odbc opengl ssl tk tommath X xml"
+REQUIRED_USE="?? ( odbc iodbc )"
+
+RDEPEND="
+ ~dev-lang/mercury-${PV}
+ cairo? ( >=x11-libs/cairo-1.10.0 )
+ gmp? ( dev-libs/gmp:0 )
+ glut? ( media-libs/freeglut )
+ odbc? ( dev-db/unixODBC )
+ iodbc? ( dev-db/libiodbc )
+ tommath? ( dev-libs/libtommath )
+ ncurses? ( sys-libs/ncurses:= )
+ opengl? (
+ virtual/opengl
+ virtual/glu
+ )
+ tk? (
+ dev-lang/tcl:0
+ dev-lang/tk:0
+ )
+ X? ( x11-libs/libX11 )"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}"/${MY_P}/extras
+
+mercury_pkgs() {
+ echo "
+ align_right/align_right:bin:
+ base64/mercury_base64:lib:
+ cgi/mercury_www:lib:
+ complex_numbers/complex_numbers:lib:
+ $(use ncurses && echo \
+ curs/curs:lib:ncurses,panel curses/mcurses:lib:ncurses)
+ dynamic_linking/dl:lib:
+ error/error:bin:
+ fixed/fixed:lib:
+ $(use gmp && echo gmp_int/gmp_int:lib:)
+ $(use tommath && echo mp_int/mp_int:lib:libtommath)
+ $(use X && echo graphics/easyx/easyx:lib:x11)
+ $(use cairo && echo graphics/mercury_cairo/mercury_cairo:lib:cairo)
+ $(use glut && echo graphics/mercury_glut/mercury_glut:lib:freeglut)
+ $(use opengl && echo graphics/mercury_opengl/mercury_opengl:lib:gl,glu)
+ $(use tk && echo graphics/mercury_tcltk/mercury_tcltk:lib:tk)
+ lex/lex:lib:
+ lex/regex:lib:
+ moose/moose:bin:
+ net/net:lib:
+ net/echo:bin:
+ $(use ssl && echo mopenssl/mopenssl:lib:openssl)
+ $(use odbc && echo odbc/odbc:lib:odbc)
+ $(use iodbc && echo odbc/odbc:lib:libiodbc)
+ posix/posix:lib:
+ $(has_version dev-lang/mercury[trail] && echo \
+ references/global:lib:)
+ show_ops/show_ops:bin:
+ solver_types/library/any:lib:
+ $(use xml && echo xml/xml:lib:)"
+}
+
+mercury_pkg_setup() {
+ mercury_pkg=${1%%:*}
+ mercury_pkg_dir=${mercury_pkg%/*}
+ mercury_pkg_name=${mercury_pkg##*/}
+
+ mercury_pkg_atts=${1#*:}
+ mercury_pkg_type=${mercury_pkg_atts%%:*}
+ mercury_pkg_deps=${mercury_pkg_atts#*:}
+
+ cd "${S}"/${mercury_pkg_dir} || die
+
+ echo ">> Preparing Mercury package: ${mercury_pkg}"
+
+ echo "MCFLAGS += --libgrades-exclude java" \
+ >> "${S}"/${mercury_pkg_dir}/Mercury.options
+ echo "MCFLAGS += --libgrades-exclude erlang" \
+ >> "${S}"/${mercury_pkg_dir}/Mercury.options
+ echo "MCFLAGS += --libgrades-exclude csharp" \
+ >> "${S}"/${mercury_pkg_dir}/Mercury.options
+
+ if test -n "$mercury_pkg_deps"; then
+ echo "EXTRA_CFLAGS += $($(tc-getPKG_CONFIG) --cflags ${mercury_pkg_deps/,/ })" \
+ >> "${S}"/${mercury_pkg_dir}/Mercury.options
+ echo "EXTRA_LDFLAGS += $($(tc-getPKG_CONFIG) --libs ${mercury_pkg_deps/,/ })" \
+ >> "${S}"/${mercury_pkg_dir}/Mercury.options
+ fi
+
+ if test ${mercury_pkg_name} = dl; then
+ echo "EXTRA_LDFLAGS += -ldl" >> "${S}"/${mercury_pkg_dir}/Mercury.options
+ elif test ${mercury_pkg_name} = gmp_int; then
+ echo "EXTRA_LDFLAGS += -lgmp" >> "${S}"/${mercury_pkg_dir}/Mercury.options
+ elif test ${mercury_pkg_name} = mercury_tcltk; then
+ echo "EXTRA_CFLAGS += -DUSE_INTERP_RESULT" \
+ >> "${S}"/${mercury_pkg_dir}/Mercury.options
+ elif test ${mercury_pkg_name} = odbc && use odbc; then
+ echo "EXTRA_CFLAGS += -DMODBC_UNIX -DMODBC_MYSQL" \
+ >> "${S}"/${mercury_pkg_dir}/Mercury.options
+ elif test ${mercury_pkg_name} = odbc && use iodbc; then
+ echo "EXTRA_CFLAGS += -DMODBC_IODBC -DMODBC_MYSQL" \
+ >> "${S}"/${mercury_pkg_dir}/Mercury.options
+ fi
+}
+
+mercury_pkg_compile() {
+ mercury_pkg=${1%%:*}
+ mercury_pkg_dir=${mercury_pkg%/*}
+ mercury_pkg_name=${mercury_pkg##*/}
+
+ mercury_pkg_atts=${1#*:}
+ mercury_pkg_type=${mercury_pkg_atts%:*}
+
+ cd "${S}"/${mercury_pkg_dir} || die
+
+ echo ">> Compiling Mercury package: ${mercury_pkg}"
+
+ if test "${mercury_pkg_type}" = "bin"; then
+ mercury_mmc_target=${mercury_pkg_name}
+ else
+ mercury_mmc_target=lib${mercury_pkg_name}
+ fi
+
+ mmc -f *.m || die "mmc -f .m failed"
+
+ mmc \
+ --make \
+ --verbose-commands \
+ --no-strip \
+ --cflags "${CFLAGS}" \
+ --ld-flags "${LDFLAGS}" \
+ --ld-libflags "${LDFLAGS}" \
+ ${mercury_mmc_target} || die "mmc ${mercury_mmc_target} failed"
+}
+
+mercury_pkg_install() {
+ mercury_pkg=${1%%:*}
+ mercury_pkg_dir=${mercury_pkg%/*}
+ mercury_pkg_name=${mercury_pkg##*/}
+
+ mercury_pkg_atts=${1#*:}
+ mercury_pkg_type=${mercury_pkg_atts%:*}
+
+ cd "${S}"/${mercury_pkg_dir} || die
+
+ echo ">> Installing Mercury package: ${mercury_pkg}"
+
+ if test "${mercury_pkg_type}" = "bin"; then
+ into /usr/$(get_libdir)/mercury/extras
+ dobin ${mercury_pkg_name}
+ else
+ mmc \
+ --make \
+ --verbose-commands \
+ --no-strip \
+ --cflags "${CFLAGS}" \
+ --ld-flags "${LDFLAGS}" \
+ --ld-libflags "${LDFLAGS}" \
+ --install-prefix "${D}/usr/$(get_libdir)/mercury/extras" \
+ lib${mercury_pkg_name}.install || die "mmc lib${mercury_pkg_name}.install failed"
+ fi
+}
+
+src_prepare() {
+ cd "${WORKDIR}"/${MY_P}
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ eapply "${WORKDIR}"/${PV}
+ fi
+ eapply_user
+
+ cd "${S}"
+ for mercury_pkg in $(mercury_pkgs); do
+ mercury_pkg_setup ${mercury_pkg}
+ done
+
+ cp "${S}"/net/*.m "${S}"/mopenssl/ || die
+}
+
+src_compile() {
+ for mercury_pkg in $(mercury_pkgs); do
+ mercury_pkg_compile ${mercury_pkg}
+ done
+}
+
+src_install() {
+ for mercury_pkg in $(mercury_pkgs); do
+ mercury_pkg_install ${mercury_pkg}
+ done
+
+ cd "${S}"
+ dodoc README
+
+ if use examples; then
+ docinto samples/cgi
+ dodoc cgi/form_test.m
+
+ docinto samples/complex_numbers
+ dodoc complex_numbers/samples/*.m
+
+ if use ncurses; then
+ docinto samples/curs
+ dodoc curs/samples/*.m
+
+ docinto samples/curses
+ dodoc curses/sample/*.m
+ fi
+
+ docinto samples/dynamic_linking
+ dodoc dynamic_linking/{hello,dl_test}.m
+
+ docinto samples/gator
+ dodoc -r gator/*
+
+ if use gmp; then
+ docinto samples/gmp_int
+ dodoc gmp_int/gmp_int_test.m
+ fi
+
+ if use tommath; then
+ docinto samples/mp_int
+ dodoc mp_int/mp_int_test.m
+ fi
+
+ if use X; then
+ docinto samples/graphics
+ dodoc graphics/easyx/samples/*.m
+ fi
+
+ if use glut && use opengl; then
+ docinto samples/graphics
+ dodoc graphics/samples/gears/*.m
+ dodoc graphics/samples/maze/*.m
+ fi
+
+ if use tk; then
+ docinto samples/graphics
+ dodoc graphics/samples/calc/*.m
+ fi
+
+ if use opengl && use tk; then
+ docinto samples/graphics
+ dodoc graphics/samples/pent/*.m
+ fi
+
+ docinto samples/lex
+ dodoc lex/samples/*.m
+
+ docinto samples/log4m
+ dodoc log4m/*.m
+
+ docinto samples/monte
+ dodoc monte/*.m
+
+ docinto samples/moose
+ dodoc moose/samples/*
+
+ docinto samples/net
+ dodoc net/test_lookups.m
+
+ if use odbc || use iodbc; then
+ docinto samples/odbc
+ dodoc odbc/odbc_test.m
+ fi
+
+ docinto samples/posix
+ dodoc posix/samples/*.m
+
+ docinto samples/random
+ dodoc random/*.m
+
+ if has_version dev-lang/mercury[trail]; then
+ docinto samples/references
+ dodoc references/samples/*.m
+
+ docinto samples/trail
+ dodoc trail/*.m
+ fi
+
+ if use xml; then
+ docinto samples/xml
+ dodoc xml/tryit.m
+ dodoc xml/samples/*
+ dodoc xml_stylesheets/*.xsl
+ fi
+
+ ecvs_clean
+ fi
+}
diff --git a/dev-lang/mercury/Manifest b/dev-lang/mercury/Manifest
index d9afac7ee845..343654880c8d 100644
--- a/dev-lang/mercury/Manifest
+++ b/dev-lang/mercury/Manifest
@@ -1,5 +1,8 @@
AUX 50mercury-gentoo.el 130 BLAKE2B b0108f529cbe5b66b510b2ebab6f091825df9ac92dc1d98bc98b34532b6c217ea5ede7bc5960f6616c3a8201788c6a5094b30871fba15e5ded87eb97ab3f7c1f SHA512 e790f1b396f63bf36e57160d588b1377d3f889156446a7d26a6edd3f7175ee8ac5b8972ee4d0b6045b5442ae750341b5e06adc42f094fd6d08f2b519f4432071
-DIST mercury-20.06-gentoo-patchset-2.tar.gz 4834 BLAKE2B 33781113c4033b0efb19faf4227b609dd6410bf992fa8720302f732b18e669f2b7d5c650da4b04427ba94c9ce4fdbb1eefc2408e7927e360c531b88e1f2c1748 SHA512 22eb34d5a2d70d671ff717350770008fd844afbc39ae2cb7901407943500c6ebd6b8ebd81c19c602bf461c5772d915b2c1f1b2460b29e8b94df2ed6472eea971
+DIST mercury-20.06-gentoo-patchset-3.tar.gz 5265 BLAKE2B 0539611691cfb714937bca8dc967246ce32c515b7133391d81333284e6ceffe29b929c042ee0000752bd9980c2d2332de20d7c5dc4e1a6077a6421056d975808 SHA512 54595a71db4d7684071c6496c3e92fe8c9de0a29832cc85901046f2627bd453cf0760b9857e73a91e87edfddc80d384627dc5c2cb7f3bc12ea5737eb5afa4f3b
+DIST mercury-20.06.1-gentoo-patchset-0.tar.gz 4426 BLAKE2B df6f1a3b52b1f57f502621abba175a55342ae88ecbbe8e37d22b89a7514e0dea14299c87fb1dd47866c5fc89bbb2746a92de8dcf037c1a9d5d2ba4e2e9b8c828 SHA512 c26c209a2fc2380793373785c7a8290ea336c38fe1c243df5c71791e2d1f8b6f8d4a9452a9139181aeb0422cd538c5e6ffe40332ea5b2635cab3324dc4dc320b
+DIST mercury-srcdist-20.06.1.tar.gz 47796261 BLAKE2B f282c6edb78e9090eb451585c65c9214927b94eaa5fcdf6f674aef6beb62eb65179f998bcc2e56c3c93b73dd1dc94973084eb8363bc05e334384096c9520d478 SHA512 94e901e5d3db39e3342bf2d6a2a74556a7b18b295c7e02669b487a81d41c72e572046ce1133d670ca6c1b8e246dd277439087efe8fb99b979a73555a101aa9a8
DIST mercury-srcdist-20.06.tar.gz 47768559 BLAKE2B f242aa2ef7da53aa2dfa054e4fee8646434d276f0748b014e33ea52d22f2a8a37e6fecaa20617f4943c4c1e7d8c179ed0603a344fde2dd58da98b2bacadf1a71 SHA512 b76bd22d8eb16242c68b614ff122ed7ee7535efef6c0ceb8cc798fee4c550bc41b6faff2135cea43b24c652b654bb35ae049656585d8e7bf3a1122d07cb1ecf4
-EBUILD mercury-20.06-r1.ebuild 5153 BLAKE2B 754bce920d5bda2a5c160548b4e7117dfa7cca4fa8de17c4f742964abc4963918ec7a183fd5026cfa2d159a9db4c84cbd2574a47689376e3d92b7484ed49f100 SHA512 f5a5b3c413dd9b76cc3519407392a01e540c836b26dc1f75b49dd7c64f374c40ca76a864d474b120fc4405f9a115ab8d03a971ea49d8302f0b19096baf8463a9
+EBUILD mercury-20.06-r1.ebuild 5153 BLAKE2B a0dc0de9e1f4a5688c24c7fc2e85c1c6cb12906cb29ddf0b45801ec5dd376faffa5a2267e7ce980ae7edafd5108f72dd463f986ee2c6b82288d3c6487e656896 SHA512 4f707683f8188d39740934d21488fd94307fe093ae9b2ac65fc59cd16d2c7493ab0931a970c34539aa420a8d30d63a5c923b2f32814a701c02dcd4558e943c8c
+EBUILD mercury-20.06.1.ebuild 5155 BLAKE2B 4f23c20ac5641551ca60b847ce66e47b51070b1dfeaa89b2c92d8a1285055ef8715082a1fc4a961dce526658ea10758a332e9a76a0fecacdbd01ac5b06340ef9 SHA512 d4a657a8ba2840d27b2342baa13109f33ee6cb6698157a1d502bf5628915de01d82c66dbe6ae06215962e4c0fa57616f4e603ed3b035d5df9cde4c0507d28466
MISC metadata.xml 385 BLAKE2B b7dc4da9e9091bedd246b1207042ce5ae22ca0b2cd40e5d3b63a11b9e1071fff7ac0b343f24e67bb7728bebcdf7e383eb70f898a8f80bd49f3ec4ec1ebb4798d SHA512 70a74e7793e37a624c8fa3cdce157ed60e4039980b40bd148c4a9f37b95870649c8bc32703f362871757ec62fb296a93e381efaf56876bf243faf373574ee507
diff --git a/dev-lang/mercury/mercury-20.06-r1.ebuild b/dev-lang/mercury/mercury-20.06-r1.ebuild
index e3819e130b4a..d2f14d41fd07 100644
--- a/dev-lang/mercury/mercury-20.06-r1.ebuild
+++ b/dev-lang/mercury/mercury-20.06-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=7
inherit autotools elisp-common flag-o-matic java-pkg-opt-2 multilib vcs-clean xdg-utils
-PATCHSET_VER="2"
+PATCHSET_VER="3"
MY_P=${PN}-srcdist-${PV}
DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language"
diff --git a/dev-lang/mercury/mercury-20.06.1.ebuild b/dev-lang/mercury/mercury-20.06.1.ebuild
new file mode 100644
index 000000000000..c8cd32155c46
--- /dev/null
+++ b/dev-lang/mercury/mercury-20.06.1.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools elisp-common flag-o-matic java-pkg-opt-2 multilib vcs-clean xdg-utils
+
+PATCHSET_VER="0"
+MY_P=${PN}-srcdist-${PV}
+
+DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language"
+HOMEPAGE="https://www.mercurylang.org/index.html"
+SRC_URI="https://dl.mercurylang.org/release-20.06/${MY_P}.tar.gz
+ https://dev.gentoo.org/~keri/distfiles/mercury/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug doc emacs erlang examples java mono profile readline threads trail"
+
+DEPEND="net-libs/libnsl:0=
+ readline? ( sys-libs/readline:= )
+ erlang? ( dev-lang/erlang )
+ java? ( >=virtual/jdk-1.8:* )
+ mono? ( dev-lang/mono )
+ doc? ( sys-apps/texinfo )"
+
+RDEPEND="${DEPEND}
+ emacs? ( >=app-editors/emacs-23.1:* )"
+
+S="${WORKDIR}"/${MY_P}
+
+SITEFILE=50${PN}-gentoo.el
+
+src_prepare() {
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ eapply "${WORKDIR}"/${PV}
+ fi
+ eapply_user
+
+ AT_M4DIR=m4 eautoreconf
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ strip-flags
+
+ local myconf
+ myconf="--libdir=/usr/$(get_libdir) \
+ $(use_enable mono csharp-grade) \
+ $(use_enable erlang erlang-grade) \
+ $(use_enable java java-grade) \
+ $(use_enable debug debug-grades) \
+ $(use_enable profile prof-grades) \
+ $(use_enable threads par-grades) \
+ $(use_enable trail trail-grades) \
+ $(use_with readline)"
+
+ econf ${myconf}
+}
+
+src_compile() {
+ # Prepare mmake flags
+ echo "EXTRA_CFLAGS = ${CFLAGS}" >> Mmake.params
+ echo "EXTRA_LDFLAGS = ${LDFLAGS}" >> Mmake.params
+ echo "EXTRA_LD_LIBFLAGS = ${LDFLAGS}" >> Mmake.params
+ echo "EXTRA_MLFLAGS = --no-strip" >> Mmake.params
+
+ if use trail; then
+ echo "CFLAGS-int = -O0" >> Mmake.params
+ echo "CFLAGS-uint = -O0" >> Mmake.params
+ fi
+
+ echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libgc.so" >> boehm_gc/Mmake.boehm_gc.params
+ echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libmer_rt.so" >> runtime/Mmake.runtime.params
+ echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libmer_std.so" >> library/Mmake.library.params
+
+ # Build Mercury using bootstrap grade
+ emake \
+ PARALLEL="'${MAKEOPTS}'" \
+ TEXI2DVI="" PDFTEX=""
+
+ # We can now patch .m Mercury compiler files since we
+ # have just built mercury_compiler.
+ if [[ -d "${WORKDIR}"/${PV}-mmc ]] ; then
+ eapply "${WORKDIR}"/${PV}-mmc
+ fi
+
+ # Rebuild Mercury compiler using the just built mercury_compiler
+ emake \
+ PARALLEL="'${MAKEOPTS}'" \
+ MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+ TEXI2DVI="" PDFTEX=""
+
+ # The default Mercury grade may not be the same as the bootstrap
+ # grade. Since src_test() is run before src_install() we compile
+ # the default grade now
+ emake \
+ PARALLEL="'${MAKEOPTS}'" \
+ MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+ TEXI2DVI="" PDFTEX="" \
+ default_grade
+}
+
+src_test() {
+ TEST_GRADE=$(scripts/ml --print-grade)
+ if [ -d "${S}"/install_grade_dir.${TEST_GRADE} ] ; then
+ TWS="${S}"/install_grade_dir.${TEST_GRADE}
+ cp runtime/mer_rt.init "${TWS}"/runtime/
+ cp mdbcomp/mer_mdbcomp.init "${TWS}"/mdbcomp/
+ cp browser/mer_browser.init "${TWS}"/browser/
+ else
+ TWS="${S}"
+ fi
+
+ cd "${S}"/tests || die
+ sed -e "s:@WORKSPACE@:${TWS}:" \
+ < WS_FLAGS.ws \
+ > WS_FLAGS \
+ || die "sed WORKSPACE failed"
+ sed -e "s:@WORKSPACE@:${TWS}:" \
+ < .mgnuc_copts.ws \
+ > .mgnuc_copts \
+ || die "sed WORKSPACE failed"
+ find . -mindepth 1 -type d -exec cp .mgnuc_opts {} \;
+ find . -mindepth 1 -type d -exec cp .mgnuc_copts {} \;
+
+ # Mercury tests must be run in C locale since Mercury output is
+ # compared to hard-coded warnings/errors
+ LC_ALL="C" \
+ PATH="${TWS}"/scripts:"${TWS}"/util:"${S}"/slice:"${PATH}" \
+ TERM="" \
+ WORKSPACE="${TWS}" \
+ WORKSPACE_FLAGS=yes \
+ MERCURY_COMPILER="${TWS}"/compiler/mercury_compile \
+ MMAKE_DIR="${TWS}"/scripts \
+ MERCURY_SUPPRESS_STACK_TRACE=yes \
+ GRADE=${TEST_GRADE} \
+ mmake || die "mmake test failed"
+}
+
+src_install() {
+ emake \
+ PARALLEL="'${MAKEOPTS}'" \
+ MERCURY_COMPILER="${S}"/compiler/mercury_compile \
+ TEXI2DVI="" PDFTEX="" \
+ DESTDIR="${D}" \
+ INSTALL_ELISP_DIR="${D}/${SITELISP}"/${PN} \
+ install
+
+ if use java; then
+ keepdir /usr/$(get_libdir)/mercury/modules/java
+ fi
+
+ if use mono; then
+ keepdir /usr/$(get_libdir)/mercury/modules/csharp
+ fi
+
+ if use emacs; then
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}" \
+ || die "elisp-site-file-install failed"
+ fi
+
+ dodoc \
+ BUGS HISTORY LIMITATIONS NEWS README README.Linux \
+ README.Linux-Alpha README.Linux-m68k README.Linux-PPC \
+ RELEASE_NOTES VERSION || die
+
+ if use erlang; then
+ dodoc README.Erlang
+ fi
+
+ if use java; then
+ dodoc README.Java
+ fi
+
+ if use mono; then
+ dodoc README.CSharp
+ fi
+
+ if use examples; then
+ docinto samples
+ dodoc samples/{*.m,README,Mmakefile}
+ dodoc -r samples/c_interface \
+ samples/diff \
+ samples/muz \
+ samples/rot13 \
+ samples/solutions \
+ samples/solver_types
+
+ if use java; then
+ dodoc -r samples/java_interface
+ fi
+
+ ecvs_clean "${D}"/usr/share/doc/${PF}/samples
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest
index cbb9b5a59767..8a7b7abbcf07 100644
--- a/dev-lang/ocaml/Manifest
+++ b/dev-lang/ocaml/Manifest
@@ -9,6 +9,9 @@ DIST ocaml-4.09.0.tar.gz 4838748 BLAKE2B 80f29d535c64bf2371b480217723ed20b2b21cf
DIST ocaml-4.10.2.tar.gz 4933135 BLAKE2B ec5e92adb23c28a254247182c79ab555fd82603e02f24799049b8057abf869d18234302408c8ae89b9997a2b210ed6965e45c2c03e4f0cab34262ad3f6ebb528 SHA512 1dd827da07f01e815fd74dd7ee84db0900f24782f8f7fd426e2d71b9fb03c7b8045f22e018120a0446c362315751365d1bd8c1724edef2b182394e76eb0a07b2
DIST ocaml-4.11.2.tar.gz 5075323 BLAKE2B bdc503d9a8d0e39dd11060febcd0287657b460e50ed81e55578a3e778af990ca5d4ef9011753eee4e1a144da33eb76c95b1672dc99b76e65a2e107eee472fe06 SHA512 03d8a9f6e130142c121ff2eb3d54f584f1e7c8475f066a5803bb0edd2fa172ca06a56a3ec548b225f5c8b12112d7a68511b1e16f3ade075b5f02610d4247bbb3
DIST ocaml-4.12.0.tar.gz 5179734 BLAKE2B 318be7e306157102d7ad22802db381dfa9c675e43325395695c3564e5ffee87d9b55d1152ea1603edb5ef715a28cbde85d835dbf1b5aface2dc415c67192c208 SHA512 951e44cdda613f9c6c5f988434c84249a2d63ba14e21938a9e74c174ebaf9d81a3160d1e5021d57fcd4882732ae6aefc05239ac38116f39ca83d53879d5d4eaf
+DIST ocaml-4.12.1.tar.gz 5181696 BLAKE2B 9d21438e09b1a9680eabb65f5c78d9fe84459592ef7bb797a1933e5383f7b6d5cefffa8cdc184abc102417f5dbc0fca8ef624c9b560f89eaff6537544b5b395f SHA512 e942e5cf5530804690ec45c40936ad2acbb60e11279fc676e0f04181fe1855f84ee5c3cb9c337fc5d01f6ee0e7b2251a6c04f7de56d99c20bb62026dff6c5671
+DIST ocaml-4.13.0.tar.gz 5323007 BLAKE2B 56cbb64272ac2b4b8894b3bb91ec184eb977cb056ae75ace2fce716fdb9853d5626b8f91dcc339d1d0f9f033f032f99bc6e49c443ee142f6005aaabeef9a670a SHA512 553c94ba5c5332d134f2695b3323e4be60ef2d0a404652cbcc56968ec91b1de19a6d894c6e365e418fe814595bb926450d7b109e328e25fc317f13ed6b703080
+DIST ocaml-4.13.1.tar.gz 5323203 BLAKE2B f1dcb1601ebfa2a37351e3a466a7ca601518c2da403b01aeb182738a54d5887523ab554d747d6591cb09b07b417865e20907f7877117b2d2d069ef6c9edc0fae SHA512 da3434177438c852da53c0fda7bc2519adcda6384d97d45e44137ed0fd384ffb3da61958a7b51296edb3f88f5a5310ca71b6862f6d756aaa4012d1f54e5955f6
DIST ocaml-patches-9.tar.bz2 1700 BLAKE2B 4e46b8fb490db28f815414e285f54e251394ea53e1d25c529bbea9f03e426fd19132b1e2c7c2be7d14983fceb4cad073d191b001f6da522fee4226371d4a2eca SHA512 cc19f9104fac69aecc5effa8cb772342e1fb61cdcd38ba0176efe04cf3d710b1c56d5178748f3bd29099af91fa684da432a8ef8d42de76dbd1b6954a255ea6c0
EBUILD ocaml-4.05.0-r7.ebuild 4138 BLAKE2B 745222cde60f1ddae4a7a437100e724a88ddaab89bfc78befd5572d6a582e344564b78350acdb47a626a4d9f95612e64d2419534b48dec5782990b1dc35c3376 SHA512 a9fa601a6a34c84aeb262d027936861e45ea23cc8ba679ebefa6d49de0e5170cec3c213c33bed4acaa4dbae37e8bcf4b1890a623bbdd1c2c552567146ac1fdcd
EBUILD ocaml-4.05.0-r8.ebuild 4178 BLAKE2B 505af46e12d67cbaab60ed33ee91ce46d7670a4fdc09d5ad80cd31fa00c69d7a8f32f469cdbbd1a531624d4a347a56b823aa056447f4ed911c0ea7669827d469 SHA512 8c555496ac8f0ac1a671be1e2321d336a5001fc90fb92ba2007466677d2653436d4b4651339f7f07c91b7f9d0d2b96bcb8db55ab2b02f47106e3c44821524202
@@ -16,4 +19,7 @@ EBUILD ocaml-4.09.0-r2.ebuild 2573 BLAKE2B 1d50f2cbad2e338864f4045d321184c4de795
EBUILD ocaml-4.10.2-r2.ebuild 2530 BLAKE2B f428c3a4f0d65464bb384c066b58ddf11993547629070265e79d482f0df8fc861a25e5d62d04e397356ef6b12fffc3fcbabafe5be788cc403ab772cbdd523cca SHA512 834a2a86aa66211f07bbaae967e0da94eb3fb9ffd3ff29724b6002080ff26b3a0e1b8ded081f3ff7d92adf6e1cc373d6f4165dc94cf01b0ea28b2210a6700f6a
EBUILD ocaml-4.11.2-r2.ebuild 2402 BLAKE2B 8638f476f62c156c878a5a78e644882f84dab1a7c05642914b07e26672076ae850af94e564460e4a396c0f19a64cafad8c37f3c029aa190fdd9980db6352e0db SHA512 5f2c79e1e5f47dd7eec5e119213132433970437fcb7ca9c053ace5a89f5ea553f3b2b72253fc82a7262b898977f2064fa7556740a0c5f2e6d17080a7d5a326c9
EBUILD ocaml-4.12.0-r2.ebuild 2406 BLAKE2B 24b58bb81263db44c0a5037e598b3a10b66abfebf2f38341f289bdea588e514b949ae36ca6e3cdc500bed0078c744af48d72e705bf927aa45978ba7d009a3c53 SHA512 6488b249be59af91b5d9b16eab129237535fe31ed388b8b8a69db77d1b506cfde24dfae02b851f907c3cb4b16160b36ced431fa81e321a5788483854da4ff80d
+EBUILD ocaml-4.12.1.ebuild 2406 BLAKE2B 24b58bb81263db44c0a5037e598b3a10b66abfebf2f38341f289bdea588e514b949ae36ca6e3cdc500bed0078c744af48d72e705bf927aa45978ba7d009a3c53 SHA512 6488b249be59af91b5d9b16eab129237535fe31ed388b8b8a69db77d1b506cfde24dfae02b851f907c3cb4b16160b36ced431fa81e321a5788483854da4ff80d
+EBUILD ocaml-4.13.0.ebuild 2406 BLAKE2B 24b58bb81263db44c0a5037e598b3a10b66abfebf2f38341f289bdea588e514b949ae36ca6e3cdc500bed0078c744af48d72e705bf927aa45978ba7d009a3c53 SHA512 6488b249be59af91b5d9b16eab129237535fe31ed388b8b8a69db77d1b506cfde24dfae02b851f907c3cb4b16160b36ced431fa81e321a5788483854da4ff80d
+EBUILD ocaml-4.13.1.ebuild 2406 BLAKE2B 24b58bb81263db44c0a5037e598b3a10b66abfebf2f38341f289bdea588e514b949ae36ca6e3cdc500bed0078c744af48d72e705bf927aa45978ba7d009a3c53 SHA512 6488b249be59af91b5d9b16eab129237535fe31ed388b8b8a69db77d1b506cfde24dfae02b851f907c3cb4b16160b36ced431fa81e321a5788483854da4ff80d
MISC metadata.xml 776 BLAKE2B e7b13b4bb764cec6df76ede0eb2d492cc705ce51b18a445fa3f9ebaab119fab8cae45a2a9d02c70f38e19f2e2d2c06de648a3a0843a603dd7b68942c7cd00bdb SHA512 92e3afe1c40991d37dc460d6091ff2b15c83740343e5d8dd69344eb61d873fbd66af1b96e70904f7757c06f2b104d1450883cc79877709c779467af64e2ea96e
diff --git a/dev-lang/ocaml/ocaml-4.12.1.ebuild b/dev-lang/ocaml/ocaml-4.12.1.ebuild
new file mode 100644
index 000000000000..da99522c6e38
--- /dev/null
+++ b/dev-lang/ocaml/ocaml-4.12.1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic
+
+HOMEPAGE="https://ocaml.org/"
+SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz"
+DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles"
+
+LICENSE="QPL-1.0 LGPL-2"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE="emacs flambda latex +ocamlopt xemacs"
+
+RDEPEND="sys-libs/binutils-libs:="
+BDEPEND="${RDEPEND}
+ virtual/pkgconfig"
+PDEPEND="emacs? ( app-emacs/ocaml-mode )
+ xemacs? ( app-xemacs/ocaml )"
+
+src_prepare() {
+ default
+
+ cp "${FILESDIR}"/ocaml.conf "${T}" || die
+
+ # OCaml generates textrels on 32-bit arches
+ # We can't do anything about it, but disabling it means that tests
+ # for OCaml-based packages won't fail on unexpected output
+ # bug #773226
+ if use arm || use ppc || use x86 ; then
+ append-ldflags "-Wl,-z,notext"
+ fi
+
+ # Upstream build ignores LDFLAGS in several places.
+ sed -i -e 's/\(^MKDLL=.*\)/\1 $(LDFLAGS)/' \
+ -e 's/\(^OC_CFLAGS=.*\)/\1 $(LDFLAGS)/' \
+ -e 's/\(^OC_LDFLAGS=.*\)/\1 $(LDFLAGS)/' \
+ Makefile.config.in || die "LDFLAGS fix failed"
+}
+
+src_configure() {
+ local opt=(
+ --bindir="${EPREFIX}/usr/bin"
+ --libdir="${EPREFIX}/usr/$(get_libdir)/ocaml"
+ --mandir="${EPREFIX}/usr/share/man"
+ --prefix="${EPREFIX}/usr"
+ $(use_enable flambda)
+ )
+
+ econf "${opt[@]}"
+}
+
+src_compile() {
+ env -u P emake world
+
+ if use ocamlopt ; then
+ env -u P emake opt
+ env -u P emake opt.opt
+ fi
+}
+
+src_test() {
+ emake -j
+
+ # OCaml tests only work when run sequentially
+ if use ocamlopt ; then
+ emake -j1 ocamltest.opt
+ else
+ emake -j1 ocamltest
+ #ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests."
+ fi
+
+ emake -j1 tests
+}
+
+src_install() {
+ default
+
+ dodir /usr/include
+ # Create symlink for header files
+ dosym "../$(get_libdir)/ocaml/caml" /usr/include/caml
+ dodoc Changes README.adoc
+
+ # Create envd entry for latex input files
+ if use latex ; then
+ echo "TEXINPUTS=\"${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:\"" > "${T}"/99ocamldoc || die
+ doenvd "${T}"/99ocamldoc
+ fi
+
+ sed -i -e "s:lib:$(get_libdir):" "${T}"/ocaml.conf || die
+
+ # Install ocaml-rebuild portage set
+ insinto /usr/share/portage/config/sets
+ doins "${T}"/ocaml.conf
+}
diff --git a/dev-lang/ocaml/ocaml-4.13.0.ebuild b/dev-lang/ocaml/ocaml-4.13.0.ebuild
new file mode 100644
index 000000000000..da99522c6e38
--- /dev/null
+++ b/dev-lang/ocaml/ocaml-4.13.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic
+
+HOMEPAGE="https://ocaml.org/"
+SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz"
+DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles"
+
+LICENSE="QPL-1.0 LGPL-2"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE="emacs flambda latex +ocamlopt xemacs"
+
+RDEPEND="sys-libs/binutils-libs:="
+BDEPEND="${RDEPEND}
+ virtual/pkgconfig"
+PDEPEND="emacs? ( app-emacs/ocaml-mode )
+ xemacs? ( app-xemacs/ocaml )"
+
+src_prepare() {
+ default
+
+ cp "${FILESDIR}"/ocaml.conf "${T}" || die
+
+ # OCaml generates textrels on 32-bit arches
+ # We can't do anything about it, but disabling it means that tests
+ # for OCaml-based packages won't fail on unexpected output
+ # bug #773226
+ if use arm || use ppc || use x86 ; then
+ append-ldflags "-Wl,-z,notext"
+ fi
+
+ # Upstream build ignores LDFLAGS in several places.
+ sed -i -e 's/\(^MKDLL=.*\)/\1 $(LDFLAGS)/' \
+ -e 's/\(^OC_CFLAGS=.*\)/\1 $(LDFLAGS)/' \
+ -e 's/\(^OC_LDFLAGS=.*\)/\1 $(LDFLAGS)/' \
+ Makefile.config.in || die "LDFLAGS fix failed"
+}
+
+src_configure() {
+ local opt=(
+ --bindir="${EPREFIX}/usr/bin"
+ --libdir="${EPREFIX}/usr/$(get_libdir)/ocaml"
+ --mandir="${EPREFIX}/usr/share/man"
+ --prefix="${EPREFIX}/usr"
+ $(use_enable flambda)
+ )
+
+ econf "${opt[@]}"
+}
+
+src_compile() {
+ env -u P emake world
+
+ if use ocamlopt ; then
+ env -u P emake opt
+ env -u P emake opt.opt
+ fi
+}
+
+src_test() {
+ emake -j
+
+ # OCaml tests only work when run sequentially
+ if use ocamlopt ; then
+ emake -j1 ocamltest.opt
+ else
+ emake -j1 ocamltest
+ #ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests."
+ fi
+
+ emake -j1 tests
+}
+
+src_install() {
+ default
+
+ dodir /usr/include
+ # Create symlink for header files
+ dosym "../$(get_libdir)/ocaml/caml" /usr/include/caml
+ dodoc Changes README.adoc
+
+ # Create envd entry for latex input files
+ if use latex ; then
+ echo "TEXINPUTS=\"${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:\"" > "${T}"/99ocamldoc || die
+ doenvd "${T}"/99ocamldoc
+ fi
+
+ sed -i -e "s:lib:$(get_libdir):" "${T}"/ocaml.conf || die
+
+ # Install ocaml-rebuild portage set
+ insinto /usr/share/portage/config/sets
+ doins "${T}"/ocaml.conf
+}
diff --git a/dev-lang/ocaml/ocaml-4.13.1.ebuild b/dev-lang/ocaml/ocaml-4.13.1.ebuild
new file mode 100644
index 000000000000..da99522c6e38
--- /dev/null
+++ b/dev-lang/ocaml/ocaml-4.13.1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic
+
+HOMEPAGE="https://ocaml.org/"
+SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz"
+DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles"
+
+LICENSE="QPL-1.0 LGPL-2"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+IUSE="emacs flambda latex +ocamlopt xemacs"
+
+RDEPEND="sys-libs/binutils-libs:="
+BDEPEND="${RDEPEND}
+ virtual/pkgconfig"
+PDEPEND="emacs? ( app-emacs/ocaml-mode )
+ xemacs? ( app-xemacs/ocaml )"
+
+src_prepare() {
+ default
+
+ cp "${FILESDIR}"/ocaml.conf "${T}" || die
+
+ # OCaml generates textrels on 32-bit arches
+ # We can't do anything about it, but disabling it means that tests
+ # for OCaml-based packages won't fail on unexpected output
+ # bug #773226
+ if use arm || use ppc || use x86 ; then
+ append-ldflags "-Wl,-z,notext"
+ fi
+
+ # Upstream build ignores LDFLAGS in several places.
+ sed -i -e 's/\(^MKDLL=.*\)/\1 $(LDFLAGS)/' \
+ -e 's/\(^OC_CFLAGS=.*\)/\1 $(LDFLAGS)/' \
+ -e 's/\(^OC_LDFLAGS=.*\)/\1 $(LDFLAGS)/' \
+ Makefile.config.in || die "LDFLAGS fix failed"
+}
+
+src_configure() {
+ local opt=(
+ --bindir="${EPREFIX}/usr/bin"
+ --libdir="${EPREFIX}/usr/$(get_libdir)/ocaml"
+ --mandir="${EPREFIX}/usr/share/man"
+ --prefix="${EPREFIX}/usr"
+ $(use_enable flambda)
+ )
+
+ econf "${opt[@]}"
+}
+
+src_compile() {
+ env -u P emake world
+
+ if use ocamlopt ; then
+ env -u P emake opt
+ env -u P emake opt.opt
+ fi
+}
+
+src_test() {
+ emake -j
+
+ # OCaml tests only work when run sequentially
+ if use ocamlopt ; then
+ emake -j1 ocamltest.opt
+ else
+ emake -j1 ocamltest
+ #ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests."
+ fi
+
+ emake -j1 tests
+}
+
+src_install() {
+ default
+
+ dodir /usr/include
+ # Create symlink for header files
+ dosym "../$(get_libdir)/ocaml/caml" /usr/include/caml
+ dodoc Changes README.adoc
+
+ # Create envd entry for latex input files
+ if use latex ; then
+ echo "TEXINPUTS=\"${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:\"" > "${T}"/99ocamldoc || die
+ doenvd "${T}"/99ocamldoc
+ fi
+
+ sed -i -e "s:lib:$(get_libdir):" "${T}"/ocaml.conf || die
+
+ # Install ocaml-rebuild portage set
+ insinto /usr/share/portage/config/sets
+ doins "${T}"/ocaml.conf
+}
diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest
index a39e5d96e124..f80185c70a10 100644
--- a/dev-lang/perl/Manifest
+++ b/dev-lang/perl/Manifest
@@ -8,6 +8,6 @@ DIST perl-cross-1.3.4.tar.gz 108461 BLAKE2B 28f207d235f51ebf681598cf85f7f1692357
DIST perl-cross-1.3.6.tar.gz 110210 BLAKE2B 39074d6f4a526f59de2b1c40432936552e625a5a4e44fbb7ce3c1c3828b12c5298d1ab49b7d34ea92e2a4c8c88f8bbef8cc0c582a3fbbed975cf46d331e89c08 SHA512 d394fbd75d890442aa599eae8893a26540c8b7af966583ad1c3213c3fe0e074415cfed8814de8f397830833fd78267bdc55adc5267168198f269634c2ef3b982
EBUILD perl-5.32.1.ebuild 25927 BLAKE2B f40fe88a214912fd791cbeb9fd3031227fa1caecbf8f0109821cb7309a902e3eeb56ff73db8c58643ca5f1b7fb5a9bba31bc3a2b1a639691506ba7c5f6f39ca4 SHA512 e1e69f8ae8fb62e334c53dc28c073246dba8698ae139a6bfd0cc4fdad4aee56b44d005dc3a022f02afda18371a2e88a5e15820148d1017c5a8224a2f118abaa0
EBUILD perl-5.34.0-r1.ebuild 25937 BLAKE2B ab5b2e7a112a8c751a1df7c26272480236fe0e56346e2a4810a54c24b660859bb1a2c0dce8f5a420a9482ac031952138843602c556a354459d42c4e26a3078a3 SHA512 e8b16af390714ad9aeeff5a7e8ec5fe73612331b1459fda1caa2f16c17b25ee7d69df5d69ea5809cbf24f1d38a39942c095136c0f0815e5877cebb953c1827e6
-EBUILD perl-5.34.0-r2.ebuild 25962 BLAKE2B ce02dd843aba594f01461f4e84ce50c7a353e11e12d384b600e647d6a7bebab551c3cdafc7e5e30ec4a6b6cd9ae6b956891380a6308bfc1af4e8924a21c26baa SHA512 20b207030e58c974858555ddbcc40327bc6bf3bde96390f62dfed496ec4b947e2b32539d685585ff19532096e97089751282a561d28373ee5f979cf047e3bc3a
+EBUILD perl-5.34.0-r2.ebuild 25961 BLAKE2B 52db67be3b652189eb95a96b9949cffcccaf3d518850e2874daf51407c3904076ff69f57508888c4cb82d2a6bb412717b81878bf5a89e1ab5e9e6ab327620547 SHA512 7f694dc10ae960869dab2b74464b0804f4b5ca197c59a914ed674a185fcfc434a363ff48bb9bea67a4b02bcd4ed134d39cf0e8700a17515d63d049d6ab9fd089
EBUILD perl-5.34.0.ebuild 25814 BLAKE2B 3ffb3b2423b4dc3f1b7ae5d1b4d586c8add7c03702e9bd1d9de1688970848b8e5038a38fa0e9d62ad81f10c47f663b5c03bddd70321416eea689bf5912ce7828 SHA512 3a809bd06bc774ac5dd42c90cb24e2f08629449fa46731189d831270c860d75d1afb606a555ba67a9550baa3320dd7165a5219d69b7daac1ea1757e28057e5d5
MISC metadata.xml 431 BLAKE2B 89471506c7b258c1806338a5850ee9337f48b8e7497a3cad8b1e8bf18811152071d416732e0267e7d0c13386097990d1ca12bb0051deb7cb70403ab2e9bdb367 SHA512 87d2a0c6a10f71b243b1e9a79306ed0d440a7f447d84fe37f2bd3c40c60e8749fd9d7e97ad482e286153587b57d7db5d6a8df7cef94f332de7175f053dc843e1
diff --git a/dev-lang/perl/perl-5.34.0-r2.ebuild b/dev-lang/perl/perl-5.34.0-r2.ebuild
index bc8f99f97e2c..4c2d1bce1edd 100644
--- a/dev-lang/perl/perl-5.34.0-r2.ebuild
+++ b/dev-lang/perl/perl-5.34.0-r2.ebuild
@@ -53,7 +53,7 @@ LICENSE="|| ( Artistic GPL-1+ )"
SLOT="0/${SUBSLOT}"
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
IUSE="berkdb debug doc gdbm ithreads minimal"
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index e03c8e454455..4bb08cd6166a 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -4,28 +4,12 @@ AUX php-fpm_at.service 317 BLAKE2B f13fc38fcc0575a8517ee8d07b120efda37eabd235506
AUX php-freetype-2.9.1.patch 7667 BLAKE2B efc8f829bbad11b3e7b654d0882213ecb9aae766060d51f93446a6293a2f607339faba484c7b0b2f9318a5c5442da3c09e25aeda20dbc5e3258bf1009f8625b4 SHA512 0a06189f6fb3513cd2dcf9ddb590360475e2dd9a7aa8b13ab66c389c1ed40ce2361681f017cd3c6219f5b40a0a9d4978e57ca3ee4bacb7657db3285136fd2875
AUX php-iodbc-header-location.patch 481 BLAKE2B 9ea6a5d529dc7a8c78eeee800900372bc14309a05e352b2838da32e1384b61b507fdb623c9400094aa5b637eb1a87da92c72600eff79b18b8989ef90af56a0fa SHA512 86469f657d8807f005c28fd2149770c881add8f243fdfea087956c7987277597fe400a7af23f624f26da270356604717ed9cd04771154d7cf2ffe7237972372b
AUX php80-firebird-warnings.patch 1949 BLAKE2B ab1b693afe26b6529aab8628f9a614478c388ed23603ad1dd4d17b63154d535a3e4c2db04fe27fb22a3d7e1335e368ffd383ed24647ac53ac05170ec3e1beb75 SHA512 d37815ea529167d4959aef056a3a0be6902ee4cda809a48c24299b05ff6477ee82e8ed8dcf49051b8e74ba5c31e3985454591ea751d4550df3d2e3639ec0d616
-DIST php-7.3.29.tar.xz 12139492 BLAKE2B 7e1287e0fd236252f5bc92009e4ff51676eccd197c1c579f0e79a5428fa3920b5d1f95a459cdd77c22699fbe83984a6d726ab4fc0fc1e309da8b34e0e3998071 SHA512 8a495546d575a31f864f85139d8d7931361e6ac421f2cf5ef3b4cb57f59c44568cb9ad0c8793f50169d8d9933abdcec14ab90add2d7fab056e19e7f66d60689f
-DIST php-7.3.30.tar.xz 12142596 BLAKE2B 9d8d60aa2a24465e53d99be05f66c8c65ce738c866af0889cdfcd95d545d6308fce33ca2faaaeb2a298eae13d58b5f5b5c519de6af48230a4d9c4e3d41debb28 SHA512 89eb62ab4284393f33b79ee336c1672613c498adb858b16e1a17d5b2056068c849b96bbf591311ff322c607168d9518ade3bfebedbc4da4f37c34d2c64c671b6
DIST php-7.3.31.tar.xz 12142912 BLAKE2B dc68d2e2f38c93653950be4b30dde12fec6e7279e288fe40439a8e3e31110a228a69275e032604a493a53951230f6f42257719617ae18179116be414e49a2af5 SHA512 63a8122233b9892453b6b92429497a7ad9761ad88063e2b95607b5d4d4c0a0e1135073bcae5a0e69a17082d2348911cbbd4807c0d20905d93324d89e5b019a05
-DIST php-7.4.21.tar.xz 10346628 BLAKE2B f758d6bef60f5e0c99bd097533d1663640362c2b752a3bd54389acc3bd7d173c1ba5d4b1c119b6ad50f5029aabe2349bb4646a33212dc3cf34fd294f24def401 SHA512 778ddbfe614fdc6a00bc82c61f4c636bdbe815ce3398415a29bd24a2fd4ca2113b3b804303585d8830242e04b0c202bbc7c725a46c9bad79b070a0e896e5e681
-DIST php-7.4.22.tar.xz 10348532 BLAKE2B 20e4bfb0362bb13ca8cacf9fb2500ffdd2db011d69cb82f113dd0c25e8a5fd4a017d77481732930afd24a8e092edbce3eafe9d45f27718ddf7567469f80c5642 SHA512 80587ba613b8a863a666f44a16ebb33cbb5a5d396601d1eaf063c8f7793a98abae903cb76fca4216860f1a043d5ee997464d479d53ffff6a1d6a6cd31da9100d
-DIST php-7.4.23.tar.xz 10371160 BLAKE2B 5e9fc033f856132dd6b7b06fc5aedc72218f083779fd90a8c4c7a23fb4f8c248a7ff769f9d9f46e5143ddf88ce9289f5a8013c194aeaf22eca74d97846868611 SHA512 659b6bbf9be21a09640529bc088dfd7a494081188e37eb1f2dac2cab92a1084062fd06d550dc8c97bdd7dd9b57f4146e357447be2cb86643bda1d8dbc8a0d4a3
DIST php-7.4.24.tar.xz 10372816 BLAKE2B 62e1853c20eb10d8540b9284af93cce4b3976cfae7cdba5c0c2d6d14e732a57d7f1d196f4270687d6af8f376d7a9ccef60b0b606ed20eda7e1b2b7b95074c55c SHA512 30dd0a83d6184791f4cff3edcffeb05470de8f98ddadba3c11544449bf500280ff2048a8ca8588b35d0622dcbbf16f55ea297f51d469ae137048cab2d40da9cd
-DIST php-8.0.10.tar.xz 10703088 BLAKE2B c1be482bf0a7cd2392b4febccca8d9f7b32b12ff4f5ff0ce417658c52444308e67a1a0e702c0d70dc7cece4f8299b2bc12b6f999be8a758e5390e760ce4809d7 SHA512 25f23822a45eab837645a0259c7dbb999766506de35c1bba53e928e2b5935ba70278b931d5085966178e08013ec69407fc68eb041b3ae2e619b81f20ec8ce736
DIST php-8.0.11.tar.xz 10804388 BLAKE2B 8d32f2bb66b2850c7d8d820cbcf94af5161065612b204f6e30289d9b9fffbae7c45cdf5e31c3d1f774932d7eb7218079f6f0d19774b108d53a81a6c88d3c99fb SHA512 2d346959b2691ea0d5334dc9cad225b7a65ec53d6a6493f3b95c4819a0c088bec36aa1bf4ab3c8044a631bcfefb689d85463ff2259d42000e65dac30badcc59d
-DIST php-8.0.8.tar.xz 10674548 BLAKE2B d2446ae5b80e692106b89418864e4253e000741addb7526599ec8db96713f91a5ab3bccd5bbd2f536b16cc58afafdf22b19996d424dfdce3218a8083ee2bdf37 SHA512 1f8b94083b64705e24365af57169f8ff08115f31a7471238d9ed7a24b692e46c789f3fc00ff2bef2205243b9cd9c4736831e995a004afc7fc4127f3b74932428
-DIST php-8.0.9.tar.xz 10678448 BLAKE2B 7d8684a353ccbcd2aaff4c240563cbd9f94b16ad29223d7e00e3d9ca8b564dabe3f1d0ac676e6499af6b95f24ac2104ed9cc0ce30d05c7c565ccb2067a86b355 SHA512 de9923bfa3ca37cd775ff743beb417152d7380fa5622f3fb0055b49e552c6484561f4f503bb11f535aadd12352c92f673f3e3cc86964c767b1f6cec21265d03c
DIST php-8.1.0RC2.tar.xz 11679352 BLAKE2B 0b4eb5b1f8d3f8fb29421b6c72b3279bc7f3c5f6ba684305afdc7b1f5cc0f45a942d5c0f0a681f152ad87f209fa4e464215aef43732180882d523f2badd4596e SHA512 aecd58eb683467df62032208caa545d243ca2574f6683566a489136c84a19da4383c5aaa122dc09cfb44dc951bfaf85e50b0b9659b49ec1c4ae69f5afea9844b
-EBUILD php-7.3.29.ebuild 22683 BLAKE2B c9a62b09e00619d5e9ddfbd20abcb2f424d1e6d6f702fae36854b4a0bb3e5a1ef49f1584aae2d2b5d225c4df763687ff3e319c720b3946766bd57fe07842a185 SHA512 69a574958c2b644a3c14d39dd8068af550547e4a86c685539fe6c82b9d4b9883fd22b03fae5e04d0a7df4970ba82a82e127afd4609cde177165d734fb1ad116e
-EBUILD php-7.3.30.ebuild 22690 BLAKE2B dd350e0df77cc2a4f006b0e4a9e5bd0d5ac9442a27307ff15df78ccd5b9d3bfdeee307dd7bf6bb665cbe63237678270f370c436b62862e9c7da4483b5d488bfe SHA512 59cf4ee0b998240145945190370e41d20c731c37bb7909f75da8b3deff08a6036c7ce24366b0c2ddc6b325ee4564429bb1339b852ef973f1b2c566b19149757f
-EBUILD php-7.3.31.ebuild 22686 BLAKE2B 7386fcab149068f05162f8baf82c2c60b091d5d1013fec6331343db5ddff84b56953bd6794ded80b38dea04234a27a8153882afec69c535f3174b28afb140800 SHA512 b0748dd4e9a01bee18a490f5ebd0932ac0975ac93d1520d797db40ca24115eaf6fbe0f66f83b3a30edd91ed41ce332af35acacd3f7a387aac9c17a0be84c669c
-EBUILD php-7.4.21-r1.ebuild 21394 BLAKE2B fb0dae734fdafad89d17b823c5a4b5e5956f821c73a9cfadd29d3b5fe163ffc412b19d6ba57c53873e7c165fbad1fcc45b8218f9f8a319e1be622aa1256d2eb1 SHA512 ece48ffcc67868e8745e62a207d00967eb47aed140f0ab631b97ec22ace9e3d650b2385da728997a266fa063b33c4f552b840485d6bfde937722064ed393932c
-EBUILD php-7.4.22.ebuild 21401 BLAKE2B a0f0b3016c360705f9c3138b3a8eb272d4d12844f65694229b8a7441391a295243af769940bf1c2394df354123ececaa041ee566151a5eb05bcd114c47235510 SHA512 ae81d70ee64cc5aef8f03b0d8598bcca7f75b71e8cb3a8a9161ba73536f41e6252cf587c999b37014c59a331d3c243c431548863c017e2da9949a3602a72dd9c
-EBUILD php-7.4.23.ebuild 21408 BLAKE2B 63e5db498bb01eb86183c7b4a9baa1ed8cf1d07aa9c9e63ff754ed9b4e99874903551e6483a6545e6ff5d68f18aac18f90eaa7f5da85bcc879cd34377d8eb7c6 SHA512 454ea4be3c67ab58568d36097dd85fa985230ebc50d682666d7bddb0ea62fc76d8d7925d3b3e00d7fa46469a12a92a90af37e1e41d65425acfc5b5e4039f6365
-EBUILD php-7.4.24.ebuild 21404 BLAKE2B 5875bdf76ffc5aa1b36df6b742ccec07ae9b4c0b709fcd58d5aa7e00dd070f52312b101cbfa8089cc5724aa6aeaf4028ab0474670fbdfafa4232626f9a72c036 SHA512 998380ad160e149187b95dde53ce81a239e8fe4801911e647b61768357f7c4d81cb9f2da528def23e2eb89c088958f54356063744f30916a81b545d6e37962f6
-EBUILD php-8.0.10.ebuild 21427 BLAKE2B 4ccde3239994ca37ce53b190432506b35fb471a148207c1746392fb5cbbec68ecf417a7a2860b792d6efc8475ee1412281d5e70b8754f510699d7743126083f5 SHA512 6bac9b9ef70010d414d1e3e1debaeb2566d035511c38b3104429ebe84e8b7ab75bce096891297f4f7606c2fd221c336cdd93dd8e9e23845d9703ca41ae74f805
-EBUILD php-8.0.11.ebuild 21423 BLAKE2B f932b3713a6829ee92e1024a3f1b515b431c0063b009cbd048119e8d94eb778719a5118a6a015f17c4d64c294da99dd323a64371783296838fef2eee55ddfd94 SHA512 9e783469053093e0975872335b15bac87d6847c6da0c6b2d8d4709fd61603fdf472969ef9054bb0990448e0becaa260ba3d177f7b71d921af77ca8549e333961
-EBUILD php-8.0.8-r2.ebuild 21420 BLAKE2B e34347417fcf4d27cba8f22b810bdb2adc397621d8977f24dae7e5f6d4e0a1ff618b51f5ff8bb1d2bcaa0598490202d921a6379b9cd0147d4a3d7cd0be9066a1 SHA512 de351dd668a70bfaab8871d1a92e3026227fa5cdda7a78529d7c8a0cfe25c8976fa0b7420f24bd17b69eb4bffd36453c9928125cfed22e37256f6a01e8d0dbf5
-EBUILD php-8.0.9.ebuild 21420 BLAKE2B e34347417fcf4d27cba8f22b810bdb2adc397621d8977f24dae7e5f6d4e0a1ff618b51f5ff8bb1d2bcaa0598490202d921a6379b9cd0147d4a3d7cd0be9066a1 SHA512 de351dd668a70bfaab8871d1a92e3026227fa5cdda7a78529d7c8a0cfe25c8976fa0b7420f24bd17b69eb4bffd36453c9928125cfed22e37256f6a01e8d0dbf5
+EBUILD php-7.3.31.ebuild 22683 BLAKE2B c9a62b09e00619d5e9ddfbd20abcb2f424d1e6d6f702fae36854b4a0bb3e5a1ef49f1584aae2d2b5d225c4df763687ff3e319c720b3946766bd57fe07842a185 SHA512 69a574958c2b644a3c14d39dd8068af550547e4a86c685539fe6c82b9d4b9883fd22b03fae5e04d0a7df4970ba82a82e127afd4609cde177165d734fb1ad116e
+EBUILD php-7.4.24.ebuild 21401 BLAKE2B ea68621850881309ab746d4df6e2aab8b501646f09ee2bfac8603bb91b5c8a76d63e415705d94566d3c4e3c4a4de7934d369d5c519d81995037eec317a7df415 SHA512 45a6958db40d98dd0c20880b8e7dfbb37809af9b845a839029c28a310a1d15d9b5af6c3efd0584a922e052a5f8bb0c22491aa12e0fe0f5dd32934e5b5b84dfa6
+EBUILD php-8.0.11.ebuild 21420 BLAKE2B b55b392157d546ad51d0b66330271586dad104a7fe885ae68fd177cee3956b0ec1a4ec7922bc0315b1f72796adbc6d08bb2c12304a44cb64c62de73b731fcdf1 SHA512 d4ae2c1692ebeb42fed40e4e5239790fbb98f862375f36f40ff00ab58f34803a44c040acaeb66e10a597ac21831cc8b7c084735c7f245efef59b65a84b461bbd
EBUILD php-8.1.0_rc2.ebuild 21457 BLAKE2B 1ecc29a6afcba5210f229c7e8a5bca3f145af1efc1581106e7628404234f88e170ae3e65bb2f27f2117a7c78924b1957e670d6028a20c1e7f1237d1f13301d7c SHA512 10762a13466b1a3868b98485d6ffbb0b3375e450bf6f5139564cfe01a84009a2f8a4b16ab841aec0ab357156069966271205d9ebd41b7a4b3c78852d45f9851d
MISC metadata.xml 3378 BLAKE2B 4ea64ce2404205f33be7d0be217ad8eeef2b82bc50700664dd89db5bd6c3aabfe2b0ab72497493bdb1214d3c30d9fdabe0e8790938aa68fd3cff8bb25249057b SHA512 21fc30b50fe9d5fdbd63c19e1bc7856bc2e7d96ff8fbd05aff4fc07bddae68cbe8dffecb1854de233031257dcd40da265463887259f95ed886dac8bc2b6cc535
diff --git a/dev-lang/php/php-7.3.29.ebuild b/dev-lang/php/php-7.3.29.ebuild
deleted file mode 100644
index 43b75511c0b0..000000000000
--- a/dev-lang/php/php-7.3.29.ebuild
+++ /dev/null
@@ -1,758 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/RC}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
- BSD
- Zend-2.0
- bcmath? ( LGPL-2.1+ )
- fpm? ( BSD-2 )
- gd? ( gd )
- unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
- ${SAPIS/cli/+cli}
- threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
- coverage +ctype curl debug
- enchant exif +fileinfo +filter firebird
- +flatfile ftp gd gdbm gmp +hash +iconv imap inifile
- intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
- mhash mssql mysql mysqli nls
- oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
- readline recode selinux +session session-mm sharedmem
- +simplexml snmp soap sockets sodium spell sqlite ssl
- sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
- +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
- >=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
- >=dev-libs/libpcre2-10.30[jit?,unicode]
- fpm? ( acl? ( sys-apps/acl ) )
- apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
- argon2? ( app-crypt/argon2:= )
- berkdb? ( || ( sys-libs/db:5.3
- sys-libs/db:5.1
- sys-libs/db:4.8
- sys-libs/db:4.7
- sys-libs/db:4.6
- sys-libs/db:4.5 ) )
- bzip2? ( app-arch/bzip2:0= )
- cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
- coverage? ( dev-util/lcov )
- curl? ( >=net-misc/curl-7.10.5 )
- enchant? ( <app-text/enchant-2.0:0 )
- firebird? ( dev-db/firebird )
- gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
- gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
- gmp? ( dev-libs/gmp:0= )
- iconv? ( virtual/libiconv )
- imap? ( >=virtual/imap-c-client-2[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? ( dev-libs/libedit )
- lmdb? ( dev-db/lmdb:= )
- mssql? ( dev-db/freetds[mssql] )
- nls? ( sys-devel/gettext )
- oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
- odbc? ( >=dev-db/unixODBC-1.8.13 )
- postgres? ( dev-db/postgresql:* )
- qdbm? ( dev-db/qdbm )
- readline? ( sys-libs/readline:0= )
- recode? ( app-text/recode:0= )
- session-mm? ( dev-libs/mm )
- simplexml? ( >=dev-libs/libxml2-2.6.8 )
- snmp? ( >=net-analyzer/net-snmp-5.2 )
- soap? ( >=dev-libs/libxml2-2.6.8 )
- sodium? ( dev-libs/libsodium:=[-minimal] )
- spell? ( >=app-text/aspell-0.50 )
- sqlite? ( >=dev-db/sqlite-3.7.6.3 )
- ssl? ( >=dev-libs/openssl-1.0.1:0= )
- tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
- tokyocabinet? ( dev-db/tokyocabinet )
- truetype? ( =media-libs/freetype-2* )
- unicode? ( dev-libs/oniguruma:= )
- wddx? ( >=dev-libs/libxml2-2.6.8 )
- webp? ( media-libs/libwebp:0= )
- xml? ( >=dev-libs/libxml2-2.6.8 )
- xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
- xmlreader? ( >=dev-libs/libxml2-2.6.8 )
- xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
- xpm? ( x11-libs/libXpm )
- xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
- zip? ( >=sys-libs/zlib-1.2.0.4:0= )
- zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
- zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/mta
- fpm? (
- selinux? ( sec-policy/selinux-phpfpm )
- systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- >=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-# The Oracle instant client provides its own incompatible ldap library.
-REQUIRED_USE="
- || ( cli cgi fpm apache2 embed phpdbg )
- cli? ( ^^ ( readline libedit ) )
- truetype? ( gd zlib )
- webp? ( gd zlib )
- cjk? ( gd zlib )
- exif? ( gd zlib )
- xpm? ( gd zlib )
- gd? ( zlib )
- simplexml? ( xml )
- soap? ( xml )
- wddx? ( xml )
- xmlrpc? ( || ( xml iconv ) )
- xmlreader? ( xml )
- xslt? ( xml )
- ldap-sasl? ( ldap )
- mhash? ( hash )
- oci8-instant-client? ( !ldap )
- phar? ( hash )
- qdbm? ( !gdbm )
- readline? ( !libedit )
- recode? ( !imap !mysqli !mysql )
- session-mm? ( session !threads )
- mysql? ( || ( mysqli pdo ) )
- zip-encryption? ( zip )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/php-freetype-2.9.1.patch"
-)
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
- local phpsapi="${1}"
-
- # work out where we are installing the ini file
- php_set_ini_dir "${phpsapi}"
-
- # Always install the production INI file, bug 611214.
- local phpinisrc="php.ini-production-${phpsapi}"
- cp php.ini-production "${phpinisrc}" || die
-
- # default to /tmp for save_path, bug #282768
- sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
- # Set the extension dir
- sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
- -i "${phpinisrc}" || die
-
- # Set the include path to point to where we want to find PEAR packages
- sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
- 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 "../ext/opcache.ini" \
- "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
- fi
-
- # SAPI-specific handling
- if [[ "${sapi}" == "fpm" ]] ; then
- einfo "Installing FPM config files php-fpm.conf and www.conf"
- insinto "${PHP_INI_DIR#${EPREFIX}}"
- doins sapi/fpm/php-fpm.conf
- insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
- doins sapi/fpm/www.conf
- fi
-
- dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
- PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
- PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
- PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
- default
-
- # In php-7.x, the FPM pool configuration files have been split off
- # of the main config. By default the pool config files go in
- # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
- # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
- # we'll install the pool configuration file "www.conf" there.
- php_set_ini_dir fpm
- sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
- sapi/fpm/php-fpm.conf.in \
- || die 'failed to move the include directory in php-fpm.conf'
-
- # Bug 669566 - necessary so that build tools are updated for commands like pecl
- # Force rebuilding aclocal.m4
- rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
- eautoreconf
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
- # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
- # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
- local our_conf=(
- --prefix="${PHP_DESTDIR}"
- --mandir="${PHP_DESTDIR}/man"
- --infodir="${PHP_DESTDIR}/info"
- --libdir="${PHP_DESTDIR}/lib"
- --with-libdir="$(get_libdir)"
- --localstatedir="${EPREFIX}/var"
- --without-pear
- $(use_enable threads maintainer-zts)
- )
-
- our_conf+=(
- $(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_enable bcmath bcmath)
- $(use_with bzip2 bz2 "${EPREFIX}/usr")
- $(use_enable calendar calendar)
- $(use_enable coverage gcov)
- $(use_enable ctype ctype)
- $(use_with curl curl "${EPREFIX}/usr")
- $(use_enable xml dom)
- $(use_with enchant enchant "${EPREFIX}/usr")
- $(use_enable exif exif)
- $(use_enable fileinfo fileinfo)
- $(use_enable filter filter)
- $(use_enable ftp ftp)
- $(use_with nls gettext "${EPREFIX}/usr")
- $(use_with gmp gmp "${EPREFIX}/usr")
- $(use_enable hash hash)
- $(use_with mhash mhash "${EPREFIX}/usr")
- $(use_with iconv iconv \
- $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
- $(use_enable intl intl)
- $(use_enable ipv6 ipv6)
- $(use_enable json json)
- $(use_with kerberos kerberos "${EPREFIX}/usr")
- $(use_enable xml libxml)
- $(use_with xml libxml-dir "${EPREFIX}/usr")
- $(use_enable unicode mbstring)
- $(use_with unicode onig "${EPREFIX}/usr")
- $(use_with ssl openssl "${EPREFIX}/usr")
- $(use_with ssl openssl-dir "${EPREFIX}/usr")
- $(use_enable pcntl pcntl)
- $(use_enable phar phar)
- $(use_enable pdo pdo)
- $(use_enable opcache opcache)
- $(use_with postgres pgsql "${EPREFIX}/usr")
- $(use_enable posix posix)
- $(use_with spell pspell "${EPREFIX}/usr")
- $(use_with recode recode "${EPREFIX}/usr")
- $(use_enable simplexml simplexml)
- $(use_enable sharedmem shmop)
- $(use_with snmp snmp "${EPREFIX}/usr")
- $(use_enable soap soap)
- $(use_enable sockets sockets)
- $(use_with sodium sodium "${EPREFIX}/usr")
- $(use_with sqlite sqlite3 "${EPREFIX}/usr")
- $(use_enable sysvipc sysvmsg)
- $(use_enable sysvipc sysvsem)
- $(use_enable sysvipc sysvshm)
- $(use_with tidy tidy "${EPREFIX}/usr")
- $(use_enable tokenizer tokenizer)
- $(use_enable wddx wddx)
- $(use_enable xml xml)
- $(use_enable xmlreader xmlreader)
- $(use_enable xmlwriter xmlwriter)
- $(use_with xmlrpc xmlrpc)
- $(use_with xslt xsl "${EPREFIX}/usr")
- $(use_enable zip zip)
- $(use_with zip-encryption libzip "${EPREFIX}/usr")
- $(use_with zlib zlib "${EPREFIX}/usr")
- $(use_enable debug debug)
- )
-
- # DBA support
- if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
- || use qdbm || use lmdb || use tokyocabinet ; then
- our_conf+=( "--enable-dba${shared}" )
- fi
-
- # DBA drivers support
- our_conf+=(
- $(use_with cdb cdb)
- $(use_with berkdb db4 "${EPREFIX}/usr")
- $(use_enable flatfile flatfile)
- $(use_with gdbm gdbm "${EPREFIX}/usr")
- $(use_enable inifile inifile)
- $(use_with qdbm qdbm "${EPREFIX}/usr")
- $(use_with lmdb lmdb "${EPREFIX}/usr")
- )
-
- # Support for the GD graphics library
- our_conf+=(
- $(use_with truetype freetype-dir "${EPREFIX}/usr")
- $(use_enable cjk gd-jis-conv)
- $(use_with gd jpeg-dir "${EPREFIX}/usr")
- $(use_with gd png-dir "${EPREFIX}/usr")
- $(use_with xpm xpm-dir "${EPREFIX}/usr")
- )
- if use webp; then
- our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
- fi
- # enable gd last, so configure can pick up the previous settings
- our_conf+=( $(use_with gd gd) )
-
- # IMAP support
- if use imap ; then
- our_conf+=(
- $(use_with imap imap "${EPREFIX}/usr")
- $(use_with ssl imap-ssl "${EPREFIX}/usr")
- )
- fi
-
- # Interbase/firebird support
- our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
- # LDAP support
- if use ldap ; then
- our_conf+=(
- $(use_with ldap ldap "${EPREFIX}/usr")
- $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
- )
- fi
-
- # MySQL support
- local mysqllib="mysqlnd"
- local mysqlilib="mysqlnd"
-
- our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
- local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
- if use mysql || use mysqli ; then
- our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
- fi
-
- # ODBC support
- our_conf+=(
- $(use_with odbc unixODBC "${EPREFIX}/usr")
- $(use_with iodbc iodbc "${EPREFIX}/usr")
- )
-
- # Oracle support
- our_conf+=( $(use_with oci8-instant-client oci8) )
-
- # PDO support
- if use pdo ; then
- our_conf+=(
- $(use_with mssql pdo-dblib "${EPREFIX}/usr")
- $(use_with mysql pdo-mysql "${mysqllib}")
- $(use_with postgres pdo-pgsql)
- $(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
- $(use_with firebird pdo-firebird "${EPREFIX}/usr")
- $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
- $(use_with oci8-instant-client pdo-oci)
- )
- fi
-
- # readline/libedit support
- our_conf+=(
- $(use_with readline readline "${EPREFIX}/usr")
- $(use_with libedit libedit "${EPREFIX}/usr")
- )
-
- # Session support
- if use session ; then
- our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
- else
- our_conf+=( $(use_enable session session) )
- fi
-
- # Use pic for shared modules such as apache2's mod_php
- our_conf+=( --with-pic )
-
- # we use the system copy of pcre
- # --with-pcre-regex affects ext/pcre
- # --with-pcre-dir affects ext/filter and ext/zip
- # --with-pcre-valgrind cannot be enabled with system pcre
- our_conf+=(
- --with-pcre-regex="${EPREFIX}/usr"
- --with-pcre-dir="${EPREFIX}/usr"
- --without-pcre-valgrind
- $(use_with jit pcre-jit)
- )
-
- # Catch CFLAGS problems
- # Fixes bug #14067.
- # Changed order to run it in reverse for bug #32022 and #12021.
- replace-cpu-flags "k6*" "i586"
-
- # Cache the ./configure test results between SAPIs.
- our_conf+=( --cache-file="${T}/config.cache" )
-
- # Support user-passed configuration parameters
- our_conf+=( ${EXTRA_ECONF:-} )
-
- # Support the Apache2 extras, they must be set globally for all
- # SAPIs to work correctly, especially for external PHP extensions
-
- local one_sapi
- local sapi
- mkdir -p "${WORKDIR}/sapis-build" || die
- for one_sapi in $SAPIS ; do
- use "${one_sapi}" || continue
- php_set_ini_dir "${one_sapi}"
-
- # The BUILD_DIR variable is used to determine where to output
- # the files that autotools creates. This was all originally
- # based on the autotools-utils eclass.
- BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
- cp -a "${S}" "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- local sapi_conf=(
- --with-config-file-path="${PHP_INI_DIR}"
- --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
- )
-
- for sapi in $SAPIS ; do
- case "$sapi" in
- cli|cgi|embed|fpm|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- if [[ "fpm" == "${sapi}" ]] ; then
- sapi_conf+=(
- $(use_with acl fpm-acl)
- $(use_with systemd fpm-systemd)
- )
- fi
- else
- sapi_conf+=( "--disable-${sapi}" )
- fi
- ;;
-
- apache2)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
- else
- sapi_conf+=( --without-apxs2 )
- fi
- ;;
- esac
- done
-
- # Construct the $myeconfargs array by concatenating $our_conf
- # (the common args) and $sapi_conf (the SAPI-specific args).
- local myeconfargs=( "${our_conf[@]}" )
- myeconfargs+=( "${sapi_conf[@]}" )
-
- pushd "${BUILD_DIR}" > /dev/null || die
- econf "${myeconfargs[@]}"
- popd > /dev/null || die
- done
-}
-
-src_compile() {
- # snmp seems to run during src_compile, too (bug #324739)
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- local sapi
- for sapi in ${SAPIS} ; do
- if use "${sapi}"; then
- cd "${WORKDIR}/sapis-build/$sapi" || \
- die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
- emake
- fi
- done
-}
-
-src_install() {
- # see bug #324739 for what happens when we don't have that
- addpredict /usr/share/snmp/mibs/.index #nowarn
-
- # grab the first SAPI that got built and install common files from there
- local first_sapi="", 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 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"
- # Install the "phar" archive utility.
- if use phar ; then
- emake INSTALL_ROOT="${D}" install-pharcmd
- dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
- fi
- ;;
- 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#/usr}/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
- local m
- for m in ${SAPIS}; do
- [[ ${m} == 'embed' ]] && continue;
- if use $m ; then
- local ci=$(eselect php show $m)
- if [[ -z $ci ]]; then
- eselect php set $m php${SLOT} || die
- einfo "Switched ${m} to use php:${SLOT}"
- einfo
- elif [[ $ci != "php${SLOT}" ]] ; then
- elog "To switch $m to use php:${SLOT}, run"
- elog " eselect php set $m php${SLOT}"
- elog
- fi
- fi
- done
-
- # Remove dead symlinks for SAPIs that were just disabled. For
- # example, if the user has the cgi SAPI enabled, then he has an
- # eselect-php symlink for it. If he later reinstalls PHP with
- # USE="-cgi", that symlink will break. This call to eselect is
- # supposed to remove that dead link per bug 572436.
- eselect php cleanup || die
-
- if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
- elog "To build extensions for this version of PHP, you will need to"
- elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
- elog
- fi
-
- # Warn about the removal of PHP_INI_VERSION if the user has it set.
- if [[ -n "${PHP_INI_VERSION}" ]]; then
- ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
- ewarn 'remove it from your configuration at your convenience. See'
- ewarn
- ewarn ' https://bugs.gentoo.org/611214'
- ewarn
- ewarn 'for more information.'
- fi
-
- elog "For details on how version slotting works, please see"
- elog "the wiki:"
- elog
- elog " https://wiki.gentoo.org/wiki/PHP"
- elog
-}
-
-pkg_postrm() {
- # This serves two purposes. First, if we have just removed the last
- # installed version of PHP, then this will remove any dead symlinks
- # belonging to eselect-php. Second, if a user upgrades slots from
- # (say) 5.6 to 7.0 and depcleans the old slot, then this will update
- # his existing symlinks to point to the new 7.0 installation. The
- # latter is bug 432962.
- #
- # Note: the eselect-php package may not be installed at this point,
- # so we can't die() if this command fails.
- eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.3.30.ebuild b/dev-lang/php/php-7.3.30.ebuild
deleted file mode 100644
index ca53010503c1..000000000000
--- a/dev-lang/php/php-7.3.30.ebuild
+++ /dev/null
@@ -1,758 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/RC}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
- BSD
- Zend-2.0
- bcmath? ( LGPL-2.1+ )
- fpm? ( BSD-2 )
- gd? ( gd )
- unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
- ${SAPIS/cli/+cli}
- threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
- coverage +ctype curl debug
- enchant exif +fileinfo +filter firebird
- +flatfile ftp gd gdbm gmp +hash +iconv imap inifile
- intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
- mhash mssql mysql mysqli nls
- oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
- readline recode selinux +session session-mm sharedmem
- +simplexml snmp soap sockets sodium spell sqlite ssl
- sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
- +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
- >=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
- >=dev-libs/libpcre2-10.30[jit?,unicode]
- fpm? ( acl? ( sys-apps/acl ) )
- apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
- argon2? ( app-crypt/argon2:= )
- berkdb? ( || ( sys-libs/db:5.3
- sys-libs/db:5.1
- sys-libs/db:4.8
- sys-libs/db:4.7
- sys-libs/db:4.6
- sys-libs/db:4.5 ) )
- bzip2? ( app-arch/bzip2:0= )
- cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
- coverage? ( dev-util/lcov )
- curl? ( >=net-misc/curl-7.10.5 )
- enchant? ( <app-text/enchant-2.0:0 )
- firebird? ( dev-db/firebird )
- gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
- gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
- gmp? ( dev-libs/gmp:0= )
- iconv? ( virtual/libiconv )
- imap? ( >=virtual/imap-c-client-2[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? ( dev-libs/libedit )
- lmdb? ( dev-db/lmdb:= )
- mssql? ( dev-db/freetds[mssql] )
- nls? ( sys-devel/gettext )
- oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
- odbc? ( >=dev-db/unixODBC-1.8.13 )
- postgres? ( dev-db/postgresql:* )
- qdbm? ( dev-db/qdbm )
- readline? ( sys-libs/readline:0= )
- recode? ( app-text/recode:0= )
- session-mm? ( dev-libs/mm )
- simplexml? ( >=dev-libs/libxml2-2.6.8 )
- snmp? ( >=net-analyzer/net-snmp-5.2 )
- soap? ( >=dev-libs/libxml2-2.6.8 )
- sodium? ( dev-libs/libsodium:=[-minimal] )
- spell? ( >=app-text/aspell-0.50 )
- sqlite? ( >=dev-db/sqlite-3.7.6.3 )
- ssl? ( >=dev-libs/openssl-1.0.1:0= )
- tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
- tokyocabinet? ( dev-db/tokyocabinet )
- truetype? ( =media-libs/freetype-2* )
- unicode? ( dev-libs/oniguruma:= )
- wddx? ( >=dev-libs/libxml2-2.6.8 )
- webp? ( media-libs/libwebp:0= )
- xml? ( >=dev-libs/libxml2-2.6.8 )
- xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
- xmlreader? ( >=dev-libs/libxml2-2.6.8 )
- xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
- xpm? ( x11-libs/libXpm )
- xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
- zip? ( >=sys-libs/zlib-1.2.0.4:0= )
- zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
- zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/mta
- fpm? (
- selinux? ( sec-policy/selinux-phpfpm )
- systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- >=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-# The Oracle instant client provides its own incompatible ldap library.
-REQUIRED_USE="
- || ( cli cgi fpm apache2 embed phpdbg )
- cli? ( ^^ ( readline libedit ) )
- truetype? ( gd zlib )
- webp? ( gd zlib )
- cjk? ( gd zlib )
- exif? ( gd zlib )
- xpm? ( gd zlib )
- gd? ( zlib )
- simplexml? ( xml )
- soap? ( xml )
- wddx? ( xml )
- xmlrpc? ( || ( xml iconv ) )
- xmlreader? ( xml )
- xslt? ( xml )
- ldap-sasl? ( ldap )
- mhash? ( hash )
- oci8-instant-client? ( !ldap )
- phar? ( hash )
- qdbm? ( !gdbm )
- readline? ( !libedit )
- recode? ( !imap !mysqli !mysql )
- session-mm? ( session !threads )
- mysql? ( || ( mysqli pdo ) )
- zip-encryption? ( zip )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/php-freetype-2.9.1.patch"
-)
-
-PHP_MV="$(ver_cut 1)"
-
-php_install_ini() {
- local phpsapi="${1}"
-
- # work out where we are installing the ini file
- php_set_ini_dir "${phpsapi}"
-
- # Always install the production INI file, bug 611214.
- local phpinisrc="php.ini-production-${phpsapi}"
- cp php.ini-production "${phpinisrc}" || die
-
- # default to /tmp for save_path, bug #282768
- sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
-
- # Set the extension dir
- sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
- -i "${phpinisrc}" || die
-
- # Set the include path to point to where we want to find PEAR packages
- sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
-
- 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 "../ext/opcache.ini" \
- "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
- fi
-
- # SAPI-specific handling
- if [[ "${sapi}" == "fpm" ]] ; then
- einfo "Installing FPM config files php-fpm.conf and www.conf"
- insinto "${PHP_INI_DIR#${EPREFIX}}"
- doins sapi/fpm/php-fpm.conf
- insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
- doins sapi/fpm/www.conf
- fi
-
- dodoc php.ini-{development,production}
-}
-
-php_set_ini_dir() {
- PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
- PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
- PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
-}
-
-src_prepare() {
- default
-
- # In php-7.x, the FPM pool configuration files have been split off
- # of the main config. By default the pool config files go in
- # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
- # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
- # we'll install the pool configuration file "www.conf" there.
- php_set_ini_dir fpm
- sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
- sapi/fpm/php-fpm.conf.in \
- || die 'failed to move the include directory in php-fpm.conf'
-
- # Bug 669566 - necessary so that build tools are updated for commands like pecl
- # Force rebuilding aclocal.m4
- rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
- eautoreconf
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
- # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
- # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
- local our_conf=(
- --prefix="${PHP_DESTDIR}"
- --mandir="${PHP_DESTDIR}/man"
- --infodir="${PHP_DESTDIR}/info"
- --libdir="${PHP_DESTDIR}/lib"
- --with-libdir="$(get_libdir)"
- --localstatedir="${EPREFIX}/var"
- --without-pear
- $(use_enable threads maintainer-zts)
- )
-
- our_conf+=(
- $(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_enable bcmath bcmath)
- $(use_with bzip2 bz2 "${EPREFIX}/usr")
- $(use_enable calendar calendar)
- $(use_enable coverage gcov)
- $(use_enable ctype ctype)
- $(use_with curl curl "${EPREFIX}/usr")
- $(use_enable xml dom)
- $(use_with enchant enchant "${EPREFIX}/usr")
- $(use_enable exif exif)
- $(use_enable fileinfo fileinfo)
- $(use_enable filter filter)
- $(use_enable ftp ftp)
- $(use_with nls gettext "${EPREFIX}/usr")
- $(use_with gmp gmp "${EPREFIX}/usr")
- $(use_enable hash hash)
- $(use_with mhash mhash "${EPREFIX}/usr")
- $(use_with iconv iconv \
- $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
- $(use_enable intl intl)
- $(use_enable ipv6 ipv6)
- $(use_enable json json)
- $(use_with kerberos kerberos "${EPREFIX}/usr")
- $(use_enable xml libxml)
- $(use_with xml libxml-dir "${EPREFIX}/usr")
- $(use_enable unicode mbstring)
- $(use_with unicode onig "${EPREFIX}/usr")
- $(use_with ssl openssl "${EPREFIX}/usr")
- $(use_with ssl openssl-dir "${EPREFIX}/usr")
- $(use_enable pcntl pcntl)
- $(use_enable phar phar)
- $(use_enable pdo pdo)
- $(use_enable opcache opcache)
- $(use_with postgres pgsql "${EPREFIX}/usr")
- $(use_enable posix posix)
- $(use_with spell pspell "${EPREFIX}/usr")
- $(use_with recode recode "${EPREFIX}/usr")
- $(use_enable simplexml simplexml)
- $(use_enable sharedmem shmop)
- $(use_with snmp snmp "${EPREFIX}/usr")
- $(use_enable soap soap)
- $(use_enable sockets sockets)
- $(use_with sodium sodium "${EPREFIX}/usr")
- $(use_with sqlite sqlite3 "${EPREFIX}/usr")
- $(use_enable sysvipc sysvmsg)
- $(use_enable sysvipc sysvsem)
- $(use_enable sysvipc sysvshm)
- $(use_with tidy tidy "${EPREFIX}/usr")
- $(use_enable tokenizer tokenizer)
- $(use_enable wddx wddx)
- $(use_enable xml xml)
- $(use_enable xmlreader xmlreader)
- $(use_enable xmlwriter xmlwriter)
- $(use_with xmlrpc xmlrpc)
- $(use_with xslt xsl "${EPREFIX}/usr")
- $(use_enable zip zip)
- $(use_with zip-encryption libzip "${EPREFIX}/usr")
- $(use_with zlib zlib "${EPREFIX}/usr")
- $(use_enable debug debug)
- )
-
- # DBA support
- if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
- || use qdbm || use lmdb || use tokyocabinet ; then
- our_conf+=( "--enable-dba${shared}" )
- fi
-
- # DBA drivers support
- our_conf+=(
- $(use_with cdb cdb)
- $(use_with berkdb db4 "${EPREFIX}/usr")
- $(use_enable flatfile flatfile)
- $(use_with gdbm gdbm "${EPREFIX}/usr")
- $(use_enable inifile inifile)
- $(use_with qdbm qdbm "${EPREFIX}/usr")
- $(use_with lmdb lmdb "${EPREFIX}/usr")
- )
-
- # Support for the GD graphics library
- our_conf+=(
- $(use_with truetype freetype-dir "${EPREFIX}/usr")
- $(use_enable cjk gd-jis-conv)
- $(use_with gd jpeg-dir "${EPREFIX}/usr")
- $(use_with gd png-dir "${EPREFIX}/usr")
- $(use_with xpm xpm-dir "${EPREFIX}/usr")
- )
- if use webp; then
- our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
- fi
- # enable gd last, so configure can pick up the previous settings
- our_conf+=( $(use_with gd gd) )
-
- # IMAP support
- if use imap ; then
- our_conf+=(
- $(use_with imap imap "${EPREFIX}/usr")
- $(use_with ssl imap-ssl "${EPREFIX}/usr")
- )
- fi
-
- # Interbase/firebird support
- our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
-
- # LDAP support
- if use ldap ; then
- our_conf+=(
- $(use_with ldap ldap "${EPREFIX}/usr")
- $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
- )
- fi
-
- # MySQL support
- local mysqllib="mysqlnd"
- local mysqlilib="mysqlnd"
-
- our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
- local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
- if use mysql || use mysqli ; then
- our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
- fi
-
- # ODBC support
- our_conf+=(
- $(use_with odbc unixODBC "${EPREFIX}/usr")
- $(use_with iodbc iodbc "${EPREFIX}/usr")
- )
-
- # Oracle support
- our_conf+=( $(use_with oci8-instant-client oci8) )
-
- # PDO support
- if use pdo ; then
- our_conf+=(
- $(use_with mssql pdo-dblib "${EPREFIX}/usr")
- $(use_with mysql pdo-mysql "${mysqllib}")
- $(use_with postgres pdo-pgsql)
- $(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
- $(use_with firebird pdo-firebird "${EPREFIX}/usr")
- $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
- $(use_with oci8-instant-client pdo-oci)
- )
- fi
-
- # readline/libedit support
- our_conf+=(
- $(use_with readline readline "${EPREFIX}/usr")
- $(use_with libedit libedit "${EPREFIX}/usr")
- )
-
- # Session support
- if use session ; then
- our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
- else
- our_conf+=( $(use_enable session session) )
- fi
-
- # Use pic for shared modules such as apache2's mod_php
- our_conf+=( --with-pic )
-
- # we use the system copy of pcre
- # --with-pcre-regex affects ext/pcre
- # --with-pcre-dir affects ext/filter and ext/zip
- # --with-pcre-valgrind cannot be enabled with system pcre
- our_conf+=(
- --with-pcre-regex="${EPREFIX}/usr"
- --with-pcre-dir="${EPREFIX}/usr"
- --without-pcre-valgrind
- $(use_with jit pcre-jit)
- )
-
- # Catch CFLAGS problems
- # Fixes bug #14067.
- # Changed order to run it in reverse for bug #32022 and #12021.
- replace-cpu-flags "k6*" "i586"
-
- # Cache the ./configure test results between SAPIs.
- our_conf+=( --cache-file="${T}/config.cache" )
-
- # Support user-passed configuration parameters
- our_conf+=( ${EXTRA_ECONF:-} )
-
- # Support the Apache2 extras, they must be set globally for all
- # SAPIs to work correctly, especially for external PHP extensions
-
- local one_sapi
- local sapi
- mkdir -p "${WORKDIR}/sapis-build" || die
- for one_sapi in $SAPIS ; do
- use "${one_sapi}" || continue
- php_set_ini_dir "${one_sapi}"
-
- # The BUILD_DIR variable is used to determine where to output
- # the files that autotools creates. This was all originally
- # based on the autotools-utils eclass.
- BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
- cp -a "${S}" "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- local sapi_conf=(
- --with-config-file-path="${PHP_INI_DIR}"
- --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
- )
-
- for sapi in $SAPIS ; do
- case "$sapi" in
- cli|cgi|embed|fpm|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- if [[ "fpm" == "${sapi}" ]] ; then
- sapi_conf+=(
- $(use_with acl fpm-acl)
- $(use_with systemd fpm-systemd)
- )
- fi
- else
- sapi_conf+=( "--disable-${sapi}" )
- fi
- ;;
-
- apache2)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
- else
- sapi_conf+=( --without-apxs2 )
- fi
- ;;
- esac
- done
-
- # Construct the $myeconfargs array by concatenating $our_conf
- # (the common args) and $sapi_conf (the SAPI-specific args).
- local myeconfargs=( "${our_conf[@]}" )
- myeconfargs+=( "${sapi_conf[@]}" )
-
- pushd "${BUILD_DIR}" > /dev/null || die
- econf "${myeconfargs[@]}"
- popd > /dev/null || die
- done
-}
-
-src_compile() {
- # snmp seems to run during src_compile, too (bug #324739)
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- local sapi
- for sapi in ${SAPIS} ; do
- if use "${sapi}"; then
- cd "${WORKDIR}/sapis-build/$sapi" || \
- die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
- emake
- fi
- done
-}
-
-src_install() {
- # see bug #324739 for what happens when we don't have that
- addpredict /usr/share/snmp/mibs/.index #nowarn
-
- # grab the first SAPI that got built and install common files from there
- local first_sapi="", 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 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"
- # Install the "phar" archive utility.
- if use phar ; then
- emake INSTALL_ROOT="${D}" install-pharcmd
- dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
- fi
- ;;
- 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#/usr}/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
- local m
- for m in ${SAPIS}; do
- [[ ${m} == 'embed' ]] && continue;
- if use $m ; then
- local ci=$(eselect php show $m)
- if [[ -z $ci ]]; then
- eselect php set $m php${SLOT} || die
- einfo "Switched ${m} to use php:${SLOT}"
- einfo
- elif [[ $ci != "php${SLOT}" ]] ; then
- elog "To switch $m to use php:${SLOT}, run"
- elog " eselect php set $m php${SLOT}"
- elog
- fi
- fi
- done
-
- # Remove dead symlinks for SAPIs that were just disabled. For
- # example, if the user has the cgi SAPI enabled, then he has an
- # eselect-php symlink for it. If he later reinstalls PHP with
- # USE="-cgi", that symlink will break. This call to eselect is
- # supposed to remove that dead link per bug 572436.
- eselect php cleanup || die
-
- if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
- elog "To build extensions for this version of PHP, you will need to"
- elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
- elog
- fi
-
- # Warn about the removal of PHP_INI_VERSION if the user has it set.
- if [[ -n "${PHP_INI_VERSION}" ]]; then
- ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
- ewarn 'remove it from your configuration at your convenience. See'
- ewarn
- ewarn ' https://bugs.gentoo.org/611214'
- ewarn
- ewarn 'for more information.'
- fi
-
- elog "For details on how version slotting works, please see"
- elog "the wiki:"
- elog
- elog " https://wiki.gentoo.org/wiki/PHP"
- elog
-}
-
-pkg_postrm() {
- # This serves two purposes. First, if we have just removed the last
- # installed version of PHP, then this will remove any dead symlinks
- # belonging to eselect-php. Second, if a user upgrades slots from
- # (say) 5.6 to 7.0 and depcleans the old slot, then this will update
- # his existing symlinks to point to the new 7.0 installation. The
- # latter is bug 432962.
- #
- # Note: the eselect-php package may not be installed at this point,
- # so we can't die() if this command fails.
- eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.3.31.ebuild b/dev-lang/php/php-7.3.31.ebuild
index 93346533abdd..43b75511c0b0 100644
--- a/dev-lang/php/php-7.3.31.ebuild
+++ b/dev-lang/php/php-7.3.31.ebuild
@@ -19,7 +19,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
diff --git a/dev-lang/php/php-7.4.21-r1.ebuild b/dev-lang/php/php-7.4.21-r1.ebuild
deleted file mode 100644
index 0c7caced122c..000000000000
--- a/dev-lang/php/php-7.4.21-r1.ebuild
+++ /dev/null
@@ -1,750 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-WANT_AUTOMAKE="none"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/RC}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
- BSD
- Zend-2.0
- bcmath? ( LGPL-2.1+ )
- fpm? ( BSD-2 )
- gd? ( gd )
- unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
- ${SAPIS/cli/+cli}
- threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
- coverage +ctype curl debug
- enchant exif ffi +fileinfo +filter firebird
- +flatfile ftp gd gdbm gmp +iconv imap inifile
- intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
- mhash mssql mysql mysqli nls
- oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
- readline selinux +session session-mm sharedmem
- +simplexml snmp soap sockets sodium spell sqlite ssl
- sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
- +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-# The Oracle instant client provides its own incompatible ldap library.
-REQUIRED_USE="
- || ( cli cgi fpm apache2 embed phpdbg )
- cli? ( ^^ ( readline libedit ) )
- !cli? ( ?? ( readline libedit ) )
- truetype? ( gd zlib )
- webp? ( gd zlib )
- cjk? ( gd zlib )
- exif? ( gd zlib )
- xpm? ( gd zlib )
- gd? ( zlib )
- simplexml? ( xml )
- soap? ( xml )
- xmlrpc? ( xml iconv )
- xmlreader? ( xml )
- xmlwriter? ( xml )
- xslt? ( xml )
- ldap-sasl? ( ldap )
- oci8-instant-client? ( !ldap )
- qdbm? ( !gdbm )
- session-mm? ( session !threads )
- mysql? ( || ( mysqli pdo ) )
- firebird? ( pdo )
- mssql? ( pdo )
-"
-
-RESTRICT="!test? ( test )"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
- >=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
- >=dev-libs/libpcre2-10.30[jit?,unicode]
- fpm? ( acl? ( sys-apps/acl ) )
- apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
- argon2? ( app-crypt/argon2:= )
- berkdb? ( || ( sys-libs/db:5.3
- sys-libs/db:5.1
- sys-libs/db:4.8
- sys-libs/db:4.7
- sys-libs/db:4.6
- sys-libs/db:4.5 ) )
- bzip2? ( app-arch/bzip2:0= )
- cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
- coverage? ( dev-util/lcov )
- curl? ( >=net-misc/curl-7.10.5 )
- enchant? ( <app-text/enchant-2.0:0 )
- ffi? ( >=dev-libs/libffi-3.0.11:= )
- firebird? ( dev-db/firebird )
- gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
- gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
- gmp? ( dev-libs/gmp:0= )
- iconv? ( virtual/libiconv )
- imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
- intl? ( dev-libs/icu:= )
- kerberos? ( virtual/krb5 )
- ldap? ( >=net-nds/openldap-1.2.11 )
- ldap-sasl? ( dev-libs/cyrus-sasl )
- libedit? ( dev-libs/libedit )
- lmdb? ( dev-db/lmdb:= )
- mssql? ( dev-db/freetds[mssql] )
- nls? ( sys-devel/gettext )
- oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
- odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
- postgres? ( dev-db/postgresql:* )
- qdbm? ( dev-db/qdbm )
- readline? ( sys-libs/readline:0= )
- session-mm? ( dev-libs/mm )
- snmp? ( >=net-analyzer/net-snmp-5.2 )
- sodium? ( dev-libs/libsodium:=[-minimal] )
- spell? ( >=app-text/aspell-0.50 )
- sqlite? ( >=dev-db/sqlite-3.7.6.3 )
- ssl? ( >=dev-libs/openssl-1.0.1:0= )
- tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
- tokyocabinet? ( dev-db/tokyocabinet )
- truetype? ( =media-libs/freetype-2* )
- unicode? ( dev-libs/oniguruma:= )
- webp? ( media-libs/libwebp:0= )
- xml? ( >=dev-libs/libxml2-2.7.6 )
- xpm? ( x11-libs/libXpm )
- xslt? ( dev-libs/libxslt )
- zip? ( >=dev-libs/libzip-1.2.0:= )
- zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/mta
- fpm? (
- selinux? ( sec-policy/selinux-phpfpm )
- systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- >=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-PHP_MV="$(ver_cut 1)"
-
-PATCHES=(
- "${FILESDIR}"/php-iodbc-header-location.patch
-)
-
-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
-
- 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 "../ext/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'
-
- # Emulate buildconf to support cross-compilation
- rm -fr aclocal.m4 autom4te.cache config.cache \
- configure main/php_config.h.in || die
- eautoconf --force
- eautoheader
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
- # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
- # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
- local our_conf=(
- --prefix="${PHP_DESTDIR}"
- --mandir="${PHP_DESTDIR}/man"
- --infodir="${PHP_DESTDIR}/info"
- --libdir="${PHP_DESTDIR}/lib"
- --with-libdir="$(get_libdir)"
- --localstatedir="${EPREFIX}/var"
- --without-pear
- $(use_enable threads maintainer-zts)
- )
-
- our_conf+=(
- $(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_enable bcmath)
- $(use_with bzip2 bz2 "${EPREFIX}/usr")
- $(use_enable calendar)
- $(use_enable coverage gcov)
- $(use_enable ctype)
- $(use_with curl)
- $(use_enable xml dom)
- $(use_with enchant)
- $(use_enable exif)
- $(use_with ffi)
- $(use_enable fileinfo)
- $(use_enable filter)
- $(use_enable ftp)
- $(use_with nls gettext "${EPREFIX}/usr")
- $(use_with gmp gmp "${EPREFIX}/usr")
- $(use_with mhash mhash "${EPREFIX}/usr")
- $(use_with iconv iconv \
- $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
- $(use_enable intl)
- $(use_enable ipv6)
- $(use_enable json)
- $(use_with kerberos)
- $(use_with xml libxml)
- $(use_enable unicode mbstring)
- $(use_with ssl openssl)
- $(use_enable pcntl)
- $(use_enable phar)
- $(use_enable pdo)
- $(use_enable opcache)
- $(use_with postgres pgsql "${EPREFIX}/usr")
- $(use_enable posix)
- $(use_with spell pspell "${EPREFIX}/usr")
- $(use_enable simplexml)
- $(use_enable sharedmem shmop)
- $(use_with snmp snmp "${EPREFIX}/usr")
- $(use_enable soap)
- $(use_enable sockets)
- $(use_with sodium)
- $(use_with sqlite sqlite3)
- $(use_enable sysvipc sysvmsg)
- $(use_enable sysvipc sysvsem)
- $(use_enable sysvipc sysvshm)
- $(use_with tidy tidy "${EPREFIX}/usr")
- $(use_enable tokenizer)
- $(use_enable xml)
- $(use_enable xmlreader)
- $(use_enable xmlwriter)
- $(use_with xmlrpc)
- $(use_with xslt xsl)
- $(use_with zip)
- $(use_with zlib zlib "${EPREFIX}/usr")
- $(use_enable debug)
- )
-
- # DBA support
- if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
- || use qdbm || use lmdb || use tokyocabinet ; then
- our_conf+=( "--enable-dba" )
- fi
-
- # DBA drivers support
- our_conf+=(
- $(use_with cdb)
- $(use_with berkdb db4 "${EPREFIX}/usr")
- $(use_enable flatfile)
- $(use_with gdbm gdbm "${EPREFIX}/usr")
- $(use_enable inifile)
- $(use_with qdbm qdbm "${EPREFIX}/usr")
- $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
- $(use_with lmdb lmdb "${EPREFIX}/usr")
- )
-
- # Support for the GD graphics library
- our_conf+=(
- $(use_with truetype freetype)
- $(use_enable cjk gd-jis-conv)
- $(use_with gd jpeg)
- $(use_with xpm)
- $(use_with webp)
- )
- # enable gd last, so configure can pick up the previous settings
- our_conf+=( $(use_enable gd) )
-
- # IMAP support
- if use imap ; then
- our_conf+=(
- $(use_with imap imap "${EPREFIX}/usr")
- $(use_with ssl imap-ssl "${EPREFIX}/usr")
- )
- fi
-
- # LDAP support
- if use ldap ; then
- our_conf+=(
- $(use_with ldap ldap "${EPREFIX}/usr")
- $(use_with ldap-sasl)
- )
- fi
-
- # MySQL support
- local mysqllib="mysqlnd"
- local mysqlilib="mysqlnd"
-
- our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
- local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
- if use mysql || use mysqli ; then
- our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
- fi
-
- # ODBC support
- if use odbc && use iodbc ; then
- our_conf+=(
- --without-unixODBC
- --with-iodbc
- $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
- )
- elif use odbc ; then
- our_conf+=(
- --with-unixODBC="${EPREFIX}/usr"
- --without-iodbc
- $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
- )
- else
- our_conf+=(
- --without-unixODBC
- --without-iodbc
- --without-pdo-odbc
- )
- fi
-
- # Oracle support
- our_conf+=( $(use_with oci8-instant-client oci8) )
-
- # PDO support
- if use pdo ; then
- our_conf+=(
- $(use_with mssql pdo-dblib "${EPREFIX}/usr")
- $(use_with mysql pdo-mysql "${mysqllib}")
- $(use_with postgres pdo-pgsql)
- $(use_with sqlite pdo-sqlite)
- $(use_with firebird pdo-firebird "${EPREFIX}/usr")
- $(use_with oci8-instant-client pdo-oci)
- )
- fi
-
- # readline/libedit support
- our_conf+=(
- $(use_with readline readline "${EPREFIX}/usr")
- $(use_with libedit)
- )
-
- # Session support
- if use session ; then
- our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
- else
- our_conf+=( $(use_enable session) )
- fi
-
- # Use pic for shared modules such as apache2's mod_php
- our_conf+=( --with-pic )
-
- # we use the system copy of pcre
- # --with-external-pcre affects ext/pcre
- our_conf+=(
- --with-external-pcre
- $(use_with jit pcre-jit)
- )
-
- # Catch CFLAGS problems
- # Fixes bug #14067.
- # Changed order to run it in reverse for bug #32022 and #12021.
- replace-cpu-flags "k6*" "i586"
-
- # Cache the ./configure test results between SAPIs.
- our_conf+=( --cache-file="${T}/config.cache" )
-
- # Support user-passed configuration parameters
- our_conf+=( ${EXTRA_ECONF:-} )
-
- # Support the Apache2 extras, they must be set globally for all
- # SAPIs to work correctly, especially for external PHP extensions
-
- local one_sapi
- local sapi
- mkdir -p "${WORKDIR}/sapis-build" || die
- for one_sapi in $SAPIS ; do
- use "${one_sapi}" || continue
- php_set_ini_dir "${one_sapi}"
-
- # The BUILD_DIR variable is used to determine where to output
- # the files that autotools creates. This was all originally
- # based on the autotools-utils eclass.
- BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
- cp -a "${S}" "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- local sapi_conf=(
- --with-config-file-path="${PHP_INI_DIR}"
- --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
- )
-
- for sapi in $SAPIS ; do
- case "$sapi" in
- cli|cgi|embed|fpm|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- if [[ "fpm" == "${sapi}" ]] ; then
- sapi_conf+=(
- $(use_with acl fpm-acl)
- $(use_with systemd fpm-systemd)
- )
- fi
- else
- sapi_conf+=( "--disable-${sapi}" )
- fi
- ;;
-
- apache2)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
- else
- sapi_conf+=( --without-apxs2 )
- fi
- ;;
- esac
- done
-
- # Construct the $myeconfargs array by concatenating $our_conf
- # (the common args) and $sapi_conf (the SAPI-specific args).
- local myeconfargs=( "${our_conf[@]}" )
- myeconfargs+=( "${sapi_conf[@]}" )
-
- pushd "${BUILD_DIR}" > /dev/null || die
- econf "${myeconfargs[@]}"
- popd > /dev/null || die
- done
-}
-
-src_compile() {
- # snmp seems to run during src_compile, too (bug #324739)
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- local sapi
- for sapi in ${SAPIS} ; do
- if use "${sapi}"; then
- cd "${WORKDIR}/sapis-build/$sapi" || \
- die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
- emake
- fi
- done
-}
-
-src_install() {
- # see bug #324739 for what happens when we don't have that
- addpredict /usr/share/snmp/mibs/.index #nowarn
-
- # grab the first SAPI that got built and install common files from there
- local first_sapi="", 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 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"
- # Install the "phar" archive utility.
- if use phar ; then
- emake INSTALL_ROOT="${D}" install-pharcmd
- dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
- fi
- ;;
- 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#/usr}/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
- local m
- for m in ${SAPIS}; do
- [[ ${m} == 'embed' ]] && continue;
- if use $m ; then
- local ci=$(eselect php show $m)
- if [[ -z $ci ]]; then
- eselect php set $m php${SLOT} || die
- einfo "Switched ${m} to use php:${SLOT}"
- einfo
- elif [[ $ci != "php${SLOT}" ]] ; then
- elog "To switch $m to use php:${SLOT}, run"
- elog " eselect php set $m php${SLOT}"
- elog
- fi
- fi
- done
-
- # Remove dead symlinks for SAPIs that were just disabled. For
- # example, if the user has the cgi SAPI enabled, then he has an
- # eselect-php symlink for it. If he later reinstalls PHP with
- # USE="-cgi", that symlink will break. This call to eselect is
- # supposed to remove that dead link per bug 572436.
- eselect php cleanup || die
-
- if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
- elog "To build extensions for this version of PHP, you will need to"
- elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
- elog
- fi
-
- # Warn about the removal of PHP_INI_VERSION if the user has it set.
- if [[ -n "${PHP_INI_VERSION}" ]]; then
- ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
- ewarn 'remove it from your configuration at your convenience. See'
- ewarn
- ewarn ' https://bugs.gentoo.org/611214'
- ewarn
- ewarn 'for more information.'
- fi
-
- elog "For details on how version slotting works, please see"
- elog "the wiki:"
- elog
- elog " https://wiki.gentoo.org/wiki/PHP"
- elog
-}
-
-pkg_postrm() {
- # This serves two purposes. First, if we have just removed the last
- # installed version of PHP, then this will remove any dead symlinks
- # belonging to eselect-php. Second, if a user upgrades slots from
- # (say) 5.6 to 7.0 and depcleans the old slot, then this will update
- # his existing symlinks to point to the new 7.0 installation. The
- # latter is bug 432962.
- #
- # Note: the eselect-php package may not be installed at this point,
- # so we can't die() if this command fails.
- eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.4.22.ebuild b/dev-lang/php/php-7.4.22.ebuild
deleted file mode 100644
index b959f63f92bd..000000000000
--- a/dev-lang/php/php-7.4.22.ebuild
+++ /dev/null
@@ -1,750 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-WANT_AUTOMAKE="none"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/RC}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
- BSD
- Zend-2.0
- bcmath? ( LGPL-2.1+ )
- fpm? ( BSD-2 )
- gd? ( gd )
- unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
- ${SAPIS/cli/+cli}
- threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
- coverage +ctype curl debug
- enchant exif ffi +fileinfo +filter firebird
- +flatfile ftp gd gdbm gmp +iconv imap inifile
- intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
- mhash mssql mysql mysqli nls
- oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
- readline selinux +session session-mm sharedmem
- +simplexml snmp soap sockets sodium spell sqlite ssl
- sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
- +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-# The Oracle instant client provides its own incompatible ldap library.
-REQUIRED_USE="
- || ( cli cgi fpm apache2 embed phpdbg )
- cli? ( ^^ ( readline libedit ) )
- !cli? ( ?? ( readline libedit ) )
- truetype? ( gd zlib )
- webp? ( gd zlib )
- cjk? ( gd zlib )
- exif? ( gd zlib )
- xpm? ( gd zlib )
- gd? ( zlib )
- simplexml? ( xml )
- soap? ( xml )
- xmlrpc? ( xml iconv )
- xmlreader? ( xml )
- xmlwriter? ( xml )
- xslt? ( xml )
- ldap-sasl? ( ldap )
- oci8-instant-client? ( !ldap )
- qdbm? ( !gdbm )
- session-mm? ( session !threads )
- mysql? ( || ( mysqli pdo ) )
- firebird? ( pdo )
- mssql? ( pdo )
-"
-
-RESTRICT="!test? ( test )"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
- >=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
- >=dev-libs/libpcre2-10.30[jit?,unicode]
- fpm? ( acl? ( sys-apps/acl ) )
- apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
- argon2? ( app-crypt/argon2:= )
- berkdb? ( || ( sys-libs/db:5.3
- sys-libs/db:5.1
- sys-libs/db:4.8
- sys-libs/db:4.7
- sys-libs/db:4.6
- sys-libs/db:4.5 ) )
- bzip2? ( app-arch/bzip2:0= )
- cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
- coverage? ( dev-util/lcov )
- curl? ( >=net-misc/curl-7.10.5 )
- enchant? ( <app-text/enchant-2.0:0 )
- ffi? ( >=dev-libs/libffi-3.0.11:= )
- firebird? ( dev-db/firebird )
- gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
- gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
- gmp? ( dev-libs/gmp:0= )
- iconv? ( virtual/libiconv )
- imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
- intl? ( dev-libs/icu:= )
- kerberos? ( virtual/krb5 )
- ldap? ( >=net-nds/openldap-1.2.11 )
- ldap-sasl? ( dev-libs/cyrus-sasl )
- libedit? ( dev-libs/libedit )
- lmdb? ( dev-db/lmdb:= )
- mssql? ( dev-db/freetds[mssql] )
- nls? ( sys-devel/gettext )
- oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
- odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
- postgres? ( dev-db/postgresql:* )
- qdbm? ( dev-db/qdbm )
- readline? ( sys-libs/readline:0= )
- session-mm? ( dev-libs/mm )
- snmp? ( >=net-analyzer/net-snmp-5.2 )
- sodium? ( dev-libs/libsodium:=[-minimal] )
- spell? ( >=app-text/aspell-0.50 )
- sqlite? ( >=dev-db/sqlite-3.7.6.3 )
- ssl? ( >=dev-libs/openssl-1.0.1:0= )
- tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
- tokyocabinet? ( dev-db/tokyocabinet )
- truetype? ( =media-libs/freetype-2* )
- unicode? ( dev-libs/oniguruma:= )
- webp? ( media-libs/libwebp:0= )
- xml? ( >=dev-libs/libxml2-2.7.6 )
- xpm? ( x11-libs/libXpm )
- xslt? ( dev-libs/libxslt )
- zip? ( >=dev-libs/libzip-1.2.0:= )
- zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/mta
- fpm? (
- selinux? ( sec-policy/selinux-phpfpm )
- systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- >=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-PHP_MV="$(ver_cut 1)"
-
-PATCHES=(
- "${FILESDIR}"/php-iodbc-header-location.patch
-)
-
-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
-
- 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 "../ext/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'
-
- # Emulate buildconf to support cross-compilation
- rm -fr aclocal.m4 autom4te.cache config.cache \
- configure main/php_config.h.in || die
- eautoconf --force
- eautoheader
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
- # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
- # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
- local our_conf=(
- --prefix="${PHP_DESTDIR}"
- --mandir="${PHP_DESTDIR}/man"
- --infodir="${PHP_DESTDIR}/info"
- --libdir="${PHP_DESTDIR}/lib"
- --with-libdir="$(get_libdir)"
- --localstatedir="${EPREFIX}/var"
- --without-pear
- $(use_enable threads maintainer-zts)
- )
-
- our_conf+=(
- $(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_enable bcmath)
- $(use_with bzip2 bz2 "${EPREFIX}/usr")
- $(use_enable calendar)
- $(use_enable coverage gcov)
- $(use_enable ctype)
- $(use_with curl)
- $(use_enable xml dom)
- $(use_with enchant)
- $(use_enable exif)
- $(use_with ffi)
- $(use_enable fileinfo)
- $(use_enable filter)
- $(use_enable ftp)
- $(use_with nls gettext "${EPREFIX}/usr")
- $(use_with gmp gmp "${EPREFIX}/usr")
- $(use_with mhash mhash "${EPREFIX}/usr")
- $(use_with iconv iconv \
- $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
- $(use_enable intl)
- $(use_enable ipv6)
- $(use_enable json)
- $(use_with kerberos)
- $(use_with xml libxml)
- $(use_enable unicode mbstring)
- $(use_with ssl openssl)
- $(use_enable pcntl)
- $(use_enable phar)
- $(use_enable pdo)
- $(use_enable opcache)
- $(use_with postgres pgsql "${EPREFIX}/usr")
- $(use_enable posix)
- $(use_with spell pspell "${EPREFIX}/usr")
- $(use_enable simplexml)
- $(use_enable sharedmem shmop)
- $(use_with snmp snmp "${EPREFIX}/usr")
- $(use_enable soap)
- $(use_enable sockets)
- $(use_with sodium)
- $(use_with sqlite sqlite3)
- $(use_enable sysvipc sysvmsg)
- $(use_enable sysvipc sysvsem)
- $(use_enable sysvipc sysvshm)
- $(use_with tidy tidy "${EPREFIX}/usr")
- $(use_enable tokenizer)
- $(use_enable xml)
- $(use_enable xmlreader)
- $(use_enable xmlwriter)
- $(use_with xmlrpc)
- $(use_with xslt xsl)
- $(use_with zip)
- $(use_with zlib zlib "${EPREFIX}/usr")
- $(use_enable debug)
- )
-
- # DBA support
- if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
- || use qdbm || use lmdb || use tokyocabinet ; then
- our_conf+=( "--enable-dba" )
- fi
-
- # DBA drivers support
- our_conf+=(
- $(use_with cdb)
- $(use_with berkdb db4 "${EPREFIX}/usr")
- $(use_enable flatfile)
- $(use_with gdbm gdbm "${EPREFIX}/usr")
- $(use_enable inifile)
- $(use_with qdbm qdbm "${EPREFIX}/usr")
- $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
- $(use_with lmdb lmdb "${EPREFIX}/usr")
- )
-
- # Support for the GD graphics library
- our_conf+=(
- $(use_with truetype freetype)
- $(use_enable cjk gd-jis-conv)
- $(use_with gd jpeg)
- $(use_with xpm)
- $(use_with webp)
- )
- # enable gd last, so configure can pick up the previous settings
- our_conf+=( $(use_enable gd) )
-
- # IMAP support
- if use imap ; then
- our_conf+=(
- $(use_with imap imap "${EPREFIX}/usr")
- $(use_with ssl imap-ssl "${EPREFIX}/usr")
- )
- fi
-
- # LDAP support
- if use ldap ; then
- our_conf+=(
- $(use_with ldap ldap "${EPREFIX}/usr")
- $(use_with ldap-sasl)
- )
- fi
-
- # MySQL support
- local mysqllib="mysqlnd"
- local mysqlilib="mysqlnd"
-
- our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
- local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
- if use mysql || use mysqli ; then
- our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
- fi
-
- # ODBC support
- if use odbc && use iodbc ; then
- our_conf+=(
- --without-unixODBC
- --with-iodbc
- $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
- )
- elif use odbc ; then
- our_conf+=(
- --with-unixODBC="${EPREFIX}/usr"
- --without-iodbc
- $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
- )
- else
- our_conf+=(
- --without-unixODBC
- --without-iodbc
- --without-pdo-odbc
- )
- fi
-
- # Oracle support
- our_conf+=( $(use_with oci8-instant-client oci8) )
-
- # PDO support
- if use pdo ; then
- our_conf+=(
- $(use_with mssql pdo-dblib "${EPREFIX}/usr")
- $(use_with mysql pdo-mysql "${mysqllib}")
- $(use_with postgres pdo-pgsql)
- $(use_with sqlite pdo-sqlite)
- $(use_with firebird pdo-firebird "${EPREFIX}/usr")
- $(use_with oci8-instant-client pdo-oci)
- )
- fi
-
- # readline/libedit support
- our_conf+=(
- $(use_with readline readline "${EPREFIX}/usr")
- $(use_with libedit)
- )
-
- # Session support
- if use session ; then
- our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
- else
- our_conf+=( $(use_enable session) )
- fi
-
- # Use pic for shared modules such as apache2's mod_php
- our_conf+=( --with-pic )
-
- # we use the system copy of pcre
- # --with-external-pcre affects ext/pcre
- our_conf+=(
- --with-external-pcre
- $(use_with jit pcre-jit)
- )
-
- # Catch CFLAGS problems
- # Fixes bug #14067.
- # Changed order to run it in reverse for bug #32022 and #12021.
- replace-cpu-flags "k6*" "i586"
-
- # Cache the ./configure test results between SAPIs.
- our_conf+=( --cache-file="${T}/config.cache" )
-
- # Support user-passed configuration parameters
- our_conf+=( ${EXTRA_ECONF:-} )
-
- # Support the Apache2 extras, they must be set globally for all
- # SAPIs to work correctly, especially for external PHP extensions
-
- local one_sapi
- local sapi
- mkdir -p "${WORKDIR}/sapis-build" || die
- for one_sapi in $SAPIS ; do
- use "${one_sapi}" || continue
- php_set_ini_dir "${one_sapi}"
-
- # The BUILD_DIR variable is used to determine where to output
- # the files that autotools creates. This was all originally
- # based on the autotools-utils eclass.
- BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
- cp -a "${S}" "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- local sapi_conf=(
- --with-config-file-path="${PHP_INI_DIR}"
- --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
- )
-
- for sapi in $SAPIS ; do
- case "$sapi" in
- cli|cgi|embed|fpm|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- if [[ "fpm" == "${sapi}" ]] ; then
- sapi_conf+=(
- $(use_with acl fpm-acl)
- $(use_with systemd fpm-systemd)
- )
- fi
- else
- sapi_conf+=( "--disable-${sapi}" )
- fi
- ;;
-
- apache2)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
- else
- sapi_conf+=( --without-apxs2 )
- fi
- ;;
- esac
- done
-
- # Construct the $myeconfargs array by concatenating $our_conf
- # (the common args) and $sapi_conf (the SAPI-specific args).
- local myeconfargs=( "${our_conf[@]}" )
- myeconfargs+=( "${sapi_conf[@]}" )
-
- pushd "${BUILD_DIR}" > /dev/null || die
- econf "${myeconfargs[@]}"
- popd > /dev/null || die
- done
-}
-
-src_compile() {
- # snmp seems to run during src_compile, too (bug #324739)
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- local sapi
- for sapi in ${SAPIS} ; do
- if use "${sapi}"; then
- cd "${WORKDIR}/sapis-build/$sapi" || \
- die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
- emake
- fi
- done
-}
-
-src_install() {
- # see bug #324739 for what happens when we don't have that
- addpredict /usr/share/snmp/mibs/.index #nowarn
-
- # grab the first SAPI that got built and install common files from there
- local first_sapi="", 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 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"
- # Install the "phar" archive utility.
- if use phar ; then
- emake INSTALL_ROOT="${D}" install-pharcmd
- dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
- fi
- ;;
- 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#/usr}/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
- local m
- for m in ${SAPIS}; do
- [[ ${m} == 'embed' ]] && continue;
- if use $m ; then
- local ci=$(eselect php show $m)
- if [[ -z $ci ]]; then
- eselect php set $m php${SLOT} || die
- einfo "Switched ${m} to use php:${SLOT}"
- einfo
- elif [[ $ci != "php${SLOT}" ]] ; then
- elog "To switch $m to use php:${SLOT}, run"
- elog " eselect php set $m php${SLOT}"
- elog
- fi
- fi
- done
-
- # Remove dead symlinks for SAPIs that were just disabled. For
- # example, if the user has the cgi SAPI enabled, then he has an
- # eselect-php symlink for it. If he later reinstalls PHP with
- # USE="-cgi", that symlink will break. This call to eselect is
- # supposed to remove that dead link per bug 572436.
- eselect php cleanup || die
-
- if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
- elog "To build extensions for this version of PHP, you will need to"
- elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
- elog
- fi
-
- # Warn about the removal of PHP_INI_VERSION if the user has it set.
- if [[ -n "${PHP_INI_VERSION}" ]]; then
- ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
- ewarn 'remove it from your configuration at your convenience. See'
- ewarn
- ewarn ' https://bugs.gentoo.org/611214'
- ewarn
- ewarn 'for more information.'
- fi
-
- elog "For details on how version slotting works, please see"
- elog "the wiki:"
- elog
- elog " https://wiki.gentoo.org/wiki/PHP"
- elog
-}
-
-pkg_postrm() {
- # This serves two purposes. First, if we have just removed the last
- # installed version of PHP, then this will remove any dead symlinks
- # belonging to eselect-php. Second, if a user upgrades slots from
- # (say) 5.6 to 7.0 and depcleans the old slot, then this will update
- # his existing symlinks to point to the new 7.0 installation. The
- # latter is bug 432962.
- #
- # Note: the eselect-php package may not be installed at this point,
- # so we can't die() if this command fails.
- eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.4.23.ebuild b/dev-lang/php/php-7.4.23.ebuild
deleted file mode 100644
index aadecf63e45e..000000000000
--- a/dev-lang/php/php-7.4.23.ebuild
+++ /dev/null
@@ -1,750 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-WANT_AUTOMAKE="none"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/RC}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
- BSD
- Zend-2.0
- bcmath? ( LGPL-2.1+ )
- fpm? ( BSD-2 )
- gd? ( gd )
- unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
- ${SAPIS/cli/+cli}
- threads"
-
-IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
- coverage +ctype curl debug
- enchant exif ffi +fileinfo +filter firebird
- +flatfile ftp gd gdbm gmp +iconv imap inifile
- intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb
- mhash mssql mysql mysqli nls
- oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
- readline selinux +session session-mm sharedmem
- +simplexml snmp soap sockets sodium spell sqlite ssl
- sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
- +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-# The Oracle instant client provides its own incompatible ldap library.
-REQUIRED_USE="
- || ( cli cgi fpm apache2 embed phpdbg )
- cli? ( ^^ ( readline libedit ) )
- !cli? ( ?? ( readline libedit ) )
- truetype? ( gd zlib )
- webp? ( gd zlib )
- cjk? ( gd zlib )
- exif? ( gd zlib )
- xpm? ( gd zlib )
- gd? ( zlib )
- simplexml? ( xml )
- soap? ( xml )
- xmlrpc? ( xml iconv )
- xmlreader? ( xml )
- xmlwriter? ( xml )
- xslt? ( xml )
- ldap-sasl? ( ldap )
- oci8-instant-client? ( !ldap )
- qdbm? ( !gdbm )
- session-mm? ( session !threads )
- mysql? ( || ( mysqli pdo ) )
- firebird? ( pdo )
- mssql? ( pdo )
-"
-
-RESTRICT="!test? ( test )"
-
-# The supported (that is, autodetected) versions of BDB are listed in
-# the ./configure script. Other versions *work*, but we need to stick to
-# the ones that can be detected to avoid a repeat of bug #564824.
-COMMON_DEPEND="
- >=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
- >=dev-libs/libpcre2-10.30[jit?,unicode]
- fpm? ( acl? ( sys-apps/acl ) )
- apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
- argon2? ( app-crypt/argon2:= )
- berkdb? ( || ( sys-libs/db:5.3
- sys-libs/db:5.1
- sys-libs/db:4.8
- sys-libs/db:4.7
- sys-libs/db:4.6
- sys-libs/db:4.5 ) )
- bzip2? ( app-arch/bzip2:0= )
- cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
- coverage? ( dev-util/lcov )
- curl? ( >=net-misc/curl-7.10.5 )
- enchant? ( <app-text/enchant-2.0:0 )
- ffi? ( >=dev-libs/libffi-3.0.11:= )
- firebird? ( dev-db/firebird )
- gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
- gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
- gmp? ( dev-libs/gmp:0= )
- iconv? ( virtual/libiconv )
- imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
- intl? ( dev-libs/icu:= )
- kerberos? ( virtual/krb5 )
- ldap? ( >=net-nds/openldap-1.2.11 )
- ldap-sasl? ( dev-libs/cyrus-sasl )
- libedit? ( dev-libs/libedit )
- lmdb? ( dev-db/lmdb:= )
- mssql? ( dev-db/freetds[mssql] )
- nls? ( sys-devel/gettext )
- oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
- odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
- postgres? ( dev-db/postgresql:* )
- qdbm? ( dev-db/qdbm )
- readline? ( sys-libs/readline:0= )
- session-mm? ( dev-libs/mm )
- snmp? ( >=net-analyzer/net-snmp-5.2 )
- sodium? ( dev-libs/libsodium:=[-minimal] )
- spell? ( >=app-text/aspell-0.50 )
- sqlite? ( >=dev-db/sqlite-3.7.6.3 )
- ssl? ( >=dev-libs/openssl-1.0.1:0= )
- tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
- tokyocabinet? ( dev-db/tokyocabinet )
- truetype? ( =media-libs/freetype-2* )
- unicode? ( dev-libs/oniguruma:= )
- webp? ( media-libs/libwebp:0= )
- xml? ( >=dev-libs/libxml2-2.7.6 )
- xpm? ( x11-libs/libXpm )
- xslt? ( dev-libs/libxslt )
- zip? ( >=dev-libs/libzip-1.2.0:= )
- zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/mta
- fpm? (
- selinux? ( sec-policy/selinux-phpfpm )
- systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- >=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-PHP_MV="$(ver_cut 1)"
-
-PATCHES=(
- "${FILESDIR}"/php-iodbc-header-location.patch
-)
-
-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
-
- 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 "../ext/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'
-
- # Emulate buildconf to support cross-compilation
- rm -fr aclocal.m4 autom4te.cache config.cache \
- configure main/php_config.h.in || die
- eautoconf --force
- eautoheader
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
- # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
- # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
- local our_conf=(
- --prefix="${PHP_DESTDIR}"
- --mandir="${PHP_DESTDIR}/man"
- --infodir="${PHP_DESTDIR}/info"
- --libdir="${PHP_DESTDIR}/lib"
- --with-libdir="$(get_libdir)"
- --localstatedir="${EPREFIX}/var"
- --without-pear
- $(use_enable threads maintainer-zts)
- )
-
- our_conf+=(
- $(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_enable bcmath)
- $(use_with bzip2 bz2 "${EPREFIX}/usr")
- $(use_enable calendar)
- $(use_enable coverage gcov)
- $(use_enable ctype)
- $(use_with curl)
- $(use_enable xml dom)
- $(use_with enchant)
- $(use_enable exif)
- $(use_with ffi)
- $(use_enable fileinfo)
- $(use_enable filter)
- $(use_enable ftp)
- $(use_with nls gettext "${EPREFIX}/usr")
- $(use_with gmp gmp "${EPREFIX}/usr")
- $(use_with mhash mhash "${EPREFIX}/usr")
- $(use_with iconv iconv \
- $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
- $(use_enable intl)
- $(use_enable ipv6)
- $(use_enable json)
- $(use_with kerberos)
- $(use_with xml libxml)
- $(use_enable unicode mbstring)
- $(use_with ssl openssl)
- $(use_enable pcntl)
- $(use_enable phar)
- $(use_enable pdo)
- $(use_enable opcache)
- $(use_with postgres pgsql "${EPREFIX}/usr")
- $(use_enable posix)
- $(use_with spell pspell "${EPREFIX}/usr")
- $(use_enable simplexml)
- $(use_enable sharedmem shmop)
- $(use_with snmp snmp "${EPREFIX}/usr")
- $(use_enable soap)
- $(use_enable sockets)
- $(use_with sodium)
- $(use_with sqlite sqlite3)
- $(use_enable sysvipc sysvmsg)
- $(use_enable sysvipc sysvsem)
- $(use_enable sysvipc sysvshm)
- $(use_with tidy tidy "${EPREFIX}/usr")
- $(use_enable tokenizer)
- $(use_enable xml)
- $(use_enable xmlreader)
- $(use_enable xmlwriter)
- $(use_with xmlrpc)
- $(use_with xslt xsl)
- $(use_with zip)
- $(use_with zlib zlib "${EPREFIX}/usr")
- $(use_enable debug)
- )
-
- # DBA support
- if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
- || use qdbm || use lmdb || use tokyocabinet ; then
- our_conf+=( "--enable-dba" )
- fi
-
- # DBA drivers support
- our_conf+=(
- $(use_with cdb)
- $(use_with berkdb db4 "${EPREFIX}/usr")
- $(use_enable flatfile)
- $(use_with gdbm gdbm "${EPREFIX}/usr")
- $(use_enable inifile)
- $(use_with qdbm qdbm "${EPREFIX}/usr")
- $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
- $(use_with lmdb lmdb "${EPREFIX}/usr")
- )
-
- # Support for the GD graphics library
- our_conf+=(
- $(use_with truetype freetype)
- $(use_enable cjk gd-jis-conv)
- $(use_with gd jpeg)
- $(use_with xpm)
- $(use_with webp)
- )
- # enable gd last, so configure can pick up the previous settings
- our_conf+=( $(use_enable gd) )
-
- # IMAP support
- if use imap ; then
- our_conf+=(
- $(use_with imap imap "${EPREFIX}/usr")
- $(use_with ssl imap-ssl "${EPREFIX}/usr")
- )
- fi
-
- # LDAP support
- if use ldap ; then
- our_conf+=(
- $(use_with ldap ldap "${EPREFIX}/usr")
- $(use_with ldap-sasl)
- )
- fi
-
- # MySQL support
- local mysqllib="mysqlnd"
- local mysqlilib="mysqlnd"
-
- our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
- local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
- if use mysql || use mysqli ; then
- our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
- fi
-
- # ODBC support
- if use odbc && use iodbc ; then
- our_conf+=(
- --without-unixODBC
- --with-iodbc
- $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
- )
- elif use odbc ; then
- our_conf+=(
- --with-unixODBC="${EPREFIX}/usr"
- --without-iodbc
- $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
- )
- else
- our_conf+=(
- --without-unixODBC
- --without-iodbc
- --without-pdo-odbc
- )
- fi
-
- # Oracle support
- our_conf+=( $(use_with oci8-instant-client oci8) )
-
- # PDO support
- if use pdo ; then
- our_conf+=(
- $(use_with mssql pdo-dblib "${EPREFIX}/usr")
- $(use_with mysql pdo-mysql "${mysqllib}")
- $(use_with postgres pdo-pgsql)
- $(use_with sqlite pdo-sqlite)
- $(use_with firebird pdo-firebird "${EPREFIX}/usr")
- $(use_with oci8-instant-client pdo-oci)
- )
- fi
-
- # readline/libedit support
- our_conf+=(
- $(use_with readline readline "${EPREFIX}/usr")
- $(use_with libedit)
- )
-
- # Session support
- if use session ; then
- our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
- else
- our_conf+=( $(use_enable session) )
- fi
-
- # Use pic for shared modules such as apache2's mod_php
- our_conf+=( --with-pic )
-
- # we use the system copy of pcre
- # --with-external-pcre affects ext/pcre
- our_conf+=(
- --with-external-pcre
- $(use_with jit pcre-jit)
- )
-
- # Catch CFLAGS problems
- # Fixes bug #14067.
- # Changed order to run it in reverse for bug #32022 and #12021.
- replace-cpu-flags "k6*" "i586"
-
- # Cache the ./configure test results between SAPIs.
- our_conf+=( --cache-file="${T}/config.cache" )
-
- # Support user-passed configuration parameters
- our_conf+=( ${EXTRA_ECONF:-} )
-
- # Support the Apache2 extras, they must be set globally for all
- # SAPIs to work correctly, especially for external PHP extensions
-
- local one_sapi
- local sapi
- mkdir -p "${WORKDIR}/sapis-build" || die
- for one_sapi in $SAPIS ; do
- use "${one_sapi}" || continue
- php_set_ini_dir "${one_sapi}"
-
- # The BUILD_DIR variable is used to determine where to output
- # the files that autotools creates. This was all originally
- # based on the autotools-utils eclass.
- BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
- cp -a "${S}" "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- local sapi_conf=(
- --with-config-file-path="${PHP_INI_DIR}"
- --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
- )
-
- for sapi in $SAPIS ; do
- case "$sapi" in
- cli|cgi|embed|fpm|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- if [[ "fpm" == "${sapi}" ]] ; then
- sapi_conf+=(
- $(use_with acl fpm-acl)
- $(use_with systemd fpm-systemd)
- )
- fi
- else
- sapi_conf+=( "--disable-${sapi}" )
- fi
- ;;
-
- apache2)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
- else
- sapi_conf+=( --without-apxs2 )
- fi
- ;;
- esac
- done
-
- # Construct the $myeconfargs array by concatenating $our_conf
- # (the common args) and $sapi_conf (the SAPI-specific args).
- local myeconfargs=( "${our_conf[@]}" )
- myeconfargs+=( "${sapi_conf[@]}" )
-
- pushd "${BUILD_DIR}" > /dev/null || die
- econf "${myeconfargs[@]}"
- popd > /dev/null || die
- done
-}
-
-src_compile() {
- # snmp seems to run during src_compile, too (bug #324739)
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- local sapi
- for sapi in ${SAPIS} ; do
- if use "${sapi}"; then
- cd "${WORKDIR}/sapis-build/$sapi" || \
- die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
- emake
- fi
- done
-}
-
-src_install() {
- # see bug #324739 for what happens when we don't have that
- addpredict /usr/share/snmp/mibs/.index #nowarn
-
- # grab the first SAPI that got built and install common files from there
- local first_sapi="", 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 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"
- # Install the "phar" archive utility.
- if use phar ; then
- emake INSTALL_ROOT="${D}" install-pharcmd
- dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
- fi
- ;;
- 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#/usr}/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
- local m
- for m in ${SAPIS}; do
- [[ ${m} == 'embed' ]] && continue;
- if use $m ; then
- local ci=$(eselect php show $m)
- if [[ -z $ci ]]; then
- eselect php set $m php${SLOT} || die
- einfo "Switched ${m} to use php:${SLOT}"
- einfo
- elif [[ $ci != "php${SLOT}" ]] ; then
- elog "To switch $m to use php:${SLOT}, run"
- elog " eselect php set $m php${SLOT}"
- elog
- fi
- fi
- done
-
- # Remove dead symlinks for SAPIs that were just disabled. For
- # example, if the user has the cgi SAPI enabled, then he has an
- # eselect-php symlink for it. If he later reinstalls PHP with
- # USE="-cgi", that symlink will break. This call to eselect is
- # supposed to remove that dead link per bug 572436.
- eselect php cleanup || die
-
- if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
- elog "To build extensions for this version of PHP, you will need to"
- elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
- elog
- fi
-
- # Warn about the removal of PHP_INI_VERSION if the user has it set.
- if [[ -n "${PHP_INI_VERSION}" ]]; then
- ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
- ewarn 'remove it from your configuration at your convenience. See'
- ewarn
- ewarn ' https://bugs.gentoo.org/611214'
- ewarn
- ewarn 'for more information.'
- fi
-
- elog "For details on how version slotting works, please see"
- elog "the wiki:"
- elog
- elog " https://wiki.gentoo.org/wiki/PHP"
- elog
-}
-
-pkg_postrm() {
- # This serves two purposes. First, if we have just removed the last
- # installed version of PHP, then this will remove any dead symlinks
- # belonging to eselect-php. Second, if a user upgrades slots from
- # (say) 5.6 to 7.0 and depcleans the old slot, then this will update
- # his existing symlinks to point to the new 7.0 installation. The
- # latter is bug 432962.
- #
- # Note: the eselect-php package may not be installed at this point,
- # so we can't die() if this command fails.
- eselect php cleanup
-}
diff --git a/dev-lang/php/php-7.4.24.ebuild b/dev-lang/php/php-7.4.24.ebuild
index a79ca83e258b..04b3de5679e3 100644
--- a/dev-lang/php/php-7.4.24.ebuild
+++ b/dev-lang/php/php-7.4.24.ebuild
@@ -21,7 +21,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
diff --git a/dev-lang/php/php-8.0.10.ebuild b/dev-lang/php/php-8.0.10.ebuild
deleted file mode 100644
index 79938681cad2..000000000000
--- a/dev-lang/php/php-8.0.10.ebuild
+++ /dev/null
@@ -1,749 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-WANT_AUTOMAKE="none"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/rc}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
- BSD
- Zend-2.0
- bcmath? ( LGPL-2.1+ )
- fpm? ( BSD-2 )
- gd? ( gd )
- unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
- ${SAPIS/cli/+cli}
- threads"
-
-IUSE="${IUSE} acl apparmor argon2 bcmath berkdb bzip2 calendar cdb cjk
- coverage +ctype curl debug
- enchant exif ffi +fileinfo +filter firebird
- +flatfile ftp gd gdbm gmp +iconv imap inifile
- intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb
- mhash mssql mysql mysqli nls
- oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
- readline selinux +session session-mm sharedmem
- +simplexml snmp soap sockets sodium spell sqlite ssl
- sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
- +xml xmlreader xmlwriter xpm xslt zip zlib"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-# The Oracle instant client provides its own incompatible ldap library.
-REQUIRED_USE="
- || ( cli cgi fpm apache2 embed phpdbg )
- cli? ( ^^ ( readline libedit ) )
- !cli? ( ?? ( readline libedit ) )
- truetype? ( gd zlib )
- webp? ( gd zlib )
- cjk? ( gd zlib )
- exif? ( gd zlib )
- xpm? ( gd zlib )
- gd? ( zlib )
- simplexml? ( xml )
- soap? ( xml )
- xmlreader? ( xml )
- xmlwriter? ( xml )
- xslt? ( xml )
- ldap-sasl? ( ldap )
- oci8-instant-client? ( !ldap )
- qdbm? ( !gdbm )
- session-mm? ( session !threads )
- mysql? ( || ( mysqli pdo ) )
- firebird? ( pdo )
- mssql? ( pdo )
-"
-
-RESTRICT="!test? ( test )"
-
-# 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.7[apache2?,fpm?]
- >=dev-libs/libpcre2-10.30[jit?,unicode]
- fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) )
- apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
- argon2? ( app-crypt/argon2:= )
- berkdb? ( || ( sys-libs/db:5.3
- sys-libs/db:5.1
- sys-libs/db:4.8
- sys-libs/db:4.7
- sys-libs/db:4.6
- sys-libs/db:4.5 ) )
- bzip2? ( app-arch/bzip2:0= )
- cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
- coverage? ( dev-util/lcov )
- curl? ( >=net-misc/curl-7.29.0 )
- enchant? ( app-text/enchant:2 )
- ffi? ( >=dev-libs/libffi-3.0.11:= )
- firebird? ( dev-db/firebird )
- gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
- gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
- gmp? ( dev-libs/gmp:0= )
- iconv? ( virtual/libiconv )
- imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
- intl? ( dev-libs/icu:= )
- kerberos? ( virtual/krb5 )
- ldap? ( >=net-nds/openldap-1.2.11 )
- ldap-sasl? ( dev-libs/cyrus-sasl )
- libedit? ( dev-libs/libedit )
- lmdb? ( dev-db/lmdb:= )
- mssql? ( dev-db/freetds[mssql] )
- nls? ( sys-devel/gettext )
- oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
- odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
- postgres? ( >=dev-db/postgresql-9.1:* )
- qdbm? ( dev-db/qdbm )
- readline? ( sys-libs/readline:0= )
- session-mm? ( dev-libs/mm )
- snmp? ( >=net-analyzer/net-snmp-5.2 )
- sodium? ( dev-libs/libsodium:=[-minimal] )
- spell? ( >=app-text/aspell-0.50 )
- sqlite? ( >=dev-db/sqlite-3.7.6.3 )
- ssl? ( >=dev-libs/openssl-1.0.1:0= )
- tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
- tokyocabinet? ( dev-db/tokyocabinet )
- truetype? ( =media-libs/freetype-2* )
- unicode? ( dev-libs/oniguruma:= )
- webp? ( media-libs/libwebp:0= )
- xml? ( >=dev-libs/libxml2-2.9.0 )
- xpm? ( x11-libs/libXpm )
- xslt? ( dev-libs/libxslt )
- zip? ( >=dev-libs/libzip-1.2.0:= )
- zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/mta
- fpm? (
- selinux? ( sec-policy/selinux-phpfpm )
- systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- >=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-PHP_MV="$(ver_cut 1)"
-
-PATCHES=(
- "${FILESDIR}/php-iodbc-header-location.patch"
- "${FILESDIR}/php80-firebird-warnings.patch"
-)
-
-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
-
- 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 "../ext/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'
-
- # Emulate buildconf to support cross-compilation
- rm -fr aclocal.m4 autom4te.cache config.cache \
- configure main/php_config.h.in || die
- eautoconf --force
- eautoheader
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
- # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
- # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
- local our_conf=(
- --prefix="${PHP_DESTDIR}"
- --mandir="${PHP_DESTDIR}/man"
- --infodir="${PHP_DESTDIR}/info"
- --libdir="${PHP_DESTDIR}/lib"
- --with-libdir="$(get_libdir)"
- --localstatedir="${EPREFIX}/var"
- --without-pear
- $(use_enable threads zts)
- )
-
- our_conf+=(
- $(use_with apparmor fpm-apparmor)
- $(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_enable bcmath)
- $(use_with bzip2 bz2 "${EPREFIX}/usr")
- $(use_enable calendar)
- $(use_enable coverage gcov)
- $(use_enable ctype)
- $(use_with curl)
- $(use_enable xml dom)
- $(use_with enchant)
- $(use_enable exif)
- $(use_with ffi)
- $(use_enable fileinfo)
- $(use_enable filter)
- $(use_enable ftp)
- $(use_with nls gettext "${EPREFIX}/usr")
- $(use_with gmp gmp "${EPREFIX}/usr")
- $(use_with mhash mhash "${EPREFIX}/usr")
- $(use_with iconv iconv \
- $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
- $(use_enable intl)
- $(use_enable ipv6)
- $(use_with kerberos)
- $(use_with xml libxml)
- $(use_enable unicode mbstring)
- $(use_with ssl openssl)
- $(use_enable pcntl)
- $(use_enable phar)
- $(use_enable pdo)
- $(use_enable opcache)
- $(use_with postgres pgsql "${EPREFIX}/usr")
- $(use_enable posix)
- $(use_with spell pspell "${EPREFIX}/usr")
- $(use_enable simplexml)
- $(use_enable sharedmem shmop)
- $(use_with snmp snmp "${EPREFIX}/usr")
- $(use_enable soap)
- $(use_enable sockets)
- $(use_with sodium)
- $(use_with sqlite sqlite3)
- $(use_enable sysvipc sysvmsg)
- $(use_enable sysvipc sysvsem)
- $(use_enable sysvipc sysvshm)
- $(use_with tidy tidy "${EPREFIX}/usr")
- $(use_enable tokenizer)
- $(use_enable xml)
- $(use_enable xmlreader)
- $(use_enable xmlwriter)
- $(use_with xslt xsl)
- $(use_with zip)
- $(use_with zlib zlib "${EPREFIX}/usr")
- $(use_enable debug)
- )
-
- # DBA support
- if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
- || use qdbm || use lmdb || use tokyocabinet ; then
- our_conf+=( "--enable-dba" )
- fi
-
- # DBA drivers support
- our_conf+=(
- $(use_with cdb)
- $(use_with berkdb db4 "${EPREFIX}/usr")
- $(use_enable flatfile)
- $(use_with gdbm gdbm "${EPREFIX}/usr")
- $(use_enable inifile)
- $(use_with qdbm qdbm "${EPREFIX}/usr")
- $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
- $(use_with lmdb lmdb "${EPREFIX}/usr")
- )
-
- # Support for the GD graphics library
- our_conf+=(
- $(use_with truetype freetype)
- $(use_enable cjk gd-jis-conv)
- $(use_with gd jpeg)
- $(use_with xpm)
- $(use_with webp)
- )
- # enable gd last, so configure can pick up the previous settings
- our_conf+=( $(use_enable gd) )
-
- # IMAP support
- if use imap ; then
- our_conf+=(
- $(use_with imap imap "${EPREFIX}/usr")
- $(use_with ssl imap-ssl "${EPREFIX}/usr")
- )
- fi
-
- # LDAP support
- if use ldap ; then
- our_conf+=(
- $(use_with ldap ldap "${EPREFIX}/usr")
- $(use_with ldap-sasl)
- )
- fi
-
- # MySQL support
- local mysqllib="mysqlnd"
- local mysqlilib="mysqlnd"
-
- our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
- local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
- if use mysql || use mysqli ; then
- our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
- fi
-
- # ODBC support
- if use odbc && use iodbc ; then
- our_conf+=(
- --without-unixODBC
- --with-iodbc
- $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
- )
- elif use odbc ; then
- our_conf+=(
- --with-unixODBC="${EPREFIX}/usr"
- --without-iodbc
- $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
- )
- else
- our_conf+=(
- --without-unixODBC
- --without-iodbc
- --without-pdo-odbc
- )
- fi
-
- # Oracle support
- our_conf+=( $(use_with oci8-instant-client oci8) )
-
- # PDO support
- if use pdo ; then
- our_conf+=(
- $(use_with mssql pdo-dblib "${EPREFIX}/usr")
- $(use_with mysql pdo-mysql "${mysqllib}")
- $(use_with postgres pdo-pgsql)
- $(use_with sqlite pdo-sqlite)
- $(use_with firebird pdo-firebird "${EPREFIX}/usr")
- $(use_with oci8-instant-client pdo-oci)
- )
- fi
-
- # readline/libedit support
- our_conf+=(
- $(use_with readline readline "${EPREFIX}/usr")
- $(use_with libedit)
- )
-
- # Session support
- if use session ; then
- our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
- else
- our_conf+=( $(use_enable session) )
- fi
-
- # Use pic for shared modules such as apache2's mod_php
- our_conf+=( --with-pic )
-
- # we use the system copy of pcre
- # --with-external-pcre affects ext/pcre
- our_conf+=(
- --with-external-pcre
- $(use_with jit pcre-jit)
- )
-
- # Catch CFLAGS problems
- # Fixes bug #14067.
- # Changed order to run it in reverse for bug #32022 and #12021.
- replace-cpu-flags "k6*" "i586"
-
- # Cache the ./configure test results between SAPIs.
- our_conf+=( --cache-file="${T}/config.cache" )
-
- # Support user-passed configuration parameters
- our_conf+=( ${EXTRA_ECONF:-} )
-
- # Support the Apache2 extras, they must be set globally for all
- # SAPIs to work correctly, especially for external PHP extensions
-
- local one_sapi
- local sapi
- mkdir -p "${WORKDIR}/sapis-build" || die
- for one_sapi in $SAPIS ; do
- use "${one_sapi}" || continue
- php_set_ini_dir "${one_sapi}"
-
- # The BUILD_DIR variable is used to determine where to output
- # the files that autotools creates. This was all originally
- # based on the autotools-utils eclass.
- BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
- cp -a "${S}" "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- local sapi_conf=(
- --with-config-file-path="${PHP_INI_DIR}"
- --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
- )
-
- for sapi in $SAPIS ; do
- case "$sapi" in
- cli|cgi|embed|fpm|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- if [[ "fpm" == "${sapi}" ]] ; then
- sapi_conf+=(
- $(use_with acl fpm-acl)
- $(use_with systemd fpm-systemd)
- )
- fi
- else
- sapi_conf+=( "--disable-${sapi}" )
- fi
- ;;
-
- apache2)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
- else
- sapi_conf+=( --without-apxs2 )
- fi
- ;;
- esac
- done
-
- # Construct the $myeconfargs array by concatenating $our_conf
- # (the common args) and $sapi_conf (the SAPI-specific args).
- local myeconfargs=( "${our_conf[@]}" )
- myeconfargs+=( "${sapi_conf[@]}" )
-
- pushd "${BUILD_DIR}" > /dev/null || die
- econf "${myeconfargs[@]}"
- popd > /dev/null || die
- done
-}
-
-src_compile() {
- # snmp seems to run during src_compile, too (bug #324739)
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- local sapi
- for sapi in ${SAPIS} ; do
- if use "${sapi}"; then
- cd "${WORKDIR}/sapis-build/$sapi" || \
- die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
- emake
- fi
- done
-}
-
-src_install() {
- # see bug #324739 for what happens when we don't have that
- addpredict /usr/share/snmp/mibs/.index #nowarn
-
- # grab the first SAPI that got built and install common files from there
- local first_sapi="", 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 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$(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"
- # Install the "phar" archive utility.
- if use phar ; then
- emake INSTALL_ROOT="${D}" install-pharcmd
- dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
- fi
- ;;
- cgi)
- source="sapi/cgi/php-cgi"
- ;;
- fpm)
- source="sapi/fpm/php-fpm"
- ;;
- embed)
- source="libs/libphp$(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#/usr}/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
- local m
- 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-8.0.11.ebuild b/dev-lang/php/php-8.0.11.ebuild
index ccd597984fe1..df8ecdf6d705 100644
--- a/dev-lang/php/php-8.0.11.ebuild
+++ b/dev-lang/php/php-8.0.11.ebuild
@@ -21,7 +21,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
diff --git a/dev-lang/php/php-8.0.8-r2.ebuild b/dev-lang/php/php-8.0.8-r2.ebuild
deleted file mode 100644
index b602cca13124..000000000000
--- a/dev-lang/php/php-8.0.8-r2.ebuild
+++ /dev/null
@@ -1,749 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-WANT_AUTOMAKE="none"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/rc}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
- BSD
- Zend-2.0
- bcmath? ( LGPL-2.1+ )
- fpm? ( BSD-2 )
- gd? ( gd )
- unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
- ${SAPIS/cli/+cli}
- threads"
-
-IUSE="${IUSE} acl apparmor argon2 bcmath berkdb bzip2 calendar cdb cjk
- coverage +ctype curl debug
- enchant exif ffi +fileinfo +filter firebird
- +flatfile ftp gd gdbm gmp +iconv imap inifile
- intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb
- mhash mssql mysql mysqli nls
- oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
- readline selinux +session session-mm sharedmem
- +simplexml snmp soap sockets sodium spell sqlite ssl
- sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
- +xml xmlreader xmlwriter xpm xslt zip zlib"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-# The Oracle instant client provides its own incompatible ldap library.
-REQUIRED_USE="
- || ( cli cgi fpm apache2 embed phpdbg )
- cli? ( ^^ ( readline libedit ) )
- !cli? ( ?? ( readline libedit ) )
- truetype? ( gd zlib )
- webp? ( gd zlib )
- cjk? ( gd zlib )
- exif? ( gd zlib )
- xpm? ( gd zlib )
- gd? ( zlib )
- simplexml? ( xml )
- soap? ( xml )
- xmlreader? ( xml )
- xmlwriter? ( xml )
- xslt? ( xml )
- ldap-sasl? ( ldap )
- oci8-instant-client? ( !ldap )
- qdbm? ( !gdbm )
- session-mm? ( session !threads )
- mysql? ( || ( mysqli pdo ) )
- firebird? ( pdo )
- mssql? ( pdo )
-"
-
-RESTRICT="!test? ( test )"
-
-# 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.7[apache2?,fpm?]
- >=dev-libs/libpcre2-10.30[jit?,unicode]
- fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) )
- apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
- argon2? ( app-crypt/argon2:= )
- berkdb? ( || ( sys-libs/db:5.3
- sys-libs/db:5.1
- sys-libs/db:4.8
- sys-libs/db:4.7
- sys-libs/db:4.6
- sys-libs/db:4.5 ) )
- bzip2? ( app-arch/bzip2:0= )
- cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
- coverage? ( dev-util/lcov )
- curl? ( >=net-misc/curl-7.29.0 )
- enchant? ( app-text/enchant:2 )
- ffi? ( >=dev-libs/libffi-3.0.11:= )
- firebird? ( dev-db/firebird )
- gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
- gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
- gmp? ( dev-libs/gmp:0= )
- iconv? ( virtual/libiconv )
- imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
- intl? ( dev-libs/icu:= )
- kerberos? ( virtual/krb5 )
- ldap? ( >=net-nds/openldap-1.2.11 )
- ldap-sasl? ( dev-libs/cyrus-sasl )
- libedit? ( dev-libs/libedit )
- lmdb? ( dev-db/lmdb:= )
- mssql? ( dev-db/freetds[mssql] )
- nls? ( sys-devel/gettext )
- oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
- odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
- postgres? ( >=dev-db/postgresql-9.1:* )
- qdbm? ( dev-db/qdbm )
- readline? ( sys-libs/readline:0= )
- session-mm? ( dev-libs/mm )
- snmp? ( >=net-analyzer/net-snmp-5.2 )
- sodium? ( dev-libs/libsodium:=[-minimal] )
- spell? ( >=app-text/aspell-0.50 )
- sqlite? ( >=dev-db/sqlite-3.7.6.3 )
- ssl? ( >=dev-libs/openssl-1.0.1:0= )
- tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
- tokyocabinet? ( dev-db/tokyocabinet )
- truetype? ( =media-libs/freetype-2* )
- unicode? ( dev-libs/oniguruma:= )
- webp? ( media-libs/libwebp:0= )
- xml? ( >=dev-libs/libxml2-2.9.0 )
- xpm? ( x11-libs/libXpm )
- xslt? ( dev-libs/libxslt )
- zip? ( >=dev-libs/libzip-1.2.0:= )
- zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/mta
- fpm? (
- selinux? ( sec-policy/selinux-phpfpm )
- systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- >=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-PHP_MV="$(ver_cut 1)"
-
-PATCHES=(
- "${FILESDIR}/php-iodbc-header-location.patch"
- "${FILESDIR}/php80-firebird-warnings.patch"
-)
-
-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
-
- 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 "../ext/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'
-
- # Emulate buildconf to support cross-compilation
- rm -fr aclocal.m4 autom4te.cache config.cache \
- configure main/php_config.h.in || die
- eautoconf --force
- eautoheader
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
- # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
- # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
- local our_conf=(
- --prefix="${PHP_DESTDIR}"
- --mandir="${PHP_DESTDIR}/man"
- --infodir="${PHP_DESTDIR}/info"
- --libdir="${PHP_DESTDIR}/lib"
- --with-libdir="$(get_libdir)"
- --localstatedir="${EPREFIX}/var"
- --without-pear
- $(use_enable threads zts)
- )
-
- our_conf+=(
- $(use_with apparmor fpm-apparmor)
- $(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_enable bcmath)
- $(use_with bzip2 bz2 "${EPREFIX}/usr")
- $(use_enable calendar)
- $(use_enable coverage gcov)
- $(use_enable ctype)
- $(use_with curl)
- $(use_enable xml dom)
- $(use_with enchant)
- $(use_enable exif)
- $(use_with ffi)
- $(use_enable fileinfo)
- $(use_enable filter)
- $(use_enable ftp)
- $(use_with nls gettext "${EPREFIX}/usr")
- $(use_with gmp gmp "${EPREFIX}/usr")
- $(use_with mhash mhash "${EPREFIX}/usr")
- $(use_with iconv iconv \
- $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
- $(use_enable intl)
- $(use_enable ipv6)
- $(use_with kerberos)
- $(use_with xml libxml)
- $(use_enable unicode mbstring)
- $(use_with ssl openssl)
- $(use_enable pcntl)
- $(use_enable phar)
- $(use_enable pdo)
- $(use_enable opcache)
- $(use_with postgres pgsql "${EPREFIX}/usr")
- $(use_enable posix)
- $(use_with spell pspell "${EPREFIX}/usr")
- $(use_enable simplexml)
- $(use_enable sharedmem shmop)
- $(use_with snmp snmp "${EPREFIX}/usr")
- $(use_enable soap)
- $(use_enable sockets)
- $(use_with sodium)
- $(use_with sqlite sqlite3)
- $(use_enable sysvipc sysvmsg)
- $(use_enable sysvipc sysvsem)
- $(use_enable sysvipc sysvshm)
- $(use_with tidy tidy "${EPREFIX}/usr")
- $(use_enable tokenizer)
- $(use_enable xml)
- $(use_enable xmlreader)
- $(use_enable xmlwriter)
- $(use_with xslt xsl)
- $(use_with zip)
- $(use_with zlib zlib "${EPREFIX}/usr")
- $(use_enable debug)
- )
-
- # DBA support
- if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
- || use qdbm || use lmdb || use tokyocabinet ; then
- our_conf+=( "--enable-dba" )
- fi
-
- # DBA drivers support
- our_conf+=(
- $(use_with cdb)
- $(use_with berkdb db4 "${EPREFIX}/usr")
- $(use_enable flatfile)
- $(use_with gdbm gdbm "${EPREFIX}/usr")
- $(use_enable inifile)
- $(use_with qdbm qdbm "${EPREFIX}/usr")
- $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
- $(use_with lmdb lmdb "${EPREFIX}/usr")
- )
-
- # Support for the GD graphics library
- our_conf+=(
- $(use_with truetype freetype)
- $(use_enable cjk gd-jis-conv)
- $(use_with gd jpeg)
- $(use_with xpm)
- $(use_with webp)
- )
- # enable gd last, so configure can pick up the previous settings
- our_conf+=( $(use_enable gd) )
-
- # IMAP support
- if use imap ; then
- our_conf+=(
- $(use_with imap imap "${EPREFIX}/usr")
- $(use_with ssl imap-ssl "${EPREFIX}/usr")
- )
- fi
-
- # LDAP support
- if use ldap ; then
- our_conf+=(
- $(use_with ldap ldap "${EPREFIX}/usr")
- $(use_with ldap-sasl)
- )
- fi
-
- # MySQL support
- local mysqllib="mysqlnd"
- local mysqlilib="mysqlnd"
-
- our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
- local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
- if use mysql || use mysqli ; then
- our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
- fi
-
- # ODBC support
- if use odbc && use iodbc ; then
- our_conf+=(
- --without-unixODBC
- --with-iodbc
- $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
- )
- elif use odbc ; then
- our_conf+=(
- --with-unixODBC="${EPREFIX}/usr"
- --without-iodbc
- $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
- )
- else
- our_conf+=(
- --without-unixODBC
- --without-iodbc
- --without-pdo-odbc
- )
- fi
-
- # Oracle support
- our_conf+=( $(use_with oci8-instant-client oci8) )
-
- # PDO support
- if use pdo ; then
- our_conf+=(
- $(use_with mssql pdo-dblib "${EPREFIX}/usr")
- $(use_with mysql pdo-mysql "${mysqllib}")
- $(use_with postgres pdo-pgsql)
- $(use_with sqlite pdo-sqlite)
- $(use_with firebird pdo-firebird "${EPREFIX}/usr")
- $(use_with oci8-instant-client pdo-oci)
- )
- fi
-
- # readline/libedit support
- our_conf+=(
- $(use_with readline readline "${EPREFIX}/usr")
- $(use_with libedit)
- )
-
- # Session support
- if use session ; then
- our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
- else
- our_conf+=( $(use_enable session) )
- fi
-
- # Use pic for shared modules such as apache2's mod_php
- our_conf+=( --with-pic )
-
- # we use the system copy of pcre
- # --with-external-pcre affects ext/pcre
- our_conf+=(
- --with-external-pcre
- $(use_with jit pcre-jit)
- )
-
- # Catch CFLAGS problems
- # Fixes bug #14067.
- # Changed order to run it in reverse for bug #32022 and #12021.
- replace-cpu-flags "k6*" "i586"
-
- # Cache the ./configure test results between SAPIs.
- our_conf+=( --cache-file="${T}/config.cache" )
-
- # Support user-passed configuration parameters
- our_conf+=( ${EXTRA_ECONF:-} )
-
- # Support the Apache2 extras, they must be set globally for all
- # SAPIs to work correctly, especially for external PHP extensions
-
- local one_sapi
- local sapi
- mkdir -p "${WORKDIR}/sapis-build" || die
- for one_sapi in $SAPIS ; do
- use "${one_sapi}" || continue
- php_set_ini_dir "${one_sapi}"
-
- # The BUILD_DIR variable is used to determine where to output
- # the files that autotools creates. This was all originally
- # based on the autotools-utils eclass.
- BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
- cp -a "${S}" "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- local sapi_conf=(
- --with-config-file-path="${PHP_INI_DIR}"
- --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
- )
-
- for sapi in $SAPIS ; do
- case "$sapi" in
- cli|cgi|embed|fpm|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- if [[ "fpm" == "${sapi}" ]] ; then
- sapi_conf+=(
- $(use_with acl fpm-acl)
- $(use_with systemd fpm-systemd)
- )
- fi
- else
- sapi_conf+=( "--disable-${sapi}" )
- fi
- ;;
-
- apache2)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
- else
- sapi_conf+=( --without-apxs2 )
- fi
- ;;
- esac
- done
-
- # Construct the $myeconfargs array by concatenating $our_conf
- # (the common args) and $sapi_conf (the SAPI-specific args).
- local myeconfargs=( "${our_conf[@]}" )
- myeconfargs+=( "${sapi_conf[@]}" )
-
- pushd "${BUILD_DIR}" > /dev/null || die
- econf "${myeconfargs[@]}"
- popd > /dev/null || die
- done
-}
-
-src_compile() {
- # snmp seems to run during src_compile, too (bug #324739)
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- local sapi
- for sapi in ${SAPIS} ; do
- if use "${sapi}"; then
- cd "${WORKDIR}/sapis-build/$sapi" || \
- die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
- emake
- fi
- done
-}
-
-src_install() {
- # see bug #324739 for what happens when we don't have that
- addpredict /usr/share/snmp/mibs/.index #nowarn
-
- # grab the first SAPI that got built and install common files from there
- local first_sapi="", 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 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$(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"
- # Install the "phar" archive utility.
- if use phar ; then
- emake INSTALL_ROOT="${D}" install-pharcmd
- dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
- fi
- ;;
- cgi)
- source="sapi/cgi/php-cgi"
- ;;
- fpm)
- source="sapi/fpm/php-fpm"
- ;;
- embed)
- source="libs/libphp$(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#/usr}/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
- local m
- 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-8.0.9.ebuild b/dev-lang/php/php-8.0.9.ebuild
deleted file mode 100644
index b602cca13124..000000000000
--- a/dev-lang/php/php-8.0.9.ebuild
+++ /dev/null
@@ -1,749 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-WANT_AUTOMAKE="none"
-
-inherit flag-o-matic systemd autotools
-
-MY_PV=${PV/_rc/rc}
-DESCRIPTION="The PHP language runtime engine"
-HOMEPAGE="https://www.php.net/"
-SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
-
-LICENSE="PHP-3.01
- BSD
- Zend-2.0
- bcmath? ( LGPL-2.1+ )
- fpm? ( BSD-2 )
- gd? ( gd )
- unicode? ( BSD-2 LGPL-2.1 )"
-
-SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-# We can build the following SAPIs in the given order
-SAPIS="embed cli cgi fpm apache2 phpdbg"
-
-# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
-IUSE="${IUSE}
- ${SAPIS/cli/+cli}
- threads"
-
-IUSE="${IUSE} acl apparmor argon2 bcmath berkdb bzip2 calendar cdb cjk
- coverage +ctype curl debug
- enchant exif ffi +fileinfo +filter firebird
- +flatfile ftp gd gdbm gmp +iconv imap inifile
- intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb
- mhash mssql mysql mysqli nls
- oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
- readline selinux +session session-mm sharedmem
- +simplexml snmp soap sockets sodium spell sqlite ssl
- sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
- +xml xmlreader xmlwriter xpm xslt zip zlib"
-
-# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
-# The Oracle instant client provides its own incompatible ldap library.
-REQUIRED_USE="
- || ( cli cgi fpm apache2 embed phpdbg )
- cli? ( ^^ ( readline libedit ) )
- !cli? ( ?? ( readline libedit ) )
- truetype? ( gd zlib )
- webp? ( gd zlib )
- cjk? ( gd zlib )
- exif? ( gd zlib )
- xpm? ( gd zlib )
- gd? ( zlib )
- simplexml? ( xml )
- soap? ( xml )
- xmlreader? ( xml )
- xmlwriter? ( xml )
- xslt? ( xml )
- ldap-sasl? ( ldap )
- oci8-instant-client? ( !ldap )
- qdbm? ( !gdbm )
- session-mm? ( session !threads )
- mysql? ( || ( mysqli pdo ) )
- firebird? ( pdo )
- mssql? ( pdo )
-"
-
-RESTRICT="!test? ( test )"
-
-# 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.7[apache2?,fpm?]
- >=dev-libs/libpcre2-10.30[jit?,unicode]
- fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) )
- apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
- argon2? ( app-crypt/argon2:= )
- berkdb? ( || ( sys-libs/db:5.3
- sys-libs/db:5.1
- sys-libs/db:4.8
- sys-libs/db:4.7
- sys-libs/db:4.6
- sys-libs/db:4.5 ) )
- bzip2? ( app-arch/bzip2:0= )
- cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
- coverage? ( dev-util/lcov )
- curl? ( >=net-misc/curl-7.29.0 )
- enchant? ( app-text/enchant:2 )
- ffi? ( >=dev-libs/libffi-3.0.11:= )
- firebird? ( dev-db/firebird )
- gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
- gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
- gmp? ( dev-libs/gmp:0= )
- iconv? ( virtual/libiconv )
- imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
- intl? ( dev-libs/icu:= )
- kerberos? ( virtual/krb5 )
- ldap? ( >=net-nds/openldap-1.2.11 )
- ldap-sasl? ( dev-libs/cyrus-sasl )
- libedit? ( dev-libs/libedit )
- lmdb? ( dev-db/lmdb:= )
- mssql? ( dev-db/freetds[mssql] )
- nls? ( sys-devel/gettext )
- oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
- odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
- postgres? ( >=dev-db/postgresql-9.1:* )
- qdbm? ( dev-db/qdbm )
- readline? ( sys-libs/readline:0= )
- session-mm? ( dev-libs/mm )
- snmp? ( >=net-analyzer/net-snmp-5.2 )
- sodium? ( dev-libs/libsodium:=[-minimal] )
- spell? ( >=app-text/aspell-0.50 )
- sqlite? ( >=dev-db/sqlite-3.7.6.3 )
- ssl? ( >=dev-libs/openssl-1.0.1:0= )
- tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
- tokyocabinet? ( dev-db/tokyocabinet )
- truetype? ( =media-libs/freetype-2* )
- unicode? ( dev-libs/oniguruma:= )
- webp? ( media-libs/libwebp:0= )
- xml? ( >=dev-libs/libxml2-2.9.0 )
- xpm? ( x11-libs/libXpm )
- xslt? ( dev-libs/libxslt )
- zip? ( >=dev-libs/libzip-1.2.0:= )
- zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/mta
- fpm? (
- selinux? ( sec-policy/selinux-phpfpm )
- systemd? ( sys-apps/systemd ) )"
-
-# Bison isn't actually needed when building from a release tarball
-# However, the configure script will warn if it's absent or if you
-# have an incompatible version installed. See bug 593278.
-DEPEND="${COMMON_DEPEND}
- app-arch/xz-utils
- >=sys-devel/bison-3.0.1"
-
-BDEPEND="virtual/pkgconfig"
-
-PHP_MV="$(ver_cut 1)"
-
-PATCHES=(
- "${FILESDIR}/php-iodbc-header-location.patch"
- "${FILESDIR}/php80-firebird-warnings.patch"
-)
-
-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
-
- 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 "../ext/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'
-
- # Emulate buildconf to support cross-compilation
- rm -fr aclocal.m4 autom4te.cache config.cache \
- configure main/php_config.h.in || die
- eautoconf --force
- eautoheader
-}
-
-src_configure() {
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
-
- # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
- # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
- local our_conf=(
- --prefix="${PHP_DESTDIR}"
- --mandir="${PHP_DESTDIR}/man"
- --infodir="${PHP_DESTDIR}/info"
- --libdir="${PHP_DESTDIR}/lib"
- --with-libdir="$(get_libdir)"
- --localstatedir="${EPREFIX}/var"
- --without-pear
- $(use_enable threads zts)
- )
-
- our_conf+=(
- $(use_with apparmor fpm-apparmor)
- $(use_with argon2 password-argon2 "${EPREFIX}/usr")
- $(use_enable bcmath)
- $(use_with bzip2 bz2 "${EPREFIX}/usr")
- $(use_enable calendar)
- $(use_enable coverage gcov)
- $(use_enable ctype)
- $(use_with curl)
- $(use_enable xml dom)
- $(use_with enchant)
- $(use_enable exif)
- $(use_with ffi)
- $(use_enable fileinfo)
- $(use_enable filter)
- $(use_enable ftp)
- $(use_with nls gettext "${EPREFIX}/usr")
- $(use_with gmp gmp "${EPREFIX}/usr")
- $(use_with mhash mhash "${EPREFIX}/usr")
- $(use_with iconv iconv \
- $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
- $(use_enable intl)
- $(use_enable ipv6)
- $(use_with kerberos)
- $(use_with xml libxml)
- $(use_enable unicode mbstring)
- $(use_with ssl openssl)
- $(use_enable pcntl)
- $(use_enable phar)
- $(use_enable pdo)
- $(use_enable opcache)
- $(use_with postgres pgsql "${EPREFIX}/usr")
- $(use_enable posix)
- $(use_with spell pspell "${EPREFIX}/usr")
- $(use_enable simplexml)
- $(use_enable sharedmem shmop)
- $(use_with snmp snmp "${EPREFIX}/usr")
- $(use_enable soap)
- $(use_enable sockets)
- $(use_with sodium)
- $(use_with sqlite sqlite3)
- $(use_enable sysvipc sysvmsg)
- $(use_enable sysvipc sysvsem)
- $(use_enable sysvipc sysvshm)
- $(use_with tidy tidy "${EPREFIX}/usr")
- $(use_enable tokenizer)
- $(use_enable xml)
- $(use_enable xmlreader)
- $(use_enable xmlwriter)
- $(use_with xslt xsl)
- $(use_with zip)
- $(use_with zlib zlib "${EPREFIX}/usr")
- $(use_enable debug)
- )
-
- # DBA support
- if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
- || use qdbm || use lmdb || use tokyocabinet ; then
- our_conf+=( "--enable-dba" )
- fi
-
- # DBA drivers support
- our_conf+=(
- $(use_with cdb)
- $(use_with berkdb db4 "${EPREFIX}/usr")
- $(use_enable flatfile)
- $(use_with gdbm gdbm "${EPREFIX}/usr")
- $(use_enable inifile)
- $(use_with qdbm qdbm "${EPREFIX}/usr")
- $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
- $(use_with lmdb lmdb "${EPREFIX}/usr")
- )
-
- # Support for the GD graphics library
- our_conf+=(
- $(use_with truetype freetype)
- $(use_enable cjk gd-jis-conv)
- $(use_with gd jpeg)
- $(use_with xpm)
- $(use_with webp)
- )
- # enable gd last, so configure can pick up the previous settings
- our_conf+=( $(use_enable gd) )
-
- # IMAP support
- if use imap ; then
- our_conf+=(
- $(use_with imap imap "${EPREFIX}/usr")
- $(use_with ssl imap-ssl "${EPREFIX}/usr")
- )
- fi
-
- # LDAP support
- if use ldap ; then
- our_conf+=(
- $(use_with ldap ldap "${EPREFIX}/usr")
- $(use_with ldap-sasl)
- )
- fi
-
- # MySQL support
- local mysqllib="mysqlnd"
- local mysqlilib="mysqlnd"
-
- our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
-
- local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
- if use mysql || use mysqli ; then
- our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
- fi
-
- # ODBC support
- if use odbc && use iodbc ; then
- our_conf+=(
- --without-unixODBC
- --with-iodbc
- $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
- )
- elif use odbc ; then
- our_conf+=(
- --with-unixODBC="${EPREFIX}/usr"
- --without-iodbc
- $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
- )
- else
- our_conf+=(
- --without-unixODBC
- --without-iodbc
- --without-pdo-odbc
- )
- fi
-
- # Oracle support
- our_conf+=( $(use_with oci8-instant-client oci8) )
-
- # PDO support
- if use pdo ; then
- our_conf+=(
- $(use_with mssql pdo-dblib "${EPREFIX}/usr")
- $(use_with mysql pdo-mysql "${mysqllib}")
- $(use_with postgres pdo-pgsql)
- $(use_with sqlite pdo-sqlite)
- $(use_with firebird pdo-firebird "${EPREFIX}/usr")
- $(use_with oci8-instant-client pdo-oci)
- )
- fi
-
- # readline/libedit support
- our_conf+=(
- $(use_with readline readline "${EPREFIX}/usr")
- $(use_with libedit)
- )
-
- # Session support
- if use session ; then
- our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
- else
- our_conf+=( $(use_enable session) )
- fi
-
- # Use pic for shared modules such as apache2's mod_php
- our_conf+=( --with-pic )
-
- # we use the system copy of pcre
- # --with-external-pcre affects ext/pcre
- our_conf+=(
- --with-external-pcre
- $(use_with jit pcre-jit)
- )
-
- # Catch CFLAGS problems
- # Fixes bug #14067.
- # Changed order to run it in reverse for bug #32022 and #12021.
- replace-cpu-flags "k6*" "i586"
-
- # Cache the ./configure test results between SAPIs.
- our_conf+=( --cache-file="${T}/config.cache" )
-
- # Support user-passed configuration parameters
- our_conf+=( ${EXTRA_ECONF:-} )
-
- # Support the Apache2 extras, they must be set globally for all
- # SAPIs to work correctly, especially for external PHP extensions
-
- local one_sapi
- local sapi
- mkdir -p "${WORKDIR}/sapis-build" || die
- for one_sapi in $SAPIS ; do
- use "${one_sapi}" || continue
- php_set_ini_dir "${one_sapi}"
-
- # The BUILD_DIR variable is used to determine where to output
- # the files that autotools creates. This was all originally
- # based on the autotools-utils eclass.
- BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
- cp -a "${S}" "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- local sapi_conf=(
- --with-config-file-path="${PHP_INI_DIR}"
- --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
- )
-
- for sapi in $SAPIS ; do
- case "$sapi" in
- cli|cgi|embed|fpm|phpdbg)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( "--enable-${sapi}" )
- if [[ "fpm" == "${sapi}" ]] ; then
- sapi_conf+=(
- $(use_with acl fpm-acl)
- $(use_with systemd fpm-systemd)
- )
- fi
- else
- sapi_conf+=( "--disable-${sapi}" )
- fi
- ;;
-
- apache2)
- if [[ "${one_sapi}" == "${sapi}" ]] ; then
- sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
- else
- sapi_conf+=( --without-apxs2 )
- fi
- ;;
- esac
- done
-
- # Construct the $myeconfargs array by concatenating $our_conf
- # (the common args) and $sapi_conf (the SAPI-specific args).
- local myeconfargs=( "${our_conf[@]}" )
- myeconfargs+=( "${sapi_conf[@]}" )
-
- pushd "${BUILD_DIR}" > /dev/null || die
- econf "${myeconfargs[@]}"
- popd > /dev/null || die
- done
-}
-
-src_compile() {
- # snmp seems to run during src_compile, too (bug #324739)
- addpredict /usr/share/snmp/mibs/.index #nowarn
- addpredict /var/lib/net-snmp/mib_indexes #nowarn
-
- local sapi
- for sapi in ${SAPIS} ; do
- if use "${sapi}"; then
- cd "${WORKDIR}/sapis-build/$sapi" || \
- die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
- emake
- fi
- done
-}
-
-src_install() {
- # see bug #324739 for what happens when we don't have that
- addpredict /usr/share/snmp/mibs/.index #nowarn
-
- # grab the first SAPI that got built and install common files from there
- local first_sapi="", 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 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$(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"
- # Install the "phar" archive utility.
- if use phar ; then
- emake INSTALL_ROOT="${D}" install-pharcmd
- dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
- fi
- ;;
- cgi)
- source="sapi/cgi/php-cgi"
- ;;
- fpm)
- source="sapi/fpm/php-fpm"
- ;;
- embed)
- source="libs/libphp$(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#/usr}/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
- local m
- 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/python/Manifest b/dev-lang/python/Manifest
index 60e9108e5bb8..a3341bb032cf 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -2,6 +2,8 @@ AUX pydoc.conf 169 BLAKE2B ce40bb3d5f858bd7a8d9ef5bf215a8ab592568a724f0e08aea219
AUX pydoc.init 600 BLAKE2B fb8775a6663483e5112ec283627610b746020d88494e772b92bb718a9493a52606e565c6c2fa4917a5cb963f166283d09883bd26903f2f3ced6c240d4e292a7f SHA512 9e71ad53486b6882a8441b24225c602195ee33d29dd1b60df27febbc6b752e79929be356152a489f893dcfb11f9c066b999787bc27a8ac61062c86e67a69e87a
DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c
DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755281d2f94353314014d9e83e0ec5f0b3e3950ea1fdf5fce9ba6b8f55312355845c2a3fc4291c27ee56fe6215448 SHA512 c2a5f5a52f47dec52460ad3275758d4e5de6e7075c3def4353c988d74d563a39b42cae2d5eb24e2a23a6247cef69100f91620b11a49c2359fbf99b203c9cbda8
+DIST Python-3.10.0.tar.xz 18726176 BLAKE2B 77143edf733cadf7e52327a58782f0617b1dd0d132cf58e0f26d37a454bb97f82e7931118a6a71f22779d9b6ec4efca974c43c19a6338b4b24a9fd616b60cc89 SHA512 82b2729afc7d72a80882f199970667dce7d971a2e5ecfe6cf84f7b68612ab2caf6ed6d7a8cb81f24ea85cb0816464bb2e8b2e6884eda62fa40742edc674193bd
+DIST Python-3.10.0.tar.xz.asc 833 BLAKE2B 295df19932ea076bb1a50acb38782055ff34fb235df0380fa361727eedb3ca68aeca2a31419de5b05ce128c2e21ad04605c226e7a61d508a17607f615e46e570 SHA512 67236e02bc49da1423717cb54216b745f613ba2fc4b372a4aa15a36ab15fe69d9b9087070382957d480df7576d13056caedcd979fb56531799a1190b822f673d
DIST Python-3.10.0rc2.tar.xz 18737220 BLAKE2B bcbddfa718b66b30b85dc3afad59eb3d977bfe036564821d5016d7150a38c377bc6fb29c611dd28681b660e488f0ef3d1de21a6cd9528866a3e86e8afbf589af SHA512 8511d837e465818a7b41df4593f29179e4d420171a287deb484ab6834fe17fe6b9d49ea6ee619573c8fa02aae0bf11807b5fa5903b200e311a0ba27981ecdc04
DIST Python-3.10.0rc2.tar.xz.asc 833 BLAKE2B d518871f35126be04effc213cd78b9fe641c75ffa361671f111916cff0dcf9578cb0010842afb5b25037cbff494023db8b28e7fcf0d59a53667ed59d7f4f661b SHA512 ce38167956314b27641f08fd5cad67bcf286154ff3a74a8987e9cda8b5737ed2218f0190726c7555cc5f49d76dee3d90521512e4560bfb4e91789217e36ee096
DIST Python-3.6.14.tar.xz 17218148 BLAKE2B efe655cb907ffa678ca135f88ba9d867e523969ad82dbc09ffb6d8d383824a4b43c525e156a3c35484a526b4b3ea755109e5ef15d17852d44e3351c307fc5e91 SHA512 15b82b7285db97cb27a6fcd57ce9e258fdf8dbdb2f00e22e4331161b8557c8244342546c4143e84c72730759e0276770396b6ca5bb7cf87310cca8e175423006
@@ -19,6 +21,7 @@ DIST Python-3.9.6.tar.xz.asc 833 BLAKE2B 41901bfb80a901f2f14e86769e6d08ded8f7565
DIST Python-3.9.7.tar.xz 19123232 BLAKE2B 69dfba6974c8c74de1b71977d28cad4d7c26615695f48a99444d2eb83d657b4bd8d22e7f6e94b1b2dcbcc5605c0aee08c609b9564e306f48588e2a7f471209b2 SHA512 55139776ab58a40f9e1e70613d7071d559ef9e51e32a77791422aac134322c21a49f0348c42813214b69789c589367eae43e16d4ae838a73daf37617e966b735
DIST Python-3.9.7.tar.xz.asc 833 BLAKE2B 2d9c47e47d9a625e393a8b456dd5b10dd485fc13ca7c236b5fd304c373879bea8ab3c67ff99c3a81350443f6ccba20718466a221a05faada6b82cfe92943fdbf SHA512 7ff9f845f520efab3b4a0e95da3ffe055ee5777a4173a5b2cc1fd2419dc2b4faf30d1e711e372df36e34bc971ecfcde88a7cd815cfe2d8080ccb575a1ae8e101
DIST python-gentoo-patches-2.7.18_p13.tar.xz 33296 BLAKE2B 91b711458aff4f6337ee1b34aff58d7edda6725644a64c9320076a1e04c816729ed163d82333cfe4dfef379a9ad5ef50ba00abdbbfed4503b0f92c8f0b7ca683 SHA512 97f3657a4a95e8492aa710801b974a56e6dd4636e475aea45cbbe76e7ae32d00f07b05769887f05e49cb0df8584ac9499a7ce842bad77f837a7c869f9b769b07
+DIST python-gentoo-patches-3.10.0.tar.xz 8528 BLAKE2B 5217172056a00196969dc462c7b89e629fe2dbf258cac9b3695b8e61441426d024f6656e984c61966f954b4599bf7a88071b3902791d66fc787ff992d052bbe1 SHA512 6bdd9741b065dc6482c66d9a78cc58d72ee754d588cdbe427cbe7ba3ce3cb917f655e8a22053b5561134b15587694ea3f440518b5443e379cebe49585af64c82
DIST python-gentoo-patches-3.10.0rc2.tar.xz 8488 BLAKE2B d7c1e45e63bf5bfe5d41823ea183608f4bcb44694feb18ee6d315250f1563684ce87dec29f46c16da223b6bbd1d20e75791d347ae6ac1d4b5130ba3f08c55ca1 SHA512 c2ca3b60f33131b20037fc0f53a5ce655e9978c5fa42d0b8e2c6b56aec24f6f37d8997fa146a446e5fd72b5d2c4b017d5e4fb71318a51dbb45f5d3b0ea4ed4ad
DIST python-gentoo-patches-3.6.14_p1.tar.xz 16576 BLAKE2B 902a9073e6d3e40cfba105680d9947b64a4bfa1632381bc71afbd2691350dccb36f498bf17ac7dfc8ce331dfc3fb7e3cdd539cea3f5e9db1c49210ad4d124182 SHA512 4aa354f1ca8d9bb3c30b666ef61cac8380741342102aeb9ea77cc06ae62179f595acc1c2e6321e9c2395abbc3fbc649ecc93b80443d139859924524989539992
DIST python-gentoo-patches-3.6.15.tar.xz 15300 BLAKE2B f49fd96f6ad1a1c94fea6b83acd229a81754b86061e243044ead4b9a9d5122a2e43b270b68722c359c084c05a566a3ad70aa46588ab7a005ee560ee118b92b8b SHA512 cc33491a33f3f1d990cf494d53b91b74db761142e8aebe1bd4b128ef10a268ff945e5ba08daad39cee095612a8e52265d6988873ecf9c073377cbbc10735aa39
@@ -28,6 +31,7 @@ DIST python-gentoo-patches-3.8.12.tar.xz 14936 BLAKE2B 1cb6cdb0bb659b1bc3f8a4ecd
DIST python-gentoo-patches-3.9.6_p2.tar.xz 14720 BLAKE2B e14634229b65a29f5294694949c138bfa6146810349d1207a07d84eeca529571eb9c760b58ddbe6e8d96d50d1a3e0d1dfe42328c53c977a9eeb22ecd553317dc SHA512 5d84b8bb4e5584e3ef8e6298af000e772240ad93ed0aaadf1d785db947f1e79aecae7313b8dbeb65849212c9930e683be6e18e42ef6c41a3c27d60f75df08a01
DIST python-gentoo-patches-3.9.7.tar.xz 12764 BLAKE2B 0cdd255ee1b90f117a7b11cf3ce96d48fe6e8b7b0d43958c473c23489fa4b512f7d8c385fc7c67ba0e62946fd22a608c3f088a3220934136c056bdd14e802752 SHA512 64ba96a5b07ff986b07c2694cd917d5542513cdf2d8ec96940bc2a730a479538968789121e6608feb1bae5465eafbae176726d79f2ddf025a0b7f59b67404b07
EBUILD python-2.7.18_p13.ebuild 10084 BLAKE2B 1dad5dbeec00ae05accd7a05614991812facf0fce7b6d3afb978019ac2facd204156d44d9df76190de9c2075b5c8d0dcbceead7ac445361fcab97309e8dd67f3 SHA512 84d49306ba25875b3542b3a825aaa613516501a348746e3d7f3f74fb44d7e14a393ac0d7180b33ff43e9d879392a9a086c78894b1f2644c9e21ec5a68e1e7c22
+EBUILD python-3.10.0.ebuild 10024 BLAKE2B 24fc7022b48d8a8059e9c99855971ee1602845038f34b704291615738325dc563aae7a2e31670df275e1e31b1f2cd301d38bf348644f99b5ec7b5cd0225099e7 SHA512 29dc55d30993c91d3ada87d2287ad34a349f4d83d9b8dda9c8d479acd9e9f15ab0b3e11fce6da417b2081f74affbb13ad669b894f61e2d1d42e2f16b2d294046
EBUILD python-3.10.0_rc2.ebuild 10013 BLAKE2B 0fc5812116ad7d044e61ca6103b75cbf42c309799c70d59f4fff7d496893d3e1ed6f0a4381772e41ccb945a09948cf90ffaf61003da3b15853a55436cdc2865d SHA512 7048e4eabec33c57dc17c4867ef0b867df71cc00ce038252ad67cf88b83ef94250313463a2e6941b427600947b8e49a2a2f11b46c8fbb448fbb854ce4be83e1a
EBUILD python-3.6.14_p1.ebuild 9702 BLAKE2B 5b247e39c0d753420adba7b83f952cdf75805815585d221642499223f894fd6a0365385806cf9edb2ce0b79956efdb6e5fc7b64020382a6216159d449c2a49f7 SHA512 f6b1f0ad1f82b68eae9f2a8691daa85bbc75fa0ccc3c24036174d9c38c8bd5d8bb93b79b587c2815dc56eeb1db24e288043629fea0bdbd13ca2b98a687eafeee
EBUILD python-3.6.15.ebuild 9710 BLAKE2B 8bd667da95e331d0d1ece3089b990fb3d4769dd6b632b98086edb389b10fac4f341a2616dec459dfb9501a14376253bfd13fe3a68dca1b6494d02a9365183add SHA512 85bb866b40325e793c0dd0ef3d69e88d6b34ebc4cecfb9f441bcce0259c09751d1033f101d48826186c8fb97b3d77f3ca6c18bddafdb42e8469b2cf09f6240ae
diff --git a/dev-lang/python/files/pydoc.init b/dev-lang/python/files/pydoc.init
index f8e05636da4e..f8e05636da4e 100644..100755
--- a/dev-lang/python/files/pydoc.init
+++ b/dev-lang/python/files/pydoc.init
diff --git a/dev-lang/python/python-3.10.0.ebuild b/dev-lang/python/python-3.10.0.ebuild
new file mode 100644
index 000000000000..016c5e8dd443
--- /dev/null
+++ b/dev-lang/python/python-3.10.0.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/rc}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="https://www.python.org/"
+SRC_URI="https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~sam/distfiles/dev-lang/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
+RESTRICT="!test? ( test )"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND="app-arch/bzip2:=
+ app-arch/xz-utils:=
+ dev-libs/libffi:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+ xml? ( >=dev-libs/expat-2.1:= )
+ !!<sys-apps/sandbox-2.21"
+# bluetooth requires headers from bluez
+DEPEND="${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ sys-devel/autoconf-archive
+ virtual/pkgconfig
+ verify-sig? ( app-crypt/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+# large file tests involve a 2.5G file being copied (duplicated)
+CHECKREQS_DISK_BUILD=5500M
+
+pkg_pretend() {
+ use test && check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ use test && check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ # Ensure that internal copies of expat, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local disable
+ # disable automagic bluetooth headers detection
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ use gdbm || disable+=" gdbm"
+ use ncurses || disable+=" _curses _curses_panel"
+ use readline || disable+=" readline"
+ use sqlite || disable+=" _sqlite3"
+ use ssl || export PYTHON_DISABLE_SSL="1"
+ use tk || disable+=" _tkinter"
+ use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
+ export PYTHON_DISABLE_MODULES="${disable}"
+
+ if ! use xml; then
+ ewarn "You have configured Python without XML support."
+ ewarn "This is NOT a recommended configuration as you"
+ ewarn "may face problems parsing any XML documents."
+ fi
+
+ if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
+ einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
+ fi
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # https://bugs.gentoo.org/700012
+ if is-flagq -flto || is-flagq '-flto=*'; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ fi
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --without-static-libpython
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --with-system-expat
+ --with-system-ffi
+ )
+
+ OPT="" econf "${myeconfargs[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+ # workaround https://bugs.gentoo.org/775416
+ addwrite /usr/lib/python3.10/site-packages
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ sed \
+ -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
+ -e "s/\(PY_LDFLAGS=\).*/\1/" \
+ -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+
+ dodoc Misc/{ACKS,HISTORY,NEWS}
+
+ if use examples; then
+ docinto examples
+ find Tools -name __pycache__ -exec rm -fr {} + || die
+ dodoc -r Tools
+ fi
+ insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
+ local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
+ emake --no-print-directory -s -f - 2>/dev/null)
+ newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
+
+ newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
+ newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
+ sed \
+ -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
+ -e "s:@PYDOC@:pydoc${PYVER}:" \
+ -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
+ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${PYVER%.*}
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python and pythonX
+ ln -s "../../../bin/${abiver}" \
+ "${scriptdir}/python${pymajor}" || die
+ ln -s "python${pymajor}" "${scriptdir}/python" || die
+ # python-config and pythonX-config
+ # note: we need to create a wrapper rather than symlinking it due
+ # to some random dirname(argv[0]) magic performed by python-config
+ cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+ #!/bin/sh
+ exec "${abiver}-config" "\${@}"
+ EOF
+ chmod +x "${scriptdir}/python${pymajor}-config" || die
+ ln -s "python${pymajor}-config" \
+ "${scriptdir}/python-config" || die
+ # 2to3, pydoc
+ ln -s "../../../bin/2to3-${PYVER}" \
+ "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" \
+ "${scriptdir}/pydoc" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" \
+ "${scriptdir}/idle" || die
+ fi
+}
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 4f9e740b31d2..614eef3228b2 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -141,8 +141,8 @@ DIST rustc-1.54.0-src.tar.xz 116286856 BLAKE2B 5ac47822646a0b6205f09282168b4d4dd
DIST rustc-1.54.0-src.tar.xz.asc 801 BLAKE2B 5ee9166eaa00e4ffec10fb82b18946d403bc2030c6e04de6449311cbccc2ef1b017044f451a1c19be3a0a9640c4a9a9e4bd22d28e2115509f333ae38eb25e9d4 SHA512 5ad91f43515de14114964db0348cd28c08adc6dc935f110bf339053414b8eab8a40f1074ceffa44ed2df61254f8368d867479400618c44efaa0333642ab49d07
DIST rustc-1.55.0-src.tar.xz 117197580 BLAKE2B 8d9739ce7571146aee0e07c6287de9a8c4f1a914606cd47819eb1ef118b15772ecf22d0d43d7732f03c234a013fa54a4a7f0578a3f136af518f71bf64a03305d SHA512 7522f2fa95d5af92472404ecc97d7d9e745e88c933196a83fa373ce1efff6db3c295e0e2afdbfa1ff00644554efa0c3c7f6c11f9119ecf9010cb440b3f27c2da
DIST rustc-1.55.0-src.tar.xz.asc 801 BLAKE2B 5b4ba951ed7ed56c7bd9c71df89cc1e966485d77411016ad71a811ad8e21b88295deec08f24f65afdb163e69ee0fe19288bcc64d18fe272bea51319caddb66b2 SHA512 9bc858ce26cc069cafaefe6165cb15a07e144ad6d6312bcbe115a0a51fec6e281d3e8a7977e958d7fa10e77139548d57396b1552a2802ec74b7bc6ac641e7ae4
-EBUILD rust-1.52.1.ebuild 20198 BLAKE2B ded64444104b75499de229c06c3d41b2651d3ee590f598f7b93965f9c70d22369a7b6f09d968a5618adb62ab8f8f423292f8766d33086be898d7b5960efa206d SHA512 9b54bcdae2b1584e73f005792d7382d264b057b70d3cdf3c8ac412ae66f8bc134ad0fa5e80d641fa101c8526bb3883a8043be64af611663ff1cb5e643f149373
-EBUILD rust-1.53.0.ebuild 20480 BLAKE2B c8975ccf51cb85d943f0a4011f1cf40682841baae5b1dc6defa01f1d0ff856ad9f1fa35d99507979224c3aab9d1022c17b33efc5da422788ad4bbb028068104e SHA512 5c0d521cb86385be5c42d197016ddaebf7827a52076912194f73c89f4121747434c2e0884608a73e211997e6f70a2f8bc1cb608c4dbe33eefc220f87593689bc
-EBUILD rust-1.54.0.ebuild 20484 BLAKE2B 41406228945d43aa8756c3c47834a887fdfc980450b753b82be03696f7752f18071a1a69cb7bd37760c1bf097818cfbd84ba61f061ef00eb68616e468b65154d SHA512 f180c1bc9979823eb6be35e2fb81b8feed07eaba963160ae42deb953daeb4013c580a1355c005035309cb3e39c2064fee1c3eb4fd7530d555d17220fd965fcdd
-EBUILD rust-1.55.0.ebuild 20391 BLAKE2B b0f48b52435ce794946d64d8bfee769f4fadeb47d2c3e8fe187739fb0bf07a7fe5d43cf1cc423038e7ad5a4b2418683448add5a7c83acd04cd60cfba88fbbe45 SHA512 619a9a83d734e8f31fe1a859b2794562841f66728ab618abad9a6d8e1de6da401c826fecfc2c10a7afc13cbf464127fb0fa602b5a81dc46ed747132d3c4e71ae
-MISC metadata.xml 1112 BLAKE2B 966922f47a426a8d17d1dda931644d0a0f71a544ee7e7a89ec4848f3d8dc514fc4813ca2f571ef0dede6b92bbbf9ea7ebe84054649f280f672e25a67a455d1c1 SHA512 516d9ab6a212757e760d9fe28f8742b92055de681da0a5aad3031e920d0dcdecd78f8aba79a1c5baf74a39fdc2a14c9b665009e62621103c8cc11b9afb048f96
+EBUILD rust-1.52.1.ebuild 20520 BLAKE2B ae12faa245d6043afb9dd9b62db207d89eae1655940369a9663d7ac9388f2390b854c32a459256f843b35b8eccdf4d7ee78170c14d6565b2c2ad28d72cdf4202 SHA512 e4bb2c8ab8bec76d6881b8aec1008e7a5f1a49ce16175137b4eaf4e3052a01ddb77304d44a30e344e90953ace280df1dd13172317d662b989c5cce6f27aa1375
+EBUILD rust-1.53.0.ebuild 20802 BLAKE2B 97c59e812e197158a9a0b9bdcf8a41417298bf80afee1642526ed396b087da6d990d3559efcb3d50898374a0bd06ebd0764a9325c3268c6a40926ae33b015894 SHA512 a5bab41380d0d122fa2b81012af04cc9e4cb1b1299e20c14d05cf989a437f63b9a7939e7a80cb910328ce0ae1543efc3765252c9a837b9bec5ef5b149aea1a26
+EBUILD rust-1.54.0.ebuild 20806 BLAKE2B cde615998a6281dd6e823d55549c56ee3b23c5e26b92358516cd20665d406317a3f1333271ebcdb000660fd84e540574109b398a12882c0ba655ca978c3a8579 SHA512 1fe3d61af31ce9ef9e6c97ea694965115b41982f1d95285483838e861762115bf9abc863b2466c6eb927b56a2ed22aff6784a0af0983f56ffd76da83c40b0335
+EBUILD rust-1.55.0.ebuild 20713 BLAKE2B e43e75effdb0de4f007cbd4be21931d14cc08aad92226cf13e076c653dd2144f35ddd90beca0b2f078f446585eb805484e3e1f7c9b583d9d03846e1bda33b042 SHA512 97866c0bb0e3f31796b67cfaa246ec769e307eeb46474207ad02850157a05d5a643086ec3020d351a0b067be7862a9b39384718da91cdb3b6e3e499cd01583ae
+MISC metadata.xml 1123 BLAKE2B 3a4e817eda9e998275741d9b3e313369bfb3d4ee8ba3b701f2a26ea3fd8b5564e8ee5dca29574693e0361d56d1b91aa1b8791fc46a3533b5e5a98bbd6991cb01 SHA512 dbd9646a10e11b9ee8a87e4785f06530758dd611e58da3b16fde927dd0e7f858710e246a0401e09e7500ff5c301c84f5606f4fce85c21f0f8a5579f0bb4ea8ab
diff --git a/dev-lang/rust/metadata.xml b/dev-lang/rust/metadata.xml
index 5515006c5dc3..4ecf03a3d4ea 100644
--- a/dev-lang/rust/metadata.xml
+++ b/dev-lang/rust/metadata.xml
@@ -13,7 +13,7 @@
<flag name="clippy">Install clippy, Rust code linter</flag>
<flag name="miri">Install miri, an interpreter for Rust's mid-level intermediate representation (requires USE=nightly)</flag>
<flag name="nightly">Enable nightly (UNSTABLE) features</flag>
- <flag name="parallel-compiler">Build a multi-threaded rustc (experimental, unsupported)</flag>
+ <flag name="parallel-compiler">Build a multi-threaded rustc (experimental, not tested by upstream)</flag>
<flag name="rls">Install rls, Rust Language Server (used with IDEs supporting RLS protocol)</flag>
<flag name="rustfmt">Install rustfmt, Rust code formatter</flag>
<flag name="system-bootstrap">Bootstrap using installed rust compiler</flag>
diff --git a/dev-lang/rust/rust-1.52.1.ebuild b/dev-lang/rust/rust-1.52.1.ebuild
index 903660103f67..30db42404e6a 100644
--- a/dev-lang/rust/rust-1.52.1.ebuild
+++ b/dev-lang/rust/rust-1.52.1.ebuild
@@ -138,6 +138,12 @@ QA_SONAME="
usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
"
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_WX_LOAD="usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/.*:lib.rmeta"
+QA_EXECSTACK="${QA_WX_LOAD}"
+
# causes double bootstrap
RESTRICT="test"
diff --git a/dev-lang/rust/rust-1.53.0.ebuild b/dev-lang/rust/rust-1.53.0.ebuild
index b484a09020c7..aeb7bd1f11c8 100644
--- a/dev-lang/rust/rust-1.53.0.ebuild
+++ b/dev-lang/rust/rust-1.53.0.ebuild
@@ -140,6 +140,12 @@ QA_SONAME="
usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
"
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_WX_LOAD="usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/.*:lib.rmeta"
+QA_EXECSTACK="${QA_WX_LOAD}"
+
# causes double bootstrap
RESTRICT="test"
diff --git a/dev-lang/rust/rust-1.54.0.ebuild b/dev-lang/rust/rust-1.54.0.ebuild
index 40f81de58ea5..0b2c51587d67 100644
--- a/dev-lang/rust/rust-1.54.0.ebuild
+++ b/dev-lang/rust/rust-1.54.0.ebuild
@@ -140,6 +140,12 @@ QA_SONAME="
usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
"
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_WX_LOAD="usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/.*:lib.rmeta"
+QA_EXECSTACK="${QA_WX_LOAD}"
+
# causes double bootstrap
RESTRICT="test"
diff --git a/dev-lang/rust/rust-1.55.0.ebuild b/dev-lang/rust/rust-1.55.0.ebuild
index 0805c94c1d0f..366d1e5149b8 100644
--- a/dev-lang/rust/rust-1.55.0.ebuild
+++ b/dev-lang/rust/rust-1.55.0.ebuild
@@ -140,6 +140,12 @@ QA_SONAME="
usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
"
+# An rmeta file is custom binary format that contains the metadata for the crate.
+# rmeta files do not support linking, since they do not contain compiled object files.
+# so we can safely silence the warning for this QA check.
+QA_WX_LOAD="usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/.*:lib.rmeta"
+QA_EXECSTACK="${QA_WX_LOAD}"
+
# causes double bootstrap
RESTRICT="test"
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index f9b0e31a236a..5ad544d2727f 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -13,11 +13,13 @@ DIST firefox-78.11.0esr.source.tar.xz 333002576 BLAKE2B a8268886f86afb41b86d227f
DIST firefox-78.12.0esr.source.tar.xz 333737488 BLAKE2B 775a55511a48f4210807d2648833bca6f95d9f4cd48b5d0de8cf0bf2609590c1615fca7ff855ae3643a25466d131e15dc293e6a57aa05e1d91d2cf819b0b89ca SHA512 646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a
DIST firefox-78.13.0esr.source.tar.xz 333506484 BLAKE2B 1922e2f6b2ada46e581e4eaaa388873d31c6a922e5165ba225eeaccde5c1c6d7369a57ecf8e89371a34f692dca5754a461abb7d1c9bfda9cbc4f021d39549439 SHA512 78a5dc8713ab879ebfc3b8fd7a8219844d06f0d897342fdf9a11471633d98e148ff85cf10e561899df4910b94a33b57709b64788df4621a8c0b83eb9a7102cef
DIST firefox-78.14.0esr.source.tar.xz 340771180 BLAKE2B 7b83bf081138fbf2367116099839c6d05ec5ade58f183ba033c5167d503a2a1f40976f88bdba680a7a8df7c66ac32449004e58a5211f16086b792a2b41e27c67 SHA512 5d5e4b1197f87b458a8ab14a62701fa0f3071e9facbb4fba71a64ef69abf31edbb4c5efa6c20198de573216543b5289270b5929c6e917f01bb165ce8c139c1ac
+DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378
DIST firefox-78esr-patches-13.tar.xz 83664 BLAKE2B 92250d5bc3821ee1ff032236bd00e01a53e0af4f9e39696a634edb39f0a182bf5ff74b7fc0f107c9c53136c64485c398391e3a857c8b2b904115fd13d17e2a4f SHA512 96739811bea833a6a9cb09075dfe49c6fa7f613e8bd41e1d830d6ae6851ce8e2f5d27c87d0035b6f3a099340dfd7eebe6ecb930ff25079e76cea92a7610293ca
DIST firefox-78esr-patches-14.tar.xz 82976 BLAKE2B 08cc3618c8069f4169b7647e7eb699153d558bb89f8a4f1ed74d5ccd339f77119cd8f253df011f0c2f255ad889b65e843171d7559f469788463ca7e9aa2e96aa SHA512 1611c6f9d2c7d586e7b53810c1cfdb2682f5d289b1b019b71694b1ab2d8bbdfe827a73cfaf59f7e4808c0b90409ca4fa57e27655d8cdf0c578ffdbad33659f26
DIST firefox-78esr-patches-15.tar.xz 65604 BLAKE2B 86e421e555ffd5f7f201d0f1a1c446c649739c67cdf8dca536efa115e09d9c357ce1551b7270c77e8bfe7dd53e0f3e6386496283879cf5e0c59b3c864951ebb3 SHA512 b229e895f083a0404cda1da0d8ae937429d5975ac52ab20e8b15611d9c737381a1076ebfa8c8a127dacac0e12a2a905ffd579facde2d80c6facc911e5739e34b
DIST firefox-78esr-patches-16.tar.xz 55964 BLAKE2B 79d3a465c69656bb55ee7c1e9060606464b6404435b92f534db275521ac2343e045feae1fff6166fde9e2599a82cd982b0b2395271b1033f0f784e745e2c6965 SHA512 3aa971c726646cbf37a14a0dba6c4ac966b88db655cd8b730c5572543bfbf682991ee7c139889541e4f6936c13f27233dc1837fbdb9ee340b33ebb2cec59b01f
DIST firefox-78esr-patches-17.tar.xz 56004 BLAKE2B 01d2ded2658c24176a3d13d0267d1c4df4ef0113c5c40b1002acd39a0f04db35b773bc617afed1c681df3ec38120621a5c3753ba2d36688d7d5926233bfb8501 SHA512 43b372b848c1f30e02505d06bbb11f5b80d976fe7ee39c0d2aacf60d48bc1d3e378c325f4e2fd4730b971e88c3bd902539a7b81874f53b8b92369f876e05be5e
+DIST firefox-78esr-patches-18.tar.xz 55968 BLAKE2B f32fe8e0086e4bf74fd43127b9fe136a0e0ad6e51cb8a2398f6e8f9fe585de1574c745dd3f50440cf62b626f9fa24d368284c563fb75acbacc5238f9bc8d099f SHA512 99a51a241d91aa00c64550f2a521528f6134c8812e379eaf95cd1287fd51d00346de8d41f2d2f55a83332580531b31c4e814a47d7f69da6e3512613e8e98bb31
DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718
DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d75a223d5e75e4ff90b3b01aab4f7736b4a4e05c47b3a925ff0a74607a0abad3b6583c75d070ef5142009b20ebaf6e4bf SHA512 187b231b246a5ae09e55c0fef77866b316d75f38f4c2e066d5d4325d8da63433027020c929439cab46af3253ac63ab2f780223a8fd2c6ff535b3409bb6c4aa0f
DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
@@ -34,5 +36,6 @@ EBUILD spidermonkey-78.10.1.ebuild 13020 BLAKE2B 1df644878ca6ced6f09412392dcf44a
EBUILD spidermonkey-78.11.0.ebuild 13023 BLAKE2B 5c6ac236be68d84fa31d433f425f3298ca114abd206312da92098284478a4e8f40b8358b8298cd3e7f340fb3ce7cc6e7c5609da87a3f2b7f123b2c09a0ac0779 SHA512 7f55e7770c7e3e7bb6ebb7bccf432934e0cdd585b04ed7d0612ddf667eda0bed8c6102dc7d687c9afc5b44cb693c51989766e1c42523e6372471b0001b9719f1
EBUILD spidermonkey-78.12.0.ebuild 13021 BLAKE2B e0c048fc9845d7b24e72df1efb67764bfc9570efc2a40e753bd3d222ebfe297168a229242a5439e6922bad5b6d4f6275b6b6df52ca50a173049f394d6f8e41d1 SHA512 1748dd580ef80259e81586b24a07495ffd43ca94d6f794e2cd36849396e04e421cb2a40d1c17cf6a9cf7ef215adf31af9cb4de74a31edef7f6c8d60f3f098e3b
EBUILD spidermonkey-78.13.0.ebuild 13025 BLAKE2B eaaf4df87e0497daeb4bfb2a554f9f2009a64d94e02d94c9a852e3db4047d419132abc671898ce7beb239ee88721eac8be8ce794a5e9abaa2840ae4e87eadd6e SHA512 a8223fb84b0174b24845e8c226662823d196019d10989b08cf4c3c2975609799510edc3b25bb922d86b23bf58c8f6f4c1051cac14e9281ed90942dc926b4069d
-EBUILD spidermonkey-78.14.0.ebuild 13023 BLAKE2B ed384c7ec25dd28a55ea548ffc4b88e4a283c0ac746f5b8c86b34455589ee05899a409ffe5054a87df483e4a5cb9746b2f6d64d0e76a4dc36878b10a780a1d3b SHA512 cc66e5b300b6adecc77a3695adb01a50ab44a05c6e656d1fa10d8e8f9fcf083cf6cef84db9a73af0bfaf82f80d94a057aa0469711f16e1df60f299b6c97e4c2d
+EBUILD spidermonkey-78.14.0.ebuild 13021 BLAKE2B a321dbcb5856cf9f86c462f06c26c2f004f2bf0a9fce72392a4f8ead7b06e7f617eb362274ad8f9bb324d447f45ac735da0d52fd88321558faa44a6dcffb13e7 SHA512 1f32f4747a6fc2e66f256db53f5db502c75cab0c6f2ed31bf6aafc265155c1bd0d66cfdccdf17ab6272ef01f00523960eed885777b13089b0ee6f90a21cecf2c
+EBUILD spidermonkey-78.15.0.ebuild 13025 BLAKE2B fcf3d5b84fd0cb37672b00bd2298c842cce44158a8daa6847c5ccfbcf84ae9e26fd37cf336b821ccca43ddf52583a9679684ea22a0b84d15b19226be3cc9b3f5 SHA512 33aa7146f1bd7f965909b677d6c9611b8ac28eea8f9045ec811eee8c58fd35a701562550b339d6d5eb74d4541eb50b27240ccdca46297971dc8fc4992945021e
MISC metadata.xml 869 BLAKE2B 79d6ea91e84e3bb666797cde6b2993282ff1b4266dfa835eaf02d8aa65d5d000729b149a49c9fa5c8dbf12e4b97b46d976243c888834db9df73a8a5c814aa610 SHA512 f78399a1ad88583c50ad1e967f5ba293cdfff7d58cf26b87bd8888c7102b62d42ef1982d1b8462f3d31f0806b6cead8db28b7f0c7b12c08d3871607b5a4c63cc
diff --git a/dev-lang/spidermonkey/spidermonkey-78.14.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.14.0.ebuild
index 37e39ce61b57..7fadab5b2ac9 100644
--- a/dev-lang/spidermonkey/spidermonkey-78.14.0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-78.14.0.ebuild
@@ -60,7 +60,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}
DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc64 ~riscv ~s390 x86"
+KEYWORDS="amd64 arm arm64 ~mips ~ppc64 ~riscv ~s390 x86"
SLOT="78"
LICENSE="MPL-2.0"
diff --git a/dev-lang/spidermonkey/spidermonkey-78.15.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.15.0.ebuild
new file mode 100644
index 000000000000..bb963d8b2c55
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-78.15.0.ebuild
@@ -0,0 +1,454 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+# Patch version
+FIREFOX_PATCHSET="firefox-78esr-patches-18.tar.xz"
+SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-04.tar.xz"
+
+LLVM_MAX_SLOT=12
+
+PYTHON_COMPAT=( python3_{7..9} )
+
+WANT_AUTOCONF="2.1"
+
+inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
+
+MY_PN="mozjs"
+MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
+
+MY_MAJOR=$(ver_cut 1)
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="firefox"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}
+ https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc64 ~riscv ~s390 ~x86"
+
+SLOT="78"
+LICENSE="MPL-2.0"
+IUSE="clang cpu_flags_arm_neon debug +jit lto test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+ >=virtual/rust-1.41.0
+ virtual/pkgconfig
+ || (
+ (
+ sys-devel/llvm:12
+ clang? (
+ sys-devel/clang:12
+ lto? ( =sys-devel/lld-12* )
+ )
+ )
+ (
+ sys-devel/llvm:11
+ clang? (
+ sys-devel/clang:11
+ lto? ( =sys-devel/lld-11* )
+ )
+ )
+ (
+ sys-devel/llvm:10
+ clang? (
+ sys-devel/clang:10
+ lto? ( =sys-devel/lld-10* )
+ )
+ )
+ )
+ lto? (
+ !clang? ( sys-devel/binutils[gold] )
+ )"
+
+CDEPEND=">=dev-libs/icu-67.1:=
+ >=dev-libs/nspr-4.25
+ sys-libs/readline:0=
+ >=sys-libs/zlib-1.2.3"
+
+DEPEND="${CDEPEND}
+ test? (
+ $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
+ )"
+
+RDEPEND="${CDEPEND}"
+
+S="${WORKDIR}/firefox-${MY_PV}/js/src"
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
+ einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use lto ; then
+ if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+python_check_deps() {
+ if use test ; then
+ has_version "dev-python/six[${PYTHON_USEDEP}]"
+ fi
+}
+
+pkg_pretend() {
+ if use test ; then
+ CHECKREQS_DISK_BUILD="7600M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use test ; then
+ CHECKREQS_DISK_BUILD="7600M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ # temp fix for https://bugs.gentoo.org/768543
+ # we can assume that rust 1.{49,50}.0 always uses llvm 11
+ local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }')
+ [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}")
+ [[ -z ${version_rust} ]] && die "Failed to read version from rustc!"
+
+ if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then
+ local version_llvm_rust="11"
+ else
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+ fi
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+}
+
+src_prepare() {
+ pushd ../.. &>/dev/null || die
+
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+
+ eapply "${WORKDIR}"/firefox-patches
+ eapply "${WORKDIR}"/spidermonkey-patches
+
+ default
+
+ # Make LTO respect MAKEOPTS
+ sed -i \
+ -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \
+ build/moz.configure/lto-pgo.configure \
+ || die "sed failed to set num_cores"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ # use prefix shell in wrapper linker scripts, bug #789660
+ hprefixify "${S}"/../../build/cargo-{,host-}linker
+
+ einfo "Removing pre-built binaries ..."
+ find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ MOZJS_BUILDDIR="${WORKDIR}/build"
+ mkdir "${MOZJS_BUILDDIR}" || die
+
+ popd &>/dev/null || die
+ eautoconf
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current CFLAGS: ${CFLAGS}"
+ einfo "Current CXXFLAGS: ${CXXFLAGS}"
+ einfo "Current LDFLAGS: ${LDFLAGS}"
+ einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+ local have_switched_compiler=
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ cd "${MOZJS_BUILDDIR}" || die
+
+ # ../python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ local -a myeconfargs=(
+ --host="${CBUILD:-${CHOST}}"
+ --target="${CHOST}"
+ --disable-jemalloc
+ --disable-optimize
+ --disable-strip
+ --enable-readline
+ --enable-shared-js
+ --with-intl-api
+ --with-system-icu
+ --with-system-nspr
+ --with-system-zlib
+ --with-toolchain-prefix="${CHOST}-"
+ $(use_enable debug)
+ $(use_enable jit)
+ $(use_enable test tests)
+ )
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ myeconfargs+=( --enable-rust-simd )
+ fi
+
+ # Modifications to better support ARM, bug 717344
+ if use cpu_flags_arm_neon ; then
+ myeconfargs+=( --with-fpu=neon )
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ myeconfargs+=( --with-thumb=yes )
+ myeconfargs+=( --with-thumb-interwork=no )
+ fi
+ fi
+
+ # Tell build system that we want to use LTO
+ if use lto ; then
+ myeconfargs+=( --enable-lto )
+
+ if use clang ; then
+ myeconfargs+=( --enable-linker=lld )
+ else
+ myeconfargs+=( --enable-linker=gold )
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-flags '-flto*'
+
+ if tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ # Show flags we will use
+ einfo "Build CFLAGS: ${CFLAGS}"
+ einfo "Build CXXFLAGS: ${CXXFLAGS}"
+ einfo "Build LDFLAGS: ${LDFLAGS}"
+ einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+ # Forcing system-icu allows us to skip patching bundled ICU for PPC
+ # and other minor arches
+ ECONF_SOURCE="${S}" \
+ econf \
+ ${myeconfargs[@]} \
+ XARGS="${EPREFIX}/usr/bin/xargs"
+}
+
+src_compile() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+}
+
+src_test() {
+ if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
+ einfo "Smoke-test successful, continuing with full test suite"
+ else
+ die "Smoke-test failed: did interpreter initialization fail?"
+ fi
+
+ local -a KNOWN_TESTFAILURES
+ KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
+ KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
+ KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
+ KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
+ KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
+ KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/language.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/region.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags.js )
+ KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags-generated.js )
+ KNOWN_TESTFAILURES+=( test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js )
+
+ if use x86 ; then
+ KNOWN_TESTFAILURES+=( non262/Date/timeclip.js )
+ KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js )
+ KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js )
+ KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js )
+ fi
+
+ if [[ $(tc-endian) == "big" ]] ; then
+ KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js )
+ fi
+
+ echo "" > "${T}"/known_failures.list || die
+
+ local KNOWN_TESTFAILURE
+ for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
+ echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
+ done
+
+ PYTHONPATH="${S}/tests/lib" \
+ ${PYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js \
+ || die
+
+ if use jit ; then
+ KNOWN_TESTFAILURES=()
+
+ echo "" > "${T}"/known_failures.list || die
+
+ for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
+ echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
+ done
+
+ PYTHONPATH="${S}/tests/lib" \
+ ${PYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js basic \
+ || die
+ fi
+}
+
+src_install() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+
+ # fix soname links
+ pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
+ mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
+ popd &>/dev/null || die
+
+ # remove unneeded files
+ rm \
+ "${ED}"/usr/bin/js${MY_MAJOR}-config \
+ "${ED}"/usr/$(get_libdir)/libjs_static.ajs \
+ || die
+
+ # fix permissions
+ chmod -x \
+ "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
+ "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
+ || die
+}
diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest
index cb1c9b0ed6f9..88cf34f97d12 100644
--- a/dev-lang/vala/Manifest
+++ b/dev-lang/vala/Manifest
@@ -10,9 +10,9 @@ DIST vala-0.52.5.tar.xz 3583412 BLAKE2B ee81903be59267ce3499dfd7ef4e73708431641a
EBUILD vala-0.44.11.ebuild 1112 BLAKE2B 481c622dead6198dfbc11fb7562b71e6504ab65e3ea354b4a575d138f4a881a8f1f1ae79a0071c7c965bd18c58afde0f79e37d9ba7947858236b408d72e38e18 SHA512 61983430919c70f1524f399cb2d45370f3efb2bd7f6ca347a4bb637062fa71b64cd8507fad5e10b1d6e9a9b2f70808e4cea3c93a2364421a888cbbd719f4110a
EBUILD vala-0.46.13.ebuild 1305 BLAKE2B 4855220ceb0594546be128b16092270a4d21459d6243c3510e36e556e5e075ab1caffbf579b2a661bbe6470eb24480879928714529a5f82b9d83b0dcbdfd8df7 SHA512 af281ba4479a81ce7e825df237d55e7db552a2f341fe27e0d41de4a0796d0e3e153f9eb01f7ed0ae2b070b5a2ccee6bc7ab32d890ba0ab99d6cadbc3ee14b33e
EBUILD vala-0.48.12.ebuild 1312 BLAKE2B 5acc6c67a78ff5aff422e44980db6072ea7f1311f46b107eba95ff2963b78518c2a60136c06fcf6da996cdb9bb222c7c9bda56c84c85166d7a69ca885b4683ff SHA512 78e461a215adbdfc7d7ae7ccccc9f97e1b408a133b0e33005841a74169c57adfc624e12ec0fdab9434ea6720649c3356e90cf9af79e698c2998fa93daac1290e
-EBUILD vala-0.48.18.ebuild 1332 BLAKE2B 388f8e0e4b21412e563da489931e20cdb66e755ceb8a2eadcda25b1b9fc29dbca267f0ea3234d0a8dbe5e1a7e54073307c8f9f71ee1e3f541964a5b53e4090ab SHA512 f6b7450012cbd5ef961d486cdfbf35113fb36e2e162a79cb91ea01cc4c64e383664586ca3cfd7be4acb87f2c5ff9ce7e9ae21f95952b33390112d87eab921689
+EBUILD vala-0.48.18.ebuild 1329 BLAKE2B bc08469627bbb901ec6a019e8f26e8fa8d1815886707d4611a1c4904aca659c2a997c226f99c9faa200f9c75a320e1623aeb1f2c4949d9754035f3319261ea11 SHA512 bf4157afd6452d9daa32824e3b4be8a485713bc530379bb91d0519513c2beb8d6ba66b4407e77ec0997caca5218b38fe0bb166b1d793e6aad0a755e4d108ee69
EBUILD vala-0.50.7.ebuild 1312 BLAKE2B 36746ae0645349498963828caec58e5e82cd9585b8381c268c6affbb884d223dcdeb2f629678de71d288b8b152820fcdf981d622659cafd249ece2d91b0dd656 SHA512 f013ca54bd4f72ba4e632fa5cd7817545bc778cd261c5167e9e566aca0cfa4b34ca7f02a7af2115701f2fae6830b7dab7ddcfbf312907210d064b96fdeeb9964
-EBUILD vala-0.50.9.ebuild 1332 BLAKE2B 9fe1b69692d19c75743658555224156857cc223d4a219585cc423706ffec5bb86e1b8ec9be850ce63042305c021fe3af4fdda862406f4fa51cbc5fe371a006f6 SHA512 b38b4d832cbcea5e4d44fc3b0f24c56b7617a79cde247ab155e3bcf3880b6d100b869be5e60d2f12eabc48c7b2c7c696b743557c3e8fc6d0bf19de10735d50fd
+EBUILD vala-0.50.9.ebuild 1329 BLAKE2B ea919c720ebd0099b6c9034736e3d618116203cf1f8ecff788b48f287c35f132beb4492a9e0b67fa005f6384d2b367b7b532b39847c81fcca8040541e73883ee SHA512 08144799024e9681d95c67aa9853787bfcda9b70b609bd957f4dbceaa64a2a180a0bfe6184cdbe55c76727090fc76ee84be070d413e55be0df45560a90aa9510
EBUILD vala-0.52.4.ebuild 1325 BLAKE2B 3f22f959527acc36013a9c07978b90b087b2075bc8b8208cfc190eac508d8192c6a2d5fa17bcebd259a6e18faf25e8e804b82e8463c05f9dca66484f555b4e45 SHA512 635fd952a9f4ab98718e22e5cf4806da041bda0ab2b09bc3cc18351de85a1350e912590aded7ba827d7d9460d5091c86900fa4216aea57fefd596357fa0212be
-EBUILD vala-0.52.5.ebuild 1332 BLAKE2B 07ebd950465ef0d16801dadd56096d7fa90c218c4e6dd08a6fd9fa487207701c02511c418d210967be351c12c757c342f268cba6f14ca97bd66087cef7ca6ab7 SHA512 e48dd90cd3daa8c2c6eabb13a1f00fcb636efa72c2d7cc581044692a2e78fc39b8cadc47b9ba46fead9f5f258204f25c16358ca81b3f4fa33d210fa6da28e2b4
+EBUILD vala-0.52.5.ebuild 1329 BLAKE2B 52721adfd91b42d54db4e4387f6ebb386c51b1f60ee8072c9446cd342564cca3abef4fd2f49ae3c55f1c4acb48a2ab80740df6bf720c68f4a32f3ae48cc099bb SHA512 e510b29ce883e367f4d9e1413829316ab59a1650916dffddb6f2b900ca8a584f5eac8612ce4ae89f7e58e84d8a1c9144b6ef58bc8ee392b68c9d41666cbbd263
MISC metadata.xml 346 BLAKE2B 277f10c368556c7d571d77958bde8a421a85f772ccdb5e9abebf2c7c86cc26c33a79a7e552aa76016c7cb8c32cd4435d8779befd42b1e9c8f904e28a0dac5be1 SHA512 a4092a8421609b743fbca75c329df84030f0debef4f6614a399af9a7b331c758a130a91e5eeb2815e56b9b3af6ba7509a3f39e8168bb4c482ef9158a58b69cb8
diff --git a/dev-lang/vala/vala-0.48.18.ebuild b/dev-lang/vala/vala-0.48.18.ebuild
index a58522c2d8ae..dce4f3430df2 100644
--- a/dev-lang/vala/vala-0.48.18.ebuild
+++ b/dev-lang/vala/vala-0.48.18.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
LICENSE="LGPL-2.1+"
SLOT="0.48"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~x86-linux"
IUSE="test valadoc"
RESTRICT="!test? ( test )"
diff --git a/dev-lang/vala/vala-0.50.9.ebuild b/dev-lang/vala/vala-0.50.9.ebuild
index 33197e0d6124..babe45897773 100644
--- a/dev-lang/vala/vala-0.50.9.ebuild
+++ b/dev-lang/vala/vala-0.50.9.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
LICENSE="LGPL-2.1+"
SLOT="0.50"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~x86-linux"
IUSE="test valadoc"
RESTRICT="!test? ( test )"
diff --git a/dev-lang/vala/vala-0.52.5.ebuild b/dev-lang/vala/vala-0.52.5.ebuild
index fa44e86dd988..07f4d141af8d 100644
--- a/dev-lang/vala/vala-0.52.5.ebuild
+++ b/dev-lang/vala/vala-0.52.5.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala"
LICENSE="LGPL-2.1+"
SLOT="0.52"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~x86-linux"
IUSE="test valadoc"
RESTRICT="!test? ( test )"