public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2015-11-26 10:53 Gilles Dartiguelongue
  0 siblings, 0 replies; 6214+ messages in thread
From: Gilles Dartiguelongue @ 2015-11-26 10:53 UTC (permalink / raw
  To: gentoo-commits

commit:     3b43b789b0c8685169e04eef87e5c56fe6067e5f
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 25 12:15:51 2015 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Thu Nov 26 10:52:40 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b43b789

xdg.eclass: break dependency loop due to XDG tools using glib

 eclass/xdg.eclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/eclass/xdg.eclass b/eclass/xdg.eclass
index 2ad0ada..9f10932 100644
--- a/eclass/xdg.eclass
+++ b/eclass/xdg.eclass
@@ -21,10 +21,13 @@ case "${EAPI:-0}" in
 	*) die "EAPI=${EAPI} is not supported" ;;
 esac
 
+# Avoid dependency loop as both depend on glib-2
+if [[ ${CATEGORY}/${P} != dev-libs/glib-2.* ]] ; then
 DEPEND="
 	dev-util/desktop-file-utils
 	x11-misc/shared-mime-info
 "
+fi
 
 # @FUNCTION: xdg_src_prepare
 # @DESCRIPTION:


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-25  9:12 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ messages in thread
From: Andrew Ammerlaan @ 2023-08-25  9:12 UTC (permalink / raw
  To: gentoo-commits

commit:     db04534a538f2980e1d48dfbec7a8d4143c75d0a
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 25 09:10:10 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri Aug 25 09:12:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db04534a

docs.eclass: fix sphinx/mkdocs docs building in pep517 mode

This patch copies the sphinx-build logic from python-utils-r1.eclass to use
'python -m mkdocs' instead of plain 'mkdocs' whenever possible. This fixes
building mkdocs themes in pep517 mode where the very themes we are installing
would otherwise be unavailable for building the documentation.

Closes: https://bugs.gentoo.org/878047
Closes: https://bugs.gentoo.org/877823
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 eclass/docs.eclass | 28 +++++++++++++++++++++++-----
 1 file changed, 23 insertions(+), 5 deletions(-)

diff --git a/eclass/docs.eclass b/eclass/docs.eclass
index 1aa4937a6363..bd2f252eff55 100644
--- a/eclass/docs.eclass
+++ b/eclass/docs.eclass
@@ -269,8 +269,18 @@ sphinx_compile() {
 	sed -i -e 's:^intersphinx_mapping:disabled_&:' \
 		"${DOCS_DIR}"/conf.py || die
 	# not all packages include the Makefile in pypi tarball
-	sphinx-build -b html -d "${DOCS_OUTDIR}"/_build/doctrees "${DOCS_DIR}" \
-	"${DOCS_OUTDIR}" || die "${FUNCNAME}: sphinx-build failed"
+	local command=( "${EPYTHON}" -m sphinx.cmd.build )
+	if ! "${EPYTHON}" -c "import sphinx.cmd.build" 2>/dev/null; then
+		command=( sphinx-build )
+	fi
+	command+=(
+		-b html
+		-d "${DOCS_OUTDIR}"/_build/doctrees
+		"${DOCS_DIR}"
+		"${DOCS_OUTDIR}"
+	)
+	echo "${command[@]}" >&2
+	"${command[@]}" || die "${FUNCNAME}: sphinx-build failed"
 
 	HTML_DOCS+=( "${DOCS_OUTDIR}" )
 
@@ -316,9 +326,17 @@ mkdocs_compile() {
 	[[ -f ${mkdocsyml} ]] ||
 		die "${FUNCNAME}: ${mkdocsyml} not found, DOCS_DIR=${DOCS_DIR} wrong"
 
-	pushd "${DOCS_DIR}" || die
-	mkdocs build -d "${DOCS_OUTDIR}" || die "${FUNCNAME}: mkdocs build failed"
-	popd || die
+	pushd "${DOCS_DIR}" >/dev/null || die
+	local command=( "${EPYTHON}" -m mkdocs build )
+	if ! "${EPYTHON}" -c "import mkdocs" 2>/dev/null; then
+		command=( mkdocs build )
+	fi
+	command+=(
+		-d "${DOCS_OUTDIR}"
+	)
+	echo "${command[@]}" >&2
+	"${command[@]}" || die "${FUNCNAME}: mkdocs build failed"
+	popd >/dev/null || die
 
 	# remove generated .gz variants
 	# mkdocs currently has no option to disable this


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-25 19:17 Michał Górny
  0 siblings, 0 replies; 6214+ messages in thread
From: Michał Górny @ 2023-08-25 19:17 UTC (permalink / raw
  To: gentoo-commits

commit:     2e4da7a0faa7071fda7f12eaa87eac72d861cf95
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 25 18:25:40 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 25 19:17:22 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e4da7a0

llvm.org.eclass: Add 18.0.0_pre20230825 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 e2d83df1485e..b620557c7a61 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_pre20230825)
+					EGIT_COMMIT=e3373c6c83d3855adb78f1952a3bf0398baf359e
+					;;
 				18.0.0_pre20230820)
 					EGIT_COMMIT=fe42682e7818d44cbe19f98ef34caa4e414aa937
 					;;


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-26  6:52 Ulrich Müller
  0 siblings, 0 replies; 6214+ messages in thread
From: Ulrich Müller @ 2023-08-26  6:52 UTC (permalink / raw
  To: gentoo-commits

commit:     80edf9c26c6f38e624e55a81eede57cd7c476ddb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 26 06:51:00 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 26 06:51:06 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80edf9c2

elisp-common.eclass: Rewrap lines in eclass documentation

No changes of the text.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 56 +++++++++++++++++++++++++---------------------
 1 file changed, 30 insertions(+), 26 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index ef24622d405e..a40c9f63007d 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -351,8 +351,8 @@ elisp-make-autoload-file() {
 # @FUNCTION: elisp-org-export-to
 # @USAGE: <export file type> <Org file path>
 # @DESCRIPTION:
-# Use Emacs Org "export-to" functions to convert a given Org file to a picked
-# format.
+# Use Emacs Org "export-to" functions to convert a given Org file to a
+# picked format.
 #
 # Example:
 # @CODE
@@ -386,12 +386,13 @@ elisp-org-export-to() {
 # @DESCRIPTION:
 # Run ELisp package tests using the "buttercup" test runner.
 #
-# The option "test-subdirectory" may be given any number of times, it should
-# be given as though it was passed to Emacs or the test tool, not as a string.
+# The option "test-subdirectory" may be given any number of times,
+# it should be given as though it was passed to Emacs or the test tool,
+# not as a string.
 #
 # The options "test-subdirectory" and "test-runner-opts" are optional,
-# but if "test-runner-opts" needs to be provided also "test-subdirectory" has
-# to be specified.
+# but if "test-runner-opts" needs to be provided also "test-subdirectory"
+# has to be specified.
 
 elisp-test-buttercup() {
 	debug-print-function ${FUNCNAME} "$@"
@@ -415,12 +416,13 @@ elisp-test-buttercup() {
 # @DESCRIPTION:
 # Run ELisp package tests using the "ert-runner" test runner.
 #
-# The option "test-subdirectory" may be given any number of times, it should
-# be given as though it was passed to Emacs or the test tool, not as a string.
+# The option "test-subdirectory" may be given any number of times,
+# it should be given as though it was passed to Emacs or the test tool,
+# not as a string.
 #
 # The options "test-subdirectory" and "test-runner-opts" are optional,
-# but if "test-runner-opts" needs to be provided also "test-subdirectory" has
-# to be specified.
+# but if "test-runner-opts" needs to be provided also "test-subdirectory"
+# has to be specified.
 
 elisp-test-ert-runner() {
 	debug-print-function ${FUNCNAME} "$@"
@@ -445,12 +447,13 @@ elisp-test-ert-runner() {
 # @DESCRIPTION:
 # Run ELisp package tests using "ert", the Emacs's built-in test runner.
 #
-# The option "test-subdirectory" may be given any number of times, it should
-# be given as though it was passed to Emacs or the test tool, not as a string.
+# The option "test-subdirectory" may be given any number of times,
+# it should be given as though it was passed to Emacs or the test tool,
+# not as a string.
 #
 # The options "test-subdirectory" and "test-runner-opts" are optional,
-# but if "test-runner-opts" needs to be provided also "test-subdirectory" has
-# to be specified.
+# but if "test-runner-opts" needs to be provided also "test-subdirectory"
+# has to be specified.
 
 elisp-test-ert() {
 	debug-print-function ${FUNCNAME} "$@"
@@ -482,8 +485,8 @@ elisp-test-ert() {
 # @FUNCTION: elisp-enable-tests
 # @USAGE: [--optional] <test-runner> [test-runner-options] ...
 # @DESCRIPTION:
-# Set up IUSE, RESTRICT, BDEPEND and test runner function for running tests
-# with the specified test runner.
+# Set up IUSE, RESTRICT, BDEPEND and test runner function for running
+# tests with the specified test runner.
 #
 # The test-runner argument must be one of:
 #
@@ -493,18 +496,19 @@ elisp-test-ert() {
 #
 # - ert: for built-in GNU Emacs test utility
 #
-# If the "--optional" flag is passed (before specifying the test runner),
-# then it is assumed that the ELisp package is a part of some project that
-# optionally enables GNU Emacs support.
-# This will correctly set up the test and Emacs dependencies.
+# If the "--optional" flag is passed (before specifying the test
+# runner), then it is assumed that the ELisp package is a part of some
+# some project that optionally enables GNU Emacs support.  This will
+# correctly set up the test and Emacs dependencies.
 #
-# Notice that the fist option passed to the "test-runner" is the directory
-# and the rest are miscellaneous options applicable to that given runner.
+# Notice that the fist option passed to the "test-runner" is the
+# directory and the rest are miscellaneous options applicable to that
+# given runner.
 #
-# This function has to be called post inherit, specifically after "IUSE",
-# "RESTRICT" and "BDEPEND" variables are assigned.
-# It is advised to place this call right before (re)defining a given ebuild's
-# phases.
+# This function has to be called post inherit, specifically after
+# "IUSE", "RESTRICT" and "BDEPEND" variables are assigned.
+# It is advised to place this call right before (re)defining a given
+# ebuild's phases.
 #
 # Example:
 # @CODE


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-26  6:52 Ulrich Müller
  0 siblings, 0 replies; 6214+ messages in thread
From: Ulrich Müller @ 2023-08-26  6:52 UTC (permalink / raw
  To: gentoo-commits

commit:     9ad1e2555ee67d4cd7dfc538f09f37b1eecc5566
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 22 13:48:26 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 26 06:51:06 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ad1e255

eclass/elisp-common.eclass: add elisp-org-export-to

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 03e47d931f44..ef24622d405e 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -348,6 +348,39 @@ elisp-make-autoload-file() {
 	eend $? "elisp-make-autoload-file: batch-update-autoloads failed" || die
 }
 
+# @FUNCTION: elisp-org-export-to
+# @USAGE: <export file type> <Org file path>
+# @DESCRIPTION:
+# Use Emacs Org "export-to" functions to convert a given Org file to a picked
+# format.
+#
+# Example:
+# @CODE
+# 	elisp-org-export-to texinfo README.org
+# 	mv README.texi ${PN}.texi || die
+# @CODE
+
+elisp-org-export-to() {
+	local export_format="${1}"
+	local org_file_path="${2}"
+
+	local export_group
+	case ${export_format} in
+		info) export_group=texinfo ;;  # Straight to ".info".
+		markdown) export_group=md ;;
+		pdf) export_group=latex ;;
+		*) export_group=${export_format} ;;
+	esac
+
+	# export_format = texinfo    =>  org-texinfo-export-to-texinfo
+	# export_format = pdf        =>  org-latex-export-to-pdf
+
+	local export_function=org-${export_group}-export-to-${export_format}
+
+	${EMACS} ${EMACSFLAGS} "${org_file_path}" -f "${export_function}" \
+		|| die "Org export to ${export_format} failed"
+}
+
 # @FUNCTION: elisp-test-buttercup
 # @USAGE: [test-subdirectory] [test-runner-opts] ...
 # @DESCRIPTION:


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-26  6:52 Ulrich Müller
  0 siblings, 0 replies; 6214+ messages in thread
From: Ulrich Müller @ 2023-08-26  6:52 UTC (permalink / raw
  To: gentoo-commits

commit:     6b71af98697861a9ad1934195ea4ab3c2b93bba8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 21 18:33:16 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 26 06:51:05 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b71af98

elisp-common.eclass: Document sed script in elisp-site-file-install

Even though it is a simple one-liner, some people find it difficult
to read.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 1958b4a07e18..03e47d931f44 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -590,7 +590,13 @@ elisp-modules-install() {
 
 elisp-site-file-install() {
 	local sf="${1##*/}" my_pn="${2:-${PN}}" modules ret
-	local header=";;; ${PN} site-lisp configuration"
+	local add_header="1 {
+		# Find first non-empty line
+		:x; /^\$/ { n; bx; }
+		# Insert a header, unless we already look at one
+		/^;.*${PN}/I! s/^/;;; ${PN} site-lisp configuration\n\n/
+		1 s/^/\n/
+	}"
 
 	[[ ${sf} == [0-9][0-9]*-gentoo*.el ]] \
 		|| ewarn "elisp-site-file-install: bad name of site-init file"
@@ -599,7 +605,7 @@ elisp-site-file-install() {
 	ebegin "Installing site initialisation file for GNU Emacs"
 	[[ $1 == "${sf}" ]] || cp "$1" "${sf}"
 	modules=${EMACSMODULES//@libdir@/$(get_libdir)}
-	sed -i -e "1{:x;/^\$/{n;bx;};/^;.*${PN}/I!s:^:${header}\n\n:;1s:^:\n:;}" \
+	sed -i -e "${add_header}" \
 		-e "s:@SITELISP@:${EPREFIX}${SITELISP}/${my_pn}:g" \
 		-e "s:@SITEETC@:${EPREFIX}${SITEETC}/${my_pn}:g" \
 		-e "s:@EMACSMODULES@:${EPREFIX}${modules}/${my_pn}:g;\$q" "${sf}"


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-26 15:22 Ulrich Müller
  0 siblings, 0 replies; 6214+ messages in thread
From: Ulrich Müller @ 2023-08-26 15:22 UTC (permalink / raw
  To: gentoo-commits

commit:     0da55ff6f4be98d9f9443c987fb7ee641f3ddeb2
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 26 15:20:29 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 26 15:22:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0da55ff6

elisp-common.eclass: Fix typo in comment

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index a40c9f63007d..72dbb97f33e5 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -501,7 +501,7 @@ elisp-test-ert() {
 # some project that optionally enables GNU Emacs support.  This will
 # correctly set up the test and Emacs dependencies.
 #
-# Notice that the fist option passed to the "test-runner" is the
+# Notice that the first option passed to the "test-runner" is the
 # directory and the rest are miscellaneous options applicable to that
 # given runner.
 #


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-27 18:04 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ messages in thread
From: Andrew Ammerlaan @ 2023-08-27 18:04 UTC (permalink / raw
  To: gentoo-commits

commit:     5b526a23565920557fcfaae55ed79c4392e712c0
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 26 18:03:16 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Aug 27 18:04:31 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b526a23

kernel-install.eclass: enforce signed modules in test with USE=modules-sign

This only has effect when building the gpkg for gentoo-kernel-bin which
overrides CONFIG_MODULE_SIG_FORCE. To ensure that the module signing
was successful we instruct the kernel to reject modules with an invalid
signature.

This has no effect on other kernel packages which already have
CONFIG_MODULE_SIG_FORCE=y.

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/32463
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 eclass/kernel-install.eclass | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 62fbb1dab049..c1b9798a9ff9 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -301,6 +301,10 @@ kernel-install_test() {
 			;;
 	esac
 
+	if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
+		use modules-sign && qemu_extra_append+=" module.sig_enforce=1"
+	fi
+
 	cat > run.sh <<-EOF || die
 		#!/bin/sh
 		exec qemu-system-${qemu_arch} \


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-27 19:36 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ messages in thread
From: Andrew Ammerlaan @ 2023-08-27 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     a740d65d10a325c3a5977036eb9f410e452db925
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 26 19:26:46 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Aug 27 19:36:06 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a740d65d

kernel-build.eclass: sign the kernel image earlier in src_install

By signing it in src_install instead of pkg_postinst the signed version is
included in any generated binpkg. This is useful for enabling secureboot
on machines that do not have the secureboot private key available.

This change makes it possible to distribute a signed kernel image in
sys-kernel/gentoo-kernel-bin.

Note, UKIs are always generated locally, so if UKIs are used these will still
have to be signed in pkg_postinst and therefore the private key is still
required on all systems with USE=secureboot and uefi=yes in dracut.conf.

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 5b324e036c5f..ca105ee1f133 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -33,6 +33,7 @@ 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
 
 inherit multiprocessing python-any-r1 savedconfig toolchain-funcs kernel-install
@@ -348,6 +349,10 @@ 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
+		secureboot_sign_efi_file "${ED}${kernel_dir}/${image_path}"
+	fi
+
 	# unset to at least be out of the environment file in, e.g. shared binpkgs
 	unset KBUILD_SIGN_PIN
 


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-27 19:36 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ messages in thread
From: Andrew Ammerlaan @ 2023-08-27 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     bc63496c267e26bb88db956fa818f4ec3775fac6
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 27 16:24:08 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Aug 27 19:36:05 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc63496c

secureboot.eclass: secureboot_sign_efi_file allow call with 1 arg

Use the input file as the output file if it is not specified.

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

sb-fix

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 eclass/secureboot.eclass | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/eclass/secureboot.eclass b/eclass/secureboot.eclass
index 383fe7cc3afa..a9ba514cb7a0 100644
--- a/eclass/secureboot.eclass
+++ b/eclass/secureboot.eclass
@@ -98,16 +98,18 @@ secureboot_pkg_setup() {
 }
 
 # @FUNCTION: secureboot_sign_efi_file
-# @USAGE: <input file> <output file>
+# @USAGE: <input file> [<output file>]
 # @DESCRIPTION:
 # Sign a file using sbsign and the requested key/certificate.
-# If the file is already signed with our key then skip.
+# If the file is already signed with our key then the file is skipped.
+# 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]} "${@}"
 	use secureboot || return
 
 	local input_file=${1}
-	local output_file=${2}
+	local output_file=${2:-${1}}
 
 	_secureboot_die_if_unset
 


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-27 19:36 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ messages in thread
From: Andrew Ammerlaan @ 2023-08-27 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     64eda769f895dc374fdc5e51d0c7cc4d3ffbe1dd
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 26 19:32:07 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Sun Aug 27 19:36:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=64eda769

dist-kernel-utils.eclass: only sign image if it is a UKI

If we are not using UKIs we don't have to do anything since the kernel image
was already signed in kernel-build.eclass.

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/32464
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 eclass/dist-kernel-utils.eclass | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 6903183b6efb..b2e9df6746e3 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -131,11 +131,11 @@ dist-kernel_install_kernel() {
 		done
 		shopt -u nullglob
 		export KERNEL_INSTALL_PLUGINS="${KERNEL_INSTALL_PLUGINS} ${plugins[@]}"
-	fi
 
-	if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
-		# Kernel-install requires uki's are named uki.efi, sign in-place
-		secureboot_sign_efi_file "${image}" "${image}"
+		if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
+			# Ensure the uki is signed if dracut hasn't already done so.
+			secureboot_sign_efi_file "${image}"
+		fi
 	fi
 
 	ebegin "Installing the kernel via installkernel"


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-27 20:26 Sam James
  0 siblings, 0 replies; 6214+ messages in thread
From: Sam James @ 2023-08-27 20:26 UTC (permalink / raw
  To: gentoo-commits

commit:     21c41570673c156af3780b11cfbdf8cf42b3974d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 26 17:52:19 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Aug 27 20:26:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21c41570

tree-sitter-grammar.eclass: force use of local parser.h

There shouldn't be a system-wide copy of parser.h and upstream plan on
dropping this from dev-libs/tree-sitter as it can cause issues if there's
a mismatch between the version used for the bundled generated parser
vs the header used to build the library.

Force use of the correct one in the dist tarball at src/tree_sitter/parser.h
instead. Drop the dependency on dev-libs/tree-sitter given we were only depending
on it for this header.

Bug: https://github.com/tree-sitter/tree-sitter-bash/issues/199
Bug: https://bugs.gentoo.org/912716
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/tree-sitter-grammar.eclass | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/eclass/tree-sitter-grammar.eclass b/eclass/tree-sitter-grammar.eclass
index e74d18653b8a..b2563220cfc2 100644
--- a/eclass/tree-sitter-grammar.eclass
+++ b/eclass/tree-sitter-grammar.eclass
@@ -24,9 +24,6 @@ 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
 
-# Needed for tree_sitter/parser.h
-DEPEND="dev-libs/tree-sitter"
-
 BDEPEND+=" test? ( dev-util/tree-sitter-cli )"
 IUSE+=" test"
 RESTRICT+=" !test? ( test )"
@@ -61,8 +58,10 @@ tree-sitter-grammar_src_compile() {
 	# or scanner.cc.
 
 	tc-export CC CXX
-	export CFLAGS="${CFLAGS} -fPIC"
-	export CXXFLAGS="${CXXFLAGS} -fPIC"
+	# 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 objects=( parser.o )
 	if [[ -f "${S}"/scanner.c || -f "${S}"/scanner.cc ]]; then


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-28  6:54 WANG Xuerui
  0 siblings, 0 replies; 6214+ messages in thread
From: WANG Xuerui @ 2023-08-28  6:54 UTC (permalink / raw
  To: gentoo-commits

commit:     f66c64d25bc04fc2ef3bd3cba6a8fbc48f42be9f
Author:     WANG Xuerui <xen0n <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 26 07:31:50 2023 +0000
Commit:     WANG Xuerui <xen0n <AT> gentoo <DOT> org>
CommitDate: Mon Aug 28 06:51:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f66c64d2

rust-toolchain.eclass: exclude mips from SRC_URI for versions >= 1.72.0

Upstream dropped the mips*-linux-gnu* targets to Tier 3, so until the
situation is resolved there will not be prebuilt binaries from upstream.

Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>

 eclass/rust-toolchain.eclass | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/eclass/rust-toolchain.eclass b/eclass/rust-toolchain.eclass
index f4451f743596..5824a48734f9 100644
--- a/eclass/rust-toolchain.eclass
+++ b/eclass/rust-toolchain.eclass
@@ -122,16 +122,6 @@ rust_all_arch_uris()
 		elibc_glibc? ( $(rust_arch_uri aarch64-unknown-linux-gnu  "$@") )
 		elibc_musl?  ( $(rust_arch_uri aarch64-unknown-linux-musl "$@") )
 	)
-	mips? (
-		abi_mips_o32? (
-			big-endian?  ( $(rust_arch_uri mips-unknown-linux-gnu   "$@") )
-			!big-endian? ( $(rust_arch_uri mipsel-unknown-linux-gnu "$@") )
-		)
-		abi_mips_n64? (
-			big-endian?  ( $(rust_arch_uri mips64-unknown-linux-gnuabi64   "$@") )
-			!big-endian? ( $(rust_arch_uri mips64el-unknown-linux-gnuabi64 "$@") )
-		)
-	)
 	ppc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "$@") )
 	ppc64? (
 		big-endian?  ( $(rust_arch_uri powerpc64-unknown-linux-gnu   "$@") )
@@ -145,7 +135,23 @@ rust_all_arch_uris()
 	# NOTE: Merge this into the block above after every <1.71.0 version is
 	# gone from tree.
 	local arg_version="${1##*-}"
-	if ver_test "${arg_version:-$PV}" -ge 1.71.0; then
+	arg_version="${arg_version:-$PV}"
+	if ver_test "${arg_version}" -ge 1.71.0; then
 		echo "loong? ( $(rust_arch_uri loongarch64-unknown-linux-gnu "$@") )"
 	fi
+
+	# until https://github.com/rust-lang/rust/pull/113274 is resolved, there
+	# will not be upstream-built mips artifacts
+	if ver_test "${arg_version}" -lt 1.72.0; then
+		echo "mips? (
+			abi_mips_o32? (
+				big-endian?  ( $(rust_arch_uri mips-unknown-linux-gnu   "$@") )
+				!big-endian? ( $(rust_arch_uri mipsel-unknown-linux-gnu "$@") )
+			)
+			abi_mips_n64? (
+				big-endian?  ( $(rust_arch_uri mips64-unknown-linux-gnuabi64   "$@") )
+				!big-endian? ( $(rust_arch_uri mips64el-unknown-linux-gnuabi64 "$@") )
+			)
+		)"
+	fi
 }


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-29  2:11 Sam James
  0 siblings, 0 replies; 6214+ messages in thread
From: Sam James @ 2023-08-29  2:11 UTC (permalink / raw
  To: gentoo-commits

commit:     c5f2fe5daab92a94070cfc41acb543941818c96b
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Mon Aug 28 22:04:49 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 29 02:09:00 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5f2fe5d

kernel-2.eclass: move ppc64 hack before crossdev inherit

Closes: https://bugs.gentoo.org/913127
Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Closes: https://github.com/gentoo/gentoo/pull/32501
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/kernel-2.eclass | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index dc9ed25e8b60..7b77b64de90f 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -281,6 +281,13 @@
 # If you do change them, there is a chance that we will not fix resulting bugs;
 # that of course does not mean we're not willing to help.
 
+# Added by Daniel Ostrow <dostrow@gentoo.org>
+# This is an ugly hack to get around an issue with a 32-bit userland on ppc64.
+# I will remove it when I come up with something more reasonable.
+# Alfred Persson Forsberg <cat@catcream.org>
+# Moved this above inherit as crossdev.eclass uses CHOST internally.
+[[ ${PROFILE_ARCH} == ppc64 ]] && CHOST="powerpc64-${CHOST#*-}"
+
 inherit crossdev estack multiprocessing toolchain-funcs
 
 case ${EAPI} in
@@ -288,11 +295,6 @@ case ${EAPI} in
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
-# Added by Daniel Ostrow <dostrow@gentoo.org>
-# This is an ugly hack to get around an issue with a 32-bit userland on ppc64.
-# I will remove it when I come up with something more reasonable.
-[[ ${PROFILE_ARCH} == ppc64 ]] && CHOST="powerpc64-${CHOST#*-}"
-
 HOMEPAGE="https://www.kernel.org/ https://wiki.gentoo.org/wiki/Kernel ${HOMEPAGE}"
 : "${LICENSE:="GPL-2"}"
 


^ permalink raw reply related	[flat|nested] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-29 11:20 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-29 11:20 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-29 15:44 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-02 17:34 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-02 17:34 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-04 13:14 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-04 13:14 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-05 13:05 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-05 13:05 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-05 13:05 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-05 13:05 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-05 13:05 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-05 19:58 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-06 18:13 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-07 10:03 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-07 10:22 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-07 22:16 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-09  6:59 Joonas Niilola
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-09 16:22 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-09 16:22 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-09 16:22 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-11 11:20 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-11 21:20 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-12  7:46 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14  2:10 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14  5:30 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14  5:30 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14  5:30 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14  5:30 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14  5:30 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14  5:30 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14  5:30 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-14 20:43 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-15 20:49 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-15 20:49 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-15 20:49 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-16  7:44 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-16  9:43 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-18  9:50 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-18  9:52 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-19 11:12 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-19 11:15 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-19 11:15 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-19 19:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-23  6:31 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-23  6:31 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-25  2:07 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-25 18:45 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-26 12:24 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-27  5:28 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-27  6:58 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-27  6:58 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-27  9:12 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-28  8:22 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-28 15:51 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-30  7:58 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-30  9:38 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-30  9:38 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-30  9:38 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-09-30 10:34 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-01  7:27 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-01  9:28 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-01 18:16 Mike Gilbert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-02 17:51 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-02 19:39 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-05 11:12 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-05 11:12 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-05 11:12 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-08 10:03 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-08 10:03 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-08 10:03 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-09 10:54 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-09 10:54 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-09 20:28 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-12 15:52 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-12 15:52 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-12 15:52 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-12 15:52 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-12 15:52 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-12 15:52 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-13 16:15 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-13 16:34 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-15 15:23 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-16  9:26 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-18  6:44 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-18  7:50 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-18  7:50 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-18  7:50 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-18  7:50 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-18 12:11 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-19 12:21 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-19 18:10 Mike Pagano
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-19 18:22 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-19 18:22 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-19 19:50 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-19 19:50 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-20 20:07 Matt Turner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-21 16:59 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-21 17:06 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-21 17:46 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-21 17:46 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-22  9:49 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-22 19:14 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-22 19:14 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-23  8:36 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-26  0:41 Marek Szuba
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-26  2:10 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-26 16:48 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-26 21:55 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-27  3:33 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-29  3:53 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-30 18:55 Mike Gilbert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-10-31 19:55 Mike Gilbert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-01  8:11 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-04 17:51 Mike Gilbert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-07  5:29 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-07  5:29 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-07  5:29 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-07  5:29 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-08  1:50 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-08  7:39 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-09  2:00 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-10 10:33 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-10 12:17 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-10 12:17 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-10 16:20 Pacho Ramos
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-11 10:36 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-11 20:23 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-13 17:33 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-13 17:33 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-13 17:33 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-13 21:11 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-13 22:15 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-14 14:11 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-18  9:19 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-18  9:19 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-19 11:10 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-19 16:01 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-19 16:01 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-19 16:01 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-20 23:27 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-20 23:27 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-20 23:27 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-20 23:27 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-21 20:43 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-21 20:51 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-22  0:00 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-22  0:00 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-22  0:00 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-23 15:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-24 16:26 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-24 16:26 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-24 17:17 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-24 18:35 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-24 18:35 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 11:21 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 23:34 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 23:34 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 23:34 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 23:34 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 23:34 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-25 23:34 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-26  8:06 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-26 18:34 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-26 18:51 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-27 11:13 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-11-29 15:15 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-04  7:32 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-05 10:27 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-07 13:01 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-08 17:03 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-08 17:03 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-09 10:01 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-09 10:01 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-09 10:01 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-09 10:01 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-09 10:32 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-09 18:16 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11  7:31 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11  7:31 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11  7:31 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11  7:31 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11  7:31 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11 12:41 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-11 12:41 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-12 13:04 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14  5:22 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14  5:22 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14  5:22 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14  5:22 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14  5:25 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14  5:35 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-14 15:02 Benda XU
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-15  6:52 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-15 17:51 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-17 11:23 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-18 17:21 WANG Xuerui
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-18 17:21 WANG Xuerui
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-18 17:21 WANG Xuerui
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-19 20:33 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-20 13:41 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-21 16:41 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-21 16:41 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-22 16:44 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-23 17:35 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-23 18:12 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-24 11:46 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-24 12:35 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-25  9:02 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-25 15:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-25 15:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-25 15:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-26 14:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-27 20:57 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-27 20:57 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-27 20:57 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-27 20:57 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-27 20:57 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-28  6:29 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-28 15:06 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 15:34 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 15:34 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 16:20 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 16:20 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 16:20 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 16:20 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 16:20 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-12-30 16:20 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-03  6:20 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-03  9:35 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-03 10:44 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-05 10:54 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-05 20:19 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-05 20:19 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-05 20:19 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-06 21:52 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-07 11:38 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-07 17:29 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-07 17:29 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08  9:48 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08  9:48 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 12:03 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 12:03 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 12:03 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 12:28 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 12:28 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 12:29 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 14:48 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 14:48 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 21:09 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-08 23:53 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-09  6:41 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-10 11:01 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-10 11:01 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-10 11:01 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-11  9:48 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-11  9:48 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-11  9:48 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-11 17:50 William Hubbs
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-12 11:08 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-12 11:36 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-12 11:46 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-12 11:46 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-13 17:49 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-13 17:49 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-16  9:02 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-17  7:41 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-19  9:51 罗百科
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-19 12:44 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-19 12:44 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-19 12:44 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-20 10:09 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-20 21:22 Conrad Kostecki
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-22 11:29 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-23  5:32 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-23  6:00 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-23  6:00 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-24 11:44 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-24 14:35 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-24 15:57 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-27 17:18 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-27 20:33 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-30 11:09 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-30 11:28 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-30 21:21 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-01-31 13:59 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-01 19:22 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-01 23:52 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-01 23:52 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-02  6:28 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-03 14:07 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-05  0:20 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-06  3:07 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-06  3:07 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-07 15:10 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 16:24 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-10 17:27 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-11 12:11 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-11 12:11 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-11 12:11 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-12 16:25 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-18 13:23 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-18 13:23 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-18 13:23 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-18 13:23 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-18 20:22 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-19  5:06 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-19  5:08 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-22  4:23 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-23  7:46 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-24 12:57 Jakov Smolić
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-24 14:54 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-27 23:54 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-27 23:54 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-28 13:56 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-28 13:56 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-02-28 20:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-01 19:25 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-01 19:25 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-01 19:25 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-01 20:50 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-02 13:24 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-06 17:03 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-07 18:04 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08  5:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08  5:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08  5:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08  5:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08  5:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08  5:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-08  5:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-09 15:52 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-10 21:10 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-10 21:10 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-11 19:20 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-11 23:05 Andreas K. Hüttel
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-12  0:34 Mike Gilbert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-12  0:38 Mike Gilbert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-12  5:13 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-15 20:45 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-16  4:44 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-16  4:44 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-16 16:25 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-17  9:18 Andreas K. Hüttel
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-18 13:02 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-19 14:12 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23  8:28 Arthur Zamarin
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23  8:28 Arthur Zamarin
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 10:25 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 14:35 Arthur Zamarin
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 14:49 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 14:49 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 14:52 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 15:42 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 15:42 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 15:42 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 15:42 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 15:43 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 15:43 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 16:05 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 17:03 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 17:04 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 19:01 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-23 20:19 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-24  9:09 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-24  9:32 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-24 14:05 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-24 17:47 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-29 18:47 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-03-30 10:27 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01  9:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01  9:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01  9:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01  9:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01  9:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01  9:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01  9:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01  9:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-01  9:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-03 17:38 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-03 17:38 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-04  1:07 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-04  1:07 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-04  8:18 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-04 17:33 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-04 17:33 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-05  9:45 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-05 16:06 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-06  9:13 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-06 13:44 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-08  7:15 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-09 20:17 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-10  8:11 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-10 11:10 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-10 17:56 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-11  7:48 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-13 18:32 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-13 18:41 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-13 20:03 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-16  1:40 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-16  1:40 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-16  1:40 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-17 23:34 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-19 18:46 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-19 18:46 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-19 23:11 Mike Gilbert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-20  5:40 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-20  9:41 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-20 14:20 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-20 14:20 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-22  3:14 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-23 21:43 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-25 20:43 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-25 20:43 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-27 10:42 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-28  9:47 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-28 15:54 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-29 17:31 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-30  5:58 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-30 18:34 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-30 18:34 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-30 19:19 Alfredo Tupone
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-04-30 19:25 Alfredo Tupone
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-01  0:27 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-01  0:27 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-01  3:02 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-02  0:24 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-02 17:44 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-03  2:48 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-03  2:48 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-03 11:43 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-03 11:43 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-03 11:43 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-04 19:57 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-04 19:57 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-06  4:39 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-06 17:11 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-06 17:28 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-06 17:28 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-07  7:57 Andreas K. Hüttel
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-08  8:06 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-09 19:54 Conrad Kostecki
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-09 19:54 Conrad Kostecki
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11  0:55 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11  1:58 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11  6:21 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11  6:44 Joonas Niilola
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11 13:39 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-12  4:51 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13  7:07 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13  8:35 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 13:22 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 13:22 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 13:22 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 13:22 Michael Orlitzky
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 21:53 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-14  8:20 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-14  9:19 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-15 14:20 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-15 18:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17  6:25 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 12:07 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 12:07 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 12:07 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 23:05 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 23:05 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-18  3:50 Benda XU
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-18 13:25 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-21  8:58 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-21  8:58 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-21  8:58 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-22  1:44 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-25  5:55 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-25  8:35 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-26  8:18 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-31 12:42 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01  6:19 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01  6:19 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01  6:19 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01 21:11 Alfredo Tupone
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01 21:34 Alfredo Tupone
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-02  8:22 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-06 20:37 Mike Gilbert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-08  3:53 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-08  3:53 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-08 10:29 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-08 15:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-10 12:46 Joonas Niilola
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-10 14:23 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-10 14:23 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 10:24 Arthur Zamarin
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 13:20 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 13:20 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 14:27 Patrick Lauer
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 16:36 Patrick Lauer
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 17:13 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-13 13:21 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-13 18:35 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-13 18:35 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-13 20:43 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:19 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-15  7:58 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-15 11:01 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-17  0:53 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-17  9:39 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-17 17:13 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-19  3:16 Andreas K. Hüttel
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-20  7:29 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-20  7:29 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-20  9:57 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-23  1:00 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-23 17:33 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-24 11:58 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-26  6:24 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-27  7:33 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-28  8:23 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-29  8:39 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-29  8:39 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-29  8:39 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-30 18:27 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-02 17:49 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-03  0:54 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-03  0:59 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-03  5:30 Joonas Niilola
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-05 11:03 Arthur Zamarin
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-05 11:03 Arthur Zamarin
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-05 11:03 Arthur Zamarin
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-05 20:50 Luca Barbato
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-06 11:19 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-07  6:45 Matthew Smith
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-08 10:03 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-08 10:03 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-08 10:03 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-08 10:03 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-09 16:44 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-11 14:35 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-11 20:54 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-11 20:54 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-12  6:27 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-12  7:38 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-12 17:43 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-13  7:46 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-13 14:14 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-14 17:45 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-14 17:45 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15  7:17 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15  7:17 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15  7:17 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-18 16:15 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-20 12:09 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 13:31 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 13:31 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 13:31 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 15:14 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 15:45 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-22 15:09 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-22 15:09 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-22 15:09 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 10:03 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 14:07 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 14:07 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 14:07 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 14:13 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24  8:58 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24  8:58 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24 17:18 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24 17:18 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24 17:18 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-26  9:00 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-26 17:18 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-27  7:27 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-27 22:00 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-28 17:40 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-31  0:02 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-01  7:32 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-01 20:20 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-04  7:27 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-04  7:30 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-04  8:28 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  1:46 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 16:39 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07  3:03 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07  8:58 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07  8:58 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07  9:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07  9:25 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07  9:41 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07 15:13 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08  9:00 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 10:05 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 10:30 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 10:30 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 10:49 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 14:38 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 16:46 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 19:26 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-09 11:39 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-09 11:50 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-09 14:30 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-09 15:50 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-10 14:06 Fabian Groffen
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-10 17:24 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-11 20:56 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12  1:19 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12  1:19 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12  1:19 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12  1:19 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12 19:02 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12 19:02 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 20:01 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 21:18 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 21:24 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16  5:55 Arthur Zamarin
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 10:15 Arthur Zamarin
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-18 17:44 Arsen Arsenović
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-18 17:44 Arsen Arsenović
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-18 17:44 Arsen Arsenović
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-19  6:02 Viorel Munteanu
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-19 18:17 Robin H. Johnson
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-20 20:07 Mike Gilbert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-20 20:17 Mike Gilbert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-21 21:51 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-22 11:23 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-22 17:00 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-23 19:25 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-23 19:25 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-25  0:49 Jason Zaman
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-25 15:37 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26  6:34 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 13:04 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 13:04 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 13:04 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 13:04 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-30 19:10 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-30 19:43 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-31  8:33 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01  9:59 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01  9:59 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01  9:59 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01  9:59 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 11:05 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 11:05 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 11:05 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 11:05 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-03  4:22 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-03  8:58 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-03  9:40 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-04 20:33 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-05 12:10 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-07 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-07 18:23 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-09 18:20 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-10  6:46 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-10  8:54 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-10 12:58 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-10 19:11 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-11 22:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-12 22:08 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-17 11:58 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-17 12:13 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-18 15:51 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-19 22:57 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-23 12:06 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-23 15:11 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-24  6:41 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-24 11:52 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-24 18:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-24 18:02 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-25  4:39 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-25  4:51 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-25 11:12 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-25 11:12 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-25 11:12 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-25 19:29 Eli Schwartz
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29  0:18 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29  0:18 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29  0:18 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29  1:07 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29  1:07 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29  1:13 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29  1:13 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 11:22 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 11:22 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 11:22 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-29 11:28 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  1:52 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  1:52 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  1:52 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  1:52 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  2:02 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  2:02 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  2:02 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  2:15 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  2:15 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  2:20 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  3:02 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  3:03 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-30  5:57 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01  1:11 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01  1:46 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01  1:58 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01  1:58 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01  2:06 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01  2:14 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01  2:16 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01  6:59 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01  7:47 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 10:18 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 19:38 Eli Schwartz
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 20:40 James Le Cuirot
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 23:13 Eli Schwartz
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-01 23:13 Eli Schwartz
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-02  0:57 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-02  9:01 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-02  9:01 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-02  9:01 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-02  9:01 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-03  3:43 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-03  4:02 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-04 11:49 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-07  2:40 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-07  4:13 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-07  4:13 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-07  4:13 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-07  4:13 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08  7:09 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:29 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:29 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-08 15:32 David Seifert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-09 11:45 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-10 14:47 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-15  7:17 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-15 13:13 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-16  4:54 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-16  4:54 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-16  4:54 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-16 16:13 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-18 17:54 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-18 17:54 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-18 17:54 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-19 13:47 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-21  9:32 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-23 12:18 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-29 13:01 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-29 23:22 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-29 23:22 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-30  2:27 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-30 11:43 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-10-30 20:50 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-01  9:03 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-03  9:35 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-05 10:47 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-05 10:47 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-06 11:27 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-07  5:28 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-07  5:28 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09  6:26 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09  6:26 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09  6:26 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09  7:21 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09  7:31 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09  9:02 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-09 10:50 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-10 17:24 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-11  8:53 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-11  8:53 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-11 19:28 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-11 23:48 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-11 23:48 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-12  8:09 Andrew Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-12  9:09 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-12 19:19 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-13  6:16 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-13 18:21 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-13 19:22 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-14  0:36 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-17  5:27 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-17  5:27 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-18  9:28 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-18 11:11 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-18 16:44 Mike Gilbert
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-18 19:32 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-19 14:50 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-19 15:01 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-20 12:05 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-20 12:15 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-20 12:20 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-20 12:37 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-22 19:25 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-23 13:15 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-24 19:01 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-26  1:45 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-26  1:45 Maciej Barć
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-26 17:28 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-29 21:18 Eli Schwartz
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-29 21:18 Eli Schwartz
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-29 21:18 Eli Schwartz
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-30  5:10 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-30  5:10 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-30  7:17 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-11-30  7:17 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-01  8:53 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-01  9:25 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-01 12:12 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-02  8:46 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-02  8:46 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-04 11:33 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-04 11:34 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-06  5:10 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-06  7:43 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-06  7:43 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-06  7:44 Miroslav Šulc
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-06 11:33 Nowa Ammerlaan
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-06 21:55 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-07 23:23 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-08  1:11 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-08 23:34 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-08 23:34 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-09 18:49 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-10  5:21 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-11 11:52 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-11 11:52 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-11 11:52 Ionen Wolkens
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-12  7:47 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-12  7:47 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-12  7:47 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-12 17:03 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-12 17:03 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-12 17:03 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-13 10:02 Florian Schmaus
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-13 13:11 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-14 12:47 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-14 16:33 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-14 18:43 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-15  3:08 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-15  9:47 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-15 12:48 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-16  5:57 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-16 15:17 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-16 18:45 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-16 18:45 Ulrich Müller
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-17 17:14 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-17 17:34 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-17 21:44 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-17 22:14 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-18  2:46 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-18  3:00 Matt Turner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-18  3:00 Matt Turner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-21 10:28 Michał Górny
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-22  1:30 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-22  3:20 Matt Jolly
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-22 19:41 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-23 17:10 Andreas Sturmlechner
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-25 15:08 Hans de Graaff
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-12-26 10:59 Sam James
  0 siblings, 0 replies; 6214+ 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] 6214+ messages in thread

end of thread, other threads:[~2024-12-26 11:00 UTC | newest]

Thread overview: 6214+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-26 10:53 [gentoo-commits] repo/gentoo:master commit in: eclass/ Gilles Dartiguelongue
  -- strict thread matches above, loose matches on Subject: below --
2023-08-25  9:12 Andrew Ammerlaan
2023-08-25 19:17 Michał Górny
2023-08-26  6:52 Ulrich Müller
2023-08-26  6:52 Ulrich Müller
2023-08-26  6:52 Ulrich Müller
2023-08-26 15:22 Ulrich Müller
2023-08-27 18:04 Andrew Ammerlaan
2023-08-27 19:36 Andrew Ammerlaan
2023-08-27 19:36 Andrew Ammerlaan
2023-08-27 19:36 Andrew Ammerlaan
2023-08-27 20:26 Sam James
2023-08-28  6:54 WANG Xuerui
2023-08-29  2:11 Sam James
2023-08-29 11:20 Michał Górny
2023-08-29 11:20 Michał Górny
2023-08-29 15:44 Ulrich Müller
2023-09-02 17:34 Michał Górny
2023-09-02 17:34 Michał Górny
2023-09-04 13:14 Michał Górny
2023-09-04 13:14 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-05 19:58 Michał Górny
2023-09-06 18:13 Michał Górny
2023-09-07 10:03 Ionen Wolkens
2023-09-07 10:22 Ionen Wolkens
2023-09-07 22:16 Ionen Wolkens
2023-09-09  6:59 Joonas Niilola
2023-09-09 16:22 Ionen Wolkens
2023-09-09 16:22 Ionen Wolkens
2023-09-09 16:22 Ionen Wolkens
2023-09-11 11:20 Ionen Wolkens
2023-09-11 21:20 Ionen Wolkens
2023-09-12  7:46 James Le Cuirot
2023-09-14  2:10 Sam James
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 20:43 Ionen Wolkens
2023-09-15 20:49 Maciej Barć
2023-09-15 20:49 Maciej Barć
2023-09-15 20:49 Maciej Barć
2023-09-16  7:44 Florian Schmaus
2023-09-16  9:43 Sam James
2023-09-18  9:50 Sam James
2023-09-18  9:52 Sam James
2023-09-19 11:12 Miroslav Šulc
2023-09-19 11:15 Sam James
2023-09-19 11:15 Sam James
2023-09-19 19:47 Michał Górny
2023-09-23  6:31 Hans de Graaff
2023-09-23  6:31 Hans de Graaff
2023-09-25  2:07 Sam James
2023-09-25 18:45 Michał Górny
2023-09-26 12:24 Ionen Wolkens
2023-09-27  5:28 Sam James
2023-09-27  6:58 Miroslav Šulc
2023-09-27  6:58 Miroslav Šulc
2023-09-27  9:12 Michał Górny
2023-09-28  8:22 Miroslav Šulc
2023-09-28 15:51 Hans de Graaff
2023-09-30  7:58 Miroslav Šulc
2023-09-30  9:38 Sam James
2023-09-30  9:38 Sam James
2023-09-30  9:38 Sam James
2023-09-30 10:34 Sam James
2023-10-01  7:27 Sam James
2023-10-01  9:28 Andrew Ammerlaan
2023-10-01 18:16 Mike Gilbert
2023-10-02 17:51 Michał Górny
2023-10-02 19:39 Michał Górny
2023-10-05 11:12 Sam James
2023-10-05 11:12 Sam James
2023-10-05 11:12 Sam James
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-09 10:54 Florian Schmaus
2023-10-09 10:54 Florian Schmaus
2023-10-09 20:28 James Le Cuirot
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-13 16:15 Michał Górny
2023-10-13 16:34 Ionen Wolkens
2023-10-15 15:23 Sam James
2023-10-16  9:26 Sam James
2023-10-18  6:44 Sam James
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 12:11 Florian Schmaus
2023-10-19 12:21 Hans de Graaff
2023-10-19 18:10 Mike Pagano
2023-10-19 18:22 Miroslav Šulc
2023-10-19 18:22 Miroslav Šulc
2023-10-19 19:50 Michał Górny
2023-10-19 19:50 Michał Górny
2023-10-20 20:07 Matt Turner
2023-10-21 16:59 Sam James
2023-10-21 17:06 Sam James
2023-10-21 17:46 Sam James
2023-10-21 17:46 Sam James
2023-10-22  9:49 Ulrich Müller
2023-10-22 19:14 Michał Górny
2023-10-22 19:14 Michał Górny
2023-10-23  8:36 Florian Schmaus
2023-10-26  0:41 Marek Szuba
2023-10-26  2:10 Michał Górny
2023-10-26 16:48 Sam James
2023-10-26 21:55 Sam James
2023-10-27  3:33 Sam James
2023-10-29  3:53 Sam James
2023-10-30 18:55 Mike Gilbert
2023-10-31 19:55 Mike Gilbert
2023-11-01  8:11 Ionen Wolkens
2023-11-04 17:51 Mike Gilbert
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-08  1:50 Sam James
2023-11-08  7:39 Ulrich Müller
2023-11-09  2:00 Sam James
2023-11-10 10:33 Michał Górny
2023-11-10 12:17 Andrew Ammerlaan
2023-11-10 12:17 Andrew Ammerlaan
2023-11-10 16:20 Pacho Ramos
2023-11-11 10:36 Michał Górny
2023-11-11 20:23 Michał Górny
2023-11-13 17:33 Maciej Barć
2023-11-13 17:33 Maciej Barć
2023-11-13 17:33 Maciej Barć
2023-11-13 21:11 Andreas Sturmlechner
2023-11-13 22:15 James Le Cuirot
2023-11-14 14:11 Florian Schmaus
2023-11-18  9:19 Andrew Ammerlaan
2023-11-18  9:19 Andrew Ammerlaan
2023-11-19 11:10 Michał Górny
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-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-21 20:43 Sam James
2023-11-21 20:51 Sam James
2023-11-22  0:00 Sam James
2023-11-22  0:00 Sam James
2023-11-22  0:00 Sam James
2023-11-23 15:02 Michał Górny
2023-11-24 16:26 Sam James
2023-11-24 16:26 Sam James
2023-11-24 17:17 Sam James
2023-11-24 18:35 Sam James
2023-11-24 18:35 Sam James
2023-11-25 11:21 Michał Górny
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-26  8:06 Andrew Ammerlaan
2023-11-26 18:34 Sam James
2023-11-26 18:51 Andrew Ammerlaan
2023-11-27 11:13 Sam James
2023-11-29 15:15 Michał Górny
2023-12-04  7:32 Sam James
2023-12-05 10:27 Andrew Ammerlaan
2023-12-07 13:01 Sam James
2023-12-08 17:03 Ulrich Müller
2023-12-08 17:03 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-09 10:01 Ulrich Müller
2023-12-09 10:32 Michał Górny
2023-12-09 18:16 Michał Górny
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-11 12:41 Andrew Ammerlaan
2023-12-11 12:41 Andrew Ammerlaan
2023-12-12 13:04 Andreas Sturmlechner
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-14  5:25 Sam James
2023-12-14  5:35 Sam James
2023-12-14 15:02 Benda XU
2023-12-15  6:52 Sam James
2023-12-15 17:51 Michał Górny
2023-12-17 11:23 Michał Górny
2023-12-18 17:21 WANG Xuerui
2023-12-18 17:21 WANG Xuerui
2023-12-18 17:21 WANG Xuerui
2023-12-19 20:33 Ionen Wolkens
2023-12-20 13:41 Sam James
2023-12-21 16:41 Andreas Sturmlechner
2023-12-21 16:41 Andreas Sturmlechner
2023-12-22 16:44 Michał Górny
2023-12-23 17:35 Michał Górny
2023-12-23 18:12 Sam James
2023-12-24 11:46 Andrew Ammerlaan
2023-12-24 12:35 Andrew Ammerlaan
2023-12-25  9:02 Hans de Graaff
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-26 14:02 Michał Górny
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-28  6:29 Ionen Wolkens
2023-12-28 15:06 Michał Górny
2023-12-30 15:34 Ulrich Müller
2023-12-30 15:34 Ulrich Müller
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
2024-01-03  6:20 Sam James
2024-01-03  9:35 Ionen Wolkens
2024-01-03 10:44 Sam James
2024-01-05 10:54 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-06 21:52 Michał Górny
2024-01-07 11:38 Michał Górny
2024-01-07 17:29 Andrew Ammerlaan
2024-01-07 17:29 Andrew Ammerlaan
2024-01-08  9:48 Sam James
2024-01-08  9:48 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 12:28 Sam James
2024-01-08 12:28 Sam James
2024-01-08 12:29 Sam James
2024-01-08 14:48 Michał Górny
2024-01-08 14:48 Michał Górny
2024-01-08 21:09 Ionen Wolkens
2024-01-08 23:53 Sam James
2024-01-09  6:41 Michał Górny
2024-01-10 11:01 Andreas Sturmlechner
2024-01-10 11:01 Andreas Sturmlechner
2024-01-10 11:01 Andreas Sturmlechner
2024-01-11  9:48 Miroslav Šulc
2024-01-11  9:48 Miroslav Šulc
2024-01-11  9:48 Miroslav Šulc
2024-01-11 17:50 William Hubbs
2024-01-12 11:08 Sam James
2024-01-12 11:36 Andrew Ammerlaan
2024-01-12 11:46 Sam James
2024-01-12 11:46 Sam James
2024-01-13 17:49 Michał Górny
2024-01-13 17:49 Michał Górny
2024-01-16  9:02 Andrew Ammerlaan
2024-01-17  7:41 Michał Górny
2024-01-19  9:51 罗百科
2024-01-19 12:44 Miroslav Šulc
2024-01-19 12:44 Miroslav Šulc
2024-01-19 12:44 Miroslav Šulc
2024-01-20 10:09 Florian Schmaus
2024-01-20 21:22 Conrad Kostecki
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-23  5:32 Sam James
2024-01-23  6:00 Sam James
2024-01-23  6:00 Sam James
2024-01-24 11:44 Michał Górny
2024-01-24 14:35 Andrew Ammerlaan
2024-01-24 15:57 Michael Orlitzky
2024-01-27 17:18 Sam James
2024-01-27 20:33 Michał Górny
2024-01-30 11:09 Andrew Ammerlaan
2024-01-30 11:28 Florian Schmaus
2024-01-30 21:21 Michał Górny
2024-01-31 13:59 Michał Górny
2024-02-01 19:22 Sam James
2024-02-01 23:52 Sam James
2024-02-01 23:52 Sam James
2024-02-02  6:28 Andrew Ammerlaan
2024-02-03 14:07 Sam James
2024-02-05  0:20 Sam James
2024-02-06  3:07 Michał Górny
2024-02-06  3:07 Michał Górny
2024-02-07 15:10 Andreas Sturmlechner
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-10 17:27 Michał Górny
2024-02-11 12:11 Andrew Ammerlaan
2024-02-11 12:11 Andrew Ammerlaan
2024-02-11 12:11 Andrew Ammerlaan
2024-02-12 16:25 Sam James
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-18 20:22 Michał Górny
2024-02-19  5:06 Sam James
2024-02-19  5:08 Sam James
2024-02-22  4:23 Michał Górny
2024-02-23  7:46 Sam James
2024-02-24 12:57 Jakov Smolić
2024-02-24 14:54 Michał Górny
2024-02-27 23:54 Sam James
2024-02-27 23:54 Sam James
2024-02-28 13:56 Andreas Sturmlechner
2024-02-28 13:56 Andreas Sturmlechner
2024-02-28 20:40 Michał Górny
2024-03-01 19:25 Sam James
2024-03-01 19:25 Sam James
2024-03-01 19:25 Sam James
2024-03-01 20:50 Sam James
2024-03-02 13:24 Michał Górny
2024-03-06 17:03 Michał Górny
2024-03-07 18:04 Sam James
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-09 15:52 Michał Górny
2024-03-10 21:10 Miroslav Šulc
2024-03-10 21:10 Miroslav Šulc
2024-03-11 19:20 Sam James
2024-03-11 23:05 Andreas K. Hüttel
2024-03-12  0:34 Mike Gilbert
2024-03-12  0:38 Mike Gilbert
2024-03-12  5:13 Michał Górny
2024-03-15 20:45 Sam James
2024-03-16  4:44 Sam James
2024-03-16  4:44 Sam James
2024-03-16 16:25 Michał Górny
2024-03-17  9:18 Andreas K. Hüttel
2024-03-18 13:02 Sam James
2024-03-19 14:12 Florian Schmaus
2024-03-23  8:28 Arthur Zamarin
2024-03-23  8:28 Arthur Zamarin
2024-03-23 10:25 Michał Górny
2024-03-23 14:35 Arthur Zamarin
2024-03-23 14:49 Sam James
2024-03-23 14:49 Sam James
2024-03-23 14:52 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 15:43 Sam James
2024-03-23 15:43 Sam James
2024-03-23 16:05 Sam James
2024-03-23 17:03 Michał Górny
2024-03-23 17:04 Sam James
2024-03-23 19:01 Sam James
2024-03-23 20:19 Sam James
2024-03-24  9:09 Sam James
2024-03-24  9:32 Sam James
2024-03-24 14:05 Sam James
2024-03-24 17:47 Sam James
2024-03-29 18:47 Sam James
2024-03-30 10:27 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-04-01  9:40 Michał Górny
2024-04-03 17:38 Florian Schmaus
2024-04-03 17:38 Florian Schmaus
2024-04-04  1:07 Sam James
2024-04-04  1:07 Sam James
2024-04-04  8:18 Florian Schmaus
2024-04-04 17:33 Ulrich Müller
2024-04-04 17:33 Ulrich Müller
2024-04-05  9:45 Hans de Graaff
2024-04-05 16:06 Florian Schmaus
2024-04-06  9:13 Michał Górny
2024-04-06 13:44 Michał Górny
2024-04-08  7:15 Miroslav Šulc
2024-04-09 20:17 Ulrich Müller
2024-04-10  8:11 Miroslav Šulc
2024-04-10 11:10 Michał Górny
2024-04-10 17:56 Ulrich Müller
2024-04-11  7:48 Miroslav Šulc
2024-04-13 18:32 Ulrich Müller
2024-04-13 18:41 Sam James
2024-04-13 20:03 Miroslav Šulc
2024-04-16  1:40 Sam James
2024-04-16  1:40 Sam James
2024-04-16  1:40 Sam James
2024-04-17 23:34 Sam James
2024-04-19 18:46 Michał Górny
2024-04-19 18:46 Michał Górny
2024-04-19 23:11 Mike Gilbert
2024-04-20  5:40 Michał Górny
2024-04-20  9:41 Michał Górny
2024-04-20 14:20 Ionen Wolkens
2024-04-20 14:20 Ionen Wolkens
2024-04-22  3:14 Sam James
2024-04-23 21:43 Sam James
2024-04-25 20:43 Andreas Sturmlechner
2024-04-25 20:43 Andreas Sturmlechner
2024-04-27 10:42 Michał Górny
2024-04-28  9:47 Hans de Graaff
2024-04-28 15:54 Michał Górny
2024-04-29 17:31 Florian Schmaus
2024-04-30  5:58 Sam James
2024-04-30 18:34 Michał Górny
2024-04-30 18:34 Michał Górny
2024-04-30 19:19 Alfredo Tupone
2024-04-30 19:25 Alfredo Tupone
2024-05-01  0:27 Sam James
2024-05-01  0:27 Sam James
2024-05-01  3:02 Sam James
2024-05-02  0:24 Sam James
2024-05-02 17:44 Florian Schmaus
2024-05-03  2:48 Sam James
2024-05-03  2:48 Sam James
2024-05-03 11:43 Sam James
2024-05-03 11:43 Sam James
2024-05-03 11:43 Sam James
2024-05-04 19:57 Michał Górny
2024-05-04 19:57 Michał Górny
2024-05-06  4:39 Sam James
2024-05-06 17:11 Ionen Wolkens
2024-05-06 17:28 Ulrich Müller
2024-05-06 17:28 Ulrich Müller
2024-05-07  7:57 Andreas K. Hüttel
2024-05-08  8:06 Ulrich Müller
2024-05-09 19:54 Conrad Kostecki
2024-05-09 19:54 Conrad Kostecki
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-11  0:55 Sam James
2024-05-11  1:58 Sam James
2024-05-11  6:21 Hans de Graaff
2024-05-11  6:44 Joonas Niilola
2024-05-11 13:39 Michał Górny
2024-05-12  4:51 Sam James
2024-05-13  7:07 Miroslav Šulc
2024-05-13  8:35 Florian Schmaus
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 21:53 Sam James
2024-05-14  8:20 Florian Schmaus
2024-05-14  9:19 Florian Schmaus
2024-05-15 14:20 Michał Górny
2024-05-15 18:02 Michał Górny
2024-05-17  6:25 Michał Górny
2024-05-17 12:07 Andrew Ammerlaan
2024-05-17 12:07 Andrew Ammerlaan
2024-05-17 12:07 Andrew Ammerlaan
2024-05-17 23:05 Ionen Wolkens
2024-05-17 23:05 Ionen Wolkens
2024-05-18  3:50 Benda XU
2024-05-18 13:25 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-20 17:02 Michał Górny
2024-05-21  8:58 Florian Schmaus
2024-05-21  8:58 Florian Schmaus
2024-05-21  8:58 Florian Schmaus
2024-05-22  1:44 Sam James
2024-05-25  5:55 Sam James
2024-05-25  8:35 Michał Górny
2024-05-26  8:18 Miroslav Šulc
2024-05-31 12:42 Michał Górny
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-06-01 21:11 Alfredo Tupone
2024-06-01 21:34 Alfredo Tupone
2024-06-02  8:22 Ionen Wolkens
2024-06-06 20:37 Mike Gilbert
2024-06-08  3:53 Ulrich Müller
2024-06-08  3:53 Ulrich Müller
2024-06-08 10:29 Michał Górny
2024-06-08 15:47 Michał Górny
2024-06-10 12:46 Joonas Niilola
2024-06-10 14:23 Ulrich Müller
2024-06-10 14:23 Ulrich Müller
2024-06-12 10:24 Arthur Zamarin
2024-06-12 13:20 James Le Cuirot
2024-06-12 13:20 James Le Cuirot
2024-06-12 14:27 Patrick Lauer
2024-06-12 16:36 Patrick Lauer
2024-06-12 17:13 James Le Cuirot
2024-06-13 13:21 Miroslav Šulc
2024-06-13 18:35 Ulrich Müller
2024-06-13 18:35 Ulrich Müller
2024-06-13 20:43 Andreas Sturmlechner
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-14 12:19 Miroslav Šulc
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-15  7:58 Sam James
2024-06-15 11:01 Michał Górny
2024-06-17  0:53 Sam James
2024-06-17  9:39 James Le Cuirot
2024-06-17 17:13 Andreas Sturmlechner
2024-06-19  3:16 Andreas K. Hüttel
2024-06-20  7:29 Florian Schmaus
2024-06-20  7:29 Florian Schmaus
2024-06-20  9:57 Sam James
2024-06-23  1:00 Ionen Wolkens
2024-06-23 17:33 Michał Górny
2024-06-24 11:58 Ulrich Müller
2024-06-26  6:24 Florian Schmaus
2024-06-27  7:33 Andrew Ammerlaan
2024-06-28  8:23 Miroslav Šulc
2024-06-29  8:39 Andrew Ammerlaan
2024-06-29  8:39 Andrew Ammerlaan
2024-06-29  8:39 Andrew Ammerlaan
2024-06-30 18:27 Sam James
2024-07-02 17:49 Sam James
2024-07-03  0:54 Sam James
2024-07-03  0:59 Sam James
2024-07-03  5:30 Joonas Niilola
2024-07-05 11:03 Arthur Zamarin
2024-07-05 11:03 Arthur Zamarin
2024-07-05 11:03 Arthur Zamarin
2024-07-05 20:50 Luca Barbato
2024-07-06 11:19 Michał Górny
2024-07-07  6:45 Matthew Smith
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-09 16:44 Ulrich Müller
2024-07-11 14:35 Michał Górny
2024-07-11 20:54 Ulrich Müller
2024-07-11 20:54 Ulrich Müller
2024-07-12  6:27 Sam James
2024-07-12  7:38 Sam James
2024-07-12 17:43 Ulrich Müller
2024-07-13  7:46 Michał Górny
2024-07-13 14:14 Michał Górny
2024-07-14 17:45 Florian Schmaus
2024-07-14 17:45 Florian Schmaus
2024-07-15  7:17 David Seifert
2024-07-15  7:17 David Seifert
2024-07-15  7:17 David Seifert
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-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-18 16:15 Michał Górny
2024-07-20 12:09 Ulrich Müller
2024-07-21 13:31 Andrew Ammerlaan
2024-07-21 13:31 Andrew Ammerlaan
2024-07-21 13:31 Andrew Ammerlaan
2024-07-21 15:14 Andrew Ammerlaan
2024-07-21 15:45 Andrew Ammerlaan
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-23 10:03 Miroslav Šulc
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 14:13 Michał Górny
2024-07-24  8:58 Florian Schmaus
2024-07-24  8:58 Florian Schmaus
2024-07-24 17:18 Andrew Ammerlaan
2024-07-24 17:18 Andrew Ammerlaan
2024-07-24 17:18 Andrew Ammerlaan
2024-07-26  9:00 Miroslav Šulc
2024-07-26 17:18 Ulrich Müller
2024-07-27  7:27 Michał Górny
2024-07-27 22:00 Andrew Ammerlaan
2024-07-28 17:40 Florian Schmaus
2024-07-31  0:02 Sam James
2024-08-01  7:32 Miroslav Šulc
2024-08-01 20:20 Michał Górny
2024-08-04  7:27 Sam James
2024-08-04  7:30 Andrew Ammerlaan
2024-08-04  8:28 Sam James
2024-08-06  1:46 Sam James
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 16:39 Florian Schmaus
2024-08-07  3:03 Sam James
2024-08-07  8:58 Andrew Ammerlaan
2024-08-07  8:58 Andrew Ammerlaan
2024-08-07  9:21 Sam James
2024-08-07  9:25 Sam James
2024-08-07  9:41 Sam James
2024-08-07 15:13 Sam James
2024-08-08  9:00 James Le Cuirot
2024-08-08 10:05 Sam James
2024-08-08 10:30 Sam James
2024-08-08 10:30 Sam James
2024-08-08 10:49 Sam James
2024-08-08 14:38 James Le Cuirot
2024-08-08 16:46 Andrew Ammerlaan
2024-08-08 19:26 Michał Górny
2024-08-09 11:39 Sam James
2024-08-09 11:50 Sam James
2024-08-09 14:30 Sam James
2024-08-09 15:50 Andrew Ammerlaan
2024-08-10 14:06 Fabian Groffen
2024-08-10 17:24 Sam James
2024-08-11 20:56 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-12  1:19 Sam James
2024-08-12 19:02 Ulrich Müller
2024-08-12 19:02 Ulrich Müller
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-15 20:01 Michał Górny
2024-08-15 21:18 Sam James
2024-08-15 21:24 Sam James
2024-08-16  5:55 Arthur Zamarin
2024-08-16 10:15 Arthur Zamarin
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-18 17:44 Arsen Arsenović
2024-08-18 17:44 Arsen Arsenović
2024-08-18 17:44 Arsen Arsenović
2024-08-19  6:02 Viorel Munteanu
2024-08-19 18:17 Robin H. Johnson
2024-08-20 20:07 Mike Gilbert
2024-08-20 20:17 Mike Gilbert
2024-08-21 21:51 Andreas Sturmlechner
2024-08-22 11:23 Michał Górny
2024-08-22 17:00 Andreas Sturmlechner
2024-08-23 19:25 Michał Górny
2024-08-23 19:25 Michał Górny
2024-08-25  0:49 Jason Zaman
2024-08-25 15:37 Andrew Ammerlaan
2024-08-26  6:34 Andreas Sturmlechner
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-30 19:10 Andrew Ammerlaan
2024-08-30 19:43 Andrew Ammerlaan
2024-08-31  8:33 Michał Górny
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-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-03  4:22 Ionen Wolkens
2024-09-03  8:58 Sam James
2024-09-03  9:40 Sam James
2024-09-04 20:33 Michał Górny
2024-09-05 12:10 Sam James
2024-09-07 18:21 Sam James
2024-09-07 18:23 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-09 18:20 Sam James
2024-09-10  6:46 Miroslav Šulc
2024-09-10  8:54 Michał Górny
2024-09-10 12:58 Michał Górny
2024-09-10 19:11 Miroslav Šulc
2024-09-11 22:21 Sam James
2024-09-12 22:08 Sam James
2024-09-17 11:58 Andrew Ammerlaan
2024-09-17 12:13 Michał Górny
2024-09-18 15:51 Sam James
2024-09-19 22:57 Sam James
2024-09-23 12:06 Ulrich Müller
2024-09-23 15:11 Michał Górny
2024-09-24  6:41 Michał Górny
2024-09-24 11:52 Sam James
2024-09-24 18:02 Michał Górny
2024-09-24 18:02 Michał Górny
2024-09-25  4:39 Michał Górny
2024-09-25  4:51 Ulrich Müller
2024-09-25 11:12 Sam James
2024-09-25 11:12 Sam James
2024-09-25 11:12 Sam James
2024-09-25 19:29 Eli Schwartz
2024-09-29  0:18 Sam James
2024-09-29  0:18 Sam James
2024-09-29  0:18 Sam James
2024-09-29  1:07 Sam James
2024-09-29  1:07 Sam James
2024-09-29  1:13 Sam James
2024-09-29  1:13 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 11:28 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-30  2:02 Sam James
2024-09-30  2:02 Sam James
2024-09-30  2:02 Sam James
2024-09-30  2:15 Sam James
2024-09-30  2:15 Sam James
2024-09-30  2:20 Sam James
2024-09-30  3:02 Sam James
2024-09-30  3:03 Sam James
2024-09-30  5:57 Sam James
2024-10-01  1:11 Sam James
2024-10-01  1:46 Sam James
2024-10-01  1:58 Sam James
2024-10-01  1:58 Sam James
2024-10-01  2:06 Sam James
2024-10-01  2:14 Sam James
2024-10-01  2:16 Sam James
2024-10-01  6:59 Sam James
2024-10-01  7:47 Sam James
2024-10-01 10:18 Sam James
2024-10-01 19:38 Eli Schwartz
2024-10-01 20:40 James Le Cuirot
2024-10-01 23:13 Eli Schwartz
2024-10-01 23:13 Eli Schwartz
2024-10-02  0:57 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-03  3:43 Sam James
2024-10-03  4:02 Sam James
2024-10-04 11:49 Sam James
2024-10-07  2:40 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  4:13 Sam James
2024-10-08  7:09 Florian Schmaus
2024-10-08 15:29 Ulrich Müller
2024-10-08 15:29 Ulrich Müller
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-09 11:45 Michał Górny
2024-10-10 14:47 Andrew Ammerlaan
2024-10-15  7:17 Michał Górny
2024-10-15 13:13 Michał Górny
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-16 16:13 Andreas Sturmlechner
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-19 13:47 Ionen Wolkens
2024-10-21  9:32 Sam James
2024-10-23 12:18 Michał Górny
2024-10-29 13:01 Michał Górny
2024-10-29 23:22 Maciej Barć
2024-10-29 23:22 Maciej Barć
2024-10-30  2:27 Sam James
2024-10-30 11:43 Miroslav Šulc
2024-10-30 20:50 Sam James
2024-11-01  9:03 Michał Górny
2024-11-03  9:35 Sam James
2024-11-05 10:47 Florian Schmaus
2024-11-05 10:47 Florian Schmaus
2024-11-06 11:27 Sam James
2024-11-07  5:28 Michał Górny
2024-11-07  5:28 Michał Górny
2024-11-09  6:26 Matt Jolly
2024-11-09  6:26 Matt Jolly
2024-11-09  6:26 Matt Jolly
2024-11-09  7:21 Sam James
2024-11-09  7:31 Matt Jolly
2024-11-09  9:02 Matt Jolly
2024-11-09 10:50 Matt Jolly
2024-11-10 17:24 Sam James
2024-11-11  8:53 Matt Jolly
2024-11-11  8:53 Matt Jolly
2024-11-11 19:28 Sam James
2024-11-11 23:48 Matt Jolly
2024-11-11 23:48 Matt Jolly
2024-11-12  8:09 Andrew Ammerlaan
2024-11-12  9:09 Matt Jolly
2024-11-12 19:19 Sam James
2024-11-13  6:16 Matt Jolly
2024-11-13 18:21 Michał Górny
2024-11-13 19:22 Sam James
2024-11-14  0:36 Sam James
2024-11-17  5:27 Matt Jolly
2024-11-17  5:27 Matt Jolly
2024-11-18  9:28 Sam James
2024-11-18 11:11 Sam James
2024-11-18 16:44 Mike Gilbert
2024-11-18 19:32 Michał Górny
2024-11-19 14:50 Sam James
2024-11-19 15:01 Sam James
2024-11-20 12:05 Sam James
2024-11-20 12:15 Sam James
2024-11-20 12:20 Sam James
2024-11-20 12:37 Sam James
2024-11-22 19:25 Sam James
2024-11-23 13:15 Michał Górny
2024-11-24 19:01 Michał Górny
2024-11-26  1:45 Maciej Barć
2024-11-26  1:45 Maciej Barć
2024-11-26 17:28 Florian Schmaus
2024-11-29 21:18 Eli Schwartz
2024-11-29 21:18 Eli Schwartz
2024-11-29 21:18 Eli Schwartz
2024-11-30  5:10 Sam James
2024-11-30  5:10 Sam James
2024-11-30  7:17 Michał Górny
2024-11-30  7:17 Michał Górny
2024-12-01  8:53 Sam James
2024-12-01  9:25 Sam James
2024-12-01 12:12 Sam James
2024-12-02  8:46 Matt Jolly
2024-12-02  8:46 Matt Jolly
2024-12-04 11:33 Matt Jolly
2024-12-04 11:34 Matt Jolly
2024-12-06  5:10 Ionen Wolkens
2024-12-06  7:43 Miroslav Šulc
2024-12-06  7:43 Miroslav Šulc
2024-12-06  7:44 Miroslav Šulc
2024-12-06 11:33 Nowa Ammerlaan
2024-12-06 21:55 Sam James
2024-12-07 23:23 Sam James
2024-12-08  1:11 Sam James
2024-12-08 23:34 Matt Jolly
2024-12-08 23:34 Matt Jolly
2024-12-09 18:49 Ulrich Müller
2024-12-10  5:21 Ionen Wolkens
2024-12-11 11:52 Ionen Wolkens
2024-12-11 11:52 Ionen Wolkens
2024-12-11 11:52 Ionen Wolkens
2024-12-12  7:47 Sam James
2024-12-12  7:47 Sam James
2024-12-12  7:47 Sam James
2024-12-12 17:03 Florian Schmaus
2024-12-12 17:03 Florian Schmaus
2024-12-12 17:03 Florian Schmaus
2024-12-13 10:02 Florian Schmaus
2024-12-13 13:11 Hans de Graaff
2024-12-14 12:47 Sam James
2024-12-14 16:33 Sam James
2024-12-14 18:43 Sam James
2024-12-15  3:08 Sam James
2024-12-15  9:47 Sam James
2024-12-15 12:48 Sam James
2024-12-16  5:57 Michał Górny
2024-12-16 15:17 Sam James
2024-12-16 18:45 Ulrich Müller
2024-12-16 18:45 Ulrich Müller
2024-12-17 17:14 Sam James
2024-12-17 17:34 Sam James
2024-12-17 21:44 Andreas Sturmlechner
2024-12-17 22:14 Andreas Sturmlechner
2024-12-18  2:46 Sam James
2024-12-18  3:00 Matt Turner
2024-12-18  3:00 Matt Turner
2024-12-21 10:28 Michał Górny
2024-12-22  1:30 Sam James
2024-12-22  3:20 Matt Jolly
2024-12-22 19:41 Sam James
2024-12-23 17:10 Andreas Sturmlechner
2024-12-25 15:08 Hans de Graaff
2024-12-26 10:59 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox