From de49812990871e1705b64051c35161d5e6400269 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 24 Dec 2018 14:11:38 +0000 Subject: gentoo resync : 24.12.2018 --- dev-lang/Manifest.gz | Bin 18027 -> 17850 bytes dev-lang/crystal/Manifest | 7 +- dev-lang/crystal/crystal-0.27.0.ebuild | 5 + .../crystal-0.27.0-gentoo-tests-long-unix-2.patch | 13 + .../crystal-0.27.0-gentoo-tests-long-unix.patch | 90 +++ ...ystal-0.27.0-gentoo-tests-network-sandbox.patch | 44 ++ .../files/crystal-0.27.0-max-age-0-test.patch | 14 + .../files/crystal-0.27.0-tcp-server-test.patch | 12 + dev-lang/gnat-gpl/Manifest | 5 +- .../gnat-gpl/files/gnat-gpl-2016-profile.patch | 113 +++ dev-lang/gnat-gpl/gnat-gpl-2016-r2.ebuild | 216 ------ dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild | 218 ++++++ dev-lang/gnat-gpl/metadata.xml | 5 +- dev-lang/gnu-smalltalk/Manifest | 5 - .../gnu-smalltalk/files/50gnu-smalltalk-gentoo.el | 7 - .../files/gnu-smalltalk-3.2_use-result.patch | 16 - dev-lang/gnu-smalltalk/gnu-smalltalk-3.2.5.ebuild | 79 --- dev-lang/gnu-smalltalk/metadata.xml | 11 - dev-lang/go/Manifest | 20 +- dev-lang/go/go-1.10.1.ebuild | 228 ------ dev-lang/go/go-1.10.3.ebuild | 228 ------ dev-lang/go/go-1.10.4.ebuild | 228 ------ dev-lang/go/go-1.10.5.ebuild | 228 ------ dev-lang/go/go-1.10.7.ebuild | 228 ++++++ dev-lang/go/go-1.11.1.ebuild | 228 ------ dev-lang/go/go-1.11.2.ebuild | 228 ------ dev-lang/go/go-1.11.4.ebuild | 236 +++++++ dev-lang/go/go-1.11.ebuild | 228 ------ dev-lang/go/go-9999.ebuild | 10 +- dev-lang/hy/Manifest | 3 + .../hy-0.15.0-do-not-install-get_version.py.patch | 22 + dev-lang/hy/hy-0.15.0.ebuild | 45 ++ dev-lang/icon/Manifest | 2 + dev-lang/icon/files/icon-9.5.1-fpoll.patch | 27 + dev-lang/icon/icon-9.5.1-r2.ebuild | 114 +++ dev-lang/lua/Manifest | 3 + dev-lang/lua/lua-5.1.5-r102.ebuild | 144 ++++ dev-lang/lua/lua-5.2.3-r3.ebuild | 143 ++++ dev-lang/lua/lua-5.3.3-r2.ebuild | 143 ++++ dev-lang/mono/Manifest | 8 +- dev-lang/mono/mono-4.8.0.524.ebuild | 4 +- dev-lang/mono/mono-5.14.0.177.ebuild | 2 +- dev-lang/mono/mono-5.16.0.179-r1.ebuild | 110 --- dev-lang/mono/mono-5.16.0.220.ebuild | 109 +++ dev-lang/nasm/Manifest | 3 +- .../files/nasm-2.14-default-path-BR-3392529.patch | 41 ++ dev-lang/nasm/nasm-2.14-r1.ebuild | 53 ++ dev-lang/nasm/nasm-2.14.ebuild | 52 -- dev-lang/perl/Manifest | 8 +- dev-lang/perl/perl-5.26.2.ebuild | 9 +- dev-lang/perl/perl-5.26.9999.ebuild | 9 +- dev-lang/perl/perl-5.28.0.ebuild | 9 +- dev-lang/perl/perl-5.28.9999.ebuild | 9 +- dev-lang/php/Manifest | 27 +- .../php-5.6-intl-detect-icu-via-pkg-config.patch | 154 ++++ .../files/php-5.6-intl-icu-memory-corruption.patch | 88 +++ .../php/files/php-5.6-intl-use-icu-namespace.patch | 365 ++++++++++ ...php-7.0.33-intl-detect-icu-via-pkg-config.patch | 159 +++++ .../php-7.0.33-intl-icu-memory-corruption.patch | 91 +++ .../files/php-7.0.33-intl-use-icu-namespace.patch | 369 ++++++++++ ...php-7.1.25-intl-detect-icu-via-pkg-config.patch | 121 ++++ .../files/php-7.1.25-intl-use-icu-namespace.patch | 379 ++++++++++ .../files/php-7.2.13-intl-use-icu-namespace.patch | 379 ++++++++++ dev-lang/php/php-5.6.38-r1.ebuild | 779 ++++++++++++++++++++ dev-lang/php/php-5.6.39.ebuild | 785 +++++++++++++++++++++ dev-lang/php/php-7.0.33.ebuild | 754 ++++++++++++++++++++ dev-lang/php/php-7.1.25.ebuild | 736 +++++++++++++++++++ dev-lang/php/php-7.2.13.ebuild | 748 ++++++++++++++++++++ dev-lang/php/php-7.3.0.ebuild | 748 ++++++++++++++++++++ dev-lang/php/php-7.3.0_rc2.ebuild | 743 ------------------- dev-lang/php/php-7.3.0_rc3.ebuild | 748 -------------------- dev-lang/php/php-7.3.0_rc5.ebuild | 748 -------------------- dev-lang/python/Manifest | 4 - dev-lang/python/python-2.7.14-r1.ebuild | 363 ---------- dev-lang/python/python-2.7.14-r2.ebuild | 367 ---------- dev-lang/ruby/Manifest | 11 +- dev-lang/ruby/files/2.4/012-openssl_1.1.patch | 339 +++++++++ dev-lang/ruby/ruby-2.3.7.ebuild | 242 ------- dev-lang/ruby/ruby-2.3.8-r1.ebuild | 242 +++++++ dev-lang/ruby/ruby-2.4.5-r1.ebuild | 229 ++++++ dev-lang/ruby/ruby-2.4.5.ebuild | 4 +- dev-lang/ruby/ruby-2.5.3.ebuild | 2 +- dev-lang/rust-bin/Manifest | 14 + dev-lang/rust-bin/rust-bin-1.31.1.ebuild | 144 ++++ dev-lang/rust/Manifest | 17 +- dev-lang/rust/rust-1.30.1-r1.ebuild | 27 +- dev-lang/rust/rust-1.31.1.ebuild | 297 ++++++++ dev-lang/spark/Manifest | 6 +- dev-lang/spark/metadata.xml | 5 +- dev-lang/spark/spark-2017.ebuild | 4 +- dev-lang/spark/spark-2018.ebuild | 4 +- dev-lang/spidermonkey/Manifest | 4 +- dev-lang/spidermonkey/spidermonkey-38.3.0.ebuild | 4 +- .../spidermonkey/spidermonkey-52.9.1_pre1.ebuild | 2 +- dev-lang/swi-prolog/Manifest | 12 +- dev-lang/swi-prolog/swi-prolog-7.7.17.ebuild | 148 ---- dev-lang/swi-prolog/swi-prolog-7.7.18-r1.ebuild | 150 ---- dev-lang/swi-prolog/swi-prolog-7.7.18.ebuild | 148 ---- dev-lang/swi-prolog/swi-prolog-7.7.19.ebuild | 150 ---- dev-lang/swi-prolog/swi-prolog-7.7.22.ebuild | 99 +++ dev-lang/swi-prolog/swi-prolog-7.7.23.ebuild | 98 +++ dev-lang/tcl/Manifest | 3 +- dev-lang/tcl/tcl-8.5.17.ebuild | 114 --- dev-lang/tcl/tcl-8.6.9.ebuild | 129 ++++ dev-lang/tk/Manifest | 1 - dev-lang/tk/tk-8.5.17.ebuild | 123 ---- dev-lang/vala/Manifest | 2 +- dev-lang/vala/vala-0.36.15.ebuild | 2 +- 108 files changed, 10228 insertions(+), 6225 deletions(-) create mode 100644 dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix-2.patch create mode 100644 dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix.patch create mode 100644 dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch create mode 100644 dev-lang/crystal/files/crystal-0.27.0-max-age-0-test.patch create mode 100644 dev-lang/crystal/files/crystal-0.27.0-tcp-server-test.patch create mode 100644 dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch delete mode 100644 dev-lang/gnat-gpl/gnat-gpl-2016-r2.ebuild create mode 100644 dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild delete mode 100644 dev-lang/gnu-smalltalk/Manifest delete mode 100644 dev-lang/gnu-smalltalk/files/50gnu-smalltalk-gentoo.el delete mode 100644 dev-lang/gnu-smalltalk/files/gnu-smalltalk-3.2_use-result.patch delete mode 100644 dev-lang/gnu-smalltalk/gnu-smalltalk-3.2.5.ebuild delete mode 100644 dev-lang/gnu-smalltalk/metadata.xml delete mode 100644 dev-lang/go/go-1.10.1.ebuild delete mode 100644 dev-lang/go/go-1.10.3.ebuild delete mode 100644 dev-lang/go/go-1.10.4.ebuild delete mode 100644 dev-lang/go/go-1.10.5.ebuild create mode 100644 dev-lang/go/go-1.10.7.ebuild delete mode 100644 dev-lang/go/go-1.11.1.ebuild delete mode 100644 dev-lang/go/go-1.11.2.ebuild create mode 100644 dev-lang/go/go-1.11.4.ebuild delete mode 100644 dev-lang/go/go-1.11.ebuild create mode 100644 dev-lang/hy/files/hy-0.15.0-do-not-install-get_version.py.patch create mode 100644 dev-lang/hy/hy-0.15.0.ebuild create mode 100644 dev-lang/icon/files/icon-9.5.1-fpoll.patch create mode 100644 dev-lang/icon/icon-9.5.1-r2.ebuild create mode 100644 dev-lang/lua/lua-5.1.5-r102.ebuild create mode 100644 dev-lang/lua/lua-5.2.3-r3.ebuild create mode 100644 dev-lang/lua/lua-5.3.3-r2.ebuild delete mode 100644 dev-lang/mono/mono-5.16.0.179-r1.ebuild create mode 100644 dev-lang/mono/mono-5.16.0.220.ebuild create mode 100644 dev-lang/nasm/files/nasm-2.14-default-path-BR-3392529.patch create mode 100644 dev-lang/nasm/nasm-2.14-r1.ebuild delete mode 100644 dev-lang/nasm/nasm-2.14.ebuild create mode 100644 dev-lang/php/files/php-5.6-intl-detect-icu-via-pkg-config.patch create mode 100644 dev-lang/php/files/php-5.6-intl-icu-memory-corruption.patch create mode 100644 dev-lang/php/files/php-5.6-intl-use-icu-namespace.patch create mode 100644 dev-lang/php/files/php-7.0.33-intl-detect-icu-via-pkg-config.patch create mode 100644 dev-lang/php/files/php-7.0.33-intl-icu-memory-corruption.patch create mode 100644 dev-lang/php/files/php-7.0.33-intl-use-icu-namespace.patch create mode 100644 dev-lang/php/files/php-7.1.25-intl-detect-icu-via-pkg-config.patch create mode 100644 dev-lang/php/files/php-7.1.25-intl-use-icu-namespace.patch create mode 100644 dev-lang/php/files/php-7.2.13-intl-use-icu-namespace.patch create mode 100644 dev-lang/php/php-5.6.38-r1.ebuild create mode 100644 dev-lang/php/php-5.6.39.ebuild create mode 100644 dev-lang/php/php-7.0.33.ebuild create mode 100644 dev-lang/php/php-7.1.25.ebuild create mode 100644 dev-lang/php/php-7.2.13.ebuild create mode 100644 dev-lang/php/php-7.3.0.ebuild delete mode 100644 dev-lang/php/php-7.3.0_rc2.ebuild delete mode 100644 dev-lang/php/php-7.3.0_rc3.ebuild delete mode 100644 dev-lang/php/php-7.3.0_rc5.ebuild delete mode 100644 dev-lang/python/python-2.7.14-r1.ebuild delete mode 100644 dev-lang/python/python-2.7.14-r2.ebuild create mode 100644 dev-lang/ruby/files/2.4/012-openssl_1.1.patch delete mode 100644 dev-lang/ruby/ruby-2.3.7.ebuild create mode 100644 dev-lang/ruby/ruby-2.3.8-r1.ebuild create mode 100644 dev-lang/ruby/ruby-2.4.5-r1.ebuild create mode 100644 dev-lang/rust-bin/rust-bin-1.31.1.ebuild create mode 100644 dev-lang/rust/rust-1.31.1.ebuild delete mode 100644 dev-lang/swi-prolog/swi-prolog-7.7.17.ebuild delete mode 100644 dev-lang/swi-prolog/swi-prolog-7.7.18-r1.ebuild delete mode 100644 dev-lang/swi-prolog/swi-prolog-7.7.18.ebuild delete mode 100644 dev-lang/swi-prolog/swi-prolog-7.7.19.ebuild create mode 100644 dev-lang/swi-prolog/swi-prolog-7.7.22.ebuild create mode 100644 dev-lang/swi-prolog/swi-prolog-7.7.23.ebuild delete mode 100644 dev-lang/tcl/tcl-8.5.17.ebuild create mode 100644 dev-lang/tcl/tcl-8.6.9.ebuild delete mode 100644 dev-lang/tk/tk-8.5.17.ebuild (limited to 'dev-lang') diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz index d914183a09e4..7650a342d671 100644 Binary files a/dev-lang/Manifest.gz and b/dev-lang/Manifest.gz differ diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest index 181b076568c0..e5873e2d6888 100644 --- a/dev-lang/crystal/Manifest +++ b/dev-lang/crystal/Manifest @@ -8,6 +8,11 @@ AUX crystal-0.26.0-gentoo-tests-network-sandbox-2.patch 905 BLAKE2B 8e70f71a7a2b AUX crystal-0.26.1-gentoo-tests-network-sandbox-3.patch 1058 BLAKE2B 715639da29dafee6ecfcdf309f3149d9ed6387904bb50d8cb4bfef295c2d675fee78f0a436e4ab0d6a23e1eb94fec6ef9e549cb415f578ca0578792e54d0d759 SHA512 eef5d10dab52726378a8168726e4b757f1b6523defb86b76624c63ce159e43b18b037b1e51f2e5bcd7a8101d4c5adfa3b61aa7be2e9850b642ec26f7989cad3d AUX crystal-0.26.1-gentoo-tests-sandbox.patch 943 BLAKE2B 5998c494c55f1039111ed0d45839a694e44dd0a5539a81333dad39b632cb07839cf9fab0810d8e7d9eac12bd63f57a4222db95cd254cc5e3543a202c187c30a3 SHA512 236e77761b1a7d8e1c680334c42fcf59e8460185688e0b0c4382e6f8113c04154d4384e91783270fe0e77e4dac2a81e3ff3b983de0489ca4a8b157fe87606378 AUX crystal-0.27.0-extra-spec-flags.patch 493 BLAKE2B 84270f431db778bfe4b3b9b291278960ad8e7f18a4e519eb38aea55f2777cd5bc183e2a7035b4364586bf69ca3ec40d52dcf0d5e5fcaf04ef91cd3d1efff2000 SHA512 95390bdc9e594bb8496a807287ea8225cfc13a1ad7d49a42c791cb94f641939b0002ec7dcdeb8d62565906c035c40e9e0d744ea7e8f4695dd07b66e5b66327da +AUX crystal-0.27.0-gentoo-tests-long-unix-2.patch 469 BLAKE2B 66bcc1d0dd9582cac4ba89a2ccc2c7a2ac3ff4994cd687191470f2d481f9a6e3a91aaaf705f92f7600118a9cda015a9554056520502df7ae6462e111665c7330 SHA512 d840ac343ef566e404dc84e908bead5a020dfd88b8c0432f17bceea8d710d435626dc72b4be6622dbcd683a149bca16e781320cf74fc3f2598f84d169c6f7faa +AUX crystal-0.27.0-gentoo-tests-long-unix.patch 3317 BLAKE2B df1040abdb587ac3fffb8129d4f1bafc492e38ad5dcfdea5cfbf4426849b099c4d94dac61c93ae7fcae46b60dea1809f52ad373efcd89796a3c1f119614063c1 SHA512 a9ed819a864465e062b4d6a568f14fbb8adc1db01071c79164dede8b2b8d83e07b785cd8196826097de5119e0bdc7d6e194cf4e10cc677bd2bdf158d124c2ad2 +AUX crystal-0.27.0-gentoo-tests-network-sandbox.patch 2028 BLAKE2B ed1fa244adc61688cb23e7cc41d64f74d80b8342912b518ac874c1ac07995d8ba2c0d12dcf61740fc2ebfa0c9f3eb9417b40ee91ce115fdac1a64e172dd10cd5 SHA512 82ae83f186f46cbdce5a75b7296af4b01b328f33ab79de067ba1bf3aaf69f569f6d29a3116cc9aea8ad0551ecc8efaba27ca250c9fc0bec92009e61449e1e995 +AUX crystal-0.27.0-max-age-0-test.patch 632 BLAKE2B d41416f4045b23d0a9c4e11e525d8537277090ee316d01cab9cce0373b07583b9e80a495c8f4db997fc4f1b15b17c080d590f8cb8b6f454dc1c0d1d48015a127 SHA512 7608cb37850e52af406fab0378f0748af7db9239f878720041d56751ce36e0f5874a79b1a971fdc6f261292d23868e3e35c9ddb0d3c10c2bb987767954a77988 +AUX crystal-0.27.0-tcp-server-test.patch 377 BLAKE2B 47e9985c9ecc93483bc0d7e970ebb62648ec5778924d055c345ef2ceadb19f07e23c63767ccd62251df1e63bcaca4cf270730b32f24bfd7a6422939911edfe8a SHA512 7c5f0c97b80bf9cffe0b385a02ea2a8573fa88c174eda49a4adab46376e0ef9c957b16c72ca77386f8b88a98356565a31976113f2a78fa3b7bec85b16b692f58 DIST crystal-0.23.0-1-linux-i686.tar.gz 18498501 BLAKE2B 7a8e4e5a2b1425b6effe0a634b74b28c340c4d23c4bfccc0abac4e5d47473e10421d025e68e1fb1fa5b0ba8296108e36cd17d393fb143b8012168d595e5852f9 SHA512 8745114c4824d2859c569ed1bd1057d6d649d57b10d41d22c17627f623704eb98ec2e3ab2bf06622de624906f53e053975a6b9d852aeaafeae4f43585609de28 DIST crystal-0.23.0-1-linux-x86_64.tar.gz 18729061 BLAKE2B bfca07702b2f7c7d6b11aac864475316cabe86bdba90b1819ecd5cb45769b2b7fd9fb4c9f80e46301785209cc5b35fe39bf689163b9376a32b24f8a685a6281b SHA512 6a4e427b4ab3c3be6efcfaee5c1a19eff04eaf00db949d1e1ba8f29c3277affe96a7aba4273d93fd05251453d5b5b937aa792bc448ff2f6d6aa7f2b17d175f75 DIST crystal-0.24.2-1-linux-i686.tar.gz 17667007 BLAKE2B 73104ce088e161f03a7b4a191bb6dcdd86d0c65fe4058bb81f1177c6b7162aa48ca7732fbb410de8d3c9ca58830774913acdad9a89d8420a62e6526ecd309a2a SHA512 af0019fa1d140e653812a5d8a4fbb129ccf5d66ae55aa1a4e94ec3166058eb47abd2dd429a9d72a4baad4a6032abdaafc07bc22ca6380ac85e9d1c7168d7bf5d @@ -27,5 +32,5 @@ EBUILD crystal-0.24.2.ebuild 2374 BLAKE2B 62f5e228fc38ad340d2e77ee1817410a5ef418 EBUILD crystal-0.25.0.ebuild 2369 BLAKE2B 2146aba6dedff0c3fcbcd8d018c8c15906eb7050e9cea358fe2c70de8f1a76242de583e798c39769e6a89832403a6c5eda8b50bfd882889c9a80a638919482e9 SHA512 48a19dd3c5bd501dbb00b44f4eb2e3d934e835bac4361f2f1dab9aab2812aa40a8e19b6838db006ee4735cdf09d720206120b730fcd7af79e1745866a7422ff7 EBUILD crystal-0.26.0.ebuild 2437 BLAKE2B a2ef50459ec827303b1ffcda38110b096e42252f85364b0199bcf2d9f64747b51ad72a35ff54d1ad48ac442a912a5db34f825dbae3e96db1f38f6b14d19dd281 SHA512 ac9c8d35211d41be615cf7a9c46181b4b83334d2da975cd621ee0480665c8130d18299d3d62f45bf60b95c35a02c6c0e1aff51a14e1967a7d9228c2107c987b8 EBUILD crystal-0.26.1.ebuild 2696 BLAKE2B 820ed8d2957bd9b9863115318d3041f3428adfe60295d8fef170cb636a5135492c7abf9ff98fe67a537f3d4289040d61a892fe9074ded3ad1bc306f74327f568 SHA512 1a7f2c3bd31ecc7ea09943dad6b6a506a659dace59382075ab4ea628cf96550e71b4f659f47e7c55da86b9c454ef47a67b3cef1f3f85d23fcc120c6534ae7115 -EBUILD crystal-0.27.0.ebuild 2847 BLAKE2B 0ee4e2d72541c7ff74443447bf08bb05d65b17fbc7dd35462db1f458deaf7a2a03b26c4d277b493e90c1481856bef5eac10dfb9d08cef1c519eb38efe6213324 SHA512 632fd8d88468d147935cadefb7b2bfe4740ca2cd5e2062d37cdd8954aa4f601386c1d27fb8f7c75346e2ff46551ec29aba1c46018d95ce13a8c8ed6211620589 +EBUILD crystal-0.27.0.ebuild 3125 BLAKE2B ec1bcc46d303723566f9c90d8532483b1de2113ba7d105f7d6b8d413f23261feb61b6a46dc0a6bb461d4d436f8175f6f2576fb97a2d154852a434819f66164c3 SHA512 1e7a4ed435535b1479f7bf972258159a264275e43c300b2864ef96601bebd9a5772f26f70e1c04fac13766cc984786030e8d7cafbca313972484c3f132e2f2c8 MISC metadata.xml 995 BLAKE2B 00f6cfc63cec16ab8c6f983316f5872e63573f2d680da810b9b97d88c2ff6e21c15327a1508d62234e324f7145ca248a9ce1aa7286b0e34d9ee3dcba1481ff25 SHA512 da6a6f834b0d961477b95045756c539df7a968fe240f9f0c1c8183eef3052dddefb8d20547d668b07fece74c96b94bbf18baaac59e7328ff322355227d1adf02 diff --git a/dev-lang/crystal/crystal-0.27.0.ebuild b/dev-lang/crystal/crystal-0.27.0.ebuild index b7dcd5f70cfe..cb040059d964 100644 --- a/dev-lang/crystal/crystal-0.27.0.ebuild +++ b/dev-lang/crystal/crystal-0.27.0.ebuild @@ -44,6 +44,11 @@ PATCHES=( "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.patch "${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch + "${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch + "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-network-sandbox.patch + "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch + "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch + "${FILESDIR}"/${PN}-0.27.0-tcp-server-test.patch ) src_prepare() { diff --git a/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix-2.patch b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix-2.patch new file mode 100644 index 000000000000..61cec14afcbc --- /dev/null +++ b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix-2.patch @@ -0,0 +1,13 @@ +--- a/spec/std/socket/unix_socket_spec.cr ++++ b/spec/std/socket/unix_socket_spec.cr +@@ -37,7 +37,9 @@ describe UNIXSocket do + end + end + +- it "sync flag after accept" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "sync flag after accept" do + with_tempfile("unix_socket-accept.sock") do |path| + UNIXServer.open(path) do |server| + UNIXSocket.open(path) do |client| diff --git a/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix.patch b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix.patch new file mode 100644 index 000000000000..51b049ee9801 --- /dev/null +++ b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix.patch @@ -0,0 +1,90 @@ +--- a/spec/std/socket/unix_server_spec.cr ++++ b/spec/std/socket/unix_server_spec.cr +@@ -14,7 +14,9 @@ describe UNIXServer do + end + end + +- it "creates the socket file" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "creates the socket file" do + with_tempfile("unix_server.sock") do |path| + UNIXServer.open(path) do + File.exists?(path).should be_true +@@ -24,7 +26,9 @@ describe UNIXServer do + end + end + +- it "deletes socket file on close" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "deletes socket file on close" do + with_tempfile("unix_server-close.sock") do |path| + server = UNIXServer.new(path) + server.close +@@ -33,7 +37,9 @@ describe UNIXServer do + end + end + +- it "raises when socket file already exists" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "raises when socket file already exists" do + with_tempfile("unix_server-twice.sock") do |path| + server = UNIXServer.new(path) + +@@ -45,7 +51,9 @@ describe UNIXServer do + end + end + +- it "won't delete existing file on bind failure" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "won't delete existing file on bind failure" do + with_tempfile("unix_server-exist.sock") do |path| + File.write(path, "") + File.exists?(path).should be_true +@@ -60,7 +68,9 @@ describe UNIXServer do + end + + describe "accept" do +- it "returns the client UNIXSocket" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "returns the client UNIXSocket" do + with_tempfile("unix_server-accept.sock") do |path| + UNIXServer.open(path) do |server| + UNIXSocket.open(path) do |_| +@@ -72,7 +82,9 @@ describe UNIXServer do + end + end + +- it "raises when server is closed" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "raises when server is closed" do + with_tempfile("unix_server-closed.sock") do |path| + server = UNIXServer.new(path) + exception = nil +@@ -97,7 +109,9 @@ describe UNIXServer do + end + + describe "accept?" do +- it "returns the client UNIXSocket" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "returns the client UNIXSocket" do + with_tempfile("unix_server-accept_.sock") do |path| + UNIXServer.open(path) do |server| + UNIXSocket.open(path) do |_| +@@ -109,7 +123,9 @@ describe UNIXServer do + end + end + +- it "returns nil when server is closed" do ++ # On large non-standard temp paths the test fails as: ++ # Path size exceeds the maximum size of 107 bytes ++ pending "returns nil when server is closed" do + with_tempfile("unix_server-accept2.sock") do |path| + server = UNIXServer.new(path) + ret = :initial diff --git a/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch new file mode 100644 index 000000000000..0ba0f18f73d8 --- /dev/null +++ b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch @@ -0,0 +1,44 @@ +--- a/spec/std/socket/tcp_server_spec.cr ++++ b/spec/std/socket/tcp_server_spec.cr +@@ -76,13 +76,17 @@ describe TCPServer do + TCPServer.new("localhost", unused_local_port) + end + +- it "raises when host doesn't exist" do ++ # gentoo's FEATURES=network-sandbox blocks external network: ++ # Socket::Error: getaddrinfo: Temporary failure in name resolution ++ pending "raises when host doesn't exist" do + expect_raises(Socket::Error, "No address") do + TCPServer.new("doesnotexist.example.org.", 12345) + end + end + +- it "raises (rather than segfault on darwin) when host doesn't exist and port is 0" do ++ # gentoo's FEATURES=network-sandbox blocks external network: ++ # Socket::Error: getaddrinfo: Temporary failure in name resolution ++ pending "raises (rather than segfault on darwin) when host doesn't exist and port is 0" do + expect_raises(Socket::Error, "No address") do + TCPServer.new("doesnotexist.example.org.", 0) + end +--- a/spec/std/socket/tcp_socket_spec.cr ++++ b/spec/std/socket/tcp_socket_spec.cr +@@ -56,13 +56,17 @@ describe TCPSocket do + end + end + +- it "raises when host doesn't exist" do ++ # gentoo's FEATURES=network-sandbox blocks external network: ++ # Socket::Error: getaddrinfo: Temporary failure in name resolution ++ pending "raises when host doesn't exist" do + expect_raises(Socket::Error, "No address") do + TCPSocket.new("doesnotexist.example.org.", 12345) + end + end + +- it "raises (rather than segfault on darwin) when host doesn't exist and port is 0" do ++ # gentoo's FEATURES=network-sandbox blocks external network: ++ # Socket::Error: getaddrinfo: Temporary failure in name resolution ++ pending "raises (rather than segfault on darwin) when host doesn't exist and port is 0" do + expect_raises(Socket::Error, "No address") do + TCPSocket.new("doesnotexist.example.org.", 0) + end diff --git a/dev-lang/crystal/files/crystal-0.27.0-max-age-0-test.patch b/dev-lang/crystal/files/crystal-0.27.0-max-age-0-test.patch new file mode 100644 index 000000000000..d78927ab3eef --- /dev/null +++ b/dev-lang/crystal/files/crystal-0.27.0-max-age-0-test.patch @@ -0,0 +1,14 @@ +--- a/spec/std/http/cookie_spec.cr ++++ b/spec/std/http/cookie_spec.cr +@@ -150,7 +150,10 @@ module HTTP + parse_set_cookie("a=1; domain=127.0.0.1; path=/; HttpOnly").domain.should eq "127.0.0.1" + end + +- it "parse max-age as seconds from Time.now" do ++ # unstable test: sometimes 'now - max-age=0' == 0.0: ++ # Failure/Error: delta.should be > 0.seconds ++ # Expected 00:00:00 to be > 00:00:00 ++ pending "parse max-age as seconds from Time.now" do + cookie = parse_set_cookie("a=1; max-age=10") + delta = cookie.expires.not_nil! - Time.now + delta.should be > 9.seconds diff --git a/dev-lang/crystal/files/crystal-0.27.0-tcp-server-test.patch b/dev-lang/crystal/files/crystal-0.27.0-tcp-server-test.patch new file mode 100644 index 000000000000..8f61c8aeef47 --- /dev/null +++ b/dev-lang/crystal/files/crystal-0.27.0-tcp-server-test.patch @@ -0,0 +1,12 @@ +--- a/spec/std/http/server/server_spec.cr ++++ b/spec/std/http/server/server_spec.cr +@@ -524,7 +524,8 @@ module HTTP + end + + describe "#close" do +- it "closes gracefully" do ++ # fails under gentoo's sandbox ++ pending "closes gracefully" do + server = Server.new do |context| + context.response.flush + context.response.puts "foo" diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest index ee2e4f46277a..95709217af43 100644 --- a/dev-lang/gnat-gpl/Manifest +++ b/dev-lang/gnat-gpl/Manifest @@ -8,6 +8,7 @@ AUX gcc-spec-env-r1.patch 3148 BLAKE2B 30ceb113a510092a907b445c4b2131f148f7fef54 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 495e66d5fb3c184be946269a9f360bfaf8dc2b6b38449a74a7ec61ac9c1c3790833480f1f9614e8e152d9fab45366c7284747c3f05891c77812aa14248671644 SHA512 ba147b3cb4374eb3c8fe530b92a5ffa564170d8df26dc455a48dae3ec92ca0fee9525cb67229855b34c8b8d48a985a083f7ea70ec2b4d13f652296f04c03e4a0 +AUX gnat-gpl-2016-profile.patch 5593 BLAKE2B fe874e0543be671a9ede195c3cb01b9902357df4b412eaf3bf300bf032abd6e0a26fe2fd0dc0e71528ce9a6e454b83d9621a437c9efab629086f354eb1b3ff9f SHA512 ea45d2fcf98f4859676afb01439639e54e30cced8dbaf12fd9562dd805bd35ed2711a618834fe3acc8ad855386e58c9aeed007d046e300b60bbe6155d07386b7 AUX gnat-gpl-2017-gentoo.patch 4510 BLAKE2B 468059269978e5bbf85d09f2d4086c5fade1f7cdb4c14e9a12b596a96b3cf93e0bf894cf77ef2f81dd56b3aa2e7dc65c8642f7b688ec7cf8514152051e33564f SHA512 48ed94e3e5a2473f98ac6877640f64fc5e5a705a95e0c92a2d19b6a77597e49e77ed409af15302fba0c2403b38c13847c6eeb1f4626f57bc3c128f542dfaa893 AUX gnat-gpl-2018-gentoo.patch 634 BLAKE2B 949911111848fd4834de4b3a0d93d6f617b4ae05f9911564a01ab377c5715dfe21ec33c94c5d52815ad2a636809ce01b617cd8a2f132783b084bafc6c4265ead SHA512 f4a541780b6d00af32d38b71ce6a39516aff9c2df15429c40d297ebba03ab148786aa0f1218b90aedb36eb36a9c4a490b52883e3830a5e58bfc5d22987c00ece DIST ecj-4.5.jar 1470676 BLAKE2B 793c10ba09fd8040c0e1181204141aea16780c9c9088e07126e00da2b510af2ad6f58d876357d7e98cbb02d783a3be434469d5de1df134ccb8cc508e45028d80 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e @@ -31,7 +32,7 @@ DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688 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-r2.ebuild 5759 BLAKE2B 455b0fb15a18a170a6358724afa4a350cbb8016106f77becb9cd9f7e1d231facf6caccbd7552d7dc0ddd3d46e2dbbbfb1fc2c4c208413de80cc9a6e5d2b15582 SHA512 e6e18e7bd565ef4816fde987042624641be986b5de0192ecc8c58152a464f88f4a396ac99a8a9c24a6b384d01559b73daffd7e468655f7229c81ad363941e180 +EBUILD gnat-gpl-2016-r3.ebuild 5843 BLAKE2B c7878a2fc6f24724039124ea8167e4b6709f7897772cdf181d8b868deb25df7a106a4b0d22f52d008ec340f67471cb25e4522f0282140d1fa1294d2e98bdd4c1 SHA512 bd955748b1648c9e3ab446e560a9696efc10e7d185d1e90835bb01da5b5d18b658acec76a4f84e45e09de0d148c5b83a2048849bd42536270599fa21dd92adac EBUILD gnat-gpl-2017.ebuild 4916 BLAKE2B 63c46822894529952dec8f45723b09e590c69269bfc4b3408dc6d720fa72b574956aa3e2a8adc51c400baf02414454d3153022e59cb69ebb4c5c9214fefcc40f SHA512 3d7d6b8fac5e9d0be36df050451a959437796d63f30a678d756af7e9aa5a036d13d2a25a2dcbd16aee799c44cb41ade35ca5771a43dc779ec74d341cd835d99b EBUILD gnat-gpl-2018-r1.ebuild 4999 BLAKE2B 3c9bfaaeab7166d326a87301baee8c151462726fcf61af58dbd9921cbfc5dafa78205c0169e2a54f14a568ce1d958980b2d20113daa65ce10cc7a60328ed0d1b SHA512 4daba04ee89a83dbebb325955dd47c54468fd5a33c56370be432553b47a0fd27df408d62b70af4321bad69b9e51463d4e6cfba7f24480704bf4c6b30d01c971a -MISC metadata.xml 1960 BLAKE2B e66552f4c0655619e736b6af14822d84e6c49aa6c019cb8c8b0e215629f9c8ab68aa55758639e35107120a39c578d82e1036bc0be82ff67728104f44c875d107 SHA512 04f14bcdd96ae4f6e285abfd07de89828eb989ce779aa59decf689920a179d859ffe809d7960e9c3599c2f6fff6ab2aafbb54458da07fa91841c61e0dfca47ab +MISC metadata.xml 1928 BLAKE2B b1caee350b6656a838a0f83698760edfa7f53d0715a3ce18f443c5bef26827ccf9a858a918a8822b89a2fa70e34cb282ddcd9f0746691a0f10cbda4b368ac1ac SHA512 bd0b8cb4961903f004fb2d5fdd260e6b15936730148d192edf4e59b04c5f1dc991940069edc02b38f859ad1470e16e028c122403043a4f99ba7af753085867fd diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch new file mode 100644 index 000000000000..561c012a23e6 --- /dev/null +++ b/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch @@ -0,0 +1,113 @@ +--- 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-r2.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016-r2.ebuild deleted file mode 100644 index ff06786dc4d5..000000000000 --- a/dev-lang/gnat-gpl/gnat-gpl-2016-r2.ebuild +++ /dev/null @@ -1,216 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -PATCH_VER="1.3" -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 - -inherit eutils toolchain-funcs toolchain - -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 - -DESCRIPTION="GNAT Ada Compiler - GPL version" -HOMEPAGE="http://libre.adacore.com/" -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="bootstrap" - -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} - -pkg_setup() { - toolchain_pkg_setup - - 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 -} - -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 - - GCC_A_FAKEIT="${P}-src.tar.gz - ${MYP}.tar.gz - ${FSFGCC}.tar.bz2 - gcc-interface-${REL}-gpl-${PV}-src.tar.gz" - if use bootstrap; then - GCC_A_FAKEIT="${GCC_A_FAKEIT} ${BTSTRP}.tar.gz" - fi - - toolchain_src_unpack - if use bootstrap; then - rm ${BTSTRP}/libexec/gcc/${CHOST}/4.7.4/ld || die - fi -} - -src_prepare() { - mv ../${P}-src/src/ada gcc/ || die - mv ../gcc-interface-${REL}-gpl-${PV}-src gcc/ada/gcc-interface || die - - sed -i \ - -e "s:gnatmake:${GNATMAKE}:g" \ - gcc/ada/Make-generated.in || die "sed failed" - - sed -i \ - -e "/xoscons/s:gnatmake:${GNATMAKE}:g" \ - gcc/ada/gcc-interface/Makefile.in || die "sed failed" - - mv ../${FSFGCC}/gcc/doc/gcc.info gcc/doc/ || die - mv ../${FSFGCC}/libjava . || die - rm -r ../${FSFGCC} || die - - cd .. - epatch "${FILESDIR}"/${P}-gentoo.patch - rm patch/10_all_default-fortify-source.patch - rm piepatch/34_all_gcc48_config_i386.patch - cd - - - if has_version '=glibc-2.12 #362315" - EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch" - fi - - # Bug 638056 - epatch "${FILESDIR}/${P}-bootstrap.patch" - # add Finalization_Size Attribute - epatch "${FILESDIR}/${P}-finalization.patch" - - toolchain_src_prepare - - use vanilla && return 0 - # Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs. - [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch -} - -src_configure() { - local trueGCC_BRANCH_VER=${GCC_BRANCH_VER} - GCC_BRANCH_VER=$(gcc-version) - downgrade_arch_flags - GCC_BRANCH_VER=${trueGCC_BRANCH_VER} - toolchain_src_configure \ - --enable-languages=ada \ - --disable-libada \ - CC=${GCC} \ - GNATBIND=${GNATBIND} \ - GNATMAKE=yes -} - -src_compile() { - unset ADAFLAGS - toolchain_src_compile - gcc_do_make "-C gcc gnatlib-shared" - ln -s gcc ../build/prev-gcc || die - ln -s ${CHOST} ../build/prev-${CHOST} || die - gcc_do_make "-C gcc gnattools" -} - -src_install() { - toolchain_src_install - cd "${D}"${BINPATH} - for x in gnat*; do - # For some reason, g77 gets made instead of ${CTARGET}-g77... - # this should take care of that - if [[ -f ${x} ]] ; then - # In case they're hardlinks, clear out the target first - # otherwise the mv below will complain. - rm -f ${CTARGET}-${x} - mv ${x} ${CTARGET}-${x} - fi - - if [[ -f ${CTARGET}-${x} ]] ; then - if ! is_crosscompile ; then - ln -sf ${CTARGET}-${x} ${x} - dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \ - /usr/bin/${x}-${GCC_CONFIG_VER} - fi - # Create versioned symlinks - dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \ - /usr/bin/${CTARGET}-${x}-${GCC_CONFIG_VER} - fi - - if [[ -f ${CTARGET}-${x}-${GCC_CONFIG_VER} ]] ; then - rm -f ${CTARGET}-${x}-${GCC_CONFIG_VER} - ln -sf ${CTARGET}-${x} ${CTARGET}-${x}-${GCC_CONFIG_VER} - fi - done -} - -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/gnat-gpl-2016-r3.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild new file mode 100644 index 000000000000..b9eabc786360 --- /dev/null +++ b/dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild @@ -0,0 +1,218 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +PATCH_VER="1.3" +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 + +inherit eutils toolchain-funcs toolchain + +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 + +DESCRIPTION="GNAT Ada Compiler - GPL version" +HOMEPAGE="http://libre.adacore.com/" +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="bootstrap" + +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} + +pkg_setup() { + toolchain_pkg_setup + + 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 +} + +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 + + GCC_A_FAKEIT="${P}-src.tar.gz + ${MYP}.tar.gz + ${FSFGCC}.tar.bz2 + gcc-interface-${REL}-gpl-${PV}-src.tar.gz" + if use bootstrap; then + GCC_A_FAKEIT="${GCC_A_FAKEIT} ${BTSTRP}.tar.gz" + fi + + toolchain_src_unpack + if use bootstrap; then + rm ${BTSTRP}/libexec/gcc/${CHOST}/4.7.4/ld || die + fi +} + +src_prepare() { + mv ../${P}-src/src/ada gcc/ || die + mv ../gcc-interface-${REL}-gpl-${PV}-src gcc/ada/gcc-interface || die + + sed -i \ + -e "s:gnatmake:${GNATMAKE}:g" \ + gcc/ada/Make-generated.in || die "sed failed" + + sed -i \ + -e "/xoscons/s:gnatmake:${GNATMAKE}:g" \ + gcc/ada/gcc-interface/Makefile.in || die "sed failed" + + mv ../${FSFGCC}/gcc/doc/gcc.info gcc/doc/ || die + mv ../${FSFGCC}/libjava . || die + rm -r ../${FSFGCC} || die + + cd .. + epatch "${FILESDIR}"/${P}-gentoo.patch + rm patch/10_all_default-fortify-source.patch + rm piepatch/34_all_gcc48_config_i386.patch + cd - + + if has_version '=glibc-2.12 #362315" + EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch" + fi + + # Bug 638056 + epatch "${FILESDIR}/${P}-bootstrap.patch" + # add Finalization_Size Attribute + epatch "${FILESDIR}/${P}-finalization.patch" + # add profile for gnat_util compatibility + epatch "${FILESDIR}/${P}-profile.patch" + + toolchain_src_prepare + + use vanilla && return 0 + # Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs. + [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch +} + +src_configure() { + local trueGCC_BRANCH_VER=${GCC_BRANCH_VER} + GCC_BRANCH_VER=$(gcc-version) + downgrade_arch_flags + GCC_BRANCH_VER=${trueGCC_BRANCH_VER} + toolchain_src_configure \ + --enable-languages=ada \ + --disable-libada \ + CC=${GCC} \ + GNATBIND=${GNATBIND} \ + GNATMAKE=yes +} + +src_compile() { + unset ADAFLAGS + toolchain_src_compile + gcc_do_make "-C gcc gnatlib-shared" + ln -s gcc ../build/prev-gcc || die + ln -s ${CHOST} ../build/prev-${CHOST} || die + gcc_do_make "-C gcc gnattools" +} + +src_install() { + toolchain_src_install + cd "${D}"${BINPATH} + for x in gnat*; do + # For some reason, g77 gets made instead of ${CTARGET}-g77... + # this should take care of that + if [[ -f ${x} ]] ; then + # In case they're hardlinks, clear out the target first + # otherwise the mv below will complain. + rm -f ${CTARGET}-${x} + mv ${x} ${CTARGET}-${x} + fi + + if [[ -f ${CTARGET}-${x} ]] ; then + if ! is_crosscompile ; then + ln -sf ${CTARGET}-${x} ${x} + dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \ + /usr/bin/${x}-${GCC_CONFIG_VER} + fi + # Create versioned symlinks + dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \ + /usr/bin/${CTARGET}-${x}-${GCC_CONFIG_VER} + fi + + if [[ -f ${CTARGET}-${x}-${GCC_CONFIG_VER} ]] ; then + rm -f ${CTARGET}-${x}-${GCC_CONFIG_VER} + ln -sf ${CTARGET}-${x} ${CTARGET}-${x}-${GCC_CONFIG_VER} + fi + done +} + +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 5018efb098ac..1e9066797159 100644 --- a/dev-lang/gnat-gpl/metadata.xml +++ b/dev-lang/gnat-gpl/metadata.xml @@ -1,9 +1,8 @@ - - tupone@gentoo.org - Tupone Alfredo + + ada@gentoo.org Useful only when building GCJ, this enables Abstract diff --git a/dev-lang/gnu-smalltalk/Manifest b/dev-lang/gnu-smalltalk/Manifest deleted file mode 100644 index 5e5737059ca1..000000000000 --- a/dev-lang/gnu-smalltalk/Manifest +++ /dev/null @@ -1,5 +0,0 @@ -AUX 50gnu-smalltalk-gentoo.el 268 BLAKE2B c11bc39ffa744d4908e30e5394e81083e4b3a1c06922f3b5159e7ca075716eae9ddb01c25131117f5379762471609037fbbb26508fa9343db3cabab0596aa60b SHA512 0341a9a35c17987ab7b93badf1b7ebf31b5a38df66d372d6a26eb49f5a9fec881e1886024a1b5ffa87cafb37aaef483201bb10827c121c782e4f554961bb9c41 -AUX gnu-smalltalk-3.2_use-result.patch 657 BLAKE2B ed67ccbd1d111a17906f615885216bb777b263beb2f51fba2c7d4d2f9d97b3263d5f41fb3a8fd6495e567257cf9323a2836962dcdf677ffc0f986e6770eab629 SHA512 126544344f92f20463846855c9388d411ce70795438186a87d4c40c3a9311f35c0432ce7a237d2112718da270ab099df92a79975dd3a2734e49832cb0cc20623 -DIST smalltalk-3.2.5.tar.gz 5779293 BLAKE2B 67eb58be2d6403cbd742f3c9dddb2d8f3cf65bbcc4127785b32501ca2c4c0fef2a08cea3faa7dc991deae27f5a260e2c772fc5f628f66a2ef5aca440e42ad3ef SHA512 385e5fba2acb8870759e5178282210c09c45685d0cf776bc50f4ed10c9afacf9164547ba8099ea3ed9a92a2a253aa9c2b011a7a9f2dff47ea9cfdf3b42029ebc -EBUILD gnu-smalltalk-3.2.5.ebuild 1795 BLAKE2B 880376b65d36113ef40a722cac11582d1ef6260a43f95dee0344fba6b14582fe0b317ae52d8795b0b010cfb6edbb9e2b6866c292dd85abae48c36b323a26dc2c SHA512 6269ea2a49e5b50b2dc8e38cf6be9e232e3b2e1c3859f0787a8c205f514a8ff82ef9ff39f169ea2275b08bc56a6f124917a37758bbf7c12707126ada93e08a49 -MISC metadata.xml 469 BLAKE2B 1f3dbeb63b9f4ef08a573203416746efe0bfe14eb11cd8f81b11aba979b19f7a0b8eb4908e3862417cb986d1a9c792b3c33d4fd8ea15b9ca443461ebc749b7ac SHA512 e0ef2c7778ddfdbbd9dd33705bc5ce9e7b2ce2bdf5d1f2a844ee93bf842df93e708ad04467ee84aadea80bbfa6e1c90b04aa1f6e1cc4b75ab0bbcfcda56e160f diff --git a/dev-lang/gnu-smalltalk/files/50gnu-smalltalk-gentoo.el b/dev-lang/gnu-smalltalk/files/50gnu-smalltalk-gentoo.el deleted file mode 100644 index e9e18d43bb3c..000000000000 --- a/dev-lang/gnu-smalltalk/files/50gnu-smalltalk-gentoo.el +++ /dev/null @@ -1,7 +0,0 @@ - -;;; gnu-smalltalk site-lisp configuration - -(add-to-list 'load-path "@SITELISP@") -(autoload 'smalltalk-mode "smalltalk-mode" "Autoload for smalltalk-mode" t) -(autoload 'gst "gst-mode" "Autoload for gst" t) -(add-to-list 'auto-mode-alist '("\\.st\\'" . smalltalk-mode)) diff --git a/dev-lang/gnu-smalltalk/files/gnu-smalltalk-3.2_use-result.patch b/dev-lang/gnu-smalltalk/files/gnu-smalltalk-3.2_use-result.patch deleted file mode 100644 index 7f3fb907d895..000000000000 --- a/dev-lang/gnu-smalltalk/files/gnu-smalltalk-3.2_use-result.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/config.h.in -+++ b/config.h.in -@@ -879,6 +879,13 @@ - #define below would cause a syntax error. */ - #undef _UINT64_T - -+/* Kludgey fix for Gentoo bug #492710, caused by improper use of the Tcl API. -+ * Upstream should be using Tcl_SetObjResult, Tcl_GetObjResult, and/or -+ * Tcl_GetStringResult. This is the simplest way for us to fix it, and should -+ * be removed as soon as GST uses the Tcl interface correctly. -+ */ -+#define USE_INTERP_RESULT 1 -+ - /* Define for Solaris 2.5.1 so the uint8_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ diff --git a/dev-lang/gnu-smalltalk/gnu-smalltalk-3.2.5.ebuild b/dev-lang/gnu-smalltalk/gnu-smalltalk-3.2.5.ebuild deleted file mode 100644 index 00461089e252..000000000000 --- a/dev-lang/gnu-smalltalk/gnu-smalltalk-3.2.5.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit elisp-common flag-o-matic - -DESCRIPTION="GNU Smalltalk" -HOMEPAGE="http://smalltalk.gnu.org" -SRC_URI="mirror://gnu/smalltalk/smalltalk-${PV}.tar.gz" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="tk readline emacs gtk gmp" - -DEPEND="app-arch/zip - sys-libs/gdbm - sys-apps/debianutils - dev-libs/libsigsegv - virtual/libffi - emacs? ( virtual/emacs ) - readline? ( sys-libs/readline ) - tk? ( dev-lang/tk ) - gtk? ( =x11-libs/gtk+-2* ) - gmp? ( dev-libs/gmp )" -RDEPEND="" - -S="${WORKDIR}/smalltalk-${PV}" - -SITEFILE=50gnu-smalltalk-gentoo.el - -PATCHES=( - # fix misuse of the Tcl API, bug 492710 - "${FILESDIR}"/${PN}-3.2_use-result.patch -) - -src_configure() { - replace-flags '-O3' '-O2' - econf \ - --libdir=/usr/$(get_libdir) \ - --with-system-libsigsegv \ - --with-system-libffi \ - --with-system-libltdl \ - $(use_with emacs emacs) \ - $(use_with readline readline) \ - $(use_with gmp gmp) \ - $(use_with tk tcl /usr/$(get_libdir)) \ - $(use_with tk tk /usr/$(get_libdir)) \ - $(use_enable gtk gtk) -} - -src_compile() { - emake || die "emake failed" - use emacs && elisp-compile *.el -} - -src_install() { - emake DESTDIR="${D}" install || die - dodoc AUTHORS COPYING* ChangeLog NEWS README THANKS TODO - if use emacs; then - elisp-install "${PN}" *.el *.elc - elisp-site-file-install "${FILESDIR}/${SITEFILE}" - fi - fperms 0444 /usr/share/smalltalk/packages.xml - # Fix QA notice complaining about dangling symlink. - # There's probably a better way to do this but I couldn't find it. - pushd "${D}"/usr/share/man/man1 - rm gst-reload.1 - ln -s $(find . -name "gst-load*") gst-reload.1 - popd -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-lang/gnu-smalltalk/metadata.xml b/dev-lang/gnu-smalltalk/metadata.xml deleted file mode 100644 index e7804d3fbd23..000000000000 --- a/dev-lang/gnu-smalltalk/metadata.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - GNU Smalltalk is a free implementation of the Smalltalk-80 - language which runs on most versions on Unix and, in general, - everywhere you can find a POSIX-compliance library. An uncommon - feature of it is that it is well-versed to scripting tasks and - headless processing. - - diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest index 333a3fb6ff2d..81fb29383a33 100644 --- a/dev-lang/go/Manifest +++ b/dev-lang/go/Manifest @@ -9,19 +9,9 @@ DIST go-linux-ppc64-bootstrap-1.8.tbz 52315782 BLAKE2B 6be0a48e8bc4e5fed4d34f8aa DIST go-linux-ppc64le-bootstrap-1.8.tbz 52211575 BLAKE2B 7a28ec5a381369c4e9415c8360e904c2545380513afd328077c584e8af0bf6bd818aa03e5a58c350cbb98facc1c9dccb02b06adcb27233875497cf5d33265912 SHA512 6931d999dd0ee1ff44c4cec48acb27af061f57f87aa74802dcebab78553b46bc8ac732f07fe91e5074dbdd32c55b707994875934bfb12bb4276d71eb1d06c4ba DIST go-linux-s390x-bootstrap-1.8.tbz 57124869 BLAKE2B 920a176b8f4fc3a816e724324bbb30a383d599e31a0d2093d24797dbcd0e799a662a3589dbb87d2f5dd16df07c4cf8f1e444e87b540ec732746bb025dc9271f8 SHA512 d429cae870d66217ab2e07c74209d3031d97baa4f899b4d70ae6283a1a5b1434b037904c4cfca0b2bc798d5ba0b358c3739e000eccbc74809baf564c5686df5a DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe5950cb65c059e2801394231e715e94145d1f918eb59b10472b2385e57ebd5cfb9eca0ad7290fb118436486b665520bb540970f971ab SHA512 52b849e5b9a940e10de7ba3df0ebdf6e1c5d631de9581d936c9edf8f38e6bb3314acbc2b2d5202b0528fde2a359d52bc0c6f39acf9b1b614725e4b4a947ed10d -DIST go1.10.1.src.tar.gz 18305765 BLAKE2B 61b8db22c50b9a4653244dc18267f405607755932d84ea2c475338a9f4a5421da2bb8cc808dbd166aa35c3c8778180bf47d6e51ebe303bc62e582516919058f9 SHA512 13f6b0643a4f92eeca04444b9fa10de38fc3427daea9aa3227cf9a5738ffee1a3f2e355ba5faf711b8506f7de118bdcd3b9064b65407a22613523e29ffd73415 -DIST go1.10.3.src.tar.gz 18323736 BLAKE2B f07ea774378eb25e28fc29ce6d8d7ed84227d4b93bfa93d38a071fe294da30c3cdc3a559d643e7379873df56b0e2731dbd772e385ffcb4b2e93819db3b4e33f2 SHA512 fd2bd5fcb5c6d0a5336c4b1d2cacb368edbb01359297a83bdedc53f6018642598232f00633fc60fde879050f5f26a810c828d46b5d6626cbcc0702d93ad33fbb -DIST go1.10.4.src.tar.gz 18331174 BLAKE2B e16998d81d286f132894fefd31f4139f757b7da3dfc829c389e41ef770bed22b3c9ae7bcf190fb4c83da16cf8e8c34681cfdc5bbc786f9036710e821c9bbd483 SHA512 ead2c06d903670ff4530748aa2fa6a1140fdf32cf3b8d74cd7d6e046af73c79fd5f98d2188062e6845e5c0513c080ed7079a210720c30338cb8730b95aede9f5 -DIST go1.10.5.src.tar.gz 18332628 BLAKE2B 2ef1ea8985a2ae294f9cbaac099de9246f0ced3085b9bca07b2dd5f28c2051383239607f4014bdb7b0415b652237926567ccb1beff9208b8e3d855276f18a2aa SHA512 ef6991a21f822cec08446f1aa18a5b79d85619c8d2d622114ec948c3bc6260ef6591b400efbfdff09900c63f1e96245df0ffe513adcfa648e9ca324b822b7968 -DIST go1.11.1.src.tar.gz 21097206 BLAKE2B 12303f57a92ec64badffea9e98a0361f48b844d423f3ed454ba4bfdd367425e7b318de1cf9b3e7835585f6dbb01f5c07bfb43adbfcc90a590b35984752ef8d3c SHA512 9c19f40b24f2180563705511a5692932c0db3585939053e6d78eea1f394902d37f05b0386f0e7d0c0266178de7e9bd7b003324ed232ce2e5050c9faafafdd979 -DIST go1.11.2.src.tar.gz 21100145 BLAKE2B 11b9fbc7aa9e07e3f84be4cd13d8fe8a076ba10dcb830e65a069fc0348b163e4dfa7e5b8a9040222f33e60d39b1c8b75f0531eca4354bd62c5eb2caf881b3f56 SHA512 3d9b182718c7615975a4b47cecb9ff2a8ce62156461e4112452c14617ea226121e7ab736a469050f14c89861cc4934ddd2df295b80fffff0a2dd6c155eaf0aee -DIST go1.11.src.tar.gz 21091932 BLAKE2B 029b1c43b6244ab320b24fccca2bac693a0df0f975da2880a24e85fafbd7d6c836f63c609f1df44fb3eacc1c66c3d147858b7a2b9c0c370bb8fdbc8614b35713 SHA512 2758b7924b4b8cffc30b56fbf039b8e23d1a3c42506ed4997bd64531ba742e2c60e95d1fa70cae2ccda45d1959fadccfd2404af87d962530e4b1d3556c4aaf43 -EBUILD go-1.10.1.ebuild 5653 BLAKE2B 4807f630943168bc970ee2f94acdd82b7619c55d0ea7fd33fbc5f5f0107342f1edf18edfe8e4c6f1a75063755c67a8b0c5d578ca3de275d8c960315dead33c5a SHA512 f51d57aa2a504ae77b3f117f2a3f1d088d534a3dcf9ec16d102e71b42a479618a18b495b6aacf967f90d7cbaf47f3e7c39e16d65fa120be1bba7726c552d1e48 -EBUILD go-1.10.3.ebuild 5653 BLAKE2B 4807f630943168bc970ee2f94acdd82b7619c55d0ea7fd33fbc5f5f0107342f1edf18edfe8e4c6f1a75063755c67a8b0c5d578ca3de275d8c960315dead33c5a SHA512 f51d57aa2a504ae77b3f117f2a3f1d088d534a3dcf9ec16d102e71b42a479618a18b495b6aacf967f90d7cbaf47f3e7c39e16d65fa120be1bba7726c552d1e48 -EBUILD go-1.10.4.ebuild 5653 BLAKE2B 06e491cb9a25870709a9cc04f6e5d45121153bc02b9ff9f6390a006ba175550a2b3ca0adf4f9245b6726ae0b9db39146547f764dd0d466e04fb6552b7f0a26d6 SHA512 30f3f945be04c191e44cbaf2fff47a89cbe910bb2230bafe2817c39cfe4f3da7ea7ad586fa2752bdf378a1e7334e2fd6f392ffeb6d9b3d924c4be765b89a628e -EBUILD go-1.10.5.ebuild 5653 BLAKE2B 06e491cb9a25870709a9cc04f6e5d45121153bc02b9ff9f6390a006ba175550a2b3ca0adf4f9245b6726ae0b9db39146547f764dd0d466e04fb6552b7f0a26d6 SHA512 30f3f945be04c191e44cbaf2fff47a89cbe910bb2230bafe2817c39cfe4f3da7ea7ad586fa2752bdf378a1e7334e2fd6f392ffeb6d9b3d924c4be765b89a628e -EBUILD go-1.11.1.ebuild 5653 BLAKE2B 06e491cb9a25870709a9cc04f6e5d45121153bc02b9ff9f6390a006ba175550a2b3ca0adf4f9245b6726ae0b9db39146547f764dd0d466e04fb6552b7f0a26d6 SHA512 30f3f945be04c191e44cbaf2fff47a89cbe910bb2230bafe2817c39cfe4f3da7ea7ad586fa2752bdf378a1e7334e2fd6f392ffeb6d9b3d924c4be765b89a628e -EBUILD go-1.11.2.ebuild 5653 BLAKE2B 06e491cb9a25870709a9cc04f6e5d45121153bc02b9ff9f6390a006ba175550a2b3ca0adf4f9245b6726ae0b9db39146547f764dd0d466e04fb6552b7f0a26d6 SHA512 30f3f945be04c191e44cbaf2fff47a89cbe910bb2230bafe2817c39cfe4f3da7ea7ad586fa2752bdf378a1e7334e2fd6f392ffeb6d9b3d924c4be765b89a628e -EBUILD go-1.11.ebuild 5656 BLAKE2B 1a140da0f482e46eaf80aa9836e934440fb309a61519c164999e75340614b383fc18dcc4cf3d70addd42f5ef289c9b167dfdc99abf52159aedb163c7426684e2 SHA512 630d6003c12c9f512f4c259be18e5c5716627968cc4725ed6d016076984aae3f90b30ce542ed8407f95a9db377502265e30b6a36d5725ce36ca3005d2c00535a -EBUILD go-9999.ebuild 5650 BLAKE2B ad97b072bf73db28d60b1afb3bc3fea2159d87edc3ed0433b3e010979b01568caf81f7d6f22959ed854b7870ca5e0397a0f71e2e9488c4bb277ce0bc0a591a9f SHA512 a5a1c5037c52422d98b42c5688ba88918e548c8679d722d7d85dc3c51228ac944400a339a8e6a4018f2f438afec8365cd3550b35e6b595b097eecdec08befc84 +DIST go1.10.7.src.tar.gz 18333472 BLAKE2B 8e1d85ced41541f1c7a02208da6ff518d7af76e078c47b2b269b31868fad8578b70494aad0ab35a33b1273d2f55523ee5e97e688991a62bf2289821c1c669c1f SHA512 798e0ea053b38f4b4f5a6fbdefb30ad09d95b7e8af424bd5f1aa7856bf7ca4e9c9bbd32926e2936f2b332f88a1980e92e6b61862fd9e779edf64f965fd8d1ffe +DIST go1.11.4.src.tar.gz 21108067 BLAKE2B 3e9e433d9f85cadcf4c62bbc7a27d80944d4dbe4f4e43bdeddc407a7957a51b28082d5b90d4e27f06cc554792bb9eb7ccbf221003f012c91cd1f329af998ae4e SHA512 9aa2e1800807841ec0432289b672c1607bdcb295f29c02d38adfaf1e3bf043040c9f916e4cb170875d92fe168c5ba6baef2b3d1f824a56ff9138ca2cdcc646e0 +EBUILD go-1.10.7.ebuild 5650 BLAKE2B c3812d6c74ddb4bd89b32213974a879223ae61266de385e12647b5decb9e4de2aa39a52d8bc307ae057be6d81e666006fc6b9156dc53469ea435584f1caf8562 SHA512 de3bc87153de87cf2bb44a99fdf851ac81c57707ab6db021843c87c628e8940d8ac85cd263121554dd6d2ed1432fc3781f4ec20132aeed996473326c2a0e9ae0 +EBUILD go-1.11.4.ebuild 5994 BLAKE2B 8d65b61d9f1fec87e09b1615eb423e094649f99b5c96f4bdb0e64032b8b6b506277d33d2f45c2771864e89efa5f6bb244e75edd40a5582d0ecb866c2314d535e SHA512 5642f4147ad262d121f0f7c1b3cc30318241937b9e1ed8010e2103e1dfd17646a03736d97675aa71c1c507475c1aecb37b7f1985b92cda991af189be4643de85 +EBUILD go-9999.ebuild 5991 BLAKE2B d5679b2d7fc97084a0b8b3c3cf07698f15a831a8a60ca98669a9eff704ec9545c318472936bc6dec83aa0c943a2db294e74f027de4a650d2514f31cba035b7e4 SHA512 3a5973f3094a4196ec3afbab69fd6453c488c84abd83d70490a5573246616b8d7605412d22946bf2f23a2c315ad988220472cef32ba2b116e79f945e86224e1a MISC metadata.xml 538 BLAKE2B 78502c369a490804b2c69eef864276c2be5d0ee84ec189b6cc8584f8f42668a35f3c74bd25ceb53c469716337cbab908c576ca880c492f5961fedafc74cc346f SHA512 514a441a522218fdca543a22370e965a2bfc1f1f2c37e77431143329bb3d3f4f53e99ad5d7f7d7c61877f77387a777f7b4f339b9a3e45322d01d39d3d0ea1309 diff --git a/dev-lang/go/go-1.10.1.ebuild b/dev-lang/go/go-1.10.1.ebuild deleted file mode 100644 index d383981a727b..000000000000 --- a/dev-lang/go/go-1.10.1.ebuild +++ /dev/null @@ -1,228 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" -BOOTSTRAP_VERSION="bootstrap-1.8" -BOOTSTRAP_URI=" -amd64? ( ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz ) -arm? ( ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz ) -arm64? ( ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz ) -ppc64? ( - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz -) -s390? ( ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz ) -x86? ( ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz ) -amd64-fbsd? ( ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz ) -x86-fbsd? ( ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz ) -x64-macos? ( ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz ) -x64-solaris? ( ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz ) -" - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* amd64 arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~x64-macos ~x64-solaris" - # The upstream tests fail under portage but pass if the build is - # run according to their documentation [1]. - # I am restricting the tests on released versions until this is - # solved. - # [1] https://golang.org/issues/18442 - RESTRICT="test" - ;; - esac -esac -SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )" - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="gccgo" - -DEPEND="gccgo? ( >=sys-devel/gcc-5[go] )" -RDEPEND="!_IO_read_ptr < f->_IO_read_end) + RetArg(1); +-#elif defined(__GLIBC__) /* old GCC library */ +- if (f->__bufp < f->__get_limit) +- RetArg(1); + #elif defined(_FSTDIO) /* new BSD library */ + if (f->_r > 0) + RetArg(1); +@@ -92,7 +89,7 @@ int fpoll(int argc, descriptor *argv) /*: await data from file */ + + if (r > 0) + RetArg(1); /* success */ +- else if (r == 0) ++ else if (r == 0) + Fail; /* timeout */ + else + ArgError(1, 214); /* I/O error */ diff --git a/dev-lang/icon/icon-9.5.1-r2.ebuild b/dev-lang/icon/icon-9.5.1-r2.ebuild new file mode 100644 index 000000000000..5f313ed60aae --- /dev/null +++ b/dev-lang/icon/icon-9.5.1-r2.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="very high level language" +HOMEPAGE="http://www.cs.arizona.edu/icon/" + +MY_PV=${PV//./} +SRC_URI="http://www.cs.arizona.edu/icon/ftp/packages/unix/icon-v${MY_PV}src.tgz" + +LICENSE="public-domain HPND" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="X iplsrc" + +S="${WORKDIR}/icon-v${MY_PV}src" + +RDEPEND=" + X? ( x11-libs/libX11:= )" +DEPEND=" + ${RDEPEND} + X? ( + x11-libs/libXpm + x11-libs/libXt + )" + +PATCHES=( + "${FILESDIR}"/${PN}-9.5.1-flags.patch + # https://bugs.gentoo.org/669330 + # Fix glibc 2.28 problem. + # Patch has also been submitted for upstream approval + "${FILESDIR}"/${PN}-9.5.1-fpoll.patch +) + +src_prepare() { + default + + # do not prestrip files + find src -name 'Makefile' | xargs sed -i -e "/strip/d" || die +} + +src_configure() { + # select the right compile target. Note there are many platforms + # available + local mytarget; + if [[ ${CHOST} == *-darwin* ]]; then + mytarget="macintosh" + else + mytarget="linux" + fi + + # Fails if more then one make job process. + # This is an upstream requirement. + emake -j1 $(usex X X-Configure Configure) name=${mytarget} + + # sanitise the Makedefs file generated by Configure + sed -i \ + -e 's:-L/usr/X11R6/lib64::g' \ + -e 's:-L/usr/X11R6/lib::g' \ + -e 's:-I/usr/X11R6/include::g' \ + Makedefs || die "sed of Makedefs failed" + + append-flags $(test-flags -fno-strict-aliasing -fwrapv) +} + +src_compile() { + # Fails if more then one make job process. + # This is an upstream requirement. + emake -j1 CC="$(tc-getCC)" CFLAGS="${CFLAGS}" +} + +src_test() { + emake Samples + emake Test +} + +src_install() { + # Needed for make Install + dodir /usr/$(get_libdir) + + emake Install dest="${D}/usr/$(get_libdir)/icon" + dosym ../$(get_libdir)/icon/bin/icont /usr/bin/icont + dosym ../$(get_libdir)/icon/bin/iconx /usr/bin/iconx + dosym ../$(get_libdir)/icon/bin/icon /usr/bin/icon + dosym ../$(get_libdir)/icon/bin/vib /usr/bin/vib + + cd "${S}/man/man1" || die + doman "${PN}"t.1 + doman "${PN}".1 + + cd "${S}/doc" || die + DOCS=( *.txt ../README ) + + HTML_DOCS=( *.{htm,gif,jpg,css} ) + einstalldocs + + # Clean up items from make Install that get installed elsewhere + rm -rf "${ED}"/usr/$(get_libdir)/${PN}/man || die + rm -rf "${ED}"/usr/$(get_libdir)/icon/{doc,README} || die + + # optional Icon Programming Library + if use iplsrc; then + cd "${S}" || die + + # Remove unneeded files before copy + rm -fv ipl/{BuildBin,BuildExe,CheckAll,Makefile} || die + + insinto /usr/$(get_libdir)/icon + doins -r ipl + fi +} diff --git a/dev-lang/lua/Manifest b/dev-lang/lua/Manifest index cf0090bf5fa7..0a07d86da321 100644 --- a/dev-lang/lua/Manifest +++ b/dev-lang/lua/Manifest @@ -26,10 +26,13 @@ DIST lua-5.2.3.tar.gz 251195 BLAKE2B f3d11e180fe070cb5be98f0694081d26067e21eddeb DIST lua-5.3.3.tar.gz 294290 BLAKE2B 8052d3fa5f34636df314886a62d63e46fc76ada765679da9352e751f484a458404ac55e5b32ad63ced9d2b16d629d62a52240b1b1a509bcdf5d5df85e405646d SHA512 7b8122ed48ea2a9faa47d1b69b4a5b1523bb7be67e78f252bb4339bf75e957a88c5405156e22b4b63ccf607a5407bf017a4cee1ce12b1aa5262047655960a3cc EBUILD lua-5.1.5-r100.ebuild 3759 BLAKE2B 191eb7aef48ba9b8e08254e1e7717e47a48ddbc21810274b3063c8d0d98790dd0da1bfe52128e1da5472285dc89c3f9770cb5b02a0121316c16121df5f1161dd SHA512 7191cf605f57063dabeb201f9fb747d0df1c4b7b9ede34bec21d8e0f0eeb8edebc4be82f7157a8b23b18f352f5b07bb03a83cd645856e6a019fcd5c2bd0c990a EBUILD lua-5.1.5-r101.ebuild 4020 BLAKE2B 9c151be5dd2bcbd340280f647e55d3db580b3e56367b3a18924e35223f9ccb9d4f9f2e05bd41ec8dd43e984bb28afd12bfe02a569776216d9dc78e518c32ba06 SHA512 16ef9fa4f9036aa7ab9683d3cf25cd3015fafbea13248b51d65ea47ceddd2c5ed378d5b5df36fd87398c5220389ae08c08103aa4ae789a03412ec7f4b6501a02 +EBUILD lua-5.1.5-r102.ebuild 4020 BLAKE2B b357a5e5f7831d6c98d716f651c4bfa2ebb8e2377a9e1c5be64f4eb0da6e818e2146feacd0e38328cf5ee9b66827b25795a70cb273a8a32ccb576abada6f0bdb SHA512 ace218026ab6fef8b758d6c9a2a6ab5126fbedf5a1bf6a8d3402c2e5c4423f56613bfd71226d7423e8e457d68eda03fb653226812399bbad45ccd1cc146489d3 EBUILD lua-5.1.5-r4.ebuild 3654 BLAKE2B 128f6ef3404aa231626dd7ee14e777a4b67a78ad2133db0f50269636b87e876f433cf526398ab4520c46e1c3d31787185a53515b16c69cddf7bd6fd0ef860ead SHA512 1f2f70d49cbb1934442812d8f1cbab485e097585118aaf41500041832681dc4cf54a7ecdb4ac18c9403444842dfb5484e20e7716d68f1f54d97b2b5454543283 EBUILD lua-5.2.3-r1.ebuild 3782 BLAKE2B e600a525fa3762916ce36307969d15e97155df36aff7d4ef9f9e540811d7fbdbfe82b40252bc7681e11350613c933e7d1c2c37796a2f21157e8996aa44b43826 SHA512 1f682778d613ed1bb9f56122d156e616a8e03e6de647d52362263f37f459e7ce785e9d7491bf2139cdedf60a6466699e6562ae394a6a9e11a1ba4fbcfa157659 EBUILD lua-5.2.3-r2.ebuild 4043 BLAKE2B a257fca93afc3dfda9e41e2222c40eb6cfb9f7cd221ab6b499c72273f90bdb5ae5e1a11e0b75c2b097c110565817124093b23da6ae5702552e6be43ac924da80 SHA512 2e7604989198e659d96fc807e820a118639a870f78bcacc18c8e87446252d8cb9d3fae4edc04f57448efbc92edaac104f296fd61321ded4c8fd7b1a983c63047 +EBUILD lua-5.2.3-r3.ebuild 4043 BLAKE2B 06127a7c35a4dc1ec47b0fb447fd1dd265625ef92da2427b8f09f82dec9aab0726c36b88f254b7a6aff6a2916c723c49f800db64b6b74859c01346dcbd2a1a4c SHA512 4bf9770781c348e3a71203a341c39a37b2a32804b2ce1304ed41fb39ff25a916d0729183bce49f994d8ca44c9c79dfb9c72501ad3d0ba2dc9ee21dad48c814e5 EBUILD lua-5.2.3.ebuild 3268 BLAKE2B dc5a23765550709bb876b200c7ca6e33aa51ca79c5599344a6a111429b0e5ad9d785184bac372fa4e4db440cfdefe100d5abdfff59084e5143323b5d79afebd5 SHA512 1fac24f9f6526a9c75fa35796dbbd87cd0906d7913184301045ba184d259612316f1a7fe21d92c1f562fef1fdf7c59c9c20da8a6f62bbfa1fc93bcffcd99fb2c EBUILD lua-5.3.3-r1.ebuild 4055 BLAKE2B cb840b44fada44b133f0db32a2dab08cebe08a501da6d0ca7979a24b52cd6aaae5e02d7e9dfa6f87e216bbecc3c72aa893457a8c0c7146e62147c2eca1e88b1b SHA512 6a5f0a20d7c684853e5be8a7460771b5329c70af57d4ebf199b7812b4d7bd21d625f20536c4f7d234d3cc2467ff29e724e619afdaa2bef9c29d575d527d993bc +EBUILD lua-5.3.3-r2.ebuild 4055 BLAKE2B 61ba1948449a7e44f57df783975106fce12ab5e9bb9fa761b6f49a8fef8fd95447856b7a1a84e2a0367259018bd41a96e4f3ad5a4d09198a0a177934cda031c2 SHA512 e210a7577bc6090d53cbb0c3863841bc4d649f6d592cdd2a2ce4944b1db1f54c30f5cb71a5603468dac1fe94ab7f0bceed3c668797c469adb6ecc3fe984124e6 EBUILD lua-5.3.3.ebuild 3794 BLAKE2B 6b3222352e83d569651051474a184d4825db92aa4e6c0722c727e660b9c2d748a8354956b7f3baf9bb09b64968110c8ad061e194b766a4cece15692210dac5d0 SHA512 f7c487b9f6be32b49bc8bd71ac2ef601579a20d9936749829d0ca39a5bba8b465b406d6045f15c33dc1d18590ec58791dd92d1d9d9729095f03f187bf96bef92 MISC metadata.xml 451 BLAKE2B 97895c97f22d1d17e8e888a311f8b01b345fb296189016efdd4da71384f2adcae47bfe30b4da92499fbeaa5f1257ddb9e3116aa31167e62366127b578a753b08 SHA512 ee674307c2a1daeeba3e9da078e440648ed379422801989007c15c4c8233e905b14f8e4fae66ae2804a5b39b0676e4cca9ff21fb8985874bccfef15b9dd918a9 diff --git a/dev-lang/lua/lua-5.1.5-r102.ebuild b/dev-lang/lua/lua-5.1.5-r102.ebuild new file mode 100644 index 000000000000..cfd1cdfe50e5 --- /dev/null +++ b/dev-lang/lua/lua-5.1.5-r102.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils multilib multilib-minimal portability toolchain-funcs versionator + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="http://www.lua.org/" +SRC_URI="http://www.lua.org/ftp/${P}.tar.gz" + +LICENSE="MIT" +SLOT="5.1" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated emacs readline static" + +RDEPEND="readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] ) + app-eselect/eselect-lua + !dev-lang/lua:0" +DEPEND="${RDEPEND} + sys-devel/libtool" +PDEPEND="emacs? ( app-emacs/lua-mode )" + +SAN_SLOT="${SLOT//.}" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +src_prepare() { + local PATCH_PV=$(get_version_component_range 1-2) + + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r2.patch + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-module_paths.patch + + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:libtool:glibtool:' \ + Makefile src/Makefile || die + fi + + #EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch + + # correct lua versioning + sed -i -e 's/\(LIB_VERSION = \)6:1:1/\16:5:1/' src/Makefile + + sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html + + if ! use deprecated ; then + # patches from 5.1.4 still apply + epatch "${FILESDIR}"/${PN}-5.1.4-deprecated.patch + epatch "${FILESDIR}"/${PN}-5.1.4-test.patch + fi + + if ! use readline ; then + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-readline.patch + fi + + # Using dynamic linked lua is not recommended for performance + # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519 + # Mainly, this is of concern if your arch is poor with GPRs, like x86 + # Note that this only affects the interpreter binary (named lua), not the lua + # compiler (built statically) nor the lua libraries (both shared and static + # are installed) + if use static ; then + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make_static-r1.patch + fi + + # A slotted Lua uses different directories for headers & names for + # libraries, and pkgconfig should reflect that. + sed -r -i \ + -e "/^Libs:/s,((-llua)($| )),\2${SLOT}\3," \ + -e "/^Cflags:/s,((-I..includedir.)($| )),\2/lua${SLOT}\3," \ + "${S}"/etc/lua.pc + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + # We want packages to find our things... + sed -i \ + -e 's:/usr/local:'${EPREFIX}'/usr:' \ + -e "s:\([/\"]\)\:\1$(get_libdir):g" \ + etc/lua.pc src/luaconf.h || die +} + +multilib_src_compile() { + tc-export CC + myflags= + # what to link to liblua + liblibs="-lm" + liblibs="${liblibs} $(dlopen_lib)" + + # what to link to the executables + mylibs= + if use readline; then + mylibs="-lreadline" + fi + + cd src + emake CC="${CC}" CFLAGS="-DLUA_USE_LINUX ${CFLAGS}" \ + RPATH="${EPREFIX}/usr/$(get_libdir)/" \ + LUA_LIBS="${mylibs}" \ + LIB_LIBS="${liblibs}" \ + V=$(get_version_component_range 1-2) \ + gentoo_all + + mv lua_test ../test/lua.static +} + +multilib_src_install() { + emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \ + V=${SLOT} gentoo_install + + insinto /usr/$(get_libdir)/pkgconfig + newins etc/lua.pc lua${SLOT}.pc +} + +multilib_src_install_all() { + dodoc HISTORY README + dohtml doc/*.html doc/*.png doc/*.css doc/*.gif + + doicon etc/lua.ico + + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 +} + +multilib_src_test() { + local positive="bisect cf echo env factorial fib fibfor hello printf sieve + sort trace-calls trace-globals" + local negative="readonly" + local test + + cd "${BUILD_DIR}" || die + for test in ${positive}; do + test/lua.static test/${test}.lua || die "test $test failed" + done + + for test in ${negative}; do + test/lua.static test/${test}.lua && die "test $test failed" + done +} diff --git a/dev-lang/lua/lua-5.2.3-r3.ebuild b/dev-lang/lua/lua-5.2.3-r3.ebuild new file mode 100644 index 000000000000..4096b356b1c9 --- /dev/null +++ b/dev-lang/lua/lua-5.2.3-r3.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils autotools multilib multilib-minimal portability toolchain-funcs versionator + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="http://www.lua.org/" +SRC_URI="http://www.lua.org/ftp/${P}.tar.gz" + +LICENSE="MIT" +SLOT="5.2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated emacs readline static" + +RDEPEND="readline? ( sys-libs/readline:0= ) + app-eselect/eselect-lua + !dev-lang/lua:0" +DEPEND="${RDEPEND} + sys-devel/libtool" +PDEPEND="emacs? ( app-emacs/lua-mode )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +src_prepare() { + local PATCH_PV=$(get_version_component_range 1-2) + + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r1.patch + + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \ + Makefile src/Makefile || die + fi + + [ -d "${FILESDIR}/${PV}" ] && \ + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch + + # correct lua versioning + sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die + + sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die + + if ! use readline ; then + sed -i -e '/#define LUA_USE_READLINE/d' src/luaconf.h || die + fi + + # Using dynamic linked lua is not recommended for performance + # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519 + # Mainly, this is of concern if your arch is poor with GPRs, like x86 + # Note that this only affects the interpreter binary (named lua), not the lua + # compiler (built statically) nor the lua libraries (both shared and static + # are installed) + if use static ; then + sed -i -e 's:\(-export-dynamic\):-static \1:' src/Makefile || die + fi + + # upstream does not use libtool, but we do (see bug #336167) + cp "${FILESDIR}/configure.in" "${S}"/ || die + eautoreconf + + # A slotted Lua uses different directories for headers & names for + # libraries, and pkgconfig should reflect that. + sed -r -i \ + -e "/^Libs:/s,((-llua)($| )),\2${SLOT}\3," \ + -e "/^Cflags:/s,((-I..includedir.)($| )),\2/lua${SLOT}\3," \ + "${S}"/etc/lua.pc + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + sed -i \ + -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \ + -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \ + src/luaconf.h \ + || die "failed patching luaconf.h" + + econf +} + +multilib_src_compile() { + tc-export CC + + # what to link to liblua + liblibs="-lm" + liblibs="${liblibs} $(dlopen_lib)" + + # what to link to the executables + mylibs= + use readline && mylibs="-lreadline" + + cd src + + local myCFLAGS="" + use deprecated && myCFLAGS="-DLUA_COMPAT_ALL" + + case "${CHOST}" in + *-mingw*) : ;; + *) myCFLAGS+=" -DLUA_USE_LINUX" ;; + esac + + emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \ + SYSLDFLAGS="${LDFLAGS}" \ + RPATH="${EPREFIX}/usr/$(get_libdir)/" \ + LUA_LIBS="${mylibs}" \ + LIB_LIBS="${liblibs}" \ + V=$(get_version_component_range 1-2) \ + gentoo_all +} + +multilib_src_install() { + emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \ + V=${SLOT} gentoo_install + + # We want packages to find our things... + cp "${FILESDIR}/lua.pc" "${WORKDIR}" + sed -i \ + -e "s:^prefix= :prefix= ${EPREFIX}:" \ + -e "s:^V=.*:V= ${PATCH_PV}:" \ + -e "s:^R=.*:R= ${PV}:" \ + -e "s:/,lib,:/$(get_libdir):g" \ + "${WORKDIR}/lua.pc" + + insinto "/usr/$(get_libdir)/pkgconfig" + newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc" +} + +multilib_src_install_all() { + dodoc README + dohtml doc/*.html doc/*.png doc/*.css doc/*.gif + + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 +} + +# Makefile contains a dummy target that doesn't do tests +# but causes issues with slotted lua (bug #510360) +src_test() { :; } diff --git a/dev-lang/lua/lua-5.3.3-r2.ebuild b/dev-lang/lua/lua-5.3.3-r2.ebuild new file mode 100644 index 000000000000..b813a414cb9d --- /dev/null +++ b/dev-lang/lua/lua-5.3.3-r2.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils autotools multilib multilib-minimal portability toolchain-funcs versionator + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="http://www.lua.org/" +SRC_URI="http://www.lua.org/ftp/${P}.tar.gz" + +LICENSE="MIT" +SLOT="5.3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated emacs readline static" + +RDEPEND="readline? ( sys-libs/readline:0= ) + app-eselect/eselect-lua + !dev-lang/lua:0" +DEPEND="${RDEPEND} + sys-devel/libtool" +PDEPEND="emacs? ( app-emacs/lua-mode )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +src_prepare() { + local PATCH_PV=$(get_version_component_range 1-2) + + epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r1.patch + + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \ + Makefile src/Makefile || die + fi + + [ -d "${FILESDIR}/${PV}" ] && \ + EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch + + # correct lua versioning + sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die + + sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die + + if ! use readline ; then + sed -i -e '/#define LUA_USE_READLINE/d' src/luaconf.h || die + fi + + # Using dynamic linked lua is not recommended for performance + # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519 + # Mainly, this is of concern if your arch is poor with GPRs, like x86 + # Note that this only affects the interpreter binary (named lua), not the lua + # compiler (built statically) nor the lua libraries (both shared and static + # are installed) + if use static ; then + sed -i -e 's:\(-export-dynamic\):-static \1:' src/Makefile || die + fi + + # upstream does not use libtool, but we do (see bug #336167) + cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die + eautoreconf + + # A slotted Lua uses different directories for headers & names for + # libraries, and pkgconfig should reflect that. + sed -r -i \ + -e "/^Libs:/s,((-llua)($| )),\2${SLOT}\3," \ + -e "/^Cflags:/s,((-I..includedir.)($| )),\2/lua${SLOT}\3," \ + "${S}"/etc/lua.pc + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + sed -i \ + -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \ + -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \ + src/luaconf.h \ + || die "failed patching luaconf.h" + + econf +} + +multilib_src_compile() { + tc-export CC + + # what to link to liblua + liblibs="-lm" + liblibs="${liblibs} $(dlopen_lib)" + + # what to link to the executables + mylibs= + use readline && mylibs="-lreadline" + + cd src + + local myCFLAGS="" + use deprecated && myCFLAGS="-DLUA_COMPAT_ALL" + + case "${CHOST}" in + *-mingw*) : ;; + *) myCFLAGS+=" -DLUA_USE_LINUX" ;; + esac + + emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \ + SYSLDFLAGS="${LDFLAGS}" \ + RPATH="${EPREFIX}/usr/$(get_libdir)/" \ + LUA_LIBS="${mylibs}" \ + LIB_LIBS="${liblibs}" \ + V=$(get_version_component_range 1-2) \ + gentoo_all +} + +multilib_src_install() { + emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \ + V=${SLOT} gentoo_install + + # We want packages to find our things... + cp "${FILESDIR}/lua.pc" "${WORKDIR}" + sed -i \ + -e "s:^prefix= :prefix= ${EPREFIX}:" \ + -e "s:^V=.*:V= ${PATCH_PV}:" \ + -e "s:^R=.*:R= ${PV}:" \ + -e "s:/,lib,:/$(get_libdir):g" \ + "${WORKDIR}/lua.pc" + + insinto "/usr/$(get_libdir)/pkgconfig" + newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc" +} + +multilib_src_install_all() { + dodoc README + dohtml doc/*.html doc/*.png doc/*.css doc/*.gif + + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 +} + +# Makefile contains a dummy target that doesn't do tests +# but causes issues with slotted lua (bug #510360) +src_test() { :; } diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest index 4f43e3304b5b..2e6ecad6d43c 100644 --- a/dev-lang/mono/Manifest +++ b/dev-lang/mono/Manifest @@ -6,9 +6,9 @@ AUX mono-5.12-try-catch.patch 1267 BLAKE2B e33836d53fd4c9a4e64614d3f309058b20094 DIST mono-4.4.1.0.tar.bz2 85897587 BLAKE2B 79651189e696aa7352704e1ac659302423b1212c88337da8d522aad8e8a49855b74c43020f506b3455ce1a99566e96ae464fecced584b14470d0c8dfe605c5b6 SHA512 d9b6c57c2d9327ea551083b81a2e6cc222ded9a04862056b0dfded1c5df56efbfc4960097df034595012231fe50d172174ab7b3e3f2d8c4c6953ab2106b1cb6a DIST mono-4.8.0.524.tar.bz2 87392723 BLAKE2B ac17c3da6d6c08c4cb72c4fa300ded92625bd8c14c1e45ea9539efa42c8d085759f7bb298fe5df57bd41f18abf83f293d26a9e6272944933fcff0a3c16a7e4f3 SHA512 eb77b768a4a26e6a2a872f4845769cdc83f01af3377ecd6d932437d2a1b54bfd1ce727563906146195a54997b4b624fb75449a6f0bcfe818cbc4e6544841bf2b DIST mono-5.14.0.177.tar.bz2 219729440 BLAKE2B c21af7f541e5fcd456faeaf654ded7937da5241feb94b0de464a880915d758791ff7a645dbcb4023e7cced7ab0854bb8da0cc246abc6ab575bb278aa58fdc8c7 SHA512 f13afbe4289e177705642f79f4236710bdc8db8e956782c5370baf22207d6713f7997ec286c7742416c8206d2da205f295437d1afcdc430628d13e32f0e87d2d -DIST mono-5.16.0.179.tar.bz2 231379081 BLAKE2B bdcb770d28eea953d428b8d41221bb192adf17bd677711fe17b44e2faa174d59adbe7816297c5eafa2589bb871d3bc2bb84b6e99a11df63758ff6f1b83b8814e SHA512 17d29dc19e3694abd236a50dda99ab85a215d1e88b8d6474c8b8b638dfe8a0f8d60ee3d3d5da600a861cfe6a0dda77cbf3594e9c5dd8b599c80363b4f01d9f1e +DIST mono-5.16.0.220.tar.bz2 231487021 BLAKE2B e5154c5e356bc277a8809471e5bf8a87092224f54f08535d9860229040bdd3fec304404b893ddd36253f58b351e7023ce9649521a0e850fabfefb3e6700473c1 SHA512 f5266b28747dd7735acb047e1d7a3660d9984126e518885babba6cce5b8dd9959134f7b5c6cd79309b4fb1feaf9af9d0015fdbc2d4bd088928a279b5c1dcefb3 EBUILD mono-4.4.1.0.ebuild 3384 BLAKE2B fd16089b151c1666ceda7d05285fa8a10143a4157e46b75a3412b42dec80c0929f9ba8d9523ac65b64fb827ea8d1ad88fbe98a5e7d0d12423b970912d0ae50e4 SHA512 6c9c9ce5e19a33e4dbc1b0cdb2d17804a67eed5061e422358c971de5a2eb95b2848c4515312a4b082087c50040c1e7f9c687a134ca30354d8f4bde796432b126 -EBUILD mono-4.8.0.524.ebuild 3023 BLAKE2B 8b23acde97ed8ebe05eb7e4c3fab9f1c9b43ee775a460629a122eba13c56120d139c8732267c1fb2cb7ba9d96c3a9943a03c1c9894286205392dac8fd19a467c SHA512 0a229fdcbb0051e96e227f1a2bc2c85eea55f2277b549e866744c650a0c42172f5727abe2b1cf38660254757201b8f577401fb072814d266012058da3a2418ab -EBUILD mono-5.14.0.177.ebuild 2963 BLAKE2B 0be064f7eedc0b8b1e4eeba3998ce4e0ab10a4696630d0fd0a178407e231e1ce0511a3464c6ea7a00a9e5911d936fda6d1d479a11ed000f5cd1caf4f76f63d0d SHA512 66a592f345915c0a3d56138baec0e2127c3f4e0ec653c7fe8e6eec58846ac426ddf0db75adb07b6f5f13f3cadf7702e1a16a4d3f36bcbb8b361f3c33ecd9b1df -EBUILD mono-5.16.0.179-r1.ebuild 3035 BLAKE2B 689cd28b9284d3620f772e12a0ce3762204ce4415d5347ef0c2d34ec1e4491bfcc35a132737e482b928f5899b681393fe44fb97b0dfb0ead73130fd407b7717a SHA512 61869e1ec8eeb0662f6bca5615394ae0f341e1ea80d5495ee7a84a22f25cb987bd516abfda8c4bbc361955421c68b80825cbd1ab6f640f9545c9f5d16fb53473 +EBUILD mono-4.8.0.524.ebuild 3025 BLAKE2B e076a2771ffe50f999905f2565e741edc24c5e5b7998a92b528011cc9d03aa0cf0decfc538e9acba41afc7afb42e6486da29353940f4bef467288a5ca2e22998 SHA512 73c6b525881aa71e829214fc3ba05aa172942e3a441d79903af39b385e12eb31cae7083972a69a6bc1e29af98c5fa4828a7d96dc3c8564fca8daa01204ff8a5a +EBUILD mono-5.14.0.177.ebuild 2968 BLAKE2B 17e110b05811a8c82cda8a5931cfdee4c4cb9b00ec86c4a5c8e4c205ab20743c8e61876822055e3ba065d9ee9d29595cf08cedcb7a87f4b53468b408c1a3f7d7 SHA512 2385767fee4277490ac3be828baf8c09c99534658ea708e025cdaa43830a36df3c96f5b4a089ac9a9026ab9c4989cf6379b93330ffe29ce1b5beac7198fb5047 +EBUILD mono-5.16.0.220.ebuild 3022 BLAKE2B 4596e60c26b9ea401f6322319a61e4a8faaa0245ab43db186102285497cf4a6864dfcf375f1e722664a049cbbe6ec52e4c84e720f63e8585d2f8c06841c906d5 SHA512 396f4e8a6f2d1b3ea4c960fb0fd571b919734b92b940364fef75f4b1f60a69d9604f089d91c88adddd243718dcd14e92c6e803d58f737a58dbb69293b89651f7 MISC metadata.xml 507 BLAKE2B 91655de22fc1ff309c36ecef9d77aa8cada0b8f13ae30677665de837e99b7b43622a1dc0c677b0f5455c06b8e8a295c3c4f39753f66e749163a4f002ee481016 SHA512 e072a1abbf66276b0d139c3e918593010312c2059a0c6feba7b324689cdf90efe28bef0286ad9888125acfdd1fed2dee3e05e79a0aeb7f9ec1809bd128cf8a20 diff --git a/dev-lang/mono/mono-4.8.0.524.ebuild b/dev-lang/mono/mono-4.8.0.524.ebuild index 2e12a8843385..3381396041ef 100644 --- a/dev-lang/mono/mono-4.8.0.524.ebuild +++ b/dev-lang/mono/mono-4.8.0.524.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -12,7 +12,7 @@ SRC_URI="https://download.mono-project.com/sources/${PN}/${P}.tar.bz2" LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" SLOT="0" -KEYWORDS="amd64 ~arm64 ppc ~ppc64 x86 ~amd64-linux" +KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86 ~amd64-linux" IUSE="nls minimal pax_kernel xen doc" diff --git a/dev-lang/mono/mono-5.14.0.177.ebuild b/dev-lang/mono/mono-5.14.0.177.ebuild index 057c8e099f0a..da0226a8437e 100644 --- a/dev-lang/mono/mono-5.14.0.177.ebuild +++ b/dev-lang/mono/mono-5.14.0.177.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=6 -KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux" RESTRICT="mirror" SLOT="0" diff --git a/dev-lang/mono/mono-5.16.0.179-r1.ebuild b/dev-lang/mono/mono-5.16.0.179-r1.ebuild deleted file mode 100644 index 8c768a037192..000000000000 --- a/dev-lang/mono/mono-5.16.0.179-r1.ebuild +++ /dev/null @@ -1,110 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux" - -RESTRICT="mirror" -SLOT="0" - -IUSE="nls minimal pax_kernel xen doc" - -inherit autotools eutils linux-info mono-env flag-o-matic pax-utils multilib-minimal - -DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter" -HOMEPAGE="http://www.mono-project.com/Main_Page" -LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" - -SRC_URI="http://download.mono-project.com/sources/mono/${P}.tar.bz2" - -COMMONDEPEND=" - !minimal? ( >=dev-dotnet/libgdiplus-2.10 ) - ia64? ( sys-libs/libunwind ) - nls? ( sys-devel/gettext ) -" -RDEPEND="${COMMONDEPEND} - || ( www-client/links www-client/lynx ) -" -DEPEND="${COMMONDEPEND} - sys-devel/bc - virtual/yacc - pax_kernel? ( sys-apps/elfix ) - dev-util/cmake -" - -PATCHES=( - "${FILESDIR}"/${PN}-5.0.1.1-x86_32.patch - "${FILESDIR}"/mono-5.12-try-catch.patch -) - -pkg_pretend() { - linux-info_pkg_setup - if use kernel_linux; then - if linux_config_exists; then - linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel" - else - # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686 - ewarn "kernel config not found" - ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling." - ewarn "See https://bugs.gentoo.org/261869 for more info." - fi - fi -} - -pkg_setup() { - mono-env_pkg_setup -} - -src_prepare() { - # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't - # get killed in the build proces when MPROTECT is enable. #286280 - # RANDMMAP kill the build proces to #347365 - # use paxmark.sh to get PT/XT logic #532244 - if use pax_kernel ; then - ewarn "We are disabling MPROTECT on the mono binary." - - # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9 - sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in" - fi - - # mono build system can fail otherwise - strip-flags - - # prebuilt files were left in tarball by accident: - rm -rv external/corefx/src/Native/Unix/System.Native/.libs || die - rm -rv external/corefx/src/Native/Unix/System.Native/*.{o,lo} || die - - default - # PATCHES contains configure.ac patch - eautoreconf - multilib_copy_sources -} - -multilib_src_configure() { - local myeconfargs=( - --disable-silent-rules - $(use_with xen xen_opt) - --without-ikvm-native - --disable-dtrace - $(use_with doc mcs-docs) - $(use_enable nls) - ) - - econf "${myeconfargs[@]}" -} - -multilib_src_test() { - cd mcs/tests || die - emake check -} - -multilib_src_install() { - default_src_install - - # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora - # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html - # for reference. - rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die - rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die -} diff --git a/dev-lang/mono/mono-5.16.0.220.ebuild b/dev-lang/mono/mono-5.16.0.220.ebuild new file mode 100644 index 000000000000..be71a2df69b4 --- /dev/null +++ b/dev-lang/mono/mono-5.16.0.220.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux" + +SLOT="0" + +IUSE="nls minimal pax_kernel xen doc" + +inherit autotools eutils linux-info mono-env flag-o-matic pax-utils multilib-minimal + +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter" +HOMEPAGE="http://www.mono-project.com/Main_Page" +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" + +SRC_URI="http://download.mono-project.com/sources/mono/${P}.tar.bz2" + +COMMONDEPEND=" + !minimal? ( >=dev-dotnet/libgdiplus-2.10 ) + ia64? ( sys-libs/libunwind ) + nls? ( sys-devel/gettext ) +" +RDEPEND="${COMMONDEPEND} + || ( www-client/links www-client/lynx ) +" +DEPEND="${COMMONDEPEND} + sys-devel/bc + virtual/yacc + pax_kernel? ( sys-apps/elfix ) + dev-util/cmake +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.0.1.1-x86_32.patch + "${FILESDIR}"/mono-5.12-try-catch.patch +) + +pkg_pretend() { + linux-info_pkg_setup + if use kernel_linux; then + if linux_config_exists; then + linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel" + else + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686 + ewarn "kernel config not found" + ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling." + ewarn "See https://bugs.gentoo.org/261869 for more info." + fi + fi +} + +pkg_setup() { + mono-env_pkg_setup +} + +src_prepare() { + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't + # get killed in the build proces when MPROTECT is enable. #286280 + # RANDMMAP kill the build proces to #347365 + # use paxmark.sh to get PT/XT logic #532244 + if use pax_kernel ; then + ewarn "We are disabling MPROTECT on the mono binary." + + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in" + fi + + # mono build system can fail otherwise + strip-flags + + # prebuilt files were left in tarball by accident: + rm -rv external/corefx/src/Native/Unix/System.Native/.libs || die + rm -rv external/corefx/src/Native/Unix/System.Native/*.{o,lo} || die + + default + # PATCHES contains configure.ac patch + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + local myeconfargs=( + --disable-silent-rules + $(use_with xen xen_opt) + --without-ikvm-native + --disable-dtrace + $(use_with doc mcs-docs) + $(use_enable nls) + ) + + econf "${myeconfargs[@]}" +} + +multilib_src_test() { + cd mcs/tests || die + emake check +} + +multilib_src_install() { + default_src_install + + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora + # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html + # for reference. + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die +} diff --git a/dev-lang/nasm/Manifest b/dev-lang/nasm/Manifest index 9776d86362c7..267b1e40d7b4 100644 --- a/dev-lang/nasm/Manifest +++ b/dev-lang/nasm/Manifest @@ -1,10 +1,11 @@ AUX nasm-2.13.01-fix-docdir.patch 5536 BLAKE2B 4eac268b54b33bbf058562ec15870df57af1997530ddf98940abfa67da4e1241a5cf9597261ae9bf7e65c502ce70d0a60834d12dfa9979ac647b9f04fe56c21e SHA512 22bbfac66b75451345a1f3d19816ecc35397c9b95f16f7dffdf8dbde9055bb035880f5cb081686c42ce3f448e250a29c9440775aad929a7e36c1325e6bbc88d7 AUX nasm-2.13.01-gcc-8.patch 817 BLAKE2B ffe883fa68f9fe29e909df2226fdcc6603b739335051ca43740504b7af75798036b19ce647daaf146ab976bce3e645b3cca65b972adbf29e737c8e6f2c32e026 SHA512 eb1b8a4d0d122a7bc797962aea24eb858ad4f1876981496546059155cdc4fcb719b849f692f003706c623c27d116c9188598ea482d33bf091d59964410fd0e15 AUX nasm-2.13.03-bsd-cp-doc.patch 357 BLAKE2B 2611aa3e7f817530c8012f1849d5d80f47105a2e35950795826b3b9d128493ab7e8c1da106b9d22e24a025f8bf24f142cad385c5fca13e09423168bc2fc69f65 SHA512 6562f98e08953b5ac667df4f89f401cc520cf24dfaf112121ca0f7a039b96a328316afd62d118ae98ec9d2c1c3f2c1c9b88d2d66f19197637b7b785a48964f9c +AUX nasm-2.14-default-path-BR-3392529.patch 1437 BLAKE2B 285c2233277092544c3caedee7678f7537cc701d6066f1b5f30bff4a0bfac77d00887ce6b1ed2f3770c00e6c449f2d004fbad0ad99caff01cb41276cb04911ee SHA512 fcf21448a74ae7b8b4d08b908976962bcd71c98fef35ab4875542413fe7c84e696678ff8a5413f37b2b6a0c194b08da84d2ddd9520b6a2e848af33b7aa3600a6 DIST nasm-2.13.01.tar.xz 800244 BLAKE2B 23a42d9e6c66577cee0e3b6cdff8da7b7b49286011f2d9e2319bd229ca0a1ab5b89a27d71a591777430e577175c935ba2a34b7ba0ca6086853f84fa5f0f648ab SHA512 6561a2efb3ffea77a1a8cd364edf1ecedb2c14e1902469d7c59d743f25ca612529113d1099818abbe0a9f2592f12604f1810855bbdf8dc9de3648094a83529ae DIST nasm-2.13.03.tar.xz 806636 BLAKE2B 36187dac080dac17efbc1a2319d989bcb0f883fee80668656a6a87bdd83ee4115ffa2f8519f6d267815590f4809aa293aac500f3a5505a391154cb460cbe94ad SHA512 24e6c72b80a878453baf3b525c1bad607431ff672a927f73e742379fa833b3f5d3fa4479addfcec6d96f354aa90a45905ff9c76ab5217c3bcb7091107b32e2b5 DIST nasm-2.14.tar.xz 824780 BLAKE2B c246a357896414aa370ded6e42d076d4d56db62e6519cb421000696d65c6e7581f8e0c3c5d55fb27c876139c368bb739863bb5fc0f9bd76610b054f31ec83b5f SHA512 0f7f1b8b0cd4ac62df1dc203789b74670ebe10f3be10af9984331b1c348745ed31a43aca77c5c771016a718fa2c7c8805c1c9edfdd6b0fe83ee0937cb0dd3d23 EBUILD nasm-2.13.01.ebuild 861 BLAKE2B eff4bea9ce72d6a3d7ade24757a161cfe385cc7fdc6ac86d412c04ec3e5c0ca436e6b23c8d6db3fa48d46a9a7f7cf671ed22a335a78bac5ac1496c4eac66c46f SHA512 4bd6b4573cc9315e605713ae5dd3d0ef5e391d1561df05c710cfe03fa4f94c30ec2d0db4798e1c758b590b931cf078658905806378e182867305ce37dfacd2b2 EBUILD nasm-2.13.03-r1.ebuild 1114 BLAKE2B 27c9c88846dc205695ca4c3de908cc97dddca3e5592f972b6ae1f3d515931ebd36a878c781d5ca486cbf3af63526ef30aa156db3a0b048e9fd091f7c440076cb SHA512 7313abac2666b113be49bea29e8a22aabb259af787746100fa3323536fc5e4692dc7fb54378ec54812700e917b06021e0200669fc6785531820716e8186c15a2 -EBUILD nasm-2.14.ebuild 1047 BLAKE2B 35d1958b760f749441bbddf404c8ff88bbe1db15111b5c22413f36f852b482e727cffd453c65877a9e2e658f99601481c4aeee92b2bb0068052f590e11417228 SHA512 fb2ee002adcc695e90683d1c3e78540a716bf05715dd663ea5b094b13c47b207d17718a3ee3e54bc558717615ae759be58ab7639bb23d2ac89809b7f1ddd72b3 +EBUILD nasm-2.14-r1.ebuild 1097 BLAKE2B 0e12ff8b2c8f00a6ab03b576c054eb2596ecb919f6b52b69500cda33ca0ef80d97d781d53ead8ac2a06752443e73e1a295fe8c276b056dd126a30f5a3598437d SHA512 9af9a666c851b5c4f18afae7369a1eed9275f7c8fe53ae8b36fe9771cc2a981d8a3f05f7d557389dd00ed2ca57b05dd0a319eb86a5631802cb004a2925601cef MISC metadata.xml 869 BLAKE2B 6acbe39b23e071849e6afd42da7ec5a56f017b708745e5efd09a288775da944fbb1185cead3ceaa573398f5874115139834584323e5b4cff360cf6cd9cca4ccd SHA512 a6bf522dfa6c43ea58a432577fbc31bcc9d262f7262c16d165b3cbacf8394a6d9e6d1eea9480cdb27b692cacada0c5fba3906e913259c2809a48159bce53e5bf diff --git a/dev-lang/nasm/files/nasm-2.14-default-path-BR-3392529.patch b/dev-lang/nasm/files/nasm-2.14-default-path-BR-3392529.patch new file mode 100644 index 000000000000..57cbb741505a --- /dev/null +++ b/dev-lang/nasm/files/nasm-2.14-default-path-BR-3392529.patch @@ -0,0 +1,41 @@ +https://bugzilla.nasm.us/show_bug.cgi?id=3392529 +https://bugs.gentoo.org/670944 + +From 7b6371b9d35705ee3800082ca245f8dd289bb216 Mon Sep 17 00:00:00 2001 +From: "H. Peter Anvin (Intel)" +Date: Tue, 20 Nov 2018 10:56:57 -0800 +Subject: [PATCH] BR 3392529: if the default output name is the same as input + -> nasm.out + +If no output filename is specified, then a default filename is used +based on the input filename. If that ends up the *same* as the input +filename, change the output filename to "nasm.out". + +Signed-off-by: H. Peter Anvin (Intel) +--- + asm/nasm.c | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +--- a/asm/nasm.c ++++ b/asm/nasm.c +@@ -514,9 +514,14 @@ int main(int argc, char **argv) + * is a preprocess mode, we're perfectly + * fine to output into stdout. + */ +- if (!outname) { +- if (!(operating_mode & OP_PREPROCESS)) +- outname = filename_set_extension(inname, ofmt->extension); ++ if (!outname && !(operating_mode & OP_PREPROCESS)) { ++ outname = filename_set_extension(inname, ofmt->extension); ++ if (!strcmp(outname, inname)) { ++ outname = "nasm.out"; ++ nasm_error(ERR_WARNING, ++ "default output file same as input, using `%s' for output\n", ++ inname, outname); ++ } + } + + depend_ptr = (depend_file || (operating_mode & OP_DEPEND)) +-- +2.19.2 + diff --git a/dev-lang/nasm/nasm-2.14-r1.ebuild b/dev-lang/nasm/nasm-2.14-r1.ebuild new file mode 100644 index 000000000000..7a17a31be972 --- /dev/null +++ b/dev-lang/nasm/nasm-2.14-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic + +DESCRIPTION="groovy little assembler" +HOMEPAGE="https://www.nasm.us/" +SRC_URI="https://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~x86 ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~x64-macos" +IUSE="doc" + +RDEPEND="" +DEPEND="" +# [fonts note] doc/psfonts.ph defines ordered list of font preference. +# Currently 'media-fonts/source-pro' is most preferred and is able to +# satisfy all 6 font flavours: tilt, chapter, head, etc. +BDEPEND=" + dev-lang/perl + doc? ( + app-text/ghostscript-gpl + dev-perl/Font-TTF + dev-perl/Sort-Versions + media-fonts/source-pro + virtual/perl-File-Spec + ) +" + +S=${WORKDIR}/${P/_} + +PATCHES=( + "${FILESDIR}"/${PN}-2.13.03-bsd-cp-doc.patch + "${FILESDIR}"/${P}-default-path-BR-3392529.patch +) + +src_configure() { + strip-flags + default +} + +src_compile() { + default + use doc && emake doc +} + +src_install() { + default + emake DESTDIR="${D}" install_rdf $(usex doc install_doc '') +} diff --git a/dev-lang/nasm/nasm-2.14.ebuild b/dev-lang/nasm/nasm-2.14.ebuild deleted file mode 100644 index 46c8d440a406..000000000000 --- a/dev-lang/nasm/nasm-2.14.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic - -DESCRIPTION="groovy little assembler" -HOMEPAGE="https://www.nasm.us/" -SRC_URI="https://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="~amd64 ~ia64 ~x86 ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~x64-macos" -IUSE="doc" - -RDEPEND="" -DEPEND="" -# [fonts note] doc/psfonts.ph defines ordered list of font preference. -# Currently 'media-fonts/source-pro' is most preferred and is able to -# satisfy all 6 font flavours: tilt, chapter, head, etc. -BDEPEND=" - dev-lang/perl - doc? ( - app-text/ghostscript-gpl - dev-perl/Font-TTF - dev-perl/Sort-Versions - media-fonts/source-pro - virtual/perl-File-Spec - ) -" - -S=${WORKDIR}/${P/_} - -PATCHES=( - "${FILESDIR}"/${PN}-2.13.03-bsd-cp-doc.patch -) - -src_configure() { - strip-flags - default -} - -src_compile() { - default - use doc && emake doc -} - -src_install() { - default - emake DESTDIR="${D}" install_rdf $(usex doc install_doc '') -} diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index 19ff7391bbf8..7e525f7cb93c 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -15,8 +15,8 @@ EBUILD perl-5.24.3-r1.ebuild 17393 BLAKE2B 999d7df269e15390e4f7d146ff94eda530198 EBUILD perl-5.24.4.ebuild 17363 BLAKE2B 84744ba06ce9dc0cab51aae3da10917679a20b5997f13154c269285173a6c6b0ec20ae365b059daa52f86f2addcf97dbe8866a29cd2c9c32ee51030de9a44bf7 SHA512 d393349752cfcdb53bd6d99559ad1eb5385e716f772bc4377e07bc3d7064a293e5cc0369feca2094513e710e8724c2a0a82fcf342ad68c4e1d2c1d0d42200071 EBUILD perl-5.26.1-r1.ebuild 19255 BLAKE2B a29acfd3ea358d0d46886aae104acf8e55ad7c9380848343ad84dfc58294645fa6c72c4cbc598e54072585f880175581ef25e7e6e2a9080764968ab925cdbb9d SHA512 4630da50892ac674de4b9e5858ffd9b1c50b08558a91a1579958f728aaf3d9581b3f960c0d9caf5a460c3435a626c9294d8abc73c7f7da098199018a144a5788 EBUILD perl-5.26.1-r2.ebuild 19668 BLAKE2B 5936c92398cf8a889bd946705f2667abd07fc81a64ea3f8c44cd83f3c29719352f4ea938b8d7fb7e3d5d138dcba12f94692166aaca8d98a3640c772850ec9e5c SHA512 154b021e91b01ecd55a5af50bc530f080745b122cd5a77652589c236d4bceea93f4379a1c8e751eb1787118e3133e1f5daab8dccf88365f7976c8a015591190e -EBUILD perl-5.26.2.ebuild 19702 BLAKE2B 401194aa30936a6169efca8178810f1401ad501533ce66350bf43ac07b0f33dcaf771e650add413c59bfcb179d10a66e9d51f15ac0399a98fe7ae9c8c69f8d81 SHA512 30c09deb7a1b4d3a87c70a9ef3b431cf43e4c4be8760ba619b7355dec1960f51cfbe75e8ed4fba8e4ce7821c93c1e2ecb6725e88a3f6aa47d40c57b8896a4689 -EBUILD perl-5.26.9999.ebuild 19702 BLAKE2B 401194aa30936a6169efca8178810f1401ad501533ce66350bf43ac07b0f33dcaf771e650add413c59bfcb179d10a66e9d51f15ac0399a98fe7ae9c8c69f8d81 SHA512 30c09deb7a1b4d3a87c70a9ef3b431cf43e4c4be8760ba619b7355dec1960f51cfbe75e8ed4fba8e4ce7821c93c1e2ecb6725e88a3f6aa47d40c57b8896a4689 -EBUILD perl-5.28.0.ebuild 19891 BLAKE2B 67f3a7f862c9db4e9fd4d417f96390014b5b4ed70890622c5e5a9bc6841c6ebb0aba2e2f6ac1aa77a4569c72b5353e78aef4ab98b20d6e31c8a6e1401d2a220d SHA512 4f3925efb263bf2a8b3bc66febc468001918b6f9b1880b38bac62e8eaabdb9a67ac11e72adcbadbfa2948a15402cf117619a894e0c4334909b2964ab923b38d3 -EBUILD perl-5.28.9999.ebuild 19891 BLAKE2B 67f3a7f862c9db4e9fd4d417f96390014b5b4ed70890622c5e5a9bc6841c6ebb0aba2e2f6ac1aa77a4569c72b5353e78aef4ab98b20d6e31c8a6e1401d2a220d SHA512 4f3925efb263bf2a8b3bc66febc468001918b6f9b1880b38bac62e8eaabdb9a67ac11e72adcbadbfa2948a15402cf117619a894e0c4334909b2964ab923b38d3 +EBUILD perl-5.26.2.ebuild 19946 BLAKE2B dab57a37146c65c67df2dd225e0b591f9e83e82d2c806687a7a9f7889350e93d0232be299875229a4b1e49044ced9f271b9ca89f05dbaf952887b97a11aee2d8 SHA512 cdc5b46b02b3dd6f0dbf73647041f5995792e19caaf3b0eda6031794f018f1946d14d510d2c8cddbe7e6a7e8ca39aef38ef1ba7760e2b67b073147909d196208 +EBUILD perl-5.26.9999.ebuild 19946 BLAKE2B dab57a37146c65c67df2dd225e0b591f9e83e82d2c806687a7a9f7889350e93d0232be299875229a4b1e49044ced9f271b9ca89f05dbaf952887b97a11aee2d8 SHA512 cdc5b46b02b3dd6f0dbf73647041f5995792e19caaf3b0eda6031794f018f1946d14d510d2c8cddbe7e6a7e8ca39aef38ef1ba7760e2b67b073147909d196208 +EBUILD perl-5.28.0.ebuild 20135 BLAKE2B 24983e5fa8c94f4348445f4e6ad0ff7bb05e252b3cf9df15449e7230c45a1d49c4b5b6f1755f19950448d342aac6c5f2e6ad9603c18a979d65a39a9cc09c4b98 SHA512 aeb037ab4f3ebdd3c3297248a74fef91be34af020979a8a7a53e19006687011530fe362d41624270fbcbd7565f1343e32d08466e06a29dd96f30d5653d273398 +EBUILD perl-5.28.9999.ebuild 20135 BLAKE2B 24983e5fa8c94f4348445f4e6ad0ff7bb05e252b3cf9df15449e7230c45a1d49c4b5b6f1755f19950448d342aac6c5f2e6ad9603c18a979d65a39a9cc09c4b98 SHA512 aeb037ab4f3ebdd3c3297248a74fef91be34af020979a8a7a53e19006687011530fe362d41624270fbcbd7565f1343e32d08466e06a29dd96f30d5653d273398 MISC metadata.xml 430 BLAKE2B 8625fd07f63a7943a85c3919d6ae6db622b752caa2803c56c72a22b270244261331fbab8b760e6d00acb8480770c9ef1d1beaaa22cc6044660821687c0cd8c33 SHA512 ca4c43e2016b7df707894713465700a90d2b8551b57fc4d660cff75edb1e8cc2456f9ae10431839ad6738f290d4f5911fae360eaa1d4670859d855de3d568583 diff --git a/dev-lang/perl/perl-5.26.2.ebuild b/dev-lang/perl/perl-5.26.2.ebuild index 602748dc4a26..e2af84bf47de 100644 --- a/dev-lang/perl/perl-5.26.2.ebuild +++ b/dev-lang/perl/perl-5.26.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -331,7 +331,7 @@ src_prepare() { fi # Use errno.h from prefix rather than from host system, bug #645804 - if use prefix && ! use prefix-guest; then + if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die fi @@ -455,6 +455,11 @@ src_configure() { [[ ${CHOST} == *-darwin* ]] && \ myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" + # Older macOS with non-Apple GCC chokes on inline in system headers + # using c89 mode as injected by cflags.SH + [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ + append-cflags -Dinline=__inline__ + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in # Prefix itself we don't do multilib either, so make sure perl can find # something compatible. diff --git a/dev-lang/perl/perl-5.26.9999.ebuild b/dev-lang/perl/perl-5.26.9999.ebuild index 602748dc4a26..e2af84bf47de 100644 --- a/dev-lang/perl/perl-5.26.9999.ebuild +++ b/dev-lang/perl/perl-5.26.9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -331,7 +331,7 @@ src_prepare() { fi # Use errno.h from prefix rather than from host system, bug #645804 - if use prefix && ! use prefix-guest; then + if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die fi @@ -455,6 +455,11 @@ src_configure() { [[ ${CHOST} == *-darwin* ]] && \ myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" + # Older macOS with non-Apple GCC chokes on inline in system headers + # using c89 mode as injected by cflags.SH + [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ + append-cflags -Dinline=__inline__ + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in # Prefix itself we don't do multilib either, so make sure perl can find # something compatible. diff --git a/dev-lang/perl/perl-5.28.0.ebuild b/dev-lang/perl/perl-5.28.0.ebuild index 3fee6ac8677a..a88e2d54acf9 100644 --- a/dev-lang/perl/perl-5.28.0.ebuild +++ b/dev-lang/perl/perl-5.28.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -331,7 +331,7 @@ src_prepare() { fi # Use errno.h from prefix rather than from host system, bug #645804 - if use prefix && ! use prefix-guest; then + if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die fi @@ -458,6 +458,11 @@ src_configure() { [[ ${CHOST} == *-darwin* ]] && \ myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" + # Older macOS with non-Apple GCC chokes on inline in system headers + # using c89 mode as injected by cflags.SH + [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ + append-cflags -Dinline=__inline__ + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in # Prefix itself we don't do multilib either, so make sure perl can find # something compatible. diff --git a/dev-lang/perl/perl-5.28.9999.ebuild b/dev-lang/perl/perl-5.28.9999.ebuild index 3fee6ac8677a..a88e2d54acf9 100644 --- a/dev-lang/perl/perl-5.28.9999.ebuild +++ b/dev-lang/perl/perl-5.28.9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -331,7 +331,7 @@ src_prepare() { fi # Use errno.h from prefix rather than from host system, bug #645804 - if use prefix && ! use prefix-guest; then + if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die fi @@ -458,6 +458,11 @@ src_configure() { [[ ${CHOST} == *-darwin* ]] && \ myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" + # Older macOS with non-Apple GCC chokes on inline in system headers + # using c89 mode as injected by cflags.SH + [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ + append-cflags -Dinline=__inline__ + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in # Prefix itself we don't do multilib either, so make sure perl can find # something compatible. diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index 02950a307087..b384a485b567 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -2,30 +2,45 @@ AUX 20php5-envd 145 BLAKE2B 06476b8fc04d1e835496b417ac752f0834ddbe8584e4fddc6db0 AUX 5.6-mbstring-oniguruma-6.8.patch 880 BLAKE2B 7526874436b0fee12d0bc80487abe8a2e152491b52d2b3c041e4162284a3be580d88649704d360e85b0985d6406d2d26fe55c147a091fef1adbe7631cedafeeb SHA512 8767aa16f72fec2e4d79d8b15559ffe6afcf97c1664d963befc5565ead5eb3a5291982ece941441f57cfac21589c5e8eecf359b111b27a880919f77652e4de65 AUX libressl-compatibility.patch 2978 BLAKE2B 714e268149d973beb0d2d76f90e15adde57acb7aed028131c6dee2a34b11980fedff487ccec67e20d9a9094014878e13bd7e180e98bb0ee304c5916324016823 SHA512 58ed57061f31da72c96cbca6f6e86d1466c96c8562dfa6551b4a8d16bd6e537b848ca34cbe57c5c220c72158e176f9cd7c07d282fe1fd69ebf5475c48bf95c26 AUX mbstring-oniguruma-6.8.patch 1488 BLAKE2B 181aacdd5fc01e5b11246d624cd88a5d3184c00343abb8a9e36d1e224dce185a81521c0498d562e51768e4c035806f007f9cd5ed930b7abe2a3da2e5b519f5b3 SHA512 5a3334ca98da9ac22be67021e4e859c89826aec8393d4b56c4e52336a5fc689acd2579ff44ac984a40711ccaf917a810264b07a0071f8161da18e2bffd3d0c05 +AUX php-5.6-intl-detect-icu-via-pkg-config.patch 5715 BLAKE2B 609192a91736ae7417365b7040606dc4dae43333c63eda79879cd45f74c34613563e4c4625cb5f1401cb59f78db0b9328e808b9293eab63aac34069847b3058a SHA512 89e109422f2eb8efa2408851592528c0bcc2103c902bffdc72208096489c3d2593cc4baeac2bde6266f3e08028f90e7c4960e2b9a17323216dbd68b19fe84c44 +AUX php-5.6-intl-icu-memory-corruption.patch 2374 BLAKE2B eb970251333796622491b40ac9da4aeca4d0775e11f579bb7fd63078a44d35f5fc4987155f190ca07cbdd98e8b6f532e0ba92a770b3f7ed61405f361f888001a SHA512 b5533f2e9665204ca62dcfd24d8988c3dde453068919e00dc26bb02409ac50da2d42ad1fc00815aea2f13410f0d5d95fadfb820d13c944eb2d8be9060f3787f1 +AUX php-5.6-intl-use-icu-namespace.patch 11150 BLAKE2B 0117eba8f33d4ed07484e3dad15fd7ff34282f1ad57b441f4794c0dcec650fb19f32a7fbb345d4feee54efc1ef470d118f8f2d7c6b422a0ba3aa22c0ca5c83f3 SHA512 ef440c9fd157739ea80dc68aecb3d9ea3f97d9347e44152e198eda3763c05d252f0913eae09c5945e372497e2be8eace55a9d004cdfb61281ea17208c6e6aed1 AUX php-5.6-no-bison-warnings.patch 1428 BLAKE2B d37bc7a1ae803aa4a14d32f0ca5613b7bc82610248d6de5ef7b6078fdcfa944cd1c245aa919137ff0d6968c8621b5acf2638386307c46fdbb8c98eba991eb674 SHA512 8f751c638c833d535e022434cd8ace5c175703bf61dfab7bea3e52d9419700e2b85c4cca40da9ab6056e8fd9c0bc1fab55810bb1193bed14ce0a50ce653fe62b +AUX php-7.0.33-intl-detect-icu-via-pkg-config.patch 5832 BLAKE2B 7f48cb80ee4d51a4385845f1cc10babbbc2dbd40c245f13711467a8cb6244e85eafe59a03c50b99d0d07465a335cefff765296ab92e8b8a8ee2cc8543c4f5e4a SHA512 a08a3e59c77ab5313cdb7f8d8d496071fbaa6765e7bb878012c283eb7103093b511afbf0c234b760fe56ac4e13817746db9990880e5056d36a0d0b1779dd239c +AUX php-7.0.33-intl-icu-memory-corruption.patch 2385 BLAKE2B 37123710c6cf3f8c99bce365d299079810317cd9aff32e7b725d89fdcedfe0503335b568c5b09f45fdeee8506cd3f691bda24eea1f6101d39a655feff818e57f SHA512 904188088bd2a8a68e2d2019df96d61abfcd7ff7e306f078bcfcd610ea0deda5007392a135c62e2fa2feac27ea6379087835beb36bb76edd1a4055ebe84c1a97 +AUX php-7.0.33-intl-use-icu-namespace.patch 11180 BLAKE2B 5a5d6bd74f2cee846ce58e754443a9b0d689aac1c1705166ea16ea0292f7f4d2b6a83519db5391414cd97de88bc25b7a4d43ba2adc90427e62b134d662ea924d SHA512 faa289791e4ac2c176a27056fb63683cd444c36b6b5118299327179a753e9a1a8589dc6f20e0e3e2d6645312500fbe0d8d9cb4db39e29e7fa22d3d19283b36e8 +AUX php-7.1.25-intl-detect-icu-via-pkg-config.patch 4608 BLAKE2B 3639c5a39bae61d3032c18a85982769c2d8a5837a67cc8b3ec7cd25263d15f4923a04c74f21b10cd5cc17c0cd9d657431dc3052cddaa289a6eb1dac0cf975350 SHA512 567fb3486af02e487cdde11e2a6f706b2fc19722e5e9f4b63320bb2226e30ff79b14780f3f661378bf5bea2150b47af93fb5b39003465895fdf420691d4dbc44 +AUX php-7.1.25-intl-use-icu-namespace.patch 11396 BLAKE2B 7664703a7bafb38d252f5eeec926ee0b7eaf4d75e71ef98c2e7d3f612b7d48d38b66764286d67299a38a704500db2e3215dc375d64a8f277b904aff80211fa60 SHA512 c7b61cade203a338a576aff0b4b76a22f0d686d53e91fbf4c5171e0429317460f7404c78a0c076a3000957100af2d17caba6245bf37afc6177fb43c7fafa7679 +AUX php-7.2.13-intl-use-icu-namespace.patch 11499 BLAKE2B 0dca597d5afd0309595499e3ff860e2d83183e570d02f202a1e2966d430606f09b8dc7427c4007e791914c8ee093a2e7cbf7372baa7896ac06d1912f2e707c09 SHA512 1332eb76feda2100685e319ae046512cf12b55a0d2be537c2172ccf035b547d851f84fb7941389882d7e3d674d91441e018c7b8f1e3f0d4cced05c314d5821fe AUX php-fpm_at-simple.service 316 BLAKE2B 0ba10f3e3b004fbf14956e1e4f04f59b8a127e6717fe6b92c09b9f931033a11551c75fbbee9010f6b694c5a8758ca0eec9eed457ae304ba0dea8f2c256c3b8d4 SHA512 7367a3f8d3874f8e0c76f331ba613a0250db02f60ad9f87affaf448dcb5bc34bcecb91d88f415764a12b24b46ae3d1b738a002af9f77a4b707e916e83a0021fd AUX php-fpm_at.service 317 BLAKE2B f13fc38fcc0575a8517ee8d07b120efda37eabd2355061d0fdc303604c6b02ad42d7301180d86c977d5e585f5dd685343c592e37a6e0f44933707be79e0b77e0 SHA512 27982f9e2d958bfa75c89c7d3531e48d17fc388b1cdcbc8e09051b236b1184ee2baabdfcc567c19d9fcd067d4b3b86f171015616d8da42fccdabd89432d865e8 AUX php-freetype-2.9.1.patch 7667 BLAKE2B efc8f829bbad11b3e7b654d0882213ecb9aae766060d51f93446a6293a2f607339faba484c7b0b2f9318a5c5442da3c09e25aeda20dbc5e3258bf1009f8625b4 SHA512 0a06189f6fb3513cd2dcf9ddb590360475e2dd9a7aa8b13ab66c389c1ed40ce2361681f017cd3c6219f5b40a0a9d4978e57ca3ee4bacb7657db3285136fd2875 +DIST php-5.6-openssl-1.1-compatibility.patch 42559 BLAKE2B b7f13866cd8545543143932930f31bcd928fa0b4b36ef63f04798b9ef4699f12b4f4227772ac9e6e5c498aaeacf7b106abcfa48031a12214e123de4b79d3a4cd SHA512 eed695a3dd7ce27e8651b4a4b96ccd0514f256e7d2f0214fac899e9eeea6412aa24f863f1b5d13305bcac50667ccb62709597fb34da1002b005ebf411dd2f5df DIST php-5.6.38.tar.xz 12467408 BLAKE2B d9ee47e193d80bce8a9ed6ffd3eb13e67ba6d1f597ece2803cd92fddc6245f46cdfe644d6cda12a6bb409b92c1fe748610cc5eb43dea0bf063fda81188ee8b3d SHA512 66c51a8e954b1496c0bad0a2864a2a1537dd1c1c573b553991d6d5bce85fc7bc340e56a21109bc5e9a03799e703204b980b569c95a5c0a1bddb01c8947e7a682 +DIST php-5.6.39.tar.xz 12467096 BLAKE2B 354b147c0fcc13eeec0ab333bcaa32ad26e2f4eef19a0ee52cf596ff96997eaf32cbb6d980cacf643167ed01b06ee9d27eeb7c00c95c8023d305c967c1ce3539 SHA512 814ea2d74df9c3c7041769803ceb4ba20dbfc18885ff85f91dca0c3ab694e3ebfb6a564427d116b35382fe292583a54d449f2528495032ca9724cfbdea82c226 DIST php-7.0.32.tar.xz 12030780 BLAKE2B 0c277eac4c931a6e30954cceb7feef8dea1c3ef4aebac91779b7e1a6f90f608faa93d1750a2dc8f354c73304e0f7a9b9ac17bb0d1da4768ddb68925752c11aef SHA512 4a7c9a6b91ad7da69303916202062d639e6f02dcd483e851a44d8c7a2efeb5c9a666097935ab60d700c4445f86a0c68df1515300c57af1cdb76528b54b757608 +DIST php-7.0.33.tar.xz 12033040 BLAKE2B cb7a4eb3ba8ede93ae8e85b6a11664f33654f7e94fa077ac9a33ab95157c0c2b3b05f98413e13e36f710c6d00b35d49d38bf26092a36e508b88805d092764287 SHA512 9298e185702ea801e9243671ecb0b781c2b04181a2f9fd6490bc14897a333a2c0cc88fe27b0c69c6dd0079629a71c330ed1aa337f48cac6cbd624addb8855500 DIST php-7.1.22.tar.xz 12227848 BLAKE2B 72fab94b1c7ecfd3479f6d6c9a76a9d8813f7789402664201615d79ab8b5bb26fb1b7273769c4898a36f0336e0ce4d50bf2f17b81ddb54acc9583e39623e3a5b SHA512 0fc0907d303711dbc4ba0a18618e3e73550c73d13988c769f8d50066017b1efe3feb0d22d5539f69271ea4e9532a3d997e22841cb59bdbf96313169e1c03538d DIST php-7.1.23.tar.xz 12227528 BLAKE2B d03470b07ae041c4677e100c1b4f7994d3e15d4830eccba3c654c1f3546345c8205cac057011d2d43ab962ebbc01652f6748270daa40aa1e540453923500288c SHA512 d5a451f1a48415175e3117ffa84ef3504275a407698b59c13eeb403958aa27342e04dc4ffea9791b923ac0cc5d6fdacf2e8672f0e19755bae858707c7fc3627f DIST php-7.1.24.tar.xz 12205112 BLAKE2B d4dd8bdd980cbb2c8cd813cad44da7a322d75641bb5f4eb986f6be44acf61898e64e43a3206da08b6c68fb1213a95cf5c6bf28bc75356d9abd9711330fa04554 SHA512 ee54d04fa1bb049807e7876baf6a4d12ab8360367bb44ac77c71e53ee8ca078342b4a86f2bc4587838ead27fb8204fea8e739bd582a9e146513ae5d465e59202 +DIST php-7.1.25.tar.xz 12205972 BLAKE2B 3d69cc87d75ee45dc85e5e672ddb6c312fcba12882e227d28e397e1e796e0149588b9519beeb990111315a747a07fa5349ad5f9662c0725b4551478f9e95b51d SHA512 10a75b96d5fa104bc1d5b63f4606d9cfacfc594f7d6ab34f9c5e9e8f209b896516c4121b9cbd323a862724d6dfbd275ef902993cfab619d9a4b9518790b9147c DIST php-7.2.10.tar.xz 12160864 BLAKE2B f1959a00622c1bd11fa87c61d152c802b307f0b9e89b51ed86b40086cda03eeb6652d47b59df8cc7c9b4e79ab687ae1292b978f453e9f07ac352d209b64c62d8 SHA512 aa90fce17034b2649012d66461626ae74c21ea938b1c71c7eb12419e562c641b432df87a7e900c245ad28df39624cf64a1b2f8ffb123608d94cd35e41f09c0fe DIST php-7.2.11.tar.xz 12132268 BLAKE2B 8007f6a8f4236efb796681d25f2066deeba98e6e136def0c323aa13399951d58d7f218b3544b3bd0418dfe220f87a38b6515547c50f65c641bd09a2d440eb4e1 SHA512 0cd8578147d17d612e013dfc22b73977719177058b39c7b61dd0bfdfb8c2441aba78af49f58c824f7e66c89b5ad201c36fafb89ccf1e2d20f19b79d6a8fed7e5 DIST php-7.2.12.tar.xz 12141472 BLAKE2B 25d55fcbe63aab64c658e9c4ab52b552831d5c03a8887e1c64f0cadbb8b0d9f3c38cd5d15dac89002c328b737ad864fce392baa0891292ee77d1975562a2bc17 SHA512 bbeaed1278d0d2f1ecb2249dab1ebaab1489ef43be0797dac57d8b523d8e5d284166e6cbf52095f5d34eef447fbdeb0c6916caaa5770221a180ec064f4ffcad8 -DIST php-7.3.0RC2.tar.xz 11924624 BLAKE2B caa2c3752e7fcf2226b8351e96277a5af071cbe13f820f4c81cd54b2e98206b403327a97a7360e6a8e1c7e11687af0ddc24b9a08ef3ac3f18cbe488469c17c35 SHA512 6fca734a4dfbd8ef85838439bc965f6d6773ba270207222b710ab75a0254f6c68378763274ba5d6cfe60b6ea14c134a64cb3ef607cc2ef86c7010bac1e282498 -DIST php-7.3.0RC3.tar.xz 11927028 BLAKE2B b88b2abeac532a5c0de6ee92982514e78ef6ef8ef2436c0edb541b83da9bafa925177d76d54bcdd866f7863442691e6aa721356c123d07c3464f18e85abbdf6a SHA512 ef441fc7608ee5ef5062b252292656d42644307b5623ebd87104ca10191080ba83d44e5984e8eef987d8bec0f0ab8139b7c2d16577fe6dcc5f02e71ba87f5ed8 -DIST php-7.3.0RC5.tar.xz 11916200 BLAKE2B e449bffbd752b9b461878b35ecdc41453c28c103c9c2167d1e50cb923a4172b51efe36d81831897dc00de0c00a9ed38f1ed9d4471f09c82c63b57a307da31189 SHA512 d9628e97494e067b330aa7e75f70c09996c1346aa6c3ab336117853ef15c3f31cf3dda098e00f0aace1fcc51e1c7450fb11f63ae4ece5f8073aa556433ac6c0a +DIST php-7.2.13.tar.xz 12116484 BLAKE2B 00d265c10343e590772a4de103ae885149a56a7c0ef957cb24d5e81f86021231da5e75b655081e9fcba99b83956d55265b6af1d779ee65cebee9a974f936a634 SHA512 9df1d43e9cd701db10281811b328721b85cb90c6c8dae1842b0fd848cb5388328918b3040bbad7634b340550d82b93746ea479ed45f4d8a80e8a316e6324115d +DIST php-7.3.0.tar.xz 11928820 BLAKE2B 36fee652cbbc28bbeb1b2df037b4b05084910d94af86c16150d776b82f91fb85691f9846c51538dbf6f3e64ece26894fe9c7a5f272d2848d41cdf8e1338b9805 SHA512 d991101eb833d3a47833aa930341e75c56f26c4cb0249896728ebe209c6c02af1704fccc3052128d8f9fdffc60dcef0ece38a532697131141946898d8b1abcda +EBUILD php-5.6.38-r1.ebuild 23051 BLAKE2B 2f4bb600718476e7c1f587618c26d60949dab9037f5688688cb4a47cdf1621cde4e7e4065d878b229436feee24e1520e399cd4e532966d4a0e36ddd5b9f606f0 SHA512 fa50618759e8280ca7d81fb92a73f5987b3c52dde2d8cadda2576767ac1eb9423b3f047e5f4eca62c41762d3f65977a22ce22ce56266942975ab07dc79ab30e2 EBUILD php-5.6.38.ebuild 22798 BLAKE2B 8bef3ae060eeb63fcc492a7c8c8a8b642b84f46ef7ed29e69badeecf26c0f853e974c8f224739875fee1b345987775c05f451908d4731550eab156993a55d23a SHA512 0a97787e0b80643e620815c32b29a56063ddb92c31516ad34f89be9769cc3cf9ba07eb0271d433f330d6493df2b1a63af29bf8b7ede81bdd3fbc2751be5ce561 +EBUILD php-5.6.39.ebuild 23265 BLAKE2B 87584041cb4d7e21ef21f6fc25dc3b03f8bf46037caa7aba79c7f5b29fb6af081e34b9f994f2e4df461398181777ab81fda80621f7672dfe1697660252462cd4 SHA512 6b9e20c877b5d7d85b60737dd24f798194fc7b6a2470e6356270645dc39ffa2fd083a63740b3957ed7f5f3d8e94290d35dd96ee98ca8e264fb620ce61397ade5 EBUILD php-7.0.32.ebuild 22008 BLAKE2B 26829e446d9608f52212a32e0092d83d65966a270a8e4d35f8ac4559f0679a4ff955848eb9c9ae3f7d25300d347a226adc1b71d1b322d09fe512188360f2182f SHA512 a9fdfe7a831fa4ad71ddd4bae29582053ee86a824dc93f02581a3add372561f34d457f2c9198c72c619b10666b679d3f929f6aaf309c2d446a60e9447e8d3cc2 +EBUILD php-7.0.33.ebuild 22169 BLAKE2B c42c62525fdb4e5e0de2cd232c2e6c04fa0c561f0095db4f3d05822cbbde8bc8938369870cea1dd3e7c9a0ea87899e2323a185195fe177441eb94a66ea2095c0 SHA512 c909409059798a4cbb2284a71affc0df5c47db6bebafc291323eeb865b118712a4b344b4f556be95d3035333481ed147804e908b1d8e5c68b38bb178ef0651b8 EBUILD php-7.1.22.ebuild 21715 BLAKE2B 13f34b9730b2f0f22cfcbf26af6575259d08d61f158b0c9bd9b6e7756326037e32e92992ec510bc1649eca0beb2044f820888c7e9b1fa48174974e754947f181 SHA512 187fd61cf4df1cda5c53e14aea0ac327c5e9fab193843165de2afe7e13fdb5b8be1ebab70fcb776dcb8ebe1966feedcc075e589c4ddf1f9f6d3d58f45519a9d4 EBUILD php-7.1.23.ebuild 21933 BLAKE2B 4080e9f9bea273c051f26db5ccd8781f5b448cc800999f71e527f7e0a243f84dd5fc420aa9b6ae86d293588e8de13644c14a48212cc77a3197801c4bb118cb19 SHA512 dcc63f2e7373a9b57a2d3bb010a125d3ce74b7bcb030490b4051853cac78964ac59bd7d1309c5c8f1d11cf2b52615c075c846575528eb6968422736b08add279 EBUILD php-7.1.24.ebuild 21933 BLAKE2B 4080e9f9bea273c051f26db5ccd8781f5b448cc800999f71e527f7e0a243f84dd5fc420aa9b6ae86d293588e8de13644c14a48212cc77a3197801c4bb118cb19 SHA512 dcc63f2e7373a9b57a2d3bb010a125d3ce74b7bcb030490b4051853cac78964ac59bd7d1309c5c8f1d11cf2b52615c075c846575528eb6968422736b08add279 +EBUILD php-7.1.25.ebuild 22041 BLAKE2B 29e1e02ede599d151b8ca60fda7ab63cfb84d3a75b14380e680fa886e3f068a61c48b48e89db6b3d45dba4e3a88919175375de584ded8edac6d80d4c48b12df6 SHA512 e39340ed01c7fe6e14ebb8c8b9afe624fe6b2292280457302f53cf9b20308729fcb06cf1a2ec5de69b8e7c4cd12d9c46ca250590df034fa7e16eb7be90b968b7 EBUILD php-7.2.10.ebuild 22246 BLAKE2B e06f62b7f5563d48d9e381b6ab44cc72e9e63831e209ee638321e93b90a1f42abb9a41b757629b45cfa610f7e985f40fbd002c5121acf86d862f8d648ee16f44 SHA512 c662c27b70663131899ffe595476bff326a337d584855e27f62480bf8824e3a3f49caee7c80b4f3aa19ccc40d1f95f3a9c4518621cbd43abd751981ba334e190 EBUILD php-7.2.11.ebuild 22464 BLAKE2B 43c52b71820962862ce7e208e45bea5180014075894125075fbfd0f217412f3cbe5b6bf6642e76ad9145d2cb26a1ae94b6880186c86a196eac851d97f10fe000 SHA512 44b1f8a4eb74480d878fc8e8f9a1eb1ed8cdc35c9f4091cce2b6668d0b9afa86538e7dab5271ef9e6ea07d71e0e3cf4d9325297c3abfe2a63a754134166c02f1 EBUILD php-7.2.12.ebuild 22464 BLAKE2B 43c52b71820962862ce7e208e45bea5180014075894125075fbfd0f217412f3cbe5b6bf6642e76ad9145d2cb26a1ae94b6880186c86a196eac851d97f10fe000 SHA512 44b1f8a4eb74480d878fc8e8f9a1eb1ed8cdc35c9f4091cce2b6668d0b9afa86538e7dab5271ef9e6ea07d71e0e3cf4d9325297c3abfe2a63a754134166c02f1 -EBUILD php-7.3.0_rc2.ebuild 22329 BLAKE2B 7841e7d459849f06a47128e2c0a8f1997b3d1b6be02081d3dafa624f7ea319da13974cd904ce772260c8e001ae5c594508cf5be9f0426d8fd5da9ff6107111ca SHA512 f81a2d251ded29e6f91f72c736c27f44e8f8f6ef9cdfe57d7b8fefc0c3c27869a83972355d03532db95ba0c9c0b3322870174b7c8c0e57a1f9ea8ec4c40ca4c7 -EBUILD php-7.3.0_rc3.ebuild 22535 BLAKE2B add28e6c6a24b502a36417c3afb5b71995f510ecff7ec65380d9413aede5a2f182e7caaf31a4a0e1cb8299a3059f1a5aa70a16ab3f4135a85028bc3793445b8e SHA512 2ba2c9420d73355e3cdedbf46de520933b7cace0f73396f2b999ae2eaa6d64e1d3816b1a3054669f04d03e69453bd80673d9b0ad66c1b920f6bf59faa5daa8f7 -EBUILD php-7.3.0_rc5.ebuild 22535 BLAKE2B add28e6c6a24b502a36417c3afb5b71995f510ecff7ec65380d9413aede5a2f182e7caaf31a4a0e1cb8299a3059f1a5aa70a16ab3f4135a85028bc3793445b8e SHA512 2ba2c9420d73355e3cdedbf46de520933b7cace0f73396f2b999ae2eaa6d64e1d3816b1a3054669f04d03e69453bd80673d9b0ad66c1b920f6bf59faa5daa8f7 +EBUILD php-7.2.13.ebuild 22565 BLAKE2B 3744aa6f80c3de1db2ecd9bf1358d3afdca6fde51a840fdc290ca90ab35859f7c15d3881b6726722486bb22e0d767405f7cbd0cfdb05888496c79f5209b4709f SHA512 614cb46ded4c189475352dce004f2ef20636470c9d289c9482144417defc184a3f6a63407ddda20cef723730fac266c33c204856d9a1796b41cfdd514f9e9ed7 +EBUILD php-7.3.0.ebuild 22531 BLAKE2B 06ff025e987ed3d150fd3309ac3837a9a2f69b50f13ff42977aa7d5977916fddc700f9c95cdba608980d3e95164b0c50b03fbd4939f9faadc77f1b86e6dac046 SHA512 7772c5ea41b650e2e1acb46c79a4a6400bbc760a18b8439b62361b4e49c9d91b9bfaa40dd05b8409bf77f473495987c58ec8c0d5c8d81e9c0386ab358629ca13 MISC metadata.xml 3268 BLAKE2B fcd85522c4dbea03403eee66cd3be945f4f998d5eb483ac9c47bd2be2f5f2f4be8586ecc58d50ced7798fdd63ef2136e56d559fa06e870d242239127a97b7b76 SHA512 c44c7fdf1592ba4c0b2cf6f29a97a4a214d2193cb164dcc90454e4a762860a5f3fa67908217543fe72811d403c2ef3b15d2f80f2657f09c1e078d31ef35c12f4 diff --git a/dev-lang/php/files/php-5.6-intl-detect-icu-via-pkg-config.patch b/dev-lang/php/files/php-5.6-intl-detect-icu-via-pkg-config.patch new file mode 100644 index 000000000000..dea2949c25ed --- /dev/null +++ b/dev-lang/php/files/php-5.6-intl-detect-icu-via-pkg-config.patch @@ -0,0 +1,154 @@ +Based on the following upstream commits: + +https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52 +https://github.com/php/php-src/pull/3701 +https://github.com/php/php-src/commit/2bd299f7318492fd7e5cafffa562d76ba60e69d4 + +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -2201,49 +2201,16 @@ dnl + dnl Common setup macro for ICU + dnl + AC_DEFUN([PHP_SETUP_ICU],[ +- PHP_ARG_WITH(icu-dir,, +- [ --with-icu-dir=DIR Specify where ICU libraries and headers can be found], DEFAULT, no) ++ PKG_CHECK_MODULES([ICU], [icu-io >= 50.1]) + +- if test "$PHP_ICU_DIR" = "no"; then +- PHP_ICU_DIR=DEFAULT +- fi +- +- if test "$PHP_ICU_DIR" = "DEFAULT"; then +- dnl Try to find icu-config +- AC_PATH_PROG(ICU_CONFIG, icu-config, no, [$PATH:/usr/local/bin]) +- else +- ICU_CONFIG="$PHP_ICU_DIR/bin/icu-config" +- fi +- +- AC_MSG_CHECKING([for location of ICU headers and libraries]) +- +- dnl Trust icu-config to know better what the install prefix is.. +- icu_install_prefix=`$ICU_CONFIG --prefix 2> /dev/null` +- if test "$?" != "0" || test -z "$icu_install_prefix"; then +- AC_MSG_RESULT([not found]) +- AC_MSG_ERROR([Unable to detect ICU prefix or $ICU_CONFIG failed. Please verify ICU install prefix and make sure icu-config works.]) +- else +- AC_MSG_RESULT([$icu_install_prefix]) +- +- dnl Check ICU version +- AC_MSG_CHECKING([for ICU 4.0 or greater]) +- icu_version_full=`$ICU_CONFIG --version` +- ac_IFS=$IFS +- IFS="." +- set $icu_version_full +- IFS=$ac_IFS +- icu_version=`expr [$]1 \* 1000 + [$]2` +- AC_MSG_RESULT([found $icu_version_full]) ++ PHP_EVAL_INCLINE($ICU_CFLAGS) ++ PHP_EVAL_LIBLINE($ICU_LIBS, $1) + +- if test "$icu_version" -lt "4000"; then +- AC_MSG_ERROR([ICU version 4.0 or later is required]) +- fi ++ ICU_CFLAGS="$ICU_CFLAGS -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1" ++ ICU_CXXFLAGS="$ICU_CXXFLAGS -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit" + +- ICU_VERSION=$icu_version +- ICU_INCS=`$ICU_CONFIG --cppflags-searchpath` +- ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio` +- PHP_EVAL_INCLINE($ICU_INCS) +- PHP_EVAL_LIBLINE($ICU_LIBS, $1) ++ if test "$PKG_CONFIG icu-io --atleast-version=60"; then ++ ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1" + fi + ]) + +--- a/ext/intl/config.m4 ++++ b/ext/intl/config.m4 +@@ -9,18 +9,10 @@ if test "$PHP_INTL" != "no"; then + PHP_SETUP_ICU(INTL_SHARED_LIBADD) + PHP_SUBST(INTL_SHARED_LIBADD) + PHP_REQUIRE_CXX() +- if test "$icu_version" -ge "4002"; then +- icu_spoof_src=" spoofchecker/spoofchecker_class.c \ +- spoofchecker/spoofchecker.c\ +- spoofchecker/spoofchecker_create.c\ +- spoofchecker/spoofchecker_main.c" +- else +- icu_spoof_src="" +- fi ++ INTL_COMMON_FLAGS="$ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" + PHP_NEW_EXTENSION(intl, php_intl.c \ + intl_error.c \ + intl_convert.c \ +- intl_convertcpp.cpp \ + collator/collator.c \ + collator/collator_class.c \ + collator/collator_sort.c \ +@@ -32,8 +24,6 @@ if test "$PHP_INTL" != "no"; then + collator/collator_is_numeric.c \ + collator/collator_error.c \ + common/common_error.c \ +- common/common_enum.cpp \ +- common/common_date.cpp \ + converter/converter.c \ + formatter/formatter.c \ + formatter/formatter_main.c \ +@@ -53,17 +43,12 @@ if test "$PHP_INTL" != "no"; then + dateformat/dateformat_attr.c \ + dateformat/dateformat_data.c \ + dateformat/dateformat_format.c \ +- dateformat/dateformat_format_object.cpp \ + dateformat/dateformat_parse.c \ +- dateformat/dateformat_create.cpp \ +- dateformat/dateformat_attrcpp.cpp \ +- dateformat/dateformat_helpers.cpp \ + msgformat/msgformat.c \ + msgformat/msgformat_attr.c \ + msgformat/msgformat_class.c \ + msgformat/msgformat_data.c \ + msgformat/msgformat_format.c \ +- msgformat/msgformat_helpers.cpp \ + msgformat/msgformat_parse.c \ + grapheme/grapheme_string.c \ + grapheme/grapheme_util.c \ +@@ -73,6 +58,20 @@ if test "$PHP_INTL" != "no"; then + transliterator/transliterator.c \ + transliterator/transliterator_class.c \ + transliterator/transliterator_methods.c \ ++ idn/idn.c \ ++ spoofchecker/spoofchecker_class.c \ ++ spoofchecker/spoofchecker.c\ ++ spoofchecker/spoofchecker_create.c\ ++ spoofchecker/spoofchecker_main.c, $ext_shared,,$INTL_COMMON_FLAGS,cxx) ++ ++ PHP_INTL_CPP_SOURCES="intl_convertcpp.cpp \ ++ common/common_enum.cpp \ ++ common/common_date.cpp \ ++ dateformat/dateformat_format_object.cpp \ ++ dateformat/dateformat_create.cpp \ ++ dateformat/dateformat_attrcpp.cpp \ ++ dateformat/dateformat_helpers.cpp \ ++ msgformat/msgformat_helpers.cpp \ + timezone/timezone_class.cpp \ + timezone/timezone_methods.cpp \ + calendar/calendar_class.cpp \ +@@ -83,9 +82,15 @@ if test "$PHP_INTL" != "no"; then + breakiterator/breakiterator_methods.cpp \ + breakiterator/rulebasedbreakiterator_methods.cpp \ + breakiterator/codepointiterator_internal.cpp \ +- breakiterator/codepointiterator_methods.cpp \ +- idn/idn.c \ +- $icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings) ++ breakiterator/codepointiterator_methods.cpp" ++ ++ PHP_INTL_CPP_FLAGS="$ICU_CXXFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" ++ if test "$ext_shared" = "no"; then ++ PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS) ++ else ++ PHP_ADD_SOURCES_X(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS, shared_objects_intl, yes) ++ fi ++ + PHP_ADD_BUILD_DIR($ext_builddir/collator) + PHP_ADD_BUILD_DIR($ext_builddir/converter) + PHP_ADD_BUILD_DIR($ext_builddir/common) diff --git a/dev-lang/php/files/php-5.6-intl-icu-memory-corruption.patch b/dev-lang/php/files/php-5.6-intl-icu-memory-corruption.patch new file mode 100644 index 000000000000..1b18f7fc5c44 --- /dev/null +++ b/dev-lang/php/files/php-5.6-intl-icu-memory-corruption.patch @@ -0,0 +1,88 @@ +Based on the following upstream commits: + +https://github.com/php/php-src/commit/45a05f38410d4a67c8c83c09906e2cfb42fc6e4c +https://github.com/php/php-src/commit/534684d1042978f3c21caf9b665a7aca27f3f325 + +--- a/ext/intl/msgformat/msgformat_helpers.cpp ++++ b/ext/intl/msgformat/msgformat_helpers.cpp +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + #include + +@@ -45,6 +46,7 @@ extern "C" { + + #if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 48 + #define HAS_MESSAGE_PATTERN 1 ++#define HAS_MISALLOCATE_MEMORY_BUG 1 + #endif + + U_NAMESPACE_BEGIN +@@ -345,6 +347,26 @@ static void umsg_set_timezone(MessageFormatter_object *mfo, + return; /* already done */ + } + ++#ifdef HAS_MISALLOCATE_MEMORY_BUG ++ /* There is a bug in ICU which prevents MessageFormatter::getFormats() ++ to handle more than 10 formats correctly. The enumerator could be ++ used to walk through the present formatters using getFormat(), which ++ however seems to provide just a readonly access. This workaround ++ prevents crash when there are > 10 formats but doesn't set any error. ++ As a result, only DateFormatters with > 10 subformats are affected. ++ This workaround should be ifdef'd out, when the bug has been fixed ++ in ICU. */ ++ icu::StringEnumeration* fnames = mf->getFormatNames(err.code); ++ if (!fnames || U_FAILURE(err.code)) { ++ return; ++ } ++ count = fnames->count(err.code); ++ delete fnames; ++ if (count > 10) { ++ return; ++ } ++#endif ++ + formats = mf->getFormats(count); + + if (formats == NULL) { +--- /dev/null ++++ b/ext/intl/tests/bug74484_MessageFormatter.phpt +@@ -0,0 +1,35 @@ ++--TEST-- ++Bug #74484 MessageFormatter::formatMessage memory corruption with 11+ named placeholder ++--SKIPIF-- ++ ++--FILE-- ++ 1, ++ 'b' => 2, ++ 'c' => 3, ++ 'd' => 4, ++ 'e' => 5, ++ 'f' => 6, ++ 'g' => 7, ++ 'h' => 8, ++ 'i' => 9, ++ 'j' => 10, ++ 'k' => 11, ++ 'l' => 12 ++); ++ ++var_dump(MessageFormatter::formatMessage('en_US', $text, $vars)); ++ ++?> ++==DONE== ++--EXPECT-- ++string(26) "1 2 3 4 5 6 7 8 9 10 11 12" ++==DONE== diff --git a/dev-lang/php/files/php-5.6-intl-use-icu-namespace.patch b/dev-lang/php/files/php-5.6-intl-use-icu-namespace.patch new file mode 100644 index 000000000000..715adb303d6b --- /dev/null +++ b/dev-lang/php/files/php-5.6-intl-use-icu-namespace.patch @@ -0,0 +1,365 @@ +Based on the following upstream commits: + +https://github.com/php/php-src/commit/8d35a423838eb462cd39ee535c5d003073cc5f22 +https://github.com/php/php-src/commit/d8200e48857aeaf09f7127751efc5632ef7660a7 +https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52 + +--- a/ext/intl/breakiterator/breakiterator_class.cpp ++++ b/ext/intl/breakiterator/breakiterator_class.cpp +@@ -38,6 +38,7 @@ extern "C" { + } + + using PHP::CodePointBreakIterator; ++using icu::RuleBasedBreakIterator; + + /* {{{ Global variables */ + zend_class_entry *BreakIterator_ce_ptr; +--- a/ext/intl/breakiterator/breakiterator_class.h ++++ b/ext/intl/breakiterator/breakiterator_class.h +@@ -26,6 +26,8 @@ + + #ifndef USE_BREAKITERATOR_POINTER + typedef void BreakIterator; ++#else ++using icu::BreakIterator; + #endif + + typedef struct { +--- a/ext/intl/breakiterator/breakiterator_methods.cpp ++++ b/ext/intl/breakiterator/breakiterator_methods.cpp +@@ -32,6 +32,8 @@ extern "C" { + } + + using PHP::CodePointBreakIterator; ++using icu::BreakIterator; ++using icu::Locale; + + U_CFUNC PHP_METHOD(BreakIterator, __construct) + { +--- a/ext/intl/breakiterator/codepointiterator_internal.cpp ++++ b/ext/intl/breakiterator/codepointiterator_internal.cpp +@@ -31,6 +31,8 @@ typedef union { + + using namespace PHP; + ++using icu::UCharCharacterIterator; ++ + UOBJECT_DEFINE_RTTI_IMPLEMENTATION(CodePointBreakIterator); + + CodePointBreakIterator::CodePointBreakIterator() +--- a/ext/intl/breakiterator/codepointiterator_internal.h ++++ b/ext/intl/breakiterator/codepointiterator_internal.h +@@ -18,8 +18,11 @@ + #define CODEPOINTITERATOR_INTERNAL_H + + #include ++#include + +-using U_ICU_NAMESPACE::BreakIterator; ++using icu::BreakIterator; ++using icu::CharacterIterator; ++using icu::UnicodeString; + + namespace PHP { + +--- a/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp ++++ b/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp +@@ -25,6 +25,9 @@ extern "C" { + + #include "../intl_convertcpp.h" + ++using icu::RuleBasedBreakIterator; ++using icu::Locale; ++ + static inline RuleBasedBreakIterator *fetch_rbbi(BreakIterator_object *bio) { + return (RuleBasedBreakIterator*)bio->biter; + } +--- a/ext/intl/calendar/calendar_class.cpp ++++ b/ext/intl/calendar/calendar_class.cpp +@@ -34,6 +34,9 @@ extern "C" { + #include + } + ++using icu::GregorianCalendar; ++using icu::Locale; ++ + /* {{{ Global variables */ + zend_class_entry *Calendar_ce_ptr; + zend_class_entry *GregorianCalendar_ce_ptr; +--- a/ext/intl/calendar/calendar_class.h ++++ b/ext/intl/calendar/calendar_class.h +@@ -26,6 +26,8 @@ + + #ifndef USE_CALENDAR_POINTER + typedef void Calendar; ++#else ++using icu::Calendar; + #endif + + typedef struct { +--- a/ext/intl/calendar/calendar_methods.cpp ++++ b/ext/intl/calendar/calendar_methods.cpp +@@ -40,6 +40,8 @@ extern "C" { + } + #include "../common/common_enum.h" + ++using icu::Locale; ++ + U_CFUNC PHP_METHOD(IntlCalendar, __construct) + { + zend_throw_exception( NULL, +--- a/ext/intl/calendar/gregoriancalendar_methods.cpp ++++ b/ext/intl/calendar/gregoriancalendar_methods.cpp +@@ -23,6 +23,8 @@ + #include + #include + #include ++#include ++ + extern "C" { + #include "../php_intl.h" + #define USE_TIMEZONE_POINTER 1 +@@ -32,6 +34,11 @@ extern "C" { + #include + } + ++using icu::GregorianCalendar; ++using icu::Locale; ++using icu::UnicodeString; ++using icu::StringPiece; ++ + static inline GregorianCalendar *fetch_greg(Calendar_object *co) { + return (GregorianCalendar*)co->ucal; + } +--- a/ext/intl/common/common_date.cpp ++++ b/ext/intl/common/common_date.cpp +@@ -25,6 +25,9 @@ extern "C" { + #include + } + ++using icu::TimeZone; ++using icu::UnicodeString; ++ + #ifndef INFINITY + #define INFINITY (DBL_MAX+DBL_MAX) + #endif +--- a/ext/intl/common/common_date.h ++++ b/ext/intl/common/common_date.h +@@ -28,6 +28,8 @@ U_CDECL_END + + #include + ++using icu::TimeZone; ++ + U_CFUNC TimeZone *timezone_convert_datetimezone(int type, void *object, int is_datetime, intl_error *outside_error, const char *func TSRMLS_DC); + U_CFUNC int intl_datetime_decompose(zval *z, double *millis, TimeZone **tz, + intl_error *err, const char *func TSRMLS_DC); +--- a/ext/intl/common/common_enum.h ++++ b/ext/intl/common/common_enum.h +@@ -69,6 +69,7 @@ U_CFUNC void zoi_with_current_get_current_data(zend_object_iterator *iter, zval + U_CFUNC void zoi_with_current_invalidate_current(zend_object_iterator *iter TSRMLS_DC); + + #ifdef __cplusplus ++using icu::StringEnumeration; + U_CFUNC void IntlIterator_from_StringEnumeration(StringEnumeration *se, zval *object TSRMLS_DC); + #endif + +--- a/ext/intl/converter/converter.c ++++ b/ext/intl/converter/converter.c +@@ -18,6 +18,8 @@ + #include "zend_exceptions.h" + + #include ++#include ++#include + #include + #include + +--- a/ext/intl/dateformat/dateformat_format_object.cpp ++++ b/ext/intl/dateformat/dateformat_format_object.cpp +@@ -33,6 +33,12 @@ extern "C" { + #include "../common/common_date.h" + } + ++using icu::Locale; ++using icu::DateFormat; ++using icu::GregorianCalendar; ++using icu::StringPiece; ++using icu::SimpleDateFormat; ++ + static const DateFormat::EStyle valid_styles[] = { + DateFormat::kNone, + DateFormat::kFull, +--- a/ext/intl/dateformat/dateformat_helpers.cpp ++++ b/ext/intl/dateformat/dateformat_helpers.cpp +@@ -28,6 +28,8 @@ extern "C" { + #include "../calendar/calendar_class.h" + } + ++using icu::GregorianCalendar; ++ + int datefmt_process_calendar_arg(zval* calendar_zv, + Locale const& locale, + const char *func_name, +--- a/ext/intl/dateformat/dateformat_helpers.h ++++ b/ext/intl/dateformat/dateformat_helpers.h +@@ -22,11 +22,16 @@ + #endif + + #include ++#include + + extern "C" { + #include "../php_intl.h" + } + ++using icu::Locale; ++using icu::Calendar; ++using icu::DateFormat; ++ + int datefmt_process_calendar_arg(zval* calendar_zv, + Locale const& locale, + const char *func_name, +--- a/ext/intl/grapheme/grapheme_string.c ++++ b/ext/intl/grapheme/grapheme_string.c +@@ -24,6 +24,7 @@ + #include "grapheme_util.h" + + #include ++#include + #include + #include + #include +@@ -860,10 +861,10 @@ PHP_FUNCTION(grapheme_extract) + pstr = str + start; + + /* just in case pstr points in the middle of a character, move forward to the start of the next char */ +- if ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { ++ if ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { + unsigned char *str_end = str + str_len; + +- while ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { ++ while ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { + pstr++; + if ( pstr >= str_end ) { + intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, +--- a/ext/intl/intl_convertcpp.h ++++ b/ext/intl/intl_convertcpp.h +@@ -25,6 +25,8 @@ + + #include + ++using icu::UnicodeString; ++ + int intl_stringFromChar(UnicodeString &ret, char *str, int32_t str_len, UErrorCode *status); + + int intl_charFromString(const UnicodeString &from, char **res, int *res_len, UErrorCode *status); +--- a/ext/intl/msgformat/msgformat_helpers.cpp ++++ b/ext/intl/msgformat/msgformat_helpers.cpp +@@ -76,6 +76,16 @@ MessageFormatAdapter::getMessagePattern(MessageFormat* m) { + #endif + U_NAMESPACE_END + ++using icu::Formattable; ++using icu::Format; ++using icu::DateFormat; ++using icu::MessageFormat; ++#ifdef HAS_MESSAGE_PATTERN ++using icu::MessagePattern; ++#endif ++using icu::MessageFormatAdapter; ++using icu::FieldPosition; ++ + U_CFUNC int32_t umsg_format_arg_count(UMessageFormat *fmt) + { + int32_t fmt_count = 0; +@@ -227,15 +237,16 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo, + UnicodeString typeString = mp.getSubstring(type_part); + /* This is all based on the rules in the docs for MessageFormat + * @see http://icu-project.org/apiref/icu4c/classMessageFormat.html */ +- if (typeString == "number") { ++#define ASCII_LITERAL(s) UNICODE_STRING(s, sizeof(s)-1) ++ if (typeString == ASCII_LITERAL("number")) { + MessagePattern::Part style_part = mp.getPart(i + 1); /* Not advancing i */ + if (style_part.getType() == UMSGPAT_PART_TYPE_ARG_STYLE) { + UnicodeString styleString = mp.getSubstring(style_part); +- if (styleString == "integer") { ++ if (styleString == ASCII_LITERAL("integer")) { + type = Formattable::kInt64; +- } else if (styleString == "currency") { ++ } else if (styleString == ASCII_LITERAL("currency")) { + type = Formattable::kDouble; +- } else if (styleString == "percent") { ++ } else if (styleString == ASCII_LITERAL("percent")) { + type = Formattable::kDouble; + } else { /* some style invalid/unknown to us */ + type = Formattable::kDouble; +@@ -243,12 +254,13 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo, + } else { // if missing style, part, make it a double + type = Formattable::kDouble; + } +- } else if ((typeString == "date") || (typeString == "time")) { ++ } else if ((typeString == ASCII_LITERAL("date")) || (typeString == ASCII_LITERAL("time"))) { + type = Formattable::kDate; +- } else if ((typeString == "spellout") || (typeString == "ordinal") +- || (typeString == "duration")) { ++ } else if ((typeString == ASCII_LITERAL("spellout")) || (typeString == ASCII_LITERAL("ordinal")) ++ || (typeString == ASCII_LITERAL("duration"))) { + type = Formattable::kDouble; + } ++#undef ASCII_LITERAL + } else { + /* If there's no UMSGPAT_PART_TYPE_ARG_TYPE right after a + * UMSGPAT_ARG_TYPE_SIMPLE argument, then the pattern +--- a/ext/intl/normalizer/normalizer_normalize.c ++++ b/ext/intl/normalizer/normalizer_normalize.c +@@ -24,6 +24,7 @@ + #include "normalizer_class.h" + #include "normalizer_normalize.h" + #include "intl_convert.h" ++#include + + /* {{{ proto string Normalizer::normalize( string $input [, string $form = FORM_C] ) + * Normalize a string. }}} */ +--- a/ext/intl/timezone/timezone_class.cpp ++++ b/ext/intl/timezone/timezone_class.cpp +@@ -37,6 +37,8 @@ extern "C" { + #include + } + ++using icu::Calendar; ++ + /* {{{ Global variables */ + U_CDECL_BEGIN + zend_class_entry *TimeZone_ce_ptr = NULL; +--- a/ext/intl/timezone/timezone_class.h ++++ b/ext/intl/timezone/timezone_class.h +@@ -29,6 +29,8 @@ + + #ifndef USE_TIMEZONE_POINTER + typedef void TimeZone; ++#else ++using icu::TimeZone; + #endif + + typedef struct { +--- a/ext/intl/timezone/timezone_methods.cpp ++++ b/ext/intl/timezone/timezone_methods.cpp +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include "intl_convertcpp.h" + + #include "../common/common_date.h" +@@ -37,6 +38,9 @@ extern "C" { + } + #include "common/common_enum.h" + ++using icu::Locale; ++using icu::Calendar; ++ + U_CFUNC PHP_METHOD(IntlTimeZone, __construct) + { + zend_throw_exception( NULL, diff --git a/dev-lang/php/files/php-7.0.33-intl-detect-icu-via-pkg-config.patch b/dev-lang/php/files/php-7.0.33-intl-detect-icu-via-pkg-config.patch new file mode 100644 index 000000000000..d23ec91fc83f --- /dev/null +++ b/dev-lang/php/files/php-7.0.33-intl-detect-icu-via-pkg-config.patch @@ -0,0 +1,159 @@ +Based on the following upstream commits: + +https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52 +https://github.com/php/php-src/pull/3701 +https://github.com/php/php-src/commit/2bd299f7318492fd7e5cafffa562d76ba60e69d4 + +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -2205,49 +2205,16 @@ dnl + dnl Common setup macro for ICU + dnl + AC_DEFUN([PHP_SETUP_ICU],[ +- PHP_ARG_WITH(icu-dir,, +- [ --with-icu-dir=DIR Specify where ICU libraries and headers can be found], DEFAULT, no) ++ PKG_CHECK_MODULES([ICU], [icu-io >= 50.1]) + +- if test "$PHP_ICU_DIR" = "no"; then +- PHP_ICU_DIR=DEFAULT +- fi +- +- if test "$PHP_ICU_DIR" = "DEFAULT"; then +- dnl Try to find icu-config +- AC_PATH_PROG(ICU_CONFIG, icu-config, no, [$PATH:/usr/local/bin]) +- else +- ICU_CONFIG="$PHP_ICU_DIR/bin/icu-config" +- fi +- +- AC_MSG_CHECKING([for location of ICU headers and libraries]) +- +- dnl Trust icu-config to know better what the install prefix is.. +- icu_install_prefix=`$ICU_CONFIG --prefix 2> /dev/null` +- if test "$?" != "0" || test -z "$icu_install_prefix"; then +- AC_MSG_RESULT([not found]) +- AC_MSG_ERROR([Unable to detect ICU prefix or $ICU_CONFIG failed. Please verify ICU install prefix and make sure icu-config works.]) +- else +- AC_MSG_RESULT([$icu_install_prefix]) +- +- dnl Check ICU version +- AC_MSG_CHECKING([for ICU 4.0 or greater]) +- icu_version_full=`$ICU_CONFIG --version` +- ac_IFS=$IFS +- IFS="." +- set $icu_version_full +- IFS=$ac_IFS +- icu_version=`expr [$]1 \* 1000 + [$]2` +- AC_MSG_RESULT([found $icu_version_full]) ++ PHP_EVAL_INCLINE($ICU_CFLAGS) ++ PHP_EVAL_LIBLINE($ICU_LIBS, $1) + +- if test "$icu_version" -lt "4000"; then +- AC_MSG_ERROR([ICU version 4.0 or later is required]) +- fi ++ ICU_CFLAGS="$ICU_CFLAGS -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1" ++ ICU_CXXFLAGS="$ICU_CXXFLAGS -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit" + +- ICU_VERSION=$icu_version +- ICU_INCS=`$ICU_CONFIG --cppflags-searchpath` +- ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio` +- PHP_EVAL_INCLINE($ICU_INCS) +- PHP_EVAL_LIBLINE($ICU_LIBS, $1) ++ if test "$PKG_CONFIG icu-io --atleast-version=60"; then ++ ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1" + fi + ]) + +--- a/ext/intl/config.m4 ++++ b/ext/intl/config.m4 +@@ -9,18 +9,10 @@ if test "$PHP_INTL" != "no"; then + PHP_SETUP_ICU(INTL_SHARED_LIBADD) + PHP_SUBST(INTL_SHARED_LIBADD) + PHP_REQUIRE_CXX() +- if test "$icu_version" -ge "4002"; then +- icu_spoof_src=" spoofchecker/spoofchecker_class.c \ +- spoofchecker/spoofchecker.c\ +- spoofchecker/spoofchecker_create.c\ +- spoofchecker/spoofchecker_main.c" +- else +- icu_spoof_src="" +- fi ++ INTL_COMMON_FLAGS="$ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" + PHP_NEW_EXTENSION(intl, php_intl.c \ + intl_error.c \ + intl_convert.c \ +- intl_convertcpp.cpp \ + collator/collator.c \ + collator/collator_class.c \ + collator/collator_sort.c \ +@@ -32,8 +24,6 @@ if test "$PHP_INTL" != "no"; then + collator/collator_is_numeric.c \ + collator/collator_error.c \ + common/common_error.c \ +- common/common_enum.cpp \ +- common/common_date.cpp \ + converter/converter.c \ + formatter/formatter.c \ + formatter/formatter_main.c \ +@@ -53,17 +43,12 @@ if test "$PHP_INTL" != "no"; then + dateformat/dateformat_attr.c \ + dateformat/dateformat_data.c \ + dateformat/dateformat_format.c \ +- dateformat/dateformat_format_object.cpp \ + dateformat/dateformat_parse.c \ +- dateformat/dateformat_create.cpp \ +- dateformat/dateformat_attrcpp.cpp \ +- dateformat/dateformat_helpers.cpp \ + msgformat/msgformat.c \ + msgformat/msgformat_attr.c \ + msgformat/msgformat_class.c \ + msgformat/msgformat_data.c \ + msgformat/msgformat_format.c \ +- msgformat/msgformat_helpers.cpp \ + msgformat/msgformat_parse.c \ + grapheme/grapheme_string.c \ + grapheme/grapheme_util.c \ +@@ -73,6 +58,21 @@ if test "$PHP_INTL" != "no"; then + transliterator/transliterator.c \ + transliterator/transliterator_class.c \ + transliterator/transliterator_methods.c \ ++ uchar/uchar.c \ ++ idn/idn.c \ ++ spoofchecker/spoofchecker_class.c \ ++ spoofchecker/spoofchecker.c\ ++ spoofchecker/spoofchecker_create.c\ ++ spoofchecker/spoofchecker_main.c, $ext_shared,,$INTL_COMMON_FLAGS,cxx) ++ ++ PHP_INTL_CPP_SOURCES="intl_convertcpp.cpp \ ++ common/common_enum.cpp \ ++ common/common_date.cpp \ ++ dateformat/dateformat_format_object.cpp \ ++ dateformat/dateformat_create.cpp \ ++ dateformat/dateformat_attrcpp.cpp \ ++ dateformat/dateformat_helpers.cpp \ ++ msgformat/msgformat_helpers.cpp \ + timezone/timezone_class.cpp \ + timezone/timezone_methods.cpp \ + calendar/calendar_class.cpp \ +@@ -83,10 +83,15 @@ if test "$PHP_INTL" != "no"; then + breakiterator/breakiterator_methods.cpp \ + breakiterator/rulebasedbreakiterator_methods.cpp \ + breakiterator/codepointiterator_internal.cpp \ +- breakiterator/codepointiterator_methods.cpp \ +- uchar/uchar.c \ +- idn/idn.c \ +- $icu_spoof_src, $ext_shared,,$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1,cxx) ++ breakiterator/codepointiterator_methods.cpp" ++ ++ PHP_INTL_CPP_FLAGS="$ICU_CXXFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" ++ if test "$ext_shared" = "no"; then ++ PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS) ++ else ++ PHP_ADD_SOURCES_X(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS, shared_objects_intl, yes) ++ fi ++ + PHP_ADD_BUILD_DIR($ext_builddir/collator) + PHP_ADD_BUILD_DIR($ext_builddir/converter) + PHP_ADD_BUILD_DIR($ext_builddir/common) +-- +2.19.2 + diff --git a/dev-lang/php/files/php-7.0.33-intl-icu-memory-corruption.patch b/dev-lang/php/files/php-7.0.33-intl-icu-memory-corruption.patch new file mode 100644 index 000000000000..e6e7f5917c5b --- /dev/null +++ b/dev-lang/php/files/php-7.0.33-intl-icu-memory-corruption.patch @@ -0,0 +1,91 @@ +Based on the following upstream commits: + +https://github.com/php/php-src/commit/45a05f38410d4a67c8c83c09906e2cfb42fc6e4c +https://github.com/php/php-src/commit/534684d1042978f3c21caf9b665a7aca27f3f325 + +--- a/ext/intl/msgformat/msgformat_helpers.cpp ++++ b/ext/intl/msgformat/msgformat_helpers.cpp +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + #include + +@@ -45,6 +46,7 @@ extern "C" { + + #if U_ICU_VERSION_MAJOR_NUM * 10 + U_ICU_VERSION_MINOR_NUM >= 48 + #define HAS_MESSAGE_PATTERN 1 ++#define HAS_MISALLOCATE_MEMORY_BUG 1 + #endif + + U_NAMESPACE_BEGIN +@@ -345,6 +347,26 @@ static void umsg_set_timezone(MessageFormatter_object *mfo, + return; /* already done */ + } + ++#ifdef HAS_MISALLOCATE_MEMORY_BUG ++ /* There is a bug in ICU which prevents MessageFormatter::getFormats() ++ to handle more than 10 formats correctly. The enumerator could be ++ used to walk through the present formatters using getFormat(), which ++ however seems to provide just a readonly access. This workaround ++ prevents crash when there are > 10 formats but doesn't set any error. ++ As a result, only DateFormatters with > 10 subformats are affected. ++ This workaround should be ifdef'd out, when the bug has been fixed ++ in ICU. */ ++ icu::StringEnumeration* fnames = mf->getFormatNames(err.code); ++ if (!fnames || U_FAILURE(err.code)) { ++ return; ++ } ++ count = fnames->count(err.code); ++ delete fnames; ++ if (count > 10) { ++ return; ++ } ++#endif ++ + formats = mf->getFormats(count); + + if (formats == NULL) { +--- /dev/null ++++ b/ext/intl/tests/bug74484_MessageFormatter.phpt +@@ -0,0 +1,35 @@ ++--TEST-- ++Bug #74484 MessageFormatter::formatMessage memory corruption with 11+ named placeholder ++--SKIPIF-- ++ ++--FILE-- ++ 1, ++ 'b' => 2, ++ 'c' => 3, ++ 'd' => 4, ++ 'e' => 5, ++ 'f' => 6, ++ 'g' => 7, ++ 'h' => 8, ++ 'i' => 9, ++ 'j' => 10, ++ 'k' => 11, ++ 'l' => 12 ++); ++ ++var_dump(MessageFormatter::formatMessage('en_US', $text, $vars)); ++ ++?> ++==DONE== ++--EXPECT-- ++string(26) "1 2 3 4 5 6 7 8 9 10 11 12" ++==DONE== +-- +2.19.2 + diff --git a/dev-lang/php/files/php-7.0.33-intl-use-icu-namespace.patch b/dev-lang/php/files/php-7.0.33-intl-use-icu-namespace.patch new file mode 100644 index 000000000000..4b25abe20550 --- /dev/null +++ b/dev-lang/php/files/php-7.0.33-intl-use-icu-namespace.patch @@ -0,0 +1,369 @@ +Based on the following upstream commits: + +https://github.com/php/php-src/commit/8d35a423838eb462cd39ee535c5d003073cc5f22 +https://github.com/php/php-src/commit/d8200e48857aeaf09f7127751efc5632ef7660a7 +https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52 + +--- a/ext/intl/breakiterator/breakiterator_class.cpp ++++ b/ext/intl/breakiterator/breakiterator_class.cpp +@@ -38,6 +38,7 @@ extern "C" { + } + + using PHP::CodePointBreakIterator; ++using icu::RuleBasedBreakIterator; + + /* {{{ Global variables */ + zend_class_entry *BreakIterator_ce_ptr; +--- a/ext/intl/breakiterator/breakiterator_class.h ++++ b/ext/intl/breakiterator/breakiterator_class.h +@@ -26,6 +26,8 @@ + + #ifndef USE_BREAKITERATOR_POINTER + typedef void BreakIterator; ++#else ++using icu::BreakIterator; + #endif + + typedef struct { +--- a/ext/intl/breakiterator/breakiterator_methods.cpp ++++ b/ext/intl/breakiterator/breakiterator_methods.cpp +@@ -32,6 +32,8 @@ extern "C" { + } + + using PHP::CodePointBreakIterator; ++using icu::BreakIterator; ++using icu::Locale; + + U_CFUNC PHP_METHOD(BreakIterator, __construct) + { +--- a/ext/intl/breakiterator/codepointiterator_internal.cpp ++++ b/ext/intl/breakiterator/codepointiterator_internal.cpp +@@ -33,6 +33,8 @@ typedef union { + + using namespace PHP; + ++using icu::UCharCharacterIterator; ++ + UOBJECT_DEFINE_RTTI_IMPLEMENTATION(CodePointBreakIterator); + + CodePointBreakIterator::CodePointBreakIterator() +--- a/ext/intl/breakiterator/codepointiterator_internal.h ++++ b/ext/intl/breakiterator/codepointiterator_internal.h +@@ -18,8 +18,11 @@ + #define CODEPOINTITERATOR_INTERNAL_H + + #include ++#include + +-using U_ICU_NAMESPACE::BreakIterator; ++using icu::BreakIterator; ++using icu::CharacterIterator; ++using icu::UnicodeString; + + namespace PHP { + +--- a/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp ++++ b/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp +@@ -26,6 +26,9 @@ extern "C" { + #include "../intl_convertcpp.h" + #include "../intl_common.h" + ++using icu::RuleBasedBreakIterator; ++using icu::Locale; ++ + static inline RuleBasedBreakIterator *fetch_rbbi(BreakIterator_object *bio) { + return (RuleBasedBreakIterator*)bio->biter; + } +--- a/ext/intl/calendar/calendar_class.cpp ++++ b/ext/intl/calendar/calendar_class.cpp +@@ -34,6 +34,9 @@ extern "C" { + #include + } + ++using icu::GregorianCalendar; ++using icu::Locale; ++ + /* {{{ Global variables */ + zend_class_entry *Calendar_ce_ptr; + zend_class_entry *GregorianCalendar_ce_ptr; +--- a/ext/intl/calendar/calendar_class.h ++++ b/ext/intl/calendar/calendar_class.h +@@ -26,6 +26,8 @@ + + #ifndef USE_CALENDAR_POINTER + typedef void Calendar; ++#else ++using icu::Calendar; + #endif + + typedef struct { +--- a/ext/intl/calendar/calendar_methods.cpp ++++ b/ext/intl/calendar/calendar_methods.cpp +@@ -40,6 +40,8 @@ extern "C" { + } + #include "../common/common_enum.h" + ++using icu::Locale; ++ + U_CFUNC PHP_METHOD(IntlCalendar, __construct) + { + zend_throw_exception( NULL, +--- a/ext/intl/calendar/gregoriancalendar_methods.cpp ++++ b/ext/intl/calendar/gregoriancalendar_methods.cpp +@@ -23,6 +23,8 @@ + #include + #include + #include ++#include ++ + extern "C" { + #include "../php_intl.h" + #include "../intl_common.h" +@@ -34,6 +36,11 @@ extern "C" { + #include "zend_exceptions.h" + } + ++using icu::GregorianCalendar; ++using icu::Locale; ++using icu::UnicodeString; ++using icu::StringPiece; ++ + static inline GregorianCalendar *fetch_greg(Calendar_object *co) { + return (GregorianCalendar*)co->ucal; + } +--- a/ext/intl/common/common_date.cpp ++++ b/ext/intl/common/common_date.cpp +@@ -25,6 +25,9 @@ extern "C" { + #include + } + ++using icu::TimeZone; ++using icu::UnicodeString; ++ + #ifndef INFINITY + #define INFINITY (DBL_MAX+DBL_MAX) + #endif +--- a/ext/intl/common/common_date.h ++++ b/ext/intl/common/common_date.h +@@ -28,6 +28,8 @@ U_CDECL_END + + #include + ++using icu::TimeZone; ++ + U_CFUNC TimeZone *timezone_convert_datetimezone(int type, void *object, int is_datetime, intl_error *outside_error, const char *func); + U_CFUNC int intl_datetime_decompose(zval *z, double *millis, TimeZone **tz, + intl_error *err, const char *func); +--- a/ext/intl/common/common_enum.h ++++ b/ext/intl/common/common_enum.h +@@ -75,6 +75,7 @@ U_CFUNC zval *zoi_with_current_get_current_data(zend_object_iterator *iter); + U_CFUNC void zoi_with_current_invalidate_current(zend_object_iterator *iter); + + #ifdef __cplusplus ++using icu::StringEnumeration; + U_CFUNC void IntlIterator_from_StringEnumeration(StringEnumeration *se, zval *object); + #endif + +--- a/ext/intl/converter/converter.c ++++ b/ext/intl/converter/converter.c +@@ -18,6 +18,8 @@ + #include "zend_exceptions.h" + + #include ++#include ++#include + #include + #include + +--- a/ext/intl/dateformat/dateformat_format_object.cpp ++++ b/ext/intl/dateformat/dateformat_format_object.cpp +@@ -33,6 +33,12 @@ extern "C" { + #include "../common/common_date.h" + } + ++using icu::Locale; ++using icu::DateFormat; ++using icu::GregorianCalendar; ++using icu::StringPiece; ++using icu::SimpleDateFormat; ++ + static const DateFormat::EStyle valid_styles[] = { + DateFormat::kNone, + DateFormat::kFull, +--- a/ext/intl/dateformat/dateformat_helpers.cpp ++++ b/ext/intl/dateformat/dateformat_helpers.cpp +@@ -28,6 +28,8 @@ extern "C" { + #include "../calendar/calendar_class.h" + } + ++using icu::GregorianCalendar; ++ + int datefmt_process_calendar_arg(zval* calendar_zv, + Locale const& locale, + const char *func_name, +--- a/ext/intl/dateformat/dateformat_helpers.h ++++ b/ext/intl/dateformat/dateformat_helpers.h +@@ -22,11 +22,16 @@ + #endif + + #include ++#include + + extern "C" { + #include "../php_intl.h" + } + ++using icu::Locale; ++using icu::Calendar; ++using icu::DateFormat; ++ + int datefmt_process_calendar_arg(zval* calendar_zv, + Locale const& locale, + const char *func_name, +--- a/ext/intl/grapheme/grapheme_string.c ++++ b/ext/intl/grapheme/grapheme_string.c +@@ -24,6 +24,7 @@ + #include "grapheme_util.h" + + #include ++#include + #include + #include + #include +@@ -831,10 +832,10 @@ PHP_FUNCTION(grapheme_extract) + pstr = str + start; + + /* just in case pstr points in the middle of a character, move forward to the start of the next char */ +- if ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { +- char *str_end = str + str_len; ++ if ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { ++ unsigned char *str_end = str + str_len; + +- while ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { ++ while ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { + pstr++; + if ( pstr >= str_end ) { + intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, +--- a/ext/intl/intl_convertcpp.h ++++ b/ext/intl/intl_convertcpp.h +@@ -26,6 +26,8 @@ + #include + #include + ++using icu::UnicodeString; ++ + int intl_stringFromChar(UnicodeString &ret, char *str, size_t str_len, UErrorCode *status); + + zend_string* intl_charFromString(const UnicodeString &from, UErrorCode *status); +--- a/ext/intl/msgformat/msgformat_helpers.cpp ++++ b/ext/intl/msgformat/msgformat_helpers.cpp +@@ -76,6 +76,16 @@ MessageFormatAdapter::getMessagePattern(MessageFormat* m) { + #endif + U_NAMESPACE_END + ++using icu::Formattable; ++using icu::Format; ++using icu::DateFormat; ++using icu::MessageFormat; ++#ifdef HAS_MESSAGE_PATTERN ++using icu::MessagePattern; ++#endif ++using icu::MessageFormatAdapter; ++using icu::FieldPosition; ++ + U_CFUNC int32_t umsg_format_arg_count(UMessageFormat *fmt) + { + int32_t fmt_count = 0; +@@ -227,15 +237,16 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo, + UnicodeString typeString = mp.getSubstring(type_part); + /* This is all based on the rules in the docs for MessageFormat + * @see http://icu-project.org/apiref/icu4c/classMessageFormat.html */ +- if (typeString == "number") { ++#define ASCII_LITERAL(s) UNICODE_STRING(s, sizeof(s)-1) ++ if (typeString == ASCII_LITERAL("number")) { + MessagePattern::Part style_part = mp.getPart(i + 1); /* Not advancing i */ + if (style_part.getType() == UMSGPAT_PART_TYPE_ARG_STYLE) { + UnicodeString styleString = mp.getSubstring(style_part); +- if (styleString == "integer") { ++ if (styleString == ASCII_LITERAL("integer")) { + type = Formattable::kInt64; +- } else if (styleString == "currency") { ++ } else if (styleString == ASCII_LITERAL("currency")) { + type = Formattable::kDouble; +- } else if (styleString == "percent") { ++ } else if (styleString == ASCII_LITERAL("percent")) { + type = Formattable::kDouble; + } else { /* some style invalid/unknown to us */ + type = Formattable::kDouble; +@@ -243,12 +254,13 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo, + } else { // if missing style, part, make it a double + type = Formattable::kDouble; + } +- } else if ((typeString == "date") || (typeString == "time")) { ++ } else if ((typeString == ASCII_LITERAL("date")) || (typeString == ASCII_LITERAL("time"))) { + type = Formattable::kDate; +- } else if ((typeString == "spellout") || (typeString == "ordinal") +- || (typeString == "duration")) { ++ } else if ((typeString == ASCII_LITERAL("spellout")) || (typeString == ASCII_LITERAL("ordinal")) ++ || (typeString == ASCII_LITERAL("duration"))) { + type = Formattable::kDouble; + } ++#undef ASCII_LITERAL + } else { + /* If there's no UMSGPAT_PART_TYPE_ARG_TYPE right after a + * UMSGPAT_ARG_TYPE_SIMPLE argument, then the pattern +--- a/ext/intl/normalizer/normalizer_normalize.c ++++ b/ext/intl/normalizer/normalizer_normalize.c +@@ -24,6 +24,7 @@ + #include "normalizer_class.h" + #include "normalizer_normalize.h" + #include "intl_convert.h" ++#include + + /* {{{ proto string Normalizer::normalize( string $input [, string $form = FORM_C] ) + * Normalize a string. }}} */ +--- a/ext/intl/timezone/timezone_class.cpp ++++ b/ext/intl/timezone/timezone_class.cpp +@@ -37,6 +37,8 @@ extern "C" { + #include + } + ++using icu::Calendar; ++ + /* {{{ Global variables */ + U_CDECL_BEGIN + zend_class_entry *TimeZone_ce_ptr = NULL; +--- a/ext/intl/timezone/timezone_class.h ++++ b/ext/intl/timezone/timezone_class.h +@@ -29,6 +29,8 @@ + + #ifndef USE_TIMEZONE_POINTER + typedef void TimeZone; ++#else ++using icu::TimeZone; + #endif + + typedef struct { +--- a/ext/intl/timezone/timezone_methods.cpp ++++ b/ext/intl/timezone/timezone_methods.cpp +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include "intl_convertcpp.h" + + #include "../common/common_date.h" +@@ -37,6 +38,9 @@ extern "C" { + } + #include "common/common_enum.h" + ++using icu::Locale; ++using icu::Calendar; ++ + U_CFUNC PHP_METHOD(IntlTimeZone, __construct) + { + zend_throw_exception( NULL, +-- +2.19.2 + diff --git a/dev-lang/php/files/php-7.1.25-intl-detect-icu-via-pkg-config.patch b/dev-lang/php/files/php-7.1.25-intl-detect-icu-via-pkg-config.patch new file mode 100644 index 000000000000..2d4254d6e59e --- /dev/null +++ b/dev-lang/php/files/php-7.1.25-intl-detect-icu-via-pkg-config.patch @@ -0,0 +1,121 @@ +Based on the following upstream commits: + +https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52 +https://github.com/php/php-src/pull/3701 +https://github.com/php/php-src/commit/2bd299f7318492fd7e5cafffa562d76ba60e69d4 + +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -2205,52 +2205,16 @@ dnl + dnl Common setup macro for ICU + dnl + AC_DEFUN([PHP_SETUP_ICU],[ +- PHP_ARG_WITH(icu-dir,, +- [ --with-icu-dir=DIR Specify where ICU libraries and headers can be found], DEFAULT, no) ++ PKG_CHECK_MODULES([ICU], [icu-io >= 50.1]) + +- if test "$PHP_ICU_DIR" = "no"; then +- PHP_ICU_DIR=DEFAULT +- fi +- +- if test "$PHP_ICU_DIR" = "DEFAULT"; then +- dnl Try to find icu-config +- AC_PATH_PROG(ICU_CONFIG, icu-config, no, [$PATH:/usr/local/bin]) +- else +- ICU_CONFIG="$PHP_ICU_DIR/bin/icu-config" +- fi +- +- AC_MSG_CHECKING([for location of ICU headers and libraries]) +- +- dnl Trust icu-config to know better what the install prefix is.. +- icu_install_prefix=`$ICU_CONFIG --prefix 2> /dev/null` +- if test "$?" != "0" || test -z "$icu_install_prefix"; then +- AC_MSG_RESULT([not found]) +- AC_MSG_ERROR([Unable to detect ICU prefix or $ICU_CONFIG failed. Please verify ICU install prefix and make sure icu-config works.]) +- else +- AC_MSG_RESULT([$icu_install_prefix]) +- +- dnl Check ICU version +- AC_MSG_CHECKING([for ICU 4.0 or greater]) +- icu_version_full=`$ICU_CONFIG --version` +- ac_IFS=$IFS +- IFS="." +- set $icu_version_full +- IFS=$ac_IFS +- icu_version=`expr [$]1 \* 1000 + [$]2` +- AC_MSG_RESULT([found $icu_version_full]) +- +- if test "$icu_version" -lt "4000"; then +- AC_MSG_ERROR([ICU version 4.0 or later is required]) +- fi ++ PHP_EVAL_INCLINE($ICU_CFLAGS) ++ PHP_EVAL_LIBLINE($ICU_LIBS, $1) + +- ICU_VERSION=$icu_version +- ICU_INCS=`$ICU_CONFIG --cppflags-searchpath` +- ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio` +- PHP_EVAL_INCLINE($ICU_INCS) +- PHP_EVAL_LIBLINE($ICU_LIBS, $1) ++ ICU_CFLAGS="$ICU_CFLAGS -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1" ++ ICU_CXXFLAGS="$ICU_CXXFLAGS -DUNISTR_FROM_CHAR_EXPLICIT=explicit -DUNISTR_FROM_STRING_EXPLICIT=explicit" + +- ICU_CXXFLAGS=`$ICU_CONFIG --cxxflags` +- ICU_CXXFLAGS="$ICU_CXXFLAGS -DU_USING_ICU_NAMESPACE=1" ++ if test "$PKG_CONFIG icu-io --atleast-version=60"; then ++ ICU_CFLAGS="$ICU_CFLAGS -DU_HIDE_OBSOLETE_UTF_OLD_H=1" + fi + ]) + +--- a/ext/intl/config.m4 ++++ b/ext/intl/config.m4 +@@ -9,15 +9,7 @@ if test "$PHP_INTL" != "no"; then + PHP_SETUP_ICU(INTL_SHARED_LIBADD) + PHP_SUBST(INTL_SHARED_LIBADD) + PHP_REQUIRE_CXX() +- INTL_COMMON_FLAGS="$ICU_INCS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" +- if test "$icu_version" -ge "4002"; then +- icu_spoof_src=" spoofchecker/spoofchecker_class.c \ +- spoofchecker/spoofchecker.c\ +- spoofchecker/spoofchecker_create.c\ +- spoofchecker/spoofchecker_main.c" +- else +- icu_spoof_src="" +- fi ++ INTL_COMMON_FLAGS="$ICU_CFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" + PHP_NEW_EXTENSION(intl, php_intl.c \ + intl_error.c \ + intl_convert.c \ +@@ -68,9 +60,12 @@ if test "$PHP_INTL" != "no"; then + transliterator/transliterator_methods.c \ + uchar/uchar.c \ + idn/idn.c \ +- $icu_spoof_src, $ext_shared,,$INTL_COMMON_FLAGS,cxx) ++ spoofchecker/spoofchecker_class.c \ ++ spoofchecker/spoofchecker.c\ ++ spoofchecker/spoofchecker_create.c\ ++ spoofchecker/spoofchecker_main.c, $ext_shared,,$INTL_COMMON_FLAGS,cxx) + +- PHP_INTL_CXX_SOURCES="intl_convertcpp.cpp \ ++ PHP_INTL_CPP_SOURCES="intl_convertcpp.cpp \ + common/common_enum.cpp \ + common/common_date.cpp \ + dateformat/dateformat_format_object.cpp \ +@@ -89,11 +84,12 @@ if test "$PHP_INTL" != "no"; then + breakiterator/rulebasedbreakiterator_methods.cpp \ + breakiterator/codepointiterator_internal.cpp \ + breakiterator/codepointiterator_methods.cpp" +- PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $ICU_CXXFLAGS" ++ ++ PHP_INTL_CPP_FLAGS="$ICU_CXXFLAGS -Wno-write-strings -D__STDC_LIMIT_MACROS -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" + if test "$ext_shared" = "no"; then +- PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CXX_SOURCES, $PHP_INTL_CXX_FLAGS) ++ PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS) + else +- PHP_ADD_SOURCES_X(PHP_EXT_DIR(intl), $PHP_INTL_CXX_SOURCES, $PHP_INTL_CXX_FLAGS, shared_objects_intl, yes) ++ PHP_ADD_SOURCES_X(PHP_EXT_DIR(intl), $PHP_INTL_CPP_SOURCES, $PHP_INTL_CPP_FLAGS, shared_objects_intl, yes) + fi + + PHP_ADD_BUILD_DIR($ext_builddir/collator) +-- +2.19.2 + diff --git a/dev-lang/php/files/php-7.1.25-intl-use-icu-namespace.patch b/dev-lang/php/files/php-7.1.25-intl-use-icu-namespace.patch new file mode 100644 index 000000000000..5a1cc472f109 --- /dev/null +++ b/dev-lang/php/files/php-7.1.25-intl-use-icu-namespace.patch @@ -0,0 +1,379 @@ +Based on the following upstream commits: + +https://github.com/php/php-src/commit/8d35a423838eb462cd39ee535c5d003073cc5f22 +https://github.com/php/php-src/commit/d8200e48857aeaf09f7127751efc5632ef7660a7 +https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52 + +--- a/ext/intl/breakiterator/breakiterator_class.cpp ++++ b/ext/intl/breakiterator/breakiterator_class.cpp +@@ -38,6 +38,7 @@ extern "C" { + } + + using PHP::CodePointBreakIterator; ++using icu::RuleBasedBreakIterator; + + /* {{{ Global variables */ + zend_class_entry *BreakIterator_ce_ptr; +--- a/ext/intl/breakiterator/breakiterator_class.h ++++ b/ext/intl/breakiterator/breakiterator_class.h +@@ -26,6 +26,8 @@ + + #ifndef USE_BREAKITERATOR_POINTER + typedef void BreakIterator; ++#else ++using icu::BreakIterator; + #endif + + typedef struct { +--- a/ext/intl/breakiterator/breakiterator_methods.cpp ++++ b/ext/intl/breakiterator/breakiterator_methods.cpp +@@ -32,6 +32,8 @@ extern "C" { + } + + using PHP::CodePointBreakIterator; ++using icu::BreakIterator; ++using icu::Locale; + + U_CFUNC PHP_METHOD(BreakIterator, __construct) + { +--- a/ext/intl/breakiterator/codepointiterator_internal.cpp ++++ b/ext/intl/breakiterator/codepointiterator_internal.cpp +@@ -33,6 +33,8 @@ typedef union { + + using namespace PHP; + ++using icu::UCharCharacterIterator; ++ + UOBJECT_DEFINE_RTTI_IMPLEMENTATION(CodePointBreakIterator); + + CodePointBreakIterator::CodePointBreakIterator() +--- a/ext/intl/breakiterator/codepointiterator_internal.h ++++ b/ext/intl/breakiterator/codepointiterator_internal.h +@@ -18,8 +18,11 @@ + #define CODEPOINTITERATOR_INTERNAL_H + + #include ++#include + +-using U_ICU_NAMESPACE::BreakIterator; ++using icu::BreakIterator; ++using icu::CharacterIterator; ++using icu::UnicodeString; + + namespace PHP { + +--- a/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp ++++ b/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp +@@ -26,6 +26,9 @@ extern "C" { + #include "../intl_convertcpp.h" + #include "../intl_common.h" + ++using icu::RuleBasedBreakIterator; ++using icu::Locale; ++ + static inline RuleBasedBreakIterator *fetch_rbbi(BreakIterator_object *bio) { + return (RuleBasedBreakIterator*)bio->biter; + } +--- a/ext/intl/calendar/calendar_class.cpp ++++ b/ext/intl/calendar/calendar_class.cpp +@@ -34,6 +34,9 @@ extern "C" { + #include + } + ++using icu::GregorianCalendar; ++using icu::Locale; ++ + /* {{{ Global variables */ + zend_class_entry *Calendar_ce_ptr; + zend_class_entry *GregorianCalendar_ce_ptr; +--- a/ext/intl/calendar/calendar_class.h ++++ b/ext/intl/calendar/calendar_class.h +@@ -26,6 +26,8 @@ + + #ifndef USE_CALENDAR_POINTER + typedef void Calendar; ++#else ++using icu::Calendar; + #endif + + typedef struct { +--- a/ext/intl/calendar/calendar_methods.cpp ++++ b/ext/intl/calendar/calendar_methods.cpp +@@ -40,6 +40,8 @@ extern "C" { + } + #include "../common/common_enum.h" + ++using icu::Locale; ++ + U_CFUNC PHP_METHOD(IntlCalendar, __construct) + { + zend_throw_exception( NULL, +--- a/ext/intl/calendar/gregoriancalendar_methods.cpp ++++ b/ext/intl/calendar/gregoriancalendar_methods.cpp +@@ -23,6 +23,8 @@ + #include + #include + #include ++#include ++ + extern "C" { + #include "../php_intl.h" + #include "../intl_common.h" +@@ -34,6 +36,11 @@ extern "C" { + #include "zend_exceptions.h" + } + ++using icu::GregorianCalendar; ++using icu::Locale; ++using icu::UnicodeString; ++using icu::StringPiece; ++ + static inline GregorianCalendar *fetch_greg(Calendar_object *co) { + return (GregorianCalendar*)co->ucal; + } +--- a/ext/intl/common/common_date.cpp ++++ b/ext/intl/common/common_date.cpp +@@ -25,6 +25,9 @@ extern "C" { + #include + } + ++using icu::TimeZone; ++using icu::UnicodeString; ++ + #ifndef INFINITY + #define INFINITY (DBL_MAX+DBL_MAX) + #endif +--- a/ext/intl/common/common_date.h ++++ b/ext/intl/common/common_date.h +@@ -28,6 +28,8 @@ U_CDECL_END + + #include + ++using icu::TimeZone; ++ + U_CFUNC TimeZone *timezone_convert_datetimezone(int type, void *object, int is_datetime, intl_error *outside_error, const char *func); + U_CFUNC int intl_datetime_decompose(zval *z, double *millis, TimeZone **tz, + intl_error *err, const char *func); +--- a/ext/intl/common/common_enum.h ++++ b/ext/intl/common/common_enum.h +@@ -75,6 +75,7 @@ U_CFUNC zval *zoi_with_current_get_current_data(zend_object_iterator *iter); + U_CFUNC void zoi_with_current_invalidate_current(zend_object_iterator *iter); + + #ifdef __cplusplus ++using icu::StringEnumeration; + U_CFUNC void IntlIterator_from_StringEnumeration(StringEnumeration *se, zval *object); + #endif + +--- a/ext/intl/converter/converter.c ++++ b/ext/intl/converter/converter.c +@@ -18,6 +18,8 @@ + #include "zend_exceptions.h" + + #include ++#include ++#include + #include + #include + +--- a/ext/intl/dateformat/dateformat_format_object.cpp ++++ b/ext/intl/dateformat/dateformat_format_object.cpp +@@ -33,6 +33,12 @@ extern "C" { + #include "../common/common_date.h" + } + ++using icu::Locale; ++using icu::DateFormat; ++using icu::GregorianCalendar; ++using icu::StringPiece; ++using icu::SimpleDateFormat; ++ + static const DateFormat::EStyle valid_styles[] = { + DateFormat::kNone, + DateFormat::kFull, +--- a/ext/intl/dateformat/dateformat_helpers.cpp ++++ b/ext/intl/dateformat/dateformat_helpers.cpp +@@ -28,6 +28,8 @@ extern "C" { + #include "../calendar/calendar_class.h" + } + ++using icu::GregorianCalendar; ++ + int datefmt_process_calendar_arg(zval* calendar_zv, + Locale const& locale, + const char *func_name, +--- a/ext/intl/dateformat/dateformat_helpers.h ++++ b/ext/intl/dateformat/dateformat_helpers.h +@@ -22,11 +22,16 @@ + #endif + + #include ++#include + + extern "C" { + #include "../php_intl.h" + } + ++using icu::Locale; ++using icu::Calendar; ++using icu::DateFormat; ++ + int datefmt_process_calendar_arg(zval* calendar_zv, + Locale const& locale, + const char *func_name, +--- a/ext/intl/grapheme/grapheme_string.c ++++ b/ext/intl/grapheme/grapheme_string.c +@@ -24,6 +24,7 @@ + #include "grapheme_util.h" + + #include ++#include + #include + #include + #include +@@ -835,10 +836,10 @@ PHP_FUNCTION(grapheme_extract) + pstr = str + start; + + /* just in case pstr points in the middle of a character, move forward to the start of the next char */ +- if ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { +- char *str_end = str + str_len; ++ if ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { ++ unsigned char *str_end = str + str_len; + +- while ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { ++ while ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { + pstr++; + if ( pstr >= str_end ) { + intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, +--- a/ext/intl/intl_convertcpp.h ++++ b/ext/intl/intl_convertcpp.h +@@ -26,6 +26,8 @@ + #include + #include + ++using icu::UnicodeString; ++ + int intl_stringFromChar(UnicodeString &ret, char *str, size_t str_len, UErrorCode *status); + + zend_string* intl_charFromString(const UnicodeString &from, UErrorCode *status); +--- a/ext/intl/msgformat/msgformat_helpers.cpp ++++ b/ext/intl/msgformat/msgformat_helpers.cpp +@@ -78,6 +78,16 @@ MessageFormatAdapter::getMessagePattern(MessageFormat* m) { + #endif + U_NAMESPACE_END + ++using icu::Formattable; ++using icu::Format; ++using icu::DateFormat; ++using icu::MessageFormat; ++#ifdef HAS_MESSAGE_PATTERN ++using icu::MessagePattern; ++#endif ++using icu::MessageFormatAdapter; ++using icu::FieldPosition; ++ + U_CFUNC int32_t umsg_format_arg_count(UMessageFormat *fmt) + { + int32_t fmt_count = 0; +@@ -229,15 +239,16 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo, + UnicodeString typeString = mp.getSubstring(type_part); + /* This is all based on the rules in the docs for MessageFormat + * @see http://icu-project.org/apiref/icu4c/classMessageFormat.html */ +- if (typeString == "number") { ++#define ASCII_LITERAL(s) UNICODE_STRING(s, sizeof(s)-1) ++ if (typeString == ASCII_LITERAL("number")) { + MessagePattern::Part style_part = mp.getPart(i + 1); /* Not advancing i */ + if (style_part.getType() == UMSGPAT_PART_TYPE_ARG_STYLE) { + UnicodeString styleString = mp.getSubstring(style_part); +- if (styleString == "integer") { ++ if (styleString == ASCII_LITERAL("integer")) { + type = Formattable::kInt64; +- } else if (styleString == "currency") { ++ } else if (styleString == ASCII_LITERAL("currency")) { + type = Formattable::kDouble; +- } else if (styleString == "percent") { ++ } else if (styleString == ASCII_LITERAL("percent")) { + type = Formattable::kDouble; + } else { /* some style invalid/unknown to us */ + type = Formattable::kDouble; +@@ -245,12 +256,13 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo, + } else { // if missing style, part, make it a double + type = Formattable::kDouble; + } +- } else if ((typeString == "date") || (typeString == "time")) { ++ } else if ((typeString == ASCII_LITERAL("date")) || (typeString == ASCII_LITERAL("time"))) { + type = Formattable::kDate; +- } else if ((typeString == "spellout") || (typeString == "ordinal") +- || (typeString == "duration")) { ++ } else if ((typeString == ASCII_LITERAL("spellout")) || (typeString == ASCII_LITERAL("ordinal")) ++ || (typeString == ASCII_LITERAL("duration"))) { + type = Formattable::kDouble; + } ++#undef ASCII_LITERAL + } else { + /* If there's no UMSGPAT_PART_TYPE_ARG_TYPE right after a + * UMSGPAT_ARG_TYPE_SIMPLE argument, then the pattern +--- a/ext/intl/normalizer/normalizer_normalize.c ++++ b/ext/intl/normalizer/normalizer_normalize.c +@@ -24,6 +24,7 @@ + #include "normalizer_class.h" + #include "normalizer_normalize.h" + #include "intl_convert.h" ++#include + + /* {{{ proto string Normalizer::normalize( string $input [, string $form = FORM_C] ) + * Normalize a string. }}} */ +--- a/ext/intl/timezone/timezone_class.cpp ++++ b/ext/intl/timezone/timezone_class.cpp +@@ -37,6 +37,8 @@ extern "C" { + #include + } + ++using icu::Calendar; ++ + /* {{{ Global variables */ + U_CDECL_BEGIN + zend_class_entry *TimeZone_ce_ptr = NULL; +--- a/ext/intl/timezone/timezone_class.h ++++ b/ext/intl/timezone/timezone_class.h +@@ -29,6 +29,8 @@ + + #ifndef USE_TIMEZONE_POINTER + typedef void TimeZone; ++#else ++using icu::TimeZone; + #endif + + typedef struct { +--- a/ext/intl/timezone/timezone_methods.cpp ++++ b/ext/intl/timezone/timezone_methods.cpp +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include "intl_convertcpp.h" + + #include "../common/common_date.h" +@@ -37,6 +38,9 @@ extern "C" { + } + #include "common/common_enum.h" + ++using icu::Locale; ++using icu::Calendar; ++ + U_CFUNC PHP_METHOD(IntlTimeZone, __construct) + { + zend_throw_exception( NULL, +--- a/ext/intl/uchar/uchar.c ++++ b/ext/intl/uchar/uchar.c +@@ -3,6 +3,7 @@ + #include "intl_convert.h" + + #include ++#include + + #define IC_METHOD(mname) PHP_METHOD(IntlChar, mname) + +-- +2.19.2 + diff --git a/dev-lang/php/files/php-7.2.13-intl-use-icu-namespace.patch b/dev-lang/php/files/php-7.2.13-intl-use-icu-namespace.patch new file mode 100644 index 000000000000..b5d2b473f1aa --- /dev/null +++ b/dev-lang/php/files/php-7.2.13-intl-use-icu-namespace.patch @@ -0,0 +1,379 @@ +Based on the following upstream commits: + +https://github.com/php/php-src/commit/8d35a423838eb462cd39ee535c5d003073cc5f22 +https://github.com/php/php-src/commit/d8200e48857aeaf09f7127751efc5632ef7660a7 +https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52 + +--- a/ext/intl/breakiterator/breakiterator_class.cpp ++++ b/ext/intl/breakiterator/breakiterator_class.cpp +@@ -38,6 +38,7 @@ extern "C" { + } + + using PHP::CodePointBreakIterator; ++using icu::RuleBasedBreakIterator; + + /* {{{ Global variables */ + zend_class_entry *BreakIterator_ce_ptr; +--- a/ext/intl/breakiterator/breakiterator_class.h ++++ b/ext/intl/breakiterator/breakiterator_class.h +@@ -26,6 +26,8 @@ + + #ifndef USE_BREAKITERATOR_POINTER + typedef void BreakIterator; ++#else ++using icu::BreakIterator; + #endif + + typedef struct { +--- a/ext/intl/breakiterator/breakiterator_methods.cpp ++++ b/ext/intl/breakiterator/breakiterator_methods.cpp +@@ -32,6 +32,8 @@ extern "C" { + } + + using PHP::CodePointBreakIterator; ++using icu::BreakIterator; ++using icu::Locale; + + U_CFUNC PHP_METHOD(BreakIterator, __construct) + { +--- a/ext/intl/breakiterator/codepointiterator_internal.cpp ++++ b/ext/intl/breakiterator/codepointiterator_internal.cpp +@@ -33,6 +33,8 @@ typedef union { + + using namespace PHP; + ++using icu::UCharCharacterIterator; ++ + UOBJECT_DEFINE_RTTI_IMPLEMENTATION(CodePointBreakIterator); + + CodePointBreakIterator::CodePointBreakIterator() +--- a/ext/intl/breakiterator/codepointiterator_internal.h ++++ b/ext/intl/breakiterator/codepointiterator_internal.h +@@ -18,8 +18,11 @@ + #define CODEPOINTITERATOR_INTERNAL_H + + #include ++#include + +-using U_ICU_NAMESPACE::BreakIterator; ++using icu::BreakIterator; ++using icu::CharacterIterator; ++using icu::UnicodeString; + + namespace PHP { + +--- a/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp ++++ b/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp +@@ -26,6 +26,9 @@ extern "C" { + #include "../intl_convertcpp.h" + #include "../intl_common.h" + ++using icu::RuleBasedBreakIterator; ++using icu::Locale; ++ + static inline RuleBasedBreakIterator *fetch_rbbi(BreakIterator_object *bio) { + return (RuleBasedBreakIterator*)bio->biter; + } +--- a/ext/intl/calendar/calendar_class.cpp ++++ b/ext/intl/calendar/calendar_class.cpp +@@ -34,6 +34,9 @@ extern "C" { + #include + } + ++using icu::GregorianCalendar; ++using icu::Locale; ++ + /* {{{ Global variables */ + zend_class_entry *Calendar_ce_ptr; + zend_class_entry *GregorianCalendar_ce_ptr; +--- a/ext/intl/calendar/calendar_class.h ++++ b/ext/intl/calendar/calendar_class.h +@@ -26,6 +26,8 @@ + + #ifndef USE_CALENDAR_POINTER + typedef void Calendar; ++#else ++using icu::Calendar; + #endif + + typedef struct { +--- a/ext/intl/calendar/calendar_methods.cpp ++++ b/ext/intl/calendar/calendar_methods.cpp +@@ -40,6 +40,8 @@ extern "C" { + } + #include "../common/common_enum.h" + ++using icu::Locale; ++ + U_CFUNC PHP_METHOD(IntlCalendar, __construct) + { + zend_throw_exception( NULL, +--- a/ext/intl/calendar/gregoriancalendar_methods.cpp ++++ b/ext/intl/calendar/gregoriancalendar_methods.cpp +@@ -23,6 +23,8 @@ + #include + #include + #include ++#include ++ + extern "C" { + #include "../php_intl.h" + #include "../intl_common.h" +@@ -34,6 +36,11 @@ extern "C" { + #include "zend_exceptions.h" + } + ++using icu::GregorianCalendar; ++using icu::Locale; ++using icu::UnicodeString; ++using icu::StringPiece; ++ + static inline GregorianCalendar *fetch_greg(Calendar_object *co) { + return (GregorianCalendar*)co->ucal; + } +--- a/ext/intl/common/common_date.cpp ++++ b/ext/intl/common/common_date.cpp +@@ -27,6 +27,9 @@ extern "C" { + + #include "zend_portability.h" + ++using icu::TimeZone; ++using icu::UnicodeString; ++ + /* {{{ timezone_convert_datetimezone + * The timezone in DateTime and DateTimeZone is not unified. */ + U_CFUNC TimeZone *timezone_convert_datetimezone(int type, +--- a/ext/intl/common/common_date.h ++++ b/ext/intl/common/common_date.h +@@ -28,6 +28,8 @@ U_CDECL_END + + #include + ++using icu::TimeZone; ++ + U_CFUNC TimeZone *timezone_convert_datetimezone(int type, void *object, int is_datetime, intl_error *outside_error, const char *func); + U_CFUNC int intl_datetime_decompose(zval *z, double *millis, TimeZone **tz, + intl_error *err, const char *func); +--- a/ext/intl/common/common_enum.h ++++ b/ext/intl/common/common_enum.h +@@ -75,6 +75,7 @@ U_CFUNC zval *zoi_with_current_get_current_data(zend_object_iterator *iter); + U_CFUNC void zoi_with_current_invalidate_current(zend_object_iterator *iter); + + #ifdef __cplusplus ++using icu::StringEnumeration; + U_CFUNC void IntlIterator_from_StringEnumeration(StringEnumeration *se, zval *object); + #endif + +--- a/ext/intl/converter/converter.c ++++ b/ext/intl/converter/converter.c +@@ -18,6 +18,8 @@ + #include "zend_exceptions.h" + + #include ++#include ++#include + #include + #include + +--- a/ext/intl/dateformat/dateformat_format_object.cpp ++++ b/ext/intl/dateformat/dateformat_format_object.cpp +@@ -33,6 +33,12 @@ extern "C" { + #include "../common/common_date.h" + } + ++using icu::Locale; ++using icu::DateFormat; ++using icu::GregorianCalendar; ++using icu::StringPiece; ++using icu::SimpleDateFormat; ++ + static const DateFormat::EStyle valid_styles[] = { + DateFormat::kNone, + DateFormat::kFull, +--- a/ext/intl/dateformat/dateformat_helpers.cpp ++++ b/ext/intl/dateformat/dateformat_helpers.cpp +@@ -28,6 +28,8 @@ extern "C" { + #include "../calendar/calendar_class.h" + } + ++using icu::GregorianCalendar; ++ + int datefmt_process_calendar_arg(zval* calendar_zv, + Locale const& locale, + const char *func_name, +--- a/ext/intl/dateformat/dateformat_helpers.h ++++ b/ext/intl/dateformat/dateformat_helpers.h +@@ -22,11 +22,16 @@ + #endif + + #include ++#include + + extern "C" { + #include "../php_intl.h" + } + ++using icu::Locale; ++using icu::Calendar; ++using icu::DateFormat; ++ + int datefmt_process_calendar_arg(zval* calendar_zv, + Locale const& locale, + const char *func_name, +--- a/ext/intl/grapheme/grapheme_string.c ++++ b/ext/intl/grapheme/grapheme_string.c +@@ -24,6 +24,7 @@ + #include "grapheme_util.h" + + #include ++#include + #include + #include + #include +@@ -834,10 +835,10 @@ PHP_FUNCTION(grapheme_extract) + pstr = str + start; + + /* just in case pstr points in the middle of a character, move forward to the start of the next char */ +- if ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { +- char *str_end = str + str_len; ++ if ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { ++ unsigned char *str_end = str + str_len; + +- while ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { ++ while ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) { + pstr++; + if ( pstr >= str_end ) { + intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR, +--- a/ext/intl/intl_convertcpp.h ++++ b/ext/intl/intl_convertcpp.h +@@ -26,6 +26,8 @@ + #include + #include + ++using icu::UnicodeString; ++ + int intl_stringFromChar(UnicodeString &ret, char *str, size_t str_len, UErrorCode *status); + + zend_string* intl_charFromString(const UnicodeString &from, UErrorCode *status); +--- a/ext/intl/msgformat/msgformat_helpers.cpp ++++ b/ext/intl/msgformat/msgformat_helpers.cpp +@@ -78,6 +78,16 @@ MessageFormatAdapter::getMessagePattern(MessageFormat* m) { + #endif + U_NAMESPACE_END + ++using icu::Formattable; ++using icu::Format; ++using icu::DateFormat; ++using icu::MessageFormat; ++#ifdef HAS_MESSAGE_PATTERN ++using icu::MessagePattern; ++#endif ++using icu::MessageFormatAdapter; ++using icu::FieldPosition; ++ + U_CFUNC int32_t umsg_format_arg_count(UMessageFormat *fmt) + { + int32_t fmt_count = 0; +@@ -229,15 +239,16 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo, + UnicodeString typeString = mp.getSubstring(type_part); + /* This is all based on the rules in the docs for MessageFormat + * @see http://icu-project.org/apiref/icu4c/classMessageFormat.html */ +- if (typeString == "number") { ++#define ASCII_LITERAL(s) UNICODE_STRING(s, sizeof(s)-1) ++ if (typeString == ASCII_LITERAL("number")) { + MessagePattern::Part style_part = mp.getPart(i + 1); /* Not advancing i */ + if (style_part.getType() == UMSGPAT_PART_TYPE_ARG_STYLE) { + UnicodeString styleString = mp.getSubstring(style_part); +- if (styleString == "integer") { ++ if (styleString == ASCII_LITERAL("integer")) { + type = Formattable::kInt64; +- } else if (styleString == "currency") { ++ } else if (styleString == ASCII_LITERAL("currency")) { + type = Formattable::kDouble; +- } else if (styleString == "percent") { ++ } else if (styleString == ASCII_LITERAL("percent")) { + type = Formattable::kDouble; + } else { /* some style invalid/unknown to us */ + type = Formattable::kDouble; +@@ -245,12 +256,13 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo, + } else { // if missing style, part, make it a double + type = Formattable::kDouble; + } +- } else if ((typeString == "date") || (typeString == "time")) { ++ } else if ((typeString == ASCII_LITERAL("date")) || (typeString == ASCII_LITERAL("time"))) { + type = Formattable::kDate; +- } else if ((typeString == "spellout") || (typeString == "ordinal") +- || (typeString == "duration")) { ++ } else if ((typeString == ASCII_LITERAL("spellout")) || (typeString == ASCII_LITERAL("ordinal")) ++ || (typeString == ASCII_LITERAL("duration"))) { + type = Formattable::kDouble; + } ++#undef ASCII_LITERAL + } else { + /* If there's no UMSGPAT_PART_TYPE_ARG_TYPE right after a + * UMSGPAT_ARG_TYPE_SIMPLE argument, then the pattern +--- a/ext/intl/normalizer/normalizer_normalize.c ++++ b/ext/intl/normalizer/normalizer_normalize.c +@@ -24,6 +24,7 @@ + #include "normalizer_class.h" + #include "normalizer_normalize.h" + #include "intl_convert.h" ++#include + + /* {{{ proto string Normalizer::normalize( string $input [, string $form = FORM_C] ) + * Normalize a string. }}} */ +--- a/ext/intl/timezone/timezone_class.cpp ++++ b/ext/intl/timezone/timezone_class.cpp +@@ -37,6 +37,8 @@ extern "C" { + #include + } + ++using icu::Calendar; ++ + /* {{{ Global variables */ + U_CDECL_BEGIN + zend_class_entry *TimeZone_ce_ptr = NULL; +--- a/ext/intl/timezone/timezone_class.h ++++ b/ext/intl/timezone/timezone_class.h +@@ -29,6 +29,8 @@ + + #ifndef USE_TIMEZONE_POINTER + typedef void TimeZone; ++#else ++using icu::TimeZone; + #endif + + typedef struct { +--- a/ext/intl/timezone/timezone_methods.cpp ++++ b/ext/intl/timezone/timezone_methods.cpp +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include "intl_convertcpp.h" + + #include "../common/common_date.h" +@@ -37,6 +38,9 @@ extern "C" { + } + #include "common/common_enum.h" + ++using icu::Locale; ++using icu::Calendar; ++ + U_CFUNC PHP_METHOD(IntlTimeZone, __construct) + { + zend_throw_exception( NULL, +--- a/ext/intl/uchar/uchar.c ++++ b/ext/intl/uchar/uchar.c +@@ -3,6 +3,7 @@ + #include "intl_convert.h" + + #include ++#include + + #define IC_METHOD(mname) PHP_METHOD(IntlChar, mname) + +-- +2.19.2 + diff --git a/dev-lang/php/php-5.6.38-r1.ebuild b/dev-lang/php/php-5.6.38-r1.ebuild new file mode 100644 index 000000000000..362851c1e1d5 --- /dev/null +++ b/dev-lang/php/php-5.6.38-r1.ebuild @@ -0,0 +1,779 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools flag-o-matic eapi7-ver systemd + +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://secure.php.net/" +SRC_URI="https://php.net/distributions/${P}.tar.xz + https://salsa.debian.org/php-team/php/raw/8149a436/debian/patches/0055-Use-OpenSSL-1.1-compatibility-patch-when-built-with-.patch?inline=false -> php-5.6-openssl-1.1-compatibility.patch" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk + coverage crypt +ctype curl debug + enchant exif +fileinfo +filter firebird + flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl + mhash mssql mysql libmysqlclient mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline recode selinux +session sharedmem + +simplexml snmp soap sockets spell sqlite ssl + sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre-8.32[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] + =dev-libs/libmcrypt-2.4 ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( app-text/enchant ) + exif? ( !gd? ( + virtual/jpeg:0 + media-libs/libpng:0= + sys-libs/zlib:0= + ) ) + firebird? ( dev-db/firebird ) + gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( virtual/imap-c-client[kerberos=,ssl=] ) + intl? ( =net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) + mssql? ( dev-db/freetds[mssql] ) + libmysqlclient? ( + mysql? ( virtual/libmysqlclient:= ) + mysqli? ( virtual/libmysqlclient:= ) + ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode ) + sharedmem? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + sybase-ct? ( dev-db/freetds ) + tidy? ( app-text/htmltidy ) + truetype? ( + =media-libs/freetype-2* + >=media-libs/t1lib-5.0.0 + !gd? ( + virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= ) + ) + unicode? ( dev-libs/oniguruma:= ) + vpx? ( media-libs/libvpx:0= ) + wddx? ( >=dev-libs/libxml2-2.6.8 ) + xml? ( >=dev-libs/libxml2-2.6.8 ) + xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) + xmlreader? ( >=dev-libs/libxml2-2.6.8 ) + xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) + xpm? ( + x11-libs/libXpm + virtual/jpeg:0 + media-libs/libpng:0= sys-libs/zlib:0= + ) + xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) + zip? ( sys-libs/zlib:0= ) + zlib? ( sys-libs/zlib:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1 + sys-devel/flex + >=sys-devel/m4-1.4.3 + >=sys-devel/libtool-1.5.18" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + vpx? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + phar? ( hash ) + recode? ( !imap !mysql !mysqli !libmysqlclient ) + libmysqlclient? ( || ( + mysql + mysqli + pdo + ) ) + + qdbm? ( !gdbm ) + readline? ( !libedit ) + sharedmem? ( !threads ) +" + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + dodir "${PHP_INI_DIR#${EPREFIX}}" + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config file php-fpm.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + eapply "${FILESDIR}/php-${SLOT}-no-bison-warnings.patch" + eapply "${FILESDIR}/5.6-mbstring-oniguruma-6.8.patch" + eapply "${DISTDIR}/php-5.6-openssl-1.1-compatibility.patch" + eapply "${FILESDIR}/php-freetype-2.9.1.patch" + + # Change PHP branding + # Get the alpha/beta/rc version + sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \ + -i configure.in || die "Unable to change PHP branding" + + # Patch PHP to show Gentoo as the server platform + sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \ + -i configure.in || die "Failed to fix server platform name" + + # Prevent PHP from activating the Apache config, + # as we will do that ourselves + sed -i \ + -e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \ + -e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \ + configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \ + || die + + # Patch PHP to support heimdal instead of mit-krb5 + if has_version "app-crypt/heimdal" ; then + sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \ + || die "Failed to fix heimdal libname" + sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \ + || die "Failed to fix heimdal crypt library reference" + fi + + eapply_user + + # Force rebuilding aclocal.m4 + rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" + eautoreconf + + if [[ ${CHOST} == *-darwin* ]] ; then + # http://bugs.php.net/bug.php?id=48795, bug #343481 + sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die + fi +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with crypt mcrypt "${EPREFIX}/usr") + $(use_with mssql mssql "${EPREFIX}/usr") + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_with sybase-ct sybase-ct "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_with truetype t1lib "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + $(use_with vpx vpx-dir "${EPREFIX}/usr") + ) + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + use libmysqlclient && mysqllib="${EPREFIX}/usr" + use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config" + + our_conf+=( $(use_with mysql mysql "${mysqllib}") ) + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib) + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + our_conf+=( + --with-pcre-regex="${EPREFIX}/usr" + --with-pcre-dir="${EPREFIX}/usr" + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp5$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-5.6.39.ebuild b/dev-lang/php/php-5.6.39.ebuild new file mode 100644 index 000000000000..18d767d93953 --- /dev/null +++ b/dev-lang/php/php-5.6.39.ebuild @@ -0,0 +1,785 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit autotools flag-o-matic systemd + +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://secure.php.net/" +SRC_URI="https://php.net/distributions/${P}.tar.xz + https://salsa.debian.org/php-team/php/raw/8149a436/debian/patches/0055-Use-OpenSSL-1.1-compatibility-patch-when-built-with-.patch?inline=false -> php-5.6-openssl-1.1-compatibility.patch" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk + coverage crypt +ctype curl debug + enchant exif +fileinfo +filter firebird + flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl + mhash mssql mysql libmysqlclient mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline recode selinux +session sharedmem + +simplexml snmp soap sockets spell sqlite ssl + sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre-8.32[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] + =dev-libs/libmcrypt-2.4 ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( app-text/enchant ) + exif? ( !gd? ( + virtual/jpeg:0 + media-libs/libpng:0= + sys-libs/zlib:0= + ) ) + firebird? ( dev-db/firebird ) + gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( virtual/imap-c-client[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) + mssql? ( dev-db/freetds[mssql] ) + libmysqlclient? ( + mysql? ( virtual/libmysqlclient:= ) + mysqli? ( virtual/libmysqlclient:= ) + ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode ) + sharedmem? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + sybase-ct? ( dev-db/freetds ) + tidy? ( app-text/htmltidy ) + truetype? ( + =media-libs/freetype-2* + >=media-libs/t1lib-5.0.0 + !gd? ( + virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= ) + ) + unicode? ( dev-libs/oniguruma:= ) + vpx? ( media-libs/libvpx:0= ) + wddx? ( >=dev-libs/libxml2-2.6.8 ) + xml? ( >=dev-libs/libxml2-2.6.8 ) + xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) + xmlreader? ( >=dev-libs/libxml2-2.6.8 ) + xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) + xpm? ( + x11-libs/libXpm + virtual/jpeg:0 + media-libs/libpng:0= sys-libs/zlib:0= + ) + xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) + zip? ( sys-libs/zlib:0= ) + zlib? ( sys-libs/zlib:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1 + sys-devel/flex + >=sys-devel/m4-1.4.3 + >=sys-devel/libtool-1.5.18" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + vpx? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + phar? ( hash ) + recode? ( !imap !mysql !mysqli !libmysqlclient ) + libmysqlclient? ( || ( + mysql + mysqli + pdo + ) ) + + qdbm? ( !gdbm ) + readline? ( !libedit ) + sharedmem? ( !threads ) +" + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + dodir "${PHP_INI_DIR#${EPREFIX}}" + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config file php-fpm.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + eapply "${FILESDIR}/php-${SLOT}-no-bison-warnings.patch" + eapply "${FILESDIR}/5.6-mbstring-oniguruma-6.8.patch" + eapply "${DISTDIR}/php-5.6-openssl-1.1-compatibility.patch" + eapply "${FILESDIR}/php-5.6-intl-detect-icu-via-pkg-config.patch" + eapply "${FILESDIR}/php-5.6-intl-use-icu-namespace.patch" + eapply "${FILESDIR}/php-5.6-intl-icu-memory-corruption.patch" + eapply "${FILESDIR}/php-freetype-2.9.1.patch" + + # Change PHP branding + # Get the alpha/beta/rc version + sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \ + -i configure.in || die "Unable to change PHP branding" + + # Patch PHP to show Gentoo as the server platform + sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \ + -i configure.in || die "Failed to fix server platform name" + + # Prevent PHP from activating the Apache config, + # as we will do that ourselves + sed -i \ + -e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \ + -e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \ + configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \ + || die + + # Patch PHP to support heimdal instead of mit-krb5 + if has_version "app-crypt/heimdal" ; then + sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \ + || die "Failed to fix heimdal libname" + sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \ + || die "Failed to fix heimdal crypt library reference" + fi + + eapply_user + + # Force rebuilding aclocal.m4 + rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" + + mv configure.in configure.ac || die + + eautoreconf + + if [[ ${CHOST} == *-darwin* ]] ; then + # http://bugs.php.net/bug.php?id=48795, bug #343481 + sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die + fi +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with crypt mcrypt "${EPREFIX}/usr") + $(use_with mssql mssql "${EPREFIX}/usr") + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_with sybase-ct sybase-ct "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_with truetype t1lib "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + $(use_with vpx vpx-dir "${EPREFIX}/usr") + ) + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + use libmysqlclient && mysqllib="${EPREFIX}/usr" + use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config" + + our_conf+=( $(use_with mysql mysql "${mysqllib}") ) + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib) + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + our_conf+=( + --with-pcre-regex="${EPREFIX}/usr" + --with-pcre-dir="${EPREFIX}/usr" + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp5$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-7.0.33.ebuild b/dev-lang/php/php-7.0.33.ebuild new file mode 100644 index 000000000000..2974d4b991dc --- /dev/null +++ b/dev-lang/php/php-7.0.33.ebuild @@ -0,0 +1,754 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit flag-o-matic systemd + +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://secure.php.net/" +SRC_URI="https://php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk + coverage crypt +ctype curl debug + enchant exif +fileinfo +filter firebird + flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl + mhash mssql mysql mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline recode selinux +session sharedmem + +simplexml snmp soap sockets spell sqlite ssl + sysvipc systemd tidy +tokenizer truetype unicode wddx webp + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre-8.32[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] + =dev-libs/libmcrypt-2.4 ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( app-text/enchant ) + exif? ( !gd? ( + virtual/jpeg:0 + media-libs/libpng:0= + sys-libs/zlib:0= + ) ) + firebird? ( dev-db/firebird ) + gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( virtual/imap-c-client[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode ) + sharedmem? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + tidy? ( app-text/htmltidy ) + truetype? ( + =media-libs/freetype-2* + !gd? ( + virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib:0= ) + ) + unicode? ( dev-libs/oniguruma:= ) + wddx? ( >=dev-libs/libxml2-2.6.8 ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.6.8 ) + xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) + xmlreader? ( >=dev-libs/libxml2-2.6.8 ) + xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) + xpm? ( + x11-libs/libXpm + virtual/jpeg:0 + media-libs/libpng:0= sys-libs/zlib:0= + ) + xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) + zip? ( sys-libs/zlib:0= ) + zlib? ( sys-libs/zlib:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1 + sys-devel/flex + >=sys-devel/m4-1.4.3 + >=sys-devel/libtool-1.5.18" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + phar? ( hash ) + qdbm? ( !gdbm ) + readline? ( !libedit ) + recode? ( !imap !mysqli !mysql ) + sharedmem? ( !threads ) + mysql? ( || ( mysqli pdo ) ) +" + +PATCHES=( + "${FILESDIR}/mbstring-oniguruma-6.8.patch" + # hopefully upstream will include the same version check fixes in upcoming releases + # patch added 20180429 + "${FILESDIR}/libressl-compatibility.patch" + "${FILESDIR}/php-freetype-2.9.1.patch" + "${FILESDIR}/php-7.0.33-intl-detect-icu-via-pkg-config.patch" + "${FILESDIR}/php-7.0.33-intl-use-icu-namespace.patch" + "${FILESDIR}/php-7.0.33-intl-icu-memory-corruption.patch" +) + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + dodir "${PHP_INI_DIR#${EPREFIX}}" + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with crypt mcrypt "${EPREFIX}/usr") + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + ) + if use webp; then + our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) + fi + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + our_conf+=( + --with-pcre-regex="${EPREFIX}/usr" + --with-pcre-dir="${EPREFIX}/usr" + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp${PHP_MV}$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-7.1.25.ebuild b/dev-lang/php/php-7.1.25.ebuild new file mode 100644 index 000000000000..4f5aca9bdc9d --- /dev/null +++ b/dev-lang/php/php-7.1.25.ebuild @@ -0,0 +1,736 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic systemd autotools + +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://secure.php.net/" +SRC_URI="https://secure.php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk + coverage crypt +ctype curl debug + enchant exif +fileinfo +filter firebird + flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl + mhash mssql mysql mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline recode selinux +session session-mm sharedmem + +simplexml snmp soap sockets spell sqlite ssl + sysvipc systemd test tidy +tokenizer truetype unicode wddx webp + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre-8.32[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] + =dev-libs/libmcrypt-2.4 ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( =sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( virtual/imap-c-client[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode ) + session-mm? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) ) + truetype? ( =media-libs/freetype-2* ) + unicode? ( dev-libs/oniguruma:= ) + wddx? ( >=dev-libs/libxml2-2.6.8 ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.6.8 ) + xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) + xmlreader? ( >=dev-libs/libxml2-2.6.8 ) + xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) + zip? ( sys-libs/zlib:0= ) + zlib? ( sys-libs/zlib:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +# Bison isn't actually needed when building from a release tarball +# However, the configure script will warn if it's absent or if you +# have an incompatible version installed. See bug 593278. +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + phar? ( hash ) + qdbm? ( !gdbm ) + readline? ( !libedit ) + recode? ( !imap !mysqli !mysql ) + session-mm? ( session !threads ) + mysql? ( hash || ( mysqli pdo ) ) + mysqli? ( hash ) +" +PATCHES=( + "${FILESDIR}/php-freetype-2.9.1.patch" + "${FILESDIR}/php-7.1.25-intl-detect-icu-via-pkg-config.patch" + "${FILESDIR}/php-7.1.25-intl-use-icu-namespace.patch" +) + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + dodir "${PHP_INI_DIR#${EPREFIX}}" + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Bug 669566 - necessary so that build tools are updated for commands like pecl + # Force rebuilding aclocal.m4 + rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" + eautoreconf +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with crypt mcrypt "${EPREFIX}/usr") + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + ) + if use webp; then + our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) + fi + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + our_conf+=( + --with-pcre-regex="${EPREFIX}/usr" + --with-pcre-dir="${EPREFIX}/usr" + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp${PHP_MV}$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-7.2.13.ebuild b/dev-lang/php/php-7.2.13.ebuild new file mode 100644 index 000000000000..8c9fb3ab3022 --- /dev/null +++ b/dev-lang/php/php-7.2.13.ebuild @@ -0,0 +1,748 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic systemd autotools + +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://secure.php.net/" +SRC_URI="https://php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk + coverage +ctype curl debug + enchant exif +fileinfo +filter firebird + flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb + mhash mssql mysql mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline recode selinux +session session-mm sharedmem + +simplexml snmp soap sockets sodium spell sqlite ssl + sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre-8.32[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] + =net-misc/curl-7.10.5 ) + enchant? ( =sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( virtual/imap-c-client[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) + lmdb? ( dev-db/lmdb:= ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode ) + session-mm? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + sodium? ( dev-libs/libsodium:= ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) ) + tokyocabinet? ( dev-db/tokyocabinet ) + truetype? ( =media-libs/freetype-2* ) + unicode? ( dev-libs/oniguruma:= ) + wddx? ( >=dev-libs/libxml2-2.6.8 ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.6.8 ) + xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) + xmlreader? ( >=dev-libs/libxml2-2.6.8 ) + xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) + zip? ( sys-libs/zlib:0= ) + zip-encryption? ( >=dev-libs/libzip-1.2.0:= ) + zlib? ( sys-libs/zlib:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +# Bison isn't actually needed when building from a release tarball +# However, the configure script will warn if it's absent or if you +# have an incompatible version installed. See bug 593278. +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + phar? ( hash ) + qdbm? ( !gdbm ) + readline? ( !libedit ) + recode? ( !imap !mysqli !mysql ) + session-mm? ( session !threads ) + mysql? ( hash || ( mysqli pdo ) ) + mysqli? ( hash ) + zip-encryption? ( zip ) +" +PATCHES=( + "${FILESDIR}/php-freetype-2.9.1.patch" + "${FILESDIR}/php-7.1.25-intl-detect-icu-via-pkg-config.patch" + "${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch" +) + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + dodir "${PHP_INI_DIR#${EPREFIX}}" + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Bug 669566 - necessary so that build tools are updated for commands like pecl + # Force rebuilding aclocal.m4 + rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" + eautoreconf +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sodium sodium "${EPREFIX}/usr") + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zip-encryption libzip "${EPREFIX}/usr") + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm || use lmdb || use tokyocabinet ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + $(use_with lmdb lmdb "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + ) + if use webp; then + our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) + fi + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + # --with-pcre-valgrind cannot be enabled with system pcre + # Many arches don't support pcre-jit + our_conf+=( + --with-pcre-regex="${EPREFIX}/usr" + --with-pcre-dir="${EPREFIX}/usr" + --without-pcre-valgrind + --without-pcre-jit + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp${PHP_MV}$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-7.3.0.ebuild b/dev-lang/php/php-7.3.0.ebuild new file mode 100644 index 000000000000..a349c94b9431 --- /dev/null +++ b/dev-lang/php/php-7.3.0.ebuild @@ -0,0 +1,748 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic eapi7-ver systemd autotools + +MY_PV=${PV/_rc/RC} +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://secure.php.net/" +SRC_URI="https://secure.php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +S="${WORKDIR}/${PN}-${MY_PV}" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk + coverage +ctype curl debug + enchant exif +fileinfo +filter firebird + flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb + mhash mssql mysql mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline recode selinux +session session-mm sharedmem + +simplexml snmp soap sockets sodium spell sqlite ssl + sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre2-10.30[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] + =net-misc/curl-7.10.5 ) + enchant? ( =sys-libs/zlib-1.2.0.4 ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( virtual/imap-c-client[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) + lmdb? ( dev-db/lmdb:= ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode ) + session-mm? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + sodium? ( dev-libs/libsodium:= ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) ) + tokyocabinet? ( dev-db/tokyocabinet ) + truetype? ( =media-libs/freetype-2* ) + unicode? ( dev-libs/oniguruma:= ) + wddx? ( >=dev-libs/libxml2-2.6.8 ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.6.8 ) + xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) + xmlreader? ( >=dev-libs/libxml2-2.6.8 ) + xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) + zip? ( >=sys-libs/zlib-1.2.0.4:0= ) + zip-encryption? ( >=dev-libs/libzip-1.2.0:= ) + zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +# Bison isn't actually needed when building from a release tarball +# However, the configure script will warn if it's absent or if you +# have an incompatible version installed. See bug 593278. +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + phar? ( hash ) + qdbm? ( !gdbm ) + readline? ( !libedit ) + recode? ( !imap !mysqli !mysql ) + session-mm? ( session !threads ) + mysql? ( || ( mysqli pdo ) ) + zip-encryption? ( zip ) +" +PATCHES=( + "${FILESDIR}/php-freetype-2.9.1.patch" +) + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + dodir "${PHP_INI_DIR#${EPREFIX}}" + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Bug 669566 - necessary so that build tools are updated for commands like pecl + # Force rebuilding aclocal.m4 + rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" + eautoreconf +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sodium sodium "${EPREFIX}/usr") + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zip-encryption libzip "${EPREFIX}/usr") + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm || use lmdb || use tokyocabinet ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + $(use_with lmdb lmdb "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + ) + if use webp; then + our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) + fi + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + # --with-pcre-valgrind cannot be enabled with system pcre + # Many arches don't support pcre-jit + our_conf+=( + --with-pcre-regex="${EPREFIX}/usr" + --with-pcre-dir="${EPREFIX}/usr" + --without-pcre-valgrind + --without-pcre-jit + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp${PHP_MV}$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-7.3.0_rc2.ebuild b/dev-lang/php/php-7.3.0_rc2.ebuild deleted file mode 100644 index 38dbc82aca6b..000000000000 --- a/dev-lang/php/php-7.3.0_rc2.ebuild +++ /dev/null @@ -1,743 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit flag-o-matic eapi7-ver systemd - -MY_PV=${PV/_rc/RC} -DESCRIPTION="The PHP language runtime engine" -HOMEPAGE="https://secure.php.net/" -SRC_URI="https://downloads.php.net/~cmb/${PN}-${MY_PV}.tar.xz" - -LICENSE="PHP-3.01 - BSD - Zend-2.0 - bcmath? ( LGPL-2.1+ ) - fpm? ( BSD-2 ) - gd? ( gd ) - unicode? ( BSD-2 LGPL-2.1 )" - -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" - -S="${WORKDIR}/${PN}-${MY_PV}" - -# We can build the following SAPIs in the given order -SAPIS="embed cli cgi fpm apache2 phpdbg" - -# SAPIs and SAPI-specific USE flags (cli SAPI is default on): -IUSE="${IUSE} - ${SAPIS/cli/+cli} - threads" - -IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk - coverage +ctype curl debug - enchant exif +fileinfo +filter firebird - flatfile ftp gd gdbm gmp +hash +iconv imap inifile - intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb - mhash mssql mysql mysqli nls - oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm - readline recode selinux +session session-mm sharedmem - +simplexml snmp soap sockets sodium spell sqlite ssl - sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp - +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib" - -# The supported (that is, autodetected) versions of BDB are listed in -# the ./configure script. Other versions *work*, but we need to stick to -# the ones that can be detected to avoid a repeat of bug #564824. -COMMON_DEPEND=" - >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] - >=dev-libs/libpcre2-10.30[unicode] - fpm? ( acl? ( sys-apps/acl ) ) - apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] - =net-misc/curl-7.10.5 ) - enchant? ( =sys-libs/zlib-1.2.0.4 ) - gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) - gmp? ( dev-libs/gmp:0= ) - iconv? ( virtual/libiconv ) - imap? ( virtual/imap-c-client[kerberos=,ssl=] ) - intl? ( dev-libs/icu:= ) - iodbc? ( dev-db/libiodbc ) - kerberos? ( virtual/krb5 ) - ldap? ( >=net-nds/openldap-1.2.11 ) - ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) - libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) - lmdb? ( dev-db/lmdb:= ) - mssql? ( dev-db/freetds[mssql] ) - nls? ( sys-devel/gettext ) - oci8-instant-client? ( dev-db/oracle-instantclient-basic ) - odbc? ( >=dev-db/unixODBC-1.8.13 ) - postgres? ( dev-db/postgresql:* ) - qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline:0= ) - recode? ( app-text/recode ) - session-mm? ( dev-libs/mm ) - simplexml? ( >=dev-libs/libxml2-2.6.8 ) - snmp? ( >=net-analyzer/net-snmp-5.2 ) - soap? ( >=dev-libs/libxml2-2.6.8 ) - sodium? ( dev-libs/libsodium:= ) - spell? ( >=app-text/aspell-0.50 ) - sqlite? ( >=dev-db/sqlite-3.7.6.3 ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) ) - tokyocabinet? ( dev-db/tokyocabinet ) - truetype? ( =media-libs/freetype-2* ) - unicode? ( dev-libs/oniguruma:= ) - wddx? ( >=dev-libs/libxml2-2.6.8 ) - webp? ( media-libs/libwebp:0= ) - xml? ( >=dev-libs/libxml2-2.6.8 ) - xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) - xmlreader? ( >=dev-libs/libxml2-2.6.8 ) - xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) - xpm? ( x11-libs/libXpm ) - xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) - zip? ( >=sys-libs/zlib-1.2.0.4:0= ) - zip-encryption? ( >=dev-libs/libzip-1.2.0:= ) - zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) -" - -RDEPEND="${COMMON_DEPEND} - virtual/mta - fpm? ( - selinux? ( sec-policy/selinux-phpfpm ) - systemd? ( sys-apps/systemd ) )" - -# Bison isn't actually needed when building from a release tarball -# However, the configure script will warn if it's absent or if you -# have an incompatible version installed. See bug 593278. -DEPEND="${COMMON_DEPEND} - app-arch/xz-utils - >=sys-devel/bison-3.0.1" - -# Without USE=readline or libedit, the interactive "php -a" CLI will hang. -REQUIRED_USE=" - || ( cli cgi fpm apache2 embed phpdbg ) - cli? ( ^^ ( readline libedit ) ) - truetype? ( gd zlib ) - webp? ( gd zlib ) - cjk? ( gd zlib ) - exif? ( gd zlib ) - xpm? ( gd zlib ) - gd? ( zlib ) - simplexml? ( xml ) - soap? ( xml ) - wddx? ( xml ) - xmlrpc? ( || ( xml iconv ) ) - xmlreader? ( xml ) - xslt? ( xml ) - ldap-sasl? ( ldap ) - mhash? ( hash ) - phar? ( hash ) - qdbm? ( !gdbm ) - readline? ( !libedit ) - recode? ( !imap !mysqli !mysql ) - session-mm? ( session !threads ) - mysql? ( || ( mysqli pdo ) ) - zip-encryption? ( zip ) -" -PATCHES=( - "${FILESDIR}/php-freetype-2.9.1.patch" -) - -PHP_MV="$(ver_cut 1)" - -php_install_ini() { - local phpsapi="${1}" - - # work out where we are installing the ini file - php_set_ini_dir "${phpsapi}" - - # Always install the production INI file, bug 611214. - local phpinisrc="php.ini-production-${phpsapi}" - cp php.ini-production "${phpinisrc}" || die - - # default to /tmp for save_path, bug #282768 - sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die - - # Set the extension dir - sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ - -i "${phpinisrc}" || die - - # Set the include path to point to where we want to find PEAR packages - sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die - - dodir "${PHP_INI_DIR#${EPREFIX}}" - insinto "${PHP_INI_DIR#${EPREFIX}}" - newins "${phpinisrc}" php.ini - - elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" - elog - - dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" - dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" - - if use opcache; then - elog "Adding opcache to $PHP_EXT_INI_DIR" - echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ - "${D}/${PHP_EXT_INI_DIR}"/opcache.ini - dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ - "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" - fi - - # SAPI-specific handling - if [[ "${sapi}" == "fpm" ]] ; then - einfo "Installing FPM config files php-fpm.conf and www.conf" - insinto "${PHP_INI_DIR#${EPREFIX}}" - doins sapi/fpm/php-fpm.conf - insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" - doins sapi/fpm/www.conf - fi - - dodoc php.ini-{development,production} -} - -php_set_ini_dir() { - PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" - PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" - PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" -} - -src_prepare() { - default - - # In php-7.x, the FPM pool configuration files have been split off - # of the main config. By default the pool config files go in - # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the - # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later - # we'll install the pool configuration file "www.conf" there. - php_set_ini_dir fpm - sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ - sapi/fpm/php-fpm.conf.in \ - || die 'failed to move the include directory in php-fpm.conf' -} - -src_configure() { - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" - - # The php-fpm config file wants localstatedir to be ${EPREFIX}/var - # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. - local our_conf=( - --prefix="${PHP_DESTDIR}" - --mandir="${PHP_DESTDIR}/man" - --infodir="${PHP_DESTDIR}/info" - --libdir="${PHP_DESTDIR}/lib" - --with-libdir="$(get_libdir)" - --localstatedir="${EPREFIX}/var" - --without-pear - $(use_enable threads maintainer-zts) - ) - - our_conf+=( - $(use_with argon2 password-argon2 "${EPREFIX}/usr") - $(use_enable bcmath bcmath) - $(use_with bzip2 bz2 "${EPREFIX}/usr") - $(use_enable calendar calendar) - $(use_enable coverage gcov) - $(use_enable ctype ctype) - $(use_with curl curl "${EPREFIX}/usr") - $(use_enable xml dom) - $(use_with enchant enchant "${EPREFIX}/usr") - $(use_enable exif exif) - $(use_enable fileinfo fileinfo) - $(use_enable filter filter) - $(use_enable ftp ftp) - $(use_with nls gettext "${EPREFIX}/usr") - $(use_with gmp gmp "${EPREFIX}/usr") - $(use_enable hash hash) - $(use_with mhash mhash "${EPREFIX}/usr") - $(use_with iconv iconv \ - $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) - $(use_enable intl intl) - $(use_enable ipv6 ipv6) - $(use_enable json json) - $(use_with kerberos kerberos "${EPREFIX}/usr") - $(use_enable xml libxml) - $(use_with xml libxml-dir "${EPREFIX}/usr") - $(use_enable unicode mbstring) - $(use_with unicode onig "${EPREFIX}/usr") - $(use_with ssl openssl "${EPREFIX}/usr") - $(use_with ssl openssl-dir "${EPREFIX}/usr") - $(use_enable pcntl pcntl) - $(use_enable phar phar) - $(use_enable pdo pdo) - $(use_enable opcache opcache) - $(use_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix posix) - $(use_with spell pspell "${EPREFIX}/usr") - $(use_with recode recode "${EPREFIX}/usr") - $(use_enable simplexml simplexml) - $(use_enable sharedmem shmop) - $(use_with snmp snmp "${EPREFIX}/usr") - $(use_enable soap soap) - $(use_enable sockets sockets) - $(use_with sodium sodium "${EPREFIX}/usr") - $(use_with sqlite sqlite3 "${EPREFIX}/usr") - $(use_enable sysvipc sysvmsg) - $(use_enable sysvipc sysvsem) - $(use_enable sysvipc sysvshm) - $(use_with tidy tidy "${EPREFIX}/usr") - $(use_enable tokenizer tokenizer) - $(use_enable wddx wddx) - $(use_enable xml xml) - $(use_enable xmlreader xmlreader) - $(use_enable xmlwriter xmlwriter) - $(use_with xmlrpc xmlrpc) - $(use_with xslt xsl "${EPREFIX}/usr") - $(use_enable zip zip) - $(use_with zip-encryption libzip "${EPREFIX}/usr") - $(use_with zlib zlib "${EPREFIX}/usr") - $(use_enable debug debug) - ) - - # DBA support - if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ - || use qdbm || use lmdb || use tokyocabinet ; then - our_conf+=( "--enable-dba${shared}" ) - fi - - # DBA drivers support - our_conf+=( - $(use_with cdb cdb) - $(use_with berkdb db4 "${EPREFIX}/usr") - $(use_enable flatfile flatfile) - $(use_with gdbm gdbm "${EPREFIX}/usr") - $(use_enable inifile inifile) - $(use_with qdbm qdbm "${EPREFIX}/usr") - $(use_with lmdb lmdb "${EPREFIX}/usr") - ) - - # Support for the GD graphics library - our_conf+=( - $(use_with truetype freetype-dir "${EPREFIX}/usr") - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg-dir "${EPREFIX}/usr") - $(use_with gd png-dir "${EPREFIX}/usr") - $(use_with xpm xpm-dir "${EPREFIX}/usr") - ) - if use webp; then - our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) - fi - # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_with gd gd) ) - - # IMAP support - if use imap ; then - our_conf+=( - $(use_with imap imap "${EPREFIX}/usr") - $(use_with ssl imap-ssl "${EPREFIX}/usr") - ) - fi - - # Interbase/firebird support - our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) - - # LDAP support - if use ldap ; then - our_conf+=( - $(use_with ldap ldap "${EPREFIX}/usr") - $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") - ) - fi - - # MySQL support - local mysqllib="mysqlnd" - local mysqlilib="mysqlnd" - - our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) - - local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" - if use mysql || use mysqli ; then - our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) - fi - - # ODBC support - our_conf+=( - $(use_with odbc unixODBC "${EPREFIX}/usr") - $(use_with iodbc iodbc "${EPREFIX}/usr") - ) - - # Oracle support - our_conf+=( $(use_with oci8-instant-client oci8) ) - - # PDO support - if use pdo ; then - our_conf+=( - $(use_with mssql pdo-dblib "${EPREFIX}/usr") - $(use_with mysql pdo-mysql "${mysqllib}") - $(use_with postgres pdo-pgsql) - $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") - $(use_with firebird pdo-firebird "${EPREFIX}/usr") - $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") - $(use_with oci8-instant-client pdo-oci) - ) - fi - - # readline/libedit support - our_conf+=( - $(use_with readline readline "${EPREFIX}/usr") - $(use_with libedit libedit "${EPREFIX}/usr") - ) - - # Session support - if use session ; then - our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) - else - our_conf+=( $(use_enable session session) ) - fi - - # Use pic for shared modules such as apache2's mod_php - our_conf+=( --with-pic ) - - # we use the system copy of pcre - # --with-pcre-regex affects ext/pcre - # --with-pcre-dir affects ext/filter and ext/zip - # --with-pcre-valgrind cannot be enabled with system pcre - # Many arches don't support pcre-jit - our_conf+=( - --with-pcre-regex="${EPREFIX}/usr" - --with-pcre-dir="${EPREFIX}/usr" - --without-pcre-valgrind - --without-pcre-jit - ) - - # Catch CFLAGS problems - # Fixes bug #14067. - # Changed order to run it in reverse for bug #32022 and #12021. - replace-cpu-flags "k6*" "i586" - - # Cache the ./configure test results between SAPIs. - our_conf+=( --cache-file="${T}/config.cache" ) - - # Support user-passed configuration parameters - our_conf+=( ${EXTRA_ECONF:-} ) - - # Support the Apache2 extras, they must be set globally for all - # SAPIs to work correctly, especially for external PHP extensions - - mkdir -p "${WORKDIR}/sapis-build" || die - for one_sapi in $SAPIS ; do - use "${one_sapi}" || continue - php_set_ini_dir "${one_sapi}" - - # The BUILD_DIR variable is used to determine where to output - # the files that autotools creates. This was all originally - # based on the autotools-utils eclass. - BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" - cp -a "${S}" "${BUILD_DIR}" || die - cd "${BUILD_DIR}" || die - - local sapi_conf=( - --with-config-file-path="${PHP_INI_DIR}" - --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" - ) - - for sapi in $SAPIS ; do - case "$sapi" in - cli|cgi|embed|fpm|phpdbg) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( "--enable-${sapi}" ) - if [[ "fpm" == "${sapi}" ]] ; then - sapi_conf+=( - $(use_with acl fpm-acl) - $(use_with systemd fpm-systemd) - ) - fi - else - sapi_conf+=( "--disable-${sapi}" ) - fi - ;; - - apache2) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) - else - sapi_conf+=( --without-apxs2 ) - fi - ;; - esac - done - - # Construct the $myeconfargs array by concatenating $our_conf - # (the common args) and $sapi_conf (the SAPI-specific args). - local myeconfargs=( "${our_conf[@]}" ) - myeconfargs+=( "${sapi_conf[@]}" ) - - pushd "${BUILD_DIR}" > /dev/null || die - econf "${myeconfargs[@]}" - popd > /dev/null || die - done -} - -src_compile() { - # snmp seems to run during src_compile, too (bug #324739) - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - for sapi in ${SAPIS} ; do - if use "${sapi}"; then - cd "${WORKDIR}/sapis-build/$sapi" || \ - die "Failed to change dir to ${WORKDIR}/sapis-build/$1" - emake - fi - done -} - -src_install() { - # see bug #324739 for what happens when we don't have that - addpredict /usr/share/snmp/mibs/.index #nowarn - - # grab the first SAPI that got built and install common files from there - local first_sapi="" - for sapi in $SAPIS ; do - if use $sapi ; then - first_sapi=$sapi - break - fi - done - - # Makefile forgets to create this before trying to write to it... - dodir "${PHP_DESTDIR#${EPREFIX}}/bin" - - # Install php environment (without any sapis) - cd "${WORKDIR}/sapis-build/$first_sapi" || die - emake INSTALL_ROOT="${D}" \ - install-build install-headers install-programs - - local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" - - # Create the directory where we'll put version-specific php scripts - keepdir "/usr/share/php${PHP_MV}" - - local sapi="", file="" - local sapi_list="" - - for sapi in ${SAPIS}; do - if use "${sapi}" ; then - einfo "Installing SAPI: ${sapi}" - cd "${WORKDIR}/sapis-build/${sapi}" || die - - if [[ "${sapi}" == "apache2" ]] ; then - # We're specifically not using emake install-sapi as libtool - # may cause unnecessary relink failures (see bug #351266) - insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" - newins ".libs/libphp${PHP_MV}$(get_libname)" \ - "libphp${PHP_MV}$(get_libname)" - keepdir "/usr/$(get_libdir)/apache2/modules" - else - # needed each time, php_install_ini would reset it - local dest="${PHP_DESTDIR#${EPREFIX}}" - into "${dest}" - case "$sapi" in - cli) - source="sapi/cli/php" - ;; - cgi) - source="sapi/cgi/php-cgi" - ;; - fpm) - source="sapi/fpm/php-fpm" - ;; - embed) - source="libs/libphp${PHP_MV}$(get_libname)" - ;; - phpdbg) - source="sapi/phpdbg/phpdbg" - ;; - *) - die "unhandled sapi in src_install" - ;; - esac - - if [[ "${source}" == *"$(get_libname)" ]]; then - dolib.so "${source}" - else - dobin "${source}" - local name="$(basename ${source})" - dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" - fi - fi - - php_install_ini "${sapi}" - - # construct correct SAPI string for php-config - # thanks to ferringb for the bash voodoo - if [[ "${sapi}" == "apache2" ]]; then - sapi_list="${sapi_list:+${sapi_list} }apache2handler" - else - sapi_list="${sapi_list:+${sapi_list} }${sapi}" - fi - fi - done - - # Installing opcache module - if use opcache ; then - into "${PHP_DESTDIR#${EPREFIX}}" - dolib.so "modules/opcache$(get_libname)" - fi - - # Install env.d files - newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" - sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - - # set php-config variable correctly (bug #278439) - sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ - "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die - - if use fpm ; then - if use systemd; then - systemd_newunit "${FILESDIR}/php-fpm_at.service" \ - "php-fpm@${SLOT}.service" - else - systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ - "php-fpm@${SLOT}.service" - fi - fi -} - -src_test() { - echo ">>> Test phase [test]: ${CATEGORY}/${PF}" - PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" - if [[ ! -x "${PHP_BIN}" ]] ; then - ewarn "Test phase requires USE=cli, skipping" - return - else - export TEST_PHP_EXECUTABLE="${PHP_BIN}" - fi - - if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then - export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" - fi - - if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then - export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" - fi - - REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ - "session.save_path=${T}" \ - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ - "session.save_path=${T}" - - for name in ${EXPECTED_TEST_FAILURES}; do - mv "${name}.out" "${name}.out.orig" 2>/dev/null || die - done - - local failed="$(find -name '*.out')" - if [[ ${failed} != "" ]] ; then - ewarn "The following test cases failed unexpectedly:" - for name in ${failed}; do - ewarn " ${name/.out/}" - done - else - einfo "No unexpected test failures, all fine" - fi - - if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then - local passed="" - for name in ${EXPECTED_TEST_FAILURES}; do - [[ -f "${name}.diff" ]] && continue - passed="${passed} ${name}" - done - if [[ ${passed} != "" ]] ; then - einfo "The following test cases passed unexpectedly:" - for name in ${passed}; do - ewarn " ${passed}" - done - else - einfo "None of the known-to-fail tests passed, all fine" - fi - fi -} - -pkg_postinst() { - # Output some general info to the user - if use apache2 ; then - elog - elog "To enable PHP in apache, you will need to add \"-D PHP\" to" - elog "your apache2 command. OpenRC users can append that string to" - elog "APACHE2_OPTS in /etc/conf.d/apache2." - elog - elog "The apache module configuration file 70_mod_php.conf is" - elog "provided (and maintained) by eselect-php." - elog - fi - - # Create the symlinks for php - for m in ${SAPIS}; do - [[ ${m} == 'embed' ]] && continue; - if use $m ; then - local ci=$(eselect php show $m) - if [[ -z $ci ]]; then - eselect php set $m php${SLOT} || die - einfo "Switched ${m} to use php:${SLOT}" - einfo - elif [[ $ci != "php${SLOT}" ]] ; then - elog "To switch $m to use php:${SLOT}, run" - elog " eselect php set $m php${SLOT}" - elog - fi - fi - done - - # Remove dead symlinks for SAPIs that were just disabled. For - # example, if the user has the cgi SAPI enabled, then he has an - # eselect-php symlink for it. If he later reinstalls PHP with - # USE="-cgi", that symlink will break. This call to eselect is - # supposed to remove that dead link per bug 572436. - eselect php cleanup || die - - if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then - elog "To build extensions for this version of PHP, you will need to" - elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." - elog - fi - - # Warn about the removal of PHP_INI_VERSION if the user has it set. - if [[ -n "${PHP_INI_VERSION}" ]]; then - ewarn 'The PHP_INI_VERSION variable has been phased out. You may' - ewarn 'remove it from your configuration at your convenience. See' - ewarn - ewarn ' https://bugs.gentoo.org/611214' - ewarn - ewarn 'for more information.' - fi - - elog "For details on how version slotting works, please see" - elog "the wiki:" - elog - elog " https://wiki.gentoo.org/wiki/PHP" - elog -} - -pkg_postrm() { - # This serves two purposes. First, if we have just removed the last - # installed version of PHP, then this will remove any dead symlinks - # belonging to eselect-php. Second, if a user upgrades slots from - # (say) 5.6 to 7.0 and depcleans the old slot, then this will update - # his existing symlinks to point to the new 7.0 installation. The - # latter is bug 432962. - # - # Note: the eselect-php package may not be installed at this point, - # so we can't die() if this command fails. - eselect php cleanup -} diff --git a/dev-lang/php/php-7.3.0_rc3.ebuild b/dev-lang/php/php-7.3.0_rc3.ebuild deleted file mode 100644 index 865dac62201a..000000000000 --- a/dev-lang/php/php-7.3.0_rc3.ebuild +++ /dev/null @@ -1,748 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit flag-o-matic eapi7-ver systemd autotools - -MY_PV=${PV/_rc/RC} -DESCRIPTION="The PHP language runtime engine" -HOMEPAGE="https://secure.php.net/" -SRC_URI="https://downloads.php.net/~cmb/${PN}-${MY_PV}.tar.xz" - -LICENSE="PHP-3.01 - BSD - Zend-2.0 - bcmath? ( LGPL-2.1+ ) - fpm? ( BSD-2 ) - gd? ( gd ) - unicode? ( BSD-2 LGPL-2.1 )" - -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" - -S="${WORKDIR}/${PN}-${MY_PV}" - -# We can build the following SAPIs in the given order -SAPIS="embed cli cgi fpm apache2 phpdbg" - -# SAPIs and SAPI-specific USE flags (cli SAPI is default on): -IUSE="${IUSE} - ${SAPIS/cli/+cli} - threads" - -IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk - coverage +ctype curl debug - enchant exif +fileinfo +filter firebird - flatfile ftp gd gdbm gmp +hash +iconv imap inifile - intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb - mhash mssql mysql mysqli nls - oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm - readline recode selinux +session session-mm sharedmem - +simplexml snmp soap sockets sodium spell sqlite ssl - sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp - +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib" - -# The supported (that is, autodetected) versions of BDB are listed in -# the ./configure script. Other versions *work*, but we need to stick to -# the ones that can be detected to avoid a repeat of bug #564824. -COMMON_DEPEND=" - >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] - >=dev-libs/libpcre2-10.30[unicode] - fpm? ( acl? ( sys-apps/acl ) ) - apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] - =net-misc/curl-7.10.5 ) - enchant? ( =sys-libs/zlib-1.2.0.4 ) - gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) - gmp? ( dev-libs/gmp:0= ) - iconv? ( virtual/libiconv ) - imap? ( virtual/imap-c-client[kerberos=,ssl=] ) - intl? ( dev-libs/icu:= ) - iodbc? ( dev-db/libiodbc ) - kerberos? ( virtual/krb5 ) - ldap? ( >=net-nds/openldap-1.2.11 ) - ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) - libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) - lmdb? ( dev-db/lmdb:= ) - mssql? ( dev-db/freetds[mssql] ) - nls? ( sys-devel/gettext ) - oci8-instant-client? ( dev-db/oracle-instantclient-basic ) - odbc? ( >=dev-db/unixODBC-1.8.13 ) - postgres? ( dev-db/postgresql:* ) - qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline:0= ) - recode? ( app-text/recode ) - session-mm? ( dev-libs/mm ) - simplexml? ( >=dev-libs/libxml2-2.6.8 ) - snmp? ( >=net-analyzer/net-snmp-5.2 ) - soap? ( >=dev-libs/libxml2-2.6.8 ) - sodium? ( dev-libs/libsodium:= ) - spell? ( >=app-text/aspell-0.50 ) - sqlite? ( >=dev-db/sqlite-3.7.6.3 ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) ) - tokyocabinet? ( dev-db/tokyocabinet ) - truetype? ( =media-libs/freetype-2* ) - unicode? ( dev-libs/oniguruma:= ) - wddx? ( >=dev-libs/libxml2-2.6.8 ) - webp? ( media-libs/libwebp:0= ) - xml? ( >=dev-libs/libxml2-2.6.8 ) - xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) - xmlreader? ( >=dev-libs/libxml2-2.6.8 ) - xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) - xpm? ( x11-libs/libXpm ) - xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) - zip? ( >=sys-libs/zlib-1.2.0.4:0= ) - zip-encryption? ( >=dev-libs/libzip-1.2.0:= ) - zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) -" - -RDEPEND="${COMMON_DEPEND} - virtual/mta - fpm? ( - selinux? ( sec-policy/selinux-phpfpm ) - systemd? ( sys-apps/systemd ) )" - -# Bison isn't actually needed when building from a release tarball -# However, the configure script will warn if it's absent or if you -# have an incompatible version installed. See bug 593278. -DEPEND="${COMMON_DEPEND} - app-arch/xz-utils - >=sys-devel/bison-3.0.1" - -# Without USE=readline or libedit, the interactive "php -a" CLI will hang. -REQUIRED_USE=" - || ( cli cgi fpm apache2 embed phpdbg ) - cli? ( ^^ ( readline libedit ) ) - truetype? ( gd zlib ) - webp? ( gd zlib ) - cjk? ( gd zlib ) - exif? ( gd zlib ) - xpm? ( gd zlib ) - gd? ( zlib ) - simplexml? ( xml ) - soap? ( xml ) - wddx? ( xml ) - xmlrpc? ( || ( xml iconv ) ) - xmlreader? ( xml ) - xslt? ( xml ) - ldap-sasl? ( ldap ) - mhash? ( hash ) - phar? ( hash ) - qdbm? ( !gdbm ) - readline? ( !libedit ) - recode? ( !imap !mysqli !mysql ) - session-mm? ( session !threads ) - mysql? ( || ( mysqli pdo ) ) - zip-encryption? ( zip ) -" -PATCHES=( - "${FILESDIR}/php-freetype-2.9.1.patch" -) - -PHP_MV="$(ver_cut 1)" - -php_install_ini() { - local phpsapi="${1}" - - # work out where we are installing the ini file - php_set_ini_dir "${phpsapi}" - - # Always install the production INI file, bug 611214. - local phpinisrc="php.ini-production-${phpsapi}" - cp php.ini-production "${phpinisrc}" || die - - # default to /tmp for save_path, bug #282768 - sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die - - # Set the extension dir - sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ - -i "${phpinisrc}" || die - - # Set the include path to point to where we want to find PEAR packages - sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die - - dodir "${PHP_INI_DIR#${EPREFIX}}" - insinto "${PHP_INI_DIR#${EPREFIX}}" - newins "${phpinisrc}" php.ini - - elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" - elog - - dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" - dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" - - if use opcache; then - elog "Adding opcache to $PHP_EXT_INI_DIR" - echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ - "${D}/${PHP_EXT_INI_DIR}"/opcache.ini - dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ - "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" - fi - - # SAPI-specific handling - if [[ "${sapi}" == "fpm" ]] ; then - einfo "Installing FPM config files php-fpm.conf and www.conf" - insinto "${PHP_INI_DIR#${EPREFIX}}" - doins sapi/fpm/php-fpm.conf - insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" - doins sapi/fpm/www.conf - fi - - dodoc php.ini-{development,production} -} - -php_set_ini_dir() { - PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" - PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" - PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" -} - -src_prepare() { - default - - # In php-7.x, the FPM pool configuration files have been split off - # of the main config. By default the pool config files go in - # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the - # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later - # we'll install the pool configuration file "www.conf" there. - php_set_ini_dir fpm - sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ - sapi/fpm/php-fpm.conf.in \ - || die 'failed to move the include directory in php-fpm.conf' - - # Bug 669566 - necessary so that build tools are updated for commands like pecl - # Force rebuilding aclocal.m4 - rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" - eautoreconf -} - -src_configure() { - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" - - # The php-fpm config file wants localstatedir to be ${EPREFIX}/var - # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. - local our_conf=( - --prefix="${PHP_DESTDIR}" - --mandir="${PHP_DESTDIR}/man" - --infodir="${PHP_DESTDIR}/info" - --libdir="${PHP_DESTDIR}/lib" - --with-libdir="$(get_libdir)" - --localstatedir="${EPREFIX}/var" - --without-pear - $(use_enable threads maintainer-zts) - ) - - our_conf+=( - $(use_with argon2 password-argon2 "${EPREFIX}/usr") - $(use_enable bcmath bcmath) - $(use_with bzip2 bz2 "${EPREFIX}/usr") - $(use_enable calendar calendar) - $(use_enable coverage gcov) - $(use_enable ctype ctype) - $(use_with curl curl "${EPREFIX}/usr") - $(use_enable xml dom) - $(use_with enchant enchant "${EPREFIX}/usr") - $(use_enable exif exif) - $(use_enable fileinfo fileinfo) - $(use_enable filter filter) - $(use_enable ftp ftp) - $(use_with nls gettext "${EPREFIX}/usr") - $(use_with gmp gmp "${EPREFIX}/usr") - $(use_enable hash hash) - $(use_with mhash mhash "${EPREFIX}/usr") - $(use_with iconv iconv \ - $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) - $(use_enable intl intl) - $(use_enable ipv6 ipv6) - $(use_enable json json) - $(use_with kerberos kerberos "${EPREFIX}/usr") - $(use_enable xml libxml) - $(use_with xml libxml-dir "${EPREFIX}/usr") - $(use_enable unicode mbstring) - $(use_with unicode onig "${EPREFIX}/usr") - $(use_with ssl openssl "${EPREFIX}/usr") - $(use_with ssl openssl-dir "${EPREFIX}/usr") - $(use_enable pcntl pcntl) - $(use_enable phar phar) - $(use_enable pdo pdo) - $(use_enable opcache opcache) - $(use_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix posix) - $(use_with spell pspell "${EPREFIX}/usr") - $(use_with recode recode "${EPREFIX}/usr") - $(use_enable simplexml simplexml) - $(use_enable sharedmem shmop) - $(use_with snmp snmp "${EPREFIX}/usr") - $(use_enable soap soap) - $(use_enable sockets sockets) - $(use_with sodium sodium "${EPREFIX}/usr") - $(use_with sqlite sqlite3 "${EPREFIX}/usr") - $(use_enable sysvipc sysvmsg) - $(use_enable sysvipc sysvsem) - $(use_enable sysvipc sysvshm) - $(use_with tidy tidy "${EPREFIX}/usr") - $(use_enable tokenizer tokenizer) - $(use_enable wddx wddx) - $(use_enable xml xml) - $(use_enable xmlreader xmlreader) - $(use_enable xmlwriter xmlwriter) - $(use_with xmlrpc xmlrpc) - $(use_with xslt xsl "${EPREFIX}/usr") - $(use_enable zip zip) - $(use_with zip-encryption libzip "${EPREFIX}/usr") - $(use_with zlib zlib "${EPREFIX}/usr") - $(use_enable debug debug) - ) - - # DBA support - if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ - || use qdbm || use lmdb || use tokyocabinet ; then - our_conf+=( "--enable-dba${shared}" ) - fi - - # DBA drivers support - our_conf+=( - $(use_with cdb cdb) - $(use_with berkdb db4 "${EPREFIX}/usr") - $(use_enable flatfile flatfile) - $(use_with gdbm gdbm "${EPREFIX}/usr") - $(use_enable inifile inifile) - $(use_with qdbm qdbm "${EPREFIX}/usr") - $(use_with lmdb lmdb "${EPREFIX}/usr") - ) - - # Support for the GD graphics library - our_conf+=( - $(use_with truetype freetype-dir "${EPREFIX}/usr") - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg-dir "${EPREFIX}/usr") - $(use_with gd png-dir "${EPREFIX}/usr") - $(use_with xpm xpm-dir "${EPREFIX}/usr") - ) - if use webp; then - our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) - fi - # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_with gd gd) ) - - # IMAP support - if use imap ; then - our_conf+=( - $(use_with imap imap "${EPREFIX}/usr") - $(use_with ssl imap-ssl "${EPREFIX}/usr") - ) - fi - - # Interbase/firebird support - our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) - - # LDAP support - if use ldap ; then - our_conf+=( - $(use_with ldap ldap "${EPREFIX}/usr") - $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") - ) - fi - - # MySQL support - local mysqllib="mysqlnd" - local mysqlilib="mysqlnd" - - our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) - - local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" - if use mysql || use mysqli ; then - our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) - fi - - # ODBC support - our_conf+=( - $(use_with odbc unixODBC "${EPREFIX}/usr") - $(use_with iodbc iodbc "${EPREFIX}/usr") - ) - - # Oracle support - our_conf+=( $(use_with oci8-instant-client oci8) ) - - # PDO support - if use pdo ; then - our_conf+=( - $(use_with mssql pdo-dblib "${EPREFIX}/usr") - $(use_with mysql pdo-mysql "${mysqllib}") - $(use_with postgres pdo-pgsql) - $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") - $(use_with firebird pdo-firebird "${EPREFIX}/usr") - $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") - $(use_with oci8-instant-client pdo-oci) - ) - fi - - # readline/libedit support - our_conf+=( - $(use_with readline readline "${EPREFIX}/usr") - $(use_with libedit libedit "${EPREFIX}/usr") - ) - - # Session support - if use session ; then - our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) - else - our_conf+=( $(use_enable session session) ) - fi - - # Use pic for shared modules such as apache2's mod_php - our_conf+=( --with-pic ) - - # we use the system copy of pcre - # --with-pcre-regex affects ext/pcre - # --with-pcre-dir affects ext/filter and ext/zip - # --with-pcre-valgrind cannot be enabled with system pcre - # Many arches don't support pcre-jit - our_conf+=( - --with-pcre-regex="${EPREFIX}/usr" - --with-pcre-dir="${EPREFIX}/usr" - --without-pcre-valgrind - --without-pcre-jit - ) - - # Catch CFLAGS problems - # Fixes bug #14067. - # Changed order to run it in reverse for bug #32022 and #12021. - replace-cpu-flags "k6*" "i586" - - # Cache the ./configure test results between SAPIs. - our_conf+=( --cache-file="${T}/config.cache" ) - - # Support user-passed configuration parameters - our_conf+=( ${EXTRA_ECONF:-} ) - - # Support the Apache2 extras, they must be set globally for all - # SAPIs to work correctly, especially for external PHP extensions - - mkdir -p "${WORKDIR}/sapis-build" || die - for one_sapi in $SAPIS ; do - use "${one_sapi}" || continue - php_set_ini_dir "${one_sapi}" - - # The BUILD_DIR variable is used to determine where to output - # the files that autotools creates. This was all originally - # based on the autotools-utils eclass. - BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" - cp -a "${S}" "${BUILD_DIR}" || die - cd "${BUILD_DIR}" || die - - local sapi_conf=( - --with-config-file-path="${PHP_INI_DIR}" - --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" - ) - - for sapi in $SAPIS ; do - case "$sapi" in - cli|cgi|embed|fpm|phpdbg) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( "--enable-${sapi}" ) - if [[ "fpm" == "${sapi}" ]] ; then - sapi_conf+=( - $(use_with acl fpm-acl) - $(use_with systemd fpm-systemd) - ) - fi - else - sapi_conf+=( "--disable-${sapi}" ) - fi - ;; - - apache2) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) - else - sapi_conf+=( --without-apxs2 ) - fi - ;; - esac - done - - # Construct the $myeconfargs array by concatenating $our_conf - # (the common args) and $sapi_conf (the SAPI-specific args). - local myeconfargs=( "${our_conf[@]}" ) - myeconfargs+=( "${sapi_conf[@]}" ) - - pushd "${BUILD_DIR}" > /dev/null || die - econf "${myeconfargs[@]}" - popd > /dev/null || die - done -} - -src_compile() { - # snmp seems to run during src_compile, too (bug #324739) - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - for sapi in ${SAPIS} ; do - if use "${sapi}"; then - cd "${WORKDIR}/sapis-build/$sapi" || \ - die "Failed to change dir to ${WORKDIR}/sapis-build/$1" - emake - fi - done -} - -src_install() { - # see bug #324739 for what happens when we don't have that - addpredict /usr/share/snmp/mibs/.index #nowarn - - # grab the first SAPI that got built and install common files from there - local first_sapi="" - for sapi in $SAPIS ; do - if use $sapi ; then - first_sapi=$sapi - break - fi - done - - # Makefile forgets to create this before trying to write to it... - dodir "${PHP_DESTDIR#${EPREFIX}}/bin" - - # Install php environment (without any sapis) - cd "${WORKDIR}/sapis-build/$first_sapi" || die - emake INSTALL_ROOT="${D}" \ - install-build install-headers install-programs - - local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" - - # Create the directory where we'll put version-specific php scripts - keepdir "/usr/share/php${PHP_MV}" - - local sapi="", file="" - local sapi_list="" - - for sapi in ${SAPIS}; do - if use "${sapi}" ; then - einfo "Installing SAPI: ${sapi}" - cd "${WORKDIR}/sapis-build/${sapi}" || die - - if [[ "${sapi}" == "apache2" ]] ; then - # We're specifically not using emake install-sapi as libtool - # may cause unnecessary relink failures (see bug #351266) - insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" - newins ".libs/libphp${PHP_MV}$(get_libname)" \ - "libphp${PHP_MV}$(get_libname)" - keepdir "/usr/$(get_libdir)/apache2/modules" - else - # needed each time, php_install_ini would reset it - local dest="${PHP_DESTDIR#${EPREFIX}}" - into "${dest}" - case "$sapi" in - cli) - source="sapi/cli/php" - ;; - cgi) - source="sapi/cgi/php-cgi" - ;; - fpm) - source="sapi/fpm/php-fpm" - ;; - embed) - source="libs/libphp${PHP_MV}$(get_libname)" - ;; - phpdbg) - source="sapi/phpdbg/phpdbg" - ;; - *) - die "unhandled sapi in src_install" - ;; - esac - - if [[ "${source}" == *"$(get_libname)" ]]; then - dolib.so "${source}" - else - dobin "${source}" - local name="$(basename ${source})" - dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" - fi - fi - - php_install_ini "${sapi}" - - # construct correct SAPI string for php-config - # thanks to ferringb for the bash voodoo - if [[ "${sapi}" == "apache2" ]]; then - sapi_list="${sapi_list:+${sapi_list} }apache2handler" - else - sapi_list="${sapi_list:+${sapi_list} }${sapi}" - fi - fi - done - - # Installing opcache module - if use opcache ; then - into "${PHP_DESTDIR#${EPREFIX}}" - dolib.so "modules/opcache$(get_libname)" - fi - - # Install env.d files - newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" - sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - - # set php-config variable correctly (bug #278439) - sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ - "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die - - if use fpm ; then - if use systemd; then - systemd_newunit "${FILESDIR}/php-fpm_at.service" \ - "php-fpm@${SLOT}.service" - else - systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ - "php-fpm@${SLOT}.service" - fi - fi -} - -src_test() { - echo ">>> Test phase [test]: ${CATEGORY}/${PF}" - PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" - if [[ ! -x "${PHP_BIN}" ]] ; then - ewarn "Test phase requires USE=cli, skipping" - return - else - export TEST_PHP_EXECUTABLE="${PHP_BIN}" - fi - - if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then - export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" - fi - - if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then - export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" - fi - - REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ - "session.save_path=${T}" \ - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ - "session.save_path=${T}" - - for name in ${EXPECTED_TEST_FAILURES}; do - mv "${name}.out" "${name}.out.orig" 2>/dev/null || die - done - - local failed="$(find -name '*.out')" - if [[ ${failed} != "" ]] ; then - ewarn "The following test cases failed unexpectedly:" - for name in ${failed}; do - ewarn " ${name/.out/}" - done - else - einfo "No unexpected test failures, all fine" - fi - - if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then - local passed="" - for name in ${EXPECTED_TEST_FAILURES}; do - [[ -f "${name}.diff" ]] && continue - passed="${passed} ${name}" - done - if [[ ${passed} != "" ]] ; then - einfo "The following test cases passed unexpectedly:" - for name in ${passed}; do - ewarn " ${passed}" - done - else - einfo "None of the known-to-fail tests passed, all fine" - fi - fi -} - -pkg_postinst() { - # Output some general info to the user - if use apache2 ; then - elog - elog "To enable PHP in apache, you will need to add \"-D PHP\" to" - elog "your apache2 command. OpenRC users can append that string to" - elog "APACHE2_OPTS in /etc/conf.d/apache2." - elog - elog "The apache module configuration file 70_mod_php.conf is" - elog "provided (and maintained) by eselect-php." - elog - fi - - # Create the symlinks for php - for m in ${SAPIS}; do - [[ ${m} == 'embed' ]] && continue; - if use $m ; then - local ci=$(eselect php show $m) - if [[ -z $ci ]]; then - eselect php set $m php${SLOT} || die - einfo "Switched ${m} to use php:${SLOT}" - einfo - elif [[ $ci != "php${SLOT}" ]] ; then - elog "To switch $m to use php:${SLOT}, run" - elog " eselect php set $m php${SLOT}" - elog - fi - fi - done - - # Remove dead symlinks for SAPIs that were just disabled. For - # example, if the user has the cgi SAPI enabled, then he has an - # eselect-php symlink for it. If he later reinstalls PHP with - # USE="-cgi", that symlink will break. This call to eselect is - # supposed to remove that dead link per bug 572436. - eselect php cleanup || die - - if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then - elog "To build extensions for this version of PHP, you will need to" - elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." - elog - fi - - # Warn about the removal of PHP_INI_VERSION if the user has it set. - if [[ -n "${PHP_INI_VERSION}" ]]; then - ewarn 'The PHP_INI_VERSION variable has been phased out. You may' - ewarn 'remove it from your configuration at your convenience. See' - ewarn - ewarn ' https://bugs.gentoo.org/611214' - ewarn - ewarn 'for more information.' - fi - - elog "For details on how version slotting works, please see" - elog "the wiki:" - elog - elog " https://wiki.gentoo.org/wiki/PHP" - elog -} - -pkg_postrm() { - # This serves two purposes. First, if we have just removed the last - # installed version of PHP, then this will remove any dead symlinks - # belonging to eselect-php. Second, if a user upgrades slots from - # (say) 5.6 to 7.0 and depcleans the old slot, then this will update - # his existing symlinks to point to the new 7.0 installation. The - # latter is bug 432962. - # - # Note: the eselect-php package may not be installed at this point, - # so we can't die() if this command fails. - eselect php cleanup -} diff --git a/dev-lang/php/php-7.3.0_rc5.ebuild b/dev-lang/php/php-7.3.0_rc5.ebuild deleted file mode 100644 index 865dac62201a..000000000000 --- a/dev-lang/php/php-7.3.0_rc5.ebuild +++ /dev/null @@ -1,748 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit flag-o-matic eapi7-ver systemd autotools - -MY_PV=${PV/_rc/RC} -DESCRIPTION="The PHP language runtime engine" -HOMEPAGE="https://secure.php.net/" -SRC_URI="https://downloads.php.net/~cmb/${PN}-${MY_PV}.tar.xz" - -LICENSE="PHP-3.01 - BSD - Zend-2.0 - bcmath? ( LGPL-2.1+ ) - fpm? ( BSD-2 ) - gd? ( gd ) - unicode? ( BSD-2 LGPL-2.1 )" - -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" - -S="${WORKDIR}/${PN}-${MY_PV}" - -# We can build the following SAPIs in the given order -SAPIS="embed cli cgi fpm apache2 phpdbg" - -# SAPIs and SAPI-specific USE flags (cli SAPI is default on): -IUSE="${IUSE} - ${SAPIS/cli/+cli} - threads" - -IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk - coverage +ctype curl debug - enchant exif +fileinfo +filter firebird - flatfile ftp gd gdbm gmp +hash +iconv imap inifile - intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb - mhash mssql mysql mysqli nls - oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm - readline recode selinux +session session-mm sharedmem - +simplexml snmp soap sockets sodium spell sqlite ssl - sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp - +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib" - -# The supported (that is, autodetected) versions of BDB are listed in -# the ./configure script. Other versions *work*, but we need to stick to -# the ones that can be detected to avoid a repeat of bug #564824. -COMMON_DEPEND=" - >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] - >=dev-libs/libpcre2-10.30[unicode] - fpm? ( acl? ( sys-apps/acl ) ) - apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=] - =net-misc/curl-7.10.5 ) - enchant? ( =sys-libs/zlib-1.2.0.4 ) - gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) - gmp? ( dev-libs/gmp:0= ) - iconv? ( virtual/libiconv ) - imap? ( virtual/imap-c-client[kerberos=,ssl=] ) - intl? ( dev-libs/icu:= ) - iodbc? ( dev-db/libiodbc ) - kerberos? ( virtual/krb5 ) - ldap? ( >=net-nds/openldap-1.2.11 ) - ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) - libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) ) - lmdb? ( dev-db/lmdb:= ) - mssql? ( dev-db/freetds[mssql] ) - nls? ( sys-devel/gettext ) - oci8-instant-client? ( dev-db/oracle-instantclient-basic ) - odbc? ( >=dev-db/unixODBC-1.8.13 ) - postgres? ( dev-db/postgresql:* ) - qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline:0= ) - recode? ( app-text/recode ) - session-mm? ( dev-libs/mm ) - simplexml? ( >=dev-libs/libxml2-2.6.8 ) - snmp? ( >=net-analyzer/net-snmp-5.2 ) - soap? ( >=dev-libs/libxml2-2.6.8 ) - sodium? ( dev-libs/libsodium:= ) - spell? ( >=app-text/aspell-0.50 ) - sqlite? ( >=dev-db/sqlite-3.7.6.3 ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) ) - tokyocabinet? ( dev-db/tokyocabinet ) - truetype? ( =media-libs/freetype-2* ) - unicode? ( dev-libs/oniguruma:= ) - wddx? ( >=dev-libs/libxml2-2.6.8 ) - webp? ( media-libs/libwebp:0= ) - xml? ( >=dev-libs/libxml2-2.6.8 ) - xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) - xmlreader? ( >=dev-libs/libxml2-2.6.8 ) - xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) - xpm? ( x11-libs/libXpm ) - xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) - zip? ( >=sys-libs/zlib-1.2.0.4:0= ) - zip-encryption? ( >=dev-libs/libzip-1.2.0:= ) - zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) -" - -RDEPEND="${COMMON_DEPEND} - virtual/mta - fpm? ( - selinux? ( sec-policy/selinux-phpfpm ) - systemd? ( sys-apps/systemd ) )" - -# Bison isn't actually needed when building from a release tarball -# However, the configure script will warn if it's absent or if you -# have an incompatible version installed. See bug 593278. -DEPEND="${COMMON_DEPEND} - app-arch/xz-utils - >=sys-devel/bison-3.0.1" - -# Without USE=readline or libedit, the interactive "php -a" CLI will hang. -REQUIRED_USE=" - || ( cli cgi fpm apache2 embed phpdbg ) - cli? ( ^^ ( readline libedit ) ) - truetype? ( gd zlib ) - webp? ( gd zlib ) - cjk? ( gd zlib ) - exif? ( gd zlib ) - xpm? ( gd zlib ) - gd? ( zlib ) - simplexml? ( xml ) - soap? ( xml ) - wddx? ( xml ) - xmlrpc? ( || ( xml iconv ) ) - xmlreader? ( xml ) - xslt? ( xml ) - ldap-sasl? ( ldap ) - mhash? ( hash ) - phar? ( hash ) - qdbm? ( !gdbm ) - readline? ( !libedit ) - recode? ( !imap !mysqli !mysql ) - session-mm? ( session !threads ) - mysql? ( || ( mysqli pdo ) ) - zip-encryption? ( zip ) -" -PATCHES=( - "${FILESDIR}/php-freetype-2.9.1.patch" -) - -PHP_MV="$(ver_cut 1)" - -php_install_ini() { - local phpsapi="${1}" - - # work out where we are installing the ini file - php_set_ini_dir "${phpsapi}" - - # Always install the production INI file, bug 611214. - local phpinisrc="php.ini-production-${phpsapi}" - cp php.ini-production "${phpinisrc}" || die - - # default to /tmp for save_path, bug #282768 - sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die - - # Set the extension dir - sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ - -i "${phpinisrc}" || die - - # Set the include path to point to where we want to find PEAR packages - sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die - - dodir "${PHP_INI_DIR#${EPREFIX}}" - insinto "${PHP_INI_DIR#${EPREFIX}}" - newins "${phpinisrc}" php.ini - - elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" - elog - - dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" - dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" - - if use opcache; then - elog "Adding opcache to $PHP_EXT_INI_DIR" - echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ - "${D}/${PHP_EXT_INI_DIR}"/opcache.ini - dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \ - "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" - fi - - # SAPI-specific handling - if [[ "${sapi}" == "fpm" ]] ; then - einfo "Installing FPM config files php-fpm.conf and www.conf" - insinto "${PHP_INI_DIR#${EPREFIX}}" - doins sapi/fpm/php-fpm.conf - insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" - doins sapi/fpm/www.conf - fi - - dodoc php.ini-{development,production} -} - -php_set_ini_dir() { - PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" - PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" - PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" -} - -src_prepare() { - default - - # In php-7.x, the FPM pool configuration files have been split off - # of the main config. By default the pool config files go in - # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the - # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later - # we'll install the pool configuration file "www.conf" there. - php_set_ini_dir fpm - sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ - sapi/fpm/php-fpm.conf.in \ - || die 'failed to move the include directory in php-fpm.conf' - - # Bug 669566 - necessary so that build tools are updated for commands like pecl - # Force rebuilding aclocal.m4 - rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" - eautoreconf -} - -src_configure() { - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" - - # The php-fpm config file wants localstatedir to be ${EPREFIX}/var - # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. - local our_conf=( - --prefix="${PHP_DESTDIR}" - --mandir="${PHP_DESTDIR}/man" - --infodir="${PHP_DESTDIR}/info" - --libdir="${PHP_DESTDIR}/lib" - --with-libdir="$(get_libdir)" - --localstatedir="${EPREFIX}/var" - --without-pear - $(use_enable threads maintainer-zts) - ) - - our_conf+=( - $(use_with argon2 password-argon2 "${EPREFIX}/usr") - $(use_enable bcmath bcmath) - $(use_with bzip2 bz2 "${EPREFIX}/usr") - $(use_enable calendar calendar) - $(use_enable coverage gcov) - $(use_enable ctype ctype) - $(use_with curl curl "${EPREFIX}/usr") - $(use_enable xml dom) - $(use_with enchant enchant "${EPREFIX}/usr") - $(use_enable exif exif) - $(use_enable fileinfo fileinfo) - $(use_enable filter filter) - $(use_enable ftp ftp) - $(use_with nls gettext "${EPREFIX}/usr") - $(use_with gmp gmp "${EPREFIX}/usr") - $(use_enable hash hash) - $(use_with mhash mhash "${EPREFIX}/usr") - $(use_with iconv iconv \ - $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) - $(use_enable intl intl) - $(use_enable ipv6 ipv6) - $(use_enable json json) - $(use_with kerberos kerberos "${EPREFIX}/usr") - $(use_enable xml libxml) - $(use_with xml libxml-dir "${EPREFIX}/usr") - $(use_enable unicode mbstring) - $(use_with unicode onig "${EPREFIX}/usr") - $(use_with ssl openssl "${EPREFIX}/usr") - $(use_with ssl openssl-dir "${EPREFIX}/usr") - $(use_enable pcntl pcntl) - $(use_enable phar phar) - $(use_enable pdo pdo) - $(use_enable opcache opcache) - $(use_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix posix) - $(use_with spell pspell "${EPREFIX}/usr") - $(use_with recode recode "${EPREFIX}/usr") - $(use_enable simplexml simplexml) - $(use_enable sharedmem shmop) - $(use_with snmp snmp "${EPREFIX}/usr") - $(use_enable soap soap) - $(use_enable sockets sockets) - $(use_with sodium sodium "${EPREFIX}/usr") - $(use_with sqlite sqlite3 "${EPREFIX}/usr") - $(use_enable sysvipc sysvmsg) - $(use_enable sysvipc sysvsem) - $(use_enable sysvipc sysvshm) - $(use_with tidy tidy "${EPREFIX}/usr") - $(use_enable tokenizer tokenizer) - $(use_enable wddx wddx) - $(use_enable xml xml) - $(use_enable xmlreader xmlreader) - $(use_enable xmlwriter xmlwriter) - $(use_with xmlrpc xmlrpc) - $(use_with xslt xsl "${EPREFIX}/usr") - $(use_enable zip zip) - $(use_with zip-encryption libzip "${EPREFIX}/usr") - $(use_with zlib zlib "${EPREFIX}/usr") - $(use_enable debug debug) - ) - - # DBA support - if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ - || use qdbm || use lmdb || use tokyocabinet ; then - our_conf+=( "--enable-dba${shared}" ) - fi - - # DBA drivers support - our_conf+=( - $(use_with cdb cdb) - $(use_with berkdb db4 "${EPREFIX}/usr") - $(use_enable flatfile flatfile) - $(use_with gdbm gdbm "${EPREFIX}/usr") - $(use_enable inifile inifile) - $(use_with qdbm qdbm "${EPREFIX}/usr") - $(use_with lmdb lmdb "${EPREFIX}/usr") - ) - - # Support for the GD graphics library - our_conf+=( - $(use_with truetype freetype-dir "${EPREFIX}/usr") - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg-dir "${EPREFIX}/usr") - $(use_with gd png-dir "${EPREFIX}/usr") - $(use_with xpm xpm-dir "${EPREFIX}/usr") - ) - if use webp; then - our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) - fi - # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_with gd gd) ) - - # IMAP support - if use imap ; then - our_conf+=( - $(use_with imap imap "${EPREFIX}/usr") - $(use_with ssl imap-ssl "${EPREFIX}/usr") - ) - fi - - # Interbase/firebird support - our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) - - # LDAP support - if use ldap ; then - our_conf+=( - $(use_with ldap ldap "${EPREFIX}/usr") - $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") - ) - fi - - # MySQL support - local mysqllib="mysqlnd" - local mysqlilib="mysqlnd" - - our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) - - local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" - if use mysql || use mysqli ; then - our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) - fi - - # ODBC support - our_conf+=( - $(use_with odbc unixODBC "${EPREFIX}/usr") - $(use_with iodbc iodbc "${EPREFIX}/usr") - ) - - # Oracle support - our_conf+=( $(use_with oci8-instant-client oci8) ) - - # PDO support - if use pdo ; then - our_conf+=( - $(use_with mssql pdo-dblib "${EPREFIX}/usr") - $(use_with mysql pdo-mysql "${mysqllib}") - $(use_with postgres pdo-pgsql) - $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") - $(use_with firebird pdo-firebird "${EPREFIX}/usr") - $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") - $(use_with oci8-instant-client pdo-oci) - ) - fi - - # readline/libedit support - our_conf+=( - $(use_with readline readline "${EPREFIX}/usr") - $(use_with libedit libedit "${EPREFIX}/usr") - ) - - # Session support - if use session ; then - our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) - else - our_conf+=( $(use_enable session session) ) - fi - - # Use pic for shared modules such as apache2's mod_php - our_conf+=( --with-pic ) - - # we use the system copy of pcre - # --with-pcre-regex affects ext/pcre - # --with-pcre-dir affects ext/filter and ext/zip - # --with-pcre-valgrind cannot be enabled with system pcre - # Many arches don't support pcre-jit - our_conf+=( - --with-pcre-regex="${EPREFIX}/usr" - --with-pcre-dir="${EPREFIX}/usr" - --without-pcre-valgrind - --without-pcre-jit - ) - - # Catch CFLAGS problems - # Fixes bug #14067. - # Changed order to run it in reverse for bug #32022 and #12021. - replace-cpu-flags "k6*" "i586" - - # Cache the ./configure test results between SAPIs. - our_conf+=( --cache-file="${T}/config.cache" ) - - # Support user-passed configuration parameters - our_conf+=( ${EXTRA_ECONF:-} ) - - # Support the Apache2 extras, they must be set globally for all - # SAPIs to work correctly, especially for external PHP extensions - - mkdir -p "${WORKDIR}/sapis-build" || die - for one_sapi in $SAPIS ; do - use "${one_sapi}" || continue - php_set_ini_dir "${one_sapi}" - - # The BUILD_DIR variable is used to determine where to output - # the files that autotools creates. This was all originally - # based on the autotools-utils eclass. - BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" - cp -a "${S}" "${BUILD_DIR}" || die - cd "${BUILD_DIR}" || die - - local sapi_conf=( - --with-config-file-path="${PHP_INI_DIR}" - --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" - ) - - for sapi in $SAPIS ; do - case "$sapi" in - cli|cgi|embed|fpm|phpdbg) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( "--enable-${sapi}" ) - if [[ "fpm" == "${sapi}" ]] ; then - sapi_conf+=( - $(use_with acl fpm-acl) - $(use_with systemd fpm-systemd) - ) - fi - else - sapi_conf+=( "--disable-${sapi}" ) - fi - ;; - - apache2) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) - else - sapi_conf+=( --without-apxs2 ) - fi - ;; - esac - done - - # Construct the $myeconfargs array by concatenating $our_conf - # (the common args) and $sapi_conf (the SAPI-specific args). - local myeconfargs=( "${our_conf[@]}" ) - myeconfargs+=( "${sapi_conf[@]}" ) - - pushd "${BUILD_DIR}" > /dev/null || die - econf "${myeconfargs[@]}" - popd > /dev/null || die - done -} - -src_compile() { - # snmp seems to run during src_compile, too (bug #324739) - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - for sapi in ${SAPIS} ; do - if use "${sapi}"; then - cd "${WORKDIR}/sapis-build/$sapi" || \ - die "Failed to change dir to ${WORKDIR}/sapis-build/$1" - emake - fi - done -} - -src_install() { - # see bug #324739 for what happens when we don't have that - addpredict /usr/share/snmp/mibs/.index #nowarn - - # grab the first SAPI that got built and install common files from there - local first_sapi="" - for sapi in $SAPIS ; do - if use $sapi ; then - first_sapi=$sapi - break - fi - done - - # Makefile forgets to create this before trying to write to it... - dodir "${PHP_DESTDIR#${EPREFIX}}/bin" - - # Install php environment (without any sapis) - cd "${WORKDIR}/sapis-build/$first_sapi" || die - emake INSTALL_ROOT="${D}" \ - install-build install-headers install-programs - - local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" - - # Create the directory where we'll put version-specific php scripts - keepdir "/usr/share/php${PHP_MV}" - - local sapi="", file="" - local sapi_list="" - - for sapi in ${SAPIS}; do - if use "${sapi}" ; then - einfo "Installing SAPI: ${sapi}" - cd "${WORKDIR}/sapis-build/${sapi}" || die - - if [[ "${sapi}" == "apache2" ]] ; then - # We're specifically not using emake install-sapi as libtool - # may cause unnecessary relink failures (see bug #351266) - insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" - newins ".libs/libphp${PHP_MV}$(get_libname)" \ - "libphp${PHP_MV}$(get_libname)" - keepdir "/usr/$(get_libdir)/apache2/modules" - else - # needed each time, php_install_ini would reset it - local dest="${PHP_DESTDIR#${EPREFIX}}" - into "${dest}" - case "$sapi" in - cli) - source="sapi/cli/php" - ;; - cgi) - source="sapi/cgi/php-cgi" - ;; - fpm) - source="sapi/fpm/php-fpm" - ;; - embed) - source="libs/libphp${PHP_MV}$(get_libname)" - ;; - phpdbg) - source="sapi/phpdbg/phpdbg" - ;; - *) - die "unhandled sapi in src_install" - ;; - esac - - if [[ "${source}" == *"$(get_libname)" ]]; then - dolib.so "${source}" - else - dobin "${source}" - local name="$(basename ${source})" - dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}" - fi - fi - - php_install_ini "${sapi}" - - # construct correct SAPI string for php-config - # thanks to ferringb for the bash voodoo - if [[ "${sapi}" == "apache2" ]]; then - sapi_list="${sapi_list:+${sapi_list} }apache2handler" - else - sapi_list="${sapi_list:+${sapi_list} }${sapi}" - fi - fi - done - - # Installing opcache module - if use opcache ; then - into "${PHP_DESTDIR#${EPREFIX}}" - dolib.so "modules/opcache$(get_libname)" - fi - - # Install env.d files - newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" - sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - - # set php-config variable correctly (bug #278439) - sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ - "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die - - if use fpm ; then - if use systemd; then - systemd_newunit "${FILESDIR}/php-fpm_at.service" \ - "php-fpm@${SLOT}.service" - else - systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ - "php-fpm@${SLOT}.service" - fi - fi -} - -src_test() { - echo ">>> Test phase [test]: ${CATEGORY}/${PF}" - PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" - if [[ ! -x "${PHP_BIN}" ]] ; then - ewarn "Test phase requires USE=cli, skipping" - return - else - export TEST_PHP_EXECUTABLE="${PHP_BIN}" - fi - - if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then - export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" - fi - - if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then - export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" - fi - - REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ - "session.save_path=${T}" \ - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ - "session.save_path=${T}" - - for name in ${EXPECTED_TEST_FAILURES}; do - mv "${name}.out" "${name}.out.orig" 2>/dev/null || die - done - - local failed="$(find -name '*.out')" - if [[ ${failed} != "" ]] ; then - ewarn "The following test cases failed unexpectedly:" - for name in ${failed}; do - ewarn " ${name/.out/}" - done - else - einfo "No unexpected test failures, all fine" - fi - - if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then - local passed="" - for name in ${EXPECTED_TEST_FAILURES}; do - [[ -f "${name}.diff" ]] && continue - passed="${passed} ${name}" - done - if [[ ${passed} != "" ]] ; then - einfo "The following test cases passed unexpectedly:" - for name in ${passed}; do - ewarn " ${passed}" - done - else - einfo "None of the known-to-fail tests passed, all fine" - fi - fi -} - -pkg_postinst() { - # Output some general info to the user - if use apache2 ; then - elog - elog "To enable PHP in apache, you will need to add \"-D PHP\" to" - elog "your apache2 command. OpenRC users can append that string to" - elog "APACHE2_OPTS in /etc/conf.d/apache2." - elog - elog "The apache module configuration file 70_mod_php.conf is" - elog "provided (and maintained) by eselect-php." - elog - fi - - # Create the symlinks for php - for m in ${SAPIS}; do - [[ ${m} == 'embed' ]] && continue; - if use $m ; then - local ci=$(eselect php show $m) - if [[ -z $ci ]]; then - eselect php set $m php${SLOT} || die - einfo "Switched ${m} to use php:${SLOT}" - einfo - elif [[ $ci != "php${SLOT}" ]] ; then - elog "To switch $m to use php:${SLOT}, run" - elog " eselect php set $m php${SLOT}" - elog - fi - fi - done - - # Remove dead symlinks for SAPIs that were just disabled. For - # example, if the user has the cgi SAPI enabled, then he has an - # eselect-php symlink for it. If he later reinstalls PHP with - # USE="-cgi", that symlink will break. This call to eselect is - # supposed to remove that dead link per bug 572436. - eselect php cleanup || die - - if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then - elog "To build extensions for this version of PHP, you will need to" - elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." - elog - fi - - # Warn about the removal of PHP_INI_VERSION if the user has it set. - if [[ -n "${PHP_INI_VERSION}" ]]; then - ewarn 'The PHP_INI_VERSION variable has been phased out. You may' - ewarn 'remove it from your configuration at your convenience. See' - ewarn - ewarn ' https://bugs.gentoo.org/611214' - ewarn - ewarn 'for more information.' - fi - - elog "For details on how version slotting works, please see" - elog "the wiki:" - elog - elog " https://wiki.gentoo.org/wiki/PHP" - elog -} - -pkg_postrm() { - # This serves two purposes. First, if we have just removed the last - # installed version of PHP, then this will remove any dead symlinks - # belonging to eselect-php. Second, if a user upgrades slots from - # (say) 5.6 to 7.0 and depcleans the old slot, then this will update - # his existing symlinks to point to the new 7.0 installation. The - # latter is bug 432962. - # - # Note: the eselect-php package may not be installed at this point, - # so we can't die() if this command fails. - eselect php cleanup -} diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index eaa96b914909..58ba4df8948d 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -17,7 +17,6 @@ AUX python-3.5.5-hash-unaligned.patch 1451 BLAKE2B 30a0225118e17bf7f9177d423f50e AUX python-3.5.5-libressl-compatibility.patch 2158 BLAKE2B e171337d466b00720ea960a167abb26a3795ad1c516a770f3c2622753139bf4a166e43e3c479b87eeb62b9e325c3d5de71642e7be4b4d36c3919e0743c226ca6 SHA512 cbb7d9cd8bd8d39ec2a9b39ff494d1d93f4d91190f5f1dcbe293871427b1ad459729dd5ce4cb8efe22e5847b477c24fd5f076bd79c94b3e7d14d159be3313f75 AUX python-3.6.5-hash-unaligned.patch 1293 BLAKE2B d1e22b4f4c55d308b129801464e3464defa3bfba4c63c12bbcd0650f1391e3e30058f07aa3b5ec3a24df8ab5fba4f467343f44a7693f8afe798dbf245db0366a SHA512 2039104f7aac4f8edbacd5f678551aef62c068182104dbb6dcf9ac835c68d0fefa2cc9df97b8f09bb06e1b29f19c5c324f9c3d5f1161fadd223487d503de8e0d AUX python-3.6.5-libressl-compatibility.patch 3852 BLAKE2B 8e6860903f51bd1e783e1547d3eed76059eeea317ce0f2f98bd44df55c9be8a62973f687a029a972cac6cce63687763f824ad878d0548ec8ed71bf4c42d4b45b SHA512 4ae0e189f232d52303645391962c8390b00ae62fec45a03ddbad1b34a3eee5ef24c4d17c8a58709e452618ee0b570c2af7c01e456d285f02f5048fbbd2695ddc -DIST Python-2.7.14.tar.xz 12576112 BLAKE2B e03c4134cfdd88678acc26f383130a598ce4de908ab6bb9ee00e9235de3e0fcb9e653fec86f39db64fb895ef797d33736524655c5b94fab2cde2544b966b2cfb SHA512 78310b0be6388ffa15f29a80afb9ab3c03a572cb094e9da00cfe391afadb51696e41f592eb658d6a31a2f422fdac8a55214a382cbb8cfb43d4a127d5b35ea7f9 DIST Python-2.7.15.tar.xz 12642436 BLAKE2B d8783a48ea26695e8d4677397a08194c738d7e4bc8ecaddaab609ad1fd5a1ca07701f707fe38d259f6bd44a39171ef95e7530f3df4bcb4d94abc4d21d7e2d489 SHA512 27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6 DIST Python-3.4.5.tar.xz 14516820 BLAKE2B f9ddabd2df2241089d07756d3a8ba1c70096bee60d7cdef84041edbb20c488c3a573762441a4b7f543dbc0ce403ce84ff7d02e7d25699917bd014ab96deead85 SHA512 b548a5338d141b3086dea372fa2cc245ba5350ee9f0d1304ef6222dc45380b66d380b092e547d54206d56ca68563b95036f445f97f72bb0ef1d48f81a74a3d4c DIST Python-3.4.6.tar.xz 14473592 BLAKE2B 4af4f8e6f5c6831b50e99dd9eef47617f14903dc709f53f833c64726b003e9f84f75be80ba8059dcada2b2f262d65875f70d8c53a163546e51f9a715c68f4f20 SHA512 f6785cf6a99a8a27823baefe59cc20e34cbec01bb444c8600e7f49b5437159d5137f9d80fce26e219846d71bfe98f68bc6f0c87719a34db0050a4eaca95959ac @@ -29,7 +28,6 @@ DIST Python-3.6.4.tar.xz 16992824 BLAKE2B 2347a70bb25468221178b1542ddd4376f136a5 DIST Python-3.6.5.tar.xz 17049912 BLAKE2B f393e9563a18a46c457afcd2e174d9eacda20fe2b0ae5461e11c582fa4d27b85c01bbe7b602f45511b6b44f635c6330205b12fb3e8325ffd07e87b78a8258889 SHA512 6b26fcd296b9bd8e67861eff10d14db7507711ddba947288d16d6def53135c39326b7f969c04bb2b2993f924d9e7ad3f5c5282a3915760bc0885cf0a8ea5eb51 DIST Python-3.6.6.tar.xz 17156744 BLAKE2B fa4333149f84570cc4a0d1ec76c819610888750a51268b9db7d05df7d9c11e5ed72daff5d81b404015d9c678cb034d8a32034262ce73629ee8f96772853a706c SHA512 c71f87c5906e770322a14cacad228655659f782207db826320449d12bf86091c3662f317e1773158dec52f8b052eaedfb4c03b561cc2a6cfcd381597fd2d2b04 DIST Python-3.7.0.tar.xz 16922100 BLAKE2B cd2afd9ad1847ca793bc64ecb637906c35e0c8da8392d626cce3ebf19be5ccde1e6dcc499b933359cb24dcdbd024b3aaa916f96ed893b1f52d9825e404f27e5f SHA512 8bb11233fb67ee9ab8ed1b72f8fdc62f66e26a6beaaeb92448bce681cf065269833b1658d3ed2459127f25ba43adb0eab73cf27c59834a2a803fb529b4216739 -DIST python-gentoo-patches-2.7.14-0.tar.xz 13428 BLAKE2B 0048e48ddaaa4bef08451354fde95a123042880f26dddc9267c7f9a90fd8abb40955e26ee8c9dfc5a1165556bb3e11585b27288e635d42a4000dd3d7654c41ad SHA512 6da5b52065752b54e9215d0f0809c75167dc3690d0e94fa21dd7595626925bc5c1dd065d31b3bd696d7087f3986de145d3a335a29eb7bd77442637a7ec2863c1 DIST python-gentoo-patches-2.7.15.tar.xz 16208 BLAKE2B 5739c2b3a236d48f8e33f0fe6515bfe7a8f99096f6223b402653988feac2513d37d26b6e40e5e049852f42657358170e468ca60097e0e2294e760787c12ad591 SHA512 687fd008d1d41b1e65ce5417f6f6aba84ffd42f7af44ef97c03a7806b28e6888f8df043a0c15187a8b229cc17642853e6feb25494db97f4d10f8a66f8ebcbcca DIST python-gentoo-patches-3.4.5-0.tar.xz 12044 BLAKE2B 7fb3cc7dcd987debd5aa263d8e26b21aad439d8e3177c06c3683406a53bbda9652175673b09b6300f6a5b62148190cd8a75c9b65a5de04d770866733fcc0ebcb SHA512 108a4845667ecdf4001fcbeffab0cfbbac87439a449a7351428b0f3e2f159e3848ee0c0dfa45c9fba893b9f9584b33722fc8bb0bd7485a1d0909c3a35ede6ed8 DIST python-gentoo-patches-3.4.6-0.tar.xz 11728 BLAKE2B 2a636f5500f4c7d354f421133f086cba9a25c30d5feaaa2dc25c9c588125d7c9097baecaa11f31548fa598b5dc137ca310ad86222510c0a955fa632a6d0a4b06 SHA512 41c22dc8f1db8800fc0b97eed2b27bf1873e5de1369bd4aecf7a7a91e609a78e45a4b56fc89d575317f33a7704c0c1cad1494e8a993415a198f256e8338f49ab @@ -38,8 +36,6 @@ DIST python-gentoo-patches-3.6.2-0.tar.xz 10744 BLAKE2B 3075754627617ac2ceee879e DIST python-gentoo-patches-3.6.4.tar.xz 12888 BLAKE2B 7cf49ae22df53e855f2e99df51686b5d4bd0da82ef4c22836e24726ea9ed561808352c0305a5659b052d38b843f1ff61b6466a7bc3673b7e5cfb4d81d22fa4bc SHA512 90a1b685f2539872ffd67f96581f70145b7afaf18af19f4a7f4a61214103d2a10bf0069c1769dac229ae011fceaf8538f041082b33c1671905246d018d184dd7 DIST python-gentoo-patches-3.6.6.tar.xz 13876 BLAKE2B 4be56b54e70c9b83209734097e03a7dbaa8f46ae13e268fc6a7f465ffd052ce03ca9e1fc45f1d432f2de17d4ce16ca8bc684b24344862cd8f52f9d1a90d90b7a SHA512 534b9eaefcbc45908119852a103bf10e400a8628c66aa599812fbceda36810d626d33e6701d1b7866e4df68397f717df6a217cb414049ca6f378eff9f43a27ab DIST python-gentoo-patches-3.7.0.tar.xz 12268 BLAKE2B 758b635ff53b6f7bfabb1db632ee2a5c14b163d6d6f14e4e44c31c9ac1591d411f597d42b05707f586f9ff7c3a030703502307bae732bcf003987939eb5b036d SHA512 19dd5bac06bb40622e74e3b16c7fba83f1178417e686eaf61b2b207602c76beebc8c78d675e401ec4d18add1ca033fd47baf2e48e9abb487593b7d821bcaf509 -EBUILD python-2.7.14-r1.ebuild 10806 BLAKE2B fce1997bac1ff3a2f3e11ee8a9477744d4db08186ba8453de7b1a270886596549ae8e5d4fe4f3f214f0e0d421a82ea1b63b09282ed58d7479976bc8df1ee2588 SHA512 5e6aeceb99c833a78078d0dcb50b8af7310a6c3adf5d7f88d3894966ec0eb8f5e1990f562e281aebd4e1f98c1234af102f18146dd8226c69b0ba850eecbb424e -EBUILD python-2.7.14-r2.ebuild 11018 BLAKE2B 408b677be84fd7ceb31db5f6af74418adc6576e542aaa4ba2a2a812e94ee3af5a5d73fceea8cbbfac87156c4ae223ab2716814cce26e6bfdded9f3ac888e262c SHA512 0ccf4865666cf97b5ff4d22dc55c243aa8330819177b1b96f20e094ee490838227309f2f0b635e50b356eefdebb49b95aa3759cbb7725f781302e4b4a7a6bae5 EBUILD python-2.7.15.ebuild 10811 BLAKE2B f828de10018c8a29ffec4fc405e5ad92f5d88c5230a4de428755a25494c65ff81e72e85e12a6de152381d4ffc54bdac04b1a699648331660a311b47b25e3c266 SHA512 d76caa98de7a649fab7d630bb14e2bfd38d74822ff42d863dd6d5307b0788d73490c6c83cabd14e126f477a17483bef2af7de5dda921b22e49f7e85ec35bcd18 EBUILD python-3.4.5-r1.ebuild 10657 BLAKE2B 09b69868f6be57e40ed1a439a6dbfd4eb92c71bd67ee5733424e2478f9603b1083c2a4770bcfa8e009e9e0ef6fd81f6ce9a59de246121062c120dcd25eb8a012 SHA512 bfaa81cd21f5311595b9fdfd1c3f4851da18e38f8a4a6b9bda760946ae6f972596fbb03f281a6b81bb59bded2d8b7e6d95dd7594955130bd2f6a78c62f6bfc93 EBUILD python-3.4.6-r1.ebuild 10587 BLAKE2B 0aca5a73b15e5122caa057fe71909f5afdb5ede203a7437ce27618ee64d0ce2164ee81477b8aec316b2cc81bc0b923fddffd5ec6056a271bfceef4e92a23e686 SHA512 0c7fa7b4e4ba49b6ae4fe0bc2119699381560a6c0eeaaaed5d974cbca2c089df4b08c0c19709e57e9da5ecfd934beb1f3cd03419d5d900306ffaeec24053ea57 diff --git a/dev-lang/python/python-2.7.14-r1.ebuild b/dev-lang/python/python-2.7.14-r1.ebuild deleted file mode 100644 index 46a254fb0311..000000000000 --- a/dev-lang/python/python-2.7.14-r1.ebuild +++ /dev/null @@ -1,363 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" -WANT_LIBTOOL="none" - -inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs multiprocessing - -MY_P="Python-${PV}" -PATCHSET_VERSION="2.7.14-0" - -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/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz" - -LICENSE="PSF-2" -SLOT="2.7" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd" -IUSE="-berkdb build doc elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" - -# 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:0= - >=sys-libs/zlib-1.1.3:0= - virtual/libffi:= - virtual/libintl - 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 - sys-libs/db:4.4 - sys-libs/db:4.3 - sys-libs/db:4.2 - ) ) - gdbm? ( sys-libs/gdbm:0=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:0= ) - readline? ( >=sys-libs/readline-4.1:0= ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - tk? ( - >=dev-lang/tcl-8.0:0= - >=dev-lang/tk-8.0:0= - dev-tcltk/blt:0= - 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-${SLOT} - newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${SLOT}:" \ - -i "${ED}etc/conf.d/pydoc-${SLOT}" "${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed" - - # for python-exec - local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR ) - - # 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 - vars=( PYTHON "${vars[@]}" ) - fi - - python_export "python${SLOT}" "${vars[@]}" - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${SLOT%.*} - mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die - # python and pythonX - ln -s "../../../bin/python${SLOT}" \ - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die - ln -s "python${pymajor}" \ - "${D}${PYTHON_SCRIPTDIR}/python" || die - # python-config and pythonX-config - ln -s "../../../bin/python${SLOT}-config" \ - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${D}${PYTHON_SCRIPTDIR}/python-config" || die - # 2to3, pydoc, pyvenv - ln -s "../../../bin/2to3-${SLOT}" \ - "${D}${PYTHON_SCRIPTDIR}/2to3" || die - ln -s "../../../bin/pydoc${SLOT}" \ - "${D}${PYTHON_SCRIPTDIR}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${SLOT}" \ - "${D}${PYTHON_SCRIPTDIR}/idle" || die - fi -} - -eselect_python_update() { - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then - eselect python update - fi - - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then - eselect python update --python${PV%%.*} - fi -} - -pkg_postinst() { - eselect_python_update -} - -pkg_postrm() { - eselect_python_update -} diff --git a/dev-lang/python/python-2.7.14-r2.ebuild b/dev-lang/python/python-2.7.14-r2.ebuild deleted file mode 100644 index cc59a5124337..000000000000 --- a/dev-lang/python/python-2.7.14-r2.ebuild +++ /dev/null @@ -1,367 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" -WANT_LIBTOOL="none" - -inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs multiprocessing - -MY_P="Python-${PV}" -PATCHSET_VERSION="2.7.14-0" - -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/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz" - -LICENSE="PSF-2" -SLOT="2.7" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" -IUSE="-berkdb bluetooth build doc elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" - -# 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:0= - >=sys-libs/zlib-1.1.3:0= - virtual/libffi:= - virtual/libintl - 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 - sys-libs/db:4.4 - sys-libs/db:4.3 - sys-libs/db:4.2 - ) ) - gdbm? ( sys-libs/gdbm:0=[berkdb] ) - ncurses? ( >=sys-libs/ncurses-5.2:0= ) - readline? ( >=sys-libs/readline-4.1:0= ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - tk? ( - >=dev-lang/tcl-8.0:0= - >=dev-lang/tk-8.0:0= - dev-tcltk/blt:0= - 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-${SLOT} - newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${SLOT}:" \ - -i "${ED}etc/conf.d/pydoc-${SLOT}" "${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed" - - # for python-exec - local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR ) - - # 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 - vars=( PYTHON "${vars[@]}" ) - fi - - python_export "python${SLOT}" "${vars[@]}" - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${SLOT%.*} - mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die - # python and pythonX - ln -s "../../../bin/python${SLOT}" \ - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die - ln -s "python${pymajor}" \ - "${D}${PYTHON_SCRIPTDIR}/python" || die - # python-config and pythonX-config - ln -s "../../../bin/python${SLOT}-config" \ - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${D}${PYTHON_SCRIPTDIR}/python-config" || die - # 2to3, pydoc, pyvenv - ln -s "../../../bin/2to3-${SLOT}" \ - "${D}${PYTHON_SCRIPTDIR}/2to3" || die - ln -s "../../../bin/pydoc${SLOT}" \ - "${D}${PYTHON_SCRIPTDIR}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${SLOT}" \ - "${D}${PYTHON_SCRIPTDIR}/idle" || die - fi -} - -eselect_python_update() { - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then - eselect python update - fi - - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then - eselect python update --python${PV%%.*} - fi -} - -pkg_postinst() { - eselect_python_update -} - -pkg_postrm() { - eselect_python_update -} diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index 42af35e0c684..11e7f2aa58e8 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -3,18 +3,19 @@ AUX 2.4/005_no-undefined-ext.patch 479 BLAKE2B b11ae86049ed792e5f98e6e56d93468b0 AUX 2.4/009_no-gems.patch 4153 BLAKE2B c7d056d46cd769a00c3ae8b3866ad7ca7126fe008362461561693b6da7fb867c5418cc9f5fb11af242842af5edab050b68fafd349b8c6e75af208f6a36850900 SHA512 ec63fa29a6be3b86b4bde397292a2de73accbdab479ae881af9d364d7c8cb1f2a3e85c809735d47375b52923754d4abbd26a63c01616926189fda5e4a5a8a454 AUX 2.4/010-libressl_2.7.patch 638 BLAKE2B ffd6091c3d1d657d44370d4bfd84e8c40fe387483972c09dbcb7819957be78ee320c6f46d2f78493d25357072950db13e08dff6d622d2374a9c330fe97ce200f SHA512 d42f61eda8292ee5d3485ba4576fd6dbd8a3e40918f2096de3b376b92f633b476f6ad4913fb3be3f7ef356e722d8a192317b233d174563cd342a429595b0cdae AUX 2.4/011-gcc8.patch 2470 BLAKE2B d6fe2e34e7c33ca7bccf3b934092ef43b4ba8766d8c160a0548fa4946fc61a763634037c3180479896802e6e75828af043e75839fd03cc9e4b6e126c833d2cb8 SHA512 1636dc821a822ab6ec919e576ebba9e9cba64540801df6a2b4411e650930ec5cdc3ab28aeb3c5d45d3304f73af52372c2dee91833bcd9952692f3167d21007d2 +AUX 2.4/012-openssl_1.1.patch 12158 BLAKE2B b7a77180159d6e2620a148b1c8dc2b137dbad0263d4f588c2d533a0ab9775ea0e685770fc708c3d4ae7ac53c16f657b990af39032219807925e46bcf11478d6b SHA512 050eeb45f7bc8a11bcd7fea0dfabb6137a009cc8f8337aa1c62ca4cd476ff0d66723148a20764a72843a5809f3dd66fe7a607a6098e5da990c90a3d2e15a6f54 AUX 2.5/001-ia64-update-ia64-specific-code-to-use-execution-cont.patch 2501 BLAKE2B 7c166f47ce8264354272c7f74ebee5fbe038b1cf06230c6507f62d823be266959b622a0a61920845dfc38fbe7846c4ccd1cabf8e133f456e94b1da5197c49526 SHA512 72319113329c7c3c74e5bab21b67256327a65fbe01827cd32ea289de769a91b493c5d1eb35a087ed026105a9e5daf8b0bc17374c01ef1a83cb408440d6316706 AUX 2.5/005_no-undefined-ext.patch 486 BLAKE2B 715f952cab863847f420afb020cac6819e4ab4e8f5527bdf550dd51eef37e272e7e89cbda5b6f9f137fdac89dfc5e99d42be8ae5712c255f11a0628cf07dc84d SHA512 6bbded9fce0c091b7cfb170c9dc2b0882b0e8bbf8fe31eaf596f3620853c8c75aa64c2648d5a72a0208a6ab6d711eb080a2d6aa98352933eda3b874bdd39cee8 AUX 2.5/009_no-gems.patch 3454 BLAKE2B f2439a799776c39ba16f1503d573c90ea6d74fc2bad3b3874a961add6b605bb064c683080a4258ed1a0e83bca5cb67c02ba68bceb6acea7613ab7166e16a2f4c SHA512 bef8b2763993755b5b6ccba0b5cbe002fd721405d7c274f421ae3d95fa4d0d99cdf946f5fa9a907cac2c3696b2cc23f2f2e030b3a70eca93081e49b02f25a072 AUX 2.5/010-libressl_2.7.patch 638 BLAKE2B 53f5f5d275e2c5482a608a947a1b3c41e9dcdd1763cc57a075e3abd536567852387506ec0ce2f5f49f5eed2246ca9f860d56637a9f18cd17cd49fff6fc92d340 SHA512 986aff99fd35814c94581cdc169cfc5a5f75c87889db5556941809ecaf878b6af838afe2ee108dd7147ea70be6fe9e47f98cce3c1804af0a34f7c1aab8c13d89 -DIST ruby-2.3.7.tar.xz 11438124 BLAKE2B 4f7e0422291794b254cb80edd2f0841bbc1e85cd62635024b6d43b23b1bcdc512d92b57d8885b253465cc8ef3c6cbcec97a6ef239dc11cc8b252e941d25e0487 SHA512 fd91c8db3d3aa4cc962a62f27b4d1a71f6b5567ab836e6dbfbbb1553eb269d11e12faf9e36af6c489c33b54fd89dab99bfe81a563158b704877f0628d6f5bc5a DIST ruby-2.3.8.tar.xz 11465792 BLAKE2B b9c8ef5c943872e3d1426c30cbd720acc66d17cc7bc926f3294e68f17fbc78edef42f6496295800c3d4efd3ae441730723bfcfbc1111e46239359930622697d9 SHA512 06373050e6c1af9cb6a5863aef878b21c8a45fd0e68414e3d546cb73ec3028207d3acc0a9326428f172b9347a30bbe69a16f9dc0bdb739161d677adb2d888095 DIST ruby-2.4.5.tar.xz 10064712 BLAKE2B 0846125e617b43ea302b4c5309b20503577937865d445a6fee766323a188aa552d3a13740c3d38c7be812b19bffb2474021cb7b368cc144d51ea771552f62769 SHA512 658f676c623109f4c7499615e191c98c3dd72cfcaeeaf121337d0b8a33c5243145edd50ec5e2775f988e3cd19788984f105fa165e3049779066566f67172c1b4 DIST ruby-2.5.3.tar.xz 11453336 BLAKE2B 66c59448a23c22796b43f04a1f84359386b7bee7163da4255426ea75b1c7af0a7a7142991b870a75a72ded56ac49f47c51bc162ebf2be2af0d1b1608b60c02df SHA512 6dcae0e8d0bacdb2cbde636e2030596308b5af53f2eb85d3adccb67b02e6f8f9751e8117d12f8484829fdd9d995f6e327f701d9b433bcf94f1f59d13a1fd7518 -DIST ruby-patches-2.3.7.tar.bz2 3030 BLAKE2B 7c1e80ff0569a03672f53820c665933056b46bcf791c9132cb9f358f72df693749f02da65ca7469c3dd0f652d7dc7bfaa03dccd4eb900562361876023fb65b42 SHA512 54cc3f2bfd1967b8558736e5a5240b886a56b22defca5813f45b1f4dca9af169b4d59d60b327ec8411e824970ac6da1cec53cfc31833403742e9d6941e5a78f1 +DIST ruby-patches-2.3.8-r1.tar.bz2 3030 BLAKE2B 7c1e80ff0569a03672f53820c665933056b46bcf791c9132cb9f358f72df693749f02da65ca7469c3dd0f652d7dc7bfaa03dccd4eb900562361876023fb65b42 SHA512 54cc3f2bfd1967b8558736e5a5240b886a56b22defca5813f45b1f4dca9af169b4d59d60b327ec8411e824970ac6da1cec53cfc31833403742e9d6941e5a78f1 DIST ruby-patches-2.3.8.tar.bz2 3030 BLAKE2B 7c1e80ff0569a03672f53820c665933056b46bcf791c9132cb9f358f72df693749f02da65ca7469c3dd0f652d7dc7bfaa03dccd4eb900562361876023fb65b42 SHA512 54cc3f2bfd1967b8558736e5a5240b886a56b22defca5813f45b1f4dca9af169b4d59d60b327ec8411e824970ac6da1cec53cfc31833403742e9d6941e5a78f1 -EBUILD ruby-2.3.7.ebuild 6872 BLAKE2B d7cf4b0319f63d9485130c17a393671da672e4f6a4227147be161f0f3e941b8f9b2da4b43168018909ac38b002bea7348f8781fa5a7868913e0b88261dbbd874 SHA512 302d8e3feb1d532eab9e9b5e60d258ceec22a44d40c9adba4cc27d5460dc05deb932777163f06e39975756090a448a73af96c801288b0c3912cca4c591a3cd43 +EBUILD ruby-2.3.8-r1.ebuild 6877 BLAKE2B aa01c8cecf39d0ff2f221d4b51a79d258df1a31687bb3b18154ffd4b998fe73e43304339eb3d49ed6b691ac96cb821730c866a180d4199d8659dc53b24a43790 SHA512 03bfc466d6f8890c353056d702c9af7c0dd789606d3f7b3f83b087ab5bdb619fafcf6fd1021e73b5f37b78fa9214b9a473ba2b3619ea7e51a13fe2d35ad7cce0 EBUILD ruby-2.3.8.ebuild 6873 BLAKE2B 2566082717e130c2f982b5b7e0abd8791636de6321b8b27684b1da935138dde506069d2214cbfb7d3961550a2a0063093121f812951538b3fbb21a61586f0940 SHA512 c078fd91363fb0e7650bf3c6764e409be364a029ac1d3389e37b101137f8a6a59ffebc50c81c658de044ae8977bb1808ffa9f19b77524623d944f33097b1d159 -EBUILD ruby-2.4.5.ebuild 6624 BLAKE2B d05822cfaa03ef9c3d161f3996de262256e7c6795d88bb04d3340c329b691b74397e7b0aa3205b6babca7fb1dde2d822a7f7b3230c4eedfaa8f51de62332efed SHA512 c93b16d3291ddc053bb118f8442419366b1ab0f491b8e0dbcb50e909cc28f11f101a9a14b4d91ae8035babe8948df492eacf98f01163b808ff1c5605af4d8e87 -EBUILD ruby-2.5.3.ebuild 6418 BLAKE2B 40d7c916a9d83b0cee36d793c95aae501c7778e4cfe7a83a14f2a54223a4d1984b4fc8fea70712b8e65eabe31beaa98a12040ee4a3ff6f1263d9a3dfa8cca983 SHA512 826075b481abb9656c905a38bf70fbb5067b408afba0bd12f965ae129f3c6bd1f14e307bacd6f922ca212522ee1f016b6d6954a69c5b1054507d41883435a026 +EBUILD ruby-2.4.5-r1.ebuild 6631 BLAKE2B 11b247fb28a2e0eb9d9997829327991b6bb730fde51bbf6e68c2136cefa8c99c3193ebe60cac8dacb37f967af69293b2b18515638ba01a6fde9e4eb2efcd20ce SHA512 0780e2d9c06967e1d6184909b553a90d20341741a5a66ccc3096fc72b6758af6c6d66822618839d9c0fc898424cbbab8f9b4de29109ca9bf01ba103baf88cf21 +EBUILD ruby-2.4.5.ebuild 6622 BLAKE2B 0d590e9943a698ebd1f8a71b77985492988b5b0ff12868c2723117d1d63dcf4947fb7e48d5b7685f591c76db4d4efed542ff64266ced865de721dab6719daeed SHA512 ca1a75ae41fc1dea9a8a774d56743b00fc553ac76a44954637deeb8f73797fd4f694ac37d01fff3754166b9643a30b2305897c8fc1a06f9612f4169fa31ba3cf +EBUILD ruby-2.5.3.ebuild 6419 BLAKE2B 197a536b058b026cd0fa211fe4a391e4deb617d047e4ca200e5674383b94aa3d1dbccc56235303ae7caa8e405939a0e3211e6e4110cb52ae513c824ce969c8b1 SHA512 8b366d49c0e23dc5c1b1554db2238c084e39ac37d89f8a71b6c5e40b8e1025712de118ce622631f93081589c49dbcb543883ed0629d6a0b4925c18bc81b2c26d MISC metadata.xml 824 BLAKE2B e426ed390cdea118f3301d329ce93729095bafb0a04db9a64edfd709251d6f16f91153d56976f99b82d7a9df4a452513d65593732ccbd7f71332870b52f369a7 SHA512 b6f4fab5888fb9605164d7f627edc86514ec2f83d9dd8c74003ccc5a0d9b6a306986930e027e81f09928fc7ac6677a7de58cebf75c31c2ada73e2a506a447453 diff --git a/dev-lang/ruby/files/2.4/012-openssl_1.1.patch b/dev-lang/ruby/files/2.4/012-openssl_1.1.patch new file mode 100644 index 000000000000..edf344bedc8c --- /dev/null +++ b/dev-lang/ruby/files/2.4/012-openssl_1.1.patch @@ -0,0 +1,339 @@ +From 7af808153dd34a980e027a04d4490ae38019b3ed Mon Sep 17 00:00:00 2001 +From: Mark Wright +Date: Sun, 15 Oct 2017 01:24:12 +1100 +Subject: [PATCH] Fix build failure against OpenSSL 1.1 built with + no-deprecated Thanks rhenium for the code review and fixes. + +--- + ext/openssl/openssl_missing.h | 4 +++ + ext/openssl/ossl.c | 23 ++++++--------- + ext/openssl/ossl.h | 5 ++++ + ext/openssl/ossl_cipher.c | 14 ++++----- + ext/openssl/ossl_engine.c | 54 ++++++++++++++++++++++------------- + ext/openssl/ossl_ssl.c | 2 +- + ext/openssl/ossl_x509cert.c | 4 +-- + ext/openssl/ossl_x509crl.c | 4 +-- + 8 files changed, 63 insertions(+), 47 deletions(-) + +diff --git a/ext/openssl/openssl_missing.h b/ext/openssl/openssl_missing.h +index cc31f6ac..debd25ad 100644 +--- a/ext/openssl/openssl_missing.h ++++ b/ext/openssl/openssl_missing.h +@@ -209,6 +209,10 @@ IMPL_PKEY_GETTER(EC_KEY, ec) + # define X509_get0_notAfter(x) X509_get_notAfter(x) + # define X509_CRL_get0_lastUpdate(x) X509_CRL_get_lastUpdate(x) + # define X509_CRL_get0_nextUpdate(x) X509_CRL_get_nextUpdate(x) ++# define X509_set1_notBefore(x, t) X509_set_notBefore(x, t) ++# define X509_set1_notAfter(x, t) X509_set_notAfter(x, t) ++# define X509_CRL_set1_lastUpdate(x, t) X509_CRL_set_lastUpdate(x, t) ++# define X509_CRL_set1_nextUpdate(x, t) X509_CRL_set_nextUpdate(x, t) + #endif + + #if !defined(HAVE_SSL_SESSION_GET_PROTOCOL_VERSION) +diff --git a/ext/openssl/ossl.c b/ext/openssl/ossl.c +index 93ecc7d4..245385e7 100644 +--- a/ext/openssl/ossl.c ++++ b/ext/openssl/ossl.c +@@ -1109,25 +1109,14 @@ Init_openssl(void) + /* + * Init all digests, ciphers + */ +- /* CRYPTO_malloc_init(); */ +- /* ENGINE_load_builtin_engines(); */ ++#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000 ++ if (!OPENSSL_init_ssl(0, NULL)) ++ rb_raise(rb_eRuntimeError, "OPENSSL_init_ssl"); ++#else + OpenSSL_add_ssl_algorithms(); + OpenSSL_add_all_algorithms(); + ERR_load_crypto_strings(); + SSL_load_error_strings(); +- +- /* +- * FIXME: +- * On unload do: +- */ +-#if 0 +- CONF_modules_unload(1); +- destroy_ui_method(); +- EVP_cleanup(); +- ENGINE_cleanup(); +- CRYPTO_cleanup_all_ex_data(); +- ERR_remove_state(0); +- ERR_free_strings(); + #endif + + /* +@@ -1149,7 +1138,11 @@ Init_openssl(void) + /* + * Version of OpenSSL the ruby OpenSSL extension is running with + */ ++#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000 ++ rb_define_const(mOSSL, "OPENSSL_LIBRARY_VERSION", rb_str_new2(OpenSSL_version(OPENSSL_VERSION))); ++#else + rb_define_const(mOSSL, "OPENSSL_LIBRARY_VERSION", rb_str_new2(SSLeay_version(SSLEAY_VERSION))); ++#endif + + /* + * Version number of OpenSSL the ruby OpenSSL extension was built with +diff --git a/ext/openssl/ossl.h b/ext/openssl/ossl.h +index f08889b2..5a15839c 100644 +--- a/ext/openssl/ossl.h ++++ b/ext/openssl/ossl.h +@@ -35,6 +35,11 @@ + #if !defined(OPENSSL_NO_OCSP) + # include + #endif ++#include ++#include ++#include ++#include ++#include + + /* + * Common Module +diff --git a/ext/openssl/ossl_cipher.c b/ext/openssl/ossl_cipher.c +index bfa76c1a..e6179733 100644 +--- a/ext/openssl/ossl_cipher.c ++++ b/ext/openssl/ossl_cipher.c +@@ -508,9 +508,9 @@ ossl_cipher_set_iv(VALUE self, VALUE iv) + StringValue(iv); + GetCipher(self, ctx); + + #if defined(HAVE_AUTHENTICATED_ENCRYPTION) +- if (EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER) ++ if (EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER) + iv_len = (int)(VALUE)EVP_CIPHER_CTX_get_app_data(ctx); + #endif + if (!iv_len) + iv_len = EVP_CIPHER_CTX_iv_length(ctx); +@@ -535,7 +535,7 @@ ossl_cipher_is_authenticated(VALUE self) + + GetCipher(self, ctx); + + #if defined(HAVE_AUTHENTICATED_ENCRYPTION) +- return (EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER) ? Qtrue : Qfalse; ++ return (EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER) ? Qtrue : Qfalse; + #else + return Qfalse; + #endif +@@ -606,7 +606,7 @@ ossl_cipher_get_auth_tag(int argc, VALUE *argv, VALUE self) + + GetCipher(self, ctx); + +- if (!(EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER)) ++ if (!(EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER)) + ossl_raise(eCipherError, "authentication tag not supported by this cipher"); + + ret = rb_str_new(NULL, tag_len); +@@ -641,7 +641,7 @@ ossl_cipher_set_auth_tag(VALUE self, VALUE vtag) + tag_len = RSTRING_LENINT(vtag); + + GetCipher(self, ctx); +- if (!(EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER)) ++ if (!(EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER)) + ossl_raise(eCipherError, "authentication tag not supported by this cipher"); + + if (!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, tag_len, tag)) +@@ -668,7 +668,7 @@ ossl_cipher_set_auth_tag_len(VALUE self, VALUE vlen) + EVP_CIPHER_CTX *ctx; + + GetCipher(self, ctx); +- if (!(EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER)) ++ if (!(EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER)) + ossl_raise(eCipherError, "AEAD not supported by this cipher"); + + if (!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, tag_len, NULL)) +@@ -695,7 +695,7 @@ ossl_cipher_set_iv_length(VALUE self, VALUE iv_length) + EVP_CIPHER_CTX *ctx; + + GetCipher(self, ctx); +- if (!(EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER)) ++ if (!(EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER)) + ossl_raise(eCipherError, "cipher does not support AEAD"); + + if (!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN, len, NULL)) +@@ -786,9 +786,9 @@ ossl_cipher_iv_length(VALUE self) + int len = 0; + + GetCipher(self, ctx); + #if defined(HAVE_AUTHENTICATED_ENCRYPTION) +- if (EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER) ++ if (EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER) + len = (int)(VALUE)EVP_CIPHER_CTX_get_app_data(ctx); + #endif + if (!len) + len = EVP_CIPHER_CTX_iv_length(ctx); +diff --git a/ext/openssl/ossl_engine.c b/ext/openssl/ossl_engine.c +index d69b5dca..5ca0d4ca 100644 +--- a/ext/openssl/ossl_engine.c ++++ b/ext/openssl/ossl_engine.c +@@ -46,13 +46,25 @@ VALUE eEngineError; + /* + * Private + */ +-#define OSSL_ENGINE_LOAD_IF_MATCH(x) \ ++#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000 ++#define OSSL_ENGINE_LOAD_IF_MATCH(engine_name, x) \ + do{\ +- if(!strcmp(#x, RSTRING_PTR(name))){\ +- ENGINE_load_##x();\ ++ if(!strcmp(#engine_name, RSTRING_PTR(name))){\ ++ if (OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_##x, NULL))\ ++ return Qtrue;\ ++ else\ ++ ossl_raise(eEngineError, "OPENSSL_init_crypto"); \ ++ }\ ++}while(0) ++#else ++#define OSSL_ENGINE_LOAD_IF_MATCH(engine_name, x) \ ++do{\ ++ if(!strcmp(#engine_name, RSTRING_PTR(name))){\ ++ ENGINE_load_##engine_name();\ + return Qtrue;\ + }\ + }while(0) ++#endif + + static void + ossl_engine_free(void *engine) +@@ -94,55 +106,55 @@ ossl_engine_s_load(int argc, VALUE *argv, VALUE klass) + StringValueCStr(name); + #ifndef OPENSSL_NO_STATIC_ENGINE + #if HAVE_ENGINE_LOAD_DYNAMIC +- OSSL_ENGINE_LOAD_IF_MATCH(dynamic); ++ OSSL_ENGINE_LOAD_IF_MATCH(dynamic, DYNAMIC); + #endif + #if HAVE_ENGINE_LOAD_4758CCA +- OSSL_ENGINE_LOAD_IF_MATCH(4758cca); ++ OSSL_ENGINE_LOAD_IF_MATCH(4758cca, 4758CCA); + #endif + #if HAVE_ENGINE_LOAD_AEP +- OSSL_ENGINE_LOAD_IF_MATCH(aep); ++ OSSL_ENGINE_LOAD_IF_MATCH(aep, AEP); + #endif + #if HAVE_ENGINE_LOAD_ATALLA +- OSSL_ENGINE_LOAD_IF_MATCH(atalla); ++ OSSL_ENGINE_LOAD_IF_MATCH(atalla, ATALLA); + #endif + #if HAVE_ENGINE_LOAD_CHIL +- OSSL_ENGINE_LOAD_IF_MATCH(chil); ++ OSSL_ENGINE_LOAD_IF_MATCH(chil, CHIL); + #endif + #if HAVE_ENGINE_LOAD_CSWIFT +- OSSL_ENGINE_LOAD_IF_MATCH(cswift); ++ OSSL_ENGINE_LOAD_IF_MATCH(cswift, CSWIFT); + #endif + #if HAVE_ENGINE_LOAD_NURON +- OSSL_ENGINE_LOAD_IF_MATCH(nuron); ++ OSSL_ENGINE_LOAD_IF_MATCH(nuron, NURON); + #endif + #if HAVE_ENGINE_LOAD_SUREWARE +- OSSL_ENGINE_LOAD_IF_MATCH(sureware); ++ OSSL_ENGINE_LOAD_IF_MATCH(sureware, SUREWARE); + #endif + #if HAVE_ENGINE_LOAD_UBSEC +- OSSL_ENGINE_LOAD_IF_MATCH(ubsec); ++ OSSL_ENGINE_LOAD_IF_MATCH(ubsec, UBSEC); + #endif + #if HAVE_ENGINE_LOAD_PADLOCK +- OSSL_ENGINE_LOAD_IF_MATCH(padlock); ++ OSSL_ENGINE_LOAD_IF_MATCH(padlock, PADLOCK); + #endif + #if HAVE_ENGINE_LOAD_CAPI +- OSSL_ENGINE_LOAD_IF_MATCH(capi); ++ OSSL_ENGINE_LOAD_IF_MATCH(capi, CAPI); + #endif + #if HAVE_ENGINE_LOAD_GMP +- OSSL_ENGINE_LOAD_IF_MATCH(gmp); ++ OSSL_ENGINE_LOAD_IF_MATCH(gmp, GMP); + #endif + #if HAVE_ENGINE_LOAD_GOST +- OSSL_ENGINE_LOAD_IF_MATCH(gost); ++ OSSL_ENGINE_LOAD_IF_MATCH(gost, GOST); + #endif + #if HAVE_ENGINE_LOAD_CRYPTODEV +- OSSL_ENGINE_LOAD_IF_MATCH(cryptodev); ++ OSSL_ENGINE_LOAD_IF_MATCH(cryptodev, CRYPTODEV); + #endif + #if HAVE_ENGINE_LOAD_AESNI +- OSSL_ENGINE_LOAD_IF_MATCH(aesni); ++ OSSL_ENGINE_LOAD_IF_MATCH(aesni, AESNI); + #endif + #endif + #ifdef HAVE_ENGINE_LOAD_OPENBSD_DEV_CRYPTO +- OSSL_ENGINE_LOAD_IF_MATCH(openbsd_dev_crypto); ++ OSSL_ENGINE_LOAD_IF_MATCH(openbsd_dev_crypto, OPENBSD_DEV_CRYPTO); + #endif +- OSSL_ENGINE_LOAD_IF_MATCH(openssl); ++ OSSL_ENGINE_LOAD_IF_MATCH(openssl, OPENSSL); + rb_warning("no such builtin loader for `%"PRIsVALUE"'", name); + return Qnil; + #endif /* HAVE_ENGINE_LOAD_BUILTIN_ENGINES */ +@@ -160,7 +172,9 @@ ossl_engine_s_load(int argc, VALUE *argv, VALUE klass) + static VALUE + ossl_engine_s_cleanup(VALUE self) + { ++#if defined(LIBRESSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000 + ENGINE_cleanup(); ++#endif + return Qnil; + } + +diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c +index 8e3c0c42..d32a299c 100644 +--- a/ext/openssl/ossl_ssl.c ++++ b/ext/openssl/ossl_ssl.c +@@ -379,7 +379,7 @@ ossl_call_session_get_cb(VALUE ary) + + /* this method is currently only called for servers (in OpenSSL <= 0.9.8e) */ + static SSL_SESSION * +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER) + ossl_sslctx_session_get_cb(SSL *ssl, const unsigned char *buf, int len, int *copy) + #else + ossl_sslctx_session_get_cb(SSL *ssl, unsigned char *buf, int len, int *copy) +diff --git a/ext/openssl/ossl_x509cert.c b/ext/openssl/ossl_x509cert.c +index cf82a53d..8d16b9b7 100644 +--- a/ext/openssl/ossl_x509cert.c ++++ b/ext/openssl/ossl_x509cert.c +@@ -440,7 +440,7 @@ ossl_x509_set_not_before(VALUE self, VALUE time) + + GetX509(self, x509); + asn1time = ossl_x509_time_adjust(NULL, time); +- if (!X509_set_notBefore(x509, asn1time)) { ++ if (!X509_set1_notBefore(x509, asn1time)) { + ASN1_TIME_free(asn1time); + ossl_raise(eX509CertError, "X509_set_notBefore"); + } +@@ -479,7 +479,7 @@ ossl_x509_set_not_after(VALUE self, VALUE time) + + GetX509(self, x509); + asn1time = ossl_x509_time_adjust(NULL, time); +- if (!X509_set_notAfter(x509, asn1time)) { ++ if (!X509_set1_notAfter(x509, asn1time)) { + ASN1_TIME_free(asn1time); + ossl_raise(eX509CertError, "X509_set_notAfter"); + } +diff --git a/ext/openssl/ossl_x509crl.c b/ext/openssl/ossl_x509crl.c +index 5ecd7ea0..45cf7fb4 100644 +--- a/ext/openssl/ossl_x509crl.c ++++ b/ext/openssl/ossl_x509crl.c +@@ -226,7 +226,7 @@ ossl_x509crl_set_last_update(VALUE self, VALUE time) + + GetX509CRL(self, crl); + asn1time = ossl_x509_time_adjust(NULL, time); +- if (!X509_CRL_set_lastUpdate(crl, asn1time)) { ++ if (!X509_CRL_set1_lastUpdate(crl, asn1time)) { + ASN1_TIME_free(asn1time); + ossl_raise(eX509CRLError, "X509_CRL_set_lastUpdate"); + } +@@ -257,7 +257,7 @@ ossl_x509crl_set_next_update(VALUE self, VALUE time) + + GetX509CRL(self, crl); + asn1time = ossl_x509_time_adjust(NULL, time); +- if (!X509_CRL_set_nextUpdate(crl, asn1time)) { ++ if (!X509_CRL_set1_nextUpdate(crl, asn1time)) { + ASN1_TIME_free(asn1time); + ossl_raise(eX509CRLError, "X509_CRL_set_nextUpdate"); + } diff --git a/dev-lang/ruby/ruby-2.3.7.ebuild b/dev-lang/ruby/ruby-2.3.7.ebuild deleted file mode 100644 index a65f51e5afc9..000000000000 --- a/dev-lang/ruby/ruby-2.3.7.ebuild +++ /dev/null @@ -1,242 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -#PATCHSET=1 - -inherit autotools eutils flag-o-matic multilib versionator - -MY_P="${PN}-$(get_version_component_range 1-3)" -S=${WORKDIR}/${MY_P} - -SLOT=$(get_version_component_range 1-2) -MY_SUFFIX=$(delete_version_separator 1 ${SLOT}) -RUBYVERSION=2.3.0 - -if [[ -n ${PATCHSET} ]]; then - if [[ ${PVR} == ${PV} ]]; then - PATCHSET="${PV}-r0.${PATCHSET}" - else - PATCHSET="${PVR}.${PATCHSET}" - fi -else - PATCHSET="${PVR}" -fi - -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" -SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz - https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2" - -LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd" -IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 ssl tk xemacs ncurses +readline" - -RDEPEND=" - berkdb? ( sys-libs/db:= ) - gdbm? ( sys-libs/gdbm:= ) - jemalloc? ( dev-libs/jemalloc ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl ) - ) - socks5? ( >=net-proxy/dante-1.1.13 ) - tk? ( - dev-lang/tcl:0=[threads] - dev-lang/tk:0=[threads] - ) - ncurses? ( sys-libs/ncurses:0= ) - readline? ( sys-libs/readline:0= ) - dev-libs/libyaml - virtual/libffi:= - sys-libs/zlib - >=app-eselect/eselect-ruby-20151229 - ! "${T}"/50${P} + LDPATH="/opt/${P}/lib" + MANPATH="/usr/share/${P}/man" + EOF + doenvd "${T}"/50${P} + + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-lldb + EOF + echo /usr/bin/cargo >> "${T}/provider-${P}" + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + dodir /etc/env.d/rust + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}," + + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if has_version 'app-shells/zsh'; then + elog "install app-shells/rust-zshcomp to get zsh completion for rust." + fi +} + +pkg_postrm() { + eselect rust unset --if-invalid +} diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index 77d5893cdf45..f500b9a0f072 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -26,10 +26,25 @@ DIST rust-1.29.2-powerpc64-unknown-linux-gnu.tar.xz 103432092 BLAKE2B ed700d2987 DIST rust-1.29.2-powerpc64le-unknown-linux-gnu.tar.xz 106607384 BLAKE2B de19f341dcc1cc580e68865d3b0034f781ed4ca0ac1b07c89352409684670c7d0fd5c95ea6018fc7de4fbfacf4f7d0ebeec34c036c0062ca7f776403511df7dd SHA512 b9181da601a467f46713f2f438fc7ad69c46fc310e62a8d45f665744c8578491d832b8624ff454c19c94f1694fa406846a82289250241030a70b2cb4b88913d1 DIST rust-1.29.2-s390x-unknown-linux-gnu.tar.xz 99114900 BLAKE2B 08e9251bd8e9c9ac6352ab81735b720052b3288b5fd344f6ba69205c7971f362270f0acce7dbd3763b20d3b1e976ff5404151253acb9c29708f36038d23299f1 SHA512 f76a030257edbdd993d7a4e83da895c8b4749904fb2252a125b3e4ef4331a1cb2c389ec54a372bea413718e3dad987e4b17eb29d301c29ba330222502e6b9b75 DIST rust-1.29.2-x86_64-unknown-linux-gnu.tar.xz 148275708 BLAKE2B bd7c974f5c8cf78a1fbfc73544ecdab97b7f9ab28ed9ab66759eca3e0fa085fdb2689ba5dfc6dccc6746bab91b6b0b544c44cb729e493dddde2f9ed84c96a247 SHA512 8bc05942a72b186ea1765831bea6921f734e2dd58790a8e427a6d63a2db0d9064937d3198ca3febffeba73b1cc3bef716155ef6cb32127ddeef29ac884cde4b8 +DIST rust-1.30.1-aarch64-unknown-linux-gnu.tar.xz 114223904 BLAKE2B ca3f93d8cb59f5ecc8680ab018f8666a5c0df1bf671af4220c39178a946ce77a05588d91709facd42a1d693120c46c472c4d6dc0b6a5e7d3330b9f0807ff3fcc SHA512 5fb9cb0281cd76b1995bcd6c4dd824f8a4d4c1ffc61a0a54f62b45340b98a7b41cf5ec3d4a8ec370c2603c14f9dc5451ae1a47ea96ebbd520770dfd22cf0ffdc +DIST rust-1.30.1-arm-unknown-linux-gnueabi.tar.xz 120865688 BLAKE2B 18934c592882ad3608b82ab9aac68412790d02c148c2af0a37a5027ebe059ff697a8556c4dcbf0ac5cf37c6fbd37c51abbf88a3f0ce274742ff1d7ec94f96f04 SHA512 871e0b036273ec62e28712fe1d5d1c74b061eabb59f9cc852e8924df1aaa3797af28d51dde643010920321fa71382ddd70f2d97d25c06999d5663f5209ffc6b7 +DIST rust-1.30.1-arm-unknown-linux-gnueabihf.tar.xz 121114868 BLAKE2B 6410c16e3019b67d2e299b06527db6d7291a1426c4606012234bd8e93b3e3738dda5907aa6d9e48ac25f2a7e06a441f7e42095ec81de01408c235577e0df2df5 SHA512 73ac63f81a86b70ea0378e859b6a913f3f6e2044f1ddcb056c53a18d3f32011a47abf29bf2a84f3a9d6732bec348741662448104e320bcaebf2a3667209fcedb +DIST rust-1.30.1-armv7-unknown-linux-gnueabihf.tar.xz 122390768 BLAKE2B 39c38b9bf96e94023b9c6d81fce8c341e789f182b59bf1b540a6d22be24e0498c638d0d3aa1433f49e52048795f91f5f4ca707dd8fcb998ea51caa932537b74e SHA512 88f9f23f431cc34d6b7ddc51c2321905df03dc714aab0b3a5e067390de5092b472f8092ba25a5c09666ad9b138efc2f4b625ca86dbe10ddeea213b8e9d70c9b3 +DIST rust-1.30.1-i686-unknown-linux-gnu.tar.xz 143689500 BLAKE2B 0b654570e295c785b074625c8fe7649e1841327fba790e38e08e912ad0602440e08a205318e637c903989bd19bab4c0a726583f2ab457d75ff71e96524251aa0 SHA512 66c56107fd8c83f9c1948137aee09c67633f6f472823696719a22b5f0b0e28925b0a6b6545b8fe4d741b8473ddc49db30fe112fc5b0e6fc63439901ff5462a86 +DIST rust-1.30.1-mips-unknown-linux-gnu.tar.xz 112662912 BLAKE2B ded8631f76ac5fc16cae298f5a7afdb8c451ff95af03c827959bd19484d513066ac387e956577f5ee42369fc5d68c1e2cbf4cfc72c364739eea31643844ba936 SHA512 8a1681f054a57d62050a2d11ae3109e7be4f6638319b059d10612f0be073de63f2dffea79bb29452763fad8a64274367d9bbe5ca0636e78c34a6cdce542118a0 +DIST rust-1.30.1-mips64-unknown-linux-gnuabi64.tar.xz 117355424 BLAKE2B fcc583d99a6b17e1d38d26a48d39768b09c52e6a6fa3cd36d9513bd9385fd4560d06c3a737b69c396b5bb465ae261321dbbaf7bda4378d7e4be165bc889d8b2d SHA512 c18cd513021753d2b8e1a9ea2bf0bd73817e2c81dcf246993b52c7055b3b18d9f20c935dec4281acbd2792a6964dbfb0c05b5cb2075703aaa444352ef8f06d50 +DIST rust-1.30.1-mipsel-unknown-linux-gnu.tar.xz 114622708 BLAKE2B 5d62f6744cb1bf69d7047bb18e246623ee98c94bfa083fd5269bdcf8dd1c2c0824747dd641f703931f0b22fd513ee8a65a4dec103bf479f6a00e72098541a1aa SHA512 3d084c5c986ba379a3213c9662bc6a0e24c9d3a1c4ae4e28c3f807841eacb15dd8fb42bcb190967ba4a9e8e5397b63e6bbd3990bd9826d52a127bd71ac5b361e +DIST rust-1.30.1-powerpc-unknown-linux-gnu.tar.xz 110375696 BLAKE2B 6ffa7b6b7ae569c7ebf6b0ab43287421e4a5e2ea8654638902e61df42f7e3de7f14c14f2e585d7b3e140f2ebc7a0e1149b814fd5a6d6c0374f9d8059ff3369c3 SHA512 ebbd2c2b160e6e36a03eee205a333cddf0a36cd0ce42135a7e4119469be41b76cedda143cf9e9491ae0d9aaf65e2e927550e2e0358401fc5f657ee02b37959b4 +DIST rust-1.30.1-powerpc64-unknown-linux-gnu.tar.xz 118698168 BLAKE2B 58905ab6c62d4b7fca8954fc507f9105537cdfc2a55a6585b4784a41ce721046c41606eae6066a173a548c4d065db497e187b2e8c9c6cbc0ee589e7731c8f106 SHA512 7eddabec2e1e01ddbc8c7b0c55f2753e506786867f78e79e47d4f273e7c02170caa24470e0f2ecf6c473cfc8c023e189017454e2ad0f3faa96465fdd22bdfd6d +DIST rust-1.30.1-powerpc64le-unknown-linux-gnu.tar.xz 121569444 BLAKE2B d4d390ea24298cd88d224efe3c1a1dc3a802b678d977bc0aa26197e291547a6ca823a0fe5e35491204a649cb6a5419343a825ef32408aa2638d057b209b1c15c SHA512 b4595f031a006335ac778ec6a07c398fd6cce78ed3c0ed5730a5c06fa3a390dbab1afda0468756330783baa86dafb2f0c7ca7c75b735eb532c268027e22975e6 +DIST rust-1.30.1-s390x-unknown-linux-gnu.tar.xz 124025168 BLAKE2B b4a8df333b093ae111136a6b9005aca7f424f209d629041c4fce1efc7e19b176f6e6325bf3552e8de93faa311ebf065ad4b9f104de3ee412b2a3fda70156c2b0 SHA512 592764d3d5b4d8a2a7628f4969ba5204da4ea63ca92efc17d4f9339274fce00aecc4d1ebb1f4d0499da8559375ad205054b26e12775af622a7112b20b8c8d4fb +DIST rust-1.30.1-x86_64-unknown-linux-gnu.tar.xz 145148116 BLAKE2B e70d667d880656209c036b72f619b1bd29679878ff4b8865f0453c064c4a8a53a96e73994509637312032e1260eeb0e53f7372ca1526760b1631846ed6a4c571 SHA512 05238b65b5184e3df81dbcf1cc1035a03054ef09a8563fe60877e4f078d0d2cad71aec73c1451196171f39f8e729059e91c7eed7b1402e03801c0b7e81815885 DIST rustc-1.29.1-src.tar.xz 61937676 BLAKE2B 6a60249538e1ec62471f4d0e3fc31c0a648433aa6f85ca7341657ea07772e338eb92a629941685808f4b80e84cb025d78aee9d0d6fa71c6635a1647c61bca9bc SHA512 1ded651b4c460e11e5e44c26de88a80fb13c2000097de2ee1e5af89638e12a7e8f43dd756689d4cc4fad45c52d4d43a3c70dd6a3ae550735b9dad5f8defea6a7 DIST rustc-1.29.2-src.tar.xz 61888912 BLAKE2B f59b0bf45caa6f6136f92ffbaa612bbc6a340c8694ec69d75aadace9180c36753f985641915524388b52cc108f8f5b71840ee3a6c0b1fcff6decb61d2d8a161e SHA512 d8fa9501764348ace8f60f2069bcd016925abe56c8bbc2b87fb52ff796e4bc7284c1fccbb1671416437bb82fde7d9240eeae875d6099914e27e75cfe050e2d38 DIST rustc-1.30.1-src.tar.xz 96086232 BLAKE2B 170767b64efe670086e7c4e73838b489a155a72c703148f83cad29d401a825a94a1def3aa462ba527e1bd08181c7a9be0e404c25f012906541c3d739eb57e9e5 SHA512 e466db81b9a82239670c48b876dc7390fcdda28c6390308691ddf2e0c12a39b57bd5ddb18322d1b4cd58165f69a666c7d83bee6573049da3b94e401657459bf5 +DIST rustc-1.31.1-src.tar.xz 96915864 BLAKE2B bedfe1d56e2f99bb43b4b652d540aedf0a86c47b8493f28fb29e5af3135ff469ed40775bc2ee25ac5bd28a264ecba0094d7c9b6aae25ea365ed3e6f354ffa40b SHA512 d6688711452295c41468af214f036499074d82fbeedc3f03560275219c2fae910e623e38e3210176d86f78ba5533ea098da5ff21532c8ad1a5aac132bb74ee02 EBUILD rust-1.29.1-r1.ebuild 8003 BLAKE2B f6f026fd27037603c83b0b68f5cc202d118322e11fce7448f764f81fcb6f55f26ec0b5d7c484b515e54066ca6c65be2c07b91df0175daf1ea0b4d3ae6c0dc1a3 SHA512 c31e38c3294c11355504e6fc8a5e2e199250cd6d0ab471ec72d08c5f62d31642fb76b1de1b5d0c097af3fd57a9299700ebf39ff01d07e2c06c9b868cbf7db1d6 EBUILD rust-1.29.2-r1.ebuild 7535 BLAKE2B 91d1465b4a5265d019b7cfeeb6b7154e5bce0b83f3d4b36449457875df55823b2319803a68ea59724c6703962471b489af76b773063dbccce84768ae52d61ef9 SHA512 69827d7fd22cfc8fbcdf2885af62c1c9468a8d6afa982fba34435b40430151467fda0715258cb4e3b8db9a861a921dacf5fcd7bd34c3474846516e067fc71931 -EBUILD rust-1.30.1-r1.ebuild 7521 BLAKE2B 2535af0a7add7a05b428732f5a23fb8ce6f9b30d19a2c1627b1743d9810ad45f9536b605b150bf898d50518c9ef471a53b24b1ee9acc6bc021b2ca845d2c48b2 SHA512 0846956025a49f4edc88dd66dd8c60c443b9346a48b533da12fb767743375cdeb31ef078ce106b8f57235cc74e3d87c7b1745579b29b44d3946d41cca1fa6f16 +EBUILD rust-1.30.1-r1.ebuild 8117 BLAKE2B f1ea10752c355110ef4ffe8876fd41bf00271696f56a01feafdf3d1e45df42ae9f021d912d20c3b94e5347c10760576195140195110270bdf5d8be69aafd6f47 SHA512 8b100db9a2c95e4e32dfa9008aaeb21f50344bedfe2f4e65355e4148bd8d4e5de27f05ae25fc2fb7b3b8e1b467b13f098ec704e41f8238093aaacda22efc2acf +EBUILD rust-1.31.1.ebuild 8118 BLAKE2B 8aed074dc9c55a0e9ceb357fdc3170306e062ded66c8a4d6521fab6ade58b9a4bf961ada9596cb64cd40f2e4f808c219311e15efa9d89745a2e7d3a55737f833 SHA512 b8bee09b5227114528835e90d3f364e7500eb438a7f41f84eae71e415ef18536a7db884f2fc3d6c6868b3097b4189bb93958a67b5e22e8719e571f3cc3dd9be2 MISC metadata.xml 634 BLAKE2B 394e75b1b5b5d9fad1d87dca27d7807bfce9eb723bc339dbb7c0630dc5abd3669e9469a9e75da74925d16d63c78971b0e7c84710db9b2cd15e87d81f49968903 SHA512 9e02acc0ad17e2f502c6082b5df9aeb6b9655783892a85d67855b3f6a79ec36dca610170bb002116c354626d44282c4e35e30cdf6b5e49745cfc6a990f55731c diff --git a/dev-lang/rust/rust-1.30.1-r1.ebuild b/dev-lang/rust/rust-1.30.1-r1.ebuild index 620583b6ecb9..3984df3686bb 100644 --- a/dev-lang/rust/rust-1.30.1-r1.ebuild +++ b/dev-lang/rust/rust-1.30.1-r1.ebuild @@ -5,7 +5,7 @@ EAPI=6 PYTHON_COMPAT=( python2_7 python3_{5,6} pypy ) -inherit eapi7-ver llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs +inherit check-reqs eapi7-ver estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs if [[ ${PV} = *beta* ]]; then betaver=${PV//*beta} @@ -68,9 +68,28 @@ toml_usex() { usex "$1" true false } +pre_build_checks() { + CHECKREQS_DISK_BUILD="7G" + CHECKREQS_MEMORY="4G" + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + CHECKREQS_DISK_BUILD="10G" + CHECKREQS_MEMORY="16G" + fi + eshopts_pop + check-reqs_pkg_setup +} + +pkg_pretend() { + pre_build_checks +} + pkg_setup() { + pre_build_checks python-any-r1_pkg_setup - llvm_pkg_setup + if use system-llvm; then + llvm_pkg_setup + fi } src_prepare() { @@ -256,6 +275,10 @@ pkg_postinst() { elog "Rust installs a helper script for calling GDB and LLDB," elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo." + ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some" + ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'." + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then elog "install app-emacs/rust-mode to get emacs support for rust." fi diff --git a/dev-lang/rust/rust-1.31.1.ebuild b/dev-lang/rust/rust-1.31.1.ebuild new file mode 100644 index 000000000000..1b215c0ac902 --- /dev/null +++ b/dev-lang/rust/rust-1.31.1.ebuild @@ -0,0 +1,297 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{5,6} pypy ) + +inherit check-reqs eapi7-ver estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz" +else + ABI_VER="$(ver_cut 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz + $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})" + +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 + NVPTX PowerPC Sparc SystemZ X86 XCore ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="clippy cpu_flags_x86_sse2 debug doc +jemalloc libressl rls rustfmt system-llvm wasm ${ALL_LLVM_TARGETS[*]}" + +COMMON_DEPEND=">=app-eselect/eselect-rust-0.3_pre20150425 + jemalloc? ( dev-libs/jemalloc ) + sys-libs/zlib + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + net-libs/libssh2 + net-libs/http-parser:= + net-misc/curl[ssl] + system-llvm? ( >=sys-devel/llvm-6:= )" +DEPEND="${COMMON_DEPEND} + ${PYTHON_DEPS} + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + dev-util/cmake" +RDEPEND="${COMMON_DEPEND} + !dev-util/cargo + rustfmt? ( !dev-util/rustfmt )" +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + x86? ( cpu_flags_x86_sse2 )" + +S="${WORKDIR}/${MY_P}-src" + +PATCHES=( "${FILESDIR}"/1.30.1-clippy-sysroot.patch ) + +toml_usex() { + usex "$1" true false +} + +pre_build_checks() { + CHECKREQS_DISK_BUILD="7G" + CHECKREQS_MEMORY="4G" + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + CHECKREQS_DISK_BUILD="10G" + CHECKREQS_MEMORY="16G" + fi + eshopts_pop + check-reqs_pkg_setup +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + if use system-llvm; then + llvm_pkg_setup + fi +} + +src_prepare() { + local rust_stage0_root="${WORKDIR}"/rust-stage0 + + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die + + default +} + +src_configure() { + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" + fi + rust_targets="${rust_targets#,}" + + local extended="true" tools="\"cargo\"," + if use clippy; then + tools="\"clippy\",$tools" + fi + if use rls; then + tools="\"rls\",\"analysis\",\"src\",$tools" + fi + if use rustfmt; then + tools="\"rustfmt\",$tools" + fi + + local rust_stage0_root="${WORKDIR}"/rust-stage0 + + rust_target="$(rust_abi)" + + cat <<- EOF > "${S}"/config.toml + [llvm] + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + targets = "${LLVM_TARGETS// /;}" + link-shared = $(toml_usex system-llvm) + [build] + build = "${rust_target}" + host = ["${rust_target}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + docs = $(toml_usex doc) + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = ${extended} + tools = [${tools}] + [install] + prefix = "${EPREFIX}/usr" + libdir = "$(get_libdir)/${P}" + docdir = "share/doc/${P}" + mandir = "share/${P}/man" + [rust] + optimize = $(toml_usex !debug) + debuginfo = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + use-jemalloc = $(toml_usex jemalloc) + default-linker = "$(tc-getCC)" + channel = "stable" + rpath = false + lld = $(toml_usex wasm) + EOF + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + cat <<- EOF >> "${S}"/config.env + CFLAGS_${rust_target}=${arch_cflags} + EOF + + cat <<- EOF >> "${S}"/config.toml + [target.${rust_target}] + cc = "$(tc-getBUILD_CC)" + cxx = "$(tc-getBUILD_CXX)" + linker = "$(tc-getCC)" + ar = "$(tc-getAR)" + EOF + if use system-llvm; then + cat <<- EOF >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix)/bin/llvm-config" + EOF + fi + done + + if use wasm; then + cat <<- EOF >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "rust-lld" + EOF + fi +} + +src_compile() { + env $(cat "${S}"/config.env)\ + "${EPYTHON}" ./x.py build --config="${S}"/config.toml -j$(makeopts_jobs) \ + --exclude src/tools/miri || die # https://github.com/rust-lang/rust/issues/52305 +} + +src_install() { + local rust_target abi_libdir + + env DESTDIR="${D}" "${EPYTHON}" ./x.py install || die + + mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die + mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die + mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die + mv "${D}/usr/bin/rust-lldb" "${D}/usr/bin/rust-lldb-${PV}" || die + mv "${D}/usr/bin/cargo" "${D}/usr/bin/cargo-${PV}" || die + if use clippy; then + mv "${D}/usr/bin/clippy-driver" "${D}/usr/bin/clippy-driver-${PV}" || die + mv "${D}/usr/bin/cargo-clippy" "${D}/usr/bin/cargo-clippy-${PV}" || die + fi + if use rls; then + mv "${D}/usr/bin/rls" "${D}/usr/bin/rls-${PV}" || die + fi + if use rustfmt; then + mv "${D}/usr/bin/rustfmt" "${D}/usr/bin/rustfmt-${PV}" || die + mv "${D}/usr/bin/cargo-fmt" "${D}/usr/bin/cargo-fmt-${PV}" || die + fi + + # Copy shared library versions of standard libraries for all targets + # into the system's abi-dependent lib directories because the rust + # installer only does so for the native ABI. + for v in $(multilib_get_enabled_abi_pairs); do + if [ ${v##*.} = ${DEFAULT_ABI} ]; then + continue + fi + abi_libdir=$(get_abi_LIBDIR ${v##*.}) + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + mkdir -p "${D}/usr/${abi_libdir}" + cp "${D}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \ + "${D}/usr/${abi_libdir}" || die + done + + dodoc COPYRIGHT + + # FIXME: + # Really not sure if that env is needed, specailly LDPATH + cat <<-EOF > "${T}"/50${P} + LDPATH="/usr/$(get_libdir)/${P}" + MANPATH="/usr/share/${P}/man" + EOF + doenvd "${T}"/50${P} + + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-lldb + EOF + echo /usr/bin/cargo >> "${T}/provider-${P}" + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rls; then + echo /usr/bin/rls >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + dodir /etc/env.d/rust + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + + ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of dev-util/cargo." + ewarn "This might have resulted in a dangling symlink for /usr/bin/cargo on some" + ewarn "systems. This can be resolved by calling 'sudo eselect rust set ${P}'." + + if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if has_version 'app-shells/zsh'; then + elog "install app-shells/rust-zshcomp to get zsh completion for rust." + fi +} + +pkg_postrm() { + eselect rust unset --if-invalid +} diff --git a/dev-lang/spark/Manifest b/dev-lang/spark/Manifest index 7a124aa317f7..9a4e4b0677c9 100644 --- a/dev-lang/spark/Manifest +++ b/dev-lang/spark/Manifest @@ -3,6 +3,6 @@ DIST gnat-gpl-2017-src.tar.gz 8783473 BLAKE2B b0415b42f4d3a5e8675591a5602ff0a969 DIST gnat-gpl-2018-src.tar.gz 8706578 BLAKE2B ba245fd91cc5263d5b8c159d9e75caf6bed21dcaa5fa43734af8775a4008ce5f96bfb84a8b5e6e734ff883314ab3219dacec3fe95a5baa33fb712bfb5ff8bce8 SHA512 0ff7e848ef77f7e772e2a1b01905307a91c332f32329456f5238c4b7eb46cc118709e8682a5fc826d98a7d99fd15a92c194f4a278f04bc465165cfa616cc3c2e DIST spark-gpl-2017-src.tar.gz 19750595 BLAKE2B 840eb9044b732aad16d2b6be9972e4805caf1e1b521ba40cc2a234871775d0212153ed9e9f84b4a2ddbeefc2b9c7d7556db943153655df6051cf4dc3f1be2e01 SHA512 90e7644daa6a935c839da9799c6dc5fe0a566f29c5f5d0a964ef5c888581f18c11adf6aa0151ae72437b91430fae06604dab8c3f1fd3222d749cfd330293ff6e DIST spark-gpl-2018-src.tar.gz 20244517 BLAKE2B efb8120a869eaf79aa513ea3b3393dcefdb548e66a00a630bfb9d28a59785c15362c111df3635423a7312c491c9929a7bcd8e7161607dc4d3acd6d1c27f3ca3e SHA512 83490a95c2d6401bcd077a8ec508eaf18609b5b480ccd9f247f4bb61164b5e52e34473526cd49ebdf5fd15ac422ed4a121dc50cab96241db02af9e32812a4df8 -EBUILD spark-2017.ebuild 1628 BLAKE2B ec15a84af3a0bc1417cec1db937f21e74797d2959047f6f8e07b816a4078caa283d48665917590ce8da707d16c27e0c05d4c168f6f1f1bfba2c500bd336698e4 SHA512 d9a230596c29e6ccd09aee78326904f21676bb736546df40df2ed41d93b0b4015f739d00c868d8deaa54274127b18b69c979b8deeffe6db979518d833bebd0e7 -EBUILD spark-2018.ebuild 1655 BLAKE2B e4a5075d38cac68f5badba74847471885f891856f33c6ce9a82c2393d2ab696a2d40d8101975bf4c161c3c942b3c3df69a920f31cfa6ec478755d2678bda6886 SHA512 df8c9882d9839e6c2035395b5af75a8ec1790927cc7709a9e021157db4e9473af43ce3672a84614fb538e52eb62038e2e46e83960a317cccf338eb323eaf88ce -MISC metadata.xml 702 BLAKE2B 26ae203d09cb80c4c75ca368651aa24da08657142d7e84e4dbdac335b501e98d6646e59b90b71706c8521e8e9c0692550615ef15f373f5d8d26e48ec74c2e72b SHA512 bd30717cad1bceeef722cf8a27cd3902ad636f088f64cc41f1be5d356a7def55e426bd62fd7a3e7d9272f61a6fad96bec423e7529660c8061650af72faeaeb57 +EBUILD spark-2017.ebuild 1624 BLAKE2B aac6291f8bdae0017541abb1966c87a8f32b7dfdb867a881dca1a0082cff3ee27d5e166daefdc9b847835d1f3dd37241ac050c0c2b4cead91ce9a109cb927dbd SHA512 e9dfb3b97723f69ca6caeeda75f97dcea06ddb6ba72d796b98d314426656620321de531e2c6f6ea3ed0bfe4a44ff8d7d37d7390e171784326a8149c08193f053 +EBUILD spark-2018.ebuild 1651 BLAKE2B 7d40b0c9a3be7b31337d46824d6b48c0cb1775f5ac390a30db2343618234bdf85e2fe2a6bed73ea2dd7f43c7976b892aa84641aa418102aafb3d5f5725ad9b53 SHA512 0f57d4f77f3424a40fdf02367f54b84fdb197a589d2a182a8e6103f371014207cee676a24774f035d2ef52d8624dd76cfddac663f2ad402d5f0c0e40df63848c +MISC metadata.xml 670 BLAKE2B 16a5a9781edcf7b7caf8134d4bb8b8997d4711daa07392809e055d989aa06e74f28a66d99b279eab9fd97f4444a756ec1de9cf92ebb00d4673ad50e008f51458 SHA512 4c51c93557ea581e109dfc62a602327f1056139a0e11e3c187ba8b1f8a0d4b4089894cb83cc909a922bf0a90f572a0b01f00face3782e861a46edeab1c7d3949 diff --git a/dev-lang/spark/metadata.xml b/dev-lang/spark/metadata.xml index ca4e653c68ef..2516831ba9a7 100644 --- a/dev-lang/spark/metadata.xml +++ b/dev-lang/spark/metadata.xml @@ -1,9 +1,8 @@ - - tupone@gentoo.org - Tupone Alfredo + + ada@gentoo.org SPARK is a software development technology specifically designed for diff --git a/dev-lang/spark/spark-2017.ebuild b/dev-lang/spark/spark-2017.ebuild index 47ad4e812b0f..be23d86d0c24 100644 --- a/dev-lang/spark/spark-2017.ebuild +++ b/dev-lang/spark/spark-2017.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -16,7 +16,7 @@ SRC_URI="http://mirrors.cdn.adacore.com/art/591c4777c7a447af2deed05e LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="" RDEPEND="dev-lang/gnat-gpl:6.3.0 diff --git a/dev-lang/spark/spark-2018.ebuild b/dev-lang/spark/spark-2018.ebuild index 8aad4b2c9af1..d538aa73fcb2 100644 --- a/dev-lang/spark/spark-2018.ebuild +++ b/dev-lang/spark/spark-2018.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -16,7 +16,7 @@ SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819dec7a447df26c27a47 LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="" RDEPEND="dev-lang/gnat-gpl:7.3.1 diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index b8d6132b8d33..80ce8dc1ad37 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -21,7 +21,7 @@ EBUILD spidermonkey-17.0.0-r4.ebuild 3547 BLAKE2B dee9143cf3aa2ed35cb7a3c5ba754a EBUILD spidermonkey-17.0.0-r5.ebuild 3563 BLAKE2B 4b5294071559ee1e8487dfa5df388e17fb357ec8898f6e4390c1d3540a89647df04245e4c33706e52080236f9fcec7422a2cd0463f1f78feca1afc42f1d29e40 SHA512 6546f0c8bc2e7b1baecd6d616550977d83079c71ee973ab811a9cede0612d95b892a5f4d02a4a4733b5e90fff9795cdf50531e41f278fa210c988467931433bb EBUILD spidermonkey-24.2.0-r3.ebuild 4016 BLAKE2B 4f52b07f5f156f701ba6e1dc7837a183a21d96d60467bf66ab0cfe2cf9d4269d6a5e56f4fa9813cceb877c084a8b53030d7f35d99fd934754b2f2f2612fcf35a SHA512 e71e25a69845f9555a6257a57e420166303c7be5dc511f9180c6bbcc814c7a52283cd55a19429ca94b73b21403d6faf0fe25485b8520cd7808881bfcfce14056 EBUILD spidermonkey-24.2.0-r4.ebuild 3989 BLAKE2B a859c05afcfe262398de5f0b4d0c148eaf2d94f57e9f029814982efcc740acbfc8349e756f75b3ce83a746571e27a31d88c78126b1b1e0cc9154e4b86f53dc8e SHA512 ca080e9993b2c10aed9abd0d54bd0722e8f4a53ed755f60389e9bf6b0d3347115ca7cc347b708592619ef69f6f1f38e5c9778c949f7224e579e7da09cd269067 -EBUILD spidermonkey-38.3.0.ebuild 3874 BLAKE2B 7b5584b2dc11f445605a5a718914b689b8fee1b259ca92011b6efe6e4f71160c3c8cc19359d4f253ea7325691d0d06a47c46ab61dc691812727456b1accaf7c4 SHA512 51e6a9eb249e7c7467ff7cd0db48d9587ff9e5c3a63ca730382867cef9d8c6600ae9c87f2b4b41dfc92fbd21fb92addcff597370ab6570d6a15c0d5372cdc909 +EBUILD spidermonkey-38.3.0.ebuild 3870 BLAKE2B 6a7f006f4cb758971945ad3c1f55b6aba78a5bc0847c6c5477abcd14c51453c999f161acc70d0efd2be0b9bdc414a4093d5ce4c7b472992c910be1025cf7d83b SHA512 fe84cf0d5a1e245bf89a449e6aeded26ea2091facd69341f264fceff6ebe48755c51b344eac9762ec6bf45ecc22a705fb6579e7f0beae7424bdad19f58e3a25f EBUILD spidermonkey-45.0.2.ebuild 3980 BLAKE2B 8f5b8aaba2c9ffc9adf16ff14216375434ddb3511add9817022e2913b41b415fdb3a2899ab341dc3e389460dbdf6d00cfb86270e8fd7a8de78eda6bbfc73b6ee SHA512 f99a6f6385e9cd39b8f6acb63b4c5f6e05250eb475e7906c6b06251c2a3de593d2617cbed3ef9f5c13b6009bcac6cb9b989ec362e0bfc6e351adcbec033d2806 -EBUILD spidermonkey-52.9.1_pre1.ebuild 4229 BLAKE2B eb2d9f09aa55fa3882d48e56e1c7584dbed1fdde7e5df5ddb76cbd649af5aa95fe941eead19b97bc7e08a74ee358a51c428598317a36b8f6910f01e92c538a99 SHA512 a4510d988db6f78770c0e1520e48aa54e4c8ceb60c92396eeb9427222f64bf193c3a282ac14b9966d246e9a5c66bb9d77d78f8625ebb92428b1304b4b1d7a364 +EBUILD spidermonkey-52.9.1_pre1.ebuild 4228 BLAKE2B 0a7487c06f20ca465b348dc4ed8ec283868b8df40ca643befe096c27a12fb034b16b62cfa588c505bd96960db64837af2e07c9fbe51a5b1044d9cf90ccde3409 SHA512 f9f54eb60b550669b3fb9a683f7d548f0a8dca7ca6b1352c71ebbe4a3024b22612a87cb8ca2a3cc3106ae28dcb461254d497ac8b0836eb33512fb3e5a72584e9 MISC metadata.xml 906 BLAKE2B 8557bb4bfdce358f543be3ff571177d61beb5713ba6fa4c24c8e91522ca30f8c5b1bf42abd0324164cc6febd04d07c1ae3a311d6d68d62992be6368c20650ca9 SHA512 a411a781913fe81801799d4d801645fd8029ee4fb727431589cb948f97464edd828b8d86969b2207880432db8e8e627fad829fd95394fa121bb0ae97ae8249b0 diff --git a/dev-lang/spidermonkey/spidermonkey-38.3.0.ebuild b/dev-lang/spidermonkey/spidermonkey-38.3.0.ebuild index dcbf4ae25272..df8c5518296f 100644 --- a/dev-lang/spidermonkey/spidermonkey-38.3.0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-38.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -14,7 +14,7 @@ SRC_URI="https://archive.mozilla.org/pub/${PN}/releases/${PV}/${MY_P}.tar.bz2 LICENSE="NPL-1.1" SLOT="38" -KEYWORDS="alpha amd64 ~arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd" +KEYWORDS="alpha amd64 arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd" IUSE="debug +jit minimal static-libs +system-icu test" RESTRICT="ia64? ( test )" diff --git a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild index 7faa00344684..f2fe8d1b2cc9 100644 --- a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild @@ -16,7 +16,7 @@ SRC_URI="http://ftp.mozilla.org/pub/spidermonkey/prereleases/52/pre1/mozjs-52.9. LICENSE="NPL-1.1" SLOT="52" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 s390 ~sh ~sparc x86 ~x86-fbsd" IUSE="debug minimal +system-icu test" RESTRICT="ia64? ( test )" diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest index b1f81826cd96..c984a8a3e2ab 100644 --- a/dev-lang/swi-prolog/Manifest +++ b/dev-lang/swi-prolog/Manifest @@ -1,16 +1,14 @@ DIST swi-prolog-7.4.2-gentoo-patchset-3.tar.gz 3256 BLAKE2B d7997d7307db738f0948a89f5e1cee195be4424737e50df915a293c7cb1b3bc1ce09ebd372e8c5f24c95df7335676f12cdc04749de25396eac71471704cfc579 SHA512 bc1b408e311d10ab59fa221bf5ef3d3cb1003a3edcdd13fd000cbc647117458e1f130e960cc37968481ccc2047529ca128159fac8e0ee75114022ed439905cce DIST swi-prolog-7.6.4-gentoo-patchset-1.tar.gz 572 BLAKE2B 11ea1f22a997ea495a388627396ac571230de65b0ed2718c1127de04f563660fab0e6f8fd14b537de11a20c9651897f0b4f9d5a0d848c9d5f1f62e0c6e2b6705 SHA512 ce9f66af8764a89af42366d3e5c9d52d597f715022894cd4a2f283bb50be4070b3dbe3258ecf4bcf8808a6230ee023fce1edd9a8ad4342ceeb35d1b17770e4a2 +DIST swi-prolog-7.7.22-gentoo-patchset-0.tar.gz 316 BLAKE2B 662df3286e52e6fd9e9e929b837e6b2c22dbf017e8c64e7a28b5a679710c028e535c32563a29791d68cb21b93189f02151e1421cf172f19d9e0acd378ed0e56b SHA512 e011bdbecac8ec175e9c30a5276e2707c086b2ceabeca432ea62c3c69ced31da799c5341d719b04ca9840c52636e31c545471cab69909b888684c0dd356bf474 DIST swipl-7.4.2.tar.gz 16496738 BLAKE2B a8f45c4277e48c0aa38f8b278b466dcb9e0a776325a9ed9e08c252660671d3ee0ee441978394682276b3fb9b0eca73ad10e02aba4671630bef0a1e8f813dd3c5 SHA512 5b526d4f079e7a36184f871bb7341330bcadaeee2a69af981fbcad71ae76c77331b1f157174ac2b31d96e069dc530afa86c024de6709edd9dc8baee3b4ebffb3 DIST swipl-7.6.3.tar.gz 16772590 BLAKE2B 644be801e290ec9d949a9b7462256a35e11cf9afd62d0b62c315e3620a3943809f58698a23f279454e00299f7b7f7b91e8d9694a139e8c424cb2f83a4efc7a52 SHA512 d84af1a565935af9934c6b75192bb2dd87388ee8fe793ade35d5549a95ec5eb83da6b10508766e795f88393fededea4ec7a3a0c2f0f685d96ab615e171d7d1f4 DIST swipl-7.6.4.tar.gz 16777875 BLAKE2B 94409966362e649f4748b94b4ec25415bb827c7742aa39453d8e37db4ce992a65ad2d054ded4e651f2a9abe3a9438285bc9c9c895437c087ae6cf88f4afae9ca SHA512 f0ed16e4f1436115651c38a0bb37008d0dadad5a19b0f09894fcfc51dd3d429f86488e89cce00788c3c36cc2f0cd2957f92df47d5441133a6f8ea9d91ca5470f -DIST swipl-7.7.17.tar.gz 17020719 BLAKE2B c818a9dcf6713398c41efdec186a141ddb09c319c5c5ceff7a200d0c83f131ad8de3165730b88026e117c26d3eab209ae30d096f307bfa5ab9ca7b3c3458c39b SHA512 f8ce0b6d582c21457a9264179e620edbbfd8de975c95cf86211fd99ca387d021cd503adb5bef2bbdacab1cdb83fbf384834fd706808985c1c24f25d960a494d7 -DIST swipl-7.7.18.tar.gz 17025839 BLAKE2B e75be08c03965ff56e67ffc8b4743ce13da444d7a22f4c5234968ac38f131fe7762ff0b7c8c31f46d5f9f477293833483665cbcf191d54a9a51bb5661dcd460c SHA512 ec3daca594a6731d2f39851b8d7800f6040e401e132e153337393faf2595bcb1c0bc382477e34cc758f5d992731bfc2a60d2cdf563f3ca61643d35b0bc32a380 -DIST swipl-7.7.19.tar.gz 17031626 BLAKE2B 0981ba2cb943d0dd16c7f91f4231fcf12c21dad26d738c7c7d3f7971bda92d209410181863dc1cf07f4eb528f5d3a5b98a4fd63873e1ee2cbbce440451cc9a69 SHA512 1c19f9a4ef3bc7a77bb7033a2a5862e821573d71e49aa9ae4d26a4c5eb60d2bdce53060f0851faa93e4f7a3ffdd15f89f0898f01005f15debdbb1e62004b99ad +DIST swipl-7.7.22.tar.gz 10408402 BLAKE2B e804190a07ad000f054f05bda6c895cae7aa588d6e31a86f17bf2ae4934d747939023035ac8a1b758e5d8e82a39f4a493d19fa41ee323a91333903b7ccb1b78b SHA512 bce8fa4bda39c8841533b4b8d98520b04df3272d8fe49924a49d5c6b7c66ab2defe5d121b1c7fb83506842645258ab6925a1c18740322f468c08e19374f67bfb +DIST swipl-7.7.23.tar.gz 10422411 BLAKE2B 88a28d290070524d9f552e9d816f70723ac3ceb20dd8ae14e2f894188de024c89157ab68cb692b3a56839580047ebea92f4b6c3c39694b0b0077fd5c4616b30d SHA512 38430827c7f1fd151b448b0c71cd53a59681dfd04b97b8f71c3fcb6d4f86d261f46c3e76d4ebb52e987b665a7505ab5ee1d8528613f9b6bf319d177deb09d28f EBUILD swi-prolog-7.4.2.ebuild 3398 BLAKE2B 368ef93ceb17042a28699f9aa469e6b5c39aa29154b810e43fd050ab3bc1079f83680cfac8f4108c7c297a51e9bdd28357a0b6241c08faef3ea5f81ab1605558 SHA512 76d094f62e442ac86d32eaf467179fdcf4d4edf6034f711104e91f8a01b7e343208ef0b6e492ed18c8c0605b96a48f1adef8f3903f861c716e882cb9695b0dd2 EBUILD swi-prolog-7.6.3.ebuild 3395 BLAKE2B 6445c399d7a7518bcd4ce05b9ea0bf50c7d0297d5a24d9ef84a48c36600077cea8c8b77b010d28e25dfe0766e12d1f560f42e5597a602f6bdfc7351ea6e0fa62 SHA512 830766267d3e4b60897dfcdab5263cee600ccfa2cd80f970ef3b4c3695cc3ddf9989ae85527f45cdf124898210f108a98a32a613de2543a8db813d42482b0687 EBUILD swi-prolog-7.6.4.ebuild 3456 BLAKE2B 55d9eb2b52f47dc7fd5df9f2743775e7aabd4f070d93e31f51b038f278604909f1f48dbb4cbd12ba96614f8619923712c465d424eb224874ba158f1670d615d5 SHA512 cf64a47e39b21557915fcd6e88ac5bb01fc56bb26afebf81dedaa087ac12a3c5952383a55594dbe22de8885c6a3afd47858963a4c0c68f705be20045a518d12d -EBUILD swi-prolog-7.7.17.ebuild 3419 BLAKE2B cdddb2edae9aa893d13387d22e4b40b6d98dea32d227b078465f52952bc92d5a1b12bac23a6308a4e2185a74399155d5f338b46733bb75502a7fd4051b2e3194 SHA512 a3821b60339d2543cd9449e0e597642c838b9293555a8e2f72be1d79087c88b51b7a2525e444f8a12f57ba6f4c499c6d81ab9f3d3cbf9ac91df26c0e54962130 -EBUILD swi-prolog-7.7.18-r1.ebuild 3474 BLAKE2B 10150dce5d4c4890778593b2b5f45c29d9f9fa0fdaf31f3b375b582ec1779c0b73d8410d3111b4993b4a6a57737dda1cc0fb0ba2e5c256bb9ff3323c99918777 SHA512 bdd4cd2d21446fbb108f4dd4b9313a44da9c82d93e479ece9b3ac7a3b0da7df897e3f0266a589571eaee08304c63baf8c07ee902a25d7158925b9ece6a1c7181 -EBUILD swi-prolog-7.7.18.ebuild 3419 BLAKE2B cdddb2edae9aa893d13387d22e4b40b6d98dea32d227b078465f52952bc92d5a1b12bac23a6308a4e2185a74399155d5f338b46733bb75502a7fd4051b2e3194 SHA512 a3821b60339d2543cd9449e0e597642c838b9293555a8e2f72be1d79087c88b51b7a2525e444f8a12f57ba6f4c499c6d81ab9f3d3cbf9ac91df26c0e54962130 -EBUILD swi-prolog-7.7.19.ebuild 3474 BLAKE2B 10150dce5d4c4890778593b2b5f45c29d9f9fa0fdaf31f3b375b582ec1779c0b73d8410d3111b4993b4a6a57737dda1cc0fb0ba2e5c256bb9ff3323c99918777 SHA512 bdd4cd2d21446fbb108f4dd4b9313a44da9c82d93e479ece9b3ac7a3b0da7df897e3f0266a589571eaee08304c63baf8c07ee902a25d7158925b9ece6a1c7181 +EBUILD swi-prolog-7.7.22.ebuild 2488 BLAKE2B 1f195a8e10416089ec8d761fd183b0b7631b63c60bc2cb391d0b0ebb92a55c561db407ee6448ac641b0c02011180f0593b6966b51f0aa3371c96e09ec6629b01 SHA512 4f11ed60ede7c6dbccfb0668372384dffb63416554a60d338596f644634ad42a4010274da61c17e1e5d6283a4e295964757ab0d3c7789f2fca70f5d8f3a1750a +EBUILD swi-prolog-7.7.23.ebuild 2427 BLAKE2B aa119c6fa3572b4ebc5f200630c88a51593ba1b5a155320a0424fbb87940f635db445287f3cd637932c6e6fb6aaecf9486004de90d74495637cc683782489b4d SHA512 9f9e1dd93753c624d4278bf3f260c45bbcf16e202380a45d838a36f272ccdcc3dc50a24efa1f6ca8da1024eb8aca0db7b65e45f097a868733893f1392821f0af MISC metadata.xml 419 BLAKE2B 6d92e0713ed8da803ff8b6c778e616882af2fdb1426a62ea7bb6a265bbfff9a5c7debb8bf6a25c4ab60ed54a865b79fa3da4a09bc8a9123acf63dcb32107f54e SHA512 f805393c909e4108fe72b94f131d37d45279af1a4b501f9c3ae12d21590ef9c19227ca2a4b2966239ddb84847ce979cfbfcf3f3a2d24b60cb23977c522ff59c3 diff --git a/dev-lang/swi-prolog/swi-prolog-7.7.17.ebuild b/dev-lang/swi-prolog/swi-prolog-7.7.17.ebuild deleted file mode 100644 index 38db2fe7a5aa..000000000000 --- a/dev-lang/swi-prolog/swi-prolog-7.7.17.ebuild +++ /dev/null @@ -1,148 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils flag-o-matic java-pkg-opt-2 multilib - -PATCHSET_VER="0" - -DESCRIPTION="free, small, and standard compliant Prolog compiler" -HOMEPAGE="http://www.swi-prolog.org/" -SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" -IUSE="archive berkdb debug doc +gmp hardened java +libedit libressl minimal odbc pcre readline ssl static-libs test uuid zlib X" - -RDEPEND="sys-libs/ncurses:= - archive? ( app-arch/libarchive ) - berkdb? ( >=sys-libs/db-4:= ) - zlib? ( sys-libs/zlib ) - odbc? ( dev-db/unixODBC ) - pcre? ( dev-libs/libpcre ) - readline? ( sys-libs/readline:= ) - libedit? ( dev-libs/libedit ) - gmp? ( dev-libs/gmp:0 ) - ssl? ( - !libressl? ( dev-libs/openssl:0 ) - libressl? ( dev-libs/libressl ) - ) - java? ( >=virtual/jdk-1.7:= ) - uuid? ( dev-libs/ossp-uuid ) - X? ( - virtual/jpeg:0 - x11-libs/libX11 - x11-libs/libXft - x11-libs/libXpm - x11-libs/libXt - x11-libs/libICE - x11-libs/libSM )" - -DEPEND="${RDEPEND} - X? ( x11-base/xorg-proto ) - java? ( test? ( =dev-java/junit-3.8* ) )" - -S="${WORKDIR}/swipl-${PV}" - -src_prepare() { - EPATCH_FORCE=yes - EPATCH_SUFFIX=patch - if [[ -d "${WORKDIR}"/${PV} ]] ; then - epatch "${WORKDIR}"/${PV} - fi - - if ! use uuid; then - mv packages/clib/uuid.pl packages/clib/uuid.pl.unused || die - fi - - # OSX/Intel ld doesn't like an archive without table of contents - sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die - - eapply_user -} - -src_configure() { - append-flags -fno-strict-aliasing - use ppc && append-flags -mno-altivec - use hardened && append-flags -fno-unit-at-a-time - use debug && append-flags -DO_DEBUG - - # ARCH is used in the configure script to figure out host and target - # specific stuff - export ARCH=${CHOST} - - export CC_FOR_BUILD=$(tc-getBUILD_CC) - - cd "${S}"/src || die - econf \ - --libdir="${EPREFIX}"/usr/$(get_libdir) \ - $(use_enable gmp) \ - $(use_enable static-libs static) \ - --enable-shared \ - --enable-custom-flags COFLAGS="${CFLAGS} -DOF=_Z_OF" - - if ! use minimal ; then - local jpltestconf - if use java && use test ; then - jpltestconf="--with-junit=$(java-config --classpath junit)" - fi - - cd "${S}/packages" || die - econf \ - --libdir="${EPREFIX}"/usr/$(get_libdir) \ - $(use_with archive) \ - $(use_with berkdb bdb ) \ - $(use_with java jpl) \ - ${jpltestconf} \ - $(use_with libedit) \ - $(use_with pcre) \ - $(use_with odbc) \ - $(use_with readline) \ - $(use_with ssl) \ - $(use_with X xpce) \ - $(use_with zlib) \ - COFLAGS='"${CFLAGS}"' - fi -} - -src_compile() { - cd "${S}"/src || die - emake - - if ! use minimal ; then - cd "${S}/packages" || die - emake - ./report-failed || die "Cannot report failed packages" - fi -} - -src_test() { - cd "${S}/src" || die - emake check - - if ! use minimal ; then - unset DISPLAY - cd "${S}/packages" || die - emake \ - USE_PUBLIC_NETWORK_TESTS=false \ - USE_ODBC_TESTS=false \ - check - ./report-failed || die - fi -} - -src_install() { - emake -C src DESTDIR="${D}" install - - if ! use minimal ; then - emake -C packages DESTDIR="${D}" install - if use doc ; then - emake -C packages DESTDIR="${D}" html-install - fi - ./packages/report-failed || die "Cannot report failed packages" - fi - - dodoc ReleaseNotes/relnotes-5.10 INSTALL README.md VERSION -} diff --git a/dev-lang/swi-prolog/swi-prolog-7.7.18-r1.ebuild b/dev-lang/swi-prolog/swi-prolog-7.7.18-r1.ebuild deleted file mode 100644 index 4e902730ae01..000000000000 --- a/dev-lang/swi-prolog/swi-prolog-7.7.18-r1.ebuild +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils flag-o-matic java-pkg-opt-2 multilib - -PATCHSET_VER="0" - -DESCRIPTION="free, small, and standard compliant Prolog compiler" -HOMEPAGE="http://www.swi-prolog.org/" -SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" -IUSE="archive berkdb debug doc +gmp hardened java +libedit libressl minimal odbc pcre readline ssl static-libs test uuid zlib X yaml" - -RDEPEND="sys-libs/ncurses:= - archive? ( app-arch/libarchive ) - berkdb? ( >=sys-libs/db-4:= ) - zlib? ( sys-libs/zlib ) - odbc? ( dev-db/unixODBC ) - pcre? ( dev-libs/libpcre ) - readline? ( sys-libs/readline:= ) - libedit? ( dev-libs/libedit ) - gmp? ( dev-libs/gmp:0 ) - ssl? ( - !libressl? ( dev-libs/openssl:0 ) - libressl? ( dev-libs/libressl ) - ) - java? ( >=virtual/jdk-1.7:= ) - uuid? ( dev-libs/ossp-uuid ) - X? ( - virtual/jpeg:0 - x11-libs/libX11 - x11-libs/libXft - x11-libs/libXpm - x11-libs/libXt - x11-libs/libICE - x11-libs/libSM ) - yaml? ( dev-libs/libyaml )" - -DEPEND="${RDEPEND} - X? ( x11-base/xorg-proto ) - java? ( test? ( =dev-java/junit-3.8* ) )" - -S="${WORKDIR}/swipl-${PV}" - -src_prepare() { - EPATCH_FORCE=yes - EPATCH_SUFFIX=patch - if [[ -d "${WORKDIR}"/${PV} ]] ; then - epatch "${WORKDIR}"/${PV} - fi - - if ! use uuid; then - mv packages/clib/uuid.pl packages/clib/uuid.pl.unused || die - fi - - # OSX/Intel ld doesn't like an archive without table of contents - sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die - - eapply_user -} - -src_configure() { - append-flags -fno-strict-aliasing - use ppc && append-flags -mno-altivec - use hardened && append-flags -fno-unit-at-a-time - use debug && append-flags -DO_DEBUG - - # ARCH is used in the configure script to figure out host and target - # specific stuff - export ARCH=${CHOST} - - export CC_FOR_BUILD=$(tc-getBUILD_CC) - - cd "${S}"/src || die - econf \ - --libdir="${EPREFIX}"/usr/$(get_libdir) \ - $(use_enable gmp) \ - $(use_enable static-libs static) \ - --enable-shared \ - --enable-custom-flags COFLAGS="${CFLAGS} -DOF=_Z_OF" - - if ! use minimal ; then - local jpltestconf - if use java && use test ; then - jpltestconf="--with-junit=$(java-config --classpath junit)" - fi - - cd "${S}/packages" || die - econf \ - --libdir="${EPREFIX}"/usr/$(get_libdir) \ - $(use_with archive) \ - $(use_with berkdb bdb ) \ - $(use_with java jpl) \ - ${jpltestconf} \ - $(use_with libedit) \ - $(use_with pcre) \ - $(use_with odbc) \ - $(use_with readline) \ - $(use_with ssl) \ - $(use_with X xpce) \ - $(use_with yaml) \ - $(use_with zlib) \ - COFLAGS='"${CFLAGS}"' - fi -} - -src_compile() { - cd "${S}"/src || die - emake - - if ! use minimal ; then - cd "${S}/packages" || die - emake - ./report-failed || die "Cannot report failed packages" - fi -} - -src_test() { - cd "${S}/src" || die - emake check - - if ! use minimal ; then - unset DISPLAY - cd "${S}/packages" || die - emake \ - USE_PUBLIC_NETWORK_TESTS=false \ - USE_ODBC_TESTS=false \ - check - ./report-failed || die - fi -} - -src_install() { - emake -C src DESTDIR="${D}" install - - if ! use minimal ; then - emake -C packages DESTDIR="${D}" install - if use doc ; then - emake -C packages DESTDIR="${D}" html-install - fi - ./packages/report-failed || die "Cannot report failed packages" - fi - - dodoc ReleaseNotes/relnotes-5.10 INSTALL README.md VERSION -} diff --git a/dev-lang/swi-prolog/swi-prolog-7.7.18.ebuild b/dev-lang/swi-prolog/swi-prolog-7.7.18.ebuild deleted file mode 100644 index 38db2fe7a5aa..000000000000 --- a/dev-lang/swi-prolog/swi-prolog-7.7.18.ebuild +++ /dev/null @@ -1,148 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils flag-o-matic java-pkg-opt-2 multilib - -PATCHSET_VER="0" - -DESCRIPTION="free, small, and standard compliant Prolog compiler" -HOMEPAGE="http://www.swi-prolog.org/" -SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" -IUSE="archive berkdb debug doc +gmp hardened java +libedit libressl minimal odbc pcre readline ssl static-libs test uuid zlib X" - -RDEPEND="sys-libs/ncurses:= - archive? ( app-arch/libarchive ) - berkdb? ( >=sys-libs/db-4:= ) - zlib? ( sys-libs/zlib ) - odbc? ( dev-db/unixODBC ) - pcre? ( dev-libs/libpcre ) - readline? ( sys-libs/readline:= ) - libedit? ( dev-libs/libedit ) - gmp? ( dev-libs/gmp:0 ) - ssl? ( - !libressl? ( dev-libs/openssl:0 ) - libressl? ( dev-libs/libressl ) - ) - java? ( >=virtual/jdk-1.7:= ) - uuid? ( dev-libs/ossp-uuid ) - X? ( - virtual/jpeg:0 - x11-libs/libX11 - x11-libs/libXft - x11-libs/libXpm - x11-libs/libXt - x11-libs/libICE - x11-libs/libSM )" - -DEPEND="${RDEPEND} - X? ( x11-base/xorg-proto ) - java? ( test? ( =dev-java/junit-3.8* ) )" - -S="${WORKDIR}/swipl-${PV}" - -src_prepare() { - EPATCH_FORCE=yes - EPATCH_SUFFIX=patch - if [[ -d "${WORKDIR}"/${PV} ]] ; then - epatch "${WORKDIR}"/${PV} - fi - - if ! use uuid; then - mv packages/clib/uuid.pl packages/clib/uuid.pl.unused || die - fi - - # OSX/Intel ld doesn't like an archive without table of contents - sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die - - eapply_user -} - -src_configure() { - append-flags -fno-strict-aliasing - use ppc && append-flags -mno-altivec - use hardened && append-flags -fno-unit-at-a-time - use debug && append-flags -DO_DEBUG - - # ARCH is used in the configure script to figure out host and target - # specific stuff - export ARCH=${CHOST} - - export CC_FOR_BUILD=$(tc-getBUILD_CC) - - cd "${S}"/src || die - econf \ - --libdir="${EPREFIX}"/usr/$(get_libdir) \ - $(use_enable gmp) \ - $(use_enable static-libs static) \ - --enable-shared \ - --enable-custom-flags COFLAGS="${CFLAGS} -DOF=_Z_OF" - - if ! use minimal ; then - local jpltestconf - if use java && use test ; then - jpltestconf="--with-junit=$(java-config --classpath junit)" - fi - - cd "${S}/packages" || die - econf \ - --libdir="${EPREFIX}"/usr/$(get_libdir) \ - $(use_with archive) \ - $(use_with berkdb bdb ) \ - $(use_with java jpl) \ - ${jpltestconf} \ - $(use_with libedit) \ - $(use_with pcre) \ - $(use_with odbc) \ - $(use_with readline) \ - $(use_with ssl) \ - $(use_with X xpce) \ - $(use_with zlib) \ - COFLAGS='"${CFLAGS}"' - fi -} - -src_compile() { - cd "${S}"/src || die - emake - - if ! use minimal ; then - cd "${S}/packages" || die - emake - ./report-failed || die "Cannot report failed packages" - fi -} - -src_test() { - cd "${S}/src" || die - emake check - - if ! use minimal ; then - unset DISPLAY - cd "${S}/packages" || die - emake \ - USE_PUBLIC_NETWORK_TESTS=false \ - USE_ODBC_TESTS=false \ - check - ./report-failed || die - fi -} - -src_install() { - emake -C src DESTDIR="${D}" install - - if ! use minimal ; then - emake -C packages DESTDIR="${D}" install - if use doc ; then - emake -C packages DESTDIR="${D}" html-install - fi - ./packages/report-failed || die "Cannot report failed packages" - fi - - dodoc ReleaseNotes/relnotes-5.10 INSTALL README.md VERSION -} diff --git a/dev-lang/swi-prolog/swi-prolog-7.7.19.ebuild b/dev-lang/swi-prolog/swi-prolog-7.7.19.ebuild deleted file mode 100644 index 4e902730ae01..000000000000 --- a/dev-lang/swi-prolog/swi-prolog-7.7.19.ebuild +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils flag-o-matic java-pkg-opt-2 multilib - -PATCHSET_VER="0" - -DESCRIPTION="free, small, and standard compliant Prolog compiler" -HOMEPAGE="http://www.swi-prolog.org/" -SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" -IUSE="archive berkdb debug doc +gmp hardened java +libedit libressl minimal odbc pcre readline ssl static-libs test uuid zlib X yaml" - -RDEPEND="sys-libs/ncurses:= - archive? ( app-arch/libarchive ) - berkdb? ( >=sys-libs/db-4:= ) - zlib? ( sys-libs/zlib ) - odbc? ( dev-db/unixODBC ) - pcre? ( dev-libs/libpcre ) - readline? ( sys-libs/readline:= ) - libedit? ( dev-libs/libedit ) - gmp? ( dev-libs/gmp:0 ) - ssl? ( - !libressl? ( dev-libs/openssl:0 ) - libressl? ( dev-libs/libressl ) - ) - java? ( >=virtual/jdk-1.7:= ) - uuid? ( dev-libs/ossp-uuid ) - X? ( - virtual/jpeg:0 - x11-libs/libX11 - x11-libs/libXft - x11-libs/libXpm - x11-libs/libXt - x11-libs/libICE - x11-libs/libSM ) - yaml? ( dev-libs/libyaml )" - -DEPEND="${RDEPEND} - X? ( x11-base/xorg-proto ) - java? ( test? ( =dev-java/junit-3.8* ) )" - -S="${WORKDIR}/swipl-${PV}" - -src_prepare() { - EPATCH_FORCE=yes - EPATCH_SUFFIX=patch - if [[ -d "${WORKDIR}"/${PV} ]] ; then - epatch "${WORKDIR}"/${PV} - fi - - if ! use uuid; then - mv packages/clib/uuid.pl packages/clib/uuid.pl.unused || die - fi - - # OSX/Intel ld doesn't like an archive without table of contents - sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die - - eapply_user -} - -src_configure() { - append-flags -fno-strict-aliasing - use ppc && append-flags -mno-altivec - use hardened && append-flags -fno-unit-at-a-time - use debug && append-flags -DO_DEBUG - - # ARCH is used in the configure script to figure out host and target - # specific stuff - export ARCH=${CHOST} - - export CC_FOR_BUILD=$(tc-getBUILD_CC) - - cd "${S}"/src || die - econf \ - --libdir="${EPREFIX}"/usr/$(get_libdir) \ - $(use_enable gmp) \ - $(use_enable static-libs static) \ - --enable-shared \ - --enable-custom-flags COFLAGS="${CFLAGS} -DOF=_Z_OF" - - if ! use minimal ; then - local jpltestconf - if use java && use test ; then - jpltestconf="--with-junit=$(java-config --classpath junit)" - fi - - cd "${S}/packages" || die - econf \ - --libdir="${EPREFIX}"/usr/$(get_libdir) \ - $(use_with archive) \ - $(use_with berkdb bdb ) \ - $(use_with java jpl) \ - ${jpltestconf} \ - $(use_with libedit) \ - $(use_with pcre) \ - $(use_with odbc) \ - $(use_with readline) \ - $(use_with ssl) \ - $(use_with X xpce) \ - $(use_with yaml) \ - $(use_with zlib) \ - COFLAGS='"${CFLAGS}"' - fi -} - -src_compile() { - cd "${S}"/src || die - emake - - if ! use minimal ; then - cd "${S}/packages" || die - emake - ./report-failed || die "Cannot report failed packages" - fi -} - -src_test() { - cd "${S}/src" || die - emake check - - if ! use minimal ; then - unset DISPLAY - cd "${S}/packages" || die - emake \ - USE_PUBLIC_NETWORK_TESTS=false \ - USE_ODBC_TESTS=false \ - check - ./report-failed || die - fi -} - -src_install() { - emake -C src DESTDIR="${D}" install - - if ! use minimal ; then - emake -C packages DESTDIR="${D}" install - if use doc ; then - emake -C packages DESTDIR="${D}" html-install - fi - ./packages/report-failed || die "Cannot report failed packages" - fi - - dodoc ReleaseNotes/relnotes-5.10 INSTALL README.md VERSION -} diff --git a/dev-lang/swi-prolog/swi-prolog-7.7.22.ebuild b/dev-lang/swi-prolog/swi-prolog-7.7.22.ebuild new file mode 100644 index 000000000000..74bb77774a9d --- /dev/null +++ b/dev-lang/swi-prolog/swi-prolog-7.7.22.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils eutils flag-o-matic multilib + +PATCHSET_VER="0" + +DESCRIPTION="versatile implementation of the Prolog programming language" +HOMEPAGE="http://www.swi-prolog.org/" +SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz + mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" +IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml" + +RDEPEND="sys-libs/ncurses:= + sys-libs/zlib + archive? ( app-arch/libarchive ) + berkdb? ( >=sys-libs/db-4:= ) + odbc? ( dev-db/unixODBC ) + pcre? ( dev-libs/libpcre ) + readline? ( sys-libs/readline:= ) + libedit? ( dev-libs/libedit ) + gmp? ( dev-libs/gmp:0 ) + ssl? ( + !libressl? ( dev-libs/openssl:0 ) + libressl? ( dev-libs/libressl ) + ) + java? ( >=virtual/jdk-1.7:= ) + uuid? ( dev-libs/ossp-uuid ) + qt5? ( + dev-qt/qtwidgets:5 + dev-qt/qtgui:5 + ) + X? ( + virtual/jpeg:0 + x11-libs/libX11 + x11-libs/libXft + x11-libs/libXpm + x11-libs/libXt + x11-libs/libICE + x11-libs/libSM ) + yaml? ( dev-libs/libyaml )" + +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) + java? ( test? ( =dev-java/junit-3.8* ) )" + +S="${WORKDIR}/swipl-${PV}" +BUILD_DIR="${S}/build" +CMAKE_USE_DIR="${S}" + +src_prepare() { + EPATCH_FORCE=yes + EPATCH_SUFFIX=patch + if [[ -d "${WORKDIR}"/${PV} ]] ; then + epatch "${WORKDIR}"/${PV} + fi + + sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die + + eapply_user + + cmake-utils_src_prepare +} + +src_configure() { + append-flags -fno-strict-aliasing + use debug && append-flags -DO_DEBUG + + mycmakeargs=( + -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl + -DUSE_GMP=$(usex gmp) + -DINSTALL_DOCUMENTATION=$(usex doc) + -DSWIPL_PACKAGES_BASIC=$(usex !minimal) + -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) + -DSWIPL_PACKAGES_ODBC=$(usex odbc) + -DSWIPL_PACKAGES_BDB=$(usex berkdb) + -DSWIPL_PACKAGES_PCRE=$(usex pcre) + -DSWIPL_PACKAGES_YAML=$(usex yaml) + -DSWIPL_PACKAGES_SSL=$(usex ssl) + -DSWIPL_PACKAGES_JAVA=$(usex java) + -DSWIPL_PACKAGES_QT=$(usex qt5) + -DSWIPL_PACKAGES_X=$(usex X) + -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi) + ) + + cmake-utils_src_configure +} + +src_test() { + USE_PUBLIC_NETWORK_TESTS=false \ + USE_ODBC_TESTS=false \ + cmake-utils_src_test -V +} diff --git a/dev-lang/swi-prolog/swi-prolog-7.7.23.ebuild b/dev-lang/swi-prolog/swi-prolog-7.7.23.ebuild new file mode 100644 index 000000000000..2b51fcaddb6d --- /dev/null +++ b/dev-lang/swi-prolog/swi-prolog-7.7.23.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils eutils flag-o-matic multilib + +PATCHSET_VER="0" + +DESCRIPTION="versatile implementation of the Prolog programming language" +HOMEPAGE="http://www.swi-prolog.org/" +SRC_URI="http://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" +IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml" + +RDEPEND="sys-libs/ncurses:= + sys-libs/zlib + archive? ( app-arch/libarchive ) + berkdb? ( >=sys-libs/db-4:= ) + odbc? ( dev-db/unixODBC ) + pcre? ( dev-libs/libpcre ) + readline? ( sys-libs/readline:= ) + libedit? ( dev-libs/libedit ) + gmp? ( dev-libs/gmp:0 ) + ssl? ( + !libressl? ( dev-libs/openssl:0 ) + libressl? ( dev-libs/libressl ) + ) + java? ( >=virtual/jdk-1.7:= ) + uuid? ( dev-libs/ossp-uuid ) + qt5? ( + dev-qt/qtwidgets:5 + dev-qt/qtgui:5 + ) + X? ( + virtual/jpeg:0 + x11-libs/libX11 + x11-libs/libXft + x11-libs/libXpm + x11-libs/libXt + x11-libs/libICE + x11-libs/libSM ) + yaml? ( dev-libs/libyaml )" + +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) + java? ( test? ( =dev-java/junit-3.8* ) )" + +S="${WORKDIR}/swipl-${PV}" +BUILD_DIR="${S}/build" +CMAKE_USE_DIR="${S}" + +src_prepare() { + EPATCH_FORCE=yes + EPATCH_SUFFIX=patch + if [[ -d "${WORKDIR}"/${PV} ]] ; then + epatch "${WORKDIR}"/${PV} + fi + + sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die + + eapply_user + + cmake-utils_src_prepare +} + +src_configure() { + append-flags -fno-strict-aliasing + use debug && append-flags -DO_DEBUG + + mycmakeargs=( + -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl + -DUSE_GMP=$(usex gmp) + -DINSTALL_DOCUMENTATION=$(usex doc) + -DSWIPL_PACKAGES_BASIC=$(usex !minimal) + -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) + -DSWIPL_PACKAGES_ODBC=$(usex odbc) + -DSWIPL_PACKAGES_BDB=$(usex berkdb) + -DSWIPL_PACKAGES_PCRE=$(usex pcre) + -DSWIPL_PACKAGES_YAML=$(usex yaml) + -DSWIPL_PACKAGES_SSL=$(usex ssl) + -DSWIPL_PACKAGES_JAVA=$(usex java) + -DSWIPL_PACKAGES_QT=$(usex qt5) + -DSWIPL_PACKAGES_X=$(usex X) + -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi) + ) + + cmake-utils_src_configure +} + +src_test() { + USE_PUBLIC_NETWORK_TESTS=false \ + USE_ODBC_TESTS=false \ + cmake-utils_src_test -V +} diff --git a/dev-lang/tcl/Manifest b/dev-lang/tcl/Manifest index 25c90fbd852a..7fccf52903f3 100644 --- a/dev-lang/tcl/Manifest +++ b/dev-lang/tcl/Manifest @@ -3,10 +3,11 @@ AUX tcl-8.5.14-conf.patch 427 BLAKE2B c7d97bccebc45beec003bcf005fab6ed7f544744d8 AUX tcl-8.6.8-conf.patch 401 BLAKE2B 278502e983b8c831a2bfe5e61c31d32181558aaebccb2c7a64c52c387ce674ad1543dcedb7b73bfa748e8b40424a59e4696057e3a7f6d0e9f7ddbe838473995f SHA512 8524f80bb54851fc28f1994cbbd9c78756f9f9b1ca31a2f602e2cc557bbb22093bb6cce0ce5099cb90847f3c0ed20503a3d122abb400482869afd2469b3867b8 AUX tcl-8.6.8-libieee.patch 708 BLAKE2B ec8422ce98c68f2dd347bea807059fd8ee94fcd4540bdeb4c8d90cd7f028ff3dbe406ed26593ebd8815e611a1ae40390b4194bf8d3efd1863e8c15d04918681c SHA512 b25d2fbfc753296cef11b1943e19537aaf9f048f033078e516f36bc021107197f77b8f142fc7ace89ae6bdda037871ce7a5c45800ef0bebd04f77a5281bff457 DIST tcl-core8.6.8-src.tar.gz 5887483 BLAKE2B 2b8428652e451b817fe63a811f910001929cdcbc8a8361cdf4f7df8e13cbf9b18c94a91c22c0f09cc46dc0174a66c44774b485539a8f24c14faee6658547b6b8 SHA512 36e6079b582c205e8c89435b361ef96550541357f473aea2ca4e6f01bd84e50ebd1474a75a1ae90640b9a5b392fb01ddfa71f0fa28e409b3569d88c32b4ddb69 +DIST tcl-core8.6.9-src.tar.gz 5932010 BLAKE2B ddc0cff12aeeebbf8d1c799db9e154a9ecbe2a2e2afce97c6f15c408301b7a40119bd1c861aa724c178bd9abfe0616c7bcafd9cf6714ed49cf882c9085222cf3 SHA512 306a38a27729b764bae2eae6c4cdd8cd6aee5de6bd924d6a487c8691ee874e4459abc1fa785183c2f6ff4d2d57be98093dd7460c5a668cf994e8f1c31516ae67 DIST tcl8.5.17-src.tar.gz 4546317 BLAKE2B 27031dd3bd5790d03692e77edf91eb7fae8a40d8d193d8c8ce4e79b21f90e683bfc9d5b71764760223987fb163be844e6096d0aea1058b8ce255731d97e2a0ea SHA512 ad5ddb4cd6378fd6bbea8cd85ceb1cf90392b2e8c49fbfb3e4b35c81d3ae3e3f087697c41fcba8c8e06de1d9e7539397e26d58b864dc01ba65abe4ba4efa9568 EBUILD tcl-8.5.17-r1.ebuild 3766 BLAKE2B 735b31a87b13a4a107b451f1234699cb1dc4cab210846f992100e8f69543bfb2103e1814cefd1673e7081c6aeafed63cda87e36d433580ddbf5548cb779d8508 SHA512 3c3fadceaafeaad04780a44d40a10bd318d30fff0d1ff38bea683c2bf019ff4a3cb036f7fbc60c79cb095470c3c9a3f59ad8b27caf2ae9e98d2baf0ea6ebab14 EBUILD tcl-8.5.17-r100.ebuild 2790 BLAKE2B d8de982d4d2f103bd5a1271101bc997cd1920c7274078f9004e6983d30326fa0379588d529c3e459f4e93e9e723548aa37fc5e074df768d046bafc3decb4297e SHA512 b09ac13d74992c34c333fba336e07e6baefbe8ee6a94e8c59b17ac40a508bab4146f7a6d00f712ef70b9d5d8d168d259dbbed77d4e5e2e65c2b45ff2769586d7 EBUILD tcl-8.5.17-r101.ebuild 2850 BLAKE2B f34283905856e79de70e4894578b4d403c203ee00cdba9a96bc4e9c73e45b0fe4b773a40ec82679792380a87a34dc389ef468440bf32b05ab01c500e49b6aa0d SHA512 a057478a7535e9b596139693d5b104b14968cb7223bb90d8a4528d6560323a2bde925f94b349d1c67e1ce976849203b7105c1ad4792560a9628b7108012e7908 -EBUILD tcl-8.5.17.ebuild 3706 BLAKE2B 4f5b6c6fb9c25a7d31a1adc45fad8fa432478056d5a0895298ba79f2a5904bcd977a73d60f34355ed5290bf5077f5d74ba050583ebf0e99a119f9d4b14dbfe0b SHA512 11816e9baefbf29264fd844ddeb38fa94686b0b8ca667e7046713860a97945caf122f831d7778b7ac78ab392bd4ac9bc10578c70d74b21c83c5da1b479d9c800 EBUILD tcl-8.6.8.ebuild 3986 BLAKE2B 0d126b490efcf0165049479fe94d0b31157b8237b0d75a4e3d801c6d56f1a28df88788d612aca0f6e45a5488f73e544550e3c62566ca33b9a99e4b3bccbb9637 SHA512 851baf012be74129624423ad882a7580c14e96827ec4b0fb05a82ffe7dc96d11ce87b091ebce8a6297782beb067f7ae4875288dbf436cc22d5aed0aeb66bde48 +EBUILD tcl-8.6.9.ebuild 3902 BLAKE2B 24877efcb5e613963dc6e3316c7d332106aaeca73c43633b4890da04c740e60c041b2271c5f37c7ad40201f6bea7e737beea659c7fbe9e603a3ddc338666d414 SHA512 d13a4fbf9cfa662fe6e34f0f5650ebe9a9291c7acb7b6b30c42f84322be9e30d9c6cc15b1293e49deb3f4cca30f3d1d04359b83fdd16caf3ba909c9ec1f20a78 MISC metadata.xml 318 BLAKE2B 7ea8e51656c255c3aea3bee8849423604a164efff556974f6032de44d33e38bb0378b69c18821cc76f0284064bc84a1a56e79f522f8d7fb0adc50e2e191b5fca SHA512 61f3feb8311f1babb8a4df8c9fcddaab009ffc6d69248f18cb9e001a1659dfcf47f2699008ab83fb563b3417f6ead8113af20db7e3893f488e8d75bb2a3483cf diff --git a/dev-lang/tcl/tcl-8.5.17.ebuild b/dev-lang/tcl/tcl-8.5.17.ebuild deleted file mode 100644 index f7d5ca3fd4bf..000000000000 --- a/dev-lang/tcl/tcl-8.5.17.ebuild +++ /dev/null @@ -1,114 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit autotools eutils flag-o-matic multilib toolchain-funcs versionator multilib-minimal - -MY_P="${PN}${PV/_beta/b}" - -DESCRIPTION="Tool Command Language" -HOMEPAGE="http://www.tcl.tk/" -SRC_URI="mirror://sourceforge/tcl/${MY_P}-src.tar.gz" - -LICENSE="tcltk" -SLOT="0/8.5" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x86-solaris" -IUSE="debug threads" - -RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]" -DEPEND="${RDEPEND}" - -SPARENT="${WORKDIR}/${MY_P}" -S="${SPARENT}"/unix - -src_prepare() { - epatch "${FILESDIR}"/${PN}-8.5.13-multilib.patch - - # Bug 125971 - epatch "${FILESDIR}"/${PN}-8.5.14-conf.patch - - # workaround stack check issues, bug #280934 - use hppa && append-cflags "-DTCL_NO_STACK_CHECK=1" - - tc-export CC - - sed \ - -e '/chmod/s:555:755:g' \ - -i Makefile.in || die - - eautoconf - multilib_copy_sources -} - -multilib_src_configure() { - # We went ahead and deleted the whole compat/ subdir which means - # the configure tests to detect broken versions need to pass (else - # we'll fail to build). This comes up when cross-compiling, but - # might as well get a minor configure speed up normally. - export ac_cv_func_memcmp_working="yes" - export tcl_cv_str{str,toul,tod}_unbroken="ok" - export tcl_cv_strtod_buggy="no" - - econf \ - $(use_enable threads) \ - $(use_enable debug symbols) -} - -multilib_src_install() { - #short version number - local v1=$(get_version_component_range 1-2) - local mylibdir=$(get_libdir) - - S= default - - # fix the tclConfig.sh to eliminate refs to the build directory - # and drop unnecessary -L inclusion to default system libdir - - sed \ - -e "/^TCL_BUILD_LIB_SPEC=/s:-L$(pwd) *::g" \ - -e "/^TCL_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \ - -e "/^TCL_SRC_DIR=/s:${SPARENT}:${EPREFIX}/usr/${mylibdir}/tcl${v1}/include:g" \ - -e "/^TCL_BUILD_STUB_LIB_SPEC=/s:-L$(pwd) *::g" \ - -e "/^TCL_STUB_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \ - -e "/^TCL_BUILD_STUB_LIB_PATH=/s:$(pwd):${EPREFIX}/usr/${mylibdir}:g" \ - -e "/^TCL_LIB_FILE=/s:'libtcl${v1}..TCL_DBGX..so':\"libtcl${v1}\$\{TCL_DBGX\}.so\":g" \ - -i "${ED}"/usr/${mylibdir}/tclConfig.sh || die - if use prefix && [[ ${CHOST} != *-darwin* && ${CHOST} != *-mint* ]] ; then - sed \ - -e "/^TCL_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \ - -e "/^TCL_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \ - -i "${ED}"/usr/${mylibdir}/tclConfig.sh || die - fi - - # install private headers - insinto /usr/${mylibdir}/tcl${v1}/include/unix - doins *.h - insinto /usr/${mylibdir}/tcl${v1}/include/generic - doins "${SPARENT}"/generic/*.h - rm -f "${ED}"/usr/${mylibdir}/tcl${v1}/include/generic/{tcl,tclDecls,tclPlatDecls}.h || die - - # install symlink for libraries - dosym libtcl${v1}$(get_libname) /usr/${mylibdir}/libtcl$(get_libname) - dosym libtclstub${v1}.a /usr/${mylibdir}/libtclstub.a - - if multilib_is_native_abi; then - dosym tclsh${v1} /usr/bin/tclsh - dodoc "${SPARENT}"/{ChangeLog*,README,changes} - fi -} - -pkg_postinst() { - for version in ${REPLACING_VERSIONS}; do - if ! version_is_at_least 8.5 ${version}; then - echo - ewarn "You're upgrading from <${P}, you must recompile the other" - ewarn "packages on your system that link with tcl after the upgrade" - ewarn "completes. To perform this action, please run revdep-rebuild" - ewarn "in package app-portage/gentoolkit." - ewarn "If you have dev-lang/tk and dev-tcltk/tclx installed you should" - ewarn "upgrade them before this recompilation, too," - echo - fi - done -} diff --git a/dev-lang/tcl/tcl-8.6.9.ebuild b/dev-lang/tcl/tcl-8.6.9.ebuild new file mode 100644 index 000000000000..a9c8a8c42014 --- /dev/null +++ b/dev-lang/tcl/tcl-8.6.9.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic multilib-minimal toolchain-funcs + +MY_P="${PN}${PV}" + +DESCRIPTION="Tool Command Language" +HOMEPAGE="http://www.tcl.tk/" +SRC_URI="mirror://sourceforge/tcl/${PN}-core${PV}-src.tar.gz" + +LICENSE="tcltk" +SLOT="0/8.6" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug +threads" + +RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND}" + +SPARENT="${WORKDIR}/${MY_P}" +S="${SPARENT}"/unix + +PATCHES=( + "${FILESDIR}"/${PN}-8.5.13-multilib.patch + "${FILESDIR}"/${PN}-8.6.8-conf.patch # Bug 125971 +) + +src_prepare() { + find \ + "${SPARENT}"/compat/* \ + "${SPARENT}"/doc/try.n \ + -delete || die + + pushd "${SPARENT}" &>/dev/null || die + default + popd &>/dev/null || die + + # workaround stack check issues, bug #280934 + use hppa && append-cflags "-DTCL_NO_STACK_CHECK=1" + + tc-export CC + + sed \ + -e '/chmod/s:555:755:g' \ + -i Makefile.in || die + + sed \ + -e 's:-O[2s]\?::g' \ + -i tcl.m4 || die + + mv configure.{in,ac} || die + + eautoconf + + multilib_copy_sources +} + +multilib_src_configure() { + # We went ahead and deleted the whole compat/ subdir which means + # the configure tests to detect broken versions need to pass (else + # we'll fail to build). This comes up when cross-compiling, but + # might as well get a minor configure speed up normally. + export ac_cv_func_memcmp_working="yes" + export tcl_cv_str{str,toul,tod}_unbroken="ok" + export tcl_cv_strtod_buggy="no" + + econf \ + $(use_enable threads) \ + $(use_enable debug symbols) +} + +multilib_src_install() { + #short version number + local v1=$(ver_cut 1-2) + local mylibdir=$(get_libdir) + + S= default + # fix the tclConfig.sh to eliminate refs to the build directory + # and drop unnecessary -L inclusion to default system libdir + + sed \ + -e "/^TCL_BUILD_LIB_SPEC=/s:-L$(pwd) *::g" \ + -e "/^TCL_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \ + -e "/^TCL_SRC_DIR=/s:${SPARENT}:${EPREFIX}/usr/${mylibdir}/tcl${v1}/include:g" \ + -e "/^TCL_BUILD_STUB_LIB_SPEC=/s:-L$(pwd) *::g" \ + -e "/^TCL_STUB_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \ + -e "/^TCL_BUILD_STUB_LIB_PATH=/s:$(pwd):${EPREFIX}/usr/${mylibdir}:g" \ + -e "/^TCL_LIBW_FILE=/s:'libtcl${v1}..TCL_DBGX..so':\"libtcl${v1}\$\{TCL_DBGX\}.so\":g" \ + -i "${ED}"/usr/${mylibdir}/tclConfig.sh || die + if use prefix && [[ ${CHOST} != *-darwin* && ${CHOST} != *-mint* ]] ; then + sed \ + -e "/^TCL_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \ + -e "/^TCL_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \ + -i "${ED}"/usr/${mylibdir}/tclConfig.sh || die + fi + + # install private headers + insinto /usr/${mylibdir}/tcl${v1}/include/unix + doins *.h + insinto /usr/${mylibdir}/tcl${v1}/include/generic + doins "${SPARENT}"/generic/*.h + rm -f "${ED}"/usr/${mylibdir}/tcl${v1}/include/generic/{tcl,tclDecls,tclPlatDecls}.h || die + + # install symlink for libraries + dosym libtcl${v1}$(get_libname) /usr/${mylibdir}/libtcl$(get_libname) + dosym libtclstub${v1}.a /usr/${mylibdir}/libtclstub.a + + if multilib_is_native_abi; then + dosym tclsh${v1} /usr/bin/tclsh + dodoc "${SPARENT}"/{ChangeLog*,README,changes} + fi +} + +pkg_postinst() { + for version in ${REPLACING_VERSIONS}; do + if ver_test 8.6 -lt ${version}; then + echo + ewarn "You're upgrading from <${P}, you must recompile the other" + ewarn "packages on your system that link with tcl after the upgrade" + ewarn "completes. To perform this action, please run revdep-rebuild" + ewarn "in package app-portage/gentoolkit." + ewarn "If you have dev-lang/tk and dev-tcltk/tclx installed you should" + ewarn "upgrade them before this recompilation, too," + echo + fi + done +} diff --git a/dev-lang/tk/Manifest b/dev-lang/tk/Manifest index cb1e5f9cf468..bc15f7857be3 100644 --- a/dev-lang/tk/Manifest +++ b/dev-lang/tk/Manifest @@ -9,6 +9,5 @@ DIST tk8.6.8-src.tar.gz 4319854 BLAKE2B 167c5dc6c32e49653c04bc067c3d75df022ca230 EBUILD tk-8.5.17-r1.ebuild 3566 BLAKE2B a3eae0668b78a075d72b9c8a6751d341d5e021a1cba8d0501fdfb22a25b00095ba289dc46a4bf567e55639172a94dd0401af46651cea11879cdfa367c1e196f3 SHA512 3d09b21189e2cc5016da816ea1fbe99d393704b32aa31a307cdb52bca0d3c91b413031a4ea90b4e52ba12e49cdc22e38d150317b0190243de788a862c83a65b9 EBUILD tk-8.5.17-r100.ebuild 2162 BLAKE2B e4e280058b3059213d10a20fcabcd54a17e74bf78bd6e18ac5acf3a51a3fd870743ea40dc793b6a0ce5ebbfefe9744f26c900542ed511f4ba2d37c404069bc63 SHA512 e0958680ae7beeb6f5ffe06093f27d482c22cba9dfc71fe727425d8fbe4b20e6270b2ddd6e8860b0f7433f84224f8b8251800570ea81f75209146876fd94bda7 EBUILD tk-8.5.17-r101.ebuild 2222 BLAKE2B d632b0304e36ffc9d758efd99fa128c83ab655661d25361c747aff17b9dd16ddadd4386ae9586fa131d6e0288228603232eae7ab24088095e48d60ed8c9772e1 SHA512 82594980647370fbae9201e661024216776b8d1e3fa3d198e5181d99e810f681fb5e4cabc00be41dbcd477c99a80c3a1d8822ef285cf294bded8c41f64d63607 -EBUILD tk-8.5.17.ebuild 3506 BLAKE2B 073a60dae07cd8dbcb19f626a686cce74d4e8e0f1216b4a8911eae7245ea2ad4d3b0c4d4a947d56ac8fca418e4927421fa264ac50ecbbad5998e05aeb468df19 SHA512 ae25cad437b2ffb91053c82a0222ca0b01329a353d273b2fa326399fe78fcf129957e746c0cfe1488bf2017ee0455161a71897d5d7b793f1d816b8b2df4d0cc9 EBUILD tk-8.6.8.ebuild 4116 BLAKE2B dca2259fdb3ae44dcf8f3eb91562b22f9cd8065bc15bad201dee93d868670c13a3026c50e21efa04a8fcb9dfb71b04d824f210914aef85447ac38ce4ed30194b SHA512 ae2c69570844eeee386378ed6b5f66fc8c4dfb2c52a517b8ddf8b65880e600ce7e8cf1fef0e9c04f7e7a549e279f5023d981b5ba2ac82981573aa0265776bb58 MISC metadata.xml 326 BLAKE2B 56e0bdfbc3f6226d3577786996e1d83e0a5e233f08966966b7f18366d103648cc8843afb08b23eb2ff5aafd7faa9b8a53d33f35a273ea5f70191b76d5f9faaea SHA512 0a3bc9dd4103f252027e5df1f1bec25c54b8e595c3161cf2e2e3dc083d9613c1cf7f810bae2eea1e4687d87195091d84c16ceac683d7bb508bd38ad565b5ba7d diff --git a/dev-lang/tk/tk-8.5.17.ebuild b/dev-lang/tk/tk-8.5.17.ebuild deleted file mode 100644 index ba1ccc104522..000000000000 --- a/dev-lang/tk/tk-8.5.17.ebuild +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 - -inherit autotools eutils multilib prefix toolchain-funcs versionator virtualx - -MY_P="${PN}${PV/_beta/b}" - -DESCRIPTION="Tk Widget Set" -HOMEPAGE="http://www.tcl.tk/" -SRC_URI="mirror://sourceforge/tcl/${MY_P}-src.tar.gz" - -LICENSE="tcltk" -SLOT="0/8.5" -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="debug threads truetype aqua xscreensaver" - -RDEPEND=" - !aqua? ( - media-libs/fontconfig - media-libs/freetype:2 - x11-libs/libX11 - x11-libs/libXt - truetype? ( x11-libs/libXft ) - xscreensaver? ( x11-libs/libXScrnSaver ) - ) - ~dev-lang/tcl-${PV}:0=" -DEPEND="${RDEPEND} - !aqua? ( x11-base/xorg-proto )" - -SPARENT="${WORKDIR}/${MY_P}" -S="${SPARENT}"/unix - -src_prepare() { - epatch \ - "${FILESDIR}"/${PN}-8.5.11-fedora-xft.patch \ - "${FILESDIR}"/${PN}-8.5.13-multilib.patch - - epatch "${FILESDIR}"/${PN}-8.4.15-aqua.patch - eprefixify Makefile.in - - # Bug 125971 - epatch "${FILESDIR}"/${PN}-8.5.14-conf.patch - - # Make sure we use the right pkg-config, and link against fontconfig - # (since the code base uses Fc* functions). - sed \ - -e 's/FT_New_Face/XftFontOpen/g' \ - -e "s:\:$(tc-getPKG_CONFIG):" \ - -e 's:xft freetype2:xft freetype2 fontconfig:' \ - -i configure.in || die - rm -f configure || die - - sed \ - -e '/chmod/s:555:755:g' \ - -i Makefile.in || die - - tc-export CC - - eautoconf -} - -src_configure() { - local mylibdir=$(get_libdir) - - econf \ - --with-tcl="${EPREFIX}/usr/${mylibdir}" \ - $(use_enable threads) \ - $(use_enable aqua) \ - $(use_enable truetype xft) \ - $(use_enable xscreensaver xss) \ - $(use_enable debug symbols) -} - -src_test() { - Xemake test -} - -src_install() { - #short version number - local v1=$(get_version_component_range 1-2) - local mylibdir=$(get_libdir) - - S= default - - # normalize $S path, bug #280766 (pkgcore) - local nS="$(cd "${S}"; pwd)" - - # fix the tkConfig.sh to eliminate refs to the build directory - # and drop unnecessary -L inclusion to default system libdir - - sed \ - -e "/^TK_BUILD_LIB_SPEC=/s:-L${SPARENT}.*unix *::g" \ - -e "/^TK_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \ - -e "/^TK_SRC_DIR=/s:${SPARENT}:${EPREFIX}/usr/${mylibdir}/tk${v1}/include:g" \ - -e "/^TK_BUILD_STUB_LIB_SPEC=/s:-L${SPARENT}.*unix *::g" \ - -e "/^TK_STUB_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \ - -e "/^TK_BUILD_STUB_LIB_PATH=/s:${SPARENT}.*unix:${EPREFIX}/usr/${mylibdir}:g" \ - -e "/^TK_LIB_FILE=/s:'libtk${v1}..TK_DBGX..so':\"libk${v1}\$\{TK_DBGX\}.so\":g" \ - -i "${ED}"/usr/${mylibdir}/tkConfig.sh || die - if use prefix && [[ ${CHOST} != *-darwin* && ${CHOST} != *-mint* ]] ; then - sed \ - -e "/^TK_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \ - -e "/^TK_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \ - -i "${ED}"/usr/${mylibdir}/tkConfig.sh || die - fi - - # install private headers - insinto /usr/${mylibdir}/tk${v1}/include/unix - doins "${S}"/*.h - insinto /usr/${mylibdir}/tk${v1}/include/generic - doins "${SPARENT}"/generic/*.h - rm -f "${ED}"/usr/${mylibdir}/tk${v1}/include/generic/{tk,tkDecls,tkPlatDecls}.h || die - - # install symlink for libraries - dosym libtk${v1}$(get_libname) /usr/${mylibdir}/libtk$(get_libname) - dosym libtkstub${v1}.a /usr/${mylibdir}/libtkstub.a - - dosym wish${v1} /usr/bin/wish - - dodoc "${SPARENT}"/{ChangeLog*,README,changes} -} diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest index 435e30c568ef..23ba2a760aad 100644 --- a/dev-lang/vala/Manifest +++ b/dev-lang/vala/Manifest @@ -9,5 +9,5 @@ EBUILD vala-0.34.16.ebuild 780 BLAKE2B c531790f0f07a15a169f27ed7fb76533368646bee EBUILD vala-0.34.9.ebuild 779 BLAKE2B c5afaae1aba3eca78c7cbb50a3c854e7ecabb3545f897d61038df5fccf69d1b7993a79a526926eaeec2a082445fd1eccebeeeb737ec2256431cfd66b6b479755 SHA512 d4ba98022a7077701ea670d411cc50d8c2470cf9d6444a2db4e7fd18a0fa83f9d45b9370899ea2ecdc6a371046fca714528ee9f34b95e60aff29819b981ea41f EBUILD vala-0.36.13.ebuild 863 BLAKE2B 5cb3b23680d753af86c276d793b5598647ed88fe1fbcf906de472174e33102c5436b5cdbe99cf967e7062bdc7c6aa34589a74d4b4d6405a261639d9be034653d SHA512 111b109dc32b5347fcccd8fdca7b09b0603ecbdfa47ac56c4e384c161aef6e91071f78fa3f80fb2ac71347a2fa456b2d750b240f5688c5563a4e0c3a24236c33 EBUILD vala-0.36.14.ebuild 871 BLAKE2B c5bfd2a68071e30f53904f35582b0883c499afd8577c07309b3d42e2396943191657f63d14ff480e2a34eae0d0a5babc0add33f56b939d5fccb4f776eff8f4a4 SHA512 753f6b4887d55231438bfd89636624979d838248625cc0f83b4e878f31f6832f4da614deac99585af3dd26459e2e69654d4f0c6cd3179d0e8ecf6f1b43c45319 -EBUILD vala-0.36.15.ebuild 867 BLAKE2B 288e6bebffe384eafa3573f689e62f8693c8ab53c0dd9875208660cc69eebd2d37da0eab1533df7108900827c4459c5ca42c011d45ea0240b9e98c4fab212535 SHA512 57c536c70288407c2e98b1ac2181af0894b8bc7ff5eee6748f19695bd6e6bf967bf0aab44fc88a41e698f8a145024b880160a32b6cfdbc4ac162cadf82ea5c4a +EBUILD vala-0.36.15.ebuild 861 BLAKE2B af090db75442372fb5fd9fa40c6d4b54b56182b365373fe1c6bb9a5b5563e36ed1391011b6bc53e687f6bb53c72b1c662135b15f99b7565fb2255a1914c070d8 SHA512 89c13f4e0ee7f328fd2cee8ab390a3b2b4fd5966d7f6fb04a6ccf81b003cf29c9087b176506bf0ac7fe9fbd1c394b8d22fdd68150bef14f51aaa589adcf21e7a MISC metadata.xml 255 BLAKE2B 51dc9e0030d68ac68f075bb4a7b4c5f42122c16f354e10463d7338e652b272b26fa1eb12a144ed4a00d29a020af4df19029d909b4591162347184b1684402c94 SHA512 1970039db79f50391650a9fea933485c6102d1165946ab8efe9395403a02f49d4b17c2942795282469ac7c0306e7353002dcbaa797fb1060982b31ea3540b98b diff --git a/dev-lang/vala/vala-0.36.15.ebuild b/dev-lang/vala/vala-0.36.15.ebuild index addfb029c79e..60d47a29b97c 100644 --- a/dev-lang/vala/vala-0.36.15.ebuild +++ b/dev-lang/vala/vala-0.36.15.ebuild @@ -9,7 +9,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1" SLOT="0.36" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" IUSE="test" RDEPEND=" -- cgit v1.2.3