diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-02-13 21:41:11 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-02-13 21:41:11 +0000 |
commit | c8d60dada2ec8eb48b2d2b290cd6683ccec40e39 (patch) | |
tree | c44943ee0563a3fa957716de909fed683117fcb9 /dev-lang | |
parent | 69051588e2f955485fe5d45d45e616bc60a2de57 (diff) |
gentoo (valentine's day) resync : 14.02.2021
Diffstat (limited to 'dev-lang')
67 files changed, 5170 insertions, 787 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz Binary files differindex 8f620e6b379b..c6ea9e122cdf 100644 --- a/dev-lang/Manifest.gz +++ b/dev-lang/Manifest.gz diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest index 9071739bc6fa..97c552f1bb35 100644 --- a/dev-lang/crystal/Manifest +++ b/dev-lang/crystal/Manifest @@ -5,12 +5,8 @@ AUX crystal-0.27.0-gentoo-tests-long-unix-2.patch 469 BLAKE2B 66bcc1d0dd9582cac4 AUX crystal-0.27.0-gentoo-tests-long-unix.patch 3317 BLAKE2B df1040abdb587ac3fffb8129d4f1bafc492e38ad5dcfdea5cfbf4426849b099c4d94dac61c93ae7fcae46b60dea1809f52ad373efcd89796a3c1f119614063c1 SHA512 a9ed819a864465e062b4d6a568f14fbb8adc1db01071c79164dede8b2b8d83e07b785cd8196826097de5119e0bdc7d6e194cf4e10cc677bd2bdf158d124c2ad2 AUX crystal-0.27.0-max-age-0-test.patch 632 BLAKE2B d41416f4045b23d0a9c4e11e525d8537277090ee316d01cab9cce0373b07583b9e80a495c8f4db997fc4f1b15b17c080d590f8cb8b6f454dc1c0d1d48015a127 SHA512 7608cb37850e52af406fab0378f0748af7db9239f878720041d56751ce36e0f5874a79b1a971fdc6f261292d23868e3e35c9ddb0d3c10c2bb987767954a77988 AUX crystal-0.31.0-verbose.patch 701 BLAKE2B 34b74f073edf2979074cfa9042c73945b4856c33ae5037a30e8e096c17939d4d041d569ef01236db5162ffd5574b6b5ba591861d7777c3cd70882f224108ce5c SHA512 c78d636ed7646fdab9ca5335ecd43ddaafeb8b7f0749a323e7d495df1e1d08093ab3cac582a7f2ddff1437da326c873d74ca7b474388e6cf3421e1318e2e5484 -DIST crystal-0.35.1-1-linux-i686.tar.gz 28330633 BLAKE2B 1f393ad53f2643b4514de54192047f549cffa22b14afbf25d9de00bf815378ec65a5049a9eee28753dc13bc9fea40447be109f21b55518a6ed8f06353a0b26e6 SHA512 333c2cdbd40ef65de52c1056e6089628ed83daf1a1e9d5243e876b622545d767077b485003ae7efaedeb7807c03c40e6f356cbdcce4dab2319c1686da120dac0 -DIST crystal-0.35.1-1-linux-x86_64.tar.gz 26653426 BLAKE2B a4ab58e784af3cd0298057a35079dfb48c9ca8d56388394377b86d7475d143a07cc3a800cdee3c9af3054d249ac9b87808d86b25747fc8f9322d01f25a3e3dec SHA512 1cceea5742651e2708e19ea49a7a884500d21beec3eaed75fc9e4b82e7dabaa521143b6c576ec48d2f5e27951163fd8c2ae417f46a1847c68f6e91c9b2a9a72a -DIST crystal-0.35.1.tar.gz 2349984 BLAKE2B bf9078c949499e3f8469a055908c23335b04f2a58ab323345bdcdf1de70d00cdfe3aae7baf93e5098e21852c59d1cd8a0fb4faa91c9877d7ef2347a5faeaa69c SHA512 0381568330802de5838f8e66600567817b60ba0087bb3cc2b5df2944c5c42779039b606c81e0207bef34082bf25331b590a8140830f65ba4106ae465f717000b -DIST crystal-0.36.0-1-linux-i686.tar.gz 30860920 BLAKE2B c2c9b55a100e65cb3dbefe69782c72a522e71751bcabcfd38f582e010585349f4213464af3fd6c7ddb90ddb7f579e56dc07ed56dc06b7c6bc7ae4b561f1705e6 SHA512 5363cef6622b86cf8786d65926e105a643790cb62bfdd2555df963d83fa06dd55f493e172115c4788fd82cecc477d92fb77b1c0b73f92e23a9378799dedfd64e -DIST crystal-0.36.0-1-linux-x86_64.tar.gz 28383614 BLAKE2B a34e5448395bd079c10504b0f0d7de23fc916c8e0db51bc0b1462e13ec68c7f08eb04e73937756673e11a7100aa5cdd6d2d4aa8d38e145027bf6e4c19cd0bbbe SHA512 49710ba0ceb8aef39971e6731e5ce902274d7ac5f02289df6e1eb7b9bea73b7d6c188547df48e8acc44bc8088a2d3f7579770cdcd2fd118ec672b606ca073b9b -DIST crystal-0.36.0.tar.gz 2411744 BLAKE2B b564199de1cf30a418b6e06ffb2d8045d1dcebe60b58143a0579dcee2eb5c0d514c30a7e7d083ad2f6c8393423dfa3c8bc8bbc2dfdf2d6387d258b1dab7caf66 SHA512 561c5f97a9355a616a42ec9c88853883ee06a6f472918bf5f2714c0dacefa87209b06bc419355da88c3f5248ce713710960e24e0bc8e9eca07ef9c8b970661b8 -EBUILD crystal-0.35.1.ebuild 2934 BLAKE2B e5ddc56292fda1b72b86f1f7e0e0d3c926af90424f56240e1dee74579dea85707575e63ebee047981b5b7a9f43fe60b5adc13df9d19ffbc55fe85b92d750702c SHA512 dec89c833518f8e4d55f374c9b22fee5ff0fca89c09330346d1fb908fe57cf8695a7276cafb8d0a1d3a7742b17db4dab0bde407d04292b888398f19c05def882 -EBUILD crystal-0.36.0.ebuild 2934 BLAKE2B 3e9544e66fa9843128ee5a51249b38630fbd40f97e713fb44402fcb712a75d74c1b0b7c0016efdbec67ba566a5a9b68af3abc5a060fb9f391eb636ad1c54e57c SHA512 546f619aa496c9eebab4ccc42c814e0e86cce99fa5d4cd0e53089b306857c38b750f6c2de634ab2403c6823152dd5e195578b4f9f968577b0823c5661d7fbdd7 +DIST crystal-0.36.1-1-linux-i686.tar.gz 30873747 BLAKE2B 43cde4b61d2947012e860df02563316a801c0a0762881ad8d7f5fd328da4bf5be6ad5411724dedf9ec2b743bd202ef5341d860cfe209f1973f483ac86e0fd155 SHA512 f291ee3ed387577c173b9ee897fb7d8059f1a7a754ecc5f2c54cbcb34ab324914bc201a12f3a89b53e21d77c30342e9ba69a0ca885f2a8df512844bdc3754de6 +DIST crystal-0.36.1-1-linux-x86_64.tar.gz 28360836 BLAKE2B ee9fef20c252ae0efbaafae3426b384318cd141669ce929f723dfa9e6fd9485961c46c948a3aae2fcb2780b92b759fb74e0a4aeec45e198ee9541b0a959072cd SHA512 12389aee0bf863606a620e9e5a1600081aef3be5eef091f592d000f00e9925cbd36cc2e55485c4d295b3a2fcde033425eb2b225a92fd2b49b2e3f18b2b38510f +DIST crystal-0.36.1.tar.gz 2413747 BLAKE2B 19b78217a37394b163859a536fddcd93e201209dae55713743a459414a48eae38458c28fa17e1ac6e8d361ccdc498a23026ee83c7c2a744f9d51c55bd6e5f0d8 SHA512 86ce295aed0cb601820c727615fffe6816bee0e98e5d91c912f43354448d59f449a6ffb895f5914b3e6564f72f35a50880cec4513826068a2e3e470b4f06048b +EBUILD crystal-0.36.1.ebuild 2934 BLAKE2B 3e9544e66fa9843128ee5a51249b38630fbd40f97e713fb44402fcb712a75d74c1b0b7c0016efdbec67ba566a5a9b68af3abc5a060fb9f391eb636ad1c54e57c SHA512 546f619aa496c9eebab4ccc42c814e0e86cce99fa5d4cd0e53089b306857c38b750f6c2de634ab2403c6823152dd5e195578b4f9f968577b0823c5661d7fbdd7 MISC metadata.xml 995 BLAKE2B 00f6cfc63cec16ab8c6f983316f5872e63573f2d680da810b9b97d88c2ff6e21c15327a1508d62234e324f7145ca248a9ce1aa7286b0e34d9ee3dcba1481ff25 SHA512 da6a6f834b0d961477b95045756c539df7a968fe240f9f0c1c8183eef3052dddefb8d20547d668b07fece74c96b94bbf18baaac59e7328ff322355227d1adf02 diff --git a/dev-lang/crystal/crystal-0.35.1.ebuild b/dev-lang/crystal/crystal-0.35.1.ebuild deleted file mode 100644 index b5aa87303660..000000000000 --- a/dev-lang/crystal/crystal-0.35.1.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit bash-completion-r1 llvm multiprocessing toolchain-funcs - -BV=${PV}-1 -BV_AMD64=${BV}-linux-x86_64 -BV_X86=${BV}-linux-i686 - -DESCRIPTION="The Crystal Programming Language" -HOMEPAGE="https://crystal-lang.org" -SRC_URI="https://github.com/crystal-lang/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz - amd64? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_AMD64}.tar.gz ) - x86? ( https://github.com/crystal-lang/crystal/releases/download/${BV/-*}/crystal-${BV_X86}.tar.gz )" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="doc debug examples blocking-stdio-hack +xml +yaml" - -RESTRICT=test # not stable for day-to-day runs - -LLVM_MAX_SLOT=10 - -DEPEND=" - sys-devel/llvm:${LLVM_MAX_SLOT} - dev-libs/boehm-gc[static-libs,threads] - dev-libs/libatomic_ops - dev-libs/libevent - dev-libs/libpcre - sys-libs/libunwind - dev-libs/pcl - dev-libs/gmp:0 -" -RDEPEND="${DEPEND} - xml? ( dev-libs/libxml2 ) - yaml? ( dev-libs/libyaml ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.31.0-verbose.patch - "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.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-long-unix.patch - "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix-2.patch -) - -src_prepare() { - default - - use blocking-stdio-hack && eapply "${FILESDIR}"/"${PN}"-0.22.0-blocking-stdio-hack.patch -} - -src_compile() { - local bootstrap_path=${WORKDIR}/${PN}-${BV}/bin - if [[ ! -d ${bootstrap_path} ]]; then - eerror "Binary tarball does not contain expected directory:" - die "'${bootstrap_path}' path does not exist." - fi - - # crystal uses 'LLVM_TARGETS' to override default list of targets - unset LLVM_TARGETS - emake \ - $(usex debug "" release=1) \ - progress=true \ - stats=1 \ - threads=$(makeopts_jobs) \ - verbose=1 \ - \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - AR=$(tc-getAR) \ - \ - PATH="${bootstrap_path}:${PATH}" \ - CRYSTAL_PATH=src \ - CRYSTAL_CONFIG_VERSION=${PV} \ - CRYSTAL_CONFIG_PATH="lib:${EPREFIX}/usr/$(get_libdir)/crystal" - use doc && emake docs -} - -src_test() { - # EXTRA_SPEC_FLAGS is useful to debug individual tests - # as part of full build: - # USE=debug EXTRA_SPEC_FLAGS='-e parse_set_cookie' emerge -1 crystal - emake spec \ - $(usex debug "" release=1) \ - progress=true \ - stats=1 \ - threads=$(makeopts_jobs) \ - verbose=1 \ - \ - CC=$(tc-getCC) \ - CXX=$(tc-getCXX) \ - AR=$(tc-getAR) \ - \ - CRYSTAL_PATH=src \ - CRYSTAL_CONFIG_VERSION=${PV} \ - \ - "EXTRA_SPEC_FLAGS=${EXTRA_SPEC_FLAGS}" -} - -src_install() { - insinto /usr/$(get_libdir)/crystal - doins -r src/. - dobin .build/crystal - - insinto /usr/share/zsh/site-functions - newins etc/completion.zsh _crystal - - use examples && dodoc -r samples - - if use doc ; then - docinto api - dodoc -r docs/. - fi - - newbashcomp etc/completion.bash ${PN} -} diff --git a/dev-lang/crystal/crystal-0.36.0.ebuild b/dev-lang/crystal/crystal-0.36.1.ebuild index 31b5378f2b33..31b5378f2b33 100644 --- a/dev-lang/crystal/crystal-0.36.0.ebuild +++ b/dev-lang/crystal/crystal-0.36.1.ebuild diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest index 00862c39086f..31cd38ce8c91 100644 --- a/dev-lang/elixir/Manifest +++ b/dev-lang/elixir/Manifest @@ -7,5 +7,5 @@ DIST elixir-1.11.2.tar.gz 2391833 BLAKE2B 1c11e96830c8719e05e5bc832d4e1d9ca5bb80 DIST elixir-1.11.3.tar.gz 2394406 BLAKE2B 066e11651265d63c713809f1968b7dc7faf70e8254ef0aec1978a3db0f92da6bb894e882a1a6c1ba8da13d234c91dc84d2d750b0e044e4cd8706986ec7b2f382 SHA512 4962bb9fcf5f4190a8da22a3e42df5b4e521d73771f6a067edb482b911b0f9fbd2883841d06d94ae4ad6b1db2f61f691e5de4c118c722a16f95830c67ce3e45b EBUILD elixir-1.10.4.ebuild 883 BLAKE2B c8945f6c84ce2ba4ef99b42f5f0f3c262cfb6d743cd418f66113cab8a9a90caf1ddc71441d96b3755e9025974688909d8306b63ded24d871733d263c54df1d56 SHA512 a3581664d0fe5c49bd7c4ed2b6f2fba7c4b402944daf7c79e79acbd7ffbb463c17e559d961f7abd3c54c5ca5e6d23520e379a5712d7d232439b5c878291cb3d7 EBUILD elixir-1.11.2.ebuild 922 BLAKE2B 773047d4ae299c28923d5a7bae9b69a6cc07a3d0da07fda1bf65aa5ff8cbf29a310a0ede370595a2a643599f04dd98124b6e19ee85d2612c7d9876803959cffe SHA512 219f489574303f44a76d4608bcad5593ca6852fd93f6fff1e19dba3d83160762c8d7052e858017c4096b9bb44a7337c4c5141b09d8b70ac57d9ad1e5bb233b72 -EBUILD elixir-1.11.3.ebuild 925 BLAKE2B b0dc8a5e279524bf5683c635558992fb91e7dc943c6991601537b2273bac0b0a03b78618198bfbd4d8c40d55ca3e385bcac9c375d6a63dfd26af5c2530ca9441 SHA512 07c8f268f96f3fdaec2ae82762475fa1a94e4d5250786b2cbdb4ee5991d6486fead55e9d6d2c70aa11ed494e79c0720b4da65f79fe53533b9d22fefc971b511b +EBUILD elixir-1.11.3.ebuild 922 BLAKE2B 718117a8aee4294e70930d45d6b39d6522026c48165b9af54eae4b612458509e456586e8c6a256175ed4e66a6e36293d22d65d69b1fb40ec28efb6ee1b511fbf SHA512 e77cad093155fbcbab5247c18c4c45db407df167c296d9587c19826d303c0e38f431bb4c3ea61537dbfd0c211d4917ce08a38c6f6a2c7fb1c6040c0e279c9b8a MISC metadata.xml 790 BLAKE2B 33e4a37225c8f5bd142c5cbbe097ad3330f6c5b1115f834c1c20613281bdc0afa0927734ec3b0a2b1da595980abeec2fcf2bb20e725f5701590d1c3629972910 SHA512 5489797d3771c405edb4c9883082f780279470d7821dbdd1a4790bcdc74c0e31327c8f15286dc421bfe426d7371d6be2819e707389f425101e2d0d0577475586 diff --git a/dev-lang/elixir/elixir-1.11.3.ebuild b/dev-lang/elixir/elixir-1.11.3.ebuild index 4c9e14b12b16..cdae3d8bbe4b 100644 --- a/dev-lang/elixir/elixir-1.11.3.ebuild +++ b/dev-lang/elixir/elixir-1.11.3.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar LICENSE="Apache-2.0 ErlPL-1.1" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~sparc ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~sparc x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index 49fcae8845d3..4f2be823bd9d 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -11,14 +11,16 @@ DIST erlang-23.0.4.tar.gz 56394805 BLAKE2B 10a4e9e3084ad2d1bb10fa736d86eb03fa6b2 DIST erlang-23.2.1.tar.gz 56580525 BLAKE2B 4b5d4be9d0501dd2eb5d44357ccc9a169dc3b5742380264a7929e6aebf1d003327b2c109aa7dc4ad668f1576376e54022ff240f41df7af9010184d643eae2371 SHA512 444c19fac295a979321ccde1f516156a25faa79d66437ddf7bc0a197f3fb8d2ddd6c056d565f9b6bc47e8444b8feda790c4844dbe95ec0b300428fb22c4e0531 DIST erlang-23.2.2.tar.gz 56594755 BLAKE2B 3f5c552d3cd070b36bc7a1112b9541f358001ee4ad49a62ccce3462b02b642d4abc0bf8844e5441168be850f5588cf4ecdbf545fcff60e7746cec637898f2c7e SHA512 26743a7a4b2e31e63c0940ed6fdad64427c22e0f08fc063e1b8639bea6fa89c6b24e9c87ca572475d3ce39a18857ef6143676653cdf97b374656ae49f5892633 DIST erlang-23.2.3.tar.gz 56590563 BLAKE2B 319dbdeedfd74dc6341494d5ed81734c15475ea364f0b5690ff4d8030d7aea30fe66831fa06197e8a7334d48bdb4f0345effcf92afe1b70dd0ab79b5700cba1c SHA512 c1c176d908ac0a2470926997ec62d0e2d330aac25202e24314af1d57171d460fd5582e9ece9e289d7eb5c2728a6966b130e14ada10ba8ead04d47a849287ded4 +DIST erlang-23.2.4.tar.gz 56590253 BLAKE2B b15cb4c09c119cbf94978aa117c35451212b071b7ade2f426da920d8f44a7d229e9c1f11e82fec55efe97181f46b41123a1c30a757fdd25cfa81dca035b620af SHA512 12d10d0f2522a6df0007ee662335055dee3e2dad2be2a877e42c6fb7c3ca6ff613437a92523845a5e41c2b18ee2221de96c3d4a33acf5c3c5e4e3a1d093c2cac DIST erlang-23.2.tar.gz 56581092 BLAKE2B f3191b99465ab18eaf13c6d15f79ae150fb04337450b3ff145532aab0da229c44c082bb138a79c84860f09107a363c34e2b2505ce38c6c8dea1ede5fbe3ce044 SHA512 3bdb464992387c5a352c11bf9dc49c6a982dac10865d2b668d8db6fb45db15f4d79d38976d04fbbd51568ee9efb8b5295bb06b6fee37b81fde6fa43c51dcc313 DIST erlang_doc_html_23.0.tar.gz 36238699 BLAKE2B bce5fb1d766d3a795728cf7c00529129690f52e5dbe7363095cb7e63d5331a4dfc05c2042d24f10c7f3facbd187284aa323a92c0ed7515c1750aee4cd890fbd4 SHA512 bd0b1adf8639674d31152024e1351105249c6e6f93f28362e9e4b66ce6daadbe5eef5917a5889c926130e81bd000cfc44895ebaa309bf9a0c1c125713b715927 DIST erlang_doc_html_23.2.tar.gz 36537148 BLAKE2B b19d3fb5836b50512db6913ccb9116bc06ef4677c9514db89714ac72a9e7569b2c52612c357ccbf9a12610000885cbc8a43cc17f80c533a3c65af89c1b592ba6 SHA512 0d334dfe46ecffd6ff720d176c4514e2d49ba1b5feccd80f8392a8335100a6c289207431d2c0da02043c923de083290f9fd23726a1d1481508acdd7596f67ea4 DIST erlang_doc_man_23.0.tar.gz 1383486 BLAKE2B 63a9989c26797fe07fbd0ccca0d8425d94bc60a86fa93b5332c8d1f3e12a0071d9e6d4759be73bf44bf35dd14723b9e6707a84ba834e1775bc28aeec1edbe168 SHA512 81575ce7b267f5bb48bd844808e8edd4e373640bbc481372b288602eb9d3c9917e6c7c040c035b63a2f6edf437c3d826d6afdf5801765b51d9edd4a3b2a5b16f DIST erlang_doc_man_23.2.tar.gz 1386417 BLAKE2B 91fb2646461330c2f3793e7819e4c77ba9259366098b710fd102ffbcbcf38fa84ad720613313e3c59c1d419aaddd5a1a85d26c5d41a71d6692d428a494f57012 SHA512 464fa2c3608a6c096a241e5fc2cee710ef51394b169e3b3ce3ab5f69d847437c54780d4afc1a799d13f88ea88ac64056b19bff4d927e1e6bbe54a773b0ccd89d EBUILD erlang-23.0.4.ebuild 4563 BLAKE2B d144bc5d0c8f802d720fd36a53663692f8e335f766ced3c9bfab0c9dc5086c875df2b6cb42fb840304a659f203c70ec150fffea072d9e04dc5e151a55325c067 SHA512 a16aa96dafb7729c137e06c5d4c654965437a80becd9a5913d33ced734063e0947d61c2a2672e1ef6fff8dbec14b9a736e8d4b94a839a7da4e8add656645269e -EBUILD erlang-23.2.1.ebuild 4609 BLAKE2B b8ddf3bcd86dfb396a99e3209280b77e2ed8e1c5af99ddba34be0adf9b40bd58053bd254e1b52b4df6fe26e01e5ccb24c999ca4b4ddd4858488c78d79a06d684 SHA512 42d3fd1039bf50fe419a53aaa05d6c0602506e67b125049592881f732493851b07671b174e41cceb97334b2afa35bfd3ff89c70eb4e832bd8c2bdaba3f053fe6 +EBUILD erlang-23.2.1.ebuild 4604 BLAKE2B 94eb0cd161622bdaf13b9c4cd9d4f2ccca1a76afae3e162a035520f0bcc0dce5f8feeb3c13823b069c89bc8219c7c12c443d8e375b744598ee771135966f8856 SHA512 d3b6f3043a10e12b52cbab260f90852940bc83b1101f65d0216a23e5edd04edc09bcacc04341c272bfb251ac1303de0e14932fca48018db443a977817645158b EBUILD erlang-23.2.2.ebuild 4568 BLAKE2B afa013bfe43d1c6c8a9853f4ffaa3ce26095d5eba4dba1383f56ac0378fe1f3d73f2cfbfdb17df4c689764eaedcb349d65ea2b99aac67ff452f14a3d2d17be44 SHA512 7e8a5cb7c184d4e0ae500593764f6fbd9866e0ffc22c33359d0b2911b0b98a546da0998fb0aba17534e97ddb7ebc981f2e470c542378b0def45897383d26bd8a EBUILD erlang-23.2.3.ebuild 4568 BLAKE2B afa013bfe43d1c6c8a9853f4ffaa3ce26095d5eba4dba1383f56ac0378fe1f3d73f2cfbfdb17df4c689764eaedcb349d65ea2b99aac67ff452f14a3d2d17be44 SHA512 7e8a5cb7c184d4e0ae500593764f6fbd9866e0ffc22c33359d0b2911b0b98a546da0998fb0aba17534e97ddb7ebc981f2e470c542378b0def45897383d26bd8a +EBUILD erlang-23.2.4.ebuild 4568 BLAKE2B afa013bfe43d1c6c8a9853f4ffaa3ce26095d5eba4dba1383f56ac0378fe1f3d73f2cfbfdb17df4c689764eaedcb349d65ea2b99aac67ff452f14a3d2d17be44 SHA512 7e8a5cb7c184d4e0ae500593764f6fbd9866e0ffc22c33359d0b2911b0b98a546da0998fb0aba17534e97ddb7ebc981f2e470c542378b0def45897383d26bd8a EBUILD erlang-23.2.ebuild 4604 BLAKE2B 94eb0cd161622bdaf13b9c4cd9d4f2ccca1a76afae3e162a035520f0bcc0dce5f8feeb3c13823b069c89bc8219c7c12c443d8e375b744598ee771135966f8856 SHA512 d3b6f3043a10e12b52cbab260f90852940bc83b1101f65d0216a23e5edd04edc09bcacc04341c272bfb251ac1303de0e14932fca48018db443a977817645158b MISC metadata.xml 834 BLAKE2B 1f394278eed4a3ac5e1c04f4ffced7042cc910d9e84ed4ad955cf91240446410f0ffbf1c138cc76cfa55d40c0eb0f110da98cd49c59df2b12ae70c13afd45a06 SHA512 7c067d233ffae83e4b1b55ba9e8adffe125d27f5f81401a4e4262d9b713b08bdaa4dd927570b2d32591092ca387372ee206e25e0b939ca721c96317fcd3d2be2 diff --git a/dev-lang/erlang/erlang-23.2.1.ebuild b/dev-lang/erlang/erlang-23.2.1.ebuild index e266bd5246c6..27ebfc6b45ee 100644 --- a/dev-lang/erlang/erlang-23.2.1.ebuild +++ b/dev-lang/erlang/erlang-23.2.1.ebuild @@ -22,7 +22,7 @@ LICENSE="Apache-2.0" # same build of ERTS that was used when compiling the code. See # http://erlang.org/doc/system_principles/misc.html for more information. SLOT="0/${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets" RDEPEND=" diff --git a/dev-lang/erlang/erlang-23.2.4.ebuild b/dev-lang/erlang/erlang-23.2.4.ebuild new file mode 100644 index 000000000000..e78f4f36b069 --- /dev/null +++ b/dev-lang/erlang/erlang-23.2.4.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +WX_GTK_VER="3.0-gtk3" + +inherit elisp-common java-pkg-opt-2 systemd wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(ver_cut 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + +LICENSE="Apache-2.0" +# We use this subslot because Compiled HiPE Code can be loaded on the exact +# same build of ERTS that was used when compiling the code. See +# http://erlang.org/doc/system_principles/misc.html for more information. +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets" + +RDEPEND=" + acct-group/epmd + acct-user/epmd + sys-libs/ncurses:0 + sys-libs/zlib + emacs? ( >=app-editors/emacs-23.1:* ) + java? ( >=virtual/jdk-1.8:* ) + odbc? ( dev-db/unixODBC ) + sctp? ( net-misc/lksctp-tools ) + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + systemd? ( sys-apps/systemd ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) +" +DEPEND="${RDEPEND} + dev-lang/perl +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}"/18.2.1-wx3.0.patch + "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch +) + +SITEFILE=50"${PN}"-gentoo.el + +src_prepare() { + default + + ./otp_build autoconf || die +} + +src_configure() { + use wxwidgets && setup-wxwidgets + + local myconf=( + --disable-builtin-zlib + $(use_enable hipe) + $(use_enable kpoll kernel-poll) + $(use_with java javac) + $(use_enable sctp) + $(use_with ssl ssl "${EPREFIX}"/usr) + $(use_enable ssl dynamic-ssl-lib) + $(use_enable systemd) + $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") + ) + econf "${myconf[@]}" +} + +src_compile() { + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + local path="$1" + local var_name="$2" + sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" +} + +src_install() { + local erl_libdir_rel="$(get_libdir)/erlang" + local erl_libdir="/usr/${erl_libdir_rel}" + local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" + local erl_erts_ver="$(extract_version erts VSN)" + local my_manpath="/usr/share/${PN}/man" + + [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" + [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${D}" install + + if use doc ; then + # Note: we explicitly install docs into: + # /usr/share/doc/${PF}/{doc,lib,erts-*} + # To maintain that layout we gather everything in 'html-docs'. + # See bug #684376. + mkdir html-docs || die + mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* html-docs/ || die + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" html-docs/. ) + docompress -x /usr/share/doc/${PF} + else + local DOCS=("README.md") + fi + + einstalldocs + + dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl + dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc + dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript + dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call + dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${erl_libdir}/Install" || die + + insinto "${my_manpath}" + doins -r "${WORKDIR}"/man/* + # extend MANPATH, so the normal man command can find it + # see bug 189639 + newenvd - "90erlang" <<-_EOF_ + MANPATH="${my_manpath}" + _EOF_ + + if use emacs ; then + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die + elisp-site-file-install "${T}/${SITEFILE}" + fi + + newinitd "${FILESDIR}"/epmd.init-r2 epmd + newconfd "${FILESDIR}"/epmd.confd-r2 epmd + use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest index db9ec27eaffb..6ea530e2635f 100644 --- a/dev-lang/go/Manifest +++ b/dev-lang/go/Manifest @@ -1,7 +1,11 @@ AUX go-sets.conf 313 BLAKE2B 03e94776e317d34b72bfb8385b8b0dfa6a599a6086e4d0c9214e7b49293768947c21d9afb323ffcc7fd85ba0af72d9cb243dbb571eee9eb81de9400fd5f5e79c SHA512 7d01b98bc8d1b609183682dd942bd4c9fa757a98243c7de3cf6c497c7bc20b8cdbe59dd669ce4bb11f914a0e9b6d100e65cea2dffd99f38be50b18e0ecf66315 DIST go1.14.14.src.tar.gz 22557733 BLAKE2B aa3638c7a20f89e90bf17e9da1b12323cc8c0f52fb0a92ca6a850f7b2c94e406ea50a57fc28cc34b951bf7ecee0a9bb1ce884ad86dfc23241d7b62cd9435f881 SHA512 76213b19eeec66ca6c6b5bdef875bea0b64c3877c70eec64dd65f7869ceb8db016ff19193f01771f8944fd5f0ae3b54c68185e158f2622d1db5552fec1f37976 +DIST go1.14.15.src.tar.gz 22557340 BLAKE2B 1170cb9d5c0c6686c0c49b4bef1f5d7afcf495a3989fb98c51f1e881eaf1c7502a9517dd9da8d84e091bd6e0d5a88f1d448bf430733a69b44ae0b00c217ba2ba SHA512 94cacf8c86789600fae09a1da4055b9a436977b18488d85bb91494eece8a8e012e1b68924a8a50714c2d17db19d1e84a4a6bec91fa10fd8415c9739c9a348dc1 DIST go1.15.7.src.tar.gz 23017978 BLAKE2B 15b0827fb56b8e9208c65e8f7f11c7f67820efce1627b4123e937301bb437c597e87adfff9a2eee9aaf53ba0f22eb2f10746bafb7247b4250566f20181b7a2a0 SHA512 7b3e8bcd2fc95baad41f8b5f0456c009e01896d160e65c2670d51c23d8cfcf7a6801e831e6f9a8877fe58c8f54ac8f75bf6e7935b38ba7aaa51dc8e46cf76ddb +DIST go1.15.8.src.tar.gz 23018628 BLAKE2B 234208b16865f0ac1567e12d3f2dee379f64220a8a04e4b4057d065d3b12e1a110688f165ddc25accf96eab7d8bd2da3717cdd18b74f8d391da8b404bf40ae4f SHA512 4b805425550aff5c38f1f66fa7f7b3282b20850b1c0735898ee62820080514a2a6ab573f1d6984656c5bb955ec2b10cef90fbb7ab6a6c8f1e75ebc0964a04a80 EBUILD go-1.14.14.ebuild 4574 BLAKE2B c9833658e5cd6f2a032663144aaf037d72a9175da16c4ca2562b49030d434335c9a981761c7ba13217bc3e80805eb127a6a16705fdacc681017a67f96235c20d SHA512 ff8b197a487280639b7e687a823277e260da97ce44d12ccbdbda00d25cb6dbae2b683b34ea8eceb3a98f368bd5fe6eb18f37b4ebd3bab10c2536c85334809122 +EBUILD go-1.14.15.ebuild 4579 BLAKE2B d6e3779180ce639f03387ec3a5021b31e8d30493180c01cf86a5f69aa4d93bb3c265db1c23d5e6dd69c319b9845b5a7d0dafda47c0ae840b1a1d56e099e65744 SHA512 4cb133223e319b4c12679cc39e32f1262192fcac68e918ba69a501979f9cf97760589d28a897f5ae2a7c26da7b17e8f9c0593509467f85223daf7aed95e7974c EBUILD go-1.15.7.ebuild 4574 BLAKE2B c9833658e5cd6f2a032663144aaf037d72a9175da16c4ca2562b49030d434335c9a981761c7ba13217bc3e80805eb127a6a16705fdacc681017a67f96235c20d SHA512 ff8b197a487280639b7e687a823277e260da97ce44d12ccbdbda00d25cb6dbae2b683b34ea8eceb3a98f368bd5fe6eb18f37b4ebd3bab10c2536c85334809122 +EBUILD go-1.15.8.ebuild 4579 BLAKE2B d6e3779180ce639f03387ec3a5021b31e8d30493180c01cf86a5f69aa4d93bb3c265db1c23d5e6dd69c319b9845b5a7d0dafda47c0ae840b1a1d56e099e65744 SHA512 4cb133223e319b4c12679cc39e32f1262192fcac68e918ba69a501979f9cf97760589d28a897f5ae2a7c26da7b17e8f9c0593509467f85223daf7aed95e7974c EBUILD go-9999.ebuild 4579 BLAKE2B c19b3d07e84df70393c8242eb825444436b97d591b214bf1fbd6d265ac0e276fd147d1cfa96e61b1e33468d56eb355cdeda807af7beaa0b3fdcb2f1d1f989374 SHA512 768d17b68de2925267e8274f9e216cd5f79c13be54cb986d0126ab85beaaaa4e46d8ca18422786ee09813b4707aafc6695df815e234fa330dc0211c2ebd398d3 MISC metadata.xml 462 BLAKE2B d9d4280e921286791a55619a7e5557c7041b0de157aa0f8bf6f17cf5041f802df4037270eeb3e8d37263f9fc17939c619a0dd3bce449c5f247279884da10bf67 SHA512 26fa7bfe26f00e8e1766cc0a1052fb8b5352799a33c9eb8f0c4f4523601d3eb5d1da8adc4b731f0d778039788734a9ad483f22e58e4bf1551ec8e9dccbcb87ba diff --git a/dev-lang/go/go-1.14.15.ebuild b/dev-lang/go/go-1.14.15.ebuild new file mode 100644 index 000000000000..461f57dcd52f --- /dev/null +++ b/dev-lang/go/go-1.14.15.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} + +MY_PV=${PV/_/} + +inherit toolchain-funcs + +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-linux ~x86-linux ~x64-macos ~x64-solaris" + ;; + esac +esac + +DESCRIPTION="A concurrent garbage collected and typesafe programming language" +HOMEPAGE="https://golang.org" + +LICENSE="BSD" +SLOT="0/${PV}" + +BDEPEND="|| ( + dev-lang/go + dev-lang/go-bootstrap )" +RDEPEND="!<dev-go/go-tools-0_pre20150902" + +# Do not complain about CFLAGS, etc, since Go doesn't use them. +QA_FLAGS_IGNORED='.*' + +# The tools in /usr/lib/go should not cause the multilib-strict check to fail. +QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" + +# Do not strip this package. Stripping is unsupported upstream and may +# fail. +RESTRICT+=" strip" + +DOCS=( +AUTHORS +CONTRIBUTING.md +CONTRIBUTORS +PATENTS +README.md +) + +go_arch() +{ + # By chance most portage arch names match Go + local portage_arch=$(tc-arch $@) + case "${portage_arch}" in + x86) echo 386;; + x64-*) echo amd64;; + ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; + s390) echo s390x ;; + *) echo "${portage_arch}";; + esac +} + +go_arm() +{ + case "${1:-${CHOST}}" in + armv5*) echo 5;; + armv6*) echo 6;; + armv7*) echo 7;; + *) + die "unknown GOARM for ${1:-${CHOST}}" + ;; + esac +} + +go_os() +{ + case "${1:-${CHOST}}" in + *-linux*) echo linux;; + *-darwin*) echo darwin;; + *-freebsd*) echo freebsd;; + *-netbsd*) echo netbsd;; + *-openbsd*) echo openbsd;; + *-solaris*) echo solaris;; + *-cygwin*|*-interix*|*-winnt*) + echo windows + ;; + *) + die "unknown GOOS for ${1:-${CHOST}}" + ;; + esac +} + +go_tuple() +{ + echo "$(go_os $@)_$(go_arch $@)" +} + +go_cross_compile() +{ + [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] +} + +src_compile() +{ + if has_version -b dev-lang/go; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" + elif has_version -b dev-lang/go-bootstrap; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" + else + eerror "Go cannot be built without go or go-bootstrap installed" + die "Should not be here, please report a bug" + fi + + export GOROOT_FINAL="${EPREFIX}"/usr/lib/go + export GOROOT="$(pwd)" + export GOBIN="${GOROOT}/bin" + + # Go's build script does not use BUILD/HOST/TARGET consistently. :( + export GOHOSTARCH=$(go_arch ${CBUILD}) + export GOHOSTOS=$(go_os ${CBUILD}) + export CC=$(tc-getBUILD_CC) + + export GOARCH=$(go_arch) + export GOOS=$(go_os) + export CC_FOR_TARGET=$(tc-getCC) + export CXX_FOR_TARGET=$(tc-getCXX) + if [[ ${ARCH} == arm ]]; then + export GOARM=$(go_arm) + fi + + cd src + bash -x ./make.bash || die "build failed" +} + +src_test() +{ + go_cross_compile && return 0 + + cd src + PATH="${GOBIN}:${PATH}" \ + ./run.bash -no-rebuild || die "tests failed" + cd .. + rm -fr pkg/*_race || die + rm -fr pkg/obj/go-build || die +} + +src_install() +{ + # There is a known issue which requires the source tree to be installed [1]. + # Once this is fixed, we can consider using the doc use flag to control + # installing the doc and src directories. + # The use of cp is deliberate in order to retain permissions + # [1] https://golang.org/issue/2775 + dodir /usr/lib/go + cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go + einstalldocs + + # testdata directories are not needed on the installed system + rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) + + local bin_path + if go_cross_compile; then + bin_path="bin/$(go_tuple)" + else + bin_path=bin + fi + local f x + for x in ${bin_path}/*; do + f=${x##*/} + dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} + done + + # install the @golang-rebuild set for Portage + insinto /usr/share/portage/config/sets + newins "${FILESDIR}"/go-sets.conf go.conf +} + +pkg_postinst() { + [[ -z ${REPLACING_VERSIONS} ]] && return + einfo "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" + einfo "all packages compiled with previous versions of ${CATEGORY}/${PN}" + einfo "due to the static linking nature of go." + einfo "If this is not done, the packages compiled with the older" + einfo "version of the compiler will not be updated until they are" + einfo "updated individually, which could mean they will have" + einfo "vulnerabilities." + einfo "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" + einfo "See https://bugs.gentoo.org/752153 for more info" +} diff --git a/dev-lang/go/go-1.15.8.ebuild b/dev-lang/go/go-1.15.8.ebuild new file mode 100644 index 000000000000..461f57dcd52f --- /dev/null +++ b/dev-lang/go/go-1.15.8.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} + +MY_PV=${PV/_/} + +inherit toolchain-funcs + +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-linux ~x86-linux ~x64-macos ~x64-solaris" + ;; + esac +esac + +DESCRIPTION="A concurrent garbage collected and typesafe programming language" +HOMEPAGE="https://golang.org" + +LICENSE="BSD" +SLOT="0/${PV}" + +BDEPEND="|| ( + dev-lang/go + dev-lang/go-bootstrap )" +RDEPEND="!<dev-go/go-tools-0_pre20150902" + +# Do not complain about CFLAGS, etc, since Go doesn't use them. +QA_FLAGS_IGNORED='.*' + +# The tools in /usr/lib/go should not cause the multilib-strict check to fail. +QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" + +# Do not strip this package. Stripping is unsupported upstream and may +# fail. +RESTRICT+=" strip" + +DOCS=( +AUTHORS +CONTRIBUTING.md +CONTRIBUTORS +PATENTS +README.md +) + +go_arch() +{ + # By chance most portage arch names match Go + local portage_arch=$(tc-arch $@) + case "${portage_arch}" in + x86) echo 386;; + x64-*) echo amd64;; + ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; + s390) echo s390x ;; + *) echo "${portage_arch}";; + esac +} + +go_arm() +{ + case "${1:-${CHOST}}" in + armv5*) echo 5;; + armv6*) echo 6;; + armv7*) echo 7;; + *) + die "unknown GOARM for ${1:-${CHOST}}" + ;; + esac +} + +go_os() +{ + case "${1:-${CHOST}}" in + *-linux*) echo linux;; + *-darwin*) echo darwin;; + *-freebsd*) echo freebsd;; + *-netbsd*) echo netbsd;; + *-openbsd*) echo openbsd;; + *-solaris*) echo solaris;; + *-cygwin*|*-interix*|*-winnt*) + echo windows + ;; + *) + die "unknown GOOS for ${1:-${CHOST}}" + ;; + esac +} + +go_tuple() +{ + echo "$(go_os $@)_$(go_arch $@)" +} + +go_cross_compile() +{ + [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] +} + +src_compile() +{ + if has_version -b dev-lang/go; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" + elif has_version -b dev-lang/go-bootstrap; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" + else + eerror "Go cannot be built without go or go-bootstrap installed" + die "Should not be here, please report a bug" + fi + + export GOROOT_FINAL="${EPREFIX}"/usr/lib/go + export GOROOT="$(pwd)" + export GOBIN="${GOROOT}/bin" + + # Go's build script does not use BUILD/HOST/TARGET consistently. :( + export GOHOSTARCH=$(go_arch ${CBUILD}) + export GOHOSTOS=$(go_os ${CBUILD}) + export CC=$(tc-getBUILD_CC) + + export GOARCH=$(go_arch) + export GOOS=$(go_os) + export CC_FOR_TARGET=$(tc-getCC) + export CXX_FOR_TARGET=$(tc-getCXX) + if [[ ${ARCH} == arm ]]; then + export GOARM=$(go_arm) + fi + + cd src + bash -x ./make.bash || die "build failed" +} + +src_test() +{ + go_cross_compile && return 0 + + cd src + PATH="${GOBIN}:${PATH}" \ + ./run.bash -no-rebuild || die "tests failed" + cd .. + rm -fr pkg/*_race || die + rm -fr pkg/obj/go-build || die +} + +src_install() +{ + # There is a known issue which requires the source tree to be installed [1]. + # Once this is fixed, we can consider using the doc use flag to control + # installing the doc and src directories. + # The use of cp is deliberate in order to retain permissions + # [1] https://golang.org/issue/2775 + dodir /usr/lib/go + cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go + einstalldocs + + # testdata directories are not needed on the installed system + rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) + + local bin_path + if go_cross_compile; then + bin_path="bin/$(go_tuple)" + else + bin_path=bin + fi + local f x + for x in ${bin_path}/*; do + f=${x##*/} + dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} + done + + # install the @golang-rebuild set for Portage + insinto /usr/share/portage/config/sets + newins "${FILESDIR}"/go-sets.conf go.conf +} + +pkg_postinst() { + [[ -z ${REPLACING_VERSIONS} ]] && return + einfo "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" + einfo "all packages compiled with previous versions of ${CATEGORY}/${PN}" + einfo "due to the static linking nature of go." + einfo "If this is not done, the packages compiled with the older" + einfo "version of the compiler will not be updated until they are" + einfo "updated individually, which could mean they will have" + einfo "vulnerabilities." + einfo "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" + einfo "See https://bugs.gentoo.org/752153 for more info" +} diff --git a/dev-lang/jimtcl/Manifest b/dev-lang/jimtcl/Manifest index deb02b940321..ee75e4b03f22 100644 --- a/dev-lang/jimtcl/Manifest +++ b/dev-lang/jimtcl/Manifest @@ -3,5 +3,5 @@ AUX jimtcl-0.78-no-bootstrap.patch 1370 BLAKE2B 1f584727970d7103a183b9099818bafb DIST jimtcl-0.76.zip 2326715 BLAKE2B 50ea032cf46d2edeeecde1dc3b4deffcbd09b5dd3a6880963608b3f20616bf162fafc4ec2869bfe5de90231c4c9a29fb04710bd299cc5e8728ff20a86e46f32d SHA512 50763ea897fb5393083749cdd9e57a3f3d2d6dbebc40ee6371b1b86ebfc2f515e9775cd2acd6627f0f81b54bd72cd8c74be5aa9d0dbefc7c16372887e07f6ea4 DIST jimtcl-0.78.tar.gz 3073533 BLAKE2B f0cdaf2807c7dd0e7c64e37cbc8dd019d8460e6a0320c239b0d01549aede8c86a89d84d7a3c5200c8d8cea428dbd1038d57dc66f5b580bdea8fe39710f967bbb SHA512 2a2cff12d7fdc4cf36734e41727eef08f6d74fb13d70bb0a3e01839e66859e57dd927ddedc161a6a7928881d640bd4e20a1bb313ed24aa2bb7bcb00eaf64fbf6 EBUILD jimtcl-0.76.ebuild 1499 BLAKE2B 84a6faae307b4e6e67e48e5424b7826cf179d9dd3cec74d452559d7e65e6e924f6ac3aa901e5c0e94c4e30cf790f8d07ed8bfdcf9ff9a9ecd25cac40cd45ee63 SHA512 5ef245dc133b79cbc9664c6a7ef63f1a24ad295c2f784d3221d33634b456840d86cd49886d11d8cf67e872591b6bd475c7fca8b2213d22a7e50f9b6c433f73c2 -EBUILD jimtcl-0.78-r2.ebuild 1304 BLAKE2B 0495198d6d33516beb74980f24e4e67cbc5c8c3843ad1f8f36e23051cb1c787e6b100245b3fa7c4e89fbe7c6a0b9e211a6d6b1278f19e74ce513342461762aad SHA512 2795102cc94c6000f803950f0bd074f3cdade85ae48d9d8b5d61a4c5e422f8f7b16977b5f65d329badc67076c088473278f217ccfff54ec31ade4a14e1fdfca4 +EBUILD jimtcl-0.78-r2.ebuild 1302 BLAKE2B f9dc7919b224ae29b0209db2277847199dafbcf5d7e3f6a7cdbd5853082e6f35f232eb9120022ed6a66f3a069949a4f10501b76d98eb30c472a1c7b2711b08fc SHA512 94105f2304f761867808ee93636e546277beab33cba6acade339e24e24f3fb69a1fdd76609758e3a04d0ba2cbc9bb80eab6936f2a17c7a0aea3d497f7069ba16 MISC metadata.xml 251 BLAKE2B f23df3a2dcf096cee2f8d5cf2ef4fcc6c741ae312d2193f1d449aac7cd19126aa8197d4f3e2bd7828abf1aeeabf60f4a3ef8cc05b8152e6f6ce55b4897de5eb0 SHA512 0186a63dbf97f1800694d0bcb67528a7da92d30412398d5916452cc45c17d823f84ba7ffeae533476b7a48e7da19dabd0e431155ab66c19e68b113c910a4c03c diff --git a/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild b/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild index 9b531ea12ea2..6fd17432574c 100644 --- a/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild +++ b/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -6,7 +6,7 @@ EAPI="7" inherit eutils SRC_URI="https://github.com/msteveb/jimtcl/archive/${PV}.tar.gz -> ${P}.tar.gz" -KEYWORDS="~amd64 ~arm ~arm64 ~m68k ~mips ~s390 ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~m68k ~mips ~s390 x86" DESCRIPTION="Small footprint implementation of Tcl programming language" HOMEPAGE="http://jim.tcl.tk/" diff --git a/dev-lang/lfe/Manifest b/dev-lang/lfe/Manifest index 9411e0523d44..e920e2e7821c 100644 --- a/dev-lang/lfe/Manifest +++ b/dev-lang/lfe/Manifest @@ -1,3 +1,6 @@ +AUX 70lfe-gentoo.el 166 BLAKE2B 023b504e013f24662bded660def58f013ca9b34bc9ee73a137df54e48825e71f3a7322652e7cb8fd60e19b2a508180e1933c6f03be163d4a614fecfb6b41d96a SHA512 a15c3db1640229eaa2c1faa44f7765a53fdde29af78f8a9130c3b8893098cbc41a3cb322402ac5b9b0ca8373739b03723acdc3685d83724fafa6afaee0c25891 DIST lfe-1.1.1.zip 386864 BLAKE2B d966e483c0490d7c6e48ae53819a0f1f30ea0edd7dcc6c7c3fe82c79ed0e4013d66dde4e74d4369e72fc46076723612f00ccb8d33d912d46dfdbf8e38940f72b SHA512 8660716a73126615bd0cde161a780cc49ba57718afd820dbe891da5e1d9ec2f52cc1864159dcedba1c674ccfef42b9662ec8e0bbfe82c10798527ae0979b8f8e +DIST lfe-1.3.0_p20210112.zip 447903 BLAKE2B bc63fd7f988abba77e7f4baef906c2fd4370e1aeb2bc04b019d429586cbcb91792ac0f65a3d29a904997d2488a2540411c38e904c0208e2183a8f0f8362f7c36 SHA512 ee178436ca8aea1f1001e5f679a366414229f584cc0e0a38d9749b7cb49d7378a3f8681dcb8c1d5c61e4f498aa31c575a791fe21337b3079a11b623ada363de9 EBUILD lfe-1.1.1.ebuild 754 BLAKE2B da0fd9924571e0cc62f2ee927eb26373eaec47ae1f5305930f2ba073287c19931de5839845bdba3e07ea7ab22030451425882a2bbc40aac7cfc97d4065d562d4 SHA512 77a131455692ceefb6310ace009525eeac0469f8105b16885e1a7a6bb8af2386104391774d44ce23d2d6ee9aa6635a882a1fe9ceaecc00da4ee312e3061e3741 -MISC metadata.xml 334 BLAKE2B 796f5cf618b8a2de81896af38e068a8c26e4681e4034214c713c5b1b450e119f76a1961b1a5097d81a8aeee446b0ffce124908757e59812ab2db0a93f1d8aefc SHA512 ef130013e56ca5d9df4312b106383b5d3d8d889f767ea24125e1a9ab11f555cab661c73ad190c7c0b4d7afd10a1e6d3569282233b4da4a76c7fbf1fc6052c8be +EBUILD lfe-1.3.0_p20210112.ebuild 1478 BLAKE2B 703a9fcac2af8303587052a4adc18ec9757f3b0cb08ccf744b0d8ae43d94e46dd1ba24eea0c51c3abf1c55c72288ec44e1153daf9aae5883fecbe09733ae7f57 SHA512 4fc4fe399ca2974216c4c79eb248c670e7c29f3a51170c46907ad35d99dc28a3ee5627890ce4eb15d05898e9f07fae7015558ab6be57f4921e314603a7895142 +MISC metadata.xml 588 BLAKE2B 532a17a48cf13dabc83a4ac1fae599cd24b7f661f20673cb1a1f336a0d2c0ab13491948788202adcec54c32a64b8245577501a462f261a1d785c9aeed536ec16 SHA512 c31ace8b52cbe4927e24fd42facf9e67b21b07f1eda7db7df1b8bd5ad0cee1748b72311c0f5b2592a80bb0f069a5943e827f146ba9929d224ec8c04072529153 diff --git a/dev-lang/lfe/files/70lfe-gentoo.el b/dev-lang/lfe/files/70lfe-gentoo.el new file mode 100644 index 000000000000..2be4c13d18a5 --- /dev/null +++ b/dev-lang/lfe/files/70lfe-gentoo.el @@ -0,0 +1,6 @@ +;;; lfe site-lisp configuration + +(add-to-list 'load-path "@SITELISP@") + +(autoload 'lfe-mode "lfe-mode" nil t) +(autoload 'inferior-lfe-mode "inferior-lfe-mode" nil t) diff --git a/dev-lang/lfe/lfe-1.3.0_p20210112.ebuild b/dev-lang/lfe/lfe-1.3.0_p20210112.ebuild new file mode 100644 index 000000000000..b5acbb1dd4b9 --- /dev/null +++ b/dev-lang/lfe/lfe-1.3.0_p20210112.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit elisp-common toolchain-funcs + +DESCRIPTION="Lisp-flavoured Erlang" +HOMEPAGE="http://lfe.github.io/" +SRC_URI="https://github.com/rvirding/lfe/archive/v${PV}.zip -> ${P}.zip" + +if [[ "${PV}" == *9999* ]]; then + inherit git-r3 + EGIT_BRANCH="develop" + EGIT_REPO_URI="https://github.com/rvirding/${PN}.git" +else + COMMIT_SHA="e5f20c459a13b35ed1e71b1d2667363af168e958" + SRC_URI="https://github.com/rvirding/${PN}/archive/${COMMIT_SHA}.zip -> ${P}.zip" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${PN}-${COMMIT_SHA}" +fi + +RESTRICT="mirror test" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="doc emacs" + +BDEPEND="app-arch/unzip" +RDEPEND=" + dev-lang/erlang +" +DEPEND=" + ${RDEPEND} + doc? ( app-text/pandoc ) +" + +SITEFILE="70${PN}-gentoo.el" + +src_prepare() { + default + + sed -i "s|cc |$(tc-getCC) ${CFLAGS} |g" ./Makefile \ + || die "Failed to fix the makefile" +} + +src_compile() { + emake compile + + use doc && emake docs + use emacs && emake emacs +} + +src_install() { + dodir "/usr/$(get_libdir)/erlang/lib/lfe/ebin/" + cp -R ./ebin "${D}/usr/$(get_libdir)/erlang/lib/lfe/" + dobin ./bin/* + + if use doc; then + dodoc ./doc/*.txt + doman ./doc/man/* + fi + + if use emacs; then + elisp-install lfe emacs/* \ + || die "elisp-install failed" + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/lfe/metadata.xml b/dev-lang/lfe/metadata.xml index afa3a329e3ad..9345ada5e45d 100644 --- a/dev-lang/lfe/metadata.xml +++ b/dev-lang/lfe/metadata.xml @@ -5,6 +5,12 @@ <email>patrick@gentoo.org</email> <name>Patrick Lauer</name> </maintainer> + <longdescription lang="en"> + LFE, Lisp Flavoured Erlang, is a lisp syntax front-end + to the Erlang compiler. Code produced with it is compatible + with "normal" Erlang code. + An LFE evaluator and shell is also included. + </longdescription> <upstream> <remote-id type="github">rvirding/lfe</remote-id> </upstream> diff --git a/dev-lang/lua/Manifest b/dev-lang/lua/Manifest index 37ebb84422c2..8c57855622e9 100644 --- a/dev-lang/lua/Manifest +++ b/dev-lang/lua/Manifest @@ -11,22 +11,15 @@ AUX 5.2.0/01_all_memory_hoarding.upstream.patch 1639 BLAKE2B 14ff68362d99e00fa3e AUX 5.2.0/02_all_hex_number_handling.upstream.patch 938 BLAKE2B 4d995b9cc7e90e798a24edaadd5c2db086124cf157aacd1763312c3f813a07a293dcd50e19496bb90a7ef0006f5c7be6181bf330c21ce53cfffecf3e457f49fa SHA512 950c05767fd2fb39cef253323544fe079e88443047f63b495ff7639c980fd410db0f5769fa7a19134db819b1fc0b252e5f34d48fa6c1352874f734586cc2d41e AUX configure.in 66 BLAKE2B 60319ac9b6bf60c84941673c4949e590e99c5e77b1309e25df797a8deef85d0d8ad0339e8b4fcfa5fc721545ceee62475f2284ea8f930687682265b1d03e4144 SHA512 b61041151ad4be2bb4a62f6659850fcf4179553103c421694ce739b84a57408fc59d09f5ad3f6dd8513be78ffa472689dc729031e3ef42b99f11ecc8e0053ffc AUX lua-5.1-make-r1.patch 2229 BLAKE2B 001317361dc3ffc98ad36f3a80137580503e04b5267b74f79ab25cc355bf93663b6e5a5ba35ea827ef66717a98e33cba3bbf2130ce458ea81b83abca71c00c9a SHA512 cd24e228b0d7f2abcb5afe045fc824811c9db9dc684f9e33f0de0e7215e18e6eae51fd86c5910a338a810679d46727944950fced42636e0484d9c3f08fa07fdd -AUX lua-5.1-make-r2.patch 3071 BLAKE2B 7b971b367f043d6149eeb7e49eb50253f88eff34253e4a21dbbcd293a76519ca0e6add27dbcb1b57f39ed096cdf8d2b52470c7bc217cf36004568ea993cbfa69 SHA512 a5384262e033943fe0088ca14d854d1e3767f8e266d09ba1bb15caf5f3f4bf6285ed1e37dad100f931195bce0eca5a862bf52ab664482aaba6ccd905b6ca8ecd AUX lua-5.1-make_static-r1.patch 644 BLAKE2B e1615d2779814f7f5baf8d7257f132d812db56b093dc871b28d69307196b37815d2b1e3051da7fcba21cb3120ef2f3b6a6b869b0b3808084ae67c5f738139ed3 SHA512 8cb1de7281839ebb492979f71b65c9ff6bbbde413c88323be6b77d7b7d26eb2034c541a883fd7cfab0694293732f3ac46dba33620d7df30c45059560b8d6503d AUX lua-5.1-module_paths.patch 1078 BLAKE2B c8c6def6f3099f61cc750657df1609a0a26b9201db7ae9d07b792a1eebb50be8a7bbb3a6ef6201ec4927a199c116304edaef0b9c9ab0fc833df4d7e56e92332a SHA512 123b115389d01d383af8698d2ed66c75bb7c3e2d33de57b8539ae56a9478930a0a72fa5657e78cc1c5b6bef00d07ec3a51e19ec0e419647e84eb158fb5c4795a AUX lua-5.1-readline.patch 360 BLAKE2B b528a3566aa59fb1cccb22417b01e86ee0cd3b77a3e278a20d5b476949daf47f0a656c7493a137594f1cf3136d327530ac97833cf584956b35b6a88a808535b9 SHA512 a99154258419dc2e582804eae97517687e5b8b5f731dc91722193d1ff470b8522af6ff4e7142c9258afe4734cd52e6987d3c2108ac52b1487a262f1e89f2f332 AUX lua-5.1.4-deprecated.patch 1417 BLAKE2B 993dd3169ebeaf8abbf5bf34e39f85b5d429c49bb534cbb0351c217705f36d7048d847241e05b3181c0cf0d4e54d449351b27947cea45b7bb880f4f62d8ebaeb SHA512 5b82058ece2cde2a720f9cdae727be0a68895438f90e24f2e37adb1cd79cf637ce20bb283918e44f4f561aa87a9b4f19d3305d71537671f61438962d48970f39 AUX lua-5.1.4-test.patch 271 BLAKE2B 1b8d2fd524d34fce99315d03232984a3cd1ad74fb23a7794a9886613bc96cdd1d48c82913c5b1ebf0765b3e51d5fcba2dfedd8eb9cf62e63e6998036447319fd SHA512 963bd2c53714eb067a55ee4d84b465ee96b2d3de71498bc83ecb4f8de70d59d6574703b36c621b9969d3f595a2c794095aae0d9c59cc02d5778ce0e7a1da8247 -AUX lua-5.1.5-disable-deprecated.patch 1823 BLAKE2B 82d9e7c12d98606b29960182d8e069704683e136e06f422d6109a3c2ade165bc12e151d9e1c7933c65be3b441f1363db4f054866c0c7a894e9282a82b01a435d SHA512 1dc8f8a789bc8374137adce70c6614afe383255b5a2e59e36fdddf5a8fb9c7458b42e7b4483f09635d0ec38f8ed7925f8d1f12ce0fe0fdf0373a8e59b6f84322 AUX lua-5.1.5-fix_vararg_calls.patch 470 BLAKE2B fa5863445dbca630dbe00fd03a09f752dc27d0106cb7a5cc8bddf51dc9bd01ae843ad29219ed2ba29dd3088b933bcbf91fc87d5c58a972f4bac99fe112f05aff SHA512 630e8537bd80771fecc4c8216ec96e243654bd0b7bd006b6867baca4effab90bab4a922951661d4fc3ac2700c3bd7c0c40227b9eeee7dd5a87c07a6382055b04 -AUX lua-5.1.5-gentoo-build.patch 3108 BLAKE2B fae72673638387311749949840ce3df6f56763af6f5027c9f71c2262abdf3ed1cc2fe49fccb3ceef110584ac5034b1dceef03c773b68c12558b30c33ea6a10d4 SHA512 85165a0cae5f951d53741a7a07bc291bf16a4e575d82262b744ba177dfee54a91acc37000e17299f4f6a13acf8b611aac618e257b45e4f65012a9cf632ab4ab7 AUX lua-5.1.5-make.patch 3079 BLAKE2B cf9b72afd8e08ea23256364f321d49427661de8353f7655b9da3de1ef943125ae86cf1a7aab9f1c459e51063031eb1105b7703ad9e1aee90a848497b58addb12 SHA512 92a1c890e40a8bd621dad4a18fc890850027c4a5a239b8259ef3002ad4835a7a11069ca964a62a096cd651a688b60f5f261c1223e4ac7981e7a8bb43788634ff -AUX lua-5.1.5-readline.patch 638 BLAKE2B 9f15fc99ae7abaa6b99ed0e1daf45bc6c8d2980159e3f721d3ec415108c0b612091822c56177804a333dc0abe038229d5adcd8982e50712dcee4b493d8ff04e1 SHA512 0167466adde2827455587001c02ab1cedd3845b6646cd3ce58f85d808157c0d9320106a8055319c338640b4494152e0b494fe92943070d4cdbdfcc1cfd44c82e -AUX lua-5.2-make-r1.patch 2410 BLAKE2B e2c8607c96dcc89ee130aa2a24eb8ca3c0191902528fab1563f40f2c26a5c12c40b5c41679df6a5997821c0cf08ea87e12bbfe2ac09470ab93285255935eba14 SHA512 e34b41740e672ba3511569884fe053a2d71e197f6738f1c22f74f7ffc657cb7b91e6efe97374730a5f8f6e82419a30d3b96e9af0b3a66caf78c523a4493492b8 AUX lua-5.2.4-make.patch 2418 BLAKE2B 89f3f8d0222041200cee33079686d049800f74dd6d796205a4089f09a44884d0aa111d47203e778f80e5acdde1d56ad3f87c9a00fc832ec0e0f20d7b518e48c7 SHA512 0f9d7bd63ce6e9aeecd5286fc7069421e2a0e9cffd707d8af96dbce1c8c623084032480e3a16b69f28c44019f284a73390faf84a24e738273f556c5998a5d1e6 -AUX lua-5.3-make-r1.patch 2822 BLAKE2B 4b12793d85e28d69a871c946f48a4f7e3b326dc78167e7ed1c207fab77883bb47f845c24a08ababa69c146e60f548f0f6eb2ae8b70b670b540124ca4d3628485 SHA512 40692d71a7ca59d495f8af7969ccc295373e5b0993b67142c43dcb216d57893da41fcf7d1bc49382fc89986eedaaa0f7da6fe62b42e41ac450c30dfa6d4bcdec AUX lua-5.3.6-make.patch 2830 BLAKE2B 9d3ea717531d93d7f7618335f503528e629aa3582392c49e340b6909860a51e30371530ea06ef1ed81cc4bde4a294e1d6732662703f646a7a3f727159dc83fed SHA512 5d5f0a02f2e11cb7965702ffb2f65c0f19184ae4e27c28e57a100c35e8972e2fba419999af63b65b0f031880dda7851816cef126088ddb105b29d401d03e1132 -AUX lua-5.4-makefiles.patch 3187 BLAKE2B 22911f5fd5d26753e952cd435350cc120f7736a3a1fe4301d58265965c36a0d64a98af731f186b0374f7fb29f8a2ddcf3a95fc6746b3955295dc8e8a5425b62c SHA512 5df57cf6379f245f855423d6fee33d9e42f4100aa69d19bc9b608db7e7001ef3c9e74c81f97b9e74e8decd78c149bc4689d56008a1704054c6e416c892c362f3 AUX lua-5.4.2-make.patch 3179 BLAKE2B 68e9af77c2f5931234eefbe953ff127c3b32bdfa67917075435531d43672304e599e706dba2012cf6a13645803b611bee437f2f28137ed0daff9fdfc4afc4b79 SHA512 09cfcea9b736ef90d035a1d2bd7480b813edd99aa7c5ecd4b52a9fbd2bf479623db6045be89642bd3867b5ca143c5640c53a7d72951b33ab4832b9a6323a88b7 AUX lua.pc 658 BLAKE2B 580504c8162c9cbde35b4a817c688b955cad1a35b1c21ed527488eda6e7cf78dfa81fa8b100737cf9ad620d34d94eceec01ba09e4fab0b121c5e4c673677cd3f SHA512 cb476ea6dd004a9aa0094cfc219d1888c5f578b44968a960acf1f2f32783a8e4d770bb033fb1ab4851f225188bbdd434b5d239718cae2c2c35f5b5f124a722ca DIST lua-5.1.5.tar.gz 221213 BLAKE2B 915eb8e8c9d7e460eacf1d7a59309c60dfc0f5d9d3d76fbc9764e7cae85920b95096db1c27b69ac53378a145c29efde403e88166a1332a67150d9d3a897aba02 SHA512 0142fefcbd13afcd9b201403592aa60620011cc8e8559d4d2db2f92739d18186860989f48caa45830ff4f99bfc7483287fd3ff3a16d4dec928e2767ce4d542a9 @@ -36,9 +29,9 @@ DIST lua-5.3.4-tests.tar.gz 103438 BLAKE2B ac82708022e7729039111c3df4fe24302c8d0 DIST lua-5.3.6.tar.gz 303770 BLAKE2B 07c37c56f43095a4f6ca8eb8b3adf19afd53107c02b62b2bcb3619565cb2100d5f823493eef93092d5e312b30fc28885a6d9e8f0ba5a23b5bed86dc4515a5d61 SHA512 ccc380d5e114d54504de0bfb0321ca25ec325d6ff1bfee44b11870b660762d1a9bf120490c027a0088128b58bb6b5271bbc648400cab84d2dc22b512c4841681 DIST lua-5.4.2-tests.tar.gz 128901 BLAKE2B 10e4f0e8760f9cbd4761fa26665008ae7412539f79a6a7687029808f08f0ae4a24721e787e2e87e5080c16e9dcce8577a7a39ddc6d3e483a3cfe11756139594e SHA512 1516c59deca211c38444bbf97b18e988e939209b03915d3691d756eeed31b52e8d3a1f05b71ac0b561965274c7b6f3afc4244cd2e9069995696e737e2d9dd40b DIST lua-5.4.2.tar.gz 353472 BLAKE2B 7e0e642684df635ed1c48db45989e86a2638024e30a170addf700b0c7d32276f1eaef80898539c671039c20cb0bed4861b12c58f4b8211653a17e89bad278d87 SHA512 9454a6ffd973598f2f4a2399834c31c4d5090bd12e716776e3189aa57760319d114ee64a8338bbc2ef5e08150bf0adc2ad94a1b2677f38538a43359969d4d920 -EBUILD lua-5.1.5-r106.ebuild 4022 BLAKE2B 78c5c866d2a621be1bd3a7bd4cecac3bfe24a9dd097083fe8099d789de7b06772c80090e47a0ed5550c8afe30fa6ffdc4dc14c4e7b5c9bff029b5649a31269e5 SHA512 5e637ff9622b2ea0bee7e2d528a516edaa378cf50e84f51dc78bb7282502f8ae2fef2f5cd1d25f9ac0c937ffb6ce19f93eaacacddd05d3bf7b73a07ca1848b4f -EBUILD lua-5.1.5-r4.ebuild 3606 BLAKE2B d7e54c00e0604dd9f69143403d2bd58851266dee2ed8302ba89b44b7a290cc9d060852e234032fdaaa78908de6468ffa56e136174897658a669a2dc5fff4c165 SHA512 b87b4544134adec6089e0f73a71e3e337cfe5b40bae96eddf49e6c0f7ab9227adf0c085e355ed6b8bee85bd2a9b9978f27522e2cdfe57d3d67ce94ef28fbe9c5 +EBUILD lua-5.1.5-r106.ebuild 4021 BLAKE2B c963cad02da07ce2df5b73a06473548781d51cbfd948c877ababda33565af38d43f346848316fdcfeb9b05a2f0744dbaf7f6a6494aebff86a1c6bcb2162efbe2 SHA512 6c51056df47c13630c85a0d9b94bcedb0c488cd82c9056b6d75064edfe5660b21d22b76b43317a50c52d87209e9d193770317332ccdb2cabf6e874ee227e679d +EBUILD lua-5.1.5-r4.ebuild 3607 BLAKE2B d1618e4b5c2e7907927dce26fae6bca5dd1b468940c36cf97aa47368cbf5775441e395d467a49820d967a0d9703de3c3398d3974ecd536b6a2f5cc8881d8f959 SHA512 f6bebcdd4e4cb54b15c8124081dd9fb7915b4d920320f4e3bb4f3fe83cbd5dfcff0cd5085c06b3997361ccfa2347db298242a41ffedb77423d29c8380dea90c6 EBUILD lua-5.2.4-r3.ebuild 5761 BLAKE2B de71dc2127e1e3ddbf892f17f609d25075a09da46b5b9e4d7bd42eefbe863c3c7a0fe66367a6040aa14e3ec8bc0ca2625b4351520616cc7a879ed9dcd3c09c45 SHA512 55547dbc36a8009347d3325643fd4fdfdfc8bf39b12ea3e6317fb1357ebe4677bd6ec6142e4c1a6caf2716dd780e8817eb01514fdefa155b4b2fd7cc4622782e -EBUILD lua-5.3.6-r2.ebuild 5746 BLAKE2B cf62e338a46c1551ea5f148c0cc7482212a19172ba5e816e89b392efa59d1a8f6ac61913a258a53d23ff6e992c4413f26762867d4cdf3c4d4c21061fd00b3f73 SHA512 2d36a01e8187c82abee5f60dc5a8fce2a876ef91454ba36f64c26e2bbc98eb2d2d2b457c7b0ee0292a0f400cc87e05a7c84148918d2934fc390a28dcb98f2668 -EBUILD lua-5.4.2-r1.ebuild 5686 BLAKE2B 58b165547c3f603939f1e2a62921e2c66ce334073b914ef446ef8b17925ed913f16522ad2686a429a0771ea816afb3919018ac875008b773b067a641a5696ec0 SHA512 68296cc3d7d716ed19a1dcd69ca4eed79c2bc48830420ed7d6cab4a9dff4e03fa063a9bc44f03d55774b4f6c4425f97b61d1c8ab367e76779c312dc5449c884f +EBUILD lua-5.3.6-r2.ebuild 5745 BLAKE2B cdd11a3e0856f3d7523b7194105c9176cd8be98540f8365f9ca05aeffe19c2d762b4af0c45082da9a1beeedae62a6bbb969322cfea45ec105f98de8b6f4c4f6a SHA512 0adb76325bc8d939e23fe321abde0a4b158ce6c234b9eb4d3f8c11422e5855f828de45a0cd25283f7c104234e0bcc5dccac7574c9cceef5a8e3a89f78b5f00a0 +EBUILD lua-5.4.2-r1.ebuild 5685 BLAKE2B fa8823d2d6cdb7089f3107f17cf490f644dee154f419176e9836ec045bc4994e220567b839ab9676a8f7070248a33021f554ba18844eb6394c05d444eca1d210 SHA512 6e8a14ee45612db2c20083330828ccc5bec232e53814d8e6b57b08810e480d004d8cd2dc6d3749ff7b93ed5d595eb8eace4705d3b9ae7b74b81b89cb8731bc58 MISC metadata.xml 524 BLAKE2B 688341a9dfa433bbc2e3fc1edb8a44d53dcee036afeb5b2c7c8fbfa0f81d1e53a6c7910b32bec637ad1cd518e48afdd0806a286dadbb6c7a88853a93aa7f3545 SHA512 92ee6e13c3fcc5ba1d2cf3ec58a54b051f1fae8646b64fae25923108a78abc77b05992abbed5a04afbc2043ea0b47749544e348506ab554d57b19bcf3b435e52 diff --git a/dev-lang/lua/files/lua-5.1-make-r2.patch b/dev-lang/lua/files/lua-5.1-make-r2.patch deleted file mode 100644 index 2905a62d0f9e..000000000000 --- a/dev-lang/lua/files/lua-5.1-make-r2.patch +++ /dev/null @@ -1,97 +0,0 @@ -diff -ru lua-5.1.5.orig/Makefile lua-5.1.5/Makefile ---- lua-5.1.5.orig/Makefile 2014-04-15 17:43:34.845435031 +0200 -+++ lua-5.1.5/Makefile 2014-04-15 19:05:08.669304987 +0200 -@@ -11,7 +11,7 @@ - # so take care if INSTALL_TOP is not an absolute path. - INSTALL_TOP= /usr/local - INSTALL_BIN= $(INSTALL_TOP)/bin --INSTALL_INC= $(INSTALL_TOP)/include -+INSTALL_INC= $(INSTALL_TOP)/include/lua$V - INSTALL_LIB= $(INSTALL_TOP)/lib - INSTALL_MAN= $(INSTALL_TOP)/man/man1 - # -@@ -126,3 +126,21 @@ - .PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho - - # (end of Makefile) -+ -+# Use libtool for binary installs, etc. -+ -+export V -+export LIBTOOL = libtool --quiet --tag=CC -+# See libtool manual about how to set this -+ -+gentoo_clean: -+ cd src; $(MAKE) $@ -+ -+gentoo_test: gentoo_linux -+ test/lua.static test/hello.lua -+ -+gentoo_install: -+ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) -+ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua$V luac$V $(INSTALL_BIN) -+ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) -+ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua$V.la $(INSTALL_LIB) -diff -ru lua-5.1.5.orig/src/Makefile lua-5.1.5/src/Makefile ---- lua-5.1.5.orig/src/Makefile 2014-04-15 17:43:34.844435031 +0200 -+++ lua-5.1.5/src/Makefile 2014-04-15 18:07:21.427397122 +0200 -@@ -29,10 +29,10 @@ - LIB_O= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \ - lstrlib.o loadlib.o linit.o - --LUA_T= lua -+LUA_T= lua$V - LUA_O= lua.o - --LUAC_T= luac -+LUAC_T= luac$V - LUAC_O= luac.o print.o - - ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) -@@ -51,10 +51,10 @@ - $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files - $(RANLIB) $@ - --$(LUA_T): $(LUA_O) $(LUA_A) -+origin$(LUA_T): $(LUA_O) $(LUA_A) - $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) - --$(LUAC_T): $(LUAC_O) $(LUA_A) -+origin$(LUAC_T): $(LUAC_O) $(LUA_A) - $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) - - clean: -@@ -180,3 +180,33 @@ - ltm.h lzio.h lmem.h lopcodes.h lundump.h - - # (end of Makefile) -+ -+export LIBTOOL = libtool --tag=CC -+export LIB_VERSION = 5:1:5 -+ -+# The following rules use libtool for compiling and linking in order to -+# provide shared library support. -+ -+LIB_NAME = liblua$V.la -+LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo) -+ -+%.lo %.o: %.c -+ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< -+ -+$(LIB_NAME): $(LIB_OBJS) -+ $(LIBTOOL) --mode=link $(CC) -version-info 0:0:0 \ -+ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS) -+ -+$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME) -+ $(LIBTOOL) --mode=link $(CC) -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS) -+ -+lua_test: $(LUA_O:.o=.lo) $(LIB_NAME) -+ $(LIBTOOL) --mode=link $(CC) -static -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS) -+ -+$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME) -+ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME) -+ -+gentoo_clean: -+ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua$V luac$V -+ -+gentoo_all: $(LIB_NAME) $(LUA_T) lua_test $(LUAC_T) diff --git a/dev-lang/lua/files/lua-5.1.5-disable-deprecated.patch b/dev-lang/lua/files/lua-5.1.5-disable-deprecated.patch deleted file mode 100644 index d1d7fb10115f..000000000000 --- a/dev-lang/lua/files/lua-5.1.5-disable-deprecated.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff -rdu old/src/luaconf.h new/src/luaconf.h ---- old/src/luaconf.h 2008-02-12 17:00:03.000000000 +0000 -+++ new/src/luaconf.h 2008-02-12 17:07:55.000000000 +0000 -@@ -340,14 +340,14 @@ - ** CHANGE it to undefined as soon as your programs use only '...' to - ** access vararg parameters (instead of the old 'arg' table). - */ --#define LUA_COMPAT_VARARG -+#undef LUA_COMPAT_VARARG - - /* - @@ LUA_COMPAT_MOD controls compatibility with old math.mod function. - ** CHANGE it to undefined as soon as your programs use 'math.fmod' or - ** the new '%' operator instead of 'math.mod'. - */ --#define LUA_COMPAT_MOD -+#undef LUA_COMPAT_MOD - - /* - @@ LUA_COMPAT_LSTR controls compatibility with old long string nesting -@@ -355,14 +355,14 @@ - ** CHANGE it to 2 if you want the old behaviour, or undefine it to turn - ** off the advisory error when nesting [[...]]. - */ --#define LUA_COMPAT_LSTR 1 -+#undef LUA_COMPAT_LSTR - - /* - @@ LUA_COMPAT_GFIND controls compatibility with old 'string.gfind' name. - ** CHANGE it to undefined as soon as you rename 'string.gfind' to - ** 'string.gmatch'. - */ --#define LUA_COMPAT_GFIND -+#undef LUA_COMPAT_GFIND - - /* - @@ LUA_COMPAT_OPENLIB controls compatibility with old 'luaL_openlib' -@@ -370,7 +370,7 @@ - ** CHANGE it to undefined as soon as you replace to 'luaL_register' - ** your uses of 'luaL_openlib' - */ --#define LUA_COMPAT_OPENLIB -+#undef LUA_COMPAT_OPENLIB - - - -diff -rdu old/test/sieve.lua new/test/sieve.lua -Rename deprecated functions in test scripts ---- old/test/sieve.lua~ 2002-10-31 03:52:58.000000000 +0100 -+++ new/test/sieve.lua 2008-02-20 17:44:22.468281121 +0100 -@@ -14,7 +14,7 @@ - while 1 do - local n = g() - if n == nil then return end -- if math.mod(n, p) ~= 0 then coroutine.yield(n) end -+ if math.fmod(n, p) ~= 0 then coroutine.yield(n) end - end - end) - end diff --git a/dev-lang/lua/files/lua-5.1.5-gentoo-build.patch b/dev-lang/lua/files/lua-5.1.5-gentoo-build.patch deleted file mode 100644 index 62c4ed33648d..000000000000 --- a/dev-lang/lua/files/lua-5.1.5-gentoo-build.patch +++ /dev/null @@ -1,118 +0,0 @@ ---- old/Makefile 2012-02-10 10:50:23.000000000 +0100 -+++ new/Makefile 2019-07-12 12:00:30.807725876 +0200 -@@ -22,7 +22,8 @@ - - # How to install. If your install program does not support "-p", then you - # may have to run ranlib on the installed liblua.a (do "make ranlib"). --INSTALL= install -p -+INSTALL?= install -p -+INSTALL_LINK= ln -s - INSTALL_EXEC= $(INSTALL) -m 0755 - INSTALL_DATA= $(INSTALL) -m 0644 - # -@@ -33,7 +34,7 @@ - - # Utilities. - MKDIR= mkdir -p --RANLIB= ranlib -+RANLIB?= ranlib - - # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= - -@@ -47,13 +48,17 @@ - TO_MAN= lua.1 luac.1 - - # Lua version and release. -+M= 5 - V= 5.1 - R= 5.1.5 - -+# Export to sub-make -+export M R -+ - all: $(PLAT) - - $(PLATS) clean: -- cd src && $(MAKE) $@ -+ cd src && $(MKDIR) .libs && $(MAKE) $@ - - test: dummy - src/lua test/hello.lua -@@ -61,6 +66,8 @@ - install: dummy - cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) - cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) -+ cd src && $(INSTALL_EXEC) $(TO_LIB:.a=.so.$(R)) $(INSTALL_LIB) -+ cd src && $(INSTALL_LINK) $(TO_LIB:.a=.so.$(R)) $(INSTALL_LIB)/$(TO_LIB:.a=.so.$(M)) - cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) - cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) - cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) ---- old/src/Makefile 2012-02-13 21:41:22.000000000 +0100 -+++ new/src/Makefile 2019-07-12 11:31:02.945290602 +0200 -@@ -7,12 +7,14 @@ - # Your platform. See PLATS for possible values. - PLAT= none - --CC= gcc --CFLAGS= -O2 -Wall $(MYCFLAGS) --AR= ar rcu --RANLIB= ranlib -+CC?= gcc -+CFLAGS?= -O2 -Wall $(MYCFLAGS) -+SOFLAGS= -shared -fPIC -DPIC -Wl,-O1 -Wl,--as-needed -Wl,-soname -Wl,$(LUA_A:.a=.so.$(M)) $(MYLDFLAGS) -+AR?= ar -+ARFLAGS?= rcu -+RANLIB?= ranlib - RM= rm -f --LIBS= -lm $(MYLIBS) -+LIBS?= -lm $(MYLIBS) - - MYCFLAGS= - MYLDFLAGS= -@@ -35,8 +37,11 @@ - LUAC_T= luac - LUAC_O= luac.o print.o - --ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) --ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) -+LUAS_T= $(LUA_A:.a=.so.$(R)) -+LUAS_O= $(addprefix .libs/,$(CORE_O) $(LIB_O) $(LUA_O)) -+ -+ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) $(LUAS_O) -+ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUAS_T) - ALL_A= $(LUA_A) - - default: $(PLAT) -@@ -48,9 +53,12 @@ - a: $(ALL_A) - - $(LUA_A): $(CORE_O) $(LIB_O) -- $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files -+ $(AR) $(ARFLAGS) $@ $(CORE_O) $(LIB_O) # DLL needs all object files - $(RANLIB) $@ - -+$(LUAS_T): $(LUAS_O) -+ $(CC) -o $@ $(SOFLAGS) $(LUAS_O) $(LIBS) -+ - $(LUA_T): $(LUA_O) $(LUA_A) - $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) - -@@ -67,7 +75,7 @@ - @echo "PLAT = $(PLAT)" - @echo "CC = $(CC)" - @echo "CFLAGS = $(CFLAGS)" -- @echo "AR = $(AR)" -+ @echo "AR = $(AR) $(ARFLAGS)" - @echo "RANLIB = $(RANLIB)" - @echo "RM = $(RM)" - @echo "MYCFLAGS = $(MYCFLAGS)" -@@ -120,6 +128,9 @@ - - # DO NOT DELETE - -+.libs/%o: %c -+ $(CC) $(CFLAGS) -fPIC -DPIC -c -o $@ $< -+ - lapi.o: lapi.c lua.h luaconf.h lapi.h lobject.h llimits.h ldebug.h \ - lstate.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h \ - lundump.h lvm.h diff --git a/dev-lang/lua/files/lua-5.1.5-readline.patch b/dev-lang/lua/files/lua-5.1.5-readline.patch deleted file mode 100644 index 2b5221a8ab48..000000000000 --- a/dev-lang/lua/files/lua-5.1.5-readline.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- old/src/luaconf.h 2006-04-10 20:27:23.000000000 +0200 -+++ new/src/luaconf.h 2006-11-15 14:53:07.000000000 +0100 -@@ -36,7 +36,6 @@ - #if defined(LUA_USE_LINUX) - #define LUA_USE_POSIX - #define LUA_USE_DLOPEN /* needs an extra library: -ldl */ --#define LUA_USE_READLINE /* needs some extra libraries */ - #endif - - #if defined(LUA_USE_MACOSX) ---- old/src/Makefile 2012-02-13 21:41:22.000000000 +0100 -+++ old/src/Makefile 2019-07-09 09:53:00.000000000 +0100 -@@ -98,3 +98,3 @@ - linux: -- $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses" -+ $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl" - diff --git a/dev-lang/lua/files/lua-5.2-make-r1.patch b/dev-lang/lua/files/lua-5.2-make-r1.patch deleted file mode 100644 index c65f799c0dcc..000000000000 --- a/dev-lang/lua/files/lua-5.2-make-r1.patch +++ /dev/null @@ -1,75 +0,0 @@ ---- lua-5.1.1.orig/Makefile 2006-06-02 12:53:38.000000000 +0200 -+++ lua-5.1.1/Makefile 2006-11-16 02:16:53.000000000 +0100 -@@ -11,7 +11,7 @@ - # so take care if INSTALL_TOP is not an absolute path. - INSTALL_TOP= /usr/local - INSTALL_BIN= $(INSTALL_TOP)/bin --INSTALL_INC= $(INSTALL_TOP)/include -+INSTALL_INC= $(INSTALL_TOP)/include/lua$V - INSTALL_LIB= $(INSTALL_TOP)/lib - INSTALL_MAN= $(INSTALL_TOP)/man/man1 - # -@@ -127,3 +127,18 @@ - .PHONY: all $(PLATS) clean install local none dummy echo pecho lecho newer - - # (end of Makefile) -+ -+# Use libtool for binary installs, etc. -+ -+export V -+export LIBTOOL = libtool --quiet --tag=CC -+# See libtool manual about how to set this -+ -+gentoo_clean: -+ cd src; $(MAKE) $@ -+ -+gentoo_install: -+ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) -+ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua$V luac$V $(INSTALL_BIN) -+ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) -+ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua$V.la $(INSTALL_LIB) ---- lua-5.1.1.orig/src/Makefile 2006-03-22 01:41:49.000000000 +0100 -+++ lua-5.1.1/src/Makefile 2006-11-16 02:10:27.000000000 +0100 -@@ -39,1 +39,1 @@ --LUA_T= lua -+LUA_T= lua$V -@@ -42,1 +42,1 @@ --LUAC_T= luac -+LUAC_T= luac$V -@@ -54,1 +54,1 @@ --$(LUA_T): $(LUA_O) $(LUA_A) -+origin$(LUA_T): $(LUA_O) $(LUA_A) -@@ -57,1 +57,1 @@ --$(LUAC_T): $(LUAC_O) $(LUA_A) -+origin$(LUAC_T): $(LUAC_O) $(LUA_A) -@@ -185,3 +185,30 @@ - lzio.o: lzio.c lua.h luaconf.h llimits.h lmem.h lstate.h lobject.h ltm.h \ - lzio.h - -+ -+export LIBTOOL = libtool --quiet --tag=CC -+export LIB_VERSION = 6:1:1 -+ -+# The following rules use libtool for compiling and linking in order to -+# provide shared library support. -+ -+LIB_NAME = liblua$V.la -+LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo) -+ -+%.lo %.o: %.c -+ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< -+ -+$(LIB_NAME): $(LIB_OBJS) -+ $(LIBTOOL) --mode=link $(CC) -version-info $(LIB_VERSION) \ -+ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS) -+ -+$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME) -+ $(LIBTOOL) --mode=link $(CC) -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS) -+ -+$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME) -+ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME) -+ -+gentoo_clean: -+ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua$V luac$V -+ -+gentoo_all: $(LIB_NAME) $(LUA_T) $(LUAC_T) diff --git a/dev-lang/lua/files/lua-5.3-make-r1.patch b/dev-lang/lua/files/lua-5.3-make-r1.patch deleted file mode 100644 index d27eb9938ea0..000000000000 --- a/dev-lang/lua/files/lua-5.3-make-r1.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff -uNr lua-5.3.3.orig/Makefile lua-5.3.3/Makefile ---- lua-5.3.3.orig/Makefile 2016-12-04 22:29:54.839135901 +0100 -+++ lua-5.3.3/Makefile 2016-12-04 22:31:14.235851109 +0100 -@@ -12,7 +12,7 @@ - # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h. - INSTALL_TOP= /usr/local - INSTALL_BIN= $(INSTALL_TOP)/bin --INSTALL_INC= $(INSTALL_TOP)/include -+INSTALL_INC= $(INSTALL_TOP)/include/lua$V - INSTALL_LIB= $(INSTALL_TOP)/lib - INSTALL_MAN= $(INSTALL_TOP)/man/man1 - INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V -@@ -112,3 +112,18 @@ - .PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho - - # (end of Makefile) -+ -+# Use libtool for binary installs, etc. -+ -+export V -+export LIBTOOL = libtool --quiet --tag=CC -+# See libtool manual about how to set this -+ -+gentoo_clean: -+ cd src; $(MAKE) $@ -+ -+gentoo_install: -+ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) -+ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua$V luac$V $(INSTALL_BIN) -+ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) -+ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua$V.la $(INSTALL_LIB) -diff -uNr lua-5.3.3.orig/src/Makefile lua-5.3.3/src/Makefile ---- lua-5.3.3.orig/src/Makefile 2016-12-04 22:29:54.840135910 +0100 -+++ lua-5.3.3/src/Makefile 2016-12-04 22:34:55.980848068 +0100 -@@ -36,10 +36,10 @@ - lmathlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o loadlib.o linit.o - BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) - --LUA_T= lua -+LUA_T= lua$V - LUA_O= lua.o - --LUAC_T= luac -+LUAC_T= luac$V - LUAC_O= luac.o - - ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) -@@ -59,10 +59,10 @@ - $(AR) $@ $(BASE_O) - $(RANLIB) $@ - --$(LUA_T): $(LUA_O) $(LUA_A) -+origin$(LUA_T): $(LUA_O) $(LUA_A) - $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) - --$(LUAC_T): $(LUAC_O) $(LUA_A) -+origin$(LUAC_T): $(LUAC_O) $(LUA_A) - $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) - - clean: -@@ -195,3 +195,30 @@ - lobject.h ltm.h lzio.h - - # (end of Makefile) -+ -+export LIBTOOL = libtool --quiet --tag=CC -+export LIB_VERSION = 6:1:1 -+ -+# The following rules use libtool for compiling and linking in order to -+# provide shared library support. -+ -+LIB_NAME = liblua$V.la -+LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo) -+ -+%.lo %.o: %.c -+ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< -+ -+$(LIB_NAME): $(LIB_OBJS) -+ $(LIBTOOL) --mode=link $(CC) -version-info $(LIB_VERSION) \ -+ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS) -+ -+$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME) -+ $(LIBTOOL) --mode=link $(CC) -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS) -+ -+$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME) -+ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME) -+ -+gentoo_clean: -+ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua$V luac$V -+ -+gentoo_all: $(LIB_NAME) $(LUA_T) $(LUAC_T) diff --git a/dev-lang/lua/files/lua-5.4-makefiles.patch b/dev-lang/lua/files/lua-5.4-makefiles.patch deleted file mode 100644 index 67fb4ad1a339..000000000000 --- a/dev-lang/lua/files/lua-5.4-makefiles.patch +++ /dev/null @@ -1,99 +0,0 @@ -diff --git a/Makefile b/Makefile -index 1797df9..90284d8 100644 ---- a/Makefile -+++ b/Makefile -@@ -10,11 +10,11 @@ PLAT= guess - # so take care if INSTALL_TOP is not an absolute path. See the local target. - # You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with - # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h. --INSTALL_TOP= /usr/local -+INSTALL_TOP= /usr - INSTALL_BIN= $(INSTALL_TOP)/bin --INSTALL_INC= $(INSTALL_TOP)/include -+INSTALL_INC= $(INSTALL_TOP)/include/lua$V - INSTALL_LIB= $(INSTALL_TOP)/lib --INSTALL_MAN= $(INSTALL_TOP)/man/man1 -+INSTALL_MAN= $(INSTALL_TOP)/share/man/man1 - INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V - INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V - -@@ -104,3 +104,18 @@ pc: - .PHONY: all $(PLATS) help test clean install uninstall local dummy echo pc - - # (end of Makefile) -+ -+# Use libtool for binary installs, etc. -+ -+export V -+export LIBTOOL = $(BROOT)/usr/bin/libtool --quiet --tag=CC -+# See libtool manual about how to set this -+ -+gentoo_clean: -+ cd src; $(MAKE) $@ -+ -+gentoo_install: -+ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) -+ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua$V luac$V $(INSTALL_BIN) -+ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) -+ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua$V.la $(INSTALL_LIB) -diff --git a/src/Makefile b/src/Makefile -index 514593d..8af8f99 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -37,10 +37,10 @@ CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem - LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o - BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) - --LUA_T= lua -+LUA_T= lua$V - LUA_O= lua.o - --LUAC_T= luac -+LUAC_T= luac$V - LUAC_O= luac.o - - ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) -@@ -60,10 +60,10 @@ $(LUA_A): $(BASE_O) - $(AR) $@ $(BASE_O) - $(RANLIB) $@ - --$(LUA_T): $(LUA_O) $(LUA_A) -+origin$(LUA_T): $(LUA_O) $(LUA_A) - $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) - --$(LUAC_T): $(LUAC_O) $(LUA_A) -+origin$(LUAC_T): $(LUAC_O) $(LUA_A) - $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) - - test: -@@ -218,3 +218,30 @@ lzio.o: lzio.c lprefix.h lua.h luaconf.h llimits.h lmem.h lstate.h \ - lobject.h ltm.h lzio.h - - # (end of Makefile) -+ -+export LIBTOOL = $(BROOT)/usr/bin/libtool --quiet --tag=CC -+export LIB_VERSION = 6:1:1 -+ -+# The following rules use libtool for compiling and linking in order to -+# provide shared library support. -+ -+LIB_NAME = liblua$V.la -+LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo) -+ -+%.lo %.o: %.c -+ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< -+ -+$(LIB_NAME): $(LIB_OBJS) -+ $(LIBTOOL) --mode=link $(CC) -version-info $(LIB_VERSION) \ -+ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS) -+ -+$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME) -+ $(LIBTOOL) --mode=link $(CC) -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS) -+ -+$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME) -+ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME) -+ -+gentoo_clean: -+ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua$V luac$V -+ -+gentoo_all: $(LIB_NAME) $(LUA_T) $(LUAC_T) diff --git a/dev-lang/lua/lua-5.1.5-r106.ebuild b/dev-lang/lua/lua-5.1.5-r106.ebuild index 7da97a9910c4..eed2660a7619 100644 --- a/dev-lang/lua/lua-5.1.5-r106.ebuild +++ b/dev-lang/lua/lua-5.1.5-r106.ebuild @@ -10,7 +10,7 @@ SRC_URI="https://www.lua.org/ftp/${P}.tar.gz" LICENSE="MIT" SLOT="5.1" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+deprecated readline" COMMON_DEPEND=" diff --git a/dev-lang/lua/lua-5.1.5-r4.ebuild b/dev-lang/lua/lua-5.1.5-r4.ebuild index e483e2022778..6ea86a3082cf 100644 --- a/dev-lang/lua/lua-5.1.5-r4.ebuild +++ b/dev-lang/lua/lua-5.1.5-r4.ebuild @@ -11,7 +11,7 @@ SRC_URI="http://www.lua.org/ftp/${P}.tar.gz" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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}] )" diff --git a/dev-lang/lua/lua-5.3.6-r2.ebuild b/dev-lang/lua/lua-5.3.6-r2.ebuild index b6b2375e5e19..c8c7115635eb 100644 --- a/dev-lang/lua/lua-5.3.6-r2.ebuild +++ b/dev-lang/lua/lua-5.3.6-r2.ebuild @@ -14,7 +14,7 @@ SRC_URI=" LICENSE="MIT" SLOT="5.3" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+deprecated readline test test-complete" COMMON_DEPEND=" diff --git a/dev-lang/lua/lua-5.4.2-r1.ebuild b/dev-lang/lua/lua-5.4.2-r1.ebuild index d1d1b431e953..d67a54a5a603 100644 --- a/dev-lang/lua/lua-5.4.2-r1.ebuild +++ b/dev-lang/lua/lua-5.4.2-r1.ebuild @@ -14,7 +14,7 @@ SRC_URI=" LICENSE="MIT" SLOT="5.4" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+deprecated readline test test-complete" COMMON_DEPEND=" diff --git a/dev-lang/mujs/Manifest b/dev-lang/mujs/Manifest index 26a779d40fec..a8ab098e5e19 100644 --- a/dev-lang/mujs/Manifest +++ b/dev-lang/mujs/Manifest @@ -1,4 +1,4 @@ AUX mujs-1.0.5-flags.patch 839 BLAKE2B 843d1bf60167dfb91a5736ee936098c8f6b716f7a70118512d102adb3dc00223d5a3f1fb8da3a57b89797d5b26ebf8120cc1ef2013162aeff288be07cb99d99f SHA512 35681b868e129edffe27e41b793ef073b9ebeb5842212116f9740257515a3fb0d2f00d828a72d96b630c7632184ff9340325a5d79503e5a4c5a52892bd26f4bd DIST mujs-1.0.9.tar.gz 123113 BLAKE2B c55deaf14508c412394bf5fe3a53ef581d4e4726024d65f2ba5155eb2400a6e2f043c9f6721b170d19297e2cd38c62c462f3b4e102eb4bfe6e7857b40156c18b SHA512 a3dbc8dbf5c16b7de9803954fe38ea9f77c0e5b7de3895966ec0877e063d463c9950499791ea0d102e464bd0426413689f3edb15e38db3f13915d72f27556725 -EBUILD mujs-1.0.9.ebuild 1372 BLAKE2B 358969801e158b9b98be84e1f416e3d8876730a25fc6b584fa5965bbc0d8ed0b9040555364f97bb7511668bafb45e5c6be3b6f73f0a71e97305e3b9237c86c64 SHA512 24af90456ff6aae04cc20ff6a8060145742ba53dd1b633eb423f693460e7fad259a29ae5ac9a6007dde944845cfec8fab18c6bb1cc3d5e6bc5fa671a92218a44 +EBUILD mujs-1.0.9.ebuild 1367 BLAKE2B da737815523e53241a5bbe38c36b172cb01ca99a5d45961374124b63b207f9ee3482e33cd5bd114774b9b4c25aa17a48cd60a5d5e6a516b7df3993c2d95c75f1 SHA512 acc4b05e6e5a737831f96e959e706a6f49abd72addc2d274bc596fe79777cad755e88df78512bc1bfab22fdd6325047b8e5f2ce85c8d545d9108cecbccee6759 MISC metadata.xml 547 BLAKE2B fcf818d9a103347b5b47f7b7c77654e84db6aa2a8dd12f169d58522cb47a455f02f0bf66fc85057a2a10916c4a24dcdca87a5f2e12c54d184ea8d5af1db65810 SHA512 e6bac32e74df77c2ded4e9a9e6200ab76e06217b9a236d6bf5f0df23a031eab2519f26e3d402ff106f9506a4dbe3baf66cae5f961f6d016e7c42fe83fc532799 diff --git a/dev-lang/mujs/mujs-1.0.9.ebuild b/dev-lang/mujs/mujs-1.0.9.ebuild index 86fdb839d116..0761367df73f 100644 --- a/dev-lang/mujs/mujs-1.0.9.ebuild +++ b/dev-lang/mujs/mujs-1.0.9.ebuild @@ -6,10 +6,7 @@ EAPI=7 inherit flag-o-matic toolchain-funcs DESCRIPTION="An embeddable Javascript interpreter in C." -HOMEPAGE=" - https://mujs.com/ - https://github.com/ccxvii/mujs/ -" +HOMEPAGE="https://mujs.com/ https://github.com/ccxvii/mujs" SRC_URI="https://github.com/ccxvii/mujs/archive/${PV}.tar.gz -> ${P}.tar.gz" # Not available right now. #SRC_URI="https://mujs.com/downloads/${P}.tar.xz" diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index a790df639f32..637c074570df 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -12,5 +12,5 @@ EBUILD perl-5.30.3-r1.ebuild 20690 BLAKE2B 036c53922ed6247d01828cf6ce7f47be06877 EBUILD perl-5.30.3-r2.ebuild 26146 BLAKE2B e0756d8250acfd3dbbdeac414f2515270820a091a10dca4d59e1912c85d855b439558d25bf09420dd62e9c3a0dd204a87717fd24fbc4f29858bc15047bdf7a42 SHA512 e7ae782d61a1d841a6dd6138ff56109ba07a9e81ab1a9cbb4e7b4faf4c439766c646ababcc2f726a12cadcd3532c9d09b7f80cb5c95e0b3a1a39674f96edca29 EBUILD perl-5.30.3.ebuild 20131 BLAKE2B 2857fa2e63c9245dcd3b2683258313dc6e2ff1eab768a2e26a6c942f2b43753b8b26e47a54bc538747500d730d66e03177cc4ea9ce145d160c2e2d0f333ae3b7 SHA512 46d0f78a965df0945c14ac75e203e6957e54542b04de688cabd722402c6494c5583f95842de91510722c26e58345e6c3afca53848d239965629ed2eacc240d08 EBUILD perl-5.32.0-r1.ebuild 25913 BLAKE2B a97f41da180ee9e0beeb163ffbbc1c1f944d8dae32954603c9a3a9bf24d9623db6146b8440917dc891ce24ddb41c6c782e04630e4cfa68649f526d7a3e57def3 SHA512 1223ca91df30ccdc247f8a9659376e4407920c1223753b00da91859935117f5361c128b3b1f5d38596f70a4d0ec0e6e6fda58f1b135525c67183fe906bbb2cd4 -EBUILD perl-5.32.1.ebuild 25913 BLAKE2B 671a1ae478d5c305a0cfc575fe901c8352dc6e8c15f00a377fd3ce3cc8c9b2befee921d90fe818aad15abed9878f1ca40346b7f2724fb2e9cb693d46763515dc SHA512 cb8dfcff56c8efa78de8b974bbdb409598b0cebdf9b30a88496d1a25c65bba60ae9e05ce5baa813c75186e8ccd6ae8f983506ae689daf85004ee59784224832a +EBUILD perl-5.32.1.ebuild 25766 BLAKE2B fdb6aa92e7f88c273d918cc11ddf964ce9baa4b832c5dc7f6f2d68d1cfc6ee5121ba665747f6550192ddb4d3fe4c76be67809db333ccf6a4ace34b1022fe0048 SHA512 21b9d98f4166472dc869f8ef680fd09635e78a5b6e69fe5d042430e362ec25852e045e615dfced0e3fdf3328ee5445c337eb06050e55356b7410a4a8ed6892a0 MISC metadata.xml 430 BLAKE2B 8625fd07f63a7943a85c3919d6ae6db622b752caa2803c56c72a22b270244261331fbab8b760e6d00acb8480770c9ef1d1beaaa22cc6044660821687c0cd8c33 SHA512 ca4c43e2016b7df707894713465700a90d2b8551b57fc4d660cff75edb1e8cc2456f9ae10431839ad6738f290d4f5911fae360eaa1d4670859d855de3d568583 diff --git a/dev-lang/perl/perl-5.32.1.ebuild b/dev-lang/perl/perl-5.32.1.ebuild index 73933f140243..3ea84ece3b9a 100644 --- a/dev-lang/perl/perl-5.32.1.ebuild +++ b/dev-lang/perl/perl-5.32.1.ebuild @@ -427,10 +427,6 @@ src_prepare() { if [[ ${CHOST} == *-darwin* ]] ; then # fix install_name (soname) not to reference $D sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die - - # Upstreamed, but not in this version. - # Need to recognise macOS 11 / 10.16. #757249 - eapply "${FILESDIR}/${PN}-5.30.3-darwin-macos11.patch" fi default diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index dceb4c5973cd..b9f474683e2f 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -9,18 +9,24 @@ AUX php-iodbc-header-location.patch 481 BLAKE2B 9ea6a5d529dc7a8c78eeee800900372b DIST php-7.2.34.tar.xz 12309432 BLAKE2B 50522786d39296bc7411931c4f357d53c7a25da264192a6a6e7f7594f3dee108e22974e00a4bdc4d3af269ab63d07b28045ff6b4f4f0c79672ed059882647b93 SHA512 7ecc3de3b5db41ec4ff6a5ce6c7e77dc330753c6f3fd87db4d07d6bb763a0b047e83afeef2251b4c6a5d2ff53fd9f3d7e99d091ef2e2c6ab8f18db7447d8a97d DIST php-7.3.25.tar.xz 12136668 BLAKE2B b9bfb1de15a3f02bf5d228a2cf9b307c9eeadaea10cac22d40647db0147f4f93b41858ea4affa0701478dd397f0a87cae4e2f29a378f7c6730fdf7da5c48e0e8 SHA512 30b27deab12cf2544671afbbdaefd4bfea308eeed8e9c2150751c5bc9ece18d981bcc020eace35cbdbe88b45cffba8a1fca718fc4e74c3a7903d8b038015d31e DIST php-7.3.26.tar.xz 12138088 BLAKE2B eb0090d1edff251341a9d7668a9a6d9ad2f45f7db902e7a51b133d77b0ac155248643ea2bb5fb68b9ba5f363bfdecf1db58dc41b78e5ae24ad66e4443f7c607e SHA512 36494c7907adf75378bcd2c8e5a4761271307d2b507df09c35b8f1114d189320bc7e73f1b05cb171aa93209dc2c3026256f7826e5563f13b99f1b4dbe9741732 +DIST php-7.3.27.tar.xz 12137924 BLAKE2B f4648fdc2b8903ce1b68221eeb49e7764c5446a3d0d0d93e9cd2d8b4cb08e57229261f6fac4ebf35127e94afd5f157ec8f27659ce463e281784c755a3759481e SHA512 a5c186663d656b473f6165b433077057972b1454013ca0f99831be61bd7b7f1c841b8dae69951fa371f678ea3f0e5410518427ee08cb20611bfc00f263d4d47a DIST php-7.4.13.tar.xz 10319848 BLAKE2B c1da97eb605f1fc2b36190bfe92feb1fd527f4aaf1483865561a08cf990e70445f5520c8abcea7d9c6482dc47e500507644e0cd2cc756cfa99adfec0359cd795 SHA512 3525f4fd4ea6d97ed75ed8360d2a851e8577c09247ae3c6eb7e7b43265ee418297d91c1022bf5bbb64d1eecdebbbc2e0f6d42b560f584a741b475db2c6897ea7 DIST php-7.4.14.tar.xz 10326868 BLAKE2B 59099de517b276171539242332c7847b945c97ad73d82ad7555aa6eb37ea2fd923a554c715ddcc730a9b224af7878dfd373bb238a3611ba505eb26213397076d SHA512 5c48874d1e78d83297e98773089993ee3c8a7cdd8a611afc536eed8bc91cc4b2b492e1940923ccb7fe2dd039732082e568191e64923b74d4fc80362fbd06e6b7 +DIST php-7.4.15.tar.xz 10332360 BLAKE2B 3217378a2fa9e3cd030f585696ac48c50bf4f2509401276783ceb3c757155fb4a06dde8fbb93588e96b16f1f8bbcb32337f58a31c2c0c2009d3659136453c4e1 SHA512 51a815852c08518d6706fc719e3bafd214889580cc5ca0e5049ae7e8f6173e83b9486bc9a69afd1ea4ab1778bb2879bd917595cd04cbcc50b182a10230f08175 DIST php-8.0.0.tar.xz 10726788 BLAKE2B 16c4aa075ba5dee6d47086323cd152b33dc7b62ac6b3ab6637ec386c1048e256a160d72e72cbc88450af1e84389042ebf2d644d3361c9a34879cc494d5b9b64f SHA512 65630940c95436f3e3ecb71b9f1ca15bb4118267dbda604ed1ee009d528c21a3ec21f48a15e4dd3529fe9cd2b354c211a7b4975b5de43e1f2afa6656cabe1fd0 DIST php-8.0.1.tar.xz 10642344 BLAKE2B 38e523f316c41de61b39e2f069018fa32cd9886a10ebe74cd772aa6003678821129292b61b6d1c2466ebf8c47b1bb98f0c686aefd3b1abf1aa560fb8ec954080 SHA512 6b21837bde4a4c7a550d49afb3650613a72bdfb1041294fa287936cf4b04027cd05c82fafc6f3978d77452c2539b198fe10c1241446431e7947e98d48d841ded +DIST php-8.0.2.tar.xz 10650500 BLAKE2B cd087768e007e042f172d59b4c9f323b9ce98207c1a4d740a75f569e16eaaf4f1ac18ccc3fdaedde38c142435498a7fdb503a53e1c119d1b046c59ee403ef606 SHA512 a61056f07e55360fa0219a8fbe73bf559eef64bb854f968cf3d139c9375c399969dea6383a0da276539fbb70d6eaa93d26983f1696cc341aca7ca0fff25c1f08 EBUILD php-7.2.34-r1.ebuild 22862 BLAKE2B 5b0b472a80cf298ccbefe0d71a4965d8bfd3de5dd4a57f9f21642119dacb84b0f705f3d5341434fe23bee8e2cffbc2298bffb02a4c551dff8f8f097eb74f4d4d SHA512 7bcfd601092d8d766f620e53d9dba40c71da386072a4ffe9a358ba7a28ff765caf0b19cda385e02b99d552cb565f522a9daa98a1cff9857da65df3c864031bde EBUILD php-7.2.34-r2.ebuild 22872 BLAKE2B 041fd990f7c2e89ad83476bf66644321cad0c6132d6db5c88c07cbc44fc6246d012c2b0ea6553cfd886665bd8b34e300c986ed8c3de9b7e43bd4e0e0d9620525 SHA512 1b546d9911fc81bf306af751b0571efee65063388fe9d879da360bab61231bb321fb69c3c494c8bda5ccc2cc871308fd17e4a413e7654293640b00fdecb0a4ac EBUILD php-7.3.25.ebuild 22653 BLAKE2B 7754e07d6819c46459595633bb6012e397d326158ee3881024af680f3de8480647c9eccb5cc4a1f608793d616283e676a3e574a3f3257465012f85857e250530 SHA512 3de2770a6ea7c3edc4bc44e3e123848f187b1a793fe4980d2921f80587e684d2fe9407837c9460e76549a042c1a696ae5c6c86d7f9e95b18dcad8ac1db48612a EBUILD php-7.3.26-r1.ebuild 22766 BLAKE2B d0bb60f0f7515f1a7b1adbcb95d90fdb2ddf08d97ada419804a1a2e6433f47b6431bffd904ff757765fcf327d176bdd3d11e5862301bd24748cbe6c51e09f8cf SHA512 82eb11b15b8f478a635cc178bbfef63bf3e697e3f7d94580b5a1a95d3f1fef873a1535b53972d020304776a8945b79c4b65b18405d581166dbfff8a961bf4226 -EBUILD php-7.3.26.ebuild 22659 BLAKE2B 2e36dd5307c4a538a634a717dea7076e4c0676ec64b49308f69ae64a7cc45daefb46da2fee526ad91e94397624799b400b4cf9dacdcf36cf5b1900731708ad45 SHA512 764947db97ecdd7c3d9926cd987c7521c8de195ef2a9c2a68f66d25538cf076a6c2dd13b5e6194ae407cb4acc9191aeaea331bfa8fcbfea10543810b286cba5c +EBUILD php-7.3.26.ebuild 22658 BLAKE2B 2e9ab02e35b9fb4d9f68f96c86494f681732f326a782093881ba72d3f3f65bb6e61d52c9c40a302ab768b666cfa5cccdb5980fa0ac99443a91ec5b3aff9885d9 SHA512 da2b961ca79cba811087aa81daaf089e9fd0d6dc3712faa41181cbce30077567f792e7f0260b74cd93a0eb52ea54b3e6cb7f8c28d3cb676d2bbf26dc2ed584f7 +EBUILD php-7.3.27.ebuild 22762 BLAKE2B 8decaceb3602953115a73bcb6293b312b826ecf74a54c44501add5011b4b34157f0026672af13440f642c774078505f7a45f1ec38134f197ce6e446debfc689c SHA512 8c35e3437f41fa16bfbf830b504bc58faf9573c801f90bf3128d3529248b1957dfc5e09add08d91de47d1419aa8bdddfcce382be89867170978e7deb8aea452b EBUILD php-7.4.13.ebuild 21402 BLAKE2B 91ce77170ab0f4bc35581b16bbc025e86d218e4c0f72e12df89cecebedb17538b4acfc3aa890db7e59daf38ba1572e558b7b67ceb57fc39813a500ba0c7ae430 SHA512 5facbd6181da839b559c4c3d8af489588a88eec158d381a0e52224c90b3683e70a1c8500db44dcbc73eca5fed9e0d2c18dcc8360e3d821a9953f0771622a4680 EBUILD php-7.4.14-r1.ebuild 21475 BLAKE2B 11119e64ef3284065e72eeb7806bde18bd72cbfd2a87ace201ed2cf7d6240ca6b47ef2589e8c0aed3914727367da69b53710a80441e3137f0b325e36287b1f29 SHA512 1bb2c5f6a59901dd4187c3b17b3bcc24591de51f5bb30b75e35af1e5ea7c6fa43ac6d43c09ac8c6136d92564b91cc3c6a3192a27ebf913297cf63ce513201295 -EBUILD php-7.4.14.ebuild 21368 BLAKE2B baff36836d205b5b32c5bd1c8447bafbace69635ffad7a080bd595cd379a73ebe2ad629cbf8746fe66c2209a33fa63660cc6cf58c4220930d2772be436cbde17 SHA512 828c5e552b4cd3274f31ccadb4a0cb5aab5741f763d8393b1ab21e6e04fa4792790a8967261623b01be9368bbc3f33b80bd44e240b0e1b1045d66c386c0e0764 +EBUILD php-7.4.14.ebuild 21367 BLAKE2B afe819dcac1a84187bce81706b2c10ccb0d0623efd669005f32b6c15a89b46dd4546037f3e33db7199b5cfb60ea620cfd675d1b6a598127f94581948614abab8 SHA512 242ab420fe396ae875d0208fb9cc8cac389384581afd6d6359b7d75dc205cb9d4295f53d2fa3fcc6a3d918745608f8fb7c69daa762ee7aa32bff022cac0ebccd +EBUILD php-7.4.15.ebuild 21471 BLAKE2B 58ba45a1a7baae45410a6b2b1366f36ef69d6f315ef3b845ce1633c1494d83efe4358422c778a816996413b666d657b0de5b374e39f83e0529179ee260d911d2 SHA512 2759bfb127c036f6e86c1775d9ec303f256129293648a07fc4d66a4bdcb7e3a99183bfee1acdf0dc6d1ae170dfb29e86777235688cabf186347e60bd4c564212 EBUILD php-8.0.0.ebuild 21265 BLAKE2B 85bf83fa4d71eb9169e1e760a39a532d6fa0e267be1f5dc0cf3d33ab064dcf361f8cca96360728038fe562953a39e2712b9a6f8f51e5080b65af5eb2fc743922 SHA512 c655bb261c8d88f8dcb486c4be357b261d295aec1b4acf136621e40450d72b313ec7eaafaafaf5c2f2a06a15f64c45849bcbaf503ee28c35aa3322d4815af0d5 EBUILD php-8.0.1-r1.ebuild 21368 BLAKE2B ff1fb57ee7b522ae9003852fd238cffed128acb87db481abac775c55d8859c4943f7d6ab078eccca90a682df78c713e474f8a86595a797d4d0d98a78769aca28 SHA512 e15c099844c196ac30d926dfba56233d9f998764c2e65c358448703d90fdeeee61424b879fe1d6895afd82c43733c188c9c854529cf6cf7513132a362cbff3ee +EBUILD php-8.0.2.ebuild 21368 BLAKE2B ff1fb57ee7b522ae9003852fd238cffed128acb87db481abac775c55d8859c4943f7d6ab078eccca90a682df78c713e474f8a86595a797d4d0d98a78769aca28 SHA512 e15c099844c196ac30d926dfba56233d9f998764c2e65c358448703d90fdeeee61424b879fe1d6895afd82c43733c188c9c854529cf6cf7513132a362cbff3ee MISC metadata.xml 3216 BLAKE2B 6118c94f2ac3a2f283eb035cbbacb12343476b4ce22594a00cb7ebf063abb106a0ed5557d311127b8c1e2a53263103ded790cd12d20c6b410ab6f7d218d95ed8 SHA512 ffb0b46b30b1add0fc166e3afe1317e70041a0fe849d4c05ceee011c1b5e130fbde3b86eaf876a4c8a2d23fbd7824f95299642b4f60e129436befb00f4b124cc diff --git a/dev-lang/php/php-7.3.26.ebuild b/dev-lang/php/php-7.3.26.ebuild index 7fb97fec058c..1a6a422f3b76 100644 --- a/dev-lang/php/php-7.3.26.ebuild +++ b/dev-lang/php/php-7.3.26.ebuild @@ -19,7 +19,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" S="${WORKDIR}/${PN}-${MY_PV}" diff --git a/dev-lang/php/php-7.3.27.ebuild b/dev-lang/php/php-7.3.27.ebuild new file mode 100644 index 000000000000..9955fb58f99f --- /dev/null +++ b/dev-lang/php/php-7.3.27.ebuild @@ -0,0 +1,762 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit flag-o-matic systemd autotools + +MY_PV=${PV/_rc/RC} +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://www.php.net/" +SRC_URI="https://www.php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + +S="${WORKDIR}/${PN}-${MY_PV}" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk + coverage +ctype curl debug + enchant exif +fileinfo +filter firebird + +flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +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[apache2_modules_unixd(+),threads=] ) + argon2? ( app-crypt/argon2:= ) + berkdb? ( || ( sys-libs/db:5.3 + sys-libs/db:5.1 + sys-libs/db:4.8 + sys-libs/db:4.7 + sys-libs/db:4.6 + sys-libs/db:4.5 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + coverage? ( dev-util/lcov ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( <app-text/enchant-2.0:0 ) + firebird? ( dev-db/firebird ) + gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( dev-libs/libedit ) + lmdb? ( dev-db/lmdb:= ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient[sdk] ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode:0= ) + session-mm? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + sodium? ( dev-libs/libsodium:= ) + 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" + +BDEPEND="virtual/pkgconfig" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +# The Oracle instant client provides its own incompatible ldap library. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + oci8-instant-client? ( !ldap ) + phar? ( hash ) + qdbm? ( !gdbm ) + readline? ( !libedit ) + recode? ( !imap !mysqli !mysql ) + session-mm? ( session !threads ) + mysql? ( || ( mysqli pdo ) ) + zip-encryption? ( zip ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/php-freetype-2.9.1.patch" +) + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "../ext/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Bug 669566 - necessary so that build tools are updated for commands like pecl + # Force rebuilding aclocal.m4 + rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" + eautoreconf +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sodium sodium "${EPREFIX}/usr") + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zip-encryption libzip "${EPREFIX}/usr") + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm || use lmdb || use tokyocabinet ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + $(use_with lmdb lmdb "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + ) + if use webp; then + our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) + fi + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + # --with-pcre-valgrind cannot be enabled with system pcre + # 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 + + local one_sapi + local sapi + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + local sapi + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="", sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp${PHP_MV}$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + # Install the "phar" archive utility. + if use phar ; then + emake INSTALL_ROOT="${D}" install-pharcmd + dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" + fi + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + local m + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-7.4.14.ebuild b/dev-lang/php/php-7.4.14.ebuild index 6fee9aef25d3..01e4b53ce2e7 100644 --- a/dev-lang/php/php-7.4.14.ebuild +++ b/dev-lang/php/php-7.4.14.ebuild @@ -21,7 +21,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" S="${WORKDIR}/${PN}-${MY_PV}" diff --git a/dev-lang/php/php-7.4.15.ebuild b/dev-lang/php/php-7.4.15.ebuild new file mode 100644 index 000000000000..1aa9e4a0aa33 --- /dev/null +++ b/dev-lang/php/php-7.4.15.ebuild @@ -0,0 +1,754 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +WANT_AUTOMAKE="none" + +inherit flag-o-matic systemd autotools + +MY_PV=${PV/_rc/RC} +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://www.php.net/" +SRC_URI="https://www.php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + +S="${WORKDIR}/${PN}-${MY_PV}" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk + coverage +ctype curl debug + enchant exif ffi +fileinfo +filter firebird + +flatfile ftp gd gdbm gmp +iconv imap inifile + intl iodbc ipv6 +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 selinux +session session-mm sharedmem + +simplexml snmp soap sockets sodium spell sqlite ssl + sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +# The Oracle instant client provides its own incompatible ldap library. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + !cli? ( ?? ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + xmlrpc? ( xml iconv ) + xmlreader? ( xml ) + xmlwriter? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + oci8-instant-client? ( !ldap ) + qdbm? ( !gdbm ) + session-mm? ( session !threads ) + mysql? ( || ( mysqli pdo ) ) + firebird? ( pdo ) + mssql? ( pdo ) +" + +RESTRICT="!test? ( test )" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre2-10.30[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) + argon2? ( app-crypt/argon2:= ) + berkdb? ( || ( sys-libs/db:5.3 + sys-libs/db:5.1 + sys-libs/db:4.8 + sys-libs/db:4.7 + sys-libs/db:4.6 + sys-libs/db:4.5 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + coverage? ( dev-util/lcov ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( <app-text/enchant-2.0:0 ) + ffi? ( >=dev-libs/libffi-3.0.11 ) + firebird? ( dev-db/firebird ) + gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl ) + libedit? ( dev-libs/libedit ) + lmdb? ( dev-db/lmdb:= ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient[sdk] ) + odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + session-mm? ( dev-libs/mm ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + sodium? ( dev-libs/libsodium:= ) + 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:= ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.7.6 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt ) + zip? ( >=dev-libs/libzip-1.2.0:= ) + zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +# Bison isn't actually needed when building from a release tarball +# However, the configure script will warn if it's absent or if you +# have an incompatible version installed. See bug 593278. +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1" + +BDEPEND="virtual/pkgconfig" + +PHP_MV="$(ver_cut 1)" + +PATCHES=( + "${FILESDIR}"/php-iodbc-header-location.patch +) + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "../ext/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Emulate buildconf to support cross-compilation + rm -fr aclocal.m4 autom4te.cache config.cache \ + configure main/php_config.h.in || die + eautoconf --force + eautoheader +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_enable bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar) + $(use_enable coverage gcov) + $(use_enable ctype) + $(use_with curl) + $(use_enable xml dom) + $(use_with enchant) + $(use_enable exif) + $(use_with ffi) + $(use_enable fileinfo) + $(use_enable filter) + $(use_enable ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl) + $(use_enable ipv6) + $(use_enable json) + $(use_with kerberos) + $(use_with xml libxml) + $(use_enable unicode mbstring) + $(use_with ssl openssl) + $(use_enable pcntl) + $(use_enable phar) + $(use_enable pdo) + $(use_enable opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_enable simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap) + $(use_enable sockets) + $(use_with sodium) + $(use_with sqlite sqlite3) + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer) + $(use_enable xml) + $(use_enable xmlreader) + $(use_enable xmlwriter) + $(use_with xmlrpc) + $(use_with xslt xsl) + $(use_with zip) + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm || use lmdb || use tokyocabinet ; then + our_conf+=( "--enable-dba" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + $(use_with tokyocabinet tcadb "${EPREFIX}/usr") + $(use_with lmdb lmdb "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype) + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg) + $(use_with xpm) + $(use_with webp) + ) + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_enable gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl) + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + if use odbc && use iodbc ; then + our_conf+=( + --without-unixODBC + --with-iodbc + $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr") + ) + elif use odbc ; then + our_conf+=( + --with-unixODBC="${EPREFIX}/usr" + --without-iodbc + $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr") + ) + else + our_conf+=( + --without-unixODBC + --without-iodbc + --without-pdo-odbc + ) + fi + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite) + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit) + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-external-pcre affects ext/pcre + # Many arches don't support pcre-jit + our_conf+=( + --with-external-pcre + --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 + + local one_sapi + local sapi + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + local sapi + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="", sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp${PHP_MV}$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + # Install the "phar" archive utility. + if use phar ; then + emake INSTALL_ROOT="${D}" install-pharcmd + dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" + fi + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + local m + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-8.0.2.ebuild b/dev-lang/php/php-8.0.2.ebuild new file mode 100644 index 000000000000..cdcf7cd4d0cf --- /dev/null +++ b/dev-lang/php/php-8.0.2.ebuild @@ -0,0 +1,749 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +WANT_AUTOMAKE="none" + +inherit flag-o-matic systemd autotools + +MY_PV=${PV/_rc/rc} +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://www.php.net/" +SRC_URI="https://www.php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + +S="${WORKDIR}/${PN}-${MY_PV}" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk + coverage +ctype curl debug + enchant exif ffi +fileinfo +filter firebird + +flatfile ftp gd gdbm gmp +iconv imap inifile + intl iodbc ipv6 kerberos ldap ldap-sasl libedit libressl lmdb + mhash mssql mysql mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline selinux +session session-mm sharedmem + +simplexml snmp soap sockets sodium spell sqlite ssl + sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp + +xml xmlreader xmlwriter xpm xslt zip zlib" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +# The Oracle instant client provides its own incompatible ldap library. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + !cli? ( ?? ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + xmlreader? ( xml ) + xmlwriter? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + oci8-instant-client? ( !ldap ) + qdbm? ( !gdbm ) + session-mm? ( session !threads ) + mysql? ( || ( mysqli pdo ) ) + firebird? ( pdo ) + mssql? ( pdo ) +" + +RESTRICT="!test? ( test )" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.7[apache2?,fpm?] + >=dev-libs/libpcre2-10.30[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) + argon2? ( app-crypt/argon2:= ) + berkdb? ( || ( sys-libs/db:5.3 + sys-libs/db:5.1 + sys-libs/db:4.8 + sys-libs/db:4.7 + sys-libs/db:4.6 + sys-libs/db:4.5 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + coverage? ( dev-util/lcov ) + curl? ( >=net-misc/curl-7.29.0 ) + enchant? ( app-text/enchant:2 ) + ffi? ( >=dev-libs/libffi-3.0.11 ) + firebird? ( dev-db/firebird ) + gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl ) + libedit? ( dev-libs/libedit ) + lmdb? ( dev-db/lmdb:= ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient[sdk] ) + odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) ) + postgres? ( >=dev-db/postgresql-9.1:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + session-mm? ( dev-libs/mm ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + sodium? ( dev-libs/libsodium:= ) + 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:= ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.9.0 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt ) + zip? ( >=dev-libs/libzip-1.2.0:= ) + zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +# Bison isn't actually needed when building from a release tarball +# However, the configure script will warn if it's absent or if you +# have an incompatible version installed. See bug 593278. +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1" + +BDEPEND="virtual/pkgconfig" + +PHP_MV="$(ver_cut 1)" + +PATCHES=( "${FILESDIR}/php-iodbc-header-location.patch" ) + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "../ext/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Emulate buildconf to support cross-compilation + rm -fr aclocal.m4 autom4te.cache config.cache \ + configure main/php_config.h.in || die + eautoconf --force + eautoheader +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads zts) + ) + + our_conf+=( + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_enable bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar) + $(use_enable coverage gcov) + $(use_enable ctype) + $(use_with curl) + $(use_enable xml dom) + $(use_with enchant) + $(use_enable exif) + $(use_with ffi) + $(use_enable fileinfo) + $(use_enable filter) + $(use_enable ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl) + $(use_enable ipv6) + $(use_with kerberos) + $(use_with xml libxml) + $(use_enable unicode mbstring) + $(use_with ssl openssl) + $(use_enable pcntl) + $(use_enable phar) + $(use_enable pdo) + $(use_enable opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_enable simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap) + $(use_enable sockets) + $(use_with sodium) + $(use_with sqlite sqlite3) + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer) + $(use_enable xml) + $(use_enable xmlreader) + $(use_enable xmlwriter) + $(use_with xslt xsl) + $(use_with zip) + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm || use lmdb || use tokyocabinet ; then + our_conf+=( "--enable-dba" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + $(use_with tokyocabinet tcadb "${EPREFIX}/usr") + $(use_with lmdb lmdb "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype) + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg) + $(use_with xpm) + $(use_with webp) + ) + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_enable gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl) + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + if use odbc && use iodbc ; then + our_conf+=( + --without-unixODBC + --with-iodbc + $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr") + ) + elif use odbc ; then + our_conf+=( + --with-unixODBC="${EPREFIX}/usr" + --without-iodbc + $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr") + ) + else + our_conf+=( + --without-unixODBC + --without-iodbc + --without-pdo-odbc + ) + fi + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite) + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit) + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-external-pcre affects ext/pcre + # Many arches don't support pcre-jit + our_conf+=( + --with-external-pcre + --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 + + local one_sapi + local sapi + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + local sapi + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="", sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + # Install the "phar" archive utility. + if use phar ; then + emake INSTALL_ROOT="${D}" install-pharcmd + dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" + fi + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + local m + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/python-exec-conf/Manifest b/dev-lang/python-exec-conf/Manifest index c05ea706bd8f..a1c40444e254 100644 --- a/dev-lang/python-exec-conf/Manifest +++ b/dev-lang/python-exec-conf/Manifest @@ -1,3 +1,3 @@ DIST python-exec-2.4.6.tar.bz2 87634 BLAKE2B 7b6de8ad0e0603fafd3284e6e3c5247ad83f145ab4db6728914318ae8e6f5aaa3c0247f4e01238fca11519ef72fb1b11436aea7e2b8c988b8717b3f6a2a43c37 SHA512 e05eaf01b83de196a10933636ab6b1a5489a421592df49b8b58eabd0e732de970f902744cd3a06b5ab530a6d69fe6dfa8f270fbb09b9fe3df4ae04d516828050 -EBUILD python-exec-conf-2.4.6.ebuild 1168 BLAKE2B b2ba54c0b6f2e4f0f62c3f3e4769b378eed563831975065b69154efbeac4597f9d5b101bf1b32af427f601050bb881dd68bff48d65cbebe4b11d79e2d02c5996 SHA512 302786afebe1b7ab62d800be280976c1790be8de3157e7ec8ffae36491c9682ebdb8e9a02eadbd39cdf715e7a1c7f600b2726c540525645c93cf8c30802fcada +EBUILD python-exec-conf-2.4.6.ebuild 1164 BLAKE2B 8032905d0e3ba1f393574fd732f5b6b5ca038f119ccf8efeae27871084476092a42cd9b37547722cbe50038b764fdcf8eab62ad87301aa98570b51dd1232ba53 SHA512 924f6b97d178c71ff6cd7f280c202c16fc0ebd8562ae558cf4e85e568003072c5f95ecd07bc067a66b7f7976ff809058665bf7ab9ab2572f261fbbc6d6fb4db3 MISC metadata.xml 240 BLAKE2B 97c523cb7da7b4b1e2c1809fadbe80a88f0760dd98356fc1b9a1d8f7514fb8a696f1d36bc45285a3dc169994c78176d2bcf1397df51f9e3227c7b2dff5849742 SHA512 57181dfbeaab954ce3f81beb68ef3458f78d2f1fb9c9c2954e0553d19806b3455721f8845eb45beccd79a20941f682487fa0e09763339012a4b5057ed4e2a524 diff --git a/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild b/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild index db918e82c65e..e034247e44e5 100644 --- a/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild +++ b/dev-lang/python-exec-conf/python-exec-conf-2.4.6.ebuild @@ -13,7 +13,7 @@ S=${WORKDIR}/${MY_P} LICENSE="BSD-2" SLOT="2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" # Internal Python project hack. Do not copy it. Ever. IUSE="${_PYTHON_ALL_IMPLS[@]/#/python_targets_}" diff --git a/dev-lang/python-exec/Manifest b/dev-lang/python-exec/Manifest index 23c4b742078e..1d95eab3d108 100644 --- a/dev-lang/python-exec/Manifest +++ b/dev-lang/python-exec/Manifest @@ -1,5 +1,5 @@ DIST python-exec-2.4.6.tar.bz2 87634 BLAKE2B 7b6de8ad0e0603fafd3284e6e3c5247ad83f145ab4db6728914318ae8e6f5aaa3c0247f4e01238fca11519ef72fb1b11436aea7e2b8c988b8717b3f6a2a43c37 SHA512 e05eaf01b83de196a10933636ab6b1a5489a421592df49b8b58eabd0e732de970f902744cd3a06b5ab530a6d69fe6dfa8f270fbb09b9fe3df4ae04d516828050 EBUILD python-exec-2.4.6-r2.ebuild 4110 BLAKE2B d4116d68cebe0b02af7a1eba9491f5dd210c83fe5d1c60f439062866d1eab216b356f9e596c6a03e6be0153f45b5c84333e20a1c974263151d161f060fe1f2de SHA512 d5e952fa44d34ec4cf3cca44b1afd963ee14aac6a30c1c42664d8816a9d473c3498dcb9345d99cc7e2582b514b66bdd8cfec7ba522a522e2b87e0e30137941d5 EBUILD python-exec-2.4.6-r3.ebuild 4183 BLAKE2B eab9b871279d401bbb5e44d5eacd9286accaec1c9ca8c7f054d536d856b2199282d1de13652d22e6056651c10dad9870f966e0694b3ad2669671a2481f6cdadc SHA512 1be119f3c2d1f4ad4cb3e69e2718d3c857a64de4e7e385b7c60c8036133580369ebc8fc5d7ad8d7c3a965e5b29fda3871e98154292719f0d98c2e93bca311c77 -EBUILD python-exec-2.4.6-r4.ebuild 1714 BLAKE2B 271d84d7e17f608e30503261c2cb2daad2381a14136ac8465d127f750936d8c33f2e364c2649f47926ebd59230a987c316b2edf1415c15bc6ddbd64703d6942d SHA512 fe43e2d7ba2757c3e1a5e5a7815ba461cd0ea0fd3ee97cc44cb94c54fb80f263245c0545b28647850c26139861f4c00c06e2638171f9a368efcd3d2e6cecdc9a +EBUILD python-exec-2.4.6-r4.ebuild 1710 BLAKE2B 2278797293018f7c3712e4f4524320fc723c9b1c6c378ff428b61ddbffd960605fc518418075b0c15e3c603155804da5c1377e0bd0cd2ceb86d7ca4564f28d99 SHA512 a5e4a86d35231aab3967a3c0e1f77e26bc3ab3f0426b20f0508043841256cb2d0b99b45caef5ba62e18695b5f9b973f7d179a48b85be1bd074075cf436d5bfc0 MISC metadata.xml 791 BLAKE2B ba836a4142e78972a7a6b603749bb4df0fe99cf0f054e286d9ede512db5cdab18f18fa484036e9ef7e19c20afcf1c94b70d0f813e7790dbd9decda996dd53713 SHA512 be18445f875537d03532d2ab30241951c2abc0929b382c351eda05003fd84cd84c545018941117bec5a2f74e2e2a1dd17b60bb2dae99eb81909826947ceabba9 diff --git a/dev-lang/python-exec/python-exec-2.4.6-r4.ebuild b/dev-lang/python-exec/python-exec-2.4.6-r4.ebuild index 414d52b94501..01a7dc17e20d 100644 --- a/dev-lang/python-exec/python-exec-2.4.6-r4.ebuild +++ b/dev-lang/python-exec/python-exec-2.4.6-r4.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/mgorny/python-exec/releases/download/v${PV}/${P}.tar LICENSE="BSD-2" SLOT="2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" # Internal Python project hack. Do not copy it. Ever. IUSE="${_PYTHON_ALL_IMPLS[@]/#/python_targets_} +native-symlinks" diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index a9f20142e020..df0655c4a1f7 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -5,6 +5,8 @@ DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755 DIST Python-3.10.0a3.tar.xz 18676916 BLAKE2B 86c8e3cd5d9658a2b1027558eda42294807173cac39010737dba6a0bf75a3a7211297cb79061085ab0cea52eaaba521140ff67c3b6edeebd677429191f4435b5 SHA512 a361c04081e9bd7e740c3311d92ec1428f12c589613ab39ed2bb1ac5aa20e4d8bc6d6e76eefc20edd459ecf8be1720f3985126be38407fcfb41f5a6efcea3998 DIST Python-3.10.0a4.tar.xz 18706760 BLAKE2B a1237b73f0890c3da042eff7b110bd8da5b58ecd8cd53e673d3f91555c602b6b5f2b771023749d01cf3adff45935a7e3fda78af55cf7e7279a451ac5f2902b68 SHA512 2bf756e581315a7f242683931bffb275edcd5d864b8242e3de42ccf07cca27208f0468ba1663ff12263c128060bab400ba2ed707e0c3bcc422a619adc3171c34 DIST Python-3.10.0a4.tar.xz.asc 833 BLAKE2B 7cbfa39f918b9bb8dcdd46f2d5a4e6e7a24060bc39e8b81dfdea3fa2c305295da3bf09bd98b36a39cf8ec7619943fb0ca66f80d704bf3618b981cc22afdbd2d5 SHA512 6b94e27982e8344f0bd343bb0e04041a82608eff537105815a90a54f48cc6fa4804af10403e9729ada469c876352693144e3922de8fb2e48dc78151fa6520973 +DIST Python-3.10.0a5.tar.xz 18286124 BLAKE2B 618a812c601cdf910dc5064ec8e6350f3473c368be92663de0a543aef8dab5d767db72e0c796e465dafb86e3ee6acf21f4d2d6d99128a3bb615b8ba6759c9b6f SHA512 d686f9044ea964af2b5556068c0d804511d3148b455643d06a8b566f265a5fa9a9a3713ff0c3fee2c0da9bba33b913983ea4fcb22d679cfdcb83c6de32aa575e +DIST Python-3.10.0a5.tar.xz.asc 833 BLAKE2B f92a03f8ce6d3396f053ab508aca55c937b5ae91462e2325842b4c00fc105a817df10fb4086273939a50f91fcd5d1003da2807d1b8ab0794e6ecd660d72515bf SHA512 4f1fe9b42830c89cb35ea1634fd7484f3bbf7ff22868c71fadc0601c3b02ff2ea386cfbc7ea167a2770d732aa01532fb7d4abb198a07e4710565e3eec138408c DIST Python-3.6.12.tar.xz 17202980 BLAKE2B c8d22e4d57bcaffe77cd902cda3a473e73adf2b74ab104c23b4d846f19632a24cc0c478af84079b16d784bd1c0956824c06c1f6134fd24f54e58aaab0fe96bb6 SHA512 1462801f3f6626a853097d34ccdca9838c4c5bd81ecc3abc751003f5f2f8d36eecdaa4130ef4218de351c5586093c11669639a34492668fbc5a2a4a241f4a070 DIST Python-3.6.12.tar.xz.asc 833 BLAKE2B a5eb9f907732bb5afd8f56115ab830ed6b6f4545e4063cfe316fb7aa1ba8694fcb8c936919b4045d9f5923446f8ea20978ead059078ed50ad48a82a3bb5ae941 SHA512 91d9ce0c471359f6aa3d5d5dcad7316ec6ed173f895a51e72b1853dc422fda57a00411c88fdc40a8e21888d964136b0b032e15b215c3b6c62ffc82bddc580860 DIST Python-3.7.9.tar.xz 17389636 BLAKE2B 484833aa2aa4e29051a02969294f72099ff6f1a47d944b1a0dd15f8e6c22a0406d551bcbcd1048cf89defedaccf060733211e34b38e31fd8391dd823eaa35bc0 SHA512 e4217b25529b5336e43b63d17f3758a8177a58184564cf02bd92a312f58dba9e096485c9e3cb3544f966e847ea15b3ab30ed065d28a6ca52a6d7e0faddf7d9f9 @@ -18,6 +20,7 @@ DIST Python-3.9.1.tar.xz.asc 833 BLAKE2B dc445ed9797668c5f0777259ea83330815ee516 DIST python-gentoo-patches-2.7.18-r4.tar.xz 21352 BLAKE2B d322f5afd63813d7c9280c75f942bde75ee19793e121d0406c4f229ead53324bf3996342eed9a6c1aa474894afe7f2dd70aec38aee8042993a5274abc288fd31 SHA512 1cb0be8e79d0c6c55fcbe3f3dabf8b760aea0e60d888ea39d3e69de03b55738c50b2cca06586c1cd2896956f5764eefd6d3f9fbf2de0d0ddfd8aab86837976b6 DIST python-gentoo-patches-2.7.18-r6.tar.xz 22740 BLAKE2B 1727fcab273dfe5e5739c7ce1cd7fb3c6bd13c2bda25a2e4e0609a2e727a69318a46b7c2173ea7746f8a124e778b276408adc9968ed2025b8643e660bb3d3ea3 SHA512 975fe72c5b2f4577563e8e972c70b7eec7203790a500e6f051fab1f66c71e5ae46fcb3c571a9e6346bf3a0d1dd48594a61bf2751007e4f5e3d19f8db6146c99d DIST python-gentoo-patches-3.10.0a3-r1.tar.xz 10068 BLAKE2B 8b305a31cf0aab4da9e27e671b4fd48be6224ff8508ed1831ad4149761bb263cd9a694e90d52335390643a537dee2d6cab4e086bd521c99217e81845b4f9bcf1 SHA512 69c52c61dd2f1ca097fafe13c27cd1979280675bef6af8e8e300f3791d7eb50368311e3d055075f4bca01ce02d9e97a94fcd2662c78f14cfb6a37d77c39a158f +DIST python-gentoo-patches-3.10.0a5.tar.xz 8972 BLAKE2B b407e501037f2732ec0844ab033fcd6226ff96731f5e752b5a807c69aa57e678e9f170aab5dd3f69bd9d2951c82ecca4664354c11aca88a4a742281ab5d28887 SHA512 4dceba9adc33b06196f326dbeacb8b17eaeffebee98f0025d4faef8f047be9c20a153a8eb89a2b64f9248cbd8810ae4a5ebfc2534770a940825a5d8a4a02e068 DIST python-gentoo-patches-3.6.12-r1.tar.xz 16540 BLAKE2B 8204b6f25e1f7c6fef024933d54bfa6085158ac624a6e5a8d51576da2047b6db791be5d071c483fdec5c033b8fa8ee3d4e176a3e442defa556b34a304de3b7f3 SHA512 ad74c73b4f963427e66ac6187e1569dbfbbe3c916c24971a1eba4ad7e2f94e39c970f80e197c0498820451f036b12f3076b46cfd73bb5d6d56183ac05453d9ad DIST python-gentoo-patches-3.6.12-r2.tar.xz 17988 BLAKE2B c252bce5ac49b9af11174d3c974d95c24ec280230cede75a7650cb914f8acb3d41b8d575e469fe7f274c6d3bc238847b82e815bf1444c5afd7292e00248e3365 SHA512 50813fbd810c8b865c0f0f8d56780af7a9e094336ba486ddd94ba8fb0a83b5373f41274bbb10c3d732449ee5b2076b7430404c02bfac10fb9b27f92de79c25e2 DIST python-gentoo-patches-3.7.9-r1.tar.xz 15664 BLAKE2B 271b95a52f4ba83c1aee6f68385462c9af8f2ab575267ac068a793e99f7c9739eb4b98dfa7e9280510a709557d418db04f26b5b31bbfe95dfdc13c1773510d2d SHA512 38df628de2f2835f975f6f06395d32cd63051af87b9bf8b06eef2f987bde26a883923bcab333568c122554b900bb17995a8c7290b6a58f942bd942dcbc70d030 @@ -27,15 +30,16 @@ DIST python-gentoo-patches-3.8.7-r1.tar.xz 12572 BLAKE2B 7658ae56993674a7f57cb2b DIST python-gentoo-patches-3.9.0-r1.tar.xz 13728 BLAKE2B 50e85194c6bafefb8a0ddc4c9dea39227fc2c170db37ab44fa1e068340fa2fc5a59489f50431f0792024df551fc54a20de594579b57717c89fa134b3f000bb6d SHA512 a38c2800e3a0740af79f75f4120c925c7a891aa1f14a71ab56ad97fbabca3573c571140da3f34050bd9f97bd854a704453a910fa6883162196e6d1335a965b61 DIST python-gentoo-patches-3.9.1-r1.tar.xz 10464 BLAKE2B d69ce207020b7a34eb45c149ce88001167704763fbc373a8d5aff48a1d6337774dfb6c75d477442516b8dceb87b116e6d8cf3231334ced9b03aa970aa0d2e8e1 SHA512 72b1e37b1ceac9a0e95aa63a7dd404c69f60ae7a8aac472b8c17100c873a4d28d3291231643862c9d1cfaf990040f8e780590274314047adee199c159d745369 EBUILD python-2.7.18-r5.ebuild 10188 BLAKE2B 42dc7445a0579a3841091487402dff21f20a381113c721ffad04abb956fb5df76a5dac23a1a04278e1e70f16780c5df89ae6c78d9eca030a435d66625d3afa34 SHA512 4e72cf3e65ea8d1e3130a0bd7299de4ff5579514b8d9a0c7fcb904801c2f43ebfc59cdeef0fabd93934a10410b10cd9f9b1ec27aa94522380a609a38134b3a1a -EBUILD python-2.7.18-r6.ebuild 10532 BLAKE2B 61bfd180066b499265bedf1d5563cf7918c69810b72ce6ef4b76f92bbe83bffd05f5bd1a9c8ffff522f37ba5a00a1db2165011284d9856da374d80df07a1b674 SHA512 58ee09ba291a80cc12d0cdab95f5974d11727520282d3eb78f4f9f3ecb4fd6300a0f1a6651003fcec5ac1a5894b17327be5637a05a50cf81ce4051ceed749d35 +EBUILD python-2.7.18-r6.ebuild 10338 BLAKE2B f279caf906f5be8de98a6bd98aca4bd0dd9af13e0e6658465309351c197ff99e9d15f8166b5085437b8de7020c9bcd3fddbe827196f99ee16c3cef896ba76cc5 SHA512 727029192dccc230f22a3a057cb3fe4e7dfafeb1bf1830ed6d67fb43ccb5ca2b903db25fbfa25650d54e33df1229f68b4d43a958b2f8c281530aae18bc1eedbc EBUILD python-3.10.0_alpha3-r1.ebuild 9617 BLAKE2B 692262ea7574f4b1b5c54e50ae5d32cd1462a234810c1ae2b85eb24e141930f65abb51149e17436e18667152c2df8c5ae2eaa4a4051a45f3c13797e4a2fb772c SHA512 9b0ebca20c6ff10669bc2a3c30fabb249dbff58c56c5ec06fda7fbb463d76748950390c1afa74ae1b55878f40985ae58230874e93d40ec4be83b31e8a99706ac EBUILD python-3.10.0_alpha4.ebuild 10215 BLAKE2B 56bc64fcd49d64fc54335bff8c0cfac9702e277fdf3f5e5714be497febc4b78a99e94457f2732c8b56c35f4fef4ea6655d71968db19022dfdb97e015ddfc3e40 SHA512 cd8b92d0ee2885e0e6c09c85419c36c3be009ed84bdf4239f607fe30943444dcc02028286529e54b82b7c87068566303defb8e69ba15d3fba3493cfdd041224d +EBUILD python-3.10.0_alpha5.ebuild 10019 BLAKE2B c5e228133915489c20e6979ef3a37209922e5b5c4f280674669f322470e5bf50a5bb0bdbcc8c301c673fb6def152006ec65188889a2b2a1ef1ca9b15baf8554b SHA512 a730f9a4ed404f3d0df5f57f772c7d8a6eefb70f25bca174c6b4971e96002f1dda6f2f0344da6591dd3f129bf3751df8ac0f564077c94bdec19caba51212768e EBUILD python-3.6.12-r1.ebuild 9738 BLAKE2B c5b923a85a870d0c24a4ec96651609afa234c055719fc25cb6c3322172526c898428ca5058e62970ae1c1d0be06ea2a1df148fe9c703de9d0bea26f8195b2ad1 SHA512 e137da3b1ad136f8a6831b709d7ce326d434c4ff44b1b3685eed05c4269d194d20883c3b84a5f3b8624cbf0b85c4d37586bf6cc2c5deac9a2526c2d2ca10c8fe -EBUILD python-3.6.12-r2.ebuild 10079 BLAKE2B 8e20d9b8f247a894dcb11d29955569928f6cfa3cd77ad9a9f58596a5254ed117138a6a10cc89a46a4af253f4100cabba8a2cdb73ec27ba5a4c2d6a953a81df2f SHA512 bd7f7d3d7ecd92e1b8116976b76d93335e18b4e3c27064456fee0ae948d7fe5af0eda42ec5b80fb2321575a37bb511d15c1c5a1b5b0cb8e17bef76f506232a01 +EBUILD python-3.6.12-r2.ebuild 9885 BLAKE2B 4527c3d2dd8a8117c4c5b1d17d072e4bd8a3452e3e1ab4e8a9ff36300ddf6d37d7064f346d2f1165ee517db82159206afa78388bef09e12601b2944723a43694 SHA512 fb9d5ba1e4d95b8e71d58cf18248aa7ec441c8e140bf578e724c521179fd8025e33375bfaf8bd9cf796764bd46b49ad812c751428b6b548de259df6ffa7a9442 EBUILD python-3.7.9-r1.ebuild 9273 BLAKE2B bb987ca9554fdc66d47693cea2a51c13bfcf1470f343d873831c2285855a4d6b58f70c3c9e1fa221172a8f7dcdaca9725ab7634503a99a87dd00ee586af25b6a SHA512 0005121d2e311cfb8ddc153efe18330ca9f7d31aa3eada439696b25192a9b99869b1c46d85b8e5d47ad659efb0d476f829eb9f08840e2266864c15851b3102ed -EBUILD python-3.7.9-r2.ebuild 9884 BLAKE2B 37b7ae0784c6f9020030cf612eb7fd6d60e7b98494fe3ed4e265156b9c6462b59703c530ae7801060d3c10abe6f80da89dcb0a1a1c8abc762e3b0576f3a1344c SHA512 a546a3b2d8abf82bc18f6cb6d1e37ef37f51ef1d7997b0362ce8104764958594f8d5782ce37b9ead1bd9fa82bcd07c0da87b0067e5f0cf54db3724745d5e5fe8 +EBUILD python-3.7.9-r2.ebuild 9690 BLAKE2B 5e28c6b912db627855f36c5116139127d72fd6a82681427ae93533c5c7cdf6d99c5f5a69d1421aedf616d269dbea3d30cd7d425baeba78391524385a0cfd7efb SHA512 7f0badfa4caa4c8a5d9269e21eb1779f944c1d75d998a31ab00648da3253f889ca77f55405819210d260309d0e7eb94832e276335d4c538f5c1c2da81e52b835 EBUILD python-3.8.6-r1.ebuild 9374 BLAKE2B aa3ad15a0d88622c15d5066c691ef284ae5a862d81ebc0bb4b462f9fa4118ec0de854f2b2eb6c36e415c49e3496068e3a5a95e363d0946331d54d07a8b1ed844 SHA512 c1688391a2f1a07b61e93fead2a99537483e3f3b062b04b41c4ff4b4cd27f7e9816afe9b08f0ffea487d1ab7d11618cd5e5bd11acd33b13df9c6606466432d84 -EBUILD python-3.8.7-r1.ebuild 9985 BLAKE2B 4a4c594f6636426880d024d55c88c423a92f0788fda279852e7674c2233ff920f051acab38dbaac2213f0dd2adcff0e06963359f07cfc370de7b1516bff0fcdc SHA512 8bd15b12bb3334eb70a247e7cbad95fae4d4fee09b3ea9c503ea7afd64f4399fa3cb91f825b798795306dc621b885f1d17c09192b406d503c615abac2471978e +EBUILD python-3.8.7-r1.ebuild 9791 BLAKE2B 3c47647d2a87605ab07a8f00129a5d19cbca72bf763ecb105dca06454a2fee11e3b7842caa1a9672b407c2ebc9c36407bb8b9786c3dfe5100147cf28f4c3bdef SHA512 ac55db578051c14632705736dedb8f3f91849c1884e4581369f3bc9af58fac0b20d901f710a9c75141c1a8f06022170d1055392536ac6dd648c3e298eeaad442 EBUILD python-3.9.0-r1.ebuild 9519 BLAKE2B 70df0df3732280427304871f2b20f6b1018a1e590e479d610ad2b8de055dbe1a56803a35722667af3184c7b888d8c3d64c4ba3553ca724ca4f0baa85843d18cb SHA512 515b89c3fb02e0e6a71ea7db1c51cbea2c5e42a549e19ac93f927585786292ab2d9fc3dbc6f21a9365ad2b0d4b8954f430b1a939c6903e66e29fc4723d297809 -EBUILD python-3.9.1-r1.ebuild 10130 BLAKE2B 979aa284d443b6ec25be197ccbec636ef9ec2ed05e73737fa94b70325560db08fa70576038497d095dd019093ceb4b003dcee51ee770c20284ac9af08452ecb5 SHA512 ebf1762f776f448d0ea1ecb1acebe897cce564bfe704b00bcbdb34d322627b86fdab4ba98f8e358395bbbe426fe526638d9348632b8fd3277878f92b7df34a0c +EBUILD python-3.9.1-r1.ebuild 9936 BLAKE2B 1faffabbfb36b904a75ae8464d39379d6a8ab70c0659d5a1789ceb75f86ecde365efc53bf1d7634f5fd550df32adb06a2160d5c26eeffbea10fb27b20a96f2e7 SHA512 8260879dbcf7966f86cb1284bc54c08b33e1ab3759a7c5a535c40e006238e956258a38552445a69462ff11583ed08ab76020508d8283ac79371197b99f25287d MISC metadata.xml 819 BLAKE2B 120c7c65d77488e726c5a0f4aa19469867ea6900e747169fae2f9cf8f14ec2936089d5edfe1935ce610bec26387273e261b1cc4b023680c8c4b229f2141a7223 SHA512 08f45707e5490067a21951b9d37c8ae67064ab67cccc5b8d8c204eab8d4a004fb910627b62989c67b849b89d301618f8f8f7996e99e1ef5bab38a239c49c124d diff --git a/dev-lang/python/python-2.7.18-r6.ebuild b/dev-lang/python/python-2.7.18-r6.ebuild index 18cd03beb716..87697e77174e 100644 --- a/dev-lang/python/python-2.7.18-r6.ebuild +++ b/dev-lang/python/python-2.7.18-r6.ebuild @@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc ~x86" IUSE="-berkdb bluetooth build 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. @@ -174,11 +174,6 @@ src_configure() { # http://bugs.python.org/issue15506 export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG) - # Set LDFLAGS so we link modules with -lpython2.7 correctly. - # Needed on FreeBSD unless Python 2.7 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - local dbmliborder if use gdbm; then dbmliborder+="${dbmliborder:+:}gdbm" diff --git a/dev-lang/python/python-3.10.0_alpha5.ebuild b/dev-lang/python/python-3.10.0_alpha5.ebuild new file mode 100644 index 000000000000..741cc079a7b8 --- /dev/null +++ b/dev-lang/python/python-3.10.0_alpha5.ebuild @@ -0,0 +1,348 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_P="Python-${PV/_alpha/a}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-3.10.0a5" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND="app-arch/bzip2:= + app-arch/xz-utils:= + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +# autoconf-archive needed to eautoreconf +BDEPEND=" + sys-devel/autoconf-archive + virtual/pkgconfig + verify-sig? ( app-crypt/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +PDEPEND="app-eselect/eselect-python" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + $(use_enable ipv6) + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + OPT="" econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # Skip failing tests. + local skipped_tests="gdb" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + sed \ + -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ + -e "s/\(PY_LDFLAGS=\).*/\1/" \ + -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax_kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ + emake --no-print-directory -s -f - 2>/dev/null) + newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.6.12-r2.ebuild b/dev-lang/python/python-3.6.12-r2.ebuild index a1244b006ad4..01b619ac4b9e 100644 --- a/dev-lang/python/python-3.6.12-r2.ebuild +++ b/dev-lang/python/python-3.6.12-r2.ebuild @@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}/${PYVER}m" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc ~x86" IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test +threads tk wininst +xml" RESTRICT="!test? ( test )" @@ -142,11 +142,6 @@ src_configure() { # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. tc-export CXX - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - local dbmliborder if use gdbm; then dbmliborder+="${dbmliborder:+:}gdbm" diff --git a/dev-lang/python/python-3.7.9-r2.ebuild b/dev-lang/python/python-3.7.9-r2.ebuild index 4af9ba14bd81..3be1fff0bafc 100644 --- a/dev-lang/python/python-3.7.9-r2.ebuild +++ b/dev-lang/python/python-3.7.9-r2.ebuild @@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}/${PYVER}m" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc ~x86" IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" RESTRICT="!test? ( test )" @@ -134,11 +134,6 @@ src_configure() { # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. tc-export CXX - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - # Fix implicit declarations on cross and prefix builds. Bug #674070. use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw diff --git a/dev-lang/python/python-3.8.7-r1.ebuild b/dev-lang/python/python-3.8.7-r1.ebuild index db352010afaf..7d9a82ace38b 100644 --- a/dev-lang/python/python-3.8.7-r1.ebuild +++ b/dev-lang/python/python-3.8.7-r1.ebuild @@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc ~x86" IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" RESTRICT="!test? ( test )" @@ -140,11 +140,6 @@ src_configure() { # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. tc-export CXX - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - # Fix implicit declarations on cross and prefix builds. Bug #674070. use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw diff --git a/dev-lang/python/python-3.9.1-r1.ebuild b/dev-lang/python/python-3.9.1-r1.ebuild index 840eb26fdce4..79ddedadff16 100644 --- a/dev-lang/python/python-3.9.1-r1.ebuild +++ b/dev-lang/python/python-3.9.1-r1.ebuild @@ -22,7 +22,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc ~x86" IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" RESTRICT="!test? ( test )" @@ -151,11 +151,6 @@ src_configure() { # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. tc-export CXX - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - # Fix implicit declarations on cross and prefix builds. Bug #674070. use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest index 74c23e691562..98d10e100b67 100644 --- a/dev-lang/rust-bin/Manifest +++ b/dev-lang/rust-bin/Manifest @@ -40,7 +40,37 @@ DIST rust-1.48.0-powerpc64le-unknown-linux-gnu.tar.xz 124335896 BLAKE2B fe95cb27 DIST rust-1.48.0-s390x-unknown-linux-gnu.tar.xz 127221600 BLAKE2B 08511be6aadc0feb36caa19df5914a207565eed3b4b3914cad7fc8f7170011a7431c14d50b1334f5d5e00b4c94e7e84ee59afad179286e889480cc9b21e1f402 SHA512 b2b1565f3b1cc0c3bf4aa06aba1da7df775c6e29c892ca7727d0e549f175b632080433be2586e799c5636231de6c678f0228dedee8358fbf167016a1f7d25389 DIST rust-1.48.0-x86_64-unknown-linux-gnu.tar.xz 155254844 BLAKE2B 37bce978eb297bb1732f9d513bb6fdcee4aefc42a578496a84b5f8abbb9f90f1c524c73f28c85f33c25a365bf5ba566253b1739009bb112c2e1d46a2ed978e10 SHA512 0784e156e70c47386abfa88ecfeb62b1109364459b1fee225de0749c30379c4eb443ff3ff7faa7dc1a6ff373bc6eb43997007f937889cb35daf940a74641753b DIST rust-1.48.0-x86_64-unknown-linux-musl.tar.xz 168361012 BLAKE2B efeb9a9812f2fa2cbf1cfd963b5b714cf18d73ca9b7a3de4efa701acf7e2e8fc3b610cd90f7391b10bddd1c9d44b8b0aa910f58ce739750d4e910b063825dc28 SHA512 7188fb0b1bf6fd6ab320089cd17f334867baefec1a9c57a81e6cb729276456e56850938dbd0eafbc52375266a87392ad3045a4dbd2c41689bba6b0da152e4034 -EBUILD rust-bin-1.46.0.ebuild 6049 BLAKE2B 2f403c96badc7a23d420ebc95d5b4231f19811ef8f998f1bfc07be01cc655384b62ff58520247b09c4bfdb7b6cd8d7419bb679b8de5df852ef87a3f478420066 SHA512 2c89925d190fa90b02ff641c3828a33bfa54e1116c213050498543d0869051f8046f5d9eee53784beb87c3e82c45bd58060af37384d2203f9628439a5090e9ac -EBUILD rust-bin-1.47.0-r1.ebuild 4310 BLAKE2B 4ef74cc840bcd456c792b4acb391a3048a576042053c6014565f6aaef8f76d4a99e79c2325712103d5fd03b23fe6496d0c2647c73aedbdb50ada4ba2ef7bcef8 SHA512 2fd8ef14d2ef92b64c7947d5c146d34bbe71b0b3491845f49be4cb79e3089498961b3a9998292aca91de3a07c79a886d17d7861043514401bb62164a5fae5a8f -EBUILD rust-bin-1.48.0.ebuild 4243 BLAKE2B 257b1b4f874c11b71c43f1803b049ae17a43a40003368a82abf203a6e7e31b54af6dd524071d5bcca68b8e2e9ba6d663de013df9356571d761e7726eba4d5c46 SHA512 cfaae674b6710670d1b1a1fec24e6423ae46294ed2f8889284f414d9dbedc6275953736bfd0a1ddd37f1eb291003c9b016e5267685ad46dfc60af358eba17a4f +DIST rust-1.49.0-aarch64-unknown-linux-gnu.tar.xz 179627172 BLAKE2B 911fc176a7161bf3ca1a6ec01ec38d4f1792b11feb3c24c9587f8feb2923b42aa97f0e3391449ee1189507b9bdc2ef16be8f064ac3161f73aba18fd7b11c8f5d SHA512 fa81b618359c2952de941e094eabfe2966e3c1a39a1b20452a77f1a68a54dde9cc5cade18db911cf448ffe947d934461ce752112bd9b5b5430e1fcdabbd8b56a +DIST rust-1.49.0-arm-unknown-linux-gnueabi.tar.xz 172021916 BLAKE2B 69e80df9f8d582c8216adfcd27ce8a19a9af49f27423fc3ee478ccb8b60b489e36c1f38633c86c58a504b2110cebf4026dc418e55897caf60865c21209ea2366 SHA512 2ea1d8564577cb4f687384e0d933e6ed7e1e5c95aeb49410d660409a23867959bc175344fa00bdc342cf511ea867cb2d97507af117e7d5b34714e69d4b8ffaff +DIST rust-1.49.0-arm-unknown-linux-gnueabihf.tar.xz 173557760 BLAKE2B 63c1815b3bfdcb5bf1c745bd8b85cee052b2c85f42a800166da6ee66374716e899919fac7b9c75d0a6b0ddc963e22e2b842ac382eca431433cb1ef4c1d568ad4 SHA512 9c4a49b8a3bf11d5e0f3d54032e2dfee8779f3fb68676a219c9b8e344539a3dd840d912167783f3fbaa3bd3fbf73b6bdd5afa9343c042a67496ab57c9a9ca96e +DIST rust-1.49.0-armv7-unknown-linux-gnueabihf.tar.xz 176194076 BLAKE2B 1d2a1eca1d44d48cdd542411acc0f1a81767b6e62c744c800a840f3ecdcc060acd7552d342539230f85cf3e2771f8aa4a2c1ff88efaccf7021bbb2e0af71c222 SHA512 1cba85fc958371aeb1d521e8842ad576e65d244147e2c75c34eaa776552ed025434d10284fa976d901d6cede69f6db3e5fdd770005ca0b93bb5e3202b9f9392a +DIST rust-1.49.0-i686-unknown-linux-gnu.tar.xz 201492368 BLAKE2B b666693ffd3468330c3aaabc81556d3f6c907e136f98edde9ea4605bd95a5750e57432a51e5eba0643a816b4281129f1cc295cf9821d5f285cdfd8cb3cb68c3f SHA512 b4d39cb234314f013969b5db3d365d21719d7a01f2dc0816e4f221c5e6d4abecd7f9e83f54b8640173d00d3e701cb3cbb61cef32f00db9356139005a1ce3bd19 +DIST rust-1.49.0-mips-unknown-linux-gnu.tar.xz 134041460 BLAKE2B 0e779b3494221f22529ba7a4b9e1098186965d36f7cb94b5d76c84bd4703c354ebc57aa03a58fe3b5592c1543ac6193575f9d443cd8fa663a69d9af1ae7d0b82 SHA512 9293814a64d7382f97beb137ccb8beeeb76ae5f71d6db7d2c70f3c643a877f5991c0abc2d53270bccaa6aa5c8de4f0e46fe4b92ad09e2253e5cd5487a3f46d6c +DIST rust-1.49.0-mips64-unknown-linux-gnuabi64.tar.xz 143820152 BLAKE2B f22869487eac68f5ed698da1b05b1c53ae138cff79d2c5011008663b027858c5b91ce1b2f26924ecc17d13ca9559ff444e1b03a44a5b3b536e66753075c8d05a SHA512 ea1d90a388c44a2e5bd5f51dd5e8b95721e49c8284369cd638560e9c729c8a7c54ba6cccf55547f0b0b1731498623eaf743783cfd67e61c13f89f0ad9275c051 +DIST rust-1.49.0-mipsel-unknown-linux-gnu.tar.xz 140145252 BLAKE2B 5a26ca9e2af4a2d96c34da29e50c5c68b1fb0f2e6db20685853a4211042aee76f0f86b17c4697bcecce99de21ac7b60b055ed43cd2acf03dfa043eb5e3546692 SHA512 a2079d5068737cae36532c2922fc4aebf4aac723208804a128a1234ae78868f20a6559a967cf01a456ba7de2bf48ea3961fc9a31dd3bc45130b0de328a712295 +DIST rust-1.49.0-powerpc-unknown-linux-gnu.tar.xz 147163992 BLAKE2B 4822af4b54a22214425e0dd993081f0bc7b0ae0973c0e11d021a2a8671f05272b2cb6b3ca307eef9b3ad25db6a1eef7976f1e8e4ead8ac4c5226d9c7596c0f6d SHA512 905c624baccf0bbcd166407a8722909b2645c7e1993e80a37aa4cfe43d0dce5b92db2c5443295ecb79fa6c3c2cbe6e0e67ad7f8ba312075fb8960cbe50183a25 +DIST rust-1.49.0-powerpc64-unknown-linux-gnu.tar.xz 160585188 BLAKE2B f0e4a5da3767b1bfb633c899c1b9b2ee9725d8bea9154142037cbcc9212d67a364f0eb130ea4d2a4c62d0fe55a8d9d880faac2f6e167155a99a235f7ee28fc1d SHA512 36f94b0ae399f872a22c697225abcb35a893ae6e4ed369961edb693299cb58e294267b1d73a99555057618f179202a70ae2fdcff2b3bedbabf2774b3809a2a62 +DIST rust-1.49.0-powerpc64le-unknown-linux-gnu.tar.xz 169253520 BLAKE2B 4648467a84d7f81f63ddf610fce6e1e2388ce5c91a7ce73c8b8d054356bfcba379d4d0a543fdbc9bad9b689b10f8dffa4c145b83ff02ac1d77ede7f600bb5924 SHA512 c17eb27ec4dbcc56da3edffbc57e0edda99744d6a0d38369fa08af066894aeb13dd78c7b8055f2246fc3bf13c654842675ea4df44b7bc8852e0f9952acdf7e7c +DIST rust-1.49.0-s390x-unknown-linux-gnu.tar.xz 170753008 BLAKE2B a81618240d86d4a70bd27f3e33caf0258868539b3b081a8f8f461a3debf82ab1493fea18dd5a32083d1f34db268f4bff471f5f45fb3d4910dd9559f227dc3aab SHA512 25259ea2e499c89459b14571e2c54f230d642af9cfe539dc2b8be15eff0e23b8c6e60af4c567bcbb6c6c185b4537eaab19c3395fce48b1f6e5ef1234efc31e3a +DIST rust-1.49.0-x86_64-unknown-linux-gnu.tar.xz 144752500 BLAKE2B 188fafdbff02cbffae22e8a48d259119c59aa435252477ba3b4f4522cc00c90d9a242bd5ac76e8d8210bd032b8f78538e5f95606fe2c862ffd7477acdfb6e1a7 SHA512 c008aa50e17db6a0134fb85235a958258d345410f5063bc77175f7c28b2e35895427b9e68cd1ac9acb769769c83313cd59fe6465b453e891cf415a2514b7722d +DIST rust-1.49.0-x86_64-unknown-linux-musl.tar.xz 217795696 BLAKE2B 264348951db96a9f046e4bec599b92a5ee6d185d961f833f8d2127c1ac4578b91401834d09b5eed421f03d14933ff3b2e85961ff09927d19bf6c701d80eb1b67 SHA512 be165de42e3acd50f6e6a21fe386ea2333fd0f19abedbb059d6eb8ce8c80a8e79257eab8a7775e3b72307596b52e803bd8c4c46330a6e66acbadbe2f63cea42a +DIST rust-1.50.0-aarch64-unknown-linux-gnu.tar.xz 203382140 BLAKE2B c9547661356bfb2eb328992ecbfd488114bc68c00e551cbbeb925fd1650b5a4c0ab33145c6e994184766ef5046cc2881eb0009ac9d9448208cf896317bf47c63 SHA512 e6b409afc8e85a88ecb9ff439a6eb9dcb93d5553e81549fb4f332b9e2d946dce0424319c5092e60aab9435944af70d0117d15c12d54d2059ef73c1fdf36d8273 +DIST rust-1.50.0-arm-unknown-linux-gnueabi.tar.xz 193322872 BLAKE2B 2654e604a609f287b2722bbcac325461cc8a84d47e449470da1925f3d21a042d665e55d07f4f268e37630184998ed330b2c2e315485ebeee960c63555550c9cd SHA512 eb3aefa4ff7d2b832a847b6d4fd4427d88885cc72c3a9f97837e2516d202af39da7d523de2d1578fde20aeb76e843a84c37b4ba33f85668caa0b28d63a20968a +DIST rust-1.50.0-arm-unknown-linux-gnueabihf.tar.xz 191287452 BLAKE2B 34958b97d034f6c643036c61d64e25aaedf1c93046ca039e39c9083a54d030d715d17a3174bd69bdad3f9bdb8b89c9b92f977b7d3c29da4eb28efe933402e86b SHA512 7b1f61fd53fbb361fc6b3ee603917f899f3cfc8062df3cadb0751e8014e1e2633f32ba198912e8bca34102543c427f2607e861b724143d60fd1f9682578be70d +DIST rust-1.50.0-armv7-unknown-linux-gnueabihf.tar.xz 194656336 BLAKE2B d02323d9f47d380f4a06e8273b02ac3c9091257400a59b3efd1140ef22aa3bcbb71b4c5e70aaeb2cd118839a84b3513d9c85ff8020b5a1f6e68791ae5d81b8f3 SHA512 c3314436afc4ebed697bf6828b9eacbc12f96838b156241331a3b71e99e1438f8ad82e701615ea302ebfc459464479442fe653232bd319cf824027362438970d +DIST rust-1.50.0-i686-unknown-linux-gnu.tar.xz 222946404 BLAKE2B 38801f395ab8f5aeee1cb709cd7fda6b6573476f9d763931086c76b0064ec0d5dff03415bc2f6f13419fb1a326cb44a0086dd42db99d1e14d520b33c6382e340 SHA512 bff117733d11731f56e8659265d0b47327e2af3f7c46aca494747a92b4f634dd35fa9731a1be59dd69821042f88bded253e1d7b5693ca237c9a167408ca7f898 +DIST rust-1.50.0-mips-unknown-linux-gnu.tar.xz 150524936 BLAKE2B 950424444394dd55fd81c6b850798552166d78588fcc2c4dfdd4bbc900600957eed06c4a03c83713f2f820252949f57651d69e4d2a2b78d7de42fd7e0c0404f4 SHA512 849d70b5f4b4364070c5f708e466a86afead7d82d7fde4d1ef7c8800bc1ebcafdd4e1bc69f059e393fd8fce104f2d97201f09ecb3b894676e6ff6db9c949c897 +DIST rust-1.50.0-mips64-unknown-linux-gnuabi64.tar.xz 159792596 BLAKE2B a361c13c036d7cc964ace781c34ed815946c976071d38d361110856e889174e2629ad9602dde5f6d5a704044cab670687b67643470b199ee18e95944dbccba16 SHA512 d85c2abff3249ccca63d14abfa85f5320e5d227b17faf7b4b47a5254a4b8ee3a4cf3ccb84e31f13dae7780176411e2a5d04894e2422ae5921f547cc5e07fd1b9 +DIST rust-1.50.0-mipsel-unknown-linux-gnu.tar.xz 156597932 BLAKE2B 57bf7d105f6f9d3a50904466439e88e32c99b5fd85f220ef48e82fe91b2c05c28d6783233dd3e9ba7b49e79eeeb358cd1df60369bbd927a9a867a0bdaed471c7 SHA512 019df8180520bc4fd29a258017e2477a59a30338d921f185871f64aa81d8b5499e88676d09d5887f9c6726824ae4bf50f8a9e6fae1f03e9e728f0f08ab0271c4 +DIST rust-1.50.0-powerpc-unknown-linux-gnu.tar.xz 168133824 BLAKE2B d2ce955ae8975d667c854fc1f8dab5de8b8a3ecf08e52dab57f40f5a036138b6006554f053616c7d369e054f9ba3dbc502b2fa47ff0463e077f831f75b831c4f SHA512 1411063401432b2aed58f53c7e9c87d70177cb7745753378df052676a6b0ee19bf7e56298584356b77707758ad531e5d4d59140cd6e686bd7cee53488553214a +DIST rust-1.50.0-powerpc64-unknown-linux-gnu.tar.xz 180157804 BLAKE2B 8d3c38cdea4901f38665e66f880301c409d0de4ade5fd931c834680ee21d014fe6efb6928a417bcc747ac10ceeabccf287c0a29c009525e2d2fec92db60bad01 SHA512 d60fa7d029c52403c08722b4cdda8ebcfbbf23f57770db786007b21c8e0590577f58823b8e0b89adb38c351102b6aba0c02afa5c3582eecec5165bccb50b4944 +DIST rust-1.50.0-powerpc64le-unknown-linux-gnu.tar.xz 189754060 BLAKE2B 8579349a7d916ee701f29bd66d08a76d8433ad86020571e5484edbc8d9a984088e6942e31b18179698a199ade2fcee3b1b9aed1cc0d5a3b996e763ef2b8e0b33 SHA512 e3dc75ba7dff3a358042542afa398ec8771a23f5f699454a876ddc1f3583d399fe5350696a5da62d71ca97ea882c9ae1fcb60dc2e9fdf76bc7a9af892096371e +DIST rust-1.50.0-s390x-unknown-linux-gnu.tar.xz 190157972 BLAKE2B 4fe8ec73293815ade006e2c383d1a6d541d87d4ebba76b3ace65793f7debfd54d3dc07cac89c43e41947f8d0b69bd0f213dbdca8173f610ca2da03bccdd55ddd SHA512 733513af2a7ef7a782a5ebfbd080071194ac47084022b54b4830de84facef9986d65525f8666a4c226e9878e43b00ebced26d6077e5fb1b7f775ac8f290fba97 +DIST rust-1.50.0-x86_64-unknown-linux-gnu.tar.xz 152873328 BLAKE2B b0bb91487186f13a7a1a49edeac28bc347c300911f574aba0e70c37e05b688176f5941c97cc4ad0ceddf32f2fbc0bdda6f8a1fdfa482aeb9682ea1fade28206e SHA512 ab49e3ecb14e4af8e48548845184e9ab3d564ab2341c1e5462b7847347c79d13324211b860988d219ccb646143bf142fb14c3ab03663b06cfe9ca275128d9fa0 +DIST rust-1.50.0-x86_64-unknown-linux-musl.tar.xz 242743828 BLAKE2B f20feb709cc07ad43f69e30a7fcefa81b5de94ee4c90cbce2616fcda8af2591a27cfa0770b71138762e21f6e07263bf3c2548bcce1b707831ab544de12ab746a SHA512 68403236e213a4f2c156b36a03ca4dd7866fdb69e87170efc76426d937dcf5cf2c5578aaf73483131b1ce7750302f9d02de1bcbc52e1283b08220d5b22be82ca +EBUILD rust-bin-1.46.0.ebuild 6049 BLAKE2B 1331585de0dd796f805b582810cdb5eb3307eaff7ba4cbb31b7926d8afb8737d77574afc190e6c9cef3bef0fd32a79bc41a8d8060fd844d51dcaf0d9337ee198 SHA512 44cd4aa04e57cd8bfd5c816699704036d8c15f2a2b4ec8ff50a843a252115e7ae67089b0a3063a01b005346cbf02aeffaea14b377b347ad0899259e026586769 +EBUILD rust-bin-1.47.0-r1.ebuild 4310 BLAKE2B c162cb953c32a9f2dd1385a693ecfaaca22e1458fa32cc82637a1da355d8d3cf4bd35f26755bdacc0307ab3c1d4a43dbd0a8f875dd463c8bd6b68330fc9c371e SHA512 1867e216a941883c95b76b33edd72b1e3dca37a4d94155a869e74bdf4334e0f8c742a8b9402153dac0954959fe6ddf9572216d7d6d2f07d9d61b857f06755c33 +EBUILD rust-bin-1.48.0.ebuild 4243 BLAKE2B 2dfa07e23de0dca07d631fe914aaa116be4377bf959c3c13f93218cf9579c71ff881739615560cd973c714fc90b598e32be5cce4e27f1118b29e563e03696dba SHA512 ce8696e58a8af2a744e55b566eeedf9ebefe0c96ba168c4f76d5066717e8dd0fa158e897b969bab986a9e5f2d4e0cb93f5296758c0072e8499730a00c77d6b6d +EBUILD rust-bin-1.49.0.ebuild 4243 BLAKE2B 2dfa07e23de0dca07d631fe914aaa116be4377bf959c3c13f93218cf9579c71ff881739615560cd973c714fc90b598e32be5cce4e27f1118b29e563e03696dba SHA512 ce8696e58a8af2a744e55b566eeedf9ebefe0c96ba168c4f76d5066717e8dd0fa158e897b969bab986a9e5f2d4e0cb93f5296758c0072e8499730a00c77d6b6d +EBUILD rust-bin-1.50.0.ebuild 4568 BLAKE2B 5d927392c9787099126623cb01993ce1bb9a47046217604a05c60825d9689d379106fef79bca7d832b2bd87859bbeaf28d898910b69ce363673875068de159d2 SHA512 6c6f2b1801aa299fee2463bcf47c3e03d8eb6a74144f10d354d491cbb15602ebe4d46d7bc426a0834f34c9e5d2dc45dc650ceedcb66bec3a924568779c504144 MISC metadata.xml 489 BLAKE2B b9c157f91a878ec1196183173bb339e9beb832e9b002cd72ac5b0fc8a64e7d7b27d165f79bf34eb1debfa69c2381b5b9a74a9b52cefc9efdfe41c93ed72ecd9a SHA512 814c53f00547b8a2b12cab136c95222480ab34b1cec307029e66c7d712e1e00eb2a725ccdfe73d7f1b154b362867c7150caef3609daba20f8d4c2496c47f6b09 diff --git a/dev-lang/rust-bin/rust-bin-1.46.0.ebuild b/dev-lang/rust-bin/rust-bin-1.46.0.ebuild index 6f954fe44c5e..afa746bd1cb9 100644 --- a/dev-lang/rust-bin/rust-bin-1.46.0.ebuild +++ b/dev-lang/rust-bin/rust-bin-1.46.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -162,7 +162,7 @@ pkg_postinst() { eselect rust update elog "Rust installs a helper script for calling GDB now," - elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." if has_version app-editors/emacs; then elog "install app-emacs/rust-mode to get emacs support for rust." diff --git a/dev-lang/rust-bin/rust-bin-1.47.0-r1.ebuild b/dev-lang/rust-bin/rust-bin-1.47.0-r1.ebuild index 1668d61bc952..df69c8f7404c 100644 --- a/dev-lang/rust-bin/rust-bin-1.47.0-r1.ebuild +++ b/dev-lang/rust-bin/rust-bin-1.47.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -140,7 +140,7 @@ pkg_postinst() { eselect rust update elog "Rust installs a helper script for calling GDB now," - elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." if has_version app-editors/emacs; then elog "install app-emacs/rust-mode to get emacs support for rust." diff --git a/dev-lang/rust-bin/rust-bin-1.48.0.ebuild b/dev-lang/rust-bin/rust-bin-1.48.0.ebuild index 6e85b97e8720..df9fff31cfd2 100644 --- a/dev-lang/rust-bin/rust-bin-1.48.0.ebuild +++ b/dev-lang/rust-bin/rust-bin-1.48.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -139,7 +139,7 @@ pkg_postinst() { eselect rust update elog "Rust installs a helper script for calling GDB now," - elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." if has_version app-editors/emacs; then elog "install app-emacs/rust-mode to get emacs support for rust." diff --git a/dev-lang/rust-bin/rust-bin-1.49.0.ebuild b/dev-lang/rust-bin/rust-bin-1.49.0.ebuild new file mode 100644 index 000000000000..df9fff31cfd2 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.49.0.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit bash-completion-r1 rust-toolchain toolchain-funcs multilib-minimal + +MY_P="rust-${PV}" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P})" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" +SLOT="stable" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="clippy cpu_flags_x86_sse2 doc rls rustfmt" + +DEPEND="" +RDEPEND=">=app-eselect/eselect-rust-20190311" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + default + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd "${S}" >/dev/null || die + local analysis std + analysis="$(grep 'analysis' ./components)" + std="$(grep 'std' ./components)" + local components="rustc,cargo,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rls && components="${components},rls-preview,${analysis}" + use rustfmt && components="${components},rustfmt-preview" + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rls && symlinks+=( rls ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib" + MANPATH="${EPREFIX}/usr/lib/rust/man" + $(usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + 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 + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi +} + +pkg_postinst() { + eselect rust update + + 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; 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 +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust-bin/rust-bin-1.50.0.ebuild b/dev-lang/rust-bin/rust-bin-1.50.0.ebuild new file mode 100644 index 000000000000..403dbcaf3fc6 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.50.0.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit bash-completion-r1 rust-toolchain toolchain-funcs multilib-minimal + +MY_P="rust-${PV}" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P})" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" +SLOT="stable" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="clippy cpu_flags_x86_sse2 doc rls rustfmt" + +DEPEND="" +RDEPEND=">=app-eselect/eselect-rust-20190311" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so + opt/${P}/libexec/.* + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + default + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd "${S}" >/dev/null || die + local analysis std + analysis="$(grep 'analysis' ./components)" + std="$(grep 'std' ./components)" + local components="rustc,cargo,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rls && components="${components},rls-preview,${analysis}" + use rustfmt && components="${components},rustfmt-preview" + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rls && symlinks+=( rls ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + + einfo "installing eselect-rust symlinks and paths" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" + dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" + dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" + dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" + dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" + + # musl logic can be improved a bit, but fine as is for now + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib" + MANPATH="${EPREFIX}/usr/lib/rust/man" + $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') + $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') + _EOF_ + doenvd "${T}/50${P}" + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + 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 + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi + + # BUG: installs x86_64 binary on other arches + rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die +} + +pkg_postinst() { + eselect rust update + + 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; 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 +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index 0980ee97fe03..99c77079e1bd 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -5,6 +5,8 @@ AUX 1.47.0-ignore-broken-and-non-applicable-tests.patch 2862 BLAKE2B 96363bfcaf3 AUX 1.47.0-libressl.patch 8929 BLAKE2B b48e2ab7b9e391aefcca890dbb65276a873f40fb59b1c0bbd18548b678c2f1c10b3508f255015f5916897f887062a426b7419e37e0eee542edaf5bed455e028b SHA512 0638f67832e35674df1a6ff0ad2a05fef7a8fb9b4c4115ab6d926ded70aadd1494d9d9348f3af0e142c86acee62a68b43ad1bdd66e1feff1e6603dc813d36bf5 AUX 1.47.0-llvm-tensorflow-fix.patch 2535 BLAKE2B 8baf9b938f59d4180af536d24d99789bf1d9d5258eab8c85add4b0c78fcaceea173606711d68bc9597be06cda5384c528e53d01ee5b66408efe66c38cf75b9ba SHA512 206148d8f017dfe206a0e9d436cbdef68f1e433ce0adb7b865d0dfccbb509a6c16f8c8ca76d433ec68992871cf6ac1d808dcbc66995dcaa87928cac08237dad7 AUX 1.48.0-gentoo-musl-target-specs.patch 6489 BLAKE2B 37330507a03aee9b807b2142e264f6418ea63a1838bf0c39460d3cb972423dc515334e0d440088ede2f1062c0bc3e382fa4e86dc256baccfe4fe82eaa3e69125 SHA512 6e87a5d166c4f876c48a8b65f3420cfe48bc711d3126f31fa4c432968986724469cf04bf5bc301390a47022dcec5c885ca706fa543e5117329c47510fd88b04f +AUX 1.49.0-gentoo-musl-target-specs.patch 6377 BLAKE2B 07e037353210292bc576ebbbda2afc489efeb696dffb34b4c5edffbb512b0ba5944cf641e625dd8a158cc7234b70d49d377397aab8cb9a86b4ec6f5a50a6cba6 SHA512 e166d4ed3e321257cef03655be98915badef432de10aa2bde2a4b9f1913dbb774a29a72d7d2861f69d02a37fd9f7c753c551a3e65fb7da4dfa78a8601eab8d38 +AUX 1.49.0-llvm-ver-display.patch 1248 BLAKE2B 756e0d9a2b0e223d931dd4c85929420bb9ff35c77dfb4c0f69aa999c0dac527dfc2d28684d1e6a8aef4a03d0b1ab638d0fe5092529fcc7304fc0e4209eb6ac7b SHA512 f349fb65e742953092f7b84f05355c1157e68f7d3401d63b89b43d07ba44cf6dccf389025444a7e30c414c0a8dc2c09424916e6644bafe5529118746a8c62af3 AUX gentoo-musl-target-specs.patch 6500 BLAKE2B 07fe556fa39789a7b2ad0f3cb2e3885dd2a234216abb1e6a6aec4653b0d5da2ca9b29f2c2b5ac3ad95cde65203722c90079169dd46719f04a7c3cf5cffb7d8cb SHA512 55678d07fd7834e85da6ede69ee71115f5af92919deda122b5aac8be73c4d92f437e790f6dc8a566b0b738f07a0d6e0c738d4b5c8cec004b86de206b8d939c8f DIST rust-1.45.1-aarch64-unknown-linux-gnu.tar.xz 110598096 BLAKE2B a3defd33d2c223012c9eb7b094c77f338ae9beb8661412966a62b4bc868175cf91489f4328a8dc7d0b84b892dad713d2c4f4d180c55dbcd2ffd58c3920585e84 SHA512 fd64aaa3d8137d62c838f0ef554ff159c84263a4734556c0e4ef911d3f87921f846d70d76983fe8ebe9679477915255ceea69c8a9769797893827d5d67e97b0b DIST rust-1.45.1-arm-unknown-linux-gnueabi.tar.xz 115140648 BLAKE2B 537fe3874c0b09b8cad304c09ca36824cd77916508e7527b9b53a3a8a37ddeab3e760bb1f40c185a91a1eeba7953d7d9d2687e1d341b0833e2a129994e4a9014 SHA512 a3c36dee2f7cda77dd307ad61065c7ce20a433689a3396d8c286b07f0f2aea666881dd4089e2332a0793a51a72189928919a477e72e7f44a64b41101c65cf9ed @@ -48,10 +50,42 @@ DIST rust-1.47.0-powerpc64le-unknown-linux-gnu.tar.xz 141965604 BLAKE2B b4b7ce86 DIST rust-1.47.0-s390x-unknown-linux-gnu.tar.xz 146987276 BLAKE2B 1810e7bfbd235613563677449376167700c33960eb57b100e65058f6a00692316db518f2f4b79b39e414f3892c62bb1ec09b0866ff2221641c4a3056659a1668 SHA512 dd5877b6ff5c310ca6aa23c1cc621e6b0675d4c46f5a06b2a0b107641b604a1a2101109ba8e286267bab1158768c601d5d9a922a8da72486c91755ef465720c0 DIST rust-1.47.0-x86_64-unknown-linux-gnu.tar.xz 150891572 BLAKE2B 45ff02465ba82ae96de25dd616fa08abb2396be21236d2f66f831effb349f39b047a380b38cb83254f27e56cecdbea8478f4de8ccc0aa23b11de2f11a28f501b SHA512 f695986ab8e67636b0e92ca7ea223984121e3c22788434a6f1062690e7932f6b30c0c302160fef96831f821acedaf8a909bd3d00a9aa873c7200d2b8fa39013f DIST rust-1.47.0-x86_64-unknown-linux-musl.tar.xz 166456672 BLAKE2B d6ccfc574a81ae3e9e6a96805e6863009970b5c480f35ee0d582a204b782fe513b9c6c7094d1adea509de1a3097a8a0524ac00c2186b968f70f390615904eb5a SHA512 f71b162635955ecd8a6ec322818be69c788c18d4e923d84d901916648f2eb58573b1f97b460209294ee64198e76566b78e472f9cbca8665c59444adfc5ae603c +DIST rust-1.48.0-aarch64-unknown-linux-gnu.tar.xz 133782948 BLAKE2B 95e80db4734a91a1aed6433cb6dcc65358ef713f365216f6c344c4940c2b5e43b7dc5805f53635c4e7585e70c9d5773b6c93034fa2ffd0a28efb2f20a18f1be8 SHA512 6ebbd936b1bc2ccf30b62dbbbc6f3986fb57738d89e33a23d58bab09be57a445c17df7912866add91cc108ef7547d229a08c6206db2d2fb00d72887ff6a0894d +DIST rust-1.48.0-arm-unknown-linux-gnueabi.tar.xz 133293068 BLAKE2B f98129d16e0de958a164233a1cc6317dc64eeeee76aa88b6982af2cb0a4b9f798a989b6bc153dcd55a7a6dfd3a8a6b36330faae82fedc133ae927b75638629aa SHA512 8958b8548711bb393e188d7516a842dcde5e7f9751804a90621d28a787a28b330057f343f14f930bafdcbdd8fa2cf391d6a4c1953f6d33a34bcbc65fd0e24e9b +DIST rust-1.48.0-arm-unknown-linux-gnueabihf.tar.xz 132424008 BLAKE2B ed0aad5dba3eff6ca18eac5e7fc1864d2b72e262b5c8d6b510196653edc505bcb2327d529b326b10279ad19d6e2258e40103ed39067094f6ac2bd9dfed170b35 SHA512 d932676a579eed1849e58c133aa3759750b01436aa6f837098953cc558b9025427bdd54f1f2688aa0022934c48177da34874e27cc319c7bf1c96e219615d2bb2 +DIST rust-1.48.0-armv7-unknown-linux-gnueabihf.tar.xz 134716224 BLAKE2B 1918eadca80dbaacb4700dc5af8c791cc0966a29b4d01bba10e8ec31d5506a2748f4a0c9ed6695e9aa9cd88511e0dc347354a1410b419013757d9ae443e9e9af SHA512 9763b0c5bc5dc7b265b86636ed32947aab98bd9b5732c4b298ade93e9a09bab82ad37fc7ca2d7c97dfd87634756b3c55015d47696c0a6ed2cb44be03659bcf55 +DIST rust-1.48.0-i686-unknown-linux-gnu.tar.xz 161602224 BLAKE2B e4f1d1b51d520f85f7af8ddd12ad716d8c501a25d1bcdf40efd23902da9c35168108ba705c08a7aa3617ac1afb41584180d1d2399732918900f9126158111c25 SHA512 b8b3c5407304a333fc6c10ad70363589a88673640dda7b5fde8971097e679f56a8c733da31b2183044ae2ce30700db923cc3c3cb8c590d785df680b60b199451 +DIST rust-1.48.0-mips-unknown-linux-gnu.tar.xz 96393696 BLAKE2B 6cd06b3b1b8aeb4b251bc14e47dd8b8cd099f9292705402d718657de4efd480f8999bf23694d9be455236e3ebd4d330b2645a0333eeab7f9a189239df5e02698 SHA512 973130e8c0924e4a22e3b803102b96e80d6247328879a92c3bf0d9e80ec185264b980bd481ee79b6f8afe8e47f7fd61b9657a85adb7ae99008357d39e2428a39 +DIST rust-1.48.0-mips64-unknown-linux-gnuabi64.tar.xz 107548156 BLAKE2B 98b481032689f094490689b3af5a0a9162c8bf0ac8a60203b0be2de0f0ac555296e0401d1d534934d2faee852c61b20324aadf0a1696dd57607b71389f03071a SHA512 b3adf893d3e1a36da859bbd3cb39acebb2358522591694e636574ac5a1f81484a60ee53a9de7f348717fbfdaac9f2dd6ec27ea78959cdf94346d251d4a6be877 +DIST rust-1.48.0-mipsel-unknown-linux-gnu.tar.xz 97538116 BLAKE2B c4777428637bf2a08964b0abf048c2ea3b895901130f6b2c4307bfd448c7e09e2d8e862d0a10bab23c73a580aa2e9d868c7716d6a7fd103fa40f0d4207090c71 SHA512 09529c30c2b31317a495b058ee48d8ad7b0c89a59a70e62c9085d59bbd2f22a37223956a13959175cd05b195b7541feac9b8acc49438f575fce3fad26d2bd927 +DIST rust-1.48.0-powerpc-unknown-linux-gnu.tar.xz 106401772 BLAKE2B 2b10bb21198b9104dee49038ca4a7bee9dc93331465166ce9ca451d84c7e759e7bd5635c017223f6a1b96f71430a8240bd65022e9067fb20e5be85d06e79baba SHA512 b77afbca6fe9f1122c863bee14a764adb1dc5f233058292c5aaa72e50f473c1f9cccd1fc08c427485a7edab460fcea595544fd902d5f96d290e208aa03d910a3 +DIST rust-1.48.0-powerpc64-unknown-linux-gnu.tar.xz 120497676 BLAKE2B 6aa1dedcf5953f1292997fa7aac19067a6daa5e676a7e5fb7b7a29707831328b5514a88904edcc00dcf76d32e911646c8a349e40431a531585c373ce755bfb3c SHA512 f79e1f984cc3c4dce08599418be2885666e0b6f73e639b10e97ffff4b900606d880c0596b6c2ab7c5f999cfc364d22b2ca6ab88db6ba38b8b227670b222fe23b +DIST rust-1.48.0-powerpc64le-unknown-linux-gnu.tar.xz 124335896 BLAKE2B fe95cb27e69258d4b0fe471e856bc98d4ddae3d90c7d5bbd723575cb86da28061c8b0ca8f5fd945f0ce4789997f5e7658edf5f40b57aa215d76ffeb3c3207602 SHA512 7ddd2b0599872012f8613ccab456622cb05a0a43587b7d389e8b7fdf9381f0387763726d892da931233c89e8e3ce45c2b303ed00b1cce1f91c88d8f88d6b148d +DIST rust-1.48.0-s390x-unknown-linux-gnu.tar.xz 127221600 BLAKE2B 08511be6aadc0feb36caa19df5914a207565eed3b4b3914cad7fc8f7170011a7431c14d50b1334f5d5e00b4c94e7e84ee59afad179286e889480cc9b21e1f402 SHA512 b2b1565f3b1cc0c3bf4aa06aba1da7df775c6e29c892ca7727d0e549f175b632080433be2586e799c5636231de6c678f0228dedee8358fbf167016a1f7d25389 +DIST rust-1.48.0-x86_64-unknown-linux-gnu.tar.xz 155254844 BLAKE2B 37bce978eb297bb1732f9d513bb6fdcee4aefc42a578496a84b5f8abbb9f90f1c524c73f28c85f33c25a365bf5ba566253b1739009bb112c2e1d46a2ed978e10 SHA512 0784e156e70c47386abfa88ecfeb62b1109364459b1fee225de0749c30379c4eb443ff3ff7faa7dc1a6ff373bc6eb43997007f937889cb35daf940a74641753b +DIST rust-1.48.0-x86_64-unknown-linux-musl.tar.xz 168361012 BLAKE2B efeb9a9812f2fa2cbf1cfd963b5b714cf18d73ca9b7a3de4efa701acf7e2e8fc3b610cd90f7391b10bddd1c9d44b8b0aa910f58ce739750d4e910b063825dc28 SHA512 7188fb0b1bf6fd6ab320089cd17f334867baefec1a9c57a81e6cb729276456e56850938dbd0eafbc52375266a87392ad3045a4dbd2c41689bba6b0da152e4034 +DIST rust-1.49.0-aarch64-unknown-linux-gnu.tar.xz 179627172 BLAKE2B 911fc176a7161bf3ca1a6ec01ec38d4f1792b11feb3c24c9587f8feb2923b42aa97f0e3391449ee1189507b9bdc2ef16be8f064ac3161f73aba18fd7b11c8f5d SHA512 fa81b618359c2952de941e094eabfe2966e3c1a39a1b20452a77f1a68a54dde9cc5cade18db911cf448ffe947d934461ce752112bd9b5b5430e1fcdabbd8b56a +DIST rust-1.49.0-arm-unknown-linux-gnueabi.tar.xz 172021916 BLAKE2B 69e80df9f8d582c8216adfcd27ce8a19a9af49f27423fc3ee478ccb8b60b489e36c1f38633c86c58a504b2110cebf4026dc418e55897caf60865c21209ea2366 SHA512 2ea1d8564577cb4f687384e0d933e6ed7e1e5c95aeb49410d660409a23867959bc175344fa00bdc342cf511ea867cb2d97507af117e7d5b34714e69d4b8ffaff +DIST rust-1.49.0-arm-unknown-linux-gnueabihf.tar.xz 173557760 BLAKE2B 63c1815b3bfdcb5bf1c745bd8b85cee052b2c85f42a800166da6ee66374716e899919fac7b9c75d0a6b0ddc963e22e2b842ac382eca431433cb1ef4c1d568ad4 SHA512 9c4a49b8a3bf11d5e0f3d54032e2dfee8779f3fb68676a219c9b8e344539a3dd840d912167783f3fbaa3bd3fbf73b6bdd5afa9343c042a67496ab57c9a9ca96e +DIST rust-1.49.0-armv7-unknown-linux-gnueabihf.tar.xz 176194076 BLAKE2B 1d2a1eca1d44d48cdd542411acc0f1a81767b6e62c744c800a840f3ecdcc060acd7552d342539230f85cf3e2771f8aa4a2c1ff88efaccf7021bbb2e0af71c222 SHA512 1cba85fc958371aeb1d521e8842ad576e65d244147e2c75c34eaa776552ed025434d10284fa976d901d6cede69f6db3e5fdd770005ca0b93bb5e3202b9f9392a +DIST rust-1.49.0-i686-unknown-linux-gnu.tar.xz 201492368 BLAKE2B b666693ffd3468330c3aaabc81556d3f6c907e136f98edde9ea4605bd95a5750e57432a51e5eba0643a816b4281129f1cc295cf9821d5f285cdfd8cb3cb68c3f SHA512 b4d39cb234314f013969b5db3d365d21719d7a01f2dc0816e4f221c5e6d4abecd7f9e83f54b8640173d00d3e701cb3cbb61cef32f00db9356139005a1ce3bd19 +DIST rust-1.49.0-mips-unknown-linux-gnu.tar.xz 134041460 BLAKE2B 0e779b3494221f22529ba7a4b9e1098186965d36f7cb94b5d76c84bd4703c354ebc57aa03a58fe3b5592c1543ac6193575f9d443cd8fa663a69d9af1ae7d0b82 SHA512 9293814a64d7382f97beb137ccb8beeeb76ae5f71d6db7d2c70f3c643a877f5991c0abc2d53270bccaa6aa5c8de4f0e46fe4b92ad09e2253e5cd5487a3f46d6c +DIST rust-1.49.0-mips64-unknown-linux-gnuabi64.tar.xz 143820152 BLAKE2B f22869487eac68f5ed698da1b05b1c53ae138cff79d2c5011008663b027858c5b91ce1b2f26924ecc17d13ca9559ff444e1b03a44a5b3b536e66753075c8d05a SHA512 ea1d90a388c44a2e5bd5f51dd5e8b95721e49c8284369cd638560e9c729c8a7c54ba6cccf55547f0b0b1731498623eaf743783cfd67e61c13f89f0ad9275c051 +DIST rust-1.49.0-mipsel-unknown-linux-gnu.tar.xz 140145252 BLAKE2B 5a26ca9e2af4a2d96c34da29e50c5c68b1fb0f2e6db20685853a4211042aee76f0f86b17c4697bcecce99de21ac7b60b055ed43cd2acf03dfa043eb5e3546692 SHA512 a2079d5068737cae36532c2922fc4aebf4aac723208804a128a1234ae78868f20a6559a967cf01a456ba7de2bf48ea3961fc9a31dd3bc45130b0de328a712295 +DIST rust-1.49.0-powerpc-unknown-linux-gnu.tar.xz 147163992 BLAKE2B 4822af4b54a22214425e0dd993081f0bc7b0ae0973c0e11d021a2a8671f05272b2cb6b3ca307eef9b3ad25db6a1eef7976f1e8e4ead8ac4c5226d9c7596c0f6d SHA512 905c624baccf0bbcd166407a8722909b2645c7e1993e80a37aa4cfe43d0dce5b92db2c5443295ecb79fa6c3c2cbe6e0e67ad7f8ba312075fb8960cbe50183a25 +DIST rust-1.49.0-powerpc64-unknown-linux-gnu.tar.xz 160585188 BLAKE2B f0e4a5da3767b1bfb633c899c1b9b2ee9725d8bea9154142037cbcc9212d67a364f0eb130ea4d2a4c62d0fe55a8d9d880faac2f6e167155a99a235f7ee28fc1d SHA512 36f94b0ae399f872a22c697225abcb35a893ae6e4ed369961edb693299cb58e294267b1d73a99555057618f179202a70ae2fdcff2b3bedbabf2774b3809a2a62 +DIST rust-1.49.0-powerpc64le-unknown-linux-gnu.tar.xz 169253520 BLAKE2B 4648467a84d7f81f63ddf610fce6e1e2388ce5c91a7ce73c8b8d054356bfcba379d4d0a543fdbc9bad9b689b10f8dffa4c145b83ff02ac1d77ede7f600bb5924 SHA512 c17eb27ec4dbcc56da3edffbc57e0edda99744d6a0d38369fa08af066894aeb13dd78c7b8055f2246fc3bf13c654842675ea4df44b7bc8852e0f9952acdf7e7c +DIST rust-1.49.0-s390x-unknown-linux-gnu.tar.xz 170753008 BLAKE2B a81618240d86d4a70bd27f3e33caf0258868539b3b081a8f8f461a3debf82ab1493fea18dd5a32083d1f34db268f4bff471f5f45fb3d4910dd9559f227dc3aab SHA512 25259ea2e499c89459b14571e2c54f230d642af9cfe539dc2b8be15eff0e23b8c6e60af4c567bcbb6c6c185b4537eaab19c3395fce48b1f6e5ef1234efc31e3a +DIST rust-1.49.0-x86_64-unknown-linux-gnu.tar.xz 144752500 BLAKE2B 188fafdbff02cbffae22e8a48d259119c59aa435252477ba3b4f4522cc00c90d9a242bd5ac76e8d8210bd032b8f78538e5f95606fe2c862ffd7477acdfb6e1a7 SHA512 c008aa50e17db6a0134fb85235a958258d345410f5063bc77175f7c28b2e35895427b9e68cd1ac9acb769769c83313cd59fe6465b453e891cf415a2514b7722d +DIST rust-1.49.0-x86_64-unknown-linux-musl.tar.xz 217795696 BLAKE2B 264348951db96a9f046e4bec599b92a5ee6d185d961f833f8d2127c1ac4578b91401834d09b5eed421f03d14933ff3b2e85961ff09927d19bf6c701d80eb1b67 SHA512 be165de42e3acd50f6e6a21fe386ea2333fd0f19abedbb059d6eb8ce8c80a8e79257eab8a7775e3b72307596b52e803bd8c4c46330a6e66acbadbe2f63cea42a DIST rustc-1.46.0-src.tar.xz 101868452 BLAKE2B da9798596b124a10d79c236a871228f05e5f571d22c2259328e7026c91e088c85f5de9c0536a16531e0cb10477bfcd16d3ac11467979f5561cb6199442b877ef SHA512 099857f1d295043587a4e2a65ef3e6a90e12c8b6958e98535a1656c113c553f9a9b621aba8a19cf21bd8d2c79d27cbfa4b8e6fabbcb3cbfee23b545be7b450b4 DIST rustc-1.47.0-src.tar.xz 104143736 BLAKE2B 0454094dde35275488046826da87655e51bf0795481d6d08fd70d644bfc12481bca8641166106ef32f20494906025244715b16ff21a1c023f4bd2818aab42521 SHA512 6ba83c0158f8130ddeae7e070417a2121d8a548c8fe97e28bce116d84048636c75aaee78e0c92cd43a50f5679a1223fc226cc8c5ba9bbd1465e84c5c6034d5c9 DIST rustc-1.48.0-src.tar.xz 105951736 BLAKE2B 42468fc5ac5e80c4793cfe0913cbb8e43a8def28cc8cf5ed25ab989561e2bf33e155c83e180183362535cbc9008f341eb1273087a2364672b1a4032ac2d6ca45 SHA512 4e12baa6893238a8d336ec9ebe891477d18676f271b32763474fa7a6a8b58fb3187dd4e2aa95bce482989b692cc2e1360221669d6811eec71b326f22a1756c23 +DIST rustc-1.49.0-src.tar.xz 108330280 BLAKE2B 65e36253482ded2df225cbbf15253b6c9a8ae935053b071d9fb9e7b1d47d5d3ac47a138876e4a5cfeda455c655ac06ceff2658c8668cef7d2206116906740653 SHA512 fd8bc67ec0a73d3b6bf9c1fabb7ea981ef817644b4e6ced982fa90b12eae9b55de074634a670bdfb38bfee6588603e818ddcbcc2f2a05f83057c061b4194b4b7 +DIST rustc-1.50.0-src.tar.xz 108666272 BLAKE2B abb1b6f57093334bae5892dd99c964ffaf5e2b906cc92f0b92d5786cf80484cff923643169f24f4f92a5724c21b8bd671c72531c2cd1f6fbe0ea7107b5bd923b SHA512 df3c83c0fdc9ebce6fdccddda781dea0cdbd88d2b2a8220cac40cc3a8fa957923ae834d1fa45283d4ad227b334bd9e220e37a4a1ad7a1c7aeb806ed9ed387245 EBUILD rust-1.46.0.ebuild 17326 BLAKE2B 0b299e783401047098bb3fc9146bea45082801b7be5407f975f2da2250197bfcd0320ef4e283713da3c55dba536522664f48c256f433697e1852921abb3b3d38 SHA512 deb46f85391ade9568e4393b17590d07f64e29bdd02559b980b7e9a3717d9ac7ceb07c14585bf01fce300bae6d401779189bcaa9ea2639f283755d1529645cf0 EBUILD rust-1.47.0-r2.ebuild 18737 BLAKE2B ebf29c6480c4b9104f506cd92036de09a48ed4e350f45dd3f914e173b16f5291e95b3927c325400b30a3c05adbf32f2491b516c4a3005a985cea534103cd429b SHA512 0712a295a4b26b881edf6bf629f093c7f6ac26c4a7791fabe2f449c7bfedf9437b629de0cced467c0f406cedae9c755a05ba3b0fb3b443350945f1aa388d3a89 EBUILD rust-1.48.0.ebuild 18059 BLAKE2B e31f43e18ba19ef5ff3abafaf96b982efd06adf70913ee6cb150ed0695890e3df0cabe56ddc5a7182899160fb0e1d29b80b7b9f13f725c8308bcc42d1459be80 SHA512 ecc1bfa9d4a560eddf96372e5ae09a40c71b9faa7e4d318a5dac2fb7aa15a000d985726e8e1da7fa4a6fc9888ac6f3250bd9a1f14780aeec8c7660bf81e5a29b +EBUILD rust-1.49.0.ebuild 18104 BLAKE2B 88703ad5473125ef8eb7639b78c490e22ad2c0dca50145de961225eec232304db8c26ee0e9ac372b360dd44086246fbfe9a42e9b0d67eef551e93fbb7d34833f SHA512 2c83ad1d28bb6840e79a0eddb3da5f8406a9a2c5ca0bfe167ff3c087a2a145b4c49d18ce99566322c1d486e27d1f3e882a0635ee89abecef713891db7b8ac36f +EBUILD rust-1.50.0.ebuild 18277 BLAKE2B 0a5898906b7e97b10ee4d447d6955537eeac4cf1a347d2643c16e8c9eeb247319de718ba5e8829ab4f83d63f0c305550726e19354b42de7678955663bdf4297b SHA512 136377e7e90d407802923fe57d46e921b1e1932fa24556fab1155d3dd1e63b133fca6418ff643ffef2f80cd9dd9d41e45017e48917b1682d72446941370fd7eb MISC metadata.xml 1083 BLAKE2B 7a7b093c22dcaef58bd67f9c2fd84a000696b234d2bc27315999bf6751cfd2a79441fd22efc284a542ecc84ce1a12ff9ca3495d249eaffa5bc1722b385c6109e SHA512 bfe8c140753e93db67244c92e9a7d193691ceb67de796c30a851966a1262bc5c897ead6e13d728775fa524215b6851609dcbee582022d9d75bb8d1e6fabc4ef4 diff --git a/dev-lang/rust/files/1.49.0-gentoo-musl-target-specs.patch b/dev-lang/rust/files/1.49.0-gentoo-musl-target-specs.patch new file mode 100644 index 000000000000..25f1f27fcce6 --- /dev/null +++ b/dev-lang/rust/files/1.49.0-gentoo-musl-target-specs.patch @@ -0,0 +1,164 @@ +From 671ef2d1c228aed031b4232b8bea96f17b825263 Mon Sep 17 00:00:00 2001 +From: Georgy Yakovlev <gyakovlev@gentoo.org> +Date: Mon, 23 Nov 2020 14:52:04 -0800 +Subject: [PATCH] add gentoo musl target specs + +--- + .../src/spec/aarch64_gentoo_linux_musl.rs | 11 +++++++++++ + .../src/spec/armv7_gentoo_linux_musleabihf.rs | 11 +++++++++++ + .../rustc_target/src/spec/i686_gentoo_linux_musl.rs | 11 +++++++++++ + compiler/rustc_target/src/spec/mod.rs | 8 ++++++++ + .../src/spec/powerpc64_gentoo_linux_musl.rs | 11 +++++++++++ + .../src/spec/powerpc64le_gentoo_linux_musl.rs | 11 +++++++++++ + .../src/spec/powerpc_gentoo_linux_musl.rs | 11 +++++++++++ + .../rustc_target/src/spec/x86_64_gentoo_linux_musl.rs | 11 +++++++++++ + 8 files changed, 85 insertions(+) + create mode 100644 compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs + create mode 100644 compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs + create mode 100644 compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs + create mode 100644 compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs + create mode 100644 compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs + create mode 100644 compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs + create mode 100644 compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs + +diff --git a/compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs +new file mode 100644 +index 0000000..420fe7c +--- /dev/null ++++ b/compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs +@@ -0,0 +1,11 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::aarch64_unknown_linux_musl::target(); ++ ++ base.llvm_target = "aarch64-gentoo-linux-musl".to_string(); ++ base.options.vendor = "gentoo".to_string(); ++ base.options.crt_static_default = false; ++ ++ base ++} +diff --git a/compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs b/compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs +new file mode 100644 +index 0000000..067e2d6 +--- /dev/null ++++ b/compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs +@@ -0,0 +1,11 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::armv7_unknown_linux_musleabihf::target(); ++ ++ base.llvm_target = "armv7-gentoo-linux-musleabihf".to_string(); ++ base.options.vendor = "gentoo".to_string(); ++ base.options.crt_static_default = false; ++ ++ base ++} +diff --git a/compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs +new file mode 100644 +index 0000000..1cd39cd +--- /dev/null ++++ b/compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs +@@ -0,0 +1,11 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::i686_unknown_linux_musl::target(); ++ ++ base.llvm_target = "i686-gentoo-linux-musl".to_string(); ++ base.options.vendor = "gentoo".to_string(); ++ base.options.crt_static_default = false; ++ ++ base ++} +diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs +index f1e8330..d8c0ba0 100644 +--- a/compiler/rustc_target/src/spec/mod.rs ++++ b/compiler/rustc_target/src/spec/mod.rs +@@ -490,6 +490,14 @@ macro_rules! supported_targets { + } + + supported_targets! { ++ ("aarch64-gentoo-linux-musl", aarch64_gentoo_linux_musl), ++ ("armv7-gentoo-linux-musleabihf", armv7_gentoo_linux_musleabihf), ++ ("i686-gentoo-linux-musl", i686_gentoo_linux_musl), ++ ("powerpc-gentoo-linux-musl", powerpc_gentoo_linux_musl), ++ ("powerpc64-gentoo-linux-musl", powerpc64_gentoo_linux_musl), ++ ("powerpc64le-gentoo-linux-musl", powerpc64le_gentoo_linux_musl), ++ ("x86_64-gentoo-linux-musl", x86_64_gentoo_linux_musl), ++ + ("x86_64-unknown-linux-gnu", x86_64_unknown_linux_gnu), + ("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32), + ("i686-unknown-linux-gnu", i686_unknown_linux_gnu), +diff --git a/compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs +new file mode 100644 +index 0000000..e840bb2 +--- /dev/null ++++ b/compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs +@@ -0,0 +1,11 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::powerpc64_unknown_linux_musl::target(); ++ ++ base.llvm_target = "powerpc64-gentoo-linux-musl".to_string(); ++ base.options.vendor = "gentoo".to_string(); ++ base.options.crt_static_default = false; ++ ++ base ++} +diff --git a/compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs +new file mode 100644 +index 0000000..1037d82 +--- /dev/null ++++ b/compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs +@@ -0,0 +1,11 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::powerpc64le_unknown_linux_musl::target(); ++ ++ base.llvm_target = "powerpc64le-gentoo-linux-musl".to_string(); ++ base.options.vendor = "gentoo".to_string(); ++ base.options.crt_static_default = false; ++ ++ base ++} +diff --git a/compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs +new file mode 100644 +index 0000000..a623ffe +--- /dev/null ++++ b/compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs +@@ -0,0 +1,11 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::powerpc_unknown_linux_musl::target(); ++ ++ base.llvm_target = "powerpc-gentoo-linux-musl".to_string(); ++ base.options.vendor = "gentoo".to_string(); ++ base.options.crt_static_default = false; ++ ++ base ++} +diff --git a/compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs +new file mode 100644 +index 0000000..f330473 +--- /dev/null ++++ b/compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs +@@ -0,0 +1,11 @@ ++use crate::spec::Target; ++ ++pub fn target() -> Target { ++ let mut base = super::x86_64_unknown_linux_musl::target(); ++ ++ base.llvm_target = "x86_64-gentoo-linux-musl".to_string(); ++ base.options.vendor = "gentoo".to_string(); ++ base.options.crt_static_default = false; ++ ++ base ++} +-- +2.29.2 + diff --git a/dev-lang/rust/files/1.49.0-llvm-ver-display.patch b/dev-lang/rust/files/1.49.0-llvm-ver-display.patch new file mode 100644 index 000000000000..e2b6396b5eb8 --- /dev/null +++ b/dev-lang/rust/files/1.49.0-llvm-ver-display.patch @@ -0,0 +1,31 @@ +From 64c1b0d614949f405d8b4498a3b2ea59d9ec230e Mon Sep 17 00:00:00 2001 +From: bjorn3 <bjorn3@users.noreply.github.com> +Date: Wed, 13 Jan 2021 12:15:42 +0100 +Subject: [PATCH] Fix -Cpasses=list and llvm version print with -vV + +--- + compiler/rustc_driver/src/lib.rs | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/compiler/rustc_driver/src/lib.rs b/compiler/rustc_driver/src/lib.rs +index f434673c39e10..c668c94bb08c4 100644 +--- a/compiler/rustc_driver/src/lib.rs ++++ b/compiler/rustc_driver/src/lib.rs +@@ -808,7 +808,7 @@ pub fn version(binary: &str, matches: &getopts::Matches) { + println!("commit-date: {}", unw(util::commit_date_str())); + println!("host: {}", config::host_triple()); + println!("release: {}", unw(util::release_str())); +- if cfg!(llvm) { ++ if cfg!(feature = "llvm") { + get_builtin_codegen_backend("llvm")().print_version(); + } + } +@@ -1096,7 +1096,7 @@ pub fn handle_options(args: &[String]) -> Option<getopts::Matches> { + } + + if cg_flags.iter().any(|x| *x == "passes=list") { +- if cfg!(llvm) { ++ if cfg!(feature = "llvm") { + get_builtin_codegen_backend("llvm")().print_passes(); + } + return None; diff --git a/dev-lang/rust/rust-1.49.0.ebuild b/dev-lang/rust/rust-1.49.0.ebuild new file mode 100644 index 000000000000..1ff75dfdbed3 --- /dev/null +++ b/dev-lang/rust/rust-1.49.0.ebuild @@ -0,0 +1,616 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) + +inherit bash-completion-r1 check-reqs 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 -> rustc-${PV}-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 ~arm ~arm64 ~ppc64 ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 + NVPTX PowerPC RISCV Sparc SystemZ WebAssembly 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 libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +# Please keep the LLVM dependency block separate. Since LLVM is slotted, +# we need to *really* make sure we're not pulling more than one slot +# simultaneously. + +# How to use it: +# 1. List all the working slots (with min versions) in ||, newest first. +# 2. Update the := to specify *max* version, e.g. < 12. +# 3. Specify LLVM_MAX_SLOT, e.g. 11. +LLVM_DEPEND=" + || ( + sys-devel/llvm:11[${LLVM_TARGET_USEDEPS// /,}] + ) + <sys-devel/llvm-12:= + wasm? ( sys-devel/lld ) +" +LLVM_MAX_SLOT=11 + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-$(ver_cut 1).$(($(ver_cut 2) - 1))* + =dev-lang/rust-bin-$(ver_cut 1).$(($(ver_cut 2) - 1))* + =dev-lang/rust-$(ver_cut 1).$(ver_cut 2)* + =dev-lang/rust-bin-$(ver_cut 1).$(ver_cut 2)* + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + dev-util/cmake + dev-util/ninja + ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + elibc_musl? ( sys-libs/libunwind:= ) + system-llvm? ( + ${LLVM_DEPEND} + ) +" + +# we need to block older versions due to layout changes. +RDEPEND="${DEPEND} + app-eselect/eselect-rust + !<dev-lang/rust-1.47.0-r1 + !<dev-lang/rust-bin-1.47.0-r1 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warnings +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +# causes double bootstrap +RESTRICT="test" + +PATCHES=( + "${FILESDIR}"/1.47.0-libressl.patch + "${FILESDIR}"/1.46.0-don-t-create-prefix-at-time-of-check.patch + "${FILESDIR}"/1.47.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.47.0-llvm-tensorflow-fix.patch + "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch + "${FILESDIR}"/1.49.0-llvm-ver-display.patch +) + +S="${WORKDIR}/${MY_P}-src" + +toml_usex() { + usex "${1}" true false +} + +boostrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=6144 + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rls 512 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + M=$(( $(usex system-llvm 0 2048) + ${M} )) + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 15 10) * ${M} / 10 )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + + use system-bootstrap && boostrap_rust_version_check + + if use system-llvm; then + llvm_pkg_setup + + local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + if ! use system-bootstrap; then + 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 + fi + + 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\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm32_base.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + local tools="\"cargo\"," + if use clippy; then + tools="\"clippy\",$tools" + fi + if use miri; then + tools="\"miri\",$tools" + fi + if use rls; then + tools="\"rls\",\"analysis\",\"src\",$tools" + fi + if use rustfmt; then + tools="\"rustfmt\",$tools" + fi + + local rust_stage0_root + if use system-bootstrap; then + rust_stage0_root="$(rustc --print sysroot)" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + + rust_target="$(rust_abi)" + + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-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) + compiler-docs = $(toml_usex doc) + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = false + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debuginfo-level-rustc = 0 + backtrace = true + incremental = false + default-linker = "$(tc-getCC)" + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + backtrace-on-ice = true + jemalloc = false + [dist] + src-tarball = false + _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_ + # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ar = "${cross_toolchain}-ar" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following settings:" + cat "${S}"/config.toml || die +} + +src_compile() { + # we need \n IFS to have config.env with spaces loaded properly. #734018 + ( + IFS=$'\n' + env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + ) +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! ( + IFS=$'\n' + env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \ + "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + ) + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + # https://github.com/rust-lang/rust/issues/77721 + # also 1.46.0-don-t-create-prefix-at-time-of-check.patch + dodir "/usr/lib/${PN}/${PV}" + ( + IFS=$'\n' + env $(cat "${S}"/config.env) DESTDIR="${D}" \ + "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die + ) + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rls && symlinks+=( rls ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib" + MANPATH="${EPREFIX}/usr/lib/rust/man" + $(usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${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 + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update + + if has_version sys-devel/gdb || has_version dev-util/lldb; then + 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}." + fi + + if has_version app-editors/emacs; 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 +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/rust-1.50.0.ebuild b/dev-lang/rust/rust-1.50.0.ebuild new file mode 100644 index 000000000000..e98848b6f30b --- /dev/null +++ b/dev-lang/rust/rust-1.50.0.ebuild @@ -0,0 +1,619 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) + +inherit bash-completion-r1 check-reqs 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 -> rustc-${PV}-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 ~arm ~arm64 ~ppc64 ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +# keep in sync with llvm ebuild of the same version as bundled one. +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 + NVPTX PowerPC RISCV Sparc SystemZ WebAssembly 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 libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +# Please keep the LLVM dependency block separate. Since LLVM is slotted, +# we need to *really* make sure we're not pulling more than one slot +# simultaneously. + +# How to use it: +# 1. List all the working slots (with min versions) in ||, newest first. +# 2. Update the := to specify *max* version, e.g. < 12. +# 3. Specify LLVM_MAX_SLOT, e.g. 11. +LLVM_DEPEND=" + || ( + sys-devel/llvm:11[${LLVM_TARGET_USEDEPS// /,}] + ) + <sys-devel/llvm-12:= + wasm? ( sys-devel/lld ) +" +LLVM_MAX_SLOT=11 + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-$(ver_cut 1).$(($(ver_cut 2) - 1))* + =dev-lang/rust-bin-$(ver_cut 1).$(($(ver_cut 2) - 1))* + =dev-lang/rust-$(ver_cut 1).$(ver_cut 2)* + =dev-lang/rust-bin-$(ver_cut 1).$(ver_cut 2)* + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + dev-util/cmake + dev-util/ninja + ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + elibc_musl? ( sys-libs/libunwind:= ) + system-llvm? ( + ${LLVM_DEPEND} + ) +" + +# we need to block older versions due to layout changes. +RDEPEND="${DEPEND} + app-eselect/eselect-rust + !<dev-lang/rust-1.47.0-r1 + !<dev-lang/rust-bin-1.47.0-r1 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warnings +CMAKE_WARN_UNUSED_CLI=no + +QA_FLAGS_IGNORED=" + usr/lib/${PN}/${PV}/bin/.* + usr/lib/${PN}/${PV}/libexec/.* + usr/lib/${PN}/${PV}/lib/lib.*.so + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +QA_SONAME=" + usr/lib/${PN}/${PV}/lib/lib.*.so.* + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so +" + +# causes double bootstrap +RESTRICT="test" + +PATCHES=( + "${FILESDIR}"/1.47.0-libressl.patch + "${FILESDIR}"/1.47.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.47.0-llvm-tensorflow-fix.patch + "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch + "${FILESDIR}"/1.49.0-llvm-ver-display.patch +) + +S="${WORKDIR}/${MY_P}-src" + +toml_usex() { + usex "${1}" true false +} + +boostrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=6144 + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rls 512 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + M=$(( $(usex system-llvm 0 2048) + ${M} )) + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 15 10) * ${M} / 10 )) + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + M=$(( 15 * ${M} / 10 )) + fi + eshopts_pop + M=$(( $(usex system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + + use system-bootstrap && boostrap_rust_version_check + + if use system-llvm; then + llvm_pkg_setup + + local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + if ! use system-bootstrap; then + 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 + fi + + 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\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm32_base.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + local tools="\"cargo\"," + if use clippy; then + tools="\"clippy\",$tools" + fi + if use miri; then + tools="\"miri\",$tools" + fi + if use rls; then + tools="\"rls\",\"analysis\",\"src\",$tools" + fi + if use rustfmt; then + tools="\"rustfmt\",$tools" + fi + + local rust_stage0_root + if use system-bootstrap; then + rust_stage0_root="$(rustc --print sysroot)" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + + rust_target="$(rust_abi)" + + cat <<- _EOF_ > "${S}"/config.toml + [llvm] + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-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) + compiler-docs = $(toml_usex doc) + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = false + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" + sysconfdir = "etc" + docdir = "share/doc/rust" + bindir = "bin" + libdir = "lib" + mandir = "share/man" + [rust] + # https://github.com/rust-lang/rust/issues/54872 + codegen-units-std = 1 + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debuginfo-level-rustc = 0 + backtrace = true + incremental = false + default-linker = "$(tc-getCC)" + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + remap-debuginfo = true + lld = $(usex system-llvm false $(toml_usex wasm)) + backtrace-on-ice = true + jemalloc = false + [dist] + src-tarball = false + _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_ + # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + _EOF_ + fi + + if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below + # experimental cross support + # discussion: https://bugs.gentoo.org/679878 + # TODO: c*flags, clang, system-llvm, cargo.eclass target support + # it would be much better if we could split out stdlib + # complilation to separate ebuild and abuse CATEGORY to + # just install to /usr/lib/rustlib/<target> + + # extra targets defined as a bash array + # spec format: <LLVM target>:<rust-target>:<CTARGET> + # best place would be /etc/portage/env/dev-lang/rust + # Example: + # RUST_CROSS_TARGETS=( + # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" + # ) + # no extra hand holding is done, no target transformations, all + # values are passed as-is with just basic checks, so it's up to user to supply correct values + # valid rust targets can be obtained with + # rustc --print target-list + # matching cross toolchain has to be installed + # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) + # only gcc toolchains installed with crossdev are checked for now. + + # BUG: we can't pass host flags to cross compiler, so just filter for now + # BUG: this should be more fine-grained. + filter-flags '-mcpu=*' '-march=*' '-mtune=*' + + local cross_target_spec + for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do + # extracts first element form <LLVM target>:<rust-target>:<CTARGET> + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, <rust-target>:<CTARGET> + local cross_triples="${cross_target_spec#*:}" + # extracts first element after before : separator + local cross_rust_target="${cross_triples%%:*}" + # extracts last element after : separator + local cross_toolchain="${cross_triples##*:}" + use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" + command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${cross_rust_target}] + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ar = "${cross_toolchain}-ar" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + + # append cross target to "normal" target list + # example 'target = ["powerpc64le-unknown-linux-gnu"]' + # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' + + rust_targets="${rust_targets},\"${cross_rust_target}\"" + sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die + + ewarn + ewarn "Enabled ${cross_rust_target} rust target" + ewarn "Using ${cross_toolchain} cross toolchain" + ewarn + if ! has_version -b 'sys-devel/binutils[multitarget]' ; then + ewarn "'sys-devel/binutils[multitarget]' is not installed" + ewarn "'strip' will be unable to strip cross libraries" + ewarn "cross targets will be installed with full debug information" + ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" + ewarn + ewarn "Alternatively llvm-strip can be used, it supports stripping any target" + ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" + ewarn + fi + done + fi # I_KNOW_WHAT_I_AM_DOING_CROSS + + einfo "Rust configured with the following settings:" + cat "${S}"/config.toml || die +} + +src_compile() { + # we need \n IFS to have config.env with spaces loaded properly. #734018 + ( + IFS=$'\n' + env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + ) +} + +src_test() { + # https://rustc-dev-guide.rust-lang.org/tests/intro.html + + # those are basic and codegen tests. + local tests=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # fragile/expensive/less important tests + # or tests that require extra builds + # TODO: instead of skipping, just make some nonfatal. + if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then + tests+=( + rustdoc + rustdoc-js + rustdoc-js-std + rustdoc-ui + run-make-fulldeps + ui + ui-fulldeps + ) + fi + + local i failed=() + einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" + for i in "${tests[@]}"; do + local t="src/test/${i}" + einfo "rust_src_test: running ${t}" + if ! ( + IFS=$'\n' + env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \ + "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ + -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" + ) + then + failed+=( "${t}" ) + eerror "rust_src_test: ${t} failed" + fi + done + + if [[ ${#failed[@]} -ne 0 ]]; then + eerror "rust_src_test: failure summary: ${failed[@]}" + die "aborting due to test failures" + fi +} + +src_install() { + # https://github.com/rust-lang/rust/issues/77721 + # also 1.46.0-don-t-create-prefix-at-time-of-check.patch + dodir "/usr/lib/${PN}/${PV}" + ( + IFS=$'\n' + env $(cat "${S}"/config.env) DESTDIR="${D}" \ + "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die + ) + + # bug #689562, #689160 + rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die + rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rls && symlinks+=( rls ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + + einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" + local i + for i in "${symlinks[@]}"; do + # we need realpath on /usr/bin/* symlink return version-appended binary path. + # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> + # need to fix eselect-rust to remove this hack. + local ver_i="${i}-${PV}" + if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then + einfo "Installing ${i} symlink" + ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die + else + ewarn "${i} symlink requested, but source file not found" + ewarn "please report this" + fi + dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" + done + + # symlinks to switch components to active rust in eselect + dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" + dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" + dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" + dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" + dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" + + newenvd - "50${P}" <<-_EOF_ + LDPATH="${EPREFIX}/usr/lib/rust/lib" + MANPATH="${EPREFIX}/usr/lib/rust/man" + $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') + $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-_EOF_ > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /usr/share/doc/rust + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${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 + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update + + if has_version sys-devel/gdb || has_version dev-util/lldb; then + 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}." + fi + + if has_version app-editors/emacs; 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 +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index 3187dd8aabd4..2245845369d0 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -8,8 +8,9 @@ AUX spidermonkey-perl-defined-array-check.patch 341 BLAKE2B e11a74cc2afbea5e39ec DIST firefox-68.0-patches-15.tar.xz 16060 BLAKE2B f9e6cd58ea51bed1af90a9d30fd551dc7e939afcd1b4d00de1271bd4bda94021c6f1799fd9945962c14ffa1fd0b6a6429369c4e45efc2000f179b9b2e46971e7 SHA512 9cb2479637dd8b84e0ab68dc0fe144acd2dc74feca282fd3c4b485ca6f0de8190244587622713a5421b243ccda153f738e9a8f463e87e15e93e9b725d943e128 DIST firefox-68.12.0esr.source.tar.xz 313856956 BLAKE2B eeaa4acc9fabf15ec1b313170a30cee8e1fc10a8b08512b915b83b7d6a81c09b365733ed94638bd434864fd7b0cb8cbf1bc2e43441be69e31117e8e6a099234c SHA512 839b02422e4c87bdb12e0995cd35ca8c1996f3fba00bbb46b419e46b67df5ec48a264cb14632db777ce29166ee4fdcb06e2ee3ce847e64328c58c9a2f9129f4c DIST firefox-78.6.0esr.source.tar.xz 338098664 BLAKE2B 9d082b6104bffbd0d918dc1adf2a01ac32613d8048faf399177834c4949714a00c1f4383b778a21d6b6684296d8f9bd44fa547ee2507a8631d206e3764d2ceeb SHA512 a1e2d6af0020784d00ed3cb4d778c136685e7c2f6ae536cc270fbd331d51d483d17dff9acd7ad8e6b3b231b9df894c146092889357b23715814a080c6f08d11a -DIST firefox-78.7.0esr.source.tar.xz 332849732 BLAKE2B 66e224021cbd15b6b625da3c0a98b05026f4f284afbef5299368a218c16da24cd05431ab82c52859b835baf63298ec832681fbc58b3bfe833e68dea1737c6dcb SHA512 afa37d2f6bbe04715d84a8964f75139042364501c358da98771115d7fe7d23788e95b6ff29d77c064a9cfcd208c1424924017ef2a72cbb79dbb45d6f365f030c +DIST firefox-78.7.1esr.source.tar.xz 334417504 BLAKE2B c0c90488ef9727363f03707c3d1e83ab5965a32775db9e6832883b94f265a3d95bb468648360fa3f016c34044f4c706db84125f7c5b545aaa1dedcf03196cb0c SHA512 d5828667ab07f5971049092102b7017472a835a3ab8581ba485a528e9b269aafdeeebecb4c882043459c2b901290c5525d795b04c1d4f30f7b74ee6cd7b18646 DIST firefox-78esr-patches-07.tar.xz 66156 BLAKE2B 8f69883432dcbd484b1fb15e3fde1630b1424e502ba78d9ec3cbe70cb2676a6876853d3477c8bfe35e92bca91b200e2d14543de1778d895676a52d2608109af2 SHA512 b4a01d3499002bd33a7fb45a1a80e9e73ba27a0986b6bfa43b3482dd8d82a686a14ae0c5e013402c8c8f359a642632a40bf4c362a0e83a1f53b453914f42e3a7 +DIST firefox-78esr-patches-08.tar.xz 67108 BLAKE2B e9bcfeeda936832e1107d5dd1641f8833dcb1c99bee113b7591607294328b3739521a6811e0dfa64f36b44ab9a484ca69e15ad88b99ae810d767a2de2e4ffc4c SHA512 47a676d18bdc005db3f2d3c9b491df8f6347f50c1410d9f00cf19da86f3163a8ca45060b728f47f3cad02fcdaf6150f037ae26c95f4a5c8be6e7077a97890203 DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d75a223d5e75e4ff90b3b01aab4f7736b4a4e05c47b3a925ff0a74607a0abad3b6583c75d070ef5142009b20ebaf6e4bf SHA512 187b231b246a5ae09e55c0fef77866b316d75f38f4c2e066d5d4325d8da63433027020c929439cab46af3253ac63ab2f780223a8fd2c6ff535b3409bb6c4aa0f DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0 @@ -22,6 +23,6 @@ EBUILD spidermonkey-1.8.5-r9.ebuild 3996 BLAKE2B da02b0abefceb6b31ca365a96f2154a EBUILD spidermonkey-52.9.1_pre1-r2.ebuild 4592 BLAKE2B 506e6a1958e0c4cd7f3898410efa2a5379fec57f6b758c44bdf1ebf7f015eed946ff8a5260db2a6a419047feecc320288a78c7daf9f9aa3083a98d332984e065 SHA512 939d5947a02a020992ef51449e12524ea19c7e2e875ccf1248008f1720c7bcc31fa907cd400487f762fd1eeb4d177b82b0656e3da4cf59d68ad5c2aa3065b02f EBUILD spidermonkey-60.5.2_p0-r4.ebuild 4239 BLAKE2B 09f2cc1baada4607f23b71daecd974a450ea27e7ce3935018e16bbe0efd7ad4a1ee079b74b180b851923e0c56b7681064a02ae5026f85e05c5a402f477b5f705 SHA512 6e7b78828bc4c39f48112a1f7bc4d3efe30a5332506f10c7983f2492ef732cba7a57985b281b270721f67ad627b9fb19f8ec05ae2210b7018519b40d1a7e65a2 EBUILD spidermonkey-68.12.0.ebuild 7310 BLAKE2B 78473b652614a2cd4001c40ff981555358043d9cce58bedde8670e76b1c03d3aaa11da156fc17d20200a2e1e08075d88c6cfca57e5f41f5aed758e6d4a0199b1 SHA512 7a792dd7c6976a56f685eadfc4929ea26045ba4c464aac61b9dcb4e9545306e14e0a8abb3aecdea516611ab2bfbf9c7b0a0b273c89bf58b3d0a24f0ffcee43a6 -EBUILD spidermonkey-78.6.0.ebuild 12231 BLAKE2B acc5d45bfd7b12892c9b0d8f5a1f1773d670a60954292ddb44ada35cd5ec3081e0ebe26119c04bf55ec9e57893809e78eeecc7a030c51853bfed778f39754e45 SHA512 3db1fe7d78e2c2be18de36468186009ee6ec3a2b5201276abc037d9f9916f90a031fd165e8f55c9d717b7c4d107d7d39c0d4328bc060e9cf79016c0546fb062c -EBUILD spidermonkey-78.7.0.ebuild 12236 BLAKE2B dc237f16b2d98f93af32c6540882b1ce09177e81fe85212587fabccdea67b88ad0ecc92697f6b0b31a50ec1deb1a634299f3567a967639612ba96be325b1219f SHA512 0a93b7a6566479a6dab3af9e3ab53c13b765f4d0d0b53ce77c1538ec5cc4e0d87632138d471256d1f4efd92bd1fbb69ca303f471043b345293185a768c6f4c67 +EBUILD spidermonkey-78.6.0.ebuild 12725 BLAKE2B 4e9cae875689a5044f0770714dea7a25ba41f541a1aa9f895f19e1723c7bdcfabc28ef00ce86e70b426a70c629eac1f62e5a383cdc566b1d7bd77fcee4fc47cc SHA512 707ca6ae3095064bc93f92f531ddd6f2fd43d8d5d099f6f0f616f913c336af38ea61932cf0a8bc0e24cd4133d5b357f1fc1e21a80cedd1b76a898445439b186e +EBUILD spidermonkey-78.7.1.ebuild 12729 BLAKE2B db099f9512d4aa83119a2561152c6414bc2ffb0d22ca4ed39c9677491319d490186016801fb749185980e6546509daf649797dad7edb8fe7722c96767d99aac3 SHA512 019eb3954cf8681fe292861c8f4a84671c69ac5eec706eafb5c1a7e98f87c53fe0aab41016adab1177c7ca97944f536cd35382368e175257a27f17d508ec274b MISC metadata.xml 868 BLAKE2B ee529f60bc83af6c54188ab4db2a1e05cbc3fcebf7732580cb5e507afada8560cb8812d4f155ae94c2ec87724bdfafe7312de86b47a95f599655695836c9b806 SHA512 caf3c383cd8109391cbf81baf5e942630bfd84ca6bc2a78430e58e5b0a40428e08b8a3d7c9fadccebaf94fe1aa673df837246fc32d5932b7f60dd43431ee1575 diff --git a/dev-lang/spidermonkey/spidermonkey-78.6.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.6.0.ebuild index f8748a9aa6f0..e46b689bbc5d 100644 --- a/dev-lang/spidermonkey/spidermonkey-78.6.0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-78.6.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -163,9 +163,19 @@ pkg_setup() { [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + # temp fix for https://bugs.gentoo.org/768543 + # we can assume that rust 1.{49,50}.0 always uses llvm 11 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }') + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}") + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!" + + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then + local version_llvm_rust="11" + else + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + fi if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." diff --git a/dev-lang/spidermonkey/spidermonkey-78.7.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.7.1.ebuild index b341983f2c69..a32a7ed2f253 100644 --- a/dev-lang/spidermonkey/spidermonkey-78.7.0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-78.7.1.ebuild @@ -4,7 +4,7 @@ EAPI="7" # Patch version -FIREFOX_PATCHSET="firefox-78esr-patches-07.tar.xz" +FIREFOX_PATCHSET="firefox-78esr-patches-08.tar.xz" SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-03.tar.xz" LLVM_MAX_SLOT=11 @@ -60,7 +60,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES} DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc64 ~s390 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ppc64 ~s390 ~x86" SLOT="78" LICENSE="MPL-2.0" @@ -163,9 +163,19 @@ pkg_setup() { [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + # temp fix for https://bugs.gentoo.org/768543 + # we can assume that rust 1.{49,50}.0 always uses llvm 11 + local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }') + [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}") + [[ -z ${version_rust} ]] && die "Failed to read version from rustc!" + + if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then + local version_llvm_rust="11" + else + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" + fi if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest index 034792a88776..dc6891ad9ae8 100644 --- a/dev-lang/swi-prolog/Manifest +++ b/dev-lang/swi-prolog/Manifest @@ -1,13 +1,13 @@ DIST swi-prolog-8.2.2-gentoo-patchset-0.tar.gz 539 BLAKE2B 53d8f4aeb6f83eae628027f3f4d581f7a8c4e7e6c763350acc85bd0cc4ec4f6e8d7afe680763afc4bef9e5babb8100aeca0f887d029ffa115f4ead89cbc48cdd SHA512 d745b978c6926ed6b9f84d98c5cfd08716aaebe05bcf4a6fd9bd647a5d265b731e4daf2c0f5028eac36d7cea052eb52f80fe8287d4e9e285b3b8ffd544408da1 DIST swi-prolog-8.2.3-gentoo-patchset-0.tar.gz 535 BLAKE2B bb7869c5166104a3a7faa88dd14284ea147ab5090695ff1c950365823451ac656403bee97c7dd4a039e2d58085456842f8bbc7caa26d18916c6f8718a204097c SHA512 c1f0dce1e336c79fe84a3f9d0fe5e873d33c00071f91cbb683a73fbceaba1c6ca8c2875b58045829eafcbee78a0e713009a07bd51a2c56bf146f14881899f934 -DIST swipl-8.2.1.tar.gz 10969688 BLAKE2B 754678d9683999b681e62321423df01c4d28ac0aefb5b836134790112a76a2710cc3b433d381f4b11756727037cada026a2778445fe533f51a5543332ca86e82 SHA512 b49fa0832b4bad3b48256c97538172a06e7a4c50b55823dad345360f98055f0702e7a10fb2bfdb636e3fd99557bcb243cfccbaccb7546cb2afd13335f1c09db8 DIST swipl-8.2.2.tar.gz 11002077 BLAKE2B 581c3ea83d2440cbe2454ba12ea2752bec9fda926f3afef6e36de1bbf70b43b34931ad768335bb15809a3d76959c7eec7dd3ad54a0a4085ad8ba34075dd3f4d9 SHA512 fb77cfd58932dc35c3d808899c1f493ffb22a58f56fe364ce0c0b48b8cabdd204d4f920346c39f696fadd9ee8335e163a8eb8d0a770c2835d803f030c1f3f878 DIST swipl-8.2.3.tar.gz 10999577 BLAKE2B 57cfa9f6fb97f0136a35da1850c7ae8da123d1c18fe6e18597d1b2131b7304a638d42d673efad2a01eaf3f9dad7b4754e6feb64917423abda002323bfc8dec8c SHA512 cd9ffc8a963682c0d02cec4b76338352459e004e07f3e5c0f02b3c2f9b19f23fe9639e037cf52531491a41c201113138f0b6a039d401e891ad5774383b0d852f DIST swipl-8.3.16.tar.gz 11123493 BLAKE2B 6d9566762b5d96a20a27dece39d895e2b29d3555dffe1d0495d8f8f579443ae2c37df2b0fe89c3fa6cc95743f55efdc6a4d6653e6cd1ba5ff8489181f8c7fc5a SHA512 ceaef49d29eac3a100e6d51e1bcc4e7925ce682ffda8bd2a668463b870a25e163c6d9e538c0cd46ffdc9a709c720ba9b31137a7c24a8087ea3bc0a1616304b00 DIST swipl-8.3.17.tar.gz 11120834 BLAKE2B bc0c05a3305d30ec98f636e141b1d22e3ad06444ae98e7bb5b42a2a0e120effb68594f7c8af6da2fde915dfa679635c779a2a45144452e1b3598178b9e6095f5 SHA512 498fd807623d9ab596ce127a60430864faff6d803f63a77ef22fcbcd4e6ad02a9d6a528e0a782f68b9f92d3efd74838b95d72c1717b79000153f55ad4037b180 -EBUILD swi-prolog-8.2.1.ebuild 2640 BLAKE2B 480b32c825e7402616fe049eaf53ba25ccbb2de5d3f887d44dff8403e7551a94bb621f62cfcfbcb949f5d420e6fa7c5ff207ef4af61268c9102027bc727fa1e8 SHA512 01b9006d3bb2600399277e9dd0271bc0f0ad05de80924230e1c5ddc63ac04a937c402be3bad20cb283a57c16d8e0cc710f6a087dd7ce534aa167a40f83e2c4c2 +DIST swipl-8.3.18.tar.gz 11121028 BLAKE2B 9b5bca6cb2f11918e51f687d3f330f021cc207c029e58dff7e5cbb03c47a908878c56dded8b9a4df2a67e86c2dd28400462a8484802eb18cb0eb2454a96e59a0 SHA512 6a7845c807b7ef41b501bd53d7e11208cac95bb57ac2096c8e00dd2740987faa61bf7b5201b3abf879770bc7a0935ed377458bf84de0298696741c812c009a65 EBUILD swi-prolog-8.2.2.ebuild 2735 BLAKE2B 250da4e898fcbbe166c1d0182d20977af4be2efe8e1b86129cb86ff3a4268dcf22fc88a1618c58ec6dbc30d09d798c1d3b75a842196a46d7abe64fc9874ab07b SHA512 6d461a181a79c3d0838119ea47a2847f0991194c11fe07b0d71936830fe6a2e34034adf7244e5d2f54764c8a95a06fec0f5488c4968997f7e913a80fb4a01513 EBUILD swi-prolog-8.2.3.ebuild 2738 BLAKE2B 3e4cc78b7704b324663fb604d38a91621cc1a6a351af1f030cf7a038272107d45a61cd9fbfab8cfd07d6b3986d6206d5fbedd36023e26e5e83344d21811123b1 SHA512 afcfb674f20fb3d6ef2831e47ba2578828636c6d7cff5663b392125f994a31ee77e8d873c47c583c71fb9f92bfc0cef29bc61aabd2a90763d5a1763c463e7658 EBUILD swi-prolog-8.3.16.ebuild 2640 BLAKE2B 5e37e8648bdf73569b5ff9bd33101b8ecd000251c3de8a056ebf0938b6a4d10b672dcd4c9d57fa38a0895de23559b7be4506dca821a6fae0e220325e31c23ff7 SHA512 8653ba0a6063c64cfdfb7f298a0914c6799756ac2d1e7ae7c97e3e5329f1919751dcda2987db9b62fc5e4de8dcdbca6e3e360082a42c1293113114a1da8911fb EBUILD swi-prolog-8.3.17.ebuild 2640 BLAKE2B 5e37e8648bdf73569b5ff9bd33101b8ecd000251c3de8a056ebf0938b6a4d10b672dcd4c9d57fa38a0895de23559b7be4506dca821a6fae0e220325e31c23ff7 SHA512 8653ba0a6063c64cfdfb7f298a0914c6799756ac2d1e7ae7c97e3e5329f1919751dcda2987db9b62fc5e4de8dcdbca6e3e360082a42c1293113114a1da8911fb +EBUILD swi-prolog-8.3.18.ebuild 2640 BLAKE2B 5e37e8648bdf73569b5ff9bd33101b8ecd000251c3de8a056ebf0938b6a4d10b672dcd4c9d57fa38a0895de23559b7be4506dca821a6fae0e220325e31c23ff7 SHA512 8653ba0a6063c64cfdfb7f298a0914c6799756ac2d1e7ae7c97e3e5329f1919751dcda2987db9b62fc5e4de8dcdbca6e3e360082a42c1293113114a1da8911fb MISC metadata.xml 419 BLAKE2B 6d92e0713ed8da803ff8b6c778e616882af2fdb1426a62ea7bb6a265bbfff9a5c7debb8bf6a25c4ab60ed54a865b79fa3da4a09bc8a9123acf63dcb32107f54e SHA512 f805393c909e4108fe72b94f131d37d45279af1a4b501f9c3ae12d21590ef9c19227ca2a4b2966239ddb84847ce979cfbfcf3f3a2d24b60cb23977c522ff59c3 diff --git a/dev-lang/swi-prolog/swi-prolog-8.2.1.ebuild b/dev-lang/swi-prolog/swi-prolog-8.3.18.ebuild index dc429e1fd04a..c9064992abbc 100644 --- a/dev-lang/swi-prolog/swi-prolog-8.2.1.ebuild +++ b/dev-lang/swi-prolog/swi-prolog-8.3.18.ebuild @@ -8,12 +8,12 @@ inherit cmake-utils eutils flag-o-matic multilib PATCHSET_VER="0" DESCRIPTION="versatile implementation of the Prolog programming language" -HOMEPAGE="https://www.swi-prolog.org/" -SRC_URI="https://www.swi-prolog.org/download/stable/src/swipl-${PV}.tar.gz" +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" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml" RESTRICT="!test? ( test )" |