From 4df3bf9762850b34cd1ead5c80374d1a0fc3362e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 12 Jul 2021 08:41:54 +0100 Subject: gentoo resync : 12.07.2021 --- dev-lang/Manifest.gz | Bin 17520 -> 17513 bytes dev-lang/R/Manifest | 2 +- dev-lang/R/R-4.0.5-r1.ebuild | 2 +- dev-lang/elixir/Manifest | 2 +- dev-lang/elixir/elixir-1.12.1.ebuild | 2 +- dev-lang/erlang/Manifest | 2 +- dev-lang/erlang/erlang-24.0.2.ebuild | 2 +- dev-lang/gnat-gpl/Manifest | 16 +- dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch | 87 --- .../gnat-gpl/files/gnat-gpl-2016-bootstrap.patch | 66 -- .../files/gnat-gpl-2016-finalization.patch | 220 ------ dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch | 57 -- .../gnat-gpl/files/gnat-gpl-2016-profile.patch | 113 ---- dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild | 157 ----- dev-lang/gnat-gpl/metadata.xml | 2 - dev-lang/gprolog/Manifest | 6 + dev-lang/gprolog/files/gprolog-1.5.0-destdir.patch | 61 ++ dev-lang/gprolog/files/gprolog-1.5.0-ldflags.patch | 104 +++ dev-lang/gprolog/files/gprolog-1.5.0-links.patch | 15 + dev-lang/gprolog/files/gprolog-1.5.0-llvm-as.patch | 38 ++ dev-lang/gprolog/gprolog-1.5.0.ebuild | 86 +++ dev-lang/lua/Manifest | 2 +- dev-lang/lua/lua-5.1.5-r106.ebuild | 2 +- dev-lang/micropython/Manifest | 2 +- dev-lang/micropython/micropython-1.11-r1.ebuild | 65 ++ dev-lang/micropython/micropython-1.11.ebuild | 65 -- dev-lang/moarvm/Manifest | 4 +- dev-lang/moarvm/moarvm-2021.06-r1.ebuild | 60 ++ dev-lang/moarvm/moarvm-2021.06.ebuild | 60 -- dev-lang/moarvm/moarvm-9999.ebuild | 4 +- dev-lang/parrot/Manifest | 2 +- dev-lang/parrot/parrot-8.1.0-r2.ebuild | 101 --- dev-lang/parrot/parrot-8.1.0-r3.ebuild | 101 +++ dev-lang/php/Manifest | 8 +- dev-lang/php/php-7.3.29.ebuild | 2 +- dev-lang/php/php-7.4.19-r1.ebuild | 750 +++++++++++++++++++++ dev-lang/php/php-7.4.19.ebuild | 750 --------------------- dev-lang/php/php-7.4.21-r1.ebuild | 750 +++++++++++++++++++++ dev-lang/php/php-7.4.21.ebuild | 750 --------------------- dev-lang/php/php-8.0.8-r1.ebuild | 748 ++++++++++++++++++++ dev-lang/php/php-8.0.8.ebuild | 748 -------------------- dev-lang/python/Manifest | 20 +- dev-lang/python/python-3.10.0_beta2.ebuild | 2 +- dev-lang/python/python-3.10.0_beta3.ebuild | 2 +- dev-lang/python/python-3.10.0_beta4.ebuild | 346 ++++++++++ dev-lang/python/python-3.7.10_p6.ebuild | 2 +- dev-lang/python/python-3.7.11.ebuild | 2 +- dev-lang/python/python-3.8.10_p2.ebuild | 2 +- dev-lang/python/python-3.8.11.ebuild | 2 +- dev-lang/python/python-3.9.5_p2.ebuild | 2 +- dev-lang/python/python-3.9.6.ebuild | 2 +- dev-lang/ruby/Manifest | 2 +- dev-lang/ruby/ruby-2.6.8.ebuild | 2 +- dev-lang/scala-bin/Manifest | 2 +- dev-lang/scala-bin/scala-bin-2.13.6.ebuild | 2 +- dev-lang/vala/Manifest | 2 +- dev-lang/vala/vala-0.52.4.ebuild | 2 +- 57 files changed, 3176 insertions(+), 3232 deletions(-) delete mode 100644 dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch delete mode 100644 dev-lang/gnat-gpl/files/gnat-gpl-2016-bootstrap.patch delete mode 100644 dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch delete mode 100644 dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch delete mode 100644 dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch delete mode 100644 dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild create mode 100644 dev-lang/gprolog/files/gprolog-1.5.0-destdir.patch create mode 100644 dev-lang/gprolog/files/gprolog-1.5.0-ldflags.patch create mode 100644 dev-lang/gprolog/files/gprolog-1.5.0-links.patch create mode 100644 dev-lang/gprolog/files/gprolog-1.5.0-llvm-as.patch create mode 100644 dev-lang/gprolog/gprolog-1.5.0.ebuild create mode 100644 dev-lang/micropython/micropython-1.11-r1.ebuild delete mode 100644 dev-lang/micropython/micropython-1.11.ebuild create mode 100644 dev-lang/moarvm/moarvm-2021.06-r1.ebuild delete mode 100644 dev-lang/moarvm/moarvm-2021.06.ebuild delete mode 100644 dev-lang/parrot/parrot-8.1.0-r2.ebuild create mode 100644 dev-lang/parrot/parrot-8.1.0-r3.ebuild create mode 100644 dev-lang/php/php-7.4.19-r1.ebuild delete mode 100644 dev-lang/php/php-7.4.19.ebuild create mode 100644 dev-lang/php/php-7.4.21-r1.ebuild delete mode 100644 dev-lang/php/php-7.4.21.ebuild create mode 100644 dev-lang/php/php-8.0.8-r1.ebuild delete mode 100644 dev-lang/php/php-8.0.8.ebuild create mode 100644 dev-lang/python/python-3.10.0_beta4.ebuild (limited to 'dev-lang') diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz index 93f9cc23d585..ea3e0f9c3963 100644 Binary files a/dev-lang/Manifest.gz and b/dev-lang/Manifest.gz differ diff --git a/dev-lang/R/Manifest b/dev-lang/R/Manifest index 2ee1450b6a22..25e3455107cb 100644 --- a/dev-lang/R/Manifest +++ b/dev-lang/R/Manifest @@ -6,5 +6,5 @@ DIST R-4.0.4.tar.gz 33687611 BLAKE2B 40cdfd98fe6c9193deb729d151631c2b0f935accf5e DIST R-4.0.5.tar.gz 32466444 BLAKE2B 5dbbd289f4fd6347b4109eecaf65b50b5793a83edddd2cb391c20473607f136d91a8e9f4ab9e453f6927d2ca9145762920424e3a1dcea89309afde56efd5d32c SHA512 6ff5b0f9cb6b17f66cde1f5585d1b33659dbae8919d34c2e593f68a0bff4d0425aa9704d99284d103702a9cd42f613311f3a87af6b939b1af65dcec80bf2ca8c DIST R-78d6830e28ea90a046da79a9b4f70c39594bb6d6.bash_completion 13596 BLAKE2B 53338e4a1c4f68beb69247216e553dbcac47f660fbf032bfebf7a660e32d2cff5b11ed35411c52de7e1fd6e00bbf5b5ea19369a325fa0a38bd93d63dc3288cbd SHA512 9ccd19bb1b0c18a2f13035ccd6809447429e197e298fb4d1df808ef345d723b42f75a1b91c349f6dbb46e4a82e59ef33e11300c495d79b63d670d0c0f2b16a06 EBUILD R-4.0.4.ebuild 7311 BLAKE2B 63fc04096321ca5d5e3c947816ad02bf1b1fee47ea9e4500006ebc356dbf4aa70aca631497988ac33fb5a1e8ab2999a23f6b1d4519206a73993cefb79d2f9884 SHA512 6bcae68392035fcb25cf55e5e0dda41ad746ab5dcd1868477da801d8d7af82b0e3d0b52fa2d82009b43ea892bd9cf2c5b57c62aca4a7ee36a431e6f55b4cdf44 -EBUILD R-4.0.5-r1.ebuild 7317 BLAKE2B 315e2839c034b781875038a95915c20b2a7119d67f574031567a193387cd2b00064be5040da1c2f4e702652acc2a58d9e810d5a0c8b6ee43b5d6b3727754c4a1 SHA512 822f867dd53fe9a81208d9371c590191abf08c048601ec5bdc77ff9047d624f83918809d3a61ea3281de69c79165f18782915ae7c13b65384bdeeee7e647b37c +EBUILD R-4.0.5-r1.ebuild 7315 BLAKE2B 0eca2b7badbd113c8acfcc8b76dd5fa505b93f8e7db26c54738b1d7454866567ad7c4e999ed7cb31f512501fbc4de5e2bb81f630a7aea3af200799ae7a99a3d0 SHA512 f1c78cbda7bce8ab0b32f7f01c4050e83c0b9da268b66bb86638fe6e5ccfa67b6409c8debdb6106a29b8fdfc43268ec602f7b865e134b72fb4bb2371ace26762 MISC metadata.xml 1140 BLAKE2B 774221eb531b4e80f0650b627b9ce53d9a2daf6342b1f19579d2d046e1c83aa497cc764870406b7ea3cf6cbae899cb6d460af92991d62bc6aea8da026a441822 SHA512 297c7e17998f92fb836b0599ce5221aee1ba1e7b1504edb348a602b695faf381d51f32f6118f5ef4bb353f02e92ffc5b3520b8d317d3e30a68a3cce0254fa6b1 diff --git a/dev-lang/R/R-4.0.5-r1.ebuild b/dev-lang/R/R-4.0.5-r1.ebuild index 0250344292a2..330656c3f483 100644 --- a/dev-lang/R/R-4.0.5-r1.ebuild +++ b/dev-lang/R/R-4.0.5-r1.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 ~arm64 ~hppa ~ia64 sparc ~x86 ~amd64-linux ~x86-linux" IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs test tiff tk X" # One test required profiling in v4.0.2, check the upstream bug: diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest index 05e012b132de..0e0c6b1ea612 100644 --- a/dev-lang/elixir/Manifest +++ b/dev-lang/elixir/Manifest @@ -6,6 +6,6 @@ DIST elixir-1.11.4.tar.gz 2396885 BLAKE2B f63e835991420bce8cacd38a920637aa5656c0 DIST elixir-1.12.1.tar.gz 2458060 BLAKE2B 512f016cb7f064f2b90a4d2dae4ffaf957422f049322b5fbed1eef155687b1111de89df838c254cf123b904e64f746fc19175372166526c739d8a1d66f9abb0c SHA512 ecea8a95d05e85431c324c7e15fdd08639a52fa6031fb8ec671825debecd892d2258b3914fdd8417728be1a18202d211eeb19869797ad0fd022c6ec91cd05880 DIST elixir-1.12.2.tar.gz 2460047 BLAKE2B eebcb4b828bf445ece6bfceb40b228406a15b0d33fb6efcc2b34fa4a264d83c5d71aa9787c5b641e903fb97ba02da07f3edf76424136e3dab0248a65823f225f SHA512 4c19a6a0310606b3016b3699079dc5f667e348c86c92e7e998cbecbacd283f5f4ccdd3d83b757725ba637a39729e9d82673b596feee72e831d575630e2f3111a EBUILD elixir-1.11.4.ebuild 922 BLAKE2B 718117a8aee4294e70930d45d6b39d6522026c48165b9af54eae4b612458509e456586e8c6a256175ed4e66a6e36293d22d65d69b1fb40ec28efb6ee1b511fbf SHA512 e77cad093155fbcbab5247c18c4c45db407df167c296d9587c19826d303c0e38f431bb4c3ea61537dbfd0c211d4917ce08a38c6f6a2c7fb1c6040c0e279c9b8a -EBUILD elixir-1.12.1.ebuild 885 BLAKE2B 0cf4450d8fe1d52b905b67cc0d6f68d11397d0271740ac2bbfe83c7101859619e68c816c8f11de67fc9fc2352205feb3785f71d72bd532c006177439811e0ab2 SHA512 47788cd07700abb2e6bb3a405b9e0a34444d5242deec6394263819bf61e2d34d498e57b5f26d31af9a0883a89130f61846ad56373bbaefda155599f59acc6f38 +EBUILD elixir-1.12.1.ebuild 883 BLAKE2B aced08cbe2bf019d89d11d0fb85a884e96ff211d348f8af7cf9699bc1793a85850e736d7c2fa35cf9e026875b5771bb06d99a6a03ef2cbfb7aa9033eeff0d0c9 SHA512 544bea168a5dbd07b7820e1e18c71221379785434a59350d5e2434dcb0f9c3f0447a0644dfc3a656555c261c2f290684c7131e0ada4e73884b016e7b69bc29e9 EBUILD elixir-1.12.2.ebuild 886 BLAKE2B 946c6fb8fc5b2500ff4a58bda868b3ed5beacd1065e49ca410a0fb38c3411482843dce90a4eab87ae8ac96567cd167ffcafcbf960dd059d8411744e3fd125597 SHA512 8256f2f7d0d3e064b99059f5d9b2defb4275bbaf81529e44bd761b28e035e11dfcba21c8f446b9368198d9047980fc955c3c6faa9bd03a9c818ccd2e26dd0c49 MISC metadata.xml 820 BLAKE2B 7fd55cc9f7450d46060069909506fb74e93234ccd319b5f5b428580fd4f55c59c2ada78770ae744d784838574d87522d3e94f101eba06b5a64ebcb513db4eef3 SHA512 11300d8d6d6cbb73b55d4dfb44d04fc087867bab1fc3fcb0564473d911844d3be148170c03a9247c6a407d8de88442ca6017c00177d93be46b37166d3ba42593 diff --git a/dev-lang/elixir/elixir-1.12.1.ebuild b/dev-lang/elixir/elixir-1.12.1.ebuild index a62e3bc859e9..984a5d1789a1 100644 --- a/dev-lang/elixir/elixir-1.12.1.ebuild +++ b/dev-lang/elixir/elixir-1.12.1.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar LICENSE="Apache-2.0 ErlPL-1.1" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ppc ~sparc ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~sparc x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index 39a66021861d..ac8865c769db 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -15,6 +15,6 @@ DIST erlang_doc_html_24.0.tar.gz 39731398 BLAKE2B 8a9fe3acb4cc13691e16c477cf89e8 DIST erlang_doc_man_23.3.tar.gz 1456501 BLAKE2B 414bedee0e316d97b26d9d6418b799a9434a22e9980e7d3a83e2478d184d63d1633c0e10d0e180d929a3cacd82b4d703be86cbc8e99996037f6b37ea122f7a8c SHA512 6c661c210ffec4752afe624fa46700a0f62cc6589b74b859ab1dfde77d289e992988ac8744f7b4126d7512cd6d0aab3321f710a6324552b259bd7acd5b54a05e DIST erlang_doc_man_24.0.tar.gz 1666152 BLAKE2B aaef8165322f39f7410840eafe562ec5038d9c89b4fa99b3b1d5748ba70fe755ba732de403dd916328e1fdcec895e2a347db4fb8c8837b5e41155439c9c54ef6 SHA512 7251f6eeb0534cc8538236a2c4be9d732bf0a05ba6832f9b3859116f9148e469d004331924c7187b07204798afb66067bfd321c8905000c355775927e5841918 EBUILD erlang-23.3.4.ebuild 4499 BLAKE2B 06891eb432ae12d43e860ce0773eb01768ea75ec4f16c365fbe16c22093039e5b18aaa4d3ca558f7a64cada0fc405ac0ba898065b80c778ad9253197302c5145 SHA512 09397c1f46fcf92ef160dee067b9dbf9e0a9125e112f28748180166ddd0394ad34f03e0ddcf32dccff101485927f41c1b1a4376a66bbfd52c8fb2f74bfac27d5 -EBUILD erlang-24.0.2.ebuild 4688 BLAKE2B 2262a81932e8400239b2c2210cd43770bf7901779e131338e41ff00304fe0b339eb73f06c54f7b1a79d39c99720db368d5aebe90b569f4a371267a5596cc7081 SHA512 070588d0e362007c51ac875b896d773b6f74ab10317df6b5a0b55dc4dfce004a34b2a0ac98a5f36ce1407dc5e0b489b9780669e9d6684ebdcf7d34290dcf5640 +EBUILD erlang-24.0.2.ebuild 4685 BLAKE2B 4591f62978ee5d34cffa95b167e344a886ea3ac0e02cbe4ecabc29e145a67dcaaee61b057061249878285628addd053ee51e35738d93e3f7353c5734b7901083 SHA512 fc1aeb839c93cae56fe2729b82508f5908fb30e9891ff5b08755e11473985c91706b10b679c296aaa8256505ad1c0650f29854988dc51af206f70ea94f60bb68 EBUILD erlang-24.0.ebuild 4518 BLAKE2B 16fd9ddf0f829df46a5edd2349cd309ad931ef7b95c8e3cd4c02b5d3af38e72233ddd55cda5dcecf9b095ffb8d98d66d2082bd4b5a00f2a3a3d975b4c3af2d21 SHA512 e2b266b4bd283d8782303e6e213eb479e7fa1d4a7d69c3ffd0895d1fda7dcf5eda99445ef314a4497fb146dd40a7a1b25aaa7371b7b412bba148ff4c54bce16a MISC metadata.xml 864 BLAKE2B fb20217a05650be9d9f454a7ffe45aeb7e41ad4f9b1616efa94f5609db4d8de1b5848268e6224c256c2ff86b0d3bad578d6e4f0e43c4e8bf433e7a7e9210ae98 SHA512 c4aae8e974789ce095eeaf7d7517da16351b1ebb60cc98abdeebc41147be4bce084081d4f7a03727f9070434a9e1347c0ebf809a99931bc7177525726cb9c161 diff --git a/dev-lang/erlang/erlang-24.0.2.ebuild b/dev-lang/erlang/erlang-24.0.2.ebuild index ae5aa0920a4b..a953a96263c7 100644 --- a/dev-lang/erlang/erlang-24.0.2.ebuild +++ b/dev-lang/erlang/erlang-24.0.2.ebuild @@ -22,7 +22,7 @@ LICENSE="Apache-2.0" # same build of ERTS that was used when compiling the code. See # http://erlang.org/doc/system_principles/misc.html for more information. SLOT="0/${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets" RDEPEND=" diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest index 44517d30d4eb..06d3ceacf020 100644 --- a/dev-lang/gnat-gpl/Manifest +++ b/dev-lang/gnat-gpl/Manifest @@ -1,10 +1,5 @@ AUX gcc-configure-LANG.patch 2052 BLAKE2B 28c36f4992e41305ee421dade5eaaac34e3bdc523665b03f360f2bc01e8f69e9dc48052edb80dece63ab561e80325b4f125502482eb16f7324f1c03670021550 SHA512 a694c7ac2f45cc657097ff5b0cf1356ac88a9c06035c9ba15167e9d444844d0d8a478eb1b9b62195dd063774f79697b9148b9cdb6c261640b472c291061b2129 AUX gcc-configure-texinfo.patch 341 BLAKE2B d2ea3b2ea08f5d3a498ba27d0fb95e325097e2104e55caa28b66515cb48662649140d90b639369aedc54b2b1178fa4b49cda442f5f504e09d88a2efa45a5057c SHA512 e8d34c5077409df5495cf0c5fbf5e77f841c5698108fa6a5fde33eb28202c685603bdefd8368918e55f30c4b995e895d71d64c715c1ec2b017e09eb2c54c09ff -AUX gcc-spec-env-r1.patch 3148 BLAKE2B 30ceb113a510092a907b445c4b2131f148f7fef54a00a88b5c389bbf93b8b61bc12c86a07df03d57280759e5485ac0cd89ea69826ace01b5720681ca3102640b SHA512 ecae71577543772cfe1711f1b4a8815c0b5d706ebd01edacd1f07586637d4805e25771f970a6e6d1bb696d4b1b5ef3e0036088a96a9f6beff7ddaee704175d16 -AUX gnat-gpl-2016-bootstrap.patch 2698 BLAKE2B 2fe9519590f0870aa201d550e027eaec311961c07b62f470d77f1de125fdf81cab6f884f08dfd8b957b7c2880ad04a7400f3fb395f5404d6c467373042e2fb0c SHA512 c712234b87aa66379bc52b43bce31a2dfd8de996030588a26261bb08471cd6e92587bc5aa35bb8f776a5128b1deb524e37aebe1c0b970a98210d653b5094d95b -AUX gnat-gpl-2016-finalization.patch 8125 BLAKE2B dae1c3f3bc98c6d4e56388888576487af5df0aab3d68bd30b991e9a87d49411592acbab989739c02b27a5789087d8913a0b8ab1764ce01e7709f9838e42232a2 SHA512 b304cebf1461fb50dc9a3e3e7a87f25474d7e10e483226bef6c1de576f0f59d83e2f0a048fab17c3772865770b34f3e7f67ec70f5cd60ea2db4314d7f6d45e6b -AUX gnat-gpl-2016-gentoo.patch 2811 BLAKE2B 9bc0b4fe62229a05b446f029265f6c04762b7054d735cd22d73719370c8a91ae95d1ac1c546b95af608037f8447c932765434e8cd5fc5db1a7e77ec908c75425 SHA512 f75e22607e52cebc22a1f72e8548372ee7c36a2bd3a43cd995b406c35eb824c668f3188f239fcf39b85315c407ac16a27dad77b55035105e53b79218aaf6a34f -AUX gnat-gpl-2016-profile.patch 5593 BLAKE2B fe874e0543be671a9ede195c3cb01b9902357df4b412eaf3bf300bf032abd6e0a26fe2fd0dc0e71528ce9a6e454b83d9621a437c9efab629086f354eb1b3ff9f SHA512 ea45d2fcf98f4859676afb01439639e54e30cced8dbaf12fd9562dd805bd35ed2711a618834fe3acc8ad855386e58c9aeed007d046e300b60bbe6155d07386b7 AUX gnat-gpl-2017-gentoo.patch 4510 BLAKE2B 6884a6c098c4208423e0494e9db10d4529efc176653e71d1feae6bb1c795618acdc50e29e373ad1efda49a479b2238c885b3548a94d3db33d45fd04b968a8cbe SHA512 28decd292d70ddbc3b01a7251ab44b0fee76b5dfd05bb3bac6d62767cb6ba8ce46c8908d0feeb21209c761b18f1a5048f2f39bf5b65175616f02d3705c3c9e54 AUX gnat-gpl-2017-libatomic-Werror.patch 558 BLAKE2B 8bf880b8979f4e03e4401b98e5156beaf6a4127d1ca66331801ce49b957ab60d3726e51ecc55b833981bccaba91c7966b1f14d8b518204aece0fdcfe9df0937e SHA512 4246b1bb570a5976d2a4ef843035fe706f13f8f5838515513265a2d12bd6c80fe09d2f93327e333bcd816dc225c9638ba919e0e0cd81c02ef96813b261d968a2 AUX gnat-gpl-2017-libgomp-Werror.patch 575 BLAKE2B bf4f3d585b9b9439a94ce83325f18ca8a1a94a474ee561371466cae5b58a95f5b80ab8382f98b2baf1cecc400c6bead6c68a3e44a5bed0b8d6d0498fbfd41059 SHA512 4d42047c159df3fd9397c3a81b9a182c55aad9345d3328a50af7b3d4b8b67b6538fbab1edc709e3a5e754fdaa9802a12a1b8b3de002819c25f1f1babd88ab80e @@ -19,12 +14,6 @@ AUX gnat-gpl-2021-gentoo.patch 1631 BLAKE2B 445343bcc5e12ada65090ba9f9a77bcf63f0 DIST ecj-4.5.jar 1470676 BLAKE2B 793c10ba09fd8040c0e1181204141aea16780c9c9088e07126e00da2b510af2ad6f58d876357d7e98cbb02d783a3be434469d5de1df134ccb8cc508e45028d80 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e DIST gcc-10-2021-20210519-19A74-src.tar.gz 109157702 BLAKE2B 8ec307e4fde35c8726bc7b9702717329695bad928d5222a7bb691cce47500de31a60bcfcbb925129a57cb81d3d7ea92e60599aa7383d5358e63cc087b0482550 SHA512 2e2cc0ec9a3a82816a5d399d2db261c356e106b82a44efd54a1ac882b96549ab8de79c69858127c4397de6e9e9463ce6fb9994fc2e426e7d3d2f98d5efa2edb6 DIST gcc-10.3.0-patches-1.tar.bz2 15282 BLAKE2B ef283e8b108af9bfd3324fabb95c835374113c6ff2cf1430a5568b3d1b27183e6de6751367c1e5720c85ac4c45132848888d5510c63f95e88a1f623b6bcf4000 SHA512 6dc435c8619a1532000fae843b9964d0d1e28d3cc9cc1962ab7391570a0cf1135424ea5c0b0d3d5ec5ea863f02e963be2ec4c94822f217fc692a1d808325404e -DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 BLAKE2B 96f5ba2028bc6e0ef71e009857c37118a54d13d30de24d697c85e5772f9f2b7853615648cf2e4ee81d8385f6518c64588c0b56675c00f95ef39fca2a808f075e SHA512 779ecb0a064d2138b54569c8ae501975b8a6b72e5a3acbf8597619a8db77ee42ef9b0e62608d5192a15e4393e7dfc009bb50b994782236faa744b2c46b5fe517 -DIST gcc-4.9-gpl-2016-src.tar.gz 76361760 BLAKE2B 681aac3dd2e04110f58637cc9fe1eb663ce55af16a929a446eb59ce338bec9357e65517890f7fa01d61eec9c5041336722b2b94a5fea27a55ade686fe1fe9fbc SHA512 da1e26b4dbbe0ec634eab4e64d1cdb2632300c24f0885bc72fb57edba6ce29ab92b04eaedd8f8077ea623f1ef1428f53616e8c8d6630328d9790d968b60c67cf -DIST gcc-4.9.4-patches-1.4.tar.bz2 27240 BLAKE2B 26b7d08bad4b617ede2564f77ded67cc87ec6b9f6b4d4ff78b5b75c1d5739fc4049480c716075d74c9b8e23a4a3c1889796cacb3456a3982ab04a0781fe3cd04 SHA512 efa60a7f86e684710848182c7d040565c9cec7666e897adc02e5dea9d4c76117deece7b1f7e1f8772cdec9697bb92b762f93408824e47b3f63b4f35029f50a4b -DIST gcc-4.9.4-piepatches-v0.6.4.tar.bz2 14414 BLAKE2B 2eccd4f2a164fbb32d13c7fe91627a2424c0a5570fe0cac97c2bb1c95294ba3d770832da7c445f75c91791466c5139a1e13753a3a40d87ff5e44e42749adee27 SHA512 243fa272ea0e49f700a76508bab3e03bbb353bcb930581b2f87f9a47df5cd3880e29f20b71612b21190adc463849e1e6ac2a38a49c0002b562d93d436f538285 -DIST gcc-4.9.4-uclibc-patches-1.0.tar.bz2 2618 BLAKE2B bff85a4088fb94fdb7a8b0bd552be98ace3e6d145889b6f8b4a1f2db2dad14342d155890ab159b42d5b55d88dfb7c392eb7f92590084e1958f6284c561da30f1 SHA512 5a1f44caa9261f4947101379628143869b31dec67fa28605e8e1f3894d4b7120c3f68ba6deb59da7a74fa906e27ab32cd3767761837dc3dfebc37865d349d6db -DIST gcc-4.9.4.tar.bz2 90097606 BLAKE2B 373ff939ea72d6c4a7f3ab899b852b4c919481af2cfe3291281d9354c58a270d2eba73a0f301d90840dfabf423c82b368e113df7a2cb6cc28b2a703b0b6eb585 SHA512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe DIST gcc-6-gpl-2017-src.tar.gz 88045488 BLAKE2B 5df712eadef723df9057653e49d215cef6b59032e4b4a62c8622a7b735c660f42ec4135dba628a2080a7540d407186a4e4b1eb373e937374bc4e407dc9afe97d SHA512 bf8f786b5ad28a6b7d184fb5263424b7ed62154e308e259b61c24a577efdae56939fbaabc1fc53a0f467702c1e6d8598dc6e489ce074724799130a793cfb146e DIST gcc-6.3.0-patches-1.0.tar.bz2 7596 BLAKE2B e3c298bd80b83e72d6ea9b4ec777d4f28153bf959da1e54307909383efecd2bf0e7e0cc9d9b27529e5f00b2e27132bf5ff6afd2129d061d3b111f9cfe732a874 SHA512 8fc96086bd3da3726687ee9d180d3b5d0a7d5814141d44eac8eb01566a783ec780c8fb8f55f75d6e9c9006b2e407e20cdb5835d541b0b66a47dd60642861734c DIST gcc-7-gpl-2018-src.tar.gz 90302033 BLAKE2B 2f79137e176bff04c4fb17ab863302943588226d5b599dfa1acf0e495111be1c581f4e130f911c312916669c4f2707eec5218601db090d5060248b2fe481d710 SHA512 79f06deca5753251de82a703f4a9698c117706290df779291a5405edb06f1c225d1d2416bda0e67dcd87cc308bf79504e89d4bd8e22aa0eedfbf06d88bc37f33 @@ -34,7 +23,6 @@ DIST gcc-8.3.0-patches-4.tar.bz2 17095 BLAKE2B 449d83371bf5a70020f4caad38d7b8f79 DIST gcc-9-2020-20200429-19AA7-src.tar.gz 101030094 BLAKE2B 843d7a92f206a08aa6c0fb41b8b93db494eee26c15872b8d8547685c1013559856cd83c5a4139d8ba68aa6737c0270502fd5547664b458cb8fd023f5ce9601e8 SHA512 2eaf999f4ef7f0216b7bab9963ce1cb9dd4be4d4645415183a0e0706ce0f0f119a5437c482d60db16ea152ebcb36186fc7900ec196fc7b8022d4d9cea2e5a631 DIST gcc-9.3.0-patches-4.tar.bz2 15474 BLAKE2B b06fdfce4402850bb1c6c211ace4c3a07ad2114ffa48eac58d1624124d5d1bddd6d2b4faa18be3291a340272c022bea26dfcaf17929828ceb6474a5211401389 SHA512 54904a4a1c4a784f1a707cbdd9f6f498457e4aa550dc6f3d6eff71ed05a75685e23e6b71c2a614b1dea7e506b9f42fb0109ecfde00ef00373275bbc0409cb7e0 DIST gcc-interface-10-2021-20210519-19A75-src.tar.gz 359085 BLAKE2B 75f941a7635f2880cc0192acb49d8e7f567baca7530fb981be14dc6cb1bf46fda0e3c043c8703cdbeeb242b548894e0bc6787adfff0f27198354d150e6e36386 SHA512 0251a93d20c59cc4705963438880fe265e2e0bb94a35b7ddaaf03e9efae60e044e585a2204d0773a46f17b3b774e4d0c73adf852f5d06ba17373d26ed580ca8d -DIST gcc-interface-4.9-gpl-2016-src.tar.gz 339037 BLAKE2B 8218ea3a3e3ddb11febb5f2fbcfad69ec25251d3ed6bf4f9c70dc9b3720cc2fb3310d704db40bd0c749be89b17a2b3766ddae3d6158313480073856057ad4bcf SHA512 507df314d1890c228c19f458bd51197377deaaa2d6082fe1e71b62b683252ee5fba4adfe2386246e14618b1c77288e0dcb5bf501e2daaca249b6299462c2f6bd DIST gcc-interface-6-gpl-2017-src.tar.gz 347016 BLAKE2B 934c6dac491abece9a6868d28fe9d2a6a1109238fe25c9b94abe83dfc22a1085489f0e0384626da0a3abeebe7537c5715df49a7e2d40577c96eb7ac897b84fd8 SHA512 5833303fce5bf812ccbc71f3d3726c0cb877937d75327edb15097c0b7dba58024a52688392906695ab92fb4e5d7a6623671eac9a05d17937dc0270bafcde920a DIST gcc-interface-7-gpl-2018-src.tar.gz 339461 BLAKE2B e6009c0b287b1cd8f055226e6919c12f2ba08f8ef24101608691b05b70a7fb0ca708e2ecd126499fb84a126436d3841f1a13be0b6d3442ef3bd3871391f8e1d5 SHA512 9dc942a39dd983778756be2951b4c66ac3835bf456dc389f80ffbafdacde4ebcb80720ac9eca8fef8734d6d052c061db37c88dba642d85add10940164d120381 DIST gcc-interface-8-2019-20190510-18F59-src.tar.gz 352408 BLAKE2B d08867737fd5a2e8aa87e61efff47757b587baff67810eb9193fe72b68578bcb130f0c1491599588d130663d908b9c6c9a604b1352aeccb79e9dd3bfef4b9f61 SHA512 c4a048725517e674cc43b7b72e3b1bdb4f1cf9d81fe3b84dd177a2fda8c7af11c3135e883072b640c8aa351625f49573727c859064683e8b5f096fdbd3990c38 @@ -44,13 +32,11 @@ DIST gnat-2020-20200429-19B04-src.tar.gz 8485156 BLAKE2B 79683138873b236d8329396 DIST gnat-2021-20210519-19A70-src.tar.gz 8765762 BLAKE2B ef48f54c6109566e37bfa5dee9262305d0529b3dfd333ee28bc4e66f4709a0673f673d742bc04deb15dc145404f7618d350dbdf3f2a7ab37c861e57d011946fa SHA512 3cb79be024fdd9b738d99ffc8e224d32bb382b5da2d02b97b2061a5ea58456f33d4564c92e224af2713ce15fd5481edd715e5b9a52abc74fdc142f27e103c201 DIST gnat-gpl-2014-x86-linux-bin.tar.gz 233049287 BLAKE2B 2e8bab113f6a319533ec12fdf71c481f72aee227c22bd0cc42a53bd727b323caba1e7b6298053db8b4d3016236b31649b0b255f4ebcbb81a08a69f29f78f13fc SHA512 ac7f53fb4bd71b0e8fbd62abc45de76f7f8f2f405b80e9b60b4b65a6cef6ee98e3b06848e4b752af3c8268237e5a0529cf6145ebc5b33cd6e5cf4928d85f5be2 DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688b8e323d5a02e2e9707ba1f02835ea551038d0a09aafede93a224091e5186f2f2a9d0f96144027af2184ee05ca1c19cc997a6cf3902df7 SHA512 5e40a251baac3d0ace78352956ca21a7d294d902d344a9ed7a8d376e900468c283721ebfb773adfedbf4d623ace02536505c0147815a0c1908933ad611ea085e -DIST gnat-gpl-2016-src.tar.gz 8857249 BLAKE2B 3ff0fe247990e2a612ac989aa389e9ccae2e29c16177975c327b53ae1471030d0a70e5a2e3af219ad9a3288c241f2d18da349d0650f7fde01d439f4e4720de88 SHA512 4a5cb58ede5b4ae2887e64f0f2e12e0e06470d320796f06d02f7ddd932ff0d3b40e6d3e98a81138fff6906548a55153c2a186ff4a6e3d23b9dbe01ca582da1f8 DIST gnat-gpl-2017-src.tar.gz 8783473 BLAKE2B b0415b42f4d3a5e8675591a5602ff0a96945670104064671a232c0c12271ee141a3a5d148b8507bdab83cb8a0677c57b78e690060088308c51732bad3715964f SHA512 ae7314a2241107ed4d962dce08306eeb34c5f11e26183935bbb1ccf3a5eb011d6457c1b6fcded93dd0ee9ba31d791971ebe2a5a5a0ae04ff80d87a670325a098 DIST gnat-gpl-2018-src.tar.gz 8706578 BLAKE2B ba245fd91cc5263d5b8c159d9e75caf6bed21dcaa5fa43734af8775a4008ce5f96bfb84a8b5e6e734ff883314ab3219dacec3fe95a5baa33fb712bfb5ff8bce8 SHA512 0ff7e848ef77f7e772e2a1b01905307a91c332f32329456f5238c4b7eb46cc118709e8682a5fc826d98a7d99fd15a92c194f4a278f04bc465165cfa616cc3c2e -EBUILD gnat-gpl-2016-r4.ebuild 4274 BLAKE2B 94386fd3a485575a83ef519070048620b523f1a828095f4ed10a956844e40c77bd836017ccea10c4e26c18494554c8a05fd74372254ba3120e8fc49b79bd2c95 SHA512 0e2e685bae752ae594e336176af1dbe6084a90f2b2b7f4813de62d3ca47cdfa20f7d1b3019eb9832768974c0b16a4aafc05bb168346c67ef16b3283ae046fdc8 EBUILD gnat-gpl-2017-r1.ebuild 3871 BLAKE2B c4ccc2e03f13202ca0fe7c6bdecab7e17bdd28a866b088bc51b7915620cadbed1d35ff8dd3e134cee94b4bd960f02cb86d3154599c4779ed6daba5c7574f78d4 SHA512 7d8a81004f4332d4fed01a79edce3503cb1055797341f956f585935dedf54543eb4eecd72793c902a273c1b11ff9dea8cdab6e44ad074bab84dbe907f041c2d9 EBUILD gnat-gpl-2018-r3.ebuild 3833 BLAKE2B 81698959e5e8cca3e58981132d0bee06473d935310abfebd808128eaeadc032b6b88bb13b529f653e92cf1e7009aaa3936f47c2aef4048071971f04a4921311d SHA512 1933f29978b0a9000ae9b5bb6cf38d186f912fce8d5e89a97a4c6386680ca02fdcaad71e18f36599f3d0974613c2de229776dbd2398bc2875e3c15885e8b7c18 EBUILD gnat-gpl-2019-r2.ebuild 3578 BLAKE2B a2bb2a094b2c47620ca08156962425ec8210a27ad2ef712ab99f6e759a4a4f41a8b59c09230de8d12abebcce8b271c992c3a83a129b5ef93f1e8f71462f6c217 SHA512 7fccd20ad3b6cee151b8f7a4ea3b1d6b2d882aaac3a0903502f14df7d292ebf984fe72ebeffb8fda8f36288380669da5d4da6fceec795090a36eb01b9de2b833 EBUILD gnat-gpl-2020.ebuild 3699 BLAKE2B e04eca37d7f42aa6586a97742d7c7cc05ff90450a166acc040c1d9a697826dc8cb021816207398e42dae67f5b287a4be1791d2019b4512861ff0aa53b1808259 SHA512 93fcd321a9c23a988e4110fdd59026e6e745dc3d7cb6c58a13e9169d639e23008433a20f73c568b6c57932be41d32aa19abbbe16a75b3496255c5799bb18fb5c EBUILD gnat-gpl-2021.ebuild 3584 BLAKE2B 1d3bdd544bbd540ea6aa300966b149bf9551c03944eb640cf1353a76685ee33449a3e419ff750c74be4f473cae92d9507d4dc25618e05817e79770a75aa2c93b SHA512 70c538924beaab920d28e51ef1da4c26669f74c1af0bcfe2224e1c9601e388a88c043f001cd7340057520daaa3547188f8214d6a62579d62d84cac58314a2fb4 -MISC metadata.xml 2355 BLAKE2B 636a4b15afd94397bc6593691e65b4c6d0b5711a58d710225acaed13aa2c6d170d26ee7a316415ccdc407cb8cdb9456da39212b6ea88dd19da227e525f7403fb SHA512 2e84d7deba26724ee438adbdff8d99c61116ad91e9abc1ecea3343f7278cef8061ab89040bb33d832bd53fe66ab30fac1852f7c6d49700b3b9bcb33000ac50e6 +MISC metadata.xml 2215 BLAKE2B 54423260af69b60aa5ee70a03210ac597b3c4a4e1d944a3548f9a999d048866f4708f27090b5715c915e46b71f3690768abd4bc8490fda966a1849dc4a3c0a26 SHA512 1b0472f273f75973b8ed1d72bb9678985af7136434eb5fbbe7584f7adb6b93d3d1c345705e5b4412bc016da4cb9f1b09ab4d5329eb1547b92e588ddb20082407 diff --git a/dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch b/dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch deleted file mode 100644 index a58926836e4e..000000000000 --- a/dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch +++ /dev/null @@ -1,87 +0,0 @@ -2013-08-22 Magnus Granberg - - * gcc/gcc.c (main): Add support for external spec file via the GCC_SPECS env var - and move the process of the user specifed specs. - - This allows us to easily control pie/ssp defaults with gcc-config profiles. - Original patch by Rob Holland - Extended to support multiple entries separated by ':' by Kevin F. Quinn - Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill - Modified to process the GCC_SPECS env var befor DRIVER_SELF_SPECS by Magnus Granberg - ---- gcc-4.8-20130210/gcc/gcc.c 2013-02-05 16:55:31.000000000 +0100 -+++ gcc-4.8-20130210-work/gcc/gcc.c 2013-07-26 02:32:14.625089864 +0200 -@@ -6427,6 +6428,48 @@ main (int argc, char **argv) - do_option_spec (option_default_specs[i].name, - option_default_specs[i].spec); - -+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32)) -+ /* Add specs listed in GCC_SPECS. Note; in the process of separating -+ * each spec listed, the string is overwritten at token boundaries -+ * (':') with '\0', an effect of strtok_r(). -+ */ -+ specs_file = getenv ("GCC_SPECS"); -+ if (specs_file && (strlen(specs_file) > 0)) -+ { -+ char *spec, *saveptr; -+ for (spec=strtok_r(specs_file,":",&saveptr); -+ spec!=NULL; -+ spec=strtok_r(NULL,":",&saveptr)) -+ { -+ struct user_specs *user = (struct user_specs *) -+ xmalloc (sizeof (struct user_specs)); -+ user->next = (struct user_specs *) 0; -+ user->filename = spec; -+ if (user_specs_tail) -+ user_specs_tail->next = user; -+ else -+ user_specs_head = user; -+ user_specs_tail = user; -+ } -+ } -+#endif -+ /* Process any user specified specs in the order given on the command -+ * line. */ -+ for (uptr = user_specs_head; uptr; uptr = uptr->next) -+ { -+ char *filename = find_a_file (&startfile_prefixes, uptr->filename, -+ R_OK, true); -+ read_specs (filename ? filename : uptr->filename, false, true); -+ } -+ /* Process any user self specs. */ -+ { -+ struct spec_list *sl; -+ for (sl = specs; sl; sl = sl->next) -+ if (sl->name_len == sizeof "self_spec" - 1 -+ && !strcmp (sl->name, "self_spec")) -+ do_self_spec (*sl->ptr_spec); -+ } -+ - /* Process DRIVER_SELF_SPECS, adding any new options to the end - of the command line. */ - -@@ -6535,24 +6578,6 @@ main (int argc, char **argv) - PREFIX_PRIORITY_LAST, 0, 1); - } - -- /* Process any user specified specs in the order given on the command -- line. */ -- for (uptr = user_specs_head; uptr; uptr = uptr->next) -- { -- char *filename = find_a_file (&startfile_prefixes, uptr->filename, -- R_OK, true); -- read_specs (filename ? filename : uptr->filename, false, true); -- } -- -- /* Process any user self specs. */ -- { -- struct spec_list *sl; -- for (sl = specs; sl; sl = sl->next) -- if (sl->name_len == sizeof "self_spec" - 1 -- && !strcmp (sl->name, "self_spec")) -- do_self_spec (*sl->ptr_spec); -- } -- - if (compare_debug) - { - enum save_temps save; diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-bootstrap.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-bootstrap.patch deleted file mode 100644 index aed1ad0e90be..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-bootstrap.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 41a4aa66eac45c8862a79351647ec06dd03bd1f5 Mon Sep 17 00:00:00 2001 -From: jakub -Date: Sat, 13 Dec 2014 11:24:37 +0000 -Subject: [PATCH] PR bootstrap/64023 * Makefile.tpl - (EXTRA_TARGET_FLAGS): Set STAGE1_LDFLAGS to POSTSTAGE1_LDFLAGS and - STAGE1_LIBS to POSTSTAGE1_LIBS. Add -B to libstdc++-v3/src/.libs and - libstdc++-v3/libsupc++/.libs to CXX. * Makefile.in: Regenerated. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218705 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - ChangeLog | 9 +++++++++ - Makefile.in | 6 +++++- - Makefile.tpl | 6 +++++- - 3 files changed, 19 insertions(+), 2 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index ba5ae4c2ecb..8ffc313f157 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -835,7 +835,9 @@ EXTRA_TARGET_FLAGS = \ - 'AS=$(COMPILER_AS_FOR_TARGET)' \ - 'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ - 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \ -- 'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ -+ 'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ -+ -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \ -+ $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ - 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \ - 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \ - 'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ -@@ -853,6 +855,8 @@ EXTRA_TARGET_FLAGS = \ - 'WINDRES=$$(WINDRES_FOR_TARGET)' \ - 'WINDMC=$$(WINDMC_FOR_TARGET)' \ - 'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \ -+ 'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \ -+ 'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \ - "TFLAGS=$$TFLAGS" - - TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) -diff --git a/Makefile.tpl b/Makefile.tpl -index dcbc6b1b143..bb8227eaafa 100644 ---- a/Makefile.tpl -+++ b/Makefile.tpl -@@ -641,7 +641,9 @@ EXTRA_TARGET_FLAGS = \ - 'AS=$(COMPILER_AS_FOR_TARGET)' \ - 'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ - 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \ -- 'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ -+ 'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \ -+ -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \ -+ $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ - 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \ - 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \ - 'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ -@@ -659,6 +661,8 @@ EXTRA_TARGET_FLAGS = \ - 'WINDRES=$$(WINDRES_FOR_TARGET)' \ - 'WINDMC=$$(WINDMC_FOR_TARGET)' \ - 'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \ -+ 'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \ -+ 'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \ - "TFLAGS=$$TFLAGS" - - TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) --- -2.15.0 - diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch deleted file mode 100644 index 44503ae6b72e..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch +++ /dev/null @@ -1,220 +0,0 @@ ---- a/gcc/ada/exp_attr.adb 2018-11-16 20:23:21.775906196 +0100 -+++ b/gcc/ada/exp_attr.adb 2018-11-16 20:25:57.418211404 +0100 -@@ -3121,6 +3121,121 @@ - Analyze_And_Resolve (N, Standard_String); - end External_Tag; - -+ ----------------------- -+ -- Finalization_Size -- -+ ----------------------- -+ -+ when Attribute_Finalization_Size => Finalization_Size : declare -+ function Calculate_Header_Size return Node_Id; -+ -- Generate a runtime call to calculate the size of the hidden header -+ -- along with any added padding which would precede a heap-allocated -+ -- object of the prefix type. -+ -+ --------------------------- -+ -- Calculate_Header_Size -- -+ --------------------------- -+ -+ function Calculate_Header_Size return Node_Id is -+ begin -+ -- Generate: -+ -- Universal_Integer -+ -- (Header_Size_With_Padding (Pref'Alignment)) -+ -+ return -+ Convert_To (Universal_Integer, -+ Make_Function_Call (Loc, -+ Name => -+ New_Occurrence_Of (RTE (RE_Header_Size_With_Padding), Loc), -+ -+ Parameter_Associations => New_List ( -+ Make_Attribute_Reference (Loc, -+ Prefix => New_Copy_Tree (Pref), -+ Attribute_Name => Name_Alignment)))); -+ end Calculate_Header_Size; -+ -+ -- Local variables -+ -+ Size : Entity_Id; -+ -+ -- Start of Finalization_Size -+ -+ begin -+ -- An object of a class-wide type first requires a runtime check to -+ -- determine whether it is actually controlled or not. Depending on -+ -- the outcome of this check, the Finalization_Size of the object -+ -- may be zero or some positive value. -+ -- -+ -- In this scenario, Pref'Finalization_Size is expanded into -+ -- -+ -- Size : Integer := 0; -+ -- -+ -- if Needs_Finalization (Pref'Tag) then -+ -- Size := -+ -- Universal_Integer -+ -- (Header_Size_With_Padding (Pref'Alignment)); -+ -- end if; -+ -- -+ -- and the attribute reference is replaced with a reference to Size. -+ -+ if Is_Class_Wide_Type (Ptyp) then -+ Size := Make_Temporary (Loc, 'S'); -+ -+ Insert_Actions (N, New_List ( -+ -+ -- Generate: -+ -- Size : Integer := 0; -+ -+ Make_Object_Declaration (Loc, -+ Defining_Identifier => Size, -+ Object_Definition => -+ New_Occurrence_Of (Standard_Integer, Loc), -+ Expression => Make_Integer_Literal (Loc, 0)), -+ -+ -- Generate: -+ -- if Needs_Finalization (Pref'Tag) then -+ -- Size := -+ -- Universal_Integer -+ -- (Header_Size_With_Padding (Pref'Alignment)); -+ -- end if; -+ -+ Make_If_Statement (Loc, -+ Condition => -+ Make_Function_Call (Loc, -+ Name => -+ New_Occurrence_Of (RTE (RE_Needs_Finalization), Loc), -+ -+ Parameter_Associations => New_List ( -+ Make_Attribute_Reference (Loc, -+ Prefix => New_Copy_Tree (Pref), -+ Attribute_Name => Name_Tag))), -+ -+ Then_Statements => New_List ( -+ Make_Assignment_Statement (Loc, -+ Name => New_Occurrence_Of (Size, Loc), -+ Expression => Calculate_Header_Size))))); -+ -+ Rewrite (N, New_Occurrence_Of (Size, Loc)); -+ -+ -- The prefix is known to be controlled at compile time. Calculate -+ -- Finalization_Size by calling function Header_Size_With_Padding. -+ -+ elsif Needs_Finalization (Ptyp) then -+ Rewrite (N, Calculate_Header_Size); -+ -+ -- The prefix is not an object with controlled parts, so its -+ -- Finalization_Size is zero. -+ -+ else -+ Rewrite (N, Make_Integer_Literal (Loc, 0)); -+ end if; -+ -+ -- Due to cases where the entity type of the attribute is already -+ -- resolved the rewritten N must get re-resolved to its appropriate -+ -- type. -+ -+ Analyze_And_Resolve (N, Typ); -+ end Finalization_Size; -+ - ----------- - -- First -- - ----------- ---- a/gcc/ada/snames.ads-tmpl 2016-05-16 11:29:28.000000000 +0200 ---- b/gcc/ada/snames.ads-tmpl 2016-05-16 11:29:28.000000000 +0200 -@@ -884,6 +884,7 @@ - Name_Exponent : constant Name_Id := N + $; - Name_External_Tag : constant Name_Id := N + $; - Name_Fast_Math : constant Name_Id := N + $; -- GNAT -+ Name_Finalization_Size : constant Name_Id := N + $; -- GNAT - Name_First : constant Name_Id := N + $; - Name_First_Bit : constant Name_Id := N + $; - Name_First_Valid : constant Name_Id := N + $; -- Ada 12 -@@ -1523,6 +1524,7 @@ - Attribute_Exponent, - Attribute_External_Tag, - Attribute_Fast_Math, -+ Attribute_Finalization_Size, - Attribute_First, - Attribute_First_Bit, - Attribute_First_Valid, ---- a/gcc/ada/sem_attr.ads 2018-11-16 21:35:46.821279875 +0100 -+++ b/gcc/ada/sem_attr.ads 2018-11-16 21:36:00.028057464 +0100 -@@ -242,6 +242,16 @@ - -- enumeration value. Constraint_Error is raised if no value of the - -- enumeration type corresponds to the given integer value. - -+ ----------------------- -+ -- Finalization_Size -- -+ ----------------------- -+ -+ Attribute_Finalization_Size => True, -+ -- For every object or non-class-wide-type, Finalization_Size returns -+ -- the size of the hidden header used for finalization purposes as if -+ -- the object or type was allocated on the heap. The size of the header -+ -- does take into account any extra padding due to alignment issues. -+ - ----------------- - -- Fixed_Value -- - ----------------- ---- a/gcc/ada/sem_attr.adb 2018-11-16 21:35:49.698231429 +0100 -+++ b/gcc/ada/sem_attr.adb 2018-11-16 21:36:00.028057464 +0100 -@@ -3828,6 +3828,42 @@ - Check_Standard_Prefix; - Rewrite (N, New_Occurrence_Of (Boolean_Literals (Fast_Math), Loc)); - -+ ----------------------- -+ -- Finalization_Size -- -+ ----------------------- -+ -+ when Attribute_Finalization_Size => -+ Check_E0; -+ -+ -- The prefix denotes an object -+ -+ if Is_Object_Reference (P) then -+ Check_Object_Reference (P); -+ -+ -- The prefix denotes a type -+ -+ elsif Is_Entity_Name (P) and then Is_Type (Entity (P)) then -+ Check_Type; -+ Check_Not_Incomplete_Type; -+ -+ -- Attribute 'Finalization_Size is not defined for class-wide -+ -- types because it is not possible to know statically whether -+ -- a definite type will have controlled components or not. -+ -+ if Is_Class_Wide_Type (Etype (P)) then -+ Error_Attr_P -+ ("prefix of % attribute cannot denote a class-wide type"); -+ end if; -+ -+ -- The prefix denotes an illegal construct -+ -+ else -+ Error_Attr_P -+ ("prefix of % attribute must be a definite type or an object"); -+ end if; -+ -+ Set_Etype (N, Universal_Integer); -+ - ----------- - -- First -- - ----------- -@@ -8264,6 +8300,13 @@ - Fold_Uint (N, - Eval_Fat.Exponent (P_Base_Type, Expr_Value_R (E1)), Static); - -+ ----------------------- -+ -- Finalization_Size -- -+ ----------------------- -+ -+ when Attribute_Finalization_Size => -+ null; -+ - ----------- - -- First -- - ----------- diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch deleted file mode 100644 index 959ed5183124..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- a/patch/09_all_default-ssp.patch 2017-01-08 16:14:09.377755019 +0100 -+++ b/patch/09_all_default-ssp.patch 2017-01-08 16:15:48.792764201 +0100 -@@ -78,14 +78,14 @@ - optimizing. The default value is 32. - --- a/gcc/cp/lang-specs.h - +++ b/gcc/cp/lang-specs.h --@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3. If not see -+@@ -46,7 +46,7 @@ - %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\ - cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.ii} %{!save-temps*:%g.ii}}\ - %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\ - - %(cc1_options) %2\ - + %(cc1_options) %(ssp_default) %2\ -- %{!fsyntax-only:%{!fdump-ada-spec*:-o %g.s %{!o*:--output-pch=%i.gch}\ -- %W{o*:--output-pch=%*}}%V}}}}", -+ %{!fsyntax-only:-o %g.s %{!fdump-ada-spec*:%{!fdump-xref*:%{!o*:--output-pch=%i.gch}\ -+ %W{o*:--output-pch=%*}}}%V}}}}", - CPLUSPLUS_CPP_SPEC, 0, 0}, - @@ -57,11 +57,11 @@ along with GCC; see the file COPYING3. If not see - %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\ -@@ -151,14 +151,14 @@ - /* This contains cpp options which are not passed when the preprocessor - output will be used by another program. */ - @@ -1015,9 +1024,9 @@ static const struct compiler default_compilers[] = -- %{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \ -+ %{save-temps*|fdump-scos|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \ - %(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i} \n\ - cc1 -fpreprocessed %{save-temps*:%b.i} %{!save-temps*:%g.i} \ - - %(cc1_options)}\ - + %(cc1_options) %(ssp_default)}\ -- %{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\ --- cc1 %(cpp_unique_options) %(cc1_options)}}}\ --+ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}\ -+ %{!save-temps*:%{!fdump-scos:%{!traditional-cpp:%{!no-integrated-cpp:\ -+- cc1 %(cpp_unique_options) %(cc1_options)}}}}\ -++ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}}\ - %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 1}, - {"-", - "%{!E:%e-E or -x required when input is from standard input}\ ---- a/gcc-4.9-gpl-2016-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100 -+++ b/gcc-4.9-gpl-2016-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100 -@@ -2229,14 +2229,11 @@ - for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop - if Name_Buffer (J .. J + Prog'Length - 1) = Prog then - End_Of_Prefix := J - 1; -+ Start_Of_Suffix := J + Prog'Length; - exit; - end if; - end loop; - -- if End_Of_Prefix > 1 then -- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1; -- end if; -- - -- Create the new program name - - return new String' diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch deleted file mode 100644 index 561c012a23e6..000000000000 --- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch +++ /dev/null @@ -1,113 +0,0 @@ ---- a/gcc/ada/s-rident.ads 2018-11-18 18:47:39.042412895 +0100 -+++ b/gcc/ada/s-rident.ads 2018-11-18 19:02:31.736559044 +0100 -@@ -378,15 +378,17 @@ - type Profile_Name is - (No_Profile, - No_Implementation_Extensions, -+ Restricted_Tasking, -+ Restricted, - Ravenscar, - GNAT_Extended_Ravenscar, -- Restricted); -+ GNAT_Ravenscar_EDF); - -- Names of recognized profiles. No_Profile is used to indicate that a - -- restriction came from pragma Restrictions[_Warning], as opposed to - -- pragma Profile[_Warning]. - - subtype Profile_Name_Actual is Profile_Name -- range No_Implementation_Extensions .. Restricted; -+ range No_Implementation_Extensions .. Profile_Name'Last; - -- Actual used profile names - - type Profile_Data is record -@@ -456,6 +458,40 @@ - Max_Task_Entries => 0, - others => 0)), - -+ -- Restricted_Tasking Profile -+ -+ Restricted_Tasking => -+ -+ -- Restrictions for Restricted_Tasking profile -+ -+ (Set => -+ (No_Abort_Statements => True, -+ No_Asynchronous_Control => True, -+ No_Dynamic_Attachment => True, -+ No_Dynamic_Priorities => True, -+ No_Entry_Queue => True, -+ No_Local_Protected_Objects => True, -+ No_Protected_Type_Allocators => True, -+ No_Requeue_Statements => True, -+ No_Task_Allocators => True, -+ No_Task_Attributes_Package => True, -+ No_Task_Hierarchy => True, -+ No_Terminate_Alternatives => True, -+ Max_Asynchronous_Select_Nesting => True, -+ Max_Protected_Entries => True, -+ Max_Select_Alternatives => True, -+ Max_Task_Entries => True, -+ others => False), -+ -+ -- Value settings for Restricted profile -+ -+ Value => -+ (Max_Asynchronous_Select_Nesting => 0, -+ Max_Protected_Entries => 1, -+ Max_Select_Alternatives => 0, -+ Max_Task_Entries => 0, -+ others => 0)), -+ - -- Ravenscar Profile - - -- Note: the table entries here only represent the -@@ -509,6 +545,49 @@ - Max_Task_Entries => 0, - others => 0)), - -+ GNAT_Ravenscar_EDF => -+ -+ -- Restrictions for Ravenscar = Restricted profile .. -+ -+ (Set => -+ (No_Abort_Statements => True, -+ No_Asynchronous_Control => True, -+ No_Dynamic_Attachment => True, -+ No_Dynamic_Priorities => True, -+ No_Entry_Queue => True, -+ No_Local_Protected_Objects => True, -+ No_Protected_Type_Allocators => True, -+ No_Requeue_Statements => True, -+ No_Task_Allocators => True, -+ No_Task_Attributes_Package => True, -+ No_Task_Hierarchy => True, -+ No_Terminate_Alternatives => True, -+ Max_Asynchronous_Select_Nesting => True, -+ Max_Protected_Entries => True, -+ Max_Select_Alternatives => True, -+ Max_Task_Entries => True, -+ -+ -- plus these additional restrictions: -+ -+ No_Calendar => True, -+ No_Implicit_Heap_Allocations => True, -+ No_Local_Timing_Events => True, -+ No_Relative_Delay => True, -+ No_Select_Statements => True, -+ No_Specific_Termination_Handlers => True, -+ No_Task_Termination => True, -+ Simple_Barriers => True, -+ others => False), -+ -+ -- Value settings for Ravenscar (same as Restricted) -+ -+ Value => -+ (Max_Asynchronous_Select_Nesting => 0, -+ Max_Protected_Entries => 1, -+ Max_Select_Alternatives => 0, -+ Max_Task_Entries => 0, -+ others => 0)), -+ - GNAT_Extended_Ravenscar => - - -- Restrictions for GNAT_Extended_Ravenscar = diff --git a/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild deleted file mode 100644 index d9b01134a7c3..000000000000 --- a/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild +++ /dev/null @@ -1,157 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PATCH_GCC_VER=4.9.4 -PATCH_VER="1.4" -UCLIBC_VER="1.0" - -# Hardened gcc 4 stuff -PIE_VER="0.6.4" -SPECS_VER="0.2.0" -SPECS_GCC_VER="4.4.3" -# arch/libc configurations known to be stable with {PIE,SSP}-by-default -PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64" -PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64" -SSP_STABLE="amd64 x86 mips ppc ppc64 arm" -# uclibc need tls and nptl support for SSP support -# uclibc need to be >= 0.9.33 -SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm" -#end Hardened stuff - -TOOLCHAIN_GCC_PV=4.9.4 - -REL=4.9 -MYP=gcc-${REL}-gpl-${PV}-src -BTSTRP_X86=gnat-gpl-2014-x86-linux-bin -BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin - -inherit toolchain-funcs toolchain - -DESCRIPTION="GNAT Ada Compiler - GPL version" -HOMEPAGE="http://libre.adacore.com/" -# we provide own tarball below -SRC_URI+=" - http://mirrors.cdn.adacore.com/art/57399304c7a447658e0aff7f - -> ${P}-src.tar.gz - http://mirrors.cdn.adacore.com/art/573992d4c7a447658d00e1db - -> ${MYP}.tar.gz - http://mirrors.cdn.adacore.com/art/57399232c7a447658e0aff7d - -> gcc-interface-${REL}-gpl-${PV}-src.tar.gz - bootstrap? ( - amd64? ( - http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c -> - ${BTSTRP_AMD64}.tar.gz - ) - x86? ( - http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248 -> - ${BTSTRP_X86}.tar.gz - ) - )" - -LICENSE+=" GPL-2 GPL-3" -SLOT="${TOOLCHAIN_GCC_PV}" -KEYWORDS="amd64 x86" -IUSE="+ada +bootstrap" -RESTRICT="!test? ( test )" - -RDEPEND="!sys-devel/gcc:${TOOLCHAIN_GCC_PV}" -DEPEND="${RDEPEND} - elibc_glibc? ( >=sys-libs/glibc-2.8 ) - >=sys-devel/binutils-2.20" - -PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )" - -S="${WORKDIR}"/${MYP} - -FSFGCC=gcc-${TOOLCHAIN_GCC_PV} - -src_unpack() { - if ! use bootstrap && [[ -z "$(type ${GNATMAKE} 2>/dev/null)" ]] ; then - eerror "You need a gcc compiler that provides the Ada Compiler:" - eerror "1) use gcc-config to select the right compiler or" - eerror "2) set the bootstrap use flag" - die "ada compiler not available" - fi - - toolchain_src_unpack -} - -src_prepare() { - if use amd64; then - BTSTRP=${BTSTRP_AMD64} - else - BTSTRP=${BTSTRP_X86} - fi - if use bootstrap; then - GCC="${WORKDIR}"/${BTSTRP}/bin/gcc - else - GCC=${ADA:-$(tc-getCC)} - fi - CC=${GCC} - local base=$(basename ${GCC}) - CXX="${base/gcc/g++}" - GNATMAKE="${base/gcc/gnatmake}" - GNATBIND="${base/gcc/gnatbind}" - if [[ ${base} != ${GCC} ]] ; then - local path=$(dirname ${GCC}) - GNATMAKE="${path}/${GNATMAKE}" - GNATBIND="${path}/${GNATBIND}" - CXX="${path}/${CXX}" - fi - if use bootstrap; then - rm ../${BTSTRP}/libexec/gcc/*/4.7.4/ld || die - fi - - cd .. - - sed -i \ - -e "s:gnatmake:${GNATMAKE}:g" \ - ${P}-src/src/ada/Make-generated.in || die "sed failed" - sed -i \ - -e "/xoscons/s:gnatmake:${GNATMAKE}:g" \ - gcc-interface-${REL}-gpl-${PV}-src/Makefile.in || die "sed failed" - - mv ${P}-src/src/ada ${MYP}/gcc/ || die - mv gcc-interface-${REL}-gpl-${PV}-src ${MYP}/gcc/ada/gcc-interface || die - mv ${FSFGCC}/gcc/doc/gcc.info ${MYP}/gcc/doc/ || die - mv ${FSFGCC}/libjava ${MYP} || die - rm -r ${FSFGCC} || die - eapply "${FILESDIR}"/${P}-gentoo.patch - cd - - - # Bug 638056 - eapply "${FILESDIR}/${P}-bootstrap.patch" - # add Finalization_Size Attribute - eapply "${FILESDIR}/${P}-finalization.patch" - # add profile for gnat_util compatibility - eapply "${FILESDIR}/${P}-profile.patch" - - EPATCH_EXCLUDE+=" 34_all_gcc48_config_i386.patch" - EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch" - - toolchain_src_prepare - - use vanilla && return 0 - # Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs. - [[ ${CHOST} == ${CTARGET} ]] && eapply "${FILESDIR}"/gcc-spec-env-r1.patch -} - -src_configure() { - downgrade_arch_flags "$(gcc-version)" - toolchain_src_configure \ - CC=${GCC} \ - GNATBIND=${GNATBIND} \ - GNATMAKE=yes -} - -pkg_postinst() { - toolchain_pkg_postinst - einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more" - einfo "The compiler binary is gcc-${TOOLCHAIN_GCC_PV}" - einfo "Even if the c/c++ compilers are using almost the same patched" - einfo "source as the sys-devel/gcc package its use is not extensively" - einfo "tested, and not supported for updating your system, except for ada" - einfo "related packages" -} diff --git a/dev-lang/gnat-gpl/metadata.xml b/dev-lang/gnat-gpl/metadata.xml index d22ee4a1f672..3a9e3dea8305 100644 --- a/dev-lang/gnat-gpl/metadata.xml +++ b/dev-lang/gnat-gpl/metadata.xml @@ -23,8 +23,6 @@ than use the code in the C library (DO NOT ENABLE THIS IF YOU DON'T KNOW WHAT IT DOES) Build using Link Time Optimizations (LTO) - Disable PIE support (NOT FOR GENERAL USE) - Disable SSP support (NOT FOR GENERAL USE) Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually) Build support for the Objective C code language diff --git a/dev-lang/gprolog/Manifest b/dev-lang/gprolog/Manifest index 21d3bd5d66c3..989cd465a402 100644 --- a/dev-lang/gprolog/Manifest +++ b/dev-lang/gprolog/Manifest @@ -4,6 +4,12 @@ AUX gprolog-1.4.5-links.patch 488 BLAKE2B aa6c833c8f6d8a7bf6f2a30ef971efd4389035 AUX gprolog-1.4.5-llvm-as.patch 1507 BLAKE2B 37f727d2fb2b38045340715160f80dd00c2cc15b249ad6566ac50495f23992a455ea89b5a865a0d8b2385df2f89c8ad1eb77d59e0fbf484172c7af9870f38bb6 SHA512 a49e2d33a77dcb5c85284df462337cf9a93b4a35c61f6a1c84d1806575a87cf94f07de9cb9ed7e0dbff49dd7675b94f1cf2dd92c1c1406a3f36deb4b33faf27a AUX gprolog-1.4.5-nodocs.patch 1117 BLAKE2B 15e65f72506a57dc7b1c549cb4f01c43e9d46f8a78c4a16309599b1db48d192e8aab933dc128ebcea957f77778a321f10d9233676356d52efc7c33e4ed658d13 SHA512 c4aa11081c8c85989e9947b3be25bc74a22456ecf5404b943e9985835319e7c33273bd2b30f003aad4cc3bc842b98069e647b8203a3c4f45f8cf2bed08af9afd AUX gprolog-1.4.5-txt-file.patch 578 BLAKE2B 22f4803c19fc4e8266065e457e711df2885d8539325f02bc426d1a351163e3dcf6f339e3f1bb2586e807ebd41b237f7e4f1ca9a139bd3fa71c76db5684c9d37d SHA512 e0cb7ed9c6dd8a394898086335312556ffa313e18dba9c281bcc45749ef9b297f0ec3cfddfd197524be55315c79cf89f370a04f0d6b10a0e95ac6a59ca92fc67 +AUX gprolog-1.5.0-destdir.patch 1978 BLAKE2B 25bd568703caeebd0cb4183ab3df6b60b276cbe3f0f63160f6ae4666e5c49d8da943996be2f8bcc3a89f657437dbf50aea9bc16930145dc19fea93a97c777e39 SHA512 aa35aa8f06206d3ad698265a312f307cca5835ae23ce7d42222f4edf9831dfac85a198980e4bd4aa84c5c1965bc949de89ee87bbc08ac4bfe5cb626099c8b1d7 +AUX gprolog-1.5.0-ldflags.patch 3961 BLAKE2B 0571c24bbe50a39b901f0ac6d2167b3a6a12670698310c7ecdbb47588f3a214570a5cd71f03d26c21e2426e61d9c59d9b92dca45c08695a2912eb25368f9a6b2 SHA512 7c405d9027ad7d78558059e27ddce8820b7f0adf5f3d8ebbc200e0ccc0ada000b611c2d17a31dc489b2d0c4b3d3686ddf966fb2ffc14e1dddc2ce82c61660833 +AUX gprolog-1.5.0-links.patch 498 BLAKE2B fe9e3870948b7474e311f790726fafc0d7ef450cb72d4031ced12154359c835632dc1c993790c90ca3670cebb4d5fb70e794cd75ec37be9ef8ce560a894dd87c SHA512 23660bc293a922ef53f1c6102ac63e05543a091852d5be7e8706a533f73a5979a4cec385ab0fe5ee55b7cb2c08f2e9c3dc74b5cf9c07eca71ffe55dfe5ba2696 +AUX gprolog-1.5.0-llvm-as.patch 1507 BLAKE2B 658033e193191722236e2b67b99ac045c27a9dea0f184b1f15782215cb9ac33580dfb9e4ae99935b4e45504504696b4cd5b5b3ade6adbcf568f0ee6975afe191 SHA512 553a4a88e7e1a7c70d8be672c5c2f36e8dc7bd1780910917652158265a3014bb092dc666a5168eed427cc0ad18299c7743b434822516c12791b8c4028cb61724 DIST gprolog-1.4.5.tar.gz 3587361 BLAKE2B c0c73ce249d7c26b914a3f831c6ac93aeb884bded6c5ebbe51223f0685de0be2e746533aade1633a953b93e88a30796fa52ecd5e609d05bc051363cbf34e0477 SHA512 425103bc9e5bdbdb4ae331f5be0cf49524fbdb4f5e2809fb973360de9e7ad9935c1b28f3603e0be696a647153d9f0d3dacdc87251098ac99faf7d0b3c652fc60 +DIST gprolog-1.5.0.tar.gz 3813899 BLAKE2B e1d82393f122f37b1e139732c1b954b8a407feac4973b56c2e39dcf907424acca67bd10ea0e833ebbd6764a47b075911a29e05b51c37d3751a5d5fc751a08789 SHA512 7ef1a3555ffa58d3fb0db2b55ffc1d00868021f0f9f3d63dd1f43b5b833e6e00ecc74abfc0573828a3d53f20c134dffaf7fe79ab21b3e16dccfca8c73b5dfb8d EBUILD gprolog-1.4.5.ebuild 1951 BLAKE2B 37e23a1c8d7d01cc21a04940861b13fb0c2963e66eefa912f486fbcccfb61c05aaafb9890cbc95986df3eb1b6b7b3eb8a7d2830f823bdb30f942754845d35b15 SHA512 d1da561b82d64df5a25cdcc5b6762ce5dcb44c8cc7ad842639656b033faeaf3b94e26f0421f54552dd3d758706b170eae71eaef79bf5c81c02453ebace21297e +EBUILD gprolog-1.5.0.ebuild 1861 BLAKE2B 542a5cf8c64292d4dfc850eecc41b7321bdb5223578d5ea29a434b63aa0178565061e0be3830f0e45bf6aa314319a92648a4c2ec3733fdfeb13a277ceeef6b98 SHA512 e0b10cff0cfe6f84daafb35d8fba8e74e2e1ebf1e017acec4a31e78e234c5566ec062e4b3d4cecccb89f356c9c7bff840833318a6adfd49e1f731b67ebb59ef2 MISC metadata.xml 236 BLAKE2B 665f3de6dc90f46a18379b3416063a49b1a79ddd7ef89eaed9be78f9adc5b234e9693cd31d6cf2d3477fc7dc00055492bef7de78da6c901c4a6e55eb0e781325 SHA512 e776224736bd575412c7b5b799f649c6b2947a70e6a9aea580063d9da7d09a8144e5ebaf7ac3ef131d578486cf05dec814dce11b2aeb884cded3be3cab70fcec diff --git a/dev-lang/gprolog/files/gprolog-1.5.0-destdir.patch b/dev-lang/gprolog/files/gprolog-1.5.0-destdir.patch new file mode 100644 index 000000000000..86719e1bdcb4 --- /dev/null +++ b/dev-lang/gprolog/files/gprolog-1.5.0-destdir.patch @@ -0,0 +1,61 @@ +--- gprolog-1.5.0.orig/src/Makefile.in 2021-07-07 16:06:16.000000000 -0000 ++++ gprolog-1.5.0/src/Makefile.in 2021-07-10 12:49:40.967172260 -0000 +@@ -85,13 +85,13 @@ + # --- Links --- # + + install-links: install-system uninstall-links +- if test $(LINKS_DIR) != none; then \ ++ if test @LINKS_DIR@ != none; then \ + ./mkinstalldirs $(LINKS_DIR); \ + (cd $(LINKS_DIR) ; $(LN_S) $(wildcard $(INSTALL_DIR)/bin/*) .); \ + fi + + uninstall-links: +- -if test $(LINKS_DIR) != none; then \ ++ -if test @LINKS_DIR@ != none; then \ + (cd $(LINKS_DIR) 2>/dev/null && rm -f $(BIN_FILES)); \ + rmdir $(LINKS_DIR) 2>/dev/null; \ + fi || exit 0; +@@ -100,14 +100,14 @@ + # --- Documentation --- # + + install-doc: +- if test $(DOC_DIR) != none; then \ ++ if test @DOC_DIR@ != none; then \ + ./mkinstalldirs $(DOC_DIR); \ + (F=`cd ../doc; echo $(DOC_FILES)`; \ + for i in $$F; do $(INSTALL_DATA) ../doc/$$i $(DOC_DIR); done); \ + fi + + uninstall-doc: +- -if test $(DOC_DIR) != none; then \ ++ -if test @DOC_DIR@ != none; then \ + (cd $(DOC_DIR); rm -f $(DOC_FILES)); \ + rmdir $(DOC_DIR) 2>/dev/null; \ + fi || exit 0; +@@ -116,14 +116,14 @@ + # --- HTML --- # + + install-html: +- if test $(HTML_DIR) != none; then \ ++ if test @HTML_DIR@ != none; then \ + ./mkinstalldirs $(HTML_DIR); \ + (F=`cd ../doc/html_node; echo $(HTML_FILES)`; \ + for i in $$F; do $(INSTALL_DATA) ../doc/html_node/$$i $(HTML_DIR); done); \ + fi + + uninstall-html: +- -if test $(HTML_DIR) != none; then \ ++ -if test @HTML_DIR@ != none; then \ + (cd $(HTML_DIR); rm -f $(HTML_FILES)); \ + rmdir $(HTML_DIR) 2>/dev/null; \ + fi || exit 0; +@@ -132,7 +132,7 @@ + # --- Examples --- # + + install-examples: +- if test $(EXAMPLES_DIR) != none; then \ ++ if test @EXAMPLES_DIR@ != none; then \ + ./mkinstalldirs $(EXAMPLES_DIR)/ExamplesPl; \ + (F=`cd ../examples/ExamplesPl; echo $(EXPL_FILES)`; \ + for i in $$F; do $(INSTALL_DATA) ../examples/ExamplesPl/$$i $(EXAMPLES_DIR)/ExamplesPl; done); \ diff --git a/dev-lang/gprolog/files/gprolog-1.5.0-ldflags.patch b/dev-lang/gprolog/files/gprolog-1.5.0-ldflags.patch new file mode 100644 index 000000000000..5d53a69a657b --- /dev/null +++ b/dev-lang/gprolog/files/gprolog-1.5.0-ldflags.patch @@ -0,0 +1,104 @@ +diff -ur gprolog-1.5.0.orig/src/EnginePl/Makefile.in gprolog-1.5.0/src/EnginePl/Makefile.in +--- gprolog-1.5.0.orig/src/EnginePl/Makefile.in 2021-07-10 10:13:23.046564472 -0000 ++++ gprolog-1.5.0/src/EnginePl/Makefile.in 2021-07-10 10:41:59.585492681 -0000 +@@ -2,6 +2,7 @@ + GPLC = @GPLC@ + CC = @CC@ @CFLAGS_MACHINE@ + CFLAGS = @CFLAGS@ ++LDFLAGS = @LDFLAGS@ + AR_RC = @AR_RC@ + RANLIB = @RANLIB@ + +@@ -35,7 +36,7 @@ + config: pl_config@EXE_SUFFIX@ wam_regs.h + + pl_config@EXE_SUFFIX@: pl_config.c gp_config.h machine.h stacks_sigsegv.h wam_archi.def +- $(CC) $(CFLAGS) $(LFLAGS) @CC_EXE_NAME_OPT@pl_config@EXE_SUFFIX@ pl_config.c ++ $(CC) $(CFLAGS) $(LDFLAGS) @CC_EXE_NAME_OPT@pl_config@EXE_SUFFIX@ pl_config.c + + + wam_regs.h: pl_config@EXE_SUFFIX@ machine.h stacks_sigsegv.h wam_archi.def +@@ -49,10 +50,10 @@ + + + cpp_headers@EXE_SUFFIX@: cpp_headers.c +- $(CC) $(CFLAGS) $(LFLAGS) @CC_EXE_NAME_OPT@cpp_headers@EXE_SUFFIX@ cpp_headers.c ++ $(CC) $(CFLAGS) $(LDFLAGS) @CC_EXE_NAME_OPT@cpp_headers@EXE_SUFFIX@ cpp_headers.c + + try_sigaction@EXE_SUFFIX@: try_sigaction.c +- $(CC) $(CFLAGS) $(LFLAGS) @CC_EXE_NAME_OPT@try_sigaction@EXE_SUFFIX@ try_sigaction.c ++ $(CC) $(CFLAGS) $(LDFLAGS) @CC_EXE_NAME_OPT@try_sigaction@EXE_SUFFIX@ try_sigaction.c + + + +diff -ur gprolog-1.5.0.orig/src/Ma2Asm/Makefile.in gprolog-1.5.0/src/Ma2Asm/Makefile.in +--- gprolog-1.5.0.orig/src/Ma2Asm/Makefile.in 2021-07-07 10:13:02.000000000 -0000 ++++ gprolog-1.5.0/src/Ma2Asm/Makefile.in 2021-07-10 10:40:22.683496734 -0000 +@@ -1,7 +1,8 @@ +-GPLC = @GPLC@ +-CC = @CC@ @CFLAGS_MACHINE@ +-CFLAGS = @CFLAGS@ +-LDLIBS = @LDLIBS@ ++GPLC = @GPLC@ ++CC = @CC@ @CFLAGS_MACHINE@ ++CFLAGS = @CFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LDLIBS = @LDLIBS@ + + # set by mappers.sh + FORCE_MAP = +@@ -25,7 +26,7 @@ + + ma2asm@EXE_SUFFIX@: ma2asm@OBJ_SUFFIX@ ma_parser@OBJ_SUFFIX@ \ + ma2asm_inst@OBJ_SUFFIX@ ma2asm_inst.c +- $(CC) $(CFLAGS) @CC_EXE_NAME_OPT@ma2asm@EXE_SUFFIX@ ma2asm@OBJ_SUFFIX@ ma2asm_inst@OBJ_SUFFIX@ ma_parser@OBJ_SUFFIX@ ++ $(CC) $(LDFLAGS) @CC_EXE_NAME_OPT@ma2asm@EXE_SUFFIX@ ma2asm@OBJ_SUFFIX@ ma2asm_inst@OBJ_SUFFIX@ ma_parser@OBJ_SUFFIX@ + + + clean: +diff -ur gprolog-1.5.0.orig/src/TopComp/Makefile.in gprolog-1.5.0/src/TopComp/Makefile.in +--- gprolog-1.5.0.orig/src/TopComp/Makefile.in 2021-07-07 10:13:02.000000000 -0000 ++++ gprolog-1.5.0/src/TopComp/Makefile.in 2021-07-10 10:41:31.081493873 -0000 +@@ -4,7 +4,7 @@ + CFLAGS = @CFLAGS@ + HEXGPLC = @HEXGPLC@ + CC = @CC@ @CFLAGS_MACHINE@ +-CFLAGS = @CFLAGS@ ++LDFLAGS = @LDFLAGS@ + LDLIBS = @LDLIBS@ + TOP_LEVEL_LIBS = @TOP_LEVEL_LIBS@ + +@@ -24,10 +24,10 @@ + + $(GPLC)@EXE_SUFFIX@: top_comp.c copying.c ../EnginePl/wam_regs.h \ + ../EnginePl/gp_config.h ../EnginePl/machine1.c decode_hexa.c copying.c prolog_path.c +- $(CC) $(CFLAGS) @CC_EXE_NAME_OPT@$(GPLC)@EXE_SUFFIX@ top_comp.c $(LDLIBS) ++ $(CC) $(CFLAGS) $(LDFLAGS) @CC_EXE_NAME_OPT@$(GPLC)@EXE_SUFFIX@ top_comp.c $(LDLIBS) + + $(HEXGPLC)@EXE_SUFFIX@: hexfilter.c decode_hexa.c +- $(CC) $(CFLAGS) @CC_EXE_NAME_OPT@$(HEXGPLC)@EXE_SUFFIX@ hexfilter.c ++ $(CC) $(CFLAGS) $(LDFLAGS) @CC_EXE_NAME_OPT@$(HEXGPLC)@EXE_SUFFIX@ hexfilter.c + + + +diff -ur gprolog-1.5.0.orig/src/Wam2Ma/Makefile.in gprolog-1.5.0/src/Wam2Ma/Makefile.in +--- gprolog-1.5.0.orig/src/Wam2Ma/Makefile.in 2021-05-03 13:55:34.000000000 -0000 ++++ gprolog-1.5.0/src/Wam2Ma/Makefile.in 2021-07-10 10:40:30.134496422 -0000 +@@ -1,5 +1,6 @@ +-CC = @CC@ @CFLAGS_MACHINE@ +-CFLAGS = @CFLAGS@ ++CC = @CC@ @CFLAGS_MACHINE@ ++CFLAGS = @CFLAGS@ ++LDFLAGS = @LDFLAGS@ + + + all: wam2ma@EXE_SUFFIX@ +@@ -12,7 +13,7 @@ + $(CC) $(CFLAGS) -c wam2ma.c + + wam2ma@EXE_SUFFIX@: wam2ma@OBJ_SUFFIX@ wam_parser@OBJ_SUFFIX@ +- $(CC) $(CFLAGS) @CC_EXE_NAME_OPT@wam2ma@EXE_SUFFIX@ wam2ma@OBJ_SUFFIX@ wam_parser@OBJ_SUFFIX@ ++ $(CC) $(LDFLAGS) @CC_EXE_NAME_OPT@wam2ma@EXE_SUFFIX@ wam2ma@OBJ_SUFFIX@ wam_parser@OBJ_SUFFIX@ + + + clean: diff --git a/dev-lang/gprolog/files/gprolog-1.5.0-links.patch b/dev-lang/gprolog/files/gprolog-1.5.0-links.patch new file mode 100644 index 000000000000..e1f673156e46 --- /dev/null +++ b/dev-lang/gprolog/files/gprolog-1.5.0-links.patch @@ -0,0 +1,15 @@ +--- gprolog-1.5.0.orig/src/Makefile.in 2021-07-07 16:06:16.000000000 -0000 ++++ gprolog-1.5.0/src/Makefile.in 2021-07-10 11:30:29.130370996 -0000 +@@ -84,10 +84,10 @@ + + # --- Links --- # + +-install-links: uninstall-links ++install-links: install-system uninstall-links + if test $(LINKS_DIR) != none; then \ + ./mkinstalldirs $(LINKS_DIR); \ +- (cd $(LINKS_DIR) ; $(LN_S) $(INSTALL_DIR)/bin/* .); \ ++ (cd $(LINKS_DIR) ; $(LN_S) $(wildcard $(INSTALL_DIR)/bin/*) .); \ + fi + + uninstall-links: diff --git a/dev-lang/gprolog/files/gprolog-1.5.0-llvm-as.patch b/dev-lang/gprolog/files/gprolog-1.5.0-llvm-as.patch new file mode 100644 index 000000000000..f3fa81ce13e8 --- /dev/null +++ b/dev-lang/gprolog/files/gprolog-1.5.0-llvm-as.patch @@ -0,0 +1,38 @@ +--- gprolog-1.5.0.orig/src/configure.in 2021-07-08 09:34:44.000000000 -0000 ++++ gprolog-1.5.0/src/configure.in 2021-07-10 16:25:44.397630093 -0000 +@@ -342,15 +342,26 @@ + dnl we use AS0 instead of AS else AC_CHECK_TOOL does not work + dnl (instead of testing a prefix like x86_64-w64-mingw32- it will + dnl think the user wants to override the test) +- AS0=as +- case "$host" in +- sparc64*bsd*) ASFLAGS='-Av9a -64 -K PIC';; +- i*86*darwin1*) ASFLAGS='-arch i686';; +- i*86*linux*) ASFLAGS='--32';; +- x86_64*solaris*) AS0=gas; ASFLAGS='--64';; +- x86_64*darwin*) ASFLAGS='-arch x86_64';; +- x86_64*linux*) ASFLAGS='--64';; +- *) if test "$with_gas" = yes; then AS0=gas; fi;; ++ case "$CC" in ++ *cc) ++ AS0=as ++ case "$host" in ++ sparc64*bsd*) ASFLAGS='-Av9a -64 -K PIC';; ++ i*86*darwin1*) ASFLAGS='-arch i686';; ++ i*86*linux*) ASFLAGS='--32';; ++ x86_64*solaris*) AS0=gas; ASFLAGS='--64';; ++ x86_64*darwin*) ASFLAGS='-arch x86_64';; ++ x86_64*linux*) ASFLAGS='--64';; ++ *) if test "$with_gas" = yes; then AS0=gas; fi;; ++ esac ++ ;; ++ *clang) ++ AS0=$CC ++ ASFLAGS='-c' ++ ;; ++ *) ++ AC_MSG_ERROR([unsupported compiler $CC]) ++ ;; + esac + AC_CHECK_TOOL([AS],[$AS0]) + AC_PROG_RANLIB diff --git a/dev-lang/gprolog/gprolog-1.5.0.ebuild b/dev-lang/gprolog/gprolog-1.5.0.ebuild new file mode 100644 index 000000000000..ea8d01941916 --- /dev/null +++ b/dev-lang/gprolog/gprolog-1.5.0.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools flag-o-matic toolchain-funcs + +DESCRIPTION="A native Prolog compiler with constraint solving over finite domains (FD)" +HOMEPAGE="http://www.gprolog.org/" +SRC_URI="http://www.gprolog.org/${P}.tar.gz" +S="${WORKDIR}"/${P} + +LICENSE="|| ( GPL-2+ LGPL-3+ )" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris" +IUSE="debug doc examples" + +PATCHES=( + "${FILESDIR}"/${P}-ldflags.patch + "${FILESDIR}"/${P}-links.patch + "${FILESDIR}"/${P}-destdir.patch + "${FILESDIR}"/${P}-llvm-as.patch +) + +src_prepare() { + default + + cd "${S}"/src + eautoconf +} + +src_configure() { + CFLAGS_MACHINE="`get-flag -march` `get-flag -mcpu` `get-flag -mtune`" + + use debug && append-flags -DDEBUG + + if tc-enables-pie; then + # gplc generates its own native ASM; disable PIE + append-ldflags -no-pie + fi + + if tc-is-gcc && ! use x86; then + gprolog_use_regs=yes + else + gprolog_use_regs=no + fi + + if tc-is-clang; then + AS=$(tc-getCC) + else + AS=$(tc-getAS) + fi + + cd "${S}"/src || die + econf \ + AS="${AS}" \ + CFLAGS_MACHINE="${CFLAGS_MACHINE}" \ + --with-c-flags="${CFLAGS}" \ + --with-install-dir="${EPREFIX}"/usr/$(get_libdir)/${P} \ + --with-links-dir="${EPREFIX}"/usr/bin \ + --enable-regs=${gprolog_use_regs} \ + $(use_with doc doc-dir "${EPREFIX}"/usr/share/doc/${PF}) \ + $(use_with doc html-dir "${EPREFIX}"/usr/share/doc/${PF}/html) \ + $(use_with examples examples-dir "${EPREFIX}"/usr/share/doc/${PF}/examples) +} + +src_compile() { + cd "${S}"/src || die + + # gprolog is compiled using gplc which cannot be run in parallel + emake -j1 +} + +src_test() { + cd "${S}"/src || die + + emake -j1 check +} + +src_install() { + cd "${S}"/src || die + emake DESTDIR="${D}" TXT_FILES= install + + cd "${S}" || die + dodoc ChangeLog NEWS PROBLEMS README +} diff --git a/dev-lang/lua/Manifest b/dev-lang/lua/Manifest index ad251a90b662..d4f865f7a16d 100644 --- a/dev-lang/lua/Manifest +++ b/dev-lang/lua/Manifest @@ -29,7 +29,7 @@ DIST lua-5.3.4-tests.tar.gz 103438 BLAKE2B ac82708022e7729039111c3df4fe24302c8d0 DIST lua-5.3.6.tar.gz 303770 BLAKE2B 07c37c56f43095a4f6ca8eb8b3adf19afd53107c02b62b2bcb3619565cb2100d5f823493eef93092d5e312b30fc28885a6d9e8f0ba5a23b5bed86dc4515a5d61 SHA512 ccc380d5e114d54504de0bfb0321ca25ec325d6ff1bfee44b11870b660762d1a9bf120490c027a0088128b58bb6b5271bbc648400cab84d2dc22b512c4841681 DIST lua-5.4.2-tests.tar.gz 128901 BLAKE2B 10e4f0e8760f9cbd4761fa26665008ae7412539f79a6a7687029808f08f0ae4a24721e787e2e87e5080c16e9dcce8577a7a39ddc6d3e483a3cfe11756139594e SHA512 1516c59deca211c38444bbf97b18e988e939209b03915d3691d756eeed31b52e8d3a1f05b71ac0b561965274c7b6f3afc4244cd2e9069995696e737e2d9dd40b DIST lua-5.4.2.tar.gz 353472 BLAKE2B 7e0e642684df635ed1c48db45989e86a2638024e30a170addf700b0c7d32276f1eaef80898539c671039c20cb0bed4861b12c58f4b8211653a17e89bad278d87 SHA512 9454a6ffd973598f2f4a2399834c31c4d5090bd12e716776e3189aa57760319d114ee64a8338bbc2ef5e08150bf0adc2ad94a1b2677f38538a43359969d4d920 -EBUILD lua-5.1.5-r106.ebuild 4021 BLAKE2B c963cad02da07ce2df5b73a06473548781d51cbfd948c877ababda33565af38d43f346848316fdcfeb9b05a2f0744dbaf7f6a6494aebff86a1c6bcb2162efbe2 SHA512 6c51056df47c13630c85a0d9b94bcedb0c488cd82c9056b6d75064edfe5660b21d22b76b43317a50c52d87209e9d193770317332ccdb2cabf6e874ee227e679d +EBUILD lua-5.1.5-r106.ebuild 4028 BLAKE2B 6ed08f3803ff85e1425b536d42610a9a3ff1787aa1ebb3b0c4776655c6b759b25196fa6a12b53c2ffc6538ad24d1c306d202edac32efeba0c2d74093d28c62da SHA512 12d0ff60bf6f35c549e18f6de7c52c11db7d4695bed3ca36e59bf395ca642b6b315f6034071d5daee4a45e614cd7f15e7e70e06846f4d15d05003d632220bf9f EBUILD lua-5.1.5-r4.ebuild 3607 BLAKE2B 5039dd79ad6df4bf2111d2cb48b5c0451293f3a0572df89cbda051934be984fce24dfc89f58c7d46ee206e46d165c5204d133e3c1efdc7a393194e0fb3046eb4 SHA512 41dad3c318c22cd624d219d6e0b18bd202cd9240689fbe973c88b86db6dedc8e13b89aa0cd96ffc760649b04d77aeeb64b88426b11d99c3b17dcd00a9826178c EBUILD lua-5.2.4-r3.ebuild 5768 BLAKE2B 3afbc7ac9176d1d57ed778a0a42bbe1c8c8cdf60bd2a17c57ae6292320c3d6eade55e84cac52901a878cc0ee8f71e99b6a936e83db139f0df4333c3fb3f67a80 SHA512 3e15e104b0ef21da5b9e7d57c7730ee5e76c24757714f4b430b779914f7017dd902cc22df21e2dfe7684d0df8e51023ffde9fb82f91e834b73b337907adcc31d EBUILD lua-5.3.6-r2.ebuild 5752 BLAKE2B 88d746cbe0643295ebacca48b1343acf3c1ddce29b9249df65e498cac970221adb15841b978d7ed16b78a503f107d307f3a6e6b1dec5f2ab7f0a086a65d8054e SHA512 eb9a993fd34799b95ae6fe7d9ee6cc2b05f8298ed0c91546561cd4683a4c57c9c74786ce0950f4b82cd96c4e7d663400bacda9b8734bd440abbc3d312891c428 diff --git a/dev-lang/lua/lua-5.1.5-r106.ebuild b/dev-lang/lua/lua-5.1.5-r106.ebuild index eed2660a7619..a89579988161 100644 --- a/dev-lang/lua/lua-5.1.5-r106.ebuild +++ b/dev-lang/lua/lua-5.1.5-r106.ebuild @@ -10,7 +10,7 @@ SRC_URI="https://www.lua.org/ftp/${P}.tar.gz" LICENSE="MIT" SLOT="5.1" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+deprecated readline" COMMON_DEPEND=" diff --git a/dev-lang/micropython/Manifest b/dev-lang/micropython/Manifest index 985a5b068771..944653d63694 100644 --- a/dev-lang/micropython/Manifest +++ b/dev-lang/micropython/Manifest @@ -1,5 +1,5 @@ AUX micropython-1.11-exclude-float-parse-tests.patch 571 BLAKE2B e231ab697dcefdcc05a0e44063def130b6f79536a8d416ddd3a400e4effe0f499343ca0cb45388fbfe3426e0e8ea79fad3acd7a10e07199d32d78af04d1defe6 SHA512 2721316002052534537def580b1f7b0c42fc2fdbd36fd82c2f9c5cd6f504ad17a6e0a9e9aca4f7f0270b6f4f60cfdf70b8fb69c62ac291d1eb24d1ebfedbe539 AUX micropython-1.11-prevent-stripping.patch 827 BLAKE2B e4da5582029c800dd166104a36834e23c20826af3f9988a85f1b29c1ac8c82fe762ddfde9a83a0a8b45ab07ab7cfed89ebab9a7a35c7276d292b51f003665c9e SHA512 366abdba975f9f7a54c1e0882414744b0b216fb6d9a4ce4c2022c7bedd3c31349a3652b751c4b3157584de9e0490e5435c17c20f9d453b1aa4eecd62f716ab07 DIST micropython-1.11.tar.gz 23010708 BLAKE2B 8deb29f2a27b8299f62c8c3d332654889e610ddc6854dc38c6cf7504c89f2f9cbbacccdc2d8e471d96b8bb28bbb920fe7ec1b8fd49b14209924262f54687c3c1 SHA512 255860e56bf51c4f35a00cf66fff3ee37fbef1e0d674af6ed580367d8b3d2d60fb88609a675e8f322fd466a23006e38078b67edd6f306e639d6be12abb2972d2 -EBUILD micropython-1.11.ebuild 1378 BLAKE2B 69be720fb460712ba7610512d05d212b89206e527ec915b3e9ab2b0346b8b7250994f50104cd472c21c0ba0b16a421ccdc52404611b2d34fab64139a074aa0f5 SHA512 46001eb1808e77ca487e1bd2f299404068a398c7891ae9ec0de4286e895c555aeb8fe98679488b661e44eb3a802adbd3b9e9a3c404669bad48b5eb08b82d8cbb +EBUILD micropython-1.11-r1.ebuild 1380 BLAKE2B ea3bfb173760d1f01a39a369449d0171974f28383f46419d497f587628a157998e3f5cc16e43c298b46109d7842f01804a38964b8bb8b57680d84051eefea079 SHA512 2f71d0a083e6910b7ce9c9adb7b366b067ac2adeeb7ee47d334b8d197ac672492ca457f0cfd6aaf63cde958721f0be65ae68465c944e09e98f129873f48285f6 MISC metadata.xml 1246 BLAKE2B 00725ccd97a3b21bc7fe1a758c066adb0b7b41d7d6b6ec08e4227a39fdf4a3baec6070eb2226406e42a707eaa8a41296791f4f0867314cfcdaa1e6c602e0489c SHA512 ae1a3836cba438850526bfd2fcb1bf20993408dfff9c54f27e81510dae1a9753ce0df3cc53b7e5aad43412e7cd1b5897e2a2972d15dbed594ddf2ab3927e4e9d diff --git a/dev-lang/micropython/micropython-1.11-r1.ebuild b/dev-lang/micropython/micropython-1.11-r1.ebuild new file mode 100644 index 000000000000..57a5d6bee6a3 --- /dev/null +++ b/dev-lang/micropython/micropython-1.11-r1.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit toolchain-funcs + +DESCRIPTION="Python implementation for microcontrollers" +HOMEPAGE="https://github.com/micropython/micropython" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz" + +KEYWORDS="~amd64 ~x86" +LICENSE="MIT" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + dev-libs/libffi:= + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}-prevent-stripping.patch" + "${FILESDIR}/${P}-exclude-float-parse-tests.patch" +) + +src_prepare() { + default + + cd ports/unix || die + + # 1) don't die on compiler warning + # 2) remove /usr/local prefix references in favour of /usr + # 3) enforce our CFLAGS + # 4) enforce our LDFLAGS + sed -e 's#-Werror##g;' \ + -e 's#\/usr\/local#\/usr#g;' \ + -e "s#^CFLAGS = \(.*\)#CFLAGS = \1 ${CFLAGS}#g" \ + -e "s#^LDFLAGS = \(.*\)#LDFLAGS = \1 ${LDFLAGS}#g" \ + -i Makefile || die "can't patch Makefile" +} + +src_compile() { + cd ports/unix || die + + emake CC="$(tc-getCC)" axtls + emake CC="$(tc-getCC)" +} + +src_test() { + cd ports/unix || die + emake CC="$(tc-getCC)" test +} + +src_install() { + pushd ports/unix > /dev/null || die + emake CC="$(tc-getCC)" DESTDIR="${D}" install + popd > /dev/null || die + + # remove .git files + find tools -type f -name '.git*' -exec rm {} \; || die + + dodoc -r tools + einstalldocs +} diff --git a/dev-lang/micropython/micropython-1.11.ebuild b/dev-lang/micropython/micropython-1.11.ebuild deleted file mode 100644 index 218dea6ed460..000000000000 --- a/dev-lang/micropython/micropython-1.11.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit toolchain-funcs - -DESCRIPTION="Python implementation for microcontrollers" -HOMEPAGE="https://github.com/micropython/micropython" -SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz" - -KEYWORDS="~amd64 ~x86" -LICENSE="MIT" -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -DEPEND=" - dev-libs/libffi - virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}/${P}-prevent-stripping.patch" - "${FILESDIR}/${P}-exclude-float-parse-tests.patch" -) - -src_prepare() { - default - - cd ports/unix || die - - # 1) don't die on compiler warning - # 2) remove /usr/local prefix references in favour of /usr - # 3) enforce our CFLAGS - # 4) enforce our LDFLAGS - sed -e 's#-Werror##g;' \ - -e 's#\/usr\/local#\/usr#g;' \ - -e "s#^CFLAGS = \(.*\)#CFLAGS = \1 ${CFLAGS}#g" \ - -e "s#^LDFLAGS = \(.*\)#LDFLAGS = \1 ${LDFLAGS}#g" \ - -i Makefile || die "can't patch Makefile" -} - -src_compile() { - cd ports/unix || die - - emake CC="$(tc-getCC)" axtls - emake CC="$(tc-getCC)" -} - -src_test() { - cd ports/unix || die - emake CC="$(tc-getCC)" test -} - -src_install() { - pushd ports/unix > /dev/null || die - emake CC="$(tc-getCC)" DESTDIR="${D}" install - popd > /dev/null || die - - # remove .git files - find tools -type f -name '.git*' -exec rm {} \; || die - - dodoc -r tools - einstalldocs -} diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest index 2203477a4bb4..32115fafa772 100644 --- a/dev-lang/moarvm/Manifest +++ b/dev-lang/moarvm/Manifest @@ -1,4 +1,4 @@ DIST MoarVM-2021.06.tar.gz 5449936 BLAKE2B 2bf6fc2e1a4dd0741819305e506945b09ed2a0fc1348ff98565cae397e76044176f05e87faeed1f52d5efadccb6d44edcb987553f5e164417153a8f23ba09493 SHA512 b23e20ed3e0830395ac09bd84a33ea3ab7ba52bce835c67b1feec45823ca2f0c9d04957d1f1b48b400fc30a48db37c5f89c3975b0273f684d9677145e2296f2c -EBUILD moarvm-2021.06.ebuild 1449 BLAKE2B c54c97f3c62bac54d140d3bd881cc616434fa88909dfa76f1168a22b9ea3acf346e06573cdb082e306bbc9b134b1ce82f3efbb760eedc91552f37cdbcbbc4fee SHA512 125e657028ada97b7e7cc5fcdcfec2a05450a494110aac1698fadd06465518423b5032f42f5a41692b3a8fb98964e3d8d225e1e6956fffb65937d6e637c670fb -EBUILD moarvm-9999.ebuild 1736 BLAKE2B 9f434f8561c55716165952dce8e35bd3659fbd0f3a42f688049e023faa0f10c4aa245ca810279ae80527c4ec5fe5c514bc5ae534aa30e839693657ce68fc7f9c SHA512 5867e2ee90401a86cd0341d8ab5ae75fecb7d366d88e1269439248686942b5c1855e45857b4388491631b26361aac3b0495d7214158931e955655a34d557fada +EBUILD moarvm-2021.06-r1.ebuild 1453 BLAKE2B e55f7009cdd23d8bcff869bb590959982e7a5ef6fa419d6155476f944c555b766247c10e20fe8d60dfb5cce6dd7fa98c6ce8ed9f7e461322b74ea25c92bd6c35 SHA512 f4b022aa0c8385cf6e0e75f8b59470ed27da5a24767401f76e9561d347162101e352deda1272eeab4f28a644770dc4fc411c09811898daf79cac4e5c33fbb693 +EBUILD moarvm-9999.ebuild 1740 BLAKE2B 8cc6d8b3dff8d5fc12f335e854b0d83f3fec8384500a1ca38be253066a7ae8b858c561f8e55579888ed4d224f4216d9eff0bf5f995f139f8cedce936ccdc06da SHA512 3e2223a691efe6cacd229d72559990a8f72b21b39fe697f8e8e2e347c2ddeed82dfac12d49160aa6acbd0baf821e43f6cd7d805fb154fe936bb9882c3d61539c MISC metadata.xml 802 BLAKE2B a2fc329ff27764a800785617bf71bdb99f764c3709130a094ac398d99aeef1414c1188d55088ada2f41eb4892709ef681d47b9f64e27a0426d5ec0cd8c90640e SHA512 2afbbc8899857a4bd3583f2bad121fd68208dfbdd4d0852bfbf28860e45e49a4b600ee74c254f7ffa782e8c1e939d56744acf82771a49fe0caed7e31492b8c60 diff --git a/dev-lang/moarvm/moarvm-2021.06-r1.ebuild b/dev-lang/moarvm/moarvm-2021.06-r1.ebuild new file mode 100644 index 000000000000..965484962763 --- /dev/null +++ b/dev-lang/moarvm/moarvm-2021.06-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic + +MY_PN="MoarVM" +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" + inherit git-r3 + S="${WORKDIR}/${P}" +else + SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${MY_PN}-${PV}" +fi + +DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6" +HOMEPAGE="http://moarvm.org" +LICENSE="Artistic-2" +SLOT="0" + +IUSE="asan clang debug doc +jit optimize static-libs ubsan" + +RDEPEND="dev-libs/libatomic_ops + >=dev-libs/libuv-1.26:= + dev-libs/libffi:=" +DEPEND="${RDEPEND} + clang? ( >=sys-devel/clang-3.1 ) + dev-lang/perl" + +DOCS=( CREDITS README.markdown ) + +# Tests are conducted via nqp +RESTRICT=test + +src_configure() { + MAKEOPTS+=" NOISY=1" + use doc && DOCS+=( docs/* ) + local prefix="${EPREFIX}/usr" + local libdir="${EPREFIX}/usr/$(get_libdir)" + einfo "--prefix '${prefix}'" + einfo "--libdir '${libdir}'" + local myconfigargs=( + "--prefix" "${prefix}" + "--has-libuv" + "--has-libatomic_ops" + "--has-libffi" + "--libdir" "${libdir}" + "--compiler" "$(usex clang clang gcc)" + "$(usex asan --asan)" + "$(usex debug --debug --no-debug)" + "$(usex optimize --optimize= --no-optimize)" + "$(usex static-libs --static)" + "$(usex ubsan --ubsan)" + ) + + perl Configure.pl "${myconfigargs[@]}" moarshared || die +} diff --git a/dev-lang/moarvm/moarvm-2021.06.ebuild b/dev-lang/moarvm/moarvm-2021.06.ebuild deleted file mode 100644 index df017e9cd54a..000000000000 --- a/dev-lang/moarvm/moarvm-2021.06.ebuild +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic - -MY_PN="MoarVM" -if [[ ${PV} == "9999" ]]; then - EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" - inherit git-r3 - S="${WORKDIR}/${P}" -else - SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" - KEYWORDS="~amd64 ~x86" - S="${WORKDIR}/${MY_PN}-${PV}" -fi - -DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6" -HOMEPAGE="http://moarvm.org" -LICENSE="Artistic-2" -SLOT="0" - -IUSE="asan clang debug doc +jit optimize static-libs ubsan" - -RDEPEND="dev-libs/libatomic_ops - >=dev-libs/libuv-1.26 - dev-libs/libffi" -DEPEND="${RDEPEND} - clang? ( >=sys-devel/clang-3.1 ) - dev-lang/perl" - -DOCS=( CREDITS README.markdown ) - -# Tests are conducted via nqp -RESTRICT=test - -src_configure() { - MAKEOPTS+=" NOISY=1" - use doc && DOCS+=( docs/* ) - local prefix="${EPREFIX}/usr" - local libdir="${EPREFIX}/usr/$(get_libdir)" - einfo "--prefix '${prefix}'" - einfo "--libdir '${libdir}'" - local myconfigargs=( - "--prefix" "${prefix}" - "--has-libuv" - "--has-libatomic_ops" - "--has-libffi" - "--libdir" "${libdir}" - "--compiler" "$(usex clang clang gcc)" - "$(usex asan --asan)" - "$(usex debug --debug --no-debug)" - "$(usex optimize --optimize= --no-optimize)" - "$(usex static-libs --static)" - "$(usex ubsan --ubsan)" - ) - - perl Configure.pl "${myconfigargs[@]}" moarshared || die -} diff --git a/dev-lang/moarvm/moarvm-9999.ebuild b/dev-lang/moarvm/moarvm-9999.ebuild index 70abb36a2364..b88cb6bd3cee 100644 --- a/dev-lang/moarvm/moarvm-9999.ebuild +++ b/dev-lang/moarvm/moarvm-9999.ebuild @@ -24,8 +24,8 @@ SLOT="0" IUSE="asan clang debug doc static-libs optimize ubsan" RDEPEND="dev-libs/libatomic_ops - >=dev-libs/libuv-1.26 - dev-libs/libffi" + >=dev-libs/libuv-1.26:= + dev-libs/libffi:=" DEPEND="${RDEPEND}" BDEPEND="${RDEPEND} clang? ( >=sys-devel/clang-3.1 ) diff --git a/dev-lang/parrot/Manifest b/dev-lang/parrot/Manifest index e4f3c0dc02d8..5b04285ce23c 100644 --- a/dev-lang/parrot/Manifest +++ b/dev-lang/parrot/Manifest @@ -1,3 +1,3 @@ DIST parrot-8.1.0.tar.gz 4700495 BLAKE2B a90cd3c43be2a6812eaf5a5881cfd97e7011b5b82234c5eaf61e54cba923544a2f2c649387afe55d4e710a1e92ff31b1d32454a230fda6005b40778598f1915e SHA512 f5c4ffeb22a8f4949081ba9d98e3129eb067f6f0ed139248ca1d521570ccbada5dfa69ca2e390868a00ed275780552a5cd06eb271ff14ff753bf8375b7c658c2 -EBUILD parrot-8.1.0-r2.ebuild 2491 BLAKE2B 4f6822f9f1663512dd429ffdfa4949871fdb9c5d87a93a915868e881bbfdf5da227bd7d3caa68a082210b9f4f394adbf1c31e88decf333a50820b1d02e6ca15c SHA512 72194287af0f259fa76dcb081176b4129f980f80d14b308680b4b4dd62c88cfdd274e510b278e483719ee14bee3adce621e39de4d4dcc2047dba130f01dde838 +EBUILD parrot-8.1.0-r3.ebuild 2493 BLAKE2B 2c4699627e852eb6b9eb19765cbc17abebc97340fe087aa1b2d63af90e684ce4e13e78bbcd5638d3e48d6314983edbb57c6ba6c1d28c2b034745bcd2dde594b2 SHA512 44636b8d381991e5c331da817f22aab5507305c7c3a91202fb11d52f29495d191d5ddb8311051e532674419da8c813f9b1ced9010d1fc6724026e31dad71ea42 MISC metadata.xml 215 BLAKE2B 0147839ca51bcb1aed1f611c6a8c04aea7b280c6ca8857677d4ee111e14fac125e4b1878283502b65f58da42ea8e52febe6dd827a2bec28f1f24bafe562f1acd SHA512 595468e29b960c38b6144f0314eaa244039140156c1edff5dd904ecd0e3ea8bf58ce07d724704011cbbe44f26442d6ee19dec7b558fe3773ceb240f931be9f66 diff --git a/dev-lang/parrot/parrot-8.1.0-r2.ebuild b/dev-lang/parrot/parrot-8.1.0-r2.ebuild deleted file mode 100644 index 7dd22026a8bf..000000000000 --- a/dev-lang/parrot/parrot-8.1.0-r2.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib - -# weird failures -RESTRICT="test" - -DESCRIPTION="Virtual machine designed to compile and execute bytecode for dynamic languages" -HOMEPAGE="http://www.parrot.org/" -SRC_URI="ftp://ftp.parrot.org/pub/parrot/releases/all/${PV}/${P}.tar.gz" - -LICENSE="Artistic-2" -SLOT="0/${PV}" -KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" -IUSE="opengl nls doc examples gdbm +gmp ssl +unicode pcre" - -CDEPEND="sys-libs/readline:0= - dev-libs/libffi - net-libs/libnsl:0= - opengl? ( media-libs/freeglut ) - nls? ( sys-devel/gettext ) - unicode? ( >=dev-libs/icu-2.6:= ) - gdbm? ( >=sys-libs/gdbm-1.8.3-r1 ) - gmp? ( >=dev-libs/gmp-4.1.4:0= ) - ssl? ( dev-libs/openssl:0= ) - pcre? ( dev-libs/libpcre ) -" -RDEPEND="${CDEPEND} - doc? ( dev-perl/JSON )" -DEPEND="${CDEPEND}" -BDEPEND="dev-lang/perl[doc?] - ${RDEPEND}" - -src_configure() { - myconf="--disable-rpath" - use unicode || myconf+=" --without-icu" - use ssl || myconf+=" --without-crypto" - use gdbm || myconf+=" --without-gdbm" - use nls || myconf+=" --without-gettext" - use gmp || myconf+=" --without-gmp" - use opengl || myconf+=" --without-opengl" - use pcre || myconf+=" --without-pcre" - - perl Configure.pl \ - --ccflags="${CFLAGS}" \ - --linkflags="${LDFLAGS}" \ - --prefix="${EPREFIX}"/usr \ - --libdir="${EPREFIX}"/usr/$(get_libdir) \ - --mandir="${EPREFIX}"/usr/share/man \ - --sysconfdir="${EPREFIX}"/etc \ - --sharedstatedir="${EPREFIX}"/var/lib/parrot \ - $myconf || die -} - -src_compile() { - export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"${S}"/blib/lib - # occasionally dies in parallel make - emake -j1 - if use doc ; then - emake -j1 html - fi -} - -src_test() { - emake -j1 test -} - -src_install() { - emake -j1 install-dev DESTDIR="${D}" DOC_DIR="${EPREFIX}/usr/share/doc/${PF}" - dosym parrot-ops2c /usr/bin/ops2c - rm -vfr "${ED}/usr/share/doc/${PF}/parrot" || die "Unable to prune excess docs" - DOCS=( - CREDITS - ChangeLog - DONORS.pod - PBC_COMPAT - PLATFORMS - README.pod - RESPONSIBLE_PARTIES - TODO - ) - use doc && DOCS+=( editor ) - use examples && DOCS+=( examples ) - use doc && HTML_DOCS=( - docs/html/developer.html - docs/html/DONORS.pod.html - docs/html/index.html - docs/html/ops.html - docs/html/parrotbug.html - docs/html/pdds.html - docs/html/pmc.html - docs/html/tools.html - docs/html/docs - docs/html/src - docs/html/tools - ) - einstalldocs -} diff --git a/dev-lang/parrot/parrot-8.1.0-r3.ebuild b/dev-lang/parrot/parrot-8.1.0-r3.ebuild new file mode 100644 index 000000000000..ad319217e9f1 --- /dev/null +++ b/dev-lang/parrot/parrot-8.1.0-r3.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib + +# weird failures +RESTRICT="test" + +DESCRIPTION="Virtual machine designed to compile and execute bytecode for dynamic languages" +HOMEPAGE="http://www.parrot.org/" +SRC_URI="ftp://ftp.parrot.org/pub/parrot/releases/all/${PV}/${P}.tar.gz" + +LICENSE="Artistic-2" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="opengl nls doc examples gdbm +gmp ssl +unicode pcre" + +CDEPEND="sys-libs/readline:0= + dev-libs/libffi:= + net-libs/libnsl:0= + opengl? ( media-libs/freeglut ) + nls? ( sys-devel/gettext ) + unicode? ( >=dev-libs/icu-2.6:= ) + gdbm? ( >=sys-libs/gdbm-1.8.3-r1 ) + gmp? ( >=dev-libs/gmp-4.1.4:0= ) + ssl? ( dev-libs/openssl:0= ) + pcre? ( dev-libs/libpcre ) +" +RDEPEND="${CDEPEND} + doc? ( dev-perl/JSON )" +DEPEND="${CDEPEND}" +BDEPEND="dev-lang/perl[doc?] + ${RDEPEND}" + +src_configure() { + myconf="--disable-rpath" + use unicode || myconf+=" --without-icu" + use ssl || myconf+=" --without-crypto" + use gdbm || myconf+=" --without-gdbm" + use nls || myconf+=" --without-gettext" + use gmp || myconf+=" --without-gmp" + use opengl || myconf+=" --without-opengl" + use pcre || myconf+=" --without-pcre" + + perl Configure.pl \ + --ccflags="${CFLAGS}" \ + --linkflags="${LDFLAGS}" \ + --prefix="${EPREFIX}"/usr \ + --libdir="${EPREFIX}"/usr/$(get_libdir) \ + --mandir="${EPREFIX}"/usr/share/man \ + --sysconfdir="${EPREFIX}"/etc \ + --sharedstatedir="${EPREFIX}"/var/lib/parrot \ + $myconf || die +} + +src_compile() { + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"${S}"/blib/lib + # occasionally dies in parallel make + emake -j1 + if use doc ; then + emake -j1 html + fi +} + +src_test() { + emake -j1 test +} + +src_install() { + emake -j1 install-dev DESTDIR="${D}" DOC_DIR="${EPREFIX}/usr/share/doc/${PF}" + dosym parrot-ops2c /usr/bin/ops2c + rm -vfr "${ED}/usr/share/doc/${PF}/parrot" || die "Unable to prune excess docs" + DOCS=( + CREDITS + ChangeLog + DONORS.pod + PBC_COMPAT + PLATFORMS + README.pod + RESPONSIBLE_PARTIES + TODO + ) + use doc && DOCS+=( editor ) + use examples && DOCS+=( examples ) + use doc && HTML_DOCS=( + docs/html/developer.html + docs/html/DONORS.pod.html + docs/html/index.html + docs/html/ops.html + docs/html/parrotbug.html + docs/html/pdds.html + docs/html/pmc.html + docs/html/tools.html + docs/html/docs + docs/html/src + docs/html/tools + ) + einstalldocs +} diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index cec8d3018c29..4e3e1e1df496 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -10,8 +10,8 @@ DIST php-7.4.19.tar.xz 10341424 BLAKE2B b5f549603a2d108d2d4c16dfb15c2088612e040e DIST php-7.4.21.tar.xz 10346628 BLAKE2B f758d6bef60f5e0c99bd097533d1663640362c2b752a3bd54389acc3bd7d173c1ba5d4b1c119b6ad50f5029aabe2349bb4646a33212dc3cf34fd294f24def401 SHA512 778ddbfe614fdc6a00bc82c61f4c636bdbe815ce3398415a29bd24a2fd4ca2113b3b804303585d8830242e04b0c202bbc7c725a46c9bad79b070a0e896e5e681 DIST php-8.0.8.tar.xz 10674548 BLAKE2B d2446ae5b80e692106b89418864e4253e000741addb7526599ec8db96713f91a5ab3bccd5bbd2f536b16cc58afafdf22b19996d424dfdce3218a8083ee2bdf37 SHA512 1f8b94083b64705e24365af57169f8ff08115f31a7471238d9ed7a24b692e46c789f3fc00ff2bef2205243b9cd9c4736831e995a004afc7fc4127f3b74932428 EBUILD php-7.3.28.ebuild 22673 BLAKE2B 6c64c471608b337f4ebd5d07a9cec58a38afdf3ca5b64d094e4e1a37040dc4f95331c1fb7bf8f3a8c5d3cf2b0f6b215b4b342fecb162c69bc29214cb250553bb SHA512 49b0d559c6999719ca732d9a40c9154806092083b7da2e5a11ab33718b638cb774de3a6af81949c408e99ba18a3720c4145022221921f3a7bd84572ac28c98c0 -EBUILD php-7.3.29.ebuild 22687 BLAKE2B 2d1a20ad1a79c4c3991497a3086d961e0ec7380f57f512109e42daae8121098505a1d7c48c146ba3e3f470727773c2dc6d654c497574b68d61361fb81d51482e SHA512 087458a60187d93550a78de17878eeb7e712ea9876fd7451e162187993414dbb023225ca0ed1c6a226efae14133e55d23587171ac4cf3560db31a187fbf60a49 -EBUILD php-7.4.19.ebuild 21382 BLAKE2B 27074fae8c5d1b0727acb1ca1672b0300edb30483ec7fcc4b0102982e8ea6a31f4c5f55013243c2de3e3192864ca466cbe1ac589689204ba976eb85cfae7db87 SHA512 afccdc44f0ddd1c5417c8be6655a947508b82c8cabe57a24174fd03eeb951b730136379c2a0f978b10993fa4b0a7ef6eeb95b398298ed4433db86b4e2d2ba872 -EBUILD php-7.4.21.ebuild 21396 BLAKE2B 7571d15c3386cf7d85e93f7c9c89c7584935a215d5bd877bdd1ece3379603b1a43bfe31b6e059e2079c2e9858bbc0b9ba3f666750f8f7d4c01c9f8ef97e6fe8a SHA512 1960c773245406fc427857f5aa05eabbd6bcdd1d7365c35ddcd7212ec96274eea1ea2cbba70e43959cb0b43990edefb0a086bc7c3d8aa2449dfcc5b1c90c75c7 -EBUILD php-8.0.8.ebuild 21338 BLAKE2B 35fb85300c3908659048da43377e00d599344b5bdf9024de08301cf5e3fc3200035a9d7a9db5a4dedb4f814a6bcc11b64db7ed1c2e3b8f412446326dad4330da SHA512 e8adab55766f6127de9aa6becdeab4988a634eb0149ad81d124a3721cda26d3f35489cfddb1e3dd3f4a210b0d7f4b86f6ea19e539eb80984ee2baf0afe79ebcd +EBUILD php-7.3.29.ebuild 22686 BLAKE2B 966d01cde10639b713957a0ff0976f5a66a0db5ea2b49a6dc9619f48f303a6ff45e2c7fba97f82c41d21b11a8c4cc88fb24f5258c7134c51a0bde9e51358f70d SHA512 24f40975212278e165477ec14047607b5bd6932fa0455b1e82c1666d9c33a4e0fa57ce3b537277f5e421f729e125da6dd7a943d07240dafac13d74f0cd4b1af9 +EBUILD php-7.4.19-r1.ebuild 21384 BLAKE2B f4a6d16ee301992c670ecb9e729a7cdb94cc012b5f825210be9a020bb12edd1ec05b9b3437575898f1825d91fdaa10e3164ae422e73fcbc60e0108e899c9cbaf SHA512 ac6f6956c8d253f2653f2b9f4e27940eae3af0f63c61175ec2a6ef7f87c95a4ecf51a77f6ad5a62eb161a2c7a6a697392f6bd75c9a0227653b910b867579a368 +EBUILD php-7.4.21-r1.ebuild 21397 BLAKE2B 4c1e46c57ff6347ca049763251fde77d9d105d41b61e1d436ab8b7fc7613b6918c3fb5523dedfe7cfd03493d995b75f85db4f72d98919f629f5236002a6705e3 SHA512 880db6017a1fc83bdafdfecac38424224cc8fdcd1261d8564b6ef5622cfb757f51705dd6e9bae585adc74d21260d9ddfc87d8bdab74a851dadb43cb9e56906f2 +EBUILD php-8.0.8-r1.ebuild 21340 BLAKE2B 9d00e868e00c51946e31edc11463c8f2a0837e4f04d2dfc7924c856be1d52f8a5e74c63d9108fe60822b95c5122f4365b4d766fc787d603d3638a3c92b24211b SHA512 b8d14730620acf71e8d8af1adb9f3aab156d58b94dcdd65810a0de82399d20d71f6abc1fb41beeae95d35156da85fceff3d78548ab22dafbf02e180eeb963bd5 MISC metadata.xml 3268 BLAKE2B 4abc96d858186ab5bc6f0797fb3f1cf7f5aaa0b07a4652dcc16aa65e197bd73803f6bac717084c0c9a194e7da5b6632523105205011a0d39221aabc16ade8e2e SHA512 1413edb5293cb93ad8f94376f11b9952ca6369b667ae23baed56d9cbaa68cb9cfa5a80da7dd7184ba84f08d5a4054068da1c10daca81d1730e7b6edebba8b29f diff --git a/dev-lang/php/php-7.3.29.ebuild b/dev-lang/php/php-7.3.29.ebuild index 62dc6b1ade84..3130eec7a864 100644 --- a/dev-lang/php/php-7.3.29.ebuild +++ b/dev-lang/php/php-7.3.29.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.19-r1.ebuild b/dev-lang/php/php-7.4.19-r1.ebuild new file mode 100644 index 000000000000..3c4145e39703 --- /dev/null +++ b/dev-lang/php/php-7.4.19-r1.ebuild @@ -0,0 +1,750 @@ +# 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? ( =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:= ) + 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.19.ebuild b/dev-lang/php/php-7.4.19.ebuild deleted file mode 100644 index 83528047016b..000000000000 --- a/dev-lang/php/php-7.4.19.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? ( =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:= ) - 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.21-r1.ebuild b/dev-lang/php/php-7.4.21-r1.ebuild new file mode 100644 index 000000000000..8a65e5a674d7 --- /dev/null +++ b/dev-lang/php/php-7.4.21-r1.ebuild @@ -0,0 +1,750 @@ +# 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? ( =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.21.ebuild b/dev-lang/php/php-7.4.21.ebuild deleted file mode 100644 index 7ff49f4fc8b0..000000000000 --- a/dev-lang/php/php-7.4.21.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? ( =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-8.0.8-r1.ebuild b/dev-lang/php/php-8.0.8-r1.ebuild new file mode 100644 index 000000000000..c0414dd262a5 --- /dev/null +++ b/dev-lang/php/php-8.0.8-r1.ebuild @@ -0,0 +1,748 @@ +# 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 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 ) ) + 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 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.8.ebuild b/dev-lang/php/php-8.0.8.ebuild deleted file mode 100644 index 54e951e5c95f..000000000000 --- a/dev-lang/php/php-8.0.8.ebuild +++ /dev/null @@ -1,748 +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 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 ) ) - 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 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 c6bea41fe73f..479d30ffc060 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -6,6 +6,8 @@ DIST Python-3.10.0b2.tar.xz 18651420 BLAKE2B 6433723e789c04cfe09e7b966b1d5ad1687 DIST Python-3.10.0b2.tar.xz.asc 833 BLAKE2B 7fe4061350b27e0d0dd466cc80804a56126620649b4753cfe0ed1fc3a292aad30ab07f177f5bf893cd51112b6a54232a64b30d2bc2f8f66a9c2621efce3ae6da SHA512 9a84ab98a5215f13302c7a983e9224096d15c07d9a7899b28daff49405c46efdf7770263ca57e6e0f85ce1cbc0cafec373baf1675ade6ddb0eb268e99753907d DIST Python-3.10.0b3.tar.xz 18640292 BLAKE2B 29af2d0e042714d6cfed08f6ecc5846dded1bec9a3efce01cca740e7dbfb036c06389ba638cd984410613067021bdd4291cb8f1fda353ed21444ee4dc4404a89 SHA512 ef0dc5eddb5f9702ab88faa2827455347caa81ab6c03192d6e37c968a40c53ab485d5c923905c511d19bc35e10129aa302f6733e0a7d296da8f725367dd1b258 DIST Python-3.10.0b3.tar.xz.asc 833 BLAKE2B 8978db8f2443e4a9d8f8997b64a731f7d8d5cdc9028dfc8812c3363298777aa227d9dd896a518e08f2793fbcc93a71bac4b422277b3ecd2ee4210b03e665385f SHA512 6b8d2caf753f0d92019e18d1441e323a44aff06ee8bdc272572a67359dc4bece833db56b9318c91962d39ee4d09bf701b548d71ae02c4b64f3c21f1c23ed1d36 +DIST Python-3.10.0b4.tar.xz 18652712 BLAKE2B 227a6e6ce5b8ddec7b3cf39a65e0287cb541185a1b58a4f4ae9dbc83bbd5d7bdceff2992d3e7c2ec4cda7fb492123e54f8cc60b6b259bbe776e1414a8e6753f7 SHA512 deb5ce510c381ce7fcdc7056754b3afccdbc4610cb77b85115859a5e636065584f517e0931a31f77723c09229b2fd751011b1cf16967c075f629018f0a7975a4 +DIST Python-3.10.0b4.tar.xz.asc 833 BLAKE2B 0aaabe7aca916bd3e80dee979cf6466b0fd0f25aa48a2955d1bfe84be8903988ccd2c5030433fdb5165b342a3acdc3ec958827028260b59bb105f41ceb5852b1 SHA512 55ef4265d9217f35e5f1da3b8b560f711c3f118230ff5fb7fe3ab5e189c22c331cecb9783465234ac0df8a1e075887b5fedfbc181cab6e571e5e2f8403d9720d DIST Python-3.6.13.tar.xz 17213520 BLAKE2B 7c1938f92616d428d107a70397a9f7fc82377d0e3d26c2da4f5bcb79a54115f71498a5e7b5f601b6cff6f362ec1f689c3ac920eb248956e1e4f6c21602514dd1 SHA512 0482b3e7eea22b0635b61f06753e77c832c9431385c5ea1ecb8f60868262afd2b45c239badb8e906a33f035ffbf347b4a499fe6f0f008f1fa9ecc9de66c63947 DIST Python-3.6.13.tar.xz.asc 833 BLAKE2B bc1df46c2e460c2d237647ecff84e12c75f6ed24a432d2f9cbefdead8a77d4468e5e4ed9f4debac593c63cf95d27c9f7d0f94dce69af8746cc71f0d0b1810245 SHA512 f6e8936a5e5b45d3ad41184717f5ed75debe29f81138fd1b75b53bc7d2905edff42b42dd7995b11ba6d80233c5c3755521edb19d7ac28d414bfebb2d1dfc0c86 DIST Python-3.6.14.tar.xz 17218148 BLAKE2B efe655cb907ffa678ca135f88ba9d867e523969ad82dbc09ffb6d8d383824a4b43c525e156a3c35484a526b4b3ea755109e5ef15d17852d44e3351c307fc5e91 SHA512 15b82b7285db97cb27a6fcd57ce9e258fdf8dbdb2f00e22e4331161b8557c8244342546c4143e84c72730759e0276770396b6ca5bb7cf87310cca8e175423006 @@ -26,6 +28,7 @@ DIST python-gentoo-patches-2.7.18_p10.tar.xz 30436 BLAKE2B 24610a09037ce43a4cdb9 DIST python-gentoo-patches-2.7.18_p11.tar.xz 31340 BLAKE2B bdc097b971ab8ec0b60f944002af34f3fff6b681c43515a4fec2fcac1a2c731bf4fcfae2178463103911e2f8cd6bc84d3b56cd0ad61da5c8276278ec9b85a242 SHA512 2a2388c4543267bfb0167f963a22f5141442c9347d9a8806ad6917843e6958d47c8f1933244651c870101b21408c920408fe056efb7a148117c24ab391151d88 DIST python-gentoo-patches-3.10.0b2.tar.xz 8124 BLAKE2B 6b707ef911c0573e6e87792b4ba1d37e5620723c7b22759c78ac20d88414390a7317546c41d867cd9decb6247c004a9df8eb25ab0999db9c7b431b03b64609e9 SHA512 9a95a1f8a6e4461107e9580e6017956ade47be90fbcd94cbb2eb83a871702308058a402c1eafc8e0d54c2a1910b9030edd9f71b051e846b1219e9f7bd11274b6 DIST python-gentoo-patches-3.10.0b3.tar.xz 8112 BLAKE2B c6a0517323c5c0d8af998915ccb675a51df19893b9252f9ad195b62f8988fa65ca73894fc8089c37a44f22976f57c49c24c0bf9469b1edb6c3422c4a7be832d8 SHA512 fbc770430259ff482c0a4b89859e2a747fde0f34037829f9cc5a2972345d0b073612db7ef84f382248902e0f9e203f8d8dc07165942356b01f48b23dd4412f64 +DIST python-gentoo-patches-3.10.0b4.tar.xz 8128 BLAKE2B d6357464f540db255d97e0135676b1a3188ab595b01192c0ba24917a08f24fdda64528de788a942cbff79e8eb8e0e21d509152c18a94dfb629c898ac06f1a408 SHA512 8ee4ced4631335341277b10d38c9c86a53f7098669ca6aacb9fe94d6751df0694f4238068867a951f53740ea1bb4f7fb90aae4f2e1151681b7a215d406eaefd0 DIST python-gentoo-patches-3.6.13_p5.tar.xz 21940 BLAKE2B f6753f2c4383fbf0de0433040dae812f35bf550c60ac4a042c62afcff158619ebdc47d013dfa62d9b3dd446e8401ad50aaaeb212fb048a884a1c436b73b7afe2 SHA512 260d6abb2c24726fcddbe3ae828e96e315f90b6d486c11868066a25635968214a8c25a89737a9737c32ca110892a28f6b12badbeceb5e4d8d4a2a996b3ce7352 DIST python-gentoo-patches-3.6.14.tar.xz 14744 BLAKE2B b9482f9d2b7ada60eff9a5672ed21556c00b473a7cfdb543dce8253fb0ff1539e635a35569478c496012ecde4eef78a257da28f7a80bff99da10249708262229 SHA512 246f83911c8e52ea83a9bf453faa0bc0ea0c29bbf3b666a938e3790c6147f71e617ff9cb27501c5f0b89172eb9e7819e3f2ef0a5bae271cc938d2c0c2b93f7ae DIST python-gentoo-patches-3.7.10_p6.tar.xz 23868 BLAKE2B 3b3786030a461d06a96dbe0987d05c35215bb5e7b0b95e1337a05a311ad6f3c6db68cc7082128c56eea3eff4b98f74d213dde1f48517e07791815b73dcdcd5b8 SHA512 b817a9bc1469675c14555ce50bb004e8c1426465997a72a94859ab10df7c2a036b33b332c9e6b9f49df1addd899a37afd28fe60bf6ce90b4b21f4a28a27aca25 @@ -36,14 +39,15 @@ DIST python-gentoo-patches-3.9.5_p2.tar.xz 14728 BLAKE2B b6b0a0c316d99e8282bdbb5 DIST python-gentoo-patches-3.9.6.tar.xz 12432 BLAKE2B f63f39b4667eeb214312aa22142c728a1123e88f49c6de09d15e88434e9d630c5e0e588112d77c5cf1f5f25d0224e4fbf0c370488a908e9015f168d9f85e9eb5 SHA512 3e842fcd8574a7f026e401d725febb2815b2b7ac0a89b952a340c7974b911e81286b542d3de56fe5750296f2ab680415b54b8c35f219975af10354cddb1f257a EBUILD python-2.7.18_p10.ebuild 10278 BLAKE2B 94e34d8079101d6cab673cb4e0e36a67ce9e007eb6b7577f5d3f60b69bb609ea864a90b68cc07035d22ee44c7f57d3197c712a00c8b276ec703c140225b621c4 SHA512 8ca80a5ead91ef4cb3d91114e558eacc0bc6ac8ae8e7e1f8f3f89f702c4e681f154b3157e174d229c436b983b4c5cb325af8774ecf4c0e9243bb075d04e5f8a7 EBUILD python-2.7.18_p11.ebuild 10243 BLAKE2B 837d896b6443c4456ae9b119dfeecf42225942e227443b0480cfa96c9433f207bc955679f7456df72a4f21b7a3e456735fbf7548d062e6f48cd8da544c472e52 SHA512 3ba5e44c87c4c39fc3cfd4890c3cfafa48e5121508ee9990ae0496da07b1607b7251f4cbc7df9b2960881b163fd3a6e250f382d8e84523adab563e37d97a62c8 -EBUILD python-3.10.0_beta2.ebuild 10045 BLAKE2B a645612f66592f724ab380cb8099e6baa39ac247dfa59db4ab08b122ec10c7661fc08966cd50bb29993f538f267f84b069c25c33a719b8909131377c7adcb11e SHA512 7e6465555cba61ac8761dcb3d5052cb8e250dabb6605152ec923fa5ad48520a988a9fc0176c05afc40104a3a5f3b48c091f93dbb506d81e1c976ec3c15f89b86 -EBUILD python-3.10.0_beta3.ebuild 10008 BLAKE2B cdbf61b92262d95fbe85d092da31c1b92e61b5bd88220c9239e30137959ed4cda40c6f89ac0a39d1c191542c693b81e04ecf1c152edb4ec05cbc496359a63695 SHA512 2185ae0a018f654dbd9c975cbf1a9986d1aef6d127a6d6cd680c9feed6503d4d2f9cdb550aa795c4e6cf062448fde596c28f31d90b0d133f9ef45acc23006157 +EBUILD python-3.10.0_beta2.ebuild 10053 BLAKE2B f679214bcdba0a97939f2cac352bba88a8e82a82bcea379235ed770c7c1bd295ab0938690d9c822a8057a95d33ce5dba26ccb07bc5bd50dc1af2f567b400a816 SHA512 5fc6619cba4e79c9aaf28ec94634fb882075a08f0d33d8db2c9750717b63ad059517a1a25c58f4653f600c2f3d341c415f974045068dc9a516a068bf18a6aa50 +EBUILD python-3.10.0_beta3.ebuild 10016 BLAKE2B 04656f91662d38a3fe5b013ca103edd0eb81f18699df26380be118bba156e4b0875db393d73fc859248fc0963e432d1bc199e88d6135a891c8dbe14d0d0dcb36 SHA512 ba7426dbeaf91aad83da716b93c56a079f363fed1d0616e0a875f2ec4b69f60f44206125ec32de6d2e8e0f9daf8e1a98e887d31ae21739533822895f96d27861 +EBUILD python-3.10.0_beta4.ebuild 10016 BLAKE2B 04656f91662d38a3fe5b013ca103edd0eb81f18699df26380be118bba156e4b0875db393d73fc859248fc0963e432d1bc199e88d6135a891c8dbe14d0d0dcb36 SHA512 ba7426dbeaf91aad83da716b93c56a079f363fed1d0616e0a875f2ec4b69f60f44206125ec32de6d2e8e0f9daf8e1a98e887d31ae21739533822895f96d27861 EBUILD python-3.6.13_p5.ebuild 9827 BLAKE2B 36aebe4d590f587b338484275c495d8111217a9448657e54d5e5e72e67345b51fd4e4efafe3051a22d203ed66432f2a9442e870e778620b6ae9007398a64ea2b SHA512 3663fdc6fd948efdf14dd6528bdb0510eb60a0258c200441ebf913a3ee6652845852363636520a8f324e597b01f19ed3a0dbb5d9d047d1e473fff8dd486c6c79 EBUILD python-3.6.14.ebuild 9798 BLAKE2B 2aceb48cae2d42ca89bd230132ac960ef32a803da9e226bf4d8eccaebdd31f5820ebcf491ca8b0ed5f83b477d4a8a19f57a80a8a76e75381401ed9c8d3d3d6f8 SHA512 38eb95ad4260d7021f8512c85a871285506e34bc50d72ef76de083ac6eef57f9588f0ae1d447603839c402d928cbf5d904c84249f77c754ea6b970e4cf22ce3c -EBUILD python-3.7.10_p6.ebuild 9632 BLAKE2B d60b873421c264f2f2808a2039f03e24725ecc183564aa44a6203dd06e36f5dbda00f492745f50c4ae33d428cd4dc3997dacfa685d3b5be3c2de640e9e7ea846 SHA512 2503f2803321e2389153447acbd8302aa0600ddaf8d9ecebe41759de382324f1318358c60c7e480f7538c49ae1a60213c5ea90bab1a7a0e1d1e9fddb212477cf -EBUILD python-3.7.11.ebuild 9603 BLAKE2B 7a29d77bad555fd4fc2300508866c86f4b86865847eb4bca11704b37f7d9aef5868519af61fd16e756288a8df4c283512b9ecd61cb2faa12ee252deddd54e2fe SHA512 48d136e5494b8f34b0d4aceb415e6844a34c92b36c18dd74d0a91e3bf61d9c41aaf38bd13b9964809802f311a9e28f14b4179054f59bd560643baa3b16c80391 -EBUILD python-3.8.10_p2.ebuild 9786 BLAKE2B 324d5c3c2ffda4228aa7287aef9b2bd5f5725d39b2b65161da4b86c194e8b430ec52afff3a9cfb504bd8097a22bc11d0a165169c6b60f5732ca3263597597b99 SHA512 cfcac44b744271c8e206195db394e8a9dc8ee50719933bf8661552dd5875ca46745a4cc2c50bda007658c9b7a6c43864bc35ed3f6e0b331138962edbcbe25944 -EBUILD python-3.8.11.ebuild 9757 BLAKE2B 3014a74c1f50587b6bca0aeab625cf233589a078c51157c8d87ec3e816f0e25c05acf3aef55c685cb4fbf7b3483e19f5f0faf6bd4dc9c309880c558959f054f3 SHA512 3b868a81bc0c9fcab24d2fe6f777f8688fea35549a262aae809f4578c78593de93be77cf57e6404fd2600bed7e5850551a65a73d523309fb36c3caab5cb1dd06 -EBUILD python-3.9.5_p2.ebuild 9925 BLAKE2B b4714876e9acf7a272ef8e0dcdfe7f7e30f0cdc2e5a3bbeb0332463c92b5b23c89361aa47817f958bf82482160c45a386ad8a332d4376652d791847549530729 SHA512 ea90cd6d3deb18270a7fb541282579ed4c4b0b9148e1f863439601812f9ab3cc27e93898c4d3387675a60ebf2c9301489d50f63a2fcfd96d50e98e36b236185f -EBUILD python-3.9.6.ebuild 9896 BLAKE2B 68dc9f61df30d300b2787f1f6398389a3b206c7f34911b4789be1ac1e9da45bed71eb927799fa91ebece5b45b7b30e3e77db3e3aa1b4da6c5295940675b92d17 SHA512 ad8ddb5d09d3b7aa27db4066a7118235c0ce891722574b536938aa4a64ae4e9d028197a272917df7b5a2e89a381afcf257de40bee5ae01b25c490bf53846bc2f +EBUILD python-3.7.10_p6.ebuild 9640 BLAKE2B 5a43fa23b8917e9c07c8dcc5ce844534dd8b564e04626655652397cf5a3e97fa5ad06d905c7e2b97e97dc6fce1216500cc04d6ad15aa6f42d2af6d7ec2174ec2 SHA512 791bfad2c60a020ff1a47923d399cabd71165acc2e37184649d4402b11ae1a6c07fefb93d543e146e648368cf8bbca7bb1eec30c38eb906a714ec31dc5512a8b +EBUILD python-3.7.11.ebuild 9611 BLAKE2B 633a79850d473dd97ffb4daf54cff725d2e84fabeceb1b3de4c4984c6568342fab0f6ca9079ef569f420c20276554776200a6c847c77c72f8df3a7beceeca7e3 SHA512 36e7d55d4f3e72fa92ffe8a85fb5df98fd7d453e6dba0d929b27f96fcbe8ef26b3f49a4ff61959b474ed1b9d51d611a4aa16abdc19701f711688d4ee7523b4f4 +EBUILD python-3.8.10_p2.ebuild 9794 BLAKE2B eb460d8f1402a8b5696e2d52c694f067cc53250e146ea7410b6f7358ae12c8624550f25d003d2de8930c80b1cbc650c597ad37cd9757204233a70008752d4666 SHA512 2d86f2630e01d9f486f24357919136553b27ebb6e3952d6602ae8119dfb1b08cf157e5ae1d24c6bc93d6eba6def497a0ad8ef76299ac996436aacced92d8bc0b +EBUILD python-3.8.11.ebuild 9765 BLAKE2B 15091a0da6f0e213bff8b0825b26e45209b71cfdece31d0c1e17258458ec9c3c5c6d0cdf06202f6957115ccedbc608c9a7abd635b03f23db341f568d693d1be3 SHA512 5e846d8d6edbac7e35328a2cbaeb85743e51ab9c44b7fe2d25507f4bbc96687054cf0af5818018e0d6067f93ffa9ffa48b816c4a760cde631ca0b12a1389c2aa +EBUILD python-3.9.5_p2.ebuild 9933 BLAKE2B 24599f7fd649834496d85a23e1d2a5d4db0fa102a2303883559663f97d0266e8d68da56afce41626208f2592789802885d994bcc0a8427e695c67f18482ca962 SHA512 1a9d998b6b8fa8a13089e4c8472c660b1bb76f823ca586070b9b0069c100d7a91271c9c73abdabd97e6b11479743e78ecb1e9f2db2b28220ffc923e638a72d1e +EBUILD python-3.9.6.ebuild 9904 BLAKE2B 4102cdd04ac35a413e218381952125828158917606f5aeb44f6f9c881151479055f6b2401d7cdf7526d9644172eed462fc41b052dc3ccb6b992a1e8a6739549f SHA512 cb4a5d4a4c04d909aaedfc1c880ee694449613d61c69ad3f0f608b80999d51ae901fc6dd91629eb08b35120f813eb3e9ee595625b4bdb88371e8232da8324e70 MISC metadata.xml 819 BLAKE2B 120c7c65d77488e726c5a0f4aa19469867ea6900e747169fae2f9cf8f14ec2936089d5edfe1935ce610bec26387273e261b1cc4b023680c8c4b229f2141a7223 SHA512 08f45707e5490067a21951b9d37c8ae67064ab67cccc5b8d8c204eab8d4a004fb910627b62989c67b849b89d301618f8f8f7996e99e1ef5bab38a239c49c124d diff --git a/dev-lang/python/python-3.10.0_beta2.ebuild b/dev-lang/python/python-3.10.0_beta2.ebuild index 818aa5957c75..3018395550f3 100644 --- a/dev-lang/python/python-3.10.0_beta2.ebuild +++ b/dev-lang/python/python-3.10.0_beta2.ebuild @@ -43,7 +43,7 @@ RDEPEND="app-arch/bzip2:= ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= diff --git a/dev-lang/python/python-3.10.0_beta3.ebuild b/dev-lang/python/python-3.10.0_beta3.ebuild index e7e3f59b1da7..64b7a0044422 100644 --- a/dev-lang/python/python-3.10.0_beta3.ebuild +++ b/dev-lang/python/python-3.10.0_beta3.ebuild @@ -43,7 +43,7 @@ RDEPEND="app-arch/bzip2:= ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= diff --git a/dev-lang/python/python-3.10.0_beta4.ebuild b/dev-lang/python/python-3.10.0_beta4.ebuild new file mode 100644 index 000000000000..64b7a0044422 --- /dev/null +++ b/dev-lang/python/python-3.10.0_beta4.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/_beta/b} +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/~mgorny/dist/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 ipv6 +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:= ) + !!/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/python/python-3.7.10_p6.ebuild b/dev-lang/python/python-3.7.10_p6.ebuild index fc1984de3bc1..e3bd9bd6bc81 100644 --- a/dev-lang/python/python-3.7.10_p6.ebuild +++ b/dev-lang/python/python-3.7.10_p6.ebuild @@ -42,7 +42,7 @@ RDEPEND="app-arch/bzip2:= ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= diff --git a/dev-lang/python/python-3.7.11.ebuild b/dev-lang/python/python-3.7.11.ebuild index 2a194aeea941..4f48850a2fdb 100644 --- a/dev-lang/python/python-3.7.11.ebuild +++ b/dev-lang/python/python-3.7.11.ebuild @@ -42,7 +42,7 @@ RDEPEND="app-arch/bzip2:= ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= diff --git a/dev-lang/python/python-3.8.10_p2.ebuild b/dev-lang/python/python-3.8.10_p2.ebuild index 3e7b9da36c3b..409300beb1d3 100644 --- a/dev-lang/python/python-3.8.10_p2.ebuild +++ b/dev-lang/python/python-3.8.10_p2.ebuild @@ -43,7 +43,7 @@ RDEPEND="app-arch/bzip2:= ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= diff --git a/dev-lang/python/python-3.8.11.ebuild b/dev-lang/python/python-3.8.11.ebuild index c6243a8ecd7a..3ac0540738bf 100644 --- a/dev-lang/python/python-3.8.11.ebuild +++ b/dev-lang/python/python-3.8.11.ebuild @@ -43,7 +43,7 @@ RDEPEND="app-arch/bzip2:= ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= diff --git a/dev-lang/python/python-3.9.5_p2.ebuild b/dev-lang/python/python-3.9.5_p2.ebuild index 687ad6e769ed..b16fafd716fa 100644 --- a/dev-lang/python/python-3.9.5_p2.ebuild +++ b/dev-lang/python/python-3.9.5_p2.ebuild @@ -43,7 +43,7 @@ RDEPEND="app-arch/bzip2:= ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= diff --git a/dev-lang/python/python-3.9.6.ebuild b/dev-lang/python/python-3.9.6.ebuild index f035379167b1..e24479c5cb4a 100644 --- a/dev-lang/python/python-3.9.6.ebuild +++ b/dev-lang/python/python-3.9.6.ebuild @@ -43,7 +43,7 @@ RDEPEND="app-arch/bzip2:= ncurses? ( >=sys-libs/ncurses-5.2:= ) readline? ( >=sys-libs/readline-4.1:= ) sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( dev-libs/openssl:= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) tk? ( >=dev-lang/tcl-8.0:= >=dev-lang/tk-8.0:= diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index 4432be09a826..efc17a90b6f3 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -35,7 +35,7 @@ EBUILD ruby-2.6.6-r4.ebuild 7447 BLAKE2B a9fea6aa6b0ec34c24fbafbbb822d439c31a322 EBUILD ruby-2.6.6-r5.ebuild 7543 BLAKE2B ca25d241c4c374fbc52d779f6184fa1adc299898358dcbd0d6134c077656adfe230eca285bbe6160d7a83ed9710f9a760d768e0d991b2371f69f9ae8922117c1 SHA512 4193aaefa02896a9b75163de6ef0ba3b796e34026635f35310457fed04e2f19b2aa8d5789760f4faca8657801954408b5dca03a796f4f7d62d5a6409f66f442a EBUILD ruby-2.6.7-r1.ebuild 7543 BLAKE2B ca25d241c4c374fbc52d779f6184fa1adc299898358dcbd0d6134c077656adfe230eca285bbe6160d7a83ed9710f9a760d768e0d991b2371f69f9ae8922117c1 SHA512 4193aaefa02896a9b75163de6ef0ba3b796e34026635f35310457fed04e2f19b2aa8d5789760f4faca8657801954408b5dca03a796f4f7d62d5a6409f66f442a EBUILD ruby-2.6.7-r2.ebuild 7475 BLAKE2B 1e1604c4df33b5a2d2d43364fc03989c0f0d8af2e61a7054bf7dc61061ba04c9e332edc32813f180280b73c50b1a20bdbfb6521c8e14b3ecd62fc8ce66fda578 SHA512 5de16a696427c92f207aa41816e3d6dea520e0df1cd63fc89fa173a8a503e327a9f8225733be493507306fa2b532795466798de7237c953da961d86372c2f470 -EBUILD ruby-2.6.8.ebuild 7482 BLAKE2B f657957a099dd543565f79dfbb99457a57bc204dbb1eba9afc94282b19b1504160fe388ba60b65665b8c022b2ede064f533d6e2b7157b142dc83e41f06812e55 SHA512 7197a70d6c09cf6ae9b56c5b128376bdc4e4fe5c39523eec3c80a8673e0cfea0dff83be704dbaac0fe058634f3c8f44dd146c968f781d922de070750c74efc07 +EBUILD ruby-2.6.8.ebuild 7477 BLAKE2B fd2f0b536c65606476d14f9b98a1e068c49fdcc542ae1e0dfb0fd4b3461988fbf727350d969964d9495fa7237368b966772045d66241b7d4e25b6f9cfa788312 SHA512 c3fd977ae7e399acae4ac8a80ff72f9b0493bf23bd3d5fdff3edc179199fcb66ebdfac54aed99ee0dffe34424688af8d914a6d3e496e051938473bddbddc6beb EBUILD ruby-2.7.2-r2.ebuild 7618 BLAKE2B 9f25ba7aabf169bf8dde5c684f234f449ebc6578ed74375d0af9c9f77a889ffbfe4f6814783d3bc23b609de47284dae51a71dd6ea27d307a757e1872dee5855c SHA512 6acdd0f0ab17a947b82f82b9ada872bd1dc7059369e227c766887d57a2a1d89611f33c904f2d9c8104e2de11457900cbe7d7330f50457ffe217c88c7187b76bf EBUILD ruby-2.7.2-r3.ebuild 7739 BLAKE2B 20eddedbf10c3eef2f6a284bdabc25d8e14935b03983c2bc74d2bda7a49ff24fd48914e99ba7f3c09d448d676390b0cf14da133c0d529796dfe2c5e09de29ac5 SHA512 08494d03019f3e3993c0a087e7a59a3393089d7cdda1b433fff6a23cae1c9c63108fc801cdb7ebeb1228a603d0f05b5fe5ed5e46f2410094beb597ff2ef522c9 EBUILD ruby-2.7.3-r3.ebuild 7739 BLAKE2B 20eddedbf10c3eef2f6a284bdabc25d8e14935b03983c2bc74d2bda7a49ff24fd48914e99ba7f3c09d448d676390b0cf14da133c0d529796dfe2c5e09de29ac5 SHA512 08494d03019f3e3993c0a087e7a59a3393089d7cdda1b433fff6a23cae1c9c63108fc801cdb7ebeb1228a603d0f05b5fe5ed5e46f2410094beb597ff2ef522c9 diff --git a/dev-lang/ruby/ruby-2.6.8.ebuild b/dev-lang/ruby/ruby-2.6.8.ebuild index 7a0b8149b3e6..407cab269e1c 100644 --- a/dev-lang/ruby/ruby-2.6.8.ebuild +++ b/dev-lang/ruby/ruby-2.6.8.ebuild @@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit +rdoc rubytests socks5 +ssl static-libs systemtap tk xemacs" RDEPEND=" diff --git a/dev-lang/scala-bin/Manifest b/dev-lang/scala-bin/Manifest index 3d6ca266f475..191d241ae7fb 100644 --- a/dev-lang/scala-bin/Manifest +++ b/dev-lang/scala-bin/Manifest @@ -1,5 +1,5 @@ DIST scala-2.13.1.tgz 19685743 BLAKE2B aaff6db71023f539d08da521ab1ff505a626605d9c298472d0c2e98a9a13d6b8440e89cf5ff4a53b7b9bcc48cbc1e3b55cc253563f54f18c369e13fc8c00a6c2 SHA512 028aa237c471cada1501cd5764b3c384c3f50e9fc327cddd3fa7c79e9cc909d86bf84d5fc28103054600f879a60c546fc45a837cdca54964eb57ec77f9c1613e DIST scala-2.13.6.tgz 23407489 BLAKE2B b65db49968dcbce2f5586aafaa4cd437156050050f209cce4a7d5edc18dfca3ebb60d2a726b4a26902723f993b78a673909c1139eb67e8eea4f35a4842b33c70 SHA512 445267cd7c1ddb8ef94d2edeb36567318c66429c88fcb183840998dc204a10253df09c33eb4de2f87b68b1a8cd4f557910fa3f061d4316314653eb64e91c0188 EBUILD scala-bin-2.13.1-r1.ebuild 1314 BLAKE2B faed8c9c4a4d0d480bb91f2568e80518c7f6cb0a99694a1375be3acd96803bc31b72a33acd78751a07754816de621d3f7733ad00462117a8ac09d2b9e6d8e7cb SHA512 a592eb08248a9c1bebf37ec835da2f6259031e81a3d059cfb3cc846be84d8ac1f8dd26b5419e58e5709379840d96d81d44751dfaa0d0c828b855249b0b525989 -EBUILD scala-bin-2.13.6.ebuild 1316 BLAKE2B 35622328871ead249feafb4bfc2064f102e889198b5fbcb9cbb9f8de1327db674e89c394ecfc76ddce4b11adb1e28909996d8d072dd7ef7514d5f7f661fcfaee SHA512 c0a7b0709835be1532f2bb547ec6481cd5d06104cad6383a92c4aa7404cdb83703a40b79d834282e7041e617cf22acdffdb9f90bfc888d07da9aa31ee8ae2b5a +EBUILD scala-bin-2.13.6.ebuild 1314 BLAKE2B d418046f5d32e02b1f8bec7e0913b36d0c693ac86461da968e1683fb3e003145295e1ac016cde1c420d823de1e030de95fa4b8bb57250be6f1f22f800014a587 SHA512 2b92c6fd821780847b98bd6f557b24bacbc3f598e859366391cf0c69efbae4af4f09b6cc5c44d3a54f749299f3451699075e040dadc643cf84758cd24858b78c MISC metadata.xml 317 BLAKE2B 47b0d918ff9d4f2287fc0c43a022b978a816aa0d96362cf449210cd6b13810ed1352dbe69c5bea8281cdd3f3d03f4dcf714589e414b27abd5cd8c648e3d64994 SHA512 506fab7ebaa9e1caf96f239d6d85978171b98282ebe22a4948f61df62ce05a4c22772d81159cec9a99dd9a127b602e7593615204142e295d88835f9385a64bc8 diff --git a/dev-lang/scala-bin/scala-bin-2.13.6.ebuild b/dev-lang/scala-bin/scala-bin-2.13.6.ebuild index cdb8e4a5f113..951d45582b4f 100644 --- a/dev-lang/scala-bin/scala-bin-2.13.6.ebuild +++ b/dev-lang/scala-bin/scala-bin-2.13.6.ebuild @@ -16,7 +16,7 @@ SRC_URI="http://downloads.lightbend.com/${MY_PN}/${PV}/${MY_P}.tgz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="doc" RDEPEND=" diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest index bad26bc6fcb4..763a87b00064 100644 --- a/dev-lang/vala/Manifest +++ b/dev-lang/vala/Manifest @@ -10,5 +10,5 @@ EBUILD vala-0.46.13.ebuild 1305 BLAKE2B 4855220ceb0594546be128b16092270a4d21459d EBUILD vala-0.48.12.ebuild 1312 BLAKE2B 5acc6c67a78ff5aff422e44980db6072ea7f1311f46b107eba95ff2963b78518c2a60136c06fcf6da996cdb9bb222c7c9bda56c84c85166d7a69ca885b4683ff SHA512 78e461a215adbdfc7d7ae7ccccc9f97e1b408a133b0e33005841a74169c57adfc624e12ec0fdab9434ea6720649c3356e90cf9af79e698c2998fa93daac1290e EBUILD vala-0.50.7.ebuild 1312 BLAKE2B 36746ae0645349498963828caec58e5e82cd9585b8381c268c6affbb884d223dcdeb2f629678de71d288b8b152820fcdf981d622659cafd249ece2d91b0dd656 SHA512 f013ca54bd4f72ba4e632fa5cd7817545bc778cd261c5167e9e566aca0cfa4b34ca7f02a7af2115701f2fae6830b7dab7ddcfbf312907210d064b96fdeeb9964 EBUILD vala-0.52.3.ebuild 1325 BLAKE2B 3f22f959527acc36013a9c07978b90b087b2075bc8b8208cfc190eac508d8192c6a2d5fa17bcebd259a6e18faf25e8e804b82e8463c05f9dca66484f555b4e45 SHA512 635fd952a9f4ab98718e22e5cf4806da041bda0ab2b09bc3cc18351de85a1350e912590aded7ba827d7d9460d5091c86900fa4216aea57fefd596357fa0212be -EBUILD vala-0.52.4.ebuild 1331 BLAKE2B 40149d529eb3a446e1488dd9f2c7e01df5d1e93ef8dbb1b9c235675ffdb7a237ab3d261f8f0eb8b9dbc29dbf4897461d955fbc5ea4350e6a64ef25fe58e6be45 SHA512 eb80bf3936134e6d9e67d2d369df4d1c8c148f83832f48bb1e1c88014b49f2b8f3c3f018a5a7ff70568e1087a670926bf0a3ecf76d7f7468a242d27768f95269 +EBUILD vala-0.52.4.ebuild 1327 BLAKE2B c481b0957945381f62cb921857f91c1eb16ffcb94554377e5d0c5d7b824d567a0c1a450dccdc32b79530a987875d0304422ae1f10c03a0374e7c02122007ef07 SHA512 07fdc4de8d694f4356905303e64b114a58a560b889257f603450b88d0bbce23ecd40ac0820d00955cd8aa129befdfad2a07551a040f5ff6eee20b743f41b812e MISC metadata.xml 345 BLAKE2B de3110ae281a87f8cb8f6c10d93705f56f0cfed972cd893a063e66c2629150d491498a29b35b4efe19fa5b6baa740f1d989bad440924befc60ef56423096f108 SHA512 163aa55430a075974d504a5bbb71ad9a249cb215de12a82b3141de18bb05f1e0c2078c02c617cf7d98a97c7f8dd407077183754d8c82c77e80dd0d7b2ec38283 diff --git a/dev-lang/vala/vala-0.52.4.ebuild b/dev-lang/vala/vala-0.52.4.ebuild index 2b8b2481cff6..2d8bdd459604 100644 --- a/dev-lang/vala/vala-0.52.4.ebuild +++ b/dev-lang/vala/vala-0.52.4.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 )" -- cgit v1.2.3