[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 ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 8876dc1db3205682d1ed8543b7fef1ce2b619874 Author: Jakov Smolić gentoo org> AuthorDate: Sat Feb 24 12:55:07 2024 + Commit: Jakov Smolić gentoo org> CommitDate: Sat Feb 24 12:55:07 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8876dc1d Remove bazel.eclass Closes: https://bugs.gentoo.org/804690 Bug: https://bugs.gentoo.org/804690 Signed-off-by: Jakov Smolić gentoo.org> eclass/bazel.eclass | 227 1 file changed, 227 deletions(-) diff --git a/eclass/bazel.eclass b/eclass/bazel.eclass deleted file mode 100644 index bdf61fa34e93.. --- a/eclass/bazel.eclass +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# @ECLASS: bazel.eclass -# @MAINTAINER: -# Jason Zaman -# @AUTHOR: -# Jason Zaman -# @SUPPORTED_EAPIS: 8 -# @BLURB: Utility functions for packages using Bazel Build -# @DESCRIPTION: -# A utility eclass providing functions to run the Bazel Build system. -# -# This eclass does not export any phase functions. - -case ${EAPI} in - 8) ;; - *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; -esac - -if [[ ! ${_BAZEL_ECLASS} ]]; then -_BAZEL_ECLASS=1 - -inherit multiprocessing toolchain-funcs - -if [[ ${CATEGORY}/${PN} != "dev-build/bazel" ]]; then - BDEPEND=">=dev-build/bazel-0.20" -fi - -# @ECLASS_VARIABLE: BAZEL_BINARY -# @DESCRIPTION: -# The program to invoke for bazel. Defaults to `bazel`. Useful if you have -# multiple bazel installations on your machine that differ in verson suffix, -# e.g., `bazel-5`, `bazel-6`. -BAZEL_BINARY="${BAZEL_BINARY:-bazel}" - -# @FUNCTION: bazel_get_flags -# @DESCRIPTION: -# Obtain and print the bazel flags for target and host *FLAGS. -# -# To add more flags to this, append the flags to the -# appropriate variable before calling this function -bazel_get_flags() { - local i fs=() - for i in ${CFLAGS}; do - fs+=( "--conlyopt=${i}" ) - done - for i in ${BUILD_CFLAGS}; do - fs+=( "--host_conlyopt=${i}" ) - done - for i in ${CXXFLAGS}; do - fs+=( "--cxxopt=${i}" ) - done - for i in ${BUILD_CXXFLAGS}; do - fs+=( "--host_cxxopt=${i}" ) - done - for i in ${CPPFLAGS}; do - fs+=( "--conlyopt=${i}" "--cxxopt=${i}" ) - done - for i in ${BUILD_CPPFLAGS}; do - fs+=( "--host_conlyopt=${i}" "--host_cxxopt=${i}" ) - done - for i in ${LDFLAGS}; do - fs+=( "--linkopt=${i}" ) - done - for i in ${BUILD_LDFLAGS}; do - fs+=( "--host_linkopt=${i}" ) - done - echo "${fs[*]}" -} - -# @FUNCTION: bazel_setup_bazelrc -# @DESCRIPTION: -# Creates the bazelrc with common options that will be passed -# to bazel. This will be called by ebazel automatically so -# does not need to be called from the ebuild. -bazel_setup_bazelrc() { - if [[ -f "${T}/bazelrc" ]]; then - return - fi - - # F: fopen_wr - # P: /proc/self/setgroups - # Even with standalone enabled, the Bazel sandbox binary is run for feature test: - # https://github.com/bazelbuild/bazel/blob/7b091c1397a82258e26ab5336df6c8dae1d97384/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedSpawnRunner.java#L61 - # https://github.com/bazelbuild/bazel/blob/76555482873ffcf1d32fb40106f89231b37f850a/src/main/tools/linux-sandbox-pid1.cc#L113 - addpredict /proc - - mkdir -p "${T}/bazel-cache" || die - mkdir -p "${T}/bazel-distdir" || die - - cat > "${T}/bazelrc" <<-EOF || die - startup --batch - - # dont strip HOME, portage sets a temp per-package dir - build --action_env HOME - - # make bazel respect MAKEOPTS - build --jobs=$(makeopts_jobs) - build --compilation_mode=opt --host_compilation_mode=opt - - # FLAGS - build $(bazel_get_flags) - - # Use standalone strategy to deactivate the bazel sandbox, since it - # conflicts with FEATURES=sandbox. - build --spawn_strategy=standalone --genrule_strategy=standalone - test --spawn_strategy=standalone --genrule_strategy=standalone - - build --strip=never - build --verbose_failures --noshow_loading_progress - test --verbose_test_summary --verbose_failures --noshow_loading_progress - - # make bazel only fetch distfiles from the cache - fetch --repository_cache="${T}/bazel-cache/" --distdir="${T}/bazel-distdir/" - build --repository_cache="${T}/bazel-cache/" --distdir="${T}/bazel-distdir/" - - build --define=PREFIX=${EPREFIX}/usr - build --define=LIBDIR=\$(PREFIX)/$(get_libdir) - build
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 0c5af65cfb92b7702f170999488c970fc278d9a2 Author: Sam James gentoo org> AuthorDate: Fri Feb 23 07:16:07 2024 + Commit: Sam James gentoo org> CommitDate: Fri Feb 23 07:46:08 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c5af65c toolchain.eclass: allow fixincludes for mingw & special MIPS target config/i386/t-cygming always sets STMP_FIXINC regardless of the configure arg for fixincludes, so don't disable it there. The only other case is config/mips/t-sdemtk which I've handled too. Exposed by 0b75d3ce0bae8240c28c6a8f191f5130548f8475. Bug: https://bugs.gentoo.org/905118 Closes: https://bugs.gentoo.org/925204 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 16 1 file changed, 16 insertions(+) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 67a04f297d6b..fef38790922c 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1309,6 +1309,22 @@ toolchain_src_configure() { GCC_RUN_FIXINCLUDES=1 fi + case ${CBUILD}-${CHOST}-${CTARGET} in + *i686-w64-mingw32*|*x86_64-w64-mingw32*) + # config/i386/t-cygming requires fixincludes (bug #925204) + GCC_RUN_FIXINCLUDES=1 + ;; + *mips*-sde-elf*) + # config/mips/t-sdemtk needs fixincludes too (bug #925204) + # It maps to mips*-sde-elf*, but only with --without-newlib. + if [[ ${confgcc} != *with-newlib* ]] ; then + GCC_RUN_FIXINCLUDES=1 + fi + ;; + *) + ;; + esac + if [[ ${GCC_RUN_FIXINCLUDES} == 1 ]] ; then confgcc+=( --enable-fixincludes ) else
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 97bc53108f32a26fe8e8463764d95bb0a3d521d9 Author: Michał Górny gentoo org> AuthorDate: Wed Feb 21 20:38:28 2024 + Commit: Michał Górny gentoo org> CommitDate: Thu Feb 22 04:22:52 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97bc5310 llvm.org.eclass: Use two ver. comp. for LLVM_SOABI in >=18.1.0_rc3 Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 25316f0d65e9..de07fecea8e1 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -205,10 +205,14 @@ ALL_LLVM_TARGET_FLAGS=( # @OUTPUT_VARIABLE # @DESCRIPTION: # The current ABI version of LLVM dylib, in a form suitable for use -# as a subslot. This is equal to LLVM_MAJOR for releases, and to PV -# for the main branch. -LLVM_SOABI=${LLVM_MAJOR} -[[ ${LLVM_MAJOR} == ${_LLVM_MAIN_MAJOR} ]] && LLVM_SOABI=${PV} +# as a subslot. +if [[ ${LLVM_MAJOR} == ${_LLVM_MAIN_MAJOR} ]]; then + LLVM_SOABI=${PV} +elif ver_test ${PV} -ge 18.1.0_rc3; then + LLVM_SOABI=$(ver_cut 1-2) +else + LLVM_SOABI=${LLVM_MAJOR} +fi # == global scope logic ==
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 4ccbec18b76ff3c48f3d32f1b1760ca568ddc615 Author: Sam James gentoo org> AuthorDate: Mon Feb 19 05:07:11 2024 + Commit: Sam James gentoo org> CommitDate: Mon Feb 19 05:07:11 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ccbec18 toolchain.eclass: explicitly disable fixincludes for cross too Just in case, although the condition is unlikely there now. Bug: https://bugs.gentoo.org/905118 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 5de1329347ee..67a04f297d6b 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1304,8 +1304,8 @@ toolchain_src_configure() { if tc_version_is_at_least 13.1 ; then # Re-enable fixincludes for >= GCC 13 with older glibc - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107128 - if use elibc_glibc && has_version "https://gcc.gnu.org/PR107128 + if ! is_crosscompile && use elibc_glibc && has_version "
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 0b75d3ce0bae8240c28c6a8f191f5130548f8475 Author: Sam James gentoo org> AuthorDate: Mon Feb 19 05:02:09 2024 + Commit: Sam James gentoo org> CommitDate: Mon Feb 19 05:05:32 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b75d3ce toolchain.eclass: rework fixincludes again * Only run fixincludes for >= GCC 13 with https://bugs.gentoo.org/905118 Bug: https://gcc.gnu.org/PR107128 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 23 --- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 6a4b59972fa3..5de1329347ee 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -140,6 +140,11 @@ GCCMINOR=$(ver_cut 2 ${GCC_PV}) # @DESCRIPTION: # GCC micro version. GCCMICRO=$(ver_cut 3 ${GCC_PV}) +# @ECLASS_VARIABLE: GCC_RUN_FIXINCLUDES +# @INTERNAL +# @DESCRIPTION: +# Controls whether fixincludes should be used. +GCC_RUN_FIXINCLUDES=0 tc_use_major_version_only() { local use_major_version_only=0 @@ -1297,6 +1302,20 @@ toolchain_src_configure() { ) fi + if tc_version_is_at_least 13.1 ; then + # Re-enable fixincludes for >= GCC 13 with older glibc + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107128 + if use elibc_glibc && has_version "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106899 being fixed @@ -1831,9 +1850,7 @@ toolchain_src_install() { # Don't allow symlinks in private gcc include dir as this can break the build find gcc/include*/ -type l -delete || die - # Re-enable fixincludes for >= GCC 13 - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107128 - if [[ ${GCCMAJOR} -lt 13 ]] ; then + if [[ ${GCC_RUN_FIXINCLUDES} == 0 ]] ; then # We remove the generated fixincludes, as they can cause things to break # (ncurses, openssl, etc). We do not prevent them from being built, as # in the following commit which we revert:
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 54300b267700bca578f702a08dd5683b6c18d997 Author: Michał Górny gentoo org> AuthorDate: Sun Feb 18 19:55:25 2024 + Commit: Michał Górny gentoo org> CommitDate: Sun Feb 18 20:22:24 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54300b26 llvm.org.eclass: Add 19.0.0_pre20240218 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 03cb8cb422b5..25316f0d65e9 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_pre20240218) + EGIT_COMMIT=3496927edcd0685807351ba88a7e2cfb006e1c0d + ;; 19.0.0_pre20240210) EGIT_COMMIT=8884ba43a8485bebef5c4d41e7ed457e3fa84f07 ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ccdf56b2229c5dda24ae1888dbd90d2b4ff3efa2 Author: Michał Górny gentoo org> AuthorDate: Sun Feb 18 13:18:33 2024 + Commit: Michał Górny gentoo org> CommitDate: Sun Feb 18 13:23:36 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ccdf56b2 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 f9fbde238673..03cb8cb422b5 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_pre20240210) EGIT_COMMIT=8884ba43a8485bebef5c4d41e7ed457e3fa84f07 ;; - 19.0.0_pre20240203) - EGIT_COMMIT=78b4e7c5e349d8c101b50affbd260eb109748f8f - ;; - 19.0.0_pre20240127) - EGIT_COMMIT=1f13203029333ac99cc9844b8b6915aae3fc0902 - ;; *) die "Unknown snapshot: ${PV}" ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 1082225d340c4ef7f12565f1722ea7ef7647dcfa Author: Michał Górny gentoo org> AuthorDate: Sat Feb 17 19:30:25 2024 + Commit: Michał Górny gentoo org> CommitDate: Sun Feb 18 13:23:29 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1082225d llvm.org.eclass: Put manpage dist filename into global var Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 48 ++-- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index ff10a4384789..ea704cf8fd94 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -268,14 +268,30 @@ llvm.org_set_globals() { fi if [[ ${LLVM_MANPAGES} ]]; then - IUSE+=" doc" + # @ECLASS_VARIABLE: LLVM_MANPAGE_DIST + # @OUTPUT_VARIABLE + # @DESCRIPTION: + # The filename of the prebuilt manpage tarball for this version. + LLVM_MANPAGE_DIST= + if [[ ${_LLVM_SOURCE_TYPE} == tar && ${PV} != *_rc* ]]; then + case ${PV} in + 14*|15*|16.0.[0-3]) + LLVM_MANPAGE_DIST="llvm-${PV}-manpages.tar.bz2" + ;; + 16*) + LLVM_MANPAGE_DIST="llvm-16.0.4-manpages.tar.bz2" + ;; + 17*) + LLVM_MANPAGE_DIST="llvm-17.0.1-manpages.tar.bz2" + ;; + esac + fi - # use pregenerated tarball if available - local manpage_dist=$(llvm_manpage_get_dist) - if [[ -n ${manpage_dist} ]]; then + IUSE+=" doc" + if [[ -n ${LLVM_MANPAGE_DIST} ]]; then SRC_URI+=" !doc? ( - https://dev.gentoo.org/~mgorny/dist/llvm/${manpage_dist} + https://dev.gentoo.org/~mgorny/dist/llvm/${LLVM_MANPAGE_DIST} ) " else @@ -436,32 +452,12 @@ get_lit_flags() { echo "-vv;-j;${LIT_JOBS:-$(makeopts_jobs)}" } -# @FUNCTION: llvm_manpage_get_dist -# @DESCRIPTION: -# Output the filename of the manpage dist for this version, -# if available. Otherwise returns without output. -llvm_manpage_get_dist() { - if [[ ${_LLVM_SOURCE_TYPE} == tar && ${PV} != *_rc* ]]; then - case ${PV} in - 14*|15*|16.0.[0-3]) - echo "llvm-${PV}-manpages.tar.bz2" - ;; - 16*) - echo "llvm-16.0.4-manpages.tar.bz2" - ;; - 17*) - echo "llvm-17.0.1-manpages.tar.bz2" - ;; - esac - fi -} - # @FUNCTION: llvm_are_manpages_built # @DESCRIPTION: # Return true (0) if manpages are going to be built from source, # false (1) if preinstalled manpages will be used. llvm_are_manpages_built() { - use doc || [[ -z $(llvm_manpage_get_dist) ]] + use doc || [[ -z ${LLVM_MANPAGE_DIST} ]] } # @FUNCTION: llvm_install_manpages
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 524c63b4510a7c02bf655cf304c793ba0b0b8e86 Author: Michał Górny gentoo org> AuthorDate: Sat Feb 17 19:37:40 2024 + Commit: Michał Górny gentoo org> CommitDate: Sun Feb 18 13:23:31 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=524c63b4 llvm.org.eclass: Remove obsolete direct sphinx BDEPEND Remove the direct dev-python/sphinx BDEPEND since it is now always redundant to the dependencies in sys-devel/{llvm,clang} ebuilds. Signed-off-by: Michał Górny gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/35400 Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 3 --- 1 file changed, 3 deletions(-) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index ea704cf8fd94..f9fbde238673 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -294,9 +294,6 @@ llvm.org_set_globals() { https://dev.gentoo.org/~mgorny/dist/llvm/${LLVM_MANPAGE_DIST} ) " - else - # NB: this is not always the correct dep but it does no harm - BDEPEND+=" dev-python/sphinx" fi fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 615c3f47433f84628219a8fb54dd9835600069f5 Author: Michał Górny gentoo org> AuthorDate: Sat Feb 17 17:10:26 2024 + Commit: Michał Górny gentoo org> CommitDate: Sun Feb 18 13:23:28 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=615c3f47 llvm.org.eclass: Stop defaulting to +doc for 18+ Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index e3728a827710..ff10a4384789 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -268,17 +268,17 @@ llvm.org_set_globals() { fi if [[ ${LLVM_MANPAGES} ]]; then + IUSE+=" doc" + # use pregenerated tarball if available local manpage_dist=$(llvm_manpage_get_dist) if [[ -n ${manpage_dist} ]]; then - IUSE+=" doc" SRC_URI+=" !doc? ( https://dev.gentoo.org/~mgorny/dist/llvm/${manpage_dist} ) " else - IUSE+=" +doc" # NB: this is not always the correct dep but it does no harm BDEPEND+=" dev-python/sphinx" fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 61cb1e79740107fa274271ba79a19ccf16a68a16 Author: Sam James gentoo org> AuthorDate: Mon Feb 12 16:04:39 2024 + Commit: Sam James gentoo org> CommitDate: Mon Feb 12 16:07:48 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61cb1e79 flag-o-matic.eclass: fix botched MIPS revert This fixes commit cf366abd1bd50a33755734bbfb8c0e8a49a5480e and is a proper revert of cf366abd1bd50a33755734bbfb8c0e8a49a5480e and fad75a344cbaada57ae490c3e8f88cdd5b35dadc. Bug: https://gcc.gnu.org/PR112782 Bug: https://sourceware.org/PR13509 Closes: https://bugs.gentoo.org/921104 Signed-off-by: Sam James gentoo.org> eclass/flag-o-matic.eclass | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass index 0c75fab185df..5ce7601fdde2 100644 --- a/eclass/flag-o-matic.eclass +++ b/eclass/flag-o-matic.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: flag-o-matic.eclass @@ -121,10 +121,9 @@ _setup-allowed-flags() { '-mtls-dialect=*' # MIPS errata - -mfix-24k -mno-fix-24k -mfix-r4000 -mno-fix-r4000 - -mfix-r4400 -mno-fix-r4400 -mfix-r5900 -mno-fix-r5900 - -mfix-rm7000 -mno-fix-rm7000 -mfix-r9500 -mno-fix-r9500 + -mfix-r4000 -mno-fix-r4000 -mfix-r4400 -mno-fix-r4400 -mfix-r1 -mno-fix-r1 + '-mr10k-cache-barrier=*' -mthumb -marm # needed for arm64 (and in particular SCS)
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: e0d452e6ab95c8261b68c93ef9b6494d33e432b2 Author: Andrew Ammerlaan gentoo org> AuthorDate: Sun Feb 11 09:41:32 2024 + Commit: Andrew Ammerlaan gentoo org> CommitDate: Sun Feb 11 12:11:17 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0d452e6 kernel-install.eclass: explicitly set kernel image to 644 The kernel build system sets the permissions on the kernel image to 644. However objcopy creates a file with permissions 755. This causes a discrepancy in the permissions on the installed kernel image between +generic-uki,-generic-uki and between gentoo-kernel, gentoo-kernel-bin. Restore the symmetry by explicitly setting the objcopy'ed files permissions to 644. Signed-off-by: Andrew Ammerlaan gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/35214 Signed-off-by: Andrew Ammerlaan gentoo.org> eclass/kernel-install.eclass | 1 + 1 file changed, 1 insertion(+) diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass index 47865a953389..f512d815fe09 100644 --- a/eclass/kernel-install.eclass +++ b/eclass/kernel-install.eclass @@ -621,6 +621,7 @@ kernel-install_extract_from_uki() { $(tc-getOBJCOPY) -O binary "-j.${extract_type}" "${uki}" "${out}" || die "Failed to extract ${extract_type}" + chmod 644 "${out}" || die } # @FUNCTION: kernel-install_install_all
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 17a6c694ec9363ab44814126e1dc31a227b5c138 Author: Andrew Ammerlaan gentoo org> AuthorDate: Wed Feb 7 12:28:02 2024 + Commit: Andrew Ammerlaan gentoo org> CommitDate: Sun Feb 11 12:11:15 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17a6c694 kernel-build.eclass: install vmlinu{x,z} symlink Some other distributions install (a symlink to) the kernel image here. Tools such as 'kernel-install list', 'kernel-install inspect', dracut and ukify look for the kernel image here. So lets install this symlink to make manual invocation of dracut and ukify a bit easier. As well as make it possible to use other kernel-install features such as list, inspect and add-all. Signed-off-by: Andrew Ammerlaan gentoo.org> eclass/kernel-build.eclass | 5 + 1 file changed, 5 insertions(+) diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass index 14a6002ea5b5..7922638be6e1 100644 --- a/eclass/kernel-build.eclass +++ b/eclass/kernel-build.eclass @@ -385,6 +385,11 @@ kernel-build_src_install() { # fix source tree and build dir symlinks dosym "../../../${kernel_dir}" "/lib/modules/${module_ver}/build" dosym "../../../${kernel_dir}" "/lib/modules/${module_ver}/source" + if [[ "${image_path}" == *vmlinux* ]]; then + dosym "../../../${kernel_dir}/${image_path}" "/lib/modules/${module_ver}/vmlinux" + else + dosym "../../../${kernel_dir}/${image_path}" "/lib/modules/${module_ver}/vmlinuz" + fi if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then secureboot_sign_efi_file "${image}"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: b5685236fc2dabb63b552e9a4c040724b726a585 Author: Andrew Ammerlaan gentoo org> AuthorDate: Wed Feb 7 12:41:30 2024 + Commit: Andrew Ammerlaan gentoo org> CommitDate: Sun Feb 11 12:11:16 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5685236 kernel-install.eclass: install vmlinu{x,z} symlink and also link generic initrd/uki.efi Signed-off-by: Andrew Ammerlaan gentoo.org> eclass/kernel-install.eclass | 28 +--- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass index 78a498000790..47865a953389 100644 --- a/eclass/kernel-install.eclass +++ b/eclass/kernel-install.eclass @@ -572,6 +572,7 @@ kernel-install_pkg_preinst() { local dir_ver=${PV}${KV_LOCALVERSION} local kernel_dir=${ED}/usr/src/linux-${dir_ver} local relfile=${kernel_dir}/include/config/kernel.release + local image_path=$(dist-kernel_get_image_path) [[ ! -d ${kernel_dir} ]] && die "Kernel directory ${kernel_dir} not installed!" [[ ! -f ${relfile} ]] && @@ -598,6 +599,12 @@ kernel-install_pkg_preinst() { rm "${ED}/lib/modules/${release}"/{build,source} || die dosym "../../../src/linux-${dir_ver}" "/usr/lib/modules/${release}/build" dosym "../../../src/linux-${dir_ver}" "/usr/lib/modules/${release}/source" + for file in vmlinux vmlinuz; do + if [[ -L "${ED}/lib/modules/${release}/${file}" ]]; then + rm "${ED}/lib/modules/${release}/${file}" || die + dosym "../../../src/linux-${dir_ver}/${image_path}" "/usr/lib/modules/${release}/${file}" + fi + done fi } @@ -629,7 +636,7 @@ kernel-install_install_all() { local dir_ver=${1} local kernel_dir=${EROOT}/usr/src/linux-${dir_ver} local relfile=${kernel_dir}/include/config/kernel.release - local image_path=${kernel_dir}/$(dist-kernel_get_image_path) + local image_path=$(dist-kernel_get_image_path) local image_dir=${image_path%/*} local module_ver module_ver=$(<"${relfile}") || die @@ -638,15 +645,22 @@ kernel-install_install_all() { if use generic-uki; then # Populate placeholders kernel-install_extract_from_uki linux \ - "${image_dir}"/uki.efi \ - "${image_path}" + "${kernel_dir}/${image_dir}"/uki.efi \ + "${kernel_dir}/${image_path}" kernel-install_extract_from_uki initrd \ - "${image_dir}"/uki.efi \ - "${image_dir}"/initrd + "${kernel_dir}/${image_dir}"/uki.efi \ + "${kernel_dir}/${image_dir}"/initrd + if [[ -L ${EROOT}/lib && ${EROOT}/lib -ef ${EROOT}/usr/lib ]]; then + ln -sf "../../../src/linux-${dir_ver}/${image_dir}/initrd" "${EROOT}/usr/lib/modules/${module_ver}/initrd" || die + ln -sf "../../../src/linux-${dir_ver}/${image_dir}/uki.efi" "${EROOT}/usr/lib/modules/${module_ver}/uki.efi" || die + else + ln -sf "../../../usr/src/linux-${dir_ver}/${image_dir}/initrd" "${EROOT}/lib/modules/${module_ver}/initrd" || die + ln -sf "../../../usr/src/linux-${dir_ver}/${image_dir}/uki.efi" "${EROOT}/lib/modules/${module_ver}/uki.efi" || die + fi else # Remove placeholders, -f because these have already been removed # when doing emerge --config. - rm -f "${image_dir}"/{initrd,uki.efi} || die + rm -f "${kernel_dir}/${image_dir}"/{initrd,uki.efi} || die fi fi @@ -656,7 +670,7 @@ kernel-install_install_all() { nonfatal mount-boot_check_status || break nonfatal dist-kernel_install_kernel "${module_ver}" \ - "${image_path}" "${kernel_dir}/System.map" || break + "${kernel_dir}/${image_path}" "${kernel_dir}/System.map" || break success=1 break
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: ba96aad0011bc50ebd51f81caa6184c47f066bbf Author: Michał Górny gentoo org> AuthorDate: Sat Feb 10 17:15:04 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Feb 10 17:26:59 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba96aad0 llvm.org.eclass: Add 19.0.0_pre20240210 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 d7112cc9fbe8..e3728a827710 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_pre20240210) + EGIT_COMMIT=8884ba43a8485bebef5c4d41e7ed457e3fa84f07 + ;; 19.0.0_pre20240203) EGIT_COMMIT=78b4e7c5e349d8c101b50affbd260eb109748f8f ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: d08dfaa5f73407400e4c2cf7f8d9752280e4d55c Author: Maciej Barć gentoo org> AuthorDate: Sat Feb 3 14:17:30 2024 + Commit: Maciej Barć gentoo org> CommitDate: Sat Feb 10 16:24:45 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d08dfaa5 eclass/dotnet-pkg-base.eclass: set DOTNET_ROOT export proper DOTNET_ROOT for wanted DOTNET_PKG_COMPAT Signed-off-by: Maciej Barć gentoo.org> eclass/dotnet-pkg-base.eclass | 33 - 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index beefd1efd2da..a2d95f15a2fb 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -228,28 +228,27 @@ dotnet-pkg-base_get-runtime() { # # Used by "dotnet-pkg_pkg_setup" from the "dotnet-pkg" eclass. dotnet-pkg-base_setup() { - local dotnet_compat_impl - local dotnet_compat_impl_path - for dotnet_compat_impl in dotnet{,-bin}-${DOTNET_PKG_COMPAT} ; do - dotnet_compat_impl_path="$(type -P "${dotnet_compat_impl}")" + local -a impl_dirs=( + "${EPREFIX}/usr/$(get_libdir)/dotnet-sdk-${DOTNET_PKG_COMPAT}" + "${EPREFIX}/opt/dotnet-sdk-bin-${DOTNET_PKG_COMPAT}" + ) + local impl_exe + + local impl_dir + for impl_dir in "${impl_dirs[@]}" ; do + impl_exe="${impl_dir}/dotnet" + + if [[ -d "${impl_dir}" ]] && [[ -x "${impl_exe}" ]] ; then + DOTNET_PKG_EXECUTABLE="${impl_exe}" + DOTNET_ROOT="${impl_dir}" - if [[ -n ${dotnet_compat_impl_path} ]] ; then - DOTNET_PKG_EXECUTABLE="${dotnet_compat_impl}" break fi done - # Link "DOTNET_PKG_EXECUTABLE" to "dotnet" only for the package build. - local dotnet_spoof_path="${T}/dotnet_spoof/${DOTNET_PKG_COMPAT}" - mkdir -p "${dotnet_spoof_path}" || die - ln -s "${dotnet_compat_impl_path}" "${dotnet_spoof_path}/dotnet" || die - export PATH="${dotnet_spoof_path}:${PATH}" - - einfo "Using dotnet SDK \"${DOTNET_PKG_EXECUTABLE}\" from \"${dotnet_compat_impl_path}\"." - - # The picked "DOTNET_PKG_EXECUTABLE" should set "DOTNET_ROOT" internally - # and not rely upon this environment variable. - unset DOTNET_ROOT + einfo "Setting .NET SDK \"DOTNET_ROOT\" to \"${DOTNET_ROOT}\"" + export DOTNET_ROOT + export PATH="${DOTNET_ROOT}:${PATH}" DOTNET_PKG_RUNTIME="$(dotnet-pkg-base_get-runtime)" DOTNET_PKG_CONFIGURATION="$(dotnet-pkg-base_get-configuration)"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: bdfc07876f80d92d22d1d124d0f925cdc8f71984 Author: Maciej Barć gentoo org> AuthorDate: Sat Feb 3 16:08:24 2024 + Commit: Maciej Barć gentoo org> CommitDate: Sat Feb 10 16:24:46 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bdfc0787 eclass/dotnet-pkg.eclass: prepare for safely using Nuget prevent NuGet executable (part of "dotnet-sdk") from fetching remote NuGet package sources, add two new features to the nuget ecalss: find and remove all nuget.config files, add and use "nuget_writeconfig" function that creates a "nuget.config" file which forces the use of NuGet packages specified in the ebuild file Signed-off-by: Maciej Barć gentoo.org> eclass/dotnet-pkg.eclass | 8 ++-- eclass/nuget.eclass | 47 ++- 2 files changed, 52 insertions(+), 3 deletions(-) diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass index eba46c2af2a5..59a8ae799f86 100644 --- a/eclass/dotnet-pkg.eclass +++ b/eclass/dotnet-pkg.eclass @@ -225,12 +225,16 @@ dotnet-pkg_remove-bad() { # Default "src_prepare" for the "dotnet-pkg" eclass. # Prepare the package sources. # -# Run "dotnet-pkg-base_remove-global-json" -# and "dotnet-pkg-base_remove-bad" for each found solution file. +# Run "dotnet-pkg-base_remove-global-json", "dotnet-pkg-base_remove-bad" +# for each found solution file and prepare for using Nuget. dotnet-pkg_src_prepare() { dotnet-pkg-base_remove-global-json dotnet-pkg-base_foreach-solution "$(pwd)" dotnet-pkg_remove-bad + find "$(pwd)" -maxdepth 1 -iname "nuget.config" -delete || + die "${FUNCNAME[0]}: failed to remove unwanted \"NuGet.config\" config files" + nuget_writeconfig "$(pwd)/" + default } diff --git a/eclass/nuget.eclass b/eclass/nuget.eclass index 669e21300ef2..ac8629848eca 100644 --- a/eclass/nuget.eclass +++ b/eclass/nuget.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: nuget.eclass @@ -226,6 +226,51 @@ nuget_unpack-non-nuget-archives() { done } +# @FUNCTION: nuget_writeconfig +# @USAGE: +# @DESCRIPTION: +# Create a "NuGet.config" config file that can be used to overwrite any other +# Nuget configuration file in order to prevent Nuget executable from accessing +# the network or undesired NuPkg package sources. +# +# If given path ends with a slash, a file name "NuGet.config" is assumed, +# otherwise contents are written to specified file path exactly. +# +# Created configuration file clears all other NuPkg sources and inserts +# "NUGET_PACKAGES" as the only one source. +# +# This function is used inside "dotnet-pkg_src_prepare" +# from the "dotnet-pkg" eclass. +# +# This function is used inside "dotnet-pkg_src_prepare" +# from the "dotnet-pkg" eclass. +nuget_writeconfig() { + debug-print-function "${FUNCNAME[0]}" "${@}" + + case "${1}" in + "" ) die "${FUNCNAME[0]}: no directory/file path specified" ;; + */ ) mkdir -p "${1}" || die ;; + esac + + local nuget_config_path + + if [[ -d "${1}" ]] ; then + nuget_config_path="${1}/NuGet.config" + else + nuget_config_path="${1}" + fi + + cat <<-EOF > "${nuget_config_path}" || die + + + + + + + + EOF +} + # @FUNCTION: nuget_donuget # @USAGE: ... # @DESCRIPTION:
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: a3351216a9ac8433912d91b53259d1c470186227 Author: Maciej Barć gentoo org> AuthorDate: Sat Feb 3 13:46:22 2024 + Commit: Maciej Barć gentoo org> CommitDate: Sat Feb 10 16:24:45 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3351216 eclass/dotnet-pkg*: add dotnet-pkg_remove-bad add new eclass feature that allows to remove projects from .NET solution files, the functions modified: dotnet-pkg-base_sln-remove, dotnet-pkg_remove-bad, dotnet-pkg_src_prepare Signed-off-by: Maciej Barć gentoo.org> eclass/dotnet-pkg-base.eclass | 15 +++ eclass/dotnet-pkg.eclass | 42 -- 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index ff93c1db9636..beefd1efd2da 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -310,6 +310,21 @@ dotnet-pkg-base_info() { fi } +# @FUNCTION: dotnet-pkg-base_sln-remove +# @USAGE: +# @DESCRIPTION: +# Remove a project from a given solution file. +# +# Used by "dotnet-pkg_remove-bad" from the "dotnet-pkg" eclass. +dotnet-pkg-base_sln-remove() { + debug-print-function "${FUNCNAME[0]}" "${@}" + + [[ -z ${1} ]] && die "${FUNCNAME[0]}: no solution file specified" + [[ -z ${2} ]] && die "${FUNCNAME[0]}: no project file specified" + + edotnet sln "${1}" remove "${2}" +} + # @FUNCTION: dotnet-pkg-base_foreach-solution # @USAGE: ... # @DESCRIPTION: diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass index 9d78f463be77..94f5c5a280f7 100644 --- a/eclass/dotnet-pkg.eclass +++ b/eclass/dotnet-pkg.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: dotnet-pkg.eclass @@ -48,6 +48,24 @@ inherit dotnet-pkg-base RDEPEND+=" ${DOTNET_PKG_RDEPS} " BDEPEND+=" ${DOTNET_PKG_BDEPS} " +# @ECLASS_VARIABLE: DOTNET_PKG_BAD_PROJECTS +# @DESCRIPTION: +# List of projects to remove from all found solution (".sln") files. +# The projects are removed in the "dotnet-pkg_src_prepare" function. +# +# This variable should be set after inheriting "dotnet-pkg.eclass". +# +# Default value is an empty array. +# +# Example: +# @CODE +# DOTNET_PKG_BAD_PROJECTS=( "${S}/BrokenTests" ) +# DOTNET_PKG_PROJECTS=( "${S}/DotnetProject" ) +# @CODE +# +# For more info see: "dotnet-pkg_remove-bad" function. +DOTNET_PKG_BAD_PROJECTS=() + # @ECLASS_VARIABLE: DOTNET_PKG_PROJECTS # @DEFAULT_UNSET # @DESCRIPTION: @@ -161,14 +179,34 @@ dotnet-pkg_src_unpack() { nuget_unpack-non-nuget-archives } +# @FUNCTION: dotnet-pkg_remove-bad +# @USAGE: +# @DESCRIPTION: +# Remove all projects specified by "DOTNET_PKG_BAD_PROJECTS" from a given +# solution file. +# +# Used by "dotnet-pkg_src_prepare". +dotnet-pkg_remove-bad() { + debug-print-function "${FUNCNAME[0]}" "${@}" + + [[ -z ${1} ]] && die "${FUNCNAME[0]}: no solution file specified" + + local bad_project + for bad_project in "${DOTNET_PKG_BAD_PROJECTS[@]}" ; do + nonfatal dotnet-pkg-base_sln-remove "${1}" "${bad_project}" + done +} + # @FUNCTION: dotnet-pkg_src_prepare # @DESCRIPTION: # Default "src_prepare" for the "dotnet-pkg" eclass. # Prepare the package sources. # -# Run "dotnet-pkg-base_remove-global-json". +# Run "dotnet-pkg-base_remove-global-json" +# and "dotnet-pkg-base_remove-bad" for each found solution file. dotnet-pkg_src_prepare() { dotnet-pkg-base_remove-global-json + dotnet-pkg-base_foreach-solution "$(pwd)" dotnet-pkg_remove-bad default }
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: d08eb2ce4c8adce01a37688366f4869e273dafc2 Author: Maciej Barć gentoo org> AuthorDate: Sat Feb 3 13:58:26 2024 + Commit: Maciej Barć gentoo org> CommitDate: Sat Feb 10 16:24:45 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d08eb2ce eclass/dotnet-pkg.eclass: add dotnet-pkg_force-compat add new eclass function "dotnet-pkg_force-compat" that appends special variables to dotnet command executions to force compability with a spefified .NET SDK version Signed-off-by: Maciej Barć gentoo.org> eclass/dotnet-pkg.eclass | 23 +++ 1 file changed, 23 insertions(+) diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass index 94f5c5a280f7..eba46c2af2a5 100644 --- a/eclass/dotnet-pkg.eclass +++ b/eclass/dotnet-pkg.eclass @@ -156,6 +156,29 @@ DOTNET_PKG_BUILD_EXTRA_ARGS=() # For more info see the "DOTNET_PROJECT" variable and "dotnet-pkg_src_test". DOTNET_PKG_TEST_EXTRA_ARGS=() +# @FUNCTION: dotnet-pkg_force-compat +# @DESCRIPTION: +# This function appends special options to all "DOTNET_PKG_*_EXTRA_ARGS" +# variables in an attempt to force compatibility to the picked +# "DOTNET_PKG_COMPAT" .NET SDK version. +# +# Call this function post-inherit. +dotnet-pkg_force-compat() { + if [[ -z ${DOTNET_PKG_COMPAT} ]] ; then + die "DOTNET_PKG_COMPAT is not set" + fi + + local -a force_extra_args=( + -p:RollForward=Major + -p:TargetFramework="net${DOTNET_PKG_COMPAT}" + -p:TargetFrameworks="net${DOTNET_PKG_COMPAT}" + ) + + DOTNET_PKG_RESTORE_EXTRA_ARGS+=( "${force_extra_args[@]}" ) + DOTNET_PKG_BUILD_EXTRA_ARGS+=( "${force_extra_args[@]}" ) + DOTNET_PKG_TEST_EXTRA_ARGS+=( "${force_extra_args[@]}" ) +} + # @FUNCTION: dotnet-pkg_pkg_setup # @DESCRIPTION: # Default "pkg_setup" for the "dotnet-pkg" eclass.
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f7df4a89670128538ea91352b878b6aa56253a36 Author: Maciej Barć gentoo org> AuthorDate: Sat Feb 3 13:23:28 2024 + Commit: Maciej Barć gentoo org> CommitDate: Sat Feb 10 16:24:45 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7df4a89 eclass/dotnet-pkg-base.eclass: dotnet-pkg-base_test - remove directory magic remove broken directory magic from the "dotnet-pkg-base_test" function, now the eclass consumers can pass the directory as the last argument and let the dotnet executable handle arguments instead of putting the weight on the eclass, also update the "dotnet-pkg-base_restore_tools" function documentation Signed-off-by: Maciej Barć gentoo.org> eclass/dotnet-pkg-base.eclass | 24 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index 8ac8939ac559..ff93c1db9636 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -402,8 +402,8 @@ dotnet-pkg-base_restore_tools() { # Build is performed in current directory unless a different directory is # passed via "args". # -# Additionally any number of "args" maybe be given, they are appended to -# the "dotnet" command invocation. +# Any number of "args" maybe be given, they are appended to the "dotnet" +# command invocation. # # Used by "dotnet-pkg_src_compile" from the "dotnet-pkg" eclass. dotnet-pkg-base_build() { @@ -434,27 +434,19 @@ dotnet-pkg-base_build() { } # @FUNCTION: dotnet-pkg-base_test -# @USAGE: [directory] [args] ... +# @USAGE: [args] ... # @DESCRIPTION: # Test the package using "dotnet test" in a specified directory. +# Test is performed in current directory unless a different directory is +# passed via "args". # -# Optional "directory" argument defaults to the current directory path. -# -# Additionally any number of "args" maybe be given, they are appended to -# the "dotnet" command invocation. +# Any number of "args" maybe be given, they are appended to the "dotnet" +# command invocation. # # Used by "dotnet-pkg_src_test" from the "dotnet-pkg" eclass. dotnet-pkg-base_test() { debug-print-function "${FUNCNAME[0]}" "${@}" - local directory - if [[ -n "${1}" ]] ; then - directory="${1}" - shift - else - directory="$(pwd)" - fi - local -a test_args=( --configuration "${DOTNET_PKG_CONFIGURATION}" --no-restore @@ -462,7 +454,7 @@ dotnet-pkg-base_test() { "${@}" ) - edotnet test "${test_args[@]}" "${directory}" + edotnet test "${test_args[@]}" } # @FUNCTION: dotnet-pkg-base_install
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 85390ea3bb4f0ce950dbd9a1c526886ce3722be9 Author: Maciej Barć gentoo org> AuthorDate: Sat Feb 3 13:21:19 2024 + Commit: Maciej Barć gentoo org> CommitDate: Sat Feb 10 16:24:44 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85390ea3 eclass/dotnet-pkg-base.eclass: deprecate wrong-style names some functions were written in wrong style by ommission, deprecate the wrong names (leave them in the elcass for compability) and add functions with proper names Signed-off-by: Maciej Barć gentoo.org> eclass/dotnet-pkg-base.eclass | 38 +++--- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index db8deb1b3068..8ac8939ac559 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.eclass @@ -360,7 +360,7 @@ dotnet-pkg-base_restore() { edotnet restore "${restore_args[@]}" } -# @FUNCTION: dotnet-pkg-base_restore_tools +# @FUNCTION: dotnet-pkg-base_restore-tools # @USAGE: [config-file] [args] ... # @DESCRIPTION: # Restore dotnet tools for a project in the current directory. @@ -370,7 +370,7 @@ dotnet-pkg-base_restore() { # # Additionally any number of "args" maybe be given, they are appended to # the "dotnet" command invocation. -dotnet-pkg-base_restore_tools() { +dotnet-pkg-base_restore-tools() { debug-print-function "${FUNCNAME[0]}" "${@}" local -a tool_restore_args=( @@ -387,6 +387,14 @@ dotnet-pkg-base_restore_tools() { edotnet tool restore "${tool_restore_args[@]}" } +# @FUNCTION: dotnet-pkg-base_restore_tools +# @USAGE: [config-file] [args] ... +# @DESCRIPTION: +# DEPRECATED, use "dotnet-pkg-base_restore-tools" instead. +dotnet-pkg-base_restore_tools() { + dotnet-pkg-base_restore-tools "${@}" +} + # @FUNCTION: dotnet-pkg-base_build # @USAGE: [args] ... # @DESCRIPTION: @@ -488,7 +496,7 @@ dotnet-pkg-base_launcherinto() { _DOTNET_PKG_LAUNCHERDEST="${1}" } -# @FUNCTION: dotnet-pkg-base_append_launchervar +# @FUNCTION: dotnet-pkg-base_append-launchervar # @USAGE: # @DESCRIPTION: # Appends a given variable setting to the "_DOTNET_PKG_LAUNCHERVARS". @@ -504,7 +512,7 @@ dotnet-pkg-base_launcherinto() { # @CODE # # For more info see the "_DOTNET_PKG_LAUNCHERVARS" variable. -dotnet-pkg-base_append_launchervar() { +dotnet-pkg-base_append-launchervar() { debug-print-function "${FUNCNAME[0]}" "${@}" [[ -z ${1} ]] && die "${FUNCNAME[0]}: no variable setting specified" @@ -512,6 +520,14 @@ dotnet-pkg-base_append_launchervar() { _DOTNET_PKG_LAUNCHERVARS+=( "${1}" ) } +# @FUNCTION: dotnet-pkg-base_append_launchervar +# @USAGE: +# @DESCRIPTION: +# DEPRECATED, use "dotnet-pkg-base_append-launchervar" instead. +dotnet-pkg-base_append_launchervar() { + dotnet-pkg-base_append-launchervar "${@}" +} + # @FUNCTION: dotnet-pkg-base_dolauncher # @USAGE: [filename] # @DESCRIPTION: @@ -579,7 +595,7 @@ dotnet-pkg-base_dolauncher() { doexe "${executable_target}" } -# @FUNCTION: dotnet-pkg-base_dolauncher_portable +# @FUNCTION: dotnet-pkg-base_dolauncher-portable # @USAGE: # @DESCRIPTION: # Make a wrapper script to launch a .NET DLL file built from a .NET package. @@ -590,12 +606,12 @@ dotnet-pkg-base_dolauncher() { # # Example: # @CODE -# dotnet-pkg-base_dolauncher_portable \ +# dotnet-pkg-base_dolauncher-portable \ # /usr/share/${P}/GentooDotnetInfo.dll gentoo-dotnet-info # @CODE # # The path is prepended by "EPREFIX". -dotnet-pkg-base_dolauncher_portable() { +dotnet-pkg-base_dolauncher-portable() { debug-print-function "${FUNCNAME[0]}" "${@}" local dll_path="${1}" @@ -621,4 +637,12 @@ dotnet-pkg-base_dolauncher_portable() { doexe "${executable_target}" } +# @FUNCTION: dotnet-pkg-base_dolauncher_portable +# @USAGE: +# @DESCRIPTION: +# DEPRECATED, use "dotnet-pkg-base_dolauncher-portable" instead. +dotnet-pkg-base_dolauncher_portable() { + dotnet-pkg-base_dolauncher-portable "${@}" +} + fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 80b969a57e4512e4397468b5369fe82474488db3 Author: Maciej Barć gentoo org> AuthorDate: Sat Feb 3 13:13:17 2024 + Commit: Maciej Barć gentoo org> CommitDate: Sat Feb 10 16:24:44 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80b969a5 eclass/dotnet-pkg-base.eclass: quotes and style tweaks format special variables in edge cases section of the dotnet-pkg-base eclass Signed-off-by: Maciej Barć gentoo.org> eclass/dotnet-pkg-base.eclass | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass index 1a9d311208e2..db8deb1b3068 100644 --- a/eclass/dotnet-pkg-base.eclass +++ b/eclass/dotnet-pkg-base.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: dotnet-pkg-base.eclass @@ -68,13 +68,19 @@ if [[ ${CATEGORY}/${PN} != dev-dotnet/dotnet-runtime-nugets ]] ; then die "${ECLASS}: DOTNET_PKG_COMPAT not set" fi - DOTNET_PKG_RDEPS+=" virtual/dotnet-sdk:${DOTNET_PKG_COMPAT} " - DOTNET_PKG_BDEPS+=" ${DOTNET_PKG_RDEPS} " + DOTNET_PKG_RDEPS+=" + virtual/dotnet-sdk:${DOTNET_PKG_COMPAT} + " + DOTNET_PKG_BDEPS+=" + ${DOTNET_PKG_RDEPS} + " # Special package "dev-dotnet/csharp-gentoodotnetinfo" used for information # gathering, example for usage see the "dotnet-pkg-base_info" function. if [[ ${CATEGORY}/${PN} != dev-dotnet/csharp-gentoodotnetinfo ]] ; then - DOTNET_PKG_BDEPS+=" dev-dotnet/csharp-gentoodotnetinfo " + DOTNET_PKG_BDEPS+=" + dev-dotnet/csharp-gentoodotnetinfo + " fi IUSE+=" debug "
[gentoo-commits] repo/gentoo:master commit in: eclass/, eclass/tests/
commit: 118145de3992a8249131bd0eb30ea89ad0bd0bdf Author: Michał Górny gentoo org> AuthorDate: Wed Feb 7 16:38:19 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Feb 10 10:47:21 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=118145de llvm-utils.eclass: Split out PATH prepending logic Split the logic prepending PATH from pkg_setup() into a dedicated llvm_prepend_path() function. Signed-off-by: Michał Górny gentoo.org> eclass/llvm-utils.eclass | 36 eclass/llvm.eclass | 25 + eclass/tests/llvm-utils.sh | 24 3 files changed, 61 insertions(+), 24 deletions(-) diff --git a/eclass/llvm-utils.eclass b/eclass/llvm-utils.eclass index 43988f6f88c7..f308667e3dc2 100644 --- a/eclass/llvm-utils.eclass +++ b/eclass/llvm-utils.eclass @@ -112,4 +112,40 @@ llvm_fix_tool_path() { ${shopt_save} } +# @FUNCTION: llvm_prepend_path +# @USAGE: +# @DESCRIPTION: +# Prepend the path to the specified LLVM slot to PATH variable, +# and reexport it. +llvm_prepend_path() { + debug-print-function ${FUNCNAME} "${@}" + + [[ ${#} -ne 1 ]] && die "Usage: ${FUNCNAME} " + local slot=${1} + + local llvm_path=${ESYSROOT}/usr/lib/llvm/${slot}/bin + local IFS=: + local split_path=( ${PATH} ) + local new_path=() + local x added= + + # prepend new path in front of the first LLVM version found + for x in "${split_path[@]}"; do + if [[ ${x} == */usr/lib/llvm/*/bin ]]; then + if [[ ${x} != ${llvm_path} ]]; then + new_path+=( "${llvm_path}" ) + elif [[ ${added} && ${x} == ${llvm_path} ]]; then + # deduplicate + continue + fi + added=1 + fi + new_path+=( "${x}" ) + done + # ...or to the end of PATH + [[ ${added} ]] || new_path+=( "${llvm_path}" ) + + export PATH=${new_path[*]} +} + fi diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass index 05ffcfd7cc6d..e297fe992c9f 100644 --- a/eclass/llvm.eclass +++ b/eclass/llvm.eclass @@ -212,30 +212,7 @@ llvm_pkg_setup() { llvm_fix_tool_path LLVM_CONFIG fi - local prefix=${ESYSROOT} - local llvm_path=${prefix}/usr/lib/llvm/${LLVM_SLOT}/bin - local IFS=: - local split_path=( ${PATH} ) - local new_path=() - local x added= - - # prepend new path before first LLVM version found - for x in "${split_path[@]}"; do - if [[ ${x} == */usr/lib/llvm/*/bin ]]; then - if [[ ${x} != ${llvm_path} ]]; then - new_path+=( "${llvm_path}" ) - elif [[ ${added} && ${x} == ${llvm_path} ]]; then - # deduplicate - continue - fi - added=1 - fi - new_path+=( "${x}" ) - done - # ...or to the end of PATH - [[ ${added} ]] || new_path+=( "${llvm_path}" ) - - export PATH=${new_path[*]} + llvm_prepend_path "${LLVM_SLOT}" fi } diff --git a/eclass/tests/llvm-utils.sh b/eclass/tests/llvm-utils.sh index 44ad1b4adc84..5a46b25b7ad6 100755 --- a/eclass/tests/llvm-utils.sh +++ b/eclass/tests/llvm-utils.sh @@ -66,6 +66,21 @@ test_fix_tool_path() { tend ${?} } +test_prepend_path() { + local slot=${1} + local -x PATH=${2} + local expected=${3} + + tbegin "llvm_prepend_path ${slot} to PATH=${PATH}" + llvm_prepend_path "${slot}" + if [[ ${PATH} != ${expected} ]]; then + eerror "llvm_prepend_path ${var}" + eerror "gave: ${PATH}" + eerror "expected: ${expected}" + fi + tend ${?} +} + test_fix_clang_version CC clang 19.0.0git78b4e7c5 clang-19 test_fix_clang_version CC clang 17.0.6 clang-17 test_fix_clang_version CXX clang++ 17.0.6 clang++-17 @@ -79,4 +94,13 @@ test_fix_tool_path RANLIB llvm-ranlib 1 test_fix_tool_path AR ar 1 test_fix_tool_path AR ar 0 +ESYSROOT= +test_prepend_path 17 /usr/bin /usr/bin:/usr/lib/llvm/17/bin +test_prepend_path 17 /usr/lib/llvm/17/bin:/usr/bin /usr/lib/llvm/17/bin:/usr/bin +test_prepend_path 17 /usr/bin:/usr/lib/llvm/17/bin /usr/bin:/usr/lib/llvm/17/bin +test_prepend_path 18 /usr/lib/llvm/17/bin:/usr/bin \ + /usr/lib/llvm/18/bin:/usr/lib/llvm/17/bin:/usr/bin +test_prepend_path 18 /usr/bin:/usr/lib/llvm/17/bin \ + /usr/bin:/usr/lib/llvm/18/bin:/usr/lib/llvm/17/bin + texit
[gentoo-commits] repo/gentoo:master commit in: eclass/, eclass/tests/
commit: 5fcce58386dfb317020d7c88478480592b98b4e4 Author: Michał Górny gentoo org> AuthorDate: Wed Feb 7 16:39:18 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Feb 10 10:47:21 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fcce583 llvm-utils.eclass: Fix llvm_prepend_path to avoid duplicates Fix llvm_prepend_path() not to append the new path multiple times, if the original PATH variable contained multiple LLVM directories. Thanks to Alexander Miller who spotted it in: https://github.com/gentoo/gentoo/pull/35196#discussion_r1480330001 Signed-off-by: Michał Górny gentoo.org> eclass/llvm-utils.eclass | 10 ++ eclass/tests/llvm-utils.sh | 12 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/eclass/llvm-utils.eclass b/eclass/llvm-utils.eclass index f308667e3dc2..532e609679b8 100644 --- a/eclass/llvm-utils.eclass +++ b/eclass/llvm-utils.eclass @@ -129,16 +129,18 @@ llvm_prepend_path() { local new_path=() local x added= - # prepend new path in front of the first LLVM version found for x in "${split_path[@]}"; do if [[ ${x} == */usr/lib/llvm/*/bin ]]; then - if [[ ${x} != ${llvm_path} ]]; then + # prepend new path in front of the first LLVM version found + if [[ ! ${added} ]]; then new_path+=( "${llvm_path}" ) - elif [[ ${added} && ${x} == ${llvm_path} ]]; then + added=1 + fi + # remove duplicate copies of the same path + if [[ ${x} == ${llvm_path} ]]; then # deduplicate continue fi - added=1 fi new_path+=( "${x}" ) done diff --git a/eclass/tests/llvm-utils.sh b/eclass/tests/llvm-utils.sh index 5a46b25b7ad6..6fe3da3eda13 100755 --- a/eclass/tests/llvm-utils.sh +++ b/eclass/tests/llvm-utils.sh @@ -98,9 +98,21 @@ ESYSROOT= test_prepend_path 17 /usr/bin /usr/bin:/usr/lib/llvm/17/bin test_prepend_path 17 /usr/lib/llvm/17/bin:/usr/bin /usr/lib/llvm/17/bin:/usr/bin test_prepend_path 17 /usr/bin:/usr/lib/llvm/17/bin /usr/bin:/usr/lib/llvm/17/bin +test_prepend_path 17 /usr/lib/llvm/17/bin:/usr/bin:/usr/lib/llvm/17/bin \ + /usr/lib/llvm/17/bin:/usr/bin +test_prepend_path 17 /usr/lib/llvm/17/bin:/usr/lib/llvm/17/bin:/usr/bin \ + /usr/lib/llvm/17/bin:/usr/bin +test_prepend_path 17 /usr/bin:/usr/lib/llvm/17/bin:/usr/lib/llvm/17/bin \ + /usr/bin:/usr/lib/llvm/17/bin test_prepend_path 18 /usr/lib/llvm/17/bin:/usr/bin \ /usr/lib/llvm/18/bin:/usr/lib/llvm/17/bin:/usr/bin test_prepend_path 18 /usr/bin:/usr/lib/llvm/17/bin \ /usr/bin:/usr/lib/llvm/18/bin:/usr/lib/llvm/17/bin +test_prepend_path 18 /usr/lib/llvm/17/bin:/usr/lib/llvm/16/bin:/usr/bin \ + /usr/lib/llvm/18/bin:/usr/lib/llvm/17/bin:/usr/lib/llvm/16/bin:/usr/bin +test_prepend_path 18 /usr/bin:/usr/lib/llvm/17/bin:/usr/lib/llvm/16/bin \ + /usr/bin:/usr/lib/llvm/18/bin:/usr/lib/llvm/17/bin:/usr/lib/llvm/16/bin +test_prepend_path 18 /usr/lib/llvm/17/bin:/usr/bin:/usr/lib/llvm/16/bin \ + /usr/lib/llvm/18/bin:/usr/lib/llvm/17/bin:/usr/bin:/usr/lib/llvm/16/bin texit
[gentoo-commits] repo/gentoo:master commit in: eclass/tests/, eclass/
commit: 5618de75aec49009489efb560a89e014fd060524 Author: Michał Górny gentoo org> AuthorDate: Mon Feb 5 19:29:36 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Feb 10 10:47:23 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5618de75 llvm-r1.eclass: Initial version Bug: https://bugs.gentoo.org/923228 Bug: https://bugs.gentoo.org/880671 Closes: https://bugs.gentoo.org/821955 Closes: https://bugs.gentoo.org/919150 Signed-off-by: Michał Górny gentoo.org> eclass/llvm-r1.eclass | 250 eclass/tests/llvm-r1.sh | 151 + 2 files changed, 401 insertions(+) diff --git a/eclass/llvm-r1.eclass b/eclass/llvm-r1.eclass new file mode 100644 index ..658946a1ecbd --- /dev/null +++ b/eclass/llvm-r1.eclass @@ -0,0 +1,250 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: llvm-r1.eclass +# @MAINTAINER: +# Michał Górny +# @AUTHOR: +# Michał Górny +# @SUPPORTED_EAPIS: 8 +# @PROVIDES: llvm-utils +# @BLURB: Provide LLVM_SLOT to build against slotted LLVM +# @DESCRIPTION: +# An eclass to reliably depend on a set of LLVM-related packages +# in a matching slot. To use the eclass: +# +# 1. Set LLVM_COMPAT to the list of supported LLVM slots. +# 2. Use llvm_gen_dep and/or LLVM_USEDEP to add appropriate +#dependencies. +# 3. Use llvm-r1_pkg_setup, get_llvm_prefix or LLVM_SLOT. +# +# The eclass sets IUSE and REQUIRED_USE. The flag corresponding +# to the newest supported stable LLVM slot (or the newest testing, +# if no stable slots are supported) is enabled by default. +# +# Example: +# @CODE +# LLVM_COMPAT=( {16..18} ) +# +# inherit llvm-r1 +# +# DEPEND=" +# dev-libs/libfoo[${LLVM_USEDEP}] +# $(llvm_gen_dep ' +# sys-devel/clang:${LLVM_SLOT} +# sys-devel/llvm:${LLVM_SLOT} +# ') +# " +# @CODE + +case ${EAPI} in + 8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +if [[ ! ${_LLVM_R1_ECLASS} ]]; then +_LLVM_R1_ECLASS=1 + +inherit llvm-utils + +# == internal control knobs == + +# @ECLASS_VARIABLE: _LLVM_OLDEST_SLOT +# @INTERNAL +# @DESCRIPTION: +# Oldest supported LLVM slot. This is used to automatically filter out +# unsupported LLVM_COMPAT values. +_LLVM_OLDEST_SLOT=15 + +# @ECLASS_VARIABLE: _LLVM_NEWEST_STABLE +# @INTERNAL +# @DESCRIPTION: +# The newest stable LLVM version. Versions newer than that won't +# be automatically enabled via USE defaults. +_LLVM_NEWEST_STABLE=17 + +# == control variables == + +# @ECLASS_VARIABLE: LLVM_COMPAT +# @PRE_INHERIT +# @REQUIRED +# @DESCRIPTION: +# A list of LLVM slots supported by the package, oldest to newest. +# +# Example: +# @CODE +# LLVM_COMPAT=( {15..17} ) +# @CODE + +# @ECLASS_VARIABLE: LLVM_OPTIONAL +# @PRE_INHERIT +# @DEFAULT_UNSET +# @DESCRIPTION: +# If set to a non-empty value, disables setting REQUIRED_USE +# and exporting pkg_setup. You have to add LLVM_REQUIRED_USE and call +# pkg_setup manually, with appropriate USE conditions. + +# == global metadata == + +# @ECLASS_VARIABLE: LLVM_REQUIRED_USE +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# An eclass-generated REQUIRED_USE string that enforces selecting +# exactly one slot. It LLVM_OPTIONAL is set, it needs to be copied +# into REQUIRED_USE, under appropriate USE conditions. Otherwise, +# it is added automatically. + +# @ECLASS_VARIABLE: LLVM_USEDEP +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# An eclass-generated USE dependency string that can be applied to other +# packages using the same eclass, to enforce a LLVM slot match. + +_llvm_set_globals() { + debug-print-function ${FUNCNAME} "${@}" + + if [[ ${LLVM_COMPAT@a} != *a* ]]; then + die "LLVM_COMPAT must be set to an array before inheriting ${ECLASS}" + fi + + local stable=() unstable=() + local x + for x in "${LLVM_COMPAT[@]}"; do + if [[ ${x} -gt ${_LLVM_NEWEST_STABLE} ]]; then + unstable+=( "${x}" ) + elif [[ ${x} -ge ${_LLVM_OLDEST_SLOT} ]]; then + stable+=( "${x}" ) + fi + done + + _LLVM_SLOTS=( "${stable[@]}" "${unstable[@]}" ) + if [[ ! ${_LLVM_SLOTS[@]} ]]; then + die "LLVM_COMPAT does not contain any valid versions (all older than ${_LLVM_OLDEST_SLOT}?)" + fi + + if [[ ${stable[@]} ]]; then + IUSE="+llvm_slot_${stable[-1]}" + unset 'stable[-1]' + else + IUSE="+llvm_slot_${unstable[-1]}" + unset 'unstable[-1]' + fi + local nondefault=( "${stable[@]}" "${unstable[@]}" ) + IUSE+=" ${nondefault[*]/#/llvm_slot_}" + + local flags=( "${_LLVM_SLOTS[@]/#/llvm_slot_}" ) + LLVM_REQUIRED_USE="^^ ( ${flags[*]} )" + local usedep_flags=${flags[*]/%/(-)?} + LLVM_USEDEP=${usedep_flags// /,} + readonly LLVM_REQUIRED_USE LLVM_USEDEP + +
[gentoo-commits] repo/gentoo:master commit in: eclass/tests/, eclass/
commit: 511ce42e90eccd89a8d0d2ccbc239578d6af11ea Author: Michał Górny gentoo org> AuthorDate: Wed Feb 7 16:34:34 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Feb 10 10:47:20 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=511ce42e llvm-utils.eclass: Introduce an eclass for common helpers Move some reusable functions from llvm.eclass to llvm-utils.eclass. This is with minimal modifications so far (only argument checks were cleaned up). Signed-off-by: Michał Górny gentoo.org> eclass/llvm-utils.eclass | 115 + eclass/llvm.eclass | 92 ++-- eclass/tests/llvm-utils.sh | 82 3 files changed, 200 insertions(+), 89 deletions(-) diff --git a/eclass/llvm-utils.eclass b/eclass/llvm-utils.eclass new file mode 100644 index ..43988f6f88c7 --- /dev/null +++ b/eclass/llvm-utils.eclass @@ -0,0 +1,115 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: llvm-utils.eclass +# @MAINTAINER: +# Michał Górny +# @AUTHOR: +# Michał Górny +# @SUPPORTED_EAPIS: 7 8 +# @BLURB: Common utility functions for building against installed LLVM +# @DESCRIPTION: +# The utility eclass providing shared functions reused between +# llvm.eclass and llvm-r1.eclass. It may also be used directly +# in ebuilds. + +case ${EAPI} in + 7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac + +if [[ ! ${_LLVM_UTILS_ECLASS} ]]; then +_LLVM_UTILS_ECLASS=1 + +# @FUNCTION: llvm_tuple_to_target +# @USAGE: [] +# @DESCRIPTION: +# Translate a tuple into a target suitable for LLVM_TARGETS. +# Defaults to ${CHOST} if not specified. +llvm_tuple_to_target() { + debug-print-function ${FUNCNAME} "${@}" + + [[ ${#} -gt 1 ]] && die "Usage: ${FUNCNAME} []" + + case ${1:-${CHOST}} in + aarch64*) echo "AArch64";; + amdgcn*) echo "AMDGPU";; + arc*) echo "ARC";; + arm*) echo "ARM";; + avr*) echo "AVR";; + bpf*) echo "BPF";; + csky*) echo "CSKY";; + loong*) echo "LoongArch";; + m68k*) echo "M68k";; + mips*) echo "Mips";; + msp430*) echo "MSP430";; + nvptx*) echo "NVPTX";; + powerpc*) echo "PowerPC";; + riscv*) echo "RISCV";; + sparc*) echo "Sparc";; + s390*) echo "SystemZ";; + x86_64*|i?86*) echo "X86";; + xtensa*) echo "Xtensa";; + *) die "Unknown LLVM target for tuple ${1:-${CHOST}}" + esac +} + +# @FUNCTION: llvm_fix_clang_version +# @USAGE: ... +# @DESCRIPTION: +# Fix the clang compiler name in specified variables to include +# the major version, to prevent PATH alterations from forcing an older +# clang version being used. +llvm_fix_clang_version() { + debug-print-function ${FUNCNAME} "${@}" + + local shopt_save=$(shopt -p -o noglob) + set -f + local var + for var; do + local split=( ${!var} ) + case ${split[0]} in + *clang|*clang++|*clang-cpp) + local version=() + read -r -a version < <("${split[0]}" --version) + local major=${version[-1]%%.*} + if [[ -n ${major//[0-9]} ]]; then + die "${var}=${!var} produced invalid --version: ${version[*]}" + fi + + split[0]+=-${major} + if ! type -P "${split[0]}" &>/dev/null; then + die "${split[0]} does not seem to exist" + fi + declare -g "${var}=${split[*]}" + ;; + esac + done + ${shopt_save} +} + +# @FUNCTION: llvm_fix_tool_path +# @USAGE: ... +# @DESCRIPTION: +# Fix the LLVM tools referenced in the specified variables to their +# current location, to prevent PATH alterations from forcing older +# versions being used. +llvm_fix_tool_path() { + debug-print-function ${FUNCNAME} "${@}" + + local shopt_save=$(shopt -p -o noglob) + set -f + local var + for var; do + local split=( ${!var} ) + local path=$(type -P ${split[0]} 2>/dev/null) + # if it resides in one of the LLVM prefixes, it's an LLVM tool! + if [[ ${path} == "${BROOT}/usr/lib/llvm"* ]]; then + split[0]=${path} + declare -g "${var}=${split[*]}" + fi + done + ${shopt_save} +} + +fi diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass index 91cc68d966fe..05ffcfd7cc6d 100644 ---
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 49fad4d4732824425036b02b6c480ba8a5913a25 Author: Andreas Sturmlechner gentoo org> AuthorDate: Wed Feb 7 15:09:26 2024 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Wed Feb 7 15:10:12 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49fad4d4 plasma.kde.org.eclass: Support Plasma 6 RC micro releases Signed-off-by: Andreas Sturmlechner gentoo.org> eclass/plasma.kde.org.eclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eclass/plasma.kde.org.eclass b/eclass/plasma.kde.org.eclass index 0e0c3e715571..69f38cb526cc 100644 --- a/eclass/plasma.kde.org.eclass +++ b/eclass/plasma.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: plasma.kde.org.eclass @@ -67,8 +67,8 @@ elif [[ -z ${KDE_ORG_COMMIT} ]]; then _KDE_SRC_URI+="unstable/plasma/$(ver_cut 1-3)/" RESTRICT+=" mirror" ;; - 5.9?.0* ) - _KDE_SRC_URI+="unstable/plasma/$(ver_cut 1-3)/" + 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)/" ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 442e4c25bbb4e5e28984dbeb8e1468ded3bd273d Author: Michał Górny gentoo org> AuthorDate: Thu Jan 25 15:37:00 2024 + Commit: Michał Górny gentoo org> CommitDate: Tue Feb 6 03:07:32 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=442e4c25 gnome2-utils.eclass: Make *_gdk_pixbuf_update work unconditionally Remove the GNOME2_ECLASS_GDK_PIXBUF_LOADERS condition that required calling gnome2_gdk_pixbuf_savelist prior to gnome2_gdk_pixbuf_update. The actual list was never used, and all the ebuilds calling the function in Gentoo contain conditions to avoid calling the function when loaders are not built. Closes: https://bugs.gentoo.org/922500 Signed-off-by: Michał Górny gentoo.org> eclass/gnome2-utils.eclass | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/eclass/gnome2-utils.eclass b/eclass/gnome2-utils.eclass index 3a92a43e306a..bbee2a419dfc 100644 --- a/eclass/gnome2-utils.eclass +++ b/eclass/gnome2-utils.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: gnome2-utils.eclass @@ -363,11 +363,6 @@ gnome2_gdk_pixbuf_update() { local updater="${EROOT%/}/usr/bin/${CHOST}-gdk-pixbuf-query-loaders" [[ -x ${updater} ]] || updater="${EROOT%/}/usr/bin/gdk-pixbuf-query-loaders" - if [[ -z ${GNOME2_ECLASS_GDK_PIXBUF_LOADERS} ]]; then - debug-print "gdk-pixbuf loader cache does not need an update" - return - fi - if tc-is-cross-compiler ; then ewarn "Updating of gdk-pixbuf loader cache skipped due to cross-compilation." ewarn "You might want to run gdk-pixbuf-query-loaders manually on the target"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: dc397d20d4116d795c935543a01b21b67acfaf32 Author: Michał Górny gentoo org> AuthorDate: Thu Jan 25 15:40:48 2024 + Commit: Michał Górny gentoo org> CommitDate: Tue Feb 6 03:07:33 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc397d20 gnome2.eclass: Make gnome2_gdk_pixbuf_update call conditional Move the condition that checks the result of gnome2_gdk_pixbuf_savelist from inside gnome2_gdk_pixbuf_update to the postinst phase of gnome2.eclass. Signed-off-by: Michał Górny gentoo.org> eclass/gnome2.eclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eclass/gnome2.eclass b/eclass/gnome2.eclass index 00188fd7889c..66de2df97f9f 100644 --- a/eclass/gnome2.eclass +++ b/eclass/gnome2.eclass @@ -214,7 +214,9 @@ gnome2_pkg_postinst() { gnome2_schemas_update fi gnome2_scrollkeeper_update - gnome2_gdk_pixbuf_update + if [[ -n ${GNOME2_ECLASS_GDK_PIXBUF_LOADERS} ]]; then + gnome2_gdk_pixbuf_update + fi if [[ ${#GNOME2_ECLASS_GIO_MODULES[@]} -gt 0 ]]; then gnome2_giomodule_cache_update
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: d1ae0cebfb7b3008963cbc3acbe0646e7ecaf43f Author: Sam James gentoo org> AuthorDate: Mon Feb 5 00:17:45 2024 + Commit: Sam James gentoo org> CommitDate: Mon Feb 5 00:19:34 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1ae0ceb toolchain.eclass: ignore GCC version mismatch for live ebuilds We want to have live ebuilds use e.g. 14.0.. not 14.0.1. which is inconsistent and requires a rename/adjustment to package.accept_keywords files when going from stage3->stage4 (.0 -> .1). We can do this now because we use --with-major-version-only nowadays, so SLOT matches the installed path of just '14'. 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 4cf76229cf88..6a4b59972fa3 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -580,7 +580,7 @@ toolchain_src_prepare() { setup_multilib_osdirnames local actual_version=$(< "${S}"/gcc/BASE-VER) - if [[ "${GCC_RELEASE_VER}" != "${actual_version}" ]] ; then + if ! tc_is_live && [[ "${GCC_RELEASE_VER}" != "${actual_version}" ]] ; then eerror "'${S}/gcc/BASE-VER' contains '${actual_version}', expected '${GCC_RELEASE_VER}'" die "Please set 'TOOLCHAIN_GCC_PV' to '${actual_version}'" fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 2add8e9e5a9a837954f6cc4dbbbe72f448b636a8 Author: Sam James gentoo org> AuthorDate: Sat Feb 3 14:04:08 2024 + Commit: Sam James gentoo org> CommitDate: Sat Feb 3 14:06:40 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2add8e9e toolchain.eclass: don't take shortcut for non-GCC bootstrap compiler We're fragile for stage0 so if we're not building using GCC, use -O0. The use of regular CFLAGS/CXXFLAGS there should be seen as a bonus as it has some caveats. Best to play it safe to avoid confusing hard-to-diagnose differences later on. 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 1679a3d3a366..4cf76229cf88 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1712,7 +1712,7 @@ gcc_do_make() { # The last known issues are with < GCC 4.9 or so, but it's easier # to keep this bound somewhat fresh just to avoid problems. Ultimately, # using not-O0 is just a build-time speed improvement anyway. - if tc-is-gcc && ver_test $(gcc-fullversion) -lt 10 ; then + if ! tc-is-gcc || ver_test $(gcc-fullversion) -lt 10 ; then STAGE1_CFLAGS="-O0" fi
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: c28bd3b90e19fa157e19d017e70fc5c4832de14d Author: Andrew Ammerlaan gentoo org> AuthorDate: Wed Jan 31 10:09:57 2024 + Commit: Andrew Ammerlaan gentoo org> CommitDate: Fri Feb 2 06:16:16 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c28bd3b9 kernel-2.eclass: add installkernel as optfeature Signed-off-by: Andrew Ammerlaan gentoo.org> eclass/kernel-2.eclass | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass index 55b59fd9e90f..ffbe986f3e87 100644 --- a/eclass/kernel-2.eclass +++ b/eclass/kernel-2.eclass @@ -288,7 +288,7 @@ # Moved this above inherit as crossdev.eclass uses CHOST internally. [[ ${PROFILE_ARCH} == ppc64 ]] && CHOST="powerpc64-${CHOST#*-}" -inherit crossdev estack multiprocessing toolchain-funcs +inherit crossdev estack multiprocessing optfeature toolchain-funcs case ${EAPI} in 7|8) ;; @@ -992,6 +992,9 @@ postinst_sources() { fi fi fi + + optfeature "versioned kernel image installation and optionally automating tasks such as generating an initramfs or unified kernel image" \ + "sys-kernel/installkernel" } # pkg_setup functions
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 1e5d35a2df840f3e381108277ea192c6bd9363db Author: Sam James gentoo org> AuthorDate: Thu Feb 1 23:48:50 2024 + Commit: Sam James gentoo org> CommitDate: Thu Feb 1 23:52:30 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e5d35a2 kernel-2.eclass: require real bison & flex This reverts commit 57a9b506597e766521a5633898d33fef125ecd5b and commit bd3dc0379262bedb0bb301df1b9c82442835be3e. GNU Bison is at least needed, unclear about flex vs reflex, but let's say flex for now as the kernel docs say it (most of the time, reflex does work in place of flex, but not checked so let's be safe). Closes: https://bugs.gentoo.org/922823 Signed-off-by: Sam James gentoo.org> eclass/kernel-2.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass index a0574e076740..55b59fd9e90f 100644 --- a/eclass/kernel-2.eclass +++ b/eclass/kernel-2.eclass @@ -656,9 +656,9 @@ if [[ ${ETYPE} == sources ]]; then app-alternatives/cpio dev-lang/perl app-alternatives/bc - app-alternatives/yacc - app-alternatives/lex dev-build/make + sys-devel/bison + sys-devel/flex >=sys-libs/ncurses-5.2 virtual/libelf virtual/pkgconfig
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 5f3f5035fe716de45c0e0c42e26e2df5528a5b05 Author: Sam James gentoo org> AuthorDate: Thu Feb 1 23:49:50 2024 + Commit: Sam James gentoo org> CommitDate: Thu Feb 1 23:52:31 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f3f5035 kernel-build.eclass: require real bison & flex This reverts commit 486f12612d840bf4efbd324afdab59a98dd27fce. Note that it appears to have been wrong for yacc for quite a while, as we previously depended on virtual/yacc, even though the kernel looks for bison... GNU Bison is at least needed, unclear about flex vs reflex, but let's say flex for now as the kernel docs say it (most of the time, reflex does work in place of flex, but not checked so let's be safe). Closes: https://bugs.gentoo.org/922823 Signed-off-by: Sam James gentoo.org> eclass/kernel-build.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass index 841981a6ad45..14a6002ea5b5 100644 --- a/eclass/kernel-build.eclass +++ b/eclass/kernel-build.eclass @@ -39,9 +39,9 @@ BDEPEND=" ${PYTHON_DEPS} app-alternatives/cpio app-alternatives/bc - app-alternatives/lex + sys-devel/bison + sys-devel/flex virtual/libelf - app-alternatives/yacc arm? ( sys-apps/dtc ) arm64? ( sys-apps/dtc ) riscv? ( sys-apps/dtc )
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: e8e423d9c7af0af7b0f6b4e937c6456f6e004e44 Author: Sam James gentoo org> AuthorDate: Thu Feb 1 19:21:35 2024 + Commit: Sam James gentoo org> CommitDate: Thu Feb 1 19:21:35 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8e423d9 toolchain.eclass: delete libstdc++exp.la too Reported by negril. Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 1 + 1 file changed, 1 insertion(+) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index a6925fa1c8b7..1679a3d3a366 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -2003,6 +2003,7 @@ toolchain_src_install() { '(' \ -name libstdc++.la -o \ -name libstdc++fs.la -o \ + -name libstdc++exp.la -o \ -name libsupc++.la -o \ -name libcc1.la -o \ -name libcc1plugin.la -o \
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 541088baec1ffcb943426333891a88c8935c64a6 Author: Michał Górny gentoo org> AuthorDate: Tue Jan 30 16:40:23 2024 + Commit: Michał Górny gentoo org> CommitDate: Wed Jan 31 13:59:19 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=541088ba cargo.eclass: Output only the first crate URI when PKGBUMPING Modify cargo_set_crate_uris to output only the first crate URI when PKGBUMPING is set for the current ebuild. This makes pkgdiff-mg much faster on Rust packages, as it does not have to fetch all the hundreds of crates that aren't part of the diff anyway. This is an improved version of 92001837418f3a50e6571c0f533520b42f90d488, as the original attempted not to output any URIs, and therefore could create empty groups in SRC_URI that are invalid. Signed-off-by: Michał Górny gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/35097 Signed-off-by: Michał Górny gentoo.org> eclass/cargo.eclass | 5 + 1 file changed, 5 insertions(+) diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass index 3bdbb5e3ec64..0f2da982f60c 100644 --- a/eclass/cargo.eclass +++ b/eclass/cargo.eclass @@ -193,6 +193,11 @@ _cargo_set_crate_uris() { fi url="https://crates.io/api/v1/crates/${name}/${version}/download -> ${name}-${version}.crate" CARGO_CRATE_URIS+="${url} " + + # when invoked by pkgbump, avoid fetching all the crates + # we just output the first one, to avoid creating empty groups + # in SRC_URI + [[ ${PKGBUMPING} == ${PVR} ]] && return done if declare -p GIT_CRATES &>/dev/null; then
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 805010c13bcb0c27a1dcda2aca04133460c0e8e1 Author: Michał Górny gentoo org> AuthorDate: Tue Jan 30 20:17:52 2024 + Commit: Michał Górny gentoo org> CommitDate: Tue Jan 30 21:21:24 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=805010c1 llvm.org.eclass: Remove 18.0.0 snapshots Signed-off-by: Michał Górny gentoo.org> eclass/llvm.org.eclass | 9 - 1 file changed, 9 deletions(-) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 6999d3fb6fe5..50bbd26301f4 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -75,15 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then 19.0.0_pre20240127) EGIT_COMMIT=1f13203029333ac99cc9844b8b6915aae3fc0902 ;; - 18.0.0_pre20240120) - EGIT_COMMIT=9eb0f86c279f40a792ec27bf0e9b491b8c90a640 - ;; - 18.0.0_pre20240113) - EGIT_COMMIT=8d817f6479a5df874028a8b40fd30aecd3479005 - ;; - 18.0.0_pre20240106) - EGIT_COMMIT=a085402ef54379758e6c996dbaedfcb92ad222b5 - ;; *) die "Unknown snapshot: ${PV}" ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: b5a162f8b12688094165a3bdb995dac394bb7ac6 Author: Florian Schmaus gentoo org> AuthorDate: Tue Jan 30 10:48:12 2024 + Commit: Florian Schmaus gentoo org> CommitDate: Tue Jan 30 11:28:31 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5a162f8 eclass: update texlive eclasses for texlive 2023 Signed-off-by: Florian Schmaus gentoo.org> eclass/texlive-common.eclass | 128 +-- eclass/texlive-module.eclass | 77 +- 2 files changed, 124 insertions(+), 81 deletions(-) diff --git a/eclass/texlive-common.eclass b/eclass/texlive-common.eclass index f43d10926857..fab6ff66ecd5 100644 --- a/eclass/texlive-common.eclass +++ b/eclass/texlive-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: texlive-common.eclass @@ -6,7 +6,7 @@ # t...@gentoo.org # @AUTHOR: # Original Author: Alexis Ballier -# @SUPPORTED_EAPIS: 7 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: Provide various functions used by both texlive-core and texlive modules # @DESCRIPTION: # Purpose: Provide various functions used by both texlive-core and texlive @@ -15,53 +15,83 @@ # Note that this eclass *must* not assume the presence of any standard tex too case ${EAPI} in - 7) inherit eapi8-dosym ;; + 7) + inherit eapi8-dosym + ;; + 8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac if [[ -z ${_TEXLIVE_COMMON_ECLASS} ]]; then _TEXLIVE_COMMON_ECLASS=1 -TEXMF_PATH=/usr/share/texmf -TEXMF_DIST_PATH=/usr/share/texmf-dist -TEXMF_VAR_PATH=/var/lib/texmf +# @ECLASS_VARIABLE: CTAN_MIRROR_URL +# @USER_VARIABLE +# @DESCRIPTION: +# This variable can be used to set the CTAN mirror that will be used to fetch +# CTAN artifacts. Note that this mirror is usually only used as fallback +# in case the Gentoo mirrors do not hold the requested files. +# +# Only Gentoo TeX developers may want to set this. +# +# Example: +# @CODE +# CTAN_MIRROR_URL='https://ftp.fau.de/ctan/' emerge -1v app-text/texlive-core +# @CODE +: "${CTAN_MIRROR_URL:="https://mirrors.ctan.org"}; # @FUNCTION: texlive-common_handle_config_files # @DESCRIPTION: # Has to be called in src_install after having installed the files in ${D} -# This function will move the relevant files to /etc/texmf and symling them +# This function will move the relevant files to /etc/texmf and symlink them # from their original location. This is to allow easy update of texlive's -# configuration - +# configuration. +# Called by app-text/texlive-core and texlive-module.eclass. texlive-common_handle_config_files() { + local texmf_path + # Starting with TeX Live 2023, we install in texmf-dist, where a + # distribution-provided TeX Live installation is supposed to be, + # instead of texmf. + if ver_test -ge 2023; then + texmf_path=/usr/share/texmf-dist + else + texmf_path=/usr/share/texmf + fi + # Handle config files properly - [[ -d ${ED}${TEXMF_PATH} ]] || return - cd "${ED}${TEXMF_PATH}" || die + [[ -d ${ED}${texmf_path} ]] || return + cd "${ED}${texmf_path}" || die while read -r f; do - if [[ ${f#*config} != ${f} || ${f#doc} != ${f} || ${f#source} != ${f} || ${f#tex} != ${f} ]] ; then + if [[ ${f#*config} != "${f}" || ${f#doc} != "${f}" || ${f#source} != "${f}" || ${f#tex} != "${f}" ]] ; then continue fi - dodir /etc/texmf/$(dirname ${f}).d - einfo "Moving (and symlinking) ${EPREFIX}${TEXMF_PATH}/${f} to ${EPREFIX}/etc/texmf/$(dirname ${f}).d" - mv "${ED}/${TEXMF_PATH}/${f}" "${ED}/etc/texmf/$(dirname ${f}).d" || die "mv ${f} failed." - dosym8 -r /etc/texmf/$(dirname ${f}).d/$(basename ${f}) ${TEXMF_PATH}/${f} - done < <(find -name '*.cnf' -type f -o -name '*.cfg' -type f | sed -e "s:\./::g") + local rel_dir + rel_dir="$(dirname "${f}")" + + dodir "/etc/texmf/${rel_dir}.d" + einfo "Moving (and symlinking) ${EPREFIX}${texmf_path}/${f} to ${EPREFIX}/etc/texmf/${rel_dir}.d" + mv "${ED}/${texmf_path}/${f}" "${ED}/etc/texmf/${rel_dir}.d" || die "mv ${f} failed." + + local dosym=dosym + [[ ${EAPI} == 7 ]] && dosym=dosym8 + ${dosym} -r "/etc/texmf/${rel_dir}.d/$(basename "${f}")" "${texmf_path}/${f}" + done < <(find . -name '*.cnf' -type f -o -name '*.cfg' -type f | sed -e "s:\./::g") } # @FUNCTION: texlive-common_is_file_present_in_texmf # @DESCRIPTION: # Return if a file is present in the texmf tree # Call it from the directory containing texmf and texmf-dist - +# Called by app-text/texlive-core.
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: b1f74da11016a3c872f250983cd5f9d06f181708 Author: Andrew Ammerlaan gentoo org> AuthorDate: Mon Jan 29 09:58:11 2024 + Commit: Andrew Ammerlaan gentoo org> CommitDate: Tue Jan 30 11:08:45 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1f74da1 linux-mod-r1.eclass: warn if KV does not match virtual/dist-kernel We have no mechanism to ensure that we build the kernel modules for the same kernel version as the version we will record in the virtual/dist-kernel subslot dependency. This does not fix this problem, but it does add a warning to ensure users are aware that, for example, built binpkgs are going to have wrong dependency metadata. Bug: https://bugs.gentoo.org/923025 Signed-off-by: Andrew Ammerlaan gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/35066 Signed-off-by: Andrew Ammerlaan gentoo.org> eclass/linux-mod-r1.eclass | 20 +++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass index 67a4b64eb481..8d384c2b30c8 100644 --- a/eclass/linux-mod-r1.eclass +++ b/eclass/linux-mod-r1.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: linux-mod-r1.eclass @@ -650,6 +650,24 @@ _modules_prepare_kernel() { fi linux-info_pkg_setup + + if use dist-kernel && + ! has_version "~virtual/dist-kernel-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}" + then + ewarn + ewarn "The kernel modules in ${CATEGORY}/${PN} are being built for" + ewarn "kernel version ${KV_FULL}. But this does not match the" + ewarn "installed version of virtual/dist-kernel." + ewarn + ewarn "If this is not intentional, the problem may be corrected by" + ewarn "using \"eselect kernel\" to set the default kernel version to" + ewarn "the same version as the installed version of virtual/dist-kernel." + ewarn + ewarn "If the distribution kernel is being downgraded, ensure that" + ewarn "virtual/dist-kernel is also downgraded to the same version" + ewarn "before rebuilding external kernel modules." + ewarn + fi } # @FUNCTION: _modules_prepare_sign
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 0358f341afa1305c79a410fb76540b1a37c5f619 Author: Michał Górny gentoo org> AuthorDate: Sat Jan 27 15:17:47 2024 + Commit: Michał Górny gentoo org> CommitDate: Sat Jan 27 20:33:05 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0358f341 llvm.org.eclass: Add 19.0.0_pre20240127 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 0ecbbe7e942c..6999d3fb6fe5 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_pre20240127) + EGIT_COMMIT=1f13203029333ac99cc9844b8b6915aae3fc0902 + ;; 18.0.0_pre20240120) EGIT_COMMIT=9eb0f86c279f40a792ec27bf0e9b491b8c90a640 ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 21e8df74b41639435192141d14f9f071232290ef Author: Sam James gentoo org> AuthorDate: Sat Jan 27 17:14:50 2024 + Commit: Sam James gentoo org> CommitDate: Sat Jan 27 17:18:27 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21e8df74 Revert "flag-o-matic.eclass: allow further MIPS errata flags" This reverts commit cf366abd1bd50a33755734bbfb8c0e8a49a5480e. This reverts commit fad75a344cbaada57ae490c3e8f88cdd5b35dadc. There's a bug in gas where it messes up labels in the presence of some of these errata flags. Bug: https://gcc.gnu.org/PR112782 Bug: https://sourceware.org/PR13509 Closes: https://bugs.gentoo.org/921104 Signed-off-by: Sam James gentoo.org> eclass/flag-o-matic.eclass | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass index 500ceb5941a8..0c75fab185df 100644 --- a/eclass/flag-o-matic.eclass +++ b/eclass/flag-o-matic.eclass @@ -90,7 +90,7 @@ _setup-allowed-flags() { '-fdiagnostics*' '-fplugin*' '-W*' -w - # CPPFLAGS and LDFLAGS (TODO: Allow -Wa,*?) + # CPPFLAGS and LDFLAGS '-[DUILR]*' '-Wl,*' # Linker choice flag @@ -124,10 +124,7 @@ _setup-allowed-flags() { -mfix-24k -mno-fix-24k -mfix-r4000 -mno-fix-r4000 -mfix-r4400 -mno-fix-r4400 -mfix-r5900 -mno-fix-r5900 -mfix-rm7000 -mno-fix-rm7000 -mfix-r9500 -mno-fix-r9500 - -mfix-r1 -mno-fix-r1 -mfix-vr4120 -mno-fix-vr4120 - -mfix-vr4130 -mfix-sb1 -mno-fix-sb1 - '-Wa,-mfix-loongson2f-nop' - + -mfix-r1 -mno-fix-r1 '-mr10k-cache-barrier=*' -mthumb -marm # needed for arm64 (and in particular SCS)
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: c5f7cb6c9cebcb3551129940b24f2377de503702 Author: Michael Orlitzky gentoo org> AuthorDate: Tue Jan 23 17:50:25 2024 + Commit: Michael Orlitzky gentoo org> CommitDate: Wed Jan 24 15:54:40 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5f7cb6c gap-pkg.eclass: enable pipefail when piping tests through tee In src_test(), we are running, ${gapcmd} | tee test-suite.log to work around a terminal corruption issue in dev-gap/browse. This pipe however has the unfortunate side effect of hiding failures in ${gapcmd} behind the success of tee. To fix that, we enable pipefail for the duration of the command above. Signed-off-by: Michael Orlitzky gentoo.org> eclass/gap-pkg.eclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass index 89c158674b0f..e242cc92e8a3 100644 --- a/eclass/gap-pkg.eclass +++ b/eclass/gap-pkg.eclass @@ -231,8 +231,10 @@ gap-pkg_src_test() { # The "browse" package is however smart enough to figure out when # stdout is not a tty, and avoids breaking it in that case. So by # piping to tee, we encourage it not to do anything too crazy. + eshopts_push -o pipefail ${gapcmd} | tee test-suite.log \ || die "test suite failed, see test-suite.log" + eshopts_pop } # @ECLASS_VARIABLE: GAP_PKG_EXTRA_INSTALL
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: e2f1e46675c6273ec8f2945f2ac83fd57725833d Author: Andrew Ammerlaan gentoo org> AuthorDate: Wed Jan 24 14:34:29 2024 + Commit: Andrew Ammerlaan gentoo org> CommitDate: Wed Jan 24 14:34:29 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2f1e466 kernel-install.eclass: drop sys-kernel/installkernel-systemd Signed-off-by: Andrew Ammerlaan gentoo.org> eclass/kernel-install.eclass | 16 +++- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass index 2b6e80aee571..78a498000790 100644 --- a/eclass/kernel-install.eclass +++ b/eclass/kernel-install.eclass @@ -62,17 +62,10 @@ RESTRICT+=" _IDEPEND_BASE=" !initramfs? ( - || ( - >=sys-kernel/installkernel-8 - >=sys-kernel/installkernel-systemd-2-r5 - ) + >=sys-kernel/installkernel-14 ) initramfs? ( - >=sys-kernel/dracut-059-r4 - || ( - >=sys-kernel/installkernel-8[dracut(-)] - >=sys-kernel/installkernel-systemd-2-r5 - ) + >=sys-kernel/installkernel-14[dracut(-)] ) " @@ -199,10 +192,7 @@ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then " IDEPEND=" generic-uki? ( - || ( - >=sys-kernel/installkernel-8[-dracut(-),-ukify(-)] - >=sys-kernel/installkernel-systemd-3 - ) + >=sys-kernel/installkernel-14[-dracut(-),-ukify(-)] ) !generic-uki? ( ${_IDEPEND_BASE}
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 2d437712f06ca05b0cf3f0a01fd81548f5fbe72b Author: Michał Górny gentoo org> AuthorDate: Wed Jan 24 11:11:00 2024 + Commit: Michał Górny gentoo org> CommitDate: Wed Jan 24 11:44:53 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d437712 llvm.eclass: Allow LLVM 19 Signed-off-by: Michał Górny gentoo.org> eclass/llvm.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass index 1f3ff1f61c2d..91cc68d966fe 100644 --- a/eclass/llvm.eclass +++ b/eclass/llvm.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: llvm.eclass @@ -78,7 +78,7 @@ DEPEND="!!sys-devel/llvm:0" # @INTERNAL # @DESCRIPTION: # Correct values of LLVM slots, newest first. -declare -g -r _LLVM_KNOWN_SLOTS=( {18..8} ) +declare -g -r _LLVM_KNOWN_SLOTS=( {19..8} ) # @ECLASS_VARIABLE: LLVM_ECLASS_SKIP_PKG_SETUP # @INTERNAL
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 9aa5370643f92645e3f62b59a3d284f9a62a565f Author: Sam James gentoo org> AuthorDate: Tue Jan 23 05:56:09 2024 + Commit: Sam James gentoo org> CommitDate: Tue Jan 23 05:58:14 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9aa53706 toolchain-autoconf.eclass: compress slotted info pages As noted in the bug, we install to a different location to accommodate slotting and hence do not benefit from the automagic compression for /usr/share/doc. Explicitly opt-in for the info pages we install. Bug: https://bugs.gentoo.org/922729 Signed-off-by: Sam James gentoo.org> eclass/toolchain-autoconf.eclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eclass/toolchain-autoconf.eclass b/eclass/toolchain-autoconf.eclass index 1eaf681496d4..330ec45dd7d1 100644 --- a/eclass/toolchain-autoconf.eclass +++ b/eclass/toolchain-autoconf.eclass @@ -115,6 +115,8 @@ toolchain-autoconf_src_install() { ln -s "$f" "${f/./-${PV}.}" || die done popd >/dev/null || die + + docompress "${TC_AUTOCONF_INFOPATH}" fi }
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 518f49f7400f3b68f7a4a87cf11273fa89daade1 Author: Sam James gentoo org> AuthorDate: Tue Jan 23 05:46:54 2024 + Commit: Sam James gentoo org> CommitDate: Tue Jan 23 05:58:13 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=518f49f7 toolchain.eclass: compress slotted man pages & info pages As noted in the bug, we install to a different location to accommodate slotting and hence do not benefit from the automagic compression for /usr/share/doc. Explicitly opt-in for the man pages & info pages we install. Bug: https://bugs.gentoo.org/922729 Signed-off-by: Sam James gentoo.org> eclass/toolchain.eclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index d56b369a0cbb..a6925fa1c8b7 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1975,6 +1975,8 @@ toolchain_src_install() { rm "${D}${DATAPATH}"/info/dir || die fi + docompress "${DATAPATH}"/{info,man} + # Prune empty dirs left behind find "${ED}" -depth -type d -delete 2>/dev/null
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: b0f68ff73d9041561855f6bdc232070f30ba5bfc Author: Sam James gentoo org> AuthorDate: Tue Jan 23 05:27:20 2024 + Commit: Sam James gentoo org> CommitDate: Tue Jan 23 05:28:04 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0f68ff7 toolchain.eclass: require >=sys-devel/gcc-config-2.11 for portageq fixes Bug: https://bugs.gentoo.org/906329 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 b6e741cceb72..d56b369a0cbb 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -355,7 +355,7 @@ if tc_has_feature d && tc_version_is_at_least 12.0 ; then BDEPEND+=" d? ( || ( sys-devel/gcc[d(-)] > S + SRC_URI essentials <<
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 3aae8830ef879057461fdf486344843a3c2851bf Author: Michael Orlitzky gentoo org> AuthorDate: Tue Jan 16 00:49:28 2024 + Commit: Michael Orlitzky gentoo org> CommitDate: Mon Jan 22 11:29:23 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3aae8830 gap-pkg.eclass: add sci-mathematics as a co-maintainer In case François and I get hit by the same bus, but mainly for symmetry: sci-mathematics is also listed as a co-maintainer on the individual dev-gap packages. Signed-off-by: Michael Orlitzky gentoo.org> eclass/gap-pkg.eclass | 1 + 1 file changed, 1 insertion(+) diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass index 956ce124f22f..89c158674b0f 100644 --- a/eclass/gap-pkg.eclass +++ b/eclass/gap-pkg.eclass @@ -5,6 +5,7 @@ # @MAINTAINER: # François Bissey # Michael Orlitzky +# Gentoo Mathematics Project # @AUTHOR: # François Bissey # Michael Orlitzky
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: e8a50793cdcc5c952757f595d6109df40258a09b Author: Michael Orlitzky gentoo org> AuthorDate: Sun Jan 14 22:46:59 2024 + Commit: Michael Orlitzky gentoo org> CommitDate: Mon Jan 22 11:29:22 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8a50793 gap-pkg.eclass: add two missing eclassdoc colons Signed-off-by: Michael Orlitzky gentoo.org> eclass/gap-pkg.eclass | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass index bcb8e2be23a8..956ce124f22f 100644 --- a/eclass/gap-pkg.eclass +++ b/eclass/gap-pkg.eclass @@ -234,9 +234,9 @@ gap-pkg_src_test() { || die "test suite failed, see test-suite.log" } -# @ECLASS_VARIABLE GAP_PKG_EXTRA_INSTALL +# @ECLASS_VARIABLE: GAP_PKG_EXTRA_INSTALL # @DEFAULT_UNSET -# @DESCRIPTION +# @DESCRIPTION: # A bash array of extra files and directories to install recursively at # the root of this package's directory tree. For example, if you have a # package that mostly follows the suggested layout (described in the @@ -248,8 +248,8 @@ gap-pkg_src_test() { # to install the data directory without having to override the entire # src_install phase. -# @ECLASS_VARIABLE GAP_PKG_HTML_DOCDIR -# @DESCRIPTION +# @ECLASS_VARIABLE: GAP_PKG_HTML_DOCDIR +# @DESCRIPTION: # The directory inside the tarball where the HTML documentation is # located. This is _usually_ "doc", which conforms to the suggested # GAPDoc layout and is the default value of this variable. Many
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 6ebe06967e45f52ced72e61528956fac14fbd104 Author: Michael Orlitzky gentoo org> AuthorDate: Sun Jan 14 22:34:44 2024 + Commit: Michael Orlitzky gentoo org> CommitDate: Mon Jan 22 11:29:22 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ebe0696 gap-pkg.eclass: default GAP_PKG_HTML_DOCDIR=doc at the top-level The default value for this variable was essentially being set inside gap-pkg_src_install, rather than at the top-level. We move it to the top level so that the eclass man page correctly documents it. Suggested-by: Michał Górny gentoo.org> Signed-off-by: Michael Orlitzky gentoo.org> eclass/gap-pkg.eclass | 22 ++ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass index 6f50444bfa12..bcb8e2be23a8 100644 --- a/eclass/gap-pkg.eclass +++ b/eclass/gap-pkg.eclass @@ -249,18 +249,18 @@ gap-pkg_src_test() { # src_install phase. # @ECLASS_VARIABLE GAP_PKG_HTML_DOCDIR -# @DEFAULT_UNSET # @DESCRIPTION # The directory inside the tarball where the HTML documentation is # located. This is _usually_ "doc", which conforms to the suggested -# GAPDoc layout and is where we look if this variable is left -# unset. Many packages however use a top-level "htm" directory -# instead. The named directory will be installed to gap-pkg_dir and -# symlinked to the usual location under /usr/share/doc. As a result, you -# should only use this for directories referenced by PackageInfo.g or by -# some other part of the package. HTML documentation whose location -# doesn't need to be known to the package at runtime should instead be -# installed with HTML_DOCS or a similar mechanism. +# GAPDoc layout and is the default value of this variable. Many +# packages however use a top-level "htm" directory instead. The named +# directory will be installed to gap-pkg_dir and symlinked to the usual +# location under /usr/share/doc. As a result, you should only use this +# for directories referenced by PackageInfo.g or by some other part of +# the package. HTML documentation whose location doesn't need to be +# known to the package at runtime should instead be installed with +# HTML_DOCS or a similar mechanism. +: "${GAP_PKG_HTML_DOCDIR:=doc}" # @FUNCTION: gap-pkg_src_install # @DESCRIPTION: @@ -332,9 +332,7 @@ gap-pkg_src_install() { fi # Install the HTML documentation. The procedure is basically the - # same as for the PDF docs. Default to "doc" as the location if - # nothing else was specified. - : "${GAP_PKG_HTML_DOCDIR:=doc}" + # same as for the PDF docs. if [[ -d "${GAP_PKG_HTML_DOCDIR}" ]]; then pushd "${GAP_PKG_HTML_DOCDIR}" > /dev/null || die
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: d5a95a07f5f05f205d4eb3f9f620fd9994ffc23a Author: Michael Orlitzky gentoo org> AuthorDate: Sun Jan 14 18:15:54 2024 + Commit: Michael Orlitzky gentoo org> CommitDate: Mon Jan 22 11:29:21 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5a95a07 gap-pkg.eclass: drop empty @USAGE tags Suggested-by: Michał Górny gentoo.org> Signed-off-by: Michael Orlitzky gentoo.org> eclass/gap-pkg.eclass | 7 --- 1 file changed, 7 deletions(-) diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass index cc80d5bf1ba8..b1fe9018cf3e 100644 --- a/eclass/gap-pkg.eclass +++ b/eclass/gap-pkg.eclass @@ -84,7 +84,6 @@ fi RDEPEND="${_GAP_PKG_RDEPEND}" # @FUNCTION: gap-pkg_dir -# @USAGE: # @DESCRIPTION: # The directory into which the gap package should be installed. The # accepted current location is /usr/$(get_libdir)/gap/pkg, but @@ -95,7 +94,6 @@ gap-pkg_dir() { # @FUNCTION: _gap-pkg_gaproot # @INTERNAL -# @USAGE: # @DESCRIPTION: # The directory containing sysinfo.gap. This is frequently passed to GAP # packages via ./configure --with-gaproot or as a positional argument to @@ -124,7 +122,6 @@ gap-pkg_econf() { } # @FUNCTION: gap-pkg_src_configure -# @USAGE: # @DESCRIPTION: # Handle both autoconf configure scripts and the hand-written ones used # by many GAP packages. We determine which one we're dealing with by @@ -149,7 +146,6 @@ gap-pkg_src_configure() { } # @FUNCTION: gap-pkg_src_compile -# @USAGE: # @DESCRIPTION: # The default src_compile with the addition of V=1 to emake. The # Makefile.gappkg used to build most C packages defaults to a quiet @@ -161,7 +157,6 @@ gap-pkg_src_compile() { } # @FUNCTION: gap-pkg_enable_tests -# @USAGE: # @DESCRIPTION: # Amend IUSE, RESTRICT, and BDEPEND for a package with a test suite. # This is modeled on similar functions in the distutils-r1 and @@ -180,7 +175,6 @@ gap-pkg_enable_tests() { } # @FUNCTION: gap-pkg_src_test -# @USAGE: # @DESCRIPTION: # Run this package's test suite if it has one. The GAP TestPackage # function is the standard way to do this, but it does rely on the @@ -266,7 +260,6 @@ gap-pkg_src_test() { # installed with HTML_DOCS or a similar mechanism. # @FUNCTION: gap-pkg_src_install -# @USAGE: # @DESCRIPTION: # Install a GAP package that follows the suggested layout, #
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f2a9af36a8fa484a62b116d322a4c483a05407e6 Author: Michael Orlitzky gentoo org> AuthorDate: Sun Jan 14 19:14:25 2024 + Commit: Michael Orlitzky gentoo org> CommitDate: Mon Jan 22 11:29:22 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2a9af36 gap-pkg.eclass: use nullglob instead of working around it Suggested-by: Michał Górny gentoo.org> Signed-off-by: Michael Orlitzky gentoo.org> eclass/gap-pkg.eclass | 26 +++--- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass index ecb73a9e27d7..6f50444bfa12 100644 --- a/eclass/gap-pkg.eclass +++ b/eclass/gap-pkg.eclass @@ -46,6 +46,9 @@ case ${EAPI} in *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac +# For eshopts_push and eshopts_pop +inherit estack + # Some packages have additional homepages, but pretty much every GAP # package can be found at this URL. HOMEPAGE="https://www.gap-system.org/Packages/${PN}.html; @@ -292,6 +295,9 @@ gap-pkg_src_test() { gap-pkg_src_install() { einstalldocs + # So we don't have to "test -f" on the result of every glob. + eshopts_push -s nullglob + # Install the "normal" documentation from the doc directory. This # includes anything the interactive GAP help might need in addition # to the documentation intended for direct user consumption. @@ -310,8 +316,7 @@ gap-pkg_src_install() { # the bibliography is in BibXMLext format, but you may wind up # with some additional GAPDoc (XML) source files as a result. for f in *.{bib,lab,six,tex,txt,xml}; do - # The -f test avoids needing nullglob when no files match. - [[ -f "${f}" ]] && doins "${f}" + doins "${f}" done # The PDF docs are also potentially used by the interface, since @@ -319,10 +324,8 @@ gap-pkg_src_install() { # then afterwards we symlink them to their proper Gentoo # locations for f in *.pdf; do - if [[ -f "${f}" ]]; then - doins "${f}" - dosym -r "${docdir}/${f}" "/usr/share/doc/${PF}/${f}" - fi + doins "${f}" + dosym -r "${docdir}/${f}" "/usr/share/doc/${PF}/${f}" done popd > /dev/null || die @@ -340,10 +343,8 @@ gap-pkg_src_install() { # See above for f in *.{htm,html,css,js,png}; do - if [[ -f "${f}" ]]; then - doins "${f}" - dosym -r "${docdir}/${f}" "/usr/share/doc/${PF}/html/${f}" - fi + doins "${f}" + dosym -r "${docdir}/${f}" "/usr/share/doc/${PF}/html/${f}" done popd > /dev/null || die @@ -352,9 +353,12 @@ gap-pkg_src_install() { # Any GAP source files that live in the top-level directory. insinto $(gap-pkg_dir) for f in *.g; do - [[ -f "${f}" ]] && doins "${f}" + doins "${f}" done + # We're done globbing + eshopts_pop + # The gap and lib dirs that usually also contain GAP code. [[ -d gap ]] && doins -r gap [[ -d lib ]] && doins -r lib
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 142d9879573b94602a1656fa24ba96691ca290f0 Author: Michael Orlitzky gentoo org> AuthorDate: Sun Jan 14 18:50:25 2024 + Commit: Michael Orlitzky gentoo org> CommitDate: Mon Jan 22 11:29:22 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=142d9879 gap-pkg.eclass: improve comment about which docs we install The comment listing the file extensions to be installed as documentation was outdated, as such things are doomed to be. It has been changed to less precise and more accurate. Suggested-by: Max Horn mathematik.uni-kl.de> Signed-off-by: Michael Orlitzky gentoo.org> eclass/gap-pkg.eclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass index b1fe9018cf3e..ecb73a9e27d7 100644 --- a/eclass/gap-pkg.eclass +++ b/eclass/gap-pkg.eclass @@ -292,7 +292,9 @@ gap-pkg_src_test() { gap-pkg_src_install() { einstalldocs - # Install the "normal" documentation: pdf, six, and txt files under doc/ + # Install the "normal" documentation from the doc directory. This + # includes anything the interactive GAP help might need in addition + # to the documentation intended for direct user consumption. if [[ -d doc ]]; then pushd doc > /dev/null || die
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 13f4cc8bf0f0605df290b67580a1c3c1816fd0a6 Author: Michael Orlitzky gentoo org> AuthorDate: Sun Jan 14 01:20:03 2024 + Commit: Michael Orlitzky gentoo org> CommitDate: Mon Jan 22 11:29:19 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13f4cc8b gap-pkg.eclass: don't quote argument to "case" Suggested-by: Michał Górny gentoo.org> Signed-off-by: Michael Orlitzky gentoo.org> eclass/gap-pkg.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass index 8dc0e6e55b01..5f91e2c2a0f1 100644 --- a/eclass/gap-pkg.eclass +++ b/eclass/gap-pkg.eclass @@ -56,7 +56,7 @@ HOMEPAGE="https://www.gap-system.org/Packages/${PN}.html; # four somewhat differently since they are implicit dependencies of # everything else in the GAP ecosystem. _GAP_PKG_IS_REQUIRED=no -case "${PN}" in +case ${PN} in gapdoc|smallgrp|primgrp|transgrp) _GAP_PKG_IS_REQUIRED=yes ;;
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 62fae45cf187e53efea046d8036bcd65b75c858e Author: Michael Orlitzky gentoo org> AuthorDate: Sun Jan 14 01:19:22 2024 + Commit: Michael Orlitzky gentoo org> CommitDate: Mon Jan 22 11:29:19 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62fae45c gap-pkg.eclass: remove leading whitespace Suggested-by: Michał Górny gentoo.org> Signed-off-by: Michael Orlitzky gentoo.org> eclass/gap-pkg.eclass | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass index fb935c6f1044..8dc0e6e55b01 100644 --- a/eclass/gap-pkg.eclass +++ b/eclass/gap-pkg.eclass @@ -58,8 +58,8 @@ HOMEPAGE="https://www.gap-system.org/Packages/${PN}.html; _GAP_PKG_IS_REQUIRED=no case "${PN}" in gapdoc|smallgrp|primgrp|transgrp) -_GAP_PKG_IS_REQUIRED=yes -;; + _GAP_PKG_IS_REQUIRED=yes + ;; *) ;; esac @@ -75,11 +75,11 @@ _GAP_PKG_RDEPEND="sci-mathematics/gap" # The four "required" packages depend only on GAP itself, while every # other package depends (also) on the four required ones. if [[ "${_GAP_PKG_IS_REQUIRED}" = "no" ]]; then - _GAP_PKG_RDEPEND+=" - dev-gap/gapdoc - dev-gap/smallgrp - dev-gap/primgrp - dev-gap/transgrp" + _GAP_PKG_RDEPEND+=" + dev-gap/gapdoc + dev-gap/smallgrp + dev-gap/primgrp + dev-gap/transgrp" fi RDEPEND="${_GAP_PKG_RDEPEND}"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 873ff6bc8f5bb2016f0108d6aca7ac9a5f496bd3 Author: Michael Orlitzky gentoo org> AuthorDate: Sun Jan 14 01:22:18 2024 + Commit: Michael Orlitzky gentoo org> CommitDate: Mon Jan 22 11:29:20 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=873ff6bc gap-pkg.eclass: ensure that "required" packages have the right ${CATEGORY} Suggested-by: Michał Górny gentoo.org> Signed-off-by: Michael Orlitzky gentoo.org> eclass/gap-pkg.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass index 5f91e2c2a0f1..0423c9e54ef2 100644 --- a/eclass/gap-pkg.eclass +++ b/eclass/gap-pkg.eclass @@ -56,8 +56,8 @@ HOMEPAGE="https://www.gap-system.org/Packages/${PN}.html; # four somewhat differently since they are implicit dependencies of # everything else in the GAP ecosystem. _GAP_PKG_IS_REQUIRED=no -case ${PN} in -gapdoc|smallgrp|primgrp|transgrp) +case ${CATEGORY}/${PN} in +dev-gap/gapdoc|dev-gap/smallgrp|dev-gap/primgrp|dev-gap/transgrp) _GAP_PKG_IS_REQUIRED=yes ;; *)
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: bb3db05a5fb22e013893777ed5ad1cb03e138e99 Author: Michael Orlitzky gentoo org> AuthorDate: Sun Jan 14 15:51:21 2024 + Commit: Michael Orlitzky gentoo org> CommitDate: Mon Jan 22 11:29:20 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb3db05a gap-pkg.eclass: drop internal _gap-pkg_gaparch function Since removing the --bindir and --libdir flags from the default econf, this function is unused. Signed-off-by: Michael Orlitzky gentoo.org> eclass/gap-pkg.eclass | 12 1 file changed, 12 deletions(-) diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass index 0423c9e54ef2..cc80d5bf1ba8 100644 --- a/eclass/gap-pkg.eclass +++ b/eclass/gap-pkg.eclass @@ -108,18 +108,6 @@ _gap-pkg_gaproot() { echo "${ESYSROOT}/usr/$(get_libdir)/gap" } -# @FUNCTION: _gap-pkg_gaparch -# @INTERNAL -# @USAGE: -# @DESCRIPTION: -# Return the variable $GAParch from sysinfo.gap. GAP packages put their -# executables and libraries in bin/$GAParch, and to accomplish that, we -# sometimes need to pass $GAParch to the build system. -_gap-pkg_gaparch() { - # Use a subshell so we don't pollute the environment. - ( . $(_gap-pkg_gaproot)/sysinfo.gap && echo "${GAParch}" ) -} - # @FUNCTION: gap-pkg_econf # @USAGE: [extra econf args] # @DESCRIPTION:
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 189ab328b042543c26d71ce5494d3819d6d8de8d Author: Michael Orlitzky gentoo org> AuthorDate: Sun Jan 14 01:14:47 2024 + Commit: Michael Orlitzky gentoo org> CommitDate: Mon Jan 22 11:29:19 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=189ab328 gap-pkg.eclass: add missing die Suggested-by: Michał Górny gentoo.org> Signed-off-by: Michael Orlitzky gentoo.org> eclass/gap-pkg.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/gap-pkg.eclass b/eclass/gap-pkg.eclass index f575b2e06e22..fb935c6f1044 100644 --- a/eclass/gap-pkg.eclass +++ b/eclass/gap-pkg.eclass @@ -393,7 +393,7 @@ gap-pkg_src_install() { # usual "find" command doesn't work here because occasionally we # find *.la files in GAP packages that are not libtool archives # and should not be deleted. - find "${ED%/}$(gap-pkg_dir)/bin" -type f -name '*.la' -delete + find "${ED%/}$(gap-pkg_dir)/bin" -type f -name '*.la' -delete || die fi }
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: c1eab3b6807207591cdd94c3643435f31d91f7b8 Author: Michael Mair-Keimberger levelnine at> AuthorDate: Sat Jan 13 15:48:44 2024 + Commit: Conrad Kostecki gentoo org> CommitDate: Sat Jan 20 21:21:47 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1eab3b6 eclass/freedict: use HTTPS Signed-off-by: Michael Mair-Keimberger levelnine.at> Closes: https://github.com/gentoo/gentoo/pull/34785 Signed-off-by: Conrad Kostecki gentoo.org> eclass/freedict.eclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eclass/freedict.eclass b/eclass/freedict.eclass index 7a49a5f19778..b649afc7c1af 100644 --- a/eclass/freedict.eclass +++ b/eclass/freedict.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: freedict.eclass @@ -28,8 +28,8 @@ FREEDICT_P=${PN/freedict-/} [[ ${FORLANG} ]] && die "FORLANG is banned, set DESCRIPTION instead" [[ ${TOLANG} ]] && die "TOLANG is banned, set DESCRIPTION instead" -HOMEPAGE="http://freedict.sourceforge.net/en/; -SRC_URI="http://freedict.sourceforge.net/download/linux/${FREEDICT_P}.tar.gz; +HOMEPAGE="https://freedict.sourceforge.net/en/; +SRC_URI="https://freedict.sourceforge.net/download/linux/${FREEDICT_P}.tar.gz; LICENSE="GPL-2+" SLOT="0"
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f007377cffdcdc04c349494481be5dc01ce313f9 Author: Volkmar W. Pogatzki pogatzki net> AuthorDate: Fri Feb 17 08:52:52 2023 + Commit: Florian Schmaus gentoo org> CommitDate: Sat Jan 20 10:08:07 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f007377c java-utils-2.eclass: default to default_src_prepare for future EAPI Presently patches from a PATCHES array are not getting applied unless "default" or "eapply_user" is set in the ebuild. In cases where nothing else needs to be prepared it still needs src_prepare in the ebuild src_prepare() { default } With this change, starting from EAPI 9 this will no longer be needed. In cases where any other changes are done in the prepare phase it would only need java-pkg-2_src_prepare be added: src_prepare() { java-pkg-2_src_prepare cp, rm, mv, sed or other changes } Bug: https://bugs.gentoo.org/780585 Signed-off-by: Volkmar W. Pogatzki pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/34897 Signed-off-by: Florian Schmaus gentoo.org> eclass/java-utils-2.eclass | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass index 31f7932a16fd..47123287ce70 100644 --- a/eclass/java-utils-2.eclass +++ b/eclass/java-utils-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-utils-2.eclass @@ -1972,7 +1972,10 @@ etestng() { # src_prepare Searches for bundled jars # Don't call directly, but via java-pkg-2_src_prepare! java-utils-2_src_prepare() { - eapply_user + case ${EAPI} in + [678]) eapply_user ;; + *) default_src_prepare ;; + esac # Check for files in JAVA_RM_FILES array. if [[ ${JAVA_RM_FILES[@]} ]]; then
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: d589f4e4bbd55b37de3871f1a2bf5e59a679d177 Author: Manuel Mommertz desy de> AuthorDate: Wed Jan 17 13:14:41 2024 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Jan 19 12:43:46 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d589f4e4 java-pkg-simple.eclass: cut possible prefix to allow integer comparison Signed-off-by: Manuel Mommertz desy.de> Signed-off-by: Miroslav Šulc gentoo.org> eclass/java-pkg-simple.eclass | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass index 7bd2599a142d..990b09f73c00 100644 --- a/eclass/java-pkg-simple.eclass +++ b/eclass/java-pkg-simple.eclass @@ -367,7 +367,8 @@ java-pkg-simple_src_compile() { # gather sources # if target < 9, we need to compile module-info.java separately # as this feature is not supported before Java 9 - if [[ $(java-pkg_get-target) -lt 9 ]]; then + local target="$(java-pkg_get-target)" + if [[ ${target#1.} -lt 9 ]]; then find "${JAVA_SRC_DIR[@]}" -name \*.java ! -name module-info.java > ${sources} moduleinfo=$(find "${JAVA_SRC_DIR[@]}" -name module-info.java) else @@ -382,7 +383,7 @@ java-pkg-simple_src_compile() { java-pkg-simple_getclasspath java-pkg-simple_prepend_resources ${classes} "${JAVA_RESOURCE_DIRS[@]}" - if [[ -n ${moduleinfo} ]] || [[ $(java-pkg_get-target) -lt 9 ]]; then + if [[ -n ${moduleinfo} ]] || [[ ${target#1.} -lt 9 ]]; then ejavac -d ${classes} -encoding ${JAVA_ENCODING}\ ${classpath:+-classpath ${classpath}} ${JAVAC_ARGS} @${sources} else @@ -528,7 +529,8 @@ java-pkg-simple_src_test() { # gathering sources for testing # if target < 9, we need to compile module-info.java separately # as this feature is not supported before Java 9 - if [[ $(java-pkg_get-target) -lt 9 ]]; then + local target="$(java-pkg_get-target)" + if [[ ${target#1.} -lt 9 ]]; then find "${JAVA_TEST_SRC_DIR[@]}" -name \*.java ! -name module-info.java > ${test_sources} moduleinfo=$(find "${JAVA_TEST_SRC_DIR[@]}" -name module-info.java) else @@ -537,7 +539,7 @@ java-pkg-simple_src_test() { # compile if [[ -s ${test_sources} ]]; then - if [[ -n ${moduleinfo} ]] || [[ $(java-pkg_get-target) -lt 9 ]]; then + if [[ -n ${moduleinfo} ]] || [[ ${target#1.} -lt 9 ]]; then ejavac -d ${classes} -encoding ${JAVA_ENCODING}\ ${classpath:+-classpath ${classpath}} ${JAVAC_ARGS} @${test_sources} else
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: f3004ab6ba4f86a4d38e6cc17e2300ec4e8c23a7 Author: Manuel Mommertz desy de> AuthorDate: Wed Jan 17 13:00:16 2024 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Jan 19 12:43:42 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f3004ab6 java-pkg-simple.eclass: make code related to java 9+ actually execute Signed-off-by: Manuel Mommertz desy.de> Signed-off-by: Miroslav Šulc gentoo.org> eclass/java-pkg-simple.eclass | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass index 97bad414afb7..7bd2599a142d 100644 --- a/eclass/java-pkg-simple.eclass +++ b/eclass/java-pkg-simple.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-pkg-simple.eclass @@ -367,7 +367,7 @@ java-pkg-simple_src_compile() { # gather sources # if target < 9, we need to compile module-info.java separately # as this feature is not supported before Java 9 - if [[ java-pkg_get-target -lt 9 ]]; then + if [[ $(java-pkg_get-target) -lt 9 ]]; then find "${JAVA_SRC_DIR[@]}" -name \*.java ! -name module-info.java > ${sources} moduleinfo=$(find "${JAVA_SRC_DIR[@]}" -name module-info.java) else @@ -382,7 +382,7 @@ java-pkg-simple_src_compile() { java-pkg-simple_getclasspath java-pkg-simple_prepend_resources ${classes} "${JAVA_RESOURCE_DIRS[@]}" - if [[ -n ${moduleinfo} ]] || [[ java-pkg_get-target -lt 9 ]]; then + if [[ -n ${moduleinfo} ]] || [[ $(java-pkg_get-target) -lt 9 ]]; then ejavac -d ${classes} -encoding ${JAVA_ENCODING}\ ${classpath:+-classpath ${classpath}} ${JAVAC_ARGS} @${sources} else @@ -528,7 +528,7 @@ java-pkg-simple_src_test() { # gathering sources for testing # if target < 9, we need to compile module-info.java separately # as this feature is not supported before Java 9 - if [[ java-pkg_get-target -lt 9 ]]; then + if [[ $(java-pkg_get-target) -lt 9 ]]; then find "${JAVA_TEST_SRC_DIR[@]}" -name \*.java ! -name module-info.java > ${test_sources} moduleinfo=$(find "${JAVA_TEST_SRC_DIR[@]}" -name module-info.java) else @@ -537,7 +537,7 @@ java-pkg-simple_src_test() { # compile if [[ -s ${test_sources} ]]; then - if [[ -n ${moduleinfo} ]] || [[ java-pkg_get-target -lt 9 ]]; then + if [[ -n ${moduleinfo} ]] || [[ $(java-pkg_get-target) -lt 9 ]]; then ejavac -d ${classes} -encoding ${JAVA_ENCODING}\ ${classpath:+-classpath ${classpath}} ${JAVAC_ARGS} @${test_sources} else
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 6b8564a70b0914325d4b41039012d6e639511e5d Author: Manuel Mommertz desy de> AuthorDate: Wed Jan 17 13:24:16 2024 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Jan 19 12:43:46 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b8564a7 java-pkg-simple.eclass: improve decision when to use --module-path Closes: https://bugs.gentoo.org/922157 Signed-off-by: Manuel Mommertz desy.de> Closes: https://github.com/gentoo/gentoo/pull/34866 Signed-off-by: Miroslav Šulc gentoo.org> eclass/java-pkg-simple.eclass | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass index 990b09f73c00..1a4bcb1b0a63 100644 --- a/eclass/java-pkg-simple.eclass +++ b/eclass/java-pkg-simple.eclass @@ -370,10 +370,10 @@ java-pkg-simple_src_compile() { local target="$(java-pkg_get-target)" if [[ ${target#1.} -lt 9 ]]; then find "${JAVA_SRC_DIR[@]}" -name \*.java ! -name module-info.java > ${sources} - moduleinfo=$(find "${JAVA_SRC_DIR[@]}" -name module-info.java) else find "${JAVA_SRC_DIR[@]}" -name \*.java > ${sources} fi + moduleinfo=$(find "${JAVA_SRC_DIR[@]}" -name module-info.java) # create the target directory mkdir -p ${classes} || die "Could not create target directory" @@ -383,7 +383,7 @@ java-pkg-simple_src_compile() { java-pkg-simple_getclasspath java-pkg-simple_prepend_resources ${classes} "${JAVA_RESOURCE_DIRS[@]}" - if [[ -n ${moduleinfo} ]] || [[ ${target#1.} -lt 9 ]]; then + if [[ -z ${moduleinfo} ]] || [[ ${target#1.} -lt 9 ]]; then ejavac -d ${classes} -encoding ${JAVA_ENCODING}\ ${classpath:+-classpath ${classpath}} ${JAVAC_ARGS} @${sources} else @@ -393,7 +393,7 @@ java-pkg-simple_src_compile() { fi # handle module-info.java separately as it needs at least JDK 9 - if [[ -n ${moduleinfo} ]]; then + if [[ -n ${moduleinfo} ]] && [[ ${target#1.} -lt 9 ]]; then if java-pkg_is-vm-version-ge "9" ; then local tmp_source=${JAVA_PKG_WANT_SOURCE} tmp_target=${JAVA_PKG_WANT_TARGET} @@ -532,14 +532,14 @@ java-pkg-simple_src_test() { local target="$(java-pkg_get-target)" if [[ ${target#1.} -lt 9 ]]; then find "${JAVA_TEST_SRC_DIR[@]}" -name \*.java ! -name module-info.java > ${test_sources} - moduleinfo=$(find "${JAVA_TEST_SRC_DIR[@]}" -name module-info.java) else find "${JAVA_TEST_SRC_DIR[@]}" -name \*.java > ${test_sources} fi + moduleinfo=$(find "${JAVA_TEST_SRC_DIR[@]}" -name module-info.java) # compile if [[ -s ${test_sources} ]]; then - if [[ -n ${moduleinfo} ]] || [[ ${target#1.} -lt 9 ]]; then + if [[ -z ${moduleinfo} ]] || [[ ${target#1.} -lt 9 ]]; then ejavac -d ${classes} -encoding ${JAVA_ENCODING}\ ${classpath:+-classpath ${classpath}} ${JAVAC_ARGS} @${test_sources} else @@ -550,7 +550,7 @@ java-pkg-simple_src_test() { fi # handle module-info.java separately as it needs at least JDK 9 - if [[ -n ${moduleinfo} ]]; then + if [[ -n ${moduleinfo} ]] && [[ ${target#1.} -lt 9 ]]; then if java-pkg_is-vm-version-ge "9" ; then local tmp_source=${JAVA_PKG_WANT_SOURCE} tmp_target=${JAVA_PKG_WANT_TARGET}
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 0249499c3c71fa77c0e9e4b88f312661d42c0794 Author: Patrick Lauer gentoo org> AuthorDate: Fri Jan 19 09:50:46 2024 + Commit: 罗百科 gentoo org> CommitDate: Fri Jan 19 09:51:51 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0249499c postgres.eclass: Drop postgresql:11 support Very EOL upstream. Signed-off-by: Patrick Lauer gentoo.org> eclass/postgres.eclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclass/postgres.eclass b/eclass/postgres.eclass index e10f2f7611ee..9bf84fe13118 100644 --- a/eclass/postgres.eclass +++ b/eclass/postgres.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: postgres.eclass @@ -27,7 +27,7 @@ _POSTGRES_ECLASS=1 # @DESCRIPTION: # List of versions to reverse sort POSTGRES_COMPAT slots -_POSTGRES_ALL_VERSIONS=( 16 15 14 13 12 11 ) +_POSTGRES_ALL_VERSIONS=( 16 15 14 13 12 )
[gentoo-commits] repo/gentoo:master commit in: eclass/
commit: 298c5096882846df2b215fede1c443f92aa5c6c6 Author: Michał Górny gentoo org> AuthorDate: Tue Jan 16 20:13:59 2024 + Commit: Michał Górny gentoo org> CommitDate: Wed Jan 17 07:40:59 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=298c5096 kernel-install.eclass: Compress kernel modules in parallel Closes: https://bugs.gentoo.org/922185 Signed-off-by: Michał Górny gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/34843 Signed-off-by: Michał Górny gentoo.org> eclass/kernel-install.eclass | 13 + 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass index 9ab96628b5e4..2b6e80aee571 100644 --- a/eclass/kernel-install.eclass +++ b/eclass/kernel-install.eclass @@ -50,7 +50,7 @@ case ${EAPI} in *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -inherit dist-kernel-utils mount-boot toolchain-funcs +inherit dist-kernel-utils mount-boot multiprocessing toolchain-funcs SLOT="${PV}" IUSE="+initramfs test" @@ -756,9 +756,14 @@ kernel-install_compress_modules() { if use modules-compress; then einfo "Compressing kernel modules ..." - # taken from scripts/Makefile.modinst - find "${ED}/lib" -name '*.ko' -exec \ - xz --check=crc32 --lzma2=dict=1MiB {} + || die + # xz options taken from scripts/Makefile.modinst + # we don't do 'xz -T' because it applies multithreading per file, + # so it works only for big files, and we have lots of small files + # instead + find "${ED}/lib" -name '*.ko' -print0 | + xargs -0 -P "$(makeopts_jobs)" -n 128 \ + xz --check=crc32 --lzma2=dict=1MiB + assert "Compressing kernel modules failed" fi }