summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2023-12-25 09:16:47 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2023-12-25 09:16:47 +0000
commitd34bfd99b6056bac4e89a815b14a414da987b153 (patch)
treef3798f5717ca04497e1532286488b60a1bdca464
parent2023-12-25 08:46:57 UTC (diff)
parentdev-lang/erlang: add 26.2.1 (diff)
downloadgentoo-d34bfd99b6056bac4e89a815b14a414da987b153.tar.gz
gentoo-d34bfd99b6056bac4e89a815b14a414da987b153.tar.bz2
gentoo-d34bfd99b6056bac4e89a815b14a414da987b153.zip
Merge updates from master
-rw-r--r--dev-lang/erlang/Manifest1
-rw-r--r--dev-lang/erlang/erlang-26.2.1.ebuild183
-rw-r--r--dev-ruby/bundler/Manifest1
-rw-r--r--dev-ruby/bundler/bundler-2.4.22.ebuild30
-rw-r--r--dev-ruby/debug/Manifest1
-rw-r--r--dev-ruby/debug/debug-1.9.1.ebuild38
-rw-r--r--dev-ruby/rubygems/Manifest1
-rw-r--r--dev-ruby/rubygems/rubygems-3.4.22.ebuild116
-rw-r--r--eclass/ruby-utils.eclass4
-rw-r--r--profiles/base/use.stable.mask9
-rw-r--r--profiles/desc/ruby_targets.desc1
11 files changed, 379 insertions, 6 deletions
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 73f6176a7229..ff2e30706665 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -1,6 +1,7 @@
DIST erlang-25.3.tar.gz 60060354 BLAKE2B c18beb1aa00f88ac303ce2488da6973cd63b4cb3c611d9ee93bdb8a522fa068bfab2307448d085e40c7c6e1b300a1d2b72f0626e8fd236c84617ff031afcb569 SHA512 cf104918917e33db250b48aaad3c098899739358035d764ea2ee1fc9ba7937504190752163ce8430bdbfc576ce2c2533d4f50fc8f0994ff155e3df188a8db99e
DIST erlang-26.0.tar.gz 61355457 BLAKE2B 4f5abc04b794d2b2b9e27e20be9197a7c81113607a5ca2605c189212eef70db55eee5120eca36426a2c16237f576751605cdc943c7c2f070d68c6cca6585c46b SHA512 732e259f2018102b62a5d8076953a6a78d3e1f1714edde2c306fe863e5377b9a7f87052e03e92df93eea270a608b29ab4e22d5841d1314f9a532dac4aeff5436
DIST erlang-26.1.2.tar.gz 63932020 BLAKE2B 56c862270398b458106056ea0e86a167b40d769c5b2fd84c39a0ed0c074c00d301145a98ef6e5f4b755d1124005da382ade6d4f0648823cf0e7d662a9b6bdcf2 SHA512 6907bba4ee726582b6344995c73223f725ea628897b34fc807a2a0306536bb15ce55c7fd4da1cb596dc59c9695b3bb6bba59618ca2a7a9a999e183f671656710
+DIST erlang-26.2.1.tar.gz 62435848 BLAKE2B 4e257c73de868b5bbd213a66ece60f29e5231845c5f40b17876b8f042c20ba89bced920ffdbb2a44b890b920d8a147b0a0cb4a2bce66a51e49b720ee794c06c9 SHA512 f4fa0d11ecbd99ca5ef4421abb78ef2aba8ea0f8d19e4aed991c2afcc42bb057a37ae34a416b050fd7ed8ca39ba7cc8b3619ff371bc09f56dfd5b523988a8f8c
DIST erlang-26.2.tar.gz 64008902 BLAKE2B 145ade4a05a8c92f9ba848774e927fc0a186aba834b2d4850cbe92f7604aac6136b16e3e6208658220c8c07b906be06263dfc7173f588165bb7bd5b98fe8a162 SHA512 647f38e7a1d2a0e49aee982d9f6461a83df01d6248756eea3cc926c60dd03e82d881534e3ce3374e233a3ab7b0fad7c775a54d0079f4d5b13de8d8a97c7de642
DIST erlang_doc_html_25.3.tar.gz 37134864 BLAKE2B 86af9f6eacccbdc8e66e1407a29bc70620052f5968f4378df751f89795f98898a057c2e187553e5b938b5a9cc55a223fedb9bc2936cb3ade5f444e05a810f7d0 SHA512 d469f6088a20a840687ceed66b3d4ef3bf9446a00ea490f6bb14e5ec8a0b642ac0ff14243010e45483e9d4d33742525916d05ec93e171fe9f5e0dfbac3733837
DIST erlang_doc_html_26.0.tar.gz 37434137 BLAKE2B 0a1bd0f4966d90cc5aaa8852b280204d81271af0449a019399dfcbeab4b2427a91fa57e1dafe24c55ee1a7abf5f52c019ca7454f7c2ca8dbe604d60ef437a4e0 SHA512 c11cf064808bee3a9e8334ee597daadfff397bd700622c80affa8df127a53de3cb5685c3338fa6d28b5c7a5c171379e0289f557dc3fc6ab0459ada757219ce3e
diff --git a/dev-lang/erlang/erlang-26.2.1.ebuild b/dev-lang/erlang/erlang-26.2.1.ebuild
new file mode 100644
index 000000000000..981ad712372f
--- /dev/null
+++ b/dev-lang/erlang/erlang-26.2.1.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+WX_GTK_VER="3.2-gtk3"
+
+inherit autotools elisp-common flag-o-matic java-pkg-opt-2 systemd toolchain-funcs wxwidgets
+
+UPSTREAM_V="$(ver_cut 1-2)"
+
+DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
+HOMEPAGE="https://www.erlang.org/"
+SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
+ doc? ( https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
+
+LICENSE="Apache-2.0"
+# We use this subslot because Compiled HiPE Code can be loaded on the exact
+# same build of ERTS that was used when compiling the code. See
+# http://erlang.org/doc/system_principles/misc.html for more information.
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets"
+
+RDEPEND="
+ acct-group/epmd
+ acct-user/epmd
+ sys-libs/ncurses:0
+ sys-libs/zlib
+ emacs? ( >=app-editors/emacs-23.1:* )
+ java? ( >=virtual/jdk-1.8:* )
+ odbc? ( dev-db/unixODBC )
+ sctp? ( net-misc/lksctp-tools )
+ ssl? ( >=dev-libs/openssl-0.9.7d:0= )
+ systemd? ( sys-apps/systemd )
+ wxwidgets? (
+ dev-libs/glib:2
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+ )
+"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+"
+
+S="${WORKDIR}/otp-OTP-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch
+ "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch
+ "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887
+)
+
+SITEFILE=50"${PN}"-gentoo.el
+
+src_prepare() {
+ default
+
+ tc-export AR CPP CXX LD
+
+ # bug #797886: erlang's VM does unsafe casts for ints
+ # to pointers and back. This breaks on gcc-11 -flto.
+ append-flags -fno-strict-aliasing
+
+ # Ensure that we use erl_interface's libei.a, and not the system
+ # libei.so from dev-libs/libei. Bug #912888.
+ sed -i 's/-lei$/-l:libei.a/' \
+ "${S}"/lib/odbc/c_src/Makefile.in || die
+ (cd "${S}"/lib/odbc &&
+ eautoconf -B "${S}"/make/autoconf &&
+ eautoheader -B "${S}"/make/autoconf) || die
+}
+
+src_configure() {
+ use wxwidgets && setup-wxwidgets
+
+ local myconf=(
+ --disable-builtin-zlib
+
+ # don't search for static zlib
+ --with-ssl-zlib=no
+
+ $(use_enable kpoll kernel-poll)
+ $(use_with java javac)
+ $(use_with odbc)
+ $(use_enable sctp)
+ $(use_with ssl ssl)
+ $(use_enable ssl dynamic-ssl-lib)
+ $(use_enable systemd)
+ $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
+ )
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake
+
+ if use doc ; then
+ emake docs DOC_TARGETS=chunks
+ fi
+
+ if use emacs ; then
+ pushd lib/tools/emacs &>/dev/null || die
+ elisp-compile *.el
+ popd &>/dev/null || die
+ fi
+}
+
+extract_version() {
+ local path="$1"
+ local var_name="$2"
+ sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed"
+}
+
+src_install() {
+ local erl_libdir_rel="$(get_libdir)/erlang"
+ local erl_libdir="/usr/${erl_libdir_rel}"
+ local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)"
+ local erl_erts_ver="$(extract_version erts VSN)"
+ local my_manpath="/usr/share/${PN}/man"
+
+ [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version"
+ [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version"
+
+ emake INSTALL_PREFIX="${D}" install
+
+ if use doc ; then
+ emake INSTALL_PREFIX="${D}" install-docs DOC_TARGETS=chunks
+
+ # Note: we explicitly install docs into:
+ # /usr/share/doc/${PF}/{doc,lib,erts-*}
+ # To maintain that layout we gather everything in 'html-docs'.
+ # See bug #684376.
+ mkdir html-docs || die
+ mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* html-docs/ || die
+ local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" html-docs/. )
+ docompress -x /usr/share/doc/${PF}
+ else
+ local DOCS=("README.md")
+ fi
+
+ einstalldocs
+
+ dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl
+ dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc
+ dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript
+ dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call
+ dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp
+
+ ## Clean up the no longer needed files
+ rm "${ED}/${erl_libdir}/Install" || die
+
+ insinto "${my_manpath}"
+ doins -r "${WORKDIR}"/man/*
+ # extend MANPATH, so the normal man command can find it
+ # see bug 189639
+ newenvd - "90erlang" <<-_EOF_
+ MANPATH="${my_manpath}"
+ _EOF_
+
+ if use emacs ; then
+ elisp-install erlang lib/tools/emacs/*.{el,elc}
+ sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \
+ "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die
+ elisp-site-file-install "${T}/${SITEFILE}"
+ fi
+
+ newinitd "${FILESDIR}"/epmd.init-r3 epmd
+ use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service
+}
+
+src_test() {
+ # Only run a subset of tests to test that everything was built
+ # successfully, otherwise we will be here for a long time.
+ emake kernel_test ARGS="-suite os_SUITE"
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-ruby/bundler/Manifest b/dev-ruby/bundler/Manifest
index 8d7d28fdea06..7afa9f5ae3be 100644
--- a/dev-ruby/bundler/Manifest
+++ b/dev-ruby/bundler/Manifest
@@ -2,4 +2,5 @@ DIST bundler-2.2.33.gem 401920 BLAKE2B bfdb62c86449683d479f735ff6d65d33576ff03f1
DIST bundler-2.3.26.gem 411648 BLAKE2B 5ea0ff86e0e09bf0466e4bb21502a13519515f312b3df62024f0d293a51237eb30a5b3c349fb867e9b8dbf0e50ede5bc12b14c5cc6014a717d55534bf46d18f5 SHA512 03c6310c63ec4d313d48ecb15e784ae9cb2d2cb2cefc75752bbb7c018eeec45d534259646d525e486cd746ee8c179312c167338875e13f826994617622d2330d
DIST bundler-2.4.15.gem 412672 BLAKE2B 3c73e082fa8a007cc626fd00093bf69ddf63ea00aba137594e1112db0900f2c7688d85dc3f22c7b569b1b3abb8977f3e6f850719b4bced12db9cd7959a376dba SHA512 0f2ea2a0ba113295dea5e42383d49a30fd580376088d81642796e6bec48e38b2f56115c052079a97040c5f2a89ff7e2a5cccfa5aab1e3053cad411b47e6ccaed
DIST bundler-2.4.19.gem 413184 BLAKE2B 34607b2fdf1c7cb36982fa7c7bbd5c6f5b7c227c525cb9abae2c1099d401818d91ba233c7d3d4e42c59e97b357065f03a1e8fa4c814e0b4cd95ac4e043984015 SHA512 ff4a7541c8110a18223df4586f636a70fe301843d80444fc4954e9ca7018da0f7a62980a0abd5d91e26f5222b224f8afc3dc51fc12e03559d77496ee1aee1296
+DIST bundler-2.4.22.gem 419840 BLAKE2B 885686da1c100181b0faf3f5eea53e9c42ada65b89fcd29a3142644f13843c677d4a26faf42587b16c9978d2a935783ae57454ef0424d0078f20bc972d839671 SHA512 4e37e92de6dafeabb54876d270819b44025f1b674c8a39a2ad06cd70fab135237e296a5fa48dd4993dd52a293d76fe73b8529185766e566d0d7d0e4e8f205d65
DIST bundler-2.4.6.gem 409600 BLAKE2B 5470a85b7ee0a88c13795516ee317eaf227ad49023f05dbbea1bbe0b2b4f2bb93fab85101128662845d8a2ad567bec04e5238e3a2d3b81c89aea81f18d552d4e SHA512 194d432a12bde41d7bdff5aefd187b539f4ab3932d6774f171147e4da907dc77f2ff56580c53151d5fdb77de2138b668f856e410cd63b1cda2fb996074771f35
diff --git a/dev-ruby/bundler/bundler-2.4.22.ebuild b/dev-ruby/bundler/bundler-2.4.22.ebuild
new file mode 100644
index 000000000000..cbaa392ed78b
--- /dev/null
+++ b/dev-ruby/bundler/bundler-2.4.22.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32"
+
+# The specs require a number of gems to be installed in a temporary
+# directory, but this requires network access. They also don't work
+# when run with a path that contains "-".
+RUBY_FAKEGEM_RECIPE_TEST="none"
+
+# No documentation task
+RUBY_FAKEGEM_EXTRADOC="README.md CHANGELOG.md"
+
+RUBY_FAKEGEM_BINDIR="exe"
+
+inherit ruby-fakegem
+
+DESCRIPTION="An easy way to vendor gem dependencies"
+HOMEPAGE="https://github.com/rubygems/rubygems"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+
+ruby_add_rdepend virtual/rubygems
+
+RDEPEND+=" dev-vcs/git"
diff --git a/dev-ruby/debug/Manifest b/dev-ruby/debug/Manifest
index 4abf08158f73..933ba81baf64 100644
--- a/dev-ruby/debug/Manifest
+++ b/dev-ruby/debug/Manifest
@@ -1,3 +1,4 @@
DIST debug-1.7.1.tar.gz 159697 BLAKE2B f3fc6b75c45992ef12d7bc6cbc3d3e65bde782ab399aa5c6643752c7337ab5e31dba5a22b3a36a0b345f3017147aed987b35184c789d8e32d3283cdff0f08a58 SHA512 6ff242862e05c48b2021b128d12c0ad9a6ed67954d0e7a60538eddabeef83253a613c13aac21b5b00516861fc0553351525fb190dfbc196e9da42e217d3b4e93
DIST debug-1.7.2.tar.gz 160575 BLAKE2B b1f2d17f0ecae09113b1a8afeb8d63d07d9ab27f32efb6aab45a9bbfee851bc8068aa5a2cae1a659c4922b4fc1b72d8ff107a16e8b80d740914622032c39b4fe SHA512 b9108e990a66f87d4a18ce7a8bd591601359940e993635bcaa4b2d8a403a3a44dffa5f5380e65cf2335449111bd30ae9ee35dda92578e46afdbbbe7706bb5aa1
DIST debug-1.8.0.tar.gz 162452 BLAKE2B 7fc81053b47801717325a4db79d9d9be0defb2023485a370e26cda51a7207ef6fc17eb42ffec56123ce7abfb4d9924f15687262e34f6bdc641bdca9f75631cd1 SHA512 c53616fb903395df65badabf3879fced70bbd43f84a684132d493af215ed7f205c5e449e8486773ca7a5ff298f41e7579b1a841b0140ec34839ff3f25b883b7d
+DIST debug-1.9.1.tar.gz 164276 BLAKE2B e34768dfc49230e78ffa7c5277bf80ba9abb34ac82822981e53bfb0326fb5754ae6e66946a8da8589e25aab6f5c388b266acc0a5fdf27392a570c97f90e46ea1 SHA512 eefd074968af7032410f62a0a37792fb261b3d7c1cc759d1838016bcc264baa1f205c935d76f4a8aed7ea892698d80de7db48fba1e0efd067b9b1bac9577be66
diff --git a/dev-ruby/debug/debug-1.9.1.ebuild b/dev-ruby/debug/debug-1.9.1.ebuild
new file mode 100644
index 000000000000..c9b8381c03c0
--- /dev/null
+++ b/dev-ruby/debug/debug-1.9.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32"
+
+RUBY_FAKEGEM_EXTRADOC="TODO.md README.md"
+
+RUBY_FAKEGEM_BINWRAP=""
+RUBY_FAKEGEM_EXTENSIONS=(ext/debug/extconf.rb)
+RUBY_FAKEGEM_EXTENSION_LIBDIR="lib/debug"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Debugging functionality for Ruby"
+HOMEPAGE="https://github.com/ruby/debug"
+SRC_URI="https://github.com/ruby/debug/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+SLOT="$(ver_cut 1)"
+
+# Avoid tests for now since the results in a very deep dependency list for ruby32
+#ruby_add_depend "test? ( dev-ruby/rr )"
+RESTRICT="test"
+
+ruby_add_rdepend "
+ >=dev-ruby/irb-1.10
+ >=dev-ruby/reline-0.3.8
+"
+
+all_ruby_prepare() {
+ sed -i -e "s:require_relative ':require './:" -e 's/__dir__/"."/' ${RUBY_FAKEGEM_GEMSPEC} || die
+ sed -i -e '/bundler/I s:^:#:' Rakefile || die
+}
diff --git a/dev-ruby/rubygems/Manifest b/dev-ruby/rubygems/Manifest
index f4f7113f76af..88225c518445 100644
--- a/dev-ruby/rubygems/Manifest
+++ b/dev-ruby/rubygems/Manifest
@@ -2,5 +2,6 @@ DIST rubygems-3.3.26.tar.gz 12995476 BLAKE2B c06400d263f64ee988781b49628eebde2b7
DIST rubygems-3.4.1.tar.gz 12999634 BLAKE2B 019364e3abd3b12f2a37b08a8d32546cd002c47653a4cdd4e06d8605010dcfcbf3f82f2d375c6bd51a8f1b462b624cefb85932c075b965d5038c26d6079de261 SHA512 2183f7d6ab914c47c02b53cafa6f39845986e4b38713d320402b98f0f0926dbbd957ef11c00b4fbe8f6c9985a1a5d9f551b2df9d47f00c389026e373dbd6f6ed
DIST rubygems-3.4.15.tar.gz 15033712 BLAKE2B 01fa4160549d49dbb0fd9e8c2c3c570e837cdb0d074a0ba484bb37ae8b7a19f853387dacb980615f63e4be9ab080e3b8fb9b429da97b6ffe98ea33178efdf2e6 SHA512 37aec02ac91427d3b44b3914308a4262d2c9b2c603b6fdd986ce0858175642290b2588a85540f555d0b5f5342960469337609546c2329d312280bb0accd6c932
DIST rubygems-3.4.19.tar.gz 15037850 BLAKE2B adf618f326fa83a8eb7febb9872a71f2bf78048dfa7c4db07343c9813ba5d858c86bcd6e54df1a559e60e458ba8d73d2a7ac82ee5e0cbde6e9d8b45c12793d4c SHA512 8d0bc225ef01d3cc5e3ad12a1bf0bbb3923349bb9b79b76a9ac58bb8dcf79666a478a871d19919adc15f1aa2599efde5d3938c61801579277117b569e7007656
+DIST rubygems-3.4.22.tar.gz 15054005 BLAKE2B 856b60bf3a2f477b6e0aeaa4522f17934a6bf8c434f0d3a69afb823801975a74294f27e0906fc940c456414fd5bf94f71809e09676b839b0123a6f40dc3cefb4 SHA512 c69a03524936eb51e6a919ee0ee614c4e0bedf5a0bbe55314a876b3277116b6e8c92e52072368704415286b673d4c4b995b81665cc73b152a12377faee289916
DIST rubygems-3.4.3.tar.gz 15002575 BLAKE2B be8dfb7233754e0ef9147eab1c64d363c38de5a6c296087a193b801c9fa1a12d2a21d7b3b01360f53a30caa6815b3bcdf3d14ecd19ac19dfd2e88115526b5a97 SHA512 7f3907b6ab8f001bd856c2b25b71c5ec32b21b2b5fa16ba369e3108c44698712ac3f5ace430554a4b15dc0adef2d87fa41bffa03dcd01f524fe8bbd80de9807b
DIST rubygems-3.4.6.tar.gz 15011157 BLAKE2B a06178a1d5dbd8231493dce9d075451062edaa6b4affee6892d60c727e30ef4b7ff7933baf4ae49fedaa684f9898325ed1313648dac318bd62e9c733de374926 SHA512 d1c23b534f2254ff4dec564098f7eba83462eb9348da59a84de01fc4053ef3be02b2852af4542447de89a36d835f68634606040672d2a2f987c5670b9f373fe9
diff --git a/dev-ruby/rubygems/rubygems-3.4.22.ebuild b/dev-ruby/rubygems/rubygems-3.4.22.ebuild
new file mode 100644
index 000000000000..781d823d66ce
--- /dev/null
+++ b/dev-ruby/rubygems/rubygems-3.4.22.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32"
+
+inherit ruby-ng prefix
+
+DESCRIPTION="Centralized Ruby extension management system"
+HOMEPAGE="https://rubygems.org/"
+LICENSE="|| ( Ruby MIT )"
+
+SRC_URI="https://github.com/rubygems/rubygems/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+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"
+SLOT="0"
+IUSE="server test"
+RESTRICT="!test? ( test )"
+
+PDEPEND="server? ( =dev-ruby/builder-3* )"
+
+ruby_add_depend "virtual/ruby-ssl"
+
+ruby_add_bdepend "
+ test? (
+ dev-ruby/json
+ dev-ruby/minitest:5
+ dev-ruby/rake
+ dev-ruby/rdoc
+ dev-ruby/webrick
+ )"
+
+all_ruby_prepare() {
+ # Remove unpackaged automatiek from Rakefile which stops it from working
+ sed -i -e '/automatiek/ s:^:#:' -e '/Automatiek/,/^end/ s:^:#:' Rakefile || die
+
+ mkdir -p lib/rubygems/defaults || die
+ cp "${FILESDIR}/gentoo-defaults-5.rb" lib/rubygems/defaults/operating_system.rb || die
+
+ eprefixify lib/rubygems/defaults/operating_system.rb
+
+ # Disable broken tests when changing default values:
+ sed -i -e '/test_default_path/,/^ end/ s:^:#:' test/rubygems/test_gem.rb || die
+ sed -e '/test_initialize_\(path_with_defaults\|regexp_path_separator\)/aomit "gentoo"' \
+ -i test/rubygems/test_gem_path_support.rb || die
+ # Avoid test that won't work as json is also installed as plain ruby code
+ sed -i -e '/test_realworld_\(\|upgraded_\)default_gem/aomit "gentoo"' test/rubygems/test_require.rb || die
+
+ # Avoid test that requires additional utility scripts
+ rm -f test/test_changelog_generator.rb || die
+
+ # Avoid tests that require a network connection (for crates.io or other downloads)
+ rm -f test/rubygems/test_gem_ext_cargo_builder.rb || die
+ sed -e '/test_gem_exec_gem_uninstall/aomit "requires network"' \
+ -i test/rubygems/test_gem_commands_exec_command.rb || die
+
+ # Update manifest after changing files to avoid a test failure
+ if use test; then
+ rake update_manifest || die
+ fi
+}
+
+each_ruby_compile() {
+ # Not really a build but...
+ sed -i -e 's:#!.*:#!'"${RUBY}"':' exe/gem
+}
+
+each_ruby_test() {
+ # Unset RUBYOPT to avoid interferences, bug #158455 et. al.
+ #unset RUBYOPT
+
+ if [[ "${EUID}" -ne "0" ]]; then
+ RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}" ${RUBY} --disable-gems -I.:lib:test:bundler/lib \
+ -e 'require "rubygems"; gem "minitest", "~>5.0"; Dir["test/**/test_*.rb"].each { require _1 }' || die "tests failed"
+ else
+ ewarn "The userpriv feature must be enabled to run tests, bug 408951."
+ eerror "Testsuite will not be run."
+ fi
+}
+
+each_ruby_install() {
+ # Unset RUBYOPT to avoid interferences, bug #158455 et. al.
+ unset RUBYOPT
+ export RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}"
+
+ pushd lib &>/dev/null
+ doruby -r *
+ popd &>/dev/null
+
+ local sld=$(ruby_rbconfig_value 'sitelibdir')
+ insinto "${sld#${EPREFIX}}" # bug #320813
+ newins "${FILESDIR}/auto_gem.rb.ruby19" auto_gem.rb
+
+ newbin exe/gem $(basename ${RUBY} | sed -e 's:ruby:gem:')
+}
+
+all_ruby_install() {
+ dodoc CHANGELOG.md README.md
+
+ if use server; then
+ newinitd "${FILESDIR}/init.d-gem_server2" gem_server
+ newconfd "${FILESDIR}/conf.d-gem_server" gem_server
+ fi
+}
+
+pkg_postinst() {
+ if [[ ! -n $(readlink "${ROOT}"/usr/bin/gem) ]] ; then
+ eselect ruby set $(eselect --brief --colour=no ruby show | head -n1)
+ fi
+
+ ewarn
+ ewarn "To switch between available Ruby profiles, execute as root:"
+ ewarn "\teselect ruby set ruby(30|31|...)"
+ ewarn
+}
diff --git a/eclass/ruby-utils.eclass b/eclass/ruby-utils.eclass
index 48d701a3ebc7..789f57ce25f6 100644
--- a/eclass/ruby-utils.eclass
+++ b/eclass/ruby-utils.eclass
@@ -35,14 +35,14 @@ if [[ ! ${_RUBY_UTILS} ]]; then
RUBY_TARGETS_PREFERENCE="ruby31 "
# All other active ruby targets
-RUBY_TARGETS_PREFERENCE+="ruby32"
+RUBY_TARGETS_PREFERENCE+="ruby32 ruby33"
_ruby_implementation_depend() {
local rubypn=
local rubyslot=
case $1 in
- ruby1[89]|ruby2[0-7]|ruby3[0-2])
+ ruby1[89]|ruby2[0-7]|ruby3[0-3])
rubypn="dev-lang/ruby"
rubyslot=":${1:4:1}.${1:5}"
;;
diff --git a/profiles/base/use.stable.mask b/profiles/base/use.stable.mask
index 33ca1ed42a4e..6682b8d46b58 100644
--- a/profiles/base/use.stable.mask
+++ b/profiles/base/use.stable.mask
@@ -4,6 +4,11 @@
# This file requires eapi 5 or later. New entries go on top.
# Please use the same syntax as in use.mask
+# Hans de Graaff <graaff@gentoo.org> (2023-12-25)
+# Currently in testing and not ready to go stable yet.
+ruby_targets_ruby32
+ruby_targets_ruby33
+
# Michael Orlitzky <mjo@gentoo.org> (2023-12-05)
# New unstable PHP slot.
php_targets_php8-3
@@ -12,10 +17,6 @@ php_targets_php8-3
# Not stable yet.
postgres_targets_postgres16
-# Sam James <sam@gentoo.org> (2023-05-29)
-# Currently in testing and not ready to go stable yet.
-ruby_targets_ruby32
-
# Michał Górny <mgorny@gentoo.org> (2023-05-23)
# Mask until dev-lang/python:3.12 becomes stable.
python_targets_python3_12
diff --git a/profiles/desc/ruby_targets.desc b/profiles/desc/ruby_targets.desc
index 61b5e13cbf97..59b7102b6326 100644
--- a/profiles/desc/ruby_targets.desc
+++ b/profiles/desc/ruby_targets.desc
@@ -8,3 +8,4 @@ ruby27 - Build with MRI Ruby 2.7.x
ruby30 - Build with MRI Ruby 3.0.x
ruby31 - Build with MRI Ruby 3.1.x
ruby32 - Build with MRI Ruby 3.2.x
+ruby33 - Build with MRI Ruby 3.3.x