diff options
| author | root <root@alpha.trunkmasters.com> | 2026-09-12 20:06:40 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-09-12 20:06:40 -0500 |
| commit | 193236e34a32b643d816ed04394476eab7e04db7 (patch) | |
| tree | 8b608b17886179a6530935fc0531c7a89a51d1a0 /dev-lang | |
| parent | 9f2ba2858a177b1c2335b5b46428ee7cec08c288 (diff) | |
| download | baldeagleos-repo-193236e34a32b643d816ed04394476eab7e04db7.tar.gz baldeagleos-repo-193236e34a32b643d816ed04394476eab7e04db7.tar.xz baldeagleos-repo-193236e34a32b643d816ed04394476eab7e04db7.zip | |
Adding metadata
Diffstat (limited to 'dev-lang')
| -rw-r--r-- | dev-lang/algol68g/algol68g-3.13.3.ebuild | 2 | ||||
| -rw-r--r-- | dev-lang/closure-compiler-bin/Manifest | 3 | ||||
| -rw-r--r-- | dev-lang/closure-compiler-bin/closure-compiler-bin-20260726.ebuild | 50 | ||||
| -rw-r--r-- | dev-lang/closure-compiler-bin/closure-compiler-bin-20260818.ebuild | 2 | ||||
| -rw-r--r-- | dev-lang/closure-compiler-bin/closure-compiler-bin-20260909.ebuild (renamed from dev-lang/closure-compiler-bin/closure-compiler-bin-20260622.ebuild) | 2 | ||||
| -rw-r--r-- | dev-lang/kotlin-bin/Manifest | 2 | ||||
| -rw-r--r-- | dev-lang/kotlin-bin/kotlin-bin-2.4.20.ebuild (renamed from dev-lang/kotlin-bin/kotlin-bin-2.4.0.ebuild) | 3 | ||||
| -rw-r--r-- | dev-lang/oorexx/oorexx-5.3.0_beta13196.ebuild | 2 | ||||
| -rw-r--r-- | dev-lang/ruby/Manifest | 4 | ||||
| -rw-r--r-- | dev-lang/ruby/ruby-3.2.11.ebuild | 2 | ||||
| -rw-r--r-- | dev-lang/ruby/ruby-3.3.11.ebuild | 309 | ||||
| -rw-r--r-- | dev-lang/ruby/ruby-3.4.9.ebuild | 323 | ||||
| -rw-r--r-- | dev-lang/ruby/ruby-4.0.3-r1.ebuild | 359 | ||||
| -rw-r--r-- | dev-lang/ruby/ruby-4.0.4.ebuild | 358 |
14 files changed, 8 insertions, 1413 deletions
diff --git a/dev-lang/algol68g/algol68g-3.13.3.ebuild b/dev-lang/algol68g/algol68g-3.13.3.ebuild index 13d9ffd70a25..1a44712e3c36 100644 --- a/dev-lang/algol68g/algol68g-3.13.3.ebuild +++ b/dev-lang/algol68g/algol68g-3.13.3.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://algol68genie.nl/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~x86" IUSE="+curl +gsl +mpfr +ncurses plotutils postgres +readline" RDEPEND=" diff --git a/dev-lang/closure-compiler-bin/Manifest b/dev-lang/closure-compiler-bin/Manifest index 3bc391457508..c3f8e47d7341 100644 --- a/dev-lang/closure-compiler-bin/Manifest +++ b/dev-lang/closure-compiler-bin/Manifest @@ -1,3 +1,2 @@ -DIST closure-compiler-bin-20260622.maven.jar 14711148 BLAKE2B f67b273aada7fa218c1561565f6254bab9f5809d5bb816b447c60c73106f8b73d8989241444c0adee0d77e0eb5601babad9fba38bf829cba1d8236efc70ce951 SHA512 ddc9105f433a2782e05e4763f5a97293f9ab0a953604fd1eb789e7cafd9005ac9e04aef9410c7afa3197f3408a22a0191f59cae93d529d850d4323e9bf3a4963 -DIST closure-compiler-bin-20260726.maven.jar 14714265 BLAKE2B f7af2544ddbf5db8f6ab02382705585843f91418f2beac797c4644d3765e99d3a0a0f0e4f89a3bea94f9dc7f9cdbc583acd32e73e0dbbed4aab344c835264fa5 SHA512 e0fbca7fce9a24b1e2b304d3e05ac573d3165fc04eee57d46dfdbbe1113026be9228b3671e06879235ca6e572b2024c8755e6eec804f9af3c65c1894a3b938a1 DIST closure-compiler-bin-20260818.maven.jar 14946518 BLAKE2B 3837cc1ba0325946775c1b3769bf64d7155429c2f4047621279c12f5a952622e2bdda14d63980cfab0a0ad0fc882305a87a02465606ef167ea96001080d5143b SHA512 4c940e970c98c137c1fcf422ff1c947fb17956326b5f5ea83b30df791c655b58fe9a8cc0a59032a22e42b6b70d9b535818359d59aaa05de78344bd43e02eefd7 +DIST closure-compiler-bin-20260909.maven.jar 14976094 BLAKE2B 78bf7ecd8f0c3ea81847c870af1e038c7e5a9fe09b427b803628577612c99873160a114b9f05b61733896fc2952435235468cc9513081c23fadde6ffa322072b SHA512 82b2327b14c4b9fd496e02f08d464c23a1b6c9e5fab9fa506423519fa43052472c497f2a18836e8ac5a2b9e339a1fe230a893dd017fb8ce9bbe40b3f2bb03723 diff --git a/dev-lang/closure-compiler-bin/closure-compiler-bin-20260726.ebuild b/dev-lang/closure-compiler-bin/closure-compiler-bin-20260726.ebuild deleted file mode 100644 index 64ab03163b49..000000000000 --- a/dev-lang/closure-compiler-bin/closure-compiler-bin-20260726.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=9 - -inherit java-pkg-2 - -MY_PN="${PN%-bin}" -MY_P="${MY_PN}-v${PV}" - -DESCRIPTION="JavaScript optimizing compiler" -HOMEPAGE="https://developers.google.com/closure/compiler/ - https://github.com/google/closure-compiler/" - -MAVEN_REPO="https://repo1.maven.org/maven2" -SRC_URI=" - ${MAVEN_REPO}/com/google/javascript/${MY_PN}/v${PV}/${MY_P}.jar - -> ${P}.maven.jar -" -S="${WORKDIR}" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~x86" - -RDEPEND=" - >=virtual/jre-1.8:* -" - -src_unpack() { - : -} - -src_compile() { - : -} - -src_install() { - local jar_dir="/opt/${PN}-${SLOT}/lib" - - java-pkg_jarinto "${jar_dir}" - java-pkg_newjar "${DISTDIR}/${P}.maven.jar" "${PN}.jar" - - local -a dolauncher_opts=( - "${MY_PN}" - --jar "${jar_dir}/${PN}.jar" - -into /opt - ) - java-pkg_dolauncher "${dolauncher_opts[@]}" -} diff --git a/dev-lang/closure-compiler-bin/closure-compiler-bin-20260818.ebuild b/dev-lang/closure-compiler-bin/closure-compiler-bin-20260818.ebuild index c74c5fe90fac..64ab03163b49 100644 --- a/dev-lang/closure-compiler-bin/closure-compiler-bin-20260818.ebuild +++ b/dev-lang/closure-compiler-bin/closure-compiler-bin-20260818.ebuild @@ -21,7 +21,7 @@ S="${WORKDIR}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~x86" RDEPEND=" >=virtual/jre-1.8:* diff --git a/dev-lang/closure-compiler-bin/closure-compiler-bin-20260622.ebuild b/dev-lang/closure-compiler-bin/closure-compiler-bin-20260909.ebuild index 64ab03163b49..c74c5fe90fac 100644 --- a/dev-lang/closure-compiler-bin/closure-compiler-bin-20260622.ebuild +++ b/dev-lang/closure-compiler-bin/closure-compiler-bin-20260909.ebuild @@ -21,7 +21,7 @@ S="${WORKDIR}" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 ~x86" +KEYWORDS="~amd64 ~x86" RDEPEND=" >=virtual/jre-1.8:* diff --git a/dev-lang/kotlin-bin/Manifest b/dev-lang/kotlin-bin/Manifest index 437e39a9c33d..e9a198aeebe5 100644 --- a/dev-lang/kotlin-bin/Manifest +++ b/dev-lang/kotlin-bin/Manifest @@ -1,2 +1,2 @@ -DIST kotlin-compiler-2.4.0.zip 87073707 BLAKE2B 2e2aebf526e1fc4bcab2cb05cb68d095da8aec8cae67f10a2932210cbe6caca9b47f80f99ff3bfdb35a44407473d9ac2546fca75e17c2760ec4bed2e6ed6cb98 SHA512 ed9de5ef5fb1ce9d28b7e591ee1f79b5f660a50b77f08346375d3933f1163d91559ac90a8cf3d9537c8f0a601a4468bfd988613640b080d3151400bebc5c0dda DIST kotlin-compiler-2.4.10.zip 87077443 BLAKE2B af294886bd8947245410436e544ecaaade40a6a9390200057be4ad7099c63d730abf8695df2fde4e3bbb216266732931cd3d307671c8bf106e4a8ad705015621 SHA512 3db0ec3dbbac8ca745fb540d1da87889a9faa702787d102dea205af6157a9ab20b2a1630de95e4d0d43d22a713480550d6d59f083a8dd874abc57333c118fabd +DIST kotlin-compiler-2.4.20.zip 89729132 BLAKE2B 1d0b7424e7c1808f43b81f8e9cebfa682981da45cacbc4bd208636a0aa79339204109b6e498d18d6689f69f4638bd24328dd0a5f2e20398dc8f394b11d323dcc SHA512 7a9efa053221495db615f6239ed3fb33f1d45ea4f4b6cf0c75c393863a80e202ee190a3c32ba5a95f402be71b1534ebb6279fd5db25e7be7925ef2213dfc46ed diff --git a/dev-lang/kotlin-bin/kotlin-bin-2.4.0.ebuild b/dev-lang/kotlin-bin/kotlin-bin-2.4.20.ebuild index 01150a6db475..17cc705ee7be 100644 --- a/dev-lang/kotlin-bin/kotlin-bin-2.4.0.ebuild +++ b/dev-lang/kotlin-bin/kotlin-bin-2.4.20.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/kotlinc" LICENSE="Apache-2.0 BSD MIT NPL-1.1" SLOT="0/${PV}" -KEYWORDS="amd64 ~x86" +KEYWORDS="~amd64 ~x86" RDEPEND=" >=virtual/jre-1.8:* @@ -28,7 +28,6 @@ BDEPEND=" src_prepare() { default - rm bin/*.bat || die } diff --git a/dev-lang/oorexx/oorexx-5.3.0_beta13196.ebuild b/dev-lang/oorexx/oorexx-5.3.0_beta13196.ebuild index 6cb1b9709d86..4327a84bddff 100644 --- a/dev-lang/oorexx/oorexx-5.3.0_beta13196.ebuild +++ b/dev-lang/oorexx/oorexx-5.3.0_beta13196.ebuild @@ -23,7 +23,7 @@ S="${WORKDIR}/${APP_P}" LICENSE="CPL-1.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ppc64 ~riscv ~x86" RDEPEND=" !dev-lang/regina-rexx diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index d9b938eef727..1d21c7c12fd7 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -1,9 +1,5 @@ DIST ruby-3.2.10.tar.xz 14696548 BLAKE2B 3102628b113097334343f6f5c317febe4516bf42dfe7c0851107cbf7e5d9b24e1c2199542d0e6b6412176f3c10ec8609a342078d8351ccea955540ff62a05a08 SHA512 a89044db8a55bd990d3756e212f2966b62b903eefc96c7e0af89aa4580ff7253d2f64c6c25fc04f2031b959e614bae84b86db36cfdec3a3e8afb5c3026426687 DIST ruby-3.2.11.tar.xz 14695828 BLAKE2B 5e18849e183441d999643aaf344e85e27f20d0824a214c9e8c2c442d24b85fca7abdcac95d581576b7c029049acf0eaebf36cfee4a134508487374d5d4922381 SHA512 418739d476d34e2467e7f1ee60ff63a1969a362b49871bdc488676c1ac7d28b198deee85e2bd951a23f5b0e8425bc89ca59d5c8cb8415fa5ed835555e3d3af8d -DIST ruby-3.3.11.tar.xz 15879844 BLAKE2B 6568f8a571151fc98713fe29ec0ba70bffe2ab5cde7ce30848feea7981b680c633394e9534c472403ef298520346ff51a0771cba69ba55e00e9b82c6aa4aac8a SHA512 1f8eb206a90121015b294dada7ea61ebd136e7e7dbb1c4bb7df21b85f359a2e733f438153bf07c57815a963e4ef3f766081fd4226caa6547f4c263b33ed7726e DIST ruby-3.3.12.tar.xz 15891224 BLAKE2B 0f635cc8ffb9a690a0b2a513fdb565215ae0dd53d7812dcd31d2e7165d6f8a0652a785ec93b40df312f9beccc9aed91e7e582723da44723cc1b974790cf60118 SHA512 1755901f5d1e66250e4f9f4e3a0bf31ec25055f1cb86fafc68281f6d108e9cf5329a6c74c221b1a31aa7de78e9c2d8aa7b76faf39acfce44c5ed94cf7e766f3f DIST ruby-3.4.10.tar.xz 16709188 BLAKE2B 57c851d6e147918549bec0738c985bc461089184717b7e5350d9addf3cb74f5dc2f635e9cd72233d0d4f59b7340c36ffe3f11a1305fbcf40572de145690b99a2 SHA512 c28d59946c0a1b8e4385a772e0651c6f4154c18ab8a2a62289c3213eb4fe937cec0942e0076cda429576e58ad277b18f4b5611e644d15b122c1cd96baf10f284 -DIST ruby-3.4.9.tar.xz 16682004 BLAKE2B 0f127653cf05f26fca41e804a7720f962a9f652bd9d04893c1d05bcfea5c3b2dbfa676407600e98b6f7ae04bfd514a531781fe2408a0d46378a1efa07c9e147a SHA512 356fb47cc56f2d25198cb95253fc20ff7d9a6fd1fa53bc475e5c440012aebe27562537c399d271357235114ade263fd625029b66cb0f9b526f9c04f169fb9580 -DIST ruby-4.0.3.tar.xz 17878572 BLAKE2B 33bb0a19c28b36b8469f785177c8cd832e0c720d443ccc819a135f535ced393af04d711cce24ec0f47acd6425a0518a1fe6328d25384cddc605364c8201e60f4 SHA512 5816fb264ce76df59f4bfe0cadceb45025fada2e61f2c14024d6b03f63d304820cddf94afcf82a4951fd12f3b0d9148683f856f3f2245d56042fc8407b6cbff5 -DIST ruby-4.0.4.tar.xz 17899740 BLAKE2B cd8828bb14011a19bad226328e1b9e5f1e5c8c194e5b614cab077cda2727e2e8cdbac2f1457d00e89619cfca5ba85d06b1bcb62f59fdd8afee2eea298aee3b07 SHA512 cccc041379fd4e46a736a5c10ccf81627766a7175113c34754797b915bebcd0ce821d9cd7b42cc616b0a1f9ee38eee5ab7560c1840fa6672819c293e498a3f6f DIST ruby-4.0.6.tar.xz 17968092 BLAKE2B 7a4a89ec0b4e12e739226df0c97af79e3c5c92f5150c5d18a39978479112694c1aa9e178658440e40764ae1ddb34a8ad9a130f2b58e4478f75796a468dc6828b SHA512 c9c391675a098b5a27dd687571ab0a164c788cbb8ddcbab6d17a3e8b3c4ba389346b2e6d7807d38db3e74d225c70e378a296d60d0f465cb0fcec9702242c83c6 diff --git a/dev-lang/ruby/ruby-3.2.11.ebuild b/dev-lang/ruby/ruby-3.2.11.ebuild index d926c90dd56f..e740e56c3259 100644 --- a/dev-lang/ruby/ruby-3.2.11.ebuild +++ b/dev-lang/ruby/ruby-3.2.11.ebuild @@ -19,7 +19,7 @@ SLOT=$(ver_cut 1-2) MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) RUBYVERSION=${SLOT}.0 -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" RDEPEND=" diff --git a/dev-lang/ruby/ruby-3.3.11.ebuild b/dev-lang/ruby/ruby-3.3.11.ebuild deleted file mode 100644 index 47d832275300..000000000000 --- a/dev-lang/ruby/ruby-3.3.11.ebuild +++ /dev/null @@ -1,309 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -RUST_OPTIONAL="yes" - -inherit autotools flag-o-matic multiprocessing rust - -MY_P="${PN}-$(ver_cut 1-3)" - -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" -SRC_URI="https://cache.ruby-lang.org/pub/ruby/$(ver_cut 1-2)/${MY_P}.tar.xz" -S=${WORKDIR}/${MY_P} - -LICENSE="|| ( Ruby-BSD BSD-2 )" -SLOT=$(ver_cut 1-2) -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 - -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-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? ( ${RUST_DEPEND} ) - 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:= - virtual/zlib:= - virtual/libcrypt:= - >=app-eselect/eselect-ruby-20231226 -" - -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" - -BUNDLED_GEMS=" - >=dev-ruby/debug-1.9.2[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.4[ruby_targets_ruby33(-)] - >=dev-ruby/net-imap-0.4.21[ruby_targets_ruby33(-)] - >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)] - >=dev-ruby/net-smtp-0.5.1[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.4.4[ruby_targets_ruby33(-)] - >=dev-ruby/rss-0.3.1[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.2[ruby_targets_ruby33(-)] - >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)] - xemacs? ( app-xemacs/ruby-modes ) -" - -pkg_setup() { - use jit && rust_pkg_setup -} - -src_prepare() { - eapply "${FILESDIR}"/"${SLOT}"/010*.patch - eapply "${FILESDIR}"/"${SLOT}"/013*.patch - eapply "${FILESDIR}"/"${SLOT}"/902*.patch - - if use elibc_musl ; then - eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch - fi - - einfo "Unbundling gems..." - cd "${S}" || die - # 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/rubygems/test_bundled_ca.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 - - # Doesn't play well with PORTAGE_NICENESS/PORTAGE_SCHEDULING_POLICY - rm -f spec/ruby/core/process/setpriority_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 - - # Avoid test fragile for git command output not matching on whitespace - sed -e '/test_pretty_print/aomit "Fragile for output differences"' \ - -i test/rubygems/test_gem_source_{git,specific_file}.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 - fi - - eapply_user - - eautoreconf -} - -src_configure() { - local modules="win32,win32ole" - - # 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 - append-flags -fno-omit-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 - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - export DTRACE="${BROOT}"/usr/bin/stap-dtrace - fi - - # 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 - # except on Darwin, where we really need LIBPATHENV to set the right - # DYLD_ stuff during the invocation of miniruby for it to work - [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" - - local myeconfargs=( - --program-suffix=${MY_SUFFIX} - --with-soname=ruby${MY_SUFFIX} - --enable-shared - --enable-pthread - --disable-rpath - --without-baseruby - --with-compress-debug-sections=no - # --with-setjmp-type=setjmp for bug #949016 - --with-setjmp-type=setjmp - --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) - $(use_with valgrind) - --enable-option-checking=no - ) - - # Fix co-routine selection for x32, bug 933070 - [[ ${CHOST} == *gnux32 ]] && myeconfargs+=( --with-coroutine=amd64 ) - - INSTALL="${EPREFIX}/usr/bin/install -c" econf "${myeconfargs[@]}" - - # Makefile is broken because it lacks -ldl - rm -rf ext/-test-/popen_deadlock || die -} - -src_compile() { - local -x USER=$(whoami) - 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}" - - 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.4.9.ebuild b/dev-lang/ruby/ruby-3.4.9.ebuild deleted file mode 100644 index 9c7729837cda..000000000000 --- a/dev-lang/ruby/ruby-3.4.9.ebuild +++ /dev/null @@ -1,323 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -RUST_OPTIONAL="yes" - -inherit autotools flag-o-matic multiprocessing rust - -MY_P="${PN}-$(ver_cut 1-3)" - -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" -SRC_URI="https://cache.ruby-lang.org/pub/ruby/$(ver_cut 1-2)/${MY_P}.tar.xz" -S=${WORKDIR}/${MY_P} - -LICENSE="|| ( Ruby-BSD BSD-2 )" -SLOT=$(ver_cut 1-2) -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 - -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-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? ( ${RUST_DEPEND} ) - 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:= - virtual/zlib:= - virtual/libcrypt:= - >=app-eselect/eselect-ruby-20241225 -" - -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" - -BUNDLED_GEMS=" - >=dev-ruby/minitest-5.25.4[ruby_targets_ruby34(-)] - >=dev-ruby/power_assert-2.0.5[ruby_targets_ruby34(-)] - >=dev-ruby/rake-13.2.1[ruby_targets_ruby34(-)] - >=dev-ruby/test-unit-3.6.7[ruby_targets_ruby34(-)] - >=dev-ruby/rexml-3.4.0[ruby_targets_ruby34(-)] - >=dev-ruby/rss-0.3.1[ruby_targets_ruby34(-)] - >=dev-ruby/net-ftp-0.3.8[ruby_targets_ruby34(-)] - >=dev-ruby/net-imap-0.5.4[ruby_targets_ruby34(-)] - >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby34(-)] - >=dev-ruby/net-smtp-0.5.0[ruby_targets_ruby34(-)] - >=dev-ruby/matrix-0.4.2[ruby_targets_ruby34(-)] - >=dev-ruby/prime-0.1.3[ruby_targets_ruby34(-)] - >=dev-ruby/rbs-3.8.0[ruby_targets_ruby34(-)] - >=dev-ruby/typeprof-0.30.1[ruby_targets_ruby34(-)] - >=dev-ruby/debug-1.10.0[ruby_targets_ruby34(-)] - >=dev-ruby/racc-1.8.1[ruby_targets_ruby34(-)] - - >=dev-ruby/mutex_m-0.3.0[ruby_targets_ruby34(-)] - >=dev-ruby/getoptlong-0.2.1[ruby_targets_ruby34(-)] - >=dev-ruby/base64-0.2.0[ruby_targets_ruby34(-)] - >=dev-ruby/bigdecimal-3.1.8[ruby_targets_ruby34(-)] - >=dev-ruby/observer-0.1.2[ruby_targets_ruby34(-)] - >=dev-ruby/abbrev-0.1.2[ruby_targets_ruby34(-)] - >=dev-ruby/resolv-replace-0.1.1[ruby_targets_ruby34(-)] - >=dev-ruby/rinda-0.2.0[ruby_targets_ruby34(-)] - >=dev-ruby/drb-2.2.1[ruby_targets_ruby34(-)] - >=dev-ruby/nkf-0.2.0[ruby_targets_ruby34(-)] - >=dev-ruby/syslog-0.2.0[ruby_targets_ruby34(-)] - >=dev-ruby/csv-3.3.2[ruby_targets_ruby34(-)] - >=dev-ruby/repl_type_completor-0.1.9[ruby_targets_ruby34(-)] -" - -PDEPEND=" - ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby34(-)] - >=dev-ruby/bundler-2.5.11[ruby_targets_ruby34(-)] - >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby34(-)] - >=dev-ruby/irb-1.11.0[ruby_targets_ruby34(-)] - >=dev-ruby/json-2.7.2[ruby_targets_ruby34(-)] - >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby34(-)] - xemacs? ( app-xemacs/ruby-modes ) -" - -pkg_setup() { - use jit && rust_pkg_setup -} - -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}" || die - # 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/rubygems/test_bundled_ca.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 \ - spec/ruby/library/socket/socket/connect_spec.rb || die - - # Doesn't play well with PORTAGE_NICENESS/PORTAGE_SCHEDULING_POLICY - rm -f spec/ruby/core/process/setpriority_spec.rb || die - - # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. - rm -rf tool/test/webrick || die - - # Avoid tests using the system ruby - sed -i -e '/test_\(dumb_terminal\|tty_amibuous_width\)/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 '/^check/ s/\(test-syntax-suggest\|\$(PREPARE_SYNTAX_SUGGEST)\)//g' \ - -i common.mk || die - - # 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 - - # Avoid test fragile for git command output not matching on whitespace - sed -e '/test_pretty_print/aomit "Fragile for output differences"' \ - -i test/rubygems/test_gem_source_git.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 - fi - - eapply_user - - eautoreconf -} - -src_configure() { - local modules="win32,win32ole" - - # 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 - append-flags -fno-omit-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 - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - export DTRACE="${BROOT}"/usr/bin/stap-dtrace - fi - - # 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 - # except on Darwin, where we really need LIBPATHENV to set the right - # DYLD_ stuff during the invocation of miniruby for it to work - # - # --with-setjmp-type=setjmp for bug #949016 - [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" - - local myeconfargs=( - --program-suffix=${MY_SUFFIX} - --with-soname=ruby${MY_SUFFIX} - --enable-shared - --enable-pthread - --disable-rpath - --without-baseruby - --with-compress-debug-sections=no - --with-setjmp-type=setjmp - --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) - $(use_with valgrind) - --enable-option-checking=no - ) - - # Fix co-routine selection for x32, bug 933070 - [[ ${CHOST} == *gnux32 ]] && myeconfargs+=( --with-coroutine=amd64 ) - - INSTALL="${EPREFIX}/usr/bin/install -c" econf "${myeconfargs[@]}" - - # 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}" - - 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-4.0.3-r1.ebuild b/dev-lang/ruby/ruby-4.0.3-r1.ebuild deleted file mode 100644 index 05de5a9a329e..000000000000 --- a/dev-lang/ruby/ruby-4.0.3-r1.ebuild +++ /dev/null @@ -1,359 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -RUST_MIN_VER="1.85.0" -RUST_OPTIONAL="yes" - -inherit autotools flag-o-matic multiprocessing rust - -MY_P="${PN}-$(ver_cut 1-3)" -MY_PV="${PV%.*}" -MY_SLOT=$(ver_cut 1-2) - -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" -if [[ ${PV} == *9999* ]]; then - inherit git-r3 - EGIT_BRANCH="ruby_${MY_PV/./_}" - EGIT_REPO_URI="https://github.com/ruby/ruby.git" - - # Self-depend is necessary because ruby from git depends on building some pre-requisite gems. - BDEPEND=" - dev-lang/ruby:${MY_SLOT} - " -else - SRC_URI="https://cache.ruby-lang.org/pub/ruby/$(ver_cut 1-2)/${MY_P}.tar.xz" - S=${WORKDIR}/${MY_P} - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="|| ( Ruby-BSD BSD-2 )" -SLOT=${MY_SLOT} -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 - -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? ( ${RUST_DEPEND} ) - 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:= - virtual/zlib:= - virtual/libcrypt:= - >=app-eselect/eselect-ruby-20251225 -" - -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" - -BUNDLED_GEMS=" - >=dev-ruby/minitest-6.0.0[ruby_targets_ruby40(-)] - >=dev-ruby/power_assert-3.0.1[ruby_targets_ruby40(-)] - >=dev-ruby/rake-13.3.1[ruby_targets_ruby40(-)] - >=dev-ruby/test-unit-3.7.5[ruby_targets_ruby40(-)] - >=dev-ruby/rexml-3.4.4[ruby_targets_ruby40(-)] - >=dev-ruby/rss-0.3.2[ruby_targets_ruby40(-)] - >=dev-ruby/net-ftp-0.3.9[ruby_targets_ruby40(-)] - >=dev-ruby/net-imap-0.6.2[ruby_targets_ruby40(-)] - >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby40(-)] - >=dev-ruby/net-smtp-0.5.1[ruby_targets_ruby40(-)] - >=dev-ruby/matrix-0.4.3[ruby_targets_ruby40(-)] - >=dev-ruby/prime-0.1.4[ruby_targets_ruby40(-)] - >=dev-ruby/rbs-3.10.0[ruby_targets_ruby40(-)] - >=dev-ruby/typeprof-0.31.1[ruby_targets_ruby40(-)] - >=dev-ruby/debug-1.11.1[ruby_targets_ruby40(-)] - >=dev-ruby/racc-1.8.1[ruby_targets_ruby40(-)] - - >=dev-ruby/mutex_m-0.3.0[ruby_targets_ruby40(-)] - >=dev-ruby/getoptlong-0.2.1[ruby_targets_ruby40(-)] - >=dev-ruby/base64-0.3.0[ruby_targets_ruby40(-)] - >=dev-ruby/bigdecimal-4.0.1[ruby_targets_ruby40(-)] - >=dev-ruby/observer-0.1.2[ruby_targets_ruby40(-)] - >=dev-ruby/abbrev-0.1.2[ruby_targets_ruby40(-)] - >=dev-ruby/resolv-replace-0.1.1[ruby_targets_ruby40(-)] - >=dev-ruby/rinda-0.2.0[ruby_targets_ruby40(-)] - >=dev-ruby/drb-2.2.3[ruby_targets_ruby40(-)] - >=dev-ruby/nkf-0.2.0[ruby_targets_ruby40(-)] - >=dev-ruby/syslog-0.3.0[ruby_targets_ruby40(-)] - >=dev-ruby/csv-3.3.5[ruby_targets_ruby40(-)] - >=dev-ruby/repl_type_completor-0.1.12[ruby_targets_ruby40(-)] - >=dev-ruby/ostruct-0.6.3[ruby_targets_ruby40(-)] - >=dev-ruby/pstore-0.2.0[ruby_targets_ruby40(-)] - >=dev-ruby/benchmark-0.5.0[ruby_targets_ruby40(-)] - >=dev-ruby/logger-1.7.0[ruby_targets_ruby40(-)] - >=dev-ruby/reline-0.6.3[ruby_targets_ruby40(-)] - >=dev-ruby/readline-0.0.4[ruby_targets_ruby40(-)] - >=dev-ruby/fiddle-1.1.8[ruby_targets_ruby40(-)] -" - -PDEPEND=" - ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby40(-)] - >=dev-ruby/bundler-4.0.3[ruby_targets_ruby40(-)] - >=dev-ruby/did_you_mean-2.0.0[ruby_targets_ruby40(-)] - >=dev-ruby/irb-1.16.0[ruby_targets_ruby40(-)] - >=dev-ruby/json-2.18.0[ruby_targets_ruby40(-)] - >=dev-ruby/rdoc-7.0.2[ruby_targets_ruby40(-)] - xemacs? ( app-xemacs/ruby-modes ) -" - -pkg_setup() { - use jit && rust_pkg_setup -} - -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}" || die - # Remove bundled gems that we will install via PDEPEND, bug - # 539700. - rm -fr gems/* || die - touch gems/bundled_gems || die - - # Doesn't play well with PORTAGE_NICENESS/PORTAGE_SCHEDULING_POLICY - rm -f spec/ruby/core/process/setpriority_spec.rb || 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/rubygems/test_bundled_ca.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 \ - spec/ruby/library/socket/socket/connect_spec.rb || die - - # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. - rm -rf tool/test/webrick || 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 '/^check/ s/\(test-syntax-suggest\|\$(PREPARE_SYNTAX_SUGGEST)\)//g' \ - -i common.mk || die - - # 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 - - # Avoid test fragile for git command output not matching on whitespace - sed -e '/test_pretty_print/aomit "Fragile for output differences"' \ - -i test/rubygems/test_gem_source_git.rb || die - - # Avoid tests that don't expect our ruby40 executable name. - sed -e '/test_prelude_gems_and_loaded_features/aomit "Does not match ruby40"' \ - -i test/ruby/test_box.rb - - # Have ruby --version print out ${PV} - if [[ ${PV} == *9999* ]]; then - sed -i "s/#define RUBY_VERSION_TEENY.*/#define RUBY_VERSION_TEENY 9999/" version.h || die - - cp "${BROOT}"/usr/share/gnuconfig/config.guess "${S}"/tool/config.guess || die - cp "${BROOT}"/usr/share/gnuconfig/config.sub "${S}"/tool/config.sub || die - fi - - # Avoid specs that require gems to be installed already due to our unbundling. - rm -rf spec/ruby/library/irb || 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 - fi - - eapply_user - - eautoreconf -} - -src_configure() { - local modules="win32,win32ole" - - # 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 - append-flags -fno-omit-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 - # Fails to link (gcc PR124865, gcc PR50676) - filter-flags -flto-partition=cache - # bug #972696 - append-cppflags -DRB_THREAD_CURRENT_EC_NOINLINE - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - export DTRACE="${BROOT}"/usr/bin/stap-dtrace - fi - - # 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 - # except on Darwin, where we really need LIBPATHENV to set the right - # DYLD_ stuff during the invocation of miniruby for it to work - [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" - - local myeconfargs=( - --program-suffix=${MY_SUFFIX} - --with-soname=ruby${MY_SUFFIX} - --enable-shared - --enable-pthread - --disable-rpath - --without-baseruby - --with-compress-debug-sections=no - # --with-setjmp-type=setjmp for bug #949016 - --with-setjmp-type=setjmp - --enable-mkmf-verbose - --with-out-ext="${modules}" - $(use_with jemalloc jemalloc) - $(use_enable jit jit-support) - $(use_enable jit yjit) - $(use_enable jit zjit) - $(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) - $(use_with valgrind) - --enable-option-checking=no - ) - - # Fix co-routine selection for x32, bug 933070 - [[ ${CHOST} == *gnux32 ]] && myeconfargs+=( --with-coroutine=amd64 ) - - # Live ebuilds require a Ruby version to build with. - [[ ${PV} == *9999* ]] && myeconfargs+=( --with-baseruby="${BROOT}"/usr/bin/ruby$(ver_rs 1 "" "${MY_PV}") ) - - INSTALL="${EPREFIX}/usr/bin/install -c" econf "${myeconfargs[@]}" - - # 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}" - - 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 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-4.0.4.ebuild b/dev-lang/ruby/ruby-4.0.4.ebuild deleted file mode 100644 index 8579ef96c941..000000000000 --- a/dev-lang/ruby/ruby-4.0.4.ebuild +++ /dev/null @@ -1,358 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -RUST_MIN_VER="1.85.0" -RUST_OPTIONAL="yes" - -inherit autotools flag-o-matic multiprocessing rust - -MY_P="${PN}-$(ver_cut 1-3)" -MY_PV="${PV%.*}" -MY_SLOT=$(ver_cut 1-2) - -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" -if [[ ${PV} == *9999* ]]; then - inherit git-r3 - EGIT_BRANCH="ruby_${MY_PV/./_}" - EGIT_REPO_URI="https://github.com/ruby/ruby.git" - - # Self-depend is necessary because ruby from git depends on building some pre-requisite gems. - BDEPEND=" - dev-lang/ruby:${MY_SLOT} - " -else - SRC_URI="https://cache.ruby-lang.org/pub/ruby/$(ver_cut 1-2)/${MY_P}.tar.xz" - S=${WORKDIR}/${MY_P} - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" -fi - -LICENSE="|| ( Ruby-BSD BSD-2 )" -SLOT=${MY_SLOT} -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 - -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? ( ${RUST_DEPEND} ) - 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:= - virtual/zlib:= - virtual/libcrypt:= - >=app-eselect/eselect-ruby-20251225 -" - -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" - -BUNDLED_GEMS=" - >=dev-ruby/minitest-6.0.0[ruby_targets_ruby40(-)] - >=dev-ruby/power_assert-3.0.1[ruby_targets_ruby40(-)] - >=dev-ruby/rake-13.3.1[ruby_targets_ruby40(-)] - >=dev-ruby/test-unit-3.7.5[ruby_targets_ruby40(-)] - >=dev-ruby/rexml-3.4.4[ruby_targets_ruby40(-)] - >=dev-ruby/rss-0.3.2[ruby_targets_ruby40(-)] - >=dev-ruby/net-ftp-0.3.9[ruby_targets_ruby40(-)] - >=dev-ruby/net-imap-0.6.2[ruby_targets_ruby40(-)] - >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby40(-)] - >=dev-ruby/net-smtp-0.5.1[ruby_targets_ruby40(-)] - >=dev-ruby/matrix-0.4.3[ruby_targets_ruby40(-)] - >=dev-ruby/prime-0.1.4[ruby_targets_ruby40(-)] - >=dev-ruby/rbs-3.10.0[ruby_targets_ruby40(-)] - >=dev-ruby/typeprof-0.31.1[ruby_targets_ruby40(-)] - >=dev-ruby/debug-1.11.1[ruby_targets_ruby40(-)] - >=dev-ruby/racc-1.8.1[ruby_targets_ruby40(-)] - - >=dev-ruby/mutex_m-0.3.0[ruby_targets_ruby40(-)] - >=dev-ruby/getoptlong-0.2.1[ruby_targets_ruby40(-)] - >=dev-ruby/base64-0.3.0[ruby_targets_ruby40(-)] - >=dev-ruby/bigdecimal-4.0.1[ruby_targets_ruby40(-)] - >=dev-ruby/observer-0.1.2[ruby_targets_ruby40(-)] - >=dev-ruby/abbrev-0.1.2[ruby_targets_ruby40(-)] - >=dev-ruby/resolv-replace-0.1.1[ruby_targets_ruby40(-)] - >=dev-ruby/rinda-0.2.0[ruby_targets_ruby40(-)] - >=dev-ruby/drb-2.2.3[ruby_targets_ruby40(-)] - >=dev-ruby/nkf-0.2.0[ruby_targets_ruby40(-)] - >=dev-ruby/syslog-0.3.0[ruby_targets_ruby40(-)] - >=dev-ruby/csv-3.3.5[ruby_targets_ruby40(-)] - >=dev-ruby/repl_type_completor-0.1.12[ruby_targets_ruby40(-)] - >=dev-ruby/ostruct-0.6.3[ruby_targets_ruby40(-)] - >=dev-ruby/pstore-0.2.0[ruby_targets_ruby40(-)] - >=dev-ruby/benchmark-0.5.0[ruby_targets_ruby40(-)] - >=dev-ruby/logger-1.7.0[ruby_targets_ruby40(-)] - >=dev-ruby/reline-0.6.3[ruby_targets_ruby40(-)] - >=dev-ruby/readline-0.0.4[ruby_targets_ruby40(-)] - >=dev-ruby/fiddle-1.1.8[ruby_targets_ruby40(-)] -" - -PDEPEND=" - ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby40(-)] - >=dev-ruby/bundler-4.0.3[ruby_targets_ruby40(-)] - >=dev-ruby/did_you_mean-2.0.0[ruby_targets_ruby40(-)] - >=dev-ruby/irb-1.16.0[ruby_targets_ruby40(-)] - >=dev-ruby/json-2.18.0[ruby_targets_ruby40(-)] - >=dev-ruby/rdoc-7.0.2[ruby_targets_ruby40(-)] - xemacs? ( app-xemacs/ruby-modes ) -" - -pkg_setup() { - use jit && rust_pkg_setup -} - -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}" || die - # Remove bundled gems that we will install via PDEPEND, bug - # 539700. - rm -fr gems/* || die - touch gems/bundled_gems || die - - # Doesn't play well with PORTAGE_NICENESS/PORTAGE_SCHEDULING_POLICY - rm -f spec/ruby/core/process/setpriority_spec.rb || 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/rubygems/test_bundled_ca.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 \ - spec/ruby/library/socket/socket/connect_spec.rb || die - - # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. - rm -rf tool/test/webrick || 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 '/^check/ s/\(test-syntax-suggest\|\$(PREPARE_SYNTAX_SUGGEST)\)//g' \ - -i common.mk || die - - # 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 - - # Avoid test fragile for git command output not matching on whitespace - sed -e '/test_pretty_print/aomit "Fragile for output differences"' \ - -i test/rubygems/test_gem_source_git.rb || die - - # Avoid tests that don't expect our ruby40 executable name. - sed -e '/test_prelude_gems_and_loaded_features/aomit "Does not match ruby40"' \ - -i test/ruby/test_box.rb - - # Have ruby --version print out ${PV} - if [[ ${PV} == *9999* ]]; then - sed -i "s/#define RUBY_VERSION_TEENY.*/#define RUBY_VERSION_TEENY 9999/" version.h || die - - cp "${BROOT}"/usr/share/gnuconfig/config.guess "${S}"/tool/config.guess || die - cp "${BROOT}"/usr/share/gnuconfig/config.sub "${S}"/tool/config.sub || die - fi - - # Avoid specs that require gems to be installed already due to our unbundling. - rm -rf spec/ruby/library/irb || 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 - fi - - eapply_user - - eautoreconf -} - -src_configure() { - local modules="win32,win32ole" - - # 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 - append-flags -fno-omit-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 - # Fails to link (gcc PR124865, gcc PR50676) - filter-flags -flto-partition=cache - # bug #972696 - append-cppflags -DRB_THREAD_CURRENT_EC_NOINLINE - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - export DTRACE="${BROOT}"/usr/bin/stap-dtrace - fi - - # 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 - # except on Darwin, where we really need LIBPATHENV to set the right - # DYLD_ stuff during the invocation of miniruby for it to work - [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" - - local myeconfargs=( - --program-suffix=${MY_SUFFIX} - --with-soname=ruby${MY_SUFFIX} - --enable-shared - --enable-pthread - --disable-rpath - --without-baseruby - --with-compress-debug-sections=no - # --with-setjmp-type=setjmp for bug #949016 - --with-setjmp-type=setjmp - --enable-mkmf-verbose - --with-out-ext="${modules}" - $(use_with jemalloc jemalloc) - $(use_enable jit jit-support) - $(use_enable jit yjit) - $(use_enable jit zjit) - $(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) - $(use_with valgrind) - --enable-option-checking=no - ) - - # Fix co-routine selection for x32, bug 933070 - [[ ${CHOST} == *gnux32 ]] && myeconfargs+=( --with-coroutine=amd64 ) - - # Live ebuilds require a Ruby version to build with. - [[ ${PV} == *9999* ]] && myeconfargs+=( --with-baseruby="${BROOT}"/usr/bin/ruby$(ver_rs 1 "" "${MY_PV}") ) - - INSTALL="${EPREFIX}/usr/bin/install -c" econf "${myeconfargs[@]}" - - # 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}" - local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - local d - 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 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 -} |
