Re: [gentoo-dev] [PATCH] latex-package.eclass: Support EAPI 6.

2016-01-29 Thread Alexis Ballier
On Fri, 29 Jan 2016 08:10:19 +0100
Ulrich Mueller  wrote:

> > On Wed, 27 Jan 2016, Alexis Ballier wrote:  
> 
> > On Wed, 27 Jan 2016 20:59:21 +0100
> > Ulrich Mueller  wrote:  
> 
> >> Please find below a patch which will enable EAPI 6 support in
> >> latex-package.eclass. The main change is that it won't inherit base
> >> any more.  
> 
> > lgtm, thanks  
> 
> Pushed to master, with one additional change (see below). Seems better
> to have the function explicitly die, especially since for a query
> function there won't be any error checking in the caller.

indeed; one last thing I was thinking is the 'texmf-update' call in
latex-package_rehash will always run for /, even with ROOT!=/. Since
with those changes texlive is more or less mandated, maybe it'd be
worth using etexmf-update from texlive-common.eclass. It won't make a
big difference but at least show a warning :)



[gentoo-dev] [PATCH] eutils.eclass: make_desktop_entry, remove unnecesssary extglob use

2016-01-29 Thread Michał Górny
Remove an unnecessary extglob setting where a simpler ${foo%.*} is going
to suffice, considering that the stripping is done conditionally after
checking that one of the supported suffixes is used.
---
 eclass/eutils.eclass | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass
index 68c2813..0844381 100644
--- a/eclass/eutils.eclass
+++ b/eclass/eutils.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -835,13 +835,11 @@ make_desktop_entry() {
# Don't append another ";" when a valid category value is provided.
type=${type%;}${type:+;}
 
-   eshopts_push -s extglob
if [[ -n ${icon} && ${icon} != /* ]] && [[ ${icon} == *.xpm || ${icon} 
== *.png || ${icon} == *.svg ]]; then
ewarn "As described in the Icon Theme Specification, icon file 
extensions are not"
ewarn "allowed in .desktop files if the value is not an 
absolute path."
-   icon=${icon%.@(xpm|png|svg)}
+   icon=${icon%.*}
fi
-   eshopts_pop
 
cat <<-EOF > "${desktop}"
[Desktop Entry]
-- 
2.7.0




Re: [gentoo-dev] [PATCH] eutils.eclass: make_desktop_entry, remove unnecesssary extglob use

2016-01-29 Thread Mike Frysinger
On 29 Jan 2016 09:24, Michał Górny wrote:
> Remove an unnecessary extglob setting where a simpler ${foo%.*} is going
> to suffice, considering that the stripping is done conditionally after
> checking that one of the supported suffixes is used.

looks obvious enough
-mike


signature.asc
Description: Digital signature


Re: [gentoo-dev] Update skel.ebuild for EAPI 6

2016-01-29 Thread Dean Stephens
On 01/25/16 14:18, Ulrich Mueller wrote:
> See patch included below. I have kept the changes at the bare minimum
> necessary to update this for EAPI 6. A major rewrite of the file may
> be considered later.
> 
> Ulrich
> 
> 
> From 599ad94e1a2f2961e5ef0175bea01cd1b2eb96f7 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Ulrich=20M=C3=BCller?= 
> Date: Mon, 25 Jan 2016 20:01:26 +0100
> Subject: [PATCH] skel.ebuild: Update for EAPI 6.
> 
> Put less emphasis on eutils and epatch; they will be used less often
> with eapply being available in EAPI 6.
> 
> Don't mention ancient EAPIs that are banned.
That is of debatable utility if overlay generalized, your patch applies
it overly generally.
> 
> Don't mention einstall since it is banned.
> ---
>  skel.ebuild | 27 +--
>  1 file changed, 5 insertions(+), 22 deletions(-)
> 
> diff --git a/skel.ebuild b/skel.ebuild
> index d907f9b..0483b53 100644
> --- a/skel.ebuild
> +++ b/skel.ebuild
> @@ -12,22 +12,15 @@
>  # generated to contain the correct data.
>  
>  # The EAPI variable tells the ebuild format in use.
> -# Defaults to 0 if not specified.
Removing that note is silly: you are removing factually accurate
documentation in favor of literally nothing. While EAPI=0 is banned from
the tree EAPI still defaults to 0; though some QA tools might, perhaps
even should, issue a warning in that case.
>  # It is suggested that you use the latest EAPI approved by the Council.
>  # The PMS contains specifications for all EAPIs. Eclasses will test for this
> -# variable if they need to use EAPI > 0 features.
> -EAPI=5
> +# variable if they need to use features that are not universal in all EAPIs.
> +EAPI=6
Any such "universal" features are, by definition, part of a subset of
EAPI=0, calling such features "universal" is even arguably misleading.
Better to document it as "Eclasses will test this variable if they
require features specific to a given EAPI or subset of EAPIs, or if they
provide different functionality under different EAPIs."
>  
> -# inherit lists eclasses to inherit functions from. Almost all ebuilds should
> -# inherit eutils, as a large amount of important functionality has been
> -# moved there. For example, the epatch call mentioned below wont work
> -# without the following line:
> +# inherit lists eclasses to inherit functions from. For example, an ebuild
> +# that needs the epatch function from eutils.eclass won't work without the
> +# following line:
>  inherit eutils
Trivially inaccurate, in a way that could be read as endorsing poor
form, the ebuild would need a call to inherit which included eutils, it
would not necessarily be the only eclass inherited from by means of that
call.
"For example, an ebuild that uses the epatch function from the eutils
eclass would, at a minimum, need to inherit eutils, as in the following
line:"
> -# A well-used example of an eclass function that needs eutils is epatch. If
> -# your source needs patches applied, it's suggested to put your patch in the
> -# 'files' directory and use:
> -#
> -#   epatch "${FILESDIR}"/patch-name-here
>  #
>  # eclasses tend to list descriptions of how to use their functions properly.
>  # take a look at /usr/portage/eclass/ for more examples.
> @@ -111,7 +104,6 @@ RDEPEND="${DEPEND}"
>  
>  # The following src_configure function is implemented as default by portage, 
> so
>  # you only need to call it if you need a different behaviour.
> -# This function is available only in EAPI 2 and later.
>  #src_configure() {
>   # Most open-source packages use GNU autoconf for configuration.
>   # The default, quickest (and preferred) way of running configure is:
> @@ -135,9 +127,6 @@ RDEPEND="${DEPEND}"
>  
>  # The following src_compile function is implemented as default by portage, so
>  # you only need to call it, if you need different behaviour.
> -# For EAPI < 2 src_compile runs also commands currently present in
> -# src_configure. Thus, if you're using an older EAPI, you need to copy them
> -# to your src_compile and drop the src_configure function.
>  #src_compile() {
>   # emake (previously known as pmake) is a script that calls the
>   # standard GNU make with parallel building options for speedier
> @@ -152,8 +141,6 @@ RDEPEND="${DEPEND}"
>  
>  # The following src_install function is implemented as default by portage, so
>  # you only need to call it, if you need different behaviour.
> -# For EAPI < 4 src_install is just returing true, so you need to always 
> specify
> -# this function in older EAPIs.
>  #src_install() {
>   # You must *personally verify* that this trick doesn't install
>   # anything outside of DESTDIR; do this by reading and
> @@ -178,8 +165,4 @@ RDEPEND="${DEPEND}"
>   #   install
>   # Again, verify the Makefiles!  We don't want anything falling
>   # outside of ${D}.
> -
> - # The portage shortcut to the above command is simply:
> - #
> - #einstall
>  #}
> 




Re: [gentoo-dev] [PATCH] latex-package.eclass: Support EAPI 6.

2016-01-29 Thread Dean Stephens
On 01/27/16 14:59, Ulrich Mueller wrote:
> -# @FUNCTION: latex-package_has_tetex3 -# @RETURN: true if at
> least one of (>=tetex-3 or >=ptex-3.1.8 or >=texlive-core-2007) is 
> installed, else false -# @DESCRIPTION: -# It is often used to know 
> if the current TeX installation supports gentoo's -# texmf-update 
> or if the package has to do it the old way 
> -latex-package_has_tetex_3() { -  if has_version 
> '>=app-text/tetex-3' || has_version '>=app-text/ptex-3.1.8' || 
> has_version '>=app-text/texlive-core-2007' ; then -   true -  else - 
> false -   fi -} +case ${EAPI:-0} in + 0|1|2|3|4|5) +  # Kept 
> for 
> backwards compatibility + latex-package_has_tetex_3() { true; } + 
> ;; +esac
> 
Why remove the preexisting comment marked up for documentation
generation which indicated what it did and why, and stub it out with a
generically uninformative comment instead of just adding a deprecation
notice and literally one line of text to indicate why it was
deprecated and stubbed out? I am not taking issue with the change to
the code itself, just the removal of documentation in it.