[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 28fca56a1639578fc58de1e8310b7c94a5e12e09 Author: Sam James gentoo org> AuthorDate: Mon Apr 22 03:13:04 2024 + Commit: Sam James gentoo org> CommitDate: Mon Apr 22 03:13:52 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28fca56a toolchain.eclass: propagate USE=zstd to libgccjit build You *can* do LTO with libgccjit, apparently, and it even works if we don't break the compression used for LTO with it. Pass down the zstd arg from USE=zstd like we do for the regular build. Thanks to StrawberryTea for reporting. Closes: https://bugs.gentoo.org/926953 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 690b21c22d8e..a5d4345e7fbf 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1462,7 +1462,7 @@ toolchain_src_configure() { # respect USE=graphite here in case the user passes some # graphite flags rather than try strip them out. $(use_with graphite isl) - --without-zstd + $(use_with zstd) --with-system-zlib )
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: fbf048eddd72b5377dca5dd44e5960f4e70cf963 Author: Ionen Wolkens gentoo org> AuthorDate: Sat Apr 20 13:16:28 2024 + Commit: Ionen Wolkens gentoo org> CommitDate: Sat Apr 20 14:19:54 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fbf048ed qt6-build.eclass: add QT6_RESTRICT_TESTS variable At same time, remove the qttranslations special logic, it can just make use of the variable instead. Bug: https://bugs.gentoo.org/930266 Signed-off-by: Ionen Wolkens gentoo.org> eclass/qt6-build.eclass | 15 +-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass index 59baaa77ce6d..8fb40c287672 100644 --- a/eclass/qt6-build.eclass +++ b/eclass/qt6-build.eclass @@ -37,6 +37,15 @@ inherit cmake flag-o-matic toolchain-funcs # - pre-release: development 6.x.x_rc/beta/alpha releases # - live: *. (dev branch), 6.x. (stable branch) +# @ECLASS_VARIABLE: QT6_RESTRICT_TESTS +# @DEFAULT_UNSET +# @PRE_INHERIT +# @DESCRIPTION: +# If set to a non-empty value, will not add IUSE="test" and set +# RESTRICT="test" instead. Primarily intended for ebuilds where +# running tests is unmaintained (or missing) rather than just +# temporarily restricted not to have a broken USE (bug #930266). + if [[ ${PV} == *. ]]; then inherit git-r3 EGIT_REPO_URI=( @@ -68,7 +77,9 @@ HOMEPAGE="https://www.qt.io/; LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3" SLOT=6/${PV%%_*} -if [[ ${PN} != qttranslations ]]; then +if [[ ${QT6_RESTRICT_TESTS} ]]; then + RESTRICT="test" +else IUSE="test" RESTRICT="!test? ( test )" fi @@ -139,7 +150,7 @@ qt6-build_src_configure() { # see _qt6-build_create_user_facing_links -DINSTALL_PUBLICBINDIR="${QT6_PREFIX}"/bin # note that if qtbase was built with tests, this is default ON - -DQT_BUILD_TESTS=$(usex test ON OFF) + -DQT_BUILD_TESTS=$(in_iuse test && use test && echo ON || echo OFF) # avoid appending -O2 after user's C(XX)FLAGS (bug #911822) -DQT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS=ON )
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 57ae811174c14f749664d387fa22775be0482301 Author: Ionen Wolkens gentoo org> AuthorDate: Sat Apr 20 13:19:00 2024 + Commit: Ionen Wolkens gentoo org> CommitDate: Sat Apr 20 14:19:54 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57ae8111 qt6-build.eclass: sort eclass variables Signed-off-by: Ionen Wolkens gentoo.org> eclass/qt6-build.eclass | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass index 8fb40c287672..4fc838c478af 100644 --- a/eclass/qt6-build.eclass +++ b/eclass/qt6-build.eclass @@ -23,13 +23,6 @@ _QT6_BUILD_ECLASS=1 inherit cmake flag-o-matic toolchain-funcs -# @ECLASS_VARIABLE: QT6_MODULE -# @PRE_INHERIT -# @DESCRIPTION: -# The upstream name of the module this package belongs to. -# Used for SRC_URI and EGIT_REPO_URI. -: "${QT6_MODULE:=${PN}}" - # @ECLASS_VARIABLE: QT6_BUILD_TYPE # @DESCRIPTION: # Read only variable set based on PV to one of: @@ -37,6 +30,13 @@ inherit cmake flag-o-matic toolchain-funcs # - pre-release: development 6.x.x_rc/beta/alpha releases # - live: *. (dev branch), 6.x. (stable branch) +# @ECLASS_VARIABLE: QT6_MODULE +# @PRE_INHERIT +# @DESCRIPTION: +# The upstream name of the module this package belongs to. +# Used for SRC_URI and EGIT_REPO_URI. +: "${QT6_MODULE:=${PN}}" + # @ECLASS_VARIABLE: QT6_RESTRICT_TESTS # @DEFAULT_UNSET # @PRE_INHERIT
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 73ed9ad5f1d6b57aeef00ab672e048873b711c8f Author: Michał Górny gentoo org> AuthorDate: Sat Apr 20 09:38:23 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Apr 20 09:38:23 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73ed9ad5 llvm.org.eclass: Add 19.0.0_pre20240420 snapshot Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index d2f95fe6b42d..49e600bdaf04 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then _LLVM_SOURCE_TYPE=snapshot case ${PV} in + 19.0.0_pre20240420) + EGIT_COMMIT=f03cd2db91956456f1c5e2da86d3c50183eebd28 + ;; 19.0.0_pre20240410) EGIT_COMMIT=ee284d2da0720dc21191d6f545504cbfcf5dcbcf ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f94c706722649d20fe37657180c1ad3abcebf0f5 Author: Michał Górny gentoo org> AuthorDate: Sat Apr 20 04:29:32 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Apr 20 05:40:35 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f94c7067 llvm.org.eclass: Remove support for old snapshots Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 6 -- 1 file changed, 6 deletions(-) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 731044d59f48..d2f95fe6b42d 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -75,12 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then 19.0.0_pre20240410) EGIT_COMMIT=ee284d2da0720dc21191d6f545504cbfcf5dcbcf ;; - 19.0.0_pre20240404) - EGIT_COMMIT=12735916bd3a63aa9f316af8eebfe9420cfec489 - ;; - 19.0.0_pre20240330) - EGIT_COMMIT=a8b0ecd2605ff23f495a8af64e06c35f86834e54 - ;; *) die "Unknown snapshot: ${PV}" ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: afe0521495aeed0a22a3656e7bad193fba39805e Author: Mike Gilbert gentoo org> AuthorDate: Tue Apr 16 20:50:33 2024 + Commit: Mike Gilbert gentoo org> CommitDate: Fri Apr 19 23:10:45 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=afe05214 meson.eclass: preserve exit status in phase funcs When the functions are called with nonfatal, we need to ensure 'popd' does not clobber the exit status of the called command. Update meson_src_configure as well just for consistency. Closes: https://bugs.gentoo.org/930119 Signed-off-by: Mike Gilbert gentoo.org> eclass/meson.eclass | 20 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 9d7f830e58b0..a22a85887584 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -425,7 +425,10 @@ meson_src_configure() { export -n {C,CPP,CXX,F,OBJC,OBJCXX,LD}FLAGS PKG_CONFIG_{LIBDIR,PATH} echo meson setup "${MESONARGS[@]}" >&2 meson setup "${MESONARGS[@]}" - ) || die -n + ) + local rv=$? + [[ ${rv} -eq 0 ]] || die -n "configure failed" + return ${rv} } # @FUNCTION: meson_src_compile @@ -451,9 +454,12 @@ meson_src_compile() { set -- meson compile "${mesoncompileargs[@]}" echo "$@" >&2 - "$@" || die -n "compile failed" + "$@" + local rv=$? + [[ ${rv} -eq 0 ]] || die -n "compile failed" popd > /dev/null || die + return ${rv} } # @FUNCTION: meson_src_test @@ -473,9 +479,12 @@ meson_src_test() { set -- meson test "${mesontestargs[@]}" echo "$@" >&2 - "$@" || die -n "tests failed" + "$@" + local rv=$? + [[ ${rv} -eq 0 ]] || die -n "tests failed" popd > /dev/null || die + return ${rv} } # @FUNCTION: meson_install @@ -495,9 +504,12 @@ meson_install() { set -- meson install "${mesoninstallargs[@]}" echo "$@" >&2 - "$@" || die -n "install failed" + "$@" + local rv=$? + [[ ${rv} -eq 0 ]] || die -n "install failed" popd > /dev/null || die + return ${rv} } # @FUNCTION: meson_src_install
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 6eeff48db938afd6f8fa8dc49ca864719858920e Author: Michał Górny gentoo org> AuthorDate: Tue Apr 16 14:55:16 2024 + Commit: Michał Górny gentoo org> CommitDate: Fri Apr 19 18:46:45 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6eeff48d distutils-r1.eclass: Document DISTUTILS_ARGS for maturin & meson Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 6 ++ 1 file changed, 6 insertions(+) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 7a314673a90b..ddcba288d85c 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -448,6 +448,12 @@ unset -f _distutils_set_globals # An array containing options to be passed to the build system. # Supported by a subset of build systems used by the eclass. # +# For maturin, the arguments will be passed as `maturin build` +# arguments. +# +# For meson-python, the arguments will be passed as `meson setup` +# arguments. +# # For setuptools, the arguments will be passed as first parameters # to setup.py invocations (via esetup.py), as well as to the PEP517 # backend. For future compatibility, only global options should be used
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 75a308e0686ff3757855e05ff06e9ba7418a0458 Author: Michał Górny gentoo org> AuthorDate: Tue Apr 16 15:26:58 2024 + Commit: Michał Górny gentoo org> CommitDate: Fri Apr 19 18:46:46 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75a308e0 distutils-r1.eclass: Pass arguments to scikit-build-core Support passing DISTUTILS_ARGS to scikit-build-core, along with some standard arguments that: - ensure that CFLAGS, CXXFLAGS, CPPFLAGS and so on, are respected - respect CMAKE_BUILD_TYPE, along with the default of RelWithDebInfo - enable verbose builds - disable stripping Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 43 +++ 1 file changed, 43 insertions(+) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index ddcba288d85c..a67122a59a33 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -454,6 +454,9 @@ unset -f _distutils_set_globals # For meson-python, the arguments will be passed as `meson setup` # arguments. # +# For scikit-build-core, the arguments will be passed as `cmake` +# options (e.g. `-DFOO=BAR` form should be used). +# # For setuptools, the arguments will be passed as first parameters # to setup.py invocations (via esetup.py), as well as to the PEP517 # backend. For future compatibility, only global options should be used @@ -1412,6 +1415,46 @@ distutils_pep517_install() { EOF ) ;; + scikit-build-core) + # TODO: split out the config/toolchain logic from cmake.eclass + # for now, we copy the most important bits + local CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-RelWithDebInfo} + cat >> "${BUILD_DIR}"/config.cmake <<- _EOF_ || die + set(CMAKE_ASM_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") + set(CMAKE_ASM-ATT_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") + set(CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") + set(CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") + set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") + set(CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") + set(CMAKE_MODULE_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") + set(CMAKE_SHARED_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") + set(CMAKE_STATIC_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") + _EOF_ + + # hack around CMake ignoring CPPFLAGS + local -x CFLAGS="${CFLAGS} ${CPPFLAGS}" + local -x CXXFLAGS="${CXXFLAGS} ${CPPFLAGS}" + + local cmake_args=( + "-C${BUILD_DIR}/config.cmake" + "${DISTUTILS_ARGS[@]}" + ) + + # NB: we need to pass strings for boolean fields + # https://github.com/scikit-build/scikit-build-core/issues/707 + config_settings=$( + "${EPYTHON}" - "${cmake_args[@]}" <<-EOF || die + import json + import sys + print(json.dumps({ + "cmake.args": ";".join(sys.argv[1:]), + "cmake.build-type": "${CMAKE_BUILD_TYPE}", + "cmake.verbose": "true", + "install.strip": "false", + })) + EOF + ) + ;; setuptools) if in_iuse debug && use debug; then local -x SETUPTOOLS_RUST_CARGO_PROFILE=dev
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 5d5e200b89aaf06308a48ea7c0e010e3e81a5892 Author: Sam James gentoo org> AuthorDate: Wed Apr 17 23:33:14 2024 + Commit: Sam James gentoo org> CommitDate: Wed Apr 17 23:33:31 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d5e200b toolchain.eclass: depend on virtual/rust for USE=rust (!) This is a temporary measure from upstream commit r14-9968-g3e1e73fc995844. See also https://inbox.sourceware.org/gcc/34fec7ea-8762-4cac-a1c8-ff54e20e31ed embecosm.com/. Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 6 ++ 1 file changed, 6 insertions(+) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 2a74e6f165df..690b21c22d8e 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -406,6 +406,12 @@ if tc_has_feature d && tc_version_is_at_least 12.0 ; then BDEPEND+=" d? ( || ( sys-devel/gcc[d(-)] https://inbox.sourceware.org/gcc/34fec7ea-8762-4cac-a1c8-ff54e20e3...@embecosm.com/ + BDEPEND+=" rust? ( virtual/rust )" +fi + PDEPEND=">=sys-devel/gcc-config-2.11" #>> S + SRC_URI essentials <<
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ef9d26ba1e410d25b94cab81a6606e96e85d35d8 Author: Gabi Falk gmx com> AuthorDate: Mon Apr 15 08:00:00 2024 + Commit: Sam James gentoo org> CommitDate: Tue Apr 16 01:38:48 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef9d26ba toolchain.eclass: add a variable to force baseline regeneration Suggested-by: Sam James gentoo.org> Signed-off-by: Gabi Falk gmx.com> Closes: https://github.com/gentoo/gentoo/pull/36244 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 33 + 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 786d65da2d9a..2a74e6f165df 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -117,6 +117,13 @@ tc_version_is_between() { # Ignore missing baseline/reference data and create new baseline. : "${GCC_TESTS_IGNORE_NO_BASELINE:=}" +# @ECLASS_VARIABLE: GCC_TESTS_REGEN_BASELINE +# @DEFAULT_UNSET +# @USER_VARIABLE +# @DESCRIPTION: +# Ignore baseline/reference data and create new baseline. +: "${GCC_TESTS_REGEN_BASELINE:=}" + # @ECLASS_VARIABLE: GCC_TESTS_CHECK_TARGET # @USER_VARIABLE # @DESCRIPTION: @@ -1917,17 +1924,25 @@ toolchain_src_test() { --manifest="${T}"/${CHOST}.xfail \ --produce_manifest &> /dev/null - if [[ -f "${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" ]] ; then + local manifest="${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" + + if [[ -f "${manifest}" ]] ; then # TODO: Distribute some baseline results in e.g. gcc-patches.git? # validate_failures.py manifest files support include directives. - einfo "Comparing with previous cached results at GCC_TESTS_COMPARISON_DIR=${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" + einfo "Comparing with previous cached results at ${manifest}" - edo "${T}"/validate_failures.py \ + nonfatal edo "${T}"/validate_failures.py \ --srcpath="${S}" \ --build_dir="${WORKDIR}"/build \ - --manifest="${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" + --manifest="${manifest}" + ret=$? + + if [[ -n ${GCC_TESTS_REGEN_BASELINE} ]] ; then + eerror "GCC_TESTS_REGEN_BASELINE is set, ignoring test result and creating a new baseline..." + elif [[ ${ret} != 0 ]]; then + die "Tests failed (failures not listed in the baseline data)" + fi else - # nonfatal first because we want to run again with comparison data if available. nonfatal edo "${T}"/validate_failures.py \ --srcpath="${S}" \ --build_dir="${WORKDIR}"/build @@ -1935,13 +1950,15 @@ toolchain_src_test() { # We have no reference data saved from a previous run to know if # the failures are tolerable or not, so we bail out. - eerror "No reference test data at GCC_TESTS_COMPARISON_DIR=${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail!" + eerror "No reference test data at ${manifest}!" eerror "GCC's tests require a baseline to compare with for any reasonable interpretation of results." if [[ -n ${GCC_TESTS_IGNORE_NO_BASELINE} ]] ; then - eerror "GCC_TESTS_IGNORE_NO_BASELINE is set, creating new baseline manifest..." + eerror "GCC_TESTS_IGNORE_NO_BASELINE is set, ignoring test result and creating a new baseline..." + elif [[ -n ${GCC_TESTS_REGEN_BASELINE} ]] ; then + eerror "GCC_TESTS_REGEN_BASELINE is set, ignoring test result and creating using a new baseline..." elif [[ ${ret} != 0 ]]; then - eerror "(Set GCC_TESTS_IGNORE_NO_BASELINE=1 to make this non-fatal for initial run.)" + eerror "(Set GCC_TESTS_IGNORE_NO_BASELINE=1 to make this non-fatal and generate a baseline.)" die "Tests failed (failures occurred with no reference data)" fi fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 05e717935070724efb622f17ef8d60c68a75c4b4 Author: Gabi Falk gmx com> AuthorDate: Sat Apr 13 08:00:00 2024 + Commit: Sam James gentoo org> CommitDate: Tue Apr 16 01:38:47 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05e71793 toolchain.eclass: do not ignore a baseline with GCC_TESTS_IGNORE_NO_BASELINE The GCC_TESTS_IGNORE_NO_BASELINE flag is intended to facilitate the initial generation of a baseline file, but it shouldn't affect the behavior if a baseline file already exists. Fixes: 1d93a491096f1cc0234fcf44458bfec142c213bb ("toolchain.eclass: rework tests more") Signed-off-by: Gabi Falk gmx.com> Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 0708d3c217fc..37a806e1c800 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1908,7 +1908,7 @@ toolchain_src_test() { # the exit code of targets other than 'check' may be unreliable. nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS}" - if [[ -z ${GCC_TESTS_IGNORE_NO_BASELINE} && -f "${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" ]] ; then + if [[ -f "${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" ]] ; then # TODO: Distribute some baseline results in e.g. gcc-patches.git? # validate_failures.py manifest files support include directives. einfo "Comparing with previous cached results at GCC_TESTS_COMPARISON_DIR=${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: b91c99d07e33c296a23e3b18b2658b81815b6b31 Author: Gabi Falk gmx com> AuthorDate: Mon Apr 15 08:00:00 2024 + Commit: Sam James gentoo org> CommitDate: Tue Apr 16 01:38:48 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b91c99d0 toolchain.eclass: always generate a new test-suite baseline manifest Previously, a new baseline was generated only in cases of test suite success or when GCC_TESTS_IGNORE_NO_BASELINE was enabled. After this change, if there is a test suite regression, users will have the option to copy the new baseline file to the cache if they choose to tolerate the regression. Additionally, the toolchain_pkg_preinst() function will update the baseline automatically if the package is built with the FEATURES=test-fail-continue setting. Signed-off-by: Gabi Falk gmx.com> Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 37a806e1c800..786d65da2d9a 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1908,6 +1908,15 @@ toolchain_src_test() { # the exit code of targets other than 'check' may be unreliable. nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS}" + # Produce an updated failure manifest. + einfo "Generating a new failure manifest ${T}/${CHOST}.xfail" + rm -f "${T}"/${CHOST}.xfail + edo "${T}"/validate_failures.py \ + --srcpath="${S}" \ + --build_dir="${WORKDIR}"/build \ + --manifest="${T}"/${CHOST}.xfail \ + --produce_manifest &> /dev/null + if [[ -f "${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" ]] ; then # TODO: Distribute some baseline results in e.g. gcc-patches.git? # validate_failures.py manifest files support include directives. @@ -1936,13 +1945,6 @@ toolchain_src_test() { die "Tests failed (failures occurred with no reference data)" fi fi - - # Produce an updated set of expected results - edo "${T}"/validate_failures.py \ - --srcpath="${S}" \ - --build_dir="${WORKDIR}"/build \ - --manifest="${T}"/${CHOST}.xfail \ - --produce_manifest &> /dev/null } #>> src_install <<
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: e696ced5917acc63095cc2074ca3d5c14437b10b Author: Volkmar W. Pogatzki pogatzki net> AuthorDate: Sat Apr 13 16:50:40 2024 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Apr 13 20:03:08 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e696ced5 ant-tasks.eclass: mark ant-tasks.eclass dead Signed-off-by: Volkmar W. Pogatzki pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/36240 Signed-off-by: Miroslav Šulc gentoo.org> eclass/ant-tasks.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/ant-tasks.eclass b/eclass/ant-tasks.eclass index c1a82ccbab5b..2b10e0f3e1e0 100644 --- a/eclass/ant-tasks.eclass +++ b/eclass/ant-tasks.eclass @@ -1,7 +1,7 @@ # Copyright 2007-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# @DEPRECATED: +# @DEAD # @ECLASS: ant-tasks.eclass # @MAINTAINER: # j...@gentoo.org
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 4d338f1c63ef163974417a4e4754dd47899a4681 Author: Gabi Falk gmx com> AuthorDate: Fri Apr 12 08:00:00 2024 + Commit: Sam James gentoo org> CommitDate: Sat Apr 13 18:40:53 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d338f1c toolchain.eclass: fix installation of gcc[test] packages from binary Fixes: abf8e2ee55c52c8ae894e0b3845ea1cebfcfd4e8 ("toolchain.eclass: install test results as orphaned files in /var/cache/gcc") Signed-off-by: Gabi Falk gmx.com> Closes: https://github.com/gentoo/gentoo/pull/36224 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 6a515f9b5c69..0708d3c217fc 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -2325,7 +2325,7 @@ create_revdep_rebuild_entry() { #>> pkg_pre* << toolchain_pkg_preinst() { - if use test ; then + if [[ ${MERGE_TYPE} != binary ]] && use test ; then # Install as orphaned to allow comparison across more versions even # after unmerged. Also useful for historical records and tracking # down regressions a while after they first appeared, but were only
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 18c07179cce50cda3c99858f419df8f5a755eebe Author: Ulrich Müller gentoo org> AuthorDate: Fri Apr 12 01:40:25 2024 + Commit: Ulrich Müller gentoo org> CommitDate: Sat Apr 13 18:31:52 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18c07179 rpm.eclass: Drop support for EAPI 6 Signed-off-by: Ulrich Müller gentoo.org> eclass/rpm.eclass | 63 +++ 1 file changed, 3 insertions(+), 60 deletions(-) diff --git a/eclass/rpm.eclass b/eclass/rpm.eclass index b9187167eb8f..c9c21aa6ebbd 100644 --- a/eclass/rpm.eclass +++ b/eclass/rpm.eclass @@ -1,14 +1,13 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: rpm.eclass # @MAINTAINER: # base-sys...@gentoo.org -# @SUPPORTED_EAPIS: 6 7 8 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: convenience class for extracting RPMs case ${EAPI} in - 6) inherit epatch eqawarn ;; 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -18,10 +17,7 @@ _RPM_ECLASS=1 inherit estack -case ${EAPI} in - 6) DEPEND="app-arch/rpm2targz" ;; - *) BDEPEND="app-arch/rpm2targz" ;; -esac +BDEPEND="app-arch/rpm2targz" # @FUNCTION: rpm_unpack # @USAGE: @@ -88,59 +84,6 @@ rpm_src_unpack() { done } -# @FUNCTION: rpm_spec_epatch -# @USAGE: [spec] -# @DEPRECATED: none -# @DESCRIPTION: -# Read the specified spec (defaults to ${PN}.spec) and attempt to apply -# all the patches listed in it. If the spec does funky things like moving -# files around, well this won't handle that. -rpm_spec_epatch() { - # no epatch in EAPI 7 and later - [[ ${EAPI} == 6 ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}" - - local p spec=$1 - local dir - - if [[ -z ${spec} ]] ; then - # search likely places for the spec file - for spec in "${PWD}" "${S}" "${WORKDIR}" ; do - spec+="/${PN}.spec" - [[ -e ${spec} ]] && break - done - fi - [[ ${spec} == */* ]] \ - && dir=${spec%/*} \ - || dir= - - ebegin "Applying patches from ${spec}" - - grep '^%patch' "${spec}" | \ - while read line ; do - # expand the %patch line - set -- ${line} - p=$1 - shift - - # process the %patch arguments - local arg - EPATCH_OPTS= - for arg in "$@" ; do - case ${arg} in - -b) EPATCH_OPTS+=" --suffix" ;; - *) EPATCH_OPTS+=" ${arg}" ;; - esac - done - - # extract the patch name from the Patch# line - set -- $(grep "^P${p#%p}: " "${spec}") - shift - epatch "${dir:+${dir}/}$*" - done - - eend -} - fi EXPORT_FUNCTIONS src_unpack
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 28a2ff3d33063abd580cba982a11120eb34cdc2b Author: Volkmar W. Pogatzki pogatzki net> AuthorDate: Wed Apr 10 21:09:56 2024 + Commit: Miroslav Šulc gentoo org> CommitDate: Thu Apr 11 07:48:21 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28a2ff3d java-ant-2.eclass: drop EAPI 6 Signed-off-by: Volkmar W. Pogatzki pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/36199 Signed-off-by: Miroslav Šulc gentoo.org> eclass/java-ant-2.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/java-ant-2.eclass b/eclass/java-ant-2.eclass index 1eccead3067f..b0d2fb216b10 100644 --- a/eclass/java-ant-2.eclass +++ b/eclass/java-ant-2.eclass @@ -7,7 +7,7 @@ # @AUTHOR: # kiorky # Petteri Räty -# @SUPPORTED_EAPIS: 6 7 8 +# @SUPPORTED_EAPIS: 7 8 # @PROVIDES: java-utils-2 # @BLURB: eclass for ant based Java packages # @DESCRIPTION: @@ -16,7 +16,7 @@ # or java-pkg-opt-2 eclass. case ${EAPI} in - 6|7|8) ;; + 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 6a802139d156f02b854429b242d4fc61961e3c05 Author: Ulrich Müller gentoo org> AuthorDate: Mon Jan 8 14:13:01 2024 + Commit: Ulrich Müller gentoo org> CommitDate: Wed Apr 10 17:55:37 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a802139 gnustep-*.eclass: Drop support for EAPI 6 In EAPI 6, gnustep-base inherits eutils which is going to be last-rited. Signed-off-by: Ulrich Müller gentoo.org> eclass/gnustep-2.eclass| 20 ++-- eclass/gnustep-base.eclass | 5 ++--- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/eclass/gnustep-2.eclass b/eclass/gnustep-2.eclass index 9750efa8d5c8..3797dd80151e 100644 --- a/eclass/gnustep-2.eclass +++ b/eclass/gnustep-2.eclass @@ -1,10 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: gnustep-2.eclass # @MAINTAINER: # GNUstep Herd -# @SUPPORTED_EAPIS: 6 7 8 +# @SUPPORTED_EAPIS: 7 8 # @PROVIDES: gnustep-base # @BLURB: eclass for GNUstep Apps, Frameworks, and Bundles build # @DESCRIPTION: @@ -12,7 +12,7 @@ # GNUstep packages case ${EAPI} in - 6|7|8) ;; + 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -21,17 +21,9 @@ _GNUSTEP_2_ECLASS=1 inherit gnustep-base -case ${EAPI} in - 6) - DEPEND=">=gnustep-base/gnustep-make-2.0" - ;; - *) - BDEPEND=">=gnustep-base/gnustep-make-2.0" - ;; -esac - -DEPEND+=" virtual/gnustep-back" -RDEPEND="${DEPEND}" +RDEPEND="virtual/gnustep-back" +DEPEND="${RDEPEND}" +BDEPEND=">=gnustep-base/gnustep-make-2.0" # The following gnustep-based exported functions are available: # * gnustep-base_pkg_setup diff --git a/eclass/gnustep-base.eclass b/eclass/gnustep-base.eclass index b5b350106471..a0a877bf8e13 100644 --- a/eclass/gnustep-base.eclass +++ b/eclass/gnustep-base.eclass @@ -1,17 +1,16 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: gnustep-base.eclass # @MAINTAINER: # GNUstep Herd -# @SUPPORTED_EAPIS: 6 7 8 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: Internal handling of GNUstep packages # @DESCRIPTION: # Inner gnustep eclass, should only be inherited directly by gnustep-base # packages case ${EAPI} in - 6) inherit eutils ;; 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 43f782d13cb3e6b661067619ced2165da4455db1 Author: Michał Górny gentoo org> AuthorDate: Wed Apr 10 09:52:25 2024 + Commit: Michał Górny gentoo org> CommitDate: Wed Apr 10 11:09:46 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43f782d1 llvm.org.eclass: Add 19.0.0_pre20240410 snapshot Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 148408dc4730..731044d59f48 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then _LLVM_SOURCE_TYPE=snapshot case ${PV} in + 19.0.0_pre20240410) + EGIT_COMMIT=ee284d2da0720dc21191d6f545504cbfcf5dcbcf + ;; 19.0.0_pre20240404) EGIT_COMMIT=12735916bd3a63aa9f316af8eebfe9420cfec489 ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 672028056a6bb54d5550aaff1a09d752e772bc8d Author: Manuel Mommertz desy de> AuthorDate: Tue Feb 13 07:59:13 2024 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Apr 10 08:11:04 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67202805 java-pkg-simple.eclass: use --module-path for ejavadoc when applicable Bug: https://bugs.gentoo.org/925691 Signed-off-by: Manuel Mommertz desy.de> Closes: https://github.com/gentoo/gentoo/pull/35302 Signed-off-by: Miroslav Šulc gentoo.org> eclass/java-pkg-simple.eclass | 15 +++ 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass index 1a4bcb1b0a63..6b473ed768ed 100644 --- a/eclass/java-pkg-simple.eclass +++ b/eclass/java-pkg-simple.eclass @@ -417,11 +417,18 @@ java-pkg-simple_src_compile() { einfo "JAVADOC_SRC_DIRS exists, you need to call ejavadoc separately" else mkdir -p ${apidoc} - ejavadoc -d ${apidoc} \ - -encoding ${JAVA_ENCODING} -docencoding UTF-8 -charset UTF-8 \ - ${classpath:+-classpath ${classpath}} ${JAVADOC_ARGS:- -quiet} \ - @${sources} || die "javadoc failed" + if [[ -z ${moduleinfo} ]] || [[ ${target#1.} -lt 9 ]]; then + ejavadoc -d ${apidoc} \ + -encoding ${JAVA_ENCODING} -docencoding UTF-8 -charset UTF-8 \ + ${classpath:+-classpath ${classpath}} ${JAVADOC_ARGS:- -quiet} \ + @${sources} || die "javadoc failed" + else + ejavadoc -d ${apidoc} \ + -encoding ${JAVA_ENCODING} -docencoding UTF-8 -charset UTF-8 \ + ${classpath:+--module-path ${classpath}} ${JAVADOC_ARGS:- -quiet} \ + @${sources} || die "javadoc failed" fi + fi fi # package
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: a1f28063e0ba2192a120d15fd82a2d59ae10c892 Author: Ulrich Müller gentoo org> AuthorDate: Mon Jan 8 14:11:17 2024 + Commit: Ulrich Müller gentoo org> CommitDate: Tue Apr 9 20:03:28 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1f28063 eutils.eclass: Mark as DEAD Signed-off-by: Ulrich Müller gentoo.org> eclass/eutils.eclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass index b48c18f97904..bdcc7e110fd5 100644 --- a/eclass/eutils.eclass +++ b/eclass/eutils.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: eutils.eclass @@ -7,6 +7,7 @@ # @SUPPORTED_EAPIS: 6 # @BLURB: many extra (but common) functions that are used in ebuilds # @DEPRECATED: native package manager functions, more specific eclasses +# @DEAD if [[ -z ${_EUTILS_ECLASS} ]]; then _EUTILS_ECLASS=1
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: aef3658325286fbf2480bccbbece9976d5b2ccc6 Author: Volkmar W. Pogatzki pogatzki net> AuthorDate: Fri Mar 29 15:48:52 2024 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Apr 8 07:14:41 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aef36583 java-vm-2.eclass: drop EAPI 6 Signed-off-by: Volkmar W. Pogatzki pogatzki.net> Signed-off-by: Miroslav Šulc gentoo.org> eclass/java-vm-2.eclass | 13 +++-- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/eclass/java-vm-2.eclass b/eclass/java-vm-2.eclass index 336a486c3883..e5d3159f2854 100644 --- a/eclass/java-vm-2.eclass +++ b/eclass/java-vm-2.eclass @@ -1,17 +1,17 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: java-vm-2.eclass # @MAINTAINER: # j...@gentoo.org -# @SUPPORTED_EAPIS: 6 7 8 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: Java Virtual Machine eclass # @DESCRIPTION: # This eclass provides functionality which assists with installing # virtual machines, and ensures that they are recognized by java-config. case ${EAPI} in - 6|7|8) ;; + 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac @@ -28,10 +28,6 @@ DEPEND="${RDEPEND}" BDEPEND="app-arch/unzip" IDEPEND="app-eselect/eselect-java" -if [[ ${EAPI} == 6 ]]; then - DEPEND+=" ${BDEPEND}" -fi - export WANT_JAVA_CONFIG=2 @@ -98,9 +94,6 @@ java-vm-2_pkg_postinst() { # @RETURN: 0 if >=app-eselect/eselect-java-0.5 is installed, 1 otherwise. has_eselect_java-vm_update() { local has_version_args="-b" - if [[ ${EAPI} == 6 ]]; then - has_version_args="--host-root" - fi has_version "${has_version_args}" ">=app-eselect/eselect-java-0.5" }
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: b20b9d4285a5a9d21cb9b9a3be6c14eb992184d2 Author: Michał Górny gentoo org> AuthorDate: Sat Apr 6 13:03:47 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Apr 6 13:43:52 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b20b9d42 llvm.org.eclass: Add 19.0.0_pre20240404 snapshot Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 98da9997a7c7..148408dc4730 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then _LLVM_SOURCE_TYPE=snapshot case ${PV} in + 19.0.0_pre20240404) + EGIT_COMMIT=12735916bd3a63aa9f316af8eebfe9420cfec489 + ;; 19.0.0_pre20240330) EGIT_COMMIT=a8b0ecd2605ff23f495a8af64e06c35f86834e54 ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 938edf07001d51688806e1e5a4a32eebcb675dd3 Author: Michał Górny gentoo org> AuthorDate: Sat Apr 6 04:56:47 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Apr 6 09:13:36 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=938edf07 llvm.org.eclass: Remove support for old snapshots Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 6 -- 1 file changed, 6 deletions(-) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 607e3086d65a..98da9997a7c7 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -75,12 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then 19.0.0_pre20240330) EGIT_COMMIT=a8b0ecd2605ff23f495a8af64e06c35f86834e54 ;; - 19.0.0_pre20240322) - EGIT_COMMIT=f3cfe016c5d8429c0dccfa6f85442e2ea0d45a58 - ;; - 19.0.0_pre20240316) - EGIT_COMMIT=6d3cec01a6c29fa4e51ba129fa13dbf55d2b928e - ;; *) die "Unknown snapshot: ${PV}" ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ac957bc00b6bdc98a12d9164609b901ccb04e7b4 Author: Florian Schmaus gentoo org> AuthorDate: Fri Apr 5 16:04:13 2024 + Commit: Florian Schmaus gentoo org> CommitDate: Fri Apr 5 16:04:13 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac957bc0 texlive-common_update_tlpdb: only run find if tlpobj dir exists Closes: https://bugs.gentoo.org/928638 Closes: https://bugs.gentoo.org/928639 Closes: https://bugs.gentoo.org/928640 Closes: https://bugs.gentoo.org/928641 Closes: https://bugs.gentoo.org/928642 Closes: https://bugs.gentoo.org/928643 Closes: https://bugs.gentoo.org/928644 Closes: https://bugs.gentoo.org/928645 Signed-off-by: Florian Schmaus gentoo.org> eclass/texlive-common.eclass | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/eclass/texlive-common.eclass b/eclass/texlive-common.eclass index 66d3999bd103..b32ea2af1121 100644 --- a/eclass/texlive-common.eclass +++ b/eclass/texlive-common.eclass @@ -269,10 +269,12 @@ texlive-common_update_tlpdb() { touch "${new_tlpdb}" || die - find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 | - sort -z | - xargs -0 --no-run-if-empty cat >> "${new_tlpdb}" - assert "generating tlpdb failed" + if [[ -d "${tlpobj}" ]]; then + find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 | + sort -z | + xargs -0 --no-run-if-empty cat >> "${new_tlpdb}" + assert "generating tlpdb failed" + fi if [[ -f ${tlpdb} ]]; then cmp -s "${new_tlpdb}" "${tlpdb}"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 94027c0a7862b306d9452320f7419875b6a4cec6 Author: Hans de Graaff gentoo org> AuthorDate: Fri Apr 5 09:44:11 2024 + Commit: Hans de Graaff gentoo org> CommitDate: Fri Apr 5 09:44:11 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94027c0a eclass/apache-2.eclass: select compatible rustls-ffi version The apache tls module does not compile with rustls-ffi 0.12.x versions. Bug: https://bugs.gentoo.org/928046 Signed-off-by: Hans de Graaff gentoo.org> eclass/apache-2.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/apache-2.eclass b/eclass/apache-2.eclass index e1489eb282ac..17b8b0e2a64a 100644 --- a/eclass/apache-2.eclass +++ b/eclass/apache-2.eclass @@ -162,7 +162,7 @@ RDEPEND=" apache2_modules_session_crypto? ( dev-libs/apr-util[openssl] ) - apache2_modules_tls? ( >=net-libs/rustls-ffi-0.9.2:= ) + apache2_modules_tls? ( >=net-libs/rustls-ffi-0.9.2:=
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 0cec49dbfe44ed391f1dea5fe5b1014ec7df9c05 Author: Ulrich Müller gentoo org> AuthorDate: Wed Apr 3 10:05:01 2024 + Commit: Ulrich Müller gentoo org> CommitDate: Thu Apr 4 17:32:56 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0cec49db elisp-common.eclass: Use EROOT instead of ROOT+EPREFIX This was a leftover of pre-EAPI-3 compatibility. Signed-off-by: Ulrich Müller gentoo.org> eclass/elisp-common.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass index bab7250a6818..1ea2aa111d7e 100644 --- a/eclass/elisp-common.eclass +++ b/eclass/elisp-common.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: elisp-common.eclass @@ -687,7 +687,7 @@ elisp-make-site-file() { # directory. elisp-site-regen() { - local sitelisp=${ROOT%/}${EPREFIX}${SITELISP} + local sitelisp=${EROOT}${SITELISP} local sf i ret=0 null="" page=$'\f' local -a sflist
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ec8f206068b3a17275d2b1a05be162c46f0e24c0 Author: Ulrich Müller gentoo org> AuthorDate: Wed Apr 3 10:06:53 2024 + Commit: Ulrich Müller gentoo org> CommitDate: Thu Apr 4 17:33:01 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec8f2060 elisp-common.eclass: Drop test for existence of ${T} This was the remnant of a 2008 workaround for Paludis (bug #517), which didn't define T in the postrm phase. Signed-off-by: Ulrich Müller gentoo.org> eclass/elisp-common.eclass | 3 --- 1 file changed, 3 deletions(-) diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass index 1ea2aa111d7e..3d99838a0221 100644 --- a/eclass/elisp-common.eclass +++ b/eclass/elisp-common.eclass @@ -699,9 +699,6 @@ elisp-site-regen() { [[ -d ${sitelisp} ]] \ || die "elisp-site-regen: Directory ${sitelisp} does not exist" - [[ -d ${T} ]] \ - || die "elisp-site-regen: Temporary directory ${T} does not exist" - ebegin "Regenerating site-gentoo.el for GNU Emacs (${EBUILD_PHASE})" for sf in "${sitelisp}"/site-gentoo.d/[0-9][0-9]*.el; do
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 0977b78999668cebc0aac4235ccf47d9502f1e00 Author: Florian Schmaus gentoo org> AuthorDate: Thu Apr 4 08:10:03 2024 + Commit: Florian Schmaus gentoo org> CommitDate: Thu Apr 4 08:17:55 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0977b789 texlive-*.eclass: move update_tldb from texlive-module to texlive-common The TexLive package database (tlpdb) also needs to be updated by app-text/texlive-core, which only inherits texlive-common.eclass. Signed-off-by: Florian Schmaus gentoo.org> eclass/texlive-common.eclass | 54 eclass/texlive-module.eclass | 59 ++-- 2 files changed, 56 insertions(+), 57 deletions(-) diff --git a/eclass/texlive-common.eclass b/eclass/texlive-common.eclass index e8a740df1f27..66d3999bd103 100644 --- a/eclass/texlive-common.eclass +++ b/eclass/texlive-common.eclass @@ -249,4 +249,58 @@ texlive-common_append_to_src_uri() { fi } +# @FUNCTION: texlive-common_update_tlpdb +# @DESCRIPTION: +# Update the TexLive package database at /usr/share/tlpkg/texlive.tlpdb. +texlive-common_update_tlpdb() { + [[ -v TL_PV && ${TL_PV} -lt 2023 ]] && return + + # If we are updating this package, then there is no need to update + # the tlpdb in postrm, as it will be again updated in postinst. + [[ ${EBUILD_PHASE} == postrm && -n ${REPLACED_BY_VERSION} ]] && return + + local tlpkg="${EROOT}"/usr/share/tlpkg + local tlpobj="${tlpkg}"/tlpobj + local tlpdb="${tlpkg}"/texlive.tlpdb + + ebegin "Regenerating TexLive package database" + + local new_tlpdb="${T}"/texlive.tlpdb + + touch "${new_tlpdb}" || die + + find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 | + sort -z | + xargs -0 --no-run-if-empty cat >> "${new_tlpdb}" + assert "generating tlpdb failed" + + if [[ -f ${tlpdb} ]]; then + cmp -s "${new_tlpdb}" "${tlpdb}" + local ret=$? + case ${ret} in + # content equal + 0) + # Nothing to do, return. + eend 0 + return + ;; + # content differs + 1) + ;; + # cmp failed with an error + *) + eend ${ret} "comparing new and existing tlpdb failed (exit status: ${ret})" + die + ;; + esac + fi + + mv "${new_tlpdb}" "${tlpdb}" + eend $? "moving tlpdb into position failed (exit status: ${?})" || die + + if [[ ! -s ${tlpdb} ]]; then + rm "${tlpdb}" || die + fi +} + fi diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass index bfe5e12bf250..401b75bc4d11 100644 --- a/eclass/texlive-module.eclass +++ b/eclass/texlive-module.eclass @@ -420,61 +420,6 @@ texlive-module_src_install() { texlive-common_handle_config_files } -# @FUNCTION: texlive-module_update_tlpdb -# @DESCRIPTION: -# Update the TexLive package database at /usr/share/tlpkg/texlive.tlpdb. - -texlive-module_update_tlpdb() { - [[ ${TL_PV} -lt 2023 ]] && return - - # If we are updating this package, then there is no need to update - # the tlpdb in postrm, as it will be again updated in postinst. - [[ ${EBUILD_PHASE} == postrm && -n ${REPLACED_BY_VERSION} ]] && return - - local tlpkg="${EROOT}"/usr/share/tlpkg - local tlpobj="${tlpkg}"/tlpobj - local tlpdb="${tlpkg}"/texlive.tlpdb - - ebegin "Regenerating TexLive package database" - - local new_tlpdb="${T}"/texlive.tlpdb - - touch "${new_tlpdb}" || die - - find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 | - sort -z | - xargs -0 --no-run-if-empty cat >> "${new_tlpdb}" - assert "generating tlpdb failed" - - if [[ -f ${tlpdb} ]]; then - cmp -s "${new_tlpdb}" "${tlpdb}" - local ret=$? - case ${ret} in - # content equal - 0) - # Nothing to do, return. - eend 0 - return - ;; - # content differs - 1) - ;; - # cmp failed with an error - *) - eend ${ret} "comparing new and existing tlpdb failed (exit status: ${ret})" - die - ;; - esac - fi - - mv "${new_tlpdb}" "${tlpdb}" - eend $? "moving tlpdb into position
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 4ba5414687d20ba1369e7e2833ba563c1815fcbe Author: Mike Gilbert gentoo org> AuthorDate: Tue Mar 26 15:01:51 2024 + Commit: Sam James gentoo org> CommitDate: Thu Apr 4 01:06:38 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ba54146 meson.eclass: call die -n in phase helpers This allows the ebuild author to treat some errors as nonfatal. Signed-off-by: Mike Gilbert gentoo.org> Signed-off-by: Eli Schwartz gmail.com> Signed-off-by: Sam James gentoo.org> eclass/meson.eclass | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 3240fddf7e86..3074fcb09fb0 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -425,7 +425,7 @@ meson_src_configure() { export -n {C,CPP,CXX,F,OBJC,OBJCXX,LD}FLAGS PKG_CONFIG_{LIBDIR,PATH} echo meson setup "${MESONARGS[@]}" >&2 meson setup "${MESONARGS[@]}" - ) || die + ) || die -n } # @FUNCTION: meson_src_compile @@ -450,7 +450,7 @@ meson_src_compile() { set -- meson compile "${mesoncompileargs[@]}" echo "$@" >&2 - "$@" || die "compile failed" + "$@" || die -n "compile failed" } # @FUNCTION: meson_src_test @@ -469,7 +469,7 @@ meson_src_test() { set -- meson test "${mesontestargs[@]}" echo "$@" >&2 - "$@" || die "tests failed" + "$@" || die -n "tests failed" } # @FUNCTION: meson_install @@ -488,7 +488,7 @@ meson_install() { set -- meson install "${mesoninstallargs[@]}" echo "$@" >&2 - "$@" || die "install failed" + "$@" || die -n "install failed" } # @FUNCTION: meson_src_install
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: dbeb507f468dcc75095d54b59c165dcc70ef558d Author: Eli Schwartz gmail com> AuthorDate: Wed Apr 3 04:24:23 2024 + Commit: Sam James gentoo org> CommitDate: Thu Apr 4 01:06:39 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbeb507f meson.eclass: set working directory to BUILD_DIR In phases where the build directory has been configured and we are operating on it, it is better to change directories instead of passing -C options. This allows portage to know where we are, and in the case of errors it will then print: * Working directory: '/var/tmp/portage/www-client/elinks-0.16.1.1-r2/work/elinks-0.16.1.1-build' * S: '/var/tmp/portage/www-client/elinks-0.16.1.1-r2/work/elinks-0.16.1.1' instead of simply listing both as the same directory. This is much more convenient to copy/paste for the sake of entering the failed build and examining it. Signed-off-by: Eli Schwartz gmail.com> Signed-off-by: Sam James gentoo.org> eclass/meson.eclass | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 3074fcb09fb0..9d7f830e58b0 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -435,8 +435,9 @@ meson_src_configure() { meson_src_compile() { debug-print-function ${FUNCNAME} "$@" + pushd "${BUILD_DIR}" > /dev/null || die + local mesoncompileargs=( - -C "${BUILD_DIR}" --jobs "$(get_makeopts_jobs 0)" --load-average "$(get_makeopts_loadavg 0)" ) @@ -451,6 +452,8 @@ meson_src_compile() { set -- meson compile "${mesoncompileargs[@]}" echo "$@" >&2 "$@" || die -n "compile failed" + + popd > /dev/null || die } # @FUNCTION: meson_src_test @@ -460,9 +463,10 @@ meson_src_compile() { meson_src_test() { debug-print-function ${FUNCNAME} "$@" + pushd "${BUILD_DIR}" > /dev/null || die + local mesontestargs=( --print-errorlogs - -C "${BUILD_DIR}" --num-processes "$(makeopts_jobs "${MAKEOPTS}")" "$@" ) @@ -470,6 +474,8 @@ meson_src_test() { set -- meson test "${mesontestargs[@]}" echo "$@" >&2 "$@" || die -n "tests failed" + + popd > /dev/null || die } # @FUNCTION: meson_install @@ -479,8 +485,9 @@ meson_src_test() { meson_install() { debug-print-function ${FUNCNAME} "$@" + pushd "${BUILD_DIR}" > /dev/null || die + local mesoninstallargs=( - -C "${BUILD_DIR}" --destdir "${D}" --no-rebuild "$@" @@ -489,6 +496,8 @@ meson_install() { set -- meson install "${mesoninstallargs[@]}" echo "$@" >&2 "$@" || die -n "install failed" + + popd > /dev/null || die } # @FUNCTION: meson_src_install
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 92f953a24b62bcce256f3f138c98f9fbb5126cd5 Author: Florian Schmaus gentoo org> AuthorDate: Tue Apr 2 14:05:29 2024 + Commit: Florian Schmaus gentoo org> CommitDate: Wed Apr 3 17:34:44 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92f953a2 texlive-module.eclass: add texlive-module_update_tlpdb Update (or create) the tlpdb based on the contents of /usr/share/tlpkg/tlpobj. Closes: https://bugs.gentoo.org/928162 Signed-off-by: Florian Schmaus gentoo.org> eclass/texlive-module.eclass | 57 1 file changed, 57 insertions(+) diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass index 14e3280128a8..bfe5e12bf250 100644 --- a/eclass/texlive-module.eclass +++ b/eclass/texlive-module.eclass @@ -420,6 +420,61 @@ texlive-module_src_install() { texlive-common_handle_config_files } +# @FUNCTION: texlive-module_update_tlpdb +# @DESCRIPTION: +# Update the TexLive package database at /usr/share/tlpkg/texlive.tlpdb. + +texlive-module_update_tlpdb() { + [[ ${TL_PV} -lt 2023 ]] && return + + # If we are updating this package, then there is no need to update + # the tlpdb in postrm, as it will be again updated in postinst. + [[ ${EBUILD_PHASE} == postrm && -n ${REPLACED_BY_VERSION} ]] && return + + local tlpkg="${EROOT}"/usr/share/tlpkg + local tlpobj="${tlpkg}"/tlpobj + local tlpdb="${tlpkg}"/texlive.tlpdb + + ebegin "Regenerating TexLive package database" + + local new_tlpdb="${T}"/texlive.tlpdb + + touch "${new_tlpdb}" || die + + find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 | + sort -z | + xargs -0 --no-run-if-empty cat >> "${new_tlpdb}" + assert "generating tlpdb failed" + + if [[ -f ${tlpdb} ]]; then + cmp -s "${new_tlpdb}" "${tlpdb}" + local ret=$? + case ${ret} in + # content equal + 0) + # Nothing to do, return. + eend 0 + return + ;; + # content differs + 1) + ;; + # cmp failed with an error + *) + eend ${ret} "comparing new and existing tlpdb failed (exit status: ${ret})" + die + ;; + esac + fi + + mv "${new_tlpdb}" "${tlpdb}" + eend $? "moving tlpdb into position failed (exit status: ${?})" || die + + if [[ ! -s ${tlpdb} ]]; then + rm "${tlpdb}" || die + fi +} + # @FUNCTION: texlive-module_pkg_postinst # @DESCRIPTION: # exported function: @@ -428,6 +483,7 @@ texlive-module_src_install() { texlive-module_pkg_postinst() { etexmf-update + texlive-module_update_tlpdb [[ -n ${TL_MODULE_INFORMATION} ]] && elog "${TL_MODULE_INFORMATION}" } @@ -439,6 +495,7 @@ texlive-module_pkg_postinst() { texlive-module_pkg_postrm() { [[ -z ${REPLACED_BY_VERSION} ]] && etexmf-update + texlive-module_update_tlpdb } fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: cf77d7518def4b0ab7ff586eb51b65d18967 Author: Florian Schmaus gentoo org> AuthorDate: Tue Apr 2 14:05:09 2024 + Commit: Florian Schmaus gentoo org> CommitDate: Wed Apr 3 17:34:44 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf77 texlive-module.eclass: only invoke etexmf-update in postinst if not replacing versions Signed-off-by: Florian Schmaus gentoo.org> eclass/texlive-module.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass index 9fc4e619ff9b..14e3280128a8 100644 --- a/eclass/texlive-module.eclass +++ b/eclass/texlive-module.eclass @@ -438,7 +438,7 @@ texlive-module_pkg_postinst() { # installed texmf trees. texlive-module_pkg_postrm() { - etexmf-update + [[ -z ${REPLACED_BY_VERSION} ]] && etexmf-update } fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 1423ac82bf7a4ae558a0eb637b46a183235d912e Author: Michał Górny gentoo org> AuthorDate: Mon Mar 25 17:04:30 2024 + Commit: Michał Górny gentoo org> CommitDate: Mon Apr 1 09:36:32 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1423ac82 distutils-r1.eclass: Remove nosetests support Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 8 1 file changed, 8 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 16d97501012b..44553f8da6f3 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -572,8 +572,6 @@ distutils_enable_sphinx() { # with the specified test runner. Also copies the current value # of RDEPEND to test?-BDEPEND. The test-runner argument must be one of: # -# - nose: nosetests (dev-python/nose) -# # - pytest: dev-python/pytest # # - setup.py: setup.py test (no deps included) @@ -610,9 +608,6 @@ distutils_enable_tests() { local test_deps=${RDEPEND} local test_pkgs case ${1} in - nose) - test_pkgs='>=dev-python/nose-1.3.7_p20221026[${PYTHON_USEDEP}]' - ;; pytest) test_pkgs='>=dev-python/pytest-7.4.4[${PYTHON_USEDEP}]' if [[ -n ${EPYTEST_TIMEOUT} ]]; then @@ -1594,9 +1589,6 @@ distutils-r1_python_test() { fi case ${_DISTUTILS_TEST_RUNNER} in - nose) - "${EPYTHON}" -m nose -v "${@}" - ;; pytest) epytest ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 1f35acddca01e91d4477f3d0340c47329517f474 Author: Michał Górny gentoo org> AuthorDate: Fri Mar 29 15:53:11 2024 + Commit: Michał Górny gentoo org> CommitDate: Mon Apr 1 09:36:35 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f35acdd python-utils-r1.eclass: epytest, error out on missing async plugin Explicitly error out if epytest is run without an appropriate async plugin, and the test suite contains async tests. Currently, these tests are skipped with a warning but that is usually a mistake, and one can easily miss it when pytest-asyncio or a similar plugin is installed on the test system. However, a missing dependency can result in the tests being skipped afterwards on the tinderbox. Signed-off-by: Michał Górny gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/35913 Signed-off-by: Michał Górny gentoo.org> eclass/python-utils-r1.eclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass index caa39813feec..bbf751399476 100644 --- a/eclass/python-utils-r1.eclass +++ b/eclass/python-utils-r1.eclass @@ -1349,6 +1349,9 @@ epytest() { # override filterwarnings=error, we do not really want -Werror # for end users, as it tends to fail on new warnings from deps -Wdefault + # however, do error out if the package failed to load + # an appropriate async plugin + -Werror::pytest.PytestUnhandledCoroutineWarning # override color output "--color=${color}" # count is more precise when we're dealing with a large number
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 0168114f8343530be3e879828eb6fa559aa8f936 Author: Michał Górny gentoo org> AuthorDate: Mon Mar 25 18:47:39 2024 + Commit: Michał Górny gentoo org> CommitDate: Mon Apr 1 09:36:33 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0168114f distutils-r1.eclass: Fix `det unittest` with 3.12 only Closes: https://bugs.gentoo.org/926964 Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index a1617999a037..22b28e915859 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -628,11 +628,11 @@ distutils_enable_tests() { ;; unittest) # unittest-or-fail is needed in py<3.12 - test_deps+=" - $(python_gen_cond_dep ' + local test_pkgs="$(python_gen_cond_dep ' dev-python/unittest-or-fail[${PYTHON_USEDEP}] - ' 3.10 3.11) - " + ' 3.10 3.11 + )" + [[ -n ${test_pkgs} ]] && test_deps+=" ${test_pkgs}" ;; *) die "${FUNCNAME}: unsupported argument: ${1}"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 73c49f3c00415dee99407dabba8d3b22895c9d25 Author: Michał Górny gentoo org> AuthorDate: Mon Mar 25 19:01:52 2024 + Commit: Michał Górny gentoo org> CommitDate: Mon Apr 1 09:36:34 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73c49f3c distutils-r1.eclass: Remove more junk from .dist-info Closes: https://bugs.gentoo.org/927818 Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 22b28e915859..7a314673a90b 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -1314,14 +1314,23 @@ distutils_wheel_install() { printf '%s\n' "${cmd[*]}" "${cmd[@]}" || die "Wheel install failed" - # remove installed licenses + # remove installed licenses and other junk find "${root}$(python_get_sitedir)" -depth \ - \( -path '*.dist-info/COPYING*' \ - -o -path '*.dist-info/LICENSE*' \ + \( -ipath '*.dist-info/AUTHORS*' \ + -o -ipath '*.dist-info/CHANGELOG*' \ + -o -ipath '*.dist-info/CODE_OF_CONDUCT*' \ + -o -ipath '*.dist-info/COPYING*' \ + -o -ipath '*.dist-info/*LICEN[CS]E*' \ + -o -ipath '*.dist-info/NOTICE*' \ + -o -ipath '*.dist-info/*Apache*' \ + -o -ipath '*.dist-info/*GPL*' \ + -o -ipath '*.dist-info/*MIT*' \ + -o -path '*.dist-info/RECORD' \ -o -path '*.dist-info/license_files/*' \ -o -path '*.dist-info/license_files' \ -o -path '*.dist-info/licenses/*' \ -o -path '*.dist-info/licenses' \ + -o -path '*.dist-info/zip-safe' \ \) -delete || die }
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: d3a4df00a967d8358ab90480be77ca667e25f8c9 Author: Michał Górny gentoo org> AuthorDate: Mon Mar 25 16:55:26 2024 + Commit: Michał Górny gentoo org> CommitDate: Mon Apr 1 09:36:29 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3a4df00 distutils-r1.eclass: Bump minimal dep versions Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 28 ++-- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 9be994595529..e4b17c433e5d 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -230,7 +230,7 @@ _distutils_set_globals() { ;; hatchling) bdep+=' - >=dev-python/hatchling-1.17.0[${PYTHON_USEDEP}] + >=dev-python/hatchling-1.21.1[${PYTHON_USEDEP}] ' ;; jupyter) @@ -240,7 +240,7 @@ _distutils_set_globals() { ;; maturin) bdep+=' - >=dev-util/maturin-1.0.1[${PYTHON_USEDEP}] + >=dev-util/maturin-1.4.0[${PYTHON_USEDEP}] ' ;; no) @@ -249,12 +249,12 @@ _distutils_set_globals() { ;; meson-python) bdep+=' - >=dev-python/meson-python-0.13.1[${PYTHON_USEDEP}] + >=dev-python/meson-python-0.15.0[${PYTHON_USEDEP}] ' ;; pbr) bdep+=' - >=dev-python/pbr-5.11.1[${PYTHON_USEDEP}] + >=dev-python/pbr-6.0.0[${PYTHON_USEDEP}] ' ;; pdm) @@ -264,27 +264,27 @@ _distutils_set_globals() { ;; pdm-backend) bdep+=' - >=dev-python/pdm-backend-2.1.0[${PYTHON_USEDEP}] + >=dev-python/pdm-backend-2.1.8[${PYTHON_USEDEP}] ' ;; poetry) bdep+=' - >=dev-python/poetry-core-1.6.1[${PYTHON_USEDEP}] + >=dev-python/poetry-core-1.9.0[${PYTHON_USEDEP}] ' ;; scikit-build-core) bdep+=' - >=dev-python/scikit-build-core-0.4.6[${PYTHON_USEDEP}] + >=dev-python/scikit-build-core-0.8.2[${PYTHON_USEDEP}] ' ;; setuptools) bdep+=' - >=dev-python/setuptools-67.8.0-r1[${PYTHON_USEDEP}] + >=dev-python/setuptools-69.0.3[${PYTHON_USEDEP}] ' ;; sip) bdep+=' - >=dev-python/sip-6.7.9[${PYTHON_USEDEP}] + >=dev-python/sip-6.8.3[${PYTHON_USEDEP}] ' ;; standalone) @@ -299,7 +299,7 @@ _distutils_set_globals() { eqawarn "is enabled." fi else - local setuptools_dep='>=dev-python/setuptools-67.8.0-r1[${PYTHON_USEDEP}]' + local setuptools_dep='>=dev-python/setuptools-69.0.3[${PYTHON_USEDEP}]' case ${DISTUTILS_USE_SETUPTOOLS:-bdepend} in no|manual) @@ -508,7 +508,7 @@ distutils_enable_sphinx() { _DISTUTILS_SPHINX_PLUGINS=( "${@}" ) local deps autodoc=1 d - deps=">=dev-python/sphinx-5.3.0[\${PYTHON_USEDEP}]" + deps=">=dev-python/sphinx-7.2.6[\${PYTHON_USEDEP}]" for d; do if [[ ${d} == --no-autodoc ]]; then autodoc= @@ -532,7 +532,7 @@ distutils_enable_sphinx() { use doc || return 0 local p - for p in ">=dev-python/sphinx-5.3.0" \ + for p in
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 380a5cbd2745ddfea53724246bf3b98976982064 Author: Michał Górny gentoo org> AuthorDate: Mon Mar 25 18:44:50 2024 + Commit: Michał Górny gentoo org> CommitDate: Mon Apr 1 09:36:32 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=380a5cbd distutils-r1.eclass: Refactor `distutils_enable_tests pytest` Refactor `distutils_enable_tests pytest` to move `test_pkgs` logic straight into pytest block, as it is not used by any other variant anymore. Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 20 +--- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 44553f8da6f3..a1617999a037 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -606,16 +606,23 @@ distutils_enable_tests() { [[ ${#} -eq 1 ]] || die "${FUNCNAME} takes exactly one argument: test-runner" local test_deps=${RDEPEND} - local test_pkgs case ${1} in pytest) - test_pkgs='>=dev-python/pytest-7.4.4[${PYTHON_USEDEP}]' + local test_pkgs='>=dev-python/pytest-7.4.4[${PYTHON_USEDEP}]' if [[ -n ${EPYTEST_TIMEOUT} ]]; then test_pkgs+=' dev-python/pytest-timeout[${PYTHON_USEDEP}]' fi if [[ ${EPYTEST_XDIST} ]]; then test_pkgs+=' dev-python/pytest-xdist[${PYTHON_USEDEP}]' fi + + if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then + test_deps+=" ${test_pkgs//'${PYTHON_USEDEP}'/${PYTHON_USEDEP}}" + else + test_deps+=" $(python_gen_cond_dep " + ${test_pkgs} + ")" + fi ;; setup.py) ;; @@ -634,15 +641,6 @@ distutils_enable_tests() { _DISTUTILS_TEST_RUNNER=${1} python_test() { distutils-r1_python_test; } - if [[ -n ${test_pkgs} ]]; then - if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then - test_deps+=" ${test_pkgs//'${PYTHON_USEDEP}'/${PYTHON_USEDEP}}" - else - test_deps+=" $(python_gen_cond_dep " - ${test_pkgs} - ")" - fi - fi if [[ -n ${test_deps} ]]; then IUSE+=" test" RESTRICT+=" !test? ( test )"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 715da0fdbbe67cf6952831af4cf04d86d6d8b78b Author: Michał Górny gentoo org> AuthorDate: Mon Mar 25 17:01:04 2024 + Commit: Michał Górny gentoo org> CommitDate: Mon Apr 1 09:36:30 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=715da0fd distutils-r1.eclass: Run pdm.pep517.api via pdm-backend Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 21 - 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index e4b17c433e5d..16d97501012b 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -124,8 +124,6 @@ esac # # - pbr - pbr backend # -# - pdm - pdm.pep517 backend -# # - pdm-backend - pdm.backend backend # # - poetry - poetry-core backend @@ -257,11 +255,6 @@ _distutils_set_globals() { >=dev-python/pbr-6.0.0[${PYTHON_USEDEP}] ' ;; - pdm) - bdep+=' - >=dev-python/pdm-pep517-1.1.4[${PYTHON_USEDEP}] - ' - ;; pdm-backend) bdep+=' >=dev-python/pdm-backend-2.1.8[${PYTHON_USEDEP}] @@ -1002,12 +995,6 @@ _distutils-r1_print_package_versions() { dev-python/wheel ) ;; - pdm) - packages+=( - dev-python/pdm-pep517 - dev-python/setuptools - ) - ;; pdm-backend) packages+=( dev-python/pdm-backend @@ -1214,12 +1201,9 @@ _distutils-r1_backend_to_key() { pbr.build) echo pbr ;; - pdm.backend) + pdm.backend|pdm.pep517.api) echo pdm-backend ;; - pdm.pep517.api) - echo pdm - ;; poetry.core.masonry.api|poetry.masonry.api) echo poetry ;; @@ -1280,6 +1264,9 @@ _distutils-r1_get_backend() { flit.buildapi) new_backend=flit_core.buildapi ;; + pdm.pep517.api) + new_backend=pdm.backend + ;; poetry.masonry.api) new_backend=poetry.core.masonry.api ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 838b52b4a3e44aaa2b86db7c68803d0018cfba98 Author: Sebastian Parborg gmail com> AuthorDate: Mon Mar 25 15:15:17 2024 + Commit: Michał Górny gentoo org> CommitDate: Mon Apr 1 09:36:28 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=838b52b4 git-r3.eclass: Add the ability to checkout ignored submodules. If the submodules is specified in EGIT_SUBMODULES then it will ignore the "none" check. Signed-off-by: Sebastian Parborg gmail.com> Closes: https://github.com/gentoo/gentoo/pull/35911 Signed-off-by: Michał Górny gentoo.org> eclass/git-r3.eclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass index a498bb8a5563..565f6ada8382 100644 --- a/eclass/git-r3.eclass +++ b/eclass/git-r3.eclass @@ -429,6 +429,7 @@ _git-r3_set_submodules() { l=${l#submodule.} local subname=${l%%.url=*} + local is_manually_specified= # filter out on EGIT_SUBMODULES if declare -p EGIT_SUBMODULES &>/dev/null; then @@ -449,13 +450,14 @@ _git-r3_set_submodules() { continue else einfo "Using submodule ${parent_path}${subname}" + is_manually_specified=1 fi fi # skip modules that have 'update = none', bug #487262. local upd=$(echo "${data}" | git config -f /dev/fd/0 \ submodule."${subname}".update) - [[ ${upd} == none ]] && continue + [[ ${upd} == none && ! ${is_manually_specified} ]] && continue # https://github.com/git/git/blob/master/refs.c#L31 # we are more restrictive than git itself but that should not
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 1fc8e5ccf427202fa2664acfe915c808590648e3 Author: Michał Górny gentoo org> AuthorDate: Sat Mar 30 10:21:25 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Mar 30 10:27:07 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fc8e5cc llvm.org.eclass: Add 19.0.0_pre20240330 snapshot Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index a83ffa49dba5..607e3086d65a 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then _LLVM_SOURCE_TYPE=snapshot case ${PV} in + 19.0.0_pre20240330) + EGIT_COMMIT=a8b0ecd2605ff23f495a8af64e06c35f86834e54 + ;; 19.0.0_pre20240322) EGIT_COMMIT=f3cfe016c5d8429c0dccfa6f85442e2ea0d45a58 ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ec90f4c3a4e0ef9841dede7b18df90e2aceafd45 Author: Eli Schwartz gmail com> AuthorDate: Thu Mar 28 03:47:10 2024 + Commit: Sam James gentoo org> CommitDate: Fri Mar 29 18:45:05 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec90f4c3 flag-o-matic.eclass: simplify implementation and work in all cases It curently uses some magic test to decide whether handcrafted code works with or without -latomic. But it can claim that -latomic is not needed for that case, while it is still needed for other cases. > okay so append-atomic-flags does not work for me in this case > noise-suppression-for-voice is doing `struct RnNoiseStats { uint32_t a, b, c, > d; }; std::atomic m_stats;` > not just a single large integer It is simplest to always add -latomic when an ebuild gets that deep feeling that yeah, it would like some atomics please. The downsides to listing a linker library are exactly: - it might be unavailable - it might be unneeded And the former case is trivial to solve -- this function already does so -- while the latter case has a sanctioned approach that is already used for other intrinsic compiler libraries, but not for atomic "because the build system would have a hard time if we had to build atomic early on" which isn't a very good reason to break ebuilds which aren't building sys-devel/gcc. As a side benefit, we now handle -latomic such that a package which requires it, but only for parts of the installed package, does not overlink to libatomic in *all* binaries/libraries, even if the default LDFLAGS are overridden and the global -Wl,--as-needed disappears. Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358 Bug: https://bugs.gentoo.org/820101 Bug: https://bugs.gentoo.org/925672 Signed-off-by: Eli Schwartz gmail.com> Signed-off-by: Sam James gentoo.org> eclass/flag-o-matic.eclass | 80 +++--- 1 file changed, 19 insertions(+), 61 deletions(-) diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass index 5ce7601fdde2..0e5271c7824f 100644 --- a/eclass/flag-o-matic.eclass +++ b/eclass/flag-o-matic.eclass @@ -1015,69 +1015,27 @@ test-compile() { } # @FUNCTION: append-atomic-flags -# @USAGE: [bytes] # @DESCRIPTION: -# Attempts to detect if appending -latomic is required to use -# a specific-sized atomic intrinsic, and if so, appends it. If the bytesize -# is not specified, then check the four most common byte sizes (1, 2, 4, 8). -# >=16-byte atomics are not included in this default set and must be explicitly -# passed if required. This may require you to add a macro definition like -# -Duint128_t=__uint128_t to your CFLAGS. +# Attempts to detect if appending -latomic works, and does so. append-atomic-flags() { - # this implementation is as described in bug #820101 - local code - - # first, ensure we can compile a trivial program - # this is because we can't distinguish if test-compile - # fails because -latomic is actually needed or if we have a - # broken toolchain (like due to bad FLAGS) - read -r -d '' code <<- EOF - int main(void) - { - return 0; - } - EOF - - # if toolchain is broken, just return silently. it's better to - # let other pieces of the build fail later down the line than to - # make people think that something to do with atomic support is the - # cause of their problems. - test-compile "c+ld" "${code}" || return - - local bytesizes - [[ "${#}" == "0" ]] && bytesizes=( "1" "2" "4" "8" ) || bytesizes="${@}" - - for bytesize in ${bytesizes[@]} - do - # this sample program is informed by the great testing from the buildroot project: - # https://github.com/buildroot/buildroot/commit/6856e417da4f3aa77e2a814db2a89429af072f7d - read -r -d '' code <<- EOF - #include - int main(void) - { - uint$((${bytesize} * 8))_t a = 0; - __atomic_add_fetch(, 3, __ATOMIC_RELAXED); - __atomic_compare_exchange_n(, , 2, 1, __ATOMIC_RELAXED, __ATOMIC_RELAXED); - return 0; - } - EOF - - # do nothing if test program links fine - test-compile "c+ld" "${code}" && continue - - # ensure that the toolchain supports -latomic - test-flags-CCLD "-latomic" &>/dev/null || die "-latomic is required but not supported by $(tc-getCC)" - - append-libs "-latomic" - - # verify that this did indeed fix the problem - test-compile "c+ld" "${code}" || \ - die "libatomic does not include an implementation of ${bytesize}-byte atomics for this toolchain" - -
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: e897f91e8e81b8168e7045db2f6d8dd9ebdb9ddf Author: Sam James gentoo org> AuthorDate: Sun Mar 24 17:19:46 2024 + Commit: Sam James gentoo org> CommitDate: Sun Mar 24 17:47:08 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e897f91e toolchain.eclass: abort if hybrid CPU detected w/ -march=native Unfortunately, the previous approach can't work. --param doesn't fully wipe out the previous value added by -march=native, so we still get a failed comparison. Users hitting this should install app-misc/resolve-march-native, run resolve-march-native, and use that in their *FLAGS instead of -march=native - at least for sys-devel/gcc via package.env, if not in make.conf. Therefore, our only real option is to just abort when we detect a problematic situation and tell users what to do. The only other idea I had was to try taskset in src_compile which feels super brittle and not sure it'd even work at all. Thanks to Andrei for testing and debugging with us on IRC & the bug. Bug: https://bugs.gentoo.org/904426 Bug: https://bugs.gentoo.org/908523 Bug: https://bugs.gentoo.org/915389 Bug: https://bugs.gentoo.org/927688 Thanks-to: Andrei Liavonchykau gmail.com> Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 01fbd62dc12c..6a515f9b5c69 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1619,9 +1619,16 @@ gcc_do_filter_flags() { [[ -n ${l1_cache_size} && ${l1_cache_size} =~ ^[0-9]+$ ]] || break l1_cache_sizes[${l1_cache_size}]=1 done - # If any of them are different, just pick the first one. + # If any of them are different, abort. We can't just pass one value of + # l1-cache-size because it doesn't cancel out the -march=native one. if [[ ${#l1_cache_sizes[@]} -gt 1 ]] ; then - append-flags --param=l1-cache-size=${l1_cache_size} + eerror "Different values of l1-cache-size detected!" + eerror "GCC will fail to bootstrap when comparing files with these flags." + eerror "This CPU is likely big.little/hybrid hardware with power/efficiency cores." + eerror "Please install app-misc/resolve-march-native and run 'resolve-march-native'" + eerror "to find a safe value of CFLAGS for this CPU. Note that this may vary" + eerror "depending on the core it ran on. taskset can be used to fix the cores used." + die "Varying l1-cache-size found, aborting (bug #915389, gcc PR#111768)" fi fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f64da62e50ad607de3a95b6a1d0d2ed8ba8bd268 Author: Sam James gentoo org> AuthorDate: Sun Mar 24 14:05:00 2024 + Commit: Sam James gentoo org> CommitDate: Sun Mar 24 14:05:31 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f64da62e toolchain.eclass: improve hybrid check Thanks to stikonas for debugging on IRC. Bug: https://bugs.gentoo.org/904426 Bug: https://bugs.gentoo.org/908523 Bug: https://bugs.gentoo.org/915389 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 03e6a5d987d1..01fbd62dc12c 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1616,11 +1616,11 @@ gcc_do_filter_flags() { [[ -z ${x} || ${x} -gt 64 ]] && break l1_cache_size=$(taskset --cpu-list ${x} $(tc-getCC) -Q --help=params -O2 -march=native \ | awk '{ if ($1 ~ /^.*param.*l1-cache-size/) print $2; }' || die) - [[ -n ${l1_cache_size} && ${l1_cache_size} =~ "^[0-9]+$" ]] || break + [[ -n ${l1_cache_size} && ${l1_cache_size} =~ ^[0-9]+$ ]] || break l1_cache_sizes[${l1_cache_size}]=1 done # If any of them are different, just pick the first one. - if [[ ${#l1_cache_sizes} -gt 1 ]] ; then + if [[ ${#l1_cache_sizes[@]} -gt 1 ]] ; then append-flags --param=l1-cache-size=${l1_cache_size} fi fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 6a5cd02ce95c2b0b46f82fa10e77c47816124128 Author: Sam James gentoo org> AuthorDate: Sun Mar 24 09:30:06 2024 + Commit: Sam James gentoo org> CommitDate: Sun Mar 24 09:32:09 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a5cd02c libtool.eclass: depend on newer >=app-portage/elt-patches-20240116 --changed-deps users will get lots of rebuilds from 18f979e09388597a04255a2f42c464cf5a05d512 anyway so let's chuck this in. Lots of fixes since the last required version 20170815. Signed-off-by: Sam James gentoo.org> eclass/libtool.eclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eclass/libtool.eclass b/eclass/libtool.eclass index 9797b22aabff..bd6141e1ede9 100644 --- a/eclass/libtool.eclass +++ b/eclass/libtool.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: libtool.eclass @@ -18,8 +18,8 @@ if [[ -z ${_LIBTOOL_ECLASS} ]]; then _LIBTOOL_ECLASS=1 case ${EAPI} in - 6) DEPEND=">=app-portage/elt-patches-20170815" ;; - 7|8) BDEPEND=">=app-portage/elt-patches-20170815" ;; + 6) DEPEND=">=app-portage/elt-patches-20240116" ;; + 7|8) BDEPEND=">=app-portage/elt-patches-20240116" ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 18f979e09388597a04255a2f42c464cf5a05d512 Author: Sam James gentoo org> AuthorDate: Sun Mar 24 09:08:48 2024 + Commit: Sam James gentoo org> CommitDate: Sun Mar 24 09:08:48 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18f979e0 autotools.eclass: require >=dev-build/libtool-2.4.7-r3 Needed for c7012f128a3c04053924fa1e96ed48a1c758fc65 wrt upgrade ordering. Bug: https://bugs.gentoo.org/927650 Bug: https://bugs.gentoo.org/927662 Signed-off-by: Sam James gentoo.org> eclass/autotools.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass index 2290e8067813..1ced771c5345 100644 --- a/eclass/autotools.eclass +++ b/eclass/autotools.eclass @@ -149,7 +149,7 @@ if [[ -n ${WANT_AUTOCONF} ]] ; then export WANT_AUTOCONF fi -_libtool_atom=">=dev-build/libtool-2.4.7" +_libtool_atom=">=dev-build/libtool-2.4.7-r3" if [[ -n ${WANT_LIBTOOL} ]] ; then case ${WANT_LIBTOOL} in none) _libtool_atom="" ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 52fa9d334e23327ba08139f8617d3ae16adff64e Author: Sam James gentoo org> AuthorDate: Sat Mar 23 20:18:16 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 20:18:16 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52fa9d33 toolchain.eclass: fortify hybrid workaround * Make sure the result is non-empty before trying to use it as an index * Make sure the result is an integer before trying to use it as an index * Don't try to set --param ... if we had no result at all These are good ideas anyway but they happen with gnat-gpl as apparently older GCC didn't actually have the l1-cache-size thing (I thought it was a bit older than 10). Whatever. Closes: https://bugs.gentoo.org/927646 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 331e107bacf3..03e6a5d987d1 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1616,10 +1616,11 @@ gcc_do_filter_flags() { [[ -z ${x} || ${x} -gt 64 ]] && break l1_cache_size=$(taskset --cpu-list ${x} $(tc-getCC) -Q --help=params -O2 -march=native \ | awk '{ if ($1 ~ /^.*param.*l1-cache-size/) print $2; }' || die) + [[ -n ${l1_cache_size} && ${l1_cache_size} =~ "^[0-9]+$" ]] || break l1_cache_sizes[${l1_cache_size}]=1 done # If any of them are different, just pick the first one. - if [[ ${#l1_cache_sizes} != 1 ]] ; then + if [[ ${#l1_cache_sizes} -gt 1 ]] ; then append-flags --param=l1-cache-size=${l1_cache_size} fi fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 366f99366481f7f34ce30e4fc85f50e4dc7e4a48 Author: Sam James gentoo org> AuthorDate: Sat Mar 23 19:01:06 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 19:01:30 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=366f9936 toolchain.eclass: another error handling fix Fixes: f81ec884754b3f3d3720d40b212e12ef364821c5 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index cd63712b1f24..331e107bacf3 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -2089,8 +2089,9 @@ toolchain_src_install() { docompress "${DATAPATH}"/{info,man} - # Prune empty dirs left behind - find "${ED}" -depth -type d -delete 2>/dev/null || die + # Prune empty dirs left behind. It's fine not to die here as we may + # really have no empty dirs left. + find "${ED}" -depth -type d -delete 2>/dev/null # libstdc++.la: Delete as it doesn't add anything useful: g++ itself # handles linkage correctly in the dynamic & static case. It also just
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: efc8afb3c59398c00fc42a06ec541bc481100873 Author: Sam James gentoo org> AuthorDate: Sat Mar 23 17:03:50 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 17:04:20 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efc8afb3 toolchain.eclass: another error handling fix This one seems to be part of the previous block and was missing a comment / had misleading whitespace. Fixes: f81ec884754b3f3d3720d40b212e12ef364821c5 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 45e175a6092e..cd63712b1f24 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -2223,8 +2223,8 @@ gcc_movelibs() { for FROMDIR in ${removedirs} ; do rmdir "${D}"${FROMDIR} >& /dev/null done - - find -depth "${ED}" -type d -exec rmdir {} + >& /dev/null || die + # XXX: Intentionally no die, here to remove empty dirs + find -depth "${ED}" -type d -exec rmdir {} + >& /dev/null } # Make sure the libtool archives have libdir set to where they actually
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: faadc0bc6bbc5bd65248446fc7b084331a4d3ec1 Author: Michał Górny gentoo org> AuthorDate: Sat Mar 23 16:07:27 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Mar 23 17:03:18 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=faadc0bc llvm.org.eclass: Add 19.0.0_pre20240322 snapshot Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index bd1b726a9a4e..a83ffa49dba5 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then _LLVM_SOURCE_TYPE=snapshot case ${PV} in + 19.0.0_pre20240322) + EGIT_COMMIT=f3cfe016c5d8429c0dccfa6f85442e2ea0d45a58 + ;; 19.0.0_pre20240316) EGIT_COMMIT=6d3cec01a6c29fa4e51ba129fa13dbf55d2b928e ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f02411ef0cf08c3d352e158a154f8961ec24d366 Author: Sam James gentoo org> AuthorDate: Sat Mar 23 16:05:20 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 16:05:20 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f02411ef toolchain.eclass: prettify gcc bz links Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index f01edde0287d..45e175a6092e 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -359,7 +359,7 @@ DEPEND="${RDEPEND}" if [[ ${PN} == gcc && ${PV} == *_p* ]] ; then # Snapshots don't contain info pages. # If they start to, adjust gcc_cv_prog_makeinfo_modern logic in toolchain_src_configure. - # Needed unless/until https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106899 is fixed + # Needed unless/until https://gcc.gnu.org/PR106899 is fixed BDEPEND+=" sys-apps/texinfo" fi @@ -803,7 +803,7 @@ toolchain_src_configure() { gcc_do_filter_flags if ! tc_version_is_at_least 11 && [[ $(gcc-major-version) -ge 12 ]] ; then - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105695 + # https://gcc.gnu.org/PR105695 # bug #849359 export ac_cv_std_swap_in_utility=no fi @@ -1044,7 +1044,7 @@ toolchain_src_configure() { fi confgcc+=( - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100289 + # https://gcc.gnu.org/PR100289 # TOOD: Find a way to disable this just for stage1 cross? --disable-gcov @@ -1374,7 +1374,7 @@ toolchain_src_configure() { # TODO: Ignore RCs here (but TOOLCHAIN_IS_RC isn't yet an eclass var) if [[ ${PV} == *_p* && -f "${S}"/gcc/doc/gcc.info ]] ; then - # Safeguard against https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106899 being fixed + # Safeguard against https://gcc.gnu.org/PR106899 being fixed # without corresponding ebuild changes. eqawarn "Snapshot release with pre-generated info pages found!" eqawarn "The BDEPEND in the ebuild should be updated to drop texinfo." @@ -1989,10 +1989,10 @@ toolchain_src_install() { # with it. Several reported bugs exist where the resulting image # was wrong, rather than a simple compile/install failure: # - bug #906155 - # - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42980 - # - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51814 - # - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103656 - # - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109898 + # - https://gcc.gnu.org/PR42980 + # - https://gcc.gnu.org/PR51814 + # - https://gcc.gnu.org/PR103656 + # - https://gcc.gnu.org/PR109898 S="${WORKDIR}"/build emake DESTDIR="${D}" -j1 install # Punt some tools which are really only useful while building gcc
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: e9c493e228a1542c4bb0a036303102718a78b679 Author: Sam James gentoo org> AuthorDate: Fri Mar 15 10:17:00 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 15:40:49 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9c493e2 toolchain.eclass: add CHOST to test data path We get collisions for cross-compilers otherwise. Closes: https://bugs.gentoo.org/925037 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 5fdbf47a8f3a..c8543c617ccd 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1849,10 +1849,10 @@ toolchain_src_test() { SANDBOX_ON=0 LD_PRELOAD= nonfatal emake -k check local success_tests=$? - if [[ ! -d "${BROOT}"/var/cache/gcc/${SLOT} ]] && ! [[ ${success_tests} -eq 0 ]] ; then + if [[ ! -d "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT} ]] && ! [[ ${success_tests} -eq 0 ]] ; then # We have no reference data saved from a previous run to know if # the failures are tolerable or not, so we bail out. - eerror "Reference test data does NOT exist at ${BROOT}/var/cache/gcc/${SLOT}" + eerror "Reference test data does NOT exist at ${BROOT}/var/cache/gcc/${CHOST}/${SLOT}" eerror "Tests failed and nothing to compare with, so this is a fatal error." eerror "(Set GCC_TESTS_IGNORE_NO_BASELINE=1 to make this non-fatal for initial run.)" @@ -1868,14 +1868,14 @@ toolchain_src_test() { # If previous results exist on the system, compare with it # TODO: Distribute some baseline results in e.g. gcc-patches.git? - if [[ -d "${BROOT}"/var/cache/gcc/${SLOT} ]] ; then - einfo "Comparing with previous cached results at ${BROOT}/var/cache/gcc/${SLOT}" + if [[ -d "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT} ]] ; then + einfo "Comparing with previous cached results at ${BROOT}/var/cache/gcc/${CHOST}/${SLOT}" # Exit with the following values: # 0 if there is nothing of interest # 1 if there are errors when comparing single test case files # N for the number of errors found when comparing directories - "${S}"/contrib/compare_tests "${BROOT}"/var/cache/gcc/${SLOT}/ . || die "Comparison for tests results failed, error code: $?" + "${S}"/contrib/compare_tests "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT}/ . || die "Comparison for tests results failed, error code: $?" fi } @@ -2104,11 +2104,11 @@ toolchain_src_install() { # more versions even after unmerged? Also would be useful for # historical records and tracking down regressions a while # after they first appeared, but were only just reported. - einfo "Copying test results to ${EPREFIX}/var/cache/gcc/${SLOT} for future comparison" + einfo "Copying test results to ${EPREFIX}/var/cache/gcc/${CHOST}/${SLOT} for future comparison" ( - dodir /var/cache/gcc/${SLOT} + dodir /var/cache/gcc/${CHOST}/${SLOT} cd "${WORKDIR}"/build || die - find . -name \*.sum -exec cp --parents -v {} "${ED}"/var/cache/gcc/${SLOT} \; + find . -name \*.sum -exec cp --parents -v {} "${ED}"/var/cache/gcc/${CHOST}/${SLOT} \; ) fi }
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: c4eccac296c608e3fafad22d678540ddaab950d7 Author: Sam James gentoo org> AuthorDate: Sun Mar 17 06:47:09 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 15:40:52 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4eccac2 toolchain.eclass: don't install all .sum files Just rely on the validate_failures.py manifests instead. These logs get real big real fast. People can save build logs if they want to look at the tests otherwise. Bug: https://bugs.gentoo.org/214345 Bug: https://bugs.gentoo.org/253926 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 6b9b49011bce..d996d2d02770 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -2339,9 +2339,8 @@ toolchain_pkg_preinst() { if [[ -f "${T}"/${CHOST}.xfail ]] ; then cp -v "${T}"/${CHOST}.xfail "${GCC_TESTS_COMPARISON_DIR}/${SLOT}" || die fi - find . -name \*.sum -exec cp --parents -v {} "${GCC_TESTS_COMPARISON_DIR}/${SLOT}" \; -) -fi + ) + fi } #>> pkg_post* <<
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f81ec884754b3f3d3720d40b212e12ef364821c5 Author: Sam James gentoo org> AuthorDate: Sat Mar 23 08:44:55 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 15:40:54 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f81ec884 toolchain.eclass: add various missing error handling Prompted by Ionen. Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 34 +- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index d996d2d02770..5f350db0fe13 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -646,7 +646,7 @@ toolchain_src_prepare() { # Update configure files local f einfo "Fixing misc issues in configure files" - for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure)) ; do + for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure || die) || die) ; do ebegin " Updating ${f/${S}\/} [LANG]" patch "${f}" "${FILESDIR}"/gcc-configure-LANG.patch >& "${T}"/configure-patch.log \ || eerror "Please file a bug about this" @@ -1865,7 +1865,7 @@ gcc_do_make() { emake doc-man-doxygen # Clean bogus manpages. bug #113902 - find -name '*_build_*' -delete + find -name '*_build_*' -delete || die # Blow away generated directory references. Newer versions of gcc # have gotten better at this, but not perfect. This is easier than @@ -1982,9 +1982,9 @@ toolchain_src_install() { S="${WORKDIR}"/build-jit emake DESTDIR="${D}" -j1 install # Punt some tools which are really only useful while building gcc - find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \; + find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \; || die # This one comes with binutils - find "${ED}" -name libiberty.a -delete + find "${ED}" -name libiberty.a -delete || die # Move the libraries to the proper location gcc_movelibs @@ -2006,9 +2006,9 @@ toolchain_src_install() { S="${WORKDIR}"/build emake DESTDIR="${D}" -j1 install # Punt some tools which are really only useful while building gcc - find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \; + find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \; || die # This one comes with binutils - find "${ED}" -name libiberty.a -delete + find "${ED}" -name libiberty.a -delete || die # Move the libraries to the proper location gcc_movelibs @@ -2084,9 +2084,9 @@ toolchain_src_install() { rm -rf "${ED}"/usr/share/{man,info} rm -rf "${D}"${DATAPATH}/{man,info} else - local cxx_mandir=$(find "${WORKDIR}/build/${CTARGET}/libstdc++-v3" -name man) + local cxx_mandir=$(find "${WORKDIR}/build/${CTARGET}/libstdc++-v3" -name man || die) if [[ -d ${cxx_mandir} ]] ; then - cp -r "${cxx_mandir}"/man? "${D}${DATAPATH}"/man/ + cp -r "${cxx_mandir}"/man? "${D}${DATAPATH}"/man/ || die fi fi @@ -2100,7 +2100,7 @@ toolchain_src_install() { docompress "${DATAPATH}"/{info,man} # Prune empty dirs left behind - find "${ED}" -depth -type d -delete 2>/dev/null + find "${ED}" -depth -type d -delete 2>/dev/null || die # libstdc++.la: Delete as it doesn't add anything useful: g++ itself # handles linkage correctly in the dynamic & static case. It also just @@ -2137,17 +2137,17 @@ toolchain_src_install() { -name libitm.la -o \ -name libvtv.la -o \ -name 'lib*san.la' \ - ')' -type f -delete + ')' -type f -delete || die # Use gid of 0 because some stupid ports don't have # the group 'root' set to gid 0. Send to /dev/null # for people who are testing as non-root. - chown -R 0:0 "${D}${LIBPATH}" 2>/dev/null + chown -R 0:0 "${D}${LIBPATH}" 2>/dev/null || die # Installing gdb pretty-printers into gdb-specific location. local py gdbdir=/usr/share/gdb/auto-load${LIBPATH} - pushd "${D}${LIBPATH}" >/dev/null - for py in $(find . -name '*-gdb.py') ; do + pushd "${D}${LIBPATH}" >/dev/null || die + for py in $(find . -name '*-gdb.py' || die) ; do local multidir=${py%/*} insinto "${gdbdir}/${multidir}" @@ -2157,7 +2157,7 @@ toolchain_src_install() { rm "${py}" || die done - popd >/dev/null + popd
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: a4be4b7c55aa58e5d034f4c35b1f0851f8dd7f39 Author: Sam James gentoo org> AuthorDate: Sat Mar 16 11:20:35 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 15:40:53 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4be4b7c Revert "toolchain.eclass: default to just running the (execute) torture tests" This reverts commit 97b5abe929550453932060bbf078bb4352b400c1. Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index dfcbd80cb283..d996d2d02770 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -122,14 +122,14 @@ tc_version_is_between() { # @DESCRIPTION: # Defaults to 'check'. Allows choosing a different test target, e.g. # 'test-gcc' (https://gcc.gnu.org/install/test.html). -: "${GCC_TESTS_CHECK_TARGET:=check-gcc}" +: "${GCC_TESTS_CHECK_TARGET:=check}" # @ECLASS_VARIABLE: GCC_TESTS_RUNTESTFLAGS # @DEFAULT_UNSET # @USER_VARIABLE # @DESCRIPTION: # Extra options to pass to DejaGnu as RUNTESTFLAGS. -: "${GCC_TESTS_RUNTESTFLAGS:=execute.exp}" +: "${GCC_TESTS_RUNTESTFLAGS:=}" # @ECLASS_VARIABLE: TOOLCHAIN_PATCH_DEV # @DEFAULT_UNSET
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 307968a6436a5bf05b935a96127cb484e4b67759 Author: Sam James gentoo org> AuthorDate: Sat Mar 23 15:39:40 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 15:39:40 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=307968a6 toolchain.eclass: use extglob for hybrid hack Thanks Ionen! Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 79032416e881..5fdbf47a8f3a 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1570,7 +1570,7 @@ gcc_do_filter_flags() { declare -A l1_cache_sizes=() # Workaround for inconsistent cache sizes on hybrid P/E cores # See PR111768 (and bug #904426, bug #908523, and bug #915389) - if [[ ${CBUILD} == x86_64* || ${CBUILD} == i?86* ]] && [[ ${CFLAGS} == *-march=native* ]] && tc-is-gcc ; then + if [[ ${CBUILD} == @(x86_64|i?86)* ]] && [[ ${CFLAGS} == *-march=native* ]] && tc-is-gcc ; then local x local l1_cache_size # Iterate over all cores and find their L1 cache size
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: abf8e2ee55c52c8ae894e0b3845ea1cebfcfd4e8 Author: Sam James gentoo org> AuthorDate: Sat Mar 16 01:38:45 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 15:40:50 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abf8e2ee toolchain.eclass: install test results as orphaned files in /var/cache/gcc This allows comparison across versions even after they get upgraded, which is useful in itself (and across series), but also for looking into when regressions started if they're reported but started a while ago. Followup to 9ac3f1cf62b522236ba9efd7e923071c37df1e6d. Bug: https://bugs.gentoo.org/214345 Bug: https://bugs.gentoo.org/253926 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 32 +--- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index c8543c617ccd..699e647c693a 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -2100,16 +2100,9 @@ toolchain_src_install() { pax-mark -r "${ED}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1plus" if use test ; then - # TODO: In future, install orphaned to allow comparison across - # more versions even after unmerged? Also would be useful for - # historical records and tracking down regressions a while - # after they first appeared, but were only just reported. - einfo "Copying test results to ${EPREFIX}/var/cache/gcc/${CHOST}/${SLOT} for future comparison" - ( - dodir /var/cache/gcc/${CHOST}/${SLOT} - cd "${WORKDIR}"/build || die - find . -name \*.sum -exec cp --parents -v {} "${ED}"/var/cache/gcc/${CHOST}/${SLOT} \; - ) + mkdir "${T}"/test-results || die + cd "${WORKDIR}"/build || die + find . -name \*.sum -exec cp --parents -v {} "${T}"/test-results \; fi } @@ -2262,6 +2255,23 @@ create_revdep_rebuild_entry() { EOF } +#>> pkg_pre* << + +toolchain_pkg_preinst() { + if use test ; then + # Install as orphaned to allow comparison across more + # versions even after unmerged. Also useful for historical records + # and tracking down regressions a while after they first appeared, + # but were only just reported. + einfo "Copying test results to ${BROOT}/var/cache/gcc/${CHOST}/${SLOT} for future comparison" + ( + mkdir -p "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT} || die + cd "${T}"/test-results || die + find . -name \*.sum -exec cp --parents -v {} "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT} \; +) +fi +} + #>> pkg_post* << toolchain_pkg_postinst() { @@ -2515,4 +2525,4 @@ fi # enabled-by-default state: #econf $(usex foo '' --disable-foo) -EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm +EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_preinst pkg_postinst pkg_postrm
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: b505998d735e8c1d0d4bb757c1967bf80cc25d4a Author: Sam James gentoo org> AuthorDate: Sat Mar 23 14:52:25 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 14:52:25 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b505998d toolchain.eclass: split condition for readability Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index ec35591ec8fb..79032416e881 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1570,7 +1570,7 @@ gcc_do_filter_flags() { declare -A l1_cache_sizes=() # Workaround for inconsistent cache sizes on hybrid P/E cores # See PR111768 (and bug #904426, bug #908523, and bug #915389) - if [[ ${CBUILD} == x86_64* || ${CBUILD} == i?86* && ${CFLAGS} == *-march=native* ]] && tc-is-gcc ; then + if [[ ${CBUILD} == x86_64* || ${CBUILD} == i?86* ]] && [[ ${CFLAGS} == *-march=native* ]] && tc-is-gcc ; then local x local l1_cache_size # Iterate over all cores and find their L1 cache size
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: df5debfbe8308f07f426d6a8a2230bb6b9107d30 Author: Sam James gentoo org> AuthorDate: Sat Mar 23 13:46:22 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 14:48:42 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=df5debfb toolchain.eclass: fix whitespace Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index e962c8181693..f59b8d61f6f5 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1886,7 +1886,7 @@ toolchain_src_install() { # See https://gcc.gnu.org/onlinedocs/gcc-11.3.0/jit/internals/index.html#packaging-notes # and bug #843341. # - # Both of the non-JIT and JIT builds are configured to install to $(DESTDIR) + # Both of the non-JIT and JIT builds are configured to install to $(DESTDIR) # Install the configuration with --enable-host-shared first # *then* the one without, so that the faster build # of "cc1" et al overwrites the slower build.
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 4fba38fc35fe2966574dd6bfd68ee82cd354976c Author: Sam James gentoo org> AuthorDate: Sat Mar 23 14:16:38 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 23 14:48:47 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4fba38fc toolchain.eclass: add workaround for hybrid CPUs Hybrid/big.little/PE CPUs may report an inconsistent cache size across cores which can cause GCC's bootstrapping to fail its self-comparison. When CBUILD is amd64 or x86 and -march=native is in CFLAGS, iterate over all cores and record l1-cache-size. If any differ, use the first one we found. Bug: https://gcc.gnu.org/PR111768 Closes: https://bugs.gentoo.org/904426 Closes: https://bugs.gentoo.org/908523 Closes: https://bugs.gentoo.org/915389 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 18 ++ 1 file changed, 18 insertions(+) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index f59b8d61f6f5..ec35591ec8fb 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1567,6 +1567,24 @@ gcc_do_filter_flags() { fi fi + declare -A l1_cache_sizes=() + # Workaround for inconsistent cache sizes on hybrid P/E cores + # See PR111768 (and bug #904426, bug #908523, and bug #915389) + if [[ ${CBUILD} == x86_64* || ${CBUILD} == i?86* && ${CFLAGS} == *-march=native* ]] && tc-is-gcc ; then + local x + local l1_cache_size + # Iterate over all cores and find their L1 cache size + for x in $(seq 0 $(($(nproc)-1))) ; do + [[ -z ${x} || ${x} -gt 64 ]] && break + l1_cache_size=$(taskset --cpu-list ${x} $(tc-getCC) -Q --help=params -O2 -march=native \ + | awk '{ if ($1 ~ /^.*param.*l1-cache-size/) print $2; }' || die) + l1_cache_sizes[${l1_cache_size}]=1 + done + # If any of them are different, just pick the first one. + if [[ ${#l1_cache_sizes} != 1 ]] ; then + append-flags --param=l1-cache-size=${l1_cache_size} + fi + fi if ver_test -lt 13.6 ; then # These aren't supported by the just-built compiler either.
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 5f34586458eebda4da0e2d35da93a4bc5f13c7d0 Author: Arthur Zamarin gentoo org> AuthorDate: Sat Mar 23 14:28:11 2024 + Commit: Arthur Zamarin gentoo org> CommitDate: Sat Mar 23 14:29:55 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f345864 tree-sitter-grammar.eclass: don't pre-strip library When STRIP is set to anon empty value, it is called during build of the shared library. By unsetting it, the strip isn't called during compile but by the portage strip phase. Closes: https://bugs.gentoo.org/927571 Closes: https://bugs.gentoo.org/927572 Signed-off-by: Arthur Zamarin gentoo.org> eclass/tree-sitter-grammar.eclass | 1 + 1 file changed, 1 insertion(+) diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass index 74443e213b89..b5e020065547 100644 --- a/eclass/tree-sitter-grammar.eclass +++ b/eclass/tree-sitter-grammar.eclass @@ -163,6 +163,7 @@ tree-sitter-grammar_src_compile() { if [[ -f "${S}/pyproject.toml" ]]; then sed -e "/SONAME_MINOR :=/s/:=.*$/:= $(_get_tsg_abi_ver)/" -i "${S}/Makefile" || die emake \ + STRIP="" \ PREFIX="${EPREFIX}/usr" \ LIBDIR="${EPREFIX}/usr/$(get_libdir)" else
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 46e22dc8317eee07acf88263c6628b9bf0e735fd Author: Michał Górny gentoo org> AuthorDate: Sat Mar 23 06:51:24 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Mar 23 10:23:27 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46e22dc8 llvm.org.eclass: Remove old snapshot support Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 6 -- 1 file changed, 6 deletions(-) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 2086d44e7576..bd1b726a9a4e 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -75,12 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then 19.0.0_pre20240316) EGIT_COMMIT=6d3cec01a6c29fa4e51ba129fa13dbf55d2b928e ;; - 19.0.0_pre20240309) - EGIT_COMMIT=1c7607e8ee6ec4ca3abce1561dd39a98d4efac96 - ;; - 19.0.0_pre20240302) - EGIT_COMMIT=597f9761c3a5ba278fa930d2fac13f156287d505 - ;; *) die "Unknown snapshot: ${PV}" ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 83e994e50f806880e1cf1b2b2d47a1d69ab18a60 Author: Arthur Zamarin gentoo org> AuthorDate: Thu Mar 14 14:03:02 2024 + Commit: Arthur Zamarin gentoo org> CommitDate: Sat Mar 23 08:27:41 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83e994e5 tree-sitter-grammar.eclass: support for new upstream makefile The build system for tree-sitters now generates a much better Makefile we can use to build the parser and grammar into a good C library. This also matches the build procedure used by upstream, making our reports easier for them to debug (we hit this issue in an old bug report on memory leak with tree-sitter-bash). Signed-off-by: Arthur Zamarin gentoo.org> eclass/tree-sitter-grammar.eclass | 64 ++- 1 file changed, 43 insertions(+), 21 deletions(-) diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass index b2563220cfc2..13539daf7e61 100644 --- a/eclass/tree-sitter-grammar.eclass +++ b/eclass/tree-sitter-grammar.eclass @@ -1,10 +1,11 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: tree-sitter-grammar.eclass # @MAINTAINER: # Matthew Smith # Nick Sarnie +# Arthur Zamarin # @AUTHOR: # Matthew Smith # @SUPPORTED_EAPIS: 8 @@ -22,7 +23,7 @@ inherit edo multilib toolchain-funcs SRC_URI="https://github.com/tree-sitter/${PN}/archive/${TS_PV:-v${PV}}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}"/${PN}-${TS_PV:-${PV}}/src +S="${WORKDIR}"/${PN}-${TS_PV:-${PV}} BDEPEND+=" test? ( dev-util/tree-sitter-cli )" IUSE+=" test" @@ -44,15 +45,16 @@ _get_tsg_abi_ver() { # This sed script finds ABI definition string in parser source file, # substitutes all the string until the ABI number, and prints remains # (the ABI number itself) - sed -n 's/#define LANGUAGE_VERSION //p' "${S}"/parser.c || + sed -n 's/#define LANGUAGE_VERSION //p' "${S}"/src/parser.c || die "Unable to extract ABI version for this grammar" } -# @FUNCTION: tree-sitter-grammar_src_compile +# @FUNCTION: _tree-sitter-grammar_legacy_compile +# @INTERNAL # @DESCRIPTION: -# Compiles the Tree Sitter parser as a shared library. -tree-sitter-grammar_src_compile() { - debug-print-function ${FUNCNAME} "${@}" +# Compiles the Tree Sitter parser as a shared library, the legacy way. +_tree-sitter-grammar_legacy_compile() { + cd "${S}/src" || die # Grammars always contain parser.c, and sometimes a scanner.c, # or scanner.cc. @@ -60,17 +62,17 @@ tree-sitter-grammar_src_compile() { tc-export CC CXX # We want to use the bundled parser.h, not anything lurking on the system, hence -I # See https://github.com/tree-sitter/tree-sitter-bash/issues/199#issuecomment-1694416505 - export CFLAGS="${CFLAGS} -fPIC -I. -Itree_sitter" - export CXXFLAGS="${CXXFLAGS} -fPIC -I. -Itree_sitter" + local -x CFLAGS="${CFLAGS} -fPIC -I. -Itree_sitter" + local -x CXXFLAGS="${CXXFLAGS} -fPIC -I. -Itree_sitter" local objects=( parser.o ) - if [[ -f "${S}"/scanner.c || -f "${S}"/scanner.cc ]]; then + if [[ -f "${S}"/src/scanner.c || -f "${S}"/src/scanner.cc ]]; then objects+=( scanner.o ) fi emake "${objects[@]}" local link="$(tc-getCC) ${CFLAGS}" - if [[ -f "${S}/scanner.cc" ]]; then + if [[ -f "${S}/src/scanner.cc" ]]; then link="$(tc-getCXX) ${CXXFLAGS}" fi @@ -84,10 +86,24 @@ tree-sitter-grammar_src_compile() { edo ${link} ${LDFLAGS} \ -shared \ *.o \ - ${soname_args} \ + "${soname_args}" \ -o "${WORKDIR}"/${soname} } +tree-sitter-grammar_src_compile() { + debug-print-function ${FUNCNAME} "${@}" + + # legacy grammars don't have a pyproject.toml + if [[ -f "${S}/pyproject.toml" ]]; then + sed -e "/SONAME_MINOR :=/s/:=.*$/:= $(_get_tsg_abi_ver)/" -i "${S}/Makefile" || die + emake \ + PREFIX="${EPREFIX}/usr" \ + LIBDIR="${EPREFIX}/usr/$(get_libdir)" + else + _tree-sitter-grammar_legacy_compile + fi +} + # @FUNCTION: tree-sitter-grammar_src_test # @DESCRIPTION: # Runs the Tree Sitter parser's test suite. @@ -95,20 +111,26 @@ tree-sitter-grammar_src_compile() { tree-sitter-grammar_src_test() { debug-print-function ${FUNCNAME} "${@}" - (cd .. && tree-sitter test) || die "Test suite failed" + tree-sitter test || die "Test suite failed" } -# @FUNCTION: tree-sitter-grammar_src_install -# @DESCRIPTION: -# Installs the Tree Sitter parser library. tree-sitter-grammar_src_install() { debug-print-function ${FUNCNAME} "${@}" - local
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 949b5c8afe07fd5f54942d7190d963b4ccf1e38a Author: Arthur Zamarin gentoo org> AuthorDate: Thu Mar 14 14:04:04 2024 + Commit: Arthur Zamarin gentoo org> CommitDate: Sat Mar 23 08:27:42 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=949b5c8a tree-sitter-grammar.eclass: support opt in python bindings New tree-sitter cli generated bindings and code around grammars and parsers now support bulding a python wheel which supply much better API and library for consumers in python bindings. Currently I've added only python as a binding languages, even though rust, swift, and go are also available. We should add them when we see a request for them. Python will be needed for pkgcheck. When we opt in into python bindings, we call the matching distutils phase functions when `use python` is true. Signed-off-by: Arthur Zamarin gentoo.org> eclass/tree-sitter-grammar.eclass | 86 ++- 1 file changed, 85 insertions(+), 1 deletion(-) diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass index 13539daf7e61..74443e213b89 100644 --- a/eclass/tree-sitter-grammar.eclass +++ b/eclass/tree-sitter-grammar.eclass @@ -36,6 +36,44 @@ RESTRICT+=" !test? ( test )" # Used to override upstream tag name if tagged differently, e.g. most releases # are v${PV} but some are tagged as rust-${PV}. +# @ECLASS_VARIABLE: TS_BINDINGS +# @PRE_INHERIT +# @DEFAULT_UNSET +# @DESCRIPTION: +# Array of bindings language to build. Currently only "python" is supported. + +for _BINDING in "${TS_BINDINGS[@]}"; do + case ${_BINDING} in + python) + DISTUTILS_EXT=1 + DISTUTILS_OPTIONAL=1 + DISTUTILS_USE_PEP517=setuptools + PYTHON_COMPAT=( python3_{10..12} ) + inherit distutils-r1 + + IUSE+=" python" + REQUIRED_USE+=" python? ( ${PYTHON_REQUIRED_USE} )" + + DEPEND+=" python? ( + ${PYTHON_DEPS} + )" + RDEPEND+=" python? ( + ${PYTHON_DEPS} + >=dev-python/tree-sitter-0.21.0[${PYTHON_USEDEP}] + )" + BDEPEND+=" python? ( + ${PYTHON_DEPS} + ${DISTUTILS_DEPS} + dev-python/wheel[${PYTHON_USEDEP}] + )" + ;; + *) + die "Unknown binding: ${_BINDING}" + ;; + esac +done +unset _BINDING + # @FUNCTION: _get_tsg_abi_ver # @INTERNAL # @DESCRIPTION: @@ -49,6 +87,34 @@ _get_tsg_abi_ver() { die "Unable to extract ABI version for this grammar" } +tree-sitter-grammar_src_prepare() { + debug-print-function ${FUNCNAME} "${@}" + + default + + local binding + for binding in "${TS_BINDINGS[@]}"; do + case ${binding} in + python) + use python && distutils-r1_src_prepare + ;; + esac + done +} + +tree-sitter-grammar_src_configure() { + debug-print-function ${FUNCNAME} "${@}" + + local binding + for binding in "${TS_BINDINGS[@]}"; do + case ${binding} in + python) + use python && distutils-r1_src_configure + ;; + esac + done +} + # @FUNCTION: _tree-sitter-grammar_legacy_compile # @INTERNAL # @DESCRIPTION: @@ -102,6 +168,15 @@ tree-sitter-grammar_src_compile() { else _tree-sitter-grammar_legacy_compile fi + + local binding + for binding in "${TS_BINDINGS[@]}"; do + case ${binding} in + python) + use python && distutils-r1_src_compile + ;; + esac + done } # @FUNCTION: tree-sitter-grammar_src_test @@ -131,8 +206,17 @@ tree-sitter-grammar_src_install() { dolib.so "${WORKDIR}/${soname}" dosym "${soname}" /usr/$(get_libdir)/lib${PN}$(get_libname) fi + + local binding + for binding in "${TS_BINDINGS[@]}"; do + case ${binding} in + python) + use python && distutils-r1_src_install + ;; + esac + done } fi -EXPORT_FUNCTIONS src_compile src_test src_install +EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ac21aa95b7ba7dcca5bd4751cc884645d01916b6 Author: Florian Schmaus gentoo org> AuthorDate: Mon Mar 18 13:51:01 2024 + Commit: Florian Schmaus gentoo org> CommitDate: Tue Mar 19 14:05:45 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac21aa95 texlive-common.eclass: etexmf-update to call 'die' for non-"dev-telive" This also makes etexmf-update fail for packages that are outside dev-texlive/* and don't use the TexLive version scheme like dev-libs/kpathsea and soon dev-tex/hevea. Signed-off-by: Florian Schmaus gentoo.org> eclass/texlive-common.eclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eclass/texlive-common.eclass b/eclass/texlive-common.eclass index 1e5c8a53d5cc..e8a740df1f27 100644 --- a/eclass/texlive-common.eclass +++ b/eclass/texlive-common.eclass @@ -179,7 +179,8 @@ etexmf-update() { if [[ -z ${ROOT} && -x "${EPREFIX}"/usr/sbin/texmf-update ]] ; then "${EPREFIX}"/usr/sbin/texmf-update local res="${?}" - if [[ "${res}" -ne 0 ]] && ver_test -ge 2023; then + if [[ "${res}" -ne 0 ]] && + { [[ ${CATEGORY} != dev-texlive ]] || ver_test -ge 2023; } then die -n "texmf-update returned non-zero exit status ${res}" fi else
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: a987beb34abf907570d0e199fa062ad8dc929d68 Author: Kyle Elbert gmail com> AuthorDate: Mon Mar 18 12:42:04 2024 + Commit: Sam James gentoo org> CommitDate: Mon Mar 18 13:02:35 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a987beb3 toolchain.eclass: More selectively enable cet per arch This block enables the x86_64 specific -fcf-protection during bootstrap. Added check to ensure its only enabled there. Bug: https://bugs.gentoo.org/916381 Fixes: b6bf005b843e3d6ee10aa1f088d93c4f89055cc6 Signed-off-by: Kyle Elbert gmail.com> Closes: https://github.com/gentoo/gentoo/pull/35816 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 59d51d9c1e38..e962c8181693 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -907,7 +907,7 @@ toolchain_src_configure() { BUILD_CONFIG_TARGETS+=( bootstrap-lto ) fi - if tc_version_is_at_least 12 && _tc_use_if_iuse cet ; then + if tc_version_is_at_least 12 && _tc_use_if_iuse cet && [[ ${CTARGET} == x86_64-*-gnu* ]] ; then BUILD_CONFIG_TARGETS+=( bootstrap-cet ) fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 394aed402f624e26ad0e422fd9ddcaeac8ec3772 Author: Andreas K. Hüttel gentoo org> AuthorDate: Sun Mar 17 09:17:28 2024 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Sun Mar 17 09:18:17 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=394aed40 toolchain.eclass: Make CET auto-apply x86-64 flags also outside hardened Signed-off-by: Andreas K. Hüttel gentoo.org> eclass/toolchain.eclass | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 2acfad8162ac..59d51d9c1e38 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -677,6 +677,11 @@ tc_enable_hardened_gcc() { hardened_gcc_flags+=" -DDEF_GENTOO_ZNOW" fi + if _tc_use_if_iuse cet && [[ ${CTARGET} == *x86_64*-linux-gnu* ]] ; then + einfo "Updating gcc to use x86-64 control flow protection by default ..." + hardened_gcc_flags+=" -DEXTRA_OPTIONS_CF" + fi + if _tc_use_if_iuse hardened ; then # Will add some hardened options as default, e.g. for gcc-12 # * -fstack-clash-protection @@ -688,10 +693,6 @@ tc_enable_hardened_gcc() { # Add -D_GLIBCXX_ASSERTIONS hardened_gcc_flags+=" -DDEF_GENTOO_GLIBCXX_ASSERTIONS" - if _tc_use_if_iuse cet && [[ ${CTARGET} == *x86_64*-linux* ]] ; then - hardened_gcc_flags+=" -DEXTRA_OPTIONS_CF" - fi - # Rebrand to make bug reports easier BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened} fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 98e566d20f953bae689a185776da2dd10ec58c13 Author: Michał Górny gentoo org> AuthorDate: Sat Mar 16 16:18:56 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Mar 16 16:25:03 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=98e566d2 llvm.org.eclass: Add 19.0.0_pre20240316 snapshot Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 2ca04c9091a2..2086d44e7576 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then _LLVM_SOURCE_TYPE=snapshot case ${PV} in + 19.0.0_pre20240316) + EGIT_COMMIT=6d3cec01a6c29fa4e51ba129fa13dbf55d2b928e + ;; 19.0.0_pre20240309) EGIT_COMMIT=1c7607e8ee6ec4ca3abce1561dd39a98d4efac96 ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ced2f28eb782e273f62d34cd4c1aa08408869826 Author: Jeremi Piotrowski microsoft com> AuthorDate: Tue Mar 12 09:35:48 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 16 04:05:10 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ced2f28e go-env.eclass: Export PKG_CONFIG Go files may have cgo specifiers that use pkg-config to search for libraries to link. An example of this is: // #cgo pkg-config: gpgme One case where this occurs is when building one of the go deps of app-containers/podman-4.9.2. If the ebuild doesn't export the correct PKG_CONFIG, this results in build failures during cross-compilation. Go will find the host (CBUILD) pkg-config instead of the CHOST version which performs the lookup in the correct sysroot. Fix cross-compilation by exporting PKG_CONFIG in go-env_set_compile_environment. Signed-off-by: Jeremi Piotrowski microsoft.com> Closes: https://github.com/gentoo/gentoo/pull/35721 Signed-off-by: Sam James gentoo.org> eclass/go-env.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass index 1f950db06930..08cb6380e48a 100644 --- a/eclass/go-env.eclass +++ b/eclass/go-env.eclass @@ -27,7 +27,7 @@ inherit toolchain-funcs # (e.g. "emerge-aarch64-cross-linux-gnu foo" run on x86_64 will emerge "foo" for x86_64 # instead of aarch64) go-env_set_compile_environment() { - tc-export CC CXX + tc-export CC CXX PKG_CONFIG export GOARCH="$(go-env_goarch)" use arm && export GOARM=$(go-env_goarm)
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 486f9fc090b28ad5cc09b39c734ebbfadb81be08 Author: Sam James gentoo org> AuthorDate: Sat Mar 16 04:43:53 2024 + Commit: Sam James gentoo org> CommitDate: Sat Mar 16 04:43:53 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=486f9fc0 go-env.eclass: filter LTO temporarily for gcc 14.0.1 14.0.1 won't ever be a released version, just do this as a hack because gcc has a checking ICE w/ go LTO atm and this prohibits more testing. Bug: https://bugs.gentoo.org/912152 Bug: https://gcc.gnu.org/PR113204 Signed-off-by: Sam James gentoo.org> eclass/go-env.eclass | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass index 08cb6380e48a..baba0d3ee8b3 100644 --- a/eclass/go-env.eclass +++ b/eclass/go-env.eclass @@ -1,4 +1,4 @@ -# Copyright 2023 Gentoo Authors +# Copyright 2023-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: go-env.eclass @@ -14,7 +14,7 @@ if [[ -z ${_GO_ENV_ECLASS} ]]; then _GO_ENV_ECLASS=1 -inherit toolchain-funcs +inherit flag-o-matic toolchain-funcs # @FUNCTION: go-env_set_compile_environment # @DESCRIPTION: @@ -33,6 +33,9 @@ go-env_set_compile_environment() { use arm && export GOARM=$(go-env_goarm) use x86 && export GO386=$(go-env_go386) + # XXX: Hack for checking ICE (bug #912152, gcc PR113204) + [[ $(gcc-fullversion) == 14.0.1 ]] && filter-lto + export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}" export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}" export CGO_CXXFLAGS="${CGO_CXXFLAGS:-$CXXFLAGS}"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 411487da18816c8b04071cbcd31e3ca21549c65c Author: Eli Schwartz gmail com> AuthorDate: Fri Mar 15 20:32:14 2024 + Commit: Sam James gentoo org> CommitDate: Fri Mar 15 20:45:24 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=411487da meson.eclass: crank the minimum meson for python 3.12 support Contains the all-important commit: https://github.com/mesonbuild/meson/commit/3c3caf5163e2efdb2bc6a7089a7f4e0c5d058efb Which was backported from: https://github.com/mesonbuild/meson/commit/2d6c10908b3771216e7ce086af1ee4dc77e698c2 Needed in order to avoid randomly requiring dev-python/setuptools[python_targets_python3_12] when building software with meson that happens to run py.find_installation() (which cannot even be described as a dev-build/meson dependency, since meson can target pythons other than the one meson itself uses!) Signed-off-by: Eli Schwartz gmail.com> Signed-off-by: Sam James gentoo.org> eclass/meson.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 85f024de1b0c..3240fddf7e86 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -43,7 +43,7 @@ _MESON_ECLASS=1 inherit flag-o-matic multiprocessing ninja-utils python-utils-r1 toolchain-funcs -BDEPEND=">=dev-build/meson-1.2.1 +BDEPEND=">=dev-build/meson-1.2.3 ${NINJA_DEPEND} dev-build/meson-format-array "
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 920edc504064fa38caa462b4d378114599f65925 Author: Michał Górny gentoo org> AuthorDate: Sun Mar 10 13:51:03 2024 + Commit: Michał Górny gentoo org> CommitDate: Tue Mar 12 05:08:04 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=920edc50 distutils-r1.eclass: Set setuptools build config for all backends Create the build config and set DIST_EXTRA_CONFIG independently of the PEP517 backend used (but only in PEP517 mode). This ensures that our build directory (and parallel build) is respected when backend values other than `setuptools` are used, particularly standalone build in dev-python/setuptools, custom backends wrapping setuptools and other PEP517 that might use setuptools internally. As an immediate benefit, this stops new versions of dev-python/setuptools from installing their `build` tree into site-packages. Thanks to Eli Schwartz for noticing this and bringing to our attention. Signed-off-by: Michał Górny gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/35695 Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 42 +++--- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index e0c54d81a846..9be994595529 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -1505,32 +1505,28 @@ distutils-r1_python_compile() { _python_check_EPYTHON - case ${DISTUTILS_USE_PEP517:-setuptools} in - setuptools) - # call setup.py build when using setuptools (either via PEP517 - # or in legacy mode) - - # distutils is parallel-capable since py3.5 - local jobs=$(makeopts_jobs "${MAKEOPTS} ${*}") - - if [[ ${DISTUTILS_USE_PEP517} ]]; then - mkdir -p "${BUILD_DIR}" || die - local -x DIST_EXTRA_CONFIG="${BUILD_DIR}/extra-setup.cfg" - cat > "${DIST_EXTRA_CONFIG}" <<-EOF || die - [build] - build_base = ${BUILD_DIR}/build - - [build_ext] - parallel = ${jobs} - EOF - else - _distutils-r1_copy_egg_info - esetup.py build -j "${jobs}" "${@}" - fi - ;; + case ${DISTUTILS_USE_PEP517:-unset} in no) return ;; + unset) + # legacy mode + _distutils-r1_copy_egg_info + esetup.py build -j "$(makeopts_jobs "${MAKEOPTS} ${*}")" "${@}" + ;; + *) + # we do this for all build systems, since other backends + # and custom hooks may wrap setuptools + mkdir -p "${BUILD_DIR}" || die + local -x DIST_EXTRA_CONFIG="${BUILD_DIR}/extra-setup.cfg" + cat > "${DIST_EXTRA_CONFIG}" <<-EOF || die + [build] + build_base = ${BUILD_DIR}/build + + [build_ext] + parallel = $(makeopts_jobs "${MAKEOPTS} ${*}") + EOF + ;; esac if [[ ${DISTUTILS_USE_PEP517} ]]; then
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f51cd5b64c14ddfb83488a12d538c66a4a309376 Author: Mike Gilbert gentoo org> AuthorDate: Sat Mar 9 19:16:26 2024 + Commit: Mike Gilbert gentoo org> CommitDate: Tue Mar 12 00:38:27 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f51cd5b6 linux-info.eclass: improve binpkg handling When installing a binpkg, Portage will restore the ebuild environment from when the binpkg was built. The stored values for KV_* may be different from the values that would be detected on the current system. To work around this, unset some key variables in linux-info_get_any_version when MERGE_TYPE == binary. Also, only look for the running kernel version: we can't possibly need a full kernel source tree when installing a package that has already been compiled. This gives a nice speedup as well. Closes: https://bugs.gentoo.org/926063 Signed-off-by: Mike Gilbert gentoo.org> eclass/linux-info.eclass | 16 +++- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass index d0a3c96e6b05..864594f607ca 100644 --- a/eclass/linux-info.eclass +++ b/eclass/linux-info.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: linux-info.eclass @@ -696,11 +696,17 @@ linux-info_get_any_version() { die "${FUNCNAME}() called on non-Linux system, please fix the ebuild" fi - if ! get_version; then + if [[ ${MERGE_TYPE} == binary && -z ${LINUX_INFO_BINARY_RESET} ]]; then + unset KV_FULL _LINUX_CONFIG_EXISTS_DONE KV_OUT_DIR + LINUX_INFO_BINARY_RESET=1 + fi + + if [[ ${MERGE_TYPE} != binary ]] && ! get_version; then ewarn "Unable to calculate Linux Kernel version for build, attempting to use running version" - if ! get_running_version; then - die "Unable to determine any Linux Kernel version, please report a bug" - fi + fi + + if [[ -z ${KV_FULL} ]] && ! get_running_version; then + die "Unable to determine any Linux Kernel version, please report a bug" fi }
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: fa0af68d68dd186767157c5b464d68a5f331efcc Author: Mike Gilbert gentoo org> AuthorDate: Tue Mar 12 00:29:07 2024 + Commit: Mike Gilbert gentoo org> CommitDate: Tue Mar 12 00:33:42 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa0af68d toolchain.eclass: handle quoted whitespace in EXTRA_ECONF Code taken from econf in Portage. Signed-off-by: Mike Gilbert gentoo.org> eclass/toolchain.eclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 1cc7000c2377..2acfad8162ac 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1347,7 +1347,8 @@ toolchain_src_configure() { # killing the 32bit builds which want /usr/lib. export ac_cv_have_x='have_x=yes ac_x_includes= ac_x_libraries=' - confgcc+=( "$@" ${EXTRA_ECONF} ) + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + confgcc+=( "$@" "${EXTRA_ECONF[@]}" ) if ! is_crosscompile && ! tc-is-cross-compiler && [[ -n ${BUILD_CONFIG_TARGETS} ]] ; then # e.g. ./configure --with-build-config='bootstrap-lto bootstrap-cet'
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: b6bf005b843e3d6ee10aa1f088d93c4f89055cc6 Author: Andreas K. Hüttel gentoo org> AuthorDate: Mon Mar 11 23:04:34 2024 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Mon Mar 11 23:05:16 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6bf005b toolchain.eclass: Selectively enable cet options per arch Bug: https://bugs.gentoo.org/916381 Signed-off-by: Andreas K. Hüttel gentoo.org> eclass/toolchain.eclass | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 5a9749804b99..1cc7000c2377 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1240,10 +1240,8 @@ toolchain_src_configure() { fi if in_iuse cet ; then - confgcc+=( - $(use_enable cet) - $(use_enable cet standard-branch-protection) - ) + [[ ${CTARGET} == x86_64-*-gnu* ]] && confgcc+=( $(use_enable cet) ) + [[ ${CTARGET} == aarch64-*-gnu* ]] && confgcc+=( $(use_enable cet standard-branch-protection) ) fi if in_iuse systemtap ; then
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 30f3ff1918fd6ced807451130fb79c432085470b Author: Sam James gentoo org> AuthorDate: Mon Mar 11 18:59:31 2024 + Commit: Sam James gentoo org> CommitDate: Mon Mar 11 19:20:16 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=30f3ff19 toolchain.eclass: pass --enable-standard-branch-detection if USE=cet This enables BTI and PAC if supported for arm64. We decided to overload USE=cet to avoid adding yet-another-USE flag to GCC, given it's the same thing. Bug: https://bugs.gentoo.org/916381 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 05409f0fc3fa..5a9749804b99 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1240,7 +1240,10 @@ toolchain_src_configure() { fi if in_iuse cet ; then - confgcc+=( $(use_enable cet) ) + confgcc+=( + $(use_enable cet) + $(use_enable cet standard-branch-protection) + ) fi if in_iuse systemtap ; then
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ece8a551eed30f9fa366d10f9a1e8d69451eb01c Author: Volkmar W. Pogatzki pogatzki net> AuthorDate: Thu Feb 29 06:18:36 2024 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Mar 10 21:10:09 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ece8a551 ant-tasks.eclass: @DEPRECATED all packages which inherit ant-tasks.eclass are PMASKED for removal Signed-off-by: Volkmar W. Pogatzki pogatzki.net> Signed-off-by: Miroslav Šulc gentoo.org> eclass/ant-tasks.eclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eclass/ant-tasks.eclass b/eclass/ant-tasks.eclass index d599238ba253..c1a82ccbab5b 100644 --- a/eclass/ant-tasks.eclass +++ b/eclass/ant-tasks.eclass @@ -1,6 +1,7 @@ -# Copyright 2007-2023 Gentoo Authors +# Copyright 2007-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# @DEPRECATED: # @ECLASS: ant-tasks.eclass # @MAINTAINER: # j...@gentoo.org
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: c8b8fbed07b0046e7251f3253a079a7f961c046a Author: Volkmar W. Pogatzki pogatzki net> AuthorDate: Mon Feb 26 13:36:03 2024 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Mar 10 21:10:05 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8b8fbed java-ant-2.eclass: change JAVA_ANT_E_DEPEND to dev-java/ant Also removes unused eclass variable JAVA_ANT_DISABLE_ANT_CORE_DEP which becomes obsolete by removal of old dev-java/ant-core-1.10.9-r5. Signed-off-by: Volkmar W. Pogatzki pogatzki.net> Signed-off-by: Miroslav Šulc gentoo.org> eclass/java-ant-2.eclass | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/eclass/java-ant-2.eclass b/eclass/java-ant-2.eclass index 35fe84997563..1eccead3067f 100644 --- a/eclass/java-ant-2.eclass +++ b/eclass/java-ant-2.eclass @@ -1,4 +1,4 @@ -# Copyright 2004-2023 Gentoo Authors +# Copyright 2004-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: java-ant-2.eclass @@ -48,14 +48,12 @@ inherit java-utils-2 multilib #The implementation of dependencies is handled by java-utils-2.eclass #WANT_ANT_TASKS -# @ECLASS_VARIABLE: JAVA_ANT_DISABLE_ANT_CORE_DEP -# @DEFAULT_UNSET +# @VARIABLE: JAVA_ANT_E_DEPEND +# @INTERNAL # @DESCRIPTION: -# Setting this variable non-empty before inheriting java-ant-2 disables adding -# dev-java/ant-core into DEPEND. -if [[ -z "${JAVA_ANT_DISABLE_ANT_CORE_DEP}" ]]; then - JAVA_ANT_E_DEPEND+=" >=dev-java/ant-core-1.8.2:0" -fi +# Convenience variable adding packages to DEPEND so they need not be added +# in the ebuild. +JAVA_ANT_E_DEPEND+=" >=dev-java/ant-1.10.14-r2:0" # add ant tasks specified in WANT_ANT_TASKS to DEPEND ANT_TASKS_DEPEND="$(java-pkg_ant-tasks-depend)"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 1646a3aa80647e3b525f35cbdc2821c81fac3e5b Author: Michał Górny gentoo org> AuthorDate: Sat Mar 9 15:12:25 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Mar 9 15:51:49 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1646a3aa llvm.org.eclass: Add 19.0.0_pre20240309 snapshot Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index c8798e1a2a76..2ca04c9091a2 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then _LLVM_SOURCE_TYPE=snapshot case ${PV} in + 19.0.0_pre20240309) + EGIT_COMMIT=1c7607e8ee6ec4ca3abce1561dd39a98d4efac96 + ;; 19.0.0_pre20240302) EGIT_COMMIT=597f9761c3a5ba278fa930d2fac13f156287d505 ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 94d7e7e96945ed47e6d3ea6591cf498fd77994b8 Author: Eli Schwartz gmail com> AuthorDate: Thu Jan 18 20:28:31 2024 + Commit: Michał Górny gentoo org> CommitDate: Fri Mar 8 05:40:24 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94d7e7e9 distutils-r1.eclass: wire up meson-python to meson.eclass The meson-python build backend -- as the name suggests -- uses meson under the hood. We have a meson eclass which does lots of useful things pertinent to meson. Make sure it gets invoked, by prying out the options that meson_src_configure would use and setting passing them as our seed values for gpep517. [sam: Tweak '=' style.] [sam: Tweak mesonargs->MESONARGS for final version of e9189344b971f7ee0e2bec36650c57dbade4f122.] [sam: Update local variable list.] [mgorny: Add local variables for LTO filtering.] Signed-off-by: Eli Schwartz gmail.com> Signed-off-by: Sam James gentoo.org> Signed-off-by: Michał Górny gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/35554 Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 16 +++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 134cb39f276a..e0c54d81a846 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -197,6 +197,10 @@ _DISTUTILS_R1_ECLASS=1 inherit flag-o-matic inherit multibuild multilib multiprocessing ninja-utils toolchain-funcs +if [[ ${DISTUTILS_USE_PEP517} == meson-python ]]; then + inherit meson +fi + if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then inherit python-r1 else @@ -1386,9 +1390,19 @@ distutils_pep517_install() { ) ;; meson-python) + # variables defined by setup_meson_src_configure + local MESONARGS=() BOOST_INCLUDEDIR BOOST_LIBRARYDIR NM READELF + # it also calls filter-lto + local x + for x in $(all-flag-vars); do + local -x "${x}=${!x}" + done + + setup_meson_src_configure "${DISTUTILS_ARGS[@]}" + local -x NINJAOPTS=$(get_NINJAOPTS) config_settings=$( - "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die + "${EPYTHON}" - "${MESONARGS[@]}" <<-EOF || die import json import os import shlex
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 4c1a6b824622ebecbc2b75b93e6b128ab2ce5aab Author: Michał Górny gentoo org> AuthorDate: Tue Feb 27 19:49:45 2024 + Commit: Michał Górny gentoo org> CommitDate: Fri Mar 8 05:40:22 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c1a6b82 distutils-r1.eclass: Make vars local before calling filter-lto Make LTO filtering local to the compilation code. This avoids disabling LTO for non-Python parts of an ebuild. Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 4 1 file changed, 4 insertions(+) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index ee1dcef24ff6..134cb39f276a 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -1828,6 +1828,10 @@ distutils-r1_run_phase() { # Rust extensions are incompatible with C/C++ LTO compiler # see e.g. https://bugs.gentoo.org/910220 if has cargo ${INHERITED}; then + local x + for x in $(all-flag-vars); do + local -x "${x}=${!x}" + done filter-lto fi fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 396a5939bfd6cfabca6356811b7e5e04aa4737e4 Author: Michał Górny gentoo org> AuthorDate: Tue Feb 27 12:22:01 2024 + Commit: Michał Górny gentoo org> CommitDate: Fri Mar 8 05:40:20 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=396a5939 distutils-r1.eclass: Remove -Werror... hack (now in cython) Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 5 - 1 file changed, 5 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index c0d1992ccce0..fb0c2dfaa693 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -1813,11 +1813,6 @@ distutils-r1_run_phase() { tc-export AR CC CPP CXX if [[ ${DISTUTILS_EXT} ]]; then - if [[ ${BDEPEND} == *dev-python/cython* ]] ; then - # Workaround for https://github.com/cython/cython/issues/2747 (bug #918983) - local -x CFLAGS="${CFLAGS} $(test-flags-CC -Wno-error=incompatible-pointer-types)" - fi - local -x CPPFLAGS="${CPPFLAGS} $(usex debug '-UNDEBUG' '-DNDEBUG')" # always generate .c files from .pyx files to ensure we get latest # bug fixes from Cython (this works only when setup.py is using
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 59c3eabf79595f15b091a64d649ca865441ce05d Author: Sam James gentoo org> AuthorDate: Sun Mar 3 06:42:38 2024 + Commit: Michał Górny gentoo org> CommitDate: Fri Mar 8 05:40:23 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59c3eabf meson.eclass: move python_export_utf8_locale to meson_src_configure We don't need it in setup_meson_src_configure as distutils-r1 uses it and it'll get called twice then. Signed-off-by: Sam James gentoo.org> Signed-off-by: Michał Górny gentoo.org> eclass/meson.eclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 3bf0ba9ebe97..85f024de1b0c 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -393,9 +393,6 @@ setup_meson_src_configure() { tc-export NM tc-getPROG READELF readelf >/dev/null - # https://bugs.gentoo.org/625396 - python_export_utf8_locale - # https://bugs.gentoo.org/721786 export BOOST_INCLUDEDIR="${BOOST_INCLUDEDIR-${EPREFIX}/usr/include}" export BOOST_LIBRARYDIR="${BOOST_LIBRARYDIR-${EPREFIX}/usr/$(get_libdir)}" @@ -412,6 +409,9 @@ meson_src_configure() { BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}" + # https://bugs.gentoo.org/625396 + python_export_utf8_locale + ( setup_meson_src_configure "$@" MESONARGS+=(
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 035330c42417fb6eeb920565f695877a4b20bdb7 Author: James Le Cuirot gentoo org> AuthorDate: Sat Mar 2 15:20:20 2024 + Commit: Michał Górny gentoo org> CommitDate: Fri Mar 8 05:40:23 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=035330c4 python-utils-r1.eclass: Fix python_doheader install location with ROOT python_get_includedir is prefixed with ESYSROOT, not EPREFIX, so we need to strip off the former, not the latter. This is currently only used for dev-python/pillow, which I have tested. Signed-off-by: James Le Cuirot gentoo.org> Signed-off-by: Michał Górny gentoo.org> eclass/python-utils-r1.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass index 3af3cbdb075e..caa39813feec 100644 --- a/eclass/python-utils-r1.eclass +++ b/eclass/python-utils-r1.eclass @@ -884,7 +884,7 @@ python_doheader() { [[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).' local includedir=$(python_get_includedir) - local d=${includedir#${EPREFIX}} + local d=${includedir#${ESYSROOT}} ( insopts -m 0644
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 2fd092b4457fae45cf155a1a0e2cad00ca112851 Author: Michał Górny gentoo org> AuthorDate: Tue Feb 27 19:43:11 2024 + Commit: Michał Górny gentoo org> CommitDate: Fri Mar 8 05:40:21 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2fd092b4 distutils-r1.eclass: Move filter-lto into DISTUTILS_EXT block Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 60554944a5a0..ee1dcef24ff6 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -1824,17 +1824,17 @@ distutils-r1_run_phase() { # bug fixes from Cython (this works only when setup.py is using # cythonize() but it's better than nothing) local -x CYTHON_FORCE_REGEN=1 + + # Rust extensions are incompatible with C/C++ LTO compiler + # see e.g. https://bugs.gentoo.org/910220 + if has cargo ${INHERITED}; then + filter-lto + fi fi # silence warnings when pydevd is loaded on Python 3.11+ local -x PYDEVD_DISABLE_FILE_VALIDATION=1 - # Rust extensions are incompatible with C/C++ LTO compiler - # see e.g. https://bugs.gentoo.org/910220 - if has cargo ${INHERITED}; then - filter-lto - fi - # How to build Python modules in different worlds... local ldopts case "${CHOST}" in
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: bd8fbec80e9217a717f70621fdd6989a9d758466 Author: Michał Górny gentoo org> AuthorDate: Tue Feb 27 19:37:25 2024 + Commit: Michał Górny gentoo org> CommitDate: Fri Mar 8 05:40:20 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd8fbec8 distutils-r1.eclass: Limit DISTUTILS_EXT logic to compile & test Perform the environment modifications specific to DISTUTILS_EXT to python_compile and python_test phases. These are the only phases where we expect extension builds to be called. This allows us to limit the scope of localized CPPFLAGS, as we both want to avoid leaking changes to non-Python parts of the build and let ebuilds to manipulate flags at their leisure, particularly prior to python_compile. Signed-off-by: Michał Górny gentoo.org> eclass/distutils-r1.eclass | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index fb0c2dfaa693..60554944a5a0 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -1812,7 +1812,13 @@ distutils-r1_run_phase() { local -x AR=${AR} CC=${CC} CPP=${CPP} CXX=${CXX} tc-export AR CC CPP CXX - if [[ ${DISTUTILS_EXT} ]]; then + # Perform additional environment modifications only for python_compile + # phase. This is the only phase where we expect to be calling the Python + # build system. We want to localize the altered variables to avoid them + # leaking to other parts of multi-language ebuilds. However, we want + # to avoid localizing them in other phases, particularly + # python_configure_all, where the ebuild may wish to alter them globally. + if [[ ${DISTUTILS_EXT} && ( ${1} == *compile* || ${1} == *test* ) ]]; then local -x CPPFLAGS="${CPPFLAGS} $(usex debug '-UNDEBUG' '-DNDEBUG')" # always generate .c files from .pyx files to ensure we get latest # bug fixes from Cython (this works only when setup.py is using
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 015591c4c4c085390dc4cf1344a6efa26fb55bd3 Author: Sam James gentoo org> AuthorDate: Thu Mar 7 17:59:44 2024 + Commit: Sam James gentoo org> CommitDate: Thu Mar 7 17:59:44 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=015591c4 toolchain.eclass: enable LTO for libgccjit build Note that this is just about LTO support, not building it with LTO. See https://inbox.sourceware.org/jit/dd6f69da-757b-49ba-864a-377a8dc393cf zoho.com/T/#t. Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index fef38790922c..05409f0fc3fa 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1383,6 +1383,7 @@ toolchain_src_configure() { local confgcc_jit=( "${confgcc[@]}" + --enable-lto --disable-analyzer --disable-bootstrap --disable-cet @@ -1398,7 +1399,6 @@ toolchain_src_configure() { --disable-libssp --disable-libstdcxx-pch --disable-libvtv - --disable-lto --disable-nls --disable-objc-gc --disable-systemtap
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 49b8d94ff9b1ff104284a49e0250a919dfdf04db Author: Michał Górny gentoo org> AuthorDate: Wed Mar 6 16:31:20 2024 + Commit: Michał Górny gentoo org> CommitDate: Wed Mar 6 17:03:19 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49b8d94f llvm.org.eclass: Enable prebuilt manpages for LLVM 18 Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 04ed226cde9f..c8798e1a2a76 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -282,6 +282,9 @@ llvm.org_set_globals() { 17*) LLVM_MANPAGE_DIST="llvm-17.0.1-manpages.tar.bz2" ;; + 18*) + LLVM_MANPAGE_DIST="llvm-18.1.0-manpages.tar.bz2" + ;; esac fi
[gentoo-commits] repo/gentoo:master commit in: eclass/, kde-apps/ffmpegthumbs/
commit: 2573ccfcb99d806e5af2e8b50b3af02fe12e2ffe Author: Andreas Sturmlechner gentoo org> AuthorDate: Sun Mar 3 18:04:06 2024 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Sun Mar 3 18:11:55 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2573ccfc kde-apps/ffmpegthumbs: Switch 24.02.0 to KF6 After inquiring upstream again. Closes: https://bugs.gentoo.org/925870 Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/gear.kde.org.eclass | 1 + ...mbs-24.02.0.ebuild => ffmpegthumbs-24.02.0-r1.ebuild} | 16 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass index e582a5add5bc..f3a3c56369ad 100644 --- a/eclass/gear.kde.org.eclass +++ b/eclass/gear.kde.org.eclass @@ -94,6 +94,7 @@ if $(ver_test -gt 24.01.75); then dragon | \ elisa | \ eventviews | \ + ffmpegthumbs | \ filelight | \ granatier | \ grantlee-editor | \ diff --git a/kde-apps/ffmpegthumbs/ffmpegthumbs-24.02.0.ebuild b/kde-apps/ffmpegthumbs/ffmpegthumbs-24.02.0-r1.ebuild similarity index 58% rename from kde-apps/ffmpegthumbs/ffmpegthumbs-24.02.0.ebuild rename to kde-apps/ffmpegthumbs/ffmpegthumbs-24.02.0-r1.ebuild index a2eac54e2eb2..cc077320285e 100644 --- a/kde-apps/ffmpegthumbs/ffmpegthumbs-24.02.0.ebuild +++ b/kde-apps/ffmpegthumbs/ffmpegthumbs-24.02.0-r1.ebuild @@ -3,25 +3,25 @@ EAPI=8 -KFMIN=5.113.0 -QTMIN=5.15.9 +KFMIN=6.0.0 +QTMIN=6.6.2 inherit ecm gear.kde.org DESCRIPTION="FFmpeg based thumbnail generator for video files" LICENSE="GPL-2+" -SLOT="5" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +SLOT="6" +KEYWORDS="~amd64" IUSE="" DEPEND=" - >=dev-qt/qtgui-${QTMIN}:5 - >=kde-frameworks/kconfig-${KFMIN}:5 - >=kde-frameworks/kio-${KFMIN}:5 + >=dev-qt/qtbase-${QTMIN}:6[gui] + >=kde-frameworks/kconfig-${KFMIN}:6 + >=kde-frameworks/kio-${KFMIN}:6 media-video/ffmpeg:0= " RDEPEND="${DEPEND}" BDEPEND=" - >=kde-frameworks/kcoreaddons-${KFMIN}:5 + >=kde-frameworks/kcoreaddons-${KFMIN}:6 virtual/pkgconfig "
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 551c16475257c1b1597b125bac98c97b6ea13e89 Author: Michał Górny gentoo org> AuthorDate: Sat Mar 2 11:52:40 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Mar 2 13:24:27 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=551c1647 llvm.org.eclass: Add 19.0.0_pre20240302 snapshot Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 515d8adf3af2..fc278f21092d 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then _LLVM_SOURCE_TYPE=snapshot case ${PV} in + 19.0.0_pre20240302) + EGIT_COMMIT=597f9761c3a5ba278fa930d2fac13f156287d505 + ;; 19.0.0_pre20240224) EGIT_COMMIT=60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f2e1792ded67e62edc85e92e84f65d773a8f05bd Author: Eli Schwartz gmail com> AuthorDate: Fri Mar 1 20:47:45 2024 + Commit: Sam James gentoo org> CommitDate: Fri Mar 1 20:50:31 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2e1792d meson.eclass: fix setting BUILD_DIR after the lto refactor BUILD_DIR is an eclass variable and should be publicly, globally set. Closes: https://bugs.gentoo.org/925939 Signed-off-by: Eli Schwartz gmail.com> Signed-off-by: Sam James gentoo.org> eclass/meson.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 9e877be53309..3bf0ba9ebe97 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -374,8 +374,6 @@ setup_meson_src_configure() { MESONARGS+=( --cross-file "$(_meson_create_cross_file)" ) fi - BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}" - # Handle quoted whitespace eval "local -a MYMESONARGS=( ${MYMESONARGS} )" @@ -412,6 +410,8 @@ meson_src_configure() { [[ -n "${NINJA_DEPEND}" ]] || ewarn "Unknown value '${NINJA}' for \${NINJA}" + BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}" + ( setup_meson_src_configure "$@" MESONARGS+=(
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 5e7b32c59d53f8240dfd7a17e31fc533fa811f75 Author: Eli Schwartz gmail com> AuthorDate: Tue Jan 16 05:43:58 2024 + Commit: Sam James gentoo org> CommitDate: Fri Mar 1 19:25:16 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e7b32c5 meson.eclass: wire up LTO support directly into the meson options meson's builtin LTO support allows meson to introspect whether LTO is enabled and do some fancy things, such as forcing LTO off for a single target that is known to be special(ly bad) and not support LTO. Signed-off-by: Eli Schwartz gmail.com> Signed-off-by: Sam James gentoo.org> eclass/meson.eclass | 40 +++- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 629bf3be4f2e..b24bb40eb0a0 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -41,7 +41,7 @@ esac if [[ -z ${_MESON_ECLASS} ]]; then _MESON_ECLASS=1 -inherit multiprocessing ninja-utils python-utils-r1 toolchain-funcs +inherit flag-o-matic multiprocessing ninja-utils python-utils-r1 toolchain-funcs BDEPEND=">=dev-build/meson-1.2.1 ${NINJA_DEPEND} @@ -283,6 +283,38 @@ meson_feature() { # variables. Invoke via "${MESONARGS[@]}" in the calling environment. # This function is called from meson_src_configure. setup_meson_src_configure() { + MESONARGS=() + if tc-is-lto; then + # We want to connect -flto in *FLAGS to the dedicated meson option, + # to ensure that meson has visibility into what the user set. Although + # it is unlikely projects will check `get_option('b_lto')` and change + # their behavior, individual targets which are broken with LTO can + # disable it per target. Injecting via *FLAGS means that meson cannot + # strip -flto from that target. + MESONARGS+=( -Db_lto=true ) + + # respect -flto value, e.g. -flto=8, -flto=thin + local v=$(get-flag flto) + case ${v} in + thin) + MESONARGS+=( -Db_lto_mode=thin ) + ;; + ''|*[!0-9]*) + ;; + *) + MESONARGS+=( -Db_lto_threads=${v} ) + ;; + esac + # finally, remove it from *FLAGS to avoid passing it: + # - twice, with potentially different values + # - on excluded targets + filter-lto + else + # Prevent projects from enabling LTO by default. In Gentoo, LTO is + # enabled via setting *FLAGS appropriately. + MESONARGS+=( -Db_lto=false ) + fi + local BUILD_CFLAGS=${BUILD_CFLAGS} local BUILD_CPPFLAGS=${BUILD_CPPFLAGS} local BUILD_CXXFLAGS=${BUILD_CXXFLAGS} @@ -311,7 +343,7 @@ setup_meson_src_configure() { : "${BUILD_PKG_CONFIG_PATH:=${PKG_CONFIG_PATH}}" fi - MESONARGS=( + MESONARGS+=( --libdir "$(get_libdir)" --localstatedir "${EPREFIX}/var/lib" --prefix "${EPREFIX}/usr" @@ -331,9 +363,7 @@ setup_meson_src_configure() { # an upstream development matter. bug #754279. -Dwerror=false - # Prevent projects from enabling LTO by default. In Gentoo, LTO is - # enabled via setting *FLAGS appropriately. - -Db_lto=false + "${ltoflags[@]}" ) if [[ -n ${EMESON_BUILDTYPE} ]]; then
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: b95ea11330e446d0deb89ca7d78356cb2a7d0d06 Author: Eli Schwartz gmail com> AuthorDate: Tue Feb 20 05:39:51 2024 + Commit: Sam James gentoo org> CommitDate: Fri Mar 1 19:25:17 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b95ea113 meson.eclass: prefer -D buildtype instead of --buildtype Because that is the logic which meson-python hardcodes, and meson needs to match calling convention. Signed-off-by: Eli Schwartz gmail.com> Closes: https://github.com/gentoo/gentoo/pull/35528 Signed-off-by: Sam James gentoo.org> eclass/meson.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index b24bb40eb0a0..9e877be53309 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -367,7 +367,7 @@ setup_meson_src_configure() { ) if [[ -n ${EMESON_BUILDTYPE} ]]; then - MESONARGS+=( --buildtype "${EMESON_BUILDTYPE}" ) + MESONARGS+=( -Dbuildtype="${EMESON_BUILDTYPE}" ) fi if tc-is-cross-compiler; then
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: e9189344b971f7ee0e2bec36650c57dbade4f122 Author: Eli Schwartz gmail com> AuthorDate: Tue Feb 20 05:53:34 2024 + Commit: Sam James gentoo org> CommitDate: Fri Mar 1 19:25:16 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9189344 meson.eclass: refactor src_configure into a setter function This is necessary in order to get at the implementation of `meson setup` from other eclasses, which do not simply call meson_src_configure. The intended use case is distutils-r1, where a python build backend wraps meson and needs its arguments while calling meson on its own. This allows distutils-r1 to invoke `setup_meson_src_configure` followed by gpep517, and get access to: - the preparation which needs to be done, including setting up the environment - the array of setup arguments Signed-off-by: Eli Schwartz gmail.com> Signed-off-by: Sam James gentoo.org> eclass/meson.eclass | 55 +++-- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index d8bd93082ea5..629bf3be4f2e 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -277,15 +277,12 @@ meson_feature() { usex "$1" "-D${2-$1}=enabled" "-D${2-$1}=disabled" } -# @FUNCTION: meson_src_configure -# @USAGE: [extra meson arguments] +# @FUNCTION: setup_meson_src_configure # @DESCRIPTION: -# This is the meson_src_configure function. -meson_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - [[ -n "${NINJA_DEPEND}" ]] || ewarn "Unknown value '${NINJA}' for \${NINJA}" - +# Calculate the command line which meson should use, and other relevant +# variables. Invoke via "${MESONARGS[@]}" in the calling environment. +# This function is called from meson_src_configure. +setup_meson_src_configure() { local BUILD_CFLAGS=${BUILD_CFLAGS} local BUILD_CPPFLAGS=${BUILD_CPPFLAGS} local BUILD_CXXFLAGS=${BUILD_CXXFLAGS} @@ -314,8 +311,7 @@ meson_src_configure() { : "${BUILD_PKG_CONFIG_PATH:=${PKG_CONFIG_PATH}}" fi - local mesonargs=( - meson setup + MESONARGS=( --libdir "$(get_libdir)" --localstatedir "${EPREFIX}/var/lib" --prefix "${EPREFIX}/usr" @@ -341,11 +337,11 @@ meson_src_configure() { ) if [[ -n ${EMESON_BUILDTYPE} ]]; then - mesonargs+=( --buildtype "${EMESON_BUILDTYPE}" ) + MESONARGS+=( --buildtype "${EMESON_BUILDTYPE}" ) fi if tc-is-cross-compiler; then - mesonargs+=( --cross-file "$(_meson_create_cross_file)" ) + MESONARGS+=( --cross-file "$(_meson_create_cross_file)" ) fi BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}" @@ -353,7 +349,7 @@ meson_src_configure() { # Handle quoted whitespace eval "local -a MYMESONARGS=( ${MYMESONARGS} )" - mesonargs+=( + MESONARGS+=( # Arguments from ebuild "${emesonargs[@]}" @@ -362,12 +358,6 @@ meson_src_configure() { # Arguments from user "${MYMESONARGS[@]}" - - # Source directory - "${EMESON_SOURCE:-${S}}" - - # Build directory - "${BUILD_DIR}" ) # Used by symbolextractor.py @@ -379,13 +369,32 @@ meson_src_configure() { python_export_utf8_locale # https://bugs.gentoo.org/721786 - local -x BOOST_INCLUDEDIR="${BOOST_INCLUDEDIR-${EPREFIX}/usr/include}" - local -x BOOST_LIBRARYDIR="${BOOST_LIBRARYDIR-${EPREFIX}/usr/$(get_libdir)}" + export BOOST_INCLUDEDIR="${BOOST_INCLUDEDIR-${EPREFIX}/usr/include}" + export BOOST_LIBRARYDIR="${BOOST_LIBRARYDIR-${EPREFIX}/usr/$(get_libdir)}" +} + +# @FUNCTION: meson_src_configure +# @USAGE: [extra meson arguments] +# @DESCRIPTION: +# This is the meson_src_configure function. +meson_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + [[ -n "${NINJA_DEPEND}" ]] || ewarn "Unknown value '${NINJA}' for \${NINJA}" ( + setup_meson_src_configure "$@" + MESONARGS+=( + # Source directory + "${EMESON_SOURCE:-${S}}" + + # Build directory + "${BUILD_DIR}" + ) + export -n {C,CPP,CXX,F,OBJC,OBJCXX,LD}FLAGS PKG_CONFIG_{LIBDIR,PATH} - echo "${mesonargs[@]}" >&2 - "${mesonargs[@]}" + echo meson setup "${MESONARGS[@]}" >&2 + meson setup "${MESONARGS[@]}" ) || die }
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 570e064dbe098d9c0ed4c7fd3aba8a0b4a8e9935 Author: Michał Górny gentoo org> AuthorDate: Wed Feb 28 20:09:24 2024 + Commit: Michał Górny gentoo org> CommitDate: Wed Feb 28 20:40:23 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=570e064d llvm.org.eclass: Remove old snapshot support Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 6 -- 1 file changed, 6 deletions(-) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 5dec284fe366..515d8adf3af2 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -75,12 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then 19.0.0_pre20240224) EGIT_COMMIT=60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e ;; - 19.0.0_pre20240218) - EGIT_COMMIT=3496927edcd0685807351ba88a7e2cfb006e1c0d - ;; - 19.0.0_pre20240210) - EGIT_COMMIT=8884ba43a8485bebef5c4d41e7ed457e3fa84f07 - ;; *) die "Unknown snapshot: ${PV}" ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: bebb49106db4996395c8a01a957f2daadf1a91cd Author: Andreas Sturmlechner gentoo org> AuthorDate: Tue Feb 27 13:54:59 2024 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Wed Feb 28 13:53:40 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bebb4910 frameworks.kde.org.eclass: Unsupport unstable release SRC_URIs Will not appear again until KF7. Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/frameworks.kde.org.eclass | 10 ++ 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass index 19db30352fee..53811e339976 100644 --- a/eclass/frameworks.kde.org.eclass +++ b/eclass/frameworks.kde.org.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: frameworks.kde.org.eclass @@ -69,13 +69,7 @@ case ${KDE_BUILD_TYPE} in ;; *) if [[ -z ${KDE_ORG_COMMIT} ]]; then - case ${PV} in - 5.2[4-9]?.? ) - _KDE_SRC_URI+="unstable/frameworks/$(ver_cut 1-3)/" - RESTRICT+=" mirror" - ;; - *) _KDE_SRC_URI+="stable/frameworks/$(ver_cut 1-2)/" ;; - esac + _KDE_SRC_URI+="stable/frameworks/$(ver_cut 1-2)/" case ${KDE_ORG_NAME} in kdelibs4support | \ kdesignerplugin | \
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 853e413a3e89272a5828a6259d017e42df5ec857 Author: Andreas Sturmlechner gentoo org> AuthorDate: Tue Feb 27 13:56:20 2024 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Wed Feb 28 13:53:40 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=853e413a plasma.kde.org.eclass: Unsupport versioning scheme of Plasma 6 Betas Won't appear again until Plasma 7. This reverts commit fcf516962acde10c69640181257600254f3dd752. Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/plasma.kde.org.eclass | 4 1 file changed, 4 deletions(-) diff --git a/eclass/plasma.kde.org.eclass b/eclass/plasma.kde.org.eclass index 69f38cb526cc..491f1fcecc8c 100644 --- a/eclass/plasma.kde.org.eclass +++ b/eclass/plasma.kde.org.eclass @@ -67,10 +67,6 @@ elif [[ -z ${KDE_ORG_COMMIT} ]]; then _KDE_SRC_URI+="unstable/plasma/$(ver_cut 1-3)/" RESTRICT+=" mirror" ;; - 5.9?.[0-9]* ) - _KDE_SRC_URI+="unstable/plasma/$(ver_cut 1-2).0/" - RESTRICT+=" mirror" - ;; *) _KDE_SRC_URI+="stable/plasma/$(ver_cut 1-3)/" ;; esac
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 04f3a1147f65b5bb090710cdf098d392c6f2ad51 Author: Sam James gentoo org> AuthorDate: Tue Feb 27 23:52:55 2024 + Commit: Sam James gentoo org> CommitDate: Tue Feb 27 23:52:55 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04f3a114 go-module.eclass: fix whitespace Signed-off-by: Sam James gentoo.org> eclass/go-module.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/go-module.eclass b/eclass/go-module.eclass index 5726d2f77d9a..2179b8e93732 100644 --- a/eclass/go-module.eclass +++ b/eclass/go-module.eclass @@ -14,7 +14,7 @@ # written in the go programming language that uses modules. # If the software you are packaging has a file named go.mod in its top level # directory, it uses modules. -# +# # Modules have been the preferred method of tracking dependencies in software # written in Go since version 1.16, # so if the software isn't using modules, it should be updated.
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 0e651d4b8db7082279b5e110c41abb2bc5293eba Author: Sam James gentoo org> AuthorDate: Tue Feb 27 23:53:31 2024 + Commit: Sam James gentoo org> CommitDate: Tue Feb 27 23:53:31 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e651d4b go-module.eclass: update dev-go/golicense -> dev-go/lichen As mentioned in the bug, the eclassdoc was stale and mentioned the old and now-removed dev-go/golicense. Suggest dev-go/lichen instead. Bug: https://bugs.gentoo.org/913755 Signed-off-by: Sam James gentoo.org> eclass/go-module.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/go-module.eclass b/eclass/go-module.eclass index 2179b8e93732..cad63ee6d0f0 100644 --- a/eclass/go-module.eclass +++ b/eclass/go-module.eclass @@ -45,7 +45,7 @@ # Since Go programs are statically linked, it is important that your ebuild's # LICENSE= setting includes the licenses of all statically linked # dependencies. So please make sure it is accurate. -# You can use a utility like dev-go/golicense (network connectivity is +# You can use a utility like dev-go/lichen (network connectivity is # required) to extract this information from the compiled binary. # # @EXAMPLE:
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 6caf2e1d0ef6bf055be7569eb300fa9bd0f7ef63 Author: Michał Górny gentoo org> AuthorDate: Sat Feb 24 14:52:53 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Feb 24 14:52:53 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6caf2e1d llvm.org.eclass: Add 19.0.0_pre20240224 snapshot Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index de07fecea8e1..5dec284fe366 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then _LLVM_SOURCE_TYPE=snapshot case ${PV} in + 19.0.0_pre20240224) + EGIT_COMMIT=60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e + ;; 19.0.0_pre20240218) EGIT_COMMIT=3496927edcd0685807351ba88a7e2cfb006e1c0d ;;