* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-18 12:11 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2023-10-18 12:11 UTC (permalink / raw
To: gentoo-commits
commit: 83b08b7d9434e5829ddaee08562790a2d939fa99
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 17 12:38:00 2023 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Wed Oct 18 12:10:37 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83b08b7d
webapp.eclass: optimize webapp_serverowned() and inline webapp_strip_*()
Some ebuilds invoke webapp_serverowned() with -R, causing the eclass to
iterate over a large set of files. Within the iteration's body the
eclass forks multiple times to invoke the webapp_strip, which is very
inefficient and causes a huge slowdown.
This optimizes webapp_serverowned() by replacing the iteration and call
to the "strip" functions with a single equivalent invocation of find
to iterates all the files.
Furthermore, all remaining invocations of webapp_strip_*() are inlined.
Closes: https://bugs.gentoo.org/781860
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/webapp.eclass | 40 ++++++++++++++++------------------------
1 file changed, 16 insertions(+), 24 deletions(-)
diff --git a/eclass/webapp.eclass b/eclass/webapp.eclass
index 8bd8e2aef03e..5b091c84851f 100644
--- a/eclass/webapp.eclass
+++ b/eclass/webapp.eclass
@@ -96,21 +96,6 @@ webapp_check_installedat() {
${WEBAPP_CONFIG} --show-installed -h localhost -d "${INSTALL_DIR}" 2> /dev/null
}
-webapp_strip_appdir() {
- debug-print-function $FUNCNAME $*
- echo "${1#${MY_APPDIR}/}"
-}
-
-webapp_strip_d() {
- debug-print-function $FUNCNAME $*
- echo "${1#${D}}"
-}
-
-webapp_strip_cwd() {
- debug-print-function $FUNCNAME $*
- echo "${1/#.\///}"
-}
-
webapp_getinstalltype() {
debug-print-function $FUNCNAME $*
@@ -195,8 +180,11 @@ webapp_configfile() {
for m in "$@"; do
webapp_checkfileexists "${m}" "${D}"
- local my_file="$(webapp_strip_appdir "${m}")"
- my_file="$(webapp_strip_cwd "${my_file}")"
+ local my_file
+ # Strip appdir
+ my_file="${m#${MY_APPDIR}/}"
+ # Strip cwd
+ my_file="${my_file/#.\///}"
elog "(config) ${my_file}"
echo "${my_file}" >> "${D}/${WA_CONFIGLIST}"
@@ -249,8 +237,11 @@ _webapp_serverowned() {
debug-print-function $FUNCNAME $*
webapp_checkfileexists "${1}" "${D}"
- local my_file="$(webapp_strip_appdir "${1}")"
- my_file="$(webapp_strip_cwd "${my_file}")"
+ local my_file
+ # Strip appdir
+ my_file="${1#${MY_APPDIR}/}"
+ # Strip cwd
+ my_file="${my_file/#.\///}"
echo "${my_file}" >> "${D}/${WA_SOLIST}"
}
@@ -264,14 +255,15 @@ _webapp_serverowned() {
webapp_serverowned() {
debug-print-function $FUNCNAME $*
- local a m
+ local m
if [[ "${1}" == "-R" ]]; then
shift
for m in "$@"; do
- find "${D}${m}" | while read a; do
- a=$(webapp_strip_d "${a}")
- _webapp_serverowned "${a}"
- done
+ pushd "${D}${MY_APPDIR}" > /dev/null || die
+ # Strip appdir
+ m="${m#${MY_APPDIR}/}"
+ find "${m}" >> "${D}/${WA_SOLIST}" || die
+ popd > /dev/null || die
done
else
for m in "$@"; do
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-30 11:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-30 11:35 UTC (permalink / raw
To: gentoo-commits
commit: caac268d789d91d16960452a3d6466474acf0fa8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 29 16:14:54 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 11:32:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=caac268d
llvm-r2.eclass: add Polly_ROOT
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/39696
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-r2.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/llvm-r2.eclass b/eclass/llvm-r2.eclass
index 5fc39945875c..4dda9aedc7c6 100644
--- a/eclass/llvm-r2.eclass
+++ b/eclass/llvm-r2.eclass
@@ -428,6 +428,7 @@ llvm_chost_setup() {
export Clang_ROOT="${esysroot_prefix}"
export LLD_ROOT="${esysroot_prefix}"
export MLIR_ROOT="${esysroot_prefix}"
+ export Polly_ROOT="${esysroot_prefix}"
# satisfies llvm-config calls, e.g. from meson
export PATH="${T}/llvm-bin:${PATH}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-30 11:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-30 11:35 UTC (permalink / raw
To: gentoo-commits
commit: ba77142fd668fd93a03f188cf2bcc791624ca05b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 16 07:50:30 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 11:32:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba77142f
llvm-utils.eclass: Support -b/-d to llvm_prepend_path
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-utils.eclass | 27 ++++++++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)
diff --git a/eclass/llvm-utils.eclass b/eclass/llvm-utils.eclass
index 1ae3295484c8..b105e169fbc4 100644
--- a/eclass/llvm-utils.eclass
+++ b/eclass/llvm-utils.eclass
@@ -113,17 +113,38 @@ llvm_fix_tool_path() {
}
# @FUNCTION: llvm_prepend_path
-# @USAGE: <slot>
+# @USAGE: [-b|-d] <slot>
# @DESCRIPTION:
# Prepend the path to the specified LLVM slot to PATH variable,
# and reexport it.
+#
+# With no option or "-d", the path is prefixed by ESYSROOT. LLVM
+# dependencies should be in DEPEND then.
+#
+# With "-b" option, the path is prefixed by BROOT. LLVM dependencies
+# should be in BDEPEND then.
llvm_prepend_path() {
debug-print-function ${FUNCNAME} "$@"
- [[ ${#} -ne 1 ]] && die "Usage: ${FUNCNAME} <slot>"
+ local prefix
+ case ${1--d} in
+ -d)
+ prefix=${ESYSROOT}
+ shift
+ ;;
+ -b)
+ prefix=${BROOT}
+ shift
+ ;;
+ -*)
+ die "${FUNCNAME}: invalid option: ${1}"
+ ;;
+ esac
+
+ [[ ${#} -ne 1 ]] && die "Usage: ${FUNCNAME} [-b|-d] <slot>"
local slot=${1}
- local llvm_path=${ESYSROOT}/usr/lib/llvm/${slot}/bin
+ local llvm_path=${prefix}/usr/lib/llvm/${slot}/bin
local IFS=:
local split_path=( ${PATH} )
local new_path=()
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-30 11:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-30 11:35 UTC (permalink / raw
To: gentoo-commits
commit: c774f99101c5c940c92fea36061e838ce7514c3e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 16 10:24:07 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 11:32:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c774f991
llvm-r2.eclass: Add llvm_chost_setup, set CMake path variables
Add a llvm_chost_setup function that handles CHOST-specific setup.
Initially, this means setting CMake variables that control
`find_package()` lookups.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-r2.eclass | 37 ++++++++++++++++++++++++++++++-------
1 file changed, 30 insertions(+), 7 deletions(-)
diff --git a/eclass/llvm-r2.eclass b/eclass/llvm-r2.eclass
index 93c16e75be83..91e841821331 100644
--- a/eclass/llvm-r2.eclass
+++ b/eclass/llvm-r2.eclass
@@ -248,16 +248,35 @@ llvm_cbuild_setup() {
llvm_prepend_path -b "${LLVM_SLOT}"
}
-# @FUNCTION: llvm-r2_pkg_setup
+# @FUNCTION: llvm_chost_setup
# @DESCRIPTION:
-# Prepend the appropriate executable directory for the selected LLVM
-# slot to PATH.
+# Set the environment for finding selected LLVM slot installed
+# for CHOST.
#
-# The PATH manipulation is only done for source builds. The function
-# is a no-op when installing a binary package.
+# This function is meant to be used when the package in question uses
+# LLVM compiles against and links to LLVM. It is called automatically
+# by llvm-r2_pkg_setup if LLVM is found installed in ESYSROOT.
+llvm_chost_setup() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local esysroot_prefix=$(get_llvm_prefix -d)
+ einfo "Using ${esysroot_prefix} for CHOST LLVM ${LLVM_SLOT}"
+ [[ -d ${esysroot_prefix} ]] ||
+ die "LLVM ${LLVM_SLOT} not found installed in ESYSROOT (expected: ${esysroot_prefix})"
+
+ # satisfies find_package() in CMake
+ export LLVM_ROOT="${esysroot_prefix}"
+ export Clang_ROOT="${esysroot_prefix}"
+ export LLD_ROOT="${esysroot_prefix}"
+}
+
+# @FUNCTION: llvm-r2_pkg_setup
+# @DESCRIPTION:
+# Handle all supported setup actions automatically. If LLVM is found
+# installed for CBUILD, call llvm_cbuild_setup. If it is found
+# installed for CHOST, call llvm_chost_setup.
#
-# If any other behavior is desired, the contents of the function
-# should be inlined into the ebuild and modified as necessary.
+# This function is a no-op when installing a binary package.
#
# Note that this function is not exported if LLVM_OPTIONAL is set.
# In that case, it needs to be called manually.
@@ -270,6 +289,10 @@ llvm-r2_pkg_setup() {
if [[ -d $(get_llvm_prefix -b)/bin ]]; then
llvm_cbuild_setup
fi
+
+ if [[ -d $(get_llvm_prefix -d) ]]; then
+ llvm_chost_setup
+ fi
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-30 11:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-30 11:35 UTC (permalink / raw
To: gentoo-commits
commit: 93056be235ad8804d3865005737ed6b54ac9aad3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 16 10:17:59 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 11:32:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93056be2
llvm-r2.eclass: Readjust for BROOT, split to llvm_cbuild_setup
Readjust the old pkg_setup logic for BROOT tool use, move it to
llvm_cbuild_setup function.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-r2.eclass | 45 ++++++++++++++++++++++++++++++++++-----------
1 file changed, 34 insertions(+), 11 deletions(-)
diff --git a/eclass/llvm-r2.eclass b/eclass/llvm-r2.eclass
index 6d0223f73f10..93c16e75be83 100644
--- a/eclass/llvm-r2.eclass
+++ b/eclass/llvm-r2.eclass
@@ -216,6 +216,38 @@ get_llvm_prefix() {
echo "${prefix}/usr/lib/llvm/${LLVM_SLOT}"
}
+# @FUNCTION: llvm_cbuild_setup
+# @DESCRIPTION:
+# Prepend the PATH for selected LLVM version in CBUILD.
+#
+# This function is meant to be used when the package in question uses
+# LLVM tools at build time. It is called automatically
+# by llvm-r2_pkg_setup if LLVM is found installed in BROOT.
+#
+# Note that llvm-config from this path must not be used to build against
+# LLVM, as that will break cross-compilation.
+llvm_cbuild_setup() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local broot_prefix=$(get_llvm_prefix -b)
+ einfo "Using ${broot_prefix} for CBUILD LLVM ${LLVM_SLOT}"
+ [[ -d ${broot_prefix}/bin ]] ||
+ die "LLVM ${LLVM_SLOT} not found installed in BROOT (expected: ${broot_prefix}/bin)"
+
+ llvm_fix_clang_version CC CPP CXX
+ # keep in sync with profiles/features/llvm/make.defaults!
+ llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB
+ llvm_fix_tool_path READELF STRINGS STRIP
+
+ # Set LLVM_CONFIG to help Meson (bug #907965) but only do it
+ # for empty ESYSROOT (as a proxy for "are we cross-compiling?").
+ if [[ -z ${ESYSROOT} ]] ; then
+ llvm_fix_tool_path LLVM_CONFIG
+ fi
+
+ llvm_prepend_path -b "${LLVM_SLOT}"
+}
+
# @FUNCTION: llvm-r2_pkg_setup
# @DESCRIPTION:
# Prepend the appropriate executable directory for the selected LLVM
@@ -235,18 +267,9 @@ llvm-r2_pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]]; then
[[ -z ${LLVM_SLOT} ]] && die "LLVM_SLOT unset (broken USE_EXPAND?)"
- llvm_fix_clang_version CC CPP CXX
- # keep in sync with profiles/features/llvm/make.defaults!
- llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB
- llvm_fix_tool_path READELF STRINGS STRIP
-
- # Set LLVM_CONFIG to help Meson (bug #907965) but only do it
- # for empty ESYSROOT (as a proxy for "are we cross-compiling?").
- if [[ -z ${ESYSROOT} ]] ; then
- llvm_fix_tool_path LLVM_CONFIG
+ if [[ -d $(get_llvm_prefix -b)/bin ]]; then
+ llvm_cbuild_setup
fi
-
- llvm_prepend_path "${LLVM_SLOT}"
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-30 11:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-30 11:35 UTC (permalink / raw
To: gentoo-commits
commit: d9a6a468bb2c0a16c62cb9b4f22369b5c99a34a9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 22 19:23:18 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 11:32:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d9a6a468
llvm-r2.eclass: Add MLIR_ROOT
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-r2.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/llvm-r2.eclass b/eclass/llvm-r2.eclass
index 4c2628dd3b7e..5fc39945875c 100644
--- a/eclass/llvm-r2.eclass
+++ b/eclass/llvm-r2.eclass
@@ -427,6 +427,7 @@ llvm_chost_setup() {
export LLVM_ROOT="${esysroot_prefix}"
export Clang_ROOT="${esysroot_prefix}"
export LLD_ROOT="${esysroot_prefix}"
+ export MLIR_ROOT="${esysroot_prefix}"
# satisfies llvm-config calls, e.g. from meson
export PATH="${T}/llvm-bin:${PATH}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-30 11:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-30 11:35 UTC (permalink / raw
To: gentoo-commits
commit: 4f071c7272814a2eca93a24a61930ec5fd357014
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 18 12:29:50 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 11:32:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f071c72
llvm-r2.eclass: Remove obsolete Meson LLVM_CONFIG hack
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-r2.eclass | 7 -------
1 file changed, 7 deletions(-)
diff --git a/eclass/llvm-r2.eclass b/eclass/llvm-r2.eclass
index 3d18f1a0a19c..4c2628dd3b7e 100644
--- a/eclass/llvm-r2.eclass
+++ b/eclass/llvm-r2.eclass
@@ -401,13 +401,6 @@ llvm_cbuild_setup() {
# keep in sync with profiles/features/llvm/make.defaults!
llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB
llvm_fix_tool_path READELF STRINGS STRIP
-
- # Set LLVM_CONFIG to help Meson (bug #907965) but only do it
- # for empty ESYSROOT (as a proxy for "are we cross-compiling?").
- if [[ -z ${ESYSROOT} ]] ; then
- llvm_fix_tool_path LLVM_CONFIG
- fi
-
llvm_prepend_path -b "${LLVM_SLOT}"
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-30 11:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-30 11:35 UTC (permalink / raw
To: gentoo-commits
commit: 0493ab731361510edde65db19ae95cc350fffdc2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 16 10:40:46 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 11:32:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0493ab73
llvm-r2.eclass: Update top-level docs for CBUILD/CHOST support
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-r2.eclass | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/eclass/llvm-r2.eclass b/eclass/llvm-r2.eclass
index e499f9dba38d..3d18f1a0a19c 100644
--- a/eclass/llvm-r2.eclass
+++ b/eclass/llvm-r2.eclass
@@ -18,12 +18,19 @@
# 2. Use llvm_gen_dep and/or LLVM_USEDEP to add appropriate
# dependencies.
#
-# 3. Use llvm-r2_pkg_setup, get_llvm_prefix or LLVM_SLOT.
+# 3. Use llvm-r2_pkg_setup, llvm_chost_setup, llvm_cbuild_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.
#
+# Note that the eclass aims for a best-effort support of CHOST builds
+# (i.e. compiling/linking against LLVM) and CBUILD use (i.e. calling
+# LLVM tools at build time). You need to determine what the package
+# in question needs, and put the appropriate packages in DEPEND and/or
+# BDEPEND appropriately.
+#
# Example:
# @CODE
# LLVM_COMPAT=( {16..18} )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-30 11:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-30 11:35 UTC (permalink / raw
To: gentoo-commits
commit: 9675dfad09d92b64ea05adabbd2ea9bbe221de59
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 16 10:37:29 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 11:32:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9675dfad
llvm-r2.eclass: Generate a llvm-config script for CHOST
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-r2.eclass | 173 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 172 insertions(+), 1 deletion(-)
diff --git a/eclass/llvm-r2.eclass b/eclass/llvm-r2.eclass
index 91e841821331..e499f9dba38d 100644
--- a/eclass/llvm-r2.eclass
+++ b/eclass/llvm-r2.eclass
@@ -216,6 +216,162 @@ get_llvm_prefix() {
echo "${prefix}/usr/lib/llvm/${LLVM_SLOT}"
}
+# @FUNCTION: generate_llvm_config
+# @DESCRIPTION:
+# Output a llvm-config compatible script that yields paths specific
+# to the requested LLVM version.
+generate_llvm_config() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local bindir=$(get_llvm_prefix -b)/bin
+ [[ ! -d ${bindir} ]] && bindir=
+
+ local prefix=$(get_llvm_prefix -d)
+ local includedir=${prefix}/include
+ local libdir=${prefix}/$(get_libdir)
+ local cmake_conf=${libdir}/cmake/llvm/LLVMConfig.cmake
+ if [[ ! -f ${cmake_conf} ]]; then
+ cat <<-EOF
+ #!/usr/bin/env sh
+ echo "LLVM ${LLVM_SLOT} not installed for ABI=${ABI}" >&2
+ exit 127
+ EOF
+ return
+ fi
+
+ local version=$(
+ sed -ne 's:set(LLVM_PACKAGE_VERSION \(.*\)):\1:p' "${cmake_conf}" || die
+ )
+ [[ -n ${version} ]] || die
+ local cppdefs=$(
+ sed -ne 's:set(LLVM_DEFINITIONS "\(.*\)"):\1:p' "${cmake_conf}" || die
+ )
+ [[ -n ${cppdefs} ]] || die
+ local targets=$(
+ sed -ne 's:set(LLVM_TARGETS_TO_BUILD \(.*\)):\1:p' "${cmake_conf}" || die
+ )
+ [[ -n ${targets} ]] || die
+ local libs=$(
+ sed -ne 's:set(LLVM_AVAILABLE_LIBS \(.*\)):\1:p' "${cmake_conf}" || die
+ )
+ [[ -n ${libs} ]] || die
+ local target_triple=$(
+ sed -ne 's:set(LLVM_TARGET_TRIPLE "\(.*\)"):\1:p' "${cmake_conf}" || die
+ )
+ [[ -n ${target_triple} ]] || die
+
+ readarray -d';' -t targets <<<"${targets}"
+ readarray -d';' -t libs <<<"${libs}"
+ # easier than parsing CMake booleans
+ local assertions=OFF
+ [[ ${cppdefs} == *-D_DEBUG* ]] && assertions=ON
+ # major + suffix
+ local shlib_name=LLVM-${version%%.*}
+ [[ ${version} == *git* ]] && shlib_name+="git${version##*git}"
+
+ local components=(
+ "${libs[@]#LLVM}" "${targets[@]}"
+ # special component groups (grep for add_llvm_component_group)
+ all all-targets engine native nativecodegen
+ )
+
+ cat <<-EOF
+ #!/usr/bin/env sh
+
+ echo "\${0} \${*}" >> "${T}/llvm-config-calls.txt"
+
+ do_echo() {
+ echo " \${*}" >> "${T}/llvm-config-calls.txt"
+ echo "\${@}"
+ }
+
+ for arg; do
+ case \${arg} in
+ --assertion-mode)
+ do_echo "${assertions}"
+ ;;
+ --bindir)
+ if [ -n "${bindir}" ]; then
+ do_echo "${bindir}"
+ else
+ do_echo "CBUILD LLVM not available" >&2
+ exit 1
+ fi
+ ;;
+ --build-mode)
+ do_echo RelWithDebInfo
+ ;;
+ --build-system)
+ do_echo cmake
+ ;;
+ --cflags|--cppflags)
+ do_echo "-I${includedir} ${cppdefs[*]}"
+ ;;
+ --cmakedir)
+ do_echo "${libdir}/cmake/llvm"
+ ;;
+ --components)
+ do_echo "${components[*],,}"
+ ;;
+ --cxxflags)
+ do_echo "-I${includedir} -std=c++17 ${cppdefs[*]}"
+ ;;
+ --has-rtti)
+ do_echo YES
+ ;;
+ --host-target)
+ do_echo "${target_triple}"
+ ;;
+ --ignore-libllvm)
+ # ignored
+ ;;
+ --includedir)
+ do_echo "${includedir}"
+ ;;
+ --ldflags)
+ do_echo "-L${libdir}"
+ ;;
+ --libdir)
+ do_echo "${libdir}"
+ ;;
+ --libfiles)
+ do_echo "${libdir}/lib${shlib_name}.so"
+ ;;
+ --libnames)
+ do_echo lib${shlib_name}.so
+ ;;
+ --libs)
+ do_echo "-l${shlib_name}"
+ ;;
+ --link-shared|--link-static)
+ # ignored
+ ;;
+ --obj-root|--prefix)
+ do_echo "${prefix}"
+ ;;
+ --shared-mode)
+ do_echo shared
+ ;;
+ --system-libs)
+ do_echo
+ ;;
+ --targets-built)
+ do_echo "${targets[*]}"
+ ;;
+ --version)
+ do_echo "${version}"
+ ;;
+ -*)
+ do_echo "Unsupported option: \${arg}" >&2
+ exit 1
+ ;;
+ *)
+ # ignore components, we always return the dylib
+ ;;
+ esac
+ done
+ EOF
+}
# @FUNCTION: llvm_cbuild_setup
# @DESCRIPTION:
# Prepend the PATH for selected LLVM version in CBUILD.
@@ -251,11 +407,14 @@ llvm_cbuild_setup() {
# @FUNCTION: llvm_chost_setup
# @DESCRIPTION:
# Set the environment for finding selected LLVM slot installed
-# for CHOST.
+# for CHOST. Create llvm-config wrappers to satisfy legacy lookups.
#
# This function is meant to be used when the package in question uses
# LLVM compiles against and links to LLVM. It is called automatically
# by llvm-r2_pkg_setup if LLVM is found installed in ESYSROOT.
+#
+# Note that the generated llvm-config may refer to CBUILD installation
+# of LLVM via --bindir, if it is found available.
llvm_chost_setup() {
debug-print-function ${FUNCNAME} "$@"
@@ -268,6 +427,18 @@ llvm_chost_setup() {
export LLVM_ROOT="${esysroot_prefix}"
export Clang_ROOT="${esysroot_prefix}"
export LLD_ROOT="${esysroot_prefix}"
+
+ # satisfies llvm-config calls, e.g. from meson
+ export PATH="${T}/llvm-bin:${PATH}"
+ mkdir "${T}"/llvm-bin || die
+ # we need to generate it per-ABI, since libdir changes
+ local ABI
+ for ABI in $(get_all_abis); do
+ local path="${T}/llvm-bin/$(get_abi_CHOST)-llvm-config"
+ generate_llvm_config > "${path}" || die
+ chmod +x "${path}" || die
+ done
+ ln -s "$(get_abi_CHOST)-llvm-config" "${T}/llvm-bin/llvm-config" || die
}
# @FUNCTION: llvm-r2_pkg_setup
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-30 11:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-30 11:35 UTC (permalink / raw
To: gentoo-commits
commit: 58e2defd4a6146affe90fa265068c3a7a685be28
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 12 13:27:44 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 11:32:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58e2defd
llvm-r2.eclass: Copy from llvm-r1.eclass
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-r2.eclass | 257 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 257 insertions(+)
diff --git a/eclass/llvm-r2.eclass b/eclass/llvm-r2.eclass
new file mode 100644
index 000000000000..6d0223f73f10
--- /dev/null
+++ b/eclass/llvm-r2.eclass
@@ -0,0 +1,257 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: llvm-r2.eclass
+# @MAINTAINER:
+# Michał Górny <mgorny@gentoo.org>
+# @AUTHOR:
+# Michał Górny <mgorny@gentoo.org>
+# @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-r2_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-r2
+#
+# DEPEND="
+# dev-libs/libfoo[${LLVM_USEDEP}]
+# $(llvm_gen_dep '
+# llvm-core/clang:${LLVM_SLOT}=
+# llvm-core/llvm:${LLVM_SLOT}=
+# ')
+# "
+# @CODE
+
+case ${EAPI} in
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ -z ${_LLVM_R2_ECLASS} ]]; then
+_LLVM_R2_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=19
+
+# == 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
+ # If there is at least one stable slot supported, then enable
+ # the newest stable slot by default.
+ IUSE="+llvm_slot_${stable[-1]}"
+ unset 'stable[-1]'
+ else
+ # Otherwise, enable the "oldest" ~arch slot. We really only
+ # expect a single ~arch version, so this primarily prevents
+ # defaulting to non-keyworded slots.
+ IUSE="+llvm_slot_${unstable[0]}"
+ unset 'unstable[0]'
+ 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
+
+ if [[ ! ${LLVM_OPTIONAL} ]]; then
+ REQUIRED_USE=${LLVM_REQUIRED_USE}
+ fi
+}
+_llvm_set_globals
+unset -f _llvm_set_globals
+
+# == metadata helpers ==
+
+# @FUNCTION: llvm_gen_dep
+# @USAGE: <dependency>
+# @DESCRIPTION:
+# Output a dependency block, repeating "<dependency>" conditionally
+# to all llvm_slot_* USE flags. Any occurences of '${LLVM_SLOT}'
+# within the block will be substituted for the respective slot.
+#
+# Example:
+# @CODE
+# DEPEND="
+# $(llvm_gen_dep '
+# llvm-core/clang:${LLVM_SLOT}=
+# llvm-core/llvm:${LLVM_SLOT}=
+# ')
+# "
+# @CODE
+llvm_gen_dep() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ ${#} -ne 1 ]] && die "Usage: ${FUNCNAME} <dependency>"
+
+ local dep=${1}
+
+ local slot
+ for slot in "${_LLVM_SLOTS[@]}"; do
+ echo "llvm_slot_${slot}? ( ${dep//\$\{LLVM_SLOT\}/${slot}} )"
+ done
+}
+
+# == ebuild helpers ==
+
+# @FUNCTION: get_llvm_prefix
+# @USAGE: [-b|-d]
+# @DESCRIPTION:
+# Output the path to the selected LLVM slot.
+#
+# With no option or "-d", the path is prefixed by ESYSROOT. LLVM
+# dependencies should be in DEPEND then.
+#
+# With "-b" option, the path is prefixed by BROOT. LLVM dependencies
+# should be in BDEPEND then.
+get_llvm_prefix() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ ${#} -gt 1 ]] && die "Usage: ${FUNCNAME} [-b|-d]"
+
+ local prefix
+ case ${1--d} in
+ -d)
+ prefix=${ESYSROOT}
+ ;;
+ -b)
+ prefix=${BROOT}
+ ;;
+ *)
+ die "${FUNCNAME}: invalid option: ${1}"
+ ;;
+ esac
+
+ echo "${prefix}/usr/lib/llvm/${LLVM_SLOT}"
+}
+
+# @FUNCTION: llvm-r2_pkg_setup
+# @DESCRIPTION:
+# Prepend the appropriate executable directory for the selected LLVM
+# slot to PATH.
+#
+# The PATH manipulation is only done for source builds. The function
+# is a no-op when installing a binary package.
+#
+# If any other behavior is desired, the contents of the function
+# should be inlined into the ebuild and modified as necessary.
+#
+# Note that this function is not exported if LLVM_OPTIONAL is set.
+# In that case, it needs to be called manually.
+llvm-r2_pkg_setup() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ [[ -z ${LLVM_SLOT} ]] && die "LLVM_SLOT unset (broken USE_EXPAND?)"
+
+ llvm_fix_clang_version CC CPP CXX
+ # keep in sync with profiles/features/llvm/make.defaults!
+ llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB
+ llvm_fix_tool_path READELF STRINGS STRIP
+
+ # Set LLVM_CONFIG to help Meson (bug #907965) but only do it
+ # for empty ESYSROOT (as a proxy for "are we cross-compiling?").
+ if [[ -z ${ESYSROOT} ]] ; then
+ llvm_fix_tool_path LLVM_CONFIG
+ fi
+
+ llvm_prepend_path "${LLVM_SLOT}"
+ fi
+}
+
+fi
+
+if [[ ! ${LLVM_OPTIONAL} ]]; then
+ EXPORT_FUNCTIONS pkg_setup
+fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-30 11:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-30 11:35 UTC (permalink / raw
To: gentoo-commits
commit: bc0ec53fa675fe53b95cdf997c3d33dd4b2fdca0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 12 13:27:22 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 11:32:03 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc0ec53f
llvm-r1.eclass: Fix list in eclassdoc
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-r1.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/llvm-r1.eclass b/eclass/llvm-r1.eclass
index 7326e3a6b271..e59bd9c317b9 100644
--- a/eclass/llvm-r1.eclass
+++ b/eclass/llvm-r1.eclass
@@ -14,8 +14,10 @@
# 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-29 9:22 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-12-29 9:22 UTC (permalink / raw
To: gentoo-commits
commit: 8a6207aae78d8f1a13cb430ecf4728d11cd471b7
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 26 12:03:23 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Dec 29 09:22:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8a6207aa
elisp.eclass: Call makeinfo with --no-split option
By default, makeinfo will split output files larger than 300 kB into
smaller subfiles. Although this doesn't currently happen for any elisp
package, it might happen in future and could break some assumptions.
This is also consistent with GNU Emacs itself which installs unsplit
Info files for its documentation.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/elisp.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 1fa8aab29753..e2f629edf132 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -139,7 +139,7 @@ elisp_src_configure() { :; }
elisp_src_compile() {
elisp-compile *.el
if [[ -n ${ELISP_TEXINFO} ]]; then
- makeinfo ${ELISP_TEXINFO} || die
+ makeinfo --no-split ${ELISP_TEXINFO} || die
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-28 19:43 Alfredo Tupone
0 siblings, 0 replies; 6228+ messages in thread
From: Alfredo Tupone @ 2024-12-28 19:43 UTC (permalink / raw
To: gentoo-commits
commit: 648bcbb7da7f164dfc27dd18326840808c06d01d
Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 28 19:42:59 2024 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Dec 28 19:43:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=648bcbb7
ada.eclass: add CHOST to gnatmake
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
eclass/ada.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/ada.eclass b/eclass/ada.eclass
index 9206bfcc42ca..3d22dd5d2a61 100644
--- a/eclass/ada.eclass
+++ b/eclass/ada.eclass
@@ -282,7 +282,7 @@ ada_export() {
debug-print "${FUNCNAME}: GNATBIND = ${GNATBIND}"
;;
GNATMAKE)
- export GNATMAKE=${EPREFIX}/usr/bin/gnatmake-${gcc_pv}
+ export GNATMAKE=${EPREFIX}/usr/bin/${CHOST}-gnatmake-${gcc_pv}
debug-print "${FUNCNAME}: GNATMAKE = ${GNATMAKE}"
;;
GNATLS)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-28 14:51 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-28 14:51 UTC (permalink / raw
To: gentoo-commits
commit: f198fe992017f2fde6d1ad6c9a99a1e5c76cfb50
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 28 14:50:50 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 28 14:51:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f198fe99
mono-env.eclass: fix @SUPPORTED_EAPIS
I forgot to update this in 69a2292af3ff6086933650e3ffb59ef4e7e4acfc
which added EAPI 8 support.
Closes: https://bugs.gentoo.org/937112
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/mono-env.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/mono-env.eclass b/eclass/mono-env.eclass
index 5415a7043fed..2e19c0b744ee 100644
--- a/eclass/mono-env.eclass
+++ b/eclass/mono-env.eclass
@@ -4,7 +4,7 @@
# @ECLASS: mono-env.eclass
# @MAINTAINER:
# maintainer-needed@gentoo.org
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Set environment variables commonly used by dotnet packages.
# @DESCRIPTION:
# Set environment variables commonly used by dotnet packages.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-27 21:25 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-27 21:25 UTC (permalink / raw
To: gentoo-commits
commit: dc359ed71c4f83da39765fd80f81498dc8669b59
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 27 20:37:20 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Dec 27 21:24:50 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc359ed7
llvm.org.eclass: Add 20.0.0_pre20241227 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 e36e846801c3..9b5be08eb1bb 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
+ 20.0.0_pre20241227)
+ EGIT_COMMIT=ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a
+ ;;
20.0.0_pre20241221)
EGIT_COMMIT=665d79f2e967a5eee6fff93685e45f50cf24cab2
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-26 10:59 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-26 10:59 UTC (permalink / raw
To: gentoo-commits
commit: bd408878bb57af9b91956f93eb86c8a32e137010
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 26 10:01:35 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 26 10:59:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd408878
guile-utils.eclass: set GUILE_AUTO_COMPILE=fresh
Noticed this when looking at app-office/gnucash which was disabling
GUILE_AUTO_COMPILE entirely (see 72dbf2ec4049df11ad63576971883ee239eadb7f).
We don't want Guile making decisions based on the system cache
files. Always recompile so we're deterministic.
See https://www.gnu.org/software/guile/manual/html_node/Environment-Variables.html#index-GUILE_005fAUTO_005fCOMPILE.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/guile-utils.eclass | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/eclass/guile-utils.eclass b/eclass/guile-utils.eclass
index b0660dcfd1ce..d066013486ed 100644
--- a/eclass/guile-utils.eclass
+++ b/eclass/guile-utils.eclass
@@ -84,10 +84,14 @@ guile_check_compat
# @FUNCTION: guile_set_common_vars
# @DESCRIPTION:
# Sets common variables that apply to all Guile packages, namely,
-# QA_PREBUILT.
+# GUILE_AUTO_COMPILE and QA_PREBUILT.
guile_set_common_vars() {
debug-print-function ${FUNCNAME} "$@"
+ # We don't want Guile making decisions based on the system cache
+ # files. Always recompile so we're deterministic.
+ export GUILE_AUTO_COMPILE=fresh
+
# These aren't strictly speaking prebuilt. but they do generated a
# nonstandard ELF object.
if [[ -z ${QA_PREBUILT} ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-25 15:08 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2024-12-25 15:08 UTC (permalink / raw
To: gentoo-commits
commit: 7dad58d9f7874a2f69fb594cbc031470180201ff
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 25 15:07:26 2024 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Wed Dec 25 15:08:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7dad58d9
eclass/ruby-fakegem.eclass: install sig directory by default
The sig directory contains rbs type signatures and is showing up in more
and more gems. Install it when present by default.
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/ruby-fakegem.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
index fc78428be714..c358015902bb 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.eclass
@@ -624,7 +624,7 @@ each_fakegem_install() {
ruby_fakegem_install_gemspec
local _gemlibdirs="${RUBY_FAKEGEM_EXTRAINSTALL}"
- for directory in "${RUBY_FAKEGEM_BINDIR}" lib; do
+ for directory in "${RUBY_FAKEGEM_BINDIR}" lib sig; do
[[ -d ${directory} ]] && _gemlibdirs="${_gemlibdirs} ${directory}"
done
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-23 17:10 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-12-23 17:10 UTC (permalink / raw
To: gentoo-commits
commit: 212ef97914f409c33cf386aa88e1a17263b8011d
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 23 05:43:17 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Dec 23 17:08:14 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=212ef979
frameworks.kde.org.eclass: Simplify SLOT assignment
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/frameworks.kde.org.eclass | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass
index e1dc77c93561..f66a6b7efba5 100644
--- a/eclass/frameworks.kde.org.eclass
+++ b/eclass/frameworks.kde.org.eclass
@@ -46,15 +46,14 @@ SLOT=6
if ver_test ${PV} -lt 5.240; then
SLOT=5
fi
-if [[ ${PN} == extra-cmake-modules ]]; then
- SLOT=0
-else
- if [[ ${KDE_BUILD_TYPE} == release ]]; then
+case ${PN} in
+ extra-cmake-modules)
+ SLOT=0
+ ;;
+ *)
SLOT=${SLOT}/${KDE_CATV}
- else
- SLOT=${SLOT}/9999
- fi
-fi
+ ;;
+esac
# @ECLASS_VARIABLE: KDE_ORG_SCHEDULE_URI
# @INTERNAL
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-22 19:41 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-22 19:41 UTC (permalink / raw
To: gentoo-commits
commit: 438a09957f5e4d6885fee7982814b2071282e861
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 22 19:40:11 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 22 19:40:59 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=438a0995
rust.eclass: update get_rust_path for recent change
Speculative fix based on description in bug.
Closes: https://bugs.gentoo.org/946824
Fixes: d393753de4be9164251344e887e97adfcc0f0bce
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/rust.eclass | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index a7199f984af8..30b6468d2a9b 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -471,9 +471,8 @@ get_rust_prefix() {
local prefix=${BROOT}
[[ ${1} == -d ]] && prefix=${ESYSROOT}
- local slot rust_type
- read -r slot rust_type <<< $(_get_rust_slot "$@")
- get_rust_path "${prefix}" "${slot}" "${rust_type}"
+ _get_rust_slot "$@"
+ get_rust_path "${prefix}" "${RUST_SLOT}" "${RUST_TYPE}"
}
# @FUNCTION: rust_prepend_path
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-22 3:20 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-12-22 3:20 UTC (permalink / raw
To: gentoo-commits
commit: d393753de4be9164251344e887e97adfcc0f0bce
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 16 23:45:07 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sun Dec 22 03:13:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d393753d
rust.eclass: be verbose when checking if a Rust is suitable
This commit enables the Rust eclass to provide feedback to users
on what it's actually doing and why a particular Rust was
(or was not) deemed suitable for use.
To do this we now:
- Explicitly note if a Rust slot was skipped due to LLVM_SLOT
incompatibility
- Provide a python-utils-r1 style `Checking whether Rust SLOT is
suitable ...` for each slot
- List each package (and usedep) that we are checking for
- Provide an error message that clearly explains the requirements
if no suitable package is available.
`_get_rust_slot` has been adjusted to export RUST_SLOT and RUST_TYPE
if a suitable slot is found.
Still TODO is enhancing output for `rust_check_deps` (perhaps
ebegin/eend?), however there don't appear to be any consumers
in the wild, this can probably wait a little longer.
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index eb14ca2329b5..a7199f984af8 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -286,7 +286,8 @@ unset -f _rust_set_globals
# @USAGE: [-b|-d]
# @DESCRIPTION:
# Find the newest Rust install that is acceptable for the package,
-# and print its version number (i.e. SLOT) and type (source or bin[ary]).
+# and export its version (i.e. SLOT) and type (source or bin[ary])
+# as RUST_SLOT and RUST_TYPE.
#
# If -b is specified, the checks are performed relative to BROOT,
# and BROOT-path is returned. -b is the default.
@@ -363,10 +364,13 @@ _get_rust_slot() {
# If we're in LLVM mode we can skip any slots that don't match the selected USE
if [[ -n "${RUST_NEEDS_LLVM}" ]]; then
if [[ "${llvm_slot}" != "${llvm_r1_slot}" ]]; then
+ einfo "Skipping Rust ${slot} as it does not match llvm_slot_${llvm_r1_slot}"
continue
fi
fi
+ einfo "Checking whether Rust ${slot} is suitable ..."
+
if declare -f rust_check_deps >/dev/null; then
local RUST_SLOT="${slot}"
local LLVM_SLOT="${_RUST_LLVM_MAP[${slot}]}"
@@ -396,11 +400,13 @@ _get_rust_slot() {
esac
local _pkg
for _pkg in "${rust_pkgs[@]}"; do
+ einfo " Checking for ${_pkg} ..."
if has_version "${hv_switch}" "${_pkg}"; then
+ export RUST_SLOT="${slot}"
if [[ "${_pkg}" == "dev-lang/rust:${slot}${usedep}" ]]; then
- echo "${slot} source"
+ export RUST_TYPE="source"
else
- echo "${slot} binary"
+ export RUST_TYPE="binary"
fi
return
fi
@@ -418,7 +424,12 @@ _get_rust_slot() {
die "${FUNCNAME}: invalid max_slot=${max_slot}"
fi
- die "No Rust slot${1:+ <= ${1}} satisfying the package's dependencies found installed!"
+ local requirement_msg=""
+ [[ -n "${RUST_MAX_VER}" ]] && requirement_msg+="<= ${RUST_MAX_VER} "
+ [[ -n "${RUST_MIN_VER}" ]] && requirement_msg+=">= ${RUST_MIN_VER} "
+ [[ -n "${RUST_REQ_USE}" ]] && requirement_msg+="with USE=${RUST_REQ_USE}"
+ requirement_msg="${requirement_msg% }"
+ die "No Rust matching requirements${requirement_msg:+ (${requirement_msg})} found installed!"
}
# @FUNCTION: get_rust_path
@@ -500,7 +511,7 @@ rust_pkg_setup() {
debug-print-function ${FUNCNAME} "$@"
if [[ ${MERGE_TYPE} != binary ]]; then
- read -r RUST_SLOT RUST_TYPE <<< $(_get_rust_slot -b)
+ _get_rust_slot -b
rust_prepend_path "${RUST_SLOT}" "${RUST_TYPE}"
local prefix=$(get_rust_path "${BROOT}" "${RUST_SLOT}" "${RUST_TYPE}")
CARGO="${prefix}bin/cargo"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-22 1:30 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-22 1:30 UTC (permalink / raw
To: gentoo-commits
commit: 38e96b4caa2c618b9410e787c4b29cde207dab94
Author: Eric Joldasov <bratishkaerik <AT> landless-city <DOT> net>
AuthorDate: Sun Dec 15 21:18:29 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 22 01:27:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38e96b4c
zig.eclass: fix rare spurious `error.BrokenPipe` during `src_test`
Most likely caused by `grep -q` processing too fast when steps are
filtered. Can sometimes be reproduced with this command (you might
need several retries to hit it):
```console
$ for i in {0..20}; do zig build --list-steps | grep -q test; done
error: BrokenPipe
/usr/lib64/zig/9999/lib/compiler/build_runner.zig:1229:9: 0x1518f3e in steps__anon_4736 (build)
try out_stream.print(" {s:<28} {s}\n", .{ name, top_level_step.description });
^
/usr/lib64/zig/9999/lib/compiler/build_runner.zig:374:9: 0x1511b81 in main (build)
return steps(builder, stdout_writer);
^
error: the following build command failed with exit code 1:
/home/bratishkaerik/github.com/zig/.zig-cache/o/4b3846557c333ec9e467b7cc136d3698/build /usr/lib64/zig/9999/bin/zig /usr/lib64/zig/9999/lib /home/bratishkaerik/github.com/zig /home/bratishkaerik/github.com/zig/.zig-cache /home/bratishkaerik/.cache/zig --seed 0x86f5c718 -Z7b5e4ad814524daf --list-steps
```
Caught this today when I merged and tested `dev-lang/zig:9999` 9 times
in a row because I was checking patch for upstream. Out of these 9 times
it failed only once. I couldn't reproduce this on `sys-fs/ncdu` or
`gui-wm/river::guru`, my guess here is that `test` step is listed last
there, so zig pipe catches up with it.
Signed-off-by: Eric Joldasov <bratishkaerik <AT> landless-city.net>
Closes: https://github.com/gentoo/gentoo/pull/39723
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/zig.eclass | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/eclass/zig.eclass b/eclass/zig.eclass
index e838616ef72a..2a0178e66d71 100644
--- a/eclass/zig.eclass
+++ b/eclass/zig.eclass
@@ -520,9 +520,10 @@ zig_src_test() {
# by whitespaces is not enough for some cases.
# We probably need something like "--list-steps names_only".
# In practice, almost nobody sets such names.
+ # Ignore failures like rare random "error.BrokenPipe" here.
+ # If they are real, they would appear in "ezig build test" anyway.
if grep -q '^[ ]*test[ ]' < <(
- nonfatal ezig build --list-steps "${args[@]}" ||
- die "ZBS: listing steps failed"
+ nonfatal ezig build --list-steps "${args[@]}"
); then
einfo "ZBS: testing with: ${args[@]}"
nonfatal ezig build test "${args[@]}" ||
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-21 10:28 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-21 10:28 UTC (permalink / raw
To: gentoo-commits
commit: a9320ac86aaeea1e98a4a25dd75a439c77bace7e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 21 10:10:29 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 21 10:28:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a9320ac8
llvm.org.eclass: Add 20.0.0_pre20241221 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 6a68bde89a46..e36e846801c3 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
+ 20.0.0_pre20241221)
+ EGIT_COMMIT=665d79f2e967a5eee6fff93685e45f50cf24cab2
+ ;;
20.0.0_pre20241215)
EGIT_COMMIT=49a5ad8e5714fd404210279303acc97b495d66d0
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-18 3:00 Matt Turner
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Turner @ 2024-12-18 3:00 UTC (permalink / raw
To: gentoo-commits
commit: 43a23c24493e561eae1ce88a4d2c10c82da4002b
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 17 04:13:10 2024 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Wed Dec 18 02:59:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43a23c24
xorg-3.eclass: Change XORG_TARBALL_SUFFIX default from bz2 to xz
No ebuilds rely on the default being bz2.
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
eclass/xorg-3.eclass | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/eclass/xorg-3.eclass b/eclass/xorg-3.eclass
index 0d51be294051..2ca5959dd1e7 100644
--- a/eclass/xorg-3.eclass
+++ b/eclass/xorg-3.eclass
@@ -111,9 +111,8 @@ HOMEPAGE="https://www.x.org/wiki/ https://gitlab.freedesktop.org/xorg/${XORG_MOD
# @ECLASS_VARIABLE: XORG_TARBALL_SUFFIX
# @PRE_INHERIT
# @DESCRIPTION:
-# Most X11 projects provide tarballs as tar.bz2 or tar.xz. This eclass defaults
-# to bz2.
-: "${XORG_TARBALL_SUFFIX:="bz2"}"
+# Most X11 projects provide tarballs as tar.xz. This eclass defaults to xz.
+: "${XORG_TARBALL_SUFFIX:="xz"}"
if [[ ${PV} == *9999* ]]; then
: "${EGIT_REPO_URI:="https://gitlab.freedesktop.org/xorg/${XORG_MODULE}${XORG_PACKAGE_NAME}.git"}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-18 3:00 Matt Turner
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Turner @ 2024-12-18 3:00 UTC (permalink / raw
To: gentoo-commits
commit: 2b210d2cf3d12742d2109d82a3ea7f388c3641bd
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 17 04:14:28 2024 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Wed Dec 18 02:59:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b210d2c
xorg-3.eclass: Disallow EAPI=7
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
eclass/xorg-3.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/xorg-3.eclass b/eclass/xorg-3.eclass
index ee4038533bfd..0d51be294051 100644
--- a/eclass/xorg-3.eclass
+++ b/eclass/xorg-3.eclass
@@ -8,7 +8,7 @@
# Author: Tomáš Chvátal <scarabeus@gentoo.org>
# Author: Donnie Berkholz <dberkholz@gentoo.org>
# Author: Matt Turner <mattst88@gentoo.org>
-# @SUPPORTED_EAPIS: 7 8
+# @SUPPORTED_EAPIS: 8
# @PROVIDES: multilib-minimal
# @BLURB: Reduces code duplication in the modularized X11 ebuilds.
# @DESCRIPTION:
@@ -23,7 +23,7 @@
# everything else should be automatic.
case ${EAPI} in
- 7|8) ;;
+ 8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-18 2:46 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-18 2:46 UTC (permalink / raw
To: gentoo-commits
commit: b85da6096998aefba65d432607c12748efccc907
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 18 02:45:05 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 18 02:45:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b85da609
toolchain.eclass: handle nvptx multilib changes in 15
GCC trunk recently changed its default multilib for nvptx. Make the
`mv` there nonfatal with some comments added. We may want to enable
all multilibs in future.
Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 8659a78be17e..602f99437145 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2805,8 +2805,10 @@ gcc_movelibs() {
mv "${ED}"/usr/nvptx-none/lib/mgomp/mptx-3.1/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/mgomp/mptx-3.1/
mv "${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/ || die
mv "${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/mgomp/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/mgomp/ || die
- mv "${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/mptx-3.1/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/mptx-3.1/ || die
- mv "${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/mgomp/mptx-3.1/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/mgomp/mptx-3.1/ || die
+ # Nonfatal because the multilib variants change: see r15-5975-g86b3a7532d56f7 and r15-6029-gd4e1f7cfdb8375
+ # TODO: Should we enable all of them unconditionally? Expose it somehow (USE_EXPAND?)?
+ mv "${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/mptx-3.1/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/mptx-3.1/
+ mv "${ED}"/usr/lib/gcc/nvptx-none/${GCCMAJOR}/mgomp/mptx-3.1/*.{a,spec} "${ED}"/usr/lib/gcc/${CHOST}/${GCCMAJOR}/accel/nvptx-none/mgomp/mptx-3.1/
fi
# We remove directories separately to avoid this case:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-17 22:14 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-12-17 22:14 UTC (permalink / raw
To: gentoo-commits
commit: 10b4b0976610ae256e6f3bba5181ca57dfad0e08
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 13 18:00:16 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Dec 17 22:14:02 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10b4b097
toolchain-funcs.eclass: Add tc-check-min_ver()
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 44 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 2911ed66e63c..0abed5b8d75e 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -647,6 +647,50 @@ _tc-has-openmp() {
return ${ret}
}
+# @FUNCTION: tc-check-min_ver
+# @USAGE: <gcc or clang> <minimum version>
+# @DESCRIPTION:
+# Minimum version of active GCC or Clang to require.
+#
+# You should test for any necessary minimum version in pkg_pretend in order to
+# warn the user of required toolchain changes. You must still check for it at
+# build-time, e.g.
+# @CODE
+# pkg_pretend() {
+# [[ ${MERGE_TYPE} != binary ]] && tc-check-min_ver gcc 13.2.0
+# }
+#
+# pkg_setup() {
+# [[ ${MERGE_TYPE} != binary ]] && tc-check-min_ver gcc 13.2.0
+# }
+# @CODE
+tc-check-min_ver() {
+ do_check() {
+ debug-print "Compiler version check for ${1}"
+ debug-print "Detected: ${2}"
+ debug-print "Required: ${3}"
+ if ver_test ${2} -lt ${3}; then
+ eerror "Your current compiler is too old for this package!"
+ die "Active compiler is too old for this package (found ${1} ${2})."
+ fi
+ }
+
+ case ${1} in
+ gcc)
+ tc-is-gcc || return
+ do_check GCC $(gcc-version) ${2}
+ ;;
+ clang)
+ tc-is-clang || return
+ do_check Clang $(clang-version) ${2}
+ ;;
+ *)
+ eerror "Unknown first parameter for ${FUNCNAME} - must be gcc or clang"
+ die "${FUNCNAME}: Parameter ${1} unknown"
+ ;;
+ esac
+}
+
# @FUNCTION: tc-check-openmp
# @DESCRIPTION:
# Test for OpenMP support with the current compiler and error out with
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-17 21:44 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-12-17 21:44 UTC (permalink / raw
To: gentoo-commits
commit: 9b766950efcc78bf411ec7c2ca26c49174865c4f
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 16 22:01:19 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Dec 17 21:43:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b766950
office-ext-r1.eclass: Support EAPI-8
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/office-ext-r1.eclass | 28 +++++++++-------------------
1 file changed, 9 insertions(+), 19 deletions(-)
diff --git a/eclass/office-ext-r1.eclass b/eclass/office-ext-r1.eclass
index 7e4d894483fe..9ee4561f0c11 100644
--- a/eclass/office-ext-r1.eclass
+++ b/eclass/office-ext-r1.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: office-ext-r1.eclass
@@ -6,13 +6,13 @@
# The office team <office@gentoo.org>
# @AUTHOR:
# Tomáš Chvátal <scarabeus@gentoo.org>
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Eclass for installing libreoffice extensions
# @DESCRIPTION:
# Eclass for easing maintenance of libreoffice extensions.
case ${EAPI} in
- 7) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -70,11 +70,13 @@ fi
# @CODE
: "${OFFICE_EXTENSIONS_LOCATION:=${DISTDIR}}"
-IUSE=""
-RDEPEND=""
+# Most projects actually do not provide any relevant sourcedir as they are oxt.
+S="${WORKDIR}"
+
+IUSE="$(printf 'office_implementation_%s ' ${OFFICE_IMPLEMENTATIONS[@]})"
+REQUIRED_USE="|| ( $(printf 'office_implementation_%s ' ${OFFICE_IMPLEMENTATIONS[@]}) )"
for i in ${OFFICE_IMPLEMENTATIONS[@]}; do
- IUSE+=" office_implementation_${i}"
if [[ ${i} == "libreoffice" ]]; then
RDEPEND+="
office_implementation_${i}? (
@@ -86,19 +88,7 @@ for i in ${OFFICE_IMPLEMENTATIONS[@]}; do
"
fi
done
-
-REQUIRED_USE="|| ( "
-for i in ${OFFICE_IMPLEMENTATIONS[@]}; do
- REQUIRED_USE+=" office_implementation_${i} "
-done
-REQUIRED_USE+=" )"
-
-DEPEND="${RDEPEND}
- app-arch/unzip
-"
-
-# Most projects actually do not provide any relevant sourcedir as they are oxt.
-S="${WORKDIR}"
+BDEPEND="app-arch/unzip"
# @FUNCTION: office-ext-r1_src_unpack
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-17 17:34 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-17 17:34 UTC (permalink / raw
To: gentoo-commits
commit: 77810cba2a601d0c0870589850b9864ec59d9fe8
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 17 17:33:53 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 17 17:33:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77810cba
toolchain.eclass: allow existing slot in has_version check for ada-bootstrap too
Followup to 14e674bb7a8cb8aa50498582e392d0ecd21f2d4a.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b74984fc8ea8..8659a78be17e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -983,7 +983,9 @@ toolchain_setup_ada() {
# As a penultimate resort, try dev-lang/ada-bootstrap.
if ver_test ${ada_bootstrap} -gt ${PV} || [[ -z ${ada_bootstrap} ]] ; then
ebegin "Testing fallback dev-lang/ada-bootstrap for Ada"
- if has_version -b "<dev-lang/ada-bootstrap-${SLOT}" ; then
+ # XXX: This can be cleaned up like BDEPEND for tc_use_major_version_only
+ # once we only support such versions.
+ if has_version -b "=dev-lang/ada-bootstrap-${SLOT}*" || has_version -b "<dev-lang/ada-bootstrap-${SLOT}" ; then
# Workaround the old scheme
if has_version -b "=dev-lang/ada-bootstrap-0_p2021*" ; then
ada_bootstrap=10
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-17 17:14 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-17 17:14 UTC (permalink / raw
To: gentoo-commits
commit: 14e674bb7a8cb8aa50498582e392d0ecd21f2d4a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 17 17:13:11 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 17 17:13:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14e674bb
toolchain.eclass: allow current slot for ada-bootstrap dep
Otherwise, you don't get a clean path for 14-with-14.
Bug: https://bugs.gentoo.org/940472
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 31 ++++++++++++++++++++++---------
1 file changed, 22 insertions(+), 9 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 8d2c04b6bf25..b74984fc8ea8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -411,16 +411,29 @@ if tc_has_feature valgrind ; then
fi
if [[ ${PN} != gnat-gpl ]] && tc_has_feature ada ; then
- BDEPEND+="
- ada? (
- || (
- sys-devel/gcc:${SLOT}[ada]
- <sys-devel/gcc-${SLOT}[ada]
- <dev-lang/ada-bootstrap-${SLOT}
- dev-lang/gnat-gpl[ada]
+ if tc_use_major_version_only ; then
+ BDEPEND+="
+ ada? (
+ || (
+ sys-devel/gcc:${SLOT}[ada]
+ <sys-devel/gcc-${SLOT}[ada]
+ <dev-lang/ada-bootstrap-$((${SLOT} + 1))
+ dev-lang/gnat-gpl[ada]
+ )
)
- )
- "
+ "
+ else
+ BDEPEND+="
+ ada? (
+ || (
+ sys-devel/gcc:${SLOT}[ada]
+ <sys-devel/gcc-${SLOT}[ada]
+ <dev-lang/ada-bootstrap-${SLOT}
+ dev-lang/gnat-gpl[ada]
+ )
+ )
+ "
+ fi
fi
# TODO: Add a pkg_setup & pkg_pretend check for whether the active compiler
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-16 18:45 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-12-16 18:45 UTC (permalink / raw
To: gentoo-commits
commit: c29fac1afd8428bf2128aeeaf883e84f6689c402
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 16 18:44:24 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Dec 16 18:44:24 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c29fac1a
elisp-common.eclass: Whitespace
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/elisp-common.eclass | 54 +++++++++++++++++++++++-----------------------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index ad9d3c7e60c6..e328a7920002 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -25,7 +25,7 @@
# When relying on the emacs USE flag, you need to add
#
# @CODE
-# emacs? ( >=app-editors/emacs-25.3:* )
+# emacs? ( >=app-editors/emacs-25.3:* )
# @CODE
#
# to your DEPEND/RDEPEND line and use the functions provided here to
@@ -39,7 +39,7 @@
# NEED_EMACS with the Emacs version, as in the following example:
#
# @CODE
-# NEED_EMACS=26.1
+# NEED_EMACS=26.1
# @CODE
#
# Please note that this should be done only for packages that are known
@@ -54,7 +54,7 @@
# are loadable.
#
# @CODE
-# elisp-compile *.el
+# elisp-compile *.el
# @CODE
#
# Function elisp-make-autoload-file() can be used to generate a file
@@ -75,7 +75,7 @@
# (see below) the change, as it defaults to ${PN}.
#
# @CODE
-# elisp-install ${PN} *.el *.elc
+# elisp-install ${PN} *.el *.elc
# @CODE
#
# To let the Emacs support be activated by Emacs on startup, you need
@@ -84,9 +84,9 @@
# Normally this would look like this:
#
# @CODE
-# (add-to-list 'load-path "@SITELISP@")
-# (add-to-list 'auto-mode-alist '("\\.csv\\'" . csv-mode))
-# (autoload 'csv-mode "csv-mode" "Major mode for csv files." t)
+# (add-to-list 'load-path "@SITELISP@")
+# (add-to-list 'auto-mode-alist '("\\.csv\\'" . csv-mode))
+# (autoload 'csv-mode "csv-mode" "Major mode for csv files." t)
# @CODE
#
# If your Emacs support files are installed in a subdirectory of
@@ -117,13 +117,13 @@
# your ebuild (e.g., right after S or RDEPEND):
#
# @CODE
-# SITEFILE="50${PN}-gentoo.el"
+# SITEFILE="50${PN}-gentoo.el"
# @CODE
#
# Which is then installed by
#
# @CODE
-# elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+# elisp-site-file-install "${FILESDIR}/${SITEFILE}"
# @CODE
#
# in src_install(). Any characters after the "-gentoo" part and before
@@ -137,7 +137,7 @@
# and install a site-init file that does just that:
#
# @CODE
-# elisp-make-site-file "${SITEFILE}"
+# elisp-make-site-file "${SITEFILE}"
# @CODE
#
# Again, this must be called in src_install(). See the function's
@@ -153,7 +153,7 @@
# version. In this case, you can add an explicit check in pkg_setup:
#
# @CODE
-# elisp-check-emacs-version
+# elisp-check-emacs-version
# @CODE
#
# When having optional Emacs support, you should prepend "use emacs &&"
@@ -165,13 +165,13 @@
# emerging and unmerging by using
#
# @CODE
-# pkg_postinst() {
-# elisp-site-regen
-# }
+# pkg_postinst() {
+# elisp-site-regen
+# }
#
-# pkg_postrm() {
-# elisp-site-regen
-# }
+# pkg_postrm() {
+# elisp-site-regen
+# }
# @CODE
#
# Again, with optional Emacs support, you should prepend "use emacs &&"
@@ -356,8 +356,8 @@ elisp-make-autoload-file() {
#
# Example:
# @CODE
-# elisp-org-export-to texinfo README.org
-# mv README.texi ${PN}.texi || die
+# elisp-org-export-to texinfo README.org
+# mv README.texi ${PN}.texi || die
# @CODE
elisp-org-export-to() {
@@ -512,16 +512,16 @@ elisp-test-ert() {
#
# Example:
# @CODE
-# inherit elisp-common
+# inherit elisp-common
#
-# ...
+# ...
#
-# elisp-enable-tests --optional ert-runner "${S}"/elisp -t "!org"
+# elisp-enable-tests --optional ert-runner "${S}"/elisp -t "!org"
#
-# src_test() {
-# emake -C tests test
-# elisp-test
-# }
+# src_test() {
+# emake -C tests test
+# elisp-test
+# }
# @CODE
elisp-enable-tests() {
@@ -662,7 +662,7 @@ elisp-site-file-install() {
# this will add the package's SITELISP subdirectory to Emacs' load-path:
#
# @CODE
-# (add-to-list 'load-path "@SITELISP@")
+# (add-to-list 'load-path "@SITELISP@")
# @CODE
#
# Additional arguments are appended as lines to the destination file.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-16 18:45 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-12-16 18:45 UTC (permalink / raw
To: gentoo-commits
commit: 4066b05ec44ace7c595a38cc94497037c3b9b8aa
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 16 18:44:40 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Dec 16 18:44:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4066b05e
elisp-common.eclass: Fix elisp-check-emacs-version() documentation
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/elisp-common.eclass | 1 -
1 file changed, 1 deletion(-)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index e328a7920002..117544e94b35 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -260,7 +260,6 @@ elisp-emacs-version() {
}
# @FUNCTION: elisp-check-emacs-version
-# @USAGE: [version]
# @DESCRIPTION:
# Test if the eselected Emacs version is at least the version of
# GNU Emacs specified in the NEED_EMACS variable, or die otherwise.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-16 15:17 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-16 15:17 UTC (permalink / raw
To: gentoo-commits
commit: 4490fff1cd5ba88de79a9e956b91241f2a1fecaa
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 16 15:16:39 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Dec 16 15:16:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4490fff1
toolchain.eclass: fix _tc_use_if_iuse typo
Fixes: 3ab36cc3531af8a39c1b28bc30f8b724b9242949
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 55b2127a4f11..8d2c04b6bf25 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1323,7 +1323,7 @@ toolchain_src_configure() {
confgcc+=( --enable-lto )
# Build compiler itself using LTO
- if tc_use_if_iuse lto ; then
+ if _tc_use_if_iuse lto ; then
# GCC 11 at least has a -Wlto-type-mismatch issue with Ada
if ! tc_version_is_at_least 12.1 && is_ada ; then
:;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-16 5:57 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-12-16 5:57 UTC (permalink / raw
To: gentoo-commits
commit: d4dc2d719da567dd79ce4a7c406a5130ea98ce85
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 15 20:12:00 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 16 05:55:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d4dc2d71
llvm.org.eclass: Add 20.0.0_pre20241215 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 a7685a38575b..6a68bde89a46 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
+ 20.0.0_pre20241215)
+ EGIT_COMMIT=49a5ad8e5714fd404210279303acc97b495d66d0
+ ;;
20.0.0_pre20241207)
EGIT_COMMIT=32f7f0010bca99ee4bd917f57272733fb2bf3bd9
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-15 12:48 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-15 12:48 UTC (permalink / raw
To: gentoo-commits
commit: 3ab36cc3531af8a39c1b28bc30f8b724b9242949
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 15 12:18:34 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 15 12:48:14 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ab36cc3
toolchain.eclass: don't build with LTO for USE=ada && < gcc-12
There's another -Wlto-type-mismatch issue in GCC 11 with USE=ada and
the patch we used in >=12 doesn't apply cleanly there, not worth spending
the time on for an EOL branch.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 4e27cd2fb8f6..55b2127a4f11 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1323,8 +1323,13 @@ toolchain_src_configure() {
confgcc+=( --enable-lto )
# Build compiler itself using LTO
- if tc_version_is_at_least 9.1 && _tc_use_if_iuse lto ; then
- BUILD_CONFIG_TARGETS+=( bootstrap-lto )
+ if tc_use_if_iuse lto ; then
+ # GCC 11 at least has a -Wlto-type-mismatch issue with Ada
+ if ! tc_version_is_at_least 12.1 && is_ada ; then
+ :;
+ elif tc_version_is_at_least 9.1 ; then
+ BUILD_CONFIG_TARGETS+=( bootstrap-lto )
+ fi
fi
if tc_version_is_at_least 12 && _tc_use_if_iuse cet && [[ -z ${CLANG_DISABLE_CET_HACK} && ${CTARGET} == x86_64-*-gnu* ]] ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-15 9:47 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-15 9:47 UTC (permalink / raw
To: gentoo-commits
commit: e0012940b823476f795f088db4bf2395577df2bb
Author: Eric Joldasov <bratishkaerik <AT> landless-city <DOT> net>
AuthorDate: Mon May 13 11:21:46 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 15 09:47:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0012940
zig.eclass: new eclass
This eclass is built on top of `zig-utils.eclass` and works with
`zig build` sub-commands and `build.zig` system, here called ZBS or
Zig Build System. By default it adds convenient default dependencies
and phase functions (which can be opt-out by setting `ZIG_OPTIONAL=1`)
that:
* work with dependencies from official package manager,
* configures basic sane options for `zig build`, which can be further
complemented by ebuild authors and users,
* respects user settings for verbosity and jobs number,
* has some basic support for cross-compilation, which works on my PC
with `crossdev` and QEMU-ed Docker container, but it was not tested
on real machine yet.
This is a major step in unifying behaviour and de-duplicating logic
spanning multiple ebuilds (target convertion and jobs amount
in `dev-lang/zig`, different Zig search and build options configuration
in `sys-fs/ncdu` and other ebuilds in community overlays). Mentioned
ebuilds are converted in next commits.
It is recommended to use https://github.com/BratishkaErik/zig-ebuilder
with this eclass to generate base for new ebuilds.
Signed-off-by: Eric Joldasov <bratishkaerik <AT> landless-city.net>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/zig.eclass | 558 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 558 insertions(+)
diff --git a/eclass/zig.eclass b/eclass/zig.eclass
new file mode 100644
index 000000000000..e838616ef72a
--- /dev/null
+++ b/eclass/zig.eclass
@@ -0,0 +1,558 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: zig.eclass
+# @MAINTAINER:
+# Eric Joldasov <bratishkaerik@landless-city.net>
+# @AUTHOR:
+# Alfred Wingate <parona@protonmail.com>
+# Violet Purcell <vimproved@inventati.org>
+# Eric Joldasov <bratishkaerik@landless-city.net>
+# @SUPPORTED_EAPIS: 8
+# @PROVIDES: zig-utils
+# @BLURB: Functions for working with ZBS (Zig Build System)
+# @DESCRIPTION:
+# Functions for working with Zig build system and package manager.
+# Supports Zig 0.13+. Exports default functions for convenience.
+#
+# Note that zig.eclass is mostly tailored for projects that:
+# 1) Install something in build.zig steps: "artifacts" (executable,
+# libraries, objects), source codes, assets, tests, scripts etc. But
+# many authors also use it to write Zig "modules", build logic
+# and/or bindings/wrappers for C/C++ libraries. They install nothing
+# and are only used at build-time, so it's unneccessary and mostly
+# useless to make ebuilds for them.
+# 2) Have required `target`, `cpu` and optional `optimize` options in
+# build.zig that accept standard Zig-style target and optimize mode.
+# They are usually created by calling `b.standardTargetOptions` and
+# `b.standardOptimizeOption` functions.
+#
+# For end-user executables, usually it's recommended to patch to call
+# these options and upstream it, but in some cases authors have good
+# reasons to not have them, f.e. if it is built only for WASM
+# platform with ReleaseSmall, and is not intended to run in /usr/bin/.
+# In this case, declare dummy options using `b.option` and ignore
+# their values, or else eclass wouldn't work.
+#
+# Another case is when upstream has `target` option but it has
+# custom format and does not accept usual Zig targets, but rather
+# something specific to the project like "linux-baseline-lts", or
+# combine CPU and target in one option.
+# In this case, it's best to rename that option to something like
+# `target-custom`, then declare `target` option and make converter
+# from one value to other.
+#
+# For non-executable binaries like C libraries, objects etc. our
+# policy is stricter, all 3 options are required and should not
+# be ignored, with no exceptions.
+
+if [[ -z ${_ZIG_ECLASS} ]]; then
+_ZIG_ECLASS=1
+
+case ${EAPI} in
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+inherit multiprocessing zig-utils
+
+# @ECLASS_VARIABLE: ZIG_OPTIONAL
+# @PRE_INHERIT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set to a non-empty value, all logic in zig-utils and
+# zig eclasses will be considered optional. No dependencies
+# will be added and no phase functions will be exported.
+#
+# For zig.eclass users:
+# You need to add Zig and pkgconfig dependencies in your BDEPEND, set
+# QA_FLAGS_IGNORED and call all phase functions manually. If you want
+# to use "ezig build" directly, call "zig_pkg_setup" before it.
+#
+# For zig-utils.eclass users: see documentation in
+# zig-utils.eclass instead.
+if [[ ! ${ZIG_OPTIONAL} ]]; then
+ BDEPEND="virtual/pkgconfig"
+
+ # See https://github.com/ziglang/zig/issues/3382
+ # Zig Build System does not support CFLAGS/LDFLAGS/etc.
+ QA_FLAGS_IGNORED=".*"
+fi
+
+# @ECLASS_VARIABLE: ZBS_DEPENDENCIES
+# @PRE_INHERIT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Bash associative array with all tarballs that will be fetched by
+# "ezig fetch" in zig_src_unpack phase. Value is URL where
+# tarball is located, key is name under which it would be downloaded
+# and renamed. So generally it has effect of "value -> key".
+#
+# Note: if Zig Build System dependency can't be represented in SRC_URI
+# (like direct Git commit URIs), you should do the following
+# (zig-ebuilder does archiving automatically for you):
+# 1. Archive each folder with dependency content in some tarball,
+# so f.e. if you have 2 Git dependencies, create 2 tarballs.
+# 2. Archive all previous tarballs into one combined tarball (also
+# called tarball-tarball from now on), no subdirs, so that eclass
+# can firstly unpack this tarball with "unpack",
+# and secondly unpack its content with "zig fetch".
+# 3. (zig-ebuilder can't do this) Host this tarball somewhere
+# and put URL of this tarball in SRC_URI, and archives in
+# ZBS_DEPENDENCIES, keys must be names of archives, values empty.
+#
+# Example:
+# @CODE
+# declare -r -A ZBS_DEPENDENCIES=(
+# [tarball_a-<long-hash>.tar.gz]='URL_A'
+# [tarball_b-<long-hash>.tar.gz]='URL_B'
+#
+# # If there are Git dependencies:
+# [git_c-<long-hash>.tar.gz]=''
+# # Tarball-tarball should contain inside above tarball flatly.
+# )
+# @CODE
+
+# @ECLASS_VARIABLE: ZBS_DEPENDENCIES_SRC_URI
+# @OUTPUT_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Content of ZBS_DEPENDENCIES converted at inherit-time, to be used in
+# SRC_URI. Note that elements with empty keys will be skipped.
+# Example:
+# @CODE
+# SRC_URI="
+# <URL to project sources, patches, non-Zig resources etc.>
+#
+# # If there are Git dependencies:
+# # <URL to tarball-tarball>
+#
+# ${ZBS_DEPENDENCIES_SRC_URI}
+# "
+# @CODE
+
+# @FUNCTION: _zig_set_zbs_uris
+# @INTERNAL
+# @DESCRIPTION:
+# Sets ZBS_DEPENDENCIES_SRC_URI variable based on ZBS_DEPENDENCIES.
+_zig_set_zbs_uris() {
+ # Thanks to Alfred Wingate "parona" for inspiration here:
+ # https://gitlab.com/Parona/parona-overlay/-/blob/874dcfe03116574a33ed51f469cc993e98db1fa2/eclass/zig.eclass
+
+ ZBS_DEPENDENCIES_SRC_URI=
+
+ local dependency
+ for dependency in "${!ZBS_DEPENDENCIES[@]}"; do
+ local uri="${ZBS_DEPENDENCIES[${dependency}]}"
+ if [[ -n "${uri}" ]]; then
+ ZBS_DEPENDENCIES_SRC_URI+=" ${uri} -> ${dependency}"
+ fi
+ done
+}
+_zig_set_zbs_uris
+
+# @ECLASS_VARIABLE: my_zbs_args
+# @DESCRIPTION:
+# Bash array with ebuild-specified arguments to pass to the
+# "zig build" after "src_configure".
+# It's appended to the ZBS_ARGS during "src_configure". Note: if you
+# need to override default optimize mode of this eclass (ReleaseSafe)
+# with your default, please use "--release=small" etc. syntax so that
+# user can still override it in ZBS_ARGS_EXTRA.
+#
+# Example:
+# @CODE
+# src_configure() {
+# local my_zbs_args=(
+# -Dpie=true
+# )
+#
+# zig_src_configure
+# }
+# @CODE
+: "${my_zbs_args:=}"
+
+# @ECLASS_VARIABLE: ZBS_ARGS_EXTRA
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Bash string with user-specified arguments to pass to the "zig build"
+# after "src_configure".
+# It's appended to the ZBS_ARGS during "zig_src_configure".
+#
+# If this does not have amount of jobs, eclass will try to take amount
+# of jobs from MAKEOPTS, and if it also does not have them, it will
+# default to $(nproc).
+#
+# Example:
+# @CODE
+# ZBS_ARGS_EXTRA="-j8 --release=small"
+# @CODE
+: "${ZBS_ARGS_EXTRA:=}"
+
+# @ECLASS_VARIABLE: ZBS_VERBOSE
+# @USER_VARIABLE
+# @DESCRIPTION:
+# If enabled, eclass will add "--summary all --verbose" options to
+# "ezig build", so that it prints every command before executing,
+# and summarry tree at the end of step. If not, will do nothing.
+# Enabled by default. Set to OFF to disable these verbose messages.
+#
+# Note: this variable does not control other options starting with
+# "--verbose-", such as "--verbose-link" or "--verbose-cimport". If
+# you need them, add them manually to ZBS_ARGS_EXTRA.
+: "${ZBS_VERBOSE:=ON}"
+
+# @ECLASS_VARIABLE: BUILD_DIR
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Directory where all "ezig build" calls will be proceeded.
+# Defaults to "${WORKDIR}/${P}-build" if not set.
+: "${BUILD_DIR:=${WORKDIR}/${P}-build}"
+
+# @ECLASS_VARIABLE: ZBS_ECLASS_DIR
+# @DESCRIPTION:
+# Directory where various files used by this eclass are stored.
+# They can be supplied by the ebuild or by eclass.
+# Currently, it's used only for Zig packages, which are stored in "p/"
+# subdirectory.
+# Defaults to "${WORKDIR}/zig-eclass" if not set.
+# Should be set before calling "zig_src_unpack" or
+# "zig_live_fetch".
+: "${ZBS_ECLASS_DIR:=${WORKDIR}/zig-eclass}"
+
+# @FUNCTION: zig_get_jobs
+# @DESCRIPTION:
+# Returns number of jobs from ZBS_ARGS_EXTRA or MAKEOPTS.
+# If there is none, defaults to number of available processing units.
+zig_get_jobs() {
+ local all_args="${MAKEOPTS} ${ZBS_ARGS_EXTRA}"
+ local default_jobs="$(get_nproc)"
+ local jobs="$(makeopts_jobs "${all_args}" "${default_jobs}")"
+
+ if [[ "${jobs}" == "0" ]]; then
+ # Zig build system does not allow "-j0", and does not have
+ # option for unlimited parallelism. Pass our default number
+ # of jobs here.
+ echo "${default_jobs}"
+ else
+ echo "${jobs}"
+ fi
+}
+
+# @FUNCTION: zig_init_base_args
+# @DESCRIPTION:
+# Stores basic args for future "ezig build" calls in ZBS_ARGS_BASE.
+# Package manager option is managed by "zig_src_prepare",
+# ebuild and user options are added by "zig_src_configure".
+#
+# This function is used by "zig_pkg_setup", and it is neccessary
+# that args are available as early as possible, so that ebuilds
+# could use them in steps like "src_unpack" if neccessary, while
+# still having verbosity and amount of jobs from user respected.
+#
+#
+# TODO: currently this function enables "--search-prefix" (1) and
+# "--sysroot" (2) only when cross-compiling, should be fixed to
+# unconditionally enabling it.
+#
+# For solving (1) this patch should be reworked and upstreamed:
+# https://paste.sr.ht/~bratishkaerik/2ddffe2bf0f8f9d6dfb60403c2e9560334edaa88
+#
+# (2)
+# "--sysroot" should be passed together with "--search-prefix" above,
+# if we pass only "--sysroot" it gives these errors:
+# @CODE
+# error: unable to find dynamic system library 'zstd' using strategy 'paths_first'. searched paths: none
+# @CODE
+zig_init_base_args() {
+ [[ "${ZBS_ARGS_BASE}" ]] && return
+
+ # Sync with the output format of `zig libc`.
+ # TODO maybe add to upstream to use ZON format instead...
+ # Will also help "https://github.com/ziglang/zig/issues/20327",
+ # and hopefully will respect our settings too.
+ cat <<- _EOF_ > "${T}/zig_libc.txt" || die "Failed to provide Zig libc info"
+ # Note: they are not prepended by "--sysroot" value,
+ # so repeat it here.
+ # Also, no quotes here, they are interpreted verbatim.
+ include_dir=${ESYSROOT}/usr/include/
+ sys_include_dir=${ESYSROOT}/usr/include/
+ crt_dir=${ESYSROOT}/usr/$(get_libdir)/
+ # Windows with MSVC only.
+ msvc_lib_dir=
+ # Windows with MSVC only.
+ kernel32_lib_dir=
+ # Haiku only.
+ gcc_dir=
+ _EOF_
+
+ declare -g -a ZBS_ARGS_BASE=(
+ -j$(zig_get_jobs)
+
+ -Dtarget="${ZIG_TARGET}"
+ -Dcpu="${ZIG_CPU}"
+ --release=safe
+
+ --prefix-exe-dir bin/
+ --prefix-lib-dir "$(get_libdir)/"
+ --prefix-include-dir include/
+
+ # Should be relative path to make other calls easier,
+ # so remove leading slash here.
+ --prefix "${EPREFIX:+${EPREFIX#/}/}usr/"
+
+ --libc "${T}/zig_libc.txt"
+ )
+ if [[ "${ZBS_VERBOSE}" != OFF ]]; then
+ ZBS_ARGS_BASE+=( --summary all --verbose )
+ fi
+
+ if tc-is-cross-compiler; then
+ ZBS_ARGS_BASE+=(
+ --search-prefix "${ESYSROOT}/usr/"
+ --sysroot "${ESYSROOT}/"
+ )
+ fi
+}
+
+# @FUNCTION: zig_pkg_setup
+# @DESCRIPTION:
+# Sets up environmental variables for Zig toolchain
+# and basic args for Zig Build System.
+zig_pkg_setup() {
+ [[ "${MERGE_TYPE}" != binary ]] || return 0
+
+ zig-utils_setup
+ zig_init_base_args
+
+ mkdir "${T}/zig-cache/" || die
+
+ # Environment variables set by this eclass.
+
+ # Used by Zig Build System to find `pkg-config`.
+ # UPSTREAM Used only by 9999 for now, should land in future
+ # 0.14 release.
+ export PKG_CONFIG="${PKG_CONFIG:-"$(tc-getPKG_CONFIG)"}"
+ # Used by whole Zig toolchain (most of the sub-commands)
+ # to find local and global cache directories.
+ export ZIG_LOCAL_CACHE_DIR="${T}/zig-cache/local/"
+ export ZIG_GLOBAL_CACHE_DIR="${T}/zig-cache/global/"
+}
+
+# @FUNCTION: zig_live_fetch
+# @USAGE: [<args>...]
+# @DESCRIPTION:
+# Fetches packages, if they exist, to the "ZBS_ECLASS_DIR/p/".
+# Adds build file path to ZBS_BASE_ARGS.
+# If you have some lazy dependency which is not triggered in default
+# configuration, pass options like you would pass them for regular
+# "ezig build". Try to cover all of them before "src_configure".
+# **Note**: this function will be deprecated once/if
+# https://github.com/ziglang/zig/pull/19975 lands.
+#
+# Example:
+# @CODE
+# src_unpack() {
+# # If there are no lazy dependency:
+# zig_live_fetch
+#
+# # If there are lazy dependencies that can be triggered together:
+# zig_live_fetch -Denable-wayland -Denable-xwayland
+#
+# # If there are 2 lazy dependencies that can't be triggered
+# # together in one call because they conflict:
+# zig_live_fetch -Dmain-backend=opengl
+# zig_live_fetch -Dmain-backend=vulkan
+# }
+# @CODE
+zig_live_fetch() {
+ # This function will likely be called in src_unpack,
+ # before [zig_]src_prepare, so this directory might not
+ # exist yet.
+ mkdir -p "${BUILD_DIR}" > /dev/null || die
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ ZBS_ARGS_BASE+=( --build-file "${S}/build.zig" )
+
+ local args=(
+ "${ZBS_ARGS_BASE[@]}"
+
+ --global-cache-dir "${ZBS_ECLASS_DIR}/"
+
+ # Function arguments
+ "${@}"
+ )
+
+ einfo "ZBS: live-fetching with:"
+ einfo "${args[@]}"
+ ezig build --help "${args[@]}" > /dev/null
+
+ popd > /dev/null || die
+}
+
+# @FUNCTION: zig_src_unpack
+# @DESCRIPTION:
+# Unpacks every archive in SRC_URI and ZBS_DEPENDENCIES,
+# in that order. Adds build file path to ZBS_BASE_ARGS.
+zig_src_unpack() {
+ # Thanks to Alfred Wingate "parona" for inspiration here:
+ # https://gitlab.com/Parona/parona-overlay/-/blob/874dcfe03116574a33ed51f469cc993e98db1fa2/eclass/zig.eclass
+
+ ZBS_ARGS_BASE+=( --build-file "${S}/build.zig" )
+
+ if [[ "${#ZBS_DEPENDENCIES_SRC_URI}" -eq 0 ]]; then
+ default_src_unpack
+ return
+ fi
+
+ local zig_deps=()
+ for dependency in "${!ZBS_DEPENDENCIES[@]}"; do
+ zig_deps+=("${dependency}")
+ done
+
+ # First unpack non-Zig dependencies, so that
+ # tarball with all Git dependencies tarballs is unpacked early.
+ local dist
+ for dist in ${A}; do
+ if ! has "${dist}" "${zig_deps[@]}"; then
+ unpack "${dist}"
+ fi
+ done
+
+ # Now unpack all Zig dependencies, including those that are
+ # now unpacked from tarball-tarball.
+ local zig_dep
+ for zig_dep in "${zig_deps[@]}"; do
+ # Hide now-spammy hash from stdout
+ ezig fetch --global-cache-dir "${ZBS_ECLASS_DIR}/" \
+ "${DISTDIR}/${zig_dep}" > /dev/null
+ done
+ einfo "ZBS: ${#zig_deps[@]} dependencies unpacked"
+}
+
+# @FUNCTION: zig_src_prepare
+# @DESCRIPTION:
+# Calls default "src_prepare" function, creates BUILD_DIR directory
+# and enables system mode (by adding to ZBS_BASE_ARGS).
+#
+# System mode is toggled here and not in "src_unpack" because they
+# could have been fetched by "live_fetch" in live ebuilds instead.
+zig_src_prepare() {
+ default_src_prepare
+
+ mkdir -p "${BUILD_DIR}" || die
+ einfo "BUILD_DIR: \"${BUILD_DIR}\""
+
+ local system_dir="${ZBS_ECLASS_DIR}/p/"
+ mkdir -p "${system_dir}" || die
+ ZBS_ARGS_BASE+=(
+ # Disable network access after ensuring all dependencies
+ # are unpacked (by "src_unpack" or "live_fetch")
+ --system "${system_dir}"
+ )
+}
+
+# @FUNCTION: zig_src_configure
+# @DESCRIPTION:
+# Creates ZBS_ARGS array which can be used in all future phases,
+# by combining ZBS_ARGS_BASE set previously, my_zbs_args from ebuild,
+# and ZBS_ARGS_EXTRA by user, in this order.
+#
+# Specific flags currently only add support for the cross-compilation.
+# They are likely to be extended in the future.
+zig_src_configure() {
+ # Handle quoted whitespace.
+ eval "local -a ZBS_ARGS_EXTRA=( ${ZBS_ARGS_EXTRA} )"
+
+ # Since most arguments in array are also cached by ZBS, we
+ # want to reuse array as much as possible, so prevent
+ # modification of it.
+ declare -g -a -r ZBS_ARGS=(
+ # Base arguments from pkg_setup/setup_base_args
+ "${ZBS_ARGS_BASE[@]}"
+
+ # Arguments from ebuild
+ "${my_zbs_args[@]}"
+
+ # Arguments from user
+ "${ZBS_ARGS_EXTRA[@]}"
+ )
+
+ einfo "ZBS: configured with:"
+ einfo "${ZBS_ARGS[@]}"
+}
+
+# @FUNCTION: zig_src_compile
+# @USAGE: [<args>...]
+# @DESCRIPTION:
+# Calls "ezig build" with previously set ZBS_ARGS.
+# Args passed to this function will be passed after ZBS_ARGS.
+zig_src_compile() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ local args=( "${ZBS_ARGS[@]}" "${@}" )
+ einfo "ZBS: compiling with: ${args[@]}"
+ nonfatal ezig build "${args[@]}" || die "ZBS: compilation failed"
+
+ popd > /dev/null || die
+}
+
+# @FUNCTION: zig_src_test
+# @USAGE: [<args>...]
+# @DESCRIPTION:
+# If "test" step exist, calls "ezig build test" with previously set
+# ZBS_ARGS.
+# Args passed to this function will be passed after ZBS_ARGS.
+# Note: currently step detection might give false positives in
+# very rare cases, it will be improved in the future.
+zig_src_test() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ local args=( "${ZBS_ARGS[@]}" "${@}" )
+
+ # UPSTREAM std.testing.tmpDir and a lot of other functions
+ # do not respect --cache-dir or ZIG_LOCAL_CACHE_DIR:
+ # https://github.com/ziglang/zig/issues/19874
+ mkdir ".zig-cache/" || die
+
+ # UPSTREAM Currently, step name can have any characters in it,
+ # including whitespaces, so splitting names and descriptions
+ # by whitespaces is not enough for some cases.
+ # We probably need something like "--list-steps names_only".
+ # In practice, almost nobody sets such names.
+ if grep -q '^[ ]*test[ ]' < <(
+ nonfatal ezig build --list-steps "${args[@]}" ||
+ die "ZBS: listing steps failed"
+ ); then
+ einfo "ZBS: testing with: ${args[@]}"
+ nonfatal ezig build test "${args[@]}" ||
+ die "ZBS: tests failed"
+ else
+ einfo "Test step not found, skipping."
+ fi
+
+ popd > /dev/null || die
+}
+
+# @FUNCTION: zig_src_install
+# @USAGE: [<args>...]
+# @DESCRIPTION:
+# Calls "ezig build" with DESTDIR and previously set ZBS_ARGS.
+# Args passed to this function will be passed after ZBS_ARGS.
+# Also installs documentation via "einstalldocs".
+zig_src_install() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+ local args=( "${ZBS_ARGS[@]}" "${@}" )
+ einfo "ZBS: installing with: ${args[@]}"
+ DESTDIR="${D}" nonfatal ezig build "${args[@]}" ||
+ die "ZBS: installing failed"
+ popd > /dev/null || die
+
+ einstalldocs
+}
+
+fi
+
+if [[ ! ${ZIG_OPTIONAL} ]]; then
+ EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install
+fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-15 3:08 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-15 3:08 UTC (permalink / raw
To: gentoo-commits
commit: 407beaa9de0f6d3056b71d5144cd7205ae413a6f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 15 03:05:12 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 15 03:07:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=407beaa9
toolchain.eclass: set ADA_{INCLUDE,OBJECTS}_DIR for new ada-bootstrap path
For self-built ada-bootstrpa tarballs, we need this to help find
the runtime library.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 6eef2a0ec03e..4e27cd2fb8f6 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -979,6 +979,9 @@ toolchain_setup_ada() {
latest_ada_bootstrap="${latest_ada_bootstrap#dev-lang/ada-bootstrap-}"
latest_ada_bootstrap=$(ver_cut 1 ${latest_ada_bootstrap})
ada_bootstrap="${latest_ada_bootstrap}"
+
+ export ADA_INCLUDE_PATH="${BROOT}/usr/lib/ada-bootstrap/usr/lib/gcc/${CHOST}/${ada_bootstrap}/adainclude::${ADA_INCLUDE_PATH}"
+ export ADA_OBJECTS_PATH="${BROOT}/usr/lib/ada-bootstrap/usr/lib/gcc/${CHOST}/${ada_bootstrap}/adalib:${ADA_OBJECTS_PATH}"
fi
ada_bootstrap_type=ada-bootstrap
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-14 18:43 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-14 18:43 UTC (permalink / raw
To: gentoo-commits
commit: 9c0077a62d40b6b7078ff75c883f3b33cd8ecca9
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 14 18:41:27 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 14 18:43:02 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c0077a6
toolchain.eclass: prepare for dev-lang/ada-bootstrap with diff version
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 51704a7f5fbf..6eef2a0ec03e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -971,12 +971,16 @@ toolchain_setup_ada() {
if ver_test ${ada_bootstrap} -gt ${PV} || [[ -z ${ada_bootstrap} ]] ; then
ebegin "Testing fallback dev-lang/ada-bootstrap for Ada"
if has_version -b "<dev-lang/ada-bootstrap-${SLOT}" ; then
- # TODO: Figure out ada-bootstrap versioning/slots
+ # Workaround the old scheme
+ if has_version -b "=dev-lang/ada-bootstrap-0_p2021*" ; then
+ ada_bootstrap=10
+ else
+ local latest_ada_bootstrap=$(best_version -b "<dev-lang/ada-bootstrap-${SLOT}")
+ latest_ada_bootstrap="${latest_ada_bootstrap#dev-lang/ada-bootstrap-}"
+ latest_ada_bootstrap=$(ver_cut 1 ${latest_ada_bootstrap})
+ ada_bootstrap="${latest_ada_bootstrap}"
+ fi
- #local latest_ada_bootstrap=$(best_version -b "<dev-lang/ada-bootstrap-${SLOT}")
- #latest_ada_bootstrap="${latest_ada_bootstrap#dev-lang/ada-bootstrap-}"
- #latest_ada_bootstrap=$(ver_cut 1 ${latest_ada_bootstrap})
- ada_bootstrap="10"
ada_bootstrap_type=ada-bootstrap
ada_bootstrap_bin_dir="${BROOT}/usr/lib/ada-bootstrap/bin"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-14 16:33 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-14 16:33 UTC (permalink / raw
To: gentoo-commits
commit: 148b773c86ce9a1b6e97fadde809652938236c59
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 14 16:24:27 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 14 16:30:58 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=148b773c
toolchain.eclass: only make gnat* tool wrappers for native builds
Only make the wrappers for native builds. For cross, we can't
do it as CBUILD vs CHOST will get mixed up then.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 29 ++++++++++++++++++-----------
1 file changed, 18 insertions(+), 11 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index c59f1246459f..51704a7f5fbf 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1085,19 +1085,26 @@ toolchain_setup_ada() {
# Create bin wrappers because not all of the build system respects
# GNATBIND or GNATMAKE.
- mkdir "${T}"/ada-wrappers || die
- local tool
- for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
- cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
- #!/bin/sh
- exec "${ada_bootstrap_bin_dir}"/${CHOST}-${tool} "\$@"
- EOF
+ _toolchain_make_gnat_wrappers() {
+ mkdir "${T}"/ada-wrappers || die
+ local tool
+ for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
+ cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
+ #!/bin/sh
+ exec "${ada_bootstrap_bin_dir}"/${CHOST}-${tool} "\$@"
+ EOF
+
+ export "${tool^^}"="${T}"/ada-wrappers/${tool}
+ done
+ chmod +x "${T}"/ada-wrappers/gnat{,bind,chop,clean,kr,link,ls,make,name,prep} || die
- export "${tool^^}"="${T}"/ada-wrappers/${tool}
- done
- chmod +x "${T}"/ada-wrappers/gnat{,bind,chop,clean,kr,link,ls,make,name,prep} || die
+ export PATH="${T}/ada-wrappers:${old_path}"
+ }
+
+ # Only make the wrappers for native builds. For cross, we can't
+ # do it as CBUILD vs CHOST will get mixed up then.
+ ! tc-is-cross-compiler && _toolchain_make_gnat_wrappers
- export PATH="${T}/ada-wrappers:${old_path}"
export CC="$(tc-getCC) -specs=${T}/ada.spec"
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-14 12:47 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-14 12:47 UTC (permalink / raw
To: gentoo-commits
commit: 4618bed8161e7e28c6704726cee0aebdf5f17109
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 14 12:46:13 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 14 12:47:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4618bed8
toolchain.eclass: don't try to enable offloading for non-linux
--enable-offload-defaulted doesn't work with x86_64-w64-mingw32 and
gets confused by plugin support not being available. Just disable it
for non-Linux.
Closes: https://bugs.gentoo.org/946397
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d72047e891d1..c59f1246459f 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1635,8 +1635,9 @@ toolchain_src_configure() {
[[ ${CTARGET} == *-darwin* ]] && \
confgcc+=( --enable-version-specific-runtime-libs )
+ # Linux specifically here for bug #946397.
# TODO: amdgcn-amdhsa?
- [[ ${CTARGET} == x86_64* ]] && confgcc+=(
+ [[ ${CTARGET} == x86_64*-*-linux-* ]] && confgcc+=(
--enable-offload-defaulted
--enable-offload-targets=nvptx-none
)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-13 13:11 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2024-12-13 13:11 UTC (permalink / raw
To: gentoo-commits
commit: 09b4524862a03f6e11a9e42d7913f82c66e65b63
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 8 08:23:12 2024 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Fri Dec 13 13:10:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09b45248
ruby-fakegem.eclass: compile ruby31 extensions with gnu17
The varargs implementation in Ruby 3.2 is not compatible with gnu23. Ruby
3.1 is in security maintenance mode upstream so it is unlikely that the
fixes from Ruby 3.2 will be backported. Ruby 3.1 is EOL in March 2025
and will be removed from Gentoo around that time.
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/ruby-fakegem.eclass | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
index eb6257a50cf9..fc78428be714 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.eclass
@@ -23,6 +23,8 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
+# flag-o-matic is only required for ruby31 support.
+inherit flag-o-matic
inherit ruby-ng
# @ECLASS_VARIABLE: RUBY_FAKEGEM_NAME
@@ -424,6 +426,16 @@ EOF
each_fakegem_configure() {
debug-print-function ${FUNCNAME} "$@"
+ # Ruby 3.1 has a varargs implementation that is not compatible with
+ # gnu23. Ruby 3.1 is EOL in March 2025 and will be removed shortly
+ # after that.
+ case ${RUBY} in
+ *ruby31)
+ append-flags -std=gnu17
+ filter-flags -std=gnu23
+ ;;
+ esac
+
tc-export PKG_CONFIG
for extension in "${RUBY_FAKEGEM_EXTENSIONS[@]}" ; do
CC=$(tc-getCC) ${RUBY} --disable=did_you_mean -C ${extension%/*} ${extension##*/} --with-cflags="${CFLAGS}" --with-ldflags="${LDFLAGS}" ${RUBY_FAKEGEM_EXTENSION_OPTIONS} || die
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-13 10:02 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-12-13 10:02 UTC (permalink / raw
To: gentoo-commits
commit: 589efbb6dd81a44451e2ec6c8e1b52991d29b9d7
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 13 09:59:08 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Fri Dec 13 10:02:33 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=589efbb6
texlive-module.eclass: change _sgrep to _tl_sgrep
Bash functions are always global, hence put the "local" function under a
proper '_tl' namespace. Thanks to ulm for pointing this out.
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-module.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index ebd65e3dd0d8..15dcdea5df20 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -539,10 +539,10 @@ texlive-module_src_install() {
local status
# "success-status aware grep", returning exit status 0 instead of 1.
- _sgrep() { grep "$@"; return "$(( $? <= 1 ? 0 : $? ))"; }
+ _tl_sgrep() { grep "$@"; return "$(( $? <= 1 ? 0 : $? ))"; }
ebegin "Installing man pages"
find texmf-dist/doc/man -type f -name '*.[0-9n]' -print |
- _sgrep -v "${grep_expressions[@]}" |
+ _tl_sgrep -v "${grep_expressions[@]}" |
xargs -d '\n' --no-run-if-empty nonfatal doman
status=$(pipestatus -v)
eend $? || die "error installing man pages (PIPESTATUS: ${status})"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-12 17:03 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-12-12 17:03 UTC (permalink / raw
To: gentoo-commits
commit: ba4bc48984a181310b7d15fb63f253c9518c9084
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 11 09:49:39 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Thu Dec 12 16:57:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba4bc489
latex-package.eclass: add default case to latex-package_src_doinstall
Add a default case to the switch/case statement in
latex-package_src_doinstall, invoking die.
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/latex-package.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/latex-package.eclass b/eclass/latex-package.eclass
index d6426775f720..dfef7fc2836f 100644
--- a/eclass/latex-package.eclass
+++ b/eclass/latex-package.eclass
@@ -200,6 +200,9 @@ latex-package_src_doinstall() {
"all")
latex-package_src_doinstall styles fonts bin doc
;;
+ *)
+ die "Unknown module: ${1}"
+ ;;
esac
shift
done
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-12 17:03 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-12-12 17:03 UTC (permalink / raw
To: gentoo-commits
commit: 5293d4b91dabb4c61afc4990b4f177d273f0fc80
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 11 08:49:42 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Thu Dec 12 17:02:03 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5293d4b9
texlive-module.eclass: use pipestatus
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-module.eclass | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index f8b6f0858cd6..ebd65e3dd0d8 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -79,7 +79,7 @@ esac
if [[ -z ${_TEXLIVE_MODULE_ECLASS} ]]; then
_TEXLIVE_MODULE_ECLASS=1
-inherit texlive-common
+inherit eapi9-pipestatus texlive-common
HOMEPAGE="https://www.tug.org/texlive/"
@@ -537,16 +537,15 @@ texlive-module_src_install() {
grep_expressions+=(-e "/${f//./\\.}\$")
done
+ local status
+ # "success-status aware grep", returning exit status 0 instead of 1.
+ _sgrep() { grep "$@"; return "$(( $? <= 1 ? 0 : $? ))"; }
ebegin "Installing man pages"
find texmf-dist/doc/man -type f -name '*.[0-9n]' -print |
- grep -v "${grep_expressions[@]}" |
+ _sgrep -v "${grep_expressions[@]}" |
xargs -d '\n' --no-run-if-empty nonfatal doman
- local pipestatus="${PIPESTATUS[*]}"
- # The grep in the middle of the pipe may return 1 in case
- # everything from the input is dropped.
- # See https://bugs.gentoo.org/931994
- [[ ${pipestatus} == "0 "[01]" 0" ]]
- eend $? || die "error installing man pages (pipestatus: ${pipestatus})"
+ status=$(pipestatus -v)
+ eend $? || die "error installing man pages (PIPESTATUS: ${status})"
# Delete all man pages under texmf-dist/doc/man
find texmf-dist/doc/man -type f -name '*.[0-9n]' -delete ||
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-12 17:03 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-12-12 17:03 UTC (permalink / raw
To: gentoo-commits
commit: b19ff3462450417986410812624ed7c29a767824
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 11 09:13:32 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Thu Dec 12 16:57:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b19ff346
latex-package.eclass: do not set $@ in latex-package_src_doinstall's loop
Since 595611085bc5 ("latex-package: kill POSIX and old EAPI"), the 'tex'
and 'dtx' case handling of latex-package_src_doinstall's loop would set
$@ to a pdflatex invocation. However, the main loop of this function
iterates over $@, and after $@ is set to a pdflatex command, this
iteration would continue to process the components of the pdflatex
command.
As result, ebuild have to
latex-package_src_doinstall doc
latex-package_src_doinstall pdf
when
latex-package_src_doinstall doc
should be sufficient, because the 'doc' case expands to the "tex dtx dvi
ps pdf" cases. However, once a 'tex' or 'dtx' case was processed, the
remaining onces are no longer be processed, due the bug described above.
The fix is simple: do not abuse $@ to save the pdflatex command,
instead, use a dedicated local variable.
Fixes: 595611085bc532afb9f31fa23cee734bc37d21a4
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/latex-package.eclass | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/eclass/latex-package.eclass b/eclass/latex-package.eclass
index 4082e161b843..d6426775f720 100644
--- a/eclass/latex-package.eclass
+++ b/eclass/latex-package.eclass
@@ -137,11 +137,16 @@ latex-package_src_doinstall() {
continue
einfo "Making documentation: ${i}"
+ local mypdflatex=(
+ pdflatex
+ ${LATEX_DOC_ARGUMENTS}
+ --halt-on-error
+ --interaction=nonstopmode
+ "${i}"
+ )
# some macros need compiler called twice, do it here.
- set -- pdflatex ${LATEX_DOC_ARGUMENTS} \
- --halt-on-error --interaction=nonstopmode "${i}"
- if "${@}"; then
- "${@}"
+ if "${mypdflatex[@]}"; then
+ "${mypdflatex[@]}"
else
einfo "pdflatex failed, trying texi2dvi"
texi2dvi -q -c --language=latex "${i}" || die
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-12 7:47 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-12 7:47 UTC (permalink / raw
To: gentoo-commits
commit: c048402e74be87600d1842702d79f778d5b59e9c
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 12 07:34:20 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 12 07:46:55 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c048402e
toolchain.eclass: allow overriding GCC_RUN_FIXINCLUDES
Useful for testing hacks.
Bug: https://bugs.gentoo.org/933282
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 8e91816735a9..55db818f6233 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -204,7 +204,7 @@ GCCMICRO=$(ver_cut 3 ${GCC_PV})
# @INTERNAL
# @DESCRIPTION:
# Controls whether fixincludes should be used.
-GCC_RUN_FIXINCLUDES=0
+: "${GCC_RUN_FIXINCLUDES:=0}"
tc_use_major_version_only() {
local use_major_version_only=0
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-12 7:47 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-12 7:47 UTC (permalink / raw
To: gentoo-commits
commit: 7d99be77433bf10fb0ce6fc99c7b40de700ed650
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 12 07:42:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 12 07:46:56 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d99be77
toolchain.eclass: stop deleting `install-tools`
Since da19e742f2d45221bec7a70c23903278c28e2664, we deleted anything in
`install-tools`, but this includes `mkheaders` which is needed to refresh
fixincludes.
See https://gcc.gnu.org/onlinedocs/gcc/Fixed-Headers.html.
Bug: https://bugs.gentoo.org/933282
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ----
1 file changed, 4 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 6584e57fb0fd..d72047e891d1 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2514,8 +2514,6 @@ toolchain_src_install() {
pushd "${WORKDIR}"/build-jit > /dev/null || die
S="${WORKDIR}"/build-jit emake DESTDIR="${D}" -j1 install
- # Punt some tools which are really only useful while building gcc
- find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \; || die
# This one comes with binutils
find "${ED}" -name libiberty.a -delete || die
@@ -2538,8 +2536,6 @@ toolchain_src_install() {
# - https://gcc.gnu.org/PR109898
S="${WORKDIR}"/build emake DESTDIR="${D}" -j1 install
- # Punt some tools which are really only useful while building gcc
- find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \; || die
# This one comes with binutils
find "${ED}" -name libiberty.a -delete || die
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-12 7:47 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-12 7:47 UTC (permalink / raw
To: gentoo-commits
commit: 6d18ca00e9b8cc2b0a6d931eff5ecd9802dc8b37
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 12 07:36:32 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 12 07:46:55 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6d18ca00
toolchain.eclass: tidy up fixincludes comment
It's not particularly useful these days.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 55db818f6233..6584e57fb0fd 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2494,11 +2494,7 @@ toolchain_src_install() {
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:
- # https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.647&r2=1.648
- # This is because bsd userland needs fixedincludes to build gcc, while
- # linux does not. Both can dispose of them afterwards.
+ # (ncurses, openssl, etc).
while read x ; do
grep -q 'It has been auto-edited by fixincludes from' "${x}" \
&& rm -f "${x}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-11 11:52 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-12-11 11:52 UTC (permalink / raw
To: gentoo-commits
commit: 4712e403c0ccfc6d3d857df61dee1fc910f4451f
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 11 10:00:22 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Dec 11 11:44:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4712e403
qt6-build.eclass: split sanitize_cpu_flags checks in separate blocks
About to add a new one and increasing the if levels was getting
confusing. This way can remove or add new ones without affecting
the others. Do need to check the sanitize variable multiple times
to avoid running extra checks for nothing though.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 3d3531dd96d5..a0ca9c619405 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -309,12 +309,16 @@ _qt6-build_sanitize_cpu_flags() {
avx512vp2intersect
)
+ local sanitize
+
# check if any known problematic -mno-* C(XX)FLAGS
- if ! is-flagq "@($(IFS='|'; echo "${cpuflags[*]/#/-mno-}"))"; then
- # check if qsimd_p.h (search for "enable all") will accept -march, and
- # further check when -march=haswell is appended (which Qt uses for some
- # parts) given combination with other -m* could lead to partial support
- local bad flags
+ is-flagq "@($(IFS='|'; echo "${cpuflags[*]/#/-mno-}"))" && sanitize=1
+
+ # check if qsimd_p.h (search for "enable all") will accept -march, and
+ # further check when -march=haswell is appended (which Qt uses for some
+ # parts) given combination with other -m* could lead to partial support
+ if [[ ! -v sanitize ]]; then
+ local flags
for flags in '' '-march=haswell'; do
: "$($(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} ${flags} - <<-EOF | tail -n 1
#if (defined(__AVX2__) && (__BMI__ + __BMI2__ + __F16C__ + __FMA__ + __LZCNT__ + __POPCNT__) != 6) || \
@@ -324,11 +328,15 @@ _qt6-build_sanitize_cpu_flags() {
EOF
pipestatus || die
)"
- [[ ${_} == bad ]] && bad=1 && break
+ if [[ ${_} == bad ]]; then
+ sanitize=1
+ break
+ fi
done
- [[ -v bad ]] || return 0 # *should* be fine as-is
fi
+ [[ -v sanitize ]] || return 0 # *should* be fine as-is
+
# determine highest(known) usable x86-64 feature level
local march=$(
$(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 1
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-11 11:52 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-12-11 11:52 UTC (permalink / raw
To: gentoo-commits
commit: d2d4b0b7154f57c9962e01d75b27b8aacbd8764e
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 11 10:52:55 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Dec 11 11:44:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2d4b0b7
qt6-build.eclass: add workaround for cpus with broken rdrand/rdseed
Not perfect but it should prevent failures for the average user.
Formerly meant to check if -march=native is in *FLAGS, but it
shouldn't matter as long as it is not cross.
Can't test myself, but it should work in theory.
Closes: https://bugs.gentoo.org/922498
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index a0ca9c619405..75630843c087 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -335,6 +335,18 @@ _qt6-build_sanitize_cpu_flags() {
done
fi
+ # some cpus have broken rdrand/rdseed and it's enabled regardless
+ # with -march=native, Qt detects this and fails (bug #922498)
+ if [[ ! -v sanitize ]] &&
+ ! tc-is-cross-compiler &&
+ # the kernel also detects this and removes it from cpuinfo
+ [[ -r /proc/cpuinfo && $(</proc/cpuinfo) != *rdrand* ]] &&
+ tc-cpp-is-true __RDRND__ ${CXXFLAGS} ${CPPFLAGS}
+ then
+ einfo "Detected CPU with (likely) broken rdrand/rdseed (bug #922498)"
+ sanitize=1
+ fi
+
[[ -v sanitize ]] || return 0 # *should* be fine as-is
# determine highest(known) usable x86-64 feature level
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-11 11:52 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-12-11 11:52 UTC (permalink / raw
To: gentoo-commits
commit: 58f67ed970b56897b769d99b37a9b7d874e7fa87
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 11 11:49:22 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Dec 11 11:51:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58f67ed9
qt6-build.eclass: pass -Wno-dev by default
Been very noisy and starting to get annoying when trying to
look at the output, don't think they're going to help in
debugging issues downstream.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 75630843c087..f8161447074a 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -156,6 +156,8 @@ qt6-build_src_configure() {
# cmake defaults to "STATUS" but Qt changes that to "NOTICE" which
# hides a lot of information that is useful for bug reports
--log-level=STATUS
+ # ...but dev messages are noisy and not really useful downstream
+ -Wno-dev
# see _qt6-build_create_user_facing_links
-DINSTALL_PUBLICBINDIR="${QT6_PREFIX}"/bin
# note that if qtbase was built with tests, this is default ON
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-10 5:21 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-12-10 5:21 UTC (permalink / raw
To: gentoo-commits
commit: d4a350cbc34fa6cc2c013a397c0aac53ae0bb0b1
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 10 04:36:40 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Dec 10 05:10:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d4a350cb
qt6-build.eclass: replace assert with pipestatus
Not very interesting to show pipestatus -v when the 2nd command
is just tail(1), realistically it's CC that will have failed.
Preemptively limit to EAPI=8 for when port to 9, albeit that will
likely be short lived as there is no need for extended EAPI=8 support
here after Qt ebuilds are migrated & stabilized.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 2dec4b7ec14e..3d3531dd96d5 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -22,6 +22,7 @@ _QT6_BUILD_ECLASS=1
die "${ECLASS} is only to be used for building Qt6"
inherit cmake flag-o-matic toolchain-funcs
+[[ ${EAPI} == 8 ]] && inherit eapi9-pipestatus
# @ECLASS_VARIABLE: QT6_BUILD_TYPE
# @DESCRIPTION:
@@ -321,7 +322,7 @@ _qt6-build_sanitize_cpu_flags() {
bad
#endif
EOF
- assert
+ pipestatus || die
)"
[[ ${_} == bad ]] && bad=1 && break
done
@@ -342,7 +343,7 @@ _qt6-build_sanitize_cpu_flags() {
# endif
#endif
EOF
- assert
+ pipestatus || die
)
cpuflags+=("${cpuflags_filter_only[@]}")
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-09 18:49 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-12-09 18:49 UTC (permalink / raw
To: gentoo-commits
commit: 94ee6e4ec34ece5759c6398cf6d33cf66c5e2687
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 24 18:25:26 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Dec 9 18:48:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94ee6e4e
eapi9-pipestatus.eclass: New eclass
This implements the pipestatus command, as proposed for EAPI 9:
| Checks the shell's pipe status array, i.e. the exit status of the
| command(s) in the most recently executed foreground pipeline.
| Returns shell true (0) if all elements are zero, or the last
| non-zero element otherwise. If called with -v as the first argument,
| also outputs the pipe status array as a space-separated list.
Bug: https://bugs.gentoo.org/566342
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/eapi9-pipestatus.eclass | 60 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)
diff --git a/eclass/eapi9-pipestatus.eclass b/eclass/eapi9-pipestatus.eclass
new file mode 100644
index 000000000000..f92afe42ef14
--- /dev/null
+++ b/eclass/eapi9-pipestatus.eclass
@@ -0,0 +1,60 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: eapi9-pipestatus.eclass
+# @MAINTAINER:
+# Ulrich Müller <ulm@gentoo.org>
+# @AUTHOR:
+# Ulrich Müller <ulm@gentoo.org>
+# @SUPPORTED_EAPIS: 7 8
+# @BLURB: check the PIPESTATUS array
+# @DESCRIPTION:
+# A stand-alone implementation of a possible future pipestatus command
+# (which would be aimed for EAPI 9). It is meant as a replacement for
+# "assert". In its simplest form it can be called like this:
+#
+# @CODE
+# foo | bar
+# pipestatus || die
+# @CODE
+#
+# With the -v option, the command will also echo the pipe status array,
+# so it can be assigned to a variable like in the following example:
+#
+# @CODE
+# local status
+# foo | bar
+# status=$(pipestatus -v) || die "foo | bar failed, status ${status}"
+# @CODE
+#
+# Caveat: "pipestatus" must be the next command following the pipeline.
+# In particular, the "local" declaration must be before the pipeline,
+# otherwise it would reset the status.
+
+case ${EAPI} in
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+# @FUNCTION: pipestatus
+# @USAGE: [-v]
+# @RETURN: last non-zero element of PIPESTATUS, or zero if all are zero
+# @DESCRIPTION:
+# Check the PIPESTATUS array, i.e. the exit status of the command(s)
+# in the most recently executed foreground pipeline. If called with
+# option -v, also output the PIPESTATUS array.
+pipestatus() {
+ local status=( "${PIPESTATUS[@]}" )
+ local s ret=0 verbose=""
+
+ [[ ${1} == -v ]] && { verbose=1; shift; }
+ [[ $# -ne 0 ]] && die "usage: ${FUNCNAME} [-v]"
+
+ for s in "${status[@]}"; do
+ [[ ${s} -ne 0 ]] && ret=${s}
+ done
+
+ [[ ${verbose} ]] && echo "${status[@]}"
+
+ return "${ret}"
+}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-08 23:34 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-12-08 23:34 UTC (permalink / raw
To: gentoo-commits
commit: f425fb09c3ca9e7d112df01222039713dd7ac3ec
Author: MYT <mytdragon <AT> protonmail <DOT> com>
AuthorDate: Tue Dec 3 16:28:52 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sun Dec 8 23:34:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f425fb09
Add 'host' variable to GIT_CRATES
Also handle the gitea use-case.
This change indroduces possibility to fetch git crates from hosts other
than github/main gitlab instance, like the gnome's gitlab which wasn't
possible before. This is done by adding new key in the crate value
`;gitlab` for example.
Signed-off-by: MYT <mytdragon <AT> protonmail.com>
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/cargo.eclass | 41 ++++++++++++++++++++++++++++++++++-------
1 file changed, 34 insertions(+), 7 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 02b048732f7f..b1285e13a5b2 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -138,6 +138,10 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
# - optionally: the path to look for Cargo.toml in.
# - This will also replace the string "%commit%" with the commit's checksum.
# - Defaults to: "${crate}-%commit%"
+# - optionally: the git host so it would generate tarball download link.
+# - E.g. gitlab
+# - It fallbacks to detecting from URL if it's gitlab.com or github.com
+# if no host provided.
#
# Example of a simple definition with no path to Cargo.toml:
# @CODE
@@ -153,6 +157,13 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
# [rustpython-parser]="https://github.com/RustPython/RustPython;4f38cb68e4a97aeea9eb19673803a0bd5f655383;RustPython-%commit%/compiler/parser"
# )
# @CODE
+#
+# Example with host defined:
+# @CODE
+# declare -A GIT_CRATES=(
+# [clapper]="https://gitlab.gnome.org/JanGernert/clapper-rs;530b6fd53a60563d8038f7a1d9d735d6dc496adb;clapper-rs-%commit%/libclapper-rs;gitlab"
+# )
+# @CODE
# @ECLASS_VARIABLE: CARGO_BOOTSTRAP
# @DEFAULT_UNSET
@@ -269,22 +280,38 @@ _cargo_set_crate_uris() {
if declare -p GIT_CRATES &>/dev/null; then
if [[ $(declare -p GIT_CRATES) == "declare -A"* ]]; then
- local crate commit crate_uri crate_dir repo_ext feat_expr
+ local crate commit crate_uri crate_dir host repo_ext feat_expr
for crate in "${!GIT_CRATES[@]}"; do
- IFS=';' read -r crate_uri commit crate_dir <<< "${GIT_CRATES[${crate}]}"
+ IFS=';' read -r crate_uri commit crate_dir host <<< "${GIT_CRATES[${crate}]}"
+
+ if [[ -z ${host} ]]; then
+ case "${crate_uri}" in
+ https://github.com/*)
+ host="github"
+ ;;
+ https://gitlab.com/*)
+ host="gitlab"
+ ;;
+ esac
+ fi
- case "${crate_uri}" in
- https://github.com/*)
+ case "${host}" in
+ github)
repo_ext=".gh"
repo_name="${crate_uri##*/}"
crate_uri="${crate_uri%/}/archive/%commit%.tar.gz"
;;
- https://gitlab.com/*)
+ gitlab)
repo_ext=".gl"
repo_name="${crate_uri##*/}"
crate_uri="${crate_uri%/}/-/archive/%commit%/${repo_name}-%commit%.tar.gz"
;;
+ gitea)
+ repo_ext=".gt"
+ repo_name="${crate_uri##*/}"
+ crate_uri="${crate_uri%/}/archive/%commit%.tar.gz"
+ ;;
*)
repo_ext=
repo_name="${crate}"
@@ -395,11 +422,11 @@ _cargo_gen_git_config() {
git_crates_type="$(declare -p GIT_CRATES 2>&-)"
if [[ ${git_crates_type} == "declare -A "* ]]; then
- local crate commit crate_uri crate_dir
+ local crate commit crate_uri crate_dir host
local -A crate_patches
for crate in "${!GIT_CRATES[@]}"; do
- IFS=';' read -r crate_uri commit crate_dir <<< "${GIT_CRATES[${crate}]}"
+ IFS=';' read -r crate_uri commit crate_dir host <<< "${GIT_CRATES[${crate}]}"
: "${crate_dir:=${crate}-%commit%}"
crate_patches["${crate_uri}"]+="${crate} = { path = \"${WORKDIR}/${crate_dir//%commit%/${commit}}\" };;"
done
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-08 23:34 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-12-08 23:34 UTC (permalink / raw
To: gentoo-commits
commit: d1ef411b6e2cab683bbaf83a03f44b22fd46cede
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 3 12:22:37 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sun Dec 8 23:34:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1ef411b
rust.eclass: add ERUST_{SLOT,TYPE}_OVERRIDE user variables
These variables enable users (though most likely Gentoo developers)
to override the selection of the Rust implementation by the eclass.
This means that _only_ the specified SLOT and/or TYPE ('source'/'binary')
will be checked for, with the eclass `die`ing with
"No Rust slot satisfying the package's dependencies..." if the
selected impl is not available.
These variables are intended to enable reproducing bugs and testing
packages against specific dev-lang/rust{,-bin} packages; they must
not be set in ebuilds.
Closes: https://bugs.gentoo.org/945752
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 49 ++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 44 insertions(+), 5 deletions(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index 2bf0b27b3f40..eb14ca2329b5 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -102,6 +102,26 @@ declare -a -g -r _RUST_SLOTS_ORDERED=(
"1.54.0"
)
+# == user control knobs ==
+
+# @ECLASS_VARIABLE: ERUST_SLOT_OVERRIDE
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Specify the version (slot) of Rust to be used by the package. This is
+# useful for troubleshooting and debugging purposes; If unset, the newest
+# acceptable Rust version will be used. May be combined with ERUST_TYPE_OVERRIDE.
+# This variable must not be set in ebuilds.
+
+# @ECLASS_VARIABLE: ERUST_TYPE_OVERRIDE
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Specify the type of Rust to be used by the package from options:
+# 'source' or 'binary' (-bin). This is useful for troubleshooting and
+# debugging purposes. If unset, the standard eclass logic will be used
+# to determine the type of Rust to use (i.e. prefer source if binary
+# is also available). May be combined with ERUST_SLOT_OVERRIDE.
+# This variable must not be set in ebuilds.
+
# == control variables ==
# @ECLASS_VARIABLE: RUST_MAX_VER
@@ -336,6 +356,10 @@ _get_rust_slot() {
fi
fi
+ if [[ -n "${ERUST_SLOT_OVERRIDE}" && "${slot}" != "${ERUST_SLOT_OVERRIDE}" ]]; then
+ continue
+ fi
+
# If we're in LLVM mode we can skip any slots that don't match the selected USE
if [[ -n "${RUST_NEEDS_LLVM}" ]]; then
if [[ "${llvm_slot}" != "${llvm_r1_slot}" ]]; then
@@ -349,12 +373,27 @@ _get_rust_slot() {
rust_check_deps && return
else
local usedep="${RUST_REQ_USE+[${RUST_REQ_USE}]}"
- # When checking for installed packages prefer the non `-bin` package
+ # When checking for installed packages prefer the source package;
# if effort was put into building it we should use it.
- local rust_pkgs=(
- "dev-lang/rust:${slot}${usedep}"
- "dev-lang/rust-bin:${slot}${usedep}"
- )
+ local rust_pkgs
+ case "${ERUST_TYPE_OVERRIDE}" in
+ source)
+ rust_pkgs=(
+ "dev-lang/rust:${slot}${usedep}"
+ )
+ ;;
+ binary)
+ rust_pkgs=(
+ "dev-lang/rust-bin:${slot}${usedep}"
+ )
+ ;;
+ *)
+ rust_pkgs=(
+ "dev-lang/rust:${slot}${usedep}"
+ "dev-lang/rust-bin:${slot}${usedep}"
+ )
+ ;;
+ esac
local _pkg
for _pkg in "${rust_pkgs[@]}"; do
if has_version "${hv_switch}" "${_pkg}"; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-08 1:11 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-08 1:11 UTC (permalink / raw
To: gentoo-commits
commit: f82ed28a4cbf188cac0d20175d7fea963a742e25
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 7 23:36:33 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 8 00:49:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f82ed28a
toolchain.eclass: disable CET if stage 1 compiler is Clang and -march=native
It's too much hassle to make this edge-case work for now (not really
worth it given kind of niche, not like glibc even defaults to enforcement
yet or even has a mechanism to set a default) and I've filed a bug upstream.
The problem with my previous approach (even after then trying STAGE1_TFLAGS)
is that w/ --enable-cet or bootstrap-cet at least, we end up adding
-fcf-protection after our added -fcf-protection=none.
This partly reverts commit ec6ccd63bb77770eeeb8eb220d66efafc91ac572.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 565a2f359488..8e91816735a9 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -775,7 +775,7 @@ tc_enable_hardened_gcc() {
hardened_gcc_flags+=" -DDEF_GENTOO_ZNOW"
fi
- if _tc_use_if_iuse cet && [[ ${CTARGET} == *x86_64*-linux-gnu* ]] ; then
+ if _tc_use_if_iuse cet && [[ -z ${CLANG_DISABLE_CET_HACK} && ${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
@@ -1149,6 +1149,11 @@ toolchain_src_configure() {
export ac_cv_std_swap_in_utility=no
fi
+ # Workaround -march=native not working for stage1 with non-GCC (bug #933772).
+ if ! tc-is-gcc && [[ "${CFLAGS}${CXXFLAGS}" == *-march=native* ]] ; then
+ CLANG_DISABLE_CET_HACK=1
+ fi
+
local flag
for flag in $(all-flag-vars) ; do
einfo "${flag}=\"${!flag}\""
@@ -1308,7 +1313,7 @@ toolchain_src_configure() {
BUILD_CONFIG_TARGETS+=( bootstrap-lto )
fi
- if tc_version_is_at_least 12 && _tc_use_if_iuse cet && [[ ${CTARGET} == x86_64-*-gnu* ]] ; then
+ if tc_version_is_at_least 12 && _tc_use_if_iuse cet && [[ -z ${CLANG_DISABLE_CET_HACK} && ${CTARGET} == x86_64-*-gnu* ]] ; then
BUILD_CONFIG_TARGETS+=( bootstrap-cet )
fi
@@ -1694,7 +1699,7 @@ toolchain_src_configure() {
enable_cet_for 'x86_64' 'gnu' 'cet'
enable_cet_for 'aarch64' 'gnu' 'standard-branch-protection'
- [[ ${CTARGET} == i[34567]86-* ]] && confgcc+=( --disable-cet )
+ [[ -n ${CLANG_DISABLE_CET_HACK} || ${CTARGET} == i[34567]86-* ]] && confgcc+=( --disable-cet )
fi
if in_iuse systemtap ; then
@@ -2261,13 +2266,6 @@ gcc_do_make() {
STAGE1_CXXFLAGS="-O2"
fi
- # Workaround -march=native not working for stage1 with
- # non-GCC (bug #933772).
- if ! tc-is-gcc ; then
- STAGE1_CFLAGS+=" $(test-flags-CC -fcf-protection=none)"
- STAGE1_CXXFLAGS+=" $(test-flags-CXX -fcf-protection=none)"
- fi
-
# We only want to use the system's CFLAGS if not building a
# cross-compiler.
STAGE1_CFLAGS=${STAGE1_CFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-07 23:23 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-07 23:23 UTC (permalink / raw
To: gentoo-commits
commit: ec6ccd63bb77770eeeb8eb220d66efafc91ac572
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 7 23:21:14 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 7 23:21:14 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec6ccd63
toolchain.eclass: pass -fcf-protection=none for stage1 builds with Clang
GCC's host_detect_local_cpu returns NULL when built with Clang (see bug
for details) so pass -fcf-protection=none for stage1 (where it doesn't
really matter anyway) to avoid a failure when -march=native ends up
resolving to nothing (b/c NULL) and then erroring out as CET isn't supported
for the baseline -m32 CPU.
Bug: https://gcc.gnu.org/PR117952
Closes: https://bugs.gentoo.org/933772
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index be8bfcddfafd..565a2f359488 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2261,6 +2261,13 @@ gcc_do_make() {
STAGE1_CXXFLAGS="-O2"
fi
+ # Workaround -march=native not working for stage1 with
+ # non-GCC (bug #933772).
+ if ! tc-is-gcc ; then
+ STAGE1_CFLAGS+=" $(test-flags-CC -fcf-protection=none)"
+ STAGE1_CXXFLAGS+=" $(test-flags-CXX -fcf-protection=none)"
+ fi
+
# We only want to use the system's CFLAGS if not building a
# cross-compiler.
STAGE1_CFLAGS=${STAGE1_CFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-06 21:55 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-06 21:55 UTC (permalink / raw
To: gentoo-commits
commit: 9056ac677938e04f22a5972fe76db7173a157846
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 6 21:55:27 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec 6 21:55:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9056ac67
llvm-r1.eclass: update _LLVM_NEWEST_SLOT to 19
Bug: https://bugs.gentoo.org/945145
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/llvm-r1.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/llvm-r1.eclass b/eclass/llvm-r1.eclass
index 7b9f26e17b58..f2bf0fffee09 100644
--- a/eclass/llvm-r1.eclass
+++ b/eclass/llvm-r1.eclass
@@ -61,7 +61,7 @@ _LLVM_OLDEST_SLOT=15
# @DESCRIPTION:
# The newest stable LLVM version. Versions newer than that won't
# be automatically enabled via USE defaults.
-_LLVM_NEWEST_STABLE=18
+_LLVM_NEWEST_STABLE=19
# == control variables ==
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-06 11:33 Nowa Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Nowa Ammerlaan @ 2024-12-06 11:33 UTC (permalink / raw
To: gentoo-commits
commit: c3a527ae22dadc00ebee74a72aae5a295e26a5d5
Author: Nowa Ammerlaan <nowa <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 6 09:46:26 2024 +0000
Commit: Nowa Ammerlaan <nowa <AT> gentoo <DOT> org>
CommitDate: Fri Dec 6 11:31:14 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3a527ae
eclass/{dist-,}kernel{-utils,-build}.eclass: fix compression for >=6.12
Upstream commit [1] introduces several changes to the way module compression is
configured. To summarize:
- CONFIG_MODULE_COMPRESS_NONE is renamed to CONFIG_MODULE_COMPRESS and moved up,
this (and CONFIG_MODULE_COMPRESS_<type>) control support for module
compression.
- A new switch CONFIG_MODULE_COMPRESS_ALL is introduced to control whether the
modules are actually compressed when running make modules_install.
This change introduced several problems that are fixed here:
- CONFIG_MODULE_COMPRESS is not implicitly enabled by setting
CONFIG_MODULE_COMPRESS_XZ=y in the same way that CONFIG_MODULE_COMPRESS_NONE
was previously implicitly disabled by enabling the xz compression. Fixed by
explicitly enabling these options.
- The dist-kernel_get_module_suffix() function did not recognize the renamed
option which caused the 'compressor not known' error in some configurations.
Fixed by adding another condition to the elif statement in this function.
Furthermore, we now also set the switch CONFIG_MODULE_COMPRESS_ALL based on the
state of the "modules-compress" USE flag. This technically makes the "suffix-y"
override unnecessary for the >=6.12 kernels, but it does no harm so let's keep
that as it is and not add a new version conditional here.
[1] https://github.com/torvalds/linux/commit/c7ff693fa2094ba0a9d0a20feb4ab1658eff9c33
Signed-off-by: Nowa Ammerlaan <nowa <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/39609
Signed-off-by: Nowa Ammerlaan <nowa <AT> gentoo.org>
eclass/dist-kernel-utils.eclass | 3 ++-
eclass/kernel-build.eclass | 19 ++++++++++++++-----
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 67ba459f0ebe..210c586c8c29 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -175,7 +175,8 @@ dist-kernel_get_module_suffix() {
echo .ko
elif [[ ! -r ${config} ]]; then
die "Cannot find kernel config ${config}"
- elif grep -q "CONFIG_MODULE_COMPRESS_NONE=y" "${config}"; then
+ elif grep -q "CONFIG_MODULE_COMPRESS_NONE=y" "${config}" ||
+ grep -q "# CONFIG_MODULE_COMPRESS is not set" "${config}"; then
echo .ko
elif grep -q "CONFIG_MODULE_COMPRESS_GZIP=y" "${config}"; then
echo .ko.gz
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 376cebf3b1be..831027216321 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -371,8 +371,7 @@ kernel-build_src_install() {
local compress=()
if [[ ${KERNEL_IUSE_GENERIC_UKI} ]] && ! use modules-compress; then
compress+=(
- # force installing uncompressed modules even if compression
- # is enabled via config
+ # Workaround for <6.12, does not have CONFIG_MODULE_COMPRESS_ALL
suffix-y=
)
fi
@@ -656,12 +655,22 @@ kernel-build_merge_configs() {
# Only semi-related but let's use that to avoid changing stable ebuilds.
if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
- # NB: we enable this even with USE=-modules-compress, in order
- # to support both uncompressed and compressed modules in prebuilt
- # kernels
+ # NB: we enable support for compressed modules even with
+ # USE=-modules-compress, in order to support both uncompressed and
+ # compressed modules in prebuilt kernels.
cat <<-EOF > "${WORKDIR}/module-compress.config" || die
+ CONFIG_MODULE_COMPRESS=y
CONFIG_MODULE_COMPRESS_XZ=y
EOF
+ # CONFIG_MODULE_COMPRESS_ALL is supported only by >=6.12, for older
+ # versions we accomplish the same by overriding suffix-y=
+ if use modules-compress; then
+ echo "CONFIG_MODULE_COMPRESS_ALL=y" \
+ >> "${WORKDIR}/module-compress.config" || die
+ else
+ echo "# CONFIG_MODULE_COMPRESS_ALL is not set" \
+ >> "${WORKDIR}/module-compress.config" || die
+ fi
merge_configs+=( "${WORKDIR}/module-compress.config" )
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-06 7:44 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-12-06 7:44 UTC (permalink / raw
To: gentoo-commits
commit: b4811e07c355f6baa89d7581fe233fd57e63293a
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Fri Nov 22 09:05:26 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Dec 6 07:43:54 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b4811e07
java-utils-2.eclass: add some missing documentation
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/39233/commits/ea4b4f6f7397d8be1ccc99aa7baeea87fda0f90a
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 5874f6ba8665..e2af63819839 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -213,6 +213,48 @@ JAVA_PKG_COMPILERS_CONF=${JAVA_PKG_COMPILERS_CONF:="/etc/java-config-2/build/com
# ebuild foo.ebuild compile
# @CODE
+# @ECLASS_VARIABLE: EBUILD_DEATH_HOOKS
+# @INTERNAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used internally.
+
+# @ECLASS_VARIABLE: JAVA_PKG_BUILD_DEPEND_FILE
+# @INTERNAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used in ejunit_, java-pkg_do_write_ and java-pkg_record-jar_
+
+# @ECLASS_VARIABLE: JAVA_PKG_DEPEND_FILE
+# @INTERNAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used in ejunit_, java-pkg_do_write_ and java-pkg_record-jar_
+
+# @ECLASS_VARIABLE: JAVA_PKG_EXTRA_ENV
+# @INTERNAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used in java-pkg_register-environment-variable and java-pkg_do_write_,
+
+# @ECLASS_VARIABLE: JAVA_PKG_EXTRA_ENV_VARS
+# @INTERNAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used in java-pkg_register-environment-variable and java-pkg_do_write_
+
+# @ECLASS_VARIABLE: JAVA_PKG_OPTIONAL_DEPEND_FILE
+# @INTERNAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used in java-pkg_do_write_ and java-pkg_record-jar_
+
+# @ECLASS_VARIABLE: WANT_JAVA_CONFIG
+# @INTERNAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Gets exported to make sure we use java-config-2
+
# @ECLASS_VARIABLE: JAVADOC_CLASSPATH
# @DEFAULT_UNSET
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-06 7:43 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-12-06 7:43 UTC (permalink / raw
To: gentoo-commits
commit: 064e2f7c7eba7d780f062329fcd363bf3ececa23
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Thu Dec 5 23:11:36 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Dec 6 07:42:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=064e2f7c
java-utils-2.eclass: drop -Dtest.resources.dir from etestng()
This property is specific to dev-java/testng.
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/39233/commits/6b4df3a589a5ef516c9b2915e611fd46df8d354e
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 1 -
1 file changed, 1 deletion(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index c0a900b35a00..00ae7f790e08 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -1942,7 +1942,6 @@ etestng() {
-cp ${cp}
-Djava.io.tmpdir="${T}"
-Djava.awt.headless=true
- -Dtest.resources.dir="${JAVA_TEST_RESOURCE_DIRS}"
${JAVA_TEST_EXTRA_ARGS[@]}
${runner}
${JAVA_TEST_RUNNER_EXTRA_ARGS[@]}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-06 7:43 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-12-06 7:43 UTC (permalink / raw
To: gentoo-commits
commit: 449449afcca0e9f34e76aecf0deee9efdb2fc267
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Fri Nov 22 08:45:05 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Dec 6 07:43:14 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=449449af
java-utils-2.eclass: remove unused and undocumented functions
removes the undocumented eclass functions:
- java-pkg_jar-list
- increment-qa-violations
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/39233/commits/5792412f99de65ec392f765cd4bd3585b53bb8fe
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 23 -----------------------
1 file changed, 23 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 00ae7f790e08..5874f6ba8665 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -253,9 +253,6 @@ JAVA_PKG_COMPILERS_CONF=${JAVA_PKG_COMPILERS_CONF:="/etc/java-config-2/build/com
# )
# @CODE
-# TODO document me
-JAVA_PKG_QA_VIOLATIONS=0
-
# @FUNCTION: java-pkg_doexamples
# @USAGE: [--subdir <subdir>] <file1/dir1> [<file2> ...]
# @DESCRIPTION:
@@ -2784,19 +2781,6 @@ java-pkg_die() {
}
-# TODO document
-# List jars in the source directory, ${S}
-java-pkg_jar-list() {
- if [[ -n "${JAVA_PKG_DEBUG}" ]]; then
- einfo "Linked Jars"
- find "${S}" -type l -name '*.jar' -print0 | xargs -0 -r -n 500 ls -ald | sed -e "s,${WORKDIR},\${WORKDIR},"
- einfo "Jars"
- find "${S}" -type f -name '*.jar' -print0 | xargs -0 -r -n 500 ls -ald | sed -e "s,${WORKDIR},\${WORKDIR},"
- einfo "Classes"
- find "${S}" -type f -name '*.class' -print0 | xargs -0 -r -n 500 ls -ald | sed -e "s,${WORKDIR},\${WORKDIR},"
- fi
-}
-
# @FUNCTION: java-pkg_verify-classes
# @INTERNAL
# @DESCRIPTION:
@@ -2958,16 +2942,9 @@ java-pkg_announce-qa-violation() {
nodie="true"
shift
fi
- echo "Java QA Notice: $@" >&2
- increment-qa-violations
[[ -z "${nodie}" ]] && is-java-strict && die "${@}"
}
-increment-qa-violations() {
- let "JAVA_PKG_QA_VIOLATIONS+=1"
- export JAVA_PKG_QA_VIOLATIONS
-}
-
# @FUNCTION: is-java-strict
# @INTERNAL
# @RETURN: 0: JAVA_PKG_STRICT is set
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-06 5:10 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-12-06 5:10 UTC (permalink / raw
To: gentoo-commits
commit: 81c8ffec6e3f587993081be4d64cda604f6aa61d
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 6 04:21:58 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec 6 05:10:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81c8ffec
linux-mod-r1.eclass: pass COMPRESS_ALL= in MAKEARGS usable in >=6.12
Technically a no-op so quick-adding without review. It could mean
something if the kernel adds new compression methods in the future
(_ALL ensures everything is disabled rather than have to list each
of them, which is what we want there).
When the day comes when we drop support for <=6.12 kernels or the
change was backported (if ever) for long enough, we could cleanup
passing COMRESS_GZIP/XZ/ZSTD there and only keep _ALL.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/linux-mod-r1.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index f8a45c607dfd..4e5b17548b04 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -1263,7 +1263,8 @@ _modules_set_makeargs() {
# these are only needed if using these arguments for installing, lets
# eclass handle strip, sign, compress, and depmod (CONFIG_ should
# have no impact on building, only used by Makefile.modinst)
- CONFIG_MODULE_{SIG_ALL,COMPRESS_{GZIP,XZ,ZSTD}}=
+ # note: COMPRESS_ALL is enough for kernel >=6.12, rest is for compat
+ CONFIG_MODULE_{SIG_ALL,COMPRESS_{ALL,GZIP,XZ,ZSTD}}=
DEPMOD=true #916587
STRIP=true
)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-04 11:34 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-12-04 11:34 UTC (permalink / raw
To: gentoo-commits
commit: 7687cc69cda0158af53edae6d89944653760dea9
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 4 11:34:01 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Wed Dec 4 11:34:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7687cc69
Revert "rust.eclass: add ERUST_{SLOT,TYPE} user variables"
This reverts commit 4ff6bf33c94566b2acc07b75712094d567c77fc9.
My branch was dirty, this is still under review.
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 49 +++++--------------------------------------------
1 file changed, 5 insertions(+), 44 deletions(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index 991a9cdb7f14..71cbb4b24f8c 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -98,26 +98,6 @@ declare -a -g -r _RUST_SLOTS_ORDERED=(
"1.54.0"
)
-# == user control knobs ==
-
-# @ECLASS_VARIABLE: ERUST_SLOT
-# @USER_VARIABLE
-# @DESCRIPTION:
-# Specify the version (slot) of Rust to be used by the package. This is
-# useful for troubleshooting and debugging purposes; If unset, the newest
-# acceptable Rust version will be used. May be combined with ERUST_TYPE.
-# This variable must not be set in ebuilds.
-
-# @ECLASS_VARIABLE: ERUST_TYPE
-# @USER_VARIABLE
-# @DESCRIPTION:
-# Specify the type of Rust to be used by the package from options:
-# 'source' or 'binary' (-bin). This is useful for troubleshooting and
-# debugging purposes. If unset, the standard eclass logic will be used
-# to determine the type of Rust to use (i.e. prefer source if binary
-# is also available). May be combined with ERUST_SLOT.
-# This variable must not be set in ebuilds.
-
# == control variables ==
# @ECLASS_VARIABLE: RUST_MAX_VER
@@ -352,10 +332,6 @@ _get_rust_slot() {
fi
fi
- if [[ -n "${ERUST_SLOT}" && "${slot}" != "${ERUST_SLOT}" ]]; then
- continue
- fi
-
# If we're in LLVM mode we can skip any slots that don't match the selected USE
if [[ -n "${RUST_NEEDS_LLVM}" ]]; then
if [[ "${llvm_slot}" != "${llvm_r1_slot}" ]]; then
@@ -369,27 +345,12 @@ _get_rust_slot() {
rust_check_deps && return
else
local usedep="${RUST_REQ_USE+[${RUST_REQ_USE}]}"
- # When checking for installed packages prefer the source package;
+ # When checking for installed packages prefer the non `-bin` package
# if effort was put into building it we should use it.
- local rust_pkgs
- case "${ERUST_TYPE}" in
- source)
- rust_pkgs=(
- "dev-lang/rust:${slot}${usedep}"
- )
- ;;
- binary)
- rust_pkgs=(
- "dev-lang/rust-bin:${slot}${usedep}"
- )
- ;;
- *)
- rust_pkgs=(
- "dev-lang/rust:${slot}${usedep}"
- "dev-lang/rust-bin:${slot}${usedep}"
- )
- ;;
- esac
+ local rust_pkgs=(
+ "dev-lang/rust:${slot}${usedep}"
+ "dev-lang/rust-bin:${slot}${usedep}"
+ )
local _pkg
for _pkg in "${rust_pkgs[@]}"; do
if has_version "${hv_switch}" "${_pkg}"; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-04 11:33 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-12-04 11:33 UTC (permalink / raw
To: gentoo-commits
commit: 4ff6bf33c94566b2acc07b75712094d567c77fc9
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 3 12:06:30 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Wed Dec 4 11:30:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ff6bf33
rust.eclass: add ERUST_{SLOT,TYPE} user variables
These variables enable users (though most likely Gentoo developers)
to override the selection of the Rust implementation by the eclass.
This means that _only_ the specified ERUST_SLOT and/or ERUST_TYPE
('source' or 'binary') will be checked for, with the eclass `die`ing
with "No Rust slot satisfying the package's dependencies..." if the
selected impl is not available.
These variables are intended to enable reproducing bugs and testing
packages against specific dev-lang/rust{,-bin} packages; they must
not be set in ebuilds.
Closes: https://bugs.gentoo.org/945752
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 49 ++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 44 insertions(+), 5 deletions(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index 71cbb4b24f8c..991a9cdb7f14 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -98,6 +98,26 @@ declare -a -g -r _RUST_SLOTS_ORDERED=(
"1.54.0"
)
+# == user control knobs ==
+
+# @ECLASS_VARIABLE: ERUST_SLOT
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Specify the version (slot) of Rust to be used by the package. This is
+# useful for troubleshooting and debugging purposes; If unset, the newest
+# acceptable Rust version will be used. May be combined with ERUST_TYPE.
+# This variable must not be set in ebuilds.
+
+# @ECLASS_VARIABLE: ERUST_TYPE
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Specify the type of Rust to be used by the package from options:
+# 'source' or 'binary' (-bin). This is useful for troubleshooting and
+# debugging purposes. If unset, the standard eclass logic will be used
+# to determine the type of Rust to use (i.e. prefer source if binary
+# is also available). May be combined with ERUST_SLOT.
+# This variable must not be set in ebuilds.
+
# == control variables ==
# @ECLASS_VARIABLE: RUST_MAX_VER
@@ -332,6 +352,10 @@ _get_rust_slot() {
fi
fi
+ if [[ -n "${ERUST_SLOT}" && "${slot}" != "${ERUST_SLOT}" ]]; then
+ continue
+ fi
+
# If we're in LLVM mode we can skip any slots that don't match the selected USE
if [[ -n "${RUST_NEEDS_LLVM}" ]]; then
if [[ "${llvm_slot}" != "${llvm_r1_slot}" ]]; then
@@ -345,12 +369,27 @@ _get_rust_slot() {
rust_check_deps && return
else
local usedep="${RUST_REQ_USE+[${RUST_REQ_USE}]}"
- # When checking for installed packages prefer the non `-bin` package
+ # When checking for installed packages prefer the source package;
# if effort was put into building it we should use it.
- local rust_pkgs=(
- "dev-lang/rust:${slot}${usedep}"
- "dev-lang/rust-bin:${slot}${usedep}"
- )
+ local rust_pkgs
+ case "${ERUST_TYPE}" in
+ source)
+ rust_pkgs=(
+ "dev-lang/rust:${slot}${usedep}"
+ )
+ ;;
+ binary)
+ rust_pkgs=(
+ "dev-lang/rust-bin:${slot}${usedep}"
+ )
+ ;;
+ *)
+ rust_pkgs=(
+ "dev-lang/rust:${slot}${usedep}"
+ "dev-lang/rust-bin:${slot}${usedep}"
+ )
+ ;;
+ esac
local _pkg
for _pkg in "${rust_pkgs[@]}"; do
if has_version "${hv_switch}" "${_pkg}"; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-02 8:46 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-12-02 8:46 UTC (permalink / raw
To: gentoo-commits
commit: 12a24a054fb00f9b7706348b0b2de3f2f85e0b54
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 21 14:08:40 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Mon Dec 2 07:54:17 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12a24a05
cargo.eclass: add trivial crate overrides
Updating vulnerable (or otherwise outdated) crates in Rust ebuilds
is painful. Generally speaking, there are 5 options:
- Run `cargo update` to fetch new versions from the web.
This is obviously not suitable for use in Portage.
- Patch the software via Portage to accept a non-vulnerable crate.
This is a reasonable option when the package is not too complex
but still requires significant developer effort and some familiarity
with Cargo. In the case of complex patches this may not be feasible,
or require the generation of a dependency tarball.
- [patch] the source (repository) in Cargo.toml. This enables the
targeting of specific crates, but does not allow the replacement
of only a specific version in the depgraph.
- [replace] a particular crate:version in the Cargo.toml. This
enables the targeting of a particular version with an arbitrary
path however the replacement crate must *have the same version*
as the one being overridden.
- `paths = [...]` overrides: pass an array of paths to directories that
contain a Cargo.toml. Cargo will override any crate with the same package name
arbitrarily, ignoring the lock file and versions; typically used for testing.
Is applied via ${CARGO_HOME}/config.toml (i.e. globally)
This commit:
- Implements the `paths` overrides, which will work even when
Cargo is configured to use a vendored directory. This is not a 'smart'
replacement and care must be taken to ensure that all versions of
the crate in use are compatible (`cargo tree` will help).
- Provides a helper which runs `cargo --update --offline` against
${ECARGO_VENDOR} (where ${CRATES} are unpacked). This enables the
replacement of vulnerable versions in ${CRATES}. It is up to the
consumer to ensure that only the desired crates are being replaced
and that package behaviour does not change.
Resources:
- https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html
- https://github.com/rust-lang/cargo/issues/3308
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/cargo.eclass | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 94 insertions(+)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 5a3820267544..02b048732f7f 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -7,6 +7,7 @@
# @AUTHOR:
# Doug Goldstein <cardoe@gentoo.org>
# Georgy Yakovlev <gyakovlev@gentoo.org>
+# Matt Jolly <kangie@gentoo.org>
# @SUPPORTED_EAPIS: 8
# @PROVIDES: rust
# @BLURB: common functions and variables for cargo builds
@@ -51,6 +52,10 @@ case ${EAPI} in
;;
esac
+if [[ -n ${CRATE_PATHS_OVERRIDE} ]]; then
+ CRATES="${CRATES} ${CRATE_PATHS_OVERRIDE}"
+fi
+
inherit flag-o-matic multiprocessing rust rust-toolchain toolchain-funcs
IUSE="${IUSE} debug"
@@ -81,6 +86,41 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
# SRC_URI="${CARGO_CRATE_URIS}"
# @CODE
+# @ECLASS_VARIABLE: CRATE_PATHS_OVERRIDE
+# @DEFAULT_UNSET
+# @PRE_INHERIT
+# @DESCRIPTION:
+# Bash string containing crates that will be used to override
+# dependencies via generated `paths = ['/path/to/crate']` configuration.
+# This is not "smart", _all crates_ which match the `Cargo.toml`
+# for a given crate/path will be overridden, ignoring lockfiles,
+# version constraints, etc.
+#
+# This should be used as a last resort where (e.g.) you are
+# bootstrapping Rust and need to override a vendored crate
+# with a newer version, and all versions in use are compatible.
+#
+# Crate names and versions must be separated by a `@`;
+# multiple crates are separated by a space or newline.
+# Crates in CRATE_PATHS_OVERRIDE are implicitly added to CRATES;
+# they do not need to be listed.
+#
+# Example:
+# @CODE
+# CRATES="
+# foo@1.2.3
+# "
+#
+# CRATE_PATHS_OVERRIDE="
+# openssl@0.10.35
+# openssl-sys@0.9.65
+# "
+#
+# inherit cargo
+# ...
+# SRC_URI="${CARGO_CRATE_URIS}"
+# @CODE
+
# @ECLASS_VARIABLE: GIT_CRATES
# @DEFAULT_UNSET
# @PRE_INHERIT
@@ -277,6 +317,26 @@ cargo_crate_uris() {
echo "${CARGO_CRATE_URIS}"
}
+# @FUNCTION: _cargo_gen_override_paths_config
+# @INTERNAL
+# @DESCRIPTION:
+# Generate the TOML content for overriding crates globally using the package manager.
+# This is called from within cargo_gen_config to insert the appropriate snippet
+# into the generated config.toml. Does not support git crates.
+_cargo_gen_override_paths_config() {
+ if [[ ! ${#CRATE_PATHS_OVERRIDE[@]} -gt 0 ]]; then
+ return
+ fi
+ local content override path
+ content=( 'paths = [' )
+ for override in ${CRATE_PATHS_OVERRIDE}; do
+ local path="${ECARGO_VENDOR}/${override//@/-}"
+ content+=( "'${path}'," )
+ done
+ content+=( ']' )
+ printf "%s\n" "${content[@]}"
+}
+
# @FUNCTION: cargo_gen_config
# @DESCRIPTION:
# Generate the $CARGO_HOME/config.toml necessary to use our local registry and settings.
@@ -293,6 +353,8 @@ cargo_gen_config() {
mkdir -p "${ECARGO_HOME}" || die
cat > "${ECARGO_HOME}/config.toml" <<- _EOF_ || die "Failed to create cargo config"
+ $(_cargo_gen_override_paths_config)
+
[source.gentoo]
directory = "${ECARGO_VENDOR}"
@@ -311,6 +373,7 @@ cargo_gen_config() {
verbose = true
$([[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && echo "color = 'never'")
$(_cargo_gen_git_config)
+
_EOF_
export CARGO_HOME="${ECARGO_HOME}"
@@ -358,6 +421,37 @@ cargo_target_dir() {
echo "${CARGO_TARGET_DIR:-target}/$(rust_abi)/$(usex debug debug release)"
}
+# @FUNCTION: cargo_update_crates
+# @USAGE:
+# @DESCRIPTION:
+# Helper function to call `cargo update --offline` with the given Cargo.toml.
+# This will update Cargo.{toml,lock}. This should provide a straightforward
+# approach to updating vulnerable crates in a package.
+#
+# To use: replace any vulnerable crates in ${CRATES} with updated (and compatible)
+# versions, then call `cargo_update_crates` in src_prepare. If Cargo.toml is not
+# in the root of ${S}, pass the path to the Cargo.toml as the first argument.
+# It is up to the ebuild to ensure that the updated crates are compatible with the
+# package and that no unexpected breakage occurs.
+cargo_update_crates () {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ -z ${CARGO} ]]; then
+ die "CARGO is not set; was rust_pkg_setup run?"
+ fi
+
+ local path=${1:-"${S}/Cargo.toml"}
+ if [[ $# -gt 1 ]]; then
+ die "Usage: cargo_update_crates [path_to_Cargo.toml]"
+ fi
+ [[ -f ${path} ]] || die "${path} does not exist"
+
+ set -- "${CARGO}" update --offline --manifest-path "${path}"
+ einfo "${@}"
+ # This is overkill (we're not using rustflags (etc) here) but it's safe.
+ cargo_env "${@}" || die "Failed to update crates"
+}
+
# @FUNCTION: cargo_src_unpack
# @DESCRIPTION:
# Unpacks the package and the cargo registry.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-02 8:46 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-12-02 8:46 UTC (permalink / raw
To: gentoo-commits
commit: e13b0ea6d4432745d9275d98fdb7ee36cd62ac8f
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 25 12:40:51 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Mon Dec 2 07:54:17 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e13b0ea6
cargo.eclass: add ${CARGO_BOOTSTRAP}
This variable enables ebuilds to tell the eclass to ignore
the minimum Rust/Cargo version reqirement. It is intended
for use when bootstrapping older Rust, consumers who are
not dev-lang/rust should have a good reason for using this.
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/cargo.eclass | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 95ff317e1f21..5a3820267544 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -30,6 +30,9 @@ fi
# Either the lowest slot supported by rust.eclass _or_
# reference the changelog for a particular feature requirement
# https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md
+# For reference the actual minimum version of cargo that can be used
+# is 1.53.0 for `cargo update --offline`; updated to 1.71.1 with rust eclass.
+# No need to enable usage of legacy rust versions in ebuilds; keep it as-is.
_CARGO_ECLASS_RUST_MIN_VER="1.71.1"
case ${EAPI} in
@@ -37,8 +40,10 @@ case ${EAPI} in
if [[ -n ${RUST_MIN_VER} ]]; then
# This is _very_ unlikely given that we leverage the rust eclass but just in case cargo requires a newer version
# than the oldest in-tree in future.
- if ver_test "${RUST_MIN_VER}" -lt "${_CARGO_ECLASS_RUST_MIN_VER}"; then
- die "RUST_MIN_VERSION must be at least ${_CARGO_ECLASS_RUST_MIN_VER}"
+ if [[ -z ${CARGO_BOOTSTRAP} ]]; then
+ if ver_test "${RUST_MIN_VER}" -lt "${_CARGO_ECLASS_RUST_MIN_VER}"; then
+ die "RUST_MIN_VERSION must be at least ${_CARGO_ECLASS_RUST_MIN_VER}"
+ fi
fi
else
RUST_MIN_VER="${_CARGO_ECLASS_RUST_MIN_VER}"
@@ -109,6 +114,13 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
# )
# @CODE
+# @ECLASS_VARIABLE: CARGO_BOOTSTRAP
+# @DEFAULT_UNSET
+# @PRE_INHERIT
+# @DESCRIPTION:
+# Ignore `_CARGO_ECLASS_RUST_MIN_VER` checks.
+# If you aren't bootstrapping Rust you probably don't need this.
+
# @ECLASS_VARIABLE: CARGO_OPTIONAL
# @DEFAULT_UNSET
# @PRE_INHERIT
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-01 12:12 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-01 12:12 UTC (permalink / raw
To: gentoo-commits
commit: f18b12262d54db706be91f22c070c52294084007
Author: Andrei Horodniceanu <a.horodniceanu <AT> proton <DOT> me>
AuthorDate: Thu Oct 17 15:08:40 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 1 12:06:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f18b1226
toolchain.eclass: refactor common ada and d bootstrap code
Additionally, when cross compiling only look for a bootstrap gcc that
matches the SLOT that is currently being built since both ada and d
would fail with any other version.
Also correct some CBUILD vs CHOST usage to support cross-compiling ada.
Signed-off-by: Andrei Horodniceanu <a.horodniceanu <AT> proton.me>
Closes: https://github.com/gentoo/gentoo/pull/39019
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 168 ++++++++++++++++++++++++++++++++----------------
1 file changed, 112 insertions(+), 56 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a546f80f766f..114a008b700f 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -852,19 +852,107 @@ setup_multilib_osdirnames() {
sed -i "${sed_args[@]}" "${S}"/gcc/config/${config} || die
}
+# @FUNCTION: _get_bootstrap_gcc_info
+# @USAGE: [gcc_pkg|gcc_bin_base]...
+# @DESCRIPTION:
+# Get some information about the gcc that would be used to build this package.
+# All the variables that are passed as arguments will be set to their apropriate
+# values:
+#
+# - bootstrap_gcc_pkg = the ${CATEGORY}/${PN} that provides the build gcc
+#
+# - bootstrap_gcc_bin_base = the directory up to /gcc-bin but excluding the slot, of
+# the aformentioned package.
+_get_bootstrap_gcc_info() {
+ crossp() {
+ tc-is-cross-compiler && echo "${2}" || echo "${1}"
+ }
+
+ local arg
+ for arg ; do
+ case "${arg}" in
+ bootstrap_gcc_pkg)
+ bootstrap_gcc_pkg=$(crossp sys-devel/gcc cross-${CHOST}/gcc)
+ ;;
+ bootstrap_gcc_bin_base)
+ bootstrap_gcc_bin_base=${BROOT}/usr/$(crossp ${CHOST} ${CBUILD}/${CHOST})/gcc-bin
+ ;;
+ *)
+ die "Unknown argument '${arg}' passed to ${FUNCNAME}"
+ esac
+ done
+}
+
+# @FUNCTION: _find_bootstrap_gcc_with
+# @USAGE: <use_expression> <pretty_use_name> <minimum_slot>
+# @RETURN: Shell true if a matching gcc installation was found, false otherwise
+# @INTERNAL
+# @DESCRIPTION:
+# Check installed versions of gcc that can be used as a compiler for the current
+# build for one matching a certain USE expression. The order of preference is
+# checking for the same SLOT we are building, then iterate downwards until (and
+# including) minimum_slot, then iterate upward starting with SLOT+1. When
+# cross-compiling only SLOT is checked.
+#
+# If a proper installation is discovered this function will set
+# ${bootstrap_gcc_bin_dir} to the full path of the directory in which
+# ${CHOST}-gcc and friends are found and ${bootstrap_gcc_slot} to the slot that
+# was found. If nothing was found those variables will be empty.
+#
+# This function is provided to aid languages like ada and d that require
+# bootstraping.
+_find_bootstrap_gcc_with() {
+ local use="${1}"
+ local pretty_use="${2}"
+ local bootstrap_gcc_pkg bootstrap_gcc_bin_base
+ _get_bootstrap_gcc_info bootstrap_gcc_pkg bootstrap_gcc_bin_base
+
+ local min_slot max_slot
+ if tc-is-cross-compiler ; then
+ min_slot="${SLOT}"
+ max_slot="${SLOT}"
+ else
+ min_slot="${3}"
+ max_slot=$(best_version -b "${bootstrap_gcc_pkg}")
+ max_slot="${max_slot#${bootstrap_gcc_pkg}-}"
+ max_slot=$(ver_cut 1 ${max_slot})
+ fi
+
+ local candidate result
+ for candidate in ${SLOT} $(seq $((${SLOT} - 1)) -1 ${min_slot}) $(seq $((${SLOT} + 1)) ${max_slot}) ; do
+ has_version -b "${bootstrap_gcc_pkg}:${candidate}" || continue
+
+ ebegin "Testing ${bootstrap_gcc_pkg}:${candidate} for ${pretty_use}"
+ if has_version -b "${bootstrap_gcc_pkg}:${candidate}${use}" ; then
+ result=${candidate}
+
+ eend 0
+ break
+ fi
+ eend 1
+ done
+
+ if [[ ${result} ]] ; then
+ bootstrap_gcc_bin_dir="${bootstrap_gcc_bin_base}/${result}"
+ bootstrap_gcc_slot=${result}
+ return 0
+ else
+ bootstrap_gcc_bin_dir=
+ bootstrap_gcc_slot=
+ return 1
+ fi
+}
+
# @FUNCTION: toolchain_setup_ada
# @INTERNAL
# @DESCRIPTION:
# Determine the most suitable GNAT (Ada compiler) for bootstrapping
# and setup the environment, including wrappers, for building.
toolchain_setup_ada() {
- local latest_gcc=$(best_version -b "sys-devel/gcc")
- latest_gcc="${latest_gcc#sys-devel/gcc-}"
- latest_gcc=$(ver_cut 1 ${latest_gcc})
-
local ada_bootstrap
local ada_candidate
local ada_bootstrap_type
+ local ada_bootstrap_bin_dir
# GNAT can usually be built using the last major version and
# the current version, at least.
#
@@ -872,19 +960,12 @@ toolchain_setup_ada() {
# 1) Match the version being built;
# 2) Iterate downwards from the version being built;
# 3) Iterate upwards from the version being built to the greatest version installed.
- for ada_candidate in ${SLOT} $(seq $((${SLOT} - 1)) -1 10) $(seq $((${SLOT} + 1)) ${latest_gcc}) ; do
- has_version -b "sys-devel/gcc:${ada_candidate}" || continue
-
- ebegin "Testing sys-devel/gcc:${ada_candidate} for Ada"
- if has_version -b "sys-devel/gcc:${ada_candidate}[ada(-)]" ; then
- ada_bootstrap=${ada_candidate}
- ada_bootstrap_type=gcc
-
- eend 0
- break
- fi
- eend 1
- done
+ local bootstrap_gcc_slot bootstrap_gcc_bin_dir
+ if _find_bootstrap_gcc_with "[ada(-)]" "Ada" 10 ; then
+ ada_bootstrap=${bootstrap_gcc_slot}
+ ada_bootstrap_type=gcc
+ ada_bootstrap_bin_dir="${bootstrap_gcc_bin_dir}"
+ fi
# As a penultimate resort, try dev-lang/ada-bootstrap.
if ver_test ${ada_bootstrap} -gt ${PV} || [[ -z ${ada_bootstrap} ]] ; then
@@ -897,6 +978,7 @@ toolchain_setup_ada() {
#latest_ada_bootstrap=$(ver_cut 1 ${latest_ada_bootstrap})
ada_bootstrap="10"
ada_bootstrap_type=ada-bootstrap
+ ada_bootstrap_bin_dir="${BROOT}/usr/lib/ada-bootstrap/bin"
eend 0
else
@@ -910,6 +992,7 @@ toolchain_setup_ada() {
if has_version -b "dev-lang/gnat-gpl" ; then
ada_bootstrap=10
ada_bootstrap_type=gcc
+ ada_bootstrap_bin_dir="${BROOT}/usr/${CHOST}/gcc-bin/${ada_bootstrap}"
eend 0
else
eend 1
@@ -974,10 +1057,10 @@ toolchain_setup_ada() {
case ${ada_bootstrap_type} in
ada-bootstrap)
export PATH="${BROOT}/usr/lib/ada-bootstrap/bin:${PATH}"
- gnat1_path=${BROOT}/usr/lib/ada-bootstrap/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1
+ gnat1_path=${BROOT}/usr/lib/ada-bootstrap/libexec/gcc/${CHOST}/${ada_bootstrap}/gnat1
;;
*)
- gnat1_path=${BROOT}/usr/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1
+ gnat1_path=${BROOT}/usr/libexec/gcc/${CHOST}/${ada_bootstrap}/gnat1
;;
esac
@@ -994,7 +1077,7 @@ toolchain_setup_ada() {
# work for us as the stage1 compiler doesn't necessarily have Ada
# support. Substitute the Ada compiler we found earlier.
local adalib
- adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
+ adalib=$("${ada_bootstrap_bin_dir}"/${CHOST}-gcc -print-libgcc-file-name || die "Finding adalib dir failed")
adalib="${adalib%/*}/adalib"
sed -i \
-e "s:adalib=.*:adalib=${adalib}:" \
@@ -1007,7 +1090,7 @@ toolchain_setup_ada() {
for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
#!/bin/sh
- exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) "\$@"
+ exec "${ada_bootstrap_bin_dir}"/${CHOST}-${tool} "\$@"
EOF
export "${tool^^}"="${T}"/ada-wrappers/${tool}
@@ -1024,47 +1107,20 @@ toolchain_setup_ada() {
# Determine the most suitable GDC (D compiler) for bootstrapping
# and setup the environment for building.
toolchain_setup_d() {
- local gcc_pkg gcc_bin_base
- if tc-is-cross-compiler ; then
- gcc_pkg=cross-${CHOST}/gcc
- gcc_bin_base=${BROOT}/usr/${CBUILD}/${CHOST}/gcc-bin
- else
- gcc_pkg=sys-devel/gcc
- gcc_bin_base=${BROOT}/usr/${CHOST}/gcc-bin
- fi
-
- local latest_gcc=$(best_version -b "${gcc_pkg}")
- latest_gcc="${latest_gcc#${gcc_pkg}-}"
- latest_gcc=$(ver_cut 1 ${latest_gcc})
-
- local d_bootstrap
- local d_candidate
- # Order of preference (descending):
- # 1) Match the version being built;
- # 2) Iterate downwards from the version being built;
- # 3) Iterate upwards from the version being built to the greatest version installed.
- for d_candidate in ${SLOT} $(seq $((${SLOT} - 1)) -1 10) $(seq $((${SLOT} + 1)) ${latest_gcc}) ; do
- has_version -b "${gcc_pkg}:${d_candidate}" || continue
-
- ebegin "Testing ${gcc_pkg}:${d_candidate} for D"
- if has_version -b "${gcc_pkg}:${d_candidate}[d(-)]" ; then
- d_bootstrap=${d_candidate}
-
- eend 0
- break
- fi
- eend 1
- done
+ local bootstrap_gcc_slot bootstrap_gcc_bin_dir
+ _find_bootstrap_gcc_with "[d(-)]" "D" 11
- if [[ -z ${d_bootstrap} ]] ; then
+ if [[ -z ${bootstrap_gcc_bin_dir} ]] ; then
if tc-is-cross-compiler ; then
# We can't add cross-${CHOST}/gcc[d] to BDEPEND but we can
# print a useful message to the user.
- eerror "No ${gcc_pkg}[d] was found installed."
+ local bootstrap_gcc_pkg
+ _get_bootstrap_gcc_info bootstrap_gcc_pkg
+ eerror "No ${bootstrap_gcc_pkg}[d] was found installed."
eerror "When cross-compiling GDC a bootstrap GDC is required."
eerror "Either disable the d USE flag or add:"
eerror ""
- eerror " ${gcc_pkg} d"
+ eerror " ${bootstrap_gcc_pkg} d"
eerror ""
eerror "In your package.use and re-emerge it."
eerror ""
@@ -1073,7 +1129,7 @@ toolchain_setup_d() {
die "Did not find any appropriate GDC compiler installed"
fi
- export GDC=${gcc_bin_base}/${d_bootstrap}/${CHOST}-gdc
+ export GDC=${bootstrap_gcc_bin_dir}/${CHOST}-gdc
}
#---->> src_configure <<----
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-01 9:25 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-01 9:25 UTC (permalink / raw
To: gentoo-commits
commit: 60551c277310cdae29d2aeeeeb3b20448156d344
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 1 09:24:54 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 1 09:24:54 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60551c27
rust.eclass: add rust-1.83.0
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/rust.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index 450911ba2ea0..68983f688e42 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -67,6 +67,7 @@ fi
# @DESCRIPTION:
# Definitive list of Rust slots and the associated LLVM slot, newest first.
declare -A -g -r _RUST_LLVM_MAP=(
+ ["1.83.0"]=19
["1.82.0"]=19
["1.81.0"]=18
["1.80.1"]=18
@@ -84,6 +85,7 @@ declare -A -g -r _RUST_LLVM_MAP=(
# While _RUST_LLVM_MAP stores useful info about the relationship between Rust and LLVM slots,
# this array is used to store the Rust slots in a more convenient order for iteration.
declare -a -g -r _RUST_SLOTS_ORDERED=(
+ "1.83.0"
"1.82.0"
"1.81.0"
"1.80.1"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-01 8:53 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-12-01 8:53 UTC (permalink / raw
To: gentoo-commits
commit: 5e374fdf18c2105783e812102f5721397c7a1649
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 1 08:50:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 1 08:51:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e374fdf
toolchain.eclass: add more mirrors to EGIT_REPO_URI
sourceware was down earlier, so add some mirrors.
sourcehut is an official mirror (albeit an experiment IIRC) by sourceware
and x86-gcc is run by H.J. Lu. gcc-mirror on github (which was in the
list already) looks like an automatic one but let's leave it last.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 505e7c2666d7..a546f80f766f 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -33,7 +33,12 @@ tc_is_live() {
}
if tc_is_live ; then
- EGIT_REPO_URI="https://gcc.gnu.org/git/gcc.git https://github.com/gcc-mirror/gcc"
+ EGIT_REPO_URI="
+ https://gcc.gnu.org/git/gcc.git
+ https://git.sr.ht/~sourceware/gcc
+ https://gitlab.com/x86-gcc/gcc.git
+ https://github.com/gcc-mirror/gcc.git
+ "
# Naming style:
# gcc-10.1.0_pre9999 -> gcc-10-branch
# Note that the micro version is required or lots of stuff will break.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-30 7:17 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-11-30 7:17 UTC (permalink / raw
To: gentoo-commits
commit: 142233f08e4be891468e74727ce4e0e538adc5c7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 20 15:55:00 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 30 07:16:12 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=142233f0
python-any-r1.eclass: Remove obsolete variable
Remove a leftover variable from before PYTHON_PKG_DEP was used.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-any-r1.eclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass
index ca2ddf146406..adc7b1bfec47 100644
--- a/eclass/python-any-r1.eclass
+++ b/eclass/python-any-r1.eclass
@@ -167,8 +167,7 @@ inherit python-utils-r1
# @CODE
_python_any_set_globals() {
- local usestr deps i PYTHON_PKG_DEP
- [[ ${PYTHON_REQ_USE} ]] && usestr="[${PYTHON_REQ_USE}]"
+ local deps i PYTHON_PKG_DEP
_python_set_impls
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-30 7:17 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-11-30 7:17 UTC (permalink / raw
To: gentoo-commits
commit: db66158182dafb2614ddfe5514216f17e166792d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 30 07:15:43 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 30 07:15:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db661581
distutils-r1.eclass: Revert "disable setuptools validation ..."
Unauthorized changes, superseded by a later patchset.
Reverts: 4f313c8a60d62cceab147cb62d2a4ee07484dd50
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 1 -
1 file changed, 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index c2d7e7eb8d06..e5a13e9c88cd 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1259,7 +1259,6 @@ distutils_pep517_install() {
# set it globally in case we were using "standalone" wrapper
local -x HATCH_METADATA_CLASSIFIERS_NO_VERIFY=1
- local -x GENTOO_VALIDATE_PYPROJECT_NO_TROVE_CLASSIFIERS=1
if in_iuse debug && use debug; then
local -x SETUPTOOLS_RUST_CARGO_PROFILE=dev
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-30 5:10 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-30 5:10 UTC (permalink / raw
To: gentoo-commits
commit: 6d9336278643e0ad9fc99cfd497d50c3a8f30319
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 30 02:59:57 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Nov 30 05:10:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6d933627
toolchain.eclass: wire up offloading for nvptx
'crossdev -t nvptx-none' creates a standalone cross-compiler which is needed
anyway, but by itself, it's less useful than offloading support within
host gcc, where GCC can choose to offload into that cross-compiler as
appropriate.
This could include amdgcn-amdhsa support in the future.
Bug: https://bugs.gentoo.org/945296
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 32 ++++++++++++++++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index bcc47ffb9635..5b68c5acbc49 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1312,8 +1312,30 @@ toolchain_src_configure() {
;;
nvptx*)
needed_libc=newlib
- # "LTO is not supported for this target"
- confgcc+=( --disable-lto )
+ confgcc+=(
+ # "LTO is not supported for this target"
+ --disable-lto
+ )
+
+ # --enable-as-accelerator-for= seems to disable
+ # installing nvtpx-none-cc etc, so we have to
+ # avoid passing that for the stage1-build that
+ # crossdev does. If we pass it unconditionally,
+ # we can't build newlib after building stage1 gcc.
+ if has_version ${CATEGORY}/${PN} ; then
+ confgcc+=(
+ # It's unlikely that anyone will want
+ # to build nvptx-none as a pure standalone
+ # toolchain (which will be single-threaded, etc).
+ #
+ # If someone really wants it, we can see about
+ # adding a USE=offload or similar based on CTARGET
+ # for cross targets. But for now, we always assume
+ # we're being built as an offloading compiler (accelerator).
+ --enable-as-accelerator-for=${CHOST}
+ --disable-sjlj-exceptions
+ )
+ fi
;;
esac
@@ -1547,6 +1569,12 @@ toolchain_src_configure() {
[[ ${CTARGET} == *-darwin* ]] && \
confgcc+=( --enable-version-specific-runtime-libs )
+ # TODO: amdgcn-amdhsa?
+ [[ ${CTARGET} == x86_64* ]] && confgcc+=(
+ --enable-offload-defaulted
+ --enable-offload-targets=nvptx-none
+ )
+
### library options
if in_iuse openmp ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-30 5:10 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-30 5:10 UTC (permalink / raw
To: gentoo-commits
commit: 83ff8f581b40c21ca65a5370d4d86085972ebf89
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 30 03:05:50 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Nov 30 05:10:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83ff8f58
toolchain.eclass: filter -Werror=format-security
Bug: https://gcc.gnu.org/PR100431
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 5b68c5acbc49..eac300438da5 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1995,6 +1995,9 @@ gcc_do_filter_flags() {
fi
fi
+ # https://gcc.gnu.org/PR100431
+ filter-flags -Werror=format-security
+
if ver_test -lt 13.6 ; then
# These aren't supported by the just-built compiler either.
filter-flags -fharden-compares -fharden-conditional-branches \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-29 21:18 Eli Schwartz
0 siblings, 0 replies; 6228+ messages in thread
From: Eli Schwartz @ 2024-11-29 21:18 UTC (permalink / raw
To: gentoo-commits
commit: 9450bddf360dd6cd5480fd064553eff53bf93d9b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 23 19:20:31 2024 +0000
Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Fri Nov 29 21:11:58 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9450bddf
python-utils-r1.eclass: Move python3_13t before other python*
Move the python3_13t target on the list before other CPython targets.
This means it's technically "less preferred", so e.g. *all phases
would rather be performed with regular CPython, which should generally
be more faster.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Eli Schwartz <eschwartz <AT> 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 555b6c561a18..aa22b164020c 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -40,8 +40,8 @@ inherit multiprocessing toolchain-funcs
# All supported Python implementations, most preferred last.
_PYTHON_ALL_IMPLS=(
pypy3
- python3_{10..13}
python3_13t
+ python3_{10..13}
)
readonly _PYTHON_ALL_IMPLS
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-29 21:18 Eli Schwartz
0 siblings, 0 replies; 6228+ messages in thread
From: Eli Schwartz @ 2024-11-29 21:18 UTC (permalink / raw
To: gentoo-commits
commit: b7a319036353b6fe12fe76ffea061b697546412e
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 5 02:52:25 2024 +0000
Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Fri Nov 29 21:12:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7a31903
distutils-r1.eclass: Update maturin's skip auditwheel option
>=maturin-1.7.1 has deprecated --skip-auditwheel and added
--auditwheel=<check|repair|skip> to replace it. Update and set
the lower bound to latest stable rather than use has_version.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/39204
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>
eclass/distutils-r1.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 357e64e6f75c..1806eb06483d 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -271,7 +271,7 @@ _distutils_set_globals() {
;;
maturin)
bdep+='
- >=dev-util/maturin-1.4.0[${PYTHON_USEDEP}]
+ >=dev-util/maturin-1.7.4[${PYTHON_USEDEP}]
'
;;
no)
@@ -1262,8 +1262,8 @@ distutils_pep517_install() {
# `maturin pep517 build-wheel --help` for options
local maturin_args=(
"${DISTUTILS_ARGS[@]}"
+ --auditwheel=skip # see bug #831171
--jobs="$(makeopts_jobs)"
- --skip-auditwheel # see bug #831171
$(in_iuse debug && usex debug '--profile=dev' '')
)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-29 21:18 Eli Schwartz
0 siblings, 0 replies; 6228+ messages in thread
From: Eli Schwartz @ 2024-11-29 21:18 UTC (permalink / raw
To: gentoo-commits
commit: 4f313c8a60d62cceab147cb62d2a4ee07484dd50
Author: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 5 19:22:04 2024 +0000
Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Fri Nov 29 21:12:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f313c8a
distutils-r1.eclass: disable setuptools validation of pypi.org allowed strings
In the previous commit, a change was patched into setuptools to enable
skipping pypi.org specific validations we do not want. Export the
environment variable which activates this, whenever the build backend is
setuptools.
Bug: https://github.com/pypa/setuptools/issues/4459
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>
eclass/distutils-r1.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index e5a13e9c88cd..c2d7e7eb8d06 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1259,6 +1259,7 @@ distutils_pep517_install() {
# set it globally in case we were using "standalone" wrapper
local -x HATCH_METADATA_CLASSIFIERS_NO_VERIFY=1
+ local -x GENTOO_VALIDATE_PYPROJECT_NO_TROVE_CLASSIFIERS=1
if in_iuse debug && use debug; then
local -x SETUPTOOLS_RUST_CARGO_PROFILE=dev
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-26 17:28 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-11-26 17:28 UTC (permalink / raw
To: gentoo-commits
commit: dec60bb6900d6ebdaaa6aa1dcb845b30b739f9b5
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 26 17:28:34 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue Nov 26 17:28:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dec60bb6
texlive-module.eclass: add man pages of texlive 2024
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-module.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index d7ec59c25a8a..f8b6f0858cd6 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -377,6 +377,7 @@ texlive-module_src_install() {
ctangle.1
ctie.1
ctwill.1
+ ctwill-proofsort.1
ctwill-refsort.1
ctwill-twinx.1
cweave.1
@@ -506,6 +507,7 @@ texlive-module_src_install() {
ttf2afm.1
ttfdump.1
twill.1
+ twill-refsort.1
upbibtex.1
updmap.1
updmap.cfg.5
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-26 1:45 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2024-11-26 1:45 UTC (permalink / raw
To: gentoo-commits
commit: 3c00cc939e174c24bb62583b1441bcdf99cf8195
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 20 21:40:26 2024 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Tue Nov 26 01:44:57 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c00cc93
eclass/dotnet-pkg-base: disable MSBUILDTERMINALLOGGER from .NET 9.0
Disable the fancy terminal logger introduced in .NET 9.0.
If enabled, it messes up with the Portage log file output.
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg-base.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
index 8ec21c9a276c..d9abff3859f6 100644
--- a/eclass/dotnet-pkg-base.eclass
+++ b/eclass/dotnet-pkg-base.eclass
@@ -104,6 +104,9 @@ export POWERSHELL_UPDATECHECK=0
# Speeds up restore. Having this turned on is redundant with Portage manifests.
# See also: https://github.com/NuGet/Home/issues/13062
export DOTNET_NUGET_SIGNATURE_VERIFICATION=false
+# Disable the fancy terminal logger introduced in .NET 9.0.
+# It messes up the Portage log file output.
+export MSBUILDTERMINALLOGGER=off
# Overwrite selected MSBuild properties ("-p:XYZ").
export UseSharedCompilation=false
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-26 1:45 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2024-11-26 1:45 UTC (permalink / raw
To: gentoo-commits
commit: 19097e3b12aef083f542c88bafe01303f5d61fbf
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 20 21:43:10 2024 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Tue Nov 26 01:44:57 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19097e3b
eclass/nuget: add eclassdoc that describes how to generate the NUGETS list
Some users asked for it. Also add a link to the Gentoo Wiki with more
specific examples.
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/nuget.eclass | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/eclass/nuget.eclass b/eclass/nuget.eclass
index 4efbeb909f43..3fa732e79b5f 100644
--- a/eclass/nuget.eclass
+++ b/eclass/nuget.eclass
@@ -71,6 +71,21 @@ export NUGET_PACKAGES
# @DESCRIPTION:
# String containing all NuGet packages that need to be downloaded.
#
+# To generate the "NUGETS" list use the "gdmt restore" tool from the
+# "dev-dotnet/gentoo-dotnet-maintainer-tools" package. To see all "gdmt restore"
+# options invoke it with the "--help" flag. The Gentoo Wiki page
+# Dotnet/Devguide (https://wiki.gentoo.org/wiki/Dotnet/Devguide) contains some
+# examples and special cases to be beware of.
+#
+# Generally you will want to invoke "gdmt restore" form within a (clean) tagged
+# checkout of a given .NET-based project. The invocation will look something
+# like this: gdmt restore --sdk-ver SDK-VER --cache "$(pwd)/.cache" --project PROJECT
+# Where:
+# * "SDK-VER" is a .NET version (6.0, 8.0), mind the full version, "8" is not allowed,
+# * "PROJECT" is a given project file (.csproj or .fsproj) or a directory containing it.
+# So, for example:
+# gdmt restore --sdk-ver 8.0 --cache "$(pwd)/.cache" --project src/App/App.csproj
+#
# Used by "_nuget_uris".
#
# Example:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-24 19:01 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-11-24 19:01 UTC (permalink / raw
To: gentoo-commits
commit: 729c11d560d55971b8f46295fce77afc4e895265
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 20 16:51:48 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 24 19:01:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=729c11d5
toolchain.eclass: Throw an error if trying to disable time64
Throw an error if the user is trying to build a non-time64 version
of GCC on a system featuring a time64 GCC already. Most of the time,
this will mean that the user has accidentally switched to a non-time64
profile.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/39384
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/toolchain.eclass | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 696eec73b4ba..13f3298fea90 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -576,6 +576,19 @@ toolchain_pkg_pretend() {
_tc_use_if_iuse objc++ && \
ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"'
fi
+
+ # Do the check for pure source builds only, since the override
+ # cannot work with binary packages, see https://bugs.gentoo.org/944198
+ if [[ ${BUILD_TYPE} == source ]] && in_iuse time64 && ! use time64 &&
+ has_version -r "${CATEGORY}/${PN}[time64(-)]" &&
+ [[ ! ${TC_FORCE_TIME32} ]]
+ then
+ eerror "Attempting to build USE=-time64 version of gcc when at least"
+ eerror "one USE=time64 version is installed. Did you accidentally"
+ eerror "switch back to a non-time64 profile? If this is really"
+ eerror "desirable, set TC_FORCE_TIME32=1 to force the build."
+ die "Attempting to build USE=-time64 on a USE=time64 system"
+ fi
}
#---->> pkg_setup <<----
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-23 13:15 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-11-23 13:15 UTC (permalink / raw
To: gentoo-commits
commit: 046c2aa1d89481de5fcdfe21e1c6aa63fcf59597
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 23 13:13:51 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 23 13:15:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=046c2aa1
llvm.org.eclass: Remove old snapshots
Signed-off-by: Michał Górny <mgorny <AT> 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 e5388f548228..fe93a0deb841 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -78,15 +78,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
20.0.0_pre20241118)
EGIT_COMMIT=a6385a3fc8a88f092d07672210a1e773481c2919
;;
- 20.0.0_pre20241113)
- EGIT_COMMIT=c7df10643bda4acdc9a02406a2eee8aa4ced747f
- ;;
- 20.0.0_pre20241106)
- EGIT_COMMIT=0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0
- ;;
- 20.0.0_pre20241029)
- EGIT_COMMIT=3f4468faaa9525ad615118675c3c68938f4a8d5f
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-22 19:25 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-22 19:25 UTC (permalink / raw
To: gentoo-commits
commit: f97d6acdc51b31a5473ada79b5636388f9e16cd3
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 22 19:25:26 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 22 19:25:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f97d6acd
toolchain.eclass: filter -fdiagnostics-set-output=text:experimental-nesting=yes for < 15
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 02db921ce133..696eec73b4ba 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1966,6 +1966,7 @@ gcc_do_filter_flags() {
if ver_test -lt 15.1 ; then
filter-flags -fdiagnostics-explain-harder -fdiagnostics-details
+ filter-flags -fdiagnostics-set-output=text:experimental-nesting=yes
fi
if is_d ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-20 12:37 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-20 12:37 UTC (permalink / raw
To: gentoo-commits
commit: 839a158bb5efbf454e09414e96cd7716a2550f31
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 20 12:36:08 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 20 12:36:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=839a158b
toolchain.eclass: revert Ada changes for now
I need to do some more. Revert my earlier changes for now.
Reverts: 97069fd8721ea55980e548b9cf1d55e2a234a514
Reverts: 0a0b2fe6aadb9d0c3b41fdabb21535659c839bf5
Reverts: 1b5d47858780c700e706582aa370a69148552055
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 8178a7b837b2..02db921ce133 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -956,10 +956,10 @@ toolchain_setup_ada() {
case ${ada_bootstrap_type} in
ada-bootstrap)
export PATH="${BROOT}/usr/lib/ada-bootstrap/bin:${PATH}"
- gnat1_path=${BROOT}/usr/lib/ada-bootstrap/libexec/gcc/${CHOST}/${ada_bootstrap}/gnat1
+ gnat1_path=${BROOT}/usr/lib/ada-bootstrap/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1
;;
*)
- gnat1_path=${BROOT}/usr/libexec/gcc/${CHOST}/${ada_bootstrap}/gnat1
+ gnat1_path=${BROOT}/usr/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1
;;
esac
@@ -976,7 +976,7 @@ toolchain_setup_ada() {
# work for us as the stage1 compiler doesn't necessarily have Ada
# support. Substitute the Ada compiler we found earlier.
local adalib
- adalib=$(${CHOST}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
+ adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
adalib="${adalib%/*}/adalib"
sed -i \
-e "s:adalib=.*:adalib=${adalib}:" \
@@ -989,7 +989,7 @@ toolchain_setup_ada() {
for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
#!/bin/sh
- exec $(type -P ${CHOST}-${tool}-${ada_bootstrap}) "\$@"
+ exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) "\$@"
EOF
export "${tool^^}"="${T}"/ada-wrappers/${tool}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-20 12:20 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-20 12:20 UTC (permalink / raw
To: gentoo-commits
commit: 97069fd8721ea55980e548b9cf1d55e2a234a514
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 20 12:20:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 20 12:20:13 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97069fd8
toolchain.eclass: another Ada cross fix
Followup followup to 0a0b2fe6aadb9d0c3b41fdabb21535659c839bf5 and
1b5d47858780c700e706582aa370a69148552055.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 8b3b5db38900..8178a7b837b2 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -989,7 +989,7 @@ toolchain_setup_ada() {
for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
#!/bin/sh
- exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) "\$@"
+ exec $(type -P ${CHOST}-${tool}-${ada_bootstrap}) "\$@"
EOF
export "${tool^^}"="${T}"/ada-wrappers/${tool}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-20 12:15 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-20 12:15 UTC (permalink / raw
To: gentoo-commits
commit: 0a0b2fe6aadb9d0c3b41fdabb21535659c839bf5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 20 12:15:05 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 20 12:15:38 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a0b2fe6
toolchain.eclass: followup Ada fix
Followup to 1b5d47858780c700e706582aa370a69148552055.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b3eb184498d9..8b3b5db38900 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -976,7 +976,7 @@ toolchain_setup_ada() {
# work for us as the stage1 compiler doesn't necessarily have Ada
# support. Substitute the Ada compiler we found earlier.
local adalib
- adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
+ adalib=$(${CHOST}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
adalib="${adalib%/*}/adalib"
sed -i \
-e "s:adalib=.*:adalib=${adalib}:" \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-20 12:05 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-20 12:05 UTC (permalink / raw
To: gentoo-commits
commit: 1b5d47858780c700e706582aa370a69148552055
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 20 11:59:35 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 20 11:59:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b5d4785
toolchain.eclass: fix Ada bootstrap paths for cross
Same sort of thing as 434a6775ce93a15ef517478565a938aa73d1d528 although
the paths are different as we're using something from libexec (gnat1).
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 02db921ce133..b3eb184498d9 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -956,10 +956,10 @@ toolchain_setup_ada() {
case ${ada_bootstrap_type} in
ada-bootstrap)
export PATH="${BROOT}/usr/lib/ada-bootstrap/bin:${PATH}"
- gnat1_path=${BROOT}/usr/lib/ada-bootstrap/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1
+ gnat1_path=${BROOT}/usr/lib/ada-bootstrap/libexec/gcc/${CHOST}/${ada_bootstrap}/gnat1
;;
*)
- gnat1_path=${BROOT}/usr/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1
+ gnat1_path=${BROOT}/usr/libexec/gcc/${CHOST}/${ada_bootstrap}/gnat1
;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-19 15:01 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-19 15:01 UTC (permalink / raw
To: gentoo-commits
commit: 14b4ce60bae26089b0b80f9f629900bf7721e9f5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 19 14:59:53 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov 19 14:59:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14b4ce60
toolchain.eclass: fix libdiagnostics handling (more)
I continue to mix up how tc_version_is_at_least works. One day I'll
change it...
Closes: https://bugs.gentoo.org/944007
Fixes: f6a974f8f2378c6c6a83345c101afce233fdf1d7
Fixes: b923a4c0d1a330e40f0a05f3bc94bb4f32ce1cbb
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index e28479dc44af..02db921ce133 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1770,7 +1770,7 @@ toolchain_src_configure() {
--with-system-zlib
)
- if tc_version_is_at_least 15.0.0_pre20241124 ; then
+ if tc_version_is_at_least 15.0.0_pre20241124 ${PV} ; then
confgcc_jit+=( $(use_enable libdiagnostics) )
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-19 14:50 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-19 14:50 UTC (permalink / raw
To: gentoo-commits
commit: f6a974f8f2378c6c6a83345c101afce233fdf1d7
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 19 14:49:04 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov 19 14:50:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6a974f8
toolchain.eclass: fix libdiagnostics handling
Reported by ulm. This was introduced by a last-minute simplification I made,
but USE=libdiagnostics only exists for 9999 and the *next* snapshot, not
the current one, but even then, the code was wrong for < 15 as the use_enable
part was run unconditionally w/ USE=jit.
Fixes: b923a4c0d1a330e40f0a05f3bc94bb4f32ce1cbb
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index edff7254c905..e28479dc44af 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1761,7 +1761,6 @@ toolchain_src_configure() {
--enable-host-shared
--enable-languages=jit
- $(use_enable libdiagnostics)
# Might be used for the just-built GCC. Easier to just
# respect USE=graphite here in case the user passes some
@@ -1771,6 +1770,10 @@ toolchain_src_configure() {
--with-system-zlib
)
+ if tc_version_is_at_least 15.0.0_pre20241124 ; then
+ confgcc_jit+=( $(use_enable libdiagnostics) )
+ fi
+
if tc_version_is_at_least 13.1 ; then
confgcc_jit+=( --disable-fixincludes )
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-18 19:32 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-11-18 19:32 UTC (permalink / raw
To: gentoo-commits
commit: d9336e4f6e20d6a25c85f056b114eeaeace9e9d3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 18 18:41:33 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 19:32:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d9336e4f
llvm.org.eclass: Add 20.0.0_pre20241118 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 22cbeb6c0fc6..e332e6d1804c 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
+ 20.0.0_pre20241118)
+ EGIT_COMMIT=a6385a3fc8a88f092d07672210a1e773481c2919
+ ;;
20.0.0_pre20241113)
EGIT_COMMIT=c7df10643bda4acdc9a02406a2eee8aa4ced747f
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-18 16:44 Mike Gilbert
0 siblings, 0 replies; 6228+ messages in thread
From: Mike Gilbert @ 2024-11-18 16:44 UTC (permalink / raw
To: gentoo-commits
commit: f8642f4a3ef06b7b82985c9f770e5cda862adb54
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 11 00:59:40 2024 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 16:43:00 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8642f4a
fcaps.eclass: leave permissions alone by default
Removing the read bit from suid binaries has questionable security
benefit, and may cause problems for some software.
Instead of clobbering the entire file mode, just toggle the suid bit if
needed. In most cases this will result in a world-readable file.
Introduce the FCAPS_DENY_WORLD_READ setting for users who insist on
having their suid binaries unreadable.
Skip calling chown/chmod if the owner/mode is empty. This may be used by
ebuild authors in certain use cases.
Bug: https://bugs.gentoo.org/938164
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
eclass/fcaps.eclass | 35 ++++++++++++++++++++++++++---------
1 file changed, 26 insertions(+), 9 deletions(-)
diff --git a/eclass/fcaps.eclass b/eclass/fcaps.eclass
index 477e1e954ab8..5cb781a7a75d 100644
--- a/eclass/fcaps.eclass
+++ b/eclass/fcaps.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: fcaps.eclass
@@ -66,6 +66,12 @@ esac
#
# Note: If you override pkg_postinst, you must call fcaps_pkg_postinst yourself.
+# @ECLASS_VARIABLE: FCAPS_DENY_WORLD_READ
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# When set, deny read access on files updated by the fcaps function.
+
# @FUNCTION: fcaps
# @USAGE: [-o <owner>] [-g <group>] [-m <mode>] [-M <caps mode>] <capabilities> <file[s]>
# @DESCRIPTION:
@@ -96,8 +102,13 @@ fcaps() {
# Process the user options first.
local owner='0'
local group='0'
- local mode='4711'
- local caps_mode='711'
+ local mode=u+s
+ local caps_mode=
+
+ if [[ -n ${FCAPS_DENY_WORLD_READ} ]]; then
+ mode=u+s,go-r
+ caps_mode=go-r
+ fi
while [[ $# -gt 0 ]] ; do
case $1 in
@@ -137,9 +148,10 @@ fcaps() {
# fs doesn't support it, but abort on all others.
debug-print "${FUNCNAME}: setting caps '${caps}' on '${file}'"
- # If everything goes well, we don't want the file to be readable
- # by people.
- chmod ${caps_mode} "${file}" || die
+ # Remove the read bits if requested.
+ if [[ -n ${caps_mode} ]]; then
+ chmod ${caps_mode} "${file}" || die
+ fi
if ! out=$(LC_ALL=C setcap "${caps}" "${file}" 2>&1) ; then
case ${out} in
@@ -170,9 +182,14 @@ fcaps() {
fi
# If we're still here, setcaps failed.
- debug-print "${FUNCNAME}: setting owner/mode on '${file}'"
- chown "${owner}:${group}" "${file}" || die
- chmod ${mode} "${file}" || die
+ if [[ -n ${owner} || -n ${group} ]]; then
+ debug-print "${FUNCNAME}: setting owner on '${file}'"
+ chown "${owner}:${group}" "${file}" || die
+ fi
+ if [[ -n ${mode} ]]; then
+ debug-print "${FUNCNAME}: setting mode on '${file}'"
+ chmod ${mode} "${file}" || die
+ fi
done
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-18 11:11 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-18 11:11 UTC (permalink / raw
To: gentoo-commits
commit: 8ff6b44d29f8bbd4b3c3970af11d0ea3aebb2ca6
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 18 11:09:01 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 11:11:00 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ff6b44d
toolchain.eclass: drop -g for src_test
I was seriously mistaken on this: `1 file changed, 2228 deletions(-)` when
testing dropping it.
-g ultimately causes many more matches because of debug statements
and it confuses so many tests.
I must have just made an error when testing other big test flag changes
around the time.
This reverts commit 7200aecb3db3b2dd91129e1530bcb75ce096af91.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ----
1 file changed, 4 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index deedb1867816..f131da7dbd68 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2270,10 +2270,6 @@ toolchain_src_test() {
GCC_TESTS_CFLAGS+=" -fno-stack-clash-protection"
GCC_TESTS_CXXFLAGS+=" -fno-stack-clash-protection"
- # configure defaults to '-O2 -g' and some tests expect it
- # accordingly.
- GCC_TESTS_CFLAGS+=" -g"
-
# TODO: Does this handle s390 (-m31) correctly?
# TODO: What if there are multiple ABIs like x32 too?
# XXX: Disabled until validate_failures.py can handle 'variants'
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-18 9:28 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-18 9:28 UTC (permalink / raw
To: gentoo-commits
commit: 7040530e1c792a2e6e8f36969c408459f9338bde
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 18 09:27:03 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 18 09:27:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7040530e
toolchain.eclass: only show checking warning w/ USE=-debug
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 8fe3cde2a69f..deedb1867816 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1185,11 +1185,13 @@ toolchain_src_configure() {
if grep -q "experimental" gcc/DEV-PHASE ; then
# Tell users about the non-obvious behavior here so they don't think
# e.g. the next GCC release is super slow to compile things.
- ewarn "Unreleased GCCs default to extra runtime checks even with USE=-debug,"
- ewarn "matching upstream default behavior. We recommend keeping these enabled."
- ewarn "The checks (sometimes substantially) increase build time but provide important protection"
- ewarn "from potential miscompilations (wrong code) by turning them into build-time errors."
- ewarn "To override (not recommended), set: GCC_CHECKS_LIST=\"release\"."
+ if ! use debug ; then
+ ewarn "Unreleased GCCs default to extra runtime checks even with USE=-debug,"
+ ewarn "matching upstream default behavior. We recommend keeping these enabled."
+ ewarn "The checks (sometimes substantially) increase build time but provide important protection"
+ ewarn "from potential miscompilations (wrong code) by turning them into build-time errors."
+ ewarn "To override (not recommended), set: GCC_CHECKS_LIST=\"release\"."
+ fi
# - USE=debug for pre-releases: yes,extra,rtl (stornger than USE=debug for releases)
# - USE=-debug for pre-releases: yes,extra (following upstream default)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-17 5:27 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-17 5:27 UTC (permalink / raw
To: gentoo-commits
commit: 0b84ec0b3c260bc8a75616f73f0bfa9bdec0d600
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 17 05:25:46 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sun Nov 17 05:27:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b84ec0b
rust.eclass: break up eclass documentation
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index b578f6cf9afa..450911ba2ea0 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -13,8 +13,10 @@
# a given Rust slot. To use the eclass:
#
# 1. If required, set RUST_{MAX,MIN}_SLOT to the range of supported slots.
+#
# 2. If rust is optional, set RUST_OPTIONAL to a non-empty value then
-# appropriately gate ${RUST_DEPEND}
+# appropriately gate ${RUST_DEPEND}
+#
# 3. Use rust_pkg_setup, get_rust_prefix or RUST_SLOT.
# Example use for a package supporting Rust 1.72.0 to 1.82.0:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-17 5:27 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-17 5:27 UTC (permalink / raw
To: gentoo-commits
commit: 0fb3a82b51afa552cfc9cf7169e3d865b4f3419b
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 17 05:23:34 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sun Nov 17 05:27:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0fb3a82b
rust.eclass: fix ECLASS_VARIABLE for LLVM/MULTILIB
RUST_NEEDS_LLVM and RUST_MULTILIB incorrectly had
ECLASS_VARIABLE in lowercase, resulting in these variables
not ending up in documentation.
Closes: https://bugs.gentoo.org/943559
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index f293e96d7ce8..b578f6cf9afa 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -106,7 +106,7 @@ declare -a -g -r _RUST_SLOTS_ORDERED=(
# Lowest Rust slot supported by the package. Needs to be set before
# rust_pkg_setup is called. If unset, no lower bound is assumed.
-# @eclass-variable: RUST_NEEDS_LLVM
+# @ECLASS_VARIABLE: RUST_NEEDS_LLVM
# @DEFAULT_UNSET
# @DESCRIPTION:
# If set to a non-empty value generate a llvm_slot_${llvm_slot}? gated
@@ -118,7 +118,7 @@ declare -a -g -r _RUST_SLOTS_ORDERED=(
# an invalid combination of RUST and LLVM slots is detected; this probably
# means that a LLVM slot in LLVM_COMPAT has had all of its Rust slots filtered.
-# @eclass-variable: RUST_MULTILIB
+# @ECLASS_VARIABLE: RUST_MULTILIB
# @DEFAULT_UNSET
# @DESCRIPTION:
# If set to a non-empty value insert MULTILIB_USEDEP into the generated
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-14 0:36 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-14 0:36 UTC (permalink / raw
To: gentoo-commits
commit: 4d201afa8ab194f6ecf932f90fc35b9cb1fc92a1
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 14 00:34:48 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Nov 14 00:35:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d201afa
toolchain.eclass: fix time64 conditional for kgcc64
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 99db7916c91d..8fe3cde2a69f 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1065,7 +1065,7 @@ toolchain_src_configure() {
downgrade_arch_flags
gcc_do_filter_flags
- if tc_version_is_at_least 14.2.1_p20241026 ${PV}; then
+ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] && tc_version_is_at_least 14.2.1_p20241026 ${PV}; then
append-cppflags "-D_GENTOO_TIME64_FORCE=$(usex time64 1 0)"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-13 19:22 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-13 19:22 UTC (permalink / raw
To: gentoo-commits
commit: 2aa4020e09554055db2d6a6f65c55370565a440e
Author: Andrei Horodniceanu <a.horodniceanu <AT> proton <DOT> me>
AuthorDate: Wed Nov 13 09:31:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 13 19:22:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2aa4020e
toolchain.eclass: unconditionally pass --disable-cet on x86
d6cb7a61dad7e9672a8448597835dbbf9b9e0ccf removed the check that passed
--enable-cet or --disable-cet to configure making the script fallback to
automagic. The goal was to prevent passing --enable-cet on x86 gnu
triples as that would lead to gcc failing to build under crossdev. Note
that this specific crossdev cet issue has been solved in crossdev by
package.use.mask'ing the cet USE flag for gcc on x86 but targets
configured before that can still have the cet USE flag enabled.
Bug: https://bugs.gentoo.org/943332
Signed-off-by: Andrei Horodniceanu <a.horodniceanu <AT> proton.me>
Closes: https://github.com/gentoo/gentoo/pull/39300
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 1f043de0b548..99db7916c91d 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1588,6 +1588,7 @@ toolchain_src_configure() {
enable_cet_for 'x86_64' 'gnu' 'cet'
enable_cet_for 'aarch64' 'gnu' 'standard-branch-protection'
+ [[ ${CTARGET} == i[34567]86-* ]] && confgcc+=( --disable-cet )
fi
if in_iuse systemtap ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-13 18:21 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-11-13 18:21 UTC (permalink / raw
To: gentoo-commits
commit: b0d162996da5a80e992bd5bcf6b5240bfe4f0db4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 13 17:17:30 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Nov 13 18:21:18 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0d16299
llvm.org.eclass: Add 20.0.0_pre20241113 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 7325bf75e3bb..22cbeb6c0fc6 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
+ 20.0.0_pre20241113)
+ EGIT_COMMIT=c7df10643bda4acdc9a02406a2eee8aa4ced747f
+ ;;
20.0.0_pre20241106)
EGIT_COMMIT=0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-13 6:16 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-13 6:16 UTC (permalink / raw
To: gentoo-commits
commit: f8b206fd6688628bd9bbb2f2c5e3d3eb627d76dc
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 13 01:33:50 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Wed Nov 13 06:14:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8b206fd
rust.eclass: cross compile fixes
Change _get_rust_slot to default to -b/BROOT.
Reuse _get_rust_slot result in pkg_setup.
Pass along arguments from get_rust_prefix to _get_rust_slot.
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/39298
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index 3a8a93718787..f293e96d7ce8 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -259,10 +259,10 @@ unset -f _rust_set_globals
# and print its version number (i.e. SLOT) and type (source or bin[ary]).
#
# If -b is specified, the checks are performed relative to BROOT,
-# and BROOT-path is returned.
+# and BROOT-path is returned. -b is the default.
#
# If -d is specified, the checks are performed relative to ESYSROOT,
-# and ESYSROOT-path is returned. -d is the default.
+# and ESYSROOT-path is returned.
#
# If RUST_M{AX,IN}_SLOT is non-zero, then only Rust versions that
# are not newer or older than the specified slot(s) will be considered.
@@ -278,7 +278,7 @@ unset -f _rust_set_globals
_get_rust_slot() {
debug-print-function ${FUNCNAME} "$@"
- local hv_switch=-d
+ local hv_switch=-b
while [[ ${1} == -* ]]; do
case ${1} in
-b|-d) hv_switch="${1}";;
@@ -412,7 +412,7 @@ get_rust_prefix() {
[[ ${1} == -d ]] && prefix=${ESYSROOT}
local slot rust_type
- read -r slot rust_type <<< $(_get_rust_slot)
+ read -r slot rust_type <<< $(_get_rust_slot "$@")
get_rust_path "${prefix}" "${slot}" "${rust_type}"
}
@@ -451,9 +451,9 @@ rust_pkg_setup() {
debug-print-function ${FUNCNAME} "$@"
if [[ ${MERGE_TYPE} != binary ]]; then
- read -r RUST_SLOT RUST_TYPE <<< $(_get_rust_slot)
+ read -r RUST_SLOT RUST_TYPE <<< $(_get_rust_slot -b)
rust_prepend_path "${RUST_SLOT}" "${RUST_TYPE}"
- local prefix=$(get_rust_prefix)
+ local prefix=$(get_rust_path "${BROOT}" "${RUST_SLOT}" "${RUST_TYPE}")
CARGO="${prefix}bin/cargo"
RUSTC="${prefix}bin/rustc"
export CARGO RUSTC
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-12 19:19 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-12 19:19 UTC (permalink / raw
To: gentoo-commits
commit: d6cb7a61dad7e9672a8448597835dbbf9b9e0ccf
Author: Ian Jordan <immoloism <AT> gmail <DOT> com>
AuthorDate: Tue Nov 12 18:32:15 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov 12 19:18:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d6cb7a61
toolchain.eclass: Disable CET on x86
Remove enable_cet_for 'i[34567]86' 'gnu' 'cet' from to prevent -fcf-protection on x86
systens where CET support will never be fully enabled anyway.
This should help with bug #933772 also but I was unable to reproduce to confirm.
Closes: https://bugs.gentoo.org/943332
Bug: https://bugs.gentoo.org/933772
Thanks-to: Sam James <sam <AT> gentoo.org>
Signed-off-by: Ian Jordan <immoloism <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 1 -
1 file changed, 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index c900e2051cd1..1f043de0b548 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1586,7 +1586,6 @@ toolchain_src_configure() {
fi
}
- enable_cet_for 'i[34567]86' 'gnu' 'cet'
enable_cet_for 'x86_64' 'gnu' 'cet'
enable_cet_for 'aarch64' 'gnu' 'standard-branch-protection'
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-12 9:09 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-12 9:09 UTC (permalink / raw
To: gentoo-commits
commit: 34b74faa06a90bf9d4f62ecfca746b380d60517a
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 12 03:07:51 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Tue Nov 12 09:07:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34b74faa
rust.eclass: revert simplified dependency simplification
The simplified dependency specification for cases where no RUST_MAX_SLOT
is set is the desired end state, however the edge case where portage
drops blockers with `--keep-going` has an unfortunate interaction where
both packages are installed simultaneously, e.g. dev-lang/rust-1.82.0:stable
and dev-lang/rust-1.82.0:1.82.0, and there's no easy way for end users
to resolve that as the legacy (though masked) ebuilds will meet the simple
Rust dependency.
Both packages install rlibs with different hashes in them to the same
path (as shown below) resulting in failures when a package attempts
to link against an rlib and finds two.
1.82.0: .../x86_64-unknown-linux-gnu/lib/libunwind-fc4fe814489209c6.rlib
1.82.0-r100: .../x86_64-unknown-linux-gnu/lib/libunwind-ab65e6747cbe4a5a.rlib
Bug: https://bugs.gentoo.org/943143
Bug: https://bugs.gentoo.org/943206
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 27 ++++++++++++---------------
1 file changed, 12 insertions(+), 15 deletions(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index 3837c3a1f6c5..3a8a93718787 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -196,25 +196,22 @@ _rust_set_globals() {
local usedep="${RUST_REQ_USE+[${RUST_REQ_USE}]}"
# If we're not using LLVM, we can just generate a simple Rust dependency
+ # In time we need to implement trivial dependencies
+ # (>=RUST_MIN_VER) where RUST_MAX_VER isnt't set,
+ # however the previous attempt to do this ran into issues
+ # where `emerge ... --keep-going` ate legacy non-slotted
+ # Rust blockers resutling in the non-slotted version never
+ # being removed and breaking builds. #943206 #943143
if [[ -z "${RUST_NEEDS_LLVM}" ]]; then
rust_dep=( "|| (" )
- # We can be more flexible if we generate a simpler, open-ended dependency
- # when we don't have a max version set.
- if [[ -z "${RUST_MAX_VER}" ]]; then
+ # depend on each slot between RUST_MIN_VER and RUST_MAX_VER; it's a bit specific but
+ # won't hurt as we only ever add newer Rust slots.
+ for slot in "${_RUST_SLOTS[@]}"; do
rust_dep+=(
- ">=dev-lang/rust-bin-${RUST_MIN_VER}:*${usedep}"
- ">=dev-lang/rust-${RUST_MIN_VER}:*${usedep}"
+ "dev-lang/rust-bin:${slot}${usedep}"
+ "dev-lang/rust:${slot}${usedep}"
)
- else
- # depend on each slot between RUST_MIN_VER and RUST_MAX_VER; it's a bit specific but
- # won't hurt as we only ever add newer Rust slots.
- for slot in "${_RUST_SLOTS[@]}"; do
- rust_dep+=(
- "dev-lang/rust-bin:${slot}${usedep}"
- "dev-lang/rust:${slot}${usedep}"
- )
- done
- fi
+ done
rust_dep+=( ")" )
RUST_DEPEND="${rust_dep[*]}"
else
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-12 8:09 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-11-12 8:09 UTC (permalink / raw
To: gentoo-commits
commit: 3d37ab7f493f626e059cd24b8de8b722ba53b30a
Author: Nowa Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 12 08:06:27 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Nov 12 08:09:11 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d37ab7f
kernel-build.eclass: install x509.genkey and everything else in certs/
Users setting up kernel module signing are instructed by our and upstream
documentation to use the kernels x509.genkey config file. This ensures that
a supported key is generated.
However, in the current situation users will first have to emerge
gentoo-sources or similar to actually get this genkey file. This is inconvenient
so lets just install the genkey config file in our dist-kernels.
There are also some other tools, scripts, and lists that may be useful, so while
we are changing this anyway lets just install all of those as well and in the
process simplify the code.
Signed-off-by: Nowa Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 4a2af9845ad4..9d33aef92691 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -397,7 +397,7 @@ kernel-build_src_install() {
fi
dodir "${kernel_dir}/arch/${kern_arch}"
- mv include scripts "${ED}${kernel_dir}/" || die
+ mv certs include scripts "${ED}${kernel_dir}/" || die
mv "arch/${kern_arch}/include" \
"${ED}${kernel_dir}/arch/${kern_arch}/" || die
# some arches need module.lds linker script to build external modules
@@ -438,13 +438,8 @@ kernel-build_src_install() {
local image=${ED}${kernel_dir}/${image_path}
cp -p "build/${image_path}" "${image}" || die
- # If a key was generated, copy it so external modules can be signed
- local suffix
- for suffix in pem x509; do
- if [[ -f "build/certs/signing_key.${suffix}" ]]; then
- cp -p "build/certs/signing_key.${suffix}" "${ED}${kernel_dir}/certs" || die
- fi
- done
+ # Copy built key/certificate files
+ cp -p build/certs/* "${ED}${kernel_dir}/certs/" || die
# building modules fails with 'vmlinux has no symtab?' if stripped
use ppc64 && dostrip -x "${kernel_dir}/${image_path}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-11 23:48 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-11 23:48 UTC (permalink / raw
To: gentoo-commits
commit: bfbc75e17d70b281f7f8548a62a0e820821b175a
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 11 23:03:56 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Mon Nov 11 23:40:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bfbc75e1
rust.eclass: fix typo
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index 791af971eb3d..3837c3a1f6c5 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -130,7 +130,7 @@ declare -a -g -r _RUST_SLOTS_ORDERED=(
# @DESCRIPTION:
# This is an eclass-generated Rust dependency string, filtered by
# RUST_MAX_VER and RUST_MIN_VER. If RUST_NEEDS_LLVM is set, this
-# is gropeda and gated by an appropriate `llvm_slot_x` USE for all
+# is grouped and gated by an appropriate `llvm_slot_x` USE for all
# implementations listed in LLVM_COMPAT.
# @ECLASS_VARIABLE: RUST_OPTIONAL
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-11 23:48 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-11 23:48 UTC (permalink / raw
To: gentoo-commits
commit: 7c7e11e46ad664457ccf4954e5bc346c148cff2d
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 11 20:50:47 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Mon Nov 11 23:39:58 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c7e11e4
rust.eclass: define `usedep` before its first usage
The open-ended dependency (no `RUST_MAX_VER`) was generated
before `usedep` was set to anything. Define `usedep` when
the variable is initialised and let the `RUST_NEEDS_LLVM`
path set it per llvm slot as required.
Closes: https://bugs.gentoo.org/943289
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index f7c2d6e9a80e..791af971eb3d 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -193,7 +193,7 @@ _rust_set_globals() {
local rust_dep=()
local llvm_slot
local rust_slot
- local usedep
+ local usedep="${RUST_REQ_USE+[${RUST_REQ_USE}]}"
# If we're not using LLVM, we can just generate a simple Rust dependency
if [[ -z "${RUST_NEEDS_LLVM}" ]]; then
@@ -209,7 +209,6 @@ _rust_set_globals() {
# depend on each slot between RUST_MIN_VER and RUST_MAX_VER; it's a bit specific but
# won't hurt as we only ever add newer Rust slots.
for slot in "${_RUST_SLOTS[@]}"; do
- usedep="${RUST_REQ_USE+[${RUST_REQ_USE}]}"
rust_dep+=(
"dev-lang/rust-bin:${slot}${usedep}"
"dev-lang/rust:${slot}${usedep}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-11 19:28 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-11 19:28 UTC (permalink / raw
To: gentoo-commits
commit: a0767621299b316a2e451a890e82c4672abd3891
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 11 19:09:29 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 11 19:27:57 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a0767621
toolchain.eclass: add comment explaining --with-newlib
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 573471351dd1..c900e2051cd1 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1252,7 +1252,10 @@ toolchain_src_configure() {
# ;;
# esac
- ### Cross-compiler options
+ ### Cross-compiler option
+ #
+ # Note that 'newlib' here doesn't have to mean genuine newlib.
+ # See https://gcc.gnu.org/pipermail/gcc/2014-January/211653.html.
if is_crosscompile ; then
# Enable build warnings by default with cross-compilers when system
# paths are included (e.g. via -I flags).
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-11 8:53 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-11 8:53 UTC (permalink / raw
To: gentoo-commits
commit: 9224c0acf8aa541c49de424042c88e87f0e76e26
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 10 01:24:33 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Mon Nov 11 08:49:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9224c0ac
eclass: update rust usedep handling; address feedback
- Inherit llvm-r1 where required and let it die if LLVM_COMPAT is not
set.
- New variable: RUST_MULTILIB; if set will generate a multilib usedep
for supported rust slots.
- RUST_USEDEP -> RUST_REQ_USE to be consistent with other eclasses
(ebuild updates handled in a followup commit).
- Tidyup & address feedback
- Improve RUST_MIN_VER (only) dependency specification
Closes: https://bugs.gentoo.org/943206
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 126 ++++++++++++++++++++++++++++-------------------------
1 file changed, 66 insertions(+), 60 deletions(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index ca71c6535061..f7c2d6e9a80e 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -34,7 +34,8 @@
#
# Example for a package needing Rust w/ a specific target:
# @CODE
-# RUST_USEDEP='clippy,${MULTILIB_USEDEP}'
+# RUST_REQ_USE='clippy'
+# RUST_MULTILIB=1
#
# inherit multilib-minimal meson rust
#
@@ -49,9 +50,12 @@ if [[ -z ${_RUST_ECLASS} ]]; then
_RUST_ECLASS=1
if [[ -n ${RUST_NEEDS_LLVM} ]]; then
- if [[ -z ${_LLVM_R1_ECLASS} ]]; then
- die "Please inherit llvm-r1.eclass before rust.eclass when using RUST_NEEDS_LLVM"
- fi
+ inherit llvm-r1
+fi
+
+if [[ -n ${RUST_MULTILIB} ]]; then
+ inherit multilib-build
+ RUST_REQ_USE="${RUST_REQ_USE+${RUST_REQ_USE},}${MULTILIB_USEDEP}"
fi
# == internal control knobs ==
@@ -114,6 +118,13 @@ declare -a -g -r _RUST_SLOTS_ORDERED=(
# an invalid combination of RUST and LLVM slots is detected; this probably
# means that a LLVM slot in LLVM_COMPAT has had all of its Rust slots filtered.
+# @eclass-variable: RUST_MULTILIB
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set to a non-empty value insert MULTILIB_USEDEP into the generated
+# Rust dependency. For this to be useful inherit a multilib eclass and
+# configure the appropriate phase functions.
+
# @ECLASS_VARIABLE: RUST_DEPEND
# @OUTPUT_VARIABLE
# @DESCRIPTION:
@@ -129,7 +140,7 @@ declare -a -g -r _RUST_SLOTS_ORDERED=(
# to BDEPEND. This is useful for where packages need to gate rust behind
# certain USE themselves.
-# @ECLASS_VARIABLE: RUST_USEDEP
+# @ECLASS_VARIABLE: RUST_REQ_USE
# @DEFAULT_UNSET
# @DESCRIPTION:
# Additional USE-dependencies to be added to the Rust dependency.
@@ -150,7 +161,7 @@ _rust_set_globals() {
# and if it falls between slots we'll set it to the next highest slot
# We can skip this we match a slot exactly.
- if ! [[ "${_RUST_SLOTS_ORDERED[@]}" == *"${RUST_MIN_VER}"* ]]; then
+ if [[ "${_RUST_SLOTS_ORDERED[@]}" != *"${RUST_MIN_VER}"* ]]; then
local i
for (( i=${#_RUST_SLOTS_ORDERED[@]}-1 ; i>=0 ; i-- )); do
if ver_test "${_RUST_SLOTS_ORDERED[$i]}" -gt "${RUST_MIN_VER}"; then
@@ -169,20 +180,14 @@ _rust_set_globals() {
local slot
# Try to keep this in order of newest to oldest
for slot in "${_RUST_SLOTS_ORDERED[@]}"; do
- if ver_test "${slot}" -le "${RUST_MAX_VER:-9999}" && \
- ver_test "${slot}" -ge "${RUST_MIN_VER:-0}"; then
- _RUST_SLOTS+=( "${slot}" )
+ if ver_test "${slot}" -le "${RUST_MAX_VER:-9999}" &&
+ ver_test "${slot}" -ge "${RUST_MIN_VER:-0}"
+ then
+ _RUST_SLOTS+=( "${slot}" )
fi
done
_RUST_SLOTS=( "${_RUST_SLOTS[@]}" )
-
- # We may have been passed a variable like ${MULTILIB_USEDEP}; expand it.
- if [[ -n "${RUST_USEDEP}" ]]; then
- eval $(echo RUST_USEDEP="${RUST_USEDEP}")
- [[ -z "${RUST_USEDEP}" ]] && die "When evaluated, RUST_USEDEP is empty"
- fi
-
readonly _RUST_SLOTS
local rust_dep=()
@@ -193,13 +198,24 @@ _rust_set_globals() {
# If we're not using LLVM, we can just generate a simple Rust dependency
if [[ -z "${RUST_NEEDS_LLVM}" ]]; then
rust_dep=( "|| (" )
- for slot in "${_RUST_SLOTS[@]}"; do
- usedep="${RUST_USEDEP+[${RUST_USEDEP}]}"
+ # We can be more flexible if we generate a simpler, open-ended dependency
+ # when we don't have a max version set.
+ if [[ -z "${RUST_MAX_VER}" ]]; then
+ rust_dep+=(
+ ">=dev-lang/rust-bin-${RUST_MIN_VER}:*${usedep}"
+ ">=dev-lang/rust-${RUST_MIN_VER}:*${usedep}"
+ )
+ else
+ # depend on each slot between RUST_MIN_VER and RUST_MAX_VER; it's a bit specific but
+ # won't hurt as we only ever add newer Rust slots.
+ for slot in "${_RUST_SLOTS[@]}"; do
+ usedep="${RUST_REQ_USE+[${RUST_REQ_USE}]}"
rust_dep+=(
"dev-lang/rust-bin:${slot}${usedep}"
"dev-lang/rust:${slot}${usedep}"
)
- done
+ done
+ fi
rust_dep+=( ")" )
RUST_DEPEND="${rust_dep[*]}"
else
@@ -209,8 +225,8 @@ _rust_set_globals() {
# We're working a bit backwards here; iterate over _RUST_LLVM_MAP, check the
# LLVM slot, and if it matches add this to a new array because it may (and likely will)
# match multiple Rust slots. We already filtered Rust max/min slots.
- # We always have a usedep for the LLVM slot, append `,RUST_USEDEP` if it's set
- usedep="[llvm_slot_${llvm_slot}${RUST_USEDEP+,${RUST_USEDEP}}]"
+ # We always have a usedep for the LLVM slot, append `,RUST_REQ_USE` if it's set
+ usedep="[llvm_slot_${llvm_slot}${RUST_REQ_USE+,${RUST_REQ_USE}}]"
local slot_dep_content=()
for rust_slot in "${_RUST_SLOTS[@]}"; do
if [[ "${_RUST_LLVM_MAP[${rust_slot}]}" == "${llvm_slot}" ]]; then
@@ -220,7 +236,7 @@ _rust_set_globals() {
)
fi
done
- if [ ${#slot_dep_content[@]} -ne 0 ]; then
+ if [[ "${#slot_dep_content[@]}" -ne 0 ]]; then
rust_dep+=( "llvm_slot_${llvm_slot}? ( || ( ${slot_dep_content[*]} ) )" )
else
die "${FUNCNAME}: no Rust slots found for LLVM slot ${llvm_slot}"
@@ -240,7 +256,7 @@ unset -f _rust_set_globals
# == ebuild helpers ==
-# @FUNCTION: get_rust_slot
+# @FUNCTION: _get_rust_slot
# @USAGE: [-b|-d]
# @DESCRIPTION:
# Find the newest Rust install that is acceptable for the package,
@@ -263,7 +279,7 @@ unset -f _rust_set_globals
# The function should return a true status if the slot is acceptable,
# false otherwise. If rust_check_deps() is not defined, the function
# defaults to checking whether a suitable Rust package is installed.
-get_rust_slot() {
+_get_rust_slot() {
debug-print-function ${FUNCNAME} "$@"
local hv_switch=-d
@@ -295,8 +311,6 @@ get_rust_slot() {
if [[ "${LLVM_COMPAT[@]}" == *"${llvm_slot}"* ]]; then
# We can check for the USE
use "llvm_slot_${llvm_slot}" && llvm_r1_slot="${llvm_slot}"
- else
- continue
fi
done
if [[ -z "${llvm_r1_slot}" ]]; then
@@ -328,33 +342,30 @@ get_rust_slot() {
local LLVM_SLOT="${_RUST_LLVM_MAP[${slot}]}"
rust_check_deps && return
else
- local rust_usedep="${RUST_USEDEP+[${RUST_USEDEP}]}"
+ local usedep="${RUST_REQ_USE+[${RUST_REQ_USE}]}"
# When checking for installed packages prefer the non `-bin` package
# if effort was put into building it we should use it.
local rust_pkgs=(
- "dev-lang/rust:${slot}${rust_usedep}"
- "dev-lang/rust-bin:${slot}${rust_usedep}"
+ "dev-lang/rust:${slot}${usedep}"
+ "dev-lang/rust-bin:${slot}${usedep}"
)
local _pkg
- for _pkg in "${rust_pkgs[@]}"
- do
- if has_version "${hv_switch}" "${_pkg}"; then
- echo "${slot}"
- if [[ "${_pkg}" == "dev-lang/rust:${slot}${rust_usedep}" ]]; then
- echo source
- else
- echo binary
- fi
- return
+ for _pkg in "${rust_pkgs[@]}"; do
+ if has_version "${hv_switch}" "${_pkg}"; then
+ if [[ "${_pkg}" == "dev-lang/rust:${slot}${usedep}" ]]; then
+ echo "${slot} source"
+ else
+ echo "${slot} binary"
fi
- done
+ return
+ fi
+ done
fi
# We want to process the slot before escaping the loop if we've hit the minimum slot
if ver_test "${slot}" -eq "${RUST_MIN_VER}"; then
break
fi
-
done
# max_slot should have been unset in the iteration
@@ -366,7 +377,7 @@ get_rust_slot() {
}
# @FUNCTION: get_rust_path
-# @USAGE: prefix slot rust_type
+# @USAGE: prefix slot rust_type
# @DESCRIPTION:
# Given argument of slot and rust_type, return an appropriate path
# for the Rust install. The rust_type should be either "source"
@@ -383,15 +394,11 @@ get_rust_path() {
die "${FUNCNAME}: invalid number of arguments"
fi
- if [[ "${rust_type}" != "source" && "${rust_type}" != "binary" ]]; then
- die "${FUNCNAME}: invalid rust_type=${rust_type}"
- fi
-
- if [[ "${rust_type}" == "source" ]]; then
- echo "${prefix}/usr/lib/rust/${slot}/"
- else
- echo "${prefix}/opt/rust-bin-${slot}/"
- fi
+ case ${rust_type} in
+ source) echo "${prefix}/usr/lib/rust/${slot}/";;
+ binary) echo "${prefix}/opt/rust-bin-${slot}/";;
+ *) die "${FUNCNAME}: invalid rust_type=${rust_type}";;
+ esac
}
# @FUNCTION: get_rust_prefix
@@ -409,8 +416,8 @@ get_rust_prefix() {
[[ ${1} == -d ]] && prefix=${ESYSROOT}
local slot rust_type
- { read -r slot; read -r rust_type; } <<< $(get_rust_slot)
- echo $(get_rust_path "${prefix}" "${slot}" "${rust_type}")
+ read -r slot rust_type <<< $(_get_rust_slot)
+ get_rust_path "${prefix}" "${slot}" "${rust_type}"
}
# @FUNCTION: rust_prepend_path
@@ -421,16 +428,14 @@ rust_prepend_path() {
debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ne 2 ]] && die "Usage: ${FUNCNAME} <slot> <type>"
- local slot="${1}"
- local type="${2}"
- export PATH="$(get_rust_path "${BROOT}" "${slot}" "${type}")/bin:${PATH}"
+ export PATH="$(get_rust_path "${BROOT}" "$@")/bin:${PATH}"
}
# @FUNCTION: rust_pkg_setup
# @DESCRIPTION:
# Prepend the appropriate executable directory for the newest
# acceptable Rust slot to the PATH. If used with LLVM, an appropriate
-# `llvm_pkg_setup` call should be made in addition to this function.
+# `llvm-r1_pkg_setup` call should be made in addition to this function.
# For path determination logic, please see the get_rust_prefix documentation.
#
# The highest acceptable Rust slot can be set in RUST_MAX_VER variable.
@@ -450,10 +455,11 @@ rust_pkg_setup() {
debug-print-function ${FUNCNAME} "$@"
if [[ ${MERGE_TYPE} != binary ]]; then
- { read -r RUST_SLOT; read -r RUST_TYPE; } <<< $(get_rust_slot)
+ read -r RUST_SLOT RUST_TYPE <<< $(_get_rust_slot)
rust_prepend_path "${RUST_SLOT}" "${RUST_TYPE}"
- CARGO="$(get_rust_prefix)bin/cargo"
- RUSTC="$(get_rust_prefix)bin/rustc"
+ local prefix=$(get_rust_prefix)
+ CARGO="${prefix}bin/cargo"
+ RUSTC="${prefix}bin/rustc"
export CARGO RUSTC
einfo "Using Rust ${RUST_SLOT} (${RUST_TYPE})"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-11 8:53 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-11 8:53 UTC (permalink / raw
To: gentoo-commits
commit: 9393ba8b683e6a055522d81740f94a11a0abfcb4
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 10 00:15:54 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Mon Nov 11 08:49:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9393ba8b
cargo.eclass: check for and quote `CARGO`
A quick sanity check that `CARGO` is set in appropriate cargo_src_*
phase functions will make it easier for users to catch occurrences
where pkg_setup does not call rust_pkg_setup.
Also inherit llvm-r1 if required and let it die instead of us if
the environment is not properly setup.
Closes: https://bugs.gentoo.org/943147
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/cargo.eclass | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 855692b72ec7..95ff317e1f21 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -20,9 +20,7 @@ if [[ -z ${_CARGO_ECLASS} ]]; then
_CARGO_ECLASS=1
if [[ -n ${RUST_NEEDS_LLVM} ]]; then
- if [[ -z ${_LLVM_R1_ECLASS} ]]; then
- die "Please inherit llvm-r1.eclass before cargo.eclass when using RUST_NEEDS_LLVM"
- fi
+ inherit llvm-r1
fi
if [[ -n ${CARGO_OPTIONAL} ]]; then
@@ -627,7 +625,11 @@ cargo_env() {
cargo_src_compile() {
debug-print-function ${FUNCNAME} "$@"
- set -- ${CARGO} build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
+ if [[ -z "${CARGO}" ]]; then
+ die "CARGO is not set; was rust_pkg_setup run?"
+ fi
+
+ set -- "${CARGO}" build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
einfo "${@}"
cargo_env "${@}" || die "cargo build failed"
}
@@ -641,7 +643,11 @@ cargo_src_compile() {
cargo_src_install() {
debug-print-function ${FUNCNAME} "$@"
- set -- ${CARGO} install $(has --path ${@} || echo --path ./) \
+ if [[ -z "${CARGO}" ]]; then
+ die "CARGO is not set; was rust_pkg_setup run?"
+ fi
+
+ set -- "${CARGO}" install $(has --path ${@} || echo --path ./) \
--root "${ED}/usr" \
${GIT_CRATES[@]:+--frozen} \
$(usex debug --debug "") \
@@ -659,7 +665,11 @@ cargo_src_install() {
cargo_src_test() {
debug-print-function ${FUNCNAME} "$@"
- set -- ${CARGO} test $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
+ if [[ -z "${CARGO}" ]]; then
+ die "CARGO is not set; was rust_pkg_setup run?"
+ fi
+
+ set -- "${CARGO}" test $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
einfo "${@}"
cargo_env "${@}" || die "cargo test failed"
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-10 17:24 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-10 17:24 UTC (permalink / raw
To: gentoo-commits
commit: e08def09c01c484bcd0f1305e88165b4418f43b3
Author: Andrei Horodniceanu <a.horodniceanu <AT> proton <DOT> me>
AuthorDate: Thu Nov 7 13:49:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Nov 10 17:23:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e08def09
toolchain.eclass: Check for gnu environment when enabling cet on x86
Like we do for arm64 and amd64, diverge from the upstream check for
linux and only enable it for gnu triples.
Closes: https://bugs.gentoo.org/942951
Signed-off-by: Andrei Horodniceanu <a.horodniceanu <AT> proton.me>
Closes: https://github.com/gentoo/gentoo/pull/39228
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 4d5973bb4959..573471351dd1 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1583,7 +1583,7 @@ toolchain_src_configure() {
fi
}
- enable_cet_for 'i[34567]86' 'linux' 'cet'
+ enable_cet_for 'i[34567]86' 'gnu' 'cet'
enable_cet_for 'x86_64' 'gnu' 'cet'
enable_cet_for 'aarch64' 'gnu' 'standard-branch-protection'
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09 10:50 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-09 10:50 UTC (permalink / raw
To: gentoo-commits
commit: c5f28a3d0a5b4ab6959b9223e6299e8502e0b7bd
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 9 10:41:39 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sat Nov 9 10:49:59 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5f28a3d
rust.eclass: Fix conditional for ensuring that RUST_MIN_VER is set
The check was negated meaning that RUST_MIN_VER would only be set when
it was not required.
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index 08f935a821a8..ca71c6535061 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -144,7 +144,7 @@ _rust_set_globals() {
# If RUST_MIN_VER is older than our oldest slot we'll just set it to that
# internally so we don't have to worry about it later.
- if ! ver_test "${_RUST_SLOTS_ORDERED[-1]}" -gt "${RUST_MIN_VER:-0}"; then
+ if ver_test "${_RUST_SLOTS_ORDERED[-1]}" -gt "${RUST_MIN_VER:-0}"; then
RUST_MIN_VER="${_RUST_SLOTS_ORDERED[-1]}"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09 9:02 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-09 9:02 UTC (permalink / raw
To: gentoo-commits
commit: 3c5d0b8b9c4a593d6766e10c98b05975119a7028
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 9 08:47:18 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sat Nov 9 09:00:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c5d0b8b
rust.eclass: dependency strings: dev-lang/rust-bin first
To better match the behaviour of the legacy virtual/rust package,
update generated dependency strings so that dev-lang/rust-bin is
output before dev-lang/rust.
In the longer term it is expected that this will be reverted
to the original order (prefer dev-lang/rust) as users that
particularly care about this also have the option of selecting
an appropriate binpkg.
When selecting an installed Rust to use the non-bin package is
still preferred over the -bin if both are installed.
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index e91048a6f193..08f935a821a8 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -196,8 +196,8 @@ _rust_set_globals() {
for slot in "${_RUST_SLOTS[@]}"; do
usedep="${RUST_USEDEP+[${RUST_USEDEP}]}"
rust_dep+=(
- "dev-lang/rust:${slot}${usedep}"
"dev-lang/rust-bin:${slot}${usedep}"
+ "dev-lang/rust:${slot}${usedep}"
)
done
rust_dep+=( ")" )
@@ -215,8 +215,8 @@ _rust_set_globals() {
for rust_slot in "${_RUST_SLOTS[@]}"; do
if [[ "${_RUST_LLVM_MAP[${rust_slot}]}" == "${llvm_slot}" ]]; then
slot_dep_content+=(
- "dev-lang/rust:${rust_slot}${usedep}"
"dev-lang/rust-bin:${rust_slot}${usedep}"
+ "dev-lang/rust:${rust_slot}${usedep}"
)
fi
done
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09 7:31 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-09 7:31 UTC (permalink / raw
To: gentoo-commits
commit: 18209a19fee456d23f6e97182b668fd3bf5c5d1b
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 9 07:30:21 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sat Nov 9 07:30:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18209a19
rust.eclass: add missing `/` in `get_rust_path` for `binary` builds.
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
index 12ef4b90a7ac..e91048a6f193 100644
--- a/eclass/rust.eclass
+++ b/eclass/rust.eclass
@@ -390,7 +390,7 @@ get_rust_path() {
if [[ "${rust_type}" == "source" ]]; then
echo "${prefix}/usr/lib/rust/${slot}/"
else
- echo "${prefix}opt/rust-bin-${slot}/"
+ echo "${prefix}/opt/rust-bin-${slot}/"
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09 7:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-09 7:21 UTC (permalink / raw
To: gentoo-commits
commit: 1fd4265df079cdf0569c8bc6b6c059a16d96d005
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 9 07:20:57 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Nov 9 07:20:57 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fd4265d
toolchain.eclass: call rust_pkg_setup for USE=rust
Followup to 583a1a9ac556d01e1b0df6fe64e67cb646fa4118. Noticed by inspection.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 6e3a974f373e..4d5973bb4959 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -595,6 +595,8 @@ toolchain_pkg_setup() {
MAKEOPTS="--output-sync=line ${MAKEOPTS}"
[[ -n ${TOOLCHAIN_HAS_TESTS} ]] && use test && python-any-r1_pkg_setup
+
+ _tc_use_if_iuse rust && rust_pkg_setup
}
#---->> src_unpack <<----
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09 6:26 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-09 6:26 UTC (permalink / raw
To: gentoo-commits
commit: 8ba94e73b14d16da3b8154ee468826df34bd61e0
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 5 06:26:11 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sat Nov 9 05:31:34 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ba94e73
cargo: update for rust eclass
Inherit the rust eclass and take advantage of eclass features like
`RUST_MIN_VER`.
`RUST_DEPEND` was moved into the rust eclass in the previous commit
and is now prowided via this mechanism
`CARGO_OPTIONAL` now sets `RUST_OPTIONAL`, requiring ebuilds to
set `RUST_DEPEND` manually and manage both cargo and rust eclass
functions.
Replace calls to `cargo` with the rust eclass exported ${CARGO}.
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/cargo.eclass | 59 +++++++++++++++++++++++++++++++++++++----------------
1 file changed, 41 insertions(+), 18 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 499fe5498c96..855692b72ec7 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -8,6 +8,7 @@
# Doug Goldstein <cardoe@gentoo.org>
# Georgy Yakovlev <gyakovlev@gentoo.org>
# @SUPPORTED_EAPIS: 8
+# @PROVIDES: rust
# @BLURB: common functions and variables for cargo builds
case ${EAPI} in
@@ -18,25 +19,36 @@ esac
if [[ -z ${_CARGO_ECLASS} ]]; then
_CARGO_ECLASS=1
-# check and document RUST_DEPEND and options we need below in case conditions.
+if [[ -n ${RUST_NEEDS_LLVM} ]]; then
+ if [[ -z ${_LLVM_R1_ECLASS} ]]; then
+ die "Please inherit llvm-r1.eclass before cargo.eclass when using RUST_NEEDS_LLVM"
+ fi
+fi
+
+if [[ -n ${CARGO_OPTIONAL} ]]; then
+ RUST_OPTIONAL=1
+fi
+
+# Either the lowest slot supported by rust.eclass _or_
+# reference the changelog for a particular feature requirement
# https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md
-RUST_DEPEND="virtual/rust"
+_CARGO_ECLASS_RUST_MIN_VER="1.71.1"
case ${EAPI} in
8)
- # 1.39 added --workspace
- # 1.46 added --target dir
- # 1.48 added term.progress config option
- # 1.51 added split-debuginfo profile option
- # 1.52 may need setting RUSTC_BOOTSTRAP envvar for some crates
- # 1.53 added cargo update --offline, can be used to update vulnerable crates from pre-fetched registry without editing toml
- RUST_DEPEND=">=virtual/rust-1.53"
+ if [[ -n ${RUST_MIN_VER} ]]; then
+ # This is _very_ unlikely given that we leverage the rust eclass but just in case cargo requires a newer version
+ # than the oldest in-tree in future.
+ if ver_test "${RUST_MIN_VER}" -lt "${_CARGO_ECLASS_RUST_MIN_VER}"; then
+ die "RUST_MIN_VERSION must be at least ${_CARGO_ECLASS_RUST_MIN_VER}"
+ fi
+ else
+ RUST_MIN_VER="${_CARGO_ECLASS_RUST_MIN_VER}"
+ fi
;;
esac
-inherit flag-o-matic multiprocessing rust-toolchain toolchain-funcs
-
-[[ ! ${CARGO_OPTIONAL} ]] && BDEPEND="${RUST_DEPEND}"
+inherit flag-o-matic multiprocessing rust rust-toolchain toolchain-funcs
IUSE="${IUSE} debug"
@@ -107,9 +119,8 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
# be considered optional. No dependencies will be added and no phase
# functions will be exported.
#
-# If you enable CARGO_OPTIONAL, you have to set BDEPEND on virtual/rust
-# for your package and call at least cargo_gen_config manually before using
-# other src_functions or cargo_env of this eclass.
+# If you enable CARGO_OPTIONAL call at least cargo_gen_config manually
+# before using other src_functions or cargo_env of this eclass.
# Note that cargo_gen_config is automatically called by cargo_src_unpack.
# @ECLASS_VARIABLE: myfeatures
@@ -129,6 +140,11 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
# }
# @CODE
+# @ECLASS_VARIABLE: ECARGO_HOME
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# Location of the cargo home directory.
+
# @ECLASS_VARIABLE: ECARGO_REGISTRY_DIR
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -148,6 +164,11 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
# cargo_live_src_unpack.
# Inherits value of EVCS_OFFLINE if not set explicitly.
+# @ECLASS_VARIABLE: ECARGO_VENDOR
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# Location of the cargo vendor directory.
+
# @ECLASS_VARIABLE: EVCS_UMASK
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -531,6 +552,8 @@ cargo_src_configure() {
# take affect due to Cargo limitations, so add these to your ebuild's RUSTFLAGS
# if they seem important.
cargo_env() {
+ debug-print-function ${FUNCNAME} "$@"
+
[[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \
die "FATAL: please call cargo_gen_config before using ${FUNCNAME}"
@@ -604,7 +627,7 @@ cargo_env() {
cargo_src_compile() {
debug-print-function ${FUNCNAME} "$@"
- set -- cargo build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
+ set -- ${CARGO} build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
einfo "${@}"
cargo_env "${@}" || die "cargo build failed"
}
@@ -618,7 +641,7 @@ cargo_src_compile() {
cargo_src_install() {
debug-print-function ${FUNCNAME} "$@"
- set -- cargo install $(has --path ${@} || echo --path ./) \
+ set -- ${CARGO} install $(has --path ${@} || echo --path ./) \
--root "${ED}/usr" \
${GIT_CRATES[@]:+--frozen} \
$(usex debug --debug "") \
@@ -636,7 +659,7 @@ cargo_src_install() {
cargo_src_test() {
debug-print-function ${FUNCNAME} "$@"
- set -- cargo test $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
+ set -- ${CARGO} test $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
einfo "${@}"
cargo_env "${@}" || die "cargo test failed"
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09 6:26 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-09 6:26 UTC (permalink / raw
To: gentoo-commits
commit: 542e055db9a8c762714d3870816f8a5c6e52f853
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 3 00:15:32 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sat Nov 9 05:31:28 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=542e055d
rust.eclass: Introduce new eclass for slotted Rust
The rust eclass acts similarly to the llvm eclass.
It works with optional `RUST_{MAX,MIN}_SLOT` variables to
enable ebuilds to trivially dependencies on appropriate
Rust SLOTs.
A `RUST_NEEDS_LLVM` variable can be set to have the eclass read
`LLVM_COMPAT` and generate an llvm-r1-USE-gated dependency string.
`RUST_USEDEP`, if set will be included in the dependency string
and checks against installed packages.
In either case these are stored in `RUST_DEPEND` for consumpion
in the ebuild, and added to BDEPEND unless unless `RUST_OPTIONAL`
is set. `RUST_DEPEND` will only ever include in-tree slots; there
is no need to set `RUST_MIN_VER` if all in-tree versions are suitable.
If `RUST_MIN_VER` is set to a value older than the oldest in-tree slot
it is treated as if it is set to the lowest available.
The default `rust_pkg_setup` will prefix the selected slot to
`PATH` and export `RUSTC` and `CARGO` variables pointing to that
slot for ease-of-use.
This should prevent issues like:
Bug: https://bugs.gentoo.org/907492
Bug: https://bugs.gentoo.org/942444
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/rust.eclass | 464 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 464 insertions(+)
diff --git a/eclass/rust.eclass b/eclass/rust.eclass
new file mode 100644
index 000000000000..12ef4b90a7ac
--- /dev/null
+++ b/eclass/rust.eclass
@@ -0,0 +1,464 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: rust.eclass
+# @MAINTAINER:
+# Matt Jolly <kangie@gentoo.org>
+# @AUTHOR:
+# Matt Jolly <kangie@gentoo.org>
+# @SUPPORTED_EAPIS: 8
+# @BLURB: Utility functions to build against slotted Rust
+# @DESCRIPTION:
+# An eclass to reliably depend on a Rust or Rust/LLVM combination for
+# a given Rust slot. To use the eclass:
+#
+# 1. If required, set RUST_{MAX,MIN}_SLOT to the range of supported slots.
+# 2. If rust is optional, set RUST_OPTIONAL to a non-empty value then
+# appropriately gate ${RUST_DEPEND}
+# 3. Use rust_pkg_setup, get_rust_prefix or RUST_SLOT.
+
+# Example use for a package supporting Rust 1.72.0 to 1.82.0:
+# @CODE
+#
+# RUST_MAX_VER="1.82.0"
+# RUST_MIN_VER="1.72.0"
+#
+# inherit meson rust
+#
+# # only if you need to define one explicitly
+# pkg_setup() {
+# rust_pkg_setup
+# do-something-else
+# }
+# @CODE
+#
+# Example for a package needing Rust w/ a specific target:
+# @CODE
+# RUST_USEDEP='clippy,${MULTILIB_USEDEP}'
+#
+# inherit multilib-minimal meson rust
+#
+# @CODE
+
+case ${EAPI} in
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ -z ${_RUST_ECLASS} ]]; then
+_RUST_ECLASS=1
+
+if [[ -n ${RUST_NEEDS_LLVM} ]]; then
+ if [[ -z ${_LLVM_R1_ECLASS} ]]; then
+ die "Please inherit llvm-r1.eclass before rust.eclass when using RUST_NEEDS_LLVM"
+ fi
+fi
+
+# == internal control knobs ==
+
+# @ECLASS_VARIABLE: _RUST_LLVM_MAP
+# @INTERNAL
+# @DESCRIPTION:
+# Definitive list of Rust slots and the associated LLVM slot, newest first.
+declare -A -g -r _RUST_LLVM_MAP=(
+ ["1.82.0"]=19
+ ["1.81.0"]=18
+ ["1.80.1"]=18
+ ["1.79.0"]=18
+ ["1.77.1"]=17
+ ["1.75.0"]=17
+ ["1.74.1"]=17
+ ["1.71.1"]=16
+)
+
+# @ECLASS_VARIABLE: _RUST_SLOTS_ORDERED
+# @INTERNAL
+# @DESCRIPTION:
+# Array of Rust slots, newest first.
+# While _RUST_LLVM_MAP stores useful info about the relationship between Rust and LLVM slots,
+# this array is used to store the Rust slots in a more convenient order for iteration.
+declare -a -g -r _RUST_SLOTS_ORDERED=(
+ "1.82.0"
+ "1.81.0"
+ "1.80.1"
+ "1.79.0"
+ "1.77.1"
+ "1.75.0"
+ "1.74.1"
+ "1.71.1"
+)
+
+# == control variables ==
+
+# @ECLASS_VARIABLE: RUST_MAX_VER
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Highest Rust slot supported by the package. Needs to be set before
+# rust_pkg_setup is called. If unset, no upper bound is assumed.
+
+# @ECLASS_VARIABLE: RUST_MIN_VER
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Lowest Rust slot supported by the package. Needs to be set before
+# rust_pkg_setup is called. If unset, no lower bound is assumed.
+
+# @eclass-variable: RUST_NEEDS_LLVM
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set to a non-empty value generate a llvm_slot_${llvm_slot}? gated
+# dependency block for rust slots in LLVM_COMPAT. This is useful for
+# packages that need a tight coupling between Rust and LLVM but don't
+# really care _which_ version of Rust is selected. Combine with
+# RUST_MAX_VER and RUST_MIN_VER to limit the range of Rust versions
+# that are acceptable. Will `die` if llvm-r1 is not inherited or
+# an invalid combination of RUST and LLVM slots is detected; this probably
+# means that a LLVM slot in LLVM_COMPAT has had all of its Rust slots filtered.
+
+# @ECLASS_VARIABLE: RUST_DEPEND
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# This is an eclass-generated Rust dependency string, filtered by
+# RUST_MAX_VER and RUST_MIN_VER. If RUST_NEEDS_LLVM is set, this
+# is gropeda and gated by an appropriate `llvm_slot_x` USE for all
+# implementations listed in LLVM_COMPAT.
+
+# @ECLASS_VARIABLE: RUST_OPTIONAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set to a non-empty value, the Rust dependency will not be added
+# to BDEPEND. This is useful for where packages need to gate rust behind
+# certain USE themselves.
+
+# @ECLASS_VARIABLE: RUST_USEDEP
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Additional USE-dependencies to be added to the Rust dependency.
+# This is useful for packages that need to depend on specific Rust
+# features, like clippy or rustfmt. The variable is expanded before
+# being used in the Rust dependency.
+
+# == global metadata ==
+
+_rust_set_globals() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ # If RUST_MIN_VER is older than our oldest slot we'll just set it to that
+ # internally so we don't have to worry about it later.
+ if ! ver_test "${_RUST_SLOTS_ORDERED[-1]}" -gt "${RUST_MIN_VER:-0}"; then
+ RUST_MIN_VER="${_RUST_SLOTS_ORDERED[-1]}"
+ fi
+
+ # and if it falls between slots we'll set it to the next highest slot
+ # We can skip this we match a slot exactly.
+ if ! [[ "${_RUST_SLOTS_ORDERED[@]}" == *"${RUST_MIN_VER}"* ]]; then
+ local i
+ for (( i=${#_RUST_SLOTS_ORDERED[@]}-1 ; i>=0 ; i-- )); do
+ if ver_test "${_RUST_SLOTS_ORDERED[$i]}" -gt "${RUST_MIN_VER}"; then
+ RUST_MIN_VER="${_RUST_SLOTS_ORDERED[$i]}"
+ break
+ fi
+ done
+ fi
+
+ if [[ -n "${RUST_MAX_VER}" && -n "${RUST_MIN_VER}" ]]; then
+ if ! ver_test "${RUST_MAX_VER}" -ge "${RUST_MIN_VER}"; then
+ die "RUST_MAX_VER must not be older than RUST_MIN_VER"
+ fi
+ fi
+
+ local slot
+ # Try to keep this in order of newest to oldest
+ for slot in "${_RUST_SLOTS_ORDERED[@]}"; do
+ if ver_test "${slot}" -le "${RUST_MAX_VER:-9999}" && \
+ ver_test "${slot}" -ge "${RUST_MIN_VER:-0}"; then
+ _RUST_SLOTS+=( "${slot}" )
+ fi
+ done
+
+ _RUST_SLOTS=( "${_RUST_SLOTS[@]}" )
+
+ # We may have been passed a variable like ${MULTILIB_USEDEP}; expand it.
+ if [[ -n "${RUST_USEDEP}" ]]; then
+ eval $(echo RUST_USEDEP="${RUST_USEDEP}")
+ [[ -z "${RUST_USEDEP}" ]] && die "When evaluated, RUST_USEDEP is empty"
+ fi
+
+ readonly _RUST_SLOTS
+
+ local rust_dep=()
+ local llvm_slot
+ local rust_slot
+ local usedep
+
+ # If we're not using LLVM, we can just generate a simple Rust dependency
+ if [[ -z "${RUST_NEEDS_LLVM}" ]]; then
+ rust_dep=( "|| (" )
+ for slot in "${_RUST_SLOTS[@]}"; do
+ usedep="${RUST_USEDEP+[${RUST_USEDEP}]}"
+ rust_dep+=(
+ "dev-lang/rust:${slot}${usedep}"
+ "dev-lang/rust-bin:${slot}${usedep}"
+ )
+ done
+ rust_dep+=( ")" )
+ RUST_DEPEND="${rust_dep[*]}"
+ else
+ for llvm_slot in "${LLVM_COMPAT[@]}"; do
+ # Quick sanity check to make sure that the llvm slot is valid for Rust.
+ if [[ "${_RUST_LLVM_MAP[@]}" == *"${llvm_slot}"* ]]; then
+ # We're working a bit backwards here; iterate over _RUST_LLVM_MAP, check the
+ # LLVM slot, and if it matches add this to a new array because it may (and likely will)
+ # match multiple Rust slots. We already filtered Rust max/min slots.
+ # We always have a usedep for the LLVM slot, append `,RUST_USEDEP` if it's set
+ usedep="[llvm_slot_${llvm_slot}${RUST_USEDEP+,${RUST_USEDEP}}]"
+ local slot_dep_content=()
+ for rust_slot in "${_RUST_SLOTS[@]}"; do
+ if [[ "${_RUST_LLVM_MAP[${rust_slot}]}" == "${llvm_slot}" ]]; then
+ slot_dep_content+=(
+ "dev-lang/rust:${rust_slot}${usedep}"
+ "dev-lang/rust-bin:${rust_slot}${usedep}"
+ )
+ fi
+ done
+ if [ ${#slot_dep_content[@]} -ne 0 ]; then
+ rust_dep+=( "llvm_slot_${llvm_slot}? ( || ( ${slot_dep_content[*]} ) )" )
+ else
+ die "${FUNCNAME}: no Rust slots found for LLVM slot ${llvm_slot}"
+ fi
+ fi
+ done
+ RUST_DEPEND="${rust_dep[*]}"
+ fi
+
+ readonly RUST_DEPEND
+ if [[ -z ${RUST_OPTIONAL} ]]; then
+ BDEPEND="${RUST_DEPEND}"
+ fi
+}
+_rust_set_globals
+unset -f _rust_set_globals
+
+# == ebuild helpers ==
+
+# @FUNCTION: get_rust_slot
+# @USAGE: [-b|-d]
+# @DESCRIPTION:
+# Find the newest Rust install that is acceptable for the package,
+# and print its version number (i.e. SLOT) and type (source or bin[ary]).
+#
+# If -b is specified, the checks are performed relative to BROOT,
+# and BROOT-path is returned.
+#
+# If -d is specified, the checks are performed relative to ESYSROOT,
+# and ESYSROOT-path is returned. -d is the default.
+#
+# If RUST_M{AX,IN}_SLOT is non-zero, then only Rust versions that
+# are not newer or older than the specified slot(s) will be considered.
+# Otherwise, all Rust versions are be considered acceptable.
+#
+# If the `rust_check_deps()` function is defined within the ebuild, it
+# will be called to verify whether a particular slot is accepable.
+# Within the function scope, RUST_SLOT and LLVM_SLOT will be defined.
+#
+# The function should return a true status if the slot is acceptable,
+# false otherwise. If rust_check_deps() is not defined, the function
+# defaults to checking whether a suitable Rust package is installed.
+get_rust_slot() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local hv_switch=-d
+ while [[ ${1} == -* ]]; do
+ case ${1} in
+ -b|-d) hv_switch="${1}";;
+ *) break;;
+ esac
+ shift
+ done
+
+ local max_slot
+ if [[ -z "${RUST_MAX_VER}" ]]; then
+ max_slot=
+ else
+ max_slot="${RUST_MAX_VER}"
+ fi
+ local slot
+ local llvm_slot
+
+ if [[ -n "${RUST_NEEDS_LLVM}" ]]; then
+ local unique_slots=()
+ local llvm_r1_slot
+ # Associative array keys are unique, so let's use that to our advantage
+ for llvm_slot in "${_RUST_LLVM_MAP[@]}"; do
+ unique_slots["${llvm_slot}"]="1"
+ done
+ for llvm_slot in "${!unique_slots[@]}"; do
+ if [[ "${LLVM_COMPAT[@]}" == *"${llvm_slot}"* ]]; then
+ # We can check for the USE
+ use "llvm_slot_${llvm_slot}" && llvm_r1_slot="${llvm_slot}"
+ else
+ continue
+ fi
+ done
+ if [[ -z "${llvm_r1_slot}" ]]; then
+ die "${FUNCNAME}: no LLVM slot found"
+ fi
+ fi
+
+ # iterate over known slots, newest first
+ for slot in "${_RUST_SLOTS_ORDERED[@]}"; do
+ llvm_slot="${_RUST_LLVM_MAP[${slot}]}"
+ # skip higher slots
+ if [[ -n "${max_slot}" ]]; then
+ if ver_test "${slot}" -eq "${max_slot}"; then
+ max_slot=
+ elif ver_test "${slot}" -gt "${max_slot}"; then
+ continue
+ fi
+ fi
+
+ # If we're in LLVM mode we can skip any slots that don't match the selected USE
+ if [[ -n "${RUST_NEEDS_LLVM}" ]]; then
+ if [[ "${llvm_slot}" != "${llvm_r1_slot}" ]]; then
+ continue
+ fi
+ fi
+
+ if declare -f rust_check_deps >/dev/null; then
+ local RUST_SLOT="${slot}"
+ local LLVM_SLOT="${_RUST_LLVM_MAP[${slot}]}"
+ rust_check_deps && return
+ else
+ local rust_usedep="${RUST_USEDEP+[${RUST_USEDEP}]}"
+ # When checking for installed packages prefer the non `-bin` package
+ # if effort was put into building it we should use it.
+ local rust_pkgs=(
+ "dev-lang/rust:${slot}${rust_usedep}"
+ "dev-lang/rust-bin:${slot}${rust_usedep}"
+ )
+ local _pkg
+ for _pkg in "${rust_pkgs[@]}"
+ do
+ if has_version "${hv_switch}" "${_pkg}"; then
+ echo "${slot}"
+ if [[ "${_pkg}" == "dev-lang/rust:${slot}${rust_usedep}" ]]; then
+ echo source
+ else
+ echo binary
+ fi
+ return
+ fi
+ done
+ fi
+
+ # We want to process the slot before escaping the loop if we've hit the minimum slot
+ if ver_test "${slot}" -eq "${RUST_MIN_VER}"; then
+ break
+ fi
+
+ done
+
+ # max_slot should have been unset in the iteration
+ if [[ -n "${max_slot}" ]]; then
+ die "${FUNCNAME}: invalid max_slot=${max_slot}"
+ fi
+
+ die "No Rust slot${1:+ <= ${1}} satisfying the package's dependencies found installed!"
+}
+
+# @FUNCTION: get_rust_path
+# @USAGE: prefix slot rust_type
+# @DESCRIPTION:
+# Given argument of slot and rust_type, return an appropriate path
+# for the Rust install. The rust_type should be either "source"
+# or "binary". If the rust_type is not one of these, the function
+# will die.
+get_rust_path() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local prefix="${1}"
+ local slot="${2}"
+ local rust_type="${3}"
+
+ if [[ ${#} -ne 3 ]]; then
+ die "${FUNCNAME}: invalid number of arguments"
+ fi
+
+ if [[ "${rust_type}" != "source" && "${rust_type}" != "binary" ]]; then
+ die "${FUNCNAME}: invalid rust_type=${rust_type}"
+ fi
+
+ if [[ "${rust_type}" == "source" ]]; then
+ echo "${prefix}/usr/lib/rust/${slot}/"
+ else
+ echo "${prefix}opt/rust-bin-${slot}/"
+ fi
+}
+
+# @FUNCTION: get_rust_prefix
+# @USAGE: [-b|-d]
+# @DESCRIPTION:
+# Find the newest Rust install that is acceptable for the package,
+# and print an absolute path to it. If both -bin and regular Rust
+# are installed, the regular Rust is preferred.
+#
+# The options and behavior are the same as get_rust_slot.
+get_rust_prefix() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local prefix=${BROOT}
+ [[ ${1} == -d ]] && prefix=${ESYSROOT}
+
+ local slot rust_type
+ { read -r slot; read -r rust_type; } <<< $(get_rust_slot)
+ echo $(get_rust_path "${prefix}" "${slot}" "${rust_type}")
+}
+
+# @FUNCTION: rust_prepend_path
+# @USAGE: <slot> <type>
+# @DESCRIPTION:
+# Prepend the path to the specified Rust to PATH and re-export it.
+rust_prepend_path() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ ${#} -ne 2 ]] && die "Usage: ${FUNCNAME} <slot> <type>"
+ local slot="${1}"
+ local type="${2}"
+ export PATH="$(get_rust_path "${BROOT}" "${slot}" "${type}")/bin:${PATH}"
+}
+
+# @FUNCTION: rust_pkg_setup
+# @DESCRIPTION:
+# Prepend the appropriate executable directory for the newest
+# acceptable Rust slot to the PATH. If used with LLVM, an appropriate
+# `llvm_pkg_setup` call should be made in addition to this function.
+# For path determination logic, please see the get_rust_prefix documentation.
+#
+# The highest acceptable Rust slot can be set in RUST_MAX_VER variable.
+# If it is unset or empty, any slot is acceptable.
+#
+# The lowest acceptable Rust slot can be set in RUST_MIN_VER variable.
+# If it is unset or empty, any slot is acceptable.
+#
+# `CARGO` and `RUSTC` variables are set for the selected slot and exported.
+#
+# The PATH manipulation is only done for source builds. The function
+# is a no-op when installing a binary package.
+#
+# If any other behavior is desired, the contents of the function
+# should be inlined into the ebuild and modified as necessary.
+rust_pkg_setup() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ { read -r RUST_SLOT; read -r RUST_TYPE; } <<< $(get_rust_slot)
+ rust_prepend_path "${RUST_SLOT}" "${RUST_TYPE}"
+ CARGO="$(get_rust_prefix)bin/cargo"
+ RUSTC="$(get_rust_prefix)bin/rustc"
+ export CARGO RUSTC
+ einfo "Using Rust ${RUST_SLOT} (${RUST_TYPE})"
+ fi
+}
+
+fi
+
+EXPORT_FUNCTIONS pkg_setup
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09 6:26 Matt Jolly
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Jolly @ 2024-11-09 6:26 UTC (permalink / raw
To: gentoo-commits
commit: 583a1a9ac556d01e1b0df6fe64e67cb646fa4118
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 7 13:14:49 2024 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sat Nov 9 05:31:34 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=583a1a9a
toolchain: inherit rust eclass for `RUST_DEPEND`
`RUST_OPTIONAL` is set so that ebuilds must explicitly consume
Rust features.
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
eclass/toolchain.eclass | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b25c5dcf0929..6e3a974f373e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -14,6 +14,8 @@
if [[ -z ${_TOOLCHAIN_ECLASS} ]]; then
_TOOLCHAIN_ECLASS=1
+RUST_OPTIONAL="1"
+
case ${EAPI} in
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
@@ -22,7 +24,7 @@ esac
DESCRIPTION="The GNU Compiler Collection"
HOMEPAGE="https://gcc.gnu.org/"
-inherit edo flag-o-matic gnuconfig libtool multilib pax-utils toolchain-funcs prefix
+inherit edo flag-o-matic gnuconfig libtool multilib pax-utils rust toolchain-funcs prefix
[[ -n ${TOOLCHAIN_HAS_TESTS} ]] && inherit python-any-r1
@@ -427,7 +429,7 @@ fi
if tc_has_feature rust && tc_version_is_at_least 14.0.0_pre20230421 ; then
# This was added upstream in r14-9968-g3e1e73fc995844 as a temporary measure.
# See https://inbox.sourceware.org/gcc/34fec7ea-8762-4cac-a1c8-ff54e20e31ed@embecosm.com/
- BDEPEND+=" rust? ( virtual/rust )"
+ BDEPEND+=" rust? ( ${RUST_DEPEND} )"
fi
PDEPEND=">=sys-devel/gcc-config-2.11"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-07 5:28 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-11-07 5:28 UTC (permalink / raw
To: gentoo-commits
commit: 528958f2f29247e0ab7c85d9c80e6a69cda7f9c8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 6 14:53:18 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Nov 7 05:26:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=528958f2
llvm.org.eclass: Add 20.0.0_pre20241106 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 4d7e0e271485..7325bf75e3bb 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
+ 20.0.0_pre20241106)
+ EGIT_COMMIT=0e907c17214aa3b1a60b66867fea3cc0f0dcbaa0
+ ;;
20.0.0_pre20241029)
EGIT_COMMIT=3f4468faaa9525ad615118675c3c68938f4a8d5f
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-07 5:28 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-11-07 5:28 UTC (permalink / raw
To: gentoo-commits
commit: 258da63848e5049c974beb87e2d2ed97594ba0ad
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 6 07:27:30 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Nov 7 05:26:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=258da638
llvm.org.eclass: Remove old snapshots
Signed-off-by: Michał Górny <mgorny <AT> 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 dddb87735875..4d7e0e271485 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,15 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
20.0.0_pre20241029)
EGIT_COMMIT=3f4468faaa9525ad615118675c3c68938f4a8d5f
;;
- 20.0.0_pre20241023)
- EGIT_COMMIT=0cb80c4f00689ca00a85e1f38bc6ae9dd0bf980e
- ;;
- 20.0.0_pre20241015)
- EGIT_COMMIT=9aef0fd52a0b2bf31cf3bae8a0693d6df8db6e04
- ;;
- 20.0.0_pre20241009)
- EGIT_COMMIT=fb2960aad93f6c02e0ea8de0568c0aef8896eee8
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-06 11:27 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-06 11:27 UTC (permalink / raw
To: gentoo-commits
commit: 1bf781b83fdfd96e662ec76a54ff5ca0b9aad5f6
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 6 11:18:47 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 6 11:18:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1bf781b8
toolchain.eclass: further death hook fixes
Fixes: d82f81cd65b9a668bd7940151e3fa876d4b0ce92
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index aa7134b23e8e..b25c5dcf0929 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2980,10 +2980,10 @@ toolchain_death_notice() {
for dir in "${WORKDIR}"/build-jit "${WORKDIR}"/build ; do
if [[ -e "${dir}" ]] ; then
pushd "${WORKDIR}" >/dev/null
- (echo '' | $(tc-getCC ${CTARGET}) ${CFLAGS} -v -E - 2>&1) > gccinfo.log
- [[ -e "${T}"/build.log ]] && cp "${T}"/build.log .
+ (echo '' | $(tc-getCC ${CTARGET}) ${CFLAGS} -v -E - 2>&1) > "${dir}"/gccinfo.log
+ [[ -e "${T}"/build.log ]] && cp "${T}"/build.log "${dir}"
tar -arf "${WORKDIR}"/gcc-build-logs.tar.xz \
- "${dir}"/gccinfo.log "${dir}"/build.log $(find -name "${dir}"/config.log)
+ "${dir#${WORKDIR}/}"/gccinfo.log "${dir#${WORKDIR}/}"/build.log $(find -name "${dir}"/config.log)
rm "${dir}"/gccinfo.log "${dir}"/build.log
eerror
eerror "Please include ${WORKDIR}/gcc-build-logs.tar.xz in your bug report."
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-05 10:47 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-11-05 10:47 UTC (permalink / raw
To: gentoo-commits
commit: f28ab51fad9acb876a8fef5dd56f656afcd2776c
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sun Nov 3 09:21:35 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue Nov 5 10:46:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f28ab51f
java-ant-2.eclass: Remove dead eclass
Bug: https://bugs.gentoo.org/268313
Bug: https://bugs.gentoo.org/318625
Bug: https://bugs.gentoo.org/539958
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/39180
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/java-ant-2.eclass | 440 -----------------------------------------------
1 file changed, 440 deletions(-)
diff --git a/eclass/java-ant-2.eclass b/eclass/java-ant-2.eclass
deleted file mode 100644
index c34c81331998..000000000000
--- a/eclass/java-ant-2.eclass
+++ /dev/null
@@ -1,440 +0,0 @@
-# Copyright 2004-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# @ECLASS: java-ant-2.eclass
-# @MAINTAINER:
-# java@gentoo.org
-# @AUTHOR:
-# kiorky <kiorky@cryptelium.net>
-# Petteri Räty <betelgeuse@gentoo.org>
-# @SUPPORTED_EAPIS: 7 8
-# @PROVIDES: java-utils-2
-# @BLURB: eclass for ant based Java packages
-# @DEPRECATED: none
-# @DESCRIPTION:
-# Eclass for Ant-based Java packages. Provides support for both automatic and
-# manual manipulation of build.xml files. Should be inherited after java-pkg-2
-# or java-pkg-opt-2 eclass.
-
-case ${EAPI} in
- 7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
-if [[ -z ${_JAVA_ANT_2_ECLASS} ]] ; then
-_JAVA_ANT_2_ECLASS=1
-
-inherit java-utils-2 multilib
-
-# This eclass provides functionality for Java packages which use
-# ant to build. In particular, it will attempt to fix build.xml files, so that
-# they use the appropriate 'target' and 'source' attributes.
-
-# @ECLASS_VARIABLE: WANT_ANT_TASKS
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# An $IFS separated list of ant tasks.
-# Ebuild can specify this variable before inheriting java-ant-2 eclass to
-# determine ANT_TASKS it needs. They will be automatically translated to
-# DEPEND variable and ANT_TASKS variable. JAVA_PKG_FORCE_ANT_TASKS can override
-# ANT_TASKS set by WANT_ANT_TASKS, but not the DEPEND due to caching.
-# Ebuilds that need to depend conditionally on certain tasks and specify them
-# differently for different eant calls can't use this simplified approach.
-# You also cannot specify version or anything else than ant-*.
-#
-# @CODE
-# WANT_ANT_TASKS="ant-junit ant-trax"
-# @CODE
-
-#The implementation of dependencies is handled by java-utils-2.eclass
-#WANT_ANT_TASKS
-
-# @VARIABLE: JAVA_ANT_E_DEPEND
-# @INTERNAL
-# @DESCRIPTION:
-# 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)"
-# check that java-pkg_ant-tasks-depend didn't fail
-if [[ $? != 0 ]]; then
- eerror "${ANT_TASKS_DEPEND}"
- die "java-pkg_ant-tasks-depend() failed"
-fi
-
-# We need some tools from javatoolkit. We also need ant dependencies
-# constructed above.
-JAVA_ANT_E_DEPEND="${JAVA_ANT_E_DEPEND}
- ${ANT_TASKS_DEPEND}
- dev-java/javatoolkit"
-unset ANT_TASKS_DEPEND
-
-# this eclass must be inherited after java-pkg-2 or java-pkg-opt-2
-# if it's java-pkg-opt-2, ant dependencies are pulled based on USE flag
-if has java-pkg-opt-2 ${INHERITED}; then
- JAVA_ANT_E_DEPEND="${JAVA_PKG_OPT_USE}? ( ${JAVA_ANT_E_DEPEND} )"
-elif ! has java-pkg-2 ${INHERITED}; then
- eerror "java-ant-2 eclass can only be inherited AFTER java-pkg-2 or java-pkg-opt-2"
-fi
-
-DEPEND="${JAVA_ANT_E_DEPEND}"
-
-# @ECLASS_VARIABLE: JAVA_PKG_BSFIX
-# @DESCRIPTION:
-# Should we attempt to 'fix' ant build files to include the source/target
-# attributes when calling javac?
-JAVA_PKG_BSFIX=${JAVA_PKG_BSFIX:-"on"}
-
-# @ECLASS_VARIABLE: JAVA_PKG_BSFIX_ALL
-# @DESCRIPTION:
-# If we're fixing build files, should we try to fix all the ones we can find?
-JAVA_PKG_BSFIX_ALL=${JAVA_PKG_BSFIX_ALL:-"yes"}
-
-# @ECLASS_VARIABLE: JAVA_PKG_BSFIX_NAME
-# @DESCRIPTION:
-# Filename of build files to fix/search for
-JAVA_PKG_BSFIX_NAME=${JAVA_PKG_BSFIX_NAME:-"build.xml"}
-
-# @ECLASS_VARIABLE: JAVA_PKG_BSFIX_TARGET_TAGS
-# @DESCRIPTION:
-# Targets to fix the 'source' attribute in
-JAVA_PKG_BSFIX_TARGET_TAGS=${JAVA_PKG_BSFIX_TARGET_TAGS:-"javac xjavac javac.preset"}
-
-# @ECLASS_VARIABLE: JAVA_PKG_BSFIX_SOURCE_TAGS
-# @DESCRIPTION:
-# Targets to fix the 'target' attribute in
-JAVA_PKG_BSFIX_SOURCE_TAGS=${JAVA_PKG_BSFIX_SOURCE_TAGS:-"javadoc javac xjavac javac.preset"}
-
-# @ECLASS_VARIABLE: JAVA_ANT_CLASSPATH_TAGS
-# @DESCRIPTION:
-# Targets to add the classpath attribute to
-JAVA_ANT_CLASSPATH_TAGS="javac xjavac"
-
-# @ECLASS_VARIABLE: JAVA_ANT_IGNORE_SYSTEM_CLASSES
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# When set, <available> Ant tasks are rewritten to ignore Ant's runtime classpath.
-
-# @FUNCTION: java-ant-2_src_configure
-# @DESCRIPTION:
-# src_configure rewrites the build.xml files automatically.
-java-ant-2_src_configure() {
- # if java support is optional, don't perform this when the USE flag is off
- if has java-pkg-opt-2 ${INHERITED}; then
- use ${JAVA_PKG_OPT_USE} || return
- fi
-
- # eant will call us unless called by Portage
- [[ -e "${T}/java-ant-2_src_configure-run" ]] && return
-
- [[ "${JAVA_ANT_IGNORE_SYSTEM_CLASSES}" ]] \
- && java-ant_ignore-system-classes "${S}/build.xml"
-
- java-ant_bsfix
- touch "${T}/java-ant-2_src_configure-run"
-}
-
-# @FUNCTION: java-ant_bsfix
-# @INTERNAL
-# @DESCRIPTION:
-# Attempts to fix build files.
-#
-# @CODE
-# Affected by variables:
-# JAVA_PKG_BSFIX
-# JAVA_PKG_BSFIX_ALL
-# JAVA_PKG_BSFIX_NAME,
-# @CODE
-java-ant_bsfix() {
- debug-print-function ${FUNCNAME} $*
-
- [[ "${JAVA_PKG_BSFIX}" != "on" ]] && return
- if ! java-pkg_needs-vm; then
- echo "QA Notice: Package is using java-ant, but doesn't depend on a Java VM"
- fi
-
- pushd "${S}" >/dev/null || die
-
- local find_args=""
- [[ "${JAVA_PKG_BSFIX_ALL}" == "yes" ]] || find_args="-maxdepth 1"
-
- find_args="${find_args} -type f ( -name ${JAVA_PKG_BSFIX_NAME// / -o -name } )"
-
- local bsfix_these=() line
- while IFS= read -r -d $'\0' line; do
- bsfix_these+=( "${line}" )
- done < <(find . ${find_args} -print0)
-
- [[ "${bsfix_these[@]}" ]] && java-ant_bsfix_files "${bsfix_these[@]}"
-
- popd > /dev/null || die
-}
-
-# @FUNCTION: java-ant_bsfix_files
-# @USAGE: <path/to/first/build.xml> [path/to/second.build.xml ...]
-# @DESCRIPTION:
-# Attempts to fix named build files.
-#
-# @CODE
-# Affected by variables:
-# JAVA_PKG_BSFIX_SOURCE_TAGS
-# JAVA_PKG_BSFIX_TARGET_TAGS
-# JAVA_ANT_REWRITE_CLASSPATH
-# JAVA_ANT_JAVADOC_INPUT_DIRS: Where we can find java sources for javadoc
-# input. Can be a space separated list of
-# directories
-# JAVA_ANT_BSFIX_EXTRA_ARGS: You can use this to pass extra variables to the
-# rewriter if you know what you are doing.
-# @CODE
-#
-# If JAVA_ANT_JAVADOC_INPUT_DIRS is set, we will turn on the adding of a basic
-# javadoc target to the ant's build.xml with the javadoc xml-rewriter feature.
-# Then we will set EANT DOC TARGET to the added javadoc target
-# NOTE: the variable JAVA_ANT_JAVADOC_OUTPUT_DIR points where we will
-# generate the javadocs. This is a read-only variable, dont change it.
-
-# When changing this function, make sure that it works with paths with spaces in
-# them.
-java-ant_bsfix_files() {
- debug-print-function ${FUNCNAME} $*
-
- [[ ${#} = 0 ]] && die "${FUNCNAME} called without arguments"
-
- local want_source="$(java-pkg_get-source)"
- local want_target="$(java-pkg_get-target)"
-
- debug-print "${FUNCNAME}: target: ${want_target} source: ${want_source}"
-
- if [ -z "${want_source}" -o -z "${want_target}" ]; then
- eerror "Could not find valid -source/-target values"
- eerror "Please file a bug about this on bugs.gentoo.org"
- die "Could not find valid -source/-target values"
- else
- local files=()
-
- for file in "${@}"; do
- debug-print "${FUNCNAME}: ${file}"
-
- if [[ -n "${JAVA_PKG_DEBUG}" ]]; then
- cp "${file}" "${file}.orig" || die "failed to copy ${file}"
- fi
-
- if [[ ! -w "${file}" ]]; then
- chmod u+w "${file}" || die "chmod u+w ${file} failed"
- fi
-
- files+=( -f "${file}" )
- done
-
- if [ -e "${EPREFIX}/usr/libexec/javatoolkit" ]; then
- local rewriter3="${EPREFIX}/usr/libexec/javatoolkit/xml-rewrite-3.py"
- local rewriter4="${EPREFIX}/usr/libexec/javatoolkit/build-xml-rewrite"
- else
- local rewriter3="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/xml-rewrite-3.py"
- local rewriter4="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/build-xml-rewrite"
- fi
-
- if [[ -x ${rewriter4} && ${JAVA_ANT_ENCODING} ]]; then
- [[ ${JAVA_ANT_REWRITE_CLASSPATH} ]] && local gcp="-g"
- [[ ${JAVA_ANT_ENCODING} ]] && local enc="-e ${JAVA_ANT_ENCODING}"
- echo "cElementTree rewriter"
- debug-print "${rewriter4} extra args: ${gcp} ${enc}"
- ${rewriter4} ${gcp} ${enc} \
- -c "${JAVA_PKG_BSFIX_SOURCE_TAGS}" source ${want_source} \
- -c "${JAVA_PKG_BSFIX_TARGET_TAGS}" target ${want_target} \
- "${@}" || die "build-xml-rewrite failed"
- else
- debug-print "Using third generation rewriter"
- echo "Rewriting attributes"
- local bsfix_extra_args=()
- # WARNING KEEP THE ORDER, ESPECIALLY FOR CHANGED ATTRIBUTES!
- if [[ -n ${JAVA_ANT_REWRITE_CLASSPATH} ]]; then
- local cp_tags="${JAVA_ANT_CLASSPATH_TAGS// / -e }"
- bsfix_extra_args+=( -g -e ${cp_tags} )
- bsfix_extra_args+=( -a classpath -v '${gentoo.classpath}' )
- fi
- if [[ -n ${JAVA_ANT_JAVADOC_INPUT_DIRS} ]]; then
- if [[ -n ${JAVA_ANT_JAVADOC_OUTPUT_DIR} ]]; then
- die "Do not define JAVA_ANT_JAVADOC_OUTPUT_DIR!"
- fi
- # Where will our generated javadoc go.
- readonly JAVA_ANT_JAVADOC_OUTPUT_DIR="${WORKDIR}/gentoo_javadoc"
- mkdir -p "${JAVA_ANT_JAVADOC_OUTPUT_DIR}" || die
-
- if has doc ${IUSE}; then
- if use doc; then
- if [[ -z ${EANT_DOC_TARGET} ]]; then
- EANT_DOC_TARGET="gentoojavadoc"
- else
- die "You can't use javadoc adding and set EANT_DOC_TARGET too."
- fi
-
- for dir in ${JAVA_ANT_JAVADOC_INPUT_DIRS};do
- if [[ ! -d ${dir} ]]; then
- eerror "Directory ${dir} doesn't exist"
- die "You must specify directories for javadoc input/output dirs."
- fi
- done
- bsfix_extra_args+=( --javadoc --source-directory )
- # filter third/double spaces
- JAVA_ANT_JAVADOC_INPUT_DIRS=${JAVA_ANT_JAVADOC_INPUT_DIRS// /}
- JAVA_ANT_JAVADOC_INPUT_DIRS=${JAVA_ANT_JAVADOC_INPUT_DIRS// /}
- bsfix_extra_args+=( ${JAVA_ANT_JAVADOC_INPUT_DIRS// / --source-directory } )
- bsfix_extra_args+=( --output-directory "${JAVA_ANT_JAVADOC_OUTPUT_DIR}" )
- fi
- else
- die "You need to have doc in IUSE when using JAVA_ANT_JAVADOC_INPUT_DIRS"
- fi
- fi
-
- [[ -n ${JAVA_ANT_BSFIX_EXTRA_ARGS} ]] \
- && bsfix_extra_args+=( ${JAVA_ANT_BSFIX_EXTRA_ARGS} )
-
- debug-print "bsfix_extra_args: ${bsfix_extra_args[*]}"
-
- ${rewriter3} "${files[@]}" \
- -c --source-element ${JAVA_PKG_BSFIX_SOURCE_TAGS// / --source-element } \
- --source-attribute source --source-value ${want_source} \
- --target-element ${JAVA_PKG_BSFIX_TARGET_TAGS// / --target-element } \
- --target-attribute target --target-value ${want_target} \
- --target-attribute nowarn --target-value yes \
- "${bsfix_extra_args[@]}" \
- || die "xml-rewrite-3 failed: ${file}"
- fi
-
- if [[ -n "${JAVA_PKG_DEBUG}" ]]; then
- for file in "${@}"; do
- diff -NurbB "${file}.orig" "${file}"
- done
- fi
- fi
- return 0 # so that the 1 for diff doesn't get reported
-}
-
-
-# @FUNCTION: java-ant_bsfix_one
-# @USAGE: <path/to/build.xml>
-# @DESCRIPTION:
-# Attempts to fix named build file.
-#
-# @CODE
-# Affected by variables:
-# JAVA_PKG_BSFIX_SOURCE_TAGS
-# JAVA_PKG_BSFIX_TARGET_TAGS
-# @CODE
-java-ant_bsfix_one() {
- debug-print-function ${FUNCNAME} $*
-
- if [ -z "${1}" ]; then
- eerror "${FUNCNAME} needs one argument"
- die "${FUNCNAME} needs one argument"
- fi
-
- java-ant_bsfix_files "${1}"
-}
-
-# @FUNCTION: java-ant_rewrite-classpath
-# @USAGE: [path/to/build.xml]
-# @DESCRIPTION:
-# Adds 'classpath="${gentoo.classpath}"' to specified build file.
-#
-# Affected by:
-# JAVA_ANT_CLASSPATH_TAGS
-#
-# Parameter defaults to build.xml when not specified
-java-ant_rewrite-classpath() {
- debug-print-function ${FUNCNAME} $*
-
- local file="${1}"
- [[ -z "${1}" ]] && file=build.xml
- [[ ${#} -gt 1 ]] && die "${FUNCNAME} currently can only rewrite one file."
-
- echo "Adding gentoo.classpath to ${file}"
- debug-print "java-ant_rewrite-classpath: ${file}"
-
- cp "${file}" "${file}.orig" || die "failed to copy ${file}"
-
- chmod u+w "${file}"
-
- java-ant_xml-rewrite -f "${file}" --change \
- -e ${JAVA_ANT_CLASSPATH_TAGS// / -e } -a classpath -v '${gentoo.classpath}'
-
- if [[ -n "${JAVA_PKG_DEBUG}" ]]; then
- diff -NurbB "${file}.orig" "${file}"
- fi
-}
-
-# @FUNCTION: java-ant_ignore-system-classes
-# @USAGE: [path/to/build.xml]
-# @DESCRIPTION:
-# Makes the available task ignore classes in the system classpath
-# Parameter defaults to build.xml when not specified
-java-ant_ignore-system-classes() {
- debug-print-function ${FUNCNAME} $*
- local file=${1:-build.xml}
- echo "Changing ignoresystemclasses to true for available tasks in ${file}"
- java-ant_xml-rewrite -f "${file}" --change \
- -e available -a ignoresystemclasses -v "true"
-}
-
-# @FUNCTION: java-ant_xml-rewrite
-# @USAGE: <xml rewriter arguments>
-# @DESCRIPTION:
-# Run the right xml-rewrite binary with the given arguments
-java-ant_xml-rewrite() {
- local gen2_1="${EPREFIX}/usr/$(get_libdir)/javatoolkit/bin/xml-rewrite-2.py"
- local gen2_2="${EPREFIX}/usr/libexec/javatoolkit/xml-rewrite-2.py"
- # gen1 is deprecated
- if [[ -x "${gen2_2}" ]]; then
- ${gen2_2} "${@}" || die "${gen2_2} failed"
- elif [[ -x "${gen2_1}" ]]; then
- ${gen2_1} "${@}" || die "${gen2_1} failed"
- else
- eerror "No binary for rewriting found."
- eerror "Do you have dev-java/javatoolkit installed?"
- die "xml-rewrite not found"
- fi
-}
-
-# @FUNCTION: java-ant_rewrite-bootclasspath
-# @USAGE: <version> [path/to/build.xml] [prepend] [append]
-# @DESCRIPTION:
-# Adds bootclasspath to javac-like tasks in build.xml filled with jars of a
-# bootclasspath package of given version.
-#
-# @CODE
-# Affected by:
-# JAVA_PKG_BSFIX_TARGET_TAGS - the tags of javac tasks
-#
-# Parameters:
-# $1 - the version of bootclasspath (e.g. 1.5), 'auto' for bootclasspath
-# of the current JDK
-# $2 - path to desired build.xml file, defaults to 'build.xml'
-# $3 - (optional) what to prepend the bootclasspath with (to override)
-# $4 - (optional) what to append to the bootclasspath
-# @CODE
-java-ant_rewrite-bootclasspath() {
- local version="${1}"
- local file="${2-build.xml}"
- local extra_before="${3}"
- local extra_after="${4}"
-
- local bcp="$(java-pkg_get-bootclasspath "${version}")"
-
- if [[ -n "${extra_before}" ]]; then
- bcp="${extra_before}:${bcp}"
- fi
- if [[ -n "${extra_after}" ]]; then
- bcp="${bcp}:${extra_after}"
- fi
-
- java-ant_xml-rewrite -f "${file}" -c -e ${JAVA_PKG_BSFIX_TARGET_TAGS// / -e } \
- -a bootclasspath -v "${bcp}"
-}
-
-fi
-
-EXPORT_FUNCTIONS src_configure
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-05 10:47 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-11-05 10:47 UTC (permalink / raw
To: gentoo-commits
commit: 9a5db816fec806706bdf4d95ee112bf961e8dc5c
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Mon Nov 4 09:22:42 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue Nov 5 10:46:50 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a5db816
java-utils-2.eclass: remove reference to java-ant-2.eclass
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/java-utils-2.eclass | 19 -------------------
1 file changed, 19 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 237657cf551a..c0a900b35a00 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2029,25 +2029,6 @@ java-utils-2_pkg_preinst() {
eant() {
debug-print-function ${FUNCNAME} $*
- if [[ ${!JAVA_PKG_BSFIX*} ]] \
- || [[ ${JAVA_ANT_BSFIX_EXTRA_ARGS} ]] \
- || [[ ${JAVA_ANT_CLASSPATH_TAGS} ]] \
- || [[ ${JAVA_ANT_JAVADOC_INPUT_DIRS} ]] \
- || [[ ${JAVA_ANT_REWRITE_CLASSPATH} ]] \
- || [[ ${EANT_BUILD_XML} ]] \
- || [[ ${!EANT_GENTOO_CLASSPATH*} ]] \
- || [[ ${EANT_TEST_GENTOO_CLASSPATH} ]]
- then
- if [[ ${EBUILD_PHASE} = compile ]]; then
- java-ant-2_src_configure
- fi
-
- if ! has java-ant-2 ${INHERITED}; then
- local msg="You should inherit java-ant-2 when using eant"
- java-pkg_announce-qa-violation "${msg}"
- fi
- fi
-
local antflags="-Dnoget=true -Dmaven.mode.offline=true -Dbuild.sysclasspath=ignore"
java-pkg_init-compiler_
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-03 9:35 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-11-03 9:35 UTC (permalink / raw
To: gentoo-commits
commit: d82f81cd65b9a668bd7940151e3fa876d4b0ce92
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 3 09:34:26 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Nov 3 09:35:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d82f81cd
toolchain.eclass: fix death hooks for JIT build
We want to recover logs from that too.
Bug: https://bugs.gentoo.org/942769
Fixes: 5bed0c77a1c54ac9297db4bb54af2e45c0558ec7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index e464f8c53972..aa7134b23e8e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2976,18 +2976,21 @@ XGCC() { get_make_var GCC_FOR_TARGET ; }
has toolchain_death_notice ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+=" toolchain_death_notice"
toolchain_death_notice() {
- if [[ -e "${WORKDIR}"/build ]] ; then
- pushd "${WORKDIR}"/build >/dev/null
- (echo '' | $(tc-getCC ${CTARGET}) ${CFLAGS} -v -E - 2>&1) > gccinfo.log
- [[ -e "${T}"/build.log ]] && cp "${T}"/build.log .
- tar -acf "${WORKDIR}"/gcc-build-logs.tar.xz \
- gccinfo.log build.log $(find -name config.log)
- rm gccinfo.log build.log
- eerror
- eerror "Please include ${WORKDIR}/gcc-build-logs.tar.xz in your bug report."
- eerror
- popd >/dev/null
- fi
+ local dir
+ for dir in "${WORKDIR}"/build-jit "${WORKDIR}"/build ; do
+ if [[ -e "${dir}" ]] ; then
+ pushd "${WORKDIR}" >/dev/null
+ (echo '' | $(tc-getCC ${CTARGET}) ${CFLAGS} -v -E - 2>&1) > gccinfo.log
+ [[ -e "${T}"/build.log ]] && cp "${T}"/build.log .
+ tar -arf "${WORKDIR}"/gcc-build-logs.tar.xz \
+ "${dir}"/gccinfo.log "${dir}"/build.log $(find -name "${dir}"/config.log)
+ rm "${dir}"/gccinfo.log "${dir}"/build.log
+ eerror
+ eerror "Please include ${WORKDIR}/gcc-build-logs.tar.xz in your bug report."
+ eerror
+ popd >/dev/null
+ fi
+ done
}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-01 9:03 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-11-01 9:03 UTC (permalink / raw
To: gentoo-commits
commit: efe2c28cf7a7b9f3a4a26c4fe4057e62de81deb3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 1 08:58:06 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Nov 1 09:03:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efe2c28c
toolchain.eclass: Add USE=time64 to 14.2.1_p20241026 and newer
Acked-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 805fc30952ce..e464f8c53972 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -330,6 +330,7 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
# and https://rust-gcc.github.io/2023/04/24/gccrs-and-gcc13-release.html for why
# it was disabled in 13.
tc_version_is_at_least 14.0.0_pre20230423 ${PV} && IUSE+=" rust" TC_FEATURES+=( rust )
+ tc_version_is_at_least 14.2.1_p20241026 ${PV} && IUSE+=" time64"
fi
if tc_version_is_at_least 10; then
@@ -1060,6 +1061,9 @@ toolchain_src_configure() {
downgrade_arch_flags
gcc_do_filter_flags
+ if tc_version_is_at_least 14.2.1_p20241026 ${PV}; then
+ append-cppflags "-D_GENTOO_TIME64_FORCE=$(usex time64 1 0)"
+ fi
if ! tc_version_is_at_least 11 && [[ $(gcc-major-version) -ge 12 ]] ; then
# https://gcc.gnu.org/PR105695 (bug #849359)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-30 20:50 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-30 20:50 UTC (permalink / raw
To: gentoo-commits
commit: ced8cd934532e56c19f72d6a71136c6c907685ea
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 30 20:49:39 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Oct 30 20:49:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ced8cd93
toolchain.eclass: filter -fdiagnostics-details too
Same as 72d5ea56d41b7d5aac351854b7479f5c2c430c83, the flag got renamed.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 438ef6c2c66a..805fc30952ce 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1945,7 +1945,7 @@ gcc_do_filter_flags() {
fi
if ver_test -lt 15.1 ; then
- filter-flags -fdiagnostics-explain-harder
+ filter-flags -fdiagnostics-explain-harder -fdiagnostics-details
fi
if is_d ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-30 11:43 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-10-30 11:43 UTC (permalink / raw
To: gentoo-commits
commit: 48a74a98e1d9abbe59dab0b2ca9300479ffcf423
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Oct 30 08:19:38 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Oct 30 11:43:03 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48a74a98
java-utils-2.eclass: remove undocumented unused function
Removes java-pkg_set-current-vm
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/38836
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 4 ----
1 file changed, 4 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 8d9ef40b3570..237657cf551a 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -1636,10 +1636,6 @@ java-pkg_is-vm-version-ge() {
fi
}
-java-pkg_set-current-vm() {
- export GENTOO_VM=${1}
-}
-
# @FUNCTION: java-pkg_current-vm-matches
# @USAGE: <vm_string1> [<vm_string2> [<vm_string3>...]]
# @RETURN: 0: the current vm matches any of the provided strings
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-30 2:27 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-30 2:27 UTC (permalink / raw
To: gentoo-commits
commit: 30a37b9022cdb0108ba04051eba37c0da9f60a50
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 30 02:25:37 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Oct 30 02:26:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=30a37b90
toolchain.eclass: filter -Warray-bounds if building D
Bug: https://gcc.gnu.org/PR116975
Closes: https://bugs.gentoo.org/940750
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index dd4130ef9b85..438ef6c2c66a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1948,6 +1948,11 @@ gcc_do_filter_flags() {
filter-flags -fdiagnostics-explain-harder
fi
+ if is_d ; then
+ # bug #940750
+ filter-flags -Warray-bounds
+ fi
+
# Please use USE=lto instead (bug #906007).
filter-lto
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-29 23:22 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2024-10-29 23:22 UTC (permalink / raw
To: gentoo-commits
commit: a9261dc65b6e9b43fdc0cfc9b9fb1445eeaeac7e
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 23 19:45:48 2024 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Tue Oct 29 23:22:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a9261dc6
eclass/dotnet-pkg-base: add efsi function for running FSI
This will replace "edotnet fsi" as used in "app-shells/pwsh" package.
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg-base.eclass | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
index 784db5ce83f0..8ec21c9a276c 100644
--- a/eclass/dotnet-pkg-base.eclass
+++ b/eclass/dotnet-pkg-base.eclass
@@ -294,6 +294,18 @@ edotnet() {
edo "${DOTNET_PKG_EXECUTABLE}" "${@}"
}
+# @FUNCTION: efsi
+# @USAGE: <command> [args...]
+# @DESCRIPTION:
+# Call dotnet fsi, passing the supplied arguments.
+# FSI is the F# interpreter shipped with .NET SDK, it is useful for running F#
+# maintenance scripts.
+efsi() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ edotnet fsi --nologo "${@}"
+}
+
# @FUNCTION: dotnet-pkg-base_info
# @DESCRIPTION:
# Show information about current .NET SDK that is being used.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-29 23:22 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2024-10-29 23:22 UTC (permalink / raw
To: gentoo-commits
commit: 6ee0117091c9e8e2911603b2243b874adaba5aab
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 23 19:37:20 2024 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Tue Oct 29 23:22:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ee01170
eclass/dotnet-pkg-base: turn off DOTNET_NUGET_SIGNATURE_VERIFICATION
Speeds up "dotnet restore". Especially can be noticed when running
without network sandbox.
Suggested by vimproved on IRC - thanks!
See also: https://github.com/NuGet/Home/issues/13062
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg-base.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
index 15e9ba703baa..784db5ce83f0 100644
--- a/eclass/dotnet-pkg-base.eclass
+++ b/eclass/dotnet-pkg-base.eclass
@@ -101,6 +101,9 @@ export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
export MSBUILDDISABLENODEREUSE=1
export POWERSHELL_TELEMETRY_OPTOUT=1
export POWERSHELL_UPDATECHECK=0
+# Speeds up restore. Having this turned on is redundant with Portage manifests.
+# See also: https://github.com/NuGet/Home/issues/13062
+export DOTNET_NUGET_SIGNATURE_VERIFICATION=false
# Overwrite selected MSBuild properties ("-p:XYZ").
export UseSharedCompilation=false
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-29 13:01 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-10-29 13:01 UTC (permalink / raw
To: gentoo-commits
commit: 70048de89455f6231d604ae7289dff52e8b371c3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 29 13:00:02 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 29 13:01:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70048de8
llvm.org.eclass: Add 20.0.0_pre20241029 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 7f104862b24b..dddb87735875 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
+ 20.0.0_pre20241029)
+ EGIT_COMMIT=3f4468faaa9525ad615118675c3c68938f4a8d5f
+ ;;
20.0.0_pre20241023)
EGIT_COMMIT=0cb80c4f00689ca00a85e1f38bc6ae9dd0bf980e
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-23 12:18 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-10-23 12:18 UTC (permalink / raw
To: gentoo-commits
commit: d138c8c9a84a7c44f8a846ceb88c7b8bb2a27a98
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 23 12:00:45 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 23 12:18:03 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d138c8c9
llvm.org.eclass: Add 20.0.0_pre20241023 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 065b02f3b269..7f104862b24b 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
+ 20.0.0_pre20241023)
+ EGIT_COMMIT=0cb80c4f00689ca00a85e1f38bc6ae9dd0bf980e
+ ;;
20.0.0_pre20241015)
EGIT_COMMIT=9aef0fd52a0b2bf31cf3bae8a0693d6df8db6e04
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-21 9:32 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-21 9:32 UTC (permalink / raw
To: gentoo-commits
commit: 72d5ea56d41b7d5aac351854b7479f5c2c430c83
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 21 09:31:40 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Oct 21 09:31:58 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=72d5ea56
toolchain.eclass: filter -fdiagnostics-explain-harder
This is an experimental flag not yet merged upstream but filtering
it makes it easier to test with so it doesn't confuse older unpatched (locally)
GCCs.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 6bad1def19f4..dd4130ef9b85 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1944,6 +1944,10 @@ gcc_do_filter_flags() {
filter-flags -Walloc-size
fi
+ if ver_test -lt 15.1 ; then
+ filter-flags -fdiagnostics-explain-harder
+ fi
+
# Please use USE=lto instead (bug #906007).
filter-lto
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-19 13:47 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-10-19 13:47 UTC (permalink / raw
To: gentoo-commits
commit: e91760a3bbc3d9267fb0bfd018b8af834e0b4286
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 19 12:49:43 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Oct 19 13:47:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e91760a3
qt6-build.eclass: extend -m* flags sanitizing
A user on the forums reported a build failure with:
`-march=znver4 -mavx512vp2intersect`
On its own, there is no issue there (expanded from -march=native) but
when Qt passes `-march=haswell` to build certain parts (e.g. avx2 bits
for runtime detection regardless of what CHOST supports), it overrides
znver4 and keeps -mavx512vp2intersect resulting in an incomplete set
and then qsimd_p.h complains
Do not plan to pursue this myself, but this specific issue could
be improved upstream by passing -mavx2 and others rather than
-march=haswell (this would also allow overriding a -mno-avx2 that
we currently need to change), and/or ideally by making qsimd_p.h
be able to deal with these configurations without #error.
If problems keep piling up, could consider always filtering *all*
-m{,no-}<instr> flags and doing x86-64-v* unconditionally. Albeit
that'd still require maintaining a list of these not to filter
unrelated -m* flags which could be important.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 34 ++++++++++++++++++++++++----------
1 file changed, 24 insertions(+), 10 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index c6b8db578f46..2dec4b7ec14e 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -301,18 +301,31 @@ _qt6-build_sanitize_cpu_flags() {
fma4 sse4a
)
+ # extras for which -mno-* does not matter, but can lead to enabling
+ # other flags when set and breaking the -march=haswell case below
+ # (add more as needed if users use these)
+ local cpuflags_filter_only=(
+ avx512vp2intersect
+ )
+
# check if any known problematic -mno-* C(XX)FLAGS
if ! is-flagq "@($(IFS='|'; echo "${cpuflags[*]/#/-mno-}"))"; then
- # check if qsimd_p.h (search for "enable all") will accept -march
- : "$($(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 1
- #if (defined(__AVX2__) && (__BMI__ + __BMI2__ + __F16C__ + __FMA__ + __LZCNT__ + __POPCNT__) != 6) || \
- (defined(__AVX512F__) && (__AVX512BW__ + __AVX512CD__ + __AVX512DQ__ + __AVX512VL__) != 4)
- bad
- #endif
- EOF
- assert
- )"
- [[ ${_} == bad ]] || return 0 # *should* be fine as-is
+ # check if qsimd_p.h (search for "enable all") will accept -march, and
+ # further check when -march=haswell is appended (which Qt uses for some
+ # parts) given combination with other -m* could lead to partial support
+ local bad flags
+ for flags in '' '-march=haswell'; do
+ : "$($(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} ${flags} - <<-EOF | tail -n 1
+ #if (defined(__AVX2__) && (__BMI__ + __BMI2__ + __F16C__ + __FMA__ + __LZCNT__ + __POPCNT__) != 6) || \
+ (defined(__AVX512F__) && (__AVX512BW__ + __AVX512CD__ + __AVX512DQ__ + __AVX512VL__) != 4)
+ bad
+ #endif
+ EOF
+ assert
+ )"
+ [[ ${_} == bad ]] && bad=1 && break
+ done
+ [[ -v bad ]] || return 0 # *should* be fine as-is
fi
# determine highest(known) usable x86-64 feature level
@@ -332,6 +345,7 @@ _qt6-build_sanitize_cpu_flags() {
assert
)
+ cpuflags+=("${cpuflags_filter_only[@]}")
filter-flags '-march=*' "${cpuflags[@]/#/-m}" "${cpuflags[@]/#/-mno-}"
[[ ${march} == x86-64* ]] && append-flags $(test-flags-CXX -march=${march})
einfo "C(XX)FLAGS were adjusted due to Qt limitations: ${CXXFLAGS}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-18 17:54 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-10-18 17:54 UTC (permalink / raw
To: gentoo-commits
commit: 79d26649cb50e6f26be6728621459ae94c542d3b
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 14 10:36:08 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 18 17:54:34 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79d26649
cvs.eclass: Add local declarations and die statements throughout
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/cvs.eclass | 120 +++++++++++++++++++++++-------------------------------
1 file changed, 52 insertions(+), 68 deletions(-)
diff --git a/eclass/cvs.eclass b/eclass/cvs.eclass
index dbacc2c09cfe..ec0ad2ec8f71 100644
--- a/eclass/cvs.eclass
+++ b/eclass/cvs.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: cvs.eclass
@@ -268,13 +268,14 @@ cvs_fetch() {
# In case ECVS_TOP_DIR is a symlink to a dir, get the real path,
# otherwise addwrite() doesn't work.
- cd -P "${ECVS_TOP_DIR}" >/dev/null
+ cd -P "${ECVS_TOP_DIR}" >/dev/null || die
ECVS_TOP_DIR=$(pwd)
# Disable the sandbox for this dir
addwrite "${ECVS_TOP_DIR}"
# Determine the CVS command mode (checkout or update)
+ local mode
if [[ ! -d ${ECVS_TOP_DIR}/${ECVS_LOCALNAME}/CVS ]] ; then
mode=checkout
else
@@ -294,14 +295,14 @@ cvs_fetch() {
# Switch servers automagically if needed
if [[ ${mode} == "update" ]] ; then
- cd "/${ECVS_TOP_DIR}/${ECVS_LOCALNAME}"
- local oldserver=$(cat CVS/Root)
+ cd "/${ECVS_TOP_DIR}/${ECVS_LOCALNAME}" || die
+ local oldserver=$(cat CVS/Root || die)
if [[ ${server} != "${oldserver}" ]] ; then
einfo "Changing the CVS server from ${oldserver} to ${server}:"
debug-print "${FUNCNAME}: Changing the CVS server from ${oldserver} to ${server}:"
einfo "Searching for CVS directories ..."
- local cvsdirs=$(find . -iname CVS -print)
+ local cvsdirs=$(find . -iname CVS -print || die)
debug-print "${FUNCNAME}: CVS directories found:"
debug-print "${cvsdirs}"
@@ -309,21 +310,22 @@ cvs_fetch() {
local x
for x in ${cvsdirs} ; do
debug-print "In ${x}"
- echo "${server}" > "${x}/Root"
+ echo "${server}" > "${x}/Root" || die
done
fi
fi
# Prepare a cvspass file just for this session, we don't want to
# mess with ~/.cvspass
- touch "${T}/cvspass"
- export CVS_PASSFILE="${T}/cvspass"
+ local -x CVS_PASSFILE="${T}/cvspass"
+ touch "${CVS_PASSFILE}" || die
# The server string with the password in it, for login (only used for pserver)
- cvsroot_pass=":${connection}:${ECVS_USER}:${ECVS_PASS}@${ECVS_SERVER}"
+ local cvsroot_pass=":${connection}:${ECVS_USER}:${ECVS_PASS}@${ECVS_SERVER}"
# Ditto without the password, for checkout/update after login, so
# that the CVS/Root files don't contain the password in plaintext
+ local cvsroot_nopass
if [[ ${ECVS_AUTH} == "no" ]] ; then
cvsroot_nopass="${ECVS_USER}@${ECVS_SERVER}"
else
@@ -331,13 +333,21 @@ cvs_fetch() {
fi
# Commands to run
- cmdlogin=( ${ECVS_CVS_COMMAND} -d "${cvsroot_pass}" login )
- cmdupdate=( ${ECVS_CVS_COMMAND} -d "${cvsroot_nopass}" update ${ECVS_UP_OPTS} ${ECVS_LOCALNAME} )
- cmdcheckout=( ${ECVS_CVS_COMMAND} -d "${cvsroot_nopass}" checkout ${ECVS_CO_OPTS} ${ECVS_MODULE} )
+ local cmdlogin=(
+ ${ECVS_CVS_COMMAND} -d "${cvsroot_pass}" login
+ )
+ local cmdupdate=(
+ ${ECVS_CVS_COMMAND} -d "${cvsroot_nopass}" update
+ ${ECVS_UP_OPTS} ${ECVS_LOCALNAME}
+ )
+ local cmdcheckout=(
+ ${ECVS_CVS_COMMAND} -d "${cvsroot_nopass}" checkout
+ ${ECVS_CO_OPTS} ${ECVS_MODULE}
+ )
# Execute commands
- cd "${ECVS_TOP_DIR}"
+ cd "${ECVS_TOP_DIR}" || die
if [[ ${ECVS_AUTH} == "pserver" ]] ; then
einfo "Running ${cmdlogin[*]}"
"${cmdlogin[@]}" || die "cvs login command failed"
@@ -351,26 +361,11 @@ cvs_fetch() {
elif [[ ${ECVS_AUTH} == "ext" || ${ECVS_AUTH} == "no" ]] ; then
# Hack to support SSH password authentication
- # Backup environment variable values
- local CVS_ECLASS_ORIG_CVS_RSH="${CVS_RSH}"
-
- if [[ ${SSH_ASKPASS+set} == "set" ]] ; then
- local CVS_ECLASS_ORIG_SSH_ASKPASS="${SSH_ASKPASS}"
- else
- unset CVS_ECLASS_ORIG_SSH_ASKPASS
- fi
-
- if [[ ${DISPLAY+set} == "set" ]] ; then
- local CVS_ECLASS_ORIG_DISPLAY="${DISPLAY}"
- else
- unset CVS_ECLASS_ORIG_DISPLAY
- fi
-
if [[ ${CVS_RSH} == "ssh" ]] ; then
# Force SSH to use SSH_ASKPASS by creating python wrapper
- export CVS_RSH="${T}/cvs_sshwrapper"
- cat > "${CVS_RSH}"<<EOF
+ local -x CVS_RSH="${T}/cvs_sshwrapper"
+ cat > "${CVS_RSH}" <<EOF || die
#!${EPREFIX}/usr/bin/python
import fcntl
import os
@@ -391,52 +386,52 @@ EOF
# disable X11 forwarding which causes .xauth access violations
# - 20041205 Armando Di Cianno <fafhrd@gentoo.org>
echo "newarglist.insert(1, '-oClearAllForwardings=yes')" \
- >> "${CVS_RSH}"
+ >> "${CVS_RSH}" || die
echo "newarglist.insert(1, '-oForwardX11=no')" \
- >> "${CVS_RSH}"
+ >> "${CVS_RSH}" || die
# Handle SSH host key checking
- local CVS_ECLASS_KNOWN_HOSTS="${T}/cvs_ssh_known_hosts"
- echo "newarglist.insert(1, '-oUserKnownHostsFile=${CVS_ECLASS_KNOWN_HOSTS}')" \
- >> "${CVS_RSH}"
+ local known_hosts_file="${T}/cvs_ssh_known_hosts"
+ echo "newarglist.insert(1, '-oUserKnownHostsFile=${known_hosts_file}')" \
+ >> "${CVS_RSH}" || die
+ local strict_host_key_checking
if [[ -z ${ECVS_SSH_HOST_KEY} ]] ; then
ewarn "Warning: The SSH host key of the remote server will not be verified."
einfo "A temporary known hosts list will be used."
- local CVS_ECLASS_STRICT_HOST_CHECKING="no"
- touch "${CVS_ECLASS_KNOWN_HOSTS}"
+ strict_host_key_checking="no"
+ touch "${known_hosts_file}" || die
else
- local CVS_ECLASS_STRICT_HOST_CHECKING="yes"
- echo "${ECVS_SSH_HOST_KEY}" > "${CVS_ECLASS_KNOWN_HOSTS}"
+ strict_host_key_checking="yes"
+ echo "${ECVS_SSH_HOST_KEY}" > "${known_hosts_file}" || die
fi
echo -n "newarglist.insert(1, '-oStrictHostKeyChecking=" \
- >> "${CVS_RSH}"
- echo "${CVS_ECLASS_STRICT_HOST_CHECKING}')" \
- >> "${CVS_RSH}"
+ >> "${CVS_RSH}" || die
+ echo "${strict_host_key_checking}')" \
+ >> "${CVS_RSH}" || die
echo "os.execv('${EPREFIX}/usr/bin/ssh', newarglist)" \
- >> "${CVS_RSH}"
+ >> "${CVS_RSH}" || die
- chmod a+x "${CVS_RSH}"
+ chmod a+x "${CVS_RSH}" || die
# Make sure DISPLAY is set (SSH will not use SSH_ASKPASS
# if DISPLAY is not set)
- : "${DISPLAY:="DISPLAY"}"
- export DISPLAY
+ local -x DISPLAY="${DISPLAY:-DISPLAY}"
# Create a dummy executable to echo ${ECVS_PASS}
- export SSH_ASKPASS="${T}/cvs_sshechopass"
+ local -x SSH_ASKPASS="${T}/cvs_sshechopass"
if [[ ${ECVS_AUTH} != "no" ]] ; then
echo -en "#!/bin/bash\necho \"${ECVS_PASS}\"\n" \
- > "${SSH_ASKPASS}"
+ > "${SSH_ASKPASS}" || die
else
echo -en "#!/bin/bash\nreturn\n" \
- > "${SSH_ASKPASS}"
+ > "${SSH_ASKPASS}" || die
fi
- chmod a+x "${SSH_ASKPASS}"
+ chmod a+x "${SSH_ASKPASS}" || die
fi
if [[ ${mode} == "update" ]] ; then
@@ -446,20 +441,6 @@ EOF
einfo "Running ${cmdcheckout[*]}"
"${cmdcheckout[@]}" || die "cvs checkout command failed"
fi
-
- # Restore environment variable values
- export CVS_RSH="${CVS_ECLASS_ORIG_CVS_RSH}"
- if [[ ${CVS_ECLASS_ORIG_SSH_ASKPASS+set} == "set" ]] ; then
- export SSH_ASKPASS="${CVS_ECLASS_ORIG_SSH_ASKPASS}"
- else
- unset SSH_ASKPASS
- fi
-
- if [[ ${CVS_ECLASS_ORIG_DISPLAY+set} == "set" ]] ; then
- export DISPLAY="${CVS_ECLASS_ORIG_DISPLAY}"
- else
- unset DISPLAY
- fi
fi
}
@@ -508,12 +489,14 @@ cvs_src_unpack() {
debug-print "Copying module ${ECVS_MODULE} local_mode=${ECVS_LOCAL} from ${ECVS_TOP_DIR} ..."
# This is probably redundant, but best to make sure.
- mkdir -p "${WORKDIR}/${ECVS_LOCALNAME}"
+ mkdir -p "${WORKDIR}/${ECVS_LOCALNAME}" || die
if [[ -n ${ECVS_LOCAL} ]] ; then
- cp -f "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}"/* "${WORKDIR}/${ECVS_LOCALNAME}"
+ cp -f "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}"/* \
+ "${WORKDIR}/${ECVS_LOCALNAME}" || die
else
- cp -Rf "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}" "${WORKDIR}/${ECVS_LOCALNAME}/.."
+ cp -Rf "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}" \
+ "${WORKDIR}/${ECVS_LOCALNAME}/.." || die
fi
# Not exactly perfect, but should be pretty close #333773
@@ -522,6 +505,7 @@ cvs_src_unpack() {
LC_ALL=C sort | \
sha1sum | \
awk '{print $1}'
+ assert
)
# If the directory is empty, remove it; empty directories cannot
@@ -530,7 +514,7 @@ cvs_src_unpack() {
# the empty directory in workdir though.
if [[ $(ls -A "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}") == "CVS" ]] ; then
debug-print "${FUNCNAME}: removing empty CVS directory ${ECVS_LOCALNAME}"
- rm -rf "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}"
+ rm -rf "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}" || die
fi
einfo "CVS module ${ECVS_MODULE} is now in ${WORKDIR}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-18 17:54 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-10-18 17:54 UTC (permalink / raw
To: gentoo-commits
commit: 2a3ae6dbbbf9f6ffbefa0c140b41fdcd1863fa2f
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 14 10:45:24 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 18 17:54:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a3ae6db
cvs.eclass: New eclass variable ECVS_SSH_EXTRA_OPTS
This allows passing additional options to ssh.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/cvs.eclass | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/eclass/cvs.eclass b/eclass/cvs.eclass
index 1289ee54cc3b..007240e6ba25 100644
--- a/eclass/cvs.eclass
+++ b/eclass/cvs.eclass
@@ -174,6 +174,12 @@ _CVS_ECLASS=1
# WARNING: If a SSH host key is not specified using this variable, the
# remote host key will not be verified.
+# @ECLASS_VARIABLE: ECVS_SSH_EXTRA_OPTS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If SSH is used for "ext" authentication, this array variable can be
+# used to pass additional options to the SSH command.
+
# @ECLASS_VARIABLE: ECVS_CLEAN
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -376,6 +382,11 @@ cvs_fetch() {
echo "${ECVS_SSH_HOST_KEY}" > "${known_hosts_file}" || die
fi
+ local i quoted_opts=()
+ for i in "${!ECVS_SSH_EXTRA_OPTS[@]}"; do
+ printf -v "quoted_opts[i]" "%q" "${ECVS_SSH_EXTRA_OPTS[i]}"
+ done
+
# Create a wrapper script to pass additional options to SSH
# Disable X11 forwarding which causes .xauth access violations
@@ -387,6 +398,7 @@ cvs_fetch() {
-oUserKnownHostsFile="${known_hosts_file}" \\
-oForwardX11=no \\
-oClearAllForwardings=yes \\
+ ${quoted_opts[*]} \\
"\$@"
EOF
chmod a+x "${CVS_RSH}" || die
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-18 17:54 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-10-18 17:54 UTC (permalink / raw
To: gentoo-commits
commit: d78b4c787bd09872107c367299bd69b5eb2ea28e
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 14 10:33:32 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 18 17:54:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d78b4c78
cvs.eclass: Rewrite the ssh wrapper script in bash
OpenSSH version 8.4 and later supports the SSH_ASKPASS_REQUIRE
environment variable which allows to force the use of the SSH_ASKPASS
program. This makes detaching the process from its controlling terminal
(TIOCNOTTY ioctl) and setting the DISPLAY variable unnecessary.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/cvs.eclass | 62 +++++++++++++++----------------------------------------
1 file changed, 17 insertions(+), 45 deletions(-)
diff --git a/eclass/cvs.eclass b/eclass/cvs.eclass
index ec0ad2ec8f71..1289ee54cc3b 100644
--- a/eclass/cvs.eclass
+++ b/eclass/cvs.eclass
@@ -192,7 +192,7 @@ if [[ ${ECVS_AUTH} == "ext" ]] ; then
if [[ ${CVS_RSH} != "ssh" ]] ; then
die "Support for ext auth with clients other than ssh has not been implemented yet"
fi
- BDEPEND+=" net-misc/openssh"
+ BDEPEND+=" >=net-misc/openssh-8.4"
fi
# @FUNCTION: cvs_fetch
@@ -362,40 +362,9 @@ cvs_fetch() {
# Hack to support SSH password authentication
if [[ ${CVS_RSH} == "ssh" ]] ; then
- # Force SSH to use SSH_ASKPASS by creating python wrapper
-
- local -x CVS_RSH="${T}/cvs_sshwrapper"
- cat > "${CVS_RSH}" <<EOF || die
-#!${EPREFIX}/usr/bin/python
-import fcntl
-import os
-import sys
-try:
- fd = os.open('/dev/tty', 2)
- TIOCNOTTY=0x5422
- try:
- fcntl.ioctl(fd, TIOCNOTTY)
- except:
- pass
- os.close(fd)
-except:
- pass
-newarglist = sys.argv[:]
-EOF
-
- # disable X11 forwarding which causes .xauth access violations
- # - 20041205 Armando Di Cianno <fafhrd@gentoo.org>
- echo "newarglist.insert(1, '-oClearAllForwardings=yes')" \
- >> "${CVS_RSH}" || die
- echo "newarglist.insert(1, '-oForwardX11=no')" \
- >> "${CVS_RSH}" || die
-
# Handle SSH host key checking
local known_hosts_file="${T}/cvs_ssh_known_hosts"
- echo "newarglist.insert(1, '-oUserKnownHostsFile=${known_hosts_file}')" \
- >> "${CVS_RSH}" || die
-
local strict_host_key_checking
if [[ -z ${ECVS_SSH_HOST_KEY} ]] ; then
ewarn "Warning: The SSH host key of the remote server will not be verified."
@@ -407,28 +376,31 @@ EOF
echo "${ECVS_SSH_HOST_KEY}" > "${known_hosts_file}" || die
fi
- echo -n "newarglist.insert(1, '-oStrictHostKeyChecking=" \
- >> "${CVS_RSH}" || die
- echo "${strict_host_key_checking}')" \
- >> "${CVS_RSH}" || die
- echo "os.execv('${EPREFIX}/usr/bin/ssh', newarglist)" \
- >> "${CVS_RSH}" || die
+ # Create a wrapper script to pass additional options to SSH
+ # Disable X11 forwarding which causes .xauth access violations
+ local -x CVS_RSH="${T}/cvs_sshwrapper"
+ cat > "${CVS_RSH}" <<-EOF || die
+ #!${BROOT}/bin/bash
+ exec "${BROOT}/usr/bin/ssh" \\
+ -oStrictHostKeyChecking=${strict_host_key_checking} \\
+ -oUserKnownHostsFile="${known_hosts_file}" \\
+ -oForwardX11=no \\
+ -oClearAllForwardings=yes \\
+ "\$@"
+ EOF
chmod a+x "${CVS_RSH}" || die
- # Make sure DISPLAY is set (SSH will not use SSH_ASKPASS
- # if DISPLAY is not set)
-
- local -x DISPLAY="${DISPLAY:-DISPLAY}"
-
# Create a dummy executable to echo ${ECVS_PASS}
local -x SSH_ASKPASS="${T}/cvs_sshechopass"
+ local -x SSH_ASKPASS_REQUIRE="force"
+
if [[ ${ECVS_AUTH} != "no" ]] ; then
- echo -en "#!/bin/bash\necho \"${ECVS_PASS}\"\n" \
+ echo -en "#!${BROOT}/bin/bash\necho \"${ECVS_PASS}\"\n" \
> "${SSH_ASKPASS}" || die
else
- echo -en "#!/bin/bash\nreturn\n" \
+ echo -en "#!${BROOT}/bin/bash\nreturn\n" \
> "${SSH_ASKPASS}" || die
fi
chmod a+x "${SSH_ASKPASS}" || die
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-16 16:13 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-10-16 16:13 UTC (permalink / raw
To: gentoo-commits
commit: d15fed7177044717ef148dd54221412d5189442d
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 16 15:55:49 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 16 16:13:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d15fed71
ecm-common.eclass: Add missing dev-qt/qt{core,base}:[56] BDEPEND
Closes: https://bugs.gentoo.org/941617
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm-common.eclass | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/eclass/ecm-common.eclass b/eclass/ecm-common.eclass
index ba6840d75a6d..7f5d3d1e9915 100644
--- a/eclass/ecm-common.eclass
+++ b/eclass/ecm-common.eclass
@@ -165,8 +165,16 @@ if [[ ${ECM_KCM_TARGETS} ]]; then
KF6_BDEPEND+=( "kde-frameworks/kcmutils:6" )
fi
+KF6_BDEPEND+=( "dev-qt/qtbase:6" )
+
if $(ver_test ${KFMIN} -lt 5.240) && [[ ${KF6_BDEPEND} && ${KF5_BDEPEND} ]]; then
- BDEPEND+=" || ( ( ${KF6_BDEPEND[*]} ) ( ${KF5_BDEPEND[*]} ) )"
+ BDEPEND+=" || (
+ ( ${KF6_BDEPEND[*]} )
+ (
+ ${KF5_BDEPEND[*]}
+ dev-qt/qtcore:5
+ )
+ )"
else
BDEPEND+=" ${KF6_BDEPEND[*]}"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-16 4:54 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-10-16 4:54 UTC (permalink / raw
To: gentoo-commits
commit: 0dbf54a0490c0270e4e743e8af8f6b51603bad3c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 12 12:08:54 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 16 04:54:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0dbf54a0
verify-sig.eclass: Refactor code to use extra_args for all types
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/verify-sig.eclass | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass
index b74ed78290aa..d601c7838a00 100644
--- a/eclass/verify-sig.eclass
+++ b/eclass/verify-sig.eclass
@@ -132,7 +132,6 @@ verify-sig_verify_detached() {
fi
local extra_args=()
- [[ ${VERIFY_SIG_OPENPGP_KEY_REFRESH} == yes ]] || extra_args+=( -R )
if [[ -n ${VERIFY_SIG_OPENPGP_KEYSERVER+1} ]]; then
[[ ${VERIFY_SIG_METHOD} == openpgp ]] ||
die "${FUNCNAME}: VERIFY_SIG_OPENPGP_KEYSERVER is not supported"
@@ -152,10 +151,15 @@ verify-sig_verify_detached() {
einfo "Verifying ${filename} ..."
case ${VERIFY_SIG_METHOD} in
minisig)
- minisign -V -P "$(<"${key}")" -x "${sig}" -m "${file}" ||
+ minisign "${extra_args[@]}" \
+ -V -P "$(<"${key}")" -x "${sig}" -m "${file}" ||
die "minisig signature verification failed"
;;
openpgp)
+ if [[ ${VERIFY_SIG_OPENPGP_KEY_REFRESH} != yes ]]; then
+ extra_args+=( -R )
+ fi
+
# gpg can't handle very long TMPDIR
# https://bugs.gentoo.org/854492
local -x TMPDIR=/tmp
@@ -165,7 +169,8 @@ verify-sig_verify_detached() {
die "PGP signature verification failed"
;;
signify)
- signify -V -p "${key}" -m "${file}" -x "${sig}" ||
+ signify "${extra_args[@]}" \
+ -V -p "${key}" -m "${file}" -x "${sig}" ||
die "Signify signature verification failed"
;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-16 4:54 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-10-16 4:54 UTC (permalink / raw
To: gentoo-commits
commit: d49e67fc4060ef6fe96ffcf5928534d00886d539
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 12 12:18:42 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 16 04:54:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d49e67fc
verify-sig.eclass: Error out on invalid method+function combos
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/verify-sig.eclass | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass
index d601c7838a00..9886e3352db7 100644
--- a/eclass/verify-sig.eclass
+++ b/eclass/verify-sig.eclass
@@ -173,6 +173,9 @@ verify-sig_verify_detached() {
-V -p "${key}" -m "${file}" -x "${sig}" ||
die "Signify signature verification failed"
;;
+ *)
+ die "${FUNCNAME} not supported with ${VERIFY_SIG_METHOD}"
+ ;;
esac
}
@@ -234,6 +237,9 @@ verify-sig_verify_message() {
signify -V -e -p "${key}" -m "${output_file}" -x "${file}" ||
die "Signify signature verification failed"
;;
+ *)
+ die "${FUNCNAME} not supported with ${VERIFY_SIG_METHOD}"
+ ;;
esac
}
@@ -367,6 +373,9 @@ verify-sig_verify_signed_checksums() {
-x "${checksum_file}" "${files[@]}" ||
die "Signify signature verification failed"
;;
+ *)
+ die "${FUNCNAME} not supported with ${VERIFY_SIG_METHOD}"
+ ;;
esac
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-16 4:54 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-10-16 4:54 UTC (permalink / raw
To: gentoo-commits
commit: 115181ac99d8d65fba3d4cb33270e02f609b8fc4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 12 12:25:37 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 16 04:54:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=115181ac
verify-sig.eclass: Add support for verifying sigstore signatures
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/verify-sig.eclass | 54 +++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 49 insertions(+), 5 deletions(-)
diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass
index 9886e3352db7..0e6b9b43e557 100644
--- a/eclass/verify-sig.eclass
+++ b/eclass/verify-sig.eclass
@@ -57,6 +57,7 @@ IUSE="verify-sig"
#
# - minisig -- verify signatures with (base64) Ed25519 public key using app-crypt/minisign
# - openpgp -- verify PGP signatures using app-crypt/gnupg (the default)
+# - sigstore -- verify signatures using dev-python/sigstore
# - signify -- verify signatures with Ed25519 public key using app-crypt/signify
: "${VERIFY_SIG_METHOD:=openpgp}"
@@ -75,6 +76,14 @@ case ${VERIFY_SIG_METHOD} in
signify)
BDEPEND="verify-sig? ( app-crypt/signify )"
;;
+ sigstore)
+ BDEPEND="
+ verify-sig? (
+ dev-python/sigstore
+ sec-keys/sigstore-trusted-root
+ )
+ "
+ ;;
*)
die "${ECLASS}: unknown method '${VERIFY_SIG_METHOD}'"
;;
@@ -89,8 +98,19 @@ esac
#
# The value of BROOT will be prepended to this path automatically.
#
-# NB: this variable is also used for non-OpenPGP signatures. The name
-# contains "OPENPGP" for historical reasons.
+# This variable is also used for non-OpenPGP signatures. The name
+# contains "OPENPGP" for historical reasons. It is not used
+# for sigstore, since it uses a single trusted root.
+
+# @ECLASS_VARIABLE: VERIFY_SIG_CERT_IDENTITY
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# --cert-identity passed to sigstore invocation.
+
+# @ECLASS_VARIABLE: VERIFY_SIG_CERT_OIDC_ISSUER
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# --cert-oidc-issuer passed to sigstore invocation.
# @ECLASS_VARIABLE: VERIFY_SIG_OPENPGP_KEYSERVER
# @DEFAULT_UNSET
@@ -108,7 +128,7 @@ esac
# in make.conf to enable. Note that this requires working Internet
# connection.
#
-# Supported for OpenPGP only.
+# Supported for OpenPGP and sigstore.
: "${VERIFY_SIG_OPENPGP_KEY_REFRESH:=no}"
# @FUNCTION: verify-sig_verify_detached
@@ -123,7 +143,17 @@ verify-sig_verify_detached() {
local sig=${2}
local key=${3}
- if [[ -z ${key} ]]; then
+ if [[ ${VERIFY_SIG_METHOD} == sigstore ]]; then
+ if [[ -n ${key:-${VERIFY_SIG_OPENPGP_KEY_PATH}} ]]; then
+ die "${FUNCNAME}: key unexpectedly specified for sigstore"
+ fi
+ if [[ -z ${VERIFY_SIG_CERT_IDENTITY} ]]; then
+ die "${FUNCNAME}: VERIFY_SIG_CERT_IDENTITY must be specified for sigstore"
+ fi
+ if [[ -z ${VERIFY_SIG_CERT_OIDC_ISSUER} ]]; then
+ die "${FUNCNAME}: VERIFY_SIG_CERT_OIDC_ISSUER must be specified for sigstore"
+ fi
+ elif [[ -z ${key} ]]; then
if [[ -z ${VERIFY_SIG_OPENPGP_KEY_PATH} ]]; then
die "${FUNCNAME}: no key passed and VERIFY_SIG_OPENPGP_KEY_PATH unset"
else
@@ -173,6 +203,20 @@ verify-sig_verify_detached() {
-V -p "${key}" -m "${file}" -x "${sig}" ||
die "Signify signature verification failed"
;;
+ sigstore)
+ if [[ ${VERIFY_SIG_OPENPGP_KEY_REFRESH} != yes ]]; then
+ extra_args+=( --offline )
+ fi
+
+ cp -r "${BROOT}"/usr/share/sigstore-gentoo/{.cache,.local} \
+ "${HOME}"/ || die
+ sigstore verify identity "${extra_args[@]}" \
+ --bundle "${sig}" \
+ --cert-identity "${VERIFY_SIG_CERT_IDENTITY}" \
+ --cert-oidc-issuer "${VERIFY_SIG_CERT_OIDC_ISSUER}" \
+ "${file}" ||
+ die "Sigstore signature verification failed"
+ ;;
*)
die "${FUNCNAME} not supported with ${VERIFY_SIG_METHOD}"
;;
@@ -394,7 +438,7 @@ verify-sig_src_unpack() {
# find all distfiles and signatures, and combine them
for f in ${A}; do
found=
- for suffix in .asc .sig .minisig; do
+ for suffix in .asc .sig .minisig .sigstore; do
if [[ ${f} == *${suffix} ]]; then
signatures+=( "${f}" )
found=sig
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-15 13:13 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-10-15 13:13 UTC (permalink / raw
To: gentoo-commits
commit: ab27bc68b10c84271c02ce50d66b1eaf994c24d4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 15 12:58:01 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 15 12:58:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab27bc68
llvm.org.eclass: Add 20.0.0_pre20241015 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 4efd39c5e2e9..065b02f3b269 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
+ 20.0.0_pre20241015)
+ EGIT_COMMIT=9aef0fd52a0b2bf31cf3bae8a0693d6df8db6e04
+ ;;
20.0.0_pre20241009)
EGIT_COMMIT=fb2960aad93f6c02e0ea8de0568c0aef8896eee8
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-15 7:17 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-10-15 7:17 UTC (permalink / raw
To: gentoo-commits
commit: 41bb10ce3c254e8d234f688e8ce364a8bc733bb8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 15 07:03:05 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Oct 15 07:17:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41bb10ce
llvm.org.eclass: Remove code for old snapshots
Signed-off-by: Michał Górny <mgorny <AT> 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 852dd55db43f..4efd39c5e2e9 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,15 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
20.0.0_pre20241009)
EGIT_COMMIT=fb2960aad93f6c02e0ea8de0568c0aef8896eee8
;;
- 20.0.0_pre20241004)
- EGIT_COMMIT=b837c9e289dab93c7f8a06876e3f70b6864f40ab
- ;;
- 20.0.0_pre20240924)
- EGIT_COMMIT=cde7b30268a85a3e7900a31534a97e7eb4de9236
- ;;
- 20.0.0_pre20240917)
- EGIT_COMMIT=41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-10 14:47 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-10-10 14:47 UTC (permalink / raw
To: gentoo-commits
commit: dec7ddaabb47c81ecddc603fb2819c4c4f5066ea
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 18:34:43 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Thu Oct 10 14:46:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dec7ddaa
kernel-install.eclass: fix objcopy overwriting uki
From the manual:
If you do not specify outfile, objcopy creates a temporary file and
destructively renames the result with the name of infile.
We don't want that. Unfortunately we cannot use /dev/null as dump, objcopy
complains, so we dump it in T instead.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index c5f218a46b91..29abb9b419e6 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -650,7 +650,10 @@ kernel-install_extract_from_uki() {
local uki=${2}
local out=${3}
- $(tc-getOBJCOPY) "${uki}" --dump-section ".${extract_type}=${out}" ||
+ # objcopy overwrites input if there is no output, dump the output in T.
+ # We unfortunately cannot use /dev/null here
+ $(tc-getOBJCOPY) "${uki}" "${T}/dump.efi" \
+ --dump-section ".${extract_type}=${out}" ||
die "Failed to extract ${extract_type}"
chmod 644 "${out}" || die
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-09 11:45 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-10-09 11:45 UTC (permalink / raw
To: gentoo-commits
commit: 22c975e57f50b9302bf28aaa486942adb2a20ad1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 9 11:27:59 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 9 11:45:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22c975e5
llvm.org.eclass: Add 20.0.0_pre20241009 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 f51f01ff48b4..852dd55db43f 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
+ 20.0.0_pre20241009)
+ EGIT_COMMIT=fb2960aad93f6c02e0ea8de0568c0aef8896eee8
+ ;;
20.0.0_pre20241004)
EGIT_COMMIT=b837c9e289dab93c7f8a06876e3f70b6864f40ab
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 7c49ad54814c04d0c96195c6ff4ad467d4ea2d4f
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:50 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:50 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c49ad54
xdg.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/xdg.eclass | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/eclass/xdg.eclass b/eclass/xdg.eclass
index 2e16a438d840..042db2b8682d 100644
--- a/eclass/xdg.eclass
+++ b/eclass/xdg.eclass
@@ -6,7 +6,7 @@
# freedesktop-bugs@gentoo.org
# @AUTHOR:
# Original author: Gilles Dartiguelongue <eva@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: xdg-utils
# @BLURB: Provides phases for XDG compliant packages.
# @DESCRIPTION:
@@ -17,10 +17,6 @@ if [[ -z ${_XDG_ECLASS} ]]; then
_XDG_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -34,7 +30,7 @@ inherit xdg-utils
"
case ${EAPI} in
- 6|7)
+ 7)
# src_prepare is only exported in EAPI < 8.
# @FUNCTION: xdg_src_prepare
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: bc7675865f8f89016e64865db0a40083de2d6784
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:49 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:49 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc767586
xdg-utils.eclass: drop support for EAPI 5 and 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/xdg-utils.eclass | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/eclass/xdg-utils.eclass b/eclass/xdg-utils.eclass
index 84f88eee18fc..de383d88cf95 100644
--- a/eclass/xdg-utils.eclass
+++ b/eclass/xdg-utils.eclass
@@ -7,7 +7,7 @@
# freedesktop-bugs@gentoo.org
# @AUTHOR:
# Original author: Gilles Dartiguelongue <eva@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Auxiliary functions commonly used by XDG compliant packages.
# @DESCRIPTION:
# This eclass provides a set of auxiliary functions needed by most XDG
@@ -18,10 +18,6 @@
# * XDG mime information database management
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -72,7 +68,7 @@ xdg_desktop_database_update() {
fi
ebegin "Updating .desktop files database"
- update-desktop-database -q "${EROOT%/}${DESKTOP_DATABASE_DIR}"
+ update-desktop-database -q "${EROOT}${DESKTOP_DATABASE_DIR}"
eend $?
}
@@ -93,7 +89,7 @@ xdg_icon_cache_update() {
ebegin "Updating icons cache"
local dir retval=0
local fails=()
- for dir in "${EROOT%/}"/usr/share/icons/*; do
+ for dir in "${EROOT}"/usr/share/icons/*; do
if [[ -f ${dir}/index.theme ]]; then
if ! gtk-update-icon-cache -qf "${dir}"; then
debug-print "Updating cache failed on ${dir}"
@@ -134,6 +130,6 @@ xdg_mimeinfo_database_update() {
local -x PKGSYSTEM_ENABLE_FSYNC=0
ebegin "Updating shared mime info database"
- update-mime-database "${EROOT%/}${MIMEINFO_DATABASE_DIR}"
+ update-mime-database "${EROOT}${MIMEINFO_DATABASE_DIR}"
eend $?
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: f31fea7ce7cbb25115c2371d4de35576d415665f
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:45 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f31fea7c
vim-spell.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/vim-spell.eclass | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/eclass/vim-spell.eclass b/eclass/vim-spell.eclass
index 57bcb0dc8021..f9b496e5ffb0 100644
--- a/eclass/vim-spell.eclass
+++ b/eclass/vim-spell.eclass
@@ -6,7 +6,7 @@
# Vim Maintainers <vim@gentoo.org>
# @AUTHOR:
# Ciaran McCreesh <ciaranm@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Eclass for managing Vim spell files.
# @DESCRIPTION:
# How to make a vim spell file package using prebuilt spell lists
@@ -66,10 +66,6 @@ if [[ -z ${_VIM_SPELL_ECLASS} ]] ; then
_VIM_SPELL_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: ec9bd064a3b2e495970f49d751d57ca62fa77b84
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:51 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec9bd064
eclass: standardize inherit guard
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/app-alternatives.eclass | 4 ++--
eclass/aspell-dict-r1.eclass | 4 ++--
eclass/bash-completion-r1.eclass | 2 +-
eclass/dotnet.eclass | 4 ++--
eclass/dune.eclass | 2 +-
eclass/emboss-r3.eclass | 4 ++--
eclass/gkrellm-plugin.eclass | 4 ++--
eclass/kernel-build.eclass | 2 +-
eclass/kernel-install.eclass | 2 +-
eclass/linux-mod-r1.eclass | 2 +-
eclass/llvm-r1.eclass | 2 +-
eclass/llvm-utils.eclass | 2 +-
eclass/llvm.eclass | 2 +-
eclass/mozcoreconf-v6.eclass | 2 +-
eclass/mozextension.eclass | 4 ++--
eclass/mozlinguas-v2.eclass | 4 ++--
eclass/postgres-multi.eclass | 2 +-
eclass/postgres.eclass | 2 +-
eclass/pypi.eclass | 4 ++--
eclass/python-any-r1.eclass | 2 +-
eclass/python-single-r1.eclass | 2 +-
eclass/rocm.eclass | 2 +-
eclass/ruby-ng-gnome2.eclass | 2 +-
eclass/ruby-single.eclass | 4 ++--
eclass/selinux-policy-2.eclass | 2 +-
eclass/shell-completion.eclass | 4 ++--
eclass/vcs-snapshot.eclass | 2 +-
eclass/waf-utils.eclass | 4 ++--
28 files changed, 39 insertions(+), 39 deletions(-)
diff --git a/eclass/app-alternatives.eclass b/eclass/app-alternatives.eclass
index c6924bfc6d2a..f670b7d843f9 100644
--- a/eclass/app-alternatives.eclass
+++ b/eclass/app-alternatives.eclass
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: app-alternatives.eclass
@@ -21,7 +21,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} unsupported."
esac
-if [[ ! ${_APP_ALTERNATIVES_ECLASS} ]]; then
+if [[ -z ${_APP_ALTERNATIVES_ECLASS} ]]; then
_APP_ALTERNATIVES_ECLASS=1
# @ECLASS_VARIABLE: ALTERNATIVES
diff --git a/eclass/aspell-dict-r1.eclass b/eclass/aspell-dict-r1.eclass
index 1a3bd0b21b24..6d10c9fb302e 100644
--- a/eclass/aspell-dict-r1.eclass
+++ b/eclass/aspell-dict-r1.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: aspell-dict-r1.eclass
@@ -41,7 +41,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_ASPELL_DICT_R1_ECLASS} ]]; then
+if [[ -z ${_ASPELL_DICT_R1_ECLASS} ]]; then
_ASPELL_DICT_R1_ECLASS=1
# Most of those aspell packages have an idiosyncratic versioning scheme,
diff --git a/eclass/bash-completion-r1.eclass b/eclass/bash-completion-r1.eclass
index fd16fca66538..643c458dd8a0 100644
--- a/eclass/bash-completion-r1.eclass
+++ b/eclass/bash-completion-r1.eclass
@@ -23,7 +23,7 @@
# }
# @CODE
-if [[ ! ${_BASH_COMPLETION_R1_ECLASS} ]]; then
+if [[ -z ${_BASH_COMPLETION_R1_ECLASS} ]]; then
_BASH_COMPLETION_R1_ECLASS=1
inherit toolchain-funcs
diff --git a/eclass/dotnet.eclass b/eclass/dotnet.eclass
index 1fb288dd1094..aeaee2f58e94 100644
--- a/eclass/dotnet.eclass
+++ b/eclass/dotnet.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.eclass
@@ -17,7 +17,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_DOTNET_ECLASS} ]]; then
+if [[ -z ${_DOTNET_ECLASS} ]]; then
_DOTNET_ECLASS=1
BDEPEND="dev-lang/mono"
diff --git a/eclass/dune.eclass b/eclass/dune.eclass
index ba54e87ceaf9..faf40e47eb1e 100644
--- a/eclass/dune.eclass
+++ b/eclass/dune.eclass
@@ -19,7 +19,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_DUNE_ECLASS} ]]; then
+if [[ -z ${_DUNE_ECLASS} ]]; then
_DUNE_ECLASS=1
# @ECLASS_VARIABLE: DUNE_PKG_NAME
diff --git a/eclass/emboss-r3.eclass b/eclass/emboss-r3.eclass
index 84e258e02058..5db69dd86332 100644
--- a/eclass/emboss-r3.eclass
+++ b/eclass/emboss-r3.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: emboss-r3.eclass
@@ -38,7 +38,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_EMBOSS_R3_ECLASS} ]]; then
+if [[ -z ${_EMBOSS_R3_ECLASS} ]]; then
_EMBOSS_R3_ECLASS=1
inherit flag-o-matic
diff --git a/eclass/gkrellm-plugin.eclass b/eclass/gkrellm-plugin.eclass
index 1424fdfe53f9..03b72dffa6e9 100644
--- a/eclass/gkrellm-plugin.eclass
+++ b/eclass/gkrellm-plugin.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: gkrellm-plugin.eclass
@@ -36,7 +36,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_GKRELLM_PLUGIN_ECLASS} ]]; then
+if [[ -z ${_GKRELLM_PLUGIN_ECLASS} ]]; then
_GKRELLM_PLUGIN_ECLASS=1
inherit multilib
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index ce87fd72acdd..dbc41824c4b6 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -33,7 +33,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_KERNEL_BUILD_ECLASS} ]]; then
+if [[ -z ${_KERNEL_BUILD_ECLASS} ]]; then
_KERNEL_BUILD_ECLASS=1
PYTHON_COMPAT=( python3_{10..13} )
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index dc337c7862fd..4109810d4d14 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -49,7 +49,7 @@
# packages to depend on for building the generic UKI and their licenses.
# Used in kernel-build.eclass.
-if [[ ! ${_KERNEL_INSTALL_ECLASS} ]]; then
+if [[ -z ${_KERNEL_INSTALL_ECLASS} ]]; then
_KERNEL_INSTALL_ECLASS=1
case ${EAPI} in
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 120fb019d74a..241cfc7886e9 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -106,7 +106,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_LINUX_MOD_R1_ECLASS} ]]; then
+if [[ -z ${_LINUX_MOD_R1_ECLASS} ]]; then
_LINUX_MOD_R1_ECLASS=1
inherit dist-kernel-utils edo linux-info multiprocessing toolchain-funcs
diff --git a/eclass/llvm-r1.eclass b/eclass/llvm-r1.eclass
index 0a53b9a3cb5e..399902181b65 100644
--- a/eclass/llvm-r1.eclass
+++ b/eclass/llvm-r1.eclass
@@ -42,7 +42,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_LLVM_R1_ECLASS} ]]; then
+if [[ -z ${_LLVM_R1_ECLASS} ]]; then
_LLVM_R1_ECLASS=1
inherit llvm-utils
diff --git a/eclass/llvm-utils.eclass b/eclass/llvm-utils.eclass
index 532e609679b8..d38ba3a988f1 100644
--- a/eclass/llvm-utils.eclass
+++ b/eclass/llvm-utils.eclass
@@ -18,7 +18,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_LLVM_UTILS_ECLASS} ]]; then
+if [[ -z ${_LLVM_UTILS_ECLASS} ]]; then
_LLVM_UTILS_ECLASS=1
# @FUNCTION: llvm_tuple_to_target
diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass
index bb5ff5d78290..39ca1123eabb 100644
--- a/eclass/llvm.eclass
+++ b/eclass/llvm.eclass
@@ -63,7 +63,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_LLVM_ECLASS} ]]; then
+if [[ -z ${_LLVM_ECLASS} ]]; then
_LLVM_ECLASS=1
inherit llvm-utils
diff --git a/eclass/mozcoreconf-v6.eclass b/eclass/mozcoreconf-v6.eclass
index e7cf85fca24a..b814663a8f66 100644
--- a/eclass/mozcoreconf-v6.eclass
+++ b/eclass/mozcoreconf-v6.eclass
@@ -20,7 +20,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_MOZCORECONF_V6_ECLASS} ]]; then
+if [[ -z ${_MOZCORECONF_V6_ECLASS} ]]; then
_MOZCORECONF_V6_ECLASS=1
inherit toolchain-funcs flag-o-matic python-any-r1
diff --git a/eclass/mozextension.eclass b/eclass/mozextension.eclass
index 52fe26280e6e..f888491d9919 100644
--- a/eclass/mozextension.eclass
+++ b/eclass/mozextension.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: mozextension.eclass
@@ -12,7 +12,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_MOZEXTENSION_ECLASS} ]]; then
+if [[ -z ${_MOZEXTENSION_ECLASS} ]]; then
_MOZEXTENSION_ECLASS=1
# @ECLASS_VARIABLE: MOZEXTENSION_TARGET
diff --git a/eclass/mozlinguas-v2.eclass b/eclass/mozlinguas-v2.eclass
index 81e00275a8f6..c8e4c2393945 100644
--- a/eclass/mozlinguas-v2.eclass
+++ b/eclass/mozlinguas-v2.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: mozlinguas-v2.eclass
@@ -19,7 +19,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_MOZLINGUAS_V2_ECLASS} ]]; then
+if [[ -z ${_MOZLINGUAS_V2_ECLASS} ]]; then
_MOZLINGUAS_V2_ECLASS=1
inherit mozextension
diff --git a/eclass/postgres-multi.eclass b/eclass/postgres-multi.eclass
index 92299b8cf34c..5f014389fd89 100644
--- a/eclass/postgres-multi.eclass
+++ b/eclass/postgres-multi.eclass
@@ -19,7 +19,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_POSTGRES_MULTI_ECLASS} ]]; then
+if [[ -z ${_POSTGRES_MULTI_ECLASS} ]]; then
_POSTGRES_MULTI_ECLASS=1
inherit multibuild postgres
diff --git a/eclass/postgres.eclass b/eclass/postgres.eclass
index 2c44358898e6..6ef6913c2dad 100644
--- a/eclass/postgres.eclass
+++ b/eclass/postgres.eclass
@@ -19,7 +19,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_POSTGRES_ECLASS} ]]; then
+if [[ -z ${_POSTGRES_ECLASS} ]]; then
_POSTGRES_ECLASS=1
# @ECLASS_VARIABLE: _POSTGRES_ALL_VERSIONS
diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index b80ff9c95d36..47d40449d13a 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.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: pypi.eclass
@@ -40,7 +40,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_PYPI_ECLASS} ]]; then
+if [[ -z ${_PYPI_ECLASS} ]]; then
_PYPI_ECLASS=1
# @ECLASS_VARIABLE: PYPI_NO_NORMALIZE
diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass
index c1f27cfbac0d..8796c3eddb68 100644
--- a/eclass/python-any-r1.eclass
+++ b/eclass/python-any-r1.eclass
@@ -43,7 +43,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_PYTHON_ANY_R1_ECLASS} ]]; then
+if [[ -z ${_PYTHON_ANY_R1_ECLASS} ]]; then
_PYTHON_ANY_R1_ECLASS=1
if [[ ${_PYTHON_R1_ECLASS} ]]; then
diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass
index 481b6cf91ba0..d3cc4024de36 100644
--- a/eclass/python-single-r1.eclass
+++ b/eclass/python-single-r1.eclass
@@ -42,7 +42,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_PYTHON_SINGLE_R1_ECLASS} ]]; then
+if [[ -z ${_PYTHON_SINGLE_R1_ECLASS} ]]; then
_PYTHON_SINGLE_R1_ECLASS=1
if [[ ${_PYTHON_R1_ECLASS} ]]; then
diff --git a/eclass/rocm.eclass b/eclass/rocm.eclass
index cf501d5a8861..acf3a5310a06 100644
--- a/eclass/rocm.eclass
+++ b/eclass/rocm.eclass
@@ -89,7 +89,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_ROCM_ECLASS} ]]; then
+if [[ -z ${_ROCM_ECLASS} ]]; then
_ROCM_ECLASS=1
inherit flag-o-matic
diff --git a/eclass/ruby-ng-gnome2.eclass b/eclass/ruby-ng-gnome2.eclass
index c38c5f15904d..ed4fdd91a49f 100644
--- a/eclass/ruby-ng-gnome2.eclass
+++ b/eclass/ruby-ng-gnome2.eclass
@@ -18,7 +18,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_RUBY_NG_GNOME2_ECLASS} ]]; then
+if [[ -z ${_RUBY_NG_GNOME2_ECLASS} ]]; then
_RUBY_NG_GNOME2_ECLASS=1
RUBY_FAKEGEM_NAME="${RUBY_FAKEGEM_NAME:-${PN#ruby-}}"
diff --git a/eclass/ruby-single.eclass b/eclass/ruby-single.eclass
index effdbd3e96a0..10d15c6d19f6 100644
--- a/eclass/ruby-single.eclass
+++ b/eclass/ruby-single.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: ruby-single.eclass
@@ -28,7 +28,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_RUBY_SINGLE_ECLASS} ]]; then
+if [[ -z ${_RUBY_SINGLE_ECLASS} ]]; then
_RUBY_SINGLE_ECLASS=1
inherit ruby-utils
diff --git a/eclass/selinux-policy-2.eclass b/eclass/selinux-policy-2.eclass
index e7d6cd9a9e5f..e8b7ef863ad4 100644
--- a/eclass/selinux-policy-2.eclass
+++ b/eclass/selinux-policy-2.eclass
@@ -23,7 +23,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_SELINUX_POLICY_2_ECLASS} ]]; then
+if [[ -z ${_SELINUX_POLICY_2_ECLASS} ]]; then
_SELINUX_POLICY_2_ECLASS=1
# @ECLASS_VARIABLE: MODS
diff --git a/eclass/shell-completion.eclass b/eclass/shell-completion.eclass
index d582028847b4..badda02f8d3f 100644
--- a/eclass/shell-completion.eclass
+++ b/eclass/shell-completion.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: shell-completion.eclass
@@ -20,7 +20,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported"
esac
-if [[ ! ${_SHELL_COMPLETION_ECLASS} ]]; then
+if [[ -z ${_SHELL_COMPLETION_ECLASS} ]]; then
_SHELL_COMPLETION_ECLASS=1
# Extend bash-completion-r1
diff --git a/eclass/vcs-snapshot.eclass b/eclass/vcs-snapshot.eclass
index 0279e89ec3ab..14b9a8dd22ff 100644
--- a/eclass/vcs-snapshot.eclass
+++ b/eclass/vcs-snapshot.eclass
@@ -47,7 +47,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_VCS_SNAPSHOT_ECLASS} ]]; then
+if [[ -z ${_VCS_SNAPSHOT_ECLASS} ]]; then
_VCS_SNAPSHOT_ECLASS=1
# @FUNCTION: vcs-snapshot_src_unpack
diff --git a/eclass/waf-utils.eclass b/eclass/waf-utils.eclass
index f8d4b0aa94b4..377b455de736 100644
--- a/eclass/waf-utils.eclass
+++ b/eclass/waf-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: waf-utils.eclass
@@ -20,7 +20,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_WAF_UTILS_ECLASS} ]]; then
+if [[ -z ${_WAF_UTILS_ECLASS} ]]; then
_WAF_UTILS_ECLASS=1
inherit multilib toolchain-funcs multiprocessing
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: bee4e0ad3c31520f2a9566536ff780197e252a57
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:46 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bee4e0ad
virtualx.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/virtualx.eclass | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass
index 07d303899582..850e5c5b0892 100644
--- a/eclass/virtualx.eclass
+++ b/eclass/virtualx.eclass
@@ -6,17 +6,13 @@
# x11@gentoo.org
# @AUTHOR:
# Original author: Martin Schlemmer <azarah@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: This eclass can be used for packages that need a working X environment to build.
if [[ -z ${_VIRTUALX_ECLASS} ]]; then
_VIRTUALX_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -36,15 +32,15 @@ esac
# @OUTPUT_VARIABLE
# @DESCRIPTION:
# Standard dependencies string that is automatically added to BDEPEND
-# (in EAPI-6: DEPEND) unless VIRTUALX_REQUIRED is set to "manual".
+# unless VIRTUALX_REQUIRED is set to "manual".
# DEPRECATED: Pre-EAPI-8 you can specify the variable BEFORE inherit
# to add more dependencies.
-[[ ${EAPI} != [67] ]] && VIRTUALX_DEPEND=""
+[[ ${EAPI} != 7 ]] && VIRTUALX_DEPEND=""
VIRTUALX_DEPEND+="
x11-base/xorg-server[xvfb]
x11-apps/xhost
"
-[[ ${EAPI} != [67] ]] && readonly VIRTUALX_DEPEND
+[[ ${EAPI} != 7 ]] && readonly VIRTUALX_DEPEND
[[ ${VIRTUALX_COMMAND} ]] && die "VIRTUALX_COMMAND has been removed and is a no-op"
@@ -62,8 +58,6 @@ case ${VIRTUALX_REQUIRED} in
;;
esac
-[[ ${EAPI} == 6 ]] && DEPEND="${BDEPEND}"
-
# @FUNCTION: virtx
# @USAGE: <command> [command arguments]
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: ca471955da9c82ea8565147bbe5cc1740248b00c
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:48 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca471955
wrapper.eclass: drop support for EAPI 5 and 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/wrapper.eclass | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/eclass/wrapper.eclass b/eclass/wrapper.eclass
index a62bb51d0fe7..1f995a60509f 100644
--- a/eclass/wrapper.eclass
+++ b/eclass/wrapper.eclass
@@ -4,17 +4,13 @@
# @ECLASS: wrapper.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: create a shell wrapper script
if [[ -z ${_WRAPPER_ECLASS} ]]; then
_WRAPPER_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -59,7 +55,7 @@ make_wrapper() {
exeopts -m 0755
exeinto "${path}"
newexe "${tmpwrapper}" "${wrapper}"
- ) || die
+ )
else
newbin "${tmpwrapper}" "${wrapper}"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: c8af7eb1285a2683460618b71e2e9a14ca6badcd
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:52 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8af7eb1
eclass: canonicalize debug-print-function calls
Closes: https://github.com/gentoo/gentoo/pull/37652
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/acct-group.eclass | 6 ++--
eclass/acct-user.eclass | 12 ++++----
eclass/ada.eclass | 10 +++----
eclass/apache-module.eclass | 12 ++++----
eclass/app-alternatives.eclass | 4 +--
eclass/bash-completion-r1.eclass | 16 +++++------
eclass/depend.apache.eclass | 28 +++++++++----------
eclass/dist-kernel-utils.eclass | 10 +++----
eclass/distutils-r1.eclass | 52 +++++++++++++++++------------------
eclass/dotnet-pkg-base.eclass | 30 ++++++++++----------
eclass/dotnet-pkg.eclass | 4 +--
eclass/dune.eclass | 10 +++----
eclass/fortran-2.eclass | 14 +++++-----
eclass/go-module.eclass | 8 +++---
eclass/greadme.eclass | 10 +++----
eclass/guile-single.eclass | 10 +++----
eclass/guile-utils.eclass | 16 +++++------
eclass/guile.eclass | 28 +++++++++----------
eclass/java-utils-2.eclass | 2 +-
eclass/kernel-build.eclass | 10 +++----
eclass/kernel-install.eclass | 26 +++++++++---------
eclass/latex-package.eclass | 14 +++++-----
eclass/linux-mod-r1.eclass | 14 +++++-----
eclass/llvm-r1.eclass | 8 +++---
eclass/llvm-utils.eclass | 8 +++---
eclass/llvm.eclass | 6 ++--
eclass/lua-single.eclass | 12 ++++----
eclass/lua-utils.eclass | 20 +++++++-------
eclass/lua.eclass | 8 +++---
eclass/mercurial.eclass | 4 +--
eclass/multibuild.eclass | 8 +++---
eclass/nuget.eclass | 2 +-
eclass/out-of-source-utils.eclass | 2 +-
eclass/postgres-multi.eclass | 2 +-
eclass/postgres.eclass | 2 +-
eclass/python-any-r1.eclass | 6 ++--
eclass/python-r1.eclass | 22 +++++++--------
eclass/python-single-r1.eclass | 10 +++----
eclass/python-utils-r1.eclass | 58 +++++++++++++++++++--------------------
eclass/readme.gentoo-r1.eclass | 4 +--
eclass/rebar-utils.eclass | 8 +++---
eclass/rebar.eclass | 12 ++++----
eclass/rebar3.eclass | 14 +++++-----
eclass/ruby-fakegem.eclass | 44 ++++++++++++++---------------
eclass/ruby-ng-gnome2.eclass | 10 +++----
eclass/ruby-ng.eclass | 54 ++++++++++++++++++------------------
eclass/scons-utils.eclass | 2 +-
eclass/secureboot.eclass | 8 +++---
eclass/shell-completion.eclass | 12 ++++----
eclass/systemd.eclass | 32 ++++++++++-----------
eclass/tmpfiles.eclass | 6 ++--
eclass/tree-sitter-grammar.eclass | 10 +++----
eclass/udev.eclass | 8 +++---
eclass/vcs-clean.eclass | 6 ++--
eclass/vcs-snapshot.eclass | 2 +-
eclass/vim-doc.eclass | 2 +-
eclass/vim-plugin.eclass | 12 ++++----
eclass/webapp.eclass | 34 +++++++++++------------
58 files changed, 402 insertions(+), 402 deletions(-)
diff --git a/eclass/acct-group.eclass b/eclass/acct-group.eclass
index 00908dbd8982..ac6dc960ca24 100644
--- a/eclass/acct-group.eclass
+++ b/eclass/acct-group.eclass
@@ -89,7 +89,7 @@ S=${WORKDIR}
# Performs sanity checks for correct eclass usage, and early-checks
# whether requested GID can be enforced.
acct-group_pkg_pretend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# verify ACCT_GROUP_ID
[[ -n ${ACCT_GROUP_ID} ]] || die "Ebuild error: ACCT_GROUP_ID must be set!"
@@ -131,7 +131,7 @@ acct-group_pkg_pretend() {
# @DESCRIPTION:
# Installs sysusers.d file for the group.
acct-group_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# check for the override, use PN in case this is an overlay and
# ACCT_GROUP_NAME is not PN and not valid in a bash variable name
@@ -156,7 +156,7 @@ acct-group_src_install() {
# @DESCRIPTION:
# Creates the group if it does not exist yet.
acct-group_pkg_preinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${EUID} -ne 0 || -n ${EPREFIX} ]]; then
einfo "Insufficient privileges to execute ${FUNCNAME[0]}"
diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index 19c5239eaede..b3bcff7e550c 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -155,7 +155,7 @@ S=${WORKDIR}
# Generate appropriate RDEPEND from ACCT_USER_GROUPS. This must be
# called if ACCT_USER_GROUPS are set.
acct-user_add_deps() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# ACCT_USER_GROUPS sanity check
if [[ $(declare -p ACCT_USER_GROUPS) != "declare -a"* ]]; then
@@ -218,7 +218,7 @@ eislocked() {
# Performs sanity checks for correct eclass usage, and early-checks
# whether requested UID can be enforced.
acct-user_pkg_pretend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# verify that acct-user_add_deps() has been called
# (it verifies ACCT_USER_GROUPS itself)
@@ -267,7 +267,7 @@ acct-user_pkg_pretend() {
# Installs a keep-file into the user's home directory to ensure it is
# owned by the package, and sysusers.d file.
acct-user_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Replace reserved characters in comment
: "${ACCT_USER_COMMENT:=${DESCRIPTION//[:,=]/;}}"
@@ -328,7 +328,7 @@ acct-user_src_install() {
# Creates the user if it does not exist yet. Sets permissions
# of the home directory in install image.
acct-user_pkg_preinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
unset _ACCT_USER_ADDED
@@ -397,7 +397,7 @@ acct-user_pkg_preinst() {
# Updates user properties if necessary. This needs to be done after
# new home directory is installed.
acct-user_pkg_postinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -n ${_ACCT_USER_ADDED} ]]; then
# We just added the user; no need to update it
@@ -481,7 +481,7 @@ acct-user_pkg_postinst() {
# @DESCRIPTION:
# Ensures that the user account is locked out when it is removed.
acct-user_pkg_prerm() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -n ${REPLACED_BY_VERSION} ]]; then
return
diff --git a/eclass/ada.eclass b/eclass/ada.eclass
index faff19a6ac85..9206bfcc42ca 100644
--- a/eclass/ada.eclass
+++ b/eclass/ada.eclass
@@ -110,7 +110,7 @@ readonly _ADA_ALL_IMPLS
# unsupported, returns 1 -- and the caller should ignore the entry.
# If it is invalid, dies with an appropriate error message.
_ada_impl_supported() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: takes exactly 1 argument (impl)."
@@ -208,7 +208,7 @@ _ada_set_impls() {
# They are described more completely in the eclass
# variable documentation.
ada_export() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl var
@@ -404,7 +404,7 @@ unset -f _ada_single_set_globals
# setup will be done. If wrapper update is requested, the directory
# shall be removed first.
ada_wrapper_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local workdir=${1:-${T}/${EADA}}
local impl=${2:-${EADA}}
@@ -470,7 +470,7 @@ ada_wrapper_setup() {
# Determine what the selected Ada implementation is and set
# the Ada build environment up for it.
ada_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
unset EADA
@@ -518,7 +518,7 @@ ada_setup() {
# @DESCRIPTION:
# Runs ada_setup.
ada_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${MERGE_TYPE} != binary ]] && ada_setup
}
diff --git a/eclass/apache-module.eclass b/eclass/apache-module.eclass
index f7776f463546..880205a30539 100644
--- a/eclass/apache-module.eclass
+++ b/eclass/apache-module.eclass
@@ -105,7 +105,7 @@ inherit depend.apache
# Internal function to construct the default ${APXS2_S} path if required.
apache_cd_dir() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local CD_DIR="${APXS2_S}"
@@ -123,7 +123,7 @@ apache_cd_dir() {
# Internal function to construct the default ${APACHE2_MOD_FILE} if required.
apache_mod_file() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local MOD_FILE="${APACHE2_MOD_FILE:-$(apache_cd_dir)/.libs/${PN}.so}"
@@ -135,7 +135,7 @@ apache_mod_file() {
# optional first argument `html'; if the first argument is equals `html', only
# html files are returned, otherwise normal (non-html) docs are returned.
apache_doc_magic() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local DOCS=
@@ -161,7 +161,7 @@ apache_doc_magic() {
# module requires a different build setup than this, use ${APXS} in your own
# src_compile routine.
apache-module_src_compile() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local CD_DIR=$(apache_cd_dir)
cd "${CD_DIR}" || die "cd ${CD_DIR} failed"
@@ -180,7 +180,7 @@ apache-module_src_compile() {
# 55_mod_foo.conf, APACHE2_MOD_CONF would be 55_mod_foo. ${DOCFILES} contains
# the list of files you want filed as documentation.
apache-module_src_install() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local CD_DIR=$(apache_cd_dir)
pushd "${CD_DIR}" >/dev/null || die "cd ${CD_DIR} failed"
@@ -222,7 +222,7 @@ apache-module_src_install() {
# @DESCRIPTION:
# This prints out information about the installed module and how to enable it.
apache-module_pkg_postinst() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if [[ -n "${APACHE2_MOD_DEFINE}" ]] ; then
local my_opts="-D ${APACHE2_MOD_DEFINE// / -D }"
diff --git a/eclass/app-alternatives.eclass b/eclass/app-alternatives.eclass
index f670b7d843f9..32afedba1e68 100644
--- a/eclass/app-alternatives.eclass
+++ b/eclass/app-alternatives.eclass
@@ -36,7 +36,7 @@ _APP_ALTERNATIVES_ECLASS=1
# @DESCRIPTION:
# Set ebuild metadata variables.
_app-alternatives_set_globals() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${ALTERNATIVES@a} != *a* ]]; then
die 'ALTERNATIVES must be an array.'
@@ -71,7 +71,7 @@ _app-alternatives_set_globals
# @DESCRIPTION:
# Get the flag name for the selected alternative (i.e. the USE flag set).
get_alternative() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local flag
for flag in "${ALTERNATIVES[@]%%:*}"; do
diff --git a/eclass/bash-completion-r1.eclass b/eclass/bash-completion-r1.eclass
index 643c458dd8a0..2220cb2be508 100644
--- a/eclass/bash-completion-r1.eclass
+++ b/eclass/bash-completion-r1.eclass
@@ -41,7 +41,7 @@ esac
# @EXAMPLE:
# _bash-completion-r1_get_bashdir completionsdir /usr/share/bash-completion
_bash-completion-r1_get_bashdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if $(tc-getPKG_CONFIG) --exists bash-completion &>/dev/null; then
local path
@@ -59,7 +59,7 @@ _bash-completion-r1_get_bashdir() {
# @DESCRIPTION:
# Get unprefixed bash-completion completions directory.
_bash-completion-r1_get_bashcompdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_bash-completion-r1_get_bashdir completionsdir /usr/share/bash-completion/completions
}
@@ -69,7 +69,7 @@ _bash-completion-r1_get_bashcompdir() {
# @DESCRIPTION:
# Get unprefixed bash-completion helpers directory.
_bash-completion-r1_get_bashhelpersdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_bash-completion-r1_get_bashdir helpersdir /usr/share/bash-completion/helpers
}
@@ -78,7 +78,7 @@ _bash-completion-r1_get_bashhelpersdir() {
# @DESCRIPTION:
# Get the bash-completion completions directory.
get_bashcompdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
echo "${EPREFIX}$(_bash-completion-r1_get_bashcompdir)"
}
@@ -88,7 +88,7 @@ get_bashcompdir() {
# @DESCRIPTION:
# Get the bash-completion helpers directory.
get_bashhelpersdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
echo "${EPREFIX}$(_bash-completion-r1_get_bashhelpersdir)"
}
@@ -99,7 +99,7 @@ get_bashhelpersdir() {
# Install bash-completion files passed as args. Has EAPI-dependent failure
# behavior (like doins).
dobashcomp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -114,7 +114,7 @@ dobashcomp() {
# Install bash-completion file under a new name. Has EAPI-dependent failure
# behavior (like newins).
newbashcomp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -128,7 +128,7 @@ newbashcomp() {
# @DESCRIPTION:
# Alias <basename> completion to one or more commands (<alias>es).
bashcomp_alias() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -lt 2 ]] && die "Usage: ${FUNCNAME} <basename> <alias>..."
local base=${1} f
diff --git a/eclass/depend.apache.eclass b/eclass/depend.apache.eclass
index 7492a78209e7..e1818be28af3 100644
--- a/eclass/depend.apache.eclass
+++ b/eclass/depend.apache.eclass
@@ -123,7 +123,7 @@ APACHE2_4_DEPEND="=www-servers/apache-2.4*"
# ==============================================================================
_init_apache2() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
# WARNING: Do not use these variables with anything that is put
# into the dependency cache (DEPEND/RDEPEND/etc)
@@ -143,7 +143,7 @@ _init_apache2_late() {
}
_init_no_apache() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
APACHE_VERSION="0"
}
@@ -158,7 +158,7 @@ _init_no_apache() {
# apache-2.x support. If the myiuse parameter is not given it defaults to
# apache2.
depend.apache_pkg_setup() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if [[ "${EBUILD_PHASE}" != "setup" ]]; then
die "$FUNCNAME() should be called in pkg_setup()"
@@ -184,7 +184,7 @@ depend.apache_pkg_setup() {
# An ebuild should additionally call depend.apache_pkg_setup() in pkg_setup()
# with the same myiuse parameter.
want_apache() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
want_apache2 "$@"
}
@@ -196,7 +196,7 @@ want_apache() {
# An ebuild should additionally call depend.apache_pkg_setup() in pkg_setup()
# with the same myiuse parameter.
want_apache2() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local myiuse=${1:-apache2}
IUSE="${IUSE} ${myiuse}"
@@ -213,7 +213,7 @@ want_apache2() {
# An ebuild should additionally call depend.apache_pkg_setup() in pkg_setup()
# with the same myiuse parameter.
want_apache2_2() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
case ${EAPI} in
7)
@@ -237,7 +237,7 @@ want_apache2_2() {
# An ebuild should additionally call depend.apache_pkg_setup() in pkg_setup()
# with the same myiuse parameter.
want_apache2_4() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local myiuse=${1:-apache2}
IUSE="${IUSE} ${myiuse}"
@@ -249,7 +249,7 @@ want_apache2_4() {
# @DESCRIPTION:
# An ebuild calls this to get the dependency information for apache.
need_apache() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
need_apache2
}
@@ -257,7 +257,7 @@ need_apache() {
# @DESCRIPTION:
# An ebuild calls this to get the dependency information for apache-2.x.
need_apache2() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
DEPEND="${DEPEND} ${APACHE2_DEPEND}"
RDEPEND="${RDEPEND} ${APACHE2_DEPEND}"
@@ -268,7 +268,7 @@ need_apache2() {
# @DESCRIPTION:
# An ebuild calls this to get the dependency information for apache-2.2.x.
need_apache2_2() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
case ${EAPI} in
7)
@@ -286,7 +286,7 @@ need_apache2_2() {
# @DESCRIPTION:
# An ebuild calls this to get the dependency information for apache-2.4.x.
need_apache2_4() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
DEPEND="${DEPEND} ${APACHE2_4_DEPEND}"
RDEPEND="${RDEPEND} ${APACHE2_4_DEPEND}"
@@ -299,7 +299,7 @@ need_apache2_4() {
# dependency without USE-flag, in which case want_apache does not work.
# DO NOT call this function in global scope.
has_apache() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if has_version '>=www-servers/apache-2'; then
_init_apache2
@@ -315,7 +315,7 @@ has_apache() {
# built with a threaded MPM. If the myflag parameter is not given it defaults to
# threads.
has_apache_threads() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if ! has_version 'www-servers/apache[threads]'; then
return
@@ -338,7 +338,7 @@ has_apache_threads() {
# package if apache has been built with a threaded MPM. If the myflag parameter
# is not given it defaults to threads.
has_apache_threads_in() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if ! has_version 'www-servers/apache[threads]'; then
return
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index bb058d488a13..67ba459f0ebe 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -72,7 +72,7 @@ dist-kernel_get_image_path() {
# the kernel version, <image> full path to the image, <system.map>
# full path to System.map.
dist-kernel_install_kernel() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 3 ]] || die "${FUNCNAME}: invalid arguments"
local version=${1}
@@ -125,7 +125,7 @@ dist-kernel_install_kernel() {
# This function is to be used in pkg_postinst() of ebuilds installing
# kernel modules that are included in the initramfs.
dist-kernel_reinstall_initramfs() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 2 ]] || die "${FUNCNAME}: invalid arguments"
local kernel_dir=${1}
@@ -148,7 +148,7 @@ dist-kernel_reinstall_initramfs() {
# @DESCRIPTION:
# Convert a Gentoo-style ebuild version to kernel "x.y.z[-rcN]" version.
dist-kernel_PV_to_KV() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments"
local pv=${1}
@@ -165,7 +165,7 @@ dist-kernel_PV_to_KV() {
# Returns the suffix for kernel modules based on the CONFIG_MODULES_COMPESS_*
# setting in the kernel config and USE=modules-compress.
dist-kernel_get_module_suffix() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
@@ -194,7 +194,7 @@ dist-kernel_get_module_suffix() {
# Traverse path for duplicate (un)compressed modules and remove all
# but the newest variant.
dist-kernel_compressed_module_cleanup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments"
local path=${1}
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index d2549c97ff3b..c3a7d112b03f 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -493,7 +493,7 @@ unset -f _distutils_set_globals
# python_compile_all(), you can call the original implementation
# as sphinx_compile_all.
distutils_enable_sphinx() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ge 1 ]] || die "${FUNCNAME} takes at least one arg: <subdir>"
_DISTUTILS_SPHINX_SUBDIR=${1}
@@ -589,7 +589,7 @@ distutils_enable_sphinx() {
# This function must be called in global scope, after RDEPEND has been
# declared. Take care not to overwrite the variables set by it.
distutils_enable_tests() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case ${1} in
--install)
@@ -670,7 +670,7 @@ distutils_enable_tests() {
#
# This command dies on failure.
esetup.py() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_check_EPYTHON
@@ -729,7 +729,7 @@ distutils_install_for_testing() {
# This function must only be used in python_test(). The created file
# will automatically be removed upon leaving the test phase.
distutils_write_namespace() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! ${DISTUTILS_USE_PEP517:-no} != no ]]; then
die "${FUNCNAME} is available only in PEP517 mode"
@@ -935,7 +935,7 @@ _distutils-r1_print_package_versions() {
# At some point in the future, it may also apply eclass-specific
# distutils patches and/or quirks.
distutils-r1_python_prepare_all() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_sanity_checks
_distutils-r1_check_all_phase_mismatch
@@ -1057,7 +1057,7 @@ _distutils-r1_copy_egg_info() {
# Print the DISTUTILS_USE_PEP517 value corresponding to the backend
# passed as the only argument.
_distutils-r1_backend_to_key() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local backend=${1}
case ${backend} in
@@ -1109,7 +1109,7 @@ _distutils-r1_backend_to_key() {
# Read (or guess, in case of setuptools) the build-backend
# for the package in the current directory.
_distutils-r1_get_backend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local build_backend legacy_fallback
if [[ -f pyproject.toml ]]; then
@@ -1179,7 +1179,7 @@ _distutils-r1_get_backend() {
#
# This function is intended for expert use only.
distutils_wheel_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${#} -ne 2 ]]; then
die "${FUNCNAME} takes exactly two arguments: <root> <wheel>"
fi
@@ -1236,7 +1236,7 @@ distutils_wheel_install() {
# wrapping executables. The wheel path is returned
# in DISTUTILS_WHEEL_PATH variable.
distutils_pep517_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME} takes exactly one argument: root"
if [[ ! ${DISTUTILS_USE_PEP517:-no} != no ]]; then
@@ -1448,7 +1448,7 @@ declare -g -A DISTUTILS_WHEELS=()
# function will be appended to setup.py invocation, i.e. passed
# as options to the 'build' command.
distutils-r1_python_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_check_EPYTHON
@@ -1514,7 +1514,7 @@ distutils-r1_python_compile() {
# @DESCRIPTION:
# Moves and wraps all installed scripts/executables as necessary.
_distutils-r1_wrap_scripts() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "usage: ${FUNCNAME} <bindir>"
local bindir=${1}
@@ -1568,7 +1568,7 @@ _distutils-r1_wrap_scripts() {
#
# This function is used only if distutils_enable_tests is called.
distutils-r1_python_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -z ${_DISTUTILS_TEST_RUNNER} ]]; then
die "${FUNCNAME} can be only used after calling distutils_enable_tests"
@@ -1611,7 +1611,7 @@ distutils-r1_python_test() {
# Any parameters passed to this function will be appended
# to the setup.py invocation (i.e. as options to the 'install' command).
distutils-r1_python_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_check_EPYTHON
@@ -1728,7 +1728,7 @@ distutils-r1_python_install() {
# @DESCRIPTION:
# The default python_install_all(). It installs the documentation.
distutils-r1_python_install_all() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_distutils-r1_check_all_phase_mismatch
einstalldocs
@@ -1748,7 +1748,7 @@ distutils-r1_python_install_all() {
# holding the per-implementation copy of sources. BUILD_DIR points
# to the 'build' subdirectory.
distutils-r1_run_phase() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${DISTUTILS_IN_SOURCE_BUILD} ]]; then
[[ ${DISTUTILS_USE_PEP517} ]] &&
@@ -1869,7 +1869,7 @@ _distutils-r1_run_common_phase() {
# Run the given phase for each implementation if multiple implementations
# are enabled, once otherwise.
_distutils-r1_run_foreach_impl() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# store for restoring after distutils-r1_run_phase.
local _DISTUTILS_INITIAL_CWD=${PWD}
@@ -1890,7 +1890,7 @@ _distutils-r1_run_foreach_impl() {
}
distutils-r1_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ret=0
local _DISTUTILS_DEFAULT_CALLED
@@ -1913,7 +1913,7 @@ distutils-r1_src_prepare() {
}
distutils-r1_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ret=0
if declare -f python_configure >/dev/null; then
@@ -1933,7 +1933,7 @@ distutils-r1_src_configure() {
# Verify the the match between files installed between this and previous
# implementation.
_distutils-r1_compare_installed_files() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# QA check requires diff(1).
if ! type -P diff &>/dev/null; then
@@ -1971,7 +1971,7 @@ _distutils-r1_compare_installed_files() {
# Post-phase function called after python_compile. In PEP517 mode,
# it adjusts the install tree for venv-style usage.
_distutils-r1_post_python_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local root=${BUILD_DIR}/install
if [[ ${DISTUTILS_USE_PEP517} && -d ${root} ]]; then
@@ -2005,7 +2005,7 @@ _distutils-r1_post_python_compile() {
}
distutils-r1_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ret=0
if declare -f python_compile >/dev/null; then
@@ -2040,7 +2040,7 @@ _distutils-r1_clean_egg_info() {
# @DESCRIPTION:
# Post-phase function called after python_test.
_distutils-r1_post_python_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! ${DISTUTILS_USE_PEP517} ]]; then
_distutils-r1_clean_egg_info
@@ -2048,7 +2048,7 @@ _distutils-r1_post_python_test() {
}
distutils-r1_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ret=0
if declare -f python_test >/dev/null; then
@@ -2069,7 +2069,7 @@ distutils-r1_src_test() {
# Find and remove setuptools-style namespaces in the specified
# directory.
_distutils-r1_strip_namespace_packages() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local sitedir=${1}
local f ns had_any=
@@ -2098,7 +2098,7 @@ _distutils-r1_strip_namespace_packages() {
# Post-phase function called after python_install. Performs QA checks.
# In PEP517 mode, additionally optimizes installed Python modules.
_distutils-r1_post_python_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local sitedir=${D}$(python_get_sitedir)
if [[ -d ${sitedir} ]]; then
@@ -2181,7 +2181,7 @@ _distutils-r1_check_namespace_pth() {
}
distutils-r1_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ret=0
if declare -f python_install >/dev/null; then
diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
index a2d95f15a2fb..15e9ba703baa 100644
--- a/eclass/dotnet-pkg-base.eclass
+++ b/eclass/dotnet-pkg-base.eclass
@@ -188,7 +188,7 @@ dotnet-pkg-base_get-configuration() {
#
# This function is used inside "dotnet-pkg-base_setup".
dotnet-pkg-base_get-output() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${DOTNET_PKG_CONFIGURATION} ]] &&
die "${FUNCNAME[0]}: DOTNET_PKG_CONFIGURATION is not set."
@@ -266,7 +266,7 @@ dotnet-pkg-base_setup() {
#
# Used by "dotnet-pkg_src_prepare" from the "dotnet-pkg" eclass.
dotnet-pkg-base_remove-global-json() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local file="${1:-.}"/global.json
@@ -282,7 +282,7 @@ dotnet-pkg-base_remove-global-json() {
# @DESCRIPTION:
# Call dotnet, passing the supplied arguments.
edotnet() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -z ${DOTNET_PKG_EXECUTABLE} ]] ; then
die "${FUNCNAME[0]}: DOTNET_PKG_EXECUTABLE not set. Was dotnet-pkg-base_setup called?"
@@ -301,7 +301,7 @@ edotnet() {
# Used by "dotnet-pkg_src_configure" from the "dotnet-pkg" eclass.
dotnet-pkg-base_info() {
if [[ ${CATEGORY}/${PN} == dev-dotnet/csharp-gentoodotnetinfo ]] ; then
- debug-print-function "${FUNCNAME[0]}: ${P} is a special package, skipping dotnet-pkg-base_info"
+ debug-print-function ${FUNCNAME} "${P} is a special package, skipping dotnet-pkg-base_info"
elif command -v gentoo-dotnet-info >/dev/null ; then
gentoo-dotnet-info || die "${FUNCNAME[0]}: failed to execute gentoo-dotnet-info"
else
@@ -316,7 +316,7 @@ dotnet-pkg-base_info() {
#
# Used by "dotnet-pkg_remove-bad" from the "dotnet-pkg" eclass.
dotnet-pkg-base_sln-remove() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${1} ]] && die "${FUNCNAME[0]}: no solution file specified"
[[ -z ${2} ]] && die "${FUNCNAME[0]}: no project file specified"
@@ -334,7 +334,7 @@ dotnet-pkg-base_sln-remove() {
# Used by "dotnet-pkg_src_configure" and "dotnet-pkg_src_test" from
# the "dotnet-pkg" eclass.
dotnet-pkg-base_foreach-solution() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local directory="${1}"
shift
@@ -362,7 +362,7 @@ dotnet-pkg-base_foreach-solution() {
#
# Used by "dotnet-pkg_src_configure" from the "dotnet-pkg" eclass.
dotnet-pkg-base_restore() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -a restore_args=(
--runtime "${DOTNET_PKG_RUNTIME}"
@@ -385,7 +385,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() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -a tool_restore_args=(
--add-source "${NUGET_PACKAGES}"
@@ -421,7 +421,7 @@ dotnet-pkg-base_restore_tools() {
#
# Used by "dotnet-pkg_src_compile" from the "dotnet-pkg" eclass.
dotnet-pkg-base_build() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -a build_args=(
--configuration "${DOTNET_PKG_CONFIGURATION}"
@@ -459,7 +459,7 @@ dotnet-pkg-base_build() {
#
# Used by "dotnet-pkg_src_test" from the "dotnet-pkg" eclass.
dotnet-pkg-base_test() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -a test_args=(
--configuration "${DOTNET_PKG_CONFIGURATION}"
@@ -479,7 +479,7 @@ dotnet-pkg-base_test() {
#
# Installation directory is relative to "ED".
dotnet-pkg-base_install() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local installation_directory="${1:-/usr/share/${P}}"
@@ -495,7 +495,7 @@ dotnet-pkg-base_install() {
#
# For more info see the "_DOTNET_PKG_LAUNCHERDEST" variable.
dotnet-pkg-base_launcherinto() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${1} ]] && die "${FUNCNAME[0]}: no directory specified"
@@ -519,7 +519,7 @@ dotnet-pkg-base_launcherinto() {
#
# For more info see the "_DOTNET_PKG_LAUNCHERVARS" variable.
dotnet-pkg-base_append-launchervar() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${1} ]] && die "${FUNCNAME[0]}: no variable setting specified"
@@ -553,7 +553,7 @@ dotnet-pkg-base_append_launchervar() {
#
# The path is prepended by "EPREFIX".
dotnet-pkg-base_dolauncher() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local executable_path executable_name
@@ -618,7 +618,7 @@ dotnet-pkg-base_dolauncher() {
#
# The path is prepended by "EPREFIX".
dotnet-pkg-base_dolauncher-portable() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local dll_path="${1}"
local executable_name="${2}"
diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass
index 59a8ae799f86..44a806f2af39 100644
--- a/eclass/dotnet-pkg.eclass
+++ b/eclass/dotnet-pkg.eclass
@@ -210,7 +210,7 @@ dotnet-pkg_src_unpack() {
#
# Used by "dotnet-pkg_src_prepare".
dotnet-pkg_remove-bad() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${1} ]] && die "${FUNCNAME[0]}: no solution file specified"
@@ -246,7 +246,7 @@ dotnet-pkg_src_prepare() {
#
# Used by "dotnet-pkg_src_configure" and "dotnet-pkg_src_compile".
dotnet-pkg_foreach-project() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local dotnet_project
for dotnet_project in "${DOTNET_PKG_PROJECTS[@]}" ; do
diff --git a/eclass/dune.eclass b/eclass/dune.eclass
index faf40e47eb1e..cfe81433a5bc 100644
--- a/eclass/dune.eclass
+++ b/eclass/dune.eclass
@@ -55,7 +55,7 @@ BDEPEND="
# edune clean
# @CODE
edune() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
edo dune "${@}"
}
@@ -74,7 +74,7 @@ edune() {
# dune-release build --target @install menhir menhirLib menhirSdk
# @CODE
dune-release() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local subcommand
local target
@@ -120,7 +120,7 @@ dune-release() {
# dune-compile menhir menhirLib menhirSdk
# @CODE
dune-compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
dune-release build --target @install "${@}"
}
@@ -135,7 +135,7 @@ dune-compile() {
# dune-test menhir menhirLib menhirSdk
# @CODE
dune-test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
dune-release runtest "${@}"
}
@@ -159,7 +159,7 @@ dune_src_test() {
# dune-install menhir menhirLib menhirSdk
# @CODE
dune-install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -a pkgs=( "${@}" )
diff --git a/eclass/fortran-2.eclass b/eclass/fortran-2.eclass
index 9694a764685a..dcf7ee979d8a 100644
--- a/eclass/fortran-2.eclass
+++ b/eclass/fortran-2.eclass
@@ -91,7 +91,7 @@ unset _f_use
# Return the Fortran compiler flag to enable 64 bit integers for
# array indices
fortran_int64_abi_fflags() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local _FC=$(tc-getFC)
if [[ ${_FC} == *gfortran* ]]; then
@@ -108,7 +108,7 @@ fortran_int64_abi_fflags() {
# @DESCRIPTION:
# writes fortran test code
_fortran_write_testsuite() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local filebase=${T}/test-fortran
@@ -136,7 +136,7 @@ _fortran_write_testsuite() {
# Takes fortran compiler as first argument and dialect as second.
# Checks whether the passed fortran compiler speaks the fortran dialect
_fortran_compile_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local filebase=${T}/test-fortran
local fcomp=${1}
@@ -163,7 +163,7 @@ _fortran_compile_test() {
# @DESCRIPTION:
# See if the fortran supports OpenMP.
_fortran-has-openmp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local flag
local filebase=${T}/test-fc-openmp
@@ -192,7 +192,7 @@ _fortran-has-openmp() {
# @DESCRIPTION:
# Detailed description how to handle fortran support
_fortran_die_msg() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
eerror
eerror "Please install currently selected gcc version with USE=fortran."
@@ -209,7 +209,7 @@ _fortran_die_msg() {
# Internal test function for working fortran compiler.
# It is called in fortran-2_pkg_setup.
_fortran_test_function() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local dialect
@@ -275,7 +275,7 @@ _fortran-2_pkg_setup() {
# Setup functionality,
# checks for a valid fortran compiler and optionally for its openmp support.
fortran-2_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${MERGE_TYPE} != binary ]]; then
_fortran-2_pkg_setup
diff --git a/eclass/go-module.eclass b/eclass/go-module.eclass
index cad63ee6d0f0..73e9ee51c7d5 100644
--- a/eclass/go-module.eclass
+++ b/eclass/go-module.eclass
@@ -322,7 +322,7 @@ go-module_set_globals() {
# It sets up the go module proxy in the appropriate location.
go-module_setup_proxy() {
# shellcheck disable=SC2120
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! ${_GO_MODULE_SET_GLOBALS_CALLED} ]]; then
die "go-module_set_globals must be called in global scope"
@@ -401,7 +401,7 @@ go-module_src_unpack() {
# directory correctly.
_go-module_src_unpack_gosum() {
# shellcheck disable=SC2120
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! ${_GO_MODULE_SET_GLOBALS_CALLED} ]]; then
die "go-module_set_globals must be called in global scope"
@@ -472,7 +472,7 @@ _go-module_gosum_synthesize_files() {
# the package, without actually building it yet.
_go-module_src_unpack_verify_gosum() {
# shellcheck disable=SC2120
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! ${_GO_MODULE_SET_GLOBALS_CALLED} ]]; then
die "go-module_set_globals must be called in global scope"
@@ -499,7 +499,7 @@ _go-module_src_unpack_verify_gosum() {
# This function is used in live ebuilds to vendor the dependencies when
# upstream doesn't vendor them.
go-module_live_vendor() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
# shellcheck disable=SC2086
has live ${PROPERTIES} ||
diff --git a/eclass/greadme.eclass b/eclass/greadme.eclass
index 38190becf91d..a4335b1a6286 100644
--- a/eclass/greadme.eclass
+++ b/eclass/greadme.eclass
@@ -69,7 +69,7 @@ _GREADME_REL_PATH="/usr/share/doc/${PF}/README.gentoo"
# Create the readme doc via stdin. You can use --append to append to an
# existing readme doc.
greadme_stdin() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local append
if [[ ${1} = --append ]]; then
@@ -97,7 +97,7 @@ greadme_stdin() {
# @DESCRIPTION:
# Installs the provided file as readme doc.
greadme_file() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local input_doc_file="${1}"
if [[ -z ${input_doc_file} ]]; then
@@ -114,7 +114,7 @@ greadme_file() {
# @DESCRIPTION:
# Installs the readme file from the temp directory into the image.
_greadme_install_doc() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local greadme="${_GREADME_TMP_FILE}"
if [[ ! ${GREADME_DISABLE_AUTOFORMAT} ]]; then
@@ -148,7 +148,7 @@ _greadme_install_doc() {
# Performs checks like comparing the readme doc from the image with a
# potentially existing one in the live system.
greadme_pkg_preinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -z ${REPLACING_VERSIONS} ]]; then
_GREADME_SHOW="fresh-install"
@@ -224,7 +224,7 @@ greadme_pkg_preinst() {
# @DESCRIPTION:
# Conditionally shows the contents of the readme doc via elog.
greadme_pkg_postinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! -v _GREADME_SHOW ]]; then
die "_GREADME_SHOW not set. Did you call greadme_pkg_preinst?"
diff --git a/eclass/guile-single.eclass b/eclass/guile-single.eclass
index 66898504a6c4..3498044b6d76 100644
--- a/eclass/guile-single.eclass
+++ b/eclass/guile-single.eclass
@@ -129,7 +129,7 @@ inherit guile-utils
# Please keep in ascending order.
_guile_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Inhibit generating the GUILE_USEDEP. This variable is not usable
# for single packages.
@@ -162,7 +162,7 @@ unset -f _guile_setup
# "
# @CODE
guile_gen_cond_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local deps="$1"
shift
@@ -196,7 +196,7 @@ guile_gen_cond_dep() {
#
# For details on the latter three, see guile_export.
guile-single_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_set_common_vars
@@ -223,7 +223,7 @@ guile-single_pkg_setup() {
# Runs the default prepare stage, and then bumps Guile sources via
# guile_bump_sources.
guile-single_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default
guile_bump_sources
@@ -234,7 +234,7 @@ guile-single_src_prepare() {
# Runs the default install stage, and then marks ccache files not to be
# stripped using guile_unstrip_ccache.
guile-single_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default
guile_unstrip_ccache
diff --git a/eclass/guile-utils.eclass b/eclass/guile-utils.eclass
index 09ca5aabe502..b0660dcfd1ce 100644
--- a/eclass/guile-utils.eclass
+++ b/eclass/guile-utils.eclass
@@ -46,7 +46,7 @@ BDEPEND="virtual/pkgconfig"
# Checks that GUILE_COMPAT is set to an array, and has no invalid
# values.
guile_check_compat() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if ! [[ ${GUILE_COMPAT@a} == *a* ]]; then
die "GUILE_COMPAT not set to an array"
@@ -86,7 +86,7 @@ guile_check_compat
# Sets common variables that apply to all Guile packages, namely,
# QA_PREBUILT.
guile_set_common_vars() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# These aren't strictly speaking prebuilt. but they do generated a
# nonstandard ELF object.
@@ -101,7 +101,7 @@ guile_set_common_vars() {
# Alters ${PKG_CONFIG_PATH} such that it does not contain any Guile
# slots besides the ones required by the caller.
guile_filter_pkgconfig_path() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local filtered_path= unfiltered_path path
IFS=: read -ra unfiltered_path <<<"${PKG_CONFIG_PATH}"
@@ -132,7 +132,7 @@ guile_filter_pkgconfig_path() {
# Generates GUILE_REQUIRED_USE/GUILE_DEPS/GUILE_USEDEP based on
# GUILE_COMPAT, and populates IUSE.
guile_generate_depstrings() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Generate IUSE, REQUIRED_USE, GUILE_USEDEP
local prefix="$1" depop="$2"
@@ -169,7 +169,7 @@ guile_generate_depstrings() {
# @DESCRIPTION:
# Marks site-ccache files not to be stripped. Operates on ${D}.
guile_unstrip_ccache() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ccache
while read -r -d $'\0' ccache; do
@@ -196,7 +196,7 @@ guile_unstrip_ccache() {
# - GUILE_SITECCACHEDIR - Path to the site-ccache directory,
# - GUILE_SITEDIR - Path to the site Scheme directory
guile_export() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local gver
if [[ "${GUILE_CURRENT_VERSION}" ]]; then
@@ -243,7 +243,7 @@ guile_export() {
# Creates a guile-config executable for a given Guile version, and
# inserts it into path.
guile_create_temporary_config() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${1} ]] || die "Must specify a Guile version"
@@ -267,7 +267,7 @@ guile_create_temporary_config() {
#
# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112
guile_bump_sources() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
einfo "bumping *.scm source files..."
find "${S}" -name "*.scm" -exec touch {} + || die
diff --git a/eclass/guile.eclass b/eclass/guile.eclass
index e8fde64266e5..1d4a88caf926 100644
--- a/eclass/guile.eclass
+++ b/eclass/guile.eclass
@@ -124,7 +124,7 @@ inherit guile-utils multibuild
# Please keep in ascending order.
_guile_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_generate_depstrings guile_targets '||'
}
@@ -142,7 +142,7 @@ unset -f _guile_setup
# @DESCRIPTION:
# Sets up eclass-internal variables for this build.
guile_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_set_common_vars
GUILE_SELECTED_TARGETS=()
@@ -161,7 +161,7 @@ guile_pkg_setup() {
# Create a single copy of the package sources for each selected Guile
# implementation.
guile_copy_sources() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local MULTIBUILD_VARIANTS
MULTIBUILD_VARIANTS=("${GUILE_SELECTED_TARGETS[@]}")
@@ -177,7 +177,7 @@ guile_copy_sources() {
# guile_foreach_impl.
_guile_multibuild_wrapper() {
local GUILE_CURRENT_VERSION="${MULTIBUILD_VARIANT}"
- debug-print-function ${FUNCNAME} "${@}" "on ${MULTIBUILD_VARIANT}"
+ debug-print-function ${FUNCNAME} "$@" "on ${MULTIBUILD_VARIANT}"
local -x PATH="${PATH}"
guile_create_temporary_config "${GUILE_CURRENT_VERSION}"
@@ -245,7 +245,7 @@ _guile_multibuild_wrapper() {
# This combination should cover Guile detection of a large amount of
# packages out of the box.
guile_foreach_impl() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local MULTIBUILD_VARIANTS
MULTIBUILD_VARIANTS=("${GUILE_SELECTED_TARGETS[@]}")
@@ -261,7 +261,7 @@ guile_foreach_impl() {
# @DESCRIPTION:
# Runs a single merge_root step for guile_merge_roots.
_guile_merge_single_root() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
multibuild_merge_root "${SLOTTED_D}" "${D}"
}
@@ -270,7 +270,7 @@ _guile_merge_single_root() {
# @DESCRIPTION:
# Merges install roots from all slots, diagnosing conflicts.
guile_merge_roots() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_foreach_impl _guile_merge_single_root
}
@@ -280,7 +280,7 @@ guile_merge_roots() {
# Runs the passed command once, for the best installed Guile
# implementation.
guile_for_best_impl() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
multibuild_for_best_variant _guile_multibuild_wrapper "${@}"
}
@@ -292,7 +292,7 @@ guile_for_best_impl() {
# Bumps SCM sources runs the default src_prepare and bumps all *.scm
# files. See guile_bump_sources of guile-utils.eclass.
guile_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default
guile_bump_sources
@@ -302,7 +302,7 @@ guile_src_prepare() {
# @DESCRIPTION:
# Runs the default src_configure for each selected variant target.
guile_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_foreach_impl default
}
@@ -311,7 +311,7 @@ guile_src_configure() {
# @DESCRIPTION:
# Runs the default src_compile for each selected variant target.
guile_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_foreach_impl default
}
@@ -320,7 +320,7 @@ guile_src_compile() {
# @DESCRIPTION:
# Runs the default src_test phase for each implementation.
guile_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_foreach_impl default
}
@@ -331,7 +331,7 @@ guile_src_test() {
# Imitates the default build system install "substep", but for a given
# ${SLOTTED_D} rather than the usual ${D}. See guile_src_install.
_guile_default_install_slot() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
emake DESTDIR="${SLOTTED_D}" install
@@ -344,7 +344,7 @@ _guile_default_install_slot() {
# thing for a GNU Build System based Guile package, for each selected
# variant target. Merges roots after completing the installs.
guile_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
guile_foreach_impl _guile_default_install_slot
guile_merge_roots
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 65fecd28e762..8d9ef40b3570 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -3024,7 +3024,7 @@ java-pkg_clean() {
# $1 - classpath variable either EANT_GENTOO_CLASSPATH or JAVA_GENTOO_CLASSPATH
# @CODE
java-pkg_gen-cp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local atom
for atom in ${CP_DEPEND}; do
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index dbc41824c4b6..4a2af9845ad4 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -171,7 +171,7 @@ kernel-build_pkg_setup() {
# Prepare the toolchain for building the kernel, get the .config file,
# and get build tree configured for modprep.
kernel-build_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if ! tc-is-cross-compiler && use hppa ; then
if [[ ${CHOST} == hppa2.0-* ]] ; then
@@ -294,7 +294,7 @@ kernel-build_src_configure() {
# @DESCRIPTION:
# Compile the kernel sources.
kernel-build_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local targets=( all )
@@ -313,7 +313,7 @@ kernel-build_src_compile() {
# Test the built kernel via qemu. This just wraps the logic
# from kernel-install.eclass with the correct paths.
kernel-build_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local targets=( modules_install )
@@ -345,7 +345,7 @@ kernel-build_src_test() {
# Install the built kernel along with subset of sources
# into /usr/src/linux-${KV_FULL}. Install the modules. Save the config.
kernel-build_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# do not use 'make install' as it behaves differently based
# on what kind of installkernel is installed
@@ -632,7 +632,7 @@ kernel-build_pkg_postinst() {
#
# This function must be called by the ebuild in the src_prepare phase.
kernel-build_merge_configs() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -f .config ]] ||
die "${FUNCNAME}: No .config, please copy default config into .config"
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 4109810d4d14..c5f218a46b91 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -239,7 +239,7 @@ BDEPEND="
# Determine whether the symlink at <target> (full path) should be
# updated. Returns 0 if it should, 1 to leave as-is.
kernel-install_can_update_symlink() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
local target=${1}
@@ -282,7 +282,7 @@ kernel-install_can_update_symlink() {
# to <target>-<version> if it's either missing or pointing out to
# an older version of this package.
kernel-install_update_symlink() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 2 ]] || die "${FUNCNAME}: invalid arguments"
local target=${1}
@@ -302,7 +302,7 @@ kernel-install_update_symlink() {
# @DESCRIPTION:
# Get appropriate qemu suffix for the current ${ARCH}.
kernel-install_get_qemu_arch() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case ${ARCH} in
amd64)
@@ -331,7 +331,7 @@ kernel-install_get_qemu_arch() {
# @DESCRIPTION:
# Create minimal /sbin/init
kernel-install_create_init() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
[[ -z ${1} ]] && die "${FUNCNAME}: empty argument specified"
@@ -369,7 +369,7 @@ kernel-install_create_init() {
# @DESCRIPTION:
# Create minimal qemu raw image
kernel-install_create_qemu_image() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
[[ -z ${1} ]] && die "${FUNCNAME}: empty argument specified"
@@ -401,7 +401,7 @@ kernel-install_create_qemu_image() {
# in qemu. <version> is the kernel version, <image> path to the image,
# <modules> path to module tree.
kernel-install_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 3 ]] || die "${FUNCNAME}: invalid arguments"
local version=${1}
@@ -534,7 +534,7 @@ kernel-install_test() {
# @DESCRIPTION:
# Check for missing optional dependencies and output warnings.
kernel-install_pkg_pretend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Check, but don't die because we can fix the problem and then
# emerge --config ... to re-run installation.
@@ -582,7 +582,7 @@ kernel-install_pkg_pretend() {
# @DESCRIPTION:
# Boilerplate function to remind people to call the tests.
kernel-install_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
die "Please redefine src_test() and call kernel-install_test()."
}
@@ -591,7 +591,7 @@ kernel-install_src_test() {
# @DESCRIPTION:
# Verify whether the kernel has been installed correctly.
kernel-install_pkg_preinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Set KV_FULL to ${PV}${KV_LOCALVERSION} if it hasn't
# been set elsewhere for backward compatibility with existing
@@ -662,7 +662,7 @@ kernel-install_extract_from_uki() {
# installkernel. This is called from pkg_postinst() and pkg_config().
# <ver> is the full kernel version.
kernel-install_install_all() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
local dir_ver=${1}
@@ -705,7 +705,7 @@ kernel-install_install_all() {
# Build an initramfs for the kernel, install it and update
# the /usr/src/linux symlink.
kernel-install_pkg_postinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
kernel-install_update_symlink "${EROOT}/usr/src/linux" "${KV_FULL}"
dist-kernel_compressed_module_cleanup \
@@ -733,7 +733,7 @@ kernel-install_pkg_postinst() {
# @DESCRIPTION:
# Clean up the generated initramfs from the removed kernel directory.
kernel-install_pkg_postrm() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -z ${ROOT} && ! ${KERNEL_IUSE_GENERIC_UKI} ]]; then
local kernel_dir=${EROOT}/usr/src/linux-${KV_FULL}
@@ -762,7 +762,7 @@ kernel-install_pkg_config() {
# @DESCRIPTION:
# Compress modules installed in ED, if USE=modules-compress is enabled.
kernel-install_compress_modules() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if use modules-compress; then
einfo "Compressing kernel modules ..."
diff --git a/eclass/latex-package.eclass b/eclass/latex-package.eclass
index 784254aecf4f..4082e161b843 100644
--- a/eclass/latex-package.eclass
+++ b/eclass/latex-package.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: latex-package.eclass
@@ -93,7 +93,7 @@ LATEX_DOC_ARGUMENTS=""
# It installs the files found in the current directory to the standard locations
# for a TeX installation
latex-package_src_doinstall() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
# Avoid generating font cache outside of the sandbox
export VARTEXFONTS="${T}/fonts"
@@ -205,7 +205,7 @@ latex-package_src_doinstall() {
# Calls latex for each *.ins in the current directory in order to generate the
# relevant files that will be installed
latex-package_src_compile() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
while IFS= read -r -d '' i; do
einfo "Extracting from ${i}"
latex --halt-on-error --interaction=nonstopmode "${i}" || die
@@ -216,7 +216,7 @@ latex-package_src_compile() {
# @DESCRIPTION:
# Installs the package
latex-package_src_install() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
latex-package_src_doinstall all
einstalldocs
}
@@ -226,7 +226,7 @@ latex-package_src_install() {
# Calls latex-package_rehash to ensure the TeX installation is consistent with
# the kpathsea database
latex-package_pkg_postinst() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
latex-package_rehash
}
@@ -235,7 +235,7 @@ latex-package_pkg_postinst() {
# Calls latex-package_rehash to ensure the TeX installation is consistent with
# the kpathsea database
latex-package_pkg_postrm() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
latex-package_rehash
}
@@ -243,7 +243,7 @@ latex-package_pkg_postrm() {
# @DESCRIPTION:
# Rehashes the kpathsea database, according to the current TeX installation
latex-package_rehash() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
texmf-update
}
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 241cfc7886e9..f8a45c607dfd 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -329,7 +329,7 @@ fi
# (normally these should not be used directly, for custom builds)
# 3. perform various sanity checks to fail early on issues
linux-mod-r1_pkg_setup() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_MODULES_GLOBAL[ran:pkg_setup]=1
_modules_check_function ${#} 0 0 || return 0
@@ -409,7 +409,7 @@ linux-mod-r1_pkg_setup() {
# different make arguments per modules or intermediate steps -- albeit,
# if atypical, may want to build manually (see eclass' example).
linux-mod-r1_src_compile() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_modules_check_function ${#} 0 0 || return 0
[[ ${modlist@a} == *a* && ${#modlist[@]} -gt 0 ]] ||
@@ -480,7 +480,7 @@ linux-mod-r1_src_compile() {
# Installs modules built by linux-mod-r1_src_compile using
# linux_domodule, then runs modules_post_process and einstalldocs.
linux-mod-r1_src_install() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_modules_check_function ${#} 0 0 || return 0
(( ${#_MODULES_INSTALL[@]} )) ||
@@ -502,7 +502,7 @@ linux-mod-r1_src_install() {
# @DESCRIPTION:
# Updates module dependencies using depmod.
linux-mod-r1_pkg_postinst() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_modules_check_function ${#} 0 0 || return 0
dist-kernel_compressed_module_cleanup "${EROOT}/lib/modules/${KV_FULL}"
@@ -534,7 +534,7 @@ linux-mod-r1_pkg_postinst() {
#
# See also linux_moduleinto.
linux_domodule() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_modules_check_function ${#} 1 '' "<module>..." || return 0
(
# linux-mod-r0 formerly supported INSTALL_MOD_PATH (bug #642240), but
@@ -559,7 +559,7 @@ linux_domodule() {
# this is like setting INSTALL_MOD_DIR which has the same default
# for external modules.
linux_moduleinto() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_modules_check_function ${#} 1 1 "<install-dir>" || return 0
_MODULES_GLOBAL[moduleinto]=${1}
}
@@ -582,7 +582,7 @@ linux_moduleinto() {
# if modules were unexpectedly pre-compressed possibly due to using
# make install without passing MODULES_MAKEARGS to disable it.
modules_post_process() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_modules_check_function ${#} 0 1 '[<path>]' || return 0
[[ ${EBUILD_PHASE} == install ]] ||
die "${FUNCNAME[0]} can only be called in the src_install phase"
diff --git a/eclass/llvm-r1.eclass b/eclass/llvm-r1.eclass
index 399902181b65..7b9f26e17b58 100644
--- a/eclass/llvm-r1.eclass
+++ b/eclass/llvm-r1.eclass
@@ -101,7 +101,7 @@ _LLVM_NEWEST_STABLE=18
# packages using the same eclass, to enforce a LLVM slot match.
_llvm_set_globals() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${LLVM_COMPAT@a} != *a* ]]; then
die "LLVM_COMPAT must be set to an array before inheriting ${ECLASS}"
@@ -169,7 +169,7 @@ unset -f _llvm_set_globals
# "
# @CODE
llvm_gen_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ne 1 ]] && die "Usage: ${FUNCNAME} <dependency>"
@@ -194,7 +194,7 @@ llvm_gen_dep() {
# With "-b" option, the path is prefixed by BROOT. LLVM dependencies
# should be in BDEPEND then.
get_llvm_prefix() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -gt 1 ]] && die "Usage: ${FUNCNAME} [-b|-d]"
@@ -228,7 +228,7 @@ get_llvm_prefix() {
# Note that this function is not exported if LLVM_OPTIONAL is set.
# In that case, it needs to be called manually.
llvm-r1_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${MERGE_TYPE} != binary ]]; then
[[ -z ${LLVM_SLOT} ]] && die "LLVM_SLOT unset (broken USE_EXPAND?)"
diff --git a/eclass/llvm-utils.eclass b/eclass/llvm-utils.eclass
index d38ba3a988f1..1ae3295484c8 100644
--- a/eclass/llvm-utils.eclass
+++ b/eclass/llvm-utils.eclass
@@ -27,7 +27,7 @@ _LLVM_UTILS_ECLASS=1
# Translate a tuple into a target suitable for LLVM_TARGETS.
# Defaults to ${CHOST} if not specified.
llvm_tuple_to_target() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -gt 1 ]] && die "Usage: ${FUNCNAME} [<tuple>]"
@@ -61,7 +61,7 @@ llvm_tuple_to_target() {
# the major version, to prevent PATH alterations from forcing an older
# clang version being used.
llvm_fix_clang_version() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local shopt_save=$(shopt -p -o noglob)
set -f
@@ -95,7 +95,7 @@ llvm_fix_clang_version() {
# current location, to prevent PATH alterations from forcing older
# versions being used.
llvm_fix_tool_path() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local shopt_save=$(shopt -p -o noglob)
set -f
@@ -118,7 +118,7 @@ llvm_fix_tool_path() {
# Prepend the path to the specified LLVM slot to PATH variable,
# and reexport it.
llvm_prepend_path() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ne 1 ]] && die "Usage: ${FUNCNAME} <slot>"
local slot=${1}
diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass
index 39ca1123eabb..9f757e704f7a 100644
--- a/eclass/llvm.eclass
+++ b/eclass/llvm.eclass
@@ -119,7 +119,7 @@ declare -g -r _LLVM_KNOWN_SLOTS=( {19..8} )
# the function defaults to checking whether sys-devel/llvm:${LLVM_SLOT}
# is installed.
get_llvm_slot() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local hv_switch=-d
while [[ ${1} == -* ]]; do
@@ -170,7 +170,7 @@ get_llvm_slot() {
#
# The options and behavior is the same as for get_llvm_slot.
get_llvm_prefix() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local prefix=${ESYSROOT}
[[ ${1} == -b ]] && prefix=${BROOT}
@@ -193,7 +193,7 @@ get_llvm_prefix() {
# If any other behavior is desired, the contents of the function
# should be inlined into the ebuild and modified as necessary.
llvm_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${LLVM_ECLASS_SKIP_PKG_SETUP} ]]; then
return
diff --git a/eclass/lua-single.eclass b/eclass/lua-single.eclass
index ad7075955153..1a919ad606ef 100644
--- a/eclass/lua-single.eclass
+++ b/eclass/lua-single.eclass
@@ -285,7 +285,7 @@ unset -f _lua_single_set_globals
#
# This is an internal function used to implement lua_gen_cond_dep.
_lua_gen_usedep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
@@ -338,7 +338,7 @@ _lua_impl_matches() {
# Verify whether the patterns passed to the eclass function are correct
# (i.e. can match any valid implementation). Dies on wrong pattern.
_lua_verify_patterns() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl pattern
for pattern; do
@@ -381,7 +381,7 @@ _lua_verify_patterns() {
# dev-lua/backported_core_module[lua_targets_lua5-3(-)?,...] )"
# @CODE
lua_gen_cond_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
@@ -440,7 +440,7 @@ lua_gen_cond_dep() {
# )"
# @CODE
lua_gen_impl_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl
local matches=()
@@ -465,7 +465,7 @@ lua_gen_impl_dep() {
# Determine what the selected Lua implementation is and set
# the Lua build environment up for it.
lua_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
unset ELUA
@@ -520,7 +520,7 @@ lua_setup() {
# @DESCRIPTION:
# Runs lua_setup.
lua-single_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${MERGE_TYPE} != binary ]] && lua_setup
}
diff --git a/eclass/lua-utils.eclass b/eclass/lua-utils.eclass
index 7272f80d0370..9be520aeb671 100644
--- a/eclass/lua-utils.eclass
+++ b/eclass/lua-utils.eclass
@@ -124,7 +124,7 @@ _lua_set_impls() {
# setup will be done. If wrapper update is requested, the directory
# shall be removed first.
_lua_wrapper_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local workdir=${1:-${T}/${ELUA}}
local impl=${2:-${ELUA}}
@@ -234,7 +234,7 @@ _lua_get_library_file() {
# or an ELUA one, e.g. lua5.4). If no implementation passed,
# the current one will be obtained from ${ELUA}.
_lua_export() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl var
@@ -374,7 +374,7 @@ _lua_export() {
# This function must be called in global scope, after RDEPEND has been
# declared. Take care not to overwrite the variables set by it.
lua_enable_tests() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -ge 1 ]] || die "${FUNCNAME} takes at least one argument: test-runner (test-directory)"
local test_directory
@@ -431,7 +431,7 @@ lua_enable_tests() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_CFLAGS() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_CFLAGS
echo "${LUA_CFLAGS}"
@@ -447,7 +447,7 @@ lua_get_CFLAGS() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_cmod_dir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_CMOD_DIR
echo "${LUA_CMOD_DIR}"
@@ -463,7 +463,7 @@ lua_get_cmod_dir() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_include_dir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_INCLUDE_DIR
echo "${LUA_INCLUDE_DIR}"
@@ -479,7 +479,7 @@ lua_get_include_dir() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_LIBS() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_LIBS
echo "${LUA_LIBS}"
@@ -495,7 +495,7 @@ lua_get_LIBS() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_lmod_dir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_LMOD_DIR
echo "${LUA_LMOD_DIR}"
@@ -514,7 +514,7 @@ lua_get_lmod_dir() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_shared_lib() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_SHARED_LIB
echo "${LUA_SHARED_LIB}"
@@ -529,7 +529,7 @@ lua_get_shared_lib() {
# Please note that this function requires Lua and pkg-config installed,
# and therefore proper build-time dependencies need be added to the ebuild.
lua_get_version() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_lua_export "${@}" LUA_VERSION
echo "${LUA_VERSION}"
diff --git a/eclass/lua.eclass b/eclass/lua.eclass
index 380ec274167c..7629033afb07 100644
--- a/eclass/lua.eclass
+++ b/eclass/lua.eclass
@@ -200,7 +200,7 @@ inherit multibuild lua-utils
# Enforce the proper setting of LUA_TARGETS, if LUA_COMPAT_OVERRIDE
# is not in effect. If it is, just warn that the flags will be ignored.
_lua_validate_useflags() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${LUA_COMPAT_OVERRIDE} ]]; then
if [[ ! ${_LUA_COMPAT_OVERRIDE_WARNED} ]]; then
@@ -260,7 +260,7 @@ _lua_obtain_impls() {
# Initialize the environment for the Lua implementation selected
# for multibuild.
_lua_multibuild_wrapper() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -x ELUA LUA
_lua_export "${MULTIBUILD_VARIANT}" ELUA LUA
@@ -279,7 +279,7 @@ _lua_multibuild_wrapper() {
# to implementation-specific build directory matching BUILD_DIR used by
# lua_foreach_abi().
lua_copy_sources() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local MULTIBUILD_VARIANTS
_lua_obtain_impls
@@ -301,7 +301,7 @@ lua_copy_sources() {
# For each command being run, ELUA, LUA and BUILD_DIR are set
# locally, and the former two are exported to the command environment.
lua_foreach_impl() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local MULTIBUILD_VARIANTS
_lua_obtain_impls
diff --git a/eclass/mercurial.eclass b/eclass/mercurial.eclass
index 16d9fc87cb0a..0d700c79930e 100644
--- a/eclass/mercurial.eclass
+++ b/eclass/mercurial.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: mercurial.eclass
@@ -100,7 +100,7 @@ EHG_OFFLINE="${EHG_OFFLINE:-${EVCS_OFFLINE}}"
# EHG_CHECKOUT_DIR, which defaults to S.
mercurial_fetch() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
EHG_REPO_URI=${1-${EHG_REPO_URI}}
[[ -z "${EHG_REPO_URI}" ]] && die "EHG_REPO_URI is empty"
diff --git a/eclass/multibuild.eclass b/eclass/multibuild.eclass
index 127654f50e78..652a938d5663 100644
--- a/eclass/multibuild.eclass
+++ b/eclass/multibuild.eclass
@@ -95,7 +95,7 @@ esac
# nevertheless. It is preferred to call 'die' inside of the passed
# function.
multibuild_foreach_variant() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${MULTIBUILD_VARIANTS} ]] \
|| die "MULTIBUILD_VARIANTS need to be set"
@@ -146,7 +146,7 @@ multibuild_foreach_variant() {
#
# The function returns command exit status.
multibuild_for_best_variant() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${MULTIBUILD_VARIANTS} ]] \
|| die "MULTIBUILD_VARIANTS need to be set"
@@ -162,7 +162,7 @@ multibuild_for_best_variant() {
# be placed in directories matching BUILD_DIRs used by
# multibuild_foreach().
multibuild_copy_sources() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local _MULTIBUILD_INITIAL_BUILD_DIR=${BUILD_DIR:-${S}}
@@ -184,7 +184,7 @@ multibuild_copy_sources() {
# (the real root). Both directories have to be real, absolute paths
# (i.e. including ${D}). Source root will be removed.
multibuild_merge_root() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local src=${1}
local dest=${2}
diff --git a/eclass/nuget.eclass b/eclass/nuget.eclass
index ac8629848eca..4efbeb909f43 100644
--- a/eclass/nuget.eclass
+++ b/eclass/nuget.eclass
@@ -245,7 +245,7 @@ nuget_unpack-non-nuget-archives() {
# This function is used inside "dotnet-pkg_src_prepare"
# from the "dotnet-pkg" eclass.
nuget_writeconfig() {
- debug-print-function "${FUNCNAME[0]}" "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case "${1}" in
"" ) die "${FUNCNAME[0]}: no directory/file path specified" ;;
diff --git a/eclass/out-of-source-utils.eclass b/eclass/out-of-source-utils.eclass
index 567d974449ea..b1b5fc05e37c 100644
--- a/eclass/out-of-source-utils.eclass
+++ b/eclass/out-of-source-utils.eclass
@@ -25,7 +25,7 @@ esac
# @DESCRIPTION:
# Run the given command in the directory pointed by BUILD_DIR.
run_in_build_dir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ret
[[ ${#} -eq 0 ]] && die "${FUNCNAME}: no command specified."
diff --git a/eclass/postgres-multi.eclass b/eclass/postgres-multi.eclass
index 5f014389fd89..96aa30d89ad7 100644
--- a/eclass/postgres-multi.eclass
+++ b/eclass/postgres-multi.eclass
@@ -55,7 +55,7 @@ export _POSTGRES_INTERSECT_SLOTS=( )
# appearance of @PG_SLOT@ in the command and arguments with value of
# ${PG_SLOT}.
_postgres-multi_multibuild_wrapper() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
export PG_SLOT=${MULTIBUILD_VARIANT}
export PG_CONFIG=$(type -P pg_config${MULTIBUILD_VARIANT//./})
if [[ -n ${PKG_CONFIG_PATH} ]] ; then
diff --git a/eclass/postgres.eclass b/eclass/postgres.eclass
index 6ef6913c2dad..21490df1965e 100644
--- a/eclass/postgres.eclass
+++ b/eclass/postgres.eclass
@@ -136,7 +136,7 @@ postgres_check_slot() {
# is required if pkg_setup() is declared in the ebuild.
# Exports PG_SLOT, PG_CONFIG, and PKG_CONFIG_PATH.
postgres_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local compat_slot
local best_slot
diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass
index 8796c3eddb68..0c01a49f9000 100644
--- a/eclass/python-any-r1.eclass
+++ b/eclass/python-any-r1.eclass
@@ -245,7 +245,7 @@ unset -f _python_any_set_globals
# )
# @CODE
python_gen_any_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local depstr=${1}
[[ ${depstr} ]] || die "No dependency string provided"
@@ -271,7 +271,7 @@ python_gen_any_dep() {
#
# This function will call python_check_deps() if defined.
python_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_sanity_checks
# support developer override
@@ -338,7 +338,7 @@ python_setup() {
# In a binary package installs is a no-op. If you need Python in pkg_*
# phases of a binary package, call python_setup directly.
python-any-r1_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${MERGE_TYPE} != binary ]] && python_setup
}
diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index 28daaed1b463..18f4dadfdd37 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.eclass
@@ -242,7 +242,7 @@ unset -f _python_set_globals
# Enforce the proper setting of PYTHON_TARGETS, if PYTHON_COMPAT_OVERRIDE
# is not in effect. If it is, just warn that the flags will be ignored.
_python_validate_useflags() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${PYTHON_COMPAT_OVERRIDE} ]]; then
if [[ ! ${_PYTHON_COMPAT_OVERRIDE_WARNED} ]]; then
@@ -282,7 +282,7 @@ _python_validate_useflags() {
#
# This is an internal function used to implement python_gen_cond_dep.
_python_gen_usedep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
@@ -322,7 +322,7 @@ _python_gen_usedep() {
# REQUIRED_USE="doc? ( || ( python_targets_python2_7 ) )"
# @CODE
python_gen_useflags() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
@@ -366,7 +366,7 @@ python_gen_useflags() {
# dev-python/unittest2[python_targets_pypy?] )"
# @CODE
python_gen_cond_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
local dep=${1}
@@ -428,7 +428,7 @@ python_gen_cond_dep() {
# dev-python/pypy[xml(+)] ) )"
# @CODE
python_gen_impl_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
local PYTHON_REQ_USE=${1}
@@ -506,7 +506,7 @@ python_gen_impl_dep() {
# )
# @CODE
python_gen_any_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local depstr=${1}
shift
@@ -554,7 +554,7 @@ python_gen_any_dep() {
# to implementation-specific build directory matching BUILD_DIR used by
# python_foreach_abi().
python_copy_sources() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local MULTIBUILD_VARIANTS
_python_obtain_impls
@@ -590,7 +590,7 @@ _python_obtain_impls() {
# Initialize the environment for Python implementation selected
# for multibuild.
_python_multibuild_wrapper() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -x EPYTHON PYTHON
local -x PATH=${PATH} PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
@@ -616,7 +616,7 @@ _python_multibuild_wrapper() {
# For each command being run, EPYTHON, PYTHON and BUILD_DIR are set
# locally, and the former two are exported to the command environment.
python_foreach_impl() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_sanity_checks
if [[ ${_DISTUTILS_R1_ECLASS} ]]; then
@@ -708,7 +708,7 @@ python_foreach_impl() {
# }
# @CODE
python_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_sanity_checks
local has_check_deps
@@ -774,7 +774,7 @@ python_setup() {
# All specified files must start with a 'python' shebang. A file not
# having a matching shebang will be refused.
python_replicate_script() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_replicate_script() {
local _PYTHON_FIX_SHEBANG_QUIET=1
diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass
index d3cc4024de36..dc1700393274 100644
--- a/eclass/python-single-r1.eclass
+++ b/eclass/python-single-r1.eclass
@@ -269,7 +269,7 @@ unset -f _python_single_set_globals
# REQUIRED_USE="doc? ( ^^ ( python_single_target_python2_7 ) )"
# @CODE
python_gen_useflags() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
@@ -313,7 +313,7 @@ python_gen_useflags() {
# dev-python/unittest2[python_targets_pypy(-)?,...] )"
# @CODE
python_gen_cond_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl matches=()
@@ -367,7 +367,7 @@ python_gen_cond_dep() {
# dev-python/pypy[xml(+)] ) )"
# @CODE
python_gen_impl_dep() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl
local matches=()
@@ -392,7 +392,7 @@ python_gen_impl_dep() {
# Determine what the selected Python implementation is and set
# the Python build environment up for it.
python_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_sanity_checks
unset EPYTHON
@@ -448,7 +448,7 @@ python_setup() {
# @DESCRIPTION:
# Runs python_setup.
python-single-r1_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${MERGE_TYPE} != binary ]] && python_setup
}
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 7a133f1ff655..796be7ab456a 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -75,7 +75,7 @@ readonly _PYTHON_HISTORICAL_IMPLS
# Verify whether the patterns passed to the eclass function are correct
# (i.e. can match any valid implementation). Dies on wrong pattern.
_python_verify_patterns() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl pattern
for pattern; do
@@ -298,7 +298,7 @@ _python_impl_matches() {
# PYTHON_SITEDIR. They are described more completely in the eclass
# variable documentation.
_python_export() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl var
@@ -483,7 +483,7 @@ _python_export() {
# Obtain and print the 'stdlib' path for the given implementation. If no
# implementation is provided, ${EPYTHON} will be used.
python_get_stdlib() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_STDLIB
echo "${PYTHON_STDLIB}"
@@ -496,7 +496,7 @@ python_get_stdlib() {
# implementation. If no implementation is provided, ${EPYTHON} will
# be used.
python_get_sitedir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_SITEDIR
echo "${PYTHON_SITEDIR}"
@@ -508,7 +508,7 @@ python_get_sitedir() {
# Obtain and print the include path for the given implementation. If no
# implementation is provided, ${EPYTHON} will be used.
python_get_includedir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_INCLUDEDIR
echo "${PYTHON_INCLUDEDIR}"
@@ -523,7 +523,7 @@ python_get_includedir() {
# Please note that this function can be used with CPython only. Use
# in another implementation will result in a fatal failure.
python_get_library_path() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_LIBPATH
echo "${PYTHON_LIBPATH}"
@@ -540,7 +540,7 @@ python_get_library_path() {
# It requires Python and pkg-config installed, and therefore proper
# build-time dependencies need be added to the ebuild.
python_get_CFLAGS() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_CFLAGS
echo "${PYTHON_CFLAGS}"
@@ -557,7 +557,7 @@ python_get_CFLAGS() {
# It requires Python and pkg-config installed, and therefore proper
# build-time dependencies need be added to the ebuild.
python_get_LIBS() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_LIBS
echo "${PYTHON_LIBS}"
@@ -574,7 +574,7 @@ python_get_LIBS() {
# It requires Python installed, and therefore proper build-time
# dependencies need be added to the ebuild.
python_get_PYTHON_CONFIG() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_CONFIG
echo "${PYTHON_CONFIG}"
@@ -587,7 +587,7 @@ python_get_PYTHON_CONFIG() {
# implementation. If no implementation is provided, ${EPYTHON} will
# be used.
python_get_scriptdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_export "${@}" PYTHON_SCRIPTDIR
echo "${PYTHON_SCRIPTDIR}"
@@ -600,7 +600,7 @@ python_get_scriptdir() {
# paths). If no directories are provided, the default system paths
# are used (prepended with ${D}).
python_optimize() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
@@ -677,7 +677,7 @@ python_optimize() {
# }
# @CODE
python_scriptinto() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_PYTHON_SCRIPTROOT=${1}
}
@@ -691,7 +691,7 @@ python_scriptinto() {
# The executable will be wrapped properly for the Python implementation,
# though no shebang mangling will be performed.
python_doexe() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} != install ]] &&
die "${FUNCNAME} can only be used in src_install"
@@ -712,7 +712,7 @@ python_doexe() {
# though no shebang mangling will be performed. It will be renamed
# to <new-name>.
python_newexe() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} != install ]] &&
die "${FUNCNAME} can only be used in src_install"
@@ -762,7 +762,7 @@ python_newexe() {
# }
# @CODE
python_doscript() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} != install ]] &&
die "${FUNCNAME} can only be used in src_install"
@@ -789,7 +789,7 @@ python_doscript() {
# }
# @CODE
python_newscript() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} != install ]] &&
die "${FUNCNAME} can only be used in src_install"
@@ -827,7 +827,7 @@ python_newscript() {
# }
# @CODE
python_moduleinto() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_PYTHON_MODULEROOT=${1}
}
@@ -852,7 +852,7 @@ python_moduleinto() {
# }
# @CODE
python_domodule() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
@@ -900,7 +900,7 @@ python_domodule() {
# }
# @CODE
python_doheader() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} != install ]] &&
die "${FUNCNAME} can only be used in src_install"
@@ -932,7 +932,7 @@ python_doheader() {
# setup will be done. If wrapper update is requested, the directory
# shall be removed first.
_python_wrapper_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local workdir=${1:-${T}/${EPYTHON}}
local impl=${2:-${EPYTHON}}
@@ -1034,7 +1034,7 @@ _python_wrapper_setup() {
# Python version (but not non-Python shebangs). --quiet causes
# the function not to list modified files verbosely.
python_fix_shebang() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EPYTHON} ]] || die "${FUNCNAME}: EPYTHON unset (pkg_setup not called?)"
@@ -1154,7 +1154,7 @@ _python_check_locale_sanity() {
# nothing if LC_ALL is defined, or if the current locale uses a UTF-8 charmap.
# This may be used to work around the quirky open() behavior of python3.
python_export_utf8_locale() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# If the locale program isn't available, just return.
type locale &>/dev/null || return 0
@@ -1206,7 +1206,7 @@ python_export_utf8_locale() {
# to be taken to run einstalldocs from the same directory
# (usually ${S}).
build_sphinx() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 1 ]] || die "${FUNCNAME} takes 1 arg: <directory>"
local dir=${1}
@@ -1252,7 +1252,7 @@ _python_check_EPYTHON() {
# package sources that would block installed packages from being used
# (and effectively e.g. make it impossible to load compiled extensions).
_python_check_occluded_packages() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${BUILD_DIR} || ! -d ${BUILD_DIR}/install ]] && return
@@ -1362,7 +1362,7 @@ _python_check_occluded_packages() {
#
# This command dies on failure and respects nonfatal.
epytest() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_check_EPYTHON
_python_check_occluded_packages
@@ -1490,7 +1490,7 @@ epytest() {
#
# This command dies on failure and respects nonfatal.
eunittest() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_python_check_EPYTHON
_python_check_occluded_packages
@@ -1515,7 +1515,7 @@ eunittest() {
# code. Checks whether the interpreter is installed, runs
# python_check_deps() if declared.
_python_run_check_deps() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local impl=${1}
@@ -1547,7 +1547,7 @@ _python_run_check_deps() {
# The wrapper accepts multiple package specifications. For the check
# to succeed, *all* specified atoms must match.
python_has_version() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local root_arg=( -b )
case ${1} in
@@ -1572,7 +1572,7 @@ python_has_version() {
# @DESCRIPTION:
# Perform additional environment sanity checks.
_python_sanity_checks() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${_PYTHON_SANITY_CHECKED} ]] && return
diff --git a/eclass/readme.gentoo-r1.eclass b/eclass/readme.gentoo-r1.eclass
index 4f1728da5b6f..02167a746f5a 100644
--- a/eclass/readme.gentoo-r1.eclass
+++ b/eclass/readme.gentoo-r1.eclass
@@ -54,7 +54,7 @@ esac
# ${FILESDIR}/README.gentoo-${SLOT} also.
# Usually called at src_install phase.
readme.gentoo_create_doc() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -n "${DOC_CONTENTS}" ]]; then
if [[ -n "${DISABLE_AUTOFORMATTING}" ]]; then
@@ -94,7 +94,7 @@ readme.gentoo_create_doc() {
# rely on specific REPLACING_VERSIONS handling in your ebuild to print messages
# when people update from versions still providing old message.
readme.gentoo_print_elog() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -z "${README_GENTOO_DOC_VALUE}" ]]; then
die "readme.gentoo_print_elog invoked without matching readme.gentoo_create_doc call!"
diff --git a/eclass/rebar-utils.eclass b/eclass/rebar-utils.eclass
index 5657908eb8e9..095223cd11a1 100644
--- a/eclass/rebar-utils.eclass
+++ b/eclass/rebar-utils.eclass
@@ -68,7 +68,7 @@ _rebar_find_dep() {
# Coverage is not relevant in this context, so there's no harm to disable it,
# although the issue should be fixed.
rebar_disable_coverage() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local rebar_config="${1:-rebar.config}"
@@ -88,7 +88,7 @@ rebar_disable_coverage() {
#
# The function dies on failure.
rebar_fix_include_path() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local pn="${1}"
local rebar_config="${2:-rebar.config}"
@@ -123,7 +123,7 @@ rebar_fix_include_path() {
#
# The function dies on failure.
rebar_remove_deps() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local rebar_config="${1:-rebar.config}"
@@ -148,7 +148,7 @@ rebar_remove_deps() {
#
# The function dies on failure.
rebar_set_vsn() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local version="${1:-${PV%_*}}"
diff --git a/eclass/rebar.eclass b/eclass/rebar.eclass
index 1e4e845a9adb..951e29b05a91 100644
--- a/eclass/rebar.eclass
+++ b/eclass/rebar.eclass
@@ -69,7 +69,7 @@ _rebar_find_dep() {
# @DESCRIPTION:
# Run rebar with verbose flag. Die on failure.
erebar() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(( $# > 0 )) || die "erebar: at least one target is required"
@@ -87,7 +87,7 @@ erebar() {
# Existence of rebar.config is optional, but file description file must exist
# at 'src/${PN}.app.src'.
rebar_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default
rebar_set_vsn
@@ -101,7 +101,7 @@ rebar_src_prepare() {
# @DESCRIPTION:
# Configure with ERL_LIBS set.
rebar_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -x ERL_LIBS="${EPREFIX}$(get_erl_libs)"
default
@@ -111,7 +111,7 @@ rebar_src_configure() {
# @DESCRIPTION:
# Compile project with rebar.
rebar_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
erebar compile
}
@@ -120,7 +120,7 @@ rebar_src_compile() {
# @DESCRIPTION:
# Run unit tests.
rebar_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
erebar eunit
}
@@ -132,7 +132,7 @@ rebar_src_test() {
#
# Function expects that project conforms to Erlang/OTP structure.
rebar_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local bin
local dest="$(get_erl_libs)/${P}"
diff --git a/eclass/rebar3.eclass b/eclass/rebar3.eclass
index f6383b9c8cdd..f75a3718fdfd 100644
--- a/eclass/rebar3.eclass
+++ b/eclass/rebar3.eclass
@@ -76,7 +76,7 @@ _rebar_find_dep() {
# @DESCRIPTION:
# Run rebar with verbose flag. Die on failure.
erebar3() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(( $# > 0 )) || die "${FUNCNAME}: at least one target is required"
@@ -99,7 +99,7 @@ erebar3() {
# Existence of rebar.config is optional, but file description file must exist
# at 'src/${PN}.app.src'.
rebar3_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default
rebar_set_vsn
@@ -118,7 +118,7 @@ rebar3_src_prepare() {
# @DESCRIPTION:
# Configure with ERL_LIBS set.
rebar3_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local -x ERL_LIBS="${EPREFIX}$(get_erl_libs)"
default
@@ -128,7 +128,7 @@ rebar3_src_configure() {
# @DESCRIPTION:
# Compile project with rebar3.
rebar3_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
erebar3 as "${REBAR_PROFILE}" release --all
}
@@ -137,7 +137,7 @@ rebar3_src_compile() {
# @DESCRIPTION:
# Run unit tests.
rebar3_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
erebar3 eunit -v
}
@@ -149,7 +149,7 @@ rebar3_src_test() {
#
# Function expects that project conforms to Erlang/OTP structure.
rebar3_install_lib() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local dest="$(get_erl_libs)/${P}"
insinto "${dest}"
@@ -169,7 +169,7 @@ rebar3_install_lib() {
#
# Function expects that project conforms to Erlang/OTP structure.
rebar3_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
pushd "_build/${REBAR_PROFILE}" >/dev/null || die
if [[ -d rel/${PN} ]]; then
diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
index 207ba42b9544..eb6257a50cf9 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.eclass
@@ -220,7 +220,7 @@ fi
# This function returns the gems data directory for the ruby
# implementation in question.
ruby_fakegem_gemsdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local _gemsitedir=$(ruby_rbconfig_value 'sitelibdir')
_gemsitedir=${_gemsitedir//site_ruby/gems}
@@ -239,7 +239,7 @@ ruby_fakegem_gemsdir() {
# @DESCRIPTION:
# Installs the specified file(s) into the gems directory.
ruby_fakegem_doins() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insinto $(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}
@@ -252,7 +252,7 @@ ruby_fakegem_doins() {
# @DESCRIPTION:
# Installs the specified file into the gems directory using the provided filename.
ruby_fakegem_newins() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
# Since newins does not accept full paths but just basenames
@@ -273,7 +273,7 @@ ruby_fakegem_newins() {
# by the RUBY_FAKEGEM_GEMSPEC variable, or generate one using
# ruby_fakegem_genspec.
ruby_fakegem_install_gemspec() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local gemspec="${T}"/${RUBY_FAKEGEM_NAME}-${_ruby_implementation}
@@ -302,7 +302,7 @@ ruby_fakegem_install_gemspec() {
# RUBY_FAKEGEM_GEMSPEC. This file is eval'ed to produce a final specification
# in a way similar to packaging the gemspec file.
ruby_fakegem_gemspec_gemspec() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
${RUBY} --disable=did_you_mean -e "puts eval(File::open('$1').read).to_ruby" > $2
}
@@ -314,7 +314,7 @@ ruby_fakegem_gemspec_gemspec() {
# the metadata distributed by the gem itself. This is similar to how
# rubygems creates an installation from a .gem file.
ruby_fakegem_metadata_gemspec() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
${RUBY} --disable=did_you_mean -r yaml -e "puts Gem::Specification.from_yaml(File::open('$1', :encoding => 'UTF-8').read).to_ruby" > $2
}
@@ -333,7 +333,7 @@ ruby_fakegem_metadata_gemspec() {
# See RUBY_FAKEGEM_NAME and RUBY_FAKEGEM_VERSION for setting name and version.
# See RUBY_FAKEGEM_REQUIRE_PATHS for setting extra require paths.
ruby_fakegem_genspec() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
eqawarn "Generating generic fallback gemspec *without* dependencies"
eqawarn "This will only work when there are no runtime dependencies"
@@ -369,7 +369,7 @@ EOF
# to inject additional ruby code into the wrapper. This may be useful to
# e.g. force a specific version using the gem command.
ruby_fakegem_binwrapper() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
local gembinary=$1
@@ -422,7 +422,7 @@ EOF
# @DESCRIPTION:
# Configure extensions defined in RUBY_FAKEGEM_EXTENSIONS, if any.
each_fakegem_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
tc-export PKG_CONFIG
for extension in "${RUBY_FAKEGEM_EXTENSIONS[@]}" ; do
@@ -434,7 +434,7 @@ each_fakegem_configure() {
# @DESCRIPTION:
# Run each_fakegem_configure for each ruby target
each_ruby_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
each_fakegem_configure
}
@@ -444,7 +444,7 @@ each_ruby_configure() {
# Build documentation for the package if indicated by the doc USE flag
# and if there is a documentation task defined.
all_fakegem_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -n ${RUBY_FAKEGEM_DOCDIR} ]] && use doc; then
case ${RUBY_FAKEGEM_RECIPE_DOC} in
@@ -466,7 +466,7 @@ all_fakegem_compile() {
# @DESCRIPTION:
# Compile extensions defined in RUBY_FAKEGEM_EXTENSIONS, if any.
each_fakegem_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
for extension in "${RUBY_FAKEGEM_EXTENSIONS[@]}" ; do
emake V=1 -C ${extension%/*}
@@ -479,7 +479,7 @@ each_fakegem_compile() {
# @DESCRIPTION:
# Run each_fakegem_compile for each ruby target
each_ruby_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
each_fakegem_compile
}
@@ -488,7 +488,7 @@ each_ruby_compile() {
# @DESCRIPTION:
# Unpack the source archive, including support for unpacking gems.
all_ruby_unpack() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Special support for extracting .gem files; the file need to be
# extracted twice and the mtime from the archive _has_ to be
@@ -533,7 +533,7 @@ all_ruby_unpack() {
# @DESCRIPTION:
# Compile the package.
all_ruby_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
all_fakegem_compile
}
@@ -542,7 +542,7 @@ all_ruby_compile() {
# @DESCRIPTION:
# Run tests for the package for each ruby target if the test task is defined.
each_fakegem_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case ${RUBY_FAKEGEM_RECIPE_TEST} in
rake)
@@ -584,7 +584,7 @@ fi
# installed. This is normally done as part of the extension
# installation, but may be useful when we handle extensions manually.
ruby_fakegem_extensions_installed() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
mkdir -p "${ED}$(ruby_fakegem_extensionsdir)" || die
touch "${ED}$(ruby_fakegem_extensionsdir)/gem.build_complete" || die
@@ -595,7 +595,7 @@ ruby_fakegem_extensions_installed() {
# The directory where rubygems expects extensions for this package
# version.
ruby_fakegem_extensionsdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Using formula from ruby src/lib/rubygems/basic_specification.
extensions_dir=$(${RUBY} --disable=did_you_mean -e "puts File.join('extensions', Gem::Platform.local.to_s, Gem.extension_api_version)")
@@ -607,7 +607,7 @@ ruby_fakegem_extensionsdir() {
# @DESCRIPTION:
# Install the package for each ruby target.
each_fakegem_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
ruby_fakegem_install_gemspec
@@ -634,7 +634,7 @@ each_fakegem_install() {
# @DESCRIPTION:
# Install the package for each target.
each_ruby_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
each_fakegem_install
}
@@ -643,7 +643,7 @@ each_ruby_install() {
# @DESCRIPTION:
# Install files common to all ruby targets.
all_fakegem_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -n ${RUBY_FAKEGEM_DOCDIR} ]] && use doc; then
for dir in ${RUBY_FAKEGEM_DOCDIR}; do
@@ -678,7 +678,7 @@ all_fakegem_install() {
# @DESCRIPTION:
# Install files common to all ruby targets.
all_ruby_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
all_fakegem_install
}
diff --git a/eclass/ruby-ng-gnome2.eclass b/eclass/ruby-ng-gnome2.eclass
index ed4fdd91a49f..d268e4bd742d 100644
--- a/eclass/ruby-ng-gnome2.eclass
+++ b/eclass/ruby-ng-gnome2.eclass
@@ -76,7 +76,7 @@ all_ruby_prepare() {
# @DESCRIPTION:
# Run the configure script in the subbinding for each specific ruby target.
each_ruby_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -e extconf.rb ]] || return
@@ -87,7 +87,7 @@ each_ruby_configure() {
# @DESCRIPTION:
# Compile the C bindings in the subbinding for each specific ruby target.
each_ruby_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -e Makefile ]] || return
@@ -107,7 +107,7 @@ each_ruby_compile() {
# @DESCRIPTION:
# Install the files in the subbinding for each specific ruby target.
each_ruby_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ -e Makefile ]]; then
# Create the directories, or the package will create them as files.
@@ -124,7 +124,7 @@ each_ruby_install() {
# @DESCRIPTION:
# Install the files common to all ruby targets.
all_ruby_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
for doc in ../AUTHORS ../NEWS ChangeLog README; do
[[ -s ${doc} ]] && dodoc $doc
@@ -141,7 +141,7 @@ all_ruby_install() {
# @DESCRIPTION:
# Run the tests for this package.
each_ruby_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -e test/run-test.rb ]] || return
diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 2a552094f60f..f3745b5d3eab 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -90,7 +90,7 @@ S="${WORKDIR}"
# Set `comparator' and `version' to include a comparator (=, >=, etc.) and a
# version string to the returned string
ruby_implementation_depend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_ruby_implementation_depend $1
}
@@ -132,7 +132,7 @@ _ruby_get_all_impls() {
# ruby_add_bdepend(), but may also be useful in an ebuild to specify
# more complex dependencies.
ruby_samelib() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_ruby_set_globals_invalidate_if_stale
@@ -151,7 +151,7 @@ ruby_samelib() {
# Not all implementations have the same command basename as the
# target; This function translate between the two
ruby_implementation_command() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local _ruby_name=$1
@@ -212,7 +212,7 @@ _ruby_wrap_conditions() {
# Note: runtime dependencies are also added as build-time test
# dependencies.
ruby_add_rdepend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case $# in
1) ;;
@@ -248,7 +248,7 @@ ruby_add_rdepend() {
# dependencies instead of setting DEPEND or BDEPEND yourself. The list
# of atoms uses the same syntax as normal dependencies.
ruby_add_bdepend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case $# in
1) ;;
@@ -271,7 +271,7 @@ ruby_add_bdepend() {
# @DESCRIPTION:
# Adds the specified dependencies to DEPEND, similar to ruby_add_bdepend.
ruby_add_depend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
case $# in
1) ;;
@@ -288,7 +288,7 @@ ruby_add_depend() {
# @DESCRIPTION:
# Gets an array of ruby use targets enabled by the user
ruby_get_use_implementations() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_ruby_set_globals_invalidate_if_stale
@@ -303,7 +303,7 @@ ruby_get_use_implementations() {
# @DESCRIPTION:
# Gets an array of ruby use targets that the ebuild sets
ruby_get_use_targets() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_ruby_set_globals_invalidate_if_stale
_ruby_get_use_targets
@@ -316,7 +316,7 @@ ruby_get_use_targets() {
# Gets an array of ruby use targets that the ebuild sets
_RUBY_GET_USE_TARGETS=""
_ruby_get_use_targets() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_ruby_set_globals_invalidate_if_stale
@@ -343,7 +343,7 @@ _ruby_get_use_targets() {
# RDEPEND="${DEPEND}"
_RUBY_IMPLEMENTATIONS_DEPEND=""
ruby_implementations_depend() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_ruby_set_globals_invalidate_if_stale
_ruby_implementations_depend
@@ -472,7 +472,7 @@ _ruby_each_implementation() {
# @DESCRIPTION:
# Check whether at least one ruby target implementation is present.
ruby-ng_pkg_setup() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# This only checks that at least one implementation is present
# before doing anything; by leaving the parameters empty we know
@@ -484,7 +484,7 @@ ruby-ng_pkg_setup() {
# @DESCRIPTION:
# Unpack the source archive.
ruby-ng_src_unpack() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
mkdir "${WORKDIR}"/all
pushd "${WORKDIR}"/all &>/dev/null || die
@@ -522,7 +522,7 @@ _ruby_source_copy() {
# Apply patches and prepare versions for each ruby target
# implementation. Also carry out common clean up tasks.
ruby-ng_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Way too many Ruby packages are prepared on OSX without removing
# the extra data forks, we do it here to avoid repeating it for
@@ -546,7 +546,7 @@ ruby-ng_src_prepare() {
# @DESCRIPTION:
# Configure the package.
ruby-ng_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if type each_ruby_configure &>/dev/null; then
_ruby_each_implementation each_ruby_configure
@@ -560,7 +560,7 @@ ruby-ng_src_configure() {
# @DESCRIPTION:
# Compile the package.
ruby-ng_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if type each_ruby_compile &>/dev/null; then
_ruby_each_implementation each_ruby_compile
@@ -574,7 +574,7 @@ ruby-ng_src_compile() {
# @DESCRIPTION:
# Run tests for the package.
ruby-ng_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if type each_ruby_test &>/dev/null; then
_ruby_each_implementation each_ruby_test
@@ -617,7 +617,7 @@ _each_ruby_check_install() {
# @DESCRIPTION:
# Install the package for each ruby target implementation.
ruby-ng_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if type each_ruby_install &>/dev/null; then
_ruby_each_implementation each_ruby_install
@@ -634,7 +634,7 @@ ruby-ng_src_install() {
# @USAGE: rbconfig item
# @RETURN: Returns the value of the given rbconfig item of the Ruby interpreter in ${RUBY}.
ruby_rbconfig_value() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
echo $(${RUBY} --disable=did_you_mean -rrbconfig -e "puts RbConfig::CONFIG['$1']" || die "Could not read ruby configuration for '${1}'")
}
@@ -644,7 +644,7 @@ ruby_rbconfig_value() {
# @DESCRIPTION:
# Installs the specified file(s) into the sitelibdir of the Ruby interpreter in ${RUBY}.
doruby() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -z ${RUBY} ]] && die "\$RUBY is not set"
( # don't want to pollute calling env
@@ -658,7 +658,7 @@ doruby() {
# @FUNCTION: ruby_get_libruby
# @RETURN: The location of libruby*.so belonging to the Ruby interpreter in ${RUBY}.
ruby_get_libruby() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
${RUBY} -rrbconfig -e 'puts File.join(RbConfig::CONFIG["libdir"], RbConfig::CONFIG["LIBRUBY"])'
}
@@ -666,7 +666,7 @@ ruby_get_libruby() {
# @FUNCTION: ruby_get_hdrdir
# @RETURN: The location of the header files belonging to the Ruby interpreter in ${RUBY}.
ruby_get_hdrdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local rubyhdrdir=$(ruby_rbconfig_value 'rubyhdrdir')
@@ -680,7 +680,7 @@ ruby_get_hdrdir() {
# @FUNCTION: ruby_get_version
# @RETURN: The version of the Ruby interpreter in ${RUBY}, or what 'ruby' points to.
ruby_get_version() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ruby=${RUBY:-$(type -p ruby 2>/dev/null)}
@@ -690,7 +690,7 @@ ruby_get_version() {
# @FUNCTION: ruby_get_implementation
# @RETURN: The implementation of the Ruby interpreter in ${RUBY}, or what 'ruby' points to.
ruby_get_implementation() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local ruby=${RUBY:-$(type -p ruby 2>/dev/null)}
@@ -713,7 +713,7 @@ ruby_get_implementation() {
# rspec version that must be executed. It defaults to 2 for historical
# compatibility.
ruby-ng_rspec() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local version=${RSPEC_VERSION-2}
local files="$@"
@@ -755,7 +755,7 @@ ruby-ng_rspec() {
# This is simply a wrapper around the cucumber command (executed by $RUBY})
# which also respects TEST_VERBOSE and NOCOLOR environment variables.
ruby-ng_cucumber() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ "${DEPEND}${BDEPEND}" != *"dev-util/cucumber"* ]]; then
ewarn "Missing test dependency dev-util/cucumber"
@@ -788,7 +788,7 @@ ruby-ng_cucumber() {
# This is simply a wrapper around the sus-parallel command (executed by $RUBY})
# which also respects TEST_VERBOSE and NOCOLOR environment variables.
ruby-ng_sus() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ "${DEPEND}${BDEPEND}" != *"dev-ruby/sus"* ]]; then
ewarn "Missing test dependency dev-ruby/sus"
@@ -816,7 +816,7 @@ ruby-ng_sus() {
# their script and we installed a broken wrapper for a while.
# This also respects TEST_VERBOSE and NOCOLOR environment variables.
ruby-ng_testrb-2() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ "${DEPEND}${BDEPEND}" != *"dev-ruby/test-unit"* ]]; then
ewarn "Missing test dependency dev-ruby/test-unit"
diff --git a/eclass/scons-utils.eclass b/eclass/scons-utils.eclass
index b8663d34b1a2..4f5e6962f43e 100644
--- a/eclass/scons-utils.eclass
+++ b/eclass/scons-utils.eclass
@@ -132,7 +132,7 @@ fi
escons() {
local ret
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ! ${EPYTHON} ]]; then
eerror "EPYTHON is unset while calling escons. This most likely means that"
diff --git a/eclass/secureboot.eclass b/eclass/secureboot.eclass
index 4459b0341845..52a7a636ddd2 100644
--- a/eclass/secureboot.eclass
+++ b/eclass/secureboot.eclass
@@ -74,7 +74,7 @@ _SECUREBOOT_ECLASS=1
# If USE=secureboot is enabled die if the required user variables are unset
# and die if the keys can't be found.
_secureboot_die_if_unset() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
use secureboot || return
if [[ -z ${SECUREBOOT_SIGN_KEY} || -z ${SECUREBOOT_SIGN_CERT} ]]; then
@@ -99,7 +99,7 @@ _secureboot_die_if_unset() {
# @DESCRIPTION:
# Checks if required user variables are set before starting the build
secureboot_pkg_setup() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
use secureboot || return
# If we are merging a binary then the files in this binary
@@ -117,7 +117,7 @@ secureboot_pkg_setup() {
# If no output file is specified the output file will be the same
# as the input file, i.e. the file will be overwritten.
secureboot_sign_efi_file() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
use secureboot || return
local input_file=${1}
@@ -153,7 +153,7 @@ secureboot_sign_efi_file() {
# By default signed files gain the .signed suffix. If the --in-place
# argument is given the efi files are replaced with a signed version in place.
secureboot_auto_sign() {
- debug-print-function ${FUNCNAME[0]} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
use secureboot || return
[[ ${EBUILD_PHASE} == install ]] ||
diff --git a/eclass/shell-completion.eclass b/eclass/shell-completion.eclass
index badda02f8d3f..caccdee7b19b 100644
--- a/eclass/shell-completion.eclass
+++ b/eclass/shell-completion.eclass
@@ -43,7 +43,7 @@ _shell-completion_get_zshcompdir() {
# @FUNCTION: get_fishcompdir
# @RETURN: the fish completions directory (with EPREFIX)
get_fishcompdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
echo "${EPREFIX}$(_shell-completion_get_fishcompdir)"
}
@@ -51,7 +51,7 @@ get_fishcompdir() {
# @FUNCTION: get_zshcompdir
# @RETURN: the zsh completions directory (with EPREFIX)
get_zshcompdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
echo "${EPREFIX}$(_shell-completion_get_zshcompdir)"
}
@@ -61,7 +61,7 @@ get_zshcompdir() {
# @DESCRIPTION:
# Install fish completion files passed as args.
dofishcomp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -75,7 +75,7 @@ dofishcomp() {
# @DESCRIPTION:
# Install zsh completion files passed as args.
dozshcomp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -89,7 +89,7 @@ dozshcomp() {
# @DESCRIPTION:
# Install fish file under a new name.
newfishcomp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -103,7 +103,7 @@ newfishcomp() {
# @DESCRIPTION:
# Install zsh file under a new name.
newzshcomp() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
diff --git a/eclass/systemd.eclass b/eclass/systemd.eclass
index 95fe64f4414f..f908ad688d9d 100644
--- a/eclass/systemd.eclass
+++ b/eclass/systemd.eclass
@@ -75,7 +75,7 @@ _systemd_unprefix() {
# ${D}). This function always succeeds, even if systemd is not
# installed.
systemd_get_systemunitdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_systemd_get_dir systemdsystemunitdir /lib/systemd/system
}
@@ -86,7 +86,7 @@ systemd_get_systemunitdir() {
# ${D}). This function always succeeds, even if systemd is not
# installed.
systemd_get_userunitdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_systemd_get_dir systemduserunitdir /usr/lib/systemd/user
}
@@ -97,7 +97,7 @@ systemd_get_userunitdir() {
# ${D}). This function always succeeds, even if systemd is not
# installed.
systemd_get_utildir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_systemd_get_dir systemdutildir /lib/systemd
}
@@ -107,7 +107,7 @@ systemd_get_utildir() {
# Output the path for the systemd system generator directory (not including
# ${D}). This function always succeeds, even if systemd is not installed.
systemd_get_systemgeneratordir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_systemd_get_dir systemdsystemgeneratordir /lib/systemd/system-generators
}
@@ -117,7 +117,7 @@ systemd_get_systemgeneratordir() {
# Output the path for the systemd system preset directory (not including
# ${D}). This function always succeeds, even if systemd is not installed.
systemd_get_systempresetdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_systemd_get_dir systemdsystempresetdir /lib/systemd/system-preset
}
@@ -126,7 +126,7 @@ systemd_get_systempresetdir() {
# @DESCRIPTION:
# Output the path for the system sleep directory.
systemd_get_sleepdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
_systemd_get_dir systemdsleepdir /lib/systemd/system-sleep
}
@@ -135,7 +135,7 @@ systemd_get_sleepdir() {
# @DESCRIPTION:
# Install systemd unit(s). Uses doins, thus it is fatal.
systemd_dounit() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -149,7 +149,7 @@ systemd_dounit() {
# @DESCRIPTION:
# Install systemd unit with a new name. Uses newins, thus it is fatal.
systemd_newunit() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -163,7 +163,7 @@ systemd_newunit() {
# @DESCRIPTION:
# Install systemd user unit(s). Uses doins, thus it is fatal.
systemd_douserunit() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -178,7 +178,7 @@ systemd_douserunit() {
# Install systemd user unit with a new name. Uses newins, thus it
# is fatal.
systemd_newuserunit() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -195,7 +195,7 @@ systemd_newuserunit() {
# <conf-file> with the .conf suffix stripped is used
# (e.g. foo.service.conf -> foo.service.d/00gentoo.conf).
systemd_install_serviced() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local src=${1}
local service=${2}
@@ -233,7 +233,7 @@ systemd_install_serviced() {
# RestartSec=120
# EOF
systemd_install_dropin() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local basedir
if [[ $# -ge 1 ]] && [[ $1 == "--user" ]]; then
@@ -265,7 +265,7 @@ systemd_install_dropin() {
# Enable service in desired target, e.g. install a symlink for it.
# Uses dosym, thus it is fatal.
systemd_enable_service() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${#} -eq 2 ]] || die "Synopsis: systemd_enable_service target service"
@@ -290,7 +290,7 @@ systemd_enable_service() {
#
# Doc: https://www.freedesktop.org/wiki/Software/systemd/timedated/
systemd_enable_ntpunit() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
if [[ ${#} -lt 2 ]]; then
die "Usage: systemd_enable_ntpunit <NN-name> <service>..."
fi
@@ -335,7 +335,7 @@ systemd_enable_ntpunit() {
#
# See: https://www.freedesktop.org/wiki/Software/systemd/catalog
systemd_update_catalog() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} == post* ]] \
|| die "${FUNCNAME} disallowed during ${EBUILD_PHASE_FUNC:-${EBUILD_PHASE}}"
@@ -365,7 +365,7 @@ systemd_update_catalog() {
#
# See: man sd_booted
systemd_is_booted() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ -d /run/systemd/system ]]
local ret=${?}
diff --git a/eclass/tmpfiles.eclass b/eclass/tmpfiles.eclass
index aed792adad1c..f543eaf4eb1d 100644
--- a/eclass/tmpfiles.eclass
+++ b/eclass/tmpfiles.eclass
@@ -76,7 +76,7 @@ fi
# @DESCRIPTION:
# Install one or more tmpfiles.d files into /usr/lib/tmpfiles.d.
dotmpfiles() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
local f
for f; do
@@ -97,7 +97,7 @@ dotmpfiles() {
# @DESCRIPTION:
# Install a tmpfiles.d file in /usr/lib/tmpfiles.d under a new name.
newtmpfiles() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
if [[ $2 != *.conf ]]; then
die "tmpfiles.d files must end with .conf"
@@ -116,7 +116,7 @@ newtmpfiles() {
# Call a tmpfiles.d implementation to create new volatile and temporary
# files and directories.
tmpfiles_process() {
- debug-print-function "${FUNCNAME}" "$@"
+ debug-print-function ${FUNCNAME} "$@"
[[ ${EBUILD_PHASE} == postinst ]] || die "${FUNCNAME}: Only valid in pkg_postinst"
[[ ${#} -gt 0 ]] || die "${FUNCNAME}: Must specify at least one filename"
diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass
index 10f29b8a0835..499f1c7259a0 100644
--- a/eclass/tree-sitter-grammar.eclass
+++ b/eclass/tree-sitter-grammar.eclass
@@ -87,7 +87,7 @@ _get_tsg_abi_ver() {
}
tree-sitter-grammar_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default
@@ -102,7 +102,7 @@ tree-sitter-grammar_src_prepare() {
}
tree-sitter-grammar_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local binding
for binding in "${TS_BINDINGS[@]}"; do
@@ -156,7 +156,7 @@ _tree-sitter-grammar_legacy_compile() {
}
tree-sitter-grammar_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# legacy grammars don't have a pyproject.toml
if [[ -f "${S}/pyproject.toml" ]]; then
@@ -186,13 +186,13 @@ tree-sitter-grammar_src_compile() {
# Runs the Tree Sitter parser's test suite.
# See: https://tree-sitter.github.io/tree-sitter/creating-parsers#command-test
tree-sitter-grammar_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
tree-sitter test || die "Test suite failed"
}
tree-sitter-grammar_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# legacy grammars don't have a pyproject.toml
if [[ -f "${S}/pyproject.toml" ]]; then
diff --git a/eclass/udev.eclass b/eclass/udev.eclass
index 2c3ef38a3626..9867c68d5836 100644
--- a/eclass/udev.eclass
+++ b/eclass/udev.eclass
@@ -67,7 +67,7 @@ _udev_get_udevdir() {
# @DESCRIPTION:
# Use the short version $(get_udevdir) instead!
udev_get_udevdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
eerror "This ebuild should be using the get_udevdir() function instead of the deprecated udev_get_udevdir()"
die "Deprecated function call: udev_get_udevdir(), please report to (overlay) maintainers."
@@ -79,7 +79,7 @@ udev_get_udevdir() {
# This function always succeeds, even if udev is not installed.
# The fallback value is set to /lib/udev
get_udevdir() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
echo "$(_udev_get_udevdir)"
}
@@ -89,7 +89,7 @@ get_udevdir() {
# @DESCRIPTION:
# Install udev rule(s). Uses doins, thus it is fatal.
udev_dorules() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
@@ -103,7 +103,7 @@ udev_dorules() {
# @DESCRIPTION:
# Install udev rule with a new name. Uses newins, thus it is fatal.
udev_newrules() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
(
insopts -m 0644
diff --git a/eclass/vcs-clean.eclass b/eclass/vcs-clean.eclass
index b9282facd83c..8558d9998d34 100644
--- a/eclass/vcs-clean.eclass
+++ b/eclass/vcs-clean.eclass
@@ -23,7 +23,7 @@ esac
# Remove CVS directories and .cvs* files recursively. Useful when a
# source tarball contains internal CVS directories. Defaults to ${PWD}.
ecvs_clean() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ $# -eq 0 ]] && set -- .
find "$@" '(' -type d -name 'CVS' -prune -o -type f -name '.cvs*' ')' \
@@ -36,7 +36,7 @@ ecvs_clean() {
# Remove .svn directories recursively. Useful when a source tarball
# contains internal Subversion directories. Defaults to ${PWD}.
esvn_clean() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ $# -eq 0 ]] && set -- .
find "$@" -type d -name '.svn' -prune -exec rm -rf '{}' + || die
@@ -48,7 +48,7 @@ esvn_clean() {
# Remove .git* directories recursively. Useful when a source tarball
# contains internal Git directories. Defaults to ${PWD}.
egit_clean() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
[[ $# -eq 0 ]] && set -- .
find "$@" -type d -name '.git*' -prune -exec rm -rf '{}' + || die
diff --git a/eclass/vcs-snapshot.eclass b/eclass/vcs-snapshot.eclass
index 14b9a8dd22ff..998fe348a2ab 100644
--- a/eclass/vcs-snapshot.eclass
+++ b/eclass/vcs-snapshot.eclass
@@ -57,7 +57,7 @@ _VCS_SNAPSHOT_ECLASS=1
# local names. Other archive types will be passed down to regular
# unpack.
vcs-snapshot_src_unpack() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local renamed_any=
local f
diff --git a/eclass/vim-doc.eclass b/eclass/vim-doc.eclass
index e87310319c7d..ad595c5a67c6 100644
--- a/eclass/vim-doc.eclass
+++ b/eclass/vim-doc.eclass
@@ -29,7 +29,7 @@ esac
# @DESCRIPTION:
# Update the documentation tags in the versioned Vim directory.
update_vim_helptags() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local vimfiles helpfile files vim d
diff --git a/eclass/vim-plugin.eclass b/eclass/vim-plugin.eclass
index 8c36f42ba277..d18e2ef8ef5f 100644
--- a/eclass/vim-plugin.eclass
+++ b/eclass/vim-plugin.eclass
@@ -46,7 +46,7 @@ if [[ ${_DEFINE_VIM_PLUGIN_SRC_PREPARE} ]]; then
# other packages.
# Note that this function is only defined and exported in EAPIs >= 8.
vim-plugin_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
default_src_prepare
@@ -90,7 +90,7 @@ _VIM_PLUGIN_ALLOWED_DIRS=(
# }
# @CODE
vim-plugin_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
# Install non-vim-help-docs
einstalldocs
@@ -124,7 +124,7 @@ vim-plugin_src_install() {
#
# * display_vim_plugin_help
vim-plugin_pkg_postinst() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
update_vim_helptags # from vim-doc
update_vim_afterscripts # see below
@@ -137,7 +137,7 @@ vim-plugin_pkg_postinst() {
# This function calls the update_vim_helptags and update_vim_afterscripts
# functions and eventually removes a bunch of empty directories.
vim-plugin_pkg_postrm() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
update_vim_helptags # from vim-doc
update_vim_afterscripts # see below
@@ -154,7 +154,7 @@ vim-plugin_pkg_postrm() {
# Creates scripts in /usr/share/vim/vimfiles/after/*
# comprised of the snippets in /usr/share/vim/vimfiles/after/*/*.d
update_vim_afterscripts() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local d f afterdir="${EROOT}"/usr/share/vim/vimfiles/after
@@ -193,7 +193,7 @@ update_vim_afterscripts() {
# extra message regarding enabling filetype plugins is displayed if
# VIM_PLUGIN_MESSAGES includes the word "filetype".
display_vim_plugin_help() {
- debug-print-function ${FUNCNAME} "${@}"
+ debug-print-function ${FUNCNAME} "$@"
local h
diff --git a/eclass/webapp.eclass b/eclass/webapp.eclass
index 19fa9590707c..ded66fa7f671 100644
--- a/eclass/webapp.eclass
+++ b/eclass/webapp.eclass
@@ -62,7 +62,7 @@ WEBAPP_CLEANER="${EROOT}/usr/sbin/webapp-cleaner"
# Load the config file /etc/vhosts/webapp-config
# Supports both the old bash version, and the new python version
webapp_read_config() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if has_version '>=app-admin/webapp-config-1.50'; then
ENVVAR=$(${WEBAPP_CONFIG} --query ${PN} ${PVR}) || die "Could not read settings from webapp-config!"
@@ -79,7 +79,7 @@ webapp_read_config() {
# Check whether a specified file exists in the given directory (`.' by default)
webapp_checkfileexists() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local my_prefix=${2:+${2}/}
@@ -92,12 +92,12 @@ webapp_checkfileexists() {
}
webapp_check_installedat() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
${WEBAPP_CONFIG} --show-installed -h localhost -d "${INSTALL_DIR}" 2> /dev/null
}
webapp_getinstalltype() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
if ! has vhosts ${IUSE} || use vhosts; then
return
@@ -174,7 +174,7 @@ need_httpd_fastcgi() {
# @DESCRIPTION:
# Mark a file config-protected for a web-based application.
webapp_configfile() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local m
for m in "$@"; do
@@ -197,7 +197,7 @@ webapp_configfile() {
# Install a script that will run after a virtual copy is created, and
# before a virtual copy has been removed.
webapp_hook_script() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_checkfileexists "${1}"
@@ -211,7 +211,7 @@ webapp_hook_script() {
# @DESCRIPTION:
# Install a text file containing post-installation instructions.
webapp_postinst_txt() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_checkfileexists "${2}"
@@ -224,7 +224,7 @@ webapp_postinst_txt() {
# @DESCRIPTION:
# Install a text file containing post-upgrade instructions.
webapp_postupgrade_txt() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_checkfileexists "${2}"
@@ -234,7 +234,7 @@ webapp_postupgrade_txt() {
# helper for webapp_serverowned()
_webapp_serverowned() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_checkfileexists "${1}" "${D}"
local my_file
@@ -253,7 +253,7 @@ _webapp_serverowned() {
# The ownership of the file is NOT set until the application is installed using
# the webapp-config tool. If -R is given directories are handled recursively.
webapp_serverowned() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local m
if [[ "${1}" == "-R" ]]; then
@@ -280,7 +280,7 @@ webapp_serverowned() {
# used by default. Note: this function will automagically prepend $1 to the
# front of your config file's name.
webapp_server_configfile() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_checkfileexists "${2}"
@@ -303,7 +303,7 @@ webapp_server_configfile() {
# If a version is given the script should upgrade the database schema from
# the given version to $PVR.
webapp_sqlscript() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_checkfileexists "${2}"
@@ -330,7 +330,7 @@ webapp_sqlscript() {
# You need to call this function in src_install() BEFORE anything else has run.
# For now we just create required webapp-config directories.
webapp_src_preinst() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
# sanity checks, to catch bugs in the ebuild
if [[ ! -f "${T}/${SETUP_CHECK_FILE}" ]]; then
@@ -371,7 +371,7 @@ webapp_src_preinst() {
# You need to call this function BEFORE anything else has run in your custom
# pkg_setup().
webapp_pkg_setup() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
# to test whether or not the ebuild has correctly called this function
# we add an empty file to the filesystem
@@ -432,7 +432,7 @@ webapp_pkg_setup() {
# You need to call this function AFTER everything else has run in your custom
# src_install().
webapp_src_install() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
# to test whether or not the ebuild has correctly called this function
# we add an empty file to the filesystem
@@ -460,7 +460,7 @@ webapp_src_install() {
# You need to call this function AFTER everything else has run in your custom
# pkg_postinst().
webapp_pkg_postinst() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
webapp_read_config
@@ -539,7 +539,7 @@ webapp_pkg_postinst() {
# remove all installed copies of this web application. Otherwise instruct the
# user to manually remove those copies. See bug #136959.
webapp_pkg_prerm() {
- debug-print-function $FUNCNAME $*
+ debug-print-function ${FUNCNAME} "$@"
local my_output=
my_output="$(${WEBAPP_CONFIG} --list-installs ${PN} ${PVR})"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: bb1b0ac3768d755253ac8dbe2b7598dd73998bdf
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:47 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb1b0ac3
webapp.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/webapp.eclass | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/eclass/webapp.eclass b/eclass/webapp.eclass
index e8bc127e1b96..19fa9590707c 100644
--- a/eclass/webapp.eclass
+++ b/eclass/webapp.eclass
@@ -4,7 +4,7 @@
# @ECLASS: webapp.eclass
# @MAINTAINER:
# web-apps@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: functions for installing applications to run under a web server
# @DESCRIPTION:
# The webapp eclass contains functions to handle web applications with
@@ -14,10 +14,6 @@ if [[ -z ${_WEBAPP_ECLASS} ]]; then
_WEBAPP_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -55,9 +51,9 @@ IS_REPLACE=0
INSTALL_CHECK_FILE="installed_by_webapp_eclass"
SETUP_CHECK_FILE="setup_by_webapp_eclass"
-ETC_CONFIG="${ROOT%/}/etc/vhosts/webapp-config"
-WEBAPP_CONFIG="${ROOT%/}/usr/sbin/webapp-config"
-WEBAPP_CLEANER="${ROOT%/}/usr/sbin/webapp-cleaner"
+ETC_CONFIG="${EROOT}/etc/vhosts/webapp-config"
+WEBAPP_CONFIG="${EROOT}/usr/sbin/webapp-config"
+WEBAPP_CLEANER="${EROOT}/usr/sbin/webapp-cleaner"
# ==============================================================================
# INTERNAL FUNCTIONS
@@ -370,7 +366,7 @@ webapp_src_preinst() {
# @DESCRIPTION:
# The default pkg_setup() for this eclass. This will gather required variables
# from webapp-config and check if there is an application installed to
-# `${ROOT%/}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set.
+# `${ROOT}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set.
#
# You need to call this function BEFORE anything else has run in your custom
# pkg_setup().
@@ -394,7 +390,7 @@ webapp_pkg_setup() {
G_HOSTNAME="localhost"
webapp_read_config
- local my_dir="${ROOT%/}/${VHOST_ROOT}/${MY_HTDOCSBASE}/${PN}"
+ local my_dir="${ROOT}/${VHOST_ROOT}/${MY_HTDOCSBASE}/${PN}"
# if USE=vhosts is enabled OR no application is installed we're done here
if ! has vhosts ${IUSE} || use vhosts || [[ ! -d "${my_dir}" ]]; then
@@ -458,7 +454,7 @@ webapp_src_install() {
# @FUNCTION: webapp_pkg_postinst
# @DESCRIPTION:
# The default pkg_postinst() for this eclass. This installs the web application to
-# `${ROOT%/}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set. Otherwise
+# `${ROOT}/var/www/localhost/htdocs/${PN}/' if USE=vhosts is not set. Otherwise
# display a short notice how to install this application with webapp-config.
#
# You need to call this function AFTER everything else has run in your custom
@@ -469,7 +465,7 @@ webapp_pkg_postinst() {
webapp_read_config
# sanity checks, to catch bugs in the ebuild
- if [[ ! -f "${ROOT%/}/${MY_APPDIR}/${INSTALL_CHECK_FILE}" ]]; then
+ if [[ ! -f "${ROOT}/${MY_APPDIR}/${INSTALL_CHECK_FILE}" ]]; then
eerror
eerror "This ebuild did not call webapp_src_install() at the end"
eerror "of the src_install() function"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 49aff324fb4fe754e663f0979741c1139fb5ce42
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:41 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49aff324
vcs-clean.eclass: drop support for EAPI 5 and 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/vcs-clean.eclass | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/eclass/vcs-clean.eclass b/eclass/vcs-clean.eclass
index 719bdec17676..b9282facd83c 100644
--- a/eclass/vcs-clean.eclass
+++ b/eclass/vcs-clean.eclass
@@ -6,17 +6,13 @@
# base-system@gentoo.org
# @AUTHOR:
# Benedikt Böhm <hollow@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: helper functions to remove VCS directories
if [[ -z ${_VCS_CLEAN_ECLASS} ]] ; then
_VCS_CLEAN_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 6ff32128c05cd0f447bb2d77430695591370a8a6
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:36 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ff32128
tmpfiles.eclass: drop support for EAPI 5 and 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/tmpfiles.eclass | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/eclass/tmpfiles.eclass b/eclass/tmpfiles.eclass
index 63889a275fef..aed792adad1c 100644
--- a/eclass/tmpfiles.eclass
+++ b/eclass/tmpfiles.eclass
@@ -8,7 +8,7 @@
# @AUTHOR:
# Mike Gilbert <floppym@gentoo.org>
# William Hubbs <williamh@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Functions related to tmpfiles.d files
# @DESCRIPTION:
# This eclass provides functionality related to installing and
@@ -32,7 +32,7 @@
# Typical usage of this eclass:
#
# @CODE
-# EAPI=6
+# EAPI=8
# inherit tmpfiles
#
# ...
@@ -56,10 +56,6 @@ if [[ -z ${_TMPFILES_ECLASS} ]]; then
_TMPFILES_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: cce64b79655fac9dbcf4111c89533fb13832fb23
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:42 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cce64b79
vdr-plugin-2.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/vdr-plugin-2.eclass | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/eclass/vdr-plugin-2.eclass b/eclass/vdr-plugin-2.eclass
index dc70ca7c5761..a00426fdad39 100644
--- a/eclass/vdr-plugin-2.eclass
+++ b/eclass/vdr-plugin-2.eclass
@@ -60,14 +60,14 @@
# PO_SUBDIR="bla foo/bla"
# @CODE
+if [[ -z ${_VDR_PLUGIN_2_ECLASS} ]]; then
+_VDR_PLUGIN_2_ECLASS=1
+
case ${EAPI} in
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_VDR_PLUGIN_2_ECLASS} ]]; then
-_VDR_PLUGIN_2_ECLASS=1
-
inherit flag-o-matic strip-linguas toolchain-funcs unpacker
# Name of the plugin stripped from all vdrplugin-, vdr- and -cvs pre- and postfixes
@@ -112,14 +112,14 @@ vdr_create_plugindb_file() {
# EBUILD=${CATEGORY}/${PN}
# EBUILD_V=${PVR}
# EOT
-# obsolet? fix me later...
+# obsolete? fix me later...
{
echo "VDRPLUGIN_DB=1"
echo "CREATOR=ECLASS"
echo "EBUILD=${CATEGORY}/${PN}"
echo "EBUILD_V=${PVR}"
echo "PLUGINS=\"$@\""
- } > "${D%/}/${DB_FILE}"
+ } > "${D}/${DB_FILE}" || die
}
# @FUNCTION: vdr_create_header_checksum_file
@@ -423,7 +423,7 @@ vdr-plugin-2_pkg_setup() {
if [[ -n "${VDR_LOCAL_PATCHES_DIR}" ]]; then
eerror "Using VDR_LOCAL_PATCHES_DIR is deprecated!"
eerror "Please move all your patches into"
- eerror "${EROOT%/}/etc/portage/patches/${CATEGORY}/${P}"
+ eerror "${EROOT}/etc/portage/patches/${CATEGORY}/${P}"
eerror "and remove or unset the VDR_LOCAL_PATCHES_DIR variable."
die
fi
@@ -517,8 +517,7 @@ vdr-plugin-2_src_compile() {
LOCALEDIR="${TMP_LOCALE_DIR}" \
LOCDIR="${TMP_LOCALE_DIR}" \
LIBDIR="${S}" \
- TMPDIR="${T}" \
- || die "emake all failed"
+ TMPDIR="${T}"
;;
esac
@@ -564,8 +563,7 @@ vdr-plugin-2_src_install() {
emake install \
${BUILD_PARAMS} \
TMPDIR="${T}" \
- DESTDIR="${D%/}" \
- || die "emake install (makefile target) failed"
+ DESTDIR="${D}"
else
einfo "Notice: Plugin use still the old Makefile handling"
insinto "${VDR_PLUGIN_DIR}"
@@ -579,12 +577,12 @@ vdr-plugin-2_src_install() {
local linguas
for linguas in ${LINGUAS[*]}; do
insinto "${LOCDIR}"
- cp -r --parents ${linguas}* "${D%/}"/${LOCDIR} \
+ cp -r --parents ${linguas}* "${D}"/${LOCDIR} \
|| die "could not copy linguas files"
done
fi
- cd "${D%/}/usr/$(get_libdir)/vdr/plugins" \
+ cd "${D}/usr/$(get_libdir)/vdr/plugins" \
|| die "could not change to \$D/usr/libdir/vdr/plugins"
# create list of all created plugin libs
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 408ab46afe18d455c3603bedb04610f52f5acc28
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:37 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:37 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=408ab46a
toolchain-funcs.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 66819996ea33..478177de141e 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -4,7 +4,7 @@
# @ECLASS: toolchain-funcs.eclass
# @MAINTAINER:
# Toolchain Ninjas <toolchain@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: functions to query common info about the toolchain
# @DESCRIPTION:
# The toolchain-funcs aims to provide a complete suite of functions
@@ -17,10 +17,6 @@ if [[ -z ${_TOOLCHAIN_FUNCS_ECLASS} ]]; then
_TOOLCHAIN_FUNCS_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -1117,7 +1113,6 @@ gen_usr_ldscript() {
ewarn "${FUNCNAME}: Please migrate to usr-ldscript.eclass"
local lib libdir=$(get_libdir) output_format="" auto=false suffix=$(get_libname)
- [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
tc-is-static-only && return
use prefix && return
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: b4b611d7b4d6fed49624e4fb14edf06c0a8df559
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:44 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b4b611d7
vim-plugin.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/vim-plugin.eclass | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/eclass/vim-plugin.eclass b/eclass/vim-plugin.eclass
index b2ae0cb9e4c3..8c36f42ba277 100644
--- a/eclass/vim-plugin.eclass
+++ b/eclass/vim-plugin.eclass
@@ -4,7 +4,7 @@
# @ECLASS: vim-plugin.eclass
# @MAINTAINER:
# vim@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: used for installing vim plugins
# @DESCRIPTION:
# This eclass simplifies installation of app-vim plugins into
@@ -16,17 +16,13 @@ if [[ -z ${_VIM_PLUGIN_ECLASS} ]]; then
_VIM_PLUGIN_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
inherit vim-doc
-[[ ${EAPI} != [67] ]] && _DEFINE_VIM_PLUGIN_SRC_PREPARE=true
+[[ ${EAPI} != 7 ]] && _DEFINE_VIM_PLUGIN_SRC_PREPARE=true
# @ECLASS_VARIABLE: VIM_PLUGIN_VIM_VERSION
# @DESCRIPTION:
@@ -102,8 +98,8 @@ vim-plugin_src_install() {
# Install remainder of plugin
insinto /usr/share/vim/vimfiles/
local d
- case ${EAPI:-0} in
- 6|7)
+ case ${EAPI} in
+ 7)
for d in *; do
[[ -d "${d}" ]] || continue
doins -r "${d}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 078850f794af926ef62a403ff17fa0e7876e5992
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:43 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=078850f7
vim-doc.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/vim-doc.eclass | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/eclass/vim-doc.eclass b/eclass/vim-doc.eclass
index f20f7397cf65..e87310319c7d 100644
--- a/eclass/vim-doc.eclass
+++ b/eclass/vim-doc.eclass
@@ -4,7 +4,7 @@
# @ECLASS: vim-doc.eclass
# @MAINTAINER:
# vim@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Eclass for vim{,-plugin}.eclass to update documentation tags.
# @DESCRIPTION:
# This eclass is used by vim.eclass and vim-plugin.eclass to update
@@ -16,13 +16,10 @@
# DEPEND in vim-plugin or by whatever version of vim is being
# installed by the eclass.
-if [[ ! ${_VIM_DOC_ECLASS} ]] ; then
+if [[ -z ${_VIM_DOC_ECLASS} ]]; then
+_VIM_DOC_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -58,7 +55,7 @@ update_vim_helptags() {
# Install the documentation symlinks into the versioned vim
# directory and run :helptags
- for d in "${EROOT%/}"/usr/share/vim/vim[0-9]*; do
+ for d in "${EROOT}"/usr/share/vim/vim[0-9]*; do
[[ -d "${d}/doc" ]] || continue # catch a failed glob
# Remove links
@@ -104,5 +101,4 @@ update_vim_helptags() {
fi
}
-_VIM_DOC_ECLASS=1
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 8d9c83916b723374b5d5a6c9d4fd010a9be6f059
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:35 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d9c8391
systemd.eclass: drop support for EAPI 5 and 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/systemd.eclass | 66 ++++++---------------------------------------------
1 file changed, 7 insertions(+), 59 deletions(-)
diff --git a/eclass/systemd.eclass b/eclass/systemd.eclass
index a5f0decde1e3..95fe64f4414f 100644
--- a/eclass/systemd.eclass
+++ b/eclass/systemd.eclass
@@ -4,7 +4,7 @@
# @ECLASS: systemd.eclass
# @MAINTAINER:
# systemd@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: helper functions to install systemd units
# @DESCRIPTION:
# This eclass provides a set of functions to install unit files for
@@ -24,22 +24,17 @@
# }
# @CODE
+if [[ -z ${_SYSTEMD_ECLASS} ]]; then
+_SYSTEMD_ECLASS=1
+
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
inherit toolchain-funcs
-if [[ ${EAPI} == [56] ]]; then
- DEPEND="virtual/pkgconfig"
-else
- BDEPEND="virtual/pkgconfig"
-fi
+BDEPEND="virtual/pkgconfig"
# @FUNCTION: _systemd_get_dir
# @USAGE: <variable-name> <fallback-directory>
@@ -85,15 +80,6 @@ systemd_get_systemunitdir() {
_systemd_get_dir systemdsystemunitdir /lib/systemd/system
}
-# @FUNCTION: systemd_get_unitdir
-# @DESCRIPTION:
-# Deprecated alias for systemd_get_systemunitdir.
-systemd_get_unitdir() {
- [[ ${EAPI} == 5 ]] || die "${FUNCNAME} is banned in EAPI 6, use systemd_get_systemunitdir instead"
-
- systemd_get_systemunitdir
-}
-
# @FUNCTION: systemd_get_userunitdir
# @DESCRIPTION:
# Output the path for the systemd user unit directory (not including
@@ -339,46 +325,6 @@ systemd_enable_ntpunit() {
return ${ret}
}
-# @FUNCTION: systemd_with_unitdir
-# @USAGE: [<configure-option-name>]
-# @DESCRIPTION:
-# Note: deprecated and banned in EAPI 6. Please use full --with-...=
-# parameter for improved ebuild readability.
-#
-# Output '--with-systemdsystemunitdir' as expected by systemd-aware configure
-# scripts. This function always succeeds. Its output may be quoted in order
-# to preserve whitespace in paths. systemd_to_myeconfargs() is preferred over
-# this function.
-#
-# If upstream does use invalid configure option to handle installing systemd
-# units (e.g. `--with-systemdunitdir'), you can pass the 'suffix' as an optional
-# argument to this function (`$(systemd_with_unitdir systemdunitdir)'). Please
-# remember to report a bug upstream as well.
-systemd_with_unitdir() {
- [[ ${EAPI} == 5 ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}, use --with-${1:-systemdsystemunitdir}=\"\$(systemd_get_systemunitdir)\" instead"
-
- debug-print-function ${FUNCNAME} "${@}"
- local optname=${1:-systemdsystemunitdir}
-
- echo --with-${optname}="$(systemd_get_systemunitdir)"
-}
-
-# @FUNCTION: systemd_with_utildir
-# @DESCRIPTION:
-# Note: deprecated and banned in EAPI 6. Please use full --with-...=
-# parameter for improved ebuild readability.
-#
-# Output '--with-systemdsystemutildir' as used by some packages to install
-# systemd helpers. This function always succeeds. Its output may be quoted
-# in order to preserve whitespace in paths.
-systemd_with_utildir() {
- [[ ${EAPI} == 5 ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}, use --with-systemdutildir=\"\$(systemd_get_utildir)\" instead"
-
- debug-print-function ${FUNCNAME} "${@}"
-
- echo --with-systemdutildir="$(systemd_get_utildir)"
-}
-
# @FUNCTION: systemd_update_catalog
# @DESCRIPTION:
# Update the journald catalog. This needs to be called after installing
@@ -448,3 +394,5 @@ systemd_reenable() {
fi
done
}
+
+fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: b8697c15fc9eb4e81226455b242a8a22caff8620
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:39 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8697c15
udev.eclass: drop support for EAPI 5 and 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/udev.eclass | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/eclass/udev.eclass b/eclass/udev.eclass
index 7fd99cbba8b0..2c3ef38a3626 100644
--- a/eclass/udev.eclass
+++ b/eclass/udev.eclass
@@ -4,7 +4,7 @@
# @ECLASS: udev.eclass
# @MAINTAINER:
# systemd@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Default eclass for determining udev directories.
# @DESCRIPTION:
# Default eclass for determining udev directories.
@@ -40,21 +40,13 @@ if [[ -z ${_UDEV_ECLASS} ]]; then
_UDEV_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
inherit toolchain-funcs
-if [[ ${EAPI} == [56] ]]; then
- DEPEND="virtual/pkgconfig"
-else
- BDEPEND="virtual/pkgconfig"
-fi
+BDEPEND="virtual/pkgconfig"
# @FUNCTION: _udev_get_udevdir
# @INTERNAL
@@ -126,7 +118,7 @@ udev_newrules() {
# Should be called from pkg_postinst and pkg_postrm in packages which install
# udev rules or hwdb data.
udev_reload() {
- if [[ -n ${ROOT%/} ]]; then
+ if [[ -n ${ROOT} ]]; then
return 0
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: c7082538536c5fceab8d67da2365a938391c0d94
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:38 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:38 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7082538
toolchain.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/toolchain.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 34f595bcd1bc..6bad1def19f4 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -11,14 +11,14 @@
# GNAT for Ada). If not building GCC itself, please use toolchain-funcs.eclass
# instead.
+if [[ -z ${_TOOLCHAIN_ECLASS} ]]; then
+_TOOLCHAIN_ECLASS=1
+
case ${EAPI} in
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_TOOLCHAIN_ECLASS} ]]; then
-_TOOLCHAIN_ECLASS=1
-
DESCRIPTION="The GNU Compiler Collection"
HOMEPAGE="https://gcc.gnu.org/"
@@ -2647,7 +2647,7 @@ fix_libtool_libdir_paths() {
pushd "${D}" >/dev/null || die
pushd "./${libpath}" >/dev/null || die
- local dir="${PWD#${D%/}}"
+ local dir="${PWD#${D}}"
local allarchives=$(echo *.la)
allarchives="\(${allarchives// /\\|}\)"
popd >/dev/null || die
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: d5184aa89c525edc88ebf0df095c179dbab352fa
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:34 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:34 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5184aa8
strip-linguas.eclass: drop support for EAPI 5 and 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/strip-linguas.eclass | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/eclass/strip-linguas.eclass b/eclass/strip-linguas.eclass
index b31f414c87c3..355bdcc6cd19 100644
--- a/eclass/strip-linguas.eclass
+++ b/eclass/strip-linguas.eclass
@@ -6,17 +6,13 @@
# Ulrich Müller <ulm@gentoo.org>
# @AUTHOR:
# Mike Frysinger <vapier@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: convenience function for LINGUAS support
if [[ -z ${_STRIP_LINGUAS_ECLASS} ]]; then
_STRIP_LINGUAS_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 52f627a5cd18b6dec318d672438b291ebddf94b9
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:31 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52f627a5
ruby-fakegem.eclass: drop support for EAPI 5 and 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/ruby-fakegem.eclass | 57 ++++++++++++++++------------------------------
1 file changed, 20 insertions(+), 37 deletions(-)
diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
index 04099a82ef4f..207ba42b9544 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.eclass
@@ -8,13 +8,21 @@
# Author: Diego E. Pettenò <flameeyes@gentoo.org>
# Author: Alex Legler <a3li@gentoo.org>
# Author: Hans de Graaff <graaff@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: ruby-ng
# @BLURB: An eclass for installing Ruby packages to behave like RubyGems.
# @DESCRIPTION:
# This eclass allows to install arbitrary Ruby libraries (including Gems),
# providing integration into the RubyGems system even for "regular" packages.
+if [[ -z ${_RUBY_FAKEGEM_ECLASS} ]]; then
+_RUBY_FAKEGEM_ECLASS=1
+
+case ${EAPI} in
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
inherit ruby-ng
# @ECLASS_VARIABLE: RUBY_FAKEGEM_NAME
@@ -61,14 +69,7 @@ RUBY_FAKEGEM_TASK_TEST="${RUBY_FAKEGEM_TASK_TEST-test}"
# - rdoc (calls `rdoc-2`, adds dev-ruby/rdoc to the dependencies);
# - yard (calls `yard`, adds dev-ruby/yard to the dependencies);
# - none
-case ${EAPI} in
- 5|6)
- RUBY_FAKEGEM_RECIPE_DOC="${RUBY_FAKEGEM_RECIPE_DOC-rake}"
- ;;
- *)
- RUBY_FAKEGEM_RECIPE_DOC="${RUBY_FAKEGEM_RECIPE_DOC-rdoc}"
- ;;
-esac
+: "${RUBY_FAKEGEM_RECIPE_DOC=rdoc}"
# @ECLASS_VARIABLE: RUBY_FAKEGEM_DOCDIR
# @DEFAULT_UNSET
@@ -138,15 +139,6 @@ RUBY_FAKEGEM_BINDIR="${RUBY_FAKEGEM_BINDIR-bin}"
# legacy way to install extensions for a long time.
RUBY_FAKEGEM_EXTENSION_LIBDIR="${RUBY_FAKEGEM_EXTENSION_LIBDIR-lib}"
-case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
- 7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
RUBY_FAKEGEM_SUFFIX="${RUBY_FAKEGEM_SUFFIX:-}"
@@ -215,13 +207,7 @@ SRC_URI="https://rubygems.org/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}$
ruby_add_bdepend "virtual/rubygems"
ruby_add_rdepend virtual/rubygems
-case ${EAPI} in
- 5|6)
- ;;
- *)
- ruby_add_depend virtual/rubygems
- ;;
-esac
+ruby_add_depend virtual/rubygems
# Many (but not all) extensions use pkgconfig in src_configure.
if [[ ${#RUBY_FAKEGEM_EXTENSIONS[@]} -gt 0 ]]; then
@@ -258,7 +244,7 @@ ruby_fakegem_doins() {
(
insinto $(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}
doins "$@"
- ) || die "failed $0 $@"
+ )
}
# @FUNCTION: ruby_fakegem_newins
@@ -278,7 +264,7 @@ ruby_fakegem_newins() {
insinto $(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}${newdirname}
newins "$1" ${newbasename}
- ) || die "failed $0 $@"
+ )
}
# @FUNCTION: ruby_fakegem_install_gemspec
@@ -303,7 +289,7 @@ ruby_fakegem_install_gemspec() {
ruby_fakegem_genspec ${gemspec}
fi
fi
- ) || die "Unable to generate gemspec file."
+ )
insinto $(ruby_fakegem_gemsdir)/specifications
newins ${gemspec} ${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}.gemspec || die "Unable to install gemspec file."
@@ -349,14 +335,9 @@ ruby_fakegem_metadata_gemspec() {
ruby_fakegem_genspec() {
debug-print-function ${FUNCNAME} "${@}"
- case ${EAPI} in
- 5|6) ;;
- *)
- eqawarn "Generating generic fallback gemspec *without* dependencies"
- eqawarn "This will only work when there are no runtime dependencies"
- eqawarn "Set RUBY_FAKEGEM_GEMSPEC to generate a proper specifications file"
- ;;
- esac
+ eqawarn "Generating generic fallback gemspec *without* dependencies"
+ eqawarn "This will only work when there are no runtime dependencies"
+ eqawarn "Set RUBY_FAKEGEM_GEMSPEC to generate a proper specifications file"
local required_paths="'lib'"
for path in ${RUBY_FAKEGEM_REQUIRE_PATHS}; do
@@ -434,7 +415,7 @@ EOF
exeinto ${binpath:-/usr/bin}
newexe "${T}"/gembin-wrapper-${gembinary} $(basename $newbinary)
- ) || die "Unable to create fakegem wrapper"
+ )
}
# @FUNCTION: each_fakegem_configure
@@ -701,3 +682,5 @@ all_ruby_install() {
all_fakegem_install
}
+
+fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: c274ff15c3daa526f567c4cb6e500b9a50214db6
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:28 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:28 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c274ff15
python-r1.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/python-r1.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index adf87c2c52f7..28daaed1b463 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.eclass
@@ -30,14 +30,14 @@
# For more information, please see the Python Guide:
# https://projects.gentoo.org/python/guide/
+if [[ -z ${_PYTHON_R1_ECLASS} ]]; then
+_PYTHON_R1_ECLASS=1
+
case ${EAPI} in
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_PYTHON_R1_ECLASS} ]]; then
-_PYTHON_R1_ECLASS=1
-
if [[ ${_PYTHON_SINGLE_R1_ECLASS} ]]; then
die 'python-r1.eclass can not be used with python-single-r1.eclass.'
elif [[ ${_PYTHON_ANY_R1_ECLASS} ]]; then
@@ -789,7 +789,7 @@ python_replicate_script() {
)
python_fix_shebang -q \
- "${files[@]/*\//${D%/}/${PYTHON_SCRIPTDIR}/}"
+ "${files[@]/*\//${D}${PYTHON_SCRIPTDIR}/}"
}
local files=( "${@}" )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 177a7f4ab73cddf91f2e9f19d97510bf027e0d0c
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:32 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=177a7f4a
ruby-ng.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/ruby-ng.eclass | 81 +++++++++++----------------------------------------
1 file changed, 17 insertions(+), 64 deletions(-)
diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 2ef6d2247435..2a552094f60f 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -8,7 +8,7 @@
# Author: Diego E. Pettenò <flameeyes@gentoo.org>
# Author: Alex Legler <a3li@gentoo.org>
# Author: Hans de Graaff <graaff@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: An eclass for installing Ruby packages with proper support for multiple Ruby slots.
# @DESCRIPTION:
# The Ruby eclass is designed to allow an easier installation of Ruby packages
@@ -66,19 +66,14 @@
# (e.g. selenium's firefox driver extension). When set this argument is
# passed to "grep -E" to remove reporting of these shared objects.
+if [[ -z ${_RUBY_NG_ECLASS} ]]; then
+_RUBY_NG_ECLASS=1
+
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_RUBY_NG_ECLASS} ]]; then
-_RUBY_NG_ECLASS=1
-
-[[ ${EAPI} == 6 ]] && inherit eqawarn toolchain-funcs
inherit multilib ruby-utils
# S is no longer automatically assigned when it doesn't exist.
@@ -222,16 +217,7 @@ ruby_add_rdepend() {
case $# in
1) ;;
2)
- case ${EAPI} in
- 6)
- [[ "${GENTOO_DEV}" == "yes" ]] && eqawarn "You can now use the usual syntax in ruby_add_rdepend for $CATEGORY/$PF"
- ruby_add_rdepend "$(_ruby_wrap_conditions "$1" "$2")"
- return
- ;;
- *)
- die "Use the usual depend syntax with a single argument in ruby_add_rdepend"
- ;;
- esac
+ die "Use the usual depend syntax with a single argument in ruby_add_rdepend"
;;
*)
die "bad number of arguments to $0"
@@ -245,10 +231,7 @@ ruby_add_rdepend() {
# Add the dependency as a test-dependency since we're going to
# execute the code during test phase.
- case ${EAPI} in
- 6) DEPEND+=" test? ( ${_RUBY_ATOMS_SAMELIB_RESULT} )" ;;
- *) BDEPEND+=" test? ( ${_RUBY_ATOMS_SAMELIB_RESULT} )" ;;
- esac
+ BDEPEND+=" test? ( ${_RUBY_ATOMS_SAMELIB_RESULT} )"
if ! has test "$IUSE"; then
IUSE+=" test"
RESTRICT+=" !test? ( test )"
@@ -258,8 +241,8 @@ ruby_add_rdepend() {
# @FUNCTION: ruby_add_bdepend
# @USAGE: dependencies
# @DESCRIPTION:
-# Adds the specified dependencies, with use condition(s) to DEPEND (or
-# BDEPEND in EAPI7), taking the current set of ruby targets into
+# Adds the specified dependencies, with use condition(s) to BDEPEND,
+# taking the current set of ruby targets into
# account. This makes sure that all ruby dependencies of the package are
# installed for the same ruby targets. Use this function for all ruby
# dependencies instead of setting DEPEND or BDEPEND yourself. The list
@@ -270,16 +253,7 @@ ruby_add_bdepend() {
case $# in
1) ;;
2)
- case ${EAPI} in
- 6)
- [[ "${GENTOO_DEV}" == "yes" ]] && eqawarn "You can now use the usual syntax in ruby_add_bdepend for $CATEGORY/$PF"
- ruby_add_bdepend "$(_ruby_wrap_conditions "$1" "$2")"
- return
- ;;
- *)
- die "Use the usual depend syntax with a single argument in ruby_add_bdepend"
- ;;
- esac
+ die "Use the usual depend syntax with a single argument in ruby_add_bdepend"
;;
*)
die "bad number of arguments to $0"
@@ -289,25 +263,16 @@ ruby_add_bdepend() {
_ruby_set_globals_invalidate_if_stale
_ruby_atoms_samelib "$1"
- case ${EAPI} in
- 6) DEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}" ;;
- *) BDEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}" ;;
- esac
+ BDEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}"
}
# @FUNCTION: ruby_add_depend
# @USAGE: dependencies
# @DESCRIPTION:
-# Adds the specified dependencies to DEPEND in EAPI7, similar to
-# ruby_add_bdepend.
+# Adds the specified dependencies to DEPEND, similar to ruby_add_bdepend.
ruby_add_depend() {
debug-print-function ${FUNCNAME} "${@}"
- case ${EAPI} in
- 6) die "only available in EAPI 7 and newer" ;;
- *) ;;
- esac
-
case $# in
1) ;;
*) die "bad number of arguments to $0" ;;
@@ -369,7 +334,7 @@ _ruby_get_use_targets() {
# confuse this function with ruby_implementation_depend().
#
# @EXAMPLE:
-# EAPI=7
+# EAPI=8
# RUBY_OPTIONAL=yes
#
# inherit ruby-ng
@@ -421,10 +386,7 @@ if [[ ${RUBY_OPTIONAL} != yes ]]; then
DEPEND+=" ${_RUBY_IMPLEMENTATIONS_DEPEND}"
RDEPEND+=" ${_RUBY_IMPLEMENTATIONS_DEPEND}"
REQUIRED_USE+=" || ( ${_RUBY_GET_USE_TARGETS} )"
- case ${EAPI} in
- 6) ;;
- *) BDEPEND+=" ${_RUBY_IMPLEMENTATIONS_DEPEND}" ;;
- esac
+ BDEPEND+=" ${_RUBY_IMPLEMENTATIONS_DEPEND}"
fi
_ruby_invoke_environment() {
@@ -538,18 +500,9 @@ ruby-ng_src_unpack() {
}
_ruby_apply_patches() {
- case ${EAPI} in
- 6)
- if [[ -n ${RUBY_PATCHES[@]} ]]; then
- eqawarn "RUBY_PATCHES is no longer supported, use PATCHES instead"
- fi
- ;;
- *)
- if [[ -n ${RUBY_PATCHES[@]} ]]; then
- die "RUBY_PATCHES is no longer supported, use PATCHES instead"
- fi
- ;;
- esac
+ if [[ -n ${RUBY_PATCHES[@]} ]]; then
+ die "RUBY_PATCHES is no longer supported, use PATCHES instead"
+ fi
# This is a special case: instead of executing just in the special
# "all" environment, this will actually copy the effects on _all_
@@ -699,7 +652,7 @@ doruby() {
insinto "${sitelibdir#${EPREFIX}}"
insopts -m 0644
doins "$@"
- ) || die "failed to install $@"
+ )
}
# @FUNCTION: ruby_get_libruby
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 7663fbfcd9ca5a7261d8de4120490f95f732a774
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:27 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7663fbfc
preserve-libs.eclass: drop support for EAPI 5 and 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/preserve-libs.eclass | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/eclass/preserve-libs.eclass b/eclass/preserve-libs.eclass
index 38571447b945..e97e3f846a09 100644
--- a/eclass/preserve-libs.eclass
+++ b/eclass/preserve-libs.eclass
@@ -4,17 +4,13 @@
# @ECLASS: preserve-libs.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: preserve libraries after SONAME changes
if [[ -z ${_PRESERVE_LIBS_ECLASS} ]]; then
_PRESERVE_LIBS_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: ab2616765f39a5e5e6f193d292446fd6aa3f476f
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:29 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab261676
python-utils-r1.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/python-utils-r1.eclass | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 45d3da6bb98c..7a133f1ff655 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -23,14 +23,14 @@
# metadata/install-qa-check.d/60python-pyc
# See bug #704286, bug #781878
+if [[ -z ${_PYTHON_UTILS_R1_ECLASS} ]]; then
+_PYTHON_UTILS_R1_ECLASS=1
+
case ${EAPI} in
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_PYTHON_UTILS_R1_ECLASS} ]]; then
-_PYTHON_UTILS_R1_ECLASS=1
-
[[ ${EAPI} == 7 ]] && inherit eapi8-dosym
inherit multiprocessing toolchain-funcs
@@ -617,8 +617,8 @@ python_optimize() {
# 2) skip paths which do not exist
# (python2.6 complains about them verbosely)
- if [[ ${f} == /* && -d ${D%/}${f} ]]; then
- set -- "${D%/}${f}" "${@}"
+ if [[ ${f} == /* && -d ${D}${f} ]]; then
+ set -- "${D}${f}" "${@}"
fi
done < <(
"${PYTHON}" - <<-EOF || die
@@ -634,7 +634,7 @@ python_optimize() {
local d
for d; do
# make sure to get a nice path without //
- local instpath=${d#${D%/}}
+ local instpath=${d#${D}}
instpath=/${instpath##/}
einfo "Optimize Python modules for ${instpath}"
@@ -741,7 +741,7 @@ python_newexe() {
# don't use this at home, just call python_doscript() instead
if [[ ${_PYTHON_REWRITE_SHEBANG} ]]; then
- python_fix_shebang -q "${ED%/}/${d}/${newfn}"
+ python_fix_shebang -q "${ED}${d}/${newfn}"
fi
}
@@ -872,15 +872,15 @@ python_domodule() {
insinto "${d}"
doins -r "${@}" || return ${?}
)
- python_optimize "${ED%/}/${d}"
+ python_optimize "${ED}${d}"
elif [[ -n ${BUILD_DIR} ]]; then
local dest=${BUILD_DIR}/install${EPREFIX}/${d}
mkdir -p "${dest}" || die
cp -pR "${@}" "${dest}/" || die
(
- cd "${dest}" &&
- chmod -R a+rX "${@##*/}"
- ) || die
+ cd "${dest}" || die
+ chmod -R a+rX "${@##*/}" || die
+ )
else
die "${FUNCNAME} can only be used in src_install or with BUILD_DIR set"
fi
@@ -1103,17 +1103,17 @@ python_fix_shebang() {
fi
if [[ ! ${quiet} ]]; then
- einfo "Fixing shebang in ${f#${D%/}}."
+ einfo "Fixing shebang in ${f#${D}}."
fi
if [[ ! ${error} ]]; then
- debug-print "${FUNCNAME}: in file ${f#${D%/}}"
+ debug-print "${FUNCNAME}: in file ${f#${D}}"
debug-print "${FUNCNAME}: rewriting shebang: ${shebang}"
sed -i -e "1s@${from}@#!${EPREFIX}/usr/bin/${EPYTHON}@" "${f}" || die
any_fixed=1
else
eerror "The file has incompatible shebang:"
- eerror " file: ${f#${D%/}}"
+ eerror " file: ${f#${D}}"
eerror " current shebang: ${shebang}"
eerror " requested impl: ${EPYTHON}"
die "${FUNCNAME}: conversion of incompatible shebang requested"
@@ -1121,7 +1121,7 @@ python_fix_shebang() {
done < <(find -H "${path}" -type f -print0 || die)
if [[ ! ${any_fixed} ]]; then
- eerror "QA error: ${FUNCNAME}, ${path#${D%/}} did not match any fixable files."
+ eerror "QA error: ${FUNCNAME}, ${path#${D}} did not match any fixable files."
eerror "There are no Python files in specified directory."
die "${FUNCNAME} did not match any fixable files"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: 1040ec9c3f79e00f688490cfaf91ee6926002ab2
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:33 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:33 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1040ec9c
ruby-utils.eclass: drop support for EAPI 5 and 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/ruby-utils.eclass | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/eclass/ruby-utils.eclass b/eclass/ruby-utils.eclass
index 81bda3abfb36..29b9ab396b87 100644
--- a/eclass/ruby-utils.eclass
+++ b/eclass/ruby-utils.eclass
@@ -6,7 +6,7 @@
# Ruby team <ruby@gentoo.org>
# @AUTHOR:
# Author: Hans de Graaff <graaff@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: An eclass for supporting ruby scripts and bindings in non-ruby packages
# @DESCRIPTION:
# The ruby-utils eclass is designed to allow an easier installation of
@@ -15,13 +15,10 @@
# This eclass does not set any metadata variables nor export any phase
# functions. It can be inherited safely.
-if [[ ! ${_RUBY_UTILS} ]]; then
+if [[ -z ${_RUBY_UTILS_ECLASS} ]] ; then
+_RUBY_UTILS_ECLASS=1
case ${EAPI} in
- 5|6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -68,5 +65,4 @@ _ruby_implementation_depend() {
echo "$2${rubypn}$3${rubyslot}"
}
-_RUBY_UTILS=1
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-10-08 15:32 UTC (permalink / raw
To: gentoo-commits
commit: aa6fbc2d4e3ffbfd33fc6a9d6b9787a477bf9da3
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 8 15:31:30 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:31:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa6fbc2d
readme.gentoo-r1.eclass: drop support for EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/readme.gentoo-r1.eclass | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/eclass/readme.gentoo-r1.eclass b/eclass/readme.gentoo-r1.eclass
index 3d2d8244687c..4f1728da5b6f 100644
--- a/eclass/readme.gentoo-r1.eclass
+++ b/eclass/readme.gentoo-r1.eclass
@@ -6,7 +6,7 @@
# Pacho Ramos <pacho@gentoo.org>
# @AUTHOR:
# Author: Pacho Ramos <pacho@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: install a doc file shown via elog messages
# @DESCRIPTION:
# An eclass for installing a README.gentoo doc file recording tips
@@ -21,10 +21,6 @@ if [[ -z ${_README_GENTOO_ECLASS} ]]; then
_README_GENTOO_ECLASS=1
case ${EAPI} in
- 6)
- ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
- ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
- ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -82,7 +78,7 @@ readme.gentoo_create_doc() {
( # subshell to avoid pollution of calling environment
docinto .
dodoc "${T}"/README.gentoo
- ) || die
+ )
README_GENTOO_DOC_VALUE=$(< "${T}/README.gentoo")
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:29 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-10-08 15:29 UTC (permalink / raw
To: gentoo-commits
commit: 5dce92bed22f52a4526a8ef9e708f95271d9dc64
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 20 18:02:59 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:22:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dce92be
eqawarn.eclass: Remove dead eclass
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/eqawarn.eclass | 27 ---------------------------
1 file changed, 27 deletions(-)
diff --git a/eclass/eqawarn.eclass b/eclass/eqawarn.eclass
deleted file mode 100644
index df6b13151d74..000000000000
--- a/eclass/eqawarn.eclass
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# @ECLASS: eqawarn.eclass
-# @MAINTAINER:
-# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6
-# @BLURB: output a QA warning
-
-case ${EAPI} in
- 6) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
-# @FUNCTION: eqawarn
-# @USAGE: [message]
-# @DESCRIPTION:
-# Proxy to ewarn for package managers that don't provide eqawarn and
-# use the PM implementation if available. Reuses PORTAGE_ELOG_CLASSES
-# as set by the dev profile.
-if ! declare -F eqawarn >/dev/null ; then
- eqawarn() {
- has qa ${PORTAGE_ELOG_CLASSES} && ewarn "$@"
- :
- }
-fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:29 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-10-08 15:29 UTC (permalink / raw
To: gentoo-commits
commit: 99bfe5fc6f7cea4dbf7764628cbde4187959d66b
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 20 18:02:49 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 15:22:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99bfe5fc
eapi7-ver.eclass: Remove dead eclass
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/eapi7-ver.eclass | 309 ------------------------------------------------
1 file changed, 309 deletions(-)
diff --git a/eclass/eapi7-ver.eclass b/eclass/eapi7-ver.eclass
deleted file mode 100644
index 85c0856f73b3..000000000000
--- a/eclass/eapi7-ver.eclass
+++ /dev/null
@@ -1,309 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# @ECLASS: eapi7-ver.eclass
-# @MAINTAINER:
-# PMS team <pms@gentoo.org>
-# @AUTHOR:
-# Ulrich Müller <ulm@gentoo.org>
-# Michał Górny <mgorny@gentoo.org>
-# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6
-# @BLURB: Testing implementation of EAPI 7 version manipulators
-# @DESCRIPTION:
-# A stand-alone implementation of the version manipulation functions
-# aimed for EAPI 7. Intended to be used for wider testing of
-# the proposed functions and to allow ebuilds to switch to the new
-# model early, with minimal change needed for actual EAPI 7.
-#
-# https://bugs.gentoo.org/482170
-#
-# @SUBSECTION Version strings
-#
-# The functions support arbitrary version strings consisting of version
-# components interspersed with (possibly empty) version separators.
-#
-# A version component can either consist purely of digits ([0-9]+)
-# or purely of uppercase and lowercase letters ([A-Za-z]+). A version
-# separator is either a string of any other characters ([^A-Za-z0-9]+),
-# or it occurs at the transition between a sequence of letters
-# and a sequence of digits, or vice versa. In the latter case,
-# the version separator is an empty string.
-#
-# The version is processed left-to-right, and each successive component
-# is assigned numbers starting with 1. The components are either split
-# on version separators or on boundaries between digits and letters
-# (in which case the separator between the components is empty).
-# Version separators are assigned numbers starting with 1 for
-# the separator between 1st and 2nd components. As a special case,
-# if the version string starts with a separator, it is assigned index 0.
-#
-# Examples:
-#
-# @CODE
-# 1.2b-alpha4 -> 1 . 2 '' b - alpha '' 4
-# c s c s c s c s c
-# 1 1 2 2 3 3 4 4 5
-#
-# .11. -> . 11 .
-# s c s
-# 0 1 1
-# @CODE
-#
-# @SUBSECTION Ranges
-#
-# A range can be specified as 'm' for m-th version component, 'm-'
-# for all components starting with m-th or 'm-n' for components starting
-# at m-th and ending at n-th (inclusive). If the range spans outside
-# the version string, it is truncated silently.
-
-case ${EAPI:-0} in
- 0|1|2|3|4|5|6) ;;
- 7|8) die "${ECLASS}: EAPI=${EAPI} includes all functions from this eclass" ;;
- *) die "${ECLASS}: EAPI=${EAPI} unknown" ;;
-esac
-
-# @FUNCTION: _ver_parse_range
-# @USAGE: <range> <max>
-# @INTERNAL
-# @DESCRIPTION:
-# Parse the range string <range>, setting 'start' and 'end' variables
-# to the appropriate bounds. <max> specifies the appropriate upper
-# bound for the range; the user-specified value is truncated to this.
-_ver_parse_range() {
- local range=${1}
- local max=${2}
-
- [[ ${range} == [0-9]* ]] \
- || die "${FUNCNAME}: range must start with a number"
- start=${range%-*}
- [[ ${range} == *-* ]] && end=${range#*-} || end=${start}
- if [[ ${end} ]]; then
- [[ ${start} -le ${end} ]] \
- || die "${FUNCNAME}: end of range must be >= start"
- [[ ${end} -le ${max} ]] || end=${max}
- else
- end=${max}
- fi
-}
-
-# @FUNCTION: _ver_split
-# @USAGE: <version>
-# @INTERNAL
-# @DESCRIPTION:
-# Split the version string <version> into separator-component array.
-# Sets 'comp' to an array of the form: ( s_0 c_1 s_1 c_2 s_2 c_3... )
-# where s_i are separators and c_i are components.
-_ver_split() {
- local v=${1} LC_ALL=C
-
- comp=()
-
- # get separators and components
- local s c
- while [[ ${v} ]]; do
- # cut the separator
- s=${v%%[a-zA-Z0-9]*}
- v=${v:${#s}}
- # cut the next component; it can be either digits or letters
- [[ ${v} == [0-9]* ]] && c=${v%%[^0-9]*} || c=${v%%[^a-zA-Z]*}
- v=${v:${#c}}
-
- comp+=( "${s}" "${c}" )
- done
-}
-
-# @FUNCTION: ver_cut
-# @USAGE: <range> [<version>]
-# @DESCRIPTION:
-# Print the substring of the version string containing components
-# defined by the <range> and the version separators between them.
-# Processes <version> if specified, ${PV} otherwise.
-#
-# For the syntax of versions and ranges, please see the eclass
-# description.
-ver_cut() {
- local range=${1}
- local v=${2:-${PV}}
- local start end
- local -a comp
-
- _ver_split "${v}"
- local max=$((${#comp[@]}/2))
- _ver_parse_range "${range}" "${max}"
-
- if [[ ${start} -gt 0 ]]; then
- start=$(( start*2 - 1 ))
- fi
- # Work around a bug in bash-3.2, where "${comp[*]:start:end*2-start}"
- # inserts stray 0x7f characters for empty array elements
- printf "%s" "${comp[@]:start:end*2-start}" $'\n'
-}
-
-# @FUNCTION: ver_rs
-# @USAGE: <range> <repl> [<range> <repl>...] [<version>]
-# @DESCRIPTION:
-# Print the version string after substituting the specified version
-# separators at <range> with <repl> (string). Multiple '<range> <repl>'
-# pairs can be specified. Processes <version> if specified,
-# ${PV} otherwise.
-#
-# For the syntax of versions and ranges, please see the eclass
-# description.
-ver_rs() {
- local v
- (( ${#} & 1 )) && v=${@: -1} || v=${PV}
- local start end i
- local -a comp
-
- _ver_split "${v}"
- local max=$((${#comp[@]}/2 - 1))
-
- while [[ ${#} -ge 2 ]]; do
- _ver_parse_range "${1}" "${max}"
- for (( i = start*2; i <= end*2; i+=2 )); do
- [[ ${i} -eq 0 && -z ${comp[i]} ]] && continue
- comp[i]=${2}
- done
- shift 2
- done
-
- local IFS=
- echo "${comp[*]}"
-}
-
-# @FUNCTION: _ver_compare_int
-# @USAGE: <a> <b>
-# @RETURN: 0 if <a> -eq <b>, 1 if <a> -lt <b>, 3 if <a> -gt <b>
-# @INTERNAL
-# @DESCRIPTION:
-# Compare two non-negative integers <a> and <b>, of arbitrary length.
-# If <a> is equal to, less than, or greater than <b>, return 0, 1, or 3
-# as exit status, respectively.
-_ver_compare_int() {
- local a=$1 b=$2 d=$(( ${#1}-${#2} ))
-
- # Zero-pad to equal length if necessary.
- if [[ ${d} -gt 0 ]]; then
- printf -v b "%0${d}d%s" 0 "${b}"
- elif [[ ${d} -lt 0 ]]; then
- printf -v a "%0$(( -d ))d%s" 0 "${a}"
- fi
-
- [[ ${a} > ${b} ]] && return 3
- [[ ${a} == "${b}" ]]
-}
-
-# @FUNCTION: _ver_compare
-# @USAGE: <va> <vb>
-# @RETURN: 1 if <va> < <vb>, 2 if <va> = <vb>, 3 if <va> > <vb>
-# @INTERNAL
-# @DESCRIPTION:
-# Compare two versions <va> and <vb>. If <va> is less than, equal to,
-# or greater than <vb>, return 1, 2, or 3 as exit status, respectively.
-_ver_compare() {
- local va=${1} vb=${2} a an al as ar b bn bl bs br re LC_ALL=C
-
- re="^([0-9]+(\.[0-9]+)*)([a-z]?)((_(alpha|beta|pre|rc|p)[0-9]*)*)(-r[0-9]+)?$"
-
- [[ ${va} =~ ${re} ]] || die "${FUNCNAME}: invalid version: ${va}"
- an=${BASH_REMATCH[1]}
- al=${BASH_REMATCH[3]}
- as=${BASH_REMATCH[4]}
- ar=${BASH_REMATCH[7]}
-
- [[ ${vb} =~ ${re} ]] || die "${FUNCNAME}: invalid version: ${vb}"
- bn=${BASH_REMATCH[1]}
- bl=${BASH_REMATCH[3]}
- bs=${BASH_REMATCH[4]}
- br=${BASH_REMATCH[7]}
-
- # Compare numeric components (PMS algorithm 3.2)
- # First component
- _ver_compare_int "${an%%.*}" "${bn%%.*}" || return
-
- while [[ ${an} == *.* && ${bn} == *.* ]]; do
- # Other components (PMS algorithm 3.3)
- an=${an#*.}
- bn=${bn#*.}
- a=${an%%.*}
- b=${bn%%.*}
- if [[ ${a} == 0* || ${b} == 0* ]]; then
- # Remove any trailing zeros
- [[ ${a} =~ 0+$ ]] && a=${a%"${BASH_REMATCH[0]}"}
- [[ ${b} =~ 0+$ ]] && b=${b%"${BASH_REMATCH[0]}"}
- [[ ${a} > ${b} ]] && return 3
- [[ ${a} < ${b} ]] && return 1
- else
- _ver_compare_int "${a}" "${b}" || return
- fi
- done
- [[ ${an} == *.* ]] && return 3
- [[ ${bn} == *.* ]] && return 1
-
- # Compare letter components (PMS algorithm 3.4)
- [[ ${al} > ${bl} ]] && return 3
- [[ ${al} < ${bl} ]] && return 1
-
- # Compare suffixes (PMS algorithm 3.5)
- as=${as#_}${as:+_}
- bs=${bs#_}${bs:+_}
- while [[ -n ${as} && -n ${bs} ]]; do
- # Compare each suffix (PMS algorithm 3.6)
- a=${as%%_*}
- b=${bs%%_*}
- if [[ ${a%%[0-9]*} == "${b%%[0-9]*}" ]]; then
- _ver_compare_int "${a##*[a-z]}" "${b##*[a-z]}" || return
- else
- # Check for p first
- [[ ${a%%[0-9]*} == p ]] && return 3
- [[ ${b%%[0-9]*} == p ]] && return 1
- # Hack: Use that alpha < beta < pre < rc alphabetically
- [[ ${a} > ${b} ]] && return 3 || return 1
- fi
- as=${as#*_}
- bs=${bs#*_}
- done
- if [[ -n ${as} ]]; then
- [[ ${as} == p[_0-9]* ]] && return 3 || return 1
- elif [[ -n ${bs} ]]; then
- [[ ${bs} == p[_0-9]* ]] && return 1 || return 3
- fi
-
- # Compare revision components (PMS algorithm 3.7)
- _ver_compare_int "${ar#-r}" "${br#-r}" || return
-
- return 2
-}
-
-# @FUNCTION: ver_test
-# @USAGE: [<v1>] <op> <v2>
-# @DESCRIPTION:
-# Check if the relation <v1> <op> <v2> is true. If <v1> is not specified,
-# default to ${PVR}. <op> can be -gt, -ge, -eq, -ne, -le, -lt.
-# Both versions must conform to the PMS version syntax (with optional
-# revision parts), and the comparison is performed according to
-# the algorithm specified in the PMS.
-ver_test() {
- local va op vb
-
- if [[ $# -eq 3 ]]; then
- va=${1}
- shift
- else
- va=${PVR}
- fi
-
- [[ $# -eq 2 ]] || die "${FUNCNAME}: bad number of arguments"
-
- op=${1}
- vb=${2}
-
- case ${op} in
- -eq|-ne|-lt|-le|-gt|-ge) ;;
- *) die "${FUNCNAME}: invalid operator: ${op}" ;;
- esac
-
- _ver_compare "${va}" "${vb}"
- test $? "${op}" 2
-}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 7:09 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-10-08 7:09 UTC (permalink / raw
To: gentoo-commits
commit: 5186af37046684bdb34b09f4092d455789d86219
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Oct 2 14:38:14 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue Oct 8 07:09:38 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5186af37
java-ant-2.eclass: Mark as dead
The last ebuilds using it were media-libs/opencv-{4.8.1-r2,4.9.0-r1}
Bug: https://bugs.gentoo.org/268313
Bug: https://bugs.gentoo.org/318625
Bug: https://bugs.gentoo.org/539958
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/38851
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/java-ant-2.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/java-ant-2.eclass b/eclass/java-ant-2.eclass
index ef7d306dc9b1..c34c81331998 100644
--- a/eclass/java-ant-2.eclass
+++ b/eclass/java-ant-2.eclass
@@ -1,6 +1,7 @@
# Copyright 2004-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# @DEAD
# @ECLASS: java-ant-2.eclass
# @MAINTAINER:
# java@gentoo.org
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-07 4:13 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-07 4:13 UTC (permalink / raw
To: gentoo-commits
commit: 434a6775ce93a15ef517478565a938aa73d1d528
Author: Andrei Horodniceanu <a.horodniceanu <AT> proton <DOT> me>
AuthorDate: Fri Oct 4 04:10:04 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Oct 7 04:12:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=434a6775
toolchain.eclass: Support cross GDC
While the D use flags is masked by crossdev the build used to work, on
my limited number of machines, up until recently with the D code
refactors.
When building sys-devel/gcc or cross-${TARGET}/gcc natively the
appropriate gdc compiler is installed under /usr/${CHOST}/gcc-bin and is
provided by sys-devel/gcc[d].
When building sys-devel/gcc or cross-${CTARGET}/gcc for another system
the appropriate gdc binary is under /usr/${CBUILD}/${CHOST}/gcc-bin and
is provided by cross-${CHOST}/gcc[d].
Also use the full ${CHOST}-gdc executable names since plain gdc is only
present on native builds.
Signed-off-by: Andrei Horodniceanu <a.horodniceanu <AT> proton.me>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 0d46d6f3a799..19357b4dfb2d 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1000,8 +1000,17 @@ toolchain_setup_ada() {
# Determine the most suitable GDC (D compiler) for bootstrapping
# and setup the environment for building.
toolchain_setup_d() {
- local latest_gcc=$(best_version -b "sys-devel/gcc")
- latest_gcc="${latest_gcc#sys-devel/gcc-}"
+ local gcc_pkg gcc_bin_base
+ if tc-is-cross-compiler ; then
+ gcc_pkg=cross-${CHOST}/gcc
+ gcc_bin_base=${BROOT}/usr/${CBUILD}/${CHOST}/gcc-bin
+ else
+ gcc_pkg=sys-devel/gcc
+ gcc_bin_base=${BROOT}/usr/${CHOST}/gcc-bin
+ fi
+
+ local latest_gcc=$(best_version -b "${gcc_pkg}")
+ latest_gcc="${latest_gcc#${gcc_pkg}-}"
latest_gcc=$(ver_cut 1 ${latest_gcc})
local d_bootstrap
@@ -1011,10 +1020,10 @@ toolchain_setup_d() {
# 2) Iterate downwards from the version being built;
# 3) Iterate upwards from the version being built to the greatest version installed.
for d_candidate in ${SLOT} $(seq $((${SLOT} - 1)) -1 10) $(seq $((${SLOT} + 1)) ${latest_gcc}) ; do
- has_version -b "sys-devel/gcc:${d_candidate}" || continue
+ has_version -b "${gcc_pkg}:${d_candidate}" || continue
- ebegin "Testing sys-devel/gcc:${d_candidate} for D"
- if has_version -b "sys-devel/gcc:${d_candidate}[d(-)]" ; then
+ ebegin "Testing ${gcc_pkg}:${d_candidate} for D"
+ if has_version -b "${gcc_pkg}:${d_candidate}[d(-)]" ; then
d_bootstrap=${d_candidate}
eend 0
@@ -1024,7 +1033,7 @@ toolchain_setup_d() {
done
if [[ -n ${d_bootstrap} ]] ; then
- export GDC="${BROOT}/usr/${CTARGET}/gcc-bin/${d_bootstrap}/gdc"
+ export GDC=${gcc_bin_base}/${d_bootstrap}/${CHOST}-gdc
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-07 4:13 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-07 4:13 UTC (permalink / raw
To: gentoo-commits
commit: 75f0421f54035bd364f3b58de94887831302b02f
Author: Andrei Horodniceanu <a.horodniceanu <AT> proton <DOT> me>
AuthorDate: Fri Oct 4 08:12:22 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Oct 7 04:12:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75f0421f
toolchain.eclass: Only search for a D installation if D bootstrapping is needed
<=gcc-11 doesn't need another gdc to build so don't search for one
during the setup.
Signed-off-by: Andrei Horodniceanu <a.horodniceanu <AT> proton.me>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 19357b4dfb2d..ff02723e2d90 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1129,9 +1129,12 @@ toolchain_src_configure() {
_tc_use_if_iuse ada
}
+ _need_d_bootstrap() {
+ _tc_use_if_iuse d && [[ ${GCCMAJOR} -ge 12 ]]
+ }
_need_ada_bootstrap_mangling && toolchain_setup_ada
- _tc_use_if_iuse d && toolchain_setup_d
+ _need_d_bootstrap && toolchain_setup_d
confgcc+=( --enable-languages=${GCC_LANG} )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-07 4:13 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-07 4:13 UTC (permalink / raw
To: gentoo-commits
commit: 258a44f3500383f7948781d463652b6d79aa7c06
Author: Andrei Horodniceanu <a.horodniceanu <AT> proton <DOT> me>
AuthorDate: Fri Oct 4 05:04:47 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Oct 7 04:12:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=258a44f3
toolchain.eclass: Print an error message and die if GDC isn't found
When cross compiling sys-devel/gcc[d] one would need
cross-${CHOST}/gcc[d] installed. We can't enforce this dependency so
defer to printing an error message if it can't be found prompting the
user to install the package.
Signed-off-by: Andrei Horodniceanu <a.horodniceanu <AT> proton.me>
Closes: https://github.com/gentoo/gentoo/pull/38894
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index ff02723e2d90..34f595bcd1bc 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1032,9 +1032,24 @@ toolchain_setup_d() {
eend 1
done
- if [[ -n ${d_bootstrap} ]] ; then
- export GDC=${gcc_bin_base}/${d_bootstrap}/${CHOST}-gdc
+ if [[ -z ${d_bootstrap} ]] ; then
+ if tc-is-cross-compiler ; then
+ # We can't add cross-${CHOST}/gcc[d] to BDEPEND but we can
+ # print a useful message to the user.
+ eerror "No ${gcc_pkg}[d] was found installed."
+ eerror "When cross-compiling GDC a bootstrap GDC is required."
+ eerror "Either disable the d USE flag or add:"
+ eerror ""
+ eerror " ${gcc_pkg} d"
+ eerror ""
+ eerror "In your package.use and re-emerge it."
+ eerror ""
+ fi
+
+ die "Did not find any appropriate GDC compiler installed"
fi
+
+ export GDC=${gcc_bin_base}/${d_bootstrap}/${CHOST}-gdc
}
#---->> src_configure <<----
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-07 4:13 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-07 4:13 UTC (permalink / raw
To: gentoo-commits
commit: fd01685ece15afd0a2f85471637a719002d46495
Author: Andrei Horodniceanu <a.horodniceanu <AT> proton <DOT> me>
AuthorDate: Fri Oct 4 03:57:10 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Oct 7 04:12:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd01685e
toolchain.eclass: also clear GDCFLAGS when cross-compiling
sys-devel/gcc[d] uses GDCFLAGS when compiling the D parts. GDCFLAGS is
also used by ::dlang in a similar manner. The overlay suggests putting
in the variable similar values to CFLAGS so it's possible that it will
contain -march=native.
Because of this, add GDCFLAGS to the list of *FLAGS that are reset to
something that is understood by both the build and the host system when
cross-compiling.
Signed-off-by: Andrei Horodniceanu <a.horodniceanu <AT> proton.me>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 5b978f6871db..0d46d6f3a799 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1948,6 +1948,7 @@ gcc_do_filter_flags() {
CFLAGS="-O2 -pipe"
FFLAGS=${CFLAGS}
FCFLAGS=${CFLAGS}
+ GDCFLAGS=${CFLAGS}
# "hppa2.0-unknown-linux-gnu" -> hppa2_0_unknown_linux_gnu
local VAR="CFLAGS_"${CTARGET//[-.]/_}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-07 2:40 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-07 2:40 UTC (permalink / raw
To: gentoo-commits
commit: de9d78a1f4fc90d54dd2c3c5c6b61acfb1c49d10
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 6 15:26:10 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Oct 7 02:39:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de9d78a1
ruby-utils.eclass: update RUBY_TARGETS_PREFERENCE for ruby32
As we did before in 780a29cd9228988031ed0243d764d478d0482045. I think
this shows up as a problem after 60910451d576803cc2cdfdbaad7fe70a7b41f55d,
but not completely sure.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/ruby-utils.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/ruby-utils.eclass b/eclass/ruby-utils.eclass
index 48a25114b396..81bda3abfb36 100644
--- a/eclass/ruby-utils.eclass
+++ b/eclass/ruby-utils.eclass
@@ -36,10 +36,10 @@ esac
# provide for a better first installation experience.
# All stable RUBY_TARGETS
-RUBY_TARGETS_PREFERENCE="ruby31 "
+RUBY_TARGETS_PREFERENCE="ruby32 ruby31 "
# All other active ruby targets
-RUBY_TARGETS_PREFERENCE+="ruby32 ruby33"
+RUBY_TARGETS_PREFERENCE+="ruby33"
_ruby_implementation_depend() {
local rubypn=
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-04 11:49 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-04 11:49 UTC (permalink / raw
To: gentoo-commits
commit: 70a43aaf58504bb01c77faf58c96abe0b0ca856d
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 4 11:11:22 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 4 11:49:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70a43aaf
toolchain.eclass: add ewarns to explain USE=-debug behaviour w/ unreleased GCC
We sometimes have people surprised by the behaviour with USE=-debug for
unreleased versions of GCC.
For more detail on that & context, see:
* 564b130fd1bc8a35ac4d673d5211654c49af3fda
* 85db50a7c626a1844c8eb2d03051c8c5d320c205
* 3f9a5248fb796417d63ae1c1234b534a88f22f14
Add some ewarns to explain the situation to users so they understand
their options and also don't wrongly think GCC will be slow when released.
Bug: https://bugs.gentoo.org/904481
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a2eba0a9297e..5b978f6871db 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1148,7 +1148,15 @@ toolchain_src_configure() {
# unless USE=debug. Note that snapshots on stable branches don't count as "non-released"
# for these purposes.
if grep -q "experimental" gcc/DEV-PHASE ; then
- # - USE=debug for pre-releases: yes,extra,rtl
+ # Tell users about the non-obvious behavior here so they don't think
+ # e.g. the next GCC release is super slow to compile things.
+ ewarn "Unreleased GCCs default to extra runtime checks even with USE=-debug,"
+ ewarn "matching upstream default behavior. We recommend keeping these enabled."
+ ewarn "The checks (sometimes substantially) increase build time but provide important protection"
+ ewarn "from potential miscompilations (wrong code) by turning them into build-time errors."
+ ewarn "To override (not recommended), set: GCC_CHECKS_LIST=\"release\"."
+
+ # - USE=debug for pre-releases: yes,extra,rtl (stornger than USE=debug for releases)
# - USE=-debug for pre-releases: yes,extra (following upstream default)
confgcc+=( --enable-checking="${GCC_CHECKS_LIST:-$(usex debug yes,extra,rtl yes,extra)}" )
else
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-03 4:02 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-03 4:02 UTC (permalink / raw
To: gentoo-commits
commit: 8d90f4f76448e89de32e6cd4338e953d673c4f72
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 3 04:01:39 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 3 04:01:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d90f4f7
toolchain.eclass: fix seq params
I didn't notice as I tested on a machine with ${SLOT} available.
Fixes: c9f79ed713758a95abea32d9c41f4f2a49f999b2
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 3cacc2da31b7..a2eba0a9297e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -848,7 +848,7 @@ toolchain_setup_ada() {
# 1) Match the version being built;
# 2) Iterate downwards from the version being built;
# 3) Iterate upwards from the version being built to the greatest version installed.
- for ada_candidate in ${SLOT} $(seq -1 $((${SLOT} - 1)) 10) $(seq $((${SLOT} + 1)) ${latest_gcc}) ; do
+ for ada_candidate in ${SLOT} $(seq $((${SLOT} - 1)) -1 10) $(seq $((${SLOT} + 1)) ${latest_gcc}) ; do
has_version -b "sys-devel/gcc:${ada_candidate}" || continue
ebegin "Testing sys-devel/gcc:${ada_candidate} for Ada"
@@ -1010,7 +1010,7 @@ toolchain_setup_d() {
# 1) Match the version being built;
# 2) Iterate downwards from the version being built;
# 3) Iterate upwards from the version being built to the greatest version installed.
- for d_candidate in ${SLOT} $(seq -1 $((${SLOT} - 1)) 10) $(seq $((${SLOT} + 1)) ${latest_gcc}) ; do
+ for d_candidate in ${SLOT} $(seq $((${SLOT} - 1)) -1 10) $(seq $((${SLOT} + 1)) ${latest_gcc}) ; do
has_version -b "sys-devel/gcc:${d_candidate}" || continue
ebegin "Testing sys-devel/gcc:${d_candidate} for D"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-03 3:43 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-03 3:43 UTC (permalink / raw
To: gentoo-commits
commit: c9f79ed713758a95abea32d9c41f4f2a49f999b2
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 3 03:41:14 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 3 03:43:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9f79ed7
toolchain.eclass: change iteration strategy for GNAT and GDC
This improves upon the strategy from 9bb87839a6ad66ee7c89837a546fbf2e7f69b577
and d1aa56b6e39f07490021e594920f4a965a968c07.
Earlier, I saw building GCC 15's gdc fail w/ bootstrap from 10, even
though we had 11/12/13/14 installed.
The new logic is as follows, with descending order of preference:
1) Match the version being built;
2) Iterate downwards from the version being built;
3) Iterate upwards from the version being built to the greatest version installed.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 1c990f1f1114..3cacc2da31b7 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -844,10 +844,11 @@ toolchain_setup_ada() {
# GNAT can usually be built using the last major version and
# the current version, at least.
#
- # We always prefer the version being built if possible
- # as it has the greatest chance of success. Failing that,
- # try GCC 10 and iterate upwards.
- for ada_candidate in ${SLOT} $(seq 10 ${latest_gcc}) ; do
+ # Order of preference (descending):
+ # 1) Match the version being built;
+ # 2) Iterate downwards from the version being built;
+ # 3) Iterate upwards from the version being built to the greatest version installed.
+ for ada_candidate in ${SLOT} $(seq -1 $((${SLOT} - 1)) 10) $(seq $((${SLOT} + 1)) ${latest_gcc}) ; do
has_version -b "sys-devel/gcc:${ada_candidate}" || continue
ebegin "Testing sys-devel/gcc:${ada_candidate} for Ada"
@@ -1005,10 +1006,11 @@ toolchain_setup_d() {
local d_bootstrap
local d_candidate
- # We always prefer the version being built if possible
- # as it has the greatest chance of success. Failing that,
- # try GCC 10 and iterate upwards.
- for d_candidate in ${SLOT} $(seq 10 ${latest_gcc}) ; do
+ # Order of preference (descending):
+ # 1) Match the version being built;
+ # 2) Iterate downwards from the version being built;
+ # 3) Iterate upwards from the version being built to the greatest version installed.
+ for d_candidate in ${SLOT} $(seq -1 $((${SLOT} - 1)) 10) $(seq $((${SLOT} + 1)) ${latest_gcc}) ; do
has_version -b "sys-devel/gcc:${d_candidate}" || continue
ebegin "Testing sys-devel/gcc:${d_candidate} for D"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-02 9:01 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-10-02 9:01 UTC (permalink / raw
To: gentoo-commits
commit: c1a63f395cae95a5603715ef7d43f58253252a97
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Sep 11 11:27:39 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Oct 2 09:01:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1a63f39
java-utils-2.eclass: add some missing function descriptions
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/38559
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 32 ++++++++++++++++++++++++++++----
1 file changed, 28 insertions(+), 4 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index aa69cce14cae..1e9c28d5868f 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -1648,6 +1648,10 @@ java-pkg_set-current-vm() {
export GENTOO_VM=${1}
}
+# @FUNCTION: java-pkg_current-vm-matches
+# @USAGE: <vm_string1> [<vm_string2> [<vm_string3>...]]
+# @RETURN: 0: the current vm matches any of the provided strings
+# @RETURN: 1: the current vm does not match any of the provided strings
java-pkg_current-vm-matches() {
has $(java-pkg_get-current-vm) ${@}
return $?
@@ -2321,7 +2325,7 @@ java-pkg_init() {
export ANT_RESPECT_JAVA_HOME=
}
-# @FUNCTION: java-pkg-init-compiler_
+# @FUNCTION: java-pkg_init-compiler_
# @INTERNAL
# @DESCRIPTION:
# This function attempts to figure out what compiler should be used. It does
@@ -2342,9 +2346,7 @@ java-pkg_init() {
# If the user doesn't defined anything in JAVA_PKG_COMPILERS_CONF, or no
# suitable compiler was found there, then the default is to use javac provided
# by the current VM.
-#
-#
-# @RETURN name of the compiler to use
+# @RETURN: name of the compiler to use
java-pkg_init-compiler_() {
debug-print-function ${FUNCNAME} $*
@@ -2946,6 +2948,12 @@ java-pkg_ensure-dep() {
fi
}
+# @FUNCTION: java-pkg_check-phase
+# @INTERNAL
+# @USAGE: <phase_name>
+# @DESCRIPTION:
+# Checks whether the phase specified in $1 is the current active phase. If not,
+# a helpful QA message is displayed
java-pkg_check-phase() {
local phase=${1}
local funcname=${FUNCNAME[1]}
@@ -2955,6 +2963,12 @@ java-pkg_check-phase() {
fi
}
+# @FUNCTION: java-pkg_check-versioned-jar
+# @INTERNAL
+# @USAGE: <jar_filename>
+# @DESCRIPTION:
+# Checks whether the jar specified in $1 contains ${PV}. If it does, a helpful
+# QA message is displayed
java-pkg_check-versioned-jar() {
local jar=${1}
@@ -2963,6 +2977,12 @@ java-pkg_check-versioned-jar() {
fi
}
+# @FUNCTION: java-pkg_announce-qa-violation
+# @INTERNAL
+# @USAGE: [--nodie] <msg>
+# @DESCRIPTION:
+# Prints out the <msg> as a QA message. If ${JAVA_PKG_STRICT} is set, then die
+# is called. This can be overridden by providing --nodie
java-pkg_announce-qa-violation() {
local nodie
if [[ ${1} == "--nodie" ]]; then
@@ -2979,6 +2999,10 @@ increment-qa-violations() {
export JAVA_PKG_QA_VIOLATIONS
}
+# @FUNCTION: is-java-strict
+# @INTERNAL
+# @RETURN: 0: JAVA_PKG_STRICT is set
+# @RETURN: 1: JAVA_PKG_STRICT is not set
is-java-strict() {
[[ -n ${JAVA_PKG_STRICT} ]]
return $?
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-02 9:01 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-10-02 9:01 UTC (permalink / raw
To: gentoo-commits
commit: 834ed97a952c011c5e86d893cc6a329dd88bf9ac
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sun Sep 8 07:37:22 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Oct 2 09:01:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=834ed97a
java-utils-2.eclass: stop mentioning java-ant-2 eclass
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 98426e1851eb..aa69cce14cae 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -9,13 +9,12 @@
# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: Base eclass for Java packages
# @DESCRIPTION:
-# This eclass provides functionality which is used by java-pkg-2.eclass,
-# java-pkg-opt-2.eclass and java-ant-2 eclass, as well as from ebuilds.
+# This eclass provides functionality which is used by java-pkg-2.eclass and
+# java-pkg-opt-2.eclass as well as from ebuilds.
#
# This eclass should not be inherited this directly from an ebuild. Instead,
# you should inherit java-pkg-2 for Java packages or java-pkg-opt-2 for packages
-# that have optional Java support. In addition you can inherit java-ant-2 for
-# Ant-based packages.
+# that have optional Java support.
if [[ -z ${_JAVA_UTILS_2_ECLASS} ]] ; then
_JAVA_UTILS_2_ECLASS=1
@@ -101,7 +100,7 @@ JAVA_PKG_ALLOW_VM_CHANGE=${JAVA_PKG_ALLOW_VM_CHANGE:="yes"}
# @DEFAULT_UNSET
# @DESCRIPTION:
# Specify a non-standard Java source version for compilation (via javac -source
-# parameter or Ant equivalent via build.xml rewriting done by java-ant-2 eclass).
+# parameter).
# Normally this is determined from the jdk version specified in DEPEND.
# See java-pkg_get-source function below.
#
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-02 9:01 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-10-02 9:01 UTC (permalink / raw
To: gentoo-commits
commit: 34b685bb7d76a897630091e2b45745f34499bb66
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sun Sep 8 07:52:01 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Oct 2 09:01:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34b685bb
java-utils-2.eclass: remove java-pkg_check-jikes
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 13 ++-----------
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 43d9b749ba3d..98426e1851eb 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -204,9 +204,9 @@ JAVA_PKG_COMPILERS_CONF=${JAVA_PKG_COMPILERS_CONF:="/etc/java-config-2/build/com
#
# Useful for local testing.
#
-# Use jikes and javac, in that order
+# Use <other compiler> and javac, in that order
# @CODE
-# JAVA_PKG_FORCE_COMPILER="jikes javac"
+# JAVA_PKG_FORCE_COMPILER="<other compiler> javac"
# @CODE
# @ECLASS_VARIABLE: JAVA_PKG_FORCE_ANT_TASKS
@@ -2307,9 +2307,6 @@ java-pkg_init() {
# TODO we will probably want to set JAVAC and JAVACFLAGS
- # Do some QA checks
- java-pkg_check-jikes
-
# Can't use unset here because Portage does not save the unset
# see https://bugs.gentoo.org/show_bug.cgi?id=189417#c11
@@ -2967,12 +2964,6 @@ java-pkg_check-versioned-jar() {
fi
}
-java-pkg_check-jikes() {
- if has jikes ${IUSE}; then
- java-pkg_announce-qa-violation "deprecated USE flag 'jikes' in IUSE"
- fi
-}
-
java-pkg_announce-qa-violation() {
local nodie
if [[ ${1} == "--nodie" ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-02 9:01 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-10-02 9:01 UTC (permalink / raw
To: gentoo-commits
commit: cb2cde8fccc89412e914986153bf706e3c16a63a
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Sep 11 05:55:59 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Oct 2 09:01:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb2cde8f
java-pkg-2.eclass: remove unused eclass functions java-pkg-2_src_{compile,test}
The last ebuild using these functions was net-vpn/i2p-2.5.2-r1
Closes: https://bugs.gentoo.org/940526
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-2.eclass | 92 +-----------------------------------------------
1 file changed, 1 insertion(+), 91 deletions(-)
diff --git a/eclass/java-pkg-2.eclass b/eclass/java-pkg-2.eclass
index 6da4efd222c2..2b2a298cfe74 100644
--- a/eclass/java-pkg-2.eclass
+++ b/eclass/java-pkg-2.eclass
@@ -59,96 +59,6 @@ java-pkg-2_src_prepare() {
java-utils-2_src_prepare
}
-
-# @FUNCTION: java-pkg-2_src_compile
-# @DEPRECATED: none
-# @DESCRIPTION:
-# Default src_compile for java packages
-#
-# @CODE
-# Variables:
-# EANT_BUILD_XML - controls the location of the build.xml (default: ./build.xml)
-# EANT_FILTER_COMPILER - Calls java-pkg_filter-compiler with the value
-# EANT_BUILD_TARGET - the ant target/targets to execute (default: jar)
-# EANT_DOC_TARGET - the target to build extra docs under the doc use flag
-# (default: javadoc; declare empty to disable completely)
-# EANT_GENTOO_CLASSPATH - @see eant documentation in java-utils-2.eclass
-# EANT_EXTRA_ARGS - extra arguments to pass to eant
-# EANT_ANT_TASKS - modifies the ANT_TASKS variable in the eant environment
-# @CODE
-java-pkg-2_src_compile() {
- if [[ -e "${EANT_BUILD_XML:=build.xml}" ]]; then
- # auto generate classpath
- java-pkg_gen-cp EANT_GENTOO_CLASSPATH
-
- [[ "${EANT_FILTER_COMPILER}" ]] && \
- java-pkg_filter-compiler ${EANT_FILTER_COMPILER}
- local antflags="${EANT_BUILD_TARGET:=jar}"
- if has doc ${IUSE} && [[ -n "${EANT_DOC_TARGET=javadoc}" ]]; then
- antflags="${antflags} $(use_doc ${EANT_DOC_TARGET})"
- fi
- local tasks
- [[ ${EANT_ANT_TASKS} ]] && tasks="${ANT_TASKS} ${EANT_ANT_TASKS}"
- ANT_TASKS="${tasks:-${ANT_TASKS}}" \
- eant ${antflags} -f "${EANT_BUILD_XML}" ${EANT_EXTRA_ARGS} "${@}"
- else
- echo "${FUNCNAME}: ${EANT_BUILD_XML} not found so nothing to do."
- fi
-}
-
-# @FUNCTION: java-pkg-2_src_test
-# @DEPRECATED: none
-# @DESCRIPTION:
-# src_test, not exported.
-java-pkg-2_src_test() {
- [[ -e "${EANT_BUILD_XML:=build.xml}" ]] || return
-
- if [[ ${EANT_TEST_TARGET} ]] || < "${EANT_BUILD_XML}" tr -d "\n" | grep -Eq "<target\b[^>]*\bname=[\"']test[\"']"; then
- local opts task_re junit_re pkg
-
- if [[ ${EANT_TEST_JUNIT_INTO} ]]; then
- java-pkg_jar-from --into "${EANT_TEST_JUNIT_INTO}" junit
- fi
-
- if [[ ${EANT_TEST_GENTOO_CLASSPATH} ]]; then
- EANT_GENTOO_CLASSPATH="${EANT_TEST_GENTOO_CLASSPATH}"
- fi
-
- ANT_TASKS=${EANT_TEST_ANT_TASKS:-${ANT_TASKS:-${EANT_ANT_TASKS}}}
-
- task_re="\bdev-java/ant-junit(4)?(-[^:]+)?(:\S+)\b"
- junit_re="\bdev-java/junit(-[^:]+)?(:\S+)\b"
-
- if [[ ${DEPEND} =~ ${task_re} ]]; then
- pkg="ant-junit${BASH_REMATCH[1]}${BASH_REMATCH[3]}"
- pkg="${pkg%:0}"
-
- if [[ ${ANT_TASKS} && "${ANT_TASKS}" != none ]]; then
- ANT_TASKS="${ANT_TASKS} ${pkg}"
- else
- ANT_TASKS="${pkg}"
- fi
- elif [[ ${DEPEND} =~ ${junit_re} ]]; then
- pkg="junit${BASH_REMATCH[2]}"
- pkg="${pkg%:0}"
-
- opts="-Djunit.jar=\"$(java-pkg_getjar ${pkg} junit.jar)\""
-
- if [[ ${EANT_GENTOO_CLASSPATH} ]]; then
- EANT_GENTOO_CLASSPATH+=",${pkg}"
- else
- EANT_GENTOO_CLASSPATH="${pkg}"
- fi
- fi
-
- eant ${opts} -f "${EANT_BUILD_XML}" \
- ${EANT_EXTRA_ARGS} ${EANT_TEST_EXTRA_ARGS} ${EANT_TEST_TARGET:-test}
-
- else
- echo "${FUNCNAME}: No test target in ${EANT_BUILD_XML}"
- fi
-}
-
# @FUNCTION: java-pkg-2_pkg_preinst
# @DESCRIPTION:
# wrapper for java-utils-2_pkg_preinst
@@ -158,4 +68,4 @@ java-pkg-2_pkg_preinst() {
fi
-EXPORT_FUNCTIONS pkg_setup src_prepare src_compile pkg_preinst
+EXPORT_FUNCTIONS pkg_setup src_prepare pkg_preinst
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-02 0:57 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-02 0:57 UTC (permalink / raw
To: gentoo-commits
commit: 6ef120e9895172dd7b2c6a1c9f5b14ef56c75ea7
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 2 00:57:30 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Oct 2 00:57:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ef120e9
toolchain.eclass: print all relevant flags, not just C{,XX}FLAGS + LDFLAGS
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 6a816a66275d..1c990f1f1114 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1040,9 +1040,10 @@ toolchain_src_configure() {
export ac_cv_std_swap_in_utility=no
fi
- einfo "CFLAGS=\"${CFLAGS}\""
- einfo "CXXFLAGS=\"${CXXFLAGS}\""
- einfo "LDFLAGS=\"${LDFLAGS}\""
+ local flag
+ for flag in $(all-flag-vars) ; do
+ einfo "${flag}=\"${!flag}\""
+ done
local confgcc=( --host=${CHOST} )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 23:13 Eli Schwartz
0 siblings, 0 replies; 6228+ messages in thread
From: Eli Schwartz @ 2024-10-01 23:13 UTC (permalink / raw
To: gentoo-commits
commit: 50a9e89135f0e924fa0fe7c4482791c8056d9d75
Author: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 19:46:56 2024 +0000
Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 23:03:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50a9e891
toolchain.eclass: also reset STAGE1_CXXFLAGS for old compilers
Since commit a9156e205ca667cf40f43329b5bc22749f166501 we pass CXXFLAGS
as well, but it didn't include the existing logic we have for checking if
you have a really old compiler and taking precautions to avoid garbage
codegen breaking the stage1 compiler.
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>
Reviewed-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 3547549b1a12..d5570a746a2e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2076,6 +2076,7 @@ gcc_do_make() {
# using not-O0 is just a build-time speed improvement anyway.
if ! tc-is-gcc || ver_test $(gcc-fullversion) -lt 10 ; then
STAGE1_CFLAGS="-O0"
+ STAGE1_CXXFLAGS="-O0"
fi
# We only want to use the system's CFLAGS if not building a
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 23:13 Eli Schwartz
0 siblings, 0 replies; 6228+ messages in thread
From: Eli Schwartz @ 2024-10-01 23:13 UTC (permalink / raw
To: gentoo-commits
commit: 9a089ae37edf29aa5956932209751379a1bceb21
Author: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 20:07:21 2024 +0000
Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 23:04:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a089ae3
toolchain.eclass: restrict *FLAGS for stage1 compiler when bootstrapping
e.g. if gnat1 from a bootstrap compiler is older than the host compiler
itself, we are going to end up passing flags that the host compiler does
understand, but gnat1 does not. This is trivially broken with
-march=native (passes loads of flags) and also more plebeian things such
as -march=x86-64-v3 which is sadly too new for gnat-10
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>
Reviewed-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d5570a746a2e..6a816a66275d 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2077,6 +2077,13 @@ gcc_do_make() {
if ! tc-is-gcc || ver_test $(gcc-fullversion) -lt 10 ; then
STAGE1_CFLAGS="-O0"
STAGE1_CXXFLAGS="-O0"
+ # We have a very good host compiler but it may be a bit too good, and
+ # know about flags that the version we are compiling does not know
+ # about. In principle we could check e.g. which gnat1 we are using as
+ # a bootstrap. It's simpler to do it unconditionally for now.
+ elif _tc_use_if_iuse ada || _tc_use_if_iuse d; then
+ STAGE1_CFLAGS="-O2"
+ STAGE1_CXXFLAGS="-O2"
fi
# We only want to use the system's CFLAGS if not building a
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 20:40 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-10-01 20:40 UTC (permalink / raw
To: gentoo-commits
commit: b4ca7760f8bb83e8d6180d6be48dcbd7af8b3498
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 20:37:51 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 20:37:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b4ca7760
cargo.eclass: Respect existing CARGO_TARGET_${TRIPLE}_RUSTFLAGS
This variable is used to disable crt-static with musl.
Closes: https://bugs.gentoo.org/940197
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/cargo.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 3a63e5027250..499fe5498c96 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -585,7 +585,7 @@ cargo_env() {
local -x CARGO_BUILD_TARGET=$(rust_abi)
local TRIPLE=${CARGO_BUILD_TARGET//-/_}
local TRIPLE=${TRIPLE^^} LD_A=( $(tc-getCC) ${LDFLAGS} )
- local -x CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS="-C strip=none -C linker=${LD_A[0]}"
+ local -Ix CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS+=" -C strip=none -C linker=${LD_A[0]}"
[[ ${#LD_A[@]} -gt 1 ]] && local CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS+="$(printf -- ' -C link-arg=%s' "${LD_A[@]:1}")"
local CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS+=" ${RUSTFLAGS}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 19:38 Eli Schwartz
0 siblings, 0 replies; 6228+ messages in thread
From: Eli Schwartz @ 2024-10-01 19:38 UTC (permalink / raw
To: gentoo-commits
commit: 8c195224ab8d8a499d120cb0b44371d7d7c0511c
Author: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 15:26:00 2024 +0000
Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 19:38:24 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c195224
toolchain.eclass: fix typo that prevented configuring with USE=ada
We need a bootstrap (version) and a bootstrap_type (value irrelevant for
now except to flag whether it is ada-bootstrap).
Due to a typo, we set the former first to the detected slot and then
immediately to the value "gcc", which made no sense since "gcc" isn't a
valid SLOT version of gcc. Hence we tried to run ${triplet}-gcc-gcc
instead of running ${triplet}-gcc-${SLOT}.
Only reproducible when using gnat-gpl itself as the gcc edition.
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>
Reviewed-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index e253cffa777b..3547549b1a12 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -884,7 +884,7 @@ toolchain_setup_ada() {
ebegin "Testing fallback dev-lang/gnat-gpl for Ada"
if has_version -b "dev-lang/gnat-gpl" ; then
ada_bootstrap=10
- ada_bootstrap=gcc
+ ada_bootstrap_type=gcc
eend 0
else
eend 1
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 10:18 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-01 10:18 UTC (permalink / raw
To: gentoo-commits
commit: ddc2dc1bbb001d95bdf0ece36f379481c97156be
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 10:16:58 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 10:16:58 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddc2dc1b
toolchain.eclass: conditionally pass -Wno-complain-wrong-lang for >= GCC 13
... ditto for -Wno-format-security and so on. It causes far more noise
than test cases it helps with. Of course, when we have -Wno-complain-wrong-lang
available (in >= GCC 13), then it's worth it.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 7b302afdf5cc..e253cffa777b 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2171,8 +2171,10 @@ toolchain_src_test() {
(
# Workaround our -Wformat-security default which breaks
# various tests as it adds unexpected warning output.
- GCC_TESTS_CFLAGS+=" -Wno-format-security -Wno-format"
- GCC_TESTS_CXXFLAGS+=" -Wno-format-security -Wno-format"
+ if tc_version_is_at_least 13 ; then
+ GCC_TESTS_CFLAGS+=" -Wno-format-security -Wno-format"
+ GCC_TESTS_CXXFLAGS+=" -Wno-format-security -Wno-format"
+ fi
# Workaround our -Wtrampolines default which breaks
# tests too.
@@ -2182,8 +2184,10 @@ toolchain_src_test() {
GCC_TESTS_LDFLAGS+=" -Wl,--no-warn-execstack"
# Avoid confusing tests like Fortran/C interop ones where
# CFLAGS are used.
- GCC_TESTS_CFLAGS+=" -Wno-complain-wrong-lang"
- GCC_TESTS_CXXFLAGS+=" -Wno-complain-wrong-lang"
+ if tc_version_is_at_least 13 ; then
+ GCC_TESTS_CFLAGS+=" -Wno-complain-wrong-lang"
+ GCC_TESTS_CXXFLAGS+=" -Wno-complain-wrong-lang"
+ fi
# Issues with Ada tests:
# gnat.dg/align_max.adb
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 7:47 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-01 7:47 UTC (permalink / raw
To: gentoo-commits
commit: 80f7aebfa94401e62f9f8132cf2fe16b51d9be40
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 07:46:22 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 07:46:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80f7aebf
toolchain.eclass: don't pass --specs= to gnat* tools
The gnat* tools don't understand --specs=* and we only need to do that
to ensure the compiler driver (gcc) calls the right things anyway.
What we might have to do in future however is force --gcc and --link...
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a9f02d6d6a46..7b302afdf5cc 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -982,7 +982,7 @@ toolchain_setup_ada() {
for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
#!/bin/sh
- exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) --specs=${T}/ada.spec "\$@"
+ exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) "\$@"
EOF
export "${tool^^}"="${T}"/ada-wrappers/${tool}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 6:59 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-01 6:59 UTC (permalink / raw
To: gentoo-commits
commit: c52997d9b125de280d75b169b8bc6f3964d5d051
Author: Andrei Horodniceanu <a.horodniceanu <AT> proton <DOT> me>
AuthorDate: Mon Sep 30 16:32:52 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 06:59:28 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c52997d9
toolchain.eclass: Try harder to disable cet automagic
On arches that support USE=cet (those being amd64, arm64, and, x86)
always pass --enable-cet or --disable-cet (or aarch64
standard-branch-protection equivalent) to prevent any configure automagic
from happening.
Preserve the same CTARGET logic so only pass --enable-cet if the
target environment supports it and if `use cet`.
Also fix the regex `i[[34567]]86` as that matches an i, followed by any
of the digits from 3 to 7 or the [ character, followed by ], followed by
8, followed by 6. The regex originated in config/cet.m4 which uses []
for quotes.
The automatic specifically breaks gcc[d] on musl because it prevents the
code from using an internal assembly implementation for a function and
deferring to using an implementation that would be provided by
sys-libs/libucontext which results in undefined symbol errors:
```
/usr/lib/gcc/x86_64-pc-linux-musl/11/../../../../x86_64-pc-linux-musl/bin/ld:
/usr/lib/gcc/x86_64-pc-linux-musl/11/libgphobos.a(fiber.o): in function `_D4core6thread5fiber5Fiber9initStackMFNbNiZv':
(.text._D4core6thread5fiber5Fiber9initStackMFNbNiZv+0x2e): undefined reference to `getcontext'
/usr/lib/gcc/x86_64-pc-linux-musl/11/../../../../x86_64-pc-linux-musl/bin/ld: (.text._D4core6thread5fiber5Fiber9initStackMFNbNiZv+0x5f): undefined reference to `makecontext'
/usr/lib/gcc/x86_64-pc-linux-musl/11/../../../../x86_64-pc-linux-musl/bin/ld: /usr/lib/gcc/x86_64-pc-linux-musl/11/libgphobos.a(fiber.o): in function `_D4core6thread5fiber5Fiber12_staticCtor1FZv':
(.text._D4core6thread5fiber5Fiber12_staticCtor1FZv+0x1c): undefined reference to `getcontext'
```
Bug: https://bugs.gentoo.org/939874
Closes: https://bugs.gentoo.org/918692
Signed-off-by: Andrei Horodniceanu <a.horodniceanu <AT> proton.me>
Closes: https://github.com/gentoo/gentoo/pull/38830
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 65523041302e..a9f02d6d6a46 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1526,10 +1526,20 @@ toolchain_src_configure() {
fi
if in_iuse cet ; then
- if [[ ${CTARGET} == i[[34567]]86-*-linux* || ${CTARGET} == x86_64-*-gnu* ]] ; then
- confgcc+=( $(use_enable cet) )
- fi
- [[ ${CTARGET} == aarch64-*-gnu* ]] && confgcc+=( $(use_enable cet standard-branch-protection) )
+ # Usage: triple_arch triple_env cet_name
+ enable_cet_for() {
+ if [[ ${CTARGET} == ${1}-* ]] ; then
+ if use cet && [[ ${CTARGET} == *-${2}* ]]; then
+ confgcc+=( --enable-${3} )
+ else
+ confgcc+=( --disable-${3} )
+ fi
+ fi
+ }
+
+ enable_cet_for 'i[34567]86' 'linux' 'cet'
+ enable_cet_for 'x86_64' 'gnu' 'cet'
+ enable_cet_for 'aarch64' 'gnu' 'standard-branch-protection'
fi
if in_iuse systemtap ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 2:16 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-01 2:16 UTC (permalink / raw
To: gentoo-commits
commit: 2492e4efc220c6f50eb2cfa01addcd1aaf198063
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 02:15:04 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 02:15:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2492e4ef
toolchain.eclass: reflow comments slightly
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a5c7d5df47d5..65523041302e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -956,8 +956,8 @@ toolchain_setup_ada() {
;;
esac
- # Easier to substitute these values in rather than escape
- # lots of bits above in heredoc.
+ # Easier to substitute these values in rather than escape lots of
+ # bits above in the heredoc.
sed -i \
-e "s:\${BROOT}:${BROOT}:" \
-e "s:\${CBUILD}:${CBUILD}:" \
@@ -965,9 +965,9 @@ toolchain_setup_ada() {
-e "s:\${ada_bootstrap}:${ada_bootstrap}:" \
"${T}"/ada.spec || die
- # The Makefile tries to find libgnat by querying $(CC) which
- # won't work for us as the stage1 compiler doesn't necessarily
- # have Ada support. Substitute the Ada compiler we found earlier.
+ # The Makefile tries to find libgnat by querying $(CC) which won't
+ # work for us as the stage1 compiler doesn't necessarily have Ada
+ # support. Substitute the Ada compiler we found earlier.
local adalib
adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
adalib="${adalib%/*}/adalib"
@@ -975,8 +975,8 @@ toolchain_setup_ada() {
-e "s:adalib=.*:adalib=${adalib}:" \
"${S}"/gcc/ada/gcc-interface/Make-lang.in || die
- # Create bin wrappers because not all of the build system
- # respects GNATBIND or GNATMAKE.
+ # Create bin wrappers because not all of the build system respects
+ # GNATBIND or GNATMAKE.
mkdir "${T}"/ada-wrappers || die
local tool
for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 2:14 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-01 2:14 UTC (permalink / raw
To: gentoo-commits
commit: e560bd7b70ae2d64ab1d86a716756c320b6d2f70
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 02:13:31 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 02:13:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e560bd7b
toolchain.eclass: further special-case dropping for ada-bootstrap
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 31 ++++++++++++-------------------
1 file changed, 12 insertions(+), 19 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index f9c5f58bf7d4..a5c7d5df47d5 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -945,19 +945,23 @@ toolchain_setup_ada() {
%{gnatc*|gnats*: -o %j} %{-param*}
EOF
- # XXX: Hack for now
- if [[ ${ada_bootstrap_type} == ada-bootstrap ]] ; then
- sed -i \
- -e "s:\${gnat1_path}:${BROOT}/usr/lib/ada-bootstrap/libexec/gcc/x86_64-pc-linux-gnu/10/gnat1:" \
- "${T}"/ada.spec || die
- fi
+ old_path="${PATH}"
+ case ${ada_bootstrap_type} in
+ ada-bootstrap)
+ export PATH="${BROOT}/usr/lib/ada-bootstrap/bin:${PATH}"
+ gnat1_path=${BROOT}/usr/lib/ada-bootstrap/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1
+ ;;
+ *)
+ gnat1_path=${BROOT}/usr/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1
+ ;;
+ esac
# Easier to substitute these values in rather than escape
# lots of bits above in heredoc.
sed -i \
-e "s:\${BROOT}:${BROOT}:" \
-e "s:\${CBUILD}:${CBUILD}:" \
- -e "s:\${gnat1_path}:${BROOT}/usr/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1:" \
+ -e "s:\${gnat1_path}:${gnat1_path}:" \
-e "s:\${ada_bootstrap}:${ada_bootstrap}:" \
"${T}"/ada.spec || die
@@ -965,13 +969,7 @@ toolchain_setup_ada() {
# won't work for us as the stage1 compiler doesn't necessarily
# have Ada support. Substitute the Ada compiler we found earlier.
local adalib
- if [[ ${ada_bootstrap_type} == ada-bootstrap ]] ; then
- old_path="${PATH}"
- export PATH="${BROOT}/usr/lib/ada-bootstrap/bin:${PATH}"
- adalib=$("${BROOT}"/usr/lib/ada-bootstrap/bin/${CBUILD}-gcc -print-libgcc-file-name || die "Finding adalib dir failed")
- else
- adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
- fi
+ adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
adalib="${adalib%/*}/adalib"
sed -i \
-e "s:adalib=.*:adalib=${adalib}:" \
@@ -982,11 +980,6 @@ toolchain_setup_ada() {
mkdir "${T}"/ada-wrappers || die
local tool
for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
- if [[ ${ada_bootstrap_type} == ada-bootstrap ]] ; then
- ln -s "${BROOT}"/usr/lib/ada-bootstrap/bin/${tool} \
- "${T}"/ada-wrappers/${CBUILD}-${tool}-${ada_bootstrap} || die
- fi
-
cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
#!/bin/sh
exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) --specs=${T}/ada.spec "\$@"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 2:06 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-01 2:06 UTC (permalink / raw
To: gentoo-commits
commit: 6971e384576057adda25bb49a45f898fa13f83b1
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 02:04:41 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 02:04:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6971e384
toolchain.eclass: go back to PATH lookup for Ada wrappers
This should work now that we install gcc-config-style symlinks in
ada-bootstrap.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 355d5e12b4b5..f9c5f58bf7d4 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -989,7 +989,7 @@ toolchain_setup_ada() {
cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
#!/bin/sh
- exec ${CBUILD}-${tool}-${ada_bootstrap} --specs=${T}/ada.spec "\$@"
+ exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) --specs=${T}/ada.spec "\$@"
EOF
export "${tool^^}"="${T}"/ada-wrappers/${tool}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 1:58 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-01 1:58 UTC (permalink / raw
To: gentoo-commits
commit: 409fcc75caaa1c29188227011638873bda6a5ef5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 01:47:22 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 01:47:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=409fcc75
toolchain.eclass: quote BROOT
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index f52ff0e6bb60..7a67951fb7ab 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -968,7 +968,7 @@ toolchain_setup_ada() {
if [[ ${ada_bootstrap_type} == ada-bootstrap ]] ; then
old_path="${PATH}"
export PATH="${BROOT}/usr/lib/ada-bootstrap/bin:${PATH}"
- adalib=$(${BROOT}/usr/lib/ada-bootstrap/bin/${CBUILD}-gcc -print-libgcc-file-name || die "Finding adalib dir failed")
+ adalib=$("${BROOT}"/usr/lib/ada-bootstrap/bin/${CBUILD}-gcc -print-libgcc-file-name || die "Finding adalib dir failed")
else
adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 1:58 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-01 1:58 UTC (permalink / raw
To: gentoo-commits
commit: 23575e7311a21db0aa2dac9b29c5baa4f172658d
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 01:49:19 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 01:57:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23575e73
toolchain.eclass: small ada-bootstrap tweaks
* Don't try to do a PATH lookup for the wrappers for now; need to install
more symlinks in ada-bootstrap, I think
* Style tweaks
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 7a67951fb7ab..355d5e12b4b5 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -983,17 +983,18 @@ toolchain_setup_ada() {
local tool
for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
if [[ ${ada_bootstrap_type} == ada-bootstrap ]] ; then
- ln -s "${BROOT}"/usr/lib/ada-bootstrap/bin/${tool} "${T}"/ada-wrappers/${CBUILD}-${tool}-${ada_bootstrap} || die
+ ln -s "${BROOT}"/usr/lib/ada-bootstrap/bin/${tool} \
+ "${T}"/ada-wrappers/${CBUILD}-${tool}-${ada_bootstrap} || die
fi
cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
- #!/bin/sh
- exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) -specs=${T}/ada.spec "\$@"
- EOF
- chmod +x "${T}"/ada-wrappers/${tool} || die
+ #!/bin/sh
+ exec ${CBUILD}-${tool}-${ada_bootstrap} --specs=${T}/ada.spec "\$@"
+ EOF
export "${tool^^}"="${T}"/ada-wrappers/${tool}
done
+ chmod +x "${T}"/ada-wrappers/gnat{,bind,chop,clean,kr,link,ls,make,name,prep} || die
export PATH="${T}/ada-wrappers:${old_path}"
export CC="$(tc-getCC) -specs=${T}/ada.spec"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 1:46 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-01 1:46 UTC (permalink / raw
To: gentoo-commits
commit: 7a6f738a6e505b65bf7d9032810adccc419e9467
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 01:45:16 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 01:45:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a6f738a
toolchain.eclass: further adaptations to dev-lang/ada-bootstrap
This needs prettifying, which I'll do shortly.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 42 +++++++++++++++++++++++++++++++-----------
1 file changed, 31 insertions(+), 11 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 648e67b9493b..f52ff0e6bb60 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -840,6 +840,7 @@ toolchain_setup_ada() {
local ada_bootstrap
local ada_candidate
+ local ada_bootstrap_type
# GNAT can usually be built using the last major version and
# the current version, at least.
#
@@ -852,6 +853,7 @@ toolchain_setup_ada() {
ebegin "Testing sys-devel/gcc:${ada_candidate} for Ada"
if has_version -b "sys-devel/gcc:${ada_candidate}[ada(-)]" ; then
ada_bootstrap=${ada_candidate}
+ ada_bootstrap_type=gcc
eend 0
break
@@ -863,16 +865,15 @@ toolchain_setup_ada() {
if ver_test ${ada_bootstrap} -gt ${PV} || [[ -z ${ada_bootstrap} ]] ; then
ebegin "Testing fallback dev-lang/ada-bootstrap for Ada"
if has_version -b "<dev-lang/ada-bootstrap-${SLOT}" ; then
- local latest_ada_bootstrap=$(best_version -b "<dev-lang/ada-bootstrap-${SLOT}")
- latest_ada_bootstrap="${latest_ada_bootstrap#dev-lang/ada-bootstrap-}"
- latest_ada_bootstrap=$(ver_cut 1 ${latest_ada_bootstrap})
- ada_bootstrap=${latest_ada_bootstrap}
-
# TODO: Figure out ada-bootstrap versioning/slots
- export PATH="${BROOT}/usr/lib/ada-bootstrap/bin:${PATH}"
+
+ #local latest_ada_bootstrap=$(best_version -b "<dev-lang/ada-bootstrap-${SLOT}")
+ #latest_ada_bootstrap="${latest_ada_bootstrap#dev-lang/ada-bootstrap-}"
+ #latest_ada_bootstrap=$(ver_cut 1 ${latest_ada_bootstrap})
+ ada_bootstrap="10"
+ ada_bootstrap_type=ada-bootstrap
eend 0
- break
else
eend 1
fi
@@ -883,6 +884,7 @@ toolchain_setup_ada() {
ebegin "Testing fallback dev-lang/gnat-gpl for Ada"
if has_version -b "dev-lang/gnat-gpl" ; then
ada_bootstrap=10
+ ada_bootstrap=gcc
eend 0
else
eend 1
@@ -910,7 +912,7 @@ toolchain_setup_ada() {
@ada:
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} \
%{!S:%{!c:%e-c or -S required for Ada}} \
- ${BROOT}/usr/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1 %{I*} %{k8:-gnatk8} %{!Q:-quiet} \
+ ${gnat1_path} %{I*} %{k8:-gnatk8} %{!Q:-quiet} \
%{nostdinc*} %{nostdlib*} \
%{fcompare-debug-second:-gnatd_A} \
%{O*} %{W*} %{w} %{p} %{pg:-p} \
@@ -943,11 +945,19 @@ toolchain_setup_ada() {
%{gnatc*|gnats*: -o %j} %{-param*}
EOF
+ # XXX: Hack for now
+ if [[ ${ada_bootstrap_type} == ada-bootstrap ]] ; then
+ sed -i \
+ -e "s:\${gnat1_path}:${BROOT}/usr/lib/ada-bootstrap/libexec/gcc/x86_64-pc-linux-gnu/10/gnat1:" \
+ "${T}"/ada.spec || die
+ fi
+
# Easier to substitute these values in rather than escape
# lots of bits above in heredoc.
sed -i \
-e "s:\${BROOT}:${BROOT}:" \
-e "s:\${CBUILD}:${CBUILD}:" \
+ -e "s:\${gnat1_path}:${BROOT}/usr/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1:" \
-e "s:\${ada_bootstrap}:${ada_bootstrap}:" \
"${T}"/ada.spec || die
@@ -955,7 +965,13 @@ toolchain_setup_ada() {
# won't work for us as the stage1 compiler doesn't necessarily
# have Ada support. Substitute the Ada compiler we found earlier.
local adalib
- adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
+ if [[ ${ada_bootstrap_type} == ada-bootstrap ]] ; then
+ old_path="${PATH}"
+ export PATH="${BROOT}/usr/lib/ada-bootstrap/bin:${PATH}"
+ adalib=$(${BROOT}/usr/lib/ada-bootstrap/bin/${CBUILD}-gcc -print-libgcc-file-name || die "Finding adalib dir failed")
+ else
+ adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
+ fi
adalib="${adalib%/*}/adalib"
sed -i \
-e "s:adalib=.*:adalib=${adalib}:" \
@@ -966,16 +982,20 @@ toolchain_setup_ada() {
mkdir "${T}"/ada-wrappers || die
local tool
for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
+ if [[ ${ada_bootstrap_type} == ada-bootstrap ]] ; then
+ ln -s "${BROOT}"/usr/lib/ada-bootstrap/bin/${tool} "${T}"/ada-wrappers/${CBUILD}-${tool}-${ada_bootstrap} || die
+ fi
+
cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
#!/bin/sh
exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) -specs=${T}/ada.spec "\$@"
EOF
chmod +x "${T}"/ada-wrappers/${tool} || die
- export "${tool^^}"=${CBUILD}-${tool}-${ada_bootstrap}
+ export "${tool^^}"="${T}"/ada-wrappers/${tool}
done
- export PATH="${T}/ada-wrappers:${PATH}"
+ export PATH="${T}/ada-wrappers:${old_path}"
export CC="$(tc-getCC) -specs=${T}/ada.spec"
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 1:11 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-10-01 1:11 UTC (permalink / raw
To: gentoo-commits
commit: e6a69ea10ed74a0ce49e979bbc4bbce139949259
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 1 01:02:17 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 1 01:10:28 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6a69ea1
toolchain.eclass: support dev-lang/ada-bootstrap
Bug: https://bugs.gentoo.org/547358
Bug: https://bugs.gentoo.org/919667
Bug: https://bugs.gentoo.org/940472
Closes: https://bugs.gentoo.org/940471
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 42 +++++++++++++++++++++++++++++++++---------
1 file changed, 33 insertions(+), 9 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 939c68113188..648e67b9493b 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -402,7 +402,16 @@ if tc_has_feature valgrind ; then
fi
if [[ ${PN} != gnat-gpl ]] && tc_has_feature ada ; then
- BDEPEND+=" ada? ( || ( sys-devel/gcc:${SLOT}[ada] <sys-devel/gcc-${SLOT}[ada] dev-lang/gnat-gpl[ada] ) )"
+ BDEPEND+="
+ ada? (
+ || (
+ sys-devel/gcc:${SLOT}[ada]
+ <sys-devel/gcc-${SLOT}[ada]
+ <dev-lang/ada-bootstrap-${SLOT}
+ dev-lang/gnat-gpl[ada]
+ )
+ )
+ "
fi
# TODO: Add a pkg_setup & pkg_pretend check for whether the active compiler
@@ -850,10 +859,28 @@ toolchain_setup_ada() {
eend 1
done
- # As a last resort, use dev-lang/gnat-gpl.
- # TODO: Make gnat-gpl coinstallable with gcc:10 (bug #940471).
+ # As a penultimate resort, try dev-lang/ada-bootstrap.
+ if ver_test ${ada_bootstrap} -gt ${PV} || [[ -z ${ada_bootstrap} ]] ; then
+ ebegin "Testing fallback dev-lang/ada-bootstrap for Ada"
+ if has_version -b "<dev-lang/ada-bootstrap-${SLOT}" ; then
+ local latest_ada_bootstrap=$(best_version -b "<dev-lang/ada-bootstrap-${SLOT}")
+ latest_ada_bootstrap="${latest_ada_bootstrap#dev-lang/ada-bootstrap-}"
+ latest_ada_bootstrap=$(ver_cut 1 ${latest_ada_bootstrap})
+ ada_bootstrap=${latest_ada_bootstrap}
+
+ # TODO: Figure out ada-bootstrap versioning/slots
+ export PATH="${BROOT}/usr/lib/ada-bootstrap/bin:${PATH}"
+
+ eend 0
+ break
+ else
+ eend 1
+ fi
+ fi
+
+ # As a last resort, try dev-lang/gnat-gpl.
if ver_test ${ada_bootstrap} -gt ${PV} || [[ -z ${ada_bootstrap} ]] ; then
- ebegin "Testing dev-lang/gnat-gpl for Ada"
+ ebegin "Testing fallback dev-lang/gnat-gpl for Ada"
if has_version -b "dev-lang/gnat-gpl" ; then
ada_bootstrap=10
eend 0
@@ -866,12 +893,9 @@ toolchain_setup_ada() {
# TODO: Source a newer, or build our own, bootstrap tarball (bug #940472).
if [[ -z ${ada_bootstrap} ]] ; then
eerror "Couldn't find a suitable GNAT compiler for Ada!"
- eerror "Please try installing dev-lang/gnat-gpl."
+ eerror "Please try installing dev-lang/ada-bootstrap or failing that, dev-lang/gnat-gpl."
eerror "For other platforms, you may need to use crossdev."
- die "Fallback ada-bootstrap path not yet implemented!"
-
- #einfo "Using bootstrap GNAT compiler..."
- #export PATH="${BROOT}/opt/ada-bootstrap-${GCCMAJOR}/bin:${PATH}"
+ die "Couldn't find an Ada bootstrap compiler!"
fi
cat <<-"EOF" > "${T}"/ada.spec || die
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 5:57 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 5:57 UTC (permalink / raw
To: gentoo-commits
commit: 1bc16717ffb9819d1f5f03c1fe413be04d378246
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 05:54:07 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 05:57:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1bc16717
toolchain.eclass: tweak Ada, D deps
Without this, we can end up with something like:
```
[ebuild NS ] sys-devel/gcc-11.5.0:11::gentoo [13.3.1_p20240614:13::gentoo] USE="(ada*) cet (cxx) (d*) [...]"
[ebuild R ] sys-devel/gcc-13.3.1_p20240614:13::gentoo USE="(ada*) cet (cxx) (d*) [...]"
Total: 2 packages (1 in new slot, 1 reinstall), Size of downloads: 0 KiB
* Error: circular dependencies:
(sys-devel/gcc-13.3.1_p20240614:13/13::gentoo, ebuild scheduled for merge) depends on
(sys-devel/gcc-11.5.0:11/11::gentoo, ebuild scheduled for merge) (buildtime)
(sys-devel/gcc-13.3.1_p20240614:13/13::gentoo, ebuild scheduled for merge) (buildtime)
```
Portage sees sys-devel/gcc[ada] is queued and tries to use it to satisfy
the dep for 11, which pulls in 13, which pulls in 11 for D.
We can workaround this by depending on older GCC for whatever slot we're
in. This matches upstream documentation and also reality as you usually
need an older version anyway.
See also 370253f008a8922c9aebe8099ab9c34bd6947f66 in binhost.git.
Bug: https://bugs.gentoo.org/880825
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d29d07080582..939c68113188 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -402,7 +402,7 @@ if tc_has_feature valgrind ; then
fi
if [[ ${PN} != gnat-gpl ]] && tc_has_feature ada ; then
- BDEPEND+=" ada? ( || ( sys-devel/gcc[ada] dev-lang/gnat-gpl[ada] ) )"
+ BDEPEND+=" ada? ( || ( sys-devel/gcc:${SLOT}[ada] <sys-devel/gcc-${SLOT}[ada] dev-lang/gnat-gpl[ada] ) )"
fi
# TODO: Add a pkg_setup & pkg_pretend check for whether the active compiler
@@ -411,7 +411,7 @@ if tc_has_feature d && tc_version_is_at_least 12.0 ; then
# D in 12+ is self-hosting and needs D to bootstrap.
# TODO: package some binary we can use, like for Ada
# bug #840182
- BDEPEND+=" d? ( || ( sys-devel/gcc[d(-)] <sys-devel/gcc-12[d(-)] ) )"
+ BDEPEND+=" d? ( || ( sys-devel/gcc:${SLOT}[d(-)] <sys-devel/gcc-${SLOT}[d(-)] <sys-devel/gcc-12[d(-)] ) )"
fi
if tc_has_feature rust && tc_version_is_at_least 14.0.0_pre20230421 ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 3:03 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 3:03 UTC (permalink / raw
To: gentoo-commits
commit: f24f34cb062fce22d27296d989ec85a8e3cc106c
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 02:59:13 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 02:59:13 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f24f34cb
toolchain.eclass: drop obsolete Java workaround
toolchain.eclass hasn't supported versions of GCC that included GCJ
for a while (see ::toolchain and toolchain-legacy.eclass if interested
in that), so drop an obsolete Java workaround we forgot to remove
when cleaning up the rest.
Bug: https://bugs.gentoo.org/384291
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ----
1 file changed, 4 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 2950eaa3ccf2..d29d07080582 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1006,10 +1006,6 @@ toolchain_src_configure() {
einfo "CXXFLAGS=\"${CXXFLAGS}\""
einfo "LDFLAGS=\"${LDFLAGS}\""
- # Force internal zip based jar script to avoid random
- # issues with 3rd party jar implementations. bug #384291
- export JAR=no
-
local confgcc=( --host=${CHOST} )
if is_crosscompile || tc-is-cross-compiler ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 3:02 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 3:02 UTC (permalink / raw
To: gentoo-commits
commit: d8160b8b90c6c752640af9db65061bb76c05d0c4
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 02:58:25 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 02:58:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8160b8b
toolchain.eclass: consolidate a comment
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 9900b2989abf..2950eaa3ccf2 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -998,8 +998,7 @@ toolchain_src_configure() {
gcc_do_filter_flags
if ! tc_version_is_at_least 11 && [[ $(gcc-major-version) -ge 12 ]] ; then
- # https://gcc.gnu.org/PR105695
- # bug #849359
+ # https://gcc.gnu.org/PR105695 (bug #849359)
export ac_cv_std_swap_in_utility=no
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 2:20 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 2:20 UTC (permalink / raw
To: gentoo-commits
commit: 9cfe1db9d69d0363f7591734822d4ba527d538fd
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 02:17:50 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 02:17:50 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9cfe1db9
toolchain.eclass: consolidate language configure options
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 41f51b1bb747..9900b2989abf 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1022,18 +1022,6 @@ toolchain_src_configure() {
fi
[[ -n ${CBUILD} ]] && confgcc+=( --build=${CBUILD} )
- _need_ada_bootstrap_mangling() {
- if [[ ${CATEGORY}/${PN} == dev-lang/gnat-gpl ]] ; then
- _tc_use_if_iuse system-bootstrap && return 0
- return 1
- fi
-
- _tc_use_if_iuse ada
- }
-
- _need_ada_bootstrap_mangling && toolchain_setup_ada
- _tc_use_if_iuse d && toolchain_setup_d
-
confgcc+=(
--prefix="${PREFIX}"
--bindir="${BINPATH}"
@@ -1088,6 +1076,18 @@ toolchain_src_configure() {
is_modula2 && GCC_LANG+=",m2"
is_rust && GCC_LANG+=",rust"
+ _need_ada_bootstrap_mangling() {
+ if [[ ${CATEGORY}/${PN} == dev-lang/gnat-gpl ]] ; then
+ _tc_use_if_iuse system-bootstrap && return 0
+ return 1
+ fi
+
+ _tc_use_if_iuse ada
+ }
+
+ _need_ada_bootstrap_mangling && toolchain_setup_ada
+ _tc_use_if_iuse d && toolchain_setup_d
+
confgcc+=( --enable-languages=${GCC_LANG} )
### general options
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 2:15 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 2:15 UTC (permalink / raw
To: gentoo-commits
commit: 4f9c576ac91e273b0023084d4be134c94c65f7df
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 02:04:48 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 02:05:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f9c576a
toolchain.eclass: switch to /bin/sh shebang for Ada wrappers
type -P is used in ebuild context, not in the script itself (it is expanded
in the heredoc), so we can use POSIX shell. It might make things slightly
faster given these tools get invoked a lot during the build.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 7800681a6fb8..f64128baef48 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -981,7 +981,7 @@ toolchain_src_configure() {
local tool
for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
- #!/bin/bash
+ #!/bin/sh
exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) -specs=${T}/ada.spec "\$@"
EOF
chmod +x "${T}"/ada-wrappers/${tool} || die
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 2:15 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 2:15 UTC (permalink / raw
To: gentoo-commits
commit: cd4189a259b3f34d0da39851931dc1a6a6a631f2
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 02:14:13 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 02:14:13 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd4189a2
toolchain.eclass: move Ada and D logic into their own functions
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 285 +++++++++++++++++++++++++-----------------------
1 file changed, 149 insertions(+), 136 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index f64128baef48..41f51b1bb747 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -819,100 +819,62 @@ setup_multilib_osdirnames() {
sed -i "${sed_args[@]}" "${S}"/gcc/config/${config} || die
}
-#---->> src_configure <<----
-
-toolchain_src_configure() {
- BUILD_CONFIG_TARGETS=()
- is-flagq '-O3' && BUILD_CONFIG_TARGETS+=( bootstrap-O3 )
-
- downgrade_arch_flags
- gcc_do_filter_flags
-
- if ! tc_version_is_at_least 11 && [[ $(gcc-major-version) -ge 12 ]] ; then
- # https://gcc.gnu.org/PR105695
- # bug #849359
- export ac_cv_std_swap_in_utility=no
- fi
-
- einfo "CFLAGS=\"${CFLAGS}\""
- einfo "CXXFLAGS=\"${CXXFLAGS}\""
- einfo "LDFLAGS=\"${LDFLAGS}\""
-
- # Force internal zip based jar script to avoid random
- # issues with 3rd party jar implementations. bug #384291
- export JAR=no
+# @FUNCTION: toolchain_setup_ada
+# @INTERNAL
+# @DESCRIPTION:
+# Determine the most suitable GNAT (Ada compiler) for bootstrapping
+# and setup the environment, including wrappers, for building.
+toolchain_setup_ada() {
+ local latest_gcc=$(best_version -b "sys-devel/gcc")
+ latest_gcc="${latest_gcc#sys-devel/gcc-}"
+ latest_gcc=$(ver_cut 1 ${latest_gcc})
+
+ local ada_bootstrap
+ local ada_candidate
+ # GNAT can usually be built using the last major version and
+ # the current version, at least.
+ #
+ # We always prefer the version being built if possible
+ # as it has the greatest chance of success. Failing that,
+ # try GCC 10 and iterate upwards.
+ for ada_candidate in ${SLOT} $(seq 10 ${latest_gcc}) ; do
+ has_version -b "sys-devel/gcc:${ada_candidate}" || continue
- local confgcc=( --host=${CHOST} )
+ ebegin "Testing sys-devel/gcc:${ada_candidate} for Ada"
+ if has_version -b "sys-devel/gcc:${ada_candidate}[ada(-)]" ; then
+ ada_bootstrap=${ada_candidate}
- if is_crosscompile || tc-is-cross-compiler ; then
- # Straight from the GCC install doc:
- # "GCC has code to correctly determine the correct value for target
- # for nearly all native systems. Therefore, we highly recommend you
- # not provide a configure target when configuring a native compiler."
- confgcc+=( --target=${CTARGET} )
- fi
- [[ -n ${CBUILD} ]] && confgcc+=( --build=${CBUILD} )
-
- _need_ada_bootstrap_mangling() {
- if [[ ${CATEGORY}/${PN} == dev-lang/gnat-gpl ]] ; then
- _tc_use_if_iuse system-bootstrap && return 0
- return 1
+ eend 0
+ break
fi
+ eend 1
+ done
- _tc_use_if_iuse ada
- }
-
- if _need_ada_bootstrap_mangling ; then
- local latest_gcc=$(best_version -b "sys-devel/gcc")
- latest_gcc="${latest_gcc#sys-devel/gcc-}"
- latest_gcc=$(ver_cut 1 ${latest_gcc})
-
- local ada_bootstrap
- local ada_candidate
- # GNAT can usually be built using the last major version and
- # the current version, at least.
- #
- # We always prefer the version being built if possible
- # as it has the greatest chance of success. Failing that,
- # try GCC 10 and iterate upwards.
- for ada_candidate in ${SLOT} $(seq 10 ${latest_gcc}) ; do
- has_version -b "sys-devel/gcc:${ada_candidate}" || continue
-
- ebegin "Testing sys-devel/gcc:${ada_candidate} for Ada"
- if has_version -b "sys-devel/gcc:${ada_candidate}[ada(-)]" ; then
- ada_bootstrap=${ada_candidate}
-
- eend 0
- break
- fi
+ # As a last resort, use dev-lang/gnat-gpl.
+ # TODO: Make gnat-gpl coinstallable with gcc:10 (bug #940471).
+ if ver_test ${ada_bootstrap} -gt ${PV} || [[ -z ${ada_bootstrap} ]] ; then
+ ebegin "Testing dev-lang/gnat-gpl for Ada"
+ if has_version -b "dev-lang/gnat-gpl" ; then
+ ada_bootstrap=10
+ eend 0
+ else
eend 1
- done
-
- # As a last resort, use dev-lang/gnat-gpl.
- # TODO: Make gnat-gpl coinstallable with gcc:10 (bug #940471).
- if ver_test ${ada_bootstrap} -gt ${PV} || [[ -z ${ada_bootstrap} ]] ; then
- ebegin "Testing dev-lang/gnat-gpl for Ada"
- if has_version -b "dev-lang/gnat-gpl" ; then
- ada_bootstrap=10
- eend 0
- else
- eend 1
- fi
fi
+ fi
- # OK, even gnat-gpl didn't work. Give up for now.
- # TODO: Source a newer, or build our own, bootstrap tarball (bug #940472).
- if [[ -z ${ada_bootstrap} ]] ; then
- eerror "Couldn't find a suitable GNAT compiler for Ada!"
- eerror "Please try installing dev-lang/gnat-gpl."
- eerror "For other platforms, you may need to use crossdev."
- die "Fallback ada-bootstrap path not yet implemented!"
+ # OK, even gnat-gpl didn't work. Give up for now.
+ # TODO: Source a newer, or build our own, bootstrap tarball (bug #940472).
+ if [[ -z ${ada_bootstrap} ]] ; then
+ eerror "Couldn't find a suitable GNAT compiler for Ada!"
+ eerror "Please try installing dev-lang/gnat-gpl."
+ eerror "For other platforms, you may need to use crossdev."
+ die "Fallback ada-bootstrap path not yet implemented!"
- #einfo "Using bootstrap GNAT compiler..."
- #export PATH="${BROOT}/opt/ada-bootstrap-${GCCMAJOR}/bin:${PATH}"
- fi
+ #einfo "Using bootstrap GNAT compiler..."
+ #export PATH="${BROOT}/opt/ada-bootstrap-${GCCMAJOR}/bin:${PATH}"
+ fi
- cat <<-"EOF" > "${T}"/ada.spec || die
+ cat <<-"EOF" > "${T}"/ada.spec || die
# Extracted from gcc/ada/gcc-interface/lang-specs.h
.adb:
@ada
@@ -957,69 +919,120 @@ toolchain_src_configure() {
%{gnatc*|gnats*: -o %j} %{-param*}
EOF
- # Easier to substitute these values in rather than escape
- # lots of bits above in heredoc.
- sed -i \
- -e "s:\${BROOT}:${BROOT}:" \
- -e "s:\${CBUILD}:${CBUILD}:" \
- -e "s:\${ada_bootstrap}:${ada_bootstrap}:" \
- "${T}"/ada.spec || die
-
- # The Makefile tries to find libgnat by querying $(CC) which
- # won't work for us as the stage1 compiler doesn't necessarily
- # have Ada support. Substitute the Ada compiler we found earlier.
- local adalib
- adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
- adalib="${adalib%/*}/adalib"
- sed -i \
- -e "s:adalib=.*:adalib=${adalib}:" \
- "${S}"/gcc/ada/gcc-interface/Make-lang.in || die
-
- # Create bin wrappers because not all of the build system
- # respects GNATBIND or GNATMAKE.
- mkdir "${T}"/ada-wrappers || die
- local tool
- for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
- cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
+ # Easier to substitute these values in rather than escape
+ # lots of bits above in heredoc.
+ sed -i \
+ -e "s:\${BROOT}:${BROOT}:" \
+ -e "s:\${CBUILD}:${CBUILD}:" \
+ -e "s:\${ada_bootstrap}:${ada_bootstrap}:" \
+ "${T}"/ada.spec || die
+
+ # The Makefile tries to find libgnat by querying $(CC) which
+ # won't work for us as the stage1 compiler doesn't necessarily
+ # have Ada support. Substitute the Ada compiler we found earlier.
+ local adalib
+ adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
+ adalib="${adalib%/*}/adalib"
+ sed -i \
+ -e "s:adalib=.*:adalib=${adalib}:" \
+ "${S}"/gcc/ada/gcc-interface/Make-lang.in || die
+
+ # Create bin wrappers because not all of the build system
+ # respects GNATBIND or GNATMAKE.
+ mkdir "${T}"/ada-wrappers || die
+ local tool
+ for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
+ cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
#!/bin/sh
exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) -specs=${T}/ada.spec "\$@"
EOF
- chmod +x "${T}"/ada-wrappers/${tool} || die
+ chmod +x "${T}"/ada-wrappers/${tool} || die
- export "${tool^^}"=${CBUILD}-${tool}-${ada_bootstrap}
- done
+ export "${tool^^}"=${CBUILD}-${tool}-${ada_bootstrap}
+ done
+
+ export PATH="${T}/ada-wrappers:${PATH}"
+ export CC="$(tc-getCC) -specs=${T}/ada.spec"
+}
+
+# @FUNCTION: toolchain_setup_d
+# @INTERNAL
+# @DESCRIPTION:
+# Determine the most suitable GDC (D compiler) for bootstrapping
+# and setup the environment for building.
+toolchain_setup_d() {
+ local latest_gcc=$(best_version -b "sys-devel/gcc")
+ latest_gcc="${latest_gcc#sys-devel/gcc-}"
+ latest_gcc=$(ver_cut 1 ${latest_gcc})
+
+ local d_bootstrap
+ local d_candidate
+ # We always prefer the version being built if possible
+ # as it has the greatest chance of success. Failing that,
+ # try GCC 10 and iterate upwards.
+ for d_candidate in ${SLOT} $(seq 10 ${latest_gcc}) ; do
+ has_version -b "sys-devel/gcc:${d_candidate}" || continue
+
+ ebegin "Testing sys-devel/gcc:${d_candidate} for D"
+ if has_version -b "sys-devel/gcc:${d_candidate}[d(-)]" ; then
+ d_bootstrap=${d_candidate}
+
+ eend 0
+ break
+ fi
+ eend 1
+ done
- export PATH="${T}/ada-wrappers:${PATH}"
- export CC="$(tc-getCC) -specs=${T}/ada.spec"
+ if [[ -n ${d_bootstrap} ]] ; then
+ export GDC="${BROOT}/usr/${CTARGET}/gcc-bin/${d_bootstrap}/gdc"
fi
+}
- if _tc_use_if_iuse d ; then
- local latest_gcc=$(best_version -b "sys-devel/gcc")
- latest_gcc="${latest_gcc#sys-devel/gcc-}"
- latest_gcc=$(ver_cut 1 ${latest_gcc})
+#---->> src_configure <<----
- local d_bootstrap
- local d_candidate
- # We always prefer the version being built if possible
- # as it has the greatest chance of success. Failing that,
- # try GCC 10 and iterate upwards.
- for d_candidate in ${SLOT} $(seq 10 ${latest_gcc}) ; do
- has_version -b "sys-devel/gcc:${d_candidate}" || continue
+toolchain_src_configure() {
+ BUILD_CONFIG_TARGETS=()
+ is-flagq '-O3' && BUILD_CONFIG_TARGETS+=( bootstrap-O3 )
- ebegin "Testing sys-devel/gcc:${d_candidate} for D"
- if has_version -b "sys-devel/gcc:${d_candidate}[d(-)]" ; then
- d_bootstrap=${d_candidate}
+ downgrade_arch_flags
+ gcc_do_filter_flags
- eend 0
- break
- fi
- eend 1
- done
+ if ! tc_version_is_at_least 11 && [[ $(gcc-major-version) -ge 12 ]] ; then
+ # https://gcc.gnu.org/PR105695
+ # bug #849359
+ export ac_cv_std_swap_in_utility=no
+ fi
- if [[ -n ${d_bootstrap} ]] ; then
- export GDC="${BROOT}/usr/${CTARGET}/gcc-bin/${d_bootstrap}/gdc"
- fi
+ einfo "CFLAGS=\"${CFLAGS}\""
+ einfo "CXXFLAGS=\"${CXXFLAGS}\""
+ einfo "LDFLAGS=\"${LDFLAGS}\""
+
+ # Force internal zip based jar script to avoid random
+ # issues with 3rd party jar implementations. bug #384291
+ export JAR=no
+
+ local confgcc=( --host=${CHOST} )
+
+ if is_crosscompile || tc-is-cross-compiler ; then
+ # Straight from the GCC install doc:
+ # "GCC has code to correctly determine the correct value for target
+ # for nearly all native systems. Therefore, we highly recommend you
+ # not provide a configure target when configuring a native compiler."
+ confgcc+=( --target=${CTARGET} )
fi
+ [[ -n ${CBUILD} ]] && confgcc+=( --build=${CBUILD} )
+
+ _need_ada_bootstrap_mangling() {
+ if [[ ${CATEGORY}/${PN} == dev-lang/gnat-gpl ]] ; then
+ _tc_use_if_iuse system-bootstrap && return 0
+ return 1
+ fi
+
+ _tc_use_if_iuse ada
+ }
+
+ _need_ada_bootstrap_mangling && toolchain_setup_ada
+ _tc_use_if_iuse d && toolchain_setup_d
confgcc+=(
--prefix="${PREFIX}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 2:02 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 2:02 UTC (permalink / raw
To: gentoo-commits
commit: 1ce76a16c8f6e283f277190e4b86dfea8fc38cb3
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 01:59:37 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 02:00:49 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ce76a16
toolchain.eclass: add bug reference to ada-bootstrap comment
Bug: https://bugs.gentoo.org/940471
Bug: https://bugs.gentoo.org/940472
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b2ada2190328..dfa46f094e45 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -889,7 +889,7 @@ toolchain_src_configure() {
done
# As a last resort, use dev-lang/gnat-gpl.
- # TODO: Make gnat-gpl coinstallable with gcc:10.
+ # TODO: Make gnat-gpl coinstallable with gcc:10 (bug #940471).
if ver_test ${ada_bootstrap} -gt ${PV} || [[ -z ${ada_bootstrap} ]] ; then
ebegin "Testing dev-lang/gnat-gpl for Ada"
if has_version -b "dev-lang/gnat-gpl" ; then
@@ -901,7 +901,7 @@ toolchain_src_configure() {
fi
# OK, even gnat-gpl didn't work. Give up for now.
- # TODO: Source a newer, or build our own, bootstrap tarball.
+ # TODO: Source a newer, or build our own, bootstrap tarball (bug #940472).
if [[ -z ${ada_bootstrap} ]] ; then
eerror "Couldn't find a suitable GNAT compiler for Ada!"
eerror "Please try installing dev-lang/gnat-gpl."
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 2:02 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 2:02 UTC (permalink / raw
To: gentoo-commits
commit: a90f7ff581cae6ab4d92a73ba734dc5377288616
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 02:01:53 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 02:01:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a90f7ff5
toolchain.eclass: move GNAT comment
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index dfa46f094e45..7800681a6fb8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -869,6 +869,9 @@ toolchain_src_configure() {
local ada_bootstrap
local ada_candidate
+ # GNAT can usually be built using the last major version and
+ # the current version, at least.
+ #
# We always prefer the version being built if possible
# as it has the greatest chance of success. Failing that,
# try GCC 10 and iterate upwards.
@@ -877,9 +880,6 @@ toolchain_src_configure() {
ebegin "Testing sys-devel/gcc:${ada_candidate} for Ada"
if has_version -b "sys-devel/gcc:${ada_candidate}[ada(-)]" ; then
- # Make sure we set a path to the Ada bootstrap if gcc[ada] is not already
- # installed. GNAT can usually be built using the last major version and
- # the current version, at least.
ada_bootstrap=${ada_candidate}
eend 0
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 2:02 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 2:02 UTC (permalink / raw
To: gentoo-commits
commit: 579c67b21758fbacff3527a01a12f00ed90f931d
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 01:58:41 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 01:58:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=579c67b2
toolchain.eclass: add explanation for 'sorry' on fallback Ada path
Give a nicer message to users in case they hit the 'sorry' fallback
Ada path.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b563277e90b1..b2ada2190328 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -903,6 +903,9 @@ toolchain_src_configure() {
# OK, even gnat-gpl didn't work. Give up for now.
# TODO: Source a newer, or build our own, bootstrap tarball.
if [[ -z ${ada_bootstrap} ]] ; then
+ eerror "Couldn't find a suitable GNAT compiler for Ada!"
+ eerror "Please try installing dev-lang/gnat-gpl."
+ eerror "For other platforms, you may need to use crossdev."
die "Fallback ada-bootstrap path not yet implemented!"
#einfo "Using bootstrap GNAT compiler..."
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 1:52 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 1:52 UTC (permalink / raw
To: gentoo-commits
commit: a9156e205ca667cf40f43329b5bc22749f166501
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 01:19:35 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 01:51:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a9156e20
toolchain.eclass: pass STAGE1_CXXFLAGS
Note that we're reusing get_abi_CFLAGS here as multilib.eclass doesn't
have get_abi_CXXFLAGS yet (bug #940501).
Adding this for the benefit of some GDC hackery we're doing (bug #940470).
Bug: https://bugs.gentoo.org/940501
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 138925777dd6..7dc905ecd7d8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2023,6 +2023,8 @@ gcc_do_make() {
# We only want to use the system's CFLAGS if not building a
# cross-compiler.
STAGE1_CFLAGS=${STAGE1_CFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"}
+ # multilib.eclass lacks get_abi_CXXFLAGS (bug #940501)
+ STAGE1_CXXFLAGS=${STAGE1_CXXFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CXXFLAGS}"}
STAGE1_LDFLAGS=${STAGE1_LDFLAGS-"${abi_ldflags} ${LDFLAGS}"}
BOOT_CFLAGS=${BOOT_CFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"}
BOOT_LDFLAGS=${BOOT_LDFLAGS-"${abi_ldflags} ${LDFLAGS}"}
@@ -2030,6 +2032,7 @@ gcc_do_make() {
emakeargs+=(
STAGE1_CFLAGS="${STAGE1_CFLAGS}"
+ STAGE1_CXXFLAGS="${STAGE1_CXXFLAGS}"
STAGE1_LDFLAGS="${STAGE1_LDFLAGS}"
BOOT_CFLAGS="${BOOT_CFLAGS}"
BOOT_LDFLAGS="${BOOT_LDFLAGS}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 1:52 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 1:52 UTC (permalink / raw
To: gentoo-commits
commit: d0d87a54bb3bb7b077c75b44ff419177fc03ebb8
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 01:22:34 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 01:51:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0d87a54
toolchain.eclass: check CXXFLAGS too in -march=native sanity check
Bug: https://bugs.gentoo.org/904426
Thanks-to: Pacho Ramos <pacho <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 616bc01a840a..d6445ea3227e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1812,7 +1812,7 @@ gcc_do_filter_flags() {
declare -A l1_cache_sizes=()
# Workaround for inconsistent cache sizes on hybrid P/E cores
# See PR111768 (and bug #904426, bug #908523, and bug #915389)
- if [[ ${CBUILD} == @(x86_64|i?86)* ]] && [[ ${CFLAGS} == *-march=native* ]] && tc-is-gcc ; then
+ if [[ ${CBUILD} == @(x86_64|i?86)* ]] && [[ "${CFLAGS}${CXXFLAGS}" == *-march=native* ]] && tc-is-gcc ; then
local x
local l1_cache_size
# Iterate over all cores and find their L1 cache size
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 1:52 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 1:52 UTC (permalink / raw
To: gentoo-commits
commit: c965c2d0a66b0827add2ac7708c69589491c5e8b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 01:20:59 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 01:51:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c965c2d0
toolchain.eclass: drop whitespace at end of function
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 1 -
1 file changed, 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 7dc905ecd7d8..616bc01a840a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -775,7 +775,6 @@ tc_enable_hardened_gcc() {
sed -i \
-e "/^HARD_CFLAGS = /s|=|= ${hardened_gcc_flags} |" \
"${S}"/gcc/Makefile.in || die
-
}
# This is a historical wart. The original Gentoo/amd64 port used:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30 1:52 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-30 1:52 UTC (permalink / raw
To: gentoo-commits
commit: ea474da34fe1f904936f0f6b6e52d91364c36c95
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 01:25:23 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 01:51:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea474da3
toolchain.eclass: unset _GLIBCXX_ASSERTIONS for stage1 with D bootstrap
When bootstrapping D for >= GCC 12 - where we enable _GLIBCXX_ASSERTIONS
by default for USE=hardened - using GCC 11, we run into trouble where
an implementation detail of _GLIBCXX_ASSERTIONS changed: see PR104807,
r12-7504-gd3a757af21ac33, and r12-7522-g4cb935cb69f120.
Workaround this by just disabling _GLIBCXX_ASSERTIONS for the stage 1
compiler (where it's not particularly important anyway) when USE=hardened
and we're building D. We could make this more conditional if needed
but I don't think it's worth it. In fact, maybe we should do this
unconditionally for a minor speed boost in building.
Bug: https://gcc.gnu.org/PR104807
Bug: https://bugs.gentoo.org/940470
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d6445ea3227e..b563277e90b1 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2029,6 +2029,15 @@ gcc_do_make() {
BOOT_LDFLAGS=${BOOT_LDFLAGS-"${abi_ldflags} ${LDFLAGS}"}
LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}"
+ # If we need to in future, we could really simplify this
+ # to just be unconditional for stage1. It doesn't really
+ # matter there. If we want to go in the other direction
+ # and make this more conditional, we could check if
+ # the bootstrap compiler is < GCC 12. See bug #940470.
+ if _tc_use_if_iuse d && use hardened ; then
+ STAGE1_CXXFLAGS+=" -U_GLIBCXX_ASSERTIONS"
+ fi
+
emakeargs+=(
STAGE1_CFLAGS="${STAGE1_CFLAGS}"
STAGE1_CXXFLAGS="${STAGE1_CXXFLAGS}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 11:28 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-29 11:28 UTC (permalink / raw
To: gentoo-commits
commit: 6c118fbbefc7ab5340c98179908fab2e6fca6b8a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 29 11:27:39 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 11:27:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c118fbb
toolchain.eclass: attempt to use gnat-gpl if the bootstrap GNAT is too new
Bug: https://bugs.gentoo.org/880825
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 62ff83feed28..138925777dd6 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -891,7 +891,7 @@ toolchain_src_configure() {
# As a last resort, use dev-lang/gnat-gpl.
# TODO: Make gnat-gpl coinstallable with gcc:10.
- if [[ -z ${ada_bootstrap} ]] ; then
+ if ver_test ${ada_bootstrap} -gt ${PV} || [[ -z ${ada_bootstrap} ]] ; then
ebegin "Testing dev-lang/gnat-gpl for Ada"
if has_version -b "dev-lang/gnat-gpl" ; then
ada_bootstrap=10
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 11:22 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-29 11:22 UTC (permalink / raw
To: gentoo-commits
commit: 9bb87839a6ad66ee7c89837a546fbf2e7f69b577
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 29 11:17:33 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 11:21:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9bb87839
toolchain.eclass: start with oldest GNAT and work upwards instead
Per https://gcc.gnu.org/install/prerequisites.html
"""
Similarly, it is strongly recommended to use an older version of GNAT to build GNAT.
More recent versions of GNAT than the version built are not guaranteed to work
and will often fail during the build with compilation errors.
"""
Bug: https://gcc.gnu.org/PR103357
Bug: https://bugs.gentoo.org/880825
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index f941f08d4198..759d871fde62 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -872,8 +872,8 @@ toolchain_src_configure() {
local ada_candidate
# We always prefer the version being built if possible
# as it has the greatest chance of success. Failing that,
- # try the latest installed GCC and iterate downwards.
- for ada_candidate in ${SLOT} $(seq ${latest_gcc} -1 10) ; do
+ # try GCC 10 and iterate upwards.
+ for ada_candidate in ${SLOT} $(seq 10 ${latest_gcc}) ; do
has_version -b "sys-devel/gcc:${ada_candidate}" || continue
ebegin "Testing sys-devel/gcc:${ada_candidate} for Ada"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 11:22 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-29 11:22 UTC (permalink / raw
To: gentoo-commits
commit: d1aa56b6e39f07490021e594920f4a965a968c07
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 29 11:20:08 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 11:21:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1aa56b6
toolchain.eclass: start with oldest GDC and work upwards instead
Per https://gcc.gnu.org/install/prerequisites.html
"""
It is strongly recommended to use an older version of GDC to build GDC.
More recent versions of GDC than the version built are not guaranteed to work
and will often fail during the build with compilation errors relating to
deprecations or removed features.
"""
... so do as I just did for GNAT.
Bug: https://bugs.gentoo.org/940470
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d68055f909fd..62ff83feed28 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1000,8 +1000,8 @@ toolchain_src_configure() {
local d_candidate
# We always prefer the version being built if possible
# as it has the greatest chance of success. Failing that,
- # try the latest installed GCC and iterate downwards.
- for d_candidate in ${SLOT} $(seq ${latest_gcc} -1 10) ; do
+ # try GCC 10 and iterate upwards.
+ for d_candidate in ${SLOT} $(seq 10 ${latest_gcc}) ; do
has_version -b "sys-devel/gcc:${d_candidate}" || continue
ebegin "Testing sys-devel/gcc:${d_candidate} for D"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 11:22 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-29 11:22 UTC (permalink / raw
To: gentoo-commits
commit: 28fd52a103787d2bffa9136cb3bf5418beeb3ea9
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 29 11:18:39 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 11:21:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28fd52a1
toolchain.eclass: don't set GDC if we couldn't find anything
This avoids wrongly/unnecessarily setting GDC for < GCC 12.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 759d871fde62..d68055f909fd 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1014,7 +1014,9 @@ toolchain_src_configure() {
eend 1
done
- export GDC="${BROOT}/usr/${CTARGET}/gcc-bin/${d_bootstrap}/gdc"
+ if [[ -n ${d_bootstrap} ]] ; then
+ export GDC="${BROOT}/usr/${CTARGET}/gcc-bin/${d_bootstrap}/gdc"
+ fi
fi
confgcc+=(
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 1:13 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-29 1:13 UTC (permalink / raw
To: gentoo-commits
commit: 8b286cd2cbe5be93c91115080340157047ac05a9
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 29 01:11:19 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 01:11:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b286cd2
toolchain.eclass: print GDC version used
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 9c0e38519b29..15fe4dfb60bc 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1603,6 +1603,8 @@ toolchain_src_configure() {
einfo "Languages: ${GCC_LANG}"
einfo "GCC version: $($(tc-getCC) -v 2>&1 | grep ' version ' | awk '{ print $3 }')"
is_ada && einfo "GNAT version: $(gnat 2>&1 | grep GNAT | awk '{ print $2 }')"
+ is_d && einfo "GDC version: $(${GDC} -v 2>&1 | grep ' version ' | awk '{ print $3 }')"
+
echo
# Build in a separate build tree
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 1:13 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-29 1:13 UTC (permalink / raw
To: gentoo-commits
commit: 53173d7420d926eb94cf94135350b124345cfa7a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 29 01:12:29 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 01:12:54 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53173d74
toolchain.eclass: use ${GNAT} for GNAT version print
It shouldn't matter as we set PATH but let's do it anyway for consistency.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 15fe4dfb60bc..f941f08d4198 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1602,7 +1602,7 @@ toolchain_src_configure() {
einfo "STDCXX_INCDIR: ${STDCXX_INCDIR}"
einfo "Languages: ${GCC_LANG}"
einfo "GCC version: $($(tc-getCC) -v 2>&1 | grep ' version ' | awk '{ print $3 }')"
- is_ada && einfo "GNAT version: $(gnat 2>&1 | grep GNAT | awk '{ print $2 }')"
+ is_ada && einfo "GNAT version: $(${GNAT} 2>&1 | grep GNAT | awk '{ print $2 }')"
is_d && einfo "GDC version: $(${GDC} -v 2>&1 | grep ' version ' | awk '{ print $3 }')"
echo
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 1:07 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-29 1:07 UTC (permalink / raw
To: gentoo-commits
commit: b9c70336a7a58e03dc59f8f9f71397c090e657a7
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 29 01:06:19 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 01:06:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b9c70336
toolchain.eclass: install gdc symlink too
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 30d96f25aaa8..9c0e38519b29 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2303,7 +2303,7 @@ toolchain_src_install() {
cd "${D}"${BINPATH} || die
# Ugh: we really need to auto-detect this list.
# It's constantly out of date.
- for x in cpp gcc gccrs g++ c++ gcov g77 gfortran gccgo gnat* ; do
+ for x in cpp gcc gccrs g++ c++ gcov gdc g77 gfortran gccgo gnat* ; do
# For some reason, g77 gets made instead of ${CTARGET}-g77...
# this should take care of that
if [[ -f ${x} ]] ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 1:07 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-29 1:07 UTC (permalink / raw
To: gentoo-commits
commit: 3355cb0ab6d92d84eeff44163da5309d114726b3
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 29 01:04:44 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 01:04:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3355cb0a
toolchain.eclass: rework D handling
The recent work for Ada makes things easier here because you don't
have to try juggle both GNAT and GDC at the same time.
Anyway, let's do something similar: iterate over installed GCCs
and try to use the best GDC available for bootstrapping, so users
don't have to manually select it with `gcc-config`. More mangling
may be needed than setting GDC down the line.
Bug: https://bugs.gentoo.org/868228
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index cfddba99a1a8..30d96f25aaa8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -991,6 +991,32 @@ toolchain_src_configure() {
export CC="$(tc-getCC) -specs=${T}/ada.spec"
fi
+ if _tc_use_if_iuse d ; then
+ local latest_gcc=$(best_version -b "sys-devel/gcc")
+ latest_gcc="${latest_gcc#sys-devel/gcc-}"
+ latest_gcc=$(ver_cut 1 ${latest_gcc})
+
+ local d_bootstrap
+ local d_candidate
+ # We always prefer the version being built if possible
+ # as it has the greatest chance of success. Failing that,
+ # try the latest installed GCC and iterate downwards.
+ for d_candidate in ${SLOT} $(seq ${latest_gcc} -1 10) ; do
+ has_version -b "sys-devel/gcc:${d_candidate}" || continue
+
+ ebegin "Testing sys-devel/gcc:${d_candidate} for D"
+ if has_version -b "sys-devel/gcc:${d_candidate}[d(-)]" ; then
+ d_bootstrap=${d_candidate}
+
+ eend 0
+ break
+ fi
+ eend 1
+ done
+
+ export GDC="${BROOT}/usr/${CTARGET}/gcc-bin/${d_bootstrap}/gdc"
+ fi
+
confgcc+=(
--prefix="${PREFIX}"
--bindir="${BINPATH}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 0:18 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-29 0:18 UTC (permalink / raw
To: gentoo-commits
commit: 1381eb9987c440618861c7d22df04871a235233c
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 4 01:27:16 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 00:18:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1381eb99
toolchain.eclass: more Ada cleanup
Breaks w/ pic linking and unnecessary. Use the regular build system route.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index e9ee095d772e..f8c290bf4a07 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1878,18 +1878,6 @@ gcc_do_make() {
pushd "${WORKDIR}"/build >/dev/null || die
emake "${emakeargs[@]}" ${GCC_MAKE_TARGET}
- if is_ada; then
- # Without these links, it is not getting the good compiler
- # TODO: Need to check why
- ln -s gcc ../build/prev-gcc || die
- ln -s ${CHOST} ../build/prev-${CHOST} || die
-
- # Building standard ada library
- emake -C gcc gnatlib-shared
- # Building gnat toold
- emake -C gcc gnattools
- fi
-
if ! is_crosscompile && _tc_use_if_iuse cxx && _tc_use_if_iuse doc ; then
if type -p doxygen > /dev/null ; then
cd "${CTARGET}"/libstdc++-v3/doc || die
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 0:18 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-29 0:18 UTC (permalink / raw
To: gentoo-commits
commit: 799693623d76c89e8b04d2434d0dfece44bb49f9
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 3 02:27:51 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 00:18:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79969362
toolchain.eclass: Ada rework
Look hard for an existing GNAT for use for bootstrapping without requiring
users to run `gcc-config` / switch their system copy of GCC, which is both
brittle in that it requires manual intervention, and also unclean.
Started looking at this after https://public-inbox.gentoo.org/gentoo-dev/2a700166-f01a-4807-bd76-7b0cce72af0b <AT> archeia.com/
although the approach is different. I did use it as a base although not
much of it remains.
We take the following approach:
* Iterate over installed GCC slots (preferring ${SLOT}, then iterating
from the latest version installed down to GCC 10) to find a copy of
GNAT;
* Create wrappers for gnat* to redirect calls when building GCC to
our found bootstrap copy of GNAT;
* Use an extracted spec file to redirect gnat1 calls to that bootstrap
copy too, as the build system doesn't allow saying "just use this copy
of gnat" (it always wants $(CC) to support it).
The real nasty part here is that GCC's build system doesn't seem to have
a way to point to 'ADACC' or similar (it looks like it did have 'ADAC' years ago).
Remaining bits to be done:
* Adapting/replacing/supplementing dev-lang/gnat-gpl with a version that
can be installed in parallel to sys-devel/gcc:10 so it can be pulled
in transparently for bootstrapping;
* Build our own, or source some other copy (e.g. from Alire), of a newer
bootstrap GNAT. https://github.com/alire-project/GNAT-FSF-builds is
a likely candidate.
I also hope that we can ultimately do the same for D.
Bug: https://gcc.gnu.org/PR864
Bug: https://gcc.gnu.org/PR108909
Bug: https://bugs.gentoo.org/137268
Bug: https://bugs.gentoo.org/547358
Bug: https://bugs.gentoo.org/919667
Closes: https://bugs.gentoo.org/937774
Link: https://lists.fedorahosted.org/archives/list/epel-devel <AT> lists.fedoraproject.org/thread/CVQ3JIOZI5ODYDZU2DZLA37JWSLMCIN7/
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 143 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 141 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index f8c290bf4a07..cfddba99a1a8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -401,8 +401,6 @@ if tc_has_feature valgrind ; then
BDEPEND+=" valgrind? ( dev-debug/valgrind )"
fi
-# TODO: Add a pkg_setup & pkg_pretend check for whether the active compiler
-# supports Ada.
if [[ ${PN} != gnat-gpl ]] && tc_has_feature ada ; then
BDEPEND+=" ada? ( || ( sys-devel/gcc[ada] dev-lang/gnat-gpl[ada] ) )"
fi
@@ -558,6 +556,8 @@ SRC_URI=$(get_gcc_src_uri)
toolchain_pkg_pretend() {
if ! _tc_use_if_iuse cxx ; then
+ _tc_use_if_iuse ada && \
+ ewarn 'Ada requires a C++ compiler, disabled due to USE="-cxx"'
_tc_use_if_iuse go && \
ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"'
_tc_use_if_iuse objc++ && \
@@ -854,6 +854,143 @@ toolchain_src_configure() {
fi
[[ -n ${CBUILD} ]] && confgcc+=( --build=${CBUILD} )
+ _need_ada_bootstrap_mangling() {
+ if [[ ${CATEGORY}/${PN} == dev-lang/gnat-gpl ]] ; then
+ _tc_use_if_iuse system-bootstrap && return 0
+ return 1
+ fi
+
+ _tc_use_if_iuse ada
+ }
+
+ if _need_ada_bootstrap_mangling ; then
+ local latest_gcc=$(best_version -b "sys-devel/gcc")
+ latest_gcc="${latest_gcc#sys-devel/gcc-}"
+ latest_gcc=$(ver_cut 1 ${latest_gcc})
+
+ local ada_bootstrap
+ local ada_candidate
+ # We always prefer the version being built if possible
+ # as it has the greatest chance of success. Failing that,
+ # try the latest installed GCC and iterate downwards.
+ for ada_candidate in ${SLOT} $(seq ${latest_gcc} -1 10) ; do
+ has_version -b "sys-devel/gcc:${ada_candidate}" || continue
+
+ ebegin "Testing sys-devel/gcc:${ada_candidate} for Ada"
+ if has_version -b "sys-devel/gcc:${ada_candidate}[ada(-)]" ; then
+ # Make sure we set a path to the Ada bootstrap if gcc[ada] is not already
+ # installed. GNAT can usually be built using the last major version and
+ # the current version, at least.
+ ada_bootstrap=${ada_candidate}
+
+ eend 0
+ break
+ fi
+ eend 1
+ done
+
+ # As a last resort, use dev-lang/gnat-gpl.
+ # TODO: Make gnat-gpl coinstallable with gcc:10.
+ if [[ -z ${ada_bootstrap} ]] ; then
+ ebegin "Testing dev-lang/gnat-gpl for Ada"
+ if has_version -b "dev-lang/gnat-gpl" ; then
+ ada_bootstrap=10
+ eend 0
+ else
+ eend 1
+ fi
+ fi
+
+ # OK, even gnat-gpl didn't work. Give up for now.
+ # TODO: Source a newer, or build our own, bootstrap tarball.
+ if [[ -z ${ada_bootstrap} ]] ; then
+ die "Fallback ada-bootstrap path not yet implemented!"
+
+ #einfo "Using bootstrap GNAT compiler..."
+ #export PATH="${BROOT}/opt/ada-bootstrap-${GCCMAJOR}/bin:${PATH}"
+ fi
+
+ cat <<-"EOF" > "${T}"/ada.spec || die
+ # Extracted from gcc/ada/gcc-interface/lang-specs.h
+ .adb:
+ @ada
+
+ .ads:
+ @ada
+
+ # TODO: ADA_DUMPS_OPTIONS
+ @ada:
+ %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} \
+ %{!S:%{!c:%e-c or -S required for Ada}} \
+ ${BROOT}/usr/libexec/gcc/${CBUILD}/${ada_bootstrap}/gnat1 %{I*} %{k8:-gnatk8} %{!Q:-quiet} \
+ %{nostdinc*} %{nostdlib*} \
+ %{fcompare-debug-second:-gnatd_A} \
+ %{O*} %{W*} %{w} %{p} %{pg:-p} \
+ %{coverage:-fprofile-arcs -ftest-coverage} \
+ %{Wall:-gnatwa} %{Werror:-gnatwe} %{w:-gnatws} \
+ %{gnatea:-gnatez} %{g*&m*&f*} \
+ %1 %{!S:%{o*:%w%*-gnatO}} \
+ %i %{S:%W{o*}%{!o*:-o %w%b.s}} \
+ %{gnatc*|gnats*: -o %j} %{-param*} \
+ %{!gnatc*:%{!gnats*:%(invoke_as)}}
+
+ @adawhy:
+ %{!c:%e-c required for gnat2why} \
+ gnat1why %{I*} %{k8:-gnatk8} %{!Q:-quiet} \
+ %{nostdinc*} %{nostdlib*} \
+ %{a} \
+ %{gnatea:-gnatez} %{g*&m*&f*} \
+ %1 %{o*:%w%*-gnatO} \
+ %i \
+ %{gnatc*|gnats*: -o %j} %{-param*}
+
+ @adascil:
+ %{!c:%e-c required for gnat2scil} \
+ gnat1scil %{I*} %{k8:-gnatk8} %{!Q:-quiet} \
+ %{nostdinc*} %{nostdlib*} \
+ %{a} \
+ %{gnatea:-gnatez} %{g*&m*&f*} \
+ %1 %{o*:%w%*-gnatO} \
+ %i \
+ %{gnatc*|gnats*: -o %j} %{-param*}
+ EOF
+
+ # Easier to substitute these values in rather than escape
+ # lots of bits above in heredoc.
+ sed -i \
+ -e "s:\${BROOT}:${BROOT}:" \
+ -e "s:\${CBUILD}:${CBUILD}:" \
+ -e "s:\${ada_bootstrap}:${ada_bootstrap}:" \
+ "${T}"/ada.spec || die
+
+ # The Makefile tries to find libgnat by querying $(CC) which
+ # won't work for us as the stage1 compiler doesn't necessarily
+ # have Ada support. Substitute the Ada compiler we found earlier.
+ local adalib
+ adalib=$(${CBUILD}-gcc-${ada_bootstrap} -print-libgcc-file-name || die "Finding adalib dir failed")
+ adalib="${adalib%/*}/adalib"
+ sed -i \
+ -e "s:adalib=.*:adalib=${adalib}:" \
+ "${S}"/gcc/ada/gcc-interface/Make-lang.in || die
+
+ # Create bin wrappers because not all of the build system
+ # respects GNATBIND or GNATMAKE.
+ mkdir "${T}"/ada-wrappers || die
+ local tool
+ for tool in gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do
+ cat <<-EOF > "${T}"/ada-wrappers/${tool} || die
+ #!/bin/bash
+ exec $(type -P ${CBUILD}-${tool}-${ada_bootstrap}) -specs=${T}/ada.spec "\$@"
+ EOF
+ chmod +x "${T}"/ada-wrappers/${tool} || die
+
+ export "${tool^^}"=${CBUILD}-${tool}-${ada_bootstrap}
+ done
+
+ export PATH="${T}/ada-wrappers:${PATH}"
+ export CC="$(tc-getCC) -specs=${T}/ada.spec"
+ fi
+
confgcc+=(
--prefix="${PREFIX}"
--bindir="${BINPATH}"
@@ -1438,6 +1575,8 @@ toolchain_src_configure() {
einfo "DATAPATH: ${DATAPATH}"
einfo "STDCXX_INCDIR: ${STDCXX_INCDIR}"
einfo "Languages: ${GCC_LANG}"
+ einfo "GCC version: $($(tc-getCC) -v 2>&1 | grep ' version ' | awk '{ print $3 }')"
+ is_ada && einfo "GNAT version: $(gnat 2>&1 | grep GNAT | awk '{ print $2 }')"
echo
# Build in a separate build tree
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 0:18 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-29 0:18 UTC (permalink / raw
To: gentoo-commits
commit: 687e6b6f1b665dbc5b37f470d4984c9c34eabad3
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 3 02:10:34 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 00:18:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=687e6b6f
toolchain.eclass: enable libada with USE=ada
This was added in d6d640106d59381bf34fea26b80c31e1de8c9e6b but it's not
clear to me why.
Noticed because it causes loads of Ada test failures as UNRESOLVED,
failing with:
```
gnatmake: RTS path "/var/tmp/portage/sys-devel/gcc-15.0.9999/work/build/x86_64-pc-linux-gnu/./libada" not valid: missing adainclude and adalib directories
compiler exited with status 1
```
Fixes: d6d640106d59381bf34fea26b80c31e1de8c9e6b
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 53b64a470e37..e9ee095d772e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1309,7 +1309,7 @@ toolchain_src_configure() {
fi
if in_iuse ada ; then
- confgcc+=( --disable-libada )
+ confgcc+=( $(use_enable ada libada) )
fi
if in_iuse cet ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-25 19:29 Eli Schwartz
0 siblings, 0 replies; 6228+ messages in thread
From: Eli Schwartz @ 2024-09-25 19:29 UTC (permalink / raw
To: gentoo-commits
commit: 58128e2701881192e5d551d6b1d27bac3f6cde58
Author: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 25 17:51:52 2024 +0000
Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Wed Sep 25 18:22:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58128e27
toolchain.eclass: ban the use of rlibtool
dev-build/slibtool provides an alternative implementation of libtool
which is intended to hook itself into and replace the ltmain.sh-based
./libtool shell scripts installed into an autotools build system.
It has some interesting quirks. In particular, it takes the idea of
"packagers don't want to install libtool archives for random libraries
because nobody uses them and pkg-config is better" and runs with it. It
runs quite far with it, as it doesn't install them at all without a new
flag passed to slibtool. This is redundant with our existing approach of
deleting them in src_install when we know they are useless, and is
downright broken in cases such as GCC, where the libtool archives are
load-bearing and the resultant compiler is, in their absence,
nonfunctional.
slibtool supports a variety of wrappers to enable reasonable
functionality which it by default disabled. The official recommendation
is you are supposed to use "rlibtool" to replace ./libtool as it
performs heuristics based on the generated config. But we actually need
"rclibtool", which both respects the generated config and also generates
the *.la archives and leaves it up to ebuilds to decide whether they
should be removed.
Raise a fatal error if the user has misconfigured slibtool. This
prevents the user from building a broken and malformed GCC.
Closes: https://bugs.gentoo.org/932245
Closes: https://bugs.gentoo.org/924150
Closes: https://bugs.gentoo.org/931268
Closes: https://bugs.gentoo.org/931279
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>
Reviewed-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 0557db974035..53b64a470e37 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -574,6 +574,9 @@ toolchain_pkg_setup() {
# bug #265283
unset LANGUAGES
+ # bug #932245
+ [[ ${LIBTOOL} = rlibtool ]] && die "\$LIBTOOL is using rlibtool from dev-build/slibtool. You must not use rlibtool, only rclibtool."
+
# See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html
# Avoid really confusing logs from subconfigure spam, makes logs far
# more legible.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-25 11:12 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-25 11:12 UTC (permalink / raw
To: gentoo-commits
commit: 4c3f798d2394f8c4b6e7e8fc5e8cc4a35c0f8ed5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 25 11:12:12 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Sep 25 11:12:12 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c3f798d
xdg.eclass: fix EclassExportFuncsBeforeInherit
Bug: https://github.com/pkgcore/pkgcheck/issues/702
Bug: https://github.com/pkgcore/pkgcheck/issues/703
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/xdg.eclass | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/eclass/xdg.eclass b/eclass/xdg.eclass
index 6af4b91875fc..2e16a438d840 100644
--- a/eclass/xdg.eclass
+++ b/eclass/xdg.eclass
@@ -45,8 +45,6 @@ case ${EAPI} in
default
}
- EXPORT_FUNCTIONS src_prepare
-
DEPEND="${_XDG_DEPEND}"
;;
*)
@@ -131,4 +129,12 @@ xdg_pkg_postrm() {
fi
+case ${EAPI} in
+ 6|7)
+ EXPORT_FUNCTIONS src_prepare
+ ;;
+ *)
+ ;;
+esac
+
EXPORT_FUNCTIONS pkg_preinst pkg_postinst pkg_postrm
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-25 11:12 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-25 11:12 UTC (permalink / raw
To: gentoo-commits
commit: c99c693ff970d9c5cf5204466d791b9a3d4499fa
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 25 11:12:05 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Sep 25 11:12:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c99c693f
guile.eclass: fix EclassExportFuncsBeforeInherit
Bug: https://github.com/pkgcore/pkgcheck/issues/702
Bug: https://github.com/pkgcore/pkgcheck/issues/703
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/guile.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/guile.eclass b/eclass/guile.eclass
index 323d04ef1152..e8fde64266e5 100644
--- a/eclass/guile.eclass
+++ b/eclass/guile.eclass
@@ -353,7 +353,7 @@ guile_src_install() {
einstalldocs
}
-EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile \
- src_install src_test
-
fi # _GUILE_ECLASS
+
+EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile \
+ src_install src_test
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-25 11:12 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-25 11:12 UTC (permalink / raw
To: gentoo-commits
commit: 439ef0b575ddeda03f92542339cff14e84b21604
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 25 11:11:26 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Sep 25 11:11:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=439ef0b5
guile-single.eclass: fix EclassExportFuncsBeforeInherit
Bug: https://github.com/pkgcore/pkgcheck/issues/702
Bug: https://github.com/pkgcore/pkgcheck/issues/703
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/guile-single.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/guile-single.eclass b/eclass/guile-single.eclass
index 91f6036139da..66898504a6c4 100644
--- a/eclass/guile-single.eclass
+++ b/eclass/guile-single.eclass
@@ -240,6 +240,6 @@ guile-single_src_install() {
guile_unstrip_ccache
}
-EXPORT_FUNCTIONS pkg_setup src_prepare src_install
-
fi # _GUILE_SINGLE_ECLASS
+
+EXPORT_FUNCTIONS pkg_setup src_prepare src_install
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-25 4:51 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-09-25 4:51 UTC (permalink / raw
To: gentoo-commits
commit: b427795a254820cc188cad8c88d47eaf7078c7f4
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 26 12:23:35 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Sep 25 04:51:03 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b427795a
plasma-mobile.kde.org.eclass: Remove dead eclass
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/plasma-mobile.kde.org.eclass | 49 -------------------------------------
1 file changed, 49 deletions(-)
diff --git a/eclass/plasma-mobile.kde.org.eclass b/eclass/plasma-mobile.kde.org.eclass
deleted file mode 100644
index 3349f90745bd..000000000000
--- a/eclass/plasma-mobile.kde.org.eclass
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# @ECLASS: plasma-mobile.kde.org.eclass
-# @MAINTAINER:
-# kde@gentoo.org
-# @SUPPORTED_EAPIS: 8
-# @PROVIDES: kde.org
-# @BLURB: Support eclass for KDE Plasma Mobile packages.
-# @DESCRIPTION:
-# This eclass extends kde.org.eclass for Plasma Mobile release group to assemble
-# default SRC_URI for tarballs, set up git-r3.eclass for stable/master branch
-# versions or restrict access to unreleased (packager access only) tarballs
-# in Gentoo KDE overlay.
-#
-# This eclass unconditionally inherits kde.org.eclass and all its public
-# variables and helper functions (not phase functions) may be considered as
-# part of this eclass's API.
-
-case ${EAPI} in
- 8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
-if [[ -z ${_PLASMA_MOBILE_KDE_ORG_ECLASS} ]]; then
-_PLASMA_MOBILE_KDE_ORG_ECLASS=1
-
-# @ECLASS_VARIABLE: KDE_ORG_CATEGORY
-# @PRE_INHERIT
-# @DESCRIPTION:
-# For proper description see kde.org.eclass manpage.
-: "${KDE_ORG_CATEGORY:=plasma-mobile}"
-
-inherit kde.org
-
-HOMEPAGE="https://plasma-mobile.org/"
-
-# @ECLASS_VARIABLE: KDE_ORG_SCHEDULE_URI
-# @INTERNAL
-# @DESCRIPTION:
-# For proper description see kde.org.eclass manpage.
-KDE_ORG_SCHEDULE_URI="https://invent.kde.org/plasma/plasma-mobile/-/wikis/Release-Schedule"
-
-if [[ ${KDE_BUILD_TYPE} != live && -z ${KDE_ORG_COMMIT} ]]; then
- SRC_URI="mirror://kde/stable/plasma-mobile/$(ver_cut 1-2)/${KDE_ORG_NAME}-${PV}.tar.xz"
-fi
-
-fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-25 4:39 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-09-25 4:39 UTC (permalink / raw
To: gentoo-commits
commit: d8d5d91d4f63eff646ed7cd25138a02ffec1b1b3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 25 04:18:51 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Sep 25 04:39:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8d5d91d
distutils-r1.eclass: Revert "Switch scikit-build-core to build.verbose"
This change broke all packages using a lower minimum-version. Sigh.
Reverts: 0be38fc6bebba7f193d243a35915f6d393319fd3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 53b40163c216..5a6ebdcede8a 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1339,9 +1339,9 @@ distutils_pep517_install() {
ninjaopts = shlex.split(os.environ["NINJAOPTS"])
print(json.dumps({
"build.tool-args": ninjaopts,
- "build.verbose": True,
"cmake.args": ";".join(sys.argv[1:]),
"cmake.build-type": "${CMAKE_BUILD_TYPE}",
+ "cmake.verbose": True,
"install.strip": False,
}))
EOF
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-24 18:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-09-24 18:02 UTC (permalink / raw
To: gentoo-commits
commit: e9d99a93456b6dc99cdefe280506a2384a6ef031
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 24 17:36:02 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 24 18:02:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9d99a93
llvm.org.eclass: Remove old snapshots
Signed-off-by: Michał Górny <mgorny <AT> 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 5b58209b70ce..2338c3f2cc53 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -78,12 +78,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
20.0.0_pre20240917)
EGIT_COMMIT=41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f
;;
- 20.0.0_pre20240910)
- EGIT_COMMIT=bece0d7517bd0a036dc8a319514e4a8a5c497dee
- ;;
- 20.0.0_pre20240830)
- EGIT_COMMIT=5500e21942f7047344b6fee62d3e08c0ba2f9182
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-24 18:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-09-24 18:02 UTC (permalink / raw
To: gentoo-commits
commit: af6c5d43495b66c3d450f9b9072d653a222fd5ad
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 24 17:35:44 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 24 18:02:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af6c5d43
llvm.org.eclass: Add 20.0.0_pre20240924 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 3050fd1e471e..5b58209b70ce 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
+ 20.0.0_pre20240924)
+ EGIT_COMMIT=cde7b30268a85a3e7900a31534a97e7eb4de9236
+ ;;
20.0.0_pre20240917)
EGIT_COMMIT=41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-24 11:52 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-24 11:52 UTC (permalink / raw
To: gentoo-commits
commit: 5ff4a902b3706209c6fe148d9e3c621f6cc53ba4
Author: YiFei Zhu <zhuyifei1999 <AT> gmail <DOT> com>
AuthorDate: Fri Sep 13 04:38:04 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Sep 24 11:51:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ff4a902
autotools.eclass: Run eautoheader with --force
To quote Eli [1] (I can't explain it better than this):
autotools.eclass runs autoheader without options (and in
particular without --force). This will only remake config.h.in
if there are actual changes to the content, which in turn means
that it will be out of date compared to aclocal.m4 (which we very
much expect to have changes).
So `make` sees that the header is out of date, and runs autoheader
yet again, this time updating the timestamp for `make` purposes.
This causes QA warning that "maintainer mode" is detected.
autoheader and autoconf added --force option at the same time [2],
so no reason only autoconf has that option in the eclass and not
autoheader.
Like, autoconf, a check on WANT_AUTOCONF != 2.1 is added because the
feature was added in autoconf 2.52.
[1] https://bugs.gentoo.org/939468#c6
[2] https://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=dbf7fc61
Closes: https://bugs.gentoo.org/939468
Closes: https://bugs.gentoo.org/939535
Signed-off-by: YiFei Zhu <zhuyifei1999 <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/38588
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/autotools.eclass | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 0571b18ba525..641612f37193 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -312,7 +312,13 @@ eautoreconf() {
else
eautoconf --force
fi
- [[ ${AT_NOEAUTOHEADER} != "yes" ]] && eautoheader
+ if [[ ${AT_NOEAUTOHEADER} != "yes" ]] ; then
+ if [[ ${WANT_AUTOCONF} == "2.1" ]] ; then
+ eautoheader
+ else
+ eautoheader --force
+ fi
+ fi
[[ ${AT_NOEAUTOMAKE} != "yes" ]] && FROM_EAUTORECONF="yes" eautomake ${AM_OPTS}
if [[ ${AT_NOELIBTOOLIZE} != "yes" ]] ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-24 6:41 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-09-24 6:41 UTC (permalink / raw
To: gentoo-commits
commit: 0be38fc6bebba7f193d243a35915f6d393319fd3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 24 06:12:34 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 24 06:41:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0be38fc6
distutils-r1.eclasS: Switch scikit-build-core to build.verbose
Replace `cmake.verbose` with `build.verbose`, following the change
in scikit-build-core 0.10.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 5a6ebdcede8a..53b40163c216 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1339,9 +1339,9 @@ distutils_pep517_install() {
ninjaopts = shlex.split(os.environ["NINJAOPTS"])
print(json.dumps({
"build.tool-args": ninjaopts,
+ "build.verbose": True,
"cmake.args": ";".join(sys.argv[1:]),
"cmake.build-type": "${CMAKE_BUILD_TYPE}",
- "cmake.verbose": True,
"install.strip": False,
}))
EOF
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-23 15:11 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-09-23 15:11 UTC (permalink / raw
To: gentoo-commits
commit: f0877c745f598b59edcb3e9b5395259f16df8611
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 23 14:41:17 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep 23 15:11:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f0877c74
llvm.org.eclass: Enable prebuilt manpages for 19
Signed-off-by: Michał Górny <mgorny <AT> 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 7f7edd6fb652..3050fd1e471e 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -300,6 +300,9 @@ llvm.org_set_globals() {
18*)
LLVM_MANPAGE_DIST="llvm-18.1.0-manpages.tar.bz2"
;;
+ 19*)
+ LLVM_MANPAGE_DIST="llvm-19.1.0-manpages.tar.bz2"
+ ;;
esac
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-23 12:06 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-09-23 12:06 UTC (permalink / raw
To: gentoo-commits
commit: 452c39b1b97dd8e472c381c90814ca7151bbd80d
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 2 15:18:17 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Sep 23 12:05:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=452c39b1
elisp.eclass: Add pkg_info
Sync from Emacs overlay.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/elisp.eclass | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 20139491c976..1fa8aab29753 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -1,4 +1,4 @@
-# Copyright 2002-2023 Gentoo Authors
+# Copyright 2002-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: elisp.eclass
@@ -205,5 +205,11 @@ elisp_pkg_postrm() {
elisp-site-regen
}
+elisp_pkg_info() {
+ if [[ -n ${_ELISP_EMACS_VERSION} ]]; then
+ echo "Built with Emacs version: ${_ELISP_EMACS_VERSION}"
+ fi
+}
+
EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,test,install} \
- pkg_{setup,postinst,postrm}
+ pkg_{setup,postinst,postrm,info}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-19 22:57 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-19 22:57 UTC (permalink / raw
To: gentoo-commits
commit: d56d8f8e35fa4f7b8d65dbd6cd535ad6ac69cc9c
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 19 22:55:44 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Sep 19 22:57:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d56d8f8e
toolchain.eclass: disable automagic CET for x86
It's not supported on 32-bit kernels anyway.
This got lost in b6bf005b843e3d6ee10aa1f088d93c4f89055cc6 when wiring
up arm64.
Bug: https://bugs.gentoo.org/916381
Closes: https://bugs.gentoo.org/939874
Fixes: b6bf005b843e3d6ee10aa1f088d93c4f89055cc6
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a545f730ada7..0557db974035 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1310,7 +1310,9 @@ toolchain_src_configure() {
fi
if in_iuse cet ; then
- [[ ${CTARGET} == x86_64-*-gnu* ]] && confgcc+=( $(use_enable cet) )
+ if [[ ${CTARGET} == i[[34567]]86-*-linux* || ${CTARGET} == x86_64-*-gnu* ]] ; then
+ confgcc+=( $(use_enable cet) )
+ fi
[[ ${CTARGET} == aarch64-*-gnu* ]] && confgcc+=( $(use_enable cet standard-branch-protection) )
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-18 15:51 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-18 15:51 UTC (permalink / raw
To: gentoo-commits
commit: e9971cf188e6578ebdd68af6785a59ab5615abbf
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 18 15:42:39 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Sep 18 15:49:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9971cf1
toolchain.eclass: make tests opt-in per-ebuild
In 1d93a491096f1cc0234fcf44458bfec142c213bb, we kind of introduced a
timebomb to all GCC ebuilds.
Switch to making it opt-in by setting TOOLCHAIN_HAS_TESTS in ebuilds
which want to use validate_failures.py. It hasn't been tested and may
not even work with gnat-gpl and kgcc64 so it doesn't make sense
to have it by default, especially for gnat-gpl which is now just
a bootstrap package anyway.
Bug: https://bugs.gentoo.org/934124
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index c03312be43ad..a545f730ada7 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -22,7 +22,9 @@ _TOOLCHAIN_ECLASS=1
DESCRIPTION="The GNU Compiler Collection"
HOMEPAGE="https://gcc.gnu.org/"
-inherit edo flag-o-matic gnuconfig libtool multilib pax-utils python-any-r1 toolchain-funcs prefix
+inherit edo flag-o-matic gnuconfig libtool multilib pax-utils toolchain-funcs prefix
+
+[[ -n ${TOOLCHAIN_HAS_TESTS} ]] && inherit python-any-r1
tc_is_live() {
[[ ${PV} == *9999* ]]
@@ -143,6 +145,12 @@ tc_version_is_between() {
# @DESCRIPTION:
# Indicate the developer who hosts the patchset for an ebuild.
+# @ECLASS_VARIABLE: TOOLCHAIN_HAS_TESTS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Controls whether python-any-r1 is inherited and validate_failures.py
+# is used.
+
# @ECLASS_VARIABLE: GCC_PV
# @INTERNAL
# @DESCRIPTION:
@@ -273,6 +281,7 @@ STDCXX_INCDIR=${TOOLCHAIN_STDCXX_INCDIR:-${LIBPATH}/include/g++-v${GCC_BRANCH_VE
LICENSE="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+"
IUSE="test vanilla +nls"
RESTRICT="!test? ( test )"
+[[ -z ${TOOLCHAIN_HAS_TESTS} ]] && RESTRICT+=" test"
TC_FEATURES=()
@@ -537,7 +546,8 @@ get_gcc_src_uri() {
[[ -n ${MUSL_VER} ]] && \
GCC_SRC_URI+=" $(gentoo_urls gcc-${MUSL_GCC_VER}-musl-patches-${MUSL_VER}.tar.${TOOLCHAIN_PATCH_SUFFIX})"
- GCC_SRC_URI+=" test? ( https://gitweb.gentoo.org/proj/gcc-patches.git/plain/scripts/testsuite-management/validate_failures.py?id=${GCC_VALIDATE_FAILURES_VERSION} -> gcc-validate-failures-${GCC_VALIDATE_FAILURES_VERSION}.py )"
+ [[ -n ${TOOLCHAIN_HAS_TESTS} ]] && \
+ GCC_SRC_URI+=" test? ( https://gitweb.gentoo.org/proj/gcc-patches.git/plain/scripts/testsuite-management/validate_failures.py?id=${GCC_VALIDATE_FAILURES_VERSION} -> gcc-validate-failures-${GCC_VALIDATE_FAILURES_VERSION}.py )"
echo "${GCC_SRC_URI}"
}
@@ -569,7 +579,7 @@ toolchain_pkg_setup() {
# more legible.
MAKEOPTS="--output-sync=line ${MAKEOPTS}"
- use test && python-any-r1_pkg_setup
+ [[ -n ${TOOLCHAIN_HAS_TESTS} ]] && use test && python-any-r1_pkg_setup
}
#---->> src_unpack <<----
@@ -633,7 +643,7 @@ toolchain_src_prepare() {
tc_enable_hardened_gcc
fi
- if use test ; then
+ if [[ -n ${TOOLCHAIN_HAS_TESTS} ]] && use test ; then
cp "${DISTDIR}"/gcc-validate-failures-${GCC_VALIDATE_FAILURES_VERSION}.py "${T}"/validate_failures.py || die
chmod +x "${T}"/validate_failures.py || die
fi
@@ -2275,7 +2285,7 @@ toolchain_src_install() {
pax-mark -r "${ED}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1"
pax-mark -r "${ED}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1plus"
- if use test ; then
+ if [[ -n ${TOOLCHAIN_HAS_TESTS} ]] && use test ; then
mkdir "${T}"/test-results || die
cd "${WORKDIR}"/build || die
find . -name \*.sum -exec cp --parents -v {} "${T}"/test-results \; || die
@@ -2434,7 +2444,7 @@ create_revdep_rebuild_entry() {
#---->> pkg_pre* <<----
toolchain_pkg_preinst() {
- if [[ ${MERGE_TYPE} != binary ]] && use test ; then
+ if [[ -n ${TOOLCHAIN_HAS_TESTS} && ${MERGE_TYPE} != binary ]] && use test ; then
# Install as orphaned to allow comparison across more versions even
# after unmerged. Also useful for historical records and tracking
# down regressions a while after they first appeared, but were only
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-17 12:13 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-09-17 12:13 UTC (permalink / raw
To: gentoo-commits
commit: 2b795499a41a01b1c06190d4f537693c01d43c04
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 17 09:56:36 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 17 12:12:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b795499
llvm.org.eclass: Add 20.0.0_pre20240917 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 f8953ec11826..7f7edd6fb652 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
+ 20.0.0_pre20240917)
+ EGIT_COMMIT=41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f
+ ;;
20.0.0_pre20240910)
EGIT_COMMIT=bece0d7517bd0a036dc8a319514e4a8a5c497dee
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-17 11:58 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-09-17 11:58 UTC (permalink / raw
To: gentoo-commits
commit: d50ed41dd6702054d5c8fd7ae86722e9c410f84c
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 17 10:45:55 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Sep 17 11:51:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d50ed41d
kernel-install.eclass: fix gentoo-kernel-bin with llvm-objcopy
We ship the kernel in gentoo-kernel-bin in the form of an UKI, using
objcopy we extract from this the kernel image (and if desired the
generic initramfs).
However, llvm-objcopy does not properly handle the -O argument and as a
result the extracted kernel image is of the same file type as the UKI
(i.e. a PE32+ executable) instead of a regular kernel image. This causes
issues in bootloader such as grub which differentiate between loading
a normal kernel image and loading an EFI executable (such as an UKI).
And also causes the signature verification to fail since the kernel
image is bigger then it should be due to the additional headers.
Using the --dump-section argument instead resolves this problem.
See-also: https://github.com/llvm/llvm-project/issues/108946
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/38643
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 930640188c26..dc337c7862fd 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -650,7 +650,7 @@ kernel-install_extract_from_uki() {
local uki=${2}
local out=${3}
- $(tc-getOBJCOPY) -O binary "-j.${extract_type}" "${uki}" "${out}" ||
+ $(tc-getOBJCOPY) "${uki}" --dump-section ".${extract_type}=${out}" ||
die "Failed to extract ${extract_type}"
chmod 644 "${out}" || die
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-12 22:08 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-12 22:08 UTC (permalink / raw
To: gentoo-commits
commit: 1aa40c5365c0333421d0187a2d9896e910662159
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 12 22:05:41 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Sep 12 22:08:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1aa40c53
mozcoreconf-v6.eclass: drop ia64 support
For toolchain eclasses we usually keep generic stuff like this
for e.g. cross but there's no benefit to leaving it in non-toolchain
eclasses like this.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/mozcoreconf-v6.eclass | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/eclass/mozcoreconf-v6.eclass b/eclass/mozcoreconf-v6.eclass
index 71dbc6802d71..e7cf85fca24a 100644
--- a/eclass/mozcoreconf-v6.eclass
+++ b/eclass/mozcoreconf-v6.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: mozcoreconf-v6.eclass
@@ -157,7 +157,7 @@ mozconfig_init() {
mozconfig_annotate "less than -O2 causes a segfault on x86" --enable-optimize=-O2
elif [[ ${ARCH} == arm ]] && [[ $(gcc-major-version) -ge 6 ]]; then
mozconfig_annotate "less than -O2 causes a breakage on arm with gcc-6" --enable-optimize=-O2
- elif use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then
+ elif use custom-optimization || [[ ${ARCH} == alpha ]]; then
# Set optimization level based on CFLAGS
if is-flag -O0; then
mozconfig_annotate "from CFLAGS" --enable-optimize=-O0
@@ -204,10 +204,6 @@ mozconfig_init() {
# operation
append-flags -fPIC -mieee
;;
- ia64)
- # Historically we have needed to add this manually for 64-bit
- append-flags -fPIC
- ;;
esac
# We need to append flags for gcc-6 support
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-11 22:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-11 22:21 UTC (permalink / raw
To: gentoo-commits
commit: d99053c9327d72eb0e13de964b0b79355caebc5b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 11 22:17:22 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Sep 11 22:20:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d99053c9
toolchain.eclass: depend on sys-devel/binutils:*
GCC doesn't build in Gentoo at least without GNU Binutils. It is possible
but it requires some work. It's not clear to me if some of that work
needs to happen in LLVM upstream too (see below).
In commits 7011340a0f13dcada6f3be48054957035bc6e01a and
a7c27596827072f586dc07e6d53531ecb2c7cd6e, I tried to get things building
with Clang's assembler but didn't get it over the line. I think I remember
Arfrever and I coming up with a few later drafts (?) on IRC in #gentoo-hardened
but I didn't commit any of it as it didn't work in the end anyway.
But see https://briancallahan.net/blog/20240122.html which tackles at least
one of the issues I ended up hitting before.
In any case, add the dependency for now to keep things working.
Closes: https://bugs.gentoo.org/936271
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index ac236f3127f9..c03312be43ad 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -353,6 +353,7 @@ fi
BDEPEND="
app-alternatives/yacc
+ sys-devel/binutils:*
>=sys-devel/flex-2.5.4
nls? ( sys-devel/gettext )
test? (
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-10 19:11 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-09-10 19:11 UTC (permalink / raw
To: gentoo-commits
commit: b4de2efc298df6cee8c443bb5a1b6ae999a19592
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Sep 10 07:59:21 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Tue Sep 10 19:11:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b4de2efc
java-utils-2.eclass: remove unused eclass fuction use_doc
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/38544
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 24 ------------------------
1 file changed, 24 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 481c9b7df081..43d9b749ba3d 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2254,30 +2254,6 @@ java-pkg_force-compiler() {
JAVA_PKG_FORCE_COMPILER="$@"
}
-# @FUNCTION: use_doc
-# @DEPRECATED: none
-# @DESCRIPTION:
-#
-# Helper function for getting ant to build javadocs. If the user has USE=doc,
-# then 'javadoc' or the argument are returned. Otherwise, there is no return.
-#
-# The output of this should be passed to ant.
-# @CODE
-# Parameters:
-# $@ - Option value to return. Defaults to 'javadoc'
-#
-# Examples:
-# build javadocs by calling 'javadoc' target
-# eant $(use_doc)
-#
-# build javadocs by calling 'apidoc' target
-# eant $(use_doc apidoc)
-# @CODE
-# @RETURN string - Name of the target to create javadocs
-use_doc() {
- use doc && echo ${@:-javadoc}
-}
-
# @FUNCTION: java-pkg_init
# @INTERNAL
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-10 12:58 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-09-10 12:58 UTC (permalink / raw
To: gentoo-commits
commit: 76e7b39353e5e726f4ecebf2e723f4dc071b94e9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 10 11:45:08 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 10 12:58:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76e7b393
llvm.org.eclass: Add 20.0.0_pre20240910 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 fe805382115b..f8953ec11826 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
+ 20.0.0_pre20240910)
+ EGIT_COMMIT=bece0d7517bd0a036dc8a319514e4a8a5c497dee
+ ;;
20.0.0_pre20240830)
EGIT_COMMIT=5500e21942f7047344b6fee62d3e08c0ba2f9182
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-10 8:54 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-09-10 8:54 UTC (permalink / raw
To: gentoo-commits
commit: f362cfe39056fe0277b71b045d0a753fdaad82b7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 10 07:12:27 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 10 08:54:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f362cfe3
llvm.org.eclass: Remove old snapshot list
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.org.eclass | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index da943081b9bf..fe805382115b 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,18 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
20.0.0_pre20240830)
EGIT_COMMIT=5500e21942f7047344b6fee62d3e08c0ba2f9182
;;
- 20.0.0_pre20240822)
- EGIT_COMMIT=503907dc505db1e439e7061113bf84dd105f2e35
- ;;
- 20.0.0_pre20240815)
- EGIT_COMMIT=db8ef6188cbbe2125e6d60bdef77a535105772df
- ;;
- 20.0.0_pre20240808)
- EGIT_COMMIT=fd7d7882e7fa5a38d4bfde426120d4663718beb4
- ;;
- 20.0.0_pre20240801)
- EGIT_COMMIT=130c135689ec12ab78c53645808524a8d28f7cae
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-10 6:46 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-09-10 6:46 UTC (permalink / raw
To: gentoo-commits
commit: d9c0273228e50613d354bdf6bf5a91caa8eb919f
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Mon Sep 9 08:21:19 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Tue Sep 10 06:40:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d9c02732
java-utils-2.eclass: mark function use_doc as deprecated
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/37338
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 6bf6b7788aa5..481c9b7df081 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2255,6 +2255,7 @@ java-pkg_force-compiler() {
}
# @FUNCTION: use_doc
+# @DEPRECATED: none
# @DESCRIPTION:
#
# Helper function for getting ant to build javadocs. If the user has USE=doc,
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-09 18:20 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-09 18:20 UTC (permalink / raw
To: gentoo-commits
commit: e2c865d8b5507755d6ad9c63e3b4b8ccbb5d6cd7
Author: Sv. Lockal <lockalsash <AT> gmail <DOT> com>
AuthorDate: Tue Jul 30 23:14:55 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 9 18:15:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2c865d8
rocm.eclass: add rocm_use_hipcc function and update example accordingly
Bug: https://bugs.gentoo.org/936099
Signed-off-by: Sv. Lockal <lockalsash <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/rocm.eclass | 40 ++++++++++++++++++++++++++++++++++------
1 file changed, 34 insertions(+), 6 deletions(-)
diff --git a/eclass/rocm.eclass b/eclass/rocm.eclass
index 7039455dec6b..cf501d5a8861 100644
--- a/eclass/rocm.eclass
+++ b/eclass/rocm.eclass
@@ -15,9 +15,13 @@
# edit USE flag to control which GPU architecture to compile. Using
# ${ROCM_USEDEP} can ensure coherence among dependencies. Ebuilds can call the
# function get_amdgpu_flag to translate activated target to GPU compile flags,
-# passing it to configuration. Function check_amdgpu can help ebuild ensure
+# passing it to configuration. Function rocm_use_hipcc switches active compiler
+# to hipcc and cleans incompatible flags (useful for users with gcc-only flags
+# in /etc/portage/make.conf). Function check_amdgpu can help ebuild ensure
# read and write permissions to GPU device in src_test phase, throwing friendly
-# error message if unavailable.
+# error message if unavailable. However src_configure in general should not
+# access any AMDGPU devices. If it does, it usually means that CMakeLists.txt
+# ignores AMDGPU_TARGETS in favor of autodetected GPU, which is not desired.
#
# @EXAMPLE:
# Example ebuild for ROCm library in https://github.com/ROCmSoftwarePlatform
@@ -39,14 +43,12 @@
# "
#
# src_configure() {
-# # avoid sandbox violation
-# addpredict /dev/kfd
-# addpredict /dev/dri/
+# rocm_use_hipcc
# local mycmakeargs=(
# -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
# -DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
# )
-# CXX=hipcc cmake_src_configure
+# cmake_src_configure
# }
#
# src_test() {
@@ -90,6 +92,8 @@ esac
if [[ ! ${_ROCM_ECLASS} ]]; then
_ROCM_ECLASS=1
+inherit flag-o-matic
+
# @ECLASS_VARIABLE: ROCM_VERSION
# @REQUIRED
# @PRE_INHERIT
@@ -231,3 +235,27 @@ check_amdgpu() {
}
fi
+
+# @FUNCTION: rocm_use_hipcc
+# @USAGE: rocm_use_hipcc
+# @DESCRIPTION:
+# switch active C and C++ compilers to hipcc, clean unsupported flags and setup ROCM_TARGET_LST file.
+rocm_use_hipcc() {
+ # During the configuration stage, CMake tests whether the compiler is able to compile a simple program.
+ # Since CMake checker does not specify --offload-arch=, hipcc enumerates devices using four methods
+ # until it finds at least one device. Last way is by accessing them (via rocminfo).
+ # To prevent potential sandbox violations, we set the ROCM_TARGET_LST variable (which is checked first).
+ local target_lst="${T}"/gentoo_rocm_target.lst
+ if [[ "${AMDGPU_TARGETS[@]}" = "" ]]; then
+ # Expected no GPU code; still need to calm down sandbox
+ echo "gfx000" > "${target_lst}" || die
+ else
+ printf "%s\n" ${AMDGPU_TARGETS[@]} > "${target_lst}" || die
+ fi
+ export ROCM_TARGET_LST="${target_lst}"
+
+ # Export updated CC and CXX. Note that CC is needed even if no C code used,
+ # as CMake checks that C compiler can compile a simple test program.
+ export CC=hipcc CXX=hipcc
+ strip-unsupported-flags
+}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: d56d11bf193043adedcdc5bd3b837a8cc6c79255
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:39:07 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d56d11bf
webapp.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/webapp.eclass | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/webapp.eclass b/eclass/webapp.eclass
index 5b091c84851f..e8bc127e1b96 100644
--- a/eclass/webapp.eclass
+++ b/eclass/webapp.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: webapp.eclass
@@ -10,14 +10,18 @@
# The webapp eclass contains functions to handle web applications with
# webapp-config. Part of the implementation of GLEP #11
+if [[ -z ${_WEBAPP_ECLASS} ]]; then
+_WEBAPP_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_WEBAPP_ECLASS} ]]; then
-_WEBAPP_ECLASS=1
-
# @ECLASS_VARIABLE: WEBAPP_DEPEND
# @DESCRIPTION:
# An ebuild should use WEBAPP_DEPEND if a custom DEPEND needs to be built, most
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 2ba4a06b94b1b3c679c964eb4fc8ee5cdd47adaf
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:38:59 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:24 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ba4a06b
vim-plugin.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/vim-plugin.eclass | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/vim-plugin.eclass b/eclass/vim-plugin.eclass
index ee4f1b6e0f81..b2ae0cb9e4c3 100644
--- a/eclass/vim-plugin.eclass
+++ b/eclass/vim-plugin.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: vim-plugin.eclass
@@ -12,14 +12,18 @@
# which is read automatically by vim. The only exception is
# documentation, for which we make a special case via vim-doc.eclass.
+if [[ -z ${_VIM_PLUGIN_ECLASS} ]]; then
+_VIM_PLUGIN_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_VIM_PLUGIN_ECLASS} ]]; then
-_VIM_PLUGIN_ECLASS=1
-
inherit vim-doc
[[ ${EAPI} != [67] ]] && _DEFINE_VIM_PLUGIN_SRC_PREPARE=true
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: fda83fc0111193d3e82a6357e55a62de07b43635
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:39:13 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fda83fc0
xdg.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/xdg.eclass | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/xdg.eclass b/eclass/xdg.eclass
index 14c56047af45..6af4b91875fc 100644
--- a/eclass/xdg.eclass
+++ b/eclass/xdg.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: xdg.eclass
@@ -13,14 +13,18 @@
# Utility eclass to update the desktop, icon and shared mime info as laid
# out in the freedesktop specs & implementations
+if [[ -z ${_XDG_ECLASS} ]]; then
+_XDG_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_XDG_ECLASS} ]]; then
-_XDG_ECLASS=1
-
inherit xdg-utils
# Avoid dependency loop as both depend on glib-2
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 08cb1492fe62e8f15aa0d546db59ba27ec7a5ab3
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 31 13:18:39 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08cb1492
distutils-r1.eclass: Don't run cargo_env unless cargo_gen_config has run
Normally, failing to run cargo_gen_config results in an error, but that
is unhelpful for ebuilds with optional Cargo support.
Closes: https://bugs.gentoo.org/938764
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/38041
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/distutils-r1.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 39705c5c3c84..5a6ebdcede8a 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1253,7 +1253,9 @@ distutils_pep517_install() {
fi
local cmd=() config_settings=
- has cargo ${INHERITED} && cmd+=( cargo_env )
+ if has cargo ${INHERITED} && [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]]; then
+ cmd+=( cargo_env )
+ fi
case ${DISTUTILS_USE_PEP517} in
maturin)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 47d7fb1a65af001085f973704dfeed320111ab6b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:39:15 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:28 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47d7fb1a
xdg-utils.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/xdg-utils.eclass | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/eclass/xdg-utils.eclass b/eclass/xdg-utils.eclass
index 34535a129e33..84f88eee18fc 100644
--- a/eclass/xdg-utils.eclass
+++ b/eclass/xdg-utils.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: xdg-utils.eclass
@@ -18,7 +18,11 @@
# * XDG mime information database management
case ${EAPI} in
- 5|6|7|8) ;;
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 93c765a9b349be736f86cb6ca823d8cf6220a335
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:39:09 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93c765a9
wrapper.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/wrapper.eclass | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/eclass/wrapper.eclass b/eclass/wrapper.eclass
index 8d3d273d81c6..a62bb51d0fe7 100644
--- a/eclass/wrapper.eclass
+++ b/eclass/wrapper.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: wrapper.eclass
@@ -7,15 +7,19 @@
# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: create a shell wrapper script
+if [[ -z ${_WRAPPER_ECLASS} ]]; then
+_WRAPPER_ECLASS=1
+
case ${EAPI} in
- 5|6|7|8) ;;
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_WRAPPER_ECLASS} ]]; then
-_WRAPPER_ECLASS=1
-
-# @FUNCTION: make_wrapper
+# FUNCTION: make_wrapper
# @USAGE: <wrapper> <target> [chdir] [libpaths] [installpath]
# @DESCRIPTION:
# Create a shell wrapper script named wrapper in installpath
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 1177526dad936922685cd77c0bd05474a8407462
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:39:01 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1177526d
vim-spell.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/vim-spell.eclass | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/eclass/vim-spell.eclass b/eclass/vim-spell.eclass
index 607771ae8035..57bcb0dc8021 100644
--- a/eclass/vim-spell.eclass
+++ b/eclass/vim-spell.eclass
@@ -62,14 +62,18 @@
# spell files. It's best to let upstream know if you've generated spell files
# for another language rather than keeping them Gentoo-specific.
+if [[ -z ${_VIM_SPELL_ECLASS} ]] ; then
+_VIM_SPELL_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_VIM_SPELL_ECLASS} ]] ; then
-_VIM_SPELL_ECLASS=1
-
SRC_URI="mirror://gentoo/${P}.tar.bz2"
SLOT="0"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 9b9de22b1f07676b7501e320563841207a69db32
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:39:04 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b9de22b
virtualx.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/virtualx.eclass | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass
index f7318eafc59e..07d303899582 100644
--- a/eclass/virtualx.eclass
+++ b/eclass/virtualx.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: virtualx.eclass
@@ -9,14 +9,18 @@
# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: This eclass can be used for packages that need a working X environment to build.
+if [[ -z ${_VIRTUALX_ECLASS} ]]; then
+_VIRTUALX_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_VIRTUALX_ECLASS} ]]; then
-_VIRTUALX_ECLASS=1
-
# @ECLASS_VARIABLE: VIRTUALX_REQUIRED
# @PRE_INHERIT
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 0641762abe1deeec8ff4802ac726a1ce63d786aa
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:38:56 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:24 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0641762a
vim-doc.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/vim-doc.eclass | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/eclass/vim-doc.eclass b/eclass/vim-doc.eclass
index 119ce793071d..f20f7397cf65 100644
--- a/eclass/vim-doc.eclass
+++ b/eclass/vim-doc.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: vim-doc.eclass
@@ -16,13 +16,17 @@
# DEPEND in vim-plugin or by whatever version of vim is being
# installed by the eclass.
+if [[ ! ${_VIM_DOC_ECLASS} ]] ; then
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_VIM_DOC_ECLASS} ]] ; then
-
# @FUNCTION: update_vim_helptags
# @USAGE:
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 31705da10b8165380b2eb7b21da4cffd7d3a1621
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 10 05:33:33 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31705da1
distutils-r1.eclass: Allow .jar files in sitedir
Closes: https://bugs.gentoo.org/937642
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/distutils-r1.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 0f9dc8d14d5e..39705c5c3c84 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -2109,8 +2109,10 @@ _distutils-r1_post_python_install() {
local strays=()
local p
mapfile -d $'\0' -t strays < <(
+ # jar for jpype, https://bugs.gentoo.org/937642
find "${sitedir}" -maxdepth 1 -type f '!' '(' \
-name '*.egg-info' -o \
+ -name '*.jar' -o \
-name '*.pth' -o \
-name '*.py' -o \
-name '*.pyi' -o \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: d654f219ea2fc0a26718ec9ee512c98216e1d99a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:38:51 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d654f219
vcs-clean.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/vcs-clean.eclass | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/vcs-clean.eclass b/eclass/vcs-clean.eclass
index e4c61ac7164a..719bdec17676 100644
--- a/eclass/vcs-clean.eclass
+++ b/eclass/vcs-clean.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: vcs-clean.eclass
@@ -9,14 +9,18 @@
# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: helper functions to remove VCS directories
+if [[ -z ${_VCS_CLEAN_ECLASS} ]] ; then
+_VCS_CLEAN_ECLASS=1
+
case ${EAPI} in
- 5|6|7|8) ;;
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_VCS_CLEAN_ECLASS} ]] ; then
-_VCS_CLEAN_ECLASS=1
-
# @FUNCTION: ecvs_clean
# @USAGE: [list of dirs]
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 2adde4478398749f442fd67d72fd631b8138ea1a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:38:35 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2adde447
systemd.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/systemd.eclass | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/eclass/systemd.eclass b/eclass/systemd.eclass
index 03d6a82fd310..a5f0decde1e3 100644
--- a/eclass/systemd.eclass
+++ b/eclass/systemd.eclass
@@ -1,4 +1,4 @@
-# Copyright 2011-2023 Gentoo Authors
+# Copyright 2011-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: systemd.eclass
@@ -25,7 +25,11 @@
# @CODE
case ${EAPI} in
- 5|6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: e2bb16305d903272dcef1e902d0e7b3ec87dd87b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:37:59 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:18 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2bb1630
preserve-libs.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/preserve-libs.eclass | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/preserve-libs.eclass b/eclass/preserve-libs.eclass
index 35c65ef4436f..38571447b945 100644
--- a/eclass/preserve-libs.eclass
+++ b/eclass/preserve-libs.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: preserve-libs.eclass
@@ -7,14 +7,18 @@
# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: preserve libraries after SONAME changes
+if [[ -z ${_PRESERVE_LIBS_ECLASS} ]]; then
+_PRESERVE_LIBS_ECLASS=1
+
case ${EAPI} in
- 5|6|7|8) ;;
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_PRESERVE_LIBS_ECLASS} ]]; then
-_PRESERVE_LIBS_ECLASS=1
-
# @FUNCTION: preserve_old_lib
# @USAGE: <libs to preserve> [more libs]
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 001d4ff8cf4b01897276841e706a78eeb119a4c5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:38:46 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=001d4ff8
udev.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/udev.eclass | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/udev.eclass b/eclass/udev.eclass
index ac94f98221aa..7fd99cbba8b0 100644
--- a/eclass/udev.eclass
+++ b/eclass/udev.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: udev.eclass
@@ -36,14 +36,18 @@
# }
# @CODE
+if [[ -z ${_UDEV_ECLASS} ]]; then
+_UDEV_ECLASS=1
+
case ${EAPI} in
- 5|6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_UDEV_ECLASS} ]]; then
-_UDEV_ECLASS=1
-
inherit toolchain-funcs
if [[ ${EAPI} == [56] ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: cf14792ae9471b1d95ee93ecc5de35922654e5cc
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:38:17 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf14792a
ruby-ng.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/ruby-ng.eclass | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index d80ae96dd40b..2ef6d2247435 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.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: ruby-ng.eclass
@@ -67,7 +67,11 @@
# passed to "grep -E" to remove reporting of these shared objects.
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 1a99e837bd683a50583c7a6a83bae5ad918cec74
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:38:08 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:18 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a99e837
readme.gentoo-r1.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/readme.gentoo-r1.eclass | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/eclass/readme.gentoo-r1.eclass b/eclass/readme.gentoo-r1.eclass
index 48023d9c049f..3d2d8244687c 100644
--- a/eclass/readme.gentoo-r1.eclass
+++ b/eclass/readme.gentoo-r1.eclass
@@ -21,7 +21,11 @@ if [[ -z ${_README_GENTOO_ECLASS} ]]; then
_README_GENTOO_ECLASS=1
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 9624aabd7852cde30d5c4392c5b05d51921f1a7a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:38:39 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9624aabd
tmpfiles.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/tmpfiles.eclass | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/eclass/tmpfiles.eclass b/eclass/tmpfiles.eclass
index 39650401a6a0..63889a275fef 100644
--- a/eclass/tmpfiles.eclass
+++ b/eclass/tmpfiles.eclass
@@ -1,4 +1,4 @@
-# Copyright 2016-2022 Gentoo Authors
+# Copyright 2016-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: tmpfiles.eclass
@@ -55,9 +55,13 @@
if [[ -z ${_TMPFILES_ECLASS} ]]; then
_TMPFILES_ECLASS=1
-case "${EAPI}" in
-5|6|7|8) ;;
-*) die "API is undefined for EAPI ${EAPI}" ;;
+case ${EAPI} in
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
# @ECLASS_VARIABLE: TMPFILES_OPTIONAL
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 4d90c2033b85e64c3b6be717a930be84f629f35c
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:37:52 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d90c203
portability.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/portability.eclass | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/eclass/portability.eclass b/eclass/portability.eclass
index 78da440e22dd..926ac8b8b825 100644
--- a/eclass/portability.eclass
+++ b/eclass/portability.eclass
@@ -9,14 +9,18 @@
# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: This eclass is created to avoid using non-portable GNUisms inside ebuilds
+if [[ -z ${_PORTABILITY_ECLASS} ]]; then
+_PORTABILITY_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_PORTABILITY_ECLASS} ]]; then
-_PORTABILITY_ECLASS=1
-
# @FUNCTION: treecopy
# @USAGE: <orig1> [orig2 orig3 ....] <dest>
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 8e4a8408904a21168ed94c8ca7b7320c265e66ee
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:38:14 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e4a8408
ruby-fakegem.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/ruby-fakegem.eclass | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
index 40ff76ce900e..04099a82ef4f 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.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: ruby-fakegem.eclass
@@ -139,7 +139,11 @@ RUBY_FAKEGEM_BINDIR="${RUBY_FAKEGEM_BINDIR-bin}"
RUBY_FAKEGEM_EXTENSION_LIBDIR="${RUBY_FAKEGEM_EXTENSION_LIBDIR-lib}"
case ${EAPI} in
- 5|6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: f5ef210074c1b8c5ea29c8b4cb64ccab6f48628b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:38:32 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5ef2100
strip-linguas.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/strip-linguas.eclass | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/eclass/strip-linguas.eclass b/eclass/strip-linguas.eclass
index 718341b4a626..b31f414c87c3 100644
--- a/eclass/strip-linguas.eclass
+++ b/eclass/strip-linguas.eclass
@@ -1,4 +1,4 @@
-# Copyright 2004-2021 Gentoo Authors
+# Copyright 2004-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: strip-linguas.eclass
@@ -9,15 +9,19 @@
# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: convenience function for LINGUAS support
+if [[ -z ${_STRIP_LINGUAS_ECLASS} ]]; then
+_STRIP_LINGUAS_ECLASS=1
+
case ${EAPI} in
- 5|6|7|8) ;;
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_STRIP_LINGUAS_ECLASS} ]]; then
-_STRIP_LINGUAS_ECLASS=1
-
-# @FUNCTION: strip-linguas
+# FUNCTION: strip-linguas
# @USAGE: [<allow LINGUAS>|<-i|-u> <directories of .po files>]
# @DESCRIPTION:
# Make sure that LINGUAS only contains languages that a package can
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: fabfe377fe7451c3a1f62d5e5cda837c63a583e2
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:38:21 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fabfe377
ruby-utils.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/ruby-utils.eclass | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/ruby-utils.eclass b/eclass/ruby-utils.eclass
index 789f57ce25f6..48a25114b396 100644
--- a/eclass/ruby-utils.eclass
+++ b/eclass/ruby-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: ruby-utils.eclass
@@ -15,13 +15,17 @@
# This eclass does not set any metadata variables nor export any phase
# functions. It can be inherited safely.
-case ${EAPI:-0} in
- [5678]) ;;
+if [[ ! ${_RUBY_UTILS} ]]; then
+
+case ${EAPI} in
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ ! ${_RUBY_UTILS} ]]; then
-
# @ECLASS_VARIABLE: RUBY_TARGETS_PREFERENCE
# @INTERNAL
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 2580b25033cac0b63d1195449b2a7dfeb7d0d22d
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:37:56 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:17 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2580b250
prefix.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/prefix.eclass | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/eclass/prefix.eclass b/eclass/prefix.eclass
index 8d50d0ba7b6e..e968e8ae8bac 100644
--- a/eclass/prefix.eclass
+++ b/eclass/prefix.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: prefix.eclass
@@ -12,14 +12,18 @@
# located somewhere in the filesystem. Prefix ebuilds require
# additional functions and variables which are defined by this eclass.
-case ${EAPI:-0} in
- [5678]) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
if [[ -z ${_PREFIX_ECLASS} ]]; then
_PREFIX_ECLASS=1
+case ${EAPI} in
+ 5|6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
# @ECLASS_VARIABLE: EPREFIX
# @DESCRIPTION:
# The offset prefix of a Gentoo Prefix installation. When Gentoo Prefix
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 3a9d3b4238e7706d8f2f3d5d652faae69091a9ad
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:38:42 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a9d3b42
toolchain-funcs.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 5e36fa275dcd..66819996ea33 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -13,14 +13,18 @@
# in such a way that you can rely on the function always returning
# something sane.
+if [[ -z ${_TOOLCHAIN_FUNCS_ECLASS} ]]; then
+_TOOLCHAIN_FUNCS_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_TOOLCHAIN_FUNCS_ECLASS} ]]; then
-_TOOLCHAIN_FUNCS_ECLASS=1
-
inherit multilib
# tc-getPROG <VAR [search vars]> <default> [tuple]
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 107c548f56cfcfc133e10918dfc175bf6d9128c3
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:37:48 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=107c548f
php-pear-r2.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/php-pear-r2.eclass | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/php-pear-r2.eclass b/eclass/php-pear-r2.eclass
index 9882c7dcc700..567aa9a8144f 100644
--- a/eclass/php-pear-r2.eclass
+++ b/eclass/php-pear-r2.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: php-pear-r2.eclass
@@ -14,14 +14,18 @@
# Note that this eclass doesn't handle dependencies of PEAR packages
# on purpose; please use (R)DEPEND to define them correctly!
+if [[ -z ${_PHP_PEAR_R2_ECLASS} ]]; then
+_PHP_PEAR_R2_ECLASS=1
+
case ${EAPI} in
- 6|7|8) ;;
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
+ ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_PHP_PEAR_R2_ECLASS} ]]; then
-_PHP_PEAR_R2_ECLASS=1
-
RDEPEND=">=dev-php/pear-1.8.1"
[[ ${EAPI} != [67] ]] && IDEPEND=">=dev-php/pear-1.8.1"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-08 18:21 UTC (permalink / raw
To: gentoo-commits
commit: 75c1c9c04acf63c2c7ed1d8bf62609a654754758
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 21:37:43 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 8 18:21:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75c1c9c0
perl-functions.eclass: add global-scope ewarn for deprecated < EAPI 7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/perl-functions.eclass | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/eclass/perl-functions.eclass b/eclass/perl-functions.eclass
index 142fdeb8cfbd..d2b6cfb85f73 100644
--- a/eclass/perl-functions.eclass
+++ b/eclass/perl-functions.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: perl-functions.eclass
@@ -17,11 +17,12 @@
# global scope.
case ${EAPI} in
- 7|8)
- ;;
- *)
- die "${ECLASS}: EAPI ${EAPI:-0} not supported"
+ 6)
+ ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
+ ewarn "${CATEGORY}/${PF}: Support will be removed on 2024-10-08. Please port to newer EAPI."
;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
[[ ${CATEGORY} == "perl-core" ]] && inherit alternatives
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-07 18:23 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-07 18:23 UTC (permalink / raw
To: gentoo-commits
commit: 19cfcafa125dbbe389fc84e4f89cc851df6baa46
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 18:23:03 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 7 18:23:03 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19cfcafa
kernel-build.eclass: localise 'target'
Fixes: c3f4e3f788e2d5973ce49293fe20354b20576426
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/kernel-build.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 93523629de41..ce87fd72acdd 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -302,6 +302,7 @@ kernel-build_src_compile() {
targets+=( ctf )
fi
+ local target
for target in "${targets[@]}" ; do
emake O="${WORKDIR}"/build "${MAKEARGS[@]}" "${target}"
done
@@ -327,6 +328,7 @@ kernel-build_src_test() {
strip_args="--strip-unneeded"
fi
+ local target
for target in "${targets[@]}" ; do
emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
INSTALL_MOD_PATH="${T}" INSTALL_MOD_STRIP="${strip_args}" \
@@ -375,6 +377,7 @@ kernel-build_src_install() {
)
fi
+ local target
for target in "${targets[@]}" ; do
emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
INSTALL_MOD_PATH="${ED}" INSTALL_MOD_STRIP="${strip_args}" \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-07 18:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-07 18:21 UTC (permalink / raw
To: gentoo-commits
commit: c3f4e3f788e2d5973ce49293fe20354b20576426
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 7 16:22:45 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 7 18:21:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3f4e3f7
kernel-build.eclass: call ctf targets serially
Workaround for install + ctf_install not working in parallel for now
(have reported this).
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/kernel-build.eclass | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 91c962d671ab..93523629de41 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -302,7 +302,9 @@ kernel-build_src_compile() {
targets+=( ctf )
fi
- emake O="${WORKDIR}"/build "${MAKEARGS[@]}" "${targets[@]}"
+ for target in "${targets[@]}" ; do
+ emake O="${WORKDIR}"/build "${MAKEARGS[@]}" "${target}"
+ done
}
# @FUNCTION: kernel-build_src_test
@@ -325,9 +327,11 @@ kernel-build_src_test() {
strip_args="--strip-unneeded"
fi
- emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
- INSTALL_MOD_PATH="${T}" INSTALL_MOD_STRIP="${strip_args}" \
- "${targets[@]}"
+ for target in "${targets[@]}" ; do
+ emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
+ INSTALL_MOD_PATH="${T}" INSTALL_MOD_STRIP="${strip_args}" \
+ "${target}"
+ done
kernel-install_test "${KV_FULL}" \
"${WORKDIR}/build/$(dist-kernel_get_image_path)" \
@@ -371,9 +375,11 @@ kernel-build_src_install() {
)
fi
- emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
- INSTALL_MOD_PATH="${ED}" INSTALL_MOD_STRIP="${strip_args}" \
- INSTALL_PATH="${ED}/boot" "${compress[@]}" "${targets[@]}"
+ for target in "${targets[@]}" ; do
+ emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
+ INSTALL_MOD_PATH="${ED}" INSTALL_MOD_STRIP="${strip_args}" \
+ INSTALL_PATH="${ED}/boot" "${compress[@]}" "${target}"
+ done
# note: we're using mv rather than doins to save space and time
# install main and arch-specific headers first, and scripts
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-05 12:10 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-05 12:10 UTC (permalink / raw
To: gentoo-commits
commit: 82f9bef4ed76f656a3d79b607eecff526b78b7ee
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 5 11:48:02 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Sep 5 12:09:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82f9bef4
linux-mod-r1.eclass: BDEPEND on dev-util/pahole
If the kernel is built with CONFIG_DEBUG_INFO_BTF_MODULES, external
kernel module builds will try to call `pahole` to generate BTF and
fail if it's not present.
pahole is a small dependency and we're likely to enable BTF by default
in more configurations going forward, so do it unconditionally.
The alternatives aren't great anyway, we would have to instead:
* RDEPEND in g-k-bin
* BDEPEND in g-k-bin and break the binpkg case
* Use an ewarn in the eclass if pahole isn't installed + config option is set
so this is the best option available to us.
Thanks-to: Ionen Wolkens <ionen <AT> gentoo.org>
Reported-by: Sebastian Engel <sighunter <AT> gmx.de>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/linux-mod-r1.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 9911a6ddee12..120fb019d74a 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -121,6 +121,7 @@ DEPEND="
virtual/linux-sources
"
BDEPEND="
+ dev-util/pahole
sys-apps/kmod[tools]
modules-sign? (
dev-libs/openssl
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-04 20:33 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-09-04 20:33 UTC (permalink / raw
To: gentoo-commits
commit: ae9987ba9684a83a0310b42e28299c545e0e5468
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 4 14:38:34 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Sep 4 20:33:03 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae9987ba
kernel-build.eclass: fix src_test w/o CTF
Fixes: 983fe336a7571f822655c25e0785f067de80c64c
Signed-off-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 3836bef1276b..91c962d671ab 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -312,6 +312,12 @@ kernel-build_src_compile() {
kernel-build_src_test() {
debug-print-function ${FUNCNAME} "${@}"
+ local targets=( modules_install )
+
+ if grep -q "CONFIG_CTF=y" "${WORKDIR}/modprep/.config"; then
+ targets+=( ctf_install )
+ fi
+
# Use the kernel build system to strip, this ensures the modules
# are stripped *before* they are signed or compressed.
local strip_args
@@ -321,7 +327,7 @@ kernel-build_src_test() {
emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
INSTALL_MOD_PATH="${T}" INSTALL_MOD_STRIP="${strip_args}" \
- modules_install ctf_install
+ "${targets[@]}"
kernel-install_test "${KV_FULL}" \
"${WORKDIR}/build/$(dist-kernel_get_image_path)" \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-03 9:40 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-03 9:40 UTC (permalink / raw
To: gentoo-commits
commit: 983fe336a7571f822655c25e0785f067de80c64c
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 3 09:38:04 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Sep 3 09:40:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=983fe336
kernel-build.eclass: call ctf_install for tests too
As suggested by Andrew at https://github.com/gentoo/gentoo/pull/38392#discussion_r1741574357.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/kernel-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 1fc86c4a2208..3836bef1276b 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -321,7 +321,7 @@ kernel-build_src_test() {
emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
INSTALL_MOD_PATH="${T}" INSTALL_MOD_STRIP="${strip_args}" \
- modules_install
+ modules_install ctf_install
kernel-install_test "${KV_FULL}" \
"${WORKDIR}/build/$(dist-kernel_get_image_path)" \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-03 8:58 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-03 8:58 UTC (permalink / raw
To: gentoo-commits
commit: 074703d997f81d4632e8f69d88a113c81e3220d4
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 3 06:50:38 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Sep 3 08:58:13 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=074703d9
kernel-build.eclass: handle CTF if enabled
genpatches will soon be adding optional CTF debug information support
via a patch. If it's enabled, we need to call a few special make targets
to create and install the CTF information. We also need to avoid stripping
the CTF archive.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/kernel-build.eclass | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 10fd0cca2cc5..1fc86c4a2208 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -296,7 +296,13 @@ kernel-build_src_configure() {
kernel-build_src_compile() {
debug-print-function ${FUNCNAME} "${@}"
- emake O="${WORKDIR}"/build "${MAKEARGS[@]}" all
+ local targets=( all )
+
+ if grep -q "CONFIG_CTF=y" "${WORKDIR}/modprep/.config"; then
+ targets+=( ctf )
+ fi
+
+ emake O="${WORKDIR}"/build "${MAKEARGS[@]}" "${targets[@]}"
}
# @FUNCTION: kernel-build_src_test
@@ -337,6 +343,10 @@ kernel-build_src_install() {
targets+=( dtbs_install )
fi
+ if grep -q "CONFIG_CTF=y" "${WORKDIR}/modprep/.config"; then
+ targets+=( ctf_install )
+ fi
+
# Use the kernel build system to strip, this ensures the modules
# are stripped *before* they are signed or compressed.
local strip_args
@@ -430,6 +440,7 @@ kernel-build_src_install() {
mv "build/vmlinux" "${ED}${kernel_dir}/vmlinux" || die
fi
dostrip -x "${kernel_dir}/vmlinux"
+ dostrip -x "${kernel_dir}/vmlinux.ctfa"
fi
# strip empty directories
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-03 4:22 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-09-03 4:22 UTC (permalink / raw
To: gentoo-commits
commit: 94d87c3124305490189c803dccdd30b034466892
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 3 00:42:16 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Sep 3 04:20:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94d87c31
qt6-build.eclass: force cmake's log level back to STATUS
Unless set -DQT_FEATURE_developer_build (which is more involved),
Qt changes the default log level to NOTICE and then, in current
6.8.9999, the configuration summaries were seemingly moved to STATUS
leaving them hidden as just:
-- Configuration summary has been written to ..._build/config.summary
Not new, but the NOTICE log level also hides the result of the various
tests such as:
-- Performing Test HAVE_egl_x11 - Success
Unclear if 6.8.x will keep summaries that way (feel this is a downside
for upstream as well, and perhaps is not intentional as part of some
refactoring), but either way STATUS makes the build.log a lot more
useful.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 24b857dab53f..3cd8b606c235 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -147,6 +147,9 @@ qt6-build_src_configure() {
fi
local defaultcmakeargs=(
+ # cmake defaults to "STATUS" but Qt changes that to "NOTICE" which
+ # hides a lot of information that is useful for bug reports
+ --log-level=STATUS
# see _qt6-build_create_user_facing_links
-DINSTALL_PUBLICBINDIR="${QT6_PREFIX}"/bin
# note that if qtbase was built with tests, this is default ON
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 11:05 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-01 11:05 UTC (permalink / raw
To: gentoo-commits
commit: ef76274515b2653756bf2122f4be03681e94a954
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 1 11:01:13 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 1 11:04:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef762745
guile-utils.eclass: fix eclassdoc issues
eclass-to-manpage noticed these.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/guile-utils.eclass | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/eclass/guile-utils.eclass b/eclass/guile-utils.eclass
index 3f122f63a36f..09ca5aabe502 100644
--- a/eclass/guile-utils.eclass
+++ b/eclass/guile-utils.eclass
@@ -6,13 +6,14 @@
# Gentoo Scheme project <scheme@gentoo.org>
# @AUTHOR:
# Author: Arsen Arsenović <arsen@gentoo.org>
-# Inspired by prior work in the Gentoo Python ecosystem.
-# @BLURB: Common code between GNU Guile-related eclasses and ebuilds.
# @SUPPORTED_EAPIS: 8
+# @BLURB: Common code between GNU Guile-related eclasses and ebuilds.
# @DESCRIPTION:
# This eclass contains various bits of common code between
# dev-scheme/guile, Guile multi-implementation ebuilds and Guile
# single-implementation ebuilds.
+#
+# Inspired by prior work in the Gentoo Python ecosystem.
case "${EAPI}" in
8) ;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 11:05 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-01 11:05 UTC (permalink / raw
To: gentoo-commits
commit: d2f9fd205167416d26858b2c5dd6be463389fdef
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 1 11:01:51 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 1 11:04:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2f9fd20
guile.eclass: fix eclassdoc issues
eclass-to-manpage noticed these.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/guile.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/guile.eclass b/eclass/guile.eclass
index d487d765e86a..9310cd060da9 100644
--- a/eclass/guile.eclass
+++ b/eclass/guile.eclass
@@ -2,13 +2,13 @@
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: guile.eclass
-# @PROVIDES: guile-utils
# @MAINTAINER:
# Gentoo Scheme project <scheme@gentoo.org>
# @AUTHOR:
# Author: Arsen Arsenović <arsen@gentoo.org>
# Inspired by prior work in the Gentoo Python ecosystem.
# @SUPPORTED_EAPIS: 8
+# @PROVIDES: guile-utils
# @BLURB: Utilities for packages multi-implementation Guile packages.
# @DESCRIPTION:
# This eclass facilitates building against many Guile implementations,
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 11:05 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-01 11:05 UTC (permalink / raw
To: gentoo-commits
commit: a5adc69b4bffaf47a520f16dad03472f2f21defc
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 1 11:02:45 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 1 11:04:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5adc69b
java-ant-2.eclass: fix eclassdoc issues
eclass-to-manpage noticed these.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/java-ant-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/java-ant-2.eclass b/eclass/java-ant-2.eclass
index 1ed8b23ee6cd..ef7d306dc9b1 100644
--- a/eclass/java-ant-2.eclass
+++ b/eclass/java-ant-2.eclass
@@ -2,7 +2,6 @@
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: java-ant-2.eclass
-# @DEPRECATED: none
# @MAINTAINER:
# java@gentoo.org
# @AUTHOR:
@@ -11,6 +10,7 @@
# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: java-utils-2
# @BLURB: eclass for ant based Java packages
+# @DEPRECATED: none
# @DESCRIPTION:
# Eclass for Ant-based Java packages. Provides support for both automatic and
# manual manipulation of build.xml files. Should be inherited after java-pkg-2
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 11:05 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-09-01 11:05 UTC (permalink / raw
To: gentoo-commits
commit: a948d340bd94e480398c3b55a53bbddae77d1c9c
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 1 10:59:49 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Sep 1 11:04:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a948d340
guile-single.eclass: fix eclassdoc issues
eclass-to-manpage noticed these.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/guile-single.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/guile-single.eclass b/eclass/guile-single.eclass
index 41ede32928bc..91f6036139da 100644
--- a/eclass/guile-single.eclass
+++ b/eclass/guile-single.eclass
@@ -2,20 +2,20 @@
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: guile-single.eclass
-# @PROVIDES: guile-utils
# @MAINTAINER:
# Gentoo Scheme project <scheme@gentoo.org>
# @AUTHOR:
# Author: Arsen Arsenović <arsen@gentoo.org>
-# Inspired by prior work in the Gentoo Python ecosystem.
-# @BLURB: Utilities for packages that build against a single Guile.
# @SUPPORTED_EAPIS: 8
# @PROVIDES: guile-utils
+# @BLURB: Utilities for packages that build against a single Guile.
# @DESCRIPTION:
# This eclass facilitates packages building against a single slot of
# Guile, which is normally something that uses Guile for extending, like
# GNU Make, or for programs built in Guile, like Haunt.
#
+# Inspired by prior work in the Gentoo Python ecosystem.
+#
# These packages should use guile_gen_cond_dep to generate a dependency
# string for their Guile package dependencies (i.e. other Guile single-
# and multi-implementation packages). They should also utilize
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 9:59 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-09-01 9:59 UTC (permalink / raw
To: gentoo-commits
commit: b4b2bc17326e87df2021805bbbc39b46e70e1b2b
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Aug 6 06:49:46 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Sep 1 09:58:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b4b2bc17
java-ant-2.eclass: mark java-ant-2 eclass as deprecated
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/38203
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-ant-2.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/java-ant-2.eclass b/eclass/java-ant-2.eclass
index b0d2fb216b10..1ed8b23ee6cd 100644
--- a/eclass/java-ant-2.eclass
+++ b/eclass/java-ant-2.eclass
@@ -2,6 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: java-ant-2.eclass
+# @DEPRECATED: none
# @MAINTAINER:
# java@gentoo.org
# @AUTHOR:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 9:59 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-09-01 9:59 UTC (permalink / raw
To: gentoo-commits
commit: f71821015ff790d630acbb54962d4674b9b8b4a6
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Aug 13 06:36:46 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Sep 1 09:58:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7182101
java-pkg-2.eclass: remove unused for commons.apache.org packages
removes a condition which used to provide SRC_URI and HOMEPAGE for
packages from commons.apache.org but is completely unused due to not
providing verify-sig.
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-2.eclass | 6 ------
1 file changed, 6 deletions(-)
diff --git a/eclass/java-pkg-2.eclass b/eclass/java-pkg-2.eclass
index 0409a7c70e0e..df024bbadf51 100644
--- a/eclass/java-pkg-2.eclass
+++ b/eclass/java-pkg-2.eclass
@@ -39,12 +39,6 @@ DEPEND="${JAVA_PKG_E_DEPEND}"
# Nothing special for RDEPEND... just the same as DEPEND.
RDEPEND="${DEPEND}"
-# Commons packages follow the same rules so do it here
-if [[ ${CATEGORY} = dev-java && ${PN} = commons-* ]]; then
- HOMEPAGE="http://commons.apache.org/${PN#commons-}/"
- SRC_URI="mirror://apache/${PN/-///}/source/${P}-src.tar.gz"
-fi
-
# @FUNCTION: java-pkg-2_pkg_setup
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 9:59 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-09-01 9:59 UTC (permalink / raw
To: gentoo-commits
commit: 199aa0b14194a2a17d43d396c9e341b15c33b719
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Aug 6 06:54:55 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Sep 1 09:58:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=199aa0b1
java-pkg-2.eclass: mark functions as deprecated which depend on java-ant-2.eclass
Deprecating java-ant-2.eclass would be the next step.
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-2.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/java-pkg-2.eclass b/eclass/java-pkg-2.eclass
index c17a9db26b3b..0409a7c70e0e 100644
--- a/eclass/java-pkg-2.eclass
+++ b/eclass/java-pkg-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-pkg-2.eclass
@@ -63,6 +63,7 @@ java-pkg-2_src_prepare() {
# @FUNCTION: java-pkg-2_src_compile
+# @DEPRECATED: none
# @DESCRIPTION:
# Default src_compile for java packages
#
@@ -98,6 +99,7 @@ java-pkg-2_src_compile() {
}
# @FUNCTION: java-pkg-2_src_test
+# @DEPRECATED: none
# @DESCRIPTION:
# src_test, not exported.
java-pkg-2_src_test() {
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 9:59 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-09-01 9:59 UTC (permalink / raw
To: gentoo-commits
commit: a9f58305b8287641626535a315958a51e5ab34a5
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sat Aug 10 07:18:38 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Sep 1 09:58:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a9f58305
java-utils-2.eclass: remove 'ant -lib' from comment of java-pkg_jarfrom
since it is already advised to not use it
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 9c657cc4c1f9..647f25e2c987 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -1140,7 +1140,7 @@ java-pkg_jarfrom() {
# @USAGE: [--build-only] [--runtime-only] [--with-dependencies] <package1>[,<package2>...]
# @DESCRIPTION:
# Get the classpath provided by any number of packages
-# Among other things, this can be passed to 'javac -classpath' or 'ant -lib'.
+# Among other things, this can be passed to 'javac -classpath'.
# The providing packages are recorded as dependencies into package.env DEPEND
# line, unless "--build-only" is passed as the very first argument, for jars
# that have to be present only at build time and are not needed on runtime
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-31 8:33 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-31 8:33 UTC (permalink / raw
To: gentoo-commits
commit: b88061f78e9d212f4bbd9611cd4c0e41a8baf549
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 31 08:29:18 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 31 08:32:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b88061f7
llvm.org.eclass: Add 20.0.0_pre20240830 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 b3a22634f2e1..da943081b9bf 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
+ 20.0.0_pre20240830)
+ EGIT_COMMIT=5500e21942f7047344b6fee62d3e08c0ba2f9182
+ ;;
20.0.0_pre20240822)
EGIT_COMMIT=503907dc505db1e439e7061113bf84dd105f2e35
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-30 19:43 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-08-30 19:43 UTC (permalink / raw
To: gentoo-commits
commit: 660b9cf9f08fd27fca32f1bd1bd8e95ee7a635bc
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 30 19:41:18 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Aug 30 19:43:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=660b9cf9
kernel-build.eclass: BDEPEND on dev-lang/perl
Some config options (that we enable by default, e.g. CONFIG_CRYPTO_POLY1305)
cause perl scripts to be run during the build.
Closes: https://bugs.gentoo.org/930390
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index d92076d61c04..10fd0cca2cc5 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -47,6 +47,7 @@ BDEPEND="
${PYTHON_DEPS}
app-alternatives/cpio
app-alternatives/bc
+ dev-lang/perl
sys-devel/bison
sys-devel/flex
virtual/libelf
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-30 19:10 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-08-30 19:10 UTC (permalink / raw
To: gentoo-commits
commit: 297e387c75abadc31502f37fd456a1f90b302ad4
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 30 13:01:53 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Aug 30 19:07:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=297e387c
kernel-build.eclass: adjust missing .config error messages
kernel-build_merge_configs should always be called first nowadays
because it applies the savedconfig.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/38345
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index be02920162f4..d92076d61c04 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -243,7 +243,7 @@ kernel-build_src_configure() {
MAKEARGS+=( KBZIP2="lbzip2" )
fi
- [[ -f .config ]] || die "Ebuild error: please copy default config into .config"
+ [[ -f .config ]] || die "Ebuild error: No .config, kernel-build_merge_configs was not called."
if [[ -z "${KV_LOCALVERSION}" ]]; then
KV_LOCALVERSION=$(sed -n -e 's#^CONFIG_LOCALVERSION="\(.*\)"$#\1#p' \
@@ -602,10 +602,13 @@ kernel-build_pkg_postinst() {
# 3. Config saved via USE=savedconfig (if applicable).
# 4. Module signing key specified via MODULES_SIGN_KEY* variables.
# 5. User-supplied configs from ${BROOT}/etc/kernel/config.d/*.config.
+#
+# This function must be called by the ebuild in the src_prepare phase.
kernel-build_merge_configs() {
debug-print-function ${FUNCNAME} "${@}"
- [[ -f .config ]] || die "${FUNCNAME}: .config does not exist"
+ [[ -f .config ]] ||
+ die "${FUNCNAME}: No .config, please copy default config into .config"
has .config "${@}" &&
die "${FUNCNAME}: do not specify .config as parameter"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 13:04 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-08-26 13:04 UTC (permalink / raw
To: gentoo-commits
commit: 17c11b3d8225ff68bf081488e0285ed117a3c1c6
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 26 12:23:04 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Aug 26 13:04:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17c11b3d
plasma-mobile.kde.org.eclass: Mark as DEAD
Acked-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/plasma-mobile.kde.org.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/plasma-mobile.kde.org.eclass b/eclass/plasma-mobile.kde.org.eclass
index 9fd54100d24e..3349f90745bd 100644
--- a/eclass/plasma-mobile.kde.org.eclass
+++ b/eclass/plasma-mobile.kde.org.eclass
@@ -1,6 +1,7 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# @DEAD
# @ECLASS: plasma-mobile.kde.org.eclass
# @MAINTAINER:
# kde@gentoo.org
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 13:04 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-08-26 13:04 UTC (permalink / raw
To: gentoo-commits
commit: dc3043d2bcf8394e96d8f81ec6daf30641afe3d4
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 20 17:58:55 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Aug 26 13:04:24 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc3043d2
eqawarn.eclass: Mark as DEAD
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/eqawarn.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/eqawarn.eclass b/eclass/eqawarn.eclass
index 288976182fb3..df6b13151d74 100644
--- a/eclass/eqawarn.eclass
+++ b/eclass/eqawarn.eclass
@@ -1,6 +1,7 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# @DEAD
# @ECLASS: eqawarn.eclass
# @MAINTAINER:
# base-system@gentoo.org
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 13:04 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-08-26 13:04 UTC (permalink / raw
To: gentoo-commits
commit: 1118079e4f7b3acb43fa8206a6c9f2f02187c44f
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 20 17:58:41 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Aug 26 13:04:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1118079e
eapi7-ver.eclass: Mark as DEAD
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/eapi7-ver.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/eapi7-ver.eclass b/eclass/eapi7-ver.eclass
index a23e76ad3ee3..85c0856f73b3 100644
--- a/eclass/eapi7-ver.eclass
+++ b/eclass/eapi7-ver.eclass
@@ -1,6 +1,7 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# @DEAD
# @ECLASS: eapi7-ver.eclass
# @MAINTAINER:
# PMS team <pms@gentoo.org>
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 13:04 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-08-26 13:04 UTC (permalink / raw
To: gentoo-commits
commit: d1d31339c50dceed5a453793a71298c29698aa3d
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 20 17:58:30 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Aug 26 13:04:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1d31339
versionator.eclass: Mark as DEAD
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/versionator.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/versionator.eclass b/eclass/versionator.eclass
index 8a1066a0fd30..1e491860b6ca 100644
--- a/eclass/versionator.eclass
+++ b/eclass/versionator.eclass
@@ -1,6 +1,7 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# @DEAD
# @ECLASS: versionator.eclass
# @MAINTAINER:
# Jonathan Callen <jcallen@gentoo.org>
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 6:34 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-08-26 6:34 UTC (permalink / raw
To: gentoo-commits
commit: 37f7986b816b46aaca8f96b49582c9c73bebaf5c
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 25 22:29:07 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Aug 26 06:33:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37f7986b
ecm-common.eclass: Add _ecm-common-check_deps to simplify pkg_setup()
Bug: https://bugs.gentoo.org/938507
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm-common.eclass | 43 ++++++++++++++++++++++++++++++++++---------
1 file changed, 34 insertions(+), 9 deletions(-)
diff --git a/eclass/ecm-common.eclass b/eclass/ecm-common.eclass
index 63a23878c6f5..c0c2b4f7e644 100644
--- a/eclass/ecm-common.eclass
+++ b/eclass/ecm-common.eclass
@@ -309,6 +309,38 @@ _ecm-common_summary() {
_EOF_
}
+# @FUNCTION: _ecm-common-check_deps
+# @INTERNAL
+# @DESCRIPTION:
+# Check existence of requested KF6 dependencies.
+_ecm-common-check_deps() {
+ local chk=0
+ case ${1} in
+ i18n)
+ if [[ ${ECM_I18N} ]]; then
+ chk=$(has_version -b "kde-frameworks/ki18n:6")
+ fi
+ ;;
+ doctools)
+ if [[ ${ECM_HANDBOOK} ]] && in_iuse handbook; then
+ if use handbook; then
+ chk=$(has_version -b "kde-frameworks/kdoctools:6")
+ fi
+ fi
+ ;;
+ kcmutils)
+ if [[ ${ECM_KCM_TARGETS} ]]; then
+ chk=$(has_version -b "kde-frameworks/kcmutils:6")
+ fi
+ ;;
+ *)
+ eerror "Unknown value for _ecm-common-check_deps()"
+ die "Value ${1} is not supported"
+ ;;
+ esac
+ return ${chk}
+}
+
# @FUNCTION: ecm-common-check_deps
# @DESCRIPTION:
# Override this to add more KF6 has_version checks to pkg_setup(),
@@ -327,15 +359,8 @@ ecm-common-check_deps() {
ecm-common_pkg_setup() {
$(ver_test ${KFMIN} -ge 5.240) && return
- if has_version -b "kde-frameworks/ki18n:6" && {
- ! in_iuse handbook || {
- in_iuse handbook && use handbook &&
- has_version -b "kde-frameworks/kdoctools:6"
- }
- } && {
- ! [[ ${ECM_KCM_TARGETS} ]] ||
- has_version -b "kde-frameworks/kcmutils:6"
- } && ecm-common-check_deps
+ if _ecm-common-check_deps i18n && _ecm-common-check_deps doctools &&
+ _ecm-common-check_deps kcmutils && ecm-common-check_deps
then
_KFSLOT=6
else
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-25 15:37 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-08-25 15:37 UTC (permalink / raw
To: gentoo-commits
commit: 0dd42ac730fd855166651d81e3f3d0db671e7328
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 25 15:08:55 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Aug 25 15:36:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0dd42ac7
kernel-build.eclass: fix module signing with unspecified key
MODULES_SIGN_KEY may be unset when using USE=modules-sign. Fix an issue
introduced in e290c3c78b7acb59393f46d1d15175d6dbfc77da that breaks this
configuration due to modules-sign-key.config not existing.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/38287
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 6406f5b3c0f3..be02920162f4 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -625,18 +625,6 @@ kernel-build_merge_configs() {
CONFIG_MODULE_SIG_FORCE=y
CONFIG_MODULE_SIG_${MODULES_SIGN_HASH^^}=y
EOF
- if [[ -n ${MODULES_SIGN_KEY_CONTENTS} ]]; then
- (umask 066 && touch "${T}/kernel_key.pem" || die)
- echo "${MODULES_SIGN_KEY_CONTENTS}" > "${T}/kernel_key.pem" || die
- unset MODULES_SIGN_KEY_CONTENTS
- export MODULES_SIGN_KEY="${T}/kernel_key.pem"
- fi
- if [[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]]; then
- echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \
- >> "${WORKDIR}/modules-sign-key.config"
- elif [[ -n ${MODULES_SIGN_KEY} ]]; then
- die "MODULES_SIGN_KEY=${MODULES_SIGN_KEY} not found or not readable!"
- fi
merge_configs+=( "${WORKDIR}/modules-sign.config" )
fi
@@ -657,7 +645,19 @@ kernel-build_merge_configs() {
fi
if [[ ${KERNEL_IUSE_MODULES_SIGN} ]] && use modules-sign; then
- merge_configs+=( "${WORKDIR}/modules-sign-key.config" )
+ if [[ -n ${MODULES_SIGN_KEY_CONTENTS} ]]; then
+ (umask 066 && touch "${T}/kernel_key.pem" || die)
+ echo "${MODULES_SIGN_KEY_CONTENTS}" > "${T}/kernel_key.pem" || die
+ unset MODULES_SIGN_KEY_CONTENTS
+ export MODULES_SIGN_KEY="${T}/kernel_key.pem"
+ fi
+ if [[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]]; then
+ echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \
+ >> "${WORKDIR}/modules-sign-key.config"
+ merge_configs+=( "${WORKDIR}/modules-sign-key.config" )
+ elif [[ -n ${MODULES_SIGN_KEY} ]]; then
+ die "MODULES_SIGN_KEY=${MODULES_SIGN_KEY} not found or not readable!"
+ fi
fi
if [[ ${#user_configs[@]} -gt 0 ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-25 0:49 Jason Zaman
0 siblings, 0 replies; 6228+ messages in thread
From: Jason Zaman @ 2024-08-25 0:49 UTC (permalink / raw
To: gentoo-commits
commit: 75d12a333e1866ad6affa62b95fe88be48f5b118
Author: Rahul Sandhu <rahul <AT> sandhuservices <DOT> dev>
AuthorDate: Fri Aug 2 19:37:54 2024 +0000
Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Sun Aug 25 00:48:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75d12a33
selinux-policy-2.eclass: Load unconfined module for mcs/mls policy types
Currently, there doesn't seem to be a reason to block the loading of
the unconfined policy module on the mcs and mls policy types. Let's
ensure we load the unconfined policy module unconditionally in the
eclass.
The loading of the unconfined policy module was initially blocked in
82e30f21ab85b6de3ebc45ae10b28b9bd280e4a1, however as far as I can tell,
there is no longer a reason to do this. Considering there are use flags
for sec-policy/selinux-base and sec-policy/selinux-base-policy for the
unconfined policy module, and using the unconfined policy module is
supported for the mcs and mls policy types, it makes sense to no longer
block the loading of the policy module. It is also worth mentioning
that grabbing an selinux stage3 has the unconfined policy module
already loaded.
As the strict policy is effectively the targeted policy without support
for the unconfined domain, it makes sense to not load the unconfined
module for strict policy types. Let's keep a conitional check for the
strict policy to ensure we don't load the unconfined module in that
case.
Closes: https://bugs.gentoo.org/933709
Closes: https://github.com/gentoo/gentoo/pull/37931
Signed-off-by: Rahul Sandhu <rahul <AT> sandhuservices.dev>
Signed-off-by: Jason Zaman <perfinion <AT> gentoo.org>
eclass/selinux-policy-2.eclass | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/eclass/selinux-policy-2.eclass b/eclass/selinux-policy-2.eclass
index ad760673cab1..e7d6cd9a9e5f 100644
--- a/eclass/selinux-policy-2.eclass
+++ b/eclass/selinux-policy-2.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 for installing SELinux policy, and optionally
@@ -260,13 +260,9 @@ selinux-policy-2_pkg_postinst() {
local COMMAND
for i in ${POLICY_TYPES}; do
- if [[ "${MODS}" = "unconfined" ]]; then
- case ${i} in
- strict|mcs|mls)
- einfo "Ignoring loading of unconfined module in ${i} module store.";
- continue
- ;;
- esac
+ if [[ "${i}" == "strict" ]] && [[ "${MODS}" = "unconfined" ]]; then
+ einfo "Ignoring loading of unconfined module in strict module store.";
+ continue;
fi
einfo "Inserting the following modules into the $i module store: ${MODS}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-23 19:25 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-23 19:25 UTC (permalink / raw
To: gentoo-commits
commit: e290c3c78b7acb59393f46d1d15175d6dbfc77da
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 21 15:19:07 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 23 19:25:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e290c3c7
kernel-build.eclass: Apply savedconfig on top of merged configs
Move applying savedconfig from src_configure() into
kernel-build_merge_configs(), in order to make it possible to override
saved config options. Previously, the saved config would
unconditionally overwrite everything, which could be between
inconvenient and plain broken (particularly if savedconfig contained
signing key paths referring to ${T}).
The new logic applies saved config via merge method, on top
of the default config along with ebuild and eclass overrides. However,
MODULES_SIGN_KEY* and user config snippets do override saved config
for convenience.
Closes: https://bugs.gentoo.org/938130
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 30 +++++++++++++++++++++---------
1 file changed, 21 insertions(+), 9 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index c4f3db0028a9..1eac9433b65c 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -167,8 +167,8 @@ kernel-build_pkg_setup() {
# @FUNCTION: kernel-build_src_configure
# @DESCRIPTION:
-# Prepare the toolchain for building the kernel, get the default .config
-# or restore savedconfig, and get build tree configured for modprep.
+# Prepare the toolchain for building the kernel, get the .config file,
+# and get build tree configured for modprep.
kernel-build_src_configure() {
debug-print-function ${FUNCNAME} "${@}"
@@ -243,7 +243,6 @@ kernel-build_src_configure() {
MAKEARGS+=( KBZIP2="lbzip2" )
fi
- restore_config .config
[[ -f .config ]] || die "Ebuild error: please copy default config into .config"
if [[ -z "${KV_LOCALVERSION}" ]]; then
@@ -594,11 +593,15 @@ kernel-build_pkg_postinst() {
# @FUNCTION: kernel-build_merge_configs
# @USAGE: [distro.config...]
# @DESCRIPTION:
-# Merge the config files specified as arguments (if any) into
-# the '.config' file in the current directory, then merge
-# any user-supplied configs from ${BROOT}/etc/kernel/config.d/*.config.
-# The '.config' file must exist already and contain the base
-# configuration.
+# Merge kernel config files. The following is merged onto the '.config'
+# file in the current directory, in order:
+#
+# 1. Config files specified as arguments.
+# 2. Default module signing and compression configuration
+# (if applicable).
+# 3. Config saved via USE=savedconfig (if applicable).
+# 4. Module signing key specified via MODULES_SIGN_KEY* variables.
+# 5. User-supplied configs from ${BROOT}/etc/kernel/config.d/*.config.
kernel-build_merge_configs() {
debug-print-function ${FUNCNAME} "${@}"
@@ -631,7 +634,7 @@ kernel-build_merge_configs() {
fi
if [[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]]; then
echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \
- >> "${WORKDIR}/modules-sign.config"
+ >> "${WORKDIR}/modules-sign-key.config"
elif [[ -n ${MODULES_SIGN_KEY} ]]; then
die "MODULES_SIGN_KEY=${MODULES_SIGN_KEY} not found or not readable!"
fi
@@ -650,6 +653,15 @@ kernel-build_merge_configs() {
merge_configs+=( "${WORKDIR}/module-compress.config" )
fi
+ restore_config "${WORKDIR}/savedconfig.config"
+ if [[ -f ${WORKDIR}/savedconfig.config ]]; then
+ merge_configs+=( "${WORKDIR}/savedconfig.config" )
+ fi
+
+ if [[ ${KERNEL_IUSE_MODULES_SIGN} ]] && use modules-sign; then
+ merge_configs+=( "${WORKDIR}/modules-sign-key.config" )
+ fi
+
if [[ ${#user_configs[@]} -gt 0 ]]; then
elog "User config files are being applied:"
local x
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-23 19:25 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-23 19:25 UTC (permalink / raw
To: gentoo-commits
commit: 74140c80f76f27c6f3a67103914498f33a0da8ae
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 21 15:22:42 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 23 19:25:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=74140c80
kernel-build.eclass: Merge two ifs in kernel-build_merge_configs()
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 44 +++++++++++++++++++++-----------------------
1 file changed, 21 insertions(+), 23 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 1eac9433b65c..6406f5b3c0f3 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -616,30 +616,28 @@ kernel-build_merge_configs() {
local merge_configs=( "${@}" )
- if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
- if use modules-sign; then
- : "${MODULES_SIGN_HASH:=sha512}"
- cat <<-EOF > "${WORKDIR}/modules-sign.config" || die
- ## Enable module signing
- CONFIG_MODULE_SIG=y
- CONFIG_MODULE_SIG_ALL=y
- CONFIG_MODULE_SIG_FORCE=y
- CONFIG_MODULE_SIG_${MODULES_SIGN_HASH^^}=y
- EOF
- if [[ -n ${MODULES_SIGN_KEY_CONTENTS} ]]; then
- (umask 066 && touch "${T}/kernel_key.pem" || die)
- echo "${MODULES_SIGN_KEY_CONTENTS}" > "${T}/kernel_key.pem" || die
- unset MODULES_SIGN_KEY_CONTENTS
- export MODULES_SIGN_KEY="${T}/kernel_key.pem"
- fi
- if [[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]]; then
- echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \
- >> "${WORKDIR}/modules-sign-key.config"
- elif [[ -n ${MODULES_SIGN_KEY} ]]; then
- die "MODULES_SIGN_KEY=${MODULES_SIGN_KEY} not found or not readable!"
- fi
- merge_configs+=( "${WORKDIR}/modules-sign.config" )
+ if [[ ${KERNEL_IUSE_MODULES_SIGN} ]] && use modules-sign; then
+ : "${MODULES_SIGN_HASH:=sha512}"
+ cat <<-EOF > "${WORKDIR}/modules-sign.config" || die
+ ## Enable module signing
+ CONFIG_MODULE_SIG=y
+ CONFIG_MODULE_SIG_ALL=y
+ CONFIG_MODULE_SIG_FORCE=y
+ CONFIG_MODULE_SIG_${MODULES_SIGN_HASH^^}=y
+ EOF
+ if [[ -n ${MODULES_SIGN_KEY_CONTENTS} ]]; then
+ (umask 066 && touch "${T}/kernel_key.pem" || die)
+ echo "${MODULES_SIGN_KEY_CONTENTS}" > "${T}/kernel_key.pem" || die
+ unset MODULES_SIGN_KEY_CONTENTS
+ export MODULES_SIGN_KEY="${T}/kernel_key.pem"
+ fi
+ if [[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]]; then
+ echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \
+ >> "${WORKDIR}/modules-sign-key.config"
+ elif [[ -n ${MODULES_SIGN_KEY} ]]; then
+ die "MODULES_SIGN_KEY=${MODULES_SIGN_KEY} not found or not readable!"
fi
+ merge_configs+=( "${WORKDIR}/modules-sign.config" )
fi
# Only semi-related but let's use that to avoid changing stable ebuilds.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-22 17:00 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-08-22 17:00 UTC (permalink / raw
To: gentoo-commits
commit: 62094b61a04d451e30bbc6e71351d6dab9592976
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 22 16:59:35 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 22 16:59:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62094b61
ecm-common.eclass: Fix inverted logic in pkg_setup() re KFMIN
Closes: https://bugs.gentoo.org/938312
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm-common.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/ecm-common.eclass b/eclass/ecm-common.eclass
index 460d702dea1f..63a23878c6f5 100644
--- a/eclass/ecm-common.eclass
+++ b/eclass/ecm-common.eclass
@@ -325,7 +325,7 @@ ecm-common-check_deps() {
# preferring KF6. The result is stored in _KFSLOT, which is then handed
# to CMakeLists.txt as KFSLOT var for further use.
ecm-common_pkg_setup() {
- $(ver_test ${KFMIN} -lt 5.240) && return
+ $(ver_test ${KFMIN} -ge 5.240) && return
if has_version -b "kde-frameworks/ki18n:6" && {
! in_iuse handbook || {
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-22 11:23 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-22 11:23 UTC (permalink / raw
To: gentoo-commits
commit: 4e03f65e4c9db309db56bf5854e8cbf3d3d58696
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 22 11:15:54 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug 22 11:23:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e03f65e
llvm.org.eclass: Add 20.0.0_pre20240822 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 4b49d35a542b..b3a22634f2e1 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
+ 20.0.0_pre20240822)
+ EGIT_COMMIT=503907dc505db1e439e7061113bf84dd105f2e35
+ ;;
20.0.0_pre20240815)
EGIT_COMMIT=db8ef6188cbbe2125e6d60bdef77a535105772df
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-21 21:51 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-08-21 21:51 UTC (permalink / raw
To: gentoo-commits
commit: 595921bcb8fb5914b4b9ffecd5e24f3c235bdb63
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 20 15:34:54 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Aug 21 21:16:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=595921bc
gear.kde.org.eclass: Drop obsolete SLOT 5 blockers
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/gear.kde.org.eclass | 2 --
1 file changed, 2 deletions(-)
diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass
index eb05b406a7ae..8089cbb53bf7 100644
--- a/eclass/gear.kde.org.eclass
+++ b/eclass/gear.kde.org.eclass
@@ -94,7 +94,6 @@ if $(ver_test -gt 24.01.75); then
dragon | \
elisa | \
eventviews | \
- ffmpegthumbs | \
filelight | \
granatier | \
grantlee-editor | \
@@ -268,7 +267,6 @@ if $(ver_test -gt 24.07.75); then
case ${PN} in
k3b | \
kde-dev-scripts | \
- kdesdk-thumbnailers | \
kdevelop | \
kdevelop-php | \
kdevelop-python | \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-20 20:17 Mike Gilbert
0 siblings, 0 replies; 6228+ messages in thread
From: Mike Gilbert @ 2024-08-20 20:17 UTC (permalink / raw
To: gentoo-commits
commit: 1f2079f01b0276fe5ac6f8d2270f3a2bad32de61
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 20 20:16:58 2024 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Tue Aug 20 20:16:58 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f2079f0
eclass: remove marecki from maintainers
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
eclass/lua-single.eclass | 3 +--
eclass/lua-utils.eclass | 1 -
eclass/lua.eclass | 3 +--
3 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/eclass/lua-single.eclass b/eclass/lua-single.eclass
index 8432df0583bb..ad7075955153 100644
--- a/eclass/lua-single.eclass
+++ b/eclass/lua-single.eclass
@@ -1,10 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: lua-single.eclass
# @MAINTAINER:
# William Hubbs <williamh@gentoo.org>
-# Marek Szuba <marecki@gentoo.org>
# @AUTHOR:
# Marek Szuba <marecki@gentoo.org>
# Based on python-single-r1.eclass by Michał Górny <mgorny@gentoo.org> et al.
diff --git a/eclass/lua-utils.eclass b/eclass/lua-utils.eclass
index c63ec369c1c2..7272f80d0370 100644
--- a/eclass/lua-utils.eclass
+++ b/eclass/lua-utils.eclass
@@ -4,7 +4,6 @@
# @ECLASS: lua-utils.eclass
# @MAINTAINER:
# William Hubbs <williamh@gentoo.org>
-# Marek Szuba <marecki@gentoo.org>
# @AUTHOR:
# Marek Szuba <marecki@gentoo.org>
# Based on python-utils-r1.eclass by Michał Górny <mgorny@gentoo.org> et al.
diff --git a/eclass/lua.eclass b/eclass/lua.eclass
index bb2e41ef1061..380ec274167c 100644
--- a/eclass/lua.eclass
+++ b/eclass/lua.eclass
@@ -1,10 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: lua.eclass
# @MAINTAINER:
# William Hubbs <williamh@gentoo.org>
-# Marek Szuba <marecki@gentoo.org>
# @AUTHOR:
# Marek Szuba <marecki@gentoo.org>
# Based on python-r1.eclass by Michał Górny <mgorny@gentoo.org> et al.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-20 20:07 Mike Gilbert
0 siblings, 0 replies; 6228+ messages in thread
From: Mike Gilbert @ 2024-08-20 20:07 UTC (permalink / raw
To: gentoo-commits
commit: e723fd6d0e2fe4cf134a6c6e064d3faaa77c8339
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 18 18:19:23 2024 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Tue Aug 20 20:06:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e723fd6d
lua-utils.eclass: use BROOT or ESYSROOT where appropriate
The LUA variable points to a lua binary that is likely to be executed by
the build system. Use BROOT for this.
Use ESYSROOT for the pkg-config symlink, since this is likely used for
linking a library.
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
eclass/lua-utils.eclass | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/eclass/lua-utils.eclass b/eclass/lua-utils.eclass
index 0ff36734dc8f..c63ec369c1c2 100644
--- a/eclass/lua-utils.eclass
+++ b/eclass/lua-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: lua-utils.eclass
@@ -144,18 +144,18 @@ _lua_wrapper_setup() {
_lua_export "${impl}" ELUA LUA
# Lua interpreter
- ln -s "${EPREFIX}"/usr/bin/${ELUA} "${workdir}"/bin/lua || die
+ ln -s "${LUA}" "${workdir}"/bin/lua || die
# Lua compiler, or a stub for it in case of luajit
if [[ ${ELUA} == luajit ]]; then
# Just in case
- ln -s "${EPREFIX}"/bin/true "${workdir}"/bin/luac || die
+ ln -s "${BROOT}"/bin/true "${workdir}"/bin/luac || die
else
- ln -s "${EPREFIX}"/usr/bin/${ELUA/a/ac} "${workdir}"/bin/luac || die
+ ln -s "${BROOT}"/usr/bin/${ELUA/a/ac} "${workdir}"/bin/luac || die
fi
# pkg-config
- ln -s "${EPREFIX}"/usr/$(get_libdir)/pkgconfig/${ELUA}.pc \
+ ln -s "${ESYSROOT}"/usr/$(get_libdir)/pkgconfig/${ELUA}.pc \
"${workdir}"/pkgconfig/lua.pc || die
fi
@@ -264,7 +264,7 @@ _lua_export() {
debug-print "${FUNCNAME}: ELUA = ${ELUA}"
;;
LUA)
- export LUA="${EPREFIX}"/usr/bin/${impl}
+ export LUA="${BROOT}"/usr/bin/${impl}
debug-print "${FUNCNAME}: LUA = ${LUA}"
;;
LUA_CFLAGS)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-19 18:17 Robin H. Johnson
0 siblings, 0 replies; 6228+ messages in thread
From: Robin H. Johnson @ 2024-08-19 18:17 UTC (permalink / raw
To: gentoo-commits
commit: b341ff7d283ccc6186eeb29c21baaa22499baadc
Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 19 18:14:45 2024 +0000
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Mon Aug 19 18:17:33 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b341ff7d
virtualx.eclass: addpredict /dev/dri/ for Xvfb w/ mesa-24.2.0
Newer Mesa tries to access /dev/dri/ when used in Xvfb, and this
triggers a sandbox error; discovered and verified w/
sci-mathematics/fricas-1.3.11-r2.
Reference: https://public-inbox.gentoo.org/gentoo-dev/bb4927ba-5ced-3352-86bb-d87f37ceaab6 <AT> woodpecker.gentoo.org/T/#t
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
eclass/virtualx.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass
index 6e77cd662bdd..f7318eafc59e 100644
--- a/eclass/virtualx.eclass
+++ b/eclass/virtualx.eclass
@@ -113,6 +113,7 @@ virtx() {
export XAUTHORITY=
einfo "Starting Xvfb ..."
+ addpredict /dev/dri/ # Needed for Xvfb w/ >=mesa-24.2.0
debug-print "${FUNCNAME}: Xvfb -displayfd 1 ${xvfbargs[*]}"
local logfile=${T}/Xvfb.log
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-19 6:02 Viorel Munteanu
0 siblings, 0 replies; 6228+ messages in thread
From: Viorel Munteanu @ 2024-08-19 6:02 UTC (permalink / raw
To: gentoo-commits
commit: b1619cb5f7d2fafae4adeaa9b25182eb6f658c17
Author: Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 19 05:53:15 2024 +0000
Commit: Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Mon Aug 19 06:02:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1619cb5
toolchain-funcs.eclass: fix detecting ld.bfd
There is some more output from the compiler here.
We must use a regular expression to avoid a false positive from mold.
Acked-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index bc1fb064fc45..5e36fa275dcd 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -472,7 +472,7 @@ tc-ld-is-bfd() {
EOF
out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
rm -f "${base}"*
- if [[ ${out} != "GNU ld"* ]] ; then
+ if [[ ! ${out} =~ .*^"GNU ld".* ]] ; then
return 1
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-18 17:44 Arsen Arsenović
0 siblings, 0 replies; 6228+ messages in thread
From: Arsen Arsenović @ 2024-08-18 17:44 UTC (permalink / raw
To: gentoo-commits
commit: 4110a265b5a3b2fbacd85c024d8fc69631030d64
Author: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 8 22:08:10 2023 +0000
Commit: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
CommitDate: Sun Aug 18 17:43:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4110a265
guile-single.eclass: new eclass, for single-impl guile packages
Bug: https://bugs.gentoo.org/689408
Signed-off-by: Arsen Arsenović <arsen <AT> gentoo.org>
eclass/guile-single.eclass | 245 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 245 insertions(+)
diff --git a/eclass/guile-single.eclass b/eclass/guile-single.eclass
new file mode 100644
index 000000000000..41ede32928bc
--- /dev/null
+++ b/eclass/guile-single.eclass
@@ -0,0 +1,245 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: guile-single.eclass
+# @PROVIDES: guile-utils
+# @MAINTAINER:
+# Gentoo Scheme project <scheme@gentoo.org>
+# @AUTHOR:
+# Author: Arsen Arsenović <arsen@gentoo.org>
+# Inspired by prior work in the Gentoo Python ecosystem.
+# @BLURB: Utilities for packages that build against a single Guile.
+# @SUPPORTED_EAPIS: 8
+# @PROVIDES: guile-utils
+# @DESCRIPTION:
+# This eclass facilitates packages building against a single slot of
+# Guile, which is normally something that uses Guile for extending, like
+# GNU Make, or for programs built in Guile, like Haunt.
+#
+# These packages should use guile_gen_cond_dep to generate a dependency
+# string for their Guile package dependencies (i.e. other Guile single-
+# and multi-implementation packages). They should also utilize
+# GUILE_DEPS and GUILE_REQUIRED_USE to specify a dependency on their
+# Guile versions.
+#
+# They should also bump sources via guile_bump_sources during
+# src_prepare, and unstrip ccache via guile_unstrip_ccache during
+# src_install.
+#
+# If the user of the eclass needs some USE flag on Guile itself, they
+# should provide it via GUILE_REQ_USE.
+#
+# This eclass provides a guile-single_pkg_setup that sets up environment
+# variables needed for Guile and build systems using it. See the
+# documentation for that function for more details.
+#
+# @EXAMPLE:
+# A Guile program:
+#
+# @CODE
+# # Copyright 2024 Gentoo Authors
+# # Distributed under the terms of the GNU General Public License v2
+#
+# EAPI=8
+#
+# GUILE_COMPAT=( 2-2 3-0 )
+# inherit guile-single
+#
+# DESCRIPTION="Haunt is a simple, functional, hackable static site generator"
+# HOMEPAGE="https://dthompson.us/projects/haunt.html"
+# SRC_URI="https://files.dthompson.us/releases/${PN}/${P}.tar.gz"
+#
+# LICENSE="GPL-3+"
+# SLOT="0"
+# KEYWORDS="~amd64"
+# REQUIRED_USE="${GUILE_REQUIRED_USE}"
+#
+# RDEPEND="
+# ${GUILE_DEPS}
+# $(guile_gen_cond_dep '
+# dev-scheme/guile-reader[${GUILE_MULTI_USEDEP}]
+# dev-scheme/guile-commonmark[${GUILE_MULTI_USEDEP}]
+# ')
+# "
+# DEPEND="${RDEPEND}"
+# @CODE
+#
+# A program utilizing Guile for extension (GNU make, irrelevant pieces
+# elided):
+# @CODE
+# GUILE_COMPAT=( 1-8 2-0 2-2 3-0 )
+# inherit flag-o-matic unpacker verify-sig guile-single
+# # ...
+# REQUIRED_USE="guile? ( ${GUILE_REQUIRED_USE} )"
+# DEPEND="
+# guile? ( ${GUILE_DEPS} )
+# "
+#
+# src_prepare() {
+# # ...
+# if use guile; then
+# guile-single_src_prepare
+# fi
+# }
+#
+# pkg_setup() {
+# if use guile; then
+# guile-single_pkg_setup
+# fi
+# }
+#
+# src_configure() {
+# # ...
+# local myeconfargs=(
+# $(use_with guile)
+# )
+# econf "${myeconfargs[@]}"
+# }
+#
+# src_install() {
+# # ...
+# if use guile; then
+# guile_unstrip_ccache
+# fi
+# }
+# @CODE
+
+case "${EAPI}" in
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ ! "${_GUILE_SINGLE_ECLASS}" ]]; then
+_GUILE_SINGLE_ECLASS=1
+
+inherit guile-utils
+
+# @ECLASS_VARIABLE: GUILE_COMPAT
+# @REQUIRED
+# @PRE_INHERIT
+# @DESCRIPTION:
+# List of acceptable versions of Guile. For instance, setting this
+# variable like below will allow the package to be built against either
+# Guile 2.2 or 3.0:
+#
+# @CODE
+# GUILE_COMPAT=( 2-2 3-0 )
+# @CODE
+#
+# Please keep in ascending order.
+
+_guile_setup() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ # Inhibit generating the GUILE_USEDEP. This variable is not usable
+ # for single packages.
+ local GUILE_USEDEP
+ guile_generate_depstrings guile_single_target ^^
+}
+
+_guile_setup
+unset -f _guile_setup
+
+# @FUNCTION: guile_gen_cond_dep
+# @USAGE: <dependency> [<pattern>...]
+# @DESCRIPTION:
+# Takes a string that uses (quoted) ${GUILE_SINGLE_USEDEP} and
+# ${GUILE_MULTI_USEDEP} markers as placeholders for the correct USE
+# dependency strings for each compatible slot.
+#
+# If the pattern is provided, it is taken to be list of slots to
+# generate the dependency string for, otherwise, ${GUILE_COMPAT[@]} is
+# taken.
+#
+# @EXAMPLE:
+# Note that the "inner" dependency string is in single quotes!
+# @CODE
+# RDEPEND="
+# $(guile_gen_cond_dep '
+# dev-scheme/guile-zstd[${GUILE_MULTI_USEDEP}]
+# dev-scheme/guile-config[${GUILE_SINGLE_USEDEP}]
+# ')
+# "
+# @CODE
+guile_gen_cond_dep() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local deps="$1"
+ shift
+
+ local candidates=( "$@" )
+ if [[ ${#candidates[@]} -eq 0 ]]; then
+ candidates=( "${GUILE_COMPAT[@]}" )
+ fi
+
+ local candidate
+ for candidate in "${candidates[@]}"; do
+ local s="guile_single_target_${candidate}(-)" \
+ m="guile_targets_${candidate}(-)" \
+ subdeps=${deps//\$\{GUILE_SINGLE_USEDEP\}/${s}}
+ subdeps=${subdeps//\$\{GUILE_MULTI_USEDEP\}/${m}}
+ echo "
+ guile_single_target_${candidate}? (
+ ${subdeps}
+ )
+ "
+ done
+}
+
+# @FUNCTION: guile-single_pkg_setup
+# @DESCRIPTION:
+# Sets up the PKG_CONFIG_PATH with the appropriate GUILE_SINGLE_TARGET,
+# as well as setting up a guile-config and the GUILE, GUILD and
+# GUILESNARF environment variables. Also sets GUILE_EFFECTIVE_VERSION
+# to the same value as GUILE_SELECTED_TARGET, as build systems sometimes
+# check that variable.
+#
+# For details on the latter three, see guile_export.
+guile-single_pkg_setup() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ guile_set_common_vars
+
+ GUILE_SELECTED_TARGET=
+ for ver in "${GUILE_COMPAT[@]}"; do
+ debug-print "${FUNCNAME}: checking for ${ver}"
+ use "guile_single_target_${ver}" || continue
+ GUILE_SELECTED_TARGET="${ver/-/.}"
+ break
+ done
+
+ [[ ${GUILE_SELECTED_TARGET} ]] \
+ || die "No GUILE_SINGLE_TARGET specified."
+
+ export PKG_CONFIG_PATH
+ guile_filter_pkgconfig_path "${GUILE_SELECTED_TARGET}"
+ guile_create_temporary_config "${GUILE_SELECTED_TARGET}"
+ local -x GUILE_EFFECTIVE_VERSION="${GUILE_SELECTED_TARGET}"
+ guile_export GUILE GUILD GUILESNARF
+}
+
+# @FUNCTION: guile-single_src_prepare
+# @DESCRIPTION:
+# Runs the default prepare stage, and then bumps Guile sources via
+# guile_bump_sources.
+guile-single_src_prepare() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ default
+ guile_bump_sources
+}
+
+# @FUNCTION: guile-single_src_install
+# @DESCRIPTION:
+# Runs the default install stage, and then marks ccache files not to be
+# stripped using guile_unstrip_ccache.
+guile-single_src_install() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ default
+ guile_unstrip_ccache
+}
+
+EXPORT_FUNCTIONS pkg_setup src_prepare src_install
+
+fi # _GUILE_SINGLE_ECLASS
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-18 17:44 Arsen Arsenović
0 siblings, 0 replies; 6228+ messages in thread
From: Arsen Arsenović @ 2024-08-18 17:44 UTC (permalink / raw
To: gentoo-commits
commit: 92aece1db30a92b83126d8e13dff1ae816cff5b1
Author: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 9 13:03:35 2023 +0000
Commit: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
CommitDate: Sun Aug 18 17:43:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92aece1d
guile.eclass: new eclass, for guile multi-impl packages
Bug: https://bugs.gentoo.org/689408
Signed-off-by: Arsen Arsenović <arsen <AT> gentoo.org>
eclass/guile.eclass | 358 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 358 insertions(+)
diff --git a/eclass/guile.eclass b/eclass/guile.eclass
new file mode 100644
index 000000000000..d487d765e86a
--- /dev/null
+++ b/eclass/guile.eclass
@@ -0,0 +1,358 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: guile.eclass
+# @PROVIDES: guile-utils
+# @MAINTAINER:
+# Gentoo Scheme project <scheme@gentoo.org>
+# @AUTHOR:
+# Author: Arsen Arsenović <arsen@gentoo.org>
+# Inspired by prior work in the Gentoo Python ecosystem.
+# @SUPPORTED_EAPIS: 8
+# @BLURB: Utilities for packages multi-implementation Guile packages.
+# @DESCRIPTION:
+# This eclass facilitates building against many Guile implementations,
+# useful for Guile libraries. Each ebuild must set GUILE_COMPAT to a
+# list of versions they support, which will be intersected with
+# GUILE_TARGETS to pick which versions to install. The eclass will
+# generate a GUILE_DEPS based on the configured GUILE_COMPAT, as well as
+# a GUILE_REQUIRED_USE, that the user must use.
+#
+# If the user of the eclass needs some USE flag on Guile itself, they
+# should provide it via GUILE_REQ_USE.
+#
+# This ebuild provides multibuild functionality. Use guile_foreach_impl
+# to run a given command for each enabled Guile version. The command
+# provided will be ran in a modified environment, see the description of
+# that function for more details.
+#
+# This package provides some stage functions written assuming a
+# conventional GNU Build System-based Guile library and may or may not
+# work.
+#
+# For each Guile target, a Guile library should have at least compiled
+# .go files in the ccache or %site-ccache-dir. It must also have
+# corresponding sources installed in %site-dir.
+#
+# If your package has some steps that should only happen for one
+# implementation (e.g. installing a program), you can utilize
+# guile_for_best_impl.
+#
+# Due to http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112, Guile
+# packages ought to bump their sources before building. To this end,
+# the src_prepare this eclass provides will call guile_bump_sources of
+# the guile-utils eclass.
+#
+# When installing, the packages using this eclass ought to use
+# guile_foreach_impl and its SLOTTED_{,E}D, followed by merging roots
+# via guile_merge_roots and unstripping ccache objects via
+# guile_unstrip_ccache. See descriptions of those functions for
+# details.
+#
+# Ebuild authors, please pay attention for potential conflicts between
+# slots. As an example, dev-scheme/guile-lib installs a pkg-config file
+# that depends on the Guile version it is installed for. This is not
+# acceptable, as it means revdeps will only ever see the version of the
+# file for the best Guile implementation in GUILE_TARGETS.
+#
+# @EXAMPLE:
+# The following example demonstrates a simple package relying entirely
+# on the setup of this eclass. For each enabled, compatible target, the
+# ebuild will bump sources (see description), and run the default
+# configure, compile and test stages (per PMS, meaning GNU Build
+# System), and an install stage modified such that it installs each
+# variant into SLOTTED_D followed by merging roots and unstripping.
+#
+# @CODE
+# EAPI=8
+#
+# GUILE_COMPAT=( 2-2 3-0 )
+# inherit guile
+#
+# DESCRIPTION="iCalendar/vCard parser for GNU Guile"
+# HOMEPAGE="https://github.com/artyom-poptsov/guile-ics"
+# SRC_URI="https://github.com/artyom-poptsov/${PN}/releases/download/v${PV}/${P}.tar.gz"
+#
+# LICENSE="GPL-3+"
+# SLOT="0"
+# KEYWORDS="~amd64"
+# REQUIRED_USE="${GUILE_REQUIRED_USE}"
+#
+# RDEPEND="
+# ${GUILE_DEPS}
+# dev-scheme/guile-smc[${GUILE_USEDEP}]
+# "
+# DEPEND="${RDEPEND}"
+# @CODE
+
+case "${EAPI}" in
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ ! "${_GUILE_ECLASS}" ]]; then
+_GUILE_ECLASS=1
+
+inherit guile-utils multibuild
+
+# @ECLASS_VARIABLE: GUILE_USEDEP
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# USE dependency string that can be applied to Guile
+# multi-implementation dependencies.
+#
+# @EXAMPLE:
+# RDEPEND="
+# ${GUILE_DEPS}
+# dev-scheme/bytestructures[${GUILE_USEDEP}]
+# >=dev-libs/libgit2-1:=
+# "
+# DEPEND="${RDEPEND}"
+
+# @ECLASS_VARIABLE: GUILE_COMPAT
+# @REQUIRED
+# @PRE_INHERIT
+# @DESCRIPTION:
+# List of acceptable versions of Guile. For instance, setting this
+# variable like below will allow the package to be built against both
+# Guile 2.2 or 3.0:
+#
+# @CODE
+# GUILE_COMPAT=( 2-2 3-0 )
+# @CODE
+#
+# Please keep in ascending order.
+
+_guile_setup() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ guile_generate_depstrings guile_targets '||'
+}
+
+_guile_setup
+unset -f _guile_setup
+
+# @ECLASS_VARIABLE: GUILE_SELECTED_TARGETS
+# @INTERNAL
+# @DESCRIPTION:
+# Contains the intersection of GUILE_TARGETS and GUILE_COMPAT.
+# Generated in guile_pkg_setup.
+
+# @FUNCTION: guile_pkg_setup
+# @DESCRIPTION:
+# Sets up eclass-internal variables for this build.
+guile_pkg_setup() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ guile_set_common_vars
+ GUILE_SELECTED_TARGETS=()
+ for ver in "${GUILE_COMPAT[@]}"; do
+ debug-print "${FUNCNAME}: checking for ${ver}"
+ use "guile_targets_${ver}" || continue
+ GUILE_SELECTED_TARGETS+=("${ver/-/.}")
+ done
+ if [[ "${#GUILE_SELECTED_TARGETS[@]}" -eq 0 ]]; then
+ die "No GUILE_TARGETS specified."
+ fi
+}
+
+# @FUNCTION: guile_copy_sources
+# @DESCRIPTION:
+# Create a single copy of the package sources for each selected Guile
+# implementation.
+guile_copy_sources() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local MULTIBUILD_VARIANTS
+ MULTIBUILD_VARIANTS=("${GUILE_SELECTED_TARGETS[@]}")
+
+ multibuild_copy_sources
+}
+
+# @FUNCTION: _guile_multibuild_wrapper
+# @USAGE: <command> [<argv>...]
+# @INTERNAL
+# @DESCRIPTION:
+# Initialize the environment for a single build variant. See
+# guile_foreach_impl.
+_guile_multibuild_wrapper() {
+ local GUILE_CURRENT_VERSION="${MULTIBUILD_VARIANT}"
+ debug-print-function ${FUNCNAME} "${@}" "on ${MULTIBUILD_VARIANT}"
+
+ local -x PATH="${PATH}"
+ guile_create_temporary_config "${GUILE_CURRENT_VERSION}"
+ guile_export GUILE GUILD GUILESNARF
+
+ local -x PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ guile_filter_pkgconfig_path "${MULTIBUILD_VARIANT}"
+ local ECONF_SOURCE="${S}"
+ local -x SLOTTED_D="${T}/dests/image${MULTIBUILD_ID}"
+ local -x SLOTTED_ED="${SLOTTED_D}${EPREFIX}/"
+ local -x GUILE_EFFECTIVE_VERSION="${GUILE_CURRENT_VERSION}"
+ mkdir -p "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+ "$@"
+}
+
+# @VARIABLE: SLOTTED_D
+# @DESCRIPTION:
+# In functions ran by guile_foreach_impl, this variable is set to a new
+# ${D} value that the variant being installed should use.
+
+# @VARIABLE: SLOTTED_ED
+# @DESCRIPTION:
+# In functions ran by guile_foreach_impl, this variable is set to a new
+# ${ED} value that the variant being installed should use. It is
+# equivalent to "${SLOTTED_D%/}${EPREFIX}/".
+
+# @VARIABLE: ECONF_SOURCE
+# @DESCRIPTION:
+# In functions ran by guile_foreach_impl, this variable is set to ${S},
+# for convenience.
+
+# @VARIABLE: PKG_CONFIG_PATH
+# @DESCRIPTION:
+# In functions ran by guile_foreach_impl, PKG_CONFIG_PATH is filtered to
+# contain only the current ${MULTIBUILD_VARIANT}.
+
+# @VARIABLE: BUILD_DIR
+# @DESCRIPTION:
+# In functions ran by guile_foreach_impl, this variable is set to a
+# newly-generated build directory for this variant.
+
+# @FUNCTION: guile_foreach_impl
+# @USAGE: <command> [<argv>...]
+# @DESCRIPTION:
+# Runs the given command for each of the selected Guile implementations.
+#
+# The function will return 0 status if all invocations succeed.
+# Otherwise, the return code from first failing invocation will
+# be returned.
+#
+# Each invocation will have PKG_CONFIG_DIR altered to contain only one
+# Guile implementation, as well as a SLOTTED_D, SLOTTED_ED for
+# installation purposes, and a new BUILD_DIR, in which the wrapped
+# function will be executed, with a pre-configured ECONF_SOURCE. A
+# temporary program called 'guile-config' is generated and inserted into
+# the PATH.
+#
+# Also automatically exported are GUILE, GUILD, and GUILESNARF - see
+# guile_export for details - as well as GUILE_CURRENT_VERSION and
+# GUILE_EFFECTIVE_VERSION, which are set to the same value (the current
+# version).
+#
+# This combination should cover Guile detection of a large amount of
+# packages out of the box.
+guile_foreach_impl() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local MULTIBUILD_VARIANTS
+ MULTIBUILD_VARIANTS=("${GUILE_SELECTED_TARGETS[@]}")
+
+ debug-print "${FUNCNAME}: Running for each of:" \
+ "${GUILE_SELECTED_TARGETS[@]}"
+
+ multibuild_foreach_variant _guile_multibuild_wrapper "${@}"
+}
+
+# @FUNCTION: _guile_merge_single_root
+# @INTERNAL
+# @DESCRIPTION:
+# Runs a single merge_root step for guile_merge_roots.
+_guile_merge_single_root() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ multibuild_merge_root "${SLOTTED_D}" "${D}"
+}
+
+# @FUNCTION: guile_merge_roots
+# @DESCRIPTION:
+# Merges install roots from all slots, diagnosing conflicts.
+guile_merge_roots() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ guile_foreach_impl _guile_merge_single_root
+}
+
+# @FUNCTION: guile_for_best_impl
+# @DESCRIPTION:
+# Runs the passed command once, for the best installed Guile
+# implementation.
+guile_for_best_impl() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ multibuild_for_best_variant _guile_multibuild_wrapper "${@}"
+}
+
+# Default implementations for a GNU Build System based Guile package.
+
+# @FUNCTION: guile_src_prepare
+# @DESCRIPTION:
+# Bumps SCM sources runs the default src_prepare and bumps all *.scm
+# files. See guile_bump_sources of guile-utils.eclass.
+guile_src_prepare() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ default
+ guile_bump_sources
+}
+
+# @FUNCTION: guile_src_configure
+# @DESCRIPTION:
+# Runs the default src_configure for each selected variant target.
+guile_src_configure() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ guile_foreach_impl default
+}
+
+# @FUNCTION: guile_src_compile
+# @DESCRIPTION:
+# Runs the default src_compile for each selected variant target.
+guile_src_compile() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ guile_foreach_impl default
+}
+
+# @FUNCTION: guile_src_test
+# @DESCRIPTION:
+# Runs the default src_test phase for each implementation.
+guile_src_test() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ guile_foreach_impl default
+}
+
+# @FUNCTION: _guile_default_install_slot
+# @INTERNAL
+# @DESCRIPTION:
+# Imitates the default build system install "substep", but for a given
+# ${SLOTTED_D} rather than the usual ${D}. See guile_src_install.
+_guile_default_install_slot() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
+ emake DESTDIR="${SLOTTED_D}" install
+ fi
+}
+
+# @FUNCTION: guile_src_install
+# @DESCRIPTION:
+# Runs the an imitation of the default src_install that does the right
+# thing for a GNU Build System based Guile package, for each selected
+# variant target. Merges roots after completing the installs.
+guile_src_install() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ guile_foreach_impl _guile_default_install_slot
+ guile_merge_roots
+ guile_unstrip_ccache
+
+ einstalldocs
+}
+
+EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile \
+ src_install src_test
+
+fi # _GUILE_ECLASS
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-18 17:44 Arsen Arsenović
0 siblings, 0 replies; 6228+ messages in thread
From: Arsen Arsenović @ 2024-08-18 17:44 UTC (permalink / raw
To: gentoo-commits
commit: 944c392114cd791967cd722b7cd20a67b91f7165
Author: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 8 19:51:19 2023 +0000
Commit: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
CommitDate: Sun Aug 18 17:43:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=944c3921
guile-utils.eclass: new eclass, common code for guile packages
Bug: https://bugs.gentoo.org/689408
Signed-off-by: Arsen Arsenović <arsen <AT> gentoo.org>
eclass/guile-utils.eclass | 275 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 275 insertions(+)
diff --git a/eclass/guile-utils.eclass b/eclass/guile-utils.eclass
new file mode 100644
index 000000000000..3f122f63a36f
--- /dev/null
+++ b/eclass/guile-utils.eclass
@@ -0,0 +1,275 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: guile-utils.eclass
+# @MAINTAINER:
+# Gentoo Scheme project <scheme@gentoo.org>
+# @AUTHOR:
+# Author: Arsen Arsenović <arsen@gentoo.org>
+# Inspired by prior work in the Gentoo Python ecosystem.
+# @BLURB: Common code between GNU Guile-related eclasses and ebuilds.
+# @SUPPORTED_EAPIS: 8
+# @DESCRIPTION:
+# This eclass contains various bits of common code between
+# dev-scheme/guile, Guile multi-implementation ebuilds and Guile
+# single-implementation ebuilds.
+
+case "${EAPI}" in
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ ! "${_GUILE_UTILS_ECLASS}" ]]; then
+_GUILE_UTILS_ECLASS=1
+
+inherit toolchain-funcs
+
+BDEPEND="virtual/pkgconfig"
+
+# @ECLASS_VARIABLE: GUILE_COMPAT
+# @REQUIRED
+# @PRE_INHERIT
+# @DESCRIPTION:
+# List of acceptable versions of Guile. For instance, setting this
+# variable like below will allow the package to be built against either
+# Guile 2.2 or 3.0:
+#
+# @CODE
+# GUILE_COMPAT=( 2-2 3-0 )
+# @CODE
+#
+# Please keep in ascending order.
+
+# @FUNCTION: guile_check_compat
+# @DESCRIPTION:
+# Checks that GUILE_COMPAT is set to an array, and has no invalid
+# values.
+guile_check_compat() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ if ! [[ ${GUILE_COMPAT@a} == *a* ]]; then
+ die "GUILE_COMPAT not set to an array"
+ fi
+
+ if [[ ${#GUILE_COMPAT[@]} -eq 0 ]]; then
+ die "GUILE_COMPAT is empty"
+ fi
+}
+
+guile_check_compat
+
+# @ECLASS_VARIABLE: GUILE_REQ_USE
+# @PRE_INHERIT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Specifies a USE dependency string for all versions of Guile in
+# GUILE_COMPAT.
+#
+# @EXAMPLE:
+# GUILE_REQ_USE="deprecated"
+
+# @ECLASS_VARIABLE: GUILE_USEDEP
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# This variable is populated with a USE-dependency string which can be
+# used to depend on other Guile multi-implementation packages.
+# This variable is not usable from guile-single packages.
+
+# @ECLASS_VARIABLE: GUILE_DEPS
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# Contains the dependency string for the compatible Guile runtimes.
+
+# @FUNCTION: guile_set_common_vars
+# @DESCRIPTION:
+# Sets common variables that apply to all Guile packages, namely,
+# QA_PREBUILT.
+guile_set_common_vars() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ # These aren't strictly speaking prebuilt. but they do generated a
+ # nonstandard ELF object.
+ if [[ -z ${QA_PREBUILT} ]]; then
+ QA_PREBUILT="usr/$(get_libdir)/guile/*/site-ccache/*"
+ fi
+}
+
+# @FUNCTION: guile_filter_pkgconfig_path
+# @USAGE: <acceptable slots>...
+# @DESCRIPTION:
+# Alters ${PKG_CONFIG_PATH} such that it does not contain any Guile
+# slots besides the ones required by the caller.
+guile_filter_pkgconfig_path() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local filtered_path= unfiltered_path path
+ IFS=: read -ra unfiltered_path <<<"${PKG_CONFIG_PATH}"
+ debug-print "Unfiltered PKG_CONFIG_PATH:" "${unfiltered_path[@]}"
+ for p in "${unfiltered_path[@]}"; do
+ for v in "$@"; do
+ debug-print "... considering '${p}' for ${v}"
+ # Exclude non-selected versions.
+ [[ ${p} == */usr/share/guile-data/${v}/pkgconfig* ]] \
+ || continue
+ debug-print "... OK"
+
+ # Add separator, if some data already exists.
+ [[ "${filtered_path}" ]] && filtered_path+=:
+
+ filtered_path+="${p}"
+ break
+ done
+ done
+
+ debug-print "${FUNCNAME}: Constructed PKG_CONFIG_PATH: ${filtered_path}"
+ PKG_CONFIG_PATH="$filtered_path"
+}
+
+# @FUNCTION: guile_generate_depstrings
+# @USAGE: <prefix> <depop>
+# @DESCRIPTION:
+# Generates GUILE_REQUIRED_USE/GUILE_DEPS/GUILE_USEDEP based on
+# GUILE_COMPAT, and populates IUSE.
+guile_generate_depstrings() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ # Generate IUSE, REQUIRED_USE, GUILE_USEDEP
+ local prefix="$1" depop="$2"
+ GUILE_USEDEP=""
+ local ver uses=()
+ # TODO(arsen): enforce GUILE_COMPAT is in ascending order.
+ for ver in "${GUILE_COMPAT[@]}"; do
+ [[ -n ${GUILE_USEDEP} ]] && GUILE_USEDEP+=","
+ uses+=("${prefix}_${ver}")
+ GUILE_USEDEP+="${prefix}_${ver}"
+ done
+ GUILE_REQUIRED_USE="${depop} ( ${uses[@]} )"
+ IUSE="${uses[@]}"
+ debug-print "${FUNCNAME}: requse ${GUILE_REQUIRED_USE}"
+ debug-print "${FUNCNAME}: generated ${uses[*]}"
+ debug-print "${FUNCNAME}: iuse ${IUSE}"
+
+ # Generate GUILE_DEPS
+ local base_deps=()
+ local requse="${GUILE_REQ_USE+[}${GUILE_REQ_USE:-}${GUILE_REQ_USE+]}"
+ for ver in "${GUILE_COMPAT[@]}"; do
+ base_deps+="
+ ${prefix}_${ver}? (
+ dev-scheme/guile:${ver/-/.}${requse}
+ )
+ "
+ done
+ GUILE_DEPS="${base_deps[*]}"
+ debug-print "${FUNCNAME}: GUILE_DEPS=${GUILE_DEPS}"
+ debug-print "${FUNCNAME}: GUILE_USEDEP=${GUILE_USEDEP}"
+}
+
+# @FUNCTION: guile_unstrip_ccache
+# @DESCRIPTION:
+# Marks site-ccache files not to be stripped. Operates on ${D}.
+guile_unstrip_ccache() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local ccache
+ while read -r -d $'\0' ccache; do
+ debug-print "${FUNCNAME}: ccache found: ${ccache#.}"
+ dostrip -x "${ccache#.}"
+ done < <(cd "${ED}" || die; \
+ find . \
+ -name '*.go' \
+ -path "*/usr/$(get_libdir)/guile/*/site-ccache/*" \
+ -print0 || die) || die
+}
+
+# @FUNCTION: guile_export
+# @USAGE: [GUILE|GUILD|GUILE_SITECCACHEDIR|GUILE_SITEDIR]...
+# @DESCRIPTION:
+# Exports a given variable for the selected Guile variant.
+#
+# Supported variables are:
+#
+# - GUILE - Path to the guile executable,
+# - GUILD - Path to the guild executable,
+# - GUILESNARF - Path to the guile-snarf executable
+# - GUILECONFIG - Path to the guile-config executable
+# - GUILE_SITECCACHEDIR - Path to the site-ccache directory,
+# - GUILE_SITEDIR - Path to the site Scheme directory
+guile_export() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local gver
+ if [[ "${GUILE_CURRENT_VERSION}" ]]; then
+ gver="${GUILE_CURRENT_VERSION}"
+ elif [[ "${GUILE_SELECTED_TARGET}" ]]; then
+ gver="${GUILE_SELECTED_TARGET}"
+ else
+ die "Calling guile_export outside of a Guile build context?"
+ fi
+
+ _guile_pcvar() {
+ local tip="Did you source /etc/profile after an update?"
+ $(tc-getPKG_CONFIG) --variable="$1" guile-"${gver}" \
+ || die "Could not get $1 out of guile-${gver}. ${tip}"
+ }
+
+ for var; do
+ case "${var}" in
+ GUILE) export GUILE="$(_guile_pcvar guile)" ;;
+ GUILD) export GUILD="$(_guile_pcvar guild)" ;;
+ GUILESNARF)
+ GUILESNARF="${EPREFIX}/usr/bin/guile-snarf-${gver}"
+ export GUILESNARF
+ ;;
+ GUILECONFIG)
+ GUILECONFIG="${EPREFIX}/usr/bin/guile-config-${gver}"
+ export GUILECONFIG
+ ;;
+ GUILE_SITECCACHEDIR)
+ GUILE_SITECCACHEDIR="$(_guile_pcvar siteccachedir)"
+ export GUILE_SITECCACHEDIR
+ ;;
+ GUILE_SITEDIR)
+ export GUILE_SITEDIR="$(_guile_pcvar sitedir)"
+ ;;
+ *) die "Unknown variable '${var}'" ;;
+ esac
+ done
+}
+
+# @FUNCTION: guile_create_temporary_config
+# @USAGE: <version>
+# @DESCRIPTION:
+# Creates a guile-config executable for a given Guile version, and
+# inserts it into path.
+guile_create_temporary_config() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ [[ ${1} ]] || die "Must specify a Guile version"
+
+ local cdir="${T}/guiles/${1}/"
+ mkdir -p "${cdir}" || die
+
+ pushd "${cdir}" >/dev/null 2>&1 || die
+ cat >guile-config <<-EOF
+ #!/bin/sh
+ exec guile-config-${1} "\${@}"
+ EOF
+ chmod +x guile-config
+ popd >/dev/null 2>&1 || die
+ PATH="${cdir}:${PATH}"
+}
+
+# @FUNCTION: guile_bump_sources
+# @DESCRIPTION:
+# Searches over ${S} for .scm files and bumps them to avoid Guile using
+# the system ccache while trying to build packages.
+#
+# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38112
+guile_bump_sources() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ einfo "bumping *.scm source files..."
+ find "${S}" -name "*.scm" -exec touch {} + || die
+}
+
+fi # _GUILE_UTILS_ECLASS
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-16 17:21 UTC (permalink / raw
To: gentoo-commits
commit: 67d76384107dd15f3fa74e4773882fd581c81e40
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 21 04:05:31 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 16 17:21:18 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67d76384
toolchain-funcs.eclass: add tc-ld-is-mold
For completeness.
Bug: https://bugs.gentoo.org/877539
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 121280a7f11f..d54175cf992f 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -548,6 +548,40 @@ tc-ld-is-lld() {
return 1
}
+
+# @FUNCTION: tc-ld-is-mold
+# @USAGE: [toolchain prefix]
+# @DESCRIPTION:
+# Return true if the current linker is set to mold.
+tc-ld-is-mold() {
+ local out
+
+ # Ensure ld output is in English.
+ local -x LC_ALL=C
+
+ # First check the linker directly.
+ out=$($(tc-getLD "$@") --version 2>&1)
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # Then see if they're selecting mold via compiler flags.
+ # Note: We're assuming they're using LDFLAGS to hold the
+ # options and not CFLAGS/CXXFLAGS.
+ local base="${T}/test-tc-mold"
+ cat <<-EOF > "${base}.c"
+ int main(void) { return 0; }
+ EOF
+ out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+ rm -f "${base}"*
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # No mold here!
+ return 1
+}
+
# @FUNCTION: tc-ld-disable-gold
# @USAGE: [toolchain prefix]
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-16 17:21 UTC (permalink / raw
To: gentoo-commits
commit: 2d141fdf8928615cb394cc7da03c2299a69c612e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 21 04:02:47 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 16 17:21:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d141fdf
toolchain-funcs.eclass: fix tc-ld-force-bfd returning early for unknown linkers
For say, mold, until now tc-ld-force-bfd actually didn't work, because
it bailed early if not lld and not gold (assuming the linker was therefore bfd).
Closes: https://bugs.gentoo.org/877539
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index d54175cf992f..da8c24257ae0 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -594,11 +594,10 @@ tc-ld-disable-gold() {
# @FUNCTION: tc-ld-force-bfd
# @USAGE: [toolchain prefix]
# @DESCRIPTION:
-# If the gold or lld linker is currently selected, configure the compilation
+# If a linker other than bfd is currently selected, configure the compilation
# settings so that we use the bfd linker instead.
tc-ld-force-bfd() {
- if ! tc-ld-is-gold "$@" && ! tc-ld-is-lld "$@" ; then
- # They aren't using gold or lld, so nothing to do!
+ if tc-ld-is-bfd "$@" ; then
return
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-16 17:21 UTC (permalink / raw
To: gentoo-commits
commit: 2283662d49266d652f171cd6b75798166a86335b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 21 03:59:08 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 16 17:21:18 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2283662d
toolchain-funcs.eclass: add tc-ld-is-bfd
This matches tc-ld-is-gold and tc-ld-is-lld.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 50eb310b4bf1..121280a7f11f 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -447,6 +447,41 @@ econf_build() {
tc-env_build econf_env "$@"
}
+# @FUNCTION: tc-ld-is-bfd
+# @USAGE: [toolchain prefix]
+# @DESCRIPTION:
+# Return true if the current linker is set to GNU bfd.
+tc-ld-is-bfd() {
+ local out
+
+ # Ensure ld output is in English.
+ local -x LC_ALL=C
+
+ # First check the linker directly.
+ out=$($(tc-getLD "$@") --version 2>&1)
+ if [[ ${out} != "GNU ld"* ]] ; then
+ return 1
+ fi
+
+ # Then see if they're selecting bfd via compiler flags.
+ # Note: We're assuming they're using LDFLAGS to hold the
+ # options and not CFLAGS/CXXFLAGS.
+ local base="${T}/test-tc-bfd"
+ cat <<-EOF > "${base}.c"
+ int main(void) { return 0; }
+ EOF
+ out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+ rm -f "${base}"*
+ if [[ ${out} != "GNU ld"* ]] ; then
+ return 1
+ fi
+
+ # It's bfd!
+ # We use positive logic here unlike tc-ld-is-gold and tc-ld-is-mold
+ # because LD might be bfd even if *FLAGS isn't.
+ return 0
+}
+
# @FUNCTION: tc-ld-is-gold
# @USAGE: [toolchain prefix]
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-16 17:21 UTC (permalink / raw
To: gentoo-commits
commit: 3c2c0e0c0e7630ff0df17728f40116a95c1f52d4
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 16 16:18:39 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 16 17:21:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c2c0e0c
toolchain-funcs.eclass: use generic filename for linker test
At https://github.com/gentoo/gentoo/pull/28355#discussion_r1089883885, juippis
points out that for mold, the test might be confused. Let's consistently
use 'linker' instead.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 2d65c3fdc146..563eb5e191cf 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -466,7 +466,7 @@ tc-ld-is-bfd() {
# Then see if they're selecting bfd via compiler flags.
# Note: We're assuming they're using LDFLAGS to hold the
# options and not CFLAGS/CXXFLAGS.
- local base="${T}/test-tc-bfd"
+ local base="${T}/test-tc-linker"
cat <<-EOF > "${base}.c"
int main(void) { return 0; }
EOF
@@ -501,7 +501,7 @@ tc-ld-is-gold() {
# Then see if they're selecting gold via compiler flags.
# Note: We're assuming they're using LDFLAGS to hold the
# options and not CFLAGS/CXXFLAGS.
- local base="${T}/test-tc-gold"
+ local base="${T}/test-tc-linker"
cat <<-EOF > "${base}.c"
int main(void) { return 0; }
EOF
@@ -534,7 +534,7 @@ tc-ld-is-lld() {
# Then see if they're selecting lld via compiler flags.
# Note: We're assuming they're using LDFLAGS to hold the
# options and not CFLAGS/CXXFLAGS.
- local base="${T}/test-tc-lld"
+ local base="${T}/test-tc-linker"
cat <<-EOF > "${base}.c"
int main(void) { return 0; }
EOF
@@ -568,7 +568,7 @@ tc-ld-is-mold() {
# Then see if they're selecting mold via compiler flags.
# Note: We're assuming they're using LDFLAGS to hold the
# options and not CFLAGS/CXXFLAGS.
- local base="${T}/test-tc-mold"
+ local base="${T}/test-tc-linker"
cat <<-EOF > "${base}.c"
int main(void) { return 0; }
EOF
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-16 17:21 UTC (permalink / raw
To: gentoo-commits
commit: 87168789d59316975dc42b65a198babfbe816192
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 16 17:01:32 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 16 17:21:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87168789
toolchain-funcs.eclass: _tc-has-openmp: tweak style a bit
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 563eb5e191cf..5c15f4fb93a1 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -632,8 +632,9 @@ _tc-has-openmp() {
int nthreads, tid, ret = 0;
#pragma omp parallel private(nthreads, tid)
{
- tid = omp_get_thread_num();
- nthreads = omp_get_num_threads(); ret += tid + nthreads;
+ tid = omp_get_thread_num();
+ nthreads = omp_get_num_threads();
+ ret += tid + nthreads;
}
return ret;
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-16 17:21 UTC (permalink / raw
To: gentoo-commits
commit: 20aa5cad2e8e11708e33fb679e760859cf808114
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 21 04:18:44 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 16 17:21:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=20aa5cad
toolchain-funcs.eclass: refine tc-ld-force-bfd description
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index da8c24257ae0..61170de616d7 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -595,7 +595,9 @@ tc-ld-disable-gold() {
# @USAGE: [toolchain prefix]
# @DESCRIPTION:
# If a linker other than bfd is currently selected, configure the compilation
-# settings so that we use the bfd linker instead.
+# settings so that we use the bfd linker instead. This function should not
+# be used for simple underlinking problems. This function is intended for use
+# when a package is fragile and/or relies on bfd internals.
tc-ld-force-bfd() {
if tc-ld-is-bfd "$@" ; then
return
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-16 17:21 UTC (permalink / raw
To: gentoo-commits
commit: 83344561685a21cf36b2349b94f3a579537a506d
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 16 16:42:19 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 16 17:21:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83344561
toolchain-funcs.eclass: tc-ld-force-bfd: mangle CFLAGS, CXXFLAGS too
This is kind of related to what Ionen mentioned at https://github.com/gentoo/gentoo/pull/28355#discussion_r1033001927
but a bit different.
Makefile rules are inconsistent, as are users, and -fuse-ld= might appear
in C{,XX}FLAGS, not just LDFLAGS.
Append -fuse-ld=bfd there too if asked to force bfd. This might
cause problems with Clang because the argument is unused. See the
mess in ddba1d149e82dba88b72f992729ad4158f640e32.
Not having flag-o-matic here makes things a bit awkward. Let's try
the naive approach first because it seemed OK for me with Clang
with a quick test.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 5c15f4fb93a1..bc1fb064fc45 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -615,6 +615,8 @@ tc-ld-force-bfd() {
# Set up LDFLAGS to select bfd based on the gcc / clang version.
if tc-is-gcc || tc-is-clang ; then
+ export CFLAGS="${CFLAGS} -fuse-ld=bfd"
+ export CXXFLAGS="${CXXFLAGS} -fuse-ld=bfd"
export LDFLAGS="${LDFLAGS} -fuse-ld=bfd"
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-16 17:21 UTC (permalink / raw
To: gentoo-commits
commit: 65060aed1078b800684e8d39f2dcfac6acd7cf99
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 21 04:13:01 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 16 17:21:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65060aed
toolchain-funcs.eclass: mark tc-ld-disable-gold as deprecated
I don't think this function makes sense in a world with lld and mold.
If there's a bug causing someone to reach for tc-ld-disable-gold,
it falls into one of the following:
1. there's bfdisms (like wine where there's no hope)
=> tc-ld-force-bfd is the correct solution
2. it's a generic problem like underlinking
=> patch the package please, but in extremis or as a temporary workaround,
tc-ld-force-bfd could be used (but discouraged in this situation)
3. it's a gold bug (i.e. the package is definitely only broken with gold)
=> report the issue upstream or force bfd if the package is truly
doing something a bit unusual ("the wine case"), but really, given
gold seems to be rotting away, it doesn't appear likely any bugs
would get fixed & users shouldn't be enabling it.
I also think tc-ld-disable-gold has been used hastily in the past
for cases like 2, so let's discourage that in deprecating this as well.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 61170de616d7..2d65c3fdc146 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -584,6 +584,7 @@ tc-ld-is-mold() {
# @FUNCTION: tc-ld-disable-gold
# @USAGE: [toolchain prefix]
+# @DEPRECATED: tc-ld-force-bfd
# @DESCRIPTION:
# If the gold linker is currently selected, configure the compilation
# settings so that we use the older bfd linker instead.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 10:15 Arthur Zamarin
0 siblings, 0 replies; 6228+ messages in thread
From: Arthur Zamarin @ 2024-08-16 10:15 UTC (permalink / raw
To: gentoo-commits
commit: 99889ce76e1f6ed0ec5cb4e3db3a09dce8de1f05
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 16 10:04:42 2024 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 16 10:14:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99889ce7
rust-toolchain.eclass: transform sparc64 rust_abi
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
eclass/rust-toolchain.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/rust-toolchain.eclass b/eclass/rust-toolchain.eclass
index 6ad5c811f6c0..89bca88b9e6b 100644
--- a/eclass/rust-toolchain.eclass
+++ b/eclass/rust-toolchain.eclass
@@ -51,6 +51,7 @@ rust_abi() {
riscv64*gnu) echo riscv64gc-unknown-linux-gnu;;
riscv64*musl) echo riscv64gc-unknown-linux-musl;;
s390x*) echo s390x-unknown-linux-gnu;;
+ sparc64*gnu) echo sparc64-unknown-linux-gnu;;
x86_64*gnu) echo x86_64-unknown-linux-gnu;;
x86_64*musl) echo x86_64-unknown-linux-musl;;
*) echo ${CTARGET};;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 5:55 Arthur Zamarin
0 siblings, 0 replies; 6228+ messages in thread
From: Arthur Zamarin @ 2024-08-16 5:55 UTC (permalink / raw
To: gentoo-commits
commit: 1533b604e787b2dfdced75dd5b92b50755f54fb7
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 15 17:56:32 2024 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 16 05:55:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1533b604
rust-toolchain.eclass: hide glibc bins behind elibc_glibc?
I'm starting to add various bootstrap binaries for musl, so might as
well protect all downloads of glibc only behind "elibc_glibc?" to be
safe just in case.
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
eclass/rust-toolchain.eclass | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/eclass/rust-toolchain.eclass b/eclass/rust-toolchain.eclass
index 469479b849b3..6ad5c811f6c0 100644
--- a/eclass/rust-toolchain.eclass
+++ b/eclass/rust-toolchain.eclass
@@ -91,29 +91,27 @@ rust_arch_uri() {
rust_all_arch_uris()
{
echo "
- abi_x86_32? ( $(rust_arch_uri i686-unknown-linux-gnu "$@") )
+ abi_x86_32? ( elibc_glibc? ( $(rust_arch_uri i686-unknown-linux-gnu "$@") ) )
abi_x86_64? (
elibc_glibc? ( $(rust_arch_uri x86_64-unknown-linux-gnu "$@") )
elibc_musl? ( $(rust_arch_uri x86_64-unknown-linux-musl "$@") )
)
- arm? (
+ arm? ( elibc_glibc? (
$(rust_arch_uri arm-unknown-linux-gnueabi "$@")
$(rust_arch_uri arm-unknown-linux-gnueabihf "$@")
$(rust_arch_uri armv7-unknown-linux-gnueabihf "$@")
- )
+ ) )
arm64? (
elibc_glibc? ( $(rust_arch_uri aarch64-unknown-linux-gnu "$@") )
elibc_musl? ( $(rust_arch_uri aarch64-unknown-linux-musl "$@") )
)
- ppc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "$@") )
+ ppc? ( elibc_glibc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "$@") ) )
ppc64? (
- big-endian? ( $(rust_arch_uri powerpc64-unknown-linux-gnu "$@") )
- !big-endian? ( $(rust_arch_uri powerpc64le-unknown-linux-gnu "$@") )
- )
- riscv? (
- elibc_glibc? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "$@") )
+ big-endian? ( elibc_glibc? ( $(rust_arch_uri powerpc64-unknown-linux-gnu "$@") ) )
+ !big-endian? ( elibc_glibc? ( $(rust_arch_uri powerpc64le-unknown-linux-gnu "$@") ) )
)
- s390? ( $(rust_arch_uri s390x-unknown-linux-gnu "$@") )
+ riscv? ( elibc_glibc? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "$@") ) )
+ s390? ( elibc_glibc? ( $(rust_arch_uri s390x-unknown-linux-gnu "$@") ) )
"
# Upstream did not gain support for loong until v1.71.0.
@@ -122,7 +120,7 @@ rust_all_arch_uris()
local arg_version="${1##*-}"
arg_version="${arg_version:-$PV}"
if ver_test "${arg_version}" -ge 1.71.0; then
- echo "loong? ( $(rust_arch_uri loongarch64-unknown-linux-gnu "$@") )"
+ echo "loong? ( elibc_glibc? ( $(rust_arch_uri loongarch64-unknown-linux-gnu "$@") ) )"
fi
# until https://github.com/rust-lang/rust/pull/113274 is resolved, there
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 21:24 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-15 21:24 UTC (permalink / raw
To: gentoo-commits
commit: 1f754863ff91dc4dca11e6a5217ffd449f39c74c
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 15 21:23:22 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 21:24:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f754863
go-env.eclass: improve debug workaround
Use what Ionen did in x11-terms/kitty to avoid touching flags for
non-Go parts of the build.
Bug: https://bugs.gentoo.org/847991
Bug: https://bugs.gentoo.org/924436
Bug: https://bugs.gentoo.org/924496
Bug: https://bugs.gentoo.org/929219
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/go-env.eclass | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index a4394161cb0b..11fdf943e774 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -42,16 +42,20 @@ go-env_set_compile_environment() {
# XXX: Hack for checking ICE (bug #912152, gcc PR113204)
has_version -b "sys-devel/gcc[debug]" && filter-lto
- # bug #929219
- if tc-is-gcc ; then
- replace-flags -g3 -g
- replace-flags -ggdb3 -ggdb
- fi
-
export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
export CGO_CXXFLAGS="${CGO_CXXFLAGS:-$CXXFLAGS}"
export CGO_LDFLAGS="${CGO_LDFLAGS:-$LDFLAGS}"
+
+ # bug #929219
+ if tc-is-gcc ; then
+ CGO_CFLAGS=$(
+ CFLAGS=${CGO_CFLAGS}
+ replace-flags -g3 -g
+ replace-flags -ggdb3 -ggdb
+ printf %s "${CFLAGS}"
+ )
+ fi
}
# @FUNCTION: go-env_goos
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 21:18 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-15 21:18 UTC (permalink / raw
To: gentoo-commits
commit: 116f54058abd4fa4a5b3c16ee49a99df11883a45
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 15 21:13:28 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 21:18:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=116f5405
go-env.eclass: workaround debug info issues
Go can't handle some DWARF produced by GCC but nobody's been able
to produce a simple testcase for it, so add a workaround where we replace
-g3 with -g and -ggdb3 with -ggdb for GCC, like Ionen did in Kitty.
Bug: https://bugs.gentoo.org/847991
Bug: https://bugs.gentoo.org/924436
Bug: https://bugs.gentoo.org/924496
Closes: https://bugs.gentoo.org/929219
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/go-env.eclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index be131133113b..a4394161cb0b 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -42,6 +42,12 @@ go-env_set_compile_environment() {
# XXX: Hack for checking ICE (bug #912152, gcc PR113204)
has_version -b "sys-devel/gcc[debug]" && filter-lto
+ # bug #929219
+ if tc-is-gcc ; then
+ replace-flags -g3 -g
+ replace-flags -ggdb3 -ggdb
+ fi
+
export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
export CGO_CXXFLAGS="${CGO_CXXFLAGS:-$CXXFLAGS}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 20:01 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-15 20:01 UTC (permalink / raw
To: gentoo-commits
commit: 740d0c3619f76e9b3a7beffc47861d48ae826012
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 15 19:16:28 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 20:01:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=740d0c36
llvm.org.eclass: Add 20.0.0_pre20240815 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 d1c169264662..4b49d35a542b 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
+ 20.0.0_pre20240815)
+ EGIT_COMMIT=db8ef6188cbbe2125e6d60bdef77a535105772df
+ ;;
20.0.0_pre20240808)
EGIT_COMMIT=fd7d7882e7fa5a38d4bfde426120d4663718beb4
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-08-15 17:48 UTC (permalink / raw
To: gentoo-commits
commit: 5fc62d4f396d20ed67cf8455f447f2b9ee03ff4a
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 15 08:41:14 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 17:46:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fc62d4f
gear.kde.org.eclass: Add post-24.05 release SLOT=5 blocklist
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/gear.kde.org.eclass | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass
index c063ccc2d7c5..3f8126dd1c01 100644
--- a/eclass/gear.kde.org.eclass
+++ b/eclass/gear.kde.org.eclass
@@ -262,4 +262,28 @@ if $(ver_test -gt 24.04.75); then
esac
fi
+# list of applications ported to KF6 post-24.05 in SLOT=6 having to block SLOT=5
+if $(ver_test -gt 24.07.75); then
+ case ${PN} in
+ k3b | \
+ kde-dev-scripts | \
+ kdesdk-thumbnailers | \
+ kdevelop | \
+ kdevelop-php | \
+ kdevelop-python | \
+ kgraphviewer | \
+ kimagemapeditor | \
+ kmplot | \
+ kompare | \
+ krdc | \
+ libkomparediff2 | \
+ lokalize | \
+ massif-visualizer | \
+ poxml | \
+ skanlite)
+ RDEPEND+=" !${CATEGORY}/${PN}:5" ;;
+ *) ;;
+ esac
+fi
+
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-08-15 17:48 UTC (permalink / raw
To: gentoo-commits
commit: 0e7a553e92f53af7aaf509101ba347c54858b75c
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 15 08:23:53 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 17:46:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e7a553e
gear.kde.org.eclass: Cleanup >=24.01.75 SLOT 5 blocklist
Dropping kde-apps/kdegraphics-mobipocket, no file collision in the first place.
Dropping kde-apps/thumbnailers after it was turned into a metapackage.
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/gear.kde.org.eclass | 2 --
1 file changed, 2 deletions(-)
diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass
index e0d0a8640b5b..c063ccc2d7c5 100644
--- a/eclass/gear.kde.org.eclass
+++ b/eclass/gear.kde.org.eclass
@@ -132,7 +132,6 @@ if $(ver_test -gt 24.01.75); then
kde-dev-utils | \
kdebugsettings | \
kdeconnect | \
- kdegraphics-mobipocket | \
kdenetwork-filesharing | \
kdenlive | \
kdepim-addons | \
@@ -243,7 +242,6 @@ if $(ver_test -gt 24.01.75); then
spectacle | \
svgpart | \
sweeper | \
- thumbnailers | \
yakuake | \
zanshin)
RDEPEND+=" !${CATEGORY}/${PN}:5" ;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-08-15 17:48 UTC (permalink / raw
To: gentoo-commits
commit: 689be1a4afcc8222f7d10f822789d2e1676d0829
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 24 20:59:33 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 17:46:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=689be1a4
cmake.eclass: Set CMAKE_COMPILE_WARNING_AS_ERROR=OFF
Closes: https://bugs.gentoo.org/926121
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/cmake.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index db31320c339d..c98608d7b5bb 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -543,6 +543,7 @@ cmake_src_configure() {
set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "")
set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON CACHE BOOL "")
set(CMAKE_TLS_VERIFY ON CACHE BOOL "")
+ set(CMAKE_COMPILE_WARNING_AS_ERROR OFF CACHE BOOL "")
_EOF_
if [[ -n ${_ECM_ECLASS} ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-08-15 17:48 UTC (permalink / raw
To: gentoo-commits
commit: da715b976410cb437456272c921ccd4589b4fbe8
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 24 20:53:44 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 17:46:37 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da715b97
cmake.eclass: Set CMAKE_TLS_VERIFY=ON
Closes: https://bugs.gentoo.org/927160
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/cmake.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index b7852355b90b..db31320c339d 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -542,6 +542,7 @@ cmake_src_configure() {
set(BUILD_SHARED_LIBS ON CACHE BOOL "")
set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "")
set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON CACHE BOOL "")
+ set(CMAKE_TLS_VERIFY ON CACHE BOOL "")
_EOF_
if [[ -n ${_ECM_ECLASS} ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-08-15 17:48 UTC (permalink / raw
To: gentoo-commits
commit: 43ecd506f0393ce2cc5e2bb0c19961923ee35a6f
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 13 20:06:40 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 17:46:49 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43ecd506
cmake.eclass: If inherited from ecm.eclass, set ECM_DISABLE_APPSTREAMTEST
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/cmake.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index c98608d7b5bb..8d60116f7a93 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -547,7 +547,10 @@ cmake_src_configure() {
_EOF_
if [[ -n ${_ECM_ECLASS} ]]; then
- echo 'set(ECM_DISABLE_QMLPLUGINDUMP ON CACHE BOOL "")' >> "${common_config}" || die
+ cat >> ${common_config} <<- _EOF_ || die
+ set(ECM_DISABLE_QMLPLUGINDUMP ON CACHE BOOL "")
+ set(ECM_DISABLE_APPSTREAMTEST ON CACHE BOOL "")
+ _EOF_
fi
# See bug 689410
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-08-15 17:48 UTC (permalink / raw
To: gentoo-commits
commit: 60a395b82ac3d490ea94fea3721fac9b041e3cd0
Author: Nic Boet <nic <AT> boet <DOT> cc>
AuthorDate: Thu Feb 1 03:48:21 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 17:46:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60a395b8
cmake.eclass: bug 811486 escape find patterns
Modify cmake_src_prepare to qoute escape filenames
within the find search patterns
This resolves build issues with some EAPI 7 packages,
i.e. sys-fs/dislocker via catalyst
Bug: https://bugs.gentoo.org/811486
Signed-off-by: Nic Boet <nic <AT> boet.cc>
Closes: https://github.com/gentoo/gentoo/pull/35125
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index de43bd017768..b7852355b90b 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -388,7 +388,7 @@ cmake_src_prepare() {
local name
for name in "${modules_list[@]}" ; do
if [[ ${EAPI} == 7 ]]; then
- find "${S}" -name ${name}.cmake -exec rm -v {} + || die
+ find "${S}" -name "${name}.cmake" -exec rm -v {} + || die
else
find -name "${name}.cmake" -exec rm -v {} + || die
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-08-15 17:48 UTC (permalink / raw
To: gentoo-commits
commit: 882d006f2a945587d25fc5e5b8cc520febfe7e9f
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 13 20:39:06 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 17:46:50 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=882d006f
ecm.eclass: For kde.org projects, try to rename metainfo file real hard
- detect if we are inheriting kde.org.eclass
- detect if package name is not the same as upstream name (KDE_ORG_NAME)
- iterate through "${ED}"/usr/share/metainfo/
- if file contains KDE_ORG_NAME or similar, rename that to ${PN}${SLOT/0*/}
- otherwise, prepend "${PN}${SLOT/0*/}-" after ^org.kde.
Notably, this does not (yet?) trigger if a package ${PN} == ${KDE_ORG_NAME}
but different SLOTs. Should we just do that all the time?
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm.eclass | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 3d3b9328269d..c8731b8c0cff 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -649,6 +649,9 @@ ecm_src_test() {
# Wrapper for cmake_src_install. Drops executable bit from .desktop files
# installed inside /usr/share/applications. This is set by cmake when install()
# is called in PROGRAM form, as seen in many kde.org projects.
+# In case kde.org.eclass is detected, in case KDE_ORG_NAME != PN, tries real
+# hard to detect, then rename, metainfo.xml appdata files to something unique
+# including SLOT if else than "0" (basically KDE_ORG_NAME -> PN+SLOT).
ecm_src_install() {
debug-print-function ${FUNCNAME} "$@"
@@ -664,6 +667,33 @@ ecm_src_install() {
fi
done
fi
+
+ mv_metainfo() {
+ if [[ -f ${1} ]]; then
+ mv -v ${1} ${1/${2}/${3}} || die
+ fi
+ }
+
+ if [[ -n ${_KDE_ORG_ECLASS} && -d "${ED}"/usr/share/metainfo/ ]]; then
+ if [[ ${KDE_ORG_NAME} != ${PN} ]]; then
+ local ecm_metainfo
+ pushd "${ED}"/usr/share/metainfo/ > /dev/null || die
+ for ecm_metainfo in find * -type f -iname "*metainfo.xml"; do
+ case ${ecm_metainfo} in
+ *${KDE_ORG_NAME}*)
+ mv_metainfo ${ecm_metainfo} ${KDE_ORG_NAME} ${PN}${SLOT/0*/}
+ ;;
+ *${KDE_ORG_NAME/-/_}*)
+ mv_metainfo ${ecm_metainfo} ${KDE_ORG_NAME/-/_} ${PN}${SLOT/0*/}
+ ;;
+ org.kde.*)
+ mv_metainfo ${ecm_metainfo} "org.kde." "org.kde.${PN}${SLOT/0*/}-"
+ ;;
+ esac
+ done
+ popd > /dev/null || die
+ fi
+ fi
}
# @FUNCTION: ecm_pkg_preinst
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-08-15 17:48 UTC (permalink / raw
To: gentoo-commits
commit: 796a1fc61893f37aa9158ccb2ce4f038e1d1a4db
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 13 20:18:36 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 15 17:46:50 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=796a1fc6
cmake.eclass: If inherited from ecm.eclass, set ECM_DISABLE_GIT
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/cmake.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 8d60116f7a93..8079a5cb037b 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -550,6 +550,7 @@ cmake_src_configure() {
cat >> ${common_config} <<- _EOF_ || die
set(ECM_DISABLE_QMLPLUGINDUMP ON CACHE BOOL "")
set(ECM_DISABLE_APPSTREAMTEST ON CACHE BOOL "")
+ set(ECM_DISABLE_GIT ON CACHE BOOL "")
_EOF_
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12 19:02 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-08-12 19:02 UTC (permalink / raw
To: gentoo-commits
commit: bcc4c0d2300712a5af55a6f6a9cab0472f13d1bf
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 12 19:02:05 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Aug 12 19:02:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bcc4c0d2
bzr.eclass: Remove dead eclass
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/bzr.eclass | 258 ------------------------------------------------------
1 file changed, 258 deletions(-)
diff --git a/eclass/bzr.eclass b/eclass/bzr.eclass
deleted file mode 100644
index b442381dc668..000000000000
--- a/eclass/bzr.eclass
+++ /dev/null
@@ -1,258 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# @ECLASS: bzr.eclass
-# @MAINTAINER:
-# Ulrich Müller <ulm@gentoo.org>
-# @AUTHOR:
-# Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
-# Mark Lee <bzr-gentoo-overlay@lazymalevolence.com>
-# Ulrich Müller <ulm@gentoo.org>
-# Christian Faulhammer <fauli@gentoo.org>
-# @SUPPORTED_EAPIS: 7 8
-# @BLURB: generic fetching functions for the Bazaar VCS
-# @DESCRIPTION:
-# The bzr.eclass provides functions to fetch and unpack sources from
-# repositories of the Bazaar distributed version control system.
-# The eclass was originally derived from git.eclass.
-#
-# Note: Just set EBZR_REPO_URI to the URI of the branch and src_unpack()
-# of this eclass will export the branch to ${WORKDIR}/${P}.
-
-case ${EAPI} in
- 7|8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
-PROPERTIES+=" live"
-
-BDEPEND="dev-vcs/breezy"
-
-# @ECLASS_VARIABLE: EBZR_STORE_DIR
-# @USER_VARIABLE
-# @DESCRIPTION:
-# The directory to store all fetched Bazaar live sources.
-: "${EBZR_STORE_DIR:=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/bzr-src}"
-
-# @ECLASS_VARIABLE: EBZR_UNPACK_DIR
-# @DESCRIPTION:
-# The working directory where the sources are copied to.
-: "${EBZR_UNPACK_DIR:=${WORKDIR}/${P}}"
-
-# @ECLASS_VARIABLE: EBZR_INIT_REPO_CMD
-# @DESCRIPTION:
-# The Bazaar command to initialise a shared repository.
-: "${EBZR_INIT_REPO_CMD:="brz init-shared-repository --no-trees"}"
-
-# @ECLASS_VARIABLE: EBZR_FETCH_CMD
-# @DESCRIPTION:
-# The Bazaar command to fetch the sources.
-: "${EBZR_FETCH_CMD:="brz branch --no-tree"}"
-
-# @ECLASS_VARIABLE: EBZR_UPDATE_CMD
-# @DESCRIPTION:
-# The Bazaar command to update the sources.
-: "${EBZR_UPDATE_CMD:="brz pull --overwrite-tags"}"
-
-# @ECLASS_VARIABLE: EBZR_EXPORT_CMD
-# @DESCRIPTION:
-# The Bazaar command to export a branch.
-: "${EBZR_EXPORT_CMD:="brz export"}"
-
-# @ECLASS_VARIABLE: EBZR_CHECKOUT_CMD
-# @DESCRIPTION:
-# The Bazaar command to checkout a branch.
-: "${EBZR_CHECKOUT_CMD:="brz checkout --lightweight -q"}"
-
-# @ECLASS_VARIABLE: EBZR_REVNO_CMD
-# @DESCRIPTION:
-# The Bazaar command to list a revision number of the branch.
-: "${EBZR_REVNO_CMD:="brz revno"}"
-
-# @ECLASS_VARIABLE: EBZR_OPTIONS
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# The options passed to the fetch and update commands.
-
-# @ECLASS_VARIABLE: EBZR_REPO_URI
-# @DEFAULT_UNSET
-# @REQUIRED
-# @DESCRIPTION:
-# The repository URI for the source package.
-
-# @ECLASS_VARIABLE: EBZR_PROJECT
-# @DESCRIPTION:
-# The project name of your ebuild. Normally, the branch will be stored
-# in the ${EBZR_STORE_DIR}/${EBZR_PROJECT} directory.
-#
-# If EBZR_BRANCH is set (see below), then a shared repository will be
-# created in that directory, and the branch will be located in
-# ${EBZR_STORE_DIR}/${EBZR_PROJECT}/${EBZR_BRANCH}.
-: "${EBZR_PROJECT:=${PN}}"
-
-# @ECLASS_VARIABLE: EBZR_BRANCH
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# The directory where to store the branch within a shared repository,
-# relative to ${EBZR_STORE_DIR}/${EBZR_PROJECT}.
-#
-# This variable should be set if there are several live ebuilds for
-# different branches of the same upstream project. The branches can
-# then share the same repository in EBZR_PROJECT, which will save both
-# data traffic volume and disk space.
-#
-# If there is only a live ebuild for one single branch, EBZR_BRANCH
-# needs not be set. In this case, the branch will be stored in a
-# stand-alone repository directly in EBZR_PROJECT.
-
-# @ECLASS_VARIABLE: EBZR_REVISION
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# Revision to fetch, defaults to the latest (see brz help revisionspec).
-
-# @ECLASS_VARIABLE: EBZR_OFFLINE
-# @USER_VARIABLE
-# @DESCRIPTION:
-# Set this variable to a non-empty value to disable automatic updating
-# of a bzr source tree. This is intended to be set outside the ebuild
-# by users.
-: "${EBZR_OFFLINE=${EVCS_OFFLINE}}"
-
-# @ECLASS_VARIABLE: EVCS_UMASK
-# @USER_VARIABLE
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# Set this variable to a custom umask. This is intended to be set by
-# users. By setting this to something like 002, it can make life easier
-# for people who do development as non-root (but are in the portage
-# group), and then switch over to building with FEATURES=userpriv.
-# Or vice-versa. Shouldn't be a security issue here as anyone who has
-# portage group write access already can screw the system over in more
-# creative ways.
-
-# @ECLASS_VARIABLE: EBZR_WORKDIR_CHECKOUT
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# If this variable is set to a non-empty value, EBZR_CHECKOUT_CMD will
-# be used instead of EBZR_EXPORT_CMD to copy the sources to WORKDIR.
-
-# @FUNCTION: _bzr_initial_fetch
-# @USAGE: <repository URI> <branch directory>
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function, retrieves the source code from a repository for the
-# first time, using ${EBZR_FETCH_CMD}.
-_bzr_initial_fetch() {
- local repo_uri=$1 branch_dir=$2
-
- if [[ -n ${EBZR_OFFLINE} ]]; then
- die "EBZR_OFFLINE cannot be used when there is no local branch yet."
- fi
-
- # fetch branch
- einfo "bzr branch start -->"
- einfo " repository: ${repo_uri} => ${branch_dir}"
-
- ${EBZR_FETCH_CMD} ${EBZR_OPTIONS} "${repo_uri}" "${branch_dir}" \
- || die "${ECLASS}: can't branch from ${repo_uri}"
-}
-
-# @FUNCTION: _bzr_update
-# @USAGE: <repository URI> <branch directory>
-# @INTERNAL
-# @DESCRIPTION:
-# Internal function, updates the source code from a repository, using
-# ${EBZR_UPDATE_CMD}.
-_bzr_update() {
- local repo_uri=$1 branch_dir=$2
-
- if [[ -n ${EBZR_OFFLINE} ]]; then
- einfo "skipping bzr pull -->"
- einfo " repository: ${repo_uri}"
- else
- # update branch
- einfo "bzr pull start -->"
- einfo " repository: ${repo_uri}"
-
- pushd "${branch_dir}" > /dev/null \
- || die "${ECLASS}: can't chdir to ${branch_dir}"
- ${EBZR_UPDATE_CMD} ${EBZR_OPTIONS} "${repo_uri}" \
- || die "${ECLASS}: can't pull from ${repo_uri}"
- popd > /dev/null || die "${ECLASS}: popd failed"
- fi
-}
-
-# @FUNCTION: bzr_fetch
-# @DESCRIPTION:
-# Wrapper function to fetch sources from a Bazaar repository with
-# bzr branch or bzr pull, depending on whether there is an existing
-# working copy.
-bzr_fetch() {
- local repo_dir branch_dir save_umask
-
- [[ -n ${EBZR_REPO_URI} ]] || die "${ECLASS}: EBZR_REPO_URI is empty"
-
- if [[ ! -d ${EBZR_STORE_DIR} ]]; then
- (
- addwrite /
- mkdir -p "${EBZR_STORE_DIR}" \
- || die "${ECLASS}: can't mkdir ${EBZR_STORE_DIR}"
- )
- fi
-
- pushd "${EBZR_STORE_DIR}" > /dev/null \
- || die "${ECLASS}: can't chdir to ${EBZR_STORE_DIR}"
-
- repo_dir=${EBZR_STORE_DIR}/${EBZR_PROJECT}
- branch_dir=${repo_dir}${EBZR_BRANCH:+/${EBZR_BRANCH}}
-
- if [[ -n ${EVCS_UMASK} ]]; then
- save_umask=$(umask) || die
- umask "${EVCS_UMASK}" || die
- fi
- addwrite "${EBZR_STORE_DIR}"
-
- if [[ ! -d ${branch_dir}/.bzr ]]; then
- if [[ ${repo_dir} != "${branch_dir}" && ! -d ${repo_dir}/.bzr ]]; then
- einfo "creating shared bzr repository: ${repo_dir}"
- ${EBZR_INIT_REPO_CMD} "${repo_dir}" \
- || die "${ECLASS}: can't create shared repository"
- fi
- _bzr_initial_fetch "${EBZR_REPO_URI}" "${branch_dir}"
- else
- _bzr_update "${EBZR_REPO_URI}" "${branch_dir}"
- fi
-
- if [[ -n ${save_umask} ]]; then
- umask "${save_umask}" || die
- fi
-
- cd "${branch_dir}" || die "${ECLASS}: can't chdir to ${branch_dir}"
-
- # Save revision number in environment. #311101
- export EBZR_REVNO=$(${EBZR_REVNO_CMD})
-
- if [[ -n ${EBZR_WORKDIR_CHECKOUT} ]]; then
- einfo "checking out ..."
- ${EBZR_CHECKOUT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} \
- . "${EBZR_UNPACK_DIR}" || die "${ECLASS}: checkout failed"
- else
- einfo "exporting ..."
- ${EBZR_EXPORT_CMD} ${EBZR_REVISION:+-r ${EBZR_REVISION}} \
- "${EBZR_UNPACK_DIR}" . || die "${ECLASS}: export failed"
- fi
- einfo \
- "revision ${EBZR_REVISION:-${EBZR_REVNO}} is now in ${EBZR_UNPACK_DIR}"
-
- popd > /dev/null || die "${ECLASS}: popd failed"
-}
-
-# @FUNCTION: bzr_src_unpack
-# @DESCRIPTION:
-# Default src_unpack(), calls bzr_fetch.
-bzr_src_unpack() {
- bzr_fetch
-}
-
-EXPORT_FUNCTIONS src_unpack
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12 19:02 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-08-12 19:02 UTC (permalink / raw
To: gentoo-commits
commit: a2b06caae07eddf6ee4597f0dbe53a476a6005ce
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 12 19:01:57 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Aug 12 19:01:57 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2b06caa
ltprune.eclass: Remove dead eclass
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/ltprune.eclass | 177 --------------------------------------------------
1 file changed, 177 deletions(-)
diff --git a/eclass/ltprune.eclass b/eclass/ltprune.eclass
deleted file mode 100644
index 51f5aaabfea7..000000000000
--- a/eclass/ltprune.eclass
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# @ECLASS: ltprune.eclass
-# @MAINTAINER:
-# Michał Górny <mgorny@gentoo.org>
-# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6
-# @BLURB: Smart .la file pruning
-# @DEPRECATED: none
-# @DESCRIPTION:
-# A function to locate and remove unnecessary .la files.
-#
-# Discouraged. Whenever possible, please use much simpler:
-# @CODE
-# find "${ED}" -type f -name '*.la' -delete || die
-# @CODE
-
-if [[ -z ${_LTPRUNE_ECLASS} ]]; then
-
-case ${EAPI:-0} in
- 0|1|2|3|4|5|6)
- ;;
- *)
- die "${ECLASS}: banned in EAPI=${EAPI}; use 'find' instead";;
-esac
-
-inherit toolchain-funcs
-
-# @FUNCTION: prune_libtool_files
-# @USAGE: [--all|--modules]
-# @DESCRIPTION:
-# Locate unnecessary libtool files (.la) and libtool static archives
-# (.a) and remove them from installation image.
-#
-# By default, .la files are removed whenever the static linkage can
-# either be performed using pkg-config or doesn't introduce additional
-# flags.
-#
-# If '--modules' argument is passed, .la files for modules (plugins) are
-# removed as well. This is usually useful when the package installs
-# plugins and the plugin loader does not use .la files.
-#
-# If '--all' argument is passed, all .la files are removed without
-# performing any heuristic on them. You shouldn't ever use that,
-# and instead report a bug in the algorithm instead.
-#
-# The .a files are only removed whenever corresponding .la files state
-# that they should not be linked to, i.e. whenever these files
-# correspond to plugins.
-#
-# Note: if your package installs both static libraries and .pc files
-# which use variable substitution for -l flags, you need to add
-# pkg-config to your DEPEND.
-prune_libtool_files() {
- debug-print-function ${FUNCNAME} "$@"
-
- local removing_all removing_modules opt
- for opt; do
- case "${opt}" in
- --all)
- removing_all=1
- removing_modules=1
- ;;
- --modules)
- removing_modules=1
- ;;
- *)
- die "Invalid argument to ${FUNCNAME}(): ${opt}"
- esac
- done
-
- local f
- local queue=()
- while IFS= read -r -d '' f; do # for all .la files
- local archivefile=${f/%.la/.a}
-
- # The following check is done by libtool itself.
- # It helps us avoid removing random files which match '*.la',
- # see bug #468380.
- if ! sed -n -e '/^# Generated by .*libtool/q0;4q1' "${f}"; then
- continue
- fi
-
- [[ ${f} != ${archivefile} ]] || die 'regex sanity check failed'
- local reason= pkgconfig_scanned=
- local snotlink=$(sed -n -e 's:^shouldnotlink=::p' "${f}")
-
- if [[ ${snotlink} == yes ]]; then
-
- # Remove static libs we're not supposed to link against.
- if [[ -f ${archivefile} ]]; then
- einfo "Removing unnecessary ${archivefile#${D%/}} (static plugin)"
- queue+=( "${archivefile}" )
- fi
-
- # The .la file may be used by a module loader, so avoid removing it
- # unless explicitly requested.
- if [[ ${removing_modules} ]]; then
- reason='module'
- fi
-
- else
-
- # Remove .la files when:
- # - user explicitly wants us to remove all .la files,
- # - respective static archive doesn't exist,
- # - they are covered by a .pc file already,
- # - they don't provide any new information (no libs & no flags).
-
- if [[ ${removing_all} ]]; then
- reason='requested'
- elif [[ ! -f ${archivefile} ]]; then
- reason='no static archive'
- elif [[ ! $(sed -nre \
- "s/^(dependency_libs|inherited_linker_flags)='(.*)'$/\2/p" \
- "${f}") ]]; then
- reason='no libs & flags'
- else
- if [[ ! ${pkgconfig_scanned} ]]; then
- # Create a list of all .pc-covered libs.
- local pc_libs=()
- if [[ ! ${removing_all} ]]; then
- local pc
- local tf=${T}/prune-lt-files.pc
- local pkgconf=$(tc-getPKG_CONFIG)
-
- while IFS= read -r -d '' pc; do # for all .pc files
- local arg libs
-
- # Use pkg-config if available (and works),
- # fallback to sed.
- if ${pkgconf} --exists "${pc}" &>/dev/null; then
- sed -e '/^Requires:/d' "${pc}" > "${tf}"
- libs=$(${pkgconf} --libs "${tf}")
- else
- libs=$(sed -ne 's/^Libs://p' "${pc}")
- fi
-
- for arg in ${libs}; do
- if [[ ${arg} == -l* ]]; then
- if [[ ${arg} == '*$*' ]]; then
- eerror "${FUNCNAME}: variable substitution likely failed in ${pc}"
- eerror "(arg: ${arg})"
- eerror "Most likely, you need to add virtual/pkgconfig to DEPEND."
- die "${FUNCNAME}: unsubstituted variable found in .pc"
- fi
-
- pc_libs+=( lib${arg#-l}.la )
- fi
- done
- done < <(find "${D}" -type f -name '*.pc' -print0)
-
- rm -f "${tf}"
- fi
-
- pkgconfig_scanned=1
- fi # pkgconfig_scanned
-
- has "${f##*/}" "${pc_libs[@]}" && reason='covered by .pc'
- fi # removal due to .pc
-
- fi # shouldnotlink==no
-
- if [[ ${reason} ]]; then
- einfo "Removing unnecessary ${f#${D%/}} (${reason})"
- queue+=( "${f}" )
- fi
- done < <(find "${D}" -xtype f -name '*.la' -print0)
-
- if [[ ${queue[@]} ]]; then
- rm -f "${queue[@]}"
- fi
-}
-
-_LTPRUNE_ECLASS=1
-fi #_LTPRUNE_ECLASS
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12 1:19 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-12 1:19 UTC (permalink / raw
To: gentoo-commits
commit: eb9d324cb45589e287e6cce64f3110acccf1e47c
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 12 01:18:07 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 12 01:19:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb9d324c
toolchain.eclass: add TODO re flags for building deps in src_test
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 3cd3be676f9b..ac236f3127f9 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1969,6 +1969,9 @@ toolchain_src_test() {
#
# CFLAGS and so on are repeated here because of tests vs building test
# deps like libbacktrace.
+ #
+ # TODO: Should we try pass in the regular user flags for the non-RUNTESTFLAGS
+ # instances below for building e.g. libbacktrace?
nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" \
RUNTESTFLAGS=" \
${GCC_TESTS_RUNTESTFLAGS} \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12 1:19 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-12 1:19 UTC (permalink / raw
To: gentoo-commits
commit: 5ea011f3d6691b8093be519474d3303ea388f260
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 12 01:05:33 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 12 01:19:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ea011f3
toolchain.eclass: add comment re GCC_TEST_RUN_EXPENSIVE
Make clear it's not a typo as it comes from gcc's testsuite (could
look like an accidental 'TEST' instead of 'TESTS' like the eclassvars
we use for tests.)
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 984c37a3fa73..b2d4692bc2e1 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1920,6 +1920,8 @@ toolchain_src_test() {
local -x LD_PRELOAD=
# Controls running expensive tests in e.g. the torture testsuite.
+ # Note that 'TEST', not 'TESTS', is correct here as it's a GCC
+ # testsuite variable, not ours.
local -x GCC_TEST_RUN_EXPENSIVE=1
# Use a subshell to allow meddling with flags just for the testsuite
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12 1:19 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-12 1:19 UTC (permalink / raw
To: gentoo-commits
commit: efff53996be8ae20f332867358fd1a3af83a1ee2
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 12 01:10:10 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 12 01:19:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efff5399
toolchain.eclass: drop filter-flags from src_test
This no longer does anything after the previous commit to use
custom variables for flags for tests.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 326daf66586c..3cd3be676f9b 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1926,19 +1926,6 @@ toolchain_src_test() {
# Use a subshell to allow meddling with flags just for the testsuite
(
- # Unexpected warnings confuse the tests.
- filter-flags -W*
- # May break parsing.
- filter-flags '-fdiagnostics-color=*' '-fdiagnostics-urls=*'
- # Gentoo QA flags which don't belong in tests
- filter-flags -frecord-gcc-switches
- filter-flags '-Wl,--defsym=__gentoo_check_ldflags__=0'
- # Go doesn't support this and causes noisy warnings
- filter-flags -Wbuiltin-declaration-mismatch
- # The ASAN tests at least need LD_PRELOAD and the contract
- # tests.
- filter-flags -fno-semantic-interposition
-
# Workaround our -Wformat-security default which breaks
# various tests as it adds unexpected warning output.
GCC_TESTS_CFLAGS+=" -Wno-format-security -Wno-format"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12 1:19 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-12 1:19 UTC (permalink / raw
To: gentoo-commits
commit: 15ce82749db7922e462f900df9b7edbda37f152b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 12 01:06:45 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 12 01:19:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15ce8274
toolchain.eclass: don't pass user flags in src_test
This is obvious in hindsight. The flags we were passing *precisely because*
we wanted e.g. -Wno-format to be passed to every test also included
-O2 or whatever from the user's flags which breaks tests that may require
no optimisation and so on.
Instead of trying to filter out options in a whack-a-mole game, let's
introduce special GCC_TESTS_* *FLAGS variables which we append
the needed -Wno-* to (etc.) which users can also specify if they really want
or need to.
Note that this isn't as scary or as weird as it sounds. We were only
trying to jam these flags in **purely** to counteract some defaults
we set, these tests really aren't supposed to be run with arbitrary
flags stuck in, but a workaround we added started to introduce way
more than intended.
The torture tests are fine with being run with various optimisation flags
but the rest of the testesuite isn't.
This fixes 361c3758642891759b0ed60a8f96bc0776d19f15 and some of the
attempts afterwards, although not everything in those commits was bad.
Fixes: 361c3758642891759b0ed60a8f96bc0776d19f15
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 49 +++++++++++++++++++++++++++----------------------
1 file changed, 27 insertions(+), 22 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b2d4692bc2e1..326daf66586c 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1941,15 +1941,19 @@ toolchain_src_test() {
# Workaround our -Wformat-security default which breaks
# various tests as it adds unexpected warning output.
- append-flags -Wno-format-security -Wno-format
+ GCC_TESTS_CFLAGS+=" -Wno-format-security -Wno-format"
+ GCC_TESTS_CXXFLAGS+=" -Wno-format-security -Wno-format"
+
# Workaround our -Wtrampolines default which breaks
# tests too.
- append-flags -Wno-trampolines
+ GCC_TESTS_CFLAGS+=" -Wno-trampolines"
+ GCC_TESTS_CXXFLAGS+=" -Wno-trampolines"
# A handful of Ada (and objc++?) tests need an executable stack
- append-ldflags -Wl,--no-warn-execstack
+ GCC_TESTS_LDFLAGS+=" -Wl,--no-warn-execstack"
# Avoid confusing tests like Fortran/C interop ones where
# CFLAGS are used.
- append-flags -Wno-complain-wrong-lang
+ GCC_TESTS_CFLAGS+=" -Wno-complain-wrong-lang"
+ GCC_TESTS_CXXFLAGS+=" -Wno-complain-wrong-lang"
# Issues with Ada tests:
# gnat.dg/align_max.adb
@@ -1960,11 +1964,12 @@ toolchain_src_test() {
#
# TODO: This isn't ideal given it obv. affects codegen
# and we want to be sure it works.
- append-flags -fno-stack-clash-protection
+ GCC_TESTS_CFLAGS+=" -fno-stack-clash-protection"
+ GCC_TESTS_CXXFLAGS+=" -fno-stack-clash-protection"
# configure defaults to '-O2 -g' and some tests expect it
# accordingly.
- append-flags -g
+ GCC_TESTS_CFLAGS+=" -g"
# TODO: Does this handle s390 (-m31) correctly?
# TODO: What if there are multiple ABIs like x32 too?
@@ -1980,23 +1985,23 @@ toolchain_src_test() {
nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" \
RUNTESTFLAGS=" \
${GCC_TESTS_RUNTESTFLAGS} \
- CFLAGS_FOR_TARGET='${CFLAGS_FOR_TARGET:-${CFLAGS}}' \
- CXXFLAGS_FOR_TARGET='${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}' \
- LDFLAGS_FOR_TARGET='${LDFLAGS_FOR_TARGET:-${LDFLAGS}}' \
- CFLAGS='${CFLAGS}' \
- CXXFLAGS='${CXXFLAGS}' \
- FCFLAGS='${FCFLAGS}' \
- FFLAGS='${FFLAGS}' \
- LDFLAGS='${LDFLAGS}' \
+ CFLAGS_FOR_TARGET='${GCC_TESTS_CFLAGS_FOR_TARGET:-${GCC_TESTS_CFLAGS}}' \
+ CXXFLAGS_FOR_TARGET='${GCC_TESTS_CXXFLAGS_FOR_TARGET:-${GCC_TESTS_CXXFLAGS}}' \
+ LDFLAGS_FOR_TARGET='${TEST_LDFLAGS_FOR_TARGET:-${GCC_TESTS_LDFLAGS}}' \
+ CFLAGS='${GCC_TESTS_CFLAGS}' \
+ CXXFLAGS='${GCC_TESTS_CXXFLAGS}' \
+ FCFLAGS='${GCC_TESTS_FCFLAGS}' \
+ FFLAGS='${GCC_TESTS_FFLAGS}' \
+ LDFLAGS='${GCC_TESTS_LDFLAGS}' \
" \
- CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
- CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
- LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- FCFLAGS="${FCFLAGS}" \
- FFLAGS="${FFLAGS}" \
- LDFLAGS="${LDFLAGS}"
+ CFLAGS_FOR_TARGET="${GCC_TESTS_CFLAGS_FOR_TARGET:-${GCC_TESTS_CFLAGS}}" \
+ CXXFLAGS_FOR_TARGET="${GCC_TESTS_CXXFLAGS_FOR_TARGET:-${GCC_TESTS_CXXFLAGS}}" \
+ LDFLAGS_FOR_TARGET="${GCC_TESTS_LDFLAGS_FOR_TARGET:-${GCC_TESTS_LDFLAGS}}" \
+ CFLAGS="${GCC_TESTS_CFLAGS}" \
+ CXXFLAGS="${GCC_TESTS_CXXFLAGS}" \
+ FCFLAGS="${GCC_TESTS_FCFLAGS}" \
+ FFLAGS="${GCC_TESTS_FFLAGS}" \
+ LDFLAGS="${GCC_TESTS_LDFLAGS}"
)
# Produce an updated failure manifest.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-11 20:56 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-11 20:56 UTC (permalink / raw
To: gentoo-commits
commit: 1e38f02f41e79e1fb15b1d418f0a792ce22c390d
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 11 17:35:12 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Aug 11 20:53:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e38f02f
toolchain.eclass: style tweak
For consistency.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index bfb087146864..984c37a3fa73 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2049,7 +2049,7 @@ toolchain_src_test() {
eerror "GCC_TESTS_IGNORE_NO_BASELINE is set, ignoring test result and creating a new baseline..."
elif [[ -n ${GCC_TESTS_REGEN_BASELINE} ]] ; then
eerror "GCC_TESTS_REGEN_BASELINE is set, ignoring test result and creating using a new baseline..."
- elif [[ ${ret} != 0 ]]; then
+ elif [[ ${ret} != 0 ]] ; then
eerror "(Set GCC_TESTS_IGNORE_NO_BASELINE=1 to make this non-fatal and generate a baseline.)"
die "Tests failed (failures occurred with no reference data)"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-10 17:24 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-10 17:24 UTC (permalink / raw
To: gentoo-commits
commit: af10cf7228656d9d2cc886f1fac51d46fb33a17a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 10 17:23:03 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Aug 10 17:23:49 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af10cf72
toolchain.eclass: disable multilib tests for now
... until validate_failures.py can handle them properly, to avoid
trashing our test manifests.
Bug: https://gcc.gnu.org/PR116260
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 2acade8e4ca8..bfb087146864 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1966,7 +1966,9 @@ toolchain_src_test() {
# TODO: Does this handle s390 (-m31) correctly?
# TODO: What if there are multiple ABIs like x32 too?
- is_multilib && GCC_TESTS_RUNTESTFLAGS+=" --target_board=unix{,-m32}"
+ # XXX: Disabled until validate_failures.py can handle 'variants'
+ # XXX: https://gcc.gnu.org/PR116260
+ #is_multilib && GCC_TESTS_RUNTESTFLAGS+=" --target_board=unix{,-m32}"
# nonfatal here as we die if the comparison below fails. Also, note that
# the exit code of targets other than 'check' may be unreliable.
@@ -1996,7 +1998,6 @@ toolchain_src_test() {
)
# Produce an updated failure manifest.
- # XXX: Manifests aren't ideal w/ multilib because of https://gcc.gnu.org/PR116260
einfo "Generating a new failure manifest ${T}/${CHOST}.xfail"
rm -f "${T}"/${CHOST}.xfail
edo "${T}"/validate_failures.py \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-10 14:06 Fabian Groffen
0 siblings, 0 replies; 6228+ messages in thread
From: Fabian Groffen @ 2024-08-10 14:06 UTC (permalink / raw
To: gentoo-commits
commit: c7f5ca73ddfab78834c5bf240cb544e07a6d61ab
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 10 14:02:39 2024 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Aug 10 14:06:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7f5ca73
eclass/toolchain-funcs: add support for Prefix targets
- support Darwin
- support arm64 (Apple Silicon) Darwin
- skip gen_usr_ldscript on Prefix targets
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 9f0953c079e3..50eb310b4bf1 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -251,7 +251,7 @@ tc-detect-is-softfloat() {
case ${CTARGET:-${CHOST}} in
# Avoid autodetection for bare-metal targets. bug #666896
- *-newlib|*-elf|*-eabi)
+ *-newlib|*-elf|*-eabi|arm64-apple-darwin*)
return 1 ;;
# arm-unknown-linux-gnueabi is ambiguous. We used to treat it as
@@ -295,6 +295,8 @@ tc-tuple-is-softfloat() {
# bare-metal targets have their defaults. bug #666896
*-newlib|*-elf|*-eabi)
echo "no" ;;
+ arm64-apple-darwin*)
+ echo "no" ;;
arm*)
echo "yes" ;;
*)
@@ -626,7 +628,14 @@ tc-has-tls() {
-*) die "Usage: tc-has-tls [-c|-l] [toolchain prefix]";;
esac
- : "${flags:=-fPIC -shared -Wl,-z,defs}"
+ case "${CHOST}" in
+ *-darwin*)
+ # bug #612370
+ : ${flags:=-dynamiclib}
+ ;;
+ *)
+ : ${flags:=-fPIC -shared -Wl,-z,defs}
+ esac
[[ $1 == -* ]] && shift
$(tc-getCC "$@") ${flags} "${base}.c" -o "${base}" >&/dev/null
local ret=$?
@@ -645,6 +654,7 @@ tc-ninja_magic_to_arch() {
[[ -z ${host} ]] && host=${CTARGET:-${CHOST}}
case ${host} in
+ arm64*) echo arm64;;
aarch64*) echo arm64;;
alpha*) echo alpha;;
arc*) echo arc;;
@@ -1032,6 +1042,7 @@ gen_usr_ldscript() {
[[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/
tc-is-static-only && return
+ use prefix && return
# We only care about stuffing / for the native ABI, bug #479448
if [[ $(type -t multilib_is_native_abi) == "function" ]] ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-09 15:50 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-08-09 15:50 UTC (permalink / raw
To: gentoo-commits
commit: 5d6d7c6fbacf10a5fbb8d3ea1ab6ec2362ade6f9
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 9 15:46:39 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Aug 9 15:50:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d6d7c6f
kernel-install.eclass: run depmod after compressing modules
(de)compressing modules changes the path of the module files so we need to
run depmod to ensure that tools such as modprobe/modinfo work.
Note that depmod is often, but *not* always, run by sys-kernel/installkernel.
Systemd installs a hook to do this, but there is no equivalent on openrc
systems. So instead just ensure that the tree of modules we install is
consistent here in the eclass.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 496e258815d2..930640188c26 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -796,6 +796,9 @@ kernel-install_compress_modules() {
find "${ED}/lib/modules/${KV_FULL}" -name '*.ko' -print0 |
xargs -0 -P "$(makeopts_jobs)" -n 128 "${compress[@]}"
assert "Compressing kernel modules failed"
+
+ # Module paths have changed, run depmod
+ depmod --all --basedir "${ED}" ${KV_FULL} || die
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-09 14:30 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-09 14:30 UTC (permalink / raw
To: gentoo-commits
commit: c1d510a5f4fcd477e94fb429925321d65d3b80ed
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 9 14:29:43 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 9 14:29:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1d510a5
toolchain.eclass: tidy up src_test a bit more, another tweak
* Disable -fno-semantic-interposition for tests as ASAN + contract violation
checks rely on it
* Consolidate the appends vs. filters
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 89af435dfbf6..2acade8e4ca8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1926,23 +1926,25 @@ toolchain_src_test() {
(
# Unexpected warnings confuse the tests.
filter-flags -W*
-
# May break parsing.
filter-flags '-fdiagnostics-color=*' '-fdiagnostics-urls=*'
-
# Gentoo QA flags which don't belong in tests
filter-flags -frecord-gcc-switches
filter-flags '-Wl,--defsym=__gentoo_check_ldflags__=0'
+ # Go doesn't support this and causes noisy warnings
+ filter-flags -Wbuiltin-declaration-mismatch
+ # The ASAN tests at least need LD_PRELOAD and the contract
+ # tests.
+ filter-flags -fno-semantic-interposition
# Workaround our -Wformat-security default which breaks
# various tests as it adds unexpected warning output.
- # (Only for C/C++ here to avoid noise for Fortran.)
- append-cflags -Wno-format-security -Wno-format
- append-cxxflags -Wno-format-security -Wno-format
+ append-flags -Wno-format-security -Wno-format
# Workaround our -Wtrampolines default which breaks
# tests too.
append-flags -Wno-trampolines
-
+ # A handful of Ada (and objc++?) tests need an executable stack
+ append-ldflags -Wl,--no-warn-execstack
# Avoid confusing tests like Fortran/C interop ones where
# CFLAGS are used.
append-flags -Wno-complain-wrong-lang
@@ -1957,11 +1959,6 @@ toolchain_src_test() {
# TODO: This isn't ideal given it obv. affects codegen
# and we want to be sure it works.
append-flags -fno-stack-clash-protection
- # A handful of Ada (and objc++?) tests need an executable stack
- append-ldflags -Wl,--no-warn-execstack
-
- # Go doesn't support this and causes noisy warnings
- filter-flags -Wbuiltin-declaration-mismatch
# configure defaults to '-O2 -g' and some tests expect it
# accordingly.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-09 11:50 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-09 11:50 UTC (permalink / raw
To: gentoo-commits
commit: 7136d821f9c15695768bb9ecd0d62cf5ff824b6a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 9 11:49:35 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 9 11:49:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7136d821
Revert "toolchain.eclass: drop *_FOR_TARGET in src_test"
This reverts commit c87ab053be64e6c9f7b9e4ab1cca3099e37471f0.
I think I was wrong. Gah.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 1797fc59cf88..89af435dfbf6 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1979,12 +1979,18 @@ toolchain_src_test() {
nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" \
RUNTESTFLAGS=" \
${GCC_TESTS_RUNTESTFLAGS} \
+ CFLAGS_FOR_TARGET='${CFLAGS_FOR_TARGET:-${CFLAGS}}' \
+ CXXFLAGS_FOR_TARGET='${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}' \
+ LDFLAGS_FOR_TARGET='${LDFLAGS_FOR_TARGET:-${LDFLAGS}}' \
CFLAGS='${CFLAGS}' \
CXXFLAGS='${CXXFLAGS}' \
FCFLAGS='${FCFLAGS}' \
FFLAGS='${FFLAGS}' \
LDFLAGS='${LDFLAGS}' \
" \
+ CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
+ CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
+ LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
CFLAGS="${CFLAGS}" \
CXXFLAGS="${CXXFLAGS}" \
FCFLAGS="${FCFLAGS}" \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-09 11:39 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-09 11:39 UTC (permalink / raw
To: gentoo-commits
commit: c87ab053be64e6c9f7b9e4ab1cca3099e37471f0
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 9 11:37:17 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 9 11:38:00 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c87ab053
toolchain.eclass: drop *_FOR_TARGET in src_test
We seem to fail way more tests like the gcov ones for this, I guess
it overrides the flags it adds somehow.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 6 ------
1 file changed, 6 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 89af435dfbf6..1797fc59cf88 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1979,18 +1979,12 @@ toolchain_src_test() {
nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" \
RUNTESTFLAGS=" \
${GCC_TESTS_RUNTESTFLAGS} \
- CFLAGS_FOR_TARGET='${CFLAGS_FOR_TARGET:-${CFLAGS}}' \
- CXXFLAGS_FOR_TARGET='${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}' \
- LDFLAGS_FOR_TARGET='${LDFLAGS_FOR_TARGET:-${LDFLAGS}}' \
CFLAGS='${CFLAGS}' \
CXXFLAGS='${CXXFLAGS}' \
FCFLAGS='${FCFLAGS}' \
FFLAGS='${FFLAGS}' \
LDFLAGS='${LDFLAGS}' \
" \
- CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
- CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
- LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
CFLAGS="${CFLAGS}" \
CXXFLAGS="${CXXFLAGS}" \
FCFLAGS="${FCFLAGS}" \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 19:26 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-08 19:26 UTC (permalink / raw
To: gentoo-commits
commit: a37a72cc9bf07ef495fd17a60ff5005914eb2c09
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 8 18:59:53 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug 8 19:25:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a37a72cc
llvm.org.eclass: Add 20.0.0_pre20240808 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 d705947ce0d2..d1c169264662 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
+ 20.0.0_pre20240808)
+ EGIT_COMMIT=fd7d7882e7fa5a38d4bfde426120d4663718beb4
+ ;;
20.0.0_pre20240801)
EGIT_COMMIT=130c135689ec12ab78c53645808524a8d28f7cae
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 16:46 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-08-08 16:46 UTC (permalink / raw
To: gentoo-commits
commit: c75b6bf3c8b84eb3a674613cf054b54b053bbd7c
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 8 12:02:35 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Thu Aug 8 16:44:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c75b6bf3
(dist-)kernel-{install,utils}.eclass: fix finding config during cleanup
The source symlink does not exist on all systems.
If we can't find any config at all then there will be no preferred suffix
which means we fall back to the old '-nt' based cleaning.
Closes: https://bugs.gentoo.org/937569
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/38016
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/dist-kernel-utils.eclass | 18 +++++++++++++++---
eclass/kernel-install.eclass | 2 +-
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 0b0eb0ec8818..bb058d488a13 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -160,7 +160,7 @@ dist-kernel_PV_to_KV() {
}
# @FUNCTION: dist-kernel_get_module_suffix
-# @USAGE: <kernel_dir>
+# @USAGE: <kernel_config>
# @DESCRIPTION:
# Returns the suffix for kernel modules based on the CONFIG_MODULES_COMPESS_*
# setting in the kernel config and USE=modules-compress.
@@ -169,7 +169,7 @@ dist-kernel_get_module_suffix() {
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
- local config=${1}/.config
+ local config=${1}
if ! in_iuse modules-compress || ! use modules-compress; then
echo .ko
@@ -198,7 +198,19 @@ dist-kernel_compressed_module_cleanup() {
[[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments"
local path=${1}
- local preferred=$(dist-kernel_get_module_suffix "${path}/source")
+ local config_path=/usr/src/linux-${KV_FULL}/.config
+
+ local option
+ for option in config source/.config build/.config; do
+ if [[ -f ${path}/${option} ]]; then
+ config_path=${path}/${option}
+ break
+ fi
+ done
+
+ local preferred=
+ [[ -f ${config_path} ]] && preferred=$(dist-kernel_get_module_suffix "${config_path}")
+
local basename suffix
while read -r basename; do
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index c64dd673084b..496e258815d2 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -769,7 +769,7 @@ kernel-install_compress_modules() {
if [[ -z ${KV_FULL} ]]; then
KV_FULL=${PV}${KV_LOCALVERSION}
fi
- local suffix=$(dist-kernel_get_module_suffix "${ED}/usr/src/linux-${KV_FULL}")
+ local suffix=$(dist-kernel_get_module_suffix "${ED}/usr/src/linux-${KV_FULL}/.config")
local compress=()
# Options taken from linux-mod-r1.eclass.
# We don't instruct the compressor to parallelize because it applies
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 14:38 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-08-08 14:38 UTC (permalink / raw
To: gentoo-commits
commit: 5d7123c19965b4fee3ce79687cc15f251e998307
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 8 14:36:52 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Thu Aug 8 14:36:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d7123c1
cargo.eclass: Fix cargo_target_dir helper following recent changes
We used to only set the Rust target when cross-compiling, but now we do
it unconditionally, which changes the target directory.
Closes: https://bugs.gentoo.org/937574
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/cargo.eclass | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 6d4cf1b425eb..3a63e5027250 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -324,9 +324,7 @@ _cargo_gen_git_config() {
# Return the directory within target that contains the build, e.g.
# target/aarch64-unknown-linux-gnu/release.
cargo_target_dir() {
- local abi
- tc-is-cross-compiler && abi=/$(rust_abi)
- echo "${CARGO_TARGET_DIR:-target}${abi}/$(usex debug debug release)"
+ echo "${CARGO_TARGET_DIR:-target}/$(rust_abi)/$(usex debug debug release)"
}
# @FUNCTION: cargo_src_unpack
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 10:49 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-08 10:49 UTC (permalink / raw
To: gentoo-commits
commit: 7200aecb3db3b2dd91129e1530bcb75ce096af91
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 8 10:48:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 8 10:48:00 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7200aecb
toolchain.eclass: add -g for tests
I haven't looked closely yet but I think this is the same as the
binutils issue from before.
Bug: https://bugs.gentoo.org/934149
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 9bbe0cb7e0af..491eea823af2 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1956,6 +1956,10 @@ toolchain_src_test() {
# Go doesn't support this and causes noisy warnings
filter-flags -Wbuiltin-declaration-mismatch
+ # configure defaults to '-O2 -g' and some tests expect it
+ # accordingly.
+ append-flags -g
+
# TODO: Does this handle s390 (-m31) correctly?
is_multilib && GCC_TESTS_RUNTESTFLAGS+=" --target_board=unix{,-m32}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 10:30 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-08 10:30 UTC (permalink / raw
To: gentoo-commits
commit: ec6893633b15b218cddad2338eb43ffff36a1fe8
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 8 10:17:13 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 8 10:29:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec689363
toolchain.eclass: add note re (intended) duplication of CFLAGS et. al
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 86a29f5aacb8..37db6e0165f4 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1957,6 +1957,9 @@ toolchain_src_test() {
# nonfatal here as we die if the comparison below fails. Also, note that
# the exit code of targets other than 'check' may be unreliable.
+ #
+ # CFLAGS and so on are repeated here because of tests vs building test
+ # deps like libbacktrace.
nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" \
RUNTESTFLAGS=" \
${GCC_TESTS_RUNTESTFLAGS} \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 10:30 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-08 10:30 UTC (permalink / raw
To: gentoo-commits
commit: d4c98533530d9478391b0593fd84cf37ac9c97cb
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 8 10:17:24 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 8 10:29:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d4c98533
toolchain.eclass: try to silence remaining flag vs FE issues
This is the Fortran issue I mentioned in 6df977928704e77d2f672d3890ceadc8ba837ab5.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 37db6e0165f4..9bbe0cb7e0af 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1936,6 +1936,10 @@ toolchain_src_test() {
# tests too.
append-flags -Wno-trampolines
+ # Avoid confusing tests like Fortran/C interop ones where
+ # CFLAGS are used.
+ append-flags -Wno-complain-wrong-lang
+
# Issues with Ada tests:
# gnat.dg/align_max.adb
# gnat.dg/trampoline4.adb
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 10:05 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-08 10:05 UTC (permalink / raw
To: gentoo-commits
commit: 6df977928704e77d2f672d3890ceadc8ba837ab5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 8 10:04:02 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 8 10:05:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6df97792
toolchain.eclass: more src_test flag fixes
We ended up not running many tests because it got interpreted as '--Werror'
with the braces/splitting (e.g. rust and such got skipped entirely).
With this change, we seem to be nearly there although we have issues
with Fortran tests that have C for interop because we get the unsupported
arg warnings...
Fixes: 5ca076594ad47b8347ebc9fd69b467a95846d005
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 41 ++++++++++++++++++++++++++---------------
1 file changed, 26 insertions(+), 15 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 550845b7dd47..86a29f5aacb8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1924,9 +1924,14 @@ toolchain_src_test() {
# Use a subshell to allow meddling with flags just for the testsuite
(
+ # Unexpected warnings confuse the tests.
+ filter-flags -W*
+
# Workaround our -Wformat-security default which breaks
# various tests as it adds unexpected warning output.
- append-flags -Wno-format-security -Wno-format
+ # (Only for C/C++ here to avoid noise for Fortran.)
+ append-cflags -Wno-format-security -Wno-format
+ append-cxxflags -Wno-format-security -Wno-format
# Workaround our -Wtrampolines default which breaks
# tests too.
append-flags -Wno-trampolines
@@ -1948,24 +1953,30 @@ toolchain_src_test() {
filter-flags -Wbuiltin-declaration-mismatch
# TODO: Does this handle s390 (-m31) correctly?
- is_multilib && GCC_TESTS_RUNTESTFLAGS+=" --target_board=unix\{,-m32\}"
-
- GCC_TESTS_RUNTESTFLAGS=(
- "${GCC_TESTS_RUNTESTFLAGS}"
- CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}"
- CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}"
- LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}"
- CFLAGS="${CFLAGS}"
- CXXFLAGS="${CXXFLAGS}"
- FCFLAGS="${FCFLAGS}"
- FFLAGS="${FFLAGS}"
- LDFLAGS="${LDFLAGS}"
- )
+ is_multilib && GCC_TESTS_RUNTESTFLAGS+=" --target_board=unix{,-m32}"
# nonfatal here as we die if the comparison below fails. Also, note that
# the exit code of targets other than 'check' may be unreliable.
nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" \
- RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS[*]}"
+ RUNTESTFLAGS=" \
+ ${GCC_TESTS_RUNTESTFLAGS} \
+ CFLAGS_FOR_TARGET='${CFLAGS_FOR_TARGET:-${CFLAGS}}' \
+ CXXFLAGS_FOR_TARGET='${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}' \
+ LDFLAGS_FOR_TARGET='${LDFLAGS_FOR_TARGET:-${LDFLAGS}}' \
+ CFLAGS='${CFLAGS}' \
+ CXXFLAGS='${CXXFLAGS}' \
+ FCFLAGS='${FCFLAGS}' \
+ FFLAGS='${FFLAGS}' \
+ LDFLAGS='${LDFLAGS}' \
+ " \
+ CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
+ CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
+ LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
+ CFLAGS="${CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ FCFLAGS="${FCFLAGS}" \
+ FFLAGS="${FFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
)
# Produce an updated failure manifest.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 9:00 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-08-08 9:00 UTC (permalink / raw
To: gentoo-commits
commit: 27d469a2114b4ad0b3e682854c50c806753eb472
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 7 14:27:36 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Thu Aug 8 09:00:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27d469a2
cargo.eclass: Change RUSTFLAGS approach following recent build failures
Cargo turned out to be even worse at handling flags than I thought.
Target-specific flags set by projects were overriding our own, and Cargo
was bailing out when faced with merging a string of flags with an array
of flags.
After weighing up the poor set of options, I've found that it is better
to always set flags via a target-specific environment variable for
reasons set out in comments added here. This approach was previously
just used for cross-compiling, but now we do it unconditionally.
It has the downside of overriding generic [build] flags set by projects,
but these were already being overridden by users and ebuilds setting
RUSTFLAGS themselves.
Closes: https://bugs.gentoo.org/937453
Closes: https://bugs.gentoo.org/937470
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/cargo.eclass | 65 ++++++++++++++++++++++++++++++++---------------------
1 file changed, 39 insertions(+), 26 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index c360c2a6c419..6d4cf1b425eb 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -259,19 +259,6 @@ cargo_crate_uris() {
cargo_gen_config() {
debug-print-function ${FUNCNAME} "$@"
- # The default linker is "cc" so override by setting linker to CC in the
- # RUSTFLAGS. The given linker cannot include any arguments, so split these
- # into link-args along with LDFLAGS. Also include external RUSTFLAGS.
- # Note that as of Rust 1.80, the build host RUSTFLAGS are ignored when
- # cross-compiling unless you use the unstable host-config feature available
- # with USE=nightly. There is no simple way around this.
- tc-export_build_env
- local LD_A=( $(tc-getBUILD_CC) ${BUILD_LDFLAGS} )
- local MY_BUILD_RUSTFLAGS="-C strip=none -C linker=${LD_A[0]}"
- [[ ${#LD_A[@]} -gt 1 ]] && MY_BUILD_RUSTFLAGS+="$(printf -- ' -C link-arg=%s' "${LD_A[@]:1}")"
- MY_BUILD_RUSTFLAGS+=" ${RUSTFLAGS} ${BUILD_RUSTFLAGS}"
- tc-is-cross-compiler || MY_BUILD_RUSTFLAGS+=" ${TARGET_RUSTFLAGS}"
-
mkdir -p "${ECARGO_HOME}" || die
cat > "${ECARGO_HOME}/config.toml" <<- _EOF_ || die "Failed to create cargo config"
@@ -286,7 +273,6 @@ cargo_gen_config() {
offline = true
[build]
- rustflags = "${MY_BUILD_RUSTFLAGS}"
jobs = $(makeopts_jobs)
incremental = false
@@ -541,10 +527,11 @@ cargo_src_configure() {
# @USAGE: Command with its arguments
# @DESCRIPTION:
# Run the given command under an environment needed for performing tasks with
-# Cargo such as building. RUSTFLAGS is used for both the build and target host.
-# BUILD_RUSTFLAGS and TARGET_RUSTFLAGS are used for just the build host and
-# target host respectively. Ensure these are set consistently between Cargo
-# invocations, otherwise rebuilds will occur.
+# Cargo such as building. RUSTFLAGS are appended to additional flags set here.
+# Ensure these are set consistently between Cargo invocations, otherwise
+# rebuilds will occur. Project-specific rustflags set against [build] will not
+# take affect due to Cargo limitations, so add these to your ebuild's RUSTFLAGS
+# if they seem important.
cargo_env() {
[[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \
die "FATAL: please call cargo_gen_config before using ${FUNCNAME}"
@@ -569,14 +556,40 @@ cargo_env() {
HOST_CFLAGS=${BUILD_CFLAGS}
HOST_CXXFLAGS=${BUILD_CXXFLAGS}
- if tc-is-cross-compiler; then
- local -x CARGO_BUILD_TARGET=$(rust_abi)
- local TRIPLE=${CARGO_BUILD_TARGET//-/_}
- local TRIPLE=${TRIPLE^^} LD_A=( $(tc-getCC) ${LDFLAGS} )
- local -x CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS="-C strip=none -C linker=${LD_A[0]}"
- [[ ${#LD_A[@]} -gt 1 ]] && local CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS+="$(printf -- ' -C link-arg=%s' "${LD_A[@]:1}")"
- local CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS+=" ${RUSTFLAGS} ${TARGET_RUSTFLAGS}"
- fi
+ # Unfortunately, Cargo is *really* bad at handling flags. In short, it uses
+ # the first of the RUSTFLAGS env var, any target-specific config, and then
+ # any generic [build] config. It can merge within the latter two types from
+ # different sources, but it will not merge across these different types, so
+ # if a project sets flags under [target.'cfg(all())'], it will override any
+ # flags we set under [build] and vice-versa.
+ #
+ # It has been common for users and ebuilds to set RUSTFLAGS, which would
+ # have overridden whatever a project sets anyway, so the least-worst option
+ # is to include those RUSTFLAGS in target-specific config here, which will
+ # merge with any the project sets. Only flags in generic [build] config set
+ # by the project will be lost, and ebuilds will need to add those to
+ # RUSTFLAGS themselves if they are important.
+ #
+ # We could potentially inspect a project's generic [build] config and
+ # reapply those flags ourselves, but that would require a proper toml parser
+ # like tomlq, it might lead to confusion where projects also have
+ # target-specific config, and converting arrays to strings may not work
+ # well. Nightly features to inspect the config might help here in future.
+ #
+ # As of Rust 1.80, it is not possible to set separate flags for the build
+ # host and the target host when cross-compiling. The flags given are applied
+ # to the target host only with no flags being applied to the build host. The
+ # nightly host-config feature will improve this situation later.
+ #
+ # The default linker is "cc" so override by setting linker to CC in the
+ # RUSTFLAGS. The given linker cannot include any arguments, so split these
+ # into link-args along with LDFLAGS.
+ local -x CARGO_BUILD_TARGET=$(rust_abi)
+ local TRIPLE=${CARGO_BUILD_TARGET//-/_}
+ local TRIPLE=${TRIPLE^^} LD_A=( $(tc-getCC) ${LDFLAGS} )
+ local -x CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS="-C strip=none -C linker=${LD_A[0]}"
+ [[ ${#LD_A[@]} -gt 1 ]] && local CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS+="$(printf -- ' -C link-arg=%s' "${LD_A[@]:1}")"
+ local CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS+=" ${RUSTFLAGS}"
(
# These variables will override the above, even if empty, so unset them
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07 15:13 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-07 15:13 UTC (permalink / raw
To: gentoo-commits
commit: 5ca076594ad47b8347ebc9fd69b467a95846d005
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 7 15:08:06 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 7 15:13:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ca07659
toolchain.eclass: another attempt at flag filtering for tests
The previous method ends up confusing D because those flags don't work
there...
Try passing *FLAGS into RUNTESTFLAGS this time, like in
https://gcc.gnu.org/wiki/Testing_GCC#Testing_a_different_target_from_the_current_host.
This reverts commit 7eab20a224f411ef2660f4fecae22e28cad711e7 and
commit f66787897a590b8c949d257e3a9107f8995f62ae.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index e81116973c67..550845b7dd47 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1947,24 +1947,25 @@ toolchain_src_test() {
# Go doesn't support this and causes noisy warnings
filter-flags -Wbuiltin-declaration-mismatch
- local suppress_warn="/-Wno-format/-Wno-format-security/-Wno-trampolines"
- GCC_TESTS_RUNTESTFLAGS+=" --target_board=unix\{${suppress_warn}"
# TODO: Does this handle s390 (-m31) correctly?
- is_multilib && GCC_TESTS_RUNTESTFLAGS+=",-m32/${suppress_warn}"
- GCC_TESTS_RUNTESTFLAGS+="\}"
+ is_multilib && GCC_TESTS_RUNTESTFLAGS+=" --target_board=unix\{,-m32\}"
+
+ GCC_TESTS_RUNTESTFLAGS=(
+ "${GCC_TESTS_RUNTESTFLAGS}"
+ CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}"
+ CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}"
+ LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}"
+ CFLAGS="${CFLAGS}"
+ CXXFLAGS="${CXXFLAGS}"
+ FCFLAGS="${FCFLAGS}"
+ FFLAGS="${FFLAGS}"
+ LDFLAGS="${LDFLAGS}"
+ )
# nonfatal here as we die if the comparison below fails. Also, note that
# the exit code of targets other than 'check' may be unreliable.
nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" \
- RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS}" \
- CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
- CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
- LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- FCFLAGS="${FCFLAGS}" \
- FFLAGS="${FFLAGS}" \
- LDFLAGS="${LDFLAGS}"
+ RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS[*]}"
)
# Produce an updated failure manifest.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07 9:41 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-07 9:41 UTC (permalink / raw
To: gentoo-commits
commit: 60bbe4613834d198e3969ce9ffb6124212b53c41
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 7 09:40:27 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 7 09:40:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60bbe461
toolchain.eclass: fix typos w/ RUNTESTFLAGS
Fixes: 7eab20a224f411ef2660f4fecae22e28cad711e7
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 106939bfdeb5..e81116973c67 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1948,10 +1948,10 @@ toolchain_src_test() {
filter-flags -Wbuiltin-declaration-mismatch
local suppress_warn="/-Wno-format/-Wno-format-security/-Wno-trampolines"
- RUNTESTFLAGS+=" --target_board=unix\{${suppress_warn}"
+ GCC_TESTS_RUNTESTFLAGS+=" --target_board=unix\{${suppress_warn}"
# TODO: Does this handle s390 (-m31) correctly?
- is_multilib && GCC_TESTS_RUNTESTFLAGS+=" ,-m32/${suppress_warn}"
- RUNTESTFLAGS+="\}"
+ is_multilib && GCC_TESTS_RUNTESTFLAGS+=",-m32/${suppress_warn}"
+ GCC_TESTS_RUNTESTFLAGS+="\}"
# nonfatal here as we die if the comparison below fails. Also, note that
# the exit code of targets other than 'check' may be unreliable.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07 9:25 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-07 9:25 UTC (permalink / raw
To: gentoo-commits
commit: cad8e1e7e09bd33b53be59576f4adc6bb1420a12
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 7 09:25:03 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 7 09:25:03 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cad8e1e7
toolchain.eclass: add link to upstream bug for manifests vs ABIs
Bug: https://gcc.gnu.org/PR116260
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 591ca98d7467..106939bfdeb5 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1968,6 +1968,7 @@ toolchain_src_test() {
)
# Produce an updated failure manifest.
+ # XXX: Manifests aren't ideal w/ multilib because of https://gcc.gnu.org/PR116260
einfo "Generating a new failure manifest ${T}/${CHOST}.xfail"
rm -f "${T}"/${CHOST}.xfail
edo "${T}"/validate_failures.py \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07 9:21 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-07 9:21 UTC (permalink / raw
To: gentoo-commits
commit: 7eab20a224f411ef2660f4fecae22e28cad711e7
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 7 09:19:29 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 7 09:20:24 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7eab20a2
toolchain.eclass: try harder to suppress -Wformat and friends
* Followup to f66787897a590b8c949d257e3a9107f8995f62ae
* See https://inbox.sourceware.org/gcc-patches/87v80cn24t.fsf <AT> gentoo.org/
Still not quite right though per link above.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 9304800f09f7..591ca98d7467 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1947,8 +1947,11 @@ toolchain_src_test() {
# Go doesn't support this and causes noisy warnings
filter-flags -Wbuiltin-declaration-mismatch
+ local suppress_warn="/-Wno-format/-Wno-format-security/-Wno-trampolines"
+ RUNTESTFLAGS+=" --target_board=unix\{${suppress_warn}"
# TODO: Does this handle s390 (-m31) correctly?
- is_multilib && GCC_TESTS_RUNTESTFLAGS+=" --target_board=unix\{,-m32\}"
+ is_multilib && GCC_TESTS_RUNTESTFLAGS+=" ,-m32/${suppress_warn}"
+ RUNTESTFLAGS+="\}"
# nonfatal here as we die if the comparison below fails. Also, note that
# the exit code of targets other than 'check' may be unreliable.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07 8:58 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-08-07 8:58 UTC (permalink / raw
To: gentoo-commits
commit: facd2865e403fd295c955fff8d609bfc717aed24
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 5 19:13:06 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Aug 7 08:58:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=facd2865
dist-kernel-utils.eclass: fix module cleanup when using binpkgs
When installing a binpkg -nt is not a good check because the modules in the
binpkg we are installing may actually be older then what we have in root.
Instead introduce a new function dist-kernel_get_module_suffix to find the
desired compression based on USE=modules-sign and the kernel config. Then,
remove only those files that do not match our desired compression.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/dist-kernel-utils.eclass | 59 ++++++++++++++++++++++++++++++++++-------
1 file changed, 49 insertions(+), 10 deletions(-)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 4bc3fab44aae..0b0eb0ec8818 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: dist-kernel-utils.eclass
@@ -159,6 +159,35 @@ dist-kernel_PV_to_KV() {
echo "${kv}"
}
+# @FUNCTION: dist-kernel_get_module_suffix
+# @USAGE: <kernel_dir>
+# @DESCRIPTION:
+# Returns the suffix for kernel modules based on the CONFIG_MODULES_COMPESS_*
+# setting in the kernel config and USE=modules-compress.
+dist-kernel_get_module_suffix() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ [[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
+
+ local config=${1}/.config
+
+ if ! in_iuse modules-compress || ! use modules-compress; then
+ echo .ko
+ elif [[ ! -r ${config} ]]; then
+ die "Cannot find kernel config ${config}"
+ elif grep -q "CONFIG_MODULE_COMPRESS_NONE=y" "${config}"; then
+ echo .ko
+ elif grep -q "CONFIG_MODULE_COMPRESS_GZIP=y" "${config}"; then
+ echo .ko.gz
+ elif grep -q "CONFIG_MODULE_COMPRESS_XZ=y" "${config}"; then
+ echo .ko.xz
+ elif grep -q "CONFIG_MODULE_COMPRESS_ZSTD=y" "${config}"; then
+ echo .ko.zst
+ else
+ die "Module compression is enabled, but compressor not known"
+ fi
+}
+
# @FUNCTION: dist-kernel_compressed_module_cleanup
# @USAGE: <path>
# @DESCRIPTION:
@@ -169,20 +198,29 @@ dist-kernel_compressed_module_cleanup() {
[[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments"
local path=${1}
- local basename f
+ local preferred=$(dist-kernel_get_module_suffix "${path}/source")
+ local basename suffix
while read -r basename; do
local prev=
- for f in "${path}/${basename}"{,.gz,.xz,.zst}; do
- if [[ ! -e ${f} ]]; then
- continue
+ for suffix in .ko .ko.gz .ko.xz .ko.zst; do
+ [[ ${suffix} == ${preferred} ]] && continue
+ local current=${path}/${basename}${suffix}
+ [[ -f ${current} ]] || continue
+
+ if [[ -f ${path}/${basename}${preferred} ]]; then
+ # If the module with the desired compression exists, remove
+ # all other variations.
+ rm -v "${current}" || die
elif [[ -z ${prev} ]]; then
- prev=${f}
- elif [[ ${f} -nt ${prev} ]]; then
+ # If not, then keep whichever of the duplicate modules is the
+ # newest. Normally you should not end up here.
+ prev=${current}
+ elif [[ ${current} -nt ${prev} ]]; then
rm -v "${prev}" || die
- prev=${f}
+ prev=${current}
else
- rm -v "${f}" || die
+ rm -v "${current}" || die
fi
done
done < <(
@@ -192,7 +230,8 @@ dist-kernel_compressed_module_cleanup() {
-o -name '*.ko.gz' \
-o -name '*.ko.xz' \
-o -name '*.ko.zst' \
- \) | sed -e 's:[.]\(gz\|xz\|zst\)$::' | sort | uniq -d || die
+ \) | sed -e 's:[.]ko\(\|[.]gz\|[.]xz\|[.]zst\)$::' |
+ sort | uniq -d || die
)
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07 8:58 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-08-07 8:58 UTC (permalink / raw
To: gentoo-commits
commit: 2073571d34ad5efcd6d4ec4db0914e774ca69a19
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 5 19:13:28 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Aug 7 08:58:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2073571d
kernel-install.eclass: use dist-kernel_get_module_suffix to find compression
Adjusts kernel-install_compress_modules to use the new function
dist-kernel_get_module_suffix. This makes no functional difference
at the moment since gentoo-kernel-bin is the only consumer and it has
XZ compression in the config. Still this makes it possible to compile
alternate prebuilt kernels with alternate module compression support, and may
in the future help to support gzip and zstd module compression in
gentoo-kernel-bin.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 36 +++++++++++++++++++++++++++++-------
1 file changed, 29 insertions(+), 7 deletions(-)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 15b7cf739bc3..c64dd673084b 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -766,13 +766,35 @@ kernel-install_compress_modules() {
if use modules-compress; then
einfo "Compressing kernel modules ..."
- # 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
+ if [[ -z ${KV_FULL} ]]; then
+ KV_FULL=${PV}${KV_LOCALVERSION}
+ fi
+ local suffix=$(dist-kernel_get_module_suffix "${ED}/usr/src/linux-${KV_FULL}")
+ local compress=()
+ # Options taken from linux-mod-r1.eclass.
+ # We don't instruct the compressor to parallelize because it applies
+ # multithreading per file, so it works only for big files, and we have
+ # lots of small files instead.
+ case ${suffix} in
+ .ko)
+ return
+ ;;
+ .ko.gz)
+ compress+=( gzip )
+ ;;
+ .ko.xz)
+ compress+=( xz --check=crc32 --lzma2=dict=1MiB )
+ ;;
+ .ko.zst)
+ compress+=( zstd -q --rm )
+ ;;
+ *)
+ die "Unknown compressor: ${suffix}"
+ ;;
+ esac
+
+ find "${ED}/lib/modules/${KV_FULL}" -name '*.ko' -print0 |
+ xargs -0 -P "$(makeopts_jobs)" -n 128 "${compress[@]}"
assert "Compressing kernel modules failed"
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07 3:03 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-07 3:03 UTC (permalink / raw
To: gentoo-commits
commit: 1a17266f16d4fbd2116611777a3c77f2db31bc8b
Author: Piotr Kubaj <pkubaj <AT> anongoth <DOT> pl>
AuthorDate: Tue Aug 6 12:31:27 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 7 03:03:18 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a17266f
rust-toolchain.eclass: add powerpc*musl support
Also adjust indentation.
[sam: Note that this is easier to review with `git diff -w`.]
Signed-off-by: Piotr Kubaj <pkubaj <AT> anongoth.pl>
Closes: https://github.com/gentoo/gentoo/pull/35928
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/rust-toolchain.eclass | 43 +++++++++++++++++++++++--------------------
1 file changed, 23 insertions(+), 20 deletions(-)
diff --git a/eclass/rust-toolchain.eclass b/eclass/rust-toolchain.eclass
index 111aece796ce..469479b849b3 100644
--- a/eclass/rust-toolchain.eclass
+++ b/eclass/rust-toolchain.eclass
@@ -31,26 +31,29 @@ esac
rust_abi() {
local CTARGET=${1:-${CHOST}}
case ${CTARGET%%*-} in
- aarch64*gnu) echo aarch64-unknown-linux-gnu;;
- aarch64*musl) echo aarch64-unknown-linux-musl;;
- armv6j*h*) echo arm-unknown-linux-gnueabihf;;
- armv6j*s*) echo arm-unknown-linux-gnueabi;;
- armv7a*h*) echo armv7-unknown-linux-gnueabihf;;
- i?86*) echo i686-unknown-linux-gnu;;
- loongarch64*) echo loongarch64-unknown-linux-gnu;;
- mips64el*) echo mips64el-unknown-linux-gnuabi64;;
- mips64*) echo mips64-unknown-linux-gnuabi64;;
- mipsel*) echo mipsel-unknown-linux-gnu;;
- mips*) echo mips-unknown-linux-gnu;;
- powerpc64le*) echo powerpc64le-unknown-linux-gnu;;
- powerpc64*) echo powerpc64-unknown-linux-gnu;;
- powerpc*) echo powerpc-unknown-linux-gnu;;
- riscv64*gnu) echo riscv64gc-unknown-linux-gnu;;
- riscv64*musl) echo riscv64gc-unknown-linux-musl;;
- s390x*) echo s390x-unknown-linux-gnu;;
- x86_64*gnu) echo x86_64-unknown-linux-gnu;;
- x86_64*musl) echo x86_64-unknown-linux-musl;;
- *) echo ${CTARGET};;
+ aarch64*gnu) echo aarch64-unknown-linux-gnu;;
+ aarch64*musl) echo aarch64-unknown-linux-musl;;
+ armv6j*h*) echo arm-unknown-linux-gnueabihf;;
+ armv6j*s*) echo arm-unknown-linux-gnueabi;;
+ armv7a*h*) echo armv7-unknown-linux-gnueabihf;;
+ i?86*) echo i686-unknown-linux-gnu;;
+ loongarch64*) echo loongarch64-unknown-linux-gnu;;
+ mips64el*) echo mips64el-unknown-linux-gnuabi64;;
+ mips64*) echo mips64-unknown-linux-gnuabi64;;
+ mipsel*) echo mipsel-unknown-linux-gnu;;
+ mips*) echo mips-unknown-linux-gnu;;
+ powerpc64le*gnu) echo powerpc64le-unknown-linux-gnu;;
+ powerpc64le*musl) echo powerpc64le-unknown-linux-musl;;
+ powerpc64*gnu) echo powerpc64-unknown-linux-gnu;;
+ powerpc64*musl) echo powerpc64-unknown-linux-musl;;
+ powerpc*gnu) echo powerpc-unknown-linux-gnu;;
+ powerpc*musl) echo powerpc-unknown-linux-musl;;
+ riscv64*gnu) echo riscv64gc-unknown-linux-gnu;;
+ riscv64*musl) echo riscv64gc-unknown-linux-musl;;
+ s390x*) echo s390x-unknown-linux-gnu;;
+ x86_64*gnu) echo x86_64-unknown-linux-gnu;;
+ x86_64*musl) echo x86_64-unknown-linux-musl;;
+ *) echo ${CTARGET};;
esac
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 16:39 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-08-06 16:39 UTC (permalink / raw
To: gentoo-commits
commit: 69065e361cae62a086d62c148e93a07d125f3e9b
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Aug 6 13:47:46 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 16:39:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69065e36
java-vm-2.eclass: remove function set_java_env
Deprecated with commit 436dd062c on 2016-08-02
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/37995
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/java-vm-2.eclass | 52 -------------------------------------------------
1 file changed, 52 deletions(-)
diff --git a/eclass/java-vm-2.eclass b/eclass/java-vm-2.eclass
index c7a207ae24f7..c90cd8664f30 100644
--- a/eclass/java-vm-2.eclass
+++ b/eclass/java-vm-2.eclass
@@ -164,58 +164,6 @@ get_system_arch() {
}
-# @FUNCTION: set_java_env
-# @DESCRIPTION:
-# Installs a vm env file.
-# DEPRECATED, use java-vm_install-env instead.
-
-set_java_env() {
- debug-print-function ${FUNCNAME} $*
-
- local platform="$(get_system_arch)"
- local env_file="${ED}${JAVA_VM_CONFIG_DIR}/${VMHANDLE}"
-
- if [[ ${1} ]]; then
- local source_env_file="${1}"
- else
- local source_env_file="${FILESDIR}/${VMHANDLE}.env"
- fi
-
- if [[ ! -f ${source_env_file} ]]; then
- die "Unable to find the env file: ${source_env_file}"
- fi
-
- dodir ${JAVA_VM_CONFIG_DIR}
- sed \
- -e "s/@P@/${P}/g" \
- -e "s/@PN@/${PN}/g" \
- -e "s/@PV@/${PV}/g" \
- -e "s/@PF@/${PF}/g" \
- -e "s/@SLOT@/${SLOT}/g" \
- -e "s/@PLATFORM@/${platform}/g" \
- -e "s/@LIBDIR@/$(get_libdir)/g" \
- -e "/^LDPATH=.*lib\\/\\\"/s|\"\\(.*\\)\"|\"\\1${platform}/:\\1${platform}/server/\"|" \
- < "${source_env_file}" \
- > "${env_file}" || die "sed failed"
-
- (
- echo "VMHANDLE=\"${VMHANDLE}\""
- echo "BUILD_ONLY=\"${JAVA_VM_BUILD_ONLY}\""
- ) >> "${env_file}"
-
- eprefixify ${env_file}
-
- [[ -n ${JAVA_PROVIDE} ]] && echo "PROVIDES=\"${JAVA_PROVIDE}\"" >> ${env_file}
-
- local java_home=$(source "${env_file}"; echo ${JAVA_HOME})
- [[ -z ${java_home} ]] && die "No JAVA_HOME defined in ${env_file}"
-
- # Make the symlink
- dodir "${JAVA_VM_DIR}"
- dosym "${java_home}" "${JAVA_VM_DIR}/${VMHANDLE}"
-}
-
-
# @FUNCTION: java-vm_install-env
# @DESCRIPTION:
#
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 8:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-06 8:47 UTC (permalink / raw
To: gentoo-commits
commit: 068fd56ff572b83925acf159e4afcfd01f98f1c8
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 25 21:18:03 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 08:30:14 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=068fd56f
python-utils-r1.eclass: Add python_get_stdlib helper function
This is just like python_get_sitedir, but it returns the stdlib
directory such as /usr/lib/python3.12. This is useful for locating the
sysconfigdata file.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-utils-r1.eclass | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index cc33a1c1bffd..45d3da6bb98c 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -332,6 +332,17 @@ _python_export() {
export PYTHON=${BROOT-${EPREFIX}}/usr/bin/${impl}
debug-print "${FUNCNAME}: PYTHON = ${PYTHON}"
;;
+ PYTHON_STDLIB)
+ [[ -n ${PYTHON} ]] || die "PYTHON needs to be set for ${var} to be exported, or requested before it"
+ PYTHON_STDLIB=$(
+ "${PYTHON}" - "${EPREFIX}/usr" <<-EOF || die
+ import sys, sysconfig
+ print(sysconfig.get_path("stdlib", vars={"installed_base": sys.argv[1]}))
+ EOF
+ )
+ export PYTHON_STDLIB
+ debug-print "${FUNCNAME}: PYTHON_STDLIB = ${PYTHON_STDLIB}"
+ ;;
PYTHON_SITEDIR)
[[ -n ${PYTHON} ]] || die "PYTHON needs to be set for ${var} to be exported, or requested before it"
PYTHON_SITEDIR=$(
@@ -466,6 +477,18 @@ _python_export() {
done
}
+# @FUNCTION: python_get_stdlib
+# @USAGE: [<impl>]
+# @DESCRIPTION:
+# Obtain and print the 'stdlib' path for the given implementation. If no
+# implementation is provided, ${EPYTHON} will be used.
+python_get_stdlib() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ _python_export "${@}" PYTHON_STDLIB
+ echo "${PYTHON_STDLIB}"
+}
+
# @FUNCTION: python_get_sitedir
# @USAGE: [<impl>]
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 8:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-06 8:47 UTC (permalink / raw
To: gentoo-commits
commit: 9b2def86a9c7fd8821a5b83df7d250fc4c73540f
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 25 11:09:21 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 08:30:13 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b2def86
distutils-r1.eclass: Use cargo_env when appropriate for flag handling
cargo_env handles linker flags and enables cross-compiling. It also
handles LTO filtering, so we can remove that from this eclass.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 5d9f97474b29..129ba21ab0d4 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1252,7 +1252,9 @@ distutils_pep517_install() {
die "mydistutilsargs are banned in PEP517 mode (use DISTUTILS_ARGS)"
fi
- local config_settings=
+ local cmd=() config_settings=
+ has cargo ${INHERITED} && cmd+=( cargo_env )
+
case ${DISTUTILS_USE_PEP517} in
maturin)
# `maturin pep517 build-wheel --help` for options
@@ -1391,7 +1393,7 @@ distutils_pep517_install() {
local build_backend=$(_distutils-r1_get_backend)
einfo " Building the wheel for ${PWD#${WORKDIR}/} via ${build_backend}"
- local cmd=(
+ cmd+=(
"${EPYTHON}" -m gpep517 build-wheel
--prefix="${EPREFIX}/usr"
--backend "${build_backend}"
@@ -1793,16 +1795,6 @@ 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
- local x
- for x in $(all-flag-vars); do
- local -x "${x}=${!x}"
- done
- filter-lto
- fi
fi
# silence warnings when pydevd is loaded on Python 3.11+
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 8:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-06 8:47 UTC (permalink / raw
To: gentoo-commits
commit: 83739e9677a6835c9fa49c0c98e9d7bc1e331413
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 25 21:20:02 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 08:30:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83739e96
distutils-r1.eclass: Support cross-compiling with PyO3
Only one variable needs to be set. For details, see
https://pyo3.rs/latest/building-and-distribution.html#cross-compiling.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/37708
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 129ba21ab0d4..0f9dc8d14d5e 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1391,6 +1391,11 @@ distutils_pep517_install() {
;;
esac
+ # https://pyo3.rs/latest/building-and-distribution.html#cross-compiling
+ if tc-is-cross-compiler; then
+ local -x PYO3_CROSS_LIB_DIR=${SYSROOT}/$(python_get_stdlib)
+ fi
+
local build_backend=$(_distutils-r1_get_backend)
einfo " Building the wheel for ${PWD#${WORKDIR}/} via ${build_backend}"
cmd+=(
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 8:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-06 8:47 UTC (permalink / raw
To: gentoo-commits
commit: 1792d3396dad606e254910619c13b8509998e7e5
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 25 11:08:52 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 08:30:12 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1792d339
cargo.eclass: Shadow flag variables so that LTO filtering remains local
This is currently done for Cargo by distutils-r1.eclass. The next commit
will remove that code, leaving cargo_env responsible for it.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/cargo.eclass | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 99a7959b22e2..c360c2a6c419 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -549,7 +549,16 @@ cargo_env() {
[[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \
die "FATAL: please call cargo_gen_config before using ${FUNCNAME}"
+ # Shadow flag variables so that filtering below remains local.
+ local flag
+ for flag in $(all-flag-vars); do
+ local -x "${flag}=${!flag}"
+ done
+
+ # Rust extensions are incompatible with C/C++ LTO compiler see e.g.
+ # https://bugs.gentoo.org/910220
filter-lto
+
tc-export AR CC CXX PKG_CONFIG
# Set vars for cc-rs crate.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 8:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-06 8:47 UTC (permalink / raw
To: gentoo-commits
commit: d57601effef63b266afe7df5c8cb7dae52fa44ac
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 25 17:34:45 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 08:30:09 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d57601ef
cargo.eclass: Use newer Cargo config file name
"config" is deprecated and "config.toml" has been valid for ages.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/cargo.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 7db34efb4e17..aab28dbbac16 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -248,7 +248,7 @@ cargo_crate_uris() {
# @FUNCTION: cargo_gen_config
# @DESCRIPTION:
-# Generate the $CARGO_HOME/config necessary to use our local registry and settings.
+# Generate the $CARGO_HOME/config.toml necessary to use our local registry and settings.
# Cargo can also be configured through environment variables in addition to the TOML syntax below.
# For each configuration key below of the form foo.bar the environment variable CARGO_FOO_BAR
# can also be used to define the value.
@@ -261,7 +261,7 @@ cargo_gen_config() {
mkdir -p "${ECARGO_HOME}" || die
- cat > "${ECARGO_HOME}/config" <<- _EOF_ || die "Failed to create cargo config"
+ cat > "${ECARGO_HOME}/config.toml" <<- _EOF_ || die "Failed to create cargo config"
[source.gentoo]
directory = "${ECARGO_VENDOR}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 8:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-06 8:47 UTC (permalink / raw
To: gentoo-commits
commit: 9411d6eddbc9e1375542fd0058ee7dc9007d48ba
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 24 18:35:54 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 08:29:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9411d6ed
distutils-r1.eclass: Fix disabling DISTUTILS_ALLOW_WHEEL_REUSE
Fix the declaration of DISTUTILS_ALLOW_WHEEL_REUSE to allow disabling it
via setting the variable to an empty value in the environment.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index fa8edb5cdfb7..4afee3d45b1c 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -204,7 +204,7 @@ esac
# This is an optimization that can avoid the overhead of calling into
# the build system in pure Python packages and packages using the stable
# Python ABI.
-DISTUTILS_ALLOW_WHEEL_REUSE=1
+: ${DISTUTILS_ALLOW_WHEEL_REUSE=1}
# @ECLASS_VARIABLE: BUILD_DIR
# @OUTPUT_VARIABLE
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 8:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-06 8:47 UTC (permalink / raw
To: gentoo-commits
commit: 11e91de6642a4b329566bb21b3a58a083994745f
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 24 14:26:34 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 08:30:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=11e91de6
cargo.eclass: Add cargo_env helper and use it in compile, test, install
Rust packages have a tendency to rebuild parts during test and install.
It is not clear whether this can be addressed. We were therefore relying
on some environment variables set during the compile phase for
cross-compiling to work in the later phases. This is not ideal,
especially if you need to build for multiple targets.
These environment variables can also be useful in other contexts, such
as the build runner in app-misc/anki.
This change moves the setting of these variables into a separate helper
that is now used in all these phases and can be used by ebuilds too. The
variables are now kept local to each invocation of this helper,
preventing leakage.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/cargo.eclass | 37 +++++++++++++++++++++++--------------
1 file changed, 23 insertions(+), 14 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index aab28dbbac16..de4a012354ee 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -523,26 +523,23 @@ cargo_src_configure() {
[[ ${ECARGO_ARGS[@]} ]] && einfo "Configured with: ${ECARGO_ARGS[@]}"
}
-# @FUNCTION: cargo_src_compile
+# @FUNCTION: cargo_env
+# @USAGE: Command with its arguments
# @DESCRIPTION:
-# Build the package using cargo build.
-cargo_src_compile() {
- debug-print-function ${FUNCNAME} "$@"
-
- [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \
- die "FATAL: please call cargo_gen_config before using ${FUNCNAME}"
-
+# Run the given command under an environment needed for performing tasks with
+# Cargo such as building.
+cargo_env() {
filter-lto
tc-export AR CC CXX PKG_CONFIG
if tc-is-cross-compiler; then
- export CARGO_BUILD_TARGET=$(rust_abi)
+ local -x CARGO_BUILD_TARGET=$(rust_abi)
local TRIPLE=${CARGO_BUILD_TARGET//-/_}
- export CARGO_TARGET_"${TRIPLE^^}"_LINKER=$(tc-getCC)
+ local -x CARGO_TARGET_"${TRIPLE^^}"_LINKER=$(tc-getCC)
# Set vars for cc-rs crate.
tc-export_build_env
- export \
+ local -x \
HOST_AR=$(tc-getBUILD_AR)
HOST_CC=$(tc-getBUILD_CC)
HOST_CXX=$(tc-getBUILD_CXX)
@@ -550,9 +547,21 @@ cargo_src_compile() {
HOST_CXXFLAGS=${BUILD_CXXFLAGS}
fi
+ "${@}"
+}
+
+# @FUNCTION: cargo_src_compile
+# @DESCRIPTION:
+# Build the package using cargo build.
+cargo_src_compile() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \
+ die "FATAL: please call cargo_gen_config before using ${FUNCNAME}"
+
set -- cargo build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
einfo "${@}"
- "${@}" || die "cargo build failed"
+ cargo_env "${@}" || die "cargo build failed"
}
# @FUNCTION: cargo_src_install
@@ -573,7 +582,7 @@ cargo_src_install() {
$(usex debug --debug "") \
${ECARGO_ARGS[@]} "$@"
einfo "${@}"
- "${@}" || die "cargo install failed"
+ cargo_env "${@}" || die "cargo install failed"
rm -f "${ED}/usr/.crates.toml" || die
rm -f "${ED}/usr/.crates2.json" || die
@@ -590,7 +599,7 @@ cargo_src_test() {
set -- cargo test $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
einfo "${@}"
- "${@}" || die "cargo test failed"
+ cargo_env "${@}" || die "cargo test failed"
}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 8:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-06 8:47 UTC (permalink / raw
To: gentoo-commits
commit: 7d7c5168294a4d90681c8d3ab6ac985c4eba1643
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 24 21:59:16 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 08:30:11 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d7c5168
cargo.eclass: Explicitly tell rustc not to strip binaries
Most projects don't strip binaries in release mode by default, but there
are exceptions like app-misc/broot.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/cargo.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index ef927aac50cd..99a7959b22e2 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -267,7 +267,7 @@ cargo_gen_config() {
# with USE=nightly. There is no simple way around this.
tc-export_build_env
local LD_A=( $(tc-getBUILD_CC) ${BUILD_LDFLAGS} )
- local MY_BUILD_RUSTFLAGS="-C linker=${LD_A[0]}"
+ local MY_BUILD_RUSTFLAGS="-C strip=none -C linker=${LD_A[0]}"
[[ ${#LD_A[@]} -gt 1 ]] && MY_BUILD_RUSTFLAGS+="$(printf -- ' -C link-arg=%s' "${LD_A[@]:1}")"
MY_BUILD_RUSTFLAGS+=" ${RUSTFLAGS} ${BUILD_RUSTFLAGS}"
tc-is-cross-compiler || MY_BUILD_RUSTFLAGS+=" ${TARGET_RUSTFLAGS}"
@@ -564,7 +564,7 @@ cargo_env() {
local -x CARGO_BUILD_TARGET=$(rust_abi)
local TRIPLE=${CARGO_BUILD_TARGET//-/_}
local TRIPLE=${TRIPLE^^} LD_A=( $(tc-getCC) ${LDFLAGS} )
- local -x CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS="-C linker=${LD_A[0]}"
+ local -x CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS="-C strip=none -C linker=${LD_A[0]}"
[[ ${#LD_A[@]} -gt 1 ]] && local CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS+="$(printf -- ' -C link-arg=%s' "${LD_A[@]:1}")"
local CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS+=" ${RUSTFLAGS} ${TARGET_RUSTFLAGS}"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 8:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-06 8:47 UTC (permalink / raw
To: gentoo-commits
commit: 9e9c222fe930f6369f2192e4de0175afc21e1e7f
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 24 17:19:30 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 08:30:11 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e9c222f
cargo.eclass: Handle LDFLAGS and RUSTFLAGS better
LDFLAGS are not currently honoured by Cargo builds at all. It would be
particularly advantageous to honour -fuse-ld because alternative linkers
like mold are known to be significantly faster at handling Rust.
As things stand, the eclass sets the linker to CC when cross-compiling,
but it does so erroneously due to a shell quoting issue. If CC includes
arguments, an error occurs when setting the CARGO_TARGET_*_LINKER
variable. Even with the right quoting, Cargo still fails because this
variable is not allowed to include arguments. They have to be specified
via RUSTFLAGS instead.
The build host linker is frequently invoked due to the use of build
scripts by some crates. We would therefore also like to configure the
build host linker properly when cross-compiling, but unfortunately there
is currently no way to do this without using a Rust nightly feature.
The build host linker is now configured in the cargo_gen_config function
because this configuration is static. Conversely, the target host linker
is configured with environment variables in the cargo_env function
because the target may change.
Some ebuilds already set RUSTFLAGS, so some consideration was given to
how to handle these. When set, Cargo prioritises RUSTFLAGS and similar
over specific configuration for the build and target hosts, so these
must be unset. We can still include their contents in that configuration
for convenience though. BUILD_RUSTFLAGS can be used by ebuilds to
set flags only for the build host.
It should not be necessary for ebuilds to figure out which Rust ABI is
applicable in order to set flags only for the target host, so the helper
reads from a simple TARGET_RUSTFLAGS variable without the triple for
convenience.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/cargo.eclass | 63 ++++++++++++++++++++++++++++++++++-------------------
1 file changed, 41 insertions(+), 22 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index de4a012354ee..ef927aac50cd 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -109,7 +109,7 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
#
# If you enable CARGO_OPTIONAL, you have to set BDEPEND on virtual/rust
# for your package and call at least cargo_gen_config manually before using
-# other src_functions of this eclass.
+# other src_functions or cargo_env of this eclass.
# Note that cargo_gen_config is automatically called by cargo_src_unpack.
# @ECLASS_VARIABLE: myfeatures
@@ -259,6 +259,19 @@ cargo_crate_uris() {
cargo_gen_config() {
debug-print-function ${FUNCNAME} "$@"
+ # The default linker is "cc" so override by setting linker to CC in the
+ # RUSTFLAGS. The given linker cannot include any arguments, so split these
+ # into link-args along with LDFLAGS. Also include external RUSTFLAGS.
+ # Note that as of Rust 1.80, the build host RUSTFLAGS are ignored when
+ # cross-compiling unless you use the unstable host-config feature available
+ # with USE=nightly. There is no simple way around this.
+ tc-export_build_env
+ local LD_A=( $(tc-getBUILD_CC) ${BUILD_LDFLAGS} )
+ local MY_BUILD_RUSTFLAGS="-C linker=${LD_A[0]}"
+ [[ ${#LD_A[@]} -gt 1 ]] && MY_BUILD_RUSTFLAGS+="$(printf -- ' -C link-arg=%s' "${LD_A[@]:1}")"
+ MY_BUILD_RUSTFLAGS+=" ${RUSTFLAGS} ${BUILD_RUSTFLAGS}"
+ tc-is-cross-compiler || MY_BUILD_RUSTFLAGS+=" ${TARGET_RUSTFLAGS}"
+
mkdir -p "${ECARGO_HOME}" || die
cat > "${ECARGO_HOME}/config.toml" <<- _EOF_ || die "Failed to create cargo config"
@@ -273,6 +286,7 @@ cargo_gen_config() {
offline = true
[build]
+ rustflags = "${MY_BUILD_RUSTFLAGS}"
jobs = $(makeopts_jobs)
incremental = false
@@ -527,27 +541,41 @@ cargo_src_configure() {
# @USAGE: Command with its arguments
# @DESCRIPTION:
# Run the given command under an environment needed for performing tasks with
-# Cargo such as building.
+# Cargo such as building. RUSTFLAGS is used for both the build and target host.
+# BUILD_RUSTFLAGS and TARGET_RUSTFLAGS are used for just the build host and
+# target host respectively. Ensure these are set consistently between Cargo
+# invocations, otherwise rebuilds will occur.
cargo_env() {
+ [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \
+ die "FATAL: please call cargo_gen_config before using ${FUNCNAME}"
+
filter-lto
tc-export AR CC CXX PKG_CONFIG
+ # Set vars for cc-rs crate.
+ local -x \
+ HOST_AR=$(tc-getBUILD_AR)
+ HOST_CC=$(tc-getBUILD_CC)
+ HOST_CXX=$(tc-getBUILD_CXX)
+ HOST_CFLAGS=${BUILD_CFLAGS}
+ HOST_CXXFLAGS=${BUILD_CXXFLAGS}
+
if tc-is-cross-compiler; then
local -x CARGO_BUILD_TARGET=$(rust_abi)
local TRIPLE=${CARGO_BUILD_TARGET//-/_}
- local -x CARGO_TARGET_"${TRIPLE^^}"_LINKER=$(tc-getCC)
-
- # Set vars for cc-rs crate.
- tc-export_build_env
- local -x \
- HOST_AR=$(tc-getBUILD_AR)
- HOST_CC=$(tc-getBUILD_CC)
- HOST_CXX=$(tc-getBUILD_CXX)
- HOST_CFLAGS=${BUILD_CFLAGS}
- HOST_CXXFLAGS=${BUILD_CXXFLAGS}
+ local TRIPLE=${TRIPLE^^} LD_A=( $(tc-getCC) ${LDFLAGS} )
+ local -x CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS="-C linker=${LD_A[0]}"
+ [[ ${#LD_A[@]} -gt 1 ]] && local CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS+="$(printf -- ' -C link-arg=%s' "${LD_A[@]:1}")"
+ local CARGO_TARGET_"${TRIPLE}"_RUSTFLAGS+=" ${RUSTFLAGS} ${TARGET_RUSTFLAGS}"
fi
- "${@}"
+ (
+ # These variables will override the above, even if empty, so unset them
+ # locally. Do this in a subshell so that they remain set afterwards.
+ unset CARGO_BUILD_RUSTFLAGS CARGO_ENCODED_RUSTFLAGS RUSTFLAGS
+
+ "${@}"
+ )
}
# @FUNCTION: cargo_src_compile
@@ -556,9 +584,6 @@ cargo_env() {
cargo_src_compile() {
debug-print-function ${FUNCNAME} "$@"
- [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \
- die "FATAL: please call cargo_gen_config before using ${FUNCNAME}"
-
set -- cargo build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
einfo "${@}"
cargo_env "${@}" || die "cargo build failed"
@@ -573,9 +598,6 @@ cargo_src_compile() {
cargo_src_install() {
debug-print-function ${FUNCNAME} "$@"
- [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \
- die "FATAL: please call cargo_gen_config before using ${FUNCNAME}"
-
set -- cargo install $(has --path ${@} || echo --path ./) \
--root "${ED}/usr" \
${GIT_CRATES[@]:+--frozen} \
@@ -594,9 +616,6 @@ cargo_src_install() {
cargo_src_test() {
debug-print-function ${FUNCNAME} "$@"
- [[ ${_CARGO_GEN_CONFIG_HAS_RUN} ]] || \
- die "FATAL: please call cargo_gen_config before using ${FUNCNAME}"
-
set -- cargo test $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
einfo "${@}"
cargo_env "${@}" || die "cargo test failed"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 8:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-06 8:47 UTC (permalink / raw
To: gentoo-commits
commit: 625574f70212d097e82a1cfcc34ee09ca467306e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 5 13:57:53 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 08:28:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=625574f7
toolchain-funcs.eclass: Fix tc-is-lto not to leave stray files in T
Fix tc-is-lto function to remove the temporary file after testing.
Besides being cleaner, this fixes a permission problem when using
Paludis and tc-is-lto is used both in pkg_setup() (which creates
the temporary file owned by root) and src_*() phase (which attempts
to rewrite it as a regular user).
Thanks to negril for the report!
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index cde84e6f34c8..e73af9772938 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -1234,6 +1234,7 @@ tc-get-build-ptr-size() {
# @RETURN: Shell true if we are using LTO, shell false otherwise
tc-is-lto() {
local f="${T}/test-lto.o"
+ local ret=1
case $(tc-get-compiler-type) in
clang)
@@ -1241,14 +1242,15 @@ tc-is-lto() {
# If LTO is used, clang will output bytecode and llvm-bcanalyzer
# will run successfully. Otherwise, it will output plain object
# file and llvm-bcanalyzer will exit with error.
- llvm-bcanalyzer "${f}" &>/dev/null && return 0
+ llvm-bcanalyzer "${f}" &>/dev/null && ret=0
;;
gcc)
$(tc-getCC) ${CFLAGS} -c -o "${f}" -x c - <<<"" || die
- [[ $($(tc-getREADELF) -S "${f}") == *.gnu.lto* ]] && return 0
+ [[ $($(tc-getREADELF) -S "${f}") == *.gnu.lto* ]] && ret=0
;;
esac
- return 1
+ rm -f "${f}" || die
+ return "${ret}"
}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 8:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-06 8:47 UTC (permalink / raw
To: gentoo-commits
commit: 9b1ccc14f4a6e9b6c614a4c5f5d6ec15f6339d64
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 31 07:46:21 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 08:30:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b1ccc14
python-utils-r1.eclass: Add a sanity check for PYTHONPATH
Add a sanity check that ensures that PYTHONPATH does not contain any
relative paths. While at it, also explicitly warn about PYTHONPATH
being set, so we know about it in build logs.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 1 +
eclass/python-any-r1.eclass | 3 ++-
eclass/python-r1.eclass | 2 ++
eclass/python-single-r1.eclass | 3 ++-
eclass/python-utils-r1.eclass | 34 ++++++++++++++++++++++++++++++++++
5 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 4afee3d45b1c..5d9f97474b29 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -936,6 +936,7 @@ _distutils-r1_print_package_versions() {
# distutils patches and/or quirks.
distutils-r1_python_prepare_all() {
debug-print-function ${FUNCNAME} "${@}"
+ _python_sanity_checks
_distutils-r1_check_all_phase_mismatch
if [[ ! ${DISTUTILS_OPTIONAL} ]]; then
diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass
index a21df8e89498..c1f27cfbac0d 100644
--- a/eclass/python-any-r1.eclass
+++ b/eclass/python-any-r1.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: python-any-r1.eclass
@@ -272,6 +272,7 @@ python_gen_any_dep() {
# This function will call python_check_deps() if defined.
python_setup() {
debug-print-function ${FUNCNAME} "${@}"
+ _python_sanity_checks
# support developer override
if [[ ${PYTHON_COMPAT_OVERRIDE} ]]; then
diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index c5fa6770558f..adf87c2c52f7 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.eclass
@@ -617,6 +617,7 @@ _python_multibuild_wrapper() {
# locally, and the former two are exported to the command environment.
python_foreach_impl() {
debug-print-function ${FUNCNAME} "${@}"
+ _python_sanity_checks
if [[ ${_DISTUTILS_R1_ECLASS} ]]; then
if has "${EBUILD_PHASE}" prepare configure compile test install &&
@@ -708,6 +709,7 @@ python_foreach_impl() {
# @CODE
python_setup() {
debug-print-function ${FUNCNAME} "${@}"
+ _python_sanity_checks
local has_check_deps
declare -f python_check_deps >/dev/null && has_check_deps=1
diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass
index 4d61f08c06f0..481b6cf91ba0 100644
--- a/eclass/python-single-r1.eclass
+++ b/eclass/python-single-r1.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: python-single-r1.eclass
@@ -393,6 +393,7 @@ python_gen_impl_dep() {
# the Python build environment up for it.
python_setup() {
debug-print-function ${FUNCNAME} "${@}"
+ _python_sanity_checks
unset EPYTHON
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index c47565fa1db2..cc33a1c1bffd 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1544,4 +1544,38 @@ python_has_version() {
return 0
}
+# @FUNCTION: _python_sanity_checks
+# @INTERNAL
+# @DESCRIPTION:
+# Perform additional environment sanity checks.
+_python_sanity_checks() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ [[ ${_PYTHON_SANITY_CHECKED} ]] && return
+
+ if [[ -v PYTHONPATH ]]; then
+ local x paths=()
+ mapfile -d ':' -t paths <<<${PYTHONPATH}
+
+ for x in "${paths[@]}"; do
+ if [[ ${x} != /* ]]; then
+ eerror "Relative path found in PYTHONPATH:"
+ eerror
+ eerror " PYTHONPATH=${PYTHONPATH@Q}"
+ eerror
+ eerror "This is guaranteed to cause random breakage. Please make sure that"
+ eerror "your PYTHONPATH contains absolute paths only (and only if necessary)."
+ eerror "Note that empty values (including ':' at either end and an empty"
+ eerror "PYTHONPATH) count as the current directory. If no PYTHONPATH"
+ eerror "is intended, it needs to be unset instead."
+ die "Relative paths in PYTHONPATH are forbidden: ${x@Q}"
+ fi
+ done
+
+ elog "PYTHONPATH=${PYTHONPATH@Q}"
+ fi
+
+ _PYTHON_SANITY_CHECKED=1
+}
+
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 8:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-06 8:47 UTC (permalink / raw
To: gentoo-commits
commit: 9c0708dcae5ef0792e2273968f6f6ff45d90b11f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 13 15:17:07 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 08:29:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c0708dc
toolchain-funcs.eclass: Add tc-has-64bit-time_t
Add a helper function to check whether time_t is 64-bit. This could
be used e.g. to deselect tests that rely on timestamps exceeding Y2k38.
It is meant to be more future-proof than hardcoding a list of 32-bit
architectures, given the necessity of switching to 64-bit time_t
in the future.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index e73af9772938..9f0953c079e3 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -1,4 +1,4 @@
-# Copyright 2002-2023 Gentoo Authors
+# Copyright 2002-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: toolchain-funcs.eclass
@@ -1253,4 +1253,14 @@ tc-is-lto() {
return "${ret}"
}
+# @FUNCTION: tc-has-64bit-time_t
+# @RETURN: Shell true if time_t is at least 64 bits long, false otherwise
+tc-has-64bit-time_t() {
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null <<-EOF &>/dev/null
+ #include <sys/types.h>
+ int test[sizeof(time_t) >= 8 ? 1 : -1];
+ EOF
+ return $?
+}
+
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 1:46 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-06 1:46 UTC (permalink / raw
To: gentoo-commits
commit: f66787897a590b8c949d257e3a9107f8995f62ae
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 6 01:44:15 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 6 01:45:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6678789
toolchain.eclass: run tests for -m32 if multilib
TODO: Does this handle s390 (-m31) correctly?
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d2f42804301e..9304800f09f7 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1898,7 +1898,6 @@ gcc_do_make() {
#---->> src_test <<----
# TODO: add JIT testing
-# TODO: add multilib testing
toolchain_src_test() {
# GCC's testsuite is a special case.
#
@@ -1948,6 +1947,9 @@ toolchain_src_test() {
# Go doesn't support this and causes noisy warnings
filter-flags -Wbuiltin-declaration-mismatch
+ # TODO: Does this handle s390 (-m31) correctly?
+ is_multilib && GCC_TESTS_RUNTESTFLAGS+=" --target_board=unix\{,-m32\}"
+
# nonfatal here as we die if the comparison below fails. Also, note that
# the exit code of targets other than 'check' may be unreliable.
nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-04 8:28 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-04 8:28 UTC (permalink / raw
To: gentoo-commits
commit: 361c3758642891759b0ed60a8f96bc0776d19f15
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 4 01:27:26 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Aug 4 08:26:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=361c3758
toolchain.eclass: use more conservative flags in src_test
For tests, we need to put some effort in to counteract our defaults
like -Wformat-security and -Wtrampolines (which we may want to revisit
at some point, but it is what it is for now).
Use a subshell so we can mangle the values within without affecting
the rest of the build.
I still get some failures with this (including some related to e.g.
-Wformat-security still) but far fewer, the flags don't get passed
everywhere so needs more poking or maybe just patching those tests
within the patch we use to change defaults.
See also the discussion on gcc-patches recently [0].
[0] https://inbox.sourceware.org/gcc-patches/ee9a8a6b11438f158933a21d7965b486987be5a8.1721454759.git.sam <AT> gentoo.org/
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 41 ++++++++++++++++++++++++++++++++++++++---
1 file changed, 38 insertions(+), 3 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 7aa0f5a170f8..d2f42804301e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1923,9 +1923,44 @@ toolchain_src_test() {
# Controls running expensive tests in e.g. the torture testsuite.
local -x GCC_TEST_RUN_EXPENSIVE=1
- # nonfatal here as we die if the comparison below fails. Also, note that
- # the exit code of targets other than 'check' may be unreliable.
- nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS}"
+ # Use a subshell to allow meddling with flags just for the testsuite
+ (
+ # Workaround our -Wformat-security default which breaks
+ # various tests as it adds unexpected warning output.
+ append-flags -Wno-format-security -Wno-format
+ # Workaround our -Wtrampolines default which breaks
+ # tests too.
+ append-flags -Wno-trampolines
+
+ # Issues with Ada tests:
+ # gnat.dg/align_max.adb
+ # gnat.dg/trampoline4.adb
+ #
+ # A handful of Ada tests use -fstack-check and conflict
+ # with -fstack-clash-protection.
+ #
+ # TODO: This isn't ideal given it obv. affects codegen
+ # and we want to be sure it works.
+ append-flags -fno-stack-clash-protection
+ # A handful of Ada (and objc++?) tests need an executable stack
+ append-ldflags -Wl,--no-warn-execstack
+
+ # Go doesn't support this and causes noisy warnings
+ filter-flags -Wbuiltin-declaration-mismatch
+
+ # nonfatal here as we die if the comparison below fails. Also, note that
+ # the exit code of targets other than 'check' may be unreliable.
+ nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" \
+ RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS}" \
+ CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
+ CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
+ LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
+ CFLAGS="${CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ FCFLAGS="${FCFLAGS}" \
+ FFLAGS="${FFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+ )
# Produce an updated failure manifest.
einfo "Generating a new failure manifest ${T}/${CHOST}.xfail"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-04 7:30 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-08-04 7:30 UTC (permalink / raw
To: gentoo-commits
commit: 4fe379b9898caba13ed8fdc8c4d829b32f43fa06
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 4 07:14:17 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Aug 4 07:30:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4fe379b9
kernel-install.eclass: fixup indentation
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 0a85bfb8629d..15b7cf739bc3 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -560,21 +560,21 @@ kernel-install_pkg_pretend() {
ewarn "that distribution kernels will boot without an initramfs."
ewarn
ewarn "You have disabled the initramfs USE flag, and as a result the package manager"
- ewarn "will not enforce the configuration of an initramfs generator in"
- ewarn "sys-kernel/installkernel."
- ewarn
+ ewarn "will not enforce the configuration of an initramfs generator in"
+ ewarn "sys-kernel/installkernel."
+ ewarn
ewarn "If you wish to use a custom initramfs generator, then please ensure that"
- ewarn "/sbin/installkernel is capable of calling it via a kernel installation hook,"
- ewarn "and is also configured to use it via /etc/kernel/install.conf."
- ewarn
- ewarn "If you wish to boot without an initramfs, then please ensure that"
- ewarn "all kernel drivers required to boot your system are built into the"
- ewarn "kernel by modifying the default distribution kernel configuration"
- ewarn "using /etc/kernel/config.d"
- ewarn
+ ewarn "/sbin/installkernel is capable of calling it via a kernel installation hook,"
+ ewarn "and is also configured to use it via /etc/kernel/install.conf."
+ ewarn
+ ewarn "If you wish to boot without an initramfs, then please ensure that"
+ ewarn "all kernel drivers required to boot your system are built into the"
+ ewarn "kernel by modifying the default distribution kernel configuration"
+ ewarn "using /etc/kernel/config.d"
+ ewarn
ewarn "Please refer to the installkernel and distribution kernel documentation:"
ewarn " https://wiki.gentoo.org/wiki/Installkernel"
- ewarn " https://wiki.gentoo.org/wiki/Project:Distribution_Kernel"
+ ewarn " https://wiki.gentoo.org/wiki/Project:Distribution_Kernel"
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-04 7:27 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-08-04 7:27 UTC (permalink / raw
To: gentoo-commits
commit: e7e43ef530436c353b5cfcf1e4ca24b60369d9ea
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 4 07:26:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Aug 4 07:27:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7e43ef5
toolchain.eclass: drop -fno-harden-control-flow-redundancy append
This confuses things if e.g. using GDC from older GCC. Not worth it given
I'd only added it for a personal experiment.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 3 ---
1 file changed, 3 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a60024c134c3..7aa0f5a170f8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1661,9 +1661,6 @@ gcc_do_filter_flags() {
# New in GCC 14.
filter-flags -Walloc-size
- else
- # Makes things painfully slow and no real benefit for the compiler.
- append-flags $(test-flags-CC -fno-harden-control-flow-redundancy)
fi
# Please use USE=lto instead (bug #906007).
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-01 20:20 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-08-01 20:20 UTC (permalink / raw
To: gentoo-commits
commit: 4b2e1186050ea531da4a9062d8c40f9d8cd8c925
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 1 19:32:22 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug 1 20:20:24 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b2e1186
llvm.org.eclass: Remove 19.x snapshot support
Signed-off-by: Michał Górny <mgorny <AT> 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 dfe278fe94ac..d705947ce0d2 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,9 +72,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
- 19.0.0_pre20240720)
- EGIT_COMMIT=72d8c2737bb557af9d0c735b9fa30b1b03485627
- ;;
20.0.0_pre20240801)
EGIT_COMMIT=130c135689ec12ab78c53645808524a8d28f7cae
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-01 7:32 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-08-01 7:32 UTC (permalink / raw
To: gentoo-commits
commit: 40069e31dfc02ce38c2b30ba0ed9544d386521bb
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sun Jul 28 19:26:59 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Aug 1 07:32:11 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40069e31
java-utils-2.eclass: etestng use java-pkg_getjars --build-only
Closes: https://bugs.gentoo.org/936812
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/37772/commits/513f82dafdb7874b77da408068e9b2e90bfe0c36
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 559342068cc0..9c657cc4c1f9 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -1926,7 +1926,7 @@ etestng() {
local runner=org.testng.TestNG
if [[ ${PN} != testng ]]; then
- local cp=$(java-pkg_getjars --with-dependencies testng)
+ local cp=$(java-pkg_getjars --build-only --with-dependencies testng)
else
local cp=testng.jar
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-31 0:02 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-07-31 0:02 UTC (permalink / raw
To: gentoo-commits
commit: 18cf313474587d078b1520f03511433ead141de4
Author: A. Wilcox <AWilcox <AT> Wilcox-Tech <DOT> com>
AuthorDate: Sun Jul 21 16:06:59 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 31 00:01:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18cf3134
toolchain.eclass: ppc64-musl: Disable libquadmath
* --disable-libquadmath is needed to avoid GCC PR 116007.
* --disable-libquadmath-support is needed for Fortran to build, as GCC
upstream requires a weak header when float128 is available.
* --with-long-double-128=no explicitly disables all Float128 support.
[sam: Fix whitespace.]
Bug: https://bugs.gentoo.org/892874
Signed-off-by: A. Wilcox <AWilcox <AT> Wilcox-Tech.com>
Closes: https://github.com/gentoo/gentoo/pull/37689
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index c7c366a37ad0..a60024c134c3 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1214,7 +1214,14 @@ toolchain_src_configure() {
# - https://git.musl-libc.org/cgit/musl/tree/INSTALL
# - bug #704784
# - https://gcc.gnu.org/PR93157
- [[ ${CTARGET} == powerpc64-*-musl ]] && confgcc+=( --with-abi=elfv2 )
+ # musl additionally does not support libquadmath. See:
+ # - https://gcc.gnu.org/PR116007
+ [[ ${CTARGET} == powerpc64-*-musl ]] && confgcc+=(
+ --with-abi=elfv2
+ --disable-libquadmath
+ --disable-libquadmath-support
+ --with-long-double-128=no
+ )
if in_iuse ieee-long-double; then
# musl requires 64-bit long double, not IBM double-double or IEEE quad.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-28 17:40 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-07-28 17:40 UTC (permalink / raw
To: gentoo-commits
commit: 7eddfd1f9b69da3a97fb5b6b3781a6a31feaa59a
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 27 10:12:24 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Sun Jul 28 17:39:57 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7eddfd1f
java-utils-2.eclass: select java-config binary, prefer java-config over java-config-2
This prepares the eclass for the transition from /usr/bin/java-config-2
to /usr/bin/java-config.
Starting with dev-java/java-config-2.3.3, the java-config utility is
installed as java-config and the java-config-2 compatibility symlink
will only be installed if the 'compat' USE flag is enabled (currently
the default).
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/java-utils-2.eclass | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 8a062f2ad87e..559342068cc0 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2723,7 +2723,13 @@ java-pkg_build-vm-from-handle() {
fi
for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
- if java-config-2 --select-vm=${vm} 2>/dev/null; then
+ local java_config
+ for java_config in java-config{,-2}; do
+ type -p ${java_config} >/dev/null && break
+ done
+ [[ -z ${java_config} ]] && die "No java-config binary in PATH"
+
+ if ${java_config} --select-vm=${vm} 2>/dev/null; then
echo ${vm}
return 0
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-27 22:00 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-27 22:00 UTC (permalink / raw
To: gentoo-commits
commit: 1a493d13bde1f371113388d9bd13a7e609f7bf07
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 27 21:25:53 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sat Jul 27 22:00:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a493d13
kernel-build.eclass: fixup left-over KERNEL_IUSE_SECUREBOOT
This was merged with KERNEL_IUSE_MODULES_SIGN in
a42e98431e7538eadaee1df2b90f0e3174b22341, but this one was missed.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 893a1bdb449c..c4f3db0028a9 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -521,7 +521,7 @@ kernel-build_src_install() {
--output="${image%/*}/uki.efi"
)
- if [[ ${KERNEL_IUSE_SECUREBOOT} ]] && use secureboot; then
+ if [[ ${KERNEL_IUSE_MODULES_SIGN} ]] && use secureboot; then
ukify_args+=(
--signtool=sbsign
--secureboot-private-key="${SECUREBOOT_SIGN_KEY}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-27 7:27 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-27 7:27 UTC (permalink / raw
To: gentoo-commits
commit: 1fc87de4b56fc3e009e1dfd606824fdadc3ce8fb
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 27 07:22:25 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 27 07:22:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fc87de4
llvm.org.eclass: Remove old snapshot support
Signed-off-by: Michał Górny <mgorny <AT> 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 bcbd22f94d0b..07b47d70a852 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_pre20240720)
EGIT_COMMIT=72d8c2737bb557af9d0c735b9fa30b1b03485627
;;
- 19.0.0_pre20240712)
- EGIT_COMMIT=1bad7024561bc64ed4bfda0772b16376b475eba5
- ;;
- 19.0.0_pre20240706)
- EGIT_COMMIT=0b9f2847da79298ed09c29493245113f02b32d9f
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-26 17:18 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-07-26 17:18 UTC (permalink / raw
To: gentoo-commits
commit: a87aba49d142f55e1b8d6e78fd2f9e9875691e02
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 19 13:43:36 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jul 26 17:17:33 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a87aba49
savedconfig.eclass: Drop support for EAPI 6
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/savedconfig.eclass | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/eclass/savedconfig.eclass b/eclass/savedconfig.eclass
index cc5748543078..65a1f3bfd800 100644
--- a/eclass/savedconfig.eclass
+++ b/eclass/savedconfig.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: savedconfig.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: common API for saving/restoring complex configuration files
# @DESCRIPTION:
# It is not uncommon to come across a package which has a very fine
@@ -31,7 +31,7 @@
# build.
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -60,12 +60,12 @@ save_config() {
if [[ $# -eq 1 && -f $1 ]] ; then
# Just one file, so have the ${configfile} be that config file
dodir "${configfile%/*}"
- cp "$@" "${ED%/}/${configfile}" || die "failed to save $*"
+ cp "$@" "${ED}/${configfile}" || die "failed to save $*"
else
# A dir, or multiple files, so have the ${configfile} be a dir
# with all the saved stuff below it
dodir "${configfile}"
- treecopy "$@" "${ED%/}/${configfile}" || die "failed to save $*"
+ treecopy "$@" "${ED}/${configfile}" || die "failed to save $*"
fi
elog "Your configuration for ${CATEGORY}/${PF} has been saved in "
@@ -150,7 +150,7 @@ savedconfig_pkg_postinst() {
# are worse :/.
if use savedconfig ; then
- find "${EROOT%/}/etc/portage/savedconfig/${CATEGORY}/${PF}" \
+ find "${EROOT}/etc/portage/savedconfig/${CATEGORY}/${PF}" \
-exec touch {} + 2>/dev/null
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-26 9:00 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-07-26 9:00 UTC (permalink / raw
To: gentoo-commits
commit: bf0b78ed5ac69775135c0a1ecca7be8b16afc7e2
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Thu Jul 25 10:17:45 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jul 26 08:59:50 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf0b78ed
java-utils-2.eclass: fix ejunit_(), java-pkg_getjars --build-only
Closes: https://bugs.gentoo.org/936557
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/37718
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 91f8fba8790b..8a062f2ad87e 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -1838,7 +1838,7 @@ ejunit_() {
local junit=${1}
shift 1
- local cp=$(java-pkg_getjars --with-dependencies ${junit}${pkgs})
+ local cp=$(java-pkg_getjars --build-only --with-dependencies ${junit}${pkgs})
if [[ ${1} = -cp || ${1} = -classpath ]]; then
cp="${2}:${cp}"
shift 2
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24 17:18 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-24 17:18 UTC (permalink / raw
To: gentoo-commits
commit: 0edf1af9e3cd350ebe7476d283e0e05918899bd9
Author: Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Tue Jul 23 14:11:41 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Jul 24 17:18:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0edf1af9
kernel-build.eclass: set toolchain variables more comprehensibly
Building on llvm profiles is problematic if toolchain variables are not properly
set. So set HOSTLD and HOSTAR to match at least the kernels own LLVM=1 variable
to ensure a smoother build for end users.
For example an unset HOSTLD causes issues as it defaults to GNU ld
otherwise.
https://docs.kernel.org/kbuild/llvm.html#the-llvm-argument
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/37690
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index f478cf636a27..893a1bdb449c 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -187,6 +187,10 @@ kernel-build_src_configure() {
fi
# force ld.bfd if we can find it easily
+ local HOSTLD="$(tc-getBUILD_LD)"
+ if type -P "${HOSTLD}.bfd" &>/dev/null; then
+ HOSTLD+=.bfd
+ fi
local LD="$(tc-getLD)"
if type -P "${LD}.bfd" &>/dev/null; then
LD+=.bfd
@@ -198,6 +202,8 @@ kernel-build_src_configure() {
HOSTCC="$(tc-getBUILD_CC)"
HOSTCXX="$(tc-getBUILD_CXX)"
+ HOSTLD="${HOSTLD}"
+ HOSTAR="$(tc-getBUILD_AR)"
HOSTCFLAGS="${BUILD_CFLAGS}"
HOSTLDFLAGS="${BUILD_LDFLAGS}"
@@ -210,6 +216,7 @@ kernel-build_src_configure() {
STRIP="$(tc-getSTRIP)"
OBJCOPY="$(tc-getOBJCOPY)"
OBJDUMP="$(tc-getOBJDUMP)"
+ READELF="$(tc-getREADELF)"
# we need to pass it to override colliding Gentoo envvar
ARCH=$(tc-arch-kernel)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24 17:18 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-24 17:18 UTC (permalink / raw
To: gentoo-commits
commit: e19b3318171fe5482417c00e0ff198091080944b
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 23 20:17:50 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Jul 24 17:18:13 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e19b3318
kernel-build.eclass: fix determining kernel release with MODULES=n
For module-less kernels 'make modules_prepare' does nothing, we only get
kernel.release after running src_compile. Luckily the kernel has the
"kernelrelease" target which we can use for this purpose.
Note, in kernel-install.eclass we still read the kernel release directly from
the file since a) kernel.release will always exist and b) calling make there
again would require duplicating (some subset off) ${MAKEARGS[@]}.
The "make help" page specifies that this target should be called with "-s".
The version check is moved up, before 'make modules_prepare' so we quit earlier
if the KV_FULL is wrong. Note it should be run after we have completed the
config in 'make olddefconfig'.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/37694
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 29719609b912..f478cf636a27 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -253,25 +253,21 @@ kernel-build_src_configure() {
mkdir -p "${WORKDIR}"/modprep || die
mv .config "${WORKDIR}"/modprep/ || die
emake O="${WORKDIR}"/modprep "${MAKEARGS[@]}" olddefconfig
- emake O="${WORKDIR}"/modprep "${MAKEARGS[@]}" modules_prepare
- cp -pR "${WORKDIR}"/modprep "${WORKDIR}"/build || die
- # Now that we have a release file, set KV_FULL
- local relfile=${WORKDIR}/build/include/config/kernel.release
+ local k_release=$(emake -s O="${WORKDIR}"/modprep "${MAKEARGS[@]}" kernelrelease)
if [[ -z ${KV_FULL} ]]; then
- KV_FULL=$(<"${relfile}") || die
+ KV_FULL=${k_release}
fi
# Make sure we are about to build the correct kernel
if [[ ${PV} != *9999 ]]; then
local expected_ver=$(dist-kernel_PV_to_KV "${PV}")
- local expected_rel=$(<"${relfile}")
- if [[ ${KV_FULL} != ${expected_rel} ]]; then
+ if [[ ${KV_FULL} != ${k_release} ]]; then
eerror "KV_FULL mismatch!"
eerror "KV_FULL: ${KV_FULL}"
- eerror "Expected: ${expected_rel}"
- die "KV_FULL mismatch: got ${KV_FULL}, expected ${expected_rel}"
+ eerror "Expected: ${k_release}"
+ die "KV_FULL mismatch: got ${KV_FULL}, expected ${k_release}"
fi
if [[ ${KV_FULL} != ${expected_ver}* ]]; then
@@ -282,6 +278,9 @@ kernel-build_src_configure() {
die "Kernel version mismatch: got ${KV_FULL}, expected ${expected_ver}*"
fi
fi
+
+ emake O="${WORKDIR}"/modprep "${MAKEARGS[@]}" modules_prepare
+ cp -pR "${WORKDIR}"/modprep "${WORKDIR}"/build || die
}
# @FUNCTION: kernel-build_src_compile
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24 17:18 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-24 17:18 UTC (permalink / raw
To: gentoo-commits
commit: 11b5c48af37beba23c803f6fba78a85879b2c794
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 23 09:49:10 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Jul 24 17:17:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=11b5c48a
eclass/kernel-{build,install}.eclass: link to config,Sys.map in moddir
The kernels 'make rpm-pkg' and 'make deb-pkg' install the config
and System.map into the modules directory for easy access. Let's
do the same here so our gpkg's are more symetric to rpm's and
deb's and tools that look for these files there can find it.
This also provides an easy location for the user to access the
config. Considering that /boot/config-x.y.z does not always
exist (the config instalation via /sbin/installkernel depends
on layout and +/-systemd configuration).
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/37684
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 2 ++
eclass/kernel-install.eclass | 7 +++++++
2 files changed, 9 insertions(+)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index be0256c21102..29719609b912 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -448,6 +448,8 @@ kernel-build_src_install() {
# fix source tree and build dir symlinks
dosym "../../../${kernel_dir}" "/lib/modules/${KV_FULL}/build"
dosym "../../../${kernel_dir}" "/lib/modules/${KV_FULL}/source"
+ dosym "../../../${kernel_dir}/.config" "/lib/modules/${KV_FULL}/config"
+ dosym "../../../${kernel_dir}/System.map" "/lib/modules/${KV_FULL}/System.map"
if [[ "${image_path}" == *vmlinux* ]]; then
dosym "../../../${kernel_dir}/${image_path}" "/lib/modules/${KV_FULL}/vmlinux"
else
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index e6f0b404dcaa..0a85bfb8629d 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -623,6 +623,13 @@ kernel-install_pkg_preinst() {
rm "${ED}/lib/modules/${KV_FULL}"/{build,source} || die
dosym "../../../src/linux-${KV_FULL}" "/usr/lib/modules/${KV_FULL}/build"
dosym "../../../src/linux-${KV_FULL}" "/usr/lib/modules/${KV_FULL}/source"
+ local file
+ for file in .config System.map; do
+ if [[ -L "${ED}/lib/modules/${KV_FULL}/${file#.}" ]]; then
+ rm "${ED}/lib/modules/${KV_FULL}/${file#.}" || die
+ dosym "../../../src/linux-${KV_FULL}/${file}" "/usr/lib/modules/${KV_FULL}/${file#.}"
+ fi
+ done
for file in vmlinux vmlinuz; do
if [[ -L "${ED}/lib/modules/${KV_FULL}/${file}" ]]; then
rm "${ED}/lib/modules/${KV_FULL}/${file}" || die
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24 8:58 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-07-24 8:58 UTC (permalink / raw
To: gentoo-commits
commit: 6b00659e2a8da878326fa499419f97e9a3d7daf5
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 13 07:48:40 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Wed Jul 24 08:55:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b00659e
greadme.eclass: new eclass
This new eclass includes various improvements over the existing
readme.gentoo-r1.eclass.
First, the content of README.gentoo will only be shown on new
installations or if it has changed between updates.
Second, it allows the composition of readme via bash's heredoc.
And finally, the eclass exports phase functions, which helps to reduce
the boilerplate code in many cases.
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/greadme.eclass | 251 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 251 insertions(+)
diff --git a/eclass/greadme.eclass b/eclass/greadme.eclass
new file mode 100644
index 000000000000..38190becf91d
--- /dev/null
+++ b/eclass/greadme.eclass
@@ -0,0 +1,251 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: greadme.eclass
+# @MAINTAINER:
+# Florian Schmaus <flow@gentoo.org>
+# @SUPPORTED_EAPIS: 8
+# @BLURB: install a doc file, that will be conditionally shown via elog messages
+# @DESCRIPTION:
+# An eclass for installing a README.gentoo doc file with important
+# information for the user. The content of README.gentoo will shown be
+# via elog messages either on fresh installations or if the contents of
+# the file have changed. Furthermore, the README.gentoo file will be
+# installed under /usr/share/doc/${PF} for later consultation.
+#
+# This eclass was inspired by readme.gentoo-r1.eclass. The main
+# differences are as follows. Firstly, it only displays the doc file
+# contents if they have changed (unless GREADME_SHOW is set).
+# Secondly, it provides a convenient API to install the doc file via
+# stdin.
+#
+# @CODE
+# inherit greadme
+#
+# src_install() {
+# ...
+# greadme_stdin <<-EOF
+# This is the content of the created readme doc file.
+# EOF
+# ...
+# if use foo; then
+# greadme_stdin --append <<-EOF
+# This is conditional readme content, based on USE=foo.
+# EOF
+# fi
+# }
+# @CODE
+#
+# If the ebuild overrides the default pkg_preinst or respectively
+# pkg_postinst, then it must call greadme_pkg_preinst and
+# greadme_pkg_postinst explicitly.
+
+if [[ -z ${_GREADME_ECLASS} ]]; then
+_GREADME_ECLASS=1
+
+case ${EAPI} in
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+_GREADME_TMP_FILE="${T}/README.gentoo"
+_GREADME_REL_PATH="/usr/share/doc/${PF}/README.gentoo"
+
+# @ECLASS_VARIABLE: GREADME_SHOW
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set to "yes" then unconditionally show the contents of the readme
+# file in pkg_postinst via elog. If set to "no", then do not show the
+# contents of the readme file, even if they have changed.
+
+# @ECLASS_VARIABLE: GREADME_DISABLE_AUTOFORMAT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If non-empty, the readme file will not be automatically formatted.
+
+# @FUNCTION: greadme_stdin
+# @USAGE: [--append]
+# @DESCRIPTION:
+# Create the readme doc via stdin. You can use --append to append to an
+# existing readme doc.
+greadme_stdin() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local append
+ if [[ ${1} = --append ]]; then
+ append=1
+ shift
+ fi
+
+ [[ $# -eq 0 ]] || die "${FUNCNAME[0]}: Bad parameters: $*"
+
+ if [[ -n ${append} ]]; then
+ if [[ ! -f ${_GREADME_TMP_FILE} ]]; then
+ die "Gentoo README does not exist when trying to append to it"
+ fi
+
+ cat >> "${_GREADME_TMP_FILE}" || die
+ else
+ cat > "${_GREADME_TMP_FILE}" || die
+ fi
+
+ _greadme_install_doc
+}
+
+# @FUNCTION: greadme_file
+# @USAGE: <file>
+# @DESCRIPTION:
+# Installs the provided file as readme doc.
+greadme_file() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local input_doc_file="${1}"
+ if [[ -z ${input_doc_file} ]]; then
+ die "No file specified"
+ fi
+
+ cp "${input_doc_file}" "${_GREADME_TMP_FILE}" || die
+
+ _greadme_install_doc
+}
+
+# @FUNCTION: _greadme_install_doc
+# @INTERNAL
+# @DESCRIPTION:
+# Installs the readme file from the temp directory into the image.
+_greadme_install_doc() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local greadme="${_GREADME_TMP_FILE}"
+ if [[ ! ${GREADME_DISABLE_AUTOFORMAT} ]]; then
+ greadme="${_GREADME_TMP_FILE}".formatted
+
+ # Use fold, followed by a sed to strip trailing whitespace.
+ # https://bugs.gentoo.org/460050#c7
+ fold -s -w 70 "${_GREADME_TMP_FILE}" |
+ sed 's/[[:space:]]*$//' > "${greadme}"
+ assert "failed to autoformat README.gentoo"
+ fi
+
+ # Subshell to avoid pollution of calling environment.
+ (
+ docinto .
+ newdoc "${greadme}" "README.gentoo"
+ )
+
+ # Exclude the readme file from compression, so that its contents can
+ # be easily compared.
+ docompress -x "${_GREADME_REL_PATH}"
+
+ # Save the contents of the of the readme. Unfortunately we have to
+ # do this in src_* phase, because FEATURES=nodoc is applied right
+ # after src_install and not after pkg_preinst.
+ _GREADME_CONTENT=$(< "${greadme}")
+}
+
+# @FUNCTION: greadme_pkg_preinst
+# @DESCRIPTION:
+# Performs checks like comparing the readme doc from the image with a
+# potentially existing one in the live system.
+greadme_pkg_preinst() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ _GREADME_SHOW="fresh-install"
+ return
+ fi
+
+ if [[ -v GREADME_SHOW ]]; then
+ case ${GREADME_SHOW} in
+ yes)
+ _GREADME_SHOW="forced"
+ ;;
+ no)
+ _GREADME_SHOW=""
+ ;;
+ *)
+ die "Invalid argument of GREADME_SHOW: ${GREADME_SHOW}"
+ ;;
+ esac
+ return
+ fi
+
+ local image_greadme_file="${ED}${_GREADME_REL_PATH}"
+ if [[ ! -f ${image_greadme_file} ]]; then
+ if [[ -v _GREADME_CONTENT ]]; then
+ # There is no greadme in the image but the ebuild created
+ # one. This is likely because FEATURES=nodoc is active.
+ # Unconditionally show greadme's contents.
+ _GREADME_SHOW="nodoc-active"
+ else
+ # No README file was created by the ebuild.
+ _GREADME_SHOW=""
+ fi
+
+ return
+ fi
+
+ check_live_doc_file() {
+ local cur_pvr=$1
+ local live_greadme_file="${EROOT}/usr/share/doc/${PN}-${cur_pvr}/README.gentoo"
+
+ if [[ ! -f ${live_greadme_file} ]]; then
+ _GREADME_SHOW="no-current-greadme"
+ return
+ fi
+
+ cmp -s "${live_greadme_file}" "${image_greadme_file}"
+ case $? in
+ 0)
+ _GREADME_SHOW=""
+ ;;
+ 1)
+ _GREADME_SHOW="content-differs"
+ ;;
+ *)
+ die "cmp failed with $?"
+ ;;
+ esac
+ }
+
+ local replaced_version
+ for replaced_version in ${REPLACING_VERSIONS}; do
+ check_live_doc_file ${replaced_version}
+
+ # Once _GREADME_SHOW is non empty, we found a reason to show the
+ # readme and we can abort the loop.
+ if [[ -n ${_GREADME_SHOW} ]]; then
+ break
+ fi
+ done
+}
+
+# @FUNCTION: greadme_pkg_postinst
+# @DESCRIPTION:
+# Conditionally shows the contents of the readme doc via elog.
+greadme_pkg_postinst() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ if [[ ! -v _GREADME_SHOW ]]; then
+ die "_GREADME_SHOW not set. Did you call greadme_pkg_preinst?"
+ fi
+
+ if [[ -z ${_GREADME_SHOW} ]]; then
+ # If _GREADME_SHOW is empty, then there is no reason to show the contents.
+ return
+ fi
+
+ local line
+ printf '%s\n' "${_GREADME_CONTENT}" | while read -r line; do
+ elog "${line}"
+ done
+ elog ""
+ elog "NOTE: Above message is only printed the first time package is"
+ elog "installed or if the message changed. Please look at"
+ elog "${EPREFIX}${_GREADME_REL_PATH}"
+ elog "for future reference."
+}
+
+fi
+
+EXPORT_FUNCTIONS pkg_preinst pkg_postinst
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24 8:58 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-07-24 8:58 UTC (permalink / raw
To: gentoo-commits
commit: be38b2c896e463aa2fe3c9af095513f781e62aa3
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 15 19:55:13 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Wed Jul 24 08:55:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be38b2c8
texlive-common.eclass: Add TEXLIVE_SCRIPTS_W_FILE_EXT variable
Some scripts are supposed to be installed with file extensions [1, 2]. Add
support for declaring those scripts in a new elcass variable
TEXLIVE_SCRIPTS_W_FILE_EXT.
Also use pure-bash functions to retrieve the basename and strip the file
extensions. And use "declare -l" to lowercase the value of 'trg',
instead of 'tr' [3].
1: https://tug.org/pipermail/tldistro/2024q3/000485.html
2: https://github.com/TeX-Live/texlive-source/blob/c087bab35570b1d5cb0afd272611a7a4ec3c9e38/texk/texlive/linked_scripts/Makefile.am#L332-L333
3: https://github.com/TeX-Live/texlive-source/blob/c087bab35570b1d5cb0afd272611a7a4ec3c9e38/texk/texlive/linked_scripts/Makefile.am#L330
Bug: https://bugs.gentoo.org/934975
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-common.eclass | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/eclass/texlive-common.eclass b/eclass/texlive-common.eclass
index 072581dde78e..36b90a327fde 100644
--- a/eclass/texlive-common.eclass
+++ b/eclass/texlive-common.eclass
@@ -42,6 +42,13 @@ _TEXLIVE_COMMON_ECLASS=1
# @CODE
: "${CTAN_MIRROR_URL:="https://mirrors.ctan.org"}"
+# @ECLASS_VARIABLE: TEXLIVE_SCRIPTS_W_FILE_EXT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set, contains a space separated list of script names that should be
+# linked including their file extensions, i.e., without stripping
+# potentially existing filename extensions from the link's name.
+
# @FUNCTION: texlive-common_handle_config_files
# @DESCRIPTION:
# Has to be called in src_install after having installed the files in ${D}
@@ -160,8 +167,17 @@ etexlinks() {
# Called by app-text/epspdf and texlive-module.eclass.
dobin_texmf_scripts() {
while [[ ${#} -gt 0 ]] ; do
- local trg
- trg=$(basename "${1}" | sed 's,\.[^/]*$,,' | tr '[:upper:]' '[:lower:]')
+ # -l: TexLive target links are always lowercase.
+ local -l trg
+
+ # Get the basename of the script.
+ trg="${1##*/}"
+
+ # Only strip the filename extensions if trg is not listed in TEXLIVE_SCRIPTS_W_FILE_EXT.
+ if ! has "${trg}" ${TEXLIVE_SCRIPTS_W_FILE_EXT}; then
+ trg="${trg%.*}"
+ fi
+
einfo "Installing ${1} as ${trg} bin wrapper"
[[ -x ${ED}/usr/share/${1} ]] || die "Trying to install a non existing or non executable symlink to /usr/bin: ${1}"
dosym "../share/${1}" "/usr/bin/${trg}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 14:13 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-23 14:13 UTC (permalink / raw
To: gentoo-commits
commit: 1ea788c223239a35ac94011200305b15bf2e7d3e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 23 14:12:07 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 23 14:13:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ea788c2
llvm.eclass: Mark @DEPRECATED
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass
index e297fe992c9f..bb5ff5d78290 100644
--- a/eclass/llvm.eclass
+++ b/eclass/llvm.eclass
@@ -9,6 +9,7 @@
# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: llvm-utils
# @BLURB: Utility functions to build against slotted LLVM
+# @DEPRECATED: llvm-r1.eclass
# @DESCRIPTION:
# The llvm.eclass provides utility functions that can be used to build
# against specific version of slotted LLVM (with fallback to :0 for old
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 14:07 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-23 14:07 UTC (permalink / raw
To: gentoo-commits
commit: f7f7ff3fa2cd1c32b64d54fb155ee824cdd25928
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 23 14:05:15 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 23 14:07:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7f7ff3f
llvm-r1.eclass: LLVM 18 is now stable
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-r1.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/llvm-r1.eclass b/eclass/llvm-r1.eclass
index 075df9218be8..620697e6e045 100644
--- a/eclass/llvm-r1.eclass
+++ b/eclass/llvm-r1.eclass
@@ -61,7 +61,7 @@ _LLVM_OLDEST_SLOT=15
# @DESCRIPTION:
# The newest stable LLVM version. Versions newer than that won't
# be automatically enabled via USE defaults.
-_LLVM_NEWEST_STABLE=17
+_LLVM_NEWEST_STABLE=18
# == control variables ==
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 14:07 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-23 14:07 UTC (permalink / raw
To: gentoo-commits
commit: 9f09b98ee6a5edce65e995c4701776e8e1c86d1d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 7 12:22:52 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 23 14:07:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f09b98e
llvm-r1.eclass: Do not default-enable unkeyworded slots
Change the IUSE defaults logic to default-enable the *oldest* ~arch
version rather than the newest one, when no stable slots are supported.
Since we only except a single ~arch version to exist, this effectively
prevents the eclass from default-enabling the unkeyworded snapshots.
Closes: https://bugs.gentoo.org/935681
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/37473
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-r1.eclass | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/eclass/llvm-r1.eclass b/eclass/llvm-r1.eclass
index 620697e6e045..0a53b9a3cb5e 100644
--- a/eclass/llvm-r1.eclass
+++ b/eclass/llvm-r1.eclass
@@ -123,11 +123,16 @@ _llvm_set_globals() {
fi
if [[ ${stable[@]} ]]; then
+ # If there is at least one stable slot supported, then enable
+ # the newest stable slot by default.
IUSE="+llvm_slot_${stable[-1]}"
unset 'stable[-1]'
else
- IUSE="+llvm_slot_${unstable[-1]}"
- unset 'unstable[-1]'
+ # Otherwise, enable the "oldest" ~arch slot. We really only
+ # expect a single ~arch version, so this primarily prevents
+ # defaulting to non-keyworded slots.
+ IUSE="+llvm_slot_${unstable[0]}"
+ unset 'unstable[0]'
fi
local nondefault=( "${stable[@]}" "${unstable[@]}" )
IUSE+=" ${nondefault[*]/#/llvm_slot_}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 14:07 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-23 14:07 UTC (permalink / raw
To: gentoo-commits
commit: 3365651fed541616d4d5c49f1e2b61f4ee636550
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 23 13:56:04 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 23 14:07:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3365651f
llvm.org.eclass: main is now 20.x
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.org.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 7aa1d0e2b0b8..d2797f46bb92 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -57,7 +57,7 @@ LLVM_VERSION=$(ver_cut 1-3)
# @DESCRIPTION:
# The major version of current LLVM trunk. Used to determine
# the correct branch to use.
-_LLVM_MAIN_MAJOR=19
+_LLVM_MAIN_MAJOR=20
# @ECLASS_VARIABLE: _LLVM_SOURCE_TYPE
# @INTERNAL
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 10:03 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-07-23 10:03 UTC (permalink / raw
To: gentoo-commits
commit: bb707cd1f6b9ec3784789c71513657c02fdf1862
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Thu Apr 25 13:34:18 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Tue Jul 23 10:03:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb707cd1
java-pkg-simple.eclass: allow java-pkg-opt-2
Presently, "java-pkg-simple eclass can only be inherited AFTER java-pkg-2".
This prevents packages with optional Java like dev-lang/cxprolog to be
built with java-pkg-simple. This patch allows to inherit java-pkg-simple
after any of java-pkg-2 and java-pkg-opt-2.
Poposed by Alfred Wingate on #gentoo-dev-help on 2024-04-25
Closes: https://bugs.gentoo.org/930550
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/37468/commits/6f27fbf4604d5504044a7eee3b765ce7efa83089
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-simple.eclass | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index 6b473ed768ed..5ed7e3e5b78e 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -26,8 +26,12 @@ _JAVA_PKG_SIMPLE_ECLASS=1
inherit java-utils-2
-if ! has java-pkg-2 ${INHERITED}; then
- eerror "java-pkg-simple eclass can only be inherited AFTER java-pkg-2"
+if has java-pkg-2 ${INHERITED}; then
+ JAVA_PKG_OPT=0
+elif has java-pkg-opt-2 ${INHERITED}; then
+ JAVA_PKG_OPT=1
+else
+ eerror "java-pkg-simple eclass can only be inherited AFTER java-pkg-2 or java-pkg-opt-2"
fi
# We are only interested in finding all java source files, wherever they may be.
@@ -50,7 +54,12 @@ if has test ${JAVA_PKG_IUSE}; then
test_deps+=" dev-java/testng:0";;
esac
done
- [[ ${test_deps} ]] && DEPEND="test? ( ${test_deps} )"
+ if [[ ${JAVA_PKG_OPT} == 1 ]]; then
+ [[ ${test_deps} ]] && DEPEND="test? ( ${JAVA_PKG_OPT_USE}? ( ${test_deps} ) )"
+ else
+ [[ ${test_deps} ]] && DEPEND="test? ( ${test_deps} )"
+ fi
+
unset test_deps
fi
@@ -347,6 +356,7 @@ java-pkg-simple_prepend_resources() {
# If USE FLAG 'binary' exists and is set, it will just copy
# ${JAVA_BINJAR_FILENAME} to ${S} and skip the rest of src_compile.
java-pkg-simple_src_compile() {
+ [[ ${JAVA_PKG_OPT} == 1 ]] && ! use ${JAVA_PKG_OPT_USE} && return
local sources=sources.lst classes=target/classes apidoc=target/api moduleinfo
# do not compile if we decide to install binary jar
@@ -461,6 +471,7 @@ java-pkg-simple_src_compile() {
# ${JAVA_JAR_FILENAME}. It will also install a launcher if
# ${JAVA_MAIN_CLASS} is set. Also invokes einstalldocs.
java-pkg-simple_src_install() {
+ [[ ${JAVA_PKG_OPT} == 1 ]] && ! use ${JAVA_PKG_OPT_USE} && return
local sources=sources.lst classes=target/classes apidoc=target/api
# install the jar file that we need
@@ -503,6 +514,7 @@ java-pkg-simple_src_install() {
# in the "generated-test" directory as content of this directory is preserved,
# whereas content of target/test-classes is removed.
java-pkg-simple_src_test() {
+ [[ ${JAVA_PKG_OPT} == 1 ]] && ! use ${JAVA_PKG_OPT_USE} && return
local test_sources=test_sources.lst classes=target/test-classes moduleinfo
local tests_to_run classpath
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-22 15:09 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-22 15:09 UTC (permalink / raw
To: gentoo-commits
commit: 191e1f16757e17e76fb31c93b2f4fb5cdbe49903
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 16 18:49:19 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 22 15:09:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=191e1f16
distutils-r1.eclass: Allow wheel reuse by default
Enable wheel reuse by default, since no issues were revealed during
the testing so far. The option to disable them remains available, as it
can be useful e.g. to verify that reproducible wheels are actually
produced across implementation.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 8227466b4d4c..645b5df5a6e5 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -195,7 +195,6 @@ esac
# @CODE
# @ECLASS_VARIABLE: DISTUTILS_ALLOW_WHEEL_REUSE
-# @DEFAULT_UNSET
# @USER_VARIABLE
# @DESCRIPTION:
# If set to a non-empty value, the eclass is allowed to reuse a wheel
@@ -205,6 +204,7 @@ esac
# This is an optimization that can avoid the overhead of calling into
# the build system in pure Python packages and packages using the stable
# Python ABI.
+DISTUTILS_ALLOW_WHEEL_REUSE=1
# @ECLASS_VARIABLE: BUILD_DIR
# @OUTPUT_VARIABLE
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-22 15:09 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-22 15:09 UTC (permalink / raw
To: gentoo-commits
commit: 80a7960b9faa73152efd81e316f1083644817a02
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 16 16:21:09 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 22 15:09:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80a7960b
distutils-r1.eclass: Add distutils_enable_tests import-check
Add support for using the dev-python/pytest-import-check plugin to
test if all modules installed by the package can be imported.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 645b5df5a6e5..fa8edb5cdfb7 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -572,6 +572,9 @@ distutils_enable_sphinx() {
# with the specified test runner. Also copies the current value
# of RDEPEND to test?-BDEPEND. The test-runner argument must be one of:
#
+# - import-check: `pytest --import-check` fallback (for use when there are
+# no tests to run)
+#
# - pytest: dev-python/pytest
#
# - setup.py: setup.py test (no deps included)
@@ -597,9 +600,13 @@ distutils_enable_tests() {
[[ ${#} -eq 1 ]] || die "${FUNCNAME} takes exactly one argument: test-runner"
local test_deps=${RDEPEND}
+ local test_pkgs=
case ${1} in
+ import-check)
+ test_pkgs+=' dev-python/pytest-import-check[${PYTHON_USEDEP}]'
+ ;&
pytest)
- local test_pkgs='>=dev-python/pytest-7.4.4[${PYTHON_USEDEP}]'
+ test_pkgs+=' >=dev-python/pytest-7.4.4[${PYTHON_USEDEP}]'
if [[ -n ${EPYTEST_TIMEOUT} ]]; then
test_pkgs+=' dev-python/pytest-timeout[${PYTHON_USEDEP}]'
fi
@@ -1560,6 +1567,9 @@ distutils-r1_python_test() {
_python_check_EPYTHON
case ${_DISTUTILS_TEST_RUNNER} in
+ import-check)
+ epytest --import-check "${BUILD_DIR}/install$(python_get_sitedir)"
+ ;;
pytest)
epytest
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-22 15:09 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-22 15:09 UTC (permalink / raw
To: gentoo-commits
commit: 605ea615713571431dd7d63d5c9533b63c9e0b76
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 16 18:47:02 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 22 15:09:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=605ea615
distutils-r1.eclass: Fix QA to ignore non-generic "pure" wheels
Fix the QA check to match on `*py3-none-any.whl` to match the code
matching reusable wheels. This avoids false positives over
`dev-python/backrefs` that creates separate pure Python wheels for every
Python version.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 61c0a80323ec..8227466b4d4c 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1933,7 +1933,7 @@ _distutils-r1_compare_installed_files() {
# Perform the check only if at least one potentially reusable wheel
# has been produced. Nonpure packages (e.g. NumPy) may install
# interpreter configuration details into sitedir.
- if [[ ${!DISTUTILS_WHEELS[*]} != *-none-any.whl* &&
+ if [[ ${!DISTUTILS_WHEELS[*]} != *py3-none-any.whl* &&
${!DISTUTILS_WHEELS[*]} != *-abi3-*.whl ]]; then
return
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 15:45 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-21 15:45 UTC (permalink / raw
To: gentoo-commits
commit: fa77d52a7ff39464c50707ca024725deab08b534
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 21 15:44:32 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Jul 21 15:45:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa77d52a
kernel-build.eclass: support unset MODULES_SIGN_{CERT,KEY}
the kernel build system generates a key if not set, so don't check anything
if the key is unset
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> 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 cbc80bddf6f7..be0256c21102 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -134,7 +134,7 @@ kernel-build_pkg_setup() {
if [[ ${KERNEL_IUSE_MODULES_SIGN} && ${MERGE_TYPE} != binary ]]; then
secureboot_pkg_setup
- if use modules-sign; then
+ if use modules-sign && [[ -n ${MODULES_SIGN_KEY} ]]; then
# Sanity check: fail early if key/cert in DER format or does not exist
local openssl_args=(
-noout -nocert
@@ -155,7 +155,7 @@ kernel-build_pkg_setup() {
die "Kernel module signing certificate or key not found or not PEM format."
if [[ ${MODULES_SIGN_KEY} != pkcs11:* ]]; then
- if [[ ${MODULES_SIGN_CERT} != ${MODULES_SIGN_KEY} ]]; then
+ if [[ -n ${MODULES_SIGN_CERT} && ${MODULES_SIGN_CERT} != ${MODULES_SIGN_KEY} ]]; then
MODULES_SIGN_KEY_CONTENTS="$(cat "${MODULES_SIGN_CERT}" "${MODULES_SIGN_KEY}" || die)"
else
MODULES_SIGN_KEY_CONTENTS="$(< "${MODULES_SIGN_KEY}")"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 15:14 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-21 15:14 UTC (permalink / raw
To: gentoo-commits
commit: 46f7840350a04cbe47a1e6902baca0d638f85e6d
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 21 15:12:55 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Jul 21 15:14:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46f78403
kernel-build.eclass: add missing modules-sign conditional to cert/key check
Bug: https://bugs.gentoo.org/936402
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 46 ++++++++++++++++++++++++----------------------
1 file changed, 24 insertions(+), 22 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index aca387bb5abd..cbc80bddf6f7 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -134,30 +134,32 @@ kernel-build_pkg_setup() {
if [[ ${KERNEL_IUSE_MODULES_SIGN} && ${MERGE_TYPE} != binary ]]; then
secureboot_pkg_setup
- # Sanity check: fail early if key/cert in DER format or does not exist
- local openssl_args=(
- -noout -nocert
- )
- if [[ -n ${MODULES_SIGN_CERT} ]]; then
- openssl_args+=( -inform PEM -in "${MODULES_SIGN_CERT}" )
- else
- # If no cert specified, we assume the pem key also contains the cert
- openssl_args+=( -inform PEM -in "${MODULES_SIGN_KEY}" )
- fi
- if [[ ${MODULES_SIGN_KEY} == pkcs11:* ]]; then
- openssl_args+=( -engine pkcs11 -keyform ENGINE -key "${MODULES_SIGN_KEY}" )
- else
- openssl_args+=( -keyform PEM -key "${MODULES_SIGN_KEY}" )
- fi
+ if use modules-sign; then
+ # Sanity check: fail early if key/cert in DER format or does not exist
+ local openssl_args=(
+ -noout -nocert
+ )
+ if [[ -n ${MODULES_SIGN_CERT} ]]; then
+ openssl_args+=( -inform PEM -in "${MODULES_SIGN_CERT}" )
+ else
+ # If no cert specified, we assume the pem key also contains the cert
+ openssl_args+=( -inform PEM -in "${MODULES_SIGN_KEY}" )
+ fi
+ if [[ ${MODULES_SIGN_KEY} == pkcs11:* ]]; then
+ openssl_args+=( -engine pkcs11 -keyform ENGINE -key "${MODULES_SIGN_KEY}" )
+ else
+ openssl_args+=( -keyform PEM -key "${MODULES_SIGN_KEY}" )
+ fi
- openssl x509 "${openssl_args[@]}" ||
- die "Kernel module signing certificate or key not found or not PEM format."
+ openssl x509 "${openssl_args[@]}" ||
+ die "Kernel module signing certificate or key not found or not PEM format."
- if [[ ${MODULES_SIGN_KEY} != pkcs11:* ]]; then
- if [[ ${MODULES_SIGN_CERT} != ${MODULES_SIGN_KEY} ]]; then
- MODULES_SIGN_KEY_CONTENTS="$(cat "${MODULES_SIGN_CERT}" "${MODULES_SIGN_KEY}" || die)"
- else
- MODULES_SIGN_KEY_CONTENTS="$(< "${MODULES_SIGN_KEY}")"
+ if [[ ${MODULES_SIGN_KEY} != pkcs11:* ]]; then
+ if [[ ${MODULES_SIGN_CERT} != ${MODULES_SIGN_KEY} ]]; then
+ MODULES_SIGN_KEY_CONTENTS="$(cat "${MODULES_SIGN_CERT}" "${MODULES_SIGN_KEY}" || die)"
+ else
+ MODULES_SIGN_KEY_CONTENTS="$(< "${MODULES_SIGN_KEY}")"
+ fi
fi
fi
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 13:31 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-21 13:31 UTC (permalink / raw
To: gentoo-commits
commit: 1b804fa3f3ec62aabeada773b15ca408e73735d6
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 20 18:59:04 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Jul 21 13:29:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b804fa3
kernel-build.eclass: check and fail early if key or cert in DER format
Bug: https://bugs.gentoo.org/936402
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index cf060fa83766..fa01be28723f 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -133,8 +133,28 @@ kernel-build_pkg_setup() {
python-any-r1_pkg_setup
if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
secureboot_pkg_setup
- if [[ -e ${MODULES_SIGN_KEY} && ${MODULES_SIGN_KEY} != pkcs11:* ]]; then
- if [[ -e ${MODULES_SIGN_CERT} && ${MODULES_SIGN_CERT} != ${MODULES_SIGN_KEY} ]]; then
+
+ # Sanity check: fail early if key/cert in DER format or does not exist
+ local openssl_args=(
+ -noout -nocert
+ )
+ if [[ -n ${MODULES_SIGN_CERT} ]]; then
+ openssl_args+=( -inform PEM -in "${MODULES_SIGN_CERT}" )
+ else
+ # If no cert specified, we assume the pem key also contains the cert
+ openssl_args+=( -inform PEM -in "${MODULES_SIGN_KEY}" )
+ fi
+ if [[ ${MODULES_SIGN_KEY} == pkcs11:* ]]; then
+ openssl_args+=( -engine pkcs11 -keyform ENGINE -key "${MODULES_SIGN_KEY}" )
+ else
+ openssl_args+=( -keyform PEM -key "${MODULES_SIGN_KEY}" )
+ fi
+
+ openssl x509 "${openssl_args[@]}" ||
+ die "Kernel module signing certificate or key not found or not PEM format."
+
+ if [[ ${MODULES_SIGN_KEY} != pkcs11:* ]]; then
+ if [[ ${MODULES_SIGN_CERT} != ${MODULES_SIGN_KEY} ]]; then
MODULES_SIGN_KEY_CONTENTS="$(cat "${MODULES_SIGN_CERT}" "${MODULES_SIGN_KEY}" || die)"
else
MODULES_SIGN_KEY_CONTENTS="$(< "${MODULES_SIGN_KEY}")"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 13:31 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-21 13:31 UTC (permalink / raw
To: gentoo-commits
commit: 55c2a7a949695e4e70d9246b8418453093f747e4
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 21 08:51:47 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Jul 21 13:29:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=55c2a7a9
kernel-build.eclass: don't check key/cert if merging binary
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/37640
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index fa01be28723f..aca387bb5abd 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -131,7 +131,7 @@ fi
# Call python-any-r1 and secureboot pkg_setup
kernel-build_pkg_setup() {
python-any-r1_pkg_setup
- if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
+ if [[ ${KERNEL_IUSE_MODULES_SIGN} && ${MERGE_TYPE} != binary ]]; then
secureboot_pkg_setup
# Sanity check: fail early if key/cert in DER format or does not exist
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 13:31 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-21 13:31 UTC (permalink / raw
To: gentoo-commits
commit: f6642547cd274ab4edd7d34b71674d1aa04a2d74
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 20 18:10:37 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Jul 21 13:29:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6642547
secureboot.eclass: check and fail early if key or cert in DER format
Bug: https://bugs.gentoo.org/936402
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/secureboot.eclass | 26 +++++++++++++++++++-------
1 file changed, 19 insertions(+), 7 deletions(-)
diff --git a/eclass/secureboot.eclass b/eclass/secureboot.eclass
index a9ba514cb7a0..4459b0341845 100644
--- a/eclass/secureboot.eclass
+++ b/eclass/secureboot.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: secureboot.eclass
@@ -44,7 +44,12 @@ case ${EAPI} in
esac
IUSE="secureboot"
-BDEPEND="secureboot? ( app-crypt/sbsigntools )"
+BDEPEND="
+ secureboot? (
+ app-crypt/sbsigntools
+ dev-libs/openssl
+ )
+"
# @ECLASS_VARIABLE: SECUREBOOT_SIGN_KEY
# @USER_VARIABLE
@@ -75,12 +80,19 @@ _secureboot_die_if_unset() {
if [[ -z ${SECUREBOOT_SIGN_KEY} || -z ${SECUREBOOT_SIGN_CERT} ]]; then
die "USE=secureboot enabled but SECUREBOOT_SIGN_KEY and/or SECUREBOOT_SIGN_CERT not set."
fi
- if [[ ! ${SECUREBOOT_SIGN_KEY} == pkcs11:* && ! -r ${SECUREBOOT_SIGN_KEY} ]]; then
- die "SECUREBOOT_SIGN_KEY=${SECUREBOOT_SIGN_KEY} not found or not readable!"
- fi
- if [[ ! -r ${SECUREBOOT_SIGN_CERT} ]]; then
- die "SECUREBOOT_SIGN_CERT=${SECUREBOOT_SIGN_CERT} not found or not readable!"
+
+ # Sanity check: fail early if key/cert in DER format or does not exist
+ local openssl_args=(
+ -inform PEM -in "${SECUREBOOT_SIGN_CERT}"
+ -noout -nocert
+ )
+ if [[ ${SECUREBOOT_SIGN_KEY} == pkcs11:* ]]; then
+ openssl_args+=( -engine pkcs11 -keyform ENGINE -key "${SECUREBOOT_SIGN_KEY}" )
+ else
+ openssl_args+=( -keyform PEM -key "${SECUREBOOT_SIGN_KEY}" )
fi
+ openssl x509 "${openssl_args[@]}" ||
+ die "Secure Boot signing certificate or key not found or not PEM format."
}
# @FUNCTION: secureboot_pkg_setup
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-20 12:09 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-07-20 12:09 UTC (permalink / raw
To: gentoo-commits
commit: bc6173b5fdeb051759254745f80ef539849a6cd0
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 23 11:01:49 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jul 20 12:08:37 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc6173b5
unpacker.eclass: Drop support for EAPI 6
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/unpacker.eclass | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/eclass/unpacker.eclass b/eclass/unpacker.eclass
index 2957ca02d3f4..91520a36d16a 100644
--- a/eclass/unpacker.eclass
+++ b/eclass/unpacker.eclass
@@ -4,7 +4,7 @@
# @ECLASS: unpacker.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: helpers for extraneous file formats and consistent behavior across EAPIs
# @DESCRIPTION:
# Some extraneous file formats are not part of PMS, or are only in certain
@@ -16,7 +16,7 @@
# - support partial unpacks?
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -430,10 +430,7 @@ _unpacker_get_decompressor() {
echo "xz -T$(makeopts_jobs) -dc" ;;
*.lz)
find_lz_unpacker() {
- local has_version_arg="-b"
-
- [[ ${EAPI} == 6 ]] && has_version_arg="--host-root"
- if has_version "${has_version_arg}" ">=app-arch/xz-utils-5.4.0" ; then
+ if has_version -b ">=app-arch/xz-utils-5.4.0" ; then
echo xz
return
fi
@@ -537,7 +534,7 @@ _unpacker() {
esac
# 7z, rar and lha/lzh are handled by package manager in EAPI < 8
- if [[ ${EAPI} != [67] ]]; then
+ if [[ ${EAPI} != 7 ]]; then
case ${m} in
*.7z)
arch="unpack_7z" ;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-18 16:15 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-18 16:15 UTC (permalink / raw
To: gentoo-commits
commit: 16a996d29fa0854707cb72647fe9bef47ee4a963
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 18 13:30:42 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 18 16:15:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=16a996d2
kernel-build.eclass: Fix leftover dir_ver use
Fixes: da6193c02d0f (...make kernel install paths match release)
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index d8e50e75812f..cf060fa83766 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -461,7 +461,7 @@ kernel-build_src_install() {
--confdir "${T}/empty-directory"
--kernel-image "${image}"
--kmoddir "${ED}/lib/modules/${KV_FULL}"
- --kver "${dir_ver}"
+ --kver "${KV_FULL}"
--verbose
--compress="xz -9e --check=crc32"
--no-hostonly
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16 9:16 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-07-16 9:16 UTC (permalink / raw
To: gentoo-commits
commit: 1cf828923e730d232df90a3a057777230bc7092c
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 9 20:28:52 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Jul 16 09:15:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1cf82892
go-env.eclass: Rewrite the go-env_goarch() logic
The previous logic was flawed, incomplete, and needlessly made use of
USE flags. We can rely on the tuple instead. Tested against all the
tuples we have in our profiles.
Closes: https://bugs.gentoo.org/935414
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/go-env.eclass | 32 +++++++++++++++++---------------
1 file changed, 17 insertions(+), 15 deletions(-)
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index c34c634bb600..c839c41be0d7 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -53,21 +53,23 @@ go-env_set_compile_environment() {
# @DESCRIPTION:
# Returns the appropriate GOARCH setting for the target architecture.
go-env_goarch() {
- # By chance most portage arch names match Go
- local tc_arch=$(tc-arch $@)
- case "${tc_arch}" in
- x86) echo 386;;
- x64-*) echo amd64;;
- loong) echo loong64;;
- mips) if use abi_mips_o32; then
- [[ $(tc-endian $@) = big ]] && echo mips || echo mipsle
- elif use abi_mips_n64; then
- [[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le
- fi ;;
- ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
- riscv) echo riscv64 ;;
- s390) echo s390x ;;
- *) echo "${tc_arch}";;
+ local target=${1:-${CHOST}}
+ # Some Portage arch names match Go.
+ local arch=$(tc-arch "${target}") cpu=${target%%-*}
+ case "${arch}" in
+ x86) echo 386 ;;
+ loong) echo loong64 ;;
+ *) case "${cpu}" in
+ aarch64*be) echo arm64be ;;
+ arm64) echo arm64 ;;
+ arm*b*) echo armbe ;;
+ mips64*l*) echo mips64le ;;
+ mips*l*) echo mipsle ;;
+ powerpc64le*) echo ppc64le ;;
+ arm64|s390x) echo "${cpu}" ;;
+ mips64*|riscv64*|sparc64*) echo "${arch}64" ;;
+ *) echo "${arch}" ;;
+ esac ;;
esac
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16 9:16 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-07-16 9:16 UTC (permalink / raw
To: gentoo-commits
commit: 8c5f61cdc06d82e142913b14ec6236ab0b5ca950
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 9 20:24:41 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Jul 16 09:13:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c5f61cd
golang-base.eclass: Drop support for EAPI 5 and 6
All such usage has gone.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/golang-base.eclass | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/eclass/golang-base.eclass b/eclass/golang-base.eclass
index 4bba00200cfc..a2996e3b0683 100644
--- a/eclass/golang-base.eclass
+++ b/eclass/golang-base.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: golang-base.eclass
# @MAINTAINER:
# William Hubbs <williamh@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 7
# @BLURB: Eclass that provides base functions for Go packages.
# @DEPRECATED: go-module.eclass
# @DESCRIPTION:
@@ -12,12 +12,9 @@
# programming language; it also provides the build-time dependency on
# dev-lang/go.
-case "${EAPI:-0}" in
- 5|6|7)
- ;;
- *)
- die "${ECLASS}: Unsupported EAPI (EAPI=${EAPI})"
- ;;
+case ${EAPI} in
+ 7) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
if [[ -z ${_GOLANG_BASE} ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16 9:16 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-07-16 9:16 UTC (permalink / raw
To: gentoo-commits
commit: 29f0721c4bc11ef3b9d94590016c25a190bc0f20
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 9 20:39:11 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Jul 16 09:15:59 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29f0721c
go-env.eclass: Add the go-env_goos() helper function
This code is taken from dev-lang/go. No other packages have code like
this, but some erroneously call `go env GOOS`, which is bad for
cross-compiling. They should use this function instead.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/go-env.eclass | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index c839c41be0d7..be131133113b 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -48,6 +48,24 @@ go-env_set_compile_environment() {
export CGO_LDFLAGS="${CGO_LDFLAGS:-$LDFLAGS}"
}
+# @FUNCTION: go-env_goos
+# @USAGE: [toolchain prefix]
+# @DESCRIPTION:
+# Returns the appropriate GOOS setting for the target operating system.
+go-env_goos() {
+ local target=${1:-${CHOST}}
+ case "${target}" in
+ *-linux*) echo linux ;;
+ *-darwin*) echo darwin ;;
+ *-freebsd*) echo freebsd ;;
+ *-netbsd*) echo netbsd ;;
+ *-openbsd*) echo openbsd ;;
+ *-solaris*) echo solaris ;;
+ *-cygwin*|*-interix*|*-winnt*) echo windows ;;
+ *) die "unknown GOOS for ${target}" ;;
+ esac
+}
+
# @FUNCTION: go-env_goarch
# @USAGE: [toolchain prefix]
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16 9:16 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-07-16 9:16 UTC (permalink / raw
To: gentoo-commits
commit: cbd596b7eb8b3ff070313a1311454b6b041021a9
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 9 20:23:45 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Jul 16 09:13:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbd596b7
golang-build.eclass: Drop support for EAPI 6
All such usage has gone.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/golang-build.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/golang-build.eclass b/eclass/golang-build.eclass
index 235313bd70f5..b5218ce36572 100644
--- a/eclass/golang-build.eclass
+++ b/eclass/golang-build.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: golang-build.eclass
# @MAINTAINER:
# William Hubbs <williamh@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 7
# @PROVIDES: golang-base
# @BLURB: Eclass for compiling go packages.
# @DEPRECATED: go-module.eclass
@@ -13,7 +13,7 @@
# functions for software written in the Go programming language.
case ${EAPI} in
- 6|7) ;;
+ 7) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16 9:16 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-07-16 9:16 UTC (permalink / raw
To: gentoo-commits
commit: cc012d4940f97e9262753e8f041c2cf8012a272d
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 9 20:26:03 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Jul 16 09:13:37 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc012d49
go-env.eclass: Establish EAPI 7 and 8 as supported
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/go-env.eclass | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index 1a2c9787a146..c34c634bb600 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -6,11 +6,17 @@
# Flatcar Linux Maintainers <infra@flatcar-linux.org>
# @AUTHOR:
# Flatcar Linux Maintainers <infra@flatcar-linux.org>
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Helper eclass for setting the Go compile environment. Required for cross-compiling.
# @DESCRIPTION:
# This eclass includes helper functions for setting the compile environment for Go ebuilds.
# Intended to be called by other Go eclasses in an early build stage, e.g. src_unpack.
+case ${EAPI} in
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
if [[ -z ${_GO_ENV_ECLASS} ]]; then
_GO_ENV_ECLASS=1
@@ -34,14 +40,7 @@ go-env_set_compile_environment() {
use x86 && export GO386=$(go-env_go386)
# XXX: Hack for checking ICE (bug #912152, gcc PR113204)
- case ${EAPI} in
- 6)
- has_version "sys-devel/gcc[debug]" && filter-lto
- ;;
- *)
- has_version -b "sys-devel/gcc[debug]" && filter-lto
- ;;
- esac
+ has_version -b "sys-devel/gcc[debug]" && filter-lto
export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16 9:16 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-07-16 9:16 UTC (permalink / raw
To: gentoo-commits
commit: f29b80d18d526a13af59af83e524902f8176bfdb
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 9 20:22:38 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Jul 16 09:13:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f29b80d1
golang-vcs.eclass: Drop support for EAPI 6
All such usage has gone.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/golang-vcs.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/golang-vcs.eclass b/eclass/golang-vcs.eclass
index 6f7a837bc15f..dee040505d23 100644
--- a/eclass/golang-vcs.eclass
+++ b/eclass/golang-vcs.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: golang-vcs.eclass
# @MAINTAINER:
# William Hubbs <williamh@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 7
# @PROVIDES: golang-base
# @BLURB: Eclass for fetching and unpacking go repositories.
# @DEPRECATED: go-module.eclass
@@ -13,7 +13,7 @@
# of software written in the Go programming language.
case ${EAPI} in
- 6|7) ;;
+ 7) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16 9:16 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-07-16 9:16 UTC (permalink / raw
To: gentoo-commits
commit: c481cf29fcea1af132e07064b91237353298d49b
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 9 20:23:21 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Jul 16 09:13:34 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c481cf29
golang-vcs-snapshot.eclass: Drop support for EAPI 6
All such usage has gone.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/golang-vcs-snapshot.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/golang-vcs-snapshot.eclass b/eclass/golang-vcs-snapshot.eclass
index d34b8a6e913d..a91ddbbe3615 100644
--- a/eclass/golang-vcs-snapshot.eclass
+++ b/eclass/golang-vcs-snapshot.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: golang-vcs-snapshot.eclass
# @MAINTAINER:
# William Hubbs <williamh@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 7
# @PROVIDES: golang-base
# @BLURB: eclass to unpack VCS snapshot tarballs for Go software
# @DEPRECATED: go-module.eclass
@@ -45,7 +45,7 @@
# and add the vendored tarballs to ${WORKDIR}/src/${EGO_PN}/vendor
case ${EAPI} in
- 6|7) ;;
+ 7) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-15 19:18 UTC (permalink / raw
To: gentoo-commits
commit: 419f11ba911c0136956fdb0aba3d59ff5c1799e1
Author: James Calligeros <jcalligeros99 <AT> gmail <DOT> com>
AuthorDate: Sat Jun 29 03:44:38 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Mon Jul 15 19:17:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=419f11ba
kernel-build.eclass: check that KV_FULL matches the kernel release
We want to ensure all our installed directories are consistent and
match the kernel's own idea of its release version. Do an extra
sanity check to ensure that KV_FULL is indeed what it is supposed
to be, and bail out if it isn't.
Signed-off-by: James Calligeros <jcalligeros99 <AT> gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 9ddc7793d6e6..d8e50e75812f 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -235,14 +235,22 @@ kernel-build_src_configure() {
cp -pR "${WORKDIR}"/modprep "${WORKDIR}"/build || die
# Now that we have a release file, set KV_FULL
+ local relfile=${WORKDIR}/build/include/config/kernel.release
if [[ -z ${KV_FULL} ]]; then
- local relfile=${WORKDIR}/build/include/config/kernel.release
KV_FULL=$(<"${relfile}") || die
fi
# Make sure we are about to build the correct kernel
if [[ ${PV} != *9999 ]]; then
local expected_ver=$(dist-kernel_PV_to_KV "${PV}")
+ local expected_rel=$(<"${relfile}")
+
+ if [[ ${KV_FULL} != ${expected_rel} ]]; then
+ eerror "KV_FULL mismatch!"
+ eerror "KV_FULL: ${KV_FULL}"
+ eerror "Expected: ${expected_rel}"
+ die "KV_FULL mismatch: got ${KV_FULL}, expected ${expected_rel}"
+ fi
if [[ ${KV_FULL} != ${expected_ver}* ]]; then
eerror "Kernel version does not match PV!"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-15 19:18 UTC (permalink / raw
To: gentoo-commits
commit: f2ba59930f7c125a321b2de19d1e9b52158b06bd
Author: James Calligeros <jcalligeros99 <AT> gmail <DOT> com>
AuthorDate: Sat Jul 13 12:47:33 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Mon Jul 15 19:17:09 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2ba5993
kernel-install.eclass: improve kernel version check
Now that we have an improved version check in kernel-build.eclass,
copy it here so that the two eclasses match.
Signed-off-by: James Calligeros <jcalligeros99 <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/37327
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index a90eae86123c..e6f0b404dcaa 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -610,11 +610,11 @@ kernel-install_pkg_preinst() {
local expected_ver=$(dist-kernel_PV_to_KV "${PV}")
if [[ ${KV_FULL} != ${expected_ver}* ]]; then
- eerror "Kernel release mismatch!"
- eerror " expected (PV): ${expected_ver}*"
- eerror " found: ${KV_FULL}"
- eerror "Please verify that you are applying the correct patches."
- die "Kernel release mismatch (${KV_FULL} instead of ${expected_ver}*)"
+ eerror "Kernel version does not match PV!"
+ eerror "Source version: ${KV_FULL}"
+ eerror "Expected (PV*): ${expected_ver}*"
+ eerror "Please ensure you are applying the correct patchset."
+ die "Kernel version mismatch: got ${KV_FULL}, expected ${expected_ver}*"
fi
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-15 19:18 UTC (permalink / raw
To: gentoo-commits
commit: 0fe5755c9ab6f76d50a6e6f74f91ac559d732668
Author: Zen <z <AT> pyl <DOT> onl>
AuthorDate: Fri Jun 28 18:04:35 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Mon Jul 15 19:15:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0fe5755c
kernel-install: Improve warning, consider alternate initrd generators
Signed-off-by: Zen <z <AT> pyl.onl>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 35 ++++++++++++++++++++++++-----------
1 file changed, 24 insertions(+), 11 deletions(-)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 77570a905ce1..9698b6be3562 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -63,7 +63,10 @@ _IDEPEND_BASE="
>=sys-kernel/installkernel-14
)
initramfs? (
- >=sys-kernel/installkernel-14[dracut(-)]
+ || (
+ >=sys-kernel/installkernel-14[dracut(-)]
+ >=sys-kernel/installkernel-14[ugrd(-)]
+ )
)
"
@@ -190,7 +193,7 @@ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
"
IDEPEND="
generic-uki? (
- >=sys-kernel/installkernel-14[-dracut(-),-ukify(-)]
+ >=sys-kernel/installkernel-14[-dracut(-),-ugrd(-),-ukify(-)]
)
!generic-uki? (
${_IDEPEND_BASE}
@@ -543,16 +546,26 @@ kernel-install_pkg_pretend() {
if ! use initramfs && ! has_version "${CATEGORY}/${PN}[-initramfs]"; then
ewarn
- ewarn "WARNING: The standard configuration of the Gentoo distribution"
- ewarn "kernels requires an initramfs! You have disabled the initramfs"
- ewarn "USE flag and as a result dracut was not pulled in as a dependency."
- ewarn "Please ensure that you are either overriding the standard"
- ewarn "configuration or that an alternative initramfs generation plugin"
- ewarn "is installed for your installkernel implementation!"
- ewarn
- ewarn "This is an advanced use case, you are on your own to ensure"
- ewarn "that your system is bootable!"
+ ewarn "WARNING: The default distribution kernel configuration is designed"
+ ewarn "to be used with an initramfs! Although possible, there is no guarantee"
+ ewarn "that distribution kernels will boot without an initramfs."
ewarn
+ ewarn "You have disabled the initramfs USE flag, and as a result the package manager"
+ ewarn "will not enforce the configuration of an initramfs generator in"
+ ewarn "sys-kernel/installkernel."
+ ewarn
+ ewarn "If you wish to use a custom initramfs generator, then please ensure that"
+ ewarn "/sbin/installkernel is capable of calling it via a kernel installation hook,"
+ ewarn "and is also configured to use it via /etc/kernel/install.conf."
+ ewarn
+ ewarn "If you wish to boot without an initramfs, then please ensure that"
+ ewarn "all kernel drivers required to boot your system are built into the"
+ ewarn "kernel by modifying the default distribution kernel configuration"
+ ewarn "using /etc/kernel/config.d"
+ ewarn
+ ewarn "Please refer to the installkernel and distribution kernel documentation:"
+ ewarn " https://wiki.gentoo.org/wiki/Installkernel"
+ ewarn " https://wiki.gentoo.org/wiki/Project:Distribution_Kernel"
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-15 19:18 UTC (permalink / raw
To: gentoo-commits
commit: da6193c02d0f4d9b96ce9d231e32b564f33b18ee
Author: James Calligeros <jcalligeros99 <AT> gmail <DOT> com>
AuthorDate: Thu Jun 27 05:56:44 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Mon Jul 15 19:17:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da6193c0
kernel-{build,install}.eclass: make kernel install paths match release
dist-kernel releases are required to match the package's version, with
'_' substituted for '-' as per kernel release format rules. Curiously,
we made no such substitution on the kernel install directory names.
The consequence of this is that Catalyst has technically only been
working with dist-kernels by pure coincidence - it had never been tested
with kernels containing '_' in ${PV}. When attempting to build install
media for the Gentoo Asahi project, which necessitates using kernels
versioned with '_p*', Catalyst's call to Dracut's --kver argument
passes in the name of the source directory while Dracut expects
the kernel release (module directory).
Make sure that all directories installed by the kernel match the
kernel's own idea of its version exactly. This fixes Catalyst,
makes directories like /usr/src/linux-* consistent with /lib/modules
For compatibility with existing bin kernels, KV_FULL will be
set to ${PV}${KV_LOCALVERSION} in kernel-install.eclass if it
has not been explicitly set elsewhere.
Signed-off-by: James Calligeros <jcalligeros99 <AT> gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 46 ++++++++++++++++++----------------
eclass/kernel-install.eclass | 59 ++++++++++++++++++++++++++------------------
2 files changed, 60 insertions(+), 45 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 1f0b07fdc3f9..89167124802b 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -20,6 +20,14 @@
# the kernel and installing it along with its modules and subset
# of sources needed to build external modules.
+# @ECLASS_VARIABLE: KV_FULL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# A string containing the full kernel release version, e.g.
+# '6.9.6-gentoo-dist'. This is used to ensure consistency between the
+# kernel's release version and Gentoo's tooling. This is set by
+# kernel-build_src_configure() once we have a kernel.release file.
+
case ${EAPI} in
8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
@@ -225,6 +233,12 @@ kernel-build_src_configure() {
emake O="${WORKDIR}"/modprep "${MAKEARGS[@]}" olddefconfig
emake O="${WORKDIR}"/modprep "${MAKEARGS[@]}" modules_prepare
cp -pR "${WORKDIR}"/modprep "${WORKDIR}"/build || die
+
+ # Now that we have a release file, set KV_FULL
+ if [[ -z ${KV_FULL} ]]; then
+ local relfile=${WORKDIR}/build/include/config/kernel.release
+ KV_FULL=$(<"${relfile}") || die
+ fi
}
# @FUNCTION: kernel-build_src_compile
@@ -254,20 +268,15 @@ kernel-build_src_test() {
INSTALL_MOD_PATH="${T}" INSTALL_MOD_STRIP="${strip_args}" \
modules_install
- local dir_ver=${PV}${KV_LOCALVERSION}
- local relfile=${WORKDIR}/build/include/config/kernel.release
- local module_ver
- module_ver=$(<"${relfile}") || die
-
- kernel-install_test "${module_ver}" \
+ kernel-install_test "${KV_FULL}" \
"${WORKDIR}/build/$(dist-kernel_get_image_path)" \
- "${T}/lib/modules/${module_ver}"
+ "${T}/lib/modules/${KV_FULL}"
}
# @FUNCTION: kernel-build_src_install
# @DESCRIPTION:
# Install the built kernel along with subset of sources
-# into /usr/src/linux-${PV}. Install the modules. Save the config.
+# into /usr/src/linux-${KV_FULL}. Install the modules. Save the config.
kernel-build_src_install() {
debug-print-function ${FUNCNAME} "${@}"
@@ -304,8 +313,7 @@ kernel-build_src_install() {
# note: we're using mv rather than doins to save space and time
# install main and arch-specific headers first, and scripts
local kern_arch=$(tc-arch-kernel)
- local dir_ver=${PV}${KV_LOCALVERSION}
- local kernel_dir=/usr/src/linux-${dir_ver}
+ local kernel_dir=/usr/src/linux-${KV_FULL}
if use sparc ; then
# We don't want tc-arch-kernel's sparc64, even though we do
@@ -378,10 +386,6 @@ kernel-build_src_install() {
# strip empty directories
find "${D}" -type d -empty -exec rmdir {} + || die
- local relfile=${ED}${kernel_dir}/include/config/kernel.release
- local module_ver
- module_ver=$(<"${relfile}") || die
-
# warn when trying to "make" a dist-kernel
cat <<-EOF >> "${ED}${kernel_dir}/Makefile" || die
@@ -399,12 +403,12 @@ kernel-build_src_install() {
echo "${CATEGORY}/${PF}:${SLOT}" > "${ED}${kernel_dir}/dist-kernel" || die
# fix source tree and build dir symlinks
- dosym "../../../${kernel_dir}" "/lib/modules/${module_ver}/build"
- dosym "../../../${kernel_dir}" "/lib/modules/${module_ver}/source"
+ dosym "../../../${kernel_dir}" "/lib/modules/${KV_FULL}/build"
+ dosym "../../../${kernel_dir}" "/lib/modules/${KV_FULL}/source"
if [[ "${image_path}" == *vmlinux* ]]; then
- dosym "../../../${kernel_dir}/${image_path}" "/lib/modules/${module_ver}/vmlinux"
+ dosym "../../../${kernel_dir}/${image_path}" "/lib/modules/${KV_FULL}/vmlinux"
else
- dosym "../../../${kernel_dir}/${image_path}" "/lib/modules/${module_ver}/vmlinuz"
+ dosym "../../../${kernel_dir}/${image_path}" "/lib/modules/${KV_FULL}/vmlinuz"
fi
if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
@@ -435,7 +439,7 @@ kernel-build_src_install() {
--conf "${T}/empty-file"
--confdir "${T}/empty-directory"
--kernel-image "${image}"
- --kmoddir "${ED}/lib/modules/${dir_ver}"
+ --kmoddir "${ED}/lib/modules/${KV_FULL}"
--kver "${dir_ver}"
--verbose
--compress="xz -9e --check=crc32"
@@ -462,7 +466,7 @@ kernel-build_src_install() {
--linux="${image}"
--initrd="${image%/*}/initrd"
--cmdline="${KERNEL_GENERIC_UKI_CMDLINE}"
- --uname="${dir_ver}"
+ --uname="${KV_FULL}"
--output="${image%/*}/uki.efi"
)
@@ -520,7 +524,7 @@ kernel-build_pkg_postinst() {
ewarn
ewarn "MODULES_SIGN_KEY was not set, this means the kernel build system"
ewarn "automatically generated the signing key. This key was installed"
- ewarn "in ${EROOT}/usr/src/linux-${PV}${KV_LOCALVERSION}/certs"
+ ewarn "in ${EROOT}/usr/src/linux-${KV_FULL}/certs"
ewarn "and will also be included in any binary packages."
ewarn "Please take appropriate action to protect the key!"
ewarn
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 9698b6be3562..a90eae86123c 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -26,6 +26,15 @@
# If set to a non-null value, adds IUSE=generic-uki and required
# logic to install a generic unified kernel image.
+# @ECLASS_VARIABLE: KV_FULL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# A string containing the full kernel release version, e.g.
+# '6.9.6-gentoo-dist'. Defaults to ${PV}${KV_LOCALVERSION},
+# but can be set by the ebuild when this default value does
+# not match the kernel release. kernel-build.eclass sets this
+# to whatever is in the built kernel's kernel.release file.
+
# @ECLASS_VARIABLE: KV_LOCALVERSION
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -584,40 +593,40 @@ kernel-install_src_test() {
kernel-install_pkg_preinst() {
debug-print-function ${FUNCNAME} "${@}"
- local dir_ver=${PV}${KV_LOCALVERSION}
- local kernel_dir=${ED}/usr/src/linux-${dir_ver}
- local relfile=${kernel_dir}/include/config/kernel.release
+ # Set KV_FULL to ${PV}${KV_LOCALVERSION} if it hasn't
+ # been set elsewhere for backward compatibility with existing
+ # bin-kernel packages
+ if [[ -z ${KV_FULL} ]]; then
+ KV_FULL=${PV}${KV_LOCALVERSION}
+ fi
+
+ local kernel_dir=${ED}/usr/src/linux-${KV_FULL}
local image_path=$(dist-kernel_get_image_path)
[[ ! -d ${kernel_dir} ]] &&
die "Kernel directory ${kernel_dir} not installed!"
- [[ ! -f ${relfile} ]] &&
- die "Release file ${relfile} not installed!"
- local release
- release="$(<"${relfile}")" || die
- DIST_KERNEL_RELEASE="${release}"
# perform the version check for release ebuilds only
if [[ ${PV} != *9999 ]]; then
local expected_ver=$(dist-kernel_PV_to_KV "${PV}")
- if [[ ${release} != ${expected_ver}* ]]; then
+ if [[ ${KV_FULL} != ${expected_ver}* ]]; then
eerror "Kernel release mismatch!"
eerror " expected (PV): ${expected_ver}*"
- eerror " found: ${release}"
+ eerror " found: ${KV_FULL}"
eerror "Please verify that you are applying the correct patches."
- die "Kernel release mismatch (${release} instead of ${expected_ver}*)"
+ die "Kernel release mismatch (${KV_FULL} instead of ${expected_ver}*)"
fi
fi
if [[ -L ${EROOT}/lib && ${EROOT}/lib -ef ${EROOT}/usr/lib ]]; then
# Adjust symlinks for merged-usr.
- 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"
+ rm "${ED}/lib/modules/${KV_FULL}"/{build,source} || die
+ dosym "../../../src/linux-${KV_FULL}" "/usr/lib/modules/${KV_FULL}/build"
+ dosym "../../../src/linux-${KV_FULL}" "/usr/lib/modules/${KV_FULL}/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}"
+ if [[ -L "${ED}/lib/modules/${KV_FULL}/${file}" ]]; then
+ rm "${ED}/lib/modules/${KV_FULL}/${file}" || die
+ dosym "../../../src/linux-${KV_FULL}/${image_path}" "/usr/lib/modules/${KV_FULL}/${file}"
fi
done
fi
@@ -691,13 +700,12 @@ kernel-install_install_all() {
kernel-install_pkg_postinst() {
debug-print-function ${FUNCNAME} "${@}"
- local dir_ver=${PV}${KV_LOCALVERSION}
- kernel-install_update_symlink "${EROOT}/usr/src/linux" "${dir_ver}"
+ kernel-install_update_symlink "${EROOT}/usr/src/linux" "${KV_FULL}"
dist-kernel_compressed_module_cleanup \
- "${EROOT}/lib/modules/${DIST_KERNEL_RELEASE}"
+ "${EROOT}/lib/modules/${KV_FULL}"
if [[ -z ${ROOT} ]]; then
- kernel-install_install_all "${dir_ver}"
+ kernel-install_install_all "${KV_FULL}"
fi
if [[ ${KERNEL_IUSE_GENERIC_UKI} ]] && use generic-uki; then
@@ -721,8 +729,7 @@ kernel-install_pkg_postrm() {
debug-print-function ${FUNCNAME} "${@}"
if [[ -z ${ROOT} && ! ${KERNEL_IUSE_GENERIC_UKI} ]]; then
- local dir_ver=${PV}${KV_LOCALVERSION}
- local kernel_dir=${EROOT}/usr/src/linux-${dir_ver}
+ local kernel_dir=${EROOT}/usr/src/linux-${KV_FULL}
local image_path=$(dist-kernel_get_image_path)
ebegin "Removing initramfs"
rm -f "${kernel_dir}/${image_path%/*}"/{initrd,uki.efi} &&
@@ -737,7 +744,11 @@ kernel-install_pkg_postrm() {
kernel-install_pkg_config() {
[[ -z ${ROOT} ]] || die "ROOT!=/ not supported currently"
- kernel-install_install_all "${PV}${KV_LOCALVERSION}"
+ if [[ -z ${KV_FULL} ]]; then
+ KV_FULL=${PV}${KV_LOCALVERSION}
+ fi
+
+ kernel-install_install_all "${KV_FULL}"
}
# @FUNCTION: kernel-install_compress_modules
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-07-15 19:18 UTC (permalink / raw
To: gentoo-commits
commit: fa0ab4edb83c6e9ca7729ca847fdf60bfd051fb0
Author: James Calligeros <jcalligeros99 <AT> gmail <DOT> com>
AuthorDate: Sat Jun 29 01:55:12 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Mon Jul 15 19:17:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa0ab4ed
kernel-build.eclass: sanity check the prepared kernel's release string
Previously, this was only checked by kernel-install_pkg_preinst(). This
means that the entire kernel would have to be built and stripped before
we knew if we had built the correct kernel or not.
Duplicate this check in kernel-build_src_configure() so that we don't waste
time and energy building an incorrectly-versioned kernel.
Signed-off-by: James Calligeros <jcalligeros99 <AT> gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 89167124802b..9ddc7793d6e6 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -239,6 +239,19 @@ kernel-build_src_configure() {
local relfile=${WORKDIR}/build/include/config/kernel.release
KV_FULL=$(<"${relfile}") || die
fi
+
+ # Make sure we are about to build the correct kernel
+ if [[ ${PV} != *9999 ]]; then
+ local expected_ver=$(dist-kernel_PV_to_KV "${PV}")
+
+ if [[ ${KV_FULL} != ${expected_ver}* ]]; then
+ eerror "Kernel version does not match PV!"
+ eerror "Source version: ${KV_FULL}"
+ eerror "Expected (PV*): ${expected_ver}*"
+ eerror "Please ensure you are applying the correct patchset."
+ die "Kernel version mismatch: got ${KV_FULL}, expected ${expected_ver}*"
+ fi
+ fi
}
# @FUNCTION: kernel-build_src_compile
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 7:17 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-07-15 7:17 UTC (permalink / raw
To: gentoo-commits
commit: c25d7587a0c8f7aeef7fb39f99abca0e34ea0f51
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 15 07:17:11 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Mon Jul 15 07:17:11 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c25d7587
gnome.org.eclass: remove EAPI 5 and 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/gnome.org.eclass | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/eclass/gnome.org.eclass b/eclass/gnome.org.eclass
index 760dc2ba0b66..70884edefef7 100644
--- a/eclass/gnome.org.eclass
+++ b/eclass/gnome.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: gnome.org.eclass
@@ -7,22 +7,19 @@
# @AUTHOR:
# Authors: Spidler <spidler@gentoo.org> with help of carparski.
# eclass variable additions and documentation: Gilles Dartiguelongue <eva@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Helper eclass for gnome.org hosted archives
# @DESCRIPTION:
# Provide a default SRC_URI for tarball hosted on gnome.org mirrors.
case ${EAPI} in
- 5|6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
if [[ -z ${_GNOME_ORG_ECLASS} ]] ; then
_GNOME_ORG_ECLASS=1
-# versionator inherit kept for older EAPIs due to ebuilds (potentially) relying on it
-[[ ${EAPI} == [56] ]] && inherit eapi7-ver versionator
-
# @ECLASS_VARIABLE: GNOME_TARBALL_SUFFIX
# @PRE_INHERIT
# @DESCRIPTION:
@@ -33,19 +30,13 @@ _GNOME_ORG_ECLASS=1
# Even though xz-utils are in @system, they must still be added to BDEPEND; see
# https://archives.gentoo.org/gentoo-dev/msg_a0d4833eb314d1be5d5802a3b710e0a4.xml
-if [[ ${GNOME_TARBALL_SUFFIX} == "xz" ]]; then
- if [[ ${EAPI} != [56] ]]; then
- BDEPEND="app-arch/xz-utils"
- else
- DEPEND="app-arch/xz-utils"
- fi
-fi
+[[ ${GNOME_TARBALL_SUFFIX} == "xz" ]] && BDEPEND="app-arch/xz-utils"
# @ECLASS_VARIABLE: GNOME_ORG_MODULE
# @DESCRIPTION:
# Name of the module as hosted on gnome.org mirrors.
# Leave unset if package name matches module name.
-: "${GNOME_ORG_MODULE:=$PN}"
+: "${GNOME_ORG_MODULE:=${PN}}"
# @ECLASS_VARIABLE: GNOME_ORG_RELEASE
# @INTERNAL
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 7:17 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-07-15 7:17 UTC (permalink / raw
To: gentoo-commits
commit: 522ff35dae0aa2ee48111d7c4ffad9e749e72cde
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 15 07:17:12 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Mon Jul 15 07:17:12 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=522ff35d
gnome2-utils.eclass: remove EAPI 5 and 6
Closes: https://github.com/gentoo/gentoo/pull/37081
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/gnome2-utils.eclass | 97 ++++++++++++++++------------------------------
1 file changed, 34 insertions(+), 63 deletions(-)
diff --git a/eclass/gnome2-utils.eclass b/eclass/gnome2-utils.eclass
index bbee2a419dfc..dd4014c09bf7 100644
--- a/eclass/gnome2-utils.eclass
+++ b/eclass/gnome2-utils.eclass
@@ -4,7 +4,7 @@
# @ECLASS: gnome2-utils.eclass
# @MAINTAINER:
# gnome@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: xdg-utils
# @BLURB: Auxiliary functions commonly used by Gnome packages.
# @DESCRIPTION:
@@ -15,13 +15,12 @@
# * GConf schemas management
# * scrollkeeper (old Gnome help system) management
-[[ ${EAPI} == 5 ]] && inherit multilib
# toolchain-funs.eclass: tc-is-cross-compiler
# xdg-utils.eclass: xdg_environment_reset, xdg_icon_cache_update
inherit toolchain-funcs xdg-utils
case ${EAPI} in
- 5|6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -100,7 +99,7 @@ gnome2_environment_reset() {
# Ensure we don't rely on dconf/gconf while building, bug #511946
export GSETTINGS_BACKEND="memory"
- if has ${EAPI} 6 7; then
+ if [[ ${EAPI} == 7 ]]; then
# Try to cover the packages honoring this variable, bug #508124
export GST_INSPECT="$(type -P true)"
@@ -126,7 +125,7 @@ gnome2_gconf_savelist() {
# using gconftool-2.
# This function should be called from pkg_postinst.
gnome2_gconf_install() {
- local updater="${EROOT%/}${GCONFTOOL_BIN}"
+ local updater="${EROOT}${GCONFTOOL_BIN}"
if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then
debug-print "No GNOME 2 GConf schemas found"
@@ -148,15 +147,15 @@ gnome2_gconf_install() {
# We are ready to install the GCONF Scheme now
unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
- export GCONF_CONFIG_SOURCE="$("${updater}" --get-default-source | sed "s;:/;:${ROOT%/}/;")"
+ export GCONF_CONFIG_SOURCE="$("${updater}" --get-default-source | sed "s;:/;:${ROOT}/;")"
einfo "Installing GNOME 2 GConf schemas"
local F
for F in ${GNOME2_ECLASS_SCHEMAS}; do
- if [[ -e "${EROOT%/}/${F}" ]]; then
+ if [[ -e "${EROOT}/${F}" ]]; then
debug-print "Installing schema: ${F}"
- "${updater}" --makefile-install-rule "${EROOT%/}/${F}" 1>/dev/null
+ "${updater}" --makefile-install-rule "${EROOT}/${F}" 1>/dev/null
fi
done
@@ -174,7 +173,7 @@ gnome2_gconf_install() {
# Removes schema files previously installed by the current ebuild from Gconf's
# database.
gnome2_gconf_uninstall() {
- local updater="${EROOT%/}${GCONFTOOL_BIN}"
+ local updater="${EROOT}${GCONFTOOL_BIN}"
if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then
debug-print "No GNOME 2 GConf schemas found"
@@ -194,15 +193,15 @@ gnome2_gconf_uninstall() {
fi
unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
- export GCONF_CONFIG_SOURCE="$("${updater}" --get-default-source | sed "s;:/;:${ROOT%/}/;")"
+ export GCONF_CONFIG_SOURCE="$("${updater}" --get-default-source | sed "s;:/;:${ROOT}/;")"
einfo "Uninstalling GNOME 2 GConf schemas"
local F
for F in ${GNOME2_ECLASS_SCHEMAS}; do
- if [[ -e "${EROOT%/}/${F}" ]]; then
+ if [[ -e "${EROOT}/${F}" ]]; then
debug-print "Uninstalling gconf schema: ${F}"
- "${updater}" --makefile-uninstall-rule "${EROOT%/}/${F}" 1>/dev/null
+ "${updater}" --makefile-uninstall-rule "${EROOT}/${F}" 1>/dev/null
fi
done
@@ -221,31 +220,29 @@ gnome2_gconf_uninstall() {
# calls to scrollkeeper-update and sandbox violations.
# This function should be called from src_prepare.
gnome2_omf_fix() {
- local omf_makefiles filename
-
- omf_makefiles="$@"
+ local omf_makefiles=( "$@" )
if [[ -f ${S}/omf.make ]] ; then
- omf_makefiles="${omf_makefiles} ${S}/omf.make"
+ omf_makefiles+=( "${S}"/omf.make )
fi
if [[ -f ${S}/gnome-doc-utils.make ]] ; then
- omf_makefiles="${omf_makefiles} ${S}/gnome-doc-utils.make"
+ omf_makefiles+=( "${S}"/gnome-doc-utils.make )
fi
# testing fixing of all makefiles found
# The sort is important to ensure .am is listed before the respective .in for
# maintainer mode regeneration not kicking in due to .am being newer than .in
- for filename in $(find "${S}" -name "Makefile.in" -o -name "Makefile.am" |sort) ; do
- omf_makefiles="${omf_makefiles} ${filename}"
- done
+ local filename
+ while IFS="" read -r filename ; do
+ omf_makefiles+=( "${filename}" )
+ done < <(find "${S}" -name "Makefile.in" -o -name "Makefile.am" | sort)
ebegin "Fixing OMF Makefiles"
- local retval=0
+ local omf retval=0
local fails=( )
-
- for omf in ${omf_makefiles} ; do
+ for omf in "${omf_makefiles[@]}" ; do
sed -i -e 's:scrollkeeper-update:true:' "${omf}"
retval=$?
@@ -253,7 +250,7 @@ gnome2_omf_fix() {
debug-print "updating of ${omf} failed"
# Add to the list of failures
- fails[$(( ${#fails[@]} + 1 ))]=$omf
+ fails+=( "${omf}" )
retval=2
fi
@@ -261,6 +258,7 @@ gnome2_omf_fix() {
eend $retval
+ local f
for f in "${fails[@]}" ; do
eerror "Failed to update OMF Makefile $f"
done
@@ -282,7 +280,7 @@ gnome2_scrollkeeper_savelist() {
# Updates the global scrollkeeper database.
# This function should be called from pkg_postinst and pkg_postrm.
gnome2_scrollkeeper_update() {
- local updater="${EROOT%/}${SCROLLKEEPER_UPDATE_BIN}"
+ local updater="${EROOT}${SCROLLKEEPER_UPDATE_BIN}"
if [[ -z "${GNOME2_ECLASS_SCROLLS}" ]]; then
debug-print "No scroll cache to update"
@@ -303,7 +301,7 @@ gnome2_scrollkeeper_update() {
fi
ebegin "Updating scrollkeeper database ..."
- "${updater}" -q -p "${EROOT%/}${SCROLLKEEPER_DIR}"
+ "${updater}" -q -p "${EROOT}${SCROLLKEEPER_DIR}"
eend $?
}
@@ -324,7 +322,7 @@ gnome2_schemas_savelist() {
# Updates GSettings schemas.
# This function should be called from pkg_postinst and pkg_postrm.
gnome2_schemas_update() {
- local updater="${EROOT%/}${GLIB_COMPILE_SCHEMAS}"
+ local updater="${EROOT}${GLIB_COMPILE_SCHEMAS}"
if tc-is-cross-compiler ; then
ewarn "Updating of GSettings schemas skipped due to cross-compilation."
@@ -340,7 +338,7 @@ gnome2_schemas_update() {
fi
ebegin "Updating GSettings schemas"
- ${updater} --allow-any-name "$@" "${EROOT%/}/usr/share/glib-2.0/schemas" &>/dev/null
+ ${updater} --allow-any-name "$@" "${EROOT}/usr/share/glib-2.0/schemas" &>/dev/null
eend $?
}
@@ -360,8 +358,8 @@ gnome2_gdk_pixbuf_savelist() {
# Updates gdk-pixbuf loader cache if GNOME2_ECLASS_GDK_PIXBUF_LOADERS has some.
# This function should be called from pkg_postinst and pkg_postrm.
gnome2_gdk_pixbuf_update() {
- local updater="${EROOT%/}/usr/bin/${CHOST}-gdk-pixbuf-query-loaders"
- [[ -x ${updater} ]] || updater="${EROOT%/}/usr/bin/gdk-pixbuf-query-loaders"
+ local updater="${EROOT}/usr/bin/${CHOST}-gdk-pixbuf-query-loaders"
+ [[ -x ${updater} ]] || updater="${EROOT}/usr/bin/gdk-pixbuf-query-loaders"
if tc-is-cross-compiler ; then
ewarn "Updating of gdk-pixbuf loader cache skipped due to cross-compilation."
@@ -380,7 +378,7 @@ gnome2_gdk_pixbuf_update() {
local tmp_file=$(mktemp "${T}"/tmp.XXXXXXXXXX) || die "Failed to create temporary file"
${updater} 1> "${tmp_file}" &&
chmod 0644 "${tmp_file}" &&
- cp -f "${tmp_file}" "${EROOT%/}/usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache" &&
+ cp -f "${tmp_file}" "${EROOT}/usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache" &&
rm "${tmp_file}" # don't replace this with mv, required for SELinux support
eend $?
}
@@ -398,7 +396,7 @@ gnome2_query_immodules_gtk2() {
fi
ebegin "Updating gtk2 input method module cache"
- GTK_IM_MODULE_FILE="${EROOT%/}/usr/$(get_libdir)/gtk-2.0/2.10.0/immodules.cache" \
+ GTK_IM_MODULE_FILE="${EROOT}/usr/$(get_libdir)/gtk-2.0/2.10.0/immodules.cache" \
"${updater}" --update-cache
eend $?
}
@@ -416,7 +414,7 @@ gnome2_query_immodules_gtk3() {
fi
ebegin "Updating gtk3 input method module cache"
- GTK_IM_MODULE_FILE="${EROOT%/}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" \
+ GTK_IM_MODULE_FILE="${EROOT}/usr/$(get_libdir)/gtk-3.0/3.0.0/immodules.cache" \
"${updater}" --update-cache
eend $?
}
@@ -426,8 +424,8 @@ gnome2_query_immodules_gtk3() {
# Updates glib's gio modules cache.
# This function should be called from pkg_postinst and pkg_postrm.
gnome2_giomodule_cache_update() {
- local updater="${EROOT%/}/usr/bin/${CHOST}-gio-querymodules"
- [[ -x ${updater} ]] || updater="${EROOT%/}/usr/bin/gio-querymodules"
+ local updater="${EROOT}/usr/bin/${CHOST}-gio-querymodules"
+ [[ -x ${updater} ]] || updater="${EROOT}/usr/bin/gio-querymodules"
if tc-is-cross-compiler ; then
ewarn "Updating of GIO modules cache skipped due to cross-compilation."
@@ -443,7 +441,7 @@ gnome2_giomodule_cache_update() {
fi
ebegin "Updating GIO modules cache"
- ${updater} "${EROOT%/}"/usr/$(get_libdir)/gio/modules
+ ${updater} "${EROOT}"/usr/$(get_libdir)/gio/modules
eend $?
}
@@ -486,30 +484,3 @@ gnome2_disable_deprecation_warning() {
ewarn "Failed to disable deprecation warnings in ${makefile}"
done
}
-
-case ${EAPI} in
-5|6)
-
-# @FUNCTION: gnome2_icon_savelist
-# @DESCRIPTION:
-# Find the icons that are about to be installed and save their location
-# in the GNOME2_ECLASS_ICONS environment variable. This is only
-# necessary for eclass implementations that call
-# gnome2_icon_cache_update conditionally.
-# This function should be called from pkg_preinst.
-gnome2_icon_savelist() {
- pushd "${ED}" > /dev/null || die
- export GNOME2_ECLASS_ICONS=$(find 'usr/share/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null)
- popd > /dev/null || die
-}
-
-# @FUNCTION: gnome2_icon_cache_update
-# @DESCRIPTION:
-# Updates Gtk+ icon cache files under /usr/share/icons.
-# Deprecated. Please use xdg_icon_cache_update from xdg-utils.eclass
-gnome2_icon_cache_update() {
- xdg_icon_cache_update
-}
-
-;;
-esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 7:17 David Seifert
0 siblings, 0 replies; 6228+ messages in thread
From: David Seifert @ 2024-07-15 7:17 UTC (permalink / raw
To: gentoo-commits
commit: c217f7f5b128ab7af67fe085716dbcec993d6b7f
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 15 07:17:10 2024 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Mon Jul 15 07:17:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c217f7f5
gnome2.eclass: remove EAPI 6
Signed-off-by: David Seifert <soap <AT> gentoo.org>
eclass/gnome2.eclass | 38 +++++++++++---------------------------
1 file changed, 11 insertions(+), 27 deletions(-)
diff --git a/eclass/gnome2.eclass b/eclass/gnome2.eclass
index 66de2df97f9f..9ef5d92a1c9e 100644
--- a/eclass/gnome2.eclass
+++ b/eclass/gnome2.eclass
@@ -4,7 +4,7 @@
# @ECLASS: gnome2.eclass
# @MAINTAINER:
# gnome@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: gnome2-utils
# @BLURB: Provides phases for Gnome/Gtk+ based packages.
# @DESCRIPTION:
@@ -12,7 +12,7 @@
# GNOME framework. For additional functions, see gnome2-utils.eclass.
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -22,11 +22,9 @@ _GNOME2_ECLASS=1
# @ECLASS_VARIABLE: GNOME2_EAUTORECONF
# @DEFAULT_UNSET
# @DESCRIPTION:
-# Run eautoreconf instead of only elibtoolize
-GNOME2_EAUTORECONF=${GNOME2_EAUTORECONF:-""}
+# Run eautoreconf instead of only elibtoolize if set to "yes".
[[ ${GNOME2_EAUTORECONF} == yes ]] && inherit autotools
-[[ ${EAPI} == 6 ]] && inherit ltprune
inherit libtool gnome.org gnome2-utils xdg
@@ -34,7 +32,6 @@ inherit libtool gnome.org gnome2-utils xdg
# @DEFAULT_UNSET
# @DESCRIPTION:
# Extra options passed to elibtoolize
-ELTCONF=${ELTCONF:-""}
# @ECLASS_VARIABLE: GNOME2_ECLASS_GIO_MODULES
# @INTERNAL
@@ -42,13 +39,10 @@ ELTCONF=${ELTCONF:-""}
# Array containing glib GIO modules
# @ECLASS_VARIABLE: GNOME2_LA_PUNT
+# @DEFAULT_UNSET
# @DESCRIPTION:
-# In EAPI 6, it relies on prune_libtool_files (from ltprune.eclass) for
-# this. Later EAPIs use find ... -delete. Available values for GNOME2_LA_PUNT:
-# - "no": will not clean any .la files
-# - "yes": will run prune_libtool_files --modules
-# - If it is not set, it will run prune_libtool_files
-GNOME2_LA_PUNT=${GNOME2_LA_PUNT:-""}
+# If set to "no", no .la files will be cleaned, otherwise
+# will run "find ... -delete" in src_install.
# @FUNCTION: gnome2_src_prepare
# @DESCRIPTION:
@@ -141,8 +135,7 @@ gnome2_src_install() {
export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL="1"
local sk_tmp_dir="/var/lib/scrollkeeper"
- # scrollkeeper-update from rarian doesn't do anything. Then, since eapi6
- # we stop taking care of it
+ # scrollkeeper-update from rarian doesn't do anything.
#
# if this is not present, scrollkeeper-update may segfault and
# create bogus directories in /var/lib/
@@ -150,9 +143,8 @@ gnome2_src_install() {
unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
- # Handle documentation as 'default' for eapi5, bug #373131
- # Since eapi6 this is handled by default on its own plus MAINTAINERS and HACKING
- # files that are really common in gnome packages (bug #573390)
+ # Install MAINTAINERS and HACKING which are really common
+ # in gnome packages (bug #573390)
local d
for d in HACKING MAINTAINERS; do
[[ -s ${d} ]] && dodoc "${d}"
@@ -170,16 +162,8 @@ gnome2_src_install() {
rm -rf "${ED}/usr/share/applications/mimeinfo.cache" || die
# Delete all .la files
- if has ${EAPI} 6; then
- case "${GNOME2_LA_PUNT}" in
- yes) prune_libtool_files --modules;;
- no) ;;
- *) prune_libtool_files;;
- esac
- else
- if [[ ${GNOME2_LA_PUNT} != 'no' ]]; then
- find "${ED}" -name '*.la' -delete || die
- fi
+ if [[ ${GNOME2_LA_PUNT} != no ]]; then
+ find "${ED}" -type f -name '*.la' -delete || die
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-14 17:45 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-07-14 17:45 UTC (permalink / raw
To: gentoo-commits
commit: 932e9f9bc3c2d55a8ffc680d9146b2852148f4ba
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 9 17:07:23 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Sun Jul 14 17:44:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=932e9f9b
rebar3.eclass: add new eclass
Add a new eclass for dev-util/rebar:3, based on the work of Anna
Vyalkova in ::guru (thanks!).
The Erlang/OTP ecosystem is moving to Rebar3. Upstreams start to drop
support for Rebar2, or at least consider it.
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/rebar3.eclass | 194 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 194 insertions(+)
diff --git a/eclass/rebar3.eclass b/eclass/rebar3.eclass
new file mode 100644
index 000000000000..f6383b9c8cdd
--- /dev/null
+++ b/eclass/rebar3.eclass
@@ -0,0 +1,194 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: rebar3.eclass
+# @MAINTAINER:
+# Florian Schmaus <flow@gentoo.org>
+# @AUTHOR:
+# Amadeusz Żołnowski <aidecoe@gentoo.org>
+# Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in>
+# @SUPPORTED_EAPIS: 8
+# @PROVIDES: rebar-utils
+# @BLURB: Build Erlang/OTP projects using dev-util/rebar:3.
+# @DESCRIPTION:
+# An eclass providing functions to build Erlang/OTP projects using
+# dev-util/rebar:3.
+#
+# rebar is a tool which tries to resolve dependencies itself which is by
+# cloning remote git repositories. Dependent projects are usually expected to
+# be in sub-directory 'deps' rather than looking at system Erlang lib
+# directory. Projects relying on rebar usually don't have 'install' make
+# targets. The eclass workarounds some of these problems. It handles
+# installation in a generic way for Erlang/OTP structured projects.
+
+case ${EAPI} in
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ -z ${_REBAR3_ECLASS} ]]; then
+_REBAR3_ECLASS=1
+
+inherit edo rebar-utils
+
+RDEPEND="dev-lang/erlang:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/rebar:3
+ >=sys-apps/gawk-4.1
+"
+
+# @ECLASS_VARIABLE: REBAR_PROFILE
+# @DESCRIPTION:
+# Rebar profile to use. Defaults to
+# 'default'.
+: "${REBAR_PROFILE:=default}"
+
+# @FUNCTION: _rebar_find_dep
+# @INTERNAL
+# @USAGE: <project_name>
+# @RETURN: 0 success, 1 dependency not found, 2 multiple versions found
+# @DESCRIPTION:
+# Find a Erlang package/project by name in Erlang lib directory. Project
+# directory is usually suffixed with version. It is matched to '<project_name>'
+# or '<project_name>-*'.
+_rebar_find_dep() {
+ local pn="${1}"
+ local p
+ local result
+
+ pushd "${EPREFIX}$(get_erl_libs)" >/dev/null || return 1
+ for p in ${pn} ${pn}-*; do
+ if [[ -d ${p} ]]; then
+ # Ensure there's at most one matching.
+ [[ ${result} ]] && return 2
+ result="${p}"
+ fi
+ done
+ popd >/dev/null || die
+
+ [[ ${result} ]] || return 1
+ echo "${result}"
+}
+
+# @FUNCTION: erebar3
+# @USAGE: <targets>
+# @DESCRIPTION:
+# Run rebar with verbose flag. Die on failure.
+erebar3() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ (( $# > 0 )) || die "${FUNCNAME}: at least one target is required"
+
+ case ${1} in
+ eunit|ct)
+ local -x ERL_LIBS="." ;;
+ *)
+ local -x ERL_LIBS="${EPREFIX}$(get_erl_libs)" ;;
+ esac
+
+ local -x HEX_OFFLINE=true
+ edo rebar3 "$@"
+}
+
+# @FUNCTION: rebar3_src_prepare
+# @DESCRIPTION:
+# Prevent rebar3 from fetching and compiling dependencies. Set version in
+# project description file if it's not set.
+#
+# Existence of rebar.config is optional, but file description file must exist
+# at 'src/${PN}.app.src'.
+rebar3_src_prepare() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ default
+ rebar_set_vsn
+
+ if [[ -f rebar.lock ]]; then
+ rm rebar.lock || die
+ fi
+
+ if [[ -f rebar.config ]]; then
+ rebar_disable_coverage
+ rebar_remove_deps
+ fi
+}
+
+# @FUNCTION: rebar3_src_configure
+# @DESCRIPTION:
+# Configure with ERL_LIBS set.
+rebar3_src_configure() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local -x ERL_LIBS="${EPREFIX}$(get_erl_libs)"
+ default
+}
+
+# @FUNCTION: rebar3_src_compile
+# @DESCRIPTION:
+# Compile project with rebar3.
+rebar3_src_compile() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ erebar3 as "${REBAR_PROFILE}" release --all
+}
+
+# @FUNCTION: rebar3_src_test
+# @DESCRIPTION:
+# Run unit tests.
+rebar3_src_test() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ erebar3 eunit -v
+}
+
+# @FUNCTION: rebar3_install_lib
+# @USAGE: <dir>
+# @DESCRIPTION:
+# Install BEAM files, include headers and native libraries.
+#
+# Function expects that project conforms to Erlang/OTP structure.
+rebar3_install_lib() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local dest="$(get_erl_libs)/${P}"
+ insinto "${dest}"
+
+ pushd "${1?}" >/dev/null || die
+ for dir in ebin include priv; do
+ if [[ -d ${dir} && ! -L ${dir} ]]; then
+ doins -r "${dir}"
+ fi
+ done
+ popd >/dev/null || die
+}
+
+# @FUNCTION: rebar3_src_install
+# @DESCRIPTION:
+# Install built release or library.
+#
+# Function expects that project conforms to Erlang/OTP structure.
+rebar3_src_install() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ pushd "_build/${REBAR_PROFILE}" >/dev/null || die
+ if [[ -d rel/${PN} ]]; then
+ if ! declare -f rebar3_install_release >/dev/null; then
+ die "${FUNCNAME}: a custom function named 'rebar3_install_release' is required to install a release"
+ fi
+ pushd rel/${PN} >/dev/null || die
+ rebar3_install_release || die
+ popd >/dev/null || die
+ elif [[ -d lib/${PN} ]]; then
+ rebar3_install_lib lib/${PN}
+ else
+ die "No releases or libraries to install"
+ fi
+ popd >/dev/null || die
+
+ einstalldocs
+}
+
+fi
+
+EXPORT_FUNCTIONS src_prepare src_compile src_test src_install
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-14 17:45 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-07-14 17:45 UTC (permalink / raw
To: gentoo-commits
commit: 44050f01a5de42d7c329e8e358cd42c4c9e9aeb8
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 9 17:06:12 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Sun Jul 14 17:44:38 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44050f01
rebar.eclass: factor out common functions into rebar-utils.eclass
In preperation for rebar3.eclass, factor out common functions into rebar-utils.eclass.
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/{rebar.eclass => rebar-utils.eclass} | 120 +++-------------------------
eclass/rebar.eclass | 112 +-------------------------
2 files changed, 13 insertions(+), 219 deletions(-)
diff --git a/eclass/rebar.eclass b/eclass/rebar-utils.eclass
similarity index 58%
copy from eclass/rebar.eclass
copy to eclass/rebar-utils.eclass
index 97638c761814..5657908eb8e9 100644
--- a/eclass/rebar.eclass
+++ b/eclass/rebar-utils.eclass
@@ -1,43 +1,30 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# @ECLASS: rebar.eclass
+# @ECLASS: rebar-utils.eclass
# @MAINTAINER:
-# maintainer-needed@gentoo.org
+# Florian Schmaus <flow@gentoo.org>
# @AUTHOR:
# Amadeusz Żołnowski <aidecoe@gentoo.org>
# @SUPPORTED_EAPIS: 7 8
-# @BLURB: Build Erlang/OTP projects using dev-util/rebar.
+# @BLURB: Auxiliary functions for using dev-util/rebar.
# @DESCRIPTION:
-# An eclass providing functions to build Erlang/OTP projects using
-# dev-util/rebar.
-#
-# rebar is a tool which tries to resolve dependencies itself which is by
-# cloning remote git repositories. Dependent projects are usually expected to
-# be in sub-directory 'deps' rather than looking at system Erlang lib
-# directory. Projects relying on rebar usually don't have 'install' make
-# targets. The eclass workarounds some of these problems. It handles
-# installation in a generic way for Erlang/OTP structured projects.
+# This eclass provides a set of axiliary functions commonly needed
+# when building Erlang/OTP packages with rebar.
case ${EAPI} in
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-if [[ -z ${_REBAR_ECLASS} ]]; then
-_REBAR_ECLASS=1
-
-RDEPEND="dev-lang/erlang:="
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/rebar:0
- >=sys-apps/gawk-4.1
-"
+if [[ -z ${_REBAR_UTILS_ECLASS} ]]; then
+_REBAR_UTILS_ECLASS=1
# @ECLASS_VARIABLE: REBAR_APP_SRC
# @DESCRIPTION:
-# Relative path to .app.src description file.
-REBAR_APP_SRC="${REBAR_APP_SRC-src/${PN}.app.src}"
+# Relative path to .app.src description file. Defaults to
+# 'src/${PN}.app.src'.
+: "${REBAR_APP_SRC:=src/${PN}.app.src}"
# @FUNCTION: get_erl_libs
# @RETURN: the path to Erlang lib directory
@@ -90,21 +77,6 @@ rebar_disable_coverage() {
|| die "failed to disable coverage in ${rebar_config}"
}
-# @FUNCTION: erebar
-# @USAGE: <targets>
-# @DESCRIPTION:
-# Run rebar with verbose flag. Die on failure.
-erebar() {
- debug-print-function ${FUNCNAME} "${@}"
-
- (( $# > 0 )) || die "erebar: at least one target is required"
-
- local -x ERL_LIBS="${EPREFIX}$(get_erl_libs)"
- [[ ${1} == eunit ]] && local -x ERL_LIBS="."
-
- rebar -v skip_deps=true "$@" || die -n "rebar $@ failed"
-}
-
# @FUNCTION: rebar_fix_include_path
# @USAGE: <project_name> [<rebar_config>]
# @DESCRIPTION:
@@ -185,76 +157,4 @@ rebar_set_vsn() {
|| die "failed to set version in src/${PN}.app.src"
}
-# @FUNCTION: rebar_src_prepare
-# @DESCRIPTION:
-# Prevent rebar from fetching and compiling dependencies. Set version in
-# project description file if it's not set.
-#
-# Existence of rebar.config is optional, but file description file must exist
-# at 'src/${PN}.app.src'.
-rebar_src_prepare() {
- debug-print-function ${FUNCNAME} "${@}"
-
- default
- rebar_set_vsn
- if [[ -f rebar.config ]]; then
- rebar_disable_coverage
- rebar_remove_deps
- fi
-}
-
-# @FUNCTION: rebar_src_configure
-# @DESCRIPTION:
-# Configure with ERL_LIBS set.
-rebar_src_configure() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local -x ERL_LIBS="${EPREFIX}$(get_erl_libs)"
- default
-}
-
-# @FUNCTION: rebar_src_compile
-# @DESCRIPTION:
-# Compile project with rebar.
-rebar_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
-
- erebar compile
-}
-
-# @FUNCTION: rebar_src_test
-# @DESCRIPTION:
-# Run unit tests.
-rebar_src_test() {
- debug-print-function ${FUNCNAME} "${@}"
-
- erebar eunit
-}
-
-# @FUNCTION: rebar_src_install
-# @DESCRIPTION:
-# Install BEAM files, include headers, executables and native libraries.
-# Install standard docs like README or defined in DOCS variable.
-#
-# Function expects that project conforms to Erlang/OTP structure.
-rebar_src_install() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local bin
- local dest="$(get_erl_libs)/${P}"
-
- insinto "${dest}"
- doins -r ebin
- [[ -d include ]] && doins -r include
- [[ -d bin ]] && for bin in bin/*; do dobin "$bin"; done
-
- if [[ -d priv ]]; then
- cp -pR priv "${ED}${dest}/" || die "failed to install priv/"
- fi
-
- einstalldocs
-}
-
fi
-
-EXPORT_FUNCTIONS src_prepare src_compile src_test src_install
diff --git a/eclass/rebar.eclass b/eclass/rebar.eclass
index 97638c761814..1e4e845a9adb 100644
--- a/eclass/rebar.eclass
+++ b/eclass/rebar.eclass
@@ -7,6 +7,7 @@
# @AUTHOR:
# Amadeusz Żołnowski <aidecoe@gentoo.org>
# @SUPPORTED_EAPIS: 7 8
+# @PROVIDES: rebar-utils
# @BLURB: Build Erlang/OTP projects using dev-util/rebar.
# @DESCRIPTION:
# An eclass providing functions to build Erlang/OTP projects using
@@ -27,6 +28,8 @@ esac
if [[ -z ${_REBAR_ECLASS} ]]; then
_REBAR_ECLASS=1
+inherit rebar-utils
+
RDEPEND="dev-lang/erlang:="
DEPEND="${RDEPEND}"
BDEPEND="
@@ -34,19 +37,6 @@ BDEPEND="
>=sys-apps/gawk-4.1
"
-# @ECLASS_VARIABLE: REBAR_APP_SRC
-# @DESCRIPTION:
-# Relative path to .app.src description file.
-REBAR_APP_SRC="${REBAR_APP_SRC-src/${PN}.app.src}"
-
-# @FUNCTION: get_erl_libs
-# @RETURN: the path to Erlang lib directory
-# @DESCRIPTION:
-# Get the full path without EPREFIX to Erlang lib directory.
-get_erl_libs() {
- echo "/usr/$(get_libdir)/erlang/lib"
-}
-
# @FUNCTION: _rebar_find_dep
# @INTERNAL
# @USAGE: <project_name>
@@ -74,22 +64,6 @@ _rebar_find_dep() {
echo "${result}"
}
-# @FUNCTION: rebar_disable_coverage
-# @USAGE: [<rebar_config>]
-# @DESCRIPTION:
-# Disable coverage in rebar.config. This is a workaround for failing coverage.
-# Coverage is not relevant in this context, so there's no harm to disable it,
-# although the issue should be fixed.
-rebar_disable_coverage() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local rebar_config="${1:-rebar.config}"
-
- sed -e 's/{cover_enabled, true}/{cover_enabled, false}/' \
- -i "${rebar_config}" \
- || die "failed to disable coverage in ${rebar_config}"
-}
-
# @FUNCTION: erebar
# @USAGE: <targets>
# @DESCRIPTION:
@@ -105,86 +79,6 @@ erebar() {
rebar -v skip_deps=true "$@" || die -n "rebar $@ failed"
}
-# @FUNCTION: rebar_fix_include_path
-# @USAGE: <project_name> [<rebar_config>]
-# @DESCRIPTION:
-# Fix path in rebar.config to 'include' directory of dependent project/package,
-# so it points to installation in system Erlang lib rather than relative 'deps'
-# directory.
-#
-# <rebar_config> is optional. Default is 'rebar.config'.
-#
-# The function dies on failure.
-rebar_fix_include_path() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local pn="${1}"
- local rebar_config="${2:-rebar.config}"
- local erl_libs="${EPREFIX}$(get_erl_libs)"
- local p
-
- p="$(_rebar_find_dep "${pn}")" \
- || die "failed to unambiguously resolve dependency of '${pn}'"
-
- gawk -i inplace \
- -v erl_libs="${erl_libs}" -v pn="${pn}" -v p="${p}" '
-/^{[[:space:]]*erl_opts[[:space:]]*,/, /}[[:space:]]*\.$/ {
- pattern = "\"(./)?deps/" pn "/include\"";
- if (match($0, "{i,[[:space:]]*" pattern "[[:space:]]*}")) {
- sub(pattern, "\"" erl_libs "/" p "/include\"");
- }
- print $0;
- next;
-}
-1
-' "${rebar_config}" || die "failed to fix include paths in ${rebar_config} for '${pn}'"
-}
-
-# @FUNCTION: rebar_remove_deps
-# @USAGE: [<rebar_config>]
-# @DESCRIPTION:
-# Remove dependencies list from rebar.config and deceive build rules that any
-# dependencies are already fetched and built. Otherwise rebar tries to fetch
-# dependencies and compile them.
-#
-# <rebar_config> is optional. Default is 'rebar.config'.
-#
-# The function dies on failure.
-rebar_remove_deps() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local rebar_config="${1:-rebar.config}"
-
- mkdir -p "${S}/deps" && :>"${S}/deps/.got" && :>"${S}/deps/.built" || die
- gawk -i inplace '
-/^{[[:space:]]*deps[[:space:]]*,/, /}[[:space:]]*\.$/ {
- if ($0 ~ /}[[:space:]]*\.$/) {
- print "{deps, []}.";
- }
- next;
-}
-1
-' "${rebar_config}" || die "failed to remove deps from ${rebar_config}"
-}
-
-# @FUNCTION: rebar_set_vsn
-# @USAGE: [<version>]
-# @DESCRIPTION:
-# Set version in project description file if it's not set.
-#
-# <version> is optional. Default is PV stripped from version suffix.
-#
-# The function dies on failure.
-rebar_set_vsn() {
- debug-print-function ${FUNCNAME} "${@}"
-
- local version="${1:-${PV%_*}}"
-
- sed -e "s/vsn, git/vsn, \"${version}\"/" \
- -i "${S}/${REBAR_APP_SRC}" \
- || die "failed to set version in src/${PN}.app.src"
-}
-
# @FUNCTION: rebar_src_prepare
# @DESCRIPTION:
# Prevent rebar from fetching and compiling dependencies. Set version in
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-13 14:14 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-13 14:14 UTC (permalink / raw
To: gentoo-commits
commit: 72fed566b6f19d3eddb2b1efe190fb2b4291f7ab
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 13 12:55:08 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 13 14:14:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=72fed566
llvm.org.eclass: Add 19.0.0_pre20240712 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 956a81b0b405..4fd4e8679c6a 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_pre20240712)
+ EGIT_COMMIT=1bad7024561bc64ed4bfda0772b16376b475eba5
+ ;;
19.0.0_pre20240706)
EGIT_COMMIT=0b9f2847da79298ed09c29493245113f02b32d9f
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-13 7:46 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-13 7:46 UTC (permalink / raw
To: gentoo-commits
commit: 372b25ba641d3445487a4e9edc31bef614cd837f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 13 04:48:04 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 13 07:45:58 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=372b25ba
llvm.org.eclass: Remove old snapshot hashes
Signed-off-by: Michał Górny <mgorny <AT> 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 6af260b2606b..956a81b0b405 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_pre20240706)
EGIT_COMMIT=0b9f2847da79298ed09c29493245113f02b32d9f
;;
- 19.0.0_pre20240630)
- EGIT_COMMIT=022d15c0039fc1cfaa3cc2eb1a45b71bbb21fadd
- ;;
- 19.0.0_pre20240623)
- EGIT_COMMIT=3ae6755719c6dfc07761b4e9bdac8c86bcb41734
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-12 17:43 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-07-12 17:43 UTC (permalink / raw
To: gentoo-commits
commit: 0b5a61fc03b22036d38c7bc1dab15b7061277f85
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 12 17:43:15 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jul 12 17:43:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b5a61fc
mount-boot{,-utils}.eclass: Update @SUPPORTED_EAPIS
It didn't agree with the case statement below.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/mount-boot-utils.eclass | 2 +-
eclass/mount-boot.eclass | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/mount-boot-utils.eclass b/eclass/mount-boot-utils.eclass
index 39f8e94b84ec..e24b4e0c0826 100644
--- a/eclass/mount-boot-utils.eclass
+++ b/eclass/mount-boot-utils.eclass
@@ -4,7 +4,7 @@
# @ECLASS: mount-boot-utils.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: functions for packages that install files into /boot or the ESP
# @DESCRIPTION:
# This eclass is really only useful for bootloaders and kernel installation.
diff --git a/eclass/mount-boot.eclass b/eclass/mount-boot.eclass
index ab02b39d6141..ce17026ffd2b 100644
--- a/eclass/mount-boot.eclass
+++ b/eclass/mount-boot.eclass
@@ -4,7 +4,7 @@
# @ECLASS: mount-boot.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: eclass for packages that install files into /boot or the ESP
# @DESCRIPTION:
# This eclass is really only useful for bootloaders and kernel installation.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-12 7:38 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-07-12 7:38 UTC (permalink / raw
To: gentoo-commits
commit: 91ea2b6d471406e56206278d0e97422f74028bde
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 12 07:38:09 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 12 07:38:09 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91ea2b6d
autotools.eclass: crank _LATEST_AUTOMAKE to get fixed 1.17-r1
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/autotools.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index b932ff8bee90..3c9e89bda90e 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -94,7 +94,7 @@ _LATEST_AUTOCONF=( 2.72-r1:2.72 2.71-r6:2.71 )
# Do NOT change this variable in your ebuilds!
# If you want to force a newer minor version, you can specify the correct
# WANT value by using a colon: <PV>:<WANT_AUTOMAKE>
-_LATEST_AUTOMAKE=( 1.17:1.17 1.16.5:1.16 )
+_LATEST_AUTOMAKE=( 1.17-r1:1.17 1.16.5:1.16 )
_automake_atom="dev-build/automake"
_autoconf_atom="dev-build/autoconf"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-12 6:27 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-07-12 6:27 UTC (permalink / raw
To: gentoo-commits
commit: 9968732ec7b6deec53a472f54fc8f92ab9e849da
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 12 06:26:32 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 12 06:26:55 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9968732e
autotools.eclass: add 1.17 to _LATEST_AUTOMAKE
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/autotools.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index a456e9b9f589..b932ff8bee90 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -94,7 +94,7 @@ _LATEST_AUTOCONF=( 2.72-r1:2.72 2.71-r6:2.71 )
# Do NOT change this variable in your ebuilds!
# If you want to force a newer minor version, you can specify the correct
# WANT value by using a colon: <PV>:<WANT_AUTOMAKE>
-_LATEST_AUTOMAKE=( 1.16.5:1.16 )
+_LATEST_AUTOMAKE=( 1.17:1.17 1.16.5:1.16 )
_automake_atom="dev-build/automake"
_autoconf_atom="dev-build/autoconf"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-11 20:54 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-07-11 20:54 UTC (permalink / raw
To: gentoo-commits
commit: e27f68c1a16993efd00c81145d33d792a0f870d9
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 8 17:44:49 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jul 11 20:54:11 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e27f68c1
git-r3.eclass: Drop support for EAPI 6
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/git-r3.eclass | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
index 565f6ada8382..35ad6afe8e88 100644
--- a/eclass/git-r3.eclass
+++ b/eclass/git-r3.eclass
@@ -4,7 +4,7 @@
# @ECLASS: git-r3.eclass
# @MAINTAINER:
# Michał Górny <mgorny@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Eclass for fetching and unpacking git repositories.
# @DESCRIPTION:
# Third generation eclass for easing maintenance of live ebuilds using
@@ -26,7 +26,7 @@
# If non-empty, then the repo likely needs EGIT_LFS to clone properly.
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -35,13 +35,8 @@ _GIT_R3_ECLASS=1
PROPERTIES+=" live"
-if [[ ${EAPI} != 6 ]]; then
- BDEPEND=">=dev-vcs/git-1.8.2.1[curl]"
- [[ ${EGIT_LFS} ]] && BDEPEND+=" dev-vcs/git-lfs"
-else
- DEPEND=">=dev-vcs/git-1.8.2.1[curl]"
- [[ ${EGIT_LFS} ]] && DEPEND+=" dev-vcs/git-lfs"
-fi
+BDEPEND=">=dev-vcs/git-1.8.2.1[curl]"
+[[ ${EGIT_LFS} ]] && BDEPEND+=" dev-vcs/git-lfs"
# @ECLASS_VARIABLE: EGIT_CLONE_TYPE
# @USER_VARIABLE
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-11 20:54 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-07-11 20:54 UTC (permalink / raw
To: gentoo-commits
commit: 34858e23de6ac549ca662a1dcc7823173567a210
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 23 14:18:32 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jul 11 20:54:11 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34858e23
vcs-snapshot.eclass: Drop support for EAPI 6
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/vcs-snapshot.eclass | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/eclass/vcs-snapshot.eclass b/eclass/vcs-snapshot.eclass
index 1b7299b92a3b..0279e89ec3ab 100644
--- a/eclass/vcs-snapshot.eclass
+++ b/eclass/vcs-snapshot.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: vcs-snapshot.eclass
# @MAINTAINER:
# mgorny@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: support eclass for unpacking VCS snapshot tarballs
# @DESCRIPTION:
# THIS ECLASS IS NOT NECESSARY FOR MODERN GITHUB AND GITLAB SNAPSHOTS.
@@ -43,7 +43,6 @@
# in ${WORKDIR}/${P} and ${WORKDIR}/${P}-otherstuff respectively.
case ${EAPI} in
- 6) inherit eqawarn ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -103,13 +102,10 @@ vcs-snapshot_src_unpack() {
done
if [[ ! ${renamed_any} ]]; then
- local w=eerror
- [[ ${EAPI} == 6 ]] && w=eqawarn
- "${w}" "${FUNCNAME} did not find any archives that needed renaming."
- "${w}" "Please verify that its usage is really necessary, and remove"
- "${w}" "the inherit if it is not."
-
- [[ ${w} == eerror ]] && die "${FUNCNAME}: Unnecessary usage detected"
+ eerror "${FUNCNAME} did not find any archives that needed renaming."
+ eerror "Please verify that its usage is really necessary, and remove"
+ eerror "the inherit if it is not."
+ die "${FUNCNAME}: Unnecessary usage detected"
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-11 14:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-11 14:35 UTC (permalink / raw
To: gentoo-commits
commit: 4e733c42e1390939255a6ae506ab838e3d3d525c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 11 12:04:59 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 11 14:35:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e733c42
kernel-build.eclass: Support python3.13
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 86c7cd4a172d..1f0b07fdc3f9 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -28,7 +28,7 @@ esac
if [[ ! ${_KERNEL_BUILD_ECLASS} ]]; then
_KERNEL_BUILD_ECLASS=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
inherit secureboot
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-09 16:44 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-07-09 16:44 UTC (permalink / raw
To: gentoo-commits
commit: aa9e9f6009a17b2ee0128109f69bbfc7ac975d3f
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 9 16:43:27 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Jul 9 16:44:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa9e9f60
bzr.eclass: Mark as dead
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/bzr.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/bzr.eclass b/eclass/bzr.eclass
index d522326773e1..b442381dc668 100644
--- a/eclass/bzr.eclass
+++ b/eclass/bzr.eclass
@@ -1,6 +1,7 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# @DEAD
# @ECLASS: bzr.eclass
# @MAINTAINER:
# Ulrich Müller <ulm@gentoo.org>
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-08 10:03 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-07-08 10:03 UTC (permalink / raw
To: gentoo-commits
commit: 032104fa600ef674c128d23fd7e0c4193de6eb7f
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 22 17:09:25 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jul 8 09:42:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=032104fa
linux-info.eclass: Drop support for EAPI 6
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/linux-info.eclass | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
index 90982445fdab..154be2a46888 100644
--- a/eclass/linux-info.eclass
+++ b/eclass/linux-info.eclass
@@ -6,7 +6,7 @@
# kernel@gentoo.org
# @AUTHOR:
# Original author: John Mylchreest <johnm@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: eclass used for accessing kernel related information
# @DESCRIPTION:
# This eclass is used as a central eclass for accessing kernel
@@ -28,7 +28,7 @@
# get_running_version
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -38,7 +38,6 @@ _LINUX_INFO_ECLASS=1
# A Couple of env vars are available to effect usage of this eclass
# These are as follows:
-
# @ECLASS_VARIABLE: CHECKCONFIG_DONOTHING
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -51,7 +50,7 @@ _LINUX_INFO_ECLASS=1
# @DESCRIPTION:
# A string containing the directory of the target kernel sources. The default value is
# "/usr/src/linux"
-KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
+KERNEL_DIR="${KERNEL_DIR:-${ROOT}/usr/src/linux}"
# @ECLASS_VARIABLE: CONFIG_CHECK
# @DEFAULT_UNSET
@@ -88,7 +87,6 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
# CONFIG_CHECK="~CFG" with ERROR_<CFG>="Error Message" calls eerror without dying
# CONFIG_CHECK="~CFG" with WARNING_<CFG>="Warning Message" calls ewarn without dying
-
# @ECLASS_VARIABLE: KBUILD_OUTPUT
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -168,7 +166,6 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
# And to ensure all the weirdness with crosscompile
inherit toolchain-funcs
-[[ ${EAPI} == 6 ]] && inherit eapi7-ver
# @FUNCTION: set_arch_to_kernel
# @DESCRIPTION:
@@ -636,7 +633,7 @@ get_version() {
# caught before this if they are.
if [[ -z ${OUTPUT_DIR} ]] ; then
# Try to locate a kernel that is most relevant for us.
- for OUTPUT_DIR in "${SYSROOT}" "${ROOT%/}" "" ; do
+ for OUTPUT_DIR in "${SYSROOT}" "${ROOT}" "" ; do
OUTPUT_DIR+="/lib/modules/${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}${KV_EXTRA}${KV_LOCAL}/build"
if [[ -e ${OUTPUT_DIR} ]] ; then
break
@@ -664,10 +661,10 @@ get_running_version() {
local kv=$(uname -r)
- if [[ -f ${ROOT%/}/lib/modules/${kv}/source/Makefile ]]; then
- KERNEL_DIR=$(readlink -f "${ROOT%/}/lib/modules/${kv}/source")
- if [[ -f ${ROOT%/}/lib/modules/${kv}/build/Makefile ]]; then
- KBUILD_OUTPUT=$(readlink -f "${ROOT%/}/lib/modules/${kv}/build")
+ if [[ -f ${ROOT}/lib/modules/${kv}/source/Makefile ]]; then
+ KERNEL_DIR=$(readlink -f "${ROOT}/lib/modules/${kv}/source")
+ if [[ -f ${ROOT}/lib/modules/${kv}/build/Makefile ]]; then
+ KBUILD_OUTPUT=$(readlink -f "${ROOT}/lib/modules/${kv}/build")
fi
get_version && return 0
fi
@@ -712,7 +709,6 @@ linux-info_get_any_version() {
fi
}
-
# ebuild check functions
# ---------------------------------------
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-08 10:03 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-07-08 10:03 UTC (permalink / raw
To: gentoo-commits
commit: 0dd34779b2205e553f55dd0464374949559b763c
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 3 15:40:53 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jul 8 09:42:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0dd34779
kernel-2.eclass: Drop reference to BUILD_FIXES variable
Undocumented, and not used by any ebuilds inheriting this eclass.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/kernel-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index ffbe986f3e87..c60fcb04dd73 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -1332,7 +1332,7 @@ getfilevar() {
unset ARCH
echo -e "include ${basefname}\ne:\n\t@echo \$(${1})" |
- make -C "${basedname}" ${BUILD_FIXES} -s -f - e 2>/dev/null
+ make -C "${basedname}" -s -f - e 2>/dev/null
ARCH=${xarch}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-08 10:03 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-07-08 10:03 UTC (permalink / raw
To: gentoo-commits
commit: 31c7e60f5cf2c3bc8251f2f13aa899c836f4b40b
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 22 17:06:32 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jul 8 09:42:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31c7e60f
linux-info.eclass: Drop temporary fix for powerpc
Apparently there is no reference to a .tmp_gas_check file or to a TOUT
variable in Linux sources any more.
Bug: https://bugs.gentoo.org/75034#c14
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/linux-info.eclass | 6 ------
1 file changed, 6 deletions(-)
diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
index 9449a6359d2a..90982445fdab 100644
--- a/eclass/linux-info.eclass
+++ b/eclass/linux-info.eclass
@@ -170,12 +170,6 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
inherit toolchain-funcs
[[ ${EAPI} == 6 ]] && inherit eapi7-ver
-# bug #75034
-case ${ARCH} in
- ppc) BUILD_FIXES="${BUILD_FIXES} TOUT=${T}/.tmp_gas_check";;
- ppc64) BUILD_FIXES="${BUILD_FIXES} TOUT=${T}/.tmp_gas_check";;
-esac
-
# @FUNCTION: set_arch_to_kernel
# @DESCRIPTION:
# Set the env ARCH to match what the kernel expects.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-08 10:03 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-07-08 10:03 UTC (permalink / raw
To: gentoo-commits
commit: b5ddd6e28b8b368bd9e1a064484de95c03bf5445
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 3 15:40:26 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jul 8 09:42:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5ddd6e2
linux-info.eclass: Drop reference to BUILD_FIXES variable
Undocumented, and not used by any ebuilds inheriting this eclass.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/linux-info.eclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
index 154be2a46888..0f6138150144 100644
--- a/eclass/linux-info.eclass
+++ b/eclass/linux-info.eclass
@@ -239,8 +239,7 @@ getfilevar() {
# Pass dot-config=0 to avoid the config check in kernels prior to 5.4.
echo -e "e:\\n\\t@echo \$(${1})\\ninclude ${basefname}" | \
nonfatal emake -C "${basedname}" --no-print-directory M="${T}" \
- dot-config=0 need-config= need-compiler= \
- ${BUILD_FIXES} -s -f - 2>/dev/null
+ dot-config=0 need-config= need-compiler= -s -f - 2>/dev/null
ARCH=${myARCH}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-07 6:45 Matthew Smith
0 siblings, 0 replies; 6228+ messages in thread
From: Matthew Smith @ 2024-07-07 6:45 UTC (permalink / raw
To: gentoo-commits
commit: cd426afc7f32ac84206f4156fc8ed0d20bd79246
Author: Matthew Smith <matthew <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 7 06:42:17 2024 +0000
Commit: Matthew Smith <matthew <AT> gentoo <DOT> org>
CommitDate: Sun Jul 7 06:45:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd426afc
Revert "tree-sitter-grammar.eclass: extended packaging"
This reverts commit fbe4bc7b9dc970271127a5f167c95da78e32e282.
The previous change does not install the NeoVim symlinks correctly as they
point to /usr/lib/tree-sitter/liblang.so instead of /usr/lib/liblang.so.
Also the query files are not installed in per-package directories and have
common names (e.g. highlight.scm) which is causing file collisions.
To be fixed in a follow up commit which will introduce
tree-sitter-grammar-r1.eclass, so that ebuilds can be rev-bumped so that
users can rebuild and get the changes.
Bug: https://bugs.gentoo.org/935631
Bug: https://bugs.gentoo.org/935641
Signed-off-by: Matthew Smith <matthew <AT> gentoo.org>
eclass/tree-sitter-grammar.eclass | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass
index e5797fca8a16..10f29b8a0835 100644
--- a/eclass/tree-sitter-grammar.eclass
+++ b/eclass/tree-sitter-grammar.eclass
@@ -207,19 +207,6 @@ tree-sitter-grammar_src_install() {
dolib.so "${WORKDIR}/${soname}"
dosym "${soname}" /usr/$(get_libdir)/lib${PN}$(get_libname)
- # Install symlinks to grammars so that they can be found by NeoVim.
- # /usr/$(get_libdir)/tree-sitter gets added to the NeoVim runtimepath.
- # See neovim/runtime/doc/treesitter.txt for info.
- keepdir /usr/$(get_libdir)/tree-sitter
- dosym ../"${soname}" \
- /usr/$(get_libdir)/tree-sitter/parser/${PN##tree-sitter-}$(get_libname)
-
- # Install queries (e.g. highlight.scm) so that they can be found by NeoVim.
- if [[ -d "${S}/../queries" ]]; then
- keepdir /usr/share/tree-sitter
- insinto /usr/share/tree-sitter
- doins -r "${S}/../queries"
- fi
fi
local binding
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-06 11:19 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-07-06 11:19 UTC (permalink / raw
To: gentoo-commits
commit: cb9dfca11b7ce7ed4c038f49b1ba403276e7ebcf
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 6 10:46:04 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 6 11:19:02 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb9dfca1
llvm.org.eclass: Add 19.0.0_pre20240706 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 a6a7b542e64b..6af260b2606b 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_pre20240706)
+ EGIT_COMMIT=0b9f2847da79298ed09c29493245113f02b32d9f
+ ;;
19.0.0_pre20240630)
EGIT_COMMIT=022d15c0039fc1cfaa3cc2eb1a45b71bbb21fadd
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-05 20:50 Luca Barbato
0 siblings, 0 replies; 6228+ messages in thread
From: Luca Barbato @ 2024-07-05 20:50 UTC (permalink / raw
To: gentoo-commits
commit: 2baeb8c8987f9214080ce2a8c94c0e93ee7af217
Author: Luca Barbato <lu_zero <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 5 09:31:57 2024 +0000
Commit: Luca Barbato <lu_zero <AT> gentoo <DOT> org>
CommitDate: Fri Jul 5 20:49:09 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2baeb8c8
flag-o-matic.eclass: allow -mstrict-align and -mvector-strict-align
It is needed to make sure vector unaligned load/store aren't inserted
when the riscv cpu does not allow them.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115789
Signed-off-by: Luca Barbato <lu_zero <AT> gentoo.org>
eclass/flag-o-matic.eclass | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index ecac452aa0ef..c6b1ad80e12e 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -129,6 +129,10 @@ _setup-allowed-flags() {
# needed for arm64 (and in particular SCS)
-ffixed-x18
+ # needed for riscv (to prevent unaligned vector access)
+ # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115789
+ -mstrict-align -mvector-strict-align
+
# gcc 4.5
-mno-fma4 -mno-movbe -mno-xop -mno-lwp
# gcc 4.6
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-05 11:03 Arthur Zamarin
0 siblings, 0 replies; 6228+ messages in thread
From: Arthur Zamarin @ 2024-07-05 11:03 UTC (permalink / raw
To: gentoo-commits
commit: 37f04decb3309838a9b6a3dbf6abfac400050a8f
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 5 10:58:59 2024 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 5 10:58:59 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37f04dec
tree-sitter-grammar.eclass: enable py3.13 bindings
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
eclass/tree-sitter-grammar.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass
index 1e83ff8c98b9..e5797fca8a16 100644
--- a/eclass/tree-sitter-grammar.eclass
+++ b/eclass/tree-sitter-grammar.eclass
@@ -47,7 +47,7 @@ for _BINDING in "${TS_BINDINGS[@]}"; do
DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
DISTUTILS_USE_PEP517=setuptools
- PYTHON_COMPAT=( python3_{10..12} )
+ PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
IUSE+=" python"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-05 11:03 Arthur Zamarin
0 siblings, 0 replies; 6228+ messages in thread
From: Arthur Zamarin @ 2024-07-05 11:03 UTC (permalink / raw
To: gentoo-commits
commit: fbe4bc7b9dc970271127a5f167c95da78e32e282
Author: Vadim Misbakh-Soloviov <mva <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 21 17:59:50 2024 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 5 10:55:37 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fbe4bc7b
tree-sitter-grammar.eclass: extended packaging
1) put grammar library to additional well-known path
2) also put queries
See-Also: https://pkgs.alpinelinux.org/contents?branch=edge&name=tree%2dsitter%2dlua&arch=x86_64&repo=community
See-Also: https://pkgs.alpinelinux.org/contents?branch=edge&name=tree%2dsitter%2dcss&arch=x86_64&repo=community
Refer: https://github.com/gentoo/gentoo/pull/35475
Closes: https://bugs.gentoo.org/933833
Closes: https://bugs.gentoo.org/922146
Signed-off-by: Vadim Misbakh-Soloviov <mva <AT> gentoo.org>
Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/37122
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
eclass/tree-sitter-grammar.eclass | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass
index 24473fb98b1f..ff0c4cb979e6 100644
--- a/eclass/tree-sitter-grammar.eclass
+++ b/eclass/tree-sitter-grammar.eclass
@@ -205,6 +205,19 @@ tree-sitter-grammar_src_install() {
dolib.so "${WORKDIR}/${soname}"
dosym "${soname}" /usr/$(get_libdir)/lib${PN}$(get_libname)
+ # Install symlinks to grammars so that they can be found by NeoVim.
+ # /usr/$(get_libdir)/tree-sitter gets added to the NeoVim runtimepath.
+ # See neovim/runtime/doc/treesitter.txt for info.
+ keepdir /usr/$(get_libdir)/tree-sitter
+ dosym ../"${soname}" \
+ /usr/$(get_libdir)/tree-sitter/parser/${PN##tree-sitter-}$(get_libname)
+
+ # Install queries (e.g. highlight.scm) so that they can be found by NeoVim.
+ if [[ -d "${S}/../queries" ]]; then
+ keepdir /usr/share/tree-sitter
+ insinto /usr/share/tree-sitter
+ doins -r "${S}/../queries"
+ fi
fi
local binding
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-05 11:03 Arthur Zamarin
0 siblings, 0 replies; 6228+ messages in thread
From: Arthur Zamarin @ 2024-07-05 11:03 UTC (permalink / raw
To: gentoo-commits
commit: f4d5509345750e68f3c8d76b360e9e26a1ccc35f
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 12 07:09:33 2024 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 5 10:55:38 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f4d55093
tree-sitter-grammar.eclass: respect CC & AR
Closes: https://bugs.gentoo.org/932626
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/37122
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
eclass/tree-sitter-grammar.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass
index ff0c4cb979e6..1e83ff8c98b9 100644
--- a/eclass/tree-sitter-grammar.eclass
+++ b/eclass/tree-sitter-grammar.eclass
@@ -162,6 +162,8 @@ tree-sitter-grammar_src_compile() {
if [[ -f "${S}/pyproject.toml" ]]; then
sed -e "/SONAME_MINOR :=/s/:=.*$/:= $(_get_tsg_abi_ver)/" -i "${S}/Makefile" || die
emake \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
STRIP="" \
PREFIX="${EPREFIX}/usr" \
LIBDIR="${EPREFIX}/usr/$(get_libdir)"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-03 5:30 Joonas Niilola
0 siblings, 0 replies; 6228+ messages in thread
From: Joonas Niilola @ 2024-07-03 5:30 UTC (permalink / raw
To: gentoo-commits
commit: 5760b894bd1e9638a56186330c3c0365dfec84f7
Author: Martin Dummer <martin.dummer <AT> gmx <DOT> net>
AuthorDate: Sun Jun 23 06:13:43 2024 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Jul 3 05:30:17 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5760b894
vdr-plugin-2.eclass: fix behaviour with LINGUAS="en"
when LINGUAS="en" is defined, vdr-plugin-2_src_install() stops erroneously
Closes: https://bugs.gentoo.org/796731
Signed-off-by: Martin Dummer <martin.dummer <AT> gmx.net>
Closes: https://github.com/gentoo/gentoo/pull/37250
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
eclass/vdr-plugin-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/vdr-plugin-2.eclass b/eclass/vdr-plugin-2.eclass
index 289c3d1a624a..dc70ca7c5761 100644
--- a/eclass/vdr-plugin-2.eclass
+++ b/eclass/vdr-plugin-2.eclass
@@ -286,7 +286,7 @@ vdr_linguas_support() {
|| die "sed failed for Linguas"
done
- strip-linguas ${PLUGIN_LINGUAS} en
+ strip-linguas ${PLUGIN_LINGUAS}
}
# @FUNCTION: vdr_i18n
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-03 0:59 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-07-03 0:59 UTC (permalink / raw
To: gentoo-commits
commit: 4fc79e22daff1ee51cd861515daba7dca08c1e5a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 3 00:54:56 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 3 00:54:56 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4fc79e22
cmake.eclass: fix copyright
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index d7d45217e275..de43bd017768 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.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: cmake.eclass
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-03 0:54 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-07-03 0:54 UTC (permalink / raw
To: gentoo-commits
commit: 9b0fbdcf296c0bf013b58637f2a87a5bdc125e52
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 3 00:53:20 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 3 00:53:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b0fbdcf
Revert "cmake.eclass: Set FETCHCONTENT_FULLY_DISCONNECTED=ON"
This reverts commit ca877f01a331bd239db8b6878c7f92fa85e02dae.
Unfortunately, the CMake developers learned of Homebrew doing this
and decided to "block" this functionality because they felt it was abuse.
We now have to implement a "provider" instead...
Bug: https://bugs.gentoo.org/920846
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/cmake.eclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 908e2356ead2..d7d45217e275 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cmake.eclass
@@ -541,7 +541,6 @@ cmake_src_configure() {
set(CMAKE_INSTALL_DOCDIR "${EPREFIX}/usr/share/doc/${PF}" CACHE PATH "")
set(BUILD_SHARED_LIBS ON CACHE BOOL "")
set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "")
- set(FETCHCONTENT_FULLY_DISCONNECTED ON CACHE BOOL "")
set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON CACHE BOOL "")
_EOF_
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-02 17:49 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-07-02 17:49 UTC (permalink / raw
To: gentoo-commits
commit: b597cc4cb8832fcc447ae998d4dac6677e0b2918
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 2 17:48:36 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jul 2 17:48:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b597cc4c
qt5-build.eclass: try to avoid SSE2 where unavailable
Rather overdue, but we got there eventually.
Closes: https://bugs.gentoo.org/773199
Bug: https://bugs.gentoo.org/552942
Bug: https://bugs.gentoo.org/648004
Bug: https://bugs.gentoo.org/775650
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/qt5-build.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
index ef4ea4ec1756..1a0335b9d2b6 100644
--- a/eclass/qt5-build.eclass
+++ b/eclass/qt5-build.eclass
@@ -623,6 +623,9 @@ qt5_base_configure() {
$(is-flagq -mno-dsp && echo -no-mips_dsp)
$(is-flagq -mno-dspr2 && echo -no-mips_dspr2)
+ # bug #773199 and friends
+ $(tc-cpp-is-true "defined(__SSE2__)" ${CFLAGS} ${CXXFLAGS} || echo -no-feature-sse2)
+
# use pkg-config to detect include and library paths
-pkg-config
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-30 18:27 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-06-30 18:27 UTC (permalink / raw
To: gentoo-commits
commit: d9691f1d5dd9a126804102572ac812d9c8a4ee16
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 30 18:26:34 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun 30 18:27:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d9691f1d
gstreamer-meson.eclass: fix handling meson-1.5's pretty-printed JSON
meson-1.5 pretty-prints its JSON which means the target JSON file here
spawns multiple lines. <$x> will only read one line, per
https://github.com/makamaka/JSON-PP/issues/85#issuecomment-1367719155.
Switch to reading the whole file like in https://stackoverflow.com/a/24959863.
Cloess: https://bugs.gentoo.org/935245
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/gstreamer-meson.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/gstreamer-meson.eclass b/eclass/gstreamer-meson.eclass
index a26b06ba4595..937c86a0f15b 100644
--- a/eclass/gstreamer-meson.eclass
+++ b/eclass/gstreamer-meson.eclass
@@ -393,7 +393,7 @@ use utf8;
use JSON::PP;
open(my $targets_file, '<:encoding(UTF-8)', 'meson-info/intro-targets.json') || die $!;
-my $data = decode_json <$targets_file>;
+my $data = decode_json (join '', <$targets_file>);
close($targets_file) || die $!;
if(!$ARGV[0]) {
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-29 8:39 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-06-29 8:39 UTC (permalink / raw
To: gentoo-commits
commit: 594a6613a4693a590ba8473a99ce1fd6c4d506d2
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 25 14:15:05 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sat Jun 29 08:36:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=594a6613
linux-mod-r1.eclass: check /boot if we are re-installing dist-kernel
Previous commit already adds the check when we call
dist-kernel_reinstall_initramfs, but lets do it a bit earlier as well.
As in dist-kernel-utils.eclass, make the check nonfatal because when users
notice the problem they can correct it and manually re-install the kernel via
emerge --config ...
We don't have a pkg_pretend phase in this eclass, so we use the pkg_setup
phase instead to avoid introducing a new phase here.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/linux-mod-r1.eclass | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 43c5a7d7b140..9911a6ddee12 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -132,6 +132,7 @@ IDEPEND="
"
if [[ ${MODULES_INITRAMFS_IUSE} ]]; then
+ inherit mount-boot-utils
IUSE+=" ${MODULES_INITRAMFS_IUSE}"
IDEPEND+="
${MODULES_INITRAMFS_IUSE#+}? (
@@ -328,9 +329,19 @@ fi
# 3. perform various sanity checks to fail early on issues
linux-mod-r1_pkg_setup() {
debug-print-function ${FUNCNAME[0]} "${@}"
- [[ ${MERGE_TYPE} != binary ]] || return 0
_MODULES_GLOBAL[ran:pkg_setup]=1
_modules_check_function ${#} 0 0 || return 0
+
+ if [[ -z ${ROOT} && ${MODULES_INITRAMFS_IUSE} ]] &&
+ use dist-kernel && use ${MODULES_INITRAMFS_IUSE#+}
+ then
+ # Check, but don't die because we can fix the problem and then
+ # emerge --config ... to re-run installation.
+ nonfatal mount-boot_check_status
+ fi
+
+ [[ ${MERGE_TYPE} != binary ]] || return 0
+
_modules_check_migration
_modules_prepare_kernel
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-29 8:39 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-06-29 8:39 UTC (permalink / raw
To: gentoo-commits
commit: f477c32907afde160d20ebdea161ea202d9cfeac
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 25 14:12:39 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sat Jun 29 08:36:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f477c329
kernel-install.eclass: move mount-boot check to dist-kernel-utils.eclass
ebuilds and eclasses using dist-kernel_reinstall_initramfs should also
have the check for mounted /boot and ESP. We can do this safely via
mount-boot-utils.eclass which does not export any phases.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/dist-kernel-utils.eclass | 39 ++++++++++++++++++++++++++++++------
eclass/kernel-install.eclass | 44 +++++++++--------------------------------
2 files changed, 42 insertions(+), 41 deletions(-)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 13137f8c863c..4bc3fab44aae 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -26,7 +26,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-inherit toolchain-funcs
+inherit mount-boot-utils toolchain-funcs
# @FUNCTION: dist-kernel_get_image_path
# @DESCRIPTION:
@@ -79,11 +79,38 @@ dist-kernel_install_kernel() {
local image=${2}
local map=${3}
- ebegin "Installing the kernel via installkernel"
- # note: .config is taken relatively to System.map;
- # initrd relatively to bzImage
- ARCH=$(tc-arch-kernel) installkernel "${version}" "${image}" "${map}"
- eend ${?} || die -n "Installing the kernel failed"
+ local success=
+ # not an actual loop but allows error handling with 'break'
+ while true; do
+ nonfatal mount-boot_check_status || break
+
+ ebegin "Installing the kernel via installkernel"
+ # note: .config is taken relatively to System.map;
+ # initrd relatively to bzImage
+ ARCH=$(tc-arch-kernel) installkernel "${version}" "${image}" "${map}" || break
+ eend ${?} || die -n "Installing the kernel failed"
+
+ success=1
+ break
+ done
+
+ if [[ ! ${success} ]]; then
+ # Fallback string, if the identifier file is not found
+ local kernel="<name of your kernel pakcage>:<kernel version>"
+ # Try to read dist-kernel identifier to more accurately instruct users
+ local k_id_file=${image%$(dist-kernel_get_image_path)}/dist-kernel
+ if [[ -f ${k_id_file} ]]; then
+ kernel=\'\=$(<${k_id_file})\'
+ fi
+
+ eerror
+ eerror "The kernel was not deployed successfully. Inspect the failure"
+ eerror "in the logs above and once you resolve the problems please"
+ eerror "run the equivalent of the following command to try again:"
+ eerror
+ eerror " emerge --config ${kernel}"
+ die "Kernel install failed, please fix the problems and run emerge --config"
+ fi
}
# @FUNCTION: dist-kernel_reinstall_initramfs
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index f512d815fe09..77570a905ce1 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -17,9 +17,7 @@
# /usr/src/linux-${PV} containing the kernel image in its standard
# location and System.map.
#
-# The eclass exports src_test, pkg_postinst and pkg_postrm.
-# Additionally, the inherited mount-boot eclass exports pkg_pretend.
-# It also stubs out pkg_preinst and pkg_prerm defined by mount-boot.
+# The eclass exports src_test, pkg_preinst, pkg_postinst and pkg_postrm.
# @ECLASS_VARIABLE: KERNEL_IUSE_GENERIC_UKI
# @PRE_INHERIT
@@ -50,7 +48,7 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-inherit dist-kernel-utils mount-boot multiprocessing toolchain-funcs
+inherit dist-kernel-utils mount-boot-utils multiprocessing toolchain-funcs
SLOT="${PV}"
IUSE="+initramfs test"
@@ -526,6 +524,10 @@ kernel-install_test() {
kernel-install_pkg_pretend() {
debug-print-function ${FUNCNAME} "${@}"
+ # Check, but don't die because we can fix the problem and then
+ # emerge --config ... to re-run installation.
+ nonfatal mount-boot_check_status
+
if ! has_version -d sys-kernel/linux-firmware; then
ewarn "sys-kernel/linux-firmware not found installed on your system."
ewarn "This package provides various firmware files that may be needed"
@@ -665,27 +667,8 @@ kernel-install_install_all() {
fi
fi
- local success=
- # not an actual loop but allows error handling with 'break'
- while :; do
- nonfatal mount-boot_check_status || break
-
- nonfatal dist-kernel_install_kernel "${module_ver}" \
- "${kernel_dir}/${image_path}" "${kernel_dir}/System.map" || break
-
- success=1
- break
- done
-
- if [[ ! ${success} ]]; then
- eerror
- eerror "The kernel files were copied to disk successfully but the kernel"
- eerror "was not deployed successfully. Once you resolve the problems,"
- eerror "please run the equivalent of the following command to try again:"
- eerror
- eerror " emerge --config ${CATEGORY}/${PN}:${SLOT}"
- die "Kernel install failed, please fix the problems and run emerge --config ${CATEGORY}/${PN}:${SLOT}"
- fi
+ dist-kernel_install_kernel "${module_ver}" "${kernel_dir}/${image_path}" \
+ "${kernel_dir}/System.map"
}
# @FUNCTION: kernel-install_pkg_postinst
@@ -718,15 +701,6 @@ kernel-install_pkg_postinst() {
fi
}
-# @FUNCTION: kernel-install_pkg_prerm
-# @DESCRIPTION:
-# Stub out mount-boot.eclass.
-kernel-install_pkg_prerm() {
- debug-print-function ${FUNCNAME} "${@}"
-
- # (no-op)
-}
-
# @FUNCTION: kernel-install_pkg_postrm
# @DESCRIPTION:
# Clean up the generated initramfs from the removed kernel directory.
@@ -774,5 +748,5 @@ kernel-install_compress_modules() {
fi
-EXPORT_FUNCTIONS src_test pkg_preinst pkg_postinst pkg_prerm pkg_postrm
+EXPORT_FUNCTIONS src_test pkg_preinst pkg_postinst pkg_postrm
EXPORT_FUNCTIONS pkg_config pkg_pretend
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-29 8:39 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-06-29 8:39 UTC (permalink / raw
To: gentoo-commits
commit: e598ba3fe1f5b51c0f0e64cacd950d600b289852
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 25 13:08:49 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sat Jun 29 08:36:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e598ba3f
mount-boot.eclass: check for ESP as well as /boot, split eclass
This eclass is used by when the dist-kernel has to re-installed.
Depending on the configuration of sys-kernel/installkernel, the files may be
installed to /boot or to the EFI System partition. Therefore, extend this eclass
to check if the ESP is mounted read-write as well on UEFI platforms.
Split off the main functions into a separate "inherit-safe" eclass so we can
safely use it in dist-kernel-utils.eclass and linux-mod-r1.eclass.
In the process we drop support for EAPI 6, since there are no EAPI 6 consumers
left in ::gentoo.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/mount-boot-utils.eclass | 109 +++++++++++++++++++++++++++++++++++++++++
eclass/mount-boot.eclass | 85 +++++---------------------------
2 files changed, 120 insertions(+), 74 deletions(-)
diff --git a/eclass/mount-boot-utils.eclass b/eclass/mount-boot-utils.eclass
new file mode 100644
index 000000000000..39f8e94b84ec
--- /dev/null
+++ b/eclass/mount-boot-utils.eclass
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: mount-boot-utils.eclass
+# @MAINTAINER:
+# base-system@gentoo.org
+# @SUPPORTED_EAPIS: 6 7 8
+# @BLURB: functions for packages that install files into /boot or the ESP
+# @DESCRIPTION:
+# This eclass is really only useful for bootloaders and kernel installation.
+#
+# If the live system has a separate /boot partition or ESP configured, then this
+# function tries to ensure that it's mounted in rw mode, exiting with an error
+# if it can't. It does nothing if /boot and ESP isn't a separate partition.
+#
+# This eclass provides the functions used by mount-boot.eclass in an "inherit-
+# safe" way. This allows these functions to be used in other eclasses cleanly.
+
+case ${EAPI} in
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+# @FUNCTION: mount-boot_is_disabled
+# @INTERNAL
+# @DESCRIPTION:
+# Detect whether the current environment/build settings are such that we do not
+# want to mess with any mounts.
+mount-boot_is_disabled() {
+ # Since this eclass only deals with /boot, skip things when EROOT is active.
+ if [[ -n ${EROOT} ]]; then
+ return 0
+ fi
+
+ # If we're only building a package, then there's no need to check things.
+ if [[ ${MERGE_TYPE} == buildonly ]]; then
+ return 0
+ fi
+
+ # The user wants us to leave things be.
+ if [[ -n ${DONT_MOUNT_BOOT} ]]; then
+ return 0
+ fi
+
+ # OK, we want to handle things ourselves.
+ return 1
+}
+
+# @FUNCTION: mount-boot_check_status
+# @INTERNAL
+# @DESCRIPTION:
+# Check if /boot and ESP is sane, i.e., mounted as read-write if on a separate
+# partition. Die if conditions are not fulfilled. If nonfatal is used,
+# the function will return a non-zero status instead.
+mount-boot_check_status() {
+ # Get out fast if possible.
+ mount-boot_is_disabled && return 0
+
+ local partition=
+ local part_is_not_mounted=
+ local part_is_read_only=
+ local candidates=( /boot )
+
+ # If system is booted with UEFI, check for ESP as well
+ if [[ -d /sys/firmware/efi ]]; then
+ # Use same candidates for ESP as installkernel and eclean-kernel
+ candidates+=( /efi /boot/efi /boot/EFI )
+ fi
+
+ for partition in ${candidates[@]}; do
+ # note that /dev/BOOT is in the Gentoo default /etc/fstab file
+ local fstabstate=$(awk "!/^[[:blank:]]*#|^\/dev\/BOOT/ && \$2 == \"${partition}\" \
+ { print 1; exit }" /etc/fstab || die "awk failed")
+
+ if [[ -z ${fstabstate} ]]; then
+ einfo "Assuming you do not have a separate ${partition} partition."
+ else
+ local procstate=$(awk "\$2 == \"${partition}\" { split(\$4, a, \",\"); \
+ for (i in a) if (a[i] ~ /^r[ow]\$/) { print a[i]; break }; exit }" \
+ /proc/mounts || die "awk failed")
+
+ if [[ -z ${procstate} ]]; then
+ eerror "Your ${partition} partition is not mounted"
+ eerror "Please mount it and retry."
+ die -n "${partition} not mounted"
+ part_is_not_mounted=1
+ else
+ if [[ ${procstate} == ro ]]; then
+ eerror "Your ${partition} partition, was detected as being mounted," \
+ "but is mounted read-only."
+ eerror "Please remount it as read-write and retry."
+ die -n "${partition} mounted read-only"
+ part_is_read_only=1
+ else
+ einfo "Your ${partition} partition was detected as being mounted."
+ einfo "Files will be installed there for ${PN} to function correctly."
+ fi
+ fi
+ fi
+ done
+
+ if [[ -n ${part_is_not_mounted} ]]; then
+ return 1
+ elif [[ -n ${part_is_read_only} ]]; then
+ return 2
+ else
+ return 0
+ fi
+}
diff --git a/eclass/mount-boot.eclass b/eclass/mount-boot.eclass
index 73beb9adea67..ab02b39d6141 100644
--- a/eclass/mount-boot.eclass
+++ b/eclass/mount-boot.eclass
@@ -1,90 +1,27 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mount-boot.eclass
# @MAINTAINER:
# base-system@gentoo.org
# @SUPPORTED_EAPIS: 6 7 8
-# @BLURB: functions for packages that install files into /boot
+# @BLURB: eclass for packages that install files into /boot or the ESP
# @DESCRIPTION:
-# This eclass is really only useful for bootloaders.
+# This eclass is really only useful for bootloaders and kernel installation.
#
-# If the live system has a separate /boot partition configured, then this
-# function tries to ensure that it's mounted in rw mode, exiting with an
-# error if it can't. It does nothing if /boot isn't a separate partition.
+# If the live system has a separate /boot partition or ESP configured, then this
+# function tries to ensure that it's mounted in rw mode, exiting with an error
+# if it can't. It does nothing if /boot and ESP isn't a separate partition.
+#
+# This eclass exports the functions provided by mount-boot-utils.eclass to
+# the pkg_pretend and pkg_{pre,post}{inst,rm} phases.
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-# @FUNCTION: mount-boot_is_disabled
-# @INTERNAL
-# @DESCRIPTION:
-# Detect whether the current environment/build settings are such that we do not
-# want to mess with any mounts.
-mount-boot_is_disabled() {
- # Since this eclass only deals with /boot, skip things when EROOT is active.
- if [[ ${EROOT:-/} != / ]] ; then
- return 0
- fi
-
- # If we're only building a package, then there's no need to check things.
- if [[ ${MERGE_TYPE} == buildonly ]] ; then
- return 0
- fi
-
- # The user wants us to leave things be.
- if [[ -n ${DONT_MOUNT_BOOT} ]] ; then
- return 0
- fi
-
- # OK, we want to handle things ourselves.
- return 1
-}
-
-# @FUNCTION: mount-boot_check_status
-# @INTERNAL
-# @DESCRIPTION:
-# Check if /boot is sane, i.e., mounted as read-write if on a separate
-# partition. Die if conditions are not fulfilled. If nonfatal is used,
-# the function will return a non-zero status instead.
-mount-boot_check_status() {
- # Get out fast if possible.
- mount-boot_is_disabled && return 0
-
- # note that /dev/BOOT is in the Gentoo default /etc/fstab file
- local fstabstate=$(awk '!/^[[:blank:]]*#|^\/dev\/BOOT/ && $2 == "/boot" \
- { print 1; exit }' /etc/fstab || die "awk failed")
-
- if [[ -z ${fstabstate} ]] ; then
- einfo "Assuming you do not have a separate /boot partition."
- return 0
- fi
-
- local procstate=$(awk '$2 == "/boot" { split($4, a, ","); \
- for (i in a) if (a[i] ~ /^r[ow]$/) { print a[i]; break }; exit }' \
- /proc/mounts || die "awk failed")
-
- if [[ -z ${procstate} ]] ; then
- eerror "Your boot partition is not mounted at /boot."
- eerror "Please mount it and retry."
- die -n "/boot not mounted"
- return 1
- fi
-
- if [[ ${procstate} == ro ]] ; then
- eerror "Your boot partition, detected as being mounted at /boot," \
- "is read-only."
- eerror "Please remount it as read-write and retry."
- die -n "/boot mounted read-only"
- return 2
- fi
-
- einfo "Your boot partition was detected as being mounted at /boot."
- einfo "Files will be installed there for ${PN} to function correctly."
- return 0
-}
+inherit mount-boot-utils
mount-boot_pkg_pretend() {
mount-boot_check_status
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-28 8:23 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-06-28 8:23 UTC (permalink / raw
To: gentoo-commits
commit: f1fce6210d9d4104738e3fa35214b477486be534
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Jun 5 16:20:04 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jun 28 08:23:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1fce621
java-utils-2.eclass: allow eant without java-ant-2_src_configure
Packages which can build without BSFIX need not inherit java-ant-2. To
allow using eant without inheriting java-ant-2 we enhance the eant function
with a condition which controls calling java-ant-2_src_configure.
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/37022/commits/6ebf29fc691b6e38c8bf263eec2313d611298d25
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 3c2d190c4c15..91f8fba8790b 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2033,13 +2033,23 @@ java-utils-2_pkg_preinst() {
eant() {
debug-print-function ${FUNCNAME} $*
- if [[ ${EBUILD_PHASE} = compile ]]; then
- java-ant-2_src_configure
- fi
+ if [[ ${!JAVA_PKG_BSFIX*} ]] \
+ || [[ ${JAVA_ANT_BSFIX_EXTRA_ARGS} ]] \
+ || [[ ${JAVA_ANT_CLASSPATH_TAGS} ]] \
+ || [[ ${JAVA_ANT_JAVADOC_INPUT_DIRS} ]] \
+ || [[ ${JAVA_ANT_REWRITE_CLASSPATH} ]] \
+ || [[ ${EANT_BUILD_XML} ]] \
+ || [[ ${!EANT_GENTOO_CLASSPATH*} ]] \
+ || [[ ${EANT_TEST_GENTOO_CLASSPATH} ]]
+ then
+ if [[ ${EBUILD_PHASE} = compile ]]; then
+ java-ant-2_src_configure
+ fi
- if ! has java-ant-2 ${INHERITED}; then
- local msg="You should inherit java-ant-2 when using eant"
- java-pkg_announce-qa-violation "${msg}"
+ if ! has java-ant-2 ${INHERITED}; then
+ local msg="You should inherit java-ant-2 when using eant"
+ java-pkg_announce-qa-violation "${msg}"
+ fi
fi
local antflags="-Dnoget=true -Dmaven.mode.offline=true -Dbuild.sysclasspath=ignore"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-27 7:33 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-06-27 7:33 UTC (permalink / raw
To: gentoo-commits
commit: e47272c80b226d5c678158ed4bf0d03085367c80
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 24 20:18:46 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Thu Jun 27 07:31:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e47272c8
kernel-build.eclass: identify dist-kernels, and warn users
Many, many, new users at some point make the mistake of running "make ...."
in the source directory of a distribution kernel.
This returns a vague error due to the absence of the kernel source files:
make[2]: *** No rule to make target 'arch/x86/entry/syscalls/syscall_32.tbl', needed by 'arch/x86/include/generated/uapi/asm/unistd_32.h'. Stop.
make[1]: *** [arch/x86/Makefile:248: archheaders] Error 2
make: *** [Makefile:234: __sub-make] Error 2
Here we append to the kernel Makefile a warning that should make it more clear
what is going wrong. "$(shell [ -t 0 ] && echo 1)" is a trick to show this
warning when an user is executing "make" from their shell, but not when they are
compiling out-of-tree kernel modules (which is the reason we need to install
these makefiles to begin with).
We also add a "dist-kernel" file containing the package atom of the ebuild that
installed this kernel. This makes it possible for ebuilds/eclasses or whatever
other tools to check if a kernel is a Gentoo distribution kernel. This
identifier will be overwritten in gentoo-kernel-bin.ebuild.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 7922638be6e1..86c7cd4a172d 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -382,6 +382,22 @@ kernel-build_src_install() {
local module_ver
module_ver=$(<"${relfile}") || die
+ # warn when trying to "make" a dist-kernel
+ cat <<-EOF >> "${ED}${kernel_dir}/Makefile" || die
+
+ _GENTOO_IS_USER_SHELL:=\$(shell [ -t 0 ] && echo 1)
+ ifdef _GENTOO_IS_USER_SHELL
+ \$(warning !!!! WARNING !!!!)
+ \$(warning This kernel was configured and installed by the package manager.)
+ \$(warning "make" should not be run manually here.)
+ \$(warning See also: https://wiki.gentoo.org/wiki/Project:Distribution_Kernel)
+ \$(warning See also: https://wiki.gentoo.org/wiki/Kernel/Configuration)
+ \$(warning !!!! WARNING !!!!)
+ endif
+ EOF
+ # add a dist-kernel identifier file
+ echo "${CATEGORY}/${PF}:${SLOT}" > "${ED}${kernel_dir}/dist-kernel" || die
+
# fix source tree and build dir symlinks
dosym "../../../${kernel_dir}" "/lib/modules/${module_ver}/build"
dosym "../../../${kernel_dir}" "/lib/modules/${module_ver}/source"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-26 6:24 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-06-26 6:24 UTC (permalink / raw
To: gentoo-commits
commit: 67ffceb423d8517ad2911d289ec6e999862bd570
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 25 09:08:47 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Wed Jun 26 06:23:12 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67ffceb4
java-utils-2.eclass: add --runtime-only argument to java-pkg_getjars
Some packages only need the jar at runtime, not at compile time. For
example https://bugs.gentoo.org/934659#c2
Bug: https://bugs.gentoo.org/934659
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/java-utils-2.eclass | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index adbc5242053a..3c2d190c4c15 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -1137,7 +1137,7 @@ java-pkg_jarfrom() {
}
# @FUNCTION: java-pkg_getjars
-# @USAGE: [--build-only] [--with-dependencies] <package1>[,<package2>...]
+# @USAGE: [--build-only] [--runtime-only] [--with-dependencies] <package1>[,<package2>...]
# @DESCRIPTION:
# Get the classpath provided by any number of packages
# Among other things, this can be passed to 'javac -classpath' or 'ant -lib'.
@@ -1157,6 +1157,7 @@ java-pkg_jarfrom() {
# Parameters:
# --build-only - makes the jar(s) not added into package.env DEPEND line.
# (assumed automatically when called inside src_test)
+# --runtime-only - marks the jar(s) not added into package.env RDEPEND line.
# --with-dependencies - get jars also from requested package's dependencies
# transitively.
# $1 - list of packages to get jars from
@@ -1165,6 +1166,7 @@ java-pkg_jarfrom() {
java-pkg_getjars() {
debug-print-function ${FUNCNAME} $*
+ local dep_constraint
local build_only=""
local deep=""
@@ -1173,6 +1175,9 @@ java-pkg_getjars() {
while [[ "${1}" == --* ]]; do
if [[ "${1}" = "--build-only" ]]; then
build_only="build"
+ dep_constraint="build"
+ elif [[ "${1}" = "--runtime-only" ]]; then
+ dep_constraint="runtime"
elif [[ "${1}" = "--with-dependencies" ]]; then
deep="--with-dependencies"
else
@@ -1191,7 +1196,7 @@ java-pkg_getjars() {
debug-print "${pkgs}:${jars}"
for pkg in ${pkgs//,/ }; do
- java-pkg_ensure-dep "${build_only}" "${pkg}"
+ java-pkg_ensure-dep "${dep_constraint}" "${pkg}"
done
for pkg in ${pkgs//,/ }; do
@@ -1808,7 +1813,6 @@ java-pkg_ant-tasks-depend() {
fi
}
-
# @FUNCTION: ejunit_
# @INTERNAL
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-24 11:58 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-06-24 11:58 UTC (permalink / raw
To: gentoo-commits
commit: 6933e6224a51125ef893b2e1c7e56b046373f7e6
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 23 10:02:08 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jun 24 11:56:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6933e622
common-lisp-3.eclass: Drop support for EAPI 6
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/common-lisp-3.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/common-lisp-3.eclass b/eclass/common-lisp-3.eclass
index 99825190f32e..cc906d0d5cca 100644
--- a/eclass/common-lisp-3.eclass
+++ b/eclass/common-lisp-3.eclass
@@ -4,14 +4,14 @@
# @ECLASS: common-lisp-3.eclass
# @MAINTAINER:
# Common Lisp project <common-lisp@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: functions to support the installation of Common Lisp libraries
# @DESCRIPTION:
# Since Common Lisp libraries share similar structure, this eclass aims
# to provide a simple way to write ebuilds with these characteristics.
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -27,14 +27,14 @@ CLIMPLEMENTATIONS="sbcl clisp clozurecl cmucl ecl gcl abcl"
# @DESCRIPTION:
# Default path of Common Lisp libraries sources. Sources will
# be installed into ${CLSOURCEROOT}/${CLPACKAGE}.
-CLSOURCEROOT="${ROOT%/}"/usr/share/common-lisp/source
+CLSOURCEROOT="${ROOT}"/usr/share/common-lisp/source
# @ECLASS_VARIABLE: CLSYSTEMROOT
# @DESCRIPTION:
# Default path to find any asdf file. Any asdf files will be
# symlinked in ${CLSYSTEMROOT}/${CLSYSTEM} as they may be in
# an arbitrarily deeply nested directory under ${CLSOURCEROOT}/${CLPACKAGE}.
-CLSYSTEMROOT="${ROOT%/}"/usr/share/common-lisp/systems
+CLSYSTEMROOT="${ROOT}"/usr/share/common-lisp/systems
# @ECLASS_VARIABLE: CLPACKAGE
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-23 17:33 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-06-23 17:33 UTC (permalink / raw
To: gentoo-commits
commit: 5bdad9cd272ce0180c6afecf52637e241b1c6f9e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 23 16:26:20 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jun 23 17:32:37 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bdad9cd
llvm.org.eclass: Add 19.0.0_pre20240623 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 914a731a1768..af5ee26b652e 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_pre20240623)
+ EGIT_COMMIT=3ae6755719c6dfc07761b4e9bdac8c86bcb41734
+ ;;
19.0.0_pre20240615)
EGIT_COMMIT=cddb9ce04e68d876de895d39d60b6af34d569012
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-23 1:00 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-06-23 1:00 UTC (permalink / raw
To: gentoo-commits
commit: ab3a604aa77a4c2a0d54fd146c5b7b0ca53f1b38
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 23 00:47:18 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Jun 23 01:00:02 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab3a604a
qt6-build.eclass: handle extra -mno-* for qtwebengine
Had forgotten chromium needed extras, so went to look at
chromium's ebuild to see which ones were getting stripped
that we aren't already handling.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 4966c52adc4c..24b857dab53f 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -282,6 +282,17 @@ _qt6-build_sanitize_cpu_flags() {
bmi bmi2 f16c fma lzcnt popcnt
)
+ # extras only needed by chromium in qtwebengine
+ # (see also chromium's ebuild wrt bug #530248,#544702,#546984,#853646)
+ [[ ${PN} == qtwebengine ]] && cpuflags+=(
+ mmx xop
+
+ # unclear if these two are really needed given (current) chromium
+ # does not pass these flags, albeit it may side-disable something
+ # else so keeping as a safety (like chromium's ebuild does)
+ fma4 sse4a
+ )
+
# check if any known problematic -mno-* C(XX)FLAGS
if ! is-flagq "@($(IFS='|'; echo "${cpuflags[*]/#/-mno-}"))"; then
# check if qsimd_p.h (search for "enable all") will accept -march
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-20 9:57 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-06-20 9:57 UTC (permalink / raw
To: gentoo-commits
commit: dd5030fa0ad06728735f266e00a3e6258db46a83
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 20 09:55:20 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 20 09:57:18 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd5030fa
toolchain.eclass: fix SRC_URI for releases
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index bc61a8bddb2c..c7c366a37ad0 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -526,7 +526,7 @@ get_gcc_src_uri() {
GCC_SRC_URI="mirror://gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT}.tar.xz"
else
GCC_SRC_URI="
- mirror://gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.xz
+ mirror://gcc/releases/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.xz
mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.xz
"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-20 7:29 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-06-20 7:29 UTC (permalink / raw
To: gentoo-commits
commit: 5f5fe1e48984b8d2dc0202ac734a4feb49b46568
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 20 07:29:36 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Thu Jun 20 07:29:49 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f5fe1e4
readme.gentoo-r1.eclass: use two spaces after full stop
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/readme.gentoo-r1.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/readme.gentoo-r1.eclass b/eclass/readme.gentoo-r1.eclass
index 35c3d3748550..48023d9c049f 100644
--- a/eclass/readme.gentoo-r1.eclass
+++ b/eclass/readme.gentoo-r1.eclass
@@ -10,7 +10,7 @@
# @BLURB: install a doc file shown via elog messages
# @DESCRIPTION:
# An eclass for installing a README.gentoo doc file recording tips
-# shown via elog messages. With this eclass, those elog messages will only be
+# shown via elog messages. With this eclass, those elog messages will only be
# shown at first package installation and a file for later reviewing will be
# installed under /usr/share/doc/${PF}
#
@@ -34,7 +34,7 @@ esac
# @DEFAULT_UNSET
# @DESCRIPTION:
# If non-empty, DOC_CONTENTS information will be strictly respected,
-# not getting it automatically formatted by fold. If empty, it will
+# not getting it automatically formatted by fold. If empty, it will
# rely on fold for formatting and 'echo -e' options to tweak lines a bit.
# @ECLASS_VARIABLE: FORCE_PRINT_ELOG
@@ -50,7 +50,7 @@ esac
# @FUNCTION: readme.gentoo_create_doc
# @DESCRIPTION:
# Create doc file with ${DOC_CONTENTS} variable (preferred) and, if not set,
-# look for "${FILESDIR}/README.gentoo" contents. You can use
+# look for "${FILESDIR}/README.gentoo" contents. You can use
# ${FILESDIR}/README.gentoo-${SLOT} also.
# Usually called at src_install phase.
readme.gentoo_create_doc() {
@@ -84,7 +84,7 @@ readme.gentoo_create_doc() {
# @FUNCTION: readme.gentoo_print_elog
# @DESCRIPTION:
-# Print elog messages with "${T}"/README.gentoo contents. They will be
+# Print elog messages with "${T}"/README.gentoo contents. They will be
# shown only when package is installed at first time.
# Usually called at pkg_postinst phase.
#
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-20 7:29 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-06-20 7:29 UTC (permalink / raw
To: gentoo-commits
commit: 15fbf774e0357c750bd1934592370223c595b6bd
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 19 12:11:51 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Thu Jun 20 07:29:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15fbf774
readme.gentoo-r1.eclass: fix description of DISABLE_AUTOFORMATTING by s/fmt/fold/
The autoformatting tool was switched from fmt to fold in
3f9cdecb18c6 ("Change formatting tool as discussed with Ulrich Müller in
bug #460050, thanks a lot to him for his help.") but the description of
the DISABLE_AUTOFORMATTING variable still talks about fmt being used.
See also https://bugs.gentoo.org/460050#c7
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/readme.gentoo-r1.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/readme.gentoo-r1.eclass b/eclass/readme.gentoo-r1.eclass
index 202ba31f4f70..35c3d3748550 100644
--- a/eclass/readme.gentoo-r1.eclass
+++ b/eclass/readme.gentoo-r1.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: readme.gentoo-r1.eclass
@@ -34,8 +34,8 @@ esac
# @DEFAULT_UNSET
# @DESCRIPTION:
# If non-empty, DOC_CONTENTS information will be strictly respected,
-# not getting it automatically formatted by fmt. If empty, it will
-# rely on fmt for formatting and 'echo -e' options to tweak lines a bit.
+# not getting it automatically formatted by fold. If empty, it will
+# rely on fold for formatting and 'echo -e' options to tweak lines a bit.
# @ECLASS_VARIABLE: FORCE_PRINT_ELOG
# @DEFAULT_UNSET
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-19 3:16 Andreas K. Hüttel
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas K. Hüttel @ 2024-06-19 3:16 UTC (permalink / raw
To: gentoo-commits
commit: a7f997b3232b4bb1869dd2d3d97c5bfc89cf47de
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 19 03:15:28 2024 +0000
Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Wed Jun 19 03:16:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a7f997b3
perl-module.eclass: drop support for perl versions without PERL_FEATURES
Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>
eclass/perl-module.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 432d1ab315dd..27cd053f0ea7 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -63,7 +63,7 @@ esac
# @CODE
PERL_USEDEP="perl_features_debug=,perl_features_ithreads=,perl_features_quadmath="
-GENTOO_PERL_DEPSTRING=" || ( >=dev-lang/perl-5.38.2-r3[${PERL_USEDEP}] <dev-lang/perl-5.38.2-r3 )"
+GENTOO_PERL_DEPSTRING=">=dev-lang/perl-5.38.2-r3[${PERL_USEDEP}]"
GENTOO_PERL_USESTRING="perl_features_debug perl_features_ithreads perl_features_quadmath"
case ${EAPI} in
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-17 17:13 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-06-17 17:13 UTC (permalink / raw
To: gentoo-commits
commit: d8ebc6b4f46647853745e0be779a6bcc1f50f95b
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 17 15:59:38 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Jun 17 17:06:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8ebc6b4
ecm.eclass: Fix _ecm_check_gcc_version
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 518f913815be..3d3b9328269d 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -307,7 +307,7 @@ unset COMMONDEPEND
# @DESCRIPTION:
# Determine if the current GCC version is acceptable, otherwise die.
_ecm_check_gcc_version() {
- if [[ ${MERGE_TYPE} != binary && -v ${KDE_GCC_MINIMAL} ]] && tc-is-gcc; then
+ if [[ ${MERGE_TYPE} != binary && -v KDE_GCC_MINIMAL ]] && tc-is-gcc; then
local version=$(gcc-version)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-17 9:39 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-06-17 9:39 UTC (permalink / raw
To: gentoo-commits
commit: 73aef61ba818739034dd5cc939a315213bc77741
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 15 13:59:15 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Mon Jun 17 09:27:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73aef61b
cargo.eclass: Add cargo_target_dir helper function
Several Cargo-based ebuilds cannot use cargo_src_install for various
reasons and manually install binaries from within the target directory
instead. It is common to see `target/$(usex debug debug release)`, but
this lacks the target ABI when cross-compiling, so provide a helper
function.
There are some multilib Cargo-based ebuilds that always set the target
ABI, even when not cross-compiling. It would be simpler to do this in
general, so once ebuilds have been updated to use this new helper, I
might change the eclass again accordingly.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/cargo.eclass | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 548aaef3ed69..7db34efb4e17 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -319,6 +319,16 @@ _cargo_gen_git_config() {
fi
}
+# @FUNCTION: cargo_target_dir
+# @DESCRIPTION:
+# Return the directory within target that contains the build, e.g.
+# target/aarch64-unknown-linux-gnu/release.
+cargo_target_dir() {
+ local abi
+ tc-is-cross-compiler && abi=/$(rust_abi)
+ echo "${CARGO_TARGET_DIR:-target}${abi}/$(usex debug debug release)"
+}
+
# @FUNCTION: cargo_src_unpack
# @DESCRIPTION:
# Unpacks the package and the cargo registry.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-17 0:53 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-06-17 0:53 UTC (permalink / raw
To: gentoo-commits
commit: 8ac18e94add62abf445280e5b3ddf9a20e5e17a7
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 17 00:53:32 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 17 00:53:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ac18e94
cargo.eclass: mention app-portage/pycargoebuild in @CRATES docs
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/cargo.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 40d98211ce7f..548aaef3ed69 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -48,7 +48,7 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
# @PRE_INHERIT
# @DESCRIPTION:
# Bash string containing all crates that are to be downloaded.
-# It is used by cargo_crate_uris.
+# It is used by cargo_crate_uris. Typically generated by app-portage/pycargoebuild.
#
# Ideally, crate names and versions should be separated by a `@`
# character. A legacy syntax using hyphen is also supported but it is
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-15 11:01 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-06-15 11:01 UTC (permalink / raw
To: gentoo-commits
commit: 9024dd273dbeca9f7f36b60fa48bc5ccf7c1f08c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 15 10:17:47 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 15 11:01:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9024dd27
llvm.org.eclass: Remove support for old snapshots
Signed-off-by: Michał Górny <mgorny <AT> 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 a362c3bb60b1..914a731a1768 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -78,12 +78,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
19.0.0_pre20240608)
EGIT_COMMIT=5aabbf0602c48b67bb89fd37f95bf97c95ded488
;;
- 19.0.0_pre20240525)
- EGIT_COMMIT=7dc2f6602212bf0a0433c157b70e4fc0d70bb730
- ;;
- 19.0.0_pre20240518)
- EGIT_COMMIT=702198fc9ac5dba392f9d9ba7c56467996343c0a
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-15 7:58 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-06-15 7:58 UTC (permalink / raw
To: gentoo-commits
commit: e65892a87435c5b0dddbe7b02532eeb5ae806e46
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 15 07:57:41 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 15 07:57:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e65892a8
toolchain.eclass: fix applying musl patches for live ebuilds
toolchain_fetch_git_patches had a typo for the case where we may
want to try use downloaded SRC_URI (rather than git) patches, so it
never applied them for live ebuilds.
Reported by awilfox.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 7d69f3b90e91..bc61a8bddb2c 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -589,7 +589,7 @@ toolchain_fetch_git_patches() {
mkdir "${WORKDIR}"/patch || die
mv "${WORKDIR}"/patch.tmp/${PATCH_GCC_VER}/gentoo/* "${WORKDIR}"/patch || die
- if [[ -n ${MUSL_VER} || -d "${WORKDIR}"/musl ]] && [[ ${CTARGET} == *musl* ]] ; then
+ if [[ -z ${MUSL_VER} || -d "${WORKDIR}"/musl ]] && [[ ${CTARGET} == *musl* ]] ; then
mkdir "${WORKDIR}"/musl || die
mv "${WORKDIR}"/patch.tmp/${PATCH_GCC_VER}/musl/* "${WORKDIR}"/musl || die
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-06-14 12:26 UTC (permalink / raw
To: gentoo-commits
commit: 75da06793abc7dc2dc5fc0faec81fad7c56d9d45
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 2 17:59:01 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 12:26:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75da0679
distutils-r1.eclass: Remove support for `d_e_t --install`
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 17 ++---------------
1 file changed, 2 insertions(+), 15 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 3d72a5d3d554..f0d9d3a4b937 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -566,7 +566,7 @@ distutils_enable_sphinx() {
}
# @FUNCTION: distutils_enable_tests
-# @USAGE: [--install] <test-runner>
+# @USAGE: <test-runner>
# @DESCRIPTION:
# Set up IUSE, RESTRICT, BDEPEND and python_test() for running tests
# with the specified test runner. Also copies the current value
@@ -578,10 +578,6 @@ distutils_enable_sphinx() {
#
# - unittest: for built-in Python unittest module
#
-# Additionally, if --install is passed as the first parameter,
-# 'distutils_install_for_testing --via-root' is called before running
-# the test suite.
-#
# This function is meant as a helper for common use cases, and it only
# takes care of basic setup. You still need to list additional test
# dependencies manually. If you have uncommon use case, you should
@@ -592,14 +588,9 @@ distutils_enable_sphinx() {
distutils_enable_tests() {
debug-print-function ${FUNCNAME} "${@}"
- _DISTUTILS_TEST_INSTALL=
case ${1} in
--install)
- if [[ ${DISTUTILS_USE_PEP517} ]]; then
- die "${FUNCNAME} --install is not implemented in PEP517 mode"
- fi
- _DISTUTILS_TEST_INSTALL=1
- shift
+ die "${FUNCNAME} --install is no longer supported"
;;
esac
@@ -1679,10 +1670,6 @@ distutils-r1_python_test() {
_python_check_EPYTHON
- if [[ ${_DISTUTILS_TEST_INSTALL} ]]; then
- distutils_install_for_testing
- fi
-
case ${_DISTUTILS_TEST_RUNNER} in
pytest)
epytest
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-06-14 12:26 UTC (permalink / raw
To: gentoo-commits
commit: 030257a29d8a9900668ba0b57a21250ab600d232
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 3 01:00:14 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 12:26:09 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=030257a2
distutils-r1.eclass: Change "PEP 517" to "PEP517", for consistency
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index afed1fa547d1..61c0a80323ec 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -99,7 +99,7 @@ esac
# @PRE_INHERIT
# @DEFAULT_UNSET
# @DESCRIPTION:
-# Enable the PEP 517 mode for the specified build system. In this mode,
+# Enable the PEP517 mode for the specified build system. In this mode,
# the complete build and install is done in python_compile(),
# a venv-style install tree is provided to python_test(),
# and python_install() just merges the temporary install tree
@@ -182,7 +182,7 @@ esac
# This is an eclass-generated build-time dependency string for the build
# system packages. This string is automatically appended to BDEPEND
# unless DISTUTILS_OPTIONAL is used. This variable is available only
-# in PEP 517 mode.
+# in PEP517 mode.
#
# Example use:
# @CODE
@@ -1221,7 +1221,7 @@ distutils_wheel_install() {
# @FUNCTION: distutils_pep517_install
# @USAGE: <root>
# @DESCRIPTION:
-# Build the wheel for the package in the current directory using PEP 517
+# Build the wheel for the package in the current directory using PEP517
# backend and install it into <root>.
#
# This function is intended for expert use only. It does not handle
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-06-14 12:26 UTC (permalink / raw
To: gentoo-commits
commit: 8c7703e917f8ff61c4fa7881ef664eb9054c23d6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 10 18:58:16 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 12:26:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8c7703e9
python-r1.eclass: Override PYTHON*_USEDEP in sub-phases
Override the value of PYTHON_USEDEP and PYTHON_SINGLE_USEDEP to match
the current implementation inside sub-phase function. This makes
it possible to use them in has_version checks with conditional
dependencies.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-r1.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index fbc6082a1d92..c5fa6770558f 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.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: python-r1.eclass
@@ -594,6 +594,8 @@ _python_multibuild_wrapper() {
local -x EPYTHON PYTHON
local -x PATH=${PATH} PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
+ local PYTHON_USEDEP="python_targets_${MULTIBUILD_VARIANT}(-)"
+ local PYTHON_SINGLE_USEDEP="python_single_target_${MULTIBUILD_VARIANT}(-)"
_python_export "${MULTIBUILD_VARIANT}" EPYTHON PYTHON
_python_wrapper_setup
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-06-14 12:26 UTC (permalink / raw
To: gentoo-commits
commit: 4c9973d691bf1842f7a1fcefc90e31872054bc94
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 1 09:22:32 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 12:26:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c9973d6
distutils-r1.eclass: Document BUILD_DIR for consistency
Closes: https://bugs.gentoo.org/910661
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 2b610a4d2ceb..3d72a5d3d554 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -206,6 +206,22 @@ esac
# the build system in pure Python packages and packages using the stable
# Python ABI.
+# @ECLASS_VARIABLE: BUILD_DIR
+# @OUTPUT_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# The current build directory. In global scope, it is supposed to
+# contain an initial build directory; if unset, it defaults to ${S}.
+#
+# When running in multi-impl mode, the BUILD_DIR variable is set
+# by python-r1.eclass. Otherwise, it is set by distutils-r1.eclass
+# for consistency.
+#
+# Example value:
+# @CODE
+# ${WORKDIR}/foo-1.3-python3_12
+# @CODE
+
if [[ -z ${_DISTUTILS_R1_ECLASS} ]]; then
_DISTUTILS_R1_ECLASS=1
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-06-14 12:26 UTC (permalink / raw
To: gentoo-commits
commit: 941e9c718887243f880ee6f8271c5e6d9aeb75db
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 2 18:01:26 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 12:26:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=941e9c71
distutils-r1.eclass: Remove distutils_install_for_testing
Remove `distutils_install_for_testing` function. It is quite complex,
and it was used only in the legacy eclass mode. All ebuilds using it
in ::gentoo have been migrated to PEP517 build already, and the PEP517
build implement the same functionality better.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 123 ++-------------------------------------------
1 file changed, 5 insertions(+), 118 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index f0d9d3a4b937..afed1fa547d1 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -704,123 +704,12 @@ esetup.py() {
}
# @FUNCTION: distutils_install_for_testing
-# @USAGE: [--via-root|--via-home|--via-venv] [<args>...]
+# @DEPRECATED: DISTUTILS_USE_PEP517=...
# @DESCRIPTION:
-# Install the package into a temporary location for running tests.
-# Update PYTHONPATH appropriately and set TEST_DIR to the test
-# installation root. The Python packages will be installed in 'lib'
-# subdir, and scripts in 'scripts' subdir (like in BUILD_DIR).
-#
-# Please note that this function should be only used if package uses
-# namespaces (and therefore proper install needs to be done to enforce
-# PYTHONPATH) or tests rely on the results of install command.
-# For most of the packages, tests built in BUILD_DIR are good enough.
-#
-# The function supports three install modes. These are:
-#
-# --via-root (the default) that uses 'setup.py install --root=...'
-# combined with PYTHONPATH and is recommended for the majority
-# of packages.
-#
-# --via-venv that creates a (non-isolated) venv and installs the package
-# into it via 'setup.py install'. This mode does not use PYTHONPATH
-# but requires python to be called via PATH. It may solve a few corner
-# cases that --via-root do not support.
-#
-# --via-home that uses 'setup.py install --home=...'. This is
-# a historical mode that was mostly broken by setuptools 50.3.0+.
-# If your package does not work with the other two modes but works with
-# this one, please report a bug.
-#
-# Please note that in order to test the solution properly you need
-# to unmerge the package first.
-#
-# This function is not available in PEP517 mode. The eclass provides
-# a venv-style install unconditionally and therefore it should no longer
-# be necessary.
+# This function used to provide an installed package for running tests.
+# It is no longer implemented, PEP517 mode must be used instead.
distutils_install_for_testing() {
- debug-print-function ${FUNCNAME} "${@}"
-
- if [[ ${DISTUTILS_USE_PEP517} ]]; then
- die "${FUNCNAME} is not implemented in PEP517 mode"
- fi
-
- # A few notes about --via-home mode:
- # 1) 'install --home' is terribly broken on pypy, so we need
- # to override --install-lib and --install-scripts,
- # 2) non-root 'install' complains about PYTHONPATH and missing dirs,
- # so we need to set it properly and mkdir them,
- # 3) it runs a bunch of commands which write random files to cwd,
- # in order to avoid that, we add the necessary path overrides
- # in _distutils-r1_create_setup_cfg.
-
- local install_method=root
- case ${1} in
- --via-home)
- [[ ${EAPI} == 7 ]] || die "${*} is banned in EAPI ${EAPI}"
- install_method=home
- shift
- ;;
- --via-root)
- install_method=root
- shift
- ;;
- --via-venv)
- install_method=venv
- shift
- ;;
- esac
-
- TEST_DIR=${BUILD_DIR}/test
- local add_args=()
-
- if [[ ${install_method} == venv ]]; then
- # create a quasi-venv
- mkdir -p "${TEST_DIR}"/bin || die
- ln -s "${PYTHON}" "${TEST_DIR}/bin/${EPYTHON}" || die
- ln -s "${EPYTHON}" "${TEST_DIR}/bin/python3" || die
- ln -s "${EPYTHON}" "${TEST_DIR}/bin/python" || die
- cat > "${TEST_DIR}"/pyvenv.cfg <<-EOF || die
- include-system-site-packages = true
- EOF
-
- # we only do the minimal necessary subset of activate script
- PATH=${TEST_DIR}/bin:${PATH}
- # unset PYTHONPATH in order to prevent BUILD_DIR from overriding
- # venv packages
- unset PYTHONPATH
-
- # force root-style install (note: venv adds TEST_DIR to prefixes,
- # so we need to pass --root=/)
- add_args=(
- --root=/
- )
- else
- local bindir=${TEST_DIR}/scripts
- local libdir=${TEST_DIR}/lib
- PATH=${bindir}:${PATH}
- PYTHONPATH=${libdir}:${PYTHONPATH}
-
- case ${install_method} in
- home)
- add_args=(
- --home="${TEST_DIR}"
- --install-lib="${libdir}"
- --install-scripts="${bindir}"
- )
- mkdir -p "${libdir}" || die
- ;;
- root)
- add_args=(
- --root="${TEST_DIR}"
- --install-lib=lib
- --install-scripts=scripts
- )
- ;;
- esac
- fi
-
- esetup.py install "${add_args[@]}" "${@}"
+ die "${FUNCNAME} has been removed, please use PEP517 mode instead"
}
# @FUNCTION: distutils_write_namespace
@@ -1859,9 +1748,7 @@ distutils-r1_run_phase() {
else
local -x PYTHONPATH="${BUILD_DIR}/lib:${PYTHONPATH}"
- # make PATH local for distutils_install_for_testing calls
- # it makes little sense to let user modify PATH in per-impl phases
- # and _all() already localizes it
+ # make PATH local (for historical reasons)
local -x PATH=${PATH}
if _python_impl_matches "${EPYTHON}" 3.{9..11}; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-06-14 12:26 UTC (permalink / raw
To: gentoo-commits
commit: f5102bba40a66015d03da8f20387c0f9f40d56f9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 1 09:17:46 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 12:26:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5102bba
distutils-r1.eclass: Doc DISTUTILS_IN_SOURCE_BUILD as deprecated
Signed-off-by: Michał Górny <mgorny <AT> 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 392725d48121..2b610a4d2ceb 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -371,6 +371,7 @@ unset -f _distutils_set_globals
# @ECLASS_VARIABLE: DISTUTILS_IN_SOURCE_BUILD
# @DEFAULT_UNSET
+# @DEPRECATED: (none)
# @DESCRIPTION:
# If set to a non-null value, in-source builds will be enabled.
# If unset, the default is to use in-source builds when python_prepare()
@@ -384,6 +385,9 @@ unset -f _distutils_set_globals
# on the sources directly, prepending setup.py arguments with
# 'build --build-base ${BUILD_DIR}' to enforce keeping & using built
# files in the specific root.
+#
+# In-source builds are deprecated and no longer supported in PEP517
+# mode.
# @ECLASS_VARIABLE: DISTUTILS_ALL_SUBPHASE_IMPLS
# @DEFAULT_UNSET
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-06-14 12:26 UTC (permalink / raw
To: gentoo-commits
commit: a3266609c65361d1dc2e7c1be9c91721c899750a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 1 09:09:37 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 12:26:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3266609
distutils-r1.eclass: Remove doc for DOCS, HTML_DOCS and PATCHES
Remove the redundant (and outdated) documentation for the DOCS,
HTML_DOCS and PATCHES variables. All these variables are handled
through the default EAPI functions.
Closes: https://bugs.gentoo.org/932802
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 46 ----------------------------------------------
1 file changed, 46 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 71b80fafe1a5..eac4d592efaf 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -364,52 +364,6 @@ _distutils_set_globals() {
_distutils_set_globals
unset -f _distutils_set_globals
-# @ECLASS_VARIABLE: PATCHES
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# An array containing patches to be applied to the sources before
-# copying them.
-#
-# If unset, no custom patches will be applied.
-#
-# Please note, however, that at some point the eclass may apply
-# additional distutils patches/quirks independently of this variable.
-#
-# Example:
-# @CODE
-# PATCHES=( "${FILESDIR}"/${P}-make-gentoo-happy.patch )
-# @CODE
-
-# @ECLASS_VARIABLE: DOCS
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# An array containing documents installed using dodoc. The files listed
-# there must exist in the directory from which
-# distutils-r1_python_install_all() is run (${S} by default).
-#
-# If unset, the function will instead look up files matching default
-# filename pattern list (from the Package Manager Specification),
-# and install those found.
-#
-# Example:
-# @CODE
-# DOCS=( NEWS README )
-# @CODE
-
-# @ECLASS_VARIABLE: HTML_DOCS
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# An array containing documents installed using dohtml. The files
-# and directories listed there must exist in the directory from which
-# distutils-r1_python_install_all() is run (${S} by default).
-#
-# If unset, no HTML docs will be installed.
-#
-# Example:
-# @CODE
-# HTML_DOCS=( doc/html/. )
-# @CODE
-
# @ECLASS_VARIABLE: DISTUTILS_IN_SOURCE_BUILD
# @DEFAULT_UNSET
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-06-14 12:26 UTC (permalink / raw
To: gentoo-commits
commit: d344e223068c8d9eb695ba464facb4451bb07d5c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 1 09:14:26 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 12:26:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d344e223
distutils-r1.eclass: Doc DISTUTILS_OPTIONAL + DISTUTILS_SINGLE_IMPL
Closes: https://bugs.gentoo.org/780807
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index eac4d592efaf..392725d48121 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -78,6 +78,11 @@ esac
# for your package (using ${PYTHON_DEPS}) and to either call
# distutils-r1 default phase functions or call the build system
# manually.
+#
+# Note that if DISTUTILS_SINGLE_IMPL is used, python-single-r1 exports
+# pkg_setup() function. In that case, it is necessary to redefine
+# pkg_setup() to call python-single-r1_pkg_setup over correct
+# conditions.
# @ECLASS_VARIABLE: DISTUTILS_SINGLE_IMPL
# @DEFAULT_UNSET
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:19 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-06-14 12:19 UTC (permalink / raw
To: gentoo-commits
commit: 3e3b6279bd902e90032243148e7c96cc755afc6d
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Fri Jun 14 12:12:00 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 12:19:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e3b6279
Revert "java-utils-2.eclass: eerror if java-utils-2 is inherited directly"
This reverts commit 41faa907e3a36f4ed00aced3499d469abb865281.
Bug: https://bugs.gentoo.org/207098
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/37156
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 6 ------
1 file changed, 6 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index b72a00b352d2..adbc5242053a 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -34,12 +34,6 @@ export WANT_JAVA_CONFIG="2"
has test ${JAVA_PKG_IUSE} && RESTRICT+=" !test? ( test )"
-# this eclass must be inherited after java-pkg-2 or java-pkg-opt-2
-# bug #207098
-if ! has java-pkg-2 ${INHERITED} && ! has java-pkg-opt-2 ${INHERITED}; then
- eerror "java-utils-2 eclass must not be inherited directly."
-fi
-
# @VARIABLE: JAVA_PKG_E_DEPEND
# @INTERNAL
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-06-14 10:00 UTC (permalink / raw
To: gentoo-commits
commit: ad8cd90f68f7448bbaf6d4501a28ffb41555305f
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sun May 26 08:00:48 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 10:00:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad8cd90f
java-utils-2.eclass: drop redundant java-pkg_get-current-vm()
Removes the first of two different versions of java-pkg_get-current-vm()
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/35287
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 4 ----
1 file changed, 4 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index bc6fe9086583..b72a00b352d2 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -1646,10 +1646,6 @@ java-pkg_set-current-vm() {
export GENTOO_VM=${1}
}
-java-pkg_get-current-vm() {
- echo ${GENTOO_VM}
-}
-
java-pkg_current-vm-matches() {
has $(java-pkg_get-current-vm) ${@}
return $?
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-06-14 10:00 UTC (permalink / raw
To: gentoo-commits
commit: d7462249b3a531af33ca05b99a02806f580fa032
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Feb 13 07:19:02 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 10:00:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d7462249
java-utils-2.eclass: prepend "QA Notice" to eqawarn
Closes: https://bugs.gentoo.org/813342
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 58463fd5e1ed..1e0555742b84 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2934,7 +2934,7 @@ java-pkg_ensure-dep() {
# if is-java-strict; then
# die "${dev_error}"
# else
- eqawarn "java-pkg_ensure-dep: ${dev_error}"
+ eqawarn "QA Notice: java-pkg_ensure-dep: ${dev_error}"
# eerror "Because you have ${target_pkg} installed,"
# eerror "the package will build without problems, but please"
# eerror "report this to https://bugs.gentoo.org."
@@ -2945,7 +2945,7 @@ java-pkg_ensure-dep() {
# if is-java-strict; then
# die "${dev_error}"
# else
- eqawarn "java-pkg_ensure-dep: ${dev_error}"
+ eqawarn "QA Notice: java-pkg_ensure-dep: ${dev_error}"
# eerror "The package will build without problems, but may fail to run"
# eerror "if you don't have ${target_pkg} installed,"
# eerror "so please report this to https://bugs.gentoo.org."
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-06-14 10:00 UTC (permalink / raw
To: gentoo-commits
commit: b18c31b629bfbcf3d1882cff297d96ec7725b459
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Mon Feb 12 09:47:43 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 10:00:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b18c31b6
java-utils-2.eclass: solve Unexpected tag in "funcvar" state
Closes: https://bugs.gentoo.org/637768
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 47123287ce70..58463fd5e1ed 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -319,12 +319,15 @@ java-pkg_doexamples() {
# arguments are passed through to find.
#
# @CODE
+# Parameters:
+# $1 - jar file
+# $2 - resource tree directory
+# $* - arguments to pass to find
+#
+# Example:
# java-pkg_addres ${PN}.jar resources ! -name "*.html"
# @CODE
#
-# @param $1 - jar file
-# @param $2 - resource tree directory
-# @param $* - arguments to pass to find
java-pkg_addres() {
debug-print-function ${FUNCNAME} $*
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-06-14 10:00 UTC (permalink / raw
To: gentoo-commits
commit: a065e86dbe3e86803ae1f656b86ee0278ab4b835
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Tue Feb 13 07:32:45 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 10:00:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a065e86d
java-utils-2.eclass: improve message of java-pkg_die
Closes: https://bugs.gentoo.org/591142
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 1e0555742b84..ac0c67942b41 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2816,7 +2816,7 @@ java-pkg_die() {
echo "!!! When you file a bug report, please include the following information:" >&2
echo "GENTOO_VM=${GENTOO_VM} CLASSPATH=\"${CLASSPATH}\" JAVA_HOME=\"${JAVA_HOME}\"" >&2
echo "JAVACFLAGS=\"${JAVACFLAGS}\" COMPILER=\"${GENTOO_COMPILER}\"" >&2
- echo "and of course, the output of emerge --info =${P}" >&2
+ echo "and of course, the output of emerge --info =${CATEGORY}/${PF}" >&2
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-06-14 10:00 UTC (permalink / raw
To: gentoo-commits
commit: 41faa907e3a36f4ed00aced3499d469abb865281
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Mon Feb 26 09:37:01 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jun 14 10:00:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41faa907
java-utils-2.eclass: eerror if java-utils-2 is inherited directly
Closes: https://bugs.gentoo.org/207098
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index ac0c67942b41..bc6fe9086583 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -34,6 +34,12 @@ export WANT_JAVA_CONFIG="2"
has test ${JAVA_PKG_IUSE} && RESTRICT+=" !test? ( test )"
+# this eclass must be inherited after java-pkg-2 or java-pkg-opt-2
+# bug #207098
+if ! has java-pkg-2 ${INHERITED} && ! has java-pkg-opt-2 ${INHERITED}; then
+ eerror "java-utils-2 eclass must not be inherited directly."
+fi
+
# @VARIABLE: JAVA_PKG_E_DEPEND
# @INTERNAL
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-13 20:43 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-06-13 20:43 UTC (permalink / raw
To: gentoo-commits
commit: 500eb409f00c5714f78325d171e60789603156e7
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 13 17:32:27 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Jun 13 20:42:12 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=500eb409
ecm.eclass: For _KFSLOT=6, RDEPEND on >=kde-frameworks/kf-env-6
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index d36b11ebd5e8..518f913815be 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -277,14 +277,15 @@ BDEPEND+="
dev-libs/libpcre2:*
>=kde-frameworks/extra-cmake-modules-${KFMIN}:*
"
-RDEPEND+=" >=kde-frameworks/kf-env-4"
if [[ ${ECM_TEST} != false ]]; then
IUSE+=" test"
RESTRICT+=" !test? ( test )"
fi
if [[ ${_KFSLOT} == 6 ]]; then
+ RDEPEND+=" >=kde-frameworks/kf-env-6"
COMMONDEPEND+=" dev-qt/qtbase:${_KFSLOT}"
else
+ RDEPEND+=" >=kde-frameworks/kf-env-4"
COMMONDEPEND+=" dev-qt/qtcore:${_KFSLOT}"
if [[ ${ECM_TEST} != false ]]; then
DEPEND+=" test? ( dev-qt/qttest:5 )"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-13 18:35 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-06-13 18:35 UTC (permalink / raw
To: gentoo-commits
commit: e4333a984533c5d42d637f42a388f90b5eb8b856
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 13 18:33:07 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jun 13 18:35:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4333a98
rebar.eclass: Fix EPREFIX and ED usage
The path returned by $(get_erl_libs) starts with a slash, so
${EPREFIX}/$(get_erl_libs) resulted in a double slash.
Fixes: 7ee6937e6219f250559ee26eb64e5991b27cd289
Closes: https://bugs.gentoo.org/770283
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/rebar.eclass | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/eclass/rebar.eclass b/eclass/rebar.eclass
index c1a3aca67b54..1c131dd496be 100644
--- a/eclass/rebar.eclass
+++ b/eclass/rebar.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: rebar.eclass
@@ -63,7 +63,7 @@ _rebar_find_dep() {
local p
local result
- pushd "${EPREFIX}/$(get_erl_libs)" >/dev/null || return 1
+ pushd "${EPREFIX}$(get_erl_libs)" >/dev/null || return 1
for p in ${pn} ${pn}-*; do
if [[ -d ${p} ]]; then
# Ensure there's at most one matching.
@@ -102,7 +102,7 @@ erebar() {
(( $# > 0 )) || die "erebar: at least one target is required"
- local -x ERL_LIBS="${EPREFIX}/$(get_erl_libs)"
+ local -x ERL_LIBS="${EPREFIX}$(get_erl_libs)"
[[ ${1} == eunit ]] && local -x ERL_LIBS="."
rebar -v skip_deps=true "$@" || die -n "rebar $@ failed"
@@ -123,7 +123,7 @@ rebar_fix_include_path() {
local pn="${1}"
local rebar_config="${2:-rebar.config}"
- local erl_libs="${EPREFIX}/$(get_erl_libs)"
+ local erl_libs="${EPREFIX}$(get_erl_libs)"
local p
p="$(_rebar_find_dep "${pn}")" \
@@ -212,7 +212,7 @@ rebar_src_prepare() {
rebar_src_configure() {
debug-print-function ${FUNCNAME} "${@}"
- local -x ERL_LIBS="${EPREFIX}/$(get_erl_libs)"
+ local -x ERL_LIBS="${EPREFIX}$(get_erl_libs)"
default
}
@@ -252,7 +252,7 @@ rebar_src_install() {
[[ -d bin ]] && for bin in bin/*; do dobin "$bin"; done
if [[ -d priv ]]; then
- cp -pR priv "${ED%/}/${dest}/" || die "failed to install priv/"
+ cp -pR priv "${ED%/}${dest}/" || die "failed to install priv/"
fi
einstalldocs
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-13 18:35 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-06-13 18:35 UTC (permalink / raw
To: gentoo-commits
commit: a74cd3b3c5b4ac4cdc793e42ad04cd60f750fa17
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 13 18:34:34 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jun 13 18:35:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a74cd3b3
rebar.eclass: Drop support for EAPI 6
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/rebar.eclass | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/eclass/rebar.eclass b/eclass/rebar.eclass
index 1c131dd496be..97638c761814 100644
--- a/eclass/rebar.eclass
+++ b/eclass/rebar.eclass
@@ -6,7 +6,7 @@
# maintainer-needed@gentoo.org
# @AUTHOR:
# Amadeusz Żołnowski <aidecoe@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Build Erlang/OTP projects using dev-util/rebar.
# @DESCRIPTION:
# An eclass providing functions to build Erlang/OTP projects using
@@ -20,7 +20,7 @@
# installation in a generic way for Erlang/OTP structured projects.
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -33,9 +33,6 @@ BDEPEND="
dev-util/rebar:0
>=sys-apps/gawk-4.1
"
-if [[ ${EAPI} == 6 ]]; then
- DEPEND+=" ${BDEPEND}"
-fi
# @ECLASS_VARIABLE: REBAR_APP_SRC
# @DESCRIPTION:
@@ -252,7 +249,7 @@ rebar_src_install() {
[[ -d bin ]] && for bin in bin/*; do dobin "$bin"; done
if [[ -d priv ]]; then
- cp -pR priv "${ED%/}${dest}/" || die "failed to install priv/"
+ cp -pR priv "${ED}${dest}/" || die "failed to install priv/"
fi
einstalldocs
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-13 13:21 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-06-13 13:21 UTC (permalink / raw
To: gentoo-commits
commit: ad91645400d2f60a4c19a7f41024a70a499d8ea5
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sat Jun 8 07:26:08 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Jun 13 13:21:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad916454
java-vm-2.eclass: drop EAPI 7
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-vm-2.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/java-vm-2.eclass b/eclass/java-vm-2.eclass
index e5d3159f2854..c7a207ae24f7 100644
--- a/eclass/java-vm-2.eclass
+++ b/eclass/java-vm-2.eclass
@@ -4,14 +4,14 @@
# @ECLASS: java-vm-2.eclass
# @MAINTAINER:
# java@gentoo.org
-# @SUPPORTED_EAPIS: 7 8
+# @SUPPORTED_EAPIS: 8
# @BLURB: Java Virtual Machine eclass
# @DESCRIPTION:
# This eclass provides functionality which assists with installing
# virtual machines, and ensures that they are recognized by java-config.
case ${EAPI} in
- 7|8) ;;
+ 8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 17:13 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-06-12 17:13 UTC (permalink / raw
To: gentoo-commits
commit: 82ae7b64442ed6fb9ea99e6d64af1eb173a54adb
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 12 16:59:23 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Wed Jun 12 17:13:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82ae7b64
rust-toolchain.eclass: Drop unused rust_all_abis() and multilib inherit
multilib USE flags have unintentionally appeared against all Cargo
packages since this eclass was used by cargo.eclass. The rust_all_abis()
function is not used anywhere though, and removing it makes the
multilib-build inherit that is causing the issue redundant.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/rust-toolchain.eclass | 25 ++-----------------------
1 file changed, 2 insertions(+), 23 deletions(-)
diff --git a/eclass/rust-toolchain.eclass b/eclass/rust-toolchain.eclass
index 5484d150614f..111aece796ce 100644
--- a/eclass/rust-toolchain.eclass
+++ b/eclass/rust-toolchain.eclass
@@ -7,17 +7,14 @@
# @SUPPORTED_EAPIS: 8
# @BLURB: helps map gentoo arches to rust ABIs
# @DESCRIPTION:
-# This eclass contains a src_unpack default phase function, and
-# helper functions, to aid in proper rust-ABI handling for various
-# gentoo arches.
+# This eclass contains helper functions, to aid in proper rust-ABI handling for
+# various gentoo arches.
case ${EAPI} in
8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-inherit multilib-build
-
# @ECLASS_VARIABLE: RUST_TOOLCHAIN_BASEURL
# @DESCRIPTION:
# This variable specifies the base URL used by the
@@ -57,24 +54,6 @@ rust_abi() {
esac
}
-# @FUNCTION: rust_all_abis
-# @DESCRIPTION:
-# Outputs a list of all the enabled Rust ABIs
-rust_all_abis() {
- if use multilib; then
- local abi
- local ALL_ABIS=()
- for abi in $(multilib_get_enabled_abis); do
- ALL_ABIS+=( $(rust_abi $(get_abi_CHOST ${abi})) )
- done
- local abi_list
- IFS=, eval 'abi_list=${ALL_ABIS[*]}'
- echo ${abi_list}
- else
- rust_abi
- fi
-}
-
# @FUNCTION: rust_arch_uri
# @USAGE: <rust-ABI> <base-uri> [alt-distfile-basename]
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 16:36 Patrick Lauer
0 siblings, 0 replies; 6228+ messages in thread
From: Patrick Lauer @ 2024-06-12 16:36 UTC (permalink / raw
To: gentoo-commits
commit: 7abcd95126ff4da8684953573eec02e2c71059cb
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 12 16:35:30 2024 +0000
Commit: Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Wed Jun 12 16:36:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7abcd951
postgres-multi.eclass: Fix annotations
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>
eclass/postgres-multi.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/postgres-multi.eclass b/eclass/postgres-multi.eclass
index 52ca83b9126f..92299b8cf34c 100644
--- a/eclass/postgres-multi.eclass
+++ b/eclass/postgres-multi.eclass
@@ -6,7 +6,7 @@
# PostgreSQL <pgsql-bugs@gentoo.org>
# @AUTHOR:
# Aaron W. Swenson <titanofold@gentoo.org>
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: multibuild postgres
# @BLURB: An eclass to build PostgreSQL-related packages against multiple slots
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 14:27 Patrick Lauer
0 siblings, 0 replies; 6228+ messages in thread
From: Patrick Lauer @ 2024-06-12 14:27 UTC (permalink / raw
To: gentoo-commits
commit: 64a7bf34f31437b26886cc75cff8d5585fc50236
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 12 14:16:14 2024 +0000
Commit: Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Wed Jun 12 14:27:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=64a7bf34
postgres-multi.eclass: Add EAPI 8 support
Previously blocked by postgres.eclass, which was fixed in
304ab5e1acc056aca413ed69bc6791270502cbce
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>
eclass/postgres-multi.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/postgres-multi.eclass b/eclass/postgres-multi.eclass
index d93df851cd24..52ca83b9126f 100644
--- a/eclass/postgres-multi.eclass
+++ b/eclass/postgres-multi.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: postgres-multi.eclass
@@ -15,7 +15,7 @@
# POSTGRES_TARGETS use flags.
case ${EAPI} in
- 7) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 13:20 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-06-12 13:20 UTC (permalink / raw
To: gentoo-commits
commit: 375da3684e685c6fd8367ffcf37e090526d55e4d
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Fri May 31 21:49:47 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Wed Jun 12 13:18:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=375da368
cargo.eclass: Enable cross-compiling by setting environment variables
CARGO_BUILD_TARGET and CARGO_TARGET_<triple>_LINKER are enough for pure
Rust. The linker otherwise defaults to `cc`. This doesn't respect any
linker specified in LDFLAGS, but this is also true for native builds. We
would need to do something with RUSTFLAGS.
The HOST_* variables are for the cc-rs crate, which is often used to
build non-Rust code. It uses the usual variables (CC, CFLAGS, etc) for
the target.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/cargo.eclass | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 72c740cda906..40d98211ce7f 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -34,7 +34,7 @@ case ${EAPI} in
;;
esac
-inherit flag-o-matic multiprocessing toolchain-funcs
+inherit flag-o-matic multiprocessing rust-toolchain toolchain-funcs
[[ ! ${CARGO_OPTIONAL} ]] && BDEPEND="${RUST_DEPEND}"
@@ -525,6 +525,21 @@ cargo_src_compile() {
filter-lto
tc-export AR CC CXX PKG_CONFIG
+ if tc-is-cross-compiler; then
+ export CARGO_BUILD_TARGET=$(rust_abi)
+ local TRIPLE=${CARGO_BUILD_TARGET//-/_}
+ export CARGO_TARGET_"${TRIPLE^^}"_LINKER=$(tc-getCC)
+
+ # Set vars for cc-rs crate.
+ tc-export_build_env
+ export \
+ HOST_AR=$(tc-getBUILD_AR)
+ HOST_CC=$(tc-getBUILD_CC)
+ HOST_CXX=$(tc-getBUILD_CXX)
+ HOST_CFLAGS=${BUILD_CFLAGS}
+ HOST_CXXFLAGS=${BUILD_CXXFLAGS}
+ fi
+
set -- cargo build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
einfo "${@}"
"${@}" || die "cargo build failed"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 13:20 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2024-06-12 13:20 UTC (permalink / raw
To: gentoo-commits
commit: e274b7b2ebe1261cb204064880be78c13300d13d
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 7 16:57:37 2024 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Wed Jun 12 13:18:00 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e274b7b2
cargo.eclass: Drop EAPI 7 support
It is going to inherit rust-toolchain, which is EAPI 8 only.
Closes: https://bugs.gentoo.org/715890
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/cargo.eclass | 19 ++-----------------
1 file changed, 2 insertions(+), 17 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index a685cd99fb38..72c740cda906 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -7,11 +7,11 @@
# @AUTHOR:
# Doug Goldstein <cardoe@gentoo.org>
# Georgy Yakovlev <gyakovlev@gentoo.org>
-# @SUPPORTED_EAPIS: 7 8
+# @SUPPORTED_EAPIS: 8
# @BLURB: common functions and variables for cargo builds
case ${EAPI} in
- 7|8) ;;
+ 8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -23,10 +23,6 @@ _CARGO_ECLASS=1
RUST_DEPEND="virtual/rust"
case ${EAPI} in
- 7)
- # 1.37 added 'cargo vendor' subcommand and net.offline config knob
- RUST_DEPEND=">=virtual/rust-1.37.0"
- ;;
8)
# 1.39 added --workspace
# 1.46 added --target dir
@@ -556,17 +552,6 @@ cargo_src_install() {
rm -f "${ED}/usr/.crates.toml" || die
rm -f "${ED}/usr/.crates2.json" || die
-
- # it turned out to be non-standard dir, so get rid of it future EAPI
- # and only run for EAPI=7
- # https://bugs.gentoo.org/715890
- case ${EAPI:-0} in
- 7)
- if [ -d "${S}/man" ]; then
- doman "${S}/man" || return 0
- fi
- ;;
- esac
}
# @FUNCTION: cargo_src_test
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 10:24 Arthur Zamarin
0 siblings, 0 replies; 6228+ messages in thread
From: Arthur Zamarin @ 2024-06-12 10:24 UTC (permalink / raw
To: gentoo-commits
commit: e1e4f7a904235dee36d00eb23dcfcf66519c27e6
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 12 06:57:12 2024 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Wed Jun 12 10:23:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1e4f7a9
rust-toolchain.eclass: support riscv64*musl
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
eclass/rust-toolchain.eclass | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/eclass/rust-toolchain.eclass b/eclass/rust-toolchain.eclass
index 5824a48734f9..5484d150614f 100644
--- a/eclass/rust-toolchain.eclass
+++ b/eclass/rust-toolchain.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: rust-toolchain.eclass
@@ -48,7 +48,8 @@ rust_abi() {
powerpc64le*) echo powerpc64le-unknown-linux-gnu;;
powerpc64*) echo powerpc64-unknown-linux-gnu;;
powerpc*) echo powerpc-unknown-linux-gnu;;
- riscv64*) echo riscv64gc-unknown-linux-gnu;;
+ riscv64*gnu) echo riscv64gc-unknown-linux-gnu;;
+ riscv64*musl) echo riscv64gc-unknown-linux-musl;;
s390x*) echo s390x-unknown-linux-gnu;;
x86_64*gnu) echo x86_64-unknown-linux-gnu;;
x86_64*musl) echo x86_64-unknown-linux-musl;;
@@ -127,7 +128,9 @@ rust_all_arch_uris()
big-endian? ( $(rust_arch_uri powerpc64-unknown-linux-gnu "$@") )
!big-endian? ( $(rust_arch_uri powerpc64le-unknown-linux-gnu "$@") )
)
- riscv? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "$@") )
+ riscv? (
+ elibc_glibc? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "$@") )
+ )
s390? ( $(rust_arch_uri s390x-unknown-linux-gnu "$@") )
"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-10 14:23 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-06-10 14:23 UTC (permalink / raw
To: gentoo-commits
commit: 34e850c850431cde8a2bb93bc4f763894b3a2d5f
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 8 19:37:10 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jun 10 14:22:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34e850c8
common-lisp-3.eclass: Support EAPI 8
Minor stylistic changes.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/common-lisp-3.eclass | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/eclass/common-lisp-3.eclass b/eclass/common-lisp-3.eclass
index 26d31268a598..b859c7859bfb 100644
--- a/eclass/common-lisp-3.eclass
+++ b/eclass/common-lisp-3.eclass
@@ -1,17 +1,17 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: common-lisp-3.eclass
# @MAINTAINER:
# Common Lisp project <common-lisp@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: functions to support the installation of Common Lisp libraries
# @DESCRIPTION:
# Since Common Lisp libraries share similar structure, this eclass aims
# to provide a simple way to write ebuilds with these characteristics.
case ${EAPI} in
- 6|7) ;;
+ 6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -121,7 +121,8 @@ common-lisp-install-sources() {
local fpredicate=$(common-lisp-get-fpredicate "${ftype}")
- for path in "${@}" ; do
+ local path
+ for path ; do
if [[ -f ${path} ]] ; then
common-lisp-install-one-source ${fpredicate} "${path}" "$(dirname "${path}")"
elif [[ -d ${path} ]] ; then
@@ -148,7 +149,7 @@ common-lisp-install-sources() {
# Installs ${1} asdf file in CLSOURCEROOT/CLPACKAGE and symlinks it in
# CLSYSTEMROOT.
common-lisp-install-one-asdf() {
- [[ $# != 1 ]] && die "${FUNCNAME[0]} must receive exactly one argument"
+ [[ $# -eq 1 ]] || die "${FUNCNAME[0]} must receive exactly one argument"
# the suffix «.asd» is optional
local source=${1%.asd}.asd
@@ -166,9 +167,11 @@ common-lisp-install-one-asdf() {
common-lisp-install-asdf() {
dodir "${CLSYSTEMROOT}"
- [[ $# = 0 ]] && set - ${CLSYSTEMS}
- [[ $# = 0 ]] && set - $(find . -type f -name \*.asd)
- for sys in "${@}" ; do
+ [[ $# -eq 0 ]] && set - ${CLSYSTEMS}
+ [[ $# -eq 0 ]] && set - $(find . -type f -name \*.asd)
+
+ local sys
+ for sys ; do
common-lisp-install-one-asdf ${sys}
done
}
@@ -187,6 +190,7 @@ common-lisp-3_src_install() {
# Outputs an installed Common Lisp implementation. Transverses
# CLIMPLEMENTATIONS to find it.
common-lisp-find-lisp-impl() {
+ local lisp
for lisp in ${CLIMPLEMENTATIONS} ; do
[[ "$(best_version dev-lisp/${lisp})" ]] && echo "${lisp}" && return
done
@@ -203,7 +207,7 @@ common-lisp-find-lisp-impl() {
# * CL_LOAD: load a certain file
# * CL_EVAL: eval a certain expression at startup
common-lisp-export-impl-args() {
- if [[ $# != 1 ]]; then
+ if [[ $# -ne 1 ]]; then
eerror "Usage: ${FUNCNAME[0]} lisp-implementation"
die "${FUNCNAME[0]}: wrong number of arguments: $#"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-10 14:23 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-06-10 14:23 UTC (permalink / raw
To: gentoo-commits
commit: c84e9a2e8477d99be37fa90357212eb20aa8784a
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 8 19:38:23 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jun 10 14:22:49 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c84e9a2e
common-lisp-3.eclass: sbcl supports --no-sysinit --no-userinit
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/common-lisp-3.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/common-lisp-3.eclass b/eclass/common-lisp-3.eclass
index b859c7859bfb..99825190f32e 100644
--- a/eclass/common-lisp-3.eclass
+++ b/eclass/common-lisp-3.eclass
@@ -215,7 +215,7 @@ common-lisp-export-impl-args() {
case "${CL_BINARY}" in
sbcl)
CL_BINARY="${CL_BINARY} --non-interactive"
- CL_NORC="--sysinit /dev/null --userinit /dev/null"
+ CL_NORC="--no-sysinit --no-userinit"
CL_LOAD="--load"
CL_EVAL="--eval"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-10 12:46 Joonas Niilola
0 siblings, 0 replies; 6228+ messages in thread
From: Joonas Niilola @ 2024-06-10 12:46 UTC (permalink / raw
To: gentoo-commits
commit: fd49668a8bb2346908b62a1bfd9fbf9ece5f972b
Author: Martin Dummer <martin.dummer <AT> gmx <DOT> net>
AuthorDate: Wed May 1 12:49:37 2024 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Jun 10 12:45:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd49668a
vdr-plugin-2.eclass: change qa warnings to einfo
many vdr plugins need small adjustments because API or makefile changes
in upstream media-video/vdr which can be easily fixed with small changes
These fixes should no longer be reported as "equawarn", instead now only
an "einfo" will be printed out.
Closes: https://bugs.gentoo.org/925762
Closes: https://bugs.gentoo.org/925763
Closes: https://bugs.gentoo.org/925764
Closes: https://bugs.gentoo.org/925765
Closes: https://bugs.gentoo.org/925766
Closes: https://bugs.gentoo.org/925767
Closes: https://bugs.gentoo.org/925768
Closes: https://bugs.gentoo.org/925769
Closes: https://bugs.gentoo.org/925770
Closes: https://bugs.gentoo.org/925771
Closes: https://bugs.gentoo.org/925773
Closes: https://bugs.gentoo.org/925774
Closes: https://bugs.gentoo.org/925775
Closes: https://bugs.gentoo.org/925776
Closes: https://bugs.gentoo.org/925777
Closes: https://bugs.gentoo.org/925778
Closes: https://bugs.gentoo.org/925779
Closes: https://bugs.gentoo.org/925780
Closes: https://bugs.gentoo.org/925781
Closes: https://bugs.gentoo.org/925782
Closes: https://bugs.gentoo.org/925783
Closes: https://bugs.gentoo.org/925784
Closes: https://bugs.gentoo.org/925785
Closes: https://bugs.gentoo.org/925786
Closes: https://bugs.gentoo.org/925787
Closes: https://bugs.gentoo.org/925788
Closes: https://bugs.gentoo.org/925791
Closes: https://bugs.gentoo.org/925792
Closes: https://bugs.gentoo.org/925793
Closes: https://bugs.gentoo.org/925794
Closes: https://bugs.gentoo.org/925795
Closes: https://bugs.gentoo.org/925796
Closes: https://bugs.gentoo.org/925797
Closes: https://bugs.gentoo.org/925798
Closes: https://bugs.gentoo.org/925799
Closes: https://bugs.gentoo.org/925800
Closes: https://bugs.gentoo.org/925801
Closes: https://bugs.gentoo.org/925802
Closes: https://bugs.gentoo.org/925803
Closes: https://bugs.gentoo.org/925804
Closes: https://bugs.gentoo.org/925805
Closes: https://bugs.gentoo.org/925806
Closes: https://bugs.gentoo.org/925807
Closes: https://bugs.gentoo.org/925808
Closes: https://bugs.gentoo.org/925809
Closes: https://bugs.gentoo.org/925810
Closes: https://bugs.gentoo.org/925811
Closes: https://bugs.gentoo.org/925812
Closes: https://bugs.gentoo.org/925817
Closes: https://bugs.gentoo.org/925818
Closes: https://bugs.gentoo.org/925819
Closes: https://bugs.gentoo.org/925820
Closes: https://bugs.gentoo.org/925821
Closes: https://bugs.gentoo.org/925822
Closes: https://bugs.gentoo.org/925823
Closes: https://bugs.gentoo.org/925824
Closes: https://bugs.gentoo.org/925825
Closes: https://bugs.gentoo.org/925826
Closes: https://bugs.gentoo.org/925827
Closes: https://bugs.gentoo.org/925828
Closes: https://bugs.gentoo.org/925829
Closes: https://bugs.gentoo.org/925830
Closes: https://bugs.gentoo.org/925831
Closes: https://bugs.gentoo.org/925832
Closes: https://bugs.gentoo.org/925833
Closes: https://bugs.gentoo.org/925834
Closes: https://bugs.gentoo.org/925835
Closes: https://bugs.gentoo.org/925837
Closes: https://bugs.gentoo.org/925838
Closes: https://bugs.gentoo.org/925839
Closes: https://bugs.gentoo.org/925840
Closes: https://bugs.gentoo.org/925841
Closes: https://bugs.gentoo.org/925842
Closes: https://bugs.gentoo.org/925922
Closes: https://bugs.gentoo.org/925923
Closes: https://bugs.gentoo.org/925924
Signed-off-by: Martin Dummer <martin.dummer <AT> gmx.net>
Closes: https://github.com/gentoo/gentoo/pull/36504
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
eclass/vdr-plugin-2.eclass | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/eclass/vdr-plugin-2.eclass b/eclass/vdr-plugin-2.eclass
index 8f56511032c8..289c3d1a624a 100644
--- a/eclass/vdr-plugin-2.eclass
+++ b/eclass/vdr-plugin-2.eclass
@@ -160,7 +160,6 @@ vdr_create_header_checksum_file() {
# Plugins failed on compile with wrong path of libsi includes,
# this can be fixed by 'function + space separated list of files'
fix_vdr_libsi_include() {
- eqawarn "QA Notice: Fixing include of libsi-headers"
local f
for f; do
sed -i "${f}" \
@@ -245,7 +244,7 @@ vdr_gettext_missing() {
local GETTEXT_MISSING=$( grep xgettext Makefile )
if [[ -z ${GETTEXT_MISSING} ]]; then
- eqawarn "QA Notice: Plugin isn't converted to gettext handling!"
+ einfo "Notice: Plugin isn't converted to gettext handling!"
fi
}
@@ -306,11 +305,11 @@ vdr_i18n() {
if [[ -n ${I18N_OBJECT} ]]; then
if [[ "${KEEP_I18NOBJECT:-no}" = "yes" ]]; then
- eqawarn "QA Notice: Forced to keep i18n.o"
+ einfo "Notice: Forced to keep i18n.o"
else
sed -i "s:i18n.o::g" Makefile \
|| die "sed failed to remove i18n from Makefile"
- eqawarn "QA Notice: OBJECT i18n.o found, removed per sed"
+ einfo "Notice: OBJECT i18n.o found, removed per sed"
fi
fi
@@ -318,7 +317,7 @@ vdr_i18n() {
if [[ -n ${I18N_STRING} ]]; then
sed -i "s:^extern[[:space:]]*const[[:space:]]*tI18nPhrase://static const tI18nPhrase:" i18n.h \
|| die "sed failed to replace tI18nPhrase"
- eqawarn "QA Notice: obsolete tI18nPhrase found, disabled per sed, please recheck"
+ einfo "Notice: obsolete tI18nPhrase found, disabled per sed"
fi
}
@@ -337,7 +336,7 @@ vdr_remove_i18n_include() {
|| die "sed failed to remove i18n_include"
done
- eqawarn "QA Notice: removed i18n.h include in ${@}"
+ einfo "Notice: removed i18n.h include in ${@}"
}
# @FUNCTION: vdr-plugin-2_print_enable_command
@@ -568,7 +567,7 @@ vdr-plugin-2_src_install() {
DESTDIR="${D%/}" \
|| die "emake install (makefile target) failed"
else
- eqawarn "QA Notice: Plugin use still the old Makefile handling"
+ einfo "Notice: Plugin use still the old Makefile handling"
insinto "${VDR_PLUGIN_DIR}"
doins libvdr-*.so.*
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-08 15:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-06-08 15:47 UTC (permalink / raw
To: gentoo-commits
commit: 5b45aef4ab0b6d0ed7f414facaf9e243cdb36cfc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 8 15:46:39 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 8 15:46:56 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b45aef4
ltprune.eclass: Mark @DEAD
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/ltprune.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/ltprune.eclass b/eclass/ltprune.eclass
index 5a36647d1d1c..51f5aaabfea7 100644
--- a/eclass/ltprune.eclass
+++ b/eclass/ltprune.eclass
@@ -1,6 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# @DEAD
# @ECLASS: ltprune.eclass
# @MAINTAINER:
# Michał Górny <mgorny@gentoo.org>
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-08 10:29 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-06-08 10:29 UTC (permalink / raw
To: gentoo-commits
commit: 48f76a8faeaba63830608b7acc9b6c90a52c03ad
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 8 10:24:46 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 8 10:27:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48f76a8f
Add 19.0.0_pre20240608 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 9d2dc78e0d92..30d919db2300 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_pre20240608)
+ EGIT_COMMIT=5aabbf0602c48b67bb89fd37f95bf97c95ded488
+ ;;
19.0.0_pre20240525)
EGIT_COMMIT=7dc2f6602212bf0a0433c157b70e4fc0d70bb730
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-08 3:53 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-06-08 3:53 UTC (permalink / raw
To: gentoo-commits
commit: 47035fb9daaacb2ecf64c33b98baeeabff5071e3
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 8 03:51:53 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jun 8 03:51:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47035fb9
eutils.eclass: Remove dead eclass
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/eutils.eclass | 21 ---------------------
1 file changed, 21 deletions(-)
diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass
deleted file mode 100644
index 1e36c78f7780..000000000000
--- a/eclass/eutils.eclass
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# @ECLASS: eutils.eclass
-# @MAINTAINER:
-# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6
-# @BLURB: many extra (but common) functions that are used in ebuilds
-# @DEPRECATED: native package manager functions, more specific eclasses
-
-if [[ -z ${_EUTILS_ECLASS} ]]; then
-_EUTILS_ECLASS=1
-
-# implicitly inherited (now split) eclasses
-case ${EAPI} in
- 6) inherit desktop edos2unix epatch eqawarn estack ltprune multilib \
- preserve-libs strip-linguas toolchain-funcs vcs-clean wrapper ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-08 3:53 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-06-08 3:53 UTC (permalink / raw
To: gentoo-commits
commit: 0883d6e38e1f7132a0e2998917243c0996f2d151
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 8 03:52:16 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jun 8 03:52:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0883d6e3
epatch.eclass: Remove dead eclass
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/epatch.eclass | 381 ---------------------------------------------------
1 file changed, 381 deletions(-)
diff --git a/eclass/epatch.eclass b/eclass/epatch.eclass
deleted file mode 100644
index ff3fd13721fe..000000000000
--- a/eclass/epatch.eclass
+++ /dev/null
@@ -1,381 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# @ECLASS: epatch.eclass
-# @MAINTAINER:
-# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6
-# @BLURB: easy patch application functions
-# @DEPRECATED: eapply from EAPI 7
-# @DESCRIPTION:
-# An eclass providing epatch and epatch_user functions to easily apply
-# patches to ebuilds. Mostly superseded by eapply* in EAPI 6.
-
-if [[ -z ${_EPATCH_ECLASS} ]]; then
-
-case ${EAPI} in
- 6) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
-inherit estack
-
-# @VARIABLE: EPATCH_SOURCE
-# @DESCRIPTION:
-# Default directory to search for patches.
-EPATCH_SOURCE="${WORKDIR}/patch"
-# @VARIABLE: EPATCH_SUFFIX
-# @DESCRIPTION:
-# Default extension for patches (do not prefix the period yourself).
-EPATCH_SUFFIX="patch.bz2"
-# @VARIABLE: EPATCH_OPTS
-# @DESCRIPTION:
-# Options to pass to patch. Meant for ebuild/package-specific tweaking
-# such as forcing the patch level (-p#) or fuzz (-F#) factor. Note that
-# for single patch tweaking, you can also pass flags directly to epatch.
-EPATCH_OPTS=""
-# @VARIABLE: EPATCH_COMMON_OPTS
-# @DESCRIPTION:
-# Common options to pass to `patch`. You probably should never need to
-# change these. If you do, please discuss it with base-system first to
-# be sure.
-# @CODE
-# -g0 - keep RCS, ClearCase, Perforce and SCCS happy #24571
-# --no-backup-if-mismatch - do not leave .orig files behind
-# -E - automatically remove empty files
-# @CODE
-EPATCH_COMMON_OPTS="-g0 -E --no-backup-if-mismatch"
-# @VARIABLE: EPATCH_EXCLUDE
-# @DESCRIPTION:
-# List of patches not to apply. Note this is only file names,
-# and not the full path. Globs accepted.
-EPATCH_EXCLUDE=""
-# @VARIABLE: EPATCH_MULTI_MSG
-# @DESCRIPTION:
-# Change the printed message for multiple patches.
-EPATCH_MULTI_MSG="Applying various patches (bugfixes/updates) ..."
-# @VARIABLE: EPATCH_FORCE
-# @DESCRIPTION:
-# Only require patches to match EPATCH_SUFFIX rather than the extended
-# arch naming style.
-EPATCH_FORCE="no"
-# @VARIABLE: EPATCH_USER_EXCLUDE
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# List of patches not to apply. Note this is only file names,
-# and not the full path. Globs accepted.
-
-# @FUNCTION: epatch
-# @USAGE: [options] [patches] [dirs of patches]
-# @DESCRIPTION:
-# epatch is designed to greatly simplify the application of patches. It can
-# process patch files directly, or directories of patches. The patches may be
-# compressed (bzip/gzip/etc...) or plain text. You generally need not specify
-# the -p option as epatch will automatically attempt -p0 to -p4 until things
-# apply successfully.
-#
-# If you do not specify any patches/dirs, then epatch will default to the
-# directory specified by EPATCH_SOURCE.
-#
-# Any options specified that start with a dash will be passed down to patch
-# for this specific invocation. As soon as an arg w/out a dash is found, then
-# arg processing stops.
-#
-# When processing directories, epatch will apply all patches that match:
-# @CODE
-# if ${EPATCH_FORCE} != "yes"
-# ??_${ARCH}_foo.${EPATCH_SUFFIX}
-# else
-# *.${EPATCH_SUFFIX}
-# @CODE
-# The leading ?? are typically numbers used to force consistent patch ordering.
-# The arch field is used to apply patches only for the host architecture with
-# the special value of "all" means apply for everyone. Note that using values
-# other than "all" is highly discouraged -- you should apply patches all the
-# time and let architecture details be detected at configure/compile time.
-#
-# If EPATCH_SUFFIX is empty, then no period before it is implied when searching
-# for patches to apply.
-#
-# Refer to the other EPATCH_xxx variables for more customization of behavior.
-epatch() {
- _epatch_draw_line() {
- # create a line of same length as input string
- [[ -z $1 ]] && set "$(printf "%65s" '')"
- echo "${1//?/=}"
- }
-
- unset P4CONFIG P4PORT P4USER # keep perforce at bay #56402
-
- # First process options. We localize the EPATCH_OPTS setting
- # from above so that we can pass it on in the loop below with
- # any additional values the user has specified.
- local EPATCH_OPTS=( ${EPATCH_OPTS[*]} )
- while [[ $# -gt 0 ]] ; do
- case $1 in
- -*) EPATCH_OPTS+=( "$1" ) ;;
- *) break ;;
- esac
- shift
- done
-
- # Let the rest of the code process one user arg at a time --
- # each arg may expand into multiple patches, and each arg may
- # need to start off with the default global EPATCH_xxx values
- if [[ $# -gt 1 ]] ; then
- local m
- for m in "$@" ; do
- epatch "${m}"
- done
- return 0
- fi
-
- local SINGLE_PATCH="no"
- # no args means process ${EPATCH_SOURCE}
- [[ $# -eq 0 ]] && set -- "${EPATCH_SOURCE}"
-
- if [[ -f $1 ]] ; then
- SINGLE_PATCH="yes"
- set -- "$1"
- # Use the suffix from the single patch (localize it); the code
- # below will find the suffix for us
- local EPATCH_SUFFIX=$1
-
- elif [[ -d $1 ]] ; then
- # We have to force sorting to C so that the wildcard expansion is consistent #471666.
- evar_push_set LC_COLLATE C
- # Some people like to make dirs of patches w/out suffixes (vim).
- set -- "$1"/*${EPATCH_SUFFIX:+."${EPATCH_SUFFIX}"}
- evar_pop
-
- elif [[ -f ${EPATCH_SOURCE}/$1 ]] ; then
- # Re-use EPATCH_SOURCE as a search dir
- epatch "${EPATCH_SOURCE}/$1"
- return $?
-
- else
- # sanity check ... if it isn't a dir or file, wtf man ?
- [[ $# -ne 0 ]] && EPATCH_SOURCE=$1
- echo
- eerror "Cannot find \$EPATCH_SOURCE! Value for \$EPATCH_SOURCE is:"
- eerror
- eerror " ${EPATCH_SOURCE}"
- eerror " ( ${EPATCH_SOURCE##*/} )"
- echo
- die "Cannot find \$EPATCH_SOURCE!"
- fi
-
- # Now that we know we're actually going to apply something, merge
- # all of the patch options back in to a single variable for below.
- EPATCH_OPTS="${EPATCH_COMMON_OPTS} ${EPATCH_OPTS[*]}"
-
- local PIPE_CMD
- case ${EPATCH_SUFFIX##*\.} in
- xz) PIPE_CMD="xz -dc" ;;
- lzma) PIPE_CMD="lzma -dc" ;;
- bz2) PIPE_CMD="bzip2 -dc" ;;
- gz|Z|z) PIPE_CMD="gzip -dc" ;;
- ZIP|zip) PIPE_CMD="unzip -p" ;;
- *) ;;
- esac
-
- [[ ${SINGLE_PATCH} == "no" ]] && einfo "${EPATCH_MULTI_MSG}"
-
- local x
- for x in "$@" ; do
- # If the patch dir given contains subdirs, or our EPATCH_SUFFIX
- # didn't match anything, ignore continue on
- [[ ! -f ${x} ]] && continue
-
- local patchname=${x##*/}
-
- # Apply single patches, or forced sets of patches, or
- # patches with ARCH dependent names.
- # ???_arch_foo.patch
- # Else, skip this input altogether
- local a=${patchname#*_} # strip the ???_
- a=${a%%_*} # strip the _foo.patch
- if ! [[ ${SINGLE_PATCH} == "yes" || \
- ${EPATCH_FORCE} == "yes" || \
- ${a} == all || \
- ${a} == ${ARCH} ]]
- then
- continue
- fi
-
- # Let people filter things dynamically
- if [[ -n ${EPATCH_EXCLUDE}${EPATCH_USER_EXCLUDE} ]] ; then
- # let people use globs in the exclude
- eshopts_push -o noglob
-
- local ex
- for ex in ${EPATCH_EXCLUDE} ; do
- if [[ ${patchname} == ${ex} ]] ; then
- einfo " Skipping ${patchname} due to EPATCH_EXCLUDE ..."
- eshopts_pop
- continue 2
- fi
- done
-
- for ex in ${EPATCH_USER_EXCLUDE} ; do
- if [[ ${patchname} == ${ex} ]] ; then
- einfo " Skipping ${patchname} due to EPATCH_USER_EXCLUDE ..."
- eshopts_pop
- continue 2
- fi
- done
-
- eshopts_pop
- fi
-
- if [[ ${SINGLE_PATCH} == "yes" ]] ; then
- ebegin "Applying ${patchname}"
- else
- ebegin " ${patchname}"
- fi
-
- # Handle aliased patch command #404447 #461568
- local patch="patch"
- eval $(alias patch 2>/dev/null | sed 's:^alias ::')
-
- # most of the time, there will only be one run per unique name,
- # but if there are more, make sure we get unique log filenames
- local STDERR_TARGET="${T}/${patchname}.out"
- if [[ -e ${STDERR_TARGET} ]] ; then
- STDERR_TARGET="${T}/${patchname}-$$.out"
- fi
-
- printf "***** %s *****\nPWD: %s\nPATCH TOOL: %s -> %s\nVERSION INFO:\n%s\n\n" \
- "${patchname}" \
- "${PWD}" \
- "${patch}" \
- "$(type -P "${patch}")" \
- "$(${patch} --version)" \
- > "${STDERR_TARGET}"
-
- # Decompress the patch if need be
- local count=0
- local PATCH_TARGET
- if [[ -n ${PIPE_CMD} ]] ; then
- PATCH_TARGET="${T}/$$.patch"
- echo "PIPE_COMMAND: ${PIPE_CMD} ${x} > ${PATCH_TARGET}" >> "${STDERR_TARGET}"
-
- if ! (${PIPE_CMD} "${x}" > "${PATCH_TARGET}") >> "${STDERR_TARGET}" 2>&1 ; then
- echo
- eerror "Could not extract patch!"
- #die "Could not extract patch!"
- count=5
- break
- fi
- else
- PATCH_TARGET=${x}
- fi
-
- # Check for absolute paths in patches. If sandbox is disabled,
- # people could (accidentally) patch files in the root filesystem.
- # Or trigger other unpleasantries #237667. So disallow -p0 on
- # such patches.
- local abs_paths=$(grep -E -n '^[-+]{3} /' "${PATCH_TARGET}" | awk '$2 != "/dev/null" { print }')
- if [[ -n ${abs_paths} ]] ; then
- count=1
- printf "NOTE: skipping -p0 due to absolute paths in patch:\n%s\n" "${abs_paths}" >> "${STDERR_TARGET}"
- fi
- # Similar reason, but with relative paths.
- local rel_paths=$(grep -E -n '^[-+]{3} [^ ]*[.][.]/' "${PATCH_TARGET}")
- if [[ -n ${rel_paths} ]] ; then
- echo
- eerror "Rejected Patch: ${patchname}!"
- eerror " ( ${PATCH_TARGET} )"
- eerror
- eerror "Your patch uses relative paths '../':"
- eerror "${rel_paths}"
- echo
- die "you need to fix the relative paths in patch"
- fi
-
- # Dynamically detect the correct -p# ... i'm lazy, so shoot me :/
- local patch_cmd
- while [[ ${count} -lt 5 ]] ; do
- patch_cmd="${patch} -p${count} ${EPATCH_OPTS}"
-
- # Generate some useful debug info ...
- (
- _epatch_draw_line "***** ${patchname} *****"
- echo
- echo "PATCH COMMAND: ${patch_cmd} --dry-run -f < '${PATCH_TARGET}'"
- echo
- _epatch_draw_line "***** ${patchname} *****"
- ${patch_cmd} --dry-run -f < "${PATCH_TARGET}" 2>&1
- ret=$?
- echo
- echo "patch program exited with status ${ret}"
- exit ${ret}
- ) >> "${STDERR_TARGET}"
-
- if [ $? -eq 0 ] ; then
- (
- _epatch_draw_line "***** ${patchname} *****"
- echo
- echo "ACTUALLY APPLYING ${patchname} ..."
- echo "PATCH COMMAND: ${patch_cmd} < '${PATCH_TARGET}'"
- echo
- _epatch_draw_line "***** ${patchname} *****"
- ${patch_cmd} < "${PATCH_TARGET}" 2>&1
- ret=$?
- echo
- echo "patch program exited with status ${ret}"
- exit ${ret}
- ) >> "${STDERR_TARGET}"
-
- if [ $? -ne 0 ] ; then
- echo
- eerror "A dry-run of patch command succeeded, but actually"
- eerror "applying the patch failed!"
- #die "Real world sux compared to the dreamworld!"
- count=5
- fi
- break
- fi
-
- : $(( count++ ))
- done
-
- (( EPATCH_N_APPLIED_PATCHES++ ))
-
- # if we had to decompress the patch, delete the temp one
- if [[ -n ${PIPE_CMD} ]] ; then
- rm -f "${PATCH_TARGET}"
- fi
-
- if [[ ${count} -ge 5 ]] ; then
- echo
- eerror "Failed patch: ${patchname}!"
- eerror " ( ${PATCH_TARGET} )"
- eerror
- eerror "Include in your bug report the contents of:"
- eerror
- eerror " ${STDERR_TARGET}"
- echo
- die "Failed patch: ${patchname}!"
- fi
-
- # if everything worked, delete the full debug patch log
- rm -f "${STDERR_TARGET}"
-
- # then log away the exact stuff for people to review later
- cat <<-EOF >> "${T}/epatch.log"
- PATCH: ${x}
- CMD: ${patch_cmd}
- PWD: ${PWD}
-
- EOF
- eend 0
- done
-
- [[ ${SINGLE_PATCH} == "no" ]] && einfo "Done with patching"
- : # everything worked
-}
-
-_EPATCH_ECLASS=1
-fi #_EPATCH_ECLASS
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-06 20:37 Mike Gilbert
0 siblings, 0 replies; 6228+ messages in thread
From: Mike Gilbert @ 2024-06-06 20:37 UTC (permalink / raw
To: gentoo-commits
commit: 66011abd663671947fe07835f0d9cc360f5de317
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Sun Jun 2 19:08:07 2024 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Thu Jun 6 20:36:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66011abd
meson.eclass: stop using the incomparably broken "meson compile"
With my upstream meson hat on, I have griped about this for years any
time someone mentions "meson compile" to me. I think it was badly
motivated and shouldn't exist.
The purpose of this command is "for symmetry" with meson setup and meson
test and meson install, even though all of those are python programs
first and foremost, which have ninja targets that simply call back into
the meson tool but with less control.
Symmetry doesn't make a whole lot of sense. The compile phase actually
is implemented as a... ninja file, not a python program. Using ninja
directly is:
- faster, since you don't load hundreds of python modules into memory,
just to fork out to ninja
- easier to control, since you can directly control the ninja arguments
The "meson compile" program actually, in fact, only really exists for
two reasons:
- meson supports multiple backends -- only when manually requested -- on
operating systems other than linux. Namely, VS on Windows, and xcode
on macOS. The wrapper first checks which backend has been generated,
and then runs the appropriate command there. It also provides the
ninja argument syntax for options that multiple backends understand,
so, you can pass -v -j8 and it actually works regardless of backend
(even if in fact it has to pass `-verbosity:minimal -maxCpuCount:8` to
do it).
- via retconning, on Windows when using the MSVC `cl.exe` meson compile
started actually adding this to PATH and setting it up (because it
requires sourcing a batch script in order to both add to PATH and set
inscrutable mandatory environment variables) to prevent ninja utterly
failing if you missed this yourself.
For portage purposes, neither of these matter whatsoever. Even if
portage were to ever use cl.exe on Windows (???) it could set up the
environment just fine on its own, and actually using alternative
backends would require extending the eclass to configure xcode/vs for
tremendous slowdown in compile time, which would be silly.
In exchange for all these features portage doesn't need, what do we get?
meson compile unabashedly doesn't support all possible ninja arguments,
and says you should instead pass the combination of --ninja-args "..."
--vs-args "..." --xcode-args "..." and it will figure out which ones are
relevant for *your* backend and forward it to the backend. We don't
actually do that -- it would be super ugly for the common case of -v
-j8.
As a result, we ignore $NINJAOPTS, which ninja-utils.eclass claims we
are allowed to use. Instead we manually parse out some subset of
"supported" values. We *cannot* respect NINJAOPTS anyways, because...
... meson compile sucks and cannot handle it. To be more accurate: it
expects --ninja-args to be formatted using `meson-format-array`, the
same format that machine files use. No thank you!
And we still have to move to get_NINJAOPTS, then pass it as:
```
meson compile -C "${BUILD_DIR}" --ninja-args="['-j', '8', '-k', '0', '-v', '-l', '0']"
```
instead of:
```
meson compile -C "${BUILD_DIR}" -j 8 -v -l 0 --ninja-args="['-k0']"
```
The overengineered complexity of this is immense. ninja-utils.eclass
exists for an extremely good reason, provides best practices, and means
we don't have to maintain an interface to a custom tool with unintuitive
behavior since we get precisely the common functionality we already
want, for free.
Just use eninja.
Fixes:
- the absolute inability to use standard $NINJAOPTS to fine-tune
meson-using packages, for example to keep going and collect all the
build errors before aborting with a failure.
- support for ${NINJA_VERBOSE} (expected to be the fallback if
MESON_VERBOSE isn't set)
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
eclass/meson.eclass | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index a22a85887584..a2bc5537e458 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -440,23 +440,11 @@ meson_src_compile() {
pushd "${BUILD_DIR}" > /dev/null || die
- local mesoncompileargs=(
- --jobs "$(get_makeopts_jobs 0)"
- --load-average "$(get_makeopts_loadavg 0)"
- )
-
case ${MESON_VERBOSE} in
- OFF) ;;
- *) mesoncompileargs+=( --verbose ) ;;
+ OFF) NINJA_VERBOSE=OFF eninja "$@" ;;
+ *) eninja "$@" ;;
esac
-
- mesoncompileargs+=( "$@" )
-
- set -- meson compile "${mesoncompileargs[@]}"
- echo "$@" >&2
- "$@"
local rv=$?
- [[ ${rv} -eq 0 ]] || die -n "compile failed"
popd > /dev/null || die
return ${rv}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-02 8:22 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-06-02 8:22 UTC (permalink / raw
To: gentoo-commits
commit: 3373a27c24cd4b06084f8e0ac9fb9d2a695ac214
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 2 07:08:01 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Jun 2 08:22:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3373a27c
qt6-build.eclass: use different workaround for cpu flags issues
This also replaces the nasty workaround from qtbase's ebuild
on top of the function here.
Should "hopefully" be far less error prone, while still allowing
-march=native for people who aren't affected. Does mean slightly
worse optimizations for those affected, but this still tries
to use the highest x86-64-v* and should be insignificant.
Tentative, can't fully test without having an affected cpu so
may still need work.
Closes: https://bugs.gentoo.org/933374
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 87 ++++++++++++++++++++++++++++++++-----------------
1 file changed, 58 insertions(+), 29 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 4fc838c478af..4966c52adc4c 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -122,7 +122,7 @@ qt6-build_src_prepare() {
fi
_qt6-build_prepare_env
- _qt6-build_match_cpu_flags
+ _qt6-build_sanitize_cpu_flags
# LTO cause test failures in several components (e.g. qtcharts,
# multimedia, scxml, wayland, webchannel, ...).
@@ -235,34 +235,6 @@ _qt6-build_create_user_facing_links() {
done < "${BUILD_DIR}"/user_facing_tool_links.txt || die
}
-# @FUNCTION: _qt6-build_match_cpu_flags
-# @INTERNAL
-# @DESCRIPTION:
-# Try to adjust -m* cpu CXXFLAGS so that they match a configuration
-# accepted by Qt's headers, see bug #908420.
-_qt6-build_match_cpu_flags() {
- use amd64 || use x86 || return 0
-
- local flags=() intrin intrins
- while IFS=' ' read -ra intrins; do
- [[ ${intrins[*]} == *=[^_]* && ${intrins[*]} == *=_* ]] &&
- for intrin in "${intrins[@]%=*}"; do
- [[ ${intrin} ]] && flags+=( -mno-${intrin} )
- done
- done < <(
- $(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 2
- avx2=__AVX2__ =__BMI__ =__BMI2__ =__F16C__ =__FMA__ =__LZCNT__ =__POPCNT__
- avx512f=__AVX512F__ avx512bw=__AVX512BW__ avx512cd=__AVX512CD__ avx512dq=__AVX512DQ__ avx512vl=__AVX512VL__
- EOF
- assert
- )
-
- if (( ${#flags[@]} )); then
- einfo "Adjusting CXXFLAGS for https://bugs.gentoo.org/908420 with: ${flags[*]}"
- append-cxxflags "${flags[@]}"
- fi
-}
-
# @FUNCTION: _qt6-build_prepare_env
# @INTERNAL
# @DESCRIPTION:
@@ -289,6 +261,63 @@ _qt6-build_prepare_env() {
readonly QT6_TRANSLATIONDIR=${QT6_DATADIR}/translations
}
+# @FUNCTION: _qt6-build_sanitize_cpu_flags
+# @INTERNAL
+# @DESCRIPTION:
+# Qt hardly support use of -mno-* or -march=native for unusual CPUs
+# (or VMs) that support incomplete x86-64 feature levels, and attempts
+# to allow this anyway has worked poorly. This instead tries to detect
+# unusual configurations and fallbacks to generic -march=x86-64* if so
+# (bug #898644,#908420,#913400,#933374).
+_qt6-build_sanitize_cpu_flags() {
+ # less of an issue with non-amd64, will revisit only if needed
+ use amd64 || return 0
+
+ local cpuflags=(
+ # list of checked cpu features by qtbase in configure.cmake
+ aes avx avx2 avx512{bw,cd,dq,er,f,ifma,pf,vbmi,vbmi2,vl}
+ f16c rdrnd rdseed sha sse2 sse3 sse4_1 sse4_2 ssse3 vaes
+
+ # extras checked by qtbase's qsimd_p.h
+ bmi bmi2 f16c fma lzcnt popcnt
+ )
+
+ # check if any known problematic -mno-* C(XX)FLAGS
+ if ! is-flagq "@($(IFS='|'; echo "${cpuflags[*]/#/-mno-}"))"; then
+ # check if qsimd_p.h (search for "enable all") will accept -march
+ : "$($(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 1
+ #if (defined(__AVX2__) && (__BMI__ + __BMI2__ + __F16C__ + __FMA__ + __LZCNT__ + __POPCNT__) != 6) || \
+ (defined(__AVX512F__) && (__AVX512BW__ + __AVX512CD__ + __AVX512DQ__ + __AVX512VL__) != 4)
+ bad
+ #endif
+ EOF
+ assert
+ )"
+ [[ ${_} == bad ]] || return 0 # *should* be fine as-is
+ fi
+
+ # determine highest(known) usable x86-64 feature level
+ local march=$(
+ $(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 1
+ default
+ #if (__CRC32__ + __LAHF_SAHF__ + __POPCNT__ + __SSE3__ + __SSE4_1__ + __SSE4_2__ + __SSSE3__) == 7
+ x86-64-v2
+ # if (__AVX__ + __AVX2__ + __BMI__ + __BMI2__ + __F16C__ + __FMA__ + __LZCNT__ + __MOVBE__ + __XSAVE__) == 9
+ x86-64-v3
+ # if (__AVX512BW__ + __AVX512CD__ + __AVX512DQ__ + __AVX512F__ + __AVX512VL__ + __EVEX256__ + __EVEX512__) == 7
+ x86-64-v4
+ # endif
+ # endif
+ #endif
+ EOF
+ assert
+ )
+
+ filter-flags '-march=*' "${cpuflags[@]/#/-m}" "${cpuflags[@]/#/-mno-}"
+ [[ ${march} == x86-64* ]] && append-flags $(test-flags-CXX -march=${march})
+ einfo "C(XX)FLAGS were adjusted due to Qt limitations: ${CXXFLAGS}"
+}
+
fi
EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_test src_install
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01 21:34 Alfredo Tupone
0 siblings, 0 replies; 6228+ messages in thread
From: Alfredo Tupone @ 2024-06-01 21:34 UTC (permalink / raw
To: gentoo-commits
commit: 387f6b19891fc78d3369a0e85518c4d706dddbc2
Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 1 21:33:40 2024 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Jun 1 21:34:37 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=387f6b19
findlib.eclass: ignore TEXTRELS
Closes: https://bugs.gentoo.org/738418
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
eclass/findlib.eclass | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/eclass/findlib.eclass b/eclass/findlib.eclass
index fdcaa0c1b77c..f0371ef00e10 100644
--- a/eclass/findlib.eclass
+++ b/eclass/findlib.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: findlib.eclass
@@ -68,6 +68,10 @@ findlib_src_preinst() {
# @DESCRIPTION:
# Install with a properly setup findlib
findlib_src_install() {
+ # OCaml generates textrels on 32-bit arches
+ if use arm || use ppc || use x86 ; then
+ export QA_TEXTRELS='.*'
+ fi
findlib_src_preinst
make DESTDIR="${D}" "$@" install || die "make failed"
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01 21:11 Alfredo Tupone
0 siblings, 0 replies; 6228+ messages in thread
From: Alfredo Tupone @ 2024-06-01 21:11 UTC (permalink / raw
To: gentoo-commits
commit: d7b08071fdc32a112221f564862e350da18ad0ee
Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 1 21:09:49 2024 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Jun 1 21:10:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d7b08071
dune.eclass: filter TEXTRELS warnings on 32 bit arch
Closes: https://bugs.gentoo.org/928104
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
eclass/dune.eclass | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/eclass/dune.eclass b/eclass/dune.eclass
index f0faea007c9f..ba54e87ceaf9 100644
--- a/eclass/dune.eclass
+++ b/eclass/dune.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: dune.eclass
@@ -185,6 +185,10 @@ dune-install() {
}
dune_src_install() {
+ # OCaml generates textrels on 32-bit arches
+ if use arm || use ppc || use x86 ; then
+ export QA_TEXTRELS='.*'
+ fi
dune-install ${1:-${DUNE_PKG_NAME}}
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01 6:19 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2024-06-01 6:19 UTC (permalink / raw
To: gentoo-commits
commit: b51412f49546e7531d05540588390e91a5a5a825
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sun May 12 06:39:40 2024 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sat Jun 1 06:19:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b51412f4
ruby-ng-gnome2.eclass: allow EAPI 8
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/ruby-ng-gnome2.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/ruby-ng-gnome2.eclass b/eclass/ruby-ng-gnome2.eclass
index 77c004f56998..c38c5f15904d 100644
--- a/eclass/ruby-ng-gnome2.eclass
+++ b/eclass/ruby-ng-gnome2.eclass
@@ -6,7 +6,7 @@
# Ruby herd <ruby@gentoo.org>
# @AUTHOR:
# Author: Hans de Graaff <graaff@gentoo.org>
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: ruby-ng
# @BLURB: An eclass to simplify handling of various ruby-gnome2 parts.
# @DESCRIPTION:
@@ -14,7 +14,7 @@
# ruby-gnome2 since they share a very common installation procedure.
case ${EAPI} in
- 7) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01 6:19 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2024-06-01 6:19 UTC (permalink / raw
To: gentoo-commits
commit: 6d38c6eace7a34a42dfd60401e9c3bd85766509f
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sun May 12 06:32:32 2024 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sat Jun 1 06:19:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6d38c6ea
ruby-ng-gnome2.eclass: remove "default" SRC_URI
This default was never used since it was always overwritten by the
if/else following it.
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/ruby-ng-gnome2.eclass | 1 -
1 file changed, 1 deletion(-)
diff --git a/eclass/ruby-ng-gnome2.eclass b/eclass/ruby-ng-gnome2.eclass
index e10f1e625993..8cce47cf1903 100644
--- a/eclass/ruby-ng-gnome2.eclass
+++ b/eclass/ruby-ng-gnome2.eclass
@@ -44,7 +44,6 @@ BDEPEND="virtual/pkgconfig"
ruby_add_bdepend "
dev-ruby/pkg-config
test? ( >=dev-ruby/test-unit-2 )"
-SRC_URI="https://downloads.sourceforge.net/ruby-gnome2/ruby-gnome2-all-${PV}.tar.gz"
HOMEPAGE="https://ruby-gnome.github.io/"
LICENSE="LGPL-2.1+"
SLOT="0"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01 6:19 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2024-06-01 6:19 UTC (permalink / raw
To: gentoo-commits
commit: c4106df30b444ae1a74c9ddf66528fbce7185539
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sun May 12 06:33:52 2024 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sat Jun 1 06:19:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4106df3
ruby-ng-gnome2.eclass: drop obsolete SRC_URI
The last version below 3.4.0 that used this SRC_URI has been removed in
2021 in bd4380d7b621baa6b63b24bedce94dfebe171cf3
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/ruby-ng-gnome2.eclass | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/eclass/ruby-ng-gnome2.eclass b/eclass/ruby-ng-gnome2.eclass
index 8cce47cf1903..77c004f56998 100644
--- a/eclass/ruby-ng-gnome2.eclass
+++ b/eclass/ruby-ng-gnome2.eclass
@@ -47,13 +47,8 @@ ruby_add_bdepend "
HOMEPAGE="https://ruby-gnome.github.io/"
LICENSE="LGPL-2.1+"
SLOT="0"
-if ver_test -ge "3.4.0"; then
- SRC_URI="https://github.com/ruby-gnome/ruby-gnome/archive/${PV}.tar.gz -> ruby-gnome2-${PV}.tar.gz"
- RUBY_S=ruby-gnome-${PV}/${RUBY_FAKEGEM_NAME}
-else
- SRC_URI="https://downloads.sourceforge.net/ruby-gnome2/ruby-gnome2-all-${PV}.tar.gz"
- RUBY_S=ruby-gnome2-all-${PV}/${RUBY_FAKEGEM_NAME}
-fi
+SRC_URI="https://github.com/ruby-gnome/ruby-gnome/archive/${PV}.tar.gz -> ruby-gnome2-${PV}.tar.gz"
+RUBY_S=ruby-gnome-${PV}/${RUBY_FAKEGEM_NAME}
ruby-ng-gnome2_all_ruby_prepare() {
# Avoid compilation of dependencies during test.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-31 12:42 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-31 12:42 UTC (permalink / raw
To: gentoo-commits
commit: 857bea2590e56110ce52f52fb593f34900d7c6e1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 21 14:33:30 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri May 31 12:42:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=857bea25
llvm-r1.eclass: Use := slot op in examples
Include the ':=' slot operator in examples. While generally LLVM
does not change its ABI within a single slot, it technically reserves
that possibility and it has historically been used in LLVM 11.1.0.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm-r1.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/llvm-r1.eclass b/eclass/llvm-r1.eclass
index 658946a1ecbd..075df9218be8 100644
--- a/eclass/llvm-r1.eclass
+++ b/eclass/llvm-r1.eclass
@@ -31,8 +31,8 @@
# DEPEND="
# dev-libs/libfoo[${LLVM_USEDEP}]
# $(llvm_gen_dep '
-# sys-devel/clang:${LLVM_SLOT}
-# sys-devel/llvm:${LLVM_SLOT}
+# sys-devel/clang:${LLVM_SLOT}=
+# sys-devel/llvm:${LLVM_SLOT}=
# ')
# "
# @CODE
@@ -158,8 +158,8 @@ unset -f _llvm_set_globals
# @CODE
# DEPEND="
# $(llvm_gen_dep '
-# sys-devel/clang:${LLVM_SLOT}
-# sys-devel/llvm:${LLVM_SLOT}
+# sys-devel/clang:${LLVM_SLOT}=
+# sys-devel/llvm:${LLVM_SLOT}=
# ')
# "
# @CODE
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-26 8:18 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-05-26 8:18 UTC (permalink / raw
To: gentoo-commits
commit: bfe9319b5d4631a85ebbb9c2fcda1d46f09c2320
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sun May 26 07:38:15 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun May 26 08:18:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bfe9319b
java-osgi.eclass: drop EAPI 7
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/36819
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-osgi.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/java-osgi.eclass b/eclass/java-osgi.eclass
index 7019fab7b203..172b42225c6e 100644
--- a/eclass/java-osgi.eclass
+++ b/eclass/java-osgi.eclass
@@ -1,4 +1,4 @@
-# Copyright 2007-2022 Gentoo Authors
+# Copyright 2007-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: java-osgi.eclass
@@ -6,7 +6,7 @@
# java@gentoo.org
# @AUTHOR:
# Java maintainers <java@gentoo.org>
-# @SUPPORTED_EAPIS: 7 8
+# @SUPPORTED_EAPIS: 8
# @PROVIDES: java-utils-2
# @BLURB: Java OSGi eclass
# @DESCRIPTION:
@@ -16,7 +16,7 @@
# could extend this so that Gentoo Java system would be fully OSGi compliant.
case ${EAPI} in
- 7|8) ;;
+ 8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-25 8:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-25 8:35 UTC (permalink / raw
To: gentoo-commits
commit: 63c74a9a2231c426759af524cd14004d04f1cf32
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 25 08:33:25 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat May 25 08:35:14 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63c74a9a
Remove support for old snapshots
Signed-off-by: Michał Górny <mgorny <AT> 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 f0915a0e42cc..9d2dc78e0d92 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -78,15 +78,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
19.0.0_pre20240518)
EGIT_COMMIT=702198fc9ac5dba392f9d9ba7c56467996343c0a
;;
- 19.0.0_pre20240509)
- EGIT_COMMIT=a7ee81e8279e0bf6e05617a4a638e5f2f8e45022
- ;;
- 19.0.0_pre20240504)
- EGIT_COMMIT=76aa042dde6ba9ba57c680950f5818259ee02690
- ;;
- 19.0.0_pre20240427)
- EGIT_COMMIT=338561657685c1831a53563b1bc36ffc7470239e
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-25 5:55 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-25 5:55 UTC (permalink / raw
To: gentoo-commits
commit: e790e4d2c3dc3b996854ce70ace17244e8e8b9d8
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 25 05:55:09 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 25 05:55:24 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e790e4d2
plasma.kde.org.eclass: support 6.x betas
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/plasma.kde.org.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/plasma.kde.org.eclass b/eclass/plasma.kde.org.eclass
index 491f1fcecc8c..1a626de37bfb 100644
--- a/eclass/plasma.kde.org.eclass
+++ b/eclass/plasma.kde.org.eclass
@@ -63,7 +63,7 @@ if [[ ${KDE_BUILD_TYPE} == live ]]; then
fi
elif [[ -z ${KDE_ORG_COMMIT} ]]; then
case ${PV} in
- 5.??.[6-9][05]* )
+ 5.??.[6-9][05]* | 6.?.[6-9][05]* )
_KDE_SRC_URI+="unstable/plasma/$(ver_cut 1-3)/"
RESTRICT+=" mirror"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-22 1:44 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-22 1:44 UTC (permalink / raw
To: gentoo-commits
commit: 69d4cc312072ad28491d2dce5798dd49d63713e5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed May 22 01:40:06 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed May 22 01:43:56 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69d4cc31
perl-module.eclass: don't set 'ccflags' for Module::Build
TL;DR: If we set 'ccflags', we're clobbering the Perl default. We're already
setting 'optimize' which is what we're supposed to use here.
We set ccflags *and* optimize for Module::Build (which dev-perl/Net-DNS uses),
while we only set OPTIMIZE (case is fine) for MM (which dev-perl/Net-LibIDN2 uses).
ccflags clobbers the Perl default, while optimize appends. We should just set optimize -
to not clobber what Perl sets, but also for consistency between the two build systems).
(Unfortunately, this does mean we also inherit things we don't really
want to, which don't affect ABI, like -fno-strict-aliasing, but let's
live with it for now...)
Bug: https://bugs.gentoo.org/261375
Bug: https://bugs.gentoo.org/877659
Closes: https://bugs.gentoo.org/932176
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/perl-module.eclass | 1 -
1 file changed, 1 deletion(-)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index f32c2c237d05..432d1ab315dd 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -279,7 +279,6 @@ perl-module_src_configure() {
--config ld="$(tc-getCC)" \
--config nm="$(tc-getNM)" \
--config ranlib="$(tc-getRANLIB)" \
- --config ccflags="${CFLAGS}" \
--config optimize="${CFLAGS}" \
--config ldflags="${LDFLAGS}" \
"${myconf_local[@]}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-21 8:58 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-05-21 8:58 UTC (permalink / raw
To: gentoo-commits
commit: 90b41ec50f152da26b8c8d4004d38d7cd4b3dd53
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Mon May 20 11:00:27 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue May 21 08:58:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90b41ec5
texlive-module.eclass: do not treat grep returning 1 as error
In case every man page of the dev-texlive/* package is filtered, because
the man pages are already installed by texlive-core, grep returns an
exit status of 1, which we must not treat as an error condition.
Adjust the PIPESTATUS comparison accordingly.
Closes: https://bugs.gentoo.org/931994
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-module.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index 0daca41961ff..b202a0188b66 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -539,7 +539,10 @@ texlive-module_src_install() {
find texmf-dist/doc/man -type f -name '*.[0-9n]' -print |
grep -v "${grep_expressions[@]}" |
xargs -d '\n' --no-run-if-empty doman
- [[ "${PIPESTATUS[*]}" =~ ^0(" 0")*$ ]]
+ # The grep in the middle of the pipe may return 1 in case
+ # everything from the input is dropped.
+ # See https://bugs.gentoo.org/931994
+ [[ "${PIPESTATUS[*]}" == "0 "[01]" 0" ]]
eend $? || die "error installing man pages"
# Delete all man pages under texmf-dist/doc/man
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-21 8:58 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-05-21 8:58 UTC (permalink / raw
To: gentoo-commits
commit: 0c2599b9db997df77af21ca8d3ce8da16e512649
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Mon May 20 11:02:15 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue May 21 08:58:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c2599b9
texlive-module.eclass: invoke doman with nonfatal
In case doman fails, we do not want to die immediatly as it would
"break" the ebegin/eend combination. Instead, the exit status is passed
through xargs. It will then subsequently appear in PIPESTATUS, where it
is processed by eend || die.
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
Suggested-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/texlive-module.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index b202a0188b66..7d40bfc58994 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -538,7 +538,7 @@ texlive-module_src_install() {
ebegin "Installing man pages"
find texmf-dist/doc/man -type f -name '*.[0-9n]' -print |
grep -v "${grep_expressions[@]}" |
- xargs -d '\n' --no-run-if-empty doman
+ xargs -d '\n' --no-run-if-empty nonfatal doman
# The grep in the middle of the pipe may return 1 in case
# everything from the input is dropped.
# See https://bugs.gentoo.org/931994
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-21 8:58 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-05-21 8:58 UTC (permalink / raw
To: gentoo-commits
commit: 66780befaf58c6956afb4221911bd2ed1c240810
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Mon May 20 11:04:55 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue May 21 08:58:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66780bef
texlive-module.eclass: include PIPESTATUS in die message
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-module.eclass | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index 7d40bfc58994..d7ec59c25a8a 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -539,11 +539,12 @@ texlive-module_src_install() {
find texmf-dist/doc/man -type f -name '*.[0-9n]' -print |
grep -v "${grep_expressions[@]}" |
xargs -d '\n' --no-run-if-empty nonfatal doman
+ local pipestatus="${PIPESTATUS[*]}"
# The grep in the middle of the pipe may return 1 in case
# everything from the input is dropped.
# See https://bugs.gentoo.org/931994
- [[ "${PIPESTATUS[*]}" == "0 "[01]" 0" ]]
- eend $? || die "error installing man pages"
+ [[ ${pipestatus} == "0 "[01]" 0" ]]
+ eend $? || die "error installing man pages (pipestatus: ${pipestatus})"
# Delete all man pages under texmf-dist/doc/man
find texmf-dist/doc/man -type f -name '*.[0-9n]' -delete ||
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-20 17:02 UTC (permalink / raw
To: gentoo-commits
commit: e6198d16c66dea2cf6db7fb528cd911493c90bd2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 15 15:42:19 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 20 16:56:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6198d16
distutils-r1.eclass: Pass ninja options to scikit-build-core
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 3aa2c8984ab2..71b80fafe1a5 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1457,11 +1457,17 @@ distutils_pep517_install() {
"${DISTUTILS_ARGS[@]}"
)
+ local -x NINJAOPTS=$(get_NINJAOPTS)
config_settings=$(
"${EPYTHON}" - "${cmake_args[@]}" <<-EOF || die
import json
+ import os
+ import shlex
import sys
+
+ ninjaopts = shlex.split(os.environ["NINJAOPTS"])
print(json.dumps({
+ "build.tool-args": ninjaopts,
"cmake.args": ";".join(sys.argv[1:]),
"cmake.build-type": "${CMAKE_BUILD_TYPE}",
"cmake.verbose": True,
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-20 17:02 UTC (permalink / raw
To: gentoo-commits
commit: be50ed0537e06560614cedc379c60292300a7e3e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May 14 12:48:38 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 20 16:56:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be50ed05
python-utils-r1.eclass: Support passing EPYTEST_FLAGS
Closes: https://bugs.gentoo.org/905863
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-utils-r1.eclass | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 275ac3a96523..584ed831f816 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1321,6 +1321,15 @@ _python_check_occluded_packages() {
# Specifies the number of jobs for parallel (pytest-xdist) test runs.
# When unset, defaults to -j from MAKEOPTS, or the current nproc.
+# @ECLASS_VARIABLE: EPYTEST_FLAGS
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Additional flags to pass to pytest. This is intended to be set
+# in the environment when debugging packages (options such as -x or -s
+# are useful here), rather than globally. It must not be set
+# in ebuilds.
+
# @FUNCTION: epytest
# @USAGE: [<args>...]
# @DESCRIPTION:
@@ -1432,7 +1441,7 @@ epytest() {
for x in "${EPYTEST_IGNORE[@]}"; do
args+=( --ignore "${x}" )
done
- set -- "${EPYTHON}" -m pytest "${args[@]}" "${@}"
+ set -- "${EPYTHON}" -m pytest "${args[@]}" "${@}" ${EPYTEST_FLAGS}
echo "${@}" >&2
"${@}" || die -n "pytest failed with ${EPYTHON}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-20 17:02 UTC (permalink / raw
To: gentoo-commits
commit: d5e060a2d9ae439620689acc720d9a11a859a3a1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri May 17 13:09:44 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 20 16:56:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5e060a2
python-utils-r1.eclass: Fix cleanup in failing epytest
Fix epytest to call `die -n` after performing the cleanup, rather than
before. This ensures that stray cache files are cleaned up even if
we're actually going to die, e.g. when using
`FEATURES=test-fail-continue`.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/36672
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-utils-r1.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 584ed831f816..c47565fa1db2 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1444,7 +1444,7 @@ epytest() {
set -- "${EPYTHON}" -m pytest "${args[@]}" "${@}" ${EPYTEST_FLAGS}
echo "${@}" >&2
- "${@}" || die -n "pytest failed with ${EPYTHON}"
+ "${@}"
local ret=${?}
# remove common temporary directories left over by pytest plugins
@@ -1455,6 +1455,7 @@ epytest() {
find "${BUILD_DIR}" -name '*-pytest-*.pyc' -delete || die
fi
+ [[ ${ret} -ne 0 ]] && die -n "pytest failed with ${EPYTHON}"
return ${ret}
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-20 17:02 UTC (permalink / raw
To: gentoo-commits
commit: 6cc41bab19c96e2bf1456389fd368f98ba16605c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 15 15:40:39 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 20 16:56:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6cc41bab
distutils-r1.eclass: Update scikit-build-core to 0.9.4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index a8f9817a3cf0..3aa2c8984ab2 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -279,7 +279,7 @@ _distutils_set_globals() {
;;
scikit-build-core)
bdep+='
- >=dev-python/scikit-build-core-0.8.2[${PYTHON_USEDEP}]
+ >=dev-python/scikit-build-core-0.9.4[${PYTHON_USEDEP}]
'
;;
setuptools)
@@ -1457,8 +1457,6 @@ distutils_pep517_install() {
"${DISTUTILS_ARGS[@]}"
)
- # NB: we need to pass strings for boolean fields
- # https://github.com/scikit-build/scikit-build-core/issues/707
config_settings=$(
"${EPYTHON}" - "${cmake_args[@]}" <<-EOF || die
import json
@@ -1466,8 +1464,8 @@ distutils_pep517_install() {
print(json.dumps({
"cmake.args": ";".join(sys.argv[1:]),
"cmake.build-type": "${CMAKE_BUILD_TYPE}",
- "cmake.verbose": "true",
- "install.strip": "false",
+ "cmake.verbose": True,
+ "install.strip": False,
}))
EOF
)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-20 17:02 UTC (permalink / raw
To: gentoo-commits
commit: a0e04d66dad73b419f423ef1a3e0459f7715da50
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May 14 10:26:59 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 20 16:56:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a0e04d66
distutils-r1.eclass: Store created wheels in DISTUTILS_WHEELS
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 1037c0abe239..955c41fe4e2d 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1532,6 +1532,15 @@ distutils_pep517_install() {
DISTUTILS_WHEEL_PATH=${WHEEL_BUILD_DIR}/${wheel}
}
+# @VARIABLE: DISTUTILS_WHEELS
+# @DESCRIPTION:
+# An associative array of wheels created as a result
+# of distutils-r1_python_compile invocations, mapped to the source
+# directories. Note that this includes only wheels implicitly created
+# by the eclass, and not wheels created as a result of direct
+# distutils_pep517_install calls in the ebuild.
+declare -g -A DISTUTILS_WHEELS=()
+
# @FUNCTION: distutils-r1_python_compile
# @USAGE: [additional-args...]
# @DESCRIPTION:
@@ -1541,6 +1550,7 @@ distutils_pep517_install() {
#
# If DISTUTILS_USE_PEP517 is set to any other value, builds a wheel
# using the PEP517 backend and installs it into ${BUILD_DIR}/install.
+# Path to the wheel is then added to DISTUTILS_WHEELS array.
#
# In legacy mode, runs 'esetup.py build'. Any parameters passed to this
# function will be appended to setup.py invocation, i.e. passed
@@ -1576,6 +1586,7 @@ distutils-r1_python_compile() {
if [[ ${DISTUTILS_USE_PEP517} ]]; then
distutils_pep517_install "${BUILD_DIR}/install"
+ DISTUTILS_WHEELS+=( "${DISTUTILS_WHEEL_PATH}" "${PWD}" )
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-20 17:02 UTC (permalink / raw
To: gentoo-commits
commit: 314c6b009037cf21ddfb35b6c372c5dd3819e0c5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May 14 12:09:24 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 20 16:56:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=314c6b00
distutils-r1.eclass: Support reusing prior wheels when compatible
Support reusing the wheels built for earlier Python implementations
if they are compatible with the subsequent implementations being built.
This includes pure Python wheels in packages that do not set
DISTUTILS_EXT, and stable ABI wheels.
Closes: https://bugs.gentoo.org/931689
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 29e901720e6c..a8f9817a3cf0 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -189,6 +189,18 @@ esac
# ${DISTUTILS_DEPS}"
# @CODE
+# @ECLASS_VARIABLE: DISTUTILS_ALLOW_WHEEL_REUSE
+# @DEFAULT_UNSET
+# @USER_VARIABLE
+# @DESCRIPTION:
+# If set to a non-empty value, the eclass is allowed to reuse a wheel
+# that was built for a prior Python implementation, provided that it is
+# compatible with the current one, rather than building a new one.
+#
+# This is an optimization that can avoid the overhead of calling into
+# the build system in pure Python packages and packages using the stable
+# Python ABI.
+
if [[ -z ${_DISTUTILS_R1_ECLASS} ]]; then
_DISTUTILS_R1_ECLASS=1
@@ -1585,6 +1597,32 @@ distutils-r1_python_compile() {
esac
if [[ ${DISTUTILS_USE_PEP517} ]]; then
+ if [[ ${DISTUTILS_ALLOW_WHEEL_REUSE} ]]; then
+ local whl
+ for whl in "${!DISTUTILS_WHEELS[@]}"; do
+ # use only wheels corresponding to the current directory
+ if [[ ${PWD} != ${DISTUTILS_WHEELS["${whl}"]} ]]; then
+ continue
+ fi
+
+ # 1. Use pure Python wheels only if we're not expected
+ # to build extensions. Otherwise, we may end up
+ # not building the extension at all when e.g. PyPy3
+ # is built without one.
+ #
+ # 2. For CPython, we can reuse stable ABI wheels. Note
+ # that this relies on the assumption that we're building
+ # from the oldest to the newest implementation,
+ # and the wheels are forward-compatible.
+ if [[ ( ! ${DISTUTILS_EXT} && ${whl} == *py3-none-any* ) ||
+ ( ${EPYTHON} == python* && ${whl} == *-abi3-* ) ]]
+ then
+ distutils_wheel_install "${BUILD_DIR}/install" "${whl}"
+ return
+ fi
+ done
+ fi
+
distutils_pep517_install "${BUILD_DIR}/install"
DISTUTILS_WHEELS+=( "${DISTUTILS_WHEEL_PATH}" "${PWD}" )
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-20 17:02 UTC (permalink / raw
To: gentoo-commits
commit: c607b1afeebb85474a0beac84944e7ad54d0a54e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May 14 10:17:08 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 20 16:56:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c607b1af
distutils-r1.eclass: Set DISTUTILS_WHEEL_PATH in PEP517 install
Store the created wheel path in DISTUTILS_WHEEL_PATH when returning
from distutils_pep517_install.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index a67122a59a33..1037c0abe239 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1343,6 +1343,10 @@ distutils_wheel_install() {
\) -delete || die
}
+# @VARIABLE: DISTUTILS_WHEEL_PATH
+# @DESCRIPTION:
+# Path to the wheel created by distutils_pep517_install.
+
# @FUNCTION: distutils_pep517_install
# @USAGE: <root>
# @DESCRIPTION:
@@ -1350,7 +1354,8 @@ distutils_wheel_install() {
# backend and install it into <root>.
#
# This function is intended for expert use only. It does not handle
-# wrapping executables.
+# wrapping executables. The wheel path is returned
+# in DISTUTILS_WHEEL_PATH variable.
distutils_pep517_install() {
debug-print-function ${FUNCNAME} "${@}"
[[ ${#} -eq 1 ]] || die "${FUNCNAME} takes exactly one argument: root"
@@ -1523,6 +1528,8 @@ distutils_pep517_install() {
[[ -n ${wheel} ]] || die "No wheel name returned"
distutils_wheel_install "${root}" "${WHEEL_BUILD_DIR}/${wheel}"
+
+ DISTUTILS_WHEEL_PATH=${WHEEL_BUILD_DIR}/${wheel}
}
# @FUNCTION: distutils-r1_python_compile
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-20 17:02 UTC (permalink / raw
To: gentoo-commits
commit: a3895e6ab84b171c1470ac790b8002d9d9a820de
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May 14 11:13:52 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 20 16:56:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3895e6a
distutils-r1.eclass: Add a QA warning for pure Python file mismatch
If the package is creating at least one pure Python wheel, check whether
the baseline package contents (i.e. everything but compiled Python
modules, extensions and .dist-info) match between implementations.
This is meant to ensure that we can safely optimize builds by reusing
pure Python wheels from previous builds.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 955c41fe4e2d..29e901720e6c 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -2022,6 +2022,44 @@ distutils-r1_src_configure() {
return ${ret}
}
+# @FUNCTION: _distutils-r1_compare_installed_files
+# @INTERNAL
+# @DESCRIPTION:
+# Verify the the match between files installed between this and previous
+# implementation.
+_distutils-r1_compare_installed_files() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ # QA check requires diff(1).
+ if ! type -P diff &>/dev/null; then
+ return
+ fi
+
+ # Perform the check only if at least one potentially reusable wheel
+ # has been produced. Nonpure packages (e.g. NumPy) may install
+ # interpreter configuration details into sitedir.
+ if [[ ${!DISTUTILS_WHEELS[*]} != *-none-any.whl* &&
+ ${!DISTUTILS_WHEELS[*]} != *-abi3-*.whl ]]; then
+ return
+ fi
+
+ local sitedir=${BUILD_DIR}/install$(python_get_sitedir)
+ if [[ -n ${_DISTUTILS_PREVIOUS_SITE} ]]; then
+ diff -dur \
+ --exclude=__pycache__ \
+ --exclude='*.dist-info' \
+ --exclude="*$(get_modname)" \
+ "${_DISTUTILS_PREVIOUS_SITE}" "${sitedir}"
+ if [[ ${?} -ne 0 ]]; then
+ eqawarn "Package creating at least one pure Python wheel installs different"
+ eqawarn "Python files between implementations. See diff in build log, above"
+ eqawarn "this message."
+ fi
+ fi
+
+ _DISTUTILS_PREVIOUS_SITE=${sitedir}
+}
+
# @FUNCTION: _distutils-r1_post_python_compile
# @INTERNAL
# @DESCRIPTION:
@@ -2056,6 +2094,8 @@ _distutils-r1_post_python_compile() {
find "${bindir}" -type f -exec sed -i \
-e "1s@^#!\(${EPREFIX}/usr/bin/\(python\|pypy\)\)@#!${root}\1@" \
{} + || die
+
+ _distutils-r1_compare_installed_files
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-18 13:25 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-18 13:25 UTC (permalink / raw
To: gentoo-commits
commit: 277634d1957c735f02bd64a3a68ccf05995d8a16
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 18 13:08:10 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat May 18 13:25:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=277634d1
Add 19.0.0_pre20240518 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 3ada7d2a373b..08fa68022174 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_pre20240518)
+ EGIT_COMMIT=702198fc9ac5dba392f9d9ba7c56467996343c0a
+ ;;
19.0.0_pre20240509)
EGIT_COMMIT=a7ee81e8279e0bf6e05617a4a638e5f2f8e45022
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-18 3:50 Benda XU
0 siblings, 0 replies; 6228+ messages in thread
From: Benda XU @ 2024-05-18 3:50 UTC (permalink / raw
To: gentoo-commits
commit: bd29b1782a348f0017d74a92204acd6f2704c96c
Author: Yiyang Wu <xgreenlandforwyy <AT> gmail <DOT> com>
AuthorDate: Mon Apr 8 06:10:07 2024 +0000
Commit: Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Sat May 18 03:45:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd29b178
rocm.eclass: remove xnack flag for broader compatibility
Initially, rocm.eclass append xnack[1,2] feature flag to gfx9 GPUs,
since ROCm upstream does this in many of their math libraries, e.g.
rocBLAS [3]. The list includes gfx90a:xnack+, indicating xnack is usable
for MI200 series, thus rocm.eclass append :xnack+ to gfx90a.
But it turns out xnack- is also common for MI200 series, restricting to
xnack+ produces incompatible GPU kernel with xnack- mode.
Also, community also explores using xnack on other gfx9 GPU [4,5], which
is previously restricted to xnack- in rocm.eclass.
By not appending xnack feature flag, GPU kernels are compiled to "xnack
any" mode, which can be run in either mode, potentially scarifying some
performance [6,7], with no direct evidence. rocFFT reports no
performance penalty[8].
For the reason above, do not append xnack feature flag to AMDGPU_TARGETS,
which is compatible with GPUs operate in both xnack mode.
[1] https://wiki.gentoo.org/wiki/ROCm#XNACK_target_feature
[2] https://rocm.docs.amd.com/en/latest/conceptual/gpu-memory.html#xnack
[3] https://github.com/ROCm/rocBLAS/blob/release/rocm-rel-5.0/CMakeLists.txt#L201
[4] https://niconiconi.neocities.org/tech-notes/xnack-on-amd-gpus/
[5] https://arxiv.org/abs/2401.02680
[6] https://llvm.org/docs/AMDGPUUsage.html#target-features
[7] https://docs.olcf.ornl.gov/systems/crusher_quick_start_guide.html#compiling-hip-kernels-for-specific-xnack-modes
[8] https://github.com/ROCm/rocFFT/commit/cd2689360ba3b3579d044d8925838ff307b4b4cf
Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com>
Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/36254
eclass/rocm.eclass | 19 ++-----------------
1 file changed, 2 insertions(+), 17 deletions(-)
diff --git a/eclass/rocm.eclass b/eclass/rocm.eclass
index 9804ecde97d0..e03e8bdd507a 100644
--- a/eclass/rocm.eclass
+++ b/eclass/rocm.eclass
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: rocm.eclass
@@ -201,22 +201,7 @@ unset -f _rocm_set_globals
# Append default target feature to GPU arch. See
# https://llvm.org/docs/AMDGPUUsage.html#target-features
get_amdgpu_flags() {
- local amdgpu_target_flags
- for gpu_target in ${AMDGPU_TARGETS}; do
- local target_feature=
- case ${gpu_target} in
- gfx906|gfx908)
- target_feature=:xnack-
- ;;
- gfx90a)
- target_feature=:xnack+
- ;;
- *)
- ;;
- esac
- amdgpu_target_flags+="${gpu_target}${target_feature};"
- done
- echo "${amdgpu_target_flags}"
+ echo $(printf "%s;" ${AMDGPU_TARGETS[@]})
}
# @FUNCTION: check_amdgpu
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 23:05 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-05-17 23:05 UTC (permalink / raw
To: gentoo-commits
commit: 166cfd020d65a3c4189a0897fa2dc11fa503211f
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 17 21:55:03 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 17 23:03:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=166cfd02
linux-mod-r1.eclass: minor style & misc adjustments
No real functional changes:
* fix indent for dist-kernel_reinstall_initramfs
* explicit return 0 to avoid returning a failure, not that return
codes should ever be checked for that function
* use printf %q for LD path in case of unlikely spaces
* move dist-kernel version sanity check inside
_modules_sanity_kernelversion which fits and is called from the
same function the check was in (also document it)
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/linux-mod-r1.eclass | 47 ++++++++++++++++++++++++----------------------
1 file changed, 25 insertions(+), 22 deletions(-)
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 6d35a7068bfb..43c5a7d7b140 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -499,7 +499,7 @@ linux-mod-r1_pkg_postinst() {
if [[ -z ${ROOT} && ${MODULES_INITRAMFS_IUSE} ]] &&
use dist-kernel && use ${MODULES_INITRAMFS_IUSE#+}
then
- dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
fi
if has_version virtual/dist-kernel && ! use dist-kernel; then
@@ -695,24 +695,6 @@ _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
@@ -857,7 +839,7 @@ _modules_prepare_toolchain() {
# can work but raises concerns about breaking packages that may use these
if linux_chkconfig_present LTO_CLANG_THIN && tc-ld-is-lld; then
KERNEL_LD=${T}/linux-mod-r1_ld.lld
- printf '#!/usr/bin/env sh\nexec %s "${@}" --thinlto-cache-dir=\n' \
+ printf '#!/usr/bin/env sh\nexec %q "${@}" --thinlto-cache-dir=\n' \
"${LD}" > "${KERNEL_LD}" || die
chmod +x -- "${KERNEL_LD}" || die
fi
@@ -899,7 +881,7 @@ _modules_prepare_toolchain() {
# If enabled in the kernel configuration, this compresses the given
# modules using the same format.
_modules_process_compress() {
- use modules-compress || return
+ use modules-compress || return 0
local -a compress
if linux_chkconfig_present MODULE_COMPRESS_XZ; then
@@ -1144,7 +1126,10 @@ _modules_sanity_kernelbuilt() {
# @DESCRIPTION:
# Prints a warning if the kernel version is greater than to
# MODULES_KERNEL_MAX (while only considering same amount of version
-# components), or aborts if it is less than MODULES_KERNEL_MIN
+# components), or aborts if it is less than MODULES_KERNEL_MIN.
+#
+# With USE=dist-kernel, also warn if virtual/dist-kernel is of a
+# different version than the one being built against.
_modules_sanity_kernelversion() {
local kv=${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}
@@ -1194,6 +1179,24 @@ _modules_sanity_kernelversion() {
ewarn
fi
fi
+
+ 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_sanity_modversion
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 23:05 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-05-17 23:05 UTC (permalink / raw
To: gentoo-commits
commit: 2e1c05e68ecf30083b5fe1e2f83aa0c5548ce9a0
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri May 17 21:45:44 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri May 17 23:02:54 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e1c05e6
linux-mod-r1.eclass: update depmod.d comment
Likely a non-issue with dracut now (untested) but will leave it
alone for now and just updating comment. Maybe if users start
having more problems that'd require it or if we want to more
liberally rename modules install paths while ensuring it does not
use the old one on a same kernel (point of this was just to make
things more robust and is not hard-required).
Also adjust the commented out function to match dracut.conf.d (guess
glob makes it more straight forward, not that it's necessary).
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/linux-mod-r1.eclass | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 6060074d8734..6d35a7068bfb 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -583,10 +583,11 @@ modules_post_process() {
(( ${#mods[@]} )) ||
die "${FUNCNAME[0]} was called with no installed modules under ${path}"
- # TODO?: find way for sane use with dracut (its 90kernel-modules-extra
- # parses depmod.d files directly and assumes should include its modules
- # which can lead to unnecessarily increased size or stale modules)
-# _modules_process_depmod.d "${mods[@]#"${path}/"}"
+ # TODO?: look into re-introducing after verifying it works as expected,
+ # formerly omitted because dracut's 90kernel-modules-extra parses depmod.d
+ # files directly and assumes should include its modules but we now create
+ # dracut omit files that *hopefully* prevent this
+# _modules_process_depmod.d "${mods[@]##*/}"
_modules_process_dracut.conf.d "${mods[@]##*/}"
_modules_process_strip "${mods[@]}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 12:07 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-05-17 12:07 UTC (permalink / raw
To: gentoo-commits
commit: 7ca8ee3261f35705fbe94af7688e41815b42c0e6
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Thu May 9 17:33:00 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri May 17 12:06:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7ca8ee32
linux-mod-r1.eclass: do not reset kernel env vars in binpkgs
Closes: https://bugs.gentoo.org/931213
Bug: https://bugs.gentoo.org/926063
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/36597
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/linux-mod-r1.eclass | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index d9651f962604..6060074d8734 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -661,6 +661,11 @@ _modules_check_migration() {
# Handles linux-info bits to provide usable sources, KV_ variables,
# and CONFIG_CHECK use.
_modules_prepare_kernel() {
+ # The modules we build are specific to each kernel version, we don't
+ # want to reset the environment to use the user selected kernel version.
+ # Bug 931213, 926063
+ SKIP_KERNEL_BINPKG_ENV_RESET=1
+
get_version
# linux-info allows skipping checks if SKIP_KERNEL_CHECK is set and
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 12:07 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-05-17 12:07 UTC (permalink / raw
To: gentoo-commits
commit: 05ad18f837f89cfa2b20e01264ef6332c240072c
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Thu May 9 17:01:00 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri May 17 12:06:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05ad18f8
linux-info.eclass: respect eselect kernel setting in binpkgs
Commit f51cd5b64c14ddfb83488a12d538c66a4a309376 resets kernel environment
variables when binpkgs are merged, this makes sense since we care about the
system that the binpkg will be installed on, not the system the binpkg was
built on. This introduced Bug 931213 as a side-effect, which will be fixed
in a separate commit to linux-mod-r1.eclass. In preparation of that, we document
and rename the LINUX_INFO_BINARY_RESET to SKIP_KERNEL_BINPKG_ENV_RESET.
However, commit f51cd5b64c14ddfb83488a12d538c66a4a309376 also makes binpkgs
always use the running kernel version. This behaviour is surprising and
confusing. In principle the 'eselect kernel' setting should still be respected
when binpkgs are used.
Bug: https://bugs.gentoo.org/926063
Bug: https://bugs.gentoo.org/931213
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/linux-info.eclass | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
index 864594f607ca..9449a6359d2a 100644
--- a/eclass/linux-info.eclass
+++ b/eclass/linux-info.eclass
@@ -158,6 +158,14 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
# This is a user flag and should under _no circumstances_ be set in the ebuild.
: "${SKIP_KERNEL_CHECK:=""}"
+# @ECLASS_VARIABLE: SKIP_KERNEL_BINPKG_ENV_RESET
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set, do not reset the kernel environment variables when merging a package
+# as a binpkg.
+# Main use-case is for kernel modules, i.e. linux-mod-r1.eclass.
+# This should be set before running linux-info_pkg_setup
+
# And to ensure all the weirdness with crosscompile
inherit toolchain-funcs
[[ ${EAPI} == 6 ]] && inherit eapi7-ver
@@ -696,12 +704,12 @@ linux-info_get_any_version() {
die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
fi
- if [[ ${MERGE_TYPE} == binary && -z ${LINUX_INFO_BINARY_RESET} ]]; then
+ if [[ ${MERGE_TYPE} == binary && -z ${SKIP_KERNEL_BINPKG_ENV_RESET} ]]; then
unset KV_FULL _LINUX_CONFIG_EXISTS_DONE KV_OUT_DIR
- LINUX_INFO_BINARY_RESET=1
+ SKIP_KERNEL_BINPKG_ENV_RESET=1
fi
- if [[ ${MERGE_TYPE} != binary ]] && ! get_version; then
+ if ! get_version; then
ewarn "Unable to calculate Linux Kernel version for build, attempting to use running version"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 12:07 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-05-17 12:07 UTC (permalink / raw
To: gentoo-commits
commit: f439b4ec05b1982f06f67fbf39a46ae0db187a76
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed May 8 06:02:53 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri May 17 12:06:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f439b4ec
linux-mod-r1.eclass: add USE=initramfs
Adds a new variable that adds the "initramfs" flag when set. This new
flag controls whether or not the modules that were built should be
included in the initramfs. If the modules should be included, then we
also rebuild the initramfs/uki in post_install using installkernel.
Bug: https://bugs.gentoo.org/923025
Bug: https://bugs.gentoo.org/928271
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/linux-mod-r1.eclass | 54 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 4b267aae4db1..d9651f962604 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -131,6 +131,15 @@ IDEPEND="
sys-apps/kmod[tools]
"
+if [[ ${MODULES_INITRAMFS_IUSE} ]]; then
+ IUSE+=" ${MODULES_INITRAMFS_IUSE}"
+ IDEPEND+="
+ ${MODULES_INITRAMFS_IUSE#+}? (
+ sys-kernel/installkernel
+ )
+ "
+fi
+
if [[ -n ${MODULES_OPTIONAL_IUSE} ]]; then
: "${MODULES_OPTIONAL_IUSE#+}? ( | )"
RDEPEND=${_/|/${RDEPEND}} DEPEND=${_/|/${DEPEND}} \
@@ -179,6 +188,22 @@ fi
#
# May want to look at KERNEL_CHOST before considering this.
+# @ECLASS_VARIABLE: MODULES_INITRAMFS_IUSE
+# @DEFAULT_UNSET
+# @PRE_INHERIT
+# @DESCRIPTION:
+# If set, adds the specified USE flag. When this flag is enabled the
+# installed kernel modules are registered for inclusion in the dracut
+# initramfs. Additionally, if distribution kernels are used
+# (USE="dist-kernel") then these kernels are re-installed.
+#
+# The typical recommended value is "initramfs" or "+initramfs" (global
+# IUSE).
+#
+# If MODULES_INITRAMFS_IUSE is not set, or the specified flag is not
+# enabled, then the installed kernel modules are omitted from the
+# dracut initramfs.
+
# @ECLASS_VARIABLE: MODULES_SIGN_HASH
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -471,6 +496,19 @@ linux-mod-r1_pkg_postinst() {
dist-kernel_compressed_module_cleanup "${EROOT}/lib/modules/${KV_FULL}"
_modules_update_depmod
+ if [[ -z ${ROOT} && ${MODULES_INITRAMFS_IUSE} ]] &&
+ use dist-kernel && use ${MODULES_INITRAMFS_IUSE#+}
+ then
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ fi
+
+ if has_version virtual/dist-kernel && ! use dist-kernel; then
+ ewarn "virtual/dist-kernel is installed, but USE=\"dist-kernel\""
+ ewarn "is not enabled for ${CATEGORY}/${PN}."
+ ewarn "It's recommended to globally enable the dist-kernel USE flag"
+ ewarn "to automatically trigger initramfs rebuilds on kernel updates"
+ fi
+
# post_process ensures modules were installed and that the eclass' USE
# are likely not no-ops (unfortunately postinst itself may be missed)
[[ -v _MODULES_GLOBAL[ran:post_process] ]] ||
@@ -550,6 +588,7 @@ modules_post_process() {
# which can lead to unnecessarily increased size or stale modules)
# _modules_process_depmod.d "${mods[@]#"${path}/"}"
+ _modules_process_dracut.conf.d "${mods[@]##*/}"
_modules_process_strip "${mods[@]}"
_modules_process_sign "${mods[@]}"
_modules_sanity_modversion "${mods[@]}" # after strip/sign in case broke it
@@ -904,6 +943,21 @@ _modules_process_depmod.d() {
)
}
+# @FUNCTION: _modules_process_dracut.conf.d
+# @USAGE: <module>...
+# @INTERNAL
+# @DESCRIPTION:
+# Create dracut.conf.d snippet defining if module should be included in the
+# initramfs.
+_modules_process_dracut.conf.d() {
+ (
+ insinto /usr/lib/dracut/dracut.conf.d
+ [[ ${MODULES_INITRAMFS_IUSE} ]] && use ${MODULES_INITRAMFS_IUSE#+} &&
+ : add || : omit
+ newins - 10-${PN}.conf <<<"${_}_drivers+=\" ${*%.ko} \""
+ )
+}
+
# @FUNCTION: _modules_process_sign
# @USAGE: <module>...
# @INTERNAL
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 6:25 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-17 6:25 UTC (permalink / raw
To: gentoo-commits
commit: bf9a8b7af96bb7161956fc8276d9d07f021bda8a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 18:53:28 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri May 17 06:25:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf9a8b7a
cargo.eclass: Optimize crate unpacking
Unpack crates in parallel using xargs to utilize multicore systems
better. Perform checksumming via a single sha256sum invocation.
For dev-python/watchfiles, this speeds up unpacking on my machine
from 2.6 s to 0.75 s (warm cache).
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/36645
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/cargo.eclass | 56 +++++++++++++++++++++++++++++++----------------------
1 file changed, 33 insertions(+), 23 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 0f2da982f60c..a685cd99fb38 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -329,40 +329,50 @@ _cargo_gen_git_config() {
cargo_src_unpack() {
debug-print-function ${FUNCNAME} "$@"
- mkdir -p "${ECARGO_VENDOR}" || die
- mkdir -p "${S}" || die
+ mkdir -p "${ECARGO_VENDOR}" "${S}" || die
local archive shasum pkg
+ local crates=()
for archive in ${A}; do
case "${archive}" in
*.crate)
- # when called by pkgdiff-mg, do not unpack crates
- [[ ${PKGBUMPING} == ${PVR} ]] && continue
-
- ebegin "Loading ${archive} into Cargo registry"
- tar -xf "${DISTDIR}"/${archive} -C "${ECARGO_VENDOR}/" || die
- # generate sha256sum of the crate itself as cargo needs this
- shasum=$(sha256sum "${DISTDIR}"/${archive} | cut -d ' ' -f 1)
- pkg=$(basename ${archive} .crate)
- cat <<- EOF > ${ECARGO_VENDOR}/${pkg}/.cargo-checksum.json
- {
- "package": "${shasum}",
- "files": {}
- }
- EOF
- # if this is our target package we need it in ${WORKDIR} too
- # to make ${S} (and handle any revisions too)
- if [[ ${P} == ${pkg}* ]]; then
- tar -xf "${DISTDIR}"/${archive} -C "${WORKDIR}" || die
- fi
- eend $?
+ crates+=( "${archive}" )
;;
*)
- unpack ${archive}
+ unpack "${archive}"
;;
esac
done
+ if [[ ${PKGBUMPING} != ${PVR} && ${crates[@]} ]]; then
+ pushd "${DISTDIR}" >/dev/null || die
+
+ ebegin "Unpacking crates"
+ printf '%s\0' "${crates[@]}" |
+ xargs -0 -P "$(makeopts_jobs)" -n 1 -t -- \
+ tar -x -C "${ECARGO_VENDOR}" -f
+ assert
+ eend $?
+
+ while read -d '' -r shasum archive; do
+ pkg=${archive%.crate}
+ cat <<- EOF > ${ECARGO_VENDOR}/${pkg}/.cargo-checksum.json || die
+ {
+ "package": "${shasum}",
+ "files": {}
+ }
+ EOF
+
+ # if this is our target package we need it in ${WORKDIR} too
+ # to make ${S} (and handle any revisions too)
+ if [[ ${P} == ${pkg}* ]]; then
+ tar -xf "${archive}" -C "${WORKDIR}" || die
+ fi
+ done < <(sha256sum -z "${crates[@]}" || die)
+
+ popd >/dev/null || die
+ fi
+
cargo_gen_config
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-15 18:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-15 18:02 UTC (permalink / raw
To: gentoo-commits
commit: ec0d09c191f0b047aec7c9dad3abca98973fb972
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 15 18:02:03 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May 15 18:02:03 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec0d09c1
cargo.eclass: Revert "Optimize crate unpacking"
Reverts: 32928116fdcf631b6999705c78640e5718bd7a27
Bug: https://bugs.gentoo.org/931955
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/cargo.eclass | 56 ++++++++++++++++++++++-------------------------------
1 file changed, 23 insertions(+), 33 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 5a16d3a30528..0f2da982f60c 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -329,50 +329,40 @@ _cargo_gen_git_config() {
cargo_src_unpack() {
debug-print-function ${FUNCNAME} "$@"
- mkdir -p "${ECARGO_VENDOR}" "${S}" || die
+ mkdir -p "${ECARGO_VENDOR}" || die
+ mkdir -p "${S}" || die
local archive shasum pkg
- local crates=()
for archive in ${A}; do
case "${archive}" in
*.crate)
- crates+=( "${archive}" )
+ # when called by pkgdiff-mg, do not unpack crates
+ [[ ${PKGBUMPING} == ${PVR} ]] && continue
+
+ ebegin "Loading ${archive} into Cargo registry"
+ tar -xf "${DISTDIR}"/${archive} -C "${ECARGO_VENDOR}/" || die
+ # generate sha256sum of the crate itself as cargo needs this
+ shasum=$(sha256sum "${DISTDIR}"/${archive} | cut -d ' ' -f 1)
+ pkg=$(basename ${archive} .crate)
+ cat <<- EOF > ${ECARGO_VENDOR}/${pkg}/.cargo-checksum.json
+ {
+ "package": "${shasum}",
+ "files": {}
+ }
+ EOF
+ # if this is our target package we need it in ${WORKDIR} too
+ # to make ${S} (and handle any revisions too)
+ if [[ ${P} == ${pkg}* ]]; then
+ tar -xf "${DISTDIR}"/${archive} -C "${WORKDIR}" || die
+ fi
+ eend $?
;;
*)
- unpack "${archive}"
+ unpack ${archive}
;;
esac
done
- if [[ ${PKGBUMPING} != ${PVR} ]]; then
- pushd "${DISTDIR}" >/dev/null || die
-
- ebegin "Unpacking crates"
- printf '%s\0' "${crates[@]}" |
- xargs -0 -P "$(makeopts_jobs)" -n 1 -- \
- tar -x -C "${ECARGO_VENDOR}" -f
- assert
- eend $?
-
- while read -d '' -r shasum archive; do
- pkg=${archive%.crate}
- cat <<- EOF > ${ECARGO_VENDOR}/${pkg}/.cargo-checksum.json || die
- {
- "package": "${shasum}",
- "files": {}
- }
- EOF
-
- # if this is our target package we need it in ${WORKDIR} too
- # to make ${S} (and handle any revisions too)
- if [[ ${P} == ${pkg}* ]]; then
- tar -xf "${archive}" -C "${WORKDIR}" || die
- fi
- done < <(sha256sum -z "${crates[@]}" || die)
-
- popd >/dev/null || die
- fi
-
cargo_gen_config
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-15 14:20 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-15 14:20 UTC (permalink / raw
To: gentoo-commits
commit: 32928116fdcf631b6999705c78640e5718bd7a27
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 18:53:28 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May 15 14:19:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32928116
cargo.eclass: Optimize crate unpacking
Unpack crates in parallel using xargs to utilize multicore systems
better. Perform checksumming via a single sha256sum invocation.
For dev-python/watchfiles, this speeds up unpacking on my machine
from 2.6 s to 0.75 s (warm cache).
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/36645
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/cargo.eclass | 56 +++++++++++++++++++++++++++++++----------------------
1 file changed, 33 insertions(+), 23 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 0f2da982f60c..5a16d3a30528 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -329,40 +329,50 @@ _cargo_gen_git_config() {
cargo_src_unpack() {
debug-print-function ${FUNCNAME} "$@"
- mkdir -p "${ECARGO_VENDOR}" || die
- mkdir -p "${S}" || die
+ mkdir -p "${ECARGO_VENDOR}" "${S}" || die
local archive shasum pkg
+ local crates=()
for archive in ${A}; do
case "${archive}" in
*.crate)
- # when called by pkgdiff-mg, do not unpack crates
- [[ ${PKGBUMPING} == ${PVR} ]] && continue
-
- ebegin "Loading ${archive} into Cargo registry"
- tar -xf "${DISTDIR}"/${archive} -C "${ECARGO_VENDOR}/" || die
- # generate sha256sum of the crate itself as cargo needs this
- shasum=$(sha256sum "${DISTDIR}"/${archive} | cut -d ' ' -f 1)
- pkg=$(basename ${archive} .crate)
- cat <<- EOF > ${ECARGO_VENDOR}/${pkg}/.cargo-checksum.json
- {
- "package": "${shasum}",
- "files": {}
- }
- EOF
- # if this is our target package we need it in ${WORKDIR} too
- # to make ${S} (and handle any revisions too)
- if [[ ${P} == ${pkg}* ]]; then
- tar -xf "${DISTDIR}"/${archive} -C "${WORKDIR}" || die
- fi
- eend $?
+ crates+=( "${archive}" )
;;
*)
- unpack ${archive}
+ unpack "${archive}"
;;
esac
done
+ if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ pushd "${DISTDIR}" >/dev/null || die
+
+ ebegin "Unpacking crates"
+ printf '%s\0' "${crates[@]}" |
+ xargs -0 -P "$(makeopts_jobs)" -n 1 -- \
+ tar -x -C "${ECARGO_VENDOR}" -f
+ assert
+ eend $?
+
+ while read -d '' -r shasum archive; do
+ pkg=${archive%.crate}
+ cat <<- EOF > ${ECARGO_VENDOR}/${pkg}/.cargo-checksum.json || die
+ {
+ "package": "${shasum}",
+ "files": {}
+ }
+ EOF
+
+ # if this is our target package we need it in ${WORKDIR} too
+ # to make ${S} (and handle any revisions too)
+ if [[ ${P} == ${pkg}* ]]; then
+ tar -xf "${archive}" -C "${WORKDIR}" || die
+ fi
+ done < <(sha256sum -z "${crates[@]}" || die)
+
+ popd >/dev/null || die
+ fi
+
cargo_gen_config
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-14 9:19 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-05-14 9:19 UTC (permalink / raw
To: gentoo-commits
commit: b5d7d615c01a4b76bccde0a06de3a9ac3c7a850c
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Tue May 14 09:19:09 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue May 14 09:19:24 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5d7d615
edob: do not die if log file exists
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/edo.eclass | 1 -
1 file changed, 1 deletion(-)
diff --git a/eclass/edo.eclass b/eclass/edo.eclass
index ed8ec8d3201e..5fd77a676a8b 100644
--- a/eclass/edo.eclass
+++ b/eclass/edo.eclass
@@ -80,7 +80,6 @@ edob() {
[[ -z ${log_name} ]] && log_name="$(basename ${1})"
local log_file="${T}/${log_name}.log"
- [[ -f ${log_file} ]] && die "Log file ${log_file} exists. Consider using \"edob -l\""
ebegin "${message}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-14 8:20 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-05-14 8:20 UTC (permalink / raw
To: gentoo-commits
commit: 7d549d95818204c6d7a770d1c0de0fa0e6fcb5e8
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 5 12:45:54 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue May 14 07:58:12 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d549d95
texlive-common.eclass: eftmutil-sys: use edob
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-common.eclass | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/eclass/texlive-common.eclass b/eclass/texlive-common.eclass
index 15d475799a88..072581dde78e 100644
--- a/eclass/texlive-common.eclass
+++ b/eclass/texlive-common.eclass
@@ -22,6 +22,8 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
+inherit edo
+
if [[ -z ${_TEXLIVE_COMMON_ECLASS} ]]; then
_TEXLIVE_COMMON_ECLASS=1
@@ -199,9 +201,9 @@ etexmf-update() {
efmtutil-sys() {
if has_version 'app-text/texlive-core' ; then
if [[ -z ${ROOT} && -x "${EPREFIX}"/usr/bin/fmtutil-sys ]] ; then
- einfo "Rebuilding formats"
- "${EPREFIX}"/usr/bin/fmtutil-sys --all &> /dev/null ||
- die -n "fmtutil-sys returned non-zero exit status ${?}"
+ edob -m "Rebuilding TexLive formats" \
+ -l fmtutils-sys-all \
+ "${EPREFIX}"/usr/bin/fmtutil-sys --all
else
ewarn "Cannot run fmtutil-sys for some reason."
ewarn "Your formats might be inconsistent with your installed ${PN} version"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 21:53 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-13 21:53 UTC (permalink / raw
To: gentoo-commits
commit: 7010b055a0051e6557cfd2ef644e432fe84dc388
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon May 13 21:49:39 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon May 13 21:51:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7010b055
toolchain.eclass: don't depend on self if gnat-gpl
Without this, we get:
```
* Error: circular dependencies:
(sys-devel/gcc-13.2.1_p20240210:13/13::gentoo, ebuild scheduled for merge) depends on
(dev-lang/gnat-gpl-2021-r5:10/10::gentoo, ebuild scheduled for merge) (buildtime)
(sys-devel/gcc-13.2.1_p20240210:13/13::gentoo, ebuild scheduled for merge) (buildtime)
```
Reported on IRC by dormito.
Fixes: 74414ea0c4d70c96bbec234df290d7e5f14d8f51
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 25dedd4e5262..7d69f3b90e91 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -393,7 +393,7 @@ fi
# TODO: Add a pkg_setup & pkg_pretend check for whether the active compiler
# supports Ada.
-if tc_has_feature ada ; then
+if [[ ${PN} != gnat-gpl ]] && tc_has_feature ada ; then
BDEPEND+=" ada? ( || ( sys-devel/gcc[ada] dev-lang/gnat-gpl[ada] ) )"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 13:22 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-05-13 13:22 UTC (permalink / raw
To: gentoo-commits
commit: b7643fbe45d849aee68e4a162c05f48b4f830029
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Wed May 8 14:41:55 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon May 13 13:13:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7643fbe
acct-user.eclass: make ACCT_USER_NAME writable
The ACCT_USER_NAME variable is set to $PN by Gentoo policy. Prior to
this commit, it was also marked "readonly", preventing it from being
changed in an ebuild. In an overlay, and combined with the package
naming restrictions in the PMS, this has the unfortunate side effect of
prohibiting some otherwise-valid usernames. We drop the "readonly" to
allow those users to be managed (in overlays) using GLEP81 packages.
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>
eclass/acct-user.eclass | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index 66a4d6667888..765487391fbd 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: acct-user.eclass
@@ -58,12 +58,12 @@ inherit user-info
# << Eclass variables >>
# @ECLASS_VARIABLE: ACCT_USER_NAME
-# @INTERNAL
# @DESCRIPTION:
-# The name of the user. This is forced to ${PN} and the policy prohibits
-# it from being changed.
+# The name of the user. This is forced to ${PN} and the policy
+# prohibits it from being changed. The variable is left writable for
+# use in overlays; package naming restrictions would prohibit some
+# otherwise-valid usernames.
ACCT_USER_NAME=${PN}
-readonly ACCT_USER_NAME
# @ECLASS_VARIABLE: ACCT_USER_ID
# @REQUIRED
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 13:22 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-05-13 13:22 UTC (permalink / raw
To: gentoo-commits
commit: b7e37226a665a0613facd10386bbbbec8696699e
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Thu May 9 20:07:19 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon May 13 13:13:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7e37226
eclass/acct-user.eclass: use $PN to construct make.conf override vars
If (after upcasing and replacing hyphens by underscores) ACCT_USER_NAME
is set to something that isn't valid in a bash variable name, the eclass
will crash: it uses ACCT_USER_NAME to construct the make.conf override
variables in pkg_pretend() and src_install(). This commit constructs the
variable names using PN instead of ACCT_USER_NAME. In ::gentoo, the two
are equivalent, but in an overlay this allows weirder usernames at the
expense of slightly mismatched variable names.
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>
eclass/acct-user.eclass | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index 765487391fbd..9eab1f4c4ae6 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -231,8 +231,9 @@ acct-user_pkg_pretend() {
[[ ${ACCT_USER_ID} -ge -1 ]] || die "Ebuild error: ACCT_USER_ID=${ACCT_USER_ID} invalid!"
local user_id=${ACCT_USER_ID}
- # check for the override
- local override_name=${ACCT_USER_NAME^^}
+ # check for the override, use PN in case this is an overlay and
+ # ACCT_USER_NAME is not PN and not valid in a bash variable name
+ local override_name=${PN^^}
local override_var=ACCT_USER_${override_name//-/_}_ID
if [[ -n ${!override_var} ]]; then
user_id=${!override_var}
@@ -274,8 +275,9 @@ acct-user_src_install() {
# serialize for override support
local ACCT_USER_GROUPS=${ACCT_USER_GROUPS[*]}
- # support make.conf overrides
- local override_name=${ACCT_USER_NAME^^}
+ # support make.conf overrides, use PN in case this is an overlay and
+ # ACCT_USER_NAME is not PN and not valid in a bash variable name
+ local override_name=${PN^^}
override_name=${override_name//-/_}
local var
for var in ACCT_USER_{ID,COMMENT,SHELL,HOME{,_OWNER,_PERMS},GROUPS}; do
@@ -437,7 +439,7 @@ acct-user_pkg_postinst() {
has "${g}" "${groups[@]}" || del_groups+="${del_groups:+, }${g}"
done
if [[ -n ${del_groups} ]]; then
- local override_name=${ACCT_USER_NAME^^}
+ local override_name=${PN^^}
override_name=${override_name//-/_}
ewarn "Removing user ${ACCT_USER_NAME} from group(s): ${del_groups}"
ewarn "To retain the user's group membership in the local system"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 13:22 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-05-13 13:22 UTC (permalink / raw
To: gentoo-commits
commit: d5eb382b49a78b0ad0283480f8eef68cd97c4739
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Wed May 8 21:19:32 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon May 13 13:13:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5eb382b
acct-group.eclass: make ACCT_GROUP_NAME writable
The ACCT_GROUP_NAME variable is set to $PN by Gentoo policy. Prior to
this commit, it was also marked "readonly", preventing it from being
changed in an ebuild. In an overlay, and combined with the package
naming restrictions in the PMS, this has the unfortunate side effect of
prohibiting some otherwise-valid group names. We drop the "readonly" to
allow those groups to be managed (in overlays) using GLEP81 packages.
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>
eclass/acct-group.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/acct-group.eclass b/eclass/acct-group.eclass
index a0ad86066309..6dd6dc06a07e 100644
--- a/eclass/acct-group.eclass
+++ b/eclass/acct-group.eclass
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: acct-group.eclass
@@ -50,12 +50,12 @@ inherit user-info
# << Eclass variables >>
# @ECLASS_VARIABLE: ACCT_GROUP_NAME
-# @INTERNAL
# @DESCRIPTION:
# The name of the group. This is forced to ${PN} and the policy
-# prohibits it from being changed.
+# prohibits it from being changed. The variable is left writable for
+# use in overlays; package naming restrictions would prohibit some
+# otherwise-valid group names.
ACCT_GROUP_NAME=${PN}
-readonly ACCT_GROUP_NAME
# @ECLASS_VARIABLE: ACCT_GROUP_ID
# @REQUIRED
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 13:22 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-05-13 13:22 UTC (permalink / raw
To: gentoo-commits
commit: bd3da28e258a68566d1abe18aa6713594adcd0ff
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Thu May 9 20:17:12 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon May 13 13:13:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd3da28e
eclass/acct-group.eclass: use $PN to construct make.conf override vars
If (after upcasing and replacing hyphens by underscores) ACCT_GROUP_NAME
is set to something that isn't valid in a bash variable name, the eclass
will crash: it uses ACCT_GROUP_NAME to construct the make.conf override
variables in pkg_pretend() and src_install(). This commit constructs the
variable names using PN instead of ACCT_GROUP_NAME. In ::gentoo, the two
are equivalent, but in an overlay this allows weirder group names at the
expense of slightly mismatched variable names.
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>
eclass/acct-group.eclass | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/eclass/acct-group.eclass b/eclass/acct-group.eclass
index 6dd6dc06a07e..2c2c88cfc7e1 100644
--- a/eclass/acct-group.eclass
+++ b/eclass/acct-group.eclass
@@ -96,8 +96,9 @@ acct-group_pkg_pretend() {
[[ ${ACCT_GROUP_ID} -ge -1 ]] || die "Ebuild error: ACCT_GROUP_ID=${ACCT_GROUP_ID} invalid!"
local group_id=${ACCT_GROUP_ID}
- # check for the override
- local override_name=${ACCT_GROUP_NAME^^}
+ # check for the override, use PN in case this is an overlay and
+ # ACCT_GROUP_NAME is not PN and not valid in a bash variable name
+ local override_name=${PN^^}
local override_var=ACCT_GROUP_${override_name//-/_}_ID
if [[ -n ${!override_var} ]]; then
group_id=${!override_var}
@@ -132,8 +133,9 @@ acct-group_pkg_pretend() {
acct-group_src_install() {
debug-print-function ${FUNCNAME} "${@}"
- # check for the override
- local override_name=${ACCT_GROUP_NAME^^}
+ # check for the override, use PN in case this is an overlay and
+ # ACCT_GROUP_NAME is not PN and not valid in a bash variable name
+ local override_name=${PN^^}
local override_var=ACCT_GROUP_${override_name//-/_}_ID
if [[ -n ${!override_var} ]]; then
ewarn "${override_var}=${!override_var} override in effect, support will not be provided."
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 8:35 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-05-13 8:35 UTC (permalink / raw
To: gentoo-commits
commit: cc5f4511b43b91f6df2fe63a4194ab596b706a80
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Mon May 13 08:31:53 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Mon May 13 08:31:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc5f4511
texlive-module.eclass: check if texmf-dist/doc/man exists
Closes: https://bugs.gentoo.org/931798
Closes: https://bugs.gentoo.org/931799
Closes: https://bugs.gentoo.org/931800
Closes: https://bugs.gentoo.org/931801
Closes: https://bugs.gentoo.org/931802
Closes: https://bugs.gentoo.org/931803
Closes: https://bugs.gentoo.org/931804
Closes: https://bugs.gentoo.org/931805
Closes: https://bugs.gentoo.org/931806
Closes: https://bugs.gentoo.org/931807
Closes: https://bugs.gentoo.org/931808
Closes: https://bugs.gentoo.org/931809
Closes: https://bugs.gentoo.org/931810
Closes: https://bugs.gentoo.org/931811
Closes: https://bugs.gentoo.org/931812
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-module.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index da33e25a39dc..0daca41961ff 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -360,7 +360,7 @@ texlive-module_src_install() {
cp -pR texmf-doc "${ED}/usr/share/" || die
fi
- if ver_test -ge 2023 && [[ ${CATEGORY} == dev-texlive ]]; then
+ if ver_test -ge 2023 && [[ -d texmf-dist/doc/man && ${CATEGORY} == dev-texlive ]]; then
local texlive_core_man_pages=(
afm2pl.1
aleph.1
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 7:07 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-05-13 7:07 UTC (permalink / raw
To: gentoo-commits
commit: 0a8b1dd5b29020e81f14a5aeb13fd5a73d850e23
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Mon May 13 05:17:22 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Mon May 13 07:07:17 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a8b1dd5
ant-tasks.eclass: drop ant-tasks.eclass
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/36659
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/ant-tasks.eclass | 172 ------------------------------------------------
1 file changed, 172 deletions(-)
diff --git a/eclass/ant-tasks.eclass b/eclass/ant-tasks.eclass
deleted file mode 100644
index 2b10e0f3e1e0..000000000000
--- a/eclass/ant-tasks.eclass
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 2007-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# @ECLASS: ant-tasks.eclass
-# @MAINTAINER:
-# java@gentoo.org
-# @AUTHOR:
-# Vlastimil Babka <caster@gentoo.org>
-# @SUPPORTED_EAPIS: 7
-# @PROVIDES: java-utils-2
-# @BLURB: Eclass for building dev-java/ant-* packages
-# @DESCRIPTION:
-# This eclass provides functionality and default ebuild variables for building
-# dev-java/ant-* packages easily.
-
-case ${EAPI} in
- 7) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
-if [[ -z ${_ANT_TASKS_ECLASS} ]]; then
-_ANT_TASKS_ECLASS=1
-
-# we set ant-core dep ourselves, restricted
-JAVA_ANT_DISABLE_ANT_CORE_DEP=true
-# rewriting build.xml for are the testcases has no reason atm
-JAVA_PKG_BSFIX_ALL=no
-inherit java-pkg-2 java-ant-2
-
-# @ECLASS_VARIABLE: ANT_TASK_JDKVER
-# @PRE_INHERIT
-# @DESCRIPTION:
-# Affects the >=virtual/jdk version set in DEPEND string. Defaults to 1.8, can
-# be overridden from ebuild BEFORE inheriting this eclass.
-ANT_TASK_JDKVER=${ANT_TASK_JDKVER-1.8}
-
-# @ECLASS_VARIABLE: ANT_TASK_JREVER
-# @PRE_INHERIT
-# @DESCRIPTION:
-# Affects the >=virtual/jre version set in DEPEND string. Defaults to 1.8, can
-# be overridden from ebuild BEFORE inheriting this eclass.
-ANT_TASK_JREVER=${ANT_TASK_JREVER-1.8}
-
-# @ECLASS_VARIABLE: ANT_TASK_NAME
-# @DESCRIPTION:
-# The name of this ant task as recognized by ant's build.xml, derived from $PN
-# by removing the ant- prefix. Read-only.
-ANT_TASK_NAME="${PN#ant-}"
-
-# @ECLASS_VARIABLE: ANT_TASK_DEPNAME
-# @PRE_INHERIT
-# @DESCRIPTION:
-# Specifies JAVA_PKG_NAME (PN{-SLOT} used with java-pkg_jar-from) of the package
-# that this one depends on. Defaults to the name of ant task, ebuild can
-# override it before inheriting this eclass. In case there is more than one
-# dependency, the variable can be specified as bash array with multiple strings,
-# one for each dependency.
-ANT_TASK_DEPNAME=${ANT_TASK_DEPNAME-${ANT_TASK_NAME}}
-
-# @ECLASS_VARIABLE: ANT_TASK_DISABLE_VM_DEPS
-# @PRE_INHERIT
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# If set, no JDK/JRE deps are added.
-
-# @VARIABLE: ANT_TASK_PV
-# @INTERNAL
-# @DESCRIPTION:
-# Version of ant-core this task is intended to register and thus load with.
-ANT_TASK_PV="${PV}"
-
-# default for final releases
-MY_PV=${PV}
-
-UPSTREAM_PREFIX="mirror://apache/ant/source"
-GENTOO_PREFIX="https://dev.gentoo.org/~fordfrog/distfiles"
-
-# source/workdir name
-MY_P="apache-ant-${MY_PV}"
-
-# Default values for standard ebuild variables, can be overridden from ebuild.
-DESCRIPTION="Apache Ant's optional tasks depending on ${ANT_TASK_DEPNAME}"
-HOMEPAGE="https://ant.apache.org/"
-SRC_URI="${UPSTREAM_PREFIX}/${MY_P}-src.tar.bz2
- ${GENTOO_PREFIX}/ant-${PV}-gentoo.tar.bz2"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="~dev-java/ant-core-${PV}:0"
-DEPEND="${RDEPEND}"
-
-if [[ -z "${ANT_TASK_DISABLE_VM_DEPS}" ]]; then
- RDEPEND+=" >=virtual/jre-${ANT_TASK_JREVER}"
- DEPEND+=" >=virtual/jdk-${ANT_TASK_JDKVER}"
-fi
-
-# Would run the full ant test suite for every ant task
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_P}"
-
-# @FUNCTION: ant-tasks_src_unpack
-# @USAGE: [ base ] [ jar-dep ] [ all ]
-# @DESCRIPTION:
-# The function Is split into two parts, defaults to both of them ('all').
-#
-# base: performs the unpack, build.xml replacement and symlinks ant.jar from
-# ant-core
-#
-# jar-dep: symlinks the jar file(s) from dependency package(s)
-ant-tasks_src_unpack() {
- [[ -z "${1}" ]] && ant-tasks_src_unpack all
-
- while [[ -n "${1}" ]]; do
- case ${1} in
- base)
- unpack ${A}
- cd "${S}"
-
- # replace build.xml with our modified for split building
- if [ -e "${WORKDIR}"/${PV}-build.patch ] ; then
- eapply "${WORKDIR}"/${PV}-build.patch
- else
- mv -f "${WORKDIR}"/build.xml .
- fi
-
- cd lib
- # remove bundled xerces
- rm -f *.jar
-
- # ant.jar to build against
- java-pkg_jar-from --build-only ant-core ant.jar;;
- jar-dep)
- # get jar from the dependency package(s)
- if [[ -n "${ANT_TASK_DEPNAME}" ]]; then
- for depname in "${ANT_TASK_DEPNAME[@]}"; do
- java-pkg_jar-from ${depname}
- done
- fi;;
- all)
- ant-tasks_src_unpack base jar-dep;;
- esac
- shift
- done
-
-}
-
-# @FUNCTION: ant-tasks_src_compile
-# @DESCRIPTION:
-# Compiles the jar with installed ant-core.
-ant-tasks_src_compile() {
- ANT_TASKS="none" eant -Dbuild.dep=${ANT_TASK_NAME} jar-dep
-}
-
-# @FUNCTION: ant-tasks_src_install
-# @DESCRIPTION:
-# Installs the jar and registers its presence for the ant launcher script.
-# Version param ensures it won't get loaded (thus break) when ant-core is
-# updated to newer version.
-ant-tasks_src_install() {
- java-pkg_dojar build/lib/${PN}.jar
- java-pkg_register-ant-task --version "${ANT_TASK_PV}"
-
- # create the compatibility symlink
- dodir /usr/share/ant/lib
- dosym /usr/share/${PN}/lib/${PN}.jar /usr/share/ant/lib/${PN}.jar
-}
-
-fi
-
-EXPORT_FUNCTIONS src_unpack src_compile src_install
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-12 4:51 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-12 4:51 UTC (permalink / raw
To: gentoo-commits
commit: ded2b2cd180ee3896423dca54c4f24962d5c9b0a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun May 12 04:49:41 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun May 12 04:49:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ded2b2cd
flag-o-matic.eclass: allow -mevex512 and -mno-evex512
The whole -m/-mno-* situation needs to be improved in the eclass but
let's do this for now for the benefit of Chromium (see 754d6f5226a532ed086afa276b48e89ffafe0484).
Bug: https://bugs.gentoo.org/931623
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 0e5271c7824f..ecac452aa0ef 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -139,6 +139,8 @@ _setup-allowed-flags() {
-mno-fxsr -mno-hle -mno-rtm -mno-xsave -mno-xsaveopt
# gcc 4.9
-mno-avx512cd -mno-avx512er -mno-avx512f -mno-avx512pf -mno-sha
+
+ -mevex512 -mno-evex512
)
# Allow some safe individual flags. Should come along with the bug reference.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11 13:39 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-11 13:39 UTC (permalink / raw
To: gentoo-commits
commit: 612110afb9863977815127fa296628fd4c99b701
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 13:36:54 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat May 11 13:36:54 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=612110af
Add 19.0.0_pre20240509 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 623a7c1f3f4a..3ada7d2a373b 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_pre20240509)
+ EGIT_COMMIT=a7ee81e8279e0bf6e05617a4a638e5f2f8e45022
+ ;;
19.0.0_pre20240504)
EGIT_COMMIT=76aa042dde6ba9ba57c680950f5818259ee02690
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11 6:44 Joonas Niilola
0 siblings, 0 replies; 6228+ messages in thread
From: Joonas Niilola @ 2024-05-11 6:44 UTC (permalink / raw
To: gentoo-commits
commit: 567cb9242b182006a4b80f9266e3641f422472f0
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 06:41:45 2024 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat May 11 06:44:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=567cb924
go-env.eclass: temporary EAPI guard for EAPI-6
- there are still a handful of EAPI-6 ebuilds which don't support BDEPENDs.
While the has_version check is imperfect without -b switch, this is better
than nothing. I assume gcc[debug] isn't be that widely used either.
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
eclass/go-env.eclass | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index e0987ec7dee7..1a2c9787a146 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -34,7 +34,14 @@ go-env_set_compile_environment() {
use x86 && export GO386=$(go-env_go386)
# XXX: Hack for checking ICE (bug #912152, gcc PR113204)
- has_version -b "sys-devel/gcc[debug]" && filter-lto
+ case ${EAPI} in
+ 6)
+ has_version "sys-devel/gcc[debug]" && filter-lto
+ ;;
+ *)
+ has_version -b "sys-devel/gcc[debug]" && filter-lto
+ ;;
+ esac
export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11 6:21 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2024-05-11 6:21 UTC (permalink / raw
To: gentoo-commits
commit: 2b71eff4ae0058a049cb95d8f43dba38e2ab7008
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 06:20:15 2024 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sat May 11 06:21:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b71eff4
eclass/apache2.eclass: remove rustls dependency
This dependency differs per ebuild and has been moved to the ebuilds.
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/apache-2.eclass | 1 -
1 file changed, 1 deletion(-)
diff --git a/eclass/apache-2.eclass b/eclass/apache-2.eclass
index 17b8b0e2a64a..352337f551d6 100644
--- a/eclass/apache-2.eclass
+++ b/eclass/apache-2.eclass
@@ -162,7 +162,6 @@ RDEPEND="
apache2_modules_session_crypto? (
dev-libs/apr-util[openssl]
)
- apache2_modules_tls? ( >=net-libs/rustls-ffi-0.9.2:= <net-libs/rustls-ffi-11 )
gdbm? ( sys-libs/gdbm:= )
ldap? ( net-nds/openldap:= )
selinux? ( sec-policy/selinux-apache )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11 1:58 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-11 1:58 UTC (permalink / raw
To: gentoo-commits
commit: 31791351d915acb4db8135beb1a2a107538daeeb
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 01:52:04 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 11 01:52:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31791351
alternatives.eclass: support EAPI 8
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/alternatives.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/alternatives.eclass b/eclass/alternatives.eclass
index 2489fc67359a..7871e7f42b4a 100644
--- a/eclass/alternatives.eclass
+++ b/eclass/alternatives.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: alternatives.eclass
@@ -6,7 +6,7 @@
# maintainer-needed@gentoo.org
# @AUTHOR:
# Alastair Tse <liquidx@gentoo.org> (03 Oct 2003)
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Creates symlink to the latest version of multiple slotted packages.
# @DESCRIPTION:
# When a package is SLOT'ed, very often we need to have a symlink to the
@@ -42,7 +42,7 @@
# consider using this unless you are want to do something special.
case ${EAPI} in
- 7) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11 0:55 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-11 0:55 UTC (permalink / raw
To: gentoo-commits
commit: 4d6705884ff5a06e8dbbbd86d0b4f8decf300275
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 00:54:29 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 11 00:54:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d670588
go-env.eclass: update GCC workaround for LTO
Not fixed upstream yet so change workaround to look for sys-devel/gcc[debug]
instead as 14 is released now.
Bug: https://bugs.gentoo.org/912152
Signed-off-by: Sam James <sam <AT> 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 baba0d3ee8b3..e0987ec7dee7 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -34,7 +34,7 @@ go-env_set_compile_environment() {
use x86 && export GO386=$(go-env_go386)
# XXX: Hack for checking ICE (bug #912152, gcc PR113204)
- [[ $(gcc-fullversion) == 14.0.1 ]] && filter-lto
+ has_version -b "sys-devel/gcc[debug]" && filter-lto
export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-10 17:28 UTC (permalink / raw
To: gentoo-commits
commit: 9923973f58e7f5af1b1b53d9077b210224fc81b0
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 4 10:18:43 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 10 17:27:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9923973f
perl-module.eclass: stop using ${D} for Module::Build in src_configure
See https://github.com/Perl-Toolchain-Gang/Module-Build/blob/a2ecdf98c25af7dfc7070280232513e8ccec4986/lib/Module/Build/Cookbook.pm#L122.
Bug: https://bugs.gentoo.org/778806
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/perl-module.eclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index fd1af4f945b1..9e3cfab16f94 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -272,7 +272,6 @@ perl-module_src_configure() {
set -- \
--installdirs=vendor \
--libdoc= \
- --destdir="${D}" \
--create_packlist=1 \
--config ar="$(tc-getAR)" \
--config cc="$(tc-getCC)" \
@@ -439,7 +438,7 @@ perl-module_src_install() {
if [[ -f Build ]]; then
mytargets="${mytargets:-install}"
- mbparams="${mbparams:---pure}"
+ mbparams="${mbparams:---destdir="${D}" --pure}"
einfo "./Build ${mytargets} ${mbparams}"
./Build ${mytargets} ${mbparams} \
|| die "./Build ${mytargets} ${mbparams} failed"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-10 17:28 UTC (permalink / raw
To: gentoo-commits
commit: 0831622e109dde6f781219c904f7b275c1b8877f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 4 08:39:43 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 10 17:27:03 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0831622e
perl-module.eclass: respect toolchain variables for Module::Build via --config ...
Based off https://github.com/Perl-Toolchain-Gang/Module-Build/blob/a2ecdf98c25af7dfc7070280232513e8ccec4986/lib/Module/Build/Cookbook.pm#L63.
Bug: https://bugs.gentoo.org/261375
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/perl-module.eclass | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 029fc78e4a85..fd1af4f945b1 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.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: perl-module.eclass
@@ -274,6 +274,15 @@ perl-module_src_configure() {
--libdoc= \
--destdir="${D}" \
--create_packlist=1 \
+ --config ar="$(tc-getAR)" \
+ --config cc="$(tc-getCC)" \
+ --config ld="$(tc-getCC)" \
+ --config cpp="$(tc-getCPP)" \
+ --config nm="$(tc-getNM)" \
+ --config ranlib="$(tc-getRANLIB)" \
+ --config ccflags="${CFLAGS}" \
+ --config optimize="${CFLAGS}" \
+ --config ldflags="${LDFLAGS}" \
"${myconf_local[@]}"
einfo "perl Build.PL" "$@"
perl Build.PL "$@" <<< "${pm_echovar}" \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-10 17:28 UTC (permalink / raw
To: gentoo-commits
commit: 9be198be536915b3e9f3da57eca25c90d7ca3214
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 4 10:24:28 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 10 17:27:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9be198be
perl-module.eclass: stop using ${D} for MakeMaker in src_configure
See https://metacpan.org/dist/ExtUtils-MakeMaker/view/lib/ExtUtils/MakeMaker.pm#DESTDIR.
Bug: https://bugs.gentoo.org/778806
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/perl-module.eclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 9e3cfab16f94..aed16b41df89 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -292,7 +292,6 @@ perl-module_src_configure() {
PREFIX="${EPREFIX}"/usr \
INSTALLDIRS=vendor \
INSTALLMAN3DIR='none' \
- DESTDIR="${D}" \
"${myconf_local[@]}"
einfo "perl Makefile.PL" "$@"
perl Makefile.PL "$@" <<< "${pm_echovar}" \
@@ -452,7 +451,7 @@ perl-module_src_install() {
else
local myinst_local=("${myinst[@]}")
fi
- emake "${myinst_local[@]}" ${mytargets}
+ emake DESTDIR="${D}" "${myinst_local[@]}" ${mytargets}
fi
case ${EAPI} in
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-10 17:28 UTC (permalink / raw
To: gentoo-commits
commit: e8ba6eb2883553aec1e45c819924e3453c532fd3
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 4 10:35:06 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 10 17:27:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8ba6eb2
perl-module.eclass: sort toolchain vars
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/perl-module.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index eb496e4a64df..f32c2c237d05 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -275,8 +275,8 @@ perl-module_src_configure() {
--create_packlist=1 \
--config ar="$(tc-getAR)" \
--config cc="$(tc-getCC)" \
- --config ld="$(tc-getCC)" \
--config cpp="$(tc-getCPP)" \
+ --config ld="$(tc-getCC)" \
--config nm="$(tc-getNM)" \
--config ranlib="$(tc-getRANLIB)" \
--config ccflags="${CFLAGS}" \
@@ -291,8 +291,8 @@ perl-module_src_configure() {
set -- \
AR="$(tc-getAR)" \
CC="$(tc-getCC)" \
- LD="$(tc-getCC)" \
CPP="$(tc-getCPP)" \
+ LD="$(tc-getCC)" \
NM="$(tc-getNM)" \
RANLIB="$(tc-getRANLIB)" \
OPTIMIZE="${CFLAGS}" \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-10 17:28 UTC (permalink / raw
To: gentoo-commits
commit: 3a650e223a09b0616a4e619c73cc033478fb7a61
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 4 10:32:18 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 10 17:27:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a650e22
perl-module.eclass: respect toolchain environment for MakeMaker
based on https://bugs.gentoo.org/261375#c5 and https://metacpan.org/dist/ExtUtils-MakeMaker/view/lib/ExtUtils/MakeMaker.pm#OPTIMIZE.
Bug: https://bugs.gentoo.org/261375
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/perl-module.eclass | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index aed16b41df89..eb496e4a64df 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -289,6 +289,14 @@ perl-module_src_configure() {
elif [[ -f Makefile.PL ]] ; then
einfo "Using ExtUtils::MakeMaker"
set -- \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC)" \
+ CPP="$(tc-getCPP)" \
+ NM="$(tc-getNM)" \
+ RANLIB="$(tc-getRANLIB)" \
+ OPTIMIZE="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
PREFIX="${EPREFIX}"/usr \
INSTALLDIRS=vendor \
INSTALLMAN3DIR='none' \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-09 19:54 Conrad Kostecki
0 siblings, 0 replies; 6228+ messages in thread
From: Conrad Kostecki @ 2024-05-09 19:54 UTC (permalink / raw
To: gentoo-commits
commit: fd708545f0ecc491e196c6043080c0c4c09eb441
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Mon Apr 8 18:58:17 2024 +0000
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Thu May 9 19:54:02 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd708545
eclass/vim-spell.eclass: support EAPI8
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/36166
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
eclass/vim-spell.eclass | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/eclass/vim-spell.eclass b/eclass/vim-spell.eclass
index 855518d23e5b..607771ae8035 100644
--- a/eclass/vim-spell.eclass
+++ b/eclass/vim-spell.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: vim-spell.eclass
@@ -6,7 +6,7 @@
# Vim Maintainers <vim@gentoo.org>
# @AUTHOR:
# Ciaran McCreesh <ciaranm@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: Eclass for managing Vim spell files.
# @DESCRIPTION:
# How to make a vim spell file package using prebuilt spell lists
@@ -39,15 +39,14 @@
# <?xml version="1.0" encoding="UTF-8"?>
# <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
# <pkgmetadata>
-# <maintainer type="person">
-# <email>your@email.tld</email>
-# <name>Your Name</name>
-# </maintainer>
-# <maintainer type="project">
-# <email>vim@gentoo.org</email>
-# <name>Vim Maintainers</name>
-# </maintainer>
-#
+# <maintainer type="person">
+# <email>your@email.tld</email>
+# <name>Your Name</name>
+# </maintainer>
+# <maintainer type="project">
+# <email>vim@gentoo.org</email>
+# <name>Vim Maintainers</name>
+# </maintainer>
# <longdescription lang="en">
# Vim spell files for French (fr). Supported character sets are
# UTF-8 and latin1.
@@ -64,7 +63,7 @@
# for another language rather than keeping them Gentoo-specific.
case ${EAPI} in
- 6|7) ;;
+ 6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-09 19:54 Conrad Kostecki
0 siblings, 0 replies; 6228+ messages in thread
From: Conrad Kostecki @ 2024-05-09 19:54 UTC (permalink / raw
To: gentoo-commits
commit: d08d86d18206b5d91330f1a91a3331d197205ed4
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Mon Apr 8 18:48:14 2024 +0000
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Thu May 9 19:54:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d08d86d1
eclass/freedict.eclass: support EAPI8
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/36165
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
eclass/freedict.eclass | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/eclass/freedict.eclass b/eclass/freedict.eclass
index b649afc7c1af..a292e31f5139 100644
--- a/eclass/freedict.eclass
+++ b/eclass/freedict.eclass
@@ -6,14 +6,14 @@
# maintainer-needed@gentoo.org
# @AUTHOR:
# Original author: Seemant Kulleen <seemant@gentoo.org>
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Ease the installation of freedict translation dictionaries
# @DESCRIPTION:
# This eclass exists to ease the installation of freedict translation
# dictionaries.
case ${EAPI} in
- 7) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -23,12 +23,14 @@ _FREEDICT_ECLASS=1
# @ECLASS_VARIABLE: FREEDICT_P
# @DESCRIPTION:
# Strips PN of 'freedict' prefix, to be used in SRC_URI and doins
-FREEDICT_P=${PN/freedict-/}
+FREEDICT_P="${PN/freedict-/}"
[[ ${FORLANG} ]] && die "FORLANG is banned, set DESCRIPTION instead"
[[ ${TOLANG} ]] && die "TOLANG is banned, set DESCRIPTION instead"
-HOMEPAGE="https://freedict.sourceforge.net/en/"
+HOMEPAGE="
+ https://freedict.sourceforge.net/en/
+ https://github.com/freedict/fd-dictionaries"
SRC_URI="https://freedict.sourceforge.net/download/linux/${FREEDICT_P}.tar.gz"
LICENSE="GPL-2+"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-08 8:06 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-05-08 8:06 UTC (permalink / raw
To: gentoo-commits
commit: 4bbeea154b6bf6a5ff93a80e83c5c8ee753c282a
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed May 8 08:01:12 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed May 8 08:01:12 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4bbeea15
epatch.eclass: Mark as DEAD
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/epatch.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/epatch.eclass b/eclass/epatch.eclass
index c42aef8e80d1..ff3fd13721fe 100644
--- a/eclass/epatch.eclass
+++ b/eclass/epatch.eclass
@@ -1,6 +1,7 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# @DEAD
# @ECLASS: epatch.eclass
# @MAINTAINER:
# base-system@gentoo.org
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-07 7:57 Andreas K. Hüttel
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas K. Hüttel @ 2024-05-07 7:57 UTC (permalink / raw
To: gentoo-commits
commit: fc4b35b62d9846c2f5c157225cb35f295badf73a
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 22 00:57:53 2024 +0000
Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Tue May 7 07:55:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc4b35b6
perl-module.eclass: Implement dependency on PERL_FEATURES
Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>
eclass/perl-module.eclass | 47 ++++++++++++++++++++++++++++++++++++-----------
1 file changed, 36 insertions(+), 11 deletions(-)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 7bb02abed8c5..029fc78e4a85 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -44,6 +44,28 @@ esac
# a use-conditional build time dependency on virtual/perl-Test-Simple, and
# the required RESTRICT setting.
+# @ECLASS_VARIABLE: PERL_USEDEP
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# An eclass-generated USE-dependency string for the features of the
+# installed Perl. While by far not as critical as for Python, this should
+# be used to depend at least on Perl packages installing compiled
+# (binary) files.
+#
+# Example use:
+# @CODE
+# RDEPEND=dev-perl/DBI[${PERL_USEDEP}]
+# @CODE
+#
+# Example value:
+# @CODE
+# perl_features_debug=,perl_features_ithreads=,perl_features_quadmath=
+# @CODE
+PERL_USEDEP="perl_features_debug=,perl_features_ithreads=,perl_features_quadmath="
+
+GENTOO_PERL_DEPSTRING=" || ( >=dev-lang/perl-5.38.2-r3[${PERL_USEDEP}] <dev-lang/perl-5.38.2-r3 )"
+GENTOO_PERL_USESTRING="perl_features_debug perl_features_ithreads perl_features_quadmath"
+
case ${EAPI} in
7)
[[ ${CATEGORY} == perl-core ]] && \
@@ -51,14 +73,16 @@ case ${EAPI} in
case "${GENTOO_DEPEND_ON_PERL:-yes}" in
yes)
- DEPEND="dev-lang/perl"
- BDEPEND="dev-lang/perl"
- RDEPEND="dev-lang/perl:="
+ IUSE=${GENTOO_PERL_USESTRING}
+ DEPEND=${GENTOO_PERL_DEPSTRING}
+ BDEPEND=${GENTOO_PERL_DEPSTRING}
+ RDEPEND="${GENTOO_PERL_DEPSTRING} dev-lang/perl:="
;;
noslotop)
- DEPEND="dev-lang/perl"
- BDEPEND="dev-lang/perl"
- RDEPEND="dev-lang/perl"
+ IUSE=${GENTOO_PERL_USESTRING}
+ DEPEND=${GENTOO_PERL_DEPSTRING}
+ BDEPEND=${GENTOO_PERL_DEPSTRING}
+ RDEPEND=${GENTOO_PERL_DEPSTRING}
;;
esac
@@ -78,17 +102,18 @@ case ${EAPI} in
case "${GENTOO_DEPEND_ON_PERL:-yes}" in
yes|noslotop)
- DEPEND="dev-lang/perl"
- BDEPEND="dev-lang/perl
+ IUSE=${GENTOO_PERL_USESTRING}
+ DEPEND=${GENTOO_PERL_DEPSTRING}
+ BDEPEND="${GENTOO_PERL_DEPSTRING}
test? ( >=virtual/perl-Test-Simple-1 )"
- IUSE="test"
+ IUSE+=" test"
RESTRICT="!test? ( test )"
;;&
yes)
- RDEPEND="dev-lang/perl:="
+ RDEPEND="${GENTOO_PERL_DEPSTRING} dev-lang/perl:="
;;
noslotop)
- RDEPEND="dev-lang/perl"
+ RDEPEND=${GENTOO_PERL_DEPSTRING}
;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-06 17:28 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-05-06 17:28 UTC (permalink / raw
To: gentoo-commits
commit: b935d9a5dabe2facdf27d7715d5b72cf5dad561d
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 5 13:10:45 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 6 17:28:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b935d9a5
elisp-common.eclass: Add lexical-binding cookies to generated Lisp files
This suppresses the warning spam in recent Emacs from Git.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/elisp-common.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 8b4c1be99bb7..ad9d3c7e60c6 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -322,7 +322,7 @@ elisp-make-autoload-file() {
ebegin "Generating autoload file for GNU Emacs"
cat >"${f}" <<-EOF
- ;;; ${f##*/} --- autoloads for ${PN}
+ ;;; ${f##*/} --- autoloads for ${PN} -*-lexical-binding:t-*-
;;; Commentary:
;; Automatically generated by elisp-common.eclass
@@ -705,7 +705,7 @@ elisp-site-regen() {
done
cat <<-EOF >"${T}"/site-gentoo.el || ret=$?
- ;;; site-gentoo.el --- site initialisation for Gentoo-installed packages
+ ;;; site-gentoo.el --- Gentoo site initialisation -*-lexical-binding:t-*-
;;; Commentary:
;; Automatically generated by elisp-common.eclass
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-06 17:28 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-05-06 17:28 UTC (permalink / raw
To: gentoo-commits
commit: 4af0ecd6a4b3b781a92e98d2b8e302b5852f7034
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 5 13:11:01 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 6 17:28:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4af0ecd6
Revert "elisp-common.eclass: Set no-native-compile in generated files"
"no-byte-compile: t" implies "no-native-compile: t", therefore this was
redundant.
This reverts commit 2ab9bda58e464656cdf1e31b7e8b293cf1ec0caf.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/elisp-common.eclass | 2 --
1 file changed, 2 deletions(-)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 3d99838a0221..8b4c1be99bb7 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -333,7 +333,6 @@ elisp-make-autoload-file() {
;; Local ${null}Variables:
;; version-control: never
;; no-byte-compile: t
- ;; no-native-compile: t
;; no-update-autoloads: t
;; End:
@@ -723,7 +722,6 @@ elisp-site-regen() {
;; Local ${null}Variables:
;; no-byte-compile: t
- ;; no-native-compile: t
;; buffer-read-only: t
;; End:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-06 17:11 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-05-06 17:11 UTC (permalink / raw
To: gentoo-commits
commit: 25df2b9b57d98be95930ec595206af60db6c340a
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon May 6 16:53:43 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon May 6 17:07:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25df2b9b
linux-mod-r1.eclass: update depmod --config paths for kmod-32
kmod-32's tools/depmod.c adds 'DISTCONFDIR "/depmod.d"' which
is $prefix/lib/depmod.d.
Largely a no-op on merged-usr because of the /lib -> /usr/lib symlink,
but could potentially impact split-usr if both directories get used
(albeit this is only used when a different ROOT is used).
Ordering matches the current depmod.c (etc first, then run, etc...).
On a side-note, kmod-32 also now has configurable /lib/modules path
albeit this is not done on Gentoo at the moment (the default without
the prefix is used). May need updates in the future to figure out
which to use though.
Don't believe this is worth a ML review.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/linux-mod-r1.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 8d384c2b30c8..4b267aae4db1 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -1260,7 +1260,7 @@ _modules_update_depmod() {
# EROOT from -b is not used when looking for configuration
# directories, so pass the whole list from kmod's tools/depmod.c
- --config="${EROOT}"/{etc,run,usr/local/lib,lib}/depmod.d
+ --config="${EROOT}"/{etc,run,{usr/{local/,},}lib}/depmod.d
)
nonfatal edob depmod "${depmodargs[@]}" && return 0
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-06 4:39 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-06 4:39 UTC (permalink / raw
To: gentoo-commits
commit: 46c037e3f73d1b9d19c996d091c2f8b2d6fc5812
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Sun May 5 20:57:36 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon May 6 04:39:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46c037e3
stardict.eclass: stop optionally depending on stardict
Since commit cb140e2e6bf42b5ca7f88f53afd2806c252a6ac4 it hasn't been
available and was in fact removed for being completely dead. There's no
real point in asking for it in the eclass.
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/stardict.eclass | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/eclass/stardict.eclass b/eclass/stardict.eclass
index b69310c7cb18..bd7080ea1229 100644
--- a/eclass/stardict.eclass
+++ b/eclass/stardict.eclass
@@ -56,10 +56,7 @@ SLOT="0"
IUSE="+zlib"
BDEPEND="
- || (
- >=app-text/stardict-2.4.2
- app-text/sdcv
- )
+ app-text/sdcv
zlib? (
app-arch/gzip
app-text/dictd
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-04 19:57 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-04 19:57 UTC (permalink / raw
To: gentoo-commits
commit: 7bc977bbafc2221fed92c92a145c179e5dd3bdd0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 4 19:24:35 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat May 4 19:56:59 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7bc977bb
llvm.org.eclass: Add 19.0.0_pre20240504 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 0f8d55bb0578..623a7c1f3f4a 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_pre20240504)
+ EGIT_COMMIT=76aa042dde6ba9ba57c680950f5818259ee02690
+ ;;
19.0.0_pre20240427)
EGIT_COMMIT=338561657685c1831a53563b1bc36ffc7470239e
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-04 19:57 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-05-04 19:57 UTC (permalink / raw
To: gentoo-commits
commit: 20895df96333b30e3a803de12e64f75b40125ef1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 4 14:53:35 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat May 4 19:56:58 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=20895df9
llvm.org.eclass: Remove old snapshot support
Signed-off-by: Michał Górny <mgorny <AT> 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 3d133f855380..0f8d55bb0578 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_pre20240427)
EGIT_COMMIT=338561657685c1831a53563b1bc36ffc7470239e
;;
- 19.0.0_pre20240420)
- EGIT_COMMIT=f03cd2db91956456f1c5e2da86d3c50183eebd28
- ;;
- 19.0.0_pre20240410)
- EGIT_COMMIT=ee284d2da0720dc21191d6f545504cbfcf5dcbcf
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-03 11:43 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-03 11:43 UTC (permalink / raw
To: gentoo-commits
commit: 691f40a3f2455e23e27c630b7658dd07428ac44a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri May 3 03:22:15 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 3 11:40:09 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=691f40a3
autotools.eclass: conditionalize gnuconfig dependency
Use newly-added GNUCONFIG_DEPEND so that AUTOTOOLS_AUTO_DEPEND=no doesn't
result in a useless dependency on gnuconfig.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/autotools.eclass | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 1ced771c5345..a456e9b9f589 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -33,6 +33,7 @@ _AUTOTOOLS_ECLASS=1
[[ ${EAPI} == 6 ]] && inherit eqawarn
+GNUCONFIG_AUTO_DEPEND=no
inherit gnuconfig libtool
# @ECLASS_VARIABLE: WANT_AUTOCONF
@@ -164,9 +165,12 @@ fi
# @DESCRIPTION:
# Contains the combination of requested automake/autoconf/libtool
# versions in *DEPEND format.
-AUTOTOOLS_DEPEND="${_automake_atom}
+AUTOTOOLS_DEPEND="
+ ${GNUCONFIG_DEPEND}
+ ${_automake_atom}
${_autoconf_atom}
- ${_libtool_atom}"
+ ${_libtool_atom}
+"
RDEPEND=""
# @ECLASS_VARIABLE: AUTOTOOLS_AUTO_DEPEND
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-03 11:43 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-03 11:43 UTC (permalink / raw
To: gentoo-commits
commit: 59b986917e336e0e161ef75bcc0b29b3357686d9
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri May 3 03:20:15 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 3 11:40:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59b98691
gnuconfig.eclass: add GNUCONFIG_DEPEND
The motivation here is to allow autotools.eclass consumers setting
AUTOTOOLS_AUTO_DEPEND=no to not have a useless gnuconfig dependency.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/gnuconfig.eclass | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/eclass/gnuconfig.eclass b/eclass/gnuconfig.eclass
index 0791798632cd..df3c74867608 100644
--- a/eclass/gnuconfig.eclass
+++ b/eclass/gnuconfig.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: gnuconfig.eclass
@@ -24,9 +24,25 @@ esac
if [[ -z ${_GNUCONFIG_ECLASS} ]] ; then
_GNUCONFIG_CLASS=1
-BDEPEND="sys-devel/gnuconfig"
+# @ECLASS_VARIABLE: GNUCONFIG_DEPEND
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# Contains dependency on gnuconfig in *DEPEND format.
+GNUCONFIG_DEPEND="sys-devel/gnuconfig"
-[[ ${EAPI} == [56] ]] && DEPEND="${BDEPEND}"
+# @ECLASS_VARIABLE: GNUCONFIG_AUTO_DEPEND
+# @PRE_INHERIT
+# @DESCRIPTION:
+# Set to 'no' to disable automatically adding to DEPEND. This lets
+# ebuilds form conditional depends by using ${GNUCONFIG_DEPEND} in
+# their own DEPEND string.
+: "${GNUCONFIG_AUTO_DEPEND:=yes}"
+if [[ ${GNUCONFIG_AUTO_DEPEND} != "no" ]] ; then
+ case ${EAPI} in
+ 5|6) DEPEND=${GNUCONFIG_DEPEND} ;;
+ *) BDEPEND=${GNUCONFIG_DEPEND} ;;
+ esac
+fi
# @FUNCTION: gnuconfig_update
# @USAGE: [file1 file2 ...]
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-03 11:43 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-03 11:43 UTC (permalink / raw
To: gentoo-commits
commit: 1bb3b5e672ba80e446b4c9dc27918a80c97c1be9
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri May 3 11:40:27 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 3 11:40:59 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1bb3b5e6
gnuconfig.eclass: drop EAPI 5 support
autotools.eclass hasn't had EAPI 5 support for ~2 years since
50710f3d0e8f19fab5571d9596c336314e96b5cf so this wasn't being used
anyway (non-autotools.eclass use of gnuconfig.eclass is very niche).
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/gnuconfig.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/gnuconfig.eclass b/eclass/gnuconfig.eclass
index df3c74867608..fb73087aeacf 100644
--- a/eclass/gnuconfig.eclass
+++ b/eclass/gnuconfig.eclass
@@ -6,7 +6,7 @@
# Sam James <sam@gentoo.org>
# @AUTHOR:
# Will Woods <wwoods@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: Refresh bundled gnuconfig files (config.guess, config.sub)
# @DESCRIPTION:
# This eclass is used to automatically update files that typically come with
@@ -17,7 +17,7 @@
#
case ${EAPI:-0} in
- 5|6|7|8) ;;
+ 6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -39,7 +39,7 @@ GNUCONFIG_DEPEND="sys-devel/gnuconfig"
: "${GNUCONFIG_AUTO_DEPEND:=yes}"
if [[ ${GNUCONFIG_AUTO_DEPEND} != "no" ]] ; then
case ${EAPI} in
- 5|6) DEPEND=${GNUCONFIG_DEPEND} ;;
+ 6) DEPEND=${GNUCONFIG_DEPEND} ;;
*) BDEPEND=${GNUCONFIG_DEPEND} ;;
esac
fi
@@ -122,7 +122,7 @@ gnuconfig_findnewest() {
local prefix
case ${EAPI} in
- 5|6)
+ 6)
prefix="${EPREFIX}"
;;
*)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-03 2:48 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-03 2:48 UTC (permalink / raw
To: gentoo-commits
commit: 6c5bb90fca515fb854e5c567decd7528df32f354
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu May 2 22:45:02 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 3 02:48:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c5bb90f
xorg-3.eclass: conditionalize autotools deps on XORG_EAUTORECONF
xorg-3.eclass only calls autoreconf if XORG_EAUTORECONF is set, although
the logic got cleaned up more in fae3e3b3eeec2d252ad42afeba11ac8ffeb70c42.
We therefore don't need to depend on autoconf, automake, etc unless
XORG_EAUTORECONF is set. Set AUTOTOOLS_AUTO_DEPEND from autotools.eclass
to opt-out of the auto dependencies and use the AUTOTOOLS_DEPEND variable
it sets when XORG_EAUTORECONF.
Note that libtool.eclass still adds a dep on elt-patches so we're OK
for that part (we call elibtoolize where we can).
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/xorg-3.eclass | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/eclass/xorg-3.eclass b/eclass/xorg-3.eclass
index 21cddc92773d..ee4038533bfd 100644
--- a/eclass/xorg-3.eclass
+++ b/eclass/xorg-3.eclass
@@ -58,6 +58,7 @@ fi
: "${XORG_MULTILIB:="no"}"
# we need to inherit autotools first to get the deps
+AUTOTOOLS_AUTO_DEPEND=no
inherit autotools libtool multilib toolchain-funcs flag-o-matic \
${FONT_ECLASS} ${GIT_ECLASS}
unset FONT_ECLASS GIT_ECLASS
@@ -129,9 +130,7 @@ fi
# Set up autotools shared dependencies
# Remember that all versions here MUST be stable
-EAUTORECONF_DEPEND+="
- >=dev-build/libtool-2.2.6a
- sys-devel/m4"
+EAUTORECONF_DEPEND+=" ${AUTOTOOLS_DEPEND}"
if [[ ${PN} != util-macros ]] ; then
EAUTORECONF_DEPEND+=" >=x11-misc/util-macros-1.18"
# Required even by xorg-server
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-03 2:48 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-03 2:48 UTC (permalink / raw
To: gentoo-commits
commit: 2a0d96794900df3d0b2c25734cd5471468bd3fb0
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu May 2 22:43:24 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 3 02:48:24 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a0d9679
xorg-3.eclass: cleanup autotools logic a bit more
EAUTORECONF_DEPENDS is always empty since 3db70e9c014e415ae38a713b47cf7b299fd11945.
Fixes: 3db70e9c014e415ae38a713b47cf7b299fd11945
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/xorg-3.eclass | 2 --
1 file changed, 2 deletions(-)
diff --git a/eclass/xorg-3.eclass b/eclass/xorg-3.eclass
index dde954ca77aa..21cddc92773d 100644
--- a/eclass/xorg-3.eclass
+++ b/eclass/xorg-3.eclass
@@ -137,9 +137,7 @@ if [[ ${PN} != util-macros ]] ; then
# Required even by xorg-server
[[ ${PN} == "font-util" ]] || EAUTORECONF_DEPEND+=" >=media-fonts/font-util-1.2.0"
fi
-BDEPEND+=" ${EAUTORECONF_DEPENDS}"
[[ ${XORG_EAUTORECONF} != no ]] && BDEPEND+=" ${EAUTORECONF_DEPEND}"
-unset EAUTORECONF_DEPENDS
unset EAUTORECONF_DEPEND
# @ECLASS_VARIABLE: FONT_DIR
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-02 17:44 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-05-02 17:44 UTC (permalink / raw
To: gentoo-commits
commit: 8e1f6270338817598e4ce37e7fc1aa3826298970
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Wed May 1 08:33:44 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Thu May 2 17:44:17 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e1f6270
texlive-module.eclass: install man pages in right location
The TeX Live packages under dev-texlive/* currently do not install the
man pages in the right location. They are under
/usr/share/texmf-dist/doc/man.
Install them at the right location using doman.
Having dev-texlive/* packages installing man pages requires that we
filter man pages already installed by app-text/texlive-core to avoid
file collisions. As a consequence, unfortunately, we have to hard code
the list of man pages installed by texlive-core. Or, at least, folks
from #-tex and myself could not come up with a solution that does not
require hard coding that list.
Thanks to ulm for providing feedback.
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
Thanks-to: Ulrich Müller <ulm <AT> gentoo.org>
eclass/texlive-module.eclass | 187 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 187 insertions(+)
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index 401b75bc4d11..da33e25a39dc 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -359,6 +359,193 @@ texlive-module_src_install() {
if [[ -d texmf-doc ]]; then
cp -pR texmf-doc "${ED}/usr/share/" || die
fi
+
+ if ver_test -ge 2023 && [[ ${CATEGORY} == dev-texlive ]]; then
+ local texlive_core_man_pages=(
+ afm2pl.1
+ aleph.1
+ allcm.1
+ allec.1
+ allneeded.1
+ amstex.1
+ autosp.1
+ axohelp.1
+ bibtex.1
+ chkdvifont.1
+ chktex.1
+ chkweb.1
+ ctangle.1
+ ctie.1
+ ctwill.1
+ ctwill-refsort.1
+ ctwill-twinx.1
+ cweave.1
+ cweb.1
+ detex.1
+ devnag.1
+ deweb.1
+ disdvi.1
+ dt2dv.1
+ dv2dt.1
+ dvi2fax.1
+ dvi2tty.1
+ dvibook.1
+ dviconcat.1
+ dvicopy.1
+ dvidvi.1
+ dvihp.1
+ dvilj.1
+ dvilj2p.1
+ dvilj4.1
+ dvilj4l.1
+ dvilj6.1
+ dvilualatex-dev.1
+ dviluatex.1
+ dvipdfm.1
+ dvipdfmx.1
+ dvipdft.1
+ dvipos.1
+ dvired.1
+ dviselect.1
+ dvispc.1
+ dvitodvi.1
+ dvitomp.1
+ dvitype.1
+ e2pall.1
+ ebb.1
+ eptex.1
+ euptex.1
+ extractbb.1
+ fmtutil.1
+ fmtutil.cnf.5
+ fmtutil-sys.1
+ fontinst.1
+ gftodvi.1
+ gftopk.1
+ gftype.1
+ gsftopk.1
+ hishrink.1
+ histretch.1
+ hitex.1
+ inimf.1
+ initex.1
+ kpsepath.1
+ kpsetool.1
+ kpsewhere.1
+ kpsexpand.1
+ lacheck.1
+ latex.1
+ latex-dev.1
+ luahbtex.1
+ luajittex.1
+ lualatex-dev.1
+ luatex.1
+ makeindex.1
+ makejvf.1
+ mendex.1
+ mf.1
+ mf-nowin.1
+ mft.1
+ mkindex.1
+ mkocp.1
+ mkofm.1
+ mktexfmt.1
+ mktexlsr.1
+ mktexmf.1
+ mktexpk.1
+ mktextfm.1
+ mpost.1
+ msxlint.1
+ odvicopy.1
+ odvitype.1
+ ofm2opl.1
+ opl2ofm.1
+ otangle.1
+ otp2ocp.1
+ outocp.1
+ ovf2ovp.1
+ ovp2ovf.1
+ patgen.1
+ pbibtex.1
+ pdfclose.1
+ pdfetex.1
+ pdflatex.1
+ pdflatex-dev.1
+ pdfopen.1
+ pdftex.1
+ pdftosrc.1
+ pktogf.1
+ pktype.1
+ platex-dev.1
+ pltotf.1
+ pmxab.1
+ pooltype.1
+ ppltotf.1
+ prepmx.1
+ ps2frag.1
+ pslatex.1
+ ptex.1
+ ptftopl.1
+ rubibtex.1
+ rumakeindex.1
+ scor2prt.1
+ synctex.1
+ synctex.5
+ tangle.1
+ tex.1
+ tex2aspc.1
+ texconfig.1
+ texconfig-sys.1
+ texhash.1
+ texlinks.1
+ texlua.1
+ texluac.1
+ tftopl.1
+ tie.1
+ tpic2pdftex.1
+ ttf2afm.1
+ ttfdump.1
+ twill.1
+ upbibtex.1
+ updmap.1
+ updmap.cfg.5
+ updmap-sys.1
+ uplatex-dev.1
+ uppltotf.1
+ uptex.1
+ uptftopl.1
+ vftovp.1
+ vlna.1
+ vptovf.1
+ weave.1
+ xdvipdfmx.1
+ xelatex-dev.1
+ xetex.1
+ xml2pmx.1
+ )
+ local f
+ local grep_expressions=()
+ # Transform texlive_core_man_pages into grep expressions
+ # that will be used to filter out any man page that is
+ # already installed by app-text/texlive-core.
+ for f in "${texlive_core_man_pages[@]}"; do
+ # Ensure that all dots are escaped so that they are
+ # matched literarily. Also wrap the file in '/' and '$'
+ # within the expression.
+ grep_expressions+=(-e "/${f//./\\.}\$")
+ done
+
+ ebegin "Installing man pages"
+ find texmf-dist/doc/man -type f -name '*.[0-9n]' -print |
+ grep -v "${grep_expressions[@]}" |
+ xargs -d '\n' --no-run-if-empty doman
+ [[ "${PIPESTATUS[*]}" =~ ^0(" 0")*$ ]]
+ eend $? || die "error installing man pages"
+
+ # Delete all man pages under texmf-dist/doc/man
+ find texmf-dist/doc/man -type f -name '*.[0-9n]' -delete ||
+ die "error deleting man pages under texmf-dist"
+ fi
else
if [[ -d texmf-dist/doc ]]; then
rm -rf texmf-dist/doc || die
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-02 0:24 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-02 0:24 UTC (permalink / raw
To: gentoo-commits
commit: dcea0f85eec14d826f5704e25f757d05fe420668
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu May 2 00:24:02 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu May 2 00:24:02 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcea0f85
toolchain.eclass: fix validate_failures.py cp for non-gcc
Thanks to matoro for reporting.
Fixes: 5e9a0a17e43d3f5d7d7c1e3a8a7e58f8d26861cf
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 12d31d20d914..25dedd4e5262 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -633,7 +633,7 @@ toolchain_src_prepare() {
fi
if use test ; then
- cp "${DISTDIR}"/${PN}-validate-failures-${GCC_VALIDATE_FAILURES_VERSION}.py "${T}"/validate_failures.py || die
+ cp "${DISTDIR}"/gcc-validate-failures-${GCC_VALIDATE_FAILURES_VERSION}.py "${T}"/validate_failures.py || die
chmod +x "${T}"/validate_failures.py || die
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-01 3:02 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-01 3:02 UTC (permalink / raw
To: gentoo-commits
commit: dca524fbf33c5cf70f912d28b344d9bc82e8ba4e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed May 1 02:34:02 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed May 1 02:34:02 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dca524fb
toolchain.eclass: add another TODO for tests (multilib)
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b2db0f96850a..12d31d20d914 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1894,6 +1894,7 @@ gcc_do_make() {
#---->> src_test <<----
# TODO: add JIT testing
+# TODO: add multilib testing
toolchain_src_test() {
# GCC's testsuite is a special case.
#
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-01 0:27 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-01 0:27 UTC (permalink / raw
To: gentoo-commits
commit: 8724e2f4b41d72d2442c1efd3b340bf9879971a0
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 30 03:18:17 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed May 1 00:26:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8724e2f4
toolchain.eclass: add TODO for JIT
Suggested by Arsen.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 645e18ff27ca..9887bc40c8d9 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1893,6 +1893,7 @@ gcc_do_make() {
#---->> src_test <<----
+# TODO: add JIT testing
toolchain_src_test() {
# GCC's testsuite is a special case.
#
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-01 0:27 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-05-01 0:27 UTC (permalink / raw
To: gentoo-commits
commit: 467c2e2e91f66157ebfc278d7726827c3d8a6e3b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 30 03:16:07 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed May 1 00:26:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=467c2e2e
toolchain.eclass: iterate over older slots if test manifest doesn't exist
Iterate over all known slots (at least those using the "new" SLOT value
from --with-major-version-only since ~GCC 10 in Gentoo) if we couldn't
find a test manifest for GCC_TESTS_COMPARISON_SLOT, rather than expecting
pristine results.
This makes life easier when installing a new slot (or newly enabling
tests for one). It's *particularly* useful, I think, for arch testers
who might want to establish a baseline once but not have to keep doing
it across many chroots for each new slot.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 4d057de7a0f3..645e18ff27ca 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1930,7 +1930,17 @@ toolchain_src_test() {
--manifest="${T}"/${CHOST}.xfail \
--produce_manifest &> /dev/null
- local manifest="${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail"
+ # If there's no manifest available, check older slots, as it's better
+ # than nothing. We start with 10 for the fallback as the first version
+ # we started using --with-major-version-only.
+ local possible_slot
+ for possible_slot in "${GCC_TESTS_COMPARISON_SLOT}" $(seq ${SLOT} -1 10) ; do
+ [[ -f "${GCC_TESTS_COMPARISON_DIR}/${possible_slot}/${CHOST}.xfail" ]] && break
+ done
+ if [[ ${possible_slot} != "${GCC_TESTS_COMPARISON_SLOT}" ]] ; then
+ ewarn "Couldn't find manifest for ${GCC_TESTS_COMPARISON_SLOT}; falling back to ${possible_slot}"
+ fi
+ local manifest="${GCC_TESTS_COMPARISON_DIR}/${possible_slot}/${CHOST}.xfail"
if [[ -f "${manifest}" ]] ; then
# TODO: Distribute some baseline results in e.g. gcc-patches.git?
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-30 19:25 Alfredo Tupone
0 siblings, 0 replies; 6228+ messages in thread
From: Alfredo Tupone @ 2024-04-30 19:25 UTC (permalink / raw
To: gentoo-commits
commit: c84ba1bebef686f74503ec61c9b8eb86ed2adbff
Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 22 18:02:23 2024 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Tue Apr 30 19:24:58 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c84ba1be
Building the ada compiler require both c++ and ada USE flags enabled.
Otherwise drop ada.
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b51f146ce25b..4d057de7a0f3 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2507,7 +2507,7 @@ _tc_use_if_iuse() {
is_ada() {
gcc-lang-supported ada || return 1
- _tc_use_if_iuse ada
+ _tc_use_if_iuse cxx && _tc_use_if_iuse ada
}
is_cxx() {
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-30 19:19 Alfredo Tupone
0 siblings, 0 replies; 6228+ messages in thread
From: Alfredo Tupone @ 2024-04-30 19:19 UTC (permalink / raw
To: gentoo-commits
commit: 74414ea0c4d70c96bbec234df290d7e5f14d8f51
Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 22 18:02:23 2024 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Tue Apr 30 19:19:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=74414ea0
toolchain.eclass: To make "tc_has_feature ada" actually work
tc_has_feature ada is used to add BDEPEND on a ada compiler,.
Without setting TC_FEATURES the test does not work
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index f475b76c8de1..b51f146ce25b 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -300,7 +300,7 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
IUSE+=" go"
IUSE+=" +sanitize" TC_FEATURES+=( sanitize )
IUSE+=" graphite" TC_FEATURES+=( graphite )
- IUSE+=" ada"
+ IUSE+=" ada" TC_FEATURES+=( ada )
IUSE+=" vtv"
IUSE+=" jit"
IUSE+=" +pie +ssp pch"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-30 18:34 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-30 18:34 UTC (permalink / raw
To: gentoo-commits
commit: 88c9b8245a62a58c2a5ad72d83af880d34dab644
Author: Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Fri Apr 12 10:45:14 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Apr 30 18:18:34 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88c9b824
stardict.eclass: inline mirror://sourceforge
bump copyright to 2024
Signed-off-by: Lucio Sauer <watermanpaint <AT> posteo.net>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/stardict.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/stardict.eclass b/eclass/stardict.eclass
index 080c01f92470..b69310c7cb18 100644
--- a/eclass/stardict.eclass
+++ b/eclass/stardict.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: stardict.eclass
@@ -48,7 +48,7 @@ if [[ -n ${FROM_LANG} && -n ${TO_LANG} ]]; then
fi
HOMEPAGE="http://stardict.sourceforge.net/"
-SRC_URI="mirror://sourceforge/stardict/${DICT_P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/stardict/${DICT_P}.tar.bz2"
S="${WORKDIR}/${DICT_P}"
LICENSE="GPL-2"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-30 18:34 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-30 18:34 UTC (permalink / raw
To: gentoo-commits
commit: 67defaf332550f88f0d23963dffbecdac5d3bdff
Author: Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Fri Apr 12 10:44:11 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Apr 30 18:18:33 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67defaf3
ruby-ng-gnome2.eclass: inline mirror://sourceforge
bump copyright to 2024
Signed-off-by: Lucio Sauer <watermanpaint <AT> posteo.net>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/ruby-ng-gnome2.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/ruby-ng-gnome2.eclass b/eclass/ruby-ng-gnome2.eclass
index e6636811aacc..e10f1e625993 100644
--- a/eclass/ruby-ng-gnome2.eclass
+++ b/eclass/ruby-ng-gnome2.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: ruby-ng-gnome2.eclass
@@ -44,7 +44,7 @@ BDEPEND="virtual/pkgconfig"
ruby_add_bdepend "
dev-ruby/pkg-config
test? ( >=dev-ruby/test-unit-2 )"
-SRC_URI="mirror://sourceforge/ruby-gnome2/ruby-gnome2-all-${PV}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/ruby-gnome2/ruby-gnome2-all-${PV}.tar.gz"
HOMEPAGE="https://ruby-gnome.github.io/"
LICENSE="LGPL-2.1+"
SLOT="0"
@@ -52,7 +52,7 @@ if ver_test -ge "3.4.0"; then
SRC_URI="https://github.com/ruby-gnome/ruby-gnome/archive/${PV}.tar.gz -> ruby-gnome2-${PV}.tar.gz"
RUBY_S=ruby-gnome-${PV}/${RUBY_FAKEGEM_NAME}
else
- SRC_URI="mirror://sourceforge/ruby-gnome2/ruby-gnome2-all-${PV}.tar.gz"
+ SRC_URI="https://downloads.sourceforge.net/ruby-gnome2/ruby-gnome2-all-${PV}.tar.gz"
RUBY_S=ruby-gnome2-all-${PV}/${RUBY_FAKEGEM_NAME}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-30 5:58 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-04-30 5:58 UTC (permalink / raw
To: gentoo-commits
commit: 8cae9d4db1c14e18dafb28853f722aac6784b34a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 30 05:56:25 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Apr 30 05:56:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8cae9d4d
toolchain.eclass: wire up TC_FEATURES for rust
Otherwise we don't actually end up adding a BDEPEND for USE=rust.
Closes: https://bugs.gentoo.org/930953
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a5d4345e7fbf..f475b76c8de1 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -320,7 +320,7 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
# See https://gcc.gnu.org/pipermail/gcc-patches/2023-April/615944.html
# and https://rust-gcc.github.io/2023/04/24/gccrs-and-gcc13-release.html for why
# it was disabled in 13.
- tc_version_is_at_least 14.0.0_pre20230423 ${PV} && IUSE+=" rust"
+ tc_version_is_at_least 14.0.0_pre20230423 ${PV} && IUSE+=" rust" TC_FEATURES+=( rust )
fi
if tc_version_is_at_least 10; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-29 17:31 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-04-29 17:31 UTC (permalink / raw
To: gentoo-commits
commit: ac62beddba2f03695f0d2a223c6f6463713b4e41
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 28 08:32:09 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Mon Apr 29 17:31:28 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac62bedd
texlive-common.eclass: add newline between tlpobj entries in tlpdb
We previously created the texlive.tlpdb by concatenating all tlpobj
files. This means that the entries will be right after another.
As it turns out, some TeX Live tools require a newline (e.g., tlmgr)
between the entries, while others do not (e.g., texdoc). And the
"official" tlpdb also has the entries separated by newlines. Therefore
this changes texlive-common_update_tlpdb() to also add them.
Thanks to ulm for showing how this can be done with sed.
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
Thanks-to: Ulrich Müller <ulm <AT> gentoo.org>
eclass/texlive-common.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/texlive-common.eclass b/eclass/texlive-common.eclass
index b32ea2af1121..15d475799a88 100644
--- a/eclass/texlive-common.eclass
+++ b/eclass/texlive-common.eclass
@@ -270,9 +270,11 @@ texlive-common_update_tlpdb() {
touch "${new_tlpdb}" || die
if [[ -d "${tlpobj}" ]]; then
+ # The "sed -s '$G' below concatenates all tlpobj files separated
+ # by a newline.
find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 |
sort -z |
- xargs -0 --no-run-if-empty cat >> "${new_tlpdb}"
+ xargs -0 --no-run-if-empty sed -s '$G' >> "${new_tlpdb}"
assert "generating tlpdb failed"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-28 15:54 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-28 15:54 UTC (permalink / raw
To: gentoo-commits
commit: 89163226f17ce8a679409592038137f97bf6c68c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 28 15:52:59 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Apr 28 15:53:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89163226
eclass/apache2.eclass: Revert "use fcaps eclass to set capabilities"
This is causing fatal postinst errors with some USE flag combinations.
Reverts: 8b19280613e0efdbd5dd39860e835565e6a48c0e
Bug: https://bugs.gentoo.org/930455
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/apache-2.eclass | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/eclass/apache-2.eclass b/eclass/apache-2.eclass
index 9c7369514c5d..17b8b0e2a64a 100644
--- a/eclass/apache-2.eclass
+++ b/eclass/apache-2.eclass
@@ -13,7 +13,7 @@
# and inter-module dependency checking.
LUA_COMPAT=( lua5-{1..4} )
-inherit autotools fcaps flag-o-matic lua-single multilib ssl-cert toolchain-funcs
+inherit autotools flag-o-matic lua-single multilib ssl-cert toolchain-funcs
[[ ${CATEGORY}/${PN} != www-servers/apache ]] \
&& die "Do not use this eclass with anything else than www-servers/apache ebuilds!"
@@ -666,8 +666,6 @@ apache-2_src_install() {
fperms 4710 /usr/sbin/suexec
# provide legacy symlink for suexec, bug 177697
dosym /usr/sbin/suexec /usr/sbin/suexec2
- else
- FILECAPS=( cap_setgid,cap_setuid=ep usr/sbin/suexec )
fi
fi
@@ -687,8 +685,6 @@ apache-2_src_install() {
# because the default webroot is a copy of the files that exist elsewhere and we
# don't want them to be managed/removed by portage when apache is upgraded.
apache-2_pkg_postinst() {
- fcaps_pkg_postinst || die "fcaps_pkg_postinst"
-
if use ssl && [[ ! -e "${EROOT}/etc/ssl/apache2/server.pem" ]]; then
SSL_ORGANIZATION="${SSL_ORGANIZATION:-Apache HTTP Server}"
install_cert /etc/ssl/apache2/server
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-28 9:47 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2024-04-28 9:47 UTC (permalink / raw
To: gentoo-commits
commit: 8b19280613e0efdbd5dd39860e835565e6a48c0e
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 28 09:44:36 2024 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sun Apr 28 09:47:33 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b192806
eclass/apache2.eclass: use fcaps eclass to set capabilities
Thanks to Manuel Mausz for the bug report and initial patch.
Closes: https://bugs.gentoo.org/930455
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/apache-2.eclass | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/eclass/apache-2.eclass b/eclass/apache-2.eclass
index 17b8b0e2a64a..9c7369514c5d 100644
--- a/eclass/apache-2.eclass
+++ b/eclass/apache-2.eclass
@@ -13,7 +13,7 @@
# and inter-module dependency checking.
LUA_COMPAT=( lua5-{1..4} )
-inherit autotools flag-o-matic lua-single multilib ssl-cert toolchain-funcs
+inherit autotools fcaps flag-o-matic lua-single multilib ssl-cert toolchain-funcs
[[ ${CATEGORY}/${PN} != www-servers/apache ]] \
&& die "Do not use this eclass with anything else than www-servers/apache ebuilds!"
@@ -666,6 +666,8 @@ apache-2_src_install() {
fperms 4710 /usr/sbin/suexec
# provide legacy symlink for suexec, bug 177697
dosym /usr/sbin/suexec /usr/sbin/suexec2
+ else
+ FILECAPS=( cap_setgid,cap_setuid=ep usr/sbin/suexec )
fi
fi
@@ -685,6 +687,8 @@ apache-2_src_install() {
# because the default webroot is a copy of the files that exist elsewhere and we
# don't want them to be managed/removed by portage when apache is upgraded.
apache-2_pkg_postinst() {
+ fcaps_pkg_postinst || die "fcaps_pkg_postinst"
+
if use ssl && [[ ! -e "${EROOT}/etc/ssl/apache2/server.pem" ]]; then
SSL_ORGANIZATION="${SSL_ORGANIZATION:-Apache HTTP Server}"
install_cert /etc/ssl/apache2/server
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-27 10:42 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-27 10:42 UTC (permalink / raw
To: gentoo-commits
commit: 704658993ee1d1bef6ebefca0cd8328266390e60
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 27 10:33:54 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Apr 27 10:42:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70465899
llvm.org.eclass: Add 19.0.0_pre20240427 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 49e600bdaf04..3d133f855380 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_pre20240427)
+ EGIT_COMMIT=338561657685c1831a53563b1bc36ffc7470239e
+ ;;
19.0.0_pre20240420)
EGIT_COMMIT=f03cd2db91956456f1c5e2da86d3c50183eebd28
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-25 20:43 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-04-25 20:43 UTC (permalink / raw
To: gentoo-commits
commit: 7a3fc14e6be7b2df5854d9ddc85cb543eeea1caf
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 23 18:50:42 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Apr 25 20:42:37 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a3fc14e
gear.kde.org.eclass: Add post-24.02 release SLOT=5 blocklist
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/gear.kde.org.eclass | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/eclass/gear.kde.org.eclass b/eclass/gear.kde.org.eclass
index f3a3c56369ad..e0d0a8640b5b 100644
--- a/eclass/gear.kde.org.eclass
+++ b/eclass/gear.kde.org.eclass
@@ -251,4 +251,17 @@ if $(ver_test -gt 24.01.75); then
esac
fi
+# list of applications ported to KF6 post-24.02 in SLOT=6 having to block SLOT=5
+if $(ver_test -gt 24.04.75); then
+ case ${PN} in
+ audex | \
+ itinerary | \
+ kio-perldoc | \
+ kolourpaint | \
+ signon-kwallet-extension)
+ RDEPEND+=" !${CATEGORY}/${PN}:5" ;;
+ *) ;;
+ esac
+fi
+
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-25 20:43 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-04-25 20:43 UTC (permalink / raw
To: gentoo-commits
commit: 70a0b3a104fbce20ee72549dbc3f96115dce5c46
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 4 14:17:19 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Apr 25 20:42:37 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70a0b3a1
ecm.eclass: Restrict ECM_TEST="optional" and punting dep to _KFSLOT=5
In dev-qt/qtbase:6, Qt6Test is always provided so it makes no sense to
go through the trouble of ripping out the build dependency.
We should still aim to avoid needless building of tests if not requested,
either by detecting unconditional use of ecm_add_test or expose existing
force* logic to ebuild developers to catch those as errors.
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm.eclass | 50 +++++++++++++++++++++++++++++---------------------
1 file changed, 29 insertions(+), 21 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index d83320e991ed..6d64815984cc 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -125,20 +125,21 @@ fi
# @ECLASS_VARIABLE: ECM_TEST
# @DEFAULT_UNSET
# @DESCRIPTION:
-# Will accept "true", "false", "optional", "forceoptional",
-# "forceoptional-recursive".
+# Will accept "true", "false", "forceoptional", and "forceoptional-recursive".
+# For KF5-based ebuilds, additionally accepts "optional".
# Default value is "false", except for CATEGORY=kde-frameworks where it is
# set to "true". If set to "false", do nothing.
-# For any other value, add "test" to IUSE (and for KF5 DEPEND on
-# dev-qt/qttest:5). If set to "optional", build with
-# -DCMAKE_DISABLE_FIND_PACKAGE_Qt${_KFSLOT}Test=ON when USE=!test. If set
-# to "forceoptional", punt Qt${_KFSLOT}Test dependency and ignore "autotests",
-# "test", "tests" subdirs from top-level CMakeLists.txt when USE=!test.
-# If set to "forceoptional-recursive", punt Qt${_KFSLOT}Test dependencies and
-# make autotest(s), unittest(s) and test(s) subdirs from *any* CMakeLists.txt
-# in ${S} and below conditional on BUILD_TESTING when USE=!test. This is always
-# meant as a short-term fix and creates ${T}/${P}-tests-optional.patch to
-# refine and submit upstream.
+# For any other value, add "test" to IUSE. If set to "forceoptional", ignore
+# "autotests", "test", "tests" subdirs from top-level CMakeLists.txt when
+# USE=!test. If set to "forceoptional-recursive", make autotest(s), unittest(s)
+# and test(s) subdirs from *any* CMakeLists.txt in ${S} and below conditional
+# on BUILD_TESTING when USE=!test. This is always meant as a short-term fix and
+# creates ${T}/${P}-tests-optional.patch to refine and submit upstream.
+# For KF5-based ebuilds:
+# Additionally DEPEND on dev-qt/qttest:5 if USE=test, but punt Qt5Test
+# dependency if set to "forceoptional*" with USE=!test.
+# If set to "optional", build with -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=ON
+# when USE=!test.
if [[ ${CATEGORY} = kde-frameworks ]]; then
: "${ECM_TEST:=true}"
fi
@@ -258,13 +259,13 @@ case ${ECM_QTHELP} in
esac
case ${ECM_TEST} in
- true|optional|forceoptional|forceoptional-recursive)
- IUSE+=" test"
- if [[ ${_KFSLOT} == 5 ]]; then
- DEPEND+=" test? ( dev-qt/qttest:${_KFSLOT} )"
+ optional)
+ if [[ ${_KFSLOT} != 5 ]]; then
+ eerror "Banned value for \${ECM_TEST}"
+ die "Value ${ECM_TEST} is only supported in KF5"
fi
- RESTRICT+=" !test? ( test )"
;;
+ true|forceoptional|forceoptional-recursive) ;;
false) ;;
*)
eerror "Unknown value for \${ECM_TEST}"
@@ -277,10 +278,17 @@ BDEPEND+="
>=kde-frameworks/extra-cmake-modules-${KFMIN}:*
"
RDEPEND+=" >=kde-frameworks/kf-env-4"
+if [[ ${ECM_TEST} != false ]]; then
+ IUSE+=" test"
+ RESTRICT+=" !test? ( test )"
+fi
if [[ ${_KFSLOT} == 6 ]]; then
COMMONDEPEND+=" dev-qt/qtbase:${_KFSLOT}"
else
COMMONDEPEND+=" dev-qt/qtcore:${_KFSLOT}"
+ if [[ ${ECM_TEST} != false ]]; then
+ DEPEND+=" test? ( dev-qt/qttest:5 )"
+ fi
fi
DEPEND+=" ${COMMONDEPEND}"
@@ -498,11 +506,11 @@ ecm_src_prepare() {
# only build unit tests when required
if ! { in_iuse test && use test; } ; then
if [[ ${ECM_TEST} = forceoptional ]] ; then
- ecm_punt_qt_module Test
+ [[ ${_KFSLOT} = 5 ]] && ecm_punt_qt_module Test
# if forceoptional, also cover non-kde categories
cmake_comment_add_subdirectory autotests test tests
elif [[ ${ECM_TEST} = forceoptional-recursive ]] ; then
- ecm_punt_qt_module Test
+ [[ ${_KFSLOT} = 5 ]] && ecm_punt_qt_module Test
local f pf="${T}/${P}"-tests-optional.patch
touch ${pf} || die "Failed to touch patch file"
for f in $(find . -type f -name "CMakeLists.txt" -exec \
@@ -552,8 +560,8 @@ ecm_src_configure() {
if in_iuse test && ! use test ; then
cmakeargs+=( -DBUILD_TESTING=OFF )
- if [[ ${ECM_TEST} = optional ]] ; then
- cmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt${_KFSLOT}Test=ON )
+ if [[ ${_KFSLOT} = 5 && ${ECM_TEST} = optional ]] ; then
+ cmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=ON )
fi
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-23 21:43 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-04-23 21:43 UTC (permalink / raw
To: gentoo-commits
commit: 8029ca0fccafaa2be3511da7998175c4845d44c0
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 23 21:40:57 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Apr 23 21:40:57 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8029ca0f
eutils.eclass: fix @DEAD tag
```
eutils.eclass:
error:10: eutils.eclass: unknown keyword @DEAD
```
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/eutils.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass
index bdcc7e110fd5..1e36c78f7780 100644
--- a/eclass/eutils.eclass
+++ b/eclass/eutils.eclass
@@ -1,13 +1,13 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# @DEAD
# @ECLASS: eutils.eclass
# @MAINTAINER:
# base-system@gentoo.org
# @SUPPORTED_EAPIS: 6
# @BLURB: many extra (but common) functions that are used in ebuilds
# @DEPRECATED: native package manager functions, more specific eclasses
-# @DEAD
if [[ -z ${_EUTILS_ECLASS} ]]; then
_EUTILS_ECLASS=1
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-22 3:14 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-04-22 3:14 UTC (permalink / raw
To: gentoo-commits
commit: 28fca56a1639578fc58de1e8310b7c94a5e12e09
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 22 03:13:04 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Apr 22 03:13:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28fca56a
toolchain.eclass: propagate USE=zstd to libgccjit build
You *can* do LTO with libgccjit, apparently, and it even works if we don't
break the compression used for LTO with it. Pass down the zstd arg from
USE=zstd like we do for the regular build.
Thanks to StrawberryTea for reporting.
Closes: https://bugs.gentoo.org/926953
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 690b21c22d8e..a5d4345e7fbf 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1462,7 +1462,7 @@ toolchain_src_configure() {
# respect USE=graphite here in case the user passes some
# graphite flags rather than try strip them out.
$(use_with graphite isl)
- --without-zstd
+ $(use_with zstd)
--with-system-zlib
)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-20 14:20 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-04-20 14:20 UTC (permalink / raw
To: gentoo-commits
commit: 57ae811174c14f749664d387fa22775be0482301
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 20 13:19:00 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Apr 20 14:19:54 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57ae8111
qt6-build.eclass: sort eclass variables
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 8fb40c287672..4fc838c478af 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -23,13 +23,6 @@ _QT6_BUILD_ECLASS=1
inherit cmake flag-o-matic toolchain-funcs
-# @ECLASS_VARIABLE: QT6_MODULE
-# @PRE_INHERIT
-# @DESCRIPTION:
-# The upstream name of the module this package belongs to.
-# Used for SRC_URI and EGIT_REPO_URI.
-: "${QT6_MODULE:=${PN}}"
-
# @ECLASS_VARIABLE: QT6_BUILD_TYPE
# @DESCRIPTION:
# Read only variable set based on PV to one of:
@@ -37,6 +30,13 @@ inherit cmake flag-o-matic toolchain-funcs
# - pre-release: development 6.x.x_rc/beta/alpha releases
# - live: *.9999 (dev branch), 6.x.9999 (stable branch)
+# @ECLASS_VARIABLE: QT6_MODULE
+# @PRE_INHERIT
+# @DESCRIPTION:
+# The upstream name of the module this package belongs to.
+# Used for SRC_URI and EGIT_REPO_URI.
+: "${QT6_MODULE:=${PN}}"
+
# @ECLASS_VARIABLE: QT6_RESTRICT_TESTS
# @DEFAULT_UNSET
# @PRE_INHERIT
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-20 14:20 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-04-20 14:20 UTC (permalink / raw
To: gentoo-commits
commit: fbf048eddd72b5377dca5dd44e5960f4e70cf963
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 20 13:16:28 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Apr 20 14:19:54 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fbf048ed
qt6-build.eclass: add QT6_RESTRICT_TESTS variable
At same time, remove the qttranslations special logic,
it can just make use of the variable instead.
Bug: https://bugs.gentoo.org/930266
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 59baaa77ce6d..8fb40c287672 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -37,6 +37,15 @@ inherit cmake flag-o-matic toolchain-funcs
# - pre-release: development 6.x.x_rc/beta/alpha releases
# - live: *.9999 (dev branch), 6.x.9999 (stable branch)
+# @ECLASS_VARIABLE: QT6_RESTRICT_TESTS
+# @DEFAULT_UNSET
+# @PRE_INHERIT
+# @DESCRIPTION:
+# If set to a non-empty value, will not add IUSE="test" and set
+# RESTRICT="test" instead. Primarily intended for ebuilds where
+# running tests is unmaintained (or missing) rather than just
+# temporarily restricted not to have a broken USE (bug #930266).
+
if [[ ${PV} == *.9999 ]]; then
inherit git-r3
EGIT_REPO_URI=(
@@ -68,7 +77,9 @@ HOMEPAGE="https://www.qt.io/"
LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3"
SLOT=6/${PV%%_*}
-if [[ ${PN} != qttranslations ]]; then
+if [[ ${QT6_RESTRICT_TESTS} ]]; then
+ RESTRICT="test"
+else
IUSE="test"
RESTRICT="!test? ( test )"
fi
@@ -139,7 +150,7 @@ qt6-build_src_configure() {
# see _qt6-build_create_user_facing_links
-DINSTALL_PUBLICBINDIR="${QT6_PREFIX}"/bin
# note that if qtbase was built with tests, this is default ON
- -DQT_BUILD_TESTS=$(usex test ON OFF)
+ -DQT_BUILD_TESTS=$(in_iuse test && use test && echo ON || echo OFF)
# avoid appending -O2 after user's C(XX)FLAGS (bug #911822)
-DQT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS=ON
)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-20 9:41 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-20 9:41 UTC (permalink / raw
To: gentoo-commits
commit: 73ed9ad5f1d6b57aeef00ab672e048873b711c8f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 20 09:38:23 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Apr 20 09:38:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73ed9ad5
llvm.org.eclass: Add 19.0.0_pre20240420 snapshot
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index d2f95fe6b42d..49e600bdaf04 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 19.0.0_pre20240420)
+ EGIT_COMMIT=f03cd2db91956456f1c5e2da86d3c50183eebd28
+ ;;
19.0.0_pre20240410)
EGIT_COMMIT=ee284d2da0720dc21191d6f545504cbfcf5dcbcf
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-20 5:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-20 5:40 UTC (permalink / raw
To: gentoo-commits
commit: f94c706722649d20fe37657180c1ad3abcebf0f5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 20 04:29:32 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Apr 20 05:40:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f94c7067
llvm.org.eclass: Remove support for old snapshots
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.org.eclass | 6 ------
1 file changed, 6 deletions(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 731044d59f48..d2f95fe6b42d 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,12 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
19.0.0_pre20240410)
EGIT_COMMIT=ee284d2da0720dc21191d6f545504cbfcf5dcbcf
;;
- 19.0.0_pre20240404)
- EGIT_COMMIT=12735916bd3a63aa9f316af8eebfe9420cfec489
- ;;
- 19.0.0_pre20240330)
- EGIT_COMMIT=a8b0ecd2605ff23f495a8af64e06c35f86834e54
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-19 23:11 Mike Gilbert
0 siblings, 0 replies; 6228+ messages in thread
From: Mike Gilbert @ 2024-04-19 23:11 UTC (permalink / raw
To: gentoo-commits
commit: afe0521495aeed0a22a3656e7bad193fba39805e
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 16 20:50:33 2024 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Fri Apr 19 23:10:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=afe05214
meson.eclass: preserve exit status in phase funcs
When the functions are called with nonfatal, we need to ensure 'popd'
does not clobber the exit status of the called command.
Update meson_src_configure as well just for consistency.
Closes: https://bugs.gentoo.org/930119
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
eclass/meson.eclass | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index 9d7f830e58b0..a22a85887584 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -425,7 +425,10 @@ meson_src_configure() {
export -n {C,CPP,CXX,F,OBJC,OBJCXX,LD}FLAGS PKG_CONFIG_{LIBDIR,PATH}
echo meson setup "${MESONARGS[@]}" >&2
meson setup "${MESONARGS[@]}"
- ) || die -n
+ )
+ local rv=$?
+ [[ ${rv} -eq 0 ]] || die -n "configure failed"
+ return ${rv}
}
# @FUNCTION: meson_src_compile
@@ -451,9 +454,12 @@ meson_src_compile() {
set -- meson compile "${mesoncompileargs[@]}"
echo "$@" >&2
- "$@" || die -n "compile failed"
+ "$@"
+ local rv=$?
+ [[ ${rv} -eq 0 ]] || die -n "compile failed"
popd > /dev/null || die
+ return ${rv}
}
# @FUNCTION: meson_src_test
@@ -473,9 +479,12 @@ meson_src_test() {
set -- meson test "${mesontestargs[@]}"
echo "$@" >&2
- "$@" || die -n "tests failed"
+ "$@"
+ local rv=$?
+ [[ ${rv} -eq 0 ]] || die -n "tests failed"
popd > /dev/null || die
+ return ${rv}
}
# @FUNCTION: meson_install
@@ -495,9 +504,12 @@ meson_install() {
set -- meson install "${mesoninstallargs[@]}"
echo "$@" >&2
- "$@" || die -n "install failed"
+ "$@"
+ local rv=$?
+ [[ ${rv} -eq 0 ]] || die -n "install failed"
popd > /dev/null || die
+ return ${rv}
}
# @FUNCTION: meson_src_install
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-19 18:46 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-19 18:46 UTC (permalink / raw
To: gentoo-commits
commit: 75a308e0686ff3757855e05ff06e9ba7418a0458
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 16 15:26:58 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Apr 19 18:46:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75a308e0
distutils-r1.eclass: Pass arguments to scikit-build-core
Support passing DISTUTILS_ARGS to scikit-build-core, along with some
standard arguments that:
- ensure that CFLAGS, CXXFLAGS, CPPFLAGS and so on, are respected
- respect CMAKE_BUILD_TYPE, along with the default of RelWithDebInfo
- enable verbose builds
- disable stripping
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index ddcba288d85c..a67122a59a33 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -454,6 +454,9 @@ unset -f _distutils_set_globals
# For meson-python, the arguments will be passed as `meson setup`
# arguments.
#
+# For scikit-build-core, the arguments will be passed as `cmake`
+# options (e.g. `-DFOO=BAR` form should be used).
+#
# For setuptools, the arguments will be passed as first parameters
# to setup.py invocations (via esetup.py), as well as to the PEP517
# backend. For future compatibility, only global options should be used
@@ -1412,6 +1415,46 @@ distutils_pep517_install() {
EOF
)
;;
+ scikit-build-core)
+ # TODO: split out the config/toolchain logic from cmake.eclass
+ # for now, we copy the most important bits
+ local CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-RelWithDebInfo}
+ cat >> "${BUILD_DIR}"/config.cmake <<- _EOF_ || die
+ set(CMAKE_ASM_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
+ set(CMAKE_ASM-ATT_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
+ set(CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
+ set(CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
+ set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
+ set(CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
+ set(CMAKE_MODULE_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
+ set(CMAKE_SHARED_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
+ set(CMAKE_STATIC_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
+ _EOF_
+
+ # hack around CMake ignoring CPPFLAGS
+ local -x CFLAGS="${CFLAGS} ${CPPFLAGS}"
+ local -x CXXFLAGS="${CXXFLAGS} ${CPPFLAGS}"
+
+ local cmake_args=(
+ "-C${BUILD_DIR}/config.cmake"
+ "${DISTUTILS_ARGS[@]}"
+ )
+
+ # NB: we need to pass strings for boolean fields
+ # https://github.com/scikit-build/scikit-build-core/issues/707
+ config_settings=$(
+ "${EPYTHON}" - "${cmake_args[@]}" <<-EOF || die
+ import json
+ import sys
+ print(json.dumps({
+ "cmake.args": ";".join(sys.argv[1:]),
+ "cmake.build-type": "${CMAKE_BUILD_TYPE}",
+ "cmake.verbose": "true",
+ "install.strip": "false",
+ }))
+ EOF
+ )
+ ;;
setuptools)
if in_iuse debug && use debug; then
local -x SETUPTOOLS_RUST_CARGO_PROFILE=dev
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-19 18:46 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-19 18:46 UTC (permalink / raw
To: gentoo-commits
commit: 6eeff48db938afd6f8fa8dc49ca864719858920e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 16 14:55:16 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Apr 19 18:46:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6eeff48d
distutils-r1.eclass: Document DISTUTILS_ARGS for maturin & meson
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 7a314673a90b..ddcba288d85c 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -448,6 +448,12 @@ unset -f _distutils_set_globals
# An array containing options to be passed to the build system.
# Supported by a subset of build systems used by the eclass.
#
+# For maturin, the arguments will be passed as `maturin build`
+# arguments.
+#
+# For meson-python, the arguments will be passed as `meson setup`
+# arguments.
+#
# For setuptools, the arguments will be passed as first parameters
# to setup.py invocations (via esetup.py), as well as to the PEP517
# backend. For future compatibility, only global options should be used
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-17 23:34 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-04-17 23:34 UTC (permalink / raw
To: gentoo-commits
commit: 5d5e200b89aaf06308a48ea7c0e010e3e81a5892
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 17 23:33:14 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Apr 17 23:33:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d5e200b
toolchain.eclass: depend on virtual/rust for USE=rust (!)
This is a temporary measure from upstream commit r14-9968-g3e1e73fc995844.
See also https://inbox.sourceware.org/gcc/34fec7ea-8762-4cac-a1c8-ff54e20e31ed <AT> embecosm.com/.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 2a74e6f165df..690b21c22d8e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -406,6 +406,12 @@ if tc_has_feature d && tc_version_is_at_least 12.0 ; then
BDEPEND+=" d? ( || ( sys-devel/gcc[d(-)] <sys-devel/gcc-12[d(-)] ) )"
fi
+if tc_has_feature rust && tc_version_is_at_least 14.0.0_pre20230421 ; then
+ # This was added upstream in r14-9968-g3e1e73fc995844 as a temporary measure.
+ # See https://inbox.sourceware.org/gcc/34fec7ea-8762-4cac-a1c8-ff54e20e31ed@embecosm.com/
+ BDEPEND+=" rust? ( virtual/rust )"
+fi
+
PDEPEND=">=sys-devel/gcc-config-2.11"
#---->> S + SRC_URI essentials <<----
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-16 1:40 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-04-16 1:40 UTC (permalink / raw
To: gentoo-commits
commit: b91c99d07e33c296a23e3b18b2658b81815b6b31
Author: Gabi Falk <gabifalk <AT> gmx <DOT> com>
AuthorDate: Mon Apr 15 08:00:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Apr 16 01:38:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b91c99d0
toolchain.eclass: always generate a new test-suite baseline manifest
Previously, a new baseline was generated only in cases of test suite
success or when GCC_TESTS_IGNORE_NO_BASELINE was enabled.
After this change, if there is a test suite regression, users will have
the option to copy the new baseline file to the cache if they choose to
tolerate the regression. Additionally, the toolchain_pkg_preinst()
function will update the baseline automatically if the package is built
with the FEATURES=test-fail-continue setting.
Signed-off-by: Gabi Falk <gabifalk <AT> gmx.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 37a806e1c800..786d65da2d9a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1908,6 +1908,15 @@ toolchain_src_test() {
# the exit code of targets other than 'check' may be unreliable.
nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS}"
+ # Produce an updated failure manifest.
+ einfo "Generating a new failure manifest ${T}/${CHOST}.xfail"
+ rm -f "${T}"/${CHOST}.xfail
+ edo "${T}"/validate_failures.py \
+ --srcpath="${S}" \
+ --build_dir="${WORKDIR}"/build \
+ --manifest="${T}"/${CHOST}.xfail \
+ --produce_manifest &> /dev/null
+
if [[ -f "${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" ]] ; then
# TODO: Distribute some baseline results in e.g. gcc-patches.git?
# validate_failures.py manifest files support include directives.
@@ -1936,13 +1945,6 @@ toolchain_src_test() {
die "Tests failed (failures occurred with no reference data)"
fi
fi
-
- # Produce an updated set of expected results
- edo "${T}"/validate_failures.py \
- --srcpath="${S}" \
- --build_dir="${WORKDIR}"/build \
- --manifest="${T}"/${CHOST}.xfail \
- --produce_manifest &> /dev/null
}
#---->> src_install <<----
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-16 1:40 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-04-16 1:40 UTC (permalink / raw
To: gentoo-commits
commit: 05e717935070724efb622f17ef8d60c68a75c4b4
Author: Gabi Falk <gabifalk <AT> gmx <DOT> com>
AuthorDate: Sat Apr 13 08:00:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Apr 16 01:38:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05e71793
toolchain.eclass: do not ignore a baseline with GCC_TESTS_IGNORE_NO_BASELINE
The GCC_TESTS_IGNORE_NO_BASELINE flag is intended to facilitate the
initial generation of a baseline file, but it shouldn't affect the
behavior if a baseline file already exists.
Fixes: 1d93a491096f1cc0234fcf44458bfec142c213bb ("toolchain.eclass: rework tests more")
Signed-off-by: Gabi Falk <gabifalk <AT> gmx.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 0708d3c217fc..37a806e1c800 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1908,7 +1908,7 @@ toolchain_src_test() {
# the exit code of targets other than 'check' may be unreliable.
nonfatal emake -C "${WORKDIR}"/build -k "${GCC_TESTS_CHECK_TARGET}" RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS}"
- if [[ -z ${GCC_TESTS_IGNORE_NO_BASELINE} && -f "${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" ]] ; then
+ if [[ -f "${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" ]] ; then
# TODO: Distribute some baseline results in e.g. gcc-patches.git?
# validate_failures.py manifest files support include directives.
einfo "Comparing with previous cached results at GCC_TESTS_COMPARISON_DIR=${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-16 1:40 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-04-16 1:40 UTC (permalink / raw
To: gentoo-commits
commit: ef9d26ba1e410d25b94cab81a6606e96e85d35d8
Author: Gabi Falk <gabifalk <AT> gmx <DOT> com>
AuthorDate: Mon Apr 15 08:00:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Apr 16 01:38:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef9d26ba
toolchain.eclass: add a variable to force baseline regeneration
Suggested-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: Gabi Falk <gabifalk <AT> gmx.com>
Closes: https://github.com/gentoo/gentoo/pull/36244
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 33 +++++++++++++++++++++++++--------
1 file changed, 25 insertions(+), 8 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 786d65da2d9a..2a74e6f165df 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -117,6 +117,13 @@ tc_version_is_between() {
# Ignore missing baseline/reference data and create new baseline.
: "${GCC_TESTS_IGNORE_NO_BASELINE:=}"
+# @ECLASS_VARIABLE: GCC_TESTS_REGEN_BASELINE
+# @DEFAULT_UNSET
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Ignore baseline/reference data and create new baseline.
+: "${GCC_TESTS_REGEN_BASELINE:=}"
+
# @ECLASS_VARIABLE: GCC_TESTS_CHECK_TARGET
# @USER_VARIABLE
# @DESCRIPTION:
@@ -1917,17 +1924,25 @@ toolchain_src_test() {
--manifest="${T}"/${CHOST}.xfail \
--produce_manifest &> /dev/null
- if [[ -f "${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail" ]] ; then
+ local manifest="${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail"
+
+ if [[ -f "${manifest}" ]] ; then
# TODO: Distribute some baseline results in e.g. gcc-patches.git?
# validate_failures.py manifest files support include directives.
- einfo "Comparing with previous cached results at GCC_TESTS_COMPARISON_DIR=${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail"
+ einfo "Comparing with previous cached results at ${manifest}"
- edo "${T}"/validate_failures.py \
+ nonfatal edo "${T}"/validate_failures.py \
--srcpath="${S}" \
--build_dir="${WORKDIR}"/build \
- --manifest="${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail"
+ --manifest="${manifest}"
+ ret=$?
+
+ if [[ -n ${GCC_TESTS_REGEN_BASELINE} ]] ; then
+ eerror "GCC_TESTS_REGEN_BASELINE is set, ignoring test result and creating a new baseline..."
+ elif [[ ${ret} != 0 ]]; then
+ die "Tests failed (failures not listed in the baseline data)"
+ fi
else
- # nonfatal first because we want to run again with comparison data if available.
nonfatal edo "${T}"/validate_failures.py \
--srcpath="${S}" \
--build_dir="${WORKDIR}"/build
@@ -1935,13 +1950,15 @@ toolchain_src_test() {
# We have no reference data saved from a previous run to know if
# the failures are tolerable or not, so we bail out.
- eerror "No reference test data at GCC_TESTS_COMPARISON_DIR=${GCC_TESTS_COMPARISON_DIR}/${GCC_TESTS_COMPARISON_SLOT}/${CHOST}.xfail!"
+ eerror "No reference test data at ${manifest}!"
eerror "GCC's tests require a baseline to compare with for any reasonable interpretation of results."
if [[ -n ${GCC_TESTS_IGNORE_NO_BASELINE} ]] ; then
- eerror "GCC_TESTS_IGNORE_NO_BASELINE is set, creating new baseline manifest..."
+ eerror "GCC_TESTS_IGNORE_NO_BASELINE is set, ignoring test result and creating a new baseline..."
+ elif [[ -n ${GCC_TESTS_REGEN_BASELINE} ]] ; then
+ eerror "GCC_TESTS_REGEN_BASELINE is set, ignoring test result and creating using a new baseline..."
elif [[ ${ret} != 0 ]]; then
- eerror "(Set GCC_TESTS_IGNORE_NO_BASELINE=1 to make this non-fatal for initial run.)"
+ eerror "(Set GCC_TESTS_IGNORE_NO_BASELINE=1 to make this non-fatal and generate a baseline.)"
die "Tests failed (failures occurred with no reference data)"
fi
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-13 20:03 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-04-13 20:03 UTC (permalink / raw
To: gentoo-commits
commit: e696ced5917acc63095cc2074ca3d5c14437b10b
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sat Apr 13 16:50:40 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sat Apr 13 20:03:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e696ced5
ant-tasks.eclass: mark ant-tasks.eclass dead
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/36240
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/ant-tasks.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/ant-tasks.eclass b/eclass/ant-tasks.eclass
index c1a82ccbab5b..2b10e0f3e1e0 100644
--- a/eclass/ant-tasks.eclass
+++ b/eclass/ant-tasks.eclass
@@ -1,7 +1,7 @@
# Copyright 2007-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# @DEPRECATED:
+# @DEAD
# @ECLASS: ant-tasks.eclass
# @MAINTAINER:
# java@gentoo.org
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-13 18:41 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-04-13 18:41 UTC (permalink / raw
To: gentoo-commits
commit: 4d338f1c63ef163974417a4e4754dd47899a4681
Author: Gabi Falk <gabifalk <AT> gmx <DOT> com>
AuthorDate: Fri Apr 12 08:00:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Apr 13 18:40:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d338f1c
toolchain.eclass: fix installation of gcc[test] packages from binary
Fixes: abf8e2ee55c52c8ae894e0b3845ea1cebfcfd4e8 ("toolchain.eclass:
install test results as orphaned files in /var/cache/gcc")
Signed-off-by: Gabi Falk <gabifalk <AT> gmx.com>
Closes: https://github.com/gentoo/gentoo/pull/36224
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 6a515f9b5c69..0708d3c217fc 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2325,7 +2325,7 @@ create_revdep_rebuild_entry() {
#---->> pkg_pre* <<----
toolchain_pkg_preinst() {
- if use test ; then
+ if [[ ${MERGE_TYPE} != binary ]] && use test ; then
# Install as orphaned to allow comparison across more versions even
# after unmerged. Also useful for historical records and tracking
# down regressions a while after they first appeared, but were only
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-13 18:32 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-04-13 18:32 UTC (permalink / raw
To: gentoo-commits
commit: 18c07179cce50cda3c99858f419df8f5a755eebe
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 12 01:40:25 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Apr 13 18:31:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18c07179
rpm.eclass: Drop support for EAPI 6
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/rpm.eclass | 63 +++----------------------------------------------------
1 file changed, 3 insertions(+), 60 deletions(-)
diff --git a/eclass/rpm.eclass b/eclass/rpm.eclass
index b9187167eb8f..c9c21aa6ebbd 100644
--- a/eclass/rpm.eclass
+++ b/eclass/rpm.eclass
@@ -1,14 +1,13 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: rpm.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: convenience class for extracting RPMs
case ${EAPI} in
- 6) inherit epatch eqawarn ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -18,10 +17,7 @@ _RPM_ECLASS=1
inherit estack
-case ${EAPI} in
- 6) DEPEND="app-arch/rpm2targz" ;;
- *) BDEPEND="app-arch/rpm2targz" ;;
-esac
+BDEPEND="app-arch/rpm2targz"
# @FUNCTION: rpm_unpack
# @USAGE: <rpms>
@@ -88,59 +84,6 @@ rpm_src_unpack() {
done
}
-# @FUNCTION: rpm_spec_epatch
-# @USAGE: [spec]
-# @DEPRECATED: none
-# @DESCRIPTION:
-# Read the specified spec (defaults to ${PN}.spec) and attempt to apply
-# all the patches listed in it. If the spec does funky things like moving
-# files around, well this won't handle that.
-rpm_spec_epatch() {
- # no epatch in EAPI 7 and later
- [[ ${EAPI} == 6 ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}"
-
- local p spec=$1
- local dir
-
- if [[ -z ${spec} ]] ; then
- # search likely places for the spec file
- for spec in "${PWD}" "${S}" "${WORKDIR}" ; do
- spec+="/${PN}.spec"
- [[ -e ${spec} ]] && break
- done
- fi
- [[ ${spec} == */* ]] \
- && dir=${spec%/*} \
- || dir=
-
- ebegin "Applying patches from ${spec}"
-
- grep '^%patch' "${spec}" | \
- while read line ; do
- # expand the %patch line
- set -- ${line}
- p=$1
- shift
-
- # process the %patch arguments
- local arg
- EPATCH_OPTS=
- for arg in "$@" ; do
- case ${arg} in
- -b) EPATCH_OPTS+=" --suffix" ;;
- *) EPATCH_OPTS+=" ${arg}" ;;
- esac
- done
-
- # extract the patch name from the Patch# line
- set -- $(grep "^P${p#%p}: " "${spec}")
- shift
- epatch "${dir:+${dir}/}$*"
- done
-
- eend
-}
-
fi
EXPORT_FUNCTIONS src_unpack
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-11 7:48 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-04-11 7:48 UTC (permalink / raw
To: gentoo-commits
commit: 28a2ff3d33063abd580cba982a11120eb34cdc2b
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Apr 10 21:09:56 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Apr 11 07:48:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28a2ff3d
java-ant-2.eclass: drop EAPI 6
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/36199
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-ant-2.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/java-ant-2.eclass b/eclass/java-ant-2.eclass
index 1eccead3067f..b0d2fb216b10 100644
--- a/eclass/java-ant-2.eclass
+++ b/eclass/java-ant-2.eclass
@@ -7,7 +7,7 @@
# @AUTHOR:
# kiorky <kiorky@cryptelium.net>
# Petteri Räty <betelgeuse@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: java-utils-2
# @BLURB: eclass for ant based Java packages
# @DESCRIPTION:
@@ -16,7 +16,7 @@
# or java-pkg-opt-2 eclass.
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-10 17:56 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-04-10 17:56 UTC (permalink / raw
To: gentoo-commits
commit: 6a802139d156f02b854429b242d4fc61961e3c05
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 14:13:01 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Apr 10 17:55:37 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a802139
gnustep-*.eclass: Drop support for EAPI 6
In EAPI 6, gnustep-base inherits eutils which is going to be last-rited.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/gnustep-2.eclass | 20 ++++++--------------
eclass/gnustep-base.eclass | 5 ++---
2 files changed, 8 insertions(+), 17 deletions(-)
diff --git a/eclass/gnustep-2.eclass b/eclass/gnustep-2.eclass
index 9750efa8d5c8..3797dd80151e 100644
--- a/eclass/gnustep-2.eclass
+++ b/eclass/gnustep-2.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: gnustep-2.eclass
# @MAINTAINER:
# GNUstep Herd <gnustep@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: gnustep-base
# @BLURB: eclass for GNUstep Apps, Frameworks, and Bundles build
# @DESCRIPTION:
@@ -12,7 +12,7 @@
# GNUstep packages
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -21,17 +21,9 @@ _GNUSTEP_2_ECLASS=1
inherit gnustep-base
-case ${EAPI} in
- 6)
- DEPEND=">=gnustep-base/gnustep-make-2.0"
- ;;
- *)
- BDEPEND=">=gnustep-base/gnustep-make-2.0"
- ;;
-esac
-
-DEPEND+=" virtual/gnustep-back"
-RDEPEND="${DEPEND}"
+RDEPEND="virtual/gnustep-back"
+DEPEND="${RDEPEND}"
+BDEPEND=">=gnustep-base/gnustep-make-2.0"
# The following gnustep-based exported functions are available:
# * gnustep-base_pkg_setup
diff --git a/eclass/gnustep-base.eclass b/eclass/gnustep-base.eclass
index b5b350106471..a0a877bf8e13 100644
--- a/eclass/gnustep-base.eclass
+++ b/eclass/gnustep-base.eclass
@@ -1,17 +1,16 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: gnustep-base.eclass
# @MAINTAINER:
# GNUstep Herd <gnustep@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Internal handling of GNUstep packages
# @DESCRIPTION:
# Inner gnustep eclass, should only be inherited directly by gnustep-base
# packages
case ${EAPI} in
- 6) inherit eutils ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-10 11:10 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-10 11:10 UTC (permalink / raw
To: gentoo-commits
commit: 43f782d13cb3e6b661067619ced2165da4455db1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 10 09:52:25 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Apr 10 11:09:46 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43f782d1
llvm.org.eclass: Add 19.0.0_pre20240410 snapshot
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 148408dc4730..731044d59f48 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 19.0.0_pre20240410)
+ EGIT_COMMIT=ee284d2da0720dc21191d6f545504cbfcf5dcbcf
+ ;;
19.0.0_pre20240404)
EGIT_COMMIT=12735916bd3a63aa9f316af8eebfe9420cfec489
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-10 8:11 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-04-10 8:11 UTC (permalink / raw
To: gentoo-commits
commit: 672028056a6bb54d5550aaff1a09d752e772bc8d
Author: Manuel Mommertz <manuel.mommertz <AT> desy <DOT> de>
AuthorDate: Tue Feb 13 07:59:13 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Apr 10 08:11:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67202805
java-pkg-simple.eclass: use --module-path for ejavadoc when applicable
Bug: https://bugs.gentoo.org/925691
Signed-off-by: Manuel Mommertz <manuel.mommertz <AT> desy.de>
Closes: https://github.com/gentoo/gentoo/pull/35302
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-simple.eclass | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index 1a4bcb1b0a63..6b473ed768ed 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -417,11 +417,18 @@ java-pkg-simple_src_compile() {
einfo "JAVADOC_SRC_DIRS exists, you need to call ejavadoc separately"
else
mkdir -p ${apidoc}
- ejavadoc -d ${apidoc} \
- -encoding ${JAVA_ENCODING} -docencoding UTF-8 -charset UTF-8 \
- ${classpath:+-classpath ${classpath}} ${JAVADOC_ARGS:- -quiet} \
- @${sources} || die "javadoc failed"
+ if [[ -z ${moduleinfo} ]] || [[ ${target#1.} -lt 9 ]]; then
+ ejavadoc -d ${apidoc} \
+ -encoding ${JAVA_ENCODING} -docencoding UTF-8 -charset UTF-8 \
+ ${classpath:+-classpath ${classpath}} ${JAVADOC_ARGS:- -quiet} \
+ @${sources} || die "javadoc failed"
+ else
+ ejavadoc -d ${apidoc} \
+ -encoding ${JAVA_ENCODING} -docencoding UTF-8 -charset UTF-8 \
+ ${classpath:+--module-path ${classpath}} ${JAVADOC_ARGS:- -quiet} \
+ @${sources} || die "javadoc failed"
fi
+ fi
fi
# package
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-09 20:17 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-04-09 20:17 UTC (permalink / raw
To: gentoo-commits
commit: a1f28063e0ba2192a120d15fd82a2d59ae10c892
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 14:11:17 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 9 20:03:28 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1f28063
eutils.eclass: Mark as DEAD
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/eutils.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass
index b48c18f97904..bdcc7e110fd5 100644
--- a/eclass/eutils.eclass
+++ b/eclass/eutils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: eutils.eclass
@@ -7,6 +7,7 @@
# @SUPPORTED_EAPIS: 6
# @BLURB: many extra (but common) functions that are used in ebuilds
# @DEPRECATED: native package manager functions, more specific eclasses
+# @DEAD
if [[ -z ${_EUTILS_ECLASS} ]]; then
_EUTILS_ECLASS=1
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-08 7:15 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-04-08 7:15 UTC (permalink / raw
To: gentoo-commits
commit: aef3658325286fbf2480bccbbece9976d5b2ccc6
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Fri Mar 29 15:48:52 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Mon Apr 8 07:14:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aef36583
java-vm-2.eclass: drop EAPI 6
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-vm-2.eclass | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/eclass/java-vm-2.eclass b/eclass/java-vm-2.eclass
index 336a486c3883..e5d3159f2854 100644
--- a/eclass/java-vm-2.eclass
+++ b/eclass/java-vm-2.eclass
@@ -1,17 +1,17 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: java-vm-2.eclass
# @MAINTAINER:
# java@gentoo.org
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Java Virtual Machine eclass
# @DESCRIPTION:
# This eclass provides functionality which assists with installing
# virtual machines, and ensures that they are recognized by java-config.
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -28,10 +28,6 @@ DEPEND="${RDEPEND}"
BDEPEND="app-arch/unzip"
IDEPEND="app-eselect/eselect-java"
-if [[ ${EAPI} == 6 ]]; then
- DEPEND+=" ${BDEPEND}"
-fi
-
export WANT_JAVA_CONFIG=2
@@ -98,9 +94,6 @@ java-vm-2_pkg_postinst() {
# @RETURN: 0 if >=app-eselect/eselect-java-0.5 is installed, 1 otherwise.
has_eselect_java-vm_update() {
local has_version_args="-b"
- if [[ ${EAPI} == 6 ]]; then
- has_version_args="--host-root"
- fi
has_version "${has_version_args}" ">=app-eselect/eselect-java-0.5"
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-06 13:44 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-06 13:44 UTC (permalink / raw
To: gentoo-commits
commit: b20b9d4285a5a9d21cb9b9a3be6c14eb992184d2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 6 13:03:47 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Apr 6 13:43:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b20b9d42
llvm.org.eclass: Add 19.0.0_pre20240404 snapshot
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 98da9997a7c7..148408dc4730 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 19.0.0_pre20240404)
+ EGIT_COMMIT=12735916bd3a63aa9f316af8eebfe9420cfec489
+ ;;
19.0.0_pre20240330)
EGIT_COMMIT=a8b0ecd2605ff23f495a8af64e06c35f86834e54
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-06 9:13 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-06 9:13 UTC (permalink / raw
To: gentoo-commits
commit: 938edf07001d51688806e1e5a4a32eebcb675dd3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 6 04:56:47 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Apr 6 09:13:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=938edf07
llvm.org.eclass: Remove support for old snapshots
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.org.eclass | 6 ------
1 file changed, 6 deletions(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 607e3086d65a..98da9997a7c7 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,12 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
19.0.0_pre20240330)
EGIT_COMMIT=a8b0ecd2605ff23f495a8af64e06c35f86834e54
;;
- 19.0.0_pre20240322)
- EGIT_COMMIT=f3cfe016c5d8429c0dccfa6f85442e2ea0d45a58
- ;;
- 19.0.0_pre20240316)
- EGIT_COMMIT=6d3cec01a6c29fa4e51ba129fa13dbf55d2b928e
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-05 16:06 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-04-05 16:06 UTC (permalink / raw
To: gentoo-commits
commit: ac957bc00b6bdc98a12d9164609b901ccb04e7b4
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 5 16:04:13 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Fri Apr 5 16:04:13 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac957bc0
texlive-common_update_tlpdb: only run find if tlpobj dir exists
Closes: https://bugs.gentoo.org/928638
Closes: https://bugs.gentoo.org/928639
Closes: https://bugs.gentoo.org/928640
Closes: https://bugs.gentoo.org/928641
Closes: https://bugs.gentoo.org/928642
Closes: https://bugs.gentoo.org/928643
Closes: https://bugs.gentoo.org/928644
Closes: https://bugs.gentoo.org/928645
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-common.eclass | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/eclass/texlive-common.eclass b/eclass/texlive-common.eclass
index 66d3999bd103..b32ea2af1121 100644
--- a/eclass/texlive-common.eclass
+++ b/eclass/texlive-common.eclass
@@ -269,10 +269,12 @@ texlive-common_update_tlpdb() {
touch "${new_tlpdb}" || die
- find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 |
- sort -z |
- xargs -0 --no-run-if-empty cat >> "${new_tlpdb}"
- assert "generating tlpdb failed"
+ if [[ -d "${tlpobj}" ]]; then
+ find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 |
+ sort -z |
+ xargs -0 --no-run-if-empty cat >> "${new_tlpdb}"
+ assert "generating tlpdb failed"
+ fi
if [[ -f ${tlpdb} ]]; then
cmp -s "${new_tlpdb}" "${tlpdb}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-05 9:45 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2024-04-05 9:45 UTC (permalink / raw
To: gentoo-commits
commit: 94027c0a7862b306d9452320f7419875b6a4cec6
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 5 09:44:11 2024 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Fri Apr 5 09:44:11 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94027c0a
eclass/apache-2.eclass: select compatible rustls-ffi version
The apache tls module does not compile with rustls-ffi 0.12.x versions.
Bug: https://bugs.gentoo.org/928046
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/apache-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/apache-2.eclass b/eclass/apache-2.eclass
index e1489eb282ac..17b8b0e2a64a 100644
--- a/eclass/apache-2.eclass
+++ b/eclass/apache-2.eclass
@@ -162,7 +162,7 @@ RDEPEND="
apache2_modules_session_crypto? (
dev-libs/apr-util[openssl]
)
- apache2_modules_tls? ( >=net-libs/rustls-ffi-0.9.2:= )
+ apache2_modules_tls? ( >=net-libs/rustls-ffi-0.9.2:= <net-libs/rustls-ffi-11 )
gdbm? ( sys-libs/gdbm:= )
ldap? ( net-nds/openldap:= )
selinux? ( sec-policy/selinux-apache )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-04 17:33 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-04-04 17:33 UTC (permalink / raw
To: gentoo-commits
commit: ec8f206068b3a17275d2b1a05be162c46f0e24c0
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 3 10:06:53 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr 4 17:33:01 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec8f2060
elisp-common.eclass: Drop test for existence of ${T}
This was the remnant of a 2008 workaround for Paludis (bug #517),
which didn't define T in the postrm phase.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/elisp-common.eclass | 3 ---
1 file changed, 3 deletions(-)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 1ea2aa111d7e..3d99838a0221 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -699,9 +699,6 @@ elisp-site-regen() {
[[ -d ${sitelisp} ]] \
|| die "elisp-site-regen: Directory ${sitelisp} does not exist"
- [[ -d ${T} ]] \
- || die "elisp-site-regen: Temporary directory ${T} does not exist"
-
ebegin "Regenerating site-gentoo.el for GNU Emacs (${EBUILD_PHASE})"
for sf in "${sitelisp}"/site-gentoo.d/[0-9][0-9]*.el; do
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-04 17:33 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2024-04-04 17:33 UTC (permalink / raw
To: gentoo-commits
commit: 0cec49dbfe44ed391f1dea5fe5b1014ec7df9c05
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 3 10:05:01 2024 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr 4 17:32:56 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0cec49db
elisp-common.eclass: Use EROOT instead of ROOT+EPREFIX
This was a leftover of pre-EAPI-3 compatibility.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/elisp-common.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index bab7250a6818..1ea2aa111d7e 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: elisp-common.eclass
@@ -687,7 +687,7 @@ elisp-make-site-file() {
# directory.
elisp-site-regen() {
- local sitelisp=${ROOT%/}${EPREFIX}${SITELISP}
+ local sitelisp=${EROOT}${SITELISP}
local sf i ret=0 null="" page=$'\f'
local -a sflist
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-04 8:18 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-04-04 8:18 UTC (permalink / raw
To: gentoo-commits
commit: 0977b78999668cebc0aac4235ccf47d9502f1e00
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 4 08:10:03 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Thu Apr 4 08:17:55 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0977b789
texlive-*.eclass: move update_tldb from texlive-module to texlive-common
The TexLive package database (tlpdb) also needs to be updated by
app-text/texlive-core, which only inherits texlive-common.eclass.
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-common.eclass | 54 ++++++++++++++++++++++++++++++++++++++++
eclass/texlive-module.eclass | 59 ++------------------------------------------
2 files changed, 56 insertions(+), 57 deletions(-)
diff --git a/eclass/texlive-common.eclass b/eclass/texlive-common.eclass
index e8a740df1f27..66d3999bd103 100644
--- a/eclass/texlive-common.eclass
+++ b/eclass/texlive-common.eclass
@@ -249,4 +249,58 @@ texlive-common_append_to_src_uri() {
fi
}
+# @FUNCTION: texlive-common_update_tlpdb
+# @DESCRIPTION:
+# Update the TexLive package database at /usr/share/tlpkg/texlive.tlpdb.
+texlive-common_update_tlpdb() {
+ [[ -v TL_PV && ${TL_PV} -lt 2023 ]] && return
+
+ # If we are updating this package, then there is no need to update
+ # the tlpdb in postrm, as it will be again updated in postinst.
+ [[ ${EBUILD_PHASE} == postrm && -n ${REPLACED_BY_VERSION} ]] && return
+
+ local tlpkg="${EROOT}"/usr/share/tlpkg
+ local tlpobj="${tlpkg}"/tlpobj
+ local tlpdb="${tlpkg}"/texlive.tlpdb
+
+ ebegin "Regenerating TexLive package database"
+
+ local new_tlpdb="${T}"/texlive.tlpdb
+
+ touch "${new_tlpdb}" || die
+
+ find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 |
+ sort -z |
+ xargs -0 --no-run-if-empty cat >> "${new_tlpdb}"
+ assert "generating tlpdb failed"
+
+ if [[ -f ${tlpdb} ]]; then
+ cmp -s "${new_tlpdb}" "${tlpdb}"
+ local ret=$?
+ case ${ret} in
+ # content equal
+ 0)
+ # Nothing to do, return.
+ eend 0
+ return
+ ;;
+ # content differs
+ 1)
+ ;;
+ # cmp failed with an error
+ *)
+ eend ${ret} "comparing new and existing tlpdb failed (exit status: ${ret})"
+ die
+ ;;
+ esac
+ fi
+
+ mv "${new_tlpdb}" "${tlpdb}"
+ eend $? "moving tlpdb into position failed (exit status: ${?})" || die
+
+ if [[ ! -s ${tlpdb} ]]; then
+ rm "${tlpdb}" || die
+ fi
+}
+
fi
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index bfe5e12bf250..401b75bc4d11 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -420,61 +420,6 @@ texlive-module_src_install() {
texlive-common_handle_config_files
}
-# @FUNCTION: texlive-module_update_tlpdb
-# @DESCRIPTION:
-# Update the TexLive package database at /usr/share/tlpkg/texlive.tlpdb.
-
-texlive-module_update_tlpdb() {
- [[ ${TL_PV} -lt 2023 ]] && return
-
- # If we are updating this package, then there is no need to update
- # the tlpdb in postrm, as it will be again updated in postinst.
- [[ ${EBUILD_PHASE} == postrm && -n ${REPLACED_BY_VERSION} ]] && return
-
- local tlpkg="${EROOT}"/usr/share/tlpkg
- local tlpobj="${tlpkg}"/tlpobj
- local tlpdb="${tlpkg}"/texlive.tlpdb
-
- ebegin "Regenerating TexLive package database"
-
- local new_tlpdb="${T}"/texlive.tlpdb
-
- touch "${new_tlpdb}" || die
-
- find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 |
- sort -z |
- xargs -0 --no-run-if-empty cat >> "${new_tlpdb}"
- assert "generating tlpdb failed"
-
- if [[ -f ${tlpdb} ]]; then
- cmp -s "${new_tlpdb}" "${tlpdb}"
- local ret=$?
- case ${ret} in
- # content equal
- 0)
- # Nothing to do, return.
- eend 0
- return
- ;;
- # content differs
- 1)
- ;;
- # cmp failed with an error
- *)
- eend ${ret} "comparing new and existing tlpdb failed (exit status: ${ret})"
- die
- ;;
- esac
- fi
-
- mv "${new_tlpdb}" "${tlpdb}"
- eend $? "moving tlpdb into position failed (exit status: ${?})" || die
-
- if [[ ! -s ${tlpdb} ]]; then
- rm "${tlpdb}" || die
- fi
-}
-
# @FUNCTION: texlive-module_pkg_postinst
# @DESCRIPTION:
# exported function:
@@ -483,7 +428,7 @@ texlive-module_update_tlpdb() {
texlive-module_pkg_postinst() {
etexmf-update
- texlive-module_update_tlpdb
+ texlive-common_update_tlpdb
[[ -n ${TL_MODULE_INFORMATION} ]] && elog "${TL_MODULE_INFORMATION}"
}
@@ -495,7 +440,7 @@ texlive-module_pkg_postinst() {
texlive-module_pkg_postrm() {
[[ -z ${REPLACED_BY_VERSION} ]] && etexmf-update
- texlive-module_update_tlpdb
+ texlive-common_update_tlpdb
}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-04 1:07 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-04-04 1:07 UTC (permalink / raw
To: gentoo-commits
commit: 4ba5414687d20ba1369e7e2833ba563c1815fcbe
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 26 15:01:51 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr 4 01:06:38 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ba54146
meson.eclass: call die -n in phase helpers
This allows the ebuild author to treat some errors as nonfatal.
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/meson.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index 3240fddf7e86..3074fcb09fb0 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -425,7 +425,7 @@ meson_src_configure() {
export -n {C,CPP,CXX,F,OBJC,OBJCXX,LD}FLAGS PKG_CONFIG_{LIBDIR,PATH}
echo meson setup "${MESONARGS[@]}" >&2
meson setup "${MESONARGS[@]}"
- ) || die
+ ) || die -n
}
# @FUNCTION: meson_src_compile
@@ -450,7 +450,7 @@ meson_src_compile() {
set -- meson compile "${mesoncompileargs[@]}"
echo "$@" >&2
- "$@" || die "compile failed"
+ "$@" || die -n "compile failed"
}
# @FUNCTION: meson_src_test
@@ -469,7 +469,7 @@ meson_src_test() {
set -- meson test "${mesontestargs[@]}"
echo "$@" >&2
- "$@" || die "tests failed"
+ "$@" || die -n "tests failed"
}
# @FUNCTION: meson_install
@@ -488,7 +488,7 @@ meson_install() {
set -- meson install "${mesoninstallargs[@]}"
echo "$@" >&2
- "$@" || die "install failed"
+ "$@" || die -n "install failed"
}
# @FUNCTION: meson_src_install
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-04 1:07 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-04-04 1:07 UTC (permalink / raw
To: gentoo-commits
commit: dbeb507f468dcc75095d54b59c165dcc70ef558d
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Wed Apr 3 04:24:23 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr 4 01:06:39 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbeb507f
meson.eclass: set working directory to BUILD_DIR
In phases where the build directory has been configured and we are
operating on it, it is better to change directories instead of passing
-C options. This allows portage to know where we are, and in the case of
errors it will then print:
* Working directory: '/var/tmp/portage/www-client/elinks-0.16.1.1-r2/work/elinks-0.16.1.1-build'
* S: '/var/tmp/portage/www-client/elinks-0.16.1.1-r2/work/elinks-0.16.1.1'
instead of simply listing both as the same directory. This is much more
convenient to copy/paste for the sake of entering the failed build and
examining it.
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/meson.eclass | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index 3074fcb09fb0..9d7f830e58b0 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -435,8 +435,9 @@ meson_src_configure() {
meson_src_compile() {
debug-print-function ${FUNCNAME} "$@"
+ pushd "${BUILD_DIR}" > /dev/null || die
+
local mesoncompileargs=(
- -C "${BUILD_DIR}"
--jobs "$(get_makeopts_jobs 0)"
--load-average "$(get_makeopts_loadavg 0)"
)
@@ -451,6 +452,8 @@ meson_src_compile() {
set -- meson compile "${mesoncompileargs[@]}"
echo "$@" >&2
"$@" || die -n "compile failed"
+
+ popd > /dev/null || die
}
# @FUNCTION: meson_src_test
@@ -460,9 +463,10 @@ meson_src_compile() {
meson_src_test() {
debug-print-function ${FUNCNAME} "$@"
+ pushd "${BUILD_DIR}" > /dev/null || die
+
local mesontestargs=(
--print-errorlogs
- -C "${BUILD_DIR}"
--num-processes "$(makeopts_jobs "${MAKEOPTS}")"
"$@"
)
@@ -470,6 +474,8 @@ meson_src_test() {
set -- meson test "${mesontestargs[@]}"
echo "$@" >&2
"$@" || die -n "tests failed"
+
+ popd > /dev/null || die
}
# @FUNCTION: meson_install
@@ -479,8 +485,9 @@ meson_src_test() {
meson_install() {
debug-print-function ${FUNCNAME} "$@"
+ pushd "${BUILD_DIR}" > /dev/null || die
+
local mesoninstallargs=(
- -C "${BUILD_DIR}"
--destdir "${D}"
--no-rebuild
"$@"
@@ -489,6 +496,8 @@ meson_install() {
set -- meson install "${mesoninstallargs[@]}"
echo "$@" >&2
"$@" || die -n "install failed"
+
+ popd > /dev/null || die
}
# @FUNCTION: meson_src_install
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-03 17:38 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-04-03 17:38 UTC (permalink / raw
To: gentoo-commits
commit: cf771111d7518def4b0ab7ff586eb51b65d18967
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 2 14:05:09 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Wed Apr 3 17:34:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf771111
texlive-module.eclass: only invoke etexmf-update in postinst if not replacing versions
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-module.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index 9fc4e619ff9b..14e3280128a8 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -438,7 +438,7 @@ texlive-module_pkg_postinst() {
# installed texmf trees.
texlive-module_pkg_postrm() {
- etexmf-update
+ [[ -z ${REPLACED_BY_VERSION} ]] && etexmf-update
}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-03 17:38 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-04-03 17:38 UTC (permalink / raw
To: gentoo-commits
commit: 92f953a24b62bcce256f3f138c98f9fbb5126cd5
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 2 14:05:29 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Wed Apr 3 17:34:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92f953a2
texlive-module.eclass: add texlive-module_update_tlpdb
Update (or create) the tlpdb based on the contents of
/usr/share/tlpkg/tlpobj.
Closes: https://bugs.gentoo.org/928162
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-module.eclass | 57 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index 14e3280128a8..bfe5e12bf250 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -420,6 +420,61 @@ texlive-module_src_install() {
texlive-common_handle_config_files
}
+# @FUNCTION: texlive-module_update_tlpdb
+# @DESCRIPTION:
+# Update the TexLive package database at /usr/share/tlpkg/texlive.tlpdb.
+
+texlive-module_update_tlpdb() {
+ [[ ${TL_PV} -lt 2023 ]] && return
+
+ # If we are updating this package, then there is no need to update
+ # the tlpdb in postrm, as it will be again updated in postinst.
+ [[ ${EBUILD_PHASE} == postrm && -n ${REPLACED_BY_VERSION} ]] && return
+
+ local tlpkg="${EROOT}"/usr/share/tlpkg
+ local tlpobj="${tlpkg}"/tlpobj
+ local tlpdb="${tlpkg}"/texlive.tlpdb
+
+ ebegin "Regenerating TexLive package database"
+
+ local new_tlpdb="${T}"/texlive.tlpdb
+
+ touch "${new_tlpdb}" || die
+
+ find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 |
+ sort -z |
+ xargs -0 --no-run-if-empty cat >> "${new_tlpdb}"
+ assert "generating tlpdb failed"
+
+ if [[ -f ${tlpdb} ]]; then
+ cmp -s "${new_tlpdb}" "${tlpdb}"
+ local ret=$?
+ case ${ret} in
+ # content equal
+ 0)
+ # Nothing to do, return.
+ eend 0
+ return
+ ;;
+ # content differs
+ 1)
+ ;;
+ # cmp failed with an error
+ *)
+ eend ${ret} "comparing new and existing tlpdb failed (exit status: ${ret})"
+ die
+ ;;
+ esac
+ fi
+
+ mv "${new_tlpdb}" "${tlpdb}"
+ eend $? "moving tlpdb into position failed (exit status: ${?})" || die
+
+ if [[ ! -s ${tlpdb} ]]; then
+ rm "${tlpdb}" || die
+ fi
+}
+
# @FUNCTION: texlive-module_pkg_postinst
# @DESCRIPTION:
# exported function:
@@ -428,6 +483,7 @@ texlive-module_src_install() {
texlive-module_pkg_postinst() {
etexmf-update
+ texlive-module_update_tlpdb
[[ -n ${TL_MODULE_INFORMATION} ]] && elog "${TL_MODULE_INFORMATION}"
}
@@ -439,6 +495,7 @@ texlive-module_pkg_postinst() {
texlive-module_pkg_postrm() {
[[ -z ${REPLACED_BY_VERSION} ]] && etexmf-update
+ texlive-module_update_tlpdb
}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01 9:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-01 9:40 UTC (permalink / raw
To: gentoo-commits
commit: 73c49f3c00415dee99407dabba8d3b22895c9d25
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 25 19:01:52 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Apr 1 09:36:34 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73c49f3c
distutils-r1.eclass: Remove more junk from .dist-info
Closes: https://bugs.gentoo.org/927818
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 22b28e915859..7a314673a90b 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1314,14 +1314,23 @@ distutils_wheel_install() {
printf '%s\n' "${cmd[*]}"
"${cmd[@]}" || die "Wheel install failed"
- # remove installed licenses
+ # remove installed licenses and other junk
find "${root}$(python_get_sitedir)" -depth \
- \( -path '*.dist-info/COPYING*' \
- -o -path '*.dist-info/LICENSE*' \
+ \( -ipath '*.dist-info/AUTHORS*' \
+ -o -ipath '*.dist-info/CHANGELOG*' \
+ -o -ipath '*.dist-info/CODE_OF_CONDUCT*' \
+ -o -ipath '*.dist-info/COPYING*' \
+ -o -ipath '*.dist-info/*LICEN[CS]E*' \
+ -o -ipath '*.dist-info/NOTICE*' \
+ -o -ipath '*.dist-info/*Apache*' \
+ -o -ipath '*.dist-info/*GPL*' \
+ -o -ipath '*.dist-info/*MIT*' \
+ -o -path '*.dist-info/RECORD' \
-o -path '*.dist-info/license_files/*' \
-o -path '*.dist-info/license_files' \
-o -path '*.dist-info/licenses/*' \
-o -path '*.dist-info/licenses' \
+ -o -path '*.dist-info/zip-safe' \
\) -delete || die
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01 9:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-01 9:40 UTC (permalink / raw
To: gentoo-commits
commit: 1f35acddca01e91d4477f3d0340c47329517f474
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 29 15:53:11 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Apr 1 09:36:35 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f35acdd
python-utils-r1.eclass: epytest, error out on missing async plugin
Explicitly error out if epytest is run without an appropriate async
plugin, and the test suite contains async tests. Currently, these tests
are skipped with a warning but that is usually a mistake, and one can
easily miss it when pytest-asyncio or a similar plugin is installed
on the test system. However, a missing dependency can result
in the tests being skipped afterwards on the tinderbox.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/35913
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-utils-r1.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index caa39813feec..bbf751399476 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1349,6 +1349,9 @@ epytest() {
# override filterwarnings=error, we do not really want -Werror
# for end users, as it tends to fail on new warnings from deps
-Wdefault
+ # however, do error out if the package failed to load
+ # an appropriate async plugin
+ -Werror::pytest.PytestUnhandledCoroutineWarning
# override color output
"--color=${color}"
# count is more precise when we're dealing with a large number
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01 9:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-01 9:40 UTC (permalink / raw
To: gentoo-commits
commit: 0168114f8343530be3e879828eb6fa559aa8f936
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 25 18:47:39 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Apr 1 09:36:33 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0168114f
distutils-r1.eclass: Fix `det unittest` with 3.12 only
Closes: https://bugs.gentoo.org/926964
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index a1617999a037..22b28e915859 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -628,11 +628,11 @@ distutils_enable_tests() {
;;
unittest)
# unittest-or-fail is needed in py<3.12
- test_deps+="
- $(python_gen_cond_dep '
+ local test_pkgs="$(python_gen_cond_dep '
dev-python/unittest-or-fail[${PYTHON_USEDEP}]
- ' 3.10 3.11)
- "
+ ' 3.10 3.11
+ )"
+ [[ -n ${test_pkgs} ]] && test_deps+=" ${test_pkgs}"
;;
*)
die "${FUNCNAME}: unsupported argument: ${1}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01 9:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-01 9:40 UTC (permalink / raw
To: gentoo-commits
commit: 715da0fdbbe67cf6952831af4cf04d86d6d8b78b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 25 17:01:04 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Apr 1 09:36:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=715da0fd
distutils-r1.eclass: Run pdm.pep517.api via pdm-backend
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 21 ++++-----------------
1 file changed, 4 insertions(+), 17 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index e4b17c433e5d..16d97501012b 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -124,8 +124,6 @@ esac
#
# - pbr - pbr backend
#
-# - pdm - pdm.pep517 backend
-#
# - pdm-backend - pdm.backend backend
#
# - poetry - poetry-core backend
@@ -257,11 +255,6 @@ _distutils_set_globals() {
>=dev-python/pbr-6.0.0[${PYTHON_USEDEP}]
'
;;
- pdm)
- bdep+='
- >=dev-python/pdm-pep517-1.1.4[${PYTHON_USEDEP}]
- '
- ;;
pdm-backend)
bdep+='
>=dev-python/pdm-backend-2.1.8[${PYTHON_USEDEP}]
@@ -1002,12 +995,6 @@ _distutils-r1_print_package_versions() {
dev-python/wheel
)
;;
- pdm)
- packages+=(
- dev-python/pdm-pep517
- dev-python/setuptools
- )
- ;;
pdm-backend)
packages+=(
dev-python/pdm-backend
@@ -1214,12 +1201,9 @@ _distutils-r1_backend_to_key() {
pbr.build)
echo pbr
;;
- pdm.backend)
+ pdm.backend|pdm.pep517.api)
echo pdm-backend
;;
- pdm.pep517.api)
- echo pdm
- ;;
poetry.core.masonry.api|poetry.masonry.api)
echo poetry
;;
@@ -1280,6 +1264,9 @@ _distutils-r1_get_backend() {
flit.buildapi)
new_backend=flit_core.buildapi
;;
+ pdm.pep517.api)
+ new_backend=pdm.backend
+ ;;
poetry.masonry.api)
new_backend=poetry.core.masonry.api
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01 9:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-01 9:40 UTC (permalink / raw
To: gentoo-commits
commit: 380a5cbd2745ddfea53724246bf3b98976982064
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 25 18:44:50 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Apr 1 09:36:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=380a5cbd
distutils-r1.eclass: Refactor `distutils_enable_tests pytest`
Refactor `distutils_enable_tests pytest` to move `test_pkgs` logic
straight into pytest block, as it is not used by any other variant
anymore.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 44553f8da6f3..a1617999a037 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -606,16 +606,23 @@ distutils_enable_tests() {
[[ ${#} -eq 1 ]] || die "${FUNCNAME} takes exactly one argument: test-runner"
local test_deps=${RDEPEND}
- local test_pkgs
case ${1} in
pytest)
- test_pkgs='>=dev-python/pytest-7.4.4[${PYTHON_USEDEP}]'
+ local test_pkgs='>=dev-python/pytest-7.4.4[${PYTHON_USEDEP}]'
if [[ -n ${EPYTEST_TIMEOUT} ]]; then
test_pkgs+=' dev-python/pytest-timeout[${PYTHON_USEDEP}]'
fi
if [[ ${EPYTEST_XDIST} ]]; then
test_pkgs+=' dev-python/pytest-xdist[${PYTHON_USEDEP}]'
fi
+
+ if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
+ test_deps+=" ${test_pkgs//'${PYTHON_USEDEP}'/${PYTHON_USEDEP}}"
+ else
+ test_deps+=" $(python_gen_cond_dep "
+ ${test_pkgs}
+ ")"
+ fi
;;
setup.py)
;;
@@ -634,15 +641,6 @@ distutils_enable_tests() {
_DISTUTILS_TEST_RUNNER=${1}
python_test() { distutils-r1_python_test; }
- if [[ -n ${test_pkgs} ]]; then
- if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
- test_deps+=" ${test_pkgs//'${PYTHON_USEDEP}'/${PYTHON_USEDEP}}"
- else
- test_deps+=" $(python_gen_cond_dep "
- ${test_pkgs}
- ")"
- fi
- fi
if [[ -n ${test_deps} ]]; then
IUSE+=" test"
RESTRICT+=" !test? ( test )"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01 9:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-01 9:40 UTC (permalink / raw
To: gentoo-commits
commit: 838b52b4a3e44aaa2b86db7c68803d0018cfba98
Author: Sebastian Parborg <darkdefende <AT> gmail <DOT> com>
AuthorDate: Mon Mar 25 15:15:17 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Apr 1 09:36:28 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=838b52b4
git-r3.eclass: Add the ability to checkout ignored submodules.
If the submodules is specified in EGIT_SUBMODULES then it will ignore
the "none" check.
Signed-off-by: Sebastian Parborg <darkdefende <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/35911
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/git-r3.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
index a498bb8a5563..565f6ada8382 100644
--- a/eclass/git-r3.eclass
+++ b/eclass/git-r3.eclass
@@ -429,6 +429,7 @@ _git-r3_set_submodules() {
l=${l#submodule.}
local subname=${l%%.url=*}
+ local is_manually_specified=
# filter out on EGIT_SUBMODULES
if declare -p EGIT_SUBMODULES &>/dev/null; then
@@ -449,13 +450,14 @@ _git-r3_set_submodules() {
continue
else
einfo "Using submodule ${parent_path}${subname}"
+ is_manually_specified=1
fi
fi
# skip modules that have 'update = none', bug #487262.
local upd=$(echo "${data}" | git config -f /dev/fd/0 \
submodule."${subname}".update)
- [[ ${upd} == none ]] && continue
+ [[ ${upd} == none && ! ${is_manually_specified} ]] && continue
# https://github.com/git/git/blob/master/refs.c#L31
# we are more restrictive than git itself but that should not
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01 9:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-01 9:40 UTC (permalink / raw
To: gentoo-commits
commit: d3a4df00a967d8358ab90480be77ca667e25f8c9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 25 16:55:26 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Apr 1 09:36:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3a4df00
distutils-r1.eclass: Bump minimal dep versions
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 9be994595529..e4b17c433e5d 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -230,7 +230,7 @@ _distutils_set_globals() {
;;
hatchling)
bdep+='
- >=dev-python/hatchling-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/hatchling-1.21.1[${PYTHON_USEDEP}]
'
;;
jupyter)
@@ -240,7 +240,7 @@ _distutils_set_globals() {
;;
maturin)
bdep+='
- >=dev-util/maturin-1.0.1[${PYTHON_USEDEP}]
+ >=dev-util/maturin-1.4.0[${PYTHON_USEDEP}]
'
;;
no)
@@ -249,12 +249,12 @@ _distutils_set_globals() {
;;
meson-python)
bdep+='
- >=dev-python/meson-python-0.13.1[${PYTHON_USEDEP}]
+ >=dev-python/meson-python-0.15.0[${PYTHON_USEDEP}]
'
;;
pbr)
bdep+='
- >=dev-python/pbr-5.11.1[${PYTHON_USEDEP}]
+ >=dev-python/pbr-6.0.0[${PYTHON_USEDEP}]
'
;;
pdm)
@@ -264,27 +264,27 @@ _distutils_set_globals() {
;;
pdm-backend)
bdep+='
- >=dev-python/pdm-backend-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pdm-backend-2.1.8[${PYTHON_USEDEP}]
'
;;
poetry)
bdep+='
- >=dev-python/poetry-core-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/poetry-core-1.9.0[${PYTHON_USEDEP}]
'
;;
scikit-build-core)
bdep+='
- >=dev-python/scikit-build-core-0.4.6[${PYTHON_USEDEP}]
+ >=dev-python/scikit-build-core-0.8.2[${PYTHON_USEDEP}]
'
;;
setuptools)
bdep+='
- >=dev-python/setuptools-67.8.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-69.0.3[${PYTHON_USEDEP}]
'
;;
sip)
bdep+='
- >=dev-python/sip-6.7.9[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.8.3[${PYTHON_USEDEP}]
'
;;
standalone)
@@ -299,7 +299,7 @@ _distutils_set_globals() {
eqawarn "is enabled."
fi
else
- local setuptools_dep='>=dev-python/setuptools-67.8.0-r1[${PYTHON_USEDEP}]'
+ local setuptools_dep='>=dev-python/setuptools-69.0.3[${PYTHON_USEDEP}]'
case ${DISTUTILS_USE_SETUPTOOLS:-bdepend} in
no|manual)
@@ -508,7 +508,7 @@ distutils_enable_sphinx() {
_DISTUTILS_SPHINX_PLUGINS=( "${@}" )
local deps autodoc=1 d
- deps=">=dev-python/sphinx-5.3.0[\${PYTHON_USEDEP}]"
+ deps=">=dev-python/sphinx-7.2.6[\${PYTHON_USEDEP}]"
for d; do
if [[ ${d} == --no-autodoc ]]; then
autodoc=
@@ -532,7 +532,7 @@ distutils_enable_sphinx() {
use doc || return 0
local p
- for p in ">=dev-python/sphinx-5.3.0" \
+ for p in ">=dev-python/sphinx-7.2.6" \
"${_DISTUTILS_SPHINX_PLUGINS[@]}"
do
python_has_version "${p}[${PYTHON_USEDEP}]" ||
@@ -540,7 +540,7 @@ distutils_enable_sphinx() {
done
}
else
- deps=">=dev-python/sphinx-5.3.0"
+ deps=">=dev-python/sphinx-7.2.6"
fi
sphinx_compile_all() {
@@ -621,7 +621,7 @@ distutils_enable_tests() {
test_pkgs='>=dev-python/nose-1.3.7_p20221026[${PYTHON_USEDEP}]'
;;
pytest)
- test_pkgs='>=dev-python/pytest-7.3.1[${PYTHON_USEDEP}]'
+ test_pkgs='>=dev-python/pytest-7.4.4[${PYTHON_USEDEP}]'
if [[ -n ${EPYTEST_TIMEOUT} ]]; then
test_pkgs+=' dev-python/pytest-timeout[${PYTHON_USEDEP}]'
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01 9:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-01 9:40 UTC (permalink / raw
To: gentoo-commits
commit: 1423ac82bf7a4ae558a0eb637b46a183235d912e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 25 17:04:30 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Apr 1 09:36:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1423ac82
distutils-r1.eclass: Remove nosetests support
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 8 --------
1 file changed, 8 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 16d97501012b..44553f8da6f3 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -572,8 +572,6 @@ distutils_enable_sphinx() {
# with the specified test runner. Also copies the current value
# of RDEPEND to test?-BDEPEND. The test-runner argument must be one of:
#
-# - nose: nosetests (dev-python/nose)
-#
# - pytest: dev-python/pytest
#
# - setup.py: setup.py test (no deps included)
@@ -610,9 +608,6 @@ distutils_enable_tests() {
local test_deps=${RDEPEND}
local test_pkgs
case ${1} in
- nose)
- test_pkgs='>=dev-python/nose-1.3.7_p20221026[${PYTHON_USEDEP}]'
- ;;
pytest)
test_pkgs='>=dev-python/pytest-7.4.4[${PYTHON_USEDEP}]'
if [[ -n ${EPYTEST_TIMEOUT} ]]; then
@@ -1594,9 +1589,6 @@ distutils-r1_python_test() {
fi
case ${_DISTUTILS_TEST_RUNNER} in
- nose)
- "${EPYTHON}" -m nose -v "${@}"
- ;;
pytest)
epytest
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01 9:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-04-01 9:40 UTC (permalink / raw
To: gentoo-commits
commit: e686f42afb87ef04362e6c24968d5050e6bb5c91
Author: Sebastian Parborg <darkdefende <AT> gmail <DOT> com>
AuthorDate: Mon Mar 25 15:08:41 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Apr 1 09:36:28 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e686f42a
git-r3.eclass: Fix fetching git lfs files at certain refs. Only prune when needed.
If a lfs files was changed between the checked out ref and the git head
commit, it would fail to fetch them. Now correctly specify the ref for
the lfs fetch as well to ensure that we can fetch the correct lfs files.
Only prune when we have existing lfs files. For bigger repos with
submodules, it will be quite slow to try to prune. So if there are no
files to prune, don't attempt it. This also speeds up checkout when
only a few of the checked out git repos are lfs repos.
Signed-off-by: Sebastian Parborg <darkdefende <AT> gmail.com>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/git-r3.eclass | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
index de89fdc3a223..a498bb8a5563 100644
--- a/eclass/git-r3.eclass
+++ b/eclass/git-r3.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: git-r3.eclass
@@ -813,13 +813,17 @@ git-r3_fetch() {
if [[ ${EGIT_LFS} ]]; then
# Fetch the LFS files from the current ref (if any)
- local lfs_fetch_command=( git lfs fetch "${r}" )
+ local lfs_fetch_command=( git lfs fetch "${r}" "${remote_ref}" )
case "${EGIT_LFS_CLONE_TYPE}" in
shallow)
- lfs_fetch_command+=(
- --prune
- )
+ if [[ -d ${GIT_DIR}/lfs/objects ]] && ! rmdir "${GIT_DIR}"/lfs/objects 2> /dev/null; then
+ # Only prune if the lfs directory is not empty.
+ # The prune command can take a very long time to resolve even if there are no lfs objects.
+ lfs_fetch_command+=(
+ --prune
+ )
+ fi
;;
single)
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-30 10:27 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-30 10:27 UTC (permalink / raw
To: gentoo-commits
commit: 1fc8e5ccf427202fa2664acfe915c808590648e3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 30 10:21:25 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar 30 10:27:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fc8e5cc
llvm.org.eclass: Add 19.0.0_pre20240330 snapshot
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index a83ffa49dba5..607e3086d65a 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 19.0.0_pre20240330)
+ EGIT_COMMIT=a8b0ecd2605ff23f495a8af64e06c35f86834e54
+ ;;
19.0.0_pre20240322)
EGIT_COMMIT=f3cfe016c5d8429c0dccfa6f85442e2ea0d45a58
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-29 18:47 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-29 18:47 UTC (permalink / raw
To: gentoo-commits
commit: ec90f4c3a4e0ef9841dede7b18df90e2aceafd45
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Thu Mar 28 03:47:10 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar 29 18:45:05 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec90f4c3
flag-o-matic.eclass: simplify implementation and work in all cases
It curently uses some magic test to decide whether handcrafted code
works with or without -latomic. But it can claim that -latomic is not
needed for that case, while it is still needed for other cases.
> okay so append-atomic-flags does not work for me in this case
> noise-suppression-for-voice is doing `struct RnNoiseStats { uint32_t a, b, c, d; }; std::atomic<RnNoiseStats> m_stats;`
> not just a single large integer
It is simplest to always add -latomic when an ebuild gets that deep
feeling that yeah, it would like some atomics please. The downsides to
listing a linker library are exactly:
- it might be unavailable
- it might be unneeded
And the former case is trivial to solve -- this function already does so
-- while the latter case has a sanctioned approach that is already used
for other intrinsic compiler libraries, but not for atomic "because the
build system would have a hard time if we had to build atomic early on"
which isn't a very good reason to break ebuilds which aren't building
sys-devel/gcc.
As a side benefit, we now handle -latomic such that a package which
requires it, but only for parts of the installed package, does not
overlink to libatomic in *all* binaries/libraries, even if the default
LDFLAGS are overridden and the global -Wl,--as-needed disappears.
Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358
Bug: https://bugs.gentoo.org/820101
Bug: https://bugs.gentoo.org/925672
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 80 +++++++++++-----------------------------------
1 file changed, 19 insertions(+), 61 deletions(-)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 5ce7601fdde2..0e5271c7824f 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -1015,69 +1015,27 @@ test-compile() {
}
# @FUNCTION: append-atomic-flags
-# @USAGE: [bytes]
# @DESCRIPTION:
-# Attempts to detect if appending -latomic is required to use
-# a specific-sized atomic intrinsic, and if so, appends it. If the bytesize
-# is not specified, then check the four most common byte sizes (1, 2, 4, 8).
-# >=16-byte atomics are not included in this default set and must be explicitly
-# passed if required. This may require you to add a macro definition like
-# -Duint128_t=__uint128_t to your CFLAGS.
+# Attempts to detect if appending -latomic works, and does so.
append-atomic-flags() {
- # this implementation is as described in bug #820101
- local code
-
- # first, ensure we can compile a trivial program
- # this is because we can't distinguish if test-compile
- # fails because -latomic is actually needed or if we have a
- # broken toolchain (like due to bad FLAGS)
- read -r -d '' code <<- EOF
- int main(void)
- {
- return 0;
- }
- EOF
-
- # if toolchain is broken, just return silently. it's better to
- # let other pieces of the build fail later down the line than to
- # make people think that something to do with atomic support is the
- # cause of their problems.
- test-compile "c+ld" "${code}" || return
-
- local bytesizes
- [[ "${#}" == "0" ]] && bytesizes=( "1" "2" "4" "8" ) || bytesizes="${@}"
-
- for bytesize in ${bytesizes[@]}
- do
- # this sample program is informed by the great testing from the buildroot project:
- # https://github.com/buildroot/buildroot/commit/6856e417da4f3aa77e2a814db2a89429af072f7d
- read -r -d '' code <<- EOF
- #include <stdint.h>
- int main(void)
- {
- uint$((${bytesize} * 8))_t a = 0;
- __atomic_add_fetch(&a, 3, __ATOMIC_RELAXED);
- __atomic_compare_exchange_n(&a, &a, 2, 1, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
- return 0;
- }
- EOF
-
- # do nothing if test program links fine
- test-compile "c+ld" "${code}" && continue
-
- # ensure that the toolchain supports -latomic
- test-flags-CCLD "-latomic" &>/dev/null || die "-latomic is required but not supported by $(tc-getCC)"
-
- append-libs "-latomic"
-
- # verify that this did indeed fix the problem
- test-compile "c+ld" "${code}" || \
- die "libatomic does not include an implementation of ${bytesize}-byte atomics for this toolchain"
-
- # if any of the required bytesizes require -latomic, no need to continue
- # checking the others
- return
- done
+ # Make sure that the flag is actually valid. If it isn't, then maybe the
+ # library both doesn't exist and is redundant, or maybe the toolchain is
+ # broken, but let the build succeed or fail on its own.
+ test-flags-CCLD "-latomic" &>/dev/null || return
+
+ # We unconditionally append this flag. In the case that it's needed, the
+ # flag is, well, needed. In the case that it's not needed, it causes no
+ # harm, because we ensure that this specific library is definitely
+ # certainly linked with as-needed.
+ #
+ # Really, this should be implemented directly in the compiler, including
+ # the use of push/pop for as-needed. It's exactly what the gcc spec file
+ # does for e.g. -lgcc_s, but gcc is concerned about doing so due to build
+ # system internals and as a result all users have to deal with this mess
+ # instead.
+ #
+ # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358
+ append-libs "-Wl,--push-state,--as-needed,-latomic,--pop-state"
}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-24 17:47 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-24 17:47 UTC (permalink / raw
To: gentoo-commits
commit: e897f91e8e81b8168e7045db2f6d8dd9ebdb9ddf
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 24 17:19:46 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 17:47:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e897f91e
toolchain.eclass: abort if hybrid CPU detected w/ -march=native
Unfortunately, the previous approach can't work. --param doesn't fully
wipe out the previous value added by -march=native, so we still get a failed
comparison.
Users hitting this should install app-misc/resolve-march-native, run
resolve-march-native, and use that in their *FLAGS instead of -march=native -
at least for sys-devel/gcc via package.env, if not in make.conf.
Therefore, our only real option is to just abort when we detect a problematic
situation and tell users what to do.
The only other idea I had was to try taskset in src_compile which feels super
brittle and not sure it'd even work at all.
Thanks to Andrei for testing and debugging with us on IRC & the bug.
Bug: https://bugs.gentoo.org/904426
Bug: https://bugs.gentoo.org/908523
Bug: https://bugs.gentoo.org/915389
Bug: https://bugs.gentoo.org/927688
Thanks-to: Andrei Liavonchykau <andreil499 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 01fbd62dc12c..6a515f9b5c69 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1619,9 +1619,16 @@ gcc_do_filter_flags() {
[[ -n ${l1_cache_size} && ${l1_cache_size} =~ ^[0-9]+$ ]] || break
l1_cache_sizes[${l1_cache_size}]=1
done
- # If any of them are different, just pick the first one.
+ # If any of them are different, abort. We can't just pass one value of
+ # l1-cache-size because it doesn't cancel out the -march=native one.
if [[ ${#l1_cache_sizes[@]} -gt 1 ]] ; then
- append-flags --param=l1-cache-size=${l1_cache_size}
+ eerror "Different values of l1-cache-size detected!"
+ eerror "GCC will fail to bootstrap when comparing files with these flags."
+ eerror "This CPU is likely big.little/hybrid hardware with power/efficiency cores."
+ eerror "Please install app-misc/resolve-march-native and run 'resolve-march-native'"
+ eerror "to find a safe value of CFLAGS for this CPU. Note that this may vary"
+ eerror "depending on the core it ran on. taskset can be used to fix the cores used."
+ die "Varying l1-cache-size found, aborting (bug #915389, gcc PR#111768)"
fi
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-24 14:05 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-24 14:05 UTC (permalink / raw
To: gentoo-commits
commit: f64da62e50ad607de3a95b6a1d0d2ed8ba8bd268
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 24 14:05:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 14:05:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f64da62e
toolchain.eclass: improve hybrid check
Thanks to stikonas for debugging on IRC.
Bug: https://bugs.gentoo.org/904426
Bug: https://bugs.gentoo.org/908523
Bug: https://bugs.gentoo.org/915389
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 03e6a5d987d1..01fbd62dc12c 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1616,11 +1616,11 @@ gcc_do_filter_flags() {
[[ -z ${x} || ${x} -gt 64 ]] && break
l1_cache_size=$(taskset --cpu-list ${x} $(tc-getCC) -Q --help=params -O2 -march=native \
| awk '{ if ($1 ~ /^.*param.*l1-cache-size/) print $2; }' || die)
- [[ -n ${l1_cache_size} && ${l1_cache_size} =~ "^[0-9]+$" ]] || break
+ [[ -n ${l1_cache_size} && ${l1_cache_size} =~ ^[0-9]+$ ]] || break
l1_cache_sizes[${l1_cache_size}]=1
done
# If any of them are different, just pick the first one.
- if [[ ${#l1_cache_sizes} -gt 1 ]] ; then
+ if [[ ${#l1_cache_sizes[@]} -gt 1 ]] ; then
append-flags --param=l1-cache-size=${l1_cache_size}
fi
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-24 9:32 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-24 9:32 UTC (permalink / raw
To: gentoo-commits
commit: 6a5cd02ce95c2b0b46f82fa10e77c47816124128
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 24 09:30:06 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 09:32:09 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a5cd02c
libtool.eclass: depend on newer >=app-portage/elt-patches-20240116
--changed-deps users will get lots of rebuilds from 18f979e09388597a04255a2f42c464cf5a05d512
anyway so let's chuck this in.
Lots of fixes since the last required version 20170815.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/libtool.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/libtool.eclass b/eclass/libtool.eclass
index 9797b22aabff..bd6141e1ede9 100644
--- a/eclass/libtool.eclass
+++ b/eclass/libtool.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: libtool.eclass
@@ -18,8 +18,8 @@ if [[ -z ${_LIBTOOL_ECLASS} ]]; then
_LIBTOOL_ECLASS=1
case ${EAPI} in
- 6) DEPEND=">=app-portage/elt-patches-20170815" ;;
- 7|8) BDEPEND=">=app-portage/elt-patches-20170815" ;;
+ 6) DEPEND=">=app-portage/elt-patches-20240116" ;;
+ 7|8) BDEPEND=">=app-portage/elt-patches-20240116" ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-24 9:09 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-24 9:09 UTC (permalink / raw
To: gentoo-commits
commit: 18f979e09388597a04255a2f42c464cf5a05d512
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 24 09:08:48 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 09:08:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18f979e0
autotools.eclass: require >=dev-build/libtool-2.4.7-r3
Needed for c7012f128a3c04053924fa1e96ed48a1c758fc65 wrt upgrade ordering.
Bug: https://bugs.gentoo.org/927650
Bug: https://bugs.gentoo.org/927662
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/autotools.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 2290e8067813..1ced771c5345 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -149,7 +149,7 @@ if [[ -n ${WANT_AUTOCONF} ]] ; then
export WANT_AUTOCONF
fi
-_libtool_atom=">=dev-build/libtool-2.4.7"
+_libtool_atom=">=dev-build/libtool-2.4.7-r3"
if [[ -n ${WANT_LIBTOOL} ]] ; then
case ${WANT_LIBTOOL} in
none) _libtool_atom="" ;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 20:19 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 20:19 UTC (permalink / raw
To: gentoo-commits
commit: 52fa9d334e23327ba08139f8617d3ae16adff64e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 20:18:16 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 20:18:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52fa9d33
toolchain.eclass: fortify hybrid workaround
* Make sure the result is non-empty before trying to use it as an index
* Make sure the result is an integer before trying to use it as an index
* Don't try to set --param ... if we had no result at all
These are good ideas anyway but they happen with gnat-gpl as apparently
older GCC didn't actually have the l1-cache-size thing (I thought it was a bit
older than 10). Whatever.
Closes: https://bugs.gentoo.org/927646
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 331e107bacf3..03e6a5d987d1 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1616,10 +1616,11 @@ gcc_do_filter_flags() {
[[ -z ${x} || ${x} -gt 64 ]] && break
l1_cache_size=$(taskset --cpu-list ${x} $(tc-getCC) -Q --help=params -O2 -march=native \
| awk '{ if ($1 ~ /^.*param.*l1-cache-size/) print $2; }' || die)
+ [[ -n ${l1_cache_size} && ${l1_cache_size} =~ "^[0-9]+$" ]] || break
l1_cache_sizes[${l1_cache_size}]=1
done
# If any of them are different, just pick the first one.
- if [[ ${#l1_cache_sizes} != 1 ]] ; then
+ if [[ ${#l1_cache_sizes} -gt 1 ]] ; then
append-flags --param=l1-cache-size=${l1_cache_size}
fi
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 19:01 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 19:01 UTC (permalink / raw
To: gentoo-commits
commit: 366f99366481f7f34ce30e4fc85f50e4dc7e4a48
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 19:01:06 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 19:01:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=366f9936
toolchain.eclass: another error handling fix
Fixes: f81ec884754b3f3d3720d40b212e12ef364821c5
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index cd63712b1f24..331e107bacf3 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2089,8 +2089,9 @@ toolchain_src_install() {
docompress "${DATAPATH}"/{info,man}
- # Prune empty dirs left behind
- find "${ED}" -depth -type d -delete 2>/dev/null || die
+ # Prune empty dirs left behind. It's fine not to die here as we may
+ # really have no empty dirs left.
+ find "${ED}" -depth -type d -delete 2>/dev/null
# libstdc++.la: Delete as it doesn't add anything useful: g++ itself
# handles linkage correctly in the dynamic & static case. It also just
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 17:04 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 17:04 UTC (permalink / raw
To: gentoo-commits
commit: efc8afb3c59398c00fc42a06ec541bc481100873
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 17:03:50 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 17:04:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efc8afb3
toolchain.eclass: another error handling fix
This one seems to be part of the previous block and was missing a comment /
had misleading whitespace.
Fixes: f81ec884754b3f3d3720d40b212e12ef364821c5
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 45e175a6092e..cd63712b1f24 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2223,8 +2223,8 @@ gcc_movelibs() {
for FROMDIR in ${removedirs} ; do
rmdir "${D}"${FROMDIR} >& /dev/null
done
-
- find -depth "${ED}" -type d -exec rmdir {} + >& /dev/null || die
+ # XXX: Intentionally no die, here to remove empty dirs
+ find -depth "${ED}" -type d -exec rmdir {} + >& /dev/null
}
# Make sure the libtool archives have libdir set to where they actually
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 17:03 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-23 17:03 UTC (permalink / raw
To: gentoo-commits
commit: faadc0bc6bbc5bd65248446fc7b084331a4d3ec1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 16:07:27 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 17:03:18 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=faadc0bc
llvm.org.eclass: Add 19.0.0_pre20240322 snapshot
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.org.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index bd1b726a9a4e..a83ffa49dba5 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 19.0.0_pre20240322)
+ EGIT_COMMIT=f3cfe016c5d8429c0dccfa6f85442e2ea0d45a58
+ ;;
19.0.0_pre20240316)
EGIT_COMMIT=6d3cec01a6c29fa4e51ba129fa13dbf55d2b928e
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 16:05 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 16:05 UTC (permalink / raw
To: gentoo-commits
commit: f02411ef0cf08c3d352e158a154f8961ec24d366
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 16:05:20 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 16:05:20 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f02411ef
toolchain.eclass: prettify gcc bz links
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index f01edde0287d..45e175a6092e 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -359,7 +359,7 @@ DEPEND="${RDEPEND}"
if [[ ${PN} == gcc && ${PV} == *_p* ]] ; then
# Snapshots don't contain info pages.
# If they start to, adjust gcc_cv_prog_makeinfo_modern logic in toolchain_src_configure.
- # Needed unless/until https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106899 is fixed
+ # Needed unless/until https://gcc.gnu.org/PR106899 is fixed
BDEPEND+=" sys-apps/texinfo"
fi
@@ -803,7 +803,7 @@ toolchain_src_configure() {
gcc_do_filter_flags
if ! tc_version_is_at_least 11 && [[ $(gcc-major-version) -ge 12 ]] ; then
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105695
+ # https://gcc.gnu.org/PR105695
# bug #849359
export ac_cv_std_swap_in_utility=no
fi
@@ -1044,7 +1044,7 @@ toolchain_src_configure() {
fi
confgcc+=(
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100289
+ # https://gcc.gnu.org/PR100289
# TOOD: Find a way to disable this just for stage1 cross?
--disable-gcov
@@ -1374,7 +1374,7 @@ toolchain_src_configure() {
# TODO: Ignore RCs here (but TOOLCHAIN_IS_RC isn't yet an eclass var)
if [[ ${PV} == *_p* && -f "${S}"/gcc/doc/gcc.info ]] ; then
- # Safeguard against https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106899 being fixed
+ # Safeguard against https://gcc.gnu.org/PR106899 being fixed
# without corresponding ebuild changes.
eqawarn "Snapshot release with pre-generated info pages found!"
eqawarn "The BDEPEND in the ebuild should be updated to drop texinfo."
@@ -1989,10 +1989,10 @@ toolchain_src_install() {
# with it. Several reported bugs exist where the resulting image
# was wrong, rather than a simple compile/install failure:
# - bug #906155
- # - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42980
- # - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51814
- # - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103656
- # - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109898
+ # - https://gcc.gnu.org/PR42980
+ # - https://gcc.gnu.org/PR51814
+ # - https://gcc.gnu.org/PR103656
+ # - https://gcc.gnu.org/PR109898
S="${WORKDIR}"/build emake DESTDIR="${D}" -j1 install
# Punt some tools which are really only useful while building gcc
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 15:43 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 15:43 UTC (permalink / raw
To: gentoo-commits
commit: a4be4b7c55aa58e5d034f4c35b1f0851f8dd7f39
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 16 11:20:35 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 15:40:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4be4b7c
Revert "toolchain.eclass: default to just running the (execute) torture tests"
This reverts commit 97b5abe929550453932060bbf078bb4352b400c1.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index dfcbd80cb283..d996d2d02770 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -122,14 +122,14 @@ tc_version_is_between() {
# @DESCRIPTION:
# Defaults to 'check'. Allows choosing a different test target, e.g.
# 'test-gcc' (https://gcc.gnu.org/install/test.html).
-: "${GCC_TESTS_CHECK_TARGET:=check-gcc}"
+: "${GCC_TESTS_CHECK_TARGET:=check}"
# @ECLASS_VARIABLE: GCC_TESTS_RUNTESTFLAGS
# @DEFAULT_UNSET
# @USER_VARIABLE
# @DESCRIPTION:
# Extra options to pass to DejaGnu as RUNTESTFLAGS.
-: "${GCC_TESTS_RUNTESTFLAGS:=execute.exp}"
+: "${GCC_TESTS_RUNTESTFLAGS:=}"
# @ECLASS_VARIABLE: TOOLCHAIN_PATCH_DEV
# @DEFAULT_UNSET
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 15:43 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 15:43 UTC (permalink / raw
To: gentoo-commits
commit: f81ec884754b3f3d3720d40b212e12ef364821c5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 08:44:55 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 15:40:54 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f81ec884
toolchain.eclass: add various missing error handling
Prompted by Ionen.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d996d2d02770..5f350db0fe13 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -646,7 +646,7 @@ toolchain_src_prepare() {
# Update configure files
local f
einfo "Fixing misc issues in configure files"
- for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure)) ; do
+ for f in $(grep -l 'autoconf version 2.13' $(find "${S}" -name configure || die) || die) ; do
ebegin " Updating ${f/${S}\/} [LANG]"
patch "${f}" "${FILESDIR}"/gcc-configure-LANG.patch >& "${T}"/configure-patch.log \
|| eerror "Please file a bug about this"
@@ -1865,7 +1865,7 @@ gcc_do_make() {
emake doc-man-doxygen
# Clean bogus manpages. bug #113902
- find -name '*_build_*' -delete
+ find -name '*_build_*' -delete || die
# Blow away generated directory references. Newer versions of gcc
# have gotten better at this, but not perfect. This is easier than
@@ -1982,9 +1982,9 @@ toolchain_src_install() {
S="${WORKDIR}"/build-jit emake DESTDIR="${D}" -j1 install
# Punt some tools which are really only useful while building gcc
- find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \;
+ find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \; || die
# This one comes with binutils
- find "${ED}" -name libiberty.a -delete
+ find "${ED}" -name libiberty.a -delete || die
# Move the libraries to the proper location
gcc_movelibs
@@ -2006,9 +2006,9 @@ toolchain_src_install() {
S="${WORKDIR}"/build emake DESTDIR="${D}" -j1 install
# Punt some tools which are really only useful while building gcc
- find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \;
+ find "${ED}" -name install-tools -prune -type d -exec rm -rf "{}" \; || die
# This one comes with binutils
- find "${ED}" -name libiberty.a -delete
+ find "${ED}" -name libiberty.a -delete || die
# Move the libraries to the proper location
gcc_movelibs
@@ -2084,9 +2084,9 @@ toolchain_src_install() {
rm -rf "${ED}"/usr/share/{man,info}
rm -rf "${D}"${DATAPATH}/{man,info}
else
- local cxx_mandir=$(find "${WORKDIR}/build/${CTARGET}/libstdc++-v3" -name man)
+ local cxx_mandir=$(find "${WORKDIR}/build/${CTARGET}/libstdc++-v3" -name man || die)
if [[ -d ${cxx_mandir} ]] ; then
- cp -r "${cxx_mandir}"/man? "${D}${DATAPATH}"/man/
+ cp -r "${cxx_mandir}"/man? "${D}${DATAPATH}"/man/ || die
fi
fi
@@ -2100,7 +2100,7 @@ toolchain_src_install() {
docompress "${DATAPATH}"/{info,man}
# Prune empty dirs left behind
- find "${ED}" -depth -type d -delete 2>/dev/null
+ find "${ED}" -depth -type d -delete 2>/dev/null || die
# libstdc++.la: Delete as it doesn't add anything useful: g++ itself
# handles linkage correctly in the dynamic & static case. It also just
@@ -2137,17 +2137,17 @@ toolchain_src_install() {
-name libitm.la -o \
-name libvtv.la -o \
-name 'lib*san.la' \
- ')' -type f -delete
+ ')' -type f -delete || die
# Use gid of 0 because some stupid ports don't have
# the group 'root' set to gid 0. Send to /dev/null
# for people who are testing as non-root.
- chown -R 0:0 "${D}${LIBPATH}" 2>/dev/null
+ chown -R 0:0 "${D}${LIBPATH}" 2>/dev/null || die
# Installing gdb pretty-printers into gdb-specific location.
local py gdbdir=/usr/share/gdb/auto-load${LIBPATH}
- pushd "${D}${LIBPATH}" >/dev/null
- for py in $(find . -name '*-gdb.py') ; do
+ pushd "${D}${LIBPATH}" >/dev/null || die
+ for py in $(find . -name '*-gdb.py' || die) ; do
local multidir=${py%/*}
insinto "${gdbdir}/${multidir}"
@@ -2157,7 +2157,7 @@ toolchain_src_install() {
rm "${py}" || die
done
- popd >/dev/null
+ popd >/dev/null || die
# Don't scan .gox files for executable stacks - false positives
export QA_EXECSTACK="usr/lib*/go/*/*.gox"
@@ -2170,7 +2170,7 @@ toolchain_src_install() {
if use test ; then
mkdir "${T}"/test-results || die
cd "${WORKDIR}"/build || die
- find . -name \*.sum -exec cp --parents -v {} "${T}"/test-results \;
+ find . -name \*.sum -exec cp --parents -v {} "${T}"/test-results \; || die
fi
}
@@ -2217,7 +2217,7 @@ gcc_movelibs() {
removedirs="${removedirs} ${FROMDIR}"
FROMDIR=${D}${FROMDIR}
if [[ ${FROMDIR} != "${TODIR}" && -d ${FROMDIR} ]] ; then
- local files=$(find "${FROMDIR}" -maxdepth 1 ! -type d 2>/dev/null)
+ local files=$(find "${FROMDIR}" -maxdepth 1 ! -type d 2>/dev/null || die)
if [[ -n ${files} ]] ; then
mv ${files} "${TODIR}" || die
fi
@@ -2234,7 +2234,7 @@ gcc_movelibs() {
rmdir "${D}"${FROMDIR} >& /dev/null
done
- find -depth "${ED}" -type d -exec rmdir {} + >& /dev/null
+ find -depth "${ED}" -type d -exec rmdir {} + >& /dev/null || die
}
# Make sure the libtool archives have libdir set to where they actually
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 15:42 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 15:42 UTC (permalink / raw
To: gentoo-commits
commit: abf8e2ee55c52c8ae894e0b3845ea1cebfcfd4e8
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 16 01:38:45 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 15:40:50 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abf8e2ee
toolchain.eclass: install test results as orphaned files in /var/cache/gcc
This allows comparison across versions even after they get upgraded, which
is useful in itself (and across series), but also for looking into when regressions
started if they're reported but started a while ago.
Followup to 9ac3f1cf62b522236ba9efd7e923071c37df1e6d.
Bug: https://bugs.gentoo.org/214345
Bug: https://bugs.gentoo.org/253926
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 32 +++++++++++++++++++++-----------
1 file changed, 21 insertions(+), 11 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index c8543c617ccd..699e647c693a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2100,16 +2100,9 @@ toolchain_src_install() {
pax-mark -r "${ED}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1plus"
if use test ; then
- # TODO: In future, install orphaned to allow comparison across
- # more versions even after unmerged? Also would be useful for
- # historical records and tracking down regressions a while
- # after they first appeared, but were only just reported.
- einfo "Copying test results to ${EPREFIX}/var/cache/gcc/${CHOST}/${SLOT} for future comparison"
- (
- dodir /var/cache/gcc/${CHOST}/${SLOT}
- cd "${WORKDIR}"/build || die
- find . -name \*.sum -exec cp --parents -v {} "${ED}"/var/cache/gcc/${CHOST}/${SLOT} \;
- )
+ mkdir "${T}"/test-results || die
+ cd "${WORKDIR}"/build || die
+ find . -name \*.sum -exec cp --parents -v {} "${T}"/test-results \;
fi
}
@@ -2262,6 +2255,23 @@ create_revdep_rebuild_entry() {
EOF
}
+#---->> pkg_pre* <<----
+
+toolchain_pkg_preinst() {
+ if use test ; then
+ # Install as orphaned to allow comparison across more
+ # versions even after unmerged. Also useful for historical records
+ # and tracking down regressions a while after they first appeared,
+ # but were only just reported.
+ einfo "Copying test results to ${BROOT}/var/cache/gcc/${CHOST}/${SLOT} for future comparison"
+ (
+ mkdir -p "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT} || die
+ cd "${T}"/test-results || die
+ find . -name \*.sum -exec cp --parents -v {} "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT} \;
+ )
+ fi
+}
+
#---->> pkg_post* <<----
toolchain_pkg_postinst() {
@@ -2515,4 +2525,4 @@ fi
# enabled-by-default state:
# econf $(usex foo '' --disable-foo)
-EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm
+EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_preinst pkg_postinst pkg_postrm
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 15:42 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 15:42 UTC (permalink / raw
To: gentoo-commits
commit: c4eccac296c608e3fafad22d678540ddaab950d7
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 17 06:47:09 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 15:40:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4eccac2
toolchain.eclass: don't install all .sum files
Just rely on the validate_failures.py manifests instead. These logs get
real big real fast. People can save build logs if they want to look at
the tests otherwise.
Bug: https://bugs.gentoo.org/214345
Bug: https://bugs.gentoo.org/253926
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 6b9b49011bce..d996d2d02770 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2339,9 +2339,8 @@ toolchain_pkg_preinst() {
if [[ -f "${T}"/${CHOST}.xfail ]] ; then
cp -v "${T}"/${CHOST}.xfail "${GCC_TESTS_COMPARISON_DIR}/${SLOT}" || die
fi
- find . -name \*.sum -exec cp --parents -v {} "${GCC_TESTS_COMPARISON_DIR}/${SLOT}" \;
- )
- fi
+ )
+ fi
}
#---->> pkg_post* <<----
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 15:42 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 15:42 UTC (permalink / raw
To: gentoo-commits
commit: e9c493e228a1542c4bb0a036303102718a78b679
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 15 10:17:00 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 15:40:49 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9c493e2
toolchain.eclass: add CHOST to test data path
We get collisions for cross-compilers otherwise.
Closes: https://bugs.gentoo.org/925037
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 5fdbf47a8f3a..c8543c617ccd 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1849,10 +1849,10 @@ toolchain_src_test() {
SANDBOX_ON=0 LD_PRELOAD= nonfatal emake -k check
local success_tests=$?
- if [[ ! -d "${BROOT}"/var/cache/gcc/${SLOT} ]] && ! [[ ${success_tests} -eq 0 ]] ; then
+ if [[ ! -d "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT} ]] && ! [[ ${success_tests} -eq 0 ]] ; then
# We have no reference data saved from a previous run to know if
# the failures are tolerable or not, so we bail out.
- eerror "Reference test data does NOT exist at ${BROOT}/var/cache/gcc/${SLOT}"
+ eerror "Reference test data does NOT exist at ${BROOT}/var/cache/gcc/${CHOST}/${SLOT}"
eerror "Tests failed and nothing to compare with, so this is a fatal error."
eerror "(Set GCC_TESTS_IGNORE_NO_BASELINE=1 to make this non-fatal for initial run.)"
@@ -1868,14 +1868,14 @@ toolchain_src_test() {
# If previous results exist on the system, compare with it
# TODO: Distribute some baseline results in e.g. gcc-patches.git?
- if [[ -d "${BROOT}"/var/cache/gcc/${SLOT} ]] ; then
- einfo "Comparing with previous cached results at ${BROOT}/var/cache/gcc/${SLOT}"
+ if [[ -d "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT} ]] ; then
+ einfo "Comparing with previous cached results at ${BROOT}/var/cache/gcc/${CHOST}/${SLOT}"
# Exit with the following values:
# 0 if there is nothing of interest
# 1 if there are errors when comparing single test case files
# N for the number of errors found when comparing directories
- "${S}"/contrib/compare_tests "${BROOT}"/var/cache/gcc/${SLOT}/ . || die "Comparison for tests results failed, error code: $?"
+ "${S}"/contrib/compare_tests "${BROOT}"/var/cache/gcc/${CHOST}/${SLOT}/ . || die "Comparison for tests results failed, error code: $?"
fi
}
@@ -2104,11 +2104,11 @@ toolchain_src_install() {
# more versions even after unmerged? Also would be useful for
# historical records and tracking down regressions a while
# after they first appeared, but were only just reported.
- einfo "Copying test results to ${EPREFIX}/var/cache/gcc/${SLOT} for future comparison"
+ einfo "Copying test results to ${EPREFIX}/var/cache/gcc/${CHOST}/${SLOT} for future comparison"
(
- dodir /var/cache/gcc/${SLOT}
+ dodir /var/cache/gcc/${CHOST}/${SLOT}
cd "${WORKDIR}"/build || die
- find . -name \*.sum -exec cp --parents -v {} "${ED}"/var/cache/gcc/${SLOT} \;
+ find . -name \*.sum -exec cp --parents -v {} "${ED}"/var/cache/gcc/${CHOST}/${SLOT} \;
)
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 15:42 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 15:42 UTC (permalink / raw
To: gentoo-commits
commit: 307968a6436a5bf05b935a96127cb484e4b67759
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 15:39:40 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 15:39:40 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=307968a6
toolchain.eclass: use extglob for hybrid hack
Thanks Ionen!
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 79032416e881..5fdbf47a8f3a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1570,7 +1570,7 @@ gcc_do_filter_flags() {
declare -A l1_cache_sizes=()
# Workaround for inconsistent cache sizes on hybrid P/E cores
# See PR111768 (and bug #904426, bug #908523, and bug #915389)
- if [[ ${CBUILD} == x86_64* || ${CBUILD} == i?86* ]] && [[ ${CFLAGS} == *-march=native* ]] && tc-is-gcc ; then
+ if [[ ${CBUILD} == @(x86_64|i?86)* ]] && [[ ${CFLAGS} == *-march=native* ]] && tc-is-gcc ; then
local x
local l1_cache_size
# Iterate over all cores and find their L1 cache size
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 14:52 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 14:52 UTC (permalink / raw
To: gentoo-commits
commit: b505998d735e8c1d0d4bb757c1967bf80cc25d4a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 14:52:25 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 14:52:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b505998d
toolchain.eclass: split condition for readability
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index ec35591ec8fb..79032416e881 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1570,7 +1570,7 @@ gcc_do_filter_flags() {
declare -A l1_cache_sizes=()
# Workaround for inconsistent cache sizes on hybrid P/E cores
# See PR111768 (and bug #904426, bug #908523, and bug #915389)
- if [[ ${CBUILD} == x86_64* || ${CBUILD} == i?86* && ${CFLAGS} == *-march=native* ]] && tc-is-gcc ; then
+ if [[ ${CBUILD} == x86_64* || ${CBUILD} == i?86* ]] && [[ ${CFLAGS} == *-march=native* ]] && tc-is-gcc ; then
local x
local l1_cache_size
# Iterate over all cores and find their L1 cache size
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 14:49 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 14:49 UTC (permalink / raw
To: gentoo-commits
commit: 4fba38fc35fe2966574dd6bfd68ee82cd354976c
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 14:16:38 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 14:48:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4fba38fc
toolchain.eclass: add workaround for hybrid CPUs
Hybrid/big.little/PE CPUs may report an inconsistent cache size across cores
which can cause GCC's bootstrapping to fail its self-comparison.
When CBUILD is amd64 or x86 and -march=native is in CFLAGS, iterate over
all cores and record l1-cache-size. If any differ, use the first one we found.
Bug: https://gcc.gnu.org/PR111768
Closes: https://bugs.gentoo.org/904426
Closes: https://bugs.gentoo.org/908523
Closes: https://bugs.gentoo.org/915389
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index f59b8d61f6f5..ec35591ec8fb 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1567,6 +1567,24 @@ gcc_do_filter_flags() {
fi
fi
+ declare -A l1_cache_sizes=()
+ # Workaround for inconsistent cache sizes on hybrid P/E cores
+ # See PR111768 (and bug #904426, bug #908523, and bug #915389)
+ if [[ ${CBUILD} == x86_64* || ${CBUILD} == i?86* && ${CFLAGS} == *-march=native* ]] && tc-is-gcc ; then
+ local x
+ local l1_cache_size
+ # Iterate over all cores and find their L1 cache size
+ for x in $(seq 0 $(($(nproc)-1))) ; do
+ [[ -z ${x} || ${x} -gt 64 ]] && break
+ l1_cache_size=$(taskset --cpu-list ${x} $(tc-getCC) -Q --help=params -O2 -march=native \
+ | awk '{ if ($1 ~ /^.*param.*l1-cache-size/) print $2; }' || die)
+ l1_cache_sizes[${l1_cache_size}]=1
+ done
+ # If any of them are different, just pick the first one.
+ if [[ ${#l1_cache_sizes} != 1 ]] ; then
+ append-flags --param=l1-cache-size=${l1_cache_size}
+ fi
+ fi
if ver_test -lt 13.6 ; then
# These aren't supported by the just-built compiler either.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 14:49 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-23 14:49 UTC (permalink / raw
To: gentoo-commits
commit: df5debfbe8308f07f426d6a8a2230bb6b9107d30
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 13:46:22 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 14:48:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=df5debfb
toolchain.eclass: fix whitespace
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index e962c8181693..f59b8d61f6f5 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1886,7 +1886,7 @@ toolchain_src_install() {
# See https://gcc.gnu.org/onlinedocs/gcc-11.3.0/jit/internals/index.html#packaging-notes
# and bug #843341.
#
- # Both of the non-JIT and JIT builds are configured to install to $(DESTDIR)
+ # Both of the non-JIT and JIT builds are configured to install to $(DESTDIR)
# Install the configuration with --enable-host-shared first
# *then* the one without, so that the faster build
# of "cc1" et al overwrites the slower build.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 14:35 Arthur Zamarin
0 siblings, 0 replies; 6228+ messages in thread
From: Arthur Zamarin @ 2024-03-23 14:35 UTC (permalink / raw
To: gentoo-commits
commit: 5f34586458eebda4da0e2d35da93a4bc5f13c7d0
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 14:28:11 2024 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 14:29:55 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f345864
tree-sitter-grammar.eclass: don't pre-strip library
When STRIP is set to anon empty value, it is called during build of the
shared library. By unsetting it, the strip isn't called during compile
but by the portage strip phase.
Closes: https://bugs.gentoo.org/927571
Closes: https://bugs.gentoo.org/927572
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
eclass/tree-sitter-grammar.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass
index 74443e213b89..b5e020065547 100644
--- a/eclass/tree-sitter-grammar.eclass
+++ b/eclass/tree-sitter-grammar.eclass
@@ -163,6 +163,7 @@ tree-sitter-grammar_src_compile() {
if [[ -f "${S}/pyproject.toml" ]]; then
sed -e "/SONAME_MINOR :=/s/:=.*$/:= $(_get_tsg_abi_ver)/" -i "${S}/Makefile" || die
emake \
+ STRIP="" \
PREFIX="${EPREFIX}/usr" \
LIBDIR="${EPREFIX}/usr/$(get_libdir)"
else
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 10:25 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-23 10:25 UTC (permalink / raw
To: gentoo-commits
commit: 46e22dc8317eee07acf88263c6628b9bf0e735fd
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 06:51:24 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 10:23:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46e22dc8
llvm.org.eclass: Remove old snapshot support
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.org.eclass | 6 ------
1 file changed, 6 deletions(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 2086d44e7576..bd1b726a9a4e 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,12 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
19.0.0_pre20240316)
EGIT_COMMIT=6d3cec01a6c29fa4e51ba129fa13dbf55d2b928e
;;
- 19.0.0_pre20240309)
- EGIT_COMMIT=1c7607e8ee6ec4ca3abce1561dd39a98d4efac96
- ;;
- 19.0.0_pre20240302)
- EGIT_COMMIT=597f9761c3a5ba278fa930d2fac13f156287d505
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 8:28 Arthur Zamarin
0 siblings, 0 replies; 6228+ messages in thread
From: Arthur Zamarin @ 2024-03-23 8:28 UTC (permalink / raw
To: gentoo-commits
commit: 949b5c8afe07fd5f54942d7190d963b4ccf1e38a
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 14 14:04:04 2024 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 08:27:42 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=949b5c8a
tree-sitter-grammar.eclass: support opt in python bindings
New tree-sitter cli generated bindings and code around grammars and
parsers now support bulding a python wheel which supply much better
API and library for consumers in python bindings.
Currently I've added only python as a binding languages, even though
rust, swift, and go are also available. We should add them when we
see a request for them. Python will be needed for pkgcheck.
When we opt in into python bindings, we call the matching distutils
phase functions when `use python` is true.
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
eclass/tree-sitter-grammar.eclass | 86 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 85 insertions(+), 1 deletion(-)
diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass
index 13539daf7e61..74443e213b89 100644
--- a/eclass/tree-sitter-grammar.eclass
+++ b/eclass/tree-sitter-grammar.eclass
@@ -36,6 +36,44 @@ RESTRICT+=" !test? ( test )"
# Used to override upstream tag name if tagged differently, e.g. most releases
# are v${PV} but some are tagged as rust-${PV}.
+# @ECLASS_VARIABLE: TS_BINDINGS
+# @PRE_INHERIT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Array of bindings language to build. Currently only "python" is supported.
+
+for _BINDING in "${TS_BINDINGS[@]}"; do
+ case ${_BINDING} in
+ python)
+ DISTUTILS_EXT=1
+ DISTUTILS_OPTIONAL=1
+ DISTUTILS_USE_PEP517=setuptools
+ PYTHON_COMPAT=( python3_{10..12} )
+ inherit distutils-r1
+
+ IUSE+=" python"
+ REQUIRED_USE+=" python? ( ${PYTHON_REQUIRED_USE} )"
+
+ DEPEND+=" python? (
+ ${PYTHON_DEPS}
+ )"
+ RDEPEND+=" python? (
+ ${PYTHON_DEPS}
+ >=dev-python/tree-sitter-0.21.0[${PYTHON_USEDEP}]
+ )"
+ BDEPEND+=" python? (
+ ${PYTHON_DEPS}
+ ${DISTUTILS_DEPS}
+ dev-python/wheel[${PYTHON_USEDEP}]
+ )"
+ ;;
+ *)
+ die "Unknown binding: ${_BINDING}"
+ ;;
+ esac
+done
+unset _BINDING
+
# @FUNCTION: _get_tsg_abi_ver
# @INTERNAL
# @DESCRIPTION:
@@ -49,6 +87,34 @@ _get_tsg_abi_ver() {
die "Unable to extract ABI version for this grammar"
}
+tree-sitter-grammar_src_prepare() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ default
+
+ local binding
+ for binding in "${TS_BINDINGS[@]}"; do
+ case ${binding} in
+ python)
+ use python && distutils-r1_src_prepare
+ ;;
+ esac
+ done
+}
+
+tree-sitter-grammar_src_configure() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local binding
+ for binding in "${TS_BINDINGS[@]}"; do
+ case ${binding} in
+ python)
+ use python && distutils-r1_src_configure
+ ;;
+ esac
+ done
+}
+
# @FUNCTION: _tree-sitter-grammar_legacy_compile
# @INTERNAL
# @DESCRIPTION:
@@ -102,6 +168,15 @@ tree-sitter-grammar_src_compile() {
else
_tree-sitter-grammar_legacy_compile
fi
+
+ local binding
+ for binding in "${TS_BINDINGS[@]}"; do
+ case ${binding} in
+ python)
+ use python && distutils-r1_src_compile
+ ;;
+ esac
+ done
}
# @FUNCTION: tree-sitter-grammar_src_test
@@ -131,8 +206,17 @@ tree-sitter-grammar_src_install() {
dolib.so "${WORKDIR}/${soname}"
dosym "${soname}" /usr/$(get_libdir)/lib${PN}$(get_libname)
fi
+
+ local binding
+ for binding in "${TS_BINDINGS[@]}"; do
+ case ${binding} in
+ python)
+ use python && distutils-r1_src_install
+ ;;
+ esac
+ done
}
fi
-EXPORT_FUNCTIONS src_compile src_test src_install
+EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 8:28 Arthur Zamarin
0 siblings, 0 replies; 6228+ messages in thread
From: Arthur Zamarin @ 2024-03-23 8:28 UTC (permalink / raw
To: gentoo-commits
commit: 83e994e50f806880e1cf1b2b2d47a1d69ab18a60
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 14 14:03:02 2024 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 08:27:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83e994e5
tree-sitter-grammar.eclass: support for new upstream makefile
The build system for tree-sitters now generates a much better
Makefile we can use to build the parser and grammar into a good C
library.
This also matches the build procedure used by upstream, making our
reports easier for them to debug (we hit this issue in an old bug
report on memory leak with tree-sitter-bash).
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
eclass/tree-sitter-grammar.eclass | 64 ++++++++++++++++++++++++++-------------
1 file changed, 43 insertions(+), 21 deletions(-)
diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass
index b2563220cfc2..13539daf7e61 100644
--- a/eclass/tree-sitter-grammar.eclass
+++ b/eclass/tree-sitter-grammar.eclass
@@ -1,10 +1,11 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: tree-sitter-grammar.eclass
# @MAINTAINER:
# Matthew Smith <matthew@gentoo.org>
# Nick Sarnie <sarnex@gentoo.org>
+# Arthur Zamarin <arthurzam@gentoo.org>
# @AUTHOR:
# Matthew Smith <matthew@gentoo.org>
# @SUPPORTED_EAPIS: 8
@@ -22,7 +23,7 @@ inherit edo multilib toolchain-funcs
SRC_URI="https://github.com/tree-sitter/${PN}/archive/${TS_PV:-v${PV}}.tar.gz
-> ${P}.tar.gz"
-S="${WORKDIR}"/${PN}-${TS_PV:-${PV}}/src
+S="${WORKDIR}"/${PN}-${TS_PV:-${PV}}
BDEPEND+=" test? ( dev-util/tree-sitter-cli )"
IUSE+=" test"
@@ -44,15 +45,16 @@ _get_tsg_abi_ver() {
# This sed script finds ABI definition string in parser source file,
# substitutes all the string until the ABI number, and prints remains
# (the ABI number itself)
- sed -n 's/#define LANGUAGE_VERSION //p' "${S}"/parser.c ||
+ sed -n 's/#define LANGUAGE_VERSION //p' "${S}"/src/parser.c ||
die "Unable to extract ABI version for this grammar"
}
-# @FUNCTION: tree-sitter-grammar_src_compile
+# @FUNCTION: _tree-sitter-grammar_legacy_compile
+# @INTERNAL
# @DESCRIPTION:
-# Compiles the Tree Sitter parser as a shared library.
-tree-sitter-grammar_src_compile() {
- debug-print-function ${FUNCNAME} "${@}"
+# Compiles the Tree Sitter parser as a shared library, the legacy way.
+_tree-sitter-grammar_legacy_compile() {
+ cd "${S}/src" || die
# Grammars always contain parser.c, and sometimes a scanner.c,
# or scanner.cc.
@@ -60,17 +62,17 @@ tree-sitter-grammar_src_compile() {
tc-export CC CXX
# We want to use the bundled parser.h, not anything lurking on the system, hence -I
# See https://github.com/tree-sitter/tree-sitter-bash/issues/199#issuecomment-1694416505
- export CFLAGS="${CFLAGS} -fPIC -I. -Itree_sitter"
- export CXXFLAGS="${CXXFLAGS} -fPIC -I. -Itree_sitter"
+ local -x CFLAGS="${CFLAGS} -fPIC -I. -Itree_sitter"
+ local -x CXXFLAGS="${CXXFLAGS} -fPIC -I. -Itree_sitter"
local objects=( parser.o )
- if [[ -f "${S}"/scanner.c || -f "${S}"/scanner.cc ]]; then
+ if [[ -f "${S}"/src/scanner.c || -f "${S}"/src/scanner.cc ]]; then
objects+=( scanner.o )
fi
emake "${objects[@]}"
local link="$(tc-getCC) ${CFLAGS}"
- if [[ -f "${S}/scanner.cc" ]]; then
+ if [[ -f "${S}/src/scanner.cc" ]]; then
link="$(tc-getCXX) ${CXXFLAGS}"
fi
@@ -84,10 +86,24 @@ tree-sitter-grammar_src_compile() {
edo ${link} ${LDFLAGS} \
-shared \
*.o \
- ${soname_args} \
+ "${soname_args}" \
-o "${WORKDIR}"/${soname}
}
+tree-sitter-grammar_src_compile() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ # legacy grammars don't have a pyproject.toml
+ if [[ -f "${S}/pyproject.toml" ]]; then
+ sed -e "/SONAME_MINOR :=/s/:=.*$/:= $(_get_tsg_abi_ver)/" -i "${S}/Makefile" || die
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ else
+ _tree-sitter-grammar_legacy_compile
+ fi
+}
+
# @FUNCTION: tree-sitter-grammar_src_test
# @DESCRIPTION:
# Runs the Tree Sitter parser's test suite.
@@ -95,20 +111,26 @@ tree-sitter-grammar_src_compile() {
tree-sitter-grammar_src_test() {
debug-print-function ${FUNCNAME} "${@}"
- (cd .. && tree-sitter test) || die "Test suite failed"
+ tree-sitter test || die "Test suite failed"
}
-# @FUNCTION: tree-sitter-grammar_src_install
-# @DESCRIPTION:
-# Installs the Tree Sitter parser library.
tree-sitter-grammar_src_install() {
debug-print-function ${FUNCNAME} "${@}"
- local soname=lib${PN}$(get_libname $(_get_tsg_abi_ver))
-
- dolib.so "${WORKDIR}/${soname}"
- dosym "${soname}" \
- /usr/$(get_libdir)/lib${PN}$(get_libname)
+ # legacy grammars don't have a pyproject.toml
+ if [[ -f "${S}/pyproject.toml" ]]; then
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ DESTDIR="${D}/" \
+ install
+ find "${D}" -name '*.a' -delete || die "failed to remove static libraries"
+ else
+ local soname=lib${PN}$(get_libname $(_get_tsg_abi_ver))
+
+ dolib.so "${WORKDIR}/${soname}"
+ dosym "${soname}" /usr/$(get_libdir)/lib${PN}$(get_libname)
+ fi
}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-19 14:12 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-03-19 14:12 UTC (permalink / raw
To: gentoo-commits
commit: ac21aa95b7ba7dcca5bd4751cc884645d01916b6
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 18 13:51:01 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue Mar 19 14:05:45 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac21aa95
texlive-common.eclass: etexmf-update to call 'die' for non-"dev-telive"
This also makes etexmf-update fail for packages that are outside
dev-texlive/* and don't use the TexLive version scheme like
dev-libs/kpathsea and soon dev-tex/hevea.
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/texlive-common.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/texlive-common.eclass b/eclass/texlive-common.eclass
index 1e5c8a53d5cc..e8a740df1f27 100644
--- a/eclass/texlive-common.eclass
+++ b/eclass/texlive-common.eclass
@@ -179,7 +179,8 @@ etexmf-update() {
if [[ -z ${ROOT} && -x "${EPREFIX}"/usr/sbin/texmf-update ]] ; then
"${EPREFIX}"/usr/sbin/texmf-update
local res="${?}"
- if [[ "${res}" -ne 0 ]] && ver_test -ge 2023; then
+ if [[ "${res}" -ne 0 ]] &&
+ { [[ ${CATEGORY} != dev-texlive ]] || ver_test -ge 2023; } then
die -n "texmf-update returned non-zero exit status ${res}"
fi
else
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-18 13:02 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-18 13:02 UTC (permalink / raw
To: gentoo-commits
commit: a987beb34abf907570d0e199fa062ad8dc929d68
Author: Kyle Elbert <kcelbert <AT> gmail <DOT> com>
AuthorDate: Mon Mar 18 12:42:04 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 18 13:02:35 2024 +0000
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 <kcelbert <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/35816
Signed-off-by: Sam James <sam <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-17 9:18 Andreas K. Hüttel
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas K. Hüttel @ 2024-03-17 9:18 UTC (permalink / raw
To: gentoo-commits
commit: 394aed402f624e26ad0e422fd9ddcaeac8ec3772
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 17 09:17:28 2024 +0000
Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sun Mar 17 09:18:17 2024 +0000
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 <dilfridge <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-16 16:25 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-16 16:25 UTC (permalink / raw
To: gentoo-commits
commit: 98e566d20f953bae689a185776da2dd10ec58c13
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 16 16:18:56 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar 16 16:25:03 2024 +0000
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 <mgorny <AT> 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
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-16 4:44 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-16 4:44 UTC (permalink / raw
To: gentoo-commits
commit: ced2f28eb782e273f62d34cd4c1aa08408869826
Author: Jeremi Piotrowski <jpiotrowski <AT> microsoft <DOT> com>
AuthorDate: Tue Mar 12 09:35:48 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 16 04:05:10 2024 +0000
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 <jpiotrowski <AT> microsoft.com>
Closes: https://github.com/gentoo/gentoo/pull/35721
Signed-off-by: Sam James <sam <AT> 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)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-16 4:44 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-16 4:44 UTC (permalink / raw
To: gentoo-commits
commit: 486f9fc090b28ad5cc09b39c734ebbfadb81be08
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 16 04:43:53 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 16 04:43:53 2024 +0000
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 <sam <AT> 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}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-15 20:45 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-15 20:45 UTC (permalink / raw
To: gentoo-commits
commit: 411487da18816c8b04071cbcd31e3ca21549c65c
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Fri Mar 15 20:32:14 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar 15 20:45:24 2024 +0000
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 <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> 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
"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-12 5:13 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-12 5:13 UTC (permalink / raw
To: gentoo-commits
commit: 920edc504064fa38caa462b4d378114599f65925
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 10 13:51:03 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Mar 12 05:08:04 2024 +0000
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 <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/35695
Signed-off-by: Michał Górny <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-12 0:38 Mike Gilbert
0 siblings, 0 replies; 6228+ messages in thread
From: Mike Gilbert @ 2024-03-12 0:38 UTC (permalink / raw
To: gentoo-commits
commit: f51cd5b64c14ddfb83488a12d538c66a4a309376
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 9 19:16:26 2024 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Tue Mar 12 00:38:27 2024 +0000
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 <floppym <AT> 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
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-12 0:34 Mike Gilbert
0 siblings, 0 replies; 6228+ messages in thread
From: Mike Gilbert @ 2024-03-12 0:34 UTC (permalink / raw
To: gentoo-commits
commit: fa0af68d68dd186767157c5b464d68a5f331efcc
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 12 00:29:07 2024 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Tue Mar 12 00:33:42 2024 +0000
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 <floppym <AT> 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'
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-11 23:05 Andreas K. Hüttel
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas K. Hüttel @ 2024-03-11 23:05 UTC (permalink / raw
To: gentoo-commits
commit: b6bf005b843e3d6ee10aa1f088d93c4f89055cc6
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 11 23:04:34 2024 +0000
Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Mon Mar 11 23:05:16 2024 +0000
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 <dilfridge <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-11 19:20 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-11 19:20 UTC (permalink / raw
To: gentoo-commits
commit: 30f3ff1918fd6ced807451130fb79c432085470b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 11 18:59:31 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 11 19:20:16 2024 +0000
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 <sam <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-10 21:10 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-03-10 21:10 UTC (permalink / raw
To: gentoo-commits
commit: ece8a551eed30f9fa366d10f9a1e8d69451eb01c
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Thu Feb 29 06:18:36 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Mar 10 21:10:09 2024 +0000
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 <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> 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:
# java@gentoo.org
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-10 21:10 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-03-10 21:10 UTC (permalink / raw
To: gentoo-commits
commit: c8b8fbed07b0046e7251f3253a079a7f961c046a
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Mon Feb 26 13:36:03 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sun Mar 10 21:10:05 2024 +0000
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 <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> 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)"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-09 15:52 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-09 15:52 UTC (permalink / raw
To: gentoo-commits
commit: 1646a3aa80647e3b525f35cbdc2821c81fac3e5b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 9 15:12:25 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar 9 15:51:49 2024 +0000
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 <mgorny <AT> 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
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08 5:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-08 5:40 UTC (permalink / raw
To: gentoo-commits
commit: 2fd092b4457fae45cf155a1a0e2cad00ca112851
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 27 19:43:11 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 8 05:40:21 2024 +0000
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 <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08 5:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-08 5:40 UTC (permalink / raw
To: gentoo-commits
commit: 94d7e7e96945ed47e6d3ea6591cf498fd77994b8
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Thu Jan 18 20:28:31 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 8 05:40:24 2024 +0000
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 <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/35554
Signed-off-by: Michał Górny <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08 5:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-08 5:40 UTC (permalink / raw
To: gentoo-commits
commit: bd8fbec80e9217a717f70621fdd6989a9d758466
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 27 19:37:25 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 8 05:40:20 2024 +0000
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 <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08 5:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-08 5:40 UTC (permalink / raw
To: gentoo-commits
commit: 396a5939bfd6cfabca6356811b7e5e04aa4737e4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 27 12:22:01 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 8 05:40:20 2024 +0000
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 <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08 5:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-08 5:40 UTC (permalink / raw
To: gentoo-commits
commit: 4c1a6b824622ebecbc2b75b93e6b128ab2ce5aab
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 27 19:49:45 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 8 05:40:22 2024 +0000
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 <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08 5:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-08 5:40 UTC (permalink / raw
To: gentoo-commits
commit: 59c3eabf79595f15b091a64d649ca865441ce05d
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 3 06:42:38 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 8 05:40:23 2024 +0000
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 <sam <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> 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+=(
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08 5:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-08 5:40 UTC (permalink / raw
To: gentoo-commits
commit: 035330c42417fb6eeb920565f695877a4b20bdb7
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 2 15:20:20 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 8 05:40:23 2024 +0000
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 <chewi <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-07 18:04 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-07 18:04 UTC (permalink / raw
To: gentoo-commits
commit: 015591c4c4c085390dc4cf1344a6efa26fb55bd3
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 7 17:59:44 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 7 17:59:44 2024 +0000
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 <AT> zoho.com/T/#t.
Signed-off-by: Sam James <sam <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-06 17:03 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-06 17:03 UTC (permalink / raw
To: gentoo-commits
commit: 49b8d94ff9b1ff104284a49e0250a919dfdf04db
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 6 16:31:20 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 6 17:03:19 2024 +0000
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 <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-02 13:24 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-03-02 13:24 UTC (permalink / raw
To: gentoo-commits
commit: 551c16475257c1b1597b125bac98c97b6ea13e89
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 2 11:52:40 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar 2 13:24:27 2024 +0000
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 <mgorny <AT> 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
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-01 20:50 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-01 20:50 UTC (permalink / raw
To: gentoo-commits
commit: f2e1792ded67e62edc85e92e84f65d773a8f05bd
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Fri Mar 1 20:47:45 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar 1 20:50:31 2024 +0000
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 <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> 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+=(
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-01 19:25 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-01 19:25 UTC (permalink / raw
To: gentoo-commits
commit: 5e7b32c59d53f8240dfd7a17e31fc533fa811f75
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Tue Jan 16 05:43:58 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar 1 19:25:16 2024 +0000
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 <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-01 19:25 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-01 19:25 UTC (permalink / raw
To: gentoo-commits
commit: e9189344b971f7ee0e2bec36650c57dbade4f122
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Tue Feb 20 05:53:34 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar 1 19:25:16 2024 +0000
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 <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> 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
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-01 19:25 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-03-01 19:25 UTC (permalink / raw
To: gentoo-commits
commit: b95ea11330e446d0deb89ca7d78356cb2a7d0d06
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Tue Feb 20 05:39:51 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar 1 19:25:17 2024 +0000
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 <eschwartz93 <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/35528
Signed-off-by: Sam James <sam <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-28 20:40 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-02-28 20:40 UTC (permalink / raw
To: gentoo-commits
commit: 570e064dbe098d9c0ed4c7fd3aba8a0b4a8e9935
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 28 20:09:24 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Feb 28 20:40:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=570e064d
llvm.org.eclass: Remove old snapshot support
Signed-off-by: Michał Górny <mgorny <AT> 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}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-28 13:56 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-02-28 13:56 UTC (permalink / raw
To: gentoo-commits
commit: 853e413a3e89272a5828a6259d017e42df5ec857
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 27 13:56:20 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Feb 28 13:53:40 2024 +0000
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 <asturm <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-28 13:56 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-02-28 13:56 UTC (permalink / raw
To: gentoo-commits
commit: bebb49106db4996395c8a01a957f2daadf1a91cd
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 27 13:54:59 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Feb 28 13:53:40 2024 +0000
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 <asturm <AT> 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 | \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-27 23:54 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-02-27 23:54 UTC (permalink / raw
To: gentoo-commits
commit: 04f3a1147f65b5bb090710cdf098d392c6f2ad51
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 27 23:52:55 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Feb 27 23:52:55 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04f3a114
go-module.eclass: fix whitespace
Signed-off-by: Sam James <sam <AT> 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.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-27 23:54 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-02-27 23:54 UTC (permalink / raw
To: gentoo-commits
commit: 0e651d4b8db7082279b5e110c41abb2bc5293eba
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 27 23:53:31 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Feb 27 23:53:31 2024 +0000
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 <sam <AT> 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:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-24 14:54 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-02-24 14:54 UTC (permalink / raw
To: gentoo-commits
commit: 6caf2e1d0ef6bf055be7569eb300fa9bd0f7ef63
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 24 14:52:53 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb 24 14:52:53 2024 +0000
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 <mgorny <AT> 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
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-24 12:57 Jakov Smolić
0 siblings, 0 replies; 6228+ messages in thread
From: Jakov Smolić @ 2024-02-24 12:57 UTC (permalink / raw
To: gentoo-commits
commit: 8876dc1db3205682d1ed8543b7fef1ce2b619874
Author: Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 24 12:55:07 2024 +0000
Commit: Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Sat Feb 24 12:55:07 2024 +0000
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ć <jsmolic <AT> 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..000000000000
--- 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 <perfinion@gentoo.org>
-# @AUTHOR:
-# Jason Zaman <perfinion@gentoo.org>
-# @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 --define=INCLUDEDIR=\$(PREFIX)/include
- EOF
-
- if tc-is-cross-compiler; then
- echo "build --distinct_host_configuration" >> "${T}/bazelrc" || die
- else
- echo "build --nodistinct_host_configuration" >> "${T}/bazelrc" || die
- fi
-}
-
-# @FUNCTION: ebazel
-# @USAGE: [<args>...]
-# @DESCRIPTION:
-# Run bazel with the bazelrc and output_base.
-#
-# output_base will be specific to $BUILD_DIR (if unset, $S).
-# bazel_setup_bazelrc will be called and the created bazelrc
-# will be passed to bazel.
-#
-# Will automatically die if bazel does not exit cleanly.
-ebazel() {
- bazel_setup_bazelrc
-
- # Use different build folders for each multibuild variant.
- local output_base="${BUILD_DIR:-${S}}"
- output_base="${output_base%/}-bazel-base"
- mkdir -p "${output_base}" || die
-
- set -- "${BAZEL_BINARY}" --bazelrc="${T}/bazelrc" --output_base="${output_base}" ${@}
- echo "${*}" >&2
- "${@}" || die "ebazel failed"
-}
-
-# @FUNCTION: bazel_load_distfiles
-# @USAGE: <distfiles>...
-# @DESCRIPTION:
-# Populate the bazel distdir to fetch from since it cannot use
-# the network. Bazel looks in distdir but will only look for the
-# original filename, not the possibly renamed one that portage
-# downloaded. If the line has -> we to rename it back. This also
-# handles use-conditionals that SRC_URI does.
-#
-# Example:
-# @CODE
-# bazel_external_uris="http://a/file-2.0.tgz
-# python? ( http://b/1.0.tgz -> foo-1.0.tgz )"
-# SRC_URI="http://c/${PV}.tgz
-# ${bazel_external_uris}"
-#
-# src_unpack() {
-# unpack ${PV}.tgz
-# bazel_load_distfiles "${bazel_external_uris}"
-# }
-# @CODE
-bazel_load_distfiles() {
- local file=""
- local rename=0
-
- [[ "${@}" ]] || die "Missing args"
- mkdir -p "${T}/bazel-distdir" || die
-
- for word in ${@}
- do
- if [[ "${word}" == "->" ]]; then
- # next word is a dest filename
- rename=1
- elif [[ "${word}" == ")" ]]; then
- # close conditional block
- continue
- elif [[ "${word}" == "(" ]]; then
- # open conditional block
- continue
- elif [[ "${word}" == ?(\!)[A-Za-z0-9]*([A-Za-z0-9+_@-])\? ]]; then
- # use-conditional block
- # USE-flags can contain [A-Za-z0-9+_@-], and start with alphanum
- # https://dev.gentoo.org/~ulm/pms/head/pms.html#x1-200003.1.4
- # ?(\!) matches zero-or-one !'s
- # *(...) zero-or-more characters
- # ends with a ?
- continue
- elif [[ ${rename} -eq 1 ]]; then
- # Make sure the distfile is used
- if [[ "${A}" == *"${word}"* ]]; then
- echo "Copying ${word} to bazel distdir as ${file}"
- ln -s "${DISTDIR}/${word}" "${T}/bazel-distdir/${file}" || die
- fi
- rename=0
- file=""
- else
- # another URL, current one may or may not be a rename
- # if there was a previous one, its not renamed so copy it now
- if [[ -n "${file}" && "${A}" == *"${file}"* ]]; then
- echo "Copying ${file} to bazel distdir"
- ln -s "${DISTDIR}/${file}" "${T}/bazel-distdir/${file}" || die
- fi
- # save the current URL, later we will find out if its a rename or not.
- file="${word##*/}"
- fi
- done
-
- # handle last file
- if [[ -n "${file}" ]]; then
- echo "Copying ${file} to bazel distdir"
- ln -s "${DISTDIR}/${file}" "${T}/bazel-distdir/${file}" || die
- fi
-}
-
-fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-23 7:46 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-02-23 7:46 UTC (permalink / raw
To: gentoo-commits
commit: 0c5af65cfb92b7702f170999488c970fc278d9a2
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 23 07:16:07 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Feb 23 07:46:08 2024 +0000
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 <sam <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-22 4:23 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-02-22 4:23 UTC (permalink / raw
To: gentoo-commits
commit: 97bc53108f32a26fe8e8463764d95bb0a3d521d9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 21 20:38:28 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 22 04:22:52 2024 +0000
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 <mgorny <AT> 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 ==
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-19 5:08 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-02-19 5:08 UTC (permalink / raw
To: gentoo-commits
commit: 4ccbec18b76ff3c48f3d32f1b1760ca568ddc615
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 19 05:07:11 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Feb 19 05:07:11 2024 +0000
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 <sam <AT> 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 "<sys-libs/glibc-2.38" ; then
+ # https://gcc.gnu.org/PR107128
+ if ! is_crosscompile && use elibc_glibc && has_version "<sys-libs/glibc-2.38" ; then
GCC_RUN_FIXINCLUDES=1
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-19 5:06 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-02-19 5:06 UTC (permalink / raw
To: gentoo-commits
commit: 0b75d3ce0bae8240c28c6a8f191f5130548f8475
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 19 05:02:09 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Feb 19 05:05:32 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b75d3ce
toolchain.eclass: rework fixincludes again
* Only run fixincludes for >= GCC 13 with <sys-libs/glibc-2.38.
* Refactor the logic while at it to make it easier to control (as we do some
bits depending on it in src_install).
Doing this after getting for cross:
```
The directory (BUILD_SYSTEM_HEADER_DIR) that should contain system headers does not exist:
/usr/lib/gcc/aarch64_be-unknown-linux-gnu/14/include
make[2]: *** [Makefile:3448: stmp-fixinc] Error 1
make[2]: *** Waiting for unfinished jobs....
```
This should also let us drop the patch for bug #905118 now.
Bug: https://bugs.gentoo.org/905118
Bug: https://gcc.gnu.org/PR107128
Signed-off-by: Sam James <sam <AT> 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 "<sys-libs/glibc-2.38" ; then
+ GCC_RUN_FIXINCLUDES=1
+ fi
+
+ if [[ ${GCC_RUN_FIXINCLUDES} == 1 ]] ; then
+ confgcc+=( --enable-fixincludes )
+ else
+ confgcc+=( --disable-fixincludes )
+ fi
+ fi
+
# TODO: Ignore RCs here (but TOOLCHAIN_IS_RC isn't yet an eclass var)
if [[ ${PV} == *_p* && -f "${S}"/gcc/doc/gcc.info ]] ; then
# Safeguard against https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106899 being fixed
@@ -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:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-18 20:22 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-02-18 20:22 UTC (permalink / raw
To: gentoo-commits
commit: 54300b267700bca578f702a08dd5683b6c18d997
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 18 19:55:25 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Feb 18 20:22:24 2024 +0000
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 <mgorny <AT> 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
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-18 13:23 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-02-18 13:23 UTC (permalink / raw
To: gentoo-commits
commit: 615c3f47433f84628219a8fb54dd9835600069f5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 17 17:10:26 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Feb 18 13:23:28 2024 +0000
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 <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-18 13:23 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-02-18 13:23 UTC (permalink / raw
To: gentoo-commits
commit: ccdf56b2229c5dda24ae1888dbd90d2b4ff3efa2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 18 13:18:33 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Feb 18 13:23:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ccdf56b2
llvm.org.eclass: Remove old snapshot support
Signed-off-by: Michał Górny <mgorny <AT> 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}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-18 13:23 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-02-18 13:23 UTC (permalink / raw
To: gentoo-commits
commit: 1082225d340c4ef7f12565f1722ea7ef7647dcfa
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 17 19:30:25 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Feb 18 13:23:29 2024 +0000
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 <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-18 13:23 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-02-18 13:23 UTC (permalink / raw
To: gentoo-commits
commit: 524c63b4510a7c02bf655cf304c793ba0b0b8e86
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 17 19:37:40 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Feb 18 13:23:31 2024 +0000
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 <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/35400
Signed-off-by: Michał Górny <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-12 16:25 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-02-12 16:25 UTC (permalink / raw
To: gentoo-commits
commit: 61cb1e79740107fa274271ba79a19ccf16a68a16
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 12 16:04:39 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Feb 12 16:07:48 2024 +0000
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 <sam <AT> 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-r10000 -mno-fix-r10000
+
'-mr10k-cache-barrier=*' -mthumb -marm
# needed for arm64 (and in particular SCS)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-11 12:11 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-02-11 12:11 UTC (permalink / raw
To: gentoo-commits
commit: 17a6c694ec9363ab44814126e1dc31a227b5c138
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 7 12:28:02 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Feb 11 12:11:15 2024 +0000
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 <andrewammerlaan <AT> 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}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-11 12:11 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-02-11 12:11 UTC (permalink / raw
To: gentoo-commits
commit: b5685236fc2dabb63b552e9a4c040724b726a585
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 7 12:41:30 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Feb 11 12:11:16 2024 +0000
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 <andrewammerlaan <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-11 12:11 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-02-11 12:11 UTC (permalink / raw
To: gentoo-commits
commit: e0d452e6ab95c8261b68c93ef9b6494d33e432b2
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 11 09:41:32 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Feb 11 12:11:17 2024 +0000
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 <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/35214
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 17:27 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-02-10 17:27 UTC (permalink / raw
To: gentoo-commits
commit: ba96aad0011bc50ebd51f81caa6184c47f066bbf
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 10 17:15:04 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb 10 17:26:59 2024 +0000
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 <mgorny <AT> 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
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2024-02-10 16:24 UTC (permalink / raw
To: gentoo-commits
commit: d08eb2ce4c8adce01a37688366f4869e273dafc2
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 3 13:58:26 2024 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Sat Feb 10 16:24:45 2024 +0000
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ć <xgqt <AT> 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.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2024-02-10 16:24 UTC (permalink / raw
To: gentoo-commits
commit: f7df4a89670128538ea91352b878b6aa56253a36
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 3 13:23:28 2024 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Sat Feb 10 16:24:45 2024 +0000
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ć <xgqt <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2024-02-10 16:24 UTC (permalink / raw
To: gentoo-commits
commit: a3351216a9ac8433912d91b53259d1c470186227
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 3 13:46:22 2024 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Sat Feb 10 16:24:45 2024 +0000
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ć <xgqt <AT> 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: <solution> <project>
+# @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: <directory> <args> ...
# @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: <solution>
+# @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
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2024-02-10 16:24 UTC (permalink / raw
To: gentoo-commits
commit: d08dfaa5f73407400e4c2cf7f8d9752280e4d55c
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 3 14:17:30 2024 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Sat Feb 10 16:24:45 2024 +0000
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ć <xgqt <AT> 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)"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2024-02-10 16:24 UTC (permalink / raw
To: gentoo-commits
commit: bdfc07876f80d92d22d1d124d0f925cdc8f71984
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 3 16:08:24 2024 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Sat Feb 10 16:24:46 2024 +0000
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ć <xgqt <AT> 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: <path>
+# @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
+ <?xml version="1.0" encoding="utf-8"?>
+ <configuration>
+ <packageSources>
+ <clear />
+ <add key="nuget" value="${NUGET_PACKAGES}" />
+ </packageSources>
+ </configuration>
+ EOF
+}
+
# @FUNCTION: nuget_donuget
# @USAGE: <nuget-path> ...
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2024-02-10 16:24 UTC (permalink / raw
To: gentoo-commits
commit: 80b969a57e4512e4397468b5369fe82474488db3
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 3 13:13:17 2024 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Sat Feb 10 16:24:44 2024 +0000
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ć <xgqt <AT> 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 "
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2024-02-10 16:24 UTC (permalink / raw
To: gentoo-commits
commit: 85390ea3bb4f0ce950dbd9a1c526886ce3722be9
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 3 13:21:19 2024 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Sat Feb 10 16:24:44 2024 +0000
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ć <xgqt <AT> 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: <variable-setting>
# @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: <variable-setting>
+# @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: <executable-path> [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: <dll-path> <filename>
# @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: <dll-path> <filename>
+# @DESCRIPTION:
+# DEPRECATED, use "dotnet-pkg-base_dolauncher-portable" instead.
+dotnet-pkg-base_dolauncher_portable() {
+ dotnet-pkg-base_dolauncher-portable "${@}"
+}
+
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-07 15:10 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-02-07 15:10 UTC (permalink / raw
To: gentoo-commits
commit: 49fad4d4732824425036b02b6c480ba8a5913a25
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 7 15:09:26 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Feb 7 15:10:12 2024 +0000
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 <asturm <AT> 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)/" ;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-06 3:07 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-02-06 3:07 UTC (permalink / raw
To: gentoo-commits
commit: 442e4c25bbb4e5e28984dbeb8e1468ded3bd273d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 25 15:37:00 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Feb 6 03:07:32 2024 +0000
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 <mgorny <AT> 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"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-06 3:07 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-02-06 3:07 UTC (permalink / raw
To: gentoo-commits
commit: dc397d20d4116d795c935543a01b21b67acfaf32
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 25 15:40:48 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Feb 6 03:07:33 2024 +0000
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 <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-05 0:20 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-02-05 0:20 UTC (permalink / raw
To: gentoo-commits
commit: d1ae0cebfb7b3008963cbc3acbe0646e7ecaf43f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 5 00:17:45 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Feb 5 00:19:34 2024 +0000
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.9999. not 14.0.1.9999 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 <sam <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-03 14:07 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-02-03 14:07 UTC (permalink / raw
To: gentoo-commits
commit: 2add8e9e5a9a837954f6cc4dbbbe72f448b636a8
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 3 14:04:08 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Feb 3 14:06:40 2024 +0000
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 <sam <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-02 6:28 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-02-02 6:28 UTC (permalink / raw
To: gentoo-commits
commit: c28bd3b90e19fa157e19d017e70fc5c4832de14d
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 31 10:09:57 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Feb 2 06:16:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c28bd3b9
kernel-2.eclass: add installkernel as optfeature
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-01 23:52 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-02-01 23:52 UTC (permalink / raw
To: gentoo-commits
commit: 5f3f5035fe716de45c0e0c42e26e2df5528a5b05
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 1 23:49:50 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Feb 1 23:52:31 2024 +0000
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 <sam <AT> 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 )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-01 23:52 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-02-01 23:52 UTC (permalink / raw
To: gentoo-commits
commit: 1e5d35a2df840f3e381108277ea192c6bd9363db
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 1 23:48:50 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Feb 1 23:52:30 2024 +0000
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 <sam <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-01 19:22 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-02-01 19:22 UTC (permalink / raw
To: gentoo-commits
commit: e8e423d9c7af0af7b0f6b4e937c6456f6e004e44
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 1 19:21:35 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Feb 1 19:21:35 2024 +0000
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 <sam <AT> 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 \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-31 13:59 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-31 13:59 UTC (permalink / raw
To: gentoo-commits
commit: 541088baec1ffcb943426333891a88c8935c64a6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 30 16:40:23 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan 31 13:59:19 2024 +0000
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 <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/35097
Signed-off-by: Michał Górny <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-30 21:21 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-30 21:21 UTC (permalink / raw
To: gentoo-commits
commit: 805010c13bcb0c27a1dcda2aca04133460c0e8e1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 30 20:17:52 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 30 21:21:24 2024 +0000
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 <mgorny <AT> 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}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-30 11:28 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-01-30 11:28 UTC (permalink / raw
To: gentoo-commits
commit: b5a162f8b12688094165a3bdb995dac394bb7ac6
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 30 10:48:12 2024 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue Jan 30 11:28:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5a162f8
eclass: update texlive eclasses for texlive 2023
Signed-off-by: Florian Schmaus <flow <AT> 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 @@
# tex@gentoo.org
# @AUTHOR:
# Original Author: Alexis Ballier <aballier@gentoo.org>
-# @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.
texlive-common_is_file_present_in_texmf() {
local mark="${T}/${1}.found"
if [[ -d texmf ]]; then
- find texmf -name ${1} -exec touch ${mark} {} + || die
+ find texmf -name "${1}" -exec touch "${mark}" {} + || die
fi
if [[ -d texmf-dist ]]; then
- find texmf-dist -name ${1} -exec touch ${mark} {} + || die
+ find texmf-dist -name "${1}" -exec touch "${mark}" {} + || die
fi
[ -f "${mark}" ]
}
@@ -77,7 +107,7 @@ texlive-common_is_file_present_in_texmf() {
# ( Arguments are switched because texlinks main function sends them switched )
# This function should not be called from an ebuild, prefer etexlinks that will
# also do the fmtutil file parsing.
-
+# Called by texlive-common.eclass and texlive-module.eclass.
texlive-common_do_symlinks() {
while [[ ${#} != 0 ]]; do
case ${1} in
@@ -88,13 +118,13 @@ texlive-common_do_symlinks() {
einfo "Symlink ${1} -> ${2} skipped (texlive-core takes care of it)"
;;
*)
- if [[ ${1} == ${2} ]]; then
+ if [[ ${1} == "${2}" ]]; then
einfo "Symlink ${1} -> ${2} skipped"
elif [[ -e ${ED}/usr/bin/${1} || -L ${ED}/usr/bin/${1} ]]; then
einfo "Symlink ${1} skipped (file exists)"
else
einfo "Making symlink from ${1} to ${2}"
- dosym ${2} /usr/bin/${1}
+ dosym "${2}" "/usr/bin/${1}"
fi
;;
esac
@@ -114,7 +144,7 @@ texlive-common_do_symlinks() {
# the same dir as the source)
# Also, as this eclass must not depend on a tex distribution to be installed we
# cannot use texlinks from here.
-
+# Called by texlive-module.eclass.
etexlinks() {
# Install symlinks from formats to engines
texlive-common_do_symlinks $(sed '/^[ ]*#/d; /^[ ]*$/d' "$1" | awk '{print $1, $2}')
@@ -125,13 +155,14 @@ etexlinks() {
# @DESCRIPTION:
# Symlinks a script from the texmf tree to /usr/bin. Requires permissions to be
# correctly set for the file that it will point to.
-
+# Called by app-text/epspdf and texlive-module.eclass.
dobin_texmf_scripts() {
while [[ ${#} -gt 0 ]] ; do
- local trg=$(basename ${1} | sed 's,\.[^/]*$,,' | tr '[:upper:]' '[:lower:]')
+ local trg
+ trg=$(basename "${1}" | sed 's,\.[^/]*$,,' | tr '[:upper:]' '[:lower:]')
einfo "Installing ${1} as ${trg} bin wrapper"
[[ -x ${ED}/usr/share/${1} ]] || die "Trying to install a non existing or non executable symlink to /usr/bin: ${1}"
- dosym ../share/${1} /usr/bin/${trg}
+ dosym "../share/${1}" "/usr/bin/${trg}"
shift
done
}
@@ -141,7 +172,8 @@ dobin_texmf_scripts() {
# Runs texmf-update if it is available and prints a warning otherwise. This
# function helps in factorizing some code. Useful in ebuilds' pkg_postinst and
# pkg_postrm phases.
-
+# Called by app-text/dvipsk, app-text/texlive-core, dev-libs/kpathsea, and
+# texlive-module.eclass.
etexmf-update() {
if has_version 'app-text/texlive-core' ; then
if [[ -z ${ROOT} && -x "${EPREFIX}"/usr/sbin/texmf-update ]] ; then
@@ -159,7 +191,6 @@ etexmf-update() {
# Runs fmtutil-sys if it is available and prints a warning otherwise. This
# function helps in factorizing some code. Used in ebuilds' pkg_postinst to
# force a rebuild of TeX formats.
-
efmtutil-sys() {
if has_version 'app-text/texlive-core' ; then
if [[ -z ${ROOT} && -x "${EPREFIX}"/usr/bin/fmtutil-sys ]] ; then
@@ -173,4 +204,43 @@ efmtutil-sys() {
fi
}
+# @FUNCTION: texlive-common_append_to_src_uri
+# @DESCRIPTION:
+# Takes the name of a variable as input. The variable must contain a
+# list of texlive packages. Every texlive package in the variable is
+# transformed to an URL and appended to SRC_URI.
+texlive-common_append_to_src_uri() {
+ local tl_uri=( ${!1} )
+
+ # Starting from TeX Live 2009, upstream provides .tar.xz modules.
+ local tl_pkgext=tar.xz
+
+ local tl_uri_prefix="https://dev.gentoo.org/~@dev@/distfiles/texlive/tl-"
+ local tl_2023_uri_prefix="https://dev.gentoo.org/~@dev@/distfiles/texlive/"
+
+ local tl_dev
+ # If the version is less than 2023 and the package is the
+ # dev-texlive category, we fallback to the old SRC_URI layout. With
+ # the 2023 bump, packages outside the dev-texlive category start to
+ # inherit texlive-common.eclass.
+ if ver_test -lt 2023 && [[ ${CATEGORY} == dev-texlive ]]; then
+ local texlive_lt_2023_devs=( zlogene dilfridge sam )
+ local tl_uri_suffix="-${PV}.${tl_pkgext}"
+
+ tl_uri=( "${tl_uri[@]/%/${tl_uri_suffix}}" )
+ for tl_dev in "${texlive_lt_2023_devs[@]}"; do
+ SRC_URI+=" ${tl_uri[*]/#/${tl_uri_prefix/@dev@/${tl_dev}}}"
+ done
+ else
+ local texlive_ge_2023_devs=( flow )
+ local tl_mirror="${CTAN_MIRROR_URL%/}/systems/texlive/tlnet/archive/"
+
+ tl_uri=( "${tl_uri[@]/%/.${tl_pkgext}}" )
+ SRC_URI+=" ${tl_uri[*]/#/${tl_mirror}}"
+ for tl_dev in "${texlive_ge_2023_devs[@]}"; do
+ SRC_URI+=" ${tl_uri[*]/#/${tl_2023_uri_prefix/@dev@/${tl_dev}}}"
+ done
+ fi
+}
+
fi
diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index 9e7e5db2e8f8..afcd4532975a 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.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-module.eclass
@@ -6,7 +6,7 @@
# tex@gentoo.org
# @AUTHOR:
# Original Author: Alexis Ballier <aballier@gentoo.org>
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Provide generic install functions so that modular texlive's texmf ebuild will only have to inherit this eclass
# @DESCRIPTION:
# Purpose: Provide generic install functions so that modular texlive's texmf ebuilds will
@@ -72,7 +72,7 @@
# e.g. for enabling/disabling a feature
case ${EAPI} in
- 7) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -83,59 +83,33 @@ inherit texlive-common
HOMEPAGE="https://www.tug.org/texlive/"
-COMMON_DEPEND=">=app-text/texlive-core-${TL_PV:-${PV}}"
-
-IUSE="source"
-
-# Starting from TeX Live 2009, upstream provides .tar.xz modules.
-PKGEXT=tar.xz
-
-# Now where should we get these files?
-TEXLIVE_DEVS=${TEXLIVE_DEVS:- zlogene dilfridge sam }
+IUSE="doc source"
+RDEPEND=">=app-text/texlive-core-${TL_PV:-${PV}}"
# We do not need anything from SYSROOT:
# Everything is built from the texlive install in /
# Generated files are noarch
-BDEPEND="${COMMON_DEPEND}
- app-arch/xz-utils"
+BDEPEND="
+ ${RDEPEND}
+ app-arch/xz-utils
+"
-tl_uri_prefix="https://dev.gentoo.org/~@dev@/distfiles/texlive/tl-"
-tl_uri_suffix="-${PV}.${PKGEXT}"
-
-tl_uri=( ${TEXLIVE_MODULE_CONTENTS} )
-tl_uri=( "${tl_uri[@]/%/${tl_uri_suffix}}" )
-for tldev in ${TEXLIVE_DEVS}; do
- SRC_URI+=" ${tl_uri[*]/#/${tl_uri_prefix/@dev@/${tldev}}}"
-done
+texlive-common_append_to_src_uri TEXLIVE_MODULE_CONTENTS
# Forge doc SRC_URI
if [[ -n ${TEXLIVE_MODULE_DOC_CONTENTS} ]]; then
SRC_URI+=" doc? ("
- tl_uri=( ${TEXLIVE_MODULE_DOC_CONTENTS} )
- tl_uri=( "${tl_uri[@]/%/${tl_uri_suffix}}" )
- for tldev in ${TEXLIVE_DEVS}; do
- SRC_URI+=" ${tl_uri[*]/#/${tl_uri_prefix/@dev@/${tldev}}}"
- done
+ texlive-common_append_to_src_uri TEXLIVE_MODULE_DOC_CONTENTS
SRC_URI+=" )"
fi
# Forge source SRC_URI
if [[ -n ${TEXLIVE_MODULE_SRC_CONTENTS} ]]; then
SRC_URI+=" source? ("
- tl_uri=( ${TEXLIVE_MODULE_SRC_CONTENTS} )
- tl_uri=( "${tl_uri[@]/%/${tl_uri_suffix}}" )
- for tldev in ${TEXLIVE_DEVS}; do
- SRC_URI+=" ${tl_uri[*]/#/${tl_uri_prefix/@dev@/${tldev}}}"
- done
+ texlive-common_append_to_src_uri TEXLIVE_MODULE_SRC_CONTENTS
SRC_URI+=" )"
fi
-unset tldev tl_uri tl_uri_prefix tl_uri_suffix
-
-RDEPEND="${COMMON_DEPEND}"
-
-IUSE="${IUSE} doc"
-
# @ECLASS_VARIABLE: TEXLIVE_MODULE_OPTIONAL_ENGINE
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -155,17 +129,16 @@ S="${WORKDIR}"
# Only for TeX Live 2009 and later.
# After unpacking, the files that need to be relocated are moved accordingly.
-RELOC_TARGET=texmf-dist
-
texlive-module_src_unpack() {
unpack ${A}
+ local RELOC_TARGET=texmf-dist
sed -n -e 's:\s*RELOC/::p' tlpkg/tlpobj/* > "${T}/reloclist" || die
sed -e 's/\/[^/]*$//' -e "s:^:${RELOC_TARGET}/:" "${T}/reloclist" |
sort -u |
xargs mkdir -p || die
local i dir="" files=()
- while read i; do
+ while read -r i; do
if [[ ${RELOC_TARGET}/${i%/*} != "${dir}" ]]; then
# new dir, do the previous move
[[ -z ${dir} ]] || mv "${files[@]}" "${dir}" || die
@@ -282,7 +255,7 @@ texlive-module_make_language_lua_lines() {
fi
if [[ -n ${luaspecial} ]]; then
- printf "\t\tspecial = '%s',\n" "$luaspecial" >> "${dest}" || die
+ printf "\t\tspecial = '%s',\n" "${luaspecial}" >> "${dest}" || die
fi
printf "\t},\n" >> "${dest}" || die
@@ -310,7 +283,7 @@ texlive-module_src_compile() {
for i in $(<"${T}/jobs");
do
- j="$(echo $i | tr '#' ' ')"
+ j="$(echo "${i}" | tr '#' ' ')"
command=${j%% *}
parameter=${j#* }
case ${command} in
@@ -325,16 +298,16 @@ texlive-module_src_compile() {
addDvipdfmMap)
echo "f ${parameter}" >> "${S}/${PN}-config";;
AddHyphen)
- texlive-module_make_language_def_lines ${parameter}
- texlive-module_make_language_dat_lines ${parameter}
- texlive-module_make_language_lua_lines ${parameter}
+ texlive-module_make_language_def_lines "${parameter}"
+ texlive-module_make_language_dat_lines "${parameter}"
+ texlive-module_make_language_lua_lines "${parameter}"
;;
AddFormat)
- texlive-module_add_format ${parameter};;
+ texlive-module_add_format "${parameter}";;
BuildFormat)
einfo "Format ${parameter} already built.";;
BuildLanguageDat)
- einfo "Language file $parameter already generated.";;
+ einfo "Language file ${parameter} already generated.";;
*)
die "No rule to process ${command}. Please file a bug."
esac
@@ -355,7 +328,7 @@ texlive-module_src_compile() {
mkdir texmf-var/web2c || die
fi
VARTEXFONTS="${T}/fonts" TEXMFHOME="${S}/texmf:${S}/texmf-dist:${S}/texmf-var"\
- env -u TEXINPUTS $fmt_call --cnffile "${i}" --fmtdir "${S}/texmf-var/web2c" --all\
+ env -u TEXINPUTS "${fmt_call}" --cnffile "${i}" --fmtdir "${S}/texmf-var/web2c" --all\
|| die "failed to build format ${i}"
fi
done
@@ -431,14 +404,14 @@ texlive-module_src_install() {
[[ -n ${TEXLIVE_MODULE_BINSCRIPTS} ]] && dobin_texmf_scripts ${TEXLIVE_MODULE_BINSCRIPTS}
if [[ -n ${TEXLIVE_MODULE_BINLINKS} ]] ; then
+ dodir "/usr/bin"
for i in ${TEXLIVE_MODULE_BINLINKS} ; do
- [[ -f ${ED}/usr/bin/${i%:*} ]] || die "Trying to install an invalid BINLINK. This should not happen. Please file a bug."
- dosym ${i%:*} /usr/bin/${i#*:}
+ [[ -f ${ED}/usr/bin/${i%:*} ]] || die "Trying to install an invalid BINLINK ${i%:*}. This should not happen. Please file a bug."
+ dosym "${i%:*}" "/usr/bin/${i#*:}"
done
fi
texlive-common_handle_config_files
- TEXMF_PATH=${TEXMF_DIST_PATH} texlive-common_handle_config_files
}
# @FUNCTION: texlive-module_pkg_postinst
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-30 11:09 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-01-30 11:09 UTC (permalink / raw
To: gentoo-commits
commit: b1f74da11016a3c872f250983cd5f9d06f181708
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 29 09:58:11 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Jan 30 11:08:45 2024 +0000
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 <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/35066
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-27 20:33 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-27 20:33 UTC (permalink / raw
To: gentoo-commits
commit: 0358f341afa1305c79a410fb76540b1a37c5f619
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 27 15:17:47 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 27 20:33:05 2024 +0000
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 <mgorny <AT> 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
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-27 17:18 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-27 17:18 UTC (permalink / raw
To: gentoo-commits
commit: 21e8df74b41639435192141d14f9f071232290ef
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 27 17:14:50 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jan 27 17:18:27 2024 +0000
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 <sam <AT> 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-r10000 -mno-fix-r10000 -mfix-vr4120 -mno-fix-vr4120
- -mfix-vr4130 -mfix-sb1 -mno-fix-sb1
- '-Wa,-mfix-loongson2f-nop'
-
+ -mfix-r10000 -mno-fix-r10000
'-mr10k-cache-barrier=*' -mthumb -marm
# needed for arm64 (and in particular SCS)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-24 15:57 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-01-24 15:57 UTC (permalink / raw
To: gentoo-commits
commit: c5f7cb6c9cebcb3551129940b24f2377de503702
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 23 17:50:25 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Wed Jan 24 15:54:40 2024 +0000
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 <mjo <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-24 14:35 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-01-24 14:35 UTC (permalink / raw
To: gentoo-commits
commit: e2f1e46675c6273ec8f2945f2ac83fd57725833d
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 24 14:34:29 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Jan 24 14:34:29 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2f1e466
kernel-install.eclass: drop sys-kernel/installkernel-systemd
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> 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}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-24 11:44 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-24 11:44 UTC (permalink / raw
To: gentoo-commits
commit: 2d437712f06ca05b0cf3f0a01fd81548f5fbe72b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 24 11:11:00 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan 24 11:44:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d437712
llvm.eclass: Allow LLVM 19
Signed-off-by: Michał Górny <mgorny <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-23 6:00 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-23 6:00 UTC (permalink / raw
To: gentoo-commits
commit: 518f49f7400f3b68f7a4a87cf11273fa89daade1
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 23 05:46:54 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 23 05:58:13 2024 +0000
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 <sam <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-23 6:00 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-23 6:00 UTC (permalink / raw
To: gentoo-commits
commit: 9aa5370643f92645e3f62b59a3d284f9a62a565f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 23 05:56:09 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 23 05:58:14 2024 +0000
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 <sam <AT> 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
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-23 5:32 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-23 5:32 UTC (permalink / raw
To: gentoo-commits
commit: b0f68ff73d9041561855f6bdc232070f30ba5bfc
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 23 05:27:20 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 23 05:28:04 2024 +0000
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 <sam <AT> 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(-)] <sys-devel/gcc-12[d(-)] ) )"
fi
-PDEPEND=">=sys-devel/gcc-config-2.3"
+PDEPEND=">=sys-devel/gcc-config-2.11"
#---->> S + SRC_URI essentials <<----
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-01-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: d5a95a07f5f05f205d4eb3f9f620fd9994ffc23a
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 14 18:15:54 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 11:29:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5a95a07
gap-pkg.eclass: drop empty @USAGE tags
Suggested-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Michael Orlitzky <mjo <AT> 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,
#
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-01-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: 6ebe06967e45f52ced72e61528956fac14fbd104
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 14 22:34:44 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 11:29:22 2024 +0000
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 <mgorny <AT> gentoo.org>
Signed-off-by: Michael Orlitzky <mjo <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-01-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: 3aae8830ef879057461fdf486344843a3c2851bf
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 16 00:49:28 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 11:29:23 2024 +0000
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 <mjo <AT> 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 <frp.bissey@gmail.com>
# Michael Orlitzky <mjo@gentoo.org>
+# Gentoo Mathematics Project <sci-mathematics@gentoo.org>
# @AUTHOR:
# François Bissey <frp.bissey@gmail.com>
# Michael Orlitzky <mjo@gentoo.org>
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-01-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: 142d9879573b94602a1656fa24ba96691ca290f0
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 14 18:50:25 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 11:29:22 2024 +0000
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 <horn <AT> mathematik.uni-kl.de>
Signed-off-by: Michael Orlitzky <mjo <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-01-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: bb3db05a5fb22e013893777ed5ad1cb03e138e99
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 14 15:51:21 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 11:29:20 2024 +0000
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 <mjo <AT> 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:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-01-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: e8a50793cdcc5c952757f595d6109df40258a09b
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 14 22:46:59 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 11:29:22 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8a50793
gap-pkg.eclass: add two missing eclassdoc colons
Signed-off-by: Michael Orlitzky <mjo <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-01-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: f2a9af36a8fa484a62b116d322a4c483a05407e6
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 14 19:14:25 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 11:29:22 2024 +0000
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 <mgorny <AT> gentoo.org>
Signed-off-by: Michael Orlitzky <mjo <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-01-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: 189ab328b042543c26d71ce5494d3819d6d8de8d
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 14 01:14:47 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 11:29:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=189ab328
gap-pkg.eclass: add missing die
Suggested-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Michael Orlitzky <mjo <AT> 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
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-01-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: 13f4cc8bf0f0605df290b67580a1c3c1816fd0a6
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 14 01:20:03 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 11:29:19 2024 +0000
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 <mgorny <AT> gentoo.org>
Signed-off-by: Michael Orlitzky <mjo <AT> 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
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-01-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: 873ff6bc8f5bb2016f0108d6aca7ac9a5f496bd3
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 14 01:22:18 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 11:29:20 2024 +0000
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 <mgorny <AT> gentoo.org>
Signed-off-by: Michael Orlitzky <mjo <AT> 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
;;
*)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
0 siblings, 0 replies; 6228+ messages in thread
From: Michael Orlitzky @ 2024-01-22 11:29 UTC (permalink / raw
To: gentoo-commits
commit: 62fae45cf187e53efea046d8036bcd65b75c858e
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 14 01:19:22 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 11:29:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62fae45c
gap-pkg.eclass: remove leading whitespace
Suggested-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Michael Orlitzky <mjo <AT> 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}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-20 21:22 Conrad Kostecki
0 siblings, 0 replies; 6228+ messages in thread
From: Conrad Kostecki @ 2024-01-20 21:22 UTC (permalink / raw
To: gentoo-commits
commit: c1eab3b6807207591cdd94c3643435f31d91f7b8
Author: Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Sat Jan 13 15:48:44 2024 +0000
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Sat Jan 20 21:21:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1eab3b6
eclass/freedict: use HTTPS
Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/34785
Signed-off-by: Conrad Kostecki <conikost <AT> 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"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-20 10:09 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2024-01-20 10:09 UTC (permalink / raw
To: gentoo-commits
commit: f007377cffdcdc04c349494481be5dc01ce313f9
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Fri Feb 17 08:52:52 2023 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Sat Jan 20 10:08:07 2024 +0000
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 <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/34897
Signed-off-by: Florian Schmaus <flow <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-19 12:44 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-01-19 12:44 UTC (permalink / raw
To: gentoo-commits
commit: f3004ab6ba4f86a4d38e6cc17e2300ec4e8c23a7
Author: Manuel Mommertz <manuel.mommertz <AT> desy <DOT> de>
AuthorDate: Wed Jan 17 13:00:16 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jan 19 12:43:42 2024 +0000
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 <manuel.mommertz <AT> desy.de>
Signed-off-by: Miroslav Šulc <fordfrog <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-19 12:44 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-01-19 12:44 UTC (permalink / raw
To: gentoo-commits
commit: d589f4e4bbd55b37de3871f1a2bf5e59a679d177
Author: Manuel Mommertz <manuel.mommertz <AT> desy <DOT> de>
AuthorDate: Wed Jan 17 13:14:41 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jan 19 12:43:46 2024 +0000
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 <manuel.mommertz <AT> desy.de>
Signed-off-by: Miroslav Šulc <fordfrog <AT> 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-19 12:44 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-01-19 12:44 UTC (permalink / raw
To: gentoo-commits
commit: 6b8564a70b0914325d4b41039012d6e639511e5d
Author: Manuel Mommertz <manuel.mommertz <AT> desy <DOT> de>
AuthorDate: Wed Jan 17 13:24:16 2024 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jan 19 12:43:46 2024 +0000
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 <manuel.mommertz <AT> desy.de>
Closes: https://github.com/gentoo/gentoo/pull/34866
Signed-off-by: Miroslav Šulc <fordfrog <AT> 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}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-19 9:51 罗百科
0 siblings, 0 replies; 6228+ messages in thread
From: 罗百科 @ 2024-01-19 9:51 UTC (permalink / raw
To: gentoo-commits
commit: 0249499c3c71fa77c0e9e4b88f312661d42c0794
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 19 09:50:46 2024 +0000
Commit: 罗百科 <patrick <AT> gentoo <DOT> org>
CommitDate: Fri Jan 19 09:51:51 2024 +0000
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 <patrick <AT> 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=( 9999 16 15 14 13 12 11 )
+_POSTGRES_ALL_VERSIONS=( 9999 16 15 14 13 12 )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-17 7:41 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-17 7:41 UTC (permalink / raw
To: gentoo-commits
commit: 298c5096882846df2b215fede1c443f92aa5c6c6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 16 20:13:59 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan 17 07:40:59 2024 +0000
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 <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/34843
Signed-off-by: Michał Górny <mgorny <AT> 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
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-16 9:02 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-01-16 9:02 UTC (permalink / raw
To: gentoo-commits
commit: 8e23288a8fd00d0a2bda462cb6463d8c1d6ca892
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 16 08:59:53 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Jan 16 08:59:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e23288a
kernel-install.eclass: USE=generic-uki drop requirement for installkernel[uki]
it is not strictly necessary, i.e. we might also want to just use the
generic initrd. Or install the uki in the grub layout. But more importantly
this requirement creates a bit of an unfortunate conflict in binpkg-docker
that would otherwise have to be resolved with manual overrides of install.conf.
See-also: https://github.com/projg2/binpkg-docker/pull/7
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 5a98446b12ee..9ab96628b5e4 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -200,7 +200,7 @@ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
IDEPEND="
generic-uki? (
|| (
- >=sys-kernel/installkernel-8[-dracut(-),-ukify(-),uki(-)]
+ >=sys-kernel/installkernel-8[-dracut(-),-ukify(-)]
>=sys-kernel/installkernel-systemd-3
)
)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-13 17:49 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-13 17:49 UTC (permalink / raw
To: gentoo-commits
commit: b0cd08a079291dc4db8fa27ff38bd5e11007d42c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 13 16:15:35 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 13 17:49:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0cd08a0
llvm.org.eclass: Clean old snapshots up
Signed-off-by: Michał Górny <mgorny <AT> 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 07fef8152047..3473c11db3fc 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -78,15 +78,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
18.0.0_pre20240106)
EGIT_COMMIT=a085402ef54379758e6c996dbaedfcb92ad222b5
;;
- 18.0.0_pre20231228)
- EGIT_COMMIT=a700298b3d538452915703268ca18f7f8f7537e6
- ;;
- 18.0.0_pre20231222)
- EGIT_COMMIT=17858ce6f3d24f994f6ad8c899bfa4eed39f739d
- ;;
- 18.0.0_pre20231215)
- EGIT_COMMIT=d37ced88809cb4d2df57ec80887b3f8801ca719b
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-13 17:49 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-13 17:49 UTC (permalink / raw
To: gentoo-commits
commit: d867fe73e3c5032c5ca96e39646b15c8ee56312f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 13 16:14:39 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 13 17:49:38 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d867fe73
llvm.org.eclass: Add 18.0.0_pre20240113 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 94b1fbbe0d0a..07fef8152047 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
+ 18.0.0_pre20240113)
+ EGIT_COMMIT=8d817f6479a5df874028a8b40fd30aecd3479005
+ ;;
18.0.0_pre20240106)
EGIT_COMMIT=a085402ef54379758e6c996dbaedfcb92ad222b5
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-12 11:46 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-12 11:46 UTC (permalink / raw
To: gentoo-commits
commit: 14b87a3dc8e143255b1343a0cb67fe969d267137
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 12 11:42:37 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jan 12 11:45:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14b87a3d
toolchain.eclass: drop USE="cilk mpx" debris
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 898ed538e6f8..8b7b730d6b9a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -253,7 +253,6 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
IUSE+=" ada"
IUSE+=" vtv"
IUSE+=" jit"
- tc_version_is_between 5.0 9 && IUSE+=" mpx"
IUSE+=" +pie +ssp +pch"
IUSE+=" systemtap" TC_FEATURES+=( systemtap )
@@ -1239,14 +1238,6 @@ toolchain_src_configure() {
confgcc+=( $(use_enable cet) )
fi
- if in_iuse cilk ; then
- confgcc+=( $(use_enable cilk libcilkrts) )
- fi
-
- if in_iuse mpx ; then
- confgcc+=( $(use_enable mpx libmpx) )
- fi
-
if in_iuse systemtap ; then
confgcc+=( $(use_enable systemtap) )
fi
@@ -2002,8 +1993,6 @@ toolchain_src_install() {
# libgfortran.la: gfortran itself handles linkage correctly in the
# dynamic & static case (libgfortran.spec). bug #573302
# libgfortranbegin.la: Same as above, and it's an internal lib.
- # libmpx.la: gcc itself handles linkage correctly (libmpx.spec).
- # libmpxwrappers.la: See above.
# libitm.la: gcc itself handles linkage correctly (libitm.spec).
# libvtv.la: gcc itself handles linkage correctly.
# lib*san.la: Sanitizer linkage is handled internally by gcc, and they
@@ -2020,8 +2009,6 @@ toolchain_src_install() {
-name 'libgomp-plugin-*.la' -o \
-name libgfortran.la -o \
-name libgfortranbegin.la -o \
- -name libmpx.la -o \
- -name libmpxwrappers.la -o \
-name libitm.la -o \
-name libvtv.la -o \
-name 'lib*san.la' \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-12 11:46 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-12 11:46 UTC (permalink / raw
To: gentoo-commits
commit: fc81391f87922d64756975a60741a97d15cab966
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 12 11:43:50 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jan 12 11:45:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc81391f
toolchain.eclass: don't enable PCH by default in IUSE (but effective noop)
It's already masked in use.mask, even. PCH has been proven to be unreliable.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 8b7b730d6b9a..b1f4ea9caf68 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -253,7 +253,7 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
IUSE+=" ada"
IUSE+=" vtv"
IUSE+=" jit"
- IUSE+=" +pie +ssp +pch"
+ IUSE+=" +pie +ssp pch"
IUSE+=" systemtap" TC_FEATURES+=( systemtap )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-12 11:36 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-01-12 11:36 UTC (permalink / raw
To: gentoo-commits
commit: b516a4a6f3c71e783074143c49441d786469bdc7
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 12 11:34:29 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Jan 12 11:35:58 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b516a4a6
kernel-install.eclass: USE=generic-uki depend on installkernel[uki]
and switch order since we are deprecating installkernel-systemd and
have moved this functionality into installkernel(-gentoo).
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 707530b2244d..5a98446b12ee 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -200,8 +200,8 @@ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
IDEPEND="
generic-uki? (
|| (
+ >=sys-kernel/installkernel-8[-dracut(-),-ukify(-),uki(-)]
>=sys-kernel/installkernel-systemd-3
- >=sys-kernel/installkernel-8[-dracut(-),-ukify(-)]
)
)
!generic-uki? (
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-12 11:08 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-12 11:08 UTC (permalink / raw
To: gentoo-commits
commit: 36e43f119894be5631b564e41ade681547784630
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 12 11:02:14 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jan 12 11:04:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36e43f11
toolchain.eclass: drop noop USE=nptl
This doesn't make sense to toggle nowadays anyway given linuxthreads is long
gone, but it's not even wired up to do anything in the eclass.
The last remaining consumer was for uclibc which was dropped in
4d33143e5b807af00d29ec59d9512ac05ab0e131.
Bug: https://bugs.gentoo.org/642932
Bug: https://bugs.gentoo.org/820905
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 3601737979d8..898ed538e6f8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -231,7 +231,7 @@ tc_has_feature() {
}
if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
- IUSE+=" debug +cxx +nptl" TC_FEATURES+=( nptl )
+ IUSE+=" debug +cxx"
IUSE+=" +fortran" TC_FEATURES+=( fortran )
IUSE+=" doc hardened multilib objc"
IUSE+=" pgo"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-11 17:50 William Hubbs
0 siblings, 0 replies; 6228+ messages in thread
From: William Hubbs @ 2024-01-11 17:50 UTC (permalink / raw
To: gentoo-commits
commit: 84a16b558bf7d371434fe401373d697672ba9881
Author: William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 11 17:49:10 2024 +0000
Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Thu Jan 11 17:49:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84a16b55
go-module.eclass: update go version in BDEPEND and add subslot
Bug: https://bugs.gentoo.org/919751
Signed-off-by: William Hubbs <williamh <AT> gentoo.org>
eclass/go-module.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/go-module.eclass b/eclass/go-module.eclass
index 701d36e012e2..5726d2f77d9a 100644
--- a/eclass/go-module.eclass
+++ b/eclass/go-module.eclass
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: go-module.eclass
@@ -71,7 +71,7 @@ _GO_MODULE_ECLASS=1
inherit multiprocessing toolchain-funcs go-env
if [[ ! ${GO_OPTIONAL} ]]; then
- BDEPEND=">=dev-lang/go-1.18"
+ BDEPEND=">=dev-lang/go-1.20:="
# Workaround for pkgcheck false positive: https://github.com/pkgcore/pkgcheck/issues/214
# MissingUnpackerDep: version ...: missing BDEPEND="app-arch/unzip"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-11 9:48 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-01-11 9:48 UTC (permalink / raw
To: gentoo-commits
commit: cb202546d81ed4e591c366d192e7b15d4c184ffa
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Mon Dec 11 20:52:41 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Jan 11 09:48:49 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb202546
java-utils-2.eclass: enhance ejavadoc
This patch enhances the ejavadoc function so that it can be called
without arguments if the JAVADOC_SRC_DIRS array is set in the ebuild.
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 814b4957d52c..31f7932a16fd 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2192,9 +2192,27 @@ ejavadoc() {
einfo "javadoc ${javadoc_args} ${@}"
fi
- local args=( javadoc ${javadoc_args} "${@}" )
- echo "${args[@]}" >&2
- "${args[@]}" || die "ejavadoc failed"
+ if [[ "${JAVADOC_SRC_DIRS[@]}" ]]; then
+ mkdir -p target/api || die "cannot create target/api"
+ local dependency
+ for dependency in ${JAVADOC_CLASSPATH}; do
+ classpath="${classpath}:$(java-pkg_getjars \
+ --build-only \
+ --with-dependencies \
+ ${dependency})"
+ done
+ find "${JAVADOC_SRC_DIRS[@]}" -name '*.java' > sources
+ javadoc \
+ "${javadoc_args}" \
+ -d target/api \
+ -cp "${classpath}" \
+ -quiet \
+ @sources || die "ejavadoc failed"
+ else
+ local args=( javadoc ${javadoc_args} "${@}" )
+ echo "${args[@]}" >&2
+ "${args[@]}" || die "ejavadoc failed"
+ fi
}
# @FUNCTION: java-pkg_filter-compiler
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-11 9:48 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-01-11 9:48 UTC (permalink / raw
To: gentoo-commits
commit: dd5e874e34b895fe48d1ca863882e9f25f65719a
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Mon Dec 4 14:47:20 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Jan 11 09:48:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd5e874e
java-pkg-simple.eclass: respect JAVADOC_SRC_DIRS
This patch helps to avoid useless runs of ejavadoc in multi-jar
packages where java-pkg-simple_src_compile is called for each jar file.
JAVADOC_SRC_DIRS can be set in the ebuild in global scope and
"use doc && ejavadoc" be called at the end of src_compile. And it no
longer needs to build a useless "ignoreme.jar".
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-simple.eclass | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index 143efa707751..97bad414afb7 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -412,11 +412,15 @@ java-pkg-simple_src_compile() {
# javadoc
if has doc ${JAVA_PKG_IUSE} && use doc; then
- mkdir -p ${apidoc}
- ejavadoc -d ${apidoc} \
- -encoding ${JAVA_ENCODING} -docencoding UTF-8 -charset UTF-8 \
- ${classpath:+-classpath ${classpath}} ${JAVADOC_ARGS:- -quiet} \
- @${sources} || die "javadoc failed"
+ if [[ ${JAVADOC_SRC_DIRS} ]]; then
+ einfo "JAVADOC_SRC_DIRS exists, you need to call ejavadoc separately"
+ else
+ mkdir -p ${apidoc}
+ ejavadoc -d ${apidoc} \
+ -encoding ${JAVA_ENCODING} -docencoding UTF-8 -charset UTF-8 \
+ ${classpath:+-classpath ${classpath}} ${JAVADOC_ARGS:- -quiet} \
+ @${sources} || die "javadoc failed"
+ fi
fi
# package
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-11 9:48 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2024-01-11 9:48 UTC (permalink / raw
To: gentoo-commits
commit: 0126d6a3c2ef4dd488ceac132b8c5dca2490e96f
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sun Dec 3 10:28:31 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Jan 11 09:48:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0126d6a3
java-utils-2.eclass: new JAVADOC_CLASSPATH, JAVADOC_SRC_DIRS
Several multi-jar packages built with java-pkg-simple.eclass use a
workaround to avoid passing arguments to ejavadoc. That workaround
runs another java-pkg-simple_src_compile which builds an unneeded
jar file usually called "ignoreme.jar".
This patch defines the JAVADOC_SRC_DIRS eclass variable needed by the
java-pkg-simple.eclass to decide whether to call ejavadoc or not.
The other new eclass variable is JAVADOC_CLASSPATH. It can be used for
multi-jar packages to pass dependencies's classpath to ejavadoc.
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 31b8ab8df60a..814b4957d52c 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -218,6 +218,46 @@ JAVA_PKG_COMPILERS_CONF=${JAVA_PKG_COMPILERS_CONF:="/etc/java-config-2/build/com
# ebuild foo.ebuild compile
# @CODE
+# @ECLASS_VARIABLE: JAVADOC_CLASSPATH
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Comma or space separated list of java packages that are needed for generating
+# javadocs. Can be used to avoid overloading the compile classpath in multi-jar
+# packages if there are jar files which have different dependencies.
+#
+# @CODE
+# Example:
+# JAVADOC_CLASSPATH="
+# jna-4
+# jsch
+# "
+# @CODE
+
+# @ECLASS_VARIABLE: JAVADOC_SRC_DIRS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# An array of directories relative to ${S} which contain the sources of
+# the application. It needs to sit in global scope; if put in src_compile()
+# it would not work.
+# It is needed by the java-pkg-simple.eclass to decide whether to call ejavadoc
+# or not. If this variable is defined then java-pkg-simple_src_compile will not
+# call ejavadoc automatically. ejavadoc has then to be called explicitly from
+# the ebuild. It is meant for usage in multi-jar packages in order to avoid an
+# extra compilation run only for producing the javadocs.
+#
+# @CODE
+# Example:
+# JAVADOC_SRC_DIRS=(
+# "${PN}-core"
+# "${PN}-jsch"
+# "${PN}-pageant"
+# "${PN}-sshagent"
+# "${PN}-usocket-jna"
+# "${PN}-usocket-nc"
+# "${PN}-connector-factory"
+# )
+# @CODE
+
# TODO document me
JAVA_PKG_QA_VIOLATIONS=0
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-10 11:01 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-01-10 11:01 UTC (permalink / raw
To: gentoo-commits
commit: 4896a20cd4bafc0f724f739e03a455260d17fe6c
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 1 19:00:27 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jan 10 11:00:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4896a20c
qt5-build.eclass: Move append-ldflags and filter-lto to src_prepare
Closes: https://bugs.gentoo.org/919789
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/qt5-build.eclass | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
index 0e416e253cc2..76a089b2908d 100644
--- a/eclass/qt5-build.eclass
+++ b/eclass/qt5-build.eclass
@@ -179,6 +179,15 @@ fi
qt5-build_src_prepare() {
qt5_prepare_env
+ # Workaround for bug #915203
+ # Upstream: https://bugreports.qt.io/browse/QTBUG-111514
+ if [[ ${PN} != qtcore ]]; then
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+ fi
+
+ # many bugs, no one to fix
+ filter-lto
+
if [[ ${QT5_BUILD_TYPE} == live ]] || [[ -n ${KDE_ORG_COMMIT} ]]; then
if [[ -n ${KDE_ORG_COMMIT} ]]; then
einfo "Preparing KDE Qt5PatchCollection snapshot at ${KDE_ORG_COMMIT}"
@@ -231,15 +240,6 @@ qt5-build_src_configure() {
qt5_tools_configure
fi
- # Workaround for bug #915203
- # Upstream: https://bugreports.qt.io/browse/QTBUG-111514
- if [[ ${PN} != qtcore ]] ; then
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
- fi
-
- # many bugs, no one to fix
- filter-lto
-
qt5_foreach_target_subdir qt5_qmake
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-10 11:01 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-01-10 11:01 UTC (permalink / raw
To: gentoo-commits
commit: 3867345f8c2d9f24157508bc6372f479a82cf33f
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 22:17:05 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jan 10 11:00:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3867345f
cmake.eclass: Set CMAKE_DISABLE_PRECOMPILE_HEADERS=ON
Closes: https://bugs.gentoo.org/920845
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/cmake.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 7ba22ce5f431..ef5e6dd678a1 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -542,6 +542,7 @@ cmake_src_configure() {
set(BUILD_SHARED_LIBS ON CACHE BOOL "")
set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "")
set(FETCHCONTENT_FULLY_DISCONNECTED ON CACHE BOOL "")
+ set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON CACHE BOOL "")
_EOF_
if [[ -n ${_ECM_ECLASS} ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-10 11:01 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2024-01-10 11:01 UTC (permalink / raw
To: gentoo-commits
commit: ca877f01a331bd239db8b6878c7f92fa85e02dae
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 22:14:53 2024 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jan 10 11:00:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca877f01
cmake.eclass: Set FETCHCONTENT_FULLY_DISCONNECTED=ON
Closes: https://bugs.gentoo.org/920846
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/cmake.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 10749e9a2f31..7ba22ce5f431 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.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: cmake.eclass
@@ -541,6 +541,7 @@ cmake_src_configure() {
set(CMAKE_INSTALL_DOCDIR "${EPREFIX}/usr/share/doc/${PF}" CACHE PATH "")
set(BUILD_SHARED_LIBS ON CACHE BOOL "")
set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "")
+ set(FETCHCONTENT_FULLY_DISCONNECTED ON CACHE BOOL "")
_EOF_
if [[ -n ${_ECM_ECLASS} ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-09 6:41 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-09 6:41 UTC (permalink / raw
To: gentoo-commits
commit: c7f6ebbe26db3f2c9dd656438664109ec1329ab1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 9 06:36:16 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 9 06:36:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7f6ebbe
cargo.eclass: Revert PKGBUMPING for CARGO_CRATE_URIS
Setting PKGBUMPING would result in empty crate URI list which is
incorrect when used inside an USE-conditional group.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/cargo.eclass | 3 ---
1 file changed, 3 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 7bdd548b0df8..3bdbb5e3ec64 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -175,9 +175,6 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
# If no arguments are provided, it uses the CRATES variable.
# The value is set as CARGO_CRATE_URIS.
_cargo_set_crate_uris() {
- # when called by pkgbump, do not fetch crates
- [[ ${PKGBUMPING} == ${PVR} ]] && return
-
local -r regex='^([a-zA-Z0-9_\-]+)-([0-9]+\.[0-9]+\.[0-9]+.*)$'
local crates=${1}
local crate
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 23:53 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-08 23:53 UTC (permalink / raw
To: gentoo-commits
commit: 14ee2fa63b28757cac0fa3c5388be4a12af5b7bf
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 23:52:59 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 23:53:08 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14ee2fa6
toolchain.eclass: go back to flex
We should really tighten this so it's only for snapshots though...
Closes: https://bugs.gentoo.org/921620
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a446fd8f1a34..3601737979d8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -304,7 +304,7 @@ fi
BDEPEND="
app-alternatives/yacc
- app-alternatives/lex
+ >=sys-devel/flex-2.5.4
nls? ( sys-devel/gettext )
test? (
>=dev-util/dejagnu-1.4.4
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 21:09 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-01-08 21:09 UTC (permalink / raw
To: gentoo-commits
commit: 440b08f6bcb82e28e3ba56a6c07a9881fbc7a23f
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 15:56:28 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 21:08:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=440b08f6
qt6-build.eclass: shorten intrin test a bit
Felt more correct but do not actually need the header for these.
Could alternatively use tc-cpp-is-true too, but fwiw current
method allows batching in a single compiler call.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 3 ---
1 file changed, 3 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 561a4fe20422..59baaa77ce6d 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -240,9 +240,6 @@ _qt6-build_match_cpu_flags() {
done
done < <(
$(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 2
- #if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
- #include <x86intrin.h>
- #endif
avx2=__AVX2__ =__BMI__ =__BMI2__ =__F16C__ =__FMA__ =__LZCNT__ =__POPCNT__
avx512f=__AVX512F__ avx512bw=__AVX512BW__ avx512cd=__AVX512CD__ avx512dq=__AVX512DQ__ avx512vl=__AVX512VL__
EOF
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 14:48 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-08 14:48 UTC (permalink / raw
To: gentoo-commits
commit: d466b3b94a8149cfb7ef4f7ac34d373b0ae4447f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 5 10:50:51 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 14:48:14 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d466b3b9
verify-sig.eclass: Remove <dev-python/gemato-20 support
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/verify-sig.eclass | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass
index d5f71669538e..88fb17c31652 100644
--- a/eclass/verify-sig.eclass
+++ b/eclass/verify-sig.eclass
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: verify-sig.eclass
@@ -68,7 +68,7 @@ case ${VERIFY_SIG_METHOD} in
BDEPEND="
verify-sig? (
app-crypt/gnupg
- >=app-portage/gemato-16
+ >=app-portage/gemato-20
)
"
;;
@@ -159,16 +159,10 @@ verify-sig_verify_detached() {
# gpg can't handle very long TMPDIR
# https://bugs.gentoo.org/854492
local -x TMPDIR=/tmp
- if has_version ">=app-portage/gemato-20"; then
- gemato openpgp-verify-detached -K "${key}" \
- "${extra_args[@]}" \
- "${sig}" "${file}" ||
- die "PGP signature verification failed"
- else
- gemato gpg-wrap -K "${key}" "${extra_args[@]}" -- \
- gpg --verify "${sig}" "${file}" ||
- die "PGP signature verification failed"
- fi
+ gemato openpgp-verify-detached -K "${key}" \
+ "${extra_args[@]}" \
+ "${sig}" "${file}" ||
+ die "PGP signature verification failed"
;;
signify)
signify -V -p "${key}" -m "${file}" -x "${sig}" ||
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 14:48 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-08 14:48 UTC (permalink / raw
To: gentoo-commits
commit: 0611129171a7f43be5e554c3ace3880c981aea92
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 23 08:23:18 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 14:48:15 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06111291
verify-sig.eclass: Accept 1-out-of-n sigs on multisig files
If a distfile has multiple detached signatures, pass verification
if at least one of them can be verified rather than requiring all
of them. This is particularly helpful for upstreams where the whole
set of release keys is hard to come by.
Closes: https://bugs.gentoo.org/873211
Closes: https://github.com/gentoo/gentoo/pull/29224
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/29592
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/verify-sig.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass
index 88fb17c31652..b74ed78290aa 100644
--- a/eclass/verify-sig.eclass
+++ b/eclass/verify-sig.eclass
@@ -160,7 +160,7 @@ verify-sig_verify_detached() {
# https://bugs.gentoo.org/854492
local -x TMPDIR=/tmp
gemato openpgp-verify-detached -K "${key}" \
- "${extra_args[@]}" \
+ "${extra_args[@]}" --no-require-all-good \
"${sig}" "${file}" ||
die "PGP signature verification failed"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 12:29 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-08 12:29 UTC (permalink / raw
To: gentoo-commits
commit: 736816f859cb89432b26e0505d89418baba99d30
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 12:29:09 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 12:29:09 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=736816f8
toolchain.eclass: fix lex, yacc versions
Fixes: b8300e99e7137925c73f1d067caed8af4f77dc1b
Fixes: 4c621abb2923e1085cc4aaf67c30901510d8b3c0
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index f328d9503ca8..a446fd8f1a34 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -303,8 +303,8 @@ if tc_has_feature graphite ; then
fi
BDEPEND="
- >=app-alternatives/yacc-1.875
- >=app-alternatives/lex-2.5.4
+ app-alternatives/yacc
+ app-alternatives/lex
nls? ( sys-devel/gettext )
test? (
>=dev-util/dejagnu-1.4.4
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 12:28 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-08 12:28 UTC (permalink / raw
To: gentoo-commits
commit: bd3dc0379262bedb0bb301df1b9c82442835be3e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 12:10:20 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 12:25:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bd3dc037
kernel-2.eclass: sys-devel/bison -> app-alternatives/yacc
All of these will be using app-alternatives/yacc anyway as they're not unsetting
YACC or LEX, so make the dep reflect reality.
(Included both YACC and LEX out of conservatism.)
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/kernel-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index 786b78958200..00b3566ab92d 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -656,7 +656,7 @@ if [[ ${ETYPE} == sources ]]; then
app-alternatives/cpio
dev-lang/perl
app-alternatives/bc
- sys-devel/bison
+ app-alternatives/yacc
app-alternatives/lex
sys-devel/make
>=sys-libs/ncurses-5.2
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 12:28 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-08 12:28 UTC (permalink / raw
To: gentoo-commits
commit: b8300e99e7137925c73f1d067caed8af4f77dc1b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 12:10:33 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 12:25:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8300e99
toolchain.eclass: sys-devel/bison -> app-alternatives/yacc
All of these will be using app-alternatives/yacc anyway as they're not unsetting
YACC or LEX, so make the dep reflect reality.
(Included both YACC and LEX out of conservatism.)
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 6ac5f97b114a..f328d9503ca8 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -303,7 +303,7 @@ if tc_has_feature graphite ; then
fi
BDEPEND="
- >=sys-devel/bison-1.875
+ >=app-alternatives/yacc-1.875
>=app-alternatives/lex-2.5.4
nls? ( sys-devel/gettext )
test? (
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 12:03 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-08 12:03 UTC (permalink / raw
To: gentoo-commits
commit: 57a9b506597e766521a5633898d33fef125ecd5b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 11:53:11 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 12:03:16 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57a9b506
kernel-2.eclass: sys-devel/flex -> app-alternatives/lex
All of these will be using app-alternatives/lex anyway as they're not unsetting
YACC or LEX, so make the dep reflect reality.
(Included both YACC and LEX out of conservatism.)
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/kernel-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index 15d4eaea96f6..786b78958200 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -657,7 +657,7 @@ if [[ ${ETYPE} == sources ]]; then
dev-lang/perl
app-alternatives/bc
sys-devel/bison
- sys-devel/flex
+ app-alternatives/lex
sys-devel/make
>=sys-libs/ncurses-5.2
virtual/libelf
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 12:03 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-08 12:03 UTC (permalink / raw
To: gentoo-commits
commit: 4c621abb2923e1085cc4aaf67c30901510d8b3c0
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 11:53:38 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 12:03:17 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c621abb
toolchain.eclass: sys-devel/flex -> app-alternatives/lex
All of these will be using app-alternatives/lex anyway as they're not unsetting
YACC or LEX, so make the dep reflect reality.
(Included both YACC and LEX out of conservatism.)
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 60769c93877f..6ac5f97b114a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.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: toolchain.eclass
@@ -304,7 +304,7 @@ fi
BDEPEND="
>=sys-devel/bison-1.875
- >=sys-devel/flex-2.5.4
+ >=app-alternatives/lex-2.5.4
nls? ( sys-devel/gettext )
test? (
>=dev-util/dejagnu-1.4.4
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 12:03 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-08 12:03 UTC (permalink / raw
To: gentoo-commits
commit: 486f12612d840bf4efbd324afdab59a98dd27fce
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 11:53:25 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 12:03:17 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=486f1261
kernel-build.eclass: sys-devel/flex -> app-alternatives/lex
All of these will be using app-alternatives/lex anyway as they're not unsetting
YACC or LEX, so make the dep reflect reality.
(Included both YACC and LEX out of conservatism.)
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/kernel-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index ce14aabe025d..841981a6ad45 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -39,7 +39,7 @@ BDEPEND="
${PYTHON_DEPS}
app-alternatives/cpio
app-alternatives/bc
- sys-devel/flex
+ app-alternatives/lex
virtual/libelf
app-alternatives/yacc
arm? ( sys-apps/dtc )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 9:48 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-08 9:48 UTC (permalink / raw
To: gentoo-commits
commit: 213f1a49dc5791c63508b4de1223926a8713d3f3
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 09:41:45 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 09:42:17 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=213f1a49
kernel-build.eclass: sys-devel/bc -> app-alternatives/bc
All of these will be using app-alternatives/bc anyway as they're not calling
bc-reference, so make the dep reflect reality.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/kernel-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 391a99ceffce..36cb08811829 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -38,7 +38,7 @@ inherit multiprocessing python-any-r1 savedconfig toolchain-funcs kernel-install
BDEPEND="
${PYTHON_DEPS}
app-arch/cpio
- sys-devel/bc
+ app-alternatives/bc
sys-devel/flex
virtual/libelf
app-alternatives/yacc
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 9:48 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-08 9:48 UTC (permalink / raw
To: gentoo-commits
commit: 906ca2654eefd7f2e94bb3bc572566096b122881
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 8 09:41:35 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 8 09:42:17 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=906ca265
kernel-2.eclass: sys-devel/bc -> app-alternatives/bc
All of these will be using app-alternatives/bc anyway as they're not calling
bc-reference, so make the dep reflect reality.
Signed-off-by: Sam James <sam <AT> 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 5ecd97c173ff..76aa820aad09 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.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: kernel-2.eclass
@@ -655,7 +655,7 @@ if [[ ${ETYPE} == sources ]]; then
RDEPEND="!build? (
app-arch/cpio
dev-lang/perl
- sys-devel/bc
+ app-alternatives/bc
sys-devel/bison
sys-devel/flex
sys-devel/make
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-07 17:29 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-01-07 17:29 UTC (permalink / raw
To: gentoo-commits
commit: a42e98431e7538eadaee1df2b90f0e3174b22341
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 15 18:59:06 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Jan 7 17:28:56 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a42e9843
eclass/(dist-)kernel-*.eclass: drop installkernel-gentoo-7
because we drop the generation of the initrd/uki here
we can remove KERNEL_IUSE_SECUREBOOT since this is now
exactly the same as KERNEL_IUSE_MODULES_SIGN
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/dist-kernel-utils.eclass | 78 -----------------------------------------
eclass/kernel-build.eclass | 13 +++----
eclass/kernel-install.eclass | 39 +++++++--------------
3 files changed, 17 insertions(+), 113 deletions(-)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 8ccffd038474..13137f8c863c 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -12,13 +12,6 @@
# This eclass provides various utility functions related to Distribution
# Kernels.
-# @ECLASS_VARIABLE: KERNEL_IUSE_SECUREBOOT
-# @PRE_INHERIT
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# If set to a non-null value, inherits secureboot.eclass
-# and allows signing of generated kernel images.
-
# @ECLASS_VARIABLE: KERNEL_EFI_ZBOOT
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -35,43 +28,6 @@ esac
inherit toolchain-funcs
-if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
- inherit secureboot
-fi
-
-# @FUNCTION: dist-kernel_build_initramfs
-# @USAGE: <output> <version>
-# @DESCRIPTION:
-# Build an initramfs for the kernel. <output> specifies the absolute
-# path where initramfs will be created, while <version> specifies
-# the kernel version, used to find modules.
-#
-# Note: while this function uses dracut at the moment, other initramfs
-# variants may be supported in the future.
-dist-kernel_build_initramfs() {
- debug-print-function ${FUNCNAME} "${@}"
-
- [[ ${#} -eq 2 ]] || die "${FUNCNAME}: invalid arguments"
- local output=${1}
- local version=${2}
-
- local rel_image_path=$(dist-kernel_get_image_path)
- local image=${output%/*}/${rel_image_path##*/}
-
- local args=(
- --force
- # if uefi=yes is used, dracut needs to locate the kernel image
- --kernel-image "${image}"
-
- # positional arguments
- "${output}" "${version}"
- )
-
- ebegin "Building initramfs via dracut"
- dracut "${args[@]}"
- eend ${?} || die -n "Building initramfs failed"
-}
-
# @FUNCTION: dist-kernel_get_image_path
# @DESCRIPTION:
# Get relative kernel image path specific to the current ${ARCH}.
@@ -123,26 +79,6 @@ dist-kernel_install_kernel() {
local image=${2}
local map=${3}
- if has_version "<=sys-kernel/installkernel-gentoo-7"; then
- # if dracut is used in uefi=yes mode, initrd will actually
- # be a combined kernel+initramfs UEFI executable. we can easily
- # recognize it by PE magic (vs cpio for a regular initramfs)
- local initrd=${image%/*}/initrd
- local magic
- [[ -s ${initrd} ]] && read -n 2 magic < "${initrd}"
- if [[ ${magic} == MZ ]]; then
- einfo "Combined UEFI kernel+initramfs executable found"
- # install the combined executable in place of kernel
- image=${initrd%/*}/uki.efi
- mv "${initrd}" "${image}" || die
-
- if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
- # Ensure the uki is signed if dracut hasn't already done so.
- secureboot_sign_efi_file "${image}"
- fi
- fi
- fi
-
ebegin "Installing the kernel via installkernel"
# note: .config is taken relatively to System.map;
# initrd relatively to bzImage
@@ -159,10 +95,6 @@ dist-kernel_install_kernel() {
# The function will determine whether <kernel-dir> is actually
# a dist-kernel, and whether initramfs was used.
#
-# With sys-kernel/installkernel-systemd, or version 8 or greater of
-# sys-kernel/installkernel-gentoo, the generation of the initrd via dracut
-# is handled by kernel-install instead.
-#
# This function is to be used in pkg_postinst() of ebuilds installing
# kernel modules that are included in the initramfs.
dist-kernel_reinstall_initramfs() {
@@ -180,16 +112,6 @@ dist-kernel_reinstall_initramfs() {
return
fi
- if has_version "<=sys-kernel/installkernel-gentoo-7"; then
- local initramfs_path=${image_path%/*}/initrd
- if [[ ! -f ${initramfs_path} && ! -f ${initramfs_path%/*}/uki.efi ]]; then
- einfo "No initramfs or uki found at ${image_path}"
- return
- fi
-
- dist-kernel_build_initramfs "${initramfs_path}" "${ver}"
- fi
-
dist-kernel_install_kernel "${ver}" "${image_path}" \
"${kernel_dir}/System.map"
}
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 28f111ec998b..f3a59559d104 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -30,9 +30,6 @@ _KERNEL_BUILD_ECLASS=1
PYTHON_COMPAT=( python3_{10..12} )
if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
- # If we have enabled module signing IUSE
- # then we can also enable secureboot IUSE
- KERNEL_IUSE_SECUREBOOT=1
inherit secureboot
fi
@@ -56,10 +53,10 @@ IUSE="+strip"
# @PRE_INHERIT
# @DEFAULT_UNSET
# @DESCRIPTION:
-# If set to a non-null value, adds IUSE=modules-sign and required
-# logic to manipulate the kernel config while respecting the
-# MODULES_SIGN_HASH, MODULES_SIGN_CERT, and MODULES_SIGN_KEY user
-# variables.
+# If set to a non-null value, inherits secureboot.eclass, adds
+# IUSE=modules-sign and required logic to manipulate the kernel
+# config while respecting the MODULES_SIGN_HASH, MODULES_SIGN_CERT,
+# and MODULES_SIGN_KEY user variables.
# @ECLASS_VARIABLE: MODULES_SIGN_HASH
# @USER_VARIABLE
@@ -381,7 +378,7 @@ kernel-build_src_install() {
dosym "../../../${kernel_dir}" "/lib/modules/${module_ver}/build"
dosym "../../../${kernel_dir}" "/lib/modules/${module_ver}/source"
- if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
+ if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
secureboot_sign_efi_file "${image}"
fi
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index b4c3d5fe7b4d..5a5b833cdd7b 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -63,16 +63,15 @@ RESTRICT+="
_IDEPEND_BASE="
!initramfs? (
|| (
- sys-kernel/installkernel-gentoo
- sys-kernel/installkernel-systemd
+ >=sys-kernel/installkernel-gentoo-8
+ >=sys-kernel/installkernel-systemd-2-r5
)
)
initramfs? (
>=sys-kernel/dracut-059-r4
|| (
- <=sys-kernel/installkernel-gentoo-7
>=sys-kernel/installkernel-gentoo-8[dracut(-)]
- sys-kernel/installkernel-systemd
+ >=sys-kernel/installkernel-systemd-2-r5
)
)
"
@@ -543,14 +542,11 @@ kernel-install_pkg_pretend() {
ewarn "for your hardware to work. If in doubt, it is recommended"
ewarn "to pause or abort the build process and install it before"
ewarn "resuming."
-
- if use initramfs; then
- elog
- elog "If you decide to install linux-firmware later, you can rebuild"
- elog "the initramfs via issuing a command equivalent to:"
- elog
- elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
- fi
+ elog
+ elog "If you decide to install linux-firmware later, you can rebuild"
+ elog "the initramfs via issuing a command equivalent to:"
+ elog
+ elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
fi
if ! use initramfs && ! has_version "${CATEGORY}/${PN}[-initramfs]"; then
@@ -633,13 +629,9 @@ kernel-install_extract_from_uki() {
# @FUNCTION: kernel-install_install_all
# @USAGE: <ver>
# @DESCRIPTION:
-# Build an initramfs for the kernel if required and install the kernel.
-# This is called from pkg_postinst() and pkg_config(). <ver> is the
-# full kernel version.
-#
-# With sys-kernel/installkernel-systemd, or version 8 or greater of
-# sys-kernel/installkernel-gentoo, the generation of the initrd via dracut
-# is handled by kernel-install instead.
+# Install the kernel, initramfs/uki generation is optionally handled by
+# installkernel. This is called from pkg_postinst() and pkg_config().
+# <ver> is the full kernel version.
kernel-install_install_all() {
debug-print-function ${FUNCNAME} "${@}"
@@ -673,13 +665,6 @@ kernel-install_install_all() {
while :; do
nonfatal mount-boot_check_status || break
- if use initramfs && has_version "<=sys-kernel/installkernel-gentoo-7"; then
- # putting it alongside kernel image as 'initrd' makes
- # kernel-install happier
- nonfatal dist-kernel_build_initramfs \
- "${image_dir}/initrd" "${module_ver}" || break
- fi
-
nonfatal dist-kernel_install_kernel "${module_ver}" \
"${image_path}" "${kernel_dir}/System.map" || break
@@ -743,7 +728,7 @@ kernel-install_pkg_prerm() {
kernel-install_pkg_postrm() {
debug-print-function ${FUNCNAME} "${@}"
- if [[ -z ${ROOT} && ! ${KERNEL_IUSE_GENERIC_UKI} ]] && use initramfs; then
+ if [[ -z ${ROOT} && ! ${KERNEL_IUSE_GENERIC_UKI} ]]; then
local dir_ver=${PV}${KV_LOCALVERSION}
local kernel_dir=${EROOT}/usr/src/linux-${dir_ver}
local image_path=$(dist-kernel_get_image_path)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-07 17:29 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2024-01-07 17:29 UTC (permalink / raw
To: gentoo-commits
commit: 9a940c3f3c5411d170cd0f575ab87790326cf7c6
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 10:31:15 2024 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Jan 7 17:28:59 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a940c3f
kernel-build.eclass: allow overriding UKI cmdline
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index f3a59559d104..391a99ceffce 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: kernel-build.eclass
@@ -96,6 +96,14 @@ IUSE="+strip"
# key in PEM format to use. Must be specified if MODULES_SIGN_KEY
# is set to a path of a file that only contains the private key.
+# @ECLASS_VARIABLE: KERNEL_GENERIC_UKI_CMDLINE
+# @USER_VARIABLE
+# @DESCRIPTION:
+# If KERNEL_IUSE_GENERIC_UKI is set, this variable allows setting the
+# built-in kernel command line for the UKI. If unset, the default is
+# root=/dev/gpt-auto-root ro
+: "${KERNEL_GENERIC_UKI_CMDLINE:="root=/dev/gpt-auto-root ro"}"
+
if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
IUSE+=" modules-sign"
REQUIRED_USE="secureboot? ( modules-sign )"
@@ -432,7 +440,7 @@ kernel-build_src_install() {
local ukify_args=(
--linux="${image}"
--initrd="${image%/*}/initrd"
- --cmdline="root=/dev/gpt-auto-root ro"
+ --cmdline="${KERNEL_GENERIC_UKI_CMDLINE}"
--uname="${dir_ver}"
--output="${image%/*}/uki.efi"
)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-07 11:38 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-07 11:38 UTC (permalink / raw
To: gentoo-commits
commit: 0b6386e9c6a803f72182310d5832c32069f625f6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 26 16:26:34 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jan 7 11:36:43 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b6386e9
meson.eclass: Pass -Db_lto=false globally
Pass `-Db_lto=false` globally to force-disable appending `-flto`
in projects that default to it. In Gentoo, users enable LTO via setting
`*FLAGS` manually.
If a package really needs to pass `-Db_lto=true` because the build
system enables some custom logic based on it, `tc-is-lto` can be used
to determine whether LTO is enabled, and then `-Db_lto=true` can be
passed explicitly by the ebuild.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/meson.eclass | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index f7cf8a0722ba..12e9dd4bd9a6 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -1,4 +1,4 @@
-# Copyright 2017-2023 Gentoo Authors
+# Copyright 2017-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: meson.eclass
@@ -334,6 +334,10 @@ meson_src_configure() {
# It's Gentoo policy to not have builds die on blanket -Werror, as it's
# 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
)
if [[ -n ${EMESON_BUILDTYPE} ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-06 21:52 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-06 21:52 UTC (permalink / raw
To: gentoo-commits
commit: ac13860623411d8cbc8ce99029c059e86860fa45
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 6 21:49:29 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 6 21:52:18 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac138606
llvm.org.eclass: Add 18.0.0_pre20240106 snapshot
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.org.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 635f1b6b1dcc..94b1fbbe0d0a 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 18.0.0_pre20240106)
+ EGIT_COMMIT=a085402ef54379758e6c996dbaedfcb92ad222b5
+ ;;
18.0.0_pre20231228)
EGIT_COMMIT=a700298b3d538452915703268ca18f7f8f7537e6
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-05 20:19 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-05 20:19 UTC (permalink / raw
To: gentoo-commits
commit: d14f213a798851966c3bfbdb0cdb6d220e3b95bd
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 2 16:41:32 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 5 20:18:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d14f213a
distutils-r1.eclass: Add support for dev builds in setuptools-rust
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 5a99ba88eddb..428551662845 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.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: distutils-r1.eclass
@@ -1401,6 +1401,9 @@ distutils_pep517_install() {
)
;;
setuptools)
+ if in_iuse debug && use debug; then
+ local -x SETUPTOOLS_RUST_CARGO_PROFILE=dev
+ fi
if [[ -n ${DISTUTILS_ARGS[@]} ]]; then
config_settings=$(
"${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-05 20:19 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-05 20:19 UTC (permalink / raw
To: gentoo-commits
commit: b774995375493a943dddc68dfdaedb39438aa28b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 13:24:27 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 5 20:18:51 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7749953
python-utils-r1.eclass: Minimize pytest tempdir retention
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-utils-r1.eclass | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index abb55bd2e942..a82379ce876b 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.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: python-utils-r1.eclass
@@ -1344,6 +1344,11 @@ epytest() {
# count is more precise when we're dealing with a large number
# of tests
-o console_output_style=count
+ # minimize the temporary directory retention, the test suites
+ # of some packages can grow them pretty large and normally
+ # we don't need to preserve them
+ -o tmp_path_retention_count=0
+ -o tmp_path_retention_policy=failed
)
if [[ ! ${PYTEST_DISABLE_PLUGIN_AUTOLOAD} ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-05 20:19 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-05 20:19 UTC (permalink / raw
To: gentoo-commits
commit: 635892e8f096afd7d1f3ea2f91a6906122b2e5ca
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 13:32:33 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 5 20:18:53 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=635892e8
python-utils-r1.eclass, distutils-r1.eclass: Add EPYTEST_TIMEOUT
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 3 +++
eclass/python-utils-r1.eclass | 22 ++++++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 428551662845..c0d1992ccce0 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -618,6 +618,9 @@ distutils_enable_tests() {
;;
pytest)
test_pkgs='>=dev-python/pytest-7.3.1[${PYTHON_USEDEP}]'
+ if [[ -n ${EPYTEST_TIMEOUT} ]]; then
+ test_pkgs+=' dev-python/pytest-timeout[${PYTHON_USEDEP}]'
+ fi
if [[ ${EPYTEST_XDIST} ]]; then
test_pkgs+=' dev-python/pytest-xdist[${PYTHON_USEDEP}]'
fi
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index a82379ce876b..3af3cbdb075e 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1296,6 +1296,16 @@ _python_check_occluded_packages() {
# parameter, when calling epytest. The listed files will be entirely
# skipped from test collection.
+# @ECLASS_VARIABLE: EPYTEST_TIMEOUT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set to a non-empty value, enables pytest-timeout plugin and sets
+# test timeout to the specified value. This variable can be either set
+# in ebuilds that are known to hang, or by user to prevent hangs
+# in automated test environments. If this variable is set prior
+# to calling distutils_enable_tests in distutils-r1, a test dependency
+# on dev-python/pytest-timeout is added automatically.
+
# @ECLASS_VARIABLE: EPYTEST_XDIST
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -1381,6 +1391,18 @@ epytest() {
)
fi
+ if [[ -n ${EPYTEST_TIMEOUT} ]]; then
+ if [[ ${PYTEST_PLUGINS} != *pytest_timeout* ]]; then
+ args+=(
+ -p timeout
+ )
+ fi
+
+ args+=(
+ "--timeout=${EPYTEST_TIMEOUT}"
+ )
+ fi
+
if [[ ${EPYTEST_XDIST} ]]; then
local jobs=${EPYTEST_JOBS:-$(makeopts_jobs)}
if [[ ${jobs} -gt 1 ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-05 10:54 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2024-01-05 10:54 UTC (permalink / raw
To: gentoo-commits
commit: 92001837418f3a50e6571c0f533520b42f90d488
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 24 12:25:39 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 5 10:54:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92001837
cargo.eclass: Support PKGBUMPING to avoid fetching/unpacking crates
Support using the PKGBUMPING variable set by pkgbump/pkgdiff-mg to avoid
respectively fetching and unpacking crates, to speed up using these
tools.
Closes: https://github.com/gentoo/gentoo/pull/34459
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/cargo.eclass | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 1e1a6e3ddfe2..7bdd548b0df8 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.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: cargo.eclass
@@ -175,6 +175,9 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
# If no arguments are provided, it uses the CRATES variable.
# The value is set as CARGO_CRATE_URIS.
_cargo_set_crate_uris() {
+ # when called by pkgbump, do not fetch crates
+ [[ ${PKGBUMPING} == ${PVR} ]] && return
+
local -r regex='^([a-zA-Z0-9_\-]+)-([0-9]+\.[0-9]+\.[0-9]+.*)$'
local crates=${1}
local crate
@@ -331,6 +334,9 @@ cargo_src_unpack() {
for archive in ${A}; do
case "${archive}" in
*.crate)
+ # when called by pkgdiff-mg, do not unpack crates
+ [[ ${PKGBUMPING} == ${PVR} ]] && continue
+
ebegin "Loading ${archive} into Cargo registry"
tar -xf "${DISTDIR}"/${archive} -C "${ECARGO_VENDOR}/" || die
# generate sha256sum of the crate itself as cargo needs this
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-03 10:44 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-03 10:44 UTC (permalink / raw
To: gentoo-commits
commit: c39ad19b66bbfb45c5ff0226e8b6b13f861e306a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 10:41:48 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jan 3 10:41:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c39ad19b
qt5-build.eclass: use test-flags-CCLD for -Wl,--undefined-version
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/qt5-build.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
index 0cb64f3010ea..0e416e253cc2 100644
--- a/eclass/qt5-build.eclass
+++ b/eclass/qt5-build.eclass
@@ -233,8 +233,8 @@ qt5-build_src_configure() {
# Workaround for bug #915203
# Upstream: https://bugreports.qt.io/browse/QTBUG-111514
- if [[ ${PN} != qtcore ]] && tc-ld-is-lld ; then
- append-ldflags -Wl,--undefined-version
+ if [[ ${PN} != qtcore ]] ; then
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
fi
# many bugs, no one to fix
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-03 9:35 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2024-01-03 9:35 UTC (permalink / raw
To: gentoo-commits
commit: ae5ffe9ef3c004cb61c9423bfd9199f3c33bd632
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 3 09:27:16 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Jan 3 09:34:04 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae5ffe9e
qt6-build.eclass: cleanup deprecated qt6_symlink_binary_to_path
No consumers left for a while, kind of forgot about it.
If overlays were packaging additional Qt modules, their facing links
should be handled automatically even if this function call fails.
That is, unless they were doing extra links not suggested by upstream.
At that point I'd suggest doing a normal dosym, or better yet report
it to Qt so that it will be suggested in user_facing_tool_links.txt
for future versions.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 0e439e946af3..561a4fe20422 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -1,4 +1,4 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: qt6-build.eclass
@@ -196,20 +196,6 @@ qt_feature() {
echo "-DQT_FEATURE_${2:-${1}}=$(usex ${1} ON OFF)"
}
-# @FUNCTION: qt6_symlink_binary_to_path
-# @USAGE: <target binary name> [suffix]
-# @DESCRIPTION:
-# Symlink a given binary from QT6_BINDIR to QT6_PREFIX/bin, with
-# optional suffix.
-#
-# Note: deprecated, will be removed when no consumers left in-tree,
-# see internal the _qt6-build_create_user_facing_links
-qt6_symlink_binary_to_path() {
- [[ ${#} -ge 1 ]] || die "${FUNCNAME}() requires at least one argument"
-
- dosym -r "${QT6_BINDIR}"/${1} /usr/bin/${1}${2}
-}
-
###### Internal functions ######
# @FUNCTION: _qt6-build_create_user_facing_links
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-03 6:20 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2024-01-03 6:20 UTC (permalink / raw
To: gentoo-commits
commit: 123a15873fd98645c10f23fdf759226bac842eb8
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Wed Jan 3 05:56:27 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jan 3 06:20:23 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=123a1587
apache-2.eclass: drop outdated symlink
In commit 90f738b661e9e6cf903cd2a65418a6e00482c19f, the destination got
deleted. apxs is no longer in the sbin directory. On split-usr systems,
sbin isn't a symlink to bin, so the symlink is also *broken*.
There are two general solutions here:
- Fix the symlink to symlink to /usr/bin instead.
- This symlink was created in 2007 as a temporary porting measure, and
it is long past time it got removed. So just remove it.
We go with option 2. One more legacy hack gone.
Bug: https://bugs.gentoo.org/177697
Fixes: 90f738b661e9e6cf903cd2a65418a6e00482c19f
Closes: https://bugs.gentoo.org/921191
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/apache-2.eclass | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/eclass/apache-2.eclass b/eclass/apache-2.eclass
index 86e5dc2a93ba..e1489eb282ac 100644
--- a/eclass/apache-2.eclass
+++ b/eclass/apache-2.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: apache-2.eclass
@@ -634,9 +634,6 @@ apache-2_src_install() {
dosym /etc/init.d/apache2 /usr/sbin/apache2ctl
fi
- # provide legacy symlink for apxs, bug 177697
- dosym apxs /usr/sbin/apxs2
-
# install some documentation
dodoc ABOUT_APACHE CHANGES LAYOUT README README.platforms VERSIONING
dodoc "${GENTOO_PATCHDIR}"/docs/*
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 16:20 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-30 16:20 UTC (permalink / raw
To: gentoo-commits
commit: b7ca73e4faafc23a554eb6eecc4b513449d41d66
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 28 11:31:33 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 30 16:19:11 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7ca73e4
linux-mod-r1.eclass: Call module cleanup in postinst
Closes: https://github.com/gentoo/gentoo/pull/34513
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/linux-mod-r1.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 54df2406e5c7..67a4b64eb481 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -109,7 +109,7 @@ esac
if [[ ! ${_LINUX_MOD_R1_ECLASS} ]]; then
_LINUX_MOD_R1_ECLASS=1
-inherit edo linux-info multiprocessing toolchain-funcs
+inherit dist-kernel-utils edo linux-info multiprocessing toolchain-funcs
IUSE="dist-kernel modules-compress modules-sign +strip ${MODULES_OPTIONAL_IUSE}"
@@ -468,6 +468,7 @@ linux-mod-r1_pkg_postinst() {
debug-print-function ${FUNCNAME[0]} "${@}"
_modules_check_function ${#} 0 0 || return 0
+ dist-kernel_compressed_module_cleanup "${EROOT}/lib/modules/${KV_FULL}"
_modules_update_depmod
# post_process ensures modules were installed and that the eclass' USE
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 16:20 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-30 16:20 UTC (permalink / raw
To: gentoo-commits
commit: cce4904e482d770bd521b87908de42c81c71f23b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 28 11:29:16 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 30 16:19:11 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cce4904e
kernel-install.eclass: Call module cleanup in postinst
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-install.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index af4f5d839b0e..b4c3d5fe7b4d 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -592,6 +592,7 @@ kernel-install_pkg_preinst() {
die "Release file ${relfile} not installed!"
local release
release="$(<"${relfile}")" || die
+ DIST_KERNEL_RELEASE="${release}"
# perform the version check for release ebuilds only
if [[ ${PV} != *9999 ]]; then
@@ -706,6 +707,8 @@ kernel-install_pkg_postinst() {
local dir_ver=${PV}${KV_LOCALVERSION}
kernel-install_update_symlink "${EROOT}/usr/src/linux" "${dir_ver}"
+ dist-kernel_compressed_module_cleanup \
+ "${EROOT}/lib/modules/${DIST_KERNEL_RELEASE}"
if [[ -z ${ROOT} ]]; then
kernel-install_install_all "${dir_ver}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 16:20 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-30 16:20 UTC (permalink / raw
To: gentoo-commits
commit: 44d713565ee89e990ac10a438fef1126e47330b1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 28 11:22:29 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 30 16:19:10 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44d71356
dist-kernel-utils.eclass: Add dist-kernel_compressed_module_cleanup
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/dist-kernel-utils.eclass | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 67cb802151b2..8ccffd038474 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -210,5 +210,42 @@ dist-kernel_PV_to_KV() {
echo "${kv}"
}
+# @FUNCTION: dist-kernel_compressed_module_cleanup
+# @USAGE: <path>
+# @DESCRIPTION:
+# Traverse path for duplicate (un)compressed modules and remove all
+# but the newest variant.
+dist-kernel_compressed_module_cleanup() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ [[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments"
+ local path=${1}
+ local basename f
+
+ while read -r basename; do
+ local prev=
+ for f in "${path}/${basename}"{,.gz,.xz,.zst}; do
+ if [[ ! -e ${f} ]]; then
+ continue
+ elif [[ -z ${prev} ]]; then
+ prev=${f}
+ elif [[ ${f} -nt ${prev} ]]; then
+ rm -v "${prev}" || die
+ prev=${f}
+ else
+ rm -v "${f}" || die
+ fi
+ done
+ done < <(
+ cd "${path}" &&
+ find -type f \
+ \( -name '*.ko' \
+ -o -name '*.ko.gz' \
+ -o -name '*.ko.xz' \
+ -o -name '*.ko.zst' \
+ \) | sed -e 's:[.]\(gz\|xz\|zst\)$::' | sort | uniq -d || die
+ )
+}
+
_DIST_KERNEL_UTILS=1
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 16:20 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-30 16:20 UTC (permalink / raw
To: gentoo-commits
commit: eaefe0f676c685a0e52682eb125db34a1f54da9b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 28 08:51:02 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 30 16:19:09 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eaefe0f6
linux-mod.eclass: Fix xz compression options
Match xz compression options to the ones used by the kernel,
as the xz decoder used by the kernel supports only a subset of the xz
format.
Bug: https://bugs.gentoo.org/920837
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/linux-mod.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/linux-mod.eclass b/eclass/linux-mod.eclass
index 26d8cac47ef0..c71ace53aa00 100644
--- a/eclass/linux-mod.eclass
+++ b/eclass/linux-mod.eclass
@@ -689,7 +689,9 @@ linux-mod_src_install() {
# and similarly compress the module being built if != NONE.
if linux_chkconfig_present MODULE_COMPRESS_XZ; then
- xz -T$(makeopts_jobs) --memlimit-compress=50% -q ${modulename}.${KV_OBJ} || die "Compressing ${modulename}.${KV_OBJ} with xz failed"
+ # match kernel compression options for compatibility
+ # https://bugs.gentoo.org/920837
+ xz -T$(makeopts_jobs) --memlimit-compress=50% -q --check=crc32 --lzma2=dict=1MiB ${modulename}.${KV_OBJ} || die "Compressing ${modulename}.${KV_OBJ} with xz failed"
doins ${modulename}.${KV_OBJ}.xz
KV_OBJ_COMPRESS_EXT=".xz"
elif linux_chkconfig_present MODULE_COMPRESS_GZIP; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 16:20 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-30 16:20 UTC (permalink / raw
To: gentoo-commits
commit: 59e3804695ddfd8749aeb717421818122f1185cc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 28 08:58:57 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 30 16:19:09 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59e38046
linux-mod-r1.eclass: Add USE=modules-compress
Add a `modules-compress` USE flag to explicitly control kernel module
compression. When the flag is disabled, modules are installed
uncompressed even if the kernel supports compression (which is going
to be the case for new sys-kernel/gentoo-kernel* builds). When it is
enabled, the eclass compresses modules using the compressor configured,
or fails if no compression is supported.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/linux-mod-r1.eclass | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 44fc927c3a70..54df2406e5c7 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -111,7 +111,7 @@ _LINUX_MOD_R1_ECLASS=1
inherit edo linux-info multiprocessing toolchain-funcs
-IUSE="dist-kernel modules-sign +strip ${MODULES_OPTIONAL_IUSE}"
+IUSE="dist-kernel modules-compress modules-sign +strip ${MODULES_OPTIONAL_IUSE}"
RDEPEND="
sys-apps/kmod[tools]
@@ -835,6 +835,8 @@ _modules_prepare_toolchain() {
# If enabled in the kernel configuration, this compresses the given
# modules using the same format.
_modules_process_compress() {
+ use modules-compress || return
+
local -a compress
if linux_chkconfig_present MODULE_COMPRESS_XZ; then
compress=(
@@ -853,13 +855,13 @@ _modules_process_compress() {
fi
elif linux_chkconfig_present MODULE_COMPRESS_ZSTD; then
compress=(zstd -qT"$(makeopts_jobs)" --rm)
+ else
+ die "USE=modules-compress enabled but no MODULE_COMPRESS* configured"
fi
- if [[ -v compress ]]; then
- # could fail, assumes have commands that were needed for the kernel
- einfo "Compressing modules (matching the kernel configuration) ..."
- edob "${compress[@]}" -- "${@}"
- fi
+ # could fail, assumes have commands that were needed for the kernel
+ einfo "Compressing modules (matching the kernel configuration) ..."
+ edob "${compress[@]}" -- "${@}"
}
# @FUNCTION: _modules_process_depmod.d
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 16:20 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-30 16:20 UTC (permalink / raw
To: gentoo-commits
commit: 95ba46e4f667b31003463109f424cb9995d75435
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 28 08:55:21 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 30 16:19:08 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95ba46e4
kernel-{build,install}.eclass: Rename flag to modules-compress
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 4 ++--
eclass/kernel-install.eclass | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 29ee9f86e7e2..28f111ec998b 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -284,7 +284,7 @@ kernel-build_src_install() {
dostrip -x /lib/modules
local compress=()
- if [[ ${KERNEL_IUSE_GENERIC_UKI} ]] && ! use module-compress; then
+ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]] && ! use modules-compress; then
compress+=(
# force installing uncompressed modules even if compression
# is enabled via config
@@ -560,7 +560,7 @@ kernel-build_merge_configs() {
# Only semi-related but let's use that to avoid changing stable ebuilds.
if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
- # NB: we enable this even with USE=-module-compress, in order
+ # NB: we enable this even with USE=-modules-compress, in order
# to support both uncompressed and compressed modules in prebuilt
# kernels
cat <<-EOF > "${WORKDIR}/module-compress.config" || die
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 8c4d5c14fc03..af4f5d839b0e 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -79,7 +79,7 @@ _IDEPEND_BASE="
LICENSE="GPL-2"
if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
- IUSE+=" generic-uki module-compress"
+ IUSE+=" generic-uki modules-compress"
# https://github.com/AndrewAmmerlaan/dist-kernel-log-to-licenses
# This script can help with generating the array below, keep in mind
# that it is not a fully automatic solution, i.e. use flags will
@@ -762,11 +762,11 @@ kernel-install_pkg_config() {
# @FUNCTION: kernel-install_compress_modules
# @DESCRIPTION:
-# Compress modules installed in ED, if USE=module-compress is enabled.
+# Compress modules installed in ED, if USE=modules-compress is enabled.
kernel-install_compress_modules() {
debug-print-function ${FUNCNAME} "${@}"
- if use module-compress; then
+ if use modules-compress; then
einfo "Compressing kernel modules ..."
# taken from scripts/Makefile.modinst
find "${ED}/lib" -name '*.ko' -exec \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 15:34 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-30 15:34 UTC (permalink / raw
To: gentoo-commits
commit: cc14f7c6f8444a27dd6c354f9701cd276a6b78a6
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 29 12:44:09 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 30 15:33:44 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc14f7c6
ssl-cert.eclass: Drop openssl slot dependency
Suggested-by: David Seifert <soap <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/ssl-cert.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/ssl-cert.eclass b/eclass/ssl-cert.eclass
index 48cb10db16e8..240f9f12cc91 100644
--- a/eclass/ssl-cert.eclass
+++ b/eclass/ssl-cert.eclass
@@ -42,10 +42,10 @@ _SSL_CERT_ECLASS=1
if [[ "${SSL_DEPS_SKIP}" == "0" ]]; then
if [[ "${SSL_CERT_MANDATORY}" == "0" ]]; then
- BDEPEND="${SSL_CERT_USE}? ( dev-libs/openssl:0 )"
+ BDEPEND="${SSL_CERT_USE}? ( dev-libs/openssl )"
IUSE="${SSL_CERT_USE}"
else
- BDEPEND="dev-libs/openssl:0"
+ BDEPEND="dev-libs/openssl"
fi
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 15:34 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-30 15:34 UTC (permalink / raw
To: gentoo-commits
commit: 7634c57d18a6f96b0be8cfca8f8400dff6a1304b
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 28 09:31:44 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 30 15:33:39 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7634c57d
ssl-cert.eclass: Drop support for EAPI 6
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/ssl-cert.eclass | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/eclass/ssl-cert.eclass b/eclass/ssl-cert.eclass
index 0453f0fbf665..48cb10db16e8 100644
--- a/eclass/ssl-cert.eclass
+++ b/eclass/ssl-cert.eclass
@@ -6,7 +6,7 @@
# maintainer-needed@gentoo.org
# @AUTHOR:
# Max Kalika <max@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Eclass for SSL certificates
# @DESCRIPTION:
# This eclass implements a standard installation procedure for installing
@@ -15,7 +15,7 @@
# "install_cert /foo/bar" installs ${ROOT}/foo/bar.{key,csr,crt,pem}
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -42,22 +42,11 @@ _SSL_CERT_ECLASS=1
if [[ "${SSL_DEPS_SKIP}" == "0" ]]; then
if [[ "${SSL_CERT_MANDATORY}" == "0" ]]; then
- SSL_DEPEND="${SSL_CERT_USE}? ( dev-libs/openssl:0 )"
+ BDEPEND="${SSL_CERT_USE}? ( dev-libs/openssl:0 )"
IUSE="${SSL_CERT_USE}"
else
- SSL_DEPEND="dev-libs/openssl:0"
+ BDEPEND="dev-libs/openssl:0"
fi
-
- case "${EAPI}" in
- 6)
- DEPEND="${SSL_DEPEND}"
- ;;
- *)
- BDEPEND="${SSL_DEPEND}"
- ;;
- esac
-
- unset SSL_DEPEND
fi
# @FUNCTION: gen_cnf
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-28 15:06 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-28 15:06 UTC (permalink / raw
To: gentoo-commits
commit: c22c3ddc11cef922d0bbfe048cd7b05d9a97c97e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 28 13:50:34 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Dec 28 15:05:55 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c22c3ddc
llvm.org.eclass: Add 18.0.0_pre20231228 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 ca80f6ee6f40..635f1b6b1dcc 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
+ 18.0.0_pre20231228)
+ EGIT_COMMIT=a700298b3d538452915703268ca18f7f8f7537e6
+ ;;
18.0.0_pre20231222)
EGIT_COMMIT=17858ce6f3d24f994f6ad8c899bfa4eed39f739d
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-28 6:29 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-12-28 6:29 UTC (permalink / raw
To: gentoo-commits
commit: 44db9a32adb0632ae6ae77dd63c83c010387bb5d
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 28 05:04:14 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Dec 28 06:29:00 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44db9a32
linux-mod-r1.eclass: use kernel compatible xz settings for >=kmod-31
When the non-default CONFIG_KERNEL_DECOMPRESS option is set in
kernel >6.4, >=kmod-31 will let the kernel handle decompression
rather than use xz-utils.
...but kernel XZ decompressor is more limited, so need to use the
same options the kernel does. -T/--threads fortunately is harmless
to keep on top.
Note crc32 is already the default and main problem was dict size, but
still specify in case someone has e.g. XZ_DEFAULTS="--check=sha256".
Closes: https://bugs.gentoo.org/920837
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/linux-mod-r1.eclass | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 858fb0628070..44fc927c3a70 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -837,7 +837,14 @@ _modules_prepare_toolchain() {
_modules_process_compress() {
local -a compress
if linux_chkconfig_present MODULE_COMPRESS_XZ; then
- compress=(xz -qT"$(makeopts_jobs)" --memlimit-compress=50%)
+ compress=(
+ xz -q
+ --memlimit-compress=50%
+ --threads="$(makeopts_jobs)"
+ # match options from kernel's Makefile.modinst (bug #920837)
+ --check=crc32
+ --lzma2=dict=1MiB
+ )
elif linux_chkconfig_present MODULE_COMPRESS_GZIP; then
if type -P pigz &>/dev/null; then
compress=(pigz -p"$(makeopts_jobs)")
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-27 20:57 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-27 20:57 UTC (permalink / raw
To: gentoo-commits
commit: 231ef1261161871334dd6d9abc92b8859e29587c
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 27 19:52:48 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 27 20:57:09 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=231ef126
autotools.eclass: drop 2.13/2.69 from _WANT_AUTOCONF
If people want/need these, they should explicitly state it in the ebuild (although
please port to a newer version!)
Otherwise, we're going to be saying that autoconf-2.13 and such could satisfy
all ebuilds unless they explicitly say something else which is rather unlikely.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/autotools.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 5c266c701e25..7f48c78739c7 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -72,7 +72,7 @@ inherit gnuconfig libtool
# Do NOT change this variable in your ebuilds!
# If you want to force a newer minor version, you can specify the correct
# WANT value by using a colon: <PV>:<WANT_AUTOCONF>
-_LATEST_AUTOCONF=( 2.72-r1:2.72 2.71-r7:2.71 2.71-r6:2.71 2.69-r9:2.69 2.13-r8:2.1 )
+_LATEST_AUTOCONF=( 2.72-r1:2.72 2.71-r6:2.71 )
# @ECLASS_VARIABLE: _LATEST_AUTOMAKE
# @INTERNAL
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-27 20:57 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-27 20:57 UTC (permalink / raw
To: gentoo-commits
commit: 41a10cf44b022f88604535fc5d4fd6c0c62cbf55
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 27 19:38:21 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 27 20:57:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=41a10cf4
autotools.eclass: treat 2.5 as 2.71 for now
Having an unbound dependency (no slot) causes all sorts of problems. Add cases
for each slot.
I think we should really have the slots aligned to PV and slotmove as required but
let's handle that another time. This would've hidden the original bug at least.
Bug: https://bugs.gentoo.org/920822
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/autotools.eclass | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 5eab543409a5..5c266c701e25 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -118,6 +118,8 @@ fi
if [[ -n ${WANT_AUTOCONF} ]] ; then
# TODO: Fix the slot mess here and just have proper PV-as-SLOT?
+ # TODO: Make _LATEST_AUTOCONF an assoc. array and instead iterate over
+ # its keys.
case ${WANT_AUTOCONF} in
none)
# some packages don't require autoconf at all
@@ -127,7 +129,13 @@ if [[ -n ${WANT_AUTOCONF} ]] ; then
_autoconf_atom=">=sys-devel/autoconf-2.13-r7:2.1"
;;
2.5)
- _autoconf_atom=">=sys-devel/autoconf-2.71-r6"
+ _autoconf_atom=">=sys-devel/autoconf-2.71-r6:2.71"
+ ;;
+ 2.69)
+ _autoconf_atom=">=sys-devel/autoconf-2.69-r9:2.69"
+ ;;
+ 2.71)
+ _autoconf_atom=">=sys-devel/autoconf-2.71-r6:2.71"
;;
latest)
printf -v _autoconf_atom_tmp '>=sys-devel/autoconf-%s:%s ' ${_LATEST_AUTOCONF[@]/:/ }
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-27 20:57 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-27 20:57 UTC (permalink / raw
To: gentoo-commits
commit: 92523f4fa2b9f09b88f4316bd021a737d3a2447e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 27 19:32:31 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 27 20:57:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92523f4f
autotools.eclass: optimize dependency generation (elide subshells)
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/autotools.eclass | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 5e214686572a..5eab543409a5 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -105,7 +105,9 @@ if [[ -n ${WANT_AUTOMAKE} ]] ; then
# the autoreconf tool, so this requirement is correct, bug #401605.
;;
latest)
- _automake_atom="|| ( $(printf '>=sys-devel/automake-%s:%s ' ${_LATEST_AUTOMAKE[@]/:/ }) )"
+ printf -v _automake_atom_tmp '>=sys-devel/automake-%s:%s ' ${_LATEST_AUTOMAKE[@]/:/ }
+ _automake_atom="|| ( ${_automake_atom_tmp} )"
+ unset _automake_atom_tmp
;;
*)
_automake_atom="=sys-devel/automake-${WANT_AUTOMAKE}*"
@@ -128,7 +130,9 @@ if [[ -n ${WANT_AUTOCONF} ]] ; then
_autoconf_atom=">=sys-devel/autoconf-2.71-r6"
;;
latest)
- _autoconf_atom="|| ( $(printf '>=sys-devel/autoconf-%s:%s ' ${_LATEST_AUTOCONF[@]/:/ }) )"
+ printf -v _autoconf_atom_tmp '>=sys-devel/autoconf-%s:%s ' ${_LATEST_AUTOCONF[@]/:/ }
+ _autoconf_atom="|| ( ${_autoconf_atom_tmp} )"
+ unset _autoconf_atom_tmp
;;
*)
die "Invalid WANT_AUTOCONF value '${WANT_AUTOCONF}'"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-27 20:57 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-27 20:57 UTC (permalink / raw
To: gentoo-commits
commit: 00a85ac2928bf83ec841a08904b2e80008276ce2
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 27 19:12:04 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 27 20:57:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=00a85ac2
autotools.eclass: rework WANT_AUTOCONF handling
For automake, we enumerate each of the automake slots in _WANT_AUTOMAKE and
use this to handle setting WANT_AUTOMAKE accordingly if the ebuild (or user,
I suppose) haven't set WANT_AUTOMAKE themselves. This means that we can easily
rollover to the latest installed on a system (and we also pull it in via _WANT_AUTOMAKE
which is used for dependencies) because WANT_AUTOMAKE is based on the slots in
_WANT_AUTOMAKE intersected with whatever is installed on the system.
For autoconf, we weren't doing any of that, and were just hardcoding whatever
the latest slot is! That's error prone on bumps but it also wasn't really possible
to get right as-is without marking a new slot stable because of the entanglement
between the dependencies, WANT_AUTOCONF, and no intersection being done
(WANT_AUTOCONF wasn't dynamic at all).
We now implement a similar scheme for autoconf as we already had for automake. This
fixes the case where WANT_AUTOCONF="latest" in an ebuild (the default), autoconf:2.71
isn't installed, but autoconf:2.72 is.
This sometimes worked before if the latest dep was slotted rather than unslotted
like it is now (see below for why that's not easy to just fix) because the new slot
would never get pulled in and hence the older slot which aligned with WANT_AUTOCONF's
hardcoded value would be available.
(I still think we should consider slotmoving older autoconfs but that's something
to discuss and possibly do another time. See TODO.)
Bug: https://bugs.gentoo.org/827852
Bug: https://bugs.gentoo.org/893434
Closes: https://bugs.gentoo.org/920822
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/autotools.eclass | 73 +++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 67 insertions(+), 6 deletions(-)
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 77124e098aac..7d72565bfe08 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -53,6 +53,27 @@ inherit gnuconfig libtool
# Do you want libtool? Valid values here are "latest" and "none".
: "${WANT_LIBTOOL:=latest}"
+# @ECLASS_VARIABLE: _LATEST_AUTOCONF
+# @INTERNAL
+# @DESCRIPTION:
+# CONSTANT!
+# The latest major unstable and stable version/slot of autoconf available
+# on each arch.
+# Only add unstable version if it is in a different slot than latest stable
+# version.
+# List latest unstable version first to boost testing adoption rate because
+# most package manager dependency resolver will pick the first suitable
+# version.
+# If a newer slot is stable on any arch, and is NOT reflected in this list,
+# then circular dependencies may arise during emerge @system bootstraps.
+#
+# See bug #312315 and bug #465732 for further information and context.
+#
+# Do NOT change this variable in your ebuilds!
+# If you want to force a newer minor version, you can specify the correct
+# WANT value by using a colon: <PV>:<WANT_AUTOCONF>
+_LATEST_AUTOCONF=( 2.72-r1:2.72 2.71-r7:2.71 2.71-r6:2.71 2.69-r9:2.69 2.13-r8:2.1 )
+
# @ECLASS_VARIABLE: _LATEST_AUTOMAKE
# @INTERNAL
# @DESCRIPTION:
@@ -89,12 +110,24 @@ if [[ -n ${WANT_AUTOMAKE} ]] ; then
fi
if [[ -n ${WANT_AUTOCONF} ]] ; then
+ # TODO: Fix the slot mess here and just have proper PV-as-SLOT?
case ${WANT_AUTOCONF} in
- none) _autoconf_atom="" ;; # some packages don't require autoconf at all
- 2.1) _autoconf_atom=">=sys-devel/autoconf-2.13-r7:2.1" ;;
- # if you change the "latest" version here, change also autotools_env_setup
- latest|2.5) _autoconf_atom=">=sys-devel/autoconf-2.71-r5" ;;
- *) die "Invalid WANT_AUTOCONF value '${WANT_AUTOCONF}'" ;;
+ none)
+ # some packages don't require autoconf at all
+ _autoconf_atom=""
+ ;;
+ 2.1)
+ _autoconf_atom=">=sys-devel/autoconf-2.13-r7:2.1"
+ ;;
+ 2.5)
+ _autoconf_atom=">=sys-devel/autoconf-2.71-r6"
+ ;;
+ latest)
+ _autoconf_atom="|| ( $(printf '>=sys-devel/autoconf-%s:%s ' ${_LATEST_AUTOCONF[@]/:/ }) )"
+ ;;
+ *)
+ die "Invalid WANT_AUTOCONF value '${WANT_AUTOCONF}'"
+ ;;
esac
export WANT_AUTOCONF
fi
@@ -535,7 +568,35 @@ autotools_env_setup() {
[[ ${WANT_AUTOMAKE} == "latest" ]] && die "Cannot find the latest automake! Tried ${_LATEST_AUTOMAKE[*]}"
fi
fi
- [[ ${WANT_AUTOCONF} == "latest" ]] && export WANT_AUTOCONF=2.71
+
+ if [[ ${WANT_AUTOCONF} == "latest" ]] ; then
+ local pv
+ for pv in ${_LATEST_AUTOCONF[@]/#*:} ; do
+ # Break on first hit to respect _LATEST_AUTOCONF order.
+ local hv_args=""
+ case ${EAPI} in
+ 6)
+ hv_args="--host-root"
+ ;;
+ *)
+ hv_args="-b"
+ ;;
+ esac
+ has_version ${hv_args} "=sys-devel/autoconf-${pv}*" && export WANT_AUTOCONF="${pv}" && break
+ done
+
+ # During bootstrap in prefix there might be no autoconf merged yet
+ # due to --nodeps, but still available somewhere in PATH.
+ # For example, ncurses needs local libtool on aix and hpux.
+ # So, make the check non-fatal where autoconf doesn't yet
+ # exist within BROOT. (We could possibly do better here
+ # and inspect PATH, but I'm not sure there's much point.)
+ if use prefix && [[ ! -x "${BROOT}"/usr/bin/autoconf ]] ; then
+ [[ ${WANT_AUTOCONF} == "latest" ]] && ewarn "Ignoring missing autoconf during Prefix bootstrap! Tried ${_LATEST_AUTOCONF[*]}"
+ else
+ [[ ${WANT_AUTOCONF} == "latest" ]] && die "Cannot find the latest autoconf! Tried ${_LATEST_AUTOCONF[*]}"
+ fi
+ fi
}
# @FUNCTION: autotools_run_tool
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-27 20:57 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-27 20:57 UTC (permalink / raw
To: gentoo-commits
commit: 1506b5a78e5b82da08788046791385cce65349eb
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 27 19:29:41 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 27 20:57:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1506b5a7
autotools.eclass: avoid deprecated backticks
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/autotools.eclass | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 7d72565bfe08..5e214686572a 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -99,12 +99,17 @@ _automake_atom="sys-devel/automake"
_autoconf_atom="sys-devel/autoconf"
if [[ -n ${WANT_AUTOMAKE} ]] ; then
case ${WANT_AUTOMAKE} in
- # Even if the package doesn't use automake, we still need to depend
- # on it because we run aclocal to process m4 macros. This matches
- # the autoreconf tool, so this requirement is correct, bug #401605.
- none) ;;
- latest) _automake_atom="|| ( `printf '>=sys-devel/automake-%s:%s ' ${_LATEST_AUTOMAKE[@]/:/ }` )" ;;
- *) _automake_atom="=sys-devel/automake-${WANT_AUTOMAKE}*";;
+ none)
+ # Even if the package doesn't use automake, we still need to depend
+ # on it because we run aclocal to process m4 macros. This matches
+ # the autoreconf tool, so this requirement is correct, bug #401605.
+ ;;
+ latest)
+ _automake_atom="|| ( $(printf '>=sys-devel/automake-%s:%s ' ${_LATEST_AUTOMAKE[@]/:/ }) )"
+ ;;
+ *)
+ _automake_atom="=sys-devel/automake-${WANT_AUTOMAKE}*"
+ ;;
esac
export WANT_AUTOMAKE
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-26 14:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-26 14:02 UTC (permalink / raw
To: gentoo-commits
commit: 2aea6c3ff2181ad96187e456a3307609fd288d4c
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 25 14:45:59 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Dec 26 14:02:09 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2aea6c3f
toolchain-funcs.eclass: Add tc-is-lto function
Add a function to check whether the C compiler is using LTO.
To determine this, we compile a dummy source unit. In the GCC case,
we check whether the resulting object file contains ".gnu.lto*"
sections. In the clang case, we check whether a valid LLVM bytecode
file was output rather than a regular object.
The goal of this change is to reduce the amount of USE=lto abuse,
and have a consistent cross-package way of enabling LTO via setting
appropriate CFLAGS and CXXFLAGS.
Closes: https://github.com/gentoo/gentoo/pull/34470
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 5da93063866b..cde84e6f34c8 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -1230,4 +1230,25 @@ tc-get-build-ptr-size() {
die "Could not determine CBUILD pointer size"
}
+# @FUNCTION: tc-is-lto
+# @RETURN: Shell true if we are using LTO, shell false otherwise
+tc-is-lto() {
+ local f="${T}/test-lto.o"
+
+ case $(tc-get-compiler-type) in
+ clang)
+ $(tc-getCC) ${CFLAGS} -c -o "${f}" -x c - <<<"" || die
+ # If LTO is used, clang will output bytecode and llvm-bcanalyzer
+ # will run successfully. Otherwise, it will output plain object
+ # file and llvm-bcanalyzer will exit with error.
+ llvm-bcanalyzer "${f}" &>/dev/null && return 0
+ ;;
+ gcc)
+ $(tc-getCC) ${CFLAGS} -c -o "${f}" -x c - <<<"" || die
+ [[ $($(tc-getREADELF) -S "${f}") == *.gnu.lto* ]] && return 0
+ ;;
+ esac
+ return 1
+}
+
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-25 15:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-25 15:47 UTC (permalink / raw
To: gentoo-commits
commit: 824d48dae0571e5e728d93bb08619c7f0f6d10f2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 25 08:36:01 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 25 15:47:33 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=824d48da
kernel-install.eclass: Add kernel-install_compress_modules
Add a function to compress modules manually. It will be used
in sys-kernel/gentoo-kernel-bin.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-install.eclass | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index c04a21789a7c..1cbb7d54d3de 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -765,6 +765,17 @@ kernel-install_pkg_config() {
kernel-install_install_all "${PV}${KV_LOCALVERSION}"
}
+# @FUNCTION: kernel-install_compress_modules
+# @DESCRIPTION:
+# Compress modules installed in ED, if USE=module-compress is enabled.
+kernel-install_compress_modules() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ if use module-compress; then
+ # taken from scripts/Makefile.modinst
+ find "${ED}/lib" -name '*.ko' -exec \
+ xz --check=crc32 --lzma2=dict=1MiB {} + || die
+ fi
fi
EXPORT_FUNCTIONS src_test pkg_preinst pkg_postinst pkg_prerm pkg_postrm
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-25 15:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-25 15:47 UTC (permalink / raw
To: gentoo-commits
commit: 8fbafcbda119ea44a75bfd8b29cf8631d5aff80e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 25 08:07:23 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 25 15:47:32 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8fbafcbd
kernel-{build,install}.eclass: Support XZ module compression
When KERNEL_IUSE_GENERIC_UKI is set (to gatekeep for new ebuilds),
enable XZ module compression in kernel and add IUSE=module-compress.
When the flag is enabled, the modules are installed .xz compressed
per the config. When it is disabled, they are installed uncompressed
but the kernel retains module compression support.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 22 +++++++++++++++++++++-
eclass/kernel-install.eclass | 5 ++++-
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 70eb1243fcbc..69a2689601fa 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -283,9 +283,18 @@ kernel-build_src_install() {
# Modules were already stripped by the kernel build system
dostrip -x /lib/modules
+ local compress=()
+ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]] && ! use module-compress; then
+ compress+=(
+ # force installing uncompressed modules even if compression
+ # is enabled via config
+ suffix-y=
+ )
+ fi
+
emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
INSTALL_MOD_PATH="${ED}" INSTALL_MOD_STRIP="${strip_args}" \
- INSTALL_PATH="${ED}/boot" "${targets[@]}"
+ INSTALL_PATH="${ED}/boot" "${compress[@]}" "${targets[@]}"
# note: we're using mv rather than doins to save space and time
# install main and arch-specific headers first, and scripts
@@ -547,6 +556,17 @@ kernel-build_merge_configs() {
fi
fi
+ # Only semi-related but let's use that to avoid changing stable ebuilds.
+ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
+ # NB: we enable this even with USE=-module-compress, in order
+ # to support both uncompressed and compressed modules in prebuilt
+ # kernels
+ cat <<-EOF > "${WORKDIR}/module-compress.config" || die
+ CONFIG_MODULE_COMPRESS_XZ=y
+ EOF
+ merge_configs+=( "${WORKDIR}/module-compress.config" )
+ fi
+
if [[ ${#user_configs[@]} -gt 0 ]]; then
elog "User config files are being applied:"
local x
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 9612700a1431..c04a21789a7c 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -79,7 +79,7 @@ _IDEPEND_BASE="
LICENSE="GPL-2"
if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
- IUSE+=" generic-uki"
+ IUSE+=" generic-uki module-compress"
# https://github.com/AndrewAmmerlaan/dist-kernel-log-to-licenses
# This script can help with generating the array below, keep in mind
# that it is not a fully automatic solution, i.e. use flags will
@@ -200,6 +200,9 @@ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
generic-uki? ( ${INITRD_PACKAGES[@]} )
"
+ RDEPEND+="
+ sys-apps/kmod[lzma]
+ "
IDEPEND="
generic-uki? (
|| (
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-25 15:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-25 15:47 UTC (permalink / raw
To: gentoo-commits
commit: 7d9c4d95eb340cfc80232665f8ed85c3f8c11bb2
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 25 08:29:36 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 25 15:47:33 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d9c4d95
kernel-{build,install}.eclass: drop plymouth for generic-uki
plymouth pulls in drm, and drm includes all gpu drivers and their firmware
especially the firmware files are very big. The whole thing costs us
15M on each initrd, and therefore gpkg. Also exclude the netronome
drivers, these also have ridiculously large firmware files.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 8 +++++---
eclass/kernel-install.eclass | 8 +++-----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 69a2689601fa..29ee9f86e7e2 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -395,10 +395,10 @@ kernel-build_src_install() {
local dracut_modules=(
base bash btrfs cifs crypt crypt-gpg crypt-loop dbus dbus-daemon
- dm dmraid drm dracut-systemd fido2 i18n fs-lib kernel-modules
+ dm dmraid dracut-systemd fido2 i18n fs-lib kernel-modules
kernel-network-modules kernel-modules-extra lunmask lvm nbd
mdraid modsign network network-manager nfs nvdimm nvmf pcsc
- pkcs11 plymouth qemu qemu-net resume rngd rootfs-block shutdown
+ pkcs11 qemu qemu-net resume rngd rootfs-block shutdown
systemd systemd-ac-power systemd-ask-password systemd-initrd
systemd-integritysetup systemd-pcrphase systemd-sysusers
systemd-udevd systemd-veritysetup terminfo tpm2-tss udev-rules
@@ -423,6 +423,8 @@ kernel-build_src_install() {
--reproducible
--ro-mnt
--modules "${dracut_modules[*]}"
+ # Pulls in huge firmware files
+ --omit-drivers "nfp"
)
# Tries to update ld cache
@@ -433,7 +435,7 @@ kernel-build_src_install() {
local ukify_args=(
--linux="${image}"
--initrd="${image%/*}/initrd"
- --cmdline="root=/dev/gpt-auto-root ro quiet splash"
+ --cmdline="root=/dev/gpt-auto-root ro"
--uname="${dir_ver}"
--output="${image%/*}/uki.efi"
)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 1cbb7d54d3de..8c4d5c14fc03 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -127,7 +127,6 @@ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
["dev-libs/openssl"]="Apache-2.0"
["dev-libs/userspace-rcu"]="LGPL-2.1"
["media-libs/libmtp"]="LGPL-2.1"
- ["media-libs/libpng"]="libpng2"
["media-libs/libv4l"]="LGPL-2.1+"
["net-dns/c-ares"]="MIT ISC"
["net-dns/libidn2"]="|| ( GPL-2+ LGPL-3+ ) GPL-3+ unicode"
@@ -159,15 +158,12 @@ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
["sys-apps/nvme-cli"]="GPL-2 GPL-2+"
["sys-apps/pcsc-lite"]="BSD ISC MIT GPL-3+ GPL-2"
["sys-apps/rng-tools"]="GPL-2"
- ["sys-apps/sandbox"]="GPL-2"
["sys-apps/sed"]="GPL-3+"
["sys-apps/shadow"]="BSD GPL-2"
["sys-apps/systemd[boot(-),cryptsetup,pkcs11,policykit,tpm,ukify(-)]"]="GPL-2 LGPL-2.1 MIT public-domain"
["sys-apps/util-linux"]="GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain"
["sys-auth/polkit"]="LGPL-2"
["sys-block/nbd"]="GPL-2"
- ["sys-block/open-isns"]="LGPL-2.1"
- ["sys-boot/plymouth"]="GPL-2"
["sys-devel/gcc"]="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+"
["sys-fs/btrfs-progs"]="GPL-2"
["sys-fs/cryptsetup"]="GPL-2+"
@@ -192,7 +188,6 @@ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
["sys-libs/readline"]="GPL-3+"
["sys-libs/zlib"]="ZLIB"
["sys-process/procps"]="GPL-2+ LGPL-2+ LGPL-2.1+"
- ["x11-libs/libdrm"]="MIT"
["amd64? ( sys-firmware/intel-microcode )"]="amd64? ( intel-ucode )"
["x86? ( sys-firmware/intel-microcode )"]="x86? ( intel-ucode )"
)
@@ -772,10 +767,13 @@ kernel-install_compress_modules() {
debug-print-function ${FUNCNAME} "${@}"
if use module-compress; then
+ einfo "Compressing kernel modules ..."
# taken from scripts/Makefile.modinst
find "${ED}/lib" -name '*.ko' -exec \
xz --check=crc32 --lzma2=dict=1MiB {} + || die
fi
+}
+
fi
EXPORT_FUNCTIONS src_test pkg_preinst pkg_postinst pkg_prerm pkg_postrm
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-25 9:02 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2023-12-25 9:02 UTC (permalink / raw
To: gentoo-commits
commit: d18249523bf04913d041c7b28e3104a76db14553
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 25 09:02:13 2023 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Mon Dec 25 09:02:42 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1824952
eclass/ruby-utils.eclass: prepare for ruby33
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/ruby-utils.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/ruby-utils.eclass b/eclass/ruby-utils.eclass
index 48d701a3ebc7..789f57ce25f6 100644
--- a/eclass/ruby-utils.eclass
+++ b/eclass/ruby-utils.eclass
@@ -35,14 +35,14 @@ if [[ ! ${_RUBY_UTILS} ]]; then
RUBY_TARGETS_PREFERENCE="ruby31 "
# All other active ruby targets
-RUBY_TARGETS_PREFERENCE+="ruby32"
+RUBY_TARGETS_PREFERENCE+="ruby32 ruby33"
_ruby_implementation_depend() {
local rubypn=
local rubyslot=
case $1 in
- ruby1[89]|ruby2[0-7]|ruby3[0-2])
+ ruby1[89]|ruby2[0-7]|ruby3[0-3])
rubypn="dev-lang/ruby"
rubyslot=":${1:4:1}.${1:5}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-24 12:35 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2023-12-24 12:35 UTC (permalink / raw
To: gentoo-commits
commit: 34681b83914b7710bdd29070a31d6c88b9334354
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 23 18:13:16 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Dec 24 12:35:19 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34681b83
eclass/kernel-install.eclass: warn if USE=-initramfs
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/34450
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index d2b3b94123d4..9612700a1431 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -554,6 +554,20 @@ kernel-install_pkg_pretend() {
elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
fi
fi
+
+ if ! use initramfs && ! has_version "${CATEGORY}/${PN}[-initramfs]"; then
+ ewarn
+ ewarn "WARNING: The standard configuration of the Gentoo distribution"
+ ewarn "kernels requires an initramfs! You have disabled the initramfs"
+ ewarn "USE flag and as a result dracut was not pulled in as a dependency."
+ ewarn "Please ensure that you are either overriding the standard"
+ ewarn "configuration or that an alternative initramfs generation plugin"
+ ewarn "is installed for your installkernel implementation!"
+ ewarn
+ ewarn "This is an advanced use case, you are on your own to ensure"
+ ewarn "that your system is bootable!"
+ ewarn
+ fi
}
# @FUNCTION: kernel-install_src_test
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-24 11:46 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2023-12-24 11:46 UTC (permalink / raw
To: gentoo-commits
commit: 625697454aa6f2b0819f204c3b2fef93714572b7
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 24 10:22:51 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Dec 24 11:46:44 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62569745
kernel-{build,install}.eclass: compress generic initrd with xz
Some basic benchmarks:
-rw------- 1 root root 103494321 Dec 24 11:10 bzip2
-rw------- 1 root root 112179814 Dec 24 11:02 gzip-nostrip
-rw------- 1 root root 112179814 Dec 24 11:06 gzip-strip
-rw------- 1 root root 112179814 Dec 24 11:08 gzip-strip-aggressive
-rw------- 1 root root 130847597 Dec 24 11:19 lz4
-rw------- 1 root root 66948253 Dec 24 11:13 lzma
-rw------- 1 root root 124285638 Dec 24 11:18 lzop
-rw------- 1 root root 80242444 Dec 24 11:14 xz
-rw------- 1 root root 66744036 Dec 24 11:59 xz-9e--check
-rw------- 1 root root 85917687 Dec 24 11:20 zstd
Strip does nothing, which makes sense since portage already did this.
xz is our size champion so pick this one to compress our initrd
With this change the generic UKI is: 82515840, versus
My own hostonly UKI of the same kernel version: 29390720.
Which is still 2.8 times larger, but significantly better then the 5 times
larger we had before!
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/34024
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 1 +
eclass/kernel-install.eclass | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 2253f4d854d1..70eb1243fcbc 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -403,6 +403,7 @@ kernel-build_src_install() {
--kmoddir "${ED}/lib/modules/${dir_ver}"
--kver "${dir_ver}"
--verbose
+ --compress="xz -9e --check=crc32"
--no-hostonly
--no-hostonly-cmdline
--no-hostonly-i18n
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 919a5d11fd84..d2b3b94123d4 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -430,6 +430,12 @@ kernel-install_test() {
> "${T}"/empty-file || die
mkdir -p "${T}"/empty-directory || die
+ local compress="gzip"
+ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]] && use generic-uki; then
+ # Test with same compression method as the generic initrd
+ compress="xz -9e --check=crc32"
+ fi
+
dracut \
--conf "${T}"/empty-file \
--confdir "${T}"/empty-directory \
@@ -439,6 +445,7 @@ kernel-install_test() {
--omit "${omit_mods[*]}" \
--nostrip \
--no-early-microcode \
+ --compress="${compress}" \
"${T}/initrd" "${version}" || die
kernel-install_create_qemu_image "${T}/fs.img"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-23 18:12 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-23 18:12 UTC (permalink / raw
To: gentoo-commits
commit: fb34618c547e61049007838d3ea7fa46055b0027
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 23 18:11:12 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 23 18:11:12 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fb34618c
flag-o-matic.eclass: allow -fdebug-default-version=*
Reported by leio. We need this for e.g. Clang to produce output that debugedit
is happy with.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 0e427649c015..500ceb5941a8 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -81,6 +81,7 @@ _setup-allowed-flags() {
-gstabs -gstabs+
-gz
-glldb
+ '-fdebug-default-version=*'
# Cosmetic/output related, see e.g. bug #830534
-fno-diagnostics-color '-fmessage-length=*'
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-23 17:35 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-23 17:35 UTC (permalink / raw
To: gentoo-commits
commit: 31e23ab264c3a1479d57261f49a6aa7411152619
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 19 08:03:22 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 23 17:35:08 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31e23ab2
kernel-{build,install}.eclass: add USE=generic-uki
- optionally build a generic unified kernel image
- only install this uki.efi in any binary generated binpkgs, this saves space
- extract the initrd and kernel image from the uki in pkg_postinst
- own image, initrd and uki install paths
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 99 +++++++++++++++++++-
eclass/kernel-install.eclass | 212 +++++++++++++++++++++++++++++++++++++++++--
2 files changed, 301 insertions(+), 10 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 7a041a8aacdf..2253f4d854d1 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -107,6 +107,12 @@ if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
"
fi
+if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
+ BDEPEND+="
+ generic-uki? ( ${!INITRD_PACKAGES[@]} )
+ "
+fi
+
# @FUNCTION: kernel-build_pkg_setup
# @DESCRIPTION:
# Call python-any-r1 and secureboot pkg_setup
@@ -333,7 +339,8 @@ kernel-build_src_install() {
# build/Module.symvers does not exist if CONFIG_MODULES is not set.
[[ -f build/Module.symvers ]] && doins build/Module.symvers
local image_path=$(dist-kernel_get_image_path)
- cp -p "build/${image_path}" "${ED}${kernel_dir}/${image_path}" || die
+ local image=${ED}${kernel_dir}/${image_path}
+ cp -p "build/${image_path}" "${image}" || die
# If a key was generated, copy it so external modules can be signed
local suffix
@@ -366,7 +373,95 @@ kernel-build_src_install() {
dosym "../../../${kernel_dir}" "/lib/modules/${module_ver}/source"
if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
- secureboot_sign_efi_file "${ED}${kernel_dir}/${image_path}"
+ secureboot_sign_efi_file "${image}"
+ fi
+
+ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
+ if use generic-uki; then
+ # NB: if you pass a path that does not exist or is not a regular
+ # file/directory, dracut will silently ignore it and use the default
+ # https://github.com/dracutdevs/dracut/issues/1136
+ > "${T}"/empty-file || die
+ mkdir -p "${T}"/empty-directory || die
+
+ local dracut_modules=(
+ base bash btrfs cifs crypt crypt-gpg crypt-loop dbus dbus-daemon
+ dm dmraid drm dracut-systemd fido2 i18n fs-lib kernel-modules
+ kernel-network-modules kernel-modules-extra lunmask lvm nbd
+ mdraid modsign network network-manager nfs nvdimm nvmf pcsc
+ pkcs11 plymouth qemu qemu-net resume rngd rootfs-block shutdown
+ systemd systemd-ac-power systemd-ask-password systemd-initrd
+ systemd-integritysetup systemd-pcrphase systemd-sysusers
+ systemd-udevd systemd-veritysetup terminfo tpm2-tss udev-rules
+ uefi-lib usrmount virtiofs
+ )
+
+ local dracut_args=(
+ --conf "${T}/empty-file"
+ --confdir "${T}/empty-directory"
+ --kernel-image "${image}"
+ --kmoddir "${ED}/lib/modules/${dir_ver}"
+ --kver "${dir_ver}"
+ --verbose
+ --no-hostonly
+ --no-hostonly-cmdline
+ --no-hostonly-i18n
+ --no-machineid
+ --nostrip
+ --no-uefi
+ --early-microcode
+ --reproducible
+ --ro-mnt
+ --modules "${dracut_modules[*]}"
+ )
+
+ # Tries to update ld cache
+ addpredict /etc/ld.so.cache~
+ dracut "${dracut_args[@]}" "${image%/*}/initrd" ||
+ die "Failed to generate initramfs"
+
+ local ukify_args=(
+ --linux="${image}"
+ --initrd="${image%/*}/initrd"
+ --cmdline="root=/dev/gpt-auto-root ro quiet splash"
+ --uname="${dir_ver}"
+ --output="${image%/*}/uki.efi"
+ )
+
+ if [[ ${KERNEL_IUSE_SECUREBOOT} ]] && use secureboot; then
+ ukify_args+=(
+ --signtool=sbsign
+ --secureboot-private-key="${SECUREBOOT_SIGN_KEY}"
+ --secureboot-certificate="${SECUREBOOT_SIGN_CERT}"
+ )
+ if [[ ${SECUREBOOT_SIGN_KEY} == pkcs11:* ]]; then
+ ukify_args+=(
+ --signing-engine="pkcs11"
+ )
+ else
+ # Sytemd-measure does not currently support pkcs11
+ ukify_args+=(
+ --measure
+ --pcrpkey="${ED}${kernel_dir}/certs/signing_key.x509"
+ --pcr-private-key="${SECUREBOOT_SIGN_KEY}"
+ --phases="enter-initrd"
+ --pcr-private-key="${SECUREBOOT_SIGN_KEY}"
+ --phases="enter-initrd:leave-initrd enter-initrd:leave-initrd:sysinit enter-initrd:leave-initrd:sysinit:ready"
+ )
+ fi
+ fi
+
+ # systemd<255 does not install ukify in /usr/bin
+ PATH="${PATH}:${BROOT}/usr/lib/systemd:${BROOT}/lib/systemd" \
+ ukify build "${ukify_args[@]}" || die "Failed to generate UKI"
+
+ # Overwrite unnecessary image types to save space
+ > "${image}" || die
+ else
+ # Placeholders to ensure we own these files
+ > "${image%/*}/uki.efi" || die
+ fi
+ > "${image%/*}/initrd" || die
fi
# unset to at least be out of the environment file in, e.g. shared binpkgs
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index c7118a720ba6..919a5d11fd84 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -21,6 +21,13 @@
# Additionally, the inherited mount-boot eclass exports pkg_pretend.
# It also stubs out pkg_preinst and pkg_prerm defined by mount-boot.
+# @ECLASS_VARIABLE: KERNEL_IUSE_GENERIC_UKI
+# @PRE_INHERIT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set to a non-null value, adds IUSE=generic-uki and required
+# logic to install a generic unified kernel image.
+
# @ECLASS_VARIABLE: KV_LOCALVERSION
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -28,6 +35,13 @@
# Needs to be set only when installing binary kernels,
# kernel-build.eclass obtains it from kernel config.
+# @ECLASS_VARIABLE: INITRD_PACKAGES
+# @INTERNAL
+# @DESCRIPTION:
+# Used with KERNEL_IUSE_GENERIC_UKI. The eclass sets this to an array of
+# packages to depend on for building the generic UKI and their licenses.
+# Used in kernel-build.eclass.
+
if [[ ! ${_KERNEL_INSTALL_ECLASS} ]]; then
_KERNEL_INSTALL_ECLASS=1
@@ -46,8 +60,7 @@ RESTRICT+="
arm? ( test )
"
-# note: we need installkernel with initramfs support!
-IDEPEND="
+_IDEPEND_BASE="
!initramfs? (
|| (
sys-kernel/installkernel-gentoo
@@ -63,6 +76,146 @@ IDEPEND="
)
)
"
+
+LICENSE="GPL-2"
+if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
+ IUSE+=" generic-uki"
+ # https://github.com/AndrewAmmerlaan/dist-kernel-log-to-licenses
+ # This script can help with generating the array below, keep in mind
+ # that it is not a fully automatic solution, i.e. use flags will
+ # still have to handled manually.
+ declare -gA INITRD_PACKAGES=(
+ ["app-alternatives/awk"]="CC0-1.0"
+ ["app-alternatives/gzip"]="CC0-1.0"
+ ["app-alternatives/sh"]="CC0-1.0"
+ ["app-arch/bzip2"]="BZIP2"
+ ["app-arch/gzip"]="GPL-3+"
+ ["app-arch/lz4"]="BSD-2 GPL-2"
+ ["app-arch/xz-utils"]="public-domain LGPL-2.1+ GPL-2+"
+ ["app-arch/zstd"]="|| ( BSD GPL-2 )"
+ ["app-crypt/argon2"]="|| ( Apache-2.0 CC0-1.0 )"
+ ["app-crypt/gnupg[smartcard,tpm(-)]"]="GPL-3+"
+ ["app-crypt/p11-kit"]="MIT"
+ ["app-crypt/tpm2-tools"]="BSD"
+ ["app-crypt/tpm2-tss"]="BSD-2"
+ ["app-misc/ddcutil"]="GPL-2"
+ ["app-misc/jq"]="MIT CC-BY-3.0"
+ ["app-shells/bash"]="GPL-3+"
+ ["dev-db/sqlite"]="public-domain"
+ ["dev-libs/cyrus-sasl"]="BSD-with-attribution"
+ ["dev-libs/expat"]="MIT"
+ ["dev-libs/glib"]="LGPL-2.1+"
+ ["dev-libs/hidapi"]="|| ( BSD GPL-3 HIDAPI )"
+ ["dev-libs/icu"]="BSD"
+ ["dev-libs/json-c"]="MIT"
+ ["dev-libs/libaio"]="LGPL-2"
+ ["dev-libs/libassuan"]="GPL-3 LGPL-2.1"
+ ["dev-libs/libevent"]="BSD"
+ ["dev-libs/libffi"]="MIT"
+ ["dev-libs/libgcrypt"]="LGPL-2.1 MIT"
+ ["dev-libs/libgpg-error"]="GPL-2 LGPL-2.1"
+ ["dev-libs/libp11"]="LGPL-2.1"
+ ["dev-libs/libpcre2"]="BSD"
+ ["dev-libs/libtasn1"]="LGPL-2.1+"
+ ["dev-libs/libunistring"]="|| ( LGPL-3+ GPL-2+ ) || ( FDL-1.2 GPL-3+ )"
+ ["dev-libs/libusb"]="LGPL-2.1"
+ ["dev-libs/lzo"]="GPL-2+"
+ ["dev-libs/npth"]="LGPL-2.1+"
+ ["dev-libs/nss"]="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+ ["dev-libs/oniguruma"]="BSD-2"
+ ["dev-libs/opensc"]="LGPL-2.1"
+ ["dev-libs/openssl"]="Apache-2.0"
+ ["dev-libs/userspace-rcu"]="LGPL-2.1"
+ ["media-libs/libmtp"]="LGPL-2.1"
+ ["media-libs/libpng"]="libpng2"
+ ["media-libs/libv4l"]="LGPL-2.1+"
+ ["net-dns/c-ares"]="MIT ISC"
+ ["net-dns/libidn2"]="|| ( GPL-2+ LGPL-3+ ) GPL-3+ unicode"
+ ["net-fs/cifs-utils"]="GPL-3"
+ ["net-fs/nfs-utils"]="GPL-2"
+ ["net-fs/samba"]="GPL-3"
+ ["net-libs/libmnl"]="LGPL-2.1"
+ ["net-libs/libndp"]="LGPL-2.1+"
+ ["net-libs/libtirpc"]="BSD BSD-2 BSD-4 LGPL-2.1+"
+ ["net-libs/nghttp2"]="MIT"
+ ["net-misc/curl"]="BSD curl ISC"
+ ["net-misc/networkmanager[iwd]"]="GPL-2+ LGPL-2.1+"
+ ["net-nds/openldap"]="OPENLDAP GPL-2"
+ ["net-wireless/bluez"]="GPL-2+ LGPL-2.1+"
+ ["net-wireless/iwd"]="GPL-2"
+ ["sys-apps/acl"]="LGPL-2.1"
+ ["sys-apps/attr"]="LGPL-2.1"
+ ["sys-apps/baselayout"]="GPL-2"
+ ["sys-apps/coreutils"]="GPL-3+"
+ ["sys-apps/dbus"]="|| ( AFL-2.1 GPL-2 )"
+ ["sys-apps/fwupd"]="LGPL-2.1+"
+ ["sys-apps/gawk"]="GPL-3+"
+ ["sys-apps/hwdata"]="GPL-2+"
+ ["sys-apps/iproute2"]="GPL-2"
+ ["sys-apps/kbd"]="GPL-2"
+ ["sys-apps/keyutils"]="GPL-2 LGPL-2.1"
+ ["sys-apps/kmod"]="LGPL-2"
+ ["sys-apps/less"]="|| ( GPL-3 BSD-2 )"
+ ["sys-apps/nvme-cli"]="GPL-2 GPL-2+"
+ ["sys-apps/pcsc-lite"]="BSD ISC MIT GPL-3+ GPL-2"
+ ["sys-apps/rng-tools"]="GPL-2"
+ ["sys-apps/sandbox"]="GPL-2"
+ ["sys-apps/sed"]="GPL-3+"
+ ["sys-apps/shadow"]="BSD GPL-2"
+ ["sys-apps/systemd[boot(-),cryptsetup,pkcs11,policykit,tpm,ukify(-)]"]="GPL-2 LGPL-2.1 MIT public-domain"
+ ["sys-apps/util-linux"]="GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain"
+ ["sys-auth/polkit"]="LGPL-2"
+ ["sys-block/nbd"]="GPL-2"
+ ["sys-block/open-isns"]="LGPL-2.1"
+ ["sys-boot/plymouth"]="GPL-2"
+ ["sys-devel/gcc"]="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+"
+ ["sys-fs/btrfs-progs"]="GPL-2"
+ ["sys-fs/cryptsetup"]="GPL-2+"
+ ["sys-fs/dmraid"]="GPL-2"
+ ["sys-fs/dosfstools"]="GPL-3"
+ ["sys-fs/e2fsprogs"]="GPL-2 BSD"
+ ["sys-fs/lvm2[lvm]"]="GPL-2"
+ ["sys-fs/mdadm"]="GPL-2"
+ ["sys-fs/multipath-tools"]="GPL-2"
+ ["sys-fs/xfsprogs"]="LGPL-2.1"
+ ["sys-kernel/dracut"]="GPL-2"
+ ["sys-kernel/linux-firmware[redistributable,-unknown-license]"]="GPL-2 GPL-2+ GPL-3 BSD MIT || ( MPL-1.1 GPL-2 ) linux-fw-redistributable BSD-2 BSD BSD-4 ISC MIT"
+ ["sys-libs/glibc"]="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
+ ["sys-libs/libapparmor"]="GPL-2 LGPL-2.1"
+ ["sys-libs/libcap"]="|| ( GPL-2 BSD )"
+ ["sys-libs/libcap-ng"]="LGPL-2.1"
+ ["sys-libs/libnvme"]="LGPL-2.1+"
+ ["sys-libs/libseccomp"]="LGPL-2.1"
+ ["sys-libs/libxcrypt"]="LGPL-2.1+ public-domain BSD BSD-2"
+ ["sys-libs/ncurses"]="MIT"
+ ["sys-libs/pam"]="|| ( BSD GPL-2 )"
+ ["sys-libs/readline"]="GPL-3+"
+ ["sys-libs/zlib"]="ZLIB"
+ ["sys-process/procps"]="GPL-2+ LGPL-2+ LGPL-2.1+"
+ ["x11-libs/libdrm"]="MIT"
+ ["amd64? ( sys-firmware/intel-microcode )"]="amd64? ( intel-ucode )"
+ ["x86? ( sys-firmware/intel-microcode )"]="x86? ( intel-ucode )"
+ )
+ LICENSE+="
+ generic-uki? ( ${INITRD_PACKAGES[@]} )
+ "
+
+ IDEPEND="
+ generic-uki? (
+ || (
+ >=sys-kernel/installkernel-systemd-3
+ >=sys-kernel/installkernel-gentoo-8[-dracut(-),-ukify(-)]
+ )
+ )
+ !generic-uki? (
+ ${_IDEPEND_BASE}
+ )
+ "
+else
+ IDEPEND="${_IDEPEND_BASE}"
+fi
+unset _IDEPEND_BASE
+
# needed by objtool that is installed along with the kernel and used
# to build external modules
# NB: linux-mod.eclass also adds this dep but it's cleaner to have
@@ -442,6 +595,21 @@ kernel-install_pkg_preinst() {
fi
}
+# @FUNCTION: kernel-install_extract_from_uki
+# @USAGE: <type> <input> <output>
+# @DESCRIPTION:
+# Extracts kernel image or initrd from an UKI. <type> must be "linux"
+# or "initrd".
+kernel-install_extract_from_uki() {
+ [[ ${#} -eq 3 ]] || die "${FUNCNAME}: invalid arguments"
+ local extract_type=${1}
+ local uki=${2}
+ local out=${3}
+
+ $(tc-getOBJCOPY) -O binary "-j.${extract_type}" "${uki}" "${out}" ||
+ die "Failed to extract ${extract_type}"
+}
+
# @FUNCTION: kernel-install_install_all
# @USAGE: <ver>
# @DESCRIPTION:
@@ -459,26 +627,41 @@ 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_dir=${image_path%/*}
local module_ver
module_ver=$(<"${relfile}") || die
+ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then
+ if use generic-uki; then
+ # Populate placeholders
+ kernel-install_extract_from_uki linux \
+ "${image_dir}"/uki.efi \
+ "${image_path}"
+ kernel-install_extract_from_uki initrd \
+ "${image_dir}"/uki.efi \
+ "${image_dir}"/initrd
+ else
+ # Remove placeholders, -f because these have already been removed
+ # when doing emerge --config.
+ rm -f "${image_dir}"/{initrd,uki.efi} || die
+ fi
+ fi
+
local success=
# not an actual loop but allows error handling with 'break'
while :; do
nonfatal mount-boot_check_status || break
- local image_path=$(dist-kernel_get_image_path)
if use initramfs && has_version "<=sys-kernel/installkernel-gentoo-7"; then
# putting it alongside kernel image as 'initrd' makes
# kernel-install happier
nonfatal dist-kernel_build_initramfs \
- "${kernel_dir}/${image_path%/*}/initrd" \
- "${module_ver}" || break
+ "${image_dir}/initrd" "${module_ver}" || break
fi
nonfatal dist-kernel_install_kernel "${module_ver}" \
- "${kernel_dir}/${image_path}" \
- "${kernel_dir}/System.map" || break
+ "${image_path}" "${kernel_dir}/System.map" || break
success=1
break
@@ -508,6 +691,19 @@ kernel-install_pkg_postinst() {
if [[ -z ${ROOT} ]]; then
kernel-install_install_all "${dir_ver}"
fi
+
+ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]] && use generic-uki; then
+ ewarn "The prebuilt initramfs and unified kernel image are highly experimental!"
+ ewarn "These images may not work on your system. Please ensure that a working"
+ ewarn "alternative kernel(+initramfs) or UKI is also installed before rebooting!"
+ ewarn
+ ewarn "Note that when secureboot is enabled in the firmware settings any kernel"
+ ewarn "command line arguments supplied to the UKI by the bootloader are ignored."
+ ewarn "To ensure the root partition can be found, systemd-gpt-auto-generator must"
+ ewarn "be used. See [1] for more information."
+ ewarn
+ ewarn "[1]: https://wiki.gentoo.org/wiki/Systemd#Automatic_mounting_of_partitions_at_boot"
+ fi
}
# @FUNCTION: kernel-install_pkg_prerm
@@ -525,7 +721,7 @@ kernel-install_pkg_prerm() {
kernel-install_pkg_postrm() {
debug-print-function ${FUNCNAME} "${@}"
- if [[ -z ${ROOT} ]] && use initramfs; then
+ if [[ -z ${ROOT} && ! ${KERNEL_IUSE_GENERIC_UKI} ]] && use initramfs; then
local dir_ver=${PV}${KV_LOCALVERSION}
local kernel_dir=${EROOT}/usr/src/linux-${dir_ver}
local image_path=$(dist-kernel_get_image_path)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-22 16:44 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-22 16:44 UTC (permalink / raw
To: gentoo-commits
commit: 33b7d4b46913255843c267ab5ec6fe6f1159be70
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 22 16:44:34 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Dec 22 16:44:34 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=33b7d4b4
llvm.org.eclass: Remove support for old snapshots
Signed-off-by: Michał Górny <mgorny <AT> 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 228be0fde5a1..ca80f6ee6f40 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -78,12 +78,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
18.0.0_pre20231215)
EGIT_COMMIT=d37ced88809cb4d2df57ec80887b3f8801ca719b
;;
- 18.0.0_pre20231129)
- EGIT_COMMIT=6a4489a73337907d52e7eaf3716f3de9008e6e53
- ;;
- 18.0.0_pre20231119)
- EGIT_COMMIT=5237193b87721134541f228e28edfd544a9c8ac8
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-21 16:41 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2023-12-21 16:41 UTC (permalink / raw
To: gentoo-commits
commit: 06be91a0a500faf62b2c80989be933ca460593b1
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 16 11:04:56 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Dec 21 16:36:48 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=06be91a0
plasma.kde.org.eclass: Exclude kwayland-integration from SLOT=5 blockers
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/plasma.kde.org.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/plasma.kde.org.eclass b/eclass/plasma.kde.org.eclass
index 7a829b859676..ad4511f63536 100644
--- a/eclass/plasma.kde.org.eclass
+++ b/eclass/plasma.kde.org.eclass
@@ -81,6 +81,7 @@ if [[ ${_PSLOT} == 6 ]]; then
case ${PN} in
kglobalacceld | \
kwayland | \
+ kwayland-integration | \
libplasma | \
ocean-sound-theme | \
plasma-activities | \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-21 16:41 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2023-12-21 16:41 UTC (permalink / raw
To: gentoo-commits
commit: 48d9b407c3f776931ad0872df5dfd97bb56621ac
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 21 16:26:27 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Dec 21 16:34:17 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48d9b407
ecm.eclass: Drop dev-qt/qtbase:6[test]
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm.eclass | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 3c102d669caf..c633fe39d98c 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -129,8 +129,8 @@ fi
# "forceoptional-recursive".
# Default value is "false", except for CATEGORY=kde-frameworks where it is
# set to "true". If set to "false", do nothing.
-# For any other value, add "test" to IUSE and DEPEND on dev-qt/qtbase:6[test]
-# (for KF5: dev-qt/qttest:5). If set to "optional", build with
+# For any other value, add "test" to IUSE (and for KF5 DEPEND on
+# dev-qt/qttest:5). If set to "optional", build with
# -DCMAKE_DISABLE_FIND_PACKAGE_Qt${_KFSLOT}Test=ON when USE=!test. If set
# to "forceoptional", punt Qt${_KFSLOT}Test dependency and ignore "autotests",
# "test", "tests" subdirs from top-level CMakeLists.txt when USE=!test.
@@ -260,9 +260,7 @@ esac
case ${ECM_TEST} in
true|optional|forceoptional|forceoptional-recursive)
IUSE+=" test"
- if [[ ${_KFSLOT} == 6 ]]; then
- DEPEND+=" test? ( dev-qt/qtbase:${_KFSLOT}[test] )"
- else
+ if [[ ${_KFSLOT} == 5 ]]; then
DEPEND+=" test? ( dev-qt/qttest:${_KFSLOT} )"
fi
RESTRICT+=" !test? ( test )"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-20 13:41 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-20 13:41 UTC (permalink / raw
To: gentoo-commits
commit: 142a99106adf15e03c3fc45a490730bdb7b56980
Author: Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Wed Nov 22 11:40:52 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 20 13:41:02 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=142a9910
git-r3.eclass: fetch remote_ref in the mirror clone type
* Handles scenarios where commits in submodules are orphaned.
Closes: https://bugs.gentoo.org/917746
Bug: https://bugs.gentoo.org/503332
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/33935
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/git-r3.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
index a08845364296..de89fdc3a223 100644
--- a/eclass/git-r3.eclass
+++ b/eclass/git-r3.eclass
@@ -682,6 +682,8 @@ git-r3_fetch() {
# and HEAD in case we need the default branch
# (we keep it in refs/git-r3 since otherwise --prune interferes)
"+HEAD:refs/git-r3/HEAD"
+ # fetch the specifc commit_ref to deal with orphan commits
+ "${remote_ref}"
)
else # single or shallow
local fetch_l fetch_r
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-19 20:33 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-12-19 20:33 UTC (permalink / raw
To: gentoo-commits
commit: 132c1d9248ae30e2f32e37f82fae3d7f711895ce
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 19 19:48:56 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Dec 19 20:31:21 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=132c1d92
qt6-build.eclass: cleanup <6.5.3 and 6.6.0 workarounds
Only >=6.6.1 in the tree now and, even if someone wanted to
restore 6.5.2, lacking this wouldn't prevent typical usage.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 6f002bc799ad..0e439e946af3 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -66,11 +66,7 @@ readonly QT6_BUILD_TYPE
HOMEPAGE="https://www.qt.io/"
LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3"
-if ver_test ${PV} -ge 6.5.3; then
- SLOT=6/${PV%%_*}
-else
- SLOT=6/${PV%.*} # TODO: remove this after <6.5.3 is gone
-fi
+SLOT=6/${PV%%_*}
if [[ ${PN} != qttranslations ]]; then
IUSE="test"
@@ -257,13 +253,11 @@ _qt6-build_match_cpu_flags() {
[[ ${intrin} ]] && flags+=( -mno-${intrin} )
done
done < <(
- # TODO: drop ver_test and ${fma} when <6.5.3 and 6.6.0 are gone
- ver_test ${PV} -ge 6.5.3 && ver_test ${PV} -ne 6.6.0 && fma= || fma=fma
$(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 2
#if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
#include <x86intrin.h>
#endif
- avx2=__AVX2__ =__BMI__ =__BMI2__ =__F16C__ ${fma}=__FMA__ =__LZCNT__ =__POPCNT__
+ avx2=__AVX2__ =__BMI__ =__BMI2__ =__F16C__ =__FMA__ =__LZCNT__ =__POPCNT__
avx512f=__AVX512F__ avx512bw=__AVX512BW__ avx512cd=__AVX512CD__ avx512dq=__AVX512DQ__ avx512vl=__AVX512VL__
EOF
assert
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-18 17:21 WANG Xuerui
0 siblings, 0 replies; 6228+ messages in thread
From: WANG Xuerui @ 2023-12-18 17:21 UTC (permalink / raw
To: gentoo-commits
commit: ef4219fbf06a27fec86a85a6e4470fc0182fe862
Author: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 15 09:43:16 2023 +0000
Commit: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
CommitDate: Mon Dec 18 17:20:49 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef4219fb
kernel-build.eclass: ensure KERNEL_EFI_ZBOOT is probed in all cases
The several partially-supported arches (those relying on
USE=savedconfig) directly return in src_prepare(), hence previously the
CONFIG_EFI_ZBOOT probing didn't have a chance to run when building for
those arches, leading to wrong kernel artifact path and failed
src_install().
Move the probing to near the end of eclass src_configure(), so the flag
correctly reflects the reality in all circumstances.
Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>
eclass/kernel-build.eclass | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 6b692dc4f9a0..7a041a8aacdf 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -203,6 +203,12 @@ kernel-build_src_configure() {
.config)
fi
+ # If this is set by USE=secureboot or user config this will have an effect
+ # on the name of the output image. Set this variable to track this setting.
+ if grep -q "CONFIG_EFI_ZBOOT=y" .config; then
+ KERNEL_EFI_ZBOOT=1
+ fi
+
mkdir -p "${WORKDIR}"/modprep || die
mv .config "${WORKDIR}"/modprep/ || die
emake O="${WORKDIR}"/modprep "${MAKEARGS[@]}" olddefconfig
@@ -456,12 +462,6 @@ kernel-build_merge_configs() {
./scripts/kconfig/merge_config.sh -m -r \
.config "${merge_configs[@]}" || die
-
- # If this is set by USE=secureboot or user config this will have an effect
- # on the name of the output image. Set this variable to track this setting.
- if grep -q "CONFIG_EFI_ZBOOT=y" .config; then
- KERNEL_EFI_ZBOOT=1
- fi
}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-18 17:21 WANG Xuerui
0 siblings, 0 replies; 6228+ messages in thread
From: WANG Xuerui @ 2023-12-18 17:21 UTC (permalink / raw
To: gentoo-commits
commit: cc1b29c1d43b412fb199d38bf5f2228ec5d8e050
Author: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 15 08:30:21 2023 +0000
Commit: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
CommitDate: Mon Dec 18 17:20:49 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc1b29c1
kernel-install.eclass: support loong in kernel-install_get_qemu_arch
Right now the loong profiles in Gentoo only cover the 64-bit ISA, so we
can unconditionally specify loongarch64 for QEMU.
Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>
eclass/kernel-install.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 22d8ce200016..c7118a720ba6 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -167,6 +167,9 @@ kernel-install_get_qemu_arch() {
arm64)
echo aarch64
;;
+ loong)
+ echo loongarch64
+ ;;
*)
die "${FUNCNAME}: unsupported ARCH=${ARCH}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-18 17:21 WANG Xuerui
0 siblings, 0 replies; 6228+ messages in thread
From: WANG Xuerui @ 2023-12-18 17:21 UTC (permalink / raw
To: gentoo-commits
commit: cae637be9cec73cd394c4ac02eac80e51ab93805
Author: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 15 08:28:06 2023 +0000
Commit: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
CommitDate: Mon Dec 18 17:20:49 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cae637be
dist-kernel-utils.eclass: support loong in dist-kernel_get_image_path
The filenames to use are taken from upstream:
https://github.com/torvalds/linux/blob/v6.6/arch/loongarch/boot/Makefile.
Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>
eclass/dist-kernel-utils.eclass | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 62750d1721a2..67cb802151b2 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -87,6 +87,13 @@ dist-kernel_get_image_path() {
echo arch/${ARCH}/boot/Image.gz
fi
;;
+ loong)
+ if [[ ${KERNEL_EFI_ZBOOT} ]]; then
+ echo arch/loongarch/boot/vmlinuz.efi
+ else
+ echo arch/loongarch/boot/vmlinux.elf
+ fi
+ ;;
arm)
echo arch/arm/boot/zImage
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-17 11:23 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-17 11:23 UTC (permalink / raw
To: gentoo-commits
commit: 3f87d0f277763f1cd621a78e34eb226d89020863
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 16 15:09:51 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Dec 17 11:23:01 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f87d0f2
distutils-r1.eclass: Call gpep517 via EPYTHON
Call gpep517 via EPYTHON, in order to make it possible to use any
plugins that were installed during python_compile() in python_test().
This is used in dev-python/setuptools-gettext that is tested
via building an example project relying on the plugin.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/34312
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 0a9815f2d459..5a99ba88eddb 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1243,7 +1243,7 @@ _distutils-r1_get_backend() {
if [[ -f pyproject.toml ]]; then
# if pyproject.toml exists, try getting the backend from it
# NB: this could fail if pyproject.toml doesn't list one
- build_backend=$(gpep517 get-backend)
+ build_backend=$("${EPYTHON}" -m gpep517 get-backend)
fi
if [[ -z ${build_backend} && ${DISTUTILS_USE_PEP517} == setuptools &&
-f setup.py ]]
@@ -1317,7 +1317,7 @@ distutils_wheel_install() {
einfo " Installing ${wheel##*/} to ${root}"
local cmd=(
- gpep517 install-wheel
+ "${EPYTHON}" -m gpep517 install-wheel
--destdir="${root}"
--interpreter="${PYTHON}"
--prefix="${EPREFIX}/usr"
@@ -1446,7 +1446,7 @@ distutils_pep517_install() {
local build_backend=$(_distutils-r1_get_backend)
einfo " Building the wheel for ${PWD#${WORKDIR}/} via ${build_backend}"
local cmd=(
- gpep517 build-wheel
+ "${EPYTHON}" -m gpep517 build-wheel
--prefix="${EPREFIX}/usr"
--backend "${build_backend}"
--output-fd 3
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-15 17:51 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-15 17:51 UTC (permalink / raw
To: gentoo-commits
commit: 0ced02cebc2bc27dc04dd74ea8c1106b28f3f59f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 15 17:49:32 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Dec 15 17:50:58 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ced02ce
llvm.org.eclass: Add 18.0.0_pre20231215 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 a92308e38106..95657bab92c2 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
+ 18.0.0_pre20231215)
+ EGIT_COMMIT=d37ced88809cb4d2df57ec80887b3f8801ca719b
+ ;;
18.0.0_pre20231129)
EGIT_COMMIT=6a4489a73337907d52e7eaf3716f3de9008e6e53
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-15 6:52 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-15 6:52 UTC (permalink / raw
To: gentoo-commits
commit: 2fa125d055dcfebe34acf09ea04ff89c42eeb19b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 15 06:50:39 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec 15 06:50:39 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2fa125d0
ninja-utils.eclass: use app-alternatives/ninja
Needed now that it's stable.
Bug: https://bugs.gentoo.org/919969
Closes: https://bugs.gentoo.org/917623
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/ninja-utils.eclass | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/eclass/ninja-utils.eclass b/eclass/ninja-utils.eclass
index 859938cb3047..8b42c5849522 100644
--- a/eclass/ninja-utils.eclass
+++ b/eclass/ninja-utils.eclass
@@ -55,17 +55,7 @@ _NINJA_UTILS_ECLASS=1
inherit multiprocessing
-case "${NINJA}" in
- ninja)
- NINJA_DEPEND=">=dev-util/ninja-1.8.2"
- ;;
- samu)
- NINJA_DEPEND="dev-util/samurai"
- ;;
- *)
- NINJA_DEPEND=""
- ;;
-esac
+NINJA_DEPEND="app-alternatives/ninja"
# @FUNCTION: get_NINJAOPTS
# @DESCRIPTION:
@@ -84,7 +74,14 @@ get_NINJAOPTS() {
# by the supplied arguments. This function dies if ninja fails. It
# also supports being called via 'nonfatal'.
eninja() {
- [[ -n "${NINJA_DEPEND}" ]] || ewarn "Unknown value '${NINJA}' for \${NINJA}"
+ case "${NINJA}" in
+ ninja|samu)
+ ;;
+ *)
+ ewarn "Unknown value '${NINJA}' for \${NINJA}"
+ ;;
+ esac
+
local v
case "${NINJA_VERBOSE}" in
OFF) ;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14 15:02 Benda XU
0 siblings, 0 replies; 6228+ messages in thread
From: Benda XU @ 2023-12-14 15:02 UTC (permalink / raw
To: gentoo-commits
commit: 76dc598ae5a2f447f3b9d9e69fb1499b5631c926
Author: Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 19 06:46:10 2023 +0000
Commit: Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Thu Dec 14 14:51:04 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76dc598a
rocm.eclass: add ROCM_SKIP_GLOBALS for the USE-flags exposure.
Low level ebuilds such as dev-util/hip and
dev-libs/rocm-opencl-runtime unconditionally supports all the AMDGPU
cards. They do not need to define amdgpu_targets_* USE-flags. But
their src_test() call check_amdgpu() to confirm an AMDGPU is
available.
Reference: https://marc.info/?l=gentoo-dev&m=170045497732286
Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>
eclass/rocm.eclass | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/eclass/rocm.eclass b/eclass/rocm.eclass
index b78dfea1cc31..9804ecde97d0 100644
--- a/eclass/rocm.eclass
+++ b/eclass/rocm.eclass
@@ -125,11 +125,26 @@ _ROCM_ECLASS=1
# DEPEND="sci-libs/rocBLAS[${ROCM_USEDEP}]"
# @CODE
+# @ECLASS_VARIABLE: ROCM_SKIP_GLOBALS
+# @DESCRIPTION:
+# Controls whether _rocm_set_globals() is executed. This variable is for
+# ebuilds that call check_amdgpu() without the need to define amdgpu_targets_*
+# USE-flags, such as dev-util/hip and dev-libs/rocm-opencl-runtime.
+#
+# Example use:
+# @CODE
+# ROCM_SKIP_GLOBALS=1
+# inherit rocm
+# @CODE
+
# @FUNCTION: _rocm_set_globals
# @DESCRIPTION:
# Set global variables useful to ebuilds: IUSE, ROCM_REQUIRED_USE, and
-# ROCM_USEDEP
+# ROCM_USEDEP, unless ROCM_SKIP_GLOBALS is set.
+
_rocm_set_globals() {
+ [[ -n ${ROCM_SKIP_GLOBALS} ]] && return
+
# Two lists of AMDGPU_TARGETS of certain ROCm version. Official support
# matrix:
# https://docs.amd.com/bundle/ROCm-Installation-Guide-v${ROCM_VERSION}/page/Prerequisite_Actions.html.
@@ -179,7 +194,6 @@ _rocm_set_globals() {
_rocm_set_globals
unset -f _rocm_set_globals
-
# @FUNCTION: get_amdgpu_flags
# @USAGE: get_amdgpu_flags
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14 5:35 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-14 5:35 UTC (permalink / raw
To: gentoo-commits
commit: 20b6ad4b80f78a26d20696c8437c1dfd753a61d2
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 14 05:34:10 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 14 05:34:10 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=20b6ad4b
flag-o-matic.eclass: allow -mtls-dialect=* through filter
Most arches have this set anyway but amd64 is likely to switch to gnu2 finally
as well [0] so let's allow testing with it (and reverting to the old default
once it changes) by allowing -mtls-dialect=* through the filter.
[0] https://inbox.sourceware.org/gcc/871qbqp4of.fsf <AT> oldenburg.str.redhat.com/
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 40662f4f7d7b..0e427649c015 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -115,6 +115,10 @@ _setup-allowed-flags() {
-mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 '-mcmodel=*'
-mstack-bias -mno-stack-bias -msecure-plt '-m*-toc' '-mfloat-abi=*'
+ # This is default on for a bunch of arches except amd64 in GCC
+ # already, and amd64 itself is planned too.
+ '-mtls-dialect=*'
+
# MIPS errata
-mfix-24k -mno-fix-24k -mfix-r4000 -mno-fix-r4000
-mfix-r4400 -mno-fix-r4400 -mfix-r5900 -mno-fix-r5900
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14 5:25 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-14 5:25 UTC (permalink / raw
To: gentoo-commits
commit: 94e8e20b0fcbb930494c218faca39e84c6035bd6
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 14 05:22:40 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 14 05:22:40 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94e8e20b
python-utils-r1.eclass: fix EclassReservedName (drop obsolete ${EBUILD} old compat check)
We introduced this in ddd9cd63e860ce71ad5f92e80a3e6e4be901af8a but it's UB
to use ${EBUILD} and pkgcheck nowadays has OldPythonCompat for this.
Bug: https://github.com/pkgcore/pkgcheck/issues/591
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/python-utils-r1.eclass | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 188278f09212..abb55bd2e942 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -153,17 +153,6 @@ _python_set_impls() {
done
fi
- if [[ -n ${obsolete[@]} && ${EBUILD_PHASE} == setup ]]; then
- # complain if people don't clean up old impls while touching
- # the ebuilds recently. use the copyright year to infer last
- # modification
- # NB: this check doesn't have to work reliably
- if [[ $(head -n 1 "${EBUILD}" 2>/dev/null) == *2022* ]]; then
- eqawarn "Please clean PYTHON_COMPAT of obsolete implementations:"
- eqawarn " ${obsolete[*]}"
- fi
- fi
-
local supp=() unsupp=()
for i in "${_PYTHON_ALL_IMPLS[@]}"; do
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14 5:22 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-14 5:22 UTC (permalink / raw
To: gentoo-commits
commit: 786a1575c3be3d8680b2b4aec6254cbae90ab30d
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 11 18:26:39 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 14 05:21:54 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=786a1575
distutils-r1.eclass: workaround cython bug for Modern C
Pass -Wno-error=incompatible-pointer-types for now to avoid many dupes for
the same cython bug.
Bug: https://github.com/cython/cython/issues/2747
Bug: https://bugs.gentoo.org/918983
Bug: https://bugs.gentoo.org/919261
Bug: https://bugs.gentoo.org/919277
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/distutils-r1.eclass | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 0a7b18e4a1a4..6d2640b29598 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1806,6 +1806,11 @@ 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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14 5:22 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-14 5:22 UTC (permalink / raw
To: gentoo-commits
commit: 21f4a98581ee8f6266c57cb19ea8e7a33dfa81a6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 9 18:38:31 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 14 05:21:53 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21f4a985
python-utils-r1.eclass: Disable pytest-salt-factories by default
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/python-utils-r1.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index da9cb820840f..188278f09212 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1382,6 +1382,8 @@ epytest() {
-p no:pytest-describe
-p no:plus
-p no:tavern
+ # does something to logging
+ -p no:salt-factories
)
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14 5:22 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-14 5:22 UTC (permalink / raw
To: gentoo-commits
commit: f1e0de88935f7374be100e3d408ed065f4095846
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 2 12:40:25 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 14 05:21:53 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1e0de88
python-utils-r1.eclass: epytest, use NO_COLOR rather than NOCOLOR
Update epytest to respect the modern NO_COLOR variable rather than
Portage's old NOCOLOR. Adjust it to correctly check whether it is set
at all rather than to a specific value, to match the behavior of pytest
itself.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/python-utils-r1.eclass | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 394f64a5d139..da9cb820840f 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1336,15 +1336,8 @@ epytest() {
_python_check_EPYTHON
_python_check_occluded_packages
- local color
- case ${NOCOLOR} in
- true|yes)
- color=no
- ;;
- *)
- color=yes
- ;;
- esac
+ local color=yes
+ [[ ${NO_COLOR} ]] && color=no
local args=(
# verbose progress reporting and tracebacks
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14 5:22 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-14 5:22 UTC (permalink / raw
To: gentoo-commits
commit: cdc20ce0b81578b10b206f5a027cbbc9c3777f9f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 11 18:36:24 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 14 05:21:54 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cdc20ce0
distutils-r1.eclass: mark DISTUTILS_EXT as @PRE_INHERIT
We set DEPEND and IUSE based on it.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/distutils-r1.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 6d2640b29598..0a9815f2d459 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -50,6 +50,7 @@ case ${EAPI} in
esac
# @ECLASS_VARIABLE: DISTUTILS_EXT
+# @PRE_INHERIT
# @DEFAULT_UNSET
# @DESCRIPTION:
# Set this variable to a non-null value if the package (possibly
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-12 13:04 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2023-12-12 13:04 UTC (permalink / raw
To: gentoo-commits
commit: 2d51131e1ec7aa03f22a2f2864237fdc3d4dc146
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 7 17:56:50 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Dec 12 12:56:01 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d51131e
qt5-build.eclass: filter-lto
Closes: https://bugs.gentoo.org/650488
Closes: https://bugs.gentoo.org/692078
Closes: https://bugs.gentoo.org/713850
Closes: https://bugs.gentoo.org/908419
Closes: https://bugs.gentoo.org/652158
Closes: https://bugs.gentoo.org/919043
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/qt5-build.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
index db333767fae6..223955f5ac12 100644
--- a/eclass/qt5-build.eclass
+++ b/eclass/qt5-build.eclass
@@ -237,6 +237,9 @@ qt5-build_src_configure() {
append-ldflags -Wl,--undefined-version
fi
+ # many bugs, no one to fix
+ filter-lto
+
qt5_foreach_target_subdir qt5_qmake
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11 12:41 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2023-12-11 12:41 UTC (permalink / raw
To: gentoo-commits
commit: 85eb36a4316ea1b462f0dc855a42f3bf5287b821
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 11 07:36:58 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Mon Dec 11 12:39:34 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85eb36a4
kernel-install.eclass: fix test phase on systemd systems
On systemd systems the dracut systemd modules are included automatically.
Systemd insists our dummy root has some valid /etc/os-release file, otherwise
it refuses the switch root operation. However, with this fix it still does not
boot up correctly on systemd systems, it gets stuck in an infinite boot loop.
Presumably the reason has something to do with our dummy root not having a real
systemd init to switch root to. We add the systemd dracut modules to the omit
list to prevent the problem and ensure the test phase behaves the same on
systemd and non-systemd systems.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index b4d84f3986c0..22d8ce200016 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -231,6 +231,8 @@ kernel-install_create_qemu_image() {
# some layout needed to pass dracut's usable_root() validation
mkdir -p "${imageroot}"/{bin,dev,etc,lib,proc,root,sbin,sys} || die
touch "${imageroot}/lib/ld-fake.so" || die
+ # Initrd images with systemd require some os-release file
+ cp "${BROOT}/etc/os-release" "${imageroot}/etc/os-release" || die
kernel-install_create_init "${imageroot}/sbin/init"
@@ -263,6 +265,7 @@ kernel-install_test() {
plymouth # hangs, or sometimes steals output
rngd # hangs or segfaults sometimes
i18n # copies all the fonts from /usr/share/consolefonts
+ dracut-systemd systemd systemd-initrd # gets stuck in boot loop
)
# NB: if you pass a path that does not exist or is not a regular
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11 12:41 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2023-12-11 12:41 UTC (permalink / raw
To: gentoo-commits
commit: 3e0c89e3b299928215dd505467e49f13f8bbbbd3
Author: Violet Purcell <vimproved <AT> inventati <DOT> org>
AuthorDate: Mon Nov 27 17:12:09 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Mon Dec 11 12:39:35 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e0c89e3
kernel-build.eclass: work around permissions issue with module signing
Currently, using a custom path for MODULES_SIGN_KEY requires the key to
be readable by portage:portage. This is not ideal for security, since
the file has to be either owned by portage:portage or readable by all
users in this case. Instead, export the contents of MODULES_SIGN_KEY to
a variable in pkg_setup, and then create a temporary file with it in
src_configure to ensure that the temporary key is readable by the user
that the kernel is being built as. The variable is then unset so it does
not end up in the final environment file.
Co-authored-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Signed-off-by: Violet Purcell <vimproved <AT> inventati.org>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index f5529c319f9f..6b692dc4f9a0 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -114,6 +114,13 @@ kernel-build_pkg_setup() {
python-any-r1_pkg_setup
if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
secureboot_pkg_setup
+ if [[ -e ${MODULES_SIGN_KEY} && ${MODULES_SIGN_KEY} != pkcs11:* ]]; then
+ if [[ -e ${MODULES_SIGN_CERT} && ${MODULES_SIGN_CERT} != ${MODULES_SIGN_KEY} ]]; then
+ MODULES_SIGN_KEY_CONTENTS="$(cat "${MODULES_SIGN_CERT}" "${MODULES_SIGN_KEY}" || die)"
+ else
+ MODULES_SIGN_KEY_CONTENTS="$(< "${MODULES_SIGN_KEY}")"
+ fi
+ fi
fi
}
@@ -422,12 +429,11 @@ kernel-build_merge_configs() {
CONFIG_MODULE_SIG_FORCE=y
CONFIG_MODULE_SIG_${MODULES_SIGN_HASH^^}=y
EOF
- if [[ -e ${MODULES_SIGN_KEY} && -e ${MODULES_SIGN_CERT} &&
- ${MODULES_SIGN_KEY} != ${MODULES_SIGN_CERT} &&
- ${MODULES_SIGN_KEY} != pkcs11:* ]]
- then
- cat "${MODULES_SIGN_CERT}" "${MODULES_SIGN_KEY}" > "${T}/kernel_key.pem" || die
- MODULES_SIGN_KEY="${T}/kernel_key.pem"
+ if [[ -n ${MODULES_SIGN_KEY_CONTENTS} ]]; then
+ (umask 066 && touch "${T}/kernel_key.pem" || die)
+ echo "${MODULES_SIGN_KEY_CONTENTS}" > "${T}/kernel_key.pem" || die
+ unset MODULES_SIGN_KEY_CONTENTS
+ export MODULES_SIGN_KEY="${T}/kernel_key.pem"
fi
if [[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]]; then
echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11 7:31 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-11 7:31 UTC (permalink / raw
To: gentoo-commits
commit: 923de456a3893380151dde2383805d746651d589
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 10 15:19:51 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Dec 11 07:30:57 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=923de456
ghc-package.eclass: Fix typos
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/ghc-package.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/ghc-package.eclass b/eclass/ghc-package.eclass
index 48936a894d7f..1d9483e012fb 100644
--- a/eclass/ghc-package.eclass
+++ b/eclass/ghc-package.eclass
@@ -23,7 +23,7 @@ esac
# QA check generates false positive because it assumes
# presence of GCC-specific sections.
#
-# Workaround false positiove by disabling the check completely.
+# Workaround false positive by disabling the check completely.
# bug #722078, bug #677600
QA_FLAGS_IGNORED='.*'
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11 7:31 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-11 7:31 UTC (permalink / raw
To: gentoo-commits
commit: 8824bbbcb8a264e75a5e9bd812e62a3f973f0385
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 10 15:19:45 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Dec 11 07:30:56 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8824bbbc
haskell-cabal.eclass: Fix typos
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/haskell-cabal.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/haskell-cabal.eclass b/eclass/haskell-cabal.eclass
index 4ae554d22fe8..7895d9256eba 100644
--- a/eclass/haskell-cabal.eclass
+++ b/eclass/haskell-cabal.eclass
@@ -35,7 +35,7 @@
# package it might cause cause the test-suite to fail with
# errors like:
# > <command line>: cannot satisfy -package-id singletons-2.7-3Z7pnljD8tU1NrslJodXmr
-# Workaround re-reginsters the package to avoid the failure
+# Workaround re-registers the package to avoid the failure
# (and rebuilds changes).
# FEATURE can be removed once https://github.com/haskell/cabal/issues/7213
# is fixed.
@@ -760,7 +760,7 @@ cabal_src_compile() {
fi
if [[ -n "${CABAL_REBUILD_AFTER_DOC_WORKAROUND}" ]]; then
ewarn "rebuild-after-doc-workaround is enabled. This is a"
- ewarn "temporary worakround to deal with https://github.com/haskell/cabal/issues/7213"
+ ewarn "temporary workaround to deal with https://github.com/haskell/cabal/issues/7213"
ewarn "until the upstream issue can be resolved."
cabal-build
fi
@@ -1101,7 +1101,7 @@ cabal-register-inplace() {
# needed by the executable. (Needed libraries are automatically added to
# LD_LIBRARY_PATH by haskell-cabal_src_compile().)
#
-# This is only inteded to be run in the test and install phases.
+# This is only intended to be run in the test and install phases.
cabal-run-dist-bin() {
einfo "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}"
case "$EBUILD_PHASE_FUNC" in
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11 7:31 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-11 7:31 UTC (permalink / raw
To: gentoo-commits
commit: a4008c25b3189ab153ce8d0a4a9b381911fdb491
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 10 14:56:30 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Dec 11 07:30:55 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4008c25
haskell-cabal.eclass: Drop support for EAPI 6
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/haskell-cabal.eclass | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/eclass/haskell-cabal.eclass b/eclass/haskell-cabal.eclass
index a3e2da6155f3..4ae554d22fe8 100644
--- a/eclass/haskell-cabal.eclass
+++ b/eclass/haskell-cabal.eclass
@@ -7,7 +7,7 @@
# @AUTHOR:
# Original author: Andres Loeh <kosmikus@gentoo.org>
# Original author: Duncan Coutts <dcoutts@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: for packages that make use of the Haskell Common Architecture for Building Applications and Libraries (cabal)
# @DESCRIPTION:
# Basic instructions:
@@ -41,9 +41,7 @@
# is fixed.
case ${EAPI} in
- # eutils is for eqawarn
- 6) inherit eutils ;;
- 8|7) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -99,7 +97,6 @@ EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile src_test src_in
# CABAL_EXTRA_HSCOLOUR_FLAGS="--executables --tests"
: "${CABAL_EXTRA_HSCOLOUR_FLAGS:=}"
-
# @ECLASS_VARIABLE: CABAL_EXTRA_TEST_FLAGS
# @USER_VARIABLE
# @DESCRIPTION:
@@ -157,7 +154,7 @@ S="${WORKDIR}/${CABAL_P}"
# @DESCRIPTION:
# The location of the .cabal file for the Haskell package. This defaults to
# "${S}/${CABAL_PN}.cabal".
-#
+#
# NOTE: If $S is redefined in the ebuild after inheriting this eclass,
# $CABAL_FILE will also need to be redefined as well.
: "${CABAL_FILE:="${S}/${CABAL_PN}.cabal"}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11 7:31 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-11 7:31 UTC (permalink / raw
To: gentoo-commits
commit: 068f035ebd38bb1ba7eecba4f7cfc30b77aa0f84
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 10 14:56:35 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Dec 11 07:30:55 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=068f035e
ghc-package.eclass: Drop support for EAPI 6
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/ghc-package.eclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/eclass/ghc-package.eclass b/eclass/ghc-package.eclass
index 66a14ca971ba..48936a894d7f 100644
--- a/eclass/ghc-package.eclass
+++ b/eclass/ghc-package.eclass
@@ -6,7 +6,7 @@
# "Gentoo's Haskell Language team" <haskell@gentoo.org>
# @AUTHOR:
# Original Author: Andres Loeh <kosmikus@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: This eclass helps with the Glasgow Haskell Compiler's package configuration utility.
# @DESCRIPTION:
# Helper eclass to handle ghc installation/upgrade/deinstallation process.
@@ -16,7 +16,6 @@ inherit multiprocessing
# Maintain version-testing compatibility with ebuilds not using EAPI 7.
case ${EAPI} in
7|8) ;;
- 6) inherit eapi7-ver ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11 7:31 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-11 7:31 UTC (permalink / raw
To: gentoo-commits
commit: 56fd1f5766ac3a92bde9800b4c1875d154a67428
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 10 14:56:18 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Dec 11 07:30:54 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56fd1f57
vdr-plugin-2.eclass: Drop support for EAPI 6
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/vdr-plugin-2.eclass | 20 +++++---------------
1 file changed, 5 insertions(+), 15 deletions(-)
diff --git a/eclass/vdr-plugin-2.eclass b/eclass/vdr-plugin-2.eclass
index 25df4f124434..f53e2c23f4f8 100644
--- a/eclass/vdr-plugin-2.eclass
+++ b/eclass/vdr-plugin-2.eclass
@@ -9,7 +9,7 @@
# Joerg Bornkessel <hd_brummy@gentoo.org>
# Christian Ruppert <idl0r@gentoo.org>
# (undisclosed contributors)
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: common vdr plugin ebuild functions
# @DESCRIPTION:
# Eclass for easing maintenance of vdr plugin ebuilds
@@ -61,14 +61,13 @@
# @CODE
case ${EAPI} in
- 6|7|8) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
if [[ -z ${_VDR_PLUGIN_2_ECLASS} ]]; then
_VDR_PLUGIN_2_ECLASS=1
-[[ ${EAPI} == 6 ]] && inherit eutils
inherit flag-o-matic strip-linguas toolchain-funcs unpacker
# Name of the plugin stripped from all vdrplugin-, vdr- and -cvs pre- and postfixes
@@ -82,18 +81,9 @@ DESCRIPTION="vdr Plugin: ${VDRPLUGIN} (based on vdr-plugin-2.eclass)"
S="${WORKDIR}/${VDRPLUGIN}-${PV}"
# depend on headers for DVB-driver and vdr-scripts
-case ${EAPI} in
- 6)
- DEPEND="media-tv/gentoo-vdr-scripts
- virtual/linuxtv-dvb-headers
- virtual/pkgconfig"
- ;;
- *)
- BDEPEND="virtual/pkgconfig"
- DEPEND="media-tv/gentoo-vdr-scripts
- virtual/linuxtv-dvb-headers"
- ;;
-esac
+BDEPEND="virtual/pkgconfig"
+DEPEND="media-tv/gentoo-vdr-scripts
+ virtual/linuxtv-dvb-headers"
RDEPEND="media-tv/gentoo-vdr-scripts
app-eselect/eselect-vdr"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-09 18:16 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-09 18:16 UTC (permalink / raw
To: gentoo-commits
commit: e759d3dcff09e271735620b525333d091e085e2d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 2 12:35:51 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 9 18:16:16 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e759d3dc
cargo.eclass: Allow CRATES to be unset
Remove the assertion requiring CRATES to be set for non-live ebuilds.
There are valid use cases for ebuilds without CRATES, and the eclass
works just fine -- e.g. when the package is using GIT_CRATES only,
or when crates are provided via a tarball.
Closes: https://github.com/gentoo/gentoo/pull/34091
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/cargo.eclass | 5 -----
1 file changed, 5 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 70b6008d9cd8..1e1a6e3ddfe2 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -35,11 +35,6 @@ case ${EAPI} in
# 1.52 may need setting RUSTC_BOOTSTRAP envvar for some crates
# 1.53 added cargo update --offline, can be used to update vulnerable crates from pre-fetched registry without editing toml
RUST_DEPEND=">=virtual/rust-1.53"
-
- if [[ -z ${CRATES} && "${PV}" != *9999* ]]; then
- eerror "undefined CRATES variable in non-live EAPI=8 ebuild"
- die "CRATES variable not defined"
- fi
;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-09 10:32 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-12-09 10:32 UTC (permalink / raw
To: gentoo-commits
commit: 72d1d753394958d52f25ea412fe75bb0282844d9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 9 10:21:39 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 9 10:31:47 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=72d1d753
kernel-build.eclass: Do not call dtbs_install in src_test()
Do not call `emake dtbs_install` in `src_test()` phase, as it attempts
to install straight to `/boot`. Why do people send patches without
actually testing them?!
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 4f7e4d047739..f5529c319f9f 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -218,11 +218,6 @@ kernel-build_src_compile() {
# from kernel-install.eclass with the correct paths.
kernel-build_src_test() {
debug-print-function ${FUNCNAME} "${@}"
- local targets=( modules_install )
- # on arm or arm64 you also need dtb
- if use arm || use arm64 || use riscv; then
- targets+=( dtbs_install )
- fi
# Use the kernel build system to strip, this ensures the modules
# are stripped *before* they are signed or compressed.
@@ -233,7 +228,7 @@ kernel-build_src_test() {
emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
INSTALL_MOD_PATH="${T}" INSTALL_MOD_STRIP="${strip_args}" \
- "${targets[@]}"
+ modules_install
local dir_ver=${PV}${KV_LOCALVERSION}
local relfile=${WORKDIR}/build/include/config/kernel.release
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-09 10:01 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-09 10:01 UTC (permalink / raw
To: gentoo-commits
commit: 0654db51f6cb70a48000a9af771859f42ed54ef8
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 9 08:26:25 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 9 10:01:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0654db51
java-utils-2.eclass: Drop redundant EAPI conditionals
Use standard EAPI guard. Inherit eqawarn instead of eutils in EAPI 6.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/java-utils-2.eclass | 29 +++++------------------------
1 file changed, 5 insertions(+), 24 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 129402b256d5..31b8ab8df60a 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -17,17 +17,17 @@
# that have optional Java support. In addition you can inherit java-ant-2 for
# Ant-based packages.
-case ${EAPI:-0} in
- [678]) ;;
+case ${EAPI} in
+ 6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
if [[ -z ${_JAVA_UTILS_2_ECLASS} ]] ; then
_JAVA_UTILS_2_ECLASS=1
-# EAPI 7 has version functions built-in. Use eapi7-ver for all earlier eclasses.
+# EAPI 7 has version functions built-in. Use eapi7-ver for all earlier EAPIs.
# Keep versionator inheritance in case consumers are using it implicitly.
-[[ ${EAPI} == 6 ]] && inherit eapi7-ver eutils multilib versionator
+[[ ${EAPI} == 6 ]] && inherit eapi7-ver eqawarn multilib versionator
# Make sure we use java-config-2
export WANT_JAVA_CONFIG="2"
@@ -1703,16 +1703,6 @@ java-pkg_get-jni-cflags() {
echo ${flags}
}
-java-pkg_ensure-gcj() {
- # was enforcing sys-devel/gcc[gcj]
- die "${FUNCNAME} was removed. Use use-deps available as of EAPI 2 instead. #261562"
-}
-
-java-pkg_ensure-test() {
- # was enforcing USE=test if FEATURES=test
- die "${FUNCNAME} was removed. Package mangers handle this already. #278965"
-}
-
# @FUNCTION: java-pkg_register-ant-task
# @USAGE: [--version x.y] [<name>]
# @DESCRIPTION:
@@ -1942,10 +1932,7 @@ etestng() {
# src_prepare Searches for bundled jars
# Don't call directly, but via java-pkg-2_src_prepare!
java-utils-2_src_prepare() {
- case ${EAPI:-0} in
- [678]) eapply_user ;;
- *) default_src_prepare ;;
- esac
+ eapply_user
# Check for files in JAVA_RM_FILES array.
if [[ ${JAVA_RM_FILES[@]} ]]; then
@@ -1960,12 +1947,6 @@ java-utils-2_src_prepare() {
find "${WORKDIR}" -name "*.class"
echo "Search done."
fi
-
- # Delete bundled .class and .jar files.
- case ${EAPI:-0} in
- [678]) ;;
- *) java-pkg_clean ;;
- esac
}
# @FUNCTION: java-utils-2_pkg_preinst
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-09 10:01 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-09 10:01 UTC (permalink / raw
To: gentoo-commits
commit: b678aa0284bfdaafd452347544b23e6ab654d3af
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 9 08:28:33 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 9 10:01:28 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b678aa02
java-pkg-2.eclass: Use standard EAPI guard
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/java-pkg-2.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/java-pkg-2.eclass b/eclass/java-pkg-2.eclass
index 3a5c846a18e6..c17a9db26b3b 100644
--- a/eclass/java-pkg-2.eclass
+++ b/eclass/java-pkg-2.eclass
@@ -13,8 +13,8 @@
# This eclass should be inherited for pure Java packages, or by packages which
# need to use Java.
-case ${EAPI:-0} in
- [678]) ;;
+case ${EAPI} in
+ 6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-09 10:01 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-09 10:01 UTC (permalink / raw
To: gentoo-commits
commit: b11d535857e9dbb1e0568c02da107cdae1b1078c
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 9 08:28:03 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 9 10:01:28 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b11d5358
java-ant-2.eclass: Drop redundant EAPI conditional
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/java-ant-2.eclass | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/eclass/java-ant-2.eclass b/eclass/java-ant-2.eclass
index 2513ded70a30..35fe84997563 100644
--- a/eclass/java-ant-2.eclass
+++ b/eclass/java-ant-2.eclass
@@ -54,8 +54,7 @@ inherit java-utils-2 multilib
# 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"
- [[ "${EAPI:-0}" != 0 ]] && JAVA_ANT_E_DEPEND+=":0"
+ JAVA_ANT_E_DEPEND+=" >=dev-java/ant-core-1.8.2:0"
fi
# add ant tasks specified in WANT_ANT_TASKS to DEPEND
@@ -121,7 +120,7 @@ JAVA_ANT_CLASSPATH_TAGS="javac xjavac"
# @FUNCTION: java-ant-2_src_configure
# @DESCRIPTION:
-# src_configure rewrites the build.xml files automatically, unless EAPI is undefined, 0 or 1.
+# src_configure rewrites the build.xml files automatically.
java-ant-2_src_configure() {
# if java support is optional, don't perform this when the USE flag is off
if has java-pkg-opt-2 ${INHERITED}; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-09 10:01 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-09 10:01 UTC (permalink / raw
To: gentoo-commits
commit: af69bc3ed32a185a3d3485018b2d4b11a571fed7
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 9 08:29:20 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 9 10:01:29 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af69bc3e
java-pkg-opt-2.eclass: Drop redundant EAPI conditional
Use standard EAPI guard.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/java-pkg-opt-2.eclass | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/eclass/java-pkg-opt-2.eclass b/eclass/java-pkg-opt-2.eclass
index 0caba1d40e07..7b3e79749fb6 100644
--- a/eclass/java-pkg-opt-2.eclass
+++ b/eclass/java-pkg-opt-2.eclass
@@ -13,8 +13,8 @@
# Inherit this eclass instead of java-pkg-2 if you only need optional Java
# support.
-case ${EAPI:-0} in
- [78]) ;;
+case ${EAPI} in
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -49,9 +49,7 @@ java-pkg-opt-2_pkg_setup() {
java-pkg-opt-2_src_prepare() {
use ${JAVA_PKG_OPT_USE} && java-utils-2_src_prepare
- case "${EAPI:-0}" in
- [78]) use ${JAVA_PKG_OPT_USE} || eapply_user ;;
- esac
+ use ${JAVA_PKG_OPT_USE} || eapply_user
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-08 17:03 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-08 17:03 UTC (permalink / raw
To: gentoo-commits
commit: be94f85920abf3720c2978cba2bdbfb4c1bcf7bd
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 7 10:50:03 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Dec 8 17:02:53 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be94f859
flag-o-matic.eclass: Replace eutils inherit by eqawarn in EAPI 6
Reviewed-by: David Seifert <soap <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/flag-o-matic.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index d377568327e6..40662f4f7d7b 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -20,7 +20,7 @@ _FLAG_O_MATIC_ECLASS=1
inherit toolchain-funcs
-[[ ${EAPI} == 6 ]] && inherit eutils
+[[ ${EAPI} == 6 ]] && inherit eqawarn
# @FUNCTION: all-flag-vars
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-08 17:03 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-12-08 17:03 UTC (permalink / raw
To: gentoo-commits
commit: ce17f4043d560ace370b224ab37741fd9b5b1b47
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 7 10:50:31 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Dec 8 17:02:54 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce17f404
rpm.eclass: Replace eutils inherit by eqawarn in EAPI 6
Reviewed-by: David Seifert <soap <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/rpm.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/rpm.eclass b/eclass/rpm.eclass
index d8bb0ad2814d..b9187167eb8f 100644
--- a/eclass/rpm.eclass
+++ b/eclass/rpm.eclass
@@ -8,7 +8,7 @@
# @BLURB: convenience class for extracting RPMs
case ${EAPI} in
- 6) inherit epatch eutils ;; # eutils for eqawarn
+ 6) inherit epatch eqawarn ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-07 13:01 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-07 13:01 UTC (permalink / raw
To: gentoo-commits
commit: aa19bed00fa0eb61339b16cf23ce060120fcafb2
Author: Matoro Mahri <matoro_gentoo <AT> matoro <DOT> tk>
AuthorDate: Sun Nov 26 04:32:02 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 7 13:00:23 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa19bed0
llvm.eclass: add tuple -> LLVM_TARGETS translate function
To be used in support of dev-lang/rust under crossdev. Cross-compiled
rust needs LLVM with support for both host and destination targets.
Bug: https://bugs.gentoo.org/680652
Signed-off-by: Matoro Mahri <matoro_gentoo <AT> matoro.tk>
Closes: https://github.com/gentoo/gentoo/pull/33996
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/llvm.eclass | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass
index 57faa48819db..1f3ff1f61c2d 100644
--- a/eclass/llvm.eclass
+++ b/eclass/llvm.eclass
@@ -174,6 +174,37 @@ get_llvm_prefix() {
echo "${prefix}/usr/lib/llvm/$(get_llvm_slot "${@}")"
}
+# @FUNCTION: llvm_tuple_to_target
+# @USAGE: [<tuple>]
+# @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} "${@}"
+
+ 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: <variable-name>...
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-05 10:27 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2023-12-05 10:27 UTC (permalink / raw
To: gentoo-commits
commit: db0195c3d66fc9ca1ee966b2177b2174a7d7bd02
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 8 13:46:19 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Dec 5 10:27:41 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db0195c3
eclass/(dist-)kernel{-utils,-install}: More flexible initrd generation
We only need to call dracut to generate an initrd/uki if we are using
<=sys-kernel/installkernel-gentoo-7. sys-kernel/installkernel-systemd
already calls dracut via its plugin system if it is installed.
sys-kernel/installkernel-gentoo-8[dracut] now also contains the code
required to generate an initrd or uki.
This change makes it possible for users to use other/custom initrd
generators with our dist kernels if they are using installkernel-systemd.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/dist-kernel-utils.eclass | 50 ++++++++++++++++++++++++-----------------
eclass/kernel-install.eclass | 30 ++++++++++++++++++-------
2 files changed, 52 insertions(+), 28 deletions(-)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 76a2f8d48cdf..62750d1721a2 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -116,21 +116,23 @@ dist-kernel_install_kernel() {
local image=${2}
local map=${3}
- # if dracut is used in uefi=yes mode, initrd will actually
- # be a combined kernel+initramfs UEFI executable. we can easily
- # recognize it by PE magic (vs cpio for a regular initramfs)
- local initrd=${image%/*}/initrd
- local magic
- [[ -s ${initrd} ]] && read -n 2 magic < "${initrd}"
- if [[ ${magic} == MZ ]]; then
- einfo "Combined UEFI kernel+initramfs executable found"
- # install the combined executable in place of kernel
- image=${initrd%/*}/uki.efi
- mv "${initrd}" "${image}" || die
-
- if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
- # Ensure the uki is signed if dracut hasn't already done so.
- secureboot_sign_efi_file "${image}"
+ if has_version "<=sys-kernel/installkernel-gentoo-7"; then
+ # if dracut is used in uefi=yes mode, initrd will actually
+ # be a combined kernel+initramfs UEFI executable. we can easily
+ # recognize it by PE magic (vs cpio for a regular initramfs)
+ local initrd=${image%/*}/initrd
+ local magic
+ [[ -s ${initrd} ]] && read -n 2 magic < "${initrd}"
+ if [[ ${magic} == MZ ]]; then
+ einfo "Combined UEFI kernel+initramfs executable found"
+ # install the combined executable in place of kernel
+ image=${initrd%/*}/uki.efi
+ mv "${initrd}" "${image}" || die
+
+ if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
+ # Ensure the uki is signed if dracut hasn't already done so.
+ secureboot_sign_efi_file "${image}"
+ fi
fi
fi
@@ -150,6 +152,10 @@ dist-kernel_install_kernel() {
# The function will determine whether <kernel-dir> is actually
# a dist-kernel, and whether initramfs was used.
#
+# With sys-kernel/installkernel-systemd, or version 8 or greater of
+# sys-kernel/installkernel-gentoo, the generation of the initrd via dracut
+# is handled by kernel-install instead.
+#
# This function is to be used in pkg_postinst() of ebuilds installing
# kernel modules that are included in the initramfs.
dist-kernel_reinstall_initramfs() {
@@ -160,19 +166,23 @@ dist-kernel_reinstall_initramfs() {
local ver=${2}
local image_path=${kernel_dir}/$(dist-kernel_get_image_path)
- local initramfs_path=${image_path%/*}/initrd
if [[ ! -f ${image_path} ]]; then
eerror "Kernel install missing, image not found:"
eerror " ${image_path}"
eerror "Initramfs will not be updated. Please reinstall your kernel."
return
fi
- if [[ ! -f ${initramfs_path} && ! -f ${initramfs_path%/*}/uki.efi ]]; then
- einfo "No initramfs or uki found at ${image_path}"
- return
+
+ if has_version "<=sys-kernel/installkernel-gentoo-7"; then
+ local initramfs_path=${image_path%/*}/initrd
+ if [[ ! -f ${initramfs_path} && ! -f ${initramfs_path%/*}/uki.efi ]]; then
+ einfo "No initramfs or uki found at ${image_path}"
+ return
+ fi
+
+ dist-kernel_build_initramfs "${initramfs_path}" "${ver}"
fi
- dist-kernel_build_initramfs "${initramfs_path}" "${ver}"
dist-kernel_install_kernel "${ver}" "${image_path}" \
"${kernel_dir}/System.map"
}
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index a0eceae8280b..b4d84f3986c0 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -48,11 +48,21 @@ RESTRICT+="
# note: we need installkernel with initramfs support!
IDEPEND="
- || (
- sys-kernel/installkernel-gentoo
- sys-kernel/installkernel-systemd
+ !initramfs? (
+ || (
+ sys-kernel/installkernel-gentoo
+ sys-kernel/installkernel-systemd
+ )
)
- initramfs? ( >=sys-kernel/dracut-059-r4 )"
+ initramfs? (
+ >=sys-kernel/dracut-059-r4
+ || (
+ <=sys-kernel/installkernel-gentoo-7
+ >=sys-kernel/installkernel-gentoo-8[dracut(-)]
+ sys-kernel/installkernel-systemd
+ )
+ )
+"
# needed by objtool that is installed along with the kernel and used
# to build external modules
# NB: linux-mod.eclass also adds this dep but it's cleaner to have
@@ -429,9 +439,13 @@ kernel-install_pkg_preinst() {
# @FUNCTION: kernel-install_install_all
# @USAGE: <ver>
# @DESCRIPTION:
-# Build an initramfs for the kernel and install the kernel. This is
-# called from pkg_postinst() and pkg_config(). <ver> is the full
-# kernel version.
+# Build an initramfs for the kernel if required and install the kernel.
+# This is called from pkg_postinst() and pkg_config(). <ver> is the
+# full kernel version.
+#
+# With sys-kernel/installkernel-systemd, or version 8 or greater of
+# sys-kernel/installkernel-gentoo, the generation of the initrd via dracut
+# is handled by kernel-install instead.
kernel-install_install_all() {
debug-print-function ${FUNCNAME} "${@}"
@@ -448,7 +462,7 @@ kernel-install_install_all() {
nonfatal mount-boot_check_status || break
local image_path=$(dist-kernel_get_image_path)
- if use initramfs; then
+ if use initramfs && has_version "<=sys-kernel/installkernel-gentoo-7"; then
# putting it alongside kernel image as 'initrd' makes
# kernel-install happier
nonfatal dist-kernel_build_initramfs \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-04 7:32 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-12-04 7:32 UTC (permalink / raw
To: gentoo-commits
commit: 5fe21d4ec04889a3019dea71ffd69b31825dc394
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 4 07:12:36 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Dec 4 07:32:13 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fe21d4e
vala.eclass: adapt modern c workaround for gcc
GCC doesn't have -Wincompatible-function-pointer-types, just -Wincompatible-pointer-types,
and it makes the latter fatal in GCC 14.
Just adapt the workaround to use that for now until Vala is fixed properly upstream.
Bug: https://bugs.gentoo.org/892708
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/vala.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/vala.eclass b/eclass/vala.eclass
index d02cc246977a..be5fac99a767 100644
--- a/eclass/vala.eclass
+++ b/eclass/vala.eclass
@@ -174,7 +174,7 @@ vala_setup() {
# See bug #892708.
# Workaround for https://gitlab.gnome.org/GNOME/vala/-/issues/1408.
- append-cflags $(test-flags-CC -Wno-incompatible-function-pointer-types)
+ append-cflags $(test-flags-CC -Wno-incompatible-pointer-types)
}
# @FUNCTION: vala_src_prepare
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-29 15:15 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-29 15:15 UTC (permalink / raw
To: gentoo-commits
commit: e391801cd344ae303789d860ee5d0926f7a1e45d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 29 12:47:22 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Nov 29 15:13:55 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e391801c
llvm.org.eclass: Add 18.0.0_pre20231129 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 9f702697a846..a92308e38106 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
+ 18.0.0_pre20231129)
+ EGIT_COMMIT=6a4489a73337907d52e7eaf3716f3de9008e6e53
+ ;;
18.0.0_pre20231119)
EGIT_COMMIT=5237193b87721134541f228e28edfd544a9c8ac8
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-27 11:13 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-27 11:13 UTC (permalink / raw
To: gentoo-commits
commit: 1186dced6c900242bfa70151030fd3463eb20717
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 27 01:33:34 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 27 11:12:55 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1186dced
meson.eclass: update machine files for meson-1.3.0 deprecation
See https://mesonbuild.com/Release-notes-for-1-3-0.html#machine-files-pkgconfig-field-deprecated-and-replaced-by-pkgconfig.
'pkgconfig' is deprecated as a key in machine files in favour of 'pkg-config'.
We can define both 'pkgconfig' and 'pkg-config' in our generated machine files
until we require >=1.3.0. Per the release notes, if we define both, no deprecation
notice is emitted, so do that.
Reviewed-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/meson.eclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index c33f4ea208a7..f7cf8a0722ba 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -161,7 +161,10 @@ _meson_create_cross_file() {
objc = $(_meson_env_array "$(tc-getPROG OBJC cc)")
objcopy = $(_meson_env_array "$(tc-getOBJCOPY)")
objcpp = $(_meson_env_array "$(tc-getPROG OBJCXX c++)")
+ # TODO: Cleanup 'pkgconfig' and keep just 'pkg-config' once we require
+ # >=1.3.0.
pkgconfig = '$(tc-getPKG_CONFIG)'
+ pkg-config = '$(tc-getPKG_CONFIG)'
strip = $(_meson_env_array "$(tc-getSTRIP)")
windres = $(_meson_env_array "$(tc-getRC)")
@@ -215,7 +218,10 @@ _meson_create_native_file() {
objc = $(_meson_env_array "$(tc-getBUILD_PROG OBJC cc)")
objcopy = $(_meson_env_array "$(tc-getBUILD_OBJCOPY)")
objcpp = $(_meson_env_array "$(tc-getBUILD_PROG OBJCXX c++)")
+ # TODO: Cleanup 'pkgconfig' and keep just 'pkg-config' once we require
+ # >=1.3.0.
pkgconfig = '$(tc-getBUILD_PKG_CONFIG)'
+ pkg-config = '$(tc-getBUILD_PKG_CONFIG)'
strip = $(_meson_env_array "$(tc-getBUILD_STRIP)")
windres = $(_meson_env_array "$(tc-getBUILD_PROG RC windres)")
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-26 18:51 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2023-11-26 18:51 UTC (permalink / raw
To: gentoo-commits
commit: 9f509fcc88e163559bcfd0787595189d4c2f6c0c
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 26 18:48:46 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Nov 26 18:50:37 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f509fcc
Revert "kernel-build.eclass: copy module signing key to tempdir in pkg_setup"
reverted at mgorny's request, apparently we can't hardcode the portage user.
This reverts commit d03c14cd4be8665830082f424e4443906b005c7e.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 6f18bc1dc969..4f7e4d047739 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -114,16 +114,6 @@ kernel-build_pkg_setup() {
python-any-r1_pkg_setup
if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
secureboot_pkg_setup
- if [[ -e ${MODULES_SIGN_KEY} && ${MODULES_SIGN_KEY} != pkcs11:* ]]; then
- if [[ -e ${MODULES_SIGN_CERT} && ${MODULES_SIGN_CERT} != ${MODULES_SIGN_KEY} ]]; then
- cat "${MODULES_SIGN_CERT}" "${MODULES_SIGN_KEY}" > "${T}/kernel_key.pem" || die
- else
- cp "${MODULES_SIGN_KEY}" "${T}/kernel_key.pem" || die
- fi
- chown portage:portage "${T}/kernel_key.pem" || die
- chmod 0400 "${T}/kernel_key.pem" || die
- export MODULES_SIGN_KEY="${T}/kernel_key.pem"
- fi
fi
}
@@ -437,6 +427,13 @@ kernel-build_merge_configs() {
CONFIG_MODULE_SIG_FORCE=y
CONFIG_MODULE_SIG_${MODULES_SIGN_HASH^^}=y
EOF
+ if [[ -e ${MODULES_SIGN_KEY} && -e ${MODULES_SIGN_CERT} &&
+ ${MODULES_SIGN_KEY} != ${MODULES_SIGN_CERT} &&
+ ${MODULES_SIGN_KEY} != pkcs11:* ]]
+ then
+ cat "${MODULES_SIGN_CERT}" "${MODULES_SIGN_KEY}" > "${T}/kernel_key.pem" || die
+ MODULES_SIGN_KEY="${T}/kernel_key.pem"
+ fi
if [[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]]; then
echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \
>> "${WORKDIR}/modules-sign.config"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-26 18:34 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-26 18:34 UTC (permalink / raw
To: gentoo-commits
commit: b1a0b09303cb2f1e8001591199cd08f07dcc610f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 26 18:29:14 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Nov 26 18:30:01 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b1a0b093
aspell-dict-r1.eclass: drop usage of which
The configure script uses are all the same. Go for a sed instead of many patches
for all of aspell-*.
Bug: https://bugs.gentoo.org/844094
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/aspell-dict-r1.eclass | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/eclass/aspell-dict-r1.eclass b/eclass/aspell-dict-r1.eclass
index 170edb4cacde..1a3bd0b21b24 100644
--- a/eclass/aspell-dict-r1.eclass
+++ b/eclass/aspell-dict-r1.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: aspell-dict-r1.eclass
@@ -58,7 +58,6 @@ SLOT="0"
RDEPEND="app-text/aspell"
DEPEND="${RDEPEND}"
-BDEPEND="sys-apps/which"
_ASPELL_MAJOR_VERSION=${ASPELL_VERSION:-6}
[[ ${_ASPELL_MAJOR_VERSION} != [56] ]] && die "Unsupported ASPELL_VERSION=${ASPELL_VERSION}"
@@ -68,6 +67,10 @@ unset _ASPELL_MAJOR_VERSION
# @DESCRIPTION:
# The aspell-dict-r1 src_configure function which is exported.
aspell-dict-r1_src_configure() {
+ # configure generates lines like:
+ # `echo "ASPELL = `which $ASPELL`" > Makefile`
+ sed -i -e '/.* = `which/ s:`which:`command -v:' configure || die
+
# Since it's a non-autoconf based script, 'econf' cannot be used.
./configure || die
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-26 8:06 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2023-11-26 8:06 UTC (permalink / raw
To: gentoo-commits
commit: d03c14cd4be8665830082f424e4443906b005c7e
Author: Violet Purcell <vimproved <AT> inventati <DOT> org>
AuthorDate: Thu Nov 16 17:23:16 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Nov 26 08:06:24 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d03c14cd
kernel-build.eclass: copy module signing key to tempdir in pkg_setup
Previously, it was being copied in src_prepare, and thus would fail if
the signing key was not readable by portage:portage. This commit makes
kernel-build.eclass instead copy the signing key in pkg_setup, and then
correct the permissions.
Signed-off-by: Violet Purcell <vimproved <AT> inventati.org>
Closes: https://github.com/gentoo/gentoo/pull/33850
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 4f7e4d047739..6f18bc1dc969 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -114,6 +114,16 @@ kernel-build_pkg_setup() {
python-any-r1_pkg_setup
if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
secureboot_pkg_setup
+ if [[ -e ${MODULES_SIGN_KEY} && ${MODULES_SIGN_KEY} != pkcs11:* ]]; then
+ if [[ -e ${MODULES_SIGN_CERT} && ${MODULES_SIGN_CERT} != ${MODULES_SIGN_KEY} ]]; then
+ cat "${MODULES_SIGN_CERT}" "${MODULES_SIGN_KEY}" > "${T}/kernel_key.pem" || die
+ else
+ cp "${MODULES_SIGN_KEY}" "${T}/kernel_key.pem" || die
+ fi
+ chown portage:portage "${T}/kernel_key.pem" || die
+ chmod 0400 "${T}/kernel_key.pem" || die
+ export MODULES_SIGN_KEY="${T}/kernel_key.pem"
+ fi
fi
}
@@ -427,13 +437,6 @@ kernel-build_merge_configs() {
CONFIG_MODULE_SIG_FORCE=y
CONFIG_MODULE_SIG_${MODULES_SIGN_HASH^^}=y
EOF
- if [[ -e ${MODULES_SIGN_KEY} && -e ${MODULES_SIGN_CERT} &&
- ${MODULES_SIGN_KEY} != ${MODULES_SIGN_CERT} &&
- ${MODULES_SIGN_KEY} != pkcs11:* ]]
- then
- cat "${MODULES_SIGN_CERT}" "${MODULES_SIGN_KEY}" > "${T}/kernel_key.pem" || die
- MODULES_SIGN_KEY="${T}/kernel_key.pem"
- fi
if [[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]]; then
echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \
>> "${WORKDIR}/modules-sign.config"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 23:34 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2023-11-25 23:34 UTC (permalink / raw
To: gentoo-commits
commit: cbe4689429d7ad1e6e28d24faafab9ec5ade7b4f
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 15 21:04:07 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 23:33:25 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbe46894
ecm.eclass: Relax kde-frameworks/extra-cmake-modules SLOT dep to :*
We do not need to pin to 0 right away to let overlays catch up.
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index b58a38be027f..3c102d669caf 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -276,7 +276,7 @@ esac
BDEPEND+="
dev-libs/libpcre2:*
- >=kde-frameworks/extra-cmake-modules-${KFMIN}:${KFSLOT}
+ >=kde-frameworks/extra-cmake-modules-${KFMIN}:*
"
RDEPEND+=" >=kde-frameworks/kf-env-4"
if [[ ${_KFSLOT} == 6 ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 23:34 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2023-11-25 23:34 UTC (permalink / raw
To: gentoo-commits
commit: 5c3bfa331387b445ac36c3fe71ec6c956e9ffe6c
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 11 17:57:31 2022 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 23:33:24 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c3bfa33
frameworks.kde.org.eclass: Support KF6, set ECM to SLOT=0
Define SLOT=6 properly for >=5.240, excluding 5.9999
git master was set to 5.240 for KF6 ports, unstable KF6 releases use
numbers 5.245 and above.
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/frameworks.kde.org.eclass | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass
index af8e7b86f5a2..5d54b736c91b 100644
--- a/eclass/frameworks.kde.org.eclass
+++ b/eclass/frameworks.kde.org.eclass
@@ -35,8 +35,19 @@ inherit kde.org
HOMEPAGE="https://develop.kde.org/products/frameworks/"
-SLOT=5/${PV}
-[[ ${KDE_BUILD_TYPE} == release ]] && SLOT=$(ver_cut 1)/$(ver_cut 1-2)
+SLOT=6
+if [[ ${PV} == 5.9999 ]] || ver_test ${PV} -lt 5.240; then
+ SLOT=5
+fi
+if [[ ${PN} == extra-cmake-modules ]]; then
+ SLOT=0
+else
+ if [[ ${KDE_BUILD_TYPE} == release ]]; then
+ SLOT=${SLOT}/$(ver_cut 1-2)
+ else
+ SLOT=${SLOT}/9999
+ fi
+fi
# @ECLASS_VARIABLE: KDE_ORG_SCHEDULE_URI
# @INTERNAL
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 23:34 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2023-11-25 23:34 UTC (permalink / raw
To: gentoo-commits
commit: f1bc09d2cf978bf4005f8aede9bda2e6d9699f3d
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 11 18:50:30 2022 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 23:27:41 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1bc09d2
ecm.eclass: Initial support for Qt6-based consumers
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm.eclass | 37 ++++++++++++++++++++++++++-----------
1 file changed, 26 insertions(+), 11 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 0331273faae1..1bf11a946363 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -154,11 +154,12 @@ if [[ ${CATEGORY} = kde-frameworks ]]; then
fi
: "${KFMIN:=5.106.0}"
-# @ECLASS_VARIABLE: KFSLOT
+# @ECLASS_VARIABLE: _KFSLOT
# @INTERNAL
# @DESCRIPTION:
# KDE Frameworks and Qt slot dependency, implied by KFMIN version.
-: "${KFSLOT:=5}"
+: ${_KFSLOT:=5}
+[[ ${KFMIN/.*} == 6 ]] && _KFSLOT=6
case ${ECM_NONGUI} in
true) ;;
@@ -189,7 +190,11 @@ esac
case ${ECM_DESIGNERPLUGIN} in
true)
IUSE+=" designer"
- BDEPEND+=" designer? ( dev-qt/designer:${KFSLOT} )"
+ if [[ ${_KFSLOT} == 6 ]]; then
+ BDEPEND+=" designer? ( dev-qt/qttools:${_KFSLOT}[designer] )"
+ else
+ BDEPEND+=" designer? ( dev-qt/designer:${_KFSLOT} )"
+ fi
;;
false) ;;
*)
@@ -212,7 +217,7 @@ esac
case ${ECM_HANDBOOK} in
true|optional|forceoptional)
IUSE+=" +handbook"
- BDEPEND+=" handbook? ( >=kde-frameworks/kdoctools-${KFMIN}:${KFSLOT} )"
+ BDEPEND+=" handbook? ( >=kde-frameworks/kdoctools-${KFMIN}:${_KFSLOT} )"
;;
false) ;;
*)
@@ -224,11 +229,13 @@ esac
case ${ECM_QTHELP} in
true)
IUSE+=" doc"
- COMMONDEPEND+=" doc? ( dev-qt/qt-docs:${KFSLOT} )"
- BDEPEND+=" doc? (
- >=app-doc/doxygen-1.8.13-r1
- dev-qt/qthelp:${KFSLOT}
- )"
+ COMMONDEPEND+=" doc? ( dev-qt/qt-docs:${_KFSLOT} )"
+ BDEPEND+=" doc? ( >=app-doc/doxygen-1.8.13-r1 )"
+ if [[ ${_KFSLOT} == 6 ]]; then
+ BDEPEND+=" dev-qt/qttools:${_KFSLOT}[assistant]"
+ else
+ BDEPEND+=" doc? ( dev-qt/qthelp:${_KFSLOT} )"
+ fi
;;
false) ;;
*)
@@ -240,7 +247,11 @@ esac
case ${ECM_TEST} in
true|optional|forceoptional|forceoptional-recursive)
IUSE+=" test"
- DEPEND+=" test? ( dev-qt/qttest:${KFSLOT} )"
+ if [[ ${_KFSLOT} == 6 ]]; then
+ DEPEND+=" test? ( dev-qt/qtbase:${_KFSLOT}[test] )"
+ else
+ DEPEND+=" test? ( dev-qt/qttest:${_KFSLOT} )"
+ fi
RESTRICT+=" !test? ( test )"
;;
false) ;;
@@ -255,7 +266,11 @@ BDEPEND+="
>=kde-frameworks/extra-cmake-modules-${KFMIN}:${KFSLOT}
"
RDEPEND+=" >=kde-frameworks/kf-env-4"
-COMMONDEPEND+=" dev-qt/qtcore:${KFSLOT}"
+if [[ ${_KFSLOT} == 6 ]]; then
+ COMMONDEPEND+=" dev-qt/qtbase:${_KFSLOT}"
+else
+ COMMONDEPEND+=" dev-qt/qtcore:${_KFSLOT}"
+fi
DEPEND+=" ${COMMONDEPEND}"
RDEPEND+=" ${COMMONDEPEND}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 23:34 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2023-11-25 23:34 UTC (permalink / raw
To: gentoo-commits
commit: ca48f7c92ccdddb4d65e094d5e8e19102e3413f3
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 19 12:28:03 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 23:33:24 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca48f7c9
ecm.eclass: Use _KFSLOT to aptly configure KF5/KF6 based packages
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm.eclass | 46 +++++++++++++++++++++++++---------------------
1 file changed, 25 insertions(+), 21 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 46cc53afd5cb..b58a38be027f 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -87,26 +87,27 @@ fi
# Will accept "true", "false", "optional", "forceoptional". If set to "false",
# do nothing.
# Otherwise, add "+handbook" to IUSE, add the appropriate dependency, and let
-# KF5DocTools generate and install the handbook from docbook file(s) found in
-# ECM_HANDBOOK_DIR. However if !handbook, disable build of ECM_HANDBOOK_DIR
-# in CMakeLists.txt.
-# If set to "optional", build with -DCMAKE_DISABLE_FIND_PACKAGE_KF5DocTools=ON
-# when !handbook. In case package requires KF5KDELibs4Support, see next:
-# If set to "forceoptional", remove a KF5DocTools dependency from the root
-# CMakeLists.txt in addition to the above.
+# KF${_KFSLOT}DocTools generate and install the handbook from docbook file(s)
+# found in ECM_HANDBOOK_DIR. However if !handbook, disable build of
+# ECM_HANDBOOK_DIR in CMakeLists.txt.
+# If set to "optional", build with
+# -DCMAKE_DISABLE_FIND_PACKAGE_KF${_KFSLOT}DocTools=ON when !handbook. In case
+# package requires KF5KDELibs4Support, see next:
+# If set to "forceoptional", remove a KF${_KFSLOT}DocTools dependency from the
+# root CMakeLists.txt in addition to the above.
: "${ECM_HANDBOOK:=false}"
# @ECLASS_VARIABLE: ECM_HANDBOOK_DIR
# @DESCRIPTION:
# Specifies the directory containing the docbook file(s) relative to ${S} to
-# be processed by KF5DocTools (kdoctools_install).
+# be processed by KF${_KFSLOT}DocTools (kdoctools_install).
: "${ECM_HANDBOOK_DIR:=doc}"
# @ECLASS_VARIABLE: ECM_PO_DIRS
# @DESCRIPTION:
# Specifies directories of l10n files relative to ${S} to be processed by
-# KF5I18n (ki18n_install). If IUSE nls exists and is disabled then disable
-# build of these directories in CMakeLists.txt.
+# KF${_KFSLOT}I18n (ki18n_install). If IUSE nls exists and is disabled then
+# disable build of these directories in CMakeLists.txt.
: "${ECM_PO_DIRS:="po poqm"}"
# @ECLASS_VARIABLE: ECM_QTHELP
@@ -128,14 +129,14 @@ fi
# "forceoptional-recursive".
# Default value is "false", except for CATEGORY=kde-frameworks where it is
# set to "true". If set to "false", do nothing.
-# For any other value, add "test" to IUSE and DEPEND on dev-qt/qttest:5.
-# If set to "optional", build with -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=ON
-# when USE=!test.
-# If set to "forceoptional", punt Qt5Test dependency and ignore "autotests",
+# For any other value, add "test" to IUSE and DEPEND on dev-qt/qtbase:6[test]
+# (for KF5: dev-qt/qttest:5). If set to "optional", build with
+# -DCMAKE_DISABLE_FIND_PACKAGE_Qt${_KFSLOT}Test=ON when USE=!test. If set
+# to "forceoptional", punt Qt${_KFSLOT}Test dependency and ignore "autotests",
# "test", "tests" subdirs from top-level CMakeLists.txt when USE=!test.
-# If set to "forceoptional-recursive", punt Qt5Test dependencies and make
-# autotest(s), unittest(s) and test(s) subdirs from *any* CMakeLists.txt in
-# ${S} and below conditional on BUILD_TESTING when USE=!test. This is always
+# If set to "forceoptional-recursive", punt Qt${_KFSLOT}Test dependencies and
+# make autotest(s), unittest(s) and test(s) subdirs from *any* CMakeLists.txt
+# in ${S} and below conditional on BUILD_TESTING when USE=!test. This is always
# meant as a short-term fix and creates ${T}/${P}-tests-optional.patch to
# refine and submit upstream.
if [[ ${CATEGORY} = kde-frameworks ]]; then
@@ -158,7 +159,10 @@ fi
# @ECLASS_VARIABLE: _KFSLOT
# @INTERNAL
# @DESCRIPTION:
-# KDE Frameworks and Qt slot dependency, implied by KFMIN version.
+# KDE Frameworks and Qt main slot dependency, implied by KFMIN version, *not*
+# necessarily the package's SLOT. This is being used throughout the eclass to
+# depend on either :5 or :6 Qt/KF packages as well as setting correctly
+# prefixed cmake args.
: "${_KFSLOT:=5}"
if [[ ${CATEGORY} == kde-frameworks ]]; then
if [[ ${PV} != 5.9999 ]] && $(ver_test ${KFMIN} -ge 5.240); then
@@ -489,7 +493,7 @@ ecm_src_prepare() {
# always install unconditionally for kconfigwidgets - if you use
# language X as system language, and there is a combobox with language
# names, the translated language name for language Y is taken from
- # /usr/share/locale/Y/kf5_entry.desktop
+ # /usr/share/locale/Y/kf${_KFSLOT}_entry.desktop
[[ ${PN} != kconfigwidgets ]] && _ecm_strip_handbook_translations
fi
@@ -551,12 +555,12 @@ ecm_src_configure() {
cmakeargs+=( -DBUILD_TESTING=OFF )
if [[ ${ECM_TEST} = optional ]] ; then
- cmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=ON )
+ cmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Qt${_KFSLOT}Test=ON )
fi
fi
if [[ ${ECM_HANDBOOK} = optional ]] ; then
- cmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KF5DocTools=$(usex !handbook) )
+ cmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KF${_KFSLOT}DocTools=$(usex !handbook) )
fi
if in_iuse designer && [[ ${ECM_DESIGNERPLUGIN} = true ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 23:34 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2023-11-25 23:34 UTC (permalink / raw
To: gentoo-commits
commit: 3c980b4f715ca6f362e2e1c47f2c6cc26fe300f2
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 8 11:11:15 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 23:33:24 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c980b4f
frameworks.kde.org.eclass: Switch 5.9999 to kf5 branch
See also:
https://mail.kde.org/pipermail/kde-frameworks-devel/2023-January/123124.html
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/frameworks.kde.org.eclass | 43 ++++++++++++++++++++++++----------------
1 file changed, 26 insertions(+), 17 deletions(-)
diff --git a/eclass/frameworks.kde.org.eclass b/eclass/frameworks.kde.org.eclass
index 5201464a76c8..af8e7b86f5a2 100644
--- a/eclass/frameworks.kde.org.eclass
+++ b/eclass/frameworks.kde.org.eclass
@@ -50,23 +50,32 @@ KDE_ORG_SCHEDULE_URI+="/Frameworks"
# Helper variable to construct release group specific SRC_URI.
_KDE_SRC_URI="mirror://kde/"
-if [[ ${KDE_BUILD_TYPE} != live && -z ${KDE_ORG_COMMIT} ]]; then
- _KDE_SRC_URI+="stable/frameworks/$(ver_cut 1-2)/"
- case ${KDE_ORG_NAME} in
- kdelibs4support | \
- kdesignerplugin | \
- kdewebkit | \
- khtml | \
- kjs | \
- kjsembed | \
- kmediaplayer | \
- kross | \
- kxmlrpcclient)
- _KDE_SRC_URI+="portingAids/"
- ;;
- esac
+case ${KDE_BUILD_TYPE} in
+ live)
+ if [[ ${PV} == 5.9999 ]]; then
+ EGIT_BRANCH="kf5"
+ fi
+ ;;
+ *)
+ if [[ -z ${KDE_ORG_COMMIT} ]]; then
+ _KDE_SRC_URI+="stable/frameworks/$(ver_cut 1-2)/"
+ case ${KDE_ORG_NAME} in
+ kdelibs4support | \
+ kdesignerplugin | \
+ kdewebkit | \
+ khtml | \
+ kjs | \
+ kjsembed | \
+ kmediaplayer | \
+ kross | \
+ kxmlrpcclient)
+ _KDE_SRC_URI+="portingAids/"
+ ;;
+ esac
- SRC_URI="${_KDE_SRC_URI}${KDE_ORG_NAME}-${PV}.tar.xz"
-fi
+ SRC_URI="${_KDE_SRC_URI}${KDE_ORG_NAME}-${PV}.tar.xz"
+ fi
+ ;;
+esac
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 23:34 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2023-11-25 23:34 UTC (permalink / raw
To: gentoo-commits
commit: a11feb4b6d5e640375c2f15ecab79b61f1077419
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu May 18 20:28:51 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 23:33:15 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a11feb4b
ecm.eclass: Add SLOT=6 dependencies if KFMIN is >=5.240
- Excluding KDE Frameworks 5.9999 from KFMIN>=5.240 check
- Enforce QT_MAJOR_VERSION=6 for packages w/ KFMIN >= 5.240
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm.eclass | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 1bf11a946363..46cc53afd5cb 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -148,7 +148,8 @@ fi
# @DESCRIPTION:
# Minimum version of Frameworks to require. Default value for kde-frameworks
# is ${PV} and 5.106.0 baseline for everything else.
-# Version will also be used to differentiate between KF5/Qt5 and KF6/Qt6.
+# If set to >=5.240, KF6/Qt6 is assumed thus SLOT=6 dependencies added and
+# -DQT_MAJOR_VERSION=6 added to cmake args.
if [[ ${CATEGORY} = kde-frameworks ]]; then
: "${KFMIN:=$(ver_cut 1-2)}"
fi
@@ -158,8 +159,16 @@ fi
# @INTERNAL
# @DESCRIPTION:
# KDE Frameworks and Qt slot dependency, implied by KFMIN version.
-: ${_KFSLOT:=5}
-[[ ${KFMIN/.*} == 6 ]] && _KFSLOT=6
+: "${_KFSLOT:=5}"
+if [[ ${CATEGORY} == kde-frameworks ]]; then
+ if [[ ${PV} != 5.9999 ]] && $(ver_test ${KFMIN} -ge 5.240); then
+ _KFSLOT=6
+ fi
+else
+ if [[ ${KFMIN/.*} == 6 ]] || $(ver_test ${KFMIN} -ge 5.240); then
+ _KFSLOT=6
+ fi
+fi
case ${ECM_NONGUI} in
true) ;;
@@ -534,6 +543,10 @@ ecm_src_configure() {
local cmakeargs
+ if [[ ${_KFSLOT} == 6 ]]; then
+ cmakeargs+=( -DQT_MAJOR_VERSION=6 )
+ fi
+
if in_iuse test && ! use test ; then
cmakeargs+=( -DBUILD_TESTING=OFF )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 11:21 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-25 11:21 UTC (permalink / raw
To: gentoo-commits
commit: f17e0cfb20597df1591656bbe68b8643c1d50813
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 25 11:19:52 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 11:21:14 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f17e0cfb
llvm.org.eclass: Remove old snapshots
Signed-off-by: Michał Górny <mgorny <AT> 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 ad6c35848bc4..9f702697a846 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,12 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
18.0.0_pre20231119)
EGIT_COMMIT=5237193b87721134541f228e28edfd544a9c8ac8
;;
- 18.0.0_pre20231111)
- EGIT_COMMIT=167b598648dfcee2f23426bfa972e53f8ac16722
- ;;
- 18.0.0_pre20231104)
- EGIT_COMMIT=83888a5404d46667647fe36d6fa510d075ed57ea
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-24 18:35 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-24 18:35 UTC (permalink / raw
To: gentoo-commits
commit: 6a3a1e6a613329f2a4ea88a2fffee0134da780e9
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 24 17:22:58 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 24 17:44:36 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a3a1e6a
go-env.eclass: Reapply "also set GOARM & GO386 when applicable"
This reverts commit 5718f8440197298e0aa1df2a88a66057d2cdaf83.
Reverted because of the issue mentioned in 5718f8440197298e0aa1df2a88a66057d2cdaf83
to not leave things broken while investigating a fix.
Reapplying and fixing it up in a followup.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/go-env.eclass | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index 08e3cf498a70..4bc8c4b15c65 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -19,6 +19,8 @@ inherit toolchain-funcs
# @FUNCTION: go-env_set_compile_environment
# @DESCRIPTION:
# Set up basic compile environment: CC, CXX, and GOARCH.
+# Necessary platform-specific settings such as GOARM or GO386 are also set
+# according to the Portage configuration when building for those architectures.
# Also carry over CFLAGS, LDFLAGS and friends.
# Required for cross-compiling with crossdev.
# If not set, host defaults will be used and the resulting binaries are host arch.
@@ -28,6 +30,9 @@ go-env_set_compile_environment() {
tc-export CC CXX
export GOARCH="$(go-env_goarch)"
+ use arm && export GOARM=$(go-env_goarm)
+ use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat')
+
export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
export CGO_CXXFLAGS="${CGO_CXXFLAGS:-$CXXFLAGS}"
@@ -57,4 +62,20 @@ go-env_goarch() {
esac
}
+# @FUNCTION: go-env_goarm
+# @USAGE: [CHOST-value]
+# @DESCRIPTION:
+# Returns the appropriate GOARM setting for the CHOST given, or the default
+# CHOST.
+go-env_goarm() {
+ case "${1:-${CHOST}}" in
+ armv5*) echo 5;;
+ armv6*) echo 6;;
+ armv7*) echo 7;;
+ *)
+ die "unknown GOARM for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-24 18:35 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-24 18:35 UTC (permalink / raw
To: gentoo-commits
commit: 6f6e58bd266a7e82f2eff29703a5a819b20ce8f7
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 24 17:42:25 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 24 18:35:04 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f6e58bd
go-env.eclass: fix GO386 handling
Go 1.16 dropped explicit support for 386 FP and relies on software
emulation instead in the absence of SSE2.
* First, check if cpu_flags_x86_sse2 is used in the ebuild. If it is and it's
enabled, then act in SSE2 mode.
* If not, fall back to checking whether the compiler has __SSE2__ defined via
e.g. -march in CFLAGS.
* Failing that, use softfloat mode.
Fixes the issue mentioned in 5718f8440197298e0aa1df2a88a66057d2cdaf83 (where
we tried to use a USE flag which isn't implicit).
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/go-env.eclass | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index 4bc8c4b15c65..1f950db06930 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -31,7 +31,7 @@ go-env_set_compile_environment() {
export GOARCH="$(go-env_goarch)"
use arm && export GOARM=$(go-env_goarm)
- use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat')
+ use x86 && export GO386=$(go-env_go386)
export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
@@ -62,6 +62,27 @@ go-env_goarch() {
esac
}
+# @FUNCTION: go-env_go386
+# @DESCRIPTION:
+# Returns the appropriate GO386 setting for the CFLAGS in use.
+go-env_go386() {
+ # Piggy-back off any existing CPU_FLAGS_X86 usage in the ebuild if
+ # it's there.
+ if in_iuse cpu_flags_x86_sse2 && use cpu_flags_x86_sse2 ; then
+ echo 'sse2'
+ return
+ fi
+
+ if tc-cpp-is-true "defined(__SSE2__)" ${CFLAGS} ${CXXFLAGS} ; then
+ echo 'sse2'
+ return
+ fi
+
+ # Go 1.16 dropped explicit support for 386 FP and relies on software
+ # emulation instead in the absence of SSE2.
+ echo 'softfloat'
+}
+
# @FUNCTION: go-env_goarm
# @USAGE: [CHOST-value]
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-24 17:17 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-24 17:17 UTC (permalink / raw
To: gentoo-commits
commit: 5718f8440197298e0aa1df2a88a66057d2cdaf83
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 24 17:16:35 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 24 17:16:35 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5718f844
Revert "go-env.eclass: also set GOARM & GO386 when applicable"
This reverts commit 64224abbe06824d47c554dced4149b51f3cebe91.
Ionen raises on the ML that this won't work unless cpu_flags_x86_sse2 is in IUSE,
so revert for now until can figure that bit out.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/go-env.eclass | 21 ---------------------
1 file changed, 21 deletions(-)
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index 4bc8c4b15c65..08e3cf498a70 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -19,8 +19,6 @@ inherit toolchain-funcs
# @FUNCTION: go-env_set_compile_environment
# @DESCRIPTION:
# Set up basic compile environment: CC, CXX, and GOARCH.
-# Necessary platform-specific settings such as GOARM or GO386 are also set
-# according to the Portage configuration when building for those architectures.
# Also carry over CFLAGS, LDFLAGS and friends.
# Required for cross-compiling with crossdev.
# If not set, host defaults will be used and the resulting binaries are host arch.
@@ -30,9 +28,6 @@ go-env_set_compile_environment() {
tc-export CC CXX
export GOARCH="$(go-env_goarch)"
- use arm && export GOARM=$(go-env_goarm)
- use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat')
-
export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
export CGO_CXXFLAGS="${CGO_CXXFLAGS:-$CXXFLAGS}"
@@ -62,20 +57,4 @@ go-env_goarch() {
esac
}
-# @FUNCTION: go-env_goarm
-# @USAGE: [CHOST-value]
-# @DESCRIPTION:
-# Returns the appropriate GOARM setting for the CHOST given, or the default
-# CHOST.
-go-env_goarm() {
- case "${1:-${CHOST}}" in
- armv5*) echo 5;;
- armv6*) echo 6;;
- armv7*) echo 7;;
- *)
- die "unknown GOARM for ${1:-${CHOST}}"
- ;;
- esac
-}
-
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-24 16:26 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-24 16:26 UTC (permalink / raw
To: gentoo-commits
commit: 64224abbe06824d47c554dced4149b51f3cebe91
Author: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 23 08:28:54 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 24 16:26:15 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=64224abb
go-env.eclass: also set GOARM & GO386 when applicable
This is necessary for the build artifact to conform to the configured
ISA level and features on those arches. The logic is also taken from
the dev-lang/go ebuild.
Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/33941
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/go-env.eclass | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index 08e3cf498a70..4bc8c4b15c65 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -19,6 +19,8 @@ inherit toolchain-funcs
# @FUNCTION: go-env_set_compile_environment
# @DESCRIPTION:
# Set up basic compile environment: CC, CXX, and GOARCH.
+# Necessary platform-specific settings such as GOARM or GO386 are also set
+# according to the Portage configuration when building for those architectures.
# Also carry over CFLAGS, LDFLAGS and friends.
# Required for cross-compiling with crossdev.
# If not set, host defaults will be used and the resulting binaries are host arch.
@@ -28,6 +30,9 @@ go-env_set_compile_environment() {
tc-export CC CXX
export GOARCH="$(go-env_goarch)"
+ use arm && export GOARM=$(go-env_goarm)
+ use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat')
+
export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
export CGO_CXXFLAGS="${CGO_CXXFLAGS:-$CXXFLAGS}"
@@ -57,4 +62,20 @@ go-env_goarch() {
esac
}
+# @FUNCTION: go-env_goarm
+# @USAGE: [CHOST-value]
+# @DESCRIPTION:
+# Returns the appropriate GOARM setting for the CHOST given, or the default
+# CHOST.
+go-env_goarm() {
+ case "${1:-${CHOST}}" in
+ armv5*) echo 5;;
+ armv6*) echo 6;;
+ armv7*) echo 7;;
+ *)
+ die "unknown GOARM for ${1:-${CHOST}}"
+ ;;
+ esac
+}
+
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-24 16:26 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-24 16:26 UTC (permalink / raw
To: gentoo-commits
commit: 0061d784248dc29adc92c7881d2854deb6cc12e1
Author: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 23 08:04:18 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 24 16:26:14 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0061d784
go-env.eclass: unify GOARCH mapping logic with dev-lang/go
Previously the eclass featured its own GOARCH mapping, that took care
of less cases than the dev-lang/go ebuild did, and broke Go packages on
arches like loong (GOARCH=loong64), mips (4 GOARCHes supported in total)
or riscv (GOARCH=riscv64).
This patch adds a copy of the go_arch() helper from dev-lang/go to the
eclass and switches the go-env_set_compile_environment() function to use
that, to fix the problem at hand.
Fixes: 878d04daaf34765e6224e58139a9c45921d7a0c3
Closes: https://bugs.gentoo.org/917750
Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/go-env.eclass | 40 ++++++++++++++++++++++++++--------------
1 file changed, 26 insertions(+), 14 deletions(-)
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index ba4f6c3fbb59..08e3cf498a70 100644
--- a/eclass/go-env.eclass
+++ b/eclass/go-env.eclass
@@ -8,7 +8,7 @@
# Flatcar Linux Maintainers <infra@flatcar-linux.org>
# @BLURB: Helper eclass for setting the Go compile environment. Required for cross-compiling.
# @DESCRIPTION:
-# This eclass includes a helper function for setting the compile environment for Go ebuilds.
+# This eclass includes helper functions for setting the compile environment for Go ebuilds.
# Intended to be called by other Go eclasses in an early build stage, e.g. src_unpack.
if [[ -z ${_GO_ENV_ECLASS} ]]; then
@@ -25,24 +25,36 @@ 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() {
- local arch="$(tc-arch)"
- case "${arch}" in
- x86) GOARCH="386" ;;
- x64-*) GOARCH="amd64" ;;
- ppc64) if [[ "$(tc-endian)" == "big" ]] ; then
- GOARCH="ppc64"
- else
- GOARCH="ppc64le"
- fi ;;
- *) GOARCH="${arch}" ;;
- esac
-
tc-export CC CXX
- export GOARCH
+
+ export GOARCH="$(go-env_goarch)"
export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
export CGO_CXXFLAGS="${CGO_CXXFLAGS:-$CXXFLAGS}"
export CGO_LDFLAGS="${CGO_LDFLAGS:-$LDFLAGS}"
}
+# @FUNCTION: go-env_goarch
+# @USAGE: [toolchain prefix]
+# @DESCRIPTION:
+# Returns the appropriate GOARCH setting for the target architecture.
+go-env_goarch() {
+ # By chance most portage arch names match Go
+ local tc_arch=$(tc-arch $@)
+ case "${tc_arch}" in
+ x86) echo 386;;
+ x64-*) echo amd64;;
+ loong) echo loong64;;
+ mips) if use abi_mips_o32; then
+ [[ $(tc-endian $@) = big ]] && echo mips || echo mipsle
+ elif use abi_mips_n64; then
+ [[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le
+ fi ;;
+ ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
+ riscv) echo riscv64 ;;
+ s390) echo s390x ;;
+ *) echo "${tc_arch}";;
+ esac
+}
+
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-23 15:02 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-23 15:02 UTC (permalink / raw
To: gentoo-commits
commit: d66f119323ca954a35946b9f3eeeaae0c6c69d0b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 23 14:55:18 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Nov 23 14:57:11 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d66f1193
multibuild.eclass: Fix passing return value from variants
Move the misplaced return value saving into the variant loop, so that
any non-successful return code is saved (as intended) rather than just
the last one.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/multibuild.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/multibuild.eclass b/eclass/multibuild.eclass
index d8a5862731bf..f15d3327c7dd 100644
--- a/eclass/multibuild.eclass
+++ b/eclass/multibuild.eclass
@@ -129,8 +129,8 @@ multibuild_foreach_variant() {
_multibuild_run "${@}" \
> >(exec tee -a "${T}/build-${MULTIBUILD_ID}.log") 2>&1
lret=${?}
+ [[ ${ret} -eq 0 && ${lret} -ne 0 ]] && ret=${lret}
done
- [[ ${ret} -eq 0 && ${lret} -ne 0 ]] && ret=${lret}
return ${ret}
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-22 0:00 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-22 0:00 UTC (permalink / raw
To: gentoo-commits
commit: 3090afd2a0f41d9183f2dbb580df7df9c6e3a0e3
Author: Arsen Arsenović <arsen <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 4 00:40:38 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 22 00:00:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3090afd2
toolchain-autoconf.eclass: Add TC_AUTOCONF_ENVPREFIX
This variable allows packages like autoconf-vanilla to adjust their
priority in env.d concatenation.
Signed-off-by: Arsen Arsenović <arsen <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-autoconf.eclass | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain-autoconf.eclass b/eclass/toolchain-autoconf.eclass
index b2c3a4884282..137f0efac159 100644
--- a/eclass/toolchain-autoconf.eclass
+++ b/eclass/toolchain-autoconf.eclass
@@ -32,6 +32,13 @@ _TOOLCHAIN_AUTOCONF_ECLASS=1
# Where to install info files if not slotting.
TC_AUTOCONF_INFOPATH="${EPREFIX}/usr/share/${P}/info"
+# @ECLASS_VARIABLE: TC_AUTOCONF_ENVPREFIX
+# @DESCRIPTION:
+# Prefix number for env.d files produced by this eclass. Defaults to
+# 06. Note that the generated env.d filename format is
+# "${TC_AUTOCONF_ENVPREFIX}${PN}$((99999-(major*1000+minor)))"
+: "${TC_AUTOCONF_ENVPREFIX:=06}"
+
toolchain-autoconf_src_prepare() {
find -name Makefile.in -exec sed -i '/^pkgdatadir/s:$:-@VERSION@:' {} + || die
default
@@ -98,7 +105,7 @@ toolchain-autoconf_src_install() {
local major="$(ver_cut 1)"
local minor="$(ver_cut 2)"
local idx="$((99999-(major*1000+minor)))"
- newenvd - "06autoconf${idx}" <<-EOF
+ newenvd - "${TC_AUTOCONF_ENVPREFIX}${PN}${idx}" <<-EOF
INFOPATH="${TC_AUTOCONF_INFOPATH}"
EOF
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-22 0:00 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-22 0:00 UTC (permalink / raw
To: gentoo-commits
commit: 5bc696cb73b16a50be83fede86c06282d0abe963
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 16 22:20:05 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 22 00:00:05 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bc696cb
toolchain-autoconf.eclass: handle different PN
Prepare for autoconf-vanilla.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-autoconf.eclass | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/eclass/toolchain-autoconf.eclass b/eclass/toolchain-autoconf.eclass
index ed8d5ff1412a..0211d810f6a2 100644
--- a/eclass/toolchain-autoconf.eclass
+++ b/eclass/toolchain-autoconf.eclass
@@ -30,7 +30,7 @@ _TOOLCHAIN_AUTOCONF_ECLASS=1
# @ECLASS_VARIABLE: TC_AUTOCONF_INFOPATH
# @DESCRIPTION:
# Where to install info files if not slotting.
-TC_AUTOCONF_INFOPATH="${EPREFIX}/usr/share/autoconf-${PV}/info"
+TC_AUTOCONF_INFOPATH="${EPREFIX}/usr/share/${P}/info"
toolchain-autoconf_src_prepare() {
find -name Makefile.in -exec sed -i '/^pkgdatadir/s:$:-@VERSION@:' {} + || die
@@ -40,8 +40,11 @@ toolchain-autoconf_src_prepare() {
toolchain-autoconf_src_configure() {
# Disable Emacs in the build system since it is in a separate package.
export EMACS=no
+
+ MY_P="${P#autoconf-}"
+
local myconf=(
- --program-suffix="-${PV}"
+ --program-suffix="-${MY_P}"
)
if [[ -z "${TC_AUTOCONF_BREAK_INFOS}" && "${SLOT}" != 0 ]]; then
myconf+=(
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-22 0:00 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-22 0:00 UTC (permalink / raw
To: gentoo-commits
commit: 3d997445c447437251b9271a71af89548b7307bb
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 16 22:33:19 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 22 00:00:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d997445
toolchain-autoconf.eclass: accept arguments for src_configure
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-autoconf.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/toolchain-autoconf.eclass b/eclass/toolchain-autoconf.eclass
index 0211d810f6a2..b2c3a4884282 100644
--- a/eclass/toolchain-autoconf.eclass
+++ b/eclass/toolchain-autoconf.eclass
@@ -51,7 +51,7 @@ toolchain-autoconf_src_configure() {
--infodir="${TC_AUTOCONF_INFOPATH}"
)
fi
- econf "${myconf[@]}" || die
+ econf "${myconf[@]}" "${@}" || die
# econf updates config.{sub,guess} which forces the manpages
# to be regenerated which we dont want to do #146621
touch man/*.1
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-21 20:51 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-21 20:51 UTC (permalink / raw
To: gentoo-commits
commit: cf366abd1bd50a33755734bbfb8c0e8a49a5480e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 21 20:47:49 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov 21 20:51:47 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf366abd
flag-o-matic.eclass: allow further MIPS errata flags
* We were missing 24k, r5900, vr4120, vr4130, sb1 [0].
* Chuck in -Wa,-mfix-loongson2f-nop while at it. The topic of -Wa,* is an interesting
one, as we currently allow -Wl,*, so we should probably do the same for the assembler,
but punt that to another time.
Note that we use r5900 and -Wa,-mfix-loongson2f-nop for building stages...
Prompted by discussion with immolo (see also fad75a344cbaada57ae490c3e8f88cdd5b35dadc).
[0] https://gcc.gnu.org/onlinedocs/gcc/MIPS-Options.html#index-mfix-24k (and below)
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 6540f59aa960..d377568327e6 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -89,7 +89,7 @@ _setup-allowed-flags() {
'-fdiagnostics*' '-fplugin*'
'-W*' -w
- # CPPFLAGS and LDFLAGS
+ # CPPFLAGS and LDFLAGS (TODO: Allow -Wa,*?)
'-[DUILR]*' '-Wl,*'
# Linker choice flag
@@ -114,9 +114,15 @@ _setup-allowed-flags() {
-mno-faster-structs -mfaster-structs -m32 -m64 -mx32 '-mabi=*'
-mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 '-mcmodel=*'
-mstack-bias -mno-stack-bias -msecure-plt '-m*-toc' '-mfloat-abi=*'
- -mfix-r4000 -mno-fix-r4000 -mfix-r4400 -mno-fix-r4400
+
+ # 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-r10000 -mno-fix-r10000
+ -mfix-r10000 -mno-fix-r10000 -mfix-vr4120 -mno-fix-vr4120
+ -mfix-vr4130 -mfix-sb1 -mno-fix-sb1
+ '-Wa,-mfix-loongson2f-nop'
+
'-mr10k-cache-barrier=*' -mthumb -marm
# needed for arm64 (and in particular SCS)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-21 20:43 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-21 20:43 UTC (permalink / raw
To: gentoo-commits
commit: fad75a344cbaada57ae490c3e8f88cdd5b35dadc
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 21 20:40:27 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov 21 20:40:44 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fad75a34
flag-o-matic.eclass: allow -mfix-r5900 errata flag for MIPS
Reported by immolo.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 58a14178f38a..6540f59aa960 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -115,7 +115,8 @@ _setup-allowed-flags() {
-mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 '-mcmodel=*'
-mstack-bias -mno-stack-bias -msecure-plt '-m*-toc' '-mfloat-abi=*'
-mfix-r4000 -mno-fix-r4000 -mfix-r4400 -mno-fix-r4400
- -mfix-rm7000 -mno-fix-rm7000 -mfix-r10000 -mno-fix-r10000
+ -mfix-rm7000 -mno-fix-rm7000 -mfix-r9500 -mno-fix-r9500
+ -mfix-r10000 -mno-fix-r10000
'-mr10k-cache-barrier=*' -mthumb -marm
# needed for arm64 (and in particular SCS)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-20 23:27 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2023-11-20 23:27 UTC (permalink / raw
To: gentoo-commits
commit: 0c931a2c3681542cb692c990fe2df2a185cb65ec
Author: Thilo Fromm <thilo.alexander <AT> gmail <DOT> com>
AuthorDate: Wed Nov 8 07:40:50 2023 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Mon Nov 20 23:25:32 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c931a2c
eclass/golang-vcs.eclass: set up compile env
This change calls go-env_set_compile_environment in golang-vcs's
src_unpack to set up a sane compile environment early in the go build
process. This un-breaks cross compiling of all golang ebuilds that
inherit golang-vcs.
Signed-off-by: Thilo Fromm <thilo.alexander <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/33539
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/golang-vcs.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/golang-vcs.eclass b/eclass/golang-vcs.eclass
index 7558db4776cb..6f7a837bc15f 100644
--- a/eclass/golang-vcs.eclass
+++ b/eclass/golang-vcs.eclass
@@ -20,7 +20,7 @@ esac
if [[ -z ${_GOLANG_VCS_ECLASS} ]]; then
_GOLANG_VCS_ECLASS=1
-inherit estack golang-base
+inherit estack golang-base go-env
PROPERTIES+=" live"
@@ -63,6 +63,7 @@ PROPERTIES+=" live"
# @INTERNAL
# @DESCRIPTION:
# Create EGO_STORE_DIR if necessary.
+# Set compile env via go-env.
_golang-vcs_env_setup() {
debug-print-function ${FUNCNAME} "$@"
@@ -84,6 +85,8 @@ _golang-vcs_env_setup() {
mkdir -p "${WORKDIR}/${P}/src" ||
die "${ECLASS}: unable to create ${WORKDIR}/${P}"
return 0
+
+ go-env_set_compile_environment
}
# @FUNCTION: _golang-vcs_fetch
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-20 23:27 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2023-11-20 23:27 UTC (permalink / raw
To: gentoo-commits
commit: 069fa0125f971af844000efa820a8940ceb2d497
Author: Thilo Fromm <thilo.alexander <AT> gmail <DOT> com>
AuthorDate: Wed Nov 8 07:39:22 2023 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Mon Nov 20 23:25:29 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=069fa012
eclass/golang-vcs-snapshot.eclass: set up compile env
This change calls go-env_set_compile_environment in
golang-vcs-snapshot's src_unpack to set up a sane compile environment
early in the go build process. This un-breaks cross compiling of all
golang ebuilds that inherit golang-vcs-snapshot.
Signed-off-by: Thilo Fromm <thilo.alexander <AT> gmail.com>
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/golang-vcs-snapshot.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/golang-vcs-snapshot.eclass b/eclass/golang-vcs-snapshot.eclass
index 9c199bbbd8c5..d34b8a6e913d 100644
--- a/eclass/golang-vcs-snapshot.eclass
+++ b/eclass/golang-vcs-snapshot.eclass
@@ -52,7 +52,7 @@ esac
if [[ -z ${_GOLANG_VCS_SNAPSHOT_ECLASS} ]]; then
_GOLANG_VCS_SNAPSHOT_ECLASS=1
-inherit golang-base
+inherit golang-base go-env
# @ECLASS_VARIABLE: EGO_VENDOR
# @DESCRIPTION:
@@ -92,6 +92,7 @@ _golang-vcs-snapshot_dovendor() {
# @FUNCTION: golang-vcs-snapshot_src_unpack
# @DESCRIPTION:
# Extract the first archive from ${A} to the appropriate location for GOPATH.
+# Set compile env via go-env.
golang-vcs-snapshot_src_unpack() {
local lib vendor_path x
ego_pn_check
@@ -117,6 +118,8 @@ golang-vcs-snapshot_src_unpack() {
fi
done
fi
+
+ go-env_set_compile_environment
}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-20 23:27 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2023-11-20 23:27 UTC (permalink / raw
To: gentoo-commits
commit: e398c855e3475c1fb5f3ac6a6e0553116dac83f8
Author: Thilo Fromm <thilo.alexander <AT> gmail <DOT> com>
AuthorDate: Wed Nov 8 07:36:23 2023 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Mon Nov 20 23:25:25 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e398c855
eclass/go-module.eclass: export compile env in src_unpack
This change calls go-env_set_compile_environment in go-module's
src_unpack to set up a sane compile environment early in the go build
process. This un-breaks cross compiling of all golang ebuilds that
inherit go-module.
Signed-off-by: Thilo Fromm <thilo.alexander <AT> gmail.com>
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/go-module.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/go-module.eclass b/eclass/go-module.eclass
index 6c58d7f26f07..701d36e012e2 100644
--- a/eclass/go-module.eclass
+++ b/eclass/go-module.eclass
@@ -68,7 +68,7 @@ esac
if [[ -z ${_GO_MODULE_ECLASS} ]]; then
_GO_MODULE_ECLASS=1
-inherit multiprocessing toolchain-funcs
+inherit multiprocessing toolchain-funcs go-env
if [[ ! ${GO_OPTIONAL} ]]; then
BDEPEND=">=dev-lang/go-1.18"
@@ -363,6 +363,7 @@ go-module_setup_proxy() {
# local go proxy. This mode is deprecated.
# 2. Otherwise, if EGO_VENDOR is set, bail out, as this functionality was removed.
# 3. Otherwise, call 'ego mod verify' and then do a normal unpack.
+# Set compile env via go-env.
go-module_src_unpack() {
if use amd64 || use arm || use arm64 ||
( use ppc64 && [[ $(tc-endian) == "little" ]] ) || use s390 || use x86; then
@@ -386,6 +387,8 @@ go-module_src_unpack() {
${nf} ego mod verify
fi
fi
+
+ go-env_set_compile_environment
}
# @FUNCTION: _go-module_src_unpack_gosum
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-20 23:27 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2023-11-20 23:27 UTC (permalink / raw
To: gentoo-commits
commit: 878d04daaf34765e6224e58139a9c45921d7a0c3
Author: Thilo Fromm <thilo.alexander <AT> gmail <DOT> com>
AuthorDate: Wed Nov 8 07:34:35 2023 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Mon Nov 20 23:25:22 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=878d04da
eclass/go-env.eclass: add helper to set compile env
This change adds a helper function to explicitly set CC, CXX, and
GOARCH, and carrying over CFLAGS, LDFLAGS and friends to CGO
equivalents, to provide a minimal sane compile environment for Go.
It enables Go builds to play nice with crossdev's wrappers for
emerge/ebuild etc. Previously, Go ebuilds emitted binaries for the host
architecture.
For example, when running on an x86_64 host:
emerge-aarch64-cross-linux-gnu foo
will now correctly emerge Go package "foo" for aarch64 instead of
x86_64.
The eclass provides a single helper function
go-env_set_compile_environment()
intended to be called by other Go eclasses in an early build stage.
Ebuilds may also explicitly call this function.
Signed-off-by: Thilo Fromm <thilo.alexander <AT> gmail.com>
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/go-env.eclass | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
new file mode 100644
index 000000000000..ba4f6c3fbb59
--- /dev/null
+++ b/eclass/go-env.eclass
@@ -0,0 +1,48 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: go-env.eclass
+# @MAINTAINER:
+# Flatcar Linux Maintainers <infra@flatcar-linux.org>
+# @AUTHOR:
+# Flatcar Linux Maintainers <infra@flatcar-linux.org>
+# @BLURB: Helper eclass for setting the Go compile environment. Required for cross-compiling.
+# @DESCRIPTION:
+# This eclass includes a helper function for setting the compile environment for Go ebuilds.
+# Intended to be called by other Go eclasses in an early build stage, e.g. src_unpack.
+
+if [[ -z ${_GO_ENV_ECLASS} ]]; then
+_GO_ENV_ECLASS=1
+
+inherit toolchain-funcs
+
+# @FUNCTION: go-env_set_compile_environment
+# @DESCRIPTION:
+# Set up basic compile environment: CC, CXX, and GOARCH.
+# Also carry over CFLAGS, LDFLAGS and friends.
+# Required for cross-compiling with crossdev.
+# If not set, host defaults will be used and the resulting binaries are host arch.
+# (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() {
+ local arch="$(tc-arch)"
+ case "${arch}" in
+ x86) GOARCH="386" ;;
+ x64-*) GOARCH="amd64" ;;
+ ppc64) if [[ "$(tc-endian)" == "big" ]] ; then
+ GOARCH="ppc64"
+ else
+ GOARCH="ppc64le"
+ fi ;;
+ *) GOARCH="${arch}" ;;
+ esac
+
+ tc-export CC CXX
+ export GOARCH
+ export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
+ export CGO_CPPFLAGS="${CGO_CPPFLAGS:-$CPPFLAGS}"
+ export CGO_CXXFLAGS="${CGO_CXXFLAGS:-$CXXFLAGS}"
+ export CGO_LDFLAGS="${CGO_LDFLAGS:-$LDFLAGS}"
+}
+
+fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-19 16:01 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-19 16:01 UTC (permalink / raw
To: gentoo-commits
commit: 171a72e48ca08dd7d5f1a0f9c00d5a3297db1239
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 18 15:55:11 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 19 16:01:14 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=171a72e4
python-utils-r1.eclass: Do not pass `-p no:*` w/ no autoloading
Modify `epytest` not to pass our plethora of `-p no:*` arguments
when `PYTEST_DISABLE_PLUGIN_AUTOLOAD` is set. This is NFC since
the plugins wouldn't be loaded anyway.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-utils-r1.eclass | 51 ++++++++++++++++++++++++-------------------
1 file changed, 28 insertions(+), 23 deletions(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 1de4f325de33..394f64a5d139 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1362,31 +1362,36 @@ epytest() {
# count is more precise when we're dealing with a large number
# of tests
-o console_output_style=count
- # disable the undesirable-dependency plugins by default to
- # trigger missing argument strips. strip options that require
- # them from config files. enable them explicitly via "-p ..."
- # if you *really* need them.
- -p no:cov
- -p no:flake8
- -p no:flakes
- -p no:pylint
- # sterilize pytest-markdown as it runs code snippets from all
- # *.md files found without any warning
- -p no:markdown
- # pytest-sugar undoes everything that's good about pytest output
- # and makes it hard to read logs
- -p no:sugar
- # pytest-xvfb automatically spawns Xvfb for every test suite,
- # effectively forcing it even when we'd prefer the tests
- # not to have DISPLAY at all, causing crashes sometimes
- # and causing us to miss missing virtualx usage
- -p no:xvfb
- # intrusive packages that break random test suites
- -p no:pytest-describe
- -p no:plus
- -p no:tavern
)
+ if [[ ! ${PYTEST_DISABLE_PLUGIN_AUTOLOAD} ]]; then
+ args+=(
+ # disable the undesirable-dependency plugins by default to
+ # trigger missing argument strips. strip options that require
+ # them from config files. enable them explicitly via "-p ..."
+ # if you *really* need them.
+ -p no:cov
+ -p no:flake8
+ -p no:flakes
+ -p no:pylint
+ # sterilize pytest-markdown as it runs code snippets from all
+ # *.md files found without any warning
+ -p no:markdown
+ # pytest-sugar undoes everything that's good about pytest output
+ # and makes it hard to read logs
+ -p no:sugar
+ # pytest-xvfb automatically spawns Xvfb for every test suite,
+ # effectively forcing it even when we'd prefer the tests
+ # not to have DISPLAY at all, causing crashes sometimes
+ # and causing us to miss missing virtualx usage
+ -p no:xvfb
+ # intrusive packages that break random test suites
+ -p no:pytest-describe
+ -p no:plus
+ -p no:tavern
+ )
+ fi
+
if [[ ${EPYTEST_XDIST} ]]; then
local jobs=${EPYTEST_JOBS:-$(makeopts_jobs)}
if [[ ${jobs} -gt 1 ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-19 16:01 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-19 16:01 UTC (permalink / raw
To: gentoo-commits
commit: 2e9c80d0b20108082ee81e5c07b3779a6ddb9074
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 18 16:01:32 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 19 16:01:14 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e9c80d0
distutils-r1.eclass: Silence pydevd warnings
Set `PYDEVD_DISABLE_FILE_VALIDATION` to silence warnings about frozen
modules from dev-python/pydevd.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/33888
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 3d756eaad556..0a7b18e4a1a4 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1813,6 +1813,9 @@ distutils-r1_run_phase() {
local -x CYTHON_FORCE_REGEN=1
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
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-19 16:01 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-19 16:01 UTC (permalink / raw
To: gentoo-commits
commit: a50f2ca09542794bf87e9f3a518d88fecdc0a2fe
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 18 15:52:00 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 19 16:01:13 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a50f2ca0
python-utils-r1.eclass: Do not pass `-p xdist` w/ PYTEST_PLUGINS
Fix `epytest` with `EPYTEST_XDIST` not to pass a duplicate `-p xdist`
when `xdist.plugin` is already present in `PYTEST_PLUGINS`. Otherwise,
pytest will fail due to the plugin being loaded twice.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-utils-r1.eclass | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 80abe974f9df..1de4f325de33 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1390,10 +1390,14 @@ epytest() {
if [[ ${EPYTEST_XDIST} ]]; then
local jobs=${EPYTEST_JOBS:-$(makeopts_jobs)}
if [[ ${jobs} -gt 1 ]]; then
+ if [[ ${PYTEST_PLUGINS} != *xdist.plugin* ]]; then
+ args+=(
+ # explicitly enable the plugin, in case the ebuild was
+ # using PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ -p xdist
+ )
+ fi
args+=(
- # explicitly enable the plugin, in case the ebuild was using
- # PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- -p xdist
-n "${jobs}"
# worksteal ensures that workers don't end up idle when heavy
# jobs are unevenly distributed
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-19 11:10 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-19 11:10 UTC (permalink / raw
To: gentoo-commits
commit: 42a8beff5c20c96a315eefbc411dbeaaf2b4d242
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 19 09:45:13 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov 19 11:10:00 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42a8beff
llvm.org.eclass: Add 18.0.0_pre20231119 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 54a2427c6b4d..ad6c35848bc4 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
+ 18.0.0_pre20231119)
+ EGIT_COMMIT=5237193b87721134541f228e28edfd544a9c8ac8
+ ;;
18.0.0_pre20231111)
EGIT_COMMIT=167b598648dfcee2f23426bfa972e53f8ac16722
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-18 9:19 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2023-11-18 9:19 UTC (permalink / raw
To: gentoo-commits
commit: 0e1de47b7638be1dc913c291d7d147a839c7a21b
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 15 19:31:26 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sat Nov 18 09:19:16 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e1de47b
dist-kernel-utils.eclass: set arch to kernel for installation
Some kernel-install plugins may require locating files in the
installed kernel source tree, on e.g. amd64 they will fail to do
so if we do not use tc-arch-kernel.
sys-kernel/dkms' kernel-install plugin is an example of a
plugin that requires this fix.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/dist-kernel-utils.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index d455c88ebee1..76a2f8d48cdf 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -33,6 +33,8 @@ case ${EAPI} in
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
+inherit toolchain-funcs
+
if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
inherit secureboot
fi
@@ -135,7 +137,7 @@ dist-kernel_install_kernel() {
ebegin "Installing the kernel via installkernel"
# note: .config is taken relatively to System.map;
# initrd relatively to bzImage
- installkernel "${version}" "${image}" "${map}"
+ ARCH=$(tc-arch-kernel) installkernel "${version}" "${image}" "${map}"
eend ${?} || die -n "Installing the kernel failed"
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-18 9:19 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2023-11-18 9:19 UTC (permalink / raw
To: gentoo-commits
commit: 6a2b9c9cfb171e48f45073315e58a6fa360608f6
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 15 19:00:15 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sat Nov 18 09:19:12 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a2b9c9c
kernel-install.eclass: also cleanup uki.efi in postrm
Nowadays the name of the unified kernel image is always uki.efi,
not initrd.uefi.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index ea6ba3569a17..a0eceae8280b 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -510,7 +510,7 @@ kernel-install_pkg_postrm() {
local kernel_dir=${EROOT}/usr/src/linux-${dir_ver}
local image_path=$(dist-kernel_get_image_path)
ebegin "Removing initramfs"
- rm -f "${kernel_dir}/${image_path%/*}"/initrd{,.uefi} &&
+ rm -f "${kernel_dir}/${image_path%/*}"/{initrd,uki.efi} &&
find "${kernel_dir}" -depth -type d -empty -delete
eend ${?}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-14 14:11 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2023-11-14 14:11 UTC (permalink / raw
To: gentoo-commits
commit: 725274b578ca59a164f7837fcc546e4559ad7286
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 14 11:35:46 2023 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue Nov 14 14:11:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=725274b5
java-utils-2.eclass: record LIBDIR in package.env
Bug: https://bugs.gentoo.org/917326
Closes: https://github.com/gentoo/gentoo/pull/33821
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/java-utils-2.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index fd1f708b86b4..129402b256d5 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2451,6 +2451,9 @@ java-pkg_do_write_() {
echo "SLOT=\"${SLOT}\""
echo "CATEGORY=\"${CATEGORY}\""
echo "PVR=\"${PVR}\""
+ # Record LIBDIR so that gjl can set java.library.path
+ # accordingly. Bug #917326.
+ echo "LIBDIR=\"$(get_libdir)\""
[[ -n "${JAVA_PKG_CLASSPATH}" ]] && echo "CLASSPATH=\"${JAVA_PKG_CLASSPATH}\""
[[ -n "${JAVA_PKG_LIBRARY}" ]] && echo "LIBRARY_PATH=\"${JAVA_PKG_LIBRARY}\""
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-13 22:15 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2023-11-13 22:15 UTC (permalink / raw
To: gentoo-commits
commit: f70ca0aa2b8c06f679e05a1b0a9509af6b5ae87a
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 4 23:31:57 2023 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Mon Nov 13 22:12:47 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f70ca0aa
toolchain-funcs.eclass: Add functions to get pointer size in bytes
tc-get-ptr-size for CHOST and tc-get-build-ptr-size for CBUILD.
Closes: https://bugs.gentoo.org/328401
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 8fef764ad597..5da93063866b 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -1216,4 +1216,18 @@ tc-get-c-rtlib() {
return 0
}
+# @FUNCTION: tc-get-ptr-size
+# @RETURN: Size of a pointer in bytes for CHOST (e.g. 4 or 8).
+tc-get-ptr-size() {
+ $(tc-getCPP) -P - <<< __SIZEOF_POINTER__ ||
+ die "Could not determine CHOST pointer size"
+}
+
+# @FUNCTION: tc-get-build-ptr-size
+# @RETURN: Size of a pointer in bytes for CBUILD (e.g. 4 or 8).
+tc-get-build-ptr-size() {
+ $(tc-getBUILD_CPP) -P - <<< __SIZEOF_POINTER__ ||
+ die "Could not determine CBUILD pointer size"
+}
+
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-13 21:11 Andreas Sturmlechner
0 siblings, 0 replies; 6228+ messages in thread
From: Andreas Sturmlechner @ 2023-11-13 21:11 UTC (permalink / raw
To: gentoo-commits
commit: ed6e244887545bd2f538cd308b6b1c3b00dc8b47
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 12 10:10:15 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Nov 13 21:10:22 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed6e2448
ecm.eclass: Raise baseline Frameworks version (KFMIN) to 5.106.0
In ecm.eclass, this only affects BDEPENDs, and in practise every ebuild
making use of KFMIN in RDEPEND will set their own minimum pre-inherit.
Many KDE packages already require 5.101 at a minimum for new API and
porting away from deprecated.
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/ecm.eclass | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 76e20b0e3148..0331273faae1 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -147,13 +147,12 @@ fi
# @DEFAULT_UNSET
# @DESCRIPTION:
# Minimum version of Frameworks to require. Default value for kde-frameworks
-# is ${PV} and 5.82.0 baseline for everything else. This is not going to be
-# changed unless we also bump EAPI, which usually implies (rev-)bumping.
+# is ${PV} and 5.106.0 baseline for everything else.
# Version will also be used to differentiate between KF5/Qt5 and KF6/Qt6.
if [[ ${CATEGORY} = kde-frameworks ]]; then
: "${KFMIN:=$(ver_cut 1-2)}"
fi
-: "${KFMIN:=5.82.0}"
+: "${KFMIN:=5.106.0}"
# @ECLASS_VARIABLE: KFSLOT
# @INTERNAL
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-13 17:33 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2023-11-13 17:33 UTC (permalink / raw
To: gentoo-commits
commit: 7ce5961c15c7758c07469d080f2adf0c571598f2
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 4 21:04:03 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Mon Nov 13 17:33:53 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7ce5961c
eclass/dotnet-pkg-base.eclass: remove DOTNET_DATA and NUGET_DATA
they do not influence .NET build
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg-base.eclass | 4 ----
1 file changed, 4 deletions(-)
diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
index 9b070d9c2d59..1a9d311208e2 100644
--- a/eclass/dotnet-pkg-base.eclass
+++ b/eclass/dotnet-pkg-base.eclass
@@ -245,10 +245,6 @@ dotnet-pkg-base_setup() {
# and not rely upon this environment variable.
unset DOTNET_ROOT
- # Unset .NET and NuGet directories.
- unset DOTNET_DATA
- unset NUGET_DATA
-
DOTNET_PKG_RUNTIME="$(dotnet-pkg-base_get-runtime)"
DOTNET_PKG_CONFIGURATION="$(dotnet-pkg-base_get-configuration)"
DOTNET_PKG_OUTPUT="$(dotnet-pkg-base_get-output "${P}")"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-13 17:33 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2023-11-13 17:33 UTC (permalink / raw
To: gentoo-commits
commit: 8b7940421b07f3823e0e16a3c19ef84ccd78d285
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 4 21:01:39 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Mon Nov 13 17:33:53 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b794042
eclass/dotnet-pkg-base.eclass: mark OUTPUT_VARIABLEs
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg-base.eclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
index 35beacfebcb1..9b070d9c2d59 100644
--- a/eclass/dotnet-pkg-base.eclass
+++ b/eclass/dotnet-pkg-base.eclass
@@ -44,6 +44,7 @@ inherit edo multiprocessing nuget
# should be picked by the maintainer.
# @ECLASS_VARIABLE: DOTNET_PKG_RDEPS
+# @OUTPUT_VARIABLE
# @DESCRIPTION:
# Populated with important dependencies on .NET ecosystem packages for running
# .NET packages.
@@ -52,6 +53,7 @@ inherit edo multiprocessing nuget
DOTNET_PKG_RDEPS=""
# @ECLASS_VARIABLE: DOTNET_PKG_BDEPS
+# @OUTPUT_VARIABLE
# @DESCRIPTION:
# Populated with important dependencies on .NET ecosystem packages for building
# .NET packages.
@@ -98,6 +100,7 @@ export UseSharedCompilation=false
# @ECLASS_VARIABLE: DOTNET_PKG_RUNTIME
# @DEFAULT_UNSET
+# @OUTPUT_VARIABLE
# @DESCRIPTION:
# Sets the runtime used to build a package.
#
@@ -105,6 +108,7 @@ export UseSharedCompilation=false
# @ECLASS_VARIABLE: DOTNET_PKG_EXECUTABLE
# @DEFAULT_UNSET
+# @OUTPUT_VARIABLE
# @DESCRIPTION:
# Sets path of a "dotnet" executable.
#
@@ -112,6 +116,7 @@ export UseSharedCompilation=false
# @ECLASS_VARIABLE: DOTNET_PKG_CONFIGURATION
# @DEFAULT_UNSET
+# @OUTPUT_VARIABLE
# @DESCRIPTION:
# Configuration value passed to "dotnet" in the compile phase.
# Is either Debug or Release, depending on the "debug" USE flag.
@@ -120,6 +125,7 @@ export UseSharedCompilation=false
# @ECLASS_VARIABLE: DOTNET_PKG_OUTPUT
# @DEFAULT_UNSET
+# @OUTPUT_VARIABLE
# @DESCRIPTION:
# Path of the output directory, where the package artifacts are placed during
# the building of packages with "dotnet-pkg-base_build" function.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-13 17:33 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2023-11-13 17:33 UTC (permalink / raw
To: gentoo-commits
commit: 6f8948665ab00d073621c9d8091f33e7dc78f638
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 4 20:54:59 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Mon Nov 13 17:33:53 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f894866
eclass/dotnet-pkg-base.eclass: remove DOTNET_PKG_EXECUTABLE_PATH
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg-base.eclass | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
index 5b2d6e2dd2c1..35beacfebcb1 100644
--- a/eclass/dotnet-pkg-base.eclass
+++ b/eclass/dotnet-pkg-base.eclass
@@ -222,20 +222,18 @@ dotnet-pkg-base_setup() {
dotnet_compat_impl_path="$(type -P "${dotnet_compat_impl}")"
if [[ -n ${dotnet_compat_impl_path} ]] ; then
- DOTNET_PKG_EXECUTABLE=${dotnet_compat_impl}
- DOTNET_PKG_EXECUTABLE_PATH="${dotnet_compat_impl_path}"
-
+ 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}
+ local dotnet_spoof_path="${T}/dotnet_spoof/${DOTNET_PKG_COMPAT}"
mkdir -p "${dotnet_spoof_path}" || die
- ln -s "${DOTNET_PKG_EXECUTABLE_PATH}" "${dotnet_spoof_path}"/dotnet || 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_PKG_EXECUTABLE_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.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-11 20:23 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-11 20:23 UTC (permalink / raw
To: gentoo-commits
commit: ffa2a8dd27f6f4431d1845d8f5608c2a5f25b6c2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 11 20:15:57 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 11 20:23:32 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ffa2a8dd
llvm.org.eclass: Add 18.0.0_pre20231111 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 822fd1e4188c..54a2427c6b4d 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
+ 18.0.0_pre20231111)
+ EGIT_COMMIT=167b598648dfcee2f23426bfa972e53f8ac16722
+ ;;
18.0.0_pre20231104)
EGIT_COMMIT=83888a5404d46667647fe36d6fa510d075ed57ea
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-11 10:36 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-11 10:36 UTC (permalink / raw
To: gentoo-commits
commit: 1e2a60df78a92177ffe5ad587ff552ed3f4644d5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 11 09:24:20 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 11 10:36:31 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e2a60df
llvm.org.eclass: Remove support for old snapshots
Signed-off-by: Michał Górny <mgorny <AT> 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 c22fb243bffc..822fd1e4188c 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,15 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
18.0.0_pre20231104)
EGIT_COMMIT=83888a5404d46667647fe36d6fa510d075ed57ea
;;
- 18.0.0_pre20231025)
- EGIT_COMMIT=a7700985577694d6cc2498833f27b4fb5eeaf252
- ;;
- 18.0.0_pre20231019)
- EGIT_COMMIT=e6e90840708099425b7b69dd053634ff25d4907f
- ;;
- 18.0.0_pre20231013)
- EGIT_COMMIT=5d35273a32d239b7407338e13ed71b59174d6536
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-10 16:20 Pacho Ramos
0 siblings, 0 replies; 6228+ messages in thread
From: Pacho Ramos @ 2023-11-10 16:20 UTC (permalink / raw
To: gentoo-commits
commit: 97921642449a363c481b768e631adbda9b888e78
Author: Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 10 14:23:28 2023 +0000
Commit: Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Fri Nov 10 16:19:32 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97921642
cuda.eclass: fix typo
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>
eclass/cuda.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cuda.eclass b/eclass/cuda.eclass
index 4b5f1a3294ef..e54560197a8f 100644
--- a/eclass/cuda.eclass
+++ b/eclass/cuda.eclass
@@ -10,7 +10,7 @@
# This eclass contains functions to be used with cuda package. Currently it is
# setting and/or sanitizing NVCCFLAGS, the compiler flags for nvcc. This is
# automatically done and exported in src_prepare() or manually by calling
-# cuda_sanatize.
+# cuda_sanitize.
# @EXAMPLE:
# inherit cuda
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-10 12:17 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2023-11-10 12:17 UTC (permalink / raw
To: gentoo-commits
commit: d80fe79de48fcc28b91532281c7c8cf31b0fc320
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 8 13:24:25 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Nov 10 12:17:28 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d80fe79d
kernel-install.eclass: bump minimal dracut version
059-r4 contains the fixes to the kernel-install plugin that we need
to be able to drop a workaround in dist-kernel-utils.eclass
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-install.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 03638cd2c57b..ea6ba3569a17 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -52,7 +52,7 @@ IDEPEND="
sys-kernel/installkernel-gentoo
sys-kernel/installkernel-systemd
)
- initramfs? ( >=sys-kernel/dracut-049-r3 )"
+ initramfs? ( >=sys-kernel/dracut-059-r4 )"
# needed by objtool that is installed along with the kernel and used
# to build external modules
# NB: linux-mod.eclass also adds this dep but it's cleaner to have
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-10 12:17 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2023-11-10 12:17 UTC (permalink / raw
To: gentoo-commits
commit: ddd1fba307a8488dac469ecb6931988c7eeef61d
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 8 13:25:40 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Nov 10 12:17:29 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddd1fba3
dist-kernel-utils.eclass: drop workaround skipping dracut kernel-install
We have bumped the minimal version of dracut to 059-r4, this version
contains the fixes to the kernel-install plugin we need to prevent
the plugin from running again if the system is using uki's.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/dist-kernel-utils.eclass | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 67ae2f7b510d..d455c88ebee1 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -125,20 +125,6 @@ dist-kernel_install_kernel() {
# install the combined executable in place of kernel
image=${initrd%/*}/uki.efi
mv "${initrd}" "${image}" || die
- # We moved the generated initrd, prevent dracut from running again
- # https://github.com/dracutdevs/dracut/pull/2405
- shopt -s nullglob
- local plugins=()
- for file in "${EROOT}"/etc/kernel/install.d/*.install; do
- plugins+=( "${file}" )
- done
- for file in "${EROOT}"/usr/lib/kernel/install.d/*.install; do
- if ! has "${file##*/}" 50-dracut.install 51-dracut-rescue.install "${plugins[@]##*/}"; then
- plugins+=( "${file}" )
- fi
- done
- shopt -u nullglob
- export KERNEL_INSTALL_PLUGINS="${KERNEL_INSTALL_PLUGINS} ${plugins[@]}"
if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
# Ensure the uki is signed if dracut hasn't already done so.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-10 10:33 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-10 10:33 UTC (permalink / raw
To: gentoo-commits
commit: b60c234d49ac880d249c5c457790f1233985ad3e
Author: Siddhanth Rathod <xsiddhanthrathod <AT> gmail <DOT> com>
AuthorDate: Sat Sep 30 08:27:33 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Nov 10 10:31:25 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b60c234d
git-r3.eclass: Inroducing EVCS_STORE_DIRS var
ebuilds which calls git-r3_fetch multiple times for diffrent repos.
While EGIT_DIR stores a single repo path,
mapping all repos to such packages is currently unfeasible.
Introducing EVCS_STORE_DIRS to address this limitation.
See-Also: https://github.com/gentoo/gentoolkit/pull/33
Signed-off-by: Siddhanth Rathod <xsiddhanthrathod <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/33133
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/git-r3.eclass | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
index 83c5ab590c39..a08845364296 100644
--- a/eclass/git-r3.eclass
+++ b/eclass/git-r3.eclass
@@ -120,6 +120,14 @@ fi
# usage.
: "${EGIT_LFS_CLONE_TYPE:=shallow}"
+# @ECLASS_VARIABLE: EVCS_STORE_DIRS
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# Record of names of all the repositories directories being cloned in the git3_src.
+# This is useful in the case of ebuild that fetch multiple repos and
+# it would be used by eclean to clean them up.
+EVCS_STORE_DIRS=()
+
# @ECLASS_VARIABLE: EGIT3_STORE_DIR
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -360,6 +368,8 @@ _git-r3_set_gitdir() {
GIT_DIR=${EGIT3_STORE_DIR}/${repo_name}
+ EVCS_STORE_DIRS+=( "${GIT_DIR}" )
+
if [[ ! -d ${EGIT3_STORE_DIR} && ! ${EVCS_OFFLINE} ]]; then
(
addwrite /
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-09 2:00 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-09 2:00 UTC (permalink / raw
To: gentoo-commits
commit: b7bc44f3b35169406f0c54f86fd45c8f5d02deeb
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 9 01:58:18 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Nov 9 01:59:31 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b7bc44f3
toolchain.eclass: restore graphite for USE=jit minimal build
graphite (isl) might be used for the just-built GCC. It's easier to just
respect USE=graphite for the USE=jit minimal build in case the user passes some
graphite flags rather than try strip them out.
(The build would fail otherwise as the just-built GCC, even with --disable-bootstrap
for the JIT build, would be invoked as ./xgcc ... -fgraphite-identity ... and
error out in configure.)
Reported by ano on IRC.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index ac8b90c8c58a..60769c93877f 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1378,7 +1378,10 @@ toolchain_src_configure() {
--disable-systemtap
--enable-host-shared
--enable-languages=jit
- --without-isl
+ # Might be used for the just-built GCC. Easier to just
+ # respect USE=graphite here in case the user passes some
+ # graphite flags rather than try strip them out.
+ $(use_with graphite isl)
--without-zstd
--with-system-zlib
)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-08 7:39 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-11-08 7:39 UTC (permalink / raw
To: gentoo-commits
commit: 9756ed4ebc19571b30cb985b2151c811373edf35
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 23 19:56:05 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Nov 8 07:39:44 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9756ed4e
acct-user.eclass: Warn when the user is removed from a group
Acked-by: Mike Gilbert <floppym <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/acct-user.eclass | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index f658aa0eabc3..66a4d6667888 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -431,6 +431,22 @@ acct-user_pkg_postinst() {
opts+=( --prefix "${ROOT}" )
fi
+ local g old_groups del_groups=""
+ old_groups=$(egetgroups "${ACCT_USER_NAME}")
+ for g in ${old_groups//,/ }; do
+ has "${g}" "${groups[@]}" || del_groups+="${del_groups:+, }${g}"
+ done
+ if [[ -n ${del_groups} ]]; then
+ local override_name=${ACCT_USER_NAME^^}
+ override_name=${override_name//-/_}
+ ewarn "Removing user ${ACCT_USER_NAME} from group(s): ${del_groups}"
+ ewarn "To retain the user's group membership in the local system"
+ ewarn "config, override with ACCT_USER_${override_name}_GROUPS or"
+ ewarn "ACCT_USER_${override_name}_GROUPS_ADD in make.conf."
+ ewarn "Documentation reference:"
+ ewarn "https://wiki.gentoo.org/wiki/Practical_guide_to_the_GLEP_81_migration#Override_user_groups"
+ fi
+
elog "Updating user ${ACCT_USER_NAME}"
# usermod outputs a warning if unlocking the account would result in an
# empty password. Hide stderr in a text file and display it if usermod fails.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-08 1:50 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-11-08 1:50 UTC (permalink / raw
To: gentoo-commits
commit: ab24188fb10cedfd69188118ee2f85a6c89211fa
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 7 21:41:25 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Nov 8 01:49:42 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab24188f
toolchain.eclass: filter -Walloc-size for < GCC 14
New in GCC 14.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index bf5e5127036f..ac8b90c8c58a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1542,6 +1542,9 @@ gcc_do_filter_flags() {
-fharden-control-flow-redundancy -fno-harden-control-flow-redundancy \
-fhardcfr-skip-leaf -fhardcfr-check-exceptions \
-fhardcfr-check-returning-calls '-fhardcfr-check-noreturn-calls=*'
+
+ # New in GCC 14.
+ filter-flags -Walloc-size
else
# Makes things painfully slow and no real benefit for the compiler.
append-flags $(test-flags-CC -fno-harden-control-flow-redundancy)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-07 5:29 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-07 5:29 UTC (permalink / raw
To: gentoo-commits
commit: 5ac206714e6c2a6424c974477fe2ae8e5108da64
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 3 19:10:27 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 7 05:29:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ac20671
distutils-r1.eclass: Refactor d_e_t to permit multiple test packages
Signed-off-by: Michał Górny <mgorny <AT> 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 9dd091921391..3d69911d9209 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -610,13 +610,13 @@ distutils_enable_tests() {
[[ ${#} -eq 1 ]] || die "${FUNCNAME} takes exactly one argument: test-runner"
local test_deps=${RDEPEND}
- local test_pkg
+ local test_pkgs
case ${1} in
nose)
- test_pkg=">=dev-python/nose-1.3.7_p20221026"
+ test_pkgs='>=dev-python/nose-1.3.7_p20221026[${PYTHON_USEDEP}]'
;;
pytest)
- test_pkg=">=dev-python/pytest-7.3.1"
+ test_pkgs='>=dev-python/pytest-7.3.1[${PYTHON_USEDEP}]'
;;
setup.py)
;;
@@ -635,12 +635,12 @@ distutils_enable_tests() {
_DISTUTILS_TEST_RUNNER=${1}
python_test() { distutils-r1_python_test; }
- if [[ -n ${test_pkg} ]]; then
+ if [[ -n ${test_pkgs} ]]; then
if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
- test_deps+=" ${test_pkg}[${PYTHON_USEDEP}]"
+ test_deps+=" ${test_pkgs//'${PYTHON_USEDEP}'/${PYTHON_USEDEP}}"
else
test_deps+=" $(python_gen_cond_dep "
- ${test_pkg}[\${PYTHON_USEDEP}]
+ ${test_pkgs}
")"
fi
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-07 5:29 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-07 5:29 UTC (permalink / raw
To: gentoo-commits
commit: efb3420408bcf988abe78f92ab8aa93069dba566
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 3 19:16:30 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 7 05:29:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efb34204
distutils-r1.eclass: Add pytest-xdist dep if EPYTEST_XDIST is set
Make `distutils_enable_tests pytest` automatically add
the `dev-python/pytest-xdist` dependency if `EPYTEST_XDIST` is set.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 3 +++
eclass/python-utils-r1.eclass | 4 +++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 3d69911d9209..3d756eaad556 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -617,6 +617,9 @@ distutils_enable_tests() {
;;
pytest)
test_pkgs='>=dev-python/pytest-7.3.1[${PYTHON_USEDEP}]'
+ if [[ ${EPYTEST_XDIST} ]]; then
+ test_pkgs+=' dev-python/pytest-xdist[${PYTHON_USEDEP}]'
+ fi
;;
setup.py)
;;
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 48963728cc2f..80abe974f9df 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1311,7 +1311,9 @@ _python_check_occluded_packages() {
# @DEFAULT_UNSET
# @DESCRIPTION:
# If set to a non-empty value, enables running tests in parallel
-# via pytest-xdist plugin.
+# via pytest-xdist plugin. If this variable is set prior to calling
+# distutils_enable_tests in distutils-r1, a test dependency
+# on dev-python/pytest-xdist is added automatically.
# @ECLASS_VARIABLE: EPYTEST_JOBS
# @USER_VARIABLE
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-07 5:29 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-07 5:29 UTC (permalink / raw
To: gentoo-commits
commit: 186cdb9d71af03645861ff0cc08ded5eff5fd0c0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 3 19:13:31 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 7 05:29:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=186cdb9d
python-utils-r1.eclass: Add EPYTEST_XDIST for epytest
Add an `EPYTEST_XDIST` variable that can be used to enable running
the test suite in parallel via the dev-python/pytest-xdist plugin.
This also includes user-facing `EPYTEST_JOBS` to control the job count
independently of `MAKEOPTS`.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-utils-r1.eclass | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 4a538f9942f6..48963728cc2f 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1307,6 +1307,19 @@ _python_check_occluded_packages() {
# parameter, when calling epytest. The listed files will be entirely
# skipped from test collection.
+# @ECLASS_VARIABLE: EPYTEST_XDIST
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set to a non-empty value, enables running tests in parallel
+# via pytest-xdist plugin.
+
+# @ECLASS_VARIABLE: EPYTEST_JOBS
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Specifies the number of jobs for parallel (pytest-xdist) test runs.
+# When unset, defaults to -j from MAKEOPTS, or the current nproc.
+
# @FUNCTION: epytest
# @USAGE: [<args>...]
# @DESCRIPTION:
@@ -1371,6 +1384,22 @@ epytest() {
-p no:plus
-p no:tavern
)
+
+ if [[ ${EPYTEST_XDIST} ]]; then
+ local jobs=${EPYTEST_JOBS:-$(makeopts_jobs)}
+ if [[ ${jobs} -gt 1 ]]; then
+ args+=(
+ # explicitly enable the plugin, in case the ebuild was using
+ # PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ -p xdist
+ -n "${jobs}"
+ # worksteal ensures that workers don't end up idle when heavy
+ # jobs are unevenly distributed
+ --dist=worksteal
+ )
+ fi
+ fi
+
local x
for x in "${EPYTEST_DESELECT[@]}"; do
args+=( --deselect "${x}" )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-07 5:29 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-11-07 5:29 UTC (permalink / raw
To: gentoo-commits
commit: fbdeb1cb0ac8c9f4ee68f501485f2a4124bb05bd
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 3 19:04:33 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 7 05:29:05 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fbdeb1cb
distutils-r1.eclass: Refactor `d_e_t unittest` (NFC)
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 1cc91110dccf..9dd091921391 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -608,6 +608,8 @@ distutils_enable_tests() {
esac
[[ ${#} -eq 1 ]] || die "${FUNCNAME} takes exactly one argument: test-runner"
+
+ local test_deps=${RDEPEND}
local test_pkg
case ${1} in
nose)
@@ -619,7 +621,12 @@ distutils_enable_tests() {
setup.py)
;;
unittest)
- # dep handled below
+ # unittest-or-fail is needed in py<3.12
+ test_deps+="
+ $(python_gen_cond_dep '
+ dev-python/unittest-or-fail[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+ "
;;
*)
die "${FUNCNAME}: unsupported argument: ${1}"
@@ -628,7 +635,6 @@ distutils_enable_tests() {
_DISTUTILS_TEST_RUNNER=${1}
python_test() { distutils-r1_python_test; }
- local test_deps=${RDEPEND}
if [[ -n ${test_pkg} ]]; then
if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
test_deps+=" ${test_pkg}[${PYTHON_USEDEP}]"
@@ -637,13 +643,6 @@ distutils_enable_tests() {
${test_pkg}[\${PYTHON_USEDEP}]
")"
fi
- elif [[ ${1} == unittest ]]; then
- # unittest-or-fail is needed in py<3.12
- test_deps+="
- $(python_gen_cond_dep '
- dev-python/unittest-or-fail[${PYTHON_USEDEP}]
- ' 3.{9..11})
- "
fi
if [[ -n ${test_deps} ]]; then
IUSE+=" test"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-04 17:51 Mike Gilbert
0 siblings, 0 replies; 6228+ messages in thread
From: Mike Gilbert @ 2023-11-04 17:51 UTC (permalink / raw
To: gentoo-commits
commit: 3dae41abc9ea4c6d642ece7ce5bc54c0548b56a5
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 2 15:04:07 2023 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat Nov 4 17:25:56 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3dae41ab
toolchain-funcs.eclass: tc-ld-force-bfd: unset LD before calling tc-getLD
The previous logic would fail with common values of LD set by the user:
LD="ld.lld" -> LD="ld.lld.bfd"
LD="ld.gold" -> LD="ld.gold.bfd"
LD="mold" -> LD="mold.bfd"
It makes more sense to ignore the user's LD setting and use the default
value given by tc-getLD.
If the user doesn't have binutils installed, the "type -P" check will still
fail and LD will be unaltered.
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 4559894ca04a..8fef764ad597 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -534,10 +534,9 @@ tc-ld-force-bfd() {
ewarn "Forcing usage of the BFD linker"
# Set up LD to point directly to bfd if it's available.
- local ld=$(tc-getLD "$@")
- # We need to extract the first word in case there are flags appended
- # to its value (like multilib), bug #545218.
- local bfd_ld="${ld%% *}.bfd"
+ # Unset LD first so we get the default value from tc-getLD.
+ local ld=$(unset LD; tc-getLD "$@")
+ local bfd_ld="${ld}.bfd"
local path_ld=$(type -P "${bfd_ld}" 2>/dev/null)
[[ -e ${path_ld} ]] && export LD=${bfd_ld}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-01 8:11 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-11-01 8:11 UTC (permalink / raw
To: gentoo-commits
commit: 017bff0a540eab67bd9657d4455f13a62dbcca28
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 1 08:07:13 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 1 08:10:42 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=017bff0a
linux-mod-r1.eclass: fix DEPMOD override for kernel 6.6
Not necessary, but also change STRIP while at it for parity.
Closes: https://bugs.gentoo.org/916587
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/linux-mod-r1.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 2a3dde6a3101..858fb0628070 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -1161,8 +1161,8 @@ _modules_set_makeargs() {
# eclass handle strip, sign, compress, and depmod (CONFIG_ should
# have no impact on building, only used by Makefile.modinst)
CONFIG_MODULE_{SIG_ALL,COMPRESS_{GZIP,XZ,ZSTD}}=
- DEPMOD=:
- STRIP=:
+ DEPMOD=true #916587
+ STRIP=true
)
if [[ ! ${MODULES_I_WANT_FULL_CONTROL} ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-31 19:55 Mike Gilbert
0 siblings, 0 replies; 6228+ messages in thread
From: Mike Gilbert @ 2023-10-31 19:55 UTC (permalink / raw
To: gentoo-commits
commit: ae2c13bac13880dac42851e25968073d99238391
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 31 18:03:30 2023 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Tue Oct 31 19:55:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae2c13ba
verify-sig.eclass: prepend BROOT to VERIFY_SIG_OPENPGP_KEY_PATH
PMS does not allow use of BROOT in global scope, so move the BROOT logic
into the relevant functions.
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
eclass/verify-sig.eclass | 37 +++++++++++++++++++++++++++----------
1 file changed, 27 insertions(+), 10 deletions(-)
diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass
index bb847bb80cc6..0397152fd628 100644
--- a/eclass/verify-sig.eclass
+++ b/eclass/verify-sig.eclass
@@ -87,6 +87,8 @@ esac
# when using default src_unpack. Alternatively, the key path can be
# passed directly to the verification functions.
#
+# The value of BROOT will be prepended to this path automatically.
+#
# NB: this variable is also used for non-OpenPGP signatures. The name
# contains "OPENPGP" for historical reasons.
@@ -119,10 +121,15 @@ esac
verify-sig_verify_detached() {
local file=${1}
local sig=${2}
- local key=${3:-${VERIFY_SIG_OPENPGP_KEY_PATH}}
+ local key=${3}
- [[ -n ${key} ]] ||
- die "${FUNCNAME}: no key passed and VERIFY_SIG_OPENPGP_KEY_PATH unset"
+ if [[ -z ${key} ]]; then
+ if [[ -z ${VERIFY_SIG_OPENPGP_KEY_PATH} ]]; then
+ die "${FUNCNAME}: no key passed and VERIFY_SIG_OPENPGP_KEY_PATH unset"
+ else
+ key="${BROOT}${VERIFY_SIG_OPENPGP_KEY_PATH}"
+ fi
+ fi
local extra_args=()
[[ ${VERIFY_SIG_OPENPGP_KEY_REFRESH} == yes ]] || extra_args+=( -R )
@@ -182,10 +189,15 @@ verify-sig_verify_detached() {
verify-sig_verify_message() {
local file=${1}
local output_file=${2}
- local key=${3:-${VERIFY_SIG_OPENPGP_KEY_PATH}}
+ local key=${3}
- [[ -n ${key} ]] ||
- die "${FUNCNAME}: no key passed and VERIFY_SIG_OPENPGP_KEY_PATH unset"
+ if [[ -z ${key} ]]; then
+ if [[ -z ${VERIFY_SIG_OPENPGP_KEY_PATH} ]]; then
+ die "${FUNCNAME}: no key passed and VERIFY_SIG_OPENPGP_KEY_PATH unset"
+ else
+ key="${BROOT}${VERIFY_SIG_OPENPGP_KEY_PATH}"
+ fi
+ fi
local extra_args=()
[[ ${VERIFY_SIG_OPENPGP_KEY_REFRESH} == yes ]] || extra_args+=( -R )
@@ -313,7 +325,7 @@ _gpg_verify_signed_checksums() {
local checksum_file=${1}
local algo=${2}
local files=${3}
- local key=${4:-${VERIFY_SIG_OPENPGP_KEY_PATH}}
+ local key=${4}
verify-sig_verify_unsigned_checksums - "${algo}" "${files}" < <(
verify-sig_verify_message "${checksum_file}" - "${key}"
@@ -336,10 +348,15 @@ verify-sig_verify_signed_checksums() {
local algo=${2}
local files=()
read -r -d '' -a files <<<"${3}"
- local key=${4:-${VERIFY_SIG_OPENPGP_KEY_PATH}}
+ local key=${4}
- [[ -n ${key} ]] ||
- die "${FUNCNAME}: no key passed and VERIFY_SIG_OPENPGP_KEY_PATH unset"
+ if [[ -z ${key} ]]; then
+ if [[ -z ${VERIFY_SIG_OPENPGP_KEY_PATH} ]]; then
+ die "${FUNCNAME}: no key passed and VERIFY_SIG_OPENPGP_KEY_PATH unset"
+ else
+ key="${BROOT}${VERIFY_SIG_OPENPGP_KEY_PATH}"
+ fi
+ fi
case ${VERIFY_SIG_METHOD} in
openpgp)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-30 18:55 Mike Gilbert
0 siblings, 0 replies; 6228+ messages in thread
From: Mike Gilbert @ 2023-10-30 18:55 UTC (permalink / raw
To: gentoo-commits
commit: ba4ac01d12927b6d4ae155fc2f765e572ee76909
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 30 18:54:08 2023 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Oct 30 18:54:08 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba4ac01d
meson.eclass: depend on >=dev-util/meson-1.2.1
Bug: https://bugs.gentoo.org/916536
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
eclass/meson.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index 4757f3fa5eef..c33f4ea208a7 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -43,7 +43,7 @@ _MESON_ECLASS=1
inherit multiprocessing ninja-utils python-utils-r1 toolchain-funcs
-BDEPEND=">=dev-util/meson-0.62.2
+BDEPEND=">=dev-util/meson-1.2.1
${NINJA_DEPEND}
dev-util/meson-format-array
"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-29 3:53 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-29 3:53 UTC (permalink / raw
To: gentoo-commits
commit: da57ae50e3100762a8791a9d5eaaf8e088866e9c
Author: Matoro Mahri <matoro_gentoo <AT> matoro <DOT> tk>
AuthorDate: Sun Oct 29 03:00:49 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct 29 03:52:11 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da57ae50
toolchain-funcs.eclass: add detection for arc
ARC is bi-endian. Assumes ARCH=arc. No plans to add profiles or
keywords to official tree.
Signed-off-by: Matoro Mahri <matoro_gentoo <AT> matoro.tk>
Closes: https://github.com/gentoo/gentoo/pull/33554
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 8398ee004a7d..4559894ca04a 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -648,6 +648,7 @@ tc-ninja_magic_to_arch() {
case ${host} in
aarch64*) echo arm64;;
alpha*) echo alpha;;
+ arc*) echo arc;;
arm*) echo arm;;
avr*) _tc_echo_kernel_alias avr32 avr;;
bfin*) _tc_echo_kernel_alias blackfin bfin;;
@@ -736,6 +737,8 @@ tc-endian() {
aarch64*be) echo big;;
aarch64) echo little;;
alpha*) echo little;;
+ arc*b*) echo big;;
+ arc*) echo little;;
arm*b*) echo big;;
arm*) echo little;;
cris*) echo little;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-27 3:33 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-27 3:33 UTC (permalink / raw
To: gentoo-commits
commit: 52f4e8653f56ce713659dfe7880b5c272cc5a817
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 27 03:33:15 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 27 03:33:15 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52f4e865
toolchain.eclass: only pass -fno-harden-control-flow-redundancy for new enough GCC too
Even if it's OK for the stage1 compiler, it may not be later.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b2d5a62165a6..bf5e5127036f 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1542,11 +1542,11 @@ gcc_do_filter_flags() {
-fharden-control-flow-redundancy -fno-harden-control-flow-redundancy \
-fhardcfr-skip-leaf -fhardcfr-check-exceptions \
-fhardcfr-check-returning-calls '-fhardcfr-check-noreturn-calls=*'
+ else
+ # Makes things painfully slow and no real benefit for the compiler.
+ append-flags $(test-flags-CC -fno-harden-control-flow-redundancy)
fi
- # Makes things painfully slow and no real beenfit for the compiler.
- append-flags $(test-flags-CC -fno-harden-control-flow-redundancy)
-
# Please use USE=lto instead (bug #906007).
filter-lto
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-26 21:55 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-26 21:55 UTC (permalink / raw
To: gentoo-commits
commit: 7b8bd09d4c674fdbf253b1997930ebcc2f958936
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 26 21:54:43 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 26 21:54:54 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b8bd09d
flag-o-matic.eclass: allow -fno-harden-control-flow-redundancy too
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 382573b80679..58a14178f38a 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -57,8 +57,8 @@ _setup-allowed-flags() {
-fbounds-check -fbounds-checking
-fno-PIE -fno-pie -nopie -no-pie
-fharden-compares -fharden-conditional-branches
- -fharden-control-flow-redundancy -fhardcfr-skip-leaf
- -fhardcfr-check-exceptions -fhardcfr-check-returning-calls
+ -fharden-control-flow-redundancy -fno-harden-control-flow-redundancy
+ -fhardcfr-skip-leaf -fhardcfr-check-exceptions -fhardcfr-check-returning-calls
'-fhardcfr-check-noreturn-calls=*'
# Spectre mitigations, bug #646076
'-mindirect-branch=*'
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-26 16:48 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-26 16:48 UTC (permalink / raw
To: gentoo-commits
commit: e51546df7ff0b4f452c0f4291de23fa083f3fa76
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 26 16:46:27 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 26 16:47:26 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e51546df
toolchain.eclass: pass -fno-control-flow-redundancy, filter flags for older compilers too
If we're *building* an older GCC, then these flags won't be supported later
on during the boostrap process, so filter them out.
Also, pass -fno-control-flow-redundancy given it makes the compiler unbearably
slow (on a 3950x, it went from 2.5hours for pgo+lto+checking to 6+ hours) and it
doesn't really benefit us there anyway.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 8df8b506b0b1..4fd884f5f0bc 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1535,6 +1535,18 @@ gcc_do_filter_flags() {
fi
fi
+
+ if ver_test -lt 13.6 ; then
+ # These aren't supported by the just-built compiler either.
+ filter-flags -fharden-compares -fharden-conditional-branches \
+ -fharden-control-flow-redundancy -fhardcfr-skip-leaf \
+ -fhardcfr-check-exceptions -fhardcfr-check-returning-calls \
+ '-fhardcfr-check-noreturn-calls=*'
+ fi
+
+ # Makes things painfully slow and no real beenfit for the compiler.
+ append-flags $(test-flags-CC -fno-harden-control-flow-redundancy)
+
# Please use USE=lto instead (bug #906007).
filter-lto
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-26 2:10 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-10-26 2:10 UTC (permalink / raw
To: gentoo-commits
commit: 7c702a1f77d8cdaaf7eb62c95b9bdeda501dce66
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 25 18:57:30 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct 26 02:10:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c702a1f
llvm.org.eclass: Add 18.0.0_pre20231025 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 b1071c15aba0..ed37d1c2f563 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
+ 18.0.0_pre20231025)
+ EGIT_COMMIT=a7700985577694d6cc2498833f27b4fb5eeaf252
+ ;;
18.0.0_pre20231019)
EGIT_COMMIT=e6e90840708099425b7b69dd053634ff25d4907f
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-26 0:41 Marek Szuba
0 siblings, 0 replies; 6228+ messages in thread
From: Marek Szuba @ 2023-10-26 0:41 UTC (permalink / raw
To: gentoo-commits
commit: bca9c5de6eca0699684850600f3725eb131dfd65
Author: Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 26 00:39:43 2023 +0000
Commit: Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Thu Oct 26 00:39:43 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bca9c5de
cmake.eclass: do not mention media-gfx/gmic in comments, it no longer uses CMake
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>
eclass/cmake.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index bbab6a8af1ff..10749e9a2f31 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -364,7 +364,7 @@ cmake_src_prepare() {
if [[ ${EAPI} == 7 ]]; then
pushd "${S}" > /dev/null || die # workaround from cmake-utils
# in EAPI-8, we use current working directory instead, bug #704524
- # esp. test with 'special' pkgs like: app-arch/brotli, media-gfx/gmic, net-libs/quiche
+ # esp. test with 'special' pkgs like: app-arch/brotli, net-libs/quiche
fi
_cmake_check_build_dir
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-23 8:36 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2023-10-23 8:36 UTC (permalink / raw
To: gentoo-commits
commit: 7c9bacebd7254491a72e633b523feacfec72d5ec
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 23 08:34:55 2023 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Mon Oct 23 08:34:55 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c9baceb
ghc-package.eclass: fix "unknown keyword @AUTHOR:" eclass-to-manpage error
AUTHOR has to be before SUPPORTED_EAPIS, otherwise eclass-to-manpage
reports:
ghc-package.eclass:
error:8: ghc-package.eclass: unknown keyword @AUTHOR:
Fixes: 356bdc36a6bd ("ghc-package.eclass: Sync from ::haskell")
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/ghc-package.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/ghc-package.eclass b/eclass/ghc-package.eclass
index 5bd51c0f41ac..66a14ca971ba 100644
--- a/eclass/ghc-package.eclass
+++ b/eclass/ghc-package.eclass
@@ -1,12 +1,12 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ghc-package.eclass
# @MAINTAINER:
# "Gentoo's Haskell Language team" <haskell@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
# @AUTHOR:
# Original Author: Andres Loeh <kosmikus@gentoo.org>
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: This eclass helps with the Glasgow Haskell Compiler's package configuration utility.
# @DESCRIPTION:
# Helper eclass to handle ghc installation/upgrade/deinstallation process.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-22 19:14 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-10-22 19:14 UTC (permalink / raw
To: gentoo-commits
commit: d383331bd93780571c7ba9443039d80c08fa35f6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 22 18:46:10 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct 22 19:14:42 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d383331b
python-utils-r1.eclass: Disable pytest-describe by default
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-utils-r1.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index dc6645332703..4a538f9942f6 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1367,6 +1367,7 @@ epytest() {
# and causing us to miss missing virtualx usage
-p no:xvfb
# intrusive packages that break random test suites
+ -p no:pytest-describe
-p no:plus
-p no:tavern
)
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-22 19:14 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-10-22 19:14 UTC (permalink / raw
To: gentoo-commits
commit: b35c6163b14dcb9553f908b07a8f6920769a7b38
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 19 17:41:01 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct 22 19:14:41 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b35c6163
python-utils-r1.eclass: Disable pytest-plus by default
Disable the intrusive dev-python/pytest-plus plugin by default as it
is breaking random test suites.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-utils-r1.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 50aeabae1c17..dc6645332703 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1366,7 +1366,8 @@ epytest() {
# not to have DISPLAY at all, causing crashes sometimes
# and causing us to miss missing virtualx usage
-p no:xvfb
- # tavern is intrusive and breaks test suites of various packages
+ # intrusive packages that break random test suites
+ -p no:plus
-p no:tavern
)
local x
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-22 9:49 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-10-22 9:49 UTC (permalink / raw
To: gentoo-commits
commit: 2ab9bda58e464656cdf1e31b7e8b293cf1ec0caf
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 22 09:47:46 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 22 09:47:46 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ab9bda5
elisp-common.eclass: Set no-native-compile in generated files
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/elisp-common.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 72dbb97f33e5..bab7250a6818 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -333,6 +333,7 @@ elisp-make-autoload-file() {
;; Local ${null}Variables:
;; version-control: never
;; no-byte-compile: t
+ ;; no-native-compile: t
;; no-update-autoloads: t
;; End:
@@ -725,6 +726,7 @@ elisp-site-regen() {
;; Local ${null}Variables:
;; no-byte-compile: t
+ ;; no-native-compile: t
;; buffer-read-only: t
;; End:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-21 17:46 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-21 17:46 UTC (permalink / raw
To: gentoo-commits
commit: b81724af911b1c7f0473cd850ab29c74733c5f30
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 21 17:32:38 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct 21 17:32:43 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b81724af
flag-o-matic.eclass: add '-mfpmath=*'
We set this for x86 multilib profiles.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index d7c1fce4b208..382573b80679 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -47,7 +47,7 @@ setup-allowed-flags() {
# Note: shell globs and character lists are allowed
_setup-allowed-flags() {
ALLOWED_FLAGS=(
- -pipe -O '-O[123szg]' '-mcpu=*' '-march=*' '-mtune=*'
+ -pipe -O '-O[123szg]' '-mcpu=*' '-march=*' '-mtune=*' '-mfpmath=*'
-flto '-flto=*' -fno-lto
# Hardening flags
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-21 17:46 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-21 17:46 UTC (permalink / raw
To: gentoo-commits
commit: e0c3236a6e73fe4cec5361d0f998b438d8152563
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 21 17:27:48 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct 21 17:27:48 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0c3236a
flag-o-matic.eclass: add '-mharden-sls=*'
Spectre-style mitigation.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index a899afdb4f18..d7c1fce4b208 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -65,6 +65,7 @@ _setup-allowed-flags() {
-mindirect-branch-register
'-mfunction-return=*'
-mretpoline
+ '-mharden-sls=*'
'-mbranch-protection=*'
# Misc
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-21 17:06 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-21 17:06 UTC (permalink / raw
To: gentoo-commits
commit: eb7bf2ea4b01fd24f0e0549fa1fad87fd5f2d83a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 21 17:05:18 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct 21 17:06:13 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb7bf2ea
flag-o-matic.eclass: add -mpreferred-stack-boundary=*, -mincoming-stack-boundary=*
Wine may use this and it's in the same league as -mstackrealign in that
it affects ABI.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 0c56ac5b6bf4..a899afdb4f18 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -137,6 +137,8 @@ _setup-allowed-flags() {
# Allow explicit stack realignment to run non-conformant
# binaries: bug #677852
-mstackrealign
+ '-mpreferred-stack-boundary=*'
+ '-mincoming-stack-boundary=*'
)
ALLOWED_FLAGS+=(
# Clang-only
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-21 16:59 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-21 16:59 UTC (permalink / raw
To: gentoo-commits
commit: 8dc7a7e2b4735a778b02fd89cb056f22381458e5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 21 16:58:46 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct 21 16:59:18 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8dc7a7e2
flag-o-matic.eclass: allow hardened compare/control flow flags
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index c0b042d5348d..0c56ac5b6bf4 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -56,6 +56,10 @@ _setup-allowed-flags() {
'-fcf-protection=*'
-fbounds-check -fbounds-checking
-fno-PIE -fno-pie -nopie -no-pie
+ -fharden-compares -fharden-conditional-branches
+ -fharden-control-flow-redundancy -fhardcfr-skip-leaf
+ -fhardcfr-check-exceptions -fhardcfr-check-returning-calls
+ '-fhardcfr-check-noreturn-calls=*'
# Spectre mitigations, bug #646076
'-mindirect-branch=*'
-mindirect-branch-register
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-20 20:07 Matt Turner
0 siblings, 0 replies; 6228+ messages in thread
From: Matt Turner @ 2023-10-20 20:07 UTC (permalink / raw
To: gentoo-commits
commit: c06c0d7fe31a4810a799676607c1b116c50d07b7
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 20 20:00:38 2023 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Fri Oct 20 20:07:47 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c06c0d7f
xorg-3.eclass: Fetch xcb-util-* distfiles from lib/
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
eclass/xorg-3.eclass | 1 -
1 file changed, 1 deletion(-)
diff --git a/eclass/xorg-3.eclass b/eclass/xorg-3.eclass
index e0b26acca0b0..a9825fc31132 100644
--- a/eclass/xorg-3.eclass
+++ b/eclass/xorg-3.eclass
@@ -93,7 +93,6 @@ if [[ ${XORG_MODULE} == auto ]]; then
x11-misc/*|x11-themes/*) XORG_MODULE=util/ ;;
x11-base/*) XORG_MODULE=xserver/ ;;
x11-drivers/*) XORG_MODULE=driver/ ;;
- x11-libs/xcb-util-*) XORG_MODULE=xcb/ ;;
x11-libs/*) XORG_MODULE=lib/ ;;
*) XORG_MODULE= ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-19 19:50 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-10-19 19:50 UTC (permalink / raw
To: gentoo-commits
commit: 8cabef1ed2e020e18a17c42997c5fe073ed9ffb3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 19 18:52:15 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct 19 19:50:19 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8cabef1e
llvm.org.eclass: Add 18.0.0_pre20231019 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 91ab4ca76b77..b1071c15aba0 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
+ 18.0.0_pre20231019)
+ EGIT_COMMIT=e6e90840708099425b7b69dd053634ff25d4907f
+ ;;
18.0.0_pre20231013)
EGIT_COMMIT=5d35273a32d239b7407338e13ed71b59174d6536
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-19 19:50 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-10-19 19:50 UTC (permalink / raw
To: gentoo-commits
commit: ceda2784e17618d1669c074f1189c04fa36a8ed9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 19 15:15:16 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct 19 19:50:17 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ceda2784
llvm.org.eclass: Remove old snapshots
Signed-off-by: Michał Górny <mgorny <AT> 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 9bffc118f265..91ab4ca76b77 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,12 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
18.0.0_pre20231013)
EGIT_COMMIT=5d35273a32d239b7407338e13ed71b59174d6536
;;
- 18.0.0_pre20231002)
- EGIT_COMMIT=39fec5457c0925bd39f67f63fe17391584e08258
- ;;
- 18.0.0_pre20230925)
- EGIT_COMMIT=f5cb9cb59d7c9c6ac3d5c41c677f68c9b75d34a3
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-19 18:22 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2023-10-19 18:22 UTC (permalink / raw
To: gentoo-commits
commit: 0912295778c330339aa22de4e7635d3f26b983d4
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Oct 18 09:37:15 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Oct 19 18:20:26 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09122957
java-pkg-simple.eclass: improve description of "generated-test"
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/33389
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-simple.eclass | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index ea4833727ea1..d37ea93e0269 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -485,8 +485,10 @@ java-pkg-simple_src_install() {
# @FUNCTION: java-pkg-simple_src_test
# @DESCRIPTION:
# src_test for simple single java jar file.
-# It will perform test with frameworks that are defined in
-# ${JAVA_TESTING_FRAMEWORKS}.
+# It will compile test classes from test sources using ejavac and perform tests
+# with frameworks that are defined in ${JAVA_TESTING_FRAMEWORKS}.
+# test-classes compiled with alternative compilers like groovyc need to be placed
+# in the "generated-test" directory.
java-pkg-simple_src_test() {
local test_sources=test_sources.lst classes=target/test-classes moduleinfo
local tests_to_run classpath
@@ -502,12 +504,13 @@ java-pkg-simple_src_test() {
fi
# https://bugs.gentoo.org/906311
+ # This will remove target/test-classes. Do not put any test-classes there manually.
rm -rf ${classes} || die
# create the target directory
mkdir -p ${classes} || die "Could not create target directory for testing"
- # generated test classes should get generated into "generated-test" directory
+ # generated test classes should get compiled into "generated-test" directory
if [[ -d generated-test ]]; then
cp -r generated-test/* "${classes}" || die "cannot copy generated test classes"
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-19 18:22 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2023-10-19 18:22 UTC (permalink / raw
To: gentoo-commits
commit: 79bda3c19d4c3dfd16891f93dcce917df5a2a52d
Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 19 18:22:45 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Oct 19 18:22:45 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79bda3c1
java-pkg-simple.eclass: improved description
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-simple.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index d37ea93e0269..143efa707751 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -488,7 +488,8 @@ java-pkg-simple_src_install() {
# It will compile test classes from test sources using ejavac and perform tests
# with frameworks that are defined in ${JAVA_TESTING_FRAMEWORKS}.
# test-classes compiled with alternative compilers like groovyc need to be placed
-# in the "generated-test" directory.
+# in the "generated-test" directory as content of this directory is preserved,
+# whereas content of target/test-classes is removed.
java-pkg-simple_src_test() {
local test_sources=test_sources.lst classes=target/test-classes moduleinfo
local tests_to_run classpath
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-19 18:10 Mike Pagano
0 siblings, 0 replies; 6228+ messages in thread
From: Mike Pagano @ 2023-10-19 18:10 UTC (permalink / raw
To: gentoo-commits
commit: 73b4fb45a86e8918529e29ee61e6a54e9034a064
Author: Mike Pagano <mpagano <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 19 18:10:22 2023 +0000
Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org>
CommitDate: Thu Oct 19 18:10:22 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73b4fb45
kernel-2.eclass: Allow ebuilds to set their own SLOT
Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>
eclass/kernel-2.eclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index 8bab2b482cf7..5ecd97c173ff 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -304,7 +304,6 @@ RESTRICT="binchecks strip"
# set LINUX_HOSTCFLAGS if not already set
: "${LINUX_HOSTCFLAGS:="-Wall -Wstrict-prototypes -Os -fomit-frame-pointer -I${S}/include"}"
-
# @FUNCTION: debug-print-kernel2-variables
# @USAGE:
# @DESCRIPTION:
@@ -665,7 +664,7 @@ if [[ ${ETYPE} == sources ]]; then
virtual/pkgconfig
)"
- SLOT="${PVR}"
+ SLOT=${SLOT:=${PVR}}
DESCRIPTION="Sources based on the Linux Kernel"
IUSE="symlink build"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-19 12:21 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2023-10-19 12:21 UTC (permalink / raw
To: gentoo-commits
commit: 93dc2a4eef424f91fcd56711972b597c28e798ca
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 19 12:06:30 2023 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Thu Oct 19 12:21:04 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93dc2a4e
apache-2.eclass: update rustls-ffi minimal version
This version matches the requirement for apache 2.0.48 and is also
compatible with apache 2.0.47.
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/apache-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/apache-2.eclass b/eclass/apache-2.eclass
index 5ff17fd8d228..4da2e151fed2 100644
--- a/eclass/apache-2.eclass
+++ b/eclass/apache-2.eclass
@@ -162,7 +162,7 @@ RDEPEND="
apache2_modules_session_crypto? (
dev-libs/apr-util[openssl]
)
- apache2_modules_tls? ( net-libs/rustls-ffi:= )
+ apache2_modules_tls? ( >=net-libs/rustls-ffi-0.9.2:= )
gdbm? ( sys-libs/gdbm:= )
ldap? ( net-nds/openldap:= )
selinux? ( sec-policy/selinux-apache )
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-18 7:50 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2023-10-18 7:50 UTC (permalink / raw
To: gentoo-commits
commit: 95fbb322960db274e981b5632dc9a01e540ee8f6
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Mon Feb 27 12:26:24 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Oct 18 07:46:32 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95fbb322
java-utils-2.eclass: allow etestng to run testng.xml
The etestng function is presently limited to running test classes and
has no option for running testng.xml files. Using testng.xml in an
ebuild requires manual coding in src_test().
This change adds a switch to the etestng function which allows running
default src_test() with either testng.xml files or test classes.
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 92e02e3085b1..1efb655acf71 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -1886,7 +1886,7 @@ ejunit4() {
# @CODE
# $1 - -cp or -classpath
# $2 - the classpath passed to it
-# $@ - test classes for testng to run.
+# $@ - test classes or testng.xml for testng to run.
# @CODE
etestng() {
debug-print-function ${FUNCNAME} $*
@@ -1910,6 +1910,7 @@ etestng() {
-cp ${cp}
-Djava.io.tmpdir="${T}"
-Djava.awt.headless=true
+ -Dtest.resources.dir="${JAVA_TEST_RESOURCE_DIRS}"
${JAVA_TEST_EXTRA_ARGS[@]}
${runner}
${JAVA_TEST_RUNNER_EXTRA_ARGS[@]}
@@ -1922,7 +1923,11 @@ etestng() {
)
fi
- args+=( -testclass ${tests} )
+ if [[ "${test%.xml}" == "${test}" ]]; then
+ args+=( -testclass ${tests} )
+ else
+ args+=( ${tests%,} )
+ fi
debug-print "java ${args[@]}"
java ${args[@]} || die "Running TestNG failed."
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-18 7:50 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2023-10-18 7:50 UTC (permalink / raw
To: gentoo-commits
commit: 9ad2683b86538e21a2d7411fa71058ac534c23de
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Mar 1 19:52:59 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Oct 18 07:46:32 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ad2683b
java-utils-2.eclass: avoid reverse dependency for dev-java/testng
This change depends on the correlating change on the
java-pkg-simple.eclass.
For testing dev-java/testng before having it installed it is not
possible to use java-pkg_getjars. This change adds a condition so
that this case uses the freshly compiled testng.jar.
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/29733
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-utils-2.eclass | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 1efb655acf71..fd1f708b86b4 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -1892,7 +1892,11 @@ etestng() {
debug-print-function ${FUNCNAME} $*
local runner=org.testng.TestNG
- local cp=$(java-pkg_getjars --with-dependencies testng)
+ if [[ ${PN} != testng ]]; then
+ local cp=$(java-pkg_getjars --with-dependencies testng)
+ else
+ local cp=testng.jar
+ fi
local tests
if [[ ${1} = -cp || ${1} = -classpath ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-18 7:50 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2023-10-18 7:50 UTC (permalink / raw
To: gentoo-commits
commit: 5f231202e9ad571835518f33075340ee2f60c7d8
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Mon Oct 9 17:57:42 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Oct 18 07:46:32 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f231202
java-pkg-simple.eclass: avoid removal of generated test classes
Solution of bug #906311 removes all test classes at beginning of
src_test() including test classes generated from the ebuild.
With this commit generated test classes will be copied from the new
generated-test directory into target/test-classes.
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-simple.eclass | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index 02200f10cb8d..98affc522295 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -506,6 +506,11 @@ java-pkg-simple_src_test() {
# create the target directory
mkdir -p ${classes} || die "Could not create target directory for testing"
+ # generated test classes should get generated into "generated-test" directory
+ if [[ -d generated-test ]]; then
+ cp -r generated-test/* "${classes}" || die "cannot copy generated test classes"
+ fi
+
# get classpath
classpath="${classes}:${JAVA_JAR_FILENAME}"
java-pkg-simple_getclasspath
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-18 7:50 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2023-10-18 7:50 UTC (permalink / raw
To: gentoo-commits
commit: 1a221212ce4d283e10fe68964bcf9ea86638b51e
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Mar 1 19:18:23 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Oct 18 07:46:32 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a221212
java-pkg-simple.eclass: avoid reverse dependency for dev-java/testng
Presently, when using testng in JAVA_TESTING_FRAMEWORKS, it gets added
to test dependencies. Emerging dev-java/testng with USE=test would lead
to a reverse dependency on itself.
This change allows emerging / testing testng with the ebuild specifying
JAVA_TESTING_FRAMEWORKS="testng" without such reverse dependency.
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-simple.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index 98affc522295..ea4833727ea1 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -46,7 +46,8 @@ if has test ${JAVA_PKG_IUSE}; then
test_deps+=" amd64? ( dev-util/pkgdiff
dev-util/japi-compliance-checker )";;
testng)
- test_deps+=" dev-java/testng:0";;
+ [[ ${PN} != testng ]] && \
+ test_deps+=" dev-java/testng:0";;
esac
done
[[ ${test_deps} ]] && DEPEND="test? ( ${test_deps} )"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-18 6:44 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-18 6:44 UTC (permalink / raw
To: gentoo-commits
commit: a18de479c55e6a3f1a2400a1ddebef3eaad1ab30
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 18 06:43:45 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Oct 18 06:44:13 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a18de479
qt5-build.eclass: guard -Wl,--undefined-version with tc-ld-is-lld
Older binutils doesn't support this flag, so just guard it to make life
easier for people.
Bug: https://bugs.gentoo.org/915203
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/qt5-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
index e9cb2f50fd3a..db333767fae6 100644
--- a/eclass/qt5-build.eclass
+++ b/eclass/qt5-build.eclass
@@ -233,7 +233,7 @@ qt5-build_src_configure() {
# Workaround for bug #915203
# Upstream: https://bugreports.qt.io/browse/QTBUG-111514
- if [[ ${PN} != qtcore ]]; then
+ if [[ ${PN} != qtcore ]] && tc-ld-is-lld ; then
append-ldflags -Wl,--undefined-version
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-16 9:26 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-16 9:26 UTC (permalink / raw
To: gentoo-commits
commit: 6a4601492180cce23233e15762156e3682147936
Author: Matoro Mahri <matoro <AT> users <DOT> noreply <DOT> github <DOT> com>
AuthorDate: Sat Oct 14 22:53:53 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Oct 16 09:26:14 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a460149
perl-module.eclass: extend DIST_TEST="do" to cover make-based tests
For packages using make to run tests rather than Test::Harness,
DIST_TEST="do" is ineffective at disabling parallelization. This forces
-j1 on these packages when set.
Bug: https://bugs.gentoo.org/909051
Signed-off-by: Matoro Mahri <matoro <AT> users.noreply.github.com>
Closes: https://github.com/gentoo/gentoo/pull/33354
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/perl-module.eclass | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 32cd603c7be5..7bb02abed8c5 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -335,6 +335,7 @@ perl-module_src_test() {
local my_test_control
local my_test_verbose
+ local my_test_makeopts
[[ -n "${DIST_TEST_OVERRIDE}" ]] && ewarn "DIST_TEST_OVERRIDE is set to ${DIST_TEST_OVERRIDE}"
my_test_control=${DIST_TEST_OVERRIDE:-${DIST_TEST:-do parallel}}
@@ -344,6 +345,10 @@ perl-module_src_test() {
return 0
fi
+ if has 'do' ${my_test_control} && ! has 'parallel' ${my_test_control} ; then
+ my_test_makeopts="-j1"
+ fi
+
if has verbose ${my_test_control} ; then
my_test_verbose=1
else
@@ -383,7 +388,7 @@ perl-module_src_test() {
if [[ -f Build ]] ; then
./Build test verbose=${my_test_verbose} || die "test failed"
elif [[ -f Makefile ]] ; then
- emake test TEST_VERBOSE=${my_test_verbose}
+ emake ${my_test_makeopts} test TEST_VERBOSE=${my_test_verbose}
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-15 15:23 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-15 15:23 UTC (permalink / raw
To: gentoo-commits
commit: adb049350a5d4b15b5ee19739d9f2baed83f6acf
Author: Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Wed Oct 11 12:30:44 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct 15 15:22:41 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=adb04935
qt5-build.eclass: workaround undefined qt_version_tag (LLD 17)
Bug: https://bugreports.qt.io/browse/QTBUG-111514
Bug: https://bugs.gentoo.org/915203
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/33302
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/qt5-build.eclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
index 5e23d793915a..e9cb2f50fd3a 100644
--- a/eclass/qt5-build.eclass
+++ b/eclass/qt5-build.eclass
@@ -231,6 +231,12 @@ qt5-build_src_configure() {
qt5_tools_configure
fi
+ # Workaround for bug #915203
+ # Upstream: https://bugreports.qt.io/browse/QTBUG-111514
+ if [[ ${PN} != qtcore ]]; then
+ append-ldflags -Wl,--undefined-version
+ fi
+
qt5_foreach_target_subdir qt5_qmake
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-13 16:34 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-10-13 16:34 UTC (permalink / raw
To: gentoo-commits
commit: 5dbe5492e36a97ee169ed1490d8281691f9cc7dd
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 13 16:32:28 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Oct 13 16:34:23 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dbe5492
qt6-build.eclass: extend avx2/fma mismatch workaround to 6.6.0
6.6.0 is lacking qsimd_p.h changes that 6.5.3 had, will be in 6.6.1.
Closes: https://bugs.gentoo.org/915691
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 35a710b86545..6f002bc799ad 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -257,8 +257,8 @@ _qt6-build_match_cpu_flags() {
[[ ${intrin} ]] && flags+=( -mno-${intrin} )
done
done < <(
- # TODO: drop ver_test and ${fma} when <6.5.3 is gone
- ver_test ${PV} -ge 6.5.3 && fma= || fma=fma
+ # TODO: drop ver_test and ${fma} when <6.5.3 and 6.6.0 are gone
+ ver_test ${PV} -ge 6.5.3 && ver_test ${PV} -ne 6.6.0 && fma= || fma=fma
$(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 2
#if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
#include <x86intrin.h>
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-13 16:15 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-10-13 16:15 UTC (permalink / raw
To: gentoo-commits
commit: a5e6c642711d4ceafb22caf7dce25f39f2815230
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 13 15:50:07 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 13 15:50:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5e6c642
llvm.org.eclass: Add 18.0.0_pre20231013 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 a43cef51ef81..9bffc118f265 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
+ 18.0.0_pre20231013)
+ EGIT_COMMIT=5d35273a32d239b7407338e13ed71b59174d6536
+ ;;
18.0.0_pre20231002)
EGIT_COMMIT=39fec5457c0925bd39f67f63fe17391584e08258
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-12 15:52 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2023-10-12 15:52 UTC (permalink / raw
To: gentoo-commits
commit: ded71238070e9894083d2775677cbecf6b07da4e
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 5 19:10:18 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Thu Oct 12 15:52:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ded71238
eclass/nuget.eclass: partition dotnet-pkg_src_unpack
This enables easier usage of "nuget_link-nuget-archives"
in some special cases.
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg.eclass | 14 ++------------
eclass/nuget.eclass | 45 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+), 12 deletions(-)
diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass
index 201daf1ecce3..b4f0c053d69a 100644
--- a/eclass/dotnet-pkg.eclass
+++ b/eclass/dotnet-pkg.eclass
@@ -136,18 +136,8 @@ dotnet-pkg_pkg_setup() {
# copied into the "NUGET_PACKAGES" directory.
dotnet-pkg_src_unpack() {
nuget_link-system-nugets
-
- local archive
- for archive in ${A} ; do
- case "${archive}" in
- *.nupkg )
- nuget_link "${DISTDIR}/${archive}"
- ;;
- * )
- unpack "${archive}"
- ;;
- esac
- done
+ nuget_link-nuget-archives
+ nuget_unpack-non-nuget-archives
}
# @FUNCTION: dotnet-pkg_src_prepare
diff --git a/eclass/nuget.eclass b/eclass/nuget.eclass
index 445dcdccd331..669e21300ef2 100644
--- a/eclass/nuget.eclass
+++ b/eclass/nuget.eclass
@@ -181,6 +181,51 @@ nuget_link-system-nugets() {
done
}
+# @FUNCTION: nuget_link-nuget-archives
+# @DESCRIPTION:
+# Link NuGet packages from package source files to the "NUGET_PACKAGES"
+# directory.
+#
+# This is a complementary function to "nuget_unpack-non-nuget-archives".
+#
+# This function is used inside "dotnet-pkg_src_unpack"
+# from the "dotnet-pkg" eclass.
+nuget_link-nuget-archives() {
+ local archive
+ for archive in ${A} ; do
+ case "${archive}" in
+ *.nupkg )
+ nuget_link "${DISTDIR}/${archive}"
+ ;;
+ * )
+ :
+ ;;
+ esac
+ done
+}
+
+# @FUNCTION: nuget_unpack-non-nuget-archives
+# @DESCRIPTION:
+# Unpack all from package source files that are not NuGet packages.
+#
+# This is a complementary function to "nuget_link-nuget-archives".
+#
+# This function is used inside "dotnet-pkg_src_unpack"
+# from the "dotnet-pkg" eclass.
+nuget_unpack-non-nuget-archives() {
+ local archive
+ for archive in ${A} ; do
+ case "${archive}" in
+ *.nupkg )
+ :
+ ;;
+ * )
+ unpack "${archive}"
+ ;;
+ esac
+ done
+}
+
# @FUNCTION: nuget_donuget
# @USAGE: <nuget-path> ...
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-12 15:52 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2023-10-12 15:52 UTC (permalink / raw
To: gentoo-commits
commit: dbceb10a20c60ebea3dfce9062932cbc22526741
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 5 19:10:16 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Thu Oct 12 15:52:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbceb10a
eclass/dotnet-pkg-base.eclass: clarify test, quotes in dolauncher
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg-base.eclass | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
index e2659a829e19..5b2d6e2dd2c1 100644
--- a/eclass/dotnet-pkg-base.eclass
+++ b/eclass/dotnet-pkg-base.eclass
@@ -371,7 +371,7 @@ dotnet-pkg-base_restore_tools() {
--add-source "${NUGET_PACKAGES}"
)
- if [[ "${1}" ]] ; then
+ if [[ -n "${1}" ]] ; then
tool_restore_args+=( --configfile "${1}" )
shift
fi
@@ -434,7 +434,7 @@ dotnet-pkg-base_test() {
debug-print-function "${FUNCNAME[0]}" "${@}"
local directory
- if [[ "${1}" ]] ; then
+ if [[ -n "${1}" ]] ; then
directory="${1}"
shift
else
@@ -529,7 +529,7 @@ dotnet-pkg-base_dolauncher() {
local executable_path executable_name
- if [[ "${1}" ]] ; then
+ if [[ -n "${1}" ]] ; then
local executable_path="${1}"
shift
else
@@ -553,9 +553,9 @@ dotnet-pkg-base_dolauncher() {
# compatible with dotnet version ${DOTNET_PKG_COMPAT}.
for __dotnet_root in \\
- ${EPREFIX}/usr/$(get_libdir)/dotnet-sdk-${DOTNET_PKG_COMPAT} \\
- ${EPREFIX}/opt/dotnet-sdk-bin-${DOTNET_PKG_COMPAT} ; do
- [ -d \${__dotnet_root} ] && break
+ "${EPREFIX}/usr/$(get_libdir)/dotnet-sdk-${DOTNET_PKG_COMPAT}" \\
+ "${EPREFIX}/opt/dotnet-sdk-bin-${DOTNET_PKG_COMPAT}" ; do
+ [ -d "\${__dotnet_root}" ] && break
done
DOTNET_ROOT="\${__dotnet_root}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-12 15:52 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2023-10-12 15:52 UTC (permalink / raw
To: gentoo-commits
commit: 5029c6a4dd5faabea84022b34daa71ff7771daab
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 5 19:10:15 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Thu Oct 12 15:52:26 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5029c6a4
eclass/dotnet-pkg*: remove unnecessary auto-append of project dir
Also reorder dotnet-pkg-base_foreach-solution argument positions.
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg-base.eclass | 56 ++++++++++++++++++-------------------------
eclass/dotnet-pkg.eclass | 6 +++--
2 files changed, 27 insertions(+), 35 deletions(-)
diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
index c7f2e031daec..e2659a829e19 100644
--- a/eclass/dotnet-pkg-base.eclass
+++ b/eclass/dotnet-pkg-base.eclass
@@ -305,35 +305,37 @@ dotnet-pkg-base_info() {
}
# @FUNCTION: dotnet-pkg-base_foreach-solution
-# @USAGE: <function> [directory]
+# @USAGE: <directory> <args> ...
# @DESCRIPTION:
# Execute a function for each solution file (.sln) in a specified directory.
# This function may yield no real results because solutions are discovered
# automatically.
#
-# Optional "directory" argument defaults to the current directory path.
-#
-# Used by "dotnet-pkg_src_configure" from the "dotnet-pkg" eclass.
+# Used by "dotnet-pkg_src_configure" and "dotnet-pkg_src_test" from
+# the "dotnet-pkg" eclass.
dotnet-pkg-base_foreach-solution() {
debug-print-function "${FUNCNAME[0]}" "${@}"
+ local directory="${1}"
+ shift
+
local dotnet_solution
local dotnet_solution_name
while read -r dotnet_solution ; do
dotnet_solution_name="$(basename "${dotnet_solution}")"
- ebegin "Running \"${1}\" for solution: \"${dotnet_solution_name}\""
- "${1}" "${dotnet_solution}"
+ ebegin "Running \"${@}\" for solution: \"${dotnet_solution_name}\""
+ "${@}" "${dotnet_solution}"
eend $? "${FUNCNAME[0]}: failed for solution: \"${dotnet_solution}\"" || die
- done < <(find "${2:-.}" -maxdepth 1 -type f -name "*.sln")
+ done < <(find "${directory}" -maxdepth 1 -type f -name "*.sln")
}
# @FUNCTION: dotnet-pkg-base_restore
-# @USAGE: [directory] [args] ...
+# @USAGE: [args] ...
# @DESCRIPTION:
-# Restore the package using "dotnet restore" in a specified directory.
-#
-# Optional "directory" argument defaults to the current directory path.
+# Restore the package using "dotnet restore".
+# Restore 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.
@@ -342,14 +344,6 @@ dotnet-pkg-base_foreach-solution() {
dotnet-pkg-base_restore() {
debug-print-function "${FUNCNAME[0]}" "${@}"
- local directory
- if [[ "${1}" ]] ; then
- directory="${1}"
- shift
- else
- directory="$(pwd)"
- fi
-
local -a restore_args=(
--runtime "${DOTNET_PKG_RUNTIME}"
--source "${NUGET_PACKAGES}"
@@ -357,7 +351,7 @@ dotnet-pkg-base_restore() {
"${@}"
)
- edotnet restore "${restore_args[@]}" "${directory}"
+ edotnet restore "${restore_args[@]}"
}
# @FUNCTION: dotnet-pkg-base_restore_tools
@@ -388,11 +382,11 @@ dotnet-pkg-base_restore_tools() {
}
# @FUNCTION: dotnet-pkg-base_build
-# @USAGE: [directory] [args] ...
+# @USAGE: [args] ...
# @DESCRIPTION:
# Build the package using "dotnet build" in a specified directory.
-#
-# Optional "directory" argument defaults to the current directory path.
+# 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.
@@ -401,14 +395,6 @@ dotnet-pkg-base_restore_tools() {
dotnet-pkg-base_build() {
debug-print-function "${FUNCNAME[0]}" "${@}"
- local directory
- if [[ "${1}" ]] ; then
- directory="${1}"
- shift
- else
- directory="$(pwd)"
- fi
-
local -a build_args=(
--configuration "${DOTNET_PKG_CONFIGURATION}"
--no-restore
@@ -416,7 +402,6 @@ dotnet-pkg-base_build() {
--output "${DOTNET_PKG_OUTPUT}"
--runtime "${DOTNET_PKG_RUNTIME}"
-maxCpuCount:$(makeopts_jobs)
- "${@}"
)
if ! use debug ; then
@@ -426,7 +411,12 @@ dotnet-pkg-base_build() {
)
fi
- edotnet build "${build_args[@]}" "${directory}"
+ # And append "args" at the end.
+ build_args+=(
+ "${@}"
+ )
+
+ edotnet build "${build_args[@]}"
}
# @FUNCTION: dotnet-pkg-base_test
diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass
index 05886af8554f..201daf1ecce3 100644
--- a/eclass/dotnet-pkg.eclass
+++ b/eclass/dotnet-pkg.eclass
@@ -194,7 +194,9 @@ dotnet-pkg_src_configure() {
dotnet-pkg_foreach-project \
dotnet-pkg-base_restore "${DOTNET_PKG_RESTORE_EXTRA_ARGS[@]}"
- dotnet-pkg-base_foreach-solution dotnet-pkg-base_restore "$(pwd)"
+ dotnet-pkg-base_foreach-solution \
+ "$(pwd)" \
+ dotnet-pkg-base_restore "${DOTNET_PKG_RESTORE_EXTRA_ARGS[@]}"
}
# @FUNCTION: dotnet-pkg_src_compile
@@ -223,7 +225,7 @@ dotnet-pkg_src_compile() {
# will execute wrong or incomplete test suite. Maintainers should inspect if
# any and/or correct tests are ran.
dotnet-pkg_src_test() {
- dotnet-pkg-base_foreach-solution dotnet-pkg-base_test "$(pwd)"
+ dotnet-pkg-base_foreach-solution "$(pwd)" dotnet-pkg-base_test
}
# @FUNCTION: dotnet-pkg_src_install
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-12 15:52 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2023-10-12 15:52 UTC (permalink / raw
To: gentoo-commits
commit: 69c1235be04773be58562441bb0f12f1e80b34c0
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 5 19:10:17 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Thu Oct 12 15:52:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69c1235b
eclass/nuget.eclass: add special NUGET_API case for Gentoo devs' hosting
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/nuget.eclass | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eclass/nuget.eclass b/eclass/nuget.eclass
index 8ac81497f523..445dcdccd331 100644
--- a/eclass/nuget.eclass
+++ b/eclass/nuget.eclass
@@ -112,6 +112,9 @@ _nuget_set_nuget_uris() {
for nuget_api in "${NUGET_APIS[@]}" ; do
case ${nuget_api%/} in
+ *dev.gentoo.org/~* )
+ url="${nuget_api}/${name}.${version}.nupkg"
+ ;;
*/v2 )
url="${nuget_api}/package/${name}/${version}
-> ${name}.${version}.nupkg"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-12 15:52 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2023-10-12 15:52 UTC (permalink / raw
To: gentoo-commits
commit: aacf18af0892739127048628e6c8ea11f26fc4d2
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 12 08:18:57 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Thu Oct 12 15:52:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aacf18af
eclass/dotnet-pkg.eclass: add DOTNET_PKG_TEST_EXTRA_ARGS
Extra arguments to pass to the package test, in the "src_test" phase.
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg.eclass | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass
index b4f0c053d69a..86ec2e5a7fc1 100644
--- a/eclass/dotnet-pkg.eclass
+++ b/eclass/dotnet-pkg.eclass
@@ -117,6 +117,28 @@ DOTNET_PKG_RESTORE_EXTRA_ARGS=()
# For more info see the "DOTNET_PROJECT" variable and "dotnet-pkg_src_compile".
DOTNET_PKG_BUILD_EXTRA_ARGS=()
+# @ECLASS_VARIABLE: DOTNET_PKG_TEST_EXTRA_ARGS
+# @DESCRIPTION:
+# Extra arguments to pass to the package test, in the "src_test" phase.
+#
+# This is passed only when testing found ".sln" solution files
+# (see also "dotnet-pkg-base_foreach-solution").
+# Other project builds do not use this variable.
+#
+# This variable should be set after inheriting "dotnet-pkg.eclass",
+# it is also advised that it is set after the variable
+# "DOTNET_PROJECT" (from "dotnet-pkg-base" eclass) is set.
+#
+# Default value is an empty array.
+#
+# Example:
+# @CODE
+# DOTNET_PKG_TEST_EXTRA_ARGS=( -p:RollForward=Major )
+# @CODE
+#
+# For more info see the "DOTNET_PROJECT" variable and "dotnet-pkg_src_test".
+DOTNET_PKG_TEST_EXTRA_ARGS=()
+
# @FUNCTION: dotnet-pkg_pkg_setup
# @DESCRIPTION:
# Default "pkg_setup" for the "dotnet-pkg" eclass.
@@ -215,7 +237,9 @@ dotnet-pkg_src_compile() {
# will execute wrong or incomplete test suite. Maintainers should inspect if
# any and/or correct tests are ran.
dotnet-pkg_src_test() {
- dotnet-pkg-base_foreach-solution "$(pwd)" dotnet-pkg-base_test
+ dotnet-pkg-base_foreach-solution \
+ "$(pwd)" \
+ dotnet-pkg-base_test "${DOTNET_PKG_TEST_EXTRA_ARGS[@]}"
}
# @FUNCTION: dotnet-pkg_src_install
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-12 15:52 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2023-10-12 15:52 UTC (permalink / raw
To: gentoo-commits
commit: e794e1d12b483a574811fa94081e35270ff7b84d
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 12 08:23:36 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Thu Oct 12 15:52:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e794e1d1
eclass/dotnet-pkg.eclass: update eclass variable docs
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg.eclass | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass
index 86ec2e5a7fc1..9d78f463be77 100644
--- a/eclass/dotnet-pkg.eclass
+++ b/eclass/dotnet-pkg.eclass
@@ -60,10 +60,9 @@ BDEPEND+=" ${DOTNET_PKG_BDEPS} "
# "dotnet-pkg-base_build" will fail when pointed to a solution or a directory
# containing a solution file.
#
-# It is up to the maintainer if this variable is set before inheriting
-# "dotnet-pkg-base" eclass, but it is advised that it is set after
-# the variable "${S}" is set, it should also integrate with it
-# (see the example below).
+# This variable should be set after inheriting "dotnet-pkg.eclass",
+# it is also advised that it is set after the variable "${S}" is set.
+# "DOTNET_PKG_PROJECTS" can integrate with "S" (see the example below).
#
# Example:
# @CODE
@@ -87,8 +86,8 @@ BDEPEND+=" ${DOTNET_PKG_BDEPS} "
# This is passed only when restoring the specified "DOTNET_PROJECT".
# Other project restorers do not use this variable.
#
-# It is up to the maintainer if this variable is set before inheriting
-# "dotnet-pkg.eclass", but it is advised that it is set after the variable
+# This variable should be set after inheriting "dotnet-pkg.eclass",
+# it is also advised that it is set after the variable
# "DOTNET_PROJECT" (from "dotnet-pkg-base" eclass) is set.
#
# Default value is an empty array.
@@ -103,8 +102,8 @@ DOTNET_PKG_RESTORE_EXTRA_ARGS=()
# This is passed only when building the specified "DOTNET_PROJECT".
# Other project builds do not use this variable.
#
-# It is up to the maintainer if this variable is set before inheriting
-# "dotnet-pkg.eclass", but it is advised that it is set after the variable
+# This variable should be set after inheriting "dotnet-pkg.eclass",
+# it is also advised that it is set after the variable
# "DOTNET_PROJECT" (from "dotnet-pkg-base" eclass) is set.
#
# Default value is an empty array.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-09 20:28 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2023-10-09 20:28 UTC (permalink / raw
To: gentoo-commits
commit: a0a74e8c5395551d3e878e701529bcc3e901c85f
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 27 21:29:33 2023 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Mon Oct 9 20:25:19 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a0a74e8c
distutils-r1.eclass: Make use of gpep517's new build-wheel --prefix arg
This fixes cross-prefix installations.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/distutils-r1.eclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 56afcdc5bcb8..1cc91110dccf 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -210,7 +210,7 @@ _distutils_set_globals() {
fi
bdep='
- >=dev-python/gpep517-13[${PYTHON_USEDEP}]
+ >=dev-python/gpep517-15[${PYTHON_USEDEP}]
'
case ${DISTUTILS_USE_PEP517} in
flit)
@@ -1444,6 +1444,7 @@ distutils_pep517_install() {
einfo " Building the wheel for ${PWD#${WORKDIR}/} via ${build_backend}"
local cmd=(
gpep517 build-wheel
+ --prefix="${EPREFIX}/usr"
--backend "${build_backend}"
--output-fd 3
--wheel-dir "${WHEEL_BUILD_DIR}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-09 10:54 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2023-10-09 10:54 UTC (permalink / raw
To: gentoo-commits
commit: 7bdd7fed54b73d349c5bd4f9b81e3e3d4544bf56
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 20 11:09:30 2023 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Mon Oct 9 10:54:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7bdd7fed
ninja-utils.eclass: use get_makeopts_{jobs,loadavg}
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/ninja-utils.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/ninja-utils.eclass b/eclass/ninja-utils.eclass
index 5a211e81131d..859938cb3047 100644
--- a/eclass/ninja-utils.eclass
+++ b/eclass/ninja-utils.eclass
@@ -72,7 +72,7 @@ esac
# Get the value of NINJAOPTS, inferring them from MAKEOPTS if unset.
get_NINJAOPTS() {
if [[ -z ${NINJAOPTS+set} ]]; then
- NINJAOPTS="-j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0)"
+ NINJAOPTS="-j$(get_makeopts_jobs 999) -l$(get_makeopts_loadavg 0)"
fi
echo "${NINJAOPTS}"
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-09 10:54 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2023-10-09 10:54 UTC (permalink / raw
To: gentoo-commits
commit: 85eb4cfe2f740d281b497787c544889c87fabb1f
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 20 11:09:42 2023 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Mon Oct 9 10:54:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85eb4cfe
meson.eclass: use get_makeopts_{jobs,loadavg}
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/32385
eclass/meson.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index 5aff3eb58930..4757f3fa5eef 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -388,8 +388,8 @@ meson_src_compile() {
local mesoncompileargs=(
-C "${BUILD_DIR}"
- --jobs "$(makeopts_jobs "${MAKEOPTS}" 0)"
- --load-average "$(makeopts_loadavg "${MAKEOPTS}" 0)"
+ --jobs "$(get_makeopts_jobs 0)"
+ --load-average "$(get_makeopts_loadavg 0)"
)
case ${MESON_VERBOSE} in
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-08 10:03 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2023-10-08 10:03 UTC (permalink / raw
To: gentoo-commits
commit: 20ea5b285d0dc12a7649e5bda5cc9c871cc0bad0
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 29 06:32:20 2023 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sun Oct 8 10:03:29 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=20ea5b28
eclass/depend.apache: enable EAPI 8
Bug: https://bugs.gentoo.org/914200
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/depend.apache.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/depend.apache.eclass b/eclass/depend.apache.eclass
index 4d1ca573611b..8f0469931d2c 100644
--- a/eclass/depend.apache.eclass
+++ b/eclass/depend.apache.eclass
@@ -4,7 +4,7 @@
# @ECLASS: depend.apache.eclass
# @MAINTAINER:
# apache-bugs@gentoo.org
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: Functions to allow ebuilds to depend on apache
# @DESCRIPTION:
# This eclass handles depending on apache in a sane way and provides information
@@ -41,7 +41,7 @@
# @CODE
case ${EAPI:-0} in
- 6|7)
+ 6|7|8)
;;
*)
die "EAPI=${EAPI} is not supported by depend.apache.eclass"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-08 10:03 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2023-10-08 10:03 UTC (permalink / raw
To: gentoo-commits
commit: fdf47ff7281a39aa2964729eac21450d19d24340
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 29 06:38:47 2023 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sun Oct 8 10:03:34 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdf47ff7
eclass/apache-module.eclass: enable EAPI 8
Closes: https://bugs.gentoo.org/914200
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/apache-module.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/apache-module.eclass b/eclass/apache-module.eclass
index 8074aff5ddcb..5a84ffedf71a 100644
--- a/eclass/apache-module.eclass
+++ b/eclass/apache-module.eclass
@@ -4,7 +4,7 @@
# @ECLASS: apache-module.eclass
# @MAINTAINER:
# apache-bugs@gentoo.org
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: Provides a common set of functions for apache modules
# @DESCRIPTION:
# This eclass handles apache modules in a sane way.
@@ -45,7 +45,7 @@
# @CODE
case ${EAPI} in
- 6|7) ;;
+ 6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-08 10:03 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2023-10-08 10:03 UTC (permalink / raw
To: gentoo-commits
commit: 0dcaafc4c96820046d5c3afd7c3da7d148cc4e5b
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 29 06:24:29 2023 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sun Oct 8 10:03:22 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0dcaafc4
eclass/depend.apache: deprecate apache 2.2 methods
www-servers/apache-2.2 has been removed in 2019.
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/depend.apache.eclass | 30 ++++++++++++++++++++++--------
1 file changed, 22 insertions(+), 8 deletions(-)
diff --git a/eclass/depend.apache.eclass b/eclass/depend.apache.eclass
index 4dc3f68daabc..4d1ca573611b 100644
--- a/eclass/depend.apache.eclass
+++ b/eclass/depend.apache.eclass
@@ -109,7 +109,7 @@ APACHE2_DEPEND="=www-servers/apache-2*"
# @ECLASS_VARIABLE: APACHE2_2_DEPEND
# @DESCRIPTION:
-# Dependencies for Apache 2.2.x
+# Dependencies for Apache 2.2.x. Deprecated and removed in EAPI 8.
APACHE2_2_DEPEND="=www-servers/apache-2.2*"
# @ECLASS_VARIABLE: APACHE2_4_DEPEND
@@ -215,10 +215,17 @@ want_apache2() {
want_apache2_2() {
debug-print-function $FUNCNAME $*
- local myiuse=${1:-apache2}
- IUSE="${IUSE} ${myiuse}"
- DEPEND="${DEPEND} ${myiuse}? ( ${APACHE2_2_DEPEND} )"
- RDEPEND="${RDEPEND} ${myiuse}? ( ${APACHE2_2_DEPEND} )"
+ case ${EAPI:-0} in
+ 6|7)
+ local myiuse=${1:-apache2}
+ IUSE="${IUSE} ${myiuse}"
+ DEPEND="${DEPEND} ${myiuse}? ( ${APACHE2_2_DEPEND} )"
+ RDEPEND="${RDEPEND} ${myiuse}? ( ${APACHE2_2_DEPEND} )"
+ ;;
+ *)
+ errror "want-apache2_2 is no longer supported in EAPI 8"
+ ;;
+ esac
}
# @FUNCTION: want_apache2_4
@@ -263,9 +270,16 @@ need_apache2() {
need_apache2_2() {
debug-print-function $FUNCNAME $*
- DEPEND="${DEPEND} ${APACHE2_2_DEPEND}"
- RDEPEND="${RDEPEND} ${APACHE2_2_DEPEND}"
- _init_apache2
+ case ${EAPI:-0} in
+ 6|7)
+ DEPEND="${DEPEND} ${APACHE2_2_DEPEND}"
+ RDEPEND="${RDEPEND} ${APACHE2_2_DEPEND}"
+ _init_apache2
+ ;;
+ *)
+ error "need_apache2-2 is no longer supported in EAPI 8"
+ ;;
+ esac
}
# @FUNCTION: need_apache2_4
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-05 11:12 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-05 11:12 UTC (permalink / raw
To: gentoo-commits
commit: 1a315332a1dac8afb0cbd3b6125e1d387e15ac20
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 5 11:07:26 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 5 11:11:34 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a315332
flag-o-matic.eclass: allow -mno-omit-leaf-frame-pointer
Just like -fno-omit-frame-pointer.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index b4c27bf89d92..5e523974d25c 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -95,6 +95,7 @@ _setup-allowed-flags() {
'-fno-stack-protector*' '-fabi-version=*'
-fno-strict-aliasing -fno-bounds-check -fno-bounds-checking -fstrict-overflow
-fno-omit-frame-pointer '-fno-builtin*'
+ -mno-omit-leaf-frame-pointer
)
ALLOWED_FLAGS+=(
'-mregparm=*' -mno-app-regs -mapp-regs -mno-mmx -mno-sse
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-05 11:12 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-05 11:12 UTC (permalink / raw
To: gentoo-commits
commit: 6510a7093f6ab76c7541de9dc1d0a1a56c711748
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 5 11:08:47 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 5 11:11:58 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6510a709
flag-o-matic.eclass: allow -mbranch-protection=*
Newer arm64 HW has this.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 5e523974d25c..bf4a8397c5d1 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -61,6 +61,7 @@ _setup-allowed-flags() {
-mindirect-branch-register
'-mfunction-return=*'
-mretpoline
+ '-mbranch-protection=*'
# Misc
-fno-unit-at-a-time -fno-strict-overflow
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-05 11:12 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-05 11:12 UTC (permalink / raw
To: gentoo-commits
commit: cc7061ee5e3bfd1a7a1bcbdc44f1bd1d69fda495
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 5 11:11:10 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 5 11:12:29 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cc7061ee
flag-o-matic.eclass: allow --unwindlib/--rtlib/--stdlib too
We may want to gate these just for Clang but they (at least --stdlib) affect
ABI so we shouldn't be filtering these.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/flag-o-matic.eclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index bf4a8397c5d1..c0b042d5348d 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -134,6 +134,12 @@ _setup-allowed-flags() {
# binaries: bug #677852
-mstackrealign
)
+ ALLOWED_FLAGS+=(
+ # Clang-only
+ '--unwindlib=*'
+ '--rtlib=*'
+ '--stdlib=*'
+ )
}
# @FUNCTION: _filter-hardened
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-02 19:39 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-10-02 19:39 UTC (permalink / raw
To: gentoo-commits
commit: c479d45b860795c981dc0aa2803b6fb1a5962304
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 2 18:27:44 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 2 19:39:16 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c479d45b
llvm.org.eclass: Add 18.0.0_pre20231002 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 c04d4063a593..a43cef51ef81 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
+ 18.0.0_pre20231002)
+ EGIT_COMMIT=39fec5457c0925bd39f67f63fe17391584e08258
+ ;;
18.0.0_pre20230925)
EGIT_COMMIT=f5cb9cb59d7c9c6ac3d5c41c677f68c9b75d34a3
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-02 17:51 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-10-02 17:51 UTC (permalink / raw
To: gentoo-commits
commit: 20b1f4a8ad8ccc2acad0f9042dedd07b12779b7b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 2 15:32:09 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 2 17:51:05 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=20b1f4a8
llvm.org.eclass: Remove support for old snapshots
Signed-off-by: Michał Górny <mgorny <AT> 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 5efa80ce67e8..c04d4063a593 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,15 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
18.0.0_pre20230925)
EGIT_COMMIT=f5cb9cb59d7c9c6ac3d5c41c677f68c9b75d34a3
;;
- 18.0.0_pre20230906)
- EGIT_COMMIT=7e5809e7e7bc9a828427b6540a51d45884d8bbbb
- ;;
- 18.0.0_pre20230829)
- EGIT_COMMIT=f6259d9b9a546dbfa5bc2f29313c6edd6c701177
- ;;
- 18.0.0_pre20230825)
- EGIT_COMMIT=e3373c6c83d3855adb78f1952a3bf0398baf359e
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-01 18:16 Mike Gilbert
0 siblings, 0 replies; 6228+ messages in thread
From: Mike Gilbert @ 2023-10-01 18:16 UTC (permalink / raw
To: gentoo-commits
commit: 866faf07e36ba85b4c1cce2ac642eb5b7b041f57
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 27 14:08:05 2023 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Oct 1 18:16:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=866faf07
systemd.eclass: add systemd_install_dropin
Closes: https://bugs.gentoo.org/876658
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/33089
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
eclass/systemd.eclass | 44 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-)
diff --git a/eclass/systemd.eclass b/eclass/systemd.eclass
index fbed387e0ca0..03d6a82fd310 100644
--- a/eclass/systemd.eclass
+++ b/eclass/systemd.eclass
@@ -1,4 +1,4 @@
-# Copyright 2011-2022 Gentoo Authors
+# Copyright 2011-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: systemd.eclass
@@ -227,6 +227,48 @@ systemd_install_serviced() {
)
}
+# @FUNCTION: systemd_install_dropin
+# @USAGE: [--user] <unit> <conf-file>
+# @DESCRIPTION:
+# Install <conf-file> as the dropin file <unit>.d/00gentoo.conf,
+# overriding the settings of <unit>.
+# Defaults to system unit dropins, unless --user is provided,
+# which causes the dropin to be installed for user units.
+# The required argument <conf-file> may be '-', in which case the
+# file is read from stdin and <unit> must also be specified.
+# @EXAMPLE:
+# systemd_install_dropin foo.service "${FILESDIR}/foo.service.conf"
+# systemd_install_dropin foo.service - <<-EOF
+# [Service]
+# RestartSec=120
+# EOF
+systemd_install_dropin() {
+ debug-print-function ${FUNCNAME} "${@}"
+
+ local basedir
+ if [[ $# -ge 1 ]] && [[ $1 == "--user" ]]; then
+ basedir=$(_systemd_unprefix systemd_get_userunitdir)
+ shift 1
+ else
+ basedir=$(_systemd_unprefix systemd_get_systemunitdir)
+ fi
+
+ local unit=${1}
+ local src=${2}
+
+ [[ ${unit} ]] || die "No unit specified"
+ [[ ${src} ]] || die "No conf file specified"
+
+ # avoid potentially common mistake
+ [[ ${unit} == *.d ]] && die "Unit ${unit} must not have .d suffix"
+
+ (
+ insopts -m 0644
+ insinto "${basedir}/${unit}".d
+ newins "${src}" 00gentoo.conf
+ )
+}
+
# @FUNCTION: systemd_enable_service
# @USAGE: <target> <service>
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-01 9:28 Andrew Ammerlaan
0 siblings, 0 replies; 6228+ messages in thread
From: Andrew Ammerlaan @ 2023-10-01 9:28 UTC (permalink / raw
To: gentoo-commits
commit: 151c847ec2fd8417433af2d8b0ceed5b786d6ce0
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 15 05:53:56 2023 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Oct 1 09:27:18 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=151c847e
kernel-build.eclass: drop obsolete if use secureboot statement
CONFIG_EFI_ZBOOT (among other things) is now set by secureboot.config in
GENTOO_CONFIG version g9 and up.
All {gentoo,vanilla}-kernel versions with "KERNEL_IUSE_MODULES_SIGN=1" and
GENTOO_CONFIG_VER<9 have been removed.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/32793
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
eclass/kernel-build.eclass | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 01cd184f41c0..4f7e4d047739 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -444,20 +444,6 @@ kernel-build_merge_configs() {
fi
fi
- if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
- if use secureboot; then
- # This only effects arm64 and riscv where the bootable image may
- # contain its own decompressor (zboot). If enabled we get a
- # sign-able efi file.
- cat <<-EOF > "${WORKDIR}/secureboot.config" || die
- ## Enable zboot for signing
- CONFIG_EFI_ZBOOT=y
- EOF
-
- merge_configs+=( "${WORKDIR}/secureboot.config" )
- fi
- fi
-
if [[ ${#user_configs[@]} -gt 0 ]]; then
elog "User config files are being applied:"
local x
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-01 7:27 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-10-01 7:27 UTC (permalink / raw
To: gentoo-commits
commit: 266937413dc4d234073f4cbc314c86cd22b913c5
Author: Petr Vaněk <arkamar <AT> atlas <DOT> cz>
AuthorDate: Sun Sep 17 11:11:41 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Oct 1 07:15:41 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26693741
toolchain-funcs.eclass: Remove outdated reference to tc-has-openmp
tc-has-openmp function was deprecated in commit 9bc832c6d39b
("toolchain-funcs.eclass: deprecate tc-has-openmp") and later removed in
commit eb970274d283 ("toolchain-funcs.eclass: remove tc-has-openmp").
Due to this, the reference to it in the tc-check-openmp function has
become redundant and is therefore removed.
Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz>
Closes: https://github.com/gentoo/gentoo/pull/32903
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain-funcs.eclass | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 556bbac35307..8398ee004a7d 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -576,9 +576,7 @@ _tc-has-openmp() {
# @DESCRIPTION:
# Test for OpenMP support with the current compiler and error out with
# a clear error message, telling the user how to rectify the missing
-# OpenMP support that has been requested by the ebuild. Using this function
-# to test for OpenMP support should be preferred over tc-has-openmp and
-# printing a custom message, as it presents a uniform interface to the user.
+# OpenMP support that has been requested by the ebuild.
#
# You should test for any necessary OpenMP support in pkg_pretend in order to
# warn the user of required toolchain changes. You must still check for OpenMP
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-30 10:34 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-09-30 10:34 UTC (permalink / raw
To: gentoo-commits
commit: 7a1590d2e910c2a6d48aad377c34cf104cc486cb
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 30 10:33:58 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 30 10:34:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a1590d2
toolchain.eclass: handle ABIs with no multilib flags
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 90576f2067ea..8df8b506b0b1 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1693,7 +1693,9 @@ gcc_do_make() {
# XXX: Hack for bug #914881, clean this up when fixed and go back
# to just calling get_abi_LDFLAGS as before.
local abi_ldflags="$(get_abi_LDFLAGS ${TARGET_DEFAULT_ABI})"
- printf -v abi_ldflags -- "-Wl,%s " ${abi_ldflags}
+ if [[ -n ${abi_ldflags} ]] ; then
+ printf -v abi_ldflags -- "-Wl,%s " ${abi_ldflags}
+ fi
# If the host compiler is too old, let's use -O0 per the upstream
# default to be safe (to avoid a bootstrap comparison failure later).
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-30 9:38 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-09-30 9:38 UTC (permalink / raw
To: gentoo-commits
commit: 5f54fc59c91393781a4fdace7e2cdc27f9651d15
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 29 00:44:16 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 30 09:38:40 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f54fc59
toolchain.eclass: support bootstrap-O3
Upstream are fine with bootstrapping with -O3, so don't strip it out if the user
set it, even with USE=-custom-cflags.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a145e74d5521..90a6098445f5 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -753,6 +753,9 @@ setup_multilib_osdirnames() {
#---->> src_configure <<----
toolchain_src_configure() {
+ BUILD_CONFIG_TARGETS=()
+ is-flagq '-O3' && BUILD_CONFIG_TARGETS+=( bootstrap-O3 )
+
downgrade_arch_flags
gcc_do_filter_flags
@@ -772,8 +775,6 @@ toolchain_src_configure() {
local confgcc=( --host=${CHOST} )
- local build_config_targets=()
-
if is_crosscompile || tc-is-cross-compiler ; then
# Straight from the GCC install doc:
# "GCC has code to correctly determine the correct value for target
@@ -898,11 +899,11 @@ toolchain_src_configure() {
# Build compiler itself using LTO
if tc_version_is_at_least 9.1 && _tc_use_if_iuse lto ; then
- build_config_targets+=( bootstrap-lto )
+ BUILD_CONFIG_TARGETS+=( bootstrap-lto )
fi
if tc_version_is_at_least 12 && _tc_use_if_iuse cet ; then
- build_config_targets+=( bootstrap-cet )
+ BUILD_CONFIG_TARGETS+=( bootstrap-cet )
fi
# Support to disable PCH when building libstdcxx
@@ -1321,9 +1322,9 @@ toolchain_src_configure() {
confgcc+=( "$@" ${EXTRA_ECONF} )
- if ! is_crosscompile && ! tc-is-cross-compiler && [[ -n ${build_config_targets} ]] ; then
+ if ! is_crosscompile && ! tc-is-cross-compiler && [[ -n ${BUILD_CONFIG_TARGETS} ]] ; then
# e.g. ./configure --with-build-config='bootstrap-lto bootstrap-cet'
- confgcc+=( --with-build-config="${build_config_targets[*]}" )
+ confgcc+=( --with-build-config="${BUILD_CONFIG_TARGETS[*]}" )
fi
# Nothing wrong with a good dose of verbosity
@@ -1501,7 +1502,14 @@ gcc_do_filter_flags() {
# Lock gcc at -O2; we want to be conservative here.
filter-flags '-O?'
- append-flags -O2
+
+ # We allow -O3 given it's a supported option upstream.
+ # Only add -O2 if we're not doing -O3.
+ if [[ ${BUILD_CONFIG_TARGETS[@]} == *bootstrap-O3* ]] ; then
+ append-flags '-O3'
+ else
+ append-flags '-O2'
+ fi
fi
# Please use USE=lto instead (bug #906007).
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-30 9:38 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-09-30 9:38 UTC (permalink / raw
To: gentoo-commits
commit: bb2d045c02a6ca647ef3280f4987cbc0d14e5a7e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 28 23:27:06 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 30 09:38:40 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb2d045c
toolchain.eclass: rework bootstrapping logic
* Build stage1 compiler with user's CFLAGS. This consistently ends up
saving at least 15 minutes for me on a fast amd64 machine and should save
more on slower machines and architectures.
There's only any risk here if the host compiler is ancient/very buggy and
even then, you get a failed bootstrap later on. The GCC developers, per the
linked bug, end up using STAGE1_CFLAGS="-O2" anyway to speed up the process
so it's not like this is untested at all.
mattst88 actually brought this up.. 10 years ago (bug #477548). Let's try
make that right now.
* Respect LDFLAGS for target libraries for native builds. Not touching this
for cross builds, at least for now, as it's a bit more delicate.
(Unfortunately, we have to put a hack in here for now until we can fix
multilib.eclass - see bug #914881).
Bug: https://gcc.gnu.org/PR111619
Bug: https://bugs.gentoo.org/914881
Closes: https://bugs.gentoo.org/477548
Closes: https://bugs.gentoo.org/831423
Closes: https://bugs.gentoo.org/840392
Apologies-to: Matt Turner <mattst88 <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 52 +++++++++++++++++++++++++++++++++----------------
1 file changed, 35 insertions(+), 17 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d93068619cf9..a145e74d5521 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1647,19 +1647,48 @@ gcc_do_make() {
fi
fi
- if [[ ${GCC_MAKE_TARGET} == "all" ]] ; then
- STAGE1_CFLAGS=${STAGE1_CFLAGS-"${CFLAGS}"}
- fi
+ local emakeargs=(
+ LDFLAGS="${LDFLAGS}"
+ LIBPATH="${LIBPATH}"
+ )
if is_crosscompile; then
# In 3.4, BOOT_CFLAGS is never used on a crosscompile...
# but I'll leave this in anyways as someone might have had
# some reason for putting it in here... --eradicator
BOOT_CFLAGS=${BOOT_CFLAGS-"-O2"}
+ emakeargs+=( BOOT_CFLAGS="${BOOT_CFLAGS}" )
else
- # we only want to use the system's CFLAGS if not building a
+ # XXX: Hack for bug #914881, clean this up when fixed and go back
+ # to just calling get_abi_LDFLAGS as before.
+ local abi_ldflags="$(get_abi_LDFLAGS ${TARGET_DEFAULT_ABI})"
+ printf -v abi_ldflags -- "-Wl,%s " ${abi_ldflags}
+
+ # If the host compiler is too old, let's use -O0 per the upstream
+ # default to be safe (to avoid a bootstrap comparison failure later).
+ #
+ # 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
+ STAGE1_CFLAGS="-O0"
+ fi
+
+ # We only want to use the system's CFLAGS if not building a
# cross-compiler.
+ STAGE1_CFLAGS=${STAGE1_CFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"}
+ STAGE1_LDFLAGS=${STAGE1_LDFLAGS-"${abi_ldflags} ${LDFLAGS}"}
BOOT_CFLAGS=${BOOT_CFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"}
+ BOOT_LDFLAGS=${BOOT_LDFLAGS-"${abi_ldflags} ${LDFLAGS}"}
+ LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}"
+
+ emakeargs+=(
+ STAGE1_CFLAGS="${STAGE1_CFLAGS}"
+ STAGE1_LDFLAGS="${STAGE1_LDFLAGS}"
+ BOOT_CFLAGS="${BOOT_CFLAGS}"
+ BOOT_LDFLAGS="${BOOT_LDFLAGS}"
+ LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET}"
+ )
fi
if is_jit ; then
@@ -1667,24 +1696,13 @@ gcc_do_make() {
pushd "${WORKDIR}"/build-jit > /dev/null || die
einfo "Building JIT"
- emake \
- LDFLAGS="${LDFLAGS}" \
- STAGE1_CFLAGS="${STAGE1_CFLAGS}" \
- LIBPATH="${LIBPATH}" \
- BOOT_CFLAGS="${BOOT_CFLAGS}"
+ emake "${emakeargs[@]}"
popd > /dev/null || die
fi
einfo "Compiling ${PN} (${GCC_MAKE_TARGET})..."
-
pushd "${WORKDIR}"/build >/dev/null || die
-
- emake \
- LDFLAGS="${LDFLAGS}" \
- STAGE1_CFLAGS="${STAGE1_CFLAGS}" \
- LIBPATH="${LIBPATH}" \
- BOOT_CFLAGS="${BOOT_CFLAGS}" \
- ${GCC_MAKE_TARGET}
+ emake "${emakeargs[@]}" ${GCC_MAKE_TARGET}
if is_ada; then
# Without these links, it is not getting the good compiler
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-30 9:38 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-09-30 9:38 UTC (permalink / raw
To: gentoo-commits
commit: 612556c3f23ac08ac76187a81fe3f0cc6acc4a9f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 29 01:02:21 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 30 09:38:41 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=612556c3
toolchain.eclass: tidy up USE=jit build
* Pass --disable-fixincludes for newer GCCs for USE=jit (still need to try
disable it in general when we can, but we had to turn it on for a bit because
of newer glibc) as it's pointless there.
* Disable a bunch of other options for the JIT build, imported from my local
script for bisecting GCC.
* While at it, use an array for the configure args for the JIT build and just
use emake -C.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 52 ++++++++++++++++++++++++++++++++++---------------
1 file changed, 36 insertions(+), 16 deletions(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 90a6098445f5..90576f2067ea 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1354,20 +1354,43 @@ toolchain_src_configure() {
if is_jit ; then
einfo "Configuring JIT gcc"
+ local confgcc_jit=(
+ "${confgcc[@]}"
+
+ --disable-analyzer
+ --disable-bootstrap
+ --disable-cet
+ --disable-default-pie
+ --disable-default-ssp
+ --disable-gcov
+ --disable-libada
+ --disable-libatomic
+ --disable-libgomp
+ --disable-libitm
+ --disable-libquadmath
+ --disable-libsanitizer
+ --disable-libssp
+ --disable-libstdcxx-pch
+ --disable-libvtv
+ --disable-lto
+ --disable-nls
+ --disable-objc-gc
+ --disable-systemtap
+ --enable-host-shared
+ --enable-languages=jit
+ --without-isl
+ --without-zstd
+ --with-system-zlib
+ )
+
+ if tc_version_is_at_least 13.1 ; then
+ confgcc_jit+=( --disable-fixincludes )
+ fi
+
mkdir -p "${WORKDIR}"/build-jit || die
pushd "${WORKDIR}"/build-jit > /dev/null || die
- CONFIG_SHELL="${gcc_shell}" edo "${gcc_shell}" "${S}"/configure \
- "${confgcc[@]}" \
- --disable-libada \
- --disable-libsanitizer \
- --disable-libvtv \
- --disable-libgomp \
- --disable-libquadmath \
- --disable-libatomic \
- --disable-lto \
- --disable-bootstrap \
- --enable-host-shared \
- --enable-languages=jit
+
+ CONFIG_SHELL="${gcc_shell}" edo "${gcc_shell}" "${S}"/configure "${confgcc_jit[@]}"
popd > /dev/null || die
fi
@@ -1701,11 +1724,8 @@ gcc_do_make() {
if is_jit ; then
# TODO: docs for jit?
- pushd "${WORKDIR}"/build-jit > /dev/null || die
-
einfo "Building JIT"
- emake "${emakeargs[@]}"
- popd > /dev/null || die
+ emake -C "${WORKDIR}"/build-jit "${emakeargs[@]}"
fi
einfo "Compiling ${PN} (${GCC_MAKE_TARGET})..."
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-30 7:58 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2023-09-30 7:58 UTC (permalink / raw
To: gentoo-commits
commit: 55d84c375638dfa400d980600e820db1f36d6ae8
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Fri Sep 29 08:24:41 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sat Sep 30 07:58:25 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=55d84c37
java-pkg-simple.eclass: drop EAPI 6
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/33123
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-simple.eclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index e50344c32acb..02200f10cb8d 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -6,7 +6,7 @@
# java@gentoo.org
# @AUTHOR:
# Java maintainers <java@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Eclass for packaging Java software with ease.
# @DESCRIPTION:
# This class is intended to build pure Java packages from Java sources
@@ -17,7 +17,6 @@
# directory before calling the src_compile function of this eclass.
case ${EAPI} in
- 6) inherit eqawarn ;;
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-28 15:51 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2023-09-28 15:51 UTC (permalink / raw
To: gentoo-commits
commit: cf61e72bf2286399797f87cab4e45aa2d7b7e92e
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 24 08:28:53 2023 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Thu Sep 28 15:50:40 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf61e72b
eclass/depend.apache: drop support for EAPI 0-5
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/depend.apache.eclass | 60 +++++++++------------------------------------
1 file changed, 12 insertions(+), 48 deletions(-)
diff --git a/eclass/depend.apache.eclass b/eclass/depend.apache.eclass
index 51410265bbc5..4dc3f68daabc 100644
--- a/eclass/depend.apache.eclass
+++ b/eclass/depend.apache.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: depend.apache.eclass
# @MAINTAINER:
# apache-bugs@gentoo.org
-# @SUPPORTED_EAPIS: 0 2 3 4 5 6 7
+# @SUPPORTED_EAPIS: 6 7
# @BLURB: Functions to allow ebuilds to depend on apache
# @DESCRIPTION:
# This eclass handles depending on apache in a sane way and provides information
@@ -41,9 +41,6 @@
# @CODE
case ${EAPI:-0} in
- 0|2|3|4|5)
- inherit multilib
- ;;
6|7)
;;
*)
@@ -78,8 +75,7 @@ esac
# @ECLASS_VARIABLE: APACHE_BASEDIR
# @DESCRIPTION:
# Path to the server root directory.
-# This variable is set by the want/need_apache functions (EAPI=0 through 5)
-# or depend.apache_pkg_setup (EAPI=6 and later).
+# This variable is set by depend.apache_pkg_setup.
# @ECLASS_VARIABLE: APACHE_CONFDIR
# @DESCRIPTION:
@@ -99,8 +95,7 @@ esac
# @ECLASS_VARIABLE: APACHE_MODULESDIR
# @DESCRIPTION:
# Path where we install modules.
-# This variable is set by the want/need_apache functions (EAPI=0 through 5)
-# or depend.apache_pkg_setup (EAPI=6 and later).
+# This variable is set by depend.apache_pkg_setup.
# @ECLASS_VARIABLE: APACHE_DEPEND
# @DESCRIPTION:
@@ -140,12 +135,6 @@ _init_apache2() {
APACHE_CONFDIR="/etc/apache2"
APACHE_MODULES_CONFDIR="${APACHE_CONFDIR}/modules.d"
APACHE_VHOSTS_CONFDIR="${APACHE_CONFDIR}/vhosts.d"
-
- case ${EAPI:-0} in
- 0|2|3|4|5)
- _init_apache2_late
- ;;
- esac
}
_init_apache2_late() {
@@ -177,27 +166,14 @@ depend.apache_pkg_setup() {
local myiuse=${1:-apache2}
- case ${EAPI:-0} in
- 0|2|3|4|5)
- if has ${myiuse} ${IUSE}; then
- if use ${myiuse}; then
- _init_apache2
- else
- _init_no_apache
- fi
- fi
- ;;
- *)
- if in_iuse ${myiuse}; then
- if use ${myiuse}; then
- _init_apache2
- _init_apache2_late
- else
- _init_no_apache
- fi
- fi
- ;;
- esac
+ if in_iuse ${myiuse}; then
+ if use ${myiuse}; then
+ _init_apache2
+ _init_apache2_late
+ else
+ _init_no_apache
+ fi
+ fi
}
# @FUNCTION: want_apache
@@ -327,12 +303,6 @@ has_apache() {
has_apache_threads() {
debug-print-function $FUNCNAME $*
- case ${EAPI:-0} in
- 0|1)
- die "depend.apache.eclass: has_apache_threads is not supported for EAPI=${EAPI:-0}"
- ;;
- esac
-
if ! has_version 'www-servers/apache[threads]'; then
return
fi
@@ -356,12 +326,6 @@ has_apache_threads() {
has_apache_threads_in() {
debug-print-function $FUNCNAME $*
- case ${EAPI:-0} in
- 0|1)
- die "depend.apache.eclass: has_apache_threads_in is not supported for EAPI=${EAPI:-0}"
- ;;
- esac
-
if ! has_version 'www-servers/apache[threads]'; then
return
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-28 8:22 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2023-09-28 8:22 UTC (permalink / raw
To: gentoo-commits
commit: 5be5420448da8d12d8033b76f0157a5a021b54eb
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sun Sep 17 16:19:35 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Sep 28 08:21:57 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5be54204
java-pkg-opt-2.eclass: drop EAPI 6
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/32888
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-opt-2.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/java-pkg-opt-2.eclass b/eclass/java-pkg-opt-2.eclass
index 3a4b25ec2f0c..0caba1d40e07 100644
--- a/eclass/java-pkg-opt-2.eclass
+++ b/eclass/java-pkg-opt-2.eclass
@@ -6,7 +6,7 @@
# java@gentoo.org
# @AUTHOR:
# Thomas Matthijs <axxo@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
# @PROVIDES: java-utils-2
# @BLURB: Eclass for package with optional Java support
# @DESCRIPTION:
@@ -14,7 +14,7 @@
# support.
case ${EAPI:-0} in
- [678]) ;;
+ [78]) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -50,7 +50,7 @@ java-pkg-opt-2_pkg_setup() {
java-pkg-opt-2_src_prepare() {
use ${JAVA_PKG_OPT_USE} && java-utils-2_src_prepare
case "${EAPI:-0}" in
- [678]) use ${JAVA_PKG_OPT_USE} || eapply_user ;;
+ [78]) use ${JAVA_PKG_OPT_USE} || eapply_user ;;
esac
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-27 9:12 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-27 9:12 UTC (permalink / raw
To: gentoo-commits
commit: 59d389e33aef580b4d5ae2aa9acde86dc0081042
Author: Alexey Sokolov <alexey+gentoo <AT> asokolov <DOT> org>
AuthorDate: Fri Sep 15 07:29:55 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Sep 27 09:12:32 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59d389e3
llvm.eclass: add option to skip llvm_pkg_setup
To be used during prefix bootstrap using LLVM toolchain. Without this,
several LLVM packages don't build.
Bug: https://bugs.gentoo.org/758167
Signed-off-by: Alexey Sokolov <alexey+gentoo <AT> asokolov.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.eclass | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass
index 8198650aad9a..57faa48819db 100644
--- a/eclass/llvm.eclass
+++ b/eclass/llvm.eclass
@@ -80,6 +80,13 @@ DEPEND="!!sys-devel/llvm:0"
# Correct values of LLVM slots, newest first.
declare -g -r _LLVM_KNOWN_SLOTS=( {18..8} )
+# @ECLASS_VARIABLE: LLVM_ECLASS_SKIP_PKG_SETUP
+# @INTERNAL
+# @DESCRIPTION:
+# If set to a non-empty value, llvm_pkg_setup will not perform LLVM version
+# check, nor set PATH. Useful for bootstrap-prefix.sh, where AppleClang has
+# unparseable version numbers, which are irrelevant anyway.
+
# @FUNCTION: get_llvm_slot
# @USAGE: [-b|-d] [<max_slot>]
# @DESCRIPTION:
@@ -242,6 +249,10 @@ llvm_fix_tool_path() {
llvm_pkg_setup() {
debug-print-function ${FUNCNAME} "${@}"
+ if [[ ${LLVM_ECLASS_SKIP_PKG_SETUP} ]]; then
+ return
+ fi
+
if [[ ${MERGE_TYPE} != binary ]]; then
LLVM_SLOT=$(get_llvm_slot "${LLVM_MAX_SLOT}")
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-27 6:58 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2023-09-27 6:58 UTC (permalink / raw
To: gentoo-commits
commit: 0733594d8ff5e3fdd2b7617c36fdd2c761c66666
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sun May 14 07:39:19 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Sep 27 06:57:51 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0733594d
Revert "java-pkg-simple.eclass: improve test selection for multi-jar packages"
This reverts commit 3eb0cfe339e79270446731b8f27bdc1b060d023b.
Closes: https://bugs.gentoo.org/906311
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-simple.eclass | 28 +++++++++++++---------------
1 file changed, 13 insertions(+), 15 deletions(-)
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index 14650ea7e8d3..555d956d93d8 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -555,21 +555,19 @@ java-pkg-simple_src_test() {
if [[ -n ${JAVA_TEST_RUN_ONLY} ]]; then
tests_to_run="${JAVA_TEST_RUN_ONLY[@]}"
else
- pushd "${JAVA_TEST_SRC_DIR}" > /dev/null || die
- tests_to_run=$(find * -type f\
- \( -name "*Test.java"\
- -o -name "Test*.java"\
- -o -name "*Tests.java"\
- -o -name "*TestCase.java" \)\
- ! -name "*Abstract*"\
- ! -name "*BaseTest*"\
- ! -name "*TestTypes*"\
- ! -name "*TestUtils*"\
- ! -name "*\$*")
- tests_to_run=${tests_to_run//"${classes}"\/}
- tests_to_run=${tests_to_run//.java}
- tests_to_run=${tests_to_run//\//.}
- popd > /dev/null || die
+ tests_to_run=$(find "${classes}" -type f\
+ \( -name "*Test.class"\
+ -o -name "Test*.class"\
+ -o -name "*Tests.class"\
+ -o -name "*TestCase.class" \)\
+ ! -name "*Abstract*"\
+ ! -name "*BaseTest*"\
+ ! -name "*TestTypes*"\
+ ! -name "*TestUtils*"\
+ ! -name "*\$*")
+ tests_to_run=${tests_to_run//"${classes}"\/}
+ tests_to_run=${tests_to_run//.class}
+ tests_to_run=${tests_to_run//\//.}
# exclude extra test classes, usually corner cases
# that the code above cannot handle
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-27 6:58 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2023-09-27 6:58 UTC (permalink / raw
To: gentoo-commits
commit: 46a0d7d3899ca90d1fc9a81a288d915ccdc3ebf8
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Mon May 15 09:55:47 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Wed Sep 27 06:57:55 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46a0d7d3
java-pkg-simple.eclass: improve test selection for multi-jar packages
There was a problem with multi-jar packages cumulating tests. Test
classes were repeatedly run for all subsequent test runs.
With this patch we ensure that classes=target/test-classes is really
empty before compilation.
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-simple.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index 555d956d93d8..e50344c32acb 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -501,6 +501,9 @@ java-pkg-simple_src_test() {
return
fi
+ # https://bugs.gentoo.org/906311
+ rm -rf ${classes} || die
+
# create the target directory
mkdir -p ${classes} || die "Could not create target directory for testing"
@@ -519,7 +522,6 @@ java-pkg-simple_src_test() {
find "${JAVA_TEST_SRC_DIR[@]}" -name \*.java > ${test_sources}
fi
-
# compile
if [[ -s ${test_sources} ]]; then
if [[ -n ${moduleinfo} ]] || [[ java-pkg_get-target -lt 9 ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-27 5:28 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-09-27 5:28 UTC (permalink / raw
To: gentoo-commits
commit: 2be63f3ff46248581cf1922f2992bfb52b2d11fb
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 27 05:28:18 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Sep 27 05:28:18 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2be63f3f
perl-module.eclass: fix typo in comment
Fixes: ffa678b96f88ec7be12cd57237ead3849ac9c453
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/perl-module.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index c9b690992f22..32cd603c7be5 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -361,7 +361,7 @@ perl-module_src_test() {
fi
# See https://www.perlmonks.org/?node_id=1225311
- # * AUTOMATES_TESTING appears inappropriate for us, as it affects
+ # * AUTOMATED_TESTING appears inappropriate for us, as it affects
# exit codes and might mask failures if configuration is wrong.
# * EXTENDED_TESTING is something we could consider if we had
# some way to opt-in to expensive tests.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-26 12:24 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-26 12:24 UTC (permalink / raw
To: gentoo-commits
commit: 9b5862db4e20b79ff05a35834c870f0c91817cf5
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 26 12:15:47 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Sep 26 12:23:08 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b5862db
qt6-build.eclass: triple qtest function timeout
May help prevent flaky failures under load. Could increase further
if ever a problem on some arches (beyond 1500 would be meaningless
without also passing bigger --timeout to ctest).
Also align exports and drop kinda unnecessary comment.
Closes: https://bugs.gentoo.org/914737
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 18f317e32e16..35a710b86545 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -162,9 +162,8 @@ qt6-build_src_configure() {
# @DESCRIPTION:
# Run cmake_src_test and handle anything else generic as-needed.
qt6-build_src_test() {
- # helps a few tests but is not always respected
local -x QML_IMPORT_PATH=${BUILD_DIR}${QT6_QMLDIR#"${QT6_PREFIX}"}
-
+ local -x QTEST_FUNCTION_TIMEOUT=900000 #914737
local -x QT_QPA_PLATFORM=offscreen
# TODO?: CMAKE_SKIP_TESTS skips a whole group of tests and, when
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-25 18:45 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-25 18:45 UTC (permalink / raw
To: gentoo-commits
commit: 88fdc3ceab6a73c12979038c28a4f56484281ce5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 25 18:43:39 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep 25 18:43:39 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88fdc3ce
llvm.org.eclass: Add 18.0.0_pre20230925 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 23a8ab29c644..5efa80ce67e8 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
+ 18.0.0_pre20230925)
+ EGIT_COMMIT=f5cb9cb59d7c9c6ac3d5c41c677f68c9b75d34a3
+ ;;
18.0.0_pre20230906)
EGIT_COMMIT=7e5809e7e7bc9a828427b6540a51d45884d8bbbb
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-25 2:07 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-09-25 2:07 UTC (permalink / raw
To: gentoo-commits
commit: 6302dd47e23ee32cfcb446355704ba8bc61b668e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 25 00:05:20 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 25 02:06:51 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6302dd47
toolchain.eclass: fix should_we_gcc_config for major-version slotting
Reported by the-horo on IRC.
For example, with slot as major version:
```
$ gcc-config -c x86_64-pc-linux-gnu
x86_64-pc-linux-gnu-13
$ gcc-config -S x86_64-pc-linux-gnu-13
x86_64-pc-linux-gnu 13
```
so we're indeed comparing 13 with 13.2 and hence we decide to run gcc-config
unnecessarily because we think it's a major version change.
Fix that by taking into account tc_use_major_version_only and comparing
based on GCCMAJOR for that case.
Bug: https://bugs.gentoo.org/865835
Bug: https://bugs.gentoo.org/873505
Reported-by: the-horo
Closes: https://github.com/gentoo/gentoo/pull/33042
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/toolchain.eclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 6a88676b750d..d93068619cf9 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2244,7 +2244,9 @@ should_we_gcc_config() {
local curr_branch_ver=$(ver_cut 1-2 ${curr_config_ver})
- if [[ ${curr_branch_ver} == ${GCC_BRANCH_VER} ]] ; then
+ if tc_use_major_version_only && [[ ${curr_config_ver} == ${GCCMAJOR} ]] ; then
+ return 0
+ elif ! tc_use_major_version_only && [[ ${curr_branch_ver} == ${GCC_BRANCH_VER} ]] ; then
return 0
else
# If we're installing a genuinely different compiler version,
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-23 6:31 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2023-09-23 6:31 UTC (permalink / raw
To: gentoo-commits
commit: 330877b0d98143a64eb4fb7b9c33840741dade4a
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 23 06:28:27 2023 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sat Sep 23 06:28:27 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=330877b0
eclass/ruby-utils.eclass: drop ruby30 from preferences
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/ruby-utils.eclass | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/eclass/ruby-utils.eclass b/eclass/ruby-utils.eclass
index 8a2b7720c951..48d701a3ebc7 100644
--- a/eclass/ruby-utils.eclass
+++ b/eclass/ruby-utils.eclass
@@ -22,7 +22,6 @@ esac
if [[ ! ${_RUBY_UTILS} ]]; then
-
# @ECLASS_VARIABLE: RUBY_TARGETS_PREFERENCE
# @INTERNAL
# @DESCRIPTION:
@@ -33,12 +32,11 @@ if [[ ! ${_RUBY_UTILS} ]]; then
# provide for a better first installation experience.
# All stable RUBY_TARGETS
-RUBY_TARGETS_PREFERENCE="ruby31 ruby30 "
+RUBY_TARGETS_PREFERENCE="ruby31 "
# All other active ruby targets
RUBY_TARGETS_PREFERENCE+="ruby32"
-
_ruby_implementation_depend() {
local rubypn=
local rubyslot=
@@ -66,7 +64,5 @@ _ruby_implementation_depend() {
echo "$2${rubypn}$3${rubyslot}"
}
-
-
_RUBY_UTILS=1
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-23 6:31 Hans de Graaff
0 siblings, 0 replies; 6228+ messages in thread
From: Hans de Graaff @ 2023-09-23 6:31 UTC (permalink / raw
To: gentoo-commits
commit: 579cfece94c35b2c8a0183118400269d9143fc3c
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 23 06:29:56 2023 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sat Sep 23 06:29:56 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=579cfece
eclass/ruby-ng.eclass: add ruby30 to removed implementations
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
eclass/ruby-ng.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 5cea44101593..d80ae96dd40b 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -111,7 +111,7 @@ _ruby_get_all_impls() {
for i in ${USE_RUBY}; do
case ${i} in
# removed implementations
- ruby19|ruby2[0-7]|jruby)
+ ruby19|ruby2[0-7]|ruby30|jruby)
;;
*)
found_valid_impl=1
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-19 19:47 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-19 19:47 UTC (permalink / raw
To: gentoo-commits
commit: 60043a41f94198cf0d03e605db721bf3e8f427bb
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 19 19:37:31 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 19 19:47:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60043a41
llvm.org.eclass: Set manpages for 17.0.1
Signed-off-by: Michał Górny <mgorny <AT> 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 e69ef14c0e62..23a8ab29c644 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -449,6 +449,9 @@ llvm_manpage_get_dist() {
16*)
echo "llvm-16.0.4-manpages.tar.bz2"
;;
+ 17*)
+ echo "llvm-17.0.1-manpages.tar.bz2"
+ ;;
esac
fi
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-19 11:15 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-09-19 11:15 UTC (permalink / raw
To: gentoo-commits
commit: c0762f060531bd146d6abe93b97e86cb68df04cb
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 16 09:40:53 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Sep 19 11:15:31 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c0762f06
perl-module.eclass: disable Canary::Stability
Canary::Stability emits very vocal warnings about "unsupported" Perl versions
even if they're fine in reality. It's not worth scaring our users over.
See https://metacpan.org/pod/Canary::Stability#ENVIRONMENT-VARIABLES.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/perl-module.eclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 83f94865e021..c9b690992f22 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -220,6 +220,8 @@ perl-module_src_configure() {
[[ -z ${pm_echovar} ]] && export PERL_MM_USE_DEFAULT=1
# Disable ExtUtils::AutoInstall from prompting
export PERL_EXTUTILS_AUTOINSTALL="--skipdeps"
+ # Noisy and not really appropriate to show to the user in a PM
+ export PERL_CANARY_STABILITY_DISABLE=1
if [[ $(declare -p myconf 2>&-) != "declare -a myconf="* ]]; then
local myconf_local=(${myconf})
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-19 11:15 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-09-19 11:15 UTC (permalink / raw
To: gentoo-commits
commit: ffa678b96f88ec7be12cd57237ead3849ac9c453
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 16 09:39:27 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Sep 19 11:15:31 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ffa678b9
perl-module.eclass: set NONINTERACTIVE_TESTING=1
See https://www.perlmonks.org/?node_id=1225311
I did consider the others, but:
* AUTOMATES_TESTING appears inappropriate for us, as it affects
exit codes and might mask failures if configuration is wrong.
* EXTENDED_TESTING is something we could consider if we had
some way to opt-in to expensive tests.
so just set NONINTERACTIVE_TESTING=1 for now, not the others mentioned
in the link.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/perl-module.eclass | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index e2b66e3b6f7d..83f94865e021 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -358,6 +358,13 @@ perl-module_src_test() {
export NO_NETWORK_TESTING=1
fi
+ # See https://www.perlmonks.org/?node_id=1225311
+ # * AUTOMATES_TESTING appears inappropriate for us, as it affects
+ # exit codes and might mask failures if configuration is wrong.
+ # * EXTENDED_TESTING is something we could consider if we had
+ # some way to opt-in to expensive tests.
+ export NONINTERACTIVE_TESTING=1
+
case ${EAPI} in
7)
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-19 11:12 Miroslav Šulc
0 siblings, 0 replies; 6228+ messages in thread
From: Miroslav Šulc @ 2023-09-19 11:12 UTC (permalink / raw
To: gentoo-commits
commit: 63183912631f6741a157c59629aa8bb700fb8874
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Thu Sep 7 07:45:30 2023 +0000
Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Tue Sep 19 11:04:48 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63183912
java-pkg-simple.eclass: respect SLOT="0" in JAVA_LAUNCHER_FILENAME
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
eclass/java-pkg-simple.eclass | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass
index 77038c708256..14650ea7e8d3 100644
--- a/eclass/java-pkg-simple.eclass
+++ b/eclass/java-pkg-simple.eclass
@@ -162,7 +162,11 @@ fi
# If ${JAVA_MAIN_CLASS} is set, we will create a launcher to
# execute the jar, and ${JAVA_LAUNCHER_FILENAME} will be the
# name of the script.
-: "${JAVA_LAUNCHER_FILENAME:=${PN}-${SLOT}}"
+if [[ ${SLOT} = 0 ]]; then
+ : "${JAVA_LAUNCHER_FILENAME:=${PN}}"
+else
+ : "${JAVA_LAUNCHER_FILENAME:=${PN}-${SLOT}}"
+fi
# @ECLASS_VARIABLE: JAVA_TESTING_FRAMEWORKS
# @DEFAULT_UNSET
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-18 9:52 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-09-18 9:52 UTC (permalink / raw
To: gentoo-commits
commit: cf98ec303ee474f22ecf750e82666fd6f96971da
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 18 09:50:37 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 18 09:50:37 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf98ec30
bazel.eclass: fix copyright
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/bazel.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/bazel.eclass b/eclass/bazel.eclass
index 1cba19485442..9d4dfd881d2b 100644
--- a/eclass/bazel.eclass
+++ b/eclass/bazel.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: bazel.eclass
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-18 9:50 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-09-18 9:50 UTC (permalink / raw
To: gentoo-commits
commit: 683d8b60b0038619e9d57012939330e63fea1614
Author: George Burgess IV <gbiv <AT> google <DOT> com>
AuthorDate: Mon Apr 10 19:59:43 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 18 09:48:23 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=683d8b60
bazel.eclass: add support for a custom bazel
Multiple bazel packages can be installed side-by-side through version
suffixes, e.g., `/usr/bin/bazel-5`, `/usr/bin/bazel-6`, etc. These can
be easily simultaneously supported with an eclass param.
Signed-off-by: George Burgess IV <gbiv <AT> google.com>
Closes: https://github.com/gentoo/gentoo/pull/30544
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/bazel.eclass | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/eclass/bazel.eclass b/eclass/bazel.eclass
index 8897ea175a84..1cba19485442 100644
--- a/eclass/bazel.eclass
+++ b/eclass/bazel.eclass
@@ -27,6 +27,13 @@ if [[ ${CATEGORY}/${PN} != "dev-util/bazel" ]]; then
BDEPEND=">=dev-util/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.
@@ -138,7 +145,7 @@ ebazel() {
output_base="${output_base%/}-bazel-base"
mkdir -p "${output_base}" || die
- set -- bazel --bazelrc="${T}/bazelrc" --output_base="${output_base}" ${@}
+ set -- "${BAZEL_BINARY}" --bazelrc="${T}/bazelrc" --output_base="${output_base}" ${@}
echo "${*}" >&2
"${@}" || die "ebazel failed"
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-16 9:43 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-09-16 9:43 UTC (permalink / raw
To: gentoo-commits
commit: 9e9067d309e8b9f8a73b2312d409883f348b0ea5
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 14 02:38:13 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 16 09:43:05 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e9067d3
verify-sig.eclass: minisig support
Closes: https://bugs.gentoo.org/783066
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/verify-sig.eclass | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass
index 49557b633c87..bb847bb80cc6 100644
--- a/eclass/verify-sig.eclass
+++ b/eclass/verify-sig.eclass
@@ -55,17 +55,22 @@ IUSE="verify-sig"
# @DESCRIPTION:
# Signature verification method to use. The allowed value are:
#
+# - minisig -- verify signatures with (base64) Ed25519 public key using app-crypt/minisign
# - openpgp -- verify PGP signatures using app-crypt/gnupg (the default)
# - signify -- verify signatures with Ed25519 public key using app-crypt/signify
: "${VERIFY_SIG_METHOD:=openpgp}"
case ${VERIFY_SIG_METHOD} in
+ minisig)
+ BDEPEND="verify-sig? ( app-crypt/minisign )"
+ ;;
openpgp)
BDEPEND="
verify-sig? (
app-crypt/gnupg
>=app-portage/gemato-16
- )"
+ )
+ "
;;
signify)
BDEPEND="verify-sig? ( app-crypt/signify )"
@@ -139,6 +144,10 @@ verify-sig_verify_detached() {
[[ ${file} == - ]] && filename='(stdin)'
einfo "Verifying ${filename} ..."
case ${VERIFY_SIG_METHOD} in
+ minisig)
+ minisign -V -P "$(<"${key}")" -x "${sig}" -m "${file}" ||
+ die "minisig signature verification failed"
+ ;;
openpgp)
# gpg can't handle very long TMPDIR
# https://bugs.gentoo.org/854492
@@ -198,6 +207,10 @@ verify-sig_verify_message() {
[[ ${file} == - ]] && filename='(stdin)'
einfo "Verifying ${filename} ..."
case ${VERIFY_SIG_METHOD} in
+ minisig)
+ minisign -V -P "$(<"${key}")" -x "${sig}" -o "${output_file}" -m "${file}" ||
+ die "minisig signature verification failed"
+ ;;
openpgp)
# gpg can't handle very long TMPDIR
# https://bugs.gentoo.org/854492
@@ -356,7 +369,7 @@ verify-sig_src_unpack() {
# find all distfiles and signatures, and combine them
for f in ${A}; do
found=
- for suffix in .asc .sig; do
+ for suffix in .asc .sig .minisig; do
if [[ ${f} == *${suffix} ]]; then
signatures+=( "${f}" )
found=sig
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-16 7:44 Florian Schmaus
0 siblings, 0 replies; 6228+ messages in thread
From: Florian Schmaus @ 2023-09-16 7:44 UTC (permalink / raw
To: gentoo-commits
commit: 0a8a487f6ea6713400505929f0b335db009d7e87
Author: Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sun Mar 12 18:09:23 2023 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Sat Sep 16 07:44:10 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a8a487f
java-utils-2.eclass: fix EclassDocMissingFunc
Closes: https://bugs.gentoo.org/900509
Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/30078
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
eclass/java-utils-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index ee5d68c8a78c..92e02e3085b1 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -2390,7 +2390,7 @@ java-pkg_init-compiler_() {
}
-# @FUNCTION: init_paths_
+# @FUNCTION: java-pkg_init_paths_
# @INTERNAL
# @DESCRIPTION:
# Initializes some variables that will be used. These variables are mostly used
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-15 20:49 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2023-09-15 20:49 UTC (permalink / raw
To: gentoo-commits
commit: 33953bf9dd7aef94ab2d5862cb003765d749566f
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 15 14:46:52 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Fri Sep 15 20:46:59 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=33953bf9
eclass/dotnet-pkg-base.eclass: add new dotnet-pkg-base eclass
common functions and variables for builds using .NET SDK
Bug: https://bugs.gentoo.org/900597
Bug: https://github.com/gentoo/gentoo/pull/32109
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg-base.eclass | 628 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 628 insertions(+)
diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
new file mode 100644
index 000000000000..c7f2e031daec
--- /dev/null
+++ b/eclass/dotnet-pkg-base.eclass
@@ -0,0 +1,628 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: dotnet-pkg-base.eclass
+# @MAINTAINER:
+# Gentoo Dotnet project <dotnet@gentoo.org>
+# @AUTHOR:
+# Anna Figueiredo Gomes <navi@vlhl.dev>
+# Maciej Barć <xgqt@gentoo.org>
+# @SUPPORTED_EAPIS: 8
+# @PROVIDES: nuget
+# @BLURB: common functions and variables for builds using .NET SDK
+# @DESCRIPTION:
+# This eclass is designed to provide required ebuild definitions for .NET
+# packages. Beware that in addition to Gentoo-specific concepts also terms that
+# should be known to people familiar with the .NET ecosystem are used through
+# this one and similar eclasses.
+#
+# In ebuilds for software that only utilizes the .NET SDK, without special
+# cases, the "dotnet-pkg.eclass" is probably better suited.
+#
+# This eclass does not export any phase functions, for that see
+# the "dotnet-pkg" eclass.
+
+case ${EAPI} in
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ -z ${_DOTNET_PKG_BASE_ECLASS} ]] ; then
+_DOTNET_PKG_BASE_ECLASS=1
+
+inherit edo multiprocessing nuget
+
+# @ECLASS_VARIABLE: DOTNET_PKG_COMPAT
+# @REQUIRED
+# @PRE_INHERIT
+# @DESCRIPTION:
+# Allows to choose a slot for dotnet.
+#
+# Most .NET packages will lock onto one supported .NET major version.
+# DOTNET_PKG_COMPAT should specify which version was chosen by package upstream.
+# In case multiple .NET versions are specified in the project, then the highest
+# should be picked by the maintainer.
+
+# @ECLASS_VARIABLE: DOTNET_PKG_RDEPS
+# @DESCRIPTION:
+# Populated with important dependencies on .NET ecosystem packages for running
+# .NET packages.
+#
+# "DOTNET_PKG_RDEPS" should appear (or conditionally appear) in "RDEPEND".
+DOTNET_PKG_RDEPS=""
+
+# @ECLASS_VARIABLE: DOTNET_PKG_BDEPS
+# @DESCRIPTION:
+# Populated with important dependencies on .NET ecosystem packages for building
+# .NET packages.
+#
+# "DOTNET_PKG_BDEPS" should appear (or conditionally appear) in "BDEPEND".
+DOTNET_PKG_BDEPS=""
+
+# Have this guard to be sure that *DEPS are not added to
+# the "dev-dotnet/dotnet-runtime-nugets" package dependencies.
+if [[ ${CATEGORY}/${PN} != dev-dotnet/dotnet-runtime-nugets ]] ; then
+ if [[ -z ${DOTNET_PKG_COMPAT} ]] ; then
+ die "${ECLASS}: DOTNET_PKG_COMPAT not set"
+ fi
+
+ 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 "
+ fi
+
+ IUSE+=" debug "
+fi
+
+# Needed otherwise the binaries may break.
+RESTRICT+=" strip "
+
+# Everything is built by "dotnet".
+QA_PREBUILT=".*"
+
+# Special .NET SDK environment variables.
+# Setting them either prevents annoying information from being generated
+# or stops services that may interfere with a clean package build.
+export DOTNET_CLI_TELEMETRY_OPTOUT=1
+export DOTNET_NOLOGO=1
+export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
+export MSBUILDDISABLENODEREUSE=1
+export POWERSHELL_TELEMETRY_OPTOUT=1
+export POWERSHELL_UPDATECHECK=0
+# Overwrite selected MSBuild properties ("-p:XYZ").
+export UseSharedCompilation=false
+
+# @ECLASS_VARIABLE: DOTNET_PKG_RUNTIME
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Sets the runtime used to build a package.
+#
+# This variable is set automatically by the "dotnet-pkg-base_setup" function.
+
+# @ECLASS_VARIABLE: DOTNET_PKG_EXECUTABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Sets path of a "dotnet" executable.
+#
+# This variable is set automatically by the "dotnet-pkg-base_setup" function.
+
+# @ECLASS_VARIABLE: DOTNET_PKG_CONFIGURATION
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Configuration value passed to "dotnet" in the compile phase.
+# Is either Debug or Release, depending on the "debug" USE flag.
+#
+# This variable is set automatically by the "dotnet-pkg-base_setup" function.
+
+# @ECLASS_VARIABLE: DOTNET_PKG_OUTPUT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Path of the output directory, where the package artifacts are placed during
+# the building of packages with "dotnet-pkg-base_build" function.
+#
+# This variable is set automatically by the "dotnet-pkg-base_setup" function.
+
+# @VARIABLE: _DOTNET_PKG_LAUNCHERDEST
+# @INTERNAL
+# @DESCRIPTION:
+# Sets the path that .NET launchers are installed into by
+# the "dotnet-pkg-base_dolauncher" function.
+#
+# The function "dotnet-pkg-base_launcherinto" is able to manipulate this
+# variable.
+#
+# Defaults to "/usr/bin".
+_DOTNET_PKG_LAUNCHERDEST=/usr/bin
+
+# @VARIABLE: _DOTNET_PKG_LAUNCHERVARS
+# @INTERNAL
+# @DESCRIPTION:
+# Sets additional variables for .NET launchers created by
+# the "dotnet-pkg-base_dolauncher" function.
+#
+# The function "dotnet-pkg-base_append_launchervar" is able to manipulate this
+# variable.
+#
+# Defaults to a empty array.
+_DOTNET_PKG_LAUNCHERVARS=()
+
+# @FUNCTION: dotnet-pkg-base_get-configuration
+# @DESCRIPTION:
+# Return .NET configuration type of the current package.
+#
+# It is advised to refer to the "DOTNET_PKG_CONFIGURATION" variable instead of
+# calling this function if necessary.
+#
+# Used by "dotnet-pkg-base_setup".
+dotnet-pkg-base_get-configuration() {
+ if in_iuse debug && use debug ; then
+ echo Debug
+ else
+ echo Release
+ fi
+}
+
+# @FUNCTION: dotnet-pkg-base_get-output
+# @USAGE: <name>
+# @DESCRIPTION:
+# Return a specially constructed name of a directory for output of
+# "dotnet build" artifacts ("--output" flag, see "dotnet-pkg-base_build").
+#
+# It is very rare that a maintainer would use this function in an ebuild.
+#
+# This function is used inside "dotnet-pkg-base_setup".
+dotnet-pkg-base_get-output() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ [[ -z ${DOTNET_PKG_CONFIGURATION} ]] &&
+ die "${FUNCNAME[0]}: DOTNET_PKG_CONFIGURATION is not set."
+
+ echo "${WORKDIR}/${1}_net${DOTNET_PKG_COMPAT}_${DOTNET_PKG_CONFIGURATION}"
+}
+
+# @FUNCTION: dotnet-pkg-base_get-runtime
+# @DESCRIPTION:
+# Return the .NET runtime used for the current package.
+#
+# Used by "dotnet-pkg-base_setup".
+dotnet-pkg-base_get-runtime() {
+ local libc
+ libc="$(usex elibc_musl "-musl" "")"
+
+ if use amd64 ; then
+ echo "linux${libc}-x64"
+ elif use x86 ; then
+ echo "linux${libc}-x86"
+ elif use arm ; then
+ echo "linux${libc}-arm"
+ elif use arm64 ; then
+ echo "linux${libc}-arm64"
+ else
+ die "${FUNCNAME[0]}: Unsupported architecture: ${ARCH}"
+ fi
+}
+
+# @FUNCTION: dotnet-pkg-base_setup
+# @DESCRIPTION:
+# Sets up "DOTNET_PKG_EXECUTABLE" variable for later use in "edotnet".
+# Also sets up "DOTNET_PKG_CONFIGURATION" and "DOTNET_PKG_OUTPUT"
+# for "dotnet-pkg_src_configure" and "dotnet-pkg_src_compile".
+#
+# This functions should be called by "pkg_setup".
+#
+# 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}")"
+
+ if [[ -n ${dotnet_compat_impl_path} ]] ; then
+ DOTNET_PKG_EXECUTABLE=${dotnet_compat_impl}
+ DOTNET_PKG_EXECUTABLE_PATH="${dotnet_compat_impl_path}"
+
+ 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_PKG_EXECUTABLE_PATH}" "${dotnet_spoof_path}"/dotnet || die
+ export PATH="${dotnet_spoof_path}:${PATH}"
+
+ einfo "Using dotnet SDK \"${DOTNET_PKG_EXECUTABLE}\" from \"${DOTNET_PKG_EXECUTABLE_PATH}\"."
+
+ # The picked "DOTNET_PKG_EXECUTABLE" should set "DOTNET_ROOT" internally
+ # and not rely upon this environment variable.
+ unset DOTNET_ROOT
+
+ # Unset .NET and NuGet directories.
+ unset DOTNET_DATA
+ unset NUGET_DATA
+
+ DOTNET_PKG_RUNTIME="$(dotnet-pkg-base_get-runtime)"
+ DOTNET_PKG_CONFIGURATION="$(dotnet-pkg-base_get-configuration)"
+ DOTNET_PKG_OUTPUT="$(dotnet-pkg-base_get-output "${P}")"
+}
+
+# @FUNCTION: dotnet-pkg-base_remove-global-json
+# @USAGE: [directory]
+# @DESCRIPTION:
+# Remove the "global.json" if it exists.
+# The file in question might lock target package to a specified .NET
+# version, which might be unnecessary (as it is in most cases).
+#
+# Optional "directory" argument defaults to the current directory path.
+#
+# Used by "dotnet-pkg_src_prepare" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_remove-global-json() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local file="${1:-.}"/global.json
+
+ if [[ -f "${file}" ]] ; then
+ ebegin "Removing the global.json file"
+ rm "${file}"
+ eend ${?} || die "${FUNCNAME[0]}: failed to remove ${file}"
+ fi
+}
+
+# @FUNCTION: edotnet
+# @USAGE: <command> [args...]
+# @DESCRIPTION:
+# Call dotnet, passing the supplied arguments.
+edotnet() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ if [[ -z ${DOTNET_PKG_EXECUTABLE} ]] ; then
+ die "${FUNCNAME[0]}: DOTNET_PKG_EXECUTABLE not set. Was dotnet-pkg-base_setup called?"
+ fi
+
+ edo "${DOTNET_PKG_EXECUTABLE}" "${@}"
+}
+
+# @FUNCTION: dotnet-pkg-base_info
+# @DESCRIPTION:
+# Show information about current .NET SDK that is being used.
+#
+# Depends upon the "gentoo-dotnet-info" program installed by
+# the "dev-dotnet/csharp-gentoodotnetinfo" package.
+#
+# Used by "dotnet-pkg_src_configure" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_info() {
+ if [[ ${CATEGORY}/${PN} == dev-dotnet/csharp-gentoodotnetinfo ]] ; then
+ debug-print-function "${FUNCNAME[0]}: ${P} is a special package, skipping dotnet-pkg-base_info"
+ elif command -v gentoo-dotnet-info >/dev/null ; then
+ gentoo-dotnet-info || die "${FUNCNAME[0]}: failed to execute gentoo-dotnet-info"
+ else
+ ewarn "${FUNCNAME[0]}: gentoo-dotnet-info not available"
+ fi
+}
+
+# @FUNCTION: dotnet-pkg-base_foreach-solution
+# @USAGE: <function> [directory]
+# @DESCRIPTION:
+# Execute a function for each solution file (.sln) in a specified directory.
+# This function may yield no real results because solutions are discovered
+# automatically.
+#
+# Optional "directory" argument defaults to the current directory path.
+#
+# Used by "dotnet-pkg_src_configure" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_foreach-solution() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local dotnet_solution
+ local dotnet_solution_name
+ while read -r dotnet_solution ; do
+ dotnet_solution_name="$(basename "${dotnet_solution}")"
+
+ ebegin "Running \"${1}\" for solution: \"${dotnet_solution_name}\""
+ "${1}" "${dotnet_solution}"
+ eend $? "${FUNCNAME[0]}: failed for solution: \"${dotnet_solution}\"" || die
+ done < <(find "${2:-.}" -maxdepth 1 -type f -name "*.sln")
+}
+
+# @FUNCTION: dotnet-pkg-base_restore
+# @USAGE: [directory] [args] ...
+# @DESCRIPTION:
+# Restore the package using "dotnet restore" in a specified directory.
+#
+# 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.
+#
+# Used by "dotnet-pkg_src_configure" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_restore() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local directory
+ if [[ "${1}" ]] ; then
+ directory="${1}"
+ shift
+ else
+ directory="$(pwd)"
+ fi
+
+ local -a restore_args=(
+ --runtime "${DOTNET_PKG_RUNTIME}"
+ --source "${NUGET_PACKAGES}"
+ -maxCpuCount:$(makeopts_jobs)
+ "${@}"
+ )
+
+ edotnet restore "${restore_args[@]}" "${directory}"
+}
+
+# @FUNCTION: dotnet-pkg-base_restore_tools
+# @USAGE: [config-file] [args] ...
+# @DESCRIPTION:
+# Restore dotnet tools for a project in the current directory.
+#
+# Optional "config-file" argument is used to specify a file for the
+# "--configfile" option which records what tools should be restored.
+#
+# Additionally any number of "args" maybe be given, they are appended to
+# the "dotnet" command invocation.
+dotnet-pkg-base_restore_tools() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local -a tool_restore_args=(
+ --add-source "${NUGET_PACKAGES}"
+ )
+
+ if [[ "${1}" ]] ; then
+ tool_restore_args+=( --configfile "${1}" )
+ shift
+ fi
+
+ tool_restore_args+=( "${@}" )
+
+ edotnet tool restore "${tool_restore_args[@]}"
+}
+
+# @FUNCTION: dotnet-pkg-base_build
+# @USAGE: [directory] [args] ...
+# @DESCRIPTION:
+# Build the package using "dotnet build" in a specified directory.
+#
+# 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.
+#
+# Used by "dotnet-pkg_src_compile" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_build() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local directory
+ if [[ "${1}" ]] ; then
+ directory="${1}"
+ shift
+ else
+ directory="$(pwd)"
+ fi
+
+ local -a build_args=(
+ --configuration "${DOTNET_PKG_CONFIGURATION}"
+ --no-restore
+ --no-self-contained
+ --output "${DOTNET_PKG_OUTPUT}"
+ --runtime "${DOTNET_PKG_RUNTIME}"
+ -maxCpuCount:$(makeopts_jobs)
+ "${@}"
+ )
+
+ if ! use debug ; then
+ build_args+=(
+ -p:StripSymbols=true
+ -p:NativeDebugSymbols=false
+ )
+ fi
+
+ edotnet build "${build_args[@]}" "${directory}"
+}
+
+# @FUNCTION: dotnet-pkg-base_test
+# @USAGE: [directory] [args] ...
+# @DESCRIPTION:
+# Test the package using "dotnet test" in a specified directory.
+#
+# 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.
+#
+# Used by "dotnet-pkg_src_test" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_test() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local directory
+ if [[ "${1}" ]] ; then
+ directory="${1}"
+ shift
+ else
+ directory="$(pwd)"
+ fi
+
+ local -a test_args=(
+ --configuration "${DOTNET_PKG_CONFIGURATION}"
+ --no-restore
+ -maxCpuCount:$(makeopts_jobs)
+ "${@}"
+ )
+
+ edotnet test "${test_args[@]}" "${directory}"
+}
+
+# @FUNCTION: dotnet-pkg-base_install
+# @USAGE: [directory]
+# @DESCRIPTION:
+# Install the contents of "DOTNET_PKG_OUTPUT" into a directory, defaults to
+# "/usr/share/${P}".
+#
+# Installation directory is relative to "ED".
+dotnet-pkg-base_install() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local installation_directory="${1:-/usr/share/${P}}"
+
+ dodir "${installation_directory}"
+ cp -r "${DOTNET_PKG_OUTPUT}"/* "${ED}/${installation_directory}/" || die
+}
+
+# @FUNCTION: dotnet-pkg-base_launcherinto
+# @USAGE: <directory>
+# @DESCRIPTION:
+# Changes the path .NET launchers are installed into via subsequent
+# "dotnet-pkg-base_dolauncher" calls.
+#
+# For more info see the "_DOTNET_PKG_LAUNCHERDEST" variable.
+dotnet-pkg-base_launcherinto() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ [[ -z ${1} ]] && die "${FUNCNAME[0]}: no directory specified"
+
+ _DOTNET_PKG_LAUNCHERDEST="${1}"
+}
+
+# @FUNCTION: dotnet-pkg-base_append_launchervar
+# @USAGE: <variable-setting>
+# @DESCRIPTION:
+# Appends a given variable setting to the "_DOTNET_PKG_LAUNCHERVARS".
+#
+# WARNING: This functions modifies a global variable permanently!
+# This means that all launchers created in subsequent
+# "dotnet-pkg-base_dolauncher" calls of a given package will have
+# the given variable set.
+#
+# Example:
+# @CODE
+# dotnet-pkg-base_append_launchervar "DOTNET_EnableAlternateStackCheck=1"
+# @CODE
+#
+# For more info see the "_DOTNET_PKG_LAUNCHERVARS" variable.
+dotnet-pkg-base_append_launchervar() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ [[ -z ${1} ]] && die "${FUNCNAME[0]}: no variable setting specified"
+
+ _DOTNET_PKG_LAUNCHERVARS+=( "${1}" )
+}
+
+# @FUNCTION: dotnet-pkg-base_dolauncher
+# @USAGE: <executable-path> [filename]
+# @DESCRIPTION:
+# Make a wrapper script to launch an executable built from a .NET package.
+#
+# If no file name is given, the `basename` of the executable is used.
+#
+# Parameters:
+# ${1} - path of the executable to launch,
+# ${2} - filename of launcher to create (optional).
+#
+# Example:
+# @CODE
+# dotnet-pkg-base_install
+# dotnet-pkg-base_dolauncher /usr/share/${P}/${PN^}
+# @CODE
+#
+# The path is prepended by "EPREFIX".
+dotnet-pkg-base_dolauncher() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local executable_path executable_name
+
+ if [[ "${1}" ]] ; then
+ local executable_path="${1}"
+ shift
+ else
+ die "${FUNCNAME[0]}: No executable path given."
+ fi
+
+ if [[ ${#} -eq 0 ]] ; then
+ executable_name="$(basename "${executable_path}")"
+ else
+ executable_name="${1}"
+ shift
+ fi
+
+ local executable_target="${T}/${executable_name}"
+
+ cat <<-EOF > "${executable_target}" || die
+ #!/bin/sh
+
+ # Launcher script for ${executable_path} (${executable_name}),
+ # created from package "${CATEGORY}/${P}",
+ # compatible with dotnet version ${DOTNET_PKG_COMPAT}.
+
+ for __dotnet_root in \\
+ ${EPREFIX}/usr/$(get_libdir)/dotnet-sdk-${DOTNET_PKG_COMPAT} \\
+ ${EPREFIX}/opt/dotnet-sdk-bin-${DOTNET_PKG_COMPAT} ; do
+ [ -d \${__dotnet_root} ] && break
+ done
+
+ DOTNET_ROOT="\${__dotnet_root}"
+ export DOTNET_ROOT
+
+ $(for var in "${_DOTNET_PKG_LAUNCHERVARS[@]}" ; do
+ echo "${var}"
+ echo "export ${var%%=*}"
+ done)
+
+ exec "${EPREFIX}${executable_path}" "\${@}"
+ EOF
+
+ exeinto "${_DOTNET_PKG_LAUNCHERDEST}"
+ doexe "${executable_target}"
+}
+
+# @FUNCTION: dotnet-pkg-base_dolauncher_portable
+# @USAGE: <dll-path> <filename>
+# @DESCRIPTION:
+# Make a wrapper script to launch a .NET DLL file built from a .NET package.
+#
+# Parameters:
+# ${1} - path of the DLL to launch,
+# ${2} - filename of launcher to create.
+#
+# Example:
+# @CODE
+# 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() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local dll_path="${1}"
+ local executable_name="${2}"
+ local executable_target="${T}/${executable_name}"
+
+ cat <<-EOF > "${executable_target}" || die
+ #!/bin/sh
+
+ # Launcher script for ${dll_path} (${executable_name}),
+ # created from package "${CATEGORY}/${P}",
+ # compatible with any dotnet version, built on ${DOTNET_PKG_COMPAT}.
+
+ $(for var in "${_DOTNET_PKG_LAUNCHERVARS[@]}" ; do
+ echo "${var}"
+ echo "export ${var%%=*}"
+ done)
+
+ exec dotnet exec "${EPREFIX}${dll_path}" "\${@}"
+ EOF
+
+ exeinto "${_DOTNET_PKG_LAUNCHERDEST}"
+ doexe "${executable_target}"
+}
+
+fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-15 20:49 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2023-09-15 20:49 UTC (permalink / raw
To: gentoo-commits
commit: fd3d39616f2a7ff01ce9f692d14d17a6b4d1a08e
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 15 14:49:48 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Fri Sep 15 20:47:00 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd3d3961
eclass/dotnet-pkg.eclass: add new dotnet-pkg eclass
common functions and variables for .NET packages
Bug: https://bugs.gentoo.org/900597
Bug: https://github.com/gentoo/gentoo/pull/32109
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg.eclass | 263 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 263 insertions(+)
diff --git a/eclass/dotnet-pkg.eclass b/eclass/dotnet-pkg.eclass
new file mode 100644
index 000000000000..05886af8554f
--- /dev/null
+++ b/eclass/dotnet-pkg.eclass
@@ -0,0 +1,263 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: dotnet-pkg.eclass
+# @MAINTAINER:
+# Gentoo Dotnet project <dotnet@gentoo.org>
+# @AUTHOR:
+# Anna Figueiredo Gomes <navi@vlhl.dev>
+# Maciej Barć <xgqt@gentoo.org>
+# @SUPPORTED_EAPIS: 8
+# @PROVIDES: dotnet-pkg-base nuget
+# @BLURB: common functions and variables for .NET packages
+# @DESCRIPTION:
+# This eclass is designed to help with building and installing packages that
+# use the .NET SDK.
+# It provides the required phase functions and special variables that make
+# it easier to write ebuilds for .NET packages.
+# If you do not use the exported phase functions, then consider using
+# the "dotnet-pkg-base.eclass" instead.
+#
+# .NET SDK is a open-source framework from Microsoft, it is a cross-platform
+# successor to .NET Framework.
+#
+# .NET packages require proper inspection before packaging:
+# - the compatible .NET SDK version has to be declared,
+# this can be done by inspecting the package's "*.proj" files,
+# unlike JAVA, .NET packages tend to lock onto one exact selected .NET SDK
+# version, so building with other .NET versions will be mostly unsupported,
+# - Nugets, packages' .NET dependencies, which are similar to JAVA's JARs,
+# have to be listed using either the "NUGETS" variable or bundled inside
+# a "prebuilt" archive, in second case also the "NUGET_PACKAGES" variable
+# has to be explicitly set.
+# - the main project file (*.proj) that builds the project has to be specified
+# by the "DOTNET_PROJECT" variable.
+
+case ${EAPI} in
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ -z ${_DOTNET_PKG_ECLASS} ]] ; then
+_DOTNET_PKG_ECLASS=1
+
+inherit dotnet-pkg-base
+
+# Append to "RDEPEND" and "BDEPEND" "DOTNET_PKG_RDEPS" and "DOTNET_PKG_BDEPS"
+# generated by "dotnet-pkg-base" eclass.
+RDEPEND+=" ${DOTNET_PKG_RDEPS} "
+BDEPEND+=" ${DOTNET_PKG_BDEPS} "
+
+# @ECLASS_VARIABLE: DOTNET_PKG_PROJECTS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Path to the main .NET project files (".csproj", ".fsproj", ".vbproj")
+# used by default by "dotnet-pkg_src_compile" phase function.
+#
+# In .NET version 6.0 and lower it was possible to build a project solution
+# (".sln") immediately with output to a specified directory ("--output DIR"),
+# but versions >= 7.0 deprecated this behavior. This means that
+# "dotnet-pkg-base_build" will fail when pointed to a solution or a directory
+# containing a solution file.
+#
+# It is up to the maintainer if this variable is set before inheriting
+# "dotnet-pkg-base" eclass, but it is advised that it is set after
+# the variable "${S}" is set, it should also integrate with it
+# (see the example below).
+#
+# Example:
+# @CODE
+# SRC_URI="..."
+# S="${WORKDIR}/${P}/src"
+#
+# LICENSE="MIT"
+# SLOT="0"
+# KEYWORDS="~amd64"
+#
+# DOTNET_PKG_PROJECTS=( "${S}/DotnetProject" )
+#
+# src_prepare() {
+# ...
+# @CODE
+
+# @ECLASS_VARIABLE: DOTNET_PKG_RESTORE_EXTRA_ARGS
+# @DESCRIPTION:
+# Extra arguments to pass to the package restore, in the "src_configure" phase.
+#
+# This is passed only when restoring the specified "DOTNET_PROJECT".
+# Other project restorers do not use this variable.
+#
+# It is up to the maintainer if this variable is set before inheriting
+# "dotnet-pkg.eclass", but it is advised that it is set after the variable
+# "DOTNET_PROJECT" (from "dotnet-pkg-base" eclass) is set.
+#
+# Default value is an empty array.
+#
+# For more info see the "DOTNET_PROJECT" variable and "dotnet-pkg_src_configure".
+DOTNET_PKG_RESTORE_EXTRA_ARGS=()
+
+# @ECLASS_VARIABLE: DOTNET_PKG_BUILD_EXTRA_ARGS
+# @DESCRIPTION:
+# Extra arguments to pass to the package build, in the "src_compile" phase.
+#
+# This is passed only when building the specified "DOTNET_PROJECT".
+# Other project builds do not use this variable.
+#
+# It is up to the maintainer if this variable is set before inheriting
+# "dotnet-pkg.eclass", but it is advised that it is set after the variable
+# "DOTNET_PROJECT" (from "dotnet-pkg-base" eclass) is set.
+#
+# Default value is an empty array.
+#
+# Example:
+# @CODE
+# DOTNET_PKG_BUILD_EXTRA_ARGS=( -p:WarningLevel=0 )
+# @CODE
+#
+# For more info see the "DOTNET_PROJECT" variable and "dotnet-pkg_src_compile".
+DOTNET_PKG_BUILD_EXTRA_ARGS=()
+
+# @FUNCTION: dotnet-pkg_pkg_setup
+# @DESCRIPTION:
+# Default "pkg_setup" for the "dotnet-pkg" eclass.
+# Pre-build configuration and checks.
+#
+# Calls "dotnet-pkg-base_pkg_setup".
+dotnet-pkg_pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && dotnet-pkg-base_setup
+}
+
+# @FUNCTION: dotnet-pkg_src_unpack
+# @DESCRIPTION:
+# Default "src_unpack" for the "dotnet-pkg" eclass.
+# Unpack the package sources.
+#
+# Includes a special exception for nugets (".nupkg" files) - they are instead
+# copied into the "NUGET_PACKAGES" directory.
+dotnet-pkg_src_unpack() {
+ nuget_link-system-nugets
+
+ local archive
+ for archive in ${A} ; do
+ case "${archive}" in
+ *.nupkg )
+ nuget_link "${DISTDIR}/${archive}"
+ ;;
+ * )
+ unpack "${archive}"
+ ;;
+ esac
+ 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".
+dotnet-pkg_src_prepare() {
+ dotnet-pkg-base_remove-global-json
+
+ default
+}
+
+# @FUNCTION: dotnet-pkg_foreach-project
+# @USAGE: <args> ...
+# @DESCRIPTION:
+# Run a specified command for each project listed inside the "DOTNET_PKG_PROJECTS"
+# variable.
+#
+# Used by "dotnet-pkg_src_configure" and "dotnet-pkg_src_compile".
+dotnet-pkg_foreach-project() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local dotnet_project
+ for dotnet_project in "${DOTNET_PKG_PROJECTS[@]}" ; do
+ ebegin "Running \"${*}\" for project: \"${dotnet_project##*/}\""
+ "${@}" "${dotnet_project}"
+ eend $? "${FUNCNAME[0]}: failed for project: \"${dotnet_project}\"" || die
+ done
+}
+
+# @FUNCTION: dotnet-pkg_src_configure
+# @DESCRIPTION:
+# Default "src_configure" for the "dotnet-pkg" eclass.
+# Configure the package.
+#
+# First show information about current .NET SDK that is being used,
+# then restore the project file specified by "DOTNET_PROJECT",
+# afterwards restore any found solutions.
+dotnet-pkg_src_configure() {
+ dotnet-pkg-base_info
+
+ dotnet-pkg_foreach-project \
+ dotnet-pkg-base_restore "${DOTNET_PKG_RESTORE_EXTRA_ARGS[@]}"
+
+ dotnet-pkg-base_foreach-solution dotnet-pkg-base_restore "$(pwd)"
+}
+
+# @FUNCTION: dotnet-pkg_src_compile
+# @DESCRIPTION:
+# Default "src_compile" for the "dotnet-pkg" eclass.
+# Build the package.
+#
+# Build the package using "dotnet build" in the directory specified by either
+# "DOTNET_PROJECT" or "S" (temporary build directory) variables.
+#
+# For more info see: "DOTNET_PROJECT" variable
+# and "dotnet-pkg-base_get-project" function.
+dotnet-pkg_src_compile() {
+ dotnet-pkg_foreach-project \
+ dotnet-pkg-base_build "${DOTNET_PKG_BUILD_EXTRA_ARGS[@]}"
+}
+
+# @FUNCTION: dotnet-pkg_src_test
+# @DESCRIPTION:
+# Default "src_test" for the "dotnet-pkg" eclass.
+# Test the package.
+#
+# Test the package by testing any found solutions.
+#
+# It is very likely that this function will either not execute any tests or
+# will execute wrong or incomplete test suite. Maintainers should inspect if
+# any and/or correct tests are ran.
+dotnet-pkg_src_test() {
+ dotnet-pkg-base_foreach-solution dotnet-pkg-base_test "$(pwd)"
+}
+
+# @FUNCTION: dotnet-pkg_src_install
+# @DESCRIPTION:
+# Default "src_install" for the "dotnet-pkg" eclass.
+# Install the package.
+#
+# This is the default package install:
+# - install the compiled .NET package artifacts,
+# for more info see "dotnet-pkg-base_install" and "DOTNET_PKG_OUTPUT",
+# - create launcher from the .NET package directory to "/usr/bin",
+# phase will detect to choose either executable with capital letter
+# (common among .NET packages) or not,
+# - call "einstalldocs".
+#
+# It is very likely that this function is either insufficient or has to be
+# redefined in a ebuild.
+dotnet-pkg_src_install() {
+ dotnet-pkg-base_install
+
+ # /usr/bin/Nake -> /usr/share/nake-3.0.0/Nake
+ if [[ -f "${D}/usr/share/${P}/${PN^}" ]] ; then
+ dotnet-pkg-base_dolauncher "/usr/share/${P}/${PN^}"
+
+ # Create a compatibility symlink and also for ease of use from CLI.
+ dosym -r "/usr/bin/${PN^}" "/usr/bin/${PN}"
+
+ elif [[ -f "${D}/usr/share/${P}/${PN}" ]] ; then
+ dotnet-pkg-base_dolauncher "/usr/share/${P}/${PN}"
+ fi
+
+ einstalldocs
+}
+
+fi
+
+EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-15 20:49 Maciej Barć
0 siblings, 0 replies; 6228+ messages in thread
From: Maciej Barć @ 2023-09-15 20:49 UTC (permalink / raw
To: gentoo-commits
commit: a87a7aaecdff4dd41209ec2e467ebd5aab61494e
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 15 14:32:25 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Fri Sep 15 20:46:59 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a87a7aae
eclass/nuget.eclass: add new nuget eclass
common functions and variables for handling .NET NuGets
Bug: https://bugs.gentoo.org/900597
Bug: https://github.com/gentoo/gentoo/pull/32109
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/nuget.eclass | 197 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 197 insertions(+)
diff --git a/eclass/nuget.eclass b/eclass/nuget.eclass
new file mode 100644
index 000000000000..8ac81497f523
--- /dev/null
+++ b/eclass/nuget.eclass
@@ -0,0 +1,197 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: nuget.eclass
+# @MAINTAINER:
+# Gentoo Dotnet project <dotnet@gentoo.org>
+# @AUTHOR:
+# Anna Figueiredo Gomes <navi@vlhl.dev>
+# Maciej Barć <xgqt@gentoo.org>
+# @SUPPORTED_EAPIS: 8
+# @BLURB: common functions and variables for handling .NET NuGets
+# @DESCRIPTION:
+# This eclass is designed to provide support for .NET NuGet's ".nupkg" files.
+# It is used to handle NuGets installation and usage.
+# "dotnet-pkg" and "dotnet-pkg-utils" inherit this eclass.
+#
+# This eclass does not export any phase functions, for that see
+# the "dotnet-pkg" eclass.
+
+case ${EAPI} in
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ -z ${_NUGET_ECLASS} ]] ; then
+_NUGET_ECLASS=1
+
+# @ECLASS_VARIABLE: NUGET_SYSTEM_NUGETS
+# @DESCRIPTION:
+# Location of the system NuGet packages directory.
+readonly NUGET_SYSTEM_NUGETS=/opt/dotnet-nugets
+
+# @ECLASS_VARIABLE: NUGET_APIS
+# @PRE_INHERIT
+# @DESCRIPTION:
+# NuGet API URLs to use for precompiled NuGet package ".nupkg" downloads.
+# Set this variable pre-inherit.
+#
+# Defaults to an array of one item:
+# "https://api.nuget.org/v3-flatcontainer"
+#
+# Example:
+# @CODE
+# NUGET_APIS+=( "https://api.nuget.org/v3-flatcontainer" )
+# inherit nuget
+# SRC_URI="https://example.com/example.tar.xz"
+# SRC_URI+=" ${NUGET_URIS} "
+# @CODE
+if [[ -z "${NUGET_APIS}" ]] ; then
+ NUGET_APIS=( "https://api.nuget.org/v3-flatcontainer" )
+fi
+
+# @ECLASS_VARIABLE: NUGET_PACKAGES
+# @DEFAULT_UNSET
+# @PRE_INHERIT
+# @DESCRIPTION:
+# Path from where NuGets will be restored from.
+# This is a special variable that modifies the behavior of "dotnet".
+#
+# Defaults to ${T}/nugets for use with "NUGETS" but may be set to a custom
+# location to, for example, restore NuGets extracted from a prepared archive.
+# Do not set this variable in conjunction with non-empty "NUGETS".
+if [[ -n "${NUGETS}" || -z "${NUGET_PACKAGES}" ]] ; then
+ NUGET_PACKAGES="${T}"/nugets
+fi
+export NUGET_PACKAGES
+
+# @ECLASS_VARIABLE: NUGETS
+# @DEFAULT_UNSET
+# @PRE_INHERIT
+# @DESCRIPTION:
+# String containing all NuGet packages that need to be downloaded.
+#
+# Used by "_nuget_uris".
+#
+# Example:
+# @CODE
+# NUGETS="
+# ImGui.NET@1.87.2
+# Config.Net@4.19.0
+# "
+#
+# inherit dotnet-pkg
+#
+# ...
+#
+# SRC_URI+=" ${NUGET_URIS} "
+# @CODE
+
+# @ECLASS_VARIABLE: NUGET_URIS
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# List of URIs to put in SRC_URI created from NUGETS variable.
+
+# @FUNCTION: _nuget_set_nuget_uris
+# @USAGE: <nugets>
+# @DESCRIPTION:
+# Generates the URIs to put in SRC_URI to help fetch dependencies.
+# Constructs a list of NuGets from its arguments.
+# The value is set as "NUGET_URIS".
+_nuget_set_nuget_uris() {
+ local nugets="${1}"
+
+ NUGET_URIS=""
+
+ local nuget
+ local name version
+ local nuget_api url
+ for nuget in ${nugets} ; do
+ name="${nuget%@*}"
+ version="${nuget##*@}"
+
+ for nuget_api in "${NUGET_APIS[@]}" ; do
+ case ${nuget_api%/} in
+ */v2 )
+ url="${nuget_api}/package/${name}/${version}
+ -> ${name}.${version}.nupkg"
+ ;;
+ * )
+ url="${nuget_api}/${name}/${version}/${name}.${version}.nupkg"
+ ;;
+ esac
+
+ NUGET_URIS+="${url} "
+ done
+ done
+}
+
+_nuget_set_nuget_uris "${NUGETS}"
+
+# @FUNCTION: nuget_link
+# @USAGE: <nuget-path>
+# @DESCRIPTION:
+# Link a specified NuGet package at "nuget-path" to the "NUGET_PACKAGES"
+# directory.
+#
+# Example:
+# @CODE
+# nuget_link "${DISTDIR}"/pkg.0.nupkg
+# @CODE
+#
+# This function is used inside "dotnet-pkg_src_unpack"
+# from the "dotnet-pkg" eclass.
+nuget_link() {
+ [[ -z "${1}" ]] && die "${FUNCNAME[0]}: no nuget path given"
+
+ mkdir -p "${NUGET_PACKAGES}" || die
+
+ local nuget_name="${1##*/}"
+
+ if [[ -f "${NUGET_PACKAGES}/${nuget_name}" ]] ; then
+ eqawarn "QA Notice: \"${nuget_name}\" already exists, not linking it"
+ else
+ ln -s "${1}" "${NUGET_PACKAGES}/${nuget_name}" || die
+ fi
+}
+
+# @FUNCTION: nuget_link-system-nugets
+# @DESCRIPTION:
+# Link all system NuGet packages to the "NUGET_PACKAGES" directory.
+#
+# Example:
+# @CODE
+# src_unpack() {
+# nuget_link-system-nugets
+# default
+# }
+# @CODE
+#
+# This function is used inside "dotnet-pkg_src_unpack"
+# from the "dotnet-pkg" eclass.
+nuget_link-system-nugets() {
+ local runtime_nuget
+ for runtime_nuget in "${EPREFIX}${NUGET_SYSTEM_NUGETS}"/*.nupkg ; do
+ if [[ -f "${runtime_nuget}" ]] ; then
+ nuget_link "${runtime_nuget}"
+ fi
+ done
+}
+
+# @FUNCTION: nuget_donuget
+# @USAGE: <nuget-path> ...
+# @DESCRIPTION:
+# Install NuGet package(s) at "nuget-path" to the system nugets directory.
+#
+# Example:
+# @CODE
+# src_install() {
+# nuget_donuget my-pkg.nupkg
+# }
+# @CODE
+nuget_donuget() {
+ insinto "${NUGET_SYSTEM_NUGETS}"
+ doins "${@}"
+}
+
+fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14 20:43 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-14 20:43 UTC (permalink / raw
To: gentoo-commits
commit: d863cc9d8ea3722e0ecd6c17e89d88830b45f4fb
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 13 12:58:55 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Sep 14 20:39:35 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d863cc9d
qt6-build.eclass: skip matching fma in 6.5.3+
Should no longer hard fail if lack AVX2 while have FMA, however it does
(still) require to disable AVX2 if lacking anything else for any reason
(e.g. broken VMs, oddball hardware, perhaps even users intentionally
disabling a feature because they have a problem with it).
Generally few users should see their flags modified.
Feel the ideal would be for upstream to simply not use features that
are disabled rather than error about an incomplete set, or just not
use AVX2 if incomplete.
Bug: https://bugs.gentoo.org/898644
Bug: https://bugs.gentoo.org/908420
Bug: https://bugs.gentoo.org/913843
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 2990b41a9e95..18f317e32e16 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -258,12 +258,13 @@ _qt6-build_match_cpu_flags() {
[[ ${intrin} ]] && flags+=( -mno-${intrin} )
done
done < <(
- # TODO: review if can drop fma= matching after QTBUG-116357
+ # TODO: drop ver_test and ${fma} when <6.5.3 is gone
+ ver_test ${PV} -ge 6.5.3 && fma= || fma=fma
$(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 2
#if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
#include <x86intrin.h>
#endif
- avx2=__AVX2__ =__BMI__ =__BMI2__ =__F16C__ fma=__FMA__ =__LZCNT__ =__POPCNT__
+ avx2=__AVX2__ =__BMI__ =__BMI2__ =__F16C__ ${fma}=__FMA__ =__LZCNT__ =__POPCNT__
avx512f=__AVX512F__ avx512bw=__AVX512BW__ avx512cd=__AVX512CD__ avx512dq=__AVX512DQ__ avx512vl=__AVX512VL__
EOF
assert
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14 5:30 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-14 5:30 UTC (permalink / raw
To: gentoo-commits
commit: 597762f0cd480abcd18792f519db370a6c249e25
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Mon Sep 11 02:18:37 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 14 05:30:08 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=597762f0
distutils-r1.eclass: teach setuptools to respect (some) build options
Previously, setup.py was handled by:
- manually passing makejobs, with a heuristic to guess whether it was a
time saver to do so.
- rm -rf'ing the build directory in between python versions to prevent
cross-version contamination
This is because in PEP 517 mode, it doesn't accept build options
specific to a setuptools phase. So a crude hack is to just build_ext
twice, once explicitly and once internally as part of bdist_wheel, and
pray that in the latter case it detects that there's nothing to do.
Unfortunately, sometimes build_ext does NOT detect that there is nothing
to do -- e.g. for codegen tools such as mypyc, that produce *.c files
which are different every time you try building. As for build
directories, those were given up on as hopeless.
There's a better hack which is to set a magic environment variable for a
setup.cfg file which is parsed additionally to the one provided by the
project. It can contain additional settings, such as the build-base and
parallelism, which means that bdist_wheel intrinsically builds
extensions in parallel the only time it is called. And we can set the
output directory for all build artifacts to outside of the source tree,
so it is no longer necessary to delete them (which among other things,
makes debugging difficult).
This is similar to .pydistutils.cfg, but is processed later and can be
in arbitrary locations. Since we store it in the per-impl build
directory we don't need to wipe it after using it to avoid leakage.
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/distutils-r1.eclass | 48 ++++++++++------------------------------------
1 file changed, 10 insertions(+), 38 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 91de144e1110..56afcdc5bcb8 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1461,12 +1461,6 @@ distutils_pep517_install() {
[[ -n ${wheel} ]] || die "No wheel name returned"
distutils_wheel_install "${root}" "${WHEEL_BUILD_DIR}/${wheel}"
-
- # clean the build tree; otherwise we may end up with PyPy3
- # extensions duplicated into CPython dists
- if [[ ${DISTUTILS_USE_PEP517:-setuptools} == setuptools ]]; then
- rm -rf build || die
- fi
}
# @FUNCTION: distutils-r1_python_compile
@@ -1478,9 +1472,6 @@ distutils_pep517_install() {
#
# If DISTUTILS_USE_PEP517 is set to any other value, builds a wheel
# using the PEP517 backend and installs it into ${BUILD_DIR}/install.
-# May additionally call build_ext prior to that when using setuptools
-# and the eclass detects a potential benefit from parallel extension
-# builds.
#
# In legacy mode, runs 'esetup.py build'. Any parameters passed to this
# function will be appended to setup.py invocation, i.e. passed
@@ -1495,40 +1486,21 @@ distutils-r1_python_compile() {
# call setup.py build when using setuptools (either via PEP517
# or in legacy mode)
- if [[ ${DISTUTILS_USE_PEP517} ]]; then
- if [[ -d build ]]; then
- eqawarn "A 'build' directory exists already. Artifacts from this directory may"
- eqawarn "be picked up by setuptools when building for another interpreter."
- eqawarn "Please remove this directory prior to building."
- fi
- else
- _distutils-r1_copy_egg_info
- fi
-
# distutils is parallel-capable since py3.5
local jobs=$(makeopts_jobs "${MAKEOPTS} ${*}")
if [[ ${DISTUTILS_USE_PEP517} ]]; then
- # issue build_ext only if it looks like we have at least
- # two source files to build; setuptools is expensive
- # to start and parallel builds can only benefit us if we're
- # compiling at least two files
- #
- # see extension.py for list of suffixes
- # .pyx is added for Cython
- #
- # esetup.py does not respect SYSROOT, so skip it there
- if [[ -z ${SYSROOT} && ${DISTUTILS_EXT} && 1 -ne ${jobs}
- && 2 -eq $(
- find '(' -name '*.c' -o -name '*.cc' -o -name '*.cpp' \
- -o -name '*.cxx' -o -name '*.c++' -o -name '*.m' \
- -o -name '*.mm' -o -name '*.pyx' ')' -printf '\n' |
- head -n 2 | wc -l
- )
- ]]; then
- esetup.py build_ext -j "${jobs}" "${@}"
- fi
+ 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
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14 5:30 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-14 5:30 UTC (permalink / raw
To: gentoo-commits
commit: 92b2cb6c698e07ed49f7cb997df0e3824a65d49e
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 8 10:09:44 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 14 05:30:12 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92b2cb6c
verify-sig.eclass: Fix list formatting for VERIFY_SIG_METHOD
Thanks to ulm for reporting.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/verify-sig.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass
index 010361bfbc98..49557b633c87 100644
--- a/eclass/verify-sig.eclass
+++ b/eclass/verify-sig.eclass
@@ -55,8 +55,8 @@ IUSE="verify-sig"
# @DESCRIPTION:
# Signature verification method to use. The allowed value are:
#
-# - openpgp -- verify PGP signatures using app-crypt/gnupg (the default)
-# - signify -- verify signatures with Ed25519 public key using app-crypt/signify
+# - openpgp -- verify PGP signatures using app-crypt/gnupg (the default)
+# - signify -- verify signatures with Ed25519 public key using app-crypt/signify
: "${VERIFY_SIG_METHOD:=openpgp}"
case ${VERIFY_SIG_METHOD} in
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14 5:30 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-14 5:30 UTC (permalink / raw
To: gentoo-commits
commit: 93a87f4f59eb62356f2d2cc45c6cb252cf865e11
Author: Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Tue Sep 12 11:03:23 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 14 05:30:09 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93a87f4f
python-utils-r1.eclass: unconditionally warn on occluded packages in cwd
If the current directory masks packages that would be installed and
contains different contents, it can cause testing issues that otherwise
go unnoticed. This warning can stop being experimental and opt-in
Suggested-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/32729
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/python-utils-r1.eclass | 4 ----
1 file changed, 4 deletions(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index bd30c1203180..50aeabae1c17 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1242,10 +1242,6 @@ _python_check_EPYTHON() {
_python_check_occluded_packages() {
debug-print-function ${FUNCNAME} "${@}"
- # DO NOT ENABLE THIS unless you're going to check for false
- # positives before filing bugs.
- [[ ! ${PYTHON_EXPERIMENTAL_QA} ]] && return
-
[[ -z ${BUILD_DIR} || ! -d ${BUILD_DIR}/install ]] && return
local sitedir="${BUILD_DIR}/install$(python_get_sitedir)"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14 5:30 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-14 5:30 UTC (permalink / raw
To: gentoo-commits
commit: 9ee6cf6c1f64d7cd7214353d0a71fde1d8daea5b
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 9 19:21:18 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 14 05:30:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ee6cf6c
kernel-2.eclass: fix Unquoted Variable
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-2.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index 7b77b64de90f..8bab2b482cf7 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -877,7 +877,7 @@ install_sources() {
dodir /usr/src
einfo ">>> Copying sources ..."
- file="$(find ${WORKDIR} -iname "docs" -type d)"
+ file="$(find "${WORKDIR}" -iname "docs" -type d)"
if [[ -n ${file} ]]; then
for file in $(find ${file} -type f); do
echo "${file//*docs\/}" >> "${S}"/patches.txt
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14 5:30 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-14 5:30 UTC (permalink / raw
To: gentoo-commits
commit: e22c514afa6a6c6991bdd28e87254355d5d90bad
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 9 19:21:23 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 14 05:30:08 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e22c514a
perl-module.eclass: fix Unquoted Variable
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/32703
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/perl-module.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/perl-module.eclass b/eclass/perl-module.eclass
index 35f85a813fc7..e2b66e3b6f7d 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -254,7 +254,7 @@ perl-module_src_configure() {
elif [[ -f Makefile.PL ]] ; then
einfo "Using ExtUtils::MakeMaker"
set -- \
- PREFIX=${EPREFIX}/usr \
+ PREFIX="${EPREFIX}"/usr \
INSTALLDIRS=vendor \
INSTALLMAN3DIR='none' \
DESTDIR="${D}" \
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14 5:30 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-14 5:30 UTC (permalink / raw
To: gentoo-commits
commit: 1ea4db56f74e154b3b9ed9c244a92e2dc31005c2
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 9 19:20:50 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 14 05:30:05 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ea4db56
cuda.eclass: fix Unquoted Variable
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/cuda.eclass | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/eclass/cuda.eclass b/eclass/cuda.eclass
index 5f3f0c3af37d..4b5f1a3294ef 100644
--- a/eclass/cuda.eclass
+++ b/eclass/cuda.eclass
@@ -81,7 +81,7 @@ cuda_gccdir() {
# Try the current gcc version first
ver=$(gcc-version)
if [[ -n "${ver}" ]] && [[ ${vers} =~ ${ver} ]]; then
- dirs=( ${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/${ver%.*}*/ )
+ dirs=( "${EPREFIX}"/usr/*pc-linux-gnu/gcc-bin/${ver%.*}*/ )
gcc_bindir="${dirs[${#dirs[@]}-1]}"
fi
@@ -90,14 +90,14 @@ cuda_gccdir() {
ver=$(ver_cut 1-2 "${ver##*sys-devel/gcc-}")
if [[ -n "${ver}" ]] && [[ ${vers} =~ ${ver} ]]; then
- dirs=( ${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/${ver%.*}*/ )
+ dirs=( "${EPREFIX}"/usr/*pc-linux-gnu/gcc-bin/${ver%.*}*/ )
gcc_bindir="${dirs[${#dirs[@]}-1]}"
fi
fi
for ver in ${vers}; do
if has_version "=sys-devel/gcc-${ver}*"; then
- dirs=( ${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/${ver%.*}*/ )
+ dirs=( "${EPREFIX}"/usr/*pc-linux-gnu/gcc-bin/${ver%.*}*/ )
gcc_bindir="${dirs[${#dirs[@]}-1]}"
fi
done
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14 5:30 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-14 5:30 UTC (permalink / raw
To: gentoo-commits
commit: d22771ab30903e3c9e4cc910595efc0502d0c06a
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 9 19:21:14 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Sep 14 05:30:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d22771ab
java-utils-2.eclass: fix Unquoted Variable
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/java-utils-2.eclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 463d364caee9..ee5d68c8a78c 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -577,7 +577,7 @@ java-pkg_regso() {
java-pkg_append_ JAVA_PKG_LIBRARY "/${target_dir#${D}}"
# Check the path of the lib relative to ${D}
elif [[ -e "${D}${lib}" ]]; then
- target_dir="$(java-pkg_expand_dir_ ${D}${lib})"
+ target_dir="$(java-pkg_expand_dir_ "${D}${lib}")"
java-pkg_append_ JAVA_PKG_LIBRARY "${target_dir}"
else
die "${lib} does not exist"
@@ -924,7 +924,7 @@ java-pkg_recordjavadoc()
debug-print-function ${FUNCNAME} $*
# the find statement is important
# as some packages include multiple trees of javadoc
- JAVADOC_PATH="$(find ${D}/usr/share/doc/ -name allclasses-frame.html -printf '%h:')"
+ JAVADOC_PATH="$(find "${D}"/usr/share/doc/ -name allclasses-frame.html -printf '%h:')"
# remove $D - TODO: check this is ok with all cases of the above
JAVADOC_PATH="${JAVADOC_PATH//${D}}"
if [[ -n "${JAVADOC_PATH}" ]] ; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14 2:10 Sam James
0 siblings, 0 replies; 6228+ messages in thread
From: Sam James @ 2023-09-14 2:10 UTC (permalink / raw
To: gentoo-commits
commit: 879a314c68b25ae8149a8d9d8bb80fb7bf04fb8b
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 13 20:58:33 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Sep 14 02:09:10 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=879a314c
kernel-build.eclass: pass INSTALL_MOD_STRIP in src_test
Thanks-to: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/kernel-build.eclass | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 0618d495f343..01cd184f41c0 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -224,8 +224,16 @@ kernel-build_src_test() {
targets+=( dtbs_install )
fi
+ # Use the kernel build system to strip, this ensures the modules
+ # are stripped *before* they are signed or compressed.
+ local strip_args
+ if use strip; then
+ strip_args="--strip-unneeded"
+ fi
+
emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
- INSTALL_MOD_PATH="${T}" "${targets[@]}"
+ INSTALL_MOD_PATH="${T}" INSTALL_MOD_STRIP="${strip_args}" \
+ "${targets[@]}"
local dir_ver=${PV}${KV_LOCALVERSION}
local relfile=${WORKDIR}/build/include/config/kernel.release
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-12 7:46 James Le Cuirot
0 siblings, 0 replies; 6228+ messages in thread
From: James Le Cuirot @ 2023-09-12 7:46 UTC (permalink / raw
To: gentoo-commits
commit: 8385562ce1a2ada550150ec14b20e4b14aadf840
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 25 21:15:06 2023 +0000
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Tue Sep 12 07:45:32 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8385562c
python-utils-r1.eclass: Redo cross-prefix support using sysconfig
We recently supported cross-prefix by rewriting PYTHON_SITEDIR and
PYTHON_INCLUDEDIR from BROOT to EPREFIX. We now know that you can get
sysconfig to use EPREFIX in the first place, which is cleaner.
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
eclass/python-utils-r1.eclass | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index f9c6d161d3f3..bd30c1203180 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -346,24 +346,22 @@ _python_export() {
PYTHON_SITEDIR)
[[ -n ${PYTHON} ]] || die "PYTHON needs to be set for ${var} to be exported, or requested before it"
PYTHON_SITEDIR=$(
- "${PYTHON}" - <<-EOF || die
- import sysconfig
- print(sysconfig.get_path("purelib"))
+ "${PYTHON}" - "${EPREFIX}/usr" <<-EOF || die
+ import sys, sysconfig
+ print(sysconfig.get_path("purelib", vars={"base": sys.argv[1]}))
EOF
)
- PYTHON_SITEDIR=${EPREFIX}${PYTHON_SITEDIR#"${BROOT-${EPREFIX}}"}
export PYTHON_SITEDIR
debug-print "${FUNCNAME}: PYTHON_SITEDIR = ${PYTHON_SITEDIR}"
;;
PYTHON_INCLUDEDIR)
[[ -n ${PYTHON} ]] || die "PYTHON needs to be set for ${var} to be exported, or requested before it"
PYTHON_INCLUDEDIR=$(
- "${PYTHON}" - <<-EOF || die
- import sysconfig
- print(sysconfig.get_path("platinclude"))
+ "${PYTHON}" - "${ESYSROOT}/usr" <<-EOF || die
+ import sys, sysconfig
+ print(sysconfig.get_path("platinclude", vars={"installed_platbase": sys.argv[1]}))
EOF
)
- PYTHON_INCLUDEDIR=${ESYSROOT}${PYTHON_INCLUDEDIR#"${BROOT-${EPREFIX}}"}
export PYTHON_INCLUDEDIR
debug-print "${FUNCNAME}: PYTHON_INCLUDEDIR = ${PYTHON_INCLUDEDIR}"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-11 21:20 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-11 21:20 UTC (permalink / raw
To: gentoo-commits
commit: c44376c0b7aab810ab1e9e1d27063f422f4bd5ab
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 11 11:02:28 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Sep 11 21:05:46 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c44376c0
qt6-build.eclass: include patch version in subslot for >=6.5.3
This matches Qt5 which had been doing the same.
While working on qt-creator bump, noticed that it broke with
qtquick3d-6.5.9999, which turned out because of changes in
private APIs that will land in 6.5.3. In other words, it is
going to need a rebuild when that lands but current SLOT=0/6.5
do not allow this. This could be a one-off issue but let's
stay safer when private APIs are abused.
This also keeps the 9999 in live subslot, so switching
between live and releases will trigger rebuilds too.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index c96bc0c1c3c3..2990b41a9e95 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -66,7 +66,11 @@ readonly QT6_BUILD_TYPE
HOMEPAGE="https://www.qt.io/"
LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3"
-SLOT=6/${PV%.*}
+if ver_test ${PV} -ge 6.5.3; then
+ SLOT=6/${PV%%_*}
+else
+ SLOT=6/${PV%.*} # TODO: remove this after <6.5.3 is gone
+fi
if [[ ${PN} != qttranslations ]]; then
IUSE="test"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-11 11:20 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-11 11:20 UTC (permalink / raw
To: gentoo-commits
commit: ea4681213ddbaae1ba1d9fb204d7cc50aa882abd
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 11 11:18:44 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Sep 11 11:20:15 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea468121
cmake.eclass: remove USER_VARIABLE from CMAKE_SKIP_TESTS
This is an array, and users cannot even set arrays through
the environment.
Must have been a copy/paste oversight (skipping ML review).
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/cmake.eclass | 1 -
1 file changed, 1 deletion(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index d0f6d0b4bd91..bbab6a8af1ff 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -126,7 +126,6 @@ fi
# the ebuild. Helps in improving QA of build systems that write to source tree.
# @ECLASS_VARIABLE: CMAKE_SKIP_TESTS
-# @USER_VARIABLE
# @DEFAULT_UNSET
# @DESCRIPTION:
# Array of tests that should be skipped when running CTest.
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-09 16:22 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-09 16:22 UTC (permalink / raw
To: gentoo-commits
commit: f31f050dc8174a9031d41c5d7b5c52fc43dc0915
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 9 07:17:46 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Sep 9 16:06:32 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f31f050d
Revert "qt6-build.eclass: switch examples dir to /usr/lib*/qt6/examples"
This reverts commit c2d1b889127af2b11559f0ac3c41313058a4969a.
See bug #881433, turns out probably should not build examples.
So old location makes more sense if we are only going to install
sources in it.
Note does mean qtbase will need to be rebuilt before start using
that location though (unused currently).
Bug: https://bugs.gentoo.org/881433
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 64cbfd296061..c96bc0c1c3c3 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -286,7 +286,7 @@ _qt6-build_prepare_env() {
readonly QT6_BINDIR=${QT6_ARCHDATADIR}/bin
readonly QT6_DOCDIR=${QT6_PREFIX}/share/qt6-doc
- readonly QT6_EXAMPLESDIR=${QT6_ARCHDATADIR}/examples
+ readonly QT6_EXAMPLESDIR=${QT6_DATADIR}/examples
readonly QT6_HEADERDIR=${QT6_PREFIX}/include/qt6
readonly QT6_IMPORTDIR=${QT6_ARCHDATADIR}/imports
readonly QT6_LIBEXECDIR=${QT6_ARCHDATADIR}/libexec
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-09 16:22 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-09 16:22 UTC (permalink / raw
To: gentoo-commits
commit: 2a205ba6fc12dd66ddf5c4f3e7b8143d2b71ca5e
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 7 21:35:21 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Sep 9 16:06:31 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a205ba6
qt6-build.eclass: pass eclass' cmakeargs before the ebuild's
To allow ebuilds to override default options if ever needed.
wrt == *a*, not super necessary but still checked given this avoids
picking up a mycmakeargs that may be set in the environment (arrays
are always from ebuilds).
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 9de740708a6f..64cbfd296061 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -135,13 +135,7 @@ qt6-build_src_configure() {
return
fi
- if [[ ${mycmakeargs@a} == *a* ]]; then
- local mycmakeargs=("${mycmakeargs[@]}")
- else
- local mycmakeargs=()
- fi
-
- mycmakeargs+=(
+ local defaultcmakeargs=(
# see _qt6-build_create_user_facing_links
-DINSTALL_PUBLICBINDIR="${QT6_PREFIX}"/bin
# note that if qtbase was built with tests, this is default ON
@@ -150,6 +144,12 @@ qt6-build_src_configure() {
-DQT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS=ON
)
+ if [[ ${mycmakeargs@a} == *a* ]]; then
+ local mycmakeargs=("${defaultcmakeargs[@]}" "${mycmakeargs[@]}")
+ else
+ local mycmakeargs=("${defaultcmakeargs[@]}")
+ fi
+
cmake_src_configure
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-09 16:22 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-09 16:22 UTC (permalink / raw
To: gentoo-commits
commit: 2e9af2864981c8243b1097324a2a187ae4455199
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 7 10:53:40 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Sep 9 16:06:31 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e9af286
qt6-build.eclass: minor style & comments adjustments
wrt skip->error comment, shortened partially for correctness. Most
packages still fail either way due to `ninja install` having nothing
to do (unless some files did get registered for install anyway). Albeit
still want this to error during configure when required conditions are
not met either way.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 28f8d904065d..9de740708a6f 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -99,15 +99,14 @@ qt6-build_src_prepare() {
cmake_src_prepare
if [[ -e CMakeLists.txt ]]; then
- # build may be skipped entirely and install nothing without errors
- # if checking for a major dependency/condition failed
- sed -i '/message(NOTICE.*Skipping/s/NOTICE/FATAL_ERROR/' CMakeLists.txt || die
+ # throw an error rather than skip if *required* conditions are not met
+ sed -e '/message(NOTICE.*Skipping/s/NOTICE/FATAL_ERROR/' \
+ -i CMakeLists.txt || die
fi
if in_iuse test && use test && [[ -e tests/auto/CMakeLists.txt ]]; then
- # upstream seems to install before running tests, and cmake
- # subdir that is present in about half of the Qt6 components
- # cause a dependency on itself and sometimes install test junk
+ # .cmake files tests causing a self-dependency in many modules,
+ # and that sometimes install additional test junk
sed -i '/add_subdirectory(cmake)/d' tests/auto/CMakeLists.txt || die
fi
@@ -251,8 +250,8 @@ _qt6-build_match_cpu_flags() {
local flags=() intrin intrins
while IFS=' ' read -ra intrins; do
[[ ${intrins[*]} == *=[^_]* && ${intrins[*]} == *=_* ]] &&
- for intrin in "${intrins[@]}"; do
- [[ ${intrin} == *?=* ]] && flags+=( -mno-${intrin%=*} )
+ for intrin in "${intrins[@]%=*}"; do
+ [[ ${intrin} ]] && flags+=( -mno-${intrin} )
done
done < <(
# TODO: review if can drop fma= matching after QTBUG-116357
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-09 6:59 Joonas Niilola
0 siblings, 0 replies; 6228+ messages in thread
From: Joonas Niilola @ 2023-09-09 6:59 UTC (permalink / raw
To: gentoo-commits
commit: 9f63d64501b0d4ea9129edede77305dfb034b420
Author: Myckel Habets <gentoo-bugs <AT> habets-dobben <DOT> nl>
AuthorDate: Fri Sep 8 10:02:12 2023 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat Sep 9 06:59:31 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f63d645
eclass: remove obsolete python2.7 code from mozcoreconf-v6.eclass
Closes: https://bugs.gentoo.org/698980
Signed-off-by: Myckel Habets <gentoo-bugs <AT> habets-dobben.nl>
Closes: https://github.com/gentoo/gentoo/pull/32682
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
eclass/mozcoreconf-v6.eclass | 7 -------
1 file changed, 7 deletions(-)
diff --git a/eclass/mozcoreconf-v6.eclass b/eclass/mozcoreconf-v6.eclass
index 90d9d9b25b0c..71dbc6802d71 100644
--- a/eclass/mozcoreconf-v6.eclass
+++ b/eclass/mozcoreconf-v6.eclass
@@ -26,7 +26,6 @@ _MOZCORECONF_V6_ECLASS=1
inherit toolchain-funcs flag-o-matic python-any-r1
BDEPEND="virtual/pkgconfig
- dev-lang/python:2.7[ncurses,sqlite,ssl,threads(+)]
${PYTHON_DEPS}"
IUSE="${IUSE} custom-cflags custom-optimization"
@@ -99,12 +98,6 @@ moz_pkgsetup() {
export QA_CONFIGURE_OPTIONS=".*"
python-any-r1_pkg_setup
- # workaround to set python3 into PYTHON3 until mozilla doesn't need py2
- if [[ "${PYTHON_COMPAT[@]}" != "${PYTHON_COMPAT[@]#python3*}" ]]; then
- export PYTHON3=${PYTHON}
- export PYTHON=python2.7
- export EPYTHON="${EPREFIX}"/usr/bin/python2.7
- fi
}
# @FUNCTION: mozconfig_init
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-07 22:16 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-07 22:16 UTC (permalink / raw
To: gentoo-commits
commit: 6dbf85f4b67761b08c539adf4f25a50c96865a52
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 7 22:10:40 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Sep 7 22:16:30 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6dbf85f4
qt6-build.eclass: more aggressively disable cpu flags mismatch
Closes: https://bugs.gentoo.org/913843
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 0b4ea6a58ce6..28f8d904065d 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -252,7 +252,7 @@ _qt6-build_match_cpu_flags() {
while IFS=' ' read -ra intrins; do
[[ ${intrins[*]} == *=[^_]* && ${intrins[*]} == *=_* ]] &&
for intrin in "${intrins[@]}"; do
- [[ ${intrin} == *?=[^_]* ]] && flags+=(-mno-${intrin%=*})
+ [[ ${intrin} == *?=* ]] && flags+=( -mno-${intrin%=*} )
done
done < <(
# TODO: review if can drop fma= matching after QTBUG-116357
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-07 10:22 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-07 10:22 UTC (permalink / raw
To: gentoo-commits
commit: aab025c20d538aa417c8456bf8fcb0c5f3d3e2ab
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 7 10:19:44 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Sep 7 10:22:11 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aab025c2
qt6-build.eclass: error harder
Oops.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index e4992ba58078..0b4ea6a58ce6 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -101,7 +101,7 @@ qt6-build_src_prepare() {
if [[ -e CMakeLists.txt ]]; then
# build may be skipped entirely and install nothing without errors
# if checking for a major dependency/condition failed
- sed -i '/message(NOTICE.*Skipping/s/NOTICE/ERROR/' CMakeLists.txt || die
+ sed -i '/message(NOTICE.*Skipping/s/NOTICE/FATAL_ERROR/' CMakeLists.txt || die
fi
if in_iuse test && use test && [[ -e tests/auto/CMakeLists.txt ]]; then
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-07 10:03 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-07 10:03 UTC (permalink / raw
To: gentoo-commits
commit: 75ae2f8d64e3fad9a1df5ff611ccbce3d4290e3b
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 6 21:48:01 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Sep 7 10:01:35 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75ae2f8d
qt6-build.eclass: abort build rather than skip on deps issues
Does not cover everything, there are some more "custom" checks
that may either abort or skip. This is for the generic top
level one that is the same across all of dev-qt/*:6
Afaik none of these should be able to trigger right now, but
not impossible been overlooking if it just been skipped.
Skipping+succeeding on tinderboxes that use minimal dependencies
may especially lead to confusing issues without this.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 11e9844346a4..e4992ba58078 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -98,6 +98,12 @@ qt6-build_src_unpack() {
qt6-build_src_prepare() {
cmake_src_prepare
+ if [[ -e CMakeLists.txt ]]; then
+ # build may be skipped entirely and install nothing without errors
+ # if checking for a major dependency/condition failed
+ sed -i '/message(NOTICE.*Skipping/s/NOTICE/ERROR/' CMakeLists.txt || die
+ fi
+
if in_iuse test && use test && [[ -e tests/auto/CMakeLists.txt ]]; then
# upstream seems to install before running tests, and cmake
# subdir that is present in about half of the Qt6 components
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-06 18:13 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-06 18:13 UTC (permalink / raw
To: gentoo-commits
commit: b93f866a47b220f031e2d5d6ddb78f0c4860450a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 6 17:56:20 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Sep 6 18:12:47 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b93f866a
llvm.org.eclass: Add 18.0.0_pre20230906 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 ba75866507e2..e69ef14c0e62 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
+ 18.0.0_pre20230906)
+ EGIT_COMMIT=7e5809e7e7bc9a828427b6540a51d45884d8bbbb
+ ;;
18.0.0_pre20230829)
EGIT_COMMIT=f6259d9b9a546dbfa5bc2f29313c6edd6c701177
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-05 19:58 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-05 19:58 UTC (permalink / raw
To: gentoo-commits
commit: 7be943845774aa9e052e2d16241991a3abb9d8d6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 5 18:36:37 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 5 19:58:30 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7be94384
llvm.org.eclass: Fix handling patchset with only one component
Fix the irrelevant patch removal logic not to invoke rm(1) with no
arguments if the patchset contains only patches for the current
component.
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/llvm.org.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 7d4765b31ac8..ba75866507e2 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -378,7 +378,7 @@ llvm.org_src_unpack() {
local IFS='|'
grep -E -r -L "^Gentoo-Component:.*(${components[*]})" \
"${WORKDIR}/llvm-gentoo-patchset-${LLVM_PATCHSET}" |
- xargs rm
+ xargs -r rm
local status=( "${PIPESTATUS[@]}" )
[[ ${status[1]} -ne 0 ]] && die "rm failed"
[[ ${status[0]} -ne 0 ]] &&
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-05 13:05 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-05 13:05 UTC (permalink / raw
To: gentoo-commits
commit: c2d1b889127af2b11559f0ac3c41313058a4969a
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 4 00:45:10 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Sep 5 13:01:13 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c2d1b889
qt6-build.eclass: switch examples dir to /usr/lib*/qt6/examples
This is used to install compiled test executables (not source
examples or similar), meant to be executed from qtcreator
(not that I've tried it).
We do not install examples (yet), so no need to worry about files
or qtbase remembering a bad path.
Looking at other distros (at least those that do not set this to
a docdir like we were and there are many), putting this under
lib/*qt6/ alongside qt6/bin seems to be the typical choice.
For actual source code examples, Qt has opted to not support installing
these anymore (QTBUG-86302) so we'd have to doins -r ourselves either
way, likely like normal docs unless something expects to find these in
the Qt examples dir.
Bug: https://bugs.gentoo.org/881433
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 0fa3091f8106..7978a25f8eac 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -283,7 +283,7 @@ _qt6-build_prepare_env() {
readonly QT6_BINDIR=${QT6_ARCHDATADIR}/bin
readonly QT6_DOCDIR=${QT6_PREFIX}/share/qt6-doc
- readonly QT6_EXAMPLESDIR=${QT6_DATADIR}/examples
+ readonly QT6_EXAMPLESDIR=${QT6_ARCHDATADIR}/examples
readonly QT6_HEADERDIR=${QT6_PREFIX}/include/qt6
readonly QT6_IMPORTDIR=${QT6_ARCHDATADIR}/imports
readonly QT6_LIBEXECDIR=${QT6_ARCHDATADIR}/libexec
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-05 13:05 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-05 13:05 UTC (permalink / raw
To: gentoo-commits
commit: 6497f4c54b22ec759ef4ec7453afe29af0c44211
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 5 02:30:59 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Sep 5 13:01:13 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6497f4c5
qt6-build.eclass: skip filter-lto if custom-cflags exists
Do not think this is particularly useful, but it is to avoid
false advertising when IUSE exists. As usual anyone enabling
this is on their own.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 187427dd04da..0fa3091f8106 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -119,7 +119,7 @@ qt6-build_src_prepare() {
#
# Does not manifest itself with clang:16 (did with gcc-13.2.0), but
# still assumed to be generally unsafe either way in current state.
- filter-lto
+ in_iuse custom-cflags && use custom-cflags || filter-lto
}
# @FUNCTION: qt6-build_src_configure
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-05 13:05 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-05 13:05 UTC (permalink / raw
To: gentoo-commits
commit: ed1caa33d0a89959c8edd0a3e8495ce0ff0ad022
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 4 02:32:39 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Sep 5 13:01:13 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed1caa33
qt6-build.eclass: re-arrange QT6_BUILD_TYPE, add pre-release
If add _beta and _rc odds are will not want them keyworded by
default, but == release will keyword them all the same so need
something different. If do want to keyword or match both for
one reason or another, can still do == *release.
Re-arranged to avoid repeating SRC_URI/QT6_P/S/etc... albeit it does
make it a bit less clear (then again there's not much going on there).
Also lets us merge the inherit block from below and inherit earlier
for less SRC_URI+S inherit environment pollution.
Also document QT6_BUILD_TYPE for EclassDocMissingVar.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 54 ++++++++++++++++++++++++-------------------------
1 file changed, 26 insertions(+), 28 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 7978a25f8eac..11e9844346a4 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -30,41 +30,39 @@ inherit cmake flag-o-matic toolchain-funcs
# Used for SRC_URI and EGIT_REPO_URI.
: "${QT6_MODULE:=${PN}}"
-case ${PV} in
- 6.9999)
- # git dev branch
- readonly QT6_BUILD_TYPE=live
- EGIT_BRANCH=dev
- ;;
- 6.*.9999)
- # git stable branch
- readonly QT6_BUILD_TYPE=live
- EGIT_BRANCH=${PV%.9999}
- ;;
- *_alpha*|*_beta*|*_rc*)
- # development release
- readonly QT6_BUILD_TYPE=release
- QT6_P=${QT6_MODULE}-everywhere-src-${PV/_/-}
- SRC_URI="https://download.qt.io/development_releases/qt/${PV%.*}/${PV/_/-}/submodules/${QT6_P}.tar.xz"
- S=${WORKDIR}/${QT6_P}
- ;;
- *)
- # official stable release
- readonly QT6_BUILD_TYPE=release
- QT6_P=${QT6_MODULE}-everywhere-src-${PV}
- SRC_URI="https://download.qt.io/official_releases/qt/${PV%.*}/${PV}/submodules/${QT6_P}.tar.xz"
- S=${WORKDIR}/${QT6_P}
- ;;
-esac
-unset QT6_P
+# @ECLASS_VARIABLE: QT6_BUILD_TYPE
+# @DESCRIPTION:
+# Read only variable set based on PV to one of:
+# - release: official 6.x.x releases
+# - pre-release: development 6.x.x_rc/beta/alpha releases
+# - live: *.9999 (dev branch), 6.x.9999 (stable branch)
-if [[ ${QT6_BUILD_TYPE} == live ]]; then
+if [[ ${PV} == *.9999 ]]; then
inherit git-r3
EGIT_REPO_URI=(
"https://code.qt.io/qt/${QT6_MODULE}.git"
"https://github.com/qt/${QT6_MODULE}.git"
)
+
+ QT6_BUILD_TYPE=live
+ EGIT_BRANCH=dev
+ [[ ${PV} == 6.*.9999 ]] && EGIT_BRANCH=${PV%.9999}
+else
+ QT6_BUILD_TYPE=release
+ _QT6_SRC=official
+
+ if [[ ${PV} == *_@(alpha|beta|rc)* ]]; then
+ QT6_BUILD_TYPE=pre-release
+ _QT6_SRC=development
+ fi
+
+ _QT6_P=${QT6_MODULE}-everywhere-src-${PV/_/-}
+ SRC_URI="https://download.qt.io/${_QT6_SRC}_releases/qt/${PV%.*}/${PV/_/-}/submodules/${_QT6_P}.tar.xz"
+ S=${WORKDIR}/${_QT6_P}
+
+ unset _QT6_P _QT6_SRC
fi
+readonly QT6_BUILD_TYPE
HOMEPAGE="https://www.qt.io/"
LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3"
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-05 13:05 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-05 13:05 UTC (permalink / raw
To: gentoo-commits
commit: 47709089ee12235f32005aa2295aec843164af16
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 2 00:04:21 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Sep 5 13:01:11 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47709089
qt6-build.eclass: workaround mismatching cpu flags sets
qsimd_p.h tries determine if x86-64-v3 or v4 sets supported by the
compiler+flags seem complete, and errors out if not. This works out
rather badly on Gentoo, even -march=native can fail with some hard.
With qsimd_p.h being a private header this only affects dev-qt/*
packages, but fwics still need to fix all of dev-qt/* at once given
they are going to be using private bits from qtbase.
Debated a few options for this:
1. Patch headers (like old fix from bug #898644), but just not setting
e.g. __haswell__ is not enough when __AVX2__ still confuses some
code. Then unsetting these without going through the compiler leads
to left over macros and more confusion. Besides... changing system
headers behavior (why is __AVX2__ undef with -mavx2!?) only in
distros tend to end in disaster.
2. Detect issues in qtbase ebuild, then disable x86intrin altogether
if needed (carries over to other modules) + warn users (aka figure
it out yourself). Not really great, users may also end up
mismatching flags between dev-qt/ to fix this and then run into
issues anyway.
3. Backport the next (wip/unmerged) upstream fix[1] but wait, looks
like we are currently still playing whack-a-mole:
# if defined(__AVX2__)
// List of features present with -march=x86-64-v3 and not architecturally
// implied by __AVX2__
# define ARCH_HASWELL_MACROS \
(__AVX2__ && __BMI__ && __BMI2__ && __F16C__ \
&& __FMA__ && __LZCNT__ && __POPCNT__)
# if ARCH_HASWELL_MACROS == 0
# error "Please enable all x86-64-v3 extensions; <snip>
...so -mno-avx2 -mfma (bug #908420) is fine, older (bug #898644)
is too, but if for any reason (VMs, buggy hardware, or the machine
without F16C from bug #910419) anything else is disabled, then the
issue is still there and may in fact trigger more than before.
4. Similarly to #2, detect issues but in the eclass. Then append
-mno-* as needed to flags. Not too bad but passing -mno-*
leads us to bug #913400.
5. Based on users flags, pick highest usable -march=x86-64-v* and
strip everything else (or strip -march too...). Messy and think
users wouldn't be happy about this. It would be what upstream
likely wants us to do though, and causes no further problems.
Ultimately went with #4 for now, bug #913400 needs fixing either way.
- missing from set in #3 += -mno-avx2 (until #3, also -mno-fma)
- missing the AVX512* checked in qsimd_h += -mno-avx512*
(then let compiler disable features that depend on these)
Not great but better than doing nothing, no-op for non-affected users.
[1] https://codereview.qt-project.org/c/qt/qtbase/+/498799
Bug: https://bugs.gentoo.org/898644
Bug: https://bugs.gentoo.org/913400
Closes: https://bugs.gentoo.org/908420
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 35 ++++++++++++++++++++++++++++++++++-
1 file changed, 34 insertions(+), 1 deletion(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index f6ed180a6979..8db83524d5e3 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -21,7 +21,7 @@ _QT6_BUILD_ECLASS=1
[[ ${CATEGORY} != dev-qt ]] &&
die "${ECLASS} is only to be used for building Qt6"
-inherit cmake flag-o-matic
+inherit cmake flag-o-matic toolchain-funcs
# @ECLASS_VARIABLE: QT6_MODULE
# @PRE_INHERIT
@@ -108,6 +108,7 @@ qt6-build_src_prepare() {
fi
_qt6-build_prepare_env
+ _qt6-build_match_cpu_flags
}
# @FUNCTION: qt6-build_src_configure
@@ -235,6 +236,38 @@ _qt6-build_create_user_facing_links() {
done < "${BUILD_DIR}"/user_facing_tool_links.txt || die
}
+# @FUNCTION: _qt6-build_match_cpu_flags
+# @INTERNAL
+# @DESCRIPTION:
+# Try to adjust -m* cpu CXXFLAGS so that they match a configuration
+# accepted by Qt's headers, see bug #908420.
+_qt6-build_match_cpu_flags() {
+ use amd64 || use x86 || return 0
+
+ local flags=() intrin intrins
+ while IFS=' ' read -ra intrins; do
+ [[ ${intrins[*]} == *=[^_]* && ${intrins[*]} == *=_* ]] &&
+ for intrin in "${intrins[@]}"; do
+ [[ ${intrin} == *?=[^_]* ]] && flags+=(-mno-${intrin%=*})
+ done
+ done < <(
+ # TODO: review if can drop fma= matching after QTBUG-116357
+ $(tc-getCXX) -E -P ${CXXFLAGS} ${CPPFLAGS} - <<-EOF | tail -n 2
+ #if defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__))
+ #include <x86intrin.h>
+ #endif
+ avx2=__AVX2__ =__BMI__ =__BMI2__ =__F16C__ fma=__FMA__ =__LZCNT__ =__POPCNT__
+ avx512f=__AVX512F__ avx512bw=__AVX512BW__ avx512cd=__AVX512CD__ avx512dq=__AVX512DQ__ avx512vl=__AVX512VL__
+ EOF
+ assert
+ )
+
+ if (( ${#flags[@]} )); then
+ einfo "Adjusting CXXFLAGS for https://bugs.gentoo.org/908420 with: ${flags[*]}"
+ append-cxxflags "${flags[@]}"
+ fi
+}
+
# @FUNCTION: _qt6-build_prepare_env
# @INTERNAL
# @DESCRIPTION:
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-05 13:05 Ionen Wolkens
0 siblings, 0 replies; 6228+ messages in thread
From: Ionen Wolkens @ 2023-09-05 13:05 UTC (permalink / raw
To: gentoo-commits
commit: cf33741bdf6abad9af948cffcbb7e185ce737180
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 2 06:02:07 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Sep 5 13:01:11 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf33741b
qt6-build.eclass: move filter-lto to src_prepare
While it feels more right in configure (along with match_cpu_flags),
sometime need to check/use compiler flags in src_configure and it is
troublesome if not modified until call the eclass' src_configure.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt6-build.eclass | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index 8db83524d5e3..187427dd04da 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -109,6 +109,17 @@ qt6-build_src_prepare() {
_qt6-build_prepare_env
_qt6-build_match_cpu_flags
+
+ # LTO cause test failures in several components (e.g. qtcharts,
+ # multimedia, scxml, wayland, webchannel, ...).
+ #
+ # Exact extent/causes unknown, but for some related-sounding bugs:
+ # https://bugreports.qt.io/browse/QTBUG-112332
+ # https://bugreports.qt.io/browse/QTBUG-115731
+ #
+ # Does not manifest itself with clang:16 (did with gcc-13.2.0), but
+ # still assumed to be generally unsafe either way in current state.
+ filter-lto
}
# @FUNCTION: qt6-build_src_configure
@@ -136,17 +147,6 @@ qt6-build_src_configure() {
-DQT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS=ON
)
- # LTO cause test failures in several components (e.g. qtcharts,
- # multimedia, scxml, wayland, webchannel, ...).
- #
- # Exact extent/causes unknown, but for some related-sounding bugs:
- # https://bugreports.qt.io/browse/QTBUG-112332
- # https://bugreports.qt.io/browse/QTBUG-115731
- #
- # Does not manifest itself with clang:16 (did with gcc-13.2.0), but
- # still assumed to be generally unsafe either way in current state.
- filter-lto
-
cmake_src_configure
}
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-04 13:14 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-04 13:14 UTC (permalink / raw
To: gentoo-commits
commit: f51bb35a3d1ea823b04d92c0c4492a38225eb75d
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 3 18:19:37 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep 4 13:14:16 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f51bb35a
kernel-build.eclass: set KERNEL_EFI_ZBOOT if enabled in .config
With this changes we now also support enabling CONFIG_EFI_ZBOOT
in user /etc/kernel/config.d settings.
Closes: https://bugs.gentoo.org/897684
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 0c40e8033fe2..0618d495f343 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -461,6 +461,12 @@ kernel-build_merge_configs() {
./scripts/kconfig/merge_config.sh -m -r \
.config "${merge_configs[@]}" || die
+
+ # If this is set by USE=secureboot or user config this will have an effect
+ # on the name of the output image. Set this variable to track this setting.
+ if grep -q "CONFIG_EFI_ZBOOT=y" .config; then
+ KERNEL_EFI_ZBOOT=1
+ fi
}
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-04 13:14 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-04 13:14 UTC (permalink / raw
To: gentoo-commits
commit: d9d7c8c96d867b6f8ea49e849160e8836d385814
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 3 18:18:27 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep 4 13:14:15 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d9d7c8c9
dist-kernel-utils.eclass: introduce KERNEL_EFI_ZBOOT
This new variable will track if CONFIG_EFI_ZBOOT is enabled or not
Closes: https://bugs.gentoo.org/897684
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/dist-kernel-utils.eclass | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 1a55424a97ef..67ae2f7b510d 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -19,6 +19,13 @@
# If set to a non-null value, inherits secureboot.eclass
# and allows signing of generated kernel images.
+# @ECLASS_VARIABLE: KERNEL_EFI_ZBOOT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set to a non-null value, it is assumed the kernel was built with
+# CONFIG_EFI_ZBOOT enabled. This effects the name of the kernel image on
+# arm64 and riscv. Mainly useful for sys-kernel/gentoo-kernel-bin.
+
if [[ ! ${_DIST_KERNEL_UTILS} ]]; then
case ${EAPI} in
@@ -72,7 +79,7 @@ dist-kernel_get_image_path() {
echo arch/x86/boot/bzImage
;;
arm64|riscv)
- if [[ ${KERNEL_IUSE_SECUREBOOT} ]] && use secureboot; then
+ if [[ ${KERNEL_EFI_ZBOOT} ]]; then
echo arch/${ARCH}/boot/vmlinuz.efi
else
echo arch/${ARCH}/boot/Image.gz
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-02 17:34 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-02 17:34 UTC (permalink / raw
To: gentoo-commits
commit: e2b8c79419c258224a91807e30d57b075703f115
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 30 16:38:43 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 2 17:34:34 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2b8c794
kernel-build.eclass: fix kernel image signing on arm64 and riscv
Arm64/riscv have no compressed kernel support. With CONFIG_EFI_ZBOOT enabled
the build system will build a bootable image with its own compressor that we
can then sign. With CONFIG_EFI_ZBOOT disabled we end up with a compressed
kernel image that must be uncompressed before signing and requires the
bootloader to uncompress it before it can boot.
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index ca105ee1f133..0c40e8033fe2 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -436,6 +436,20 @@ kernel-build_merge_configs() {
fi
fi
+ if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
+ if use secureboot; then
+ # This only effects arm64 and riscv where the bootable image may
+ # contain its own decompressor (zboot). If enabled we get a
+ # sign-able efi file.
+ cat <<-EOF > "${WORKDIR}/secureboot.config" || die
+ ## Enable zboot for signing
+ CONFIG_EFI_ZBOOT=y
+ EOF
+
+ merge_configs+=( "${WORKDIR}/secureboot.config" )
+ fi
+ fi
+
if [[ ${#user_configs[@]} -gt 0 ]]; then
elog "User config files are being applied:"
local x
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-02 17:34 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-09-02 17:34 UTC (permalink / raw
To: gentoo-commits
commit: 661829cb3563d6fde27ac540fc1b42d64ef02541
Author: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 31 09:03:03 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 2 17:34:35 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=661829cb
dist-kernel-utils.eclass: support CONFIG_EFI_ZBOOT with USE=secureboot
This config options changes the name of the final image
Closes: https://bugs.gentoo.org/897684
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/32532
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/dist-kernel-utils.eclass | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index b2e9df6746e3..1a55424a97ef 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -71,8 +71,12 @@ dist-kernel_get_image_path() {
amd64|x86)
echo arch/x86/boot/bzImage
;;
- arm64)
- echo arch/arm64/boot/Image.gz
+ arm64|riscv)
+ if [[ ${KERNEL_IUSE_SECUREBOOT} ]] && use secureboot; then
+ echo arch/${ARCH}/boot/vmlinuz.efi
+ else
+ echo arch/${ARCH}/boot/Image.gz
+ fi
;;
arm)
echo arch/arm/boot/zImage
@@ -83,9 +87,6 @@ dist-kernel_get_image_path() {
# substitutions in the code
echo ./vmlinux
;;
- riscv)
- echo arch/riscv/boot/Image.gz
- ;;
*)
die "${FUNCNAME}: unsupported ARCH=${ARCH}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-29 15:44 Ulrich Müller
0 siblings, 0 replies; 6228+ messages in thread
From: Ulrich Müller @ 2023-08-29 15:44 UTC (permalink / raw
To: gentoo-commits
commit: 39c5ef0fe227a4781d1b2ea79ac6f336ec64f879
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 26 08:58:44 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Aug 29 15:42:43 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39c5ef0f
eutils.eclass: Drop EAPI 7
Remove placeholders for emktemp, path_exists and use_if_iuse, which are
all non-functional since more than one year.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/eutils.eclass | 26 ++------------------------
1 file changed, 2 insertions(+), 24 deletions(-)
diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass
index 3b6a90fecb81..b48c18f97904 100644
--- a/eclass/eutils.eclass
+++ b/eclass/eutils.eclass
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: eutils.eclass
# @MAINTAINER:
# base-system@gentoo.org
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 6
# @BLURB: many extra (but common) functions that are used in ebuilds
# @DEPRECATED: native package manager functions, more specific eclasses
@@ -15,28 +15,6 @@ _EUTILS_ECLASS=1
case ${EAPI} in
6) inherit desktop edos2unix epatch eqawarn estack ltprune multilib \
preserve-libs strip-linguas toolchain-funcs vcs-clean wrapper ;;
- 7) inherit edos2unix strip-linguas wrapper ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-
-emktemp() {
- eerror "emktemp has been removed."
- eerror "Create a temporary file in \${T} instead."
- die "emktemp is banned"
-}
-
-path_exists() {
- eerror "path_exists has been removed. Please see the following post"
- eerror "for a replacement snippet:"
- eerror "https://blogs.gentoo.org/mgorny/2018/08/09/inlining-path_exists/"
- die "path_exists is banned"
-}
-
-use_if_iuse() {
- eerror "use_if_iuse has been removed."
- eerror "Define it as a local function, or inline it:"
- eerror " in_iuse foo && use foo"
- die "use_if_iuse is banned"
-}
-
fi
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-29 11:20 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-08-29 11:20 UTC (permalink / raw
To: gentoo-commits
commit: 9eb9c38441aacd1b214fc8988ca79052419c4abc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 29 05:48:46 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 29 11:20:07 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9eb9c384
llvm.org.eclass: Remove old snapshot support
Signed-off-by: Michał Górny <mgorny <AT> 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 b620557c7a61..d240330adb46 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,15 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
18.0.0_pre20230825)
EGIT_COMMIT=e3373c6c83d3855adb78f1952a3bf0398baf359e
;;
- 18.0.0_pre20230820)
- EGIT_COMMIT=fe42682e7818d44cbe19f98ef34caa4e414aa937
- ;;
- 18.0.0_pre20230810)
- EGIT_COMMIT=7d259b36d2e8148d13087844e6494ad3a5c63edf
- ;;
- 18.0.0_pre20230803)
- EGIT_COMMIT=c4bb3e073548cf436d5fa0406e3ae75e94684dec
- ;;
*)
die "Unknown snapshot: ${PV}"
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-29 11:20 Michał Górny
0 siblings, 0 replies; 6228+ messages in thread
From: Michał Górny @ 2023-08-29 11:20 UTC (permalink / raw
To: gentoo-commits
commit: 50de03a2ca52ab72bb39e3c09cf46407044df9d7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 29 10:49:18 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 29 11:20:10 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50de03a2
llvm.org.eclass: Add 18.0.0_pre20230829 snapshot
Signed-off-by: Michał Górny <mgorny <AT> 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 d240330adb46..7d4765b31ac8 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
+ 18.0.0_pre20230829)
+ EGIT_COMMIT=f6259d9b9a546dbfa5bc2f29313c6edd6c701177
+ ;;
18.0.0_pre20230825)
EGIT_COMMIT=e3373c6c83d3855adb78f1952a3bf0398baf359e
;;
^ permalink raw reply related [flat|nested] 6228+ messages in thread
end of thread, other threads:[~2024-12-30 11:35 UTC | newest]
Thread overview: 6228+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-18 12:11 [gentoo-commits] repo/gentoo:master commit in: eclass/ Florian Schmaus
-- strict thread matches above, loose matches on Subject: below --
2024-12-30 11:35 Michał Górny
2024-12-30 11:35 Michał Górny
2024-12-30 11:35 Michał Górny
2024-12-30 11:35 Michał Górny
2024-12-30 11:35 Michał Górny
2024-12-30 11:35 Michał Górny
2024-12-30 11:35 Michał Górny
2024-12-30 11:35 Michał Górny
2024-12-30 11:35 Michał Górny
2024-12-30 11:35 Michał Górny
2024-12-29 9:22 Ulrich Müller
2024-12-28 19:43 Alfredo Tupone
2024-12-28 14:51 Sam James
2024-12-27 21:25 Michał Górny
2024-12-26 10:59 Sam James
2024-12-25 15:08 Hans de Graaff
2024-12-23 17:10 Andreas Sturmlechner
2024-12-22 19:41 Sam James
2024-12-22 3:20 Matt Jolly
2024-12-22 1:30 Sam James
2024-12-21 10:28 Michał Górny
2024-12-18 3:00 Matt Turner
2024-12-18 3:00 Matt Turner
2024-12-18 2:46 Sam James
2024-12-17 22:14 Andreas Sturmlechner
2024-12-17 21:44 Andreas Sturmlechner
2024-12-17 17:34 Sam James
2024-12-17 17:14 Sam James
2024-12-16 18:45 Ulrich Müller
2024-12-16 18:45 Ulrich Müller
2024-12-16 15:17 Sam James
2024-12-16 5:57 Michał Górny
2024-12-15 12:48 Sam James
2024-12-15 9:47 Sam James
2024-12-15 3:08 Sam James
2024-12-14 18:43 Sam James
2024-12-14 16:33 Sam James
2024-12-14 12:47 Sam James
2024-12-13 13:11 Hans de Graaff
2024-12-13 10:02 Florian Schmaus
2024-12-12 17:03 Florian Schmaus
2024-12-12 17:03 Florian Schmaus
2024-12-12 17:03 Florian Schmaus
2024-12-12 7:47 Sam James
2024-12-12 7:47 Sam James
2024-12-12 7:47 Sam James
2024-12-11 11:52 Ionen Wolkens
2024-12-11 11:52 Ionen Wolkens
2024-12-11 11:52 Ionen Wolkens
2024-12-10 5:21 Ionen Wolkens
2024-12-09 18:49 Ulrich Müller
2024-12-08 23:34 Matt Jolly
2024-12-08 23:34 Matt Jolly
2024-12-08 1:11 Sam James
2024-12-07 23:23 Sam James
2024-12-06 21:55 Sam James
2024-12-06 11:33 Nowa Ammerlaan
2024-12-06 7:44 Miroslav Šulc
2024-12-06 7:43 Miroslav Šulc
2024-12-06 7:43 Miroslav Šulc
2024-12-06 5:10 Ionen Wolkens
2024-12-04 11:34 Matt Jolly
2024-12-04 11:33 Matt Jolly
2024-12-02 8:46 Matt Jolly
2024-12-02 8:46 Matt Jolly
2024-12-01 12:12 Sam James
2024-12-01 9:25 Sam James
2024-12-01 8:53 Sam James
2024-11-30 7:17 Michał Górny
2024-11-30 7:17 Michał Górny
2024-11-30 5:10 Sam James
2024-11-30 5:10 Sam James
2024-11-29 21:18 Eli Schwartz
2024-11-29 21:18 Eli Schwartz
2024-11-29 21:18 Eli Schwartz
2024-11-26 17:28 Florian Schmaus
2024-11-26 1:45 Maciej Barć
2024-11-26 1:45 Maciej Barć
2024-11-24 19:01 Michał Górny
2024-11-23 13:15 Michał Górny
2024-11-22 19:25 Sam James
2024-11-20 12:37 Sam James
2024-11-20 12:20 Sam James
2024-11-20 12:15 Sam James
2024-11-20 12:05 Sam James
2024-11-19 15:01 Sam James
2024-11-19 14:50 Sam James
2024-11-18 19:32 Michał Górny
2024-11-18 16:44 Mike Gilbert
2024-11-18 11:11 Sam James
2024-11-18 9:28 Sam James
2024-11-17 5:27 Matt Jolly
2024-11-17 5:27 Matt Jolly
2024-11-14 0:36 Sam James
2024-11-13 19:22 Sam James
2024-11-13 18:21 Michał Górny
2024-11-13 6:16 Matt Jolly
2024-11-12 19:19 Sam James
2024-11-12 9:09 Matt Jolly
2024-11-12 8:09 Andrew Ammerlaan
2024-11-11 23:48 Matt Jolly
2024-11-11 23:48 Matt Jolly
2024-11-11 19:28 Sam James
2024-11-11 8:53 Matt Jolly
2024-11-11 8:53 Matt Jolly
2024-11-10 17:24 Sam James
2024-11-09 10:50 Matt Jolly
2024-11-09 9:02 Matt Jolly
2024-11-09 7:31 Matt Jolly
2024-11-09 7:21 Sam James
2024-11-09 6:26 Matt Jolly
2024-11-09 6:26 Matt Jolly
2024-11-09 6:26 Matt Jolly
2024-11-07 5:28 Michał Górny
2024-11-07 5:28 Michał Górny
2024-11-06 11:27 Sam James
2024-11-05 10:47 Florian Schmaus
2024-11-05 10:47 Florian Schmaus
2024-11-03 9:35 Sam James
2024-11-01 9:03 Michał Górny
2024-10-30 20:50 Sam James
2024-10-30 11:43 Miroslav Šulc
2024-10-30 2:27 Sam James
2024-10-29 23:22 Maciej Barć
2024-10-29 23:22 Maciej Barć
2024-10-29 13:01 Michał Górny
2024-10-23 12:18 Michał Górny
2024-10-21 9:32 Sam James
2024-10-19 13:47 Ionen Wolkens
2024-10-18 17:54 Ulrich Müller
2024-10-18 17:54 Ulrich Müller
2024-10-18 17:54 Ulrich Müller
2024-10-16 16:13 Andreas Sturmlechner
2024-10-16 4:54 Michał Górny
2024-10-16 4:54 Michał Górny
2024-10-16 4:54 Michał Górny
2024-10-15 13:13 Michał Górny
2024-10-15 7:17 Michał Górny
2024-10-10 14:47 Andrew Ammerlaan
2024-10-09 11:45 Michał Górny
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:29 Ulrich Müller
2024-10-08 15:29 Ulrich Müller
2024-10-08 7:09 Florian Schmaus
2024-10-07 4:13 Sam James
2024-10-07 4:13 Sam James
2024-10-07 4:13 Sam James
2024-10-07 4:13 Sam James
2024-10-07 2:40 Sam James
2024-10-04 11:49 Sam James
2024-10-03 4:02 Sam James
2024-10-03 3:43 Sam James
2024-10-02 9:01 Miroslav Šulc
2024-10-02 9:01 Miroslav Šulc
2024-10-02 9:01 Miroslav Šulc
2024-10-02 9:01 Miroslav Šulc
2024-10-02 0:57 Sam James
2024-10-01 23:13 Eli Schwartz
2024-10-01 23:13 Eli Schwartz
2024-10-01 20:40 James Le Cuirot
2024-10-01 19:38 Eli Schwartz
2024-10-01 10:18 Sam James
2024-10-01 7:47 Sam James
2024-10-01 6:59 Sam James
2024-10-01 2:16 Sam James
2024-10-01 2:14 Sam James
2024-10-01 2:06 Sam James
2024-10-01 1:58 Sam James
2024-10-01 1:58 Sam James
2024-10-01 1:46 Sam James
2024-10-01 1:11 Sam James
2024-09-30 5:57 Sam James
2024-09-30 3:03 Sam James
2024-09-30 3:02 Sam James
2024-09-30 2:20 Sam James
2024-09-30 2:15 Sam James
2024-09-30 2:15 Sam James
2024-09-30 2:02 Sam James
2024-09-30 2:02 Sam James
2024-09-30 2:02 Sam James
2024-09-30 1:52 Sam James
2024-09-30 1:52 Sam James
2024-09-30 1:52 Sam James
2024-09-30 1:52 Sam James
2024-09-29 11:28 Sam James
2024-09-29 11:22 Sam James
2024-09-29 11:22 Sam James
2024-09-29 11:22 Sam James
2024-09-29 1:13 Sam James
2024-09-29 1:13 Sam James
2024-09-29 1:07 Sam James
2024-09-29 1:07 Sam James
2024-09-29 0:18 Sam James
2024-09-29 0:18 Sam James
2024-09-29 0:18 Sam James
2024-09-25 19:29 Eli Schwartz
2024-09-25 11:12 Sam James
2024-09-25 11:12 Sam James
2024-09-25 11:12 Sam James
2024-09-25 4:51 Ulrich Müller
2024-09-25 4:39 Michał Górny
2024-09-24 18:02 Michał Górny
2024-09-24 18:02 Michał Górny
2024-09-24 11:52 Sam James
2024-09-24 6:41 Michał Górny
2024-09-23 15:11 Michał Górny
2024-09-23 12:06 Ulrich Müller
2024-09-19 22:57 Sam James
2024-09-18 15:51 Sam James
2024-09-17 12:13 Michał Górny
2024-09-17 11:58 Andrew Ammerlaan
2024-09-12 22:08 Sam James
2024-09-11 22:21 Sam James
2024-09-10 19:11 Miroslav Šulc
2024-09-10 12:58 Michał Górny
2024-09-10 8:54 Michał Górny
2024-09-10 6:46 Miroslav Šulc
2024-09-09 18:20 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-07 18:23 Sam James
2024-09-07 18:21 Sam James
2024-09-05 12:10 Sam James
2024-09-04 20:33 Michał Górny
2024-09-03 9:40 Sam James
2024-09-03 8:58 Sam James
2024-09-03 4:22 Ionen Wolkens
2024-09-01 11:05 Sam James
2024-09-01 11:05 Sam James
2024-09-01 11:05 Sam James
2024-09-01 11:05 Sam James
2024-09-01 9:59 Miroslav Šulc
2024-09-01 9:59 Miroslav Šulc
2024-09-01 9:59 Miroslav Šulc
2024-09-01 9:59 Miroslav Šulc
2024-08-31 8:33 Michał Górny
2024-08-30 19:43 Andrew Ammerlaan
2024-08-30 19:10 Andrew Ammerlaan
2024-08-26 13:04 Ulrich Müller
2024-08-26 13:04 Ulrich Müller
2024-08-26 13:04 Ulrich Müller
2024-08-26 13:04 Ulrich Müller
2024-08-26 6:34 Andreas Sturmlechner
2024-08-25 15:37 Andrew Ammerlaan
2024-08-25 0:49 Jason Zaman
2024-08-23 19:25 Michał Górny
2024-08-23 19:25 Michał Górny
2024-08-22 17:00 Andreas Sturmlechner
2024-08-22 11:23 Michał Górny
2024-08-21 21:51 Andreas Sturmlechner
2024-08-20 20:17 Mike Gilbert
2024-08-20 20:07 Mike Gilbert
2024-08-19 18:17 Robin H. Johnson
2024-08-19 6:02 Viorel Munteanu
2024-08-18 17:44 Arsen Arsenović
2024-08-18 17:44 Arsen Arsenović
2024-08-18 17:44 Arsen Arsenović
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 10:15 Arthur Zamarin
2024-08-16 5:55 Arthur Zamarin
2024-08-15 21:24 Sam James
2024-08-15 21:18 Sam James
2024-08-15 20:01 Michał Górny
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-12 19:02 Ulrich Müller
2024-08-12 19:02 Ulrich Müller
2024-08-12 1:19 Sam James
2024-08-12 1:19 Sam James
2024-08-12 1:19 Sam James
2024-08-12 1:19 Sam James
2024-08-11 20:56 Sam James
2024-08-10 17:24 Sam James
2024-08-10 14:06 Fabian Groffen
2024-08-09 15:50 Andrew Ammerlaan
2024-08-09 14:30 Sam James
2024-08-09 11:50 Sam James
2024-08-09 11:39 Sam James
2024-08-08 19:26 Michał Górny
2024-08-08 16:46 Andrew Ammerlaan
2024-08-08 14:38 James Le Cuirot
2024-08-08 10:49 Sam James
2024-08-08 10:30 Sam James
2024-08-08 10:30 Sam James
2024-08-08 10:05 Sam James
2024-08-08 9:00 James Le Cuirot
2024-08-07 15:13 Sam James
2024-08-07 9:41 Sam James
2024-08-07 9:25 Sam James
2024-08-07 9:21 Sam James
2024-08-07 8:58 Andrew Ammerlaan
2024-08-07 8:58 Andrew Ammerlaan
2024-08-07 3:03 Sam James
2024-08-06 16:39 Florian Schmaus
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 1:46 Sam James
2024-08-04 8:28 Sam James
2024-08-04 7:30 Andrew Ammerlaan
2024-08-04 7:27 Sam James
2024-08-01 20:20 Michał Górny
2024-08-01 7:32 Miroslav Šulc
2024-07-31 0:02 Sam James
2024-07-28 17:40 Florian Schmaus
2024-07-27 22:00 Andrew Ammerlaan
2024-07-27 7:27 Michał Górny
2024-07-26 17:18 Ulrich Müller
2024-07-26 9:00 Miroslav Šulc
2024-07-24 17:18 Andrew Ammerlaan
2024-07-24 17:18 Andrew Ammerlaan
2024-07-24 17:18 Andrew Ammerlaan
2024-07-24 8:58 Florian Schmaus
2024-07-24 8:58 Florian Schmaus
2024-07-23 14:13 Michał Górny
2024-07-23 14:07 Michał Górny
2024-07-23 14:07 Michał Górny
2024-07-23 14:07 Michał Górny
2024-07-23 10:03 Miroslav Šulc
2024-07-22 15:09 Michał Górny
2024-07-22 15:09 Michał Górny
2024-07-22 15:09 Michał Górny
2024-07-21 15:45 Andrew Ammerlaan
2024-07-21 15:14 Andrew Ammerlaan
2024-07-21 13:31 Andrew Ammerlaan
2024-07-21 13:31 Andrew Ammerlaan
2024-07-21 13:31 Andrew Ammerlaan
2024-07-20 12:09 Ulrich Müller
2024-07-18 16:15 Michał Górny
2024-07-16 9:16 James Le Cuirot
2024-07-16 9:16 James Le Cuirot
2024-07-16 9:16 James Le Cuirot
2024-07-16 9:16 James Le Cuirot
2024-07-16 9:16 James Le Cuirot
2024-07-16 9:16 James Le Cuirot
2024-07-16 9:16 James Le Cuirot
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 7:17 David Seifert
2024-07-15 7:17 David Seifert
2024-07-15 7:17 David Seifert
2024-07-14 17:45 Florian Schmaus
2024-07-14 17:45 Florian Schmaus
2024-07-13 14:14 Michał Górny
2024-07-13 7:46 Michał Górny
2024-07-12 17:43 Ulrich Müller
2024-07-12 7:38 Sam James
2024-07-12 6:27 Sam James
2024-07-11 20:54 Ulrich Müller
2024-07-11 20:54 Ulrich Müller
2024-07-11 14:35 Michał Górny
2024-07-09 16:44 Ulrich Müller
2024-07-08 10:03 Ulrich Müller
2024-07-08 10:03 Ulrich Müller
2024-07-08 10:03 Ulrich Müller
2024-07-08 10:03 Ulrich Müller
2024-07-07 6:45 Matthew Smith
2024-07-06 11:19 Michał Górny
2024-07-05 20:50 Luca Barbato
2024-07-05 11:03 Arthur Zamarin
2024-07-05 11:03 Arthur Zamarin
2024-07-05 11:03 Arthur Zamarin
2024-07-03 5:30 Joonas Niilola
2024-07-03 0:59 Sam James
2024-07-03 0:54 Sam James
2024-07-02 17:49 Sam James
2024-06-30 18:27 Sam James
2024-06-29 8:39 Andrew Ammerlaan
2024-06-29 8:39 Andrew Ammerlaan
2024-06-29 8:39 Andrew Ammerlaan
2024-06-28 8:23 Miroslav Šulc
2024-06-27 7:33 Andrew Ammerlaan
2024-06-26 6:24 Florian Schmaus
2024-06-24 11:58 Ulrich Müller
2024-06-23 17:33 Michał Górny
2024-06-23 1:00 Ionen Wolkens
2024-06-20 9:57 Sam James
2024-06-20 7:29 Florian Schmaus
2024-06-20 7:29 Florian Schmaus
2024-06-19 3:16 Andreas K. Hüttel
2024-06-17 17:13 Andreas Sturmlechner
2024-06-17 9:39 James Le Cuirot
2024-06-17 0:53 Sam James
2024-06-15 11:01 Michał Górny
2024-06-15 7:58 Sam James
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:19 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-13 20:43 Andreas Sturmlechner
2024-06-13 18:35 Ulrich Müller
2024-06-13 18:35 Ulrich Müller
2024-06-13 13:21 Miroslav Šulc
2024-06-12 17:13 James Le Cuirot
2024-06-12 16:36 Patrick Lauer
2024-06-12 14:27 Patrick Lauer
2024-06-12 13:20 James Le Cuirot
2024-06-12 13:20 James Le Cuirot
2024-06-12 10:24 Arthur Zamarin
2024-06-10 14:23 Ulrich Müller
2024-06-10 14:23 Ulrich Müller
2024-06-10 12:46 Joonas Niilola
2024-06-08 15:47 Michał Górny
2024-06-08 10:29 Michał Górny
2024-06-08 3:53 Ulrich Müller
2024-06-08 3:53 Ulrich Müller
2024-06-06 20:37 Mike Gilbert
2024-06-02 8:22 Ionen Wolkens
2024-06-01 21:34 Alfredo Tupone
2024-06-01 21:11 Alfredo Tupone
2024-06-01 6:19 Hans de Graaff
2024-06-01 6:19 Hans de Graaff
2024-06-01 6:19 Hans de Graaff
2024-05-31 12:42 Michał Górny
2024-05-26 8:18 Miroslav Šulc
2024-05-25 8:35 Michał Górny
2024-05-25 5:55 Sam James
2024-05-22 1:44 Sam James
2024-05-21 8:58 Florian Schmaus
2024-05-21 8:58 Florian Schmaus
2024-05-21 8:58 Florian Schmaus
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-18 13:25 Michał Górny
2024-05-18 3:50 Benda XU
2024-05-17 23:05 Ionen Wolkens
2024-05-17 23:05 Ionen Wolkens
2024-05-17 12:07 Andrew Ammerlaan
2024-05-17 12:07 Andrew Ammerlaan
2024-05-17 12:07 Andrew Ammerlaan
2024-05-17 6:25 Michał Górny
2024-05-15 18:02 Michał Górny
2024-05-15 14:20 Michał Górny
2024-05-14 9:19 Florian Schmaus
2024-05-14 8:20 Florian Schmaus
2024-05-13 21:53 Sam James
2024-05-13 13:22 Michael Orlitzky
2024-05-13 13:22 Michael Orlitzky
2024-05-13 13:22 Michael Orlitzky
2024-05-13 13:22 Michael Orlitzky
2024-05-13 8:35 Florian Schmaus
2024-05-13 7:07 Miroslav Šulc
2024-05-12 4:51 Sam James
2024-05-11 13:39 Michał Górny
2024-05-11 6:44 Joonas Niilola
2024-05-11 6:21 Hans de Graaff
2024-05-11 1:58 Sam James
2024-05-11 0:55 Sam James
2024-05-10 17:28 Sam James
2024-05-10 17:28 Sam James
2024-05-10 17:28 Sam James
2024-05-10 17:28 Sam James
2024-05-10 17:28 Sam James
2024-05-09 19:54 Conrad Kostecki
2024-05-09 19:54 Conrad Kostecki
2024-05-08 8:06 Ulrich Müller
2024-05-07 7:57 Andreas K. Hüttel
2024-05-06 17:28 Ulrich Müller
2024-05-06 17:28 Ulrich Müller
2024-05-06 17:11 Ionen Wolkens
2024-05-06 4:39 Sam James
2024-05-04 19:57 Michał Górny
2024-05-04 19:57 Michał Górny
2024-05-03 11:43 Sam James
2024-05-03 11:43 Sam James
2024-05-03 11:43 Sam James
2024-05-03 2:48 Sam James
2024-05-03 2:48 Sam James
2024-05-02 17:44 Florian Schmaus
2024-05-02 0:24 Sam James
2024-05-01 3:02 Sam James
2024-05-01 0:27 Sam James
2024-05-01 0:27 Sam James
2024-04-30 19:25 Alfredo Tupone
2024-04-30 19:19 Alfredo Tupone
2024-04-30 18:34 Michał Górny
2024-04-30 18:34 Michał Górny
2024-04-30 5:58 Sam James
2024-04-29 17:31 Florian Schmaus
2024-04-28 15:54 Michał Górny
2024-04-28 9:47 Hans de Graaff
2024-04-27 10:42 Michał Górny
2024-04-25 20:43 Andreas Sturmlechner
2024-04-25 20:43 Andreas Sturmlechner
2024-04-23 21:43 Sam James
2024-04-22 3:14 Sam James
2024-04-20 14:20 Ionen Wolkens
2024-04-20 14:20 Ionen Wolkens
2024-04-20 9:41 Michał Górny
2024-04-20 5:40 Michał Górny
2024-04-19 23:11 Mike Gilbert
2024-04-19 18:46 Michał Górny
2024-04-19 18:46 Michał Górny
2024-04-17 23:34 Sam James
2024-04-16 1:40 Sam James
2024-04-16 1:40 Sam James
2024-04-16 1:40 Sam James
2024-04-13 20:03 Miroslav Šulc
2024-04-13 18:41 Sam James
2024-04-13 18:32 Ulrich Müller
2024-04-11 7:48 Miroslav Šulc
2024-04-10 17:56 Ulrich Müller
2024-04-10 11:10 Michał Górny
2024-04-10 8:11 Miroslav Šulc
2024-04-09 20:17 Ulrich Müller
2024-04-08 7:15 Miroslav Šulc
2024-04-06 13:44 Michał Górny
2024-04-06 9:13 Michał Górny
2024-04-05 16:06 Florian Schmaus
2024-04-05 9:45 Hans de Graaff
2024-04-04 17:33 Ulrich Müller
2024-04-04 17:33 Ulrich Müller
2024-04-04 8:18 Florian Schmaus
2024-04-04 1:07 Sam James
2024-04-04 1:07 Sam James
2024-04-03 17:38 Florian Schmaus
2024-04-03 17:38 Florian Schmaus
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-03-30 10:27 Michał Górny
2024-03-29 18:47 Sam James
2024-03-24 17:47 Sam James
2024-03-24 14:05 Sam James
2024-03-24 9:32 Sam James
2024-03-24 9:09 Sam James
2024-03-23 20:19 Sam James
2024-03-23 19:01 Sam James
2024-03-23 17:04 Sam James
2024-03-23 17:03 Michał Górny
2024-03-23 16:05 Sam James
2024-03-23 15:43 Sam James
2024-03-23 15:43 Sam James
2024-03-23 15:42 Sam James
2024-03-23 15:42 Sam James
2024-03-23 15:42 Sam James
2024-03-23 15:42 Sam James
2024-03-23 14:52 Sam James
2024-03-23 14:49 Sam James
2024-03-23 14:49 Sam James
2024-03-23 14:35 Arthur Zamarin
2024-03-23 10:25 Michał Górny
2024-03-23 8:28 Arthur Zamarin
2024-03-23 8:28 Arthur Zamarin
2024-03-19 14:12 Florian Schmaus
2024-03-18 13:02 Sam James
2024-03-17 9:18 Andreas K. Hüttel
2024-03-16 16:25 Michał Górny
2024-03-16 4:44 Sam James
2024-03-16 4:44 Sam James
2024-03-15 20:45 Sam James
2024-03-12 5:13 Michał Górny
2024-03-12 0:38 Mike Gilbert
2024-03-12 0:34 Mike Gilbert
2024-03-11 23:05 Andreas K. Hüttel
2024-03-11 19:20 Sam James
2024-03-10 21:10 Miroslav Šulc
2024-03-10 21:10 Miroslav Šulc
2024-03-09 15:52 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-07 18:04 Sam James
2024-03-06 17:03 Michał Górny
2024-03-02 13:24 Michał Górny
2024-03-01 20:50 Sam James
2024-03-01 19:25 Sam James
2024-03-01 19:25 Sam James
2024-03-01 19:25 Sam James
2024-02-28 20:40 Michał Górny
2024-02-28 13:56 Andreas Sturmlechner
2024-02-28 13:56 Andreas Sturmlechner
2024-02-27 23:54 Sam James
2024-02-27 23:54 Sam James
2024-02-24 14:54 Michał Górny
2024-02-24 12:57 Jakov Smolić
2024-02-23 7:46 Sam James
2024-02-22 4:23 Michał Górny
2024-02-19 5:08 Sam James
2024-02-19 5:06 Sam James
2024-02-18 20:22 Michał Górny
2024-02-18 13:23 Michał Górny
2024-02-18 13:23 Michał Górny
2024-02-18 13:23 Michał Górny
2024-02-18 13:23 Michał Górny
2024-02-12 16:25 Sam James
2024-02-11 12:11 Andrew Ammerlaan
2024-02-11 12:11 Andrew Ammerlaan
2024-02-11 12:11 Andrew Ammerlaan
2024-02-10 17:27 Michał Górny
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-07 15:10 Andreas Sturmlechner
2024-02-06 3:07 Michał Górny
2024-02-06 3:07 Michał Górny
2024-02-05 0:20 Sam James
2024-02-03 14:07 Sam James
2024-02-02 6:28 Andrew Ammerlaan
2024-02-01 23:52 Sam James
2024-02-01 23:52 Sam James
2024-02-01 19:22 Sam James
2024-01-31 13:59 Michał Górny
2024-01-30 21:21 Michał Górny
2024-01-30 11:28 Florian Schmaus
2024-01-30 11:09 Andrew Ammerlaan
2024-01-27 20:33 Michał Górny
2024-01-27 17:18 Sam James
2024-01-24 15:57 Michael Orlitzky
2024-01-24 14:35 Andrew Ammerlaan
2024-01-24 11:44 Michał Górny
2024-01-23 6:00 Sam James
2024-01-23 6:00 Sam James
2024-01-23 5:32 Sam James
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-20 21:22 Conrad Kostecki
2024-01-20 10:09 Florian Schmaus
2024-01-19 12:44 Miroslav Šulc
2024-01-19 12:44 Miroslav Šulc
2024-01-19 12:44 Miroslav Šulc
2024-01-19 9:51 罗百科
2024-01-17 7:41 Michał Górny
2024-01-16 9:02 Andrew Ammerlaan
2024-01-13 17:49 Michał Górny
2024-01-13 17:49 Michał Górny
2024-01-12 11:46 Sam James
2024-01-12 11:46 Sam James
2024-01-12 11:36 Andrew Ammerlaan
2024-01-12 11:08 Sam James
2024-01-11 17:50 William Hubbs
2024-01-11 9:48 Miroslav Šulc
2024-01-11 9:48 Miroslav Šulc
2024-01-11 9:48 Miroslav Šulc
2024-01-10 11:01 Andreas Sturmlechner
2024-01-10 11:01 Andreas Sturmlechner
2024-01-10 11:01 Andreas Sturmlechner
2024-01-09 6:41 Michał Górny
2024-01-08 23:53 Sam James
2024-01-08 21:09 Ionen Wolkens
2024-01-08 14:48 Michał Górny
2024-01-08 14:48 Michał Górny
2024-01-08 12:29 Sam James
2024-01-08 12:28 Sam James
2024-01-08 12:28 Sam James
2024-01-08 12:03 Sam James
2024-01-08 12:03 Sam James
2024-01-08 12:03 Sam James
2024-01-08 9:48 Sam James
2024-01-08 9:48 Sam James
2024-01-07 17:29 Andrew Ammerlaan
2024-01-07 17:29 Andrew Ammerlaan
2024-01-07 11:38 Michał Górny
2024-01-06 21:52 Michał Górny
2024-01-05 20:19 Michał Górny
2024-01-05 20:19 Michał Górny
2024-01-05 20:19 Michał Górny
2024-01-05 10:54 Michał Górny
2024-01-03 10:44 Sam James
2024-01-03 9:35 Ionen Wolkens
2024-01-03 6:20 Sam James
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 15:34 Ulrich Müller
2023-12-30 15:34 Ulrich Müller
2023-12-28 15:06 Michał Górny
2023-12-28 6:29 Ionen Wolkens
2023-12-27 20:57 Sam James
2023-12-27 20:57 Sam James
2023-12-27 20:57 Sam James
2023-12-27 20:57 Sam James
2023-12-27 20:57 Sam James
2023-12-26 14:02 Michał Górny
2023-12-25 15:47 Michał Górny
2023-12-25 15:47 Michał Górny
2023-12-25 15:47 Michał Górny
2023-12-25 9:02 Hans de Graaff
2023-12-24 12:35 Andrew Ammerlaan
2023-12-24 11:46 Andrew Ammerlaan
2023-12-23 18:12 Sam James
2023-12-23 17:35 Michał Górny
2023-12-22 16:44 Michał Górny
2023-12-21 16:41 Andreas Sturmlechner
2023-12-21 16:41 Andreas Sturmlechner
2023-12-20 13:41 Sam James
2023-12-19 20:33 Ionen Wolkens
2023-12-18 17:21 WANG Xuerui
2023-12-18 17:21 WANG Xuerui
2023-12-18 17:21 WANG Xuerui
2023-12-17 11:23 Michał Górny
2023-12-15 17:51 Michał Górny
2023-12-15 6:52 Sam James
2023-12-14 15:02 Benda XU
2023-12-14 5:35 Sam James
2023-12-14 5:25 Sam James
2023-12-14 5:22 Sam James
2023-12-14 5:22 Sam James
2023-12-14 5:22 Sam James
2023-12-14 5:22 Sam James
2023-12-12 13:04 Andreas Sturmlechner
2023-12-11 12:41 Andrew Ammerlaan
2023-12-11 12:41 Andrew Ammerlaan
2023-12-11 7:31 Ulrich Müller
2023-12-11 7:31 Ulrich Müller
2023-12-11 7:31 Ulrich Müller
2023-12-11 7:31 Ulrich Müller
2023-12-11 7:31 Ulrich Müller
2023-12-09 18:16 Michał Górny
2023-12-09 10:32 Michał Górny
2023-12-09 10:01 Ulrich Müller
2023-12-09 10:01 Ulrich Müller
2023-12-09 10:01 Ulrich Müller
2023-12-09 10:01 Ulrich Müller
2023-12-08 17:03 Ulrich Müller
2023-12-08 17:03 Ulrich Müller
2023-12-07 13:01 Sam James
2023-12-05 10:27 Andrew Ammerlaan
2023-12-04 7:32 Sam James
2023-11-29 15:15 Michał Górny
2023-11-27 11:13 Sam James
2023-11-26 18:51 Andrew Ammerlaan
2023-11-26 18:34 Sam James
2023-11-26 8:06 Andrew Ammerlaan
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 11:21 Michał Górny
2023-11-24 18:35 Sam James
2023-11-24 18:35 Sam James
2023-11-24 17:17 Sam James
2023-11-24 16:26 Sam James
2023-11-24 16:26 Sam James
2023-11-23 15:02 Michał Górny
2023-11-22 0:00 Sam James
2023-11-22 0:00 Sam James
2023-11-22 0:00 Sam James
2023-11-21 20:51 Sam James
2023-11-21 20:43 Sam James
2023-11-20 23:27 James Le Cuirot
2023-11-20 23:27 James Le Cuirot
2023-11-20 23:27 James Le Cuirot
2023-11-20 23:27 James Le Cuirot
2023-11-19 16:01 Michał Górny
2023-11-19 16:01 Michał Górny
2023-11-19 16:01 Michał Górny
2023-11-19 11:10 Michał Górny
2023-11-18 9:19 Andrew Ammerlaan
2023-11-18 9:19 Andrew Ammerlaan
2023-11-14 14:11 Florian Schmaus
2023-11-13 22:15 James Le Cuirot
2023-11-13 21:11 Andreas Sturmlechner
2023-11-13 17:33 Maciej Barć
2023-11-13 17:33 Maciej Barć
2023-11-13 17:33 Maciej Barć
2023-11-11 20:23 Michał Górny
2023-11-11 10:36 Michał Górny
2023-11-10 16:20 Pacho Ramos
2023-11-10 12:17 Andrew Ammerlaan
2023-11-10 12:17 Andrew Ammerlaan
2023-11-10 10:33 Michał Górny
2023-11-09 2:00 Sam James
2023-11-08 7:39 Ulrich Müller
2023-11-08 1:50 Sam James
2023-11-07 5:29 Michał Górny
2023-11-07 5:29 Michał Górny
2023-11-07 5:29 Michał Górny
2023-11-07 5:29 Michał Górny
2023-11-04 17:51 Mike Gilbert
2023-11-01 8:11 Ionen Wolkens
2023-10-31 19:55 Mike Gilbert
2023-10-30 18:55 Mike Gilbert
2023-10-29 3:53 Sam James
2023-10-27 3:33 Sam James
2023-10-26 21:55 Sam James
2023-10-26 16:48 Sam James
2023-10-26 2:10 Michał Górny
2023-10-26 0:41 Marek Szuba
2023-10-23 8:36 Florian Schmaus
2023-10-22 19:14 Michał Górny
2023-10-22 19:14 Michał Górny
2023-10-22 9:49 Ulrich Müller
2023-10-21 17:46 Sam James
2023-10-21 17:46 Sam James
2023-10-21 17:06 Sam James
2023-10-21 16:59 Sam James
2023-10-20 20:07 Matt Turner
2023-10-19 19:50 Michał Górny
2023-10-19 19:50 Michał Górny
2023-10-19 18:22 Miroslav Šulc
2023-10-19 18:22 Miroslav Šulc
2023-10-19 18:10 Mike Pagano
2023-10-19 12:21 Hans de Graaff
2023-10-18 7:50 Miroslav Šulc
2023-10-18 7:50 Miroslav Šulc
2023-10-18 7:50 Miroslav Šulc
2023-10-18 7:50 Miroslav Šulc
2023-10-18 6:44 Sam James
2023-10-16 9:26 Sam James
2023-10-15 15:23 Sam James
2023-10-13 16:34 Ionen Wolkens
2023-10-13 16:15 Michał Górny
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-09 20:28 James Le Cuirot
2023-10-09 10:54 Florian Schmaus
2023-10-09 10:54 Florian Schmaus
2023-10-08 10:03 Hans de Graaff
2023-10-08 10:03 Hans de Graaff
2023-10-08 10:03 Hans de Graaff
2023-10-05 11:12 Sam James
2023-10-05 11:12 Sam James
2023-10-05 11:12 Sam James
2023-10-02 19:39 Michał Górny
2023-10-02 17:51 Michał Górny
2023-10-01 18:16 Mike Gilbert
2023-10-01 9:28 Andrew Ammerlaan
2023-10-01 7:27 Sam James
2023-09-30 10:34 Sam James
2023-09-30 9:38 Sam James
2023-09-30 9:38 Sam James
2023-09-30 9:38 Sam James
2023-09-30 7:58 Miroslav Šulc
2023-09-28 15:51 Hans de Graaff
2023-09-28 8:22 Miroslav Šulc
2023-09-27 9:12 Michał Górny
2023-09-27 6:58 Miroslav Šulc
2023-09-27 6:58 Miroslav Šulc
2023-09-27 5:28 Sam James
2023-09-26 12:24 Ionen Wolkens
2023-09-25 18:45 Michał Górny
2023-09-25 2:07 Sam James
2023-09-23 6:31 Hans de Graaff
2023-09-23 6:31 Hans de Graaff
2023-09-19 19:47 Michał Górny
2023-09-19 11:15 Sam James
2023-09-19 11:15 Sam James
2023-09-19 11:12 Miroslav Šulc
2023-09-18 9:52 Sam James
2023-09-18 9:50 Sam James
2023-09-16 9:43 Sam James
2023-09-16 7:44 Florian Schmaus
2023-09-15 20:49 Maciej Barć
2023-09-15 20:49 Maciej Barć
2023-09-15 20:49 Maciej Barć
2023-09-14 20:43 Ionen Wolkens
2023-09-14 5:30 Michał Górny
2023-09-14 5:30 Michał Górny
2023-09-14 5:30 Michał Górny
2023-09-14 5:30 Michał Górny
2023-09-14 5:30 Michał Górny
2023-09-14 5:30 Michał Górny
2023-09-14 5:30 Michał Górny
2023-09-14 2:10 Sam James
2023-09-12 7:46 James Le Cuirot
2023-09-11 21:20 Ionen Wolkens
2023-09-11 11:20 Ionen Wolkens
2023-09-09 16:22 Ionen Wolkens
2023-09-09 16:22 Ionen Wolkens
2023-09-09 16:22 Ionen Wolkens
2023-09-09 6:59 Joonas Niilola
2023-09-07 22:16 Ionen Wolkens
2023-09-07 10:22 Ionen Wolkens
2023-09-07 10:03 Ionen Wolkens
2023-09-06 18:13 Michał Górny
2023-09-05 19:58 Michał Górny
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-04 13:14 Michał Górny
2023-09-04 13:14 Michał Górny
2023-09-02 17:34 Michał Górny
2023-09-02 17:34 Michał Górny
2023-08-29 15:44 Ulrich Müller
2023-08-29 11:20 Michał Górny
2023-08-29 11:20 Michał Górny
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox