diff options
author | Repository mirror & CI <repomirrorci@gentoo.org> | 2022-05-01 07:51:25 +0000 |
---|---|---|
committer | Repository mirror & CI <repomirrorci@gentoo.org> | 2022-05-01 07:51:25 +0000 |
commit | e2a3b76e62c1ab2a493227e6b22dc74018c7ce1e (patch) | |
tree | fbf6a7c38f3b4a9baeb50a80b92609f0f90ca059 | |
parent | 2022-05-01 07:33:06 UTC (diff) | |
parent | dev-lang/ruby: drop 2.6.9, 2.7.5 (diff) | |
download | gentoo-e2a3b76e62c1ab2a493227e6b22dc74018c7ce1e.tar.gz gentoo-e2a3b76e62c1ab2a493227e6b22dc74018c7ce1e.tar.bz2 gentoo-e2a3b76e62c1ab2a493227e6b22dc74018c7ce1e.zip |
Merge updates from master
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 |