[gentoo-dev] last-rite app-emacs/windows and reverse dependencies (Re: Last-rite app-emacs/windows)

2024-04-25 Thread Maciej Barć

Mask "app-emacs/windows" and reverse dependencies.
Very old package failing to compile with modern GNU Emacs.
Additionally all 3 packages do not have any definitive repository nor VCS.
Open bugs: #930655
Removal on 2024-05-25.

app-emacs/basic-toolkit
app-emacs/buffer-extension
app-emacs/windows

W dniu 25.04.2024 o 18:21, Maciej Barć pisze:

Very old package failing to compile with modern GNU Emacs.
Open bugs: #930655
Removal on 2024-05-25.

app-emacs/windows



--
Have a great day!

~ Maciej XGQT Barć

https://wiki.gentoo.org/wiki/User:Xgqt
9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C


OpenPGP_0x14D74A1F43A6AC3C.asc
Description: OpenPGP public key


OpenPGP_signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Last-rite app-emacs/windows

2024-04-25 Thread Maciej Barć

Very old package failing to compile with modern GNU Emacs.
Open bugs: #930655
Removal on 2024-05-25.

app-emacs/windows

--
Have a great day!

~ Maciej XGQT Barć

https://wiki.gentoo.org/wiki/User:Xgqt
9B0A 4C5D 02A3 B43C 9D6F D6B1 14D7 4A1F 43A6 AC3C


OpenPGP_0x14D74A1F43A6AC3C.asc
Description: OpenPGP public key


OpenPGP_signature.asc
Description: OpenPGP digital signature


[gentoo-dev] [PATCH 3/3] A check that the compiler used to build ada is ada and not newer

2024-04-25 Thread Alfredo Tupone
Maybe a more detailed check can be done, as some version can be built with 
newer compiler
Could be envisaged to switch the compiler automatically "gcc-config x" instead 
of die

Signed-off-by: Alfredo Tupone 
---
 eclass/toolchain.eclass | 12 
 1 file changed, 12 insertions(+)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index f8e06fa39884..ce665b3c594b 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -540,30 +540,42 @@ get_gcc_src_uri() {
 
echo "${GCC_SRC_URI}"
 }
 
 SRC_URI=$(get_gcc_src_uri)
 
 #>> pkg_pretend <<
 
 toolchain_pkg_pretend() {
if ! _tc_use_if_iuse cxx ; then
_tc_use_if_iuse go && \
ewarn 'Go requires a C++ compiler, disabled due to 
USE="-cxx"'
_tc_use_if_iuse objc++ && \
ewarn 'Obj-C++ requires a C++ compiler, disabled due to 
USE="-cxx"'
fi
+   if _tc_use_if_iuse ada ; then
+   if ! _tc_use_if_iuse cxx ; then
+   ewarn 'Ada requires a C++ compiler, disabled due to 
USE="-cxx"'
+   else
+   prevAdaSLOT=$(gnatmake -v 2>&1 | sed -n '2 p' | sed 
's:^[^0-9]*\([0-9]\+\).*:\1:' | sed 's:2021:10:' )
+   if [[ -z "${prevAdaSLOT}" ]] ; then
+   die 'Ada requires an Ada compiler'
+   elif [[ ${SLOT} -lt ${prevAdaSLOT} ]] ; then
+   die 'Ada cannot be built with a newer compiler'
+   fi
+   fi
+   fi
 }
 
 #>> pkg_setup <<
 
 toolchain_pkg_setup() {
# We don't want to use the installed compiler's specs to build gcc
unset GCC_SPECS
 
# bug #265283
unset LANGUAGES
 
# See 
https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html
# Avoid really confusing logs from subconfigure spam, makes logs far
# more legible.
MAKEOPTS="--output-sync=line ${MAKEOPTS}"
-- 
2.43.2




[gentoo-dev] [PATCH 2/3] To build ada we need a c++ compiler too

2024-04-25 Thread Alfredo Tupone
Signed-off-by: Alfredo Tupone 
---
 eclass/toolchain.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index fd820f60f45d..f8e06fa39884 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2495,31 +2495,31 @@ should_we_gcc_config() {
 #
 # Also add a hook so special ebuilds (kgcc64) can control which languages
 # exactly get enabled
 gcc-lang-supported() {
grep ^language=\"${1}\" "${S}"/gcc/*/config-lang.in > /dev/null || 
return 1
[[ -z ${TOOLCHAIN_ALLOWED_LANGS} ]] && return 0
has $1 ${TOOLCHAIN_ALLOWED_LANGS}
 }
 
 _tc_use_if_iuse() {
in_iuse $1 && use $1
 }
 
 is_ada() {
gcc-lang-supported ada || return 1
-   _tc_use_if_iuse ada
+   _tc_use_if_iuse cxx && _tc_use_if_iuse ada
 }
 
 is_cxx() {
gcc-lang-supported 'c++' || return 1
_tc_use_if_iuse cxx
 }
 
 is_d() {
gcc-lang-supported d || return 1
_tc_use_if_iuse d
 }
 
 is_f77() {
gcc-lang-supported f77 || return 1
_tc_use_if_iuse fortran
-- 
2.43.2




[gentoo-dev] [PATCH 1/3] To make "tc_has_feature ada" actually work

2024-04-25 Thread Alfredo Tupone
Signed-off-by: Alfredo Tupone 
---
 eclass/toolchain.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a5d4345e7fbf..fd820f60f45d 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -288,31 +288,31 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
IUSE+=" objc-gc" TC_FEATURES+=( objc-gc )
IUSE+=" libssp objc++"
 
# Stop forcing openmp on by default in the eclass. Gradually phase it 
out.
# See bug #890999.
if tc_version_is_at_least 13.0.0_pre20221218 ; then
IUSE+=" openmp"
else
IUSE+=" +openmp"
fi
 
IUSE+=" fixed-point"
IUSE+=" go"
IUSE+=" +sanitize"  TC_FEATURES+=( sanitize )
IUSE+=" graphite" TC_FEATURES+=( graphite )
-   IUSE+=" ada"
+   IUSE+=" ada" TC_FEATURES+=( ada )
IUSE+=" vtv"
IUSE+=" jit"
IUSE+=" +pie +ssp pch"
 
IUSE+=" systemtap" TC_FEATURES+=( systemtap )
 
tc_version_is_at_least 9.0 && IUSE+=" d" TC_FEATURES+=( d )
tc_version_is_at_least 9.1 && IUSE+=" lto"
tc_version_is_at_least 10 && IUSE+=" cet"
tc_version_is_at_least 10 && IUSE+=" zstd" TC_FEATURES+=( zstd )
tc_version_is_at_least 11 && IUSE+=" valgrind" TC_FEATURES+=( valgrind )
tc_version_is_at_least 11 && IUSE+=" custom-cflags"
tc_version_is_at_least 12 && IUSE+=" ieee-long-double"
tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" default-znow"
tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" 
default-stack-clash-protection"
-- 
2.43.2




Re: [gentoo-dev] default php-ext status

2024-04-25 Thread Michael Orlitzky
On Tue, 2024-04-23 at 13:05 +0200, Jaco Kroon wrote:
> but how do we handle 
> users making manual additions/modifications to /etc/php/ or have some 
> form of "fsck" for that?)

We'd have to use a new location that doesn't collide with anything that
the user might edit, like /etc/php/*/ext-eselect, the contents of which
would then be included into the active config.

The rest of the design sounds reasonable, but I would caution you to
take it one step at a time. For now, managing extensions is a matter of
editing one-line text files under /etc. They can be stored in git and
don't require any special tooling. Updates are protected by
CONFIG_PROTECT. Aside from the issue that started this thread, it works
pretty well.

Having an eselect-foo that is tied to certain versions of packages is
no fun. To some extent, eselect-php is like this. If we want to add a
new major version of php, eselect-php needs to know about it.
Conversely, if we want to change some aspect of eselect-php, then all
versions of php need to tolerate it. You can put blockers in the
ebuilds, or maintain compatibility until it's no longer needed (years,
for PHP), but no matter what you do it's more work than if you didn't
have to do it.

In any case, the default for the eclass will have to switch to
extensions being off-by-default. If you want to dive in to this, I
would suggest doing that first, and then giving it a month or so to
decide whether or not you still care. IMO writing a new eselect script
will be a lot of work for a little gain at that point.




Re: [gentoo-dev] Subject: [PATCH] toolchain.eclass: ada related changes

2024-04-25 Thread Sam James
Alfredo Tupone  writes:

> Having received no comments, I would like to add this changes to
> toolchain.eclass
>
> This is less intrusive.
>
> The compiler check that was in place in the original email maybe is
> distruptive. It was checking that the used compiler is ada and version
> is less or equal.
>
> I saw that some gcc versions can be build with a newer compiler. IIRC
> gcc-13 can build gcc-12 but gcc-11 cannot be built with gcc-12
>
>

I don't really get the point in this change, though, if it's purely
the diff quoted below. I don't see a commit message either.

Please send another version with `git-send-email` with a full commit
message to explain what you're doing here and why?

(added missing toolchain@ CC too)

> diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
> index a5d4345e7fbf..23c57353d702 100644
> --- a/eclass/toolchain.eclass
> +++ b/eclass/toolchain.eclass
> @@ -288,38 +288,38 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
>   IUSE+=" objc-gc" TC_FEATURES+=( objc-gc )
>   IUSE+=" libssp objc++"
>  
>   # Stop forcing openmp on by default in the eclass. Gradually phase it 
> out.
>   # See bug #890999.
>   if tc_version_is_at_least 13.0.0_pre20221218 ; then
>   IUSE+=" openmp"
>   else
>   IUSE+=" +openmp"
>   fi
>  
>   IUSE+=" fixed-point"
>   IUSE+=" go"
>   IUSE+=" +sanitize"  TC_FEATURES+=( sanitize )
>   IUSE+=" graphite" TC_FEATURES+=( graphite )
> - IUSE+=" ada"
>   IUSE+=" vtv"
>   IUSE+=" jit"
>   IUSE+=" +pie +ssp pch"
>  
>   IUSE+=" systemtap" TC_FEATURES+=( systemtap )
>  
>   tc_version_is_at_least 9.0 && IUSE+=" d" TC_FEATURES+=( d )
> + tc_version_is_at_least 9.0 && IUSE+=" ada" TC_FEATURES+=( ada )
>   tc_version_is_at_least 9.1 && IUSE+=" lto"
>   tc_version_is_at_least 10 && IUSE+=" cet"
>   tc_version_is_at_least 10 && IUSE+=" zstd" TC_FEATURES+=( zstd )
>   tc_version_is_at_least 11 && IUSE+=" valgrind" TC_FEATURES+=( valgrind )
>   tc_version_is_at_least 11 && IUSE+=" custom-cflags"
>   tc_version_is_at_least 12 && IUSE+=" ieee-long-double"
>   tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" default-znow"
>   tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" 
> default-stack-clash-protection"
>   tc_version_is_at_least 13.0.0_pre20221218 ${PV} && IUSE+=" modula2"
>   # See https://gcc.gnu.org/pipermail/gcc-patches/2023-April/615944.html
>   # and 
> https://rust-gcc.github.io/2023/04/24/gccrs-and-gcc13-release.html for why
>   # it was disabled in 13.
>   tc_version_is_at_least 14.0.0_pre20230423 ${PV} && IUSE+=" rust"
>  fi
>  
> @@ -2495,31 +2495,31 @@ should_we_gcc_config() {
>  #
>  # Also add a hook so special ebuilds (kgcc64) can control which languages
>  # exactly get enabled
>  gcc-lang-supported() {
>   grep ^language=\"${1}\" "${S}"/gcc/*/config-lang.in > /dev/null || 
> return 1
>   [[ -z ${TOOLCHAIN_ALLOWED_LANGS} ]] && return 0
>   has $1 ${TOOLCHAIN_ALLOWED_LANGS}
>  }
>  
>  _tc_use_if_iuse() {
>   in_iuse $1 && use $1
>  }
>  
>  is_ada() {
>   gcc-lang-supported ada || return 1
> - _tc_use_if_iuse ada
> + _tc_use_if_iuse cxx && _tc_use_if_iuse ada
>  }
>  
>  is_cxx() {
>   gcc-lang-supported 'c++' || return 1
>   _tc_use_if_iuse cxx
>  }
>  
>  is_d() {
>   gcc-lang-supported d || return 1
>   _tc_use_if_iuse d
>  }
>  
>  is_f77() {
>   gcc-lang-supported f77 || return 1
>   _tc_use_if_iuse fortran



Re: [gentoo-dev] Subject: [PATCH] toolchain.eclass: ada related changes

2024-04-25 Thread Alfredo Tupone
Having received no comments, I would like to add this changes to
toolchain.eclass

This is less intrusive.

The compiler check that was in place in the original email maybe is
distruptive. It was checking that the used compiler is ada and version
is less or equal.

I saw that some gcc versions can be build with a newer compiler. IIRC
gcc-13 can build gcc-12 but gcc-11 cannot be built with gcc-12


diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index a5d4345e7fbf..23c57353d702 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -288,38 +288,38 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then
IUSE+=" objc-gc" TC_FEATURES+=( objc-gc )
IUSE+=" libssp objc++"
 
# Stop forcing openmp on by default in the eclass. Gradually phase it 
out.
# See bug #890999.
if tc_version_is_at_least 13.0.0_pre20221218 ; then
IUSE+=" openmp"
else
IUSE+=" +openmp"
fi
 
IUSE+=" fixed-point"
IUSE+=" go"
IUSE+=" +sanitize"  TC_FEATURES+=( sanitize )
IUSE+=" graphite" TC_FEATURES+=( graphite )
-   IUSE+=" ada"
IUSE+=" vtv"
IUSE+=" jit"
IUSE+=" +pie +ssp pch"
 
IUSE+=" systemtap" TC_FEATURES+=( systemtap )
 
tc_version_is_at_least 9.0 && IUSE+=" d" TC_FEATURES+=( d )
+   tc_version_is_at_least 9.0 && IUSE+=" ada" TC_FEATURES+=( ada )
tc_version_is_at_least 9.1 && IUSE+=" lto"
tc_version_is_at_least 10 && IUSE+=" cet"
tc_version_is_at_least 10 && IUSE+=" zstd" TC_FEATURES+=( zstd )
tc_version_is_at_least 11 && IUSE+=" valgrind" TC_FEATURES+=( valgrind )
tc_version_is_at_least 11 && IUSE+=" custom-cflags"
tc_version_is_at_least 12 && IUSE+=" ieee-long-double"
tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" default-znow"
tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" 
default-stack-clash-protection"
tc_version_is_at_least 13.0.0_pre20221218 ${PV} && IUSE+=" modula2"
# See https://gcc.gnu.org/pipermail/gcc-patches/2023-April/615944.html
# and 
https://rust-gcc.github.io/2023/04/24/gccrs-and-gcc13-release.html for why
# it was disabled in 13.
tc_version_is_at_least 14.0.0_pre20230423 ${PV} && IUSE+=" rust"
 fi
 
@@ -2495,31 +2495,31 @@ should_we_gcc_config() {
 #
 # Also add a hook so special ebuilds (kgcc64) can control which languages
 # exactly get enabled
 gcc-lang-supported() {
grep ^language=\"${1}\" "${S}"/gcc/*/config-lang.in > /dev/null || 
return 1
[[ -z ${TOOLCHAIN_ALLOWED_LANGS} ]] && return 0
has $1 ${TOOLCHAIN_ALLOWED_LANGS}
 }
 
 _tc_use_if_iuse() {
in_iuse $1 && use $1
 }
 
 is_ada() {
gcc-lang-supported ada || return 1
-   _tc_use_if_iuse ada
+   _tc_use_if_iuse cxx && _tc_use_if_iuse ada
 }
 
 is_cxx() {
gcc-lang-supported 'c++' || return 1
_tc_use_if_iuse cxx
 }
 
 is_d() {
gcc-lang-supported d || return 1
_tc_use_if_iuse d
 }
 
 is_f77() {
gcc-lang-supported f77 || return 1
_tc_use_if_iuse fortran