diff options
author | Repository mirror & CI <repomirrorci@gentoo.org> | 2023-12-25 09:16:47 +0000 |
---|---|---|
committer | Repository mirror & CI <repomirrorci@gentoo.org> | 2023-12-25 09:16:47 +0000 |
commit | d34bfd99b6056bac4e89a815b14a414da987b153 (patch) | |
tree | f3798f5717ca04497e1532286488b60a1bdca464 | |
parent | 2023-12-25 08:46:57 UTC (diff) | |
parent | dev-lang/erlang: add 26.2.1 (diff) | |
download | gentoo-d34bfd99b6056bac4e89a815b14a414da987b153.tar.gz gentoo-d34bfd99b6056bac4e89a815b14a414da987b153.tar.bz2 gentoo-d34bfd99b6056bac4e89a815b14a414da987b153.zip |
Merge updates from master
-rw-r--r-- | dev-lang/erlang/Manifest | 1 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-26.2.1.ebuild | 183 | ||||
-rw-r--r-- | dev-ruby/bundler/Manifest | 1 | ||||
-rw-r--r-- | dev-ruby/bundler/bundler-2.4.22.ebuild | 30 | ||||
-rw-r--r-- | dev-ruby/debug/Manifest | 1 | ||||
-rw-r--r-- | dev-ruby/debug/debug-1.9.1.ebuild | 38 | ||||
-rw-r--r-- | dev-ruby/rubygems/Manifest | 1 | ||||
-rw-r--r-- | dev-ruby/rubygems/rubygems-3.4.22.ebuild | 116 | ||||
-rw-r--r-- | eclass/ruby-utils.eclass | 4 | ||||
-rw-r--r-- | profiles/base/use.stable.mask | 9 | ||||
-rw-r--r-- | profiles/desc/ruby_targets.desc | 1 |
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 |