[gentoo-dev] Packages up for grabs: x11-misc/xplanet

2021-04-07 Thread Jonas Stein

Dear all

the following packages are up for grabs after dropping
desktop-misc:

x11-misc/xplanet
https://packages.gentoo.org/packages/x11-misc/xplanet


Upstream fixed our bug recently:
https://bugs.gentoo.org/742761

Do you remember xplanet?
http://xplanet.sourceforge.net/Gallery/

Who wants to take care?

--
Best,
Jonas



Re: [gentoo-dev] [PATCH] gnustep-base.eclass: Limit SUPPORTED_EAPIS to [5-7], drop eutils

2021-04-07 Thread Bernard Cafarelli
Le Wed, 07 Apr 2021 00:16:26 +0200
Andreas Sturmlechner  a écrit:

> Just some cheap fixes while flag-o-matic.eclass causes cache-regen anyway.
> See also: https://github.com/gentoo/gentoo/pull/20207
> 
> - Add inherit guard
> - Fix some eclassdoc
> - Minor cleanup
> 
> ---
>  eclass/gnustep-base.eclass | 65 --
>  1 file changed, 34 insertions(+), 31 deletions(-)
> 
> diff --git a/eclass/gnustep-base.eclass b/eclass/gnustep-base.eclass
> index 6cd9f532a55..c343dbb5c6b 100644
> --- a/eclass/gnustep-base.eclass
> +++ b/eclass/gnustep-base.eclass
> @@ -1,16 +1,27 @@
> -# Copyright 1999-2018 Gentoo Foundation
> +# Copyright 1999-2021 Gentoo Authors
>  # Distributed under the terms of the GNU General Public License v2
>  
>  # @ECLASS: gnustep-base.eclass
>  # @MAINTAINER:
>  # GNUstep Herd 
> -# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7
> +# @SUPPORTED_EAPIS: 5 6 7
>  # @BLURB: Internal handling of GNUstep pacakges
>  # @DESCRIPTION:
>  # Inner gnustep eclass, should only be inherited directly by gnustep-base
>  # packages
>  
> -inherit eutils flag-o-matic
> +if [[ -z ${_GNUSTEP_BASE_ECLASS} ]]; then
> +_GNUSTEP_BASE_ECLASS=1
> +
> +inherit flag-o-matic
> +
> +EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_compile src_install 
> pkg_postinst
> +
> +case ${EAPI:-0} in
> + [0-4]) die "gnustep-base.eclass: EAPI ${EAPI} is too old." ;;
> + [5-7]) inherit eutils ;;
> + *) die "EAPI ${EAPI} is not supported by gnustep-base.eclass." ;;
> +esac
>  
>  # IUSE variables across all GNUstep packages
>  # "debug": enable code for debugging
> @@ -40,13 +51,6 @@ gnustep-base_pkg_setup() {
>   filter-flags -fomit-frame-pointer
>  }
>  
> -gnustep-base_src_unpack() {
> - unpack ${A}
> - cd "${S}"
> -
> - gnustep-base_src_prepare
> -}
> -
>  gnustep-base_src_prepare() {
>   if [[ -f ./GNUmakefile ]] ; then
>   # Kill stupid includes that are simply overdone or useless on 
> normal
> @@ -63,22 +67,18 @@ gnustep-base_src_prepare() {
>   eend $?
>   fi
>  
> - ! has ${EAPI:-0} 0 1 2 3 4 5 && default
> + ! has ${EAPI:-0} 5 && default
>  }
>  
>  gnustep-base_src_configure() {
>   egnustep_env
>   if [[ -x ./configure ]] ; then
> - econf || die "configure failed"
> + econf
>   fi
>  }
>  
>  gnustep-base_src_compile() {
>   egnustep_env
> - case ${EAPI:-0} in
> - 0|1) gnustep-base_src_configure ;;
> - esac
> -
>   egnustep_make
>  }
>  
> @@ -105,6 +105,8 @@ gnustep-base_pkg_postinst() {
>   elog "  ${SCRIPT_PATH}/config-${PN}.sh"
>  }
>  
> +# @FUNCTION: egnustep_env
> +# @DESCRIPTION:
>  # Clean/reset an ebuild to the installed GNUstep environment
>  egnustep_env() {
>   # Get additional variables
> @@ -113,9 +115,9 @@ egnustep_env() {
>   # Makefiles path
>   local GS_MAKEFILES
>   if [[ -d ${EPREFIX}/usr/share/GNUstep/Makefiles ]]; then
> - GS_MAKEFILES=${EPREFIX}/usr/share/GNUstep/Makefiles
> + GS_MAKEFILES="${EPREFIX}"/usr/share/GNUstep/Makefiles
>   else
> - GS_MAKEFILES=${GNUSTEP_PREFIX}/System/Library/Makefiles
> + GS_MAKEFILES="${GNUSTEP_PREFIX}"/System/Library/Makefiles
>   fi
>   if [[ -f ${GS_MAKEFILES}/GNUstep.sh ]] ; then
>   # Reset GNUstep variables
> @@ -130,7 +132,6 @@ egnustep_env() {
>   -i "${WORKDIR}"/GNUstep.conf || die 
> "GNUstep.conf sed failed"
>   fi
>  
> -
>   if [[ ! -d ${EPREFIX}/usr/share/GNUstep/Makefiles ]]; then
>   # Set rpath in ldflags when available
>   case ${CHOST} in
> @@ -159,8 +160,7 @@ egnustep_env() {
>   && GS_ENV=( "${GS_ENV[@]}" "debug=yes" ) \
>   || GS_ENV=( "${GS_ENV[@]}" "debug=no" )
>  
> - if has_version "gnustep-base/gnustep-make[libobjc2]";
> - then
> + if has_version "gnustep-base/gnustep-make[libobjc2]"; then
>   # Set clang for packages that do not respect 
> gnustep-make
>   # settings (gnustep-base's configure for example)
>   export CC=clang CXX=clang CPP="clang -E" LD="clang"
> @@ -171,36 +171,42 @@ egnustep_env() {
>   die "gnustep-make not installed!"
>  }
>  
> +# @FUNCTION: egnustep_make
> +# @DESCRIPTION:
>  # Make utilizing GNUstep Makefiles
>  egnustep_make() {
>   if [[ -f ./Makefile || -f ./makefile || -f ./GNUmakefile ]] ; then
> - emake ${*} "${GS_ENV[@]}" all || die "package make failed"
> + emake ${*} "${GS_ENV[@]}" all
>   return 0
>   fi
>   die "no Makefile found"
>  }
>  
> +# @FUNCTION: egnustep_install
> +# @DESCRIPTION:
>  # Make-install utilizing GNUstep Makefiles
>  egnustep_install() {
>   if [[ ! -d ${EPREFIX}/usr/share/GNUstep/Makefiles ]]; then
>   # avoid problems due to our "weird" prefix, 

Re: [gentoo-dev] [PATCH v2 3/3] gnuconfig.eclass: use BDEPEND, BROOT where available (drop support for EAPI <4)

2021-04-07 Thread Ulrich Mueller
> On Wed, 07 Apr 2021, Michael Orlitzky wrote:

> 5) There are no clear rules about what @system packages can be left
> out of *DEPEND and when, so their presence is wildly inconsistent.

The rules are pretty clear for BDEPEND and bootstrap packages, which is
what we're talking about here.


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH v2 3/3] gnuconfig.eclass: use BDEPEND, BROOT where available (drop support for EAPI <4)

2021-04-07 Thread Michael Orlitzky
On Tue, 2021-04-06 at 20:32 +0100, Sam James wrote:
> 
> > 
> > We usually don't add basic tools like grep to dependencies.
> 
> Few points:
> 
> ...

5) There are no clear rules about what @system packages can be left out
of *DEPEND and when, so their presence is wildly inconsistent.





Re: [gentoo-dev] [PATCH v2 3/3] gnuconfig.eclass: use BDEPEND, BROOT where available (drop support for EAPI <4)

2021-04-07 Thread Ulrich Mueller
> On Tue, 06 Apr 2021, Sam James wrote:

> 1) @system varies between profiles anyway which makes it hard to fully
> rely on;

That's exactly the reason why you _don't_* add GNU grep as a dependency,
because e.g. on Prefix grep may be provided by another package.

grep is a POSIX tool and a bootstrap package, so we can be certain that
will be available everywhere. (And the single grep instance in the
eclass doesn't use any GNUisms.)

> 2) As a few of us have discussed in #gentoo-portage in the past,
> continuing this trend of not explicitly stating dependencies makes
> parallelism in Portage difficult. You can try this with
> —implicit-system-deps=n, but we really need to be stating what we use
> explicitly.

This would mean that we'd end up with lots of system dependencies in
every ebuild. The current policy is in place for good reasons.

You may have a point for adding library dependencies explicitly, but
certainly not for common build tools (aka bootstrap packages). They will
be available from the very beginning of the bootstrap process.

> The benefit is enhanced parallelism and the downside is being
> _slightly_ more verbose in some ebuilds;

s/slightly/much/;s/some/all/

We'd end up having a significant subset of profiles/base/packages in
_every_ ebuild. Or even worse, a bunch of any-of-many dependencies or
virtuals, in order to account for different systems. Personally, I
wouldn't be willing to maintain such dependencies for my ebuilds.

More importantly, if you want such a policy change, then you should
discuss it first and have it approved. Until then, the current policy
[1] applies.

> 3) Implicit dependencies make it hard for us to ever actually swap
> implementations;

> 4) This helps when creating minimal systems without Portage in it.

[1] 
https://devmanual.gentoo.org/general-concepts/dependencies/index.html#implicit-system-dependency


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH] toolchain.eclass: Drop eutils in >=EAPI-8, add some missing || die

2021-04-07 Thread Sergei Trofimovich
On Wed, 07 Apr 2021 00:16:46 +0200
Andreas Sturmlechner  wrote:

> Just some cheap fixes while flag-o-matic.eclass causes cache-regen anyway.

This eclass is used by 4 packages. Cache hit is not an issue.

> See also: https://github.com/gentoo/gentoo/pull/20207
> 
> - Add inherit guard.
> - Fix eclassdoc a bit.
> 
> ---
>  eclass/toolchain.eclass | 51 +++--
>  1 file changed, 34 insertions(+), 17 deletions(-)
> 
> diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
> index f41ce22c591..e7fae3aad5a 100644
> --- a/eclass/toolchain.eclass
> +++ b/eclass/toolchain.eclass
> @@ -1,14 +1,37 @@
> -# Copyright 1999-2020 Gentoo Authors
> +# Copyright 1999-2021 Gentoo Authors
>  # Distributed under the terms of the GNU General Public License v2
>  
> -# Maintainer: Toolchain Ninjas 
> +# @ECLASS: toolchain.eclass
> +# @MAINTAINER:
> +# Toolchain Ninjas 
>  # @SUPPORTED_EAPIS: 5 6 7
> +# @BLURB: Functions to build sys-devel/gcc
> +# @DESCRIPTION:
> +# Comprehensive helper and phase functions to build sys-devel/gcc and
> +# adjacent packages, support for release and live ebuilds.

It's worth to explicitly list all packages supported by the eclass.
Which is:
  dev-lang/gnat-gpl
  sys-devel/kgcc64
  sys-devel/gcc
  sys-devel/gcc-apple
and their cross-*/ variants.

> +# This eclass unconditionally inherits toolchain-funcs.eclass and all its 
> public
> +# variables and helper functions may be considered as part of this eclass's 
> API.

It inherits many other eclasses. None of them should be considered
toolchain.eclass's API. I don't think any ebuilds rely on it. If they do it's a 
bug.

> +# This eclass's phase functions are not intended to be mixed and matched, so 
> if
> +# any phase functions are overridden, the toolchain.eclass version should 
> also
> +# be called.
> +
> +case ${EAPI:-0} in
> + 0|1|2|3|4*) die "Need to upgrade to at least EAPI=5" ;;
> + 5*|6) inherit eapi7-ver eutils ;;
> + 7) inherit eutils ;;
> + *) die "I don't speak EAPI ${EAPI}." ;;
> +esac

Why these inherits go before the guard?

> +if [[ -z ${_TOOLCHAIN_ECLASS} ]]; then
> +_TOOLCHAIN_ECLASS=1

Why does this eclass need a guard?  'toolchain.eclass' is not something
you include lightly.

> +inherit flag-o-matic gnuconfig libtool multilib pax-utils toolchain-funcs 
> prefix
>  
>  DESCRIPTION="The GNU Compiler Collection"
>  HOMEPAGE="https://gcc.gnu.org/;
>  
> -inherit eutils flag-o-matic gnuconfig libtool multilib pax-utils 
> toolchain-funcs prefix
> -
>  tc_is_live() {
>   [[ ${PV} == ** ]]
>  }
> @@ -27,13 +50,6 @@ fi
>  
>  FEATURES=${FEATURES/multilib-strict/}
>  
> -case ${EAPI:-0} in
> - 0|1|2|3|4*) die "Need to upgrade to at least EAPI=5" ;;
> - 5*|6) inherit eapi7-ver ;;
> - 7) ;;
> - *) die "I don't speak EAPI ${EAPI}." ;;
> -esac
> -
>  EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure \
>   src_compile src_test src_install pkg_postinst pkg_postrm
>  
> @@ -525,7 +541,7 @@ toolchain_src_prepare() {
>   || eerror "Please file a bug about this"
>   eend $?
>   done
> - sed -i 's|A-Za-z0-9|[:alnum:]|g' "${S}"/gcc/*.awk #215828
> + sed -i 's|A-Za-z0-9|[:alnum:]|g' "${S}"/gcc/*.awk || die #215828

All '|| die' should be a separate commit. Feel free to push that now.

>   # Prevent new texinfo from breaking old versions (see #198182, #464008)
>   if tc_version_is_at_least 4.1; then
> @@ -639,17 +655,16 @@ make_gcc_hard() {
>   # than ALL_CFLAGS...
>   sed -e '/^ALL_CFLAGS/iHARD_CFLAGS = ' \
>   -e 's|^ALL_CFLAGS = |ALL_CFLAGS = $(HARD_CFLAGS) |' \
> - -i "${S}"/gcc/Makefile.in
> + -i "${S}"/gcc/Makefile.in || die
>   # Need to add HARD_CFLAGS to ALL_CXXFLAGS on >= 4.7
>   if tc_version_is_at_least 4.7 ; then
>   sed -e '/^ALL_CXXFLAGS/iHARD_CFLAGS = ' \
>   -e 's|^ALL_CXXFLAGS = |ALL_CXXFLAGS = $(HARD_CFLAGS) |' 
> \
> - -i "${S}"/gcc/Makefile.in
> + -i "${S}"/gcc/Makefile.in || die
>   fi

> - sed -i \
> - -e "/^HARD_CFLAGS = /s|=|= ${gcc_hard_flags} |" \
> - "${S}"/gcc/Makefile.in || die
> + sed -e "/^HARD_CFLAGS = /s|=|= ${gcc_hard_flags} |" \
> + -i "${S}"/gcc/Makefile.in || die

This should be a separate commit. Feel free to push that now.

>  }
>  
> @@ -2434,3 +2449,5 @@ toolchain_death_notice() {
>  # Thus safer way to enable/disable the feature is to rely on implicit
>  # enabled-by-default state:
>  #econf $(usex foo '' --disable-foo)
> +
> +fi
> -- 
> 2.31.1


-- 

  Sergei