summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2022-05-01 07:51:25 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2022-05-01 07:51:25 +0000
commite2a3b76e62c1ab2a493227e6b22dc74018c7ce1e (patch)
treefbf6a7c38f3b4a9baeb50a80b92609f0f90ca059
parent2022-05-01 07:33:06 UTC (diff)
parentdev-lang/ruby: drop 2.6.9, 2.7.5 (diff)
downloadgentoo-e2a3b76e62c1ab2a493227e6b22dc74018c7ce1e.tar.gz
gentoo-e2a3b76e62c1ab2a493227e6b22dc74018c7ce1e.tar.bz2
gentoo-e2a3b76e62c1ab2a493227e6b22dc74018c7ce1e.zip
Merge updates from master
-rw-r--r--app-i18n/mozc/mozc-2.26.4220_p20201212102434_p20201219202429.ebuild2
-rw-r--r--app-i18n/mozc/mozc-9999.ebuild2
-rw-r--r--dev-lang/ruby/Manifest2
-rw-r--r--dev-lang/ruby/ruby-2.6.9.ebuild258
-rw-r--r--dev-lang/ruby/ruby-2.7.5.ebuild272
-rw-r--r--dev-python/dirty-equals/Manifest1
-rw-r--r--dev-python/dirty-equals/dirty-equals-0.4.ebuild40
-rw-r--r--dev-python/exceptiongroup/Manifest1
-rw-r--r--dev-python/exceptiongroup/exceptiongroup-1.0.0_rc5.ebuild34
-rw-r--r--dev-python/fixtures/Manifest1
-rw-r--r--dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch56
-rw-r--r--dev-python/fixtures/fixtures-4.0.0.ebuild40
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.46.1.ebuild65
-rw-r--r--dev-python/watchfiles/watchfiles-0.13.ebuild2
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild2
-rw-r--r--dev-ruby/naught/naught-1.1.0-r1.ebuild4
-rw-r--r--dev-ruby/necromancer/necromancer-0.7.0.ebuild4
-rw-r--r--dev-ruby/nenv/nenv-0.3.0-r1.ebuild4
-rw-r--r--dev-util/cmake/cmake-3.22.2.ebuild2
-rw-r--r--eclass/cmake-utils.eclass5
-rw-r--r--eclass/cmake.eclass5
-rw-r--r--eclass/distutils-r1.eclass15
-rw-r--r--eclass/llvm.org.eclass2
-rw-r--r--eclass/multiprocessing.eclass11
-rw-r--r--eclass/ninja-utils.eclass4
-rw-r--r--eclass/python-utils-r1.eclass4
-rwxr-xr-xeclass/tests/multiprocessing_makeopts_jobs.sh15
-rw-r--r--media-sound/apulse/apulse-0.1.13-r2.ebuild3
29 files changed, 287 insertions, 570 deletions
diff --git a/app-i18n/mozc/mozc-2.26.4220_p20201212102434_p20201219202429.ebuild b/app-i18n/mozc/mozc-2.26.4220_p20201212102434_p20201219202429.ebuild
index 8ac56d51c502..7d999af9f7b8 100644
--- a/app-i18n/mozc/mozc-2.26.4220_p20201212102434_p20201219202429.ebuild
+++ b/app-i18n/mozc/mozc-2.26.4220_p20201212102434_p20201219202429.ebuild
@@ -159,7 +159,7 @@ src_prepare() {
sed \
-e "s/def GypMain(options, unused_args):/def GypMain(options, gyp_args):/" \
-e "s/RunOrDie(gyp_command + gyp_options)/RunOrDie(gyp_command + gyp_options + gyp_args)/" \
- -e "s/RunOrDie(\[ninja/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \
+ -e "s/RunOrDie(\[ninja/&, '-j$(makeopts_jobs "${MAKEOPTS}" 999)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \
-i build_mozc.py || die
local ar=($(tc-getAR))
diff --git a/app-i18n/mozc/mozc-9999.ebuild b/app-i18n/mozc/mozc-9999.ebuild
index 911bfa462a43..31dff85e7c27 100644
--- a/app-i18n/mozc/mozc-9999.ebuild
+++ b/app-i18n/mozc/mozc-9999.ebuild
@@ -159,7 +159,7 @@ src_prepare() {
sed \
-e "s/def GypMain(options, unused_args):/def GypMain(options, gyp_args):/" \
-e "s/RunOrDie(gyp_command + gyp_options)/RunOrDie(gyp_command + gyp_options + gyp_args)/" \
- -e "s/RunOrDie(\[ninja/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \
+ -e "s/RunOrDie(\[ninja/&, '-j$(makeopts_jobs "${MAKEOPTS}" 999)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \
-i build_mozc.py || die
local ar=($(tc-getAR))
diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
index d01ef691c45f..5aab4011dd7d 100644
--- a/dev-lang/ruby/Manifest
+++ b/dev-lang/ruby/Manifest
@@ -1,6 +1,4 @@
DIST ruby-2.6.10.tar.xz 11582056 BLAKE2B faa0fd6e4b462ed6473191b39bb19dda78f64c555b6eae0c9d53a81cffca55c31d1fa04345dc2f8a951029e41bb973b2194b1f15964d8a3db973bf2872fff126 SHA512 06ebf1442c4bf4be62eb710348cfb714cbc4c4acc5125319a425fe76ef2be7cccfd41e50bf3751bfef3ceb8ac47ad41a027d2c2ad560e25ec694e34fd9f62a8a
-DIST ruby-2.6.9.tar.xz 11590064 BLAKE2B 8d14baf479053b7fab517f1e41191b009413d557431c558d92489a36d539f9a667571e4493abba171b047f8ba6d1f676fb6d2f2152fcae737924e773a324ddf6 SHA512 f60aa89e685cea324185eb0d13e6b44caef4e4f761cbf9ea1386ae70e39faf3866ac01e4bb5354574f2583e74290b8c80eaf63d126040d52368be6c771476451
-DIST ruby-2.7.5.tar.xz 12072980 BLAKE2B 50bb822cb2c5e76fee8755c710b593ce3bcb0f4f14b96a4e9eef5e58b4614bcf5f91491586b1dd6411fce57c258a7ad80136cd3cfbddf28e4fd4b37f486d2bea SHA512 21c8a713e3ce115fc4c405113ac691ddcefc3419f528b93ca1ac59e7052c1b6e9e241da0e570e291e567f28f3d840824dbcc5967b216cbe7d6ca7a05580fa311
DIST ruby-2.7.6.tar.xz 12084408 BLAKE2B 4b40e66aeeca3884983fffcf31c4713eb4fcdd62232e795dc5a0c03236c3c05200068902c0cb987455297bec2bcfc2a9a24f2841d18a480c7d09b86318daab3f SHA512 e86410b59d5917786fe43b00fd75dedd0e7f84611286b9274c542d2e562088fcee6bcc6c2596c30ccf793280d2bac6bfbb2619ef0513b3ca31f10f88684c7b1f
DIST ruby-3.0.4.tar.xz 15830368 BLAKE2B 3d1f2e6329269febbd02ac8a68aafd57d5ca858c816a81e754adfc9aa2990274d190672447244520fe9fbf9a1d337d17c845a97800f964e2046b2ef9eef733ee SHA512 53bf7dd403b0c68af9691882ad8ed7422c8d1f496627428fb4c3caf0b0313715524b744c5f453aced2d49e16e55f3f45b46b9a77aa3097dbfcae7caa0208194b
DIST ruby-3.1.2.tar.xz 15101588 BLAKE2B 3f06d432f023d65c4808379140c18a922ad6c6443cf7f4b5ed3d44d2e0b7e19cbf0064b5214b46f3c5335f4e61ff473943fd565082ef0b645558b83e89dd0533 SHA512 4a74e9efc6ea4b3eff4fec7534eb1fff4794d021531defc2e9937e53c6668db8ecdc0fff2bc23d5e6602d0df344a2caa85b31c5414309541e3d5313ec82b6e21
diff --git a/dev-lang/ruby/ruby-2.6.9.ebuild b/dev-lang/ruby/ruby-2.6.9.ebuild
deleted file mode 100644
index 4046ef396c97..000000000000
--- a/dev-lang/ruby/ruby-2.6.9.ebuild
+++ /dev/null
@@ -1,258 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic multilib
-
-MY_P="${PN}-$(ver_cut 1-3)"
-S=${WORKDIR}/${MY_P}
-
-SLOT=$(ver_cut 1-2)
-MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
-RUBYVERSION=${SLOT}.0
-
-DESCRIPTION="An object-oriented scripting language"
-HOMEPAGE="https://www.ruby-lang.org/"
-SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
-
-LICENSE="|| ( Ruby-BSD BSD-2 )"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit +rdoc rubytests socks5 +ssl static-libs systemtap tk xemacs"
-
-RDEPEND="
- berkdb? ( sys-libs/db:= )
- gdbm? ( sys-libs/gdbm:= )
- jemalloc? ( dev-libs/jemalloc:= )
- jit? ( || ( sys-devel/gcc:* sys-devel/clang:* ) )
- ssl? (
- dev-libs/openssl:0=
- )
- socks5? ( >=net-proxy/dante-1.1.13 )
- systemtap? ( dev-util/systemtap )
- tk? (
- dev-lang/tcl:0=[threads]
- dev-lang/tk:0=[threads]
- )
- dev-libs/libyaml
- dev-libs/libffi:=
- sys-libs/readline:0=
- sys-libs/zlib
- virtual/libcrypt:=
- >=app-eselect/eselect-ruby-20181225
-"
-
-DEPEND="${RDEPEND}"
-
-BUNDLED_GEMS="
- >=dev-ruby/did_you_mean-1.2.1[ruby_targets_ruby26]
- >=dev-ruby/minitest-5.11.3[ruby_targets_ruby26]
- >=dev-ruby/net-telnet-0.2.0[ruby_targets_ruby26]
- >=dev-ruby/power_assert-1.1.3[ruby_targets_ruby26]
- >=dev-ruby/rake-12.3.2[ruby_targets_ruby26]
- >=dev-ruby/test-unit-3.2.9[ruby_targets_ruby26]
- >=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby26]
-"
-
-PDEPEND="
- ${BUNDLED_GEMS}
- virtual/rubygems[ruby_targets_ruby26]
- >=dev-ruby/bundler-1.17.2[ruby_targets_ruby26]
- >=dev-ruby/json-2.0.2[ruby_targets_ruby26]
- rdoc? ( >=dev-ruby/rdoc-6.1.2[ruby_targets_ruby26] )
- xemacs? ( app-xemacs/ruby-modes )"
-
-src_prepare() {
- # 005 does not compile bigdecimal and is questionable because it
- # compiles ruby in a non-standard way, may be dropped
- eapply "${FILESDIR}"/2.6/{002,010}*.patch
-
- einfo "Unbundling gems..."
- cd "$S"
- # Remove bundled gems that we will install via PDEPEND, bug
- # 539700.
- rm -fr gems/* || die
-
- einfo "Removing bundled libraries..."
- rm -fr ext/fiddle/libffi-3.2.1 || die
-
- if use prefix ; then
- # Fix hardcoded SHELL var in mkmf library
- sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die
-
- if [[ ${CHOST} == *darwin* ]] ; then
- # avoid symlink loop on Darwin (?!)
- sed -i \
- -e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \
- configure.ac || die
-
- # make ar/libtool hack for Darwin work
- sed -i \
- -e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \
- configure.ac || die
- fi
- fi
-
- eapply_user
-
- eautoreconf
-}
-
-src_configure() {
- local modules= myconf=
-
- # -fomit-frame-pointer makes ruby segfault, see bug #150413.
- filter-flags -fomit-frame-pointer
- # In many places aliasing rules are broken; play it safe
- # as it's risky with newer compilers to leave it as it is.
- append-flags -fno-strict-aliasing
-
- # Socks support via dante
- if use socks5 ; then
- # Socks support can't be disabled as long as SOCKS_SERVER is
- # set and socks library is present, so need to unset
- # SOCKS_SERVER in that case.
- unset SOCKS_SERVER
- fi
-
- # Increase GC_MALLOC_LIMIT if set (default is 8000000)
- if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
- append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
- fi
-
- # ipv6 hack, bug 168939. Needs --enable-ipv6.
- use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
-
- # Determine which modules *not* to build depending in the USE flags.
- if ! use berkdb ; then
- modules="${modules},dbm"
- fi
- if ! use gdbm ; then
- modules="${modules},gdbm"
- fi
- if ! use ssl ; then
- modules="${modules},openssl"
- fi
- if ! use tk ; then
- modules="${modules},tk"
- fi
-
- # Provide an empty LIBPATHENV because we disable rpath but we do not
- # need LD_LIBRARY_PATH by default since that breaks USE=multitarget
- # #564272
- INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
- --program-suffix=${MY_SUFFIX} \
- --with-soname=ruby${MY_SUFFIX} \
- --with-readline-dir="${EPREFIX}"/usr \
- --enable-shared \
- --enable-pthread \
- --disable-rpath \
- --with-out-ext="${modules}" \
- $(use_with jemalloc jemalloc) \
- $(use_enable jit jit-support ) \
- $(use_enable socks5 socks) \
- $(use_enable systemtap dtrace) \
- $(use_enable doc install-doc) \
- --enable-ipv6 \
- $(use_enable static-libs static) \
- $(use_enable static-libs install-static-library) \
- $(use_with static-libs static-linked-ext) \
- $(use_enable debug) \
- ${myconf} \
- --enable-option-checking=no
-
- # Makefile is broken because it lacks -ldl
- rm -rf ext/-test-/popen_deadlock || die
-}
-
-src_compile() {
- emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS=""
-}
-
-src_test() {
- emake -j1 V=1 test
-
- elog "Ruby's make test has been run. Ruby also ships with a make check"
- elog "that cannot be run until after ruby has been installed."
- elog
- if use rubytests; then
- elog "You have enabled rubytests, so they will be installed to"
- elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
- elog "than root, and you must place them into a writeable directory."
- elog "Then call: "
- elog
- elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
- else
- elog "Enable the rubytests USE flag to install the make check tests"
- fi
-}
-
-src_install() {
- # Remove the remaining bundled gems. We do this late in the process
- # since they are used during the build to e.g. create the
- # documentation.
- einfo "Removing default gems before installation"
- rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die
-
- # Ruby is involved in the install process, we don't want interference here.
- unset RUBYOPT
-
- local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
-
- LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
-
- if [[ ${CHOST} == *darwin* ]] ; then
- DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}"
- export DYLD_LIBRARY_PATH
- fi
-
- RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
- for d in $(find "${S}/ext" -type d) ; do
- RUBYLIB="${RUBYLIB}:$d"
- done
- export LD_LIBRARY_PATH RUBYLIB
-
- # Create directory for the default gems
- local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}"
- mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed"
-
- emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install
-
- # Remove installed rubygems and rdoc copy
- rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
- rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
- rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
- rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
-
- if use doc; then
- emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc
- fi
-
- if use examples; then
- dodoc -r sample
- fi
-
- dodoc ChangeLog NEWS doc/NEWS* README*
-
- if use rubytests; then
- pushd test
- insinto /usr/share/${PN}-${SLOT}/test
- doins -r .
- popd
- fi
-}
-
-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(23|24|...)"
- elog
-}
-
-pkg_postrm() {
- eselect ruby cleanup
-}
diff --git a/dev-lang/ruby/ruby-2.7.5.ebuild b/dev-lang/ruby/ruby-2.7.5.ebuild
deleted file mode 100644
index 7c21b8f77838..000000000000
--- a/dev-lang/ruby/ruby-2.7.5.ebuild
+++ /dev/null
@@ -1,272 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic multilib
-
-MY_P="${PN}-$(ver_cut 1-3)"
-S=${WORKDIR}/${MY_P}
-
-SLOT=$(ver_cut 1-2)
-MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
-RUBYVERSION=${SLOT}.0
-
-DESCRIPTION="An object-oriented scripting language"
-HOMEPAGE="https://www.ruby-lang.org/"
-SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
-
-LICENSE="|| ( Ruby-BSD BSD-2 )"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit +rdoc rubytests socks5 +ssl static-libs systemtap tk xemacs"
-
-RDEPEND="
- berkdb? ( sys-libs/db:= )
- gdbm? ( sys-libs/gdbm:= )
- jemalloc? ( dev-libs/jemalloc:= )
- jit? ( || ( sys-devel/gcc:* sys-devel/clang:* ) )
- ssl? (
- dev-libs/openssl:0=
- )
- socks5? ( >=net-proxy/dante-1.1.13 )
- systemtap? ( dev-util/systemtap )
- tk? (
- dev-lang/tcl:0=[threads]
- dev-lang/tk:0=[threads]
- )
- dev-libs/libyaml
- dev-libs/libffi:=
- sys-libs/readline:0=
- sys-libs/zlib
- virtual/libcrypt:=
- >=app-eselect/eselect-ruby-20191222
-"
-
-DEPEND="${RDEPEND}"
-
-BUNDLED_GEMS="
- >=dev-ruby/minitest-5.13.0[ruby_targets_ruby27]
- >=dev-ruby/net-telnet-0.2.0[ruby_targets_ruby27]
- >=dev-ruby/power_assert-1.1.7[ruby_targets_ruby27]
- >=dev-ruby/rake-13.0.1[ruby_targets_ruby27]
- >=dev-ruby/test-unit-3.3.4[ruby_targets_ruby27]
- >=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby27]
-"
-
-PDEPEND="
- ${BUNDLED_GEMS}
- virtual/rubygems[ruby_targets_ruby27]
- >=dev-ruby/bundler-2.1.4[ruby_targets_ruby27]
- >=dev-ruby/did_you_mean-1.3.1[ruby_targets_ruby27]
- >=dev-ruby/json-2.0.2[ruby_targets_ruby27]
- rdoc? ( >=dev-ruby/rdoc-6.1.2[ruby_targets_ruby27] )
- xemacs? ( app-xemacs/ruby-modes )"
-
-src_prepare() {
- eapply "${FILESDIR}"/2.7/{003,010}*.patch
-
- if use elibc_musl ; then
- eapply "${FILESDIR}"/2.7/{900,901}-musl-*.patch
- fi
-
- # Reset time on patched gem_prelude.rb to avoid the need for a base
- # ruby during bootstrapping, bug 787137
- touch -t 202001010000 gem_prelude.rb || die
-
- einfo "Unbundling gems..."
- cd "$S"
- # Remove bundled gems that we will install via PDEPEND, bug
- # 539700.
- rm -fr gems/* || die
- # Don't install CLI tools since they will clash with the gem
- rm -f bin/{racc,racc2y,y2racc} || die
- sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die
-
- einfo "Removing bundled libraries..."
- rm -fr ext/fiddle/libffi-3.2.1 || die
-
- if use prefix ; then
- # Fix hardcoded SHELL var in mkmf library
- sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die
-
- if [[ ${CHOST} == *darwin* ]] ; then
- # avoid symlink loop on Darwin (?!)
- sed -i \
- -e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \
- configure.ac || die
-
- # make ar/libtool hack for Darwin work
- sed -i \
- -e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \
- configure.ac || die
-
- # disable using security framework (GCC barfs on those headers)
- sed -i \
- -e 's/MAC_OS_X_VERSION_MIN_REQUIRED/_DISABLED_/' \
- random.c || die
- fi
- fi
-
- eapply_user
-
- eautoreconf
-}
-
-src_configure() {
- local modules= myconf=
-
- # -fomit-frame-pointer makes ruby segfault, see bug #150413.
- filter-flags -fomit-frame-pointer
- # In many places aliasing rules are broken; play it safe
- # as it's risky with newer compilers to leave it as it is.
- append-flags -fno-strict-aliasing
-
- # Socks support via dante
- if use socks5 ; then
- # Socks support can't be disabled as long as SOCKS_SERVER is
- # set and socks library is present, so need to unset
- # SOCKS_SERVER in that case.
- unset SOCKS_SERVER
- fi
-
- # Increase GC_MALLOC_LIMIT if set (default is 8000000)
- if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
- append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
- fi
-
- # ipv6 hack, bug 168939. Needs --enable-ipv6.
- use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
-
- # Determine which modules *not* to build depending in the USE flags.
- if ! use berkdb ; then
- modules="${modules},dbm"
- fi
- if ! use gdbm ; then
- modules="${modules},gdbm"
- fi
- if ! use ssl ; then
- modules="${modules},openssl"
- fi
- if ! use tk ; then
- modules="${modules},tk"
- fi
-
- # Provide an empty LIBPATHENV because we disable rpath but we do not
- # need LD_LIBRARY_PATH by default since that breaks USE=multitarget
- # #564272
- INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
- --program-suffix=${MY_SUFFIX} \
- --with-soname=ruby${MY_SUFFIX} \
- --with-readline-dir="${EPREFIX}"/usr \
- --enable-shared \
- --enable-pthread \
- --disable-rpath \
- --with-out-ext="${modules}" \
- $(use_with jemalloc jemalloc) \
- $(use_enable jit jit-support ) \
- $(use_enable socks5 socks) \
- $(use_enable systemtap dtrace) \
- $(use_enable doc install-doc) \
- --enable-ipv6 \
- $(use_enable static-libs static) \
- $(use_enable static-libs install-static-library) \
- $(use_with static-libs static-linked-ext) \
- $(use_enable debug) \
- ${myconf} \
- --enable-option-checking=no
-
- # Makefile is broken because it lacks -ldl
- rm -rf ext/-test-/popen_deadlock || die
-}
-
-src_compile() {
- emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS=""
-}
-
-src_test() {
- emake -j1 V=1 test
-
- elog "Ruby's make test has been run. Ruby also ships with a make check"
- elog "that cannot be run until after ruby has been installed."
- elog
- if use rubytests; then
- elog "You have enabled rubytests, so they will be installed to"
- elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
- elog "than root, and you must place them into a writeable directory."
- elog "Then call: "
- elog
- elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
- else
- elog "Enable the rubytests USE flag to install the make check tests"
- fi
-}
-
-src_install() {
- # Remove the remaining bundled gems. We do this late in the process
- # since they are used during the build to e.g. create the
- # documentation.
- einfo "Removing default gems before installation"
- rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die
-
- # Ruby is involved in the install process, we don't want interference here.
- unset RUBYOPT
-
- local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
-
- LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
-
- if [[ ${CHOST} == *darwin* ]] ; then
- DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}"
- export DYLD_LIBRARY_PATH
- fi
-
- RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
- for d in $(find "${S}/ext" -type d) ; do
- RUBYLIB="${RUBYLIB}:$d"
- done
- export LD_LIBRARY_PATH RUBYLIB
-
- # Create directory for the default gems
- local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}"
- mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed"
-
- emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install
-
- # Remove installed rubygems and rdoc copy
- rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
- rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
- rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
- rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
-
- if use doc; then
- emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc
- fi
-
- if use examples; then
- dodoc -r sample
- fi
-
- dodoc ChangeLog NEWS doc/NEWS* README*
-
- if use rubytests; then
- pushd test
- insinto /usr/share/${PN}-${SLOT}/test
- doins -r .
- popd
- fi
-}
-
-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(23|24|...)"
- elog
-}
-
-pkg_postrm() {
- eselect ruby cleanup
-}
diff --git a/dev-python/dirty-equals/Manifest b/dev-python/dirty-equals/Manifest
index 1060596d4408..6f04bc80fdc4 100644
--- a/dev-python/dirty-equals/Manifest
+++ b/dev-python/dirty-equals/Manifest
@@ -1 +1,2 @@
DIST dirty-equals-0.3.gh.tar.gz 41665 BLAKE2B af46fb9b7f0e0eb6aba09e682db73b8eef4ab9d73523cf81fb510c093cbaaa18f87c9666094aa05031eda1c32374113bc59b404ab987472821aa21ef135c038d SHA512 b6bf9a241abdbf9f74dec6efa48a23d3a665910d964947b4583127930e940001600b410d524ab1ac48c75a030f1a37528a8dbce30e982f09f913b2b3afca77f1
+DIST dirty-equals-0.4.gh.tar.gz 41864 BLAKE2B 0b916d37b323e9f587a977b46415432bc11367a6d0c95ac49e47fe604b3ee16c26eaecbbe74464076834c6186f5f0eecc049b211699a3f515ef7fdadc492537a SHA512 f98fa8c9850f26efc44dc2c5cc0ea6d687c07b49980c3eeaa71eaae78930e418c03bb35cb88aab065905443fa354b9b05d44a588458ed37d140d376b943c9da9
diff --git a/dev-python/dirty-equals/dirty-equals-0.4.ebuild b/dev-python/dirty-equals/dirty-equals-0.4.ebuild
new file mode 100644
index 000000000000..2f8a22f1ddcc
--- /dev/null
+++ b/dev-python/dirty-equals/dirty-equals-0.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Doing dirty (but extremely useful) things with equals"
+HOMEPAGE="
+ https://dirty-equals.helpmanual.io/
+ https://github.com/samuelcolvin/dirty-equals/
+ https://pypi.org/project/dirty-equals/
+"
+SRC_URI="
+ https://github.com/samuelcolvin/dirty-equals/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pytz-2021.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x TZ=UTC
+ epytest
+}
diff --git a/dev-python/exceptiongroup/Manifest b/dev-python/exceptiongroup/Manifest
index d4a9c582583b..72236eb17afd 100644
--- a/dev-python/exceptiongroup/Manifest
+++ b/dev-python/exceptiongroup/Manifest
@@ -1 +1,2 @@
DIST exceptiongroup-1.0.0rc3.gh.tar.gz 15973 BLAKE2B de9e6e272beca083a6bfe4bd85f9a450e7ec379b903dade27b0ea358762431dfad62d845f5285ec37ebd4f5458105fa6c9be3e075fc6122613088f023d31b04b SHA512 c3f55aae05635aa3360dbf21fbe0005df64b32c9a9521ef7d6026f9746522e4bff485784114913777b828612c20d8385dab49e5d1ffb642999c1f8180b94b2c5
+DIST exceptiongroup-1.0.0rc5.gh.tar.gz 16454 BLAKE2B 55af4d2240e4a5567f5669d15e8507c454d47c1f7d8f72212afeecfa37e0c4a6b36f9176a87a48d3f9edf0628a8c99863670d24aca3770dd88abaa463784c731 SHA512 dd5ee895b4531524c4f0dfaedf818ac76a1b6fe74cd75bbce824b6a0d2b981673ffd6ba36f71b5dacf3e17c89d196a258400d04a64c71f28c221d7fb0f934ab7
diff --git a/dev-python/exceptiongroup/exceptiongroup-1.0.0_rc5.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.0.0_rc5.ebuild
new file mode 100644
index 000000000000..2571619d98a3
--- /dev/null
+++ b/dev-python/exceptiongroup/exceptiongroup-1.0.0_rc5.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit_scm
+PYTHON_COMPAT=( pypy3 python3_{8..10} )
+
+inherit distutils-r1
+
+MY_P=${P/_}
+DESCRIPTION="Backport of PEP 654 (exception groups)"
+HOMEPAGE="
+ https://github.com/agronholm/exceptiongroup/
+ https://pypi.org/project/exceptiongroup/
+"
+SRC_URI="
+ https://github.com/agronholm/exceptiongroup/archive/${PV/_}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT PSF-2.4"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV/_}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/fixtures/Manifest b/dev-python/fixtures/Manifest
index c7aded1d7fb5..039cc343e28e 100644
--- a/dev-python/fixtures/Manifest
+++ b/dev-python/fixtures/Manifest
@@ -1 +1,2 @@
DIST fixtures-3.0.0.tar.gz 56629 BLAKE2B 949c67c428f5e5ca0afc2f875dd4e2a212922415762a2528c185794e4ae2b74d32873aaf7132d97dec95a681bb4d87d85b11a39c43c64cd531dd4bf2fce75f87 SHA512 e52ba864c42d15a8baa60583761006b2dd78e3cd5f3f043f5702346aef428b933d62e8fa5889b7cb4196e4072acc5df3b7ffa39702a1b782887bdc109299b695
+DIST fixtures-4.0.0.tar.gz 56786 BLAKE2B 7fa8916d3e384a47c967b51ffeebb81c50c4be7432601aa94f220b6ae32ed189f16750cb126c2925995c2e945684c48041014a97902145343527e8856125b61a SHA512 dcd67c3df9efc16f2a21b6d2917a5b7e45ecc09d1ddbd1de98a5b4b717ea7da0fc82e1054f494255b419a792e841145110c77a1772444f4019fc02e9917c5b80
diff --git a/dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch b/dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch
new file mode 100644
index 000000000000..dfe7bade82fa
--- /dev/null
+++ b/dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch
@@ -0,0 +1,56 @@
+From 2adba3989fc3d1723eb6534ae0bc1aeaf1513cfa Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 28 Apr 2022 12:14:55 +0200
+Subject: [PATCH] Revert to the previous classmethod expectations for PyPy3.9
+
+Commit fe83067 has changed TestMonkeyPatch to account for changes
+in classmethod handling in CPython 3.9. Unfortunately, this broke
+the tests on PyPy3.9. Revert to the old expectations when using PyPy.
+
+Fixes #64
+---
+ fixtures/tests/_fixtures/test_monkeypatch.py | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/fixtures/tests/_fixtures/test_monkeypatch.py b/fixtures/tests/_fixtures/test_monkeypatch.py
+index 746f6dd..08cd1c8 100644
+--- a/fixtures/tests/_fixtures/test_monkeypatch.py
++++ b/fixtures/tests/_fixtures/test_monkeypatch.py
+@@ -23,6 +23,9 @@ from fixtures import MonkeyPatch, TestWithFixtures
+
+ reference = 23
+
++NEW_PY39_CLASSMETHOD = (
++ sys.version_info >= (3, 9) and not hasattr(sys, "pypy_version_info"))
++
+ class C(object):
+ def foo(self, arg):
+ return arg
+@@ -196,7 +199,7 @@ class TestMonkeyPatch(testtools.TestCase, TestWithFixtures):
+ # with the class
+ #
+ # https://bugs.python.org/issue19072
+- if sys.version_info >= (3, 9):
++ if NEW_PY39_CLASSMETHOD:
+ cls, = C.foo_cls()
+ self.expectThat(cls, Is(D))
+ cls, = C().foo_cls()
+@@ -238,13 +241,13 @@ class TestMonkeyPatch(testtools.TestCase, TestWithFixtures):
+ self.expectThat(slf, Is(d))
+ # See note in test_patch_classmethod_with_classmethod on changes in
+ # Python 3.9
+- if sys.version_info >= (3, 9):
++ if NEW_PY39_CLASSMETHOD:
+ self.expectThat(cls, Is(None))
+ else:
+ self.expectThat(cls, Is(C))
+ slf, cls = C().foo_cls()
+ self.expectThat(slf, Is(d))
+- if sys.version_info >= (3, 9):
++ if NEW_PY39_CLASSMETHOD:
+ self.expectThat(cls, Is(None))
+ else:
+ self.expectThat(cls, Is(C))
+--
+2.35.1
+
diff --git a/dev-python/fixtures/fixtures-4.0.0.ebuild b/dev-python/fixtures/fixtures-4.0.0.ebuild
new file mode 100644
index 000000000000..25709bab8188
--- /dev/null
+++ b/dev-python/fixtures/fixtures-4.0.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Fixtures, reusable state for writing clean tests and more"
+HOMEPAGE="
+ https://github.com/testing-cabal/fixtures/
+ https://pypi.org/project/fixtures/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/pbr-5.7.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-pypy39.patch
+)
+
+python_test() {
+ emake check
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 80538bfddb1d..40fcb3a3a589 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -5,3 +5,4 @@ DIST hypothesis-python-6.45.0.tar.gz 9191348 BLAKE2B e607b21f0e24daec57b19be5e8c
DIST hypothesis-python-6.45.1.tar.gz 9190980 BLAKE2B 61365d27603383cb76d62a0f0f4ca01ac09c779d90b8f028709fedb20dccabb8bb3d452d7bf87926a8bc30c334387378e1cc8e2b42c9bfa8834577e01b34d635 SHA512 a68eaf4b5012735027aba70eae8c244747a676e345b5ab6c6f7e08cab58ce3330410eba5eaa1ded89d1e15386bf644d3df9012b382d675e967781cd7b762fb21
DIST hypothesis-python-6.45.3.tar.gz 9191554 BLAKE2B 0fc07224be3c0f9f852d86c70540f616ea5f2b081e8e784ade4af105597146fd16c8c5245ca8e4fcf681847e4214b13da36dd88f81be4a24411e516b313f428a SHA512 f103e45de796d9c6374dd51e16d05e3aab472ad86d9f78dba810ab4a034893aac3aebf944af279d850f3138a6205c56c91c6e861673fb777228a9fb5d3a5a59c
DIST hypothesis-python-6.46.0.tar.gz 9192054 BLAKE2B acfb6136b43f29b62ebd843a8c1437955f2f6681af16293f0f0a0fb651c0a69fb06c15b67fac8f9f73ad2459e0a5a0e4292e5dae1eb0a49e14760849a3af944f SHA512 5fcfd72d17a69e0dcd23a0d5633c15507017750dce61ae2be457151e4099ea7aea66b7d8b0aad98615453763935bb353197b094191dea78ece3ff297c89cf71f
+DIST hypothesis-python-6.46.1.tar.gz 9192240 BLAKE2B cb38e1f7fdc4a9586c3920f2d9270a9ad08a77eab52ba493e4ae4fb8ab17780b49f0e4f52004bc330021836a1470feffb96554757495259d34cf52f4ae2b264f SHA512 b273e6c77251544314babdc891e8c2f3f9098b97ba25cfa7eee960773e4508840c27af2b993daa00546cb269eb58d74b6bbfefef2d8869e2d202622983af520a
diff --git a/dev-python/hypothesis/hypothesis-6.46.1.ebuild b/dev-python/hypothesis/hypothesis-6.46.1.ebuild
new file mode 100644
index 000000000000..5b35c96c0a4d
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.46.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 multiprocessing optfeature
+
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="https://github.com/HypothesisWorks/hypothesis https://pypi.org/project/hypothesis/"
+SRC_URI="https://github.com/HypothesisWorks/${PN}/archive/${PN}-python-${PV}.tar.gz"
+S="${WORKDIR}/${PN}-${PN}-python-${PV}/${PN}-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' python3_{8..10})
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,pytest_forked,_hypothesis_pytestplugin
+
+ epytest tests/cover tests/pytest tests/quality \
+ -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
+}
+
+python_install() {
+ distutils-r1_python_install
+ if ! use cli || ! has "${EPYTHON}" python3.{8..10}; then
+ rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/watchfiles/watchfiles-0.13.ebuild b/dev-python/watchfiles/watchfiles-0.13.ebuild
index 7e1c999bee90..e9c8913d1a1f 100644
--- a/dev-python/watchfiles/watchfiles-0.13.ebuild
+++ b/dev-python/watchfiles/watchfiles-0.13.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
CRATES="
autocfg-1.1.0
diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild
index 6d206e2f1198..6a665711c4c2 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild
@@ -233,7 +233,7 @@ src_prepare() {
src_configure() {
export NINJA_PATH=/usr/bin/ninja
- export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+ export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
local myqmakeargs=(
--
diff --git a/dev-ruby/naught/naught-1.1.0-r1.ebuild b/dev-ruby/naught/naught-1.1.0-r1.ebuild
index ebda1f6d4c44..3d848dda9b1c 100644
--- a/dev-ruby/naught/naught-1.1.0-r1.ebuild
+++ b/dev-ruby/naught/naught-1.1.0-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby26 ruby27 ruby30"
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
diff --git a/dev-ruby/necromancer/necromancer-0.7.0.ebuild b/dev-ruby/necromancer/necromancer-0.7.0.ebuild
index b1e9e54126db..73d45d482c7d 100644
--- a/dev-ruby/necromancer/necromancer-0.7.0.ebuild
+++ b/dev-ruby/necromancer/necromancer-0.7.0.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-USE_RUBY="ruby25 ruby26 ruby27"
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
diff --git a/dev-ruby/nenv/nenv-0.3.0-r1.ebuild b/dev-ruby/nenv/nenv-0.3.0-r1.ebuild
index ad6d13ad68d1..19fd0447c95d 100644
--- a/dev-ruby/nenv/nenv-0.3.0-r1.ebuild
+++ b/dev-ruby/nenv/nenv-0.3.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby26 ruby27 ruby30"
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_TASK_DOC=""
diff --git a/dev-util/cmake/cmake-3.22.2.ebuild b/dev-util/cmake/cmake-3.22.2.ebuild
index e13d8a8d6880..4f6802639a27 100644
--- a/dev-util/cmake/cmake-3.22.2.ebuild
+++ b/dev-util/cmake/cmake-3.22.2.ebuild
@@ -117,7 +117,7 @@ cmake_src_test() {
# RunCMake.{IncompatibleQt,ObsoleteQtMacros}: Require Qt4
# TestUpload: requires network access
"${BUILD_DIR}"/bin/ctest \
- -j "$(makeopts_jobs)" \
+ -j "$(makeopts_jobs "${MAKEOPTS}" 999)" \
--test-load "$(makeopts_loadavg)" \
${ctestargs} \
-E "(BootstrapTest|BundleUtilities|ConfigSources|CMakeOnly.AllFindModules|CPackComponentsDEB-components-depend2|CompileOptions|CTest.UpdateCVS|DependencyGraph|Fortran|RunCMake.CompilerLauncher|RunCMake.IncompatibleQt|RunCMake.ObsoleteQtMacros|RunCMake.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \
diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass
index 85a9367b04b7..4ec3b900edaf 100644
--- a/eclass/cmake-utils.eclass
+++ b/eclass/cmake-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cmake-utils.eclass
@@ -806,7 +806,8 @@ cmake-utils_src_test() {
[[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure )
- set -- ctest -j "$(makeopts_jobs)" --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"
+ set -- ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)" \
+ --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"
echo "$@" >&2
if "$@" ; then
einfo "Tests succeeded."
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 3d4cc0bd7128..59e5b60957c2 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cmake.eclass
@@ -674,7 +674,8 @@ cmake_src_test() {
[[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure )
- set -- ctest -j "$(makeopts_jobs)" --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"
+ set -- ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)" \
+ --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"
echo "$@" >&2
if "$@" ; then
einfo "Tests succeeded."
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 6fc9f1b9c1ff..1573d803f3f6 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -106,6 +106,8 @@ esac
#
# - maturin - maturin backend
#
+# - pbr - pbr backend
+#
# - pdm - pdm.pep517 backend
#
# - poetry - poetry-core backend
@@ -208,6 +210,10 @@ _distutils_set_globals() {
bdep+='
>=dev-util/maturin-0.12.7[${PYTHON_USEDEP}]'
;;
+ pbr)
+ bdep+='
+ >=dev-python/pbr-5.8.0-r1[${PYTHON_USEDEP}]'
+ ;;
pdm)
bdep+='
>=dev-python/pdm-pep517-0.12.3[${PYTHON_USEDEP}]'
@@ -991,6 +997,9 @@ _distutils-r1_backend_to_key() {
maturin)
echo maturin
;;
+ pbr.build)
+ echo pbr
+ ;;
pdm.pep517.api)
echo pdm
;;
@@ -1139,11 +1148,7 @@ distutils-r1_python_compile() {
fi
# distutils is parallel-capable since py3.5
- local jobs=$(makeopts_jobs "${MAKEOPTS} ${*}" INF)
- if [[ ${jobs} == INF ]]; then
- local nproc=$(get_nproc)
- jobs=$(( nproc + 1 ))
- fi
+ local jobs=$(makeopts_jobs "${MAKEOPTS} ${*}")
if [[ ${DISTUTILS_USE_PEP517} ]]; then
# issue build_ext only if it looks like we have at least
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 23393039fb58..0ddd48b19e46 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -351,7 +351,7 @@ llvm.org_src_prepare() {
# Get the standard recommended lit flags for running tests, in CMake
# list form (;-separated).
get_lit_flags() {
- echo "-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ echo "-vv;-j;${LIT_JOBS:-$(makeopts_jobs)}"
}
# @FUNCTION: llvm_are_manpages_built
diff --git a/eclass/multiprocessing.eclass b/eclass/multiprocessing.eclass
index c32bfaac2e6b..e55be636a02c 100644
--- a/eclass/multiprocessing.eclass
+++ b/eclass/multiprocessing.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: multiprocessing.eclass
@@ -65,22 +65,21 @@ get_nproc() {
}
# @FUNCTION: makeopts_jobs
-# @USAGE: [${MAKEOPTS}] [${inf:-999}]
+# @USAGE: [${MAKEOPTS}] [${inf:-$(( $(get_nproc) + 1 ))}]
# @DESCRIPTION:
# Searches the arguments (defaults to ${MAKEOPTS}) and extracts the jobs number
# specified therein. Useful for running non-make tools in parallel too.
# i.e. if the user has MAKEOPTS=-j9, this will echo "9" -- we can't return the
# number as bash normalizes it to [0, 255]. If the flags haven't specified a
-# -j flag, then "1" is shown as that is the default `make` uses. Since there's
-# no way to represent infinity, we return ${inf} (defaults to 999) if the user
-# has -j without a number.
+# -j flag, then "1" is shown as that is the default `make` uses. If the flags
+# specify -j without a number, ${inf} is returned (defaults to nproc).
makeopts_jobs() {
[[ $# -eq 0 ]] && set -- "${MAKEOPTS}"
# This assumes the first .* will be more greedy than the second .*
# since POSIX doesn't specify a non-greedy match (i.e. ".*?").
local jobs=$(echo " $* " | sed -r -n \
-e 's:.*[[:space:]](-[a-z]*j|--jobs[=[:space:]])[[:space:]]*([0-9]+).*:\2:p' \
- -e "s:.*[[:space:]](-[a-z]*j|--jobs)[[:space:]].*:${2:-999}:p")
+ -e "s:.*[[:space:]](-[a-z]*j|--jobs)[[:space:]].*:${2:-$(( $(get_nproc) + 1 ))}:p")
echo ${jobs:-1}
}
diff --git a/eclass/ninja-utils.eclass b/eclass/ninja-utils.eclass
index 9f6d2af6bdb2..c5f34934192f 100644
--- a/eclass/ninja-utils.eclass
+++ b/eclass/ninja-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ninja-utils.eclass
@@ -46,7 +46,7 @@ eninja() {
[[ ${EAPI} != 5 ]] && nonfatal_args+=( -n )
if [[ -z ${NINJAOPTS+set} ]]; then
- NINJAOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0)"
+ NINJAOPTS="-j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0)"
fi
set -- ninja -v ${NINJAOPTS} "$@"
echo "$@" >&2
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index a6f5f24c8bdd..7b1bd012a37e 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -631,9 +631,7 @@ python_optimize() {
debug-print "${FUNCNAME}: using sys.path: ${*/%/;}"
fi
- local jobs=$(makeopts_jobs "${MAKEOPTS}" INF)
- [[ ${jobs} == INF ]] && jobs=$(get_nproc)
-
+ local jobs=$(makeopts_jobs)
local d
for d; do
# make sure to get a nice path without //
diff --git a/eclass/tests/multiprocessing_makeopts_jobs.sh b/eclass/tests/multiprocessing_makeopts_jobs.sh
index 70a6085d5362..37d5a7257775 100755
--- a/eclass/tests/multiprocessing_makeopts_jobs.sh
+++ b/eclass/tests/multiprocessing_makeopts_jobs.sh
@@ -16,14 +16,19 @@ test-makeopts_jobs() {
tend 1 "Mismatch between MAKEOPTS/cli: '${indirect}' != '${direct}'"
else
[[ ${direct} == "${exp}" ]]
- tend $? "Got back: ${act}"
+ tend $? "Got back: ${direct}"
fi
}
+# override to avoid relying on a specific value
+get_nproc() {
+ echo 41
+}
+
tests=(
- 999 "-j"
- 999 "--jobs"
- 999 "-j -l9"
+ 42 "-j"
+ 42 "--jobs"
+ 42 "-j -l9"
1 ""
1 "-l9 -w"
1 "-l9 -w-j4"
@@ -37,7 +42,7 @@ tests=(
7 "-l3 --jobs 7 -w"
4 "-j1 -j 2 --jobs 3 --jobs=4"
8 " -j 8 "
- 999 "-kj"
+ 42 "-kj"
4 "-kj4"
5 "-kj 5"
)
diff --git a/media-sound/apulse/apulse-0.1.13-r2.ebuild b/media-sound/apulse/apulse-0.1.13-r2.ebuild
index dc9642b78a9b..d9eb1fe4fa40 100644
--- a/media-sound/apulse/apulse-0.1.13-r2.ebuild
+++ b/media-sound/apulse/apulse-0.1.13-r2.ebuild
@@ -55,7 +55,8 @@ multilib_src_test() {
pushd tests || die
cmake -S "${S}/tests" -B . || die
emake test_ringbuffer
- ctest -j "$(makeopts_jobs)" --test-load "$(makeopts_loadavg)" || die
+ ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)" \
+ --test-load "$(makeopts_loadavg)" || die
popd || die
}
multilib_foreach_abi _test