From ebc282ef4dfa408accac685565b8ee5f6faec119 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 12 Feb 2023 09:56:54 +0000 Subject: gentoo auto-resync : 12:02:2023 - 09:56:54 --- dev-lang/Manifest.gz | Bin 19692 -> 19692 bytes dev-lang/ammonite-repl-bin/Manifest | 4 + .../ammonite-repl-bin-2.5.8.ebuild | 45 ++ dev-lang/crystal/Manifest | 6 +- dev-lang/crystal/crystal-1.7.2.ebuild | 108 +++ .../files/crystal-1.7.2-extra-spec-flags.patch | 11 + dev-lang/crystal/metadata.xml | 38 +- dev-lang/eisl/Manifest | 4 +- dev-lang/eisl/eisl-2.69.ebuild | 2 +- dev-lang/eisl/eisl-2.72.ebuild | 40 ++ dev-lang/fuzion/Manifest | 2 +- dev-lang/fuzion/fuzion-0.080.ebuild | 9 +- dev-lang/ocaml/Manifest | 2 + dev-lang/ocaml/ocaml-4.14.1.ebuild | 100 +++ dev-lang/orc/Manifest | 2 +- dev-lang/orc/orc-0.4.33.ebuild | 4 +- dev-lang/python/Manifest | 12 + dev-lang/python/python-3.10.10.ebuild | 486 ++++++++++++++ dev-lang/python/python-3.11.2.ebuild | 515 ++++++++++++++ dev-lang/python/python-3.12.0_alpha5.ebuild | 510 ++++++++++++++ dev-lang/rust-bin/Manifest | 68 +- dev-lang/rust-bin/rust-bin-1.67.0.ebuild | 224 ------- dev-lang/rust-bin/rust-bin-1.67.1.ebuild | 224 +++++++ dev-lang/rust/Manifest | 8 +- dev-lang/rust/files/1.67.0-bootstrap.patch | 38 -- dev-lang/rust/files/1.67.0-doc-wasm.patch | 34 + dev-lang/rust/rust-1.67.0.ebuild | 741 --------------------- dev-lang/rust/rust-1.67.1.ebuild | 741 +++++++++++++++++++++ dev-lang/swi-prolog/Manifest | 3 +- .../files/swi-prolog-9.1.2-configure-clang16.patch | 61 ++ dev-lang/swi-prolog/swi-prolog-9.1.2-r1.ebuild | 175 +++++ dev-lang/swi-prolog/swi-prolog-9.1.2.ebuild | 170 ----- dev-lang/vala/Manifest | 2 + dev-lang/vala/vala-0.56.4.ebuild | 48 ++ 34 files changed, 3196 insertions(+), 1241 deletions(-) create mode 100644 dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.8.ebuild create mode 100644 dev-lang/crystal/crystal-1.7.2.ebuild create mode 100644 dev-lang/crystal/files/crystal-1.7.2-extra-spec-flags.patch create mode 100644 dev-lang/eisl/eisl-2.72.ebuild create mode 100644 dev-lang/ocaml/ocaml-4.14.1.ebuild create mode 100644 dev-lang/python/python-3.10.10.ebuild create mode 100644 dev-lang/python/python-3.11.2.ebuild create mode 100644 dev-lang/python/python-3.12.0_alpha5.ebuild delete mode 100644 dev-lang/rust-bin/rust-bin-1.67.0.ebuild create mode 100644 dev-lang/rust-bin/rust-bin-1.67.1.ebuild delete mode 100644 dev-lang/rust/files/1.67.0-bootstrap.patch create mode 100644 dev-lang/rust/files/1.67.0-doc-wasm.patch delete mode 100644 dev-lang/rust/rust-1.67.0.ebuild create mode 100644 dev-lang/rust/rust-1.67.1.ebuild create mode 100644 dev-lang/swi-prolog/files/swi-prolog-9.1.2-configure-clang16.patch create mode 100644 dev-lang/swi-prolog/swi-prolog-9.1.2-r1.ebuild delete mode 100644 dev-lang/swi-prolog/swi-prolog-9.1.2.ebuild create mode 100644 dev-lang/vala/vala-0.56.4.ebuild (limited to 'dev-lang') diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz index 2b4b2d5ae230..d36e6b0b518c 100644 Binary files a/dev-lang/Manifest.gz and b/dev-lang/Manifest.gz differ diff --git a/dev-lang/ammonite-repl-bin/Manifest b/dev-lang/ammonite-repl-bin/Manifest index df0f03291905..b01603663d9b 100644 --- a/dev-lang/ammonite-repl-bin/Manifest +++ b/dev-lang/ammonite-repl-bin/Manifest @@ -4,6 +4,10 @@ DIST ammonite-repl-bin-2.5.5-3.1 54766874 BLAKE2B 5bcf183eedad202b34c971253f73cf DIST ammonite-repl-bin-2.5.6-2.13 54860357 BLAKE2B 9a3cdbfb0c9ed228214353f5e25a22b7c3cb7480024de680185e8399564012c895e6f73d20555a11e1724fc8b36c9f597af5a67e5d7e951b104f8089eacb06f9 SHA512 97ff31819cbf45384175df899fe7b72bbc8fa97ff97de62c70d2d20f536a4066fb1a4e262364ef9c49865f57062d50fdd87338034fcc108b688fb3b424d7e2c0 DIST ammonite-repl-bin-2.5.6-3.0 60096793 BLAKE2B 4f4218ea1e09f879be72eb67c8c3538004ba221369a172ff7b3da3c6b0d5538c3499f620fb7e9af9a7b23011456452a94fcd2cde04e1b666693e1f1ff5a7f3b0 SHA512 e1968fc2b838e08bd2f7c2dabdeb5f612088549dbc4091b169eab26bcdc16c4c9f2e1d37857a4c161efdff8f05dd5579eff185683ecc758b86f9702d5932d592 DIST ammonite-repl-bin-2.5.6-3.1 61179318 BLAKE2B 84be1ee7d862ff05bab8bd9f168f77ade35235778fb09c9cd46c02fa8c22b648103615dc04bef517737b41f0799c69ac801a094752736903839d724163fa1c40 SHA512 709d721797c6aeeb1cd72c8ec75b1fa37cdefcc9ddde4de2e9231e7a3745958788128dc4a3d39e289bd35132051d77b06a73f3de8a9a34d157b68330b30437a8 +DIST ammonite-repl-bin-2.5.8-2.13 54860380 BLAKE2B 0cd77d60a540591ea8ad1fa5d85e318120c3605d486a29d631e7a68081f680bc8fe3e28b9dd569bfa478d10b69505416f425368ef9b976ece0f6f1362523f872 SHA512 111a5c1de707fab79b46ce78c31bd66d1370ce1c7f61bd53a4cb5be941426389f5c1bafec09555c39922dff4a221e3b9f2c72175c32e3fb0c47336080cb8a5e2 +DIST ammonite-repl-bin-2.5.8-3.0 60096866 BLAKE2B 3b48b6beb3000d16c8e5564435a38003dabf168b3ec28e54c50e5220b55a73b7b7aafd9995d3a17f16646366374938b67d528b4351125a66113fe0befcb3057f SHA512 90c87cf9c5525f8a5810a9cb10b0001883df9980b861ae5e60e80792cdd7481b8d15615c006a032a8bd7bd6d365c2270379d9fc525f9a87eade67273a3145d15 +DIST ammonite-repl-bin-2.5.8-3.1 61179360 BLAKE2B d6c538bd88146024ef83e3aa651e2b1759aaa148758a3ccdbc47c071826b7f38fb6f013b9a49f2e0eb9d997e2cafcd28ea9f00d5d3120a9ad2eea86aa2d05862 SHA512 70aef39a7ef0f7a5022192474bde19d13591b5c4d069c91a8e63b2649fc744c02718b231faba8ec91779fde602b930b3e50926c6efa6532996ee5afb6358d74c EBUILD ammonite-repl-bin-2.5.5.ebuild 1043 BLAKE2B 3bc2e83255b51d5c3ea1d14f33dfced7a2f60cc9b19350ca03c1595c5b272f38880b2cce7c7a931f3de8eff946c0beb2db2fac5f3bba2e3d5637bcbc0b72d084 SHA512 d458554eee968cecadc2b6e75052939ba90a53cf5160f97fabdf6913a330c404f2a85ccb9f2e40badbd93784f79d3434704e2337708284fa4b8afedf401ce087 EBUILD ammonite-repl-bin-2.5.6.ebuild 1045 BLAKE2B f64b4f30245fc8f45a334b0b02d53d775dd58f94855b874c0c771d8e6a7d752e4d54ef50a4470458173bfecbba288a43211abfcf2f5a2887b1ccb4e71a1b177e SHA512 2ec00c99f37b99578f312b8360fb0e63b13f4953b75ce752af547c31c0ad580d38d8d978d0c47e4591d3300a29368712a3d5592833b22bb73413a2f0202f6e25 +EBUILD ammonite-repl-bin-2.5.8.ebuild 1045 BLAKE2B f64b4f30245fc8f45a334b0b02d53d775dd58f94855b874c0c771d8e6a7d752e4d54ef50a4470458173bfecbba288a43211abfcf2f5a2887b1ccb4e71a1b177e SHA512 2ec00c99f37b99578f312b8360fb0e63b13f4953b75ce752af547c31c0ad580d38d8d978d0c47e4591d3300a29368712a3d5592833b22bb73413a2f0202f6e25 MISC metadata.xml 736 BLAKE2B 72e4d24ad974a4459e4717d25dbb50b601609400cff9c8f0386e7470a21ddf72e811b015d8d019147cd2c81e5aa24de96ef2aeeb0c98d5cda6001cc010519d6d SHA512 3445736cf37693d907c929f519a3f8ca1fd450cbeb5eda48438e8af3399c13542979fb75bf11a2e50025c5785ed4cd176b7e22012cea0565bece209411aa15ca diff --git a/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.8.ebuild b/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.8.ebuild new file mode 100644 index 000000000000..83bb645f7adb --- /dev/null +++ b/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.8.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Scala language-based scripting and REPL" +HOMEPAGE="https://ammonite.io/" + +SRC_URI=" + scala2-13? ( https://github.com/com-lihaoyi/Ammonite/releases/download/${PV}/2.13-${PV} -> ${P}-2.13 ) + scala3-0? ( https://github.com/com-lihaoyi/Ammonite/releases/download/${PV}/3.0-${PV} -> ${P}-3.0 ) + scala3-1? ( https://github.com/com-lihaoyi/Ammonite/releases/download/${PV}/3.1-${PV} -> ${P}-3.1 ) +" + +KEYWORDS="~amd64 ~x86" +LICENSE="MIT" +SLOT="0" + +S="${WORKDIR}" + +RDEPEND=">=virtual/jre-1.8:*" + +IUSE="+scala2-13 scala3-0 +scala3-1" +REQUIRED_USE="|| ( scala2-13 scala3-0 scala3-1 )" + +src_unpack() { + : +} + +src_install() { + local last_amm + if use scala3-1; then + newbin "${DISTDIR}"/${P}-3.1 amm-3.1 + last_amm=amm-3.1 + fi + if use scala3-0; then + newbin "${DISTDIR}"/${P}-3.0 amm-3.0 + last_amm=amm-3.0 + fi + if use scala2-13; then + newbin "${DISTDIR}"/${P}-2.13 amm-2.13 + last_amm=amm-2.13 + fi + dosym $last_amm /usr/bin/amm +} diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest index 6d421fba19ce..6715a4e697a2 100644 --- a/dev-lang/crystal/Manifest +++ b/dev-lang/crystal/Manifest @@ -2,7 +2,11 @@ AUX crystal-0.26.1-gentoo-tests-sandbox.patch 943 BLAKE2B 5998c494c55f1039111ed0 AUX crystal-0.27.0-extra-spec-flags.patch 493 BLAKE2B 84270f431db778bfe4b3b9b291278960ad8e7f18a4e519eb38aea55f2777cd5bc183e2a7035b4364586bf69ca3ec40d52dcf0d5e5fcaf04ef91cd3d1efff2000 SHA512 95390bdc9e594bb8496a807287ea8225cfc13a1ad7d49a42c791cb94f641939b0002ec7dcdeb8d62565906c035c40e9e0d744ea7e8f4695dd07b66e5b66327da AUX crystal-0.27.0-gentoo-tests-long-unix-2.patch 469 BLAKE2B 66bcc1d0dd9582cac4ba89a2ccc2c7a2ac3ff4994cd687191470f2d481f9a6e3a91aaaf705f92f7600118a9cda015a9554056520502df7ae6462e111665c7330 SHA512 d840ac343ef566e404dc84e908bead5a020dfd88b8c0432f17bceea8d710d435626dc72b4be6622dbcd683a149bca16e781320cf74fc3f2598f84d169c6f7faa AUX crystal-0.27.0-gentoo-tests-long-unix.patch 3317 BLAKE2B df1040abdb587ac3fffb8129d4f1bafc492e38ad5dcfdea5cfbf4426849b099c4d94dac61c93ae7fcae46b60dea1809f52ad373efcd89796a3c1f119614063c1 SHA512 a9ed819a864465e062b4d6a568f14fbb8adc1db01071c79164dede8b2b8d83e07b785cd8196826097de5119e0bdc7d6e194cf4e10cc677bd2bdf158d124c2ad2 +AUX crystal-1.7.2-extra-spec-flags.patch 1080 BLAKE2B 3054e38d4e7d114f1b0a08b367f9a5b366bbe269c75b9195abf9dc39231b32428a108c4254abd0bdb29b2ac6a94d6d256eccc68ca69f80a273cd17e0c0115fc7 SHA512 3c3fd6a42b291a42f76ec76101d669011eb02d4d17f35c8ad31c5a49aa3655a2315999e2401af7f3bc26445f74f432430a44b021846238d345d9c14b1009fdc5 DIST crystal-1.5.0-1-linux-x86_64.tar.gz 29749716 BLAKE2B f1a84e89bb1c92349dc6e66088cd60298a7de25a5b42876b06ab8460e277db8fe53fa5477e8189f5382ad98b571df25978437c5619260f58ac721d1235882025 SHA512 49ff065bd084c4d8ad4835e79bd7679d76f4ee641ad8955c110f585429297a3343a6e7406fbacfbea18d91fd7ebbef40f61e1db66c249ca653d43b46dce68636 DIST crystal-1.5.0.tar.gz 2909586 BLAKE2B beb6bf0b8950317fa1883fa5c281ecf205f3a2c545b99e489ab07420534fa14ff1feb2a506a961304280cfcae1142faffd42acedd6845b96f439a6407e09106b SHA512 9f1915834c0218b05c6197325df1fc52d5d6a94ba1b83629ac07df4073271d777c1f6acfa7286eafb645e9118702ff856dfe590c8b2a3d91eb6929e88275f7f0 +DIST crystal-1.7.2-1-linux-x86_64.tar.gz 41103664 BLAKE2B 399f5703fe907bed55b002d3d85873871c55e5d091c6342c3dc8356b219d5190ee3bf94456c0d4f169f4e2dee1f62cb42acbe707db9ee46c12a6ac4d60c4b5a4 SHA512 374e1a26f4540a0b368edd280dbab77d39237104432d4998f067e042de05bc58340d6a80ce569d5089b73e0d9b79fa5c65c04ea51f88ac5b0294af81d54d81ca +DIST crystal-1.7.2.tar.gz 3121696 BLAKE2B 425d03a5ab34d885c6115582ae4aea3684fb088aeb3e8480087a14ff1963032e6ff4baa3022313d418dae5dce4a533786ee3993d19c81ed281b5a75411e5a4e8 SHA512 d278bc9a54c822e6c72269505158085bc7854b0f33c91a2adc24c656b310d20f5b49c633ec6216fbdee4dd17e9fb262d3315bf522c1c88e1ddbcb0dc386ce6c8 EBUILD crystal-1.5.0.ebuild 2544 BLAKE2B cfe10041668fb42053f97f2fa8bf0cf339c6a30d5110d34080d5b3bec6a6f7a8a99a61a41245136e81b09f370201c339fedd528c88900945dd725a1614e2e2d1 SHA512 c364de37b0c28d72cc5b057c5a88e1452e9cffe4b885d7297b74d3e9b2d05e25b54e9cdaadb302357eccef0607c7ca22691f438c96cdf44ee68e04fa15cfed1c -MISC metadata.xml 822 BLAKE2B 75fb394e2c4ccb7ed15df03b68f5adab6b40555dfd1f8a6349e144154162fb9bbdcf6d094d77ed8a477aea817401140bc800871ad86ef74393e7fb8462a21fe7 SHA512 7114e89e86a4fc1018647e77c54834ea4fbb717275573dbc5aedbf051b06da286cfa274ef5449eb4568f9e905eb1a58f11b1cfb50bb7316fd4b6d895d274cc4d +EBUILD crystal-1.7.2.ebuild 2603 BLAKE2B 519b670048e52a65e322989e5dbcc8a7172c96962d69e0cc08e399d69ad11c68e881552490eda038c0c8d5acf4ff0fa0d24a9f574b29bb45f5fb8380f99a49d0 SHA512 40f78f93c631facc19e2c60155c437f3d56f1d0cc109ad214f245e3d2dd63453acfe7b6cc110e67e374fc0250abd880c5381840ef97fb924181d4049d011b6fb +MISC metadata.xml 762 BLAKE2B 591f38c882318a6564501cc61abe6222264b65adeaffaf3b23d959ee86b83bae33eaf99029229705f92070fa539fd6d63d8242afc38475904483a9a0b997effd SHA512 ea223d568a3c336a43b183efc61bd1f1a9d1e5e0e8d963275e0b23ee879551bc7d8aae797b1e2edba49d119ad306692599eb535c5d164ebee0c6721dfeab78dc diff --git a/dev-lang/crystal/crystal-1.7.2.ebuild b/dev-lang/crystal/crystal-1.7.2.ebuild new file mode 100644 index 000000000000..5a6e1e59917a --- /dev/null +++ b/dev-lang/crystal/crystal-1.7.2.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +BV=${PV}-1 +BV_AMD64=${BV}-linux-x86_64 +LLVM_MAX_SLOT=14 + +inherit bash-completion-r1 llvm multiprocessing toolchain-funcs + +DESCRIPTION="The Crystal Programming Language" +HOMEPAGE="https://crystal-lang.org/ + https://github.com/crystal-lang/crystal/" +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 )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc debug llvm-libunwind" + +# Upstream test suite not reliable +RESTRICT="test" + +DEPEND=" + dev-libs/boehm-gc:=[threads] + dev-libs/gmp:= + dev-libs/libatomic_ops:= + dev-libs/libevent:= + dev-libs/libpcre:= + dev-libs/pcl:= + /dev/null) + CRYSTAL_CONFIG_PATH := '$$ORIGIN/../share/crystal/src' diff --git a/dev-lang/crystal/metadata.xml b/dev-lang/crystal/metadata.xml index 456e61401b3b..e07ed6579205 100644 --- a/dev-lang/crystal/metadata.xml +++ b/dev-lang/crystal/metadata.xml @@ -1,25 +1,21 @@ + - - toshokan@shojigate.net - J. Pz - - - proxy-maint@gentoo.org - Proxy Maintainers - - - Crystal is a programming language that resembles Ruby but compiles to - native code and tries to be much more efficient, at the cost of - disallowing certain dynamic aspects of Ruby. - - - - Build each module as a separate object file. Speeds build up. - - - - crystal-lang/crystal - + + xgqt@gentoo.org + Maciej Barć + + + Crystal is a programming language that resembles Ruby but compiles to + native code and tries to be much more efficient, at the cost of disallowing + certain dynamic aspects of Ruby. + + + Build each module as a separate object file. Speeds build up. + + + https://github.com/crystal-lang/crystal/issues/ + crystal-lang/crystal + diff --git a/dev-lang/eisl/Manifest b/dev-lang/eisl/Manifest index 9b75bd7f57fd..b1e18dbe871b 100644 --- a/dev-lang/eisl/Manifest +++ b/dev-lang/eisl/Manifest @@ -4,8 +4,10 @@ DIST eisl-2.63.tar.gz 2004974 BLAKE2B f563c28ebfa6f45b1d5ace1087646fa63e99b98a6f DIST eisl-2.65.tar.gz 2025074 BLAKE2B d4703b696ea28dd5113dba199ccaf6a37955ca27297efaff4fc7c575fb94d0adfca1a3ae3b2f2baa8fc17ab04cc1b0a5ee0eb2059743a0828b81d6a324a574ce SHA512 7e2f64b37211b119e8a12975403ceec7b0861826a5de0c5e776f1140323f5ee73c75443f2e3438dda4d4cf7e1a8738c6883b1ab6d579558813fa5ddbc6be7898 DIST eisl-2.69.tar.gz 2124476 BLAKE2B 8aa1c63f669f7fc04ca9d3f751cb298d3499d52007ccee7f6bc7d1a0cf6d4539e6d6dd9e76d2fa2ff887a26235ffcaa545d59d2c6c045b8d5f44913798e683af SHA512 3131f917408f768df51f488aadcc168705c118970a984ba5d72a5beb1a39cdd1327d3bc282108ec865df75110ef97c7f25ecfccf3fd552b5cdb0539ca3ca33b5 DIST eisl-2.70.tar.gz 2126647 BLAKE2B f9bebd32a45cf73d3b58598e2f7683611426dc97c4e6411549e49f19c9e843dd24d90e9bdaf9ca97bc70fea970068bf2dfd532a861fd444b9f8b17f76666bf07 SHA512 9aaf75244515d74d40d5534e20d108f7723e0fb9cf01ecc618d32a4cd2fdd2f7132445ed9ce020e0c9ea3a05bee614e78853ac0554ee189946ee3d220ba082ec +DIST eisl-2.72.tar.gz 2124119 BLAKE2B e0a1216b4e9c301ec965d0dc7a6fcaa5acd91fd611193959fee698a27523c0c4832e7960652af14af3e7f5846131d81f0ae9db7030511e051d5384ba573241ae SHA512 80998239b9cc421f42323f24ffbc5f518a2675c314580284309d127523bab328db21d294d8d32dca413abd63d279a2c857ea34ec35548da15459235eb0f3da2b EBUILD eisl-2.63.ebuild 873 BLAKE2B 7438f1e9c6324f10b90b6189136f0ca049870ee2f475fdd451b0e3abc679c8d528ffdbe2021715a002beb0cb21e302622ae0586e4eae9b6172db144f8c457977 SHA512 242c39416e07b29855c84e9607cebfba81ee36c0d4fcc035a26371d84bc0a934c32fa8f6a11d76c5e06aea74011149e7907db4f35baec3ea5ba51c9ef7ddd2b4 EBUILD eisl-2.65.ebuild 879 BLAKE2B 91ed3a8de726588e457df61127a5b7411f31c74cff812820200b373b19d2f93f1dfc9d93698c6e0d9c86af4baa2ca39608535c86a35f68a8a433490425f5364a SHA512 20780fabb322a2c3f096d44df59980ee65bbdb267442e396ab615413ffce491010b0a5da7f5a887b208ac93a36b14c26b350ca30d4faf3617b8a9df1e0959f8b -EBUILD eisl-2.69.ebuild 880 BLAKE2B 6b593c8a07e1959a701ac46d2f8458d6ef95286e5cd69e4108cf8f05c2dd1eafa4b632b3af250f4bb4d24813ce94bf48b9623064238766b2bd653d76e5a0514f SHA512 c5e6c7bf69fc643edc8a1917d98054b960983a4f53397e9d02da2447dfda0471ff250cda650b3623cf5dd6d9da32e5bcb628b84e911fbb4c837d3abf9dbd9c27 +EBUILD eisl-2.69.ebuild 879 BLAKE2B 3536c88b75345112c12a3140726d629163bdcd1c41be5db5c1bde0efcae7ab5b9acfa249cc488f6301207d3ca24627b1e9058d649de8081df0a37f8a36f03331 SHA512 873d50ef36af6d93e747e7440a3a14253e471310b16dd480f4378309c8e4f47f64abe10e3e13b35ddcaea7e1587f2e39825b7959d2391c3321674e3e5102ac37 EBUILD eisl-2.70.ebuild 880 BLAKE2B 6b593c8a07e1959a701ac46d2f8458d6ef95286e5cd69e4108cf8f05c2dd1eafa4b632b3af250f4bb4d24813ce94bf48b9623064238766b2bd653d76e5a0514f SHA512 c5e6c7bf69fc643edc8a1917d98054b960983a4f53397e9d02da2447dfda0471ff250cda650b3623cf5dd6d9da32e5bcb628b84e911fbb4c837d3abf9dbd9c27 +EBUILD eisl-2.72.ebuild 880 BLAKE2B 6b593c8a07e1959a701ac46d2f8458d6ef95286e5cd69e4108cf8f05c2dd1eafa4b632b3af250f4bb4d24813ce94bf48b9623064238766b2bd653d76e5a0514f SHA512 c5e6c7bf69fc643edc8a1917d98054b960983a4f53397e9d02da2447dfda0471ff250cda650b3623cf5dd6d9da32e5bcb628b84e911fbb4c837d3abf9dbd9c27 MISC metadata.xml 631 BLAKE2B fd171b07cf1f7beae7be774a5da360d466c83f01a6bd52dc69af436926ae5aebec27a2723c11498be21c4f96f6b82c6aa3571f4b84e763459ef78086450252f2 SHA512 dd9e329f24ce6d3922e92e81d36234b93151f71c88d6ba4b38557565a7c1c3bc4b7172d4d55f1d2d5bd6c5cada449691067cc71abd4d456941f6a8b78fe0df87 diff --git a/dev-lang/eisl/eisl-2.69.ebuild b/dev-lang/eisl/eisl-2.69.ebuild index 97bd3630d4a3..737f99d4990a 100644 --- a/dev-lang/eisl/eisl-2.69.ebuild +++ b/dev-lang/eisl/eisl-2.69.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/sasagawa888/eisl/archive/v${PV}.tar.gz LICENSE="BSD-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~x86" RESTRICT="test" # Tests run cppcheck (and fail) DOCS=( README{,-ja}.md documents ) diff --git a/dev-lang/eisl/eisl-2.72.ebuild b/dev-lang/eisl/eisl-2.72.ebuild new file mode 100644 index 000000000000..97bd3630d4a3 --- /dev/null +++ b/dev-lang/eisl/eisl-2.72.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Interpreter and compiler compatible with the ISLisp standard" +HOMEPAGE="https://github.com/sasagawa888/eisl/" +SRC_URI="https://github.com/sasagawa888/eisl/archive/v${PV}.tar.gz + -> ${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="test" # Tests run cppcheck (and fail) + +DOCS=( README{,-ja}.md documents ) + +RDEPEND="sys-libs/ncurses:=" +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}"/${PN}-2.67-Makefile.patch ) + +src_compile() { + emake CC="$(tc-getCC)" clean edlis eisl +} + +src_install() { + exeinto /usr/bin + doexe edlis eisl + + # Compilation of ISLisp files on installation fails. + # Do not compile them and mimic "make install". + insinto /usr/share/${PN} + doins -r library + doins fast.h ffi.h + + einstalldocs +} diff --git a/dev-lang/fuzion/Manifest b/dev-lang/fuzion/Manifest index 09b35c3c539c..858d69edd3dd 100644 --- a/dev-lang/fuzion/Manifest +++ b/dev-lang/fuzion/Manifest @@ -1,3 +1,3 @@ DIST fuzion-0.080.tar.gz 659142 BLAKE2B b1889ea646ddcb49248db1aa65cfbd3971ddfcad28976e39f631d7f6e3bd7e78f4dbc08756711820e982bcee8aef7eaf8de69a01408457d371c00fad926386ac SHA512 6bae87090b613dc82cc08526c66a62b81e757dc686130553a6f35ef9ea11dacbd726ee52ccb63019bcec876d5531b6a7263f48538eb05c062482f7609cd229c8 -EBUILD fuzion-0.080.ebuild 970 BLAKE2B 7b3f536918e83b4fc2ed9c16203ed9bccfe020b6dba9a778f954290f63e2818ceaa3d6900947b3db4035b52ad402a60b41e8c0b19380284cf85e09208b71e389 SHA512 4ca4b455eac6a776ec02817863f09c3e4bcc9e0dc4a171b328c8e4810e0f497be6fe030ad2136519453f7714088695eb45cd5f5e7e37d7a06c85a307338396c8 +EBUILD fuzion-0.080.ebuild 1221 BLAKE2B 232f827e4736cc268ef961af37a84c262339298a3250aab979e158ee5a78239278198b9fb6db3d6b39f18c7f1ba429cf99fa7da1d06f2c2993a7415d53ceee2b SHA512 1cc41eee19298cdb44b362b4306aa7a0d82e1652c4124cc9537d25f282a71a625d4c44e6448845cb59e477a5706fb03a458187676493edc889ac43678b0eae56 MISC metadata.xml 678 BLAKE2B 1785e807c53bd64819e1e7510d96a6d81bf316351d38633cd45f506fe79faad7334fb13ca646366c31146f66301dfbe638a71fffee0726867f6863340b7d14f3 SHA512 d61ffbe425b6a6b84dc1f813f279c0e655650e8b5273c69492f1092414ae956c8f1413bda3a87e5a28783a1d219d7d69282eeeaab1c8e6227a04c05ca0bea27b diff --git a/dev-lang/fuzion/fuzion-0.080.ebuild b/dev-lang/fuzion/fuzion-0.080.ebuild index 85dd0ea40aab..fc6bd6f75d82 100644 --- a/dev-lang/fuzion/fuzion-0.080.ebuild +++ b/dev-lang/fuzion/fuzion-0.080.ebuild @@ -31,7 +31,14 @@ src_test() { } src_install() { - rm -r "${S}"/build/tests || die + # Remove unnecessary files from build directory. bug #893450 + local torm torm_path + for torm in tests run_tests.{failures,results} ; do + torm_path="${S}"/build/${torm} + if [[ -e "${torm_path}" ]] ; then + rm -r "${torm_path}" || die "failed to remove ${toremove_path}" + fi + done insinto /usr/share/${PN} doins -r build/. diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest index 8328fba50989..1674a6973879 100644 --- a/dev-lang/ocaml/Manifest +++ b/dev-lang/ocaml/Manifest @@ -16,6 +16,7 @@ DIST ocaml-4.11.2.tar.gz 5075323 BLAKE2B bdc503d9a8d0e39dd11060febcd0287657b460e DIST ocaml-4.12.1.tar.gz 5181696 BLAKE2B 9d21438e09b1a9680eabb65f5c78d9fe84459592ef7bb797a1933e5383f7b6d5cefffa8cdc184abc102417f5dbc0fca8ef624c9b560f89eaff6537544b5b395f SHA512 e942e5cf5530804690ec45c40936ad2acbb60e11279fc676e0f04181fe1855f84ee5c3cb9c337fc5d01f6ee0e7b2251a6c04f7de56d99c20bb62026dff6c5671 DIST ocaml-4.13.1.tar.gz 5323203 BLAKE2B f1dcb1601ebfa2a37351e3a466a7ca601518c2da403b01aeb182738a54d5887523ab554d747d6591cb09b07b417865e20907f7877117b2d2d069ef6c9edc0fae SHA512 da3434177438c852da53c0fda7bc2519adcda6384d97d45e44137ed0fd384ffb3da61958a7b51296edb3f88f5a5310ca71b6862f6d756aaa4012d1f54e5955f6 DIST ocaml-4.14.0.tar.gz 5494844 BLAKE2B f2f9142a95722c7fc5fda205ea6b951939f7d285963b8aa14dc157ac10202ef9d00c7590beabdc97ed83548d61e5ef28b60a360f1a492420a54f4e26dfbf89f0 SHA512 3c5e5b9f00bb109dd99b5f7b0078cf8663d4247e548f3e601d6b2a55582e04bb20f6de85005c4cf2f78ae9aaa449f5ca6f2bab2f6ce83eeb3aeb386e3f2fcc32 +DIST ocaml-4.14.1.tar.gz 5498436 BLAKE2B 6113283ab0f7ac39ade1f35a02c203a6956f8f4efa4f174daf53483c1d874613195c2705ca02760f0ff4abd9b37c91f8dec59c010ac8ae8731790cdd6f429673 SHA512 6340e145c7d11a1ee9fa1699fc6a8a6785f14ff9c05dca708cf278194642ec9b7c562d744d8b38e5dab74b88fa3a5760035e214f5f8fab8b233a344b035db8fb DIST ocaml-patches-9.tar.bz2 1700 BLAKE2B 4e46b8fb490db28f815414e285f54e251394ea53e1d25c529bbea9f03e426fd19132b1e2c7c2be7d14983fceb4cad073d191b001f6da522fee4226371d4a2eca SHA512 cc19f9104fac69aecc5effa8cb772342e1fb61cdcd38ba0176efe04cf3d710b1c56d5178748f3bd29099af91fa684da432a8ef8d42de76dbd1b6954a255ea6c0 EBUILD ocaml-4.05.0-r9.ebuild 4370 BLAKE2B 22f915f38da08b3f98923f337dbe1a2ae25f2edaf73887f602c0d13047808bff8f5bcde68d7ac214f07da7d68d6c05a2f9520318d1cda041d54e37966b27c605 SHA512 111a2e4d4a18034a2d4580d19e4074fd4d6b60330e0af861062c4196c19027667d18e0361e1e73cdf9d46c31d06d66ce9a7ada36058fca168f634a891cdae861 EBUILD ocaml-4.09.0-r3.ebuild 2794 BLAKE2B 0a7e6b805915602875e3f323f97370a5f9345c2a1a9e30ed545922cfdd31c8d304d2e534b1ead1719b9be33f72c79c8383ca63fa45f2f62084f47c7cfd1e127c SHA512 b87052b9caea618b0024342e614859e68bb30b3426b31df313006a3c655be8b60e47ab9611c609307bacff610f0cc889e68db14e1c78bb820f33bcde8b32f5ee @@ -24,4 +25,5 @@ EBUILD ocaml-4.11.2-r2.ebuild 2642 BLAKE2B 3639ba3300e16337b2b0d31b4bca1accad472 EBUILD ocaml-4.12.1.ebuild 2559 BLAKE2B 50f373f16833ba2783fa3f1758ce0678934b3be58d662b595440f8abf0f0179ea78781835303dadd583cedf412c08cb1799e54276237fae491cdd944615d9f98 SHA512 9f3ce96e0f69f6a11d431255709f0ea11f46bb80f43597d3b026a916191bc6e71671621720184e4d2ddb962dc45360a6d0541c68525720ea89e63b009acf57f8 EBUILD ocaml-4.13.1.ebuild 2522 BLAKE2B 8960f3e3ec99267b9a5673c7ab3765970ecbf1d1cd35500be26b7d0ec5d4e35c2c700b39179c2178f86b9f89fe9772d47f01ea70f925b6bfce048f7a799cbfba SHA512 390b1b201c9a3b9cebf6a17e4820224e7b321390801134a496ba45fe607a9af8b1417eb3d17cf52f41c5a70eef9d463182df392cb264e1243efbce90f7f5a8e7 EBUILD ocaml-4.14.0-r1.ebuild 2548 BLAKE2B 65ce4b1a463df7ba0d42fabc25fa57e72dece6b8624a94c8eadc7fbb3c800ad2363e87613c5e5b1fefb06cba55189f83d8cf6aebb6a140876b360a2ccd8e90e0 SHA512 d24f07e097874566badcbc8eaebb8eb62bbe292242a5c94893c77f509c5b2313a15427e1503dbbcde2ecfc1d14bcbec5acd8b487d110ad0aa65d73c56a001cc7 +EBUILD ocaml-4.14.1.ebuild 2486 BLAKE2B 98ba4a9bf0726039451a0adde11525683df03c28612b5118ac658713b719b78aca257400301055adaac09e0c7e4f68c43558fe2db0729fd340e6be0ab0238d61 SHA512 58461c438ee34d2459e1a33ff7e66c84a178e93b13db3c49c1edcd95a126708f943ff0d6be3647ed0e770e23ef1838c395f7807fd0d792f71e3d6784ab65289c MISC metadata.xml 776 BLAKE2B e7b13b4bb764cec6df76ede0eb2d492cc705ce51b18a445fa3f9ebaab119fab8cae45a2a9d02c70f38e19f2e2d2c06de648a3a0843a603dd7b68942c7cd00bdb SHA512 92e3afe1c40991d37dc460d6091ff2b15c83740343e5d8dd69344eb61d873fbd66af1b96e70904f7757c06f2b104d1450883cc79877709c779467af64e2ea96e diff --git a/dev-lang/ocaml/ocaml-4.14.1.ebuild b/dev-lang/ocaml/ocaml-4.14.1.ebuild new file mode 100644 index 000000000000..555de3ad282e --- /dev/null +++ b/dev-lang/ocaml/ocaml-4.14.1.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic + +HOMEPAGE="https://ocaml.org/" +SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz" +DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles" + +LICENSE="QPL-1.0 LGPL-2" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +IUSE="emacs flambda latex +ocamlopt xemacs" + +RDEPEND="sys-libs/binutils-libs:=" +BDEPEND="${RDEPEND} + virtual/pkgconfig" +PDEPEND="emacs? ( app-emacs/ocaml-mode ) + xemacs? ( app-xemacs/ocaml )" + +QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs' + +src_prepare() { + default + + cp "${FILESDIR}"/ocaml.conf "${T}" || die + + # OCaml generates textrels on 32-bit arches + # We can't do anything about it, but disabling it means that tests + # for OCaml-based packages won't fail on unexpected output + # bug #773226 + if use arm || use ppc || use x86 ; then + append-ldflags "-Wl,-z,notext" + fi + + # Upstream build ignores LDFLAGS in several places. + sed -i -e 's/\(^MKDLL=.*\)/\1 $(LDFLAGS)/' \ + -e 's/\(^OC_CFLAGS=.*\)/\1 $(LDFLAGS)/' \ + -e 's/\(^OC_LDFLAGS=.*\)/\1 $(LDFLAGS)/' \ + Makefile.config.in || die "LDFLAGS fix failed" +} + +src_configure() { + filter-lto #bug 870349 + local opt=( + --bindir="${EPREFIX}/usr/bin" + --libdir="${EPREFIX}/usr/$(get_libdir)/ocaml" + --mandir="${EPREFIX}/usr/share/man" + --prefix="${EPREFIX}/usr" + $(use_enable flambda) + ) + + econf "${opt[@]}" +} + +src_compile() { + env -u P emake world + + if use ocamlopt ; then + env -u P emake opt + env -u P emake opt.opt + fi +} + +src_test() { + emake -j + + # OCaml tests only work when run sequentially + if use ocamlopt ; then + emake -j1 ocamltest.opt + else + emake -j1 ocamltest + #ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests." + fi + + emake -j1 tests +} + +src_install() { + default + + dodir /usr/include + # Create symlink for header files + dosym "../$(get_libdir)/ocaml/caml" /usr/include/caml + dodoc Changes README.adoc + + # Create envd entry for latex input files + if use latex ; then + echo "TEXINPUTS=\"${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:\"" > "${T}"/99ocamldoc || die + doenvd "${T}"/99ocamldoc + fi + + sed -i -e "s:lib:$(get_libdir):" "${T}"/ocaml.conf || die + + # Install ocaml-rebuild portage set + insinto /usr/share/portage/config/sets + doins "${T}"/ocaml.conf +} diff --git a/dev-lang/orc/Manifest b/dev-lang/orc/Manifest index 06e4bd220f1e..9630de44517d 100644 --- a/dev-lang/orc/Manifest +++ b/dev-lang/orc/Manifest @@ -3,5 +3,5 @@ DIST orc-0.4.32.tar.xz 180340 BLAKE2B fca41f0fc46bb6a841eb37f0f403afd0850053f93d DIST orc-0.4.33.tar.xz 199024 BLAKE2B 45518ff948f794c5a0eb14ddd462b58760d178267da34fd449a20d1bef4f7d6378b499efe1c7782e83c55be060b6f67023074cf8134e6a5ce129921324562c9b SHA512 ae8adce5dd62f4054879e6f2db76ce8a7959fd32fef0fb99f73f450ff58c5237e15bca764f6780309a163e40afcf400345f12b0aed5b88dc698064e44f8eede0 EBUILD orc-0.4.31.ebuild 1183 BLAKE2B f417e72dec8e15bdd4ffdef8cf7c8f3bf84ecbb31ba814a1f05535a8b92de410e2e0db25ae2e864beb13b62ded43f547e8ffac2b46f5acc3dc192d44cd32735a SHA512 4b70b2b82d107ef096714971ab9eebbe4c4a6c981bd26c0edf7751580dfba97b7db04cae401d6f7415bc36ee0905b3f7782b5d4e4bd446c20cfdd79d199a3cd2 EBUILD orc-0.4.32.ebuild 1184 BLAKE2B 1a85ed2dcac98a9740863c45e4bba4fc9d5827b734e2bcdab3b4a37b12e068dee53a10c56e7b63eed451a2ef37091b4f9d25448c4b14bd5dd5abea2b35a1397b SHA512 69b730395708d67934c7c6eefe46bcffc7bdb507b6c4ba403d3ad298a85ff3f00b81a8ac1ae103de17293d0b37ef5756e55d129ed46643cccb24e1c747901311 -EBUILD orc-0.4.33.ebuild 1189 BLAKE2B 794a3bb760fb3bb41fe6ab84eebd481023fcacc03312d7d8cd640e40faaa9e617d66c1203fef9375ffae7ff3ee5fe639e789908bfacb5f698371b16255412fd7 SHA512 a9b8fb18f081e65f2c53ada3ef4150ee7b18ec1b2c52db3867b4df2b34f35cde2c0e4eea0ad2daebfcbe154876f0dacb60074bdbcb5dab64e3ab1804fdded48c +EBUILD orc-0.4.33.ebuild 1187 BLAKE2B 867b4ef5f5d0ba4b1e3fa9a91d732603938a88fd58230f1bbe3253514d0f2d3da4b9221d0d00be139d2dc350c87ceff6b2f66d21e3322ec1624d064fa30c15b1 SHA512 408c41b3c67afa11bb3399d08205d33e3f637bcbe207bdee37cbf577e4a35fd31121e930e7383936dd35345a7cf60295734eb7d50aacb48625263de94c8368bc MISC metadata.xml 265 BLAKE2B 15de31a2337fe8b9175ffe3fd29cb1eb24148d7463f772b18a7fe8b38bd4edb05005df1ce6996cf23dad21db879c18b95d245fa9d096a002b95155c01088f516 SHA512 78a0c7a2a820f7032f384cf68d2affdd92d6f1466778f879909d0acfcc1cdc3bd64eee700ba06979f561583981033aae59b5d61eb4cfd01fc71fc13e4433305f diff --git a/dev-lang/orc/orc-0.4.33.ebuild b/dev-lang/orc/orc-0.4.33.ebuild index 235a03aab3b5..51bb1904eade 100644 --- a/dev-lang/orc/orc-0.4.33.ebuild +++ b/dev-lang/orc/orc-0.4.33.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz" LICENSE="BSD BSD-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" RESTRICT="!test? ( test )" IUSE="gtk-doc static-libs test" diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 05e5308a2ec5..0af6a98f5169 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -2,26 +2,38 @@ AUX pydoc.conf 169 BLAKE2B ce40bb3d5f858bd7a8d9ef5bf215a8ab592568a724f0e08aea219 AUX pydoc.init 600 BLAKE2B fb8775a6663483e5112ec283627610b746020d88494e772b92bb718a9493a52606e565c6c2fa4917a5cb963f166283d09883bd26903f2f3ced6c240d4e292a7f SHA512 9e71ad53486b6882a8441b24225c602195ee33d29dd1b60df27febbc6b752e79929be356152a489f893dcfb11f9c066b999787bc27a8ac61062c86e67a69e87a DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755281d2f94353314014d9e83e0ec5f0b3e3950ea1fdf5fce9ba6b8f55312355845c2a3fc4291c27ee56fe6215448 SHA512 c2a5f5a52f47dec52460ad3275758d4e5de6e7075c3def4353c988d74d563a39b42cae2d5eb24e2a23a6247cef69100f91620b11a49c2359fbf99b203c9cbda8 +DIST Python-3.10.10.tar.xz 19627028 BLAKE2B 57fc6869fa05586158a170c1892d93a3036823bfafb9484b9d70bca6cdc3e76f75357622eace4bde9a4c0ca62a1bb79665e5751b41655f9f4d7e345547013ad8 SHA512 f0aee65970a68287b34c4eafcf35c6fa09c81ba234ac356db16fbbc6c36417e4ac67071e616d118f5e192d541d7f177dcab5585b9780e842f656c09e01c37ced +DIST Python-3.10.10.tar.xz.asc 833 BLAKE2B fd60e6268f7dd6676ea58bd7e80c513506ac9810c1a62ff060134207b0fd8e7b096d5f11f3cc536a1578144ff54c00bcb076d3c3f5889a69a898660dd280312b SHA512 591746d74c6123bf36c763b6e8e1de1554f02eeff30c855623ef0f12d3864d5573eb5efe96d6e142f24627c77b90738ada3456df4ad59bddcb008658f2ca8af9 DIST Python-3.10.9.tar.xz 19612112 BLAKE2B ef2d063a9fbaf234aa4a47149cb184a0379dc403515df10249104a5092750cdaf22ad47916d34e17dd68fff1c30338c0375f4e4e3cc9bde33e0896c1c3ba655b SHA512 d66ea8adeb6dc4951e612175f8838b3092967ff275b7a3470f2d86f470036aa2221e722c3144d90bcd230b88efd53dde204213f72f703e524e4b833e2ccc68e2 DIST Python-3.10.9.tar.xz.asc 833 BLAKE2B 8895c6cb5031b2463cc6ba3e0dc56bee40c2e99117c062f9c72f2b7adb0d5a49782b968abfc764117e8513bd12816915245677c25b1710e3dae3c9e26937c2b9 SHA512 525e166ede6836086de814c26fc880f41eaf1ed4bff6118f00342e42f7ab1c47148447ced1b565e146d3125fa06b5cd6b394a256bc61096766b26e07f18bbf10 DIST Python-3.11.1.tar.xz 19856648 BLAKE2B 2a8942e7a145cfcc5b6932865ff9a1afd300bf2e6c4c915e88d0e849441196a3a4cacf94f3db87eaa7538872059085cf7eeff91c436f424448f85d4b180a6f24 SHA512 5edd70c881e083c96199c60471f18f9ebc4c97a2d45dc66f89e16d7c3638d8a5d2cbf2e84b1be3d7f1178ce9f7fa4197884385c1ee3618ff66a538f872f318ed DIST Python-3.11.1.tar.xz.asc 833 BLAKE2B 27c6101b2022cb7bea3e6082f1554b31cceb8cabe720e4b19391f550e870588c4defd1552c580a7e063638b80e8b8f415e54a11cf40ae3b0f449500c2e9babc6 SHA512 81ed05c2adf38552bdc5ac761704f2720a646d56681a919a6bfa51f1a4b42cd14edb9c84d58664dbc8e7b561cd78d82ae6b10dda423e1fae543bc7fa4bf3f78e +DIST Python-3.11.2.tar.xz 19893284 BLAKE2B 0cfb1fefcdd4c4baf5c34f74ab0600ac7cd40101d266c28f66f9d35bcfbf19d6c3ff2a5b0d357ee1d03061e06005ea3ee7b18adf878d32e197434b3da2b7d918 SHA512 5684ec7eae2dce26facc54d448ccdb6901bbfa1cab03abbe8fd34e4268a2b701daa13df15903349492447035be78380d473389e8703b4e910a65b088d2462e8b +DIST Python-3.11.2.tar.xz.asc 833 BLAKE2B 15795836babd269424f1ff511073e27235827353383d15cac6a85406b967787840ca6c0f119faa1971a50ebb6699e6cdf0de095f428b868b57a91eb8dc6d5baa SHA512 9d9d1c6dd6e56a916c6861cd0e7e623a165b0845bafe0acfcae27b4fe10a6b7015844e6b3f8deded26a763c935e32f565b2e12beb20c43fda16c11eba8d282a1 DIST Python-3.12.0a4.tar.xz 19690792 BLAKE2B f4da53e856afca1acd8ba56dc37d78ef4cfee0007a3a66c9276b7a93dbd4c9e7ddb39aaea344bc55219e33ad09a9b34bf0e8b89273bba8e99643eeafc7e76d42 SHA512 19a98939077004259868cc5e6901d8fbf0ae90ad579700d6993f6b82990b1b4eb92efa5c8b5b7b50cfc46e311cb5c45f83251223a623fe1ade5da45ef2ca5dce DIST Python-3.12.0a4.tar.xz.asc 963 BLAKE2B da2279932786fad5cb3def5e34f9f113b9203233f70edc805ac1f7c3ddb584883655bb3da7fac1651017269a0dd8ce9a88fcca609ab2072bc6285190c487a566 SHA512 b74a1bf0d5e4f402b6e5164cd140457ed0b172b2bfe61be1642fe053b71092b8bae1f5281e03516a6fba24319c78cd2505494cfada2416b766f4c602c1284d2a +DIST Python-3.12.0a5.tar.xz 19743140 BLAKE2B 3613523f8417251127b2a013218518a1f311d80a1534e0dd1eb704fc6bfd9e143848a18328a0c8d3fb00d7c6f580ac1b314d38893ca66d1de7eab198862ab99a SHA512 090d205a3cbfce1ea4c1ca5950d24db64e6f8aceb2f6458f17b996071ce6ddf80e60ed3e293b89f242df705e1dec6069ccc3e46f24f5d4e22819d7d54743a27a +DIST Python-3.12.0a5.tar.xz.asc 963 BLAKE2B f04f9c4b15404887611ff92cf661e65a2465f0a2d20b6c084ef76d0d426e4bfcf3963c45d96d385ce8ce3f739ae37f0834dd7c1837f10d8e4bce438ec8b044e2 SHA512 626ccafcb390e3987494f1c3fecf094047afbb255a65948fd1a1c8568cbd9c58be8e7e50e64b20873645428db7b363166984d075a3674daa9771b4be6fb46439 DIST Python-3.8.16.tar.xz 19046724 BLAKE2B cbdeec7961d39cb9ab4960760b5d4c7ae71675c174156aa9f6fca55ee92a93a937ef39defe86e423237a25e0e24703233ce4b91dc97005b6ffc1f342ddd9e22c SHA512 d206e80806409410c00ef8acd8c3d90e3cc9553f996d0a57faa63802f2415e9d7591542b2e84b5e8e79245f40f6478790b5ba2acf1da98ebbc9495999183f7fd DIST Python-3.8.16.tar.xz.asc 833 BLAKE2B 678dabc558d013b104bf9e65d4319076c4730a67093a66fefc073b429c640d4facb31a0d6b7238deb08b265586a0cfb2c345051fe4df7bf5001d7317e6c06c9b SHA512 e93c394c0c5afcaaab625a3bd540dcc8e0ab946803d212343b8d1d6d5e6b89b09b6a20607bab0d858b30389a03305d57e14548605a65277d053c7817f32f4546 DIST Python-3.9.16.tar.xz 19738796 BLAKE2B 70dedeb70d9d8f27e4f6db5106623e087c61d451c7a04639cf8d3503ad02d4d43f1b36d0cdf1131aefc9bf6e677e561227dd4baef2c2c3d2dbf6d3e7dc36bd94 SHA512 b5fd0afe131c82bbce6ddf887c59eef6945910d6a9a2bc87c0927f4e4a096bf9ca4d25bcb729c40f6ebb8a65fbe8bf7b0b97a7c4a8c9e551240eb4f34b878653 DIST Python-3.9.16.tar.xz.asc 833 BLAKE2B 416b4a4be06e101c5971c12a6f21229c425bcabaea58487e0d1b24d6dea318c58806ee43892fc704df8252670451bd6a4a2610c25672d3983ddb081fed34b92d SHA512 468959c36a3ec6136f57a39475fff4745a25be0cb5d3d58cf3e5faf0b9ce2d2a8b89f1f9fea1479c4c6ad12ac49e97c1cfd4291c978bb3d30df5a582ec315210 DIST python-gentoo-patches-2.7.18_p16.tar.xz 35448 BLAKE2B 0139c0944f62f9cdd236f6a8557e0ed19704c7d72869af1cb7d8bd3e646a746cd4a0201e1b44232a5e78ef49f254db20b0d0271bf744fbfd4fe0f1e99b8f3e6c SHA512 810be590d0e06fab4b2165e6852ca49662f09dcd7e20b47a29f613ad7653252c8dfac3f0eb228d77c8a914efa7c08788b2fbd552a4b47504f5fd0ec17450c48f +DIST python-gentoo-patches-3.10.10.tar.xz 12220 BLAKE2B 7a3405d16e7a3b45dd32bdf1c78223a2623f997f55135d813f7c081736f383e6628097de4e66c35c07f7a2b07830e03fcb2d40ed56c5361a4c4e7018aae3caa2 SHA512 3433875d8a3311a7940355961f120ac85a2ba557ef527ff352c99d42ea9b50b9540bcb0ff108ff8ae68c179249a5a64cc8100765bd64ec17097c50521cf91610 DIST python-gentoo-patches-3.10.9.tar.xz 12216 BLAKE2B ced4f951089c51ddaab6c62ade9d2c84f69e7e1baf2acf5247559534c7d0fb0e88dca1222f5bd2209b4e61f5aca17279b8054f269535dbc10de0786c2c5779f5 SHA512 2d01f0f3831beeba004517bb82f7d616f25f08e5c755409ecff79cd68e0a619b5bf6802fffd0e5f7f39f1d9d93e65b018b91cdeb337a5e47f1651f36bea0e96e DIST python-gentoo-patches-3.11.1.tar.xz 7076 BLAKE2B 3ec45f7529d34eabc9d9ba7fa7f8dd51d8754d9758a605b61857a9fd80386a0357837c925263ad7b0e207ff916944b94cc0e03c0f59921f839d5e51d92f0e47e SHA512 4253dbfa057a91db584b92550e2d39d87986f33041233bc400dd0254cbd95415b33fc47b0fe997bb84192c755bc16d3d31941bba4c216ee4d65facf0b48c7862 +DIST python-gentoo-patches-3.11.2.tar.xz 7112 BLAKE2B f6bb83fdd310646b4b5ae397734e3ee90b4028b5716e92cb194fdfe0fe2fe3d3e5ef5e8dddc956d10dcd19bd0308f45d7d24b08e07b01ce872a37302f92d834d SHA512 5bad6b47ad20e2ec786fb91e1476731c06281da611f53fa4d4fb927398d6d827d2e57aa758a2a70cda5f9dc3cdeeb53e7fcb0727e06805aace334c4df022bb8d DIST python-gentoo-patches-3.12.0a4.tar.xz 8504 BLAKE2B 1257c1fe428fc967ef7d3107f99e4fcef0758a2bfa5b345bf69bb47bc0af1644b449f2b11b61148a8f79ed583a80365432d78ec4bade3d92070f08ad2ff568c2 SHA512 142f5d2ee8c1beeb6084bb6b48a0bbdcde907f48f514ac7743f0e6898a761696bb7788861fcb5c938cc36f212d444ddcfe874880ac8b4d0d54bc8ec04b166ca0 +DIST python-gentoo-patches-3.12.0a5.tar.xz 7704 BLAKE2B 7224d3e4318313183a10dc0d4fa73ab589b9de8096945750f31d45371b926f7e2cbeb2c672c254e369f04bb5588a79335ceea2e3ce4968e76f70206bdc3c9672 SHA512 951d6fd25e113bf29fb334a9162bc132d27a8c3186c8b6cbaddfbdea8ccd221fe126d09cf7c6df59942d49dac8561a4e168468daa0e7cd0d0d3a925166b4d835 DIST python-gentoo-patches-3.8.16.tar.xz 28716 BLAKE2B 28ccad9d77a89f80f72dd12eb89d657825e80061eaa069d4c491736bffd87b235f483b9d079b9f383377ea4bc6c19471bb6a4869a37fc0401abe28e2444fd9d2 SHA512 fe94ee2851af5c87c64ea3af5c1a744a53dcb03743f824a7726803daf454f38511894e24fe68be9de4ab59d1798161a3c320748309d04afd1e77906df353a246 DIST python-gentoo-patches-3.9.16.tar.xz 23348 BLAKE2B 26b66e57530d167776d2aee60fd4620fc8e6c229f371616fdaa74aa2f03fd5a50b61653a5f34e0f2659901ba167af7c2aadbb0d2db773ab08bac8b3125c84b77 SHA512 8260369d96a6328ad8498359ecc56f48cb02015547065cdaec28a6bb2293bef420cb12764fae9fdd13f4a6faa60c4c402e804a22cbed7dca031ac1679032f9f6 EBUILD python-2.7.18_p16-r1.ebuild 8390 BLAKE2B 760f15a7d8c758ad0e850123fede5e2b10d8b44690923a31f235ab2c316750deda21fa16a3408bd32509b0f918eda202c19327cbfdc7d46b7197ee112f7ebc3b SHA512 10d97606434d8b99f84f21e6821989f842228b2e598457e65effce103b5ff852c3e6a5e8fab940f06a63bde671881bab2c1461a7e1c11afacb926128a6ffd70f +EBUILD python-3.10.10.ebuild 13675 BLAKE2B a390612dc694d39f15b5b6765d3b417ddeedf28e62c3813799a6b07d47e077019315be52d692ef573b147f80c7aa4dcedd90e8662866d3f0349434f8f5e2b999 SHA512 c02a6f29d22cf2080d90b3ea711945a86477b35c41f9ad9549829fe271b61aeebedb4c49dd0493380863248f6d8ddc170de7be058d4a42d5bc9353f58678bb75 EBUILD python-3.10.9-r1.ebuild 13667 BLAKE2B 97f76ca53a0d507f0aaa524eff64d31299ffa81d62fc1b934d80bbddf612d354f94ae2468a60bff8ae3d9e299e1d53c2ce67b4c1eeb1275e0ea22c8ab7b73189 SHA512 efd1bfb9391acaadd9ce6883d65e68fa52461b5a4347df1d426c77748a273c3695469a46f92b80affca350f934fcf94bdc48406e9e348d78a0097f66e9658128 EBUILD python-3.11.1-r1.ebuild 14566 BLAKE2B 4def0a2c1cf782045ba6a9ddfd0bc28d44facf6a731245b365a601c4d1b6d304797b710623270cc270c68018cc9ba1aa95c846b878de96e266cf6bf5d3a8e698 SHA512 ebfd298bc8a3608446425e4b0b579a7f33b0a12db39e5886743ca92087608ecd45a85b95e24cbfb166ce7b64d30758d85f79976fc90b7d679479f1ec9c792b12 +EBUILD python-3.11.2.ebuild 14574 BLAKE2B 8be62e9c6e9e86263543cf15dc5b00a2d805feeaa4670afc039ff18d968b6a47a07892a076956dd1c4bd7df31ca356b929dda8450b21df959e425003fd29168c SHA512 d6ec7e9db0c5f787426114052470ec86856a650dc77414d076e74fd7d7146fa648ad2f2bfc42b5fee0f22d298dd65b89e0c7b05b6290b168e8bced32b5871f18 EBUILD python-3.12.0_alpha4-r1.ebuild 14404 BLAKE2B b39e6adb6a688f581b42a5cb346814a65a6d09bb57fe621dbe8fb9377e3af8b50a3bac5283ea33ac7fbd08565c9f85aeb8242b5945e188f5928042b7369b8779 SHA512 fe66b3d77d4749cdc1b34d1f64bbdb0a24f9b17be16b078325b9276f55042a04d4fcbb2b5025f6bf4306ed92d0b3285e03bb1f9f484dceff3029b949b9306460 +EBUILD python-3.12.0_alpha5.ebuild 14404 BLAKE2B b39e6adb6a688f581b42a5cb346814a65a6d09bb57fe621dbe8fb9377e3af8b50a3bac5283ea33ac7fbd08565c9f85aeb8242b5945e188f5928042b7369b8779 SHA512 fe66b3d77d4749cdc1b34d1f64bbdb0a24f9b17be16b078325b9276f55042a04d4fcbb2b5025f6bf4306ed92d0b3285e03bb1f9f484dceff3029b949b9306460 EBUILD python-3.8.16-r3.ebuild 12046 BLAKE2B 4ca7aeca3534a30fef821525ecb7a7d7fec1380fc9db88ff79313726aa8982e6b7baea60b1f7e453bcd259d41c8d5c1f761867d3b45f8353ea1afab5c05e22cf SHA512 17869a774bf16c2d85ccc0b2c95c526922e35cf5c7b0d77c5ef465998192e53ca3511dee7377cc7d34a61e9727ddb16a568fe44891c63dff98d0ee2dbcea1009 EBUILD python-3.9.16-r1.ebuild 13465 BLAKE2B bf1a41081df421d5ddce77cebd8d3c5c732dde9587acaaeaadd3ffeb236d5ed8f6d5235a992ec69fe1cf29fe6b18cb06045d61956ec0d05c9411a0cc4c532ba2 SHA512 3138585b3e5826fba51811cca19b4c123f4e57943c5cbabdd024e7266f40403e6c86d69173dedfff35d9a781b6a6afb0373355a5a1f95a11fcd8ef59f57d60ac MISC metadata.xml 1436 BLAKE2B fd5ebcef153bc74aae02f8930dba67736ce44b1dd23418448e7d5bd22391845f5edf0ba8cdf3f43af9254c68734b95fbac9ee891f09c4584c9272ac4233eede6 SHA512 124a1e743cef7236f7936aa843d3aae739a420b1b6173f02c2ef787745616891142724446320d887aeecb95fac09e3620a9666e8e3e32085d79019fe71ff7da5 diff --git a/dev-lang/python/python-3.10.10.ebuild b/dev-lang/python/python-3.10.10.ebuild new file mode 100644 index 000000000000..76282abcecd0 --- /dev/null +++ b/dev-lang/python/python-3.10.10.ebuild @@ -0,0 +1,486 @@ +# Copyright 1999-2023 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 +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +ensurepip examples gdbm hardened libedit lto + +ncurses pgo +readline +sqlite +ssl test tk valgrind +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-lang/python-exec[python_targets_python3_10(-)] + dev-libs/libffi:= + dev-python/gentoo-common + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= ) + !! /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + 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 + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict "/usr/lib/python${PYVER}/site-packages" + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # 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 + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # 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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || 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 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" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${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.11.2.ebuild b/dev-lang/python/python-3.11.2.ebuild new file mode 100644 index 000000000000..8eade19a658d --- /dev/null +++ b/dev-lang/python/python-3.11.2.ebuild @@ -0,0 +1,515 @@ +# Copyright 1999-2023 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 +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +ensurepip examples gdbm hardened libedit lto + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +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:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-python/gentoo-common + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + !! /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__GDBM_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__SQLITE3_STATE=disabled + MODULE__HASHLIB_STATE=disabled + MODULE__SSL_STATE=disabled + MODULE__CURSES_STATE=disabled + MODULE__CURSES_PANEL_STATE=disabled + MODULE_READLINE_STATE=disabled + MODULE__TKINTER_STATE=disabled + MODULE_PYEXPAT_STATE=disabled + MODULE_ZLIB_STATE=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + 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 + + # force-disable modules we don't want built + local disable_modules=( NIS ) + use gdbm || disable_modules+=( _GDBM _DBM ) + use sqlite || disable_modules+=( _SQLITE3 ) + use ssl || disable_modules+=( _HASHLIB _SSL ) + use ncurses || disable_modules+=( _CURSES _CURSES_PANEL ) + use readline || disable_modules+=( READLINE ) + use tk || disable_modules+=( _TKINTER ) + + local mod + for mod in "${disable_modules[@]}"; do + echo "MODULE_${mod}_STATE=disabled" + done >> Makefile || die + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict "/usr/lib/python${PYVER}/site-packages" + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # 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 + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" altinstall + + # 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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || 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 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" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${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 +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/dev-lang/python/python-3.12.0_alpha5.ebuild b/dev-lang/python/python-3.12.0_alpha5.ebuild new file mode 100644 index 000000000000..c2c9e1492070 --- /dev/null +++ b/dev-lang/python/python-3.12.0_alpha5.ebuild @@ -0,0 +1,510 @@ +# Copyright 1999-2023 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 +inherit prefix python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_alpha/a} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +ensurepip examples gdbm hardened libedit lto + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +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:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-python/gentoo-common + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + !! /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__GDBM_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__SQLITE3_STATE=disabled + MODULE__HASHLIB_STATE=disabled + MODULE__SSL_STATE=disabled + MODULE__CURSES_STATE=disabled + MODULE__CURSES_PANEL_STATE=disabled + MODULE_READLINE_STATE=disabled + MODULE__TKINTER_STATE=disabled + MODULE_PYEXPAT_STATE=disabled + MODULE_ZLIB_STATE=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + 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 + + # force-disable modules we don't want built + local disable_modules=( NIS ) + use gdbm || disable_modules+=( _GDBM _DBM ) + use sqlite || disable_modules+=( _SQLITE3 ) + use ssl || disable_modules+=( _HASHLIB _SSL ) + use ncurses || disable_modules+=( _CURSES _CURSES_PANEL ) + use readline || disable_modules+=( READLINE ) + use tk || disable_modules+=( _TKINTER ) + + local mod + for mod in "${disable_modules[@]}"; do + echo "MODULE_${mod}_STATE=disabled" + done >> Makefile || die + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict "/usr/lib/python${PYVER}/site-packages" + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # 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 + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" altinstall + + # 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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || 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 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" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${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 +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest index f8bd0e4a2002..e0aab2e2cfca 100644 --- a/dev-lang/rust-bin/Manifest +++ b/dev-lang/rust-bin/Manifest @@ -64,42 +64,42 @@ DIST rust-1.66.1-x86_64-unknown-linux-gnu.tar.xz 186651920 BLAKE2B de89dd720320d DIST rust-1.66.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d313eafed62763b0905636ff22d6c736696c55e55d2442512a95e239b5b37199fdb125d312284b2a249782fa61d552284c8eb3ef8c9aa9ea36283a9fb975dd66 SHA512 c491f07c77baeac6b92c2425092c1b3694e72c49d4e6e511597aac03d51930cd414a95b0d691a9b23df266fba8df3dd90bf7d30624383bd213403fe0cbc83ffb DIST rust-1.66.1-x86_64-unknown-linux-musl.tar.xz 270294752 BLAKE2B b068a9400f29e9318e8d52f2c37df72f1b8fd91ca0bba342e6681544595a7f2697bf10437be6c4612a36d2781cc915920b498273ab12dbe1163c41d9d4e9b438 SHA512 df03ef29b03924346ef2a4b5dbf1c7ce6e33fb1f357eb04b0fa80e48a607b29f5929ce587412c9dd3f385d6382f0229c19d0ce78d6c060ddc0539429d3cfc606 DIST rust-1.66.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B a262a2a020a142ea8e3906a9c93d9294906ee51f5d22efd4ef041b6032524d2714e0b511f7deb366c0ee3337ecd52f1e091b6bfed01615eaa9026996100afe2d SHA512 f390b3a788c5b15b1acee01505b6501ad4a3170cd2f23ec490b02294ce0a62c3f708f1e66c0ba8258a1042dea0401a1e09d31d34e99558f50b0f65b359354182 -DIST rust-1.67.0-aarch64-unknown-linux-gnu.tar.xz 258660884 BLAKE2B 282a9881bf10c17aff5304f968b038b581d9e7ef35553e601f86a5831c237504d8d74d8bd31c8d704c2748fc93f2a42bc93b1213bf7a21326769478647e79d1f SHA512 9b519d3fe1e9daef9dec509fb28d68b66fee0db61a688785c4491340e568e5cb1ce259556f218d81a2420a2ec7e378db9aea9b918aa22e19ca8d56c24607e43e -DIST rust-1.67.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7c59c61d919156595cc6f2caa443ab5bb7ab4de54d41b5e2363b6a1eb837a0886738cfaef09bc8e7aa3efab852e87548a069615257b942b4065d958c2d02e192 SHA512 2ab4b461191f89c2dbb792a8b168c0e19abddf1b7be6b69077693284cbbff1f32a12d648641956bf27d7208de31e3a993739a77ad03188f8a65d41099249554d -DIST rust-1.67.0-aarch64-unknown-linux-musl.tar.xz 236674492 BLAKE2B 5c9eebd4f84694fbbaac28850056f58eb9e2cb1f8f2e98344105fc770e95fea34f61aed2f9249efdab225f37be4e99f1e50597a0325d1a595876870e5ef98482 SHA512 5b220bd52498b2bff01286bf03bfff28dfadf9257bf46e10cc1b3d1e7884f0223c00288c843a98b6dfef0f1408f255b320140597d4cba133384c0cfdf7d84365 -DIST rust-1.67.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B dbf5f8a0c7cf017456d45f9e02a624e01b4ba4de0a18bc45784e3b425fcf90b8c07b73d40265e5ead5d08719a043a62083b0a4484004f4691c5467cee47bc257 SHA512 cbef9c6f8d531088390456e0da6ad114272f2df579c48a3180bd714f824eb1473450e406372f9835e8576cd3c50a374cf6c463ea4ba88325aead9800336f951e -DIST rust-1.67.0-arm-unknown-linux-gnueabi.tar.xz 213875616 BLAKE2B e032b62d879efb02b6dcaa52501c3d831f19c38645af9f95ede4a80dad88be3bce81ca2c88866be9548c7e2ca1e783423a525b936d433245c09d23305882e05f SHA512 8148fa66063b9c0c2055d24582cfc234e5e05e8d430516edd467d80642e5aa971a1191a26fe3e6d77507af306f002e07af2dd021a343e472110f4ad47ee7926d -DIST rust-1.67.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 0240a75bb28094a4a7187a153449f4912fe4052c096d7f59d5f4e0ea2699dbddb8e3f2f6a2494a5db059427b83b35b1af03315f4b952ada64701fb37cc53a2ac SHA512 d4bc0fbcd45588a7b2d1170d55a82ec11d23f61fdda0f72ced74005eb74bfb31fe146683d91671458d389d23a9f310c5e6c1b5684b21b4f9d9219d4f01e392a9 -DIST rust-1.67.0-arm-unknown-linux-gnueabihf.tar.xz 213541168 BLAKE2B 25baf17e590ac1dac5933fdaf2c5fcb0d1849996224952c7526fa089bf1879a67f928721d990c5fc9dfd9aa9d6fe1e7ca32b5fe2a6048c2f606cca8e3cd0330e SHA512 a98833d19089359cc39bb2c67eff14b255cbbbe999d0e5fd1e4580a4fe7bc450726074a6f346cb8688fe843162c09a5bd95e9fe66e34e09740b104fd61b4dd1d -DIST rust-1.67.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 080a9a84e18e51b51047ab502cd6ac1b2ddc6c2ea59a2e6cd57557d7b5c45edc40919f9c5190729bd4767ba7a9972be78fe0bb3e5d96f1dbc511cb0199fd0de4 SHA512 b938bf08774ace65d10e558020f7801e3757aeca8ac51f56238b9a4b41c79b434e89404486bc08422d8e2f9a69874af5a425b58e35e17c3773c8ee5a3d3d96fc -DIST rust-1.67.0-armv7-unknown-linux-gnueabihf.tar.xz 219678556 BLAKE2B 8b3d7d0336c25a7769cfbda82900dc8472ce912fb16f75ebe6ad9457cc5595fdc6dea4d4be7e30c09e6329ef9eba99b9e480f525bc85b8235ce9ae7a4b21afd7 SHA512 d941cfaee0276ca583e2b605b6f943dea7386d543cc25368f31ed21d7086837ef6fab935c9ea9da0a766e5479d993872923d3de81d5fe55991715cd396d1d63e -DIST rust-1.67.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B f54f0e99292354b6f83158286e637e5df7642427ec1d2ae2561256762e9cc909d91c7ff09c382b5df19db96fe885e83c23d279a2a282f5b1a9d93bdb72b595f7 SHA512 ed3d2a6405ab2f53008cd35fc2fc30e09f76fd201c92d064114452c169ef81ab985c942834028c5bba387da0572ab0c68525b44b806577c8f3179094c55edfd1 -DIST rust-1.67.0-i686-unknown-linux-gnu.tar.xz 235101748 BLAKE2B 0344ad28f3ddf597fd1b29b6d8b4afca07f7fe86b99bef1aef09d6860c5c223cfe0be0a9e37209fe3ecc5ab87699fff51162cf3da1d65f25f755e985503f39cb SHA512 8f4c34736d7238d1e359f86bb9d6eb9b616238bea9fea3101a7c34336b9c772c7ddeca53c6013cf970c92945cc19b12979209675eeb43e7f65ab4d0c9b6b5937 -DIST rust-1.67.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8253e25276590eefbef1f302995eb9c3c259454380c7246eb5637c82343d1b56c3d1e001d572371b8fb907539c2ffe5ce4d82f3285a0272e005a6386554a628c SHA512 a936ecda6242c1b00db86bac53417d51765e228bcf49d2046b281d75c37ef3dff0a4a3e0b0be13abfe7e4634815f43e35ebb2c683a8b91cabb9a8002238c5f5c -DIST rust-1.67.0-mips-unknown-linux-gnu.tar.xz 196383600 BLAKE2B d2ec0464be57d1abdd0363d08f1e947f4735e21021745060f7b5716fafb80579bdbf78f4c994732409f0faabcd7f6e75193c35ed8c2787ec5abb9cfac28a6755 SHA512 d0e5d6ba2dda3d5d62957ba9cc55df6d1289f010b525fd5ef4070037e72fd8391a6567876b72353621ce2a301e8534d2a32a68068c35b9698bbb37b642716f44 -DIST rust-1.67.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B a2c12c0d776e3b864769720e057e3d23378eac58301ceb42e6d50441b5a87c56b581eb9b5c3d7a788de94b9ba848ba72b643d44219a100326f40865df1e6d307 SHA512 6ff7c3712a034842dc4aff494ea1e505186fe07cb1a87415dd053869f205e6c210a517165767c4dec347fe07864567eada39ba17100cd2135586b3e5dbbe1d48 -DIST rust-1.67.0-mips64-unknown-linux-gnuabi64.tar.xz 193741280 BLAKE2B 2ce32d802f5940c1fece0609aa8834b259c8e8e78757999e4f7dd2738509edaca5ce808469af0309d1a2de660c777a591f15798a67e26922433a543188f16436 SHA512 1144cc93d5b70c59e94407a262b27577b5093bf402f1651308244b35e4701428930bbe020743b2f46bc5c4d0423c8d94562ca401f9fda227e313a6f162431cbf -DIST rust-1.67.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B f2e04511870325c0d3317faac00fd71716b65cdc49b151f1ea698a9e20026cbf05b2f2142beaae7f94ad166346500a1d0ca6ac177e32791f48984304d51e8c32 SHA512 7a9bcef40f7e7215d2de483013027d75cff2eee1a6d8b8a65c3a2fb3627e41971af0e55cc12ed9a7e9c025f9bbbc2b20c681427a591e37469dadc36fe113871c -DIST rust-1.67.0-mipsel-unknown-linux-gnu.tar.xz 197872564 BLAKE2B 369c52ce8bd48c725e6004939b2dbc6d2708225069226082b25c5fc32e26a40a65f232b3658351fb2bd75a1dbbdea829f1c30dfe240479dfa8fbcbd6ded74c13 SHA512 f0d45627c1192e981bedf893e68c75dce528737dad13e9b8b5bb4647a7ae8243b02aa54b364ff92474b1bcf6b25e60ee6b4028885b2db20feddbc79829bb95a2 -DIST rust-1.67.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 947433cb33e7f1e3b14b6edfb1d11aaaf3e278ffaa2e70d990ae5f2c75a9dfd6ea6f7fb9d738528bcbb3f87d1cb753e24b25aa27c1917f9ccd806193d6f85100 SHA512 f46cb0949eaaf8373e04d14f55c83708bdd0c9ac541d1a89dc9414eb316159bbccba3f955528cc81b30be5107c931a3cdef6edfbcaed2fb0025fc7b8dd1b04c5 -DIST rust-1.67.0-powerpc-unknown-linux-gnu.tar.xz 223122724 BLAKE2B e078393e63cfe089a4942b0a0d1a8a9a8b964a608f09deb3b3dc4dcd2cf9fc1b97ea2510193b7ae43059b27a9bd063293366ae83fb2eec8b4192ea8ceb41a5b5 SHA512 94982573bd992bdea27b90202b03cf79312c2fc8ff0c822f74bf883b0624ad5f9968b8843b6abd3bc74ded454e959b39ac880a999114664ae5c57d274499439e -DIST rust-1.67.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 830a09a8774853eb71431dfa126a17b9d2939b5305e280c2de69218c440010e92594829f13c7f15f0ae8d028c0eb4d4c83bfd5a7a9c0b112d885981652fc0832 SHA512 7bda28867dd5c6d415b924887ddff9042bd51e913fedae2c9d68451427685d82e282345d02d2b30ecfb60638a08200d9c946656a2711f51b40348fc7fe88789b -DIST rust-1.67.0-powerpc64-unknown-linux-gnu.tar.xz 220280040 BLAKE2B a47cc9c0636fd654a3cbeda2a95a04c7c190cb295364e4ebe9824354f3908b2645f36633b0827a10e562d5c96d99deb98431c29a9459674ac896f46a63228cf9 SHA512 b49bf8ee407f31ef13834ed856ead56fc35463ca770fa2d6b821eda12efc09f41d999b30bedc5c7690aa7682c09b4445ba8576af5cbd037369a0d02cd2fc0e96 -DIST rust-1.67.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 835c0699a036f89d3c6e60ea99e736fb1195da7c3d6098743f4ebfee82c6c9f0565c3210713e706f1c8bc9b4744514d3a463335676da7b86527010370765485a SHA512 afdb5f5fe8731e87656bda0d057526a78b9c39f61d9788d32d022c7bf06157fb68f169a1156b6b4b947c36a5bc44ed2f61f033beaaef27b8cb0396fb79b81a34 -DIST rust-1.67.0-powerpc64le-unknown-linux-gnu.tar.xz 232559592 BLAKE2B 67b0bc67f59f84868bb75a7b9a598c36edb202bf0d001d10a73d4944b4e779187b6dceeabf744d11f6a0980ed5ac3d2c14d1053ab086f919489db28208f9134a SHA512 acbbf36e3aaf0a5e9d9002d1e7968d43f8557f9e5537957a5c31a5c340b9d2a4a8a39275021c7b8be9b83d916b067a9028e742da26a91ad7a7d7efa1e60f2c67 -DIST rust-1.67.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d58654e30f932a3ebaf02e678da143afd1efc908bf7260f7681020446aea6e57429dc46783de868a33b487e324272810d0df1e010d9621028a1d3c117d3f908b SHA512 7f9a496b13976022bca8c16756bf099c725bdd44fc188051599623f86097beb4a503449e47c07bede4ad9e54c45b689d153384c01e042577cc6d263401ed99cc -DIST rust-1.67.0-riscv64gc-unknown-linux-gnu.tar.xz 199550588 BLAKE2B 67875dd18e36c84c87ddb48027e17c90fe692b35b04de3501129c7dedfaa9b2a1c713c51ae8a7a37bd10a27e424ae58001472a4cdcfe6fe4a3aac61bf569c4ae SHA512 ea46c3f669f0ace973dcc318f4980be80df71faa264396426a7ca3f65c4fe4223dacbf591d597611c6ce175aecd64ec43269e96140e338f8886571521ed00cd9 -DIST rust-1.67.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 468f819d02535f8cadac3504a78c4025616ea5d41e5e6a7aa656bb11cb71da2f902094715c36ac96cd032cb43d20b4ff3d6260c1f9a69608ec06f1f2af0acd63 SHA512 1cfbc331ca106e32acd8afe6111d34960abe0be65d411989ec3ff10ebf8d98a3f1379be9018a67d4ca2887b060728decbf826650b561f5de2c1f750a3c08fcce -DIST rust-1.67.0-s390x-unknown-linux-gnu.tar.xz 234563160 BLAKE2B 7022c16d42a6433c1b696f9fb809f89213e6f1164ee907bc0a5a13fff226336691f9b6ac2cb39fc128ec7240eab6c8ed45f2332cdbf851a7868f20fd9bf57150 SHA512 5262618ac38f1fdf207d574b80b625cd8f9710f60a8b1584a687c0803a69c48a7d257555b2c91fad55ad91300104581847819f03cedeb754f744ce23bf619479 -DIST rust-1.67.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2f296deb5e283a18b1317c2566ad30f31162fa17c37839f6f7c4fdc3ba91c0186ed6d07dba3654d2a33ffd2bfe3a5de95b6381f2473cf89f43d5c9a3a46e658f SHA512 3a5bc46d6005832b90cddcd9244ff3bb305597b55cb39786db5a4dbf433962ec7a1f6a04b9ec6681f6611aae85672b11dae8008596e4e48a38c7813b11776acd -DIST rust-1.67.0-x86_64-unknown-linux-gnu.tar.xz 186247872 BLAKE2B ce6536d349e84bed60eca34cad4d547c999dfa5cd607690bbeff110d7ca6ee51831fcf8b378246c556416cee750f97fae7daef1498b1a5e9b5c1d2fc53fb888f SHA512 f7cc8b57b3460525b33c925f27c71d7d9d97d752629cb098c690927374a8e2fa669a22a090e6ab9b80d5595c7af126c5e20d17a41890578b8fe3dfc24e86e3a8 -DIST rust-1.67.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 699c80f8c4170006a27fc2f888c695c773ecc2d595adfa8247697c824a414ab34b25dbad755d954a9fdec5a6b2a891c1038ea988f1c9fe993798b0db9844fe61 SHA512 76fca41753c26689cc7f068fe05be38604fe8cd8947adbdf457d793be1bb426fa6fe5ddaa59dbdcfd71ad559823dd710eaa447b4d3f5d1df3054ce3c202b219a -DIST rust-1.67.0-x86_64-unknown-linux-musl.tar.xz 270123152 BLAKE2B a663f12acd11506263de4d10af0e3ee24cbdc51ce09b4df19d4c1bb0de6887fc17ebee895b7de5a03444c8d2ff44c03d2ebc2e9eb8d4307db4b1e708328cfd74 SHA512 d01eeb40a3e0e8ac5de3eb367f10fe5bcfc7db05e6951532732611fb99f40484f668672991ff40f41a113ede098fa66e7d37d3569978196f82fb5cb550aa1c5d -DIST rust-1.67.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 6617b3e5029da925e19c2d7b5fa69386d6e1c125da858d0b0a20db3df19dafcbe988d710b19129e70244cb9c448d6efe575b38c305d54a8645d6a905d2cfab9f SHA512 8e5dcf410da568b9379c4ef9007379591410432fdfd2cdd8fba236d8b3e3fa2fcd97712d1b853447ce425cec5ece35e3ea9ad567e07aef8d7cb8075115718f91 +DIST rust-1.67.1-aarch64-unknown-linux-gnu.tar.xz 257819328 BLAKE2B 7d2b033f447f5df5879be3e6d55c26a96996910026db8a751e85cc1a0c034e508cb3b207f45a3ddfd491c6f97993374f5a285eb2b6cd0233954f4126db260828 SHA512 b49ad763f88db3414fa5b10e3462992bc880ff36437642f5fc29effe54d7b6bdef16119e039cbb7ae291f142e88b48ab213b9a51cd38c65fd57ccf2bdfaab3db +DIST rust-1.67.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 94e00367ba680137847d41bd8bef7493eac46f04a5b42c0b8252642c30d25db5f813de3603e450cab9a1cdde4c0f065f58d03ee72c29a5c321d87a063a01d05a SHA512 8b558c63fefa00ee0d50cc1b22560572ce5babd9759350f5178eb82e86230e9f9e4f9f4339dcba976e1837f167dc0e3e4f376be7352f9127f0d7af545e93694c +DIST rust-1.67.1-aarch64-unknown-linux-musl.tar.xz 236561572 BLAKE2B 19168415f8199dec3ce4c148394c7c86dea81df0ecb7cb776395d8f0e7b910ecf8de4c9ef7a87baadfe52af65e612779ae3de8599808032e91c726c4d967139f SHA512 f2931563300d78af1c09dff10a9b8f73d441c559dfffc3907e5a2425d12027061ad2492683404cc2b58cf429446645807f6d3f70caa2dcb6cffe40ac39252f25 +DIST rust-1.67.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 7f4bd1c432971ce5f5346f2f39dd1f5bdbc19f13524ee7cae82eb6a3f30a5ecb69fb367fb4e0063e06656f457cff68a2b81ba5ca896a5857312a11fbaea0baf7 SHA512 d568b2d4cbbcba327bd04e9253f25839e0f183c144cafa1e8104b82d64bae3515fe8f16ccce2ff975210b6f54254d451c64fc4a070b80981a945d164897b1c7f +DIST rust-1.67.1-arm-unknown-linux-gnueabi.tar.xz 215162200 BLAKE2B d922e271d04e2cc18f21fcef6f1aa8f283a7bf56228a1b1a7d81be697333a0f16fdadb12e7350ae130dfac2ca78766990df2001a3b0fc898ad4233c51a7f39c2 SHA512 06bca6150bf088ae19fbdfc0ce74dc0a8f24c111290f9592cb65164dd6cc03c1468a599514052cafabbd1b4040673a0cea69e14b266d59a42bcd7c1701e212ba +DIST rust-1.67.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B c85feb559064bc24b25dab825ac6758c7759cc027dad4885bc87eff0f331f1177963b39096f4ab78490c54d82a0daaab035f58a0d6992eee1acca2a1add4fb50 SHA512 7754053412a2d17b9092166d37ec713c45ff32c9f161fa261bc075b89b43af716861aa15ab8dcf4472ea49d6e3d2f3c4085d536946cec6ff862f75f83debb7d6 +DIST rust-1.67.1-arm-unknown-linux-gnueabihf.tar.xz 215944916 BLAKE2B 7e04f28292669fd0c34dc317c42d67e1b27ad0b910186ee846eab88dec1c14f89a3b599a93d7c81c88c1b040052c3df11a50e6344528054095113131094acc66 SHA512 e4c54745b55e0a5b6b36e9dc058265ae4774855122f111a0029415df2fe5bb564cb641e332ebc1c00d792c7dce6ca370e6440ec20658012c1a605939cd8efa03 +DIST rust-1.67.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 0ca0c0ed5423c89e988f0c93e4aa8d8d6cb0e401b664f9ccdb642d736f4e4cfc2fd39d0a142b07d8e5dcacddd304c8dea04617b5e3264a3865a16bfaf49d1274 SHA512 e573a36c401fe5c543f4505bbec1b5e7c962831aba062cdf8e417f5fc3c6eff2bd6c44a6c01bec4cc5fc4ddeea1c5023f90c7f1c44a26a39b9520fee923b61b2 +DIST rust-1.67.1-armv7-unknown-linux-gnueabihf.tar.xz 218109412 BLAKE2B 256cf45036132ba6f4a4dceb80fef0a2bf079fd54b4119e8a869fcf9e093e76e1d7ac84eb920e272b766a328548514e7b0249b6287d8950528aa049ed92b21ba SHA512 05ef4e7f2abdbed1cda6209ab3500f8532e516c7e4f9d08ef0c1cfa790c2454b952ed59a43ed4453e7385b12f672d5029c6c436601d7a34368418c0800f0126d +DIST rust-1.67.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B cc15e8f68745d252e8851b79441684cea1f1214e7088d7ae6592a5d47719d9dd61abb01f37882775c3c00e1b318562ca050caf5ab06a665946886f50575bb1e2 SHA512 68d66234f3bb9c452aa4a2bb5bceaf26dcb71466f05a0aa7f7b7803a866be5cfda1bf3a8f71cc8e84c2168812641da07a0726d7f2f49882b892ae41f51465477 +DIST rust-1.67.1-i686-unknown-linux-gnu.tar.xz 235056732 BLAKE2B b02479f7d145b6ad3db16d62120a6b324a9db79ef0ff7a5900d7ffd9f5cff0416fa74120a70c1c2ef5bc05c6db4a70b18cf52aa49e0972a5c75becd995795803 SHA512 64f0f887f711b276bd9561fa258aee97bef234d84b02912c1c01ec8caccfe3b0bbfdfcfce98cbd6423043c312e577d0fa574f4c703292a58163a7d3286bbf6db +DIST rust-1.67.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 602b2769db2e4810fdb962ce1241118e00d3ee6131267815b9c8602298bd55d249e75ce42b4a4965aa6835d8af762d6e23fb1ba3a3b8a954ef08fa5dd88b30b2 SHA512 18999437af3b51b836cfeb8096c55afa2027e783d32f492eb620964c1731f367d76cf72533b35bd67f3800be4e457f4a1192aa85bfe00a41d673484f2ff56eb1 +DIST rust-1.67.1-mips-unknown-linux-gnu.tar.xz 195834044 BLAKE2B feab999cd49f72bb0865324c3671d92025ebca88601b2b6257ad11ec66b506e65bb3cdfc9a459014d9f2af52bfb410837c30e3bd0c85f407f8ebe4f98be7439a SHA512 3dfbe7e846289cc22da42b630bee54b98749c1d659a0652559b9d4febfac6eb786da18ad1be1316aa3dccc4e213f1f20efc8556da88df7226a5d8a8890b830b2 +DIST rust-1.67.1-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 100dcd13886287128065952d0b535208a0807c22175dd8fd04f16a16d76d2c9d32dd6b6da5ca929c517519e167e100607c7749ed6c512fae89e2e0313e7b7202 SHA512 5cebd45755d5accb15da29423eb7addf18a72326238ef6a0c2ca09776ac008490165d2b1fb069ec7a34d509bdfa7cf1212a87344e0dda4746dfb89afe404225a +DIST rust-1.67.1-mips64-unknown-linux-gnuabi64.tar.xz 193892140 BLAKE2B d17cc8b42ad0e2a658dbc170dfc7256ecfd0b520cb6670eac4be63e1a92c54ff9018ee4ef9cf90b1e29d052cb6076ccbb163348b99113fd2e0d9155436129f91 SHA512 92e5c3238d4544583ed8ab989d598275e729e7795b0d645a822ca7cdb5be9fe419fba3a7f2d8db11393ce03ac02873ee876ae55f959609f0a6f4b4f1273a7929 +DIST rust-1.67.1-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 95c5e4829068b02c16f7e8e38b2d94a4f913bbd77b226d1c83c8cdc7ef198192b76ff67dc86f7978dd1b9cbb14bb627dc106fc2921a501c340f7d0442629f8e6 SHA512 32be92455ccb54328d1f62381501009e8dbe15f1b4f83e99a894bf5e7eb469a23aeeb3ef440be1ee798e00bfe865ec21d2dd6b2c58a475e1ec789425e53bd356 +DIST rust-1.67.1-mipsel-unknown-linux-gnu.tar.xz 199598332 BLAKE2B b894bef4c2f847a26be0badc6d069fad636f0cf1286a1643b876709ff292bfe3a2307f1a2904bf6e0c596c13dccd91baba0e0c4fcb45a7cfb71e555207a61292 SHA512 9574f8f078deae22bcdbeb89c7aaf1c26a49fb61cd9a7d777421497b85c243fdcbad8c25d1a80aab4ae0b03f6849628318371dc323e27e308c85ac556e2d649f +DIST rust-1.67.1-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B dac540a5283281c495e4cc629e7d81279c55db4fce3191af55e88cfcb857a0f86eebeff9a0b8ba95d4da4654c5b11c0fb5364db876a4464b799499285f0184a0 SHA512 ccc990923cb5b73391b09e8c7f4479998bb378b07ee12b5a83d6fbe6044f6925429590a116a944163a2d8f7f6a210b6f2302cb5976a99174e012b7646d7cef5c +DIST rust-1.67.1-powerpc-unknown-linux-gnu.tar.xz 222275832 BLAKE2B e63426d9441a601044d8f0cc8f181bafa7f47bce972518676913d506be5566654e0afe84d63ad0c3a31596231b0a1a10c96e9246fca9bd2b0438f9d72613fc9d SHA512 66fab7b5679bfe59f12dfc5b863196c2cb0b5d0f53d0bd88700586a90a6e8ad4c986fb44979b4320e74ed8b9e4c62b4ab2b3e64e44254355577fc9d1e6b688e4 +DIST rust-1.67.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 312da822216930be24d368f4c449b757f1b633e71b6897b19c9d45b7419ff0c39171804d2d8196a967e6e2296bbfcb87f0b2372b3260c6cb62c8fbd9fa192c4b SHA512 38f5ed49201ef0a99c24dd3e0549628e4bedf53f41d62f6e719a91b3afe3aba64ef7ed51a6984b21469c1ea2c5def284d13ff035c67eeee45d304ec04b34fd2a +DIST rust-1.67.1-powerpc64-unknown-linux-gnu.tar.xz 220473512 BLAKE2B d932865dbf797827507426c61107a0d89aac02d56cf552e21566ef6356173925697b72e3acf3fb8825b10814b476d28f9cee98ece21cb748d83c1526f9d7ebc6 SHA512 6f7b1e33da99bc46014785223bdc9aa5bfbb1a5619037cf48fe5ec46aa82e42e09fc8828b4e2b904bc122f61ccb24cf56caa7077260a1e7486dc3badf018be69 +DIST rust-1.67.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B aa72e61de6481748dc29cfb0f40662fb4a7ee6c3792b67efdd55df47abdfe75db4ab1f560175a3dfaaa036a3de0435ea6e2d9ceb1b4ba315c95c561fbfde0ca0 SHA512 e983fe67613257744fb7a147e4b29370795d52833a247b2c568610993a6e3eb5f6212fa511cb72636bcd7209c15181dca9ace05eb4866fcd09e69afad5ad9b77 +DIST rust-1.67.1-powerpc64le-unknown-linux-gnu.tar.xz 232947736 BLAKE2B d7448f4a7196eb67d35f5a280d5c53bdf1e08a7ca640503bac3d8cfa5b43680b231d9d1f560d4907ce7a191cf5f43973a0296e369bb81befbd7ff3f05fd12034 SHA512 c2602a03f389e3cee19c7f775ddab12a0635bb4f3a7d1242eca62cccbe91949ac9900ab1066074a2551b7c9fee57539949236ed37ae941a2c7dc0626320eecc7 +DIST rust-1.67.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f48881d0e3c1b1d78898720a46166794a4c52ff8f1bdd8a1e792a0c4be585d7c9e5ff369d2c80d3083d18fc548ec4e24b78fa27aef9b69a240095cc8e09decee SHA512 52af4cbb1792345347ce8864109e28ba0acdc3aab2c88f2db201a79a53d903872d3c70ab84a147d311d36000b2b84a64e2b8b97a9470e41b9d7c390c17facf6c +DIST rust-1.67.1-riscv64gc-unknown-linux-gnu.tar.xz 199552128 BLAKE2B acfeb341ff2ea1ff035445e616a668d565e0b52a7453c30a46a6cfadad0b0ef6eb72d89904095fd5f0363cabeffd2fbe97b435047d5c3606475da41fb50c6be8 SHA512 5c7e0b8942872d211779f46862d0826240a15f46c95d4038f2f8835ca68cf20f8add3231040a331ca761bf4351e0976518095d606303eac66752e5598df49442 +DIST rust-1.67.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 246adaf9b5980413ac32af57d2e089e765336e085bb45799aaeb80311a7a5d73545779c8b2e810b763520d9d5a5d475f764675191c12a2d4b2b313c11230d311 SHA512 bf447737b414839b126fe258bb5dd6d34bb9d47d57fdb68a4cd0b9296fda2c47aa267cc9722f7821bab365b95ee4a2c93631786f89c7cb5197c283897c413016 +DIST rust-1.67.1-s390x-unknown-linux-gnu.tar.xz 235970856 BLAKE2B efbe49525e880b07de613be0d22bb87065e0d64f7006ae07c9deb020b65bcbb6dd20cdc250e740763480426baf9c64adfd06e005b616543f2ef9451e99b7d411 SHA512 308aa7bc5e32c50a0b5c2fdb5e9bae60d8c8ea32fcab72205aea9832f24df35d9331c63503e092ecfee18c1eedcb5a50138837e29bb50d74f526aafbad9e71aa +DIST rust-1.67.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 875b4168bf1458376ba31aa8b27d7bb331cb3bcfaf2645e65d0a2167cf55e6a6a2a0bf5f66438e7cca7c73f1cc02fddeea3be570e37ca80f5cc14fc5e0349423 SHA512 97a0e05fabc4755ffaf23ada6d77dde78b410ef530437a8700673ee986c1fc5015665948fb4c63f2e0716bc022ef7d6f061fee0a1516995a6a4d7ea100d234d2 +DIST rust-1.67.1-x86_64-unknown-linux-gnu.tar.xz 186714164 BLAKE2B 648efbb30233335e31c9a90aed4958325258365cd4aef5e01312005606f23ea42cb6788eb82a11e61fb5111c4d32e052ed815e455c32ed3f6fcb18d963589669 SHA512 1a65ce569fb3262dfb805d0fa2c5c9f987c2c69e547fce366d9d371c8b19a90de279099a942919690aa6d58e2462cfd7bf54240f7ef51dc22ce12e292c46038d +DIST rust-1.67.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 669b7c4b0d5382a7d1d0fe49405f2798f67a9e745711dc2c8e7548ea6fdc8f0fefdab37d0594aec14b2745ce45e7c469e79c0cb1d86077ad9c7b6aafc2656827 SHA512 067681cb4140a29adfa5f4b141e2f3450dad34b95a1e549a6bc8d759e57da5d2ae69cc165efcdef9d83e2eee06edb6acd587d38c9b2f3d000d7a3f79daccc671 +DIST rust-1.67.1-x86_64-unknown-linux-musl.tar.xz 269831452 BLAKE2B a36498528454f1bf0e1812eba005f27e3e281e4e2c117477785f5e48468c3fe316947b7e4360f573f0f4cd6f117e4102db8aeaa616be5bef09fb7518fd230b23 SHA512 9a3eb67239a88b875fe55846a2fffbbb1f2a4cc8eed18b5558f0f989d544a8ddfe0861d5b2b860a779833a1660ee622b30320ec9ef83e841724f7a32f08fda06 +DIST rust-1.67.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B b12d0ce1136e355ee027780dfe185ee443de402e531ecc743600aecf081990d4e998fa4a6e6f0f46a886cd806918e23c5e4ccb7cecb0324cb67189984192283f SHA512 37428f0d1d8e2ddb7ce52bce3a297a7f666789d00e7e240180c3e1f7fb5b30bf5e17593cbedebdef95c50406ee82d40ef1f75a576a1a0e02387e1a12ed977c77 DIST rust-src-1.65.0.tar.xz 2488012 BLAKE2B d48f5591e72e14084f2fb0d66c1365f1648060d514af23c0498e02adfd7223b1a79bd1f512859b058f9cabc4b88b9230d15960df7c30762a5263d1785b877a68 SHA512 247f822a9c2f16d1de29d1cf6fa7ff393b7c7fe01da66a7c0b4add6259d72403922b8b1bd1b511ed8a9cc0b2c12ff574945aa7fc76c731fba620b466bcdc2eac DIST rust-src-1.66.1.tar.xz 2512096 BLAKE2B 514b8f9170d8a0e9b9deeeda27c5b83c18b7f038cb27a867fc4df1a0375b5c492793e67d0f0a2c26354ed1b58c699e1ff3e19f536dec10fc8b8211325dd4999a SHA512 3b77e29bf0803278d46aa5a484a2d74f242bf7f1ce6f5a6d1e84107630aa238620c91459f385f1b9f1bfb67c593ea5a274950a4db2975307cabc3a009b89f157 -DIST rust-src-1.67.0.tar.xz 2522244 BLAKE2B d16b4094848560f9db30a7e91ae2cdd0ed06d5bf6ff9a75526621bd6aac813344fa2c4969c4508c19f73e1933ffd5bc920873876a54b19e0eeb2cf8b685f21b5 SHA512 d57eff876115ef0e0885e8ebb9648e6319813e98fe946ab81da0becca29f18fda97f047bb2ce0a9ea4813d6cd98c6e2eef6e757aa21611e41abd1be888afa52e +DIST rust-src-1.67.1.tar.xz 2522656 BLAKE2B 28f67cbac3d09af16f572c102890b49ffb4c610ebf379cf48ff4d0107afbb39587d2bcb7c5a4f811542f84dc3157557c762b006a6e89c54cd121d22bb677a770 SHA512 839266d2046b12954fd46f258a975a37c81cb61b6d2d9a5905fd6c83961d97c197f1b467c881d5078f3725293eb73ca402b002af3f47b6f7d431828f01d49a15 EBUILD rust-bin-1.65.0.ebuild 6730 BLAKE2B 0f0bf58c8401dbcc858d22585a57e96988e3ee5d9dab120b4e9f955c630aa61d12e15b9deba0f4edf62a1e6c4dc869980081fa21537b014fb9cc897c3881858b SHA512 ec04fa1da0481714bf7b9d43f175f456d01eae4d70f0d914f6911bb7b809c3c133df0b614243a0f1bb0c0c2fa8345b0b6d19e269b5017cbd36252c85fdb4a176 EBUILD rust-bin-1.66.1.ebuild 6737 BLAKE2B bbc9dea9c85652e32db45d3b865a0c8dfadd3ec5bc4fd4fc900ea0596d57b3f928478c88ed70003e1cde4b689d6cc9faa0933daaed9fe8652316d595eaf3cb26 SHA512 41684b6ac03ed16016e522204e96012120d39c9da0633010b6fc28b0251a5cbddb7e55267cb94273d3b9c339c38e4e4c96f24ae188d6dd3962b2390dfc7f9448 -EBUILD rust-bin-1.67.0.ebuild 6735 BLAKE2B 3c74b0fa2e4258a25db31b95c02b5be21f653970b31c8a59c8055d664c4f927ab6c2560e2802b0015b4297469d1cea23faffda5632a8fde86bd4156ca371987b SHA512 9d10d68d8c02bf8dd641acf23c2ec36bbd8e59242be17d320cee560d13bbe295a0523e42b273e3092f586fed1f604465b314bd59498738e931ab9810ac9c5db6 +EBUILD rust-bin-1.67.1.ebuild 6735 BLAKE2B 0f6223077f8e202f465e22b73dab3c40c73d8f57586001b639a12e597736bf15e401168b164aa946435c4229a4df24033316f7081778fa07ca3f875958784d57 SHA512 b247941e0a9697aa57c397d3af19c8ff59e4fcaece90f4772f0bb87b17d0a5b55c0eadeadf4799a60363e035aee9ca3b74e3ae78f7c7f609964d295e909b5e8d MISC metadata.xml 602 BLAKE2B 8e74f441d22eeb8b276d77ed0a9c5bde01540a3f34d6053185b2be77dd9188b80c01c536f8bb18c4c60214bd0bf366a504c1f3627110a213332120b533f7ddd2 SHA512 5f120deec600c7453d503b6acb9460d1c765a567954c79749654365721b1b6fa2dd48d60d5f3fc86191e79d5f7f78d7aa1e9634e6127f333f81e546f9b0f74ac diff --git a/dev-lang/rust-bin/rust-bin-1.67.0.ebuild b/dev-lang/rust-bin/rust-bin-1.67.0.ebuild deleted file mode 100644 index cdc21d84d332..000000000000 --- a/dev-lang/rust-bin/rust-bin-1.67.0.ebuild +++ /dev/null @@ -1,224 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal - -MY_P="rust-${PV}" -# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" -MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2023-01-26/rust-src-${PV}.tar.xz" -GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash - -DESCRIPTION="Systems programming language from Mozilla" -HOMEPAGE="https://www.rust-lang.org/" -SRC_URI="$(rust_all_arch_uris ${MY_P}) - rust-src? ( ${MY_SRC_URI} ) -" -# Keep this separate to allow easy commenting out if not yet built -#SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " - -LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" -SLOT="stable" -KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" -IUSE="clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" - -DEPEND="" - -RDEPEND=" - >=app-eselect/eselect-rust-20190311 - sys-apps/lsb-release -" - -BDEPEND=" - prefix? ( dev-util/patchelf ) - verify-sig? ( sec-keys/openpgp-keys-rust ) -" - -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/.* -" - -# An rmeta file is custom binary format that contains the metadata for the crate. -# rmeta files do not support linking, since they do not contain compiled object files. -# so we can safely silence the warning for this QA check. -QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" - -VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/rust.asc" - -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() { - # sadly rust-src tarball does not have corresponding .asc file - # so do partial verification - if use verify-sig; then - for f in ${A}; do - if [[ -f ${DISTDIR}/${f}.asc ]]; then - verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" - fi - done - fi - - default_src_unpack - - mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die -} - -patchelf_for_bin() { - local filetype=$(file -b ${1}) - if [[ ${filetype} == *ELF*interpreter* ]]; then - einfo "${1}'s interpreter changed" - patchelf ${1} --set-interpreter ${2} || die - elif [[ ${filetype} == *script* ]]; then - hprefixify ${1} - fi -} - -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 rustfmt && components="${components},rustfmt-preview" - use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" - # Rust component 'rust-src' is extracted from separate archive - if use rust-src; then - einfo "Combining rust and rust-src installers" - mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die - echo rust-src >> ./components || die - components="${components},rust-src" - fi - ./install.sh \ - --components="${components}" \ - --disable-verify \ - --prefix="${ED}/opt/${P}" \ - --mandir="${ED}/opt/${P}/man" \ - --disable-ldconfig \ - || die - - if use prefix; then - local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash) - ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" - find "${ED}/opt/${P}/bin" -type f -print0 | \ - while IFS= read -r -d '' filename; do - patchelf_for_bin ${filename} ${interpreter} \; || die - done - eend $? - fi - - local symlinks=( - cargo - rustc - rustdoc - rust-gdb - rust-gdbgui - rust-lldb - ) - - use clippy && symlinks+=( clippy-driver cargo-clippy ) - use rustfmt && symlinks+=( rustfmt cargo-fmt ) - use rust-analyzer && symlinks+=( rust-analyzer ) - - 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-/bin/rustc- - local ver_i="${i}-bin-${PV}" - ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die - 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}" - - # make all capital underscored variable - local CARGO_TRIPLET="$(rust_abi)" - CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" - CARGO_TRIPLET="${CARGO_TRIPLET^^}" - cat <<-_EOF_ > "${T}/50${P}" - LDPATH="${EPREFIX}/usr/lib/rust/lib" - MANPATH="${EPREFIX}/usr/lib/rust/man" - $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_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 rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${P}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" - fi - if use rust-analyzer; then - echo /usr/bin/rust-analyzer >> "${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-bin/rust-bin-1.67.1.ebuild b/dev-lang/rust-bin/rust-bin-1.67.1.ebuild new file mode 100644 index 000000000000..d9998776c583 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.67.1.ebuild @@ -0,0 +1,224 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}" +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2023-02-09/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" +# Keep this separate to allow easy commenting out if not yet built +#SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" +SLOT="stable" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~x86" +IUSE="clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" + +DEPEND="" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + sys-apps/lsb-release +" + +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +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/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/rust.asc" + +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() { + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_src_unpack + + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +patchelf_for_bin() { + local filetype=$(file -b ${1}) + if [[ ${filetype} == *ELF*interpreter* ]]; then + einfo "${1}'s interpreter changed" + patchelf ${1} --set-interpreter ${2} || die + elif [[ ${filetype} == *script* ]]; then + hprefixify ${1} + fi +} + +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 rustfmt && components="${components},rustfmt-preview" + use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + echo rust-src >> ./components || die + components="${components},rust-src" + fi + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + if use prefix; then + local interpreter=$(patchelf --print-interpreter ${EPREFIX}/bin/bash) + ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" + find "${ED}/opt/${P}/bin" -type f -print0 | \ + while IFS= read -r -d '' filename; do + patchelf_for_bin ${filename} ${interpreter} \; || die + done + eend $? + fi + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + 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-/bin/rustc- + local ver_i="${i}-bin-${PV}" + ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" || die + 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}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib" + MANPATH="${EPREFIX}/usr/lib/rust/man" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_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 rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${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 51ecb29b2126..2539a1c27588 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -1,7 +1,7 @@ AUX 1.62.1-musl-dynamic-linking.patch 898 BLAKE2B 09321e356d5c945f72e75e668bfee2a78158131713b917d7a70834dfb0e9c732a1d259ac5406e12552ffa5741dd03c08a5a04e3c68d3e6f905318486b23f081e SHA512 3edefd746a2b1eacaef7b3fd51b14a36ec0a5a4f8893355c48d3afba862405451f4d6961b22b429db1b402572d841d91351ac4759ab8ef3891fd00641d827d48 AUX 1.64.0-vendor-rustix-sparc-has-no-SIGSTKFLT.patch 2744 BLAKE2B 4eb03df7c21087a5833f031b85c999f95e8055492c61184bbe137407b4cdddb76d25f95d6beb5a1c6f82f42800f914f0fde60192c807a9548ee27ba226b10f65 SHA512 d489d0841ad297f8835b7adb1e5777865080f3f83a991da55a266da38396993c7b50f8ec98285ed7b174c879053670acedf9116b586c493338daac8f67741fb6 AUX 1.65.0-ignore-broken-and-non-applicable-tests.patch 1504 BLAKE2B 6318227c4a11ef0b849a85f164fc446ba34ffc3e4314b3f18248aa6605f08aa9a1adfaa2d9b2154c9e29fcab203d3c322fcf67e770778cc788f37bfb86ef353d SHA512 54a05e43c7d01129d8590495d2d651d677ebec06b5302355fec87d3c9bfdaab96bae192d17fafe115039d74a0d56fffa653a03ff0a8528a88582d64f1bbe663d -AUX 1.67.0-bootstrap.patch 1422 BLAKE2B 8b4435aa0d15545bbeb390a721b0c6ce0fe326815f47d2703a2c9f4a53d8df233d63a4b5687dc9dd9cd07865aaa319edf3a6dff89a39d7ac5acf248230e10bd1 SHA512 7af33ffcd742a3a2bdea69b9da610089c5f90772b6ed2e94e1541df66958ed941827108eacea90d9fcf5ba1cc6c10a879955fa0f13cf2e4bd15f28042414586b +AUX 1.67.0-doc-wasm.patch 1359 BLAKE2B 59293c5b61de7ca283629d7f65b965388a42527811fc8355cdf5320fee03d10560f34e9c9a25dbe91e5758c37484485581a5e524a497711f1e108e5ffde6c53c SHA512 f3bafc2d0d2569f0d6891e14aa307cd2425d6624832b27381ae9d6f7ced488eff6d5fa0cdcd77a98d1f92a10a9d832f3aa3c481d1abbb42a0882862bbb189346 DIST rust-1.64.0-aarch64-unknown-linux-gnu.tar.xz 245636524 BLAKE2B 90e405bc6e7f47aec091924bcd7a35017d591936b2697f2b0ddc5271e65fa431cc193a2b392489b6636896fa2d4f3d8f5096d197cfed36e812ea7f3986130c85 SHA512 c163b19a56148646ebbdb10b5b20459a206b4a1c45a2de9ce69f2e45dc5527cc69920f81007ee6fb75080782d534a2a39f7580d0c8cfdcf36ebed971b2513b63 DIST rust-1.64.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3ed79e6a5168676c19b9092692576b72b7bee6cc6fc6fc9213d492ac9641974e0bfefd9eee2663852580ee05038becb3045ff4410fe96aa8e529afc4d3652abb SHA512 14e635fbd60512e8d36c50c2c07d510236cc73661a6294f0a01fe260a945581885c60783e72cbcc0d85b87a161e0940b34b496380bbab659c6e5d0dbb4050a4d DIST rust-1.64.0-aarch64-unknown-linux-musl.tar.xz 226328036 BLAKE2B 43119c95866b3bd7e1b0832079f4fa23d79f5168e1aeb1d9a984897486cdaabbf035150e5633114c3d87afc8cf47e2d591e7c32961cc7cef99595fec303bc348 SHA512 8af3a7293b73d5f3129a17651cc8009290e5eade4802a872bb2a568444c60b4227a89d419c751fa394bf81a38f553a7418a0abd6ec3234737148d1561b91bace @@ -102,9 +102,9 @@ DIST rustc-1.65.0-src.tar.xz 139674928 BLAKE2B a218263fb67e306b153f5a6dae95b5ec6 DIST rustc-1.65.0-src.tar.xz.asc 801 BLAKE2B 43ff92011cd6f7f34ce0495fa341379e5907d032ea90f91e533e5edaec6ad518aad50a9d8b2694074d6909ee96aa779403b16e95792e962e79c1b967542ae26f SHA512 75b9be53363022c81333117876cbcc573bbd4733edf767cbb164218644efb1a9c4bfc2aa73aaa1e39f248a84f1adacb1930a94a6e63f60093ff760fb9ae02efc DIST rustc-1.66.1-src.tar.xz 141692940 BLAKE2B 3fae45345998386fda1b11ec896fac4613b8e3f0092bc0df29c9685f4a4012c0bd1b600911c2d19bcfa8f5a84b8a3c39d4c9e062a62cd61925b59129e1cd72b9 SHA512 1944c024c603140d0a9236043a3bd1d0d211dd8d368d6d82a3a620f1ff43b29624755b0943f2b38b40a188c7eee77a840238ea757eaf435e2a3fa6a0e6b82832 DIST rustc-1.66.1-src.tar.xz.asc 801 BLAKE2B 18e27c88b39eed29147854733c5533b7fffc417ff0b3bd5982174ffa2c5f6d217e2e28ced4da75863a4557800e7ad7a124a4bbb0def4c20da7ed543602185941 SHA512 4511f41ad3d098a339ea3173e3ffa692d1d3cd3ec9dd45af68e4491471f9a72a2e866f6924090eb366bdf6f856650d981eabe1cd851843a17f4a6e4f1dfbc8a9 -DIST rustc-1.67.0-src.tar.xz 142750964 BLAKE2B 5dcea694548f5162bed6020ca12ecfa178fba479fbe6f29ec310f9c5cfaae13999de7b861498e92561f21001fed295d21dd9230ccb5da2f20c638309e785cfda SHA512 6d1ddb54c0ee2c4f8ccf73f3c306c8d8868feb738d5e77eb5a5d25f716395c27d1b3666929c87f9dc84213a9acfdb56254feac92ef0fea3147e2c644391c12b4 -DIST rustc-1.67.0-src.tar.xz.asc 801 BLAKE2B b46159b7cbe081cb34d82b2642397788d09d09f9e55fd961a491862c2c1827b0752530fa74e1a8245cab9ff898d2f021bfdae4820edca34a87c9e18202d7a31e SHA512 cceb0aa5d43c476a051c77263fe152085b8d7d337f78117077a1e460bb9e31b75becd36a8f571fc1275a268ac1107d680012a82a7378851d2a9f16748d95a929 +DIST rustc-1.67.1-src.tar.xz 142758844 BLAKE2B 55b2a98592b1a2e465b7fb224607cbcb23cb13d5053b51abbd2e45428794f457b6925955c5c562f577830353e5287929b3588ee78a30036bf0ca13a3610316d9 SHA512 42d77ee93b168ae139b026138fb48d925624ff436a836aa97ee235f870e61ea11643b0cf7ad20bcafda774c6cd3855a4bc10a2e2ed1c4d82c6f15158963b304d +DIST rustc-1.67.1-src.tar.xz.asc 801 BLAKE2B eb507c6f53c592921eb31cccb17c9d6027c67fb1311726f2d25fe7d1f8a1aa051efb99d7207a5e4477df0b75898783437e653fa041ed7daa27e7a7c4263ec230 SHA512 6c962f680d74251b55f77a43d6e383be53bacff8428e0d003bda207de1fea7f716b88f16686d22a88d99518a4834bf299731855fb030477a995d5e1f3d0024f4 EBUILD rust-1.65.0.ebuild 23818 BLAKE2B c5a288099dc15b8dd61ffe06b2933bce2edbd2490bed6659e990863804448dff60e95f13362d33529e690bbbeee32f830bac1f7afc8fa34e63e93e905a78a14e SHA512 7f3b80e402f44e6edb8d29fa271f0e9246dcd101f5301c787965b75b209d1f4e0df25484dfc3a686e8f7ab70626558479c24233bbd036c4f59b178cfd61d1407 EBUILD rust-1.66.1.ebuild 23695 BLAKE2B 123eb9b2e5a3dd9380b54ec9bf4d2fab5bde4de44c67ebbc5935e5596ae4fb2ac51d9895d812138cefca3795fcb96b2c4f8923080bc7c539a9b98b4094361a00 SHA512 0eaecc97a1507b0d25323ac4b79d6dfa10d6d58cf9457b0d31f9cb91810429478fc36e18bf123dd340db60e806e50415123c64223d2c490d4b3d442369919c63 -EBUILD rust-1.67.0.ebuild 23120 BLAKE2B f955cb4aa4035aef11f610d81f137351af12805d2eee75fff907edc752329bcf66477c7227e00a31e3d7100db509b7289ea575923a408662a4edd86c2f41c6ac SHA512 bd5346879a4a5132dbbfabc2063c03d5ca08cd6763df06aa0bec499a107370e66648addd01080f04df9a665cdc47f4fd86f2ed5fa9263a29e4bc4b7775ef6898 +EBUILD rust-1.67.1.ebuild 23119 BLAKE2B 3260955cba6b775658e02b48463c52e461154d253fca101377a23ab8e1b67ce4507494d91b35b30a4029aee85cc846b515a960106dc8c24d7225c5437dc89cf8 SHA512 a6641ed533e54f362f4630901bf49d859e8efd473e969d470696ace01d3adad0bb77086416ff0f5c1c2f53ff028fc23572cff0db33cb073ef32b4dfaa7562879 MISC metadata.xml 1676 BLAKE2B 37d026b952e72914faf51b5258c6a3da77aa088974094af5533a029abe3975beaba4efd8894cd419577f00b871c45ca3efa80195d90a42c9d1be1fb4befbe5eb SHA512 9a5e30977be9d76e60cab5a0698d5cc544240a6b0c54350aa0bd6aeff0e864f14d97a90ae5e3024e9b7bed54f7b2c7f561f46ad97ff99928f454af44f420d17c diff --git a/dev-lang/rust/files/1.67.0-bootstrap.patch b/dev-lang/rust/files/1.67.0-bootstrap.patch deleted file mode 100644 index eb160661a2c2..000000000000 --- a/dev-lang/rust/files/1.67.0-bootstrap.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 675fa0b3dd5fe14b43ad5b7862f4528df7322468 Mon Sep 17 00:00:00 2001 -From: Michael Goulet -Date: Mon, 12 Dec 2022 18:29:33 +0000 -Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A8=20fix=20unsoundness=20in=20bootstr?= - =?UTF-8?q?ap=20cache=20code?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - ---- - src/bootstrap/cache.rs | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/bootstrap/cache.rs b/src/bootstrap/cache.rs -index be5c9bb078808..05f25af68ea8f 100644 ---- a/src/bootstrap/cache.rs -+++ b/src/bootstrap/cache.rs -@@ -89,16 +89,16 @@ impl Hash for Interned { - - impl Deref for Interned { - type Target = T::Target; -- fn deref(&self) -> &'static Self::Target { -+ fn deref(&self) -> &Self::Target { - let l = T::intern_cache().lock().unwrap(); -- unsafe { mem::transmute::<&Self::Target, &'static Self::Target>(l.get(*self)) } -+ unsafe { mem::transmute::<&Self::Target, &Self::Target>(l.get(*self)) } - } - } - - impl, U: ?Sized> AsRef for Interned { -- fn as_ref(&self) -> &'static U { -+ fn as_ref(&self) -> &U { - let l = T::intern_cache().lock().unwrap(); -- unsafe { mem::transmute::<&U, &'static U>(l.get(*self).as_ref()) } -+ unsafe { mem::transmute::<&U, &U>(l.get(*self).as_ref()) } - } - } - diff --git a/dev-lang/rust/files/1.67.0-doc-wasm.patch b/dev-lang/rust/files/1.67.0-doc-wasm.patch new file mode 100644 index 000000000000..06011deb795b --- /dev/null +++ b/dev-lang/rust/files/1.67.0-doc-wasm.patch @@ -0,0 +1,34 @@ +From 92aa5f6b272bcdc020a34f8d90f9ef851b5b4504 Mon Sep 17 00:00:00 2001 +From: John Millikin +Date: Mon, 9 Jan 2023 13:54:21 +0900 +Subject: [PATCH] Disable `linux_ext` in wasm32 and fortanix rustdoc builds. + +The `std::os::unix` module is stubbed out when building docs for these +target platforms. The introduction of Linux-specific extension traits +caused `std::os::net` to depend on sub-modules of `std::os::unix`, +which broke rustdoc for the `wasm32-unknown-unknown` target. + +Adding an additional `#[cfg]` guard solves that rustdoc failure by +not declaring `linux_ext` on targets with a stubbed `std::os::unix`. +--- + library/std/src/os/net/mod.rs | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/library/std/src/os/net/mod.rs b/library/std/src/os/net/mod.rs +index 5ec267c41e97c..b7046dd7c598c 100644 +--- a/library/std/src/os/net/mod.rs ++++ b/library/std/src/os/net/mod.rs +@@ -1,4 +1,13 @@ + //! OS-specific networking functionality. + ++// See cfg macros in `library/std/src/os/mod.rs` for why these platforms must ++// be special-cased during rustdoc generation. ++#[cfg(not(all( ++ doc, ++ any( ++ all(target_arch = "wasm32", not(target_os = "wasi")), ++ all(target_vendor = "fortanix", target_env = "sgx") ++ ) ++)))] + #[cfg(any(target_os = "linux", target_os = "android", doc))] + pub(super) mod linux_ext; diff --git a/dev-lang/rust/rust-1.67.0.ebuild b/dev-lang/rust/rust-1.67.0.ebuild deleted file mode 100644 index 095c3d5689e0..000000000000 --- a/dev-lang/rust/rust-1.67.0.ebuild +++ /dev/null @@ -1,741 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) - -inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ - multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig - -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 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" - -DESCRIPTION="Systems programming language from Mozilla" -HOMEPAGE="https://www.rust-lang.org/" - -SRC_URI=" - https://static.rust-lang.org/dist/${SRC} - verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) - !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 BSD-1 BSD-2 BSD-4 UoI-NCSA" - -IUSE="clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind miri nightly parallel-compiler profiler rustfmt rust-analyzer rust-src 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: -# List all the working slots in LLVM_VALID_SLOTS, newest first. -LLVM_VALID_SLOTS=( 15 ) -LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}" - -# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation -# (-) usedep needed because we may build with older llvm without that target -LLVM_DEPEND="|| ( " -for _s in ${LLVM_VALID_SLOTS[@]}; do - LLVM_DEPEND+=" ( " - for _x in ${ALL_LLVM_TARGETS[@]}; do - LLVM_DEPEND+=" - ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] ) - wasm? ( sys-devel/lld:${_s} )" - done - LLVM_DEPEND+=" )" -done -unset _s _x -LLVM_DEPEND+=" ) - /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=8192 - # multiply requirements by 1.3 if we are doing x86-multilib - if use amd64; then - M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) - fi - M=$(( $(usex clippy 128 0) + ${M} )) - M=$(( $(usex miri 128 0) + ${M} )) - M=$(( $(usex rustfmt 256 0) + ${M} )) - # add 2G if we compile llvm and 256M per llvm_target - if ! use system-llvm; then - M=$(( 2048 + ${M} )) - local ltarget - for ltarget in ${ALL_LLVM_TARGETS[@]}; do - M=$(( $(usex ${ltarget} 256 0) + ${M} )) - done - fi - M=$(( $(usex wasm 256 0) + ${M} )) - M=$(( $(usex debug 2 1) * ${M} )) - 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} -} - -llvm_check_deps() { - has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" -} - -# Is LLVM being linked against libc++? -is_libcxx_linked() { - local code='#include -#if defined(_LIBCPP_VERSION) - HAVE_LIBCXX -#endif -' - local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 - [[ ${out} == *HAVE_LIBCXX* ]] -} - -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 && bootstrap_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 -} - -esetup_unwind_hack() { - # https://bugs.gentoo.org/870280 - # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. - # it should trigger for internal bootstrap or system-bootstrap with rust-bin. - # the whole idea is for stage0 to bootstrap with fake libgcc_s. - # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. - local fakelib="${T}/fakelib" - mkdir -p "${fakelib}" || die - # we need both symlinks, one for cargo runtime, other for linker. - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die - ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die - export LD_LIBRARY_PATH="${fakelib}" - export RUSTFLAGS+=" -L${fakelib}" - # this is a literally magic variable that gets through cargo cache, without it some - # crates ignore RUSTFLAGS. - # this variable can not contain leading space. - export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" -} - -src_prepare() { - if ! use system-bootstrap; then - has_version sys-devel/gcc || esetup_unwind_hack - local rust_stage0_root="${WORKDIR}"/rust-stage0 - local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" - - "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ - --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die - fi - - default -} - -src_configure() { - filter-flags '-flto*' # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 - - 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_abi $(get_abi_CHOST ${v##*.}))\"" - done - if use wasm; then - 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/wasm_base.rs || die - fi - fi - rust_targets="${rust_targets#,}" - - local tools='"cargo"' - use clippy && tools+=',"clippy"' - use miri && tools+=',"miri"' - use profiler && tools+=',"rust-demangler"' - use rustfmt && tools+=',"rustfmt"' - use rust-analyzer && tools+=',"rust-analyzer","analysis"' - use rust-src && tools+=',"src"' - - local rust_stage0_root - if use system-bootstrap; then - local printsysroot - printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" - rust_stage0_root="${printsysroot}" - else - rust_stage0_root="${WORKDIR}"/rust-stage0 - fi - # in case of prefix it will be already prefixed, as --print sysroot returns full path - [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" - - rust_target="$(rust_abi)" - - local cm_btype="$(usex debug DEBUG RELEASE)" - cat <<- _EOF_ > "${S}"/config.toml - changelog-seen = 2 - [llvm] - download-ci-llvm = false - 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) - $(if is_libcxx_linked; then - # https://bugs.gentoo.org/732632 - echo "use-libcxx = true" - echo "static-libstdcpp = false" - fi) - $(case "${rust_target}" in - i586-*-linux-*) - # https://github.com/rust-lang/rust/issues/93059 - echo 'cflags = "-fcf-protection=none"' - echo 'cxxflags = "-fcf-protection=none"' - echo 'ldflags = "-fcf-protection=none"' - ;; - *) - ;; - esac) - [llvm.build-config] - CMAKE_VERBOSE_MAKEFILE = "ON" - CMAKE_C_FLAGS_${cm_btype} = "${CFLAGS}" - CMAKE_CXX_FLAGS_${cm_btype} = "${CXXFLAGS}" - CMAKE_EXE_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" - CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" - CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" - CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = "${ARFLAGS}" - [build] - build-stage = 2 - test-stage = 2 - build = "${rust_target}" - host = ["${rust_target}"] - target = [${rust_targets}] - cargo = "${rust_stage0_root}/bin/cargo" - rustc = "${rust_stage0_root}/bin/rustc" - rustfmt = "${rust_stage0_root}/bin/rustfmt" - docs = $(toml_usex doc) - compiler-docs = false - submodules = false - python = "${EPYTHON}" - locked-deps = true - vendor = true - extended = true - tools = [${tools}] - verbose = 2 - sanitizers = false - profiler = $(toml_usex profiler) - 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) - debug-assertions-std = $(toml_usex debug) - debuginfo-level = $(usex debug 2 0) - debuginfo-level-rustc = $(usex debug 2 0) - debuginfo-level-std = $(usex debug 2 0) - debuginfo-level-tools = $(usex debug 2 0) - debuginfo-level-tests = 0 - backtrace = true - incremental = false - default-linker = "$(tc-getCC)" - parallel-compiler = $(toml_usex parallel-compiler) - channel = "$(usex nightly nightly stable)" - description = "gentoo" - 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)) - # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it - # https://github.com/rust-lang/rust/issues/74976 - # https://github.com/rust-lang/rust/issues/76526 - deny-warnings = $(usex wasm $(usex doc false true) true) - backtrace-on-ice = true - jemalloc = false - [dist] - src-tarball = false - compression-formats = ["xz"] - _EOF_ - - for v in $(multilib_get_enabled_abi_pairs); do - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) - arch_cflags="$(get_abi_CFLAGS ${v##*.})" - - export CFLAGS_${rust_target//-/_}="${arch_cflags}" - - cat <<- _EOF_ >> "${S}"/config.toml - [target.${rust_target}] - ar = "$(tc-getAR)" - cc = "$(tc-getCC)" - cxx = "$(tc-getCXX)" - linker = "$(tc-getCC)" - ranlib = "$(tc-getRANLIB)" - llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" - _EOF_ - if use system-llvm; then - cat <<- _EOF_ >> "${S}"/config.toml - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" - _EOF_ - fi - # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; - # but we patch it and set to false here as well - if use elibc_musl; then - cat <<- _EOF_ >> "${S}"/config.toml - crt-static = false - _EOF_ - fi - done - if use wasm; then - cat <<- _EOF_ >> "${S}"/config.toml - [target.wasm32-unknown-unknown] - linker = "$(usex system-llvm lld rust-lld)" - # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 - profiler = false - _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/ - - # extra targets defined as a bash array - # spec format: :: - # 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 :: - local cross_llvm_target="${cross_target_spec%%:*}" - # extracts toolchain triples, : - 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}] - ar = "${cross_toolchain}-ar" - cc = "${cross_toolchain}-gcc" - cxx = "${cross_toolchain}-g++" - linker = "${cross_toolchain}-gcc" - ranlib = "${cross_toolchain}-ranlib" - _EOF_ - if use system-llvm; then - cat <<- _EOF_ >> "${S}"/config.toml - llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" - _EOF_ - fi - if [[ "${cross_toolchain}" == *-musl* ]]; then - cat <<- _EOF_ >> "${S}"/config.toml - musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" - _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 flags:" - echo - echo RUSTFLAGS="\"${RUSTFLAGS}\"" - echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" - echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" - echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" - env | grep "CARGO_TARGET_.*_RUSTFLAGS=" - env | grep "CFLAGS_.*" - echo - einfo "config.toml contents:" - cat "${S}"/config.toml || die - echo -} - -src_compile() { - RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -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 ! 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() { - DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || 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 profiler && symlinks+=( rust-demangler ) - use rustfmt && symlinks+=( rustfmt cargo-fmt ) - use rust-analyzer && symlinks+=( rust-analyzer ) - - 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//bin/rustc- - # 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" - _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 profiler; then - echo /usr/bin/rust-demangler >> "${T}/provider-${P}" - fi - if use rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${P}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" - fi - if use rust-analyzer; then - echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${P}" - - if use dist; then - insinto "/usr/lib/${PN}/${PV}/dist" - doins -r "${S}/build/dist/." - fi -} - -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.67.1.ebuild b/dev-lang/rust/rust-1.67.1.ebuild new file mode 100644 index 000000000000..5c51929f95da --- /dev/null +++ b/dev-lang/rust/rust-1.67.1.ebuild @@ -0,0 +1,741 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +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 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !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 BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind miri nightly parallel-compiler profiler rustfmt rust-analyzer rust-src 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: +# List all the working slots in LLVM_VALID_SLOTS, newest first. +LLVM_VALID_SLOTS=( 15 ) +LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}" + +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +# (-) usedep needed because we may build with older llvm without that target +LLVM_DEPEND="|| ( " +for _s in ${LLVM_VALID_SLOTS[@]}; do + LLVM_DEPEND+=" ( " + for _x in ${ALL_LLVM_TARGETS[@]}; do + LLVM_DEPEND+=" + ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] ) + wasm? ( sys-devel/lld:${_s} )" + done + LLVM_DEPEND+=" )" +done +unset _s _x +LLVM_DEPEND+=" ) + /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=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + M=$(( $(usex wasm 256 0) + ${M} )) + M=$(( $(usex debug 2 1) * ${M} )) + 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} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +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 && bootstrap_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 +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-flags '-flto*' # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + 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_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + 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/wasm_base.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + local tools='"cargo"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use profiler && tools+=',"rust-demangler"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","analysis"' + use rust-src && tools+=',"src"' + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + + rust_target="$(rust_abi)" + + local cm_btype="$(usex debug DEBUG RELEASE)" + cat <<- _EOF_ > "${S}"/config.toml + changelog-seen = 2 + [llvm] + download-ci-llvm = false + 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) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + *) + ;; + esac) + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + CMAKE_C_FLAGS_${cm_btype} = "${CFLAGS}" + CMAKE_CXX_FLAGS_${cm_btype} = "${CXXFLAGS}" + CMAKE_EXE_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" + CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" + CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = "${LDFLAGS}" + CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = "${ARFLAGS}" + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_target}" + host = ["${rust_target}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + rustfmt = "${rust_stage0_root}/bin/rustfmt" + docs = $(toml_usex doc) + compiler-docs = false + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = $(toml_usex profiler) + 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) + debug-assertions-std = $(toml_usex debug) + debuginfo-level = $(usex debug 2 0) + debuginfo-level-rustc = $(usex debug 2 0) + debuginfo-level-std = $(usex debug 2 0) + debuginfo-level-tools = $(usex debug 2 0) + debuginfo-level-tests = 0 + backtrace = true + incremental = false + default-linker = "$(tc-getCC)" + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + description = "gentoo" + 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)) + # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it + # https://github.com/rust-lang/rust/issues/74976 + # https://github.com/rust-lang/rust/issues/76526 + deny-warnings = $(usex wasm $(usex doc false true) true) + backtrace-on-ice = true + jemalloc = false + [dist] + src-tarball = false + compression-formats = ["xz"] + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _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/ + + # extra targets defined as a bash array + # spec format: :: + # 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 :: + local cross_llvm_target="${cross_target_spec%%:*}" + # extracts toolchain triples, : + 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}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + if [[ "${cross_toolchain}" == *-musl* ]]; then + cat <<- _EOF_ >> "${S}"/config.toml + musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" + _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 flags:" + echo + echo RUSTFLAGS="\"${RUSTFLAGS}\"" + echo RUSTFLAGS_BOOTSTRAP="\"${RUSTFLAGS_BOOTSTRAP}\"" + echo RUSTFLAGS_NOT_BOOTSTRAP="\"${RUSTFLAGS_NOT_BOOTSTRAP}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -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 ! 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() { + DESTDIR="${D}" "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || 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 profiler && symlinks+=( rust-demangler ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + 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//bin/rustc- + # 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" + _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 profiler; then + echo /usr/bin/rust-demangler >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +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/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest index d488b00fea2e..2ad60fdbc171 100644 --- a/dev-lang/swi-prolog/Manifest +++ b/dev-lang/swi-prolog/Manifest @@ -1,3 +1,4 @@ +AUX swi-prolog-9.1.2-configure-clang16.patch 2605 BLAKE2B c0e547c31c5d613659d92cebd66a1a67ce12fe97f8609116eccc294e5515170521a7c266a88655040da75e126b7314ea7a05f7d35e5d30e010e8df0998fe6945 SHA512 6863b15a7e9aa313ef06a98a6a3a8e4a5c494684c212ba8995a7995e07d1679b7d8b5b0a271209344cd6a858d4a65e462083e9e450396017148c0ee220c89fc0 DIST swipl-8.4.1.tar.gz 11386908 BLAKE2B bd53355abe63ffde348ed38b0e7fee4bcba4e74128c73904a72ca3ba2021a8b650d08480a643ea3336f3fc6d1d7bcf7651deb1d32608581ce43bc118288df6da SHA512 22806d8abd0b729e27a6d7bbbd0df37af8af21bb186a8de58ec5f9a1d32c9a477838fd10155ff21998737fcc2aaf4711d1d4d5457ce5d62e328d5da032474ee5 DIST swipl-8.5.11.tar.gz 11480652 BLAKE2B eb812a272d3fbcb181c5cee0dd033f6b7ffdee467bf37c645a98a34ce455189ded7b7c678482e992918477160a6a585ea07dcc38a4aa123eb5f4e04a35dc20d0 SHA512 00387d25548198e0d738cc210a0769130a6ad6fb0596dec04539b1fb85ab8d660a73fec1fe5f5d01878b90e8736018dbb0c8cfd240e1d6b2b62c0bb892f0826c DIST swipl-8.5.12.tar.gz 11489072 BLAKE2B 1c8ce7a0386c20be8e2eeac9d31df5862adf78ce0341e31b1ebcc42a923403c28707da12b88ba0773f5ebfdd61efe5a8d38a99f8f20aa47672fd51cdc4fbfb8e SHA512 d530fb7048cd80fa0f07b7b026279915cbb58dd7b8199daafe13c22659c5ffeac62168bcc9208c7bbd72616f54d453f5161c1fc08bf5497ba87abc12e5e8e7df @@ -5,5 +6,5 @@ DIST swipl-9.1.2.tar.gz 11827220 BLAKE2B e4bf40d1b4d0c48af5e630728208ca849b9a3d0 EBUILD swi-prolog-8.4.1.ebuild 3177 BLAKE2B 2c3984b0a9aff83643922c5d8ad4beaab21a6ddcf6cd4090e23ad4a770d104e6d3f2f75c9d4bf910e720e23eb5e1f73ae999c5dc7012c2b0ddd660171478f9c2 SHA512 488763c483a760a468319742bca8df6135dbb8f754176dfc21b337d051c48f42d7ceddb210bddaaa3a599d5b162a474694bfbb8a68f16d146496d1d087ec9c29 EBUILD swi-prolog-8.5.11.ebuild 3191 BLAKE2B 4a7e883cb444a54f71acd8fa37bdef88b900c0dcaa948a9429ea1d320cb650c1fa381a0780570f69e96eeb341f20d54ec4715700aa645255c5d140c6dcc798bd SHA512 efb05a84a5876bda9c55970f98b3a0195fa34a495e1c7b16d6058d18c9ac1091e01e975f0fc00d3416b84bcfdc086268e5e3c206fdbcf49e546a921bcbf47785 EBUILD swi-prolog-8.5.12.ebuild 3249 BLAKE2B a0fee95fa73564d28ca8fdba9293ab89d6abb64c029f9166a181aee4c4adf0afba0bda99cac671b1b61c564f0cb4fac2cc8941010e38384cc63dfdef37fe82da SHA512 df2624efb0fc37a7a445860c62599bbc615eb4b3e90b172b0721985be178e851e0ff81ee0c8dd1adab061a122ab9bdd5408b0d5be13e821ca73e14bc1c5fd847 -EBUILD swi-prolog-9.1.2.ebuild 3906 BLAKE2B a5516b51984baee69a69d22466a78b1cefd17d872a6928c53b9f5b2b7d2a708bb0cf7d8446b54d80598006df6cd693cd044e3b8d5f09caad96214ed80d1a4038 SHA512 3e70f0d51650b829b7c442c80cbe6a069cf72bc7447cbdece7923ef8e5ae0e38418836dc136bde166f4a6ee6ff89a6490411aaedf5be1d61f9c2978773c3ba6f +EBUILD swi-prolog-9.1.2-r1.ebuild 3987 BLAKE2B c1570e0a13b210a33ddb26bde6cc625a0264a2ee6e579542d78d3e69394dde53fd4f27bcff2ae2dc928d58d9b3c2c4fc8c19b585eac517f19c6fd23fbe65901b SHA512 7005356296d384afee8454a4967afe3a3eb87d62d3dd097f754898542abd45ee3e2a4ee65411715094527d711c2303e139e8876bd98971777e8963729f3cc6fd MISC metadata.xml 835 BLAKE2B 74eb565d22c6f7767dcb593fddff34fefff136f81558f674d62ce259d0988b15294c9947fff4b594e800108906a7f024c36c0b52d2ce090e86da0cb88cde163c SHA512 5f337a4020d75a08af811b76661c6e0206be0765f3a3a467947465217676665c5ba8f19d1914435d072e1d12383405801696342259984e2a0e72e80ad5073dd6 diff --git a/dev-lang/swi-prolog/files/swi-prolog-9.1.2-configure-clang16.patch b/dev-lang/swi-prolog/files/swi-prolog-9.1.2-configure-clang16.patch new file mode 100644 index 000000000000..292728269526 --- /dev/null +++ b/dev-lang/swi-prolog/files/swi-prolog-9.1.2-configure-clang16.patch @@ -0,0 +1,61 @@ +https://bugs.gentoo.org/879657 +https://github.com/SWI-Prolog/swipl-devel/commit/2328d9d54c8aa368a4bf0165b1b811d1f31ba0f7 +https://github.com/SWI-Prolog/swipl-devel/commit/0d1088443348b71a3624835a19469e2b6cc7e284 + +From 2328d9d54c8aa368a4bf0165b1b811d1f31ba0f7 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Tue, 10 Jan 2023 14:08:04 +0100 +Subject: [PATCH] cmake: Fix C99 compatibility issues in GCC built-in detection + +Future compilers may not support implicit ints or implicit +function declarations, so avoid them, by using an explicit int +type and including for the alloca function. +--- a/cmake/GCCBuiltins.cmake ++++ b/cmake/GCCBuiltins.cmake +@@ -22,7 +22,7 @@ check_c_source_compiles( + "volatile int i=0; int main() { return 0; }" + HAVE_VOLATILE) + check_c_source_compiles( +- "static inline foo() { return 0; } int main() { return foo(); }" ++ "static inline int foo() { return 0; } int main() { return foo(); }" + HAVE_INLINE) + check_c_source_compiles( + "int main() { void *p = &&lbl; goto *p; lbl: return 0; }" +@@ -45,7 +45,7 @@ check_visibility() + # Builtin functions that lead to conflicts + + check_c_source_compiles( +- "int main() { char *s = alloca(10); return s!=0; }" ++ "#include \nint main() { char *s = alloca(10); return s!=0; }" + HAVE_ALLOCA) + check_c_source_compiles( + "#include \nint main() { double x; return signbit(x); }" + +From 0d1088443348b71a3624835a19469e2b6cc7e284 Mon Sep 17 00:00:00 2001 +From: Jan Wielemaker +Date: Wed, 11 Jan 2023 13:30:34 +0100 +Subject: [PATCH] Cleanup some no longer used GCC __builtin checks. + +--- a/cmake/GCCBuiltins.cmake ++++ b/cmake/GCCBuiltins.cmake +@@ -9,12 +9,6 @@ check_c_source_compiles( + check_c_source_compiles( + "int i=0; int main() { return __builtin_expect(i, 0) ? 0 : 1; }" + HAVE___BUILTIN_EXPECT) +-check_c_source_compiles( +- "int i=0; struct {int x[10];} st; int main() { return __builtin_choose_expr(1, i, st); }" +- HAVE___BUILTIN_CHOOSE_EXPR) +-check_c_source_compiles( +- "int i=0; int main() { return __builtin_types_compatible_p(typeof(i), int); }" +- HAVE___BUILTIN_TYPES_COMPATIBLE_P) + check_c_source_compiles( + "__thread int i=0; int main() { return 0; }" + HAVE___THREAD) +@@ -48,5 +42,5 @@ check_c_source_compiles( + "#include \nint main() { char *s = alloca(10); return s!=0; }" + HAVE_ALLOCA) + check_c_source_compiles( +- "#include \nint main() { double x; return signbit(x); }" ++ "#include \nint main() { double x = 0.0; return signbit(x); }" + HAVE_SIGNBIT) + diff --git a/dev-lang/swi-prolog/swi-prolog-9.1.2-r1.ebuild b/dev-lang/swi-prolog/swi-prolog-9.1.2-r1.ebuild new file mode 100644 index 000000000000..7cee8edc9d51 --- /dev/null +++ b/dev-lang/swi-prolog/swi-prolog-9.1.2-r1.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake desktop flag-o-matic java-pkg-opt-2 toolchain-funcs xdg + +PATCHSET_VER="0" + +MY_P="swipl-${PV}" +DESCRIPTION="Versatile implementation of the Prolog programming language" +HOMEPAGE="https://www.swi-prolog.org/" +SRC_URI="https://www.swi-prolog.org/download/devel/src/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="X archive berkdb +cli debug doc +gmp gui +ipc java minimal odbc pcre pgo qt6 ssl test yaml" +RESTRICT="!test? ( test )" + +# See cmake/PackageSelection.cmake and cmake/DocDepends.cmake +REQUIRED_USE=" + doc? ( archive ) + minimal? ( !archive !doc !ipc !ssl !test ) +" + +COMMON_DEPEND=" + sys-libs/ncurses:= + sys-libs/zlib:= + virtual/libcrypt:= + X? ( + media-libs/freetype:2 + media-libs/fontconfig:1.0 + media-libs/libjpeg-turbo:= + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXft + x11-libs/libXinerama + x11-libs/libXpm + x11-libs/libXt + ) + archive? ( app-arch/libarchive:= ) + berkdb? ( >=sys-libs/db-4:= ) + cli? ( + dev-libs/libedit + sys-libs/readline:= + ) + gmp? ( dev-libs/gmp:0= ) + gui? ( + !qt6? ( + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + ) + !minimal? ( dev-libs/ossp-uuid ) + odbc? ( dev-db/unixODBC ) + pcre? ( dev-libs/libpcre ) + ssl? ( dev-libs/openssl:0= ) + yaml? ( dev-libs/libyaml ) +" +RDEPEND="${COMMON_DEPEND} + java? ( >=virtual/jre-1.8:* ) +" +DEPEND="${COMMON_DEPEND} + X? ( x11-base/xorg-proto ) + java? ( + >=virtual/jdk-1.8:* + test? ( dev-java/junit:4 ) + ) +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + # Upstream in >= 9.1.3 + "${FILESDIR}"/${P}-configure-clang16.patch +) + +pkg_setup() { + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + if [[ -d "${WORKDIR}"/${PV} ]] ; then + eapply "${WORKDIR}"/${PV} + fi + + sed \ + -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" \ + -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" \ + -i CMakeLists.txt || die + + sed "s/ -Werror//g" \ + -i cmake/GCCBuiltins.cmake \ + -i cmake/Config.cmake \ + -i packages/ssl/CMakeLists.txt || die + + local ncurses_lib_flags=$($(tc-getPKG_CONFIG) --libs ncurses) + sed -i "/project(SWI-Prolog)/a set(CMAKE_REQUIRED_LIBRARIES \${CMAKE_REQUIRED_LIBRARIES} ${ncurses_lib_flags})" CMakeLists.txt || die + sed -i "s:\${CURSES_LIBRARIES}:${ncurses_lib_flags}:" src/CMakeLists.txt || die + + java-pkg-opt-2_src_prepare + cmake_src_prepare +} + +src_configure() { + append-flags -fno-strict-aliasing + use debug && append-flags -DO_DEBUG + + if use pgo; then + CMAKE_BUILD_TYPE="PGO" + append-flags -Wno-error=coverage-mismatch + fi + + local mycmakeargs=( + -DBUILD_TESTING=$(usex test) + -DINSTALL_DOCUMENTATION=$(usex doc) + -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl + -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) + -DSWIPL_PACKAGES_BASIC=$(usex !minimal) + -DSWIPL_PACKAGES_BDB=$(usex berkdb) + -DSWIPL_PACKAGES_JAVA=$(usex java) + -DSWIPL_PACKAGES_ODBC=$(usex odbc) + -DSWIPL_PACKAGES_PCRE=$(usex pcre) + -DSWIPL_PACKAGES_SSL=$(usex ssl) + -DSWIPL_PACKAGES_TERM=$(usex cli) + -DSWIPL_PACKAGES_TIPC=$(usex ipc) + -DSWIPL_PACKAGES_X=$(usex X) + -DSWIPL_PACKAGES_YAML=$(usex yaml) + -DUSE_GMP=$(usex gmp) + -DUSE_TCMALLOC=OFF + ) + + if use gui; then + mycmakeargs+=( + -DSWIPL_PACKAGES_QT=yes + $(cmake_use_find_package qt6 Qt6) + ) + else + mycmakeargs+=( -DSWIPL_PACKAGES_QT=no ) + fi + + if use test && use java; then + mycmakeargs+=( -DJUNIT_JAR="${ESYSROOT}"/usr/share/junit-4/lib/junit.jar ) + fi + + export XDG_CONFIG_DIRS="${HOME}" + export XDG_DATA_DIRS="${HOME}" + + cmake_src_configure +} + +src_install() { + cmake_src_install + + if use gui; then + doicon "${S}"/snap/gui/swipl.png + make_desktop_entry swipl-win "SWI-Prolog" swipl "Development" + fi +} + +pkg_preinst() { + java-pkg-opt-2_pkg_preinst + use gui && xdg_pkg_preinst +} + +pkg_postinst() { + use gui && xdg_pkg_postinst +} + +pkg_postrm() { + use gui && xdg_pkg_postrm +} diff --git a/dev-lang/swi-prolog/swi-prolog-9.1.2.ebuild b/dev-lang/swi-prolog/swi-prolog-9.1.2.ebuild deleted file mode 100644 index 5449898d6a02..000000000000 --- a/dev-lang/swi-prolog/swi-prolog-9.1.2.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake desktop flag-o-matic java-pkg-opt-2 toolchain-funcs xdg - -PATCHSET_VER="0" - -MY_P="swipl-${PV}" -DESCRIPTION="Versatile implementation of the Prolog programming language" -HOMEPAGE="https://www.swi-prolog.org/" -SRC_URI="https://www.swi-prolog.org/download/devel/src/${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos" -IUSE="X archive berkdb +cli debug doc +gmp gui +ipc java minimal odbc pcre pgo qt6 ssl test yaml" -RESTRICT="!test? ( test )" - -# See cmake/PackageSelection.cmake and cmake/DocDepends.cmake -REQUIRED_USE=" - doc? ( archive ) - minimal? ( !archive !doc !ipc !ssl !test ) -" - -COMMON_DEPEND=" - sys-libs/ncurses:= - sys-libs/zlib:= - virtual/libcrypt:= - X? ( - media-libs/freetype:2 - media-libs/fontconfig:1.0 - media-libs/libjpeg-turbo:= - x11-libs/libICE - x11-libs/libSM - x11-libs/libX11 - x11-libs/libXft - x11-libs/libXinerama - x11-libs/libXpm - x11-libs/libXt - ) - archive? ( app-arch/libarchive:= ) - berkdb? ( >=sys-libs/db-4:= ) - cli? ( - dev-libs/libedit - sys-libs/readline:= - ) - gmp? ( dev-libs/gmp:0= ) - gui? ( - !qt6? ( - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - ) - !minimal? ( dev-libs/ossp-uuid ) - odbc? ( dev-db/unixODBC ) - pcre? ( dev-libs/libpcre ) - ssl? ( dev-libs/openssl:0= ) - yaml? ( dev-libs/libyaml ) -" -RDEPEND="${COMMON_DEPEND} - java? ( >=virtual/jre-1.8:* ) -" -DEPEND="${COMMON_DEPEND} - X? ( x11-base/xorg-proto ) - java? ( - >=virtual/jdk-1.8:* - test? ( dev-java/junit:4 ) - ) -" -BDEPEND="virtual/pkgconfig" - -pkg_setup() { - java-pkg-opt-2_pkg_setup -} - -src_prepare() { - if [[ -d "${WORKDIR}"/${PV} ]] ; then - eapply "${WORKDIR}"/${PV} - fi - - sed \ - -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" \ - -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" \ - -i CMakeLists.txt || die - - sed "s/ -Werror//g" \ - -i cmake/GCCBuiltins.cmake \ - -i cmake/Config.cmake \ - -i packages/ssl/CMakeLists.txt || die - - local ncurses_lib_flags=$($(tc-getPKG_CONFIG) --libs ncurses) - sed -i "/project(SWI-Prolog)/a set(CMAKE_REQUIRED_LIBRARIES \${CMAKE_REQUIRED_LIBRARIES} ${ncurses_lib_flags})" CMakeLists.txt || die - sed -i "s:\${CURSES_LIBRARIES}:${ncurses_lib_flags}:" src/CMakeLists.txt || die - - java-pkg-opt-2_src_prepare - cmake_src_prepare -} - -src_configure() { - append-flags -fno-strict-aliasing - use debug && append-flags -DO_DEBUG - - if use pgo; then - CMAKE_BUILD_TYPE="PGO" - append-flags -Wno-error=coverage-mismatch - fi - - local mycmakeargs=( - -DBUILD_TESTING=$(usex test) - -DINSTALL_DOCUMENTATION=$(usex doc) - -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl - -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) - -DSWIPL_PACKAGES_BASIC=$(usex !minimal) - -DSWIPL_PACKAGES_BDB=$(usex berkdb) - -DSWIPL_PACKAGES_JAVA=$(usex java) - -DSWIPL_PACKAGES_ODBC=$(usex odbc) - -DSWIPL_PACKAGES_PCRE=$(usex pcre) - -DSWIPL_PACKAGES_SSL=$(usex ssl) - -DSWIPL_PACKAGES_TERM=$(usex cli) - -DSWIPL_PACKAGES_TIPC=$(usex ipc) - -DSWIPL_PACKAGES_X=$(usex X) - -DSWIPL_PACKAGES_YAML=$(usex yaml) - -DUSE_GMP=$(usex gmp) - -DUSE_TCMALLOC=OFF - ) - - if use gui; then - mycmakeargs+=( - -DSWIPL_PACKAGES_QT=yes - $(cmake_use_find_package qt6 Qt6) - ) - else - mycmakeargs+=( -DSWIPL_PACKAGES_QT=no ) - fi - - if use test && use java; then - mycmakeargs+=( -DJUNIT_JAR="${ESYSROOT}"/usr/share/junit-4/lib/junit.jar ) - fi - - export XDG_CONFIG_DIRS="${HOME}" - export XDG_DATA_DIRS="${HOME}" - - cmake_src_configure -} - -src_install() { - cmake_src_install - - if use gui; then - doicon "${S}"/snap/gui/swipl.png - make_desktop_entry swipl-win "SWI-Prolog" swipl "Development" - fi -} - -pkg_preinst() { - java-pkg-opt-2_pkg_preinst - use gui && xdg_pkg_preinst -} - -pkg_postinst() { - use gui && xdg_pkg_postinst -} - -pkg_postrm() { - use gui && xdg_pkg_postrm -} diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest index f87bcb69edd5..453365e2c0a4 100644 --- a/dev-lang/vala/Manifest +++ b/dev-lang/vala/Manifest @@ -1,3 +1,5 @@ DIST vala-0.56.3.tar.xz 3969676 BLAKE2B 66fba756d89b7fbc9689a9ff7ef8d4689b53b9ee570225fb268bb433e9c14a876eac1565999944ad72864d9a3c62f777d534579ee7ca091d90e405ef2b271314 SHA512 3222edab995a1d405bc891b37ffb4915677b7bb56ce3be7d1ece1dfb77f2d054bf7499dad9e6eb593c42678ae2c2c7cd779a595b702a3e2e38e9e0e0d69ba99e +DIST vala-0.56.4.tar.xz 3978480 BLAKE2B 22cde236f3d397499f6bf41c038422bf17bb5878096eb27c4a1efec9ea296623e52099250852b0085ca691243ec3cda6316598b20e3700816e2bf29032e625a4 SHA512 302e72a42fcb0cffc1c8eec28014f216c3848aaecec100acabc5e952d6f3ad2471b341e92a266f452c3335b8d1dde9cb0b1e6da62b754ffb4749b0aa862f24ba EBUILD vala-0.56.3.ebuild 999 BLAKE2B 23b3836c55500ab94635f07d837a43c9c0be17fd536bf7d11d8644b6785a3443f8b6653880936fcb03943e057b0c29e3d34f1d5de05ef559da0684be4241a01d SHA512 6b93f851ea79d2c0ade055db6ba3806cd818508fae63de41703c23b1d1f5e9c0af6d7c813b66fafbddf0b9929ae0264fdc66f35a35c3599ff9532516cae79204 +EBUILD vala-0.56.4.ebuild 1006 BLAKE2B 4ac9f323be68e3f2c12345912e0b17e8cb953388dbbd66d327ec30a94cc9e440af99bcf3afcd539f945198749ac43fdb2e763c8c2d73513a657951ca671ab148 SHA512 defb58a986337f7c80b1e23374a6bd47293cbabf27d381941a0e53e316705947a66f252ebddc76eb533780dec8540e3a7f17de53d1b2969dfb692f7382b36b4d MISC metadata.xml 441 BLAKE2B a67ac153219c809b992ad569958248e09fe402e33526f2c9a8e5ef4908a5496a0018894605f2d649e191bb84db59294526bb14a06e59f4cfca335dcbf18e15f8 SHA512 97774503c4e5cbce834f11865cea98e45b244566373d8a7efca73d18346d425b49a3b96cda02a61484a8c906d9f27d735c2a9899701b95d0a5f62b9df12365f9 diff --git a/dev-lang/vala/vala-0.56.4.ebuild b/dev-lang/vala/vala-0.56.4.ebuild new file mode 100644 index 000000000000..70072f140f0d --- /dev/null +++ b/dev-lang/vala/vala-0.56.4.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome2 + +DESCRIPTION="Compiler for the GObject type system" +HOMEPAGE="https://wiki.gnome.org/Projects/Vala https://gitlab.gnome.org/GNOME/vala" + +LICENSE="LGPL-2.1+" +SLOT="0.56" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux" +IUSE="test valadoc" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/glib-2.48.0:2 + >=dev-libs/vala-common-${PV} + valadoc? ( >=media-gfx/graphviz-2.16 ) +" +DEPEND="${RDEPEND} + test? ( + dev-libs/dbus-glib + >=dev-libs/glib-2.26:2 + dev-libs/gobject-introspection + ) +" +BDEPEND=" + dev-libs/libxslt + sys-devel/flex + virtual/pkgconfig + app-alternatives/yacc +" + +src_configure() { + # weasyprint enables generation of PDF from HTML + gnome2_src_configure \ + --disable-unversioned \ + $(use_enable valadoc) \ + VALAC=: \ + WEASYPRINT=: +} + +src_install() { + default + find "${D}" -name "*.la" -delete || die +} -- cgit v1.2.3