Re: [gentoo-dev] [PATCH news] Add Python 3.9 news item

2021-04-29 Thread Wolfgang E. Sanyer
On Thu, Apr 29, 2021 at 5:00 PM Michał Górny  wrote:
>
> On Thu, 2021-04-29 at 14:44 +0200, Ulrich Mueller wrote:
> > > > > > > On Thu, 29 Apr 2021, Michał Górny wrote:
> >
> > > +Title: Python 3.9 to become the default target on 2021-06-01
> >
> > Title is longer than the maximum allowed by GLEP 42 (50 chars).
> >
> > > [...]
> >
> > > +If you have PYTHON_TARGETS or PYTHON_SINGLE_TARGET declared
> > > +in make.conf, it is strongly recommended to remove the declarations
> > > +and use package.use as presented above.  Use of make.conf to set
> > > flags
> > > +is strongly discouraged as it does not respect package defaults.
> >
> > These sentences are somewhat redundant with each other, at least the
> > "strongly recommended" / "strongly discouraged" part.
>
> Done and done.  The second sentence is meant to explain why it is
> discouraged.
>
> --
> Best regards,
> Michał Górny
>

Is this strongly discouraged across-the-board, or strictly for this
python stuff?

How strongly is it discouraged? The handbook doesn't seem to mention
anything about discouraging this practice, and indeed seems to
encourage it: 
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Base#Configuring_the_USE_variable



Re: [gentoo-dev] [PATCH news v2] Add Python 3.9 news item

2021-04-29 Thread Sam James



> On 29 Apr 2021, at 22:01, Michał Górny  wrote:
> 
> Signed-off-by: Michał Górny 
> ---
> .../2021-04-29-python3-9.en.txt   | 93 +++
> 1 file changed, 93 insertions(+)
> create mode 100644 2021-04-29-python3-9/2021-04-29-python3-9.en.txt
> 
> diff --git a/2021-04-29-python3-9/2021-04-29-python3-9.en.txt 
> b/2021-04-29-python3-9/2021-04-29-python3-9.en.txt
> new file mode 100644
> index 000..3075d72
> --- /dev/null
> +++ b/2021-04-29-python3-9/2021-04-29-python3-9.en.txt
> @@ -0,0 +1,93 @@
> +Title: Python 3.9 to become the default on 2021-06-01
> 

Thanks for working on this. I kept meaning to do one for 3.8 and then 3.9 got 
so close
that I felt a bit daft doing it.

> +
> +We are planning to switch the default Python target of Gentoo systems
> +on 2021-06-01, from Python 3.8 to Python 3.9.  If you have not changed
> +the values of PYTHON_TARGETS or PYTHON_SINGLE_TARGET, the change will
> +have immediate effect on your system and the package manager will try
> +to switch automatically on the next upgrade following the change.

(Add a new line here).

> +If you did change the values, prefer a safer approach or have problems
> +with the update, read on.
> +
> +Please note that the default upgrade method switches packages to the new
> +Python versions as they are rebuilt.  This means that all interdependent
> +packages have to support the new version for the upgrade to proceed,
> +and that some programs may temporarily fail to find their dependencies
> +throughout the upgrade (although programs that are already started
> +are unlikely to be affected).
> +
> +

I’d consider numbering or marking with a bullet point or ‘-‘ each of
the possible options, in order of likely usefulness. So, we’d do e.g.

1) If you’ve not set anything, just upgrade as normal and then depclean.

2) In order to have both Python implementations enabled temporarily for safety 
,…

[…]

But this isn’t required. It’s just about making it easier for people to see
what they need to do, and not misread it and then do silly things because
they just copied and pasted the stuff which looked right (it happens).

Let’s put all of the key information at the beginning, then the
configurability/tweaking can be later on.

> +If you wish to avoid changing Python targets at this moment, you can
> +force the old targets by setting your /etc/portage/package.use to e.g.:
> +
> +*/* PYTHON_TARGETS: -* python3_8
> +*/* PYTHON_SINGLE_TARGET: -* python3_8
> +
> +This will enforce Python 3.8 as the current target choice and block
> +any future updates.  However, please note that this solution will only
> +be suitable for a few more months and you will eventually need to
> +perform the migration.
> +
> +
> +If you wish to use a safer approach to the migration and temporarily
> +preserve the support for Python 3.8 and Python 3.9 simultaneously,
> +set /etc/portage/package.use to:
> +
> +*/* PYTHON_TARGETS: -* python3_8 python3_9
> +*/* PYTHON_SINGLE_TARGET: -* python3_8
> +
> +Afterwards, rebuild your system with emerge's --changed-use option or
> +equivalent.  This will cause your packages to gain Python 3.9 support
> +while preserving Python 3.8 support whenever possible.  Then, change
> +the second line to:
> +
> +*/* PYTHON_SINGLE_TARGET: -* python3_9
> +
> +This will switch packages that can not support two Python versions
> +simultaneously, to use Python 3.9.  Rebuild again.  Finally, switch
> +the first line to the final version:
> +
> +*/* PYTHON_TARGETS: -* python3_9
> +
> +The next --changed-use rebuild will remove Python 3.8 support from your
> +packages.
> +
> +
> +You can also switch to Python 3.9 earlier by setting:
> +
> +*/* PYTHON_TARGETS: -* python3_9
> +*/* PYTHON_SINGLE_TARGET: -* python3_9
> +
> +If you choose to follow this or the previous approach, you may want to
> +remove the package.use overrides after the switch or just leave them
> +in place to protect your system from the next automatic upgrade
> +of Python.
> +

“It is especially important you do not forget IF you choose to add this,
because it interferes with the natural rolling-with-the-defaults."

> +
> +The Python 3.8 cleanup requires that Python 3.8 is removed from complete
> +dependency trees in batch.  If some of the installed packages using
> +an older Python version are not triaged for the upgrade, the package
> +manager will throw dependency conflicts.  This makes it important that
> +the upgrade is carried via a --deep --changed-use @world upgrade,
> +as well as that any stray packages are removed prior to it, e.g.:
> +
> +emerge --depclean
> +emerge -1vUD @world
> +emerge --depclean
> +

Let’s put this right at the beginning.

> +
> +By the time of the switch, it is quite probable that Python 3.10 will
> +already be available in ~arch Gentoo.  Users wishing a more bleeding
> +edge experience may wish to switch to python3_10 target instead.
> +However, this is currently discouraged on stable 

[gentoo-dev] [PATCH news v2] Add Python 3.9 news item

2021-04-29 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 .../2021-04-29-python3-9.en.txt   | 93 +++
 1 file changed, 93 insertions(+)
 create mode 100644 2021-04-29-python3-9/2021-04-29-python3-9.en.txt

diff --git a/2021-04-29-python3-9/2021-04-29-python3-9.en.txt 
b/2021-04-29-python3-9/2021-04-29-python3-9.en.txt
new file mode 100644
index 000..3075d72
--- /dev/null
+++ b/2021-04-29-python3-9/2021-04-29-python3-9.en.txt
@@ -0,0 +1,93 @@
+Title: Python 3.9 to become the default on 2021-06-01
+Author: Michał Górny 
+Posted: 2021-04-29
+Revision: 1
+News-Item-Format: 2.0
+Display-If-Installed: dev-lang/python:3.7
+Display-If-Installed: dev-lang/python:3.8
+
+We are planning to switch the default Python target of Gentoo systems
+on 2021-06-01, from Python 3.8 to Python 3.9.  If you have not changed
+the values of PYTHON_TARGETS or PYTHON_SINGLE_TARGET, the change will
+have immediate effect on your system and the package manager will try
+to switch automatically on the next upgrade following the change.
+If you did change the values, prefer a safer approach or have problems
+with the update, read on.
+
+Please note that the default upgrade method switches packages to the new
+Python versions as they are rebuilt.  This means that all interdependent
+packages have to support the new version for the upgrade to proceed,
+and that some programs may temporarily fail to find their dependencies
+throughout the upgrade (although programs that are already started
+are unlikely to be affected).
+
+
+If you wish to avoid changing Python targets at this moment, you can
+force the old targets by setting your /etc/portage/package.use to e.g.:
+
+*/* PYTHON_TARGETS: -* python3_8
+*/* PYTHON_SINGLE_TARGET: -* python3_8
+
+This will enforce Python 3.8 as the current target choice and block
+any future updates.  However, please note that this solution will only
+be suitable for a few more months and you will eventually need to
+perform the migration.
+
+
+If you wish to use a safer approach to the migration and temporarily
+preserve the support for Python 3.8 and Python 3.9 simultaneously,
+set /etc/portage/package.use to:
+
+*/* PYTHON_TARGETS: -* python3_8 python3_9
+*/* PYTHON_SINGLE_TARGET: -* python3_8
+
+Afterwards, rebuild your system with emerge's --changed-use option or
+equivalent.  This will cause your packages to gain Python 3.9 support
+while preserving Python 3.8 support whenever possible.  Then, change
+the second line to:
+
+*/* PYTHON_SINGLE_TARGET: -* python3_9
+
+This will switch packages that can not support two Python versions
+simultaneously, to use Python 3.9.  Rebuild again.  Finally, switch
+the first line to the final version:
+
+*/* PYTHON_TARGETS: -* python3_9
+
+The next --changed-use rebuild will remove Python 3.8 support from your
+packages.
+
+
+You can also switch to Python 3.9 earlier by setting:
+
+*/* PYTHON_TARGETS: -* python3_9
+*/* PYTHON_SINGLE_TARGET: -* python3_9
+
+If you choose to follow this or the previous approach, you may want to
+remove the package.use overrides after the switch or just leave them
+in place to protect your system from the next automatic upgrade
+of Python.
+
+
+The Python 3.8 cleanup requires that Python 3.8 is removed from complete
+dependency trees in batch.  If some of the installed packages using
+an older Python version are not triaged for the upgrade, the package
+manager will throw dependency conflicts.  This makes it important that
+the upgrade is carried via a --deep --changed-use @world upgrade,
+as well as that any stray packages are removed prior to it, e.g.:
+
+emerge --depclean
+emerge -1vUD @world
+emerge --depclean
+
+
+By the time of the switch, it is quite probable that Python 3.10 will
+already be available in ~arch Gentoo.  Users wishing a more bleeding
+edge experience may wish to switch to python3_10 target instead.
+However, this is currently discouraged on stable as it will require
+unmasking multiple ~arch packages as  they gain Python 3.10 support.
+
+If you have PYTHON_TARGETS or PYTHON_SINGLE_TARGET declared
+in make.conf, it is strongly recommended to remove the declarations
+and use package.use as presented above.  Use of make.conf to set flags
+is discouraged as it does not respect package defaults.
-- 
2.31.1




Re: [gentoo-dev] [PATCH news] Add Python 3.9 news item

2021-04-29 Thread Michał Górny
On Thu, 2021-04-29 at 09:08 -0700, Christopher Head wrote:
> On Thu, 29 Apr 2021 13:43:41 +0200
> Michał Górny  wrote:
> 
> > +If you wish to use a safer approach to the migration and temporarily
> > +preserve the support for Python 3.7 and Python 3.8 simultaneously,
> > +set /etc/portage/package.use to:
> 
> This should be talking about preserving support for 3.8 while adding
> 3.9, right? (likewise the next handful of lines)
> 
> > +You can also switch to Python 3.8 earlier by setting:
> 
> Likewise, 3.9 here?
> 
> > +The Python 3.7 cleanup requires that Python 3.7 is removed from
> 
> 3.8 here?

Good catch.  I've fixed all the versions now, I think.

-- 
Best regards,
Michał Górny





Re: [gentoo-dev] [PATCH news] Add Python 3.9 news item

2021-04-29 Thread Michał Górny
On Thu, 2021-04-29 at 14:44 +0200, Ulrich Mueller wrote:
> > > > > > On Thu, 29 Apr 2021, Michał Górny wrote:
> 
> > +Title: Python 3.9 to become the default target on 2021-06-01
> 
> Title is longer than the maximum allowed by GLEP 42 (50 chars).
> 
> > [...]
> 
> > +If you have PYTHON_TARGETS or PYTHON_SINGLE_TARGET declared
> > +in make.conf, it is strongly recommended to remove the declarations
> > +and use package.use as presented above.  Use of make.conf to set
> > flags
> > +is strongly discouraged as it does not respect package defaults.
> 
> These sentences are somewhat redundant with each other, at least the
> "strongly recommended" / "strongly discouraged" part.

Done and done.  The second sentence is meant to explain why it is
discouraged.

-- 
Best regards,
Michał Górny





[gentoo-dev] last-rite: some java stuff

2021-04-29 Thread Miroslav Šulc

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786888
dev-java/zeus-jscl

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786864
dev-java/sun-jmx
java-virtuals/jmx
dev-util/jconfig

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786843
dev-java/sun-httpserver-bin

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786840
dev-java/stax-ex
dev-java/xmlstreambuffer

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786831
dev-java/stax2-api

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786756
dev-java/nekohtml
dev-java/boilerpipe

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786786
dev-java/spymemcached

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786783
dev-java/skinlf

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786780
dev-java/sblim-cim-client

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786774
dev-java/radeox

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bugs: https://bugs.gentoo.org/786771
dev-java/prefuse

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786768
dev-java/picocontainer

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786753
dev-java/msv
dev-java/relaxngcc
dev-java/wstx
dev-java/jettison

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786744
dev-java/minlog

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786714
dev-java/libmatthew-java

# Miroslav Šulc  (2021-04-28)
# no consumers
# removal in 30 days
# see bug: https://bugs.gentoo.org/786711
dev-java/ldapsdk




Re: [gentoo-dev] [PATCH news] Add Python 3.9 news item

2021-04-29 Thread Christopher Head
On Thu, 29 Apr 2021 13:43:41 +0200
Michał Górny  wrote:

> +If you wish to use a safer approach to the migration and temporarily
> +preserve the support for Python 3.7 and Python 3.8 simultaneously,
> +set /etc/portage/package.use to:

This should be talking about preserving support for 3.8 while adding
3.9, right? (likewise the next handful of lines)

> +You can also switch to Python 3.8 earlier by setting:

Likewise, 3.9 here?

> +The Python 3.7 cleanup requires that Python 3.7 is removed from

3.8 here?
-- 
Christopher Head


pgp_6ql8obmSt.pgp
Description: OpenPGP digital signature


[gentoo-dev] [PATCH v2] Transitional changes to the kernel-2 eclass to support future CPU OPT

2021-04-29 Thread mpagano
From: Mike Pagano 

Thanks, Ulm, for the review. I have modified the code as suggested.

The CPU OPT patch now contains gcc ver checks within
the patch itself. This transitional change is to start supporting
just that patch while trying not to break the older versions.

The target state eclass code will *only* need the three line
gcc version check.  We should be able to slowly remove the
legacy code as we stabilize kernels and remove old ones from the tree.

This will put cpu opt patch support in a much more maintainable state.


Signed-off-by: Mike Pagano 
---
 eclass/kernel-2.eclass | 29 +++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index 67ad4acc1..f1f23f6a0 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -1241,8 +1241,32 @@ unipatch() {
local GCC_MAJOR_VER=$(gcc-major-version)
local GCC_MINOR_VER=$(gcc-minor-version)
 
-   # optimization patch for gcc < 8.X and kernel > 4.13
-   if kernel_is ge 4 13 ; then 
+   # this section should be the target state to handle the 
cpu opt
+   # patch for kernels > 4.19.189, 5.4.115, 5.10.33 and 
5.11.17,
+   # 5.12.0 and gcc >= 9  The patch now handles the
+   # gcc version enabled on the system through the Kconfig 
file as
+   # 'depends'. The legacy section can hopefully be 
retired in the future
+   # Note the patch for 4.19-5.8 version are the same and 
the patch for 
+   # 5.8+ version is the same
+   # eventually we can remove everything except the gcc 
ver <9 check
+   # based on stablization, time, kernel removals or a 
combo of all three
+   if ( kernel_is eq 4 19 && kernel_is gt 4 19 189 ) ||
+   ( kernel_is eq 5 4 && kernel_is gt 5 4 115 ) ||
+   ( kernel_is eq 5 10 && kernel_is gt 5 10 33 ) ||
+   ( kernel_is eq 5 11 && kernel_is gt 5 11 17 ) ||
+   ( kernel_is eq 5 12 && kernel_is gt 5 12 0 ); 
then
+   UNIPATCH_DROP+=" 
5010_enable-additional-cpu-optimizations-for-gcc.patch"
+   UNIPATCH_DROP+=" 
5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"
+   UNIPATCH_DROP+=" 
5011_enable-cpu-optimizations-for-gcc8.patch"
+   UNIPATCH_DROP+=" 
5012_enable-cpu-optimizations-for-gcc91.patch"
+   UNIPATCH_DROP+=" 
5013_enable-cpu-optimizations-for-gcc10.patch"
+   if [[ ${GCC_MAJOR_VER} -lt 9 ]]; then
+   UNIPATCH_DROP+=" 
5010_enable-cpu-optimizations-universal.patch"
+   fi
+   # this legacy section should be targeted for 
removal
+   # optimization patch for gcc < 8.X and kernel > 
4.13 and <  4.19
+   elif kernel_is ge 4 13; then
+   UNIPATCH_DROP+=" 
5010_enable-cpu-optimizations-universal.patch"
if [[ ${GCC_MAJOR_VER} -lt 8 ]] && [[ 
${GCC_MAJOR_VER} -gt 4 ]]; then
UNIPATCH_DROP+=" 
5011_enable-cpu-optimizations-for-gcc8.patch"
UNIPATCH_DROP+=" 
5012_enable-cpu-optimizations-for-gcc91.patch"
@@ -1272,6 +1296,7 @@ unipatch() {
UNIPATCH_DROP+=" 
5013_enable-cpu-optimizations-for-gcc10.patch"
fi
else
+   UNIPATCH_DROP+=" 
5010_enable-cpu-optimizations-universal.patch"
UNIPATCH_DROP+=" 
5010_enable-additional-cpu-optimizations-for-gcc.patch"
UNIPATCH_DROP+=" 
5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"
UNIPATCH_DROP+=" 
5011_enable-cpu-optimizations-for-gcc8.patch"
-- 
2.26.3




Re: [gentoo-dev] [PATCH] Transitional changes to the kernel-2 eclass to support future CPU OPT

2021-04-29 Thread Ulrich Mueller
> On Thu, 29 Apr 2021, mpagano  wrote:

> --- a/eclass/kernel-2.eclass
> +++ b/eclass/kernel-2.eclass
> @@ -1241,8 +1241,32 @@ unipatch() {
>   local GCC_MAJOR_VER=$(gcc-major-version)
>   local GCC_MINOR_VER=$(gcc-minor-version)
>  
> - # optimization patch for gcc < 8.X and kernel > 4.13
> - if kernel_is ge 4 13 ; then 
> + # this section should be the target state to handle the 
> cpu opt
> + # patch for kernels > 4.19.189, 5.4.115, 5.10.33 and 
> 5.11.17,
> + # 5.12.0 and gcc >= 9  The patch now handles the
> + # gcc version enabled on the system through the Kconfig 
> file as
> + # 'depends'. The legacy section can hopefully be 
> retired in the future
> + # Note the patch for 4.19-5.8 version are the same and 
> the patch for 
> + # 5.8+ version is the same
> + # eventually we can remove everything except the gcc 
> ver <9 check
> + # based on stablization, time, kernel removals or a 
> combo of all three
> + if ((kernel_is eq 4 19 && kernel_is gt 4 19 189) ||
> + (kernel_is eq 5 4 && kernel_is gt 5 4 115) ||
> + (kernel_is eq 5 10 && kernel_is gt 5 10 33) ||
> + (kernel_is eq 5 11 && kernel_is gt 5 11 17) ||
> + (kernel_is eq 5 12 && kernel_is gt 5 12 0)); 
> then

Looks like the outermost pair of parentheses ( ) isn't needed here.

Also, when writing nested parentheses without a space, bash may
sometimes (but not always!) interpret them as an arithmetic expression.
This can cause unexpected results:

   $ ((true) && (true)); echo $?
   0
   $ ( (true && true) ); echo $?
   0
   $ ((true && true)); echo $?
   1
   $ true=42
   $ ((true && true)); echo $?
   0

> [...]


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH news] Add Python 3.9 news item

2021-04-29 Thread Ulrich Mueller
> On Thu, 29 Apr 2021, Michał Górny wrote:

> +Title: Python 3.9 to become the default target on 2021-06-01

Title is longer than the maximum allowed by GLEP 42 (50 chars).

> [...]

> +If you have PYTHON_TARGETS or PYTHON_SINGLE_TARGET declared
> +in make.conf, it is strongly recommended to remove the declarations
> +and use package.use as presented above.  Use of make.conf to set flags
> +is strongly discouraged as it does not respect package defaults.

These sentences are somewhat redundant with each other, at least the
"strongly recommended" / "strongly discouraged" part.


signature.asc
Description: PGP signature


[gentoo-dev] [PATCH] Transitional changes to the kernel-2 eclass to support future CPU OPT

2021-04-29 Thread mpagano
From: Mike Pagano 

The CPU OPT patch now contains gcc ver checks within
the patch itself. This transitional change is to start supporting
just that patch while trying not to break the older versions.

The target state eclass code will *only* need the three line
gcc version check.  We should be able to slowly remove the 
legacy code as we stabilize kernels and remove old ones from the tree.

This will put cpu opt patch support in a much more maintainable state.

---
 eclass/kernel-2.eclass | 29 +++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index 67ad4acc1..f676e8421 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -1241,8 +1241,32 @@ unipatch() {
local GCC_MAJOR_VER=$(gcc-major-version)
local GCC_MINOR_VER=$(gcc-minor-version)
 
-   # optimization patch for gcc < 8.X and kernel > 4.13
-   if kernel_is ge 4 13 ; then 
+   # this section should be the target state to handle the 
cpu opt
+   # patch for kernels > 4.19.189, 5.4.115, 5.10.33 and 
5.11.17,
+   # 5.12.0 and gcc >= 9  The patch now handles the
+   # gcc version enabled on the system through the Kconfig 
file as
+   # 'depends'. The legacy section can hopefully be 
retired in the future
+   # Note the patch for 4.19-5.8 version are the same and 
the patch for 
+   # 5.8+ version is the same
+   # eventually we can remove everything except the gcc 
ver <9 check
+   # based on stablization, time, kernel removals or a 
combo of all three
+   if ((kernel_is eq 4 19 && kernel_is gt 4 19 189) ||
+   (kernel_is eq 5 4 && kernel_is gt 5 4 115) ||
+   (kernel_is eq 5 10 && kernel_is gt 5 10 33) ||
+   (kernel_is eq 5 11 && kernel_is gt 5 11 17) ||
+   (kernel_is eq 5 12 && kernel_is gt 5 12 0)); 
then
+   UNIPATCH_DROP+=" 
5010_enable-additional-cpu-optimizations-for-gcc.patch"
+   UNIPATCH_DROP+=" 
5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"
+   UNIPATCH_DROP+=" 
5011_enable-cpu-optimizations-for-gcc8.patch"
+   UNIPATCH_DROP+=" 
5012_enable-cpu-optimizations-for-gcc91.patch"
+   UNIPATCH_DROP+=" 
5013_enable-cpu-optimizations-for-gcc10.patch"
+   if [[ ${GCC_MAJOR_VER} -lt 9 ]]; then
+   UNIPATCH_DROP+=" 
5010_enable-cpu-optimizations-universal.patch"
+   fi
+   # this legacy section should be targeted for 
removal
+   # optimization patch for gcc < 8.X and kernel > 
4.13 and <  4.19
+   elif kernel_is ge 4 13; then
+   UNIPATCH_DROP+=" 
5010_enable-cpu-optimizations-universal.patch"
if [[ ${GCC_MAJOR_VER} -lt 8 ]] && [[ 
${GCC_MAJOR_VER} -gt 4 ]]; then
UNIPATCH_DROP+=" 
5011_enable-cpu-optimizations-for-gcc8.patch"
UNIPATCH_DROP+=" 
5012_enable-cpu-optimizations-for-gcc91.patch"
@@ -1272,6 +1296,7 @@ unipatch() {
UNIPATCH_DROP+=" 
5013_enable-cpu-optimizations-for-gcc10.patch"
fi
else
+   UNIPATCH_DROP+=" 
5010_enable-cpu-optimizations-universal.patch"
UNIPATCH_DROP+=" 
5010_enable-additional-cpu-optimizations-for-gcc.patch"
UNIPATCH_DROP+=" 
5010_enable-additional-cpu-optimizations-for-gcc-4.9.patch"
UNIPATCH_DROP+=" 
5011_enable-cpu-optimizations-for-gcc8.patch"
-- 
2.26.3




[gentoo-dev] [PATCH news] Add Python 3.9 news item

2021-04-29 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 .../2021-04-29-python3-9.en.txt   | 92 +++
 1 file changed, 92 insertions(+)
 create mode 100644 2021-04-29-python3-9/2021-04-29-python3-9.en.txt

diff --git a/2021-04-29-python3-9/2021-04-29-python3-9.en.txt 
b/2021-04-29-python3-9/2021-04-29-python3-9.en.txt
new file mode 100644
index 000..29fdc9d
--- /dev/null
+++ b/2021-04-29-python3-9/2021-04-29-python3-9.en.txt
@@ -0,0 +1,92 @@
+Title: Python 3.9 to become the default target on 2021-06-01
+Author: Michał Górny 
+Posted: 2021-04-29
+Revision: 1
+News-Item-Format: 2.0
+Display-If-Installed: dev-lang/python:3.7
+Display-If-Installed: dev-lang/python:3.8
+
+We are planning to switch the default Python target of Gentoo systems
+on 2021-06-01, from Python 3.8 to Python 3.9.  If you have not changed
+the values of PYTHON_TARGETS or PYTHON_SINGLE_TARGET, the change will
+have immediate effect on your system and the package manager will try
+to switch automatically on the next upgrade following the change.
+If you did change the values, prefer a safer approach or have problems
+with the update, read on.
+
+Please note that the default upgrade method switches packages to the new
+Python versions as they are rebuilt.  This means that all interdependent
+packages have to support the new version for the upgrade to proceed,
+and that some programs may temporarily fail to find their dependencies
+throughout the upgrade (although programs that are already started
+are unlikely to be affected).
+
+
+If you wish to avoid changing Python targets at this moment, you can
+force the old targets by setting your /etc/portage/package.use to e.g.:
+
+*/* PYTHON_TARGETS: -* python3_8
+*/* PYTHON_SINGLE_TARGET: -* python3_8
+
+This will enforce Python 3.8 as the current target choice and block
+any future updates.  However, please note that this solution will only
+be suitable for a few more months and you will eventually need to
+perform the migration.
+
+
+If you wish to use a safer approach to the migration and temporarily
+preserve the support for Python 3.7 and Python 3.8 simultaneously,
+set /etc/portage/package.use to:
+
+*/* PYTHON_TARGETS: -* python3_7 python3_8
+*/* PYTHON_SINGLE_TARGET: -* python3_7
+
+Afterwards, rebuild your system with emerge's --changed-use option or
+equivalent.  This will cause your packages to gain Python 3.8 support
+while preserving Python 3.7 support whenever possible.  Then, change
+the second line to:
+
+*/* PYTHON_SINGLE_TARGET: -* python3_8
+
+This will switch packages that can not support two Python versions
+simultaneously, to use Python 3.8.  Rebuild again.  Finally, switch
+the first line to the final form:
+
+*/* PYTHON_TARGETS: -* python3_8
+
+The next --changed-use rebuild will remove Python 3.7 support from your
+packages.
+
+
+You can also switch to Python 3.8 earlier by setting:
+
+*/* PYTHON_TARGETS: -* python3_8
+*/* PYTHON_SINGLE_TARGET: -* python3_8
+
+If you choose to follow this or the previous approach, you may want to
+remove the package.use overrides after the switch or just leave them
+in place to protect your system from the next automatic upgrade
+of Python.
+
+
+The Python 3.7 cleanup requires that Python 3.7 is removed from complete
+dependency trees in batch.  If some of the installed packages using
+an older Python version are not triaged for the upgrade, the package
+manager will throw dependency conflicts.  This makes it important that
+the upgrade is carried via a --deep --changed-use @world upgrade,
+as well as that any stray packages are removed prior to it, e.g.:
+
+emerge --depclean
+emerge -1vUD @world
+emerge --depclean
+
+
+By the time of the switch, it is quite probable that Python 3.10 will
+already be available in ~arch Gentoo.  Users wishing a more bleeding
+edge experience may wish to switch to python3_10 target instead.
+
+
+If you have PYTHON_TARGETS or PYTHON_SINGLE_TARGET declared
+in make.conf, it is strongly recommended to remove the declarations
+and use package.use as presented above.  Use of make.conf to set flags
+is strongly discouraged as it does not respect package defaults.
-- 
2.31.1




[gentoo-dev] Last rites: dev-python/pytest-testmon

2021-04-29 Thread Michał Górny
# Michał Górny  (2021-04-29)
# The most recent release is still broken with current
# dev-python/coverage.  Inactive downstream maintainer.  No revdeps.
# Removal on 2021-05-29.  Bug #78.
dev-python/pytest-testmon

-- 
Best regards,
Michał Górny





[gentoo-dev] last-rite: media-sound/bladeenc

2021-04-29 Thread Miroslav Šulc

# Miroslav Šulc  (2021-04-28)
# security issues, last release in 2004
# removal in 30 days
# see bug: https://bugs.gentoo.org/631394
media-sound/bladeenc