From 7ab79528a3e9a77497eb58022bb0e775e7440885 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 26 Dec 2023 19:38:09 +0000 Subject: gentoo auto-resync : 26:12:2023 - 19:38:09 --- dev-lang/Manifest.gz | Bin 21007 -> 21012 bytes dev-lang/python/Manifest | 12 +- dev-lang/python/python-3.10.13.ebuild | 17 +- dev-lang/python/python-3.11.7.ebuild | 18 +- dev-lang/python/python-3.12.1_p1.ebuild | 19 +- dev-lang/python/python-3.13.0_alpha2.ebuild | 19 +- dev-lang/python/python-3.8.18.ebuild | 16 +- dev-lang/python/python-3.9.18.ebuild | 17 +- dev-lang/ruby/Manifest | 2 + dev-lang/ruby/ruby-3.3.0.ebuild | 295 ++++++++++++++++++++++++++++ 10 files changed, 365 insertions(+), 50 deletions(-) create mode 100644 dev-lang/ruby/ruby-3.3.0.ebuild (limited to 'dev-lang') diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz index 99433c4af7b5..b274a20d8fcd 100644 Binary files a/dev-lang/Manifest.gz and b/dev-lang/Manifest.gz differ diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 7d62107c0050..d1b1244d32c3 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -23,11 +23,11 @@ DIST python-gentoo-patches-3.13.0a2.tar.xz 4360 BLAKE2B 1c55b3ae512a2c04bab00fb3 DIST python-gentoo-patches-3.8.18.tar.xz 32424 BLAKE2B 2e0b6e1c8e3df666934ba283214ca1577b01140dea00513f6420b0255650002e4bc4cb142076620227cd430bc2547123fd392883285886e543ef72ca466f8ea6 SHA512 b005f1054b726fc8c82a50b006309de64fb7858fe5c22cc7b160687d059a7859ec9388706b74a0e6c1f42301bed071dc639eb8cfae0d7c5eef2f565c63cc2d29 DIST python-gentoo-patches-3.9.18.tar.xz 25044 BLAKE2B 1d9ace5c5a0f1c15bc23595cc51d64b4c2b416552cdaaa960c3e34360aba3e7029a06e2a077212c68fa7aee4fd20f649a3b0926bd4ebb10e529e8350ab051e63 SHA512 bc180c3346dfae60a7db221d114146ee83409bc42092171eb05c83de528bf5f0e5654d1441f40ba839d0a98e866a5b43452fb7a72047c837497620a12097b8f5 EBUILD python-2.7.18_p16-r1.ebuild 8595 BLAKE2B d8bce8a565eecb565ff0c872bd5323261a2f0bdf31f98935df50fcd0bfdc22665e550fb3dbcef84f8b9eb680e34586e86804b68310c3769997414328fa2a431d SHA512 2fd4abf3f45a782cf75bb02a2eae5330a2463186b1f388ad85ebefc757015d7f38ac4f74c2995d46e847ef68176d3f9035179e249499aef89a9bbf0d459e8d89 -EBUILD python-3.10.13.ebuild 14207 BLAKE2B 7d9f57dd82465e6d000b834e1b3a10055185584bfb91d2ab243e8a30a560d3f6ea8619b85e45bfdef2325a52a8876de9508bceecf0174a1ef620416353ba44d5 SHA512 8e1665cb6cec65ebe2c934fd1376012122b7fb4247d003639cd07c6cdb1478f92dab189f6012675cb73548b883bb32f34b2ea9c265be1c1786795263856044ec -EBUILD python-3.11.7.ebuild 15105 BLAKE2B 4833298b9756cb8191488cd8a34eb9a8fb4817a1ccb4c95a1b02edd945d1cb27aada17c853d6927f943087c972771e8e2cf61d0e66ab9def73e12cf771958bfb SHA512 61fd0faf278d437f66da968253e1ccb161345b8bc2352a673605c6a708a0f41903adde5493d30c1bc2cf1baa88eb2a8d3865b67189a0c7808c0174f9e5eca6f7 +EBUILD python-3.10.13.ebuild 14209 BLAKE2B 60ba543301b6a729508610e9584aa9eec040aea06ee8889505c8b4c87a2595ab4d59426e514eab6aa6cb57c7760768c639b53c31ffe6580d5571f3aa6d0940dc SHA512 445f56f2a0af94adfae8b1d0b4bccc2863fb3cff24e5050bfa98f45b2b971c0560d6846474cfe102f6f4251425b567c70a20cd52134950c8538d65959607b313 +EBUILD python-3.11.7.ebuild 15092 BLAKE2B a6cca39bb204531458cb0e1239432e6316caa345bf49d14674e7ad307c953a0a2da993ca3be8b5690f010b0f3c33183e670a4b9e0f96498159bb9a5f323c1d1e SHA512 708d5ffbc32a919ee9db6983b91d7b48a10fea8535f7a4b9ca624c109b6d8d259952bde4b74ebc81e3349c08af0c742b135ba67a6ff60bc5530082bfc5c3ea62 EBUILD python-3.12.1.ebuild 14665 BLAKE2B 6f5d08274a07a921ff299191f193011b7b3af0166ee7ecaa85375cac97e7222588235ec0df89816e0de4a9843d037d7d935ca21097e2cf65171e2610dd64c62f SHA512 1388c9d7cf9391e127bee6c753bed1c722972d3e9c12b8dd4d423b7047e416c3364a6253e00d4e9073a7c5bca31a036ff43812a9a34db1ae26a53e0096d91932 -EBUILD python-3.12.1_p1.ebuild 14673 BLAKE2B 8cea6ceaa4a2b8ebe30d6d85f494e47a6b31ffcb89b1952daa7f26cb58f7bdf71d9f4eade3cac6a3c1d35990c1758d0e821ae5676cfbab38ba330c053cd6e761 SHA512 765454cde068682f67a8935c153240db5c0d456a49108a9f498d9ed958366725e8925878cd2563ae18ff8058c08c8c1c1294862ec0b58e5f7cf16629ebdadb53 -EBUILD python-3.13.0_alpha2.ebuild 14501 BLAKE2B fc95f903c0197dc5fad73bb41e3d29907942d5f4aa51f1f17ab7704ce94631abd77cc947277460b5d3b4c4ea55fc7cf0310c30c4ef947fc6cd7601ab5988930e SHA512 06bdce88e16edfed6d25feed6653335baf65fe5cb6aa8ffc5896a2c7851ca589b20ea588ce4e1fc04c4fc7571b3d188ed35231b9ca7e8933616e5f3347cc60b2 -EBUILD python-3.8.18.ebuild 12357 BLAKE2B 98c47b83e4b18bc3ed23ccf8a10a310b9d71c51c08cd8ada6050a5db32c820a059b3e3b96e07be09daa949fc93c5e12c94c3a2b0f6bede56f4a33714688e7cb2 SHA512 7ddc4c2cec2641098906583ffe1e7bb9f324ccf4e7fc348e9d291f1b9032655a992681ff464a01dce565bd3249cf44595a6ca617b21f2958205ed6473418c7ab -EBUILD python-3.9.18.ebuild 13858 BLAKE2B 935bd948e44404cf68d62a93c77998570dba12778bdac9932a04005c0ec741a48581a51d82879ddfd0042a0fcf22ebbd407eec175ff846525e8ccaa7c16d1317 SHA512 f2f9b54437a20a3565261c9dcf5f5c0b9a09f0bcf69713ef42b665cfbfde59f53d8a3a920193e2888e33db1383a8acbceaca4d01f100cea86cd685f2c3511e8e +EBUILD python-3.12.1_p1.ebuild 14661 BLAKE2B 3e2473f2ce5303e968333a30c13e2aa219b4ee83fa2a94e92c97e41d4bd507ccec61500b3ba13f2c8e0eb8cc640d5df05912a0c15b66b798ca103b501dac5854 SHA512 a273ad05286315b6988ad330eecf3b54a2410e08749fbe54995deda0b086fca93da1335234dfbdf4011daaf5dee4c9633c1dd4f8dcccb6e21df6f5df46b7a6a6 +EBUILD python-3.13.0_alpha2.ebuild 14489 BLAKE2B 0ed653467e0320e148671e2a8ec882ccdcdcf413707c1b82affb29d6fd715e72cb98b5a004c751dfbf60ebd2c95831a634ae99be78448d561493f9531c8d5d48 SHA512 34365470a5d175a1e9ee3026bfd6003168ad665b21f7b24b68b70f19fec1ec75816cd1ca7b92d660acf933bfc7a7386993ac1a4e754e2943ee71beee8842fe07 +EBUILD python-3.8.18.ebuild 12377 BLAKE2B f55b29d118cdaa6a7cfabe8278737db10aa8410304c752e15080232bf3897005b1bbd67c13c3c70f52a4f4366a2f16b7b699377c01980497d6d6fc75b16131c0 SHA512 e2951d5049a9cf1498cfd3a798f2914be6498c9422b715708eeb647fdcb07594f60fc8212f1299aa9db3c09b69aff5be544a9c552734455d7c5645345de27611 +EBUILD python-3.9.18.ebuild 13860 BLAKE2B 87ab2445b4843181c44de5864a59368533774fec3a0a1593568eafbf4e7877e1b57f2e3a52196c572b75867dcf8023e6059a92f7fe5348e4ff9eb6eb7fcff5e4 SHA512 be85f7633b4d1baafe35d229576a0025526518a0bc81a154b3cf467387d7002b26e937f25c714798da329f14a22717cd0605baa8cee0ca4b663ae5c55b81a80e MISC metadata.xml 1349 BLAKE2B 0e15474340a4a54c4af7b3ce4f66759cc63938470b3874a4b570dada57378e23c7f19ff3ed741c738a39872486000b3f23c7dabef32f851df089357a0b31c635 SHA512 fb3df75c0cbe308eb2f5c8096fb87533fc08fd5479905f4fd4380fd071d8a91571d40a86d8acc9313050278fa3e969960995b68b6e81a878298f64800e095362 diff --git a/dev-lang/python/python-3.10.13.ebuild b/dev-lang/python/python-3.10.13.ebuild index a147169c4d1f..be5cdcb2af4f 100644 --- a/dev-lang/python/python-3.10.13.ebuild +++ b/dev-lang/python/python-3.10.13.ebuild @@ -30,7 +30,7 @@ LICENSE="PSF-2" SLOT="${PYVER}" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE=" - bluetooth build debug +ensurepip examples gdbm libedit lto + bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +xml " RESTRICT="!test? ( test )" @@ -223,11 +223,6 @@ src_configure() { append-flags -fwrapv filter-flags -malign-double - # https://bugs.gentoo.org/700012 - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. # PKG_CONFIG needed for cross. tc-export CXX PKG_CONFIG @@ -291,12 +286,12 @@ src_configure() { --with-libc= --enable-loadable-sqlite-extensions --without-ensurepip + --without-lto --with-system-expat --with-system-ffi --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) - $(use_with lto) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") $(use_with valgrind) @@ -305,6 +300,14 @@ src_configure() { # disable implicit optimization/debugging flags local -x OPT= + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + if tc-is-cross-compiler ; then build_cbuild_python # Point the imminent CHOST build to the Python we just diff --git a/dev-lang/python/python-3.11.7.ebuild b/dev-lang/python/python-3.11.7.ebuild index 7b984e8e2242..5bfd3472f572 100644 --- a/dev-lang/python/python-3.11.7.ebuild +++ b/dev-lang/python/python-3.11.7.ebuild @@ -30,7 +30,7 @@ LICENSE="PSF-2" SLOT="${PYVER}" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE=" - bluetooth build debug +ensurepip examples gdbm libedit lto + bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind " RESTRICT="!test? ( test )" @@ -202,7 +202,6 @@ build_cbuild_python() { } src_configure() { - local disable # disable automagic bluetooth headers detection if ! use bluetooth; then local -x ac_cv_header_bluetooth_bluetooth_h=no @@ -211,11 +210,6 @@ src_configure() { append-flags -fwrapv filter-flags -malign-double - # https://bugs.gentoo.org/700012 - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. # PKG_CONFIG needed for cross. tc-export CXX PKG_CONFIG @@ -279,6 +273,7 @@ src_configure() { --with-libc= --enable-loadable-sqlite-extensions --without-ensurepip + --without-lto --with-system-expat --with-system-ffi --with-platlibdir=lib @@ -286,7 +281,6 @@ src_configure() { --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) - $(use_with lto) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") $(use_with valgrind) @@ -295,6 +289,14 @@ src_configure() { # disable implicit optimization/debugging flags local -x OPT= + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + if tc-is-cross-compiler ; then build_cbuild_python myeconfargs+=( diff --git a/dev-lang/python/python-3.12.1_p1.ebuild b/dev-lang/python/python-3.12.1_p1.ebuild index df871bbf0ed2..56041a87d6cc 100644 --- a/dev-lang/python/python-3.12.1_p1.ebuild +++ b/dev-lang/python/python-3.12.1_p1.ebuild @@ -30,7 +30,7 @@ LICENSE="PSF-2" SLOT="${PYVER}" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE=" - bluetooth build debug +ensurepip examples gdbm libedit lto + bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind " RESTRICT="!test? ( test )" @@ -202,7 +202,6 @@ build_cbuild_python() { } src_configure() { - local disable # disable automagic bluetooth headers detection if ! use bluetooth; then local -x ac_cv_header_bluetooth_bluetooth_h=no @@ -211,11 +210,6 @@ src_configure() { append-flags -fwrapv filter-flags -malign-double - # https://bugs.gentoo.org/700012 - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. # PKG_CONFIG needed for cross. tc-export CXX PKG_CONFIG @@ -279,17 +273,26 @@ src_configure() { --with-libc= --enable-loadable-sqlite-extensions --without-ensurepip + --without-lto --with-system-expat --with-platlibdir=lib --with-pkg-config=yes --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) - $(use_with lto) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") $(use_with valgrind) ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + # Force-disable modules we don't want built. # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. cat > Modules/Setup.local <<-EOF || die diff --git a/dev-lang/python/python-3.13.0_alpha2.ebuild b/dev-lang/python/python-3.13.0_alpha2.ebuild index b2364be2514c..e38ba4022735 100644 --- a/dev-lang/python/python-3.13.0_alpha2.ebuild +++ b/dev-lang/python/python-3.13.0_alpha2.ebuild @@ -29,7 +29,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" IUSE=" - bluetooth build debug +ensurepip examples gdbm libedit lto + bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind " RESTRICT="!test? ( test )" @@ -201,7 +201,6 @@ build_cbuild_python() { } src_configure() { - local disable # disable automagic bluetooth headers detection if ! use bluetooth; then local -x ac_cv_header_bluetooth_bluetooth_h=no @@ -210,11 +209,6 @@ src_configure() { append-flags -fwrapv filter-flags -malign-double - # https://bugs.gentoo.org/700012 - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. # PKG_CONFIG needed for cross. tc-export CXX PKG_CONFIG @@ -278,17 +272,26 @@ src_configure() { --with-libc= --enable-loadable-sqlite-extensions --without-ensurepip + --without-lto --with-system-expat --with-platlibdir=lib --with-pkg-config=yes --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) - $(use_with lto) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") $(use_with valgrind) ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + # Force-disable modules we don't want built. # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. cat > Modules/Setup.local <<-EOF || die diff --git a/dev-lang/python/python-3.8.18.ebuild b/dev-lang/python/python-3.8.18.ebuild index 1e4a02c073dd..80d2c90ecc14 100644 --- a/dev-lang/python/python-3.8.18.ebuild +++ b/dev-lang/python/python-3.8.18.ebuild @@ -30,7 +30,7 @@ LICENSE="PSF-2" SLOT="${PYVER}" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE=" - bluetooth build debug +ensurepip examples gdbm lto +ncurses pgo + bluetooth build debug +ensurepip examples gdbm +ncurses pgo +readline +sqlite +ssl test tk valgrind wininst +xml " RESTRICT="!test? ( test )" @@ -149,11 +149,6 @@ src_configure() { filter-flags -malign-double - # https://bugs.gentoo.org/700012 - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. # PKG_CONFIG needed for cross. tc-export CXX PKG_CONFIG @@ -178,6 +173,7 @@ src_configure() { --with-libc= --enable-loadable-sqlite-extensions --without-ensurepip + --without-lto --with-system-expat --with-system-ffi --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip @@ -189,6 +185,14 @@ src_configure() { # disable implicit optimization/debugging flags local -x OPT= + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + if tc-is-cross-compiler ; then # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) diff --git a/dev-lang/python/python-3.9.18.ebuild b/dev-lang/python/python-3.9.18.ebuild index fcc54a9be7e6..9edf94c8ead2 100644 --- a/dev-lang/python/python-3.9.18.ebuild +++ b/dev-lang/python/python-3.9.18.ebuild @@ -30,7 +30,7 @@ LICENSE="PSF-2" SLOT="${PYVER}" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE=" - bluetooth build debug +ensurepip examples gdbm lto +ncurses pgo + bluetooth build debug +ensurepip examples gdbm +ncurses pgo +readline +sqlite +ssl test tk valgrind +xml " RESTRICT="!test? ( test )" @@ -156,11 +156,6 @@ src_configure() { append-flags -fwrapv filter-flags -malign-double - # https://bugs.gentoo.org/700012 - if is-flagq -flto || is-flagq '-flto=*'; then - append-cflags $(test-flags-CC -ffat-lto-objects) - fi - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. # PKG_CONFIG needed for cross. tc-export CXX PKG_CONFIG @@ -218,12 +213,12 @@ src_configure() { --with-libc= --enable-loadable-sqlite-extensions --without-ensurepip + --without-lto --with-system-expat --with-system-ffi --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) - $(use_with lto) $(use_enable pgo optimizations) $(use_with valgrind) ) @@ -231,6 +226,14 @@ src_configure() { # disable implicit optimization/debugging flags local -x OPT= + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + if tc-is-cross-compiler ; then # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index c6f938fed9dd..342c83b90335 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -13,10 +13,12 @@ AUX 3.2/901-musl-stacksize.patch 749 BLAKE2B 422d53ef7fc1e76bd7466ff67da7cefd366 AUX 3.2/902-hppa-pthread-stack-size.patch 1690 BLAKE2B 84c8478a69e108c68f96eeb0f36b1f94e069193ce124c0ca5c6143c0c9a2f0c62c7927a1a61a85270f449d03b4c6f5bd735e02ce1da1df0749602e655f177778 SHA512 d871b1c0a5d58bb197def0e00310e38fc145520dbbd1245079b2ebab0f89878f21a22f27c388fe2a7557244db28f0acb97edddf9bdf4adbeb00327e01c5215a6 DIST ruby-3.1.4.tar.xz 15316604 BLAKE2B 5d771c267451c05ae192991976957d43d1131e652ac5a90a8dfff9deba97cf6b139d0113f5d2ed44225a545aa79a1c732555de1efc83d1010d097ec35f7e92dd SHA512 a627bb629a10750b8b2081ad451a41faea0fc85d95aa1e267e3d2a0f56a35bb58195d4a8d13bbdbd82f4197a96dae22b1cee1dfc83861ec33a67ece07aef5633 DIST ruby-3.2.2.tar.xz 15118856 BLAKE2B 8e09fb0f6808d4572f86ea190db4f4b950ff3a13391bf7bc3e515b6d14f356d3f7c1eb5bbbe2de460ef78edee54462fdf9be56722cd9e27a613febfe45f8c40a SHA512 a29f24cd80f563f6368952d06d6273f7241a409fa9ab2f60e03dde2ac58ca06bee1750715b6134caebf4c061d3503446dc37a6059e19860bb0010eef34951935 +DIST ruby-3.3.0.tar.xz 16345456 BLAKE2B 09ef6fb4b2768118207e7a9ece17c5c62c9f596b1c13ac6199245889fcc5d25f03336831ec3bf1367a460a8a26c4426c32bcd576b0da8bdafc90301032b4d2f0 SHA512 7959c5753bfa0bfc4d6d74060869aabbe9815c1c97930659da11b917ee0803ddbbd80e869e00c48b8694b4ba48709c3b6493fd045568e36e902616c35ababf01 EBUILD ruby-3.1.4-r3.ebuild 8382 BLAKE2B b90dc380e43c01ba79a004bb56602c400e8212bd6783e32190ee2e72b443f93aff6995a1862013b0d811d737674a9414de32f7b2212e1f4f312593887bc7c804 SHA512 3b0d0071fcbf6b7cf109941473baab45b3806549e994d7d0b3ebd584f3c00e460f6c088612888526ba3fc01577f702af27a94e9531fec43e7bc05ec9c1862e6f EBUILD ruby-3.1.4-r4.ebuild 8488 BLAKE2B e0511ed042d4766bf308d4b2d9f79440baed8f631144b2d097e31262d1a74679d6ca72022b709a54a982fc8472efacb5dbe85e126e8ea455705b9927b170b4fb SHA512 565c14fe39bf6f9defda744e5b5fc4e69e27cfbe46d6ae489de1dbc123668785918004a2c686361c0869bb14a79cb5db7641fd7152d75d9427b01c765961376a EBUILD ruby-3.1.4-r5.ebuild 8534 BLAKE2B ef18bfa8eac38a08a2f6a4d9ce7b2c5ef21f5f59f731c7696938551ddad3bed86b914c9005b284d123af3cb04ca0f83c26300d371397e237500f562f52f7c6d6 SHA512 c2cc06af0bca8c82a3a9e3bc856a1722612eb04f614bd956fca523ca3786f6600acd5c1e9c459bc57feaf4f3d48de8538b2ae7954d7ab429a6bbde4ffd347bc8 EBUILD ruby-3.2.2-r3.ebuild 9360 BLAKE2B 9b91782a1aa451ec2a28245552081c5f52fa4ab2f6beadf85522f0e9355ec8d3022e04dc148673e78c5b685b93d8506e1f5791113d94ec807004725e3c708b30 SHA512 ac9f05f450ab4d17c05d1d912a69560627232f5911382c927d93d66a30f50e73b9a500a303e17435b4157276680f46d7e91a92d1c7340e18fb0aa956f0f4f69c EBUILD ruby-3.2.2-r4.ebuild 9357 BLAKE2B bec8805740106c629c94eb7255b7b98661e6ed661e6207833bf2c3152ef6364250d242aa701c525804cbe7328454f00f37a2563c082474e8d10bd660d8dbeb79 SHA512 8e2e566e8d5be6b75ceb4e2aa1b8d6a5d4cf331d377541505a7a06f1415ad3b20e0be69014a3f9a5129aee7c61a5c6ae4ee507982af5cbd694f46ebb1220165a EBUILD ruby-3.2.2-r5.ebuild 9403 BLAKE2B 00dde8a11fa4b35f8bbe1dcf585465120d5637eeee531ce34447dac819d7c2bbc7bc24bb3d5da855606af046f03bbffab7423755ce7b0e5a766476c1d0614743 SHA512 e7d5f5922cc5b0f51919ae01e302bb6a265804aa7bbb8aa24c45d2b2e4af6a2467a521198ebcc2ae97736043600af4708bf10aef6867eacd292f77bff81df315 +EBUILD ruby-3.3.0.ebuild 9389 BLAKE2B 204876f815b1c60146a8dc8552d7a12f415229ed0a94aeca03b7bed7c51ccade39f031bcddf75a0a3ff696446711f280ec68a1480342851de81725e8240452f3 SHA512 0a3d4ad0b3d4556cdcebe0c9cd32a2b1755ecdaba80e3a61b200e73f6e192313e92f122c083d53edb404816ce31c2ff575b3abc2110df9beead658869501527d MISC metadata.xml 504 BLAKE2B ca7743b107a6825dd029e0798cf1b0d048e3ce730382245565692e9242d09553db2c09edd1d09195602d9d96167c8606f3e7ddd5a27e1473eb9e4fbbc9074d1d SHA512 c2cf0a52fe03067cc09edc660d981af2465e4a733e53ad601d0e6377fa61072a60be4ec916cae94023328600e52a29f18621b47e839bddc897fa00db44feb9b1 diff --git a/dev-lang/ruby/ruby-3.3.0.ebuild b/dev-lang/ruby/ruby-3.3.0.ebuild new file mode 100644 index 000000000000..f8b4271dfb6b --- /dev/null +++ b/dev-lang/ruby/ruby-3.3.0.ebuild @@ -0,0 +1,295 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic multiprocessing + +MY_P="${PN}-$(ver_cut 1-3)" +S=${WORKDIR}/${MY_P} + +SLOT=$(ver_cut 1-2) +MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) +RUBYVERSION=${SLOT}.0 + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="https://www.ruby-lang.org/" +SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" + +LICENSE="|| ( Ruby-BSD BSD-2 )" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( >=virtual/rust-1.58.1 ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-util/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231226 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-util/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/debug-1.9.1[ruby_targets_ruby33(-)] + >=dev-ruby/irb-1.11.0[ruby_targets_ruby33(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby33(-)] + >=dev-ruby/minitest-5.20.0[ruby_targets_ruby33(-)] + >=dev-ruby/net-ftp-0.3.3[ruby_targets_ruby33(-)] + >=dev-ruby/net-imap-0.4.9[ruby_targets_ruby33(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)] + >=dev-ruby/net-smtp-0.4.0[ruby_targets_ruby33(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby33(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby33(-)] + >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)] + >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)] + >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)] + >=dev-ruby/rexml-3.2.6[ruby_targets_ruby33(-)] + >=dev-ruby/rss-0.3.0[ruby_targets_ruby33(-)] + >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)] + >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby33(-)] + >=dev-ruby/bundler-2.5.3[ruby_targets_ruby33(-)] + >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)] + >=dev-ruby/json-2.7.1[ruby_targets_ruby33(-)] + >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + + # Avoid the irb default gemspec since we will install the normal gem + # instead. This avoids a file collision with dev-ruby/irb. + rm lib/irb/irb.gemspec || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \ + spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Avoid test using the system ruby + sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die + sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + + if [[ ${CHOST} == *darwin* ]] ; then + # avoid symlink loop on Darwin (?!) + sed -i \ + -e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \ + configure.ac || die + + # make ar/libtool hack for Darwin work + sed -i \ + -e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \ + configure.ac || die + + # disable using security framework (GCC barfs on those headers) + sed -i \ + -e 's/MAC_OS_X_VERSION_MIN_REQUIRED/_DISABLED_/' \ + random.c || die + fi + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # ipv6 hack, bug 168939. Needs --enable-ipv6. + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" + + # Determine which modules *not* to build depending in the USE flags. + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + fi + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + --enable-ipv6 \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + ${myconf} \ + $(use_with valgrind) \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + export LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + export LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + if [[ ${CHOST} == *darwin* ]] ; then + DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}" + export DYLD_LIBRARY_PATH + fi + + RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + export LD_LIBRARY_PATH RUBYLIB + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md README* + dodoc -r doc +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} -- cgit v1.2.3