Re: [gentoo-dev] [PATCH 03/16] gnome2-utils.eclass: remove redundant @USAGE lines

2019-10-09 Thread Gilles Dartiguelongue
Looks good.

Le vendredi 06 septembre 2019 à 13:40 -0500, bkoh...@gentoo.org a
écrit :
> From: Ben Kohler 
> 
> Signed-off-by: Ben Kohler 
> ---
>  eclass/gnome2-utils.eclass | 5 -
>  1 file changed, 5 deletions(-)
> 
> diff --git a/eclass/gnome2-utils.eclass b/eclass/gnome2-utils.eclass
> index 06683a7467f..c9765f6fd91 100644
> --- a/eclass/gnome2-utils.eclass
> +++ b/eclass/gnome2-utils.eclass
> @@ -297,7 +297,6 @@ gnome2_schemas_savelist() {
>  }
>  
>  # @FUNCTION: gnome2_schemas_update
> -# @USAGE: gnome2_schemas_update
>  # @DESCRIPTION:
>  # Updates GSettings schemas.
>  # This function should be called from pkg_postinst and pkg_postrm.
> @@ -328,7 +327,6 @@ gnome2_gdk_pixbuf_savelist() {
>  }
>  
>  # @FUNCTION: gnome2_gdk_pixbuf_update
> -# @USAGE: gnome2_gdk_pixbuf_update
>  # @DESCRIPTION:
>  # Updates gdk-pixbuf loader cache if
> GNOME2_ECLASS_GDK_PIXBUF_LOADERS has some.
>  # This function should be called from pkg_postinst and pkg_postrm.
> @@ -360,7 +358,6 @@ gnome2_gdk_pixbuf_update() {
>  }
>  
>  # @FUNCTION: gnome2_query_immodules_gtk2
> -# @USAGE: gnome2_query_immodules_gtk2
>  # @DESCRIPTION:
>  # Updates gtk2 immodules/gdk-pixbuf loaders listing.
>  gnome2_query_immodules_gtk2() {
> @@ -374,7 +371,6 @@ gnome2_query_immodules_gtk2() {
>  }
>  
>  # @FUNCTION: gnome2_query_immodules_gtk3
> -# @USAGE: gnome2_query_immodules_gtk3
>  # @DESCRIPTION:
>  # Updates gtk3 immodules/gdk-pixbuf loaders listing.
>  gnome2_query_immodules_gtk3() {
> @@ -388,7 +384,6 @@ gnome2_query_immodules_gtk3() {
>  }
>  
>  # @FUNCTION: gnome2_giomodule_cache_update
> -# @USAGE: gnome2_giomodule_cache_update
>  # @DESCRIPTION:
>  # Updates glib's gio modules cache.
>  # This function should be called from pkg_postinst and pkg_postrm.
-- 
Gilles Dartiguelongue 
Gentoo




[gentoo-dev] Re: [PATCH 3/5] xdg.eclass: move deps to RDEPEND

2018-10-01 Thread Gilles Dartiguelongue
Le lundi 01 octobre 2018 à 07:40 +0200, Rémi Cardona a écrit :
> Le 01/10/2018 à 00:50, Mike Gilbert a écrit :
> > update-desktop-database and update-mime-database are called from
> > ROOT in
> > pkg functions, so the related dependenices belong in RDEPEND.
> > 
> > Signed-off-by: Mike Gilbert 
> 
> As far as the eclass goes, this is correct. But AFAIR, this was
> needed
> because some packages look for those tools at build time. It was ages
> ago so maybe it no longer applies.
> 
> Rémi
> 

A lot of autotools based packages do explicitly search for it. I don't
think they fail if it is missing though but a tinderbox run would be
welcome.

The reason why it is in DEPEND though is that none of these tools are
required at runtime. They are needed at postinst and postrm stages
which afaik makes them DEPEND on EAPI previous to EAPI 7 and BDEPEND in
EAPI 7 if I'm not mistaken.

-- 
Gilles Dartiguelongue 
Gentoo



Re: [gentoo-dev] [PATCH 1/5] use.desc: Introduce 'luajit' as a global flag

2018-03-26 Thread Gilles Dartiguelongue
Le lundi 26 mars 2018 à 13:55 +0200, Michał Górny a écrit :
> Dnia 26 marca 2018 10:47:04 CEST, Gilles Dartiguelongue <eva@gentoo.o
> rg> napisał(a):
> > Le lundi 26 février 2018 à 23:24 +0100, Michał Górny a écrit :
> > > 'luajit' is used consistently in 25+ packages. Make it a global
> > > flag.
> > 
> > Not that I have a strong opinion about it, but wouldn't it be
> > better to
> > have USE="lua jit" like libpeas does ? Use flags aren't supposed to
> > match library names but features so this would seem more correct.
> 
> LuaJIT is a completely separate implementation of Lua, not a feature.
> And it's certainly not a feature of libpeas.

My bad, I had memories that recent (masked) lua had jit USE flag but it
seems I'm mistaken. Feel free to push these changes then.

-- 
Gilles Dartiguelongue <e...@gentoo.org>

signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] RFC: Repoman to warn about suspicious =-dependencies

2018-03-26 Thread Gilles Dartiguelongue
Le dimanche 04 mars 2018 à 12:37 +0100, Michał Górny a écrit :
> Hi, everyone.
> 
> I have proposed a new check for repoman [1] (with a patch at [2])
> that
> would warn developers about suspicious '=' deps.
> 
> By suspicious, I mean dependencies '=foo-1.2.3' which are sometimes
> mistakenly used instead of '~foo-1.2.3', and cause some degree of
> mayhem
> when someone revbumps the package (either by preventing people from
> upgrading or causing depgraph breakage).
> 
> The check would trigger whenever '='-class dependency is used without
> a revision specified and without the '*' suffix. It would suggest to
> either use '~' operator when any revision is acceptable, or
> explicitly
> specify '-r0' (which is equivalent to no revision specified).
> 
> In other words, repoman would complain at:
> 
>   =dev-foo/bar-1.2.3
> 
> but it will be happy if you used:
> 
>   ~dev-foo/bar-1-2.3
>   =dev-foo/bar-1.2.3-r0
> 
> I think this cause the trouble of specifying '-r0' rather rarely, and
> it
> will decrease the number of mistakes, also effectively making Gentoo
> development easier. It is somewhat inspired by the handling of slot
> operators (where repoman explicitly asks you to use ':*' instead
> of no operator when the latter would be ambiguous).
> 
> What do you think?

Sounds good. The attached script hopefully gives a good indication of
how much packages would be affected. A local run raises about 92
ebuilds.
#!/usr/bin/env python

from portage import isvalidatom, portdb

for cpv in portdb.cpv_all():
deps = portdb.aux_get(cpv, ['DEPEND', 'RDEPEND', 'PDEPEND'])
atoms = set(' '.join(deps).split(' '))

suspicious = []
for atom in atoms:
if not isvalidatom(atom):
continue

# Drop USE-dependencies and slots
atom_simple = atom.split(':')[0].split('[')[0]
if atom[0] == '=' and atom_simple[-1] != '*' and not atom_simple.endswith(''):
suspicious.append(atom)

if suspicious:
print('%s: %s' % (cpv, suspicious))


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH 1/5] use.desc: Introduce 'luajit' as a global flag

2018-03-26 Thread Gilles Dartiguelongue
Le lundi 26 février 2018 à 23:24 +0100, Michał Górny a écrit :
> 'luajit' is used consistently in 25+ packages. Make it a global flag.

Not that I have a strong opinion about it, but wouldn't it be better to
have USE="lua jit" like libpeas does ? Use flags aren't supposed to
match library names but features so this would seem more correct.

-- 
Gilles Dartiguelongue <e...@gentoo.org>



Re: [gentoo-dev] [PATCH] gnome2-utils.eclass: gnome2_query_immodules*, use EROOT, #611030

2017-04-25 Thread Gilles Dartiguelongue
Le samedi 22 avril 2017 à 23:03 +0200, Michał Górny a écrit :
> On sob, 2017-04-22 at 13:43 -0400, Mike Gilbert wrote:
> > 
> > On Sat, Apr 22, 2017 at 4:20 AM, Michał Górny <mgo...@gentoo.org>
> > wrote:
> > > 
> > > Respect EROOT when running gtk-query-immodules-* tools, alike
> > > other
> > > updaters in the eclass. This ensures that x11-libs/gtk+ installs
> > > correctly when installing to a ROOT.
> > 
> > I'm not an expert on this eclass, but it seems like this may be
> > intentional; calling compiled binaries from $ROOT will break for
> > cross-compiles.
> > 
> > Is there some package that installs ${CHOST}-gtk-query-immodules-
> > X.0
> > for ROOT == /? I don't have any such binary on my system.
> > 
> 
> I was thinking about this possibility too but it doesn't look like
> any
> of the remaining code was done like this, nor the GTK+ ebuild which
> calls this function. But I'll wait for the GNOME team to confirm what
> they want.
> 
Looking at the ebuilds, it looks like your patch is correct. I honestly
cannot remember why we used EPREFIX and not EROOT.

-- 
Gilles Dartiguelongue <e...@gentoo.org>

signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH 1/7] gnome2-utils.eclass: Make gnome2_icon_cache_update update all themes

2017-04-17 Thread Gilles Dartiguelongue
Le lundi 17 avril 2017 à 13:07 +0200, Michał Górny a écrit :
> Make the gnome2_icon_cache_update function update all icon themes
> rather
> than depending on gnome2_icon_savelist to select themes to update.
> This
> makes the function easier to use whenever the developer needs it
> explicitly (i.e. knows that themes are installed), while the overhead
> of
> regenerating multiple caches is neglible.

Looks good.

-- 
Gilles Dartiguelongue <e...@gentoo.org>
Gentoo

signature.asc
Description: This is a digitally signed message part


[gentoo-dev] Re: [gentoo-dev-announce] rsync.gentoo.org rsync modules: gentoo-repo-changelog added, gentoo-x86-portage & gentoo-sec discontinued.

2017-02-06 Thread Gilles Dartiguelongue
Hello fellow devs,

Le dimanche 30 octobre 2016 à 02:54 +, Robin H. Johnson a écrit :
> As part of the upcoming change to no longer distribute ChangeLogs in
> the
> main tree, Infra would like to announce some updates to the rsync
> modules.
> 
> 1.
> The following legacy modules are hereby discontinued.
> - rsync.gentoo.org::gentoo-sec
> - rsync.gentoo.org::gentoo-x86-portage
> 
> 'gentoo-sec' was a 2004-era attempt at distributing Gentoo developer
> GPG keyrings. There have been no sync attempts recorded on any of the
> rsync.gentoo.org nodes in over 2 years, and the material therein all
> dates to 2004 only.
> 
> 'gentoo-x86-portage' was the older name of the 'gentoo-portage'
> module,
> and was maintained as an alias. For the 2016 calender year to date,
> there have been only 11 attempts to fetch the legacy name from any of
> the rsync.gentoo.org official nodes.
> 
> Community mirrors (rsyncN.CC.gentoo.org) are encouraged to drop the
> old
> modules at their convenience.
> 
> 2.
> Approximately 2016/Nov/01, a new module will be available:
> - rsync.gentoo.org::gentoo-repo-changelog
> This module will contain the same directory structure as the
> repo/gentoo
> tree (gentoo-portage module), but will ONLY contain ChangeLog files.
> The update schedule may have gaps exceeding 6 hours initially.
> 
> Community mirrors (rsyncN.CC.gentoo.org) can prepare to mirror the
> new
> module at their convenience.
> 
> 3.
> Not sooner than 2016/Nov/15, ChangeLogs will be removed from the
> 'gentoo-portage' rsync module. They may or may not still be
> referenced
> by the thick Manifests.

Since this mail went out, I could not find an explanation of how to get
the changelogs back with regular emerge --sync over rsync.

Searching the wiki raised no answer or links with outdated information.

Playing with repos.conf lead nowhere except to complaints that the
gentoo-repo-changelog had the same name than gentoo-portage.

I tried asking #gentoo-dev but the best answer I was given was to
switch to git clone and to generate the changelogs myself. Problem is,
I am not always on a dev machine or on a machine that can spare these
CPU cycles so it does not seem appropriate.

Is there any way to get this back that doesn't involve extra operations
over emerge --sync ?

-- 
Gilles Dartiguelongue <e...@gentoo.org>

signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] News item review: python-exec 2.3 reclaims python* symlinks

2017-01-21 Thread Gilles Dartiguelongue
Le samedi 21 janvier 2017 à 10:49 +0100, Michał Górny a écrit :
> Please review the following news item. It was requested by users.
> Preferably I'd like to commit it today.
> 
>  --
> 
> Title: python-exec 2.3 reclaims python* symlinks
> Author: Michał Górny <mgo...@gentoo.org>
> Content-Type: text/plain
> Posted: 2017-01-21
> Revision: 1
> News-Item-Format: 1.0
> Display-If-Installed:  Display-If-Installed:  
> The new versions of python-exec (2.3 and newer) are reclaiming
> multiple
> Python-related symlinks in /usr/bin, most notably /usr/bin/python*.
> This
> may result in your package manager reporting file collisions.
> 
> The respective symlinks were previously either unowned and created
> dynamically by app-eselect/eselect-python, or installed by it. From
> now
> on, all Python-related symlinks are installed and handled
> by python-exec. This ensures that they respect the python-exec
> configuration files and variables consistently with regular Python
> packages, and improves their reliability.
> 
> If you are using FEATURES=collision-protect, Portage will reject
> the upgrade. If this is the case, please temporarily switch to
> FEATURES=protect-owned for the upgrade.
> 
> If you are using FEATURES=protect-owned, Portage will verbosely warn
> about the file collisions but will proceed with the upgrade once
> determining no replaced files are owned. Please disregard the
> warning.
> 
> The potentially colliding files are:
> 
>  * /usr/bin/2to3
>  * /usr/bin/pydoc
>  * /usr/bin/python
>  * /usr/bin/python2
>  * /usr/bin/python3
>  * /usr/bin/python-config
> 
> For more information on python-exec, please see:
> https://wiki.gentoo.org/wiki/Project:Python/python-exec
> 

reads clearly, +1 for having these files owned by a package.

-- 
Gilles Dartiguelongue <e...@gentoo.org>
Gentoo

signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] MANPATH handling in ebuilds

2017-01-19 Thread Gilles Dartiguelongue
Le mercredi 04 janvier 2017 à 21:12 +, Wolfgang Mueller a écrit :
> is definitely not set when executing cron scripts like that. I
> deleted all mandoc.db files and waited for them to be regenerated.
> Only
> the one in /usr/share/man was generated, which means that makewhatis
> fell back to the defaults since MANPATH was empty.
> 
> Just as I am composing this mail, the cron script that had `source
> /etc/profile' in it before makewhatis ran, and all the databases are
> there.
> 
> Bottom line: MANPATH is not available in cron scripts.

Could you open a bug report on https://bugzilla.gentoo.org/, I think
this could be a very long standing bug.

-- 
Gilles Dartiguelongue <e...@gentoo.org>

signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Revisiting version-related tree policies

2016-11-28 Thread Gilles Dartiguelongue
Le vendredi 04 novembre 2016 à 10:16 +0100, Ulrich Mueller a écrit :
> > 
> > > 
> > > > 
> > > > > 
> > > > > > 
> > > > > > On Fri, 4 Nov 2016, Kristian Fiskerstrand wrote:
> 
> > 
> > On 11/03/2016 05:11 PM, Michał Górny wrote:
> > > 
> > > == Policy changes? ==
> > > I think that the following new policies could make sense:
> > > 
> > > 1. Revision number must be no longer than :
> 
> > 
> > You likely mean "no higher than ", longer than would give large
> > values
> 
> The wording would be similar to "no longer than 4 digits".
> 
> > 
> > > 
> > > 1a. to make <=X-r reliable,
> > > 1b. to prevent pathological uses of revision as date.
> 
> > 
> > Given revision in most cases is incremental (except for some -r100,
> > -r200) cases, some structure here is likely good. I take it we're
> > talking about devmanual changes in this case for policy?
> 
> Yes, it would be purely devmanual/tree policy. PMS will still mandate
> that the package manager can handle arbitrary long versions.
> 
> Looks like using multiples of 100 is best practice if there is
> the same PV in different slots. Not sure if we should codify that
> somewhere. (If nobody contradicts, this message could be used as
> future policy reference, though. :)

There was much contradiction when this was "discovered" being used in
webkit-gtk ebuilds back when slot 3 was added. However, I don't
remember anyone reaching a solution that would be practical keeping
only one cat/pn.

-- 
Gilles Dartiguelongue <e...@gentoo.org>

signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Step on my toes, please.

2016-11-03 Thread Gilles Dartiguelongue
Le jeudi 03 novembre 2016 à 11:15 +0100, Jason A. Donenfeld a écrit :
> Hey guys,
> 
> Every other day on IRC, I see people arguing about touching each
> others packages, despite our policies against it. (Sometimes it's
> even
> me who's doing the touching!) My instinctive reaction is always,
> "can't everybody calm down and be happy somebody is doing your work
> for you?" The answer to this question is, of course, that it depends
> who the developer is and how competent you are.
> 
> So, nothing new here. I don't want to bikeshed about it. Business as
> usual.
> 
> I thought I'd do something loose and informal to rectify the problem.
> See my package-policy.txt on my developer space:
> 
> http://dev.gentoo.org/~zx2c4/package-policy.txt
> 
> Do what this says, and everything will be good. I encourage other
> developers to post package-policy.txt with the same URL scheme. This
> is a nice loose and informal stopgap solution. If others want to
> follow suit, great. If not, welp, there mine is.

In the not formal but maybe more discoverable spirit, you could put
this on your user page/space/whatever on the wiki, I guess.


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] Re: [gentoo-dev-announce] Multiple misc. Python packages for grabs

2016-10-31 Thread Gilles Dartiguelongue
Le samedi 29 octobre 2016 à 23:21 +0200, Michał Górny a écrit :
> Hello,
> 
> The Python team is dropping itself from maintainers of the following
> packages. As a result, those packages no longer have any maintainer:
> 
> app-admin/supervisor

I'll take this at least to fix its default configuration which is
annoying me.

PS: re-posting as it went to the wrong ml.
-- 
Gilles Dartiguelongue <e...@gentoo.org>
Gentoo

signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH] metadata: add vcs tag

2016-10-18 Thread Gilles Dartiguelongue
Le mercredi 12 octobre 2016 à 09:44 -0700, Robin H. Johnson a écrit :
> 
> [...]
> @@ -52,6 +52,8 @@
>  
>  
>     module|cpe|cran|ctan|freecode|freshmeat|gentoo|github|gitlab|gitoriou
> s|google-
> code|launchpad|pear|pecl|pypi|rubyforge|rubygems|sourceforge|sourcefo
> rge-jp|vim) #REQUIRED>
> +
> +

I am probably nitpicking here but if you expect this element to contain
a valid URL, then maybe using #CDATA makes more sense ?

-- 
Gilles Dartiguelongue <e...@gentoo.org>
Gentoo

signature.asc
Description: This is a digitally signed message part


[gentoo-dev] Re: [gentoo-commits] repo/gentoo:master commit in: profiles/base/, net-misc/modemmanager/

2016-09-17 Thread Gilles Dartiguelongue
Le samedi 17 septembre 2016 à 13:51 +, Pacho Ramos a écrit :
> diff --git a/profiles/base/package.use.mask
> b/profiles/base/package.use.mask
> index a999e7e..950d71e 100644
> --- a/profiles/base/package.use.mask
> +++ b/profiles/base/package.use.mask
> @@ -5,6 +5,10 @@
>  # This file requires >=portage-2.1.1
>  # New entries go on top.
>  
> +# Pacho Ramos <pa...@gentoo.org> (17 Sep 2016)
> +# Unmask when needed versions are in the tree
> +>=net-misc/modemmanager-1.6.2 mbim qmi
> +

did you push a bump request with this ? I had delayed the commit due to
this issue.

-- 
Gilles Dartiguelongue <e...@gentoo.org>
Gentoo



[gentoo-dev] Re: [gentoo-commits] repo/gentoo:master commit in: media-libs/gstreamer/

2016-02-26 Thread Gilles Dartiguelongue
Le jeudi 25 février 2016 à 23:02 +, Andreas Hüttel a écrit :
> commit: 684b1b89aeb8dd00b56d2296ddb561308e260041
> Author: Andreas K. Hüttel  gentoo  org>
> AuthorDate: Thu Feb 25 22:53:15 2016 +
> Commit: Andreas Hüttel  gentoo  org>
> CommitDate: Thu Feb 25 22:58:27 2016 +
> URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=684b
> 1b89
> 
> media-libs/gstreamer: Clean up XDG environment, bug 567192

Also, a version bump is absolutely not needed here as gstreamer depends
on glib which already depends on tools that would be used (and they are
not used in this case anyway).

-- 
Gilles Dartiguelongue <e...@gentoo.org>


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] Eclass assisted multilib dependent cache updates

2016-01-02 Thread Gilles Dartiguelongue
Hello all,

while working on bug #518422, I found out that while eclass calls the
relevant cache updates it has no idea whether or not it is called in a
multilib context or not.

Imho, this leads to avoidable human errors where one thinks eclass will
take care of lib dependent caches, which it does, but not for all
enabled ABIs which could lead to reduced functionality for non-native
ABIs.

While it seems reasonable to call multilib_foreach_abi
gnome2_pkg_postinst for multilib enabled ebuilds, it is still not ideal
as it will call a lot of functions for no good reason. On the other
hand, checking environment variable set by multilib eclasses does not
seem like a robust solution.

Is there any reasonable way to make phase functions aware of if they
are running in a multilib enabled ebuild to adjust their behavior ?

-- 
Gilles Dartiguelongue <e...@gentoo.org>
Gentoo


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [RFC] name of smartcard support USE flag

2015-12-13 Thread Gilles Dartiguelongue
I was trying to cleanup my local USE flag settings and stumbled on the
following three: smartcard, pcsc-lite and pkcs11.

Knowing all 3 are related, I greped use.local.desc to see what each
meant for different packages. To sum up what I found:
 * pcsc-lite is basically: enable smartcard support through sys-
apps/pcsc-lite
 * pkcs11: enabled PKCS#11 (smartcard) via $pkg

These look like the same thing to me so I propose we merge them all
into USE=smartcard as this is the feature being enabled, not the lib or
the standard being used to access the hardware if any.

-- 
Gilles Dartiguelongue <e...@gentoo.org>
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [RFC] name of smartcard support USE flag

2015-12-13 Thread Gilles Dartiguelongue
Le dimanche 13 décembre 2015 à 18:25 +0200, Alon Bar-Lev a écrit :
> On 13 December 2015 at 18:20, Gilles Dartiguelongue <e...@gentoo.org>
> wrote:
> > 
> > I was trying to cleanup my local USE flag settings and stumbled on
> > the
> > following three: smartcard, pcsc-lite and pkcs11.
> > 
> > Knowing all 3 are related, I greped use.local.desc to see what each
> > meant for different packages. To sum up what I found:
> >  * pcsc-lite is basically: enable smartcard support through
> > sys-
> > apps/pcsc-lite
> >  * pkcs11: enabled PKCS#11 (smartcard) via $pkg
> > 
> > These look like the same thing to me so I propose we merge them all
> > into USE=smartcard as this is the feature being enabled, not the
> > lib or
> > the standard being used to access the hardware if any.
> 
> pcsc-lite and PKCS#11 interfaces are both related to smartcards but
> different unrelated interfaces. I am unsure merging them will serve
> the purpose for applications that are capable of supporting more than
> one interface.

> also, please notice that PKCS#11 is not all about smartcards, but an
> interface to any cryptographic hardware.

I agree with your points, my point is that it seems most of the time,
both use flags are used in place of smartcard (or another name if this
one does not fit in your opinion).

According to local description, app-mobilephone/gnoki, net-
libs/libosmocore and net-misc/rdesktop at least should be using
USE=smartcard instead of USE=pcsc-lite

-- 
Gilles Dartiguelongue <e...@gentoo.org>
Gentoo


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] Re: [gentoo-commits] repo/gentoo:master commit in: dev-cpp/gtkglextmm/, dev-cpp/gtkglextmm/files/

2015-12-11 Thread Gilles Dartiguelongue
Le vendredi 11 décembre 2015 à 12:17 +, Andrew Savchenko a écrit :
> commit: fcc5f0fe910ec73b41adf3120255571baf896d4c
> Author: Andrew Savchenko  gentoo  org>
> AuthorDate: Fri Dec 11 12:17:20 2015 +
> Commit: Andrew Savchenko  gentoo  org>
> CommitDate: Fri Dec 11 12:17:20 2015 +
> URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fcc5
> f0fe
> 
> dev-cpp/gtkglextmm: fix bug 552686
> 
> Fix underquoted aclocal definition.
> 
> Package-Manager: portage-2.2.26
> Signed-off-by: Andrew Savchenko  gentoo.org>
> 
>  .../files/gtkglextmm-1.2.0-aclocal.patch   | 11 ++
>  dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild  | 46
> ++
>  2 files changed, 57 insertions(+)
> 
> diff --git a/dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch
> b/dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch
> new file mode 100644
> index 000..32fa489
> --- /dev/null
> +++ b/dev-cpp/gtkglextmm/files/gtkglextmm-1.2.0-aclocal.patch
> @@ -0,0 +1,11 @@
> +--- gtkglextmm-1.2.0/m4macros/gtkglextmm.m4.orig 2004-05-18
> 10:29:34.0 +0400
>  gtkglextmm-1.2.0/m4macros/gtkglextmm.m4  2015-08-07
> 17:02:42.324065008 +0300
> +@@ -222,7 +222,7 @@
> + dnl AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD([ACTION-IF-SUPPORTED [,
> ACTION-IF-NOT-SUPPORTED]])
> + dnl Checks whether gtkglextmm supports multihead.
> + dnl
> +-AC_DEFUN(AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD,
> ++AC_DEFUN([AC_GTKGLEXTMM_SUPPORTS_MULTIHEAD],
> + [ AC_LANG_SAVE
> +   AC_LANG_CPLUSPLUS
> +   AC_CACHE_CHECK([whether gtkglextmm supports multihead],
> 
> diff --git a/dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild b/dev-
> cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild
> new file mode 100644
> index 000..504827e
> --- /dev/null
> +++ b/dev-cpp/gtkglextmm/gtkglextmm-1.2.0-r2.ebuild
> @@ -0,0 +1,46 @@
> +# Copyright 1999-2015 Gentoo Foundation
> +# Distributed under the terms of the GNU General Public License v2
> +# $Id$
> +
> +EAPI=5
> +GCONF_DEBUG="yes"
> +
> +inherit eutils gnome2
> +
> +DESCRIPTION="C++ bindings for gtkglext"
> +HOMEPAGE="https://projects.gnome.org/gtkglext/;
> +SRC_URI="mirror://sourceforge/gtkglext/${P}.tar.bz2"
> +
> +KEYWORDS="~amd64 ~ppc ~x86"
> +IUSE="doc"
> +SLOT="1.0"
> +LICENSE="GPL-2 LGPL-2.1"
> +
> +RDEPEND="
> + >=x11-libs/gtkglext-1
> + >=dev-libs/libsigc++-2.0
> + >=dev-cpp/glibmm-2.4:2
> + >=dev-cpp/gtkmm-2.4:2.4
> + virtual/opengl
> +"
> +DEPEND="${RDEPEND}
> + virtual/pkgconfig"
> +
> +src_prepare() {
> + # fix underquoted definition, bug 552686
> + epatch "${FILESDIR}/${P}-aclocal.patch"
> +
> + # Remove docs from SUBDIRS so that docs are not installed,
> as
> + # we handle it in src_install.
> + sed -i -e 's|^\(SUBDIRS =.*\)docs\(.*\)|\1\2|' Makefile.in
> || \
> + die "sed Makefile.in failed"
> +
> + gnome2_src_prepare
> +}
> +
> +src_install() {
> + gnome2_src_install
> + if use doc; then
> + dohtml -r docs/reference/html/*
> + fi
> +}

Why a revbump for this, it appears to be a build-time fix only. Also it
appears to be missing an autools inherit and eautoreconf call.

-- 
Gilles Dartiguelongue <e...@gentoo.org>
Gentoo




Re: [gentoo-dev] new eclass: xdg and xdg-utils as a replacement for fdo-mime

2015-11-25 Thread Gilles Dartiguelongue
Hello all,

just a heads up that these eclass were slightly enhanced and pushed to
the tree. gnome2.eclass and gstreamer.eclass are now using it. If you
need to do any kind of hackery with XDG_* environment variable or are
using fdo-mime.eclass, you might want to update to xdg*.eclass.

-- 
Gilles Dartiguelongue <e...@gentoo.org>
Gentoo


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH] xdg.eclass: break dependency loop with glib and utility packages

2015-11-25 Thread Gilles Dartiguelongue
Hello all,

making gnome2.eclass depend on xdg.eclass has the unfortunate
consequence of having xdg utility package in the dependency loop of
glib which uses gnome2.eclass for various features (such as gsettings
schema compilation).

Since there is no other need that I know of to make these dependencies
optional for xdg.eclass, I am proposing to have them skipped for glib
only.

This issue currently breaks stage generation.

-- 
Gilles Dartiguelongue <e...@gentoo.org>
Gentoo
From 905366a8a5a048a968df485223d47dfe1e50778b Mon Sep 17 00:00:00 2001
From: Gilles Dartiguelongue <e...@gentoo.org>
Date: Wed, 25 Nov 2015 13:15:51 +0100
Subject: [PATCH] xdg.eclass: break dependency loop due to XDG tools using glib

---
 eclass/xdg.eclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/eclass/xdg.eclass b/eclass/xdg.eclass
index 2ad0ada..9f10932 100644
--- a/eclass/xdg.eclass
+++ b/eclass/xdg.eclass
@@ -21,10 +21,13 @@ case "${EAPI:-0}" in
 	*) die "EAPI=${EAPI} is not supported" ;;
 esac
 
+# Avoid dependency loop as both depend on glib-2
+if [[ ${CATEGORY}/${P} != dev-libs/glib-2.* ]] ; then
 DEPEND="
 	dev-util/desktop-file-utils
 	x11-misc/shared-mime-info
 "
+fi
 
 # @FUNCTION: xdg_src_prepare
 # @DESCRIPTION:
-- 
2.6.3



[gentoo-dev] new eclass: xdg and xdg-utils as a replacement for fdo-mime

2015-06-10 Thread Gilles Dartiguelongue
This is an attempt to fix bug #208047 [1] and bug #444568 [2]

Current fdo-mime eclass is often not used when it should be. I suppose
this is partly because one has to think too much about whether it is
needed or not and what to do with the functions.

The proposed solution is to not have to worry about it and just inherit
it when you have any kind of XDG specifications support and let the
exported phases do their job in a similar fashion to the gnome
eclasses.

For now, this covers .desktop and shared mime-info files and creating
base directory for packages that rely on it one way or another.

This helps solve problems like bug #545128 [3] and others that have
been covered by previous work resulting in gnome2_environment_reset
function and similar in other eclasses (cmake-utils, gstreamer, kde4
-base, mono, mono-env, qt4-*).


[1] [Bug 208047] fdo-mime.eclass should depend on desktop-file-utils
https://bugs.gentoo.org/show_bug.cgi?id=208047

[2] [Bug 444568] [Future EAPI] Export XDG_* variables in ebuild 
environment
https://bugs.gentoo.org/show_bug.cgi?id=444568

[3] [Bug 545128] media-sound/pulseaudio-6.0 XDG_RUNTIME_DIR
(/run/user/1000) is not owned by us (uid 0)
https://bugs.gentoo.org/show_bug.cgi?id=545128

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

# @ECLASS: xdg.eclass
# @MAINTAINER:
# freedesktop-b...@gentoo.org
# @AUTHOR:
# Original author: Gilles Dartiguelongue e...@gentoo.org
# @BLURB: Provides phases for XDG compliant packages.
# @DESCRIPTION:
# Utility eclass to update the desktop and shared mime info as laid
# out in the freedesktop specs  implementations

inherit xdg-utils

case ${EAPI:-0} in
4|5)
EXPORT_FUNCTIONS src_prepare pkg_preinst pkg_postinst pkg_postrm
;;
*) die EAPI=${EAPI} is not supported ;;
esac

DEPEND=
dev-util/desktop-file-utils
x11-misc/shared-mime-info


# @FUNCTION: xdg_src_prepare
# @DESCRIPTION:
# Prepare sources to work with XDG standards.
xdg_src_prepare() {
# Prepare XDG base directories
export XDG_DATA_HOME=${T}/.local/share
export XDG_CONFIG_HOME=${T}/.config
export XDG_CACHE_HOME=${T}/.cache
export XDG_RUNTIME_DIR=${T}/run
mkdir -p ${XDG_DATA_HOME} ${XDG_CONFIG_HOME} ${XDG_CACHE_HOME} \
${XDG_RUNTIME_DIR}
# This directory needs to be owned by the user, and chmod 0700
# http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
chmod 0700 ${XDG_RUNTIME_DIR}
}

# @FUNCTION: xdg_pkg_preinst
# @DESCRIPTION:
# Finds .desktop and mime info files for later handling in pkg_postinst
xdg_pkg_preinst() {
xdg_desktopfiles_savelist
xdg_mimeinfo_savelist
}

# @FUNCTION: xdg_pkg_postinst
# @DESCRIPTION:
# Handle desktop and mime info database updates.
xdg_pkg_postinst() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

# @FUNCTION: xdg_pkg_postrm
# @DESCRIPTION:
# Handle desktop and mime info database updates.
xdg_pkg_postrm() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

# @ECLASS: xdg-utils.eclass
# @MAINTAINER:
# gn...@gentoo.org
# @AUTHOR:
# Original author: Gilles Dartiguelongue e...@gentoo.org
# @BLURB: Auxiliary functions commonly used by XDG compliant packages.
# @DESCRIPTION:
# This eclass provides a set of auxiliary functions needed by most XDG
# compliant packages.
# It provides XDG stack related functions such as:
#  * XDG .desktop files cache management
#  * XDG mime information database management

case ${EAPI:-0} in
4|5) ;;
*) die EAPI=${EAPI} is not supported ;;
esac

# @ECLASS-VARIABLE: DESKTOP_DATABASE_UPDATE_BIN
# @INTERNAL
# @DESCRIPTION:
# Path to update-desktop-database
: ${DESKTOP_DATABASE_UPDATE_BIN:=/usr/bin/update-desktop-database}

# @ECLASS-VARIABLE: DESKTOP_DATABASE_DIR
# @INTERNAL
# @DESCRIPTION:
# Directory where .desktop files database is stored
: ${DESKTOP_DATABASE_DIR=/usr/share/applications}

# @ECLASS-VARIABLE: MIMEINFO_DATABASE_UPDATE_BIN
# @INTERNAL
# @DESCRIPTION:
# Path to update-desktop-database
: ${MIMEINFO_DATABASE_UPDATE_BIN:=/usr/bin/update-mime-database}

# @ECLASS-VARIABLE: MIMEINFO_DATABASE_DIR
# @INTERNAL
# @DESCRIPTION:
# Directory where .desktop files database is stored
: ${MIMEINFO_DATABASE_DIR:=/usr/share/mime}

# @FUNCTION: xdg_desktopfiles_savelist
# @DESCRIPTION:
# Find the .desktop files about to be installed and save their location
# in the XDG_ECLASS_DESKTOPFILES environment variable.
# This function should be called from pkg_preinst.
xdg_desktopfiles_savelist() {
pushd ${D}  /dev/null
export XDG_ECLASS_DESKTOPFILES=$(find 'usr/share/applications' -type f 
2 /dev/null)
popd  /dev

Re: [gentoo-dev] new eclass: xdg and xdg-utils as a replacement for fdo-mime

2015-06-10 Thread Gilles Dartiguelongue
Le mercredi 10 juin 2015 à 11:04 -0400, Mike Gilbert a écrit :
 On Wed, Jun 10, 2015 at 10:12 AM, Gilles Dartiguelongue 
 e...@gentoo.org wrote:
  This is an attempt to fix bug #208047 [1] and bug #444568 [2]
  
  Current fdo-mime eclass is often not used when it should be. I 
  suppose
  this is partly because one has to think too much about whether it 
  is
  needed or not and what to do with the functions.
  
  The proposed solution is to not have to worry about it and just 
  inherit
  it when you have any kind of XDG specifications support and let the
  exported phases do their job in a similar fashion to the gnome
  eclasses.
  
  For now, this covers .desktop and shared mime-info files and 
  creating
  base directory for packages that rely on it one way or another.
  
  This helps solve problems like bug #545128 [3] and others that have
  been covered by previous work resulting in gnome2_environment_reset
  function and similar in other eclasses (cmake-utils, gstreamer, 
  kde4
  -base, mono, mono-env, qt4-*).
 
  xdg_desktopfiles_savelist() {
  pushd ${D}  /dev/null
  export XDG_ECLASS_DESKTOPFILES=$(find 'usr/share/applications' 
  -type f 2 /dev/null)
  popd  /dev/null
  }
 
 Why are you sending stderr from pushd/popd to /dev/null? If they 
 fail,
 we want to see that in the log. As well, they should probably die, or
 at least return from the function with a non-zero status.
 
 This may also need some adjusting to work on prefix, but I will leave
 that for someone else to figure out.

This is blind copy-paste from gnome2-utils functions, I will clean that
out.

 
-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo

signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH] distutils-r1: set install paths via setup.cfg rather than argv.

2014-08-21 Thread Gilles Dartiguelongue
Le 21 août 2014 à 15:20, Michał Górny mgo...@gentoo.org a écrit :

 Use generated setup.cfg file to propagate install paths rather than
 passing them via command-line arguments whenever possible, making it
 possible to call special install commands without forcing the main
 'install' command.
 
 For example, if setup.py defines install_doc command that reuses prefix
 from install, to use it you'd have to call either:
 
  esetup.py install --root=${D} install_doc
 
 or:
 
  distutils-r1_python_install install_doc
 
 both of them forcing (re-)install of the whole package implicitly.
 
 Instead, we can reuse the setup.cfg file that was added specifically to
 solve a similar issue with build paths. Put the default root, byte-
 compilation options and script path (if applicable) there.
 distutils-r1_python_install still carries --root override for
 intermediate root install though.
 
 Thanks to this, you can run the fore-mentioned command like this:
 
  esetup.py install_doc
 ---

Looks great.

-- 
Gilles Dartiguelongue e...@gentoo.org




Re: [gentoo-dev] Make udev optional in net-wireless/bluez?

2014-03-10 Thread Gilles Dartiguelongue
Picking a random mail in the thread.

Making udev dependency always on is a deliberate choice here, as noted
by Alexandre, the library will be most likely useless without it and we
simply don't want users to get confused about what might not work in the
stack when bluetooth isn't particularly easy to get going already.

Anyway if there is a real point in having more possibilities to shoot
ourselves in the foot, please file a bug report. This is the usual way
to get this sorted out.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Re: FHS or not (WAS: [gentoo-project] Call for agenda items - Council meeting 2014-03-11)

2014-03-01 Thread Gilles Dartiguelongue
Le samedi 01 mars 2014 à 10:06 -0600, William Hubbs a écrit :
 On Sat, Mar 01, 2014 at 06:48:54AM +, Steven J. Long wrote:
  On Fri, Feb 28, 2014 at 09:31:08PM -0600, William Hubbs wrote:
   On Fri, Feb 28, 2014 at 09:47:05PM -0500, Wyatt Epp wrote:
But let's be real here: if I install something and
want to configure its system-wide bits, the first place I go is ALWAYS
/etc.  When I don't find it there, with the rest of the system config
files, my day gets a little worse and I lose a bit of time trying to
interrogate a search engine for the answer.  And that's annoying.
That sucks.
   
   This hasn't changed.
   The configuration files these packages are putting in /lib are not
   meant to be edited; they are the package provided defaults. If you want
   to override one of them, you do that in a file with the same path and
   name in /etc, like I mentioned in another message in this thread.
  
  The problem, as has been explained many many times, is that the rest
  of the config is somewhere random on the system. But you knew that,
  right? You were just telling a half-truth, effectively.
 
 No sir, I was not telling a half-truth.
 
 If the default configuration is stored in /lib/udev/rules.d for example,
 and you can override that default by dropping files of the same name in
 /etc/udev/rules.d, I don't see what the concern is.
 
  I for one prefer a distro to do a bit of work and make my life easier,
  since it makes life easier for everyone who uses the distro. Why the
  hell should I care if some bindist can't etc-update? WTF does that
  have to do with Gentoo?
 
 With this method, you don't need to etc-update, so I would say that in a
 way this is easier. Your system-admin-provided files in /etc are not
 owned by the packages, just the files in /lib are.
 
  If I wanted a shitty distro that didn't bother to do anything at
  all, I'd use LFS. At least they don't pretend, then fall over themselves
  to do a crap load of work rather than admit a mistake; that hey, y'know
  what? Some of those things from 30 years ago were a damn good idea,
  and maybe just maybe, they worked some of these issues out back then,
  so we could stand on their shoulders instead of digging through
  their garbage.
  
  I'm not totally against keeping things from the past. It is just a case
  of evaluating those things and seeing whether they are still relevant.

I think the biggest issue here is that if the filename changes or the
setting that is overridden changes, then end-user or sysadmin is the one
that will suffer from settings not being applied and not knowing why.

This already happened with systemd/udev and net rules for example and I
am pretty sure in a couple of other packages but I have no other
examples on the top of my head.

Sure at some point you have to make things evolve but this upstream
solution simply isn't nice for its users.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] February 2014 QA policy updates

2014-02-20 Thread Gilles Dartiguelongue
Le 19 févr. 2014 à 23:07, Chris Reffett creff...@gentoo.org a écrit :

 Hello all,
 The following are the policy changes from this month's QA team meeting:
[…]
 -Regarding the gtk/gtk2/gtk3 USE flag situation: we mandate that gtk
 move to versioned USE flags. For simplicity of migration, we will allow
 USE=gtk to mean depend on gtk2, since there are only a few USE=gtk2
 remaining in tree. USE=gtk3 will mean depend on gtk3, and in the
 future, USE=gtk4 will mean depend on gtk4, and so on. USE=gtk may
 not be used to mean depend on some version of gtk.
 
 -More generally: we recommend that in future situations like this (a package
 can optionally depend on different versions of a library), we recommend the
 use of versioned USE flags. It should be discussed with the QA team either
 way.
 
[…]
 Chris Reffett
 Gentoo QA Lead

I feel this policy is even less precise than what we had written in our wiki 
page and will in fact bring more confusion.
Can we actually get together in the writing of this, I feel a bit unhappy about 
the process.

-- 
Gilles Dartiguelongue e...@gentoo.org




Re: [gentoo-dev] RFC: GTK USE flag situation (gtk, gtk2, gtk3; relevant to bug #420493)

2014-02-12 Thread Gilles Dartiguelongue
Le mardi 11 février 2014 à 19:33 -0500, Chris Reffett a écrit :
 This doesn't make sense to me at all. I can't see why slotted
 libraries can't just use USE flags to specify what toolkit they're
 built against, just like any other package in the tree (so, for
 example, a package that needs webkit-gtk built against gtk3 would
 depend on webkit-gtk[gtk3] instead of webkit-gtk:3). I'm well aware
 that there could be limitations I'm unaware of (maybe the package only
 can build one at a time?), but this is how it looks to me. By
 switching to versioned gtk flags, this kills two birds with one stone:
 it makes it obvious to the end user which version they're trying to
 build their package against, and it gets rid of the need for (ab)using
 revision numbers to implement slots like that.

And here comes the version abuse troll again. This discussion was
settled months ago by exhaustion so please do not try to put some
gasoline on it.

Most packages we have been confronted to chose to only support gtk2 or
gtk3 and if in their history the supported gtk2 then gtk3, we need a
slot for that because it makes sense. See gnome-desktop, glade, gtkhtml,
at-spi, libgda, gucharmap, vte, etc.

For those packages that still support both actively, we still want slots
because most packages we have seen (webkit-gtk, gtk-vnc, spice and more
that since lost their gtk2 support) only allowed building against one
toolkit at a time.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] RFC: GTK USE flag situation (gtk, gtk2, gtk3; relevant to bug #420493)

2014-02-12 Thread Gilles Dartiguelongue
Le mercredi 12 février 2014 à 08:29 +0100, Lars Wendler a écrit :
[...]
 
 This is a really good idea and I am all in favor of it.
 gtk+:3 still isn't adopted widely and there are still not many good
 looking skins available for it. (sorry but I don't want to have all gtk+
 apps I am using looking totally ugly again)
 I doubt gtk+:2 will be deprecated that soon as some of our devs try
 to imply.

We do not pretend anything, we read upstream statements in bug reports
and in blogs. I do not keep them bookmarked though but do not get your
hopes too high, it will be slow, but as sure as Gnome 2 is going to be
removed from the tree, gtk2 is not evolving anymore and receives as
little maintenance as possible by upstream (which in software
development means it is rusting and the conclusion should be evident to
anyone).

Of course, just as gtk1 we are not going to remove it right now.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] RFC: GTK USE flag situation (gtk, gtk2, gtk3; relevant to bug #420493)

2014-02-12 Thread Gilles Dartiguelongue
Le mercredi 12 février 2014 à 17:46 -0500, Chris Reffett a écrit :
 splits it into two
 separate packages, and I suspect that the times where you will have to
 rebuild are when a package needs webkit-gtk to support another toolkit
 (which should happen only once), and when you upgrade (in which case
 you would be updating them separately anyway). I also fail to see what
 this has to do with binpkgs: if something needs webkit-gtk[gtk2], you
 add a dep on webkit-gtk[gtk2]. The user adds USE=gtk2 to webkit-gtk if
 needed, webkit-gtk binpkg gets rebuilt. I see no breakage there

Actually changing a USE flag on a package such as webkit-gtk has a huge
cost.

If say you build with USE=gtk3 then suddenly need gtk2, you not only
build what you need, you will also have to rebuild gtk3 support which
you already have though. Since this takes a decent amount of time, even
on a one year old i7, I don't know about you, but I am pretty sure users
will start to complain about this as well.

You would have to build, webkit1 for gtk2, webkit1 for gtk3 and webkit2
for gtk3.

The story is the same for almost all libs that support both toolkits,
you end up rebuilding everything even if you already have one.
webkit-gtk is just the best example to prove you this is a bad idea.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] RFC: GTK USE flag situation (gtk, gtk2, gtk3; relevant to bug #420493)

2014-02-11 Thread Gilles Dartiguelongue
Thanks for attaching link to team's policy which tries to lift any kind
of ambiguities people may have for what concerns gnome team's packages,
I hope it proved useful in your discussions.


Le mercredi 12 février 2014 à 00:39 +0200, Alex Alexander a écrit :
 Hello fellow developers,
 
 In the first meeting of the new QA team, we discussed the state of the
 gtk{,2,3} USE flags in the main tree. [0]
 
 In its current state, USE=gtk means gtk2. The Gnome team is trying to change
 this into the most recent gtk version (it is a work in progress).

Wrong, gtk USE flag means enable gtk support, whether this is gtk 1, 2
or 3 depends on what the package (presumably library) supports and
whether is can be slotted or not and whether current gentoo maintainer
decides what can be reasonably supported.

 Unfortunately, the concurrent nature of gtk2/gtk3 has resulted in packages 
 that
 may support either or both the toolkits. To handle this, a few developers have
 introduced the gtk3 useflag, that prefers gtk3 over gtk2 when both toolkit
 versions are supported. At this point, the Gnome team highly recommends
 prefering gtk3 if possible, skipping the useflag altogether. [1]

Wrong, as is written in policy whether to prefer gtk2 or 3 is up to the
maintainer of the package. We point people to the fact that upstream
says gtk2 is a dead end and support will stop (if not in fact already
stopped) in the near future.

We also recommend to have maintainers support slots for their libs where
possible considering man-power and to only choose one toolkit for
applications considering where upstream development is going and
maturity of the port, and again, this is up to package maintainers.

 Some developers choose to follow the Gnome team's highlights, while others
 choose to go their own way. The QA team would like to establish a guideline
 that solves this problem in the best way possible.
 
 During our discussion, it was pointed out that keeping a generic USE=gtk is
 sub-optimal. The non-straightforward nature of new toolkit versions makes
 transitioning from one to the other a slow, tedius process and we think that a
 non-versioned USE flag makes things even worse.
 
 A few of our members recommended a move away from the unversioned USE=gtk to
 versioned-only USE flags. Qt managed to do this quite successfully when they
 transitioned from the unversioned USE=qt (that actually meant qt3) to
 USE=qt4. The benefits can be seen now that qt5 is around the corner.
 USE=qt5 is straightforward, does not mess with qt4 packages and was
 introduced to the tree without messing with current packages too much - other
 than adding a new use flag where appropriate. There is also no need for
 USE=qt anymore.
 
 To achieve this, version 3 of gtk should always be enabled by USE=gtk3. At
 some point in the future, when gtk2 consumers reach zero, we will retire gtk
 for good. Then, if some day gtk4 comes around, we will be able to introduce
 support for it in the tree by simply adding USE=gtk4, without having to
 re-structure half the tree.
 
 We are reaching out to the developer community to hear your thoughts and ideas
 on the matter. We would like to reach a decision that could possibly affect 
 and
 direct the state of whole tree. This decision could then be turned into a
 policy, improving Gentoo's consistency across the tree.

Imho the whole discussion stems for packages maintainers which, as you
have written, did not follow our recommendation and tried to provided
application with both gtk2 and gtk3 support.

I agree that Gentoo is about choice... however as a maintainer of a
lot of packages, it is unreasonable to try to support two configuration
where one is dying slowly due to upstream (gtk)  maintainer focus being
elsewhere, hence why we wanted maintainers to choose. Instead, it occurs
that some decided not to choose or to stop users from annoying them with
100 of duplicate bugs about not providing the alternative.

Looking at the situation from a gnome team member perspective when Gnome
3 was introduced to the tree, only three packages (providing libs)
needed exception to the rule to avoid unreasonable maintenance overhead:
spice, gtk-vnc and avahi. All of them had proper USE-dependencies in
relevant ebuilds so no confusion would be possible.

Right now, I don't really get the point of this discussion given all the
precedent threads about this, be it 2 years ago and 8-10 years ago.

Anyway, if QA would provide with a list of offenders (this could have
been done on bugzilla btw), we could walk-through the list and verify
what/if/how packages would need extra USE flags or not and not just for
our self-written policy's sake that is.

 Cheers
 
 [0] 
 https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Meeting_Summaries#Summary_of_Wednesday_January_29.2C_2014
 [1] https://wiki.gentoo.org/wiki/Gnome_Team_Policies#gtk3

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] waf-utils.eclass: maintainer needed

2014-02-09 Thread Gilles Dartiguelongue
Hi all,

a few years ago, I had to write this eclass because one gnome package
started using waf as its build system. I never intended to continue
maintaining this eclass unless the package in question would stop
working otherwise but at that time, nobody stepped up to help.

So here we are nowadays with feature requests and patches stacking up
mostly unreviewed, the rest of the gnome team is not interested in waf
as well so if anyone is willing to have a better support for this crazy
build system please add yourself to eclass meta.

I will proceed to re-assigning all open bug reports to maintainer-needed
in a week or so.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




[gentoo-dev] Re: New eclass: xdg-basedir

2014-01-30 Thread Gilles Dartiguelongue
Le mercredi 29 janvier 2014 à 22:37 -0500, Mike Gilbert a écrit :
 One difference: it creates 3 of the 4 directories under ${HOME}
 instead
 of ${T}, just to mimic the default behavior in the XDG basedir spec a
 bit more closely.

The thing with ${HOME} is that it should not be a directory where XDG
compliants tools should be able to store anything permanent while
building since this would affect consecutive builds (say
gobject-introspection, gstreamer registry, etc).

This is why it is set to ${T} in gnome2-utils.eclass.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Re: New eclass: xdg-basedir

2014-01-30 Thread Gilles Dartiguelongue
Le jeudi 30 janvier 2014 à 09:29 +0100, Ulrich Mueller a écrit :
  On Thu, 30 Jan 2014, Gilles Dartiguelongue wrote:
 
  The thing with ${HOME} is that it should not be a directory where
  XDG compliants tools should be able to store anything permanent
  while building since this would affect consecutive builds (say
  gobject-introspection, gstreamer registry, etc).
 
  This is why it is set to ${T} in gnome2-utils.eclass.
 
 HOME is as temporary as T during build time. PMS says: The full path
 to an appropriate temporary directory for use by any programs invoked
 by the ebuild that may read or modify the home directory.
 
 With Portage, HOME will point to:
 ${PORTAGE_TMPDIR}/${CATEGORY}/${PF}/homedir/
 

Very well then.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Re: Dealing with XDG directories in ebuild environment

2014-01-29 Thread Gilles Dartiguelongue
Le mardi 28 janvier 2014 à 13:11 +, Steven J. Long a écrit :
 Alec Warner wrote:
  Sorry, I work on Portage. What I'm saying is that We are free to change the
  behavior of *portage* now; rather than waiting for a new EAPI. If an ebuild
  needs to define EAPI=eapi-next to 'correctly' use XDG_*, well that is
  someone else's can of worms.
 
 Agreed: portage can clear those vars from the env as mgorny stated on the bug,
 and an xdg.eclass (or w/e) can setup good defaults for packages which need
 them. Presumably it'd be inherited by gnome and kde eclasses, for example,
 so most people wouldn't even see it.

Exactly.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Dealing with XDG directories in ebuild environment

2014-01-27 Thread Gilles Dartiguelongue
Le lundi 27 janvier 2014 à 02:10 +0100, Peter Stuge a écrit :
 here any other solution for users than fixing the ebuilds and/or
 eclass(es)?

Any dev is supposed to know if his/her package complies to XDG
specifications, easy enough to figure out in most cases.

Like other packages affected by environment variables they use
(gstreamer, glib, etc), we just need a sane place to properly reset/set
those to ensure repeatability of builds.

Given current PM behavior, it is not possible to change what is exported
to build environment without an EAPI bump because the potential for
breakage is huge and you do not want to spend your next month building
the tree to build a whitelist of environment variables, right ? Imho,
the best course of action is to move that to an eclass for now.

People are encouraged to provide a prototype implementation of such
eclass in the previously mentioned bug report.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




[gentoo-dev] [PATCH] gst-plugins10.eclass: fix support for 1.2 series

2013-09-29 Thread Gilles Dartiguelongue
Hi all,

here is a little patch to gst-plugins10.eclass fixing SLOT definition
for the new 1.2 release. Per upstream release mail, 1.* will remain
API/ABI compatible.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo
Index: gst-plugins10.eclass
===
RCS file: /var/cvsroot/gentoo-x86/eclass/gst-plugins10.eclass,v
retrieving revision 1.10
diff -u -B -r1.10 gst-plugins10.eclass
--- gst-plugins10.eclass	31 Jan 2013 19:59:54 -	1.10
+++ gst-plugins10.eclass	29 Sep 2013 14:50:58 -
@@ -102,7 +102,11 @@
 SRC_URI=http://gstreamer.freedesktop.org/src/${GST_ORG_MODULE}/${GST_ORG_MODULE}-${PV}.tar.${GST_TARBALL_SUFFIX};
 
 LICENSE=GPL-2
-SLOT=${GST_ORG_PVP}
+case ${GST_ORG_PVP} in
+	0.10) SLOT=0.10 ;;
+	1.*) SLOT=1.0 ;;
+	*) die Unkown gstreamer release.
+esac
 
 S=${WORKDIR}/${GST_ORG_MODULE}-${PV}
 


Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-15 Thread Gilles Dartiguelongue
Le samedi 14 septembre 2013 à 18:07 -0500, William Hubbs a écrit :
 On Sat, Sep 14, 2013 at 10:59:57PM +0200, Pacho Ramos wrote:
  openrc-settings will need to be kept if we ever want to implement:
  https://bugs.gentoo.org/show_bug.cgi?id=480336
 
 There may be other reasons to keep the api, that's why I put out the
 question.
 
 However, I thought the gnome team had agreed that you were going to
 just mandate systemd for gnome 3.8 and newer since logind is unusable
 outside of systemd. In that case, can't we just close this bug as
 wontfix?
 

I'll repeat what I wrote on this list at least 4 times now. The gnome
team decided to move forward and use systemd as we have not enough man
power to develop our own alternative to logind.

If there ever was such alternative, we would most likely drop the
systemd requirement and I would, for sure, be the first to try it out
since I very much prefer openrc.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] rfc: status of OpenRC's public API

2013-09-14 Thread Gilles Dartiguelongue
Le samedi 14 septembre 2013 à 00:47 -0400, Alexandre Rostovtsev a
écrit :
 On Fri, 2013-09-13 at 22:48 -0500, William Hubbs wrote:
  On Fri, Sep 13, 2013 at 09:04:06PM -0400, Alexandre Rostovtsev wrote:
   app-admin/openrc-settingsd uses various functions (rc_sys(),
   rc_runlevel_get(), rc_service_exists(), rc_service_in_runlevel(),
   rc_service_resolve(), rc_service_mark() etc.) from rc.h
  
  Will this still be needed once gnome 3.8 is stable everywhere?
 
 It will not be needed for gnome. Possibly another desktop environment
 might have a use for it.

It will be needed if someone manages to implement a logind alternative
as well. If that ever happens.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH] gnome2-utils.eclass add support for gdk-pixbuf cache update

2013-09-11 Thread Gilles Dartiguelongue
Le mardi 10 septembre 2013 à 17:10 +0200, Fabian Groffen a écrit :
 On 10-09-2013 06:22:38 -0400, Ian Stakenvicius wrote:
   pkg_preinst() {
  gnome2_gdk_pixbuf_savelist
   +
   +   # Make sure loaders.cache belongs to gdk-pixbuf alone
   +   local cache=usr/$(get_libdir)/${PN}-2.0/2.10.0/loaders.cache
   +
   +   if [[ -e ${ROOT}${cache} ]]; then
   +   cp ${ROOT}${cache} ${D}/${cache} || die
   +   else
   +   touch ${D}/${cache} || die
   +   fi
   }
   
   pkg_postinst() {
   
  
  
  shouldn't that be EROOT ?
 
 and ED in that case too

Do we still use that in EAPI  3 ?

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] [PATCH] gnome2-utils.eclass add support for gdk-pixbuf cache update

2013-09-09 Thread Gilles Dartiguelongue
As a follow up to this discussion, I came with the attached patch. It
appears to work ok for regular merges and binpkg merges with
FEATURES=collision-protect.

Per my reading of PMS it does not appear to violate anything so I guess
it is ok.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo
Index: gdk-pixbuf-2.28.2.ebuild
===
RCS file: /var/cvsroot/gentoo-x86/x11-libs/gdk-pixbuf/gdk-pixbuf-2.28.2.ebuild,v
retrieving revision 1.3
diff -u -B -r1.3 gdk-pixbuf-2.28.2.ebuild
--- gdk-pixbuf-2.28.2.ebuild	3 Sep 2013 21:59:11 -	1.3
+++ gdk-pixbuf-2.28.2.ebuild	9 Sep 2013 22:28:20 -
@@ -67,6 +67,15 @@
 
 pkg_preinst() {
 	gnome2_gdk_pixbuf_savelist
+
+	# Make sure loaders.cache belongs to gdk-pixbuf alone
+	local cache=usr/$(get_libdir)/${PN}-2.0/2.10.0/loaders.cache
+
+	if [[ -e ${ROOT}${cache} ]]; then
+		cp ${ROOT}${cache} ${D}/${cache} || die
+	else
+		touch ${D}/${cache} || die
+	fi
 }
 
 pkg_postinst() {


Re: [gentoo-dev] [PATCH systemd.eclass] Introduce systemd_install_serviced().

2013-09-08 Thread Gilles Dartiguelongue
Le dimanche 08 septembre 2013 à 13:12 +0200, Michał Górny a écrit :
 This function can be used to install service configuration templates.
 Usage:
 
   systemd_install_serviced ${FILESDIR}/foo.service.conf
 
 or:
 
   systemd_install_serviced ${FILESDIR}/barbaz foo.service
 
 with the latter specifying related service name explicitly, former
 expecting it to match ${basename%.conf}. The files are installed as:
 
   /etc/systemd/system/foo.service.d/00gentoo.conf
 
 They should be commented out templates that users can use to customize
 the service easily.

Looks like a good idea, do you have a few example packages where that
could be used ?

 ---
  gx86/eclass/systemd.eclass | 26 ++
  1 file changed, 26 insertions(+)
 
 diff --git a/gx86/eclass/systemd.eclass b/gx86/eclass/systemd.eclass
 index 4566631..1575b78 100644
 --- a/gx86/eclass/systemd.eclass
 +++ b/gx86/eclass/systemd.eclass
 @@ -131,6 +131,32 @@ systemd_newunit() {
   newins ${@}
  }
  
 +# @FUNCTION: systemd_install_serviced
 +# @USAGE: conf-file [service.d]
 +# @DESCRIPTION:
 +# Install the file conf-file as service.d/00gentoo.conf template.
 +# The service.d argument specifies the configured service name.
 +# If not specified, the configuration file name will be used with .conf
 +# suffix stripped (e.g. foo.service.conf - foo.service).
 +systemd_install_serviced() {
 + debug-print-function ${FUNCNAME} ${@}
 +
 + local src=${1}
 + local service=${2}
 +
 + if [[ ! ${service} ]]; then
 + [[ ${src} == *.conf ]] || die Source file needs .conf suffix
 + service=${src##*/}
 + service=${service%.conf}
 + fi
 + # avoid potentially common mistake
 + [[ ${service} != *.d ]] || die Service must not have .d suffix
 +
 + local INSDESTTREE

I guess this is a leftover ?

 + insinto /etc/systemd/system/${service}.d
 + newins ${src} 00gentoo.conf
 +}
 +
  # @FUNCTION: systemd_dotmpfilesd
  # @USAGE: tmpfilesd1 [...]
  # @DESCRIPTION:

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] [PATCH] gnome2-utils.eclass add support for gdk-pixbuf cache update

2013-09-04 Thread Gilles Dartiguelongue
One last point to handle, how to migrate gdk-pixbuf.cache so that it is
owned by the ebuild ?

I've discussed this with Michał and it seems two options are possible.

1. rm the file on the filesystem in pkg_preinst in gdk-pixbuf ebuild
pros:
  - works immediately without fiddling with profiles (see 2)
cons:
  - no idea what PMS says about it, Michał told me it shouldn't work yet
my testing proves otherwise.
  - leaves the system with no loaders.cache for a while which could
result in apps starting with no lots of missing icons.

2. use COLLISION_IGNORE in profiles/base/make.conf
pros:
  - does not leave the system without the cache file
cons:
  - add a setting to base/make.conf for a long period of time to ensure
most of our user have migrated (how long would it be btw, 6 months, 1
year ?)
  - does not protect other packages from owning the package due to this
very solution for the time the setting is left in base/make.conf

3. write a news item and let users handle it


Is there any other solution or is there any other point that would move
the balance from one solution to another ?

This solution would also be applied to a couple of other commonly
regenerated files in Gnome ebuilds, like gtk-icon-cache, etc.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] [PATCH] gnome2-utils.eclass add support for gdk-pixbuf cache update

2013-09-04 Thread Gilles Dartiguelongue
Le mercredi 04 septembre 2013 à 15:48 -0400, Ian Stakenvicius a écrit :
 On 04/09/13 03:44 PM, Gilles Dartiguelongue wrote:
  Le mercredi 04 septembre 2013 à 15:23 -0400, Ian Stakenvicius a
  écrit : [snip]
  
  By gdk-pixbuf.cache , you mean the 'loaders.cache' file that the 
  eclass is now continuously updating?  Which ebuild is going to
  'own' it?
  
  yes, gdk-pixbuf is going to own it since it is the main loader
  provider and the package that provides the tool to generate the
  cache.
  
  Also, is it owned by anything right now?  IIRC we don't try 
  particularly hard to support FEATURES=collision-protect in the
  tree, but rather FEATURES=protect-owned, and so if the file is
  currently sitting there unowned by any package, afaik you
  shouldn't get any collisions by installing over it.
  
  it is not owned by any package right now but touching the file in 
  src_install made collision-protect abort the install.
 
 You had FEATURES=collision-protect enabled  or the default
 FEATURES=protect-owned ?

the default, but since I only touched the file, maybe it's
FEATURES=config-protect-if-modified kicking in ?

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH] gnome2-utils.eclass add support for gdk-pixbuf cache update

2013-09-01 Thread Gilles Dartiguelongue

Le samedi 31 août 2013 à 18:44 +0200, Gilles Dartiguelongue a écrit :
 Le samedi 31 août 2013 à 16:49 +0200, Michał Górny a écrit :
  Dnia 2013-08-31, o godz. 15:00:43
  Gilles Dartiguelongue e...@gentoo.org napisał(a):
  
   Le samedi 31 août 2013 à 13:40 +0200, Michał Górny a écrit :
 + cat ${tmp_file}  
 ${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache

Why not mv or cp? Also you need '|| die' here since 'cat' can fail
writing.

Thanks for pacho's bugzillafu, we've got the original reports here:

https://bugs.gentoo.org/show_bug.cgi?id=413529
https://bugs.gentoo.org/show_bug.cgi?id=413485

It seems the cat usage was only to avoid handling file permission
issues.

The use of a temporary file itself it to avoid having a corrupted file
if the command fails.

As for immodules I plan to provide patches to fix it after we agree on
this one.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH] gnome2-utils.eclass add support for gdk-pixbuf cache update

2013-09-01 Thread Gilles Dartiguelongue
Updated diffs + gdk-pixbuf handling.

Tested with success locally.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo
Index: gnome2.eclass
===
RCS file: /var/cvsroot/gentoo-x86/eclass/gnome2.eclass,v
retrieving revision 1.122
diff -u -B -r1.122 gnome2.eclass
--- gnome2.eclass	26 May 2013 14:08:21 -	1.122
+++ gnome2.eclass	1 Sep 2013 15:04:58 -
@@ -258,6 +258,7 @@
 	gnome2_icon_savelist
 	gnome2_schemas_savelist
 	gnome2_scrollkeeper_savelist
+	gnome2_gdk_pixbuf_savelist
 }
 
 # @FUNCTION: gnome2_pkg_postinst
@@ -271,6 +272,7 @@
 	gnome2_icon_cache_update
 	gnome2_schemas_update
 	gnome2_scrollkeeper_update
+	gnome2_gdk_pixbuf_update
 }
 
 # # FIXME Handle GConf schemas removal
Index: gnome2-utils.eclass
===
RCS file: /var/cvsroot/gentoo-x86/eclass/gnome2-utils.eclass,v
retrieving revision 1.31
diff -u -B -r1.31 gnome2-utils.eclass
--- gnome2-utils.eclass	27 Oct 2012 22:24:10 -	1.31
+++ gnome2-utils.eclass	1 Sep 2013 15:04:58 -
@@ -15,6 +15,8 @@
 #  * GConf schemas management
 #  * scrollkeeper (old Gnome help system) management
 
+inherit multilib
+
 case ${EAPI:-0} in
 	0|1|2|3|4|5) ;;
 	*) die EAPI=${EAPI} is not supported ;;
@@ -50,6 +52,12 @@
 # Path to glib-compile-schemas
 : ${GLIB_COMPILE_SCHEMAS:=/usr/bin/glib-compile-schemas}
 
+# @ECLASS-VARIABLE: GDK_PIXBUF_UPDATE_BIN
+# @INTERNAL
+# @DESCRIPTION:
+# Path to gdk-pixbuf-query-loaders
+: ${GDK_PIXBUF_UPDATE_BIN:=/usr/bin/gdk-pixbuf-query-loaders}
+
 # @ECLASS-VARIABLE: GNOME2_ECLASS_SCHEMAS
 # @INTERNAL
 # @DEFAULT_UNSET
@@ -74,6 +82,12 @@
 # @DESCRIPTION:
 # List of GSettings schemas provided by the package
 
+# @ECLASS-VARIABLE: GNOME2_ECLASS_GDK_PIXBUF_LOADERS
+# @INTERNAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# List of gdk-pixbuf loaders provided by the package
+
 DEPEND==sys-apps/sed-4
 
 
@@ -387,6 +401,46 @@
 	eend $?
 }
 
+# @FUNCTION: gnome2_gdk_pixbuf_savelist
+# @DESCRIPTION:
+# Find if there is any gdk-pixbuf loader to install and save the list in
+# GNOME2_ECLASS_GDK_PIXBUF_LOADERS variable.
+# This function should be called from pkg_preinst.
+gnome2_gdk_pixbuf_savelist() {
+	has ${EAPI:-0} 0 1 2  ! use prefix  ED=${D}
+	pushd ${ED} 1/dev/null
+	export GNOME2_ECLASS_GDK_PIXBUF_LOADERS=$(find usr/$(get_libdir)/gdk-pixbuf-2.0 -type f 2/dev/null)
+	popd 1/dev/null
+}
+
+# @FUNCTION: gnome2_gdk_pixbuf_update
+# @USAGE: gnome2_gdk_pixbuf_update
+# @DESCRIPTION:
+# Updates gdk-pixbuf loader cache if GNOME2_ECLASS_GDK_PIXBUF_LOADERS has some.
+# This function should be called from pkg_postinst and pkg_postrm.
+gnome2_gdk_pixbuf_update() {
+	has ${EAPI:-0} 0 1 2  ! use prefix  EROOT=${ROOT}
+	local updater=${EROOT}${GDK_PIXBUF_UPDATE_BIN}
+
+	if [[ ! -x ${updater} ]]; then
+		debug-print ${updater} is not executable
+		return
+	fi
+
+	if [[ -z ${GNOME2_ECLASS_GDK_PIXBUF_LOADERS} ]]; then
+		debug-print gdk-pixbuf loader cache does not need an update
+		return
+	fi
+
+	ebegin Updating gdk-pixbuf loader cache
+	local tmp_file=$(mktemp -t tmp.XX_gdkpixbuf)
+	${updater} 1 ${tmp_file} 
+	chmod 0644 ${tmp_file} 
+	mv -f ${tmp_file} ${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache
+	eend $?
+}
+
+
 # @FUNCTION: gnome2_query_immodules_gtk2
 # @USAGE: gnome2_query_immodules_gtk2
 # @DESCRIPTION:
Index: gdk-pixbuf-2.28.2.ebuild
===
RCS file: /var/cvsroot/gentoo-x86/x11-libs/gdk-pixbuf/gdk-pixbuf-2.28.2.ebuild,v
retrieving revision 1.2
diff -u -B -r1.2 gdk-pixbuf-2.28.2.ebuild
--- gdk-pixbuf-2.28.2.ebuild	5 Aug 2013 09:48:12 -	1.2
+++ gdk-pixbuf-2.28.2.ebuild	1 Sep 2013 15:09:12 -
@@ -3,7 +3,8 @@
 # $Header: /var/cvsroot/gentoo-x86/x11-libs/gdk-pixbuf/gdk-pixbuf-2.28.2.ebuild,v 1.2 2013/08/05 09:48:12 ssuominen Exp $
 
 EAPI=5
-inherit gnome.org multilib libtool
+
+inherit gnome.org gnome2-utils multilib libtool
 
 DESCRIPTION=Image loading library for GTK+
 HOMEPAGE=http://www.gtk.org/;
@@ -64,19 +65,15 @@
 	prune_libtool_files --modules
 }
 
+pkg_preinst() {
+	gnome2_gdk_pixbuf_savelist
+}
+
 pkg_postinst() {
 	# causes segfault if set, see bug 375615
 	unset __GL_NO_DSO_FINALIZER
 
-	tmp_file=$(mktemp -t tmp_gdk_pixbuf_ebuild.XX)
-	# be atomic!
-	gdk-pixbuf-query-loaders  ${tmp_file}
-	if [ ${?} = 0 ]; then
-		cat ${tmp_file}  ${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache
-	else
-		ewarn Cannot update loaders.cache, gdk-pixbuf-query-loaders failed to run
-	fi
-	rm ${tmp_file}
+	gnome2_gdk_pixbuf_update
 
 	# FIXME: use subslots to get rebuilds when really needed
 	# Every major version bump???
@@ -86,3 +83,9 @@
 		elog emerge -va1 \$(qfile -qC ${EPREFIX}/usr/lib/gtk-2.0/2.*/loaders)
 	fi
 }
+
+pkg_postrm() {
+	if [[ -z ${REPLACED_BY_VERSIONS} ]]; then
+		rm -f ${EROOT}usr/$(get_libdir)/${PN}-2.0/2.10.0/loaders.cache
+	fi
+}


[gentoo-dev] [PATCH] gnome2-utils.eclass add support for gdk-pixbuf cache update

2013-08-31 Thread Gilles Dartiguelongue
As described here:

https://bugs.gentoo.org/show_bug.cgi?id=483128

This is a very lightweight patch to support the few packages that
provide gdk pixbuf loaders. The ones I know of are: gdk-pixbuf itself,
librsvg and libopenraw and emul-gtklibs but more could be missing simply
because they do not run the command.

Since this patch is quite trivial, I'd like to have it commited by
Sunday. Thanks.

I am attaching the patch here as well for convience.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo
Index: gnome2.eclass
===
RCS file: /var/cvsroot/gentoo-x86/eclass/gnome2.eclass,v
retrieving revision 1.122
diff -u -B -r1.122 gnome2.eclass
--- gnome2.eclass	26 May 2013 14:08:21 -	1.122
+++ gnome2.eclass	31 Aug 2013 10:56:58 -
@@ -258,6 +258,7 @@
 	gnome2_icon_savelist
 	gnome2_schemas_savelist
 	gnome2_scrollkeeper_savelist
+	gnome2_gdk_pixbuf_savelist
 }
 
 # @FUNCTION: gnome2_pkg_postinst
@@ -271,6 +272,7 @@
 	gnome2_icon_cache_update
 	gnome2_schemas_update
 	gnome2_scrollkeeper_update
+	gnome2_gdk_pixbuf_update
 }
 
 # # FIXME Handle GConf schemas removal
Index: gnome2-utils.eclass
===
RCS file: /var/cvsroot/gentoo-x86/eclass/gnome2-utils.eclass,v
retrieving revision 1.31
diff -u -B -r1.31 gnome2-utils.eclass
--- gnome2-utils.eclass	27 Oct 2012 22:24:10 -	1.31
+++ gnome2-utils.eclass	31 Aug 2013 10:56:58 -
@@ -50,6 +50,12 @@
 # Path to glib-compile-schemas
 : ${GLIB_COMPILE_SCHEMAS:=/usr/bin/glib-compile-schemas}
 
+# @ECLASS-VARIABLE: GDK_PIXBUF_UPDATE_BIN
+# @INTERNAL
+# @DESCRIPTION:
+# Path to gdk-pixbuf-query-loaders
+: ${GDK_PIXBUF_UPDATE_BIN:=/usr/bin/gdk-pixbuf-query-loaders}
+
 # @ECLASS-VARIABLE: GNOME2_ECLASS_SCHEMAS
 # @INTERNAL
 # @DEFAULT_UNSET
@@ -74,6 +80,12 @@
 # @DESCRIPTION:
 # List of GSettings schemas provided by the package
 
+# @ECLASS-VARIABLE: GNOME2_ECLASS_GDK_PIXBUF_LOADERS
+# @INTERNAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# List of gdk-pixbuf loaders provided by the package
+
 DEPEND==sys-apps/sed-4
 
 
@@ -387,6 +399,45 @@
 	eend $?
 }
 
+# @FUNCTION: gnome2_gdk_pixbuf_savelist
+# @DESCRIPTION:
+# Find if there is any gdk-pixbuf loader to install and save the list in
+# GNOME2_ECLASS_GDK_PIXBUF_LOADERS variable.
+# This function should be called from pkg_preinst.
+gnome2_gdk_pixbuf_savelist() {
+	has ${EAPI:-0} 0 1 2  ! use prefix  ED=${D}
+	pushd ${ED} /dev/null
+	export GNOME2_ECLASS_GDK_PIXBUF_LOADERS=$(find usr/$(get_libdir)/gdk-pixbuf-2.0 -type f 2/dev/null)
+	popd /dev/null
+}
+
+# @FUNCTION: gnome2_gdk_pixbuf_update
+# @USAGE: gnome2_gdk_pixbuf_update
+# @DESCRIPTION:
+# Updates gdk-pixbuf loader cache if GNOME2_ECLASS_GDK_PIXBUF_LOADERS has some.
+# This function should be called from pkg_postinst and pkg_postrm.
+gnome2_gdk_pixbuf_update() {
+	has ${EAPI:-0} 0 1 2  ! use prefix  EROOT=${ROOT}
+	local updater=${EROOT}${GDK_PIXBUF_UPDATE_BIN}
+
+	if [[ ! -x ${updater} ]]; then
+		debug-print ${updater} is not executable
+		return
+	fi
+
+	if [[ -z ${GNOME2_ECLASS_GDK_PIXBUF_LOADERS} ]]; then
+		debug-print gdk-pixbuf loader cache does not need an update
+		return
+	fi
+
+	ebegin Updating gdk-pixbuf loader cache
+	local tmp_file=$(mktemp -t tmp.XX_gdkpixbuf)
+	${updater} 1 ${tmp_file} 2/dev/null 
+	cat ${tmp_file}  ${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache
+	eend $?
+}
+
+
 # @FUNCTION: gnome2_query_immodules_gtk2
 # @USAGE: gnome2_query_immodules_gtk2
 # @DESCRIPTION:


Re: [gentoo-dev] [PATCH] gnome2-utils.eclass add support for gdk-pixbuf cache update

2013-08-31 Thread Gilles Dartiguelongue
Le samedi 31 août 2013 à 13:40 +0200, Michał Górny a écrit :
 Dnia 2013-08-31, o godz. 13:07:41
 Gilles Dartiguelongue e...@gentoo.org napisał(a):
 
  +# @FUNCTION: gnome2_gdk_pixbuf_savelist
  +# @DESCRIPTION:
  +# Find if there is any gdk-pixbuf loader to install and save the list in
  +# GNOME2_ECLASS_GDK_PIXBUF_LOADERS variable.
  +# This function should be called from pkg_preinst.
  +gnome2_gdk_pixbuf_savelist() {
  +   has ${EAPI:-0} 0 1 2  ! use prefix  ED=${D}
  +   pushd ${ED} /dev/null
 
 pushd ${ED} /dev/null || die
 
 (don't hide errors)

ok, I'll check all other usage in gnome eclasses.

  +   export GNOME2_ECLASS_GDK_PIXBUF_LOADERS=$(find 
  usr/$(get_libdir)/gdk-pixbuf-2.0 -type f 2/dev/null)
  +   popd /dev/null
  +}
  +
  +# @FUNCTION: gnome2_gdk_pixbuf_update
  +# @USAGE: gnome2_gdk_pixbuf_update
  +# @DESCRIPTION:
  +# Updates gdk-pixbuf loader cache if GNOME2_ECLASS_GDK_PIXBUF_LOADERS has 
  some.
  +# This function should be called from pkg_postinst and pkg_postrm.
  +gnome2_gdk_pixbuf_update() {
  +   has ${EAPI:-0} 0 1 2  ! use prefix  EROOT=${ROOT}
  +   local updater=${EROOT}${GDK_PIXBUF_UPDATE_BIN}
  +
  +   if [[ ! -x ${updater} ]]; then
  +   debug-print ${updater} is not executable
  +   return
  +   fi
  +
  +   if [[ -z ${GNOME2_ECLASS_GDK_PIXBUF_LOADERS} ]]; then
  +   debug-print gdk-pixbuf loader cache does not need an update
  +   return
  +   fi
  +
  +   ebegin Updating gdk-pixbuf loader cache
  +   local tmp_file=$(mktemp -t tmp.XX_gdkpixbuf)
  +   ${updater} 1 ${tmp_file} 2/dev/null 
 
 Why do you hide errors from user? '[FAIL]' with no explanation doesn't
 seem really helpeful.

True.

  +   cat ${tmp_file}  
  ${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache
 
 Why not mv or cp? Also you need '|| die' here since 'cat' can fail
 writing.

I'd have to look back at the original bug report to get the exact reason
but it seems mv/cp was not atomic enough.

 Is it safe to assume constant '2.10.0'?

afaik yes, it's not changed in ages.

  +   eend $?
  +}
  +
  +
   # @FUNCTION: gnome2_query_immodules_gtk2
   # @USAGE: gnome2_query_immodules_gtk2
   # @DESCRIPTION:
 
 Also, please make 'loaders.cache' owned by x11-libs/gdk-pixbuf.

Yes, we need to work on that for all other caches as well.

 And please ensure to remove it in pkg_postrm() when last version
 of gdk-pixbuf is unmerged.

I am not clear on this last sentence. Could you reformulate it please ?

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH] gnome2-utils.eclass add support for gdk-pixbuf cache update

2013-08-31 Thread Gilles Dartiguelongue
Le samedi 31 août 2013 à 16:49 +0200, Michał Górny a écrit :
 Dnia 2013-08-31, o godz. 15:00:43
 Gilles Dartiguelongue e...@gentoo.org napisał(a):
 
  Le samedi 31 août 2013 à 13:40 +0200, Michał Górny a écrit :
+   cat ${tmp_file}  
${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache
   
   Why not mv or cp? Also you need '|| die' here since 'cat' can fail
   writing.
  
  I'd have to look back at the original bug report to get the exact reason
  but it seems mv/cp was not atomic enough.
 
 Well, 'cat' is not atomic at all, so definitely not that :). 'mv' is
 the only command that you can expect to at least try to be atomic.
 
 It may had something to do with file metadata or symlinks.

I sort of remember there was a bug report but I can find no trace of it.
All I could find was the commit that introduced this logic, by lxnay:

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/gdk-pixbuf/gdk-pixbuf-2.24.0.ebuild?hideattic=0revision=1.2view=markup

@lxnay, could you please comment on previous question ?

   And please ensure to remove it in pkg_postrm() when last version
   of gdk-pixbuf is unmerged.
  
  I am not clear on this last sentence. Could you reformulate it please ?
 
 In gdk-pixbuf, something like:
 
 pkg_postrm() {
   # TODO: check if i used the correct variable :)
   [[ ${REPLACING_VERSIONS} ]] || rm -f ${EROOT}usr/.../loaders.cache
 }
 

ok, will do.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] gtk2/gtk3 use flags

2013-08-21 Thread Gilles Dartiguelongue
Le mercredi 21 août 2013 à 12:15 +0800, Ben de Groot a écrit :
 On 21 August 2013 07:36, Gilles Dartiguelongue e...@gentoo.org wrote:
  Le mardi 20 août 2013 à 17:31 +0400, Sergey Popov a écrit :
  16.08.2013 21:15, hasufell пишет:
   https://bugs.gentoo.org/show_bug.cgi?id=420493
  
   gtk2 and gtk3 useflags are discouraged and should only be used in
   special cases
  
   file a bug for those if there is not one already
 
  What's about maintainer wish to support both of toolkits? I have dropped
  GTK2 support in gtkdiskfree[1], but it seems that proxied maintainer
  will quit if i keep things that way :-/
 
  The upstream maintainer is free to support both toolkits if he wishes to
  do so, but we strongly recommend to only select one slot for
  applications in gentoo tree, the one which works best for the
  application.
 
  --
  Gilles Dartiguelongue e...@gentoo.org
  Gentoo
 
 When upstream supports both, and the maintainer wishes to do so as
 well, I would strongly recommend to support both, so that end-users
 can make their own choices. Some may wish to use the applications in a
 light-weight gtk2-only environment such as LXDE. As long as gtk+:2 is
 supported in the tree, I don't see why we should artificially restrict
 such choices for our users.

The reasons are enumerated on the wiki and are just a summary of the
older thread where this was discussed.

Of course, since there is no body to impose such rules, you are free to
go against gnome team self imposed policy and recommendation.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] gtk2/gtk3 use flags

2013-08-20 Thread Gilles Dartiguelongue
Le samedi 17 août 2013 à 15:33 +0300, Samuli Suominen a écrit :
 On 16/08/13 20:12, Michael Weber wrote:
  Hello,
 
  gtk is a global use flag [1], gtk2 and gtk3 are used in metadata.xml [2].
 
  Is there a consensus how to use these flags if an app provides gtk2
  and gtk3 gui in parallel or exclusive?
 
 'gtk' uses best possible version as defined by the package maintainer
 
 'gtk3' is a special flag that is used when package supports both gtk and 
 gtk3 at the same time, and matches the criteria of sanity which is a) 
 it's an library that is used by multiple programs b) is not easy to
 split, which would otherwise be preferred over using the USE flag
 
 'gtk2' is never required, those matching it down from the list have weak 
 design which goes against every other ebuild in tree, but is still 
 package maintainers decision
 
 special flags like 'IUSE=+deprecated' can be used if there is a need 
 to enable the old GTK+ implementation by default, but still provide the 
 new one, in programs.  like if enabling GTK+3 instead of GTK+2 would 
 disable you from using flash plug-in in a browser, would qualify in.
 
 imho :)

Quick read says that it is exactly what the gnome herd said over and
over on this list and on IRC.

I'll also write it down again for regular applications, having a USE
flag for controlling build of your application against gtk+:2 or 3 is
not what the gnome team recommends. Either the gtk3 UI is working or it
is not satisfying, there is no in the middle.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] gtk2/gtk3 use flags

2013-08-20 Thread Gilles Dartiguelongue
Le mardi 20 août 2013 à 17:31 +0400, Sergey Popov a écrit :
 16.08.2013 21:15, hasufell пишет:
  https://bugs.gentoo.org/show_bug.cgi?id=420493
  
  gtk2 and gtk3 useflags are discouraged and should only be used in
  special cases
  
  file a bug for those if there is not one already
 
 What's about maintainer wish to support both of toolkits? I have dropped
 GTK2 support in gtkdiskfree[1], but it seems that proxied maintainer
 will quit if i keep things that way :-/

The upstream maintainer is free to support both toolkits if he wishes to
do so, but we strongly recommend to only select one slot for
applications in gentoo tree, the one which works best for the
application.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] systemd team consensus?

2013-08-11 Thread Gilles Dartiguelongue
Le dimanche 11 août 2013 à 22:09 +0300, Alon Bar-Lev a écrit :
 On Sun, Aug 11, 2013 at 9:59 PM, Tom Wijsman tom...@gentoo.org wrote:
  On Sun, 11 Aug 2013 13:29:16 -0500
  William Hubbs willi...@gentoo.org wrote:
 
  You may ask why I have offered patches instead of just fixing the
  ebuild since I am a team member. That is because even team members
  aren't allowed to touch bugs assigned to syst...@gentoo.org [1],
 
  Well, if there are conflicts within a team then I can agree that no
  member is allowed to touch the bug without a collaborative decision;
  but from what it appears this bug has been handed in a way that one
  member appears to take all decisions and the other member has nothing
  to say. In particular, comments 5 and 11 change the state of the bug
  without giving any reasoning about why that change in state was made;
  this is unacceptable, it gives us no reason to believe the state change.
 
 This is expected, as it is similar to how systemd/gnome is managed :)

I hope you are not talking about the Gentoo Gnome team as this would be
very wrong. Every team member is heard on the team.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Gnome Stabilization 3.6 or 3.8

2013-08-09 Thread Gilles Dartiguelongue
Le jeudi 08 août 2013 à 21:03 -0500, William Hubbs a écrit :
 The decision to depend on systemd for part of its functionality is with
 gnome upstream, not the gnome team of Gentoo.
 
 Pacho wrote a good summary of what is going on. I can see why OpenBSD
 would provide the missing functionality of systemd for gnome (systemd
 does not, and will not, exist on the *BSDs). Someone could provide the
 missing functionality of systemd so that gnome could run without
 systemd, or they could provide patches to gnome upstream to make sure it
 works without the need for systemd.
 
 I suggest that if you really want to keep this going, convincing gnome
 upstream that running without systemd is still important is the way to
 go, not taking it out on the Gentoo gnome team, and the best way to
 convince gnome would probably be to provide patches.
 
 All of the complaining and taking it out on our gnome team is not
 productive. Asking our gnome team to carry downstream patches is also
 not productive, because they would end up being forced to update these
 patches against every new gnome release.
 
 It is not a regression if a new version of gnome mrequires systemd
 and does not work with OpenRc; it is a design choice.
 
 The community doesn't need to decide whether systemd can go stable;
 The community would only need to decide if we switch the default init
 system to systemd. No one is proposing this.

+1

We, the gnome team, did our best to delay this dependency by talking to
upstream submitting patches, etc. But as many have written already, not
all of gnome upstream cares as they decided Gnome should be monolithic
now.

This is not our decision but we still have to handle the consequences.

For the record we did and still do support setups that upstream does not
care about.
 * In the past, we had policykit/polkit optional, we had to stop that
since it is now too tied in to be decently maintained at our level
 * We had pulseaudio optional, again, this is now over in some of the
core components of Gnome, but we do keep it optional were possible
 * We maintain networkmanager and bluetooth support optional, and this
has been the case since 3.2 iirc even though upstream flat out refuses
to merge our perfectly fine patches

Keeping systemd optional in Gnome cannot be achieved by the Gentoo Gnome
team. If someone comes up with a solution to have logind without
systemd, we will gladly include it but remember that a few devs (4/5
afaik) already tried and sadly failed.

So until there is an alternative, Gnome 3.8 is going stable as the gnome
team decided because it provides the best Gnome 3 experience yet. Gnome
3.6 is almost one year old and unsupported, Gnome 2 is over 4 years old
and should already have left the tree but we didn't do so because we
wanted our users to have a decently stable desktop to work with,
whatever it is made of.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Response to a friendly note about changing bug reports

2013-08-07 Thread Gilles Dartiguelongue
Guys, please, if you want to bikeshed about bug summary, please do it in
a constructive way and get the automated bug assignment project going.

http://permalink.gmane.org/gmane.linux.gentoo.devel/66279

Otherwise, please reimburse the time I've spent reading this useless
thread, TIA ;)

(For the record, I fully support jer's work, my OCD doesn't look so bad
we he gets summaries fixed for me beforehand).

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] font.eclass add Xorg FontPath elements for non-standard paths

2013-07-04 Thread Gilles Dartiguelongue
Le jeudi 04 juillet 2013 à 01:07 +0200, Michael Weber a écrit :
 Hello,
 
 as Ondrej Grover pointed out on [1], the font.eclass installs font
 files and indexes (font.dir, fonts.scale) into sub-dirs of
 /usr/share/fonts/, e.g. /usr/share/fonts/terminus.
 
 These directories are naturally not in the fontpath of Xorg server,
 and could not be used without adding these with xset fp+.
 As said on the bug, the Xserver itself should be abled to find all
 fonts, and it's not the duty of the xinitrc/window-manager to collect
 all these paths in the users process.
 
 I'd like to propose a patch to font.eclass to add the newly created
 paths to the Xorg server configuration via xorg.conf.d files [2].
 I contacted fonts alias and, as mentioned on the bug and irc, Ben de
 Groot (yngwin) does not object and says that font team lead Peter
 Volkov (pva) is non-active.
 
 Please review for technical problems (esp. for EPREFIX).
 
 Open questions:
 
 - Should the (current) default xorg server paths
   /usr/share/fonts/{75dpi,100dpi,misc,TTF,OTF,TYPE1} really be excluded?
   How would the startup and font lookup perfomance degrade with
   multiple conf.d files, containing the same path multiple times?
 
 - How would already installed font packages see this fix?
   Revbump (and stabilize) every one of them?
 
 - Alternative solutions would be installing fonts in xorg-servers
   default paths or add one configuration file that gets newly
   assembled  on every font_pkg_postinst run.

Imho, this should be handled in pkg_postinst generating one Xorg
configuration file at the end of the install, very much like
fdo .desktop or mime cache file.

This solves most of the point raised since any font bump would generate
the file for all fonts.

Also, not sure it is related but, maybe this could be linked to
configuration set by eselect fontconfig in some way ?

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Introduce global dmalloc USE flag?

2013-06-24 Thread Gilles Dartiguelongue
Le samedi 22 juin 2013 à 15:48 +0800, Dennis Lan (dlan) a écrit :
 On Fri, Jun 21, 2013 at 2:34 AM, Ian Stakenvicius a...@gentoo.org wrote:
  -BEGIN PGP SIGNED MESSAGE-
  Hash: SHA256
 
  On 13/06/13 01:05 AM, Michał Górny wrote:
  Dnia 2013-06-13, o godz. 09:35:54 Dennis Lan (dlan)
  dennis.y...@gmail.com napisał(a):
 
  also 4) app-admin/conserver 5) net-nds/ypbind 6) net-fs/samba 7)
  net-analyzer/scli 8) net-analyzer/traceproto 6) net-misc/siproxd
 
  use dmalloc but controlled under USE=debug
 
  Do those use USE=debug solely for dmalloc or does it imply other
  stuff? Therefore: will it be possible to use USE=dmalloc in those
  packages?
 
 HI mgorny, as I look into those ebuilds
 all of them use the USE=debug flag for dmalloc only, not for other
 debugging control
 so, as your second question, of course it's possible to switch to USE=dmalloc
 
 
 
  and to follow up, if we assume that USE=debug does more than just
  build the package against the dmalloc lib (which is likely), is there
 
 Yes, if this case exist.. then the separation would be good
 
 
  any particular benefit to USE=debug -dmalloc ?  Or USE=dmalloc
  - -debug ?
 
 
 I'm not sure, probably the befefits would be that we can have more
 accurate/explicit control,
 USE=dmalloc is for debugging memory usage stuff (allocation, free,
 fence-post overwritten control)
 and USE=debug for other stuff?
 
 This is a slightly improvement, but I'm also totally fine to keep
 current state as it is.. no big deal

Reading this thread, looks to me like these dmalloc USE should be moved
to debug, unless it has no runtime impact on usual speed, etc.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Introduce global dmalloc USE flag?

2013-06-24 Thread Gilles Dartiguelongue
Le lundi 24 juin 2013 à 12:05 +0300, Samuli Suominen a écrit :
 On 24/06/13 11:54, Gilles Dartiguelongue wrote:
  Le samedi 22 juin 2013 à 15:48 +0800, Dennis Lan (dlan) a écrit :
  On Fri, Jun 21, 2013 at 2:34 AM, Ian Stakenvicius a...@gentoo.org wrote:
  -BEGIN PGP SIGNED MESSAGE-
  Hash: SHA256
 
  On 13/06/13 01:05 AM, Michał Górny wrote:
  Dnia 2013-06-13, o godz. 09:35:54 Dennis Lan (dlan)
  dennis.y...@gmail.com napisał(a):
 
  also 4) app-admin/conserver 5) net-nds/ypbind 6) net-fs/samba 7)
  net-analyzer/scli 8) net-analyzer/traceproto 6) net-misc/siproxd
 
  use dmalloc but controlled under USE=debug
 
  Do those use USE=debug solely for dmalloc or does it imply other
  stuff? Therefore: will it be possible to use USE=dmalloc in those
  packages?
 
  HI mgorny, as I look into those ebuilds
  all of them use the USE=debug flag for dmalloc only, not for other
  debugging control
  so, as your second question, of course it's possible to switch to 
  USE=dmalloc
 
 
 
  and to follow up, if we assume that USE=debug does more than just
  build the package against the dmalloc lib (which is likely), is there
 
  Yes, if this case exist.. then the separation would be good
 
 
  any particular benefit to USE=debug -dmalloc ?  Or USE=dmalloc
  - -debug ?
 
 
  I'm not sure, probably the befefits would be that we can have more
  accurate/explicit control,
  USE=dmalloc is for debugging memory usage stuff (allocation, free,
  fence-post overwritten control)
  and USE=debug for other stuff?
 
  This is a slightly improvement, but I'm also totally fine to keep
  current state as it is.. no big deal
 
  Reading this thread, looks to me like these dmalloc USE should be moved
  to debug, unless it has no runtime impact on usual speed, etc.
 
 
 It does. In most often cases building against dmalloc makes the 
 application/library completely unusable, and building it against dmalloc 
 is intended for the developer of the application.
 Separated USE=dmalloc is the only sane way to approach it.

To be clear, the justification of USE=dmalloc being separated from
USE=debug is that it is so intrusive than anyone excepts a developer
would find it too cumbersome to attempt to debug a problem with the
application ?

If that is the case, maybe the USE flag description should mention that
so it is not enabled lightly.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-31 Thread Gilles Dartiguelongue
Le mardi 28 mai 2013 à 22:18 +0200, Michał Górny a écrit :
 On Tue, 28 May 2013 15:22:04 -0400
 Anthony G. Basile bluen...@gentoo.org wrote:
 
  I thought about ssl but I'm still not sure if USE=ssl means just openssl 
  or any ssl.  Eg, with curl, which has a choice of one of six backend ssl 
  providers, I changed USE=ssl to mean that one and only one of the six 
  must be on.  Previously though, USE=ssl in curl meant only openssl which 
  was confusing because you could also have USE=nss or gnutls etc provide 
  your ssl.  monkey also bounced around its ssl backend from liana_ssl to 
  polarssl which is what made me think of curl.  What if in the future 
  there's yet another ssl backend? Although use.desc does say ... ssl - 
  Adds support for Secure Socket Layer connections.  Any advice here?
 
 Any SSL. If there are multiple backends to support, there are specific
 flags which affect the choice but USE=ssl means any SSL is suitable.
 

Already explained multiple times on this mailing list, and not only for
ssl. Imho this should be part of some QA policy or documentation about
writing ebuilds or whatever and not just for ssl.

In any case, I wrote this down for the Gnome team at Gentoo wiki [1].


[1] http://wiki.gentoo.org/wiki/Gnome_Team_Policies#ssl

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] robo-stable bugs

2013-05-20 Thread Gilles Dartiguelongue
Le dimanche 19 mai 2013 à 17:00 -0700, Paweł Hajdan, Jr. a écrit :
 On 5/19/13 6:40 AM, Jeroen Roovers wrote:
  Private messages and public comments through bugzilla are so far 
  ignored, it seems, so let's try a venue where it's sure to cause a 
  flamewar instead. My apologies for the inconvenience.
 
 Hey Jeroen, apologies if I have ignored any of your feedback.
 
 I'm indeed behind on bugmail (5000 unread emails, how about that?).

That would explain why you're still filling gnome stabilization bugs
while we replied many times we don't want them in their current form ?

 
 I do read mailing list traffic and direct e-mail though.
 
  We agreed a little while ago that bug Summaries should start with an 
  atom, if possible, and explain the action later.
 
 Could you refer me to the part where we agreed and why? I'm actually
 happy to make changes that are useful for people, but without a good
 rationale and an _actual_ consensus someone else will inevitably come
 and says he likes the old way better.
 

This was discussed on the mailing list a couple of times. Last big
thread related to this was automatic bug assignment iirc.

This generally needs to go first so sorting by summary shows your
packages in order and you have a chance to see this part of the summary
in bugzilla (with version optionally), the rest of the summary line is
imho less important when working through the web interface.

 Remember this is supposed to _help_ Gentoo. You can opt out of the bugs
 (there is a package name and maintainer name regex in the script). You
 don't need to hunt them down - if you do nothing another script will
 just CC arches after 30 days.

I'll repeat gnome team position here:

We do not want automated stabilization requests.

We handle so many packages that having individual bug reports is driving
arch teams and us crazy.

We have our own set of scripts to do batch stabilization bug reports.
They were designed with arch teams so that it does not generate too much
load on them.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Global useflags zeroconf and avahi

2013-04-02 Thread Gilles Dartiguelongue
Le mardi 02 avril 2013 à 09:43 +0200, Michał Górny a écrit :
 On Tue, 2 Apr 2013 00:43:31 +0200
 Andreas K. Huettel dilfri...@gentoo.org wrote:
 
  Am Dienstag, 2. April 2013, 00:27:59 schrieb Chí-Thanh Christopher Nguyễn:
I would like to suggest unifying use-flag usage, and use zeroconf
anywhere.
   
   Sounds good. Do you think the same should apply to non-mDNS/DNS-SD based
   zeroconf like UPnP/SSDP?
  
  No idea to be honest... :| opinions?
 
 The flags should be practical. I have no use for DNS-SD and other
 magical junk, yet use UPnP/IGD for port forwarding. The flags should
 let me just enable just that without pulling all other possible
 variants I won't use.
 
 That said, USE=upnp was cleaned up a while ago. I don't think it should
 be integrated with zeroconf.

Yeah I don't think it should be merged into zeroconf even though it
shares some of its technical base.

Imho, zeroconf == dnssd/mdns  ipv4ll and upnp/upnp-av are as described
in use.desc

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Global useflags zeroconf and avahi

2013-04-01 Thread Gilles Dartiguelongue
Le lundi 01 avril 2013 à 23:58 +0200, Andreas K. Huettel a écrit :
 
 Hi everyone, 
 
 first of all, I'm not really an expert in this stuff, so feel free to tell me 
 about any mis-assumptions...
 
 As far as I can see, we have two global useflags:
 avahi - Add avahi/Zeroconf support
 zeroconf - Support for DNS Service Discovery (DNS-SD)
 
 Zeroconf describes a service autodiscovery and autoconfiguration standard, 
 see [1]. Avahi is the implementation of that standard which we have in the 
 portage tree [2]. Other implementations are mDNSResponder (which was in the 
 tree some time ago but got kicked out) and Apple's Bonjour (which never was 
 in 
 the tree and probably never will be).
 
 I would like to suggest unifying use-flag usage, and use zeroconf anywhere.
 
 Opinions?

I thought this discussion was over last time it came around.

iirc the conclusion was what you wrote, use zeroconf unless there is a
special reason (none afaik in tree).

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Minor change in pkg-config behavior, starting with 0.28, late heads up for maintainers

2013-03-29 Thread Gilles Dartiguelongue
Le vendredi 29 mars 2013 à 08:30 +0200, Samuli Suominen a écrit :
 This is from Fedora Devel Mailing List. I found it to be news worthy 
 also for Gentoo maintainers. 

Thanks for the heads up, it will probably save some time figuring out
magic/sudden break up :)




Re: [gentoo-dev] Add HEXCHAT_PLUGINS to USE_EXPAND

2013-03-28 Thread Gilles Dartiguelongue
Le mercredi 27 mars 2013 à 14:35 +0100, René Neumann a écrit :
 Also the bug gives no reasoning, why
 having USE_EXPAND is a good thing here.
 

Maybe IUSE_EXPAND is seen by most as namespaced USE flags ?
For example libgphoto2 has used this feature for as long as I can
remember it being around, and no package using it rely on them.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Proposed update to pax-utils.eclass

2013-03-27 Thread Gilles Dartiguelongue
Le dimanche 24 mars 2013 à 20:20 -0400, Anthony G. Basile a écrit :
 Last call, does anyone have a problem with me updating the 
 pax-utils.eclass?  See Ref [3] above for the code.  I'll wait a couple 
 more days and then do it.

looks like last conditional branch for XT marking in pax-mark function
is not using the proper variables (pt_* instead ot xt_*).

The PAX_MARKINGS variable is not documented with eclass documentation
markup, it should at least get an @INTERNAL if this is not supposed to
be modified by eclass users.

_pax_list_files can receive documentation this way as well.

You should probably try to avoid mixing [[ ]] and [ ] in the eclass. [ ]
seems to be less used here so just have everything [[ ]] and drop the
useless quoting that came with [ ].

The rest looks fine.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Re: Add HEXCHAT_PLUGINS to USE_EXPAND

2013-03-27 Thread Gilles Dartiguelongue
Le mardi 26 mars 2013 à 22:28 +0100, Denis M. a écrit :
 On 03/21/2013 02:09 PM, Denis M. wrote:
 
  Hello, I'd want to ask if it's possible and a good idea to add
  HEXCHAT_PLUGINS to the global USE_EXPAND var.
  
  HEXCHAT_PLUGINS has been created as a user (and maintainer) request
  in bug 461972 [1] to handle easily the net-irc/hexchat plugins that
  this package offers, which are: checksum, doat, fishlim and sysinfo.
  
  The purposed ebuild can be found on the bug's attached files list.
  
  Regards,
  Denis M. (Phr33d0m)
  
  [1] https://bugs.gentoo.org/show_bug.cgi?id=461972 
 Bump. 
 
 Hi again, could I get a decisive answer on this please?

That does not sound like a bad idea, however I wonder how this extends
exactly if we start to do this for ebuilds which install a couple of
plugins behind a few regular USE flags nowadays like rhythmbox, abiword,
etc.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Last rites: net-im/kmess

2013-03-27 Thread Gilles Dartiguelongue
Le samedi 23 mars 2013 à 10:46 +, Markos Chandras a écrit :
 # Markos Chandras hwoar...@gentoo.org (23 Mar 2013)
 # MSN service terminated.
 # You can still use your MSN account in net-im/skype
 # or switch to an open protocol instead
 # Removal in 30 days
 net-im/kmess

MSN accounts also work with empathy in 3.6 and up (at least as
configured through gnome-online-accounts). Either the xmpp gateway
bridges to skype or the it was not shut down yet.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Ebuilds for nodejs apps - HOWTO?

2013-02-18 Thread Gilles Dartiguelongue
Le lundi 18 février 2013 à 01:39 +0100, Diego Elio Pettenò a écrit :
 On 18/02/2013 00:46, Gilles Dartiguelongue wrote:
  rethinkdb is a young project and its build system is a 1.5k lines
  makefile horror. I wouldn't reintroduce stuff that isn't used in tree
  just for this. I, at least, am not interested in moving this to the
  tree. I just added it to my overlay for a testing work stuff and that
  need is gone for now :).
 
 It was in my TODO anyway as I was asked about it before. I guess I'll
 re-introduce it under p.use.mask until it's actually needed.

ok then, have fun :)

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Ebuilds for nodejs apps - HOWTO?

2013-02-17 Thread Gilles Dartiguelongue
Le dimanche 17 février 2013 à 21:08 +0200, Leho Kraav a écrit :
 Hi all
 
 
 I'm taking a look at etherpad-lite ebuild at 
 https://bugs.gentoo.org/show_bug.cgi?id=328897
 
 It's a pretty big of a mess, but as I'm searching around, I can't really 
 find any guidelines on how nodejs / npm stuff is supposed fit in with 
 Portage. dev-nodejs/ doesn't even exist.
 
 Is this nodejs beast too new? Anyone care to point me in some direction 
 with this?
 
I have package some nodejs stuff related to rethinkdb in my overlay if
you want to have a look. Namely lessc and coffee-script. There is close
to no packaging (let alone decent) with nodejs apps but if you are
motivated enough, maybe there is something to explore from how npm works
and map that to an eclass.

Usual disclosure about overlays applies.

http://git.overlays.gentoo.org/gitweb/?p=dev/eva.git;a=summary

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Ebuilds for nodejs apps - HOWTO?

2013-02-17 Thread Gilles Dartiguelongue
Le lundi 18 février 2013 à 00:42 +0100, Diego Elio Pettenò a écrit :
 On 18/02/2013 00:39, Gilles Dartiguelongue wrote:
  I have package some nodejs stuff related to rethinkdb in my overlay if
  you want to have a look. Namely lessc and coffee-script. There is close
  to no packaging (let alone decent) with nodejs apps but if you are
  motivated enough, maybe there is something to explore from how npm works
  and map that to an eclass.
 
 Oh god why does it need static-libs on google-perftools? That's calling
 for trouble.
 
 But I guess I have to restore that crap :(

No you don't :)

rethinkdb is a young project and its build system is a 1.5k lines
makefile horror. I wouldn't reintroduce stuff that isn't used in tree
just for this. I, at least, am not interested in moving this to the
tree. I just added it to my overlay for a testing work stuff and that
need is gone for now :).

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




[gentoo-dev] Relaying a message from python software foundation

2013-02-15 Thread Gilles Dartiguelongue
In case you missed it and work in Europe with Python,

http://pyfound.blogspot.fr/2013/02/python-trademark-at-risk-in-europe-we.html

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Last time touched bugs by year

2013-02-15 Thread Gilles Dartiguelongue
Le jeudi 14 février 2013 à 19:19 +0100, Tomáš Chvátal a écrit :
 Hi,
 
 I added the bug queries to http://qa-reports.gentoo.org/ based by year of 
 last 
 being touched.
 
 Take look, try to close the oldest ones/invalid ones and so on.
 
 I think it is lame we have bugs last touched in 2k5 :-P

This is nice.

On another note, I just saw a report for EAPI per eclass which is super
nice but unfortunately, EAPI=5 is listed but actually unsupported by the
result of the scan :)


-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] [RFC/PATCH] A cleaner API for virtualx.eclass

2013-02-13 Thread Gilles Dartiguelongue
Le lundi 11 février 2013 à 23:48 +0100, Diego Elio Pettenò a écrit :
 I'd say, Go for it!
 
 But on the other hand I wonder if it might make sense to have
 something more generic, so that one only has to call something in a
 way such as
 
 virtualx_setup
 run_tests --foo
 virtualx_cleanup

This sounds nice but is imho but can be elaborated later on.


-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Removals reply

2013-02-04 Thread Gilles Dartiguelongue
Le lundi 04 février 2013 à 12:08 +0100, Michael Weber a écrit :
 On 02/03/2013 07:07 AM, Alexandre Rostovtsev wrote:
  We the Gentoo developers strongly believe that this project is not fun
  and not important. 
 veto. a) there is no we, b) there are conrary posts on this list.

that doesn't mean this is the majority either. In any case, if anyone
feels strongly about this, it should probably be discussed on -project
and/or brought up to the council. I have absolutely no interest in
having Gentoo be some kind of archive distro and will not read any
further mail in this thread since it has looped a few times already on
the same arguments.

Thanks for reading this captain obvious mail.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Packages up for grabs due lack of time

2013-02-03 Thread Gilles Dartiguelongue
Le dimanche 03 février 2013 à 12:44 +0100, Pacho Ramos a écrit :
 Due tester lack of time the following packages are up for grabs:
 app-dicts/verbiste

I am taking this.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] fcaps.eclass: bringing filesystem capabilities to the tree

2013-01-28 Thread Gilles Dartiguelongue
Le samedi 26 janvier 2013 à 02:46 -0500, Mike Frysinger a écrit :
 On Friday 25 January 2013 19:10:53 Gilles Dartiguelongue wrote:
  It's not like libcap is a big dependency
 
 true, but not everyone needs this, nor can everyone leverage it (caps).  it's 
 a linux-centric implementation and is dependent upon filesystem support being 
 available  enabled.
 
 that doesn't entirely justify making it a USE flag (since the code already 
 has 
 runtime fallback logic for when the fs doesn't support things), but since the 
 USE is low overhead and leverages logic that already has to be there, i have 
 no problem keeping it.  plus it defaults to on.

hum, ok.

  and it's not like this is an
  attempt to make the system more secure by according just the privileges
  needed for apps to work as intended, right ?
 
 mmm that's exactly what this is
 
  If the USE flag must stay, how is it different that current caps USE
  flag ? It applies and not just enables support but is that relevant to
  the purpose at hand ?

[...]

In summary, USE=caps if for stripping down from all to the bare minimum
caps while USE=filecaps should allow us to provide bare minimum required
capabilities from the start.

If so, maybe this could be the same USE flag ? I would understand if we
wanted to keep it separated to avoid potential confusion about the
actual impact on packages though.


-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] fcaps.eclass: bringing filesystem capabilities to the tree

2013-01-25 Thread Gilles Dartiguelongue
This might be a silly question already answered in a previous thread,
but why make it filecaps a USE-enable capability at all ?

It's not like libcap is a big dependency and it's not like this is an
attempt to make the system more secure by according just the privileges
needed for apps to work as intended, right ?

If the USE flag must stay, how is it different that current caps USE
flag ? It applies and not just enables support but is that relevant to
the purpose at hand ?

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH] gst-plugins10.eclass support for multiple plugin build directory

2013-01-23 Thread Gilles Dartiguelongue
Hi all,

this patch adds support for building plugins in different directory.

This has been a long TODO item but there is now a need for it since the
amrnb and amrwb codecs both depend on the same lib and I see no reason
to not have them under the same ebuild.

I am attaching the sample ebuild with it.

AMR* ebuild request is here:
https://bugs.gentoo.org/show_bug.cgi?id=306855

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo
Index: gst-plugins10.eclass
===
RCS file: /var/cvsroot/gentoo-x86/eclass/gst-plugins10.eclass,v
retrieving revision 1.9
diff -u -B -r1.9 gst-plugins10.eclass
--- gst-plugins10.eclass	16 Jan 2013 22:52:37 -	1.9
+++ gst-plugins10.eclass	23 Jan 2013 22:56:06 -
@@ -58,13 +58,13 @@
 # Defines the plugins to be built.
 # May be set by an ebuild and contain more than one indentifier, space
 # seperated (only src_configure can handle mutiple plugins at this time).
-GST_PLUGINS_BUILD=${PN/gst-plugins-/}
+: ${GST_PLUGINS_BUILD:=${PN/gst-plugins-/}}
 
 # @ECLASS-VARIABLE: GST_PLUGINS_BUILD_DIR
 # @DESCRIPTION:
 # Actual build directory of the plugin.
 # Most often the same as the configure switch name.
-GST_PLUGINS_BUILD_DIR=${PN/gst-plugins-/}
+: ${GST_PLUGINS_BUILD_DIR:=${PN/gst-plugins-/}}
 
 # @ECLASS-VARIABLE: GST_TARBALL_SUFFIX
 # @DESCRIPTION:
@@ -142,20 +142,24 @@
 }
 
 # @FUNCTION: gst-plugins10_find_plugin_dir
+# @USAGE: gst-plugins10_find_plugin_dir [build_dir]
 # @INTERNAL
 # @DESCRIPTION:
 # Finds plugin build directory and cd to it.
+# Defaults to ${GST_PLUGINS_BUILD_DIR} if argument is not provided
 gst-plugins10_find_plugin_dir() {
-	if [[ ! -d ${S}/ext/${GST_PLUGINS_BUILD_DIR} ]]; then
-		if [[ ! -d ${S}/sys/${GST_PLUGINS_BUILD_DIR} ]]; then
+	local build_dir=${1:-${GST_PLUGINS_BUILD_DIR}}
+
+	if [[ ! -d ${S}/ext/${build_dir} ]]; then
+		if [[ ! -d ${S}/sys/${build_dir} ]]; then
 			ewarn No such plugin directory
 			die
 		fi
-		einfo Building system plugin ${GST_PLUGINS_BUILD_DIR} ...
-		cd ${S}/sys/${GST_PLUGINS_BUILD_DIR}
+		einfo Building system plugin in ${build_dir}...
+		cd ${S}/sys/${build_dir}
 	else
-		einfo Building external plugin ${GST_PLUGINS_BUILD_DIR} ...
-		cd ${S}/ext/${GST_PLUGINS_BUILD_DIR}
+		einfo Building external plugin in ${build_dir}...
+		cd ${S}/ext/${build_dir}
 	fi
 }
 
@@ -171,15 +175,16 @@
 	local directory libs pkgconfig pc tuple
 	pkgconfig=$(tc-getPKG_CONFIG)
 
-	gst-plugins10_find_plugin_dir
-
-	for tuple in $@ ; do
-		directory=$(echo ${tuple} | cut -f1 -d':')
-		pc=$(echo ${tuple} | cut -f2 -d':')-${SLOT}
-		libs=$(${pkgconfig} --libs-only-l ${pc})
+	for plugin_dir in ${GST_PLUGINS_BUILD_DIR} ; do
+		gst-plugins10_find_plugin_dir ${plugin_dir}
 
-		sed -e s:\$(top_builddir)/${directory}/.*\.la:${libs}: \
-			-i Makefile.am Makefile.in || die
+		for tuple in $@ ; do
+			directory=$(echo ${tuple} | cut -f1 -d':')
+			pc=$(echo ${tuple} | cut -f2 -d':')-${SLOT}
+			libs=$(${pkgconfig} --libs-only-l ${pc})
+			sed -e s:\$(top_builddir)/${directory}/.*\.la:${libs}: \
+-i Makefile.am Makefile.in || die
+		done
 	done
 }
 
@@ -253,29 +258,37 @@
 # @DESCRIPTION:
 # Compiles requested gstreamer plugin.
 gst-plugins10_src_compile() {
+	local plugin_dir
+	
 	has ${EAPI:-0} 0 1  gst-plugins10_src_configure $@
 
-	gst-plugins10_find_plugin_dir
+	for plugin_dir in ${GST_PLUGINS_BUILD_DIR} ; do
+		gst-plugins10_find_plugin_dir ${plugin_dir}
 
-	if has ${EAPI:-0} 0 1 2 3 ; then
-		emake || die
-	else
-		default
-	fi
+		if has ${EAPI:-0} 0 1 2 3 ; then
+			emake || die
+		else
+			default
+		fi
+	done
 }
 
 # @FUNCTION: gst-plugins10_src_install
 # @DESCRIPTION:


Re: [gentoo-dev] Getting proper USE_EXPAND variable(s) for multilib

2013-01-20 Thread Gilles Dartiguelongue
Le lundi 21 janvier 2013 à 00:01 +0100, Thomas Sachau a écrit :
 Michał Górny schrieb:
  Hello,
  
  There is a fair interest in multilib and while still early, it would be
  a good moment to decide on how USE flags to use for it.
  
  The current attempts are mostly using USE=multilib which is not really
  expressive and poor. What I would go for is a clear variable specifying
  which targets package is built for.
  
  
  This raises the following questions:
  
  1) do we want the default ABI to be switchable?
  
  2) do we want irrelevant ABIs to be visible to emerge users?
  
  By 2) I mean: do we want the users to see stuff like:
  
MULTILIB_ABIS=amd64_abi1 amd64_abi2 -amd64_abi3 (-ppc64_abi1)
  (-ppc64_abi2) (-ppc64_abi3) ...
  
  or just the relevant part.
  
  To be honest, I don't know if there's other way to hide USE flags than
  using USE_EXPAND_HIDDEN. If we want to use that, we'd have to split
  the flags per-arch, i.e. have:
  
MULTILIB_AMD64=abi1 abi2 abi3
MULTILIB_PPC64=abi1 abi2 abi3
  
  with appropriate USE_EXPAND_HIDDEN set by profiles.
  
  
  What are your thoughts? Which arches would like to use multilib? What
  names for ABIs do you suggest?
  
 
 So you want to re-implement multilib-portage in an eclass without the
 additional benefits a package-manager level implementation has?

Well that's the point of the eclass that was proposed a few days ago
allow building multiple ABIs. Having clear USE-dep like python-r1.eclass
is imho the way to go.

As said in another reply of this thread, USE=multilib really is a
solution that has its problems (no fine PM control for ABIs, slow
updates of emul-pkgs) to the current problem and portage-multilib, well
it's a subject that pops up from time to time I have no idea how and
will it will come nor do I have time to help on that front.

However this eclass would enable quick and easy per-ebuild support for
multiple ABIs just like python-r1 and friends, and this is a good thing
for every maintainer that wants to provide this kind of support. I know
I would, at least to get rid of the always lagging emul packages.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH eutils] Introduce run_in_build_dir() used in a few ebuilds.

2013-01-13 Thread Gilles Dartiguelongue
Le dimanche 13 janvier 2013 à 16:08 +0100, Michał Górny a écrit :
 On Sun, 13 Jan 2013 09:05:31 -0600
 William Hubbs willi...@gentoo.org wrote:
 
  On Sun, Jan 13, 2013 at 02:29:43PM +0100, Michał Górny wrote:
   The run_in_build_dir() command simply runs given command
   in the directory stated as BUILD_DIR. This variable is used commonly
   by autotools-utils, cmake-utils and python-r1 eclasses, therefore I'm
   proposing adding the relevant function to eutils.
   ---
gx86/eclass/eutils.eclass | 19 +++
1 file changed, 19 insertions(+)
   
   diff --git a/gx86/eclass/eutils.eclass b/gx86/eclass/eutils.eclass
   index 6588792..bb3c1e3 100644
   --- a/gx86/eclass/eutils.eclass
   +++ b/gx86/eclass/eutils.eclass
   @@ -1495,6 +1495,25 @@ prune_libtool_files() {
 fi
}

   +# @FUNCTION: run_in_build_dir
   +# @USAGE: argv...
   +# @DESCRIPTION:
   +# Run the given command in the directory pointed by BUILD_DIR.
  
  I think I would make this more generic if it is going in eutiles,
  e.g. rename it something like run_in_dir and pass in the directory as the
  first argument.
 
 That's not going to work for us since the command is subject to a loop
 which sets BUILD_DIR, e.g.:
 
   python_foreach_impl run_in_build_dir ...
 
 with python_foreach_impl setting BUILD_DIR.

FTR, this function is used as-is in quite a few gnome ebuilds that use
python-r1 eclass. We thought that it could probably be used in other
places but it would be nice if we could have changes to would make it
not suitable for this purpose.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] [PATCH eutils] Introduce run_in_build_dir() used in a few ebuilds.

2013-01-13 Thread Gilles Dartiguelongue
Le dimanche 13 janvier 2013 à 09:52 -0600, William Hubbs a écrit :
 On Sun, Jan 13, 2013 at 04:08:18PM +0100, Michał Górny wrote:
  On Sun, 13 Jan 2013 09:05:31 -0600
  William Hubbs willi...@gentoo.org wrote:
  
   On Sun, Jan 13, 2013 at 02:29:43PM +0100, Michał Górny wrote:
The run_in_build_dir() command simply runs given command
in the directory stated as BUILD_DIR. This variable is used commonly
by autotools-utils, cmake-utils and python-r1 eclasses, therefore I'm
proposing adding the relevant function to eutils.
---
 gx86/eclass/eutils.eclass | 19 +++
 1 file changed, 19 insertions(+)

diff --git a/gx86/eclass/eutils.eclass b/gx86/eclass/eutils.eclass
index 6588792..bb3c1e3 100644
--- a/gx86/eclass/eutils.eclass
+++ b/gx86/eclass/eutils.eclass
@@ -1495,6 +1495,25 @@ prune_libtool_files() {
fi
 }
 
+# @FUNCTION: run_in_build_dir
+# @USAGE: argv...
+# @DESCRIPTION:
+# Run the given command in the directory pointed by BUILD_DIR.
   
   I think I would make this more generic if it is going in eutiles,
   e.g. rename it something like run_in_dir and pass in the directory as the
   first argument.
  
  That's not going to work for us since the command is subject to a loop
  which sets BUILD_DIR, e.g.:
  
python_foreach_impl run_in_build_dir ...
 
 Can you not change the logic so it doesn't die if build_dir isn't set,
 but uses the value of $1 and calls shift?

I guess an explicit option would be less error prone, eg. :

run_in_dir -d foodir barfunc arg1 arg2
or
run_in_dir --directory foodir barfunc arg1 arg2

documentation could then mention that the function defaults to BUILD_DIR
if this option is not set and fails if nothing is set.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




[gentoo-dev] [PATCH 0/4] gnome2.eclass updates

2013-01-13 Thread Gilles Dartiguelongue
Hi list,

here are a couple of patches to fix some bad behavior of the gnome2.eclass.

They have been sitting in the overlay for a while and I don't expect them to
cause any problem so I will commit then later today if nobody objects.

Gilles Dartiguelongue (4):
  eclass/gnome2.eclass: switch IUSE tests to in_iuse, bug #383901
  eclass/gnome2.eclass: drop deprecated SCROLLKEEPER_UPDATE
  eclass/gnome2.eclass: allow ebuild override of eclass generated econf
  eclass/gnome2.eclass: update wrt comment on bug #383901

 eclass/gnome2.eclass | 28 +++-
 1 file changed, 11 insertions(+), 17 deletions(-)

-- 
1.8.1

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH 1/4] switch IUSE tests to in_iuse, bug #383901

2013-01-13 Thread Gilles Dartiguelongue

has bla ${IUSE} is standardized through in_iuse. Make use of this function.

---
 eclass/gnome2.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/gnome2.eclass b/eclass/gnome2.eclass
index 70eb491..e263232 100644
--- a/eclass/gnome2.eclass
+++ b/eclass/gnome2.eclass
@@ -158,7 +158,7 @@ gnome2_src_configure() {
# rebuild docs.
# Preserve old behavior for older EAPI.
if grep -q enable-gtk-doc ${ECONF_SOURCE:-.}/configure ; then
-   if has ${EAPI-0} 0 1 2 3 4  has doc ${IUSE} ; then
+   if has ${EAPI:-0} 0 1 2 3 4  in_iuse doc ; then
G2CONF=${G2CONF} $(use_enable doc gtk-doc)
else
G2CONF=${G2CONF} --disable-gtk-doc
@@ -266,7 +266,7 @@ gnome2_src_install() {
if has ${EAPI:-0} 0 1 2 3 4; then
if [[ ${GNOME2_LA_PUNT} != no ]]; then
ebegin Removing .la files
-   if ! { has static-libs ${IUSE//+}  use static-libs; 
}; then
+   if ! { in_iuse static-libs  use static-libs; }; then
find ${D} -name '*.la' -exec rm -f {} + || 
die la file removal failed
fi
eend
-- 
1.8.1



signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH 2/4] drop deprecated SCROLLKEEPER_UPDATE

2013-01-13 Thread Gilles Dartiguelongue

SCROLLKEEPER_UPDATE variable was deprecated long ago. It is no longer needed
and no longer in use in tree.

---
 eclass/gnome2.eclass | 6 --
 1 file changed, 6 deletions(-)

diff --git a/eclass/gnome2.eclass b/eclass/gnome2.eclass
index e263232..e2540d1 100644
--- a/eclass/gnome2.eclass
+++ b/eclass/gnome2.eclass
@@ -68,12 +68,6 @@ ELTCONF=${ELTCONF:-}
 # Should we use EINSTALL instead of DESTDIR
 USE_EINSTALL=${USE_EINSTALL:-}
 
-# @ECLASS-VARIABLE: SCROLLKEEPER_UPDATE
-# @DEPRECATED
-# @DESCRIPTION:
-# Whether to run scrollkeeper for this package or not.
-SCROLLKEEPER_UPDATE=${SCROLLKEEPER_UPDATE:-1}
-
 # @ECLASS-VARIABLE: DOCS
 # @DEFAULT-UNSET
 # @DESCRIPTION:
-- 
1.8.1



signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH 3/4] allow ebuild override of eclass generated econf

2013-01-13 Thread Gilles Dartiguelongue

gnome2.eclass appends configure switches to user arguments.
Change logic so that it prepends values to G2CONF and pass extra args
of 
gnome2_src_configure after G2CONF so that ebuilds can indeed override
eclass
settings.

---
 eclass/gnome2.eclass | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/eclass/gnome2.eclass b/eclass/gnome2.eclass
index e2540d1..750f20b 100644
--- a/eclass/gnome2.eclass
+++ b/eclass/gnome2.eclass
@@ -140,7 +140,7 @@ gnome2_src_configure() {
# Update the GNOME configuration options
if [[ ${GCONF_DEBUG} != 'no' ]] ; then
if use debug ; then
-   G2CONF=${G2CONF} --enable-debug=yes
+   G2CONF=--enable-debug=yes ${G2CONF}
fi
fi
 
@@ -153,44 +153,44 @@ gnome2_src_configure() {
# Preserve old behavior for older EAPI.
if grep -q enable-gtk-doc ${ECONF_SOURCE:-.}/configure ; then
if has ${EAPI:-0} 0 1 2 3 4  in_iuse doc ; then
-   G2CONF=${G2CONF} $(use_enable doc gtk-doc)
+   G2CONF=$(use_enable doc gtk-doc) ${G2CONF}
else
-   G2CONF=${G2CONF} --disable-gtk-doc
+   G2CONF=--disable-gtk-doc ${G2CONF}
fi
fi
 
# Pass --disable-maintainer-mode when needed
if grep -q ^[[:space:]]*AM_MAINTAINER_MODE(\[enable\]) \
${ECONF_SOURCE:-.}/configure.*; then
-   G2CONF=${G2CONF} --disable-maintainer-mode
+   G2CONF=--disable-maintainer-mode ${G2CONF}
fi
 
# Pass --disable-scrollkeeper when possible
if grep -q disable-scrollkeeper ${ECONF_SOURCE:-.}/configure; then
-   G2CONF=${G2CONF} --disable-scrollkeeper
+   G2CONF=--disable-scrollkeeper ${G2CONF}
fi
 
# Pass --disable-silent-rules when possible (not needed for eapi5),
bug #429308
if has ${EAPI:-0} 0 1 2 3 4; then
if grep -q disable-silent-rules ${ECONF_SOURCE:-.}/configure; 
then
-   G2CONF=${G2CONF} --disable-silent-rules
+   G2CONF=--disable-silent-rules ${G2CONF}
fi
fi
 
# Pass --disable-schemas-install when possible
if grep -q disable-schemas-install ${ECONF_SOURCE:-.}/configure;
then
-   G2CONF=${G2CONF} --disable-schemas-install
+   G2CONF=--disable-schemas-install ${G2CONF}
fi
 
# Pass --disable-schemas-compile when possible
if grep -q disable-schemas-compile ${ECONF_SOURCE:-.}/configure;
then
-   G2CONF=${G2CONF} --disable-schemas-compile
+   G2CONF=--disable-schemas-compile ${G2CONF}
fi
 
# Avoid sandbox violations caused by gnome-vfs (bug #128289 and
#345659)
addwrite $(unset HOME; echo ~)/.gnome2
 
-   econf $@ ${G2CONF}
+   econf ${G2CONF} $@
 }
 
 # @FUNCTION: gnome2_src_compile
-- 
1.8.1



signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH 4/4] update wrt comment on bug #383901

2013-01-13 Thread Gilles Dartiguelongue

Update previous patch fixing bug #383901 with comments on this bug.

---
 eclass/gnome2.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/gnome2.eclass b/eclass/gnome2.eclass
index 750f20b..592585c 100644
--- a/eclass/gnome2.eclass
+++ b/eclass/gnome2.eclass
@@ -260,7 +260,7 @@ gnome2_src_install() {
if has ${EAPI:-0} 0 1 2 3 4; then
if [[ ${GNOME2_LA_PUNT} != no ]]; then
ebegin Removing .la files
-   if ! { in_iuse static-libs  use static-libs; }; then
+   if ! use_if_iuse static-libs ; then
find ${D} -name '*.la' -exec rm -f {} + || 
die la file removal failed
fi
eend
-- 
1.8.1



signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH 1/4] switch IUSE tests to in_iuse, bug #383901

2013-01-13 Thread Gilles Dartiguelongue
Le dimanche 13 janvier 2013 à 19:09 +, Ciaran McCreesh a écrit :
 On Sun, 13 Jan 2013 20:03:20 +0100
 Gilles Dartiguelongue e...@gentoo.org wrote:
  -   if has ${EAPI-0} 0 1 2 3 4  has doc ${IUSE} ; then
  +   if has ${EAPI:-0} 0 1 2 3 4  in_iuse doc ; then
 
 This is still wrong... You can't use IUSE like that.
 

I think this debate has already happened on this very list.

I don't presently want to fix your particular issues with that solution
but at the very least we can use the same hack (if you will)
everywhere so it is more easy to search for and eventually fix later on.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Handy pybugz wrappers

2013-01-12 Thread Gilles Dartiguelongue
Le samedi 12 janvier 2013 à 12:03 +0100, Michał Górny a écrit :
 On Fri, 11 Jan 2013 23:56:17 -0600
 Doug Goldstein car...@gentoo.org wrote:
 
  Anyone have handy pybugz wrappers for bumping ebuilds and fixing bugs?
  I'm so used to the environment at work where a post-commit hook parses
  specifically formatted commit messages to take several actions on
  commits. I figure before I hack on any I'd ask if someone has some
  that could be shared with the community. Really just looking to
  combine steps like echangelog and repoman commit with pybugz.

Here is my dummy wrapper for that.

I wrote a variation of that as a git hooks for overlays if that is what
you are really after.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


ecommit.sh
Description: application/shellscript


Re: [gentoo-dev] gstreamer eclass review

2012-12-06 Thread Gilles Dartiguelongue
Le jeudi 06 décembre 2012 à 06:01 +0200, Maxim Kammerer a écrit :
 Hi, after the commit 3 days ago all kinds of plugins suddenly depend
 on gst-plugins-bad. E.g.: gst-plugins-{dts,faad,libmms,resindvd,xvid}.
 Is gst-plugins-bad eclass the wrong one to inherit in their case?
 Also, vp8 plugin both inherits from the eclas, and has an explicit
 dependency on media-libs/gst-plugins-bad — perhaps one or the other
 should be removed.
 
Please open bug reports at gentoo's bugzilla if you have problem with
the ebuilds.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH] gnome2.eclass does not respect ECONF_SOURCE

2012-12-05 Thread Gilles Dartiguelongue
Le mercredi 05 décembre 2012 à 17:02 -0600, Doug Goldstein a écrit :
 class checks the configure script for certain items and
 adjusts the arguments to econf based on those checks. Unfortunately
 when checking the configure script it did not respect ECONF_SOURCE.

Looks good. Might need to apply these fixes to gstreamer eclasses as
well.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] RFC: new eclass - pkgconfig.eclass

2012-11-29 Thread Gilles Dartiguelongue
Le jeudi 29 novembre 2012 à 08:52 +0100, justin a écrit :
 Currently we have an eselect module to switch between different
 implementations by setting /usr/lib/lib[blas,lapack].so to the selected
 implementation.
 
 This has two drawbacks, which some of you might already of hit:
 1. They seem to be not completely API/ABI compatible (I don't which one
 is correct here. And please don't be nitpicking on this point). So
 switching would mean recompilation of all packages linked against it
 before, otherwise you might get runtime errors. This takes time and
 triggers point 2.
 
 2. As andy showed we should stick with specific implementations for
 specific tasks. The current way flattens this out to be optimal for some
 and suboptimal for others.
 
 Now, there has been a lot of effort around Andy and Sebastien to solve
 this problem. The solution is simple: don't install any libblas.so or
 liblapack.so in libdir, but instead make the pkg-config module
 eselectable and force packages to used pkg-config. Nearly (I think its
 100%) of the packages in the tree already use pkg-config to detect
 blas/lapack.

I think I understand the problem now. You should not patch/generate .pc
files but install them to an implementation specific subdirectory.

That way, you just have to append that path to PKGCONFIG_PATH when
configuring your package using blas and you should be able to
transparently select which implementation to get without further
patching of either upstream or downstream packages.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH 4/4] Example conversion of pygobject to python-r1 + autotools-utils.

2012-11-29 Thread Gilles Dartiguelongue
First, thanks for this patch, I was planning on converting it but did
not have to do it.

Le jeudi 29 novembre 2012 à 14:40 +0100, Michał Górny a écrit :
 ---
  .../dev-python/pygobject/pygobject-3.2.2-r1.ebuild | 106 
 +
  1 file changed, 106 insertions(+)
  create mode 100644 gx86/dev-python/pygobject/pygobject-3.2.2-r1.ebuild
 
 diff --git a/gx86/dev-python/pygobject/pygobject-3.2.2-r1.ebuild 
 b/gx86/dev-python/pygobject/pygobject-3.2.2-r1.ebuild
 new file mode 100644
 index 000..289eace
 --- /dev/null
 +++ b/gx86/dev-python/pygobject/pygobject-3.2.2-r1.ebuild
 @@ -0,0 +1,106 @@
 +# Copyright 1999-2012 Gentoo Foundation
 +# Distributed under the terms of the GNU General Public License v2
 +# $Header: 
 /var/cvsroot/gentoo-x86/dev-python/pygobject/pygobject-3.2.2.ebuild,v 1.5 
 2012/09/28 05:45:45 mattst88 Exp $
 +
 +EAPI=4
 +GCONF_DEBUG=no
 +PYTHON_COMPAT=( python2_6 python2_7 python3_1 python3_2 )
 +AUTOTOOLS_AUTORECONF=1
 +
 +inherit autotools-utils eutils gnome2 python-r1 virtualx

Please do not mix autotools utils with gnome2 eclass. gnome team does
not support out of tree builds for now. I have plans to integrate this
in the eclass but we found that upstream generally does not test this so
we want to test it more extensively before making this available.

 +# FIXME: With python multiple ABI support, tests return 1 even when they pass
 +src_test() {
 + local DBUS_SESSION_BUS_ADDRESS
 + local GIO_USE_VFS='local' # prevents odd issues with deleting ${T}/.gvfs
 + local VIRTUALX_COMMAND=python_test
 +
 + export GIO_USE_VFS
 +
 + python_foreach_impl virtualmake
 +
 + python_execute_function -s testing
 +}
 +
dbus variables needs to be unset for tests to work when you do your
builds from a terminal started from your desktop, is that really
equivalent ?

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] RFC: new eclass - pkgconfig.eclass

2012-11-29 Thread Gilles Dartiguelongue
Le jeudi 29 novembre 2012 à 10:07 +0100, justin a écrit :
 On 29/11/12 09:48, Gilles Dartiguelongue wrote:
  Le jeudi 29 novembre 2012 à 08:52 +0100, justin a écrit :
  Currently we have an eselect module to switch between different
  implementations by setting /usr/lib/lib[blas,lapack].so to the selected
  implementation.
 
  This has two drawbacks, which some of you might already of hit:
  1. They seem to be not completely API/ABI compatible (I don't which one
  is correct here. And please don't be nitpicking on this point). So
  switching would mean recompilation of all packages linked against it
  before, otherwise you might get runtime errors. This takes time and
  triggers point 2.
 
  2. As andy showed we should stick with specific implementations for
  specific tasks. The current way flattens this out to be optimal for some
  and suboptimal for others.
 
  Now, there has been a lot of effort around Andy and Sebastien to solve
  this problem. The solution is simple: don't install any libblas.so or
  liblapack.so in libdir, but instead make the pkg-config module
  eselectable and force packages to used pkg-config. Nearly (I think its
  100%) of the packages in the tree already use pkg-config to detect
  blas/lapack.
  
  I think I understand the problem now. You should not patch/generate .pc
  files but install them to an implementation specific subdirectory.
  
 
 If I get you correctly you are assuming that we have pkgconfig files for
 all implementations coming from upstreams. That's not correct, we have
 nearly none. So we need to generate them our own. And yes this need to
 be sent upstream.
 
 That's the reason for the eclass.
 
  That way, you just have to append that path to PKGCONFIG_PATH when
  configuring your package using blas and you should be able to
  transparently select which implementation to get without further
  patching of either upstream or downstream packages.
  
 
 This would mean that the pkg maintainer decides the implementation. But
 we leave this choice to the user which works fine. And we have a working
 eselect based solution.

No, this means you can then use USE flags to select it which is package
manager controlled and usually easier to deal with than eselected stuff.

For example, if you know some packages have to be built with the same
blas implementation to work properly together, you can do USE deps which
is not possible with eselect and I am sure this is not the only case.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] New global useflag proposals

2012-11-23 Thread Gilles Dartiguelongue
Le vendredi 23 novembre 2012 à 15:03 +0100, Tomáš Chvátal a écrit :
 Hi guys,
 
 wayland: Enable dev-libs/wayland backend
 
 vdpau: Enable the Video Decode and Presentation API for Unix
 acceleration interface.

While at it, I'd like to finally have USE=introspection a global USE
flag. The gnome team had to stay with local flags because we are not
willing to change ebuilds (114 by use.local.desc count) using it and
we've always had an argument that maybe someday, somebody else will do
introspection and that would confuse people.

Well it's been a few years now (at least 2 by gnome release count), and
nothing comparable has emerged in gentoo (at least). So, can we go
forward with this now ?

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] [python-single-r1 1/3] A conceptual eclass for packages not supporting multiple Python impls.

2012-11-22 Thread Gilles Dartiguelongue
Le mercredi 21 novembre 2012 à 23:19 +0100, Michał Górny a écrit :
 diff --git a/gx86/eclass/python-single-r1.eclass 
 b/gx86/eclass/python-single-r1.eclass
 new file mode 100644
 index 000..3d21ea8
 --- /dev/null
 +++ b/gx86/eclass/python-single-r1.eclass
 @@ -0,0 +1,93 @@
 +# Copyright 1999-2012 Gentoo Foundation
 +# Distributed under the terms of the GNU General Public License v2
 +# $Header: /var/cvsroot/gentoo-x86/eclass/python-r1.eclass,v 1.20 2012/11/21 
 09:04:14 mgorny Exp $
 +
 +# @ECLASS: python-single-r1
 +# @MAINTAINER:
 +# Michał Górny mgo...@gentoo.org
 +# Python herd pyt...@gentoo.org
 +# @AUTHOR:
 +# Author: Michał Górny mgo...@gentoo.org
 +# Based on work of: Krzysztof Pawlik nelch...@gentoo.org
 +# @BLURB: An eclass for Python packages not installed for multiple 
 implementations.
 +# @DESCRIPTION:
 +# An extension of the python-r1 eclass suite for packages which
 +# don't support being installed for multiple Python implementations.
 +# This mostly includes tools embedding Python.
 +#
 +# This eclass extends the IUSE and REQUIRED_USE set by python-r1
 +# to request correct PYTHON_SINGLE_TARGET. It also replaces
 +# PYTHON_USEDEP and PYTHON_DEPS with a more suitable form.
 +#
 +# Please note that packages support multiple Python implementations
 +# (using python-r1 eclass) can not depend on packages not supporting
 +# them (using this eclass).
 +#
 +# Also, please note that python-single-r1 will always inherit python-r1
 +# as well. Thus, all the variables defined and documented there are
 +# relevant to the packages using python-single-r1.
 +
 +case ${EAPI} in

you are missing the default EAPI value for EAPI=0 usually this is
written: case ${EAPI:-0}

 + 0|1|2|3)
 + die Unsupported EAPI=${EAPI} (too old) for ${ECLASS}
 + ;;
 + 4|5)
 + # EAPI=4 needed by python-r1
 + ;;
 + *)
 + die Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}
 + ;;
 +esac
 +

The rest looks fine.




Re: [gentoo-dev] [PATCH python-r1] Move common utility functions to python-utils-r1.

2012-11-21 Thread Gilles Dartiguelongue
Le mercredi 21 novembre 2012 à 08:54 -0500, Ian Stakenvicius a écrit :
 On 21/11/12 04:43 AM, Michał Górny wrote:
  Moved: python_export, getters, python_domodule, python_doscript and
  the necessary internal functions. No global-scope variables, no
  phase functions. [ Snip! ]
 
 So remind me again, in 10 words or less, why these shouldn't all stay
 in python-r1.eclass?  ie, what use case do we have for using
 python-utils-r1 but not python-r1 (or vice-versa, depending on which
 one inherits the other)?

From [gentoo-dev] python-r1.eclass: the masterplan (dirty RFC) email:

Le lundi 12 novembre 2012 à 15:43 +0100, Michał Górny a écrit :
 1) splitting common functions into python-utils-r1.
 
 The python-utils-r1 eclass would provide means to work with specific
 Python packages like portage. Unlike python-r1, it would not export
 IUSE or require any specific USE flags.
 
 I'm not insisting on this nor giving it a very high priority. It is
 a straightforward change since python-r1 will inherit the new eclass
 anyway.




Re: [gentoo-dev] gstreamer eclass review

2012-11-21 Thread Gilles Dartiguelongue
Le mercredi 21 novembre 2012 à 16:27 +0100, Tomáš Chvátal a écrit :
 Hi Gilles,
 
 
 The eclass itself looks fine, I would just ask if you would not mind
 to use the bash += syntax rather than VAR=VAR something as it is
 shorter and easier to read.

Sure, I'm not a fan of +=, it seems alien to shell for me, but if this
is preferred, I have no problem changing it.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Reminder: open season on robbat2's packages

2012-11-18 Thread Gilles Dartiguelongue
Le dimanche 18 novembre 2012 à 11:11 +, Robin H. Johnson a écrit :
 net-nds/nsscache
 sys-auth/nss_ldap

If nobody else want them and I don't forget about them, I'll take care
of these.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




[gentoo-dev] gstreamer eclass review

2012-11-18 Thread Gilles Dartiguelongue
Hi list,

gstreamer-1 has been around for some time now and it is needed for gnome
3.6 to enter the tree. Since gstreamer devs have been a bit busy irl, a
few guys from gnome herd decided to take a look at it and try to bump
everything. I had an itch to scratch wrt current eclass writing so I
decided to start with that and bump all plugins using these new eclasses
to see how they fare. The results seems to be a lot more pleasant to
read and easier to understand.

Since this is basically a rewrite, I'll attach the full files for review
and three ebuilds using it (one regular plugin, one plugin linking to
installed gstreamer libs and one of the ebuilds with no external
dependency.

The goal of these new eclasses is mainly to drop all revision dependent
code while maintaining (to some extent) backward compatibility with 0.10
slot ebuilds.

We are currently not planning on dropping the mostly empty eclasses just
in case there is a need for pack specific changes in the future.

The eclasses were already overlooked by gstreamer herd but I'd like more
eyes to go over them beforing pushing this to the tree.

Since this is mostly privates eclasses, I'd like to proceed to tree
inclusion by next week. There should be little to no breakage and this
would help bump last 0.10 releases as well.

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

# @ECLASS: gst-plugins10.eclass
# @MAINTAINER:
# gstrea...@gentoo.org
# @AUTHOR:
# Gilles Dartiguelongue e...@gentoo.org
# Saleem Abdulrasool compn...@gentoo.org
# foser fo...@gentoo.org
# zaheerm zahe...@gentoo.org
# @BLURB: Manages build for invididual ebuild for gst-plugins.
# @DESCRIPTION:
# Eclass to make external gst-plugins emergable on a per-plugin basis and
# to solve the problem with gst-plugins generating far too much unneeded
# dependancies.
#
# GStreamer consuming applications should depend on the specific plugins they
# need as defined in their source code.
#
# In case of spider usage, obtain recommended plugins to use from Gentoo
# developers responsible for gstreamer gstrea...@gentoo.org or the application
# developer.

# XXX: what was GST_ORC intended for. Isn't it better to leave it to the
#  ebuild reponsability ?

inherit eutils multilib toolchain-funcs versionator

GST_EXPF=
case ${EAPI:-0} in
1|2|3|4|5)
GST_EXPF=${GST_EXPF} src_configure src_compile src_install
;;
0)
die EAPI=\${EAPI}\ is not supported anymore
;;
*)
die EAPI=\${EAPI}\ is not supported yet
;;
esac
EXPORT_FUNCTIONS ${GST_EXPF}

# @ECLASS-VARIABLE: GST_LA_PUNT
# @DESCRIPTION:
# Should we delete all the .la files?
# NOT to be used without due consideration.
if has ${EAPI:-0} 0 1 2 3; then
: ${GST_LA_PUNT:=no}
else
: ${GST_LA_PUNT:=yes}
fi

# @ECLASS-VARIABLE: GST_ORC
# @DESCRIPTION:
# Ebuild supports dev-lang/orc.
: ${GST_ORC:=no}

# @ECLASS-VARIABLE: GST_PLUGINS_BUILD
# @DESCRIPTION:
# Defines the plugins to be built.
# May be set by an ebuild and contain more than one indentifier, space
# seperated (only src_configure can handle mutiple plugins at this time).
GST_PLUGINS_BUILD=${PN/gst-plugins-/}

# @ECLASS-VARIABLE: GST_PLUGINS_BUILD_DIR
# @DESCRIPTION:
# Actual build directory of the plugin.
# Most often the same as the configure switch name.
GST_PLUGINS_BUILD_DIR=${PN/gst-plugins-/}

# @ECLASS-VARIABLE: GST_TARBALL_SUFFIX
# @DESCRIPTION:
# Most projects hosted on gstreamer.freedesktop.org mirrors provide tarballs as
# tar.bz2 or tar.xz. This eclass defaults to bz2 for EAPI 0, 1, 2, 3 and
# defaults to xz for everything else. This is because the gstreamer mirrors
# are moving to only have xz tarballs for new releases.
if has ${EAPI:-0} 0 1 2 3; then
: ${GST_TARBALL_SUFFIX:=bz2}
else
: ${GST_TARBALL_SUFFIX:=xz}
fi

# Even though xz-utils are in @system, they must still be added to DEPEND; see
# http://archives.gentoo.org/gentoo-dev/msg_a0d4833eb314d1be5d5802a3b710e0a4.xml
if [[ ${GST_TARBALL_SUFFIX} == xz ]]; then
DEPEND=${DEPEND} app-arch/xz-utils
fi

# @ECLASS-VARIABLE: GST_ORG_MODULE
# @DESCRIPTION:
# Name of the module as hosted on gstreamer.freedesktop.org mirrors.
# Leave unset if package name matches module name.
: ${GST_ORG_MODULE:=$PN}

# @ECLASS-VARIABLE: GST_ORG_PVP
# @INTERNAL
# @DESCRIPTION:
# Major and minor numbers of the version number.
: ${GST_ORG_PVP:=$(get_version_component_range 1-2)}


DESCRIPTION=${BUILD_GST_PLUGINS} plugin for gstreamer
HOMEPAGE=http://gstreamer.freedesktop.org/;
SRC_URI=http://gstreamer.freedesktop.org/src/${GST_ORG_MODULE}/${GST_ORG_MODULE}-${PV}.tar.${GST_TARBALL_SUFFIX};

LICENSE=GPL-2
SLOT=${GST_ORG_PVP}

if [[ ${PN} != ${GST_ORG_MODULE} ]]; then
# Do not run test phase for invididual plugin ebuilds.
RESTRICT=test
fi

RDEPEND=${RDEPEND}
=dev-libs

  1   2   3   >