Re: [gentoo-dev] Foreseen update to ada.eclass to allow use of gcc:14 and gcc:15

2024-09-29 Thread Sam James
Alfredo Tupone  writes:

> diff --git a/eclass/ada.eclass b/eclass/ada.eclass
> index 3c3fa3c01453..faff19a6ac85 100644
> --- a/eclass/ada.eclass
> +++ b/eclass/ada.eclass
> @@ -45,31 +45,31 @@ _ADA_ECLASS=1
>  #   dev-foo/mydep"
>  # DEPEND="${RDEPEND}"
>  # @CODE
>  #
>  # Example value:
>  # @CODE
>  # ada_target_gcc_12? ( sys-devel/gcc:12[ada] )
>  # ada_target_gnat_2021? ( dev-lang/gnat-gps:2021[ada] )
>  # @CODE
>  
>  # @ECLASS_VARIABLE: _ADA_ALL_IMPLS
>  # @INTERNAL
>  # @DESCRIPTION:
>  # All supported Ada implementations, most preferred last.
>  _ADA_ALL_IMPLS=(
> - gnat_2021 gcc_12 gcc_13
> + gnat_2021 gcc_12 gcc_13 gcc_14 gcc_15
>  )
>  readonly _ADA_ALL_IMPLS
>  
>  # @ECLASS_VARIABLE: ADA_REQUIRED_USE
>  # @OUTPUT_VARIABLE
>  # @DESCRIPTION:
>  # This is an eclass-generated required-use expression which ensures
>  # that exactly one ADA_TARGET value has been enabled.
>  #
>  # This expression should be utilized in an ebuild by including it in
>  # REQUIRED_USE, optionally behind a use flag.
>  #
>  # Example use:
>  # @CODE
>  # REQUIRED_USE="ada? ( ${ADA_REQUIRED_USE} )"
> @@ -107,31 +107,31 @@ readonly _ADA_ALL_IMPLS
>  # is still supported.
>  #
>  # Returns 0 if the implementation is valid and supported. If it is
>  # unsupported, returns 1 -- and the caller should ignore the entry.
>  # If it is invalid, dies with an appropriate error message.
>  _ada_impl_supported() {
>   debug-print-function ${FUNCNAME} "${@}"
>  
>   [[ ${#} -eq 1 ]] || die "${FUNCNAME}: takes exactly 1 argument
> (impl)." 
>   local impl=${1}
>  
>   # keep in sync with _ADA_ALL_IMPLS!
>   # (not using that list because inline patterns shall be faster)
>   case "${impl}" in
> - gnat_2021|gcc_12|gcc_13)
> + gnat_2021|gcc_12|gcc_13|gcc_14|gcc_15)
>   return 0
>   ;;
>   *)
>   [[ ${ADA_COMPAT_NO_STRICT} ]] && return 1
>   die "Invalid implementation in ADA_COMPAT:
> ${impl}" esac
>  }
>  
>  # @FUNCTION: _ada_set_impls
>  # @INTERNAL
>  # @DESCRIPTION:
>  # Check ADA_COMPAT for well-formedness and validity, then set
>  # two global variables:
>  #
>  # - _ADA_SUPPORTED_IMPLS containing valid implementations supported
> @@ -201,58 +201,66 @@ _ada_set_impls() {
>  #
>  # The optional first parameter may specify the requested Ada
>  # implementation (either as ADA_TARGETS value, e.g. ada2_7,
>  # or an EADA one, e.g. ada2.7). If no implementation passed,
>  # the current one will be obtained from ${EADA}.
>  #
>  # The variables which can be exported are: GCC, EADA, GNATMAKE.
>  # They are described more completely in the eclass
>  # variable documentation.
>  ada_export() {
>   debug-print-function ${FUNCNAME} "${@}"
>  
>   local impl var
>  
>   case "${1}" in
> - gnat_2021|gcc_12|gcc_13)
> + gnat_2021|gcc_12|gcc_13|gcc_14|gcc_15)
>   impl=${1}
>   shift
>   ;;
>   *)
>   impl=${EADA}
>   if [[ -z ${impl} ]]; then
>   die "ada_export called without a ada
> implementation and EADA is unset" fi
>   ;;
>   esac
>   debug-print "${FUNCNAME}: implementation: ${impl}"
>  
>   local gcc_pv
>   local slot
>   case "${impl}" in
>   gnat_2021)
>   gcc_pv=10
>   slot=10
>   ;;
>   gcc_12)
>   gcc_pv=12
>   slot=12
>   ;;
>   gcc_13)
>   gcc_pv=13
>   slot=13
>   ;;
> + gcc_14)
> + gcc_pv=14
> + slot=14
> + ;;
> + gcc_15)
> + gcc_pv=15
> + slot=15
> + ;;
>   *)
>   gcc_pv="9.9.9"
>   slot=9.9.9
>   ;;
>   esac
>  
>   for var; do
>   case "${var}" in
>   EADA)
>   export EADA=${impl}
>   debug-print "${FUNCNAME}: EADA =
> ${EADA}" ;;
>   GCC)
>   export
> GCC=${EPREFIX}/usr/bin/gcc-${gcc_pv} debug-print "${FUNCNAME}: GCC =
> ${GCC}" @@ -282,31 +290,31 @@ ada_export() {
>   debug-print "${FUNCNAME}: GNATLS =
> ${GNATLS}" ;;
>   GNATPREP)
>   export
> GNATPREP=${EPREFIX}/usr/bin/gnatprep-${gcc_pv} debug-print
> "${FUNCNAME}: GNATPREP = ${GNATPREP}" ;;
>   GNATCHOP)
>   export
> GNATCHOP=${EPREFIX}/usr/bin/gnatchop-${gcc_pv} debug-print
> "${FUNCNAME}: GNATCHOP = ${GNATCHOP}" ;;
> 

Re: [gentoo-dev] Help needed for maintaining GNOME

2024-09-26 Thread Sam James
Eli Schwartz  writes:

> On 9/25/24 1:47 PM, Mart Raudsepp wrote:
>> Hello
>> 
>>
> [...]
>> To my knowledge, one big issue right now is a circular dep between
>> glib->gobject-introspection->glib, which needs proper solving to move
>> forward with things. Or at least look at reducing the glib requirement
>> in gnome-shell some way to at least unleash that core stack for our
>> users. There are ideas we can talk about.
>
>
> This is... tricky. The obvious possibility is to try to build a
> bootstrap copy of AAA inside the ebuild for BBB as a bootstrap thing, as
> long as that is sufficient to build a proper copy of AAA using the
> partially valid installation of BBB.

This is bug 937616 for those following along. Blake has been poking at
this suggestion a bit over there and in
https://github.com/gentoo/gentoo/pull/38618.

>
> Chewi was also trying to see if portage can be convinced to stage the
> same package twice with different USE flags in the same emerge process
> in order to solve cyclical USE flag dependencies, but it's not a
> guarantee...

Right, this is very much worth exploring but isn't an answer to this
given it'll take a while for the feature to be mature anyway.



Re: [gentoo-dev] Updating community maintained Gentoo Eclipse IDE repository ebuild to EAPI 7

2024-09-19 Thread Sam James
Kevin Brace  writes:

> Hi,
Hi,

>
> I am a first time poster who just subscribed to the gentoo-dev mailing list.
> I installed Eclipse IDE 4.6 to one Gentoo Linux installation using the
> community maintained Eclipse IDE repository ebuild when Portage still
> supported EAPI 6, but the current release of Portage no longer does
> so.
> I have been increasingly annoyed by this community maintained Gentoo Eclipse 
> IDE ebuild giving me weird warning type messages when running Portage.
> Of course, it does not stop Portage from running, but I do not like it 
> aesthetically.
> The cause of the warning messages are that ebuilds are still at EAPI 5 (for 
> Eclipse IDE 4.5) and 6 (for Eclipse IDE 4.6), and they need to be updated to 
> at least EAPI 7.
> I got so annoyed by this that I decided to take them into my own hands, and I 
> managed to update ebuilds in question.
> I got rid of all the annoying messages displayed when running Portage, and it 
> appears that Eclipse IDE installs fine.
> So I directly contacted one developer of the three still active on GitHub, 
> but he refused to take up the ebuilds and update them.
> He does not seem to want to maintain the repository any longer (he
> appears to be disillusioned with the Eclipse IDE ebuilds they
> developed for some reason), and even suggested that a new community
> repository to be created to replace the now obsolete Eclipse IDE
> repository.
> This one I am talking about.
>
> https://github.com/gentoo/eclipse-overlay
>
> Personally, I really did not want to get involved in this type of OS
> infrastructure project because I work on totally different type of
> code development projects, but I feel like something has to be done to
> update the Eclipse IDE ebuilds to keep up with Portage.
> Let me know what more experienced Gentoo developers think.

In general, packaging Java is pretty painful and everyone has migrated
to using just prebuilt jars for useful applications (like Eclipse).

(See
e.g. 
https://lists.fedoraproject.org/archives/list/de...@lists.fedoraproject.org/thread/4EHBACT4I263R4QF75HB3DUJWWANGHAS/,
and I think Chewi wrote a similar email at one point.)

I'm not 100% clear what's being requested here:
* it definitely looks like the eclipse overlay is pretty dead and
  should probably be removed from the repository list;
* we can consider requests if someone wants access to it (perhaps you!)
  to contribute fixed ebuilds to it, but it might just be better to make
  your own repository for that;
* there seem to be some newer ebuilds for eclipse in other repositories,
  see e.g. http://gpo.zugaina.org/Search?search=eclipse

>
> Regards,
>
> Kevin Brace
> Brace Computer Laboratory blog
> https://bracecomputerlab.com

thanks,
sam



Re: [gentoo-dev] [PATCH 1/3] [QA] fix .editorconfig

2024-09-19 Thread Sam James
Paul Zander  writes:

> This series of patches is meant as a basis to fix the .editorconfig used in 
> ::gentoo. Initial reason was that .patch
> files are being broken by the current version.
>
> trimming trailing whitespace breaks patches
>
> Signed-off-by: Paul Zander 
> ---
>  .editorconfig | 6 ++
>  1 file changed, 6 insertions(+)
>
> diff --git a/.editorconfig b/.editorconfig
> index 7d6e17345e1..f2cd7328e57 100644
> --- a/.editorconfig
> +++ b/.editorconfig
> @@ -1,3 +1,6 @@
> +# Copyright 1999-2024 Gentoo Authors
> +# Distributed under the terms of the GNU General Public License v2
> +
>  # https://editorconfig.org/
>  root = true
>  
> @@ -9,3 +12,6 @@ indent_style = tab
>  indent_size = 4
>  trim_trailing_whitespace = true
>  #max_line_length = 80
> +
> +[*.patch]
> +trim_trailing_whitespace = false

This first patch is OK and I'll pull it in. The others need to be respun
with commit messages describing it.



Re: [gentoo-dev] [PATCH] profiles/targets/desktop: make USE=qml default for more than just plasma

2024-09-10 Thread Sam James
Eli Schwartz  writes:

> Installing random applications tends to drag in qml requirements, as it
> is a pivotal part of the Qt technology stack required by other
> components. One quickly ends up in USE flag resolution hell when trying
> to select it on a per-package basis for most use cases other than having
> Qt installed solely for an isolated application.
>
> For average desktop use it makes sense to simply default it to on.
> People can always disable it manually if they want, but it basically
> just adds a single package (qtdeclarative) as a dep to your Qt stack.
>

Yes, please do. Especially given Ionen said he was OK with it (IIRC)
and asturm acked it.

> Signed-off-by: Eli Schwartz 
> ---
>  profiles/targets/desktop/make.defaults| 2 +-
>  profiles/targets/desktop/plasma/make.defaults | 4 ++--
>  2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/profiles/targets/desktop/make.defaults 
> b/profiles/targets/desktop/make.defaults
> index 72e77543df12..02e4f168b0a1 100644
> --- a/profiles/targets/desktop/make.defaults
> +++ b/profiles/targets/desktop/make.defaults
> @@ -1,4 +1,4 @@
>  # Copyright 1999-2024 Gentoo Authors
>  # Distributed under the terms of the GNU General Public License v2
>  
> -USE="a52 aac acpi alsa bluetooth branding cairo cdda cdr cups dbus
> dri dts dvd dvdr elogind encode exif flac gif gpm gtk gui icu jpeg
> kf6compat lcms libnotify mad mng mp3 mp4 mpeg ogg opengl pango pdf png
> policykit ppds qt6 qt5 sdl sound spell startup-notification svg tiff
> truetype vorbis udev udisks unicode upower usb vulkan wxwidgets X xcb
> xft x264 xml xv xvid"
> +USE="a52 aac acpi alsa bluetooth branding cairo cdda cdr cups dbus
> dri dts dvd dvdr elogind encode exif flac gif gpm gtk gui icu jpeg
> kf6compat lcms libnotify mad mng mp3 mp4 mpeg ogg opengl pango pdf png
> policykit ppds qml qt6 qt5 sdl sound spell startup-notification svg
> tiff truetype vorbis udev udisks unicode upower usb vulkan wxwidgets X
> xcb xft x264 xml xv xvid"
> diff --git a/profiles/targets/desktop/plasma/make.defaults 
> b/profiles/targets/desktop/plasma/make.defaults
> index 62e625bbfdcb..7f42ef98fc5b 100644
> --- a/profiles/targets/desktop/plasma/make.defaults
> +++ b/profiles/targets/desktop/plasma/make.defaults
> @@ -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
>  
> -USE="activities declarative dri kde kwallet networkmanager pipewire plasma 
> policykit pulseaudio qml screencast semantic-desktop wayland widgets"
> +USE="activities declarative dri kde kwallet networkmanager pipewire plasma 
> policykit pulseaudio screencast semantic-desktop wayland widgets"


signature.asc
Description: PGP signature


[gentoo-dev] [PATCH 44/44] xdg-utils.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 34535a129e334..84f88eee18fce 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
 
-- 
2.46.0




[gentoo-dev] [PATCH 43/44] xdg.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/xdg.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/xdg.eclass b/eclass/xdg.eclass
index 14c56047af451..6af4b91875fc6 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
-- 
2.46.0




[gentoo-dev] [PATCH 42/44] wrapper.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/wrapper.eclass | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/eclass/wrapper.eclass b/eclass/wrapper.eclass
index 8d3d273d81c65..a62bb51d0fe71 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:   [chdir] [libpaths] [installpath]
 # @DESCRIPTION:
 # Create a shell wrapper script named wrapper in installpath
-- 
2.46.0




[gentoo-dev] [PATCH 41/44] webapp.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/webapp.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/webapp.eclass b/eclass/webapp.eclass
index 5b091c84851ff..e8bc127e1b96c 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
-- 
2.46.0




[gentoo-dev] [PATCH 40/44] virtualx.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/virtualx.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass
index f7318eafc59e7..07d303899582e 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:
-- 
2.46.0




[gentoo-dev] [PATCH 39/44] vim-spell.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 607771ae8035d..57bcb0dc8021b 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"
 
-- 
2.46.0




[gentoo-dev] [PATCH 38/44] vim-plugin.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 ee4f1b6e0f813..b2ae0cb9e4c33 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
-- 
2.46.0




[gentoo-dev] [PATCH 37/44] vim-doc.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 119ce793071d6..f20f7397cf65b 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:
-- 
2.46.0




[gentoo-dev] [PATCH 36/44] vcs-clean.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 e4c61ac7164ac..719bdec17676b 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:
-- 
2.46.0




[gentoo-dev] [PATCH 35/44] udev.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/udev.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/udev.eclass b/eclass/udev.eclass
index ac94f98221aad..7fd99cbba8b06 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
-- 
2.46.0




[gentoo-dev] [PATCH 34/44] toolchain-funcs.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 5e36fa275dcd0..66819996ea33b 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   [tuple]
-- 
2.46.0




[gentoo-dev] [PATCH 33/44] tmpfiles.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/tmpfiles.eclass | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/eclass/tmpfiles.eclass b/eclass/tmpfiles.eclass
index 39650401a6a0f..63889a275fef5 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
-- 
2.46.0




[gentoo-dev] [PATCH 32/44] systemd.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/systemd.eclass | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/eclass/systemd.eclass b/eclass/systemd.eclass
index 03d6a82fd3103..a5f0decde1e35 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
 
-- 
2.46.0




[gentoo-dev] [PATCH 31/44] strip-linguas.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 718341b4a6264..b31f414c87c31 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: [|<-i|-u> ]
 # @DESCRIPTION:
 # Make sure that LINGUAS only contains languages that a package can
-- 
2.46.0




[gentoo-dev] [PATCH 30/44] ruby-utils.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 789f57ce25f6a..48a25114b396b 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:
-- 
2.46.0




[gentoo-dev] [PATCH 29/44] ruby-ng.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 d80ae96dd40bc..2ef6d22474351 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
 
-- 
2.46.0




[gentoo-dev] [PATCH 28/44] ruby-fakegem.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 40ff76ce900e0..04099a82ef4fd 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
 
-- 
2.46.0




[gentoo-dev] [PATCH 27/44] readme.gentoo-r1.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 48023d9c049f8..3d2d8244687c7 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
 
-- 
2.46.0




[gentoo-dev] [PATCH 26/44] preserve-libs.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 35c65ef4436f9..38571447b945d 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:  [more libs]
 # @DESCRIPTION:
-- 
2.46.0




[gentoo-dev] [PATCH 25/44] prefix.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/prefix.eclass | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/eclass/prefix.eclass b/eclass/prefix.eclass
index 8d50d0ba7b6e1..e968e8ae8bac7 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
-- 
2.46.0




[gentoo-dev] [PATCH 24/44] portability.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/portability.eclass | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/eclass/portability.eclass b/eclass/portability.eclass
index 78da440e22ddb..926ac8b8b825f 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:  [orig2 orig3 ] 
 # @DESCRIPTION:
-- 
2.46.0




[gentoo-dev] [PATCH 23/44] php-pear-r2.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 9882c7dcc7004..567aa9a8144f3 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"
 
-- 
2.46.0




[gentoo-dev] [PATCH 22/44] perl-functions.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 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 142fdeb8cfbd0..d2b6cfb85f734 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
-- 
2.46.0




[gentoo-dev] [PATCH 21/44] pax-utils.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/pax-utils.eclass | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/eclass/pax-utils.eclass b/eclass/pax-utils.eclass
index 3830f03df3419..a7144278fd9a4 100644
--- a/eclass/pax-utils.eclass
+++ b/eclass/pax-utils.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: pax-utils.eclass
@@ -21,14 +21,18 @@
 # To control what markings are made, set PAX_MARKINGS in /etc/portage/make.conf
 # to contain either "PT", "XT" or "none".  The default is none
 
-case ${EAPI:-0} in
-   5|6|7|8) ;;
-   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
 if [[ -z ${_PAX_UTILS_ECLASS} ]]; then
 _PAX_UTILS_ECLASS=1
 
+case ${EAPI} in
+   5|6)
+   ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated 
EAPI ${EAPI}!"
+   ewarn "${CATEGORY}/${PF}: Support will be removed on 
2024-10-08. Please port to newer EAPI."
+   ;;
+   7|8) ;;
+   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
 # @ECLASS_VARIABLE: PAX_MARKINGS
 # @DESCRIPTION:
 # Control which markings are made:
-- 
2.46.0




[gentoo-dev] [PATCH 20/44] out-of-source-utils.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/out-of-source-utils.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/out-of-source-utils.eclass 
b/eclass/out-of-source-utils.eclass
index d68b210889951..55a88127ca711 100644
--- a/eclass/out-of-source-utils.eclass
+++ b/eclass/out-of-source-utils.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: out-of-source-utils.eclass
@@ -12,14 +12,18 @@
 # This eclass provides a run_in_build_dir() helper that can be used
 # to execute specified command inside BUILD_DIR.
 
+if [[ ! ${_OUT_OF_SOURCE_UTILS_ECLASS} ]]; then
+_OUT_OF_SOURCE_UTILS_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 [[ ! ${_OUT_OF_SOURCE_UTILS_ECLASS} ]]; then
-_OUT_OF_SOURCE_UTILS_ECLASS=1
-
 # @FUNCTION: run_in_build_dir
 # @USAGE: ...
 # @DESCRIPTION:
-- 
2.46.0




[gentoo-dev] [PATCH 19/44] multiprocessing.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/multiprocessing.eclass | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/eclass/multiprocessing.eclass b/eclass/multiprocessing.eclass
index 13d6a92f2f2e5..f9627de26c3b9 100644
--- a/eclass/multiprocessing.eclass
+++ b/eclass/multiprocessing.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: multiprocessing.eclass
@@ -24,14 +24,18 @@
 # }
 # @CODE
 
-case ${EAPI:-0} in
-   [5678]) ;;
-   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
 if [[ -z ${_MULTIPROCESSING_ECLASS} ]]; then
 _MULTIPROCESSING_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
+
 # @FUNCTION: get_nproc
 # @USAGE: [${fallback:-1}]
 # @DESCRIPTION:
-- 
2.46.0




[gentoo-dev] [PATCH 18/44] multilib-minimal.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/multilib-minimal.eclass | 17 +++--
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/eclass/multilib-minimal.eclass b/eclass/multilib-minimal.eclass
index 92968b6cf2137..c84fb3781a975 100644
--- a/eclass/multilib-minimal.eclass
+++ b/eclass/multilib-minimal.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: multilib-minimal.eclass
@@ -23,16 +23,21 @@
 #
 # If you need generic install rules, use multilib_src_install_all function.
 
-case ${EAPI} in
-   6|7|8) ;;
-   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
 inherit multilib-build
 
 if [[ ! ${_MULTILIB_MINIMAL_ECLASS} ]]; then
 _MULTILIB_MINIMAL_ECLASS=1
 
+case ${EAPI} in
+   6)
+   ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated 
EAPI ${EAPI}!"
+   ewarn "${CATEGORY}/${PF}: Support will be removed on 
2024-10-08. Please port to newer EAPI."
+   ;;
+   7|8) ;;
+   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+
 multilib-minimal_src_configure() {
debug-print-function ${FUNCNAME} "$@"
 
-- 
2.46.0




[gentoo-dev] [PATCH 17/44] multilib.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/multilib.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass
index bf9c88f7e6a4e..eca8c02d8336c 100644
--- a/eclass/multilib.eclass
+++ b/eclass/multilib.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: multilib.eclass
@@ -9,14 +9,18 @@
 # @DESCRIPTION:
 # This eclass is for all functions pertaining to handling multilib 
configurations.
 
+if [[ -z ${_MULTILIB_ECLASS} ]]; then
+_MULTILIB_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 ${_MULTILIB_ECLASS} ]]; then
-_MULTILIB_ECLASS=1
-
 inherit toolchain-funcs
 
 # Defaults:
-- 
2.46.0




[gentoo-dev] [PATCH 16/44] multilib-build.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/multilib-build.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/multilib-build.eclass b/eclass/multilib-build.eclass
index 1774ad057430b..22c4a8bb30489 100644
--- a/eclass/multilib-build.eclass
+++ b/eclass/multilib-build.eclass
@@ -1,4 +1,4 @@
-# Copyright 2013-2023 Gentoo Authors
+# Copyright 2013-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: multilib-build.eclass
@@ -17,14 +17,18 @@
 # dependencies shall use the USE dependency string in ${MULTILIB_USEDEP}
 # to properly request multilib enabled.
 
+if [[ -z ${_MULTILIB_BUILD_ECLASS} ]]; then
+_MULTILIB_BUILD_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 ${_MULTILIB_BUILD_ECLASS} ]]; then
-_MULTILIB_BUILD_ECLASS=1
-
 inherit multibuild multilib
 
 # @ECLASS_VARIABLE: _MULTILIB_FLAGS
-- 
2.46.0




[gentoo-dev] [PATCH 15/44] multibuild.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/multibuild.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/multibuild.eclass b/eclass/multibuild.eclass
index f15d3327c7dd2..0677ea346e4ce 100644
--- a/eclass/multibuild.eclass
+++ b/eclass/multibuild.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: multibuild.eclass
@@ -13,17 +13,21 @@
 # multiple 'variants' of a package (e.g. multilib, Python
 # implementations).
 
+if [[ ! ${_MULTIBUILD_ECLASS} ]]; then
+_MULTIBUILD_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)
# backwards compatibility for run_in_build_dir
inherit out-of-source-utils
;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
-if [[ ! ${_MULTIBUILD_ECLASS} ]]; then
-_MULTIBUILD_ECLASS=1
-
 # @ECLASS_VARIABLE: MULTIBUILD_VARIANTS
 # @REQUIRED
 # @DESCRIPTION:
-- 
2.46.0




[gentoo-dev] [PATCH 14/44] mono-env.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/mono-env.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/mono-env.eclass b/eclass/mono-env.eclass
index 48712587ff3ed..02bd7e8dd9bee 100644
--- a/eclass/mono-env.eclass
+++ b/eclass/mono-env.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: mono-env.eclass
@@ -9,14 +9,18 @@
 # @DESCRIPTION:
 # Set environment variables commonly used by dotnet packages.
 
+if [[ -z ${_MONO_ENV_ECLASS} ]] ; then
+_MONO_ENV_ECLASS=1
+
 case ${EAPI} in
-   6|7) ;;
+   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 ${_MONO_ENV_ECLASS} ]] ; then
-_MONO_ENV_ECLASS=1
-
 SRC_URI="http://download.mono-project.com/sources/${PN}/${P}.tar.bz2";
 
 mono-env_pkg_setup() {
-- 
2.46.0




[gentoo-dev] [PATCH 13/44] libtool.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/libtool.eclass | 9 +
 1 file changed, 9 insertions(+)

diff --git a/eclass/libtool.eclass b/eclass/libtool.eclass
index bd6141e1ede93..b36b1fd365d3b 100644
--- a/eclass/libtool.eclass
+++ b/eclass/libtool.eclass
@@ -17,6 +17,15 @@
 if [[ -z ${_LIBTOOL_ECLASS} ]]; then
 _LIBTOOL_ECLASS=1
 
+case ${EAPI} in
+   6)
+   ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated 
EAPI ${EAPI}!"
+   ewarn "${CATEGORY}/${PF}: Support will be removed on 
2024-10-08. Please port to newer EAPI."
+   ;;
+   7|8) ;;
+   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
 case ${EAPI} in
6) DEPEND=">=app-portage/elt-patches-20240116" ;;
7|8) BDEPEND=">=app-portage/elt-patches-20240116" ;;
-- 
2.46.0




[gentoo-dev] [PATCH 12/44] java-utils-2.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/java-utils-2.eclass | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/eclass/java-utils-2.eclass b/eclass/java-utils-2.eclass
index 647f25e2c9870..6bf6b7788aa59 100644
--- a/eclass/java-utils-2.eclass
+++ b/eclass/java-utils-2.eclass
@@ -17,14 +17,18 @@
 # that have optional Java support. In addition you can inherit java-ant-2 for
 # Ant-based packages.
 
+if [[ -z ${_JAVA_UTILS_2_ECLASS} ]] ; then
+_JAVA_UTILS_2_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 ${_JAVA_UTILS_2_ECLASS} ]] ; then
-_JAVA_UTILS_2_ECLASS=1
-
 # 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 eqawarn multilib versionator
-- 
2.46.0




[gentoo-dev] [PATCH 11/44] java-pkg-2.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/java-pkg-2.eclass | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/eclass/java-pkg-2.eclass b/eclass/java-pkg-2.eclass
index df024bbadf51f..6da4efd222c22 100644
--- a/eclass/java-pkg-2.eclass
+++ b/eclass/java-pkg-2.eclass
@@ -13,14 +13,18 @@
 # This eclass should be inherited for pure Java packages, or by packages which
 # need to use Java.
 
+if [[ -z ${_JAVA_PKG_2_ECLASS} ]] ; then
+_JAVA_PKG_2_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 ${_JAVA_PKG_2_ECLASS} ]] ; then
-_JAVA_PKG_2_ECLASS=1
-
 inherit java-utils-2
 
 # @ECLASS_VARIABLE: JAVA_PKG_IUSE
-- 
2.46.0




[gentoo-dev] [PATCH 10/44] gnuconfig.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/gnuconfig.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/gnuconfig.eclass b/eclass/gnuconfig.eclass
index fb73087aeacf4..afcb8feee04ef 100644
--- a/eclass/gnuconfig.eclass
+++ b/eclass/gnuconfig.eclass
@@ -16,14 +16,18 @@
 # other files that come with automake, e.g. depcomp, mkinstalldirs, etc.
 #
 
-case ${EAPI:-0} in
-   6|7|8) ;;
-   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
 if [[ -z ${_GNUCONFIG_ECLASS} ]] ; then
  _GNUCONFIG_CLASS=1
 
+case ${EAPI} in
+   6)
+   ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated 
EAPI ${EAPI}!"
+   ewarn "${CATEGORY}/${PF}: Support will be removed on 
2024-10-08. Please port to newer EAPI."
+   ;;
+   7|8) ;;
+   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
 # @ECLASS_VARIABLE: GNUCONFIG_DEPEND
 # @OUTPUT_VARIABLE
 # @DESCRIPTION:
-- 
2.46.0




[gentoo-dev] [PATCH 09/44] fortran-2.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/fortran-2.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/fortran-2.eclass b/eclass/fortran-2.eclass
index 855dcba59a390..5e2ce1fc68e48 100644
--- a/eclass/fortran-2.eclass
+++ b/eclass/fortran-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: fortran-2.eclass
@@ -26,14 +26,18 @@
 #
 # FORTRAN_NEED_OPENMP=1
 
+if [[ -z ${_FORTRAN_2_ECLASS} ]]; then
+_FORTRAN_2_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 ${_FORTRAN_2_ECLASS} ]]; then
-_FORTRAN_2_ECLASS=1
-
 inherit toolchain-funcs
 
 # @ECLASS_VARIABLE: FORTRAN_NEED_OPENMP
-- 
2.46.0




[gentoo-dev] [PATCH 08/44] flag-o-matic.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/flag-o-matic.eclass | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass
index c6b1ad80e12eb..02cd2dcfc5926 100644
--- a/eclass/flag-o-matic.eclass
+++ b/eclass/flag-o-matic.eclass
@@ -10,14 +10,18 @@
 # This eclass contains a suite of functions to help developers sanely
 # and safely manage toolchain flags in their builds.
 
+if [[ -z ${_FLAG_O_MATIC_ECLASS} ]]; then
+_FLAG_O_MATIC_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 ${_FLAG_O_MATIC_ECLASS} ]]; then
-_FLAG_O_MATIC_ECLASS=1
-
 inherit toolchain-funcs
 
 [[ ${EAPI} == 6 ]] && inherit eqawarn
-- 
2.46.0




[gentoo-dev] [PATCH 07/44] desktop.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/desktop.eclass | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/eclass/desktop.eclass b/eclass/desktop.eclass
index 780971342ba1e..144514c8f7c27 100644
--- a/eclass/desktop.eclass
+++ b/eclass/desktop.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: desktop.eclass
@@ -8,7 +8,11 @@
 # @BLURB: support for desktop files, menus, and icons
 
 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
 
-- 
2.46.0




[gentoo-dev] [PATCH 06/44] depend.apache.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/depend.apache.eclass | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/eclass/depend.apache.eclass b/eclass/depend.apache.eclass
index 8f0469931d2c7..60926c298f042 100644
--- a/eclass/depend.apache.eclass
+++ b/eclass/depend.apache.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: depend.apache.eclass
@@ -40,12 +40,13 @@
 # }
 # @CODE
 
-case ${EAPI:-0} in
-   6|7|8)
-   ;;
-   *)
-   die "EAPI=${EAPI} is not supported by depend.apache.eclass"
+case ${EAPI} in
+   6)
+   ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated 
EAPI ${EAPI}!"
+   ewarn "${CATEGORY}/${PF}: Support will be removed on 
2024-10-08. Please port to newer EAPI."
;;
+   7|8) ;;
+   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
 # 
==
-- 
2.46.0




[gentoo-dev] [PATCH 05/44] check-reqs.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/check-reqs.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/check-reqs.eclass b/eclass/check-reqs.eclass
index fac2f4553d746..02ff61187c455 100644
--- a/eclass/check-reqs.eclass
+++ b/eclass/check-reqs.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: check-reqs.eclass
@@ -38,14 +38,18 @@
 # These checks should probably mostly work on non-Linux, and they should
 # probably degrade gracefully if they don't. Probably.
 
+if [[ -z ${_CHECK_REQS_ECLASS} ]]; then
+_CHECK_REQS_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 ${_CHECK_REQS_ECLASS} ]]; then
-_CHECK_REQS_ECLASS=1
-
 # @ECLASS_VARIABLE: CHECKREQS_MEMORY
 # @DEFAULT_UNSET
 # @DESCRIPTION:
-- 
2.46.0




[gentoo-dev] [PATCH 04/44] cdrom.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/cdrom.eclass | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/eclass/cdrom.eclass b/eclass/cdrom.eclass
index 4e56db9511960..4f7ba663bebaf 100644
--- a/eclass/cdrom.eclass
+++ b/eclass/cdrom.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: cdrom.eclass
@@ -15,14 +15,18 @@
 # eclass will require RESTRICT="bindist" but the point still stands.
 # The functions are generally called in src_unpack.
 
-case ${EAPI:-0} in
-   6|7|8) ;;
-   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
 if [[ -z ${_CDROM_ECLASS} ]]; then
 _CDROM_ECLASS=1
 
+case ${EAPI} in
+   6)
+   ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated 
EAPI ${EAPI}!"
+   ewarn "${CATEGORY}/${PF}: Support will be removed on 
2024-10-08. Please port to newer EAPI."
+   ;;
+   7|8) ;;
+   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
 inherit portability
 
 # @ECLASS_VARIABLE: CDROM_OPTIONAL
-- 
2.46.0




[gentoo-dev] [PATCH 03/44] bash-completion-r1.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/bash-completion-r1.eclass | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/eclass/bash-completion-r1.eclass b/eclass/bash-completion-r1.eclass
index df1a2a54d39a8..be506793ae94b 100644
--- a/eclass/bash-completion-r1.eclass
+++ b/eclass/bash-completion-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: bash-completion-r1.eclass
@@ -29,7 +29,11 @@ _BASH_COMPLETION_R1_ECLASS=1
 inherit toolchain-funcs
 
 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
 
-- 
2.46.0




[gentoo-dev] [PATCH 02/44] autotools.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/autotools.eclass | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 3c9e89bda90ed..0571b18ba5252 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -13,11 +13,6 @@
 # Note: We require GNU m4, as does autoconf.  So feel free to use any features
 # from the GNU version of m4 without worrying about other variants (i.e. BSD).
 
-case ${EAPI} in
-   6|7|8) ;;
-   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
 if [[ ${_AUTOTOOLS_AUTO_DEPEND+set} == "set" ]] ; then
# See if we were included already, but someone changed the value
# of AUTOTOOLS_AUTO_DEPEND on us.  We could reload the entire
@@ -31,6 +26,15 @@ fi
 if [[ -z ${_AUTOTOOLS_ECLASS} ]] ; then
 _AUTOTOOLS_ECLASS=1
 
+case ${EAPI} in
+   6)
+   ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated 
EAPI ${EAPI}!"
+   ewarn "${CATEGORY}/${PF}: Support will be removed on 
2024-10-08. Please port to newer EAPI."
+   ;;
+   7|8) ;;
+   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
 [[ ${EAPI} == 6 ]] && inherit eqawarn
 
 GNUCONFIG_AUTO_DEPEND=no
-- 
2.46.0




[gentoo-dev] [PATCH 01/44] apache-module.eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
Signed-off-by: Sam James 
---
 eclass/apache-module.eclass | 15 ++-
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/eclass/apache-module.eclass b/eclass/apache-module.eclass
index 5a84ffedf71a0..07bdb79e08a27 100644
--- a/eclass/apache-module.eclass
+++ b/eclass/apache-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: apache-module.eclass
@@ -44,14 +44,19 @@
 # 
 # @CODE
 
-case ${EAPI} in
-   6|7|8) ;;
-   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
 
 if [[ -z ${_APACHE_MODULE_ECLASS} ]]; then
 _APACHE_MODULE_ECLASS=1
 
+case ${EAPI} in
+   6)
+   ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated 
EAPI ${EAPI}!"
+   ewarn "${CATEGORY}/${PF}: Support will be removed on 
2024-10-08. Please port to newer EAPI."
+   ;;
+   7|8) ;;
+   *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
 inherit depend.apache
 
 # 
==
-- 
2.46.0




[gentoo-dev] [PATCH 00/44] eclass: add global-scope ewarn for deprecated < EAPI 7

2024-09-08 Thread Sam James
The motivation here is to give users and casual ebuild authors a final
last warning before things are yanked out from under them, to make
Gentoo a bit less hostile to develop on without following the MLs
closely. While we want people to run e.g. pkgcheck, not everyone
is going to.

The global scope warning is noisy but all consumers in ::gentoo
are gone already and the noise will be there in 30 days once
the support is actually removed (as is already queued [0]) but with
no temporary workaround then.

For future EAPI deprecation cycles, we should consider warnings
in the package manager as well as maybe a better well-defined lifecycle
for EAPI support in eclasses, as it's currently very ad-hoc based on
when the last consumer is gone in ::gentoo per-eclass.

[0] https://github.com/gentoo/gentoo/pull/37652

Sam James (44):
  apache-module.eclass: add global-scope ewarn for deprecated < EAPI 7
  autotools.eclass: add global-scope ewarn for deprecated < EAPI 7
  bash-completion-r1.eclass: add global-scope ewarn for deprecated <
EAPI 7
  cdrom.eclass: add global-scope ewarn for deprecated < EAPI 7
  check-reqs.eclass: add global-scope ewarn for deprecated < EAPI 7
  depend.apache.eclass: add global-scope ewarn for deprecated < EAPI 7
  desktop.eclass: add global-scope ewarn for deprecated < EAPI 7
  flag-o-matic.eclass: add global-scope ewarn for deprecated < EAPI 7
  fortran-2.eclass: add global-scope ewarn for deprecated < EAPI 7
  gnuconfig.eclass: add global-scope ewarn for deprecated < EAPI 7
  java-pkg-2.eclass: add global-scope ewarn for deprecated < EAPI 7
  java-utils-2.eclass: add global-scope ewarn for deprecated < EAPI 7
  libtool.eclass: add global-scope ewarn for deprecated < EAPI 7
  mono-env.eclass: add global-scope ewarn for deprecated < EAPI 7
  multibuild.eclass: add global-scope ewarn for deprecated < EAPI 7
  multilib-build.eclass: add global-scope ewarn for deprecated < EAPI 7
  multilib.eclass: add global-scope ewarn for deprecated < EAPI 7
  multilib-minimal.eclass: add global-scope ewarn for deprecated < EAPI
7
  multiprocessing.eclass: add global-scope ewarn for deprecated < EAPI 7
  out-of-source-utils.eclass: add global-scope ewarn for deprecated <
EAPI 7
  pax-utils.eclass: add global-scope ewarn for deprecated < EAPI 7
  perl-functions.eclass: add global-scope ewarn for deprecated < EAPI 7
  php-pear-r2.eclass: add global-scope ewarn for deprecated < EAPI 7
  portability.eclass: add global-scope ewarn for deprecated < EAPI 7
  prefix.eclass: add global-scope ewarn for deprecated < EAPI 7
  preserve-libs.eclass: add global-scope ewarn for deprecated < EAPI 7
  readme.gentoo-r1.eclass: add global-scope ewarn for deprecated < EAPI
7
  ruby-fakegem.eclass: add global-scope ewarn for deprecated < EAPI 7
  ruby-ng.eclass: add global-scope ewarn for deprecated < EAPI 7
  ruby-utils.eclass: add global-scope ewarn for deprecated < EAPI 7
  strip-linguas.eclass: add global-scope ewarn for deprecated < EAPI 7
  systemd.eclass: add global-scope ewarn for deprecated < EAPI 7
  tmpfiles.eclass: add global-scope ewarn for deprecated < EAPI 7
  toolchain-funcs.eclass: add global-scope ewarn for deprecated < EAPI 7
  udev.eclass: add global-scope ewarn for deprecated < EAPI 7
  vcs-clean.eclass: add global-scope ewarn for deprecated < EAPI 7
  vim-doc.eclass: add global-scope ewarn for deprecated < EAPI 7
  vim-plugin.eclass: add global-scope ewarn for deprecated < EAPI 7
  vim-spell.eclass: add global-scope ewarn for deprecated < EAPI 7
  virtualx.eclass: add global-scope ewarn for deprecated < EAPI 7
  webapp.eclass: add global-scope ewarn for deprecated < EAPI 7
  wrapper.eclass: add global-scope ewarn for deprecated < EAPI 7
  xdg.eclass: add global-scope ewarn for deprecated < EAPI 7
  xdg-utils.eclass: add global-scope ewarn for deprecated < EAPI 7

 eclass/apache-module.eclass   | 15 ++-
 eclass/autotools.eclass   | 14 +-
 eclass/bash-completion-r1.eclass  |  8 ++--
 eclass/cdrom.eclass   | 16 ++--
 eclass/check-reqs.eclass  | 14 +-
 eclass/depend.apache.eclass   | 13 +++--
 eclass/desktop.eclass |  8 ++--
 eclass/flag-o-matic.eclass| 12 
 eclass/fortran-2.eclass   | 14 +-
 eclass/gnuconfig.eclass   | 14 +-
 eclass/java-pkg-2.eclass  | 12 
 eclass/java-utils-2.eclass| 12 
 eclass/libtool.eclass |  9 +
 eclass/mono-env.eclass| 14 +-
 eclass/multibuild.eclass  | 14 +-
 eclass/multilib-build.eclass  | 14 +-
 eclass/multilib-minimal.eclass| 17 +++--
 eclass/multilib.eclass| 14 +-
 eclass/multiprocessing.eclass | 16

[gentoo-dev] [COMMITTED] kernel-build.eclass: call ctf_install for tests too

2024-09-03 Thread Sam James
As suggested by Andrew at 
https://github.com/gentoo/gentoo/pull/38392#discussion_r1741574357.

Signed-off-by: Sam James 
---
 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)" \
-- 
2.46.0




[gentoo-dev] [COMMITTED] kernel-build.eclass: handle CTF if enabled

2024-09-03 Thread Sam James
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 
---
 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
-- 
2.46.0




Re: [gentoo-dev] [RFC] News Item v2: KDE Plasma 6.1.4 and Gear 24.05.2 Upgrade

2024-08-31 Thread Sam James
Andreas Sturmlechner  writes:

> Title: KDE Plasma 6.1.4 and Gear 24.05.2 Upgrade
> Author: Andreas Sturmlechner 
> Posted: 2024-08-31
> Revision: 1
> News-Item-Format: 2.0
> Display-If-Installed: kde-plasma/plasma-workspace:5
>
> Reasons
> ===
>
> KDE Plasma 5 has reached end of life and is no longer supported by Gentoo.
> Qt5 upstream OSS support ended on 2020-12-08, and LTS releases - even with
> considerable effort by KDE community's backports on top - only go so far.
> It is therefore required for all users to upgrade to KDE Plasma 6[1].
>
> At the same time, KDE Gear 24.05.2 is provided with most applications ported
> over to KDE Frameworks 6. As long as KF5-based applications are being shipped
> with the KDE Gear bundle, and other non-KDE Qt5-based applications still
> common in ::gentoo repository, it is advised *not* to disable USE="qt5".
>
>
> Changes
> ===
>
> Not many - much like Qt6, this is mostly an evolution of the existing
> codebase, no disruptive feat.
>
> Plasma Wayland support has come a long way and therefore KDE developers have
> decided to make it the default login session for Plasma 6, even if some
> known papercuts[2] remain. For users affected too much by those, switching
> to the still existing X11 session is as easy as selecting it in the display
> manager of choice. Disabling USE="wayland" is *not* changing this default,
> it will yield no dependency savings, and we advise against doing so. It does
> not affect users' X11 sessions.
>
> In Gentoo:
>
> The 32-bit ~arm/arm keyword was inconsistent across KDE Plasma, KDE
> Frameworks, and KDE Gear, and has been dropped.
>
> The situation for x86 was similar to arm and test failures often blocked
> stabilization. Stable x86 has been dropped, ~x86 was dropped for KDE PIM,
> dev-util/kdevelop and any other dev-qt/qtwebengine:6 reverse dependencies.
>
>
> User Action Required
> 
>
> For users of a plasma profile[3], no specific upgrade steps are necessary,
> although some precautionary measures are advised before and during upgrade:
>
> - Switch to a standard (Breeze or Oxygen) theme
> - Depclean kde-misc/latte-dock, it is unfit for Plasma 6 (and masked already)
> - Cleanup sets and @world from any SLOT or version pinning of KDE packages
> - If possible, perform the upgrade not inside a running Plasma session
>
> Necessary USE flag changes were already made in plasma profile, therefore
> only users of other profiles should set USE="kf6compat qt6" globally[4].

"Users are recommended to run the following command (pretend-only) to identify 
packages
in @world which have been removed, to help reduce conflicts:

emerge -pev @world -backtrack=0

Then for any "no ebuild available" messages, either resolve it by making
the needed changes, or emerge --deselect them. Then proceed to the world
upgrade below.

>
> Once the packages become available on your arch, it should be as simple as
> update @world:
>
> emerge -aquUD @world
>
>
> [1] https://kde.org/plasma-desktop/
> [2] https://community.kde.org/Plasma/Wayland_Known_Significant_Issues
> [3] https://wiki.gentoo.org/wiki/KDE#Profile
> [4] https://wiki.gentoo.org/wiki//etc/portage/package.use


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] News Item: KDE Plasma 6.1.4 and Gear 24.05.2 Upgrade

2024-08-29 Thread Sam James
Andreas Sturmlechner  writes:

> Title: KDE Plasma 6.1.4 and Gear 24.05.2 Upgrade
> Author: Andreas Sturmlechner 
> Posted: 2024-08-31
> Revision: 1
> News-Item-Format: 2.0
> Display-If-Installed: kde-plasma/plasma-workspace:5
>
> Reasons
> ===
>
> KDE Plasma 5 has reached end of life and is no longer supported by Gentoo.
> Qt5 upstream OSS support ended on 2020-12-08, and LTS releases - even with
> considerable effort by KDE community's backports on top - only go so far.
> It is therefore required for all users to upgrade to KDE Plasma 6[1].
>
> At the same time, KDE Gear 24.05.2 is provided with most applications ported
> over to KDE Frameworks 6. As long as KF5-based applications are being shipped
> with the KDE Gear bundle, and other non-KDE Qt5-based applications still
> common in ::gentoo repository, it is advised *not* to disable USE="qt5".
>
>
> Changes
> ===
>
> Not many - much like Qt6, this is mostly an evolution of the existing
> codebase, no disruptive feat.
>
> Plasma Wayland support has come a long way and therefore KDE developers have
> decided to make it the default login session for Plasma 6, even if some
> known papercuts[2] remain. For users affected too much by those, switching
> to the still existing X11 session is as easy as selecting it in the display
> manager of choice. Disabling USE="wayland" is *not* changing this default,
> it will yield no dependency savings, and we advise against doing so. It does
> not affect users' X11 sessions.
>
> In Gentoo:

Let's rephrase this a bit.

> - arm 32-bit support is discontinued

"The 32-bit ~arm/arm keyword was inconsistent across KDE Plasma, KDE
Frameworks, and KDE Gear, and has been dropped."

> - x86 will not see stabilisation of Plasma 6 and KF6-based packages

"Like for arm, but to a lesser extent, the situation for x86 was
inconsistent and test failures often blocked stabliization."

This makes it sound less final and avoids the potential for
misunderstandings.

>
>
> User Action Required
> 
>
> For users of a plasma profile[3], no specific upgrade steps are necessary,
> although some precautionary measures are advised before and during upgrade:
>
> - Switch to a standard (Breeze or Oxygen) theme
> - Unmerge kde-misc/latte-dock, it is unfit for Plasma 6 (and masked already)

s/Unmerge/Depclean/, but weren't there others we should do as well? Or
maybe they're all handled?

Maybe we can recommend: emerge -pev @world --backtrack=0 and emerge
--deselecting any KDE-adjacent software which says "no ebuilds
available".

> - Cleanup sets and @world from any SLOT or version pinning of KDE packages
> - If possible, perform the upgrade not inside a running Plasma session
>
> Necessary USE flag changes were already made in plasma profile, therefore
> only users of other profiles should set USE="kf6compat qt6" globally[4].
>
> Once the packages become available on your arch, it should be as simple as
> update @world:
>
> emerge -aquvUD @world
>

-q and -v? (yes, this does work in Portage, but it looks odd...)

>
> [1] https://kde.org/plasma-desktop/
> [2] https://community.kde.org/Plasma/Wayland_Known_Significant_Issues
> [3] https://wiki.gentoo.org/wiki/KDE#Profile
> [4] https://wiki.gentoo.org/wiki//etc/portage/package.use



Re: [gentoo-dev] [PATCH 00/50] XXXXXX.eclass: drop support for EAPI6

2024-08-27 Thread Sam James
Eli Schwartz  writes:

> On 8/27/24 5:03 PM, Robin H. Johnson wrote:
>> There wasn't an introduction message to this series, but I wanted to
>> raise the discussion.
>> 
>> We only JUST got rid of the last EAPI6 ebuilds in the main tree.
>> 
>> There are overlays that still have EAPI6 ebuilds - and depend on these
>> ebuilds.
>> 
>> When is an expected time for all of those ebuilds to migrate, and how is
>> that being communicated?
>
>
> If we were removing an eclass that only supports EAPI 6 and is being
> dropped because it's useless, we'd last rite it and give people 30 days
> to move.
>
> But because the *file* isn't being removed, there is no rule how to do
> it apparently?? :D The obvious answer here is to stick an ewarn in the
> "if EAPI 6" branch at global scope.
>
>
> (It's a bit messy when doing dependency calculation. This too is a
> feature, if you think about it.)

Yes, it's something which has bothered me for a while. When we ratified
GLEP 83 [0], I wanted to come back to it for handling EAPI support
deprecation in "important" eclasses but I couldn't figure out a nice
definition for that and got distracted.

I actually *do* think we should do something here, but I will note
pkgcheck will have been warning about use of DeprecatedEapi at least.

[0] https://www.gentoo.org/glep/glep-0083.html



Re: [gentoo-dev] [PATCH 1/4] distutils-r1.eclass: Allow .jar files in sitedir

2024-08-25 Thread Sam James
Sam James  writes:

> Eli Schwartz  writes:
>
>> On 8/25/24 11:33 AM, Michał Górny wrote:
>>> Closes: https://bugs.gentoo.org/937642
>>> Signed-off-by: Michał Górny 
>>> ---
>>>  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 \
>>
>>
>> Copying my comment from the bug report:
>>
>> I don't think it makes sense to add a special exception for jar files.
>> If we think that packages may be legitimately storing *data* files at
>> the top level, we should either relax the check in general, or allow
>> adding a suppression variable for packages to suppress this check.
>
> Unfortunately, I think I agree -- we should probably blacklist, not whitelist.

Or maybe we keep it as-is but with an opt-out var, with documentation
saying not to use it without strong justification.


signature.asc
Description: PGP signature


Re: [gentoo-dev] Handling installed tests

2024-08-18 Thread Sam James
Joonas Niilola  writes:

> Hey,
>
> On 9.8.2024 18.43, Sam James wrote:
>> 
>> I'd like to pick some name which is suitable for us to use elsewhere and
>> it's not really a package-specific issue. Thoughts?
>> 
>
> the first simple thought that came to my mind: "install-tests" or
> "install-test-files". Both are available and should be pretty
> self-explanatory.

Thoughts on prefix/suffix?

"test-install", "test-install-files" are more in-keeping with USE=test,
USE=test-full, etc, but maybe that's *bad* because it's not related
at all to what the ebuild does, so we should do install-* like you've
suggested?

It's been in the back of my head so wanted to bring it up before
committing to install-*. I think it's the better option indeed but want
to check.

>
> -- juippis

thanks,
sam


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC HELP WANTED 0/9] Mending the Guile ecosystem

2024-08-18 Thread Sam James
Arsen Arsenović  writes:

> Evening!
>
> This patchset brings Gentoo a new set of ecosystem-style packages à la
> Lua or Python.  Now, the trouble with that is that we already have a
> bunch of Guile packages in the Gentoo repositories:
>
>   ~$ qdepends -Qt dev-scheme/guile | wc -l
>   85
>
> ... and more, probably.
>

The series LGTM. I'd already reviewed it as it was being developed as
well.

I think we should get it in and start the porting work, all masked as we
did with Lua, and then handle the grand unmasking in a coordinated
manner later when everything is ready.

> [...]

(big) thanks for doing this,
sam


signature.asc
Description: PGP signature


[gentoo-dev] [COMMITTED PATCH] go-env.eclass: workaround debug info issues

2024-08-15 Thread Sam James
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 
---
 eclass/go-env.eclass | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/eclass/go-env.eclass b/eclass/go-env.eclass
index be131133113be..a4394161cb0bc 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}"
-- 
2.46.0




[gentoo-dev] Handling installed tests

2024-08-09 Thread Sam James
Hi,

I'm currently working on packaging dtrace which doesn't (at least
currently, may not ever) support running tests as non-root, but
does support handling installing them for later manual use.

This raises a question: how should we control installing such tests? How
should the user request that?

USE=test isn't suitable because:
a) I generally expect it not to mutate the image;
b) ago, rightly, based on this has a tinderbox check which looks for
added/removed files when tests are enabled.

I'd like to pick some name which is suitable for us to use elsewhere and
it's not really a package-specific issue. Thoughts?

Please assume the tests are large enough to justify conditional install
and have additional dependencies.

(This is arguably related to https://bugs.gentoo.org/867799 and so on
wrt dev-lang/python always installing tests.)

thanks,
sam


signature.asc
Description: PGP signature


[gentoo-dev] Handling optional, expensive variants of test suite

2024-08-09 Thread Sam James
Hi!

Some packages like libffi, gcc support extended, slower versions of
their testsuites. In the past, I've seen both USE="expensive-tests" (I
think) and USE="test-full" (used in a few places in-tree atm) for this.

I sort of hate both suggestions but I'm open to what people think is
best, with a view to then making it a global USE flag then? Thoughts?

Note that I _do_ think there's value in exposing these because some of
the configurations I use, and I know others are deploying Gentoo for,
are where they want to make use of as many opportunities as possible
to find bad runtime behaviour (kernel and toolchain patching).

thanks,
sam


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH 4/5 v3] cargo.eclass: Shadow flag variables so that LTO filtering remains local

2024-07-25 Thread Sam James
James Le Cuirot  writes:

> Signed-off-by: James Le Cuirot 
> ---
>  eclass/cargo.eclass | 9 +
>  1 file changed, 9 insertions(+)
>
> diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
> index 44d3f7ee31f59..9f0bffee0e048 100644
> --- a/eclass/cargo.eclass
> +++ b/eclass/cargo.eclass
> @@ -532,7 +532,16 @@ cargo_src_configure() {
>  # host and target host respectively. Ensure these are set consistently 
> between
>  # Cargo invocations, otherwise rebuilds will occur.
>  cargo_env() {
> + # 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
> +

Maybe mention in the commit message that this is what we do for
distutils-r1 too.



Re: [gentoo-dev] [PATCH 1/5 v3] cargo.eclass: Add cargo_env helper and use it in compile, test, install

2024-07-25 Thread Sam James
James Le Cuirot  writes:

> 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.

The series looks OK but please let Ionen cast an eye over it as well as
mgorny, espec. for distutils-r1.

(Also, remember to CC eclass maints!)

>
> Signed-off-by: James Le Cuirot 
> ---
>  eclass/cargo.eclass | 37 +++--
>  1 file changed, 23 insertions(+), 14 deletions(-)
>
> diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
> index 7db34efb4e174..b6d5fe21f0a7b 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)
> + declare -x CARGO_BUILD_TARGET=$(rust_abi)
>   local TRIPLE=${CARGO_BUILD_TARGET//-/_}
> - export CARGO_TARGET_"${TRIPLE^^}"_LINKER=$(tc-getCC)
> + declare -x CARGO_TARGET_"${TRIPLE^^}"_LINKER=$(tc-getCC)
>
>   # Set vars for cc-rs crate.
>   tc-export_build_env
> - export \
> + declare -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



[gentoo-dev] Last rites: app-accessibility/epos

2024-07-24 Thread Sam James
# Sam James  (2024-07-24)
# Fails to build with GCC 15, several open bugs
# including test failures. Unpackaged by others.
# Removal on 2024-08-23.  Bug #936581.
app-accessibility/epos


signature.asc
Description: PGP signature


Re: [gentoo-dev] Last rites: games-arcade/{spacerider,tuxdash,xsfcave}

2024-07-02 Thread Sam James
Vitaly Zdanevich  writes:

>> Ancient
>  
> Oh, ancient games are sooo bad, no ray tracing, no soul.

Please see https://wiki.gentoo.org/wiki/Project:Council/Code_of_conduct.



[gentoo-dev] Reviewing ebuilds with git

2024-06-30 Thread Sam James
Hi,

I've mentioned this on IRC a bunch of times to people but I figure I'll
mention it here in case anyone finds it useful.

Our use of git doesn't lend itself well to the default mode `git diff`
and friends operate in, as we create many new files rather than solely
changing existing ones.

git can be coerced into checking for copies (and doing so "harder" too)
but there's no configuration option for this, and it's a pain to
remember.

You can use the attached patch for dev-vcs/git and then set:
$ git config diff.renames copies-harder
in gentoo.git to make `git log -p`, `git diff`, etc default to this
mode.

IME, it makes reviewing much easier. Be warned that it does make git log
a bit slower though if the config option is enabled for a repo -- but
maybe only noticeably if your repo is grafted with the pre-2015 CVS history.

https://lore.kernel.org/git/20240311213928.1872437-1-...@gentoo.org

From 2b9b8903fcc3815415f0d22a4646794757fc001a Mon Sep 17 00:00:00 2001
From: Sam James 
Date: Fri, 16 Feb 2024 22:07:54 +
Subject: [PATCH 1/2] diff: implement config.diff.renames=copies-harder

This patch adds a config value for 'diff.renames' called 'copies-harder'
which make it so '-C -C' is in effect always passed for 'git log -p',
'git diff', etc.

This allows specifying that 'git log -p', 'git diff', etc should always act
as if '-C --find-copies-harder' was passed.

It has proven this especially useful for certain types of repository (like
Gentoo's ebuild repositories) because files are often copies of a previous
version:

Suppose a directory 'sys-devel/gcc' contains recipes for building
GCC, with one file for each supported upstream branch:
  gcc-13.x.build.recipe
  gcc-12.x.build.recipe
  gcc-11.x.build.recipe
  gcc-10.x.build.recipe

gcc-13.x.build.recipe was started as a copy of gcc-12.x.build.recipe
(which was started as a copy of gcc-11.x.build.recipe, etc.). Previous versions
are kept around to support parallel installation of multiple versions.

Being able to easily observe the diff relative to other recipes within the
directory has been a quality of life improvement for such repo layouts.

Signed-off-by: Sam James 
---
 Documentation/config/diff.txt   |  8 +---
 Documentation/config/status.txt |  4 +++-
 diff.c  | 11 +--
 diff.h  |  1 +
 diffcore-rename.c   |  6 --
 merge-ort.c |  2 +-
 merge-recursive.c   |  2 +-
 7 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/Documentation/config/diff.txt b/Documentation/config/diff.txt
index bd5ae0c337..cdd8a74ec0 100644
--- a/Documentation/config/diff.txt
+++ b/Documentation/config/diff.txt
@@ -131,9 +131,11 @@ diff.renames::
 	Whether and how Git detects renames.  If set to "false",
 	rename detection is disabled. If set to "true", basic rename
 	detection is enabled.  If set to "copies" or "copy", Git will
-	detect copies, as well.  Defaults to true.  Note that this
-	affects only 'git diff' Porcelain like linkgit:git-diff[1] and
-	linkgit:git-log[1], and not lower level commands such as
+	detect copies, as well.  If set to "copies-harder", Git will spend extra
+	cycles to find more copies even in unmodified paths, see
+	'--find-copies-harder' in linkgit:git-diff[1]. Defaults to true.
+	Note that this affects only 'git diff' Porcelain like linkgit:git-diff[1]
+	and linkgit:git-log[1], and not lower level commands such as
 	linkgit:git-diff-files[1].
 
 diff.suppressBlankEmpty::
diff --git a/Documentation/config/status.txt b/Documentation/config/status.txt
index 2ff8237f8f..5236088878 100644
--- a/Documentation/config/status.txt
+++ b/Documentation/config/status.txt
@@ -33,7 +33,9 @@ status.renames::
 	Whether and how Git detects renames in linkgit:git-status[1] and
 	linkgit:git-commit[1] .  If set to "false", rename detection is
 	disabled. If set to "true", basic rename detection is enabled.
-	If set to "copies" or "copy", Git will detect copies, as well.
+	If set to "copies" or "copy", Git will detect copies, as well.  If set
+	to "copies-harder", Git will spend extra cycles to find more copies even
+	in unmodified paths, see '--find-copies-harder' in linkgit:git-diff[1].
 	Defaults to the value of diff.renames.
 
 status.showStash::
diff --git a/diff.c b/diff.c
index e50def4538..a6433dec30 100644
--- a/diff.c
+++ b/diff.c
@@ -204,6 +204,8 @@ int git_config_rename(const char *var, const char *value)
 {
 	if (!value)
 		return DIFF_DETECT_RENAME;
+	if (!strcasecmp(value, "copies-harder"))
+		return DIFF_DETECT_COPY_HARDER;
 	if (!strcasecmp(value, "copies") || !strcasecmp(value, "copy"))
 		return  DI

Re: [gentoo-dev] Re: Notion of stable depgraph vs stable keywords (Re: Arch Status and Future Plans)

2024-06-27 Thread Sam James
Duncan <1i5t5.dun...@cox.net> writes:

> Sam James posted on Wed, 26 Jun 2024 01:06:12 +0100 as excerpted:
>
>> Arthur Zamarin  writes:
>> 
>>> As you all know, Gentoo supports many various arches, in various
>>> degrees (stable, dev, exp). Let me explain those 3 statuses fast:
>>>
>>> * stable arch - meaning we have stable profile for this arch, and
>>> stable keywords across base-system + varying degree of seriousness. We
>>> stable stuff after ~30 days in tree, and are mostly happy. For example
>>> the well known and common amd64 arch.
>> 
>> This mixes the notion of keywords vs profiles.
>> 
>> You can have a stable profile in profiles.desc without any stable
>> keywords at all.
>> 
>> 'stable' in profiles.desc means we require CI to pass for its depgraph
>> consistency. 'dev' means we warn on it. 'exp' means it doesn't even show
>> up unless you opt-in with pkgcheck etc.
>
> While that may clear things up from a developer perspective,

The discussion we're currently having *is* from a developer perspective
where I'm trying to clarify something Arthur said for the purposes of
further discussion.

>
> How would it differ if they're already running ~x86 vs stable x86 
> (keywording), assuming the same currently stable x86 profile?
>
> And (again from a user perspective) how does dropping x86 to dev differ 
> from the mentioned apparently worse alternative, mass dekeywording?

An inconsistent depgraph is a very poor experience for users because
there's no guarantee emerge can resolve things.



Re: [gentoo-dev] [PATCH 1/5] gui-libs/gtk: add a "poison" macro support to disable X/wayland

2024-06-26 Thread Sam James
Eli Schwartz  writes:

> On 6/26/24 5:03 AM, Sam James wrote:
>> Eli Schwartz  writes:
>> 
>>> Many packages perform automagic dependencies on gdk's backend
>>> implementations by checking if the macro is defined and then using the
>>> code it unlocks, rather than having a buildsystem option such as
>>> -Dwayland=true.
>>>
>> Doesn't gtk3 need this too? Also, could we have an upstream report
>> making them aware of this for gtk4?
>
>
> Yes, gtk3 needs this too (and patches in this series depend on it).
>
> At https://github.com/gentoo/gentoo/pull/37259 there are 6 patches, not
> 5 -- I appear to have accidentally excluded the first patch when sending
> it to the list, unsure how that happened. It's almost ccompletely
> copy/paste from gtk4.

Thanks for clarifying - I was convinced I'd seen you show me it (I
probably saw it on the branch) but I didn't think to check the PR.

>
> As far as reporting this upstream goes, I'm somewhat nervous they will
> suggest you should simply build against what you use and require what
> you build against. It's not a completely unreasonable suggestion, in
> fact it's the one I described as option 4 and Gentoo simply cannot use
> it today since it would require new EAPI.

I tend to agree. I see this as kind of our fault / a Gentoo-ish problem.


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH 1/5] gui-libs/gtk: add a "poison" macro support to disable X/wayland

2024-06-26 Thread Sam James
Eli Schwartz  writes:

> Many packages perform automagic dependencies on gdk's backend
> implementations by checking if the macro is defined and then using the
> code it unlocks, rather than having a buildsystem option such as
> -Dwayland=true.
>
Doesn't gtk3 need this too? Also, could we have an upstream report
making them aware of this for gtk4?

> It's unfeasible to patch every such package's source code to add
> configure options and respect them. Instead add a truly filthy hack and
> permit gtk itself to selectively show or hide the windowing system in
> use.
>
> Bug: https://bugs.gentoo.org/624960
> Signed-off-by: Eli Schwartz 
> ---
>  ...-poison-macro-to-hide-GDK_WINDOWING_.patch | 25 ++-
>  gui-libs/gtk/gtk-4.12.5-r1.ebuild |  7 ++
>  ...-4.12.5-r1.ebuild => gtk-4.12.5-r2.ebuild} |  9 ++-
>  ...gtk-4.14.4.ebuild => gtk-4.14.3-r1.ebuild} |  7 ++
>  ...gtk-4.14.3.ebuild => gtk-4.14.4-r1.ebuild} |  7 ++
>  5 files changed, 42 insertions(+), 13 deletions(-)
>  copy {x11-libs/gtk+ => 
> gui-libs/gtk}/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch 
> (86%)
>  copy gui-libs/gtk/{gtk-4.12.5-r1.ebuild => gtk-4.12.5-r2.ebuild} (94%)
>  rename gui-libs/gtk/{gtk-4.14.4.ebuild => gtk-4.14.3-r1.ebuild} (96%)
>  rename gui-libs/gtk/{gtk-4.14.3.ebuild => gtk-4.14.4-r1.ebuild} (96%)
>
> diff --git 
> a/x11-libs/gtk+/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch
>  b/gui-libs/gtk/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch
> similarity index 86%
> copy from 
> x11-libs/gtk+/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch
> copy to 
> gui-libs/gtk/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch
> index 9bba12f8445b..4e078610f8cb 100644
> --- 
> a/x11-libs/gtk+/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch
> +++ 
> b/gui-libs/gtk/files/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch
> @@ -1,4 +1,4 @@
> -From 25bdad805bb9e16032baf4480e9c1e432ddef49b Mon Sep 17 00:00:00 2001
> +From 0537043f72ea1a634b101efa9e11cc0a22baaf71 Mon Sep 17 00:00:00 2001
>  From: Eli Schwartz 
>  Date: Wed, 19 Jun 2024 21:28:31 -0400
>  Subject: [PATCH] gdk: add a "poison" macro to hide GDK_WINDOWING_*
> @@ -34,10 +34,10 @@ Signed-off-by: Eli Schwartz 
>   3 files changed, 15 insertions(+)
>  
>  diff --git a/gdk/gdkconfig.h.meson b/gdk/gdkconfig.h.meson
> -index 7db19e0470..6bee207e94 100644
> +index d5b48f3184..22baab52ae 100644
>  --- a/gdk/gdkconfig.h.meson
>  +++ b/gdk/gdkconfig.h.meson
> -@@ -10,9 +10,16 @@
> +@@ -10,10 +10,17 @@
>   G_BEGIN_DECLS
>   
>   
> @@ -46,21 +46,22 @@ index 7db19e0470..6bee207e94 100644
>  +#endif
>  +
>   #mesondefine GDK_WINDOWING_BROADWAY
> + #mesondefine GDK_WINDOWING_MACOS
>  +
>  +#ifndef GENTOO_GTK_HIDE_WAYLAND
>   #mesondefine GDK_WINDOWING_WAYLAND
>  +#endif
>  +
>   #mesondefine GDK_WINDOWING_WIN32
> - #mesondefine GDK_WINDOWING_QUARTZ
>   
> + #mesondefine GDK_RENDERING_CAIRO
>  diff --git a/gdk/wayland/gdkwayland.h b/gdk/wayland/gdkwayland.h
> -index 2b79295add..5f0e9cfa81 100644
> +index 846445910e..5d84619295 100644
>  --- a/gdk/wayland/gdkwayland.h
>  +++ b/gdk/wayland/gdkwayland.h
> -@@ -25,6 +25,10 @@
> - #ifndef __GDK_WAYLAND_H__
> - #define __GDK_WAYLAND_H__
> +@@ -24,6 +24,10 @@
> + 
> + #pragma once
>   
>  +#ifdef GENTOO_GTK_HIDE_WAYLAND
>  +  #error "A Gentoo ebuild has hidden wayland and it cannot be used in this 
> compilation unit. Please file a bug if you see this error."
> @@ -70,12 +71,12 @@ index 2b79295add..5f0e9cfa81 100644
>   
>   #define __GDKWAYLAND_H_INSIDE__
>  diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
> -index 1f64bccb6d..256c83015e 100644
> +index 6bef6b6de8..d4f8b94550 100644
>  --- a/gdk/x11/gdkx.h
>  +++ b/gdk/x11/gdkx.h
> -@@ -25,6 +25,10 @@
> - #ifndef __GDK_X_H__
> - #define __GDK_X_H__
> +@@ -24,6 +24,10 @@
> + 
> + #pragma once
>   
>  +#ifdef GENTOO_GTK_HIDE_X11
>  +  #error "A Gentoo ebuild has hidden x11 and it cannot be used in this 
> compilation unit. Please file a bug if you see this error."
> diff --git a/gui-libs/gtk/gtk-4.12.5-r1.ebuild 
> b/gui-libs/gtk/gtk-4.12.5-r1.ebuild
> index cd5ffd7bad88..aec0c8889e71 100644
> --- a/gui-libs/gtk/gtk-4.12.5-r1.ebuild
> +++ b/gui-libs/gtk/gtk-4.12.5-r1.ebuild
> @@ -100,6 +100,13 @@ BDEPEND="
>   )
>  "
>  
> +PATCHES=(
> + # Gentoo-specific patch to add a "poison" macro support, allowing other 
> ebuilds
> + # with USE="-wayland -X" to trick gtk into claiming that it wasn't 
> built with
> + # such support.
> + "${FILESDIR}"/0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch
> +)
> +
>  python_check_deps() {
>   python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]" || return
>  }
> diff --git a/gui-libs/gtk/gtk-4.12.5-r1.ebuild 
> b/gui-libs/gtk/gtk-4.12.5-r2.ebuild
> similarity index 94%
> copy from gui-libs/gtk/gtk-4.12.5-r1.ebuild
> copy to gui-libs/gtk/gtk-4.12.5-r2.ebuild
> index cd5ffd7bad88..2b6fd10d8caa 100644
> ---

Re: [gentoo-dev] [PATCH 0/5] Fixing automagic dependencies on gtk[wayland,X],

2024-06-26 Thread Sam James
Eli Schwartz  writes:

> There is a bug in how gtk 3 and gtk 4 are built against by other
> packages. GTK supports optionally enabling X and wayland support -- when
> you do so, the ABI of GTK changes.

The series looks good to me, but I'd like leio to ack it before we merge
it.

It's not ideal, of course, but I think it's the best option we have and
the status quo is pretty bad.

thanks,
sam


signature.asc
Description: PGP signature


x86 FP issues (Re: [gentoo-dev] Arch Status and Future Plans)

2024-06-25 Thread Sam James
Arthur Zamarin  writes:

> Hi all, this will be a long mail, and might be confusing, I'll try to
> organize it, but this is a mess, so bear with me.
> [...]
>  32-bit arches 
>
> This includes stable arches x86, arm, ppc, sparc32, dev arches s390, and
> maybe more. Those are in much worse situation, with a mess on various
> fronts, some of them super hard to continue support. For example
> qtwebengine is less and less likely to manage to compile on a
> real-hardware, and not 32-bit chroot on 64-bit host. Arch Team want to
> minimize our work on those arches, meaning mass-destable and even
> mass-dekeyword, with potentially full drop of stable status.
>
>  x86 
>
> Stable 32-bit arch. I'll be honest, I don't believe at all this should
> be stable arch anymore. I propose making it dev arch, and mass-dekeyword
> stuff we got because of inertia. This arch is close to HW die. (let's
> not talk about i486 vs i686).

I think the mfpmath=sse thing [0] makes this a bit better but I still
sympathise with your point.

[0] 
https://public-inbox.gentoo.org/gentoo-dev/ce894afe6c2b324fef012da9bb9387cfde7aed03.ca...@gentoo.org/


signature.asc
Description: PGP signature


time64 & LFS for 32-bit arches (Re: [gentoo-dev] Arch Status and Future Plans)

2024-06-25 Thread Sam James
Arthur Zamarin  writes:

> Hi all, this will be a long mail, and might be confusing, I'll try to
> organize it, but this is a mess, so bear with me.
>
>  32-bit arches 
>
> This includes stable arches x86, arm, ppc, sparc32, dev arches s390, and
> maybe more. Those are in much worse situation, with a mess on various
> fronts, some of them super hard to continue support. For example
> qtwebengine is less and less likely to manage to compile on a
> real-hardware, and not 32-bit chroot on 64-bit host. Arch Team want to
> minimize our work on those arches, meaning mass-destable and even
> mass-dekeyword, with potentially full drop of stable status.
>

We haven't yet migrated to 64-bit time_t (and off_t - Large File
Support/LFS) which will fix a lot of general test failures.

Doing that before making any decision has value in two ways:
1) It might make the situation a lot better, who knows?

2) Even if we do then do a mass purge after, it leaves users on such
platforms in a good state to keep stabilisation until after we're done,
to help find any possible issues.

dilfridge is currently beginning the time64 prep work (it requires LFS
too).


signature.asc
Description: PGP signature


On the value (or not?) of stable keywords (Re: [gentoo-dev] Arch Status and Future Plans)

2024-06-25 Thread Sam James
Arthur Zamarin  writes:

> Hi all, this will be a long mail, and might be confusing, I'll try to
> organize it, but this is a mess, so bear with me.
>
> [...]
>  32-bit arches 
>
> This includes stable arches x86, arm, ppc, sparc32, dev arches s390, and
> maybe more. Those are in much worse situation, with a mess on various
> fronts, some of them super hard to continue support. For example
> qtwebengine is less and less likely to manage to compile on a
> real-hardware, and not 32-bit chroot on 64-bit host. Arch Team want to
> minimize our work on those arches, meaning mass-destable and even
> mass-dekeyword, with potentially full drop of stable status.

On stable keywords, there's a few thoughts I have:
* Stable keywords help keep a platform sustainable because you can keep
 it up to date and not be buried under heavy updates (e.g. I sometimes
 get asked to not keyword new GCC versions for the benefit of ~arch-only
 arches)

* For arches without stable keywords, we don't have any reason to
  regularly run the testsuite, so issues which might even be trivially
  solvable go unnoticed. It goes from "running tests whenever there's a
  regular stablereq" -> "once in a blue moon if rekeywording is
  required".

  This part is a shame, but it's also precisely why there's pressure to
  destable things. It's tricky :(


signature.asc
Description: PGP signature


Misc arch plans (Re: [gentoo-dev] Arch Status and Future Plans)

2024-06-25 Thread Sam James
Arthur Zamarin  writes:

> Hi all, this will be a long mail, and might be confusing, I'll try to
> organize it, but this is a mess, so bear with me.
>
> [...]
>
>  32-bit arches 
>
> This includes stable arches x86, arm, ppc, sparc32, dev arches s390, and
> maybe more. Those are in much worse situation, with a mess on various
> fronts, some of them super hard to continue support. For example
> qtwebengine is less and less likely to manage to compile on a
> real-hardware, and not 32-bit chroot on 64-bit host. Arch Team want to
> minimize our work on those arches, meaning mass-destable and even
> mass-dekeyword, with potentially full drop of stable status.
>
>  x86 
>
> Stable 32-bit arch. I'll be honest, I don't believe at all this should
> be stable arch anymore. I propose making it dev arch, and mass-dekeyword
> stuff we got because of inertia. This arch is close to HW die. (let's
> not talk about i486 vs i686).

We need to be clear on the rationale for making something a dev arch.

If we're going to mass-dekeyword, the need for it being a dev arch
lessens, no?

There's also the frustrating issue of keywords in general with regard to
"did this ever work" vs "we support it and want to keep it going", which
is why pruning keywords is a bit of a shame - though I think we should
do it. (It's annoying for stuff which actually imposes no new depgraph
constraints and works fine, and creates work when something gains a dep
on it.)

>
>  arm 
>
> Stable 32-bit arch, split into many sub-arches, based on the arm
> generation (4, 5, 6, 7, ...). We use a 32-bit chroot on arm64 host to
> handle this arch. While not urgent since the host is strong, it is
> already collecting tech debt.
>
> I propose we mass-destable and mass-dekeyword stuff. Should still remain
> stable arch status.
>

Sounds OK, I think. I'd want "lightweight desktops" to have stable KWs
there (lxqt/xfce).

>  ppc 
>
> Stable 32-bit arch. Becoming harder and harder with time, with more
> broken stuff (which I just destable/dekeyword).
>
> I propose we convert it into dev arch status, not stable. If folks
> disagree, once again mass-dekeyword.
>

I can't know if I disagree or not until we're clear on what the
rationale is for depgraph consistency.

dev arch status won't help here if mass-dekeywording is
*separate* because then we just get very noisy CI.


>  ppc64 
>
> Stable 64-bit arch. So, this is a mess of an arch. Consists of both
> ppc64ul (big-endian) and ppc64le (little-endian). The latter is much
> better supported by upstream. The profiles inheritance inside is a mess
> (we even added running 32 userspace on 64 bit kernel, called ppc64/32ul
> - just why?). We have devboxes for both BE and LE, so mostly fine. The
> profile inheritance is the messiest I've even seen.
>
> I would hope to split this arch into the two endianness, but I suspect
> nobody has the energy to do it. Oh well.
>
> Next proposal is to cleanup profiles: remove the ppc64/32ul, cleanup
> profile inheritance, cleanup the masks and unmasks, and continue with
> both ppc64ul & ppc64le supported.
>

I'd like to see it split too but I don't want to do the work myself.

>  sparc 
>
> Stable 32-bit and 64-bit arch. Has the best devbox (just seeing all the
> CPUs in htop is warming a Gentoo heart).
>
> 32-bit sparc is something which is being removed from the kernel, and
> didn't really exist (?), so we can just clean it up and drop support for
> that.

Agreed.

>
> 64-bit sparc works quite well, with even rust support (what a
> surprise!), and we should just cleanup keywords we got ebcause of
> inertia. Don't be afraid to dekeyword and destable stuff (consult with
> Arch Team), but nothing as mass work.

Agreed.

>
>  hppa 
>
> Sigh. Stable 64-bit arch. Out main Gentoo devbox died, and the second
> one is always stuck compiling gcc for stage3 (a compilation takes 7
> days). Here we have a fight in Arch Team. I prefer to destable it, Sam
> prefers to stable it. This one is tough.
>

hppa is 32-bit right now. The userland work is stalled on glibc support.

I think I can live with it being ~arch after reflection, but I'll talk
about my feelings for ~arch vs stable in general for these arches in a minute.

>  ia64 
>
> Dev 64-bit arch. Kernel dropped support, glibc dropped support, devbox
> died - days are short before full exp status or full removal of arch.

Yeah, no interest in ia64, sorry. I'd like it to just go.

>
>  s390 
>
> Dev arch. Has 2 sub-arches: s390 (32-bit) and s390x (64-bit). The latter
> works well for its job, a good devbox.
>
> For s390 32-bit we want to drop the profile, to simplify the profile
> mess it has (mask&unmasks) for packages that work for 64-bit (like all
> the rust stuff) and 32-bit stuff (inherits wd40 profile).
>

Let's kill s390 (31-bit). s390x should stay.

>  loong 
>
> Dev arch. I have no inf

Notion of stable depgraph vs stable keywords (Re: [gentoo-dev] Arch Status and Future Plans)

2024-06-25 Thread Sam James
Arthur Zamarin  writes:

> Hi all, this will be a long mail, and might be confusing, I'll try to
> organize it, but this is a mess, so bear with me.

Absolutely - thanks for doing this. I'm going to split my replies with
alt subject to help keep it organised.

>
> As you all know, Gentoo supports many various arches, in various degrees
> (stable, dev, exp). Let me explain those 3 statuses fast:
>
> * stable arch - meaning we have stable profile for this arch, and stable
> keywords across base-system + varying degree of seriousness. We stable
> stuff after ~30 days in tree, and are mostly happy. For example the well
> known and common amd64 arch.

This mixes the notion of keywords vs profiles.

You can have a stable profile in profiles.desc without any stable
keywords at all.

'stable' in profiles.desc means we require CI to pass for its depgraph
consistency. 'dev' means we warn on it. 'exp' means it doesn't even show
up unless you opt-in with pkgcheck etc.


signature.asc
Description: PGP signature


[gentoo-dev] Up for grabs: dev-libs/protobuf, dev-python/protobuf-python, dev-java/protobuf-java

2024-06-12 Thread Sam James
Hi,

The following packages are up for grabs because of proxied maintainer
inactivity:
* dev-libs/protobuf
* dev-python/protobuf-python
* dev-java/protobuf-java (technically still has java@)

Please be aware that there's a rat's nest to be disentangled
here. protobuf is tightly coupled with dev-cpp/abseil-cpp and we really
need a virtual or similar because abseil-cpp linkage now leaks into
protobuf consumers. Both have unstable ABI. See
https://bugs.gentoo.org/912819#c4.

thanks,
sam


signature.asc
Description: PGP signature


Re: [gentoo-dev] Imminent Python 3.12 switch reminder

2024-05-30 Thread Sam James
Martin Dummer  writes:

> Am 28.05.24 um 08:24 schrieb Michał Górny:
>> If you're up for some more quick porting, right now's the time!
> https://github.com/gentoo/gentoo/pull/36502 laying around for ~ 1 Month

I see Flow's reviewed your PR (as has mgorny before now) but I plan on
going over any py3.12 related PRs over the weekend - including yours if
it's not merged by then.

Others are encouraged and welcome to help with that process, including
non-developers who want to review which speeds things up. Thanks.



Re: [gentoo-dev] Last rites: sec-keys/openpgp-keys-jiatan

2024-05-30 Thread Sam James
Ulrich Mueller  writes:

>>>>>> On Wed, 29 May 2024, Sam James wrote:
>
>> # Sam James  (2024-05-29)
>> # OpenPGP key of malicious xz co-maintainer. This key is no longer used
>> # by any ebuilds in tree. Removal on 2024-06-29.
>> # Bug #928134.
>> sec-keys/openpgp-keys-jiatan
>
> Just out of interest, by what chain of trust was this key added, in the
> first place?

I have been a member of the xz community for several years and was
around before Jia came into the picture, and was around as he became a
contributor, developer, and eventually co-maintainer. Him being a
release manager was not a surprise and it was done with Lasse's consent
(although, as we now know, he felt pressured into it).

That is, there's no chain of trust verification which would've helped here. That
said, his key was signed by Lasse's anyway.

But in general for verify-sig stuff, we tend to rely on TOFU for new
packages, some sort of statement where possible / signing for changing
in keys from the same person or a new release manager, but it's not
always
possible.

>
> Ulrich

thanks,
sam


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: Last rites: sec-keys/openpgp-keys-jiatan

2024-05-30 Thread Sam James
Duncan <1i5t5.dun...@cox.net> writes:

> Sam James posted on Wed, 29 May 2024 19:37:47 +0100 as excerpted:
>
>> # Sam James  (2024-05-29)
>> # OpenPGP key of malicious xz co-maintainer. This key is no longer used
>> # by any ebuilds in tree. Removal on 2024-06-29.
>> # Bug #928134.
>> sec-keys/openpgp-keys-jiatan
>
> I'd suggest adding the xzutils GLSA and/or version mask and removal commit 
> tags so people unfamiliar with the story coming across this in the git 
> history say five years from now can easily see that Gentoo took the proper 
> actions with appropriate timing.
>

I can mention the GLSA explicitly, I suppose, but people can read the
bug anyway.

I did try to be verbose in the various commits for this (which you can
see on the bug) already.

> Also, might not hurt to make that "malicious xz upstream former co-
> maintainer" or some such, making even clearer that it wasn't gentoo-level 
> package-maintainer, and that they *ARE* former.

But yes, a fair point on mentioning it was an upstream co-maintainer
instead. I'll change that later.

>
> Finally, could we update security practices (maybe it's already in-
> process?) to ensure the bad key is masked and removed earlier, along with 
> the bad packages/package-versions?  I've no explanation how it could 
> happen without a (n entirely theoretical, AFAIK) gentoo-level accomplice 
> outing themselves, but it would sure look bad if some how, some way, 
> something (even in an overlay) inexplicably started using such a key again 
> while it was still in-tree.  Maybe even provide an expedited security 
> exception of some sort from normal tree-cleaning procedures for the sec-
> keys category?

As I explained in the commit message(s), I deliberately didn't remove
5.4.6 prematurely - although it was masked the whole time, and remains
so - because I didn't want to contribute to confusion about what is, and
isn't, known to be bad. I also explained this in the bug as we went.

I don't really think anything using the key would be meaningful at
all, given how verify-sig works. It's primarily a tool for ebuild
maintainers to ease verification of signatures. It doesn't lend
something extra legitimacy.

Also, the keyring package has been masked the whole time -- now I'm just
*last-riting* it. So, sure, I guess I could have, but then I would've
been removing verify-sig from 5.4.6 for theatre and it didn't feel like
a great use of time when there was real work to be doing.


signature.asc
Description: PGP signature


[gentoo-dev] Last rites: sec-keys/openpgp-keys-jiatan

2024-05-29 Thread Sam James
# Sam James  (2024-05-29)
# OpenPGP key of malicious xz co-maintainer. This key is no longer used
# by any ebuilds in tree. Removal on 2024-06-29.
# Bug #928134.
sec-keys/openpgp-keys-jiatan


signature.asc
Description: PGP signature


Re: [gentoo-dev] GCC 14 unleashed

2024-05-19 Thread Sam James
Sam James  writes:

Oh, and:
> * The code was broken before (badly) [...]

... and therefore you should be revbumping for fixes. 


signature.asc
Description: PGP signature


[gentoo-dev] GCC 14 unleashed

2024-05-19 Thread Sam James
Hi,

As we discussed a bunch in #gentoo-toolchain over the last few weeks,
GCC 14 is now in ~arch. We've spent the last > 2 years working on this
and fixing lots of packages, but kind of reached the limit of how much a
handful of people can do.

This is kind of the analogue of the Clang post I made a while ago [0].

It makes a lot of dangerous, broken C constructs errors by default. We
have a writeup at https://wiki.gentoo.org/wiki/Modern_C_porting. See
also https://gcc.gnu.org/gcc-14/porting_to.html.

Advice:
* Please ask us in #gentoo-toolchain if you need help understanding how
to fix a bug. You may have users submitting patches, but please ask if
you're unsure if they're correct.
* Please only add casts if you're sure they're right. Otherwise, they're
just suppressing it.
* Report upstream immediately if you see an issue, even if you don't yet
have time to try fix it yourself. This means upstream can work on it in
the background and other distros and folks may end up sharing their
patches.
* Similarly, it's paramount that patches get submitted upstream so they
can be reviewed and other distros can benefit. We have benefitted a lot
from others doing that, and vice-versa.
* The code was broken before (badly) and this just surfaces
that. -Wno-error=* and friends are not an option. The wiki page covers
that but I can explain it more if needed.

The tracker bugs are:
* https://bugs.gentoo.org/870412 (c99-porting)
* https://bugs.gentoo.org/906027 (implicit-in-configure)
* https://bugs.gentoo.org/914580 (gcc-14, general; only use for other issues)

The implicit-in-configure issues are more important than c99-porting because of 
the risk
of a misconfigured build.

[0] 
https://public-inbox.gentoo.org/gentoo-dev/87tu4c8z49@mop.mail-host-address-is-not-set/

thanks,
sam


signature.asc
Description: PGP signature


[gentoo-dev] Last rites: sci-libs/beagle

2024-05-16 Thread Sam James
# Eli Schwartz  (2024-05-17)
# Last updated in 2007, has no reverse dependencies, is unmaintained upstream
# (in 2010 a version 4 alpha was released using cmake, the project has seen no
# other activity upstream). Fails to build with dash, lto.
# Bug #862669, #890423. 
# Removal on 2024-06-16.
sci-libs/beagle   



Re: [gentoo-dev] [PATCH 0/2] edo.eclass: enhace edob for usage with nosiy commands

2024-05-13 Thread Sam James
Florian Schmaus  writes:

> The motivation for this change is to allow edob to be used with noisy
> commands, i.e., commands that produce a lot of output, in cases where
> the output is in general not of interest. However, if the command
> fails, the output should be shown and appear in build.log.
>
> We do this by simply redirecting the output to a file in $T, and show
> this file if the command returned a non-zero exit status.
>
> We already have a few cases in ::gentoo where such output is simply
> redirected to /dev/null, hindering post-mortem analysis. Those could
> be converted to edob with its new behavior.
>
> PR at https://github.com/gentoo/gentoo/pull/36117
>

LGTM. I agree there's value in it.

> Florian Schmaus (2):
>   edo.eclass: enhace edob for usage with nosiy commands

s/nosiy/noisy/

>   eftmutil-sys: use edob
>
>  eclass/edo.eclass| 54 
>  eclass/texlive-common.eclass |  8 --
>  2 files changed, 53 insertions(+), 9 deletions(-)



Re: [gentoo-dev] [PATCH] cargo.eclass: Optimize crate unpacking

2024-05-11 Thread Sam James
Michał Górny  writes:

> 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 

For completeness (acked on PR), lgtm. I assume tested by building
all cargo inheritees (nearly said 'heirs' but.. lol)?

Give a chance for others to look though.

Also, thank you!

> ---
>  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
>  }



Re: [gentoo-dev] [PATCH] vdr-plugin-2.eclass: make qa warning conditional

2024-05-09 Thread Sam James
Martin Dummer  writes:

> Am 09.05.24 um 14:13 schrieb Sam James:
>
>  Martin Dummer  writes:
>
>  
> Maybe we can agree that the qa-warnings in vdr-eclass make more sense if i 
> change them to "eawarn" or "einfo"?
>
>
> Sure, make them eqawarn.
>
> Hmm - current state of vdr-plugin-2.eclass is: there are many "eqawarn" in 
> there.
>
>  
>  In my opinion, most plugins in the vdr context will practically not develop 
> any further anyway. It is more
>  important to
> keep the current status of vdr-software in the ecosystem up to date as well 
> as possible.
>
> So I need a practical useful approach instead of a fundamental discussion 
> please.
>
>
> My point is that the QA warnings should exist, and you can worry about
> making them "developer-only" in future. Right now, they seem useful, and
> the things they flag need to be addressed.
>
> Basically yes, but here (vdr-plugins) the qawarn are used more in a way "to 
> remind the plugin developers to adapt their
> sources to newer vdr build environment" or "the way i18n implemented has 
> changed"
>
> The eclass fixes these problems with standardized quirks, the "equawarn" 
> messages show when these quirks are applied.
>
> IMHO its not necessary to tell that to any user, only for interested 
> packagers when they are bored and look out for some
> extra work. That's why I made the warnings conditional, printed out when the 
> variable "VDR_MAINTAINTER_MODE" is set to a
> not-empty value.
>
> Finally, I am interested in an opinion whether this is acceptable or not, 
> otherwise I tend to remove the warnings at all.

It sounds like maybe you want to turn these into log messages (einfo -
https://devmanual.gentoo.org/ebuild-writing/messages/index.html), and
drop the "QA notice" prefix.



Re: [gentoo-dev] [PATCH] vdr-plugin-2.eclass: make qa warning conditional

2024-05-09 Thread Sam James
Martin Dummer  writes:

> Am 03.05.24 um 06:39 schrieb Sam James:
>
>  
> What we really need is:
> a) https://bugs.gentoo.org/162450 to avoid scaring users;
> b) possibly some level of QA notice to distinguish between "check this
> out" (think e.g. qa-vdb LHS where it _might_ be unused, but not
> necessarily), and "this is definitely wrong"
>
> I am convinced we need a), I am not-at-all convinced we need b) - at
> least not in terms of whether bugs are reported.
>
> AFAIS https://bugs.gentoo.org/162450 is not implemented.

Right, that's why I didn't say "we can just use".

>
> Maybe we can agree that the qa-warnings in vdr-eclass make more sense if i 
> change them to "eawarn" or "einfo"?
>

Sure, make them eqawarn.

> In my opinion, most plugins in the vdr context will practically not develop 
> any further anyway. It is more important to
> keep the current status of vdr-software in the ecosystem up to date as well 
> as possible.
>
> So I need a practical useful approach instead of a fundamental discussion 
> please.

My point is that the QA warnings should exist, and you can worry about
making them "developer-only" in future. Right now, they seem useful, and
the things they flag need to be addressed.



[gentoo-dev] Last rites: net-irc/ninja

2024-05-08 Thread Sam James
# Eli Schwartz  (2024-05-08)
# Fails to configure with GCC 14, fails to install with older
# gcc, unmaintained, upstream website vanished.
# Bug #731180, #861461, #888577, #889930.
# Removal on 2024-06-08.
net-irc/ninja


signature.asc
Description: PGP signature


[gentoo-dev] Last rites: dev-perl/Net-Twitter

2024-05-06 Thread Sam James
# Sam James  (2024-05-06)
# Long-deprecated upstream, replaced by (unpackaged) Twitter::API.
# Twitter's API has changed at least once since the last release of 
Net::Twitter.
# Removal on 2024-06-05.  Bug #931295.
dev-perl/Net-Twitter


signature.asc
Description: PGP signature


[gentoo-dev] Last rites: media-libs/lastfmlib

2024-05-05 Thread Sam James
# Sam James  (2024-05-06)
# Incompatible with latest last.fm APIs, hence useless.
# Removal on 2024-06-05.  Bug #928115.
media-libs/lastfmlib


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH v2] 2024-05-03-wireplumber-0_5-bump: add news item

2024-05-03 Thread Sam James
James Calligeros  writes:

> Signed-off-by: James Calligeros 
> ---
>  .../2024-05-03-wireplumber-0_5-bump.en.txt| 25 +++
>  1 file changed, 25 insertions(+)
>  create mode 100644 
> 2024-05-03-wireplumber-0_5-bump/2024-05-03-wireplumber-0_5-bump.en.txt
>
> diff --git 
> a/2024-05-03-wireplumber-0_5-bump/2024-05-03-wireplumber-0_5-bump.en.txt 
> b/2024-05-03-wireplumber-0_5-bump/2024-05-03-wireplumber-0_5-bump.en.txt
> new file mode 100644
> index 000..22f2314
> --- /dev/null
> +++ b/2024-05-03-wireplumber-0_5-bump/2024-05-03-wireplumber-0_5-bump.en.txt
> @@ -0,0 +1,25 @@
> +Title: media-video/wireplumber-0.5.2 may break on upgrade
> +Author: James Calligeros 
> +Posted: 2024-05-03
> +Revision: 1
> +News-Item-Format: 2.0
> +Display-If-Installed: media-video/wireplumber
> +
> +As some will be aware, WirePlumber 0.5.0 introduced a significant
> +breaking change to its entire configuration system, eliminating the use
> +of Lua scripts for configuration purposes. This also came with a
> +complete rework of how Lua scripts are registered with WirePlumber
> +for execution.
> +
> +Most typical desktop users, including EasyEffects users, should not
> +notice any change to their system. That said, it was not uncommon for
> +people to suggest or implement configuration changes using the Lua API.
> +
> +Any custom functionality which relies on WirePlumber's Lua API will
> +break upon upgrade.
> +
> +If you rely on this functionality, please review the WirePlumber
> +documentation on porting your Lua scripts to the new API and
> +registering them with the system before upgrading:
> +
> +https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/migration.html

LGTM. Let's give it the standard 48 hours then let's ship it.

If you feel it'd be useful to commit pw+wp masked before then, we can,
but my gut is that it isn't.

Thanks again for working on this.

best,
sam



Re: [gentoo-dev] [PATCH 1/2] gnuconfig.eclass: add GNUCONFIG_DEPEND

2024-05-03 Thread Sam James
Arsen Arsenović  writes:

> Sam James  writes:
>
>> The motivation here is to allow autotools.eclass consumers setting
>> AUTOTOOLS_AUTO_DEPEND=no to not have a useless gnuconfig dependency.
>
> series looks ok to me

thanks!



Re: [gentoo-dev] [PATCH 1/2] gnuconfig.eclass: add GNUCONFIG_DEPEND

2024-05-03 Thread Sam James
Ulrich Mueller  writes:

>>>>>> On Fri, 03 May 2024, Sam James wrote:
>  
>> +case ${EAPI} in
>> +5|6) DEPEND=${GNUCONFIG_DEPEND} ;;
>> +*) BDEPEND=${GNUCONFIG_DEPEND} ;;
>> +esac
>
> Drop EAPI 5 while at it?

Good point, done & pushed, thanks.



[gentoo-dev] [PATCH v2 3/3] gnuconfig.eclass: drop EAPI 5 support

2024-05-03 Thread Sam James
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 
---
 eclass/gnuconfig.eclass | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/gnuconfig.eclass b/eclass/gnuconfig.eclass
index df3c748676082..fb73087aeacf4 100644
--- a/eclass/gnuconfig.eclass
+++ b/eclass/gnuconfig.eclass
@@ -6,7 +6,7 @@
 # Sam James 
 # @AUTHOR:
 # Will Woods 
-# @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}"
;;
*)
-- 
2.45.0




[gentoo-dev] [PATCH v2 2/3] autotools.eclass: conditionalize gnuconfig dependency

2024-05-03 Thread Sam James
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 
---
 eclass/autotools.eclass | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 1ced771c5345f..a456e9b9f5898 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
-- 
2.45.0




[gentoo-dev] [PATCH v2 1/3] gnuconfig.eclass: add GNUCONFIG_DEPEND

2024-05-03 Thread Sam James
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 
---
 eclass/gnuconfig.eclass | 22 +++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/eclass/gnuconfig.eclass b/eclass/gnuconfig.eclass
index 0791798632cdb..df3c748676082 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 ...]
-- 
2.45.0




[gentoo-dev] [PATCH 2/2] autotools.eclass: conditionalize gnuconfig dependency

2024-05-02 Thread Sam James
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 
---
 eclass/autotools.eclass | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 1ced771c5345f..a456e9b9f5898 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
-- 
2.45.0




[gentoo-dev] [PATCH 1/2] gnuconfig.eclass: add GNUCONFIG_DEPEND

2024-05-02 Thread Sam James
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 
---
 eclass/gnuconfig.eclass | 22 +++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/eclass/gnuconfig.eclass b/eclass/gnuconfig.eclass
index 0791798632cdb..df3c748676082 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 ...]
-- 
2.45.0




Re: [gentoo-dev] [PATCH] .github: Add pull request template

2024-05-02 Thread Sam James
Ionen Wolkens  writes:

> On Wed, May 01, 2024 at 03:32:21PM +0200, Michał Górny wrote:
>> The idea is to increase awareness of the AI policy, as well as other
>> rules, and to inform users before they submit a PR.
>
> Bit mixed feelings about this given checkboxes feel like unnecessary
> churn for routine contributors and is semi-redundant with the
> Signed-off-by.
>
> I think it's great for first-time/occasional contributors though.
>
> Having a AI-specific checkbox does feel kind of overkill when it won't
> concern the majority of contributors, albeit given how how hard the whole
> thing is pushed lately and that we have no real way to verify beside the
> user being made aware of it and certifying it...
>
> On a side-note, I have nothing against having .github in the tree. Just
> saying given I know not everyone is happy with that.

Indeed, the only line for me is if we were solely relying on it, e.g. if
we replaced all self-hosted CI with github actions CI or similar. I
don't see supplementary files for services we make use of, but don't
depend on, as a problem, as long as they're not some minor experiment.



Re: [gentoo-dev] [PATCH] .github: Add pull request template

2024-05-02 Thread Sam James
Michał Górny  writes:

> Signed-off-by: Michał Górny 
> ---
>  .github/pull_request_template.md | 12 
>  1 file changed, 12 insertions(+)
>  create mode 100644 .github/pull_request_template.md
>
> The idea is to increase awareness of the AI policy, as well as other
> rules, and to inform users before they submit a PR.
>
> Screenshots @ https://github.com/gentoo/gentoo/pull/36503
>
>
> diff --git a/.github/pull_request_template.md 
> b/.github/pull_request_template.md
> new file mode 100644
> index ..9e6fe061db11
> --- /dev/null
> +++ b/.github/pull_request_template.md
> @@ -0,0 +1,12 @@
> +
> +
> +---
> +
> +Please check all the boxes that apply:
> +
> +- [ ] I can submit this contribution in agreement with the [Copyright 
> Policy](https://www.gentoo.org/glep/glep-0076.html#certificate-of-origin).
> +- [ ] This contribution has not been created with the assistance of
> Natural Language Processing artificial intelligence tools, in
> accordance with [AI
> policy](https://wiki.gentoo.org/wiki/Project:Council/AI_policy).
> +- [ ] I have certified the above via adding a `Signed-off-by` line to 
> *every* commit in the pull request.
> +- [ ] I have run `pkgcheck scan --commits --net` to check for issues with my 
> commits.
> +
> +Please note that all boxes must be checked for the pull request to be merged.

I'm OK with the proposal as-is, but would be interested in hearing
suggestions to alleviate ulm's concern of developers feeling they must
tick every single box as well. But that might not be doable.

xgqt's comments wrt testing are interesting but maybe better with us
linking to a checklist instead, rather than something users have to
declare in the github PR. Not sure.

Anyway, thanks for this, I've wanted this for a while anyway as it's
more elegant than the Larry bot method. Glad you came around ;)

thanks,
sam



  1   2   3   4   5   6   7   8   9   >