public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-27  5:52 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-05-27  5:52 UTC (permalink / raw
  To: gentoo-commits

commit:     9ef377360950d138c2dd53118c92c22a50f2de03
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 27 05:48:51 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat May 27 05:52:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ef37736

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 9b44d7f42f39..b5963705eb82 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,12 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
 				17.0.0_pre20230520)
 					EGIT_COMMIT=abbb22cc0c9c33dedb8d53c2bd3e703f92baace7
 					;;
-				17.0.0_pre20230512)
-					EGIT_COMMIT=7d436d56b60b36508b94e39d08761f1405a9c770
-					;;
-				17.0.0_pre20230502)
-					EGIT_COMMIT=52882de0e641487329c9e093a90ea3dad01842c8
-					;;
 				*)
 					die "Unknown snapshot: ${PV}"
 					;;


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

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

commit:     b2c213edf8283ab12b3ae5c02425185ed678d92e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 27 16:35:35 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 27 16:35:35 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2c213ed

acct-user.eclass: fix UnknownKeywords

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/acct-user.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index 8d6657b634cb..f8a51ebf9c6b 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -144,7 +144,7 @@ readonly ACCT_USER_NAME
 # << Boilerplate ebuild variables >>
 : "${DESCRIPTION:="System user: ${ACCT_USER_NAME}"}"
 : "${SLOT:=0}"
-: "${KEYWORDS:=~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris}"
+: "${KEYWORDS:=~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris}"
 S=${WORKDIR}
 
 


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

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

commit:     82364ba37077e3a0863cd8b21bcc50e9884ca8a9
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 27 16:36:40 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May 27 16:36:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82364ba3

acct-group.eclass: fix UnknownKeywords

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/acct-group.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/acct-group.eclass b/eclass/acct-group.eclass
index 3c00c01a975f..8d2d3adb7221 100644
--- a/eclass/acct-group.eclass
+++ b/eclass/acct-group.eclass
@@ -78,7 +78,7 @@ readonly ACCT_GROUP_NAME
 # << Boilerplate ebuild variables >>
 : "${DESCRIPTION:="System group: ${ACCT_GROUP_NAME}"}"
 : "${SLOT:=0}"
-: "${KEYWORDS:=~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris}"
+: "${KEYWORDS:=~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris}"
 S=${WORKDIR}
 
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-29  7:57 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-05-29  7:57 UTC (permalink / raw
  To: gentoo-commits

commit:     7835e0d3715d2554e207cb7ed90cf123379acd87
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 28 13:12:42 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 29 07:57:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7835e0d3

autotools.eclass: Downgrade eqawarn for renaming configure.in

At this point, almost all upstreams will have switched to configure.ac.
Therefore, configure.in is most likely an indication of an inactive
upstream, and there is no reasonable way for the ebuild maintainer to
silence the warning (other than the ebuild renaming the file).

Keep the message as einfo, so there is still an indication that the file
was renamed.

Bug: https://bugs.gentoo.org/426262
Reviewed-by: Sam James <sam <AT> gentoo.org>
Reviewed-by: Pacho Ramos <pacho <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <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 91046b9f82f3..3a040b863eea 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -400,7 +400,7 @@ eautoconf() {
 		*)
 				# Move configure file to the new location only on newer EAPIs to ensure
 				# checks are done rather than retroactively breaking ebuilds.
-				eqawarn "Moving configure.in to configure.ac (bug #426262)"
+				einfo "Moving configure.in to configure.ac (bug #426262)"
 				mv configure.{in,ac} || die
 			;;
 		esac


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-29  7:58 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-05-29  7:58 UTC (permalink / raw
  To: gentoo-commits

commit:     5c5b475068cce291f3bcaad358153b97600eef45
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 28 13:14:32 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 29 07:57:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c5b4750

autotools.eclass: Allow running the tools only in src_prepare

Running them in src_unpack made sense only in EAPIs 0 and 1.

Fixes: 18fda95cea306efe8009d1100195225acd8f8756
Reviewed-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <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 3a040b863eea..7b94efc225fe 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -560,7 +560,7 @@ autotools_run_tool() {
 		shift
 	done
 
-	if [[ ${EBUILD_PHASE_FUNC} != "src_unpack" && ${EBUILD_PHASE_FUNC} != "src_prepare" ]] ; then
+	if [[ ${EBUILD_PHASE_FUNC} != "src_prepare" ]] ; then
 		eqawarn "Running '${1}' in ${EBUILD_PHASE_FUNC} phase"
 	fi
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-29  7:58 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-05-29  7:58 UTC (permalink / raw
  To: gentoo-commits

commit:     0e74da3a3d3fd1e90fb779e7ce3a1147ce3d5300
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 28 13:14:49 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 29 07:57:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e74da3a

autotools.eclass: Whitespace

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

 eclass/autotools.eclass | 1 -
 1 file changed, 1 deletion(-)

diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 7b94efc225fe..77124e098aac 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -389,7 +389,6 @@ eautoconf() {
 		die "No configure.{ac,in} present!"
 	fi
 
-
 	if [[ ${WANT_AUTOCONF} != "2.1" && -e configure.in ]] ; then
 		case ${EAPI} in
 			6|7)


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-29 13:05 Ionen Wolkens
  0 siblings, 0 replies; 5996+ messages in thread
From: Ionen Wolkens @ 2023-05-29 13:05 UTC (permalink / raw
  To: gentoo-commits

commit:     d9687a4df038382187300d6f44230661ff5bc377
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 23 09:25:02 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon May 29 13:03:27 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d9687a4d

linux-mod-r1.eclass: new eclass, rewrite of linux-mod.eclass

Here's a rough overview of -r0 -> -r1 differences with occasional
rationale behind them if felt relevant (for migrating, refer to
the eclassdocs instead as this does not really document usage
changes):

Features that did not exist in previous eclass (not exhaustive):
* automatic modules signing support, been often requested and
  users would instead use messy bashrc hacks to accomplish this
 (enabled with USE=modules-sign)
* modules (manual) stripping support to allow stripping *before*
  signing and compression
 (can be disabled with USE=-strip)
* can auto-select toolchain to match kernel, e.g. if built with
  clang-15 then it won't use gcc nor clang-16 if possible
 (will warn if the matching compiler went missing)
* helper functions to profit from the above 3 even if not using
  linux-mod-r1_src_compile+install (e.g. for zfs-kmod)
* generic supported kernel version checks (min/max) which comes with
  an encouragement to use LTS kernels for out-of-tree modules
 (but max is not enforced, just makes a strong suggestion)
* linux-mod-r1_src_install now does einstalldocs
* can guess some common build targets rather than just 'module',
  largely removing the need for BUILD_TARGETS
* user-oriented MODULES_EXTRA_EMAKE among other few variables
* various additional sanity checks hopefully making issues
  clearer for users and ebuilds a bit harder to write wrong

"Features" that existed but were not kept (not exhaustive):
* support for <kernel-2.6(!) modules, eclass only tested with >=4.14.x
* allowing doing all in global scope using variables ran through `eval`
 (this often led to all sort of variable misuse in global scope)
* MODULESD_* support, originally meant to keep but it is used by only
  5 packages and holds very little meaning that I can see even in these
 (when needed, packages should write their own .conf)
* moduledb, was being updated for nothing in postinst/postrm
  despite the tool that can use this (sys-kernel/module-rebuild)
  being gone from the tree since Feb 2014
* convert_to_m(), only 1 in-tree ebuild uses this right now (svgalib)
* various other functions with no consumers were dropped, some
  were likely meant to be @INTERNAL, get-KERNEL_CC was never used
  either and now there's ${KERNEL_CC}
* running 'clean' by default, this sometime led to race conditions by
  attempting to clean and build at same time in e.g. nvidia-drivers
 (if an ebuild truly need this, it can be specified manually)
* INSTALL_MOD_PATH support, this integrates badly with ebuilds that
  use it as DESTDIR with e.g. `make INSTALL_MOD_PATH="${ED}" install`
  or find "${ED}"/lib/modules, etc... requiring extra consideration
 (also feels inconsistent with how ebuilds normally work, the few
  concerned users may be interested by setting ROOT or manually moving
  files instead -- but support was missing until 2021 so it should
  have little impact)
* BUILD_FIXES support, this is set by linux-info.eclass but has no
  real relevance that I can see (ebuilds have sometime wrongly used it)
* undocumented feature CONFIG_CHECK="@CONFIG:modname" (or so?) meant
  for automagic based on kernel config is no longer supported, this
  also removes the also undocumented MODULE_IGNORE used by it (found
  0 ebuilds using these in the tree, can be done manually if needed)
* converting CONFIG_CHECK to non-fatal for running again on binary
  merge when (while *possible*) it's rather unlikely would build
  modules for a different kernel than the one that will be used
* having preinst and postrm exports, removed
  -> originally wanted to remove pkg_setup too but it complicated
     things with linux-info's own pkg_setup and made the eclass
     feel less convenient and error-prone with environment handling

Dependency changes:
* virtual/libelf DEPEND removed, building objtool (which uses this) is
  not handled by the eclass and does not seem auto-built by make if
  missing, as such the dependency is not used *here* but rather by
  dist-kernels and source packages which both already request it.
* sys-apps/kmod[tools] BDEPEND+IDEPEND added, and removed from DEPEND
  (linux-mod-r0 uses it similarly but lacks the eapi7+8 adjustment)
* modules-sign? ( dev-libs/openssl virtual/pkgconfig ) BDEPEND for
  building sign-file, unlike objtool it may need rebuilds for openssl
  and is handled here
* dependencies are no longer guarded by "kernel_linux? ( )", it only
  served to silence pkgcheck and then give build failures (linux-only
  ebuilds should be masked on non-Linux profiles or, if mixed, use a
  masked MODULES_OPTIONAL_IUSE which *can* be kernel_linux).

Tentative changes:
* drop KERNEL_ABI support, (nowadays) kernel seems to append its own
  -m32/-m64 and should be no need for multilib.eclass complications
 (tested to work *at least* with x32[userland]+64bit[kernel])
* ^ but add hppa2.0->64 kgcc64 switching like kernel-build.eclass
* drop addpredict wrt bug #653286, assuming no longer relevant given
  unable to reproduce even with kernel-4.14.315+split-debug+some misc
  modules, perhaps would with spl but that (removed) ebuild is too
  broken to try

Misc changes:
* misc -> extra default install dir, to match the kernel's defaults
 (this is also where zfs-kmod already installs due to that default)

Three bugs were addressed, but not closing given -r0 remains affected:
* bug #447352: modules signing is supported
* bug #759238: arguably not an issue anymore in -r0 either due to
  CHECKCONFIG_DONOTHING=1 (bug #862315) now existing, but -r1
  additionally makes it non-fatal if a whitelist exists in the kernel
* bug #816024: trying to select toolchain better is a -r1 highlight

Additionally, becomes WONTFIX in this version:
* bug #642240: INSTALL_MOD_PATH support is reverted

Bug: https://bugs.gentoo.org/447352
Bug: https://bugs.gentoo.org/642240
Bug: https://bugs.gentoo.org/759238
Bug: https://bugs.gentoo.org/816024
Closes: https://github.com/gentoo/gentoo/pull/31154
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 eclass/linux-mod-r1.eclass | 1206 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 1206 insertions(+)

diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
new file mode 100644
index 000000000000..595711008627
--- /dev/null
+++ b/eclass/linux-mod-r1.eclass
@@ -0,0 +1,1206 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: linux-mod-r1.eclass
+# @MAINTAINER:
+# Ionen Wolkens <ionen@gentoo.org>
+# Gentoo Kernel project <kernel@gentoo.org>
+# @AUTHOR:
+# Ionen Wolkens <ionen@gentoo.org>
+# @SUPPORTED_EAPIS: 8
+# @PROVIDES: linux-info
+# @BLURB: Functions for installing out-of-tree Linux kernel modules
+# @DESCRIPTION:
+# See the linux-mod-r1_src_compile function documentation for in-depth
+# usage, and see the example further down for a quick overview.
+#
+# @SUBSECTION linux-mod -> linux-mod-r1 migration notes
+#  0. Define a src_compile if missing, local variables below go there.
+#  1. MODULE_NAMES="name(libdir:srcdir:objdir)"
+#     BUILD_TARGETS="target"
+#       -> local modlist=( name=libdir:srcdir:objdir:target(s) )
+#     - try without :target first, it is now almost always unnecessary
+#     - srcdir defaults to the current directory, and note that paths
+#       can be relative to that (should typically *not* pass ${S})
+#     - "name(misc)" or "(extra)" are fine just as modlist=( name )
+#  2. BUILD_PARAMS and/or BUILD_FIXES
+#       -> local modargs=( VAR="${KV_OUT_DIR}" ... )
+#     - CC/LD and similar are unneeded, always passed (V=1 too)
+#     - eval (aka eval "${BUILD_PARAMS}") is /not/ used for this anymore
+#  3. s/linux-mod_/linux-mod-r1/g
+#  4. _preinst+_postrm can be dropped, keep linux-mod-r1_pkg_postinst
+#  5. linux-mod-r1_src_install now runs einstalldocs, adjust as needed
+#  6. if *not* using linux-mod-r1_src_compile/install, then refer to
+#     the eclass' 2nd example and ensure using modules_post_process
+#  7. If any, clang<->gcc switching custom workarounds can be dropped
+#  8. See MODULES_KERNEL_MAX/_MIN if had or need kernel version checks.
+#
+# Not an exhaustive list, verify that no installed files are missing
+# after.  Look for "command not found" errors in the build log too.
+#
+# Revision bumps are not strictly needed to migrate unless want to
+# keep the old as fallback for regressions, kernel upgrades or the
+# new IUSE=+strip will typically cause rebuilds either way.
+#
+# @EXAMPLE:
+#
+# If source directory S had a layout such as:
+#  - Makefile (builds a gentoo.ko in current directory)
+#  - gamepad/Makefile (want to install to kernel/drivers/hid)
+#  - gamepad/obj/ (the built gamepad.ko ends up here)
+#
+# ...and the Makefile uses the NIH_SOURCE variable to find where the
+# kernel build directory is (aka KV_OUT_DIR, see linux-info.eclass)
+#
+# then:
+#
+# @CODE
+# CONFIG_CHECK="INPUT_FF_MEMLESS" # gamepad needs it to rumble
+# MODULES_KERNEL_MIN=5.4 # needs features introduced in 5.4
+#
+# src_compile() {
+#     local modlist=(
+#         gentoo
+#         gamepad=kernel/drivers/hid:gamepad:gamepad/obj
+#     )
+#     local modargs=( NIH_SOURCE="${KV_OUT_DIR}" )
+#
+#     linux-mod-r1_src_compile
+# }
+# @CODE
+#
+# Alternatively, if using the package's build system directly is
+# more convenient, a typical example could be:
+#
+# @CODE
+# src_compile() {
+#     MODULES_MAKEARGS+=(
+#         NIH_KDIR="${KV_OUT_DIR}"
+#         NIH_KSRC="${KV_DIR}"
+#     )
+#
+#     emake "${MODULES_MAKEARGS[@]}"
+# }
+#
+# src_install() {
+#     emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install
+#     modules_post_process # strip->sign->compress
+#
+#     einstalldocs
+# }
+# @CODE
+#
+# Some extra make variables may be of interest:
+#  - INSTALL_MOD_PATH: sometime used as DESTDIR
+#  - INSTALL_MOD_DIR: equivalent to linux_moduleinto
+#
+# MODULES_MAKEARGS is set by the eclass to handle toolchain and,
+# when installing, also attempts to disable automatic stripping,
+# compression, signing, and depmod to let the eclass handle it.
+#
+# linux_domodule can alternatively be used to install a single module.
+#
+# (remember to ensure that linux-mod-r1_pkg_postinst is ran for depmod)
+
+case ${EAPI} in
+	8) ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ ! ${_LINUX_MOD_R1_ECLASS} ]]; then
+_LINUX_MOD_R1_ECLASS=1
+
+inherit edo linux-info multiprocessing toolchain-funcs
+
+IUSE="dist-kernel modules-sign +strip ${MODULES_OPTIONAL_IUSE}"
+
+RDEPEND="
+	sys-apps/kmod[tools]
+	dist-kernel? ( virtual/dist-kernel:= )
+"
+DEPEND="
+	virtual/linux-sources
+"
+BDEPEND="
+	sys-apps/kmod[tools]
+	modules-sign? (
+		dev-libs/openssl
+		virtual/pkgconfig
+	)
+"
+IDEPEND="
+	sys-apps/kmod[tools]
+"
+
+if [[ -n ${MODULES_OPTIONAL_IUSE} ]]; then
+	: "${MODULES_OPTIONAL_IUSE#+}? ( | )"
+	RDEPEND=${_/|/${RDEPEND}} DEPEND=${_/|/${DEPEND}} \
+		BDEPEND=${_/|/${BDEPEND}} IDEPEND=${_/|/${IDEPEND}}
+fi
+
+# @ECLASS_VARIABLE: KERNEL_CHOST
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Can be set to the CHOST value to use when selecting the toolchain
+# for building kernel modules.  This is similar to setting the kernel
+# build system's CROSS_COMPILE variable minus the trailing dash.
+#
+# If this does not auto-select the desired toolchain, finer control
+# can be achieved by setting the not directly documented (but valid)
+# variables:
+#
+# KERNEL_{CC,CXX,LD,AR,NM,OBJCOPY,OBJDUMP,READELF,STRIP}
+#
+# If in doubt, do not set any of this.
+#
+# Default if unset: auto-detection, typically same as the current CHOST
+
+# @ECLASS_VARIABLE: MODULES_EXTRA_EMAKE
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Extra arguments to pass to emake when building modules.
+# Can contain arguments with quoted spaces, e.g.
+# @CODE
+# ..._EMAKE="KCFLAGS='-fzomg-optimize -fsuper-strict-aliasing' ..."
+# @CODE
+
+# @ECLASS_VARIABLE: MODULES_I_WANT_FULL_CONTROL
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# When set to a non-empty value, disables passing most of the eclass'
+# toolchain defaults to emake when building modules.  Basic eclass
+# requirements, ebuilds' modargs, and users' MODULES_EXTRA_EMAKE are
+# still used.
+#
+# Primarily intended for expert users with modified kernel Makefiles
+# that want the Makefile's values to be used by default.
+#
+# May want to look at KERNEL_CHOST before considering this.
+
+# @ECLASS_VARIABLE: MODULES_SIGN_HASH
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used with USE=modules-sign.  Can be set to hash algorithm to use
+# during signature generation.
+#
+# Rather than set this, it is recommended to select using the kernel's
+# configuration to ensure proper support (e.g. CONFIG_MODULE_SIG_SHA256),
+# and then it will be auto-detected here.
+#
+# Valid values: sha512,sha384,sha256,sha224,sha1
+#
+# Default if unset: kernel CONFIG_MODULE_SIG_HASH's value
+
+# @ECLASS_VARIABLE: MODULES_SIGN_KEY
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used with USE=modules-sign.  Can be set to the path of the private
+# key in PEM format to use, or a PKCS#11 URI.
+#
+# If path is relative (e.g. "certs/name.pem"), it is assumed to be
+# relative to the kernel build directory being used.
+#
+# If the key requires a passphrase or PIN, the used kernel sign-file
+# utility recognizes the KBUILD_SIGN_PIN environment variable.  Be
+# warned that the package manager may store this value in binary
+# packages, database files, temporary files, and possibly logs.  This
+# eclass unsets the variable after use to mitigate the issue (notably
+# for shared binary packages), but use this with care.
+#
+# Default if unset: kernel CONFIG_MODULE_SIG_KEY's value which itself
+# defaults to certs/signing_key.pem
+
+# @ECLASS_VARIABLE: MODULES_SIGN_CERT
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Used with USE=modules-sign.  Can be set to the path of the X.509
+# public key certificate to use.
+#
+# If path is relative (e.g. "certs/name.x509"), it is assumed to be
+# relative to the kernel build directory being used.
+: "${MODULES_SIGN_CERT:=certs/signing_key.x509}"
+
+# @ECLASS_VARIABLE: MODULES_KERNEL_MAX
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set to a kernel version (format: 1, 1.2, or 1.2.3), will print a
+# warning if the used version is greater than (ver_test -gt) to this
+# value using the same amount of version components (i.e. MAX=1.2
+# allows 1.2.3, but MAX=1.2.2 does not).
+#
+# This should *only* be used for modules that are known to break
+# frequently on kernel upgrades.  If setting this to a non-LTS kernel,
+# then should also take care to test and update this value regularly
+# with new major kernel releases not to let the warning become stale
+# and ignored by users.
+#
+# Not fatal to allow users to try or self-patch easily, but the (large)
+# warning is difficult to miss.  If need a fatal check for more serious
+# issues (e.g. runtime filesystem corruption), please do it manually.
+#
+# This is intended to reduce the amount of bug reports for recurring
+# expected issues that can be easily mitigated by using LTS kernels
+# and waiting for new releases.
+#
+# If used, must be set before linux-mod-r1_pkg_setup is called.
+
+# @ECLASS_VARIABLE: MODULES_KERNEL_MIN
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set to a kernel version (format: 1, 1.2, or 1.2.3), will abort if
+# the used version is less than (ver_test -lt) this value.
+#
+# Should only be used if known broken, or if upstream recommends a sane
+# minimum.  Not particularly necessary for kernels that are no longer
+# in the tree.
+#
+# If used, must be set before linux-mod-r1_pkg_setup is called.
+
+# @ECLASS_VARIABLE: MODULES_OPTIONAL_IUSE
+# @PRE_INHERIT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# May contain a single flag to be added to IUSE optionally prefixed
+# with a + sign to enable it by default.  Doing so makes *all* of
+# linux-mod-r1's functions and dependencies a no-op unless the flag
+# is enabled.  This includes phases, e.g. linux-mod-r1_pkg_setup will
+# not process CONFIG_CHECK unless the flag is set.
+#
+# The typical recommended value is "+modules" (global IUSE).
+#
+# Note that modules being optional can be useful even if user space
+# tools require them (e.g. installing in a chroot or prefix when the
+# modules are loaded on the host, saves setting up linux sources).
+# However, if tools are non-trivial to build, it may be preferable
+# to split into two packages than use this variable due to requiring
+# rebuilds every kernel upgrades.
+
+# @ECLASS_VARIABLE: MODULES_MAKEARGS
+# @OUTPUT_VARIABLE
+# @DESCRIPTION:
+# Will be set after linux-mod-r1_pkg_setup has been called.  Contains
+# arguments that should be passed to emake when building or installing
+# modules.
+#
+# Modifying this variable is acceptable (e.g. to append kernel source
+# arguments) but, if using linux-mod-r1_src_compile, setting modargs
+# is the intended method seen as cleaner and less error-prone.
+
+# @FUNCTION: linux-mod-r1_pkg_setup
+# @DESCRIPTION:
+# Required before using other functions from this eclass, and will:
+#  1. run linux-info_pkg_setup (see linux-info.eclass)
+#  -> implies processing CONFIG_CHECK, and providing KV_ variables
+#    (MODULES and TRIM_UNUSED_KSYMS are always checked)
+#  2. prepare toolchain to match the kernel
+#  -> sets KERNEL_{CHOST,CC,CXX,LD,AR,NM,OBJCOPY,OBJDUMP,READELF,STRIP}
+#  -> also sets MODULES_MAKEARGS array with, e.g. CC="${KERNEL_CC}"
+#    (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]} "${@}"
+	[[ ${MERGE_TYPE} != binary ]] || return 0
+	_MODULES_GLOBAL[ran:pkg_setup]=1
+	_modules_check_function ${#} 0 0 || return 0
+	_modules_check_migration
+
+	_modules_prepare_kernel
+	_modules_prepare_sign
+	_modules_prepare_toolchain
+
+	_modules_set_makeargs
+
+	_modules_sanity_gccplugins
+}
+
+# @FUNCTION: linux-mod-r1_src_compile
+# @DESCRIPTION:
+# Builds modules, see the eclass' example for a quick overview.
+# Uses the variables modlist and modargs as described below:
+#
+# * local modlist=( ... ) - list of modules to build, set as:
+#
+#     module-name=install-dir:source-dir:build-dir:make-target
+#
+# > module-name: Resulting name, aka <module-name>.ko (required).
+#
+# > install-dir: Kernel modules sub-directory to install the module
+# to (/lib/modules/version/<install-dir>/name.ko).  Will be used when
+# run linux-mod-r1_src_install.  May want to consider the values of
+# INSTALL_MOD_DIR(Makefile) or DEST_MODULE_LOCATION(dkms.conf) if it
+# exists, but it can be anything.
+#  -> Default: extra
+#
+# > source-dir: Directory containing the Makefile to build the module.
+# Path can be relative to the current directory or absolute.
+#  -> Default: current directory
+#
+# > build-dir: Directory that will hold the built module-name.ko.
+#  -> Default: same as source-dir's value
+#
+# > make-target: Almost always unneeded but, if defaults are not right,
+# then can specify the Makefile's target(s) to build the module/extras.
+# Multiple targets can be used with spaces, e.g. :"first second".
+#  -> Default: specially tries modules, module, <name>.ko, <name>,
+# default, all, empty target, and runs the first found usable
+#
+# Missing elements results in defaults being used, e.g. this is valid:
+#   modlist=( name1 name2=:source name3=install::build )
+#
+# * local modargs=( ... ) - extra arguments to pass to emake
+#
+# Makefile should notably be inspected for which variable it uses
+# to find the kernel's build directory then, e.g. KDIR="${KV_OUT_DIR}"
+# as appropriate.  Note that typically want to pass KV_OUT_DIR(build)
+# rather than KV_DIR(sources) if not both.  This allows users to do
+# out-of-source kernel builds and still build modules.
+#
+# Passing common toolchain variables such as CC or LD is not needed
+# here as they are passed by default.
+#
+# ---
+#
+# Allowed to be called multiple times with a different modlist if need
+# 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]} "${@}"
+	_modules_check_function ${#} 0 0 || return 0
+
+	[[ ${modlist@a} == *a* && ${#modlist[@]} -gt 0 ]] ||
+		die "${FUNCNAME[0]} was called without a 'modlist' array"
+
+	# run this again to verify built files access with src_compile's user
+	_modules_sanity_kernelbuilt
+
+	local -a emakeargs=( "${MODULES_MAKEARGS[@]}" )
+	[[ ${modargs@a} == *a* ]] && emakeargs+=( "${modargs[@]}" )
+
+	local -A built=()
+	local build mod name target
+	for mod in "${modlist[@]}"; do
+		# note modlist was not made an associative array ([name]=) to preserve
+		# ordering, but is still using = to improve readability
+		name=${mod%%=*}
+		[[ -n ${name} && ${name} != *:* ]] || die "invalid mod entry '${mod}'"
+
+		# 0:install-dir 1:source-dir 2:build-dir 3:make-target(s)
+		mod=${mod#"${name}"}
+		IFS=: read -ra mod <<<"${mod#=}"
+		[[ ${#mod[@]} -le 4 ]] || die "too many ':' in ${name}'s modlist"
+
+		[[ ${mod[1]:=${PWD}} != /* ]] && mod[1]=${PWD}/${mod[1]}
+		[[ ${mod[2]:=${mod[1]}} != /* ]] && mod[2]=${PWD}/${mod[2]}
+		_MODULES_INSTALL[${mod[2]}/${name}.ko]=${mod[0]:-extra}
+
+		pushd "${mod[1]}" >/dev/null || die
+
+		if [[ -z ${mod[3]} ]]; then
+			# guess between commonly used targets if none given, fallback to
+			# an empty target without trying to see the error output
+			for target in module{s,} "${name}"{.ko,} default all; do
+				nonfatal emake "${emakeargs[@]}" -q "${target}" &>/dev/null
+				if [[ ${?} -eq 1 ]]; then
+					mod[3]=${target}
+					break
+				fi
+			done
+		fi
+
+		# sometime modules are all from same source dir and built all at once,
+		# make will not rebuild either way but can skip the unnecessary noise
+		build=
+		for target in ${mod[3]:-&}; do
+			if ! has "${target}" ${built[${mod[1]}]}; then
+				build=1
+				built[${mod[1]}]+=" ${target} "
+			fi
+		done
+
+		if [[ ${build} ]]; then
+			einfo "Building ${name} module in ${mod[1]} ..."
+
+			# allow word splitting for rare cases of multiple targets
+			emake "${emakeargs[@]}" ${mod[3]}
+		else
+			einfo "Building ${name} module in ${mod[1]} ... already done."
+		fi
+
+		popd >/dev/null || die
+	done
+}
+
+# @FUNCTION: linux-mod-r1_src_install
+# @DESCRIPTION:
+# 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]} "${@}"
+	_modules_check_function ${#} 0 0 || return 0
+
+	(( ${#_MODULES_INSTALL[@]} )) ||
+		die "${FUNCNAME[0]} was called without running linux-mod-r1_src_compile"
+
+	(
+		for mod in "${!_MODULES_INSTALL[@]}"; do
+			linux_moduleinto "${_MODULES_INSTALL[${mod}]}"
+			linux_domodule "${mod}"
+		done
+	)
+
+	modules_post_process
+
+	einstalldocs
+}
+
+# @FUNCTION: linux-mod-r1_pkg_postinst
+# @DESCRIPTION:
+# Updates module dependencies using depmod.
+linux-mod-r1_pkg_postinst() {
+	debug-print-function ${FUNCNAME[0]} "${@}"
+	_modules_check_function ${#} 0 0 || return 0
+
+	_modules_update_depmod
+
+	# 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] ]] ||
+		eqawarn "QA Notice: neither linux-mod-r1_src_install nor modules_post_process were used"
+}
+
+# @FUNCTION: linux_domodule
+# @USAGE: <module>...
+# @DESCRIPTION:
+# Installs Linux modules (.ko files).
+#
+# See also linux_moduleinto.
+linux_domodule() {
+	debug-print-function ${FUNCNAME[0]} "${@}"
+	_modules_check_function ${#} 1 '' "<module>..." || return 0
+	(
+		# linux-mod-r0 formerly supported INSTALL_MOD_PATH (bug #642240), but
+		# this been judged messy to integrate consistently as not everything
+		# uses this function and build systems sometime mix it with DESTDIR
+		# (try ROOT if need to install somewhere else instead)
+		insinto "/lib/modules/${KV_FULL}/${_MODULES_GLOBAL[moduleinto]:-extra}"
+		doins "${@}"
+	)
+}
+
+# @FUNCTION: linux_moduleinto
+# @USAGE: <install-dir>
+# @DESCRIPTION:
+# Directory to install modules into when calling linux_domodule.
+# Relative to kernel modules path as in:
+# ${ED}/lib/modules/${KV_FULL}/<install-dir>
+#
+# Can contain subdirectories, e.g. kernel/fs.
+#
+# If not called, defaults to "extra".  On the kernel build system,
+# this is like setting INSTALL_MOD_DIR which has the same default
+# for external modules.
+linux_moduleinto() {
+	debug-print-function ${FUNCNAME[0]} "${@}"
+	_modules_check_function ${#} 1 1 "<install-dir>" || return 0
+	_MODULES_GLOBAL[moduleinto]=${1}
+}
+
+# @FUNCTION: modules_post_process
+# @USAGE: [<path>]
+# @DESCRIPTION:
+# Strip, sign, verify, and compress all .ko modules found under
+# <path>.  Should typically *not* be called directly as it will
+# be run by linux-mod-r1_src_install.  This is intended for use
+# when modules were installed some other way.
+#
+# <path> should exist under ${ED}.
+# Defaults to /lib/modules/${KV_FULL}.
+#
+# Filenames may change due to compression, so any operations on
+# these should be performed prior.
+#
+# Warning: This will abort if no modules are found, which can happen
+# 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]} "${@}"
+	_modules_check_function ${#} 0 1 '[<path>]' || return 0
+	[[ ${EBUILD_PHASE} == install ]] ||
+		die "${FUNCNAME[0]} can only be called in the src_install phase"
+
+	local path=${ED}${1-/lib/modules/${KV_FULL}}
+	local -a mods
+	[[ -d ${path} ]] && mapfile -td '' mods < <(
+		find "${path}" -type f -name '*.ko' -print0 || die
+	)
+	(( ${#mods[@]} )) ||
+		die "${FUNCNAME[0]} was called with no installed modules under ${path}"
+
+	_modules_process_strip "${mods[@]}"
+	_modules_process_sign "${mods[@]}"
+	_modules_sanity_modversion "${mods[@]}" # after strip/sign in case broke it
+	_modules_process_compress "${mods[@]}"
+
+	_MODULES_GLOBAL[ran:post_process]=1
+}
+
+# @ECLASS_VARIABLE: _MODULES_GLOBAL
+# @INTERNAL
+# @DESCRIPTION:
+# General use associative array to avoid defining separate globals.
+declare -gA _MODULES_GLOBAL=()
+
+# @ECLASS_VARIABLE: _MODULES_INSTALL
+# @INTERNAL
+# @DESCRIPTION:
+# List of modules from linux-mod-r1_src_compile to be installed.
+declare -gA _MODULES_INSTALL=()
+
+# @FUNCTION: _modules_check_function
+# @USAGE: [<args-count> <args-min> <args-max> [<usage-string>]]
+# @RETURN: 0 or 1 if caller should do nothing
+# @INTERNAL
+# @DESCRIPTION:
+# Checks for MODULES_OPTIONAL_IUSE, and aborts if amount of arguments
+# does not add up or if it was called before linux-mod-r1_pkg_setup.
+_modules_check_function() {
+	[[ -z ${MODULES_OPTIONAL_IUSE} ]] ||
+		use "${MODULES_OPTIONAL_IUSE#+}" || return 1
+
+	[[ ${#} == 0 || ${1} -ge ${2} && ( ! ${3} || ${1} -le ${3} ) ]] ||
+		die "Usage: ${FUNCNAME[1]} ${4-(no arguments)}"
+
+	[[ -v _MODULES_GLOBAL[ran:pkg_setup] ]] ||
+		die "${FUNCNAME[1]} was called without running linux-mod-r1_pkg_setup"
+}
+
+# @FUNCTION: _modules_check_migration
+# @INTERNAL
+# @DESCRIPTION:
+# Aborts if see obsolete variables from the linux-mod-r0 eclass being
+# used, likely due to an incomplete migration.  This function should
+# eventually be removed after linux-mod-r0 is @DEAD not to fail for
+# nothing if users happen to have these in their environment given the
+# naming for some is a bit generic.
+_modules_check_migration() {
+	_modules_check_var() {
+		[[ -z ${!1} ]] ||
+			die "${1} is obsolete, see ${2} in linux-mod-r1 eclass docs"
+	}
+	# the 'I' on this one is notably sneaky and could silently be ignored
+	_modules_check_var MODULES_OPTIONAL_USE MODULES_OPTIONAL_IUSE
+	_modules_check_var MODULES_OPTIONAL_USE_IUSE_DEFAULT MODULES_OPTIONAL_IUSE
+	_modules_check_var BUILD_PARAMS modargs
+	_modules_check_var BUILD_TARGETS modlist
+	_modules_check_var MODULE_NAMES modlist
+	[[ -z ${!MODULESD_*} ]] ||
+		die "MODULESD_* variables are no longer supported, replace by handcrafted .conf files if needed"
+
+	# Ignored variables:
+	# - BUILD_FIXES: seen in some ebuilds but was undocumented and linux-info
+	#   still sets it preventing from blocking it entirely
+	# - ECONF_PARAMS: documented but was a no-op in linux-mod too
+}
+
+# @FUNCTION: _modules_prepare_kernel
+# @INTERNAL
+# @DESCRIPTION:
+# Handles linux-info bits to provide usable sources, KV_ variables,
+# and CONFIG_CHECK use.
+_modules_prepare_kernel() {
+	get_version
+
+	# linux-info allows skipping checks if SKIP_KERNEL_CHECK is set and
+	# then require_configured_kernel will not abort, but no sources means
+	# 100% failure for building modules and so just abort now (the proper
+	# way to allow skipping sources here is MODULES_OPTIONAL_IUSE)
+	[[ -n ${KV_FULL} ]] ||
+		die "kernel sources are required to build kernel modules"
+
+	require_configured_kernel
+
+	_modules_sanity_kernelbuilt
+	_modules_sanity_kernelversion
+
+	# note: modules-specific check_modules_supported could probably be
+	# removed from linux-info in the future as this is a sufficient check
+	local CONFIG_CHECK="${CONFIG_CHECK} MODULES"
+
+	# kernel will not typically know about symbols we use (bug #591832),
+	# but stay non-fatal if kernel has an exception list set (bug #759238)
+	# note: possible to bypass either way with CHECKCONFIG_DONOTHING=1
+	if [[ $(linux_chkconfig_string UNUSED_KSYMS_WHITELIST) == \"+(?)\" ]]; then
+		CONFIG_CHECK+=" ~!TRIM_UNUSED_KSYMS"
+	else
+		CONFIG_CHECK+=" !TRIM_UNUSED_KSYMS"
+	fi
+
+	linux-info_pkg_setup
+}
+
+# @FUNCTION: _modules_prepare_sign
+# @INTERNAL
+# @DESCRIPTION:
+# Determines arguments to pass to sign-file (hash/keys), and performs
+# basic sanity checks to abort early if signing does not look possible.
+_modules_prepare_sign() {
+	use modules-sign || return 0
+
+	_modules_sign_die() {
+		eerror "USE=modules-sign requires additional configuration, please see the"
+		eerror "kernel[1] documentation and the linux-mod-r1 eclass[2] user variables."
+		eerror "[1] https://www.kernel.org/doc/html/v${KV_MAJOR}.${KV_MINOR}/admin-guide/module-signing.html"
+		eerror "[2] https://devmanual.gentoo.org/eclass-reference/linux-mod-r1.eclass/index.html"
+		die "USE=modules-sign is set but ${*}"
+	}
+
+	linux_chkconfig_present MODULE_SIG ||
+		_modules_sign_die "CONFIG_MODULE_SIG is not set in the kernel"
+
+	if [[ -z ${MODULES_SIGN_HASH} ]]; then
+		: "$(linux_chkconfig_string MODULE_SIG_HASH)"
+		MODULES_SIGN_HASH=${_//\"}
+		[[ -n ${MODULES_SIGN_HASH} ]] ||
+			_modules_sign_die "CONFIG_MODULE_SIG_HASH is not set in the kernel"
+	fi
+
+	if [[ -z ${MODULES_SIGN_KEY} ]]; then
+		: "$(linux_chkconfig_string MODULE_SIG_KEY)"
+		MODULES_SIGN_KEY=${_//\"}
+		[[ -n ${MODULES_SIGN_KEY} ]] ||
+			_modules_sign_die "CONFIG_MODULE_SIG_KEY is not set in the kernel"
+	fi
+
+	[[ ${MODULES_SIGN_KEY} != @(/|pkcs11:)* ]] &&
+		MODULES_SIGN_KEY=${KV_OUT_DIR}/${MODULES_SIGN_KEY}
+	[[ ${MODULES_SIGN_CERT} != /* ]] &&
+		MODULES_SIGN_CERT=${KV_OUT_DIR}/${MODULES_SIGN_CERT}
+
+	# assumes users know what they are doing if using a pkcs11 URI
+	[[ ${MODULES_SIGN_KEY} == pkcs11:* || -f ${MODULES_SIGN_KEY} ]] ||
+		_modules_sign_die "the private key '${MODULES_SIGN_KEY}' was not found"
+	[[ -f ${MODULES_SIGN_CERT} ]] ||
+		_modules_sign_die "the public key certificate '${MODULES_SIGN_CERT}' was not found"
+}
+
+# @FUNCTION: _modules_prepare_toolchain
+# @INTERNAL
+# @DESCRIPTION:
+# Sets KERNEL_{CC,CXX,LD,AR,NM,OBJCOPY,OBJDUMP,READELF,STRIP} based on
+# the kernel configuration and KERNEL_CHOST (also set if missing) that
+# *should* be usable to build modules.
+#
+# Tries to match compiler type (gcc or clang), and major version.  Will
+# inform if matching was not possible likely due to the compiler being
+# uninstalled.  Users can set KERNEL_ variables themselves to override.
+#
+# These variables are normally manipulated by the kernel's LLVM=1 with
+# the exception of CXX that is included anyway given *some* out-of-tree
+# modules use it, e.g. nvidia-drivers[kernel-open].
+_modules_prepare_toolchain() {
+	# note that the kernel adds -m32/-m64/-m elf_x86_64/etc... for, e.g.
+	# toolchains defaulting to x32, but may need automagic here if need
+	# a different toolchain such as sys-devel/kgcc64
+	[[ -z ${KERNEL_CHOST} ]] && linux_chkconfig_present 64BIT &&
+		case ${CHOST} in
+			# matching kernel-build.eclass, see for details
+			hppa2.0-*) KERNEL_CHOST=${CHOST/2.0/64};;
+		esac
+
+	# recognizing KERNEL_CHOST given CROSS_COMPILE seems too generic here,
+	# but should rarely be necessary unless different userland and kernel
+	: "${KERNEL_CHOST:=${CHOST}}"
+
+	einfo "Preparing ${KERNEL_CHOST} toolchain for kernel modules (override with KERNEL_CHOST) ..."
+
+	_modules_tc_best() {
+		[[ -z ${!1} ]] && read -r ${1} < <(type -P -- "${@:2}")
+	}
+
+	local gccv clangv tool
+	if linux_chkconfig_present CC_IS_GCC; then
+		gccv=$(linux_chkconfig_string GCC_VERSION)
+		gccv=${gccv::2} # major version, will break on gcc-100...
+		# chost-gcc-ver > chost-gcc > gcc-ver > gcc
+		_modules_tc_best KERNEL_CC {"${KERNEL_CHOST}-",}gcc{"-${gccv}",}
+		_modules_tc_best KERNEL_CXX {"${KERNEL_CHOST}-",}g++{"-${gccv}",}
+		# unknown what was used exactly here, but prefer non-llvm with gcc
+		for tool in AR NM OBJCOPY OBJDUMP READELF STRIP; do
+			_modules_tc_best KERNEL_${tool} \
+				{"${KERNEL_CHOST}-",}{gcc-,}${tool,,}
+		done
+	elif linux_chkconfig_present CC_IS_CLANG; then
+		clangv=$(linux_chkconfig_string CLANG_VERSION)
+		clangv=${clangv::2}
+		# like gcc, but try directories to get same version on all tools
+		# (not using get_llvm_prefix to avoid conflicts with ebuilds using
+		# llvm slots for non-modules reasons, e.g. sets llvm_check_deps)
+		_modules_tc_best KERNEL_CC \
+			{"${BROOT}/usr/lib/llvm/${clangv}/bin/",}{"${KERNEL_CHOST}-",}clang{"-${clangv}",}
+		_modules_tc_best KERNEL_CXX \
+			{"${BROOT}/usr/lib/llvm/${clangv}/bin/",}{"${KERNEL_CHOST}-",}clang++{"-${clangv}",}
+		for tool in AR NM OBJCOPY OBJDUMP READELF STRIP; do
+			_modules_tc_best KERNEL_${tool} \
+				{"${BROOT}/usr/lib/llvm/${clangv}/bin/",}{"${KERNEL_CHOST}-",}{llvm-,}${tool,,}
+		done
+	fi
+
+	if linux_chkconfig_present LD_IS_BFD; then
+		_modules_tc_best KERNEL_LD {"${KERNEL_CHOST}-",}ld.bfd
+	elif linux_chkconfig_present LD_IS_LLD; then
+		# also match with clang if it was used
+		_modules_tc_best KERNEL_LD \
+			{${clangv+"${BROOT}/usr/lib/llvm/${clangv}/bin/"},}{"${KERNEL_CHOST}-",}ld.lld
+	fi
+
+	# if any variables are still empty, fallback to normal defaults
+	local CHOST=${KERNEL_CHOST}
+	: "${KERNEL_CC:=$(tc-getCC)}"
+	: "${KERNEL_CXX:=$(tc-getCXX)}"
+	: "${KERNEL_LD:=$(tc-getLD)}"
+	: "${KERNEL_AR:=$(tc-getAR)}"
+	: "${KERNEL_NM:=$(tc-getNM)}"
+	: "${KERNEL_OBJCOPY:=$(tc-getOBJCOPY)}"
+	: "${KERNEL_OBJDUMP:=$(tc-getOBJDUMP)}"
+	: "${KERNEL_READELF:=$(tc-getREADELF)}"
+	: "${KERNEL_STRIP:=$(tc-getSTRIP)}"
+
+	# for toolchain-funcs, uses CPP > CC but set both not to make assumptions
+	local CC=${KERNEL_CC} CPP="${KERNEL_CC} -E" LD=${KERNEL_LD}
+
+	# show results, skip line wrap to avoid standing out too much
+	einfo "Toolchain picked for kernel modules (override with KERNEL_CC, _LD, ...):"\
+		"'${KERNEL_CC}' '${KERNEL_CXX}' '${KERNEL_LD}' '${KERNEL_AR}'"\
+		"'${KERNEL_NM}' '${KERNEL_OBJCOPY}' '${KERNEL_OBJDUMP}'"\
+		"'${KERNEL_READELF}' '${KERNEL_STRIP}'"
+
+	# hack: kernel adds --thinlto-cache-dir to KBUILD_LDFLAGS with ThinLTO
+	# resulting in sandbox violations and we cannot safely override that
+	# variable, using *both* {LDFLAGS_MODULE,ldflags-y}=--thinlto-cache-dir=
+	# 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' \
+			"${LD}" > "${KERNEL_LD}" || die
+		chmod +x -- "${KERNEL_LD}" || die
+	fi
+
+	# warn if final picked CC type or major version is mismatching, arguably
+	# should be fatal but not forcing given it is not *always* an issue
+	local warn
+	if [[ -v gccv ]]; then
+		if ! tc-is-gcc; then
+			warn="gcc-${gccv} but\n         '${KERNEL_CC}' is not gcc"
+		elif [[ $(gcc-major-version) -ne "${gccv}" ]]; then
+			warn="gcc-${gccv} but\n         '${KERNEL_CC}' is gcc-$(gcc-major-version)"
+		fi
+	elif [[ -v clangv ]]; then
+		if ! tc-is-clang; then
+			warn="clang-${clangv} but\n         '${KERNEL_CC}' is not clang"
+		elif [[ $(clang-major-version) -ne "${clangv}" ]]; then
+			warn="clang-${clangv} but\n         '${KERNEL_CC}' is clang-$(clang-major-version)"
+		fi
+	fi
+
+	if [[ -v warn ]]; then
+		ewarn
+		ewarn "Warning: kernel ${KV_FULL} is built with ${warn}"
+		ewarn "This *could* result in build issues or other incompatibilities."
+		ewarn "It is recommended to either \`make clean\` and rebuild the kernel"
+		ewarn "with the current toolchain (for distribution kernels, re-installing"
+		ewarn "will do the same), or set the KERNEL_CC variable to point to the"
+		ewarn "same compiler. Note that when it is available, auto-selection is"
+		ewarn "attempted making the latter rarely needed."
+		ewarn
+	fi
+}
+
+# @FUNCTION: _modules_process_compress
+# @USAGE: <module>...
+# @INTERNAL
+# @DESCRIPTION:
+# If enabled in the kernel configuration, this compresses the given
+# modules using the same format.
+_modules_process_compress() {
+	local -a compress
+	if linux_chkconfig_present MODULE_COMPRESS_XZ; then
+		compress=(xz -qT"$(makeopts_jobs)" --memlimit-compress=50%)
+	elif linux_chkconfig_present MODULE_COMPRESS_GZIP; then
+		if type -P pigz &>/dev/null; then
+			compress=(pigz -p"$(makeopts_jobs)")
+		else
+			compress=(gzip)
+		fi
+	elif linux_chkconfig_present MODULE_COMPRESS_ZSTD; then
+		compress=(zstd -qT"$(makeopts_jobs)" --rm)
+	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
+}
+
+# @FUNCTION: _modules_process_sign
+# @USAGE: <module>...
+# @INTERNAL
+# @DESCRIPTION:
+# Cryptographically signs the given modules when USE=modules-sign is
+# enabled.
+_modules_process_sign() {
+	use modules-sign || return 0
+
+	# scripts/sign-file used to be a perl script but is now written in C,
+	# and it could either be missing or broken given it links with openssl
+	# (no subslot rebuilds on kernel sources), trivial to compile regardless
+	local sign=
+	if [[ -f ${KV_DIR}/scripts/sign-file.c ]]; then
+		sign=${T}/linux-mod-r1_sign-file
+		(
+			# unfortunately using the kernel's Makefile is inconvenient (no
+			# simple build target for this), may need revisiting on changes
+			einfo "Compiling sign-file ..."
+			tc-export_build_env
+			nonfatal edob $(tc-getBUILD_CC) ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} \
+				$($(tc-getBUILD_PKG_CONFIG) --cflags libcrypto) \
+				${BUILD_LDFLAGS} -o "${sign}" "${KV_DIR}"/scripts/sign-file.c \
+				$($(tc-getBUILD_PKG_CONFIG) --libs libcrypto || echo -lcrypto)
+		) || {
+			einfo "Trying fallback ..."
+			sign=
+		}
+	fi
+
+	if [[ -z ${sign} ]]; then
+		if [[ -x ${KV_OUT_DIR}/scripts/sign-file ]]; then
+			sign=${KV_OUT_DIR}/scripts/sign-file # try if built
+		elif [[ -x ${KV_DIR}/scripts/sign-file ]]; then
+			sign=${KV_DIR}/scripts/sign-file # old kernel (<linux-4.4)
+		else
+			die "USE=modules-sign is set but '${KV_DIR}/scripts/sign-file.c' is not usable"
+		fi
+	fi
+
+	einfo "Signing modules ..."
+
+	# good odds the private key has limited access, and with the kernel's
+	# automated method it is likely to be -rw------- root:root (but is
+	# rarely an issue given src_install *normally* runs as root)
+	[[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]] ||
+		die "USE=modules-sign is set but lacking read access to the signing key at '${MODULES_SIGN_KEY}'"
+
+	local mod
+	for mod; do
+		edob "${sign}" "${MODULES_SIGN_HASH}" "${MODULES_SIGN_KEY}" \
+			"${MODULES_SIGN_CERT}" "${mod}"
+	done
+
+	# unset to at least be out of the environment file in, e.g. shared binpkgs
+	unset KBUILD_SIGN_PIN
+}
+
+# @FUNCTION: _modules_process_strip
+# @USAGE: <module>...
+# @INTERNAL
+# @DESCRIPTION:
+# Strips the given modules of unneeded symbols when USE=strip is
+# enabled, and informs the package manager not to regardless.
+_modules_process_strip() {
+	# letting the package manager handle this complicates scenarios
+	# where we want to either compress the pre-stripped module, or
+	# sign the module without its signature becoming invalid on merge
+	dostrip -x "${@#"${ED}"}"
+
+	if use strip; then
+		einfo "Stripping modules ..."
+		edob "${KERNEL_STRIP}" --strip-unneeded -- "${@}"
+	fi
+}
+
+# @FUNCTION: _modules_sanity_gccplugins
+# @INTERNAL
+# @DESCRIPTION:
+# Performs a basic build test to detect GCC plugins mismatch issues
+# and, if so, aborts with explanation given it often confuses users.
+#
+# Using mismatching gcc can sometime work to build modules, but if
+# GCC plugins are enabled it will almost always be an error.
+#
+# Note: may need occasional review to ensure the test still works by:
+# enabling a GCC plugin in the kernel, building with older GCC,
+# then building a module by setting KERNEL_CC=gcc-<major-version+1>.
+_modules_sanity_gccplugins() {
+	linux_chkconfig_present GCC_PLUGINS || return 0
+
+	local tmp=${T}/linux-mod-r1_gccplugins
+	mkdir -p -- "${tmp}" || die
+
+	echo "obj-m += test.o" > "${tmp}"/Kbuild || die
+	:> "${tmp}"/test.c || die
+
+	# always fails, but interested in the stderr messages
+	local output=$(
+		cd -- "${KV_OUT_DIR}" && # fwiw skip non-POSIX -C in eclasses
+			LC_ALL=C nonfatal emake "${MODULES_MAKEARGS[@]}" M="${tmp}" \
+				2>&1 >/dev/null
+	)
+
+	if [[ ${output} == *"error: incompatible gcc/plugin version"* ]]; then
+		eerror "GCC_PLUGINS is enabled in the kernel and plugin version mismatch issues"
+		eerror "have been detected. Please \`make clean\` and rebuild the kernel using"
+		eerror "the current version of GCC (or re-install for distribution kernels)."
+		die "kernel ${KV_FULL} needs to be rebuilt"
+	fi
+}
+
+# @FUNCTION: _modules_sanity_kernelbuilt
+# @INTERNAL
+# @DESCRIPTION:
+# Checks if the kernel seems fully built by having a Module.symvers
+# that is also readable, abort otherwise.
+#
+# About readability, occasionally users build their kernel as root with
+# umask 0077 and then the package manager's user cannot read built files
+# leaving them confused.
+#
+# Given user and access can very between phases (notably src_compile),
+# it makes sense to run this check more than once.
+#
+# Note:
+# This is an alternate version of linux-info's check_kernel_built
+# which probably will not need to exist there if linux-mod-r0 is
+# gone, error it gives is also modules-specific and fits better here.
+#
+# The old check_kernel_built checks version.h and suggests running
+# modules_prepare if missing, but that does not create Module.symvers.
+# Nowadays the kernel makes unresolved symbols fatal by default
+# meaning that all modules will fail unless KBUILD_MODPOST_WARN=1
+# which seem questionable to support.  So rather than version.h, this
+# checks and require Module.symvers, and suggests a full build if
+# missing (if really must, users can bypass by touching the file).
+# nvidia-drivers (for one) further checks this file directly to do
+# configure tests that will break badly without.
+_modules_sanity_kernelbuilt() {
+	local symvers=${KV_OUT_DIR}/Module.symvers
+
+	if [[ ! -f ${symvers} ]]; then
+		eerror "'${symvers}' was not found implying that the"
+		eerror "linux-${KV_FULL} tree at that location has not been built."
+		eerror
+		eerror "Please verify that this is the intended kernel version, then perform"
+		eerror "a full build[1] (i.e. make && make modules_install && make install)."
+		eerror
+		eerror "Alternatively, consider a distribution kernel[2] that does not need"
+		eerror "these manual steps (e.g. sys-kernel/gentoo-kernel or gentoo-kernel-bin)."
+		eerror
+		eerror "[1] https://wiki.gentoo.org/wiki/Kernel/Configuration#Build"
+		eerror "[2] https://wiki.gentoo.org/wiki/Project:Distribution_Kernel"
+		die "built kernel sources are required to build kernel modules"
+	fi
+
+	if [[ ! -r ${symvers} ]]; then
+		eerror "'${symvers}' exists but cannot be read by the"
+		eerror "user id(${EUID}) of the package manager, likely implying no world"
+		eerror "read access permissions:"
+		eerror
+		eerror "    $(ls -l -- "${symvers}")"
+		eerror
+		eerror "Causes may vary, but a common one is building the kernel with a umask"
+		eerror "value of '0077' rather than the more typical '0022' (run the \`umask\`"
+		eerror "command to confirm, as root if was building the kernel using it)."
+		eerror
+		eerror "Many other files are likely affected and will lead to build failures."
+		eerror "It is recommended to clean the sources and rebuild with \`umask 0022\`"
+		eerror "rather than attempt to fix the permissions manually."
+		die "no read access permission to the generated kernel files"
+	fi
+}
+
+# @FUNCTION: _modules_sanity_kernelversion
+# @INTERNAL
+# @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
+_modules_sanity_kernelversion() {
+	local kv=${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}
+
+	if [[ -n ${MODULES_KERNEL_MIN} ]] &&
+		ver_test "${kv}" -lt "${MODULES_KERNEL_MIN}"
+	then
+		eerror "${P} requires a kernel version of at least >=${MODULES_KERNEL_MIN},"
+		eerror "but the current kernel is ${KV_FULL}. Please update."
+		die "kernel ${KV_FULL} is too old"
+	fi
+
+	if [[ -n ${MODULES_KERNEL_MAX} ]]; then
+		: "${MODULES_KERNEL_MAX//[^.]/}"
+		local -i count=${#_}
+
+		if ver_test "$(ver_cut 1-$((count+1)) "${kv}")" \
+			-gt "${MODULES_KERNEL_MAX}"
+		then
+			# add .x to 1 missing component to make, e.g. <=1.2.x more natural,
+			# not <1.3 given users sometimes see it as 1.3 support at a glance
+			local max=${MODULES_KERNEL_MAX}
+			[[ ${count} -lt 2 ]] && max+=.x
+
+			ewarn
+			ewarn " *** WARNING *** "
+			ewarn
+			ewarn "${PN} is known to break easily with new kernel versions and,"
+			ewarn "with the current kernel (${KV_FULL}), it was either hardly"
+			ewarn "tested or is known broken. It is recommended to use one of:"
+			ewarn
+			ewarn "    <=sys-kernel/gentoo-kernel-${max}"
+			ewarn "    <=sys-kernel/gentoo-sources-${max}"
+			ewarn
+			ewarn "or equivalent rather than file downstream bug reports if run into"
+			ewarn "issues, then wait for upstream fixes and a new release. Ideally,"
+			ewarn "with out-of-tree modules, use an LTS (Long Term Support) kernel"
+			ewarn "branch[1]. If in doubt, Gentoo's stable kernels are always LTS"
+			ewarn "and can be easily used even on ~testing systems."
+			ewarn
+			ewarn "[1] https://www.kernel.org/category/releases.html"
+			ewarn
+		fi
+	fi
+}
+
+# @FUNCTION: _modules_sanity_modversion
+# @USAGE: <module>...
+# @INTERNAL
+# @DESCRIPTION:
+# Checks if the passed module(s) do not seem obviously broken and the
+# builtin versions match ${KV_FULL}, otherwise die with an explanation.
+#
+# If receive a bug with a version error, an easy way to reproduce is to
+# set KERNEL_DIR with the sources of a different kernel version than
+# both the ones pointed by /usr/src/linux and `uname -r`.  Refer to
+# linux-mod-r1_src_compile's modargs in the eclass docs for fixing.
+_modules_sanity_modversion() {
+	local mod ver
+	for mod; do
+		# modinfo can read different-arch modules, being fatal *should* be safe
+		# and serve as a basic sanity check to ensure the module is valid
+		read -rd ' ' ver < <(
+			LC_ALL=C modinfo -F vermagic -- "${mod}" ||
+				die "modinfo failed to read module '${mod}' (broken module?)"
+		)
+		[[ -n ${ver} ]] ||
+				die "modinfo found no kernel version in '${mod}' (broken module?)"
+
+		if [[ ${ver} != "${KV_FULL}" ]]; then
+			eerror "A module seem to have been built for kernel version '${ver}'"
+			eerror "while it was meant for '${KV_FULL}'. This may indicate an"
+			eerror "ebuild issue (e.g. used runtime \`uname -r\` kernel rather than"
+			eerror "the chosen sources). Please report this to the ebuild's maintainer."
+			die "module and source version mismatch in '${mod}'"
+		fi
+	done
+}
+
+# @FUNCTION: _modules_set_makeargs
+# @INTERNAL
+# @DESCRIPTION:
+# Sets the MODULES_MAKEARGS global array.
+_modules_set_makeargs() {
+	MODULES_MAKEARGS=(
+		ARCH="$(tc-arch-kernel)"
+
+		V=1
+		# normally redundant with V, but some custom Makefiles override it
+		KBUILD_VERBOSE=1
+
+		# unrealistic when building modules that often have slow releases,
+		# but note that the kernel will still pass some -Werror=bad-thing
+		CONFIG_WERROR=
+
+		# 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}}=
+		DEPMOD=:
+		STRIP=:
+	)
+
+	if [[ ! ${MODULES_I_WANT_FULL_CONTROL} ]]; then
+		# many of these are unlikely to be useful here, but still trying to be
+		# complete given never know what out-of-tree modules may use
+		MODULES_MAKEARGS+=(
+			# wrt bug #550428, given most toolchain variables are being passed to
+			# make, setting CROSS in the environment would change very little
+			# (instead set KERNEL_CHOST which will affect other variables,
+			# or MODULES_I_WANT_FULL_CONTROL if do not want any of this)
+			CROSS_COMPILE="${KERNEL_CHOST}-"
+
+			HOSTCC="$(tc-getBUILD_CC)"
+			HOSTCXX="$(tc-getBUILD_CXX)"
+
+			# fwiw this function is not meant to pollute the environment
+			HOSTCFLAGS="$(tc-export_build_env; echo "${BUILD_CFLAGS}")"
+			HOSTCXXFLAGS="$(tc-export_build_env; echo "${BUILD_CXXFLAGS}")"
+			HOSTLDFLAGS="$(tc-export_build_env; echo "${BUILD_LDFLAGS}")"
+
+			HOSTPKG_CONFIG="$(tc-getBUILD_PKG_CONFIG)"
+
+			CC="${KERNEL_CC}"
+			CXX="${KERNEL_CXX}"
+			LD="${KERNEL_LD}"
+			AR="${KERNEL_AR}"
+			NM="${KERNEL_NM}"
+			OBJCOPY="${KERNEL_OBJCOPY}"
+			OBJDUMP="${KERNEL_OBJDUMP}"
+			READELF="${KERNEL_READELF}"
+		)
+	fi
+
+	# eval is to handle quoted spaces, die is for syntax errors
+	eval "MODULES_MAKEARGS+=( ${MODULES_EXTRA_EMAKE} )" || die
+}
+
+# @FUNCTION: _modules_update_depmod
+# @INTERNAL
+# @DESCRIPTION:
+# If possible, update module dependencies using depmod and System.map,
+# otherwise prompt user to handle it.  System.map may notably no longer
+# be available on binary merges.
+_modules_update_depmod() {
+	# prefer /lib/modules' path given it is what depmod operates on,
+	# and is mostly foolproof when it comes to ROOT (relative symlink)
+	local map=${EROOT}/lib/modules/${KV_FULL}/build/System.map
+
+	if [[ ! -f ${map} ]]; then
+		# KV_OUT_DIR may still be right even on a different system, but state
+		# of (E)ROOT is unknown, e.g. could be from KERNEL_DIR=${OLDROOT}/...
+		map=${KV_OUT_DIR}/System.map
+
+		# last resort, typical but may not be mounted/readable/installed
+		[[ ! -f ${map} ]] &&
+			map=${EROOT}/boot/System.map-${KV_FULL}
+	fi
+
+	einfo "Updating module dependencies for kernel ${KV_FULL} ..."
+	if [[ -f ${map} ]]; then
+		nonfatal edob depmod -ae -F "${map}" -b "${EROOT:-/}" "${KV_FULL}" &&
+			return 0
+	else
+		eerror
+		eerror "System.map for kernel ${KV_FULL} was not found, may be due to the"
+		eerror "built kernel sources no longer being available and lacking the fallback:"
+		eerror
+		eerror "${EROOT}/boot/System.map-${KV_FULL}"
+	fi
+	eerror
+	eerror "Some modules may not load without updating manually using depmod."
+}
+
+fi
+
+EXPORT_FUNCTIONS pkg_setup src_compile src_install pkg_postinst


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-29 14:29 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-05-29 14:29 UTC (permalink / raw
  To: gentoo-commits

commit:     abf991dec55ad184490689e7fbf8aab266329b80
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 27 05:34:35 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 29 14:28:59 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abf991de

distutils-r1.eclass: Use CYTHON_FORCE_REGEN=1

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 ec1dd08b197c..6835444d3c5f 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1828,6 +1828,10 @@ distutils-r1_run_phase() {
 
 	if [[ ${DISTUTILS_EXT} ]]; 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
+		# cythonize() but it's better than nothing)
+		local -x CYTHON_FORCE_REGEN=1
 	fi
 
 	# How to build Python modules in different worlds...


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-29 14:29 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-05-29 14:29 UTC (permalink / raw
  To: gentoo-commits

commit:     677b69f23cb3c0e021a21b8a775b1da3143fd564
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 27 05:35:33 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 29 14:29:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=677b69f2

distutils-r1.eclass: Include dev-python/cython version in log

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 6835444d3c5f..bea3cea56c99 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -925,6 +925,11 @@ _distutils-r1_print_package_versions() {
 			dev-python/gpep517
 			dev-python/installer
 		)
+		if [[ ${DISTUTILS_EXT} ]]; then
+			packages+=(
+				dev-python/cython
+			)
+		fi
 		case ${DISTUTILS_USE_PEP517} in
 			flit)
 				packages+=(


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-29 14:29 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-05-29 14:29 UTC (permalink / raw
  To: gentoo-commits

commit:     0b140f9228e2ed7e76124986d2911776922cd342
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sat May 27 08:22:33 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 29 14:29:03 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b140f92

python-utils-r1.eclass: Bump min dep versions

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/31180
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/python-utils-r1.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 40792714cc56..52e9e061d6bd 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -441,13 +441,13 @@ _python_export() {
 				local d
 				case ${impl} in
 					python3.10)
-						PYTHON_PKG_DEP=">=dev-lang/python-3.10.9-r1:3.10";;
+						PYTHON_PKG_DEP=">=dev-lang/python-3.10.11:3.10";;
 					python3.11)
-						PYTHON_PKG_DEP=">=dev-lang/python-3.11.1-r1:3.11";;
+						PYTHON_PKG_DEP=">=dev-lang/python-3.11.3:3.11";;
 					python3.12)
 						PYTHON_PKG_DEP=">=dev-lang/python-3.12.0_beta1:3.12";;
 					pypy3)
-						PYTHON_PKG_DEP='>=dev-python/pypy3-7.3.11-r1:0=';;
+						PYTHON_PKG_DEP='>=dev-python/pypy3-7.3.11_p1:0=';;
 					*)
 						die "Invalid implementation: ${impl}"
 				esac


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-29 14:29 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-05-29 14:29 UTC (permalink / raw
  To: gentoo-commits

commit:     07b36848aee42bc23074247c4eb745de2033b72a
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sat May 27 08:07:22 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 29 14:29:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=07b36848

distutils-r1.eclass: Bump min dep versions

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/distutils-r1.eclass | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index bea3cea56c99..0ccd59fb6c78 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -220,7 +220,7 @@ _distutils_set_globals() {
 				;;
 			hatchling)
 				bdep+='
-					>=dev-python/hatchling-1.12.2[${PYTHON_USEDEP}]
+					>=dev-python/hatchling-1.17.0[${PYTHON_USEDEP}]
 				'
 				;;
 			jupyter)
@@ -230,7 +230,7 @@ _distutils_set_globals() {
 				;;
 			maturin)
 				bdep+='
-					>=dev-util/maturin-0.14.10[${PYTHON_USEDEP}]
+					>=dev-util/maturin-0.14.17[${PYTHON_USEDEP}]
 				'
 				;;
 			no)
@@ -239,7 +239,7 @@ _distutils_set_globals() {
 				;;
 			meson-python)
 				bdep+='
-					>=dev-python/meson-python-0.12.0[${PYTHON_USEDEP}]
+					>=dev-python/meson-python-0.12.1[${PYTHON_USEDEP}]
 				'
 				;;
 			pbr)
@@ -249,23 +249,23 @@ _distutils_set_globals() {
 				;;
 			pdm)
 				bdep+='
-					>=dev-python/pdm-pep517-1.0.6[${PYTHON_USEDEP}]
+					>=dev-python/pdm-pep517-1.1.4[${PYTHON_USEDEP}]
 				'
 				;;
 			poetry)
 				bdep+='
-					>=dev-python/poetry-core-1.4.0[${PYTHON_USEDEP}]
+					>=dev-python/poetry-core-1.5.2[${PYTHON_USEDEP}]
 				'
 				;;
 			setuptools)
 				bdep+='
-					>=dev-python/setuptools-67.2.0[${PYTHON_USEDEP}]
-					>=dev-python/wheel-0.38.4[${PYTHON_USEDEP}]
+					>=dev-python/setuptools-67.7.2[${PYTHON_USEDEP}]
+					>=dev-python/wheel-0.40.0[${PYTHON_USEDEP}]
 				'
 				;;
 			sip)
 				bdep+='
-					>=dev-python/sip-6.7.5-r1[${PYTHON_USEDEP}]
+					>=dev-python/sip-6.7.8[${PYTHON_USEDEP}]
 				'
 				;;
 			standalone)
@@ -600,7 +600,7 @@ distutils_enable_tests() {
 			test_pkg=">=dev-python/nose-1.3.7_p20221026"
 			;;
 		pytest)
-			test_pkg=">=dev-python/pytest-7.2.1"
+			test_pkg=">=dev-python/pytest-7.3.1"
 			;;
 		setup.py)
 			;;


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

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

commit:     43427a0da4dfdc9f046b5c8bd7d106f6c9661b90
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon May 29 17:22:40 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon May 29 18:19:08 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43427a0d

portability.eclass: drop dead prefix targets

Deliberately keeping uclibc even if I don't really want to, given it's possible
one could want to cross to it still.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/portability.eclass | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/eclass/portability.eclass b/eclass/portability.eclass
index f31e3fee6ca3..98e9418343d2 100644
--- a/eclass/portability.eclass
+++ b/eclass/portability.eclass
@@ -90,9 +90,8 @@ dlopen_lib() {
 	# - Darwin needs nothing
 	# - *BSD needs nothing
 	# - Linux needs -ldl (glibc and uclibc)
-	# - Interix needs -ldl
 	case "${CHOST}" in
-		*-linux-gnu*|*-linux-uclibc|*-interix*)
+		*-linux-gnu*|*-linux-uclibc)
 			echo "-ldl"
 		;;
 	esac


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

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

commit:     84cb85f9df809690d40267d121662933a902d541
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon May 29 17:32:31 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon May 29 18:19:05 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84cb85f9

multilib.eclass: drop dead prefix targets

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/multilib.eclass | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass
index 77340a23e30f..bf9c88f7e6a4 100644
--- a/eclass/multilib.eclass
+++ b/eclass/multilib.eclass
@@ -213,7 +213,7 @@ number_abis() {
 #     Returns: null string (almost everywhere) || .exe (mingw*) || ...
 get_exeext() {
 	case ${CHOST} in
-		*-cygwin*|mingw*|*-mingw*)  echo ".exe";;
+		mingw*|*-mingw*)  echo ".exe";;
 	esac
 }
 
@@ -230,11 +230,8 @@ get_libname() {
 	local libname
 	local ver=$1
 	case ${CHOST} in
-		*-cygwin*)       libname="dll.a";; # import lib
 		mingw*|*-mingw*) libname="dll";;
 		*-darwin*)       libname="dylib";;
-		*-mint*)         libname="irrelevant";;
-		hppa*-hpux*)     libname="sl";;
 		*)               libname="so";;
 	esac
 
@@ -243,9 +240,7 @@ get_libname() {
 	else
 		for ver in "$@" ; do
 			case ${CHOST} in
-				*-cygwin*) echo ".${ver}.${libname}";;
 				*-darwin*) echo ".${ver}.${libname}";;
-				*-mint*)   echo ".${libname}";;
 				*)         echo ".${libname}.${ver}";;
 			esac
 		done


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

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

commit:     3db70e9c014e415ae38a713b47cf7b299fd11945
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May 27 17:32:51 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon May 29 18:19:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3db70e9c

xorg-3.eclass: drop removed x86-winnt ref

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/xorg-3.eclass | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/eclass/xorg-3.eclass b/eclass/xorg-3.eclass
index 2faccebba16c..c3ece64ae42d 100644
--- a/eclass/xorg-3.eclass
+++ b/eclass/xorg-3.eclass
@@ -130,7 +130,6 @@ fi
 
 # Set up autotools shared dependencies
 # Remember that all versions here MUST be stable
-XORG_EAUTORECONF_ARCHES="x86-winnt"
 EAUTORECONF_DEPEND+="
 	>=sys-devel/libtool-2.2.6a
 	sys-devel/m4"
@@ -139,10 +138,6 @@ if [[ ${PN} != util-macros ]] ; then
 	# Required even by xorg-server
 	[[ ${PN} == "font-util" ]] || EAUTORECONF_DEPEND+=" >=media-fonts/font-util-1.2.0"
 fi
-for arch in ${XORG_EAUTORECONF_ARCHES}; do
-	EAUTORECONF_DEPENDS+=" ${arch}? ( ${EAUTORECONF_DEPEND} )"
-done
-unset arch XORG_EAUTORECONF_ARCHES
 BDEPEND+=" ${EAUTORECONF_DEPENDS}"
 [[ ${XORG_EAUTORECONF} != no ]] && BDEPEND+=" ${EAUTORECONF_DEPEND}"
 unset EAUTORECONF_DEPENDS


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-30  1:28 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-05-30  1:28 UTC (permalink / raw
  To: gentoo-commits

commit:     780a29cd9228988031ed0243d764d478d0482045
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue May 30 01:27:10 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue May 30 01:27:10 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=780a29cd

ruby-utils.eclass: make ruby31 the preferred stable ruby

Bug: https://bugs.gentoo.org/907377
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 eef2aba2fb99..c4b6f1502f8a 100644
--- a/eclass/ruby-utils.eclass
+++ b/eclass/ruby-utils.eclass
@@ -33,10 +33,10 @@ if [[ ! ${_RUBY_UTILS} ]]; then
 # provide for a better first installation experience.
 
 # All stable RUBY_TARGETS
-RUBY_TARGETS_PREFERENCE="ruby30 "
+RUBY_TARGETS_PREFERENCE="ruby31 ruby30 "
 
 # All other active ruby targets
-RUBY_TARGETS_PREFERENCE+="ruby31 ruby32"
+RUBY_TARGETS_PREFERENCE+="ruby32"
 
 
 _ruby_implementation_depend() {


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-30  2:35 Ionen Wolkens
  0 siblings, 0 replies; 5996+ messages in thread
From: Ionen Wolkens @ 2023-05-30  2:35 UTC (permalink / raw
  To: gentoo-commits

commit:     f7c8ae62be6bca0ddba74a43d38e7e9fac893906
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 30 01:47:11 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 30 02:34:59 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7c8ae62

linux-mod-r1.eclass: mention dist-kernel for upper bounds

The virtual allows pulling older slots without being downgraded,
which may make things confusing for USE=dist-kernel automatic
rebuilds.

If try to downgrade the virtual, it will suggest downgrading
the kernel too and likely won't need to explain further.

Beside that, rather stay somewhat vague there. This is not
downgrade instructions.

(note will take the liberty to do quick edits without ML
review for the time being, very few consumers at the moment)

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 eclass/linux-mod-r1.eclass | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 595711008627..73e7e7f8ff0b 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -1058,7 +1058,13 @@ _modules_sanity_kernelversion() {
 			ewarn "with the current kernel (${KV_FULL}), it was either hardly"
 			ewarn "tested or is known broken. It is recommended to use one of:"
 			ewarn
-			ewarn "    <=sys-kernel/gentoo-kernel-${max}"
+			# fwiw we do not know what is *actually* used or wanted even with
+			# the USE, so stay a bit vague and always mention both dist+sources
+			if use dist-kernel; then
+				ewarn "    <=virtual/dist-kernel-${max} or"
+			else
+				ewarn "    <=sys-kernel/gentoo-kernel-${max} or"
+			fi
 			ewarn "    <=sys-kernel/gentoo-sources-${max}"
 			ewarn
 			ewarn "or equivalent rather than file downstream bug reports if run into"


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-30 17:14 Ionen Wolkens
  0 siblings, 0 replies; 5996+ messages in thread
From: Ionen Wolkens @ 2023-05-30 17:14 UTC (permalink / raw
  To: gentoo-commits

commit:     a85a408aa9f9d442f4c35b4620a341a8719ea318
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 30 16:10:02 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 30 17:11:03 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a85a408a

linux-mod-r1.eclass: warn about install-dir renames in eclassdocs

Not an issue when people upgrade their kernel regularly but,
if keeping same kernel forever, may end up with stale modules
if change the location.

The eclass' default change has little impact given very few
ebuilds actually did not specify the directory, but suggesting
s/misc/extra/ may not be wise.

This is also an issue when different-named modules are added
or removed (e.g. xtables-addons has optional modules).

Worse if user changes or enables compression given all old
modules will stay with their old extension.

With some modules this may have a bigger impact if api changes
or the userland does version checks, and it ends up loading
the wrong module. For most others, will likely go unnoticed
and fix itself with a kernel upgrade.

Changes may require having a pkg_postinst cleanup at times.

...ideal would be if package manager could clean modules if
they are being installed for the same kernel, but keep the
ones for a different (old) kernel, but well.

For eclass solutions there could(?) be:
1. sanity check that warn if duplicates are found in postinst
  (informational only, being destructive there sounds bad)
2. install depmod.d files that gives priority to the modules
   we just installed (untested, but sounds possible)

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 eclass/linux-mod-r1.eclass | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 73e7e7f8ff0b..d665c42f9dd8 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -22,7 +22,6 @@
 #     - try without :target first, it is now almost always unnecessary
 #     - srcdir defaults to the current directory, and note that paths
 #       can be relative to that (should typically *not* pass ${S})
-#     - "name(misc)" or "(extra)" are fine just as modlist=( name )
 #  2. BUILD_PARAMS and/or BUILD_FIXES
 #       -> local modargs=( VAR="${KV_OUT_DIR}" ... )
 #     - CC/LD and similar are unneeded, always passed (V=1 too)
@@ -336,6 +335,10 @@ linux-mod-r1_pkg_setup() {
 # exists, but it can be anything.
 #  -> Default: extra
 #
+# Warning: Changing this location may leave stale modules until a
+# kernel upgrade as the package manager does not typically delete
+# old modules and only does overwrite on rebuilds.
+#
 # > source-dir: Directory containing the Makefile to build the module.
 # Path can be relative to the current directory or absolute.
 #  -> Default: current directory


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-30 21:55 Ionen Wolkens
  0 siblings, 0 replies; 5996+ messages in thread
From: Ionen Wolkens @ 2023-05-30 21:55 UTC (permalink / raw
  To: gentoo-commits

commit:     060b33c6d7683b5d762be96a3382dc6061f79f6f
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 30 20:46:02 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 30 21:52:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=060b33c6

linux-mod-r1.eclass: generate and install depmod.d files

Sneaking in another quick improvement while the eclass still has
low tree usage, file is not *essential* so it can wait till next
merge of the package to be active.

e.g. if have (filesystem order):

    /lib/modules/6.3.4/not-right/ryzen_smu.ko
    /lib/modules/6.3.4/extra/ryzen_smu.ko

It will load not-right/ryzen_smu.ko by default.

But with /lib/depmod.d/ryzen_smu.conf having:

    override ryzen_smu 6.3.4 extra

We more deterministically get extra's. Lacking this can be a problem
when either want to override the kernel's own modules, or if portage
left over behind modules in an outdated directory due to the default
UNINSTALL_IGNORE for modules.

Can be worse with e.g. nvidia given loading the wrong version of
the module means everything will fail. And not everyone upgrade
their kernel regularly to cleanup, some also install modules that
aren't tracked by portage in different subdirs (including nvidia's...)
which is not entirely surprising considering many build their kernel
without portage/dist-kernel.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 eclass/linux-mod-r1.eclass | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index d665c42f9dd8..c914a7223efb 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -544,6 +544,7 @@ modules_post_process() {
 	(( ${#mods[@]} )) ||
 		die "${FUNCNAME[0]} was called with no installed modules under ${path}"
 
+	_modules_process_depmod.d "${mods[@]#"${path}/"}"
 	_modules_process_strip "${mods[@]}"
 	_modules_process_sign "${mods[@]}"
 	_modules_sanity_modversion "${mods[@]}" # after strip/sign in case broke it
@@ -850,6 +851,27 @@ _modules_process_compress() {
 	fi
 }
 
+# @FUNCTION: _modules_process_depmod.d
+# @USAGE: <relative-module-path>...
+# @INTERNAL
+# @DESCRIPTION:
+# Generate a depmod.d file to ensure priority if duplicate modules
+# exist, such as stale modules in different directories, or to
+# override the kernel's own modules.
+_modules_process_depmod.d() {
+	(
+		[[ ${SLOT%/*} == 0 ]] && slot= || slot=-${SLOT%/*}
+		insinto /lib/depmod.d
+		newins - ${PN}${slot}.conf < <(
+			echo "# Automatically generated by linux-mod-r1.eclass for ${CATEGORY}/${PN}"
+			for mod; do
+				[[ ${mod} =~ ^(.+)/(.+).ko$ ]] &&
+					echo "override ${BASH_REMATCH[2]} ${KV_FULL} ${BASH_REMATCH[1]}"
+			done
+		)
+	)
+}
+
 # @FUNCTION: _modules_process_sign
 # @USAGE: <module>...
 # @INTERNAL


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-05-30 21:55 Ionen Wolkens
  0 siblings, 0 replies; 5996+ messages in thread
From: Ionen Wolkens @ 2023-05-30 21:55 UTC (permalink / raw
  To: gentoo-commits

commit:     ca268d7717dcb157e97399721f33b4f516701bf9
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue May 30 21:32:21 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue May 30 21:52:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca268d77

linux-mod-r1.eclass: respect EROOT for depmod.d confdirs

Previous commit raised concerns about this, turns out passing
`-b ${EROOT}` is not sufficient.

Not really harmful, but also avoid passing -b / given results
in double //lib/modules in depmod -v.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 eclass/linux-mod-r1.eclass | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index c914a7223efb..30395c1496f5 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -1219,8 +1219,19 @@ _modules_update_depmod() {
 
 	einfo "Updating module dependencies for kernel ${KV_FULL} ..."
 	if [[ -f ${map} ]]; then
-		nonfatal edob depmod -ae -F "${map}" -b "${EROOT:-/}" "${KV_FULL}" &&
-			return 0
+		local depmodargs=( -ae -F "${map}" "${KV_FULL}" )
+
+		# for nicer postinst display, keep command shorter if EROOT is unset
+		[[ ${EROOT} ]] &&
+			depmodargs+=(
+				-b "${EROOT}"
+
+				# 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
+			)
+
+		nonfatal edob depmod "${depmodargs[@]}" && return 0
 	else
 		eerror
 		eerror "System.map for kernel ${KV_FULL} was not found, may be due to the"


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-01  0:50 Ionen Wolkens
  0 siblings, 0 replies; 5996+ messages in thread
From: Ionen Wolkens @ 2023-06-01  0:50 UTC (permalink / raw
  To: gentoo-commits

commit:     145cf9016a2b5a1ed7bba08c70ff79d6954837a0
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  1 00:42:14 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Jun  1 00:48:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=145cf901

linux-mod-r1.eclass: drop <name> volatile make guessed target

<name> without .ko can easily trigger implicit build rules,
as far as I can tell no ebuild has needed ever needed
TARGETS="name" including those already migrated (some *do*
need "name.ko"), so should be safe to just drop it.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 eclass/linux-mod-r1.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 30395c1496f5..233610a7a587 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -349,8 +349,8 @@ linux-mod-r1_pkg_setup() {
 # > make-target: Almost always unneeded but, if defaults are not right,
 # then can specify the Makefile's target(s) to build the module/extras.
 # Multiple targets can be used with spaces, e.g. :"first second".
-#  -> Default: specially tries modules, module, <name>.ko, <name>,
-# default, all, empty target, and runs the first found usable
+#  -> Default: specially tries modules, module, <name>.ko, default,
+# all, empty target, and runs the first found usable
 #
 # Missing elements results in defaults being used, e.g. this is valid:
 #   modlist=( name1 name2=:source name3=install::build )
@@ -406,7 +406,7 @@ linux-mod-r1_src_compile() {
 		if [[ -z ${mod[3]} ]]; then
 			# guess between commonly used targets if none given, fallback to
 			# an empty target without trying to see the error output
-			for target in module{s,} "${name}"{.ko,} default all; do
+			for target in module{s,} "${name}".ko default all; do
 				nonfatal emake "${emakeargs[@]}" -q "${target}" &>/dev/null
 				if [[ ${?} -eq 1 ]]; then
 					mod[3]=${target}


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-03  0:50 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-03  0:50 UTC (permalink / raw
  To: gentoo-commits

commit:     2f8bd00507759447a513a934e440dc2fb49afceb
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  3 00:05:16 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 00:48:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f8bd005

toolchain.eclass: cleanup TOOLCHAIN_SET_S

No need for a subshell.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a0b647a5c67a..9565cc8914ef 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -426,15 +426,17 @@ fi
 # Set the source directory depending on whether we're using
 # a live git tree, snapshot, or release tarball.
 if [[ ${TOOLCHAIN_SET_S} == yes ]] ; then
-	S=$(
-		if tc_is_live ; then
-			echo ${EGIT_CHECKOUT_DIR}
-		elif [[ -n ${SNAPSHOT} ]] ; then
-			echo ${WORKDIR}/gcc-${SNAPSHOT}
-		else
-			echo ${WORKDIR}/gcc-${GCC_RELEASE_VER}
-		fi
-	)
+	s_path=
+	if tc_is_live ; then
+		s_path=${EGIT_CHECKOUT_DIR}
+	elif [[ -n ${SNAPSHOT} ]] ; then
+		s_path=${WORKDIR}/gcc-${SNAPSHOT}
+	else
+		s_path=${WORKDIR}/gcc-${GCC_RELEASE_VER}
+	fi
+
+	S="${s_path}"
+	unset s_path
 fi
 
 gentoo_urls() {


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-03  0:50 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-03  0:50 UTC (permalink / raw
  To: gentoo-commits

commit:     cfd6bbfe4c62cb4667bd43062c15831c3496a7ba
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  2 23:39:18 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 00:48:00 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cfd6bbfe

toolchain.eclass: drop legacy cygwin cruft

Cygwin supported already dropped from Prefix and the rest of the tree.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 33 ---------------------------------
 1 file changed, 33 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 87da1fba73c0..a0b647a5c67a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -526,13 +526,6 @@ gentoo_urls() {
 #			The resulting filename of this tarball will be:
 #			gcc-${SPECS_GCC_VER:-${GCC_RELEASE_VER}}-specs-${SPECS_VER}.tar.xz
 #
-#	CYGWINPORTS_GITREV
-#			If set, this variable signals that we should apply additional patches
-#			maintained by upstream Cygwin developers at github/cygwinports/gcc,
-#			using the specified git commit id there.  The list of patches to
-#			apply is extracted from gcc.cygport, maintained there as well.
-#			This is done for compilers running on Cygwin, not for cross compilers
-#			with a Cygwin target.
 get_gcc_src_uri() {
 	export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
 	export MUSL_GCC_VER=${MUSL_GCC_VER:-${PATCH_GCC_VER}}
@@ -584,11 +577,6 @@ get_gcc_src_uri() {
 		fi
 	fi
 
-	# Cygwin patches from https://github.com/cygwinports/gcc
-	[[ -n ${CYGWINPORTS_GITREV} ]] && \
-		GCC_SRC_URI+=" elibc_Cygwin? ( https://github.com/cygwinports/gcc/archive/${CYGWINPORTS_GITREV}.tar.gz
-			-> gcc-cygwinports-${CYGWINPORTS_GITREV}.tar.gz )"
-
 	echo "${GCC_SRC_URI}"
 }
 
@@ -675,7 +663,6 @@ toolchain_src_prepare() {
 
 	do_gcc_gentoo_patches
 	do_gcc_PIE_patches
-	do_gcc_CYGWINPORTS_patches
 
 	if tc_is_live ; then
 		BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, commit ${EGIT_VERSION}"
@@ -801,23 +788,6 @@ do_gcc_PIE_patches() {
 	BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-${PIE_VER}"
 }
 
-do_gcc_CYGWINPORTS_patches() {
-	[[ -n ${CYGWINPORTS_GITREV} ]] || return 0
-	use elibc_Cygwin || return 0
-
-	local p d="${WORKDIR}/gcc-${CYGWINPORTS_GITREV}"
-	# readarray -t is available since bash-4.4 only, bug #690686
-	local patches=( $(
-		for p in $(
-			sed -e '1,/PATCH_URI="/d;/"/,$d' < "${d}"/gcc.cygport
-		); do
-			echo "${d}/${p}"
-		done
-	) )
-	einfo "Applying cygwin port patches ..."
-	eapply -- "${patches[@]}"
-}
-
 # configure to build with the hardened GCC specs as the default
 make_gcc_hard() {
 	local gcc_hard_flags=""
@@ -1197,9 +1167,6 @@ toolchain_src_configure() {
 			*-musl*)
 				needed_libc=musl
 				;;
-			*-cygwin)
-				needed_libc=cygwin
-				;;
 			x86_64-*-mingw*|*-w64-mingw*)
 				needed_libc=mingw64-runtime
 				;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-03  6:48 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-06-03  6:48 UTC (permalink / raw
  To: gentoo-commits

commit:     970679b8be00a13d0fc71c2cfda6e9ecd5cd7fdf
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  3 02:20:08 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 06:48:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=970679b8

distutils-r1.eclass: drop dead prefix targets

Signed-off-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/distutils-r1.eclass | 2 --
 1 file changed, 2 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 0c0fd6790f9c..7a7b762ef059 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1825,8 +1825,6 @@ distutils-r1_run_phase() {
 	# How to build Python modules in different worlds...
 	local ldopts
 	case "${CHOST}" in
-		# provided by haubi, 2014-07-08
-		*-aix*) ldopts='-shared -Wl,-berok';; # good enough
 		# provided by grobian, 2014-06-22, bug #513664 c7
 		*-darwin*) ldopts='-bundle -undefined dynamic_lookup';;
 		*) ldopts='-shared';;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-03  6:48 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-06-03  6:48 UTC (permalink / raw
  To: gentoo-commits

commit:     fbe490d5b3bce11c69e3102745487fb37c3dccc7
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  2 08:41:11 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 06:48:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fbe490d5

distutils-r1.eclass: Remove support for old meson-python

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/distutils-r1.eclass | 51 ++++++++++++++--------------------------------
 1 file changed, 15 insertions(+), 36 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 12ed6e77b969..2f227fe75910 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -239,7 +239,7 @@ _distutils_set_globals() {
 				;;
 			meson-python)
 				bdep+='
-					>=dev-python/meson-python-0.12.1[${PYTHON_USEDEP}]
+					>=dev-python/meson-python-0.13.1[${PYTHON_USEDEP}]
 				'
 				;;
 			pbr)
@@ -1349,42 +1349,21 @@ distutils_pep517_install() {
 			;;
 		meson-python)
 			local -x NINJAOPTS=$(get_NINJAOPTS)
-			if has_version -b '>=dev-python/meson-python-0.13'; then
-				config_settings=$(
-					"${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die
-						import json
-						import os
-						import shlex
-						import sys
-
-						ninjaopts = shlex.split(os.environ["NINJAOPTS"])
-						print(json.dumps({
-							"builddir": "${BUILD_DIR}",
-							"setup-args": sys.argv[1:],
-							"compile-args": ["-v"] + ninjaopts,
-						}))
-					EOF
-				)
-			else
-				config_settings=$(
-					"${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die
-						import json
-						import os
-						import shlex
-						import sys
+			config_settings=$(
+				"${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die
+					import json
+					import os
+					import shlex
+					import sys
 
-						ninjaopts = shlex.split(os.environ["NINJAOPTS"])
-						print(json.dumps({
-							"builddir": "${BUILD_DIR}",
-							"setup-args": sys.argv[1:],
-							"compile-args": [
-								"-v",
-								f"--ninja-args={ninjaopts!r}",
-							],
-						}))
-					EOF
-				)
-			fi
+					ninjaopts = shlex.split(os.environ["NINJAOPTS"])
+					print(json.dumps({
+						"builddir": "${BUILD_DIR}",
+						"setup-args": sys.argv[1:],
+						"compile-args": ["-v"] + ninjaopts,
+					}))
+				EOF
+			)
 			;;
 		setuptools)
 			if [[ -n ${DISTUTILS_ARGS[@]} ]]; then


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-03  6:48 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-06-03  6:48 UTC (permalink / raw
  To: gentoo-commits

commit:     8248d14cd0b28edd2ebefbdd941c3284f15f64dd
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  2 08:40:02 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 06:48:08 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8248d14c

distutils-r1.eclass: Remove support for old maturin

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/distutils-r1.eclass | 44 +++++++++++++++-----------------------------
 1 file changed, 15 insertions(+), 29 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index f3325d5bd8f4..12ed6e77b969 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -230,7 +230,7 @@ _distutils_set_globals() {
 				;;
 			maturin)
 				bdep+='
-					>=dev-util/maturin-0.14.17[${PYTHON_USEDEP}]
+					>=dev-util/maturin-1.0.1[${PYTHON_USEDEP}]
 				'
 				;;
 			no)
@@ -1331,26 +1331,21 @@ distutils_pep517_install() {
 	local config_settings=
 	case ${DISTUTILS_USE_PEP517} in
 		maturin)
-			# ebuild's DISTUTILS_ARGS are currently ignored if <1.0.0, ebuilds
-			# should set the dependency if used until this can be cleaned up
-			# (reminder to cleanup the old MATURIN_PEP517_ARGS block too)
-			if has_version -b '>=dev-util/maturin-1.0.0'; then
-				# `maturin pep517 build-wheel --help` for options
-				local maturin_args=(
-					"${DISTUTILS_ARGS[@]}"
-					--jobs="$(makeopts_jobs)"
-					--skip-auditwheel # see bug #831171
-					$(in_iuse debug && usex debug '--profile=dev' '')
-				)
+			# `maturin pep517 build-wheel --help` for options
+			local maturin_args=(
+				"${DISTUTILS_ARGS[@]}"
+				--jobs="$(makeopts_jobs)"
+				--skip-auditwheel # see bug #831171
+				$(in_iuse debug && usex debug '--profile=dev' '')
+			)
 
-				config_settings=$(
-					"${EPYTHON}" - "${maturin_args[@]}" <<-EOF || die
-						import json
-						import sys
-						print(json.dumps({"build-args": sys.argv[1:]}))
-					EOF
-				)
-			fi
+			config_settings=$(
+				"${EPYTHON}" - "${maturin_args[@]}" <<-EOF || die
+					import json
+					import sys
+					print(json.dumps({"build-args": sys.argv[1:]}))
+				EOF
+			)
 			;;
 		meson-python)
 			local -x NINJAOPTS=$(get_NINJAOPTS)
@@ -1526,15 +1521,6 @@ distutils-r1_python_compile() {
 				esetup.py build -j "${jobs}" "${@}"
 			fi
 			;;
-		maturin)
-			if has_version -b '<dev-util/maturin-1.0.0'; then
-				local -x MATURIN_PEP517_ARGS="
-					--jobs=$(makeopts_jobs)
-					--skip-auditwheel
-					$(in_iuse debug && usex debug --profile=dev '')
-				"
-			fi
-			;;
 		no)
 			return
 			;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-03  6:48 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-06-03  6:48 UTC (permalink / raw
  To: gentoo-commits

commit:     2905bda4ee9df43c0f385611c8eb49b77a6dd62e
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  2 08:53:54 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 06:48:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2905bda4

distutils-r1.eclass: Add support for pdm-backend

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 2f227fe75910..0c0fd6790f9c 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -125,6 +125,8 @@ esac
 #
 # - pdm - pdm.pep517 backend
 #
+# - pdm-backend - pdm.backend backend
+#
 # - poetry - poetry-core backend
 #
 # - setuptools - distutils or setuptools (incl. legacy mode)
@@ -252,6 +254,11 @@ _distutils_set_globals() {
 					>=dev-python/pdm-pep517-1.1.4[${PYTHON_USEDEP}]
 				'
 				;;
+			pdm-backend)
+				bdep+='
+					>=dev-python/pdm-backend-2.0.7[${PYTHON_USEDEP}]
+				'
+				;;
 			poetry)
 				bdep+='
 					>=dev-python/poetry-core-1.5.2[${PYTHON_USEDEP}]
@@ -984,6 +991,12 @@ _distutils-r1_print_package_versions() {
 					dev-python/setuptools
 				)
 				;;
+			pdm-backend)
+				packages+=(
+					dev-python/pdm-backend
+					dev-python/setuptools
+				)
+				;;
 			poetry)
 				packages+=(
 					dev-python/poetry-core
@@ -1178,6 +1191,9 @@ _distutils-r1_backend_to_key() {
 		pbr.build)
 			echo pbr
 			;;
+		pdm.backend)
+			echo pdm-backend
+			;;
 		pdm.pep517.api)
 			echo pdm
 			;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-03  6:48 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-06-03  6:48 UTC (permalink / raw
  To: gentoo-commits

commit:     1fdfa3d7d4b980c37626b2bea5aa2e156dd99517
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  2 08:37:57 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 06:48:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fdfa3d7

distutils-r1.eclass: Do not force stdlib distutils on py3.12+

Do not force SETUPTOOLS_USE_DISTUTILS=stdlib on Python 3.12+
(in non-PEP517 mode), as stdlib no longer supplies distutils there.
Thanks to Sam for the report!

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

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

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 0ccd59fb6c78..f3325d5bd8f4 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1814,9 +1814,11 @@ distutils-r1_run_phase() {
 		# and _all() already localizes it
 		local -x PATH=${PATH}
 
-		# Undo the default switch in setuptools-60+ for the time being,
-		# to avoid replacing .egg-info file with directory in-place.
-		local -x SETUPTOOLS_USE_DISTUTILS="${SETUPTOOLS_USE_DISTUTILS:-stdlib}"
+		if _python_impl_matches "${EPYTHON}" 3.{9..11}; then
+			# Undo the default switch in setuptools-60+ for the time being,
+			# to avoid replacing .egg-info file with directory in-place.
+			local -x SETUPTOOLS_USE_DISTUTILS="${SETUPTOOLS_USE_DISTUTILS:-stdlib}"
+		fi
 
 		# Bug 559644
 		# using PYTHONPATH when the ${BUILD_DIR}/lib is not created yet might lead to


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

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

commit:     6ee282f0645dcfccf1836b9cc7ae55556629eb8b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  1 23:09:59 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 16:26:12 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ee282f0

texlive-module.eclass: Speed up SRC_URI calculation

For texlive-latexextra-2021, SRC_URI calculation ran for 37 seconds
here. Reduced it to 0.025 seconds (i.e. more than a factor 1000) by
using bash arrays and parameter expansion instead of nested loops.

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

 eclass/texlive-module.eclass | 39 +++++++++++++++++++++++----------------
 1 file changed, 23 insertions(+), 16 deletions(-)

diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index fea4003c37a8..6b411cb76c84 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -99,32 +99,39 @@ TEXLIVE_DEVS=${TEXLIVE_DEVS:- zlogene dilfridge sam }
 BDEPEND="${COMMON_DEPEND}
 	app-arch/xz-utils"
 
-for i in ${TEXLIVE_MODULE_CONTENTS}; do
-	for tldev in ${TEXLIVE_DEVS}; do
-		SRC_URI="${SRC_URI} https://dev.gentoo.org/~${tldev}/distfiles/texlive/tl-${i}-${PV}.${PKGEXT}"
-	done
+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
 
 # Forge doc SRC_URI
-[[ -n ${TEXLIVE_MODULE_DOC_CONTENTS} ]] && SRC_URI="${SRC_URI} doc? ("
-for i in ${TEXLIVE_MODULE_DOC_CONTENTS}; do
+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="${SRC_URI} https://dev.gentoo.org/~${tldev}/distfiles/texlive/tl-${i}-${PV}.${PKGEXT}"
+		SRC_URI+=" ${tl_uri[*]/#/${tl_uri_prefix/@dev@/${tldev}}}"
 	done
-done
-[[ -n ${TEXLIVE_MODULE_DOC_CONTENTS} ]] && SRC_URI="${SRC_URI} )"
+	SRC_URI+=" )"
+fi
 
 # Forge source SRC_URI
-if [[ -n ${TEXLIVE_MODULE_SRC_CONTENTS} ]] ; then
-	SRC_URI="${SRC_URI} source? ("
-	for i in ${TEXLIVE_MODULE_SRC_CONTENTS}; do
-		for tldev in ${TEXLIVE_DEVS}; do
-			SRC_URI="${SRC_URI} https://dev.gentoo.org/~${tldev}/distfiles/texlive/tl-${i}-${PV}.${PKGEXT}"
-		done
+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
-	SRC_URI="${SRC_URI} )"
+	SRC_URI+=" )"
 fi
 
+unset tldev tl_uri tl_uri_prefix tl_uri_suffix
+
 RDEPEND="${COMMON_DEPEND}"
 
 IUSE="${IUSE} doc"


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

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

commit:     fcff23e2517963110ed0fb3ce5b4e1c2f9842ee6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  2 07:50:18 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 16:26:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fcff23e2

texlive-module.eclass: Whitespace

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

 eclass/texlive-module.eclass | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index 65c442d5b67f..793a8dd25f89 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -341,8 +341,8 @@ texlive-module_src_compile() {
 	done
 
 	# Determine texlive-core version for fmtutil call
-        fmt_call="$(has_version '>=app-text/texlive-core-2019' \
-         && echo "fmtutil-user" || echo "fmtutil")"
+	fmt_call="$(has_version '>=app-text/texlive-core-2019' \
+		&& echo "fmtutil-user" || echo "fmtutil")"
 
 	# Build format files
 	for i in texmf-dist/fmtutil/format*.cnf; do
@@ -402,7 +402,6 @@ texlive-module_src_install() {
 		cp -pR tlpkg "${ED}/usr/share/" || die
 	fi
 
-
 	if [[ -d texmf-var ]]; then
 		insinto /var/lib/texmf
 		doins -r texmf-var/.


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

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

commit:     918b21dea9fc7e714c08dcedc24d0daf6b52ccdb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  2 07:44:21 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 16:26:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=918b21de

texlive-module.eclass: Reduce number of executed external commands

For texlive-latexextra-2021[doc], the number of "mv" commands is
reduced from 12718 to 3130. Speedup is also by a factor of about 4,
which saves another 4 seconds.

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

 eclass/texlive-module.eclass | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index 6b411cb76c84..65c442d5b67f 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -164,10 +164,18 @@ texlive-module_src_unpack() {
 	sed -e 's/\/[^/]*$//' -e "s:^:${RELOC_TARGET}/:" "${T}/reloclist" |
 		sort -u |
 		xargs mkdir -p || die
-	local i
+	local i dir="" files=()
 	while read i; do
-		mv "${i}" "${RELOC_TARGET}/${i%/*}" || die
+		if [[ ${RELOC_TARGET}/${i%/*} != "${dir}" ]]; then
+			# new dir, do the previous move
+			[[ -z ${dir} ]] || mv "${files[@]}" "${dir}" || die
+			dir="${RELOC_TARGET}/${i%/*}"
+			files=()
+		fi
+		# collect files with same destination dir
+		files+=( "${i}" )
 	done < "${T}/reloclist"
+	mv "${files[@]}" "${dir}" || die
 }
 
 # @FUNCTION: texlive-module_add_format


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-04  1:09 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-04  1:09 UTC (permalink / raw
  To: gentoo-commits

commit:     3178e86e4d43603f2c80585ec902bffc2341a5fd
Author:     Matt Jolly <Matt.Jolly <AT> footclan <DOT> ninja>
AuthorDate: Fri Jun  2 09:37:32 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jun  4 01:05:37 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3178e86e

cargo.eclass: correct gitlab archive endpoint

Signed-off-by: Matt Jolly <Matt.Jolly <AT> footclan.ninja>
Closes: https://github.com/gentoo/gentoo/pull/31273
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 48af961943d8..272e9e6dcad4 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -209,7 +209,7 @@ cargo_crate_uris() {
 				https://gitlab.com/*)
 					repo_ext=".gl"
 					repo_name="${crate_uri##*/}"
-					crate_uri="${crate_uri%/}/archive/-/%commit%/${repo_name}/%commit%.tar.gz"
+					crate_uri="${crate_uri%/}/-/archive/%commit%/${repo_name}-%commit%.tar.gz"
 				;;
 				*)
 					repo_ext=


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-04  6:21 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-06-04  6:21 UTC (permalink / raw
  To: gentoo-commits

commit:     11b6fd9b55c21fa1e3fb194198d9490913b6a354
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  4 06:11:26 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jun  4 06:21:12 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=11b6fd9b

llvm.org.eclass: Add 17.0.0_pre20230602 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 ef67d72ee58e..c5bdc7d1d8be 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
+				17.0.0_pre20230602)
+					EGIT_COMMIT=f9753ef1893c3d953a0244e7935d3997499b079a
+					;;
 				17.0.0_pre20230526)
 					EGIT_COMMIT=a2684acfb61d40f441e240035d7f1ba50da637c8
 					;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-05  5:46 Miroslav Šulc
  0 siblings, 0 replies; 5996+ messages in thread
From: Miroslav Šulc @ 2023-06-05  5:46 UTC (permalink / raw
  To: gentoo-commits

commit:     38467a7d9ed3d80980f27ccf581ad1cbda75cb5f
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Sat May  6 14:35:01 2023 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Mon Jun  5 05:46:37 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38467a7d

java-virtuals-2.eclass: mark java-virtuals.eclass dead

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/30665
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 eclass/java-virtuals-2.eclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/eclass/java-virtuals-2.eclass b/eclass/java-virtuals-2.eclass
index 842fbe0cc077..2923fe35a0e5 100644
--- a/eclass/java-virtuals-2.eclass
+++ b/eclass/java-virtuals-2.eclass
@@ -1,6 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+# @DEAD
 # @ECLASS: java-virtuals-2.eclass
 # @MAINTAINER:
 # java@gentoo.org


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-05 10:52 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-05 10:52 UTC (permalink / raw
  To: gentoo-commits

commit:     6508e0ec9573a67c55fb4ba824001101275e718a
Author:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Mon Jun  5 00:40:04 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun  5 10:52:48 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6508e0ec

cargo.eclass: fix typos and doc readability

Signed-off-by: Lucio Sauer <watermanpaint <AT> posteo.net>
Closes: https://github.com/gentoo/gentoo/pull/31309
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/cargo.eclass | 83 ++++++++++++++++++++++++++---------------------------
 1 file changed, 40 insertions(+), 43 deletions(-)

diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 272e9e6dcad4..7e6fe5c55f9e 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -56,8 +56,9 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
 # @DEFAULT_UNSET
 # @PRE_INHERIT
 # @DESCRIPTION:
-# bash string containing all crates package wants to download
-# used by cargo_crate_uris()
+# Bash string containing all crates that are to be downloaded.
+# It is used by cargo_crate_uris.
+#
 # Example:
 # @CODE
 # CRATES="
@@ -73,32 +74,28 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
 # @ECLASS_VARIABLE: GIT_CRATES
 # @DEFAULT_UNSET
 # @DESCRIPTION:
-# bash associative array containing all crates that a package wants
-# to be fetch by git.
-# The key is the crate name, the value is a semicolon separated list of
-# the following fields:
-#
-# - the URI to to fetch the crate from
-#     - this intelligentally handles GitHub URIs and GitLab URIs so
-#       just the path is needed.
-#     - the string "%commit%" gets replaced with the commit
-# - the hash of the commit to use
-# - (optional) the path to look for Cargo.toml in
-#   - this will also replace  the string "%commit%" with the commit
-#   - if this not provided, it will be generated using the crate name and
-#     the commit
-# Used by cargo_crate_uris
+# Bash associative array containing all of the crates that are to be
+# fetched via git.  It is used by cargo_crate_uris.
+# If this is defined, then cargo_src_install will add --frozen to "cargo install".
+# The key is a crate name, the value is a semicolon-separated list of:
 #
-# If this is defined, then cargo_src_install will add --frozen to "cargo install"
+# - the URI to fetch the crate from.
+#     - This intelligently handles GitHub and GitLab URIs so that
+#       just the repository path is needed.
+#     - The string "%commit%" gets replaced with the commit's checksum.
+# - the checksum of the commit to use.
+# - 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%"
 #
-# Example of simple definition of GIT_CRATES without any paths defined
+# Example of a simple definition with no path to Cargo.toml:
 # @CODE
 # declare -A GIT_CRATES=(
 # 	[home]="https://github.com/rbtcollins/home;a243ee2fbee6022c57d56f5aa79aefe194eabe53"
 # )
 # @CODE
 #
-# Example code of how to define GIT_CRATES with paths defined.
+# Example with paths defined:
 # @CODE
 # declare -A GIT_CRATES=(
 # 	[rustpython-common]="https://github.com/RustPython/RustPython;4f38cb68e4a97aeea9eb19673803a0bd5f655383;RustPython-%commit%/common"
@@ -110,22 +107,22 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
 # @DEFAULT_UNSET
 # @PRE_INHERIT
 # @DESCRIPTION:
-# If set to a non-null value, before inherit cargo part of the ebuild will
+# If set to a non-null value, the part of the ebuild before "inherit cargo" will
 # 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 of this eclass.
-# note that cargo_gen_config is automatically called by cargo_src_unpack.
+# other src_functions of this eclass.
+# Note that cargo_gen_config is automatically called by cargo_src_unpack.
 
 # @ECLASS_VARIABLE: myfeatures
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # Optional cargo features defined as bash array.
-# Should be defined before calling cargo_src_configure().
+# Should be defined before calling cargo_src_configure.
 #
-# Example package that has x11 and wayland as features, and disables default.
+# Example of a package that has x11 and wayland features and disables default features.
 # @CODE
 # src_configure() {
 # 	local myfeatures=(
@@ -145,7 +142,7 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
 # This is intended to be set by users.
 # Ebuilds must not set it.
 #
-# Defaults to "${DISTDIR}/cargo-registry" it not set.
+# Defaults to "${DISTDIR}/cargo-registry" if not set.
 
 # @ECLASS_VARIABLE: ECARGO_OFFLINE
 # @USER_VARIABLE
@@ -168,8 +165,8 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
 # @FUNCTION: cargo_crate_uris
 # @DESCRIPTION:
 # Generates the URIs to put in SRC_URI to help fetch dependencies.
-# Uses first argument as crate list.
-# If no argument provided, uses CRATES variable.
+# Constructs a list of crates from its arguments.
+# If no arguments are provided, it uses the CRATES variable.
 cargo_crate_uris() {
 	local -r regex='^([a-zA-Z0-9_\-]+)-([0-9]+\.[0-9]+\.[0-9]+.*)$'
 	local crate crates
@@ -299,7 +296,7 @@ _cargo_gen_git_config() {
 
 # @FUNCTION: cargo_src_unpack
 # @DESCRIPTION:
-# Unpacks the package and the cargo registry
+# Unpacks the package and the cargo registry.
 cargo_src_unpack() {
 	debug-print-function ${FUNCNAME} "$@"
 
@@ -381,7 +378,7 @@ cargo_live_src_unpack() {
 
 	pushd "${S}" > /dev/null || die
 
-	# Respect user settings befire cargo_gen_config is called.
+	# Respect user settings before cargo_gen_config is called.
 	if [[ ! ${CARGO_TERM_COLOR} ]]; then
 		[[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && export CARGO_TERM_COLOR=never
 		local unset_color=true
@@ -434,10 +431,10 @@ cargo_live_src_unpack() {
 # will be passed to cargo in all phases.
 # Make sure all cargo subcommands support flags passed here.
 #
-# Example for package that explicitly builds only 'baz' binary and
+# Example of a package that explicitly builds only 'baz' binary and
 # enables 'barfeature' and optional 'foo' feature.
-# will pass '--features barfeature --features foo --bin baz'
-# in src_{compile,test,install}
+# It will pass '--features barfeature --features foo --bin baz'
+# in src_{compile,test,install}.
 #
 # @CODE
 # src_configure() {
@@ -449,11 +446,11 @@ cargo_live_src_unpack() {
 # }
 # @CODE
 #
-# In some cases crates may need '--no-default-features' option,
-# as there is no way to disable single feature, except disabling all.
-# It can be passed directly to cargo_src_configure().
+# In some cases crates may need the '--no-default-features' option,
+# as there is no way to disable a single default feature, except disabling all.
+# It can be passed directly to cargo_src_configure.
 #
-# Some live/9999 ebuild may need '--frozen' option, if git crates
+# Some live/9999 ebuild may need the '--frozen' option, if git crates
 # are used.
 # Otherwise src_install phase may query network again and fail.
 cargo_src_configure() {
@@ -480,7 +477,7 @@ cargo_src_configure() {
 
 # @FUNCTION: cargo_src_compile
 # @DESCRIPTION:
-# Build the package using cargo build
+# Build the package using cargo build.
 cargo_src_compile() {
 	debug-print-function ${FUNCNAME} "$@"
 
@@ -496,10 +493,10 @@ cargo_src_compile() {
 
 # @FUNCTION: cargo_src_install
 # @DESCRIPTION:
-# Installs the binaries generated by cargo
-# In come case workspaces need alternative --path parameter
-# default is '--path ./' if nothing specified.
-# '--path ./somedir' can be passed directly to cargo_src_install()
+# Installs the binaries generated by cargo.
+# In come cases workspaces need an alternative --path parameter.
+# Defaults to '--path ./' if no path is specified.
+# '--path ./somedir' can be passed directly to cargo_src_install.
 cargo_src_install() {
 	debug-print-function ${FUNCNAME} "$@"
 
@@ -531,7 +528,7 @@ cargo_src_install() {
 
 # @FUNCTION: cargo_src_test
 # @DESCRIPTION:
-# Test the package using cargo test
+# Test the package using cargo test.
 cargo_src_test() {
 	debug-print-function ${FUNCNAME} "$@"
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-05 16:00 Ionen Wolkens
  0 siblings, 0 replies; 5996+ messages in thread
From: Ionen Wolkens @ 2023-06-05 16:00 UTC (permalink / raw
  To: gentoo-commits

commit:     cd288865e984348d8027290724a734adf69eb05c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  5 14:51:12 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jun  5 15:59:37 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd288865

linux-mod-r1.eclass: disable depmod.d files

These cause no issues with depmod itself, but dracut has the
funny idea to parse /lib/depmod.d files manually in its
90kernel-modules-extra/module-setup.sh and decides to include
modules that are overriden even though they are not needed in
early boot (increasing size, perhaps by as much as 90MB if
nvidia got included).

By disabling we're back to potentially loading stale
UNINSTALL_IGNORE'ed modules, but would rather keep the status
quo than introduce different issues (or at least for now),
especially considering dracut has become widely used on Gentoo.

Note there's no real need to revbump all modules to omit
these files given:
1) has not existed for that long, and is mostly in ~arch
2) will be cleaned on kernel upgrade + modules rebuild
3) initramfs will not include extra modules unless it
   is ran *after* the modules were rebuilt which is
   atypical except for zfs-kmod (in case of zfs-kmod
   we want to include modules either way)
4) users that rebuild their initramfs after out-of-tree modules
   likely rebuild everytime as-is (avoids stale modules)
5) "most" modules are harmless to include unless large or being
   API sensitive and the user does not upgrade their kernel

Primary issue can be with nvidia-drivers in a scenario such as:
1. build kernel
2. build nvidia
3. build initramfs *after* nvidia (gets included, while
   wouldn't without the depmod.d)
4. build new nvidia-drivers version
5. don't rebuild initramfs
6. get API mismatch if nvidia.ko got loaded during initramfs
  (typically happens even if not using the display yet)
Non-issue if the initramfs was built in step 1, unless nvidia
modules were already installed for that kernel version like
a gentoo-kernel revbump that did not trigger dist-kernel rebuilds.

As a precaution, will still revbump nvidia-drivers given these
are already using this in stable.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 eclass/linux-mod-r1.eclass | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 233610a7a587..2a3dde6a3101 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -544,7 +544,11 @@ modules_post_process() {
 	(( ${#mods[@]} )) ||
 		die "${FUNCNAME[0]} was called with no installed modules under ${path}"
 
-	_modules_process_depmod.d "${mods[@]#"${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}/"}"
+
 	_modules_process_strip "${mods[@]}"
 	_modules_process_sign "${mods[@]}"
 	_modules_sanity_modversion "${mods[@]}" # after strip/sign in case broke it


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-06  7:22 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-06  7:22 UTC (permalink / raw
  To: gentoo-commits

commit:     7a834d5d13cdaea1cd1755c88ab35adc49f9a454
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  6 07:21:32 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jun  6 07:22:24 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a834d5d

vala.eclass: workaround Vala breakage with Clang 16

Conditionally pass -Wno-incompatible-function-pointer-types for now in vala_setup
until Vala itself is fixed.

While this will affect other stuff in the same package, it's limited to when
Vala is enabled, so it's better than before at least. Right now, the situation
is both difficult for users & also blocks further testing.

Thanks to cyrillic for the nudge.

Bug: https://bugs.gentoo.org/892708
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/vala.eclass | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/eclass/vala.eclass b/eclass/vala.eclass
index 11f8e52f92dd..d02cc246977a 100644
--- a/eclass/vala.eclass
+++ b/eclass/vala.eclass
@@ -22,6 +22,8 @@ esac
 if [[ -z ${_VALA_ECLASS} ]] ; then
 _VALA_ECLASS=1
 
+inherit flag-o-matic
+
 # @ECLASS_VARIABLE: VALA_MIN_API_VERSION
 # @DESCRIPTION:
 # Minimum vala API version (e.g. 0.56).
@@ -169,6 +171,10 @@ vala_setup() {
 	done
 	: "${PKG_CONFIG_PATH:="${EPREFIX}/usr/$(get_libdir)/pkgconfig:${EPREFIX}/usr/share/pkgconfig"}"
 	export PKG_CONFIG_PATH="${T}/pkgconfig:${PKG_CONFIG_PATH}"
+
+	# See bug #892708.
+	# Workaround for https://gitlab.gnome.org/GNOME/vala/-/issues/1408.
+	append-cflags $(test-flags-CC -Wno-incompatible-function-pointer-types)
 }
 
 # @FUNCTION: vala_src_prepare


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-06  8:48 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-06  8:48 UTC (permalink / raw
  To: gentoo-commits

commit:     e43cd05d44f17ee7641bcd6fa050944602459911
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  6 08:18:01 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jun  6 08:46:59 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e43cd05d

ruby-fakegem.eclass: fix each_fakegem_configure typo (RUBY_FAKEGEM_EXTENSION_OPTIONS)

Thanks to twnqx for reporting.

Signed-off-by: Sam James <sam <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 5dc653e1598e..77d2163e06fd 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.eclass
@@ -441,7 +441,7 @@ each_fakegem_configure() {
 
 	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_FAKEGM_EXTENSION_OPTIONS} || die
+		CC=$(tc-getCC) ${RUBY} --disable=did_you_mean -C ${extension%/*} ${extension##*/} --with-cflags="${CFLAGS}" --with-ldflags="${LDFLAGS}" ${RUBY_FAKEGEM_EXTENSION_OPTIONS} || die
 	done
 }
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-06 17:50 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-06-06 17:50 UTC (permalink / raw
  To: gentoo-commits

commit:     d5638e49ee79c0f7e4672d5537e97a4ccc7f2eb2
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  6 04:10:09 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Jun  6 17:50:24 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5638e49

eapi8-dosym.eclass: Prevent globbing of argument in _dosym8_canonicalize

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

 eclass/eapi8-dosym.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/eapi8-dosym.eclass b/eclass/eapi8-dosym.eclass
index 4e3977ef54cf..93b11dda7fd6 100644
--- a/eclass/eapi8-dosym.eclass
+++ b/eclass/eapi8-dosym.eclass
@@ -31,7 +31,7 @@ esac
 _dosym8_canonicalize() {
 	local path slash i prev out IFS=/
 
-	path=( $1 )
+	read -r -d '' -a path <<< "$1"
 	[[ $1 == /* ]] && slash=/
 
 	while true; do
@@ -39,7 +39,7 @@ _dosym8_canonicalize() {
 		# or as a special case, "/.." at the beginning of the path.
 		# Also drop empty and "." path components as we go along.
 		prev=
-		for i in ${!path[@]}; do
+		for i in "${!path[@]}"; do
 			if [[ -z ${path[i]} || ${path[i]} == . ]]; then
 				unset "path[i]"
 			elif [[ ${path[i]} != .. ]]; then


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-10  6:50 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-10  6:50 UTC (permalink / raw
  To: gentoo-commits

commit:     681ca5418e6a79fdf0e5213e672b568c055ba83a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 10 06:48:22 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 06:50:47 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=681ca541

cargo.eclass: make cargo_live_src_unpack idempotent

Allow multiple calls w/ different S set by guarding the symlink creation.

Bug: https://bugs.gentoo.org/902725
Signed-off-by: Sam James <sam <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 7e6fe5c55f9e..991e808d453f 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -403,8 +403,8 @@ cargo_live_src_unpack() {
 
 	# Users may have git checkouts made by cargo.
 	# While cargo vendors the sources, it still needs git checkout to be present.
-	# Copying full dir is an overkill, so just symlink it.
-	if [[ -d ${ECARGO_REGISTRY_DIR}/git ]]; then
+	# Copying full dir is overkill, so just symlink it (guard w/ -L to keep idempotent).
+	if [[ -d ${ECARGO_REGISTRY_DIR}/git && ! -L "${ECARGO_HOME}/git" ]]; then
 		ln -sv "${ECARGO_REGISTRY_DIR}/git" "${ECARGO_HOME}/git" || die
 	fi
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-10  7:25 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-10  7:25 UTC (permalink / raw
  To: gentoo-commits

commit:     a606b978be638005c9b832a733d087dbc97ae6d0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  3 00:47:25 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 07:25:35 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a606b978

toolchain.eclass: cleanup < GCC 8 debris

If you need this, please use toolchain-legacy.eclass from the ::toolchain
repository.

Closes: https://github.com/gentoo/gentoo/pull/31362
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 640 +++++++-----------------------------------------
 1 file changed, 89 insertions(+), 551 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 9565cc8914ef..952ad85fcde0 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -200,7 +200,7 @@ fi
 # Require minimum gcc version to simplify assumptions.
 # Normally we would require gcc-6+ (based on sys-devel/gcc)
 # but we still have sys-devel/gcc-apple-4.2.1_p5666.
-tc_version_is_at_least 4.2.1 || die "${ECLASS}: ${GCC_RELEASE_VER} is too old."
+tc_version_is_at_least 8 || die "${ECLASS}: ${GCC_RELEASE_VER} is too old."
 
 PREFIX=${TOOLCHAIN_PREFIX:-${EPREFIX}/usr}
 
@@ -234,11 +234,8 @@ tc_has_feature() {
 
 if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
 	IUSE+=" debug +cxx +nptl" TC_FEATURES+=( nptl )
-	[[ -n ${PIE_VER} ]] && IUSE+=" nopie"
-	[[ -n ${SPECS_VER} ]] && IUSE+=" nossp"
 	IUSE+=" +fortran" TC_FEATURES+=( fortran )
 	IUSE+=" doc hardened multilib objc"
-	tc_version_is_between 3 7 && IUSE+=" awt gcj" TC_FEATURES+=( gcj )
 	IUSE+=" pgo"
 	IUSE+=" objc-gc" TC_FEATURES+=( objc-gc )
 	IUSE+=" libssp objc++"
@@ -251,32 +248,17 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
 		IUSE+=" +openmp"
 	fi
 
-	tc_version_is_at_least 4.3 && IUSE+=" fixed-point"
-	tc_version_is_at_least 4.7 && IUSE+=" go"
-
-	# sanitizer support appeared in gcc-4.8, but <gcc-5 does not
-	# support modern glibc.
-	tc_version_is_at_least 5 && IUSE+=" +sanitize"  TC_FEATURES+=( sanitize )
-
-	# Note:
-	#   <gcc-4.8 supported graphite, it required forked ppl
-	#     versions which we dropped.  Since graphite was also experimental in
-	#     the older versions, we don't want to bother supporting it.  #448024
-	#   <gcc-5 supported graphite, it required cloog
-	#   <gcc-6.5 supported graphite, it required old incompatible isl
-	tc_version_is_at_least 6.5 &&
-		IUSE+=" graphite" TC_FEATURES+=( graphite )
-
-	tc_version_is_between 4.9 8 && IUSE+=" cilk"
-	tc_version_is_at_least 4.9 && IUSE+=" ada"
-	tc_version_is_at_least 4.9 && IUSE+=" vtv"
-	tc_version_is_at_least 5.0 && IUSE+=" jit"
+	IUSE+=" fixed-point"
+	IUSE+=" go"
+	IUSE+=" +sanitize"  TC_FEATURES+=( sanitize )
+	IUSE+=" graphite" TC_FEATURES+=( graphite )
+	IUSE+=" ada"
+	IUSE+=" vtv"
+	IUSE+=" jit"
 	tc_version_is_between 5.0 9 && IUSE+=" mpx"
-	tc_version_is_at_least 6.0 && IUSE+=" +pie +ssp +pch"
+	IUSE+=" +pie +ssp +pch"
 
-	# systemtap is a gentoo-specific switch: bug #654748
-	tc_version_is_at_least 8.0 &&
-		IUSE+=" systemtap" TC_FEATURES+=( systemtap )
+	IUSE+=" systemtap" TC_FEATURES+=( systemtap )
 
 	tc_version_is_at_least 9.0 && IUSE+=" d" TC_FEATURES+=( d )
 	tc_version_is_at_least 9.1 && IUSE+=" lto"
@@ -311,18 +293,11 @@ RDEPEND="
 "
 
 GMP_MPFR_DEPS=">=dev-libs/gmp-4.3.2:0= >=dev-libs/mpfr-2.4.2:0="
-if tc_version_is_at_least 4.3 ; then
-	RDEPEND+=" ${GMP_MPFR_DEPS}"
-elif tc_has_feature fortran ; then
-	RDEPEND+=" fortran? ( ${GMP_MPFR_DEPS} )"
-fi
-
-tc_version_is_at_least 4.5 && RDEPEND+=" >=dev-libs/mpc-0.8.1:0="
+RDEPEND+=" ${GMP_MPFR_DEPS}"
+RDEPEND+=" >=dev-libs/mpc-0.8.1:0="
 
 if tc_has_feature objc-gc ; then
-	if tc_version_is_at_least 7 ; then
-		RDEPEND+=" objc-gc? ( >=dev-libs/boehm-gc-7.4.2 )"
-	fi
+	RDEPEND+=" objc-gc? ( >=dev-libs/boehm-gc-7.4.2 )"
 fi
 
 if tc_has_feature graphite ; then
@@ -347,25 +322,6 @@ if [[ ${PN} == gcc && ${PV} == *_p* ]] ; then
 	BDEPEND+=" sys-apps/texinfo"
 fi
 
-if tc_has_feature gcj ; then
-	DEPEND+="
-		gcj? (
-			app-arch/zip
-			app-arch/unzip
-			>=media-libs/libart_lgpl-2.1
-			awt? (
-				x11-base/xorg-proto
-				x11-libs/libXt
-				x11-libs/libX11
-				x11-libs/libXtst
-				=x11-libs/gtk+-2*
-				x11-libs/pango
-				virtual/pkgconfig
-			)
-		)
-	"
-fi
-
 if tc_has_feature sanitize ; then
 	# libsanitizer relies on 'crypt.h' to be present
 	# on target. glibc user to provide it unconditionally.
@@ -475,7 +431,8 @@ gentoo_urls() {
 		HTTP~tamiko/distfiles/URI
 		HTTP~zorry/patches/gcc/URI
 		HTTP~vapier/dist/URI
-		HTTP~blueness/dist/URI"
+		HTTP~blueness/dist/URI
+	"
 	devspace=${devspace//HTTP/https:\/\/dev.gentoo.org\/}
 	echo ${devspace//URI/$1} mirror://gentoo/$1
 }
@@ -504,36 +461,9 @@ gentoo_urls() {
 #			The resulting filename of this tarball will be:
 #			gcc-${PATCH_GCC_VER:-${GCC_RELEASE_VER}}-patches-${PATCH_VER}.tar.xz
 #
-#	PIE_VER
-#	PIE_GCC_VER
-#			These variables control patching in various updates for the logic
-#			controlling Position Independent Executables. PIE_VER is expected
-#			to be the version of this patch, and PIE_GCC_VER the gcc version of
-#			the patch:
-#			An example:
-#					PIE_VER="8.7.6.5"
-#					PIE_GCC_VER="3.4.0"
-#			The resulting filename of this tarball will be:
-#			gcc-${PIE_GCC_VER:-${GCC_RELEASE_VER}}-piepatches-v${PIE_VER}.tar.xz
-#
-#	SPECS_VER
-#	SPECS_GCC_VER
-#			This is for the minispecs files included in the hardened gcc-4.x
-#			The specs files for hardenedno*, vanilla and for building the "specs" file.
-#			SPECS_VER is expected to be the version of this patch, SPECS_GCC_VER
-#			the gcc version of the patch.
-#			An example:
-#					SPECS_VER="8.7.6.5"
-#					SPECS_GCC_VER="3.4.0"
-#			The resulting filename of this tarball will be:
-#			gcc-${SPECS_GCC_VER:-${GCC_RELEASE_VER}}-specs-${SPECS_VER}.tar.xz
-#
 get_gcc_src_uri() {
 	export PATCH_GCC_VER=${PATCH_GCC_VER:-${GCC_RELEASE_VER}}
 	export MUSL_GCC_VER=${MUSL_GCC_VER:-${PATCH_GCC_VER}}
-	export PIE_GCC_VER=${PIE_GCC_VER:-${GCC_RELEASE_VER}}
-	export HTB_GCC_VER=${HTB_GCC_VER:-${GCC_RELEASE_VER}}
-	export SPECS_GCC_VER=${SPECS_GCC_VER:-${GCC_RELEASE_VER}}
 
 	# Set where to download gcc itself depending on whether we're using a
 	# live git tree, snapshot, or release tarball.
@@ -545,17 +475,10 @@ get_gcc_src_uri() {
 	elif [[ -n ${SNAPSHOT} ]] ; then
 		GCC_SRC_URI="mirror://gcc/snapshots/${SNAPSHOT}/gcc-${SNAPSHOT}.tar.xz"
 	else
-		if tc_version_is_between 5.5 6 || tc_version_is_between 6.4 7 || tc_version_is_at_least 7.2 ; then
-			GCC_SRC_URI="
-				mirror://gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.xz
-				mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.xz
-			"
-		else
-			GCC_SRC_URI="
-				mirror://gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.bz2
-				mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.bz2
-			"
-		fi
+		GCC_SRC_URI="
+			mirror://gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.xz
+			mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_RELEASE_VER}.tar.xz
+		"
 	fi
 
 	[[ -n ${PATCH_VER} ]] && \
@@ -563,22 +486,6 @@ get_gcc_src_uri() {
 	[[ -n ${MUSL_VER} ]] && \
 		GCC_SRC_URI+=" $(gentoo_urls gcc-${MUSL_GCC_VER}-musl-patches-${MUSL_VER}.tar.${TOOLCHAIN_PATCH_SUFFIX})"
 
-	[[ -n ${PIE_VER} ]] && \
-		PIE_CORE=${PIE_CORE:-gcc-${PIE_GCC_VER}-piepatches-v${PIE_VER}.tar.${TOOLCHAIN_PATCH_SUFFIX}} && \
-		GCC_SRC_URI+=" $(gentoo_urls ${PIE_CORE})"
-
-	# gcc minispec for the hardened gcc 4 compiler
-	[[ -n ${SPECS_VER} ]] && \
-		GCC_SRC_URI+=" $(gentoo_urls gcc-${SPECS_GCC_VER}-specs-${SPECS_VER}.tar.${TOOLCHAIN_PATCH_SUFFIX})"
-
-	if tc_has_feature gcj ; then
-		if tc_version_is_at_least 4.5 ; then
-			GCC_SRC_URI+=" gcj? ( ftp://sourceware.org/pub/java/ecj-4.5.jar )"
-		elif tc_version_is_at_least 4.3 ; then
-			GCC_SRC_URI+=" gcj? ( ftp://sourceware.org/pub/java/ecj-4.3.jar )"
-		fi
-	fi
-
 	echo "${GCC_SRC_URI}"
 }
 
@@ -592,11 +499,7 @@ toolchain_pkg_pretend() {
 			ewarn 'Go requires a C++ compiler, disabled due to USE="-cxx"'
 		_tc_use_if_iuse objc++ && \
 			ewarn 'Obj-C++ requires a C++ compiler, disabled due to USE="-cxx"'
-		_tc_use_if_iuse gcj && \
-			ewarn 'GCJ requires a C++ compiler, disabled due to USE="-cxx"'
 	fi
-
-	want_minispecs
 }
 
 #---->> pkg_setup <<----
@@ -664,7 +567,6 @@ toolchain_src_prepare() {
 	cd "${S}" || die
 
 	do_gcc_gentoo_patches
-	do_gcc_PIE_patches
 
 	if tc_is_live ; then
 		BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, commit ${EGIT_VERSION}"
@@ -672,8 +574,7 @@ toolchain_src_prepare() {
 
 	eapply_user
 
-	if ( tc_version_is_at_least 4.8.2 || _tc_use_if_iuse hardened ) \
-		   && ! use vanilla ; then
+	if ! use vanilla ; then
 		make_gcc_hard
 	fi
 
@@ -684,7 +585,6 @@ toolchain_src_prepare() {
 		-exec sed -i '/^pkgconfigdir/s:=.*:=$(toolexeclibdir)/pkgconfig:' {} + || die
 
 	setup_multilib_osdirnames
-	gcc_version_patch
 
 	local actual_version=$(< "${S}"/gcc/BASE-VER)
 	if [[ "${GCC_RELEASE_VER}" != "${actual_version}" ]] ; then
@@ -692,23 +592,6 @@ toolchain_src_prepare() {
 		die "Please set 'TOOLCHAIN_GCC_PV' to '${actual_version}'"
 	fi
 
-	# >= gcc-4.3 doesn't bundle ecj.jar, so copy it
-	if tc_version_is_at_least 4.3 && _tc_use_if_iuse gcj ; then
-		if tc_version_is_at_least 4.5 ; then
-			einfo "Copying ecj-4.5.jar"
-			cp -pPR "${DISTDIR}/ecj-4.5.jar" "${S}/ecj.jar" || die
-		else
-			einfo "Copying ecj-4.3.jar"
-			cp -pPR "${DISTDIR}/ecj-4.3.jar" "${S}/ecj.jar" || die
-		fi
-	fi
-
-	# Prevent libffi from being installed
-	if tc_version_is_between 3.0 4.8 ; then
-		sed -i -e 's/\(install.*:\) install-.*recursive/\1/' "${S}"/libffi/Makefile.in || die
-		sed -i -e 's/\(install-data-am:\).*/\1/' "${S}"/libffi/include/Makefile.in || die
-	fi
-
 	# Fixup libtool to correctly generate .la files with portage
 	elibtoolize --portage --shallow --no-uclibc
 
@@ -724,11 +607,6 @@ toolchain_src_prepare() {
 		eend $?
 	done
 
-	# bug #215828
-	if ! tc_version_is_at_least 4.6.0 ; then
-		sed -i 's|A-Za-z0-9|[:alnum:]|g' "${S}"/gcc/*.awk || die
-	fi
-
 	if ! use prefix-guest && [[ -n ${EPREFIX} ]] ; then
 		einfo "Prefixifying dynamic linkers..."
 		for f in gcc/config/*/*linux*.h ; do
@@ -780,90 +658,47 @@ do_gcc_gentoo_patches() {
 	fi
 }
 
-do_gcc_PIE_patches() {
-	want_pie || return 0
-	use vanilla && return 0
-
-	einfo "Applying PIE patches ..."
-	eapply "${WORKDIR}"/piepatch/*.patch
-
-	BRANDING_GCC_PKGVERSION="${BRANDING_GCC_PKGVERSION}, pie-${PIE_VER}"
-}
-
 # configure to build with the hardened GCC specs as the default
 make_gcc_hard() {
 	local gcc_hard_flags=""
 
-	# If we use gcc-6 or newer with PIE enabled to compile older gcc,
-	# we need to pass -no-pie to stage1; bug #618908
-	if ! tc_version_is_at_least 6.0 && [[ $(gcc-major-version) -ge 6 ]] ; then
-		einfo "Disabling PIE in stage1 (only) ..."
-		sed -i -e "/^STAGE1_LDFLAGS/ s/$/ -no-pie/" "${S}"/Makefile.in || die
+	if _tc_use_if_iuse pie ; then
+		einfo "Updating gcc to use automatic PIE building ..."
 	fi
 
-	# For gcc >= 6.x, we can use configuration options to turn PIE/SSP
-	# on as default
-	if tc_version_is_at_least 6.0 ; then
-		if _tc_use_if_iuse pie ; then
-			einfo "Updating gcc to use automatic PIE building ..."
-		fi
-		if _tc_use_if_iuse ssp ; then
-			einfo "Updating gcc to use automatic SSP building ..."
-		fi
-		if _tc_use_if_iuse default-stack-clash-protection ; then
-			# The define DEF_GENTOO_SCP is checked in 24_all_DEF_GENTOO_SCP-fstack-clash-protection.patch
-			einfo "Updating gcc to use automatic stack clash protection ..."
-			gcc_hard_flags+=" -DDEF_GENTOO_SCP"
-		fi
-		if _tc_use_if_iuse default-znow ; then
-			# The define DEF_GENTOO_ZNOW is checked in 23_all_DEF_GENTOO_ZNOW-z-now.patch
-			einfo "Updating gcc to request symbol resolution at start (-z now) ..."
-			gcc_hard_flags+=" -DDEF_GENTOO_ZNOW"
-		fi
-		if _tc_use_if_iuse hardened ; then
-			# Will add some hardened options as default, e.g. for gcc-12
-			# * -fstack-clash-protection
-			# * -z now
-			# See gcc *_all_extra-options.patch patches.
-			gcc_hard_flags+=" -DEXTRA_OPTIONS"
-			# Default to -D_FORTIFY_SOURCE=3 instead of -D_FORTIFY_SOURCE=2
-			gcc_hard_flags+=" -DGENTOO_FORTIFY_SOURCE_LEVEL=3"
-			# Add -D_GLIBCXX_ASSERTIONS
-			gcc_hard_flags+=" -DDEF_GENTOO_GLIBCXX_ASSERTIONS"
-
-			if _tc_use_if_iuse cet && [[ ${CTARGET} == *x86_64*-linux* ]] ; then
-				gcc_hard_flags+=" -DEXTRA_OPTIONS_CF"
-			fi
+	if _tc_use_if_iuse ssp ; then
+		einfo "Updating gcc to use automatic SSP building ..."
+	fi
 
-			# Rebrand to make bug reports easier
-			BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
-		fi
-	else
-		if _tc_use_if_iuse hardened ; then
-			# Rebrand to make bug reports easier
-			BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
-			if hardened_gcc_works ; then
-				einfo "Updating gcc to use automatic PIE + SSP building ..."
-				gcc_hard_flags+=" -DEFAULT_PIE_SSP"
-			elif hardened_gcc_works pie ; then
-				einfo "Updating gcc to use automatic PIE building ..."
-				ewarn "SSP has not been enabled by default"
-				gcc_hard_flags+=" -DEFAULT_PIE"
-			elif hardened_gcc_works ssp ; then
-				einfo "Updating gcc to use automatic SSP building ..."
-				ewarn "PIE has not been enabled by default"
-				gcc_hard_flags+=" -DEFAULT_SSP"
-			else
-				# Do nothing if hardened isn't supported, but don't die either
-				ewarn "hardened is not supported for this arch in this gcc version"
-				return 0
-			fi
-		else
-			if hardened_gcc_works ssp ; then
-				einfo "Updating gcc to use automatic SSP building ..."
-				gcc_hard_flags+=" -DEFAULT_SSP"
-			fi
+	if _tc_use_if_iuse default-stack-clash-protection ; then
+		# The define DEF_GENTOO_SCP is checked in 24_all_DEF_GENTOO_SCP-fstack-clash-protection.patch
+		einfo "Updating gcc to use automatic stack clash protection ..."
+		gcc_hard_flags+=" -DDEF_GENTOO_SCP"
+	fi
+
+	if _tc_use_if_iuse default-znow ; then
+		# The define DEF_GENTOO_ZNOW is checked in 23_all_DEF_GENTOO_ZNOW-z-now.patch
+		einfo "Updating gcc to request symbol resolution at start (-z now) ..."
+		gcc_hard_flags+=" -DDEF_GENTOO_ZNOW"
+	fi
+
+	if _tc_use_if_iuse hardened ; then
+		# Will add some hardened options as default, e.g. for gcc-12
+		# * -fstack-clash-protection
+		# * -z now
+		# See gcc *_all_extra-options.patch patches.
+		gcc_hard_flags+=" -DEXTRA_OPTIONS"
+		# Default to -D_FORTIFY_SOURCE=3 instead of -D_FORTIFY_SOURCE=2
+		gcc_hard_flags+=" -DGENTOO_FORTIFY_SOURCE_LEVEL=3"
+		# Add -D_GLIBCXX_ASSERTIONS
+		gcc_hard_flags+=" -DDEF_GENTOO_GLIBCXX_ASSERTIONS"
+
+		if _tc_use_if_iuse cet && [[ ${CTARGET} == *x86_64*-linux* ]] ; then
+			gcc_hard_flags+=" -DEXTRA_OPTIONS_CF"
 		fi
+
+		# Rebrand to make bug reports easier
+		BRANDING_GCC_PKGVERSION=${BRANDING_GCC_PKGVERSION/Gentoo/Gentoo Hardened}
 	fi
 
 	# We want to be able to control the PIE patch logic via something other
@@ -871,12 +706,10 @@ make_gcc_hard() {
 	sed -e '/^ALL_CFLAGS/iHARD_CFLAGS = ' \
 		-e 's|^ALL_CFLAGS = |ALL_CFLAGS = $(HARD_CFLAGS) |' \
 		-i "${S}"/gcc/Makefile.in || die
-	# Need to add HARD_CFLAGS to ALL_CXXFLAGS on >= 4.7
-	if tc_version_is_at_least 4.7 ; then
-		sed -e '/^ALL_CXXFLAGS/iHARD_CFLAGS = ' \
-			-e 's|^ALL_CXXFLAGS = |ALL_CXXFLAGS = $(HARD_CFLAGS) |' \
-			-i "${S}"/gcc/Makefile.in || die
-	fi
+
+	sed -e '/^ALL_CXXFLAGS/iHARD_CFLAGS = ' \
+		-e 's|^ALL_CXXFLAGS = |ALL_CXXFLAGS = $(HARD_CFLAGS) |' \
+		-i "${S}"/gcc/Makefile.in || die
 
 	sed -i \
 		-e "/^HARD_CFLAGS = /s|=|= ${gcc_hard_flags} |" \
@@ -932,24 +765,6 @@ setup_multilib_osdirnames() {
 	sed -i "${sed_args[@]}" "${S}"/gcc/config/${config} || die
 }
 
-gcc_version_patch() {
-	# gcc-4.3+ has configure flags (whoo!)
-	tc_version_is_at_least 4.3 && return 0
-
-	local version_string=${GCC_RELEASE_VER}
-
-	einfo "Patching gcc version: ${version_string} (${BRANDING_GCC_PKGVERSION})"
-
-	local gcc_sed=( -e 's:gcc\.gnu\.org/bugs\.html:bugs\.gentoo\.org/:' )
-	if grep -qs VERSUFFIX "${S}"/gcc/version.c ; then
-		gcc_sed+=( -e "/VERSUFFIX \"\"/s:\"\":\" (${BRANDING_GCC_PKGVERSION})\":" )
-	else
-		version_string="${version_string} (${BRANDING_GCC_PKGVERSION})"
-		gcc_sed+=( -e "/const char version_string\[\] = /s:= \".*\":= \"${version_string}\":" )
-	fi
-	sed -i "${gcc_sed[@]}" "${S}"/gcc/version.c || die
-}
-
 #---->> src_configure <<----
 
 toolchain_src_configure() {
@@ -970,12 +785,6 @@ toolchain_src_configure() {
 	# issues with 3rd party jar implementations. bug #384291
 	export JAR=no
 
-	# For hardened gcc 4.3: add the pie patchset to build the hardened specs
-	# file (build.specs) to use when building gcc.
-	if ! tc_version_is_at_least 4.4 && want_minispecs ; then
-		setup_minispecs_gcc_build_specs
-	fi
-
 	local confgcc=( --host=${CHOST} )
 
 	local build_config_targets=()
@@ -1008,16 +817,13 @@ toolchain_src_configure() {
 	#  then --with-python-dir=/lib/python2.5/site-packages should be passed.
 	#
 	# This should translate into "/share/gcc-data/${CTARGET}/${GCC_CONFIG_VER}/python"
-	if tc_version_is_at_least 4.4 ; then
-		confgcc+=( --with-python-dir=${DATAPATH/$PREFIX/}/python )
-	fi
+	confgcc+=( --with-python-dir=${DATAPATH/$PREFIX/}/python )
 
 	### language options
 
 	local GCC_LANG="c"
 	is_cxx && GCC_LANG+=",c++"
 	is_d   && GCC_LANG+=",d"
-	is_gcj && GCC_LANG+=",java"
 	is_go  && GCC_LANG+=",go"
 	if is_objc || is_objcxx ; then
 		GCC_LANG+=",objc"
@@ -1075,7 +881,7 @@ toolchain_src_configure() {
 	fi
 
 	# Branding
-	tc_version_is_at_least 4.3 && confgcc+=(
+	confgcc+=(
 		--with-bugurl=https://bugs.gentoo.org/
 		--with-pkgversion="${BRANDING_GCC_PKGVERSION}"
 	)
@@ -1084,25 +890,16 @@ toolchain_src_configure() {
 		confgcc+=( --with-gcc-major-version-only )
 	fi
 
-	# If we want hardened support with the newer PIE patchset for >=gcc 4.4
-	if tc_version_is_at_least 4.4 && want_minispecs && in_iuse hardened ; then
-		confgcc+=( $(use_enable hardened esp) )
-	fi
-
 	# Allow gcc to search for clock funcs in the main C lib.
 	# if it can't find them, then tough cookies -- we aren't
 	# going to link in -lrt to all C++ apps. bug #411681
-	if tc_version_is_at_least 4.4 && is_cxx ; then
+	if is_cxx ; then
 		confgcc+=( --enable-libstdcxx-time )
 	fi
 
 	# This only controls whether the compiler *supports* LTO, not whether
 	# it's *built using* LTO. Hence we do it without a USE flag.
-	if tc_version_is_at_least 4.6 ; then
-		confgcc+=( --enable-lto )
-	elif tc_version_is_at_least 4.5 ; then
-		confgcc+=( --disable-lto )
-	fi
+	confgcc+=( --enable-lto )
 
 	# Build compiler itself using LTO
 	if tc_version_is_at_least 9.1 && _tc_use_if_iuse lto ; then
@@ -1114,7 +911,7 @@ toolchain_src_configure() {
 	fi
 
 	# Support to disable PCH when building libstdcxx
-	if tc_version_is_at_least 6.0 && ! _tc_use_if_iuse pch ; then
+	if ! _tc_use_if_iuse pch ; then
 		confgcc+=( --disable-libstdcxx-pch )
 	fi
 
@@ -1130,11 +927,6 @@ toolchain_src_configure() {
 	# 	;;
 	# esac
 
-	# Newer gcc versions like to bootstrap themselves with C++,
-	# so we need to manually disable it ourselves
-	if tc_version_is_between 4.7 4.8 && ! is_cxx ; then
-		confgcc+=( --disable-build-with-cxx --disable-build-poststage1-with-cxx )
-	fi
 
 	### Cross-compiler options
 	if is_crosscompile ; then
@@ -1184,9 +976,9 @@ toolchain_src_configure() {
 		if [[ -n ${needed_libc} ]] ; then
 			local confgcc_no_libc=( --disable-shared )
 			# requires libc: bug #734820
-			tc_version_is_at_least 4.6 && confgcc_no_libc+=( --disable-libquadmath )
+			confgcc_no_libc+=( --disable-libquadmath )
 			# requires libc
-			tc_version_is_at_least 4.8 && confgcc_no_libc+=( --disable-libatomic )
+			confgcc_no_libc+=( --disable-libatomic )
 
 			if ! has_version ${CATEGORY}/${needed_libc} ; then
 				confgcc+=(
@@ -1272,7 +1064,7 @@ toolchain_src_configure() {
 	# gcc has fixed-point arithmetic support in 4.3 for mips targets that can
 	# significantly increase compile time by several hours.  This will allow
 	# users to control this feature in the event they need the support.
-	tc_version_is_at_least 4.3 && in_iuse fixed-point && confgcc+=( $(use_enable fixed-point) )
+	in_iuse fixed-point && confgcc+=( $(use_enable fixed-point) )
 
 	case $(tc-is-softfloat) in
 		yes)
@@ -1317,10 +1109,7 @@ toolchain_src_configure() {
 			[[ ${arm_arch} == *-m ]] && confgcc+=( --with-mode=thumb )
 
 			# Enable hardvfp
-			if [[ $(tc-is-softfloat) == "no" ]] && \
-			   [[ ${CTARGET} == armv[67]* ]] && \
-			   tc_version_is_at_least 4.5
-			then
+			if [[ $(tc-is-softfloat) == "no" ]] && [[ ${CTARGET} == armv[67]* ]] ; then
 				# Follow the new arm hardfp distro standard by default
 				confgcc+=( --with-float=hard )
 				case ${CTARGET} in
@@ -1334,10 +1123,8 @@ toolchain_src_configure() {
 			# when no specific arch/mode/float is specified, e.g.
 			# for target arm-none-eabi, since doing this is
 			# incompatible with --with-arch/cpu/float/fpu.
-			if is_multilib && [[ ${arm_arch} == arm ]] && \
-			   tc_version_is_at_least 7.1
-			then
-				confgcc+=( --with-multilib-list=aprofile,rmprofile  )
+			if is_multilib && [[ ${arm_arch} == arm ]] ; then
+				confgcc+=( --with-multilib-list=aprofile,rmprofile )
 			fi
 			;;
 		mips)
@@ -1348,7 +1135,7 @@ toolchain_src_configure() {
 		amd64)
 			# drop the older/ABI checks once this gets merged into some
 			# version of gcc upstream
-			if tc_version_is_at_least 4.8 && has x32 $(get_all_abis TARGET) ; then
+			if has x32 $(get_all_abis TARGET) ; then
 				confgcc+=( --with-abi=$(gcc-abi-map ${TARGET_DEFAULT_ABI}) )
 			fi
 			;;
@@ -1357,10 +1144,6 @@ toolchain_src_configure() {
 			# since glibc will do so based on CTARGET anyways
 			confgcc+=( --with-arch=${CTARGET%%-*} )
 			;;
-		hppa)
-			# Enable sjlj exceptions for backward compatibility on hppa
-			[[ ${GCCMAJOR} == "3" ]] && confgcc+=( --enable-sjlj-exceptions )
-			;;
 		ppc)
 			# Set up defaults based on current CFLAGS
 			is-flagq -mfloat-gprs=double && confgcc+=( --enable-e500-double )
@@ -1393,19 +1176,15 @@ toolchain_src_configure() {
 	# be small, and should simplify building of 64bit kernels in a 32bit
 	# userland by not needing sys-devel/kgcc64. bug #349405
 	case $(tc-arch) in
-		ppc|ppc64)
+		amd64|ppc|ppc64|sparc|x86)
 			confgcc+=( --enable-targets=all )
 			;;
-		sparc)
-			tc_version_is_at_least 4.4 && confgcc+=( --enable-targets=all )
-			;;
-		amd64|x86)
-			tc_version_is_at_least 4.3 && confgcc+=( --enable-targets=all )
+		*)
 			;;
 	esac
 
 	# On Darwin we need libdir to be set in order to get correct install names
-	# for things like libobjc-gnu, libgcj and libfortran.  If we enable it on
+	# for things like libobjc-gnu and libfortran.  If we enable it on
 	# non-Darwin we screw up the behaviour this eclass relies on.  We in
 	# particular need this over --libdir for bug #255315.
 	[[ ${CTARGET} == *-darwin* ]] && \
@@ -1413,15 +1192,6 @@ toolchain_src_configure() {
 
 	### library options
 
-	if tc_version_is_between 3.0 7.0 ; then
-		if is_gcj ; then
-			confgcc+=( --disable-gjdoc )
-			use awt && confgcc+=( --enable-java-awt=gtk )
-		else
-			confgcc+=( --disable-libgcj )
-		fi
-	fi
-
 	if in_iuse openmp ; then
 		# Make sure target has pthreads support: bug #326757, bug #335883
 		# There shouldn't be a chicken & egg problem here as openmp won't
@@ -1443,10 +1213,6 @@ toolchain_src_configure() {
 	if _tc_use_if_iuse libssp ; then
 		confgcc+=( --enable-libssp )
 	else
-		if hardened_gcc_is_stable ssp; then
-			export gcc_cv_libc_provides_ssp=yes
-		fi
-
 		if _tc_use_if_iuse ssp; then
 			# On some targets USE="ssp -libssp" is an invalid
 			# configuration as the target libc does not provide
@@ -1502,31 +1268,25 @@ toolchain_src_configure() {
 
 	# graphite was added in 4.4 but we only support it in 6.5+ due to external
 	# library issues. bug #448024, bug #701270
-	if tc_version_is_at_least 6.5 && in_iuse graphite ; then
+	if in_iuse graphite ; then
 		confgcc+=( $(use_with graphite isl) )
 		use graphite && confgcc+=( --disable-isl-version-check )
-	elif tc_version_is_at_least 5.0 ; then
+	else
 		confgcc+=( --without-isl )
-	elif tc_version_is_at_least 4.8 ; then
-		confgcc+=( --without-cloog )
-	elif tc_version_is_at_least 4.4 ; then
-		confgcc+=( --without-{cloog,ppl} )
 	fi
 
-	if tc_version_is_at_least 4.8; then
-		if in_iuse sanitize ; then
-			# See Note [implicitly enabled flags]
-			confgcc+=( $(usex sanitize '' --disable-libsanitizer) )
-		else
-			confgcc+=( --disable-libsanitizer )
-		fi
+	if in_iuse sanitize ; then
+		# See Note [implicitly enabled flags]
+		confgcc+=( $(usex sanitize '' --disable-libsanitizer) )
+	else
+		confgcc+=( --disable-libsanitizer )
 	fi
 
-	if tc_version_is_at_least 6.0 && in_iuse pie ; then
+	if in_iuse pie ; then
 		confgcc+=( $(use_enable pie default-pie) )
 	fi
 
-	if tc_version_is_at_least 6.0 && in_iuse ssp ; then
+	if in_iuse ssp ; then
 		confgcc+=(
 			# This defaults to -fstack-protector-strong.
 			$(use_enable ssp default-ssp)
@@ -1743,39 +1503,14 @@ gcc_do_filter_flags() {
 
 	filter-flags '-fsanitize=*'
 
-	if tc_version_is_between 6 8 ; then
-		# -mstackrealign triggers crashes in exception throwing
-		# at least on ada: bug #688580
-		# The reason is unknown. Drop the flag for now.
-		filter-flags -mstackrealign
-	fi
-
 	case $(tc-arch) in
 		amd64|x86)
 			filter-flags '-mcpu=*'
-
-			# bug #357287
-			tc_version_is_between 4.4 4.5 && append-flags -mno-avx
-
-			if tc_version_is_between 4.6 4.7 ; then
-				# bug #411333, bug #466454
-				replace-cpu-flags c3-2 pentium2 pentium3 pentium3m pentium-m i686
-			fi
 			;;
 		alpha)
 			# bug #454426
 			append-ldflags -Wl,--no-relax
 			;;
-		sparc)
-			# Temporary workaround for random ICEs reproduced by multiple users
-			# bug #457062
-			tc_version_is_between 4.6 4.8 && MAKEOPTS+=" -j1"
-			;;
-		*-macos)
-			# https://gcc.gnu.org/PR25127
-			tc_version_is_between 4.0 4.2 && \
-				filter-flags '-mcpu=*' '-march=*' '-mtune=*'
-			;;
 	esac
 
 	strip-unsupported-flags
@@ -1791,27 +1526,6 @@ gcc_do_filter_flags() {
 		local VAR="CFLAGS_"${CTARGET//[-.]/_}
 		CXXFLAGS=${!VAR-${CFLAGS}}
 	fi
-
-	export GCJFLAGS=${GCJFLAGS:-${CFLAGS}}
-}
-
-setup_minispecs_gcc_build_specs() {
-	# Setup the "build.specs" file for gcc 4.3 to use when building.
-	if hardened_gcc_works pie ; then
-		cat "${WORKDIR}"/specs/pie.specs >> "${WORKDIR}"/build.specs
-	fi
-
-	if hardened_gcc_works ssp ; then
-		for s in ssp sspall ; do
-			cat "${WORKDIR}"/specs/${s}.specs >> "${WORKDIR}"/build.specs
-		done
-	fi
-
-	for s in nostrict znow ; do
-		cat "${WORKDIR}"/specs/${s}.specs >> "${WORKDIR}"/build.specs
-	done
-
-	export GCC_SPECS="${WORKDIR}"/build.specs
 }
 
 gcc-multilib-configure() {
@@ -1835,7 +1549,7 @@ gcc-multilib-configure() {
 	if [[ -n ${list} ]] ; then
 		case ${CTARGET} in
 			x86_64*)
-				tc_version_is_at_least 4.8 && confgcc+=( --with-multilib-list=${list:1} )
+				confgcc+=( --with-multilib-list=${list:1} )
 			;;
 		esac
 	fi
@@ -1919,17 +1633,8 @@ gcc_do_make() {
 		fi
 	fi
 
-	# Older versions of GCC could not do profiledbootstrap in parallel due to
-	# collisions with profiling info.
-	if [[ ${GCC_MAKE_TARGET} == "profiledbootstrap" ]] ; then
-		! tc_version_is_at_least 4.6 && export MAKEOPTS="${MAKEOPTS} -j1"
-	fi
-
 	if [[ ${GCC_MAKE_TARGET} == "all" ]] ; then
 		STAGE1_CFLAGS=${STAGE1_CFLAGS-"${CFLAGS}"}
-	elif [[ $(gcc-version) == "3.4" && ${GCC_BRANCH_VER} == "3.4" ]] && gcc-specs-ssp ; then
-		# See bug #79852
-		STAGE1_CFLAGS=${STAGE1_CFLAGS-"-O2"}
 	fi
 
 	if is_crosscompile; then
@@ -1981,13 +1686,9 @@ gcc_do_make() {
 
 	if ! is_crosscompile && _tc_use_if_iuse cxx && _tc_use_if_iuse doc ; then
 		if type -p doxygen > /dev/null ; then
-			if tc_version_is_at_least 4.3 ; then
-				cd "${CTARGET}"/libstdc++-v3/doc
-				emake doc-man-doxygen
-			else
-				cd "${CTARGET}"/libstdc++-v3
-				emake doxygen-man
-			fi
+			cd "${CTARGET}"/libstdc++-v3/doc
+			emake -C "${CTARGET}"/libstdc++-v3/doc doc-man-doxygen
+
 			# Clean bogus manpages. bug #113902
 			find -name '*_build_*' -delete
 
@@ -2130,18 +1831,11 @@ toolchain_src_install() {
 	create_gcc_env_entry
 	create_revdep_rebuild_entry
 
-	# Setup the gcc_env_entry for hardened gcc 4 with minispecs
-	want_minispecs && copy_minispecs_gcc_specs
-
-	# Make sure we don't have stuff lying around that
-	# can nuke multiple versions of gcc
-	gcc_slot_java
-
 	dodir /usr/bin
 	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 gcj gcjh gfortran gccgo gnat* ; do
+	for x in cpp gcc gccrs g++ c++ gcov 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
@@ -2278,16 +1972,8 @@ toolchain_src_install() {
 	export QA_WX_LOAD="usr/lib*/go/*/*.gox"
 
 	# Disable RANDMMAP so PCH works, bug #301299
-	if tc_version_is_at_least 4.3 ; then
-		pax-mark -r "${ED}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1"
-		pax-mark -r "${ED}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/cc1plus"
-	fi
-
-	# Disable MPROTECT so java works, bug #574808
-	if is_gcj ; then
-		pax-mark -m "${ED}/libexec/gcc/${CTARGET}/${GCC_CONFIG_VER}/ecj1"
-		pax-mark -m "${ED}/${CTARGET}/gcc-bin/${GCC_CONFIG_VER}/gij"
-	fi
+	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
 		# TODO: In future, install orphaned to allow comparison across
@@ -2311,7 +1997,7 @@ gcc_movelibs() {
 	# move them to the compiler-specific CHOST internal dir.  This is stuff
 	# that you want to link against when building tools rather than building
 	# code to run on the target.
-	if tc_version_is_at_least 5 && is_crosscompile ; then
+	if is_crosscompile ; then
 		dodir "${HOSTLIBPATH#${EPREFIX}}"
 		mv "${ED}"/usr/$(get_libdir)/libcc1* "${D}${HOSTLIBPATH}" || die
 	fi
@@ -2353,14 +2039,6 @@ gcc_movelibs() {
 			fi
 		done
 		fix_libtool_libdir_paths "${LIBPATH}/${MULTIDIR}"
-
-		# SLOT up libgcj.pc if it's available (and let gcc-config worry about links)
-		FROMDIR="${PREFIX}/lib/${OS_MULTIDIR}"
-		for x in "${D}${FROMDIR}"/pkgconfig/libgcj*.pc ; do
-			[[ -f ${x} ]] || continue
-			sed -i "/^libdir=/s:=.*:=${LIBPATH}/${MULTIDIR}:" "${x}" || die
-			mv "${x}" "${D}${FROMDIR}"/pkgconfig/libgcj-${GCC_PV}.pc || die
-		done
 	done
 
 	# We remove directories separately to avoid this case:
@@ -2460,67 +2138,6 @@ create_revdep_rebuild_entry() {
 	EOF
 }
 
-copy_minispecs_gcc_specs() {
-	# On gcc 6, we don't need minispecs
-	if tc_version_is_at_least 6.0 ; then
-		return 0
-	fi
-
-	# Setup the hardenedno* specs files and the vanilla specs file.
-	if hardened_gcc_works ; then
-		create_gcc_env_entry hardenednopiessp
-	fi
-	if hardened_gcc_works pie ; then
-		create_gcc_env_entry hardenednopie
-	fi
-	if hardened_gcc_works ssp ; then
-		create_gcc_env_entry hardenednossp
-	fi
-	create_gcc_env_entry vanilla
-	insinto ${LIBPATH#${EPREFIX}}
-	doins "${WORKDIR}"/specs/*.specs || die "failed to install specs"
-	# Build system specs file which, if it exists, must be a complete set of
-	# specs as it completely and unconditionally overrides the builtin specs.
-	if ! tc_version_is_at_least 4.4 ; then
-		$(XGCC) -dumpspecs > "${WORKDIR}"/specs/specs
-		cat "${WORKDIR}"/build.specs >> "${WORKDIR}"/specs/specs
-		doins "${WORKDIR}"/specs/specs || die "failed to install the specs file"
-	fi
-}
-
-gcc_slot_java() {
-	local x
-
-	# Move Java headers to compiler-specific dir
-	for x in "${D}${PREFIX}"/include/gc*.h "${D}${PREFIX}"/include/j*.h ; do
-		[[ -f ${x} ]] && mv -f "${x}" "${D}${LIBPATH}"/include/
-	done
-	for x in gcj gnu java javax org ; do
-		if [[ -d ${D}${PREFIX}/include/${x} ]] ; then
-			dodir /${LIBPATH#${EPREFIX}}/include/${x}
-			mv -f "${D}${PREFIX}"/include/${x}/* "${D}${LIBPATH}"/include/${x}/
-			rm -rf "${D}${PREFIX}"/include/${x}
-		fi
-	done
-
-	if [[ -d ${D}${PREFIX}/lib/security ]] || [[ -d ${D}${PREFIX}/$(get_libdir)/security ]] ; then
-		dodir /${LIBPATH#${EPREFIX}}/security
-		mv -f "${D}${PREFIX}"/lib*/security/* "${D}${LIBPATH}"/security
-		rm -rf "${D}${PREFIX}"/lib*/security
-	fi
-
-	# Move random gcj files to compiler-specific directories
-	for x in libgcj.spec logging.properties ; do
-		x="${D}${PREFIX}/lib/${x}"
-		[[ -f ${x} ]] && mv -f "${x}" "${D}${LIBPATH}"/
-	done
-
-	# Rename jar because it could clash with Kaffe's jar if this gcc is
-	# primary compiler (aka doesn't have the -<version> extension)
-	cd "${D}${BINPATH}"
-	[[ -f jar ]] && mv -f jar gcj-jar
-}
-
 #---->> pkg_post* <<----
 
 toolchain_pkg_postinst() {
@@ -2687,11 +2304,6 @@ is_fortran() {
 	_tc_use_if_iuse fortran
 }
 
-is_gcj() {
-	gcc-lang-supported java || return 1
-	_tc_use_if_iuse cxx && _tc_use_if_iuse gcj
-}
-
 is_go() {
 	gcc-lang-supported go || return 1
 	_tc_use_if_iuse cxx && _tc_use_if_iuse go
@@ -2741,80 +2353,6 @@ get_make_var() {
 
 XGCC() { get_make_var GCC_FOR_TARGET ; }
 
-# The gentoo pie-ssp patches allow for 3 configurations:
-# 1) PIE+SSP by default
-# 2) PIE by default
-# 3) SSP by default
-hardened_gcc_works() {
-	if [[ $1 == "pie" ]] ; then
-		# $gcc_cv_ld_pie is unreliable as it simply take the output of
-		# `ld --help | grep -- -pie`, that reports the option in all cases, also if
-		# the loader doesn't actually load the resulting executables.
-
-		want_pie || return 1
-		_tc_use_if_iuse nopie && return 1
-		hardened_gcc_is_stable pie
-		return $?
-	elif [[ $1 == "ssp" ]] ; then
-		[[ -n ${SPECS_VER} ]] || return 1
-		_tc_use_if_iuse nossp && return 1
-		hardened_gcc_is_stable ssp
-		return $?
-	else
-		# laziness ;)
-		hardened_gcc_works pie || return 1
-		hardened_gcc_works ssp || return 1
-		return 0
-	fi
-}
-
-hardened_gcc_is_stable() {
-	local tocheck
-	if [[ $1 == "pie" ]] ; then
-		tocheck=${PIE_GLIBC_STABLE}
-	elif [[ $1 == "ssp" ]] ; then
-		tocheck=${SSP_STABLE}
-	else
-		die "hardened_gcc_stable needs to be called with pie or ssp"
-	fi
-
-	has $(tc-arch) ${tocheck} && return 0
-	return 1
-}
-
-want_minispecs() {
-	# On gcc 6, we don't need minispecs
-	if tc_version_is_at_least 6.0 ; then
-		return 0
-	fi
-	if tc_version_is_at_least 4.3.2 && _tc_use_if_iuse hardened ; then
-		if ! want_pie ; then
-			ewarn "PIE_VER or SPECS_VER is not defined in the GCC ebuild."
-		elif use vanilla ; then
-			ewarn "You will not get hardened features if you have the vanilla USE-flag."
-		elif _tc_use_if_iuse nopie && _tc_use_if_iuse nossp ; then
-			ewarn "You will not get hardened features if you have the nopie and nossp USE-flag."
-		elif ! hardened_gcc_works ; then
-			ewarn "Your $(tc-arch) arch is not supported."
-		else
-			return 0
-		fi
-		ewarn "Hope you know what you are doing. Hardened will not work."
-		return 0
-	fi
-	return 1
-}
-
-want_pie() {
-	! _tc_use_if_iuse hardened && [[ -n ${PIE_VER} ]] \
-		&& _tc_use_if_iuse nopie && return 1
-	[[ -n ${PIE_VER} ]] && [[ -n ${SPECS_VER} ]] && return 0
-	tc_version_is_at_least 4.3.2 && return 1
-	[[ -z ${PIE_VER} ]] && return 1
-	_tc_use_if_iuse nopie || return 0
-	return 1
-}
-
 has toolchain_death_notice ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS+=" toolchain_death_notice"
 toolchain_death_notice() {
 	if [[ -e "${WORKDIR}"/build ]] ; then


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-10 10:25 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-10 10:25 UTC (permalink / raw
  To: gentoo-commits

commit:     62d74870e07b5c75999e0cbb1f89917ab7f421c7
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  3 02:18:49 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 10:23:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62d74870

apache-2.eclass: drop dead prefix targets

Signed-off-by: Sam James <sam <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 3dc3b3e56db0..5ff17fd8d228 100644
--- a/eclass/apache-2.eclass
+++ b/eclass/apache-2.eclass
@@ -476,7 +476,7 @@ apache-2_src_prepare() {
 	# 03_all_gentoo-apache-tools.patch injects -Wl,-z,now, which is not a good
 	# idea for everyone
 	case ${CHOST} in
-		*-linux-gnu|*-solaris*|*-freebsd*)
+		*-linux-gnu|*-solaris*)
 			# do nothing, these use GNU binutils
 			:
 		;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-10 10:25 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-10 10:25 UTC (permalink / raw
  To: gentoo-commits

commit:     cab79611b07c9ebb795c6f65562ef72ba77550b1
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  3 02:18:53 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 10:24:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cab79611

toolchain-funcs.eclass: drop dead prefix targets

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain-funcs.eclass | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 63db0cfa5e0e..bffbf36f1696 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -683,16 +683,7 @@ tc-ninja_magic_to_arch() {
 		frv*)		echo frv;;
 		hexagon*)	echo hexagon;;
 		hppa*)		ninj parisc hppa;;
-		i?86*)
-			# Starting with linux-2.6.24, the 'x86_64' and 'i386'
-			# trees have been unified into 'x86'.
-			# FreeBSD still uses i386
-			if [[ ${type} == "kern" && ${host} == *freebsd* ]] ; then
-				echo i386
-			else
-				echo x86
-			fi
-			;;
+		i?86*)		echo x86;;
 		ia64*)		echo ia64;;
 		loongarch*)	ninj loongarch loong;;
 		m68*)		echo m68k;;
@@ -726,7 +717,6 @@ tc-ninja_magic_to_arch() {
 					;;
 		tile*)		echo tile;;
 		vax*)		echo vax;;
-		x86_64*freebsd*) echo amd64;;
 		x86_64*)
 			# Starting with linux-2.6.24, the 'x86_64' and 'i386'
 			# trees have been unified into 'x86'.
@@ -1077,7 +1067,7 @@ gen_usr_ldscript() {
 	case ${CTARGET:-${CHOST}} in
 	*-darwin*) ;;
 	*-android*) return 0 ;;
-	*linux*|*-freebsd*|*-openbsd*|*-netbsd*)
+	*linux*)
 		use prefix && return 0 ;;
 	*) return 0 ;;
 	esac


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-10 10:25 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-10 10:25 UTC (permalink / raw
  To: gentoo-commits

commit:     ec7228748f83d7e603d187659b008d806a447026
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  3 02:16:42 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 10:24:03 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec722874

meson.eclass: drop dead prefix targets

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/meson.eclass | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index 4dfa08ba5553..2c274b213191 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -112,10 +112,7 @@ _meson_get_machine_info() {
 
 	# system roughly corresponds to uname -s (lowercase)
 	case ${tuple} in
-		*-aix*)          system=aix ;;
-		*-cygwin*)       system=cygwin ;;
 		*-darwin*)       system=darwin ;;
-		*-freebsd*)      system=freebsd ;;
 		*-linux*)        system=linux ;;
 		mingw*|*-mingw*) system=windows ;;
 		*-solaris*)      system=sunos ;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-10 10:25 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-10 10:25 UTC (permalink / raw
  To: gentoo-commits

commit:     a7361d2e880798bce305c5085c2f63b5d2c747a6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  3 02:18:57 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 10:24:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a7361d2e

usr-ldscript.eclass: drop dead prefix targets

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/usr-ldscript.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/usr-ldscript.eclass b/eclass/usr-ldscript.eclass
index 6dbce59c6400..e52de9e658d4 100644
--- a/eclass/usr-ldscript.eclass
+++ b/eclass/usr-ldscript.eclass
@@ -1,4 +1,4 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: usr-ldscript.eclass
@@ -55,7 +55,7 @@ gen_usr_ldscript() {
 	case ${CTARGET:-${CHOST}} in
 	*-darwin*) ;;
 	*-android*) return 0 ;;
-	*linux*|*-freebsd*|*-openbsd*|*-netbsd*)
+	*linux*)
 		use split-usr || return 0
 		;;
 	*) return 0 ;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-10 10:25 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-10 10:25 UTC (permalink / raw
  To: gentoo-commits

commit:     60252448ea396117671e3c7acceee7ba60673c73
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  3 02:20:23 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 10:24:05 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60252448

xorg-3.eclass: drop dead prefix targets

Followup to 3db70e9c014e415ae38a713b47cf7b299fd11945.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/xorg-3.eclass | 17 +----------------
 1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/eclass/xorg-3.eclass b/eclass/xorg-3.eclass
index c3ece64ae42d..74ba29657e64 100644
--- a/eclass/xorg-3.eclass
+++ b/eclass/xorg-3.eclass
@@ -273,19 +273,7 @@ xorg-3_src_unpack() {
 xorg-3_reconf_source() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	case ${CHOST} in
-		*-aix* | *-winnt*)
-			# some hosts need full eautoreconf
-			[[ -e "./configure.ac" || -e "./configure.in" ]] \
-				&& XORG_EAUTORECONF=yes
-			;;
-		*)
-			# elibtoolize required for BSD
-			[[ ${XORG_EAUTORECONF} != no && ( -e "./configure.ac" || -e "./configure.in" ) ]] \
-				&& XORG_EAUTORECONF=yes
-			;;
-	esac
-
+	[[ ${XORG_EAUTORECONF} != no && ( -e "./configure.ac" || -e "./configure.in" ) ]] && XORG_EAUTORECONF=yes
 	[[ ${XORG_EAUTORECONF} != no ]] && eautoreconf
 	elibtoolize --patch-only
 }
@@ -326,9 +314,6 @@ xorg-3_font_configure() {
 xorg-3_flags_setup() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	# Win32 require special define
-	[[ ${CHOST} == *-winnt* ]] && append-cppflags -DWIN32 -D__STDC__
-
 	# Hardened flags break module autoloading et al (also fixes #778494)
 	if [[ ${PN} == xorg-server || ${PN} == xf86-video-* || ${PN} == xf86-input-* ]]; then
 		filter-flags -fno-plt


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-10 10:25 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-10 10:25 UTC (permalink / raw
  To: gentoo-commits

commit:     fae3e3b3eeec2d252ad42afeba11ac8ffeb70c42
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 10 09:54:26 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 10:24:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fae3e3b3

xorg-3.eclass: cleanup XORG_EAUTORECONF further

The current/previous logic is:
* if `XORG_EAUTORECONF` is explicitly no, just elibtoolize.
* if `XORG_EAUTORECONF` is yes/unset, automagic it based on configure.{ac,in} presence
* if `XORG_EAUTORECONF` is unset, autoreconf

I don't see the point in the automagic, so clean it up. At best, it papered
over broken ebuilds.

(And it's also dangerous if the deps aren't guaranteed to be installed.)

Closes: https://github.com/gentoo/gentoo/pull/31279
Signed-off-by: Sam James <sam <AT> gentoo.org>

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

diff --git a/eclass/xorg-3.eclass b/eclass/xorg-3.eclass
index 74ba29657e64..e0b26acca0b0 100644
--- a/eclass/xorg-3.eclass
+++ b/eclass/xorg-3.eclass
@@ -273,9 +273,11 @@ xorg-3_src_unpack() {
 xorg-3_reconf_source() {
 	debug-print-function ${FUNCNAME} "$@"
 
-	[[ ${XORG_EAUTORECONF} != no && ( -e "./configure.ac" || -e "./configure.in" ) ]] && XORG_EAUTORECONF=yes
-	[[ ${XORG_EAUTORECONF} != no ]] && eautoreconf
-	elibtoolize --patch-only
+	if [[ ${XORG_EAUTORECONF} != no ]] ; then
+		eautoreconf
+	else
+		elibtoolize --patch-only
+	fi
 }
 
 # @FUNCTION: xorg-3_src_prepare


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-10 11:22 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-06-10 11:22 UTC (permalink / raw
  To: gentoo-commits

commit:     00f7b898e7f2132af1fa1552aec48cb8b5fdf37f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 10 09:00:00 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 11:22:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=00f7b898

llvm.org.eclass: Add 17.0.0_pre20230609 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 c5bdc7d1d8be..1fb544094d4a 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
+				17.0.0_pre20230609)
+					EGIT_COMMIT=62c0bdabfa32f6e32b17b45425b15309db340dfb
+					;;
 				17.0.0_pre20230602)
 					EGIT_COMMIT=f9753ef1893c3d953a0244e7935d3997499b079a
 					;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-10 12:40 David Seifert
  0 siblings, 0 replies; 5996+ messages in thread
From: David Seifert @ 2023-06-10 12:40 UTC (permalink / raw
  To: gentoo-commits

commit:     d3e362f25fd22509016adfcbe97a2ac9837228ac
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 10 12:40:03 2023 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 12:40:03 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3e362f2

sword-module.eclass: remove dead eclass

Signed-off-by: David Seifert <soap <AT> gentoo.org>

 eclass/sword-module.eclass | 96 ----------------------------------------------
 1 file changed, 96 deletions(-)

diff --git a/eclass/sword-module.eclass b/eclass/sword-module.eclass
deleted file mode 100644
index be3725a6ec55..000000000000
--- a/eclass/sword-module.eclass
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# @ECLASS: sword-module.eclass
-# @MAINTAINER:
-# Marek Szuba <marecki@gentoo.org>
-# @SUPPORTED_EAPIS: 7 8
-# @BLURB: Simplify installation of SWORD modules
-# @DESCRIPTION:
-# This eclass provides dependencies, ebuild environment and the src_install
-# function common to all app-text/sword modules published by the SWORD Project.
-#
-# Note that as of 2021-06-16 module archives published by SWORD are still
-# not versioned and it is necessary to look at respective module pages in
-# order to see what versions the currently available files are. Once
-# a module file has been replicated to the Gentoo mirror network it will be
-# versioned and remain available even after upstream has changed their
-# version, however users not using mirrors will encounter hash conflicts
-# on updated modules. Should that happen, please notify the relevant
-# package maintainers that a new version is available.
-#
-# @EXAMPLE:
-# sword-Personal-1.0.ebuild, a typical ebuild using sword-module.eclass:
-#
-# @CODE
-# EAPI=8
-#
-# SWORD_MINIMUM_VERSION="1.5.1a"
-#
-# inherit sword-module
-#
-# DESCRIPTION="SWORD module for storing one's own commentary"
-# HOMEPAGE="https://crosswire.org/sword/modules/ModInfo.jsp?modName=Personal"
-# LICENSE="public-domain"
-# KEYWORDS="~amd64 ~ppc ~x86"
-#
-# @CODE
-
-case ${EAPI:-0} in
-	0|1|2|3|4|5|6)
-		die "Unsupported EAPI=${EAPI} (too old) for ${ECLASS}"
-		;;
-	7|8)
-		;;
-	*)
-		die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
-		;;
-esac
-
-# @ECLASS_VARIABLE: SWORD_MINIMUM_VERSION
-# @DEFAULT_UNSET
-# @PRE_INHERIT
-# @DESCRIPTION:
-# If set to a non-null value, specifies the minimum version of app-text/sword
-# the module requires. This will be included in RDEPEND. If null or unset,
-# the dependency will be unversioned.
-# Needs to be set before the inherit line.
-
-# @ECLASS_VARIABLE: SWORD_MODULE
-# @PRE_INHERIT
-# @DESCRIPTION:
-# Case-sensitive name of the SWORD-Project module to install. If unset
-# or null, use the name produced by removing the prefix 'sword-' from PN.
-# Needs to be set before the inherit line.
-: ${SWORD_MODULE:=${PN#sword-}}
-
-EXPORT_FUNCTIONS src_install
-
-# Unless overridden at ebuild level, append version to the name of the file
-# fetched from upstream and let the Gentoo mirror network take care of
-# persisting the versioned archive.
-SRC_URI="https://crosswire.org/ftpmirror/pub/sword/packages/rawzip/${SWORD_MODULE}.zip -> ${SWORD_MODULE}-${PV}.zip"
-
-SLOT="0"
-
-# Module archives contain no top-level directory.
-S="${WORKDIR}"
-
-if [[ ${SWORD_MINIMUM_VERSION} ]]; then
-	RDEPEND=">=app-text/sword-${SWORD_MINIMUM_VERSION}"
-else
-	RDEPEND="app-text/sword"
-fi
-
-BDEPEND="app-arch/unzip"
-
-# @FUNCTION: sword-module_src_install
-# @DESCRIPTION:
-# Install all the module files into directories used by app-text/sword.
-sword-module_src_install() {
-	insinto /usr/share/sword/modules
-	doins -r modules/*
-	insinto /usr/share/sword/mods.d
-	doins mods.d/*
-}


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-10 13:18 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-10 13:18 UTC (permalink / raw
  To: gentoo-commits

commit:     7d05c013a8a63299ffd82fa6c1b41a412573f849
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 10 12:09:37 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 13:16:57 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d05c013

gstreamer-meson.eclass: detect qt5/qt6 in split -good plugins

Closes: https://bugs.gentoo.org/907483
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/gstreamer-meson.eclass | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/eclass/gstreamer-meson.eclass b/eclass/gstreamer-meson.eclass
index 570254270e6d..96ab97f3767b 100644
--- a/eclass/gstreamer-meson.eclass
+++ b/eclass/gstreamer-meson.eclass
@@ -88,6 +88,16 @@ opencv"
 		GST_PLUGINS_EXT_DEPS="${GST_PLUGINS_EXT_DEPS}
 hls"
 	fi
+
+	# See bug #907483
+	if grep -q "option('qt5'" "${EMESON_SOURCE}"/meson_options.txt ; then
+		GST_PLUGINS_EXT_DEPS="${GST_PLUGINS_EXT_DEPS}
+qt5"
+	fi
+	if grep -q "option('qt6'" "${EMESON_SOURCE}"/meson_options.txt ; then
+		GST_PLUGINS_EXT_DEPS="${GST_PLUGINS_EXT_DEPS}
+qt6"
+	fi
 }
 
 # @FUNCTION: gstreamer_system_package


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-11  9:36 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-06-11  9:36 UTC (permalink / raw
  To: gentoo-commits

commit:     ca33be2065280660250f1c3010e1f5ada418423c
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 11 09:34:25 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jun 11 09:34:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca33be20

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 1fb544094d4a..2de0680628ee 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,15 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
 				17.0.0_pre20230609)
 					EGIT_COMMIT=62c0bdabfa32f6e32b17b45425b15309db340dfb
 					;;
-				17.0.0_pre20230602)
-					EGIT_COMMIT=f9753ef1893c3d953a0244e7935d3997499b079a
-					;;
-				17.0.0_pre20230526)
-					EGIT_COMMIT=a2684acfb61d40f441e240035d7f1ba50da637c8
-					;;
-				17.0.0_pre20230520)
-					EGIT_COMMIT=abbb22cc0c9c33dedb8d53c2bd3e703f92baace7
-					;;
 				*)
 					die "Unknown snapshot: ${PV}"
 					;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-11 17:26 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ messages in thread
From: Andreas Sturmlechner @ 2023-06-11 17:26 UTC (permalink / raw
  To: gentoo-commits

commit:     caca3ae42e2bfd4693dfa4ab7be03ce18a14dba2
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 16 20:21:52 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 11 17:23:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=caca3ae4

qmake-utils.eclass: Preliminary qt6_get_*dir support

Rebased changes from patch by Andreas Sturmlechner [1].

1. https://github.com/gentoo/qt/pull/224

Closes: https://github.com/gentoo/qt/pull/224
Thanks-to: Andreas Sturmlechner <asturm <AT> gentoo.org>
Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 eclass/qmake-utils.eclass | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/eclass/qmake-utils.eclass b/eclass/qmake-utils.eclass
index a86ce1fbabb8..8608212e1c54 100644
--- a/eclass/qmake-utils.eclass
+++ b/eclass/qmake-utils.eclass
@@ -116,4 +116,40 @@ eqmake5() {
 	fi
 }
 
+# @FUNCTION: qt6_get_bindir
+# @DESCRIPTION:
+# Echoes the directory where Qt6 binaries are installed.
+# EPREFIX is already prepended to the returned path.
+qt6_get_bindir() {
+	echo ${EPREFIX}$(qt6_get_libdir)/qt6/bin
+}
+
+# @FUNCTION: qt6_get_headerdir
+# @DESCRIPTION:
+# Echoes the directory where Qt6 headers are installed.
+qt6_get_headerdir() {
+	echo /usr/include/qt6
+}
+
+# @FUNCTION: qt6_get_libdir
+# @DESCRIPTION:
+# Echoes the directory where Qt6 libraries are installed.
+qt6_get_libdir() {
+	echo /usr/$(get_libdir)
+}
+
+# @FUNCTION: qt6_get_mkspecsdir
+# @DESCRIPTION:
+# Echoes the directory where Qt6 mkspecs are installed.
+qt6_get_mkspecsdir() {
+	echo $(qt6_get_libdir)/qt6/mkspecs
+}
+
+# @FUNCTION: qt6_get_plugindir
+# @DESCRIPTION:
+# Echoes the directory where Qt6 plugins are installed.
+qt6_get_plugindir() {
+	echo $(qt6_get_libdir)/qt6/plugins
+}
+
 fi


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-11 17:26 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ messages in thread
From: Andreas Sturmlechner @ 2023-06-11 17:26 UTC (permalink / raw
  To: gentoo-commits

commit:     c2144b24df605180edb4026f159d710784e59ccf
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 11 17:25:09 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 11 17:25:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c2144b24

qmake-utils.eclass: Now serves both Qt (5 and 6)

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 eclass/qmake-utils.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/qmake-utils.eclass b/eclass/qmake-utils.eclass
index 8608212e1c54..98325d525c09 100644
--- a/eclass/qmake-utils.eclass
+++ b/eclass/qmake-utils.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: qmake-utils.eclass
@@ -9,7 +9,7 @@
 # @SUPPORTED_EAPIS: 7 8
 # @BLURB: Common functions for qmake-based packages.
 # @DESCRIPTION:
-# Utility eclass providing wrapper functions for Qt5 qmake.
+# Utility eclass providing wrapper functions for Qt6 qmake.
 #
 # This eclass does not set any metadata variables nor export any phase
 # functions. It can be inherited safely.


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-11 17:35 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ messages in thread
From: Andreas Sturmlechner @ 2023-06-11 17:35 UTC (permalink / raw
  To: gentoo-commits

commit:     844eff16165fe6b551f6dc5ba3f7c4cb6cc21cc3
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  4 16:18:12 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 11 17:34:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=844eff16

qmake-utils.eclass: Force QMAKE_*FLAGS_RELEASE_WITH_DEBUGINFO to blank

These variables are usually defined as:

    $ fgrep RELEASE_WITH_DEBUGINFO /usr/lib64/qt5/mkspecs/common/gcc-base.conf
    QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g
    QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
    QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO +=

They can take precedence over our provided flags, so they need to be
blanked out. They are normally only used when the user specifies
-force-debug-info, but sometimes upstreams enable this themselves.

Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 eclass/qmake-utils.eclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/eclass/qmake-utils.eclass b/eclass/qmake-utils.eclass
index 98325d525c09..051bb5c658ca 100644
--- a/eclass/qmake-utils.eclass
+++ b/eclass/qmake-utils.eclass
@@ -78,12 +78,15 @@ qt5_get_qmake_args() {
 		QMAKE_CFLAGS="${CFLAGS}"
 		QMAKE_CFLAGS_RELEASE=
 		QMAKE_CFLAGS_DEBUG=
+		QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO=
 		QMAKE_CXXFLAGS="${CXXFLAGS}"
 		QMAKE_CXXFLAGS_RELEASE=
 		QMAKE_CXXFLAGS_DEBUG=
+		QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO=
 		QMAKE_LFLAGS="${LDFLAGS}"
 		QMAKE_LFLAGS_RELEASE=
 		QMAKE_LFLAGS_DEBUG=
+		QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO=
 	EOF
 }
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-11 17:38 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ messages in thread
From: Andreas Sturmlechner @ 2023-06-11 17:38 UTC (permalink / raw
  To: gentoo-commits

commit:     eda25bbfc10e347c93bc6cddd9a683100b52d140
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 11 17:37:38 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 11 17:37:38 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eda25bbf

qmake-utils.eclass: Fix description

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 eclass/qmake-utils.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/qmake-utils.eclass b/eclass/qmake-utils.eclass
index 051bb5c658ca..88755ab7aa8a 100644
--- a/eclass/qmake-utils.eclass
+++ b/eclass/qmake-utils.eclass
@@ -9,7 +9,7 @@
 # @SUPPORTED_EAPIS: 7 8
 # @BLURB: Common functions for qmake-based packages.
 # @DESCRIPTION:
-# Utility eclass providing wrapper functions for Qt6 qmake.
+# Utility eclass providing wrapper functions for Qt qmake.
 #
 # This eclass does not set any metadata variables nor export any phase
 # functions. It can be inherited safely.


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-12 20:23 William Hubbs
  0 siblings, 0 replies; 5996+ messages in thread
From: William Hubbs @ 2023-06-12 20:23 UTC (permalink / raw
  To: gentoo-commits

commit:     45e7aecd81e0ceee1871e65c7018314e69881bf5
Author:     Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 12 11:22:57 2023 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Mon Jun 12 20:22:46 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=45e7aecd

go-module.eclass: inline _go-module_gomod_encode()

The only call site of _go-module_gomod_encode() was using $() in a loop
over EGO_SUM. This caused bash to fork() for every loop iteration, which
significantly affected the time it takes to "source" an ebuild using
EGO_SUM.

For example, "pkg pkg source =sys-cluster/k3s-1.23.3_p1" previously took
2.4 seconds. Inlining _go-module_gomod_encode() reduces this to
236 milliseconds.

This also adds missing 'local' declarations for some variables.

Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
Signed-off-by: William Hubbs <williamh <AT> gentoo.org>

 eclass/go-module.eclass | 44 ++++++++++++++++----------------------------
 1 file changed, 16 insertions(+), 28 deletions(-)

diff --git a/eclass/go-module.eclass b/eclass/go-module.eclass
index f97b69f591c8..6c58d7f26f07 100644
--- a/eclass/go-module.eclass
+++ b/eclass/go-module.eclass
@@ -262,7 +262,22 @@ go-module_set_globals() {
 			continue
 		fi
 
-		_dir=$(_go-module_gomod_encode "${module}")
+		# Encode the name(path) of a Golang module in the format expected by Goproxy.
+		# Upper letters are replaced by their lowercase version with a '!' prefix.
+		# The transformed result of 'module' is stored in the '_dir' variable.
+		#
+		## Python:
+		# return re.sub('([A-Z]{1})', r'!\1', s).lower()
+		## Sed:
+		## This uses GNU Sed extension \l to downcase the match
+		# echo "${module}" |sed 's,[A-Z],!\l&,g'
+		local re _dir lower
+		_dir="${module}"
+		re='(.*)([A-Z])(.*)'
+		while [[ ${_dir} =~ ${re} ]]; do
+			lower='!'"${BASH_REMATCH[2],}"
+			_dir="${BASH_REMATCH[1]}${lower}${BASH_REMATCH[3]}"
+		done
 
 		for _ext in "${exts[@]}" ; do
 			# Relative URI within a GOPROXY for a file
@@ -496,33 +511,6 @@ go-module_live_vendor() {
 	popd >& /dev/null || die
 }
 
-# @FUNCTION: _go-module_gomod_encode
-# @DEPRECATED: none
-# @DESCRIPTION:
-# Encode the name(path) of a Golang module in the format expected by Goproxy.
-#
-# Upper letters are replaced by their lowercase version with a '!' prefix.
-#
-_go-module_gomod_encode() {
-	## Python:
-	# return re.sub('([A-Z]{1})', r'!\1', s).lower()
-
-	## Sed:
-	## This uses GNU Sed extension \l to downcase the match
-	#echo "${module}" |sed 's,[A-Z],!\l&,g'
-	#
-	# Bash variant:
-	debug-print-function "${FUNCNAME}" "$@"
-	#local re input lower
-	re='(.*)([A-Z])(.*)'
-	input="${1}"
-	while [[ ${input} =~ ${re} ]]; do
-		lower='!'"${BASH_REMATCH[2],}"
-		input="${BASH_REMATCH[1]}${lower}${BASH_REMATCH[3]}"
-	done
-	echo "${input}"
-}
-
 fi
 
 if [[ ! ${GO_OPTIONAL} ]]; then


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-13  7:13 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ messages in thread
From: Andreas Sturmlechner @ 2023-06-13  7:13 UTC (permalink / raw
  To: gentoo-commits

commit:     d707b75e63eaf529e2188f316ae32aaba5b001bc
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 13 07:11:27 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jun 13 07:13:45 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d707b75e

kde.org.eclass: Fix Qt5PatchCollection matching to 5.15.*.9999

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 eclass/kde.org.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/kde.org.eclass b/eclass/kde.org.eclass
index 88040026ecae..c972c12ab8a5 100644
--- a/eclass/kde.org.eclass
+++ b/eclass/kde.org.eclass
@@ -161,7 +161,7 @@ case ${KDE_BUILD_TYPE} in
 		EGIT_MIRROR=${EGIT_MIRROR:=https://invent.kde.org/${KDE_ORG_CATEGORY}}
 		EGIT_REPO_URI="${EGIT_MIRROR}/${EGIT_REPONAME:=$KDE_ORG_NAME}.git"
 
-		if [[ ${PV} == 5.??.?.9999 && ${CATEGORY} == dev-qt ]]; then
+		if [[ ${PV} == 5.15.*.9999 && ${CATEGORY} == dev-qt ]]; then
 			EGIT_BRANCH="kde/$(ver_cut 1-2)"
 		fi
 		;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-13 12:14 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ messages in thread
From: Andreas Sturmlechner @ 2023-06-13 12:14 UTC (permalink / raw
  To: gentoo-commits

commit:     03a9f4e5516702df1a185f616b06f429dc9ad19f
Author:     Thomas Bettler <thomas.bettler <AT> gmail <DOT> com>
AuthorDate: Sun Jun 11 08:53:46 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jun 13 12:12:24 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03a9f4e5

qmake-utils.eclass: add qt6 support

Signed-off-by: Thomas Bettler <thomas.bettler <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/31254
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 eclass/qmake-utils.eclass | 59 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/eclass/qmake-utils.eclass b/eclass/qmake-utils.eclass
index 88755ab7aa8a..5c5fa8dcb047 100644
--- a/eclass/qmake-utils.eclass
+++ b/eclass/qmake-utils.eclass
@@ -155,4 +155,63 @@ qt6_get_plugindir() {
 	echo $(qt6_get_libdir)/qt6/plugins
 }
 
+# @FUNCTION: qt6_get_qmake_args
+# @DESCRIPTION:
+# Echoes a multi-line string containing arguments to pass to qmake.
+qt6_get_qmake_args() {
+	cat <<-EOF
+		QMAKE_AR="$(tc-getAR) cqs"
+		QMAKE_CC="$(tc-getCC)"
+		QMAKE_LINK_C="$(tc-getCC)"
+		QMAKE_LINK_C_SHLIB="$(tc-getCC)"
+		QMAKE_CXX="$(tc-getCXX)"
+		QMAKE_LINK="$(tc-getCXX)"
+		QMAKE_LINK_SHLIB="$(tc-getCXX)"
+		QMAKE_OBJCOPY="$(tc-getOBJCOPY)"
+		QMAKE_RANLIB=
+		QMAKE_STRIP=
+		QMAKE_CFLAGS="${CFLAGS}"
+		QMAKE_CFLAGS_RELEASE=
+		QMAKE_CFLAGS_DEBUG=
+		QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO=
+		QMAKE_CXXFLAGS="${CXXFLAGS}"
+		QMAKE_CXXFLAGS_RELEASE=
+		QMAKE_CXXFLAGS_DEBUG=
+		QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO=
+		QMAKE_LFLAGS="${LDFLAGS}"
+		QMAKE_LFLAGS_RELEASE=
+		QMAKE_LFLAGS_DEBUG=
+		QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO=
+	EOF
+}
+
+# @FUNCTION: eqmake6
+# @USAGE: [arguments for qmake]
+# @DESCRIPTION:
+# Wrapper for Qt6's qmake. All arguments are passed to qmake.
+#
+# For recursive build systems, i.e. those based on the subdirs template,
+# you should run eqmake6 on the top-level project file only, unless you
+# have a valid reason to do otherwise. During the building, qmake will
+# be automatically re-invoked with the right arguments on every directory
+# specified inside the top-level project file.
+eqmake6() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	ebegin "Running qmake"
+
+	local -a args
+	mapfile -t args <<<"$(qt6_get_qmake_args)"
+	# NB: we're passing literal quotes in but qmake doesn't seem to mind
+	"$(qt6_get_bindir)"/qmake -makefile "${args[@]}" "$@"
+
+	if ! eend $? ; then
+		echo
+		eerror "Running qmake has failed! (see above for details)"
+		eerror "This shouldn't happen - please send a bug report to https://bugs.gentoo.org/"
+		echo
+		die "eqmake6 failed"
+	fi
+}
+
 fi


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

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

commit:     c84d64b357a7f8eca3f309f8fc773e928f57cc52
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 13 05:55:34 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 12:19:26 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c84d64b3

pypi.eclass: Avoid subshell for extglob setting

Suggested by Eli Schwartz.  This gives roughly 5260 ops / s, over 550%
speedup.

The complete patch series therefore increases the speed from roughly
326 ops / s to 5260 ops / s, making the common case 16 times faster.

Closes: https://bugs.gentoo.org/908411
Closes: https://github.com/gentoo/gentoo/pull/31404
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/pypi.eclass | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index 8911628994eb..8a842c450ebc 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -71,10 +71,13 @@ _PYPI_ECLASS=1
 # via _PYPI_NORMALIZED_NAME variable.
 _pypi_normalize_name() {
 	local name=${1}
-	local shopt_save=$(shopt -p extglob)
-	shopt -s extglob
-	name=${name//+([._-])/_}
-	${shopt_save}
+	if shopt -p -q extglob; then
+		name=${name//+([._-])/_}
+	else
+		shopt -s extglob
+		name=${name//+([._-])/_}
+		shopt -u extglob
+	fi
 	_PYPI_NORMALIZED_NAME="${name,,}"
 }
 


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

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

commit:     9640490da48c35124a6f2e27c46931cf1db718f6
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 12 19:51:51 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 12:19:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9640490d

pypi.eclass: Replace pypi_sdist_url in global scope

Introduce an internal helper for _pypi_sdist_url that doesn't require
subshell, and therefore eliminate all subshells from global scope.
We're nearing 952 ops / s, further 39% speedup.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/pypi.eclass | 53 +++++++++++++++++++++++++++++++++--------------------
 1 file changed, 33 insertions(+), 20 deletions(-)

diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index 04fe5e51bcee..8911628994eb 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -124,6 +124,31 @@ pypi_translate_version() {
 	echo "${_PYPI_TRANSLATED_VERSION}"
 }
 
+# @FUNCTION: _pypi_sdist_url
+# @INTERNAL
+# @USAGE: [--no-normalize] [<project> [<version> [<suffix>]]]
+# @DESCRIPTION:
+# Internal sdist generated, returns the result via _PYPI_SDIST_URL
+# variable.
+_pypi_sdist_url() {
+	local normalize=1
+	if [[ ${1} == --no-normalize ]]; then
+		normalize=
+		shift
+	fi
+
+	if [[ ${#} -gt 3 ]]; then
+		die "Usage: ${FUNCNAME} [--no-normalize] <project> [<version> [<suffix>]]"
+	fi
+
+	local project=${1-"${PYPI_PN}"}
+	local version=${2-"$(pypi_translate_version "${PV}")"}
+	local suffix=${3-.tar.gz}
+	local _PYPI_NORMALIZED_NAME=${project}
+	[[ ${normalize} ]] && _pypi_normalize_name "${_PYPI_NORMALIZED_NAME}"
+	_PYPI_SDIST_URL="https://files.pythonhosted.org/packages/source/${project::1}/${project}/${_PYPI_NORMALIZED_NAME}-${version}${suffix}"
+}
+
 # @FUNCTION: pypi_sdist_url
 # @USAGE: [--no-normalize] [<project> [<version> [<suffix>]]]
 # @DESCRIPTION:
@@ -146,23 +171,9 @@ pypi_translate_version() {
 # If <format> is unspecified, it defaults to ".tar.gz".  Another valid
 # value is ".zip" (please remember to add a BDEPEND on app-arch/unzip).
 pypi_sdist_url() {
-	local normalize=1
-	if [[ ${1} == --no-normalize ]]; then
-		normalize=
-		shift
-	fi
-
-	if [[ ${#} -gt 3 ]]; then
-		die "Usage: ${FUNCNAME} [--no-normalize] <project> [<version> [<suffix>]]"
-	fi
-
-	local project=${1-"${PYPI_PN}"}
-	local version=${2-"$(pypi_translate_version "${PV}")"}
-	local suffix=${3-.tar.gz}
-	local _PYPI_NORMALIZED_NAME=${project}
-	[[ ${normalize} ]] && _pypi_normalize_name "${_PYPI_NORMALIZED_NAME}"
-	printf "https://files.pythonhosted.org/packages/source/%s" \
-		"${project::1}/${project}/${_PYPI_NORMALIZED_NAME}-${version}${suffix}"
+	local _PYPI_SDIST_URL
+	_pypi_sdist_url "${@}"
+	echo "${_PYPI_SDIST_URL}"
 }
 
 # @FUNCTION: pypi_wheel_name
@@ -249,18 +260,20 @@ pypi_wheel_url() {
 # @DESCRIPTION:
 # Set global variables, SRC_URI and S.
 _pypi_set_globals() {
-	local _PYPI_TRANSLATED_VERSION
+	local _PYPI_SDIST_URL _PYPI_TRANSLATED_VERSION
 	_pypi_translate_version "${PV}"
 
 	if [[ ${PYPI_NO_NORMALIZE} ]]; then
-		SRC_URI="$(pypi_sdist_url --no-normalize "${PYPI_PN}" "${_PYPI_TRANSLATED_VERSION}")"
+		_pypi_sdist_url --no-normalize "${PYPI_PN}" "${_PYPI_TRANSLATED_VERSION}"
 		S="${WORKDIR}/${PYPI_PN}-${_PYPI_TRANSLATED_VERSION}"
 	else
 		local _PYPI_NORMALIZED_NAME
 		_pypi_normalize_name "${PYPI_PN}"
-		SRC_URI="$(pypi_sdist_url "${PYPI_PN}" "${_PYPI_TRANSLATED_VERSION}")"
+		_pypi_sdist_url "${PYPI_PN}" "${_PYPI_TRANSLATED_VERSION}"
 		S="${WORKDIR}/${_PYPI_NORMALIZED_NAME}-${_PYPI_TRANSLATED_VERSION}"
 	fi
+
+	SRC_URI=${_PYPI_SDIST_URL}
 }
 
 _pypi_set_globals


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

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

commit:     ff4c2bbf52663cc7a233e2dbccdd33b193821168
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 12 19:26:19 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 12:19:23 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff4c2bbf

pypi.eclass: Translate version once in the default scenario

Instead of translating version two times, once in pypi_sdist_url
and then when setting S, do it once and store the result.  This gives
roughly 371 ops / s, i.e. a 13% speedup.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/pypi.eclass | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index 732b0c6184ef..a8a179d5a3a4 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -226,12 +226,14 @@ pypi_wheel_url() {
 # @DESCRIPTION:
 # Set global variables, SRC_URI and S.
 _pypi_set_globals() {
+	local version=$(pypi_translate_version "${PV}")
+
 	if [[ ${PYPI_NO_NORMALIZE} ]]; then
-		SRC_URI="$(pypi_sdist_url --no-normalize)"
-		S="${WORKDIR}/${PYPI_PN}-$(pypi_translate_version "${PV}")"
+		SRC_URI="$(pypi_sdist_url --no-normalize "${PYPI_PN}" "${version}")"
+		S="${WORKDIR}/${PYPI_PN}-${version}"
 	else
-		SRC_URI="$(pypi_sdist_url)"
-		S="${WORKDIR}/$(pypi_normalize_name "${PYPI_PN}")-$(pypi_translate_version "${PV}")"
+		SRC_URI="$(pypi_sdist_url "${PYPI_PN}" "${version}")"
+		S="${WORKDIR}/$(pypi_normalize_name "${PYPI_PN}")-${version}"
 	fi
 }
 


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

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

commit:     87807b72eb990e9f9dd8b768c1b9ea0d054a0118
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 12 19:23:41 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 12:19:21 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87807b72

pypi.eclass: Move setting globals to a function

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/pypi.eclass | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index 13dd56fa4fec..732b0c6184ef 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -221,12 +221,20 @@ pypi_wheel_url() {
 	fi
 }
 
-if [[ ${PYPI_NO_NORMALIZE} ]]; then
-	SRC_URI="$(pypi_sdist_url --no-normalize)"
-	S="${WORKDIR}/${PYPI_PN}-$(pypi_translate_version "${PV}")"
-else
-	SRC_URI="$(pypi_sdist_url)"
-	S="${WORKDIR}/$(pypi_normalize_name "${PYPI_PN}")-$(pypi_translate_version "${PV}")"
-fi
+# @FUNCTION: _pypi_set_globals
+# @INTERNAL
+# @DESCRIPTION:
+# Set global variables, SRC_URI and S.
+_pypi_set_globals() {
+	if [[ ${PYPI_NO_NORMALIZE} ]]; then
+		SRC_URI="$(pypi_sdist_url --no-normalize)"
+		S="${WORKDIR}/${PYPI_PN}-$(pypi_translate_version "${PV}")"
+	else
+		SRC_URI="$(pypi_sdist_url)"
+		S="${WORKDIR}/$(pypi_normalize_name "${PYPI_PN}")-$(pypi_translate_version "${PV}")"
+	fi
+}
+
+_pypi_set_globals
 
 fi


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

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

commit:     78cb7a0709eea188d764b9ac77d120414e07e7b5
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 12 19:41:31 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 12:19:24 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78cb7a07

pypi.eclass: Translate version without subshell in common case

Provide an internal helper to translate versions without a subshell,
and use it in the common case.  Now the benchmark gives 685 ops / s,
which means it's another 28% speedup.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/pypi.eclass | 33 ++++++++++++++++++++++-----------
 1 file changed, 22 insertions(+), 11 deletions(-)

diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index d79e6f06fc1b..04fe5e51bcee 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -95,6 +95,19 @@ pypi_normalize_name() {
 	echo "${_PYPI_NORMALIZED_NAME}"
 }
 
+# @FUNCTION: _pypi_translate_version
+# @USAGE: <version>
+# @DESCRIPTION:
+# Internal version translation function, returns the result
+# via _PYPI_TRANSLATED_VERSION variable.
+_pypi_translate_version() {
+	local version=${1}
+	version=${version/_alpha/a}
+	version=${version/_beta/b}
+	version=${version/_rc/rc}
+	_PYPI_TRANSLATED_VERSION=${version/_p/.post}
+}
+
 # @FUNCTION: pypi_translate_version
 # @USAGE: <version>
 # @DESCRIPTION:
@@ -106,12 +119,9 @@ pypi_normalize_name() {
 pypi_translate_version() {
 	[[ ${#} -ne 1 ]] && die "Usage: ${FUNCNAME} <version>"
 
-	local version=${1}
-	version=${version/_alpha/a}
-	version=${version/_beta/b}
-	version=${version/_rc/rc}
-	version=${version/_p/.post}
-	echo "${version}"
+	local _PYPI_TRANSLATED_VERSION
+	_pypi_translate_version "${@}"
+	echo "${_PYPI_TRANSLATED_VERSION}"
 }
 
 # @FUNCTION: pypi_sdist_url
@@ -239,16 +249,17 @@ pypi_wheel_url() {
 # @DESCRIPTION:
 # Set global variables, SRC_URI and S.
 _pypi_set_globals() {
-	local version=$(pypi_translate_version "${PV}")
+	local _PYPI_TRANSLATED_VERSION
+	_pypi_translate_version "${PV}"
 
 	if [[ ${PYPI_NO_NORMALIZE} ]]; then
-		SRC_URI="$(pypi_sdist_url --no-normalize "${PYPI_PN}" "${version}")"
-		S="${WORKDIR}/${PYPI_PN}-${version}"
+		SRC_URI="$(pypi_sdist_url --no-normalize "${PYPI_PN}" "${_PYPI_TRANSLATED_VERSION}")"
+		S="${WORKDIR}/${PYPI_PN}-${_PYPI_TRANSLATED_VERSION}"
 	else
 		local _PYPI_NORMALIZED_NAME
 		_pypi_normalize_name "${PYPI_PN}"
-		SRC_URI="$(pypi_sdist_url "${PYPI_PN}" "${version}")"
-		S="${WORKDIR}/${_PYPI_NORMALIZED_NAME}-${version}"
+		SRC_URI="$(pypi_sdist_url "${PYPI_PN}" "${_PYPI_TRANSLATED_VERSION}")"
+		S="${WORKDIR}/${_PYPI_NORMALIZED_NAME}-${_PYPI_TRANSLATED_VERSION}"
 	fi
 }
 


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

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

commit:     acba55d412d48f9d93147b185874f186dbd6cb22
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 12 19:31:43 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 12:19:23 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=acba55d4

pypi.eclass: Normalize names without subshell

Provide an internal helper to normalize names without a subshell.
This gives 535 ops / s, so a further 44% speedup.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/pypi.eclass | 39 +++++++++++++++++++++++++++------------
 1 file changed, 27 insertions(+), 12 deletions(-)

diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index a8a179d5a3a4..d79e6f06fc1b 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -63,6 +63,21 @@ _PYPI_ECLASS=1
 # @CODE
 : "${PYPI_PN:=${PN}}"
 
+# @FUNCTION: _pypi_normalize_name
+# @INTERNAL
+# @USAGE: <name>
+# @DESCRIPTION:
+# Internal normalization function, returns the result
+# via _PYPI_NORMALIZED_NAME variable.
+_pypi_normalize_name() {
+	local name=${1}
+	local shopt_save=$(shopt -p extglob)
+	shopt -s extglob
+	name=${name//+([._-])/_}
+	${shopt_save}
+	_PYPI_NORMALIZED_NAME="${name,,}"
+}
+
 # @FUNCTION: pypi_normalize_name
 # @USAGE: <name>
 # @DESCRIPTION:
@@ -75,12 +90,9 @@ _PYPI_ECLASS=1
 pypi_normalize_name() {
 	[[ ${#} -ne 1 ]] && die "Usage: ${FUNCNAME} <name>"
 
-	local name=${1}
-	local shopt_save=$(shopt -p extglob)
-	shopt -s extglob
-	name=${name//+([._-])/_}
-	${shopt_save}
-	echo "${name,,}"
+	local _PYPI_NORMALIZED_NAME
+	_pypi_normalize_name "${@}"
+	echo "${_PYPI_NORMALIZED_NAME}"
 }
 
 # @FUNCTION: pypi_translate_version
@@ -137,10 +149,10 @@ pypi_sdist_url() {
 	local project=${1-"${PYPI_PN}"}
 	local version=${2-"$(pypi_translate_version "${PV}")"}
 	local suffix=${3-.tar.gz}
-	local fn_project=${project}
-	[[ ${normalize} ]] && fn_project=$(pypi_normalize_name "${project}")
+	local _PYPI_NORMALIZED_NAME=${project}
+	[[ ${normalize} ]] && _pypi_normalize_name "${_PYPI_NORMALIZED_NAME}"
 	printf "https://files.pythonhosted.org/packages/source/%s" \
-		"${project::1}/${project}/${fn_project}-${version}${suffix}"
+		"${project::1}/${project}/${_PYPI_NORMALIZED_NAME}-${version}${suffix}"
 }
 
 # @FUNCTION: pypi_wheel_name
@@ -167,11 +179,12 @@ pypi_wheel_name() {
 		die "Usage: ${FUNCNAME} <project> [<version> [<python-tag> [<abi-platform-tag>]]]"
 	fi
 
-	local project=$(pypi_normalize_name "${1-"${PYPI_PN}"}")
+	local _PYPI_NORMALIZED_NAME
+	_pypi_normalize_name "${1:-"${PYPI_PN}"}"
 	local version=${2-"$(pypi_translate_version "${PV}")"}
 	local pytag=${3-py3}
 	local abitag=${4-none-any}
-	echo "${project}-${version}-${pytag}-${abitag}.whl"
+	echo "${_PYPI_NORMALIZED_NAME}-${version}-${pytag}-${abitag}.whl"
 }
 
 # @FUNCTION: pypi_wheel_url
@@ -232,8 +245,10 @@ _pypi_set_globals() {
 		SRC_URI="$(pypi_sdist_url --no-normalize "${PYPI_PN}" "${version}")"
 		S="${WORKDIR}/${PYPI_PN}-${version}"
 	else
+		local _PYPI_NORMALIZED_NAME
+		_pypi_normalize_name "${PYPI_PN}"
 		SRC_URI="$(pypi_sdist_url "${PYPI_PN}" "${version}")"
-		S="${WORKDIR}/$(pypi_normalize_name "${PYPI_PN}")-${version}"
+		S="${WORKDIR}/${_PYPI_NORMALIZED_NAME}-${version}"
 	fi
 }
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 14:05 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-06-15 14:05 UTC (permalink / raw
  To: gentoo-commits

commit:     9086424ffbff379766f4d482aa2eb17642c040e3
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 14:05:10 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 14:05:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9086424f

kernel-build.eclass: Enable py3.12

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 da215a055a46..020557497ddc 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_{8..11} )
+PYTHON_COMPAT=( python3_{10..12} )
 
 inherit multiprocessing python-any-r1 savedconfig toolchain-funcs kernel-install
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 21:14 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 21:14 UTC (permalink / raw
  To: gentoo-commits

commit:     0bb6c7f95645b618832dea16ef2d1ecdfb5ad0ed
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 13 21:49:57 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 21:12:14 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0bb6c7f9

ruby-ng.eclass: optimize: use pattern for old ruby impls

Not much improvement on a grand scale, but for dev-ruby/sinatra at least, we get:
```
$ pk pkg source $(pkg) --repo ~/g/ --bench 5s # before
dev-ruby/sinatra-3.0.5::/home/sam/g/: mean: 76.25ms, min: 59.23ms, max: 83.674ms, σ = 4.247ms, N = 66
dev-ruby/sinatra-3.0.5-r1::/home/sam/g/: mean: 77.465ms, min: 61.782ms, max: 85.127ms, σ = 3.592ms, N = 65
dev-ruby/sinatra-3.0.6::/home/sam/g/: mean: 80.192ms, min: 60.922ms, max: 84.951ms, σ = 3.899ms, N = 63
dev-ruby/sinatra-2.2.3::/home/sam/g/: mean: 80.389ms, min: 56.818ms, max: 86.915ms, σ = 4.508ms, N = 63

$ pk pkg source $(pkg) --repo ~/g/ --bench 5s # after
dev-ruby/sinatra-3.0.6::/home/sam/g/: mean: 72.761ms, min: 58.627ms, max: 76.161ms, σ = 3.276ms, N = 69
dev-ruby/sinatra-3.0.5-r1::/home/sam/g/: mean: 72.967ms, min: 60.127ms, max: 76.75ms, σ = 3.176ms, N = 69
dev-ruby/sinatra-3.0.5::/home/sam/g/: mean: 69.004ms, min: 58.344ms, max: 73.661ms, σ = 3.3ms, N = 73
dev-ruby/sinatra-2.2.3::/home/sam/g/: mean: 71.061ms, min: 55.144ms, max: 74.563ms, σ = 3.848ms, N = 71
```

A tiny, but seemingly consistent improvement.

Thanks to mgorny for the idea.

Bug: https://bugs.gentoo.org/908465
Signed-off-by: Sam James <sam <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 8befa086ef02..5a6edb1bf608 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -107,7 +107,7 @@ _ruby_get_all_impls() {
 	for i in ${USE_RUBY}; do
 		case ${i} in
 			# removed implementations
-			ruby19|ruby20|ruby21|ruby22|ruby23|ruby24|ruby25|ruby26|ruby27|jruby)
+			ruby19|ruby2[0-7]|jruby)
 				;;
 			*)
 				found_valid_impl=1


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 21:14 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 21:14 UTC (permalink / raw
  To: gentoo-commits

commit:     f740ce9defe9cebbbebb9958f740219da15afa54
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 13 22:17:13 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 21:12:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f740ce9d

ruby-ng.eclass: drop no-op RDEPEND assignment

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/ruby-ng.eclass | 1 -
 1 file changed, 1 deletion(-)

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index f10c987ac44a..3269ed52cafe 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -280,7 +280,6 @@ ruby_add_bdepend() {
 		6) DEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}" ;;
 		*) BDEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}" ;;
 	esac
-	RDEPEND="${RDEPEND}"
 }
 
 # @FUNCTION: ruby_add_depend


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 21:14 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 21:14 UTC (permalink / raw
  To: gentoo-commits

commit:     778555f772abf82743b1ee48ffc90df2eb96de66
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 13 22:15:40 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 21:12:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=778555f7

ruby-ng.eclass: use bash tests

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/ruby-ng.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index b20c3b462915..f10c987ac44a 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -392,7 +392,7 @@ fi
 
 _ruby_invoke_environment() {
 	old_S=${S}
-	if [ -z "${RUBY_S}" ]; then
+	if [[ -z ${RUBY_S} ]]; then
 		sub_S=${P}
 	else
 		sub_S=${RUBY_S}
@@ -728,7 +728,7 @@ ruby-ng_rspec() {
 
 	# Explicitly pass the expected spec directory since the versioned
 	# rspec wrappers don't handle this automatically.
-	if [ ${#@} -eq 0 ]; then
+	if [[ $# -eq 0 ]]; then
 		files="spec"
 	fi
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 21:14 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 21:14 UTC (permalink / raw
  To: gentoo-commits

commit:     5f7ad4a0e3ddd944c094ebc9719fdd5982ea76f6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 14 21:38:12 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 21:13:50 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f7ad4a0

ruby-ng.eclass: add _ruby_get_use_targets comment

I don't see us adding a non-ruby* target any time soon so this should be fine.

Closes: https://github.com/gentoo/gentoo/pull/31428
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/ruby-ng.eclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 2f14c22ace37..5cea44101593 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -105,6 +105,8 @@ ruby_implementation_depend() {
 _ruby_get_all_impls() {
 	_RUBY_GET_ALL_IMPLS=()
 
+	# XXX: Please update _ruby_get_use_targets if adding a non-'ruby*'
+	# target.
 	local i found_valid_impl
 	for i in ${USE_RUBY}; do
 		case ${i} in
@@ -350,6 +352,7 @@ _ruby_get_use_targets() {
 	_ruby_set_globals_invalidate_if_stale
 
 	local impls="${_RUBY_GET_ALL_IMPLS[@]}"
+	# XXX: This assumes all targets begin with 'ruby'.
 	_RUBY_GET_USE_TARGETS="${impls//ruby/ruby_targets_ruby}"
 }
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 21:14 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 21:14 UTC (permalink / raw
  To: gentoo-commits

commit:     52885a31b20f6af327ccefaa62ce74877b9b687d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 14 00:11:43 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 21:12:20 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52885a31

ruby-ng.eclass: cater to USE_RUBY conditional calls

Packages may try to restrict their test dependencies to ease bootstrapping/porting
if they're not yet available for a newer Ruby implementation by setting
USE_RUBY="<some subset of original USE_RUBY>" ruby_add_bdepend ...

For example, dev-ruby/parallel does:
```
 # Rails isn't yet ruby32-ready in Gentoo
 USE_RUBY="ruby27 ruby30 ruby31" ruby_add_bdepend "
         test? ( dev-ruby/activerecord[sqlite] )
```

This isn't ideal, but we don't have a ruby_gen_cond_dep right now, so
cater to this usecase by invalidating the caches we've previously added
if we've detected USE_RUBY changed.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/ruby-ng.eclass | 40 ++++++++++++++++++++++++++++++++++++----
 1 file changed, 36 insertions(+), 4 deletions(-)

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 3269ed52cafe..14f4414337d6 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -102,8 +102,9 @@ ruby_implementation_depend() {
 # @DESCRIPTION:
 # Return a list of valid implementations in USE_RUBY, skipping the old
 # implementations that are no longer supported.
-_RUBY_GET_ALL_IMPLS=()
 _ruby_get_all_impls() {
+	_RUBY_GET_ALL_IMPLS=()
+
 	local i found_valid_impl
 	for i in ${USE_RUBY}; do
 		case ${i} in
@@ -132,6 +133,8 @@ _ruby_get_all_impls() {
 ruby_samelib() {
 	debug-print-function ${FUNCNAME} "${@}"
 
+	_ruby_set_globals_invalidate_if_stale
+
 	local res=
 	for _ruby_implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
 		has -${_ruby_implementation} $@ || \
@@ -176,6 +179,7 @@ _ruby_atoms_samelib() {
 	atoms+=" ) "
 	eshopts_pop
 
+	_ruby_set_globals_invalidate_if_stale
 	local _ruby_implementation
 	for _ruby_implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
 		_RUBY_ATOMS_SAMELIB_RESULT+="${atoms//RUBYTARGET/ruby_targets_${_ruby_implementation}}"
@@ -227,6 +231,7 @@ ruby_add_rdepend() {
 			;;
 	esac
 
+	_ruby_set_globals_invalidate_if_stale
 	_ruby_atoms_samelib "$1"
 
 	RDEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}"
@@ -274,6 +279,7 @@ ruby_add_bdepend() {
 			;;
 	esac
 
+	_ruby_set_globals_invalidate_if_stale
 	_ruby_atoms_samelib "$1"
 
 	case ${EAPI} in
@@ -300,6 +306,7 @@ ruby_add_depend() {
 		*) die "bad number of arguments to $0" ;;
 	esac
 
+	_ruby_set_globals_invalidate_if_stale
 	_ruby_atoms_samelib "$1"
 
 	DEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}"
@@ -311,6 +318,8 @@ ruby_add_depend() {
 ruby_get_use_implementations() {
 	debug-print-function ${FUNCNAME} "${@}"
 
+	_ruby_set_globals_invalidate_if_stale
+
 	local i implementation
 	for implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
 		use ruby_targets_${implementation} && i+=" ${implementation}"
@@ -324,6 +333,7 @@ ruby_get_use_implementations() {
 ruby_get_use_targets() {
 	debug-print-function ${FUNCNAME} "${@}"
 
+	_ruby_set_globals_invalidate_if_stale
 	_ruby_get_use_targets
 	echo "${_RUBY_GET_USE_TARGETS}"
 }
@@ -336,6 +346,8 @@ _RUBY_GET_USE_TARGETS=""
 _ruby_get_use_targets() {
 	debug-print-function ${FUNCNAME} "${@}"
 
+	_ruby_set_globals_invalidate_if_stale
+
 	local impls="${_RUBY_GET_ALL_IMPLS[@]}"
 	_RUBY_GET_USE_TARGETS="${impls//ruby/ruby_targets_ruby}"
 }
@@ -360,11 +372,14 @@ _RUBY_IMPLEMENTATIONS_DEPEND=""
 ruby_implementations_depend() {
 	debug-print-function ${FUNCNAME} "${@}"
 
+	_ruby_set_globals_invalidate_if_stale
 	_ruby_implementations_depend
 	echo "${_RUBY_IMPLEMENTATIONS_DEPEND}"
 }
 
 _ruby_implementations_depend() {
+	_ruby_set_globals_invalidate_if_stale
+
 	local depend _ruby_implementation
 	for _ruby_implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
 		depend="${depend}${depend+ }ruby_targets_${_ruby_implementation}? ( $(ruby_implementation_depend $_ruby_implementation) )"
@@ -372,9 +387,24 @@ _ruby_implementations_depend() {
 	_RUBY_IMPLEMENTATIONS_DEPEND="${depend}"
 }
 
-_ruby_get_all_impls
-_ruby_get_use_targets
-_ruby_implementations_depend
+_ruby_set_globals() {
+	_RUBY_SET_GLOBALS_USE_RUBY="${USE_RUBY}"
+	_ruby_get_all_impls
+	_ruby_get_use_targets
+	_ruby_implementations_depend
+}
+
+_ruby_set_globals_invalidate_if_stale() {
+	# Packages may try to restrict their test dependencies to ease bootstrapping/porting
+	# if they're not yet available for a newer Ruby implementation by setting
+	# USE_RUBY="<some subset of original USE_RUBY>" ruby_add_bdepend ...
+	if [[ ${_RUBY_SET_GLOBALS_USE_RUBY} != ${USE_RUBY} && -z ${_RUBY_SET_GLOBALS_INVALIDATING} ]] ; then
+		local _RUBY_SET_GLOBALS_INVALIDATING=1
+		_ruby_set_globals
+	fi
+}
+
+_ruby_set_globals
 
 IUSE+=" ${_RUBY_GET_USE_TARGETS}"
 # If you specify RUBY_OPTIONAL you also need to take care of
@@ -434,6 +464,8 @@ _ruby_invoke_environment() {
 }
 
 _ruby_each_implementation() {
+	_ruby_set_globals_invalidate_if_stale
+
 	local invoked=no
 	for _ruby_implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
 		# only proceed if it's requested


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 21:14 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 21:14 UTC (permalink / raw
  To: gentoo-commits

commit:     acf925859631ce5a5867d27244665c623fa1ad99
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 13 22:15:10 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 21:12:18 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=acf92585

ruby-ng.eclass: use bash +=

Easier to read.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/ruby-ng.eclass | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 6c5666ddeabb..b20c3b462915 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -229,13 +229,13 @@ ruby_add_rdepend() {
 
 	_ruby_atoms_samelib "$1"
 
-	RDEPEND="${RDEPEND} ${_RUBY_ATOMS_SAMELIB_RESULT}"
+	RDEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}"
 
 	# Add the dependency as a test-dependency since we're going to
 	# execute the code during test phase.
 	case ${EAPI} in
-		6) DEPEND="${DEPEND} test? ( ${_RUBY_ATOMS_SAMELIB_RESULT} )" ;;
-		*) BDEPEND="${BDEPEND} test? ( ${_RUBY_ATOMS_SAMELIB_RESULT} )" ;;
+		6) DEPEND+=" test? ( ${_RUBY_ATOMS_SAMELIB_RESULT} )" ;;
+		*) BDEPEND+=" test? ( ${_RUBY_ATOMS_SAMELIB_RESULT} )" ;;
 	esac
 	if ! has test "$IUSE"; then
 		IUSE+=" test"
@@ -277,8 +277,8 @@ ruby_add_bdepend() {
 	_ruby_atoms_samelib "$1"
 
 	case ${EAPI} in
-		6) DEPEND="${DEPEND} ${_RUBY_ATOMS_SAMELIB_RESULT}" ;;
-		*) BDEPEND="${BDEPEND} ${_RUBY_ATOMS_SAMELIB_RESULT}" ;;
+		6) DEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}" ;;
+		*) BDEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}" ;;
 	esac
 	RDEPEND="${RDEPEND}"
 }
@@ -303,7 +303,7 @@ ruby_add_depend() {
 
 	_ruby_atoms_samelib "$1"
 
-	DEPEND="${DEPEND} ${_RUBY_ATOMS_SAMELIB_RESULT}"
+	DEPEND+=" ${_RUBY_ATOMS_SAMELIB_RESULT}"
 }
 
 # @FUNCTION: ruby_get_use_implementations
@@ -381,12 +381,12 @@ IUSE+=" ${_RUBY_GET_USE_TARGETS}"
 # If you specify RUBY_OPTIONAL you also need to take care of
 # ruby useflag and dependency.
 if [[ ${RUBY_OPTIONAL} != yes ]]; then
-	DEPEND="${DEPEND} ${_RUBY_IMPLEMENTATIONS_DEPEND}"
-	RDEPEND="${RDEPEND} ${_RUBY_IMPLEMENTATIONS_DEPEND}"
+	DEPEND+=" ${_RUBY_IMPLEMENTATIONS_DEPEND}"
+	RDEPEND+=" ${_RUBY_IMPLEMENTATIONS_DEPEND}"
 	REQUIRED_USE+=" || ( ${_RUBY_GET_USE_TARGETS} )"
 	case ${EAPI} in
 		6) ;;
-		*) BDEPEND="${BDEPEND} ${_RUBY_IMPLEMENTATIONS_DEPEND}" ;;
+		*) BDEPEND+=" ${_RUBY_IMPLEMENTATIONS_DEPEND}" ;;
 	esac
 fi
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 21:14 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 21:14 UTC (permalink / raw
  To: gentoo-commits

commit:     89925fc4e6d343ce6f7ca36bc288ba7b62d1193e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 13 21:52:12 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 21:12:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89925fc4

ruby-ng.eclass: optimize: use pattern substitution

We can save a little bit (consistently a few ms) by using patsubs in some
obvious cases.

Not really any difference globally, but for sinatra:
```
$ pk pkg source $(pkg) --repo ~/g/ --bench 5s # before
dev-ruby/sinatra-3.0.5::/home/sam/g/: mean: 76.25ms, min: 59.23ms, max: 83.674ms, σ = 4.247ms, N = 66
dev-ruby/sinatra-3.0.5-r1::/home/sam/g/: mean: 77.465ms, min: 61.782ms, max: 85.127ms, σ = 3.592ms, N = 65
dev-ruby/sinatra-3.0.6::/home/sam/g/: mean: 80.192ms, min: 60.922ms, max: 84.951ms, σ = 3.899ms, N = 63
dev-ruby/sinatra-2.2.3::/home/sam/g/: mean: 80.389ms, min: 56.818ms, max: 86.915ms, σ = 4.508ms, N = 63

$ pk pkg source $(pkg) --repo ~/g/ --bench 5s # after
dev-ruby/sinatra-2.2.3::/home/sam/g/: mean: 66.68ms, min: 56.938ms, max: 74.248ms, σ = 4.832ms, N = 75
dev-ruby/sinatra-3.0.6::/home/sam/g/: mean: 73.618ms, min: 60.153ms, max: 77.978ms, σ = 3.195ms, N = 68
dev-ruby/sinatra-3.0.5::/home/sam/g/: mean: 72.069ms, min: 58.736ms, max: 78.223ms, σ = 3.277ms, N = 70
dev-ruby/sinatra-3.0.5-r1::/home/sam/g/: mean: 73.265ms, min: 60.738ms, max: 81.06ms, σ = 3.227ms, N = 69
```

Bug: https://bugs.gentoo.org/908465
Signed-off-by: Sam James <sam <AT> gentoo.org>

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

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 5a6edb1bf608..2bf1885d3803 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -183,11 +183,11 @@ _ruby_wrap_conditions() {
 	local conditions="$1"
 	local atoms="$2"
 
-	for condition in $conditions; do
+	for condition in ${conditions}; do
 		atoms="${condition}? ( ${atoms} )"
 	done
 
-	echo "$atoms"
+	echo "${atoms}"
 }
 
 # @FUNCTION: ruby_add_rdepend
@@ -322,11 +322,9 @@ ruby_get_use_implementations() {
 ruby_get_use_targets() {
 	debug-print-function ${FUNCNAME} "${@}"
 
-	local t implementation
-	for implementation in $(_ruby_get_all_impls); do
-		t+=" ruby_targets_${implementation}"
-	done
-	echo $t
+
+	local impls="$(_ruby_get_all_impls)"
+	echo "${impls//ruby/ruby_targets_ruby}"
 }
 
 # @FUNCTION: ruby_implementations_depend


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 21:14 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 21:14 UTC (permalink / raw
  To: gentoo-commits

commit:     8478835a7fc4226bcbf6c79475e1ba6d41d42298
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 14 20:47:35 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 21:13:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8478835a

ruby-ng.eclass: use shopt directly, not via estack.eclass

ulm points out that estack.eclass is particularly inefficient (although
it'll get slightly better once https://github.com/gentoo/gentoo/pull/31437
is fixed).

Let's just manually roll it like llvm.eclass does.

Bug: https://bugs.gentoo.org/908465
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/ruby-ng.eclass | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 14f4414337d6..2f14c22ace37 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -75,7 +75,7 @@ if [[ -z ${_RUBY_NG_ECLASS} ]]; then
 _RUBY_NG_ECLASS=1
 
 [[ ${EAPI} == 6 ]] && inherit eqawarn toolchain-funcs
-inherit estack multilib ruby-utils
+inherit multilib ruby-utils
 
 # S is no longer automatically assigned when it doesn't exist.
 S="${WORKDIR}"
@@ -163,7 +163,8 @@ _RUBY_ATOMS_SAMELIB_RESULT=""
 _ruby_atoms_samelib() {
 	_RUBY_ATOMS_SAMELIB_RESULT=""
 
-	eshopts_push -o noglob
+	local shopt_save=$(shopt -p -o noglob)
+	set -f
 	local token
 	local atoms=" RUBYTARGET? ("
 	for token in $*; do
@@ -177,7 +178,7 @@ _ruby_atoms_samelib() {
 		esac
 	done
 	atoms+=" ) "
-	eshopts_pop
+	${shopt_save}
 
 	_ruby_set_globals_invalidate_if_stale
 	local _ruby_implementation


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 21:14 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 21:14 UTC (permalink / raw
  To: gentoo-commits

commit:     48a0a44098b5cdfbceaf37305b7e9eac65748cd0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 13 22:01:11 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 21:12:17 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48a0a440

ruby-ng.eclass: optimize: avoid subshells for ruby_implementations_depend, ruby_get_use_targets

We go from 2.5s -> 1.9s to source dev-ruby/*.

Bug: https://bugs.gentoo.org/908465
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/ruby-ng.eclass | 36 ++++++++++++++++++++++++++++--------
 1 file changed, 28 insertions(+), 8 deletions(-)

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index cf66fcec2f05..6c5666ddeabb 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -325,9 +325,20 @@ ruby_get_use_implementations() {
 ruby_get_use_targets() {
 	debug-print-function ${FUNCNAME} "${@}"
 
-	_ruby_get_all_impls
+	_ruby_get_use_targets
+	echo "${_RUBY_GET_USE_TARGETS}"
+}
+
+# @FUNCTION: _ruby_get_use_targets
+# @INTERNAL
+# @DESCRIPTION:
+# Gets an array of ruby use targets that the ebuild sets
+_RUBY_GET_USE_TARGETS=""
+_ruby_get_use_targets() {
+	debug-print-function ${FUNCNAME} "${@}"
+
 	local impls="${_RUBY_GET_ALL_IMPLS[@]}"
-	echo "${impls//ruby/ruby_targets_ruby}"
+	_RUBY_GET_USE_TARGETS="${impls//ruby/ruby_targets_ruby}"
 }
 
 # @FUNCTION: ruby_implementations_depend
@@ -346,27 +357,36 @@ ruby_get_use_targets() {
 # ...
 # DEPEND="ruby? ( $(ruby_implementations_depend) )"
 # RDEPEND="${DEPEND}"
+_RUBY_IMPLEMENTATIONS_DEPEND=""
 ruby_implementations_depend() {
 	debug-print-function ${FUNCNAME} "${@}"
 
+	_ruby_implementations_depend
+	echo "${_RUBY_IMPLEMENTATIONS_DEPEND}"
+}
+
+_ruby_implementations_depend() {
+	local depend _ruby_implementation
 	for _ruby_implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
 		depend="${depend}${depend+ }ruby_targets_${_ruby_implementation}? ( $(ruby_implementation_depend $_ruby_implementation) )"
 	done
-	echo "${depend}"
+	_RUBY_IMPLEMENTATIONS_DEPEND="${depend}"
 }
 
 _ruby_get_all_impls
+_ruby_get_use_targets
+_ruby_implementations_depend
 
-IUSE+=" $(ruby_get_use_targets)"
+IUSE+=" ${_RUBY_GET_USE_TARGETS}"
 # If you specify RUBY_OPTIONAL you also need to take care of
 # ruby useflag and dependency.
 if [[ ${RUBY_OPTIONAL} != yes ]]; then
-	DEPEND="${DEPEND} $(ruby_implementations_depend)"
-	RDEPEND="${RDEPEND} $(ruby_implementations_depend)"
-	REQUIRED_USE+=" || ( $(ruby_get_use_targets) )"
+	DEPEND="${DEPEND} ${_RUBY_IMPLEMENTATIONS_DEPEND}"
+	RDEPEND="${RDEPEND} ${_RUBY_IMPLEMENTATIONS_DEPEND}"
+	REQUIRED_USE+=" || ( ${_RUBY_GET_USE_TARGETS} )"
 	case ${EAPI} in
 		6) ;;
-		*) BDEPEND="${BDEPEND} $(ruby_implementations_depend)" ;;
+		*) BDEPEND="${BDEPEND} ${_RUBY_IMPLEMENTATIONS_DEPEND}" ;;
 	esac
 fi
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 21:14 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 21:14 UTC (permalink / raw
  To: gentoo-commits

commit:     676e6dc3f4a921d4fcb1e320e7d0562e2ef08856
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 13 21:59:47 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 21:12:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=676e6dc3

ruby-ng.eclass: optimize: avoid subshells for _ruby_atoms_samelib*

- Inline ruby_atoms_samelib (only used by one caller)
- Avoid repeated (subshell) calls to _ruby_atoms_samelib_generic by using a result
  variable instead.

We go from 3.5s -> 2.5s to source dev-ruby/*.

Thanks to mgorny for the ideas here.

Bug: https://bugs.gentoo.org/908465
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/ruby-ng.eclass | 57 ++++++++++++++++++++++++++-------------------------
 1 file changed, 29 insertions(+), 28 deletions(-)

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index ee2e6b89edb4..cf66fcec2f05 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -141,23 +141,6 @@ ruby_samelib() {
 	echo "[${res%,}]"
 }
 
-_ruby_atoms_samelib_generic() {
-	eshopts_push -o noglob
-	echo "RUBYTARGET? ("
-	for token in $*; do
-		case "$token" in
-			"||" | "(" | ")" | *"?")
-				echo "${token}" ;;
-			*])
-				echo "${token%[*}[RUBYTARGET(-),${token/*[}" ;;
-			*)
-				echo "${token}[RUBYTARGET(-)]" ;;
-		esac
-	done
-	echo ")"
-	eshopts_pop
-}
-
 # @FUNCTION: ruby_implementation_command
 # @RETURN: the path to the given ruby implementation
 # @DESCRIPTION:
@@ -173,11 +156,29 @@ ruby_implementation_command() {
 	echo $(type -p ${_ruby_name} 2>/dev/null)
 }
 
+_RUBY_ATOMS_SAMELIB_RESULT=""
 _ruby_atoms_samelib() {
-	local atoms=$(_ruby_atoms_samelib_generic "$*")
+	_RUBY_ATOMS_SAMELIB_RESULT=""
+
+	eshopts_push -o noglob
+	local token
+	local atoms=" RUBYTARGET? ("
+	for token in $*; do
+		case "${token}" in
+			"||" | "(" | ")" | *"?")
+				atoms+=" ${token}" ;;
+			*])
+				atoms+=" ${token%[*}[RUBYTARGET(-),${token/*[}" ;;
+			*)
+				atoms+=" ${token}[RUBYTARGET(-)]" ;;
+		esac
+	done
+	atoms+=" ) "
+	eshopts_pop
 
+	local _ruby_implementation
 	for _ruby_implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
-		echo "${atoms//RUBYTARGET/ruby_targets_${_ruby_implementation}}"
+		_RUBY_ATOMS_SAMELIB_RESULT+="${atoms//RUBYTARGET/ruby_targets_${_ruby_implementation}}"
 	done
 }
 
@@ -226,15 +227,15 @@ ruby_add_rdepend() {
 			;;
 	esac
 
-	local dependency=$(_ruby_atoms_samelib "$1")
+	_ruby_atoms_samelib "$1"
 
-	RDEPEND="${RDEPEND} $dependency"
+	RDEPEND="${RDEPEND} ${_RUBY_ATOMS_SAMELIB_RESULT}"
 
 	# Add the dependency as a test-dependency since we're going to
 	# execute the code during test phase.
 	case ${EAPI} in
-		6) DEPEND="${DEPEND} test? ( ${dependency} )" ;;
-		*) BDEPEND="${BDEPEND} test? ( ${dependency} )" ;;
+		6) DEPEND="${DEPEND} test? ( ${_RUBY_ATOMS_SAMELIB_RESULT} )" ;;
+		*) BDEPEND="${BDEPEND} test? ( ${_RUBY_ATOMS_SAMELIB_RESULT} )" ;;
 	esac
 	if ! has test "$IUSE"; then
 		IUSE+=" test"
@@ -273,11 +274,11 @@ ruby_add_bdepend() {
 			;;
 	esac
 
-	local dependency=$(_ruby_atoms_samelib "$1")
+	_ruby_atoms_samelib "$1"
 
 	case ${EAPI} in
-		6) DEPEND="${DEPEND} $dependency" ;;
-		*) BDEPEND="${BDEPEND} $dependency" ;;
+		6) DEPEND="${DEPEND} ${_RUBY_ATOMS_SAMELIB_RESULT}" ;;
+		*) BDEPEND="${BDEPEND} ${_RUBY_ATOMS_SAMELIB_RESULT}" ;;
 	esac
 	RDEPEND="${RDEPEND}"
 }
@@ -300,9 +301,9 @@ ruby_add_depend() {
 		*) die "bad number of arguments to $0" ;;
 	esac
 
-	local dependency=$(_ruby_atoms_samelib "$1")
+	_ruby_atoms_samelib "$1"
 
-	DEPEND="${DEPEND} $dependency"
+	DEPEND="${DEPEND} ${_RUBY_ATOMS_SAMELIB_RESULT}"
 }
 
 # @FUNCTION: ruby_get_use_implementations


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 21:14 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 21:14 UTC (permalink / raw
  To: gentoo-commits

commit:     390ad2effe1c83a7cb25a892ad988937b53c07fe
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 13 21:57:53 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 21:12:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=390ad2ef

ruby-ng.eclass: optimize: avoid subshell for ruby_get_all_impls

We go from ~4s -> ~3.5s for sourcing dev-ruby/*.

For sinatra:

```
$ pk pkg source $(pkg) --repo ~/g/ --bench 5s # before
dev-ruby/sinatra-2.2.3::/home/sam/g/: mean: 66.68ms, min: 56.938ms, max: 74.248ms, σ = 4.832ms, N = 75
dev-ruby/sinatra-3.0.6::/home/sam/g/: mean: 73.618ms, min: 60.153ms, max: 77.978ms, σ = 3.195ms, N = 68
dev-ruby/sinatra-3.0.5::/home/sam/g/: mean: 72.069ms, min: 58.736ms, max: 78.223ms, σ = 3.277ms, N = 70
dev-ruby/sinatra-3.0.5-r1::/home/sam/g/: mean: 73.265ms, min: 60.738ms, max: 81.06ms, σ = 3.227ms, N = 69

$ pk pkg source $(pkg) --repo ~/g/ --bench 5s # after
dev-ruby/sinatra-3.0.5-r1::/home/sam/g/: mean: 59.677ms, min: 49.141ms, max: 63.282ms, σ = 2.511ms, N = 84
dev-ruby/sinatra-3.0.6::/home/sam/g/: mean: 59.693ms, min: 48.637ms, max: 62.862ms, σ = 2.628ms, N = 84
dev-ruby/sinatra-3.0.5::/home/sam/g/: mean: 56.697ms, min: 46.782ms, max: 60.367ms, σ = 2.822ms, N = 89
dev-ruby/sinatra-2.2.3::/home/sam/g/: mean: 54.915ms, min: 45.832ms, max: 59.513ms, σ = 3.52ms, N = 92
```

Bug: https://bugs.gentoo.org/908465
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/ruby-ng.eclass | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 2bf1885d3803..ee2e6b89edb4 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -102,6 +102,7 @@ ruby_implementation_depend() {
 # @DESCRIPTION:
 # Return a list of valid implementations in USE_RUBY, skipping the old
 # implementations that are no longer supported.
+_RUBY_GET_ALL_IMPLS=()
 _ruby_get_all_impls() {
 	local i found_valid_impl
 	for i in ${USE_RUBY}; do
@@ -111,7 +112,8 @@ _ruby_get_all_impls() {
 				;;
 			*)
 				found_valid_impl=1
-				echo ${i};;
+				_RUBY_GET_ALL_IMPLS+=( ${i} )
+				;;
 		esac
 	done
 
@@ -131,7 +133,7 @@ ruby_samelib() {
 	debug-print-function ${FUNCNAME} "${@}"
 
 	local res=
-	for _ruby_implementation in $(_ruby_get_all_impls); do
+	for _ruby_implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
 		has -${_ruby_implementation} $@ || \
 			res="${res}ruby_targets_${_ruby_implementation}(-)?,"
 	done
@@ -174,7 +176,7 @@ ruby_implementation_command() {
 _ruby_atoms_samelib() {
 	local atoms=$(_ruby_atoms_samelib_generic "$*")
 
-	for _ruby_implementation in $(_ruby_get_all_impls); do
+	for _ruby_implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
 		echo "${atoms//RUBYTARGET/ruby_targets_${_ruby_implementation}}"
 	done
 }
@@ -310,7 +312,7 @@ ruby_get_use_implementations() {
 	debug-print-function ${FUNCNAME} "${@}"
 
 	local i implementation
-	for implementation in $(_ruby_get_all_impls); do
+	for implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
 		use ruby_targets_${implementation} && i+=" ${implementation}"
 	done
 	echo $i
@@ -322,8 +324,8 @@ ruby_get_use_implementations() {
 ruby_get_use_targets() {
 	debug-print-function ${FUNCNAME} "${@}"
 
-
-	local impls="$(_ruby_get_all_impls)"
+	_ruby_get_all_impls
+	local impls="${_RUBY_GET_ALL_IMPLS[@]}"
 	echo "${impls//ruby/ruby_targets_ruby}"
 }
 
@@ -346,13 +348,14 @@ ruby_get_use_targets() {
 ruby_implementations_depend() {
 	debug-print-function ${FUNCNAME} "${@}"
 
-	local depend
-	for _ruby_implementation in $(_ruby_get_all_impls); do
+	for _ruby_implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
 		depend="${depend}${depend+ }ruby_targets_${_ruby_implementation}? ( $(ruby_implementation_depend $_ruby_implementation) )"
 	done
 	echo "${depend}"
 }
 
+_ruby_get_all_impls
+
 IUSE+=" $(ruby_get_use_targets)"
 # If you specify RUBY_OPTIONAL you also need to take care of
 # ruby useflag and dependency.
@@ -412,7 +415,7 @@ _ruby_invoke_environment() {
 
 _ruby_each_implementation() {
 	local invoked=no
-	for _ruby_implementation in $(_ruby_get_all_impls); do
+	for _ruby_implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
 		# only proceed if it's requested
 		use ruby_targets_${_ruby_implementation} || continue
 
@@ -435,7 +438,7 @@ _ruby_each_implementation() {
 
 	if [[ ${invoked} == "no" ]]; then
 		eerror "You need to select at least one compatible Ruby installation target via RUBY_TARGETS in make.conf."
-		eerror "Compatible targets for this package are: $(_ruby_get_all_impls)"
+		eerror "Compatible targets for this package are: ${_RUBY_GET_ALL_IMPLS[@]}"
 		eerror
 		eerror "See https://www.gentoo.org/proj/en/prog_lang/ruby/index.xml#doc_chap3 for more information."
 		eerror


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 21:47 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 21:47 UTC (permalink / raw
  To: gentoo-commits

commit:     8e9c05ddfcd74be3b53c7c4c2fbc799a9ab7fa61
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 14 00:39:07 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 21:47:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e9c05dd

llvm.eclass: export LLVM_CONFIG if not cross-compiling

Set LLVM_CONFIG to help Meson (bug #907965) but only do it for empty ESYSROOT
(as a proxy for "are we cross-compiling?").

Closes: https://bugs.gentoo.org/907965
Signed-off-by: Sam James <sam <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/31429
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/llvm.eclass | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass
index 022820d012d5..223e2a15baf4 100644
--- a/eclass/llvm.eclass
+++ b/eclass/llvm.eclass
@@ -250,6 +250,12 @@ llvm_pkg_setup() {
 		llvm_fix_tool_path ADDR2LINE AR AS LD NM OBJCOPY OBJDUMP RANLIB
 		llvm_fix_tool_path READELF STRINGS STRIP
 
+		# Set LLVM_CONFIG to help Meson (bug #907965) but only do it
+		# for empty ESYSROOT (as a proxy for "are we cross-compiling?").
+		if [[ -z ${ESYSROOT} ]] ; then
+			llvm_fix_tool_path LLVM_CONFIG
+		fi
+
 		local prefix=${ESYSROOT}
 		local llvm_path=${prefix}/usr/lib/llvm/${LLVM_SLOT}/bin
 		local IFS=:


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-15 23:06 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-15 23:06 UTC (permalink / raw
  To: gentoo-commits

commit:     b26f3f99faabc3574cd3510bc1f57b90bdf585e9
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 23:05:45 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 23:05:45 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b26f3f99

toolchain.eclass: support --enable-host-pie for GCC 14

See also https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=f9de5c24b9a6172d48786289035eed8f947c04c1.

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 952ad85fcde0..3578ac7f44ec 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1284,6 +1284,10 @@ toolchain_src_configure() {
 
 	if in_iuse pie ; then
 		confgcc+=( $(use_enable pie default-pie) )
+
+		if tc_version_is_at_least 14.0.0_pre20230612 ${PV} ; then
+			confgcc+=( --enable-host-pie )
+		fi
 	fi
 
 	if in_iuse ssp ; then


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

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

commit:     8209b1269bd0e9b24dd7a330cd0434452d80f550
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 14 14:50:30 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun 16 08:22:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8209b126

estack.eclass: Fix bug in eshopts_push()

"eshopts_push -s autocd; eshopts_pop" (i.e. the first option listed
by "shopt -p") would not restore the option because of bogus whitespace
in the saved string.

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

 eclass/estack.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/estack.eclass b/eclass/estack.eclass
index c0823adb03f7..d00c931e117d 100644
--- a/eclass/estack.eclass
+++ b/eclass/estack.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: estack.eclass
@@ -156,7 +156,7 @@ evar_pop() {
 eshopts_push() {
 	# Save both "shopt" and "set -o" option sets, because otherwise
 	# restoring posix would disable expand_aliases by side effect. #662586
-	estack_push eshopts "$(shopt -p -o) $(shopt -p)"
+	estack_push eshopts "$(shopt -p -o; shopt -p)"
 	if [[ $1 == -[su] ]] ; then
 		[[ $# -le 1 ]] && return 0
 		shopt "$@" || die "${FUNCNAME}: bad options to shopt: $*"


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-16 14:10 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-06-16 14:10 UTC (permalink / raw
  To: gentoo-commits

commit:     6029280204380cee264a8bd45ffcd0c4d6b214f1
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 16 08:38:55 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun 16 14:09:46 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60292802

toolchain.eclass: Don't inherit eutils

None of the ebuilds inheriting toolchain in EAPI 7 needs any of the
remaining eutils features.

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

 eclass/toolchain.eclass | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 3578ac7f44ec..3013e5c9aeca 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -22,7 +22,6 @@ _TOOLCHAIN_ECLASS=1
 DESCRIPTION="The GNU Compiler Collection"
 HOMEPAGE="https://gcc.gnu.org/"
 
-[[ ${EAPI} == 7 ]] && inherit eutils
 inherit edo flag-o-matic gnuconfig libtool multilib pax-utils toolchain-funcs prefix
 
 tc_is_live() {
@@ -61,7 +60,6 @@ is_crosscompile() {
 	[[ ${CHOST} != ${CTARGET} ]]
 }
 
-
 # @FUNCTION: tc_version_is_at_least
 # @USAGE: ver1 [ver2]
 # @DESCRIPTION:
@@ -927,7 +925,6 @@ toolchain_src_configure() {
 	# 	;;
 	# esac
 
-
 	### Cross-compiler options
 	if is_crosscompile ; then
 		# Enable build warnings by default with cross-compilers when system


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-16 17:42 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-16 17:42 UTC (permalink / raw
  To: gentoo-commits

commit:     a32b5379f8d17f985765fa70fe012abdff07c4c1
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 16 17:39:36 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 16 17:42:12 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a32b5379

ruby-fakegem.eclass: adapt to ruby-ng.eclass changes

ruby-fakegem uses an internal function (which is technically allowed, I guess,
maybe, but all of this should really be shifted into ruby-utils ultimately -
funnily enough negil pointed out that general class of problem yesterday.

diff of bad/good::
```
--- good/rake-13.0.6-r1/image/usr/bin/rake
+++ bad/rake-13.0.6-r1-1/image/usr/bin/rake
 @@ -1,4 +1,4 @@
 -#!/usr/bin/env ruby
 +#!
```

Closes: https://bugs.gentoo.org/908598
Fixes: 390ad2effe1c83a7cb25a892ad988937b53c07fe
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/ruby-fakegem.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
index 77d2163e06fd..db3db300c023 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.eclass
@@ -400,10 +400,10 @@ ruby_fakegem_binwrapper() {
 		# in the shebang, and we can actually avoid errors when
 		# calling the script by default.
 		local rubycmd=
-		for implementation in $(_ruby_get_all_impls); do
+		for implementation in "${_RUBY_GET_ALL_IMPLS[@]}"; do
 			# ignore non-enabled implementations
 			use ruby_targets_${implementation} || continue
-			if [ -z $rubycmd ]; then
+			if [[ -z ${rubycmd} ]]; then
 				# if no other implementation was set before, set it.
 				rubycmd="$(ruby_implementation_command ${implementation})"
 			else


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-16 17:45 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-16 17:45 UTC (permalink / raw
  To: gentoo-commits

commit:     a95521f59ce3ec40bf4ed01a27655aa2ae409a59
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 16 17:44:28 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 16 17:44:28 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a95521f5

ruby-single.eclass: add missing 'local'

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/ruby-single.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/ruby-single.eclass b/eclass/ruby-single.eclass
index 5f6cf9e46dce..effdbd3e96a0 100644
--- a/eclass/ruby-single.eclass
+++ b/eclass/ruby-single.eclass
@@ -69,11 +69,11 @@ inherit ruby-utils
 # current state of ruby targets, e.g. stable version first.
 
 _ruby_single_implementations_depend() {
-	local depend
+	local _ruby_implementation depend
 	for _ruby_implementation in ${RUBY_TARGETS_PREFERENCE}; do
 		if [[ ${USE_RUBY} =~ ${_ruby_implementation} ]]; then
 			depend+=" ("
-			depend+=" $(_ruby_implementation_depend $_ruby_implementation)"
+			depend+=" $(_ruby_implementation_depend ${_ruby_implementation})"
 			depend+=" virtual/rubygems[ruby_targets_${_ruby_implementation}(-)]"
 			depend+=" )"
 		fi


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-16 18:10 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-06-16 18:10 UTC (permalink / raw
  To: gentoo-commits

commit:     75def1cf11d291c34507b91a50925f4da9d18794
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 19:56:56 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun 16 18:09:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75def1cf

flag-o-matic.eclass: Don't inherit eutils in EAPI 7

None of the ebuilds inheriting flag-o-matic in EAPI 7 needs any of the
remaining eutils features.

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 bef3abf69dde..0558e639b981 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} == [67] ]] && inherit eutils
+[[ ${EAPI} == 6 ]] && inherit eutils
 
 # @FUNCTION: all-flag-vars
 # @DESCRIPTION:


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-16 18:10 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-06-16 18:10 UTC (permalink / raw
  To: gentoo-commits

commit:     78e5f99cb41eaa50da930e7ab2dc7993fa243e1f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 20:21:48 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun 16 18:09:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78e5f99c

rpm.eclass: Don't inherit eutils in EAPI 7

None of the ebuilds inheriting rpm in EAPI 7 needs any of the remaining
eutils features.

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

 eclass/rpm.eclass | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/eclass/rpm.eclass b/eclass/rpm.eclass
index d03493466e1e..d8bb0ad2814d 100644
--- a/eclass/rpm.eclass
+++ b/eclass/rpm.eclass
@@ -9,8 +9,7 @@
 
 case ${EAPI} in
 	6) inherit epatch eutils ;; # eutils for eqawarn
-	7) inherit eutils ;; # not needed, but ebuilds may still rely on it
-	8) ;;
+	7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-16 18:10 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-06-16 18:10 UTC (permalink / raw
  To: gentoo-commits

commit:     1f113d0d4aa2794f7facd71e84936cbd3246f5ce
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 19:47:50 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun 16 18:09:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f113d0d

mercurial.eclass: Fix typo in eclassdoc

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

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

diff --git a/eclass/mercurial.eclass b/eclass/mercurial.eclass
index 27fb525bcbd6..472d7448d513 100644
--- a/eclass/mercurial.eclass
+++ b/eclass/mercurial.eclass
@@ -3,7 +3,7 @@
 
 # @ECLASS: mercurial.eclass
 # @MAINTAINER:
-# No maintainer <maintainer-needed@gentoo.org.
+# No maintainer <maintainer-needed@gentoo.org>
 # @AUTHOR:
 # Next gen author: Krzysztof Pawlik <nelchael@gentoo.org>
 # Original author: Aron Griffis <agriffis@gentoo.org>


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-16 18:10 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-06-16 18:10 UTC (permalink / raw
  To: gentoo-commits

commit:     9a2f4ff60c4a66ddb63c6fb1c967f0036a80c677
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 20:21:21 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun 16 18:09:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a2f4ff6

rpm.eclass: Drop support for EAPI 5

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

 eclass/rpm.eclass | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/eclass/rpm.eclass b/eclass/rpm.eclass
index c97e23144c2b..d03493466e1e 100644
--- a/eclass/rpm.eclass
+++ b/eclass/rpm.eclass
@@ -1,14 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: rpm.eclass
 # @MAINTAINER:
 # base-system@gentoo.org
-# @SUPPORTED_EAPIS: 5 6 7 8
+# @SUPPORTED_EAPIS: 6 7 8
 # @BLURB: convenience class for extracting RPMs
 
 case ${EAPI} in
-	5|6) inherit epatch eutils ;; # eutils for eqawarn
+	6) inherit epatch eutils ;; # eutils for eqawarn
 	7) inherit eutils ;; # not needed, but ebuilds may still rely on it
 	8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
@@ -20,7 +20,7 @@ _RPM_ECLASS=1
 inherit estack
 
 case ${EAPI} in
-	5|6) DEPEND="app-arch/rpm2targz" ;;
+	6) DEPEND="app-arch/rpm2targz" ;;
 	*) BDEPEND="app-arch/rpm2targz" ;;
 esac
 
@@ -98,7 +98,7 @@ rpm_src_unpack() {
 # files around, well this won't handle that.
 rpm_spec_epatch() {
 	# no epatch in EAPI 7 and later
-	[[ ${EAPI} == [56] ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}"
+	[[ ${EAPI} == 6 ]] || die "${FUNCNAME} is banned in EAPI ${EAPI}"
 
 	local p spec=$1
 	local dir


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-16 18:10 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-06-16 18:10 UTC (permalink / raw
  To: gentoo-commits

commit:     b5a1cc00cdf9371316b62b4ea68a2a49aae7ae52
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 19:48:49 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun 16 18:09:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5a1cc00

mercurial.eclass: Don't inherit eutils

None of the ebuilds inheriting mercurial.eclass needs any of the
remaining eutils features in EAPI 7.

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

 eclass/mercurial.eclass | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/eclass/mercurial.eclass b/eclass/mercurial.eclass
index 472d7448d513..16d9fc87cb0a 100644
--- a/eclass/mercurial.eclass
+++ b/eclass/mercurial.eclass
@@ -25,14 +25,6 @@ _MERCURIAL_ECLASS=1
 
 PROPERTIES+=" live"
 
-case ${EAPI:-0} in
-	7)
-		# For compatibiilty only (indirect inherits).
-		# Eclass itself doesn't need it.
-		inherit eutils
-		;;
-esac
-
 BDEPEND="dev-vcs/mercurial"
 
 # @ECLASS_VARIABLE: EHG_REPO_URI


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-16 21:41 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-06-16 21:41 UTC (permalink / raw
  To: gentoo-commits

commit:     1931c98f78d988cdfe03c247443de010de45f30b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 16 10:32:51 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun 16 21:39:59 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1931c98f

common-lisp-3.eclass: Don't call readarray -d unless >=bash-5.0

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

 eclass/common-lisp-3.eclass | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/eclass/common-lisp-3.eclass b/eclass/common-lisp-3.eclass
index cd654f37b904..b2dbff3513de 100644
--- a/eclass/common-lisp-3.eclass
+++ b/eclass/common-lisp-3.eclass
@@ -126,8 +126,16 @@ common-lisp-install-sources() {
 			common-lisp-install-one-source ${fpredicate} "${path}" "$(dirname "${path}")"
 		elif [[ -d ${path} ]] ; then
 			local files
-			readarray -d '' files < <(find "${path}" -type f -print0 || die "cannot traverse ${path}" )
-			common-lisp-install-sources -t ${ftype} "${files[@]}" || die
+			# test can be dropped in EAPI 8 which guarantees bash-5.0
+			if [[ ${BASH_VERSINFO[0]} -ge 5 ]]; then
+				readarray -d '' files < <(find "${path}" -type f -print0 \
+											|| die "cannot traverse ${path}")
+			else
+				# readarray has no -d option in bash-4.2
+				readarray -t files < <(find "${path}" -type f -print \
+											|| die "cannot traverse ${path}")
+			fi
+			common-lisp-install-sources -t ${ftype} "${files[@]}"
 		else
 			die "${path} is neither a regular file nor a directory"
 		fi


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-16 21:41 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-06-16 21:41 UTC (permalink / raw
  To: gentoo-commits

commit:     5e0b79e65317fd1b6879cc626c056da798c9e900
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 16 06:33:25 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun 16 21:39:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5e0b79e6

common-lisp-3.eclass: Don't inherit eutils

Neither the eclass nor any of the ebuilds inheriting common-lisp-3 needs
eutils features.

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

 eclass/common-lisp-3.eclass | 2 --
 1 file changed, 2 deletions(-)

diff --git a/eclass/common-lisp-3.eclass b/eclass/common-lisp-3.eclass
index 6c87ef3db842..cd654f37b904 100644
--- a/eclass/common-lisp-3.eclass
+++ b/eclass/common-lisp-3.eclass
@@ -18,8 +18,6 @@ esac
 if [[ -z ${_COMMON_LISP_3_ECLASS} ]]; then
 _COMMON_LISP_3_ECLASS=1
 
-inherit eutils
-
 # @ECLASS_VARIABLE: CLIMPLEMENTATIONS
 # @DESCRIPTION:
 # Common Lisp implementations


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

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

commit:     c8ac88e4cbea0e59e71422ef18d28909108827b2
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 19:03:53 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 17 10:10:17 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8ac88e4

pypi.eclass: Do extglob reset unconditionally

Change _pypi_normalize_name() to reset extglob unconditionally.  This
function is called only in two contexts:

- inside a subshell, therefore making it unnecessary to restore
  the original extglob value,

- in global scope, via _pypi_set_globals, where we know that extglob
  is not supposed to be set.

This makes the code simpler.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/31465
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/pypi.eclass | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index 8a842c450ebc..594216a7fd96 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -70,14 +70,12 @@ _PYPI_ECLASS=1
 # Internal normalization function, returns the result
 # via _PYPI_NORMALIZED_NAME variable.
 _pypi_normalize_name() {
-	local name=${1}
-	if shopt -p -q extglob; then
-		name=${name//+([._-])/_}
-	else
-		shopt -s extglob
-		name=${name//+([._-])/_}
-		shopt -u extglob
-	fi
+	# NB: it's fine to alter it unconditionally since this function is
+	# always called from a subshell or in global scope
+	# (via _pypi_set_globals)
+	shopt -s extglob
+	local name=${1//+([._-])/_}
+	shopt -u extglob
 	_PYPI_NORMALIZED_NAME="${name,,}"
 }
 


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

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

commit:     4d7804af0ce9077cbc53cda7318a3e388db8dbb3
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 12:29:55 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 17 10:10:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d7804af

python-utils-r1.eclass: Use @a instead of declare check for array

Use bash 5's @a variable substitution instead of `declare -p` check
to determine if `PYTHON_COMPAT` is an array.  This avoids a subshell,
and effectively makes the function roughly 3.5x faster:

```
 * Timing _python_set_impls
real 4854 it/s
user 4862 it/s
```

In practice, this roughly reduces total sourcing time for `dev-python/*`
from 57-58 s to 54 s.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/31454
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/python-utils-r1.eclass | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 52e9e061d6bd..7a1be381f596 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -114,11 +114,18 @@ _python_verify_patterns() {
 _python_set_impls() {
 	local i
 
-	if ! declare -p PYTHON_COMPAT &>/dev/null; then
-		die 'PYTHON_COMPAT not declared.'
+	# TODO: drop BASH_VERSINFO check when we require EAPI 8
+	if [[ ${BASH_VERSINFO[0]} -ge 5 ]]; then
+		[[ ${PYTHON_COMPAT@a} == *a* ]]
+	else
+		[[ $(declare -p PYTHON_COMPAT) == "declare -a"* ]]
 	fi
-	if [[ $(declare -p PYTHON_COMPAT) != "declare -a"* ]]; then
-		die 'PYTHON_COMPAT must be an array.'
+	if [[ ${?} -ne 0 ]]; then
+		if ! declare -p PYTHON_COMPAT &>/dev/null; then
+			die 'PYTHON_COMPAT not declared.'
+		else
+			die 'PYTHON_COMPAT must be an array.'
+		fi
 	fi
 
 	local obsolete=()


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-17 16:52 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-17 16:52 UTC (permalink / raw
  To: gentoo-commits

commit:     c7cd3be059f221c6333980f155c1bafca9769ed0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 17 16:51:23 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 17 16:51:56 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7cd3be0

toolchain.eclass: fix USE=doc build

Thanks to Dirk Sondermann for pointing out the precise issue.

Closes: https://bugs.gentoo.org/908550
Fixes: a606b978be638005c9b832a733d087dbc97ae6d0
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 3013e5c9aeca..51b28b380584 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1687,8 +1687,8 @@ gcc_do_make() {
 
 	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
-			emake -C "${CTARGET}"/libstdc++-v3/doc doc-man-doxygen
+			cd "${CTARGET}"/libstdc++-v3/doc || die
+			emake doc-man-doxygen
 
 			# Clean bogus manpages. bug #113902
 			find -name '*_build_*' -delete


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

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

commit:     3e36d0e6b75c2aaf868dbc6ed85f761d97aecad2
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 17 11:26:52 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun 17 19:10:06 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e36d0e6

llvm.org.eclass: Add 17.0.0_pre20230615 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 2de0680628ee..7f0319a12541 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
+				17.0.0_pre20230615)
+					EGIT_COMMIT=0e08374abb2c61a3ae5c24d5f60be3b548da9778
+					;;
 				17.0.0_pre20230609)
 					EGIT_COMMIT=62c0bdabfa32f6e32b17b45425b15309db340dfb
 					;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-17 20:37 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ messages in thread
From: Andreas Sturmlechner @ 2023-06-17 20:37 UTC (permalink / raw
  To: gentoo-commits

commit:     3295a12234dc319f8ae3af1181ed5e868716d3e0
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 17 20:36:52 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Jun 17 20:37:29 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3295a122

ecm.eclass: Add Qt 5.15.10 to ECM_QTHELP Portage bug workaround

Closes: https://bugs.gentoo.org/908715
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 eclass/ecm.eclass | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index ae7e44706b0e..af9fadcf4733 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -232,12 +232,21 @@ case ${ECM_QTHELP} in
 		COMMONDEPEND+=" doc? ( dev-qt/qt-docs:${KFSLOT} )"
 		BDEPEND+=" doc? (
 			>=app-doc/doxygen-1.8.13-r1
-			(
-				=dev-qt/qtcore-5.15.9*:5
-				=dev-qt/qtgui-5.15.9*:5
-				=dev-qt/qthelp-5.15.9*:5
-				=dev-qt/qtsql-5.15.9*:5
-				=dev-qt/qtwidgets-5.15.9*:5
+			|| (
+				(
+					=dev-qt/qtcore-5.15.10*:5
+					=dev-qt/qtgui-5.15.10*:5
+					=dev-qt/qthelp-5.15.10*:5
+					=dev-qt/qtsql-5.15.10*:5
+					=dev-qt/qtwidgets-5.15.10*:5
+				)
+				(
+					=dev-qt/qtcore-5.15.9*:5
+					=dev-qt/qtgui-5.15.9*:5
+					=dev-qt/qthelp-5.15.9*:5
+					=dev-qt/qtsql-5.15.9*:5
+					=dev-qt/qtwidgets-5.15.9*:5
+				)
 			)
 		)"
 		;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-17 22:41 Mike Pagano
  0 siblings, 0 replies; 5996+ messages in thread
From: Mike Pagano @ 2023-06-17 22:41 UTC (permalink / raw
  To: gentoo-commits

commit:     9f15908c77f4c87e994ca4624228721edd9a448e
Author:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 17 22:41:14 2023 +0000
Commit:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
CommitDate: Sat Jun 17 22:41:14 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f15908c

linux-mod.eclass: Mark as deprecated in favor of linux-mod-r1.eclass

Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>

 eclass/linux-mod.eclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/eclass/linux-mod.eclass b/eclass/linux-mod.eclass
index 0fe8d7da4f99..26d8cac47ef0 100644
--- a/eclass/linux-mod.eclass
+++ b/eclass/linux-mod.eclass
@@ -10,6 +10,7 @@
 # @SUPPORTED_EAPIS: 7 8
 # @PROVIDES: linux-info
 # @BLURB: It provides the functionality required to install external modules against a kernel source tree.
+# @DEPRECATED: linux-mod-r1.eclass
 # @DESCRIPTION:
 # This eclass is used to interface with linux-info.eclass in such a way
 # to provide the functionality and initial functions


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-18 14:57 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-06-18 14:57 UTC (permalink / raw
  To: gentoo-commits

commit:     3e44a4eb4a8aed382ca01df598bb65c9cac9d729
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 18:41:53 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jun 18 14:57:47 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e44a4eb

cargo.eclass: Mark GIT_CRATES as pre-inherit

The variable needs to be set before inherit in order for
${CARGO_CRATE_URIS} to be set correctly.  Currently all ebuilds using
GIT_CRATES except for one define it pre-inherit anyway, and this makes
it consistent with CRATES.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/31456
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/cargo.eclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 8618c90bd986..2ff1f042ba79 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -77,6 +77,7 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
 
 # @ECLASS_VARIABLE: GIT_CRATES
 # @DEFAULT_UNSET
+# @PRE_INHERIT
 # @DESCRIPTION:
 # Bash associative array containing all of the crates that are to be
 # fetched via git.  It is used by cargo_crate_uris.


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-18 14:57 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-06-18 14:57 UTC (permalink / raw
  To: gentoo-commits

commit:     12ab6ca3d654d25a79c8ef8a40c1d5a2ed671771
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 15:23:21 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jun 18 14:57:45 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12ab6ca3

cargo.eclass: Optimize GIT_CRATES check

Optimize the GIT_CRATES check to call `declare -p` only if the variable
is actually set.  In the vast majority of ebuilds using cargo.eclass,
it's not set, so the subshell-first approach is slowing things down.
With this change, the speed improves by another ~20%:

```
real  363 it/s
user  365 it/s
```

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/cargo.eclass | 58 ++++++++++++++++++++++++++---------------------------
 1 file changed, 29 insertions(+), 29 deletions(-)

diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 4e0cd1e4de70..d97bb0df9348 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -189,35 +189,35 @@ _cargo_set_crate_uris() {
 		CARGO_CRATE_URIS+="${url} "
 	done
 
-	local git_crates_type
-	git_crates_type="$(declare -p GIT_CRATES 2>&-)"
-	if [[ ${git_crates_type} == "declare -A "* ]]; then
-		local crate commit crate_uri crate_dir repo_ext feat_expr
-
-		for crate in "${!GIT_CRATES[@]}"; do
-			IFS=';' read -r crate_uri commit crate_dir <<< "${GIT_CRATES[${crate}]}"
-
-			case "${crate_uri}" in
-				https://github.com/*)
-					repo_ext=".gh"
-					repo_name="${crate_uri##*/}"
-					crate_uri="${crate_uri%/}/archive/%commit%.tar.gz"
-				;;
-				https://gitlab.com/*)
-					repo_ext=".gl"
-					repo_name="${crate_uri##*/}"
-					crate_uri="${crate_uri%/}/-/archive/%commit%/${repo_name}-%commit%.tar.gz"
-				;;
-				*)
-					repo_ext=
-					repo_name="${crate}"
-				;;
-			esac
-
-			CARGO_CRATE_URIS+="${crate_uri//%commit%/${commit}} -> ${repo_name}-${commit}${repo_ext}.tar.gz "
-		done
-	elif [[ -n ${git_crates_type} ]]; then
-		die "GIT_CRATE must be declared as an associative array"
+	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
+
+			for crate in "${!GIT_CRATES[@]}"; do
+				IFS=';' read -r crate_uri commit crate_dir <<< "${GIT_CRATES[${crate}]}"
+
+				case "${crate_uri}" in
+					https://github.com/*)
+						repo_ext=".gh"
+						repo_name="${crate_uri##*/}"
+						crate_uri="${crate_uri%/}/archive/%commit%.tar.gz"
+					;;
+					https://gitlab.com/*)
+						repo_ext=".gl"
+						repo_name="${crate_uri##*/}"
+						crate_uri="${crate_uri%/}/-/archive/%commit%/${repo_name}-%commit%.tar.gz"
+					;;
+					*)
+						repo_ext=
+						repo_name="${crate}"
+					;;
+				esac
+
+				CARGO_CRATE_URIS+="${crate_uri//%commit%/${commit}} -> ${repo_name}-${commit}${repo_ext}.tar.gz "
+			done
+		else
+			die "GIT_CRATE must be declared as an associative array"
+		fi
 	fi
 }
 _cargo_set_crate_uris "${CRATES}"


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-18 20:51 Andreas K. Hüttel
  0 siblings, 0 replies; 5996+ messages in thread
From: Andreas K. Hüttel @ 2023-06-18 20:51 UTC (permalink / raw
  To: gentoo-commits

commit:     416a41cf52d83a6956f4946ea46c36cf40e161f5
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 18 20:49:58 2023 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sun Jun 18 20:50:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=416a41cf

perl-module.eclass: Depend on perl-Test-Simple with a version

This is in preparation of a QA check

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 867c15225789..35f85a813fc7 100644
--- a/eclass/perl-module.eclass
+++ b/eclass/perl-module.eclass
@@ -80,7 +80,7 @@ case ${EAPI} in
 			yes|noslotop)
 				DEPEND="dev-lang/perl"
 				BDEPEND="dev-lang/perl
-					 test? ( virtual/perl-Test-Simple )"
+					 test? ( >=virtual/perl-Test-Simple-1 )"
 				IUSE="test"
 				RESTRICT="!test? ( test )"
 				;;&


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-20 14:20 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-06-20 14:20 UTC (permalink / raw
  To: gentoo-commits

commit:     9d2f5879f4f49bd42536a21d0601e945f1782b2c
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 20 14:09:33 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jun 20 14:20:00 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d2f5879

llvm.org.eclass: Add 17.0.0_pre20230620 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 7f0319a12541..81d82aeda580 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
+				17.0.0_pre20230620)
+					EGIT_COMMIT=aad51417452432092258034c55537a7092fa6295
+					;;
 				17.0.0_pre20230615)
 					EGIT_COMMIT=0e08374abb2c61a3ae5c24d5f60be3b548da9778
 					;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-20 18:39 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-06-20 18:39 UTC (permalink / raw
  To: gentoo-commits

commit:     a4ee0a6b58f4ce8ce3fac50542c508188d555c07
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 17 09:45:49 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Jun 20 18:37:42 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4ee0a6b

golang-vcs.eclass: Don't inherit eutils

This was only needed for estack which is also inherited directly.
None of the ebuilds inheriting golang-vcs needs any eutils feature.

Closes: https://bugs.gentoo.org/908654
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/golang-vcs.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/golang-vcs.eclass b/eclass/golang-vcs.eclass
index 6f60b6dd3ae0..7558db4776cb 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 eutils golang-base
+inherit estack golang-base
 
 PROPERTIES+=" live"
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-20 18:39 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-06-20 18:39 UTC (permalink / raw
  To: gentoo-commits

commit:     bf9bf12ab88caeee56e22fc96d80c60f57c31513
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 16 09:27:10 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Jun 20 18:39:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf9bf12a

gnustep-base.eclass: Don't inherit eutils in EAPI 7

None of the ebuilds inheriting gnustep-base or gnustep-2 in EAPI 7 needs
any of the remaining eutils features.

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

 eclass/gnustep-base.eclass | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/eclass/gnustep-base.eclass b/eclass/gnustep-base.eclass
index 49bcc09caa93..b5b350106471 100644
--- a/eclass/gnustep-base.eclass
+++ b/eclass/gnustep-base.eclass
@@ -11,8 +11,8 @@
 # packages
 
 case ${EAPI} in
-	6|7) inherit eutils ;;
-	8) ;;
+	6) inherit eutils ;;
+	7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
@@ -128,7 +128,6 @@ egnustep_env() {
 				-i "${WORKDIR}"/GNUstep.conf || die "GNUstep.conf sed failed"
 		fi
 
-
 		if [[ ! -d ${EPREFIX}/usr/share/GNUstep/Makefiles ]]; then
 			# Set rpath in ldflags when available
 			case ${CHOST} in


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

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

commit:     200888d28399ef852b62079544103c584980b244
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 16 14:33:56 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Jun 20 18:57:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=200888d2

dist-kernel-utils.eclass: fix extension of generated efi file

If kernel-install is configured to use the uki layout the extension of the efi
file that we install has to be .efi otherwise kernel-install returns an error.

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

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

diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 439bdc87695d..c6892c2f0127 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 2020-2022 Gentoo Authors
+# Copyright 2020-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: dist-kernel-utils.eclass
@@ -104,7 +104,7 @@ dist-kernel_install_kernel() {
 	if [[ ${magic} == MZ ]]; then
 		einfo "Combined UEFI kernel+initramfs executable found"
 		# install the combined executable in place of kernel
-		image=${initrd}.uefi
+		image=${initrd}.efi
 		mv "${initrd}" "${image}" || die
 		# put an empty file in place of initrd.  installing a duplicate
 		# file would waste disk space, and removing it entirely provokes


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

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

commit:     09a8adc582e55ffc4521376c17ee8ad745a1fda0
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 09:50:10 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Jun 20 18:57:33 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09a8adc5

kernel-build.eclass: add IUSE="strip", install generated keys

- Let the kernel build system handle stripping of the modules.
This is necessary for successfully signing and compressing modules.
Inspired by linux-mod-r1.eclass.

- If the build system has generated keys or certificates, install them.
This is required to successfully sign external kernel modules.

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

 eclass/kernel-build.eclass | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 020557497ddc..c6f3ebeca962 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -1,4 +1,4 @@
-# Copyright 2020-2022 Gentoo Authors
+# Copyright 2020-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: kernel-build.eclass
@@ -41,6 +41,8 @@ BDEPEND="
 	app-alternatives/yacc
 "
 
+IUSE="+strip"
+
 # @FUNCTION: kernel-build_src_configure
 # @DESCRIPTION:
 # Prepare the toolchain for building the kernel, get the default .config
@@ -83,7 +85,7 @@ kernel-build_src_configure() {
 		LD="${LD}"
 		AR="$(tc-getAR)"
 		NM="$(tc-getNM)"
-		STRIP=":"
+		STRIP="$(tc-getSTRIP)"
 		OBJCOPY="$(tc-getOBJCOPY)"
 		OBJDUMP="$(tc-getOBJDUMP)"
 
@@ -176,8 +178,18 @@ kernel-build_src_install() {
 		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
+	# Modules were already stripped by the kernel build system
+	dostrip -x /lib/modules
+
 	emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
-		INSTALL_MOD_PATH="${ED}" INSTALL_PATH="${ED}/boot" "${targets[@]}"
+		INSTALL_MOD_PATH="${ED}" INSTALL_MOD_STRIP="${strip_args}" \
+		INSTALL_PATH="${ED}/boot" "${targets[@]}"
 
 	# note: we're using mv rather than doins to save space and time
 	# install main and arch-specific headers first, and scripts
@@ -217,6 +229,14 @@ kernel-build_src_install() {
 	local image_path=$(dist-kernel_get_image_path)
 	cp -p "build/${image_path}" "${ED}${kernel_dir}/${image_path}" || 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
+
 	# building modules fails with 'vmlinux has no symtab?' if stripped
 	use ppc64 && dostrip -x "${kernel_dir}/${image_path}"
 


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

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

commit:     dc9ea91c8271f43fb58ce142000dcd5c32822c42
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 16 20:51:00 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Jun 20 18:57:37 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc9ea91c

dist-kernel-utils.eclass: skip initrd installation when using uki

Gets rid of a hack that prevents 50-dracut.install from regenerating the initrd
when calling kernel-install. Instead instruct kernel-install to simply not run
this plugin.

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

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

diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index c6892c2f0127..cfb6f40ac6fa 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -106,10 +106,20 @@ dist-kernel_install_kernel() {
 		# install the combined executable in place of kernel
 		image=${initrd}.efi
 		mv "${initrd}" "${image}" || die
-		# put an empty file in place of initrd.  installing a duplicate
-		# file would waste disk space, and removing it entirely provokes
-		# kernel-install to regenerate it via dracut.
-		> "${initrd}"
+		# 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}"/usr/lib/kernel/install.d/*.install; do
+			if ! has "${file##*/}" 50-dracut.install 51-dracut-rescue.install; then
+					plugins+=( "${file}" )
+			fi
+		done
+		for file in "${EROOT}"/etc/kernel/install.d/*.install; do
+			plugins+=( "${file}" )
+		done
+		shopt -u nullglob
+		export KERNEL_INSTALL_PLUGINS="${KERNEL_INSTALL_PLUGINS} ${plugins[@]}"
 	fi
 
 	ebegin "Installing the kernel via installkernel"


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

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

commit:     bcd3103426971497f634ddf12d535b3010e9138b
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 19:10:02 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Jun 20 18:57:34 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bcd31034

kernel-build.eclass: add IUSE="modules-sign"

- Enable module signing configure options if requested by the user.

- Define the user variables MODULES_SIGN_HASH and MODULES_SIGN_KEY.
For controlling the used hashing algorithm and allowing the use of
external keys. These variables are the same as in linux-mod-r1.eclass

- Warn the user if we are letting the kernel build system generate the signing
key. This key will end up binary packages. Plus external modules will have to
be resigned if gentoo-kernel is re-emerged (i.e. a new key was generated).

Bug: https://bugs.gentoo.org/814344
Bug: https://bugs.gentoo.org/881651
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 eclass/kernel-build.eclass | 90 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 89 insertions(+), 1 deletion(-)

diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index c6f3ebeca962..963e020b3746 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -43,6 +43,48 @@ BDEPEND="
 
 IUSE="+strip"
 
+# @ECLASS_VARIABLE: KERNEL_IUSE_MODULES_SIGN
+# @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 and MODULES_SIGN_KEY user variables.
+
+# @ECLASS_VARIABLE: MODULES_SIGN_HASH
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used with USE=modules-sign.  Can be set to hash algorithm to use
+# during signature generation (CONFIG_MODULE_SIG_SHA256).
+#
+# Valid values: sha512,sha384,sha256,sha224,sha1
+#
+# Default if unset: sha512
+
+# @ECLASS_VARIABLE: MODULES_SIGN_KEY
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used with USE=modules-sign.  Can be set to the path of the private
+# key in PEM format to use, or a PKCS#11 URI (CONFIG_MODULE_SIG_KEY).
+#
+# If path is relative (e.g. "certs/name.pem"), it is assumed to be
+# relative to the kernel build directory being used.
+#
+# If the key requires a passphrase or PIN, the used kernel sign-file
+# utility recognizes the KBUILD_SIGN_PIN environment variable.  Be
+# warned that the package manager may store this value in binary
+# packages, database files, temporary files, and possibly logs.  This
+# eclass unsets the variable after use to mitigate the issue (notably
+# for shared binary packages), but use this with care.
+#
+# Default if unset: certs/signing_key.pem
+
+if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
+	IUSE+=" modules-sign"
+fi
+
 # @FUNCTION: kernel-build_src_configure
 # @DESCRIPTION:
 # Prepare the toolchain for building the kernel, get the default .config
@@ -259,6 +301,9 @@ kernel-build_src_install() {
 	dosym "../../../${kernel_dir}" "/lib/modules/${module_ver}/build"
 	dosym "../../../${kernel_dir}" "/lib/modules/${module_ver}/source"
 
+	# unset to at least be out of the environment file in, e.g. shared binpkgs
+	unset KBUILD_SIGN_PIN
+
 	save_config build/.config
 }
 
@@ -268,6 +313,26 @@ kernel-build_src_install() {
 kernel-build_pkg_postinst() {
 	kernel-install_pkg_postinst
 	savedconfig_pkg_postinst
+
+	if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
+		if use modules-sign && [[ -z ${MODULES_SIGN_KEY} ]]; then
+			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 "and will also be included in any binary packages."
+			ewarn "Please take appropriate action to protect the key!"
+			ewarn
+			ewarn "Recompiling this package causes a new key to be generated. As"
+			ewarn "a result any external kernel modules will need to be resigned."
+			ewarn "Use emerge @module-rebuild, or manually sign the modules as"
+			ewarn "described on the wiki [1]"
+			ewarn
+			ewarn "Consider using the MODULES_SIGN_KEY variable to use an external key."
+			ewarn
+			ewarn "[1]: https://wiki.gentoo.org/wiki/Signed_kernel_module_support"
+		fi
+	fi
 }
 
 # @FUNCTION: kernel-build_merge_configs
@@ -290,16 +355,39 @@ kernel-build_merge_configs() {
 	local user_configs=( "${BROOT}"/etc/kernel/config.d/*.config )
 	shopt -u nullglob
 
+	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 [[ ${MODULES_SIGN_KEY} == pkcs11:* || -e ${MODULES_SIGN_KEY} ]]; then
+				echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \
+					>> "${WORKDIR}/modules-sign.config"
+			elif [[ -n ${MODULES_SIGN_KEY} ]]; then
+				die "MODULES_SIGN_KEY=${MODULES_SIGN_KEY} not found!"
+			fi
+			merge_configs+=( "${WORKDIR}/modules-sign.config" )
+		fi
+	fi
+
 	if [[ ${#user_configs[@]} -gt 0 ]]; then
 		elog "User config files are being applied:"
 		local x
 		for x in "${user_configs[@]}"; do
 			elog "- ${x}"
 		done
+		merge_configs+=( "${user_configs[@]}" )
 	fi
 
 	./scripts/kconfig/merge_config.sh -m -r \
-		.config "${@}" "${user_configs[@]}" || die
+		.config "${merge_configs[@]}"  || die
 }
 
 fi


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-21 10:22 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ messages in thread
From: Andreas Sturmlechner @ 2023-06-21 10:22 UTC (permalink / raw
  To: gentoo-commits

commit:     62e2868449f201e56dbf3c3dcfda1fd61c07e54b
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 21 10:00:54 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jun 21 10:22:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62e28684

plasma.kde.org.eclass: Better restrict unstable version def

Signed-off-by: Andreas Sturmlechner <asturm <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 8fcf087896f1..367ad94a6139 100644
--- a/eclass/plasma.kde.org.eclass
+++ b/eclass/plasma.kde.org.eclass
@@ -53,7 +53,7 @@ if [[ ${KDE_BUILD_TYPE} == live ]]; then
 	fi
 elif [[ -z ${KDE_ORG_COMMIT} ]]; then
 	case ${PV} in
-		5.??.[6-9]?* )
+		5.??.[6-9][05]* )
 			_KDE_SRC_URI+="unstable/plasma/$(ver_cut 1-3)/"
 			RESTRICT+=" mirror"
 			;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-23  9:38 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-23  9:38 UTC (permalink / raw
  To: gentoo-commits

commit:     4d54dd457249954a9e9b54976b82a0f40b1bc16f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 23 09:14:38 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 23 09:37:32 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d54dd45

toolchain.eclass: simplify TOOLCHAIN_SET_S logic

I've got no idea why I added that indirection before.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 51b28b380584..d69e2094dfbb 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -380,17 +380,13 @@ fi
 # Set the source directory depending on whether we're using
 # a live git tree, snapshot, or release tarball.
 if [[ ${TOOLCHAIN_SET_S} == yes ]] ; then
-	s_path=
 	if tc_is_live ; then
-		s_path=${EGIT_CHECKOUT_DIR}
+		S=${EGIT_CHECKOUT_DIR}
 	elif [[ -n ${SNAPSHOT} ]] ; then
-		s_path=${WORKDIR}/gcc-${SNAPSHOT}
+		S=${WORKDIR}/gcc-${SNAPSHOT}
 	else
-		s_path=${WORKDIR}/gcc-${GCC_RELEASE_VER}
+		S=${WORKDIR}/gcc-${GCC_RELEASE_VER}
 	fi
-
-	S="${s_path}"
-	unset s_path
 fi
 
 gentoo_urls() {


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-24  5:07 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-24  5:07 UTC (permalink / raw
  To: gentoo-commits

commit:     4c9b4d49518302cbe0982834b279a90bf7c5b304
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 24 05:07:09 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 24 05:07:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c9b4d49

toolchain.eclass: namespace hardened function

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b6f3b4a97649..dabdd3a8f4fa 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -569,7 +569,7 @@ toolchain_src_prepare() {
 	eapply_user
 
 	if ! use vanilla ; then
-		make_gcc_hard
+		tc_enable_hardened_gcc
 	fi
 
 	# Make sure the pkg-config files install into multilib dirs.
@@ -653,8 +653,8 @@ do_gcc_gentoo_patches() {
 }
 
 # configure to build with the hardened GCC specs as the default
-make_gcc_hard() {
-	local gcc_hard_flags=""
+tc_enable_hardened_gcc() {
+	local hardened_gcc_flags=""
 
 	if _tc_use_if_iuse pie ; then
 		einfo "Updating gcc to use automatic PIE building ..."
@@ -667,13 +667,13 @@ make_gcc_hard() {
 	if _tc_use_if_iuse default-stack-clash-protection ; then
 		# The define DEF_GENTOO_SCP is checked in 24_all_DEF_GENTOO_SCP-fstack-clash-protection.patch
 		einfo "Updating gcc to use automatic stack clash protection ..."
-		gcc_hard_flags+=" -DDEF_GENTOO_SCP"
+		hardened_gcc_flags+=" -DDEF_GENTOO_SCP"
 	fi
 
 	if _tc_use_if_iuse default-znow ; then
 		# The define DEF_GENTOO_ZNOW is checked in 23_all_DEF_GENTOO_ZNOW-z-now.patch
 		einfo "Updating gcc to request symbol resolution at start (-z now) ..."
-		gcc_hard_flags+=" -DDEF_GENTOO_ZNOW"
+		hardened_gcc_flags+=" -DDEF_GENTOO_ZNOW"
 	fi
 
 	if _tc_use_if_iuse hardened ; then
@@ -681,14 +681,14 @@ make_gcc_hard() {
 		# * -fstack-clash-protection
 		# * -z now
 		# See gcc *_all_extra-options.patch patches.
-		gcc_hard_flags+=" -DEXTRA_OPTIONS"
+		hardened_gcc_flags+=" -DEXTRA_OPTIONS"
 		# Default to -D_FORTIFY_SOURCE=3 instead of -D_FORTIFY_SOURCE=2
-		gcc_hard_flags+=" -DGENTOO_FORTIFY_SOURCE_LEVEL=3"
+		hardened_gcc_flags+=" -DGENTOO_FORTIFY_SOURCE_LEVEL=3"
 		# Add -D_GLIBCXX_ASSERTIONS
-		gcc_hard_flags+=" -DDEF_GENTOO_GLIBCXX_ASSERTIONS"
+		hardened_gcc_flags+=" -DDEF_GENTOO_GLIBCXX_ASSERTIONS"
 
 		if _tc_use_if_iuse cet && [[ ${CTARGET} == *x86_64*-linux* ]] ; then
-			gcc_hard_flags+=" -DEXTRA_OPTIONS_CF"
+			hardened_gcc_flags+=" -DEXTRA_OPTIONS_CF"
 		fi
 
 		# Rebrand to make bug reports easier
@@ -706,7 +706,7 @@ make_gcc_hard() {
 		-i "${S}"/gcc/Makefile.in || die
 
 	sed -i \
-		-e "/^HARD_CFLAGS = /s|=|= ${gcc_hard_flags} |" \
+		-e "/^HARD_CFLAGS = /s|=|= ${hardened_gcc_flags} |" \
 		"${S}"/gcc/Makefile.in || die
 
 }


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-24  5:07 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-06-24  5:07 UTC (permalink / raw
  To: gentoo-commits

commit:     10e9b9069e4b389579ce9ea475a37c546deade03
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 24 05:05:32 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 24 05:05:48 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10e9b906

toolchain.eclass: wire up --enable-host-bind-now for GCC 14

See also b26f3f99faabc3574cd3510bc1f57b90bdf585e9.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index d69e2094dfbb..b6f3b4a97649 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1283,6 +1283,14 @@ toolchain_src_configure() {
 		fi
 	fi
 
+	if in_iuse default-znow && tc_version_is_at_least 14.0.0_pre20230619 ${PV}; then
+		# See https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=33ebb0dff9bb022f1e0709e0e73faabfc3df7931.
+		# TODO: Add to LDFLAGS_FOR_TARGET?
+		confgcc+=(
+			$(use_enable default-znow host-bind-now)
+		)
+	fi
+
 	if in_iuse ssp ; then
 		confgcc+=(
 			# This defaults to -fstack-protector-strong.


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-24 22:58 James Le Cuirot
  0 siblings, 0 replies; 5996+ messages in thread
From: James Le Cuirot @ 2023-06-24 22:58 UTC (permalink / raw
  To: gentoo-commits

commit:     bec5d131862313fe6ee3628f0591947abe679591
Author:     Raul E Rangel <rrangel <AT> chromium <DOT> org>
AuthorDate: Wed Apr 19 21:54:01 2023 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sat Jun 24 22:56:55 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bec5d131

cmake.eclass: Set CMAKE_SYSROOT when building with SYSROOT=

When performing a SYSROOT= build, the --sysroot parameter was not
getting passed to the compiler if the CBUILD and CHOST matched. This
results in the build attempting to use BROOT libraries and headers
instead of the ones from the SYSROOT.

This change will allow `llvm` to be built into a new SYSROOT.

    ROOT=/build/amd64-host emerge sys-devel/llvm

Signed-off-by: Raul E Rangel <rrangel <AT> chromium.org>
Closes: https://github.com/gentoo/gentoo/pull/30658
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 eclass/cmake.eclass | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 24787f1c2a49..1cdbc123a243 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -484,17 +484,17 @@ cmake_src_configure() {
 		cat >> "${toolchain_file}" <<- _EOF_ || die
 			set(CMAKE_SYSTEM_NAME "${sysname}")
 		_EOF_
+	fi
 
-		if [ "${SYSROOT:-/}" != "/" ] ; then
-			# When cross-compiling with a sysroot (e.g. with crossdev's emerge wrappers)
-			# we need to tell cmake to use libs/headers from the sysroot but programs from / only.
-			cat >> "${toolchain_file}" <<- _EOF_ || die
-				set(CMAKE_SYSROOT "${ESYSROOT}")
-				set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-				set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-				set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-			_EOF_
-		fi
+	if [[ ${SYSROOT:-/} != / ]] ; then
+		# When building with a sysroot (e.g. with crossdev's emerge wrappers)
+		# we need to tell cmake to use libs/headers from the sysroot but programs from / only.
+		cat >> "${toolchain_file}" <<- _EOF_ || die
+			set(CMAKE_SYSROOT "${ESYSROOT}")
+			set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+			set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+			set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+		_EOF_
 	fi
 
 	if use prefix-guest; then


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-26 18:58 Mike Gilbert
  0 siblings, 0 replies; 5996+ messages in thread
From: Mike Gilbert @ 2023-06-26 18:58 UTC (permalink / raw
  To: gentoo-commits

commit:     2f06a34a08c256ca49f68ead9968738c49be6f0c
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 24 16:52:13 2023 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Jun 26 18:57:38 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f06a34a

acct-user.eclass: improve error message when usermod fails

usermod refuses to update the home directory for a user with running
processes. Output a more helpful message and avoid calling die for this.

For other usermod failures, output stderr as an eerror message and die.

Example output:

 * Failed to update user portage
 * This user currently has one or more running processes.
 * Please update this user manually with the following command:
 *   usermod '--comment' 'System user; portage' '--home' '/var/lib/portage/home' '--shell' '/bin/bash' '--gid' 'portage' '--groups' '' portage

Bug: https://bugs.gentoo.org/888189
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

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

diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index f8a51ebf9c6b..b2ac02b2b972 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -432,12 +432,30 @@ acct-user_pkg_postinst() {
 	fi
 
 	elog "Updating user ${ACCT_USER_NAME}"
-	if ! usermod "${opts[@]}" "${ACCT_USER_NAME}" 2>"${T}/usermod-error.log"; then
-		# 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.
+	# 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.
+	usermod "${opts[@]}" "${ACCT_USER_NAME}" 2>"${T}/usermod-error.log"
+	local status=$?
+	if [[ ${status} -ne 0 ]]; then
 		cat "${T}/usermod-error.log" >&2
-		die "usermod failed"
+		if [[ ${status} -eq 8 ]]; then
+			# usermod refused to update the home directory
+			# for a uid with active processes.
+			eerror "Failed to update user ${ACCT_USER_NAME}"
+			eerror "This user currently has one or more running processes."
+			eerror "Please update this user manually with the following command:"
+
+			# Surround opts with quotes.
+			# With bash-5 (EAPI 8), we can use "${opts[@]@Q}" instead.
+			local q="'"
+			local optsq=( "${opts[@]/#/${q}}" )
+			optsq=( "${optsq[@]/%/${q}}" )
+
+			eerror "  usermod ${optsq[*]} ${ACCT_USER_NAME}"
+		else
+			eerror "$(<"${T}/usermod-error.log")"
+			die "usermod failed"
+		fi
 	fi
 }
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-06-26 18:58 Mike Gilbert
  0 siblings, 0 replies; 5996+ messages in thread
From: Mike Gilbert @ 2023-06-26 18:58 UTC (permalink / raw
  To: gentoo-commits

commit:     e6f14e5d76fff757860691c7aa2f94172018711a
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 25 17:49:06 2023 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Jun 26 18:57:38 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6f14e5d

acct-user.eclass: include exit status in death message

Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 eclass/acct-group.eclass | 2 +-
 eclass/acct-user.eclass  | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/acct-group.eclass b/eclass/acct-group.eclass
index 8d2d3adb7221..a0ad86066309 100644
--- a/eclass/acct-group.eclass
+++ b/eclass/acct-group.eclass
@@ -179,7 +179,7 @@ acct-group_pkg_preinst() {
 	fi
 
 	elog "Adding group ${ACCT_GROUP_NAME}"
-	groupadd "${opts[@]}" "${ACCT_GROUP_NAME}" || die
+	groupadd "${opts[@]}" "${ACCT_GROUP_NAME}" || die "groupadd failed with status $?"
 }
 
 fi

diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index b2ac02b2b972..f658aa0eabc3 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -362,7 +362,7 @@ acct-user_pkg_preinst() {
 		fi
 
 		elog "Adding user ${ACCT_USER_NAME}"
-		useradd "${opts[@]}" "${ACCT_USER_NAME}" || die
+		useradd "${opts[@]}" "${ACCT_USER_NAME}" || die "useradd failed with status $?"
 		_ACCT_USER_ADDED=1
 	fi
 
@@ -454,7 +454,7 @@ acct-user_pkg_postinst() {
 			eerror "  usermod ${optsq[*]} ${ACCT_USER_NAME}"
 		else
 			eerror "$(<"${T}/usermod-error.log")"
-			die "usermod failed"
+			die "usermod failed with status ${status}"
 		fi
 	fi
 }
@@ -502,7 +502,7 @@ acct-user_pkg_prerm() {
 	fi
 
 	elog "Locking user ${ACCT_USER_NAME}"
-	usermod "${opts[@]}" "${ACCT_USER_NAME}" || die
+	usermod "${opts[@]}" "${ACCT_USER_NAME}" || die "usermod failed with status $?"
 }
 
 fi


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

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

commit:     15ee3370330281ba738570a59418affc7912237d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 30 18:55:00 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 30 19:41:58 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15ee3370

llvm.org.eclass: Add 17.0.0_pre20230630 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 81d82aeda580..53f714c1c4b1 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
+				17.0.0_pre20230630)
+					EGIT_COMMIT=d32fb5e5f51dedba495301073b9250f84ac6d8a8
+					;;
 				17.0.0_pre20230620)
 					EGIT_COMMIT=aad51417452432092258034c55537a7092fa6295
 					;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-02 13:24 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-02 13:24 UTC (permalink / raw
  To: gentoo-commits

commit:     b6e2235a3982cad4d74bb7eb49e858835344c3ba
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 26 09:54:06 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul  2 13:23:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6e2235a

cmake.eclass: workaround S=${WORKDIR} creating builddir above ${WORKDIR}

When S=${WORKDIR}, cmake.eclass would create its build directory (if CMAKE_USE_DIR
is unset) above WORKDIR(!) as ${WORKDIR}_build. Creating directories above
WORKDIR is not legal.

Portage has its own bug (bug #889418) in that it doesn't clean up unknown directories
above WORKDIR in PORTAGE_TMPDIR, so combined, you get a problem where "ebuild ... clean" doesn't
actually clean things up at all, and you get very confusing issues if e.g. changing
CC between runs.

The explicit S=WORKDIR check isn't truly needed but it makes explicit our
intent here.

Bug: https://bugs.gentoo.org/889418
Closes: https://bugs.gentoo.org/889420
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/cmake.eclass | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 1cdbc123a243..d70f2cbf1fac 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -293,6 +293,15 @@ _cmake_check_build_dir() {
 		BUILD_DIR="${CMAKE_USE_DIR}"
 	else
 		: "${BUILD_DIR:=${CMAKE_USE_DIR}_build}"
+
+		# Avoid creating ${WORKDIR}_build (which is above WORKDIR).
+		# TODO: For EAPI > 8, we should ban S=WORKDIR for CMake.
+		# See bug #889420.
+		if [[ ${S} == "${WORKDIR}" && ${BUILD_DIR} == "${WORKDIR}_build" ]] ; then
+			eqawarn "QA notice: S=WORKDIR is deprecated for cmake.eclass."
+			eqawarn "Please relocate the sources in src_unpack."
+			BUILD_DIR="${WORKDIR}"/${P}_build
+		fi
 	fi
 
 	einfo "Source directory (CMAKE_USE_DIR): \"${CMAKE_USE_DIR}\""


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-02 15:21 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-07-02 15:21 UTC (permalink / raw
  To: gentoo-commits

commit:     abf2b7e5e135b2e0bee18634c071f49efcb07f36
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 23 18:53:43 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul  2 15:09:05 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abf2b7e5

distutils-r1.eclass: Include setuptools-rust version in output

Signed-off-by: Michał Górny <mgorny <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 d602cf40c812..fd9bf47aa963 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1015,6 +1015,7 @@ _distutils-r1_print_package_versions() {
 			setuptools)
 				packages+=(
 					dev-python/setuptools
+					dev-python/setuptools-rust
 					dev-python/setuptools-scm
 					dev-python/wheel
 				)


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-02 15:21 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-07-02 15:21 UTC (permalink / raw
  To: gentoo-commits

commit:     d9ad0548cf82162c3f09bb461122c4efa8bc4969
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 23 06:16:30 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul  2 15:06:28 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d9ad0548

distutils-r1.eclass: Bump minimum dep versions

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/distutils-r1.eclass | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 7a7b762ef059..9251fd3e2220 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -212,7 +212,7 @@ _distutils_set_globals() {
 		case ${DISTUTILS_USE_PEP517} in
 			flit)
 				bdep+='
-					>=dev-python/flit-core-3.8.0[${PYTHON_USEDEP}]
+					>=dev-python/flit-core-3.9.0[${PYTHON_USEDEP}]
 				'
 				;;
 			flit_scm)
@@ -256,12 +256,12 @@ _distutils_set_globals() {
 				;;
 			pdm-backend)
 				bdep+='
-					>=dev-python/pdm-backend-2.0.7[${PYTHON_USEDEP}]
+					>=dev-python/pdm-backend-2.1.0[${PYTHON_USEDEP}]
 				'
 				;;
 			poetry)
 				bdep+='
-					>=dev-python/poetry-core-1.5.2[${PYTHON_USEDEP}]
+					>=dev-python/poetry-core-1.6.1[${PYTHON_USEDEP}]
 				'
 				;;
 			setuptools)
@@ -272,7 +272,7 @@ _distutils_set_globals() {
 				;;
 			sip)
 				bdep+='
-					>=dev-python/sip-6.7.8[${PYTHON_USEDEP}]
+					>=dev-python/sip-6.7.9[${PYTHON_USEDEP}]
 				'
 				;;
 			standalone)
@@ -287,7 +287,7 @@ _distutils_set_globals() {
 			eqawarn "is enabled."
 		fi
 	else
-		local setuptools_dep='>=dev-python/setuptools-65.7.0[${PYTHON_USEDEP}]'
+		local setuptools_dep='>=dev-python/setuptools-67.7.2[${PYTHON_USEDEP}]'
 
 		case ${DISTUTILS_USE_SETUPTOOLS:-bdepend} in
 			no|manual)


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-02 15:21 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-07-02 15:21 UTC (permalink / raw
  To: gentoo-commits

commit:     5b29e5b1a393c21db9974de5c2d01e6dc482d4b9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 23 07:14:19 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul  2 15:06:29 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b29e5b1

distutils-r1.eclass: Add scikit-build-core backend

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/distutils-r1.eclass | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 9251fd3e2220..d602cf40c812 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -264,6 +264,11 @@ _distutils_set_globals() {
 					>=dev-python/poetry-core-1.6.1[${PYTHON_USEDEP}]
 				'
 				;;
+			scikit-build-core)
+				bdep+='
+					>=dev-python/scikit-build-core-0.4.6[${PYTHON_USEDEP}]
+				'
+				;;
 			setuptools)
 				bdep+='
 					>=dev-python/setuptools-67.7.2[${PYTHON_USEDEP}]
@@ -1002,6 +1007,11 @@ _distutils-r1_print_package_versions() {
 					dev-python/poetry-core
 				)
 				;;
+			scikit-build-core)
+				packages+=(
+					dev-python/scikit-build-core
+				)
+				;;
 			setuptools)
 				packages+=(
 					dev-python/setuptools
@@ -1200,6 +1210,9 @@ _distutils-r1_backend_to_key() {
 		poetry.core.masonry.api|poetry.masonry.api)
 			echo poetry
 			;;
+		scikit_build_core.build)
+			echo scikit-build-core
+			;;
 		setuptools.build_meta|setuptools.build_meta:__legacy__)
 			echo setuptools
 			;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-02 15:21 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-07-02 15:21 UTC (permalink / raw
  To: gentoo-commits

commit:     b71b3342dc4c197c5aaf77ef7fff56a9cc06c98d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 23 06:12:42 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul  2 15:06:28 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b71b3342

python-utils-r1.eclass: Bump minimum dev-lang/python versions

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/python-utils-r1.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index d2bbe90da049..40c15b65d7a5 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -448,11 +448,11 @@ _python_export() {
 				local d
 				case ${impl} in
 					python3.10)
-						PYTHON_PKG_DEP=">=dev-lang/python-3.10.11:3.10";;
+						PYTHON_PKG_DEP=">=dev-lang/python-3.10.12:3.10";;
 					python3.11)
-						PYTHON_PKG_DEP=">=dev-lang/python-3.11.3:3.11";;
+						PYTHON_PKG_DEP=">=dev-lang/python-3.11.4:3.11";;
 					python3.12)
-						PYTHON_PKG_DEP=">=dev-lang/python-3.12.0_beta1:3.12";;
+						PYTHON_PKG_DEP=">=dev-lang/python-3.12.0_beta3:3.12";;
 					pypy3)
 						PYTHON_PKG_DEP='>=dev-python/pypy3-7.3.11_p1:0=';;
 					*)


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-03 11:56 Andreas K. Hüttel
  0 siblings, 0 replies; 5996+ messages in thread
From: Andreas K. Hüttel @ 2023-07-03 11:56 UTC (permalink / raw
  To: gentoo-commits

commit:     1288ef96a50212d05eaf23e98e6cbe2a872d713f
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  3 11:52:10 2023 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Mon Jul  3 11:55:59 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1288ef96

acct-user.eclass: Users need their group already at "build time"

Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>

 eclass/acct-user.eclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index f658aa0eabc3..0b47e2d8ed69 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -165,6 +165,7 @@ acct-user_add_deps() {
 	fi
 
 	RDEPEND+=${ACCT_USER_GROUPS[*]/#/ acct-group/}
+	DEPEND+=${ACCT_USER_GROUPS[*]/#/ acct-group/}
 	_ACCT_USER_ADD_DEPS_CALLED=1
 }
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-03 13:54 Alexey Shvetsov
  0 siblings, 0 replies; 5996+ messages in thread
From: Alexey Shvetsov @ 2023-07-03 13:54 UTC (permalink / raw
  To: gentoo-commits

commit:     0cfe2886deb604c98c24d541b1e468a1400b48de
Author:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  3 11:34:27 2023 +0000
Commit:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
CommitDate: Mon Jul  3 13:51:42 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0cfe2886

eclass/kernel-build.eclass: riscv also need dtbs

Signed-off-by: Alexey Shvetsov <alexxy <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 963e020b3746..2123f165846a 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -188,7 +188,7 @@ 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; then
+	if use arm || use arm64 || use riscv; then
 		targets+=( dtbs_install )
 	fi
 
@@ -216,7 +216,7 @@ kernel-build_src_install() {
 	# on what kind of installkernel is installed
 	local targets=( modules_install )
 	# on arm or arm64 you also need dtb
-	if use arm || use arm64; then
+	if use arm || use arm64 || use riscv; then
 		targets+=( dtbs_install )
 	fi
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-03 13:54 Alexey Shvetsov
  0 siblings, 0 replies; 5996+ messages in thread
From: Alexey Shvetsov @ 2023-07-03 13:54 UTC (permalink / raw
  To: gentoo-commits

commit:     2a0dca499f38a1f9f6f16076231376dbb1be64aa
Author:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  3 11:35:33 2023 +0000
Commit:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
CommitDate: Mon Jul  3 13:51:48 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a0dca49

eclass/kernel-build.eclass: should depend on dtc for arm* and riscv

Signed-off-by: Alexey Shvetsov <alexxy <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 2123f165846a..0c8eaf3c1cd5 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -39,6 +39,9 @@ BDEPEND="
 	sys-devel/flex
 	virtual/libelf
 	app-alternatives/yacc
+	arm? ( sys-apps/dtc )
+	arm64? ( sys-apps/dtc )
+	riscv? ( sys-apps/dtc )
 "
 
 IUSE="+strip"


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-04 17:15 Mike Pagano
  0 siblings, 0 replies; 5996+ messages in thread
From: Mike Pagano @ 2023-07-04 17:15 UTC (permalink / raw
  To: gentoo-commits

commit:     ec67e505c7629cea6dcaa0330089fcdb7d2137f9
Author:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  4 17:14:30 2023 +0000
Commit:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
CommitDate: Tue Jul  4 17:14:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec67e505

kernel-2.eclass: Preserve S during install

Closes: https://bugs.gentoo.org/909447

Signed-off-by: Mike Pagano <mpagano <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 b44aea393c8a..2ce1a87c0650 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -890,7 +890,7 @@ install_sources() {
 		done
 	fi
 
-	mv "${WORKDIR}"/linux* "${ED}"/usr/src || die
+	cp -R "${WORKDIR}"/linux* "${ED}"/usr/src || die
 
 	if [[ -n ${UNIPATCH_DOCS} ]]; then
 		for i in ${UNIPATCH_DOCS}; do


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

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

commit:     7f54de2508fd57a8f31b5dc61b970448ab22c20d
Author:     Chris Pritchard <chris <AT> christopherpritchard <DOT> co <DOT> uk>
AuthorDate: Tue Jul  4 23:01:24 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul  5 06:19:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7f54de25

dist-kernel-utils.eclass: fix user script overrides

Closes: https://bugs.gentoo.org/909538
Signed-off-by: Chris Pritchard <chris <AT> christopherpritchard.co.uk>
Closes: https://github.com/gentoo/gentoo/pull/31745
Signed-off-by: Michał Górny <mgorny <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 cfb6f40ac6fa..1ef3104245c6 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -110,14 +110,14 @@ dist-kernel_install_kernel() {
 		# 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; then
+			if ! has "${file##*/}" 50-dracut.install 51-dracut-rescue.install "${plugins[@]##*/}"; then
 					plugins+=( "${file}" )
 			fi
 		done
-		for file in "${EROOT}"/etc/kernel/install.d/*.install; do
-			plugins+=( "${file}" )
-		done
 		shopt -u nullglob
 		export KERNEL_INSTALL_PLUGINS="${KERNEL_INSTALL_PLUGINS} ${plugins[@]}"
 	fi


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-05 15:31 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-07-05 15:31 UTC (permalink / raw
  To: gentoo-commits

commit:     f6f5c9e489b91f60257d4b237fb583cb52018837
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul  5 15:29:14 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul  5 15:31:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f6f5c9e4

llvm.org.eclass: Add 17.0.0_pre20230705 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 53f714c1c4b1..d6ad7caec485 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
+				17.0.0_pre20230705)
+					EGIT_COMMIT=5ae7fde004cbc640c2f60207791ac36574e5f5c6
+					;;
 				17.0.0_pre20230630)
 					EGIT_COMMIT=d32fb5e5f51dedba495301073b9250f84ac6d8a8
 					;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-05 20:41 Conrad Kostecki
  0 siblings, 0 replies; 5996+ messages in thread
From: Conrad Kostecki @ 2023-07-05 20:41 UTC (permalink / raw
  To: gentoo-commits

commit:     fb043a39ca933aa963b36f5599465beca598989b
Author:     Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Wed Jul  5 07:31:40 2023 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Wed Jul  5 20:41:03 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fb043a39

eclass/texlive-module: use HTTPS

Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/31756
Signed-off-by: Conrad Kostecki <conikost <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 793a8dd25f89..9e7e5db2e8f8 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -81,7 +81,7 @@ _TEXLIVE_MODULE_ECLASS=1
 
 inherit texlive-common
 
-HOMEPAGE="http://www.tug.org/texlive/"
+HOMEPAGE="https://www.tug.org/texlive/"
 
 COMMON_DEPEND=">=app-text/texlive-core-${TL_PV:-${PV}}"
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-06  6:31 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-06  6:31 UTC (permalink / raw
  To: gentoo-commits

commit:     e6fef45d3e7fd7dee71718723d068103f6890d64
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Wed Jul  5 07:52:24 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul  6 06:27:20 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6fef45d

java-virtuals-2.eclass: Removal

Marked @DEAD since 2023-06-05 with commit #38467a7

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/31758
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/java-virtuals-2.eclass | 66 -------------------------------------------
 1 file changed, 66 deletions(-)

diff --git a/eclass/java-virtuals-2.eclass b/eclass/java-virtuals-2.eclass
deleted file mode 100644
index 2923fe35a0e5..000000000000
--- a/eclass/java-virtuals-2.eclass
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @DEAD
-# @ECLASS: java-virtuals-2.eclass
-# @MAINTAINER:
-# java@gentoo.org
-# @AUTHOR:
-# Original Author: Alistair John Bush <ali_bush@gentoo.org>
-# @SUPPORTED_EAPIS: 8
-# @BLURB: Java virtuals eclass
-# @DESCRIPTION:
-# To provide a default (and only) src_install function for ebuilds in the
-# java-virtuals category.
-
-case ${EAPI} in
-	8) ;;
-	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
-if [[ -z ${_JAVA_VIRTUALS_2_ECLASS} ]] ; then
-_JAVA_VIRTUALS_2_ECLASS=1
-
-inherit java-utils-2
-
-DEPEND="dev-java/java-config"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}"
-
-# @FUNCTION: java-virtuals-2_src_install
-# @DESCRIPTION:
-# default src_install
-
-java-virtuals-2_src_install() {
-	java-virtuals-2_do_write
-}
-
-# @FUNCTION: java-pkg_do_virtuals_write
-# @INTERNAL
-# @DESCRIPTION:
-# Writes the virtual env file out to disk.
-
-java-virtuals-2_do_write() {
-	java-pkg_init_paths_
-
-	dodir "${JAVA_PKG_VIRTUALS_PATH}"
-	{
-		if [[ -n "${JAVA_VIRTUAL_PROVIDES}" ]]; then
-			echo "PROVIDERS=\"${JAVA_VIRTUAL_PROVIDES}\""
-		fi
-
-		if [[ -n "${JAVA_VIRTUAL_VM}" ]]; then
-			echo "VM=\"${JAVA_VIRTUAL_VM}\""
-		fi
-
-		if [[ -n "${JAVA_VIRTUAL_VM_CLASSPATH}" ]]; then
-			echo "VM_CLASSPATH=\"${JAVA_VIRTUAL_VM_CLASSPATH}\""
-		fi
-		echo "MULTI_PROVIDER=\"${JAVA_VIRTUAL_MULTI=FALSE}\""
-	} > "${JAVA_PKG_VIRTUAL_PROVIDER}"
-}
-
-fi
-
-EXPORT_FUNCTIONS src_install


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-06 17:36 Mike Gilbert
  0 siblings, 0 replies; 5996+ messages in thread
From: Mike Gilbert @ 2023-07-06 17:36 UTC (permalink / raw
  To: gentoo-commits

commit:     4db26e8d267a57bc82d4c60e61de6c9093916074
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Thu Jul  6 17:36:31 2023 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Thu Jul  6 17:36:31 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4db26e8d

Revert "acct-user.eclass: Users need their group already at "build time""

We pass --prefix "${ROOT}" to the useradd command, which means it should
be looking in ${ROOT}/etc/group, not ${SYSROOT}/etc/group.

Reverts: 1288ef96a50212d05eaf23e98e6cbe2a872d713f
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 eclass/acct-user.eclass | 1 -
 1 file changed, 1 deletion(-)

diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index 0b47e2d8ed69..f658aa0eabc3 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -165,7 +165,6 @@ acct-user_add_deps() {
 	fi
 
 	RDEPEND+=${ACCT_USER_GROUPS[*]/#/ acct-group/}
-	DEPEND+=${ACCT_USER_GROUPS[*]/#/ acct-group/}
 	_ACCT_USER_ADD_DEPS_CALLED=1
 }
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-08 21:18 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ messages in thread
From: Andreas Sturmlechner @ 2023-07-08 21:18 UTC (permalink / raw
  To: gentoo-commits

commit:     3020832ba81b8ac64676bcde632315fa3e2c6a92
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  8 20:58:18 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Jul  8 21:18:22 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3020832b

qt5-build.eclass: Rename qt5_tools_oos_quirk -> qt5_configure_oos_quirk

...and turn it into a public helper, as it serves more than just qttools.

The initial review missed the fact that qtlocation is not part of qttools, so
push the quirks back into the ebuilds, calling the newly publicised function.

Bug: https://bugs.gentoo.org/910066
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 eclass/qt5-build.eclass | 61 +++++++++++++++++++------------------------------
 1 file changed, 23 insertions(+), 38 deletions(-)

diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
index 847c436651af..5e23d793915a 100644
--- a/eclass/qt5-build.eclass
+++ b/eclass/qt5-build.eclass
@@ -326,6 +326,28 @@ qt5-build_pkg_postrm() {
 
 ######  Public helpers  ######
 
+# @FUNCTION: qt5_configure_oos_quirk
+# @USAGE: <file> or <file> <path>
+# @DESCRIPTION:
+# Quirk for out-of-source builds. Runs qmake in root directory, copies
+# generated pri <file> from source <path> to build dir <path>.
+# If no <path> is given, <file> is copied to ${QT5_BUILD_DIR}.
+qt5_configure_oos_quirk() {
+	if [[ "$#" == 2 ]]; then
+		local source="${2}/${1}"
+		local dest="${QT5_BUILD_DIR}/${2}"
+	elif [[ "$#" == 1 ]]; then
+		local source="${1}"
+		local dest="${QT5_BUILD_DIR}"
+	else
+		die "${FUNCNAME[0]} must be passed either one or two arguments"
+	fi
+
+	mkdir -p "${dest}" || die
+	qt5_qmake "${QT5_BUILD_DIR}"
+	cp "${source}" "${dest}" || die
+}
+
 # @FUNCTION: qt5_syncqt_version
 # @DESCRIPTION:
 # Wrapper for Qt5 syncqt.pl to sync header files for ${PV} (required to run if
@@ -739,44 +761,7 @@ qt5_tools_configure() {
 	# allow the ebuild to override what we set here
 	myqmakeargs=( "${qmakeargs[@]}" "${myqmakeargs[@]}" )
 
-	# out-of-source build quirks
-	case ${PN} in
-		qdoc)
-			# bug 676948
-			qt5_tools_oos_quirk qtqdoc-config.pri src/qdoc
-			;;
-		qtlocation)
-			# src/plugins/geoservices requires files that are only generated
-			# when qmake is run in the root directory. bug 633776
-			qt5_tools_oos_quirk qtlocation-config.pri src/location
-			;;
-		*) ;;
-	esac
-
-	qt5_tools_oos_quirk qttools-config.pri
-}
-
-# @FUNCTION: qt5_tools_oos_quirk
-# @INTERNAL
-# @USAGE: <file> or <file> <path>
-# @DESCRIPTION:
-# Quirk for out-of-source builds. Runs qmake in root directory, copies
-# generated pri <file> from source <path> to build dir <path>.
-# If no <path> is given, <file> is copied to ${QT5_BUILD_DIR}.
-qt5_tools_oos_quirk() {
-	if [[ "$#" == 2 ]]; then
-		local source="${2}/${1}"
-		local dest="${QT5_BUILD_DIR}/${2}"
-	elif [[ "$#" == 1 ]]; then
-		local source="${1}"
-		local dest="${QT5_BUILD_DIR}"
-	else
-		die "${FUNCNAME[0]} must be passed either one or two arguments"
-	fi
-
-	mkdir -p "${dest}" || die
-	qt5_qmake "${QT5_BUILD_DIR}"
-	cp "${source}" "${dest}" || die
+	qt5_configure_oos_quirk qttools-config.pri
 }
 
 # @FUNCTION: qt5_qmake_args


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-09 16:31 Mike Gilbert
  0 siblings, 0 replies; 5996+ messages in thread
From: Mike Gilbert @ 2023-07-09 16:31 UTC (permalink / raw
  To: gentoo-commits

commit:     e1d6ed10e8d940901f9ccef283f21b7383141bda
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  9 01:06:33 2023 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Jul  9 16:29:46 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1d6ed10

user-info.eclass: egetent: fix lookup by id when ROOT != /

Previous to this change, egetent would match any id that starts with the
id given as input. For example:

egetent group 1

bin::1:root,bin,daemon
wheel::10:root
floppy::11:root
news::13:news
uucp::14:uucp
console::17:
audio::18:
cdrom::19:
users::100:

Adding a colon to the grep expression yields the desired result:

egetent group 1

bin::1:root,bin,daemon

Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 eclass/user-info.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/user-info.eclass b/eclass/user-info.eclass
index b18f280c1022..1cc7b8250309 100644
--- a/eclass/user-info.eclass
+++ b/eclass/user-info.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: user-info.eclass
@@ -64,7 +64,7 @@ egetent() {
 			getent "${db}" "${key}"
 		else
 			if [[ ${key} =~ ^[[:digit:]]+$ ]]; then
-				grep -E "^([^:]*:){2}${key}" "${ROOT}/etc/${db}"
+				grep -E "^([^:]*:){2}${key}:" "${ROOT}/etc/${db}"
 			else
 				grep "^${key}:" "${ROOT}/etc/${db}"
 			fi


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-11 10:41 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-07-11 10:41 UTC (permalink / raw
  To: gentoo-commits

commit:     9e7d7e49442f4fb91bb006b71ce52476dc41fda5
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 11 10:24:04 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 11 10:25:28 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e7d7e49

llvm.org.eclass: Remove old snapshots

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 d6ad7caec485..ffc5ad4405ee 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,18 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
 				17.0.0_pre20230705)
 					EGIT_COMMIT=5ae7fde004cbc640c2f60207791ac36574e5f5c6
 					;;
-				17.0.0_pre20230630)
-					EGIT_COMMIT=d32fb5e5f51dedba495301073b9250f84ac6d8a8
-					;;
-				17.0.0_pre20230620)
-					EGIT_COMMIT=aad51417452432092258034c55537a7092fa6295
-					;;
-				17.0.0_pre20230615)
-					EGIT_COMMIT=0e08374abb2c61a3ae5c24d5f60be3b548da9778
-					;;
-				17.0.0_pre20230609)
-					EGIT_COMMIT=62c0bdabfa32f6e32b17b45425b15309db340dfb
-					;;
 				*)
 					die "Unknown snapshot: ${PV}"
 					;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-12  6:25 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-12  6:25 UTC (permalink / raw
  To: gentoo-commits

commit:     dc51935f7aae5f89d1ffecabef322680979952b8
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  9 00:49:47 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 12 06:24:42 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc51935f

cargo.eclass: filter out lto flags for C/CXX compilers

we do it in src_compile to avoid excessive flag stripping in projects
using cargo.eclass just to fetch crates.

Bug: https://bugs.gentoo.org/903908
Closes: https://bugs.gentoo.org/893658
Closes: https://bugs.gentoo.org/910220
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/cargo.eclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 2ff1f042ba79..70b6008d9cd8 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -43,7 +43,7 @@ case ${EAPI} in
 		;;
 esac
 
-inherit multiprocessing toolchain-funcs
+inherit flag-o-matic multiprocessing toolchain-funcs
 
 [[ ! ${CARGO_OPTIONAL} ]] && BDEPEND="${RUST_DEPEND}"
 
@@ -513,6 +513,7 @@ cargo_src_compile() {
 	[[ ${_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 -- cargo build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-16  9:40 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-07-16  9:40 UTC (permalink / raw
  To: gentoo-commits

commit:     45ab95c12a05bc3bf73247e6ad5d0320560d4b1c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 16 09:40:11 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jul 16 09:40:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=45ab95c1

elisp.eclass: Update documentation for NEED_EMACS

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

 eclass/elisp.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 72e623a12179..20139491c976 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -32,9 +32,9 @@
 # @PRE_INHERIT
 # @DEFAULT_UNSET
 # @DESCRIPTION:
-# If you need anything different from Emacs 23, use the NEED_EMACS
-# variable before inheriting elisp.eclass.  Set it to the version your
-# package uses and the dependency will be adjusted.
+# If you need anything different from Emacs 25.3 (or newer), use the
+# NEED_EMACS variable before inheriting elisp.eclass.  Set it to the
+# version your package uses and the dependency will be adjusted.
 
 # @ECLASS_VARIABLE: ELISP_PATCHES
 # @DEFAULT_UNSET


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-16  9:44 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-07-16  9:44 UTC (permalink / raw
  To: gentoo-commits

commit:     7c54780b98dc141b45d4e657cb58839c6a50e869
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 16 09:44:21 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jul 16 09:44:21 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c54780b

elisp-common.eclass: Small documentation update

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 ff1b2d0da0f3..1958b4a07e18 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-23.1:* )
+# 	emacs? ( >=app-editors/emacs-25.3:* )
 # @CODE
 #
 # to your DEPEND/RDEPEND line and use the functions provided here to


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-17  8:13 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ messages in thread
From: Andrew Ammerlaan @ 2023-07-17  8:13 UTC (permalink / raw
  To: gentoo-commits

commit:     3a6c1dbbb68093c139b9fdb0420cf5e913c7cfe6
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 14 07:48:22 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 08:03:10 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a6c1dbb

docs.eclass: define missing python_check_deps()

and remove some code duplication

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

 eclass/docs.eclass | 59 ++++++++++++++++++++++++++++++------------------------
 1 file changed, 33 insertions(+), 26 deletions(-)

diff --git a/eclass/docs.eclass b/eclass/docs.eclass
index da598226bfc0..1aa4937a6363 100644
--- a/eclass/docs.eclass
+++ b/eclass/docs.eclass
@@ -186,21 +186,36 @@ initialize_git_repo() {
 	fi
 }
 
-# @FUNCTION: python_append_deps
+# @FUNCTION: _docs_set_python_deps
 # @INTERNAL
 # @DESCRIPTION:
-# Appends [\${PYTHON_USEDEP}] to all dependencies
-# for python based DOCS_BUILDERs such as mkdocs or
-# sphinx.
-python_append_deps() {
+# Add python_gen_any_dep or python_gen_cond_dep
+# to DOCS_DEPEND and define python_check_deps
+_docs_set_python_deps() {
 	debug-print-function ${FUNCNAME}
 
-	local temp
+	local deps=${@}
+	python_check_deps() {
+		use doc || return 0
+
+		local dep
+		for dep in ${deps[@]}; do
+			python_has_version "${dep}[${PYTHON_USEDEP}]" ||
+				return 1
+		done
+	}
+
+	local deps_appended
 	local dep
-	for dep in ${DOCS_DEPEND[@]}; do
-		temp+=" ${dep}[\${PYTHON_USEDEP}]"
+	for dep in ${deps[@]}; do
+		deps_appended+=" ${dep}[\${PYTHON_USEDEP}]"
 	done
-	DOCS_DEPEND=${temp}
+
+	if [[ ${_PYTHON_SINGLE_R1_ECLASS} ]]; then
+		DOCS_DEPEND=$(python_gen_cond_dep "${deps_appended}")
+	else
+		DOCS_DEPEND=$(python_gen_any_dep "${deps_appended}")
+	fi
 }
 
 # @FUNCTION: sphinx_deps
@@ -212,8 +227,8 @@ sphinx_deps() {
 
 	: "${DOCS_AUTODOC:=1}"
 
-	deps="dev-python/sphinx[\${PYTHON_USEDEP}]
-			${DOCS_DEPEND}"
+	deps="dev-python/sphinx
+		${DOCS_DEPEND}"
 	if [[ ${DOCS_AUTODOC} == 0 ]]; then
 		if [[ -n "${DOCS_DEPEND}" ]]; then
 			die "${FUNCNAME}: do not set DOCS_AUTODOC to 0 if external plugins are used"
@@ -221,11 +236,8 @@ sphinx_deps() {
 	elif [[ ${DOCS_AUTODOC} != 0 && ${DOCS_AUTODOC} != 1 ]]; then
 		die "${FUNCNAME}: DOCS_AUTODOC should be set to 0 or 1"
 	fi
-	if [[ ${_PYTHON_SINGLE_R1_ECLASS} ]]; then
-		DOCS_DEPEND="$(python_gen_cond_dep "${deps}")"
-	else
-		DOCS_DEPEND="$(python_gen_any_dep "${deps}")"
-	fi
+
+	_docs_set_python_deps ${deps}
 }
 
 # @FUNCTION: sphinx_compile
@@ -276,19 +288,16 @@ mkdocs_deps() {
 
 	: "${DOCS_AUTODOC:=0}"
 
-	deps="dev-python/mkdocs[\${PYTHON_USEDEP}]
-			${DOCS_DEPEND}"
+	deps="dev-python/mkdocs
+		${DOCS_DEPEND}"
 	if [[ ${DOCS_AUTODOC} == 1 ]]; then
-		deps="dev-python/mkautodoc[\${PYTHON_USEDEP}]
+		deps="dev-python/mkautodoc
 				${deps}"
 	elif [[ ${DOCS_AUTODOC} != 0 && ${DOCS_AUTODOC} != 1 ]]; then
 		die "${FUNCNAME}: DOCS_AUTODOC should be set to 0 or 1"
 	fi
-	if [[ ${_PYTHON_SINGLE_R1_ECLASS} ]]; then
-		DOCS_DEPEND="$(python_gen_cond_dep "${deps}")"
-	else
-		DOCS_DEPEND="$(python_gen_any_dep "${deps}")"
-	fi
+
+	_docs_set_python_deps ${deps}
 }
 
 # @FUNCTION: mkdocs_compile
@@ -404,11 +413,9 @@ IUSE+=" doc"
 # Call the correct setup function
 case ${DOCS_BUILDER} in
 	"sphinx")
-		python_append_deps
 		sphinx_deps
 		;;
 	"mkdocs")
-		python_append_deps
 		mkdocs_deps
 		;;
 	"doxygen")


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

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

commit:     d2da31f41428439e273db7f1a8c8c3ff883641ed
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 12 12:19:36 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 09:44:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2da31f4

distutils-r1.eclass: Disable LTO when using cargo.eclass

Strip LTO flags when cargo.eclass is inherited.  This means that Rust
extensions are being built, and linking them with C/C++ style LTO
results in broken shared libraries.

Closes: https://bugs.gentoo.org/910220
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/distutils-r1.eclass | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 924e83b54ad8..e4f0589e191b 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -191,6 +191,7 @@ esac
 if [[ -z ${_DISTUTILS_R1_ECLASS} ]]; then
 _DISTUTILS_R1_ECLASS=1
 
+inherit flag-o-matic
 inherit multibuild multilib multiprocessing ninja-utils toolchain-funcs
 
 if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
@@ -1836,6 +1837,12 @@ distutils-r1_run_phase() {
 		local -x CYTHON_FORCE_REGEN=1
 	fi
 
+	# 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] 5996+ messages in thread

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

commit:     ee468eec11953a67f877bc7e15079f9dcdc7ddaa
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 15 15:51:25 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 09:44:22 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ee468eec

python-utils-r1.eclass: Loosen minimal Python versions

Loosen minimal Python versions to accept any version in a given slot.
Lower bounds are cumbersome to maintain and cause problems when
upgrading outdated systems, particularly when sys-libs/glibc
is involved.

We could technically apply some hack to make any-r1 dependency checks
to conditionally ignore minimal versions but that sounds like
unnecessary complexity.  In the end, minimum versions were primarily
enforced to make sure users got the latest bugfixes but that doesn't
seem strictly necessary.

Closes: https://bugs.gentoo.org/910288
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/31796
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/python-any-r1.eclass   |  6 +++---
 eclass/python-r1.eclass       |  2 +-
 eclass/python-utils-r1.eclass | 12 +++++-------
 3 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass
index d7d44a87f516..4e2e12e228ad 100644
--- a/eclass/python-any-r1.eclass
+++ b/eclass/python-any-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: python-any-r1.eclass
@@ -176,7 +176,7 @@ _python_any_set_globals() {
 		_python_export "${i}" PYTHON_PKG_DEP
 
 		# note: need to strip '=' slot operator for || deps
-		deps="${PYTHON_PKG_DEP/:0=/:0} ${deps}"
+		deps="${PYTHON_PKG_DEP/:=} ${deps}"
 	done
 	deps="|| ( ${deps})"
 
@@ -259,7 +259,7 @@ python_gen_any_dep() {
 		local i_depstr=${depstr//\$\{PYTHON_USEDEP\}/${PYTHON_USEDEP}}
 		i_depstr=${i_depstr//\$\{PYTHON_SINGLE_USEDEP\}/${PYTHON_SINGLE_USEDEP}}
 		# note: need to strip '=' slot operator for || deps
-		out="( ${PYTHON_PKG_DEP%=} ${i_depstr} ) ${out}"
+		out="( ${PYTHON_PKG_DEP%:=} ${i_depstr} ) ${out}"
 	done
 	echo "|| ( ${out})"
 }

diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index 4758defe6493..b816e3b6f855 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.eclass
@@ -522,7 +522,7 @@ python_gen_any_dep() {
 			local i_depstr=${depstr//\$\{PYTHON_USEDEP\}/${PYTHON_USEDEP}}
 			i_depstr=${i_depstr//\$\{PYTHON_SINGLE_USEDEP\}/${PYTHON_SINGLE_USEDEP}}
 			# note: need to strip '=' slot operator for || deps
-			out="( ${PYTHON_PKG_DEP/:0=/:0} ${i_depstr} ) ${out}"
+			out="( ${PYTHON_PKG_DEP/:=} ${i_depstr} ) ${out}"
 		fi
 	done
 	echo "|| ( ${out})"

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index a395538be39c..a883135eaa41 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -446,14 +446,12 @@ _python_export() {
 			PYTHON_PKG_DEP)
 				local d
 				case ${impl} in
-					python3.10)
-						PYTHON_PKG_DEP=">=dev-lang/python-3.10.12:3.10";;
-					python3.11)
-						PYTHON_PKG_DEP=">=dev-lang/python-3.11.4:3.11";;
-					python3.12)
-						PYTHON_PKG_DEP=">=dev-lang/python-3.12.0_beta3:3.12";;
+					python*)
+						PYTHON_PKG_DEP="dev-lang/python:${impl#python}"
+						;;
 					pypy3)
-						PYTHON_PKG_DEP='>=dev-python/pypy3-7.3.12:0=';;
+						PYTHON_PKG_DEP="dev-python/${impl}:="
+						;;
 					*)
 						die "Invalid implementation: ${impl}"
 				esac


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

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

commit:     bb60cc3fc8505ce5323ebbe6825faf68c6af4f33
Author:     Tom Gillespie <tgbugs <AT> gmail <DOT> com>
AuthorDate: Thu Jul 13 01:55:39 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 09:44:20 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb60cc3f

pypi.eclass: _pypi_translate_version _pre to .dev

Implement automatic translation _pre to .dev for pypi SRC_URIs.

Signed-off-by: Tom Gillespie <tgbugs <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/31861
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/pypi.eclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
index 594216a7fd96..b80ff9c95d36 100644
--- a/eclass/pypi.eclass
+++ b/eclass/pypi.eclass
@@ -105,6 +105,7 @@ _pypi_translate_version() {
 	local version=${1}
 	version=${version/_alpha/a}
 	version=${version/_beta/b}
+	version=${version/_pre/.dev}
 	version=${version/_rc/rc}
 	_PYPI_TRANSLATED_VERSION=${version/_p/.post}
 }


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

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

commit:     8f952fad8ad5152d7877944c537f469f25d0a7af
Author:     Violet Purcell <vimproved <AT> inventati <DOT> org>
AuthorDate: Sat Jul  8 18:25:16 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 09:44:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f952fad

multibuild.eclass: Remove --reflink=auto from calls to cp

--reflink=auto has become the default behaviour in coreutils 9,
and it is not compatible with BSD userland.

Signed-off-by: Violet Purcell <vimproved <AT> inventati.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/multibuild.eclass | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/eclass/multibuild.eclass b/eclass/multibuild.eclass
index 33edb9312a86..d8a5862731bf 100644
--- a/eclass/multibuild.eclass
+++ b/eclass/multibuild.eclass
@@ -170,8 +170,7 @@ multibuild_copy_sources() {
 
 	_multibuild_create_source_copy() {
 		einfo "${MULTIBUILD_VARIANT}: copying to ${BUILD_DIR}"
-		# enable reflinking if possible to make this faster
-		cp -p -R --reflink=auto \
+		cp -p -R \
 			"${_MULTIBUILD_INITIAL_BUILD_DIR}" "${BUILD_DIR}" || die
 	}
 
@@ -190,8 +189,7 @@ multibuild_merge_root() {
 	local src=${1}
 	local dest=${2}
 
-	# enable reflinking if possible to make this faster
-	cp -a --reflink=auto "${src}"/. "${dest}"/ || die "${MULTIBUILD_VARIANT:-(unknown)}: merging image failed"
+	cp -a "${src}"/. "${dest}"/ || die "${MULTIBUILD_VARIANT:-(unknown)}: merging image failed"
 	rm -rf "${src}" || die
 }
 


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

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

commit:     b6ee87f3dd10dac484d0d0c6e9db0efa187164ab
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 12 12:06:28 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 09:44:18 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6ee87f3

distutils-r1.eclass: Update addpredict for PyPy3.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 046277d0371c..924e83b54ad8 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1718,7 +1718,7 @@ distutils-r1_python_install() {
 		# python likes to compile any module it sees, which triggers sandbox
 		# failures if some packages haven't compiled their modules yet.
 		addpredict "${EPREFIX}/usr/lib/${EPYTHON}"
-		addpredict "${EPREFIX}/usr/lib/pypy3.9"
+		addpredict "${EPREFIX}/usr/lib/pypy3.10"
 		addpredict "${EPREFIX}/usr/local" # bug 498232
 
 		if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then


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

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

commit:     ed78c944748d94ea4fb37c782b23cbe478899c1d
Author:     Violet Purcell <vimproved <AT> inventati <DOT> org>
AuthorDate: Sat Jul  8 18:25:37 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 09:44:14 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed78c944

distutils-r1.eclass: Remove --reflink=auto from calls to cp

--reflink=auto has become the default behaviour in coreutils 9,
and it is not compatible with BSD userland.

Signed-off-by: Violet Purcell <vimproved <AT> inventati.org>
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 fd9bf47aa963..046277d0371c 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1974,7 +1974,7 @@ _distutils-r1_post_python_compile() {
 			die "${rscriptdir} should not exist!"
 		if [[ -d ${bindir} ]]; then
 			mkdir -p "${rscriptdir}" || die
-			cp -a --reflink=auto "${bindir}"/. "${rscriptdir}"/ || die
+			cp -a "${bindir}"/. "${rscriptdir}"/ || die
 		fi
 
 		# enable venv magic inside the install tree


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

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

commit:     6f61ad4771edc1793a28f4674b5decb6951f957a
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 12 12:05:59 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 09:44:17 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f61ad47

python-utils-r1.eclass: pypy3 is now 3.10-only

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/python-utils-r1.eclass | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 81051699f1d9..a395538be39c 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -238,12 +238,11 @@ _python_impl_matches() {
 				fi
 				return 0
 				;;
-			3.9|3.10)
-				# <pypy3-7.3.12 is 3.9, >=7.3.12 is 3.10
+			3.10)
 				[[ ${impl} == python${pattern/./_} || ${impl} == pypy3 ]] &&
 					return 0
 				;;
-			3.8|3.1[1-2])
+			3.8|3.9|3.1[1-2])
 				[[ ${impl} == python${pattern/./_} ]] && return 0
 				;;
 			*)


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

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

commit:     8cc7354d298d9906237e696831ddbcbcc898fc5e
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 15 15:58:24 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 09:44:21 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8cc7354d

distutils-r1.eclass: wheel dep moved into setuptools

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/distutils-r1.eclass | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index e4f0589e191b..658d26f2a440 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -272,8 +272,7 @@ _distutils_set_globals() {
 				;;
 			setuptools)
 				bdep+='
-					>=dev-python/setuptools-67.7.2[${PYTHON_USEDEP}]
-					>=dev-python/wheel-0.40.0[${PYTHON_USEDEP}]
+					>=dev-python/setuptools-67.8.0-r1[${PYTHON_USEDEP}]
 				'
 				;;
 			sip)
@@ -293,7 +292,7 @@ _distutils_set_globals() {
 			eqawarn "is enabled."
 		fi
 	else
-		local setuptools_dep='>=dev-python/setuptools-67.7.2[${PYTHON_USEDEP}]'
+		local setuptools_dep='>=dev-python/setuptools-67.8.0-r1[${PYTHON_USEDEP}]'
 
 		case ${DISTUTILS_USE_SETUPTOOLS:-bdepend} in
 			no|manual)


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

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

commit:     d73aff46dc22e0e2bd4b63ab5b46c8dfc5600b9f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 12 12:03:30 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 09:44:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d73aff46

python-utils-r1.eclass: Require >=dev-python/pypy3-7.3.12

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 40c15b65d7a5..81051699f1d9 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -454,7 +454,7 @@ _python_export() {
 					python3.12)
 						PYTHON_PKG_DEP=">=dev-lang/python-3.12.0_beta3:3.12";;
 					pypy3)
-						PYTHON_PKG_DEP='>=dev-python/pypy3-7.3.11_p1:0=';;
+						PYTHON_PKG_DEP='>=dev-python/pypy3-7.3.12:0=';;
 					*)
 						die "Invalid implementation: ${impl}"
 				esac


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

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

commit:     7ad9b298d939424e9ee839833da8a12257647943
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 17 10:45:39 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 14:14:17 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7ad9b298

llvm.org.eclass: Add 17.0.0_pre20230717 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 ffc5ad4405ee..4691b3c9666d 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
+				17.0.0_pre20230717)
+					EGIT_COMMIT=3cd3f11c174baa001b337b88c7a6507eb5705cf2
+					;;
 				17.0.0_pre20230705)
 					EGIT_COMMIT=5ae7fde004cbc640c2f60207791ac36574e5f5c6
 					;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-17 14:24 Florian Schmaus
  0 siblings, 0 replies; 5996+ messages in thread
From: Florian Schmaus @ 2023-07-17 14:24 UTC (permalink / raw
  To: gentoo-commits

commit:     d5e1f736c92d50438ee7dd19c5067e47044c99b3
Author:     Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 17 14:20:05 2023 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 14:21:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5e1f736

shell-completion.eclass: new eclass, migrated from ::guru

Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>

 eclass/shell-completion.eclass | 115 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 115 insertions(+)

diff --git a/eclass/shell-completion.eclass b/eclass/shell-completion.eclass
new file mode 100644
index 000000000000..debfb8ecd26f
--- /dev/null
+++ b/eclass/shell-completion.eclass
@@ -0,0 +1,115 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: shell-completion.eclass
+# @SUPPORTED_EAPIS: 8
+# @PROVIDES: bash-completion-r1
+# @AUTHOR:
+# Alfred Wingate <parona@protonmail.com>
+# @MAINTAINER:
+# Jonas Frei <freijon@pm.me>
+# Florian Schmaus <flow@gentoo.org>
+# @BLURB: a few quick functions to install various shell completion files
+# @DESCRIPTION:
+# This eclass provides a standardised way to install shell completions
+# for popular shells.  It inherits the already widely adopted
+# 'bash-completion-r1', thus extending on its functionality.
+
+case ${EAPI} in
+	8) ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported"
+esac
+
+if [[ ! ${_SHELL_COMPLETION_ECLASS} ]]; then
+_SHELL_COMPLETION_ECLASS=1
+
+# Extend bash-completion-r1
+inherit bash-completion-r1
+
+# @FUNCTION: _shell-completion_get_fishcompdir
+# @INTERNAL
+# @RETURN: unprefixed fish completions directory
+_shell-completion_get_fishcompdir() {
+	echo "/usr/share/fish/vendor_completions.d"
+}
+
+# @FUNCTION: _shell-completion_get_zshcompdir
+# @INTERNAL
+# @RETURN: unprefixed zsh completions directory
+_shell-completion_get_zshcompdir() {
+	echo "/usr/share/zsh/site-functions"
+}
+
+# @FUNCTION: get_fishcompdir
+# @RETURN: the fish completions directory (with EPREFIX)
+get_fishcompdir() {
+	debug-print-function ${FUNCNAME} "${@}"
+
+	echo "${EPREFIX}$(_shell-completion_get_fishcompdir)"
+}
+
+# @FUNCTION: get_zshcompdir
+# @RETURN: the zsh completions directory (with EPREFIX)
+get_zshcompdir() {
+	debug-print-function ${FUNCNAME} "${@}"
+
+	echo "${EPREFIX}$(_shell-completion_get_zshcompdir)"
+}
+
+# @FUNCTION: dofishcomp
+# @USAGE: <file...>
+# @DESCRIPTION:
+# Install fish completion files passed as args.
+dofishcomp() {
+	debug-print-function ${FUNCNAME} "${@}"
+
+	(
+		insopts -m 0644
+		insinto "$(_shell-completion_get_fishcompdir)"
+		doins "${@}"
+	)
+}
+
+# @FUNCTION: dozshcomp
+# @USAGE: <file...>
+# @DESCRIPTION:
+# Install zsh completion files passed as args.
+dozshcomp() {
+	debug-print-function ${FUNCNAME} "${@}"
+
+	(
+		insopts -m 0644
+		insinto "$(_shell-completion_get_zshcompdir)"
+		doins "${@}"
+	)
+}
+
+# @FUNCTION: newfishcomp
+# @USAGE: <file> <newname>
+# @DESCRIPTION:
+# Install fish file under a new name.
+newfishcomp() {
+	debug-print-function ${FUNCNAME} "${@}"
+
+	(
+		insopts -m 0644
+		insinto "$(_shell-completion_get_fishcompdir)"
+		newins "${@}"
+	)
+}
+
+# @FUNCTION: newzshcomp
+# @USAGE: <file> <newname>
+# @DESCRIPTION:
+# Install zsh file under a new name.
+newzshcomp() {
+	debug-print-function ${FUNCNAME} "${@}"
+
+	(
+		insopts -m 0644
+		insinto "$(_shell-completion_get_zshcompdir)"
+		newins "${@}"
+	)
+}
+
+fi


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-17 21:18 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-17 21:18 UTC (permalink / raw
  To: gentoo-commits

commit:     4ba2e70baded5cbcabbfd03d7440d677cd955f23
Author:     konsolebox <konsolebox <AT> gmail <DOT> com>
AuthorDate: Fri Jul 14 08:33:44 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 21:18:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ba2e70b

ruby-utils.eclass: Simplify _ruby_implementation_depend

Closes: https://bugs.gentoo.org/909529
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/ruby-utils.eclass | 52 ++----------------------------------------------
 1 file changed, 2 insertions(+), 50 deletions(-)

diff --git a/eclass/ruby-utils.eclass b/eclass/ruby-utils.eclass
index c4b6f1502f8a..8a2b7720c951 100644
--- a/eclass/ruby-utils.eclass
+++ b/eclass/ruby-utils.eclass
@@ -44,57 +44,9 @@ _ruby_implementation_depend() {
 	local rubyslot=
 
 	case $1 in
-		ruby18)
+		ruby1[89]|ruby2[0-7]|ruby3[0-2])
 			rubypn="dev-lang/ruby"
-			rubyslot=":1.8"
-			;;
-		ruby19)
-			rubypn="dev-lang/ruby"
-			rubyslot=":1.9"
-			;;
-		ruby20)
-			rubypn="dev-lang/ruby"
-			rubyslot=":2.0"
-			;;
-		ruby21)
-			rubypn="dev-lang/ruby"
-			rubyslot=":2.1"
-			;;
-		ruby22)
-			rubypn="dev-lang/ruby"
-			rubyslot=":2.2"
-			;;
-		ruby23)
-			rubypn="dev-lang/ruby"
-			rubyslot=":2.3"
-			;;
-		ruby24)
-			rubypn="dev-lang/ruby"
-			rubyslot=":2.4"
-			;;
-		ruby25)
-			rubypn="dev-lang/ruby"
-			rubyslot=":2.5"
-			;;
-		ruby26)
-			rubypn="dev-lang/ruby"
-			rubyslot=":2.6"
-			;;
-		ruby27)
-			rubypn="dev-lang/ruby"
-			rubyslot=":2.7"
-			;;
-		ruby30)
-			rubypn="dev-lang/ruby"
-			rubyslot=":3.0"
-			;;
-		ruby31)
-			rubypn="dev-lang/ruby"
-			rubyslot=":3.1"
-			;;
-		ruby32)
-			rubypn="dev-lang/ruby"
-			rubyslot=":3.2"
+			rubyslot=":${1:4:1}.${1:5}"
 			;;
 		ree18)
 			rubypn="dev-lang/ruby-enterprise"


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-18 20:52 Matt Turner
  0 siblings, 0 replies; 5996+ messages in thread
From: Matt Turner @ 2023-07-18 20:52 UTC (permalink / raw
  To: gentoo-commits

commit:     92001b4083b2f65353a0509ee9b9303015804e92
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 18 20:48:42 2023 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Jul 18 20:51:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92001b40

meson.eclass: Change maintainer to base-system@

Per floppym's request.

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 eclass/meson.eclass | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index 2c274b213191..adbc495fdef3 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -3,8 +3,7 @@
 
 # @ECLASS: meson.eclass
 # @MAINTAINER:
-# William Hubbs <williamh@gentoo.org>
-# Mike Gilbert <floppym@gentoo.org>
+# base-system@gentoo.org
 # @SUPPORTED_EAPIS: 7 8
 # @BLURB: common ebuild functions for meson-based packages
 # @DESCRIPTION:


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-18 20:52 Matt Turner
  0 siblings, 0 replies; 5996+ messages in thread
From: Matt Turner @ 2023-07-18 20:52 UTC (permalink / raw
  To: gentoo-commits

commit:     89fa08dd8703bfd854d6a77a60bbd270ae8d803d
Author:     Jonas Rakebrandt <xarblu <AT> protonmail <DOT> com>
AuthorDate: Mon Jan  2 19:40:13 2023 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Jul 18 20:51:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89fa08dd

meson.eclass: Add MESON_VERBOSE

This works similar to cmake.eclass's ${CMAKE_VERBOSE}.

Closes: https://github.com/gentoo/gentoo/pull/28942
Signed-off-by: Jonas Rakebrandt <xarblu <AT> protonmail.com>
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 eclass/meson.eclass | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/eclass/meson.eclass b/eclass/meson.eclass
index adbc495fdef3..5aff3eb58930 100644
--- a/eclass/meson.eclass
+++ b/eclass/meson.eclass
@@ -54,6 +54,12 @@ BDEPEND=">=dev-util/meson-0.62.2
 # Build directory, location where all generated files should be placed.
 # If this isn't set, it defaults to ${WORKDIR}/${P}-build.
 
+# @ECLASS_VARIABLE: MESON_VERBOSE
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Set to OFF to disable verbose messages during compilation
+: "${MESON_VERBOSE:=ON}"
+
 # @ECLASS_VARIABLE: EMESON_BUILDTYPE
 # @DESCRIPTION:
 # The buildtype value to pass to meson setup.
@@ -384,10 +390,15 @@ meson_src_compile() {
 		-C "${BUILD_DIR}"
 		--jobs "$(makeopts_jobs "${MAKEOPTS}" 0)"
 		--load-average "$(makeopts_loadavg "${MAKEOPTS}" 0)"
-		--verbose
-		"$@"
 	)
 
+	case ${MESON_VERBOSE} in
+		OFF) ;;
+		*) mesoncompileargs+=( --verbose ) ;;
+	esac
+
+	mesoncompileargs+=( "$@" )
+
 	set -- meson compile "${mesoncompileargs[@]}"
 	echo "$@" >&2
 	"$@" || die "compile failed"


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-18 20:52 Matt Turner
  0 siblings, 0 replies; 5996+ messages in thread
From: Matt Turner @ 2023-07-18 20:52 UTC (permalink / raw
  To: gentoo-commits

commit:     3641a9957a33475a0af84eca1aa9ccf3e7cd7ab6
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 18 20:49:41 2023 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Jul 18 20:51:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3641a995

ninja-utils.eclass: Change maintainer to base-system@

Per floppym's request.

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 eclass/ninja-utils.eclass | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/eclass/ninja-utils.eclass b/eclass/ninja-utils.eclass
index e6d8c9e6c0a9..fa1aa137ea73 100644
--- a/eclass/ninja-utils.eclass
+++ b/eclass/ninja-utils.eclass
@@ -3,8 +3,7 @@
 
 # @ECLASS: ninja-utils.eclass
 # @MAINTAINER:
-# Michał Górny <mgorny@gentoo.org>
-# Mike Gilbert <floppym@gentoo.org>
+# base-system@gentoo.org
 # @AUTHOR:
 # Michał Górny <mgorny@gentoo.org>
 # Mike Gilbert <floppym@gentoo.org>


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-18 20:52 Matt Turner
  0 siblings, 0 replies; 5996+ messages in thread
From: Matt Turner @ 2023-07-18 20:52 UTC (permalink / raw
  To: gentoo-commits

commit:     cf52bf96b61db64d46196192407dcb2e0ef67701
Author:     konsolebox <konsolebox <AT> gmail <DOT> com>
AuthorDate: Wed Dec 14 11:46:53 2022 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Jul 18 20:51:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf52bf96

git-r3.eclass: Use '__init__' as initial branch

It silences the default branch warning.

Closes: https://bugs.gentoo.org/841392
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 eclass/git-r3.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
index e9fdf2ac3a42..5ac141962b12 100644
--- a/eclass/git-r3.eclass
+++ b/eclass/git-r3.eclass
@@ -344,7 +344,7 @@ _git-r3_set_gitdir() {
 			umask "${EVCS_UMASK}" || die "Bad options to umask: ${EVCS_UMASK}"
 		fi
 		mkdir "${GIT_DIR}" || die
-		git init --bare || die
+		git init --bare -b __init__ || die
 		if [[ ${saved_umask} ]]; then
 			umask "${saved_umask}" || die
 		fi
@@ -874,7 +874,7 @@ git-r3_checkout() {
 		# use git init+fetch instead of clone since the latter doesn't like
 		# non-empty directories.
 
-		git init --quiet || die
+		git init --quiet -b __init__ || die
 		# setup 'alternates' to avoid copying objects
 		echo "${orig_repo}/objects" > "${GIT_DIR}"/objects/info/alternates || die
 		# now copy the refs


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-18 20:52 Matt Turner
  0 siblings, 0 replies; 5996+ messages in thread
From: Matt Turner @ 2023-07-18 20:52 UTC (permalink / raw
  To: gentoo-commits

commit:     385957565ea319259586571fb931e2df01bdf215
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 17 15:11:25 2023 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Jul 18 20:51:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38595756

ninja-utils.eclass: Add NINJA_VERBOSE

ninja operates in one of three modes:
 - verbose (with -v): prints build commands
 - quiet (with --quiet): prints nothing
 - normal: prints [XX/YY]-style build status updates

samurai works the same way, except it does not have a quiet mode.

Thus we can't simply override ninja-utils' hard-coded flag from callers
of eninja.

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 eclass/ninja-utils.eclass | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/eclass/ninja-utils.eclass b/eclass/ninja-utils.eclass
index fa1aa137ea73..5a211e81131d 100644
--- a/eclass/ninja-utils.eclass
+++ b/eclass/ninja-utils.eclass
@@ -47,6 +47,12 @@ _NINJA_UTILS_ECLASS=1
 # supposed to be set in make.conf. If unset, eninja() will convert
 # MAKEOPTS instead.
 
+# @ECLASS_VARIABLE: NINJA_VERBOSE
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Set to OFF to disable verbose messages during compilation
+: "${NINJA_VERBOSE:=ON}"
+
 inherit multiprocessing
 
 case "${NINJA}" in
@@ -79,7 +85,12 @@ get_NINJAOPTS() {
 # also supports being called via 'nonfatal'.
 eninja() {
 	[[ -n "${NINJA_DEPEND}" ]] || ewarn "Unknown value '${NINJA}' for \${NINJA}"
-	set -- "${NINJA}" -v $(get_NINJAOPTS) "$@"
+	local v
+	case "${NINJA_VERBOSE}" in
+		OFF) ;;
+		*) v="-v"
+	esac
+	set -- "${NINJA}" ${v} $(get_NINJAOPTS) "$@"
 	echo "$@" >&2
 	"$@" || die -n "${*} failed"
 }


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-18 20:52 Matt Turner
  0 siblings, 0 replies; 5996+ messages in thread
From: Matt Turner @ 2023-07-18 20:52 UTC (permalink / raw
  To: gentoo-commits

commit:     f042f7c1d9a26422514494a1d4e98e51a4255b28
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 17 15:13:25 2023 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Jul 18 20:51:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f042f7c1

cmake.eclass: Support CMAKE_VERBOSE with ninja

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 eclass/cmake.eclass | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index d70f2cbf1fac..16b3e300ccae 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -651,6 +651,10 @@ cmake_build() {
 			;;
 		ninja)
 			[[ -e build.ninja ]] || die "build.ninja not found. Error during configure stage."
+			case ${CMAKE_VERBOSE} in
+				OFF) NINJA_VERBOSE=OFF eninja "$@" ;;
+				*) eninja "$@" ;;
+			esac
 			eninja "$@"
 			;;
 	esac


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

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

commit:     9686580f1317fa20a8090d55bfe1cba102cfb0d1
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 20 00:07:20 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul 20 00:07:45 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9686580f

toolchain.eclass: disable gcov for cross

I don't see an immediate way to only disable this for crossdev stage1, so just
disable it entirely for cross for now.

Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100289
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index dabdd3a8f4fa..ed6692ca8dea 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -998,7 +998,13 @@ toolchain_src_configure() {
 			fi
 		fi
 
-		confgcc+=( --disable-bootstrap )
+		confgcc+=(
+			# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100289
+			# TOOD: Find a way to disable this just for stage1 cross?
+			--disable-gcov
+
+			--disable-bootstrap
+		)
 	else
 		if tc-is-static-only ; then
 			confgcc+=( --disable-shared )


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-20  9:49 WANG Xuerui
  0 siblings, 0 replies; 5996+ messages in thread
From: WANG Xuerui @ 2023-07-20  9:49 UTC (permalink / raw
  To: gentoo-commits

commit:     b65ec7188f25479e458186b9a41d89205fd8a859
Author:     WANG Xuerui <xen0n <AT> gentoo <DOT> org>
AuthorDate: Wed May 31 07:25:27 2023 +0000
Commit:     WANG Xuerui <xen0n <AT> gentoo <DOT> org>
CommitDate: Thu Jul 20 09:48:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b65ec718

rust-toolchain.eclass: cosmetic cleanups

Re-tab the file, and reorganize the rust_abi and rust_all_arch_uris
helpers so the keys are sorted alphabetically while preserving match
order. No functional change intended.

See: https://github.com/gentoo/gentoo/pull/31241
Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>

 eclass/rust-toolchain.eclass | 70 +++++++++++++++++++++++++-------------------
 1 file changed, 40 insertions(+), 30 deletions(-)

diff --git a/eclass/rust-toolchain.eclass b/eclass/rust-toolchain.eclass
index df48d3fae264..ef4b2a91ef7d 100644
--- a/eclass/rust-toolchain.eclass
+++ b/eclass/rust-toolchain.eclass
@@ -36,21 +36,21 @@ rust_abi() {
 	case ${CTARGET%%*-} in
 		aarch64*gnu)  echo aarch64-unknown-linux-gnu;;
 		aarch64*musl) echo aarch64-unknown-linux-musl;;
-		mips64*)	  echo mips64-unknown-linux-gnuabi64;;
+		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;;
+		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;;
-		x86_64*gnu)	  echo x86_64-unknown-linux-gnu;;
+		powerpc*)     echo powerpc-unknown-linux-gnu;;
+		riscv64*)     echo riscv64gc-unknown-linux-gnu;;
+		s390x*)       echo s390x-unknown-linux-gnu;;
+		x86_64*gnu)   echo x86_64-unknown-linux-gnu;;
 		x86_64*musl)  echo x86_64-unknown-linux-musl;;
-		armv6j*s*)	  echo arm-unknown-linux-gnueabi;;
-		armv6j*h*)	  echo arm-unknown-linux-gnueabihf;;
-		armv7a*h*)	  echo armv7-unknown-linux-gnueabihf;;
-		i?86*)		  echo i686-unknown-linux-gnu;;
-		mipsel*)	  echo mipsel-unknown-linux-gnu;;
-		mips*)		  echo mips-unknown-linux-gnu;;
-		powerpc*)	  echo powerpc-unknown-linux-gnu;;
-		s390x*)		  echo s390x-unknown-linux-gnu;;
-		riscv64*)	  echo riscv64gc-unknown-linux-gnu;;
-		*)			  echo ${CTARGET};;
+		*)            echo ${CTARGET};;
   esac
 }
 
@@ -105,22 +105,32 @@ rust_arch_uri() {
 #
 rust_all_arch_uris()
 {
-  local uris=""
-  uris+="abi_x86_64? ( elibc_glibc? ( $(rust_arch_uri x86_64-unknown-linux-gnu "$@") ) 
-                       elibc_musl?  ( $(rust_arch_uri x86_64-unknown-linux-musl "$@") ) ) "
-  uris+="arm?        ( $(rust_arch_uri arm-unknown-linux-gnueabi      "$@")
-                       $(rust_arch_uri arm-unknown-linux-gnueabihf    "$@")
-                       $(rust_arch_uri armv7-unknown-linux-gnueabihf  "$@") ) "
-  uris+="arm64?      ( elibc_glibc? ( $(rust_arch_uri aarch64-unknown-linux-gnu "$@") ) 
-                       elibc_musl?  ( $(rust_arch_uri aarch64-unknown-linux-musl "$@") ) ) "
-  uris+="mips?       ( $(rust_arch_uri mips-unknown-linux-gnu         "$@")
-                       $(rust_arch_uri mipsel-unknown-linux-gnu       "$@")
-                       $(rust_arch_uri mips64-unknown-linux-gnuabi64  "$@") ) "
-  uris+="ppc?        ( $(rust_arch_uri powerpc-unknown-linux-gnu      "$@") ) "
-  uris+="ppc64?      ( $(rust_arch_uri powerpc64-unknown-linux-gnu    "$@")
-                       $(rust_arch_uri powerpc64le-unknown-linux-gnu  "$@") ) "
-  uris+="s390?       ( $(rust_arch_uri s390x-unknown-linux-gnu        "$@") ) "
-  uris+="abi_x86_32? ( $(rust_arch_uri i686-unknown-linux-gnu         "$@") ) "
-  uris+="riscv?      ( $(rust_arch_uri riscv64gc-unknown-linux-gnu    "$@") ) "
-  echo "${uris}"
+	echo "
+	abi_x86_32? ( $(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? (
+		$(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 "$@") )
+	)
+	mips? (
+		$(rust_arch_uri mips-unknown-linux-gnu          "$@")
+		$(rust_arch_uri mipsel-unknown-linux-gnu        "$@")
+		$(rust_arch_uri mips64-unknown-linux-gnuabi64   "$@")
+	)
+	ppc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "$@") )
+	ppc64? (
+		$(rust_arch_uri powerpc64-unknown-linux-gnu   "$@")
+		$(rust_arch_uri powerpc64le-unknown-linux-gnu "$@")
+	)
+	riscv? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "$@") )
+	s390?  ( $(rust_arch_uri s390x-unknown-linux-gnu     "$@") )
+	"
 }


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-20  9:49 WANG Xuerui
  0 siblings, 0 replies; 5996+ messages in thread
From: WANG Xuerui @ 2023-07-20  9:49 UTC (permalink / raw
  To: gentoo-commits

commit:     32a7e626490101308c19b10a2a3f70ca4276c493
Author:     WANG Xuerui <xen0n <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  3 06:32:53 2023 +0000
Commit:     WANG Xuerui <xen0n <AT> gentoo <DOT> org>
CommitDate: Thu Jul 20 09:48:26 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32a7e626

rust-toolchain.eclass: add preparatory loong support

Rust 1.71.0 was already beta at time of the commit, meaning the target
tuple of loong can be considered stable.

See: https://github.com/gentoo/gentoo/pull/31241
Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>

 eclass/rust-toolchain.eclass | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/eclass/rust-toolchain.eclass b/eclass/rust-toolchain.eclass
index 0dcafdf9b335..f4451f743596 100644
--- a/eclass/rust-toolchain.eclass
+++ b/eclass/rust-toolchain.eclass
@@ -40,6 +40,7 @@ rust_abi() {
 		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;;
@@ -139,4 +140,12 @@ rust_all_arch_uris()
 	riscv? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "$@") )
 	s390?  ( $(rust_arch_uri s390x-unknown-linux-gnu     "$@") )
 	"
+
+	# Upstream did not gain support for loong until v1.71.0.
+	# 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
+		echo "loong? ( $(rust_arch_uri loongarch64-unknown-linux-gnu "$@") )"
+	fi
 }


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-20 11:33 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ messages in thread
From: Andrew Ammerlaan @ 2023-07-20 11:33 UTC (permalink / raw
  To: gentoo-commits

commit:     502530bfe68d2f5447c8ac6d959c0234c5d06dae
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 11 17:47:52 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Thu Jul 20 11:32:10 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=502530bf

eclass/secureboot.eclass: add new eclass

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

 eclass/secureboot.eclass | 173 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 173 insertions(+)

diff --git a/eclass/secureboot.eclass b/eclass/secureboot.eclass
new file mode 100644
index 000000000000..477722a83bb3
--- /dev/null
+++ b/eclass/secureboot.eclass
@@ -0,0 +1,173 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: secureboot.eclass
+# @MAINTAINER:
+# Andrew Ammerlaan <andrewammerlaan@gentoo.org>
+# @AUTHOR:
+# Author: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
+# @SUPPORTED_EAPIS: 7 8
+# @BLURB: A small eclass to sign efi files for Secure Boot
+# @DESCRIPTION:
+# Eclass for packages that install .efi files. A use flag and two user
+# variables allow signing these .efi files for use on systems with Secure Boot
+# enabled.
+#
+# Signing the files during emerge ensures that any tooling that actually
+# installs the bootloaders and kernels to ESP always uses a signed version.
+# This prevents Secure Boot from accidentally breaking when upgrading the
+# kernel or the bootloader.
+#
+# Example use
+# @CODE
+# src_install() {
+# 	default
+# 	secureboot_sign_efi_file in.efi out.efi.signed
+# }
+# @CODE
+#
+# Or
+# @CODE
+# src_install() {
+# 	default
+# 	secureboot_auto_sign
+# }
+# @CODE
+#
+# Some tools will automatically detect and use EFI executables with the .signed
+# suffix. For tools that do not do this the --in-place argument for
+# secureboot_auto_sign can be used to ensure that the signed version is used.
+
+case ${EAPI} in
+	7|8) ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+IUSE="secureboot"
+BDEPEND="secureboot? ( app-crypt/sbsigntools )"
+
+# @ECLASS_VARIABLE: SECUREBOOT_SIGN_KEY
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used with USE=secureboot.  Should be set to the path of the private
+# key in PEM format to use, or a PKCS#11 URI.
+#
+# @ECLASS_VARIABLE: SECUREBOOT_SIGN_CERT
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used with USE=secureboot.  Should be set to the path of the public
+# key certificate in PEM format to use.
+
+if [[ -z ${_SECUREBOOT_ECLASS} ]]; then
+_SECUREBOOT_ECLASS=1
+
+# @FUNCTION: _secureboot_die_if_unset
+# @INTERNAL
+# @DESCRIPTION:
+# 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]} "${@}"
+	use secureboot || return
+
+	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:* && ! -f ${SECUREBOOT_SIGN_KEY} ]]; then
+		die "SECUREBOOT_SIGN_KEY=${SECUREBOOT_SIGN_KEY} not found"
+	fi
+	if [[ ! -f ${SECUREBOOT_SIGN_CERT} ]];then
+		die "SECUREBOOT_SIGN_CERT=${SECUREBOOT_SIGN_CERT} not found"
+	fi
+}
+
+# @FUNCTION: secureboot_pkg_setup
+# @DESCRIPTION:
+# Checks if required user variables are set before starting the build
+secureboot_pkg_setup() {
+	debug-print-function ${FUNCNAME[0]} "${@}"
+	use secureboot || return
+
+	# If we are merging a binary then the files in this binary
+	# are already signed, no need to check the variables.
+	if [[ ${MERGE_TYPE} != binary ]]; then
+		_secureboot_die_if_unset
+	fi
+}
+
+# @FUNCTION: secureboot_sign_efi_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.
+secureboot_sign_efi_file() {
+	debug-print-function ${FUNCNAME[0]} "${@}"
+	use secureboot || return
+
+	local input_file=${1}
+	local output_file=${2}
+
+	_secureboot_die_if_unset
+
+	ebegin "Signing ${input_file}"
+	local return=1
+	if sbverify "${input_file}" --cert "${SECUREBOOT_SIGN_CERT}" &> /dev/null; then
+		ewarn "${input_file} already signed, skipping"
+		return=0
+	else
+		local args=(
+			"--key=${SECUREBOOT_SIGN_KEY}"
+			"--cert=${SECUREBOOT_SIGN_CERT}"
+		)
+		if [[ ${SECUREBOOT_SIGN_KEY} == pkcs11:* ]]; then
+			args+=( --engine=pkcs11 )
+		fi
+
+		sbsign "${args[@]}" "${input_file}" --output "${output_file}"
+		return=${?}
+	fi
+	eend ${return} || die "Signing ${input_file} failed"
+}
+
+# @FUNCTION: secureboot_auto_sign
+# @USAGE: [--in-place]
+# @DESCRIPTION:
+# Automatically discover and sign efi files in the image directory.
+#
+# 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]} "${@}"
+	use secureboot || return
+
+	[[ ${EBUILD_PHASE} == install ]] ||
+		die "${FUNCNAME[0]} can only be called in the src_install phase"
+
+	local -a efi_execs
+	mapfile -td '' efi_execs < <(
+		find "${ED}" -type f \
+			\( -iname '*.efi' -o -iname '*.efi32' -o -iname '*.efi64' \) \
+			-print0 || die
+	)
+	(( ${#efi_execs[@]} )) ||
+		die "${FUNCNAME[0]} was called but no efi executables were found"
+
+	local suffix
+	if [[ ${1} == --in-place ]]; then
+		suffix=""
+	elif [[ -n ${1} ]]; then
+		die "Invalid argument ${1}"
+	else
+		suffix=".signed"
+	fi
+
+	for efi_exec in "${efi_execs[@]}"; do
+		secureboot_sign_efi_file "${efi_exec}" "${efi_exec}${suffix}"
+	done
+}
+
+fi
+
+EXPORT_FUNCTIONS pkg_setup


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-20 11:33 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ messages in thread
From: Andrew Ammerlaan @ 2023-07-20 11:33 UTC (permalink / raw
  To: gentoo-commits

commit:     d4df03c213d176fd5cc394628b7bbf611a474125
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 11 11:20:12 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Thu Jul 20 11:32:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d4df03c2

dist-kernel-utils.eclass: optionally sign the kernels

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

 eclass/dist-kernel-utils.eclass | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 1ef3104245c6..cb0021f8b3a7 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -12,6 +12,13 @@
 # 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.
+
 if [[ ! ${_DIST_KERNEL_UTILS} ]]; then
 
 case ${EAPI} in
@@ -19,6 +26,10 @@ case ${EAPI} in
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
+if [[ ${KERNEL_IUSE_SECUREBOOT} ]]; then
+	inherit secureboot
+fi
+
 # @FUNCTION: dist-kernel_build_initramfs
 # @USAGE: <output> <version>
 # @DESCRIPTION:
@@ -104,7 +115,7 @@ dist-kernel_install_kernel() {
 	if [[ ${magic} == MZ ]]; then
 		einfo "Combined UEFI kernel+initramfs executable found"
 		# install the combined executable in place of kernel
-		image=${initrd}.efi
+		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
@@ -122,6 +133,11 @@ dist-kernel_install_kernel() {
 		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}"
+	fi
+
 	ebegin "Installing the kernel via installkernel"
 	# note: .config is taken relatively to System.map;
 	# initrd relatively to bzImage


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-20 11:33 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ messages in thread
From: Andrew Ammerlaan @ 2023-07-20 11:33 UTC (permalink / raw
  To: gentoo-commits

commit:     2c7a2cc2fff75fa25839d7607dc8aa88cb8cc707
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 13 07:55:32 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Thu Jul 20 11:32:14 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c7a2cc2

kernel-build.eclass: require modules-sign if secureboot

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

 eclass/kernel-build.eclass | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 0c8eaf3c1cd5..ff615a02d0eb 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -29,6 +29,11 @@ if [[ ! ${_KERNEL_BUILD_ECLASS} ]]; then
 _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
+fi
 
 inherit multiprocessing python-any-r1 savedconfig toolchain-funcs kernel-install
 
@@ -86,8 +91,19 @@ IUSE="+strip"
 
 if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
 	IUSE+=" modules-sign"
+	REQUIRED_USE="secureboot? ( modules-sign )"
 fi
 
+# @FUNCTION: kernel-build_pkg_setup
+# @DESCRIPTION:
+# Call python-any-r1 and secureboot pkg_setup
+kernel-build_pkg_setup() {
+	python-any-r1_pkg_setup
+	if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
+		secureboot_pkg_setup
+	fi
+}
+
 # @FUNCTION: kernel-build_src_configure
 # @DESCRIPTION:
 # Prepare the toolchain for building the kernel, get the default .config
@@ -395,4 +411,4 @@ kernel-build_merge_configs() {
 
 fi
 
-EXPORT_FUNCTIONS src_configure src_compile src_test src_install pkg_postinst
+EXPORT_FUNCTIONS pkg_setup src_configure src_compile src_test src_install pkg_postinst


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

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

commit:     a72b4a02bcd6e21ed62b56955074b2582a9ec785
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 20 12:16:00 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul 20 12:16:00 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a72b4a02

toolchain.eclass: add note re texinfo QA warning

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 ed6692ca8dea..52baf429a58c 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1304,6 +1304,7 @@ toolchain_src_configure() {
 		)
 	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
 		# without corresponding ebuild changes.


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-21 17:59 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-21 17:59 UTC (permalink / raw
  To: gentoo-commits

commit:     b723d7642057b863e8b3f25ff19b3ad9c4f2f160
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 00:38:07 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 17:56:50 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b723d764

dist-kernel-utils.eclass: dist-kernel_get_image_path: handle sparc

Same as hppa/ppc*.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/dist-kernel-utils.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index cb0021f8b3a7..666896028669 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -77,7 +77,7 @@ dist-kernel_get_image_path() {
 		arm)
 			echo arch/arm/boot/zImage
 			;;
-		hppa|ppc|ppc64)
+		hppa|ppc|ppc64|sparc)
 			# https://www.kernel.org/doc/html/latest/powerpc/bootwrapper.html
 			# ./ is required because of ${image_path%/*}
 			# substitutions in the code


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-21 17:59 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-21 17:59 UTC (permalink / raw
  To: gentoo-commits

commit:     d1c60c8515d1487149bda90575609a757b8246ef
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 00:45:48 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 17:56:49 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1c60c85

toolchain-funcs.eclass: tc-ninja_magic_to_arch: rename helper function

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain-funcs.eclass | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index bffbf36f1696..78ebfe54e41a 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -666,7 +666,7 @@ tc-has-tls() {
 # Parse information from CBUILD/CHOST/CTARGET rather than
 # use external variables from the profile.
 tc-ninja_magic_to_arch() {
-	ninj() { [[ ${type} == "kern" ]] && echo $1 || echo $2 ; }
+	_tc_echo_kernel_alias() { [[ ${type} == "kern" ]] && echo $1 || echo $2 ; }
 
 	local type=$1
 	local host=$2
@@ -676,16 +676,16 @@ tc-ninja_magic_to_arch() {
 		aarch64*)	echo arm64;;
 		alpha*)		echo alpha;;
 		arm*)		echo arm;;
-		avr*)		ninj avr32 avr;;
-		bfin*)		ninj blackfin bfin;;
+		avr*)		_tc_echo_kernel_alias avr32 avr;;
+		bfin*)		_tc_echo_kernel_alias blackfin bfin;;
 		c6x*)		echo c6x;;
 		cris*)		echo cris;;
 		frv*)		echo frv;;
 		hexagon*)	echo hexagon;;
-		hppa*)		ninj parisc hppa;;
+		hppa*)		_tc_echo_kernel_alias parisc hppa;;
 		i?86*)		echo x86;;
 		ia64*)		echo ia64;;
-		loongarch*)	ninj loongarch loong;;
+		loongarch*)	_tc_echo_kernel_alias loongarch loong;;
 		m68*)		echo m68k;;
 		metag*)		echo metag;;
 		microblaze*)	echo microblaze;;
@@ -708,11 +708,11 @@ tc-ninja_magic_to_arch() {
 		riscv*)		echo riscv;;
 		s390*)		echo s390;;
 		score*)		echo score;;
-		sh64*)		ninj sh64 sh;;
+		sh64*)		_tc_echo_kernel_alias sh64 sh;;
 		sh*)		echo sh;;
 		sparc64*)	ninj sparc64 sparc;;
 		sparc*)		[[ ${PROFILE_ARCH} == "sparc64" ]] \
-						&& ninj sparc64 sparc \
+						&& _tc_echo_kernel_alias sparc64 sparc \
 						|| echo sparc
 					;;
 		tile*)		echo tile;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-21 17:59 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-21 17:59 UTC (permalink / raw
  To: gentoo-commits

commit:     293d9443082622ae54c1ddbf7335c25a1f4d39a2
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 02:09:59 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 17:56:51 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=293d9443

kernel-build.eclass: add special-case for sparc arch/ directory

Unfortunately, we still have a mess wrt dual-bitness arches.

For sparc, there's arch/sparc, with ARCH=sparc being "whatever the toolchain is",
ARCH=sparc32 being "give me a 32-bit kernel", and ARCH=sparc64 being "give me
a 64-bit kernel".

You do, seemingly, need to actually pass ARCH=sparc64 to guarantee correct results,
as various kernel Makefiles check for the ARCH value, even though ARCH=sparc will
pop out a 64-bit kernel.

(I originally updated toolchain-funcs.eclass's tc-ninja_magic_to_arch, but we
later found that doesn't look particularly sturdy.

Per at the very least 5ba800962a80d4158b73fb91a7779df7b770c750 ("kbuild: update ARCH alias info for sparc")
upstream, although it seems to go back a fair bit earlier, ARCH=sparc when building
the kernel means "sparc64" if on a sparc64 host.)

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/kernel-build.eclass | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index ff615a02d0eb..276a08a104e0 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -257,6 +257,14 @@ kernel-build_src_install() {
 	local kern_arch=$(tc-arch-kernel)
 	local dir_ver=${PV}${KV_LOCALVERSION}
 	local kernel_dir=/usr/src/linux-${dir_ver}
+
+	if use sparc ; then
+		# We don't want tc-arch-kernel's sparc64, even though we do
+		# need to pass ARCH=sparc64 to the build system. It's a quasi-alias
+		# in Kbuild.
+		kern_arch=sparc
+	fi
+
 	dodir "${kernel_dir}/arch/${kern_arch}"
 	mv include scripts "${ED}${kernel_dir}/" || die
 	mv "arch/${kern_arch}/include" \


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-21 17:59 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-21 17:59 UTC (permalink / raw
  To: gentoo-commits

commit:     706f56d80574a5694a977a63e9f821ac3d9e1358
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 00:39:05 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 17:56:51 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=706f56d8

kernel-install.eclass: kernel-install_get_qemu_arch: port to sparc

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/kernel-install.eclass | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index 49aff35dea0d..ef64bde6d414 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -1,4 +1,4 @@
-# Copyright 2020-2022 Gentoo Authors
+# Copyright 2020-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: kernel-install.eclass
@@ -165,6 +165,12 @@ kernel-install_get_qemu_arch() {
 		riscv)
 			echo riscv
 			;;
+		sparc)
+			echo sparc
+			;;
+		sparc64)
+			echo sparc64
+			;;
 		*)
 			die "${FUNCNAME}: unsupported ARCH=${ARCH}"
 			;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-21 17:59 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-21 17:59 UTC (permalink / raw
  To: gentoo-commits

commit:     d195dd93c4911185c37d6821ddae01c2f34bcb49
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 15:19:41 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 17:56:53 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d195dd93

kernel-install.eclass: adjust test deps for sparc

Signed-off-by: Sam James <sam <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 b96caba08a3e..62fbb1dab049 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -69,6 +69,7 @@ BDEPEND="
 		arm64? ( app-emulation/qemu[qemu_softmmu_targets_aarch64] )
 		ppc? ( app-emulation/qemu[qemu_softmmu_targets_ppc] )
 		ppc64? ( app-emulation/qemu[qemu_softmmu_targets_ppc64] )
+		sparc? ( app-emulation/qemu[qemu_softmmu_targets_sparc,qemu_softmmu_targets_sparc64] )
 		x86? ( app-emulation/qemu[qemu_softmmu_targets_i386] )
 	)"
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-21 17:59 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-21 17:59 UTC (permalink / raw
  To: gentoo-commits

commit:     37cd6231a0cbb920a4dd62e4d3dcdbfa21d578c0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 15:18:39 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 17:56:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37cd6231

kernel-install.eclass: simplify case

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/kernel-install.eclass | 21 +++------------------
 1 file changed, 3 insertions(+), 18 deletions(-)

diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index ef64bde6d414..b96caba08a3e 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -150,27 +150,12 @@ kernel-install_get_qemu_arch() {
 		x86)
 			echo i386
 			;;
-		arm)
-			echo arm
-			;;
+		arm|ppc|ppc64|riscv|sparc|sparc64)
+			echo ${ARCH}
+		;;
 		arm64)
 			echo aarch64
 			;;
-		ppc)
-			echo ppc
-			;;
-		ppc64)
-			echo ppc64
-			;;
-		riscv)
-			echo riscv
-			;;
-		sparc)
-			echo sparc
-			;;
-		sparc64)
-			echo sparc64
-			;;
 		*)
 			die "${FUNCNAME}: unsupported ARCH=${ARCH}"
 			;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-21 22:14 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-21 22:14 UTC (permalink / raw
  To: gentoo-commits

commit:     4a26040a0e651b7cbb143add51151d7104ef74fe
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 22:14:16 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 22:14:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4a26040a

toolchain-funcs.eclass: fix incomplete ninj rename

Lost in rebase as kept changing between splitting/unsplitting sparc64*.

Thanks to dilfridge & ionen for spotting.

Fixes: d1c60c8515d1487149bda90575609a757b8246ef
Signed-off-by: Sam James <sam <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 78ebfe54e41a..acd71eae82e5 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -710,7 +710,7 @@ tc-ninja_magic_to_arch() {
 		score*)		echo score;;
 		sh64*)		_tc_echo_kernel_alias sh64 sh;;
 		sh*)		echo sh;;
-		sparc64*)	ninj sparc64 sparc;;
+		sparc64*)	_tc_echo_kernel_alias sparc64 sparc;;
 		sparc*)		[[ ${PROFILE_ARCH} == "sparc64" ]] \
 						&& _tc_echo_kernel_alias sparc64 sparc \
 						|| echo sparc


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-21 23:49 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-21 23:49 UTC (permalink / raw
  To: gentoo-commits

commit:     86dc6e703e32c1e7ae8d74c12669775fca23690e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 22:20:54 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 23:23:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=86dc6e70

toolchain-funcs.eclass: formatting tweaks

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain-funcs.eclass | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index acd71eae82e5..2f5ed29e875d 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -338,7 +338,7 @@ tc-is-static-only() {
 tc-stack-grows-down() {
 	# List the few that grow up.
 	case ${ARCH} in
-	hppa|metag) return 1 ;;
+		hppa|metag) return 1 ;;
 	esac
 
 	# Assume all others grow down.
@@ -535,7 +535,7 @@ tc-ld-force-bfd() {
 
 	# Set up LD to point directly to bfd if it's available.
 	# We need to extract the first word in case there are flags appended
-	# to its value (like multilib).  #545218
+	# to its value (like multilib), bug #545218.
 	local ld=$(tc-getLD "$@")
 	local bfd_ld="${ld%% *}.bfd"
 	local path_ld=$(type -P "${bfd_ld}" 2>/dev/null)
@@ -560,6 +560,7 @@ tc-ld-force-bfd() {
 			fallback="false"
 		fi
 	fi
+
 	if [[ ${fallback} == "true" ]] ; then
 		# <=gcc-4.7 and <=clang-3.4 require some coercion.
 		# Only works if bfd exists.
@@ -647,6 +648,7 @@ tc-has-tls() {
 		return *i ? j : *i;
 	}
 	EOF
+
 	local flags
 	case $1 in
 		-s) flags="-S";;
@@ -654,6 +656,7 @@ tc-has-tls() {
 		-l) ;;
 		-*) die "Usage: tc-has-tls [-c|-l] [toolchain prefix]";;
 	esac
+
 	: "${flags:=-fPIC -shared -Wl,-z,defs}"
 	[[ $1 == -* ]] && shift
 	$(tc-getCC "$@") ${flags} "${base}.c" -o "${base}" >&/dev/null
@@ -731,7 +734,7 @@ tc-ninja_magic_to_arch() {
 		# since our usage of tc-arch is largely concerned with
 		# normalizing inputs for testing ${CTARGET}, let's filter
 		# other cross targets (mingw and such) into the unknown.
-		*)			echo unknown;;
+		*)		echo unknown;;
 	esac
 }
 # @FUNCTION: tc-arch-kernel
@@ -781,7 +784,7 @@ tc-endian() {
 		sh*)		echo little;;
 		sparc*)		echo big;;
 		x86_64*)	echo little;;
-		*)			echo wtf;;
+		*)		echo wtf;;
 	esac
 }
 
@@ -1058,18 +1061,17 @@ gen_usr_ldscript() {
 
 	tc-is-static-only && return
 
-	# We only care about stuffing / for the native ABI. #479448
+	# We only care about stuffing / for the native ABI, bug #479448
 	if [[ $(type -t multilib_is_native_abi) == "function" ]] ; then
 		multilib_is_native_abi || return 0
 	fi
 
-	# Eventually we'd like to get rid of this func completely #417451
+	# Eventually we'd like to get rid of this func completely, bug #417451
 	case ${CTARGET:-${CHOST}} in
-	*-darwin*) ;;
-	*-android*) return 0 ;;
-	*linux*)
-		use prefix && return 0 ;;
-	*) return 0 ;;
+		*-darwin*) ;;
+		*-android*) return 0 ;;
+		*linux*) use prefix && return 0 ;;
+		*) return 0 ;;
 	esac
 
 	# Just make sure it exists


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-21 23:49 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-21 23:49 UTC (permalink / raw
  To: gentoo-commits

commit:     c4e911da66c918bd0944d1457776b82260657cd6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 21 22:23:15 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 21 23:23:12 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4e911da

toolchain-funcs.eclass: cleanup old gcc/clang logic in tc-ld-force-bfd

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain-funcs.eclass | 24 ++++++++----------------
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 2f5ed29e875d..e194342f7bb5 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -543,25 +543,17 @@ tc-ld-force-bfd() {
 
 	# Set up LDFLAGS to select bfd based on the gcc / clang version.
 	local fallback="true"
-	if tc-is-gcc; then
-		local major=$(gcc-major-version "$@")
-		local minor=$(gcc-minor-version "$@")
-		if [[ ${major} -gt 4 ]] || [[ ${major} -eq 4 && ${minor} -ge 8 ]]; then
-			# gcc-4.8+ supports -fuse-ld directly.
-			export LDFLAGS="${LDFLAGS} -fuse-ld=bfd"
-			fallback="false"
-		fi
-	elif tc-is-clang; then
-		local major=$(clang-major-version "$@")
-		local minor=$(clang-minor-version "$@")
-		if [[ ${major} -gt 3 ]] || [[ ${major} -eq 3 && ${minor} -ge 5 ]]; then
-			# clang-3.5+ supports -fuse-ld directly.
-			export LDFLAGS="${LDFLAGS} -fuse-ld=bfd"
-			fallback="false"
-		fi
+	if tc-is-gcc || tc-is-clang ; then
+		export LDFLAGS="${LDFLAGS} -fuse-ld=bfd"
 	fi
 
 	if [[ ${fallback} == "true" ]] ; then
+		# TODO: Clean this up, or is it useful for when the compiler can't
+		# be detected or for rubbish shims? Might be helpful for cases like
+		# when porting to new linker which GCC doesn't yet recognise (less
+		# of a problem for Clang as it accepts absolute paths), like was
+		# the case for mold.
+		#
 		# <=gcc-4.7 and <=clang-3.4 require some coercion.
 		# Only works if bfd exists.
 		if [[ -e ${path_ld} ]] ; then


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-22 13:04 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-07-22 13:04 UTC (permalink / raw
  To: gentoo-commits

commit:     b8e00c22cadb9ba3f5f03fba2132659bbfc71bb9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 22 06:03:37 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 22 13:01:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8e00c22

llvm.org.eclass: Add 17.0.0_pre20230722 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 4691b3c9666d..3f4b4d29a7b9 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
+				17.0.0_pre20230722)
+					EGIT_COMMIT=5f1a388a11ae67c2e5d7a4d1fe45e369a393c572
+					;;
 				17.0.0_pre20230717)
 					EGIT_COMMIT=3cd3f11c174baa001b337b88c7a6507eb5705cf2
 					;;


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

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

commit:     70e137162cc0978da3fe6f1c4c7f2b3dd738f585
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 25 16:05:00 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 25 16:11:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70e13716

llvm.org.eclass: main is now 18.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 0b058ee7d6fc..765619b8a043 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_MASTER_MAJOR=17
+_LLVM_MASTER_MAJOR=18
 
 # @ECLASS_VARIABLE: _LLVM_SOURCE_TYPE
 # @INTERNAL


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

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

commit:     17423585ad57a733ac81e45292c17f2899730f7b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 25 16:03:56 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 25 16:11:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17423585

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 3f4b4d29a7b9..0b058ee7d6fc 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -75,12 +75,6 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
 				17.0.0_pre20230722)
 					EGIT_COMMIT=5f1a388a11ae67c2e5d7a4d1fe45e369a393c572
 					;;
-				17.0.0_pre20230717)
-					EGIT_COMMIT=3cd3f11c174baa001b337b88c7a6507eb5705cf2
-					;;
-				17.0.0_pre20230705)
-					EGIT_COMMIT=5ae7fde004cbc640c2f60207791ac36574e5f5c6
-					;;
 				*)
 					die "Unknown snapshot: ${PV}"
 					;;


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

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

commit:     39ea1f5cbb12c9bb5087fc17a98f552173ad6401
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 25 16:05:42 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 25 16:11:17 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39ea1f5c

llvm.org.eclass: master → main

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/llvm.org.eclass | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 765619b8a043..a3c268dfef80 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -52,12 +52,12 @@ LLVM_VERSION=$(ver_cut 1-3)
 
 # == internal control bits ==
 
-# @ECLASS_VARIABLE: _LLVM_MASTER_MAJOR
+# @ECLASS_VARIABLE: _LLVM_MAIN_MAJOR
 # @INTERNAL
 # @DESCRIPTION:
 # The major version of current LLVM trunk.  Used to determine
 # the correct branch to use.
-_LLVM_MASTER_MAJOR=18
+_LLVM_MAIN_MAJOR=18
 
 # @ECLASS_VARIABLE: _LLVM_SOURCE_TYPE
 # @INTERNAL
@@ -89,8 +89,8 @@ fi
 
 [[ ${_LLVM_SOURCE_TYPE} == git ]] && inherit git-r3
 
-[[ ${LLVM_MAJOR} == ${_LLVM_MASTER_MAJOR} && ${_LLVM_SOURCE_TYPE} == tar ]] &&
-	die "${ECLASS}: Release ebuild for master branch?!"
+[[ ${LLVM_MAJOR} == ${_LLVM_MAIN_MAJOR} && ${_LLVM_SOURCE_TYPE} == tar ]] &&
+	die "${ECLASS}: Release ebuild for main branch?!"
 
 inherit multiprocessing
 
@@ -205,7 +205,7 @@ ALL_LLVM_TARGET_FLAGS=(
 # 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_MASTER_MAJOR} ]] && LLVM_SOABI=${PV}
+[[ ${LLVM_MAJOR} == ${_LLVM_MAIN_MAJOR} ]] && LLVM_SOABI=${PV}
 
 # == global scope logic ==
 
@@ -227,7 +227,7 @@ llvm.org_set_globals() {
 		git)
 			EGIT_REPO_URI="https://github.com/llvm/llvm-project.git"
 
-			[[ ${LLVM_MAJOR} != ${_LLVM_MASTER_MAJOR} ]] &&
+			[[ ${LLVM_MAJOR} != ${_LLVM_MAIN_MAJOR} ]] &&
 				EGIT_BRANCH="release/${LLVM_MAJOR}.x"
 			;;
 		tar)


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

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

commit:     af790bf6bf4866ff4057e332bdf71dc2f9fb03ed
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 26 01:07:56 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 26 02:47:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af790bf6

llvm.eclass: fix _LLVM_KNOWN_SLOTS for LLVM 18

Thanks to vimproved for reporting.

Signed-off-by: Sam James <sam <AT> gentoo.org>

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

diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass
index 223e2a15baf4..8198650aad9a 100644
--- a/eclass/llvm.eclass
+++ b/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=( {17..8} )
+declare -g -r _LLVM_KNOWN_SLOTS=( {18..8} )
 
 # @FUNCTION: get_llvm_slot
 # @USAGE: [-b|-d] [<max_slot>]


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-26  6:03 Michał Górny
  0 siblings, 0 replies; 5996+ messages in thread
From: Michał Górny @ 2023-07-26  6:03 UTC (permalink / raw
  To: gentoo-commits

commit:     4761ac9cebefde3ee6e9ab42e7da399829c1b953
Author:     Sebastian Parborg <darkdefende <AT> gmail <DOT> com>
AuthorDate: Sat Jul 15 23:47:40 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 26 06:03:48 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4761ac9c

git-r3.eclass: Add Git LFS support

Signed-off-by: Sebastian Parborg <darkdefende <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/31905
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/git-r3.eclass | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 90 insertions(+)

diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
index 5ac141962b12..83c5ab590c39 100644
--- a/eclass/git-r3.eclass
+++ b/eclass/git-r3.eclass
@@ -10,6 +10,21 @@
 # Third generation eclass for easing maintenance of live ebuilds using
 # git as remote repository.
 
+# @ECLASS_VARIABLE: EGIT_LFS
+# @PRE_INHERIT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set, git lfs support will be enabled.
+# Set before inheriting this eclass.
+
+# @ECLASS_VARIABLE: _NUM_LFS_FILTERS_FOUND
+# @INTERNAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# This is used to provide QA warnings if a repo has git lfs filters
+# defined but EGIT_LFS is not turned on and vice versa.
+# If non-empty, then the repo likely needs EGIT_LFS to clone properly.
+
 case ${EAPI} in
 	6|7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
@@ -22,8 +37,10 @@ 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
 
 # @ECLASS_VARIABLE: EGIT_CLONE_TYPE
@@ -81,6 +98,28 @@ fi
 # fatal errors rather than 'non-pretty versions'.
 : "${EGIT_MIN_CLONE_TYPE:=shallow}"
 
+# @ECLASS_VARIABLE: EGIT_LFS_CLONE_TYPE
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Type of lfs clone that should be used against the remote repository.
+# This can be either of: 'mirror', 'single', 'shallow'.
+#
+# This works a bit differently than EGIT_CLONE_TYPE.
+#
+# The 'mirror' type clones all LFS files that is available from the
+# cloned repo. Is is mostly useful for backup or rehosting purposes as
+# the disk usage will be excessive.
+#
+# The 'single' type clones only the LFS files from the current commit.
+# However unlike 'shallow', it will not cleanup stale LFS files.
+#
+# The 'shallow' type clones only the LFS files from the current commit.
+# LFS files that are not referenced by the current commit and more than
+# a few days old will be automatically removed to save disk space.
+# This is the recommended mode for LFS repos to prevent excessive disk
+# usage.
+: "${EGIT_LFS_CLONE_TYPE:=shallow}"
+
 # @ECLASS_VARIABLE: EGIT3_STORE_DIR
 # @USER_VARIABLE
 # @DEFAULT_UNSET
@@ -760,6 +799,35 @@ git-r3_fetch() {
 			fi
 		fi
 
+		if [[ ${EGIT_LFS} ]]; then
+			# Fetch the LFS files from the current ref (if any)
+			local lfs_fetch_command=( git lfs fetch "${r}" )
+
+			case "${EGIT_LFS_CLONE_TYPE}" in
+				shallow)
+					lfs_fetch_command+=(
+						--prune
+					)
+					;;
+				single)
+					;;
+				mirror)
+					lfs_fetch_command+=(
+						--all
+					)
+					;;
+				*)
+					die "Invalid EGIT_LFS_CLONE_TYPE=${EGIT_LFS_CLONE_TYPE}"
+			esac
+
+			set -- "${lfs_fetch_command[@]}"
+			echo "${@}" >&2
+			"${@}" || die
+		elif [[ -d ${GIT_DIR}/lfs && ${EGIT_LFS_CLONE_TYPE} == shallow ]]; then
+			# Cleanup the LFS files from old checkouts if LFS support has been turned off.
+			rm -fr ${GIT_DIR}/lfs || die
+		fi
+
 		success=1
 		break
 	done
@@ -875,6 +943,11 @@ git-r3_checkout() {
 		# non-empty directories.
 
 		git init --quiet -b __init__ || die
+		if [[ ${EGIT_LFS} ]]; then
+			# The "skip-repo" flag will just skip the installation of the pre-push hooks.
+			# We don't use these hook as we don't do any pushes
+			git lfs install --local --skip-repo || die
+		fi
 		# setup 'alternates' to avoid copying objects
 		echo "${orig_repo}/objects" > "${GIT_DIR}"/objects/info/alternates || die
 		# now copy the refs
@@ -905,6 +978,16 @@ git-r3_checkout() {
 		fi
 		echo "${@}" >&2
 		"${@}" || die "git checkout ${remote_ref:-${new_commit_id}} failed"
+
+		# If any filters in any of the ".gitattributes" files specifies lfs,
+		# then this repo is most likely storing files with git lfs.
+		local has_git_lfs_filters=$(
+			git grep "filter=lfs" -- ".gitattributes" "**/.gitattributes"
+		)
+		if [[ $has_git_lfs_filters ]]; then
+			# This is used for issuing QA warnings regarding LFS files in the repo (or lack thereof)
+			_EGIT_LFS_FILTERS_FOUND="yes"
+		fi
 	}
 	git-r3_sub_checkout
 	unset -f git-r3_sub_checkout
@@ -1054,6 +1137,13 @@ git-r3_src_unpack() {
 	_git-r3_env_setup
 	git-r3_src_fetch
 	git-r3_checkout
+
+	if [[ ! ${EGIT_LFS} && ${_EGIT_LFS_FILTERS_FOUND} ]]; then
+		eqawarn "QA Notice: There are Git LFS filters setup in the cloned repo, consider using EGIT_LFS!"
+	fi
+	if [[ ${EGIT_LFS} && ! ${_EGIT_LFS_FILTERS_FOUND} ]]; then
+		eqawarn "QA Notice: There are no Git LFS filters setup in the cloned repo. EGIT_LFS will do nothing!"
+	fi
 }
 
 # https://bugs.gentoo.org/show_bug.cgi?id=482666


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-27 16:36 Ulrich Müller
  0 siblings, 0 replies; 5996+ messages in thread
From: Ulrich Müller @ 2023-07-27 16:36 UTC (permalink / raw
  To: gentoo-commits

commit:     6eb0dc54a2c89c9f73e1d1e68841d2940961ebce
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 27 13:47:49 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jul 27 16:36:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6eb0dc54

kernel-2.eclass: Replace the ill-defined linux-firmware license label

Replace by "linux-fw-redistributable all-rights-reserved" which reflects
usage by the linux-firmware package.

This only affects kernels before 4.14.

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

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

diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index 2ce1a87c0650..bdeabb9fc2dc 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -680,7 +680,8 @@ if [[ ${ETYPE} == sources ]]; then
 			# Reflect that kernels contain firmware blobs unless otherwise
 			# stripped. Starting with version 4.14, the whole firmware
 			# tree has been dropped from the kernel.
-			kernel_is lt 4 14 && LICENSE+=" !deblob? ( linux-firmware )"
+			kernel_is lt 4 14 &&
+				LICENSE+=" !deblob? ( linux-fw-redistributable all-rights-reserved )"
 
 			if [[ -n KV_MINOR ]]; then
 				DEBLOB_PV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
@@ -710,7 +711,7 @@ if [[ ${ETYPE} == sources ]]; then
 		elif kernel_is lt 4 14; then
 			# Deblobbing is not available, so just mark kernels older
 			# than 4.14 as tainted with non-libre materials.
-			LICENSE+=" linux-firmware"
+			LICENSE+=" linux-fw-redistributable all-rights-reserved"
 		fi
 	fi
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-27 18:26 Matthew Thode
  0 siblings, 0 replies; 5996+ messages in thread
From: Matthew Thode @ 2023-07-27 18:26 UTC (permalink / raw
  To: gentoo-commits

commit:     4a4d6b1160258c9f42337973baf9f7b9820b6cc9
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 27 09:27:12 2023 +0000
Commit:     Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
CommitDate: Thu Jul 27 18:26:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4a4d6b11

dist-kernel-utils.eclass: also rebuild initrd when using uki's

An UKI contains some initrd, so in situations where we want
to regenerate the initrd we also want to rebuild the UKIs

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

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

diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 666896028669..6903183b6efb 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -171,8 +171,8 @@ dist-kernel_reinstall_initramfs() {
 		eerror "Initramfs will not be updated.  Please reinstall your kernel."
 		return
 	fi
-	if [[ ! -f ${initramfs_path} ]]; then
-		einfo "No initramfs found at ${initramfs_path}"
+	if [[ ! -f ${initramfs_path} && ! -f ${initramfs_path%/*}/uki.efi ]]; then
+		einfo "No initramfs or uki found at ${image_path}"
 		return
 	fi
 


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

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

commit:     2c5a722facb7b317535d2e6d439861506687289f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 29 02:23:13 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jul 29 02:23:48 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c5a722f

toolchain.eclass: 'endusers' -> 'end users'

It's (surprisingly to me) not a compound word.

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 52baf429a58c..cc104873a497 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1636,7 +1636,7 @@ gcc_do_make() {
 			GCC_MAKE_TARGET=${GCC_MAKE_TARGET-all}
 
 			ewarn "Disabling bootstrapping. ONLY recommended for development."
-			ewarn "This is NOT a safe configuration for endusers!"
+			ewarn "This is NOT a safe configuration for end users!"
 			ewarn "This compiler may not be safe or reliable for production use!"
 		elif _tc_use_if_iuse pgo; then
 			GCC_MAKE_TARGET=${GCC_MAKE_TARGET-profiledbootstrap}


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

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

commit:     c26413ae8029f1557aae95b6f8744fc16671fa3b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 30 18:28:23 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul 30 18:29:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c26413ae

toolchain-funcs.eclass: fix tc-force-bfd

Before c4e911da66c918bd0944d1457776b82260657cd6, fallback would be false
for newer GCC and Clang, not true.

Thanks to parona for giving the nudge.

Closes: https://bugs.gentoo.org/911503
Fixes: c4e911da66c918bd0944d1457776b82260657cd6
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain-funcs.eclass | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index e194342f7bb5..26b7a0772ca6 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -542,12 +542,11 @@ tc-ld-force-bfd() {
 	[[ -e ${path_ld} ]] && export LD=${bfd_ld}
 
 	# Set up LDFLAGS to select bfd based on the gcc / clang version.
-	local fallback="true"
 	if tc-is-gcc || tc-is-clang ; then
 		export LDFLAGS="${LDFLAGS} -fuse-ld=bfd"
 	fi
 
-	if [[ ${fallback} == "true" ]] ; then
+	if false ; then
 		# TODO: Clean this up, or is it useful for when the compiler can't
 		# be detected or for rubbish shims? Might be helpful for cases like
 		# when porting to new linker which GCC doesn't yet recognise (less


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-30 18:38 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-30 18:38 UTC (permalink / raw
  To: gentoo-commits

commit:     af86694a988bf16a794191383b4b624d99d4a39f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 30 18:36:07 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul 30 18:38:17 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af86694a

toolchain-funcs.eclass: shift comment

It makes a bit more sense (although still a bit suspicious, wonder if should
strip . as well, see c26413ae8029f1557aae95b6f8744fc16671fa3b and bug #911503
where we had 'ld.lld.bd') now with the comment in the right place.

It was added originally for bug #545218 (b959fb6c158d4727e85472b3a50af5af3f719972).

Bug: https://bugs.gentoo.org/545218
Bug: https://bugs.gentoo.org/911503
Signed-off-by: Sam James <sam <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 26b7a0772ca6..0eca4dde9f36 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -534,9 +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 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-30 18:41 Sam James
  0 siblings, 0 replies; 5996+ messages in thread
From: Sam James @ 2023-07-30 18:41 UTC (permalink / raw
  To: gentoo-commits

commit:     d719ea13be2cd289a371806b226aff218c30f07f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 30 18:40:12 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jul 30 18:40:19 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d719ea13

toolchain-funcs.eclass: cleanup obsolete bits in tc-ld-force-bfd

I didn't want to drop this entirely in c26413ae8029f1557aae95b6f8744fc16671fa3b
as I wanted to keep it to just fixing the error I'd made, but I don't see the
point in keeping this now anyway - non-gcc/clang isn't a thing and if it is
I'd hope they'd support -fuse-ld=bfd anyway.

Plus it's an obvious approach if we need it for something else like forcing
an alt linker that isn't bfd anyway, no need for having cruft remaining.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain-funcs.eclass | 19 -------------------
 1 file changed, 19 deletions(-)

diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 0eca4dde9f36..e28f6148ddc1 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -545,25 +545,6 @@ tc-ld-force-bfd() {
 	if tc-is-gcc || tc-is-clang ; then
 		export LDFLAGS="${LDFLAGS} -fuse-ld=bfd"
 	fi
-
-	if false ; then
-		# TODO: Clean this up, or is it useful for when the compiler can't
-		# be detected or for rubbish shims? Might be helpful for cases like
-		# when porting to new linker which GCC doesn't yet recognise (less
-		# of a problem for Clang as it accepts absolute paths), like was
-		# the case for mold.
-		#
-		# <=gcc-4.7 and <=clang-3.4 require some coercion.
-		# Only works if bfd exists.
-		if [[ -e ${path_ld} ]] ; then
-			local d="${T}/bfd-linker"
-			mkdir -p "${d}"
-			ln -sf "${path_ld}" "${d}"/ld
-			export LDFLAGS="${LDFLAGS} -B${d}"
-		else
-			die "unable to locate a BFD linker"
-		fi
-	fi
 }
 
 # @FUNCTION: _tc-has-openmp


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

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

commit:     913d9dfb7d4085a133192fcab817202b2a94bf3b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 31 02:35:13 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jul 31 02:35:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=913d9dfb

toolchain.eclass: sanity-check against bootstrapping for cross

Had a report on IRC where bootstrap-cet was being used for a cross-compiler
which seems wrong even if it's a bit odd that --disable-bootstrap doesn't
win with it. Add a guard as we don't need any of the bootstrap-* targets
for cross.

Thanks to Ionen for spotting.

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 cc104873a497..edd4c89bb00a 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1320,8 +1320,8 @@ toolchain_src_configure() {
 
 	confgcc+=( "$@" ${EXTRA_ECONF} )
 
-	if [[ -n ${build_config_targets} ]] ; then
-		# ./configure --with-build-config='bootstrap-lto bootstrap-cet'
+	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[*]}" )
 	fi
 


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-07-31 15:12 David Seifert
  0 siblings, 0 replies; 5996+ messages in thread
From: David Seifert @ 2023-07-31 15:12 UTC (permalink / raw
  To: gentoo-commits

commit:     9ee970fd6afc45d0ea99f3bab90b40c8ce6b40c5
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 31 15:12:33 2023 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Mon Jul 31 15:12:33 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ee970fd

pam.eclass: remove EAPI 6

Closes: https://github.com/gentoo/gentoo/pull/31917
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 eclass/pam.eclass | 69 +++++++++++++++++++++++++------------------------------
 1 file changed, 31 insertions(+), 38 deletions(-)

diff --git a/eclass/pam.eclass b/eclass/pam.eclass
index 22b59ad65e43..2516fa896587 100644
--- a/eclass/pam.eclass
+++ b/eclass/pam.eclass
@@ -6,14 +6,14 @@
 # base-system@gentoo.org
 # @AUTHOR:
 # Diego Pettenò <flameeyes@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
 # @BLURB: Handles pam related tasks
 # @DESCRIPTION:
 # This eclass contains functions to install pamd configuration files and
 # pam modules.
 
-case ${EAPI:-0} in
-	[678]) ;;
+case ${EAPI} in
+	7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
@@ -22,6 +22,14 @@ _PAM_ECLASS=1
 
 inherit flag-o-matic
 
+# @FUNCTION: _pam_flag_disabled
+# @INTERNAL
+# @DESCRIPTION:
+# Check whether pam support is disabled.
+_pam_flag_disabled() {
+	in_iuse pam && ! use pam
+}
+
 # @FUNCTION: dopamd
 # @USAGE: <file> [more files]
 # @DESCRIPTION:
@@ -29,15 +37,13 @@ inherit flag-o-matic
 dopamd() {
 	[[ -z $1 ]] && die "dopamd requires at least one argument"
 
-	if has pam ${IUSE} && ! use pam; then
-		return 0;
-	fi
+	_pam_flag_disabled && return 0
 
 	( # dont want to pollute calling env
 		insinto /etc/pam.d
 		insopts -m 0644
 		doins "$@"
-	) || die "failed to install $@"
+	)
 	cleanpamd "$@"
 }
 
@@ -48,15 +54,13 @@ dopamd() {
 newpamd() {
 	[[ $# -ne 2 ]] && die "newpamd requires two arguments"
 
-	if has pam ${IUSE} && ! use pam; then
-		return 0;
-	fi
+	_pam_flag_disabled && return 0
 
 	( # dont want to pollute calling env
 		insinto /etc/pam.d
 		insopts -m 0644
 		newins "$1" "$2"
-	) || die "failed to install $1 as $2"
+	)
 	cleanpamd $2
 }
 
@@ -67,15 +71,13 @@ newpamd() {
 dopamsecurity() {
 	[[ $# -lt 2 ]] && die "dopamsecurity requires at least two arguments"
 
-	if has pam ${IUSE} && ! use pam; then
-		return 0
-	fi
+	_pam_flag_disabled && return 0
 
 	( # dont want to pollute calling env
 		insinto /etc/security/$1
 		insopts -m 0644
 		doins "${@:2}"
-	) || die "failed to install ${@:2}"
+	)
 }
 
 # @FUNCTION: newpamsecurity
@@ -85,15 +87,13 @@ dopamsecurity() {
 newpamsecurity() {
 	[[ $# -ne 3 ]] && die "newpamsecurity requires three arguments"
 
-	if has pam ${IUSE} && ! use pam; then
-		return 0;
-	fi
+	_pam_flag_disabled && return 0
 
 	( # dont want to pollute calling env
 		insinto /etc/security/$1
 		insopts -m 0644
 		newins "$2" "$3"
-	) || die "failed to install $2 as $3"
+	)
 }
 
 # @FUNCTION: getpam_mod_dir
@@ -129,12 +129,10 @@ EOF
 dopammod() {
 	[[ -z $1 ]] && die "dopammod requires at least one argument"
 
-	if has pam ${IUSE} && ! use pam; then
-		return 0;
-	fi
+	_pam_flag_disabled && return 0
 
 	exeinto $(getpam_mod_dir)
-	doexe "$@" || die "failed to install $@"
+	doexe "$@"
 }
 
 # @FUNCTION: newpammod
@@ -145,12 +143,10 @@ dopammod() {
 newpammod() {
 	[[ $# -ne 2 ]] && die "newpammod requires two arguments"
 
-	if has pam ${IUSE} && ! use pam; then
-		return 0;
-	fi
+	_pam_flag_disabled && return 0
 
 	exeinto $(getpam_mod_dir)
-	newexe "$1" "$2" || die "failed to install $1 as $2"
+	newexe "$1" "$2"
 }
 
 # @FUNCTION: pamd_mimic_system
@@ -171,26 +167,23 @@ pamd_mimic_system() {
 pamd_mimic() {
 	[[ $# -lt 3 ]] && die "pamd_mimic requires at least three arguments"
 
-	if has pam ${IUSE} && ! use pam; then
-		return 0;
-	fi
+	_pam_flag_disabled && return 0
 
 	dodir /etc/pam.d
-	pamdfile=${D}/etc/pam.d/$2
-	echo -e "# File autogenerated by pamd_mimic in pam eclass\n\n" >> \
-		$pamdfile
+	local pamdfile="${ED}/etc/pam.d/$2"
+	echo -e "# File autogenerated by pamd_mimic in pam eclass\n\n" \
+		>> "${pamdfile}" || die
 
-	originalstack=$1
-	authlevels="auth account password session"
+	local authlevels="auth account password session"
 
-	mimic="\tsubstack\t\t${originalstack}"
+	local mimic="\tsubstack\t\t$1"
 
 	shift; shift
 
 	while [[ -n $1 ]]; do
 		has $1 ${authlevels} || die "unknown level type"
 
-		echo -e "$1${mimic}" >> ${pamdfile}
+		echo -e "$1${mimic}" >> "${pamdfile}" || die
 
 		shift
 	done
@@ -204,7 +197,7 @@ pamd_mimic() {
 cleanpamd() {
 	while [[ -n $1 ]]; do
 		if ! has_version sys-libs/pam; then
-			sed -i -e '/pam_shells\|pam_console/s:^:#:' "${D}/etc/pam.d/$1" || die
+			sed -i -e '/pam_shells\|pam_console/s:^:#:' "${ED}/etc/pam.d/$1" || die
 		fi
 
 		shift


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

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

commit:     c14e804bc7c25da759a30ea2c0e1f6de2029f48a
Author:     Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  2 06:51:17 2023 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Wed Aug  2 06:54:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c14e804b

shell-completion.eclass: fix eclass header

The order of eclass tags is relevant. @MAINTAINER and @AUTHOR must come
right after @ECLASS, as otherwise, tools like eclass-to-manpage will not
be able to process the eclass. In the case of shell-completion.eclass,
this causes eclass-to-manpage to report:

    error:7: shell-completion.eclass: unknown keyword @AUTHOR:

Fixes: d5e1f736c92d ("shell-completion.eclass: new eclass, migrated from ::guru")
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>

 eclass/shell-completion.eclass | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/shell-completion.eclass b/eclass/shell-completion.eclass
index debfb8ecd26f..d582028847b4 100644
--- a/eclass/shell-completion.eclass
+++ b/eclass/shell-completion.eclass
@@ -2,13 +2,13 @@
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: shell-completion.eclass
-# @SUPPORTED_EAPIS: 8
-# @PROVIDES: bash-completion-r1
-# @AUTHOR:
-# Alfred Wingate <parona@protonmail.com>
 # @MAINTAINER:
 # Jonas Frei <freijon@pm.me>
 # Florian Schmaus <flow@gentoo.org>
+# @AUTHOR:
+# Alfred Wingate <parona@protonmail.com>
+# @SUPPORTED_EAPIS: 8
+# @PROVIDES: bash-completion-r1
 # @BLURB: a few quick functions to install various shell completion files
 # @DESCRIPTION:
 # This eclass provides a standardised way to install shell completions


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

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

commit:     56bf65eee17557f8c673aa4238f5744ab2794e49
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 29 19:06:09 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug  2 18:21:34 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56bf65ee

python-utils-r1.eclass: Fix shebangs using ${EPYTHON}, not ${PYTHON}

${PYTHON} points to BROOT's Python because it's usually used for calling
Python during the build. This value will be wrong at runtime after
building cross-prefix.

Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/python-utils-r1.eclass | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 56b1b81edd2e..2555ce12d066 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1023,8 +1023,6 @@ python_fix_shebang() {
 	debug-print-function ${FUNCNAME} "${@}"
 
 	[[ ${EPYTHON} ]] || die "${FUNCNAME}: EPYTHON unset (pkg_setup not called?)"
-	local PYTHON
-	_python_export "${EPYTHON}" PYTHON
 
 	local force quiet
 	while [[ ${@} ]]; do
@@ -1097,7 +1095,7 @@ python_fix_shebang() {
 			if [[ ! ${error} ]]; then
 				debug-print "${FUNCNAME}: in file ${f#${D%/}}"
 				debug-print "${FUNCNAME}: rewriting shebang: ${shebang}"
-				sed -i -e "1s@${from}@#!${PYTHON}@" "${f}" || die
+				sed -i -e "1s@${from}@#!${EPREFIX}/usr/bin/${EPYTHON}@" "${f}" || die
 				any_fixed=1
 			else
 				eerror "The file has incompatible shebang:"


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

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

commit:     9e4dc068a3066434bfbfa3a0f979ec5d6d8020eb
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 29 19:01:46 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug  2 18:21:34 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e4dc068

python-utils-r1.eclass: Remove old EAPI hack for exporting PYTHON

This eclass is EAPI 7+ now, so we can assume that BROOT is available.
This was broken anyway because it seems that Portage doesn't set BROOT
when it's empty.

Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Signed-off-by: Sam James <sam <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 a883135eaa41..56b1b81edd2e 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -338,7 +338,7 @@ _python_export() {
 				debug-print "${FUNCNAME}: EPYTHON = ${EPYTHON}"
 				;;
 			PYTHON)
-				export PYTHON=${BROOT-${EPREFIX}}/usr/bin/${impl}
+				export PYTHON=${BROOT}/usr/bin/${impl}
 				debug-print "${FUNCNAME}: PYTHON = ${PYTHON}"
 				;;
 			PYTHON_SITEDIR)


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

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

commit:     18b95b4c5f671f875b4d048e2c085be4794e849b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  3 09:15:36 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug  3 15:42:58 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18b95b4c

llvm.org.eclass: Remove 17.x snapshots

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 a3c268dfef80..1d74cb193052 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
-				17.0.0_pre20230722)
-					EGIT_COMMIT=5f1a388a11ae67c2e5d7a4d1fe45e369a393c572
-					;;
 				*)
 					die "Unknown snapshot: ${PV}"
 					;;


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

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

commit:     88b5a34c279f674d984da9008edb469bbf870168
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  3 09:20:52 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug  3 15:42:58 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88b5a34c

llvm.org.eclass: Add 18.0.0_pre20230803 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 1d74cb193052..f3f2d1c1b0c9 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_pre20230803)
+					EGIT_COMMIT=c4bb3e073548cf436d5fa0406e3ae75e94684dec
+					;;
 				*)
 					die "Unknown snapshot: ${PV}"
 					;;


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

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

commit:     cbd5dd00c039540165c2ee817ab6085d35d3b463
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  3 19:37:25 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug  3 19:37:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cbd5dd00

toolchain.eclass: cleanup more obsolete cruft

Followup to a606b978be638005c9b832a733d087dbc97ae6d0.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 28 +++++++++-------------------
 1 file changed, 9 insertions(+), 19 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index edd4c89bb00a..cf6cb158a3b3 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -614,14 +614,11 @@ toolchain_src_prepare() {
 		done
 	fi
 
-	# >=gcc-4
-	if [[ -x contrib/gcc_update ]] ; then
-		einfo "Touching generated files"
-		./contrib/gcc_update --touch | \
-			while read f ; do
-				einfo "  ${f%%...}"
-			done
-	fi
+	einfo "Touching generated files"
+	./contrib/gcc_update --touch | \
+		while read f ; do
+			einfo "  ${f%%...}"
+		done
 }
 
 do_gcc_gentoo_patches() {
@@ -742,16 +739,10 @@ setup_multilib_osdirnames() {
 	config+="/t-linux64"
 
 	local sed_args=()
-	if tc_version_is_at_least 4.6 ; then
-		sed_args+=( -e 's:$[(]call if_multiarch[^)]*[)]::g' )
-	fi
+	sed_args+=( -e 's:$[(]call if_multiarch[^)]*[)]::g' )
 	if [[ ${SYMLINK_LIB} == "yes" ]] ; then
 		einfo "Updating multilib directories to be: ${libdirs}"
-		if tc_version_is_at_least 4.6.4 || tc_version_is_at_least 4.7 ; then
-			sed_args+=( -e '/^MULTILIB_OSDIRNAMES.*lib32/s:[$][(]if.*):../lib32:' )
-		else
-			sed_args+=( -e "/^MULTILIB_OSDIRNAMES/s:=.*:= ${libdirs}:" )
-		fi
+		sed_args+=( -e '/^MULTILIB_OSDIRNAMES.*lib32/s:[$][(]if.*):../lib32:' )
 	else
 		einfo "Using upstream multilib; disabling lib32 autodetection"
 		sed_args+=( -r -e 's:[$][(]if.*,(.*)[)]:\1:' )
@@ -869,8 +860,7 @@ toolchain_src_configure() {
 			# - After discussing in #gcc, we concluded that =yes,extra,rtl makes
 			#   more sense when a user explicitly requests USE=debug. If rtl is too slow,
 			#   we can change this to yes,extra.
-			local off=$(tc_version_is_at_least 4.0 && echo release || echo no)
-			confgcc+=( --enable-checking="${GCC_CHECKS_LIST:-$(usex debug yes,extra,rtl ${off})}" )
+			confgcc+=( --enable-checking="${GCC_CHECKS_LIST:-$(usex debug yes,extra,rtl release)}" )
 		fi
 	fi
 
@@ -1879,7 +1869,7 @@ toolchain_src_install() {
 	if ! is_crosscompile; then
 		# Rename the main go binaries as we don't want to clobber dev-lang/go
 		# when gcc-config runs. bug #567806
-		if tc_version_is_at_least 5 && is_go ; then
+		if is_go ; then
 			for x in go gofmt; do
 				mv ${x} ${x}-${GCCMAJOR} || die
 			done


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

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

commit:     5b03a882f4fae447bf9d0a5e568ce91c9548e232
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  4 02:03:12 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug  4 02:05:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b03a882

toolchain.eclass: pass --disable-dependency-tracking, --disable-silent-rules

We already do this for gdb and binutils, do the same for gcc. Portage/econf only greps
the top-level configure which has neither of these, but the subconfigure dirs
do.

There's been problems in the past upstream here, see e.g. https://gcc.gnu.org/PR55930,
but seems fine now.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index cf6cb158a3b3..9f626c5bfc77 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -791,8 +791,19 @@ toolchain_src_configure() {
 		--mandir="${DATAPATH}/man"
 		--infodir="${DATAPATH}/info"
 		--with-gxx-include-dir="${STDCXX_INCDIR}"
+
+		# portage's econf() does not detect presence of --d-s-r
+		# because it greps only top-level ./configure. But not
+		# libiberty's or gcc's configure.
+		--disable-silent-rules
 	)
 
+	if tc_version_is_at_least 10 ; then
+		confgcc+=(
+			--disable-dependency-tracking
+		)
+	fi
+
 	# Stick the python scripts in their own slotted directory (bug #279252)
 	#
 	#  --with-python-dir=DIR


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

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

commit:     cf582a6d842973915d1cec5c05a8b4c311b78288
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug  5 06:59:39 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug  6 06:42:27 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf582a6d

python-utils-r1.eclass: Check for occluded packages before testing

Add a check for installed packages being occluded by the working
directory when calling epytest and eunittest.  This is primarily meant
to detect C extensions being missed.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/32181
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/python-utils-r1.eclass | 51 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 2555ce12d066..27157a003ab2 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1231,6 +1231,55 @@ _python_check_EPYTHON() {
 	fi
 }
 
+# @FUNCTION: _python_check_occluded_packages
+# @INTERNAL
+# @DESCRIPTION:
+# Check if the current directory does not contain any incomplete
+# 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} "${@}"
+
+	# DO NOT ENABLE THIS unless you're going to check for false
+	# positives before filing bugs.
+	[[ ! ${PYTHON_EXPERIMENTAL_QA} ]] && return
+
+	type -P diff &>/dev/null || return
+	[[ -z ${BUILD_DIR} || ! -d ${BUILD_DIR}/install ]] && return
+
+	local sitedir="${BUILD_DIR}/install$(python_get_sitedir)"
+	# avoid unnecessarily checking if we are inside install dir
+	[[ ${sitedir} -ef . ]] && return
+
+	local f fn diff
+	for f in "${sitedir}"/*/; do
+		f=${f%/}
+		fn=${f##*/}
+
+		# skip metadata directories
+		[[ ${fn} == *.dist-info || ${fn} == *.egg-info ]] && continue
+
+		if [[ -d ${fn} ]]; then
+			diff=$(diff -dupr -x "__pycache__" "${fn}" "${sitedir}/${fn}")
+			if [[ -n ${diff} ]]; then
+				eqawarn "The directory ${fn} occludes package installed for ${EPYTHON}."
+				echo
+				echo ">>> Diff:"
+				echo "${diff}"
+				echo "<<< End-of-diff"
+				echo
+
+				if [[ ! ${_PYTHON_WARNED_OCCLUDED_PACKAGES} ]]; then
+					eqawarn "The complete build log includes diffs."
+					eqawarn "For more information on occluded packages, please see:"
+					eqawarn "https://projects.gentoo.org/python/guide/test.html#importerrors-for-c-extensions"
+					_PYTHON_WARNED_OCCLUDED_PACKAGES=1
+				fi
+			fi
+		fi
+	done
+}
+
 # @VARIABLE: EPYTEST_DESELECT
 # @DEFAULT_UNSET
 # @DESCRIPTION:
@@ -1261,6 +1310,7 @@ epytest() {
 	debug-print-function ${FUNCNAME} "${@}"
 
 	_python_check_EPYTHON
+	_python_check_occluded_packages
 
 	local color
 	case ${NOCOLOR} in
@@ -1345,6 +1395,7 @@ eunittest() {
 	debug-print-function ${FUNCNAME} "${@}"
 
 	_python_check_EPYTHON
+	_python_check_occluded_packages
 
 	# unittest fails with "no tests" correctly since Python 3.12
 	local runner=unittest


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

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

commit:     5abc2cc2f9838d89fd29c31a996ca92f60fdfdf2
Author:     Oskari Pirhonen <xxc3ncoredxx <AT> gmail <DOT> com>
AuthorDate: Sun Jul 30 20:35:59 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Aug  7 03:01:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5abc2cc2

verify-sig.eclass: replace app-crypt with sec-keys

Update the description and example to use the new sec-keys/ category
instead of the old app-crypt/ for openpgp-keys-* packages.

Signed-off-by: Oskari Pirhonen <xxc3ncoredxx <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/32111
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 6472e995e827..d99dc3461858 100644
--- a/eclass/verify-sig.eclass
+++ b/eclass/verify-sig.eclass
@@ -16,7 +16,7 @@
 # the developer's work.
 #
 # To use the eclass, start by packaging the upstream's key
-# as app-crypt/openpgp-keys-*.  Then inherit the eclass, add detached
+# as sec-keys/openpgp-keys-*.  Then inherit the eclass, add detached
 # signatures to SRC_URI and set VERIFY_SIG_OPENPGP_KEY_PATH.  The eclass
 # provides verify-sig USE flag to toggle the verification.
 #
@@ -35,7 +35,7 @@
 # SRC_URI="https://example.org/${P}.tar.gz
 #   verify-sig? ( https://example.org/${P}.tar.gz.sig )"
 # BDEPEND="
-#   verify-sig? ( app-crypt/openpgp-keys-example )"
+#   verify-sig? ( sec-keys/openpgp-keys-example )"
 #
 # VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/example.asc
 # @CODE


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-07 12:10 James Le Cuirot
  0 siblings, 0 replies; 5996+ messages in thread
From: James Le Cuirot @ 2023-08-07 12:10 UTC (permalink / raw
  To: gentoo-commits

commit:     01e4a638c3decc74baa52975043bb4af89ae2c70
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Mon Aug  7 11:59:34 2023 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Mon Aug  7 12:09:48 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01e4a638

Revert "python-utils-r1.eclass: Remove old EAPI hack for exporting PYTHON"

This reverts commit 9e4dc068a3066434bfbfa3a0f979ec5d6d8020eb. It fixed
cross-prefix but inadvertently broke regular prefix. Both were
ultimately affected by the same PMS + Portage bug where BROOT was not
set in pkg_preinst. This has now been fixed, but regular prefix users
need to be able to update Portage without hitting the issue.
Cross-prefix users are safe because the BROOT Portage can be updated
without hitting the issue.

Closes: https://bugs.gentoo.org/911797
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 eclass/python-utils-r1.eclass | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 27157a003ab2..690b8ba8c79b 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -338,7 +338,9 @@ _python_export() {
 				debug-print "${FUNCNAME}: EPYTHON = ${EPYTHON}"
 				;;
 			PYTHON)
-				export PYTHON=${BROOT}/usr/bin/${impl}
+				# Under EAPI 7+, this should just use ${BROOT}, but Portage
+				# <3.0.50 was buggy, and prefix users need this to update.
+				export PYTHON=${BROOT-${EPREFIX}}/usr/bin/${impl}
 				debug-print "${FUNCNAME}: PYTHON = ${PYTHON}"
 				;;
 			PYTHON_SITEDIR)


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

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

commit:     bafc7b5a1fc937b08a67be7c628f225674a3303d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  6 13:05:52 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug  8 09:07:14 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bafc7b5a

python-utils-r1.eclass: Eliminate false positives from occluded check

Modify the occluded package check to unidirectionally check for
additional files in installed package directory.  This eliminates false
positives when the source directory contains additional files,
in particular C sources.

This change also eliminates the dependency on diff(1), in favor
of comm(1).  As a side effect, we no longer compare .py files for
equality but that shouldn't be such a big deal.

Closes: https://github.com/gentoo/gentoo/pull/32195
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/python-utils-r1.eclass | 29 ++++++++++++++++++++---------
 1 file changed, 20 insertions(+), 9 deletions(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 690b8ba8c79b..2fffd6d56bf5 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1246,14 +1246,13 @@ _python_check_occluded_packages() {
 	# positives before filing bugs.
 	[[ ! ${PYTHON_EXPERIMENTAL_QA} ]] && return
 
-	type -P diff &>/dev/null || return
 	[[ -z ${BUILD_DIR} || ! -d ${BUILD_DIR}/install ]] && return
 
 	local sitedir="${BUILD_DIR}/install$(python_get_sitedir)"
 	# avoid unnecessarily checking if we are inside install dir
 	[[ ${sitedir} -ef . ]] && return
 
-	local f fn diff
+	local f fn diff l
 	for f in "${sitedir}"/*/; do
 		f=${f%/}
 		fn=${f##*/}
@@ -1262,17 +1261,29 @@ _python_check_occluded_packages() {
 		[[ ${fn} == *.dist-info || ${fn} == *.egg-info ]] && continue
 
 		if [[ -d ${fn} ]]; then
-			diff=$(diff -dupr -x "__pycache__" "${fn}" "${sitedir}/${fn}")
+			diff=$(
+				comm -1 -3 <(
+					find "${fn}" -type f -not -path '*/__pycache__/*' |
+						sort
+					assert
+				) <(
+					cd "${sitedir}" &&
+						find "${fn}" -type f -not -path '*/__pycache__/*' |
+						sort
+					assert
+				)
+			)
+
 			if [[ -n ${diff} ]]; then
 				eqawarn "The directory ${fn} occludes package installed for ${EPYTHON}."
-				echo
-				echo ">>> Diff:"
-				echo "${diff}"
-				echo "<<< End-of-diff"
-				echo
+				eqawarn "The installed package includes additional files:"
+				eqawarn
+				while IFS= read -r l; do
+					eqawarn "    ${l}"
+				done <<<"${diff}"
+				eqawarn
 
 				if [[ ! ${_PYTHON_WARNED_OCCLUDED_PACKAGES} ]]; then
-					eqawarn "The complete build log includes diffs."
 					eqawarn "For more information on occluded packages, please see:"
 					eqawarn "https://projects.gentoo.org/python/guide/test.html#importerrors-for-c-extensions"
 					_PYTHON_WARNED_OCCLUDED_PACKAGES=1


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-08 14:26 Mike Gilbert
  0 siblings, 0 replies; 5996+ messages in thread
From: Mike Gilbert @ 2023-08-08 14:26 UTC (permalink / raw
  To: gentoo-commits

commit:     de0312d2a8172ff01f6c3c5fb5e1a099cf321fb8
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  8 14:24:52 2023 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Tue Aug  8 14:24:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de0312d2

vim-spell.eclass: drop EPREFIX from VIM_SPELL_DIRECTORY

This variable is passed to insinto, which already addes EPREFIX.

Closes: https://bugs.gentoo.org/911850
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 eclass/vim-spell.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/vim-spell.eclass b/eclass/vim-spell.eclass
index 1a241d2ba0d1..855518d23e5b 100644
--- a/eclass/vim-spell.eclass
+++ b/eclass/vim-spell.eclass
@@ -92,7 +92,7 @@ SLOT="0"
 # @INTERNAL
 # @DESCRIPTION:
 # This variable defines the path to Vim spell files.
-: "${VIM_SPELL_DIRECTORY:="${EPREFIX}/usr/share/vim/vimfiles/spell/"}"
+: "${VIM_SPELL_DIRECTORY:=/usr/share/vim/vimfiles/spell}"
 
 # @ECLASS_VARIABLE: DESCRIPTION
 # @DESCRIPTION:


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

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

commit:     40b3073709b1445c4ef328cd8110797949ac1b04
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 10 12:53:13 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug 10 17:49:31 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40b30737

llvm.org.eclass: Add 18.0.0_pre20230810 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 f3f2d1c1b0c9..c83f5725e301 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_pre20230810)
+					EGIT_COMMIT=7d259b36d2e8148d13087844e6494ad3a5c63edf
+					;;
 				18.0.0_pre20230803)
 					EGIT_COMMIT=c4bb3e073548cf436d5fa0406e3ae75e94684dec
 					;;


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-13  5:22 Hans de Graaff
  0 siblings, 0 replies; 5996+ messages in thread
From: Hans de Graaff @ 2023-08-13  5:22 UTC (permalink / raw
  To: gentoo-commits

commit:     58a7641982763e9317841f2631f556c75c727868
Author:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 12 18:57:39 2023 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sun Aug 13 05:22:43 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58a76419

eclass/ruby-fakegem.eclass: always avoid minitest plugins

Minitest will by default scan for any plugin installed by any gem and
register it. This has been a source of test failures when a plugin can
no longer be initialized for some reason.

Many ebuilds already set the environment variable for this, but we never
want autoloading so turn this off in the eclass instead.

Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>

 eclass/ruby-fakegem.eclass | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
index db3db300c023..40ff76ce900e 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.eclass
@@ -585,9 +585,12 @@ each_fakegem_test() {
 # @DESCRIPTION:
 # Run the tests for this package.
 if [[ ${RUBY_FAKEGEM_RECIPE_TEST} != none ]]; then
-		each_ruby_test() {
-			each_fakegem_test
-		}
+	# Avoid autoloading all minitest plugins present in any gem.
+	export MT_NO_PLUGINS=true
+
+	each_ruby_test() {
+		each_fakegem_test
+	}
 fi
 
 # @FUNCTION: ruby_fakegem_extensions_installed


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-14 21:15 Michael Orlitzky
  0 siblings, 0 replies; 5996+ messages in thread
From: Michael Orlitzky @ 2023-08-14 21:15 UTC (permalink / raw
  To: gentoo-commits

commit:     af4e7e9610124cd568b9634d6b6bb0e68cafae6c
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 14 18:40:06 2023 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Aug 14 21:14:10 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af4e7e96

netsurf.eclass: add myself as maintainer; fix spaces -> tabs

Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>

 eclass/netsurf.eclass | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eclass/netsurf.eclass b/eclass/netsurf.eclass
index 293f439e9715..f027b88b4965 100644
--- a/eclass/netsurf.eclass
+++ b/eclass/netsurf.eclass
@@ -3,15 +3,15 @@
 
 # @ECLASS: netsurf.eclass
 # @MAINTAINER:
-# maintainer-needed@gentoo.org
+# mjo@gentoo.org
 # @SUPPORTED_EAPIS: 7
 # @BLURB: Handle buildsystem of www.netsurf-browser.org components
 # @DESCRIPTION:
 # Handle settings build environment for netsurf build system
 
 case ${EAPI} in
-    7) ;;
-    *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+	7) ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
 inherit toolchain-funcs


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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-14 21:15 Michael Orlitzky
  0 siblings, 0 replies; 5996+ messages in thread
From: Michael Orlitzky @ 2023-08-14 21:15 UTC (permalink / raw
  To: gentoo-commits

commit:     187edbb4abe395cda4a01817f11b78d2c70a0dc1
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 14 18:40:57 2023 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Mon Aug 14 21:14:10 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=187edbb4

netsurf.eclass: support EAPI=8

This eclass provides one function that sets some environment variables,
nothing to worry about.

Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>

 eclass/netsurf.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/netsurf.eclass b/eclass/netsurf.eclass
index f027b88b4965..b69c93d87ca3 100644
--- a/eclass/netsurf.eclass
+++ b/eclass/netsurf.eclass
@@ -4,13 +4,13 @@
 # @ECLASS: netsurf.eclass
 # @MAINTAINER:
 # mjo@gentoo.org
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
 # @BLURB: Handle buildsystem of www.netsurf-browser.org components
 # @DESCRIPTION:
 # Handle settings build environment for netsurf build system
 
 case ${EAPI} in
-	7) ;;
+	7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 


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

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

commit:     3998ffc8566711b727a119108f2245ab6def45b4
Author:     Oz Tiram <oz.tiram <AT> gmail <DOT> com>
AuthorDate: Sat Aug 12 06:01:41 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 17 06:22:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3998ffc8

mate.eclass, mate-desktop.org.eclass: add EAPI 8

These eclasses are based on gnome2 eclass which supports
EAPI 8 for a while now.

Signed-off-by: Oz Tiram <oz.tiram <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/mate-desktop.org.eclass | 4 ++--
 eclass/mate.eclass             | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/mate-desktop.org.eclass b/eclass/mate-desktop.org.eclass
index 0dd77aa19a3e..28d704395b9a 100644
--- a/eclass/mate-desktop.org.eclass
+++ b/eclass/mate-desktop.org.eclass
@@ -6,14 +6,14 @@
 # mate@gentoo.org
 # @AUTHOR:
 # Authors: NP-Hardass <NP-Hardass@gentoo.org> based upon the gnome.org eclass.
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
 # @BLURB: Helper eclass for mate-desktop.org hosted archives
 # @DESCRIPTION:
 # Provide a default SRC_URI and EGIT_REPO_URI for MATE packages as well as
 # exporting some useful values like the MATE_BRANCH
 
 case ${EAPI} in
-	7) ;;
+	7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 

diff --git a/eclass/mate.eclass b/eclass/mate.eclass
index e8290c69e25a..b6c3aa55fb19 100644
--- a/eclass/mate.eclass
+++ b/eclass/mate.eclass
@@ -7,7 +7,7 @@
 # @AUTHOR:
 # Authors: NP-Hardass <NP-Hardass@gentoo.org> based upon the gnome2
 # and autotools-utils eclasses
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
 # @PROVIDES: mate-desktop.org
 # @BLURB: Provides phases for MATE based packages.
 # @DESCRIPTION:
@@ -16,7 +16,7 @@
 # fact that MATE is a GNOME fork. For additional functions, see gnome2-utils.eclass.
 
 case ${EAPI} in
-	7) ;;
+	7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 


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

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

commit:     c221e8a705f65ba93929bd09b3b006135f7db0eb
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 17 06:21:58 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 17 06:22:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c221e8a7

mate.eclass: use BDEPEND for mate-common

autotools.eclass will check BROOT.

Signed-off-by: Sam James <sam <AT> gentoo.org>

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

diff --git a/eclass/mate.eclass b/eclass/mate.eclass
index b6c3aa55fb19..d9158a79d611 100644
--- a/eclass/mate.eclass
+++ b/eclass/mate.eclass
@@ -38,7 +38,7 @@ GNOME2_LA_PUNT="${MATE_LA_PUNT}"
 inherit gnome2 autotools mate-desktop.org
 
 # Autotools requires our MATE m4 files
-DEPEND=">=mate-base/mate-common-${MATE_BRANCH}"
+BDEPEND=">=mate-base/mate-common-${MATE_BRANCH}"
 
 # @FUNCTION: mate_py_cond_func_wrap
 # @DESCRIPTION:


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

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

commit:     9cd89e7d13a529ad439a9d8abae615943c08e78e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 17 03:07:35 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 18 01:30:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9cd89e7d

toolchain.eclass: downgrade znver4 to znver3 for <12.3

Closes: https://bugs.gentoo.org/912292
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 9f626c5bfc77..6a88676b750d 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1395,6 +1395,7 @@ downgrade_arch_flags() {
 
 	# "added" "arch" "replacement"
 	local archlist=(
+		12.3 znver4 znver3
 		10 znver3 znver2
 		9 znver2 znver1
 		4.9 bdver4 bdver3


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

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

commit:     b540f017cacb9d8c293648dcb1ab209d43d1ca79
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 17 03:18:19 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 18 01:30:16 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b540f017

flag-o-matic.eclass: update _filter-hardened

_filter-hardened is used by filter-flags to negate defaults, e.g. it makes
filter-flags -fstack-protector correctly then disable -fstack-protector as well
if the toolchain enables SSP by default.

Modernise the tests it uses with the tc-enables-* functions rather than
just gcc-specs-*. We haven't done hardening via specs for ages.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/flag-o-matic.eclass | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 0558e639b981..7ea29334bba8 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -147,7 +147,10 @@ _filter-hardened() {
 			# not -fPIC or -fpic, but too many places filter -fPIC without
 			# thinking about -fPIE.
 			-fPIC|-fpic|-fPIE|-fpie|-Wl,pie|-pie)
-				gcc-specs-pie || continue
+				if ! gcc-specs-pie && ! tc-enables-pie ; then
+					continue
+				fi
+
 				if ! is-flagq -nopie && ! is-flagq -no-pie ; then
 					# Support older Gentoo form first (-nopie) before falling
 					# back to the official gcc-6+ form (-no-pie).
@@ -158,15 +161,26 @@ _filter-hardened() {
 					fi
 				fi
 				;;
+
 			-fstack-protector)
-				gcc-specs-ssp || continue
-				is-flagq -fno-stack-protector || append-flags $(test-flags -fno-stack-protector);;
+				if ! gcc-specs-ssp && ! tc-enables-ssp ; then
+					continue
+				fi
+
+				is-flagq -fno-stack-protector || append-flags $(test-flags -fno-stack-protector)
+				;;
 			-fstack-protector-all)
-				gcc-specs-ssp-to-all || continue
-				is-flagq -fno-stack-protector-all || append-flags $(test-flags -fno-stack-protector-all);;
+				if ! gcc-specs-ssp-to-all && ! tc-enables-ssp-all ; then
+					continue
+				fi
+
+				is-flagq -fno-stack-protector-all || append-flags $(test-flags -fno-stack-protector-all)
+				;;
 			-fno-strict-overflow)
 				gcc-specs-nostrict || continue
-				is-flagq -fstrict-overflow || append-flags $(test-flags -fstrict-overflow);;
+
+				is-flagq -fstrict-overflow || append-flags $(test-flags -fstrict-overflow)
+				;;
 		esac
 	done
 }


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

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

commit:     bc7f9e5b77e202ba568eaaf0f6a5638e5c0f6f23
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 17 03:21:13 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 18 01:30:46 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc7f9e5b

flag-o-matic.eclass: handle C++ assertions and FORTIFY_SOURCE in _filter-hardened

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/flag-o-matic.eclass | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index 70d39d034388..b4c27bf89d92 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -181,6 +181,16 @@ _filter-hardened() {
 
 				is-flagq -fstrict-overflow || append-flags $(test-flags -fstrict-overflow)
 				;;
+			-D_GLIBCXX_ASSERTIONS|-D_LIBCPP_ENABLE_ASSERTIONS|-D_LIBCPP_ENABLE_HARDENED_MODE)
+				tc-enables-cxx-assertions || continue
+
+				append-cppflags -U_GLIBCXX_ASSERTIONS -U_LIBCPP_ENABLE_ASSERTIONS -U_LIBCPP_ENABLE_HARDENED_MODE
+				;;
+			-D_FORTIFY_SOURCE=*)
+				tc-enables-fortify-source || continue
+
+				append-cppflags -U_FORTIFY_SOURCE
+				;;
 		esac
 	done
 }


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

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

commit:     d5568f773d763bcfcaa50577553a3721c7b9eb83
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 17 03:20:57 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 18 01:30:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5568f77

flag-o-matic.eclass: recognize -fstack-protector-strong in _filter-hardened

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 7ea29334bba8..70d39d034388 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -162,8 +162,8 @@ _filter-hardened() {
 				fi
 				;;
 
-			-fstack-protector)
-				if ! gcc-specs-ssp && ! tc-enables-ssp ; then
+			-fstack-protector|-fstack-protector-strong)
+				if ! gcc-specs-ssp && ! tc-enables-ssp && ! tc-enables-ssp-strong ; then
 					continue
 				fi
 


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

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

commit:     1dd3378347f15c27b82237443f3a4825b4e70b3d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 17 03:17:05 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Aug 18 01:30:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1dd33783

toolchain-funcs.eclass: tc-enables-fortify-source: update for newer libcxx

Newer libcxx uses _LIBCPP_ENABLE_HARDENED_MODE instead of _LIBCPP_ENABLE_ASSERTIONS
which is now deprecated.

Bug: https://bugs.gentoo.org/912223
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain-funcs.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index e28f6148ddc1..556bbac35307 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -963,9 +963,9 @@ gcc-specs-stack-check() {
 # @DESCRIPTION:
 # Return truth if the current compiler enables assertions in the C++ standard
 # library. For libstdc++, this is -D_GLIBCXX_ASSERTIONS, and for libcxx/libc++,
-# this is -D_LIBCPP_ENABLE_ASSERTIONS.
+# this is -D_LIBCPP_ENABLE_ASSERTIONS (deprecated) or -D_LIBCPP_ENABLE_HARDENED_MODE.
 tc-enables-cxx-assertions() {
-	tc-cpp-is-true "defined(_GLIBCXX_ASSERTIONS) || defined(_LIBCPP_ENABLE_ASSERTIONS)" ${CPPFLAGS} ${CXXFLAGS}
+	tc-cpp-is-true "defined(_GLIBCXX_ASSERTIONS) || defined(_LIBCPP_ENABLE_ASSERTIONS) || defined(_LIBCPP_ENABLE_HARDENED_MODE)" ${CPPFLAGS} ${CXXFLAGS}
 }
 
 # @FUNCTION: tc-enables-pie


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

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

commit:     54d6fdbd179f158f4b9e0e21b1b03ff1ae46f404
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 16 12:16:33 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 19 18:28:13 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54d6fdbd

python-utils-r1.eclass: Fix PYTHON_SITEDIR/INCLUDEDIR for cross-prefix

We dynamically determine Python's SITEDIR and INCLUDEDIR using the build
host's Python. This breaks down when the build host's prefix differs
from the target host's prefix, so chop off the former and prepend the
latter.

This assumes that each Python implementation is always installed using
the same scheme. Meson already makes this assumption, and gpep517 makes
a similar assumption to determine Python's stdlib location.

We could improve on this and determine these locations using SYSROOT's
sysconfigdata file, like gpep517 does, but this seems needlessly
complex. We would need to take this approach for PYTHON_LIBPATH and
PYTHON_CONFIG, but these are only used by handful of packages.

${BROOT-${EPREFIX}} is needed rather than plain ${BROOT} for the same
reason we need it for PYTHON, namely that Portage <3.0.50 was buggy.

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, 2 insertions(+)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 2fffd6d56bf5..f9c6d161d3f3 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -351,6 +351,7 @@ _python_export() {
 						print(sysconfig.get_path("purelib"))
 					EOF
 				)
+				PYTHON_SITEDIR=${EPREFIX}${PYTHON_SITEDIR#"${BROOT-${EPREFIX}}"}
 				export PYTHON_SITEDIR
 				debug-print "${FUNCNAME}: PYTHON_SITEDIR = ${PYTHON_SITEDIR}"
 				;;
@@ -362,6 +363,7 @@ _python_export() {
 						print(sysconfig.get_path("platinclude"))
 					EOF
 				)
+				PYTHON_INCLUDEDIR=${ESYSROOT}${PYTHON_INCLUDEDIR#"${BROOT-${EPREFIX}}"}
 				export PYTHON_INCLUDEDIR
 				debug-print "${FUNCNAME}: PYTHON_INCLUDEDIR = ${PYTHON_INCLUDEDIR}"
 


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

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

commit:     bea2580bad608f1084d0768bfa6255d110851dba
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 19 18:25:15 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 19 18:28:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bea2580b

python-r1.eclass: Expand `use doc` check in example for readability

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/python-r1.eclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index 303737e41589..fbc6082a1d92 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.eclass
@@ -692,7 +692,8 @@ python_foreach_impl() {
 #	$(python_gen_any_dep 'dev-python/epydoc[${PYTHON_USEDEP}]' 'python2*') )"
 #
 # python_check_deps() {
-# 	use !doc || python_has_version "dev-python/epydoc[${PYTHON_USEDEP}]"
+# 	! use doc && return 0
+# 	python_has_version "dev-python/epydoc[${PYTHON_USEDEP}]"
 # }
 #
 # src_compile() {


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

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

commit:     5c73e17393a246d5101ca6392d199ece9af2180b
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 17 06:07:10 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 19 18:28:12 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c73e173

distutils-r1.eclass: append scikit-build-core to documentation.

To complete 5b29e5b1a393c21db9974de5c2d01e6dc482d4b9.

Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/32354
Signed-off-by: Michał Górny <mgorny <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 658d26f2a440..91de144e1110 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -129,6 +129,8 @@ esac
 #
 # - poetry - poetry-core backend
 #
+# - scikit-build-core - scikit-build-core backend
+#
 # - setuptools - distutils or setuptools (incl. legacy mode)
 #
 # - sip - sipbuild backend


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

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

commit:     f80b0acf7f78971b601aabb913e067a0dde70268
Author:     Matt Whitlock <gentoo <AT> mattwhitlock <DOT> name>
AuthorDate: Fri Mar 18 21:44:05 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 19 18:28:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f80b0acf

python{,-any}-r1.eclass: use python_has_version in examples

The python_check_deps() examples given in the documentation of several
functions and variables in python-r1.eclass and python-any-r1.eclass are
incorrect. The default behavior of has_version() is to check the
*runtime* system (RDEPEND), but python_check_deps() is meant to check
that the *build* system (BDEPEND) has a suitable Python environment. The
examples fail to do this and thus likely are leading developers to write
incorrect python_check_deps() functions in their ebuilds. Thankfully,
python-utils-r1.eclass supplies a python_has_version() function that
defaults to checking the build system and implements some other
enhancements that make it nicer for use in python_check_deps(). Change
the examples to use python_has_version.

Closes: https://bugs.gentoo.org/835462
Signed-off-by: Matt Whitlock <gentoo <AT> mattwhitlock.name>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/python-any-r1.eclass |  6 +++---
 eclass/python-r1.eclass     | 10 +++++-----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass
index 4e2e12e228ad..a21df8e89498 100644
--- a/eclass/python-any-r1.eclass
+++ b/eclass/python-any-r1.eclass
@@ -221,9 +221,9 @@ unset -f _python_any_set_globals
 #		dev-python/baz[${PYTHON_USEDEP}] )')"
 #
 # python_check_deps() {
-#	python_has_version "dev-python/foo[${PYTHON_SINGLE_USEDEP}]" \
-#		&& { python_has_version "dev-python/bar[${PYTHON_USEDEP}]" \
-#			|| python_has_version "dev-python/baz[${PYTHON_USEDEP}]"; }
+# 	python_has_version "dev-python/foo[${PYTHON_SINGLE_USEDEP}]" &&
+# 		{ python_has_version "dev-python/bar[${PYTHON_USEDEP}]" ||
+# 			python_has_version "dev-python/baz[${PYTHON_USEDEP}]"; }
 # }
 # @CODE
 #

diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index b816e3b6f855..303737e41589 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.eclass
@@ -156,7 +156,7 @@ inherit multibuild python-utils-r1
 # Example use:
 # @CODE
 # python_check_deps() {
-# 	has_version "dev-python/bar[${PYTHON_SINGLE_USEDEP}]"
+# 	python_has_version "dev-python/bar[${PYTHON_SINGLE_USEDEP}]"
 # }
 # @CODE
 #
@@ -474,9 +474,9 @@ python_gen_impl_dep() {
 #		dev-python/baz[${PYTHON_USEDEP}] )' -2)"
 #
 # python_check_deps() {
-#	has_version "dev-python/foo[${PYTHON_SINGLE_USEDEP}]" \
-#		&& { has_version "dev-python/bar[${PYTHON_USEDEP}]" \
-#			|| has_version "dev-python/baz[${PYTHON_USEDEP}]"; }
+# 	python_has_version "dev-python/foo[${PYTHON_SINGLE_USEDEP}]" &&
+# 		{ python_has_version "dev-python/bar[${PYTHON_USEDEP}]" ||
+# 			python_has_version "dev-python/baz[${PYTHON_USEDEP}]"; }
 # }
 #
 # src_compile() {
@@ -692,7 +692,7 @@ python_foreach_impl() {
 #	$(python_gen_any_dep 'dev-python/epydoc[${PYTHON_USEDEP}]' 'python2*') )"
 #
 # python_check_deps() {
-#	has_version "dev-python/epydoc[${PYTHON_USEDEP}]"
+# 	use !doc || python_has_version "dev-python/epydoc[${PYTHON_USEDEP}]"
 # }
 #
 # src_compile() {


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

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

commit:     334ede8833626292d8c11d148b5ed83cf89bbdf9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 20 12:01:02 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 20 12:02:26 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=334ede88

llvm.org.eclass: Add 18.0.0_pre20230820 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 c83f5725e301..e2d83df1485e 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_pre20230820)
+					EGIT_COMMIT=fe42682e7818d44cbe19f98ef34caa4e414aa937
+					;;
 				18.0.0_pre20230810)
 					EGIT_COMMIT=7d259b36d2e8148d13087844e6494ad3a5c63edf
 					;;


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

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

commit:     bcfd48957adc57003821b6801eac84a46139298b
Author:     Boris Staletic <boris.staletic <AT> protonmail <DOT> com>
AuthorDate: Thu Aug 17 17:05:40 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 20 15:46:45 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bcfd4895

kernel-build.class: Allow usage with module-less kernel configs

With CONFIG_MODULES not set to either y or m, kernel-build.eclass runs
into two issues:

1. Modules.symvers does not get generated. doins build/Module.symvers
   thus fails.
2. kernel.release exists,
   but in ${WORKDIR}/build/include/config/kernel.release
   while kernel-build_src_install() seems to expect to to find it
   in ${PWD}/include/config.

Closes: https://bugs.gentoo.org/904694
Signed-off-by: Boris Staletic <boris.staletic <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/32358
Signed-off-by: Michał Górny <mgorny <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 276a08a104e0..49462df7d518 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -291,10 +291,18 @@ kernel-build_src_install() {
 		')' -delete || die
 	rm modprep/source || die
 	cp -p -R modprep/. "${ED}${kernel_dir}"/ || die
+	# If CONFIG_MODULES=y, then kernel.release will be found in modprep as well, but not
+	# in case of CONFIG_MODULES is not set.
+	# The one in build is exactly the same as the one in modprep, but the one in build
+	# always exists, so it can just be copied unconditionally.
+	cp "${WORKDIR}/build/include/config/kernel.release" \
+		"${ED}${kernel_dir}/include/config/" || die
 
 	# install the kernel and files needed for module builds
 	insinto "${kernel_dir}"
-	doins build/{System.map,Module.symvers}
+	doins build/System.map
+	# 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
 


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

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

commit:     72bea0951c0c1fb0019855a0219126690415409a
Author:     Violet Purcell <vimproved <AT> inventati <DOT> org>
AuthorDate: Sat Aug 12 20:59:14 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Mon Aug 21 08:38:26 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=72bea095

kernel-build.eclass: Fix separate private and public module signing keys

The kernel expects CONFIG_MODULE_SIG_KEY to be either a pkcs11 URI
containing refences to both a private and public key, or a path to a PEM
file containing both the private and public keys. However, currently the
kernel build will fail if MODULES_SIGNING_KEY is set to a PEM file
containing only the private key. This commit adds a step in
kernel-build_merge_configs that concatenates MODULES_SIGNING_KEY and
MODULES_SIGNING_CERT into ${T}/kernel_key.pem if both files exist and
are not the same path. It then sets MODULES_SIGNING_KEY to
${T}/kernel_key.pem. This should fix building with separate private and
public module signing keys.

Signed-off-by: Violet Purcell <vimproved <AT> inventati.org>
Closes: https://github.com/gentoo/gentoo/pull/32275
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 eclass/kernel-build.eclass | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index 49462df7d518..8cf7222dc8ab 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -57,7 +57,8 @@ IUSE="+strip"
 # @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 and MODULES_SIGN_KEY user variables.
+# MODULES_SIGN_HASH, MODULES_SIGN_CERT, and MODULES_SIGN_KEY  user
+# variables.
 
 # @ECLASS_VARIABLE: MODULES_SIGN_HASH
 # @USER_VARIABLE
@@ -89,6 +90,14 @@ IUSE="+strip"
 #
 # Default if unset: certs/signing_key.pem
 
+# @ECLASS_VARIABLE: MODULES_SIGN_CERT
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Used with USE=modules-sign.  Can be set to the path of the public
+# 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.
+
 if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
 	IUSE+=" modules-sign"
 	REQUIRED_USE="secureboot? ( modules-sign )"
@@ -402,6 +411,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:* || -e ${MODULES_SIGN_KEY} ]]; then
 				echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \
 					>> "${WORKDIR}/modules-sign.config"


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

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

commit:     8655aba9e210295c110c1748a3b10cb10a6694c7
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 21 06:53:29 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Mon Aug 21 08:38:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8655aba9

kernel-build.eclass: depend on openssl with USE=modules-sign

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <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 8cf7222dc8ab..d498dd2e705b 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -101,6 +101,9 @@ IUSE="+strip"
 if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then
 	IUSE+=" modules-sign"
 	REQUIRED_USE="secureboot? ( modules-sign )"
+	BDEPEND+="
+		modules-sign? ( dev-libs/openssl )
+	"
 fi
 
 # @FUNCTION: kernel-build_pkg_setup


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

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

commit:     298769e6384287ff1a39fd8659dd1a37101ee47b
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 22 13:24:09 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Aug 22 13:24:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=298769e6

kernel-build.eclass: error out early if signing key not readable

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 d498dd2e705b..5b324e036c5f 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -421,11 +421,11 @@ kernel-build_merge_configs() {
 				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:* || -e ${MODULES_SIGN_KEY} ]]; then
+			if [[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]]; then
 				echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \
 					>> "${WORKDIR}/modules-sign.config"
 			elif [[ -n ${MODULES_SIGN_KEY} ]]; then
-				die "MODULES_SIGN_KEY=${MODULES_SIGN_KEY} not found!"
+				die "MODULES_SIGN_KEY=${MODULES_SIGN_KEY} not found or not readable!"
 			fi
 			merge_configs+=( "${WORKDIR}/modules-sign.config" )
 		fi


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

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

commit:     e95be81e9a35b261c0e59272fbfd0108239f9ca3
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 22 13:27:24 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Tue Aug 22 13:27:24 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e95be81e

secureboot.eclass: error out early if signing key not readable

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

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

diff --git a/eclass/secureboot.eclass b/eclass/secureboot.eclass
index 477722a83bb3..383fe7cc3afa 100644
--- a/eclass/secureboot.eclass
+++ b/eclass/secureboot.eclass
@@ -52,7 +52,7 @@ BDEPEND="secureboot? ( app-crypt/sbsigntools )"
 # @DESCRIPTION:
 # Used with USE=secureboot.  Should be set to the path of the private
 # key in PEM format to use, or a PKCS#11 URI.
-#
+
 # @ECLASS_VARIABLE: SECUREBOOT_SIGN_CERT
 # @USER_VARIABLE
 # @DEFAULT_UNSET
@@ -75,11 +75,11 @@ _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:* && ! -f ${SECUREBOOT_SIGN_KEY} ]]; then
-		die "SECUREBOOT_SIGN_KEY=${SECUREBOOT_SIGN_KEY} not found"
+	if [[ ! ${SECUREBOOT_SIGN_KEY} == pkcs11:* && ! -r ${SECUREBOOT_SIGN_KEY} ]]; then
+		die "SECUREBOOT_SIGN_KEY=${SECUREBOOT_SIGN_KEY} not found or not readable!"
 	fi
-	if [[ ! -f ${SECUREBOOT_SIGN_CERT} ]];then
-		die "SECUREBOOT_SIGN_CERT=${SECUREBOOT_SIGN_CERT} not found"
+	if [[ ! -r ${SECUREBOOT_SIGN_CERT} ]]; then
+		die "SECUREBOOT_SIGN_CERT=${SECUREBOOT_SIGN_CERT} not found or not readable!"
 	fi
 }
 


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

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

commit:     e105854611974017415af6199d521b78f1134ff4
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 22 17:11:34 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 22 17:11:34 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1058546

check-reqs.eclass: clarify failed requirements error

Explicitly suggest lower MAKEOPTS jobs and/or adding swap for bad RAM
amount.

Signed-off-by: Sam James <sam <AT> gentoo.org>

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

diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass
index f6409e9a02c5..fac2f4553d74 100644
--- a/eclass/check-reqs.eclass
+++ b/eclass/check-reqs.eclass
@@ -291,9 +291,11 @@ _check-reqs_output() {
 	[[ ${EBUILD_PHASE} == "pretend" && -z ${CHECKREQS_DONOTHING} ]] && msg="eerror"
 	if [[ -n ${CHECKREQS_FAILED} ]]; then
 		${msg}
-		${msg} "Space constraints set in the ebuild were not met!"
-		${msg} "The build will most probably fail, you should enhance the space"
-		${msg} "as per failed tests."
+		${msg} "Memory or space constraints set in the ebuild were not met!"
+		${msg} "The build will most probably fail, you should:"
+		${msg} "- enhance the memory (reduce MAKEOPTS, add swap), or"
+		${msg} "- add more space"
+		${msg} "as required depending on the failed tests."
 		${msg}
 
 		[[ ${EBUILD_PHASE} == "pretend" && -z ${CHECKREQS_DONOTHING} ]] && \


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

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

commit:     84b8266d0423caa790474e031d5def9ad4b8bd0e
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Wed Aug 24 02:16:50 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 22 17:08:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84b8266d

cmake.eclass: add CMAKE_SKIP_TESTS

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

 eclass/cmake.eclass | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 16b3e300ccae..fb3f9b6352be 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -125,6 +125,12 @@ fi
 # read-only. This is a user flag and should under _no circumstances_ be set in
 # 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.
+
 [[ ${CMAKE_MIN_VERSION} ]] && die "CMAKE_MIN_VERSION is banned; if necessary, set BDEPEND=\">=dev-util/cmake-${CMAKE_MIN_VERSION}\" directly"
 [[ ${CMAKE_BUILD_DIR} ]] && die "The ebuild must be migrated to BUILD_DIR"
 [[ ${CMAKE_REMOVE_MODULES} ]] && die "CMAKE_REMOVE_MODULES is banned, set CMAKE_REMOVE_MODULES_LIST array instead"
@@ -681,6 +687,7 @@ cmake_src_test() {
 	[[ -e CTestTestfile.cmake ]] || { echo "No tests found. Skipping."; return 0 ; }
 
 	[[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure )
+	[[ -n ${CMAKE_SKIP_TESTS} ]] && myctestargs+=( -E '('$( IFS='|'; echo "${CMAKE_SKIP_TESTS[*]}")')'  )
 
 	set -- ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)" \
 		--test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"


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

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

commit:     6472469a0333ea9088e815c0741c2dfb200987b5
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Tue Aug  1 22:32:35 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 22 18:03:37 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6472469a

kernel-2.eclass: Use cross.eclass for figuring out CTARGET

Use crossdev.eclass instead of manually parsing category. This makes it
automatically support LLVM/Clang crossdev.

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/kernel-2.eclass | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index bdeabb9fc2dc..dc9ed25e8b60 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -281,7 +281,7 @@
 # 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.
 
-inherit estack multiprocessing toolchain-funcs
+inherit crossdev estack multiprocessing toolchain-funcs
 
 case ${EAPI} in
 	7|8) ;;
@@ -293,11 +293,6 @@ esac
 # I will remove it when I come up with something more reasonable.
 [[ ${PROFILE_ARCH} == ppc64 ]] && CHOST="powerpc64-${CHOST#*-}"
 
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} && ${CATEGORY/cross-} != ${CATEGORY} ]]; then
-	export CTARGET=${CATEGORY/cross-}
-fi
-
 HOMEPAGE="https://www.kernel.org/ https://wiki.gentoo.org/wiki/Kernel ${HOMEPAGE}"
 : "${LICENSE:="GPL-2"}"
 


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

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

commit:     00ee14eab35e0dad294da8efe1c9f6606c3e4794
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Tue Aug  1 22:14:15 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 22 18:03:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=00ee14ea

crossdev.eclass: new eclass

This eclass includes convenience wrappers for use in ebuilds used by the
Crossdev tool. Mostly to avoid duplicating code for checking category
and setting CTARGET in ebuilds.

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/crossdev.eclass | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/eclass/crossdev.eclass b/eclass/crossdev.eclass
new file mode 100644
index 000000000000..d6c99e4f32b7
--- /dev/null
+++ b/eclass/crossdev.eclass
@@ -0,0 +1,77 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: crossdev.eclass
+# @MAINTAINER:
+# cat@catcream.org
+# @AUTHOR:
+# Alfred Persson Forsberg <cat@catcream.org> (21 Jul 2023)
+# @SUPPORTED_EAPIS: 7 8
+# @BLURB: Convenience wrappers for packages used by the Crossdev tool.
+
+inherit toolchain-funcs
+
+case ${EAPI} in
+	7|8) ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ -z ${_CROSSDEV_ECLASS} ]]; then
+_CROSSDEV_ECLASS=1
+
+# @ECLASS_VARIABLE: _CROSS_CATEGORY_PREFIX
+# @INTERNAL
+# @DESCRIPTION:
+# This variable specifies the category prefix for a Crossdev
+# package. For GCC Crossdev it is "cross-", and for LLVM it is
+# "cross_llvm-"
+_CROSS_CATEGORY_PREFIX=""
+
+# @ECLASS_VARIABLE: _IS_CROSSPKG_LLVM
+# @INTERNAL
+# @DESCRIPTION:
+# Is true if the package is in a LLVM Crossdev category, otherwise false
+_IS_CROSSPKG_LLVM=0
+if [[ ${CATEGORY} == cross_llvm-* ]] ; then
+	_IS_CROSSPKG_LLVM=1
+	_CROSS_CATEGORY_PREFIX="cross_llvm-"
+fi
+
+# @ECLASS_VARIABLE: _IS_CROSSPKG_GCC
+# @INTERNAL
+# @DESCRIPTION:
+# Is true if the package is in a GCC Crossdev category, otherwise false
+_IS_CROSSPKG_GCC=0
+if [[ ${CATEGORY} == cross-* ]] ; then
+	_IS_CROSSPKG_GCC=1
+	_CROSS_CATEGORY_PREFIX="cross-"
+fi
+
+# @ECLASS_VARIABLE: _IS_CROSSPKG
+# @INTERNAL
+# @DESCRIPTION:
+# Is true if the package is in a any Crossdev category, otherwise false
+[[ ${_IS_CROSSPKG_LLVM} == 1 || ${_IS_CROSSPKG_GCC} == 1 ]] && _IS_CROSSPKG=1
+
+# Default CBUILD and CTARGET to CHOST if unset.
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+	# cross-aarch64-gentoo-linux-musl -> aarch64-gentoo-linux-musl
+	[[ ${_IS_CROSSPKG} == 1 ]] && export CTARGET=${CATEGORY#${_CROSS_CATEGORY_PREFIX}}
+fi
+
+# @FUNCTION: target_is_not_host
+# @RETURN: Shell true if we're targeting an triple other than host
+target_is_not_host() {
+	 [[ ${CHOST} != ${CTARGET} ]]
+}
+
+# @FUNCTION: is_crosspkg
+# @RETURN: Shell true if package belongs to any crossdev category
+is_crosspkg() {
+	 [[ ${_IS_CROSSPKG} == 1 ]]
+}
+
+fi


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

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

commit:     603009a23553544f5dbd280ebd33d0d789db87b3
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 23 06:50:27 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Aug 23 07:36:24 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=603009a2

cmake.eclass: Remove duplicate eninja call from cmake_build

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 eclass/cmake.eclass | 1 -
 1 file changed, 1 deletion(-)

diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index fb3f9b6352be..d0f6d0b4bd91 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -661,7 +661,6 @@ cmake_build() {
 				OFF) NINJA_VERBOSE=OFF eninja "$@" ;;
 				*) eninja "$@" ;;
 			esac
-			eninja "$@"
 			;;
 	esac
 


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

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

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

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

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

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

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

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

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

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

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

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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2023-08-28  6:54 WANG Xuerui
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-08  8:06 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-09 19:54 Conrad Kostecki
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-09 19:54 Conrad Kostecki
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-10 17:28 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11  0:55 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11  1:58 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11  6:21 Hans de Graaff
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11  6:44 Joonas Niilola
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-11 13:39 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-12  4:51 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13  7:07 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13  8:35 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 13:22 Michael Orlitzky
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 13:22 Michael Orlitzky
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 13:22 Michael Orlitzky
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 13:22 Michael Orlitzky
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-13 21:53 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-14  8:20 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-14  9:19 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-15 14:20 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-15 18:02 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17  6:25 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 12:07 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 12:07 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 12:07 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 23:05 Ionen Wolkens
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-17 23:05 Ionen Wolkens
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-18  3:50 Benda XU
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-18 13:25 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-20 17:02 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-21  8:58 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-21  8:58 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-21  8:58 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-22  1:44 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-25  5:55 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-25  8:35 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-26  8:18 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-05-31 12:42 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01  6:19 Hans de Graaff
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01  6:19 Hans de Graaff
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01  6:19 Hans de Graaff
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01 21:11 Alfredo Tupone
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-01 21:34 Alfredo Tupone
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-02  8:22 Ionen Wolkens
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-06 20:37 Mike Gilbert
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-08  3:53 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-08  3:53 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-08 10:29 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-08 15:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-10 12:46 Joonas Niilola
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-10 14:23 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-10 14:23 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 10:24 Arthur Zamarin
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 13:20 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 13:20 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 14:27 Patrick Lauer
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 16:36 Patrick Lauer
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-12 17:13 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-13 13:21 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-13 18:35 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-13 18:35 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-13 20:43 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 10:00 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:19 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-14 12:26 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-15  7:58 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-15 11:01 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-17  0:53 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-17  9:39 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-17 17:13 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-19  3:16 Andreas K. Hüttel
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-20  7:29 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-20  7:29 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-20  9:57 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-23  1:00 Ionen Wolkens
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-23 17:33 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-24 11:58 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-26  6:24 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-27  7:33 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-28  8:23 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-29  8:39 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-29  8:39 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-29  8:39 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-06-30 18:27 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-02 17:49 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-03  0:54 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-03  0:59 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-03  5:30 Joonas Niilola
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-05 11:03 Arthur Zamarin
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-05 11:03 Arthur Zamarin
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-05 11:03 Arthur Zamarin
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-05 20:50 Luca Barbato
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-06 11:19 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-07  6:45 Matthew Smith
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-08 10:03 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-08 10:03 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-08 10:03 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-08 10:03 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-09 16:44 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-11 14:35 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-11 20:54 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-11 20:54 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-12  6:27 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-12  7:38 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-12 17:43 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-13  7:46 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-13 14:14 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-14 17:45 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-14 17:45 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15  7:17 David Seifert
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15  7:17 David Seifert
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15  7:17 David Seifert
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-15 19:18 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-16  9:16 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-18 16:15 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-20 12:09 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 13:31 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 13:31 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 13:31 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 15:14 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-21 15:45 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-22 15:09 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-22 15:09 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-22 15:09 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 10:03 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 14:07 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 14:07 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 14:07 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-23 14:13 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24  8:58 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24  8:58 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24 17:18 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24 17:18 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-24 17:18 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-26  9:00 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-26 17:18 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-27  7:27 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-27 22:00 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-28 17:40 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-07-31  0:02 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-01  7:32 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-01 20:20 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-04  7:27 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-04  7:30 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-04  8:28 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  1:46 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06  8:47 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-06 16:39 Florian Schmaus
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07  3:03 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07  8:58 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07  8:58 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07  9:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07  9:25 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07  9:41 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-07 15:13 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08  9:00 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 10:05 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 10:30 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 10:30 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 10:49 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 14:38 James Le Cuirot
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 16:46 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-08 19:26 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-09 11:39 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-09 11:50 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-09 14:30 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-09 15:50 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-10 14:06 Fabian Groffen
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-10 17:24 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-11 20:56 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12  1:19 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12  1:19 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12  1:19 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12  1:19 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12 19:02 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-12 19:02 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 17:48 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 20:01 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 21:18 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-15 21:24 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16  5:55 Arthur Zamarin
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 10:15 Arthur Zamarin
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-16 17:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-18 17:44 Arsen Arsenović
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-18 17:44 Arsen Arsenović
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-18 17:44 Arsen Arsenović
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-19  6:02 Viorel Munteanu
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-19 18:17 Robin H. Johnson
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-20 20:07 Mike Gilbert
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-20 20:17 Mike Gilbert
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-21 21:51 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-22 11:23 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-22 17:00 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-23 19:25 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-23 19:25 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-25  0:49 Jason Zaman
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-25 15:37 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26  6:34 Andreas Sturmlechner
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 13:04 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 13:04 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 13:04 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-26 13:04 Ulrich Müller
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-30 19:10 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-30 19:43 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-08-31  8:33 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01  9:59 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01  9:59 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01  9:59 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01  9:59 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 11:05 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 11:05 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 11:05 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-01 11:05 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-03  4:22 Ionen Wolkens
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-03  8:58 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-03  9:40 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-04 20:33 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-05 12:10 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-07 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-07 18:23 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-08 18:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-09 18:20 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-10  6:46 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-10  8:54 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-10 12:58 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-10 19:11 Miroslav Šulc
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-11 22:21 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-12 22:08 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-17 11:58 Andrew Ammerlaan
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-17 12:13 Michał Górny
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: eclass/
@ 2024-09-18 15:51 Sam James
  0 siblings, 0 replies; 5996+ 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] 5996+ messages in thread

end of thread, other threads:[~2024-09-18 15:51 UTC | newest]

Thread overview: 5996+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-01  0:27 [gentoo-commits] repo/gentoo:master commit in: eclass/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-09-18 15:51 Sam James
2024-09-17 12:13 Michał Górny
2024-09-17 11:58 Andrew Ammerlaan
2024-09-12 22:08 Sam James
2024-09-11 22:21 Sam James
2024-09-10 19:11 Miroslav Šulc
2024-09-10 12:58 Michał Górny
2024-09-10  8:54 Michał Górny
2024-09-10  6:46 Miroslav Šulc
2024-09-09 18:20 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-07 18:23 Sam James
2024-09-07 18:21 Sam James
2024-09-05 12:10 Sam James
2024-09-04 20:33 Michał Górny
2024-09-03  9:40 Sam James
2024-09-03  8:58 Sam James
2024-09-03  4:22 Ionen Wolkens
2024-09-01 11:05 Sam James
2024-09-01 11:05 Sam James
2024-09-01 11:05 Sam James
2024-09-01 11:05 Sam James
2024-09-01  9:59 Miroslav Šulc
2024-09-01  9:59 Miroslav Šulc
2024-09-01  9:59 Miroslav Šulc
2024-09-01  9:59 Miroslav Šulc
2024-08-31  8:33 Michał Górny
2024-08-30 19:43 Andrew Ammerlaan
2024-08-30 19:10 Andrew Ammerlaan
2024-08-26 13:04 Ulrich Müller
2024-08-26 13:04 Ulrich Müller
2024-08-26 13:04 Ulrich Müller
2024-08-26 13:04 Ulrich Müller
2024-08-26  6:34 Andreas Sturmlechner
2024-08-25 15:37 Andrew Ammerlaan
2024-08-25  0:49 Jason Zaman
2024-08-23 19:25 Michał Górny
2024-08-23 19:25 Michał Górny
2024-08-22 17:00 Andreas Sturmlechner
2024-08-22 11:23 Michał Górny
2024-08-21 21:51 Andreas Sturmlechner
2024-08-20 20:17 Mike Gilbert
2024-08-20 20:07 Mike Gilbert
2024-08-19 18:17 Robin H. Johnson
2024-08-19  6:02 Viorel Munteanu
2024-08-18 17:44 Arsen Arsenović
2024-08-18 17:44 Arsen Arsenović
2024-08-18 17:44 Arsen Arsenović
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 10:15 Arthur Zamarin
2024-08-16  5:55 Arthur Zamarin
2024-08-15 21:24 Sam James
2024-08-15 21:18 Sam James
2024-08-15 20:01 Michał Górny
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-12 19:02 Ulrich Müller
2024-08-12 19:02 Ulrich Müller
2024-08-12  1:19 Sam James
2024-08-12  1:19 Sam James
2024-08-12  1:19 Sam James
2024-08-12  1:19 Sam James
2024-08-11 20:56 Sam James
2024-08-10 17:24 Sam James
2024-08-10 14:06 Fabian Groffen
2024-08-09 15:50 Andrew Ammerlaan
2024-08-09 14:30 Sam James
2024-08-09 11:50 Sam James
2024-08-09 11:39 Sam James
2024-08-08 19:26 Michał Górny
2024-08-08 16:46 Andrew Ammerlaan
2024-08-08 14:38 James Le Cuirot
2024-08-08 10:49 Sam James
2024-08-08 10:30 Sam James
2024-08-08 10:30 Sam James
2024-08-08 10:05 Sam James
2024-08-08  9:00 James Le Cuirot
2024-08-07 15:13 Sam James
2024-08-07  9:41 Sam James
2024-08-07  9:25 Sam James
2024-08-07  9:21 Sam James
2024-08-07  8:58 Andrew Ammerlaan
2024-08-07  8:58 Andrew Ammerlaan
2024-08-07  3:03 Sam James
2024-08-06 16:39 Florian Schmaus
2024-08-06  8:47 Michał Górny
2024-08-06  8:47 Michał Górny
2024-08-06  8:47 Michał Górny
2024-08-06  8:47 Michał Górny
2024-08-06  8:47 Michał Górny
2024-08-06  8:47 Michał Górny
2024-08-06  8:47 Michał Górny
2024-08-06  8:47 Michał Górny
2024-08-06  8:47 Michał Górny
2024-08-06  8:47 Michał Górny
2024-08-06  8:47 Michał Górny
2024-08-06  8:47 Michał Górny
2024-08-06  1:46 Sam James
2024-08-04  8:28 Sam James
2024-08-04  7:30 Andrew Ammerlaan
2024-08-04  7:27 Sam James
2024-08-01 20:20 Michał Górny
2024-08-01  7:32 Miroslav Šulc
2024-07-31  0:02 Sam James
2024-07-28 17:40 Florian Schmaus
2024-07-27 22:00 Andrew Ammerlaan
2024-07-27  7:27 Michał Górny
2024-07-26 17:18 Ulrich Müller
2024-07-26  9:00 Miroslav Šulc
2024-07-24 17:18 Andrew Ammerlaan
2024-07-24 17:18 Andrew Ammerlaan
2024-07-24 17:18 Andrew Ammerlaan
2024-07-24  8:58 Florian Schmaus
2024-07-24  8:58 Florian Schmaus
2024-07-23 14:13 Michał Górny
2024-07-23 14:07 Michał Górny
2024-07-23 14:07 Michał Górny
2024-07-23 14:07 Michał Górny
2024-07-23 10:03 Miroslav Šulc
2024-07-22 15:09 Michał Górny
2024-07-22 15:09 Michał Górny
2024-07-22 15:09 Michał Górny
2024-07-21 15:45 Andrew Ammerlaan
2024-07-21 15:14 Andrew Ammerlaan
2024-07-21 13:31 Andrew Ammerlaan
2024-07-21 13:31 Andrew Ammerlaan
2024-07-21 13:31 Andrew Ammerlaan
2024-07-20 12:09 Ulrich Müller
2024-07-18 16:15 Michał Górny
2024-07-16  9:16 James Le Cuirot
2024-07-16  9:16 James Le Cuirot
2024-07-16  9:16 James Le Cuirot
2024-07-16  9:16 James Le Cuirot
2024-07-16  9:16 James Le Cuirot
2024-07-16  9:16 James Le Cuirot
2024-07-16  9:16 James Le Cuirot
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15  7:17 David Seifert
2024-07-15  7:17 David Seifert
2024-07-15  7:17 David Seifert
2024-07-14 17:45 Florian Schmaus
2024-07-14 17:45 Florian Schmaus
2024-07-13 14:14 Michał Górny
2024-07-13  7:46 Michał Górny
2024-07-12 17:43 Ulrich Müller
2024-07-12  7:38 Sam James
2024-07-12  6:27 Sam James
2024-07-11 20:54 Ulrich Müller
2024-07-11 20:54 Ulrich Müller
2024-07-11 14:35 Michał Górny
2024-07-09 16:44 Ulrich Müller
2024-07-08 10:03 Ulrich Müller
2024-07-08 10:03 Ulrich Müller
2024-07-08 10:03 Ulrich Müller
2024-07-08 10:03 Ulrich Müller
2024-07-07  6:45 Matthew Smith
2024-07-06 11:19 Michał Górny
2024-07-05 20:50 Luca Barbato
2024-07-05 11:03 Arthur Zamarin
2024-07-05 11:03 Arthur Zamarin
2024-07-05 11:03 Arthur Zamarin
2024-07-03  5:30 Joonas Niilola
2024-07-03  0:59 Sam James
2024-07-03  0:54 Sam James
2024-07-02 17:49 Sam James
2024-06-30 18:27 Sam James
2024-06-29  8:39 Andrew Ammerlaan
2024-06-29  8:39 Andrew Ammerlaan
2024-06-29  8:39 Andrew Ammerlaan
2024-06-28  8:23 Miroslav Šulc
2024-06-27  7:33 Andrew Ammerlaan
2024-06-26  6:24 Florian Schmaus
2024-06-24 11:58 Ulrich Müller
2024-06-23 17:33 Michał Górny
2024-06-23  1:00 Ionen Wolkens
2024-06-20  9:57 Sam James
2024-06-20  7:29 Florian Schmaus
2024-06-20  7:29 Florian Schmaus
2024-06-19  3:16 Andreas K. Hüttel
2024-06-17 17:13 Andreas Sturmlechner
2024-06-17  9:39 James Le Cuirot
2024-06-17  0:53 Sam James
2024-06-15 11:01 Michał Górny
2024-06-15  7:58 Sam James
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:19 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-13 20:43 Andreas Sturmlechner
2024-06-13 18:35 Ulrich Müller
2024-06-13 18:35 Ulrich Müller
2024-06-13 13:21 Miroslav Šulc
2024-06-12 17:13 James Le Cuirot
2024-06-12 16:36 Patrick Lauer
2024-06-12 14:27 Patrick Lauer
2024-06-12 13:20 James Le Cuirot
2024-06-12 13:20 James Le Cuirot
2024-06-12 10:24 Arthur Zamarin
2024-06-10 14:23 Ulrich Müller
2024-06-10 14:23 Ulrich Müller
2024-06-10 12:46 Joonas Niilola
2024-06-08 15:47 Michał Górny
2024-06-08 10:29 Michał Górny
2024-06-08  3:53 Ulrich Müller
2024-06-08  3:53 Ulrich Müller
2024-06-06 20:37 Mike Gilbert
2024-06-02  8:22 Ionen Wolkens
2024-06-01 21:34 Alfredo Tupone
2024-06-01 21:11 Alfredo Tupone
2024-06-01  6:19 Hans de Graaff
2024-06-01  6:19 Hans de Graaff
2024-06-01  6:19 Hans de Graaff
2024-05-31 12:42 Michał Górny
2024-05-26  8:18 Miroslav Šulc
2024-05-25  8:35 Michał Górny
2024-05-25  5:55 Sam James
2024-05-22  1:44 Sam James
2024-05-21  8:58 Florian Schmaus
2024-05-21  8:58 Florian Schmaus
2024-05-21  8:58 Florian Schmaus
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-18 13:25 Michał Górny
2024-05-18  3:50 Benda XU
2024-05-17 23:05 Ionen Wolkens
2024-05-17 23:05 Ionen Wolkens
2024-05-17 12:07 Andrew Ammerlaan
2024-05-17 12:07 Andrew Ammerlaan
2024-05-17 12:07 Andrew Ammerlaan
2024-05-17  6:25 Michał Górny
2024-05-15 18:02 Michał Górny
2024-05-15 14:20 Michał Górny
2024-05-14  9:19 Florian Schmaus
2024-05-14  8:20 Florian Schmaus
2024-05-13 21:53 Sam James
2024-05-13 13:22 Michael Orlitzky
2024-05-13 13:22 Michael Orlitzky
2024-05-13 13:22 Michael Orlitzky
2024-05-13 13:22 Michael Orlitzky
2024-05-13  8:35 Florian Schmaus
2024-05-13  7:07 Miroslav Šulc
2024-05-12  4:51 Sam James
2024-05-11 13:39 Michał Górny
2024-05-11  6:44 Joonas Niilola
2024-05-11  6:21 Hans de Graaff
2024-05-11  1:58 Sam James
2024-05-11  0:55 Sam James
2024-05-10 17:28 Sam James
2024-05-10 17:28 Sam James
2024-05-10 17:28 Sam James
2024-05-10 17:28 Sam James
2024-05-10 17:28 Sam James
2024-05-09 19:54 Conrad Kostecki
2024-05-09 19:54 Conrad Kostecki
2024-05-08  8:06 Ulrich Müller
2024-05-07  7:57 Andreas K. Hüttel
2024-05-06 17:28 Ulrich Müller
2024-05-06 17:28 Ulrich Müller
2024-05-06 17:11 Ionen Wolkens
2024-05-06  4:39 Sam James
2024-05-04 19:57 Michał Górny
2024-05-04 19:57 Michał Górny
2024-05-03 11:43 Sam James
2024-05-03 11:43 Sam James
2024-05-03 11:43 Sam James
2024-05-03  2:48 Sam James
2024-05-03  2:48 Sam James
2024-05-02 17:44 Florian Schmaus
2024-05-02  0:24 Sam James
2024-05-01  3:02 Sam James
2024-05-01  0:27 Sam James
2024-04-30 19:25 Alfredo Tupone
2024-04-30 19:19 Alfredo Tupone
2024-04-30 18:34 Michał Górny
2024-04-30 18:34 Michał Górny
2024-04-30  5:58 Sam James
2024-04-29 17:31 Florian Schmaus
2024-04-28 15:54 Michał Górny
2024-04-28  9:47 Hans de Graaff
2024-04-27 10:42 Michał Górny
2024-04-25 20:43 Andreas Sturmlechner
2024-04-25 20:43 Andreas Sturmlechner
2024-04-23 21:43 Sam James
2024-04-22  3:14 Sam James
2024-04-20 14:20 Ionen Wolkens
2024-04-20 14:20 Ionen Wolkens
2024-04-20  9:41 Michał Górny
2024-04-20  5:40 Michał Górny
2024-04-19 23:11 Mike Gilbert
2024-04-19 18:46 Michał Górny
2024-04-19 18:46 Michał Górny
2024-04-17 23:34 Sam James
2024-04-16  1:40 Sam James
2024-04-16  1:40 Sam James
2024-04-16  1:40 Sam James
2024-04-13 20:03 Miroslav Šulc
2024-04-13 18:41 Sam James
2024-04-13 18:32 Ulrich Müller
2024-04-11  7:48 Miroslav Šulc
2024-04-10 17:56 Ulrich Müller
2024-04-10 11:10 Michał Górny
2024-04-10  8:11 Miroslav Šulc
2024-04-09 20:17 Ulrich Müller
2024-04-08  7:15 Miroslav Šulc
2024-04-06 13:44 Michał Górny
2024-04-06  9:13 Michał Górny
2024-04-05 16:06 Florian Schmaus
2024-04-05  9:45 Hans de Graaff
2024-04-04 17:33 Ulrich Müller
2024-04-04 17:33 Ulrich Müller
2024-04-04  8:18 Florian Schmaus
2024-04-04  1:07 Sam James
2024-04-04  1:07 Sam James
2024-04-03 17:38 Florian Schmaus
2024-04-03 17:38 Florian Schmaus
2024-04-01  9:40 Michał Górny
2024-04-01  9:40 Michał Górny
2024-04-01  9:40 Michał Górny
2024-04-01  9:40 Michał Górny
2024-04-01  9:40 Michał Górny
2024-04-01  9:40 Michał Górny
2024-04-01  9:40 Michał Górny
2024-04-01  9:40 Michał Górny
2024-04-01  9:40 Michał Górny
2024-03-30 10:27 Michał Górny
2024-03-29 18:47 Sam James
2024-03-24 17:47 Sam James
2024-03-24 14:05 Sam James
2024-03-24  9:32 Sam James
2024-03-24  9:09 Sam James
2024-03-23 20:19 Sam James
2024-03-23 19:01 Sam James
2024-03-23 17:04 Sam James
2024-03-23 17:03 Michał Górny
2024-03-23 16:05 Sam James
2024-03-23 15:43 Sam James
2024-03-23 15:43 Sam James
2024-03-23 15:42 Sam James
2024-03-23 15:42 Sam James
2024-03-23 15:42 Sam James
2024-03-23 15:42 Sam James
2024-03-23 14:52 Sam James
2024-03-23 14:49 Sam James
2024-03-23 14:49 Sam James
2024-03-23 14:35 Arthur Zamarin
2024-03-23 10:25 Michał Górny
2024-03-23  8:28 Arthur Zamarin
2024-03-23  8:28 Arthur Zamarin
2024-03-19 14:12 Florian Schmaus
2024-03-18 13:02 Sam James
2024-03-17  9:18 Andreas K. Hüttel
2024-03-16 16:25 Michał Górny
2024-03-16  4:44 Sam James
2024-03-16  4:44 Sam James
2024-03-15 20:45 Sam James
2024-03-12  5:13 Michał Górny
2024-03-12  0:38 Mike Gilbert
2024-03-12  0:34 Mike Gilbert
2024-03-11 23:05 Andreas K. Hüttel
2024-03-11 19:20 Sam James
2024-03-10 21:10 Miroslav Šulc
2024-03-10 21:10 Miroslav Šulc
2024-03-09 15:52 Michał Górny
2024-03-08  5:40 Michał Górny
2024-03-08  5:40 Michał Górny
2024-03-08  5:40 Michał Górny
2024-03-08  5:40 Michał Górny
2024-03-08  5:40 Michał Górny
2024-03-08  5:40 Michał Górny
2024-03-08  5:40 Michał Górny
2024-03-07 18:04 Sam James
2024-03-06 17:03 Michał Górny
2024-03-02 13:24 Michał Górny
2024-03-01 20:50 Sam James
2024-03-01 19:25 Sam James
2024-03-01 19:25 Sam James
2024-03-01 19:25 Sam James
2024-02-28 20:40 Michał Górny
2024-02-28 13:56 Andreas Sturmlechner
2024-02-28 13:56 Andreas Sturmlechner
2024-02-27 23:54 Sam James
2024-02-27 23:54 Sam James
2024-02-24 14:54 Michał Górny
2024-02-24 12:57 Jakov Smolić
2024-02-23  7:46 Sam James
2024-02-22  4:23 Michał Górny
2024-02-19  5:08 Sam James
2024-02-19  5:06 Sam James
2024-02-18 20:22 Michał Górny
2024-02-18 13:23 Michał Górny
2024-02-18 13:23 Michał Górny
2024-02-18 13:23 Michał Górny
2024-02-18 13:23 Michał Górny
2024-02-12 16:25 Sam James
2024-02-11 12:11 Andrew Ammerlaan
2024-02-11 12:11 Andrew Ammerlaan
2024-02-11 12:11 Andrew Ammerlaan
2024-02-10 17:27 Michał Górny
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-07 15:10 Andreas Sturmlechner
2024-02-06  3:07 Michał Górny
2024-02-06  3:07 Michał Górny
2024-02-05  0:20 Sam James
2024-02-03 14:07 Sam James
2024-02-02  6:28 Andrew Ammerlaan
2024-02-01 23:52 Sam James
2024-02-01 23:52 Sam James
2024-02-01 19:22 Sam James
2024-01-31 13:59 Michał Górny
2024-01-30 21:21 Michał Górny
2024-01-30 11:28 Florian Schmaus
2024-01-30 11:09 Andrew Ammerlaan
2024-01-27 20:33 Michał Górny
2024-01-27 17:18 Sam James
2024-01-24 15:57 Michael Orlitzky
2024-01-24 14:35 Andrew Ammerlaan
2024-01-24 11:44 Michał Górny
2024-01-23  6:00 Sam James
2024-01-23  6:00 Sam James
2024-01-23  5:32 Sam James
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-20 21:22 Conrad Kostecki
2024-01-20 10:09 Florian Schmaus
2024-01-19 12:44 Miroslav Šulc
2024-01-19 12:44 Miroslav Šulc
2024-01-19 12:44 Miroslav Šulc
2024-01-19  9:51 罗百科
2024-01-17  7:41 Michał Górny
2024-01-16  9:02 Andrew Ammerlaan
2024-01-13 17:49 Michał Górny
2024-01-13 17:49 Michał Górny
2024-01-12 11:46 Sam James
2024-01-12 11:46 Sam James
2024-01-12 11:36 Andrew Ammerlaan
2024-01-12 11:08 Sam James
2024-01-11 17:50 William Hubbs
2024-01-11  9:48 Miroslav Šulc
2024-01-11  9:48 Miroslav Šulc
2024-01-11  9:48 Miroslav Šulc
2024-01-10 11:01 Andreas Sturmlechner
2024-01-10 11:01 Andreas Sturmlechner
2024-01-10 11:01 Andreas Sturmlechner
2024-01-09  6:41 Michał Górny
2024-01-08 23:53 Sam James
2024-01-08 21:09 Ionen Wolkens
2024-01-08 14:48 Michał Górny
2024-01-08 14:48 Michał Górny
2024-01-08 12:29 Sam James
2024-01-08 12:28 Sam James
2024-01-08 12:28 Sam James
2024-01-08 12:03 Sam James
2024-01-08 12:03 Sam James
2024-01-08 12:03 Sam James
2024-01-08  9:48 Sam James
2024-01-08  9:48 Sam James
2024-01-07 17:29 Andrew Ammerlaan
2024-01-07 17:29 Andrew Ammerlaan
2024-01-07 11:38 Michał Górny
2024-01-06 21:52 Michał Górny
2024-01-05 20:19 Michał Górny
2024-01-05 20:19 Michał Górny
2024-01-05 20:19 Michał Górny
2024-01-05 10:54 Michał Górny
2024-01-03 10:44 Sam James
2024-01-03  9:35 Ionen Wolkens
2024-01-03  6:20 Sam James
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 15:34 Ulrich Müller
2023-12-30 15:34 Ulrich Müller
2023-12-28 15:06 Michał Górny
2023-12-28  6:29 Ionen Wolkens
2023-12-27 20:57 Sam James
2023-12-27 20:57 Sam James
2023-12-27 20:57 Sam James
2023-12-27 20:57 Sam James
2023-12-27 20:57 Sam James
2023-12-26 14:02 Michał Górny
2023-12-25 15:47 Michał Górny
2023-12-25 15:47 Michał Górny
2023-12-25 15:47 Michał Górny
2023-12-25  9:02 Hans de Graaff
2023-12-24 12:35 Andrew Ammerlaan
2023-12-24 11:46 Andrew Ammerlaan
2023-12-23 18:12 Sam James
2023-12-23 17:35 Michał Górny
2023-12-22 16:44 Michał Górny
2023-12-21 16:41 Andreas Sturmlechner
2023-12-21 16:41 Andreas Sturmlechner
2023-12-20 13:41 Sam James
2023-12-19 20:33 Ionen Wolkens
2023-12-18 17:21 WANG Xuerui
2023-12-18 17:21 WANG Xuerui
2023-12-18 17:21 WANG Xuerui
2023-12-17 11:23 Michał Górny
2023-12-15 17:51 Michał Górny
2023-12-15  6:52 Sam James
2023-12-14 15:02 Benda XU
2023-12-14  5:35 Sam James
2023-12-14  5:25 Sam James
2023-12-14  5:22 Sam James
2023-12-14  5:22 Sam James
2023-12-14  5:22 Sam James
2023-12-14  5:22 Sam James
2023-12-12 13:04 Andreas Sturmlechner
2023-12-11 12:41 Andrew Ammerlaan
2023-12-11 12:41 Andrew Ammerlaan
2023-12-11  7:31 Ulrich Müller
2023-12-11  7:31 Ulrich Müller
2023-12-11  7:31 Ulrich Müller
2023-12-11  7:31 Ulrich Müller
2023-12-11  7:31 Ulrich Müller
2023-12-09 18:16 Michał Górny
2023-12-09 10:32 Michał Górny
2023-12-09 10:01 Ulrich Müller
2023-12-09 10:01 Ulrich Müller
2023-12-09 10:01 Ulrich Müller
2023-12-09 10:01 Ulrich Müller
2023-12-08 17:03 Ulrich Müller
2023-12-08 17:03 Ulrich Müller
2023-12-07 13:01 Sam James
2023-12-05 10:27 Andrew Ammerlaan
2023-12-04  7:32 Sam James
2023-11-29 15:15 Michał Górny
2023-11-27 11:13 Sam James
2023-11-26 18:51 Andrew Ammerlaan
2023-11-26 18:34 Sam James
2023-11-26  8:06 Andrew Ammerlaan
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 11:21 Michał Górny
2023-11-24 18:35 Sam James
2023-11-24 18:35 Sam James
2023-11-24 17:17 Sam James
2023-11-24 16:26 Sam James
2023-11-24 16:26 Sam James
2023-11-23 15:02 Michał Górny
2023-11-22  0:00 Sam James
2023-11-22  0:00 Sam James
2023-11-22  0:00 Sam James
2023-11-21 20:51 Sam James
2023-11-21 20:43 Sam James
2023-11-20 23:27 James Le Cuirot
2023-11-20 23:27 James Le Cuirot
2023-11-20 23:27 James Le Cuirot
2023-11-20 23:27 James Le Cuirot
2023-11-19 16:01 Michał Górny
2023-11-19 16:01 Michał Górny
2023-11-19 16:01 Michał Górny
2023-11-19 11:10 Michał Górny
2023-11-18  9:19 Andrew Ammerlaan
2023-11-18  9:19 Andrew Ammerlaan
2023-11-14 14:11 Florian Schmaus
2023-11-13 22:15 James Le Cuirot
2023-11-13 21:11 Andreas Sturmlechner
2023-11-13 17:33 Maciej Barć
2023-11-13 17:33 Maciej Barć
2023-11-13 17:33 Maciej Barć
2023-11-11 20:23 Michał Górny
2023-11-11 10:36 Michał Górny
2023-11-10 16:20 Pacho Ramos
2023-11-10 12:17 Andrew Ammerlaan
2023-11-10 12:17 Andrew Ammerlaan
2023-11-10 10:33 Michał Górny
2023-11-09  2:00 Sam James
2023-11-08  7:39 Ulrich Müller
2023-11-08  1:50 Sam James
2023-11-07  5:29 Michał Górny
2023-11-07  5:29 Michał Górny
2023-11-07  5:29 Michał Górny
2023-11-07  5:29 Michał Górny
2023-11-04 17:51 Mike Gilbert
2023-11-01  8:11 Ionen Wolkens
2023-10-31 19:55 Mike Gilbert
2023-10-30 18:55 Mike Gilbert
2023-10-29  3:53 Sam James
2023-10-27  3:33 Sam James
2023-10-26 21:55 Sam James
2023-10-26 16:48 Sam James
2023-10-26  2:10 Michał Górny
2023-10-26  0:41 Marek Szuba
2023-10-23  8:36 Florian Schmaus
2023-10-22 19:14 Michał Górny
2023-10-22 19:14 Michał Górny
2023-10-22  9:49 Ulrich Müller
2023-10-21 17:46 Sam James
2023-10-21 17:46 Sam James
2023-10-21 17:06 Sam James
2023-10-21 16:59 Sam James
2023-10-20 20:07 Matt Turner
2023-10-19 19:50 Michał Górny
2023-10-19 19:50 Michał Górny
2023-10-19 18:22 Miroslav Šulc
2023-10-19 18:22 Miroslav Šulc
2023-10-19 18:10 Mike Pagano
2023-10-19 12:21 Hans de Graaff
2023-10-18 12:11 Florian Schmaus
2023-10-18  7:50 Miroslav Šulc
2023-10-18  7:50 Miroslav Šulc
2023-10-18  7:50 Miroslav Šulc
2023-10-18  7:50 Miroslav Šulc
2023-10-18  6:44 Sam James
2023-10-16  9:26 Sam James
2023-10-15 15:23 Sam James
2023-10-13 16:34 Ionen Wolkens
2023-10-13 16:15 Michał Górny
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-09 20:28 James Le Cuirot
2023-10-09 10:54 Florian Schmaus
2023-10-09 10:54 Florian Schmaus
2023-10-08 10:03 Hans de Graaff
2023-10-08 10:03 Hans de Graaff
2023-10-08 10:03 Hans de Graaff
2023-10-05 11:12 Sam James
2023-10-05 11:12 Sam James
2023-10-05 11:12 Sam James
2023-10-02 19:39 Michał Górny
2023-10-02 17:51 Michał Górny
2023-10-01 18:16 Mike Gilbert
2023-10-01  9:28 Andrew Ammerlaan
2023-10-01  7:27 Sam James
2023-09-30 10:34 Sam James
2023-09-30  9:38 Sam James
2023-09-30  9:38 Sam James
2023-09-30  9:38 Sam James
2023-09-30  7:58 Miroslav Šulc
2023-09-28 15:51 Hans de Graaff
2023-09-28  8:22 Miroslav Šulc
2023-09-27  9:12 Michał Górny
2023-09-27  6:58 Miroslav Šulc
2023-09-27  6:58 Miroslav Šulc
2023-09-27  5:28 Sam James
2023-09-26 12:24 Ionen Wolkens
2023-09-25 18:45 Michał Górny
2023-09-25  2:07 Sam James
2023-09-23  6:31 Hans de Graaff
2023-09-23  6:31 Hans de Graaff
2023-09-19 19:47 Michał Górny
2023-09-19 11:15 Sam James
2023-09-19 11:15 Sam James
2023-09-19 11:12 Miroslav Šulc
2023-09-18  9:52 Sam James
2023-09-18  9:50 Sam James
2023-09-16  9:43 Sam James
2023-09-16  7:44 Florian Schmaus
2023-09-15 20:49 Maciej Barć
2023-09-15 20:49 Maciej Barć
2023-09-15 20:49 Maciej Barć
2023-09-14 20:43 Ionen Wolkens
2023-09-14  5:30 Michał Górny
2023-09-14  5:30 Michał Górny
2023-09-14  5:30 Michał Górny
2023-09-14  5:30 Michał Górny
2023-09-14  5:30 Michał Górny
2023-09-14  5:30 Michał Górny
2023-09-14  5:30 Michał Górny
2023-09-14  2:10 Sam James
2023-09-12  7:46 James Le Cuirot
2023-09-11 21:20 Ionen Wolkens
2023-09-11 11:20 Ionen Wolkens
2023-09-09 16:22 Ionen Wolkens
2023-09-09 16:22 Ionen Wolkens
2023-09-09 16:22 Ionen Wolkens
2023-09-09  6:59 Joonas Niilola
2023-09-07 22:16 Ionen Wolkens
2023-09-07 10:22 Ionen Wolkens
2023-09-07 10:03 Ionen Wolkens
2023-09-06 18:13 Michał Górny
2023-09-05 19:58 Michał Górny
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-04 13:14 Michał Górny
2023-09-04 13:14 Michał Górny
2023-09-02 17:34 Michał Górny
2023-09-02 17:34 Michał Górny
2023-08-29 15:44 Ulrich Müller
2023-08-29 11:20 Michał Górny
2023-08-29 11:20 Michał Górny
2023-08-29  2:11 Sam James
2023-08-28  6:54 WANG Xuerui
2023-08-27 20:26 Sam James
2023-08-27 19:36 Andrew Ammerlaan
2023-08-27 19:36 Andrew Ammerlaan
2023-08-27 19:36 Andrew Ammerlaan
2023-08-27 18:04 Andrew Ammerlaan
2023-08-26 15:22 Ulrich Müller
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-25 19:17 Michał Górny
2023-08-25  9:12 Andrew Ammerlaan
2023-08-23  7:36 Michał Górny
2023-08-22 18:04 Sam James
2023-08-22 18:04 Sam James
2023-08-22 17:12 Sam James
2023-08-22 17:12 Sam James
2023-08-22 13:27 Andrew Ammerlaan
2023-08-22 13:27 Andrew Ammerlaan
2023-08-21  8:39 Andrew Ammerlaan
2023-08-21  8:39 Andrew Ammerlaan
2023-08-20 15:46 Michał Górny
2023-08-20 12:02 Michał Górny
2023-08-19 18:28 Michał Górny
2023-08-19 18:28 Michał Górny
2023-08-19 18:28 Michał Górny
2023-08-19 18:28 Michał Górny
2023-08-18  1:31 Sam James
2023-08-18  1:31 Sam James
2023-08-18  1:31 Sam James
2023-08-18  1:31 Sam James
2023-08-18  1:31 Sam James
2023-08-17  6:22 Sam James
2023-08-17  6:22 Sam James
2023-08-14 21:15 Michael Orlitzky
2023-08-14 21:15 Michael Orlitzky
2023-08-13  5:22 Hans de Graaff
2023-08-10 17:49 Michał Górny
2023-08-08 14:26 Mike Gilbert
2023-08-08  9:07 Michał Górny
2023-08-07 12:10 James Le Cuirot
2023-08-07  3:01 Michał Górny
2023-08-06  6:42 Michał Górny
2023-08-04  2:05 Sam James
2023-08-03 19:37 Sam James
2023-08-03 15:43 Michał Górny
2023-08-03 15:43 Michał Górny
2023-08-02 18:22 Sam James
2023-08-02 18:22 Sam James
2023-08-02  6:54 Florian Schmaus
2023-07-31 15:12 David Seifert
2023-07-31  2:36 Sam James
2023-07-30 18:41 Sam James
2023-07-30 18:38 Sam James
2023-07-30 18:29 Sam James
2023-07-29  2:24 Sam James
2023-07-27 18:26 Matthew Thode
2023-07-27 16:36 Ulrich Müller
2023-07-26  6:03 Michał Górny
2023-07-26  2:53 Sam James
2023-07-25 16:11 Michał Górny
2023-07-25 16:11 Michał Górny
2023-07-25 16:11 Michał Górny
2023-07-22 13:04 Michał Górny
2023-07-21 23:49 Sam James
2023-07-21 23:49 Sam James
2023-07-21 22:14 Sam James
2023-07-21 17:59 Sam James
2023-07-21 17:59 Sam James
2023-07-21 17:59 Sam James
2023-07-21 17:59 Sam James
2023-07-21 17:59 Sam James
2023-07-21 17:59 Sam James
2023-07-20 12:16 Sam James
2023-07-20 11:33 Andrew Ammerlaan
2023-07-20 11:33 Andrew Ammerlaan
2023-07-20 11:33 Andrew Ammerlaan
2023-07-20  9:49 WANG Xuerui
2023-07-20  9:49 WANG Xuerui
2023-07-20  0:08 Sam James
2023-07-18 20:52 Matt Turner
2023-07-18 20:52 Matt Turner
2023-07-18 20:52 Matt Turner
2023-07-18 20:52 Matt Turner
2023-07-18 20:52 Matt Turner
2023-07-18 20:52 Matt Turner
2023-07-17 21:18 Sam James
2023-07-17 14:24 Florian Schmaus
2023-07-17 14:14 Michał Górny
2023-07-17  9:44 Michał Górny
2023-07-17  9:44 Michał Górny
2023-07-17  9:44 Michał Górny
2023-07-17  9:44 Michał Górny
2023-07-17  9:44 Michał Górny
2023-07-17  9:44 Michał Górny
2023-07-17  9:44 Michał Górny
2023-07-17  9:44 Michał Górny
2023-07-17  9:44 Michał Górny
2023-07-17  8:13 Andrew Ammerlaan
2023-07-16  9:44 Ulrich Müller
2023-07-16  9:40 Ulrich Müller
2023-07-12  6:25 Sam James
2023-07-11 10:41 Michał Górny
2023-07-09 16:31 Mike Gilbert
2023-07-08 21:18 Andreas Sturmlechner
2023-07-06 17:36 Mike Gilbert
2023-07-06  6:31 Sam James
2023-07-05 20:41 Conrad Kostecki
2023-07-05 15:31 Michał Górny
2023-07-05  6:19 Michał Górny
2023-07-04 17:15 Mike Pagano
2023-07-03 13:54 Alexey Shvetsov
2023-07-03 13:54 Alexey Shvetsov
2023-07-03 11:56 Andreas K. Hüttel
2023-07-02 15:21 Michał Górny
2023-07-02 15:21 Michał Górny
2023-07-02 15:21 Michał Górny
2023-07-02 15:21 Michał Górny
2023-07-02 13:24 Sam James
2023-06-30 19:42 Michał Górny
2023-06-26 18:58 Mike Gilbert
2023-06-26 18:58 Mike Gilbert
2023-06-24 22:58 James Le Cuirot
2023-06-24  5:07 Sam James
2023-06-24  5:07 Sam James
2023-06-23  9:38 Sam James
2023-06-21 10:22 Andreas Sturmlechner
2023-06-20 18:57 Andrew Ammerlaan
2023-06-20 18:57 Andrew Ammerlaan
2023-06-20 18:57 Andrew Ammerlaan
2023-06-20 18:57 Andrew Ammerlaan
2023-06-20 18:39 Ulrich Müller
2023-06-20 18:39 Ulrich Müller
2023-06-20 14:20 Michał Górny
2023-06-18 20:51 Andreas K. Hüttel
2023-06-18 14:57 Michał Górny
2023-06-18 14:57 Michał Górny
2023-06-17 22:41 Mike Pagano
2023-06-17 20:37 Andreas Sturmlechner
2023-06-17 19:10 Michał Górny
2023-06-17 16:52 Sam James
2023-06-17 10:10 Michał Górny
2023-06-17 10:10 Michał Górny
2023-06-16 21:41 Ulrich Müller
2023-06-16 21:41 Ulrich Müller
2023-06-16 18:10 Ulrich Müller
2023-06-16 18:10 Ulrich Müller
2023-06-16 18:10 Ulrich Müller
2023-06-16 18:10 Ulrich Müller
2023-06-16 18:10 Ulrich Müller
2023-06-16 17:45 Sam James
2023-06-16 17:42 Sam James
2023-06-16 14:10 Ulrich Müller
2023-06-16  8:22 Ulrich Müller
2023-06-15 23:06 Sam James
2023-06-15 21:47 Sam James
2023-06-15 21:14 Sam James
2023-06-15 21:14 Sam James
2023-06-15 21:14 Sam James
2023-06-15 21:14 Sam James
2023-06-15 21:14 Sam James
2023-06-15 21:14 Sam James
2023-06-15 21:14 Sam James
2023-06-15 21:14 Sam James
2023-06-15 21:14 Sam James
2023-06-15 21:14 Sam James
2023-06-15 21:14 Sam James
2023-06-15 14:05 Michał Górny
2023-06-15 12:19 Michał Górny
2023-06-15 12:19 Michał Górny
2023-06-15 12:19 Michał Górny
2023-06-15 12:19 Michał Górny
2023-06-15 12:19 Michał Górny
2023-06-15 12:19 Michał Górny
2023-06-13 12:14 Andreas Sturmlechner
2023-06-13  7:13 Andreas Sturmlechner
2023-06-12 20:23 William Hubbs
2023-06-11 17:38 Andreas Sturmlechner
2023-06-11 17:35 Andreas Sturmlechner
2023-06-11 17:26 Andreas Sturmlechner
2023-06-11 17:26 Andreas Sturmlechner
2023-06-11  9:36 Michał Górny
2023-06-10 13:18 Sam James
2023-06-10 12:40 David Seifert
2023-06-10 11:22 Michał Górny
2023-06-10 10:25 Sam James
2023-06-10 10:25 Sam James
2023-06-10 10:25 Sam James
2023-06-10 10:25 Sam James
2023-06-10 10:25 Sam James
2023-06-10 10:25 Sam James
2023-06-10  7:25 Sam James
2023-06-10  6:50 Sam James
2023-06-06 17:50 Ulrich Müller
2023-06-06  8:48 Sam James
2023-06-06  7:22 Sam James
2023-06-05 16:00 Ionen Wolkens
2023-06-05 10:52 Sam James
2023-06-05  5:46 Miroslav Šulc
2023-06-04  6:21 Michał Górny
2023-06-04  1:09 Sam James
2023-06-03 16:26 Ulrich Müller
2023-06-03 16:26 Ulrich Müller
2023-06-03 16:26 Ulrich Müller
2023-06-03  6:48 Michał Górny
2023-06-03  6:48 Michał Górny
2023-06-03  6:48 Michał Górny
2023-06-03  6:48 Michał Górny
2023-06-03  6:48 Michał Górny
2023-06-03  0:50 Sam James
2023-06-03  0:50 Sam James
2023-06-01  0:50 Ionen Wolkens
2023-05-30 21:55 Ionen Wolkens
2023-05-30 21:55 Ionen Wolkens
2023-05-30 17:14 Ionen Wolkens
2023-05-30  2:35 Ionen Wolkens
2023-05-30  1:28 Sam James
2023-05-29 18:21 Sam James
2023-05-29 18:21 Sam James
2023-05-29 18:21 Sam James
2023-05-29 14:29 Michał Górny
2023-05-29 14:29 Michał Górny
2023-05-29 14:29 Michał Górny
2023-05-29 14:29 Michał Górny
2023-05-29 13:05 Ionen Wolkens
2023-05-29  7:58 Ulrich Müller
2023-05-29  7:58 Ulrich Müller
2023-05-29  7:57 Ulrich Müller
2023-05-27 16:36 Sam James
2023-05-27 16:36 Sam James
2023-05-27  5:52 Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox