From c218398bbbe70a616790cf146c28c1066b9284bf Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 9 Jul 2024 12:24:59 +0100 Subject: gentoo auto-resync : 09:07:2024 - 12:24:58 --- dev-lang/Manifest.gz | Bin 21969 -> 21973 bytes dev-lang/crystal/Manifest | 2 +- dev-lang/crystal/crystal-1.12.2.ebuild | 2 +- dev-lang/haxe/Manifest | 4 +- dev-lang/haxe/haxe-4.3.3.ebuild | 67 -------- dev-lang/haxe/haxe-4.3.4.ebuild | 2 +- dev-lang/jint/Manifest | 2 +- dev-lang/jint/jint-3.1.2.ebuild | 9 +- dev-lang/mond/Manifest | 2 +- dev-lang/mond/mond-0.10.2.ebuild | 2 +- dev-lang/ruby/Manifest | 8 +- dev-lang/ruby/ruby-3.3.0-r2.ebuild | 294 -------------------------------- dev-lang/ruby/ruby-3.3.1.ebuild | 293 -------------------------------- dev-lang/ruby/ruby-3.3.3.ebuild | 294 -------------------------------- dev-lang/ruby/ruby-3.3.4.ebuild | 297 +++++++++++++++++++++++++++++++++ 15 files changed, 314 insertions(+), 964 deletions(-) delete mode 100644 dev-lang/haxe/haxe-4.3.3.ebuild delete mode 100644 dev-lang/ruby/ruby-3.3.0-r2.ebuild delete mode 100644 dev-lang/ruby/ruby-3.3.1.ebuild delete mode 100644 dev-lang/ruby/ruby-3.3.3.ebuild create mode 100644 dev-lang/ruby/ruby-3.3.4.ebuild (limited to 'dev-lang') diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz index 136739ed4442..5dd8b4f1e05c 100644 Binary files a/dev-lang/Manifest.gz and b/dev-lang/Manifest.gz differ diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest index 9adb78913b5d..a41006205d03 100644 --- a/dev-lang/crystal/Manifest +++ b/dev-lang/crystal/Manifest @@ -6,5 +6,5 @@ DIST crystal-1.12.1.tar.gz 3657963 BLAKE2B 42cf32dca63a2bdd2925b4970e2277cb163dd DIST crystal-1.12.2-1-linux-x86_64.tar.gz 47042270 BLAKE2B 17c29658fba1e32eafc0716f34d96f080b8500ef81d573719a3944873fbd16521ef2e3c0b6f3ea2753f67e96fe6cbf361df03233aa9e3eea19b87850b8d38089 SHA512 33d40b003481f56c1a3dcefb586e45326629455faad0adc6fce60f4fe91b586f01f997665aa535286b6909b5a4e0c05db3577b3eb8b36f6864f80d576ddd1d39 DIST crystal-1.12.2.tar.gz 3655994 BLAKE2B d5de81445e3e81352ae821cdf91863464f70466674f541e2b9e499610e0d68b4aac3af6e2688870be8b2ccd84c9da78734e0e8f5f8be070192bd7d7342d77853 SHA512 b972015fa17da19bcb649a4e0387e709b4a792c8e9279898e48fb82f8840e92f35492df9cce1ec2487724ee460d3ab9099144f6bd25a091a725578ec3fb0fbd6 EBUILD crystal-1.12.1.ebuild 2629 BLAKE2B f3f307224f2c46fd96ed84663102894fa340db5976fbf2eecaa9a2f6dae13aaa2b866fff42fe8c3a7790c5672422894d79da78565742ab309bb5936bed537f0f SHA512 eb084e916cddcf5c8f4d555ab5a9f4efc236247d6824a892da68567f3869f092e1db72bcc43703e285d4a64f7ea07818dfb5d2c26dfed3a955067dbddbb712e2 -EBUILD crystal-1.12.2.ebuild 2630 BLAKE2B a940cead1eedbe0926149c7d5daa3e34ab61a98bc8fe4f07df56e66759e2bb107fca49e1e28c0038cb1e7d05e8d6323b427c30fbdd8ed5d41345ccd79aa0b447 SHA512 155a50c6af61b0ab13affaf29d02f2e7fbf81ebfae900e622a777133020452f8d9356688fe7e7bb11eaac946b05a2a0cbad25cf4662f63d3f29e6f53dc67c63e +EBUILD crystal-1.12.2.ebuild 2629 BLAKE2B f3f307224f2c46fd96ed84663102894fa340db5976fbf2eecaa9a2f6dae13aaa2b866fff42fe8c3a7790c5672422894d79da78565742ab309bb5936bed537f0f SHA512 eb084e916cddcf5c8f4d555ab5a9f4efc236247d6824a892da68567f3869f092e1db72bcc43703e285d4a64f7ea07818dfb5d2c26dfed3a955067dbddbb712e2 MISC metadata.xml 762 BLAKE2B 591f38c882318a6564501cc61abe6222264b65adeaffaf3b23d959ee86b83bae33eaf99029229705f92070fa539fd6d63d8242afc38475904483a9a0b997effd SHA512 ea223d568a3c336a43b183efc61bd1f1a9d1e5e0e8d963275e0b23ee879551bc7d8aae797b1e2edba49d119ad306692599eb535c5d164ebee0c6721dfeab78dc diff --git a/dev-lang/crystal/crystal-1.12.2.ebuild b/dev-lang/crystal/crystal-1.12.2.ebuild index 02631f5f838f..92f5bc42f945 100644 --- a/dev-lang/crystal/crystal-1.12.2.ebuild +++ b/dev-lang/crystal/crystal-1.12.2.ebuild @@ -23,7 +23,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="doc debug llvm-libunwind" # Upstream test suite not reliable diff --git a/dev-lang/haxe/Manifest b/dev-lang/haxe/Manifest index 8e608c1b01d1..db34448015e4 100644 --- a/dev-lang/haxe/Manifest +++ b/dev-lang/haxe/Manifest @@ -1,5 +1,3 @@ -DIST haxe-4.3.3.tar.gz 8405617 BLAKE2B 0c27eafd6af0615b47de8a7bdbff25fe15d8bbf80525ede273a4a430cedde6f0d6c9871ae581e2a7e8a87b56862f0c1b9f6f862a7cbfb68ac943ccbc3ae36878 SHA512 fea25ae2ba7433e2f39faae8e05538419e5dfbc519315c8e91b84a2d0a7c9e2ed380b92b21c23ff597797311cbb7a15276b5f4623fb65c6e3d4d8cc801a74e23 DIST haxe-4.3.4.tar.gz 8409775 BLAKE2B 929797d71c23724c08c85957be8b39d6802d35990f70a85f8f7c309fa4505dae2b4b24e881ea8f55b02d68af4eb5fb7956c2562cdc5a8f201925a3029bd2cafd SHA512 77f08d5ecd2f0d08d4f44f186120a3f72eb51c712116d50d524f116d981b28fec4e5a03ef0d7c84bf0451caac76a37d642841202d01822cbb5f08981f12998ec -EBUILD haxe-4.3.3.ebuild 1324 BLAKE2B 6ec3a1bddb8a1ef1c5e5774346932f1817c748eed300e267c493bfe44149800427e688e4c3d46ef99d39953cebdec289b9f5ef35eb5086e0f7629c3f8cf3c117 SHA512 2fc4029a965872fdb0fc06805cb272838bfa9788adfcb17b446c10341c6c1242522dcc23d97023b6ed44629b61dc2458abe05003d3f20d1a45a2fdf90a644164 -EBUILD haxe-4.3.4.ebuild 1357 BLAKE2B 30c146830340437c87ea1859b297cb40fad62d81d69a11a06f7b4123255b068648f53e33de0d1df2ad7819a1b9a47fab662c28fc3c7b9362028be617ce940e6b SHA512 f71d9bd74a380e755504f80cb9c270fe7ad4766eb7ad8676880f1cf528b951fe0eb9c7835a3f8336a856a51a190597fa70f5d42fcda806ec8f06d4fccd0a9518 +EBUILD haxe-4.3.4.ebuild 1357 BLAKE2B 8aceead965bade611912317c79ff3d1951c8e715d5aa8af6c30ba7df661b3a8a5fd1cdb0ada60ec2b5dfdecd8c57e032646a8e389b6919735b11525d36f11aee SHA512 927cdfd6f6664c86efc860cabc36c267e0caa53665211cbc990a24a07c0a9a4aa69cf8480ca82fddb2980cf187c6b013ae473a7b5633db05678f930924194a1c MISC metadata.xml 733 BLAKE2B 293f296fd51f93d0834ba3f9ad2815161313f2ee7fcc5ebb68f20090e76fd67b4845114c4c78959cd13d64146e9221d001e0be76b65323d1d5b3cf934085a1ec SHA512 6dd648666a0916f27edc70e637e426e03790d4fd50a43fd2696b62c69cdf0f8b1c831fd8dca03db844209a0a23952c5dc1bc1b929b42928f6608288f470f8399 diff --git a/dev-lang/haxe/haxe-4.3.3.ebuild b/dev-lang/haxe/haxe-4.3.3.ebuild deleted file mode 100644 index c0dfcd532325..000000000000 --- a/dev-lang/haxe/haxe-4.3.3.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Multi-target universal programming language" -HOMEPAGE="https://haxe.org/ - https://github.com/HaxeFoundation/haxe/" - -if [[ "${PV}" == *9999* ]] ; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/HaxeFoundation/haxe.git" -else - # Haxe-debian already contains correct git modules - SRC_URI="https://github.com/HaxeFoundation/haxe-debian/archive/upstream/${PV}.tar.gz - -> ${P}.tar.gz" - S="${WORKDIR}/haxe-debian-upstream-${PV}" - - KEYWORDS="~amd64" -fi - -LICENSE="GPL-2+ MIT" -SLOT="0/${PV}" -IUSE="+ocamlopt" -RESTRICT="strip" - -RDEPEND=" - >=dev-lang/ocaml-4:=[ocamlopt?] - >=dev-ml/luv-0.5.12:= - dev-ml/extlib:= - dev-ml/ocaml-sha:= - dev-ml/ptmap:= - dev-ml/sedlex:= - dev-ml/xml-light:= - - dev-lang/neko:= - dev-libs/boehm-gc:= - dev-libs/libpcre:= - net-libs/mbedtls:= - sys-libs/zlib:= -" -DEPEND=" - ${RDEPEND} -" -BDEPEND=" - dev-ml/camlp5 - dev-ml/dune - dev-ml/findlib -" - -QA_FLAGS_IGNORED="usr/bin/haxelib" -QA_PRESTRIPPED="usr/bin/haxelib" - -src_configure() { - export OCAMLOPT="$(usex ocamlopt ocamlopt.opt ocamlopt)" -} - -src_compile() { - emake -j1 BRANCH="" COMMIT_DATE="" COMMIT_SHA="" \ - OCAMLOPT="${OCAMLOPT}" INSTALL_DIR=/usr -} - -src_install() { - emake DESTDIR="${D}" INSTALL_DIR=/usr install - dodoc *.md -} diff --git a/dev-lang/haxe/haxe-4.3.4.ebuild b/dev-lang/haxe/haxe-4.3.4.ebuild index 776b27a6ebe6..71558710fc5d 100644 --- a/dev-lang/haxe/haxe-4.3.4.ebuild +++ b/dev-lang/haxe/haxe-4.3.4.ebuild @@ -12,7 +12,7 @@ if [[ "${PV}" == *9999* ]] ; then EGIT_REPO_URI="https://github.com/HaxeFoundation/haxe.git" else - # Haxe-debian is a distribution variant then contains the required git modules. + # Haxe-debian is a distribution variant that contains the required git modules. SRC_URI="https://github.com/HaxeFoundation/haxe-debian/archive/upstream/${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/haxe-debian-upstream-${PV}" diff --git a/dev-lang/jint/Manifest b/dev-lang/jint/Manifest index 276de5ea5ba3..30827d9013e7 100644 --- a/dev-lang/jint/Manifest +++ b/dev-lang/jint/Manifest @@ -240,5 +240,5 @@ DIST zio.0.17.0.nupkg 335432 BLAKE2B 286e7a38be2ca5803db0af388eb445ed2ab54d4c4f3 DIST zstring.2.4.4.nupkg 136907 BLAKE2B 651ce26395f16eaeff89faa54156e19dc6110821f1e303b8850e8c66fd7b1cd88843959f82f4a12c3b50a39f2b8b6aa264dc5036c74f82f8411a02ed5cca603c SHA512 6ce8bcdab38bc33aee80f3924fc8b34e83f761b835802d9aeb53ddf23f6299115c9f8c7e28212e40b16439bbb975485c97f84005f44708f00b55a3e0afe83418 DIST zstring.2.5.1.nupkg 308844 BLAKE2B 9f7c504edffcd29cbe8b0e9146d2f63d6c1974a96de7fe4b929011bde99b1d02cb97c4c55a9a84fe7c560146994b792eb3eed5883cb046928522c1cc05664707 SHA512 3e2a6a5ef52291936053ee5ecb4ed009ce6783b44f2ee0eb5ba13a15d404c112658576242a77503f58ae95b95903fa5e396731f3c1463163fe446889376538c8 EBUILD jint-3.0.0_beta2051.ebuild 8376 BLAKE2B 8f7b997d47936badecee1324d58b7f0d288467eb5aab8080ea3514e373d1b3f5def71b8691ae9860bfec60ec26bec60da2cb0d0bfea283b8de34a31fe3060c76 SHA512 c72ff85942a695391dfcc5bf50feb7b5b4d885cf8cf9e92d90e7b71a83a93a87808373a60c0714cc81fb362707d4f03b2c52d9d01185a9b80b07769d30ac5e6d -EBUILD jint-3.1.2.ebuild 4873 BLAKE2B cbd5b9919128039f4b47f784e131ef66c0e666b3cab1b448f2b440bcfcc53a8ad2b8fe5da5f63ad3b1a4100f588e1acca389cced2d451d010b2ec78f429f0989 SHA512 d0458b7108dc35a012942018f4986f814420db28b00be270f2f313952882d5074afbd7cfe94ddc1a3bd015cb6eb0dc6e729647cbdf19bbc623289f713db82808 +EBUILD jint-3.1.2.ebuild 5049 BLAKE2B 870fc4e84b375f00001d41f13848c700022e3e705f003752785f0cecd4a580980c04c075075a78253ad66fee945eb62abaf3d68ac89c68a90f99ab4cfb1c8f3e SHA512 1a04976a55ce497e421cad421b8c644f783c34bd7a9b6467576634e3a5213cb74ddf953ce3936371c7b3b98e24086cb3af9e640ec66682f0c6d085a446c6d1e3 MISC metadata.xml 594 BLAKE2B fdf520219d0c6a8f2b2c497f17f3cd09bf56135d4338bed3e154b4661d54cbe793127f260a4d440e495603544bfc3c39ad54fb65996360eb512b791e4a90014f SHA512 0edf6ed324f9a9efc811bd3992ef5d6beebcc32ea4e9c320e15c60321dd177db39bcca60f372ebf165677534cc010f14616fab0c6c13cd07818cc72b0e88525f diff --git a/dev-lang/jint/jint-3.1.2.ebuild b/dev-lang/jint/jint-3.1.2.ebuild index 50ce529b01fc..c48e169e3f5e 100644 --- a/dev-lang/jint/jint-3.1.2.ebuild +++ b/dev-lang/jint/jint-3.1.2.ebuild @@ -143,7 +143,7 @@ else SRC_URI="https://github.com/sebastienros/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" + KEYWORDS="amd64" fi SRC_URI+=" ${NUGET_URIS} " @@ -164,6 +164,13 @@ pkg_setup() { dotnet-pkg_pkg_setup } +src_prepare() { + dotnet-pkg_src_prepare + + # Those files do not exist on musl. See bug https://bugs.gentoo.org/935450 + rm Jint.Tests.PublicInterface/TimeSystemTests.cs || die +} + src_install() { dotnet-pkg-base_install dotnet-pkg-base_dolauncher "/usr/share/${P}/Jint.Repl" "${PN}" diff --git a/dev-lang/mond/Manifest b/dev-lang/mond/Manifest index fba4afac4e52..227baa77377f 100644 --- a/dev-lang/mond/Manifest +++ b/dev-lang/mond/Manifest @@ -55,5 +55,5 @@ DIST system.text.encodings.web.8.0.0.nupkg 374440 BLAKE2B 97211e710df3dcd17932f1 DIST system.text.json.8.0.0.nupkg 1983421 BLAKE2B 053f3200d5920a5a31b4e4e6d13f0a81490a518ed68363a1a04c1edbbc125f90b9fa8f469614127bde714df352052a0dc56d70c9595277686799d33a16df351b SHA512 59243516d9de8ce90be60d6c5d271ff4c5fc6b2a4b723443022a72bd1b8f98adac3d17439df5543fedead81a8e3b018fd9a89c40a2459d3cb2d1dd935d17b426 DIST system.threading.tasks.extensions.4.5.4.nupkg 89582 BLAKE2B 728fc5794745b706a7e3a7d05186f34e2a8c1837cafdc7fc9a1bd8fc6fd42025448cbdfa53415a05d872aa08db1deb31d104054630c9ac7ecd29a2ddd973fd5c SHA512 68052086e77d3c7198737a3da163d67740b7c44f93250c39659b3bf21b6547a9abf64cbf40481f5c78f24361af3aaf47d52d188b371554a0928a7f7665c1fc14 EBUILD mond-0.10.0.ebuild 2982 BLAKE2B ae1c4a8999fb5ae0e1b96d4b0c34589f781891909bee201c1bdfd37ffdfc3dd1c01ccd0d87318f66f5e9d35dcee56dd64d7e0e5f8445de7743a161d20f8d9255 SHA512 9a505ac1253e8ab61d9f8e28b7566210278639c3e56f4e95c2ee3a8952ee29f733cd38445017f3cdd745fdc5a6becf81b7877797fbc5dae145d355893eeabe45 -EBUILD mond-0.10.2.ebuild 2982 BLAKE2B be476658b2800b1acd77e88ae7d5448486e7e0da5ede969a5ecd0eef397d849da49cc7c678348200adc4b80a087096243b0c3e1eabfeb2ba6d86f83af75d4860 SHA512 1868e0d954292be5235921d69efdbbd2985a9b70f622c5cdc35f72b2617ec5168a4fcfe6338c631a2fee929ead596cf058ebdc71fff9f96649cd59b2353bdf1f +EBUILD mond-0.10.2.ebuild 2981 BLAKE2B 7ed3fafba2b8df8930fff47373247d2416369d47fe29ef7e2a507b7312638b70b2394959af03a634162cfe1ea225b9c46eeac62d8c99723d6400e9110beb18d1 SHA512 626b23630e5643d71eaaa680ef25d55a457ca27780d07088bf7c77b28b524be4556a37e03907143b086b018742b4ddd09112e1787c70fb5e7502d51da6c1e85c MISC metadata.xml 407 BLAKE2B c23e1813bba6b1e7beb547a075e0b283941571270493902195fd370854963ad07e1a6e30673dc7733b542d02839d84aa6f554d806aa0e8021d44570b655ca1fd SHA512 ff0fa87463543a559675a8397a7c1dceea2b59faa76435569cb996ad43ad123d2c5272642a73a35f4c7a132b8a3cb6bff6bc5a1114bf62887ef2f0461967eb5f diff --git a/dev-lang/mond/mond-0.10.2.ebuild b/dev-lang/mond/mond-0.10.2.ebuild index 339abf525b27..348ae9379c44 100644 --- a/dev-lang/mond/mond-0.10.2.ebuild +++ b/dev-lang/mond/mond-0.10.2.ebuild @@ -76,7 +76,7 @@ else -> ${P}.tar.gz" S="${WORKDIR}/${P^}" - KEYWORDS="~amd64" + KEYWORDS="amd64" fi SRC_URI+=" ${NUGET_URIS} " diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index 4d61e1f46293..888388002424 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -22,18 +22,14 @@ DIST ruby-3.1.5.tar.xz 15293020 BLAKE2B 5d886f45f2a27dbe7682f5afc234d4992ffc5006 DIST ruby-3.1.6.tar.xz 15273916 BLAKE2B feb697b8d01ebde0042e679b814c4c95481c6afa607db46ad1511fb0d1a555d7800725e847e90dd9944ef42575c5205cf711025a165a65b6070743701631929c SHA512 a3159648706d6d11ce9613201141e884b3accc69bf928c756de8a8f2b71d219886e91435d30cf2c30e85af31f87801138e10106344766100f1b80662c7244652 DIST ruby-3.2.3.tar.xz 15163960 BLAKE2B e2cfa215b2cb910bac5f3b58edcdece91b21ffcfb6b4c183eec0c8502c320b78e7a8732c393b6e6a38dc9cfd81e129c00562d9be45f0deb36306ac81f96dcdc1 SHA512 d2a1897c2f4e801a28acb869322abfee76775115016252cecad90639485ed51deda1446cb16edb387f10a2e188602d646ef9b008b57f27bd745071277c535f3b DIST ruby-3.2.4.tar.xz 15175656 BLAKE2B 9c2300a958b03528d51f0d74a069c8c538ca4009835d55377509a000bcfb43893a8a80d8fda57011e77c72e6283cb259281d5ba7b37444546e49f2a9ad515cf3 SHA512 fb0af37be4b6ad7b98ab9f8a508952238ee68b5828e3926331e4db52e2ebc1e6046f31114069322db0cd3bea7c9b82ace91c8564573ddcfa1f960877b237dbff -DIST ruby-3.3.0.tar.xz 16345456 BLAKE2B 09ef6fb4b2768118207e7a9ece17c5c62c9f596b1c13ac6199245889fcc5d25f03336831ec3bf1367a460a8a26c4426c32bcd576b0da8bdafc90301032b4d2f0 SHA512 7959c5753bfa0bfc4d6d74060869aabbe9815c1c97930659da11b917ee0803ddbbd80e869e00c48b8694b4ba48709c3b6493fd045568e36e902616c35ababf01 -DIST ruby-3.3.1.tar.xz 16350792 BLAKE2B f3591d2420edd8c1d5b365d1442fcc07c014e402478dce01a80b81c16c3c7083bcd3e9e9aa0f8d586cd482f0f18eb64ad813ea31755f5d12b137ce03b1a0fa4c SHA512 c58e9be9b5ab48191fbf7d67e13f0ec42ee71ed338170e0f7b246708e9cfc617ce65098f5ce7ab32d4305e785642d3e44253462104d5b9c4abcb1a4113f48347 DIST ruby-3.3.2.tar.xz 16349500 BLAKE2B 2a474df10363555e8f0b9ad73bb854ad34f3d1485b8bdde833c999b20bc2c17282d2097d887d10f454bbd4dfdf08f04bb644a7e41d0b4a0ff0e9eb144339b5e8 SHA512 70dd8eb933956f894c52a8ede42e8ee74ff0e062bd8134a0bfb6bffc83a2848a658b62c8df5530b4dd64087b2d5373909c48917528facb1e6f4e99e79b6ad449 -DIST ruby-3.3.3.tar.xz 16361160 BLAKE2B e1dbb8f0d5de4b2d7efe3f68c1ea7f28e4fac19dcd9d6d5e301e5c565474958a916ea5f21ef2ce0d741d4d9c45a546dd3d00b3ca3d1eccfaf61f20eba3c871a7 SHA512 27dcae604e6613e1eaa20c6a75ee88b970bb0dd584d9bc0c021ad8da4340858e3c2e874ac841fcca0b0444a0c0146c4650d2d22bac3c9e12853533c37255f8f1 +DIST ruby-3.3.4.tar.xz 16366580 BLAKE2B e10b81ad7838e3d443ce0b12b8372faebb001f00a32dc0fa1f5e37c46baae99ea714e7f2a8741f0294255312030e844f32fc5d1c3695545cf8303e85b3255f21 SHA512 b26461a13ff82a08a282f10108028bb2a2e4a28da6182a291062fc54089c6655d79c22cc69d59156f9b11cb10a17fe8c69d489343fbae123a45f03361b95c9eb EBUILD ruby-3.1.4-r3.ebuild 8352 BLAKE2B f3a592bd500c5319ca351544666a87446ad794158e3271076b8bcbec1e827ab8d9f7e70e1a0c4548e203d3a758a29e0d790285ff48d99b69816c6107d0d03bdf SHA512 e191ef30979b3fb967379345474609382629e555040b388c92fe54e45b3afd097b1e7c9f4bbbf611b740d799cd1c26973a6aec60dcc35c54c9182f3911a47485 EBUILD ruby-3.1.4-r5.ebuild 8504 BLAKE2B 2ee7c9aef7c65d9601cd31918addaa7a42bf806d08237f75e894db1e564e6fc282892c2c517badf366cd0584debcb51d0c754353af656d26bdc94389d5ea7e01 SHA512 1fb62ce8b8fc7288a954abe23af104ce7bc9124c157f4dcf68fd499d7f103bc8b396fdb5089431b4cf7c76c9c7adabe11f3a4f9b172c1d12c14165ec2de8d306 EBUILD ruby-3.1.5.ebuild 8594 BLAKE2B ff11b93e3af50798d6080c62044650412b82d40d23e3875f907001babe2e5a5202dbeeb8fbc7d520fe720eaea2e4505dcc2133c7600d41362e2cee910d6e0dbb SHA512 339a1788ad60046dfb52bd5dd7aff0a07513e36d90c6004e5a0b084e038951bab3db1a4a965e43796a2e66069c12751bd6e237bf37022a542d3ab0543413c3e9 EBUILD ruby-3.1.6.ebuild 8801 BLAKE2B c1d6c9f691869e2c87018af75de136ea232d0538dac701ffa320308c5f22c658b9ef4ece7a14d60b6914cb3190c5bc62fcf851bf8f5691951134f56f0ab2baed SHA512 9026d13286ba7917138995f2b6198c67cfab4efd0065e7db441fb3bf39c4aea2441299806352ef0942c17af611ccb43f202bec5724177aa7172f49d0c558a3dd EBUILD ruby-3.2.3.ebuild 9534 BLAKE2B 8383353bf02c2abba8dcf67cbdffcc197d085fce1c961c56d0d493ccc840f0970efb105b916a28d590c6f6caff42e654651361f685bce545c969082981cbd25f SHA512 78f8270db8c06b960a84b03b20b31f3aacc455905637e8cf3e040724d1c39b43aac19e296205902cf6c958e5c64ed0843e6854ae9997e612598aea6b3965c6d0 EBUILD ruby-3.2.4.ebuild 9538 BLAKE2B 2b42ff228264ed57f4980463c3d79b533c4922cdd86ecb2b64cd11cd37e0b02a70c364f9105094d08fbdd944eb76f0345a7b797d4bbc278bfca01074b1721fe8 SHA512 4be33bbad246bf398660481977b7349bd5ae1f145d30610e337a319da8b1cd256c4294a1c2a52f472e9f7bea4bfee1f8eccb99d8a554e7c2a23ce78477c56a4c -EBUILD ruby-3.3.0-r2.ebuild 9312 BLAKE2B 547e2853e5a53f762d8ac6abb7c721ea3221d645d3717354d8c92059dd3417f71611e104b2c1c0fadbd14b86174312483e83768ebbd70fa787b423ce59deba9c SHA512 7e250ef083f3f5f5bcd12db3080eedbd99dc6d7033da8846306d0f4a4ce6763baaabbf25171d2b69830f69a52bbdbd3a11b31f3849af860e6b6d8001502ea97e -EBUILD ruby-3.3.1.ebuild 9269 BLAKE2B 3f9971414512fb66be404c5a7ed5553e8b581b5f19874d7ab733d5d6aad3cca489163764d3bc2aa81a6f5d2981026290e4a197cf4b3712218741b4aede3268ee SHA512 44419e0bac61f0e9215e4c131ede309b08ef3d021c476899c0adadf35d54d661e86beb75a5e80a95dc7915131b748823e9ea5b53af3f8bce6fb7ac11c178690c EBUILD ruby-3.3.2.ebuild 9269 BLAKE2B 3f9971414512fb66be404c5a7ed5553e8b581b5f19874d7ab733d5d6aad3cca489163764d3bc2aa81a6f5d2981026290e4a197cf4b3712218741b4aede3268ee SHA512 44419e0bac61f0e9215e4c131ede309b08ef3d021c476899c0adadf35d54d661e86beb75a5e80a95dc7915131b748823e9ea5b53af3f8bce6fb7ac11c178690c -EBUILD ruby-3.3.3.ebuild 9313 BLAKE2B 1c5b002f508615eb215373bdffcda1b3b9e31721dc4e84c8e26b89ee6d50ec9083d303a30693e7dc112023d2a8f1ef5c839aae138e2599718557874ed5a188d2 SHA512 9595ef7701534114468725f6c07558abd8e4144effdbfc160fd406c7a95d141a2d657285fef8ff48e25832715abe781aa91920522ab28e7d7f215e8b1284e383 +EBUILD ruby-3.3.4.ebuild 9418 BLAKE2B 0612c6301dfcc4df6b356d0ed64fc5a3350c7eb6fe9c4a5b4a621d97cadefa9e725cb147f069e864946617fc84714fd2195dc61848485222d6195bd4a66e8079 SHA512 c5ddd6b6e488b7638207c9a17d425c14b278a4597ec1b5e37c6aaa94bb88e574521add56da316bd6317aee03c7e0dadc7d6d5a5cb962605d7b2b7fad3ddecc12 MISC metadata.xml 504 BLAKE2B ca7743b107a6825dd029e0798cf1b0d048e3ce730382245565692e9242d09553db2c09edd1d09195602d9d96167c8606f3e7ddd5a27e1473eb9e4fbbc9074d1d SHA512 c2cf0a52fe03067cc09edc660d981af2465e4a733e53ad601d0e6377fa61072a60be4ec916cae94023328600e52a29f18621b47e839bddc897fa00db44feb9b1 diff --git a/dev-lang/ruby/ruby-3.3.0-r2.ebuild b/dev-lang/ruby/ruby-3.3.0-r2.ebuild deleted file mode 100644 index 73b25c63a53d..000000000000 --- a/dev-lang/ruby/ruby-3.3.0-r2.ebuild +++ /dev/null @@ -1,294 +0,0 @@ -# Copyright 1999-2024 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 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-debug/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-debug/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}"/011*.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 -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ - -i common.mk - - # Avoid test that fails intermittently - sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ - -i test/rubygems/test_gem_commands_exec_command.rb || 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 - - # 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) \ - $(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() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" -} - -src_test() { - local -x LD_LIBRARY_PATH="${S}${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) - - local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - - if [[ ${CHOST} == *darwin* ]] ; then - local -x DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}" - fi - - local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - for d in $(find "${S}/ext" -type d) ; do - RUBYLIB="${RUBYLIB}:$d" - done - - # 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 -} diff --git a/dev-lang/ruby/ruby-3.3.1.ebuild b/dev-lang/ruby/ruby-3.3.1.ebuild deleted file mode 100644 index 02b05be1c6ca..000000000000 --- a/dev-lang/ruby/ruby-3.3.1.ebuild +++ /dev/null @@ -1,293 +0,0 @@ -# Copyright 1999-2024 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 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-debug/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-debug/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 -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ - -i common.mk - - # Avoid test that fails intermittently - sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ - -i test/rubygems/test_gem_commands_exec_command.rb || 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 - - # 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) \ - $(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() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" -} - -src_test() { - local -x LD_LIBRARY_PATH="${S}${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) - - local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - - if [[ ${CHOST} == *darwin* ]] ; then - local -x DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}" - fi - - local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - for d in $(find "${S}/ext" -type d) ; do - RUBYLIB="${RUBYLIB}:$d" - done - - # 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 -} diff --git a/dev-lang/ruby/ruby-3.3.3.ebuild b/dev-lang/ruby/ruby-3.3.3.ebuild deleted file mode 100644 index 470d6f8bf570..000000000000 --- a/dev-lang/ruby/ruby-3.3.3.ebuild +++ /dev/null @@ -1,294 +0,0 @@ -# Copyright 1999-2024 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 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-debug/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-debug/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.8[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.11[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}"/012*.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 -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ - -i common.mk - - # Avoid test that fails intermittently - sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ - -i test/rubygems/test_gem_commands_exec_command.rb || 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 - - # 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) \ - $(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() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" -} - -src_test() { - local -x LD_LIBRARY_PATH="${S}${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) - - local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - - if [[ ${CHOST} == *darwin* ]] ; then - local -x DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}" - fi - - local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - for d in $(find "${S}/ext" -type d) ; do - RUBYLIB="${RUBYLIB}:$d" - done - - # 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 -} diff --git a/dev-lang/ruby/ruby-3.3.4.ebuild b/dev-lang/ruby/ruby-3.3.4.ebuild new file mode 100644 index 000000000000..60cae8156581 --- /dev/null +++ b/dev-lang/ruby/ruby-3.3.4.ebuild @@ -0,0 +1,297 @@ +# Copyright 1999-2024 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} + +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" + +SLOT=$(ver_cut 1-2) +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 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-debug/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-debug/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.8[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.11[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 -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ + -i common.mk + + # Avoid test that fails intermittently + sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ + -i test/rubygems/test_gem_commands_exec_command.rb || 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}" + + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + + # -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 + + # 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) \ + $(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() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${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) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + if [[ ${CHOST} == *darwin* ]] ; then + local -x DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}" + fi + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # 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